@font-face {
    font-family: IranYekan;
    src: url(font/IRANYekanWebBold.ttf);
}

@font-face {
    font-family: IranYekan;
    src: url(font/IRANYekanWebMedium.ttf);
}

@font-face {
    font-family: IranYekan;
    src: url(font/IRANYekanWebExtraBold.ttf);
}

@font-face {
    font-family: IranYekan;
    src: url(font/IRANYekanWebRegular.ttf);
}

* {
    padding: 0;
    margin: 0;
}

body {
    font-size: 16px;
    direction: rtl;
    font-family: IranYekan;
    margin-bottom: 74px;
}

a {
    text-decoration: none;
    color: unset;
}

ul {
    list-style-type: none;
}

p {
    line-height: 200%;
}

input {
    font-family: IranYekan;
    border: 1px solid #D3D4DB;
    background-color: #fafafa;
    padding: .7rem 1rem .8rem 0;
    outline: none;
    border-radius: 2px;
    transition: .2s;
    margin-bottom: .8rem;
}

input:focus {
    background-color: white;
    border-color: #ffad0a;
}

input::placeholder {
    color: #A3A5AD;
}

button {
    outline: none;
    border: none;
    cursor: pointer;
}

/******************** Variables Start ********************/

/********** Layout **********/

.layout {
    width: 80%;
    margin: auto;
}

.flex {
    display: flex;
}

.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.flex-column {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.flex-row {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
}

.w-100 {
    width: 100%;
}

.h-100 {
    height: 100%;
}

.m-r-1{
    margin-right: 1rem;
}

.m-r-1-5{
    margin-right: 1.5rem;
}

.m-r-2{
    margin-right: 2rem;
}

.m-r-2-5{
    margin-right: 2.5rem;
}

.m-r-3{
    margin-right: 3rem;
}

.m-t-1{
    margin-top: 1rem;
}

.m-t-1-5{
    margin-top: 1.5rem;
}

.m-t-2{
    margin-top: 2rem;
}

.m-t-2-5{
    margin-top: 2.5rem;
}

.m-t-3{
    margin-top: 3rem;
}

.m-t-4{
    margin-top: 4rem;
}

.m-b-1{
    margin-bottom: 1rem;
}

.m-b-1-5{
    margin-bottom: 1.5rem;
}

.m-b-2{
    margin-bottom: 2rem;
}

.m-b-2-5{
    margin-bottom: 2.5rem;
}

.m-b-3{
    margin-bottom: 3rem;
}

.m-b-4{
    margin-bottom: 4rem;
}

.m-l-1{
    margin-left: 1rem;
}

.m-l-1-5{
    margin-left: 1.5rem;
}

.m-l-2{
    margin-left: 2rem;
}

.m-l-2-5{
    margin-left: 2.5rem;
}

.m-l-3{
    margin-left: 3rem;
}

.section-margin {
    margin-top: 10rem;
}

/********** Colors **********/

.opacity-100 {
    opacity: 100% !important;
}

.p1-b-color {
    background-color: #f55f14 !important;
}

.p2-b-color {
    background-color: #ffad0a !important;
}

.s1-b-color {
    background-color: #35323C !important;
}

.s2-b-color {
    background-color: #7E818F !important;
}

.s3-b-color {
    background-color: #D3D6E0 !important;
}

.image-color {
    background-color: #CC3D00 !important;
}

.p1-color {
    color: #f55f14 !important;
}

.p2-color {
    color: #ffad0a !important;
}

.s1-color {
    color: #35323C !important;
}

.s2-color {
    color: #7E818F !important;
}

.s3-color {
    color: #D3D6E0 !important;
}

/********** Font Styles **********/

.fa-28-extrabold {
    font-family: IranYekan;
    font-size: 26px;
    font-weight: 800;
}

.fa-24-extrabold {
    font-family: IranYekan;
    font-size: 22px;
    font-weight: 800;
}

.fa-16-bold {
    font-family: IranYekan;
    font-size: 14px;
    font-weight: 700;
}

.fa-16-medium {
    font-family: IranYekan;
    font-size: 14px;
    font-weight: 600;
}

.fa-16-regular {
    font-family: IranYekan;
    font-size: 14px;
    font-weight: 400;
}

.fa-16-light {
    font-family: IranYekan;
    font-size: 14px;
    font-weight: 300;
    line-height: 200%;
}

.fa-14-medium {
    font-family: IranYekan;
    font-size: 12px;
    font-weight: 600;
}

.fa-14-regular {
    font-family: IranYekan;
    font-size: 12px;
    font-weight: 400;
}

/******************** Variables End ********************/

header {
    height: 100vh;
}

header > .index-header {
    width: 100vw;
    height: 100vh;
    position: relative;
}

.header-background {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #2b2833;
    top: 0;
    z-index: -1;
    left: 0;
    right: 0;
    display: flex;
}

.header-content {
    padding-top: 1rem;
}

.header-background > img {
    opacity: 6%;
    width: 100%;
    object-fit: cover;
}

.general-contact-info > .contact > .items {
    display: flex;
    align-self: center;
}

.general-contact-info > .contact > .items > img {
    fill: white;
    opacity: 80%;
    margin-left: 1rem;
}

.general-contact-info > .contact > .items > .info {
    display: flex;
    flex-direction: column;
    color: white;
    opacity: 80%;
}

.general-contact-info > .contact > .items > .info > .first-title {
    font-size: 12px;
    opacity: 60%;
}

.general-contact-info > .social {
    margin-right: auto;
    display: flex;
    align-items: center;
    flex-direction: row;
}

.general-contact-info > .social > .items {
    width: 32px;
    height: 32px;
    border-radius: 2px;
    background-color: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.04);
    list-style-type: none;
    margin-left: .5rem;
    transition: .2s;
}

.general-contact-info > .social > .items:hover {
    background-color: rgba(255, 255, 255, 0.1);
    transition: .2s;
}

.general-contact-info > .social > .items > a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.general-contact-info > .social:last-child {
    margin-left: 0 !important;
}

.header-content > .menu > .menu-items > li {
    list-style-type: none;
    margin: 0 1.2rem;
    color: white;
    opacity: 90%;
}

.header-content > .menu > .menu-items > li > a {
    padding: 0 .5rem;
}

.header-content > .menu > .menu-items > li.active {
    border-bottom: 1px solid #ffad0a;
    padding-bottom: 1rem;
}

.introduction {
    color: white;
}

.introduction > .suptitle {
    opacity: 60%;
}

.introduction > .intro-bodycopy {
    opacity: 90%;
    width: 70%;
}

.btn-more {
    padding: 12px 32px 16px 20px;
    border-radius: 2px;
    width: fit-content;
    transition: .2s;
    color: white;
}

.btn-more > img {
    margin-right: .7rem;
    margin-top: 4px;
    transition: .2s;
}

.btn-more:hover {
    background-color: #e15109 !important;
}

.btn-more:hover > img {
    margin-right: 1rem;
}

.section-companies {
    background-color: #fff;
    margin-top: -8vh;
    border-radius: 2px;
    padding: 2rem;
    position: relative;
    box-shadow: 0 -16px 80px 0 rgb(0 0 0 / 8%);
    z-index: 0;
}

.section-companies > .shadow-cleaner {
    position: absolute;
    left: 0;
    bottom: -40px;
    right: 0;
    height: 10rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
    z-index: -1;
}

.companies-logo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0rem 5rem;
    list-style-type: none;
    z-index: 2;
}

.companies-logo > li {
    width: 15%;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.companies-logo > li > a > img {
    width: 80%;
    opacity: 70%;
}

.companies-review {
    position: relative;
    z-index: 2;
}

.companies-review > .avatar {
    width: 80px;
    height: 80px;
    background-color: transparent;
    border: 2px solid #f55f14;
    position: relative;
    border-radius: 50%;
}

.companies-review > .avatar > img {
    width: 72px;
    height: 72px;
    border-radius: 50%;
}

.companies-review > p {
    text-align: center;
    padding: 0 8rem;
}

.companies-review > .qoute {
    position: absolute;
    bottom: 30%;
    z-index: -1;
}

.companies-review > .name {
    margin-top: .5rem;
    font-weight: 800 !important;
}

.slide-tracker > a > * {
    width: 8px;
    height: 8px;
    margin: 0 4px;
    opacity: 40%;
}

.title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
}

.title > .headings {
    margin-right: 2rem;
}

.title > p {
    margin-right: auto;
    width: 50%;
}

.services-items {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.services-items > li {
    width: 32%;
    position: relative;
    display: flex;
    background-color: hsl(18deg 100% 36% / 86%);
    overflow: hidden;
    color: white;
    border-radius: 2px;
}

.services-items > li > .bg-img {
    width: 100%;
    object-fit: cover;
    position: absolute;
    align-self: center;
    z-index: -1;
}

.services-items > li > .content {
    display: flex;
    padding: 3rem 2.5rem;
    justify-content: flex-start;
    flex-direction: column;
}

.services-items > li > .content > img {
    width: 20%;
}

.services-items > li > .content > h5 {
    font-size: 18px;
    font-weight: 700;
}

.report-container {
    width: 100%;
}

.report-container > .numbers {
    width: 60%;
    padding: 3rem 3rem 3rem 10%;
    background: linear-gradient(249.1deg, #2B2E33 22.14%, #1A1B1F 78.72%);
}

.report-container > .video {
    width: 40%;
    position: relative;
    background-color: hsl(18deg 100% 36% / 86%);
    overflow: hidden;
    height: 100%;
}

.report-container > .video > .bg-img {
    position: absolute;
    width: 100%;
    object-fit: cover;
    align-self: center;
    z-index: -1;
}

.report-container > .video > a {
    padding: .8rem;
    background-color: white;
    border-radius: 2px;
    transition: .2s;
}

.report-container > .video > a:hover {
    transform: scale(1.05);
    transition: .2s;
}

.report-container > .video > a > img {
    width: 2.5rem;
}

.report-container > .video > .description {
    position: absolute;
    bottom: 10%;
    background-color: white;
    border-radius: 2px;
    display: flex;
    justify-content: start;
    align-items: center;
    padding: .6rem 1.2rem .8rem 1.5rem;
}

.report-container > .video > .description > img {
    width: 1.5rem;
    margin-left: .4rem;
}

.report-container > .numbers > ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
}

.report-container > .numbers > ul > li {
    padding: 1.5rem 3.5rem 1rem 3.5rem;
    background-color: hsl(0deg 0% 100% / 1%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-radius: 2px;
}

.report-container > .numbers > ul > li > .report-num {
    font-size: 40px;
    font-weight: 400;
}

.report-container > .numbers {
    color: #fafafa;
}

.product-item {
    height: 70vh;
    position: relative;
}

.product-item > .img-frame {
    width: 45%;
    overflow: hidden;
    height: 100%;
}

.product-item > .img-frame > img {
    width: 100%;
}

.product-item > .img-cover {
    position: absolute;
    bottom: 8%;
    right: -2%;
    mix-blend-mode: multiply;
    width: 7rem;
}

.product-item:nth-child(2) > .img-cover {
    position: absolute;
    bottom: 8%;
    left: -2%;
    mix-blend-mode: multiply;
    width: 7rem;
    right: unset;
}

.products-list > .product-item:nth-child(1) > .info {
    padding: 1rem 2rem 1rem 0rem;
    width: 55%;
}

.products-list > .product-item:nth-child(2) > .info {
    padding: 1rem 0rem 1rem 2rem;
    width: 55%;
}

.products-list > .product-item:nth-child(3) > .info {
    padding: 1rem 2rem 1rem 0rem;
    width: 55%;
}

.product-item > .info > h6 {
    font-size: 18px;
    font-weight: 600;
}

.product-item > .info > h5 {
    font-size: 22px;
    font-weight: 800;
}

.blog-posts {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.blog-posts > article {
    width: 32%;
}

.blog-posts > article > .img-frame {
    width: 100%;
    height: 16rem;
    overflow: hidden;
    border-radius: 2px;
    position: relative;
    z-index: -1;
}

.blog-posts > article > .post-info {
    padding: .5rem 1rem .5rem .5rem;
    border-radius: 2px;
    margin-top: -1rem;
    justify-content: start;
    width: fit-content;
    margin-right: 1rem;
}

.blog-posts > article > .post-info > span {
    font-size: 12px;
    margin: 0 .5rem 0 1.5rem;
    color: white;
    font-weight: 300;
}

.blog-posts > article > .post-data {
    margin: 1rem 1rem 0 1rem;
}

.blog-posts > article > .post-data > a {
    font-size: 18px;
    font-weight: 700;
    transition: .2s;
}

.blog-posts > article > .post-data > a:hover {
    color: #e15109 !important;
    transition: .2s;
}

.blog-posts > article > .post-data > p {
    margin-top: .5rem;
}

.footer-container {
    padding: 3rem 0 0 0;
}

.footer-container > hr {
    border-color: #ffffff13;
    width: 90%;
}

.rewards {
    width: 80%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
}

.rewards > a > img {
    width: 8rem;
}

.footer-content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
}

.footer-content > .informations {
    width: 40%;
}

.internal-links {
    width: 20%;
    display: flex;
    justify-content: start;
    flex-direction: column;
}

.internal-links > a {
    margin-bottom: .8rem;
    font-size: 12px;
    font-weight: 300;
    color: white;
    transition: .2s;
}

.internal-links > a::before {
    content: '';
    background:#ffad0a;
    width: 4px;
    height: 4px;
    margin-left: 1rem;
    padding: 1px;
}

.internal-links > a:hover {
    margin-right: 6px;
    transition: .2s;
}

.copyright {
    background-color: #242229;
    padding: .5rem 0 .7em 0;
    width: 100%;
    color: rgb(255 255 255 / 60%);
}

.footer-content > .informations > .contact {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
}

.footer-content > .informations > .contact > .items {
    display: flex;
}

.footer-content > .informations > .contact > .items > img {
    fill: white;
    opacity: 80%;
    margin-left: 1rem;
}

.footer-content > .informations > .contact > .items > .info {
    display: flex;
    flex-direction: column;
    color: white;
    opacity: 80%;
}

.footer-content > .informations > .contact > .items > .info > .first-title {
    font-size: 12px;
    opacity: 60%;
}

.footer-content > .informations > .social {
    display: flex;
    align-items: center;
    flex-direction: row;
}

.footer-content > .informations > .social > .items {
    width: 32px;
    height: 32px;
    border-radius: 2px;
    background-color: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.04);
    list-style-type: none;
    margin-left: .5rem;
    transition: .2s;
}

.footer-content > .informations > .social > .items:hover {
    transition: .2s;
    background-color: rgba(255, 255, 255, 0.1);
}

.footer-content > .informations > .social > .items > a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.project-section > .title > .categories {
    margin-right: auto;
}

.project-section > .title > .categories > li > a {
    margin-right: 2rem;
    padding-bottom: 1rem;
}

.project-section > .title > .categories > li > .active {
    border-bottom: 2px solid #f55f14;
    color: #f55f14;
    font-weight: 600;
}

.project-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.project-list > li {
    width: 32%;
    overflow: hidden;
    height: 32rem;
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    flex-direction: column;
    color: white;
    border-radius: 2px;
}

.project-list > li > img {
    position: absolute;
    width: 100%;
    top: 0;
    z-index: -2;
    left: 0;
    right: 0;
}

.project-list > li > .dark-cover {
    background: linear-gradient(0deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
    height: 60%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: .9;
    z-index: -1;
}

.project-list > li > a {
    margin-top: .5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .2s;
}

.project-list > li > span {
    font-size: 16px;
    font-weight: 600;
}

.project-list > li > a > * {
    margin-left: .4rem;
}

.project-list > li > a > img {
    transition: .2s;
    margin-top: 2px;
}

.project-list > li > a:hover > img {
    transition: .2s;
    margin-right: .3rem;
}

.news {
    position: fixed;
    bottom: 0;
    z-index: 3;
    background-color: white;
    padding: .8rem 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 -4px 16px 0 rgb(0 0 0 / 6%);
    color: #35323C;
}

.news > li {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    padding: 0 2rem;
    border-left: 1px solid #eee;
}

.news > li:last-child {
    border: none;
}



/********** v0.2 Changes **********/

.other-pages-header {
    height: 52vh;
}

.other-pages {
    height: 52%;
}

.main-heading-2 {
    text-align: center;
}

.breadcamp {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    margin-bottom: .5rem;
}

.breadcamp > * {
    margin: 0 .5rem;
}

.breadcamp > .divider {
    opacity: .6;
    margin-top: 4px;
}

.breadcamp > li:last-child {
    opacity: .6;
}

.blog-post-list {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}

.blog-post-list > li {
    width: 32%;
    margin-bottom: 3rem;
}

.blog-post-list > li > .img-frame {
    width: 100%;
    height: 16rem;
    overflow: hidden;
    border-radius: 2px;
    position: relative;
    z-index: -1;
}

.blog-post-list > li > .post-info {
    padding: .5rem 1rem .5rem .5rem;
    border-radius: 2px;
    margin-top: -1rem;
    justify-content: start;
    width: fit-content;
    margin-right: 1rem;
}

.blog-post-list > li > .post-info > span {
    font-size: 12px;
    margin: 0 .5rem 0 1.5rem;
    color: white;
    font-weight: 300;
}

.blog-post-list > li > .post-data {
    margin: 1rem 1rem 0 1rem;
}

.blog-post-list > li > .post-data > a {
    font-size: 18px;
    font-weight: 700;
    transition: .2s;
}

.blog-post-list > li > .post-data > a:hover {
    color: #e15109 !important;
    transition: .2s;
}

.blog-post-list > li > .post-data > p {
    margin-top: .5rem;
}

.page-counter > a > img {
    margin-top: 2px;
}

.page-counter > a {
    margin: 0 1.5rem;
}

.page-counter > .numbers {
    font-size: 15px;
    font-weight: 600;
}

.page-counter > .numbers > li > .active {
    color: #fff;
    background-color: #F55F14;
}

.page-counter > .numbers > .etc {
    margin: 0 .5rem;
}

.page-counter > .numbers > li > a {
    background-color: #E6E8F0;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    width: 42px;
    margin: 0 4px;
    color: #484552;
}

.text-padding {
    padding: 0 2rem;
}

.post-img-2 {
    justify-content: space-between;
}

.post-img-2 > .frame {
    width: 49%;
    overflow: hidden;
    height: 30rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
}

.post-img-2 > .frame > img {
    width: 100%;
    object-fit: cover;
}

.contact-informations {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 96%;
    margin: 0 auto;
}

.contact-informations > form {
    width: 68%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.contact-informations > .map {
    width: 30%;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    position: relative;
    height: 30rem;
    border-radius: 2px;
}

.contact-informations > .map > img {
    position: absolute;
    width: 100%;
    top: 0;
}

.contact-informations > .map > .textmode-address {
    margin: 0 1rem 1rem 1rem;
    padding: .6rem 1rem .7rem 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    z-index: 2;
    background-color: hsl(0deg 0% 100% / 80%);
    border-radius: 2px;
}

.contact-informations > .map > .textmode-address > span {
    font-size: 12px;
    font-weight: 600;
}

.contact-informations > form > input {
    width: 47%;
}

.contact-informations > form > input:nth-child(3) {
    width: 100%;
    resize: vertical !important;
    height: 15rem;
}


/********** v0.3 Changes **********/

.details-img-frame {
    width: 100%;
    height: 90vh;
    overflow: hidden;
    border-radius: 2px;
}

.details-img-frame > img {
    width: 100%;
}

.products-w {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
}

.product-item:nth-child(4) > .img-cover {
    position: absolute;
    bottom: 8%;
    left: -2%;
    mix-blend-mode: multiply;
    width: 7rem;
    right: unset;
}

.products-list > .product-item:nth-child(4) > .info {
    padding: 1rem 0rem 1rem 2rem;
    width: 55%;
}

.products-list > .product-item:nth-child(5) > .info {
    padding: 1rem 2rem 1rem 0rem;
    width: 55%;
}