/*=========================
  FONTS
=========================*/
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 400;
    src: local('Montserrat Regular'), local('Montserrat-Regular'), url(https://fonts.gstatic.com/s/montserrat/v12/JTUSjIg1_i6t8kCHKm459Wlhzg.ttf) format('truetype')
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 600;
    src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'), url(https://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_bZF3gnD-w.ttf) format('truetype')
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 700;
    src: local('Montserrat Bold'), local('Montserrat-Bold'), url(https://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_dJE3gnD-w.ttf) format('truetype')
}

@font-face {
    font-family: Roboto;
    font-style: normal;
    font-weight: 400;
    src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxP.ttf) format('truetype')
}

@font-face {
    font-family: Roboto;
    font-style: normal;
    font-weight: 700;
    src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfBBc9.ttf) format('truetype')
}

/*=========================
  VARIABLES
=========================*/
:root {
    --fiu-blue: #081E3F;
    --fiu-gold: #B6862C;

    --primary-color: var(--fiu-blue);

    /* lighter and darker variants of primary color*/
    --primary-light: color-mix(in srgb, var(--primary-color), white 20%);
    --primary-dark: color-mix(in srgb, var(--primary-color), black 20%);

    --primary-light-lighter: color-mix(in srgb, var(--primary-light), white 20%);


    --secondary-color: var(--fiu-gold);

    /* lighter and darker variants of secondary color*/
    --secondary-color-light: color-mix(in srgb, var(--secondary-color), white 20%);
    --secondary-color-dark: color-mix(in srgb, var(--secondary-color), black 20%);

    --secondary-light-lighter: color-mix(in srgb, var(--secondary-color-light), white 20%);
}

/*=========================
    BASE STYLES
=========================*/
body,
html {
    margin: 0;
    padding: 0;
    height: 100%;
    scroll-behavior: smooth;
}

.py-6 {
    padding: 4rem 0;
}

.py-7 {
    padding: 5rem 0;
}

.logo {
    max-height: 4rem;
    transition: all 0.4s ease;
}

.section,
section {
    padding: 80px 0;
}

.position-relative {
    position: relative;
}

.bg-fiu-blue {
    background-color: var(--fiu-blue);
}

.bg-fiu-gold {
    background-color: var(--fiu-gold);
}

/*=========================
    NAVBAR
=========================*/
.navbar {
    /* semi-transparent black */
    background-color: rgba(0, 0, 0, 0.5) !important;
    transition: background-color 0.4s ease, box-shadow 0.4s ease;
}

.navbar.scrolled {
    background-color: rgba(255, 255, 255, 0.95) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.navbar .nav-link,
.navbar .navbar-brand {
    color: #fff !important;
    transition: color 0.4s ease;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 500;
    font-size: 0.8rem;
}

.navbar.scrolled .nav-link,
.navbar.scrolled .navbar-brand {
    color: #000 !important;
}

.navbar .nav-link:hover {
    color: rgba(255, 255, 255, 0.7) !important;
}

@media (max-width: 991px) {

    /* When the mobile menu (navbar collapse) is open */
    .navbar.show-menu {
        background-color: rgba(255, 255, 255, 0.95) !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }

    .navbar.show-menu .nav-link,
    .navbar.show-menu .navbar-brand {
        color: #000 !important;
    }

    .navbar.show-menu .navbar-toggler-icon {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0,0,0,0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    }

    .nav-link.line-bellow::after {
        display: none;
    }

}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav {
        gap: 0.9rem;
    }
}

.navbar.scrolled .nav-link:hover {
    color: rgba(0, 0, 0, 0.6) !important;
}

.navbar-nav {
    margin: 0 auto;
}



/*=========================
    NAVBAR TOGGLER
=========================*/
.navbar .navbar-toggler {
    border-color: transparent;
}

.navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

.navbar.scrolled .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0,0,0,0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

.navbar-toggler:focus {
    outline: none;
    box-shadow: none;
}

/*=========================
    NAV-LINK UNDERLINE
  =========================*/
.nav-link.line-bellow {
    display: inline-block;
    position: relative;
}

.nav-link.line-bellow::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 3rem;
    height: 2px;
    background-color: white;
    border-radius: 1px;
    transition: background-color 0.4s ease;
}

.navbar.scrolled .nav-link.line-bellow::after {
    background-color: black;
}

/*=========================
    ABOUT
  =========================*/

.more-btn {
    appearance: none;
    border: 0;
    background: none;
    padding: 0;
    font: inherit;
    color: #0b63c7;
    cursor: pointer;
    text-decoration: underline;
}

.more-btn:focus {
    outline: 2px solid #0b63c7;
    outline-offset: 3px;
}

/* Smooth reveal container */
.letter-rest {
    overflow: hidden;
    max-height: 0;
    /* collapsed */
    transition: max-height 320ms ease;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .letter-rest {
        transition: none;
    }
}

.btn-read-more {
    font-size: 1rem !important;
}

@media (min-width:768px) {
    .about-icon {
        margin-left: -.5rem;
    }
}


/*=========================
    BUTTONS
  =========================*/
.btn {
    border-radius: 0rem !important;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: .10rem !important;
    padding: .7rem 1.2rem;
    font-weight: 600;
}


.btn-primary-outlined {
    background-color: white;
    border: solid 2px var(--primary-color);
    color: var(--primary-color);
    font-weight: 600;
}

.btn-secondary-outlined:hover {
    background-color: var(--secondary-color);
    color: white;
}

.btn-secondary-outlined:active {
    background-color: var(--secondary-color) !important;
    color: white !important;
    border-color: var(--secondary-color) !important;
}

.btn-secondary-outlined {
    background-color: white;
    border: solid 2px var(--secondary-color);
    color: var(--secondary-color);
    font-weight: 600;
}

.btn-primary-outlined:hover {
    background-color: var(--primary-color);
    color: white;
}

.btn-primary-outlined:active {
    background-color: var(--primary-color) !important;
    color: white !important;
    border-color: var(--primary-color) !important;
}


.btn-primary {
    color: #fff !important;
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.btn-primary:hover {
    color: #fff !important;
    background-color: var(--primary-light) !important;
    border-color: var(--primary-light) !important;
}

.btn-primary-light {
    color: #fff !important;
    background-color: var(--primary-light) !important;
    border-color: var(--primary-light) !important;
}

.btn-primary-light:hover {
    color: #fff !important;
    background-color: var(--primary-light-lighter) !important;
    border-color: var(--primary-light-lighter) !important;
}

.btn-secondary {
    color: #fff !important;
    background-color: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
}

.btn-secondary:hover {
    color: #fff !important;
    background-color: var(--secondary-color-light) !important;
    border-color: var(--secondary-color-light) !important;
}

.bg-primary {
    background-color: var(--primary-color) !important;
}

.bg-secondary {
    background-color: var(--secondary-color) !important;
}

.bg-primary-light {
    background-color: var(--primary-light-lighter) !important;
}

.bg-secondary-light {
    background-color: var(--secondary-light-lighter) !important;
}

.btn-transparent-light {
    color: #fff;
    border-color: #fff;
    border-width: 2px;
}

.btn-transparent-light:hover {
    background-color: var(--primary-light);
    border-color: var(--primary-light);
    color: #fff;
}

.btn-transparent-light:active {
    background-color: var(--primary-light) !important;
    border-color: var(--primary-light) !important;
    color: #fff !important;
}

.btn-xxl {
    padding: 1rem 2rem;
    font-size: 1.25rem;
    border-radius: 0.5rem;
}


/*=========================
    TEXT COLORS
  =========================*/
.text-primary {
    color: var(--primary-color) !important;
}

.text-secondary {
    color: var(--secondary-color) !important;
}

.text-dark {
    color: #212529;
}

/*=========================
    LETTER SPACING
  =========================*/
.letter-spacing-1 {
    letter-spacing: 1px !important;
}

.letter-spacing-2 {
    letter-spacing: .125rem !important;
}

.letter-spacing-3 {
    letter-spacing: 0.2rem !important;
}

.letter-spacing-4 {
    letter-spacing: 0.3rem !important;
}

.letter-spacing-5 {
    letter-spacing: 0.5rem !important;
}

.font-w-700 {
    font-weight: 700 !important;
}

.font-weight-600 {
    font-weight: 600;
}

.font-alt {
    font-family: Montserrat, sans-serif !important;
}

.title-small {
    font-size: 1.375rem !important;
    line-height: 1.875rem !important;
}

.text-medium {
    font-size: 1rem !important;
    line-height: 1.5rem !important;
}



/*=========================
    LINES BELLOW
  =========================*/
.primary-line-bellow-center {
    position: relative;
}

.primary-line-bellow-center::after {
    content: '';
    position: absolute;
    bottom: -1.5em;
    left: 50%;
    transform: translateX(-50%);
    width: 5rem;
    height: 6px;
    background-color: var(--secondary-color);
    border-radius: 1px;
}

.primary-line-bellow-left {
    position: relative;
}

.primary-line-bellow-left::after {
    content: '';
    position: absolute;
    bottom: -1.5rem;
    left: 0;
    width: 5rem;
    height: 6px;
    background-color: var(--secondary-color);
    border-radius: 1px;
}

.primary-line-bellow-center--small::after {
    bottom: -.2em;
    width: .7em;
    height: 4px;
}

.primary-line-bellow-center--gray-wide::after {
    background-color: #e9ecef;
    bottom: -.2em;
    width: 100%;
    height: 1px;
}

/*=========================
    MARGINS
  =========================*/

.mb-6 {
    margin-bottom: 4rem;
}

.mb-7 {
    margin-bottom: 5rem;
}

.mt-6 {
    margin-top: 4rem;
}

.mt-7 {
    margin-top: 5rem;
}

.mt-n1 {
    margin-top: -.25rem;
}

.mt-n2 {
    margin-top: -.50rem;
}

.mt-n3 {
    margin-top: -1rem;
}

.mt-n4 {
    margin-top: -2rem;
}

.mt-n5 {
    margin-top: -3rem;
}

.mt-n6 {
    margin-top: -4rem;
}

.mt-n7 {
    margin-top: -5rem;
}

.mt-n8 {
    margin-top: -6rem;
}

.mt-45 {
    margin-top: 2.8125rem;
}

.mb-30 {
    margin-bottom: 1.875rem;
}



/*=========================
    MARGINS
  =========================*/
.pt-165 {
    padding-top: 10.3125rem;
    /* 165 */
}

.pb-25 {
    padding-bottom: 1.5625rem;
    /* 25 */
}

.pt-25 {
    padding-top: 1.5625rem;
    /* 25 */
}

.pl-25 {
    padding-left: 1.5625rem;
    /* 25 */
}

@media (max-width: 991px) {
    .pl-25 {
        padding-left: 0px;
    }
}

.pl-30 {
    padding-left: 1.875rem;
    /* 30 */
}

.pl-60 {
    padding-left: 3.75rem;
    /* 60 */
}


/*=========================
    HERO SECTION
  =========================*/
.hero {
    height: 100vh;
    /*background: url('https://images.unsplash.com/photo-1503264116251-35a269479413?auto=format&fit=crop&w=1470&q=80') no-repeat center center
        fixed
    ;*/
    background: url("../assets/img/placeholders/hero-placeholder.jpg") no-repeat center center
    fixed
  ;
    /*uncomment 'fixed' for a parallax effect*/
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
}

.hero h1 {
    font-size: 4rem;
    font-weight: bold;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.4);
}

.static-hero-section {
    padding-top: 5.625rem !important;
    width: 100%;
    overflow: hidden;
}

.static-hero-img {
    background: url("https://images.unsplash.com/photo-1503264116251-35a269479413?auto=format&fit=crop&w=1470&q=80") no-repeat center center;
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    object-position: center;
}

/* Only make it full-viewport height on LARGE screens */
@media (min-width: 2700px) {

    /* lg and up, adjust if needed */
    .static-hero-section {
        height: 100vh;
    }

    .static-hero-img {
        height: 100%;
    }
}


/*=========================
    BG IMAGE SECTIONS
  =========================*/
.venue-section {
    /*background: url('https://images.unsplash.com/photo-1503264116251-35a269479413?auto=format&fit=crop&w=1470&q=80') no-repeat center center fixed
    ;*/

    background: url('../assets/img/placeholders/hero-placeholder.jpg') no-repeat center center fixed;

    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    height: max-content;
}

@media (max-width: 768px) {

    /*.venue-section {
        background: url('https://images.unsplash.com/photo-1503264116251-35a269479413?auto=format&fit=crop&w=1470&q=80') no-repeat center center;
    }*/
    .venue-section {
        background: url('../assets/img/placeholders/venue-placeholder.jpg') no-repeat center center;
    }
}


.d-table-cell {
    display: table-cell !important;
}

.font-w-600 {
    font-weight: 600 !important;
}

.text-gray-700 {
    color: #495057 !important;
}

.text-extra-small {
    font-size: .6875rem !important;
    line-height: 1rem !important;
}


.right-0 {
    right: 0 !important;
}

.text-white {
    color: #fff !important;
}

.bottom-0 {
    bottom: 0 !important;
}

.position-absolute {
    position: absolute !important;
}

.label-small {
    font-size: .625rem;
    padding: .625rem .875rem;
}

.label,
label {
    font-family: Montserrat, sans-serif;
    font-size: .6875rem;
    font-weight: 600;
    border-radius: 2px;
    letter-spacing: .0625rem;
    padding: .75rem 1rem;
}


@media (min-width: 576px) {
    .border-sm {
        border: 1px solid rgba(0, 0, 0, .1)
    }

    .border-sm-top {
        border-top: 1px solid rgba(0, 0, 0, .1)
    }

    .border-sm-right {
        border-right: 1px solid rgba(0, 0, 0, .1)
    }

    .border-sm-bottom {
        border-bottom: 1px solid rgba(0, 0, 0, .1)
    }

    .border-sm-left {
        border-left: 1px solid rgba(0, 0, 0, .1)
    }

    .btn.btn-sm-extra-small {
        font-size: .5625rem;
        padding: .625rem 1rem
    }

    .btn.btn-sm-small {
        font-size: .625rem;
        padding: .9375rem 1.25rem .75rem
    }

    .btn.btn-sm-medium {
        font-size: .75rem;
        padding: 1.0625rem 1.875rem .9375rem
    }

    .btn.btn-sm-large {
        font-size: .8125rem;
        padding: 1.125rem 2.25rem
    }

    .btn.btn-sm-extra-large {
        font-size: 1rem;
        padding: 1.375rem 2.75rem
    }

    .rounded-left-sm-0 {
        border-bottom-left-radius: 0 !important;
        border-top-left-radius: 0 !important
    }

    .rounded-right-sm-0 {
        border-bottom-right-radius: 0 !important;
        border-top-right-radius: 0 !important
    }

    .text-sm-extra-small {
        font-size: .6875rem !important;
        line-height: 1rem !important
    }

    .text-sm-small {
        font-size: .875rem !important;
        line-height: 1.3125rem !important
    }

    .text-small {
        font-size: .875rem !important;
        line-height: 1.3125rem !important
    }

    .text-sm-medium {
        font-size: 1rem !important;
        line-height: 1.5rem !important
    }

    .text-sm-large {
        font-size: 1.125rem !important;
        line-height: 1.6875rem !important
    }

    .text-sm-extra-large {
        font-size: 1.25rem !important;
        line-height: 1.6875rem !important
    }

    .title-sm-small {
        font-size: 1.375rem !important;
        line-height: 1.875rem !important
    }

    .title-sm-medium {
        font-size: 1.5rem !important;
        line-height: 2.125rem !important
    }

    .title-sm-large {
        font-size: 1.75rem !important;
        line-height: 2.375rem !important
    }

    .title-sm-extra-large {
        font-size: 2.25rem !important;
        line-height: 2.875rem !important
    }

    .title-sm-extra-large-2 {
        font-size: 2.75rem !important;
        line-height: 3.375rem !important
    }

    .title-sm-extra-large-3 {
        font-size: 3.125rem !important;
        line-height: 3.75rem !important
    }

    .title-sm-extra-large-4 {
        font-size: 4.375rem !important;
        line-height: 5rem !important
    }

    .title-sm-extra-large-5 {
        font-size: 5rem !important;
        line-height: 5.625rem !important
    }

    .title-sm-big {
        font-size: 6.25rem !important;
        line-height: 6.25rem !important
    }

    .title-sm-big-2 {
        font-size: 7.75rem !important;
        line-height: 7.75rem !important
    }

    .title-sm-big-3 {
        font-size: 9.375rem !important;
        line-height: 9.375rem !important
    }

}

@media (min-width: 768px) {
    .border-md {
        border: 1px solid rgba(0, 0, 0, .1)
    }

    .border-md-top {
        border-top: 1px solid rgba(0, 0, 0, .1)
    }

    .border-md-right {
        border-right: 1px solid rgba(0, 0, 0, .1)
    }

    .border-md-bottom {
        border-bottom: 1px solid rgba(0, 0, 0, .1)
    }

    .border-md-left {
        border-left: 1px solid rgba(0, 0, 0, .1)
    }

    .btn.btn-md-extra-small {
        font-size: .5625rem;
        padding: .625rem 1rem
    }

    .btn.btn-md-small {
        font-size: .625rem;
        padding: .9375rem 1.25rem .75rem
    }

    .btn.btn-md-medium {
        font-size: .75rem;
        padding: 1.0625rem 1.875rem .9375rem
    }

    .btn.btn-md-large {
        font-size: .8125rem;
        padding: 1.125rem 2.25rem
    }

    .btn.btn-md-extra-large {
        font-size: 1rem;
        padding: 1.375rem 2.75rem
    }

    .rounded-left-md-0 {
        border-bottom-left-radius: 0 !important;
        border-top-left-radius: 0 !important
    }

    .rounded-right-md-0 {
        border-bottom-right-radius: 0 !important;
        border-top-right-radius: 0 !important
    }

    .section,
    section {
        padding: 110px 0;
    }

    .text-md-extra-small {
        font-size: .6875rem !important;
        line-height: 1rem !important
    }

    .text-md-small {
        font-size: .875rem !important;
        line-height: 1.3125rem !important
    }

    .text-md-medium {
        font-size: 1rem !important;
        line-height: 1.5rem !important
    }

    .text-md-large {
        font-size: 1.125rem !important;
        line-height: 1.6875rem !important
    }

    .text-md-extra-large {
        font-size: 1.25rem !important;
        line-height: 1.6875rem !important
    }

    .title-md-small {
        font-size: 1.375rem !important;
        line-height: 1.875rem !important
    }

    .title-md-medium {
        font-size: 1.5rem !important;
        line-height: 2.125rem !important
    }

    .title-md-large {
        font-size: 1.75rem !important;
        line-height: 2.375rem !important
    }

    .title-md-extra-large {
        font-size: 2.25rem !important;
        line-height: 2.875rem !important
    }

    .title-md-extra-large-2 {
        font-size: 2.75rem !important;
        line-height: 3.375rem !important
    }

    .title-md-extra-large-3 {
        font-size: 3.125rem !important;
        line-height: 3.75rem !important
    }

    .title-md-extra-large-4 {
        font-size: 4.375rem !important;
        line-height: 5rem !important
    }

    .title-md-extra-large-5 {
        font-size: 5rem !important;
        line-height: 5.625rem !important
    }
}

@media (min-width: 992px) {
    .border-lg {
        border: 1px solid rgba(0, 0, 0, .1)
    }

    .border-lg-top {
        border-top: 1px solid rgba(0, 0, 0, .1)
    }

    .border-lg-right {
        border-right: 1px solid rgba(0, 0, 0, .1)
    }

    .border-lg-bottom {
        border-bottom: 1px solid rgba(0, 0, 0, .1)
    }

    .border-lg-left {
        border-left: 1px solid rgba(0, 0, 0, .1)
    }

    .btn.btn-lg-extra-small {
        font-size: .5625rem;
        padding: .625rem 1rem
    }

    .btn.btn-lg-small {
        font-size: .625rem;
        padding: .9375rem 1.25rem .75rem
    }

    .btn.btn-lg-medium {
        font-size: .75rem;
        padding: 1.0625rem 1.875rem .9375rem
    }

    .btn.btn-lg-large {
        font-size: .8125rem;
        padding: 1.125rem 2.25rem
    }

    .btn.btn-lg-extra-large {
        font-size: 1rem;
        padding: 1.375rem 2.75rem
    }

    .rounded-left-lg-0 {
        border-bottom-left-radius: 0 !important;
        border-top-left-radius: 0 !important
    }

    .rounded-right-lg-0 {
        border-bottom-right-radius: 0 !important;
        border-top-right-radius: 0 !important
    }

    .section,
    section {
        padding: 140px 0
    }

    .text-lg-extra-small {
        font-size: .6875rem !important;
        line-height: 1rem !important
    }

    .text-lg-small {
        font-size: .875rem !important;
        line-height: 1.3125rem !important
    }

    .text-lg-medium {
        font-size: 1rem !important;
        line-height: 1.5rem !important
    }

    .text-lg-large {
        font-size: 1.125rem !important;
        line-height: 1.6875rem !important
    }

    .text-lg-extra-large {
        font-size: 1.25rem !important;
        line-height: 1.6875rem !important
    }

    .title-lg-small {
        font-size: 1.375rem !important;
        line-height: 1.875rem !important
    }

    .title-lg-medium {
        font-size: 1.5rem !important;
        line-height: 2.125rem !important
    }

    .title-lg-large {
        font-size: 1.75rem !important;
        line-height: 2.375rem !important
    }

    .title-lg-extra-large {
        font-size: 2.25rem !important;
        line-height: 2.875rem !important
    }

    .title-lg-extra-large-2 {
        font-size: 2.75rem !important;
        line-height: 3.375rem !important
    }

    .title-lg-extra-large-3 {
        font-size: 3.125rem !important;
        line-height: 3.75rem !important
    }

    .title-lg-extra-large-4 {
        font-size: 4.375rem !important;
        line-height: 5rem !important
    }

    .title-lg-extra-large-5 {
        font-size: 5rem !important;
        line-height: 5.625rem !important
    }

    .title-lg-big {
        font-size: 6.25rem !important;
        line-height: 6.25rem !important
    }

    .title-lg-big-2 {
        font-size: 7.75rem !important;
        line-height: 7.75rem !important
    }

    .title-lg-big-3 {
        font-size: 9.375rem !important;
        line-height: 9.375rem !important
    }
}

@media (min-width: 1200px) {
    .border-xl {
        border: 1px solid rgba(0, 0, 0, .1)
    }

    .border-xl-top {
        border-top: 1px solid rgba(0, 0, 0, .1)
    }

    .border-xl-right {
        border-right: 1px solid rgba(0, 0, 0, .1)
    }

    .border-xl-bottom {
        border-bottom: 1px solid rgba(0, 0, 0, .1)
    }

    .border-xl-left {
        border-left: 1px solid rgba(0, 0, 0, .1)
    }

    .btn.btn-xl-extra-small {
        font-size: .5625rem;
        padding: .625rem 1rem
    }

    .btn.btn-xl-small {
        font-size: .625rem;
        padding: .9375rem 1.25rem .75rem
    }

    .btn.btn-xl-medium {
        font-size: .75rem;
        padding: 1.0625rem 1.875rem .9375rem
    }

    .btn.btn-xl-large {
        font-size: .8125rem;
        padding: 1.125rem 2.25rem
    }

    .btn.btn-xl-extra-large {
        font-size: 1rem;
        padding: 1.375rem 2.75rem
    }

    .rounded-left-xl-0 {
        border-bottom-left-radius: 0 !important;
        border-top-left-radius: 0 !important
    }

    .rounded-right-xl-0 {
        border-bottom-right-radius: 0 !important;
        border-top-right-radius: 0 !important
    }

    ::-webkit-scrollbar {
        width: 12px
    }

    ::-webkit-scrollbar-track {
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
        -moz-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
        box-shadow: inset 0 0 6px rgba(0, 0, 0, .3)
    }

    ::-webkit-scrollbar-thumb {
        background: rgba(210, 210, 210, .8);
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .5);
        -moz-box-shadow: inset 0 0 6px rgba(0, 0, 0, .5);
        box-shadow: inset 0 0 6px rgba(0, 0, 0, .5)
    }

    .section,
    section {
        padding: 150px 0
    }

    .text-xl-extra-small {
        font-size: .6875rem !important;
        line-height: 1rem !important
    }

    .text-xl-small {
        font-size: .875rem !important;
        line-height: 1.3125rem !important
    }

    .text-xl-medium {
        font-size: 1rem !important;
        line-height: 1.5rem !important
    }

    .text-xl-large {
        font-size: 1.125rem !important;
        line-height: 1.6875rem !important
    }

    .text-xl-extra-large {
        font-size: 1.25rem !important;
        line-height: 1.6875rem !important
    }

    .title-xl-small {
        font-size: 1.375rem !important;
        line-height: 1.875rem !important
    }

    .title-xl-medium {
        font-size: 1.5rem !important;
        line-height: 2.125rem !important
    }

    .title-xl-large {
        font-size: 1.75rem !important;
        line-height: 2.375rem !important
    }

    .title-xl-extra-large {
        font-size: 2.25rem !important;
        line-height: 2.875rem !important
    }

    .title-xl-extra-large-2 {
        font-size: 2.75rem !important;
        line-height: 3.375rem !important
    }

    .title-xl-extra-large-3 {
        font-size: 3.125rem !important;
        line-height: 3.75rem !important
    }

    .title-xl-extra-large-4 {
        font-size: 4.375rem !important;
        line-height: 5rem !important
    }

    .title-xl-extra-large-5 {
        font-size: 5rem !important;
        line-height: 5.625rem !important
    }

    .title-xl-big {
        font-size: 6.25rem !important;
        line-height: 6.25rem !important
    }

    .title-xl-big-2 {
        font-size: 7.75rem !important;
        line-height: 7.75rem !important
    }

    .title-xl-big-3 {
        font-size: 9.375rem !important;
        line-height: 9.375rem !important
    }
}

@media (min-width: 1400px) {
    .title-xxl-extra-large-5 {
        font-size: 5rem !important;
        line-height: 5.625rem !important
    }
}

.text-white-80 {
    color: rgb(255, 255, 255, .8);
}

.title-extra-large-2 {
    font-size: 2.75rem !important;
    line-height: 3.375rem !important;
}

.title-extra-large-4 {
    font-size: 4.375rem !important;
    line-height: 5rem !important
}

.bg-primary {
    background-color: var(--primary-color);
}

.bg-primary--light {
    background-color: var(--primary-light);
}

.bg-secondary {
    background-color: var(--secondary-color);
}

.bg-secondary--light {
    background-color: var(--secondary-color-light);
}

.text-gray-600 {
    color: #868e96 !important
}

.title-medium {
    font-size: 1.5rem !important;
    line-height: 2.125rem !important;
}

.title-large {
    font-size: 1.75rem !important;
    line-height: 2.375rem !important
}

.width-600 {
    width: 600px !important;
}

.max-width-300 {
    max-width: 300px;
}

.max-width-350 {
    max-width: 350px;
}

/*=========================
   SPEAKERS SECTION
=========================*/
/*#speakers a {
    text-decoration: none !important;
    color: var(--primary-color);
}*/

.speaker-card {
    /* width: 260px; */
    /* adjust as needed or make 100% in small columns */
    overflow: hidden;
    background-color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.speaker-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

/* IMAGE */
.speaker-card__image {
    position: relative;
    /* required for absolute badge */
}

.speaker-card__image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    /* keeps crop nice if you give it a fixed height later */
}

/* BADGE */
.speaker-card__badge {
    position: absolute;
    bottom: 0.75rem;
    right: 0.75rem;
    background-color: var(--primary-color);
    /* FIU Gold */
    color: #ffffff;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    z-index: 2;
}

/* INFO BAR */
.speaker-card__info {
    background-color: #081E3F;
    /* FIU blue */
    padding: 1rem 1.25rem;
    color: #ffffff;
    display: flex;
    flex-direction: column;
}

/* NAME */
.speaker-card__name {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
}

/* COMPANY */
.speaker-card__company {
    margin: 0 0 0.15rem;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: capitalize !important;
}

/* TITLE (and general subtitle style) */
.speaker-card__title {
    margin: 0;
    font-size: 0.85rem;
    font-weight: 300;
}

/* Collapsing extra text */
.speaker-card__extra {
    max-height: 0;
    /* fully hidden initially */
    overflow: hidden;
    transition: max-height 0.6s ease;
    font-size: 0.85rem;
    font-weight: 300;
    margin-top: 0.35rem;
    color: #ffffff;
    gap: 0.2rem;
}

/* Expanded state – big enough to fit expected content */
.speaker-card__extra--open {
    max-height: 300px;
}

/* Read more / Less – link-style button */
.speaker-card__more-toggle {
    padding: 0;
    border: none;
    background: none;
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
    align-self: flex-start;
}

/* Optional: hover state for the link */
.speaker-card__more-toggle:hover,
.speaker-card__more-toggle:focus {
    text-decoration: none;
}

#speakers .fa-brands {
    font-size: 1.5rem;
    text-decoration: none !important;
}

/*=========================
    FAQs SECTION
=========================*/
.nav-tabs {
    border: 0;
    display: inline-block;
}

.nav-tabs .nav-item:first-child .nav-link {
    border-left: 1px solid #ced4da !important;
    /*border-bottom-left-radius: 3px;
    border-top-left-radius: 3px;*/
}

.tabs-blue .nav-link.active {
    background-color: var(--secondary-color);
    color: #fff;
}

.nav-tabs .nav-link {
    border: 1px solid #ced4da !important;
    border-left: 0 !important;
    border-radius: 0;
    color: #495057;
}

.accordion>.card {
    margin-bottom: 17px
}

.accordion>.card:first-of-type,
.accordion>.card:not(:first-of-type):not(:last-of-type) {
    border-bottom: 1px solid rgba(0, 0, 0, .125);
    border-radius: .25rem
}

.accordion>.card:last-child {
    margin-bottom: 0
}

.accordion .card-header {
    background-color: #fff;
    padding: 0 0 0 20px
}

.accordion .card-header a {
    color: var(--primary-dark);
}

.accordion .card-header a,
.accordion .card-header a:before {
    padding: .875rem 1.25rem;
    display: block
}

.accordion .card-header a:before {
    color: #868e96;
    content: '\f106';
    height: 45px;
    left: 0;
    font-family: FontAwesome, sans-serif;
    font-size: .875rem;
    position: absolute;
    text-align: center;
    top: 0
}

.accordion .card-header a.collapsed:before {
    content: '\f107'
}

/*=========================
    TICKET SECTION
=========================*/
#ticket {
    /*background-image: url('https://images.unsplash.com/photo-1503264116251-35a269479413?auto=format&fit=crop&w=1470&q=80');
    ;*/
    background-image: url('../assets/img/placeholders/hero-placeholder.jpg');
    ;
}

@media (max-width: 767.98px) {
    #ticket .primary-line-bellow-left::after {
        display: none;
    }
}

.pricing-dollar {
    bottom: 26px;
    position: relative;
}

/*=========================
 Schedule/Program
=========================*/
.schedule-item {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
  }
  
  .schedule-time {
    flex: 0 0 150px; /* fixed width */
    width: 150px;
    max-width: 150px;
    flex-shrink: 0; /* important */
  }
  
  .schedule-content {
    flex: 1;
    min-width: 0;
  }
  
  @media (max-width: 767.98px) {
    .schedule-item {
      display: block;
    }
  
    .schedule-time {
      width: 100%;
      max-width: 100%;
      margin-bottom: 0.5rem;
    }
  }


/*=========================
 GALLERY — Dynamic Masonry
=========================*/

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    grid-auto-rows: 200px;
    /* Base height for the masonry effect */
    grid-auto-flow: dense;
    /* Prevents empty spaces */
    gap: 1rem;
    transition: all 0.4s ease-in-out;
}

.gallery-item {
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Images fill their assigned space */
.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .3s ease;
}

/* Hover zoom effect */
.gallery-item:hover img {
    transform: scale(1.2);
    cursor: url(../assets/img/resources/icon-zoom-in-white.png), pointer;
}

/* ---- Dynamic layout sizes (layout map) ---- */
/* Tall items */

.gallery-item:nth-child(4),
.gallery-item:nth-child(6),
.gallery-item:nth-child(7),
.gallery-item:nth-child(9),
.gallery-item:nth-child(2) {
    grid-row: span 2;
}

.gallery-item:nth-child(3),
.gallery-item:nth-child(6) {
    grid-row: span 3;
}


/* Responsive adjustments */
@media (min-width: 992px) {
    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767.98px) {
    .gallery-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
        /* natural height on phone */
    }
}


/*=========================
  LIGHTBOX
=========================*/
.lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}

.lightbox.d-none {
    display: none;
}

.lightbox-img {
    max-width: 90%;
    max-height: 80vh;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.2);
    transition: transform 0.3s ease-in-out;
}

.lightbox-close,
.lightbox-prev,
.lightbox-next {
    position: absolute;
    color: white;
    font-size: 2rem;
    cursor: pointer;
    user-select: none;
    transition: color 0.3s;
}

.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover {
    color: var(--secondary-color);
}

.lightbox-close {
    top: 20px;
    right: 30px;
}

.lightbox-prev {
    left: 5%;
}

.lightbox-next {
    right: 5%;
}

/*=========================
    MAP CONTAINER
=========================*/
.map-container {
    position: relative;
    width: 100%;
    height: 500px;
    padding-bottom: 28.125%;
    /* 16:9 ratio */
    overflow: hidden;
}

.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/*=========================
    FOOTER
=========================*/
footer ul {
    list-style-type: none;
    margin: 0px;
    padding: 0px;
}

footer ul li a {
    color: #c3cdf4;
    font-size: 14px;
    line-height: 28px;
}

footer :is(a, p, li) {
    color: #c3cdf4;
}

footer a {
    text-decoration: none;
}

footer p {
    line-height: 28px;
}

.footer-border-top {
    border-top: 1px solid #1e2a5d;
}

.footer-icon a {
    font-size: 13px;
    margin-right: 6px;
    height: 30px;
    width: 30px;
    line-height: 30px;
}


.footer-info li {
    padding-bottom: 17px;
}

.footer-text p {
    color: #c3cdf4;
    margin-bottom: 32px;
}

.footer-title {
    font-size: 24px;
    margin-bottom: 26px;
}

footer .social-icon a {
    color: #fff;
    font-size: 1rem;
    display: inline-block;
    text-align: center;
    transition: .3s;
    height: 40px;
    width: 40px;
    line-height: 40px;
    border-radius: 5px;
}

footer .social-icon :nth-child(1) {
    margin-left: -.6rem;
}

@media (max-width: 767px) {
    .footer-wrapper {
        padding-left: 0;
    }
}

/*=========================
    GO TO UP BOTTOM
=========================*/
.go-top-btn {
    position: fixed;
    bottom: 1.25rem;
    right: 1.25rem;
    background-color: var(--primary-color);
    color: white;
    border: none;
    width: 4.375rem;
    height: 4.375rem;
    font-size: 24px;
    text-align: center;
    cursor: pointer;
    display: none;
    /* hidden by default */
    z-index: 999;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);

    /*Makes sure arrow is perfectly centered */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    text-align: center;
    /* harmless but fine to keep */
}

.go-top-btn--circle {
    border-radius: 50%;
}

.go-top-btn--square {
    width: 1.875rem;
    height: 1.875rem;
    font-size: 0.875rem;
    border-radius: 5%;
    box-shadow: none;
}

@media (min-width: 768px) and (max-width: 991px) {
    .title-md-extra-large-2--1 {
        font-size: 2rem !important;
        line-height: 2.5rem !important;
    }

}

/*==================================
    PANELS VIDEOS — STYLING
==================================*/

#panelsVideosCarousel {

    margin: 0 auto;
}

/* Desktop: arrows outside, bold, primary color */
#panelsVideosCarousel .carousel-control-prev,
#panelsVideosCarousel .carousel-control-next {
    width: 60px;
    opacity: 1;
    color: var(--secondary-color) !important;
    /* THIS controls arrow color */
}

/* BOLD SVG ARROWS (desktop) */
#panelsVideosCarousel .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 16 16' stroke='currentColor' stroke-width='2' fill='none'%3E%3Cpath d='M11 1L3 8l8 7'/%3E%3C/svg%3E");
}

#panelsVideosCarousel .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 16 16' stroke='currentColor' stroke-width='2' fill='none'%3E%3Cpath d='M5 1l8 7-8 7'/%3E%3C/svg%3E");
}

#panelsVideosCarousel .carousel-control-prev-icon,
#panelsVideosCarousel .carousel-control-next-icon {
    width: 2rem;
    height: 2rem;
    background-size: 2rem 2rem;
}

/* Position arrows OUTSIDE on desktop */
#panelsVideosCarousel .carousel-control-prev {
    left: -70px;
}

#panelsVideosCarousel .carousel-control-next {
    right: -70px;
}

/* Keep carousel centered */
.video-carousel-wrapper {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
}

/*==================================
      MOBILE OVERRIDES
  ==================================*/
@media (max-width: 768px) {

    /* Bring arrows IN over the video */
    #panelsVideosCarousel .carousel-control-prev {
        left: 0;
    }

    #panelsVideosCarousel .carousel-control-next {
        right: 0;
    }

    /* Make arrows WHITE + bold on mobile */
    #panelsVideosCarousel .carousel-control-prev-icon,
    #panelsVideosCarousel .carousel-control-next-icon {
        filter: invert(1) brightness(200%);
        /* turns arrows white */
        width: 2.5rem;
        height: 2.5rem;
        background-size: 2.5rem 2.5rem;
    }
}



/*=========================
    PAST EVENTS
=========================*/
.past-conf-card {
    text-decoration: none;
    color: inherit;
}

.past-conf-img-wrapper {
    position: relative;
    overflow: hidden;
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;

}

.past-conf-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.past-conf-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
            rgba(0, 0, 0, 0.65),
            rgba(0, 0, 0, 0.1));
    opacity: 1;
    transition: opacity 0.3s ease;
}

.past-conf-content {
    position: absolute;
    left: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    color: #ffffff;
}

.past-conf-year {
    display: inline-block;
    font-size: 0.875rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: bold;
}

.past-conf-title {
    font-size: 1.25rem;
    font-weight: 700;
}

.past-conf-subtitle {
    font-size: 0.875rem;
    opacity: 0.9;
}

/* Hover effects */
.past-conf-card:hover .past-conf-img-wrapper {
    transform: translateY(-4px);
    box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.25);
}

.past-conf-card:hover .past-conf-img {
    transform: scale(1.05);
}

/* ===============================
   TESTIMONIALS
   =============================== */

.testimonials__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.testimonial-card {
    background: #fff;
    padding: 1.25rem 1.25rem 1.1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.testimonial-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.12);
}

.testimonial-card__quote {
    margin: 0 0 1rem;
    color: var(--primary-color);
    font-weight: 500;
    line-height: 1.45;
}

.testimonial-card__quote::before {
    content: "“";
}

.testimonial-card__quote::after {
    content: "”";
}

.testimonial-card__footer {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    margin-top: auto;
}

/* CIRCULAR PHOTO */
.testimonial-card__photo {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--secondary-color);
    /* subtle FIU gold accent */
}

/* NO PHOTO - JUST INITIALS OPTION */
.testimonial-card__avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--primary-color);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.testimonial-card__name {
    margin: 0;
    color: var(--primary-color);
    font-weight: 800;
}

.testimonial-card__meta {
    margin: 0;
    color: #555;
    font-size: 0.9rem;
}

.testimonials__cta {
    margin-top: 2rem;
}


/* Responsive */
@media (max-width: 991.98px) {
    .testimonials__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .testimonials__grid {
        grid-template-columns: 1fr;
    }
}

/* ===============================
   FROM THE BLOG / NEWS STRIP
   =============================== */

.news-strip__kicker {
    display: inline-block;
    color: #B6862C;
    /* FIU Gold */
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: .5rem;
}

.news-strip__title {
    margin: 0 0 .5rem;
    color: var(--primary-color);
    /* FIU Blue */
    font-weight: 900;
}

.news-strip__subtitle {
    max-width: 720px;
    margin: 0 auto 2.25rem;
    color: #333;
}

/* Grid */
.news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}

/* Card */
.news-card {
    background: #fff;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
    transition: transform .25s ease, box-shadow .25s ease;
    display: flex;
    flex-direction: column;
}

.news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 18px rgba(0, 0, 0, .12);
}

/* Image */
.news-card__media {
    display: block;
    aspect-ratio: 16 / 9;
    /* keeps consistent image height */
    overflow: hidden;
}

.news-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}

.news-card:hover .news-card__media img {
    transform: scale(1.03);
}

/* Body */
.news-card__body {
    padding: 1.25rem 1.25rem 1.4rem;
}

.news-card__headline {
    margin: 0 0 .5rem;
    font-size: 1.1rem;
    font-weight: 900;
    line-height: 1.25;
    color: var(--primary-color);
}

.news-card__headline a {
    color: var(--primary-color);
    text-decoration: none;
}

.news-card__headline a:hover {
    text-decoration: underline;
}

/* Meta */
.news-card__meta {
    margin: 0 0 .75rem;
    font-size: .85rem;
    color: #6b7280;
}

.news-card__dot {
    margin: 0 .35rem;
}

.news-card__comments {
    color: #6b7280;
    text-decoration: none;
}

.news-card__comments:hover {
    text-decoration: underline;
}

/* Excerpt */
.news-card__excerpt {
    margin: 0 0 1rem;
    color: #374151;
    line-height: 1.45;
}

/* Read more link */
.news-card__link {
    color: #081E3F;
    font-weight: 800;
    text-decoration: underline;
}

.news-card__link:hover {
    text-decoration: none;
}

/* Responsive */
@media (max-width: 991.98px) {
    .news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .news-grid {
        grid-template-columns: 1fr;
    }
}

/* ===============================
   SPLIT IMAGE + CONTENT SECTION
   (image-left and image-right)
   =============================== */

.split-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 520px;
    overflow: hidden;
}

/* Image panel */
.split-section__image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 320px;
}

/* Content panel */
.split-section__content {
    background: var(--primary-color);
    color: #eaeaea;
    display: flex;
    align-items: center;
    padding: 3.5rem 3rem;
}

.split-section__inner {
    max-width: 560px;
}

.split-section__title {
    margin: 0 0 1.25rem;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1.25;
    color: #f2f2f2;
}

.split-section__text {
    margin: 0 0 1.25rem;
    font-size: 1.05rem;
    line-height: 1.7;
    color: #cfcfcf;
}

/* CTA */
.split-section__cta {
    display: inline-block;
    margin-top: 0.5rem;
    color: #ffffff;
    font-weight: 800;
    text-decoration: none;
    border-bottom: 2px solid var(--secondary-color);
    padding-bottom: 0.2rem;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.split-section__cta:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

/* Flip layout */
.split-section--image-right .split-section__image {
    order: 2;
}

.split-section--image-right .split-section__content {
    order: 1;
}

/* Responsive */
@media (max-width: 991.98px) {
    .split-section {
        grid-template-columns: 1fr;
    }

    .split-section__content {
        padding: 2.25rem 1.5rem;
    }

    .split-section__title {
        font-size: 1.6rem;
    }
}

/* ===============================
   SERVICES SECTION
   =============================== */

/* Grid */
.services__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem 1.5rem;
    /* row gap / column gap */
}

/* Item */
.service-item {
    text-align: center;
    padding: 0.5rem 0.75rem;
}

/* Icon bubble */
.service-item__icon {
    width: 72px;
    height: 72px;
    border-radius: 999px;
    background: var(--primary-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0.9rem;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.service-item__icon span {
    font-size: 1.6rem;
    color: #fff;
    text-align: center;
}

/* Title & text */
.service-item__title {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
    font-weight: 900;
    color: #111827;
}

.service-item__text {
    margin: 0;
    color: #6b7280;
    font-size: 0.95rem;
    line-height: 1.45;
}

/* Hover polish */
.service-item:hover .service-item__icon {
    transform: translateY(-3px);
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.08);
}

/* Responsive */
@media (max-width: 991.98px) {
    .services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .services__grid {
        grid-template-columns: 1fr;
    }
}

/* =========================
   HOTELS
========================= */

.hotels__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 2rem;
}

.hotel-card {
    background: #fff;
    padding: 2rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
    height: 100%;
    border-top: 4px solid var(--primary-color);
    border-radius: 1% 1% 0 0;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.hotel-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.12);
}

.hotel-card__name {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.hotel-card__distance {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.75rem;
}

.hotel-card__meta {
    font-size: 0.875rem;
    color: #6c757d;
    margin-bottom: 1.5rem;
}

.hotel-card__link {
    margin-top: auto;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    color: var(--primary-color);
}

.hotel-card__link:hover {
    text-decoration: underline;
}

.hotel-card {
    position: relative;
}

.hotel-card__icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--primary-color);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    font-size: 1rem;
}

/* =========================
   TOPICS
========================= */
.topics-grid__wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;
  }
  
  .topics-grid__card {
    background: #ffffff;
    border-radius: 14px;
    padding: 22px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0,0,0,0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  
  .topics-grid__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.12);
  }
  
  .topics-grid__icon {
    font-size: 1.875rem;
    color: var(--primary-color); 
  }
  
  .topics-grid__text {
    margin: 0;
    font-size: 1rem;
    font-weight: 600 ;
  }