// Hero ============================= .hero { position: relative; overflow: hidden; &_item { position: relative; height: 900px !important; &.swiper-slide-active { .hero_item-title, .hero_item-txt, .hero_item-link { top: 0; opacity: 1; } .hero_item-txt { animation-delay: .5s; } .hero_item-link { animation-delay: .7s; } } &-photo { height: 100%; width: 100%; position: absolute; top: 0; left: 0; img { @include ImgCov; } } .inner { height: 100%; .auto_container { display: flex; align-items: center; height: 100%; } } &-info { max-width: 750px; width: 100%; } &-title { font-weight: 700; font-size: 38px; line-height: 46px; color: #FFFFFF; position: relative; transition: all 1s linear; top: 50px; opacity: 0; } &-txt { font-weight: 400; font-size: 16px; line-height: 36px; color: #FFFFFF; margin: 30px 0; position: relative; transition: all 1s linear; top: 65px; opacity: 0; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; } &-link { transition: all 1s linear; position: relative; top: 80px; opacity: 0; a { border: 1px solid #fff; font-weight: 500; font-size: 16px; line-height: 36px; color: #FFFFFF; display: inline-block; padding: 12px 30px; @include transition; &:hover { background: #fff; color: $main-color; } } } } .swiper { z-index: 0; &-wrapper { z-index: 0; } &-pagination { margin: 0 10px; display: flex; align-items: center; &-bullet { font-size: 0; width: 15px; height: 15px; border: 1px solid #ffff; border-radius: 50%; display: block; margin: 0 5px; cursor: pointer; position: relative; opacity: .5; @include transition; &:hover { opacity: 1; } &-active { opacity: 1; &::after { content: ''; position: absolute; top: 50%; left: 50%; @include transform; width: 8px; height: 8px; background: #fff; border-radius: 50%; } } } } &-button { &-prev { cursor: pointer; display: block; position: relative; opacity: 0.5; @include transition; &:hover { opacity: 1; } span { width: 18px; height: 18px; display: block; svg { @include ImgCon; } } } &-next { cursor: pointer; display: block; position: relative; opacity: 0.5; @include transition; &:hover { opacity: 1; } span { width: 18px; height: 18px; display: block; transform: rotate(180deg); svg { @include ImgCon; } } } } } &_pag { position: absolute; bottom: 50px; right: 60px; z-index: 25; color: #fff; width: 100%; display: flex; align-items: center; justify-content: flex-end; } .page_box { position: relative; top: -72px; overflow: hidden; // z-index: 15; // border-bottom: 1px solid red; &-group { display: inline-block; padding: 30px 50px 20px 0; background: #fff; position: relative; &::before { content: ''; position: absolute; top: 0; left: -3499px; width: 3500px; height: 100%; background: #fff; } &::after { content: ''; position: absolute; top: 0; right: -94px; width: 95px; height: 100%; background: #fff; clip-path: polygon(0 0, 0 100%, 80% 100%); } } &-link { font-weight: 500; font-size: 18px; line-height: 22px; color: $main-color; position: relative; &::after { content: ''; position: absolute; top: 7px; right: -42px; width: 30px; height: 8px; background: url("../images/svg/arrow-link.svg") no-repeat center; background-size: contain; } } } } // Hero end ========================= // About ============================= .about { padding: 120px 0; &_box { display: flex; } &_info { width: calc(50% - 25px); margin-right: 25px; display: flex; align-items: flex-start; flex-direction: column; &-title { font-style: normal; font-weight: 700; font-size: 38px; line-height: 46px; color: #000000; margin-bottom: 30px; overflow: hidden; white-space: nowrap; letter-spacing: .5px; position: relative; } &-txt { font-weight: 400; font-size: 16px; line-height: 36px; color: #000000; margin-bottom: 30px; &:last-child { margin-bottom: 0; } } &-link { position: relative; display: flex; align-items: center; font-weight: 500; font-size: 16px; line-height: 36px; color: #2B72B6; padding: 12px 30px; border: 1px solid $main-color; @include transition; span { width: 20px; height: 25px; margin-left: 10px; position: relative; display: none; svg { @include ImgCon; } } &:hover { color: #fff; background: $main-color; span { display: block; animation: open-arrow .3s linear; } } } } &_video { width: calc(50%); margin-left: 25px; &-box { position: relative; width: 100%; height: 600px; &::after { content: ''; position: absolute; top: 50%; left: 50%; @include transform; background: #E5E5E5; width: calc(100% - 90px); height: calc(100% - 100px); z-index: -1; } .square { position: absolute; top: 50%; left: 50%; @include transform; width: calc(100% - 30px); height: calc(100% - 30px); clip-path: polygon(0 0, 77% 0, 100% 37%, 100% 100%, 22% 100%, 0 63%); border: 1px solid red; z-index: 2; // overflow: hidden } img { @include ImgCov; clip-path: polygon(0 0, 78% 0, 100% 36%, 100% 100%, 22% 100%, 0 63%); overflow: hidden; } .video_play { position: absolute; top: 50%; left: 50%; @include transform; width: 85px; height: 85px; background: #ffff; border-radius: 50%; display: block; z-index: 5; cursor: pointer; &::before { content: ''; position: absolute; top: 50%; left: 54%; @include transform; clip-path: polygon(0 0, 0% 100%, 100% 50%); background: $main-color; width: 24px; height: 27px; } } } } } @keyframes open-arrow { 0% { left: -20px; opacity: 0; } 100% { opacity: 1; left: 0; } } @-webkit-keyframes open-arrow { 0% { left: -20px; opacity: 0; } 100% { opacity: 1; left: 0; } } @keyframes typing { from { width: 0 } to { width: 100% } } @-webkit-keyframes typing { from { width: 0 } to { width: 100% } } // About end ========================= // Services ============================= .service { overflow: hidden; &_wrap { position: relative; } .inner { height: 860px; position: relative; } &_bg { position: relative; &-image { position: absolute; top: 0; left: 0; width: 100%; height: 860px; opacity: 0; @include transition; transition: opacity .5s linear; background: url("../images/service-banner.png") no-repeat center; background-size: cover; &::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .5); } &.main { opacity: 1; z-index: -1; } img { @include ImgCov; } } } &_info { display: flex; z-index: 4; position: absolute; top: 0; left: 0; width: 100%; height: 100%; // overflow: auto; overflow-x: auto; } &_item { width: calc(16.66% - 1px); min-width: 250px; border-right: 1px solid rgba(250, 250, 250, .2); color: #fff; display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; &:last-child { border-right: none; } &:hover { .service_item-title { transform: translateY(0px); } .service_item-txt { opacity: 1; } } &-title { padding: 30px 10px; font-weight: 700; font-size: 16px; line-height: 20px; position: relative; transform: translateY(100px); min-height: 40px; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .6); transition: .4s linear; -webkit-transition: .4s linear; -ms-transition: .4s linear; } &-txt { font-weight: 400; font-size: 14px; line-height: 24px; width: calc(100% - 40px); margin: 20px auto 0; opacity: 0; transition: .4s linear; -webkit-transition: .4s linear; -ms-transition: .4s linear; } } } // Services end ========================= // Contact ============================= .contact { padding: 100px 0; &_title { font-weight: 700; font-size: 38px; line-height: 46px; margin-bottom: 50px; overflow: hidden; white-space: nowrap; letter-spacing: .5px; position: relative; } &_box { display: flex; } &_form { width: calc(50% - 25px); margin-right: 25px; display: flex; flex-direction: column; align-items: flex-start; } &_input { width: 100%; margin-bottom: 20px; input { border: 1px solid #D6D6D6; padding: 12px 20px; width: calc(100% - 40px); font-weight: 500; font-size: 16px; line-height: 36px; font-family: 'Montserrat', sans-serif; &::placeholder { color: #D6D6D6; } } textarea { border: 1px solid #D6D6D6; padding: 12px 20px; width: calc(100% - 40px); font-weight: 500; font-size: 16px; line-height: 36px; font-family: 'Montserrat', sans-serif; resize: none; height: 180px; &::placeholder { color: #D6D6D6; } } } &_btn { display: flex; align-items: center; border: 1px solid $main-color; padding: 18px 30px; background: transparent; cursor: pointer; font-weight: 500; font-size: 16px; line-height: 36px; color: $main-color; font-family: 'Montserrat', sans-serif; @include transition; &:hover { background: $main-color; color: #fff; .btn_icon { // display: none; opacity: 0; width: 0; height: 0; overflow: hidden; margin-right: 0; } .send_icon { display: block; width: 18px; height: 24px; opacity: 1; } } span { width: 18px; height: 24px; img { @include ImgCon; } } .btn_icon { margin-right: 10px; @include transition; } .send_icon { margin-left: 15px; @include transition; width: 0; height: 0; overflow: hidden; } } &_info { width: calc(50% - 25px); margin-left: 25px; } &_map { width: 100%; height: 240px; margin-bottom: 30px; iframe { @include ImgCov; } } &_row { display: flex; margin-bottom: 30px; &:last-child { margin-bottom: 0; } &-group { margin-top: 7px; } &-icon { width: 40px; height: 40px; margin-right: 20px; } } } // Contact end ========================= // Client ============================= .client { padding: 50px 0 100px; background: #F5F5F5; &_title { font-weight: 700; font-size: 38px; line-height: 46px; margin-bottom: 50px; overflow: hidden; white-space: nowrap; letter-spacing: .5px; position: relative; } &_item { width: 100%; height: 170px !important; margin: 0 5px; position: relative; // border: 1px solid red; // clip-path: polygon(0 0, 78% 0, 100% 36%, 100% 100%, 22% 100%, 0 63%); background: url("../images/svg/rec-item.svg") no-repeat center; background-size: contain; display: flex !important; align-items: center; justify-content: center; overflow: hidden; // &::after { // content: ''; // position: absolute; // top: 0; // left: 0; // width: 100%; // height: 100%; // border: 1px solid #ffff; // clip-path: polygon(0 0, 78% 0, 100% 36%, 100% 100%, 22% 100%, 0 63%); // } img { @include ImgCon; width: 65%; height: 80%; object-fit: contain; -o-object-fit: contain; transition: all .5s linear; &:hover { transform: scale(1.05); } } } } // Client end ========================= .title-animate { animation: typing 3.5s steps(40, end); -webkit-animation: typing 3.5s steps(40, end); }