/********************/
/*******BANNER*******/
/********************/

section.hp-banner {
    position: relative;
    margin-top: 0;
    margin-top: 120px;
    height: calc(100vh - 120px);
}

section.hp-banner>div:first-of-type {
    z-index: 1;
    position: relative;
    height: calc(100vh - 120px);
}

section.hp-banner .image.video {
    pointer-events: all;
    display: block;
    z-index: 2;
}

section.hp-banner .image,
section.hp-banner .image.video {
    pointer-events: all;
    display: block;
    z-index: 2;
    height: 100%;
}

section.hp-banner .image.video video,
section.hp-banner .image.video iframe {
    width: 100%;
    height: calc(100vh - 120px);
    object-fit: cover;
    object-position: center;
}

section.hp-banner .image.video iframe {
    width: 100vw;
    position: relative;
    z-index: -1;
    pointer-events: none;
}

section.hp-banner .logo-title {
    height: max-content;
    position: absolute;
    top: 263px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 1140px;
    left: 0;
    right: 0;
    z-index: 2;
    pointer-events: none;
    display: none;
}

.hp-banner .fullscreen-container {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 100vw;
    height: 100vh;
    z-index: 20;
    background-color: var(--black);
    transition: var(--transition);
    opacity: 0;
    margin: auto;
    object-fit: contain;
    pointer-events: none;
    padding: 50px;
}

.hp-banner .fullscreen-container.active {
    position: fixed;
    opacity: 1;
    pointer-events: auto;
    z-index: 20;
}

.hp-banner .fullscreen-container iframe,
.hp-banner .fullscreen-container video {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    pointer-events: none;
    padding: 50px;
}

.fullscreen-container .close {
    position: absolute;
    top: 30px;
    right: 30px;
    padding: 20px;
    z-index: 10;
    cursor: pointer;
}

.fullscreen-container .close::after,
.fullscreen-container .close::before {
    content: "";
    position: absolute;
    top: 10px;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    transform: rotate(45deg);
    background-color: #fff;
}

.fullscreen-container .close::after {
    transform: rotate(-45deg);
}

@media (max-width: 767px) {
    section.hp-banner {
        margin-top: 68px;
    }

    section.hp-banner>div:first-of-type {
        z-index: 1;
        position: relative;
        height: calc(100vh - 68px);
    }

    section.hp-banner .logo-title {
        margin-top: 0;
        top: 109px;
    }

    section.hp-banner .image.video video,
    section.hp-banner .image.video iframe {
        height: calc(100vh - 68px);
    }

    section.hp-banner .image.video iframe {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 177.77vh;
        /* 100vh * (16 / 9) */
        height: 100vh;
        transform: translate(-50%, -50%);
    }
}

/*******************************/
/*******TWO IMAGES SLIDER*******/
/*******************************/

section.hp_two_image_slider {
    padding: 0px 75px 0 75px;
    width: 100%;
    position: relative;
    margin-top: 74px;
}

header+section.hp_two_image_slider {
    margin-top: 194px;
}

section.hp_two_image_slider .slider {
    display: none;
}

section.hp_two_image_slider .slider-mobile {
    display: inline-flex;
}

section.hp_two_image_slider .slider-mobile .tiny,
section.hp_two_image_slider .slider-mobile .large {
    aspect-ratio: 225 / 300;
}

section.hp_two_image_slider .slider .slide {
    display: inline-flex;
    gap: 60px;
    width: 100vh;
}

section.hp_two_image_slider .slider .slide img {
    width: 100%;
}

section.hp_two_image_slider .slider .slide .tiny {
    flex: 1;
    position: relative;
}

section.hp_two_image_slider .slider .slide .tiny::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 63%;
    height: 100%;
    background: linear-gradient(90deg,
            rgba(0, 0, 0, 0.4) 0%,
            rgba(0, 0, 0, 0.25) 0%,
            rgba(0, 0, 0, 0) 25%);
    pointer-events: none;
}

section.hp_two_image_slider .slider .slide .large {
    flex: 2;
    position: relative;
}

section.hp_two_image_slider .slider .slide .large::before {
    flex: 2;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    /* Move the overlay to the right side */
    width: 63%;
    height: 100%;
    background: linear-gradient(270deg,
            /* Reverse direction */
            rgba(0, 0, 0, 0.4) 0%,
            rgba(0, 0, 0, 0.25) 0%,
            rgba(0, 0, 0, 0) 25%);
    pointer-events: none;
}

section .arrows {
    position: absolute;
    inset: 0;
    margin-block: auto;
    width: 100%;
    padding-inline: 110px;
    height: 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
}

section .arrows .prev,
section .arrows .next {
    width: 35px;
    height: 70px;
    position: relative;
    cursor: pointer;
    pointer-events: all;
}

section .arrows .prev::before,
section .arrows .next::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    mask-image: url(/assets/img/homepage/SVG/Asset\ 3.svg);
    -webkit-mask-image: url(/assets/img/homepage/SVG/Asset\ 3.svg);
    background-color: var(--white);
    transition: var(--transition);
    mask-repeat: no-repeat;
}

section .arrows .next::before {
    transform: rotate(180deg);
}

@media (min-width: 1024px) {
    section .arrows .prev:hover::before {
        transform: translateX(-5px);
    }

    section .arrows .next:hover:before {
        transform: rotate(180deg) translateX(-5px);
    }
}

section .arrows .prev::before,
section .arrows .next::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    mask-image: url(/assets/img/general/SVG/SVG/slider_arrow.svg);
    -webkit-mask-image: url(/assets/img/general/SVG/SVG/slider_arrow.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background-color: #ffffff;
    transition: var(--transition);
}

@media (max-width: 1440px) {
    section.hp_two_image_slider {
        padding: 0px 30px 0 30px;
        margin-top: 30px;
    }

    header+section.hp_two_image_slider {
        margin-top: 154px;
    }

    section.hp_two_image_slider .slider .slide {
        gap: 22px;
    }

    section .arrows {
        padding-inline: 60px;
    }
}

@media (max-width: 767px) {
    section.hp_two_image_slider {
        padding-inline: 30px 0;
        margin-top: 81px;
    }

    header+section.hp_two_image_slider {
        margin-top: 94px;
    }

    section.hp_two_image_slider .tns-gallery>.tns-item {
        left: unset;
        position: relative;
        width: calc(100%);
        opacity: 1;
    }

    section.hp_two_image_slider .slider .slide .tiny {
        flex: 2;
    }

    section.hp_two_image_slider .slider .slide .large {
        flex: 1;
    }

    section.hp_two_image_slider .slider .slide .large img {
        object-fit: cover;
        object-position: center;
    }

    section.hp_two_image_slider .slider .slide .tiny::before {
        background: none;
    }

    section .arrows {
        padding-inline: 30px 15px;
    }

    section .arrows .prev,
    section .arrows .next {
        height: 26px;
        width: 15px;
    }

    section .arrows .prev {
        opacity: 0;
        pointer-events: none;
        cursor: default;
    }
}

@media (min-width: 768px) {
    section.hp_two_image_slider .slider {
        display: inline-flex;
        gap: 60px;
        width: 100%;
    }

    section.hp_two_image_slider .slider-mobile {
        display: none;
    }

    section.hp_info>div:last-of-type>p:first-of-type {
        margin-top: 17px;
    }
}

/**********************/
/*******ABOUT US*******/
/**********************/

section.hp_info {
    max-width: 1920px;
    padding-inline: 75px;
    display: flex;
    gap: 150px;
    margin-inline: auto;
    margin-top: 115px;
    justify-content: space-between;
    transition: var(--transition);
    width: 100%;
}

header+section.hp_info {
    margin-top: 220px;
}

section.hp_two_image_slider+section.hp_info {
    margin-top: 60px;
}

section.hp_info button.button.more+div {
    opacity: 1;
    transition: var(--transition);
}

section.hp_info button.button.more+div.closed {
    height: 0;
    opacity: 0;
    overflow: hidden;
    transition: height 0.3s ease;
    margin-top: 0;
}

section.hp_info>div {
    width: 100%;
    max-width: 45%;
}

section.hp_info>div:last-of-type {
    max-width: 790px;
}

section.hp_info>div:last-of-type {
    display: block;
    /* flex-direction: column;
    gap: 40px; */
}

section.hp_info>div:last-of-type>p:first-of-type {
    margin-top: 0px;
}

section.hp_info div span {
    text-transform: uppercase;
    font-weight: 500;
    font-size: 106px;
    line-height: 1;
}

section.hp_info div:first-of-type>a {
    text-transform: uppercase;
    font-family: var(--font-family-2);
    font-weight: 500;
    font-size: 106px;
    line-height: 1;
    pointer-events: all;
}

section.hp_info>div:first-of-type>a:not([href]) {
    pointer-events: none;
    cursor: default;
}

/* section.hp_info div:first-of-type>a:not([href]) {
  pointer-events: none;
  cursor: default;
} */

section.hp_info .form div:first-of-type>a {
    text-transform: uppercase;
    font-weight: 500;
    font-size: 30px;
}

section.hp_info div p {
    font-size: 38px;
    font-weight: 300;
    margin: 0;
    margin-top: 60px;
    line-height: 1.13;
}

/* section.hp_info div p:first-of-type {
    font-size: 38px;
    font-weight: 300;
    margin: 0;
    margin-top: 20px;
    line-height: 1.13;
} */

section.hp_info div p.warning {
    color: red;
    font-size: 12px;
}

@media (max-width: 1700px) {
    section.hp_info div span {
        font-size: 80px;
    }

    section.hp_info div p {
        font-size: 30px;
        margin-top: 35x;
    }
}

@media (max-width: 1400px) {
    section.hp_info {
        padding-inline: 30px;
    }

    section.hp_info div:first-of-type>a {
        font-size: 60px;
        font-family: var(--font-family-2);
        font-weight: 500;
    }

    section.hp_info div p {
        font-size: 24px;
        margin-top: 40px;
    }
}

@media (max-width: 1024px) {
    section.hp_info div span {
        font-size: 40px;
    }

    section.hp_info div:first-of-type>a {
        font-size: 40px;
    }

    section.hp_info div p {
        margin-top: 20px;
    }

    section.hp_info>div:first-of-type {
        max-width: 430px;
    }

    section.hp_info div p {
        font-size: 20px;
    }

    section.hp_info div p {
        font-size: 20px;
        line-height: 25px;
    }

    section.hp_info .form div:first-of-type>a {
        font-size: 14px;
    }
}

@media (max-width: 768px) {
    section.hp_info {
        flex-direction: column;
        justify-content: start;
        margin-top: 30px;
        padding-inline: 30px;
        gap: 10px;
    }

    section.hp_two_image_slider+section.hp_info {
        margin-top: 25px;
    }

    section.hp_info.contacts {
        margin-top: 60px;
    }

    header+section.hp_info {
        margin-top: 120px;
    }

    section.hp_info div.closed>p {
        margin-top: 0px;
    }

    section.hp_info>div:last-of-type>p:first-of-type {
        margin-top: 17px;
    }
}

/*******************/
/******GALLERY/******
/*******************/

section.hp_gallery {
    display: flex;
    flex-direction: column;
    gap: 42px;
    /* Spacing between rows */
    width: 100%;
    /* Full viewport width */
    height: auto;
    /* Full viewport height */
    margin-top: 110px;
}

header+section.hp_gallery {
    margin-top: 270px;
}

/* Common styles for each row */
section.hp_gallery .gallery-row {
    display: grid;
    gap: 42px;
    width: 100%;
}

section.hp_gallery .gallery-row-1,
section.hp_gallery .gallery-row-2 {
    padding-inline: 75px;
}

/* First row - 4 columns */
section.hp_gallery .gallery-row-1 {
    grid-template-columns: 277fr 626fr 300fr 435fr;
}

/* Second row - 3 columns */
section.hp_gallery .gallery-row-2 {
    grid-template-columns: 483fr 720fr 475fr;
    margin-top: 40px;
}

/* Ensure images keep aspect ratio */
section.hp_gallery .gallery_item {
    width: 100%;
    height: auto;
    overflow: hidden;
}

section.hp_gallery .gallery_item img {
    transition: var(--transition);
}

section.hp_gallery .desktop {
    display: grid;
}

section.hp_gallery .mobile {
    display: none;
}

/* Aspect ratio definitions */
.item1 {
    aspect-ratio: 277 / 416;
}

.item2 {
    aspect-ratio: 626 / 416;
}

.item3 {
    aspect-ratio: 300 / 416;
}

.item4 {
    aspect-ratio: 435 / 416;
}

.item5 {
    aspect-ratio: 483 / 725;
}

.item6 {
    aspect-ratio: 720 / 725;
}

.item7 {
    aspect-ratio: 475 / 725;
}

@media (max-width: 1400px) {

    section.hp_gallery .gallery-row-1,
    section.hp_gallery .gallery-row-2,
    section.hp_gallery .gallery-row-3,
    section.hp_gallery .gallery-row-4 {
        padding-inline: 30px;
    }

    section.hp_gallery .gallery-row {
        gap: 21px;
    }

    section.hp_gallery .gallery-row-2 {
        margin-top: 21px;
    }
}

@media (max-width: 768px) {
    section.hp_gallery {
        margin-top: 50px;
    }

    header+section.hp_gallery {
        margin-top: 130px;
    }

    section.hp_gallery .mobile {
        display: grid;
        gap: 10px 0;
    }

    section.hp_gallery .desktop {
        display: none;
    }

    /* 4 mobile rows with specific layouts */
    section.hp_gallery .gallery-row-1 {
        grid-template-columns: 1fr 1fr;
        /* 2 items */
    }

    section.hp_gallery .gallery-row {
        gap: 10px;
        margin-top: 0px;
    }

    section.hp_gallery .gallery-row-2 {
        grid-template-columns: 1fr;
    }

    section.hp_gallery .gallery-row-3 {
        grid-template-columns: 0.4fr 0.6fr;
    }

    section.hp_gallery .gallery-row-4 {
        grid-template-columns: 0.6fr 0.4fr;
    }

    .item1 {
        aspect-ratio: 114 / 185;
    }

    .item2 {
        aspect-ratio: 114 / 185;
    }

    .item3 {
        aspect-ratio: 260 / 175;
    }

    .item4 {
        aspect-ratio: 101 / 140;
    }

    .item5 {
        aspect-ratio: 150 / 140;
    }

    .item6 {
        aspect-ratio: 150 / 150;
    }

    .item7 {
        aspect-ratio: 100 / 150;
    }
}

@media (min-width: 1024px) {
    section.hp_gallery .gallery_item:hover img {
        transform: scale(1.05);
    }
}

/********************/
/********TEAM********/
/********************/

section.hp_team {
    position: relative;
    padding-inline: 75px;
    margin-top: 110px;
}

header+section.hp_team {
    position: relative;
    padding-inline: 75px;
    margin-top: 230px;
}

section.hp_team .slider-container {
    position: relative;
    padding-inline: 0;
}

section.hp_team .slider-container::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    /* Cover full container */
    height: 100%;
    background: linear-gradient(90deg,
            rgba(0, 0, 0, 0.4) 0%,
            /* Darker left side */
            rgba(0, 0, 0, 0.25) 10%,
            /* Gradual fade */
            rgba(0, 0, 0, 0) 30%,
            /* Fully transparent center */
            rgba(0, 0, 0, 0) 70%,
            /* Fully transparent center */
            rgba(0, 0, 0, 0.25) 90%,
            /* Gradual fade */
            rgba(0, 0, 0, 0.4) 100%
            /* Darker right side */
        );
    pointer-events: none;
    z-index: 1;
}

section.hp_team .arrows {
    padding: 30px;
    z-index: 2;
}

@media (max-width: 1400px) {
    section.hp_team {
        padding-inline: 30px;
    }

    header+section.hp_team {
        margin-top: 160px;
        padding-inline: 30px;
    }
}

@media (max-width: 1024px) {
    section.hp_team .slider-container::before {
        background: none;
    }
}

@media (max-width: 768px) {
    section.hp_team {
        padding-right: 0;
        margin-top: 20px;
    }

    header+section.hp_team {
        margin-top: 100px;
    }

    section.hp_team .arrows {
        padding: 12px;
        z-index: 2;
    }
}

/********************/
/******CONTACTS******/
/********************/

section.hp_contacts {
    margin-top: 150px;
}