/* =============================================================================
   Spring I/O 2026 : springio.net                    /  www.jorgerigabert.com  /
   ========================================================================== */

/*              

         000111100110001001000111010000101111011011111100010010101001010        
      001000011111111001111110100101110011111001101011001110101000011111110     
   011111000110010000110010001010000000001101010001101111011111001101110000000  
  00110100100110110101001110101111111001100011100110110011110111010101010001110 
 0011110001010100111100110010011111100011000110000001111101110000100010110101100
 0011011110010111100011111011100010101111011011110100011011111010001000000110000
 0111111101011101011110000011101010000111011001100110101011000000100011010111010
 0001000010100111100101100100000001010111111100010111000111011110110111100010100
 01110101111000001010001100110101101111100               01110010100011011000110
 001110111001111011010111011010110010110                011001001110111001101110
 01110100111101001111001011111110101010               01101011101000111100001110
 0101101001100001010111011011011101000               000100111000011110110000000
 00000110011110001111010101101100010               01010111010011001100011111000
 0110010001100100000010010110110100               010010001111101111000101001000
 011100010110000000000101000110110              01111100000101001011000101010100
 0010111010111101011001101001010               011000110010101001101000100100010
 010011010110101010010111110100                      010101011101010000111110110
 00101010110000101011110111100                     00100010101010001101000100010
 01011100011001011111110010000111000              010110100000101111011000011100
 0000000001100000010001000110110000             01001000011100100011111111011100
 00011101011001000110011100001110             0011100101010010001010011001111100
 0101101110001110000010110001110             01000010110101000100001000000010100
 010010101011101000100110001010            0000111000010100010010001110110100000
 01001001110111100110010110010            00000110100011101101000000110110100000
 000110100101101101010110000             011101110110011010101000000010000001110
 00000101001101010100111000                   0101111001110101100100100101101000
 01010010110011110100111111101010           010100010000101011000100111011000110
 0100100010000100100011111110000          01110000000011100111010000011001111110
 010010000100011111101001011110        01101110010011011110110110111010110101110
 01010010110101100101000101100       0101111011110101110000110111000110110001010
 000011011110011011001011010       011011110010011000101110000011010000100101110
 00110110000100111101001100     011001010010010100110101111110110101110010011100
 0010001101100111000110000    01101101111111101101101000001100110000011001101110
 001101100101100001100010   0100111001000110111101010111100101101101000100101010
 01011100010000001111100  011101001010011000011101010101111010111111110000111110
 0100001001001111100000 00001001100101000111100101010000001010001110110010101110
 0000111011101010110110101101011000001000100100101011110000111000001011010110000
 0111110011011010100101101010101100101101101111110010110000110000010101000011010
  01011101111110100011111000001010010010000000100101010101001000101111011010110 
   000110000110000100101101111000110000101110100001101010100110011010011110000  
      001000100111011000110110001111101000001101010010011011000101001000110     
         000011111110011111101001011100111111001101011001110101000011110         

*/

/* =============================================================================
   IMPORTS
   ========================================================================== */

@import url('./colors.css');
@import url('./variables.css');
@import url('./base.css');
@import url('./navigation.css');
@import url('./theme.css');
@import url('./dev.css');

/* =============================================================================
   GENERAL
   ========================================================================== */

.title, .w100{ width: 100%;}
.title, .info-title{ 
    display: flex;
    flex-direction: column;
    position: relative;
    gap: var(--grid-item-gap);
    }
.w90{ width: 90%;}
.w80{ width: 80%;}
.pt12{ padding-top: 12px;}
.pb12{ padding-bottom: 12px;}
.mt12{ margin-top: 12px;}
.mb12{ margin-bottom: 12px;}
.pt24{ padding-top: 24px;}
.pb24{ padding-bottom: 24px;}
.mt24{ margin-top: 24px;}
.mb24{ margin-bottom: 24px;}
.align-center{ text-align: center;}
.align-right{
    text-align: right;
    justify-items: right;
    }
.align-items-center{ align-items: center;}
.npt{ padding-top: 0!important;}
.npr{ padding-right: 0!important;}
.npb{ padding-bottom: 0!important;}
.npl{ padding-left: 0!important;}
.min-full-height{
    min-height: var(--app-viewport-height, 100vh);
    }
.nmt{ margin-top: 0!important;}
.nmb{ margin-bottom: 0!important;}
.nmw{ max-width: none!important;}
.nmh{ min-height: 0!important;}
.pb2{ padding-bottom: calc(var(--wrapper-ptb) / 2)}
.pro-gap{ margin-top: var(--grid-item-gap)!important;}
.no-gap{ gap: 0!important;}
.auto{ 
    display: flex; 
    justify-content: center;
    }
.border-radius-header{ border-radius: var(--header-border-radius);}
.regular-link{
        color: hsla(var(--theme-text-primary),1);
        text-decoration: none;
        font-weight: 700;
        opacity: 0.78;
        transition: opacity 0.35s var(--ease-snappy), color 0.35s var(--ease-snappy);
        }
        .regular-link:hover{
			opacity: 1;
			color: hsla(var(--theme-text-primary),1);
			}
.regular-list,
#workshop.workshop ul{
    position: relative;
    }
    .regular-list li,
    #workshop.workshop ul li{
        position: relative;
        padding: var(--regular-list-pad);
        }
        .regular-list li::after,
        #workshop.workshop ul li::after{
            position: absolute;
            content: "";
            width: var(--regular-list-is);
            height: var(--regular-list-is);
            border-radius: 100px;
            top: var(--regular-list-it);
            left: 0;
            background: hsla(var(--theme-text-primary),1);
            }
.regular-list.small{    
    padding: 9px;
    }
    .regular-list.small li{
        font-size: var(--fs-body-s);
        line-height: var(--lh-body-s);        
        margin-top: -6px;
        }
    .regular-list li.sublist{
        padding: 0 12px;
        }
        .regular-list.small li.sublist li{
            font-size: var(--fs-body-s);
            line-height: var(--lh-body-s);
            }
        .regular-list li.sublist::after, .regular-list li.sublist li::after{
            visibility: hidden;
            }
            .regular-list li.sublist li{
                display: flex;
                align-items: center;
                padding: 9px 0;
                gap: 6px;
                }
                .regular-list li.sublist li span{
                    display: none;
                    }
                .regular-list li.sublist li .card-icon{
                    margin-bottom: 0;
                    }
.regular-list.xsmall li{
    font-size: var(--fs-body-xs);
    line-height: var(--lh-body-s);        
    margin-top: -8px;
    padding: var(--regular-list-pad-xs);
    }
    .regular-list.xsmall li.sublist li{
        font-size: var(--fs-body-xs);
        line-height: var(--lh-body-xs);
        }
.regular-list.horizontal{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    }
    .regular-list.horizontal li{
        flex: 0 1 auto;
        padding: var(--regular-list-pad);
        }
.regular-list.inline{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    }
    .regular-list.inline li{
        flex: 0 1 auto;
        padding: 6px 12px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        }
        .regular-list.inline li::after{ display: none;}
.regular-list.row{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    }
    .regular-list.row li{
        flex: 0 1 auto;
        padding: var(--regular-list-pad);
        }
.pixel-window__content .regular-list li:last-child{ padding-bottom: 0;}
@media (max-width: 768px){
    .regular-list.horizontal, .regular-list.inline, .regular-list.row{
        flex-direction: column;
        gap: 12px;
        }
    .regular-list.inline li{
        display: flex;
        padding: var(--regular-list-pad);
        }
        .regular-list.inline li::after{ display: block;}
    }
.ordered-list{
    list-style-type: none;
    counter-reset: ordered;
    }
    .ordered-list li{
        padding: var(--ordered-list-pad);
        }
        .ordered-list li::after{
            content: counter(ordered);
            counter-increment: ordered;
            position: absolute;
            display: flex;
            justify-content: flex-end;
            width: var(--ordered-list-iw);
            top: var(--ordered-list-it);
            left: 4px;
            font-weight: 700;
            color: hsla(var(--theme-text-primary),1);            
            }
.alert{
    display: flex;
    position: relative;
    flex-direction: column;
    width: 100%;
    text-align: center;
    align-items: center;
    gap: calc(var(--padding-content) / 2);
    padding: var(--padding-content-small);
    margin-bottom: var(--grid-item-gap);
    box-sizing: border-box;
    border-radius: var(--header-border-radius);
    background: hsla(var(--theme-yellow-card),1);
    z-index: 100;
    }
#map{
    position: relative;
    width: 100%;
    height: var(--map-height);
    filter: grayscale(12%);
    opacity: 1;
    }
    #map a{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        }
    #map iframe{ pointer-events: none;}
    .dark #map{
        opacity: 1;
        filter: invert(90%) hue-rotate(180deg) grayscale(12%);
        }

/* =============================================================================
   COOKIES
   ========================================================================== */

#cc-main .cm{
    max-width: 22rem;
    }
#cc-main .cm__title + .cm__desc{
    margin-top: 0.66em;
    }
#cc-main .cm__btns, #cc-main .cm__links{
    padding: 18px;
    }
#cc-main .cm__desc, #cc-main .cm__title{
    padding-right: 18px;
    padding-left: 18px;
    }
#cc-main .cm__btn, #cc-main .cm__btn:hover, #cc-main .cm__btn--secondary, #cc-main .cm__btn--secondary:hover, #cc-main .pm__btn, #cc-main .pm__btn:hover, #cc-main .pm__btn--secondary, #cc-main .pm__btn--secondary:hover, #cc-main .pm__close-btn, #cc-main .pm__close-btn:hover{
    border: none;
    }
#cc-main .pm__badge{
    background: var(--cc-btn-secondary-bg);
    color: var(--cc-primary-color);
    padding: 0 1em 1px;
    }
#cc-main .cc--anim .cm{
    transition-duration: 0.84s;    
    }
#cc-main .cm__btn+.cm__btn{
    margin-top: 0;
}
#cc-main .cm__btns .cm__btn-group:first-child{
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    }
#cc-main .cm__btn-group .cm__btn.cm__btn--secondary{
    background: none;
    padding-bottom: 0;
    }

/* =============================================================================
   MARQUEE
   ========================================================================== */

.marquee-container{
    overflow: hidden;
    white-space: nowrap;
    display: flex;
    align-items: center;
    }
.image-marquee-container{
    display: flex;
    gap: 2px;
    }
    .wrapper .image-marquee-container{ width: calc(100% + calc(var(--wrapper-plr) * 2)); margin-right: calc(0px - var(--wrapper-plr)); margin-left: calc(0px - var(--wrapper-plr));}    
        .wrapper.superbig .image-marquee-container{ width: calc(100% + calc(var(--wrapper-plr-superbig) * 2)); margin-right: calc(0px - var(--wrapper-plr-superbig)); margin-left: calc(0px - var(--wrapper-plr-superbig));}
        .wrapper.big .image-marquee-container{ width: calc(100% + calc(var(--wrapper-plr-big) * 2)); margin-right: calc(0px - var(--wrapper-plr-big)); margin-left: calc(0px - var(--wrapper-plr-big));}
        .wrapper.medium .image-marquee-container{ width: calc(100% + calc(var(--wrapper-plr-medium) * 2)); margin-right: calc(0px - var(--wrapper-plr-medium)); margin-left: calc(0px - var(--wrapper-plr-medium));}
        .wrapper.small .image-marquee-container{ width: calc(100% + calc(var(--wrapper-plr-small) * 2)); margin-right: calc(0px - var(--wrapper-plr-small)); margin-left: calc(0px - var(--wrapper-plr-small));}
    .image-marquee-container img{
        max-width: var(--marquee-container-img);
        }
    .image-marquee-container.imcxl img{
        max-width: var(--marquee-container-img-xl);
        }
    .image-marquee-container.imcxs img{
        max-width: var(--marquee-container-img-xs);
        }
    .image-marquee-container.grayscale{    
        mix-blend-mode: overlay;
        filter: grayscale(72%) contrast(110%) brightness(110%);
        }
        .image-marquee-container.grayscale img{
            opacity: 0.72;
            }
.hero-marquee{
    position: absolute;
    display: flex;
    z-index: 1;
    top: auto;
    right: 0;
    bottom: var(--pb-hero-marquee);
    left: 0;
    margin: auto;
    white-space: nowrap;
    font-size: var(--fs-hero-marquee);
    line-height: var(--fs-hero-marquee);
    letter-spacing: var(--ls-hero-marquee);
    align-items: center;
    opacity: 0;
    transition: opacity 2.72s 1.8s ease-in;
    }
    .enter-active .hero-marquee{
        opacity: 0.36;
        }
        .dark.enter-active .hero-marquee{
            opacity: 0.18;
            }
    .hero-marquee-content{
        display: inline-flex;
        }
        .hero-marquee b{
            display: inline-flex;
            position: relative;
            background: linear-gradient(hsla(var(--theme-green-title),1),hsla(var(--theme-green-title),1)) no-repeat 0 0;
            background-size: 0 100%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: hsla(var(--theme-green-title),0.12);
            }            
            .hero-marquee b::before{
                position: absolute;
                top: 0;
                left: 0;
                content: attr(data-descr);
                background-size: 100% 100%;
                -webkit-background-clip: text;
                background-clip: text;
                -webkit-text-fill-color: hsla(var(--theme-green-title),0);
                -webkit-text-stroke: 1px hsla(var(--theme-green-title),1);
                }
        .error .hero-marquee b{
            background: linear-gradient(hsla(var(--theme-red-title),1),hsla(var(--theme-red-title),1)) no-repeat 0 0;
            background-size: 0 100%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: hsla(var(--theme-red-title),0.09);
            }            
            .error .hero-marquee b::before{
                background-size: 100% 100%;
                -webkit-background-clip: text;
                background-clip: text;
                -webkit-text-fill-color: hsla(var(--theme-red-title),0);
                -webkit-text-stroke: 1px hsla(var(--theme-red-title),0.48);
                }
.hero-marquee-iso{
    position: absolute;
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    padding: var(--wrapper-ptb) 0 calc(var(--wrapper-ptb) * 0.36);
    overflow: hidden;
    }
    .hero-marquee-iso .w100{ visibility: hidden;}
    .hero-marquee-iso .hero-animation{ display: flex;}
    .hero-marquee-iso .hero-marquee{
        top: auto;
        bottom: var(--iso-marquee-bottom);
        margin: 0 auto;
        }        
        .hero-section .hero-marquee-iso{
            padding: var(--wrapper-ptb) 0;
            }
            .hero-section .hero-marquee-iso .hero-marquee{
                bottom: var(--iso-marquee-bottom-hs);
                }
.tickets .image-marquee-container{
    filter: grayscale(100%) contrast(100%) brightness(100%);
    mix-blend-mode: hard-light;
    opacity: 0.36;
    padding-bottom: 2px;
    }
.past-sponsors .marquee-container{
    gap: calc(var(--padding-content) / 2);
    padding-top: calc(var(--padding-content) * 1.5);
    }
    .past-sponsors .marquee-container.reverse{
        gap: calc(var(--padding-content) / 2);
        padding-top: calc(var(--padding-content) / 2);
        padding-bottom: calc(var(--padding-content) * 1.5);
        }
    .logo.logo-marquee{
        width: var(--logos-marquee);
        height: var(--logos-marquee);
        padding: 0;
        margin: 0;
        }
    .logo.icon-marquee{
        width: var(--icon-marquee);
        height: var(--icon-marquee);
        padding: 0;
        margin: 0;
        border-radius: 0;
        background: none;
        }

/* =============================================================================
   HERO
   ========================================================================== */

.hero{
    position: relative;
    overflow: hidden;
    min-width: 100vw;
    min-height: var(--app-viewport-height, 100vh);
    text-align: center;
    gap: var(--hero-gap);
    z-index: 1;
    background: radial-gradient(farthest-corner at 50% 50%, hsla(var(--theme-background),0) 36%, hsla(var(--theme-background),0.36) 66%, hsla(var(--theme-background),0.48) 80%, hsla(var(--theme-background),1) 100%), 
    radial-gradient(farthest-corner at 50% 50%, hsla(var(--theme-background),0) 36%, hsla(var(--theme-background),0.18) 80%, hsla(var(--theme-background),0.48) 90%, hsla(var(--theme-background),1) 100%), 
    linear-gradient(to top, hsla(var(--theme-background),0.48) 0%, hsla(var(--theme-background),0) 24%, hsla(var(--theme-background),0) 80%, hsla(var(--theme-background),0.48) 100%),
    0 0 / auto var(--grid-size) repeat-y linear-gradient(to top, transparent 0, transparent calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% + var(--line-width) / 2), transparent calc(50% + var(--line-width) / 2)), 0 0 / var(--grid-size) auto repeat-x linear-gradient(to right, transparent 0, transparent calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% + var(--line-width) / 2), transparent calc(50% + var(--line-width) / 2)), hsla(var(--theme-background),1);
    }
    .hero-pixel-trail{
        position: absolute;
        inset: 0;
        pointer-events: none;
        overflow: hidden;
        z-index: 0;
       /* mix-blend-mode: screen;*/
        }
        .hero-trail-color{
            --hero-pixel-color-1: var(--theme-green-hero-pixel-color-1);
            --hero-pixel-color-2: var(--theme-green-hero-pixel-color-2);
            --hero-pixel-color-3: var(--theme-green-hero-pixel-color-3);
            }
        .hero-icons-color{
            --theme-gray-icon-cursor: var(--theme-orange-icon-bg);
            --theme-gray-icon-smiley: var(--theme-yellow-icon-bg);
            --theme-gray-icon-eyes: var(--theme-turquoise-icon-bg);
            --theme-gray-icon-heart: var(--theme-magenta-icon-bg);
            --theme-gray-icon-hand: var(--theme-violet-icon-bg);
            --theme-gray-icon-leaf: var(--theme-green-icon-bg);
            --theme-gray-icon-cloud: var(--theme-blue-icon-bg);
            }          
    .hero-pixel-trail__canvas{
        width: 100%;
        height: 100%;
        display: block;
        image-rendering: pixelated;
        /*filter: saturate(110%);*/
        }
        .wrapper.hero{
            padding-top: calc(var(--header-height) * 2);
            padding-bottom: 12px;
            justify-content: space-evenly;
            /*padding-bottom: var(--hero-info-height);*/
            }
    .hero.hero-section{
        min-width: auto;
        min-height: auto;
        padding: var(--hs-hero-pt) 0 var(--hs-hero-pb);
        }
        .wrapper.hero.hero-section{
            padding-top: var(--hs-hero-pt);
            padding-bottom: var(--hs-hero-pb);
            }
        .hero.hero-section .hero-text-title::before{ background: none;}       
        .hero.hero-section h4, .hero.hero-section .h4{
            font-size: var(--fs-index-h4);
            line-height: var(--lh-index-h4);
            }
.hero-text, .hero-info, .hero-links{
    z-index: 1;
    }
    .hero-text{
        position: relative;
        display: flex;
        flex-direction: column;
        padding: var(--hero-text-pt) 0 var(--hero-text-pb);
        box-sizing: border-box;
        justify-content: center;
        text-align: center;
        z-index: 1;
        }
        .hero-text-title{
            position: relative;            
            width: 100%;
            --orbit-parallax-x: 0px;
            --orbit-parallax-y: 0px;
            }
            .hero-text-title::before{
                position:absolute;
                content: "";
                width: var(--hero-orbit-w);
                height: var(--hero-orbit-h);
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                margin: auto;
                transform: rotate(var(--hero-icons-rotation)) translate3d(var(--orbit-parallax-x), var(--orbit-parallax-y), 0);
                transform-origin: center;
                border-radius: 50%;
                opacity: 0.48;
                background-position: 0 0;
                background-size: 120% 120%;
                background-image: radial-gradient(22% 32% at 24% 50%, hsla(var(--theme-green-background-tint),0.42) 7%, transparent 100%), radial-gradient(26% 34% at 18% 71%, hsla(var(--theme-background),0.16) 6%, transparent 100%), radial-gradient(68% 52% at 36% 76%, hsla(var(--theme-turquoise-background-tint),0.36) 0%, transparent 100%), radial-gradient(40% 52% at 15% 94%, hsla(var(--theme-background),0.20) 12%, transparent 100%), radial-gradient(28% 40% at 7% 98%, hsla(var(--theme-green-background-tint),0.22) 24%, transparent 100%), radial-gradient(34% 48% at 91% 74%, hsla(var(--theme-green-background-tint),0.28) 8%, transparent 100%), radial-gradient(74% 86% at 67% 38%, hsla(var(--theme-turquoise-background-tint),0.30) 20%, transparent 100%), linear-gradient(125deg, hsla(var(--theme-background),0.92) 0%, hsla(var(--theme-green-background-tint),0.40) 12%, hsla(var(--theme-green-background-tint),0.34) 88%, hsla(var(--theme-background),0.92) 100%);
                filter: blur(18px);
                animation: hero-orbit-glow 20s ease-in-out infinite;
                }
                .error .hero-text-title::before{
                    background-image: radial-gradient(22% 32% at 24% 50%, hsla(var(--theme-red-background-tint),0.42) 7%, transparent 100%), radial-gradient(26% 34% at 18% 71%, hsla(var(--theme-background),0.16) 6%, transparent 100%), radial-gradient(68% 52% at 36% 76%, hsla(var(--theme-turquoise-background-tint),0.36) 0%, transparent 100%), radial-gradient(40% 52% at 15% 94%, hsla(var(--theme-background),0.20) 12%, transparent 100%), radial-gradient(28% 40% at 7% 98%, hsla(var(--theme-red-background-tint),0.22) 24%, transparent 100%), radial-gradient(34% 48% at 91% 74%, hsla(var(--theme-red-background-tint),0.28) 8%, transparent 100%), radial-gradient(74% 86% at 67% 38%, hsla(var(--theme-turquoise-background-tint),0.30) 20%, transparent 100%), linear-gradient(125deg, hsla(var(--theme-background),0.92) 0%, hsla(var(--theme-red-background-tint),0.40) 12%, hsla(var(--theme-red-background-tint),0.34) 88%, hsla(var(--theme-background),0.92) 100%);                
                    }
            .hero-text-title [data-pointer-depth]{
                will-change: transform;
                transform: translate3d(0,0,0);
                --hero-shadow-scale: 1;
                --hero-shadow-layer-1-base-x: 0px;
                --hero-shadow-layer-1-base-y: 0px;
                --hero-shadow-layer-2-base-x: 0px;
                --hero-shadow-layer-2-base-y: 0px;
                --hero-shadow-layer-1-dx: 0px;
                --hero-shadow-layer-1-dy: 0px;
                --hero-shadow-layer-2-dx: 0px;
                --hero-shadow-layer-2-dy: 0px;
                --hero-shadow-layer-1-axis-x: 0.08em;
                --hero-shadow-layer-1-axis-y: 0.08em;
                --hero-shadow-layer-2-axis-x: 0.16em;
                --hero-shadow-layer-2-axis-y: 0.16em;
                --hero-shadow-layer-1-blur: 0;
                --hero-shadow-layer-2-blur: 0;
                --hero-shadow-border-offset-x: 0px;
                --hero-shadow-border-offset-y: 0px;
                }
                .hero-text h1, .hero-text p, .hero-text .hero-cta{
                    position: relative;
                    z-index: 3;
                    }
                    .hero-text-title h1,
                    .hero-text-title h2{
                        position: relative;
                        }
                    .hero-text-title h2{
                        --hero-shadow-scale: 0.82;
                        }
                    .hero-text-title h1::after,
                    .hero-text-title h2::after,
                    .hero-text-title h1::before,
                    .hero-text-title h2::before{
                        content: attr(data-text);
                        position: absolute;
                        left: 0;
                        top: 0;
                        width: 100%;
                        color: hsla(var(--theme-green-text-shadow-1),1);
                        z-index: -1;
                        transform: translate(calc(var(--hero-shadow-layer-1-base-x) * var(--hero-shadow-scale) + var(--hero-shadow-layer-1-dx)),calc(var(--hero-shadow-layer-1-base-y) * var(--hero-shadow-scale) + var(--hero-shadow-layer-1-dy)));
                        text-shadow: calc(var(--hero-shadow-layer-1-axis-x) * var(--hero-shadow-scale) + var(--hero-shadow-layer-1-dx)) 0 calc(var(--hero-shadow-layer-1-blur)) hsla(var(--theme-green-text-shadow-1),0.68), calc(var(--hero-shadow-layer-1-axis-x) * -1 * var(--hero-shadow-scale) + var(--hero-shadow-layer-1-dx)) 0 calc(var(--hero-shadow-layer-1-blur)) hsla(var(--theme-green-text-shadow-1),0.48), 0 calc(var(--hero-shadow-layer-1-axis-y) * var(--hero-shadow-scale) + var(--hero-shadow-layer-1-dy)) calc(var(--hero-shadow-layer-1-blur)) hsla(var(--theme-green-text-shadow-1),0.56), 0 calc(var(--hero-shadow-layer-1-axis-y) * -1 * var(--hero-shadow-scale) + var(--hero-shadow-layer-1-dy)) calc(var(--hero-shadow-layer-1-blur)) hsla(var(--theme-green-text-shadow-1),0.42);
                        filter: none;
                        opacity: 0;
                        }
                        .error .hero-text-title h1::after,
                        .error .hero-text-title h2::after,
                        .error .hero-text-title h1::before,
                        .error .hero-text-title h2::before{
                            color: hsla(var(--theme-red-text-shadow-1),1);
                            text-shadow: calc(var(--hero-shadow-layer-1-axis-x) * var(--hero-shadow-scale) + var(--hero-shadow-layer-1-dx)) 0 calc(var(--hero-shadow-layer-1-blur)) hsla(var(--theme-red-text-shadow-1),0.68), calc(var(--hero-shadow-layer-1-axis-x) * -1 * var(--hero-shadow-scale) + var(--hero-shadow-layer-1-dx)) 0 calc(var(--hero-shadow-layer-1-blur)) hsla(var(--theme-red-text-shadow-1),0.48), 0 calc(var(--hero-shadow-layer-1-axis-y) * var(--hero-shadow-scale) + var(--hero-shadow-layer-1-dy)) calc(var(--hero-shadow-layer-1-blur)) hsla(var(--theme-red-text-shadow-1),0.56), 0 calc(var(--hero-shadow-layer-1-axis-y) * -1 * var(--hero-shadow-scale) + var(--hero-shadow-layer-1-dy)) calc(var(--hero-shadow-layer-1-blur)) hsla(var(--theme-red-text-shadow-1),0.42);
                            }
                        .hero-text-title h1::before,
                        .hero-text-title h2::before{
                            content: attr(data-text);
                            position: absolute;
                            left: 0;
                            top: 0;
                            color: hsla(var(--theme-green-text-shadow-1),1);
                            transform: translate(calc(var(--hero-shadow-border-offset-x) * var(--hero-shadow-scale)),calc(var(--hero-shadow-border-offset-y) * var(--hero-shadow-scale)));
                            text-shadow: calc(var(--hero-shadow-border-offset-x) * var(--hero-shadow-scale)) calc(var(--hero-shadow-border-offset-y) * var(--hero-shadow-scale)) 0  hsla(var(--theme-green-text-shadow-2),0.72);
                            filter: none;
                            }
                            .error .hero-text-title h1::before,
                            .error .hero-text-title h2::before{
                                color: hsla(var(--theme-red-text-shadow-1),1);
                                text-shadow: calc(var(--hero-shadow-border-offset-x) * var(--hero-shadow-scale)) calc(var(--hero-shadow-border-offset-y) * var(--hero-shadow-scale)) 0  hsla(var(--theme-red-text-shadow-2),0.72);
                                }
    .hero-text h2, .hero-text p{ z-index: 1;}
    .hero-text p{    
        font-size: var(--fs-hero-text-p);
        line-height: var(--lh-hero-text-p);    
        opacity: 0.72;
        padding: var(--pad-hero); 
        color: hsla(var(--theme-green-title),1);
        }
        .hero-section .hero-text p{ padding-bottom: 0;}
.hero-cta{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    }
    .hero-cta strong{
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: var(--fs-body);
        line-height: var(--lh-body);    
        color: hsla(var(--theme-text-primary),1);
        padding: 0 0 6px;
        }
.hero-info{
    display: flex;
    height: var(--hero-info-height);
    padding-top: 6px;
    margin-bottom: 10px;
    gap: 9px;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    }
    .hero-info h5{
        display: flex;
        flex-direction: column;
        width: 100%;
        font-size: var(--fs-hero-h5);
        line-height: var(--lh-hero-h5);
        letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
        justify-content: space-between;
        }
        .hero-info h5 strong{
            font-size: calc(var(--fs-hero-h5) * 0.9);
            line-height: calc(var(--lh-hero-h5) * 0.9);
            letter-spacing: calc(var(--ls-md) * var(--ls-mul));
            }
        .hero-info h5 span{
            color: hsla(var(--theme-green-title),1);
            }
            .hero-info h5:nth-child(1){ text-align: left;}
            .hero-info h5:nth-child(2){ width: fit-content;}
                .hero-info h5:nth-child(2) b{ display: none;}
            .hero-info h5:nth-child(3){ text-align: right;}
.hero-links-content{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--hero-links-padding);
    gap: var(--hero-links-gap);
    }
    .hero-links{
        position: relative;
        display: flex;
        flex-direction: column;
        width: 100%;
        align-items: center;
        gap: var(--hero-links-space);
        }
        .pixel-window.pixel-content-info{
            --pixel-content-padding: var(--pixel-window-padding-compact);
            --pixel-frame-padding: var(--pixel-window-padding-compact);
            }
        .pixel-window.pixel-content-info .pixel-window__outer{
            background: var(--hero-links-outer-color);
            }
        .pixel-window.pixel-content-info .pixel-window__frame{
            --pixel-border-color: var(--hero-links-border-color);
            --pixel-chrome-color: var(--hero-links-border-color);
            }
        .pixel-window.pixel-content-info .pixel-window__content{
            --pixel-surface-color: var(--hero-links-background-color);
            background: var(--hero-links-background-color);
            }
        .pixel-window.pixel-content-info.pixel-content-info-background .pixel-window__content{
            --pixel-surface-color: var(--theme-card);
            background: var(--theme-card);
            }
            .pixel-window.pixel-content-info.pixel-content-info-background .pixel-window__frame{ --pixel-chrome-color: hsla(var(--theme-background), 1);}
        .hero-links p{
            font-size: var(--fs-hero-links);
            line-height: var(--lh-hero-links);
            }    
        .hero-buttons{            
            display: flex;
            flex-direction: column;
            width: 100%;
            gap: 12px;
            }  
        .chevron{
            position: relative;
            width: 24px;
            height: 24px;
            opacity: 0.6;
            margin-bottom: 24px;
            animation: bounceDown 4.2s 0.48S cubic-bezier(0.12, 0.96, 0.36, 1.84) infinite;
            }
            .chevron::before,
            .chevron::after{
                content: '';
                position: absolute;
                width: 18px;
                height: 3px; 
                top: 8px;
                background: hsla(var(--theme-green-title),1);
                border-radius: 10px;
                }
                .chevron::before{
                    transform: rotate(45deg);
                    left: -2.5px;
                    }
                .chevron::after{
                    transform: rotate(-45deg);
                    right: -2.5px;
                    }
            .chevron:hover{
                opacity: 1;    
                }
                .hero .chevron:first-child{display: none;}
                .enter-active .hero-text-title h1::after,
                .enter-active .hero-text-title h2::after,
                .enter-active .hero-text-title h1::before,
                .enter-active .hero-text-title h2::before,
                .enter-active .hero-orbit-icons{                        
                    animation: fadeIn 0.3s 0.96s linear forwards;
                    }
.hero-orbit-icons{
    position: absolute;
    container-type: size;
    width: var(--hero-orbit-w);
    height: var(--hero-orbit-h);
    top: calc(0px - calc(var(--hero-heading-line-1) * 0.1));
    right: 0;
    bottom: auto;
    left: 0;
    margin: 0 auto;
    transform: rotate(var(--hero-icons-rotation));
    transform-origin: center;
    z-index: 2;
    isolation: isolate;
    opacity: 0;
    }
    .hero-orbit-icons::before{
        content: "";
        position: absolute;
        inset: -12%;
        border-radius: 50%;
        background: radial-gradient(ellipse at center,transparent 56%,hsla(var(--theme-green-text-shadow-2),0.6) 60%,hsla(var(--theme-green-text-shadow-2),0) 72%),radial-gradient(ellipse at center,hsla(var(--theme-green-text-shadow-2),0.24) 0%,hsla(var(--theme-green-text-shadow-2),0.18) 42%,hsla(var(--theme-green-text-shadow-2),0.08) 56%,hsla(var(--theme-green-text-shadow-2),0) 72%);
        transform: rotate(-8deg) scaleY(0.6) translateX(-2%) translateY(2%);
        filter: drop-shadow(0 16px 22px hsla(var(--theme-green-text-shadow-2),0.24));
        opacity: 0.6;
        z-index: -1;
        }
        .error .hero-orbit-icons::before{
            background: radial-gradient(ellipse at center,transparent 56%,hsla(var(--theme-red-text-shadow-2),0.6) 60%,hsla(var(--theme-red-text-shadow-2),0) 72%),radial-gradient(ellipse at center,hsla(var(--theme-red-text-shadow-2),0.24) 0%,hsla(var(--theme-red-text-shadow-2),0.18) 42%,hsla(var(--theme-red-text-shadow-2),0.08) 56%,hsla(var(--theme-red-text-shadow-2),0) 72%);
            filter: drop-shadow(0 16px 22px hsla(var(--theme-red-text-shadow-2),0.24));
            transform: rotate(-8deg) scaleY(0.6) translateX(-2%) translateY(2%);
            }
        .dark .hero-orbit-icons::before{ opacity: 0.36;}
    .hero-orbit-icon{
        width: var(--hero-icon-size);
        height: var(--hero-icon-size);
        display: grid;
        place-items: center;
        position: absolute;
        offset-path: ellipse(var(--hero-rx) var(--hero-ry) at 50% 50%);
        offset-rotate: 0deg;
        transform: rotate(calc(var(--hero-icons-rotation)*-1));
        animation: orbit-animation var(--hero-icons-animation) linear infinite;
        z-index: 1;
        }
        @supports not (offset-path: ellipse(50% 50% at 50% 50%)) {
            .hero-orbit-icon{
                --orbit-angle: calc(360deg / var(--hero-icons-number) * var(--i));
                top: 50%;
                left: 50%;
                offset-path: none;
                offset-rotate: 0deg;
                animation: orbit-fallback var(--hero-icons-animation) linear infinite;
                transform: translate(-50%, -50%) rotate(var(--orbit-angle)) translateX(calc(var(--hero-orbit-w) / 2)) rotate(calc(var(--hero-icons-rotation) * -1));
                transform-origin: center;
                }
        }
        .hero-orbit-icon svg{
            width: 100%;
            height: 100%;
            }
.hero-icon-main{ fill: hsla(var(--theme-green-icon-bg),1);}
.hero-icon-border{ fill: hsla(var(--theme-green-icon-border),1);}
.hero-icon-shadow{ fill: hsla(var(--theme-green-icon-shadow),1);}
.hero-icon-light{ fill: hsla(var(--theme-green-icon-light),1);}   

.show-static{
    opacity: 0;
    transform: translateY(var(--show-static));
    transition: opacity 0.3s 0.84s ease, transform 0.36s 0.84s linear;
    }
    body.preloader-active .show-static{
        transition-delay: 0.56s;
        }
    .show-static + .show-static{
        transition: opacity 0.3s 1.08s ease, transform 0.36s 1.08s linear;
        }
        body.preloader-active .show-static + .show-static{
            transition-delay: 0.68s;
            }
    .enter-active .show-static{
        opacity: 1;
        transform: translateY(0);
        }

/* =============================================================================
   INFO
   ========================================================================== */

.info{
    color: hsla(var(--theme-text-primary),1);
    background: hsla(var(--theme-green-background-strong),1);
    gap: calc(var(--grid-gap) * 1.5);
    min-height: var(--app-viewport-height, 100vh);
    justify-content: space-around;
    }
.info-content{
    display: flex;
    flex-direction: column;
    gap: var(--grid-item-gap);
    }
    .info-title{
        width: 100%;
        max-width: var(--info-width);
        margin: 0 auto;
        }
        .info-text h3{
            font-size: calc(var(--fs-index-h4) * 2);
            line-height: calc(var(--lh-index-h4) * 1.5);
            }
            .info-text .window-content.pixel-window--gap h3{ margin-top: 12px;}
    .info-title.illustration{
        text-align: left;
        max-width: calc(var(--info-width) * 1);
        }
.info-title.illustration h2{ 
    font-size: calc(var(--fs-index-h2) / 1.24);
    line-height: calc(var(--lh-index-h2) / 1.24);
    }
    .info-title.illustration.fixed h2{ 
        font-size: calc(var(--fs-index-h2) / 1.36);
        line-height: calc(var(--lh-index-h2) / 1.36);
        }
    .image-rotate, .image-fixed{
        position: absolute;
        width: 50%;
        height: 100%;
        right: 0;
        } 
        .image-rotate div, .image-fixed div{
            display: flex;
            height: inherit;
            justify-content: end;
            align-items: center;
            } 
        .image-rotate svg, .image-fixed svg{
            position: relative;
            width: auto;
            height: var(--image-rotate);
            transition: all 0.3s ease;
            animation: spinTBC 36s cubic-bezier(0.12, 0.72, 0.12, 1.18) infinite;
            transform-origin: center;
            transform-box: border-box;
            }
            .image-fixed svg{ animation: none;}
.info p{
    max-width: var(--info-text);
    font-size: var(--fs-info-p);
    line-height: var(--lh-info-p);
    margin: 0;
    }
    .info.xs1 p{
        max-width: var(--info-text-xs1);
        margin: 0 calc(calc(100% - var(--info-text-xs1)) / 2);
        }
    .info.small-size p{
        font-size: var(--fs-info-p-s);
        line-height: var(--lh-info-p-s);
        }    
.br{
    display: block;
    height: calc(var(--grid-item-gap) * 1.25);
    }
video{
    pointer-events: none;
    }
.video-container-mask{
    position: relative;
    pointer-events: none;
    width: 100%;
    height: auto;
    max-width: var(--info-video-container-mask);
    margin: auto;
    overflow: hidden;
    background: hsla(var(--theme-green-video-background),1);
    object-fit: cover;
    mask-image: url("../images/video-mask.svg");
    mask-size: contain; 
    mask-repeat: no-repeat;
    mask-position: center;    
    -webkit-mask-image: url("../images/video-mask.svg"); 
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    }
    .video-container-mask.bcn{
        mask-image: url("../images/video-mask-flower.svg");
        -webkit-mask-image: url("../images/video-mask-flower.svg"); 
        }
    .video-container-mask img{
        display: block;
        width: 100%;
        height: auto;
        }
        .background-video-info{
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            margin: auto;
            pointer-events: none;
            filter: grayscale(100%) contrast(100%) brightness(80%);
            mix-blend-mode: hard-light;
            opacity: 0.6;
            }
            .venue .background-video-info{
                opacity: 0.48;
                }
            .video-container-mask.bcn .background-video-info{
                filter: grayscale(100%) contrast(144%) brightness(120%);
                }
.video-container-mask img:nth-of-type(1),
.video-container-mask video{
    display: none;
    }
    .video-container-mask img:nth-of-type(2){
        filter: grayscale(100%) contrast(100%) brightness(140%);
        mix-blend-mode: hard-light;
        opacity: 0.3;
        }
.section-background-video{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    mix-blend-mode: multiply;
    opacity: 0.12;
    z-index: 0;
    filter: grayscale(100%) contrast(100%) brightness(120%);
    }
.info .info-numbers{
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    gap: var(--grid-item-gap);
    }
    .info .info-numbers p{
        padding: 0;        
        }
.info .info-stats,
.info .info-venue{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--grid-item-gap);
    box-sizing: border-box;
    }
    .info .info-stats .pixel-window,
    .info .info-venue .pixel-window{
        --pixel-max-width: none;
        --pixel-align: center;
        width: 100%;
        box-sizing: border-box;
        }
        .info .info-stats .pixel-window{
            flex: 50%;
            max-width: calc(50% - calc(var(--grid-item-gap) / 2));
            }
        .info .info-venue .pixel-window{
            flex: 100%;/
            }
            .info .info-stats .pixel-window__content,
            .info .info-venue .pixel-window__content{
                text-align: center;
                }
            .info .info-venue .pixel-window{
                --pixel-content-padding: var(--padding-content-small);
                }
            .info .info-stats p:first-child, .card-number{    
                font-size: var(--fs-card-number)!important;
                line-height: var(--fs-card-number)!important;
                letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
                color: hsla(var(--theme-green-title),1);
                margin: 0;
                }
            .info .info-stats p:last-child, .info .info-venue p{
                font-size: var(--fs-card-title)!important;
                line-height: var(--lh-card-title)!important;
                letter-spacing: calc(var(--ls-md) * var(--ls-mul));
                margin: 0;
                }
#hero-ship{ animation: shipMove 2s infinite alternate steps(12);}
#bullet{ animation: pewPew 1s infinite steps(12);}
#boom5{ animation: bOOm2 4s infinite; animation-delay: 2.4s;}
#enemy5{ animation: byeBye2 4s infinite; animation-delay: 2.4s;}
#boom6{ animation: bOOm 2s infinite;}
#enemy6{ animation: byeBye 2s infinite;}
#boom7{ animation: bOOm2 4s infinite; animation-delay: 4.45s;}
#enemy7{ animation: byeBye2 4s infinite; animation-delay: 4.45s;}

/* =============================================================================
   FEATURED SPEAKERS
   ========================================================================== */

.featured-speakers{
	flex-wrap: nowrap;
    }
    .featured-speakers-list{
        margin-top: var(--grid-item-gap);
        margin-bottom: var(--grid-item-gap);
        }
        .featured-speakers-list .grid-item{
            display: flex;
            flex-direction: column;
            }
    .featured-speaker-card{
        position: relative;
        overflow: hidden;
        cursor: pointer;
        transition: all 0.3s var(--ease-snappy);
        display: flex;
        flex-direction: column;
        height: 100%;
        text-decoration: none;
        color: inherit;
        }
    .featured-speaker-card .pixel-window-normalized-h.detail::after{ background: hsla(var(--theme-green-pixel-chrome-color),1);}
    .featured-speaker-card:hover{ transform: translateY(-4px);}
    .featured-speaker-card > .pixel-window.anim-image{ flex: 0 0 auto;}
.featured-speaker-media{
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: hsla(var(--color-black), 1);
    }
    .featured-speaker-card .speaker-image{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 1;
        transition: opacity 0.5s var(--ease-smooth);
        z-index: 1;
        }
    .featured-speaker-card .speaker-video{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0;
        transition: opacity 0.5s var(--ease-smooth);
        z-index: 2;
        pointer-events: none;
        }
        .featured-speaker-card:hover .speaker-image{ opacity: 0;}
        .featured-speaker-card:hover .speaker-video{ opacity: 1;}
.featured-speaker-info{
	flex: 0 0 auto;
	text-align: center;
    }
.featured-speaker-info h5{ margin-bottom: calc(var(--grid-item-gap) / 4);}
.featured-speaker-info p{
	opacity: 0.78;
	font-size: var(--fs-body-s);
	margin: 0;
    text-align: left;
    padding-left: 15px;
    }

/* =============================================================================
   PIXEL WINDOW
   ========================================================================== */

.pixel-window{
    --pixel-max-width: var(--info-text);
    --pixel-border-color: hsla(var(--theme-green-border-color),1);
    --pixel-surface-color: linear-gradient(0deg, hsla(var(--theme-green-surface-color),0.66) 0%, hsla(var(--theme-green-surface-color),0.66) 100%), linear-gradient(0deg, hsla(var(--theme-card-dark),1) 0%, hsla(var(--theme-card-dark),1) 100%);
    --pixel-chrome-color: hsla(var(--theme-green-pixel-chrome-color),1);
    --pixel-border-padding: var(--window-border-padding);
    --pixel-frame-padding: var(--window-frame-padding);
    --pixel-frame-padding-top: var(--pixel-frame-padding);
    --pixel-frame-padding-bottom: 0;
    --pixel-controls-gap: var(--window-controls-gap);
    --pixel-controls-display: flex;
    --pixel-btn-size: var(--window-btn-size);
    --pixel-btn-border: var(--window-btn-border);
    --pixel-content-padding: var(--window-content-padding);
    --pixel-gap: var(--window-gap);
    --pixel-align: center;
    --pixel-border-size-sm: var(--window-pixel-size-sm);
    --pixel-border-size-md: var(--window-pixel-size-md);
    --pixel-text-size: var(--window-text-size);
    --pixel-text-line-height: var(--window-text-line-height);
    --pixel-h3-size: var(--window-h3-size);
    --pixel-h3-line-height: var(--window-h3-line-height);
    --pixel-h4-size: var(--window-h4-size);
    --pixel-h4-line-height: var(--window-h4-line-height);
    --pixel-h5-size: var(--window-h5-size);
    --pixel-h5-line-height: var(--window-h5-line-height);
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    position: relative;
    }
    .pixel-window.pixel-background-default,
    .pixel-window[data-window-background="default"]{ --pixel-surface-color: hsla(var(--theme-card-dark),1)!important;}
    .pixel-window.pixel-padding .pixel-window__content{ padding: 0;}
    .pixel-max-width,
    .pixel-window[data-window-max-width="true"]{
        max-width: var(--window-max-width);
        margin: auto;
        }
    .pixel-window-pr{ padding-right: var(--pixel-window-pr);}
    .pixel-window__outer,
    .pixel-window__frame,
    .pixel-window__content,
    .window-content,
    .window-content-text{
        display: flex;
        flex-direction: column;
        }
        .pixel-window__outer{
            width: 100%;
            margin: auto;
            background: var(--pixel-border-color);
            padding: var(--pixel-border-padding);
            clip-path: polygon(0 var(--pixel-border-size-sm), var(--pixel-border-size-sm) var(--pixel-border-size-sm), var(--pixel-border-size-sm) 0, calc(100% - var(--pixel-border-size-sm)) 0, calc(100% - var(--pixel-border-size-sm)) var(--pixel-border-size-sm), 100% var(--pixel-border-size-sm), 100% calc(100% - var(--pixel-border-size-sm)), calc(100% - var(--pixel-border-size-sm)) calc(100% - var(--pixel-border-size-sm)), calc(100% - var(--pixel-border-size-sm)) 100%, var(--pixel-border-size-sm) 100%, var(--pixel-border-size-sm) calc(100% - var(--pixel-border-size-sm)), 0 calc(100% - var(--pixel-border-size-sm)));
            box-shadow: 0 15px 30px hsla(var(--theme-black),0.2), 0 20px 40px hsla(var(--theme-black),0.1);
            flex: 1;
            }
        .pixel-window__frame{
            flex: 1;
            margin: auto;
            width: 100%;
            background: var(--pixel-chrome-color);
            clip-path: polygon(0 var(--pixel-border-size-md), var(--pixel-border-size-md) var(--pixel-border-size-md), var(--pixel-border-size-md) 0, calc(100% - var(--pixel-border-size-md)) 0, calc(100% - var(--pixel-border-size-md)) var(--pixel-border-size-md), 100% var(--pixel-border-size-md), 100% calc(100% - var(--pixel-border-size-md)), calc(100% - var(--pixel-border-size-md)) calc(100% - var(--pixel-border-size-md)), calc(100% - var(--pixel-border-size-md)) 100%, var(--pixel-border-size-md) 100%, var(--pixel-border-size-md) calc(100% - var(--pixel-border-size-md)), 0 calc(100% - var(--pixel-border-size-md)));
            }
        .pixel-window__controls{
            display: var(--pixel-controls-display);
            gap: var(--pixel-controls-gap);
            margin: var(--pixel-controls-gap) 0;
            padding: 0 var(--pixel-frame-padding);
            pointer-events: none;
            }
            .pixel-window__btn{
                width: var(--pixel-btn-size);
                height: var(--pixel-btn-size);
                background: var(--pixel-chrome-color);
                border: var(--pixel-btn-border) solid var(--pixel-border-color);
                clip-path: polygon(0 var(--pixel-border-size-sm), var(--pixel-border-size-sm) var(--pixel-border-size-sm), var(--pixel-border-size-sm) 0, calc(100% - var(--pixel-border-size-sm)) 0, calc(100% - var(--pixel-border-size-sm)) var(--pixel-border-size-sm), 100% var(--pixel-border-size-sm), 100% calc(100% - var(--pixel-border-size-sm)), calc(100% - var(--pixel-border-size-sm)) calc(100% - var(--pixel-border-size-sm)), calc(100% - var(--pixel-border-size-sm)) 100%, var(--pixel-border-size-sm) 100%, var(--pixel-border-size-sm) calc(100% - var(--pixel-border-size-sm)), 0 calc(100% - var(--pixel-border-size-sm)));
                pointer-events: none;
                }
    .pixel-window__content{
        position: relative;
        flex: 1;
        background: var(--pixel-surface-color);
        padding: var(--pixel-content-padding);
        justify-content: center;
        align-items: var(--pixel-align);
        clip-path: polygon(0 var(--pixel-border-size-sm), var(--pixel-border-size-sm) var(--pixel-border-size-sm), var(--pixel-border-size-sm) 0, calc(100% - var(--pixel-border-size-sm)) 0, calc(100% - var(--pixel-border-size-sm)) var(--pixel-border-size-sm), 100% var(--pixel-border-size-sm), 100% calc(100% - var(--pixel-border-size-sm)), calc(100% - var(--pixel-border-size-sm)) calc(100% - var(--pixel-border-size-sm)), calc(100% - var(--pixel-border-size-sm)) 100%, var(--pixel-border-size-sm) 100%, var(--pixel-border-size-sm) calc(100% - var(--pixel-border-size-sm)), 0 calc(100% - var(--pixel-border-size-sm)));
        }
        .pixel-window__content p{ max-width: none; font-size: var(--pixel-text-size); line-height: var(--pixel-text-line-height);}
        .pixel-window__content h3{ max-width: none; font-size: var(--pixel-h3-size); line-height: var(--pixel-h3-line-height); margin: 0;}
        .pixel-window__content h4{ max-width: none; font-size: var(--pixel-h4-size); line-height: var(--pixel-h4-line-height); margin: 0;}
        .pixel-window__content h5{ max-width: none; font-size: var(--pixel-h5-size); line-height: var(--pixel-h5-line-height); margin: 0;}
        .pixel-window--justify-start .pixel-window__content,
        .pixel-window[data-window-justify="start"] .pixel-window__content{ justify-content: start;}
        .pixel-window--align-left,
        .pixel-window[data-window-align="left"]{ --pixel-align: flex-start; text-align: left;}
        .pixel-window--align-top,
        .pixel-window[data-window-align="top"]{ --pixel-align: flex-start;}
        .pixel-window--gap,
        .pixel-window[data-window-gap="true"] .pixel-window__content{ gap: var(--pixel-content-padding);}
        .pixel-window[data-window-gap="compact"] .pixel-window__content{ gap: calc(var(--pixel-content-padding) / 2);}
        .pixel-window--compact,
        .pixel-window[data-window-density="compact"]{
            --window-pixel-unit: var(--window-pixel-unit-compact);
            --pixel-max-width: none;
            --pixel-frame-padding: var(--window-frame-padding-compact);
            --pixel-frame-padding-top: var(--pixel-frame-padding);
            --pixel-frame-padding-bottom: 0;
            --pixel-controls-gap: var(--window-controls-gap-compact);
            --pixel-btn-size: var(--window-btn-size-compact);
            --pixel-btn-border: var(--window-btn-border-compact);
            --pixel-content-padding: var(--window-content-padding-compact);
            --pixel-text-size: var(--window-text-size-compact);
            --pixel-gap: var(--window-gap-compact);
            }
        .pixel-window[data-window-pixel-unit="compact"]{ --window-pixel-unit: var(--window-pixel-unit-compact);}
        .pixel-window[data-window-max-width="none"]{ --pixel-max-width: none;}
        .pixel-window[data-window-frame-padding="compact"]{ --pixel-frame-padding: var(--window-frame-padding-compact);}
        .pixel-window[data-window-frame-padding-top="standard"]{ --pixel-frame-padding-top: var(--pixel-frame-padding);}
        .pixel-window[data-window-frame-padding-bottom="none"]{ --pixel-frame-padding-bottom: 0;}
        .pixel-window[data-window-controls-gap="compact"]{ --pixel-controls-gap: var(--window-controls-gap-compact);}
        .pixel-window[data-window-btn-size="compact"]{ --pixel-btn-size: var(--window-btn-size-compact);}
        .pixel-window[data-window-btn-border="compact"]{ --pixel-btn-border: var(--window-btn-border-compact);}
        .pixel-window[data-window-content-padding="compact"]{ --pixel-content-padding: var(--window-content-padding-compact);}
        .pixel-window[data-window-content-padding="medium"]{ --pixel-content-padding: var(--window-content-padding-medium);}
        .pixel-window[data-window-text-size="compact"]{
            --pixel-text-size: var(--window-text-size-compact);
            --pixel-text-line-height: var(--window-text-line-height-compact);
            --pixel-h3-size: var(--window-h3-size-compact);
            --pixel-h3-line-height: var(--window-h3-line-height-compact);
            --pixel-h4-size: var(--window-h4-size-compact);
            --pixel-h4-line-height: var(--window-h4-line-height-compact);
            --pixel-h5-size: var(--window-h5-size-compact);
            --pixel-h5-line-height: var(--window-h5-line-height-compact);
            }
    .pixel-window--no-header,
    .pixel-window[data-window-header="none"]{
        --pixel-controls-display: none;
        --pixel-frame-padding-bottom: var(--pixel-frame-padding);
        --pixel-frame-padding-with-top: true;
        }
        .pixel-window--no-header .pixel-window__frame,
        .pixel-window[data-window-header="none"] .pixel-window__frame{ padding-top: calc(var(--window-pixel-size-md) * 2);}
        [data-no-frame-padding].pixel-window--no-header .pixel-window__frame,
        .pixel-window[data-window-header="none"][data-window-frame-padding="none"] .pixel-window__frame{ padding-top: 0;}
        [data-frame-padding].pixel-window--no-header .pixel-window__frame,
        .pixel-window[data-window-header="none"][data-window-frame-padding="standard"] .pixel-window__frame{ padding-top: calc(var(--window-pixel-size-md) * 2);}
.pixel-window--no-padding,
.pixel-window[data-window-padding="none"]{ height: fit-content;}
    .pixel-window--no-padding .pixel-window__content,
    .pixel-window[data-window-padding="none"] .pixel-window__content{ padding: 0!important;}
    .pixel-window--transparent .pixel-window__outer,
    .pixel-window[data-window-background="transparent"] .pixel-window__outer{
        background: transparent!important;
        border: var(--pixel-border-padding) solid var(--pixel-border-color);
        padding: 0;
        box-sizing: border-box;
        }
    .pixel-window--transparent .pixel-window__frame,
    .pixel-window[data-window-background="transparent"] .pixel-window__frame{
        background: transparent!important;
        --pixel-chrome-color: transparent;
        }
    .pixel-window--transparent .pixel-window__content,
    .pixel-window[data-window-background="transparent"] .pixel-window__content{
        background: transparent!important;
        --pixel-surface-color: transparent;
        }
    .window-content, .window-content-text{ text-align: left;}
    .window-cta{
        display: flex;
        position: relative;
        width: 100%;
        padding: var(--hero-links-space);
        justify-content: center;
        text-align: center;
        align-items: center;
        border-radius: var(--border-radius);
        background: linear-gradient(hsla(var(--theme-green-title),0.1) 0%, hsla(var(--theme-green-title),0.1) 100%), linear-gradient(hsla(var(--theme-green-background),1) 0%, hsla(var(--theme-green-background),1) 100%);
        border: 1.5px solid hsla(var(--theme-green-title),1);      
        }
    .pixel-window .color-title{ color: hsla(var(--theme-green-title),1);}
    .pixel-window-normalized-h{
        position: relative;
        font-size: var(--fs-card-title)!important;
        line-height: var(--fs-card-title)!important;
        letter-spacing: calc(var(--ls-md) * var(--ls-mul))!important;
        }
        .pixel-window-normalized-h.detail{ padding-left: 15px;}
            .pixel-window-normalized-h.detail::after{
                position: absolute;
                content: "";
                top: -3px;
                left: 0;
                width: 3px;
                height: 94%;
                background: hsla(var(--theme-magenta-pixel-chrome-color),1);
                }
   .pixel-window-normalized-p{
        font-size: var(--fs-body-s)!important;
        line-height: 1.25!important;
        }
#rooms .pixel-window__btn, #venue-info .pixel-window__btn{ 
    background: hsla(var(--color-yellow-500),1);
    border: 1.5px solid hsla(var(--color-yellow-500),1);      
    }

/* =============================================================================
   VENUE
   ========================================================================== */

.video-container{
    position: relative;
    width: var(--info-video-container);
    height: auto;
    margin-left: var(--info-video-container-left);
    background: hsla(var(--theme-yellow-background-tint),1);
    border-radius: var(--border-radius);
    overflow: hidden;
    }
    .video-container img{
        display: block;
        width: 100%;
        height: auto;
        border-radius: var(--border-radius);
        }
        .background-video{
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            margin: auto;
            pointer-events: none;
            filter: grayscale(100%) contrast(144%) brightness(120%);
            mix-blend-mode: overlay;
            opacity: 0.3;
            }            
            .venue .background-video{
                opacity: 0.48;
                }
                .dark .venue .background-video{
                    opacity: 0.36;
                    }
.video-container img:nth-of-type(1),
.video-container video{
    display: none;    
    }
.video-container img:nth-of-type(2){
        filter: grayscale(100%) contrast(100%) brightness(100%) brightness(120%);
        mix-blend-mode: overlay;
        opacity: 0.24;
        }


    .circle-text{
        position: absolute;
        display: flex;
        top: var(--circle-radius-pt);
        right: var(--circle-radius-pr);
        width: calc(var(--circle-radius) * 2);
        height: calc(var(--circle-radius) * 2);
        border-radius: 50%;
        text-align: center;
        font-size: var(--fs-circle-radius);
        line-height: var(--fs-circle-radius);
        text-transform: uppercase;
        color: hsla(var(--theme-text-primary),1);
        text-decoration: none;
        overflow: visible;
        cursor: pointer;
        transform-origin: center;
        z-index: 1;
        transition: top 0.3s ease-out, right 0.3s ease-out, width 0.3s ease-out, height 0.3s ease-out, font-size 0.3s ease-out;
        }
        .circle-text::before{
            position: absolute;
            content: "";
            width: calc(var(--circle-radius) * 1.6);
            height: calc(var(--circle-radius) * 1.6);
            transform: rotate(var(--before-rotation, 0deg));
            transform-origin: 50% 50%;
            margin: auto;
            overflow: hidden;
            background: hsla(var(--theme-green-video-background),1);
            object-fit: cover;
            mask-image: url("../images/icon-mask.svg");
            mask-size: contain;
            mask-repeat: no-repeat;
            mask-position: center;
            -webkit-mask-image: url("../images/icon-mask.svg");
            -webkit-mask-size: contain;
            -webkit-mask-repeat: no-repeat;
            -webkit-mask-position: center;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            transition: opacity 0.48s ease;
            }
        .circle-text .char{
            position: absolute;
            top: 0;
            left: 0;   
            transform-style: preserve-3d;
            white-space: nowrap;
            font-size: inherit;
            }
        .circle-text svg{
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            width: var(--circle-radius-icon);
            height: var(--circle-radius-icon);
            margin: auto;
            transition: width 0.3s ease-out, height 0.3s ease-out;
            }
            .circle-text .button-icon-color,
            .circle-text .button-icon-color-hover{
                stroke-width: var(--circle-radius-sw);
                stroke: hsla(var(--theme-black-dark),1);
                transition: var(--transition-old-school);
                vector-effect: non-scaling-stroke;
                }
                .circle-text.bold .button-icon-color{ stroke-width: 2;}
                .circle-text:hover .button-icon-color{ stroke-width: calc(var(--circle-radius-sw) * 1.25);}
                    .circle-text:hover::before{ opacity: 0.72}
        .circle-text.center{            
            top: var(--circle-radius-pt-center);
            right: 0;            
            left: 0;
            margin: auto;
            }
        .circle-text b{
            opacity: 0;
            }

/* =============================================================================
   HIGHLIGHTS GALLERY
   ========================================================================== */

#highlights-gallery[data-header-theme="turquoise"] .pixel-window{
    --pixel-border-color: hsla(var(--theme-turquoise-border-color),1);
    --pixel-surface-color: hsla(var(--theme-turquoise-surface-color),1);
    --pixel-chrome-color: hsla(var(--theme-turquoise-pixel-chrome-color),1);
    }
.highlights-gallery-section{
    position: relative;   
    overflow: hidden;
    padding: var(--wrapper-ptb) 0;
    background: radial-gradient(farthest-corner at 50% 50%, hsla(var(--theme-background),0) 36%, hsla(var(--theme-background),0.36) 66%, hsla(var(--theme-background),0.48) 80%, hsla(var(--theme-background),1) 100%), 
    radial-gradient(farthest-corner at 50% 50%, hsla(var(--theme-background),0) 36%, hsla(var(--theme-background),0.18) 80%, hsla(var(--theme-background),0.48) 90%, hsla(var(--theme-background),1) 100%), 
    linear-gradient(to top, hsla(var(--theme-background),0.48) 0%, hsla(var(--theme-background),0) 24%, hsla(var(--theme-background),0) 80%, hsla(var(--theme-background),0.48) 100%),
    0 0 / auto var(--grid-size) repeat-y linear-gradient(to top, transparent 0, transparent calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% + var(--line-width) / 2), transparent calc(50% + var(--line-width) / 2)), 0 0 / var(--grid-size) auto repeat-x linear-gradient(to right, transparent 0, transparent calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% + var(--line-width) / 2), transparent calc(50% + var(--line-width) / 2)), hsla(var(--theme-background),1);
    }
    .highlights-gallery-section .title{
        padding-bottom: calc(var(--grid-gap) * 1.5);
        }
        .highlights-gallery-section.venue-gallery{ 
            padding: calc(var(--wrapper-ptb) / 2) 0 var(--wrapper-ptb);
            background: hsla(var(--theme-yellow-background-strong));
            }
        .highlights-gallery-section.hotel-gallery{ padding: calc(var(--wrapper-ptb) / 2) 0 var(--wrapper-ptb);}
        .highlights-gallery-section.hotel-gallery, .rooms{ 
            background: radial-gradient(farthest-corner at 50% 50%, hsla(var(--theme-midnight-black-background-tint),0) 36%, hsla(var(--theme-midnight-black-background-tint),0.36) 66%, hsla(var(--theme-midnight-black-background-tint),0.48) 80%, hsla(var(--theme-midnight-black-background-tint),1) 100%), radial-gradient(farthest-corner at 50% 50%, hsla(var(--theme-midnight-black-background-tint),0) 36%, hsla(var(--theme-midnight-black-background-tint),0.18) 80%, hsla(var(--theme-midnight-black-background-tint),0.48) 90%, hsla(var(--theme-midnight-black-background-tint),1) 100%),
    linear-gradient(to top, hsla(var(--theme-midnight-black-background-tint),0.48) 0%, hsla(var(--theme-midnight-black-background-tint),0) 24%, hsla(var(--theme-midnight-black-background-tint),0) 80%, hsla(var(--theme-midnight-black-background-tint),0.48) 100%), 0 0 / auto var(--grid-size) repeat-y linear-gradient(to top, transparent 0, transparent calc(50% - var(--line-width) / 2), hsla(var(--theme-midnight-black-border-light),0.3) calc(50% - var(--line-width) / 2), hsla(var(--theme-midnight-black-border-light),0.3) calc(50% + var(--line-width) / 2), transparent calc(50% + var(--line-width) / 2)), 0 0 / var(--grid-size) auto repeat-x linear-gradient(to right, transparent 0, transparent calc(50% - var(--line-width) / 2), hsla(var(--theme-midnight-black-border-light),0.3) calc(50% - var(--line-width) / 2), hsla(var(--theme-midnight-black-border-light),0.3) calc(50% + var(--line-width) / 2), transparent calc(50% + var(--line-width) / 2)), hsla(var(--theme-midnight-black-background-tint),1);
            }
.highlights-gallery{
    padding: calc(var(--gallery-gap) / 2) 0;
    overflow-x: hidden;
    overflow-y: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
    }
    .highlights-gallery::-webkit-scrollbar{ display: none;}
    .gallery-actions{
        display: flex;
        flex-direction: column;
        gap: var(--grid-item-gap);
        align-items: center;
        justify-items: center;
        }  
        .gallery-actions div{ 
            display: flex; 
            width: 100%;
            justify-content: center;
            }
.gallery-wrapper{
    display: flex;
    list-style: none;
    padding: 0 1rem;
    margin: 0;
    will-change: transform;
    gap: var(--gallery-gap);
    }
    .gallery-wrapper li{
        flex-shrink: 0;
        width: var(--gallery-item-width);
        height: var(--gallery-item-height);
        aspect-ratio: 16 / 9;
        position: relative;
        box-shadow: var(--gallery-box-shadow);
        }
        .gallery-wrapper li::after{
            content: '';
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0);
            transition: background 0.3s ease;
            pointer-events: none;
            z-index: 1;
            }
            .gallery-wrapper li:hover::after{ background: rgba(0, 0, 0, 0.05);}
.gallery-wrapper img,
.gallery-wrapper video{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    aspect-ratio: 16 / 9;
    }
    /*.gallery-wrapper li:hover video{ transform: scale(1.08);}*/
.gallery-wrapper li .pixel-window{
    height: 100%;
    width: 100%;
    }
.gallery-wrapper li .pixel-window__content{
    padding: 0 !important;
    justify-content: unset;
    align-items: unset;
    }
.gallery-wrapper li .pixel-window__content img,
.gallery-wrapper li .pixel-window__content video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    }

/* =============================================================================
   TICKETS
   ========================================================================== */

.tickets{
    position: relative;
    color: hsla(var(--theme-text-primary),1);
    background: hsla(var(--theme-green-background),1);
    gap: var(--grid-gap);
    justify-content: space-around;
    overflow: hidden;
    transition: background 0.55s var(--ease-fluid);
    min-height: 100vh;
    }
    .tickets.ticket-1-active{ background: hsla(var(--theme-green-background-strong),0.84);}
        .dark .tickets.ticket-1-active{ background: hsla(var(--theme-green-background-strong),0.9);}
    .tickets.ticket-2-active{ background: hsla(var(--theme-blue-background-strong),0.84);}
        .dark .tickets.ticket-2-active{ background: hsla(var(--theme-blue-background-strong),0.9);}
    .tickets.ticket-3-active{ background: hsla(var(--theme-red-background-strong),0.84);}
        .dark .tickets.ticket-3-active{ background: hsla(var(--theme-red-background-strong),0.9);}    
.ticket-io{
    position: relative;
    margin: auto;
    padding: 0;
    max-width: 100%;
    overflow: hidden;
    list-style-type: none;
    border-radius: var(--header-border-radius);
    background: hsla(var(--theme-card-dark),1);
    }
    .ticket-io h3{
        font-size: var(--fs-tickets-h3);
        line-height: var(--lh-tickets-h3);
        letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
        color: hsla(var(--theme-text-primary),1);
        }
    .ticket-io li{
        position: relative;
        text-align: center;
        overflow: hidden;
        transition: all 0.5s var(--ease-fluid);
        border-top: 1.5px solid hsla(var(--theme-text-primary),1);
        }
        .ticket-io li:first-child{ border: none;}
        .section-title{
            display: flex;
            position: relative;
            cursor: pointer;
            text-align: left;
            justify-content: space-between;
            align-items: end;
            font-size: var(--fs-tickets-st);
            line-height: var(--lh-tickets-st);
            letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
            padding: var(--tickets-st-padding);
            color: hsla(var(--theme-text-primary),1);
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            user-select: none;
            }
            .ticket-io li.active .section-title{    
                color: hsla(var(--theme-white),1);
                }
                .ticket-io li:nth-child(1).active .section-title p span, .ticket-io li:nth-child(1).active .section-title .price, 
                .ticket-io li:nth-child(2).active .section-title p span, .ticket-io li:nth-child(2).active .section-title .price, 
                .ticket-io li:nth-child(3).active .section-title p span, .ticket-io li:nth-child(3).active .section-title .price{
                    color: hsla(var(--theme-white),1);
                    }
            .section-title span{
                font-size: var(--fs-tickets-st-span);
                line-height: var(--fs-tickets-st-span);                
                opacity: 0.72;
                }
            .section-title .price{
                font-size: var(--fs-card-price);
                line-height: var(--fs-card-price);
                letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
                }
                .sold-out .section-title .price,
                .sold-out .ticket-title h4{
                    text-decoration: line-through;
                    opacity: 0.36;
                    }
        .ticket-title{
            position: relative;
            display: flex;
            flex-direction: column;
            width: 100%;
            gap: var(--tickets-tt-gap);
            padding: var(--tickets-tt-padding);
            align-items: center;
            }
            .ticket-title h4{
                font-size: var(--fs-tickets-tt-h4);
                line-height: var(--fs-tickets-tt-h4);                
                color: hsla(var(--theme-text-primary),1);
                letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
                }
            .ticket-title p{
                font-size: var(--fs-tickets-tt-p);
                line-height: calc(var(--fs-tickets-tt-p) * 1.4);
                letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
                }
            .ticket-title .vat{    
                display: block;
                font-size: var(--fs-tickets-data);
                line-height: var(--lh-tickets-data);
                letter-spacing: 0;
                text-transform: none;
                margin: 0 auto 3px;                
                opacity: 0.6;    
                }
        .section-content{
            position: relative;
            width: 100%;
            height: 0;
            flex-wrap: nowrap;
            overflow: hidden;
            }
            .section-content::after{
                position: absolute;
                content: "";
                width: 100%;
                height: 100%;
                top: 0;
                left: 0;        
                pointer-events: none;                
                background: hsla(var(--theme-card-dark),1);
                opacity: 1;
                transition: all 0.15s linear;
                }                
                .ticket-io li.active .section-content::after{
                    opacity: 0;
                    }
            .ticket-io li.active .section-content{
                width: 100%;
                height: 100%;
                overflow: visible;
                }
                .section-content .ticket-title,
                .section-content .ticket-cta,
                .section-content .ticket-logo{
                    opacity: 0;
                    transition: opacity 0.3s linear;
                    }
                    .ticket-io li.active .section-content .ticket-title,
                    .ticket-io li.active .section-content .ticket-cta,
                    .ticket-io li.active .section-content .ticket-logo{
                        opacity: 1;
                        }
        .timer{
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: var(--ticket-gap);
            padding-top: var(--padding-content);
            }
            .tick-tock{
                display: flex;
                position: relative;
                flex-direction: column;
                justify-content: center;
                text-align: center;
                width: var(--ticket-width);
                }
                .tick-tock::after{
                    position: absolute;
                    content: ":";
                    top: 0;
                    right: calc(var(--ticket-gap-detail) - var(--ticket-gap));
                    flex-direction: column;
                    justify-content: center;
                    text-align: center;
                    color: hsla(var(--theme-green-title),1);
                    opacity: 0.48;
                    font-size: calc(var(--fs-ticket-number) / 1.25);
                    line-height: calc(var(--lh-ticket-number) / 1.25);
                    }
                    .tick-tock:last-of-type::after{
                        display: none;
                        }
                .tick-tock span:first-of-type{
                    font-size: var(--fs-ticket-number);
                    line-height: var(--lh-ticket-number);
                    letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
                    }
                .tick-tock span:last-of-type{
                    opacity: 0.6;
                    font-size: var(--fs-ticket-data);
                    line-height: var(--lh-ticket-data);
                    letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
                    }
        .highlight{
            position: relative;
            display: inline-block;
            }
            .highlight::after{
                position: absolute;
                content: "";
                left: 0;
                bottom: 0;
                width: 100%;
                height: var(--ticket-underline);
                background: hsla(var(--color-black),1)!important;
                transform: scaleX(0);
                transform-origin: left;
                transition: transform 0.96s cubic-bezier(0.12, 0.32, 0.12, 1.24);
                }
                .highlight.underline::after{
                    transform: scaleX(1);
                    }
        .ticket-cta{
            position: relative;
            display: flex;
            flex-direction: column;
            width: 100%;
            gap: var(--tickets-tt-gap);
            padding: var(--tickets-tc-padding);
            align-items: center;
            }
        .ticket-cta .button{
            width: fit-content;
            min-width: fit-content;
            }
            .ticket-cta h3{                    
                padding: 0 5%;
                }
            .ticket-cta p{    
                font-size: var(--fs-tickets-tt-p);
                line-height: var(--fs-tickets-tt-p);
                letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
                }
            .ticket-cta .arrow{
                visibility: hidden;
                position: absolute;
                width: calc(var(--btn-cta-xl-height) * 0.85);
                height: calc(var(--btn-cta-xl-height) * 0.85);
                top: 5.75%;
                bottom: 0;
                left: 18%;
                margin: auto 0;
                }
                .pctd0{
                    opacity: 0;
                    stroke-width: 2px;
                    stroke-linecap: round;
                    stroke-linejoin: round;
                    stroke-miterlimit: 10;
                    stroke-dasharray: 500;
                    stroke-dashoffset: 500;
                    animation: dash-arrow-ticket 20s 0.5s cubic-bezier(0.42, 0.72, 0.12, 1.18) infinite;
                    }
                .ticket-cta .arrow:nth-child(2){
                    transform: rotate(180deg);
                    right: 18%;
                    left: auto;
                    }
                    .ticket-cta .arrow:nth-child(2)    .pctd0{
                        animation: dash-arrow-ticket 20s 1.25s cubic-bezier(0.42, 0.72, 0.12, 1.18) infinite;
                        }
                        .ticket-cta .arrow .pctd0{
                            animation: dash-arrow-ticket 20s 0.5s cubic-bezier(0.42, 0.72, 0.12, 1.18) infinite!important;
                            }
                            .ticket-cta .arrow:nth-child(2)    .pctd0{
                                animation: dash-arrow-ticket 20s 1.25s cubic-bezier(0.42, 0.72, 0.12, 1.18) infinite!important;
                                }
.ticket-venue-date{
    display: grid;
    width: 100%;
    color: hsla(var(--theme-text-primary),0.72);
    padding-top: calc(var(--tickets-gap) * 2);
    font-weight: 500;
    line-height: 1.5;
    grid-template-columns: 1fr 1fr;
    }
    .ticket-venue-date p{ padding: var(--tickets-venue-date-padding);}
        .ticket-venue-date p:nth-child(1),
        .ticket-venue-date p:nth-child(2){
            border-top: 1px solid hsla(var(--theme-text-primary),1);
            border-bottom: 1px solid hsla(var(--theme-text-primary),1);
            }
        .ticket-venue-date p:nth-child(1),
        .ticket-venue-date p:nth-child(3){
            border-right: 1px solid hsla(var(--theme-text-primary),1);
            }
    .ticket-venue-date span{
        opacity: 0.85;
        }
        .ticket-logo{
            display: none;
            margin: auto;
            filter: grayscale(100%);
            }
            .ticket-logo svg{ 
                opacity: 0.36;
                }
            .ticket-logo .pls1{ 
                fill: hsla(var(--theme-green-title),1);
                }
.ticket-detail-top,
.ticket-detail-bottom{
    visibility: hidden;
    position: absolute;
    width: 100%;
    height: 1.5px;
    top: -1.5px;
    left: 0;
    border-bottom: 1.5px dashed hsla(var(--theme-text-primary),1);
    }
    .ticket-detail-bottom{
        top: auto;
        bottom: -1px;
        }
    .ticket-io .active .ticket-detail-top::after,
    .ticket-io .active .ticket-detail-top::before,
    .ticket-io .active .ticket-detail-bottom::after,
    .ticket-io .active .ticket-detail-bottom::before{
        position: absolute;
        content: "";
        width: var(--tickets-detail-size);
        height: var(--tickets-detail-size);
        bottom: calc(0px - calc(var(--tickets-detail-size) / 1.5));
        left: calc(0px - calc(var(--tickets-detail-size) / 1.5));
        background: hsla(var(--theme-green-background),1);
        z-index: 10;
        pointer-events: none;
        transition: background 0.55s var(--ease-fluid);
        border-radius: 0;
        }
        .ticket-io .active .ticket-detail-top::before,
        .ticket-io .active .ticket-detail-bottom::before{
            right: calc(0px - calc(var(--tickets-detail-size) / 2));
            left: auto;
            background: hsla(var(--theme-green-background),1);
            z-index: 10;
            }
    .ticket-1-active .ticket-detail-top::after,
    .ticket-1-active .ticket-detail-top::before,
    .ticket-1-active .ticket-detail-bottom::after,
    .ticket-1-active .ticket-detail-bottom::before{
        background: hsla(var(--theme-green-background),1);
        }
    .ticket-2-active .ticket-detail-top::after,
    .ticket-2-active .ticket-detail-top::before,
    .ticket-2-active .ticket-detail-bottom::after,
    .ticket-2-active .ticket-detail-bottom::before{
        background: hsla(var(--theme-blue-background),1);
        }
    .ticket-3-active .ticket-detail-top::after,
    .ticket-3-active .ticket-detail-top::before,
    .ticket-3-active .ticket-detail-bottom::after,
    .ticket-3-active .ticket-detail-bottom::before{
        background: hsla(var(--theme-magenta-background),1);
        }
    .ticket-io li.active .ticket-detail-top,
    .ticket-io li.active .ticket-detail-bottom{
        visibility: visible;
        }
.ticket-io .timer{
    gap: var(--tickets-gap);
    padding-top: calc(var(--tickets-gap) * 1.2);
    }
    .ticket-io .tick-tock{
        width: var(--tickets-width);
        }
        .ticket-io .tick-tock::after{
            right: calc(var(--tickets-gap-detail) - var(--tickets-gap));
            opacity: 0.5;
            font-size: calc(var(--fs-tickets-number) / 1.25);
            line-height: calc(var(--lh-tickets-number) / 1.25);
            font-weight: 600;
            pointer-events: none;
            }
            .ticket-io .tick-tock:last-of-type::after{
                display: none;
                }
@supports (clip-path: polygon(0 0)){
    .ticket-io{
        --ticket-pixel-border-size: var(--window-pixel-unit);
        --ticket-border-width: calc(var(--window-pixel-unit) * 1);
        width: 100%;
        border-radius: 0;
        background: hsla(var(--theme-text-primary),1);
        padding: var(--ticket-border-width);
        overflow: visible;
        clip-path: polygon(
            0 var(--ticket-pixel-border-size),
            var(--ticket-pixel-border-size) var(--ticket-pixel-border-size),
            var(--ticket-pixel-border-size) 0,
            calc(100% - var(--ticket-pixel-border-size)) 0,
            calc(100% - var(--ticket-pixel-border-size)) var(--ticket-pixel-border-size),
            100% var(--ticket-pixel-border-size),
            100% calc(100% - var(--ticket-pixel-border-size)),
            calc(100% - var(--ticket-pixel-border-size)) calc(100% - var(--ticket-pixel-border-size)),
            calc(100% - var(--ticket-pixel-border-size)) 100%,
            var(--ticket-pixel-border-size) 100%,
            var(--ticket-pixel-border-size) calc(100% - var(--ticket-pixel-border-size)),
            0 calc(100% - var(--ticket-pixel-border-size)));
        box-shadow: 0 15px 30px hsla(var(--theme-black),0.2), 0 20px 40px hsla(var(--theme-black),0.1);
        }
        .dark .ticket-io{
            background: hsla(var(--theme-text-primary),1);
            box-shadow: 0 15px 30px hsla(var(--theme-black),0.3), 0 20px 40px hsla(var(--theme-black),0.2);
            }
        .ticket-io > li{
            background: hsla(var(--theme-card-dark),1);
            clip-path: polygon(
                0 var(--ticket-pixel-border-size),
                var(--ticket-pixel-border-size) var(--ticket-pixel-border-size),
                var(--ticket-pixel-border-size) 0,
                calc(100% - var(--ticket-pixel-border-size)) 0,
                calc(100% - var(--ticket-pixel-border-size)) var(--ticket-pixel-border-size),
                100% var(--ticket-pixel-border-size),
                100% calc(100% - var(--ticket-pixel-border-size)),
                calc(100% - var(--ticket-pixel-border-size)) calc(100% - var(--ticket-pixel-border-size)),
                calc(100% - var(--ticket-pixel-border-size)) 100%,
                var(--ticket-pixel-border-size) 100%,
                var(--ticket-pixel-border-size) calc(100% - var(--ticket-pixel-border-size)),
                0 calc(100% - var(--ticket-pixel-border-size))
            );
            }
}
.ticket-io li:nth-child(1) .section-title, .ticket-io li:nth-child(1).active .section-title, .ticket-io li:nth-child(1).active .section-title:hover, .ticket-io li:nth-child(1) .section-title::before, .ticket-1-active .highlight::after{ background: hsla(var(--theme-ticket-1-color),1);}
.ticket-io li:nth-child(1) .section-title{ background: var(--theme-ticket-1-background);}
.ticket-io li:nth-child(1) .ticket-title h3, .ticket-io li:nth-child(1) .ticket-title p, .ticket-io li:nth-child(1) .tick-tock::after, .ticket-io li:nth-child(1) .section-title p span, .ticket-io li:nth-child(1) .section-title .price{ color: hsla(var(--theme-ticket-1-color),1);}
.ticket-io li:nth-child(1) .pctd0{ fill: hsla(var(--theme-ticket-1-color),0.18); stroke: hsla(var(--theme-ticket-1-color),1);}
.ticket-1-active .hero-marquee b{ -webkit-text-fill-color: hsla(var(--theme-ticket-1-color),0.18);}            
.ticket-1-active .hero-marquee b::before{ -webkit-text-fill-color: hsla(var(--theme-ticket-1-color),0);    -webkit-text-stroke: 1px hsla(var(--theme-ticket-1-color),1);}
.ticket-io li:nth-child(1).active{ background: hsla(var(--theme-card-dark),1);}
.ticket-io li:nth-child(1).active .ticket-detail-top::after,
.ticket-io li:nth-child(1).active .ticket-detail-top::before,
.ticket-io li:nth-child(1).active .ticket-detail-bottom::after,
.ticket-io li:nth-child(1).active .ticket-detail-bottom::before{ background: hsla(var(--theme-text-primary),1);}
.ticket-io li:nth-child(2) .section-title, .ticket-io li:nth-child(2).active .section-title, .ticket-io li:nth-child(2).active .section-title:hover, .ticket-io li:nth-child(2) .section-title::before, .ticket-2-active .highlight::after{ background: hsla(var(--theme-ticket-2-color),1);}
.ticket-io li:nth-child(2) .section-title{ background: var(--theme-ticket-2-background);}
.ticket-io li:nth-child(2) .ticket-title h3, .ticket-io li:nth-child(2) .ticket-title p, .ticket-io li:nth-child(2) .tick-tock::after, .ticket-io li:nth-child(2) .section-title p span, .ticket-io li:nth-child(2) .section-title .price{ color: hsla(var(--theme-ticket-2-color),1);}
.ticket-io li:nth-child(2) .pctd0{ fill: hsla(var(--theme-ticket-2-color),0.18); stroke: hsla(var(--theme-ticket-2-color),1);}
.ticket-2-active .hero-marquee b{ -webkit-text-fill-color: hsla(var(--theme-ticket-2-color),0.18);}            
.ticket-2-active .hero-marquee b::before{ -webkit-text-fill-color: hsla(var(--theme-ticket-2-color),0);    -webkit-text-stroke: 1px hsla(var(--theme-ticket-2-color),1);}
.ticket-io li:nth-child(2).active{ background: hsla(var(--theme-card-dark),1);}
.ticket-io li:nth-child(2).active .ticket-detail-top::after,
.ticket-io li:nth-child(2).active .ticket-detail-top::before,
.ticket-io li:nth-child(2).active .ticket-detail-bottom::after,
.ticket-io li:nth-child(2).active .ticket-detail-bottom::before{ background: hsla(var(--theme-text-primary),1);}
.ticket-io li:nth-child(3) .section-title, .ticket-io li:nth-child(3).active .section-title, .ticket-io li:nth-child(3).active .section-title:hover, .ticket-io li:nth-child(3) .section-title::before, .ticket-3-active .highlight::after{ background: hsla(var(--theme-ticket-3-color),1);}
.ticket-io li:nth-child(3) .section-title{ background: var(--theme-ticket-3-background);}
.ticket-io li:nth-child(3) .ticket-title h3, .ticket-io li:nth-child(3) .ticket-title p, .ticket-io li:nth-child(3) .tick-tock::after, .ticket-io li:nth-child(3) .section-title p span, .ticket-io li:nth-child(3) .section-title .price{ color: hsla(var(--theme-ticket-3-color),1);}
.ticket-io li:nth-child(3) .pctd0{ fill: hsla(var(--theme-ticket-3-color),0.18); stroke: hsla(var(--theme-ticket-3-color),1);}
.ticket-3-active .hero-marquee b{ -webkit-text-fill-color: hsla(var(--theme-ticket-3-color),0.18);}            
.ticket-3-active .hero-marquee b::before{ -webkit-text-fill-color: hsla(var(--theme-ticket-3-color),0);    -webkit-text-stroke: 1px hsla(var(--theme-ticket-3-color),1);}
.ticket-io li:nth-child(3).active{ background: hsla(var(--theme-card-dark),1);}
.ticket-io li:nth-child(3).active .ticket-detail-top::after,
.ticket-io li:nth-child(3).active .ticket-detail-top::before,
.ticket-io li:nth-child(3).active .ticket-detail-bottom::after,
.ticket-io li:nth-child(3).active .ticket-detail-bottom::before{ background: hsla(var(--theme-text-primary),1);}

/* =============================================================================
   FLIP COUNTDOWN
   ========================================================================== */

.flip-countdown{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--flip-gap);
    justify-items: center;
    align-items: stretch;
    max-width: 100%;
    width: fit-content;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    }
    .flip-countdown .unit{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--unit-gap);
        overflow: visible;
        }
    .flip-countdown .unit-label{
        font-size: var(--fs-card-title) !important;
        line-height: var(--lh-card-title) !important;
        letter-spacing: calc(var(--ls-md) * var(--ls-mul));
        color: hsla(var(--theme-text-primary), 1);
        }
    .flip-countdown .digits{
        display: flex;
        gap: clamp(6px, calc(var(--card-w) * 0.16), 18px);
        overflow: visible;
        }
    .flip-countdown .flip{
        position: absolute;
        inset: 0;
        padding: var(--countdown-pixel-border);
        background: hsla(var(--theme-text-primary), 1);
        clip-path: polygon(0 var(--countdown-pixel-border),var(--countdown-pixel-border) var(--countdown-pixel-border),var(--countdown-pixel-border) 0,calc(100% - var(--countdown-pixel-border)) 0,calc(100% - var(--countdown-pixel-border)) var(--countdown-pixel-border),100% var(--countdown-pixel-border),100% calc(100% - var(--countdown-pixel-border)),calc(100% - var(--countdown-pixel-border)) calc(100% - var(--countdown-pixel-border)),calc(100% - var(--countdown-pixel-border)) 100%,var(--countdown-pixel-border) 100%,var(--countdown-pixel-border) calc(100% - var(--countdown-pixel-border)),0 calc(100% - var(--countdown-pixel-border)));
        perspective: 1200px;
        perspective-origin: 50% 50%;
        }
    .flip-countdown .flip-wrapper::before,
    .flip-countdown .flip-wrapper::after{
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: calc(var(--countdown-pixel-unit) * 1.5);
        height: calc(var(--card-h) * 0.12);
        background: hsla(var(--color-yellow-600), 1);
        z-index: 25;
        }
        .flip-countdown .flip-wrapper::before{
            left: calc(var(--countdown-pixel-unit) * -1.5);
            clip-path: polygon(0 0,calc(100% - var(--countdown-pixel-unit)) 0,calc(100% - var(--countdown-pixel-unit)) var(--countdown-pixel-unit),100% var(--countdown-pixel-unit),100% calc(100% - var(--countdown-pixel-unit)),calc(100% - var(--countdown-pixel-unit)) calc(100% - var(--countdown-pixel-unit)),calc(100% - var(--countdown-pixel-unit)) 100%,0 100%);
            }
    .flip-countdown .flip-wrapper::after{
        right: calc(var(--countdown-pixel-unit) * -1.5);
        clip-path: polygon(
        0 var(--countdown-pixel-unit),
        var(--countdown-pixel-unit) var(--countdown-pixel-unit),
        var(--countdown-pixel-unit) 0,
        100% 0,
        100% 100%,
        var(--countdown-pixel-unit) 100%,
        var(--countdown-pixel-unit) calc(100% - var(--countdown-pixel-unit)),
        0 calc(100% - var(--countdown-pixel-unit))
        );
        }
    .flip-countdown .panel,
    .flip-countdown .fold,
    .flip-countdown .unfold{
        position: absolute;
        left: var(--countdown-pixel-border);
        right: var(--countdown-pixel-border);
        height: calc(50% - var(--countdown-pixel-inner));
        overflow: hidden;
        backface-visibility: hidden;
        transform-style: preserve-3d;
        will-change: transform;
        }
        .flip-countdown .top{
            top: var(--countdown-pixel-border);
            background: linear-gradient(180deg,hsla(var(--color-yellow-500), 1) 0%,hsla(var(--color-yellow-600), 1) 100%);
            border-bottom: var(--countdown-pixel-inner) solid hsla(var(--theme-black), 0.3);
            z-index: 5;
            }
        .flip-countdown .bottom{
            bottom: var(--countdown-pixel-border);
            background: linear-gradient(180deg,hsla(var(--color-yellow-600), 1) 0%,hsla(var(--color-yellow-500), 1) 100%);
            border-top: var(--countdown-pixel-inner) solid hsla(var(--theme-black), 0.5);
            z-index: 5;
            }
        .flip-countdown .fold{
            top: var(--countdown-pixel-border);
            transform-origin: center bottom;
            background: linear-gradient(180deg,hsla(var(--color-yellow-500), 1) 0%,hsla(var(--color-yellow-600), 1) 100%);
            z-index: 15;
            }
        .flip-countdown .unfold{
            bottom: var(--countdown-pixel-border);
            transform-origin: center top;
            background: linear-gradient(180deg,hsla(var(--color-yellow-600), 1) 0%,hsla(var(--color-yellow-500), 1) 100%);
            z-index: 14;
            }
        .flip-countdown .face{
            position: absolute;
            left: 0;
            width: 100%;
            height: var(--card-h);
            display: flex;
            align-items: center;
            justify-content: center;
            }
        .flip-countdown .top .face,
        .flip-countdown .fold .face{
            top: 0;
            }
        .flip-countdown .bottom .face,
        .flip-countdown .unfold .face{
            bottom: calc(0px - calc(var(--countdown-pixel-border) * 2));
            }
        .flip-countdown .digit{
            font-size: var(--font-size-digit);
            line-height: 1;
            font-weight: 700;
            font-variant-numeric: tabular-nums;
            font-feature-settings: "tnum" 1;
            color: hsla(var(--color-black-dark), 1);  
            -webkit-font-smoothing: antialiased;
            text-rendering: geometricPrecision;
            }
            .flip-countdown .lighting-overlay{
                position: absolute;
                inset: 0;
                pointer-events: none;
                opacity: 0;
                background: radial-gradient(ellipse at center,hsla(var(--theme-white), 0.15) 0%,hsla(var(--theme-white), 0.05) 40%,hsla(var(--theme-black), 0.2) 100%);
                }
            .flip-countdown .divider{
                position: absolute;
                left: var(--countdown-pixel-border);
                right: var(--countdown-pixel-border);
                top: 50%;
                height: calc(var(--countdown-pixel-border) / 1.5);
                background: hsla(var(--theme-background), 0.48);
                z-index: 21;
                transform: translateY(calc(var(--countdown-pixel-inner) * -1));
                pointer-events: none;
                backface-visibility: hidden;
                transform-style: flat;
                isolation: isolate;
                }
            .flip-countdown .flip-wrapper{
                position: relative;
                width: var(--card-w);
                height: var(--card-h);
                overflow: visible;
                }

/* =============================================================================
   SESSIONS
   ========================================================================== */

#sessions.wrapper{
    width: 100%;
    padding: 0;
    }
    #sessions #content > div{ display: none;}
    #sessions #content > div.visible{ display: block;}
#tabs{
    display: flex;
    position: relative;
    width: 100%;
    margin: 0 auto!important;
    list-style: none;
    padding: var(--header-margin);
    left: 0;
    right: 0;
    z-index: 99;
    align-items: center;
    justify-content: space-between;
    }
    #tabs::before{
        position: absolute;
        content: "";
        z-index: 0;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: hsla(var(--theme-background),0.72);
        background: linear-gradient(0deg, hsla(var(--theme-violet-title),0.12) 0%, hsla(var(--theme-violet-title),0.12) 0%), linear-gradient(0deg, hsla(var(--theme-card-darkest),0.78) 0%, hsla(var(--theme-card-darkest),0.78) 0%);
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        }
    #tabs.sticky{
        position: fixed;
        top: 0; 
        padding-top: calc(var(--header-height) + calc(var(--header-margin) * 2.5));
        }
    #tabs > li:first-child{
        --mul: var(--mul-xl);
        position: relative;
        display: flex;
        width: 100%;
        max-width: 372px;
        height: var(--tabs-height);
        border-radius: calc(var(--button-border-radius-xlarge) * var(--mul-md));
        background:  hsla(var(--theme-violet-title),0.12);
        margin: auto;
        overflow: hidden;
        --indicator-x: 0%;
        --indicator-scale-x: 1;
        --indicator-origin: left;
        }
        .dark  #tabs > li:first-child{ background:  hsla(var(--theme-violet-title),0.36);}
        #tabs li{
            display: flex;
            flex-direction: row;
            }
            #tabs > li:first-child a{
                display: flex;
                position: relative;
                width: 100%;
                font-size: calc(var(--button-fs) * var(--mul));
                line-height: calc(var(--button-fs) * var(--mul));
                letter-spacing: 1px;
                align-items: center;
                justify-content: center;
                color: hsla(var(--theme-text-primary),0.72);
                text-decoration: none;
                transition: color 0.3s ease;
                z-index: 2;
                }
                #tabs > li:first-child::before{
                    position: absolute;
                    content: "";
                    width: calc(50% - 4px);
                    height: calc(var(--tabs-height) - 8px);
                    top: 4px;
                    left: 4px;
                    border-radius: calc(calc(var(--button-border-radius-xlarge) * var(--mul-md)) - 2px);
                    background: hsla(var(--theme-card-darkest),1);
                    transform: translateX(var(--indicator-x, 0%)) scaleX(var(--indicator-scale-x, 1));
                    transform-origin: var(--indicator-origin, left) center;
                    will-change: transform;
                    z-index: 1;
                    }
        #tabs > li:first-child a:hover,
        #tabs > li:first-child a:focus{
            color: hsla(var(--theme-text-primary),1);
            }
            #tabs > li:first-child a.active-tab{
                color: hsla(var(--theme-violet-title), 1);
                /*font-weight: 700;*/
                }
     #tabs .button{ display: none;}
table{    
    width: 100%;
    border-collapse: collapse;
    margin: 1.5px 0 0;
    padding: 0;
    table-layout: fixed;
    }
table tr{
    display: block;
    border-bottom: 1.5px solid hsla(var(--theme-violet-border-light),1);
    /*background: hsla(var(--theme-violet-background),1);*/
    background: linear-gradient(0deg, hsla(var(--theme-card-dark),0.48) 0%, hsla(var(--theme-card-dark),0.48) 0%), linear-gradient(0deg, hsla(var(--theme-violet-background),1) 0%, hsla(var(--theme-violet-background),1) 0%);
    padding: var(--sessions-padding);
    }
table thead{
    display: none!important;
    }
table th,
table td{
    display: block;
    position: relative;
    width: 100%;
    padding-left: var(--sessions-td-pl);
    margin: var(--sessions-td-ptb) 0;
    box-sizing: border-box;    
    }
    table th p{
        color: hsla(var(--theme-violet-title),1);
        }
        table th:nth-child(2) p{ color: hsla(var(--theme-violet-title),1);}
        table th:nth-child(3) p{ color: hsla(var(--theme-blue-title),1);}
        table th:nth-child(4) p{ color: hsla(var(--theme-red-title),1);}
        table th:nth-child(5) p{ color: hsla(var(--theme-orange-title),1);}
        table th:nth-child(6) p{ color: hsla(var(--theme-yellow-title),1);}
        table th:nth-child(7) p{ color: hsla(var(--theme-green-title),1);}
            table.day-1 th:nth-child(6) p{ color: hsla(var(--theme-green-icon-bg),1);}
            table.day-1 th:nth-child(7) p{ color: hsla(var(--theme-green-title),1);}
    table th::after,
    table td::after{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 4px;
        height: calc(100% + 4px);
        border-radius: calc(var(--button-border-radius-xlarge) * var(--mul-md));
        background: hsla(var(--theme-violet-title),0.84);
        }
        table th:nth-child(2)::after, table td:nth-child(2)::after{ background: hsla(var(--theme-violet-title),0.12);}
        table th:nth-child(3)::after,table td:nth-child(3)::after{ background: hsla(var(--theme-blue-title),0.12);}
        table th:nth-child(4)::after, table td:nth-child(4)::after{ background: hsla(var(--theme-red-title),0.12);}
        table th:nth-child(5)::after, table td:nth-child(5)::after{ background: hsla(var(--theme-orange-title),0.12);}
        table th:nth-child(6)::after, table td:nth-child(6)::after{ background: hsla(var(--theme-yellow-title),0.12);}
        table th:nth-child(7)::after, table td:nth-child(7)::after{ background: hsla(var(--theme-green-title),0.12);}
            table.day-1 th:nth-child(6)::after, table.day-1 td:nth-child(6)::after{ background: hsla(var(--theme-green-icon-bg),0.12);}
            table.day-1 th:nth-child(7)::after, table.day-1 td:nth-child(7)::after{ background: hsla(var(--theme-green-title),0.12);}
    table td::before{
        position: absolute;
        content: attr(data-label);
        left: 18px;
        top: 6px;
        font-size: var(--fs-hero-h5);
        line-height: var(--lh-hero-h5);
        letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
        color: hsla(var(--theme-violet-title),1);
        }
        table td:nth-child(2)::before, table td:nth-child(2) strong{ color: hsla(var(--theme-violet-title),1);}
        table td:nth-child(3)::before, table td:nth-child(3) strong{ color: hsla(var(--theme-blue-title),1);}
        table td:nth-child(4)::before, table td:nth-child(4) strong{ color: hsla(var(--theme-red-title),1);}
        table td:nth-child(5)::before, table td:nth-child(5) strong{ color: hsla(var(--theme-orange-title),1);}
        table td:nth-child(6)::before, table td:nth-child(6) strong{ color: hsla(var(--theme-yellow-title),1);}
        table td:nth-child(7)::before, table td:nth-child(7) strong{ color: hsla(var(--theme-green-title),1);}
            table.day-1 td:nth-child(6)::before, table.day-1 td:nth-child(6) strong{ color: hsla(var(--theme-green-icon-bg),1);}
            table.day-1 td:nth-child(7)::before, table.day-1 td:nth-child(7) strong{ color: hsla(var(--theme-green-title),1);}
    table td:first-child{
        font-size: var(--fs-sessions-hour);
        line-height: var(--fs-sessions-hour);
        letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
        color: hsla(var(--theme-text-primary),0.48);
        padding-left: 0;
        }
        table td:first-child::after{ display: none;}
table p{ 
    font-size: var(--fs-body-xs);
    line-height: var(--lh-body-xs);
    }
    table p a{
        color: hsla(var(--theme-text-primary),1);
        text-decoration: none;
        }
    table p:first-child{
        /*font-size: var(--fs-button-large);
        line-height: calc(var(--fs-button-large) * 1.36);*/
        font-weight: 700;
        padding: 36px 0 0;
        }
        table td.no-room p:first-child{ padding: 6px 0 3px;}
            table td.no-room p:first-child span b{
                display: inline-flex;
                transform: scale(1.3)
                }
        table p:first-child i{
            /*font-size: var(--fs-button-large);                
            line-height: calc(var(--fs-button-large) * 1.36);*/
            font-weight: 400;
            font-style: normal;
            color: hsla(var(--theme-violet-title),1);
            }
            table td:nth-child(2) p:first-child i{ color: hsla(var(--theme-violet-title),1);}
            table td:nth-child(3) p:first-child i{ color: hsla(var(--theme-blue-title),1);}
            table td:nth-child(4) p:first-child i{ color: hsla(var(--theme-red-title),1);}
            table td:nth-child(5) p:first-child i{ color: hsla(var(--theme-orange-title),1);}
            table td:nth-child(6) p:first-child i{ color: hsla(var(--theme-yellow-title),1);}
            table td:nth-child(7) p:first-child i{ color: hsla(var(--theme-green-title),1);}
                table.day-1 td:nth-child(6) p:first-child i{ color: hsla(var(--theme-green-icon-bg),1);}
                table.day-1 td:nth-child(7) p:first-child i{ color: hsla(var(--theme-green-title),1);}
    table p:nth-child(2),
    table p:nth-child(2) a{        
        /*font-size: var(--fs-button-medium);                
        line-height: calc(var(--fs-button-medium) * 1.36);*/
        color: hsla(var(--theme-text-primary),0.72);
        margin-top: 2px;
        }
        table p a:hover{ color: hsla(var(--theme-violet-title),1);}
            table td:nth-child(2) a:hover{ color: hsla(var(--theme-violet-title),1);}
            table td:nth-child(3) a:hover{ color: hsla(var(--theme-blue-title),1);}
            table td:nth-child(4) a:hover{ color: hsla(var(--theme-red-title),1);}
            table td:nth-child(5) a:hover{ color: hsla(var(--theme-orange-title),1);}
            table td:nth-child(6) a:hover{ color: hsla(var(--theme-yellow-title),1);}
            table td:nth-child(7) a:hover{ color: hsla(var(--theme-green-title),1);}
                table.day-1 td:nth-child(6) a:hover{ color: hsla(var(--theme-green-icon-bg),1);}
                table.day-1 td:nth-child(7) a:hover{ color: hsla(var(--theme-green-title),1);}
    table td.no-room::after{ background: linear-gradient(0deg, hsla(var(--theme-black-light),0.24) 0%, hsla(var(--theme-black-light),0.24) 0%), linear-gradient(0deg, hsla(var(--theme-violet-background),1) 0%, hsla(var(--theme-violet-background),1) 0%);}
.row-detail{
    position: relative;
    background: radial-gradient(farthest-corner at 50% 50%, hsla(var(--theme-background),0) 36%, hsla(var(--theme-background),0.36) 66%, hsla(var(--theme-background),0.48) 80%, hsla(var(--theme-background),1) 100%), radial-gradient(farthest-corner at 50% 50%, hsla(var(--theme-background),0) 36%, hsla(var(--theme-background),0.18) 80%, hsla(var(--theme-background),0.48) 90%, hsla(var(--theme-background),1) 100%), linear-gradient(to top, hsla(var(--theme-background),0.48) 0%, hsla(var(--theme-background),0) 24%, hsla(var(--theme-background),0) 80%, hsla(var(--theme-background),0.48) 100%), 0 0 / auto var(--grid-size) repeat-y linear-gradient(to top, transparent 0, transparent calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% + var(--line-width) / 2), transparent calc(50% + var(--line-width) / 2)), 0 0 / var(--grid-size) auto repeat-x linear-gradient(to right, transparent 0, transparent calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% + var(--line-width) / 2), transparent calc(50% + var(--line-width) / 2)), hsla(var(--theme-background),1);
    box-shadow: 0 -1.5px 0 0 hsla(var(--theme-icon),0.12), 0 -1.5px 0 0 hsla(var(--theme-background),1);/**/
    border-color: hsla(var(--theme-icon),0.12)
    }
    .row-detail::before{ 
        position: absolute; 
        content: ""; 
        width: 100%; 
        height: 100%; 
        top: 0; 
        left: 0;
        background: hsla(var(--theme-violet-background),0.36);
        z-index: 0;
        }

/* =============================================================================
   SPEAKERS
   ========================================================================== */

.speakers h4{
    margin-top: var(--grid-item-gap);
    }
.speakers h5{
    margin-bottom: var(--grid-item-gap);
    }
.speaker{
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: hsla(var(--theme-background),1);
    }
    .speaker img, .image-color img{
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        object-position: center;
        display: block;
        filter: grayscale(100%);
        }      
    .speaker .pixel-window__content{ 
        padding: 0; 
        overflow: hidden;
        }
        .speaker .pixel-window__content div, .image-color .pixel-window__content div{ 
            position: relative; 
            background: hsla(var(--theme-green-background-strong),0.24);width: 100%;
            aspect-ratio: 1 / 1;            
            }             
            .image-color img, .image-color .pixel-window__content div{ aspect-ratio: auto;}
            .speaker .pixel-window__content div div, .image-color .pixel-window__content div div{ 
                position: relative; 
                mix-blend-mode: multiply;
                }
                .dark .speaker .pixel-window__content div div, .dark .image-color .pixel-window__content div div{ mix-blend-mode: overlay;}
    .speaker p{
        position: absolute;
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        padding: var(--fs-speakers-padding);
        text-align: center;
        justify-content: flex-end;
        box-sizing: border-box;
        overflow: hidden;
        background: linear-gradient(0deg, hsla(var(--theme-midnight-black-title),0.84) 0%, hsla(var(--theme-midnight-black-title),0.6) 24%, hsla(var(--theme-midnight-black-title),0.24) 60%, hsla(var(--theme-midnight-black-background),0) 100%);
        pointer-events: none;
        }        
        .speaker p span:first-child{
            font-size: var(--fs-speakers-name);
            line-height: var(--fs-speakers-name);
            letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
            color: hsla(var(--theme-white),1);
            }
        .speaker p span:last-child{
            font-size: var(--fs-speakers-company);
            line-height: 2;
            color: hsla(var(--theme-white),0.6);
            padding-bottom: 6px;
            }
.speaker-info p,
.speaker-info li{
    font-size: var(--fs-body-s);
    line-height: var(--lh-body-s);
    }
.speaker-social{
    display: table;
    position: relative;
    width: 100%;
    vertical-align: top;
    text-align: left;
    margin-top: 24px;
    }
    .speaker-social li{
        display: block;
        width: 100%;
        height: auto;
        font-size: var(--fs-body-xs);
        line-height: var(--lh-body-xs);
        padding: 12px 6px;
        box-sizing: border-box;
        vertical-align: top;
        border-top: 1px solid hsla(var(--theme-border),0.48);
        }
        .speaker-social li:first-child{
            border-top: 1.5px solid hsla(var(--theme-border),1);
            }
        .speaker-social li:last-child{
            border-bottom: 1.5px solid hsla(var(--theme-border),1);
            }
        .speaker-social a{
            display: block;
            width: 100%;
            height: auto;
            text-decoration: none;
            word-break: break-word;
            transition: var(--transition-old-school);
            }
            .speaker-social a:hover{
                color: hsla(var(--theme-green-title),1);
                transition: var(--transition-old-school);
                }
            .speaker-social a strong{
                color: hsla(var(--theme-green-title),1);
                }

/* =============================================================================
   WORKSHOPS
   ========================================================================== */

.workshops h2{ color: hsla(var(--theme-magenta-title),1);}
.workshop h4, .session h4{ margin-top: var(--grid-item-gap);}
.workshops.no-bg{ background: hsla(var(--theme-magenta-background),1);}
.workshops-features{
    display: flex;
    flex-direction: column;
    flex: 100%;
    gap: var(--grid-item-gap);
    box-sizing: border-box;      
    /*margin-top: calc(0px - var(--grid-item-gap));
    padding: var(--grid-gap) 0;*/
    }
    .workshops-features li{
        display: flex;
        text-align: left;
        gap: calc(var(--icon-size-section) / 2);
        align-items: center;
        }
        .workshops-features li .icon{
            display: flex;
            width: calc(var(--icon-size-section) + calc(var(--icon-size-section) / 2));
            height: calc(var(--icon-size-section) + calc(var(--icon-size-section) / 2));
            justify-content: center;
            align-items: center;
            background: hsla(var(--theme-magenta-video-background),0.24);
            object-fit: cover;
            mask-image: url("../images/icon-mask.svg");
            mask-size: contain; 
            mask-repeat: no-repeat;
            mask-position: center;    
            -webkit-mask-image: url("../images/icon-mask.svg"); 
            -webkit-mask-size: contain;
            -webkit-mask-repeat: no-repeat;
            -webkit-mask-position: center;
            }
        .workshops-features li svg{
            width: var(--icon-size-section);
            height: var(--icon-size-section);
            }            
            .workshops .button-icon-color{
                stroke: hsla(var(--theme-magenta-title),1);
                stroke-width: 1.5px;
                }
                .workshops .pls0{ fill: hsla(var(--theme-magenta-background-tint),0.84);}
        .workshops-features li span{
            font-size: var(--fs-body-s);
            line-height: var(--fs-body-s);
            }
.workshops-list{ margin-top: calc(0px - var(--grid-item-gap))}
  .workshops-list.select .pixel-window__content div{ 
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: calc(var(--pixel-content-padding) / 3);
    }
.workshops-list.select .price{   
    font-size: var(--fs-h2);
    line-height: var(--lh-h2);
    }
.workshops-list.select .pixel-window__content div.info-workshop-card{
    display: flex;
    flex-direction: row;
    gap: calc(var(--pixel-content-padding) / 2);
    align-items: center;
    margin-top: auto;
    }
    .workshops-list .button{
        width: inherit;
        min-width: fit-content;
        max-width: 48%;
        }
.workshops-price{
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(var(--padding-content) / 2);
    padding: calc(var(--pixel-content-padding) / 3);
    margin: 0;
    box-sizing: border-box;
    width: 100%;
    flex: 1;
    z-index: 100;
    }
    .workshops-price .price{    
        position: relative;
        width: 100%;
        font-size: var(--fs-tickets-tt-h4);
        line-height: var(--fs-tickets-tt-h4);    
        letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
        padding: 0 6px;
        }
        .workshops-price .vat{    
            position: absolute;
            height: fit-content;
            font-size: var(--fs-tickets-data);
            line-height: var(--lh-tickets-data);
            vertical-align: middle;
            opacity: 0.6;
            top: 0;
            right: 6px;
            bottom: 0;
            margin: auto 0; 
            letter-spacing: 0;
            text-transform: none;
            }
.hero-marquee-price{
    position: relative;
    display: flex;
    width: 0%;
    height: 0%;
    visibility: hidden;
    overflow: hidden;
    transform: rotate(180deg);
    margin-bottom: -6px;
    }
    .hero-marquee-price::after{
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: linear-gradient(90deg, hsla(var(--theme-card-dark),1) 0%, hsla(var(--theme-card-dark),0) 8%, hsla(var(--theme-card-dark),0) 92%, hsla(var(--theme-card-dark),1) 100%);
        }
    .hero-marquee-price .hero-marquee{
        font-size: var(--fs-hero-marquee-price);
        line-height: var(--fs-hero-marquee-price);
        letter-spacing: var(--ls-hero-marquee-price);
        top: var(--tp-hero-marquee-price);
        }
        .hero-marquee-price .hero-marquee b{
            background: linear-gradient(hsla(var(--theme-magenta-title),1),hsla(var(--theme-magenta-title),1)) no-repeat 0 0;
            background-size: 0 100%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: hsla(var(--theme-magenta-title),0.12);
            }            
            .hero-marquee-price .hero-marquee b::before{
                background-size: 100% 100%;
                -webkit-background-clip: text;
                background-clip: text;
                -webkit-text-fill-color: hsla(var(--theme-magenta-title),0);
                -webkit-text-stroke: 1px hsla(var(--theme-magenta-title),0.84);
                }

/* =============================================================================
   CONTEST ICONS
   ========================================================================== */

.contest-icons{ background: hsla(var(--theme-blue-background-tint),1);}
.contest-icons .button-icon-color{
    stroke: hsla(var(--theme-blue-title),1);
    stroke-width: 1.5px;
    }
.contest-icons .pls0{ fill: hsla(var(--theme-blue-background-tint),0.84);}
.contest-icons .workshops-features li .icon{ background: hsla(var(--theme-blue-video-background),0.24);}

/* =============================================================================
   SPONSORS
   ========================================================================== */

.sponsors{
    text-align: center;
    }
    .sponsors-content{
        display: flex;
        width: 100%;
        min-width: 100%;
        flex-direction: column;
        overflow: hidden;
        justify-content: center;
        gap: var(--logos-gap);
        box-sizing: border-box;
        }
        .sponsors-content h3{
            font-size: var(--fs-h1);
            line-height: var(--lh-h1);
            margin-top: calc(var(--grid-gap) * 1.5);
            }
        .platinum h3{ color: hsla(var(--theme-platinum),1);}
        .gold h3{ color: hsla(var(--theme-gold),1);}
        .silver h3{ color: hsla(var(--theme-silver),1);}
        .bronze h3{ color: hsla(var(--theme-bronze),1);}
        .logos{
            display: flex;
            width: 100%;
            flex-wrap: wrap;
            justify-content: center;
            gap: var(--logos-gap);
            box-sizing: border-box;            
            }
            .logo{
                position: relative;
                width: calc(var(--logos-width) - var(--logos-gap-img));
                padding-top: calc(var(--logos-width) - var(--logos-gap-img));
                }
                .platinum .logo{
                    width: calc(var(--logos-width-platinum) - var(--logos-gap-img));
                    padding-top: calc(var(--logos-width-platinum) - var(--logos-gap-img));
                    }
                .gold .logo{
                    width: calc(var(--logos-width-gold) - var(--logos-gap-img));
                    padding-top: calc(var(--logos-width-gold) - var(--logos-gap-img));
                    }
                    .gold.odd .logo{
                        width: calc(var(--logos-width-gold-odd) - var(--logos-gap-img));
                        }
                 .silver .logo{
                    width: calc(var(--logos-width-silver) - var(--logos-gap-img));
                    padding-top: calc(var(--logos-width-silver) - var(--logos-gap-img));
                    }
                    .silver.odd .logo{
                        width: calc(var(--logos-width-silver-odd) - var(--logos-gap-img));
                        padding-top: calc(var(--logos-width-silver-odd) - var(--logos-gap-img));
                        }
                .bronze .logo{
                    width: calc(var(--logos-width) - var(--logos-gap-img));
                    padding-top: calc(var(--logos-width) - var(--logos-gap-img));
                    }
                    .bronze.odd .logo{
                        width: calc(var(--logos-width-bronze-odd) - var(--logos-gap-img));
                        padding-top: calc(var(--logos-width-bronze-odd) - var(--logos-gap-img));
                        }
                .logo svg{
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                    }
                    .pls0{ fill: hsla(var(--theme-icon),1);}
                .logo .pixel-window{
                    height: 100%;
                    width: 100%;
                    position: absolute;
                    top: 0;
                    left: 0;
                    }
                .logo .pixel-window__outer,
                .logo .pixel-window__frame,
                .logo .pixel-window__content,
                .logo .pixel-window img,
                .logo .pixel-window svg{
                    height: 100%;
                    width: 100%;
                    }
                .logo .pixel-window__content{ padding: 0;}
                .logo .pixel-window img, .logo .pixel-window svg{ object-fit: contain;}
                    .platinum .pixel-window__outer{ background: hsla(var(--theme-platinum),1);}
                    .platinum .pixel-window__content{ background: linear-gradient(0deg, hsla(var(--theme-platinum),0.09) 0%, hsla(var(--theme-platinum),0.09) 100%), linear-gradient(0deg, hsla(var(--theme-orange-background),1) 0%, hsla(var(--theme-orange-background),1) 100%);}
                    .gold .pixel-window__outer{ background: hsla(var(--theme-gold),1);}
                    .gold .pixel-window__content{ background: linear-gradient(0deg, hsla(var(--theme-gold),0.09) 0%, hsla(var(--theme-gold),0.09) 100%), linear-gradient(0deg, hsla(var(--theme-orange-background),1) 0%, hsla(var(--theme-orange-background),1) 100%);}
                    .silver .pixel-window__outer{ background: hsla(var(--theme-silver),1);}
                    .silver .pixel-window__content{ background: linear-gradient(0deg, hsla(var(--theme-silver),0.09) 0%, hsla(var(--theme-silver),0.09) 100%), linear-gradient(0deg, hsla(var(--theme-orange-background),1) 0%, hsla(var(--theme-orange-background),1) 100%);}
                    .bronze .pixel-window__outer{ background: hsla(var(--theme-bronze),1);}
                    .bronze .pixel-window__content{ background: linear-gradient(0deg, hsla(var(--theme-bronze),0.09) 0%, hsla(var(--theme-bronze),0.09) 100%), linear-gradient(0deg, hsla(var(--theme-orange-background),1) 0%, hsla(var(--theme-orange-background),1) 100%);}
.past-sponsors, .sponsors-info{
    position: relative;
    color: hsla(var(--themetext-primary),1);
    background: hsla(var(--theme-orange-background),1);
    }
    .dark .past-sponsors, .dark .sponsors-info{ background: hsla(var(--theme-orange-background-tint),1);}
    .past-sponsors::after{
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;        
         pointer-events: none;
        background: linear-gradient(270deg, hsla(var(--theme-orange-background),1) 0%, hsla(var(--theme-orange-background),0.84) 12%, hsla(var(--theme-orange-background),0) 18%, hsla(var(--theme-orange-background),0) 82%, hsla(var(--theme-orange-background),0.84) 88%, hsla(var(--theme-orange-background),1) 100%);
        }
        .dark .past-sponsors::after{ background: linear-gradient(270deg, hsla(var(--theme-orange-background-tint),1) 0%, hsla(var(--theme-orange-background-tint),0.84) 12%, hsla(var(--theme-orange-background-tint),0) 18%, hsla(var(--theme-orange-background-tint),0) 82%, hsla(var(--theme-orange-background-tint),0.84) 88%, hsla(var(--theme-orange-background-tint),1) 100%);}
    .past-sponsors h2{
        color: hsla(var(--theme-orange-title),1);
        }    
        .past-sponsors .pls0{
            fill: hsla(var(--theme-text-primary),1);
            }
.sponsors-section{
    background: radial-gradient(farthest-corner at 50% 50%, hsla(var(--theme-background),0) 36%, hsla(var(--theme-background),0.36) 66%, hsla(var(--theme-background),0.48) 80%, hsla(var(--theme-background),1) 100%), 
    radial-gradient(farthest-corner at 50% 50%, hsla(var(--theme-background),0) 36%, hsla(var(--theme-background),0.18) 80%, hsla(var(--theme-background),0.48) 90%, hsla(var(--theme-background),1) 100%), 
    linear-gradient(to top, hsla(var(--theme-background),0.48) 0%, hsla(var(--theme-background),0) 24%, hsla(var(--theme-background),0) 80%, hsla(var(--theme-background),0.48) 100%),
    0 0 / auto var(--grid-size) repeat-y linear-gradient(to top, transparent 0, transparent calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% + var(--line-width) / 2), transparent calc(50% + var(--line-width) / 2)), 0 0 / var(--grid-size) auto repeat-x linear-gradient(to right, transparent 0, transparent calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% - var(--line-width) / 2), hsla(var(--theme-border-light),1) calc(50% + var(--line-width) / 2), transparent calc(50% + var(--line-width) / 2)), hsla(var(--theme-background),1);
    }
.become{
    display: flex;
    position: relative;
    flex-direction: column;
    width: 100%;
    text-align: center;
    align-items: center;
    gap: calc(var(--padding-content) / 2);
    padding: calc(var(--padding-content) / 1.25) var(--padding-content) var(--padding-content);
    box-sizing: border-box;
    border-radius: var(--border-radius);
    background: hsla(var(--theme-orange-card),1);
    z-index: 100;
    }
    .become.section p,
    .alert.section p{
        font-size: var(--fs-body-s);
        line-height: var(--lh-body-s);
        }
    .become br{
        display: none;
        }
    .index-font .become{
        width: var(--become-width);
        margin-left: var(--become-margin);
        }

/* =============================================================================
   MORE INFO
   ========================================================================== */

.more-info{
    position: relative;
    padding: 0;
    background: linear-gradient(0deg, hsla(var(--theme-green-background),0.72) 0%, hsla(var(--theme-green-background),0.72) 100%), linear-gradient(0deg, hsla(var(--theme-card-dark),1) 0%, hsla(var(--theme-card-dark),1) 100%);
    z-index: 1;
    }
    .more-info .logo{
        background: none!important;
        transition: all 0.42s ease-in;
        }
        .more-info.is-active{
            background: linear-gradient(0deg, hsla(var(--theme-green-title),0.09) 0%, hsla(var(--theme-green-title),0.09) 100%), linear-gradient(0deg, hsla(var(--theme-card-dark),1) 0%, hsla(var(--theme-card-dark),1) 100%);
            }
            .more-info.is-active .logo.rotate, .more-info .logo.rotate-icon{
                transform: rotate(180deg);
                } 
        .more-info .chevron{
            opacity: 1;
            }
            .more-info .chevron::after,
            .more-info .chevron::before{
                width: 24px;
                height: 5px;
                top: 12px;
                border-radius: 10px;
                background: hsla(var(--theme-green-title),1);
                }
                .more-info .chevron::before{
                    left: -7px;
                    }
                .more-info .chevron::after{
                    right: -7px;
                    }
                    .more-info.is-active .chevron::after, .more-info .chevron.rotate::after{
                        transform: rotate(45deg);
                        }
                    .more-info.is-active .chevron::before, .more-info .chevron.rotate::before{
                        transform: rotate(-45deg);
                        }
.toggle-content{
    height: 0;
    overflow: hidden;
	flex-direction: column;
    }
.is-active.toggle-content{
    display: flex;
	flex-direction: column;
    min-height: fit-content;
    max-height: fit-content;
    }
.more-info-content{
    display: flex;
    flex-direction: column;
    gap: calc(var(--grid-gap) * 1.5);
    }
.toggle-btn{
    position: absolute;
    display: flex;
    cursor: pointer;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-align: center;
    align-items: center;
    justify-content: center;
    z-index: 1;
    text-decoration: none;
    border-top: 2px solid hsla(var(--theme-green-background-strong),1);
    border-bottom: 2px solid hsla(var(--theme-green-background-strong),1);
    gap: calc(var(--grid-item-gap) * 1.5);
    transition: var(--transition-old-school);
    }
    .toggle-btn:hover{
        background: hsla(var(--theme-green-title),0.09);
        }
    .toggle-btn p{
        font-size: calc(var(--fs-icon-marquee) * 2);
        line-height: calc(var(--fs-icon-marquee) * 1.25);
        color: hsla(var(--theme-green-title),1);
        }
.logo.icon-marquee .button-icon-color{
    stroke-width: 0;
    stroke: none;
    fill: hsla(var(--theme-green-title),0.18);
    transition: var(--transition-old-school);
    }

/* =============================================================================
   CARDS
   ========================================================================== */

.cards{
    display: flex;
    flex-direction: row;    
    flex-wrap: wrap;
    justify-content: space-between;    
    gap: var(--cards-gap);
    box-sizing: border-box;
    }
    .card,
    .cards > .pixel-window{
        display: flex;
        flex: 100%;
        flex-direction: column;
        /*min-height: var(--info-stat-height);*/
        text-align: left;
        align-content: left;
        background: hsla(var(--theme-card),1);
        border-radius: var(--border-radius);
        box-sizing: border-box;
        padding: var(--padding-content-small);
        flex-wrap: wrap;
        box-shadow: inset 0 0 0 1px hsla(var(--theme-text-primary), 1);
        /*gap: 6px;*/
        }
    .cards > .pixel-window{
        background: transparent;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
        }
        .cards .pixel-window__content{
            display: flex;
            flex-direction: column;
            text-align: center;
            justify-content: center;
            }
            .cards .pixel-window .card-icon{
                width: calc(var(--fs-card-title) * 1.25);
                min-width: var(--fs-card-title);
                }
            .cards .pixel-window__content > div{
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 6px;
                }
                .cards .pixel-window__content > div > div{
                    display: flex;
                    align-items: center;
                    gap: 2px;
                    }
        .card.center{
            text-align: center;
            justify-content: center;
            /*gap: 6px;*/
            }
        .card div{
            display: flex;
            justify-content: center;
            gap: 6px;
            }
            .card div div{
                gap: 2px;
                }
                .card-number{
                    font-size: var(--fs-card-number);
                    line-height: var(--fs-card-number);
                    place-self: center;
                    }
                .card-title{
                    font-size: var(--fs-card-title)!important;
                    line-height: var(--lh-card-title)!important;
                    letter-spacing: calc(var(--ls-md) * var(--ls-mul));
                    }
                .card-icon{
                    display: inline-flex;
                    width: var(--cards-icon);
                    min-width: var(--cards-icon);
                    height: auto;
                    margin-bottom: var(--cards-icon-mb);
                    }
                    .card-icon .button-icon-color{ stroke: hsla(var(--theme-text-primary),1);}
                    .card-icon .button-icon-color.alt{ stroke: hsla(var(--theme-text-primary),1)!important;}
                    .card-icon.small{
                        width: var(--cards-icon-small);
                        min-width: var(--cards-icon-small);
                        }
        .cards.col-2 .card, .cards.col-3 .card,
        .cards.col-2 .pixel-window, .cards.col-3 .pixel-window{
            flex: 50%;
            max-width: calc(50% - calc(var(--cards-gap) / 2));
            }
            .cards.col-3 .card:nth-child(3n+3),
            .cards.col-3 .pixel-window:nth-child(3n+3){
                flex: 100%;
                max-width: 100%;
                }
.card-apply{
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: calc(var(--padding-content) / 2);
    padding: calc(var(--pixel-content-padding) / 3);
    margin: 0;
    box-sizing: border-box;
    width: 100%;
    flex: 1;
    z-index: 100;
    }
    .card-apply .apply-title{
        font-size: var(--fs-body-s);
        line-height: var(--lh-body-s);
        font-weight: bold;
        }
    .card-apply .apply-subtitle{
        font-size: var(--fs-body-xs);
        line-height: var(--lh-body-xs);
        font-weight: normal;
        }

/* =============================================================================
   HACKS
   ========================================================================== */

#sponsors.past-sponsors .anim-block.w100{    
    z-index: 10;
    }
.hero-cta strong{
    color: hsla(var(--theme-green-title), 1);
    }
.workshop-place{    
    background: none;
    }
#workshop.workshop h2:not(.anim-block), #workshop.workshop h3, #workshop.workshop h4{
    font-size: var(--fs-h4);
    line-height: var(--lh-h4);
    margin-top: var(--grid-item-gap);
    color: hsla(var(--theme-magenta-title),1);
    }
.workshops-list .price{
    font-size: var(--fs-h5);
    line-height: var(--lh-h5);
    color: hsla(var(--theme-magenta-title),1);
    }
.workshops-list .vat{    
    display: none;
    }

/* =============================================================================
   MEDIA QUERIES
   ========================================================================== */

/* ========================= 768 ========================= */

@media only screen and (min-width: 768px){
    
/* ============================
   HERO 768
   ============================ */
    
.hero{
    justify-content: space-between;
    }
    .wrapper.hero{
        padding-top: calc(var(--header-height) * 2);
        padding-bottom: calc(var(--hero-info-height) + calc(var(--header-height) / 1.25));
        }
.hero-info{
    position: absolute!important;
    width: 100%;
    bottom: 0;
    left: 0;
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
    padding: 0 var(--padding-content) 12px;
    margin: auto;
    }    
    .hero-info h5{
        flex-direction: row;
        gap: 6px;
        width: auto;
        padding: 0;
        }    
    .hero-info h5 strong{
        font-size: var(--fs-hero-h5);
        line-height: var(--lh-hero-h5);
        }
        .hero-info h5:nth-child(2) b{ display: inline-flex;}    
.hero-text{
    flex: 1 0 auto;
    align-items: center;
    width: fit-content;
    align-self: center;
    }    
.hero-cta{ flex-direction: row;}    
    .hero-cta strong{
        width: var(--hero-cta-center);
        padding: 12px 78px 12px 12px;
        white-space: nowrap;
        }
        .hero-cta strong span{
            position: absolute;
            top: 0;
            right: 24px;
            bottom: 0;
            display: block;
            margin: auto 0;
            width: 30px;
            height: 2.5px;
            background: hsla(var(--theme-icon),1);
            border-radius: 3px;
            opacity: 0.84;
            animation: bounceRight 4.2s cubic-bezier(0.12, 0.96, 0.36, 2.12) infinite;
            }
            .hero-cta strong span::after,
            .hero-cta strong span::before{
                position: absolute;
                content: "";
                width: 15px;
                height: 2.5px;
                background: hsla(var(--theme-icon),1);
                top: 5px;
                right: -3px;
                border-radius: 3px;
                transform: rotate(-45deg);
                pointer-events: none;
                }
                .hero-cta strong span::before{
                    top: -5px;
                    transform: rotate(45deg);
                    }
.hero-links-content{
    flex-direction: column-reverse;
    }    
.hero-links, .hero-links-content{
    width: 100%;
    max-width: 640px;
    align-self: center;
    }    
    .hero-buttons{
        flex-direction: row;
        justify-content: space-around;    
        }
        .hero-buttons .button{
            width: 50%;
            }
.hero-links p br{ display: none;}
.chevron{ margin-bottom: 0;}
.hero-orbit-icons::before{
    inset: -14%;
    transform: rotate(-6deg) scaleY(0.66) translateX(-6%) translateY(3%);
    }    
.error .hero-orbit-icons{
    right: -34%;
    left: auto;
    margin: 0 auto;
    }   
    .error .hero-orbit-icons::before{ transform: rotate(-6deg) scaleY(0.66) translateX(-4%) translateY(3%);}    
    
/* ============================
   INFO 768
   ============================ */
    
.video-container-mask img:nth-of-type(1),
.video-container-mask video{
    display: block;
    border-radius: 0;
    }
    .video-container-mask img:nth-of-type(2){
        display: none;
        }    
        .background-video-info{
            width: 100%;
            height: 100%;
            object-fit: cover;
            mask-image: url("../images/video-mask.svg");
            mask-size: contain; 
            mask-repeat: no-repeat;
            mask-position: center;    
            -webkit-mask-image: url("../images/video-mask.svg"); 
            -webkit-mask-size: contain;
            -webkit-mask-repeat: no-repeat;
            -webkit-mask-position: center;
            }    
            .video-container-mask.bcn .background-video-info{
                mask-image: url("../images/video-mask-flower.svg");
                -webkit-mask-image: url("../images/video-mask-flower.svg"); 
                }    
    .info .info-stats .pixel-window{
        flex: 25%;
        max-width: calc(25% - var(--grid-item-gap));
        }
    
/* ============================
   TICKET 768
   ============================ */

.timer{ padding-top: calc(var(--padding-content) * 2);}    
    
/* ============================
   TICKETS 768
   ============================ */        

.ticket-cta .arrow{
    visibility: visible;
    }
.tickets h4 br, .tickets .h4 br{
    display: none;
    }
.ticket-io li.active .section-content{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    }
    .ticket-io li.active .section-content .ticket-title{
        width: 48%;
        border-right: 1.5px dashed hsla(var(--theme-text-primary),1);
        justify-content: center;
        }
        .ticket-io li.active .section-content .ticket-title::after,
        .ticket-io li.active .section-content .ticket-title::before{
            position: absolute;
            content: "";
            width: var(--tickets-detail-size);
            height: var(--tickets-detail-size);
            right: calc(0px - calc(var(--tickets-detail-size) / 1.5));
            background: hsla(var(--theme-text-primary),1);
            z-index: 10;
            pointer-events: none;
            clip-path: polygon(
                0 var(--window-pixel-unit),
                var(--window-pixel-unit) var(--window-pixel-unit),
                var(--window-pixel-unit) 0,
                calc(100% - var(--window-pixel-unit)) 0,
                calc(100% - var(--window-pixel-unit)) var(--window-pixel-unit),
                100% var(--window-pixel-unit),
                100% calc(100% - var(--window-pixel-unit)),
                calc(100% - var(--window-pixel-unit)) calc(100% - var(--window-pixel-unit)),
                calc(100% - var(--window-pixel-unit)) 100%,
                var(--window-pixel-unit) 100%,
                var(--window-pixel-unit) calc(100% - var(--window-pixel-unit)),
                0 calc(100% - var(--window-pixel-unit))
            );
            }
            .ticket-io li.active .section-content .ticket-title::after{
                top: calc(0px - calc(var(--tickets-detail-size) / 1.5));
                }
            .ticket-io li.active .section-content .ticket-title::before{
                bottom: calc(0px - calc(var(--tickets-detail-size) / 1.5));
                }
        .ticket-io li.active .section-content .ticket-title .ticket-detail-top{
            width: calc(100% / 0.48);
            }
            .ticket-io li.active .section-content .ticket-title .ticket-detail-top::after{
                left: calc(0px - calc(var(--tickets-detail-size) / 1.5));
                }
            .ticket-io li.active .section-content .ticket-title .ticket-detail-top::before{
                right: calc(0px - calc(var(--tickets-detail-size) / 1));
                left: auto;
                }
    .ticket-io li.active .section-content .ticket-cta{
        width: 52%;
        justify-content: space-between;
        }
        .ticket-io li.active .section-content .ticket-cta .ticket-detail-top{
            display: none;
            }
        .ticket-io li.active .ticket-cta .arrow{
            width: calc(var(--btn-cta-xl-height) * 0.75);
            height: calc(var(--btn-cta-xl-height) * 0.75);
            top: -4%;
            left: 3%;
            }
            .ticket-io li.active .ticket-cta .arrow:nth-child(2){
                right: 3%;
                left: auto;
                }
.ticket-io li.active .ticket-logo{
    display: block;
    width: 240px;
    }
.ticket-io li.active .ticket-venue-date{
    display: grid;
    width: 100%;
    padding-top: calc(var(--tickets-gap) / 1);
    }

/* ============================
   FLIP COUNTDOWN 768
   ============================ */     

.flip-countdown{ grid-template-columns: repeat(4, 1fr);}    
    
/* ============================
   SESSIONS 768
   ============================ */    

#tabs .button{ display: flex;}
#tabs > li:first-child{ margin: 0;}
    
/* ============================
   WORKSHOPS 768
   ============================ */

.workshops-features{
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0;
    }
    .workshops-features li{
        flex: 50%;
        max-width: calc(50% - calc(var(--grid-item-gap) / 2));        
        }    
        .workshops-features li .icon{
            width: calc(var(--icon-size-section) * 2);
            height: calc(var(--icon-size-section) * 2);
            }    
.workshops-price{
    flex-direction: row;
    text-align: right;
    }
    .workshops-price .price{
        width: fit-content;
        min-width: fit-content;
        max-width: fit-content;
        padding: 0 0 2px;
        }
        .workshops-price .vat{    
            position: relative;
            display: flex;
            width: 100%;
            justify-content: right;
            right: 0;
            }      
.hero-marquee-price{
    width: 100%;
    height: 100%;
    visibility: hidden;
    margin-bottom: 0;
    }  
.grid.grid-col-3.grid-col-responsive.workshops-list{
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(0px - var(--grid-item-gap));
    justify-content: center;
    gap: var(--grid-gap);
    }
    .grid.grid-col-3.grid-col-responsive.workshops-list .grid-item{
        width: 100%;
        flex: 1 1 var(--ws-grid);
        max-width: var(--ws-mw-grid);
        }    
    
/* ============================
   SPONSORS 768
   ============================ */

.become br{
    display: inline;
    }
    
/* ============================
   VENUE 768
   ============================ */

.video-container img:nth-of-type(1),
.video-container video{
    display: block;
    }
    .video-container img:nth-of-type(2){
        display: none;
        }    
    
/* ============================
   CARDS 768
   ============================ */    
    
.cards.col-2-1 .card, .cards.col-4 .card{
    flex: 50%;
    max-width: calc(50% - calc(var(--cards-gap) / 2));
    }
.regular-list li.sublist li{ gap: 9px;}
.regular-list li.sublist li span{ display: inline;}
.regular-list.small li.sublist li{
    font-size: calc(var(--fs-body-xs) * 1.08);
    line-height: calc(var(--lh-body-xs) * 1.08);
    }
.card-apply{
    flex-direction: row;
    text-align: right;
    justify-content: right;
    }
    .card-apply .apply-title{
        padding-bottom: 6px;
        }
    .card-apply .apply-subtitle{
        font-size: var(--fs-body-s);
        line-height: var(--lh-body-s);
        }
    
}/* ============================== End media 768 */    

/* ========================= 1024 ========================= */

@media only screen and (min-width: 1024px){
    
/* ============================
   HERO 1024
   ============================ */
    
.hero-text br{ display: none;}    
.hero-links p br{ display: inline-flex;}
.hero-links, .hero-links-content{
    width: auto;
    max-width: none;
    flex-direction: row;
    justify-content: space-between;
    }
    .hero-links-content{
        flex-direction: row;
        align-self: center;
        }
    .hero-links p{
        text-align: left;
        padding: 0 12px 0 4px;
        margin-top: -5px;
        }        
    .hero-buttons{
        width: auto;
        min-width: fit-content;
        }
        .hero-buttons .button{
            width: auto;
            }    
.hero .chevron:first-child{display: flex;}    
    .hero .chevron::before{
        left: -2.5px;
        }
    .hero .chevron::after{
        right: -5px;
        }
        
/* ============================
   PIXEL WINDOW 1024
   ============================ */

.window-content-text{ flex-direction: row;}
    .window-content-text p{ max-width: var(--window-content-text-width);}
    .window-content-text .video-container-mask{ align-self: flex-start; margin: 0 auto;}
.window-cta{ padding: calc(var(--hero-links-space) * 2) var(--hero-links-space);}        
.window-invert-flex{ flex-direction: row;}
	.window-invert-flex .window-cta{
		max-width: 40%;
		align-self: stretch;
		}
	.window-invert-flex .pixel-window.window-cta{
		max-width: 40%;
		align-self: stretch;
		height: -webkit-fill-available;
        max-height: var(--pixel-window-cta-maxh);
	   }
        .window-invert-flex .pixel-window.window-cta .pixel-window__content{
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            }

/* ============================
   INFO 1024
   ============================ */
    
.info-title.illustration h2{ 
    padding-right: 48%;
    align-self: self-end;
    }
    .info-title.illustration.fixed h2{ 
        padding-right: 45%;
        font-size: calc(var(--fs-index-h2) / 1.24);
        line-height: calc(var(--lh-index-h2) / 1.24);
        }
.image-fixed{ width: 40%;}    
.image-rotate div, .image-fixed div{
    justify-content: start;
    margin-left: 10%;
    }
    .image-fixed div{ margin-left: 5%;}
    
/* ============================
   HIGHLIGHTS GALLERY
   ============================ */       
    
.gallery-actions{ 
    flex-direction: row;
    width: 100%;
    gap: var(--grid-gap);
    justify-content: center;
    }   
    .gallery-actions div{ 
        width: auto; 
        max-width: 33.333%;
        }
        .gallery-actions div a{ width: fit-content;}
    
/* ============================
   TICKETS 1024
   ============================ */        

.ticket-io{
    display: flex;
    height: var(--ticket-io-height);
    gap: 0; 
    justify-content: center;
    align-items: stretch;
    width: 100%;
    }
    .ticket-io li{
        display: flex;
         width: var(--tickets-st-width-col);
        padding: var(--tickets-st-width-col-padding);
        }    
        .ticket-io li.active{
             width: 100%;
            padding-right: var(--tickets-st-width-col);
            }    
        .ticket-io li.active .ticket-detail-bottom{
            visibility: visible;
            }
    .section-title{
        flex-direction: column-reverse;
        width: var(--tickets-st-width-col);
        flex-shrink: 0;
        padding: var(--tickets-st-padding);
        align-items: center;
        }        
        .section-title::after{    
            background: linear-gradient(90deg, hsla(var(--theme-ticket-shadow),0.24) -4%, hsla(var(--theme-ticket-shadow),0.12) 6%, hsla(var(--theme-ticket-shadow),0.06) 18%, hsla(var(--theme-ticket-shadow),0) 100%);
            }
            .dark .section-title::after{
                background: linear-gradient(90deg, hsla(var(--theme-ticket-shadow),0.48) -4%, hsla(var(--theme-ticket-shadow),0.30) 6%, hsla(var(--theme-ticket-shadow),0.18) 18%, hsla(var(--theme-ticket-shadow),0) 100%);
                }    
        .ticket-io li.active .section-title{    
            padding: var(--tickets-st-padding-active);
            }
        .section-title p{
            width: var(--tickets-st-width);
            transform: rotate(-90deg) translateY(var(--tickets-st-ty)); 
            }
            .ticket-io li.active .section-title p{    
                transform: rotate(-90deg) translateY(var(--tickets-st-ty-active)); 
                }
        .section-title .price{    
            width: calc(var(--tickets-st-width) / 1.5);
            text-align: right;
            padding-bottom: 6px;
            margin-top: -6px;
            }    
    .section-content{
        width: 0;
        height: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        }
        .ticket-io li.active .section-content{
            width: 100%;
            min-width: 100%;
            height: 100%;                
            }
            .section-content .ticket-title{
                width: 42%;
                }
            .section-content .ticket-cta{
                width: 58%;
                }    
    .ticket-title{
        justify-content: space-between;
        }
         .ticket-title.default{    
            justify-content: center; 
            }    
    .ticket-cta{
        justify-content: space-between;
        }
        .ticket-cta .arrow{
            width: calc(var(--btn-cta-xl-height) * 0.75);
            height: calc(var(--btn-cta-xl-height) * 0.75);
            top: 8%;
            left: 3%;
            }
            .ticket-cta .arrow:nth-child(2){
                right: 3%;
                }
    .ticket-logo{
        display: block;
        width: 240px;
        }
    .ticket-venue-date{        
        display: grid;
        width: 100%;
        padding-top:  calc(var(--tickets-gap) / 1);
        }
.ticket-detail-top,
.ticket-detail-bottom{
    width: 2px;
    height: 100%;
    top: 0;
    left: -1px;
    border-bottom: none;
    border-left: 1.5px dashed hsla(var(--theme-text-primary),1);
    }
    .ticket-detail-bottom{
        left: auto;
        right: -1px;
        }
        .ticket-detail-top::before,
        .ticket-detail-bottom::before{
            top: calc(0px - calc(var(--tickets-detail-size) / 2));
            bottom: auto;
            }
        .ticket-detail-top::after,
        .ticket-detail-bottom::after{
            bottom: calc(0px - calc(var(--tickets-detail-size) / 2));
            top: auto;
            }
        .ticket-detail-top::before,
        .ticket-detail-top::after{
            right: auto;
            left: calc(0px - calc(var(--tickets-detail-size) / 2));
            }
        .ticket-detail-bottom::before,
        .ticket-detail-bottom::after{
            left: auto;
            right: calc(0px - calc(var(--tickets-detail-size) / 2));
            }   
    .ticket-io li.active .section-content .ticket-title .ticket-detail-top::before{
        left: calc(0px - calc(var(--tickets-detail-size) / 1.5));
        right: auto;
        }
        .ticket-io .active .ticket-detail-top::before{ top: calc(0px - calc(var(--tickets-detail-size) / 1.5));}
    .ticket-io li{
        border-top: none;
        border-left: 1.5px solid hsla(var(--theme-text-primary),1);
        }
    
/* ============================
   SESSIONS 1024
   ============================ */

#tabs, #tabs.sticky{ justify-content: space-between;}
    #tabs > li:first-child{
        max-width: 256px;
        margin: 0;
        }
    
/* ============================
   WORKSHOPS 1024
   ============================ */

.workshops-features{
    justify-content: center;
    gap: var(--grid-gap);
    /*padding: calc(var(--grid-gap) * 1.24) 0 calc(var(--grid-gap) * 1.36);*/
    }
    .workshops-features li{
        flex: 25%;
        flex-direction: column;
        align-items: center;
        text-align: center;
        max-width: calc(25% - var(--grid-gap)); 
        }
       .workshops-features li span{ line-height: 1.25}  
.hero-marquee-price{ visibility: visible;}      
    
/* ============================
   SPONSORS 1024
   ============================ */

.bronze .logo{
    width: calc(var(--logos-width-bronze) - var(--logos-gap-img));
    padding-top: calc(var(--logos-width-bronze) - var(--logos-gap-img));
    }
.become.section,
.alert.section{
    flex-direction: row;
    text-align: right;
    align-items: center;
    justify-content: flex-end;
    gap: calc(var(--padding-content) / 2);
    padding: calc(var(--padding-content) / 2);
    }
    
}/* ============================== End media 1024 */    

/* ========================= 1280 ========================= */

@media only screen and (min-width: 1280px){
    
/* ============================
   MARQUEE 1280
   ============================ */    
    
.hero-marquee{ visibility: visible;}
    
/* ============================
   HERO 1280
   ============================ */    
    
.hero-links p br{ display: none;}        
    
/* ============================
   INFO 1280
   ============================ */
    
.info-content{
    display: grid;  
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    }        
    .info .info-stats{
        flex: 1;
        }    
    .info-content > .info-stats,
    .info-content > .info-venue{
        height: 100%;
        align-items: stretch;    
        align-content: stretch;   
        }
        .info .info-stats .pixel-window,
        .info .info-venue .pixel-window{
        height: auto;
        flex: 1 1 auto;           
        }
        .info .info-stats .pixel-window{
            flex: 50%;
            max-width: calc(50% - calc(var(--grid-item-gap) / 2));
            }
    .info .info-venue{
        display: flex;
        flex-direction: row;
        align-items: stretch;
        }
        .info .info-venue .pixel-window{
            max-width: calc(50% - 9px);
            }    
.info-title.illustration{ max-width: none;}    
    
/* ============================
   TICKETS 1280
   ============================ */

.tickets{ gap: calc(var(--grid-gap) * 2);}    
.ticket-io{
    max-width: var(--ticket-io-mw);
    margin-right: auto;
    margin-left: auto;
    }    
.ticket-cta h3 br{ 
    display: none;
    }
.ticket-io li.active .ticket-cta .arrow{
    width: calc(var(--btn-cta-xl-height) * 0.85);
    height: calc(var(--btn-cta-xl-height) * 0.85);
    top: -3%;
    left: 12%;
    }
   .ticket-io li.active .ticket-cta .arrow:nth-child(2){
        right: 12%;
        }   
.ticket-io li.active .section-content .ticket-title{ width: 44%;}
.ticket-io li.active .section-content .ticket-cta{ width: 56%;}
    
/* ============================
   SESSIONS 1280
   ============================ */    
    
 #tabs > li:first-child{ max-width: 300px;}     
/*
#tabs, #tabs.sticky{
    padding: calc(var(--header-margin) * 1.25);
    }
    #tabs > li:first-child{
        max-width: 300px;
        }  
    #tabs > li:first-child{
        height: calc(var(--header-height) - calc(var(--header-margin) * 0.5));
        }
        #tabs > li:first-child::before{
            height: calc(var(--header-height) - calc(var(--header-margin) * 1.25));
            }    */
table thead{
    display: block!important;
    }
table thead tr{
    position: relative;
    border-color: hsla(var(--theme-background),0);   
    margin-bottom: 1.5px;
    padding: var(--sessions-th-ptb);
    display: flex;
    gap: calc(var(--grid-gap) / 2);
    }
table tr{
    display: flex;
    gap: calc(var(--grid-gap) / 2);
    }    
    table thead.sticky{
        position: fixed;
        width: 100%;
        top: 0;
        padding: 0;
        z-index: 100;
        margin: -1.5px 0;
        }
        table thead.sticky tr{
            /*padding-top: 2px;
            padding-bottom: 0;*/
            border: none;
            background: none;
            }            
            table thead.sticky tr::before{
                position: absolute;
                content: "";
                z-index: 0;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: linear-gradient(0deg, hsla(var(--theme-violet-title),0.05) 0%, hsla(var(--theme-violet-title),0.05) 0%), linear-gradient(0deg, hsla(var(--theme-white),0.78) 0%, hsla(var(--theme-white),0.78) 0%);               
                -webkit-backdrop-filter: blur(18px);
                backdrop-filter: blur(18px);
                }
                .dark table thead.sticky tr::before{
                    background: linear-gradient(0deg, hsla(var(--theme-violet-title),0.12) 0%, hsla(var(--theme-violet-title),0.12) 0%), linear-gradient(0deg, hsla(var(--theme-black-darkest),0.84) 0%, hsla(var(--theme-black-darkest),0.84) 0%);
                    }
    table thead th:nth-child(2), 
    table td:nth-child(2){
        margin-left: 0;
        }    
        table thead th:first-child,
        table td:first-child{
            width: 100%; 
            max-width: var(--sessions-th-mw);
            }    
        table th::after{
            width: 100%;
            height: var(--sessions-th-h);
            top: 0;
            bottom: 0;
            z-index: 0;
            margin: auto;
            }
        table th:first-child::after,
        table td::after,
        table td::before{
            display: none;
            }
        table thead th p:first-child{
            position: relative;
            font-size: var(--fs-sessions-title);
            line-height: var(--fs-sessions-title);
            letter-spacing: calc(var(--ls-xs) * var(--ls-mul));
            font-weight: 500;
            /*color: hsla(var(--theme-white),1)!important;*/
            z-index: 1;
            }
    table td.no-room p:first-child{
        padding: 0;
        }
    table p:first-child{
        padding-top: 0;
        text-align: left;
        }
    
/* ============================
   WORKSHOPS 1280
   ============================ */

.workshops-features{ gap: var(--grid-item-gap);}
    .workshops-features li{ max-width: calc(25% - var(--grid-item-gap));} 
    
/* ============================
   CARDS 1280
   ============================ */    
        
.cards.col-3 .card, .cards.col-3 .card:nth-child(3n+3),
.cards.col-3 .pixel-window, .cards.col-3 .pixel-window:nth-child(3n+3){
    flex: 33.333%;
    max-width: calc(33.333% - calc(var(--cards-gap) / 1.5));
    }
.cards.col-4 .card{
    flex: 25%;
    max-width: calc(25% - calc(var(--cards-gap) / 1.333));
    }

/* ============================
   ROOMS 1280
   ============================ */

    #rooms .window-content-text p{ flex: 0 1 50%;}
    #rooms .window-content-text .pixel-window{ flex: 0 1 50%;}    

}/* ============================== End media 1280 */

/* ========================= 1360 ========================= */

@media only screen and (min-width: 1360px){
    
/* ============================
   WORKSHOPS 1360
   ============================ */

.workshops-list.items-col-4 div{        
    flex: 1 1 calc(25% - var(--grid-item-gap));
    max-width: calc(25% - calc(var(--grid-item-gap) * 1.335));
    }    

}/* ============================== End media 1360 */

/* ========================= 1580 ========================= */

@media only screen and (min-width: 1580px){
    
/* ============================
   HERO 1580
   ============================ */    
    
.hero-info{ padding-bottom: 0;}

}/* ============================== End media 1580 */

/* ========================= 1900 ========================= */

@media only screen and (min-width: 1900px){
    
/* ============================
   INFO 1900
   ============================ */
    
.info-title.illustration h2{ padding-right: 45%;}    
    .info-title.illustration.fixed h2{ padding-right: 40%;}
.image-rotate{ width: 46%;}    
.image-fixed{ width: 35%;}
    
/* ============================
   TICKETS 1900
   ============================ */
    
.ticket-cta .arrow{
    width: calc(var(--btn-cta-xl-height) * 0.9);
    height: calc(var(--btn-cta-xl-height) * 0.9);    
    bottom: 11%;
    left: 9%;
    }
    .ticket-cta .arrow:nth-child(2){
        right: 9%;
        }
    .ticket-io li.active .ticket-cta .arrow{
        width: calc(var(--btn-cta-xl-height) * 0.9);
        height: calc(var(--btn-cta-xl-height) * 0.9);
        top: 9%;
        left: 9%;
        }    
        .ticket-io li.active .ticket-cta .arrow:nth-child(2){
            right: 9%;
            }    
    
}/* ============================== End media 1900 */

/* ============================ BUTTON LAB ============================ */

.buttons-lab .button-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--grid-gap);
    align-items: stretch;
    }
    .buttons-lab .button-grid .button{ width: 100%; }
    .buttons-lab .button-grid--stretch .button{ justify-content: center; }
    .buttons-lab .button-grid--stacked{ grid-template-columns: 1fr; }
    .buttons-lab .icon-only-grid{ grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }

.buttons-lab .button-stack{
    display: flex;
    flex-direction: column;
    gap: var(--grid-gap);
    }

/* ========================= 2200 ========================= */

@media only screen and (min-width: 2200px){
    
/* ============================
   TICKETS 2200
   ============================ */
    
.ticket-cta .arrow{
    left: 11%;
    }
    .ticket-cta .arrow:nth-child(2){
        right: 11%;
        }

}/* ============================== End media 2200 */
