/*GENERAL*/

body { color: #2b2b2b; font-size: 18px; }
main.page { overflow: hidden; }
.node-2 .page { overflow: initial; }
h1.heading { font-weight: 400; }
h2.heading { font-weight: 400; }

.text-center { text-align: center; }
.text-bold { font-weight: 700; }
.italic { font-style: italic; }
.upper { text-transform: uppercase; }
.heading { font-size: 36px; line-height: 50px; }
.heading-font { font-family: "DM Serif Display", serif; }
.heading-big { font-size: 64px; line-height: 88px; }
.content-font { font-family: "DM Sans", sans-serif; }
.extra-font { font-family: "Roboto", sans-serif; }
.link { text-transform: uppercase; text-decoration: underline; }

a:hover .right__anim { animation: moveInRight 1s infinite; }

/*@media (max-width: 680px) {*/
/*    .heading-big { font-size: 44px; line-height: 68px; }*/
/*}*/
/*@media (max-width: 420px) {*/
/*    .heading-big { font-size: 34px; line-height: 48px; }*/
/*}*/

/*GENERAL*/

/*DECOR*/

.decor { position: absolute; height: auto; }
.decor--bold { right: 0; bottom: -50%; z-index: 2; }
.decor--bold-second { right: 0; bottom: -55%; z-index: 2; }
.decor--light { left: 0; bottom: -90%; }
.decor--light-second { left: 0; top: -40%; }
.node-4 .decor--light-second { display: none; }
.decor--top-offer { right: 0; bottom: -120%; z-index: -1; }
.decor--top-offer-plama { left: 0; bottom: -70%; z-index: -1; }
.decor--top-about { right: -100px; bottom: 0; }
.decor--top-about-plama { left: 0; bottom: 130px; }
.decor--apple { right: -150px; top: 0; }
.decor--contact { right: 0; top: 10%; }
.decor--contact-light { left: 0; top: -60%; z-index: -1; }
.decor--contact-apple { right: 10%; top: 50%; z-index: -1; }

@media(max-width: 1300px) {
    .decor--top-about { width: 400px; height: auto; }
    .decor--top-about-plama { width: 200px; height: auto; }
}

@media(max-width: 1200px) {
    .decor--bold { bottom: -500px; right: -200px; }
    .decor--bold-second { bottom: -400px; }
    .decor--top-about-plama { bottom: initial; top: 55%; width: 250px; }
    .decor--contact { top: 20%; right: -15%; }
}

@media(max-width: 1000px) {
    .decor--bold-second { bottom: -500px; }
    .decor--contact-apple { position: static; display: block; margin: 0 auto; }
}

@media(max-width: 900px) {
    .decor--bold-second { bottom: -350px; }
    .decor--top-about-plama { top: 40%; }
    .decor--top-offer { width: 300px; bottom: -50%; }
    .decor--top-offer-plama { width: 250px; bottom: -35%; }
}

@media(max-width: 800px) {
    .decor--contact { top: 30%; }
}

@media(max-width: 700px) {
    .decor--top-about { width: 300px; bottom: 200px; }
    .decor--top-about-plama { width: 150px; }
    .decor--contact { width: 300px; }
    .decor--contact-light { width: 300px; }
}

@media(max-width: 550px) {
    .decor--bold-second { width: 60%; bottom: -150px; }
    .decor--top-about { width: 200px; bottom: 300px; }
    .decor--top-about-plama { width: 100px; top: 30%; }
    .decor--top-offer { width: 200px; bottom: -50%; }
    .decor--top-offer-plama { width: 150px; bottom: -35%; }
    .decor--contact { width: 200px; }
    .decor--contact-light { width: 200px; }
}

@media(max-width: 400px) {
    .decor--top-about { /*width: 200px;*/ /*bottom: 200px;*/ }
    .decor--top-about-plama { top: 20%; }
}

/*DECOR*/

/*HEADER*/

.header { background-color: #fff; height: 100px; width: 100%; position: relative; z-index: 4; padding: 0 20px;
    transition: .3s; }
.header.scroll { transition: .3s; position: fixed; top: 0; left: 0; height: 70px;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.15)); }
.node-2 .header { background: transparent; }
.node-2 .header.scroll { background: #fff; }
.header__container,
#block-menu { height: 100%; }

.menu { display: flex; padding: 0; max-width: 1100px; margin: 0 auto; justify-content: space-between;
    align-items: center; height: 100%; }
.menu__item { list-style: none; }
.menu__item-0:not(.menu--logo) { width: 80px; }
.menu__item-0:nth-child(1),
.menu__item-0:nth-child(2),
.menu__item-0:nth-child(3) { width: 58px; }
.menu__item-0:nth-child(4) { width: 100px; }
.menu__item-0:nth-child(6),
.menu__item-0:nth-child(7),
.menu__item-0:nth-child(8) { width: 102px; }

.menu__link { transition: .3s; }
.menu__link:not(.menu__logo) { text-transform: uppercase; font-size: 16px; }
.menu__link:not(.menu__logo):hover,
.menu__link:not(.menu__logo).is-active { color: #A1D0B4; transition: .3s; }

.menu__logo { line-height: initial; text-align: center; display: block; }
.menu__heading { font-size: 30px; line-height: 30px; }
.menu__subheading { font-size: 12px; letter-spacing: 1.9em; text-transform: uppercase; margin-right: -1.9em; }

.menu__item.expanded { position: relative; }
.menu__lvl-1 { display: none; background: #fff; box-shadow: 0 0 3px rgba(0, 0, 0, .3); position: absolute;
    height: initial; width: 200px; }
.menu__item.expanded:hover .menu__lvl-1 { display: block; }
.menu__item-1 { border-bottom: 1px solid #A1D0B4; padding: 10px; }

.logo { display: none; }
.login .logo { display: block; margin-bottom: 50px; }

.icon-expand { display: none; }

@media(max-width: 1000px) {
    .menu__heading { font-size: 24px; line-height: 24px; }
    .menu__item-0 > .menu__link:not(.menu__logo) { font-size: 14px; }

    .menu__item-0:nth-child(1),
    .menu__item-0:nth-child(2),
    .menu__item-0:nth-child(3) { width: 50px; }
    .menu__item-0:nth-child(4) { width: 86px; }
    .menu__item-0:nth-child(6),
    .menu__item-0:nth-child(7),
    .menu__item-0:nth-child(8) { width: 79px; }
}

@media(max-width: 768px) {
    #nav-icon { width: 35px; height: 27px; position: relative; cursor: pointer; display: block; z-index: 2;
        transition: .5s ease-in-out; transform: rotate(0deg); }
    #nav-icon span { display: block; position: absolute; height: 3px; width: 100%; opacity: 1;
        left: 0; transform: rotate(0deg); background: #000; transition: .25s ease-in-out; }
    #nav-icon span:nth-child(1) { top: 0; }
    #nav-icon span:nth-child(2),
    #nav-icon span:nth-child(3) { top: 10px; }
    #nav-icon span:nth-child(4) { top: 20px; }
    #nav-icon.open span:nth-child(1) { top: 18px; width: 0; left: 50%; }
    #nav-icon.open span:nth-child(2) { transform: rotate(45deg); }
    #nav-icon.open span:nth-child(3) { transform: rotate(-45deg); }
    #nav-icon.open span:nth-child(4) { top: 18px; width: 0; left: 50%; }

    .spacer { width: 35px; }
    #block-menu { display: flex; justify-content: space-between; align-items: center; }
    .logo { display: block; }

    .menu { display: none; background: #fff; position: fixed; width: 50%; height: 100vh; right: 0; z-index: 1; top: 0;
        padding: 0 20px 0 0;  text-align: right; }
    .menu__lvl-0 { overflow: scroll; }
    .menu--logo { display: none; }
    .menu__item-0:first-child { padding-top: 100px; transition: padding-top .3s;}
    .scroll .menu__item-0:first-child { padding-top: 70px; transition: padding-top .3s; }
    .menu__item-0:not(.menu--logo) { width: 100%; }
    .menu__item-0 > .menu__link:not(.menu__logo) { font-size: 24px; padding: 10px 0; display: block; }


    .menu__item-0.expanded { position: relative; }
    .icon-expand { display: inline-block; position: absolute; top: 1px; left: 20px; font-size: 36px; }

    .menu__lvl-1 { position: static; background: none; box-shadow: none; width: 100%; height: initial; }
    .menu__item-1 { border: none; }
    .menu__item-1 .menu__link { font-size: 20px; }
}

@media(max-width: 540px) {
    .menu__lvl-0 { width: 70%; }
    .menu__item-0 > .menu__link:not(.menu__logo) { font-size: 20px; }
    .icon-expand { top: -5px; }
}

@media(max-width: 500px) {
    .menu__heading { font-size: 28px; line-height: 28px; }
    .menu__subheading { letter-spacing: 1.5em; margin-right: -1.5em; }
}

@media(max-width: 450px) {
    .spacer { display: none; }
}

@media(max-width: 420px) {
    .menu__lvl-0 { width: 85%; }
    .menu__item-1 .menu__link { font-size: 18px; }
}

@media(max-width: 380px) {
    .menu__heading { font-size: 24px; line-height: 24px; }
}

@media(max-width: 340px) {
    .menu__heading { font-size: 22px; line-height: 22px; }
}

@media(max-width: 310px) {
    .menu__heading { font-size: 20px; line-height: 20px; }
}

/*HEADER*/

/*FOOTER*/

.footer { padding: 100px 20px; text-align: center; }
.footer a { transition: .3s; }
.footer a:hover { transition: .3s; opacity: .7; }
.footer .heading { margin-bottom: 40px; display: block; }
.footer__social { margin: 40px 0 60px; }
.footer__content { position: relative; }
.footer__decor { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1; height: auto;
    max-width: 100%; }
.footer__privacy-policy { margin: 30px 0 0; }
.footer__privacy-policy a { text-decoration: underline; transition: .3s; font-size: 11px; }
.footer__privacy-policy a:hover { opacity: .7; transition: .3s; }

@media(max-width: 560px) {
    .footer .heading { font-size: 30px; }
}

@media(max-width: 380px) {
    .footer .heading { font-size: 24px; line-height: 38px; }
}

/*FOOTER*/

/*WHAT DISTINGUISHES ME*/

.what-distinguishes-me { display: flex; position: relative; z-index: 3; }
.what-distinguishes-me--part { flex: 0 0 50%; }
.what-distinguishes-me__image { width: 100%; background: no-repeat center /cover; }
/*.what-distinguishes-me__image img { width: 100%; height: auto; }*/
.what-distinguishes-me__text { background-color: #A1D0B4; padding: 100px; overflow: hidden; }
.what-distinguishes-me__features ul { margin: 30px 0 40px; padding: 0; }
.what-distinguishes-me__features li { list-style: none; border-bottom: 1px solid #2b2b2b; padding: 40px 0; }
.what-distinguishes-me__features li:first-child { border-top: 1px solid #2b2b2b; }
.what-distinguishes-me__link a span { transition: .3s; }
.what-distinguishes-me__link a:hover span { transition: .3s; opacity: .7; }
.what-distinguishes-me__link img { margin-left: 20px; }

@media(max-width: 1000px) {
    .what-distinguishes-me__text { padding: 100px 50px; }
}

@media(max-width: 900px) {
    .what-distinguishes-me { flex-direction: column; }
    .what-distinguishes-me--part { flex: 0 0 100%; }
    .what-distinguishes-me__image { padding: 40%; }
}

@media(max-width: 550px) {
    .what-distinguishes-me__text { padding: 50px 30px; }
}

@media(max-width: 360px) {
    .what-distinguishes-me__link a { font-size: 15px; }
}

/*WHAT DISTINGUISHES ME*/

/*CONSULTATION*/

.consultation { position: relative; }
.consultation__container { display: flex; max-width: 1200px; margin: 100px auto; justify-content: space-between;
    align-items: center; padding: 0 20px; }
.consultation__image-container { filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.15)); border: 10px solid #fff; }
.consultation__img { max-width: 680px; height: auto; }

.consultation__link { position: relative;  margin-top: -150px;}
.consultation__icon img { width: 420px; height: auto; }
.consultation__button { position: absolute; z-index: 3; }
.consultation__button a { padding: 50px 60px 50px 100px; background: #E4E774; box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    white-space: nowrap; display: block; transition: .3s; }
.consultation__button:hover a { background: #F0F27A; transition: .3s; }
.consultation__button img { margin-left: 20px; }
.consultation--mobile { display: none; }

@media(max-width: 1200px) {
    .consultation__img { width: 100%; }
}

@media(max-width: 1050px) {
    .consultation__button a { padding: 25px 30px 25px 50px; }
}

@media(max-width: 900px) {
    .consultation__container { flex-direction: column; }
    .consultation__button { position: relative; z-index: 3; top: -20px; }
    .consultation__button a { text-align: center; }
    .consultation__image { order: -1; }
    .consultation--mobile { display: block; }
    .consultation--desktop { display: none; }
    .consultation__link { position: absolute; top: -125px; left: 25px; z-index: -1; margin: 0; }
    .consultation__image-container { width: 95%; margin: 0 auto; }
}

@media(max-width: 550px) {
    .consultation__button a { font-size: 24px; }
    .consultation__link { left: -2%; }
}

@media(max-width: 420px) {
    .consultation__icon img { width: 100vw; }
}

@media(max-width: 400px) {
    .consultation__button a { padding: 15px 20px; }
    .consultation__button img { display: none; }
}

/*CONSULTATION*/

/*RECOMMENDATIONS*/

.recommendations { background: #A1D0B4; padding: 100px 0; position: relative; }
.recommendations__label { color: #fff; text-align: center; margin-bottom: 100px; }
.recommendations__content { max-width: 850px; margin: 0 auto; z-index: 2; }
.recommendations__nav { display: flex; justify-content: space-between; align-items: center; width: 100%;
    padding: 0 50px; position: absolute; top: 50%; z-index: 2; }
.recommendations--arrow { cursor: pointer; transition: .3s; }
.recommendations--arrow:hover { transition: .3s; opacity: .7; }

.recommendation__text { margin-bottom: 40px; }

.slick-dots { bottom: -100px; }
.slick-dots li { width: 10px; }
.slick-dots li button::before { content: ''; width: 8px; height: 8px; background: #fff; border: 1px solid transparent;
    border-radius: 100%; opacity: 1; transition: .3s; }
.slick-dots li:hover button::before,
.slick-dots li.slick-active button::before { border-color: #fff; background: transparent; transition: .3s; }

@media(max-width: 1050px) {
    .recommendations__nav { padding: 0 20px; }
    .recommendation { padding: 0 70px; }
}

@media(max-width: 768px) {
    .recommendations__nav { top: initial; bottom: 29px; padding: 0 50px; }
    .recommendation { padding: 0 20px; }
}

/*RECOMMENDATIONS*/

/*MAP*/

.map iframe { width: 100%; }

/*MAP*/

/*LOGIN FORM*/

#user-login-form .login-form { margin-top: 50px; padding: 0 30px; }
#user-login-form .logo { text-align: center; }
#user-login-form .logo img { width: 320px; height: auto; margin-bottom: 50px; }
#user-login-form .logo h2 { color: #666666; font-family: 'Montserrat', sans-serif; font-size: 16px; margin: 0 0 50px; }

#user-login-form #edit-name--description,
#user-login-form #edit-pass--description { display: none; }

#user-login-form .login-fields label { display: none; }
#user-login-form .login-fields .form-text { width: 500px; margin-bottom: 30px; height: 25px; border-radius: 5px;
    border: 2px solid #6666; background-color: #F3F4EE; padding-left: 5px; font-size: 14px; }
#user-login-form .login-fields .form-text:focus { border: 2px solid #0085D0; }
#user-login-form .login-fields .field { display: flex; margin: 0 auto; }
#user-login-form .login-fields { max-width: max-content; margin: 0 auto; }
#user-login-form .login-fields p { line-height: 20px; width: 150px; color: #666666; font-size: 16px; font-weight: 400;
    font-family: 'Montserrat', sans-serif; }
#user-login-form .login-submit { max-width: max-content; margin: 0 0 0 auto; }
#user-login-form #edit-submit { padding: 10px 50px; border-radius: 5px; border: 0; background-color: #0085D0;
    color: white; font-family: 'Montserrat', sans-serif; font-size: 15px; font-weight: normal; }
#user-login-form #edit-submit:hover { opacity: 0.85; }


@media (max-width: 700px) {
    #user-login-form .login-fields .form-text { width: 100%; }
}

@media (max-width: 450px) {
    #user-login-form .login-fields .field { display: block; }
    #user-login-form .login-fields p { margin: 0; }
    #user-login-form .login-submit { margin: 0 auto; }

    #user-login-form .logo img { width: 100%; }
}

/*END LOGIN FORM*/

@keyframes moveInRight {
    0%, 100% { transform: translateX(0) }
    50% { transform: translateX(10px)  }
}

@keyframes bounce {
    from,
    20%,
    53%,
    to {
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        transform: translate3d(0, 0, 0);
    }

    40%,
    43% {
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        transform: translate3d(0, -30px, 0) scaleY(1.1);
    }

    70% {
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        transform: translate3d(0, -15px, 0) scaleY(1.05);
    }

    80% {
        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        transform: translate3d(0, 0, 0) scaleY(0.95);
    }

    90% {
        transform: translate3d(0, -4px, 0) scaleY(1.02);
    }
}
.animate__bounce {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
}

[data-aos=bounce] { animation: bounce 1s; transform-origin: center bottom; }
