@font-face {
    font-family: GothamBlack;
    src: url('../fonts/Gotham-Black.woff2');
}

@font-face {
    font-family: GothamBlackItalic;
    src: url('../fonts/Gotham-BlackItalic.woff2');
}

@font-face {
    font-family: GothamBold;
    src: url('../fonts/Gotham-Bold.woff2');
}

@font-face {
    font-family: GothamBoldItalic;
    src: url('../fonts/Gotham-BoldItalic.woff2');
}

@font-face {
    font-family: GothamBook;
    src: url('../fonts/Gotham-Book.woff2');
}

@font-face {
    font-family: GothamBookItalic;
    src: url('../fonts/Gotham-BookItalic.woff2');
}

@font-face {
    font-family: GothamLight;
    src: url('../fonts/Gotham-Light.woff2');
}

@font-face {
    font-family: GothamLightItalic;
    src: url('../fonts/Gotham-LightItalic.woff2');
}

@font-face {
    font-family: GothamMedium;
    src: url('../fonts/Gotham-Medium.woff2');
}

@font-face {
    font-family: GothamMediumItalic;
    src: url('../fonts/Gotham-MediumItalic.woff2');
}

@font-face {
    font-family: GothamThin;
    src: url('../fonts/Gotham-Thin.woff2');
}

@font-face {
    font-family: GothamThinItalic;
    src: url('../fonts/Gotham-ThinItalic.woff2');
}

@font-face {
    font-family: GothamUltra;
    src: url('../fonts/Gotham-Ultra.woff2');
}

@font-face {
    font-family: GothamUltraItalic;
    src: url('../fonts/Gotham-UltraItalic.woff2');
}

@font-face {
    font-family: GothamXLight;
    src: url('../fonts/Gotham-XLight.woff2');
}

@font-face {
    font-family: NeutraDispBold;
    src: url('../fonts/NeutraDisp Bold.woff2');
}

@font-face {
    font-family: NeutraDisplayMediumAlt;
    src: url('../fonts/NeutraDisplay-MediumAlt.woff2');
}

@font-face {
    font-family: NeutraTextDemi;
    src: url('../fonts/NeutraText-Demi.woff2');
}

@font-face {
    font-family: NeutraTextBold;
    src: url('../fonts/NeutraTextBold.woff2');
}

@font-face {
    font-family: NeutraTextBook;
    src: url('../fonts/NeutraTextBook.woff2');
}

@font-face {
    font-family: NeutraTextBookAlt;
    src: url('../fonts/NeutraTextBookAlt.woff2');
}

@font-face {
    font-family: NeutraTextDemiAlt;
    src: url('../fonts/NeutraTextDemiAlt.woff2');
}

@font-face {
    font-family: NeutraTextLightAlt;
    src: url('../fonts/NeutraTextLightAlt.woff2');
}

@font-face {
    font-family: VonnesBoldCond;
    src: url('../fonts/Vonnes-BoldCond.woff2');
}

@font-face {
    font-family: VonnesBook;
    src: url('../fonts/Vonnes-Book.woff2');
}

@font-face {
    font-family: VonnesLight;
    src: url('../fonts/Vonnes-Light.woff2');
}

@font-face {
    font-family: VonnesLightComp;
    src: url('../fonts/Vonnes-LightComp.woff2');
}

@font-face {
    font-family: VonnesLightCondItalic;
    src: url('../fonts/Vonnes-LightCondItalic.woff2');
}

@font-face {
    font-family: VonnesMediumComp;
    src: url('../fonts/Vonnes-MediumComp.woff2');
}

@font-face {
    font-family: VonnesMediumCompItalic;
    src: url('../fonts/Vonnes-MediumCompItalic.woff2');
}

body {
    overflow-x: hidden !important;
    font-family: GothamBook;
    color: #424242;
    font-size: 14px;
}

.row {
    width: 100%;
    margin: 0px;
    --bs-gutter-x: 0rem;
}

.text-black {
    color: #424242 !important;
}

strong {
    font-family: GothamMedium;
}

.vh-90 {
    height: 90vh !important;
}

.col {
    padding-left: 0rem !important;
}

.hero-background-line {
    background: #41404299;
    height: 300px;
    width: 100%;
    position: relative;
    border-right-width: 20px;
    border-right-color: #FFC82880;
    border-right-style: solid;
}

.hero-title {
    font-family: VonnesLightComp;
    font-weight: 300;
    font-size: 50px;
    letter-spacing: -0.4%;
    line-height: 1;
    max-width: 25rem;
}

.hero-title strong {
    font-family: VonnesMediumComp;
    font-size: 3.5rem;
    letter-spacing: -0.4%;
    line-height: 1;
    vertical-align: middle;
}

.hero-subtitle {
    font-family: VonnesLightComp;
    font-weight: 300;
    font-size: 23px;
    line-height: 1;
    letter-spacing: -0.4%;
    max-width: 284px;
}

.mb-0 {
    margin-bottom: 0rem !important;
}

.p-5 {
    padding: 8rem;
}

.m-5 {
    margin: 8rem;
}

.video-responsive {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    padding-top: 30px;
    position: relative;
}

.video-responsive-item {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.aniversary-logo {
    position: absolute;
    left: 60%;
    top: 70%;
}

.aniversary-logo-sm {
    position: absolute;
    right: 25%;
    top: 60%;
    transform: translateY(3rem);
}

.title {
    font-family: VonnesMediumComp;
    font-weight: 500;
    font-size: 25px;
    line-height: 26px;
    letter-spacing: -0.4%;
}

.col-background {
    background-image: url('../images/column_background.svg?v=1.12');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

ul li::marker {
    color: #FFC828;
    font-size: 30px;
    list-style-type: disc;
}

.menu-ul a {
    color: #FFFFFF;
    text-decoration: none;
}

.menu-ul li::marker {
    color: #FFC828;
    font-size: 60px;
    line-height: 15px;
    list-style-type: disc;
}

.menu-ul li span {
    position: relative;
    top: -10px;
}

.submenu-ul {
    list-style-type: disc;
}

.submenu-ul li::marker {
    color: #FFC828;
    font-size: 30px;
}

.submenu-ul li span {
    font-size: 0.8rem;
    top: -4px;
}

.carousel-control-prev-icon {
    background-image: url('../images/carousel_previous.svg?v=1.12');
}

.carousel-control-next-icon {
    background-image: url('../images/carousel_next.svg?v=1.12');
}

.carousel-control-next,
.carousel-control-prev {
    opacity: 1.0;
    width: 10%;
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    width: 3rem;
    height: 3rem;
}

.carousel-indicators [data-bs-target] {
    background-color: #D9D9D9;
    border-radius: 50%;
    width: 0.5rem !important;
    height: 0.5rem !important;
    transform: translateY(1rem);
    margin: 5px !important;
}

.carousel-indicators .active {
    background-color: #FFC828;
}

.special-text {
    font-family: VonnesMediumCompItalic;
    font-size: 20px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: -0.4%;
    color: #000000;
}

.subtitle {
    font-family: VonnesMediumComp;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: -0.4%;
    color: #000000;
}

label {
    font-family: VonnesMediumComp;
    font-weight: 500;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: -0.4%;
    text-transform: capitalize;
    margin-left: 0.6rem;
    transform: translateY(-2.8rem);
}

.label-icon {
    margin-left: 2rem;
    transform: translateY(-3rem);
}

.label-thumbnail {
    color: #FFFFFF;
    position: relative;
    width: 100%;
    margin-left: 0px;
    padding: 1rem;
    transform: translateY(-3rem);
    border-right: 1rem solid #FFC828CC;
    text-shadow: 0px 0px 20px #000000, 0px 0px 20px #000000, 0px 0px 20px #000000, 0px 0px 20px #000000;
}

.language-buttons {
    background-color: #F2F2F2 !important;
    border-color: #F2F2F2;
    font-family: VonnesMediumComp;
    text-transform: uppercase;
    color: #000000;
}

.language-button-active {
    background-color: #F2F2F2 !important;
    border-color: #F2F2F2;
    font-family: VonnesMediumComp;
    text-transform: uppercase;
    color: #000000;
    text-decoration: underline;
    text-decoration-color: #FFC828;
    text-decoration-thickness: 0.2rem;
}

.menu-link {
    cursor: pointer !important;
    color: #424242;
    font-size: 1rem;
    font-family: VonnesMediumComp;
    text-transform: uppercase;
    text-decoration: none;
    margin-left: 2rem;
    margin-right: 2rem;
    line-height: 2.3rem;
}


.language-buttons:hover {
    background-color: #E0E0E0 !important;
    border-color: #F2F2F2;
}

.modal-content {
    border-radius: 0 !important;
    background-size: cover;
    overflow-x: hidden;
    font-family: VonnesMediumComp;
    font-size: 1rem;
    color: #FFFFFF;
}

.bg-yellow {
    background-color: #FFC828CC;
}

.bullet::before {
    content: "•";
    font-size: 1.5rem;
    padding-right: 8px;
    color: #FFC828CC;
}

.text-8 {
    font-size: 12px !important;
}

/* 1. Smartphones (Portrait) - Small devices, phones (< 600px) */
@media only screen and (min-width: 320px) {

    .vertical-line {
        position: absolute;
        right: 0px;
        width: 15px;
        height: 350px;
        background-color: #FFC828;
        top: 50%;
        transform: translateY(-50%);
        opacity: 0.7;
    }

    .modal-content {
        background-image: url('../images/menu-background-sm.png?v=1.12') !important;
    }

    .lg {
        display: none !important;
    }

    .sm {
        display: block !important;
    }

    .hero-banner {
        height: 600px;
        position: relative !important;
    }

    .hero-text {
        vertical-align: middle;
        position: absolute;
        left: 15%;
        top: 50%;
        transform: translateY(-50%);
        color: #FFFFFF;
    }

    .plr-4 {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }

    .plr-2 {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    .thumbnail {
        width: 290px;
        height: 250px;
        object-fit: cover;
    }

    .thumbnail-container {
        position: relative;
        margin-top: 15px;
    }

    .thumbnails {
        display: flex;
        overflow-x: auto;
        scroll-behavior: smooth;
        gap: 10px;
        padding: 10px 0px;
    }
}

/* 3. Desktops/Laptops - Medium devices, laptops (≥ 992px) */
@media only screen and (min-width: 992px) {

    .vertical-line {
        position: absolute;
        right: 0px;
        width: 20px;
        height: 450px;
        background-color: #FFC828;
        top: 50%;
        transform: translateY(-50%);
        opacity: 0.7;
    }

    .modal-content {
        background-image: url('../images/menu-background-lg.png?v=1.12') !important;
    }

    .lg {
        display: flex !important;
    }

    .sm {
        display: none !important;
    }

    .hero-banner {
        height: 550px;
        position: relative !important;
    }

    .main-logo {
        position: absolute;
        bottom: -28%;
        width: 45%;
        left: 50%;
        transform: translate(-50%, -46%);
    }

    .hero-text {
        vertical-align: middle;
        position: absolute;
        left: 60%;
        color: #FFFFFF;
    }

    .home-horizontal-line {
        width: 100%;
        position: absolute;
        height: 8% !important;
        bottom: 30%;
        background-color: #FFC82880;
        vertical-align: middle;
    }

    .plr-4 {
        padding-left: 6rem !important;
        padding-right: 6rem !important;
    }

    .plr-2 {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }

    .main-image {
        height: auto;
        object-fit: cover;
        width: 100%;
    }

    .thumbnail-container {
        position: relative;
        margin-top: 15px;
    }

    .thumbnails {
        display: flex;
        overflow-x: auto;
        scroll-behavior: smooth;
        gap: 10px;
        padding: 10px 0px;
    }

    .thumbnails::-webkit-scrollbar {
        display: none;
    }

    .thumbnail {
        width: 250px;
        height: 250px;
        object-fit: cover;
        cursor: pointer;
        opacity: 0.6;
        transition: 0.3s;
    }

    .thumbnail-wraper {
        background-color: #000000;
    }

    .thumbnail.active {
        opacity: 1;
    }

}

.arrow {
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 45px;
    height: 45px;
    z-index: 10;
}

.arrow-left {
    left: 25px;
}

.arrow-right {
    right: 30px;
}