header {
    position: sticky;
    top: 0;
    padding: calc(var(--gh-v)/2) var(--gh-h);
    background-color: var(--wp--preset--color--ballie-black);
    width: 100%;
    height: auto;
    z-index: 99999;
    box-sizing: border-box;
}
.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-navigation {
    display:flex;
    gap:var(--gh-v);
    align-items: center;
}

.header-logo-container {
    display: flex;
    gap:var(--gh-h);
}

.header-logo {
    line-height: 0;
}
.header-logo img {
    width: 100%;
    max-width: 250px;
    aspect-ratio: 370/78;
}

.header-links {
    display:flex;
    gap:calc(var(--gh-h) / 2);
}

.header-links a {
    font-family: Nanami;
    color: var(--color-white) !important;
    text-decoration: none;

    background: linear-gradient(to right, rgb(255, 84, 119),pink,rgb(114, 255, 185));
    background-size: 200% 200%;
    animation: rainbow 10s ease-in-out infinite;
    background-clip: text;
    -webkit-background-clip:text;
    color:rgb(255, 255, 255);
    transition: color .2s ease-in-out;
    white-space: nowrap;
}

.header-links a:hover, 
.header-submenu:hover > a {
    color:rgba(0,0,0,0) !important;
}

.header-links a:active,
.header-links a:focus {
    text-decoration: none !important;
}

.ballie-header-dropdown {
    fill: var(--wp--preset--color--ballie-white);
    width: 0.7rem;
    height: 0.7rem;
    display: inline;
    padding-left: 0.1rem;
}

.header-submenu {
    position: relative;
    display: inline-block;
}

.header-submenu-content {
    display:none;
    position: absolute;
    background-color: var(--wp--preset--color--ballie-black);
    z-index:999999999;
    left: calc((var(--gh-h) / 2) * -1);
}

.header-submenu:hover .header-submenu-content {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width:fit-content;
    
}

.header-subsubmenu .header-subsubmenu-content {
    display: none;
}

.header-subsubmenu:hover .header-subsubmenu-content {
    margin-left: 100%;
    margin-top: -43px;
    display: block;
    position: absolute;
    background-color:black;
    text-transform:lowercase;
}

.header-submenu-content a {
    display: block;
    width: 100%;
    padding: calc(var(--gh-h) / 2);
    padding-bottom: 0;
    box-sizing: border-box;
}

.header-submenu-content a:last-child {
    padding-bottom: calc(var(--gh-h) / 2);
}

@keyframes rainbow { 
    0%{background-position:left}
    50%{background-position:right}
    100%{background-position:left}
}

/*
    Venue Switcher
*/

.header-switcher {
    position: relative;
    display: inline-block;
    min-width: 125px;
    padding: 5px 10px 6px 10px;
    border: 2px solid var(--wp--preset--color--ballie-pink);
    font-family: 'Nanami';
    text-align: center;
    box-sizing: border-box;
    text-transform: lowercase;
    min-height:40px;
}

.header-switcher > span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: -2px;
}

.header-switcher .switcher-content {
    display: none;
    position: absolute;
    background-color: var(--wp--preset--color--ballie-black);
    min-width: calc(100% + 4px);
    top:36px;
    left: -2px;
}

.header-switcher:hover .switcher-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    border: 2px solid var(--wp--preset--color--ballie-pink);
    border-top:none;
}

.switcher-content a {
    text-decoration: none;
    
    width:100%;
    padding: 5px 0px 5px 0px;

    color:var(--wp--preset--color--ballie-white) !important;
    background-color: var(--wp--preset--color--ballie-black);
}

.switcher-content a:hover {

    background: linear-gradient(to right, rgb(255, 84, 119),pink,rgb(114, 255, 185));
    background-size: 200% 200%;
    animation: rainbow 8s ease-in-out infinite;
    color:rgb(255, 255, 255);
    transition: color .2s ease-in-out;
}

.switcher-content a:active,
.switcher-content a:focus {
    text-decoration: none !important;
}


.venue-switcher-fader {
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-color: var(--wp--preset--color--ballie-black);
    opacity:0;
}

.venue-switcher-fader label {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

.venue-switcher-body {
    display:none;

    position:absolute;

    pointer-events: none;
}

#venue-switcher-controller {
    display: none;
}

#venue-switcher-controller:checked ~ .venue-switcher-fader,
#venue-switcher-controller:checked ~ .venue-switcher-body {
    display:flex;
}

.venue-switcher-content {

    display:flex;

    border: 2px solid var(--wp--preset--color--ballie-pink);
    margin-top: 30px;
    width: 121px;
    margin-left: -12px;
    border-top: none;
    text-align: center;

    background-color: var(--wp--preset--color--ballie-black);

    pointer-events: all;
}

.venue-switcher-content-links {
    display: flex;
    flex-direction: column;
    gap: var(--gh-v);
    width: 100%;
}

.venue-switcher-content-links a:first-child {
    margin-top: 5px;
}

.venue-switcher-content-links a:last-child {
    margin-bottom: var(--gh-v);
}

.venue-switcher-content-links a,
.venue-switcher-content-links a:active,
.venue-switcher-content-links a {
    text-decoration: none;
    font-size:1rem;

    background: linear-gradient(to right, rgb(255, 84, 119),pink,rgb(114, 255, 185));
    background-size: 200% 200%;
    animation: rainbow 10s ease-in-out infinite;
    background-clip: text;
    -webkit-background-clip:text;
    color:rgb(255, 255, 255) !important;
    transition: color .2s ease-in-out;
    white-space: nowrap;
}

.venue-switcher-content-links a:hover {
    color: rgba(0,0,0,0) !important;
}


/*
    Mobile Header Menu
*/
.header-navigation-mobile {
    display:none;
}

.menu-mobile {
    z-index: 2;
    width: 100%;
    max-width: 450px;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    background-color: var(--wp--preset--color--ballie-black);
    color: var(--wp--preset--color--ballie-white);

    padding: calc(var(--gh-v)*2);
    gap: calc(var(--gh-v)*2);
    display: flex !important;
    flex-direction: column;

    transform-origin: left;
    transition: all 0.3s ease-out;

    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    overflow-y: auto;
    scrollbar-gutter: stable both-edges;
    font-family: 'Nanami';

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

    -ms-transform: translateX(-100%);
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    transform: translateX(-100%);
}

#menu-mobile-control {
    display:none;
}

#menu-mobile-control:checked ~ .menu-mobile {
    transform-origin: left;
    transition: all 0.3s ease-out;
    display: flex;
    -ms-transform: translateX(0);
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
}

#menu-mobile-control:checked ~ .menu-mobile-fader {
    display:block;
}

.menu-mobile-fader {

    display: none;

    background: var(--wp--preset--color--ballie-black);
    opacity:0.5;

    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index: 1;

}

.menu-mobile-fader label {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

.menu-mobile label {
    text-align: right;
    position: fixed;
    top: var(--gh-v);
    right: calc(var(--gh-h) * 0.9);
    font-weight: bold;
    font-size: 1.25rem;
}

.menu-mobile-links {
    flex-grow:1;
}

.menu-mobile-links a.sub-link {
    margin-left: 1rem;
    color: var(--wp--preset--color--ballie-pink) !important;
    opacity: 0.9;
}

.menu-mobile-links-footer {
    opacity:0.5;
}

.menu-mobile-links,
.menu-mobile-links-footer {
    display:flex;
    flex-direction: column;
    gap:0.35rem;
    font-size:1.2rem;

}

.menu-mobile-links a,
.menu-mobile-links-footer a {
    text-decoration: none;
    color:var(--wp--preset--color--ballie-white) !important;
}

.menu-mobile-links a:active,
.menu-mobile-links a:focus,
.menu-mobile-links-footer a:active,
.menu-mobile-links-footer a:focus {
    text-decoration: none !important;
}

@media screen and (max-width: 1180px) {
    header {
        padding: var(--gh-v) var(--gh-h);
    }

    .header-navigation-mobile {
        display: flex;
        align-items: center;
    }

    .header-navigation-mobile > label {
        line-height: 0;
    }

    .header-switcher:hover .switcher-content {
        display:none;
    }
}