@import "../libs/normalize.css/normalize.css"; @import "../libs/animate.css/animate.min.css"; @import "../libs/tippy.js/themes/light.css"; @import "./constants/colors"; @import "./constants/fonts"; @import "./constants/z-index"; .desktop { display: none; } .header { display: flex; justify-content: flex-start; align-items: center; background: $color_white; padding: 10px 15px; gap: 10px; position: sticky; top: 0; z-index: $z_index_header; &__logo { height: 45px; width: 45px; } &__text_logo { width: 156px; height: 30px; } .header__gift { margin-right: 0; margin-left: auto; position: relative; z-index: 99; img { width: 38px; height: 46px; } } } .whatsapp { position: fixed; bottom: 60px; right: 25px; z-index: $z_index_header; -webkit-animation: heartbeat 1.5s ease-in-out infinite both; animation: heartbeat 1.5s ease-in-out infinite both; img { width: 60px; height: 60px; } } @-webkit-keyframes heartbeat { from { -webkit-transform: scale(1); transform: scale(1); -webkit-transform-origin: center center; transform-origin: center center; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 10% { -webkit-transform: scale(0.91); transform: scale(0.91); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 17% { -webkit-transform: scale(0.98); transform: scale(0.98); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 33% { -webkit-transform: scale(0.87); transform: scale(0.87); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 45% { -webkit-transform: scale(1); transform: scale(1); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } @keyframes heartbeat { from { -webkit-transform: scale(1); transform: scale(1); -webkit-transform-origin: center center; transform-origin: center center; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 10% { -webkit-transform: scale(0.91); transform: scale(0.91); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 17% { -webkit-transform: scale(0.98); transform: scale(0.98); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 33% { -webkit-transform: scale(0.87); transform: scale(0.87); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 45% { -webkit-transform: scale(1); transform: scale(1); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } .container-wrapper { overflow: hidden; padding: 0 15px; background: $color_grey_light; position: relative; z-index: $z_index_header - 2; } .main-card { position: relative; background: $color_gradient_orange; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2); border-radius: 0 0 30px 30px; z-index: $z_index_header - 2; padding-top: 80px; display: flex; flex-direction: column; &__title { @include title_font; text-align: center; color: $color_black; } &__description { @include description_font; text-align: center; color: $color_white; max-width: 320px; margin: 15px auto 27px; } &__img { width: 350px; height: 272px; margin: 0 auto; max-width: 100%; } } .open-label { background: $color_red; position: absolute; transform: rotate(-5deg) translateX(-25%); top: 5px; left: 0; width: 750px; height: 60px; padding: 15px 5px; overflow: hidden; z-index: calc($z_index_header - 2); .marquee3k__wrapper { z-index: calc($z_index_header - 2); position: relative; } &__text { @include open-label_font; z-index: calc($z_index_header - 2); text-align: center; color: $color_white; height: 60px; display: inline-block; } } .arrow-down { margin-top: 58px; display: flex; justify-content: center; align-items: center; } .statistic { margin-top: 58px; display: flex; flex-direction: column; gap: 30px; justify-content: center; align-items: center; &_item { box-shadow: 0 0 10px rgba(0, 0, 0, 0.05); border-radius: 20px; background: $color_white; padding: 33px 50px; width: 100%; p { @include statistic_item_font; color: $color_black_light; text-align: center; span { @include statistic_item_font; @include text_gradient($color_gradient_orange); font-weight: 600; font-size: 24px; } } } } .description { margin-top: 60px; &__title { @include subtitle_font; padding-left: 20px; } &__card { margin-top: 30px; background: $color_gradient_orange; border-radius: 20px; padding-top: 30px; padding-left: 20px; ul { list-style: none; li { @include statistic_item_font; padding-left: 20px; &::before { content: '\2022'; position: absolute; left: 35px; } } } &__img { transform: translateY(5px); width: 300px; height: 258.33px; max-width: 100%; } } &__img { transform: translateY(5px); } } .clients { margin-top: 60px; &__title { @include subtitle_font; padding-left: 20px; } &__card { margin-top: 30px; background: $color_gradient_green; border-radius: 20px; padding: 30px 20px; position: relative; &__decor_img { position: absolute; top: -86px; right: 57px; } &__text { @include statistic_item_font; } &__btn { @include statistic_item_font; background: $color_white; color: $color_black; border-radius: 15px; margin-top: 24px; padding-top: 11px; padding-bottom: 11px; outline: none; border: none; width: 100%; } } } .employees { margin-top: 60px; &__title { @include subtitle_font; padding-left: 20px; } &__card { margin-top: 30px; background: $color_gradient_orange; border-radius: 20px; padding: 30px 20px; position: relative; &__decor_img { position: absolute; top: -60px; right: 35px; } &__text { @include statistic_item_font; } &__btn { @include statistic_item_font; background: $color_white; color: $color_black; border-radius: 15px; margin-top: 24px; padding-top: 11px; padding-bottom: 11px; outline: none; border: none; width: 100%; } } } .services { margin-top: 60px; &__title { @include subtitle_font; padding-left: 20px; } &__block { margin-top: 30px; display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: 130px 140px repeat(3, 70px); grid-column-gap: 20px; grid-row-gap: 20px; h3 { @include statistic_item_font; } .services__price { @include statistic_item_font; font-size: 45px; font-weight: 700; line-height: 100%; span { font-size: 20px; font-weight: 400; margin-left: -7px; } } &__haircut { grid-area: 1 / 1 / 2 / 3; border-radius: 10px; background: $color_gradient_green; display: flex; justify-content: center; align-items: center; h3 span { margin-left: 20px; } } &__pedicure { grid-area: 2 / 1 / 4 / 2; border-radius: 10px; background: $color_gradient_orange; display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 28px; text-align: center; padding: 20px 40px; h3 { line-height: 25px; span { line-height: 100% !important; } } } &__coloring { grid-area: 2 / 2 / 3 / 3; border: 2px solid $color_black; border-radius: 10px; text-align: center; display: flex; justify-content: center; align-items: center; padding: 30px 10px 20px; } &__solaris { grid-area: 4 / 1 / 6 / 2; border: 2px solid $color_black; border-radius: 10px; display: flex; justify-content: center; align-items: center; text-align: center; padding: 30px 25px 20px; } &__massage { grid-area: 3 / 2 / 5 / 3; border-radius: 10px; background: $color_gradient_green; display: flex; justify-content: center; align-items: center; text-align: center; } &__full_price { @include statistic_item_font; text-decoration: none; grid-area: 5 / 2 / 6 / 3; background: $color_black; border-radius: 15px; color: $color_white; font-size: 16px; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; padding: 16px 0 16px 20px; img { display: inline-block; margin-left: 10px; width: 21px; height: 7.36px; } } } } .faq { margin-top: 60px; &__title { @include subtitle_font; } &__block { margin-top: 30px; display: flex; flex-direction: column; gap: 10px; &__item { padding-top: 10px; border-top: 1px solid $color_grey; &__question { display: flex; justify-content: space-between; align-items: flex-start; } &__title { @include statistic_item_font; font-weight: 700; max-width: 250px; } &__btn { border: none; outline: none; font-size: 34px; color: $color_red; background: transparent; transition: 200ms; } &__answer { @include statistic_item_font; height: 0; overflow: hidden; transition: 200ms; } &.open { .faq__block__item__btn { transform: rotate(45deg); } .faq__block__item__answer { margin-top: 10px; overflow: visible; } } } } } .contacts { margin-top: 60px; &__title { @include subtitle_font; } &__card { margin-top: 30px; border-radius: 20px; background: $color_gradient_green; padding: 20px; &__address { @include statistic_item_font; } &__phone_block { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; } &__phone { @include statistic_item_font; font-weight: 700; color: $color_black; text-decoration: none; } } } .footer { margin-top: 60px; background: $color_black; box-shadow: 0px -5px 10px rgba(0, 0, 0, 0.1); border-radius: 30px 30px 0 0; padding: 20px; img { width: 100%; } &__text { @include statistic_item_font; margin-top: 20px; display: flex; align-items: center; justify-content: space-between; color: $color_white; } } .modal { &.open { transform: translateY(0); opacity: 1; } transform: translateY(-100%); opacity: 0; transition: 200ms; position: fixed; top: 0; left: 0; right: 0; bottom: 0; height: 100vh; display: flex; justify-content: center; align-items: center; padding: 20px; z-index: $z_index_modal_overlay; .overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: $color_black; opacity: 0.25; z-index: $z_index_modal_overlay; } &__content { z-index: $z_index_modal_content; background: $color_white; box-shadow: 0 0 35px rgba(0, 0, 0, 0.25); border-radius: 30px; padding: 150px 20px 20px; form { display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 20px; input { @include statistic_item_font; z-index: calc($z_index_modal_content + 1); outline: none; border: 1px solid $color_black; border-radius: 10px; padding: 12px 30px; width: 100%; } button { @include statistic_item_font; color: $color_white; background: $color_black; border-radius: 15px; width: 100%; padding: 16px; margin-top: 40px; cursor: pointer; } } } &__agreement { @include statistic_item_font; font-size: 12px; text-align: center; margin-top: 55px; } } .client_modal { position: relative; &__img { position: absolute; top: 24px; right: 38px; } } .employee_modal { position: relative; &__img { position: absolute; top: 18px; left: 46px; } } .tooltip { display: flex; width: 300px; background: $color_white; border-radius: 15px; padding: 15px; z-index: $z_index_tooltip; p { @include statistic_item_font; font-size: 16px; } } @media (screen and min-width: 500px) { .mobile { display: none; } .desktop { display: block; } .wrapper { max-width: 1200px; margin: 0 auto; } .header { gap: 50px; &__logo { height: 90px; width: auto; } &__text_logo { height: 60px; width: auto; } } .info { background: $color_gradient_orange; padding: 60px 0; .wrapper { position: relative; } &__title { @include title_font; max-width: 510px; font-size: 38px; text-transform: uppercase; margin-top: 0; } &__badge { &__block { margin-top: 30px; max-width: 510px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; &__item { @include statistic_item_font; border: 1px solid $color_black; border-radius: 50px; padding: 10px 10px; width: calc((100% - 30px) / 2);; text-transform: uppercase; font-size: 16px; font-weight: 600; display: flex; justify-content: center; align-items: center; &:last-child { width: 100%; margin-top: 15px; } } } } &__img { position: absolute; bottom: -60px; height: 325px; left: 550px; } } .description { position: relative; &__card { padding: 30px 20px; &__list { ul { li { position: relative; &::before { left: 0; } } } } } &__img { position: absolute; bottom: 0; height: 200px; right: 300px; transform: none; } } .client_employees__wrapper { display: flex; justify-content: space-between; align-items: flex-start; gap: 100px; .clients { &__title { padding-left: 0; text-align: center; } } .employees { &__title { padding-left: 0; text-align: center; } } .clients__card__btn, .employees__card__btn { cursor: pointer; } } .services { &__block { display: grid; grid-template-columns: repeat(5, 1fr); grid-template-rows: repeat(2, 150px); grid-column-gap: 25px; grid-row-gap: 25px; &__haircut { grid-area: 1 / 1 / 3 / 2; h3 { display: flex; align-items: center; justify-content: center; flex-direction: column; font-size: 36px; span { font-size: 50px; } } } &__coloring { grid-area: 2 / 2 / 3 / 3; } &__pedicure { grid-area: 1 / 2 / 2 / 4; display: flex; justify-content: center; align-items: center; flex-direction: row; gap: 50px; h3 { display: flex; align-items: center; justify-content: center; flex-direction: column; } } &__massage { grid-area: 1 / 4 / 2 / 6; h3 { display: flex; align-items: center; justify-content: center; flex-direction: column; } } &__solaris { grid-area: 2 / 3 / 3 / 5; } &__full_price { grid-area: 2 / 5 / 3 / 6; text-decoration: none; img { width: auto; height: 9px; } } } &__price { margin-left: 0 !important; line-height: 100% !important; } } .faq { &__block { &__item { cursor: pointer; &__title { max-width: 90%; } &__answer { cursor: auto; transition: 200ms; } } } } .footer { border-radius: 0; &__info { display: flex; justify-content: space-between; align-items: center; &__img { width: auto !important; height: 200px } &__contacts { color: $color_white; &__phone { @include statistic_item_font; text-decoration: none; color: $color_white; display: block; } } } } }