@font-face {
    font-family: "Primary";
    font-weight: 500;
    src: url("../fonts/PTSans-Regular.woff2");
    font-display: swap;
}

@font-face {
    font-family: "Primary";
    font-weight: 700;
    src: url("../fonts/PTSans-Bold.woff2");
    font-display: swap;
}

:root,
::before,
::after {
    --color-black-rgb: 0, 0, 0;
    --color-black: #000;
    --color-white: #FFF;
    --color-grey: #909090;
    --color-grey-light: #F4F4F4;
    --color-grey-light-2: #919191;
    --color-grey-light-3: #B7B7B7;
    --color-primary: #EF7D00;
    --color-green: #00a519;
    --color-blue: #0090a5;
    --color-yellow: #cfc100;
    /*aprox height, before perseverance calculates with js*/
    --top-bar-height: 6.375rem;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
    appearance: textfield;
}

::-webkit-scrollbar {
    width: 1rem;
}

::-webkit-scrollbar-track {
    box-shadow: inset 0 0 4px var(--color-grey-light-2);
    border-radius: 100vw;
}

::-webkit-scrollbar-thumb {
    background: var(--color-primary);
    border-radius: 100vw;
}


::-moz-selection {
    color: var(--color-white);
    background: var(--color-primary);
}

::selection {
    color: var(--color-white);
    background: var(--color-primary);
}

body {
    color: var(--color-black);
    background: var(--color-white);
}

body[data-scroll-y-dir-thresholed] .top-bar:not([data-autohide="false"]) {
    transform: none;
}

* {
    outline: none;
}

.modal-video .modal__content {
    border-radius: 1rem;
}

.section.partener {
    margin-bottom: 3rem;
}

.video-full {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-position: bottom;
    object-fit: cover;
}

/* ================================================================================================================================================================ chestii folosite peste tot */

.lazy {
    transition: var(--transition);
}

.line-height-1 {
    line-height: 1;
}

.line-height-07 {
    line-height: 1.2;
}

.color-primary {
    color: var(--color-primary);
}

.color-grey {
    color: var(--color-grey);
}

.color-grey-light-2 {
    color: var(--color-grey-light-2);
}

.color-grey-light-3 {
    color: var(--color-grey-light-3);
}

.color-black {
    color: var(--color-black);
}

.wordbreak {
    word-break: break-all;
}

.font-italic {
    font-style: italic;
}

.text-uppercase {
    text-transform: uppercase;
}

.max-width-50 {
    max-width: 50%;
}

.width-50 {
    width: 50%;
}

.text-underline {
    text-decoration: underline;
}

.text-capitalize {
    text-transform: capitalize;
}

.display-block {
    display: block;
}

.display-inline-block {
    display: inline-block;
}

.list-style-none {
    list-style-type: none;
}

.no-transition-all * {
    transition-duration: 0ms !important;
}

.b-primary {
    background: var(--color-primary);
}

.b-green {
    background: var(--color-green);
}

.b-blue {
    background: var(--color-blue);
}

.b-yellow {
    background: var(--color-yellow);
}

.b-grey-light {
    background: var(--color-grey-light);
}

.b-white {
    background: var(--color-white);
}

.cursor-pointer {
    cursor: pointer;
}

.whitespace-nowrap {
    white-space: nowrap;
}

/* ================================================================================================================================================================ END chestii folosite peste tot */

/* .swiper-pagination{
    position: static;
    width: 100% !important;
    left: 0 !important;
    transform: none !important;
    display: flex;
    justify-content: center;
    align-items: center;
} */

.swiper-pagination {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-pagination-dyn {
    justify-content: unset;
}

.swiper-pagination-bullet {
    height: .625rem;
    width: .625rem;
    min-height: .625rem;
    min-width: .625rem;
    background: var(--color-grey);
    transition: var(--transition);
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--color-primary);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.66);
}

.swiper-lazy {
    opacity: 0;
}

.swiper-lazy-loaded {
    opacity: 1;
}

.swiper-slide {
    transition: var(--transition);
}

.swiper-slide:not(.swiper-slide-visible) {
    opacity: 0;
}

.swiper-wrapper:not(.hero-homepage-swiper-container) {
    height: auto !important;
}

.swiper-navigation {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9;
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding: 0 1.25rem;
    margin: 0;
    height: 0px;
}

.swiper-button-prev,
.swiper-button-next,
.swiper-button-prev-clone,
.swiper-button-next-clone {
    height: 2.5rem;
    width: 2.5rem;
    background: var(--color-white);
    opacity: 1 !important;
    position: static;
    border-radius: 50%;
    transition: var(--transition);
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev-clone.swiper-button-disabled,
.swiper-button-next-clone.swiper-button-disabled {
    opacity: .5 !important;
    pointer-events: all !important;
}

.swiper-button-prev::after,
.swiper-button-next::after,
.swiper-button-prev-clone::after,
.swiper-button-next-clone::after {
    font-size: 1rem;
    color: var(--color-primary);
    font-weight: 700;
}

.modal-tinut .modal__btn-close {
    border: 1px solid #ddd;
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal-tinut .modal__btn-close svg {
    width: .8rem;
    height: .8rem;
    min-width: .8rem;
    min-height: .8rem;
    display: block;
}

.footer__img {
    aspect-ratio: 1280/459;
}

@media (min-width: 64rem) {

    .footer__app-icons img {
        min-width: 8rem;
    }

    .swiper-button-prev:hover,
    .swiper-button-next:hover {
        opacity: 1 !important;
    }

    .modal-video .modal__content {
        width: 90vw;
        max-height: 80vh;
    }
}

/* ================================================================================================================================================================ TOP-BAR */

.header {
    --grid-container-max-width: 107.625rem;
    top: 0;
    width: 100%;
    background: var(--color-white);
    padding: 1rem 0;
    box-shadow: 0px 6px 8px rgba(var(--color-black-rgb), 0.1);
    transition: var(--transition);
}

.header nav>ul>li:not(.submenu)>a,
.header nav>ul>li.submenu>a {
    text-transform: uppercase;
}

.header .menu::-webkit-scrollbar {
    display: none;
}

.header nav>ul {
    gap: 1.875rem;
}

.header nav ul li.submenu {
    position: relative;
}

.header nav ul li.submenu>a {
    transition: 0ms;
}

.header nav ul li.submenu ul {
    font-size: .75rem;
    position: absolute;
    transition: var(--transition);
    left: -.625rem;
    bottom: 0;
    transform: translateY(100%);
    white-space: nowrap;
    background: var(--color-white);
    box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.100755);
    opacity: 0;
    pointer-events: none;
}

.header nav ul li.submenu ul li a {
    display: block;
    padding: .45rem .625rem;
}

.header nav ul li.submenu svg {
    height: .375rem;
    width: .75rem;
    transition: var(--transition);
    margin-top: -.25rem;
}

.header nav ul li.submenu svg * {
    transition: var(--transition);
}

.header nav ul li a {
    transition: var(--transition);
}

.header nav ul li a span {
    transition: var(--transition);
}

.header nav ul li.active>a {
    color: var(--color-primary);
}

.header nav ul li.submenu a {
    transition: var(--transition);
}

/* .header nav ul.submenu li.active > a{
    color: var(--color-black);
} */

.header nav ul li.active svg * {
    fill: var(--color-primary);

}

.header .logo-container {
    padding: 0 1rem;
}

.header .logo-container a svg {
    height: 4.375rem;
    width: 4.375rem;
}

.header .logo-container a svg * {
    transition: var(--transition);
}

.header .language-switch button {
    border: none;
    background: transparent;
    text-transform: uppercase;
    height: 2.5rem;
    width: 2.5rem;
    cursor: pointer;
}

.header .language-switch button[data-active] {
    background: var(--color-primary);
    color: var(--color-white);
}

/* ================================================================================================================================================================ END TOP-BAR */

/* ================================================================================================================================================================ FOOTER */

.footer {
    padding-bottom: 2rem;
    --grid-container-max-width: 107.625rem;
}



.footer form {
    max-width: 32.5rem;
    margin: auto;
}

.footer form input {
    border-radius: 2rem 0 0 2rem;
    border: solid .0625rem var(--color-black);
    font-style: italic;
    padding: .5rem 1.25rem;
    width: calc(100% - 10rem);
    scroll-margin-top: 50vh;
    scroll-padding-top: 50vh;
}

.footer form button {
    border-radius: 0 2rem 2rem 0;
    width: 10rem;
}


.footer .social a {
    display: block;
}

.footer .socials .social-icon svg {
    fill: var(--color-primary);
}

.footer .socials .social-icon {
    display: inline-block;
}

.footer .socials .social-icon+.social-icon {
    margin-left: 2.5rem;
}

.footer .socials .social-icon svg {
    height: 3rem;
    width: 3rem;
}

.footer .socials .social-share {
    width: 2.5rem;
    height: 2.5rem;
    background-color: var(--color-primary);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer .socials .social-share svg {
    width: 1.05rem;
    height: 1.05rem;
}

.social-share svg path {
    fill: var(--color-white);
}

.footer .share-container {
    position: relative;
}

.footer .share-options {
    position: absolute;
    top: calc(100% + 1rem);
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    pointer-events: none;
}

.footer .share-container[data-active] .share-options {
    opacity: 1;
    pointer-events: all;
    z-index: 2;
}

.footer .share-options .social-icon+.social-icon {
    margin-left: 0;
}

.footer .checkbox-virtual svg * {
    fill: var(--color-black);
}

.section[id] {
    scroll-margin-top: 6.25rem;
}

.harta-tinut {
    scroll-margin-top: 6.25rem;
    height: calc(var(--screen-height, 100vh) - var(--top-bar-height, 10vh));
}

.section:not(.section--color-1)+.section {
    padding-top: 0;
}

.section-terms li+li {
    margin-top: .5rem;
}

.section-terms h2 {
    font-size: 2rem;
    text-transform: uppercase;
    margin-top: 3rem;
}

.section-policy h2:not(:first-child) {
    margin-top: 3rem;
}

.section-policy h2 {
    scroll-margin-top: 15vh;
    font-size: 2rem;
}

.section-policy a {
    transition: var(--transition);
}

.section-policy .toc ul {
    list-style-type: none;
}

.section-policy ul ul {
    padding-left: 1rem;
    padding-top: .5rem;
}

.section-policy ul li a {
    font-weight: 700;
    font-size: 1.25rem;
}

.section-policy ul li+li {
    margin-top: .5rem;
}

.section-policy ul li p {
    padding-left: 1.5rem;
}

.section-page-not-found {
    padding-top: calc(var(--top-bar-height, 6.875rem) + 6.25rem) !important;
}


/* ================================================================================================================================================================ END FOOTER */
/* ================================================================================================================================================================ FORM */

.default-form input,
.default-form select,
.default-form textarea {
    border: 1px solid #909090;
    border-radius: .5rem;
    padding: 1.2rem .625rem;
    color: #909090;
    transition: var(--transition);
}

.default-form input:focus {
    color: var(--color-black);
}

.default-form textarea {
    resize: none;
    padding: .625rem;
    height: 8rem;
}

.default-form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    background-image: url("data:image/svg+xml;utf8,<svg fill='gray' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
    background-repeat: no-repeat;
    background-position-x: calc(100% - .625rem);
    background-position-y: 1.4rem;
}

.default-form .label-virtual-cnt .label-virtual {
    left: .625rem;
    color: #909090;
    background-color: var(--color-white);
    transform: translateY(-50%) !important;
}

.default-form .date-input>svg {
    position: absolute;
    pointer-events: none;
    top: 50%;
    transform: translateY(-50%);
    right: .625rem;
}

.default-form .date-input {
    cursor: pointer;
    position: relative;
}

.default-form .label-virtual-cnt[data-active] input {
    color: var(--color-black);
}

.flatpickr-calendar {
    position: absolute;
    visibility: hidden;
    top: 100% !important;
    left: 0 !important;
    width: 100%;
    border: 1px solid var(--color-grey-light-2);
    border-radius: .5rem;
}

.flatpickr-next-month,
.flatpickr-prev-month {
    height: unset;
    display: flex;
    justify-content: center;
    align-items: center;
}

.flatpickr-months {
    font-size: .688rem;
}

.flatpickr-rContainer {
    width: 100%;
}

.flatpickr-days {
    width: 100%;
}

.flatpickr-calendar .dayContainer {
    width: 100%;
    max-width: unset;
    min-width: unset;
}

.flatpickr-day {
    max-width: unset;
    width: unset;
    border: unset;
    border-radius: unset;
    height: unset;
    line-height: unset;
    position: relative;
}

.flatpickr-current-month {
    display: block;
    align-items: center;
    gap: 1rem;
    left: 50%;
    top: 37%;
    transform: translate(-50%, -50%);
    height: unset;
    padding-top: unset;
}

.flatpickr-monthDropdown-months {
    padding-left: unset;
}

.flatpickr-months {
    position: relative;
    padding: .75rem 0;
}

.flatpickr-month {
    position: relative;
}


.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
    background-color: unset;
}


.flatpickr-monthDropdown-months {
    padding: 0 !important;
}

.flatpickr-prev-month,
.flatpickr-next-month {
    top: .25rem !important;
}

.flatpickr-day {
    padding: 0.5rem;
}

.checkbox-virtual__text a {
    transition: var(--transition);
}

.link-cell {
    /* background-color: rgb(245, 245, 245); */
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    /* padding: 1rem; */
}

.link-cell img {
    max-width: 90%;
    max-height: 10rem;
}


/* .swiper-pagination-bullet:not(.swiper-pagination-bullet-active-next):not(.swiper-pagination-bullet-active-next-next):not(.swiper-pagination-bullet-active-prev-prev):not(.swiper-pagination-bullet-active-prev):not(.swiper-pagination-bullet-active-main) {
    display: none;
}

.swiper-pagination-bullet {
    display: block;
} */

/* ================================================================================================================================================================ MEDIA HOVER */

@media (min-width: 64rem) {

    .header nav ul li.submenu ul {
        min-width: 8.15rem;
    }

    .header nav ul li.submenu:hover>a span,
    .header nav ul li.submenu:hover>a {
        color: var(--color-primary);
    }

    .header nav ul li.submenu:hover svg * {
        fill: var(--color-primary);
    }

    a:not(.cta):hover {
        color: var(--color-primary);
    }

    .header nav ul li:not(.submenu):hover a {
        color: var(--color-primary);
    }

    .header nav ul li.submenu:hover svg {
        transform: rotateX(180deg);
    }

    .header nav ul li.submenu>ul>li a:hover {
        background: var(--color-black);
        color: var(--color-white);
    }

    .header nav ul li.submenu:hover ul {
        opacity: 1;
        pointer-events: all;
    }

    .header .language-switch button:hover {
        background: var(--color-primary);
        color: var(--color-white);
    }

    body[data-scrolled] .header .language-switch button:not([data-active]):hover {
        background-color: var(--color-black);
    }

    .social-icon:hover {
        transform: scale(1.1);
    }

    .share-container {
        cursor: pointer;
    }

    .footer .copyright {
        position: absolute;
        bottom: 2rem;
        left: 50%;
        transform: translateX(-50%);
    }

}

/* ================================================================================================================================================================ END MEDIA HOVER */

@media (max-width: 1200px) {

    .header nav>ul {
        gap: .5rem;
    }

}

@media (max-width: 70rem) {

    .header nav>ul {
        gap: .75rem;
    }

    .header .logo-container {
        padding: 0 .5rem;
    }

    .cta+.cta {
        margin-left: 0.3125rem;
    }

}

/* ================================================================================================================================================================ MEDIA DESKTOP ONLY */

@media (min-width: 64rem) {

    body[data-scroll-y-dir-thresholed] .header {
        background: var(--color-primary);
    }

    /* body[data-scroll-y-dir-thresholed] .header nav > ul > li:not(.submenu) a,
    body[data-scroll-y-dir-thresholed] .header nav > ul > li a {
        color: var(--color-white);
    } */

    body[data-scroll-y-dir-thresholed] .header nav>ul>li a {
        color: var(--color-white);
    }

    body[data-scroll-y-dir-thresholed] .header nav>ul>li.active>a,
    body[data-scroll-y-dir-thresholed] .header nav>ul:not(.submenu)>li.submenu:has(ul > li.active)>a {
        text-decoration: underline;
    }

    body[data-scroll-y-dir-thresholed] .header nav>ul>li.submenu svg * {
        fill: var(--color-white);
    }


    body:not([data-scroll-y-dir-thresholed]) .header nav ul li.submenu:has(> ul.submenu > li.active)>a {
        color: var(--color-primary);
    }

    body:not([data-scroll-y-dir-thresholed]) .header nav ul li.submenu:has(> ul.submenu > li.active)>span.toggle>svg * {
        fill: var(--color-primary);
    }

    body[data-scroll-y-dir-thresholed] .header .cta {
        background: var(--color-white);
        color: var(--color-primary);
    }

    body[data-scroll-y-dir-thresholed] .header .logo-container svg * {
        fill: var(--color-white);
    }

    body[data-scroll-y-dir-thresholed] .header .language-switch button {
        background: transparent;
        color: var(--color-white);
    }

    body[data-scroll-y-dir-thresholed] .header .language-switch button[data-active] {
        background: var(--color-white);
        color: var(--color-primary);
    }

    body[data-scroll-y-dir-thresholed] .header nav>ul>li.active:not(.submenu)>a,
    body[data-scroll-y-dir-thresholed] .header nav>ul>li.active>a span {
        text-decoration: underline;
    }

    body[data-scroll-y-dir-thresholed] .header nav>ul>li:hover a {
        color: var(--color-black);
    }

    body[data-scroll-y-dir-thresholed] .header nav ul li.submenu:hover>a span {
        color: var(--color-black);
    }

    body[data-scroll-y-dir-thresholed] .header nav ul li.submenu:hover svg * {
        fill: var(--color-black);
    }

    body[data-scroll-y-dir-thresholed] .header nav ul li.submenu ul {
        background: var(--color-primary);
    }

    body[data-scroll-y-dir-thresholed] .header nav ul li.submenu ul li a {
        color: var(--color-white);
    }

    body[data-scroll-y-dir-thresholed] .header nav ul li.submenu ul li.active a {
        text-decoration: underline;
    }

    .section {
        padding: 6.25rem 0;
    }

    .section+.section.section--color-1 {
        padding-top: 6.25rem;
    }

    .large-gap-60 {
        gap: var(--unit-60);
    }

    .large-margin-children-70>*+* {
        margin-top: var(--unit-70);
    }

    .h2 {
        font-size: 3rem;
        line-height: 1;
    }
}

@media (max-width: 63.9375rem) {

    .footer__app-icons img {
        min-height: 2.75rem;
    }

    body.page-secondary.parteneri-de-constructie .hero-section h1 {
        font-size: 3.5rem !important;
    }

    .header:not([data-active]) .language-switch {
        opacity: 0;
        pointer-events: none;
    }

    .header .language-switch {
        white-space: nowrap;
    }

    .header .menu {
        position: absolute;
        opacity: 0;
        left: 0;
        padding: 0 .9375rem;
        top: 0;
        pointer-events: none;
        height: var(--screen-height, 100vh);
        width: 100%;
        transition: var(--transition);
        z-index: -1;
        background: var(--color-primary);
        overflow-y: scroll;
        padding-top: var(--top-bar-height, 20vh);
        will-change: opacity;
    }

    .header .menu::-webkit-scrollbar {
        display: none;
    }

    .header nav {
        width: 100%;
    }

    .header nav>ul>li {
        font-size: 1.875rem;
    }

    .header nav>ul>li+li {
        margin-top: .625rem;
    }

    .header nav>ul>li.submenu svg * {
        fill: var(--color-white);
    }

    .header nav ul.submenu li.active>a {
        color: var(--color-white);
    }

    .header nav>ul>li.submenu ul {
        position: static;
        opacity: 1;
        transform: none;
        top: auto;
        left: auto;
        background: transparent;
        box-shadow: none;
        font-size: 1.5rem;
    }

    .header .logo-container,
    .header .language-switch {
        z-index: 99;
    }

    .header nav>ul>li.submenu svg {
        height: .75rem;
        min-width: 1.5rem;
    }

    .header nav {
        height: 100%;
    }

    .header nav>ul {
        height: 100%;
    }

    .header nav>ul>li.submenu ul {
        overflow: hidden;
        height: 0px;
        padding-top: .625rem;
    }

    .header nav ul>li.active>a,
    .header nav>ul>li.submenu:has(> ul.submenu > li.active)>a {
        color: var(--color-white);
        text-decoration: underline;
    }

    .header nav>ul>li.active a span svg * {
        fill: var(--color-white);
    }

    .header nav>ul>li.submenu a {
        display: block;
        width: 100%;
    }

    .header nav>ul>li.submenu svg {
        position: absolute;
        right: 1rem;
        top: 1rem;
        transform-origin: center;
        margin-top: 0;
        pointer-events: none;
    }

    .header nav>ul>li.submenu[data-active] ul {
        pointer-events: all;
    }

    .header nav>ul>li.submenu[data-active] svg {
        transform: rotateX(180deg);
    }

    .header nav>ul>li a {
        color: var(--color-white);
    }

    .header .hamburger {
        width: 1.25rem;
        position: relative;
    }

    .header .hamburger::before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        height: 1.875rem;
        width: 1.875rem;
        border-radius: 50%;
    }

    .header .hamburger[data-active]::before {
        background: var(--color-white);
    }

    .header[data-active] .logo-container svg * {
        fill: var(--color-white);
    }

    .header::before {
        content: "";
        position: absolute;
        height: 100%;
        width: 100%;
        left: 0;
        top: 0;
        background: var(--color-primary);
        z-index: 0;
        transition: var(--transition);
        opacity: 0;
    }

    .header[data-active]::before {
        opacity: 1;
    }

    .header .language-switch button {
        color: var(--color-white);
    }

    .header[data-active] .language-switch button[data-active] {
        background: var(--color-white);
        color: var(--color-primary);
    }

    header[data-active] .menu {
        opacity: 1;
        pointer-events: all;
    }

    .header .hamburger div {
        width: 1.25rem;
        background: var(--color-primary);
    }

    .hamburger>div+div {
        margin-top: .35rem;
    }

    .hamburger[data-active]>div:first-child {
        transform: translate3d(0, 3.75px, 0) rotate3d(0, 0, 1, 45deg);
    }

    .hamburger[data-active]:not(.hamburger--3)>div:last-child {
        transform: translate3d(0, -3.75px, 0) rotate3d(0, 0, 1, -45deg);
    }

    .header .hamburger div:nth-child(2) {
        display: none;
    }

    .header .cta-cnt {
        left: 0;
        bottom: 0;
        width: 100%;
        padding: 1rem var(--grid-container-padding-x, .9375rem) 3rem;
        font-size: 1.125rem;
    }

    .header .cta-cnt .cta {
        background: var(--color-white);
        color: var(--color-primary);
        width: calc(50% - 1rem);
    }

    .header .cta-cnt .cta+.cta {
        margin-left: 1rem;
    }

    .section {
        padding: 3rem 0;
    }


    .section+.section.section--color-1 {
        padding-top: 3rem;
    }

    .h2 {
        font-size: 2.25rem;
        line-height: 1;
    }

    .footer {
        padding-bottom: 2rem;
    }

    .footer form {
        flex-direction: column;
        gap: var(--unit-20);
    }

    .footer form input,
    .footer form button {
        width: 100%;
    }

    .footer form input {

        padding: .8rem 1.25rem;
    }

    .footer form button {
        border-radius: 100vw;
    }

    .footer form input {
        border-radius: .313rem;
    }

    .footer form+p {
        max-width: 32.5rem;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .footer .color-grey-light-3 {
        color: var(--color-black);
    }
}

.section-no-padding {
    padding: 0;
}

/* ================================================================================================================================================================ END MEDIA DESKTOP ONLY */

@media all and (min-width: 1023px) and (max-width: 1440px) {
    html {
        font-size: 75%;
    }
}

@media all and (min-width: 1536px) and (-webkit-min-device-pixel-ratio: 1.25) {
    html {
        font-size: 1.7075773746vmin;
    }
}

@media all and (min-width: 1280px) and (-webkit-min-device-pixel-ratio: 1.5) {
    html {
        font-size: 1.7075773746vmin;
    }
}

@media all and (min-width: 1097px) and (-webkit-min-device-pixel-ratio: 1.75) {
    html {
        font-size: 1.7075773746vmin;
    }
}


/* ============================================================================================ UTILITIES */

/* ================================================================================================================================================================ CTA */


body:not(.page-secondary):not(#tinymce) {
    padding-top: var(--top-bar-height) !important;
}

.cta {
    text-transform: uppercase;
    font-weight: 700;
    background: var(--color-primary);
    color: var(--color-white);
    border-radius: 100vw;
    line-height: 1;
    padding: 1rem 2rem;
    display: inline-block;
    transition: var(--transition);
    border: none;
    cursor: pointer;
    text-align: center;
    overflow: hidden;
}

.cta--gray {
    background-color: var(--color-grey);
}

.cta--white {
    background-color: var(--color-white);
    color: var(--color-primary);
}

.cta--small {
    padding: .75rem;
    font-size: var(--font-14);
}

*:has(> .scroll) {
    position: relative;
}

.announcement {
    transition: var(--transition);
    --grid-container-max-width: 107.625rem;
    position: fixed;
    left: calc((100% - var(--grid-container-max-width)) / 2 + 0.8rem);
    z-index: 9;
    bottom: 1.5rem;
    background: var(--color-primary);
    color: var(--color-white);
    transform: translateY(100%);
    padding: 1.25rem;
    border-radius: 1.25rem;
    opacity: 0;
    pointer-events: none;
    max-width: 20rem;
}

.announcement .announcement__btn-close {
    height: 1.2rem;
    width: 1.2rem;
    cursor: pointer;
    display: flex;
}

.announcement .cta {
    margin-top: .625rem;
    background: var(--color-white);
    color: var(--color-primary);
}

.announcement[data-active] {
    transform: none;
    opacity: 1;
    pointer-events: all;
    text-align: justify;
}


/* ================================================================================================================================================================ END CTA */


/* ================================================================================================================================================================ HERO */

/* .hero-section {
    padding-bottom: 52.5%;
} */

.hero-section>img {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: bottom;
}

body.page-secondary .hero-section {
    padding: 0;
    height: 100vh;
}

body.page-secondary .hero-section .hero__title {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    line-height: .9;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 9rem;
    color: var(--color-white);
    z-index: 9;
    width: 100%;
    max-width: 75rem;
}

.hero-scroll {
    position: absolute;
    height: 2.5rem;
    width: 2.5rem;
    bottom: 0;
    left: 50%;
    display: flex;
    justify-content: center;
    align-content: center;
    transform: translateX(-50%) translateY(-50%);
    border-radius: 50%;
    background-color: var(--color-white);
    transition: var(--transition);
    -webkit-box-shadow: 0px 0px 17px -4px rgba(var(--color-black-rgb), .5);
    box-shadow: 0px 0px 17px -4px rgba(var(--color-black-rgb), .5);
}

.hero-scroll svg {
    transition: var(--transition);
    width: 1rem;
    fill: var(--color-primary);
}

.hero-section__cta-cnt {
    position: absolute;
    bottom: 1.5rem;
    right: 6.25rem;
}

/* ================================================================================================================================================================ END SCROLL BUTTON */

.section--color-1 {
    background-color: #F3F3F3;
}

.section--color-2 {
    background-color: #FFF;
}

.image-container.contain img {
    object-fit: contain;
}

.image-container--type-1 {
    --aspect-ratio: 760/600;
}

.swiper-type-1 .swiper-slide {
    opacity: 0 !important;
}

.swiper-type-1 .swiper-slide-active {
    opacity: 1 !important;
}


.swiper-type-3 .swiper-slide img {
    width: 100%;
}

.swiper-type-3 .swiper-slide:not(.swiper-slide-visible),
.swiper-type-4 .swiper-slide {
    opacity: 1;
}

.swiper-type-4 .swiper-slide {
    width: 100% !important;
}

.swiper-type-3 .swiper-pagination {
    margin-top: 2rem;
}

.swiper-type-1 .swiper-nav,
.swiper-type-2 .swiper-nav {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: space-between;
    z-index: 3;
    margin-top: calc(-1.25rem + 8px);
}

.swiper-type-1 .swiper-nav .swiper-button-next,
.swiper-type-2 .swiper-nav .swiper-button-next,
.swiper-type-1 .swiper-nav .swiper-button-prev,
.swiper-type-2 .swiper-nav .swiper-button-prev {
    background-color: var(--color-primary);
    opacity: 1 !important;
    position: relative !important;

}

.swiper-type-1 .swiper-nav .swiper-button-disabled.swiper-button-next,
.swiper-type-1 .swiper-nav .swiper-button-disabled.swiper-button-prev,
.swiper-type-2 .swiper-nav .swiper-button-disabled.swiper-button-next .swiper-type-2 .swiper-nav .swiper-button-disabled.swiper-button-prev {
    opacity: .5 !important;
}

.swiper-type-1 .swiper-nav .swiper-button-next::after,
.swiper-type-2 .swiper-nav .swiper-button-next::after,
.swiper-type-1 .swiper-nav .swiper-button-prev::after,
.swiper-type-2 .swiper-nav .swiper-button-prev::after {
    color: var(--color-white);
}

.swiper-type-4 .swiper-pagination {
    margin-top: 1rem;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: unset;
}

.hero-section .swiper-button-disabled {
    opacity: .5 !important;
}

.section--newsletter {
    padding: 6.25rem 0 0 0;
}

.section--with-background {
    height: 100vh;
    position: relative;
}

.section--with-background .grid-container * {
    z-index: 2;
}

.section--with-background .section__background {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
    object-fit: cover;
}

body.page-secondary .hero-section.hero-margin-header {
    margin-top: var(--top-bar-height, 6.875rem);
    height: calc(100vh - var(--top-bar-height, 6.875rem));
}

@media (min-width: 64rem) {

    .hero-scroll:hover {
        background-color: var(--color-primary);
    }

    .hero-scroll:hover svg {
        fill: var(--color-white);
    }

    .swiper-type-1 .swiper-nav,
    .swiper-type-2 .swiper-nav {
        width: 110%;
    }

    .cta:hover,
    body[data-scrolled] header .cta:hover {
        background: var(--color-black);
    }

    .swiper-button-prev:not(.swiper-button-disabled):hover,
    .swiper-button-next:not(.swiper-button-disabled):hover {
        transform: scale(1.2);
    }

}

@media (max-width: 107.625rem) {

    .announcement {
        left: .9375rem;
    }

}

@media (max-width: 63.9375rem) {

    .announcement {
        width: calc(100% - 1.875rem);
        bottom: .9375rem;
        max-width: unset;
    }

    .hero-section__cta-cnt {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 7rem;
        white-space: nowrap;
        right: unset;
    }

    /* .hero-scroll {
        bottom: 2.25rem;
    } */

    .hero-section {
        padding-bottom: 100%;
    }

    body.page-secondary .hero-section {
        margin-top: var(--top-bar-height, 6.875rem);
        height: calc(50vh - var(--top-bar-height, 6.875rem));
    }

    body.page-secondary .hero-section .hero__title {
        font-size: 3rem;
    }
}

@media (orientation: landscape) and (max-width: 63.9375rem) {
    .header .menu {
        padding-top: 30vh;
    }
}

@media (orientation: landscape) and (max-width: 74rem) {

    .swiper-type-1 .swiper-nav,
    .swiper-type-2 .swiper-nav {
        width: 100%;
    }

}