.text-dark{
    color:#233040 !important
}
.text-light{
    color:#ebeff1 !important
}
.text-primary{
    color:#eb212d !important
}
.text-red{
    color:#eb212d !important
}
.mobile-menu-get-tickets{
    border-bottom:2px solid #eb212d;
    padding-bottom:2px
}
.text-text-light{
    color:#c2c2c2 !important
}
.bg-dark{
    background-color:#233040 !important
}
.bg-light{
    background-color:#ebeff1 !important
}
.bg-primary{
    background-color:#eb212d !important
}
.bg-text-light{
    background-color:#c2c2c2 !important
}
@font-face{
    font-family:"effra-light";
    src:url("../fonts/Effra_Lt.woff2") format("woff2"),url("../fonts/Effra_Lt.woff") format("woff"),url("../fonts/Effra_Lt.ttf") format("ttf");
    font-display:swap;
}
@font-face{
    font-family:"effra-regular";
    src:url("../fonts/Effra_Rg.woff2") format("woff2"),url("../fonts/Effra_Rg.woff") format("woff"),url("../fonts/Effra_Rg.ttf") format("ttf");
    font-display:swap;
}
@font-face{
    font-family:"effra-bold";
    src:url("../fonts/Effra_Bd.woff2") format("woff2"),url("../fonts/Effra_Bd.woff") format("woff"),url("../fonts/Effra_Bd.ttf") format("ttf");
    font-display:swap;
}
:root{
    --swiper-pagination-color: #eb212d;
    --swiper-pagination-bullet-size: 12px;
    /* --tj-color-theme-primary: #DD2F2F;
    --tj-color-common-white: #ffffff; */
}
::-webkit-scrollbar{
    width:1.4rem;
    height:1.4rem
}
::-webkit-scrollbar-track{
    background-color:#ebeff1;
    border-radius:50vw;
    padding:1rem
}
::-webkit-scrollbar-thumb{
    background-color:#c2c2c2;
    background-clip:content-box;
    border:7px solid #ebeff1;
    border-radius:50vw;
    margin:5px
}

/* * {
    scrollbar-width: thin;
    scrollbar-color: var(--tj-color-theme-primary) var(--tj-color-common-white);
  }
  
  ::-webkit-scrollbar {
    height: 4px;
    width: 6px;
  }
  
  ::-webkit-scrollbar-thumb {
    background: var(--tj-color-theme-primary);
    -webkit-border-radius: 1ex;
    -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.75);
  }
  
  ::-webkit-scrollbar-corner {
    background: transparent;
  }
   */

html{
    -moz-osx-font-smoothing:grayscale;
    -webkit-font-smoothing:antialiased;
    font-smoothing:antialiased
}
.video-fluid{
    max-width:100%;
    width:100%
}
.-right-7percent{
    right:-7%
}
.mt-auto{
    margin-top:auto !important
}
.underline-effect{
    position:relative
}
.underline-effect::after{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    transform:scaleX(0);
    height:2px;
    background-color:#ebeff1;
    transition:.55s all .5s cubic-bezier(0.23, 1, 0.32, 1)
}
.underline-effect.inview::after{
    transform:scaleX(1)
}
.overflow-x-hidden{
    overflow-x:hidden !important
}
.pos-relative{
    position:relative
}
.seo-visible{
    display:none
}
.oneliner{
    white-space:nowrap;
    overflow:hidden
}
.no-repeat{
    background-repeat:no-repeat !important
}
.border-light{
    border-color:#d6d6d6
}
.drop-shadow{
    filter:drop-shadow(5px 6px 3px hsl(11, 0%, 90%))
}
.text-uppercase{
    text-transform:uppercase !important
}
.text-lowercase{
    text-transform:lowercase !important
}
.text-capital{
    text-transform:capitalize !important
}
.overflow{
    overflow:hidden !important
}
.clip-top-right{
    clip-path:polygon(0% 0%, calc(100% - 1vw) 0%, 100% 100%, 0% 100%)
}
.clip-bottom-right{
    clip-path:polygon(0% 0%, 100% 0%, calc(100% - 1vw) 100%, 0% 100%)
}
.clip-top-y{
    clip-path:polygon(1vw 0%, calc(100% - 1vw) 0%, 100% 100%, 0% 100%)
}
.overflow-x{
    overflow-x:hidden !important
}
.font-light{
    font-family:"effra-light" !important
}
.font-regular{
    font-family:"effra-regular" !important
}
.font-bold{
    font-family:"effra-bold" !important
}
.border{
    border:1px solid #ebeff1
}
.border--top{
    border-top:1px solid #ebeff1
}
.border--bottom{
    border-bottom:1px solid #ebeff1
}
.border--left{
    border-left:1px solid #ebeff1
}
.border--right{
    border-right:1px solid #ebeff1
}
.section-padding-xl{
    padding:max(3rem,7vw)
}
.section-padding-xl--top{
    padding-top:max(3rem,7vw)
}
.section-padding-xl--right{
    padding-right:max(3rem,7vw)
}
.section-padding-xl--bottom{
    padding-bottom:max(3rem,7vw)
}
.section-padding-xl--left{
    padding-left:max(3rem,7vw)
}
.section-padding-xl--x{
    padding-left:max(3rem,7vw);
    padding-right:max(3rem,7vw)
}
.section-padding-xl--y{
    padding-top:max(3rem,7vw);
    padding-bottom:max(3rem,7vw)
}
.section-padding-lg{
    padding:max(3rem,5vw)
}
.section-padding-lg--top{
    padding-top:max(3rem,5vw)
}
.section-padding-lg--right{
    padding-right:max(3rem,5vw)
}
.section-padding-lg--bottom{
    padding-bottom:max(3rem,5vw)
}
.section-padding-lg--left{
    padding-left:max(3rem,5vw)
}
.section-padding-lg--x{
    padding-left:max(3rem,5vw);
    padding-right:max(3rem,5vw)
}
.section-padding-lg--y{
    padding-top:max(3rem,5vw);
    padding-bottom:max(3rem,5vw)
}
.text-spacing-sm{
    margin:max(.5rem,.75vw) !important
}
.text-spacing-sm--top{
    margin-top:max(.5rem,.75vw) !important
}
.text-spacing-sm--right{
    margin-right:max(.5rem,.75vw) !important
}
.text-spacing-sm--bottom{
    margin-bottom:max(.5rem,.75vw) !important
}
.text-spacing-sm--left{
    margin-left:max(.5rem,.75vw) !important
}
.text-spacing-sm--x{
    margin-left:max(.5rem,.75vw) !important;
    margin-right:max(.5rem,.75vw) !important
}
.text-spacing-sm--y{
    margin-top:max(.5rem,.75vw) !important;
    margin-bottom:max(.5rem,.75vw) !important
}
.section-header{
    line-height:clamp(34px,2ex + 1vw,70px);
    font-size:clamp(1.5rem,3vw,3rem)
}
.text-left{
    text-align:left !important
}
.text-right{
    text-align:right !important
}
.text-justify{
    text-align:justify !important
}
.text-center{
    text-align:center !important
}
.w-fit{
    width:fit-content !important
}
.page-headline{
    font-size:clamp(2rem,3vw,2.5rem) !important
}
.video-wrapper button,#contactForm_forms_flash .alert button,#scroll-top,.polygon-secondary,.polygon-dark,.polygon-primary,.polygon-light,.polygon-white,.polygon{
    clip-path:polygon(10% 10%, 90% 0, 100% 100%, 0 90%);
    font-family:"effra-bold"
}
.polygon-white{
    background-color:#fff;
    color:#233040
}
.polygon-light{
    background-color:#ebeff1;
    color:#233040
}
.polygon-primary{
    background-color:#eb212d;
    color:#fff
}
.polygon-dark{
    background-color:#233040;
    color:#fff
}
.polygon-secondary{
    background-color:#a9a9a9;
    color:#233040
}
.btn-dark,.btn-primary,.btn-light{
    padding:max(1rem,1vw) max(2.5rem,2.5vw);
    border:none;
    outline:none;
    font-family:"effra-bold";
    line-height:1;
    font-size:16px;
    text-transform:uppercase;
    background-color:#fff;
    color:#233040;
    clip-path:polygon(10% 10%, 90% 0, 100% 100%, 0 90%);
    transition:.3s clip-path ease-in-out !important
}
.btn-dark:hover,.btn-primary:hover,.btn-light:hover{
    clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%)
}
.btn-light{
    background-color:#fff;
    color:#233040
}
.btn-primary{
    background-color:#eb212d !important;
    color:#fff !important
}
.btn-primary:hover{
    background-color:#eb212d !important;
    color:#fff !important
}
.btn-dark{
    background-color:#233040;
    color:#fff
}
#scroll-top{
    position:fixed;
    z-index:999;
    bottom:5vh;
    right:2rem;
    width:4rem;
    height:4rem;
    display:grid;
    place-items:center;
    border:none;
    background-color:#eb212d;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    user-select:none;
    transform:translate(2rem, 1rem) scale(0.6);
    transition:.25s transform cubic-bezier(0.23, 1, 0.32, 1),.4s clip-path cubic-bezier(0.23, 1, 0.32, 1),.3s opacity,.3s visibility
}
#scroll-top.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    user-select:auto;
    transform:none
}
#scroll-top:hover{
    clip-path:polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
}
#scroll-top svg{
    width:1.5rem;
    fill:#ebeff1
}
.carousel-text{
    overflow:hidden
}
.overlay{
    position:relative
}
.overlay::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background-image:linear-gradient(to bottom right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.7));
    z-index:10
}
.overlay .overlay-content{
    position:relative;
    z-index:20
}
@-webkit-keyframes kf_shake{
    0%{
        -webkit-transform:translate(30px)
    }
    20%{
        -webkit-transform:translate(-30px)
    }
    40%{
        -webkit-transform:translate(15px)
    }
    60%{
        -webkit-transform:translate(-15px)
    }
    80%{
        -webkit-transform:translate(8px)
    }
    100%{
        -webkit-transform:translate(0px)
    }
}
@-moz-keyframes kf_shake{
    0%{
        -moz-transform:translate(30px)
    }
    20%{
        -moz-transform:translate(-30px)
    }
    40%{
        -moz-transform:translate(15px)
    }
    60%{
        -moz-transform:translate(-15px)
    }
    80%{
        -moz-transform:translate(8px)
    }
    100%{
        -moz-transform:translate(0px)
    }
}
@-o-keyframes kf_shake{
    0%{
        -o-transform:translate(30px)
    }
    20%{
        -o-transform:translate(-30px)
    }
    40%{
        -o-transform:translate(15px)
    }
    60%{
        -o-transform:translate(-15px)
    }
    80%{
        -o-transform:translate(8px)
    }
    100%{
        -o-origin-transform:translate(0px)
    }
}
.form-input{
    padding:1rem 2rem;
    font-family:inherit;
    font-size:normal;
    border:1px solid #ebeff1;
    color:#233040;
    width:100%;
    transition:.3s all ease-in-out
}
.transparent.form-input{
    background-color:rgba(0,0,0,0)
}
.input-light.form-input{
    border-color:#fff;
    color:#fff
}
.input-light.form-input::placeholder{
    color:#fff
}
.input-dark.form-input{
    border-color:#c2c2c2;
    color:#233040
}
.input-dark.form-input::placeholder{
    color:#233040
}
.form-input:focus-visible{
    outline:none;
    background-color:rgba(235,239,241,.5)
}
.error.form-input{
    -webkit-animation:kf_shake .4s 1 linear;
    -moz-animation:kf_shake .4s 1 linear;
    -o-animation:kf_shake .4s 1 linear
}
.registerForm{
    position:relative
}
.error-message{
    color:#eb212d;
    padding:.5rem 0
}
#contactForm_forms_flash{
    width:100%;
    margin-bottom:1.5rem;
    display:flex;
    justify-content:center;
    text-align:center;
    background-color:transparent;
    border-radius:3px
}
#contactForm_forms_flash .alert{
    position:relative;
    display:inline-flex;
    align-items:center;
    flex-wrap:wrap;
    justify-content:center;
    gap:0.5rem 1rem;
    padding:max(1rem,1vw)
}
#contactForm_forms_flash .alert button{
    position:absolute;
    /* top:.5rem; */
    right:-1.5rem;
    background-color:#eb212d;
    border:none;
    width:2rem;
    height:2rem;
    display:grid;
    place-items:center
}
#contactForm_forms_flash .alert button svg{
    fill:#ebeff1
}
#contactForm_forms_flash .alert .message-content{
    color:#233040;
    margin:0
}
.logo-group .logo img{
    width:max(8rem,11vw)
}
.logo-group .logo .logo-zgp{
    width:max(10rem,13vw)
}
.organizer-slider .swiper-slide .image-wrapper{
    margin-bottom:max(1rem,1vw)
}
.organizer-slider .swiper-slide .image-wrapper img{
    width:100%;
    object-fit:cover;
    height:20rem
}
.organizers-grid .container{
    position:relative
}
.organizers-grid .container .organizerSlider-navigation{
    display:flex;
    justify-content:center
}
.organizers-grid .container .organizerSlider-navigation .slider-arrow{
    height:fit-content;
    width:fit-content;
    cursor:pointer
}
@media(min-width: 992px){
    .organizers-grid .container .organizerSlider-navigation .slider-arrow{
        position:absolute;
        z-index:500;
        top:50%;
        transform:translateY(-50%);
        right:unset
    }
    .organizers-grid .container .organizerSlider-navigation .slider-arrow.previous{
        left:calc(0% - 5vw)
    }
    .organizers-grid .container .organizerSlider-navigation .slider-arrow.next{
        right:calc(0% - 5vw)
    }
}
@media(min-width: 991px){
    .organizers-grid .container .organizerSlider-navigation{
        justify-content:space-between
    }
}
.organizers-grid .grid-wrapper{
    display:grid;
    grid-template-columns:1fr;
    grid-gap:15px
}
.organizers-grid .grid-wrapper .grid--item .image-wrapper{
    height:auto;
    margin-bottom:max(1rem,1vw)
}
.organizers-grid .grid-wrapper .grid--item .image-wrapper img{
    width:100%;
    height:100%;
    object-fit:cover
}
.organizers-grid .grid-wrapper .grid--item:not(:last-child){
    margin-bottom:max(2rem,2vw)
}
@media(min-width: 992px){
    .organizers-grid .grid-wrapper .grid--item{
        margin-bottom:0
    }
}
@media(min-width: 500px){
    .organizers-grid .grid-wrapper{
        grid-template-columns:1fr 1fr
    }
    .organizers-grid .grid-wrapper .image-wrapper{
        height:auto
    }
}
@media(min-width: 992px){
    .organizers-grid .grid-wrapper{
        grid-template-columns:1fr 1fr 1fr 1fr
    }
    .organizers-grid .grid-wrapper .image-wrapper{
        height:30rem
    }
}
#primary-nav li a{
    font-family:"effra-light"
}
#site-header .nav-trigger{
    position:relative;
    z-index:1000
}
#site-header .nav-trigger .bar{
    height:3px !important
}

/* Sticky header overlays content – hero section is not pushed */
#wrap #site-header.main-header-overlay[data-sticky-header]{
    position:fixed !important;
    top:0;
    left:0;
    right:0;
    z-index:1000;
}
#wrap .lqd-sticky-placeholder{
    height:0 !important;
    min-height:0 !important;
    overflow:hidden;
}

/* Sticky header: same logo size and padding as initial (do not grow) – desktop and mobile */
#site-header.is-stuck .navbar-brand .logo-sticky{
    height:4rem !important;
    max-height:4rem !important;
    width:auto !important;
    object-fit:contain !important;
}
/* Desktop only: keep sticky logo at 4rem (mobile overrides below) */
@media (min-width: 992px) {
    #site-header.is-stuck .navbar-brand .logo-sticky,
    #site-header.is-stuck .navbar-brand .logo-default,
    #site-header.is-stuck .navbar-brand img{
        height:4rem !important;
        max-height:4rem !important;
        width:auto !important;
        object-fit:contain !important;
    }
}
#site-header.is-stuck .header--wrapper,
#site-header.is-stuck .header--wrapper.lqd-section,
#site-header.is-stuck .module-logo,
#site-header.is-stuck .navbar-brand-plain{
    padding-top:12px !important;
    padding-bottom:12px !important;
}
#site-header.is-stuck .header--wrapper.module-sec{
    padding-top:12px !important;
    padding-bottom:12px !important;
}
/* Prevent mobile sticky header from growing (theme uses 22px on .lqd-mobile-sec .navbar-brand) */
#site-header.is-stuck .lqd-mobile-sec .navbar-brand,
#site-header.is-stuck .navbar-brand{
    padding-top:12px !important;
    padding-bottom:12px !important;
}

/* Mobile logo max height – initial and when stuck (must not grow on scroll) */
@media (max-width: 991px) {
    #site-header .navbar-brand .logo-default,
    #site-header .navbar-brand .logo-sticky,
    #site-header .navbar-brand img{
        max-height:3rem !important;
        height:auto !important;
        width:auto !important;
        object-fit:contain !important;
    }
    #site-header.is-stuck .navbar-brand .logo-sticky,
    #site-header.is-stuck .navbar-brand .logo-default,
    #site-header.is-stuck .navbar-brand img{
        max-height:3rem !important;
        height:auto !important;
        width:auto !important;
        object-fit:contain !important;
    }
}

.header-hosts img{
    height:2rem
}
.header-legal-pages ul{
    list-style-type:none
}
.header-legal-pages ul a{
    color:#233040;
    font-size:14px
}
.site-footer .legal-pages ul{
    list-style-type:none
}
.site-footer .footer-hosts img{
    height:max(2rem,2.3vw);
    object-fit:contain
}
.site-footer .footer-hosts img:nth-child(2){
    height:max(2.8rem,1.7vw)
}
.site-footer .container-fluid{
    padding-bottom:max(0.5rem,0.5vw) !important
}
/* Footer: logo always centered - equal columns so center stays true middle */
@media(min-width: 769px){
    .site-footer .row{
        display:grid;
        grid-template-columns:1fr auto 1fr;
        align-items:end;
        gap:1rem
    }
    .site-footer .legal-pages{
        justify-self:start
    }
    .site-footer .footer-hosts{
        justify-self:center
    }
    .site-footer .footer-credits{
        justify-self:end
    }
}
@media(max-width: 992px){
    .registerBtn{
        display:none !important
    }
}
.registerBtn a:before{
    background:#eb212d !important;
    height:5px !important;
    bottom:calc(0% - 8px)
}
.super-title{
    font-size:clamp(17px,3vw,24px)
}
.subheading{
    font-size:clamp(24px,3vw,32px)
}
.mobile-hero .super-title{
    font-size:clamp(17px,3vw,24px)
}
.mobile-hero .subheading{
    font-size:clamp(24px,3vw,32px)
}
@media(max-width: 991px){
    .mobile-hero .btn-wrapper{
        margin-top:1.5rem
    }
}
.hero-image-wrapper .hero-video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    opacity:1;
    visibility:visible
}
.hero-banner{
    position:relative
}
.hero-banner .toggleSound{
    width:4rem;
    height:4rem;
    border:none;
    background-color:rgba(0,0,0,0);
    display:grid;
    place-items:center;
    position:absolute;
    bottom:2vw;
    right:2vw;
    z-index:20
}
.hero-banner .toggleSound svg{
    width:3rem;
    fill:#fff
}
.hero-banner .toggleSound .sound-on{
    display:none
}
.hero-banner .toggleSound .sound-off{
    display:block
}
.hero-banner.hasOverlay::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:100%;
    height:100%;
    background-image:linear-gradient(to bottom right, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.25));
    z-index:1
}
.hero-banner .bg-cover{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    line-height:1;
    pointer-events:none;
    user-select:none;
    z-index:0;
    display:block;
    opacity:1;
    visibility:visible
}
.hero-banner .container{
    position:relative;
    z-index:10;
    padding-left:max(1.5rem,2vw);
    padding-right:max(1.5rem,2vw)
}
@media(min-width: 1199px){
    .hero-banner .container{
        padding-left:0;
        padding-right:0
    }
}
.hero-banner .banner-poly{
    position:absolute;
    z-index:10;
    top:50%;
    transform:translateY(-50%);
    right:0;
    clip-path:polygon(1vw 1vw, 100% 0%, 100% 100%, 0% calc(100% - 1vw));
    color:#fff;
    padding:max(2.5rem,3vw)
}
.hero-banner .banner-poly .title{
    font-size:25px
}
.hero-banner .banner-poly .date{
    margin:0;
    font-family:"effra-regular";
    font-size:23px
}
.hero-banner .super-title{
    font-size:clamp(13px,3vw,20px) !important
}
.hero-banner .subheading{
    font-size:34px
}
@media(min-width: 1024px){
    .hero-banner{
        min-height:100vh
    }
}
.webinar .dynamic-content h1,.webinar .dynamic-content h2,.webinar .dynamic-content h3,.webinar .dynamic-content h4,.webinar .dynamic-content h5,.webinar .dynamic-content h6{
    line-height:1.3
}
.bg-image-cover{
    background-size:cover
}
.referentSlider-navigation .referentSlider-arrow{
    height:fit-content;
    width:fit-content;
    cursor:pointer
}
@media(min-width: 992px){
    .referentSlider-navigation .referentSlider-arrow{
        position:absolute;
        z-index:500;
        top:50%;
        transform:translateY(-50%);
        right:unset
    }
    .referentSlider-navigation .referentSlider-arrow.previous{
        left:calc(0% - 5vw)
    }
    .referentSlider-navigation .referentSlider-arrow.next{
        right:calc(0% - 5vw)
    }
}
@media(max-width: 991px){
    .referenten-section .container.pos-relative{
        padding-bottom:5.5rem
    }
    .referentSlider-navigation{
        position:absolute;
        bottom:0rem;
        left:0;
        right:0;
        display:flex;
        justify-content:center;
        z-index:500
    }
    .speakers-slider .btn.btn-primary.mt-15{
        margin-bottom:0.5rem
    }
}

/* Grab cursor on referenten (speakers) slider – indicates draggable */
.referenten-section,
.referenten-section .referenten-slider,
.referenten-section .swiper{
    cursor:grab;
}
.referenten-section .referenten-slider:active,
.referenten-section .referenten-slider.swiper-grabbing{
    cursor:grabbing;
}

/* Grab cursor on organisers (organisation) slider – indicates draggable */
.organizers-grid,
.organizers-grid .organizer-slider,
.organizers-grid .swiper{
    cursor:grab;
}
.organizers-grid .organizer-slider:active,
.organizers-grid .organizer-slider.swiper-grabbing{
    cursor:grabbing;
}

.speakers-slider .speaker-title{
    font-size:clamp(22px,2vw + 1rem,40px)
}
/* View full info button – same size as Get Tickets, left-aligned, not full width */
.speakers-slider .content-col .btn.btn-primary{
    width:fit-content;
    align-self:flex-start
}
@media(min-width: 992px){
    .speakers-slider .swiper-slide .content-col{
        padding-left:max(2rem,3vw)
    }
    .speakers-slider .swiper-slide .image-col{
        padding-right:max(2rem,3vw)
    }
}
.speakers-slider-pagination{
    width:fit-content !important;
    margin:1rem auto
}
@media(min-width: 992px){
    .speakers-slider-pagination{
        display:none
    }
}
.animate{
    will-change:transform;
    opacity:0;
    transform:translateY(2rem);
    transition:.4s transform ease-in-out,.4s opacity ease-in-out
}
.animate.visible{
    opacity:1;
    transform:none
}
.contact-modal,.hcm-modal{
    position:fixed;
    left:0;
    top:0;
    right:0;
    bottom:0;
    z-index:9999;
    width:100vw;
    height:100vh;
    margin:0;
    padding:0;
    background:rgba(0,0,0,.6);
    opacity:0;
    visibility:hidden;
    transform:scale(1.1);
    display:grid;
    place-items:center;
    transition:visibility 0s linear .25s,opacity .25s 0s,transform .25s
}
.contact-modal .modal--wrapper,.hcm-modal .modal--wrapper{
    max-width:80%;
    width:100%;
    max-height:90vh;
    margin:auto;
    position:relative;
    background-color:#fff;
    color:#233040;
    padding:max(2rem,3vw) max(1.5rem,2vw)
}
.contact-modal .modal--wrapper video,.hcm-modal .modal--wrapper video{
    height:100%
}
@media(min-width: 768px){
    .contact-modal .modal--wrapper,.hcm-modal .modal--wrapper{
        width:auto
    }
    .contact-modal .modal--wrapper:not(.modal-content),.hcm-modal .modal--wrapper:not(.modal-content){
        height:100%
    }
}
.contact-modal .modal--wrapper .hcm-close-modal,.hcm-modal .modal--wrapper .hcm-close-modal{
    position:absolute;
    top:calc(0% - 1.5rem);
    right:calc(0% - 1.5rem);
    width:3rem;
    height:3rem;
    display:grid;
    border:none;
    background-color:#eb212d;
    padding:0;
    margin:0;
    place-items:center
}
.contact-modal .modal--wrapper .hcm-close-modal svg,.hcm-modal .modal--wrapper .hcm-close-modal svg{
    width:1rem;
    fill:#fff
}
/* Speaker modal - smaller box + blurred background */
/* Blur header when speaker modal is open - lower z-index so header goes behind backdrop (lity has z-index 999) */
body.speaker-modal-open #site-header{
    z-index:100 !important;
    filter:blur(8px);
    -webkit-filter:blur(8px)
}
/* Hide Lity's default close button (second X) - speaker modal has its own close button */
.lity:has(.speaker-modal) .lity-close,
body.speaker-modal-open .lity .lity-close{
    display:none !important
}
.lity:has(.speaker-modal) .lity-backdrop{
    display:block !important;
    background:rgba(0,0,0,.25);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px)
}
.lity:has(.speaker-modal) .lity-container{
    width:auto !important;
    max-width:min(880px,92vw) !important;
    height:auto !important;
    max-height:85vh !important;
    overflow:visible;
    display:flex;
    flex-direction:column;
    border-radius:0;
    box-shadow:0 25px 50px -12px rgba(0,0,0,.25);
    position:relative
}
.lity:has(.speaker-modal) .lity-wrap{
    display:flex !important;
    align-items:center;
    justify-content:center;
    padding:max(2rem,var(--offset-top,80px)) 2rem 2rem;
    box-sizing:border-box
}
.lity:has(.speaker-modal) .lqd-modal-inner, .lity:has(.speaker-modal) .lity-content {
    height:auto !important;
    max-height:85vh !important
}
.lity:has(.speaker-modal) .speaker-modal .lqd-modal-content .container{
    min-height:auto !important;
    max-height:85vh !important;
    align-items:flex-start !important;
    padding:32px 40px !important
}
.lity:has(.speaker-modal) .speaker-modal .lqd-modal-content .row{
    margin-top:0 !important;
    width:100%
}
.speaker-modal .col.col-12{
    display:flex;
    flex-direction:column;
    gap:1.5rem
}
.lity:has(.speaker-modal) .speaker-modal .lqd-modal-content{
    overflow-y:auto;
    max-height:85vh
}
.speaker-modal .speaker-description{
    max-height:45vh !important
}
/* Speaker modal - whole container white background */
.speaker-modal .lqd-modal-content.speaker-modal-content{
    background:#fff !important
}
/* Speaker modal - company banner grey background */
.speaker-modal .speaker-modal-header .polygon.polygon-white{
    background-color:#e9ecef !important;
    color:#233040
}
.speaker-modal .speaker-modal-header{
    position:sticky;
    top:0;
    z-index:2;
    padding-bottom:1rem
}
/* Speaker modal - close button outside modal, above and right of top-right corner */
.speaker-modal-inner{
    position:relative
}
.speaker-modal-header{
    gap:1rem;
    flex-wrap:wrap
}
/* Position close button outside modal (above and right of top-right corner), attached to modal so same position for all content lengths */
.speaker-modal-close-floating{
    position:absolute !important;
    top:-0.75rem !important;
    right:-0.75rem !important;
    left:auto !important;
    z-index:100001 !important
}
.speaker-modal-close,.speaker-modal .close-btn.hcm-close-modal,.speaker-modal-header .close-btn.hcm-close-modal{
    width:3rem !important;
    height:3rem !important;
    min-width:3rem !important;
    flex-shrink:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:none !important;
    background-color:#eb212d !important;
    padding:0 !important;
    margin:0 !important;
    cursor:pointer !important;
    clip-path:polygon(10% 10%, 90% 0, 100% 100%, 0 90%) !important;
    transition:.3s clip-path ease-in-out,.3s background-color ease !important;
    visibility:visible !important;
    opacity:1 !important
}
.speaker-modal-close:hover,.speaker-modal .close-btn.hcm-close-modal:hover,.speaker-modal-header .close-btn.hcm-close-modal:hover{
    clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%);
    background-color:#c91d28 !important
}
.speaker-modal-close svg,.speaker-modal .close-btn.hcm-close-modal svg,.speaker-modal-header .close-btn.hcm-close-modal svg{
    width:1rem !important;
    height:1rem !important;
    fill:#fff !important;
    flex-shrink:0 !important;
    pointer-events:none !important
}
@media(max-width: 991px){
    .speaker-modal-header{
        flex-direction:column-reverse;
        align-items:flex-start
    }
}
.speaker-modal .speaker-description{
    max-height:60vh;
    overflow-y:auto;
    overflow-x:hidden;
    padding:24px 32px 24px 0;
    line-height:1.5;
    scrollbar-color:#eb212d #e9ecef;
    scrollbar-width:thin
}
.speaker-modal .speaker-description p{
    margin-bottom:1em
}
.speaker-modal .speaker-description p:last-child{
    margin-bottom:0
}
.speaker-modal .speaker-description::-webkit-scrollbar{
    width:8px
}
.speaker-modal .speaker-description::-webkit-scrollbar-track{
    background:#e9ecef;
    border-radius:4px
}
.speaker-modal .speaker-description::-webkit-scrollbar-thumb{
    background:#eb212d;
    border-radius:4px
}
.speaker-modal .speaker-description::-webkit-scrollbar-thumb:hover{
    background:#c91d28
}

/* Speaker modal – mobile improvements */
@media(max-width: 768px){
    /* Floating close button – same position on mobile (attached to modal) */
    .lity:has(.speaker-modal) .lity-container{
        max-width:calc(100vw - 1.5rem) !important;
        width:calc(100vw - 1.5rem) !important;
        max-height:90vh !important
    }
    .lity:has(.speaker-modal) .lity-wrap{
        padding:max(1rem,var(--offset-top,60px)) 0.75rem 1rem
    }
    .lity:has(.speaker-modal) .speaker-modal .lqd-modal-content .container{
        padding:1.25rem 1.25rem !important
    }
    .lity:has(.speaker-modal) .speaker-modal .lqd-modal-content{
        max-height:90vh
    }
    .lity:has(.speaker-modal) .lqd-modal-inner,.lity:has(.speaker-modal) .lity-content{
        max-height:90vh !important
    }
    .speaker-modal .speaker-name{
        font-size:clamp(1.5rem,5vw,2rem)
    }
    .speaker-modal .speaker-description{
        padding:1rem 0.5rem 1rem 0;
        max-height:50vh !important
    }
    .speaker-modal .speaker-modal-header .polygon.polygon-white{
        padding:0.5rem 1rem !important;
        font-size:0.875rem !important
    }
    .speaker-modal-close,.speaker-modal .close-btn.hcm-close-modal,.speaker-modal-header .close-btn.hcm-close-modal{
        width:2.5rem !important;
        height:2.5rem !important;
        min-width:2.5rem !important
    }
    .speaker-modal-close svg,.speaker-modal .close-btn.hcm-close-modal svg,.speaker-modal-header .close-btn.hcm-close-modal svg{
        width:0.875rem !important;
        height:0.875rem !important
    }
    .speaker-modal .col.col-12{
        gap:1rem
    }
}
.open.contact-modal,.open.hcm-modal{
    backdrop-filter:blur(3px);
    opacity:1;
    visibility:visible;
    transform:scale(1);
    transition:visibility 0s linear 0s,opacity .25s 0s,transform .25s
}
.one-roadmap-item .one-roadmap-bar::after{
    width:4px
}
.one-roadmap-item-checked .one-roadmap-bar::before,.one-roadmap-item-checked .one-roadmap-bar::after{
    background:#c2c2c2 !important
}
.page-agb #wrap{
    display:flex;
    min-height:100vh;
    flex-direction:column
}
.page-agb #wrap .site-footer{
    margin-top:auto
}
.lqd-parallax-sentinel{
    display:none !important;
    visibility:hidden;
    opacity:0;
    pointer-events:none
}
.video-wrapper{
    position:relative
}
.video-wrapper::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background-image:linear-gradient(to bottom right, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.52));
    z-index:20
}
.video-wrapper button{
    position:absolute;
    z-index:30;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    background-color:#eb212d;
    border:none;
    opacity:.7;
    transition:.5s opacity ease-in-out
}
.video-wrapper button .button-wrapper{
    height:5rem;
    width:5rem;
    display:grid;
    place-items:center
}
.video-wrapper button svg{
    fill:#fff;
    width:2rem
}
.video-wrapper button:hover{
    opacity:1
}
#map_location{
    width:100%;
    height:400px
}
@media(min-width: 992px){
    #map_location{
        height:600px
    }
}
.map-wrapper{
    width:100% !important;
    max-width:100%
}
.map-wrapper iframe{
    width:100% !important;
    max-width:100%;
    display:block
}
@media(max-width: 991px){
    .location .map-wrapper{
        border-radius:0 !important;
        margin-bottom:0 !important;
        width:100% !important;
        max-width:100% !important
    }
    .location .map-wrapper iframe{
        height:450px !important;
        width:100% !important;
        border-radius:0 !important
    }
}
@media(min-width: 992px){
    .map-wrapper{
        border-radius:8px
    }
}
.line--bottom{
    position:relative;
    margin:0
}
.line--bottom::after{
    content:"";
    position:absolute;
    bottom:-1px;
    left:0;
    height:2px;
    width:100%;
    transform:scaleX(0);
    background-color:#eb212d;
    transition:.75s transform .75s cubic-bezier(0.23, 1, 0.32, 1)
}
.line--bottom.visible::after{
    transform:scaleX(1)
}
.carousel1{
    opacity:.5;
    pointer-events:none !important;
    user-select:none !important
}
.countdown-container{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%)
}
#countdown{
    width:fit-content;
    display:grid;
    grid-template-columns:1fr 1rem 1fr 1rem 1fr 1rem 1fr;
    grid-gap:max(.5rem,1.5vw);
    color:#fff
}
@media(min-width: 768px){
    #countdown{
        grid-template-columns:1fr 1rem 1fr 1rem 1fr 1rem 1fr
    }
    #countdown .countdown--colon{
        display:block
    }
}
#countdown .countdown--box{
    justify-self:center;
    color:#233040;
    font-family:"effra-bold";
    position:relative
}
#countdown .countdown--box .timer--wrapper{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    position:relative
}
#countdown .countdown--box .timer--num{
    font-size:clamp(1rem,4vw + 1rem,6rem);
    line-height:1
}
#countdown .countdown--box .timer--text{
    position:absolute;
    top:calc(100% + 1vw);
    left:50%;
    transform:translateX(-50%);
    text-transform:uppercase;
    font-size:clamp(14px,2vw,18px);
    color:#eb212d;
    font-family:"effra-bold";
    line-height:1
}
@media(max-width: 991px){
    #countdown .countdown--box .timer--num{
        font-size:clamp(2.5rem,10vw,5rem)
    }
    #countdown .countdown--box .timer--text{
        font-size:clamp(1rem,4vw,1.25rem)
    }
}
#countdown .countdown--box p{
    margin:0
}
#countdown .countdown--colon{
    position:relative
}
#countdown .countdown--colon::after,#countdown .countdown--colon::before{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:max(4px,.8vw);
    height:max(4px,.8vw);
    background-color:#233040
}
#countdown .countdown--colon::before{
    transform:translate(-50%, -0.8vw)
}
#countdown .countdown--colon::after{
    transform:translate(-50%, 0.8vw)
}
.summit-plane-logo{
    max-width:65px;
    width:auto;
    margin-bottom:1.25rem;
}
.section-header-line{
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
}
.agenda-day-tabs{
    display:flex;
    justify-content:center;
    gap:max(8rem,13vw);
    flex-wrap:nowrap;
    position:relative;
    z-index:1
}
@media (max-width:768px){
    .agenda-day-tabs{
        gap:max(0.5rem,1.5vw);
        justify-content:space-between
    }
}
.agenda-day-tab{
    background:none;
    border:none;
    padding:0;
    margin:0;
    cursor:pointer;
    transition:all 0.3s ease;
    text-align:center;
    color:#000;
    font-family:inherit;
    font-size:clamp(1.5rem, 2.5vw + 1rem, 2.5rem);
    font-weight:inherit;
    line-height:inherit;
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
}
.agenda-day-tab .day-name{
    display:block;
    font-size:clamp(1.5rem, 2.5vw + 1rem, 2.5rem);
    margin-bottom:0.7rem;
}
.agenda-day-tab .day-date{
    display:block;
    font-size:clamp(0.85rem, 1.2vw + 0.5rem, 1.1rem);
    font-weight:normal;
    color:#666;
}
@media (max-width:768px){
    .agenda-day-tab{
        font-size:clamp(1rem, 4vw, 1.3rem);
        flex-shrink:0;
        min-width:auto
    }
    .agenda-day-tab .day-name{
        font-size:clamp(1rem, 4vw, 1.3rem);
        margin-bottom:0.4rem
    }
    .agenda-day-tab .day-date{
        font-size:clamp(0.7rem, 2.5vw, 0.9rem)
    }

}

.agenda-day-tab:hover{
    opacity:0.8
}
.agenda-day-tab.active{
    opacity:1;
    color:#eb212d
}
.agenda-day-tab.active .day-name{
    color:#eb212d
}
.agenda-day-tab.active .day-date{
    color:#eb212d
}
.agenda-day-tab.line--bottom{
    /* padding-bottom:30px; */
    margin-bottom:10px;
}
.agenda-day-tab.line--bottom::after{
    content:"";
    position:absolute;
    bottom:-11px;
    left:50%;
    transform:translateX(-50%) scaleX(0);
    height:2px;
    width:200%;
    background-color:#eb212d;
    transition:transform 0.15s ease;
    z-index:10
}
.agenda-day-tab.line--bottom.visible::after{
    transform:translateX(-50%) scaleX(1)
}
.agenda-day-content{
    transition:opacity 0.3s ease
}
.agenda-section .agenda-wrapper{
    padding:max(5px,.5vw);
    height:50vh;
    overflow-y:scroll
}
.agenda-section .agenda-wrapper::-webkit-scrollbar{
    width:1.4rem;
    height:1.4rem
}
.agenda-section .agenda-wrapper::-webkit-scrollbar-track{
    background-color:#ebeff1;
    border-radius:50vw;
    padding:1rem
}
.agenda-section .agenda-wrapper::-webkit-scrollbar-thumb{
    background-color:#c2c2c2;
    background-clip:content-box;
    border:7px solid #ebeff1;
    border-radius:50vw;
    margin:5px
}
.agenda-section .agenda-wrapper img,.agenda-section .agenda-wrapper svg{
    width:max(3rem,3vw)
}
.agenda-section .agenda-wrapper .breakout-session{
    padding:max(.5rem,1vw) max(.5rem,1vw)
}
.agenda-section .agenda-wrapper .breakout-session.pb-0{
    padding-bottom:0 !important
}
.agenda-section .agenda-wrapper .breakout-session .headline{
    padding:max(1rem,1vw) max(5px,1vw)
}
.agenda-section .agenda-wrapper .breakout-session .headline p{
    font-size:clamp(2rem,4vw + 1rem,5rem)
}
.agenda-item{
    display:grid;
    padding:max(1rem,1vw) max(5px,1vw)
}
.agenda-item.pause{
    grid-template-columns:auto 3rem;
    justify-content:space-between;
    column-gap:max(1rem,1vw);
    align-items:center;
    color:#999
}
.agenda-item.pause .hour{
    order:1;
    padding:max(5px,1vw);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-end;
    min-width:max(5rem,6vw);
    text-align:center;
}
.agenda-item.pause .content{
    order:0
}

.agenda-item.pause .content .icon{
    padding:max(5px,.7vw)
}
.agenda-item.pause .content .icon img,.agenda-item.pause .content .icon svg{
    width:max(3rem,3vw)
}
.agenda-item.pause .content .text{
    margin-left:max(.5rem,1vw)
}
@media(min-width: 768px){
    .agenda-item.pause{
        grid-template-columns:5rem auto;
        justify-content:start;
        column-gap:max(4rem,10vw)
    }
    .agenda-item.pause .hour{
        order:0
    }
    .agenda-item.pause .content{
        order:1
    }
}
.agenda-item.lecture{
    grid-template-columns:auto 3rem;
    justify-content:space-between;
    grid-template-rows:1fr 1fr;
    column-gap:max(1rem,1vw);
    align-items:center;
    justify-content:space-between;
    color:#233040
}
.agenda-item.lecture .speaker{
    order:0
}
.agenda-item.lecture .speakers-container{
    order:0;
    display:flex;
    flex-direction:column;
    gap:max(1rem,1.5vw)
}
.agenda-item.lecture .speaker .speaker--image{
    padding:max(5px,.7vw);
    width:max(7rem,7vw);
    height:max(7rem,7vw);
    flex-shrink:0
}
.agenda-item.lecture .speaker .speaker--image img,.agenda-item.lecture .speaker .speaker--image svg{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:0
}
.agenda-item.lecture .speaker .speaker--name{
    margin-left:max(.5rem,1vw);
    display:flex;
    flex-direction:column;
    align-items:flex-start
}
.agenda-item.lecture .hour{
    order:0;
    /* padding:max(5px,1vw); */
    display:flex;
    flex-direction:row;
    align-items:center;
    white-space:nowrap;
    min-width:max(5rem,6vw);
    text-align:center;
    justify-content:center
}
.agenda-item.lecture .title,
.agenda-item.lecture > .title{
    order:1;
    margin-top:0;
    margin-bottom:0
}
.agenda-item.lecture > .title{
    display:block
}
.agenda-item.lecture .speakers-container{
    order:2
}
@media(min-width: 768px){
    .agenda-item.lecture{
        grid-template-columns:5rem 2fr 3fr;
        grid-template-rows:auto;
        column-gap:max(4rem,10vw);
        align-items:start
    }
    .agenda-item.lecture .hour{
        order:0;
        justify-self:start;
        grid-row:1 / -1;
        align-self:start;
        padding-top:0
    }
    .agenda-item.lecture .speaker{
        order:2
    }
    .agenda-item.lecture .title,
    .agenda-item.lecture > .title{
        order:1;
        grid-row:1;
        grid-column:2;
        margin-top:0;
        margin-bottom:0;
        align-self:start;
        position:relative;
        z-index:1;
        line-height:1.4
    }
    /* Make title sticky when there are 2+ speakers */
    .agenda-item.lecture.has-multiple-speakers .title,
    .agenda-item.lecture.has-multiple-speakers > .title{
        position:sticky;
        top:0;
        z-index:10
    }
    /* Make hour sticky when there are 2+ speakers */
    .agenda-item.lecture.has-multiple-speakers .hour{
        position:sticky;
        top:0;
        z-index:10
    }
    .agenda-item.lecture .speakers-container{
        order:2;
        grid-column:3;
        grid-row:1;
        display:flex;
        flex-direction:column;
        gap:max(1rem,1.5vw);
        align-items:flex-start;
        align-self:start;
        position:relative
    }
    /* Position first speaker to align with title on same line */
    .agenda-item.lecture .speakers-container .speaker:first-child{
        margin-top:0;
        padding-top:0;
        align-self:flex-start;
        min-height:auto
    }
    /* Ensure title and first speaker align at top */
    .agenda-item.lecture .title p,
    .agenda-item.lecture .speakers-container .speaker:first-child{
        vertical-align:top
    }
}

/* Mobile Responsive Styles - Only for max-width: 768px */
@media (max-width:768px){
    /* Prevent horizontal scroll */
    .agenda-section{
        overflow-x:hidden;
        width:100%;
        max-width:100%
    }
    .agenda-section .container{
        padding-left:max(1rem,2vw);
        padding-right:max(1rem,2vw);
        overflow-x:hidden
    }
    .agenda-day-content,
    .presentation-wrapper{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
        box-sizing:border-box
    }
    
    /* Day tabs mobile improvements */
    .agenda-day-tabs{
        padding:0 max(0.5rem,1vw);
        gap:max(0.8rem,2vw)
    }
    .agenda-day-tab{
        padding:max(0.8rem,1.5vw) max(0.6rem,1vw);
        flex:1;
        touch-action:manipulation;
        -webkit-tap-highlight-color:transparent
    }
    .agenda-day-tab .day-name{
        white-space:nowrap;
        font-weight:600
    }
    .agenda-day-tab .day-date{
        white-space:nowrap;
        line-height:1.2
    }
    .agenda-day-tab.active .day-name,
    .agenda-day-tab.active .day-date{
        font-weight:600
    }
    .agenda-day-tab.line--bottom{
        margin-bottom:0
    }
    .agenda-day-tab.line--bottom::after{
        width:calc(100% + max(0.5rem,1vw));
        height:3px;
        bottom:-1px;
        z-index:20
    }
    .agenda-section .w-full.border-bottom{
        position:relative;
        z-index:1
    }
    
    /* Agenda wrapper mobile */
    .agenda-section .agenda-wrapper{
        padding:max(0.8rem,1.5vw);
        overflow-x:hidden;
        width:100%;
        max-width:100%
    }
    .agenda-section .agenda-wrapper *{
        box-sizing:border-box
    }
    .agenda-section .agenda-wrapper img,
    .agenda-section .agenda-wrapper svg{
        max-width:100%;
        height:auto
    }
    .agenda-section .agenda-wrapper p{
        word-wrap:break-word;
        overflow-wrap:break-word;
        hyphens:auto;
        max-width:100%
    }
    
    /* Agenda items mobile */
    .agenda-item{
        padding:max(1rem,1.5vw) max(1rem,2vw);
        width:100%;
        max-width:100%;
        overflow-x:hidden;
        word-wrap:break-word
    }
    
    /* Pause items (coffee/drinks) - time on top left, coffee and text below */
    .agenda-item.pause{
        grid-template-columns:1fr;
        grid-template-rows:auto auto;
        row-gap:max(0.8rem,1.2vw);
        align-items:flex-start;
        background-color:#f8f9fa;
        /* border-radius:max(0.6rem,1vw); */
        padding:max(1rem,1.5vw) max(1.2rem,2vw);
        margin-bottom:max(0.8rem,1vw);
        border:1px solid #e9ecef;
        box-shadow:0 2px 4px rgba(0,0,0,0.05);
        border-radius: 0;
    }
    .agenda-item.pause .hour{
        order:1;
        width:100%;
        padding:0;
        padding-bottom:max(0.5rem,0.8vw);
        font-size:clamp(0.9rem,2.5vw,1.05rem);
        font-weight:600;
        color:#233040;
        text-align:left !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
        border-bottom:1px solid rgba(0,0,0,0.1);
        margin-bottom:max(0.5rem,0.8vw)
    }
    .agenda-item.pause .hour p{
        font-size:clamp(0.9rem,2.5vw,1.05rem) !important;
        white-space:nowrap;
        font-weight:600;
        color:#233040;
        margin:0;
        text-align:left !important
    }
    .agenda-item.pause .content{
        order:2;
        min-width:0;
        display:flex;
        align-items:center;
        flex:1;
        gap:max(0.8rem,1.2vw)
    }
    .agenda-item.pause .content .icon{
        padding:max(0.5rem,0.7vw);
        flex-shrink:0;
        display:flex;
        align-items:center;
        justify-content:center;
        background-color:#fff;
        /* border-radius:max(0.4rem,0.6vw); */
        width:max(3.5rem,4vw);
        height:max(3.5rem,4vw);
        min-width:max(3.5rem,4vw);
        box-shadow:0 2px 4px rgba(0,0,0,0.08)
    }
    .agenda-item.pause .content .icon img,
    .agenda-item.pause .content .icon svg{
        width:max(2.2rem,2.8vw);
        max-width:2.8rem;
        height:auto;
        filter:brightness(0.85)
    }
    .agenda-item.pause .content .text{
        flex:1;
        min-width:0;
        overflow:visible;
        white-space:normal
    }
    .agenda-item.pause .content .text p{
        font-size:clamp(0.95rem,2.5vw,1.1rem) !important;
        font-weight:600;
        line-height:1.3;
        color:#233040;
        margin:0;
        white-space:normal;
        word-break:normal;
        overflow-wrap:normal;
        hyphens:none
    }
    
    /* Lecture items mobile layout */
    .agenda-item.lecture{
        grid-template-columns:1fr;
        grid-template-rows:auto;
        row-gap:max(1rem,1.5vw);
        column-gap:0;
        padding-bottom:max(1.2rem,2vw)
    }
    .agenda-item.lecture .hour{
        order:-1;
        width:100%;
        min-width:auto;
        justify-content:flex-start;
        padding-bottom:max(0.5rem,1vw);
        font-size:clamp(0.9rem,2.5vw,1.05rem);
        margin-bottom:max(0.5rem,1vw);
        border-bottom:none
    }
    .agenda-item.lecture .hour p{
        font-size:clamp(0.9rem,2.5vw,1.05rem) !important;
        white-space:nowrap;
        font-weight:600
    }
    .agenda-item.lecture .title{
        order:1;
        width:100%;
        margin-bottom:max(1rem,1.5vw);
        min-width:0;
        overflow:hidden;
        word-wrap:break-word
    }
    .agenda-item.lecture .title p{
        font-size:clamp(1rem,2.8vw,1.2rem) !important;
        font-weight:600;
        word-wrap:break-word;
        overflow-wrap:break-word;
        hyphens:auto;
        line-height:1.4;
        margin-bottom:max(0.3rem,0.5vw)
    }
    .agenda-item.lecture .speakers-container{
        order:2;
        width:100%;
        min-width:0;
        gap:max(0.8rem,1.2vw)
    }
    .agenda-item.lecture .speaker{
        order:2;
        width:100%;
        min-width:0;
        overflow:hidden;
        margin-bottom:max(0.5rem,0.8vw)
    }
    .agenda-item.lecture .speaker:last-child{
        margin-bottom:0
    }
    .agenda-item.lecture .speaker .speaker--image{
        width:max(4.5rem,5.5vw);
        height:max(4.5rem,5.5vw);
        min-width:max(4.5rem,5.5vw);
        max-width:5rem;
        max-height:5rem;
        padding:max(0.3rem,0.5vw);
        flex-shrink:0
    }
    .agenda-item.lecture .speaker .speaker--name{
        margin-left:max(0.6rem,1vw);
        min-width:0;
        flex:1;
        overflow:hidden;
        word-wrap:break-word
    }
    .agenda-item.lecture .speaker .speaker--name p{
        font-size:clamp(0.85rem,2.2vw,1rem) !important;
        word-wrap:break-word;
        overflow-wrap:break-word;
        hyphens:auto;
        line-height:1.3;
        margin-bottom:max(0.2rem,0.3vw)
    }
    .agenda-item.lecture .speaker .speaker--name p:last-child{
        margin-bottom:0;
        font-size:clamp(0.75rem,1.8vw,0.9rem) !important;
        color:#666
    }
    
    /* Sunday (day 1) - title first, then speaker */
    .agenda-day-content[data-day="1"] .agenda-item.lecture .title{
        order:1;
        margin-bottom:max(0.8rem,1.2vw)
    }
    .agenda-day-content[data-day="1"] .agenda-item.lecture .speaker,
    .agenda-day-content[data-day="1"] .agenda-item.lecture .speakers-container{
        order:2
    }
}

.programslider-container{
    position:relative
}
.programslider-container .programSlider-navigation{
    display:flex;
    justify-content:flex-end
}
@media(min-width: 1199px){
    .programslider-container .programSlider-navigation .programSlider-arrow{
        justify-content:space-between;
        position:absolute;
        z-index:500;
        width:5rem;
        height:5rem;
        top:50%;
        transform:translateY(-50%)
    }
    .programslider-container .programSlider-navigation .programSlider-prev{
        left:-5vw
    }
    .programslider-container .programSlider-navigation .programSlider-next{
        right:-5vw
    }
}
@media(min-width: 768px){
    .program-slider .speaker-image img{
        height:7rem;
        width:100%;
        object-fit:cover
    }
}
@media(min-width: 768px){
    .program-slider .speaker img{
        display:none
    }
}
/* Premium Partners & other sponsors sections */
/* .lqd-section.sponsors{
    margin-bottom:100px
} */
/* Desktop static grid - show on desktop, hide on mobile */
.sponsors-row-desktop{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:max(1.5rem,3vw)
}
@media(max-width: 991px){
    .sponsors-row-desktop{
        display:none !important
    }
}
/* Mobile slider - hide on desktop, show on mobile */
.sponsors-row-mobile{
    display:none !important
}
@media(max-width: 991px){
    .sponsors-row-mobile{
        display:block !important
    }
}
.sponsors-row{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:max(1.5rem,3vw)
}
.sponsors-row > div{
    display:flex;
    justify-content:center;
    align-items:center;
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
    box-sizing:border-box
}
@media(min-width: 992px){
    .sponsors-row{
        flex-wrap:wrap;
        justify-content:center;
        gap:1rem
    }
    .sponsors-row > div{
        flex:0 0 calc((100% - 4rem) / 5);
        max-width:calc((100% - 4rem) / 5);
        min-width:0
    }
    /* Partners section - 4 per row */
    .partners-grid > div{
        flex:0 0 calc((100% - 3rem) / 4);
        max-width:calc((100% - 3rem) / 4);
        min-width:0
    }
}
.sponsors__image{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    padding:1rem;
    overflow:hidden;
    box-sizing:border-box
}
.sponsors__image a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    overflow:hidden;
    box-sizing:border-box
}
.sponsors__image img{
    max-height:7rem;
    width:auto;
    height:auto;
    max-width:100%;
    object-fit:contain;
    filter:grayscale(0);
    display:block
}
.sponsors__image:hover img{
    opacity:0.8;
    transition:opacity 0.3s ease
}

/* Larger logos for specific sections */
.gold_sponsors .sponsors__image img{
    max-height:7rem;
}

/* Slightly larger size for Imperial Tobacco and Leoron logos */
.sponsors-row > div:nth-child(1) .sponsors__image img,
.sponsors-row > div:nth-child(4) .sponsors__image img{
    max-height:7rem;
}

/* Mobile Sliders for Premium Partners, Premium Digital Partners, Gold Partners, and Partners */
.premium-partners-slider,
.premium-digital-partners-slider,
.gold-partners-slider,
.partners-slider{
    overflow:hidden;
    padding:1rem 0;
    display:none !important
}
@media(max-width: 991px){
    .premium-partners-slider,
    .premium-digital-partners-slider,
    .gold-partners-slider,
    .partners-slider{
        display:block !important
    }
}
.premium-partners-slider .swiper-slide,
.premium-digital-partners-slider .swiper-slide,
.gold-partners-slider .swiper-slide,
.partners-slider .swiper-slide{
    display:flex;
    align-items:center;
    justify-content:center;
    height:auto
}
.premium-partners-slider .swiper-slide .sponsors__image,
.premium-digital-partners-slider .swiper-slide .sponsors__image,
.gold-partners-slider .swiper-slide .sponsors__image,
.partners-slider .swiper-slide .sponsors__image{
    width:100%;
    height:100%;
    padding:1rem;
    display:flex;
    align-items:center;
    justify-content:center
}
.premium-partners-slider .swiper-slide .sponsors__image img,
.premium-digital-partners-slider .swiper-slide .sponsors__image img,
.gold-partners-slider .swiper-slide .sponsors__image img,
.partners-slider .swiper-slide .sponsors__image img{
    max-height:7rem;
    width:auto;
    height:auto;
    max-width:100%;
    object-fit:contain;
    display:block
}
/* Partners and Sponsors Slider */
.partners-sponsors-slider-wrapper{
    position:relative;
    padding:2rem 0 4rem
}
.partners-sponsors-slider{
    overflow:hidden
}
.partners-sponsors-slider .swiper-slide{
    display:flex;
    align-items:center;
    justify-content:center;
    height:auto
}
.partners-sponsors-slider .swiper-slide .sponsors__image{
    width:100%;
    height:100%;
    padding:1rem;
    display:flex;
    align-items:center;
    justify-content:center
}
.partners-sponsors-slider .swiper-slide .sponsors__image img{
    max-height:7rem;
    width:auto;
    height:auto;
    max-width:100%;
    object-fit:contain;
    display:block
}
.partners-sponsors-slider .swiper-pagination{
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    width:auto
}
.partners-sponsors-slider .swiper-pagination-bullet{
    width:10px;
    height:10px;
    background:#999;
    opacity:0.5;
    margin:0 5px;
    transition:all 0.3s ease
}
.partners-sponsors-slider .swiper-pagination-bullet-active{
    background:#d32f2f;
    opacity:1
}
.partners-sponsors-slider .swiper-button-next,
.partners-sponsors-slider .swiper-button-prev{
    color:#d32f2f;
    width:40px;
    height:40px;
    margin-top:-20px
}
.partners-sponsors-slider .swiper-button-next:after,
.partners-sponsors-slider .swiper-button-prev:after{
    font-size:20px
}
.partners-sponsors-slider .swiper-button-next:hover,
.partners-sponsors-slider .swiper-button-prev:hover{
    color:#b71c1c
}

/* Gallery Section - Mobile Styles */
@media(max-width: 991px){
    /* Make all gallery images the same size on mobile */
    .gallery .masonry-item{
        width:100% !important;
        position:relative !important;
        left:auto !important;
        top:auto !important;
        margin-bottom:1rem !important;
        height:auto !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
    .gallery .masonry-item .ld-media-item{
        width:100%;
        height:auto;
    }
    .gallery .masonry-item figure{
        width:100% !important;
        height:auto !important;
        aspect-ratio:4/3 !important;
        overflow:hidden;
        margin:0;
        padding:0;
    }
    .gallery .masonry-item figure picture,
    .gallery .masonry-item figure img{
        width:100% !important;
        height:100% !important;
        object-fit:cover !important;
        display:block;
        margin:0;
        padding:0;
    }
    /* Ensure all masonry items have consistent sizing regardless of original classes */
    .gallery .masonry-item.w-33percent,
    .gallery .masonry-item.w-16percent,
    .gallery .masonry-item.w-50percent,
    .gallery .masonry-item.module-masonry-1,
    .gallery .masonry-item.module-masonry-2{
        width:100% !important;
    }
    /* Reset gallery-6 height on mobile to prevent gap */
    /* Target gallery-6 image specifically */
    .gallery .masonry-item img[src*="gallery-6.jpg"]{
        height:100% !important;
        max-height:none !important;
        object-fit:cover !important;
    }
    /* Reset masonry items that have inline height styles (including gallery-6) */
    .gallery .masonry-item[style*="height"]{
        height:auto !important;
        min-height:0 !important;
    }
    /* Reset child elements of masonry items with height styles */
    .gallery .masonry-item[style*="height"] figure,
    .gallery .masonry-item[style*="height"] picture,
    .gallery .masonry-item[style*="height"] .ld-media-item{
        height:auto !important;
        min-height:0 !important;
    }
    /* But ensure images still fill their containers */
    .gallery .masonry-item[style*="height"] img{
        height:100% !important;
        object-fit:cover !important;
    }
    /* Fix masonry container height to prevent gap and overlap */
    .gallery .ld-media-row,
    .gallery [data-liquid-masonry="true"]{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        margin-bottom:2rem !important;
        position:relative !important;
        padding-bottom:0 !important;
    }
    /* Override inline height styles that cause gap - target all possible inline style variations */
    .gallery .ld-media-row[style],
    .gallery [data-liquid-masonry="true"][style],
    .gallery .ld-media-row[style*="height"],
    .gallery [data-liquid-masonry="true"][style*="height"],
    .gallery .row.flex[style*="height"],
    .gallery .row[style*="height"]{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
    }
    /* Remove any padding that might create gaps */
    .gallery .ld-media-row,
    .gallery [data-liquid-masonry="true"]{
        padding-top:0 !important;
        padding-bottom:0 !important;
    }
    /* Ensure gallery section wrapper doesn't cause overlap or gaps */
    .gallery .w-full.relative{
        /* margin-bottom:0 !important; */
        min-height:0 !important;
        height:auto !important;
    }
    /* Ensure the container div wraps content properly */
    .gallery .w-full.relative > .ld-media-row,
    .gallery .w-full.relative > [data-liquid-masonry="true"]{
        height:auto !important;
        min-height:0 !important;
    }
    /* Ensure gallery section has proper bottom spacing to prevent contact form overlap */
    .gallery.section-padding-lg--y{
        padding-bottom:3rem !important;
    }
    /* Add extra margin after gallery buttons to ensure contact form doesn't overlap */
    .gallery-buttons-wrapper{
        margin-bottom:2rem !important;
    }
    /* Add gap between gallery buttons */
    .gallery-buttons-wrapper{
        display:flex;
        flex-direction:row;
        gap:1rem;
        justify-content:center;
        align-items:center;
        /* margin-top:6rem; */
        /* padding-top:5.5rem; */
        flex-wrap:wrap
    }
    .gallery-buttons-wrapper .btn{
        margin-right:0 !important;
        flex:0 0 auto
    }
}

/* Gallery Section - 1024px Optimization */
@media (min-width: 992px) and (max-width: 1199px) {
    /* Convert masonry to CSS Grid for cleaner layout */
    .gallery .ld-media-row,
    .gallery [data-liquid-masonry="true"] {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.5rem !important;
        row-gap: 0.5rem !important;
        column-gap: 0.5rem !important;
        height: auto !important;
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Reset all masonry items to normal flow */
    .gallery .masonry-item {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        margin: 0 !important;
        margin-bottom: 0 !important;
        margin-top: 0 !important;
        height: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    
    /* Remove margin-bottom from mb-10 class and px-5 padding */
    .gallery .masonry-item.mb-10,
    .gallery .masonry-item.px-5 {
        margin-bottom: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    /* Ensure consistent image sizing */
    .gallery .masonry-item .ld-media-item {
        width: 100%;
        height: auto;
    }
    
    /* Set consistent aspect ratio for all images - slightly taller for better visual balance */
    .gallery .masonry-item figure {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 3/2 !important;
        overflow: hidden;
        margin: 0;
        padding: 0;
        border-radius: 0 !important;
    }
    
    /* Remove border-radius from images and figures */
    .gallery .masonry-item figure img,
    .gallery .masonry-item .ld-media-item {
        border-radius: 0 !important;
    }
    
    .gallery .masonry-item figure picture,
    .gallery .masonry-item figure img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block;
        margin: 0;
        padding: 0;
    }
    
    /* Override any width classes - default to single column */
    .gallery .masonry-item.w-33percent,
    .gallery .masonry-item.w-16percent,
    .gallery .masonry-item.w-50percent,
    .gallery .masonry-item.module-masonry-1,
    .gallery .masonry-item.module-masonry-2 {
        width: 100% !important;
        grid-column: span 1 !important;
    }
    
    /* Make the last image (gallery-7) span full width */
    .gallery .masonry-item:last-child,
    .gallery .masonry-item:nth-child(7) {
        width: 100% !important;
        grid-column: span 2 !important;
    }
    
    /* Last image should maintain aspect ratio but span full width */
    .gallery .masonry-item:last-child figure,
    .gallery .masonry-item:nth-child(7) figure {
        aspect-ratio: 2/1 !important;
        width: 100% !important;
    }
    
    /* Fix gallery-6 to prevent gaps - target by nth-child since gallery-6 is the 4th item */
    .gallery .masonry-item:nth-child(4) {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        grid-column: span 1 !important;
    }
    
    .gallery .masonry-item:nth-child(4) figure {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 3/2 !important;
    }
    
    .gallery .masonry-item:nth-child(4) img {
        height: 100% !important;
        object-fit: cover !important;
    }
    
    .gallery .masonry-item:nth-child(4) picture,
    .gallery .masonry-item:nth-child(4) .ld-media-item {
        height: auto !important;
        min-height: 0 !important;
    }
    
    /* Reset any inline styles that might interfere */
    .gallery .masonry-item[style] {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        height: auto !important;
    }
    
    /* Ensure container wraps properly */
    .gallery .w-full.relative {
        margin-bottom: 2rem;
    }
    
    /* Remove padding from row that creates extra spacing */
    .gallery .ld-media-row.row.flex {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    /* Remove any container padding that might create gaps */
    .gallery .container-fluid {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    .gallery .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    .gallery .col {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Desktop-only line breaks */
.desktop-line-break {
    display: none;
}

@media (min-width: 992px) {
    .desktop-line-break {
        display: block;
    }
}

/* Accordion numbered spans and title text - red when active/open (only the selected one) */
.accordion-item.active .accordion-title a {
    color: #eb212d !important;
}

.accordion-item.active .accordion-title a span[style*="font-size"] {
    color: #eb212d !important;
}

/* Fallback for when Bootstrap uses show class */
.accordion-item:has(.accordion-collapse.show) .accordion-title a,
.accordion-item:has(.accordion-collapse.show) .accordion-title a span[style*="font-size"] {
    color: #eb212d !important;
}

/* Gallery buttons spacing for 1440px screens */
@media (min-width: 1440px) and (max-width: 1599px) {
    .gallery-buttons-wrapper {
        margin-top: 35px !important;
    }
}

/* 404 PAGE */
/* 404 Error Page Styles - Centered Layout */
.error-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    text-align: center;
    background-color: #f8f9fa;
  }
  
  .error-content {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  
  .error-image {
    margin-bottom: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }
  
  .error-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    max-width: 500px;
  }
  
  .error-page h1,
  .error-content h1,
  .error-title {
    font-size: clamp(2.5rem, 6vw, 4rem);
    font-weight: 700;
    margin-bottom: 1.5rem;
    color: #233040;
    line-height: 1.2;
    text-align: center;
    width: 100%;
  }
  
  .error-page p,
  .error-content p,
  .error-desc {
    font-size: clamp(1.125rem, 2.5vw, 1.375rem);
    color: #666;
    margin-bottom: 2.5rem;
    line-height: 1.7;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  
  .error-actions {
    margin-top: 2.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }
  
  .error-actions .slider-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }
  
  .error-actions .slider-btn a {
    margin: 0 auto;
  }
  
  /* Laptop/Desktop */
  @media (min-width: 992px) {
    .error-page {
      padding-top: 10rem;
    }
  }
  
  /* Mobile Responsive Styles */
  @media (max-width: 991px) {
    .error-page {
      padding: 3rem 1.5rem;
    }
    
    .error-image {
      margin-bottom: 2.5rem;
    }
    
    .error-img {
      max-width: 400px;
    }
  }
  
  @media (max-width: 768px) {
    .error-page {
      min-height: 100vh;
      padding: 2rem 1rem;
    }
    
    .error-image {
      margin-bottom: 2rem;
    }
    
    .error-img {
      max-width: 300px;
    }
    
    .error-page h1,
    .error-content h1,
    .error-title {
      margin-bottom: 1rem;
      font-size: clamp(2rem, 8vw, 3rem);
    }
    
    .error-page p,
    .error-content p,
    .error-desc {
      margin-bottom: 2rem;
      font-size: clamp(1rem, 4vw, 1.25rem);
    }
    
    .error-actions {
      margin-top: 2rem;
    }
  }
  
  @media (max-width: 480px) {
    .error-page {
      padding: 1.5rem 1rem;
    }
    
    .error-image {
      margin-bottom: 1.5rem;
    }
    
    .error-img {
      max-width: 250px;
    }
    
    .error-page h1,
    .error-content h1,
    .error-title {
      margin-bottom: 0.75rem;
    }
    
    .error-page p,
    .error-content p,
    .error-desc {
      margin-bottom: 1.5rem;
    }
    
    .error-actions {
      margin-top: 1.5rem;
    }
  }

/*# sourceMappingURL=custom.css.map */
 
/*# sourceMappingURL=custom.css.map */
 
 