@charset "UTF-8";


/** VARIABLES **/
:root {
    --font1: 'Montserrat' , "Arial", "Helvetica", sans-serif;
    --baseFont-size: 10px;

    --green: #86B4A2;
    --greenDark: #5C7E70;
    --red: #C03F2D;
    --grey: #707070;
    --greyDark: #4e4e4e;
    --greyLight: #f0f0f0;
    --greyLight1: #fafafa;
    --greyLight2: #c7c7c7;
    --greyLight3: #f7f7f7;
    --greyLight4: #e6e6e6;
    --greyLight5: #DCDCDC;

    --mainColor1: var(--green);
    --mainColor2: var(--greenDark);
    --mainColor3: #000;

    --menuGB: #fff;
    --footerBG: #fff;
    --txtColor: var(--grey);
    --borderColor: #bbb;
    --topBarMenuColor: var(--mainColor3);
    --topBarMenuColorHover: var(--mainColor1);
    --topBarSubmenuColor: #8D8D8D;
    --topBarSubmenuColorHover: var(--mainColor1);
    --footerMenuColor: var(--grey);
    --footerMenuColorHover: var(--mainColor1);
    --btnBG: #fff;
    --ovlDotColor: var(--greyLight);
    --ovlDotColorActive: var(--mainColor1);
}
/** VARIABLES *END*/




/** layout **/
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
    font-size: var(--baseFont-size);
    scroll-behavior: smooth;
}
body {
    font-family: var(--font1);
    font-style: normal;
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 100%;
    color: black;
    overflow-y: scroll;
    max-width: 100%;
    position: relative;
    margin: 0;
}
:focus {
    outline: none;
    text-shadow: none;
}
a {
    font-family: var(--font1);
    font-style: normal;
    color: var(--mainColor1);
    transition: all .5s;
}
a:hover,
a:focus {
    color: var(--mainColor1);
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font1);
    font-weight: 600;
    font-style: normal;
    color: var(--mainColor1);
    line-height: 120%;
    margin: 0;
    padding: 0 0 3rem;
}
h1 {
    font-size: 3.6rem;
}
h2 {
    font-size: 3.6rem;
}
h3 {
    font-size: 2.4rem;
}
h4 {
    font-size: 2.2rem;
}
h5 {
    font-size: 2rem;
}
h6 {
    font-size: 1.8rem;
}
p {
    font-family: var(--font1);
    font-size: 1.6rem;
    font-weight: 400;
    font-style: normal;
    line-height: 190%;
    color: var(--txtColor);
    padding: 0 0 2rem;
    margin: 0;
}
li {
    font-family: var(--font1);
    font-size: 1.6rem;
    font-weight: 400;
    font-style: normal;
    line-height: 150%;
    color: var(--txtColor);
    padding: 0 0 1rem;
    margin: 0;
}
strong,
b {
    font-weight: 900;
}
dl, ol, ul {
    margin-top: 0;
    margin-bottom: 2rem;
    padding: 0 0 0 2rem;
}
ol ol, ol ul, ul ol, ul ul {
    margin: 1rem 0 0;
}
ol li {
    padding-bottom: 1.5rem;
}
img {
    max-width: 100%;
    height: auto;
}
figure {
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    line-height: 0;
}
::-webkit-input-placeholder {
    color: var(--txtColor);
}
:-moz-placeholder { /* Firefox 18- */
    color: var(--txtColor);
}
::-moz-placeholder {  /* Firefox 19+ */
    color: var(--txtColor);
}
:-ms-input-placeholder {
    color: var(--txtColor);
}

.bodycontainer {
    overflow-x: hidden;
    max-width: 190rem;
    margin: 0 auto;
    padding: 0;
}
.section {
    overflow-x: hidden;
}
.container {
    display: block;
    width: 100%;
    max-width: 134rem;
    margin: auto;
    padding-left: 3rem;
    padding-right: 3rem;
    box-sizing: border-box;
}
.container-full {
    display: block;
    width: 100%;
    max-width: 100%;
    padding-left: 3rem;
    padding-right: 3rem;
    box-sizing: border-box;
}
.logo-box {
    display: inline-block;
    line-height: 0;
    transition: all .3s;
}
.logo-box:hover {
    filter: drop-shadow(0 10px 3px rgba(0,0,0,.15));
    -webkit-filter: drop-shadow(0 10px 3px rgba(0,0,0,.15));
}
.logo-box .logo {
    transition: all .3s;
}
.logo-box:hover .logo {
    transform: translateY(-5px);
}
#topbar .logo-box {
    margin-right: auto;
}
.signup {
    display: block;
    font-size: 1.8rem;
    font-weight: 400;
    text-decoration: none;
    padding: 0.5rem 0;
    color: var(--red);
}

.main-header-box {
    position: relative;
    z-index: 5;
    padding: 18rem 0 3rem 0;
    background-color: var(--greyLight1);
}
.main-header {
    font-weight: 500;
    padding: 0;
    color: var(--mainColor3);
}

.singup-button {
    position: fixed;
    z-index: 999;
    bottom: 10%;
    right: 0;
    width: 3.7rem;
    height: 15rem;
    background-image: url(../img/singup-button.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.no-webp .singup-button {
    background-image: url(../img/singup-button.png);
}
.singup-button > a {
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
}
.box-link {
    display: block;
}




@media (max-width: 1400px) {
    .main-header-box {
        padding: 15rem 0 3rem 0;
    }
}

@media (max-width: 1200px) {
    h1 {
        font-size: 3.2rem;
    }
    h2 {
        font-size: 3.2rem;
    }
}


@media (max-width: 1000px) {
    h1 {
        font-size: 3rem;
    }
    h2 {
        font-size: 3rem;
    }
}

@media (max-width: 640px) {
    .container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .container-full {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    p {
        line-height: 150%;
    }

    .main-header-box {
        padding: 13rem 0 3rem 0;
    }
    .signup {
        display: none;
    }
}

@media (max-width: 460px) {
    .main-header-box {
        padding: 8rem 0 2rem 0;
    }
}


@media (max-width: 400px) {
    h1 {
        font-size: 2.4rem;
    }
    h2 {
        font-size: 2.4rem;
    }
}
/** layout *END*/




/** buttons **/
.btn-outer-shadow {
    display: inline-block;
    padding-right: 4rem;
    filter: drop-shadow(0 0 15px rgba(0,0,0,.15));
    -webkit-filter: drop-shadow(0 0 15px rgba(0,0,0,.15));
    transition: all .5s;
    padding: 2rem 5rem 2rem 2rem;
    margin: -2rem;
}
.btn-outer-shadow:hover {
    filter: drop-shadow(0 5px 10px rgba(0,0,0,.25));
    -webkit-filter: drop-shadow(0 5px 10px rgba(0,0,0,.25));
}
.btn {
    position: relative;
    z-index: 1;
    height: 5rem;
    display: inline-flex;
    align-items: center;
    gap: 2rem;
    font-size: 1.6rem;
    font-weight: bold;
    text-decoration: none;
    line-height: 130%;
    padding: .5rem .5rem .5rem 1.5em;
    border: 0;
    border-radius: 1rem;
    color: var(--mainColor1);
    background-color: var(--btnBG);
    box-sizing: border-box;
    transition: all .5s;
    cursor: pointer;
}
.btn:hover {
    color: var(--mainColor1);
    background-color: var(--btnBG);
    transform: translateY(-5px);
}
.btn::after {
    content: '';
    position: absolute;
    z-index: -1;
    display: block;
    top: 0;
    right: -2.5rem;
    width: 8rem;
    height: 100%;
    border-radius: 1rem;
    background-color: inherit;
    transform: skewX(-30deg);
}

.btn-white {
    color: #000;
    background-color: #fff;
}
.btn-white:hover {
    color: #000;
    background-color: #fff;
}
.btn-white:hover {
    color: #000;
    background-color: #fff;
}
.btn-white::after {
    background-color: #fff;
}

.btn-green {
    color: #fff;
    background-color: var(--mainColor1);
}
.btn-green:hover {
    color: #fff;
    background-color: var(--mainColor1);
}
.btn-green::after {
    background-color: var(--mainColor1);
}

.btn-grey {
    color: #fff;
    background-color: var(--greyLight2);
}
.btn-grey:hover {
    color: #fff;
    background-color: var(--greyLight2);
}
.btn-grey::after {
    background-color: var(--greyLight2);
}


@media (max-width: 640px) {
    .btn {
        gap: 1.2rem;
        height: 5rem;
        font-size: 1.6rem;
        padding: 1rem 1rem 1rem 2rem;
        border-radius: 1.2rem;
    }
    .btn::after {
        display: block;
        width: 5rem;
        right: -1.5rem;
        border-radius: 1.2rem;
    }
    .btn > .ico {
        max-height: 2.3rem;
    }
}
/** buttons *END*/




/** animates **/

/* Shine */
.animate-shine {
    position: relative;
    overflow: hidden;
}
.animate-shine::before {
    position: absolute;
    top: 0;
    left: -75%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    -webkit-transform: skewX(-25deg);
    transform: skewX(-25deg);
}
.animate-shine:hover::before {
    -webkit-animation: shine .75s;
    animation: shine .75s;
}
@-webkit-keyframes shine {
    100% {
        left: 125%;
    }
}
@keyframes shine {
    100% {
        left: 125%;
    }
}


/* for menu BTN */
@keyframes span-first-on {
    0% {
        transform: translate(-50%, -300%);
    }
    30% {
        transform: translate(-50%, -50%);
    }
    100% {
        transform: translate(-50%, -50%) rotate(-45deg);
    }
}
@keyframes span-first-off {
    0% {
        transform: translate(-50%, -50%) rotate(-45deg);
    }
    30% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        transform: translate(-50%, -300%);
    }
}

@keyframes span-second-on {
    0% {
        transform: translate(-50%, -50%);
    }
    25% {
        background: gray;
    }
    50% {
        transform: translate(-50%, -50%) scale(1);
    }
    100% {
        transform: translate(-150%, -50%) scale(0);
    }
}
@keyframes span-second-off {
    0% {
        transform: translate(-150%, -50%) scale(0);
    }
    25% {
        background: gray;
    }
    50% {
        transform: translate(-50%, -50%) scale(1);
    }
    100% {
        transform: translate(-50%, -50%);
    }
}

@keyframes span-third-on {
    0% {
        transform: translate(-50%, 200%);
    }
    30% {
        transform: translate(-50%, -50%);
    }
    100% {
        transform: translate(-50%, -50%) rotate(45deg);
    }
}
@keyframes span-third-off {
    0% {
        transform: translate(-50%, -50%) rotate(45deg);
    }
    30% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        transform: translate(-50%, 200%);
    }
}
/** animates *END*/




/** forms **/
.search-form {
    position: relative;
    display: inline-block;
}
.search-form .search-input {
    color: var(--grey);
    font-size: 1.8rem;
    padding: 0.5rem 0;
    background-color: transparent;
    border: 0;
    border-bottom: 1px solid var(--borderColor);
}
.search-form [type="submit"] {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    width: 2rem;
    height: 2rem;
    border: 0;
    background-image: url(../img/magnifier-grey.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-color: transparent;
    cursor: pointer;
}

.form-element {
    margin: 0 0 2rem;
}
.form-element.submitbox {
    padding-top: 2rem;
    margin-bottom: 0;
}
.form-element input[type=checkbox],
.form-element input[type=email],
.form-element input[type=password],
.form-element input[type=radio],
.form-element input[type=submit],
.form-element input[type=text] {
    height: 6rem;
    font-size: 1.8rem;
    width: 100%;
    border-radius: 1.2rem;
    color: var(--txtColor);
    border: 1px solid #ccc;
    padding: 0 2rem;
    background-color: #fff;
}

.form-element textarea {
    height: 20rem;
    font-size: 1.8rem;
    width: 100%;
    border-radius: 1.2rem;
    color: var(--txtColor);
    border: 1px solid #ccc;
    padding: 2rem;
    background-color: #fff;
}
.form-element .form-element-dropdown a {
    box-sizing: border-box;
    cursor: pointer;
    line-height: 130%;
    background-color: #fff;
    height: 6rem;
    font-size: 1.8rem;
    font-weight: 400;
    width: 100%;
    border-radius: 1.2rem;
    color: var(--txtColor);
    border: 1px solid #ccc;
    padding: 0 2rem;
    background-color: #fff;
    display: flex;
    align-items: center;
}
.form-element .form-element-dropdown a:after {
    border-top-color: var(--mainColor1);
}
.form-element .form-element-dropdown.active a,
.form-element input[type=checkbox].custom-checkbox:focus+label span.checkbox-btn {
    background-color: #fbfbfb;
    border-color: #bfbfbf;
}
.form-element .form-element-dropdown ul {
    border: 1px solid var(--borderColor);
}
.form-element .form-element-dropdown ul {
    background-color: #fff;
}
.form-element .form-element-dropdown ul li {
    padding: .4rem 1.5rem;
}
.form-element input[type=radio]~span.radio-btn {
    background-color: #fff;
    border: 1px solid #ccc;
    vertical-align: middle;
    display: inline-block;
    margin: 0 2rem 0 0;
    position: relative;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    height: 2.5rem;
    width: 2.5rem;
}
.form-element input[type=checkbox].custom-checkbox~span.checkbox-btn {
    border-radius: .5rem;
    background-color: #fff;
    border: 1px solid #ccc;
    margin: 0 2rem 0 0;
    height: 2.5rem;
    width: 2.5rem;
}
.checkbox-wrap,
.radio-wrap {
    display: block;
    break-inside: avoid;
    position: relative;
    padding: 0.3rem 2rem 1.2rem 4.5rem;
    min-height: 2.5rem;
    line-height: 120%;
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--grey);
}
.form-element input[type=checkbox].custom-checkbox~span.text,
.form-element input[type=radio].custom-radio~span.text {
    display: inline-block;
    max-width: calc(100% - 5.3rem);
}
.checkbox-list,
.radio-list {
    list-style: none;
    padding: 0;
    margin: 0;
    column-count: 2;
    column-fill: balance;
    column-span: none;
}
.radio-list .radio-wrap {
    padding-left: 0;
}
.form-element input[type=checkbox].custom-checkbox ~ .checkbox-btn,
.form-element input[type=radio].custom-checkbox ~ .checkbox-btn {
    position: absolute !important;
    top: 0;
    left: 0;
}
.form-element input[type=checkbox].custom-checkbox:checked ~ .checkbox-btn,
.form-element input[type=radio].custom-checkbox:checked ~ .checkbox-btn {
    background-color: var(--mainColor1);
    border-color: var(--mainColor1);
}
.form-element input[type=checkbox].custom-checkbox:checked ~ .checkbox-btn *,
.form-element input[type=radio].custom-checkbox:checked ~ .checkbox-btn * {
    fill: #fff;
}
.form-element input[type=radio]~span.radio-btn:before {
    background: var(--mainColor1);
}
.form-read-more .read-more-container {
    max-height: 0;
    overflow: hidden;
    transition: all .3s ease-in-out;
}
.form-read-more.active .read-more-container {
    max-height: 100rem;
}
.form-read-more .read-more {
    position: relative;
    height: 6rem;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.form-read-more .read-more::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #d6d6d6;
}
.form-read-more .read-more > span {
    display: inline-block;
    padding: 0 9rem 0 6rem;
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--mainColor1);
    background-repeat: no-repeat;
    background-position: right 6rem center;
    background-color: #fff;
    cursor: pointer;
    min-width: 6rem;
    text-align: left;
}
.form-read-more .read-more > .more {
    background-image: url(../img/form-read-more-arr-down.svg);
}
.form-read-more .read-more > .less {
    display: none;
    background-image: url(../img/form-read-more-arr-up.svg);
}
.form-read-more.active .read-more > .more {
    display: none;
}
.form-read-more.active .read-more > .less {
    display: inline-block;
}
.custom-form .form-boxes {
    display: flex;
    gap: 4rem;
}
.form-element .form-element-error {
    color: var(--red);
    padding: 0.5rem 0;
}
/*
.form-element.validate-error .form-element-error {
    display: block;
}
*/
.form-element.validate-error input[type=email],
.form-element.validate-error input[type=password],
.form-element.validate-error input[type=submit],
.form-element.validate-error input[type=text],
.form-element.validate-error input[type=checkbox],
.form-element.validate-error input[type=radio],
.form-element.validate-error input[type=radio].custom-radio~span.radio-btn,
.form-element.validate-error input[type=checkbox].custom-checkbox~span.checkbox-btn,
.form-element.validate-error select,
.form-element.validate-error textarea,
.form-element.validate-error .form-element-dropdown a {
    border-color: var(--red) !important;
}

.form-element input:focus,
.form-element select:focus,
.form-element textarea:focus {
    background-color: #fff;
}


.form-style-2 .form-element input[type=email],
.form-style-2 .form-element input[type=password],
.form-style-2 .form-element input[type=submit],
.form-style-2 .form-element input[type=text] {
    height: 8rem;
    border: 1px solid #fff;
    border-radius: 4rem;
    padding-left: 4rem;
    padding-right: 4rem;
}
.form-style-2 .form-element textarea {
    border: 1px solid #fff;
    border-radius: 4rem;
    padding-left: 4rem;
    padding-right: 4rem;
}
.form-style-2 .form-element .form-element-dropdown a {
    height: 8rem;
    border: 1px solid #fff;
    border-radius: 4rem;
    padding-left: 4rem;
    padding-right: 8rem;
}
.form-style-2 .form-element .form-element-dropdown a::after {
    width: 2.4rem;
    height: 1.4rem;
    background-image: url(../img/arr-down-green.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    right: 4rem;
    border: 0;
    top: calc(50% - 0.7rem);
}
/** forms *END*/




/** HEADER **/
#topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    height: 15rem;
    box-sizing: border-box;
    transition: all .3s ease-in-out;
    background-color: transparent;
}
#topbar > .boxes {
    position: relative;
    height: 4rem;
    padding-top: 6rem;
    padding-bottom: 2rem;
    background-color: var(--menuGB);
    transition: padding .3s ease-in-out;
    box-sizing: border-box;
    display: flex;
    gap: 3rem;
    align-items: center;
}
#topbar .bg {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 1rem 3rem rgba(0,0,0,0.1));
    -webkit-filter: drop-shadow(0 1rem 3rem rgba(0,0,0,0.1));
}
#topbar .bg::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 3rem;
    width: calc(100% - 6rem);
    height: calc(100% - 10rem);
    background-color: var(--menuGB);
}
#topbar .bg::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: calc(100% - 10rem);
    left: 3rem;
    width: calc(100% - 6rem);
    height: 10rem;
    background-color: var(--menuGB);
    clip-path: polygon( 0 0, 100% 0, 100% 0, 100% calc(100% - 3.5rem), 5rem 100%, 0 calc(100% - 5rem) );
    border-radius: 0 0 48rem 7rem / 0rem 0 4.5rem 6rem;
}

.topbar-tel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 120%;
    color: var(--mainColor1);
    text-decoration: none;
}
.topbar-tel .tel {
    transition: all .2s;
}
.topbar-tel:hover .tel {
    transform: rotate(33deg);
}



@media (max-width: 1400px) {
    #topbar > .boxes {
        width: calc(100% - 6rem);
        padding-top: 4rem;
    }
    .main-logo .logo {
        height: 5rem;
    }
    #topbar {
        height: 12rem;
    }
    #topbar .bg::before {
        left: 0;
        width: 100%;
    }
    #topbar .bg::after {
        left: 0;
        width: 100%;
    }
}

@media (max-width: 1200px) {
    ul.topmenu > li > a {
        font-size: 1.8rem;
    }
    ul.topmenu ul li a {
        font-size: 1.5rem;
    }
}

@media (max-width: 1300px) {
    #topbar.menu-open {
        height: 15rem;
    }
    #menubox {
        min-height: unset;
    }
    #menubox > .bg {
        height: calc(100% + 5rem);
    }
    #menubox .bg::before {
        content: '';
        left: -6rem;
        width: calc(100% + 12rem);
    }
    #menubox .bg::after {
        content: '';
        left: -6rem;
        width: calc(100% + 12rem);
        margin-top: -0.2rem;
    }
}


@media (max-width: 1100px) {
    .main-logo .logo {
        height: 4rem;
        width: 26rem;
    }
}

@media (max-width: 980px) {
    #topbar {
        background-color: transparent;
    }
    #topbar .bg::before {
        height: calc(100% - 8rem);
    }
    #topbar .bg::after {
        top: calc(100% - 8rem);
        height: 8rem;

    }
    #topbar > .boxes {
        padding-bottom: 1rem;
    }
}

@media (max-width: 800px) {
    #topbar.menu-open .main-logo .logo {
        height: 3rem;
    }
    .topbar-tel {
        font-size: 1.5rem;
    }
}

@media (max-width: 640px) {
    #topbar {
        height: 11rem;
    }
    #topbar > .boxes {
        width: 100%;
        padding-top: 2rem;
        padding-bottom: 0;
    }
    #topbar .bg::before {
        height: calc(100% - 5rem);
    }
    #topbar .bg::after {
        top: calc(100% - 5.1rem);
        height: 5rem;
        clip-path: polygon( 0 0, 100% 0, 100% 0.2rem, calc(100% - 4.5rem) 4rem, 0 2rem);
        border-radius: 0;
        transform: rotateY(180deg);
    }
    .main-logo .logo {
        height: 3rem;
        width: 23rem;
    }
}

@media (max-width: 460px) {
    #topbar .boxes {
        gap: 2rem;
    }
    #topbar {
        height: 8rem;
    }
    #topbar .bg::before {
        background-color: transparent;
    }
    #topbar .bg::after {
        top: calc(100% - 4.1rem);
        height: 3rem;
        clip-path: polygon( 0 0, 100% 0, 100% 0.2rem, calc(100% - 2.5rem) 3rem, 0 2rem);
    }
}

@media (max-width: 400px) {
    .main-logo .logo {
        height: 2rem;
        width: 15rem;
    }
    .topbar-tel .label {
        display: none;
    }
}

@media (max-width: 375px) {
    #topbar .bg::after {
        clip-path: polygon( 0 0, 100% 0, calc(100% - 3rem) 3rem, 0 2rem);
    }
    .main-logo .logo {
        height: 2.5rem;
    }
}
/** HEADER *END*/



/** FOOTER **/
.footer {
    --footerOffsetTop: 12rem;

    position: relative;
    z-index: 10;
    padding-top: var(--footerOffsetTop);
    background-color: #fff;
}
.footer::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: -2.5rem;
    left: 4rem;
    width: calc(100% - 8rem);
    height: calc(100% - var(--footerOffsetTop) + 5rem);
    background-image: url(../img/footer-mask.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
}
.no-webp .footer::after {
    background-image: url(../img/footer-mask.png);
}
.footer::before {
    content: '';
    position: absolute;
    z-index: -2;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--footerOffsetTop);
    background-image: url(../img/footer-bg-top.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
}
.no-webp .footer::before {
    background-image: url(../img/footer-bg-top.png);
}
.footer .bg {
    content: '';
    position: absolute;
    z-index: -3;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.footer .bg::before {
    content: '';
    position: absolute;
    z-index: -2;
    top: var(--footerOffsetTop);
    left: 0;
    width: 100%;
    height: calc(100% - var(--footerOffsetTop));
    background-color: var(--footerBG);
}


.footer-top {
    padding-bottom: 4.5rem;
}
.footer-top .boxes {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
}
.footer-logo .logo {
    width: 25.3rem;
    height: 3.7rem;
}
.footer-top ul.socialmedia {
    list-style: none;
    margin: 0 -1rem;
    padding: 0;
    position: relative;
    z-index: 10;
}
.footer-top ul.socialmedia li {
    display: inline-block;
    padding: .7rem;
}
.footer-top ul.socialmedia a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    transition: all .5s;
}
.footer-top ul.socialmedia a:hover {
    opacity: .7;
}
.footer-top ul.socialmedia a img {
    height: 100%;
    max-width: 100%;
}

.footer-bottom {
    padding-bottom: 5rem;
}
.footer-bottom .boxes {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 3rem;
}
.footer-bottom .footer-title {
    font-size: 1.7rem;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 120%;
    padding: 0 0 1.5rem;
    color: var(--txtColor);
    text-decoration: none;
    display: block;
}
.footer-bottom a.footer-title:hover {
    color: var(--mainColor1);
}
.footer-bottom .box:nth-child(1) {
    max-width: 40rem;
}
.footer-contact .address {
    display: flex;
    align-items: center;
    gap: 2rem;
    min-height: 2.8rem;
    font-size: 1.8rem;
    line-height: 120%;
    padding: 0 0 0 4rem;
    margin-bottom: 3rem;
    background-image: url(../img/footer-pin.svg);
    background-repeat: no-repeat;
    background-position: left center;
}
.footer-contact .subbox {
    display: inline-block;
    vertical-align: top;
}
.footer-contact .opening {
    padding-right: 3rem;
}
.footer-contact .row {
    display: block;
}
.footer-contact .box-title {
    font-size: 1.6rem;
    font-weight: bold;
    padding: 0;
}

ul.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.footer-menu li {
    padding: 0 0 1rem;

}
ul.footer-menu li a {
    font-size: 1.8rem;
    color: var(--footerMenuColor);
    text-decoration: none;
}
ul.footer-menu li a:hover {
    text-decoration: none;
    color: var(--mainColor1);
}

.footer-copyright {
    text-align: center;
    padding: 3rem 0 4rem;
}
.footer-copyright .copyright {
    font-size: 1.8rem;
    line-height: 120%;
    padding: 0;
}


@media (max-width: 1400px) {
    .footer {
        padding-left: 4rem;
        padding-right: 4rem;
    }
}

@media (max-width: 1300px) {
    .footer-bottom {
        padding-bottom: 2rem;
    }
    .footer-bottom .footer-title {
        font-size: 1.5rem;
    }
    ul.footer-menu li a {
        font-size: 1.6rem;
    }
}

@media (max-width: 1200px) {
    .footer {
        --footerOffsetTop: 10rem;
    }
    .footer::after {
        top: -3.5rem;
    }
}

@media (max-width: 980px) {
    .footer {
        --footerOffsetTop: 7rem;
    }
    .footer {
        padding-left: 0;
        padding-right: 0;
    }
    .footer::before {
        filter: drop-shadow(0 -1px 1px #E4E4E4);
        -webkit-filter: drop-shadow(0 -1px 1px #E4E4E4);
    }
    .footer::after {
        content: none;
    }
    .footer-bottom .box:nth-child(2) {
        display: none;
    }
}

@media (max-width: 740px) {
    .footer {
        --footerOffsetTop: 6rem;
    }
    .footer-bottom {
        padding-bottom: 0rem;
    }
    .footer-bottom .box:nth-child(3) {
        display: none;
    }
}

@media (max-width: 640px) {
    .footer {
        --footerOffsetTop: 6rem;
    }
    .footer-contact .address {
        font-size: 1.6rem;
    }
}

@media (max-width: 540px) {
    .footer {
        display: flex;
        flex-direction: column;
    }
    .footer-logo {
        display: none;
    }
    .footer-top {
        display: flex;
        order: 2;
        padding: 0;
    }
    .footer-top .boxes {
        justify-content: center;
    }
    .footer-bottom {
        display: flex;
        order: 1;
        padding-top: 1rem;
    }
    .footer-bottom .box:nth-child(4) {
        display: none;
    }
    .footer-copyright {
        display: flex;
        order: 3;
    }
}

@media (max-width: 460px) {
    .footer {
        --footerOffsetTop: 4rem;
    }
    .footer-contact .box-title {
        font-size: 1.4rem;
    }
    .footer-contact .txt {
        font-size: 1.4rem;
    }
    .footer-copyright .copyright {
        font-size: 1.4rem;
    }
}

@media (max-width: 460px) {
    .footer-contact .address {
        font-size: 1.5rem;
    }
    .footer-contact .txt {
        font-size: 1.3rem;
    }
}
/** FOOTER *END*/




.swiper-pagination-bullet {
    width: 1.1rem;
    height: 1.1rem;
    background-color: var(--greyLight5);
    border-radius: 1.1rem;
    opacity: 1;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 4rem;
    background-color: var(--mainColor1);
}





#page_home .main-header {
    font-weight: bold;
    text-align: center;
}
#page_home + .footer {
    background-color: var(--greyLight4);
}



.page_home-s0 {
    padding: 10rem 6rem 4rem;
}
.page_home-s0 .swiper-container {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 100%;
    padding-bottom: 8rem;
}
.page_home-s0 .swiper-wrapper {
    display: flex;
    align-items: stretch;
}
.page_home-s0 .swiper-wrapper::after {
    content: '';
    position: absolute;
    z-index: 11;
    bottom: -4rem;
    right: 8rem;
    width: 13vw;
    max-width: 22rem;
    min-width: 10rem;
    aspect-ratio: 224 / 136;
    background-image: url(../img/sticker.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.page_home-s0 .swiper-slide {
    position: relative;
    width: 100%;
    aspect-ratio: 1598 / 567;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
}
.page_home-s0 .swiper-slide::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 4rem;
    left: 4rem;
    width: calc(100% - 8rem);
    aspect-ratio: 1510 / 586;
    background-image: url(../img/header-mask.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: .5;
}
.page_home-s0 .swiper-slide .bg {
    position: absolute;
    z-index: -2;
    top: 0;
    left: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    -webkit-mask-image: url(../img/slider-mask.webp);
    mask-image: url(../img/slider-mask.webp);
    -webkit-mask-size: 100vmin;
    mask-size: 100vmin;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    mask-position: center;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
.page_home-s0 .swiper-slide .mask {
    width: 100%;
    height: 100%;
    background: rgb(0,0,0);
    background: -moz-linear-gradient(229deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 47%, rgba(0,0,0,0.7) 100%);
    background: -webkit-linear-gradient(229deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 47%, rgba(0,0,0,0.7) 100%);
    background: linear-gradient(229deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 47%, rgba(0,0,0,0.7) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);
}
.no-webp .page_home-s0 .swiper-slide .bg {
    -webkit-mask-image: url(../img/slider-mask.png);
    mask-image: url(../img/slider-mask.png);
}
.page_home-s0 .swiper-pagination {
    position: absolute;
    z-index: 10;
    left: 0;
    bottom: 12rem;
    display: inline-block;
    text-align: left;
    padding-left: 9rem;
}
.page_home-s0 .swiper-pagination .swiper-pagination-bullet {
    background-color: #fff;
}
.page_home-s0 .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: var(--mainColor1);
}
.page_home-s0 .wrap {
    width: 50%;
    padding: 0 0 10rem 9rem;
    max-width: 42rem;
}
.page_home-s0 .box-header {
    font-size: 3.6rem;
    font-weight: 600;
}
.page_home-s0 .wrap .txt {
    color: #fff;
    line-height: 150%;
}

@media (max-width: 1400px) {
    .page_home-s0 {
        padding: 7rem 4rem 4rem;
    }
    .page_home-s0 .wrap {
        max-width: 50rem;
        padding: 0 0 7rem 7rem;
    }
    .page_home-s0 .box-header {
        font-size: 3.2rem;
        padding-bottom: 2rem;
    }
    .page_home-s0 .swiper-pagination {
        bottom: 10rem;
        padding-left: 7rem;
    }
}

@media (max-width: 1180px) {
    .page_home-s0 {
        padding: 6rem 0rem 0;
    }
    .page_home-s0 .swiper-wrapper::after {
        right: 3rem;
    }
    .page_home-s0 .swiper-slide::before {
        content: none;
    }
    .page_home-s0 .wrap {
        max-width: 50rem;
        padding: 0 0 7rem 5rem;
        width: 100%;
    }
    .page_home-s0 .swiper-pagination {
        bottom: 10rem;
        padding-left: 5rem;
    }
}

@media (max-width: 1080px) {
    .page_home-s0 .swiper-slide {
        width: 100%;
        height: 38rem;
        aspect-ratio: unset
    }
}

@media (max-width: 800px) {
    .page_home-s0 .swiper-container {
        padding-bottom: 4rem;
    }
    .page_home-s0 .swiper-wrapper::after {
        bottom: -2rem;
    }
    .page_home-s0 .wrap {
        padding: 0 0 7rem 3rem;
    }
    .page_home-s0 .swiper-pagination {
        bottom: 7rem;
        padding-left: 3rem;
    }
}

@media (max-width: 460px) {
    .page_home-s0 {
        padding: 4rem 0rem 0;
    }
}


.page_home-s1 > .container {
    padding-top: 7rem;
    padding-bottom: 14rem;
    background-image: url(../img/home-s1_bg.jpg);
    background-repeat: no-repeat;
    background-position: right bottom;
}
.page_home-s1 .wrap {
    padding-right: 50rem;
}
.page_home-s1 .section-header span {
    color: var(--red);
}
.page_home-s1 .logos {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    padding-top: 3rem;
}
.page_home-s1 .cta {
    padding: 4rem 0;
    background-image: url(../img/color-bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.page_home-s1 .cta .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
}
.page_home-s1 .cta .txt {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 150%;
    color: #fff;
    padding-bottom: 0;
}



.page_home-s2 {
    padding: 8rem 0 4rem;
}
.page_home-s2 .topbox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
    padding-bottom: 5rem;
}
.page_home-s2 .section-header {
    color: var(--red);
    padding-bottom: 0;
    font-size: 3.6rem;
}
.page_home-s2 .subtitle {
    font-size: 2.4rem;
    font-weight: 300;
    color: var(--greyDark);
}
.page_home-s2 .swiper-container {
    position: relative;
}
.page_home-s2 .box {
    max-width: 33rem;
    width: 33rem !important;
    padding: 0 3rem 6rem 0;
    box-sizing: border-box;
}
.page_home-s2 .img-box {
    margin-bottom: 2.5rem;
}
.page_home-s2 .img {
    border-radius: 2rem;
}
.page_home-s2 .box-header {
    font-weight: bold;
    padding-bottom: 1.5rem;
    min-height: 7.5rem;
}
.page_home-s2 .txt {
    min-height: 18rem;
}
.page_home-s2 .btn {
    font-size: 1.6rem;
    padding: 0.5rem 1rem 0.5rem 2rem;
    height: 5rem;
    border-radius: 1.2rem;
    margin-top: auto;
}
.page_home-s2 .btn::after {
    right: -1.5rem;
    width: 5rem;
    border-radius: 1.2rem;
}


.page_home-s3 {
    position: relative;
    padding: 8rem 0;
    background-color: var(--green);
}
.page_home-s3 .boxes {
    display: flex;
    justify-content: flex-end;
}
.page_home-s3 .boxes::before {
    content: '';
    position: absolute;
    display: block;
    aspect-ratio: 549 / 1066;
    z-index: 1;
    bottom: 0;
    right: clamp(58rem, 63vw, 124rem);
    height: calc(100% - 8rem);
    max-height: 106.6rem;
    background-image: url(../img/section-steps-img.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.no-webp .page_home-s3 .boxes::before {
    background-image: url(../img/section-steps-img.jpg);
}
.page_home-s3 .rightbox {
    position: relative;
    z-index: 2;
    flex: 0 0 55%;
    max-width: 55%;
}
.page_home-s3 .section-header {
    color: #fff;
}
.page_home-s3 .section-header > span {
    display: block;
    color: var(--greenDark);
}
.page_home-s3 .stepsbox {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    padding: 2rem 0;
    margin-bottom: 4rem;
}
.page_home-s3 .step {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 3rem;
}
.page_home-s3 .step:nth-child(even) {
    flex-direction: row-reverse;
}
.page_home-s3 .imgbox {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 18rem;
    height: 18rem;
    background-color: #fff;
    flex: 0 0 18rem;
    max-width: 18rem;
    border-radius: 50%;
}
.page_home-s3 .svg {
    max-width: 45%;
    max-height: 40%;
    height: 100%;
}
.page_home-s3 .step-header {
    padding-bottom: 1rem;
    font-weight: 400;
    color: #fff;
}
.page_home-s3 .step-txt {
    line-height: 168%;
    padding: 0;
    color: #fff;
}
.page_home-s3 .txt {
    font-size: 2.1rem;
    line-height: 150%;
}



.page_home-s4 {
    padding: 8rem 0;
    background-color: var(--greyLight4);
    overflow: hidden;
}
.page_home-s4 .section-header {
    font-weight: 400;
}
.page_home-s4 .boxes {
    display: flex;
    justify-content: space-between;
    gap: 3rem;
}
.page_home-s4 .box {
    flex: 0 0 50%;
}
.page_home-s4 .leftbox {
    max-width: 50rem;
}
.page_home-s4 .section-header > span {
    color: var(--grey);
    display: block;
}
.page_home-s4 .leftbox .btn-outer-shadow {
    margin-top: 0;
}
.page_home-s4 .form-outer {
    position: relative;
    z-index: 1;
    padding: 6rem 0 8rem 6.5rem;
}
.page_home-s4 .form-outer::before {
    content: '';
    position: absolute;
    z-index: -2;
    top: 0;
    left: 0;
    width: 98rem;
    height: 100%;
    background-color: var(--greyLight);
    border-radius: 2rem 0 0rem 7rem;
    clip-path: polygon(
                        0 0,
                        100% 0,
                        100% 0,
                        100% calc(100% - 3.5rem),
                        5rem 100%,
                        0 calc(100% - 5rem)
                    );
}
.page_home-s4 .form-outer::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: 2.4rem;
    right: -10rem;
    width: 21rem;
    height: 21rem;
    background-image: url(../img/page_home-s4-form-bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.page_home-s4 .form-outer p {
    font-size: 2.4rem;
    font-weight: 600;
    padding: 0;
    line-height: 120%;
}
.page_home-s4 .form-outer .form-txt-1 {
    color: var(--mainColor1);
}
.page_home-s4 .form-outer .form-txt-2 {
    color: var(--grey);
}
.page_home-s4 .form-style-2 {
    padding: 3rem 0 0;
}
.page_home-s4 .form-style-2 input {
    display: block;
    margin: 0 0 1rem;
    font-size: 2rem;
    color: var(--grey);
    background-color: transparent;
    border: 0;
    border-bottom: 1px solid var(--borderColor);
    padding: 1rem 0 2rem;
    width: 100%;
    max-width: 49rem;
    box-sizing: border-box;
}
.page_home-s4 .form-style-2 input.validate-error {
    border-color: var(--red);
}
.page_home-s4 .form-style-2 [type="submit"] {
    border: 0;
    background-color: transparent;
    font-size: 2.4rem;
    font-weight: bold;
    color: var(--mainColor2);
    padding: 0 2.2rem 0 0;
    margin-top: 2rem;
    background-image: url(../img/form-arr-green-dark.svg);
    background-position: right center;
    background-repeat: no-repeat;
    cursor: pointer;
    text-decoration: underline;
}
.page_home-s4 .form-style-2 [type="submit"]:hover {
    color: var(--mainColor1);
    background-image: url(../img/form-arr-green.svg);
    text-decoration: none;
}




@media (max-width: 1200px) {
    .page_home-s3 .imgbox {
        width: 14rem;
        height: 14rem;
        flex: 0 0 14rem;
        max-width: 14rem;
    }
    .page_home-s3 .boxes::before {
        aspect-ratio: unset;
        width: 30.6rem;
        height: 55.4rem;
        background-image: url(../img/section-steps-img_mobile.webp);
        top: 3rem;
        left: 0;
        bottom: unset;
        z-index: 2;
    }
    .no-webp .page_home-s3 .boxes::before {
        background-image: url(../img/section-steps-img_mobile.jpg);
    }
}


@media (max-width: 980px) {
    .page_home-s1 > .container {
        background-size: 27rem;
        padding-bottom: 28rem;
        background-position: right 5rem bottom;
    }
    .page_home-s1 .wrap {
        padding-right: 0;
    }
}

@media (max-width: 800px) {
    .page_home-s1 .cta .container {
        flex-direction: column;
    }

    .page_home-s2 .topbox {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .page_home-s2 .section-header {
        font-size: 3rem;
    }

    .page_home-s3 .boxes {
        padding-top: 42rem;
    }
    .page_home-s3 .rightbox {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .page_home-s4 .boxes {
        flex-direction: column;
        gap: 5rem;
    }
}

@media (max-width: 640px) {
    .page_home-s1 > .container {
        padding-top: 2rem;
        padding-bottom: 22rem;
    }
    .page_home-s1 .logos {
        flex-direction: column;

        align-items: flex-start;
    }
    .page_home-s1 .cta {
        padding: 3rem 0;
    }
    .page_home-s1 .cta .container {
        gap: 1rem;
        align-items: flex-start;
    }

    .page_home-s2 {
        padding: 4rem 0 2rem;
    }
    .page_home-s2 .section-header {
        font-size: 2.4rem;
    }

    .page_home-s4 {
        padding: 4rem 0;
    }
    .page_home-s4 .form-outer {
        padding: 4rem 0 5rem 3rem;
    }
    .page_home-s4 .form-outer::after {
        top: unset;
        bottom: 4rem;
        right: -7rem;
        width: 17rem;
        height: 17rem;
    }
}

@media (max-width: 540px) {
    .page_home-s2 .boxes {
        margin: 0;
    }
    .page_home-s2 .box {
        max-width: 28rem;
    }
}

@media (max-width: 460px) {
    .page_home-s3 .step {
        position: relative;
        display: block;
    }
    .page_home-s3 .imgbox {
        width: 7rem;
        height: 7rem;
        flex: 0 0 7rem;
        max-width: 7rem;
        margin-bottom: 3rem;
    }
    .page_home-s3 .step-header {
        position: absolute;
        top: 2rem;
        left: 10rem;
    }
    .page_home-s3 .txt {
        font-size: 1.8rem;
    }

    .page_home-s4 .form-outer p {
        font-size: 2rem;
    }
}

@media (max-width: 375px) {
    .page_home-s2 .search-form {
        width: 100%;
        max-width: 35.5rem;
    }
    .page_home-s2 .search-form .search-input {
        width: 100%;
    }
}