* {
    box-sizing: border-box
}

html,
body {
    font-size: 16px;
    line-height: 27px;
    background: #f2f2f3;
    height: 100%;
    min-width: 320px;
    color: #000;
    font-family: "Poppins", sans-serif;
    font-weight: 500
}

.main {
    min-height: 100%;
    min-width: 320px;
    position: relative;
    overflow: hidden
}

.cb {
    display: inline-flex;
    position: relative;
    justify-content: center;
    align-items: center;
    text-decoration: none!important;
}

.cb:hover {
    color: #fff
}

.cb span {
    align-items: center;
    font-weight: 900;
    font-size: 18px;
    line-height: 18px;
    border-bottom: solid 2px transparent;
    text-transform: uppercase;
    padding: 0 0 2px;
    margin-bottom: 3px
}

.header .cb-red {
    background: none;
    width: 138px;
    height: 42px;
    background: #fd4017;
    border: 4px solid #e12402;
    border-radius: 40px;
}

.btns {
    margin: 0 auto;
    margin-top: 10px;
}

.header .cb-yellow {
    background: url(../images/btn-yellow.png) no-repeat 0 0;
    width: 138px;
    height: 42px;
    color: #fff;
}

.cb-red {
    background: url("../images/btn-red.png") no-repeat 0 0;
    width: 177px;
    height: 54px;
    color: #fff
}

.cb-red span {
    background: #fd4017;
    border-bottom-color: rgba(255, 255, 255, .5)
}

.cb-red:hover span {
    border-bottom-color: #fff
}

.cb-yellow {
    background: url("../images/btn-yellow.png") no-repeat 0 0;
    width: 138px;
    height: 42px;
    color: #fff
}

.cb-yellow span {
    background: #ffd500;
    border-bottom-color: rgba(255, 255, 255, .5);
    padding: 0;
    margin: 0
}

.header .cb-yellow span {
    padding: 0 0 2px;
    margin-bottom: 3px;
}

.cb-yellow:hover span {
    border-bottom-color: #fff
}

.cb-white {
    background: url("../images/btn-white.png") no-repeat 0 0;
    width: 177px;
    height: 54px;
    color: #fd4017
}

.cb-white span {
    background: #fff;
    border-bottom-color: rgba(253, 64, 23, .5);
    padding: 0;
    margin: 0
}

.cb-white:hover span {
    border-bottom-color: #fd4017;
    color: #fd4017
}

.header_line {
    display: flex;
    min-height: 160px;
    align-items: flex-end;
    padding: 15px 50px;
    gap: 20px
}

.logo,
.book {
    flex: 0
}

.contacts,
.social {
    flex: 1;
}

.phone {
    font-size: 18px;
    line-height: 22px;
    white-space: nowrap
}

.phone a {
    text-decoration: none;
    color: #000;
    font-size: 23px
}

.phone a:hover {
    color: #000
}

.social {
    display: flex;
    gap: 15px;
    font-size: 0;
    line-height: 0;
    padding: 10px 0 0
}

.address {
    font-size: 24px;
    line-height: 28px;
    font-color: #000
}

.menu {
    display: flex;
    align-items: stretch;
    justify-content: center;
    padding: 0;
    margin: 0;
    list-style: none;
    text-transform: uppercase
}

.menu a {
    display: flex;
    font-weight: 600;
    color: #fff;
    font-size: 16px;
    height: 35px;
    padding: 0 20px;
    align-items: center;
    background: #3c88fd
}

.menu span {
    display: inline-block;
    padding: 2px 0 0;
    border-bottom: solid 2px #74a5fe;
    line-height: 18px
}

.menu a:hover,
.menu a.active {
    text-decoration: none;
    background: #74a5fe
}

.page {
    position: relative;
    font-size: 0;
    line-height: 0;
}

.page>img {
    width: 100%;
    position: relative;
    z-index: 5
}

.pageTitle {
    position: absolute;
    left: 12%;
    background: rgba(255, 255, 255, .8);
    padding: 15px 45px;
    width: 55%;
    font-size: 33px;
    line-height: 35px;
    bottom: 0;
    z-index: 5;
    text-align: center
}

.pageTitle h1 {
    margin: 0 0 5px;
    font-size: 40px;
    line-height: 40px;
}

.decor {
    background: #fff url("../images/bg.png") repeat 0 0
}

.bubbles {
    display: flex;
    padding: 15px 0;
    gap: 20px;
    justify-content: space-between
}

.benefits {
    flex: 0 0 50%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center
}

.benefit {
    width: 155px;
    height: 155px;
    position: relative;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 25px 10px;
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    margin: 0 25px
}

.benefit_1 {
    background: #fd4017;
    left: -50px
}

.benefit_2 {
    background: #b1dc8b;
    left: -50px
}

.benefit_3 {
    background: #e090fe;
    left: 25px
}

.benefit_4 {
    background: #74a5fe;
    left: 25px
}

.description {
    flex: 1
}

.content {
    padding: 20px 0
}

.content h2 {
    font-size: 40px;
    line-height: 48px;
    font-weight: 400;
    margin: 15px 0
}

.places_item {
    text-align: center;
    padding: 0 10px;
}

.places_item img {
    max-width: 100%;
    margin: 0 auto
}

.placesSlider {
    margin: 35px 15px 0
}

.slick-prev {
    left: -32px
}

.slick-next {
    right: -32px
}

.slick-prev,
.slick-next {
    height: 42px;
    width: 32px;
}

.slick-prev:before,
.slick-next:before {
    display: none
}

.slick-prev.slick-disabled,
.slick-next.slick-disabled {
    display: none!important;
}

.slick-prev,
.slick-prev:hover,
.slick-prev:focus {
    background: url("../images/icon-prev.png") center no-repeat;
}

.slick-next,
.slick-next:hover,
.slick-next:focus {
    background: url("../images/icon-next.png") center no-repeat;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    background: #74a5fe;
    border-radius: 50%;
    overflow: hidden
}

.slick-dots li button:before,
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 0
}

.slick-dots li.slick-active button:before {
    opacity: 1;
    width: 10px;
    height: 10px;
    margin: 5px;
    content: '';
    background: #fff;
    border-radius: 50%;
    overflow: hidden
}

.slick-dots li button[aria-label="1 of 1"] {
    opacity: 0
}

.choose {
    padding: 15px 25px;
    width: 60%;
    border-radius: 25px;
    background: #74a5fe;
    color: #fff;
    font-size: 28px;
    line-height: 32px;
    text-align: center;
    margin: 0 auto
}

.chooseTitle {
    font-size: 38px;
    line-height: 40px;
    margin-bottom: 15px
}

.choose_actions {
    display: flex;
    justify-content: space-around;
    margin: 10px 0
}

.feedbackSlider {
    margin: 35px 15px 0
}

.feedback {
    position: relative;
    margin: 0 auto;
    background: url("../images/bg-feedback_top.png") no-repeat 0 0;
    width: 202px;
    background-size: contain
}

.feedback:after {
    display: block;
    background: url("../images/bg-feedback_bot.png") no-repeat center bottom;
    width: 100%;
    background-size: contain;
    height: 56px;
    content: ''
}

.feedback_person {
    left: 50%;
    top: 10px;
    border-radius: 50%;
    background: #fff;
    overflow: hidden;
    position: relative;
    box-shadow: 0 5px rgb(0 0 0 / 15%);
    transform: translateX(-50%);
    width: 120px;
    height: 120px
}

.feedback_person img {
    width: 100%
}

.feedback_text {
    padding: 0 15px;
    min-height: 126px;
    line-height: 22px;
    color: #fff;
    font-weight: 300;
    overflow: hidden;
    background: #e090fe;
    margin-top: 60px
}

.main-rez {
    height: 150px;
    clear: both
}

.footer {
    height: 150px;
    margin: -150px auto 0;
    min-width: 320px;
    position: relative;
    background: #ecedef
}

.goMid {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    padding: 0 20px
}

.footer_wrapper {
    display: flex;
    height: 150px;
    padding: 35px 15px 0;
    align-items: flex-start;
    line-height: 22px;
    font-size: 16px;
    font-weight: 500;
    color: #000;
}

.f_logo {
    margin-right: 70px
}

.f_logo img {
    height: 70px
}

.f_menu {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0
}

.f_menu li {
    margin: 0;
    padding: 0 10px;
    flex: 0 0 50%
}

.f_menu a {
    color: #000;
}

.f_menu a.active {
    text-decoration: underline
}

.f_contacts {
    white-space: nowrap;
    padding: 0 15px;
    font-size: 22px
}

.f_phone a {
    color: #000;
    line-height: 26px
}

.f_social {
    margin: 10px 0 0;
    display: flex;
    gap: 15px;
    font-size: 0;
    line-height: 0;
}

.everStudio {
    font-size: 10px;
    line-height: 12px;
    font-weight: 300;
    display: flex;
    white-space: nowrap
}

.everStudio-links {
    display: flex;
    flex-direction: column;
    padding: 0 8px
}

.everStudio a {
    color: #000
}

.terms {
    display: flex;
    justify-content: space-around;
    font-size: 10px;
    line-height: 12px;
    margin-top: 16px
}

.terms a {
    color: #000
}

.mobileMenu {
    margin: 0 auto;
    max-width: 400px;
    text-align: center;
    display: none
}

.space {
    display: flex;
    align-items: center
}

.space_pic {
    flex: 0 0 35%;
    position: relative
}

.space_pic .benefit {
    position: absolute;
    right: inherit;
    top: 0;
    z-index: 5;
    left: 83%;
    margin: 0
}

.space_prev {
    width: 100%;
    padding-top: 100%;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    background-position: center;
    background-size: cover
}

.space_desk {
    flex: 1;
    padding: 0 0 0 120px
}

.space_reverted {
    flex-direction: row-reverse
}

.space_reverted .space_desk {
    padding: 0 120px 0 0
}

.space_reverted .space_pic .benefit {
    right: 83%;
    left: inherit
}

.gallery-big:not(.slick-initialized)>div {
    display: none;
}

.gallery-big:not(.slick-initialized)>div:first-child {
    display: block
}

.gallery-big img {
    width: 100%
}

.gallery-big .slick-arrow:before {
    display: none
}

.gallery-big .slick-prev {
    background: url("../images/icon-prev.png") no-repeat center center;
    left: 15px;
    z-index: 5
}

.gallery-big .slick-next {
    background: url("../images/icon-next.png") no-repeat center center;
    right: 15px;
    z-index: 5
}

.gallery-prev {
    position: relative
}

.gallery-prev-item {
    width: 25%;
    padding: 4.19% 0 0;
    background-size: cover;
    float: none;
    display: inline-block !important;
    outline: 0 !important;
    box-shadow: inset 0 0 0 5px #fff;
    background-position: center center
}

.gallery-prev-item img {
    opacity: 0;
    max-width: 100%
}

.gallery-prev .slick-track {
    width: auto !important;
    transform: none !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start
}

.gallery-prev-item.slick-active {
    box-shadow: inset 0 0 0 5px #b1dc8b
}

.contact-form {
    background: #f2f2f3 url("../images/pix-contact.jpg") no-repeat right bottom;
    background-size: contain
}

.form-wrapper {
    max-width: 500px;
    border-radius: 10px;
    background: #f2f2f3;
    box-shadow: 0 0 5px 5px #f2f2f3;
    padding: 40px 25px 20px;
}

.form-group {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.form-group label {
    text-align: right;
    text-transform: uppercase;
    margin: 0;
    padding: 0 10px 0 0;
    font-size: 12px;
    line-height: 30px;
    font-weight: 500
}

.form-group .form-control {
    height: 28px;
    padding: 5px 8px;
    border: solid 1px #c0c4c7;
    border-radius: 0;
}

.form-group textarea.form-control {
    resize: none;
    height: 72px
}

.form-actions {
    text-align: right;
    font-size: 16px;
    line-height: 30px;
    display: flex;
    justify-content: flex-end;
    gap: 8px
}

.btn-gray {
    border: none;
    height: 30px;
    padding: 0 15px;
    color: #fff;
    background: #d3d6db
}

.btn-blue {
    border: none;
    height: 30px;
    padding: 0 15px;
    color: #fff;
    background: #3c88fd
}

.grecaptcha-badge {
    z-index: 10
}

.map {
    font-size: 0;
    line-height: 0;
    border-top: solid 15px #3c88fd;
    background: #fff url("../images/bg.png") center
}

.map iframe {
    width: 100%;
    height: 450px
}

@media screen and (max-width: 1099px) {
    .header {
        margin: 0 -20px
    }
    .header_line {
        padding: 15px 20px;
        flex-wrap: wrap;
        gap: 0;
        height: auto;
        min-height: 0;
        align-items: center;
    }
    .address {
        display: none
    }
    .contacts {
        padding: 0 20px;
        text-align: center
    }
    .social {
        justify-content: center
    }
    .menu li {
        flex-grow: 1
    }
    .menu a {
        justify-content: center;
        white-space: nowrap;
        padding: 0
    }
    .page {
        margin: 0 -20px;
    }
    .pageTitle {
        left: 5%;
        width: 90%;
        padding: 15px 20px;
        font-size: 26px;
        line-height: 28px
    }
    .pageTitle h1 {
        font-size: 33px;
        line-height: 33px
    }
    .bubbles {
        display: block
    }
    .benefit {
        margin: 0 auto
    }
    .benefit_1,
    .benefit_2,
    .benefit_3,
    .benefit_4 {
        left: 0
    }
    .choose {
        width: 90%;
        max-width: 650px
    }
    .main-rez {
        display: none
    }
    .footer {
        height: auto;
        margin: 0;
    }
    .footer_wrapper {
        flex-direction: column;
        padding: 20px 0;
        align-items: center;
        height: auto
    }
    .f_logo {
        margin: 0;
        order: 1
    }
    .f_contacts {
        order: 2;
        margin: 15px 0;
        padding-top: 15px;
        border-top: solid 1px #d0ddf6
    }
    .f_social {
        justify-content: center
    }
    .f_menu {
        order: 3;
        justify-content: center;
        border-top: solid 1px #d0ddf6;
        padding: 15px 0
    }
    .f_menu li {
        flex-basis: 34%;
        text-align: center
    }
    .f_address {
        order: 4;
        border-top: solid 1px #d0ddf6;
        padding-top: 15px;
        display: block;
        margin-bottom: 5px;
        clear: both
    }
    .info {
        order: 5;
        margin-top: 15px;
        border-top: solid 1px #d0ddf6;
        padding-top: 15px
    }
    .space_pic {
        flex-basis: 43%
    }
    .space_pic .benefit {
        width: 100px;
        height: 100px;
        font-size: 14px;
        line-height: 16px;
    }
    .space_desk {
        padding: 0 0 0 70px;
    }
    .space_reverted .space_desk {
        padding: 0 70px 0 0
    }
    .contact-form {
        background-size: 50%
    }
    .form-wrapper {
        padding: 15px;
        width: 60%;
        max-width: 500px
    }
    .form-group {
        flex-direction: column;
        margin: 0 0 8px
    }
    .form-group label {
        flex: 0 0 20px;
        line-height: 20px
    }
}

@media screen and (max-width: 767px) {
    html,
    body {
        font-size: 14px;
        line-height: 20px
    }
    .header_line {
        padding: 15px 0
    }
    .logo {
        flex-basis: 100%;
        text-align: center;
        margin: 0 0 15px
    }
    .contacts {
        padding: 0;
        display: flex;
        flex-basis: 100%;
        flex-direction: column;
        align-items: flex-start
    }
    .phone {
        font-size: 20px;
        line-height: 30px;
        white-space: nowrap;
        text-align: center;
        width: 100%
    }
    .social {
        padding: 0 20px;
        height: 35px;
        align-items: center;
        margin: 10px 0 0
    }
    .social img {
        height: 25px
    }
    .book {
        margin: -30px 20px 0 auto
    }
    .cb-red,
    .cb-white,
    .cb-yellow {
        width: 110px;
        background-size: contain;
        height: 34px;
    }
    .cb-red span,
    .cb-white span,
    .cb-yellow span {
        font-size: 12px;
        line-height: 12px;
        border-bottom-width: 1px
    }
    .cb-yellow span {
        margin-bottom: 3px
    }
    .menu {
        display: none
    }
    .mobileMenu {
        display: block;
        padding: 0 20px 10px
    }
    .mobileMenu .dropdown {
        background: #3c88fd
    }
    .menuTitle {
        display: block;
        text-align: left;
        padding: 5px 25px 5px 20px;
        font-size: 16px;
        color: #fff;
        line-height: 26px;
        cursor: pointer;
        text-transform: uppercase;
        font-weight: 400
    }
    .menuTitle .caret {
        display: block;
        position: absolute;
        right: 15px;
        top: 15px;
        border: solid 6px transparent;
        width: 0;
        height: 0;
        border-top-color: #fff;
    }
    .mobileMenu .dropdown-menu>li>a {
        margin: 0;
        padding: 5px 20px;
        font-size: 14px;
        line-height: 20px
    }
    .mobileMenu .dropdown-menu {
        width: 100%;
        margin: 0;
        border-radius: 0;
        padding: 0;
        border: none
    }
    .mobileMenu .dropdown-menu li>a.active,
    .mobileMenu .dropdown-menu li>a.active:hover {
        color: #000;
        background: #d0ddf6;
        text-decoration: none
    }
    .pageTitle {
        position: static;
        width: auto;
        text-align: left;
        font-size: 18px;
        line-height: 22px
    }
    .pageTitle h1 {
        font-size: 24px;
        line-height: 30px;
        margin-bottom: 4px
    }
    .benefits {
        margin: 0 -20px
    }
    .benefit_1,
    .benefit_2,
    .benefit_3,
    .benefit_4 {
        width: 80px;
        height: 80px;
        padding: 5px;
        font-size: 10px;
        line-height: 10px
    }
    .content h2 {
        font-size: 24px;
        line-height: 30px
    }
    .slick-prev,
    .slick-next {
        background-size: 70%!important
    }
    .choose {
        width: 100%;
        font-size: 14px;
        line-height: 20px;
        padding: 15px;
    }
    .chooseTitle {
        font-size: 24px;
        line-height: 30px
    }
    .feedback {
        width: 102px;
    }
    .feedback_person {
        width: 60px;
        height: 60px;
        top: 6px
    }
    .feedback_text {
        line-height: 11px;
        font-size: 8px;
        padding: 0 7px;
        margin-top: 30px;
        min-height: 60px
    }
    .feedback:after {
        height: 28px
    }
    .f_menu li {
        min-width: 140px;
        margin: 4px 0
    }
}

@media screen and (max-width: 599px) {
    .space {
        display: block
    }
    .space_pic {
        max-width: 250px;
        margin: 0 auto
    }
    .space_desk,
    .space_reverted .space_desk {
        padding: 0
    }
    .space_desk h2 {
        text-align: center
    }
    .space_pic .benefit {
        left: -25px
    }
    .space_reverted .space_pic .benefit {
        right: -25px
    }
    .contact-form {
        background-size: auto 160px
    }
    .form-wrapper {
        padding: 0 0 150px;
        box-shadow: none;
        background: transparent;
        width: 90%;
        max-width: 400px;
        margin: 0 auto
    }
}

.character_left,
.character_right {
    width: 100px;
    /* ??????? ?????? ?????? ??? SVG */
    height: auto;
}

.character_left {
    position: absolute;
    left: -200px;
    top: 50%;
    transform: translateY(-50%);
}

.character_right {
    position: absolute;
    right: -200px;
    top: 50%;
    transform: translateY(-50%);
}

.svg_character {
    width: 100%;
    /* ????????? ??????? ??? SVG */
    height: auto;
}

.space {
    position: relative;
    /* ??? ?????????? ?????????? */
}

.loading {
    position: relative;
}

.loading::before {
    content: "";
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    background: -webkit-gradient( linear, left top, right bottom, color-stop(40%, #eeeeee), color-stop(50%, #dddddd), color-stop(60%, #eeeeee));
    background: linear-gradient( to bottom right, #eeeeee 40%, #dddddd 50%, #eeeeee 60%);
    background-size: 200% 200%;
    background-repeat: no-repeat;
    -webkit-animation: placeholderShimmer 2s infinite linear;
    animation: placeholderShimmer 2s infinite linear;
    height: 100%;
    width: 100%;
    opacity: 0.6;
}