﻿td.alt {
    background-color: #0F4C81;
}

.header {
    background-color: white;
    color: black;
    font-weight: bold;
}

table.fill {
    min-width: 100% !important;
    width: 100%;
    table-layout: fixed;
    overflow-wrap: break-word;
}

.disabled-link {
    cursor: default;
    pointer-events: none;
    text-decoration: none;
    color: grey;
}



.form_input {
    resize: none;
    max-width: 100%;
}

.local_button {
    min-height: 5vh;
    height: 5vh;
    max-height: 5vh;
    /*display: inline;*/
    /*float: left;*/
}

.slowShow {
    opacity: 1;
    transition: all 2s ease-in;
}

.slowHide {
    opacity: 0;
    transition: all 0.5s ease-out;
}

.slowDone {
    opacity: 0.7;
    transition: all 0.5s ease-out;
}

.fullHide {
    display: none;
}

.stepIcon {
    max-height: 64px;
    display: inline-block;
    vertical-align: middle;
}

.main {
    padding-top: 1vh;
    padding-bottom: 1vh;
    padding-left: 1vw;
    padding-right: 1vw;
    margin-bottom: 15vh;
    background: rgba(0,0,0,.75);
}

.page-title {
    width: 100%;
    text-align: center;
    font-weight: bold;
}

.tourney-card-header {
    background: rgba(128,128,128,.55);
    border-radius: 10px;
    width: 25vw;
}

.tourney-card {
    word-break: break-word;
    width: 25vw;
}

.tourney-icon {
    height: 16px;
    display: inline;
}

.tourney-card > p {
    font-size: 1rem;
}

.tourney-card-alt {
    /*background: rgba(0,0,128,.55);*/
    word-break: break-word;
    width: 25vw;
    background: rgba(51, 170, 51, .1);
}

.tourney-form {
    display: flex;
    width: 100%;
}

.tourney-form-cell {
    word-break: break-word;
    width: 25%;
    display: flex;
    float: left;
}

.error {
    color: red !important;
    font-weight: bold;
}

.action {
    display: inline;
    float: left;
}

.cammo:link {
    text-decoration: none !important;
}


.cammo:visited {
    text-decoration: none !important;
}


.cammo:hover {
    text-decoration: none !important;
}


.cammo:active {
    text-decoration: none !important;
}

a img {
    border: none;
}

.vbottom {
    vertical-align: bottom;
}

.vtop {
    vertical-align: top;
}

.vmiddle {
    vertical-align: middle;
}


.badinput::-webkit-input-placeholder {
    /* WebKit, Blink, Edge */
    background-color: red;
    color: white;
}

.badinput:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    background-color: red;
    color: white;
    opacity: 1;
}

.badinput::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    background-color: red;
    color: white;
    opacity: 1;
}

.badinput:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    background-color: red;
    color: white;
}


.list-header {
    background: rgba(128,128,128,.55);
}

.search-results {
    max-height: 50vh;
    height: 50vh;
    overflow-y: scroll;
}

.bold {
    font-weight: bold;
}

.alt_player {
    background-color: lightgrey;
    color: black;
}

.waitingPlayerTile {
    margin: 0 auto;
    background-color: lightblue;
    height: 10vh;
    min-height: 2vh;
    max-height: 2vh;
}

.waitingPlayerLink {
    margin: 0 auto;
    color: white;
}

.waitingPlayerTileAlt {
    margin: 0 auto;
    background-color: white;
}

.waitingPlayerLinkAlt {
    margin: 0 auto;
    color: lightblue;
}

/* NEON BUTTON CSS */

.neon-button-container {
    --clr-neon: hsl(360 100% 100%);
    --clr-bg: hsl(245 21% 16%);
    display: grid;
    place-items: left;
    max-width: 10vw;
    /*background: var(--clr-bg);*/
    font-family: "Balsamiq Sans", cursive;
    color: var(--clr-neon);
}

    .neon-button-container,
    .neon-button-container::before,
    .neon-button-container::after {
        box-sizing: border-box;
    }


.full-neon-button-container {
    max-width: 100%;
}

.neon-header {
    color: var(--clr-neon);
    border: var(--clr-neon) 0.125em solid;
    padding: 0.25em 1em;
    border-radius: 0.25em;
    text-shadow: 0 0 0.125em hsl(0 0% 100% / 0.3), 0 0 0.45em currentColor;
    box-shadow: inset 0 0 0.5em 0 var(--clr-neon), 0 0 0.5em 0 var(--clr-neon);
}

    .neon-header::before {
        pointer-events: none;
        content: "";
        position: absolute;
        background: var(--clr-neon);
        top: 120%;
        left: 0;
        /*width: 100%;
        height: 100%;*/
        transform: perspective(1em) rotateX(40deg) scale(1, 0.35);
        filter: blur(1em);
        opacity: 0.7;
    }

    .neon-header::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        box-shadow: 0 0 2em 0.5em var(--clr-neon);
        opacity: 0;
        background-color: var(--clr-neon);
        z-index: -1;
        transition: opacity 100ms linear;
    }

.neon-button {
    display: inline-block;
    cursor: pointer;
    text-decoration: none;
    color: var(--clr-neon);
    border: var(--clr-neon) 0.125em solid;
    padding: 0.25em 1em;
    border-radius: 0.25em;
    text-shadow: 0 0 0.125em hsl(0 0% 100% / 0.3), 0 0 0.45em currentColor;
    box-shadow: inset 0 0 0.5em 0 var(--clr-neon), 0 0 0.5em 0 var(--clr-neon);
    position: relative;
}

    .neon-button::before {
        pointer-events: none;
        content: "";
        position: absolute;
        background: var(--clr-neon);
        top: 120%;
        left: 0;
        /*width: 100%;
        height: 100%;*/
        transform: perspective(1em) rotateX(40deg) scale(1, 0.35);
        filter: blur(1em);
        opacity: 0.7;
    }

    .neon-button::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        box-shadow: 0 0 2em 0.5em var(--clr-neon);
        opacity: 0;
        background-color: var(--clr-neon);
        z-index: -1;
        transition: opacity 100ms linear;
    }

    .neon-button:hover,
    .neon-button:focus,
    .neon-button:active {
        color: var(--clr-neon);
        text-shadow: none;
    }

        .neon-button:hover::before,
        .neon-button:focus::before,
        .neon-button:active::before {
            opacity: 1;
        }

        .neon-button:hover::after,
        .neon-button:focus::after,
        .neon-button:active::after {
            opacity: 1;
        }

.sort-arrow {
    max-width: 1vw;
    display: inline;
}

img.t_icon {
    width: 25vw;
    min-width: 25vw;
    max-width: 25vw;
    height: auto;
    min-height: auto;
    max-height: auto;
    display: block;
}

@media (min-width: 1451px) {

    img.t_icon {
        height: 15vh;
        min-height: 15vh;
        max-height: 15vh;
        width: auto;
        min-width: auto;
        max-width: auto;
        display: block;
    }
}

@media (min-width: 1281px) and (max-width: 1450px) {

    img.t_icon {
        height: 15vh;
        min-height: 15vh;
        max-height: 15vh;
        width: auto;
        min-width: auto;
        max-width: auto;
        display: block;
    }
}

.disclaimer {
    font-size: 0.5rem;
    font-weight: bold;
}

.CLGIcon {
    min-height: 10vh;
    height: 10vh;
    max-height: 10vh;
}

    .CLGIcon:hover {
        transform: scale(4);
    }

.black-text {
    color: black;
}

.glow-on-hover {
    border: none;
    outline: none;
    color: #fff;
    background-color: transparent;
    cursor: pointer;
    position: relative;
    z-index: 0;
    border-radius: 10px;
    padding: 10px;
    display: inline-block;
    height: 100%;
}

    .glow-on-hover:hover:before {
        content: "";
        background: linear-gradient( 45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000 );
        position: absolute;
        top: -2px;
        left: -2px;
        background-size: 400%;
        z-index: -1;
        filter: blur(5px);
        -webkit-filter: blur(5px);
        width: calc(100% + 4px);
        height: calc(100% + 4px);
        animation: glowing-button-85 20s linear infinite;
        transition: opacity 0.3s ease-in-out;
        border-radius: 10px;
        opacity: 0;
    }

    .glow-on-hover:active {
        color: #000
    }

        .glow-on-hover:active:after {
            background: transp
        }

    .glow-on-hover:hover:before {
        opacity: 1;
    }

    .glow-on-hover:after {
        z-index: -1;
        content: '';
        position: relative;
        width: 100%;
        height: 100%;
        background: #222;
        left: 0;
        top: 0;
        border-radius: 10px;
    }

@keyframes glowing {
    0% {
        background-position: 0 0;
    }

    50% {
        background-position: 400% 0;
    }

    100% {
        background-position: 0 0;
    }
}

.stickyHeaderRow {
    background: #222;
    color: white;
    position: sticky;
    top: 50px; /* Don't forget this, required for the stickiness */
    box-shadow: 0 5px 5px -1px #FFFFFF;
    border-radius: 5px;
    float: left;
    z-index: 50;
}

.stickyHeader {
    position: sticky;
    top: 0; /* Don't forget this, required for the stickiness */
    float: left;
    z-index: 50;
}

/* CSS */
.button-85 {
    padding: 0.6em 2em;
    border: none;
    outline: none;
    color: rgb(255, 255, 255);
    background: #111;
    cursor: pointer;
    position: relative;
    z-index: 0;
    border-radius: 10px;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    height: 100%;
    display: block;
}

    .button-85:before {
        content: "";
        background: linear-gradient( 45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000 );
        position: absolute;
        top: -2px;
        left: -2px;
        background-size: 400%;
        z-index: -1;
        filter: blur(5px);
        -webkit-filter: blur(5px);
        width: calc(100% + 4px);
        height: calc(100% + 4px);
        animation: glowing-button-85 20s linear infinite;
        transition: opacity 0.3s ease-in-out;
        border-radius: 10px;
    }

@keyframes glowing-button-85 {
    0% {
        background-position: 0 0;
    }

    50% {
        background-position: 400% 0;
    }

    100% {
        background-position: 0 0;
    }
}

.button-85:after {
    z-index: -1;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #222;
    left: 0;
    top: 0;
    border-radius: 10px;
}

/* CSS */
.button-86 {
    padding: 0.6em 2em;
    border: none;
    outline: none;
    color: rgb(255, 255, 255);
    background: #111;
    cursor: pointer;
    position: relative;
    z-index: 0;
    border-radius: 10px;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    height: 100%;
    display: block;
}

    .button-86:hover:before {
        content: "";
        background: linear-gradient( 45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000 );
        position: absolute;
        top: -2px;
        left: -2px;
        background-size: 400%;
        z-index: -1;
        filter: blur(5px);
        -webkit-filter: blur(5px);
        width: calc(100% + 4px);
        height: calc(100% + 4px);
        animation: glowing-button-86 20s linear infinite;
        transition: opacity 0.3s ease-in-out;
        border-radius: 10px;
    }

@keyframes glowing-button-86 {
    0% {
        background-position: 0 0;
    }

    50% {
        background-position: 400% 0;
    }

    100% {
        background-position: 0 0;
    }
}

.button-86:hover:after {
    z-index: -1;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #222;
    left: 0;
    top: 0;
    border-radius: 10px;
}

/* CSS */
.button-87 {
    padding: 0.6em 2em;
    border: none;
    outline: none;
    color: rgb(255, 255, 255);
    background: #111;
    cursor: pointer;
    position: relative;
    z-index: 0;
    border-radius: 10px;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    height: 100%;
    display: inline-block;
}

    .button-87:before {
        content: "";
        background: linear-gradient( 45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000 );
        position: absolute;
        top: -2px;
        left: -2px;
        background-size: 400%;
        z-index: -1;
        filter: blur(5px);
        -webkit-filter: blur(5px);
        width: calc(100% + 4px);
        height: calc(100% + 4px);
        animation: glowing-button-85 20s linear infinite;
        transition: opacity 0.3s ease-in-out;
        border-radius: 10px;
    }

@keyframes glowing-button-87 {
    0% {
        background-position: 0 0;
    }

    50% {
        background-position: 400% 0;
    }

    100% {
        background-position: 0 0;
    }
}

.button-87:after {
    z-index: -1;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #222;
    left: 0;
    top: 0;
    border-radius: 10px;
}

/* CSS */
.button-88 {
    padding: 0.6em 2em;
    border: none;
    outline: none;
    color: rgb(255, 255, 255);
    background: #111;
    cursor: pointer;
    position: relative;
    z-index: 0;
    border-radius: 10px;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    height: 100%;
    display: inline-block;
}

    .button-88:hover:before {
        content: "";
        background: linear-gradient( 45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000 );
        position: absolute;
        top: -2px;
        left: -2px;
        background-size: 400%;
        z-index: -1;
        filter: blur(5px);
        -webkit-filter: blur(5px);
        width: calc(100% + 4px);
        height: calc(100% + 4px);
        animation: glowing-button-86 20s linear infinite;
        transition: opacity 0.3s ease-in-out;
        border-radius: 10px;
    }

@keyframes glowing-button-88 {
    0% {
        background-position: 0 0;
    }

    50% {
        background-position: 400% 0;
    }

    100% {
        background-position: 0 0;
    }
}

.button-88:hover:after {
    z-index: -1;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #222;
    left: 0;
    top: 0;
    border-radius: 10px;
}

/* CSS */
.button-73 {
    appearance: none;
    background-color: #FFFFFF;
    border-radius: 40em;
    border-style: none;
    box-shadow: #ADCFFF 0 -12px 6px inset;
    box-sizing: border-box;
    color: #000000;
    cursor: pointer;
    display: inline-block;
    font-family: -apple-system,sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -.24px;
    margin: 0;
    outline: none;
    padding: 1rem 1.3rem;
    quotes: auto;
    text-align: center;
    text-decoration: none;
    transition: all .15s;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
}

    .button-73:hover {
        background-color: #FFC229;
        box-shadow: #FF6314 0 -6px 8px inset;
        transform: scale(1.125);
    }

    .button-73:active {
        transform: scale(1.025);
    }

@media (min-width: 750px) {
    .button-73 {
        font-size: 1.5rem;
        padding: .75rem 2rem;
    }
}

.main-row {
    background: #444B5B;
    color: white;
    box-shadow: 0 5px 5px -1px #FFFFFF;
    border-radius: 5px;
    display: flex;
    align-items: center;
    vertical-align: middle;
    text-align: center;
    padding-left: 1vw;
    margin-bottom: 1vh;
}

/*.row-equiv-1 {
    height: 16vh;
}

.row-equiv-2 {
    height: 15vh;
}

.row-equiv-3 {
    height: 14vh;
}

.row-equiv-4 {
    height: 13vh;
}

.row-equiv-5 {
    height: 12vh;
}

.row-equiv-6 {
    height: 11vh;
}

.row-equiv-7 {
    height: 10vh;
}

.row-equiv-8 {
    height: 9vh;
}*/

/*.row-equiv-9 {
    height: 8vh;
}

.row-equiv-10 {
    height: 7vh;
}

.row-equiv-11 {
    height: 6vh;
}

.row-equiv-12 {
    height: 5vh;
}

.row-equiv-13 {
    height: 4vh;
}
.row-equiv-14 {
    height: 4vh;
}
.row-equiv-15 {
    height: 4vh;
}
.row-equiv-16 {
    height: 4vh;
}*/


.vertical-center-solid {
    margin: 0;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.expandable {
    transition: all 1s ease-in-out;
    height: 0;
    visibility: hidden;
    opacity: 0;
}

    .expandable:target {
        height: auto;
        visibility: visible;
        opacity: 1;
    }

.link-fill-container {
    display: inline-block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.white-TopBorder {
    border-top: 1px solid rgba(255,255,255,.25);
}

.white-BottomBorder {
    border-bottom: 1px solid rgba(255,255,255,.25);
}

.white-RightBorder {
    border-right: 1px solid rgba(255,255,255,.25);
}

.white-LeftBorder {
    border-left: 1px solid rgba(255,255,255,.25);
}

.white-fadedBorder {
    border: 1px solid rgba(255,255,255,.25);
}

.tournament-pos-link {
    text-decoration: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

a.pos-1:hover, a.pos-1:hover > div > div {
    background-color: gold;
    color: black;
}

a.pos-2:hover, a.pos-2:hover > div > div {
    background-color: silver;
    color: black;
}


a.pos-3:hover, a.pos-3:hover > div > div {
    background-color: #CD7F32;
}

a.poslink {
    text-decoration: none;
}

    a.poslink:hover, a.poslink:hover > div > div {
        background-color: rgb(102, 187, 255);
        //border-radius:10px
    }

img.pos-img {
    max-height: 10vh;
    /*display: inline;
    vertical-align: middle;*/
}

img.small-pos-img {
    max-height: 5vh;
    /*display: inline;
    vertical-align: middle;*/
}

img.vert-pos-img {
    /*max-height: 10vh;*/
    display: inline;
    vertical-align: middle;
}

img.vert-pos-img-bot {
    /*max-height: 10vh;*/
    display: inline;
    vertical-align: text-bottom;
}

@media (max-width: 1400px) {
    img.pos-img {
        max-height: 10vh;
        display: block;
        vertical-align: middle;
        margin: 0 auto;
    }

    img.vert-pos-img {
        /*max-height: 10vh;*/
        display: inline-block;
        vertical-align: middle;
        margin: 0 auto;
    }

    img.small-pos-img {
        max-height: 5vh;
        display: inline;
        vertical-align: middle;
        margin: 0 auto;
    }

    .circuit-viewer-inst-logo {
        max-height: 25vh;
    }
}

.auto-hide {
    display: none;
}

.auto-show {
    display: block;
}

.winner-box {
    align-items: center;
    background-color: rgb(102, 187, 255);
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    border-collapse: collapse;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    box-sizing: border-box;
    color: rgb(0, 0, 0);
    cursor: pointer;
    width: 32px;
    height: 32px;
    justify-content: center;
    text-align: center;
    text-decoration-thickness: auto;
    text-shadow: none;
    -webkit-border-horizontal-spacing: 0px;
    -webkit-border-vertical-spacing: 0px;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

div.PosBox {
    display: inline-block;
    background-color: rgb(102, 187, 255);
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    border-collapse: collapse;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    box-sizing: border-box;
    color: rgb(0, 0, 0);
    width: 32px;
    height: 32px;
    text-align: center;
}

.tbg {
    background-color: transparent;
}

.align-vert-middle {
    line-height: auto;
}

.popp-container {
    background: rgba(0,0,0,.85);
    border-radius: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    height: 90vh;
    width: 80vw;
    overflow-x: hidden;
    overflow-y: scroll;
    z-index: 0;
}

.popp-centered {
    position: fixed;
    top: 47.5%;
    left: 50%;
    /* bring your own prefixes */
    transform: translate(-50%, -50%);
    overflow-x: hidden;
    overflow-y: scroll;
}

.popp-header {
    background: rgba(192,192,192,.75);
    color: white;
    font-weight: bold;
}

.popp-winner-side-header {
    background: rgba(38, 159, 55,.40);
    color: white;
    font-weight: bold;
    border-radius: 10px;
}

.popp-loser-side-header {
    background: rgba(247, 181, 0,.40);
    color: white;
    font-weight: bold;
    border-radius: 10px;
}

.popp-out-header {
    background: rgba(178, 34, 34,.75);
    color: white;
    font-weight: bold;
    border-radius: 10px;
}

.popp-close-button {
    min-width: 100%;
    width: 100%;
    max-width: 100%;
    min-height: 100%;
    height: 100%;
    max-height: 100%;
    border-radius: 10px;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.match-card-winner {
    background: rgba(38, 159, 55,0.25);
    /*border-radius: 10px;
    border: 1px solid #ddd;*/
    height: 90%;
    width: 90%;
}

.match-card-loser {
    background: rgba(178, 34, 34,0.75);
    border-radius: 10px;
    border: 1px solid #ddd;
    height: 90%;
    width: 90%;
}

.match-card-header {
    background: rgba(34, 34, 34, .95);
    color: white;
    font-weight: bold;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border: 1px solid #ddd;
    transition: all 1s;
    box-sizing: border-box;
    box-shadow: 0 5px 5px -1px grey;
}

.match-card-local {
    background: rgba(211,211,211,0);
    color: black;
    font-weight: bold;
    transition: all 1s;
}

.match-card-center {
    background: rgba(211,211,211,0);
    color: white;
    font-weight: bold;
    transition: all 1.5s;
}

.match-card-visitor {
    background: rgba(211,211,211,0);
    color: black;
    font-weight: bold;
    transition: all 2s;
}

.match-card-winbox {
    background: rgba(38, 159, 55,.75);
    border: 1px solid #ddd;
    color: white;
    font-weight: bold;
    transition: all 1s;
}

.match-card-lossbox {
    background: rgba(178, 34, 34,.75);
    border: 1px solid #ddd;
    color: white;
    font-weight: bold;
    transition: all 2s;
}

.bord-rad-10 {
    border-radius: 10px;
}

.bord-rad-none {
    border-radius: 0;
}

.bord-left-bot-rad-10 {
    border-bottom-left-radius: 10px;
}

.bord-right-bot-rad-10 {
    border-bottom-right-radius: 10px;
}

.bord-left-top-rad-10 {
    border-top-left-radius: 10px;
}

.bord-right-top-rad-10 {
    border-top-right-radius: 10px;
}



.winner-container {
    background-color: rgba(38, 159, 55,.75);
}

.txt-right {
    text-align: right;
}

.txt-left {
    text-align: left;
}

.inline {
    display: inline;
}

.inline-block {
    display: inline-block;
}

.rowgap0 {
    row-gap: 0;
}

.white-border {
    border: 1px solid white;
}

.red-border {
    border: 2px solid red;
}

.green-border {
    border: 2px solid green;
}

.white-bottom-border {
    border-bottom: 1px solid white;
}

.white-top-border {
    border-top: 1px solid white;
}

.white-right-border {
    border-right: 1px solid white;
}

.white-left-border {
    border-left: 1px solid white;
}

.top-border-none {
    border-top: none;
}

.bottom-border-none {
    border-bottom: none;
}

.left-border-none {
    border-left: none;
}

.right-border-none {
    border-right: none;
}

.match-card-tour-start {
    background-color: transparent;
}


.stickyPoppHeaderRow {
    background: #222;
    color: white;
    position: sticky;
    top: 0; /* Don't forget this, required for the stickiness */
    left: 0;
    box-shadow: 0 5px 5px -1px grey;
    border-radius: 5px;
    z-index: 0;
}

.stickyPoppHeaderRowClose {
    background: #222;
    color: white;
    position: sticky;
    top: 0; /* Don't forget this, required for the stickiness */
    right: 0;
    box-shadow: 0 5px 5px -1px grey;
    border-radius: 5px;
    z-index: 0;
}

.mid-text {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.small-margin-top {
    margin-top: 1vh;
}

.small-margin-bottom {
    margin-bottom: 1vh;
}

.mid-text {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.small-margin-top {
    margin-top: 1vh;
}

.admin-textbox-gel {
    background-color: rgba(255, 255, 255, .15);
    box-shadow: 0 5px 5px -1px grey;
    border: 1px solid white;
    border-radius: 5px;
    color: white;
    caret-color: white;
}

.admin-header-gel {
    background-color: rgba(255, 255, 255, .15);
    box-shadow: 0 5px 5px -1px grey;
    border: 1px solid white;
    border-radius: 5px;
    color: white;
    caret-color: white;
    font-weight: bold;
}

.header-gel {
    background-color: rgba(255, 255, 255, .15);
    box-shadow: 0 5px 5px -1px grey;
    color: white;
    caret-color: white;
    font-weight: bold;
}

.admin-button-gel {
}

.scroll-y {
    overflow-y: scroll;
}

/* PAD-VH */

.pad-0-25-VH {
    padding: 0.25vh;
}

.pad-0-5-VH {
    padding: 0.5vh;
}

.pad-0-75-VH {
    padding: 0.75vh;
}

.pad-1-0-VH {
    padding: 1vh;
}

.pad-1-25-VH {
    padding: 1.25vh;
}

.pad-1-5-VH {
    padding: 1.25vh;
}

.pad-1-75-VH {
    padding: 1.25vh;
}

.pad-2-0-VH {
    padding: 2vh;
}
/***************/

/* PAD VW */
.pad-0-25-VW {
    padding: 0.25vw;
}

.pad-0-5-VW {
    padding: 0.5vw;
}

.pad-0-75-VW {
    padding: 0.75vw;
}

.pad-1-0-VW {
    padding: 1vw;
}

.pad-1-25-VW {
    padding: 1.25vw;
}

.pad-1-5-VW {
    padding: 1.25vw;
}

.pad-1-75-VW {
    padding: 1.25vw;
}

.pad-2-0-VW {
    padding: 2vw;
}
/****************/

/* MARG-VH */
.marg-0-25-VH {
    margin: 0.25vh;
}

.marg-0-5-VH {
    margin: 0.5vh;
}

.marg-0-75-VH {
    margin: 0.75vh;
}

.marg-1-0-VH {
    margin: 1vh;
}

.marg-1-25-VH {
    margin: 1.25vh;
}

.marg-1-5-VH {
    margin: 1.25vh;
}

.marg-1-75-VH {
    margin: 1.25vh;
}

.marg-2-0-VH {
    margin: 2vh;
}
/*******************/

/* MARG-VW */
.marg-0-25-VW {
    margin: 0.25vw;
}

.marg-0-5-VW {
    margin: 0.5vw;
}

.marg-0-75-VW {
    margin: 0.75vw;
}

.marg-1-0-VW {
    margin: 1vw;
}

.marg-1-25-VW {
    margin: 1.25vw;
}

.marg-1-5-VW {
    margin: 1.25vw;
}

.marg-1-75-VW {
    margin: 1.25vw;
}

.marg-2-0-VW {
    margin: 2vw;
}
/*******************/

a.text-edit-link {
    display: inline-block;
    text-decoration: none;
    cursor: url("https://i.stack.imgur.com/ygtZg.png"), auto;
    background: none;
    width: 100%;
    height: 100%;
    padding: 0.25vh;
}

    a.text-edit-link:hover {
        text-decoration: none;
        background: #0F4C81;
        color: white;
        cursor: url("https://i.stack.imgur.com/ygtZg.png"), auto;
        border-radius: 10px;
        padding: 0.25vh;
    }

.no-pad-top {
    padding-top: 0;
}

.no-pad-bot {
    padding-bottom: 0;
}

.no-margin-top {
    margin-top: 0;
}

.no-margin-bot {
    margin-bottom: 0;
}

.title-img {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.span-width {
    width: 100% !important;
}

.circuit-logo {
    min-height: 128px;
    height: 128px;
    max-height: 128px;
    min-width: 128px;
    width: 128px;
    max-width: 128px;
}

@media (max-width: 1080px) {

    .circuit-logo {
        min-height: 64px;
        height: 64px;
        max-height: 64px;
        min-width: 64px;
        width: 64px;
        max-width: 64px;
    }
}

.mode-header {
    background: linear-gradient(rgba(138,169,194,0.25), rgba(0,0,0,1));
    /*TODO: FIX ALL BELOW: CORRECT GRADIENT FOR THE 1STAT BACKGROUND - 2023 */
    /*background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));*/
    /*background: linear-gradient(rgba(138,169,194,1), rgba(0,0,0,0), rgba(138,169,194,1));*/
    /*border: 1px solid #ddd;*/
    /*border-bottom:none;*/
}

.mode-header-low {
    background: linear-gradient(rgba(138,169,194,0.25), rgba(0,0,0,0), rgba(138,169,194,0.25));
    /*border: 1px solid #ddd;*/
    /*border-bottom:none;*/
}

.mode-header-med {
    background: linear-gradient(rgba(138,169,194,0.5), rgba(0,0,0,0), rgba(138,169,194,0.50));
    /*border: 1px solid #ddd;*/
    /*border-bottom:none;*/
}

.mode-header-high {
    background: linear-gradient(rgba(138,169,194,0.75), rgba(0,0,0,0), rgba(138,169,194,0.75));
    /*border: 1px solid #ddd;*/
    /*border-bottom:none;*/
}

.mode-header-max {
    background: linear-gradient(rgba(138,169,194,1), rgba(0,0,0,0), rgba(138,169,194,1));
    /*border: 1px solid #ddd;*/
    /*border-bottom:none;*/
}

.mode-header h2, .mode-header-low h2, .mode-header-med h2, .mode-header-high h2, .mode-headr-max h2 {
    font-family: Montserrat, sans-serif;
    text-overflow: clip;
    font-size: 24px;
    /*text-transform: uppercase;*/
    margin-bottom: 2px;
    top: 160px;
}

.mode-header p, .mode-header-low p, .mode-header-med p, .mode-header-high p, .mode-headr-max p {
    top: 160px;
    font-size: 13.5px;
}

.invis-spacer {
    width: 0px;
    max-width: 0px;
    min-width: 0px;
}

.create-header-button {
    margin: 0 auto;
    min-width: 100% !important;
    min-height: 15vh;
    background-image: url("/images/1Stat/NewButton.png");
    opacity: 0.5;
    border-bottom-left-radius: 0;
    border-top-left-radius: 10px;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transition: all 500ms ease;
}

    .create-header-button.on {
        margin: 0 auto;
        min-width: 100% !important;
        min-height: 15vh;
        background-image: url("/images/1Stat/NewButton.png");
        opacity: 1;
        border: 2px solid white;
        border-bottom: 0;
        border-bottom-left-radius: 0;
        border-top-left-radius: 10px;
        border-bottom-right-radius: 0;
        border-top-right-radius: 10px;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        transition: all 500ms ease;
    }

    .create-header-button.off {
        margin: 0 auto;
        min-width: 100% !important;
        min-height: 15vh;
        background-image: url("/images/1Stat/NewButton.png");
        opacity: 0.5;
        /*border-bottom: 2px solid white;*/
        border-bottom-left-radius: 0;
        border-top-left-radius: 10px;
        border-bottom-right-radius: 0;
        border-top-right-radius: 10px;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        transition: all 500ms ease;
    }

        .create-header-button.off:hover {
            margin: 0 auto;
            min-width: 100% !important;
            min-height: 15vh;
            background-image: url("/images/1Stat/NewButton.png");
            opacity: 1;
            border: 2px solid white;
            border-bottom: 0;
            border-bottom-left-radius: 0;
            border-top-left-radius: 10px;
            border-bottom-right-radius: 0;
            border-top-right-radius: 10px;
            background-repeat: no-repeat;
            background-position: center center;
            background-size: cover;
            transition: all 500ms ease;
        }

.edit-header-button {
    margin: 0 auto;
    min-width: 100% !important;
    min-height: 15vh;
    background-image: url("/images/1Stat/EditButton.png");
    opacity: 0.5;
    border-bottom-left-radius: 0;
    border-top-left-radius: 10px;
    border-bottom-right-radius: 0;
    border-top-right-radius: 10px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transition: all 500ms ease;
}

    .edit-header-button.on {
        margin: 0 auto;
        min-width: 100% !important;
        min-height: 15vh;
        background-image: url("/images/1Stat/EditButton.png");
        opacity: 1;
        border: 2px solid white;
        border-bottom: 0;
        border-bottom-left-radius: 0;
        border-top-left-radius: 10px;
        border-bottom-right-radius: 0;
        border-top-right-radius: 10px;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        transition: all 500ms ease;
    }

    .edit-header-button.off {
        margin: 0 auto;
        min-width: 100% !important;
        min-height: 15vh;
        background-image: url("/images/1Stat/EditButton.png");
        opacity: 0.5;
        /*border-bottom: 2px solid white;*/
        border-bottom-left-radius: 0;
        border-top-right-radius: 10px;
        border-bottom-right-radius: 0;
        border-top-left-radius: 10px;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        transition: all 500ms ease;
    }

        .edit-header-button.off:hover {
            margin: 0 auto;
            min-width: 100% !important;
            min-height: 15vh;
            background-image: url("/images/1Stat/EditButton.png");
            opacity: 1;
            border: 2px solid white;
            border-bottom: 0;
            border-bottom-left-radius: 0;
            border-top-left-radius: 10px;
            border-bottom-right-radius: 0;
            border-top-right-radius: 10px;
            background-repeat: no-repeat;
            background-position: center center;
            background-size: cover;
            transition: all 500ms ease;
        }


.level-anim-1 {
    animation-name: score-level-flash;
    animation-duration: 0.25s;
    animation-direction: alternate;
    animation-iteration-count: 2;
}

.level-anim-2 {
    animation-name: score-level-flash;
    animation-duration: 0.25s;
    animation-direction: alternate;
    animation-iteration-count: 2;
    animation-delay: 0.15s;
}

.level-anim-3 {
    animation-name: score-level-flash;
    animation-duration: 0.25s;
    animation-direction: alternate;
    animation-iteration-count: 2;
    animation-delay: 0.30s;
}

.level-anim-4 {
    animation-name: score-level-flash;
    animation-duration: 0.25s;
    animation-direction: alternate;
    animation-iteration-count: 2;
    animation-delay: 0.45s;
}

.level-anim-5 {
    animation-name: score-level-flash;
    animation-duration: 0.25s;
    animation-direction: alternate;
    animation-iteration-count: 2;
    animation-delay: 0.60s;
}

.level-anim-6 {
    animation-name: score-level-flash;
    animation-duration: 0.25s;
    animation-direction: alternate;
    animation-iteration-count: 2;
    animation-delay: 0.75s;
}

.level-anim-last-pos {
    animation-name: score-level-flash;
    animation-duration: 0.25s;
    animation-direction: alternate;
    animation-iteration-count: 4;
    animation-delay: 0.75s;
}


@keyframes score-level-flash {
    0% {
        background-color: transparent;
        color: white;
    }

    50% {
        background-color: white;
        color: black;
    }

    100% {
        background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));
        color: white;
    }
}

.AnimImportPlayerLink-OK_Confirmed {
    animation-name: stat_pulse;
    animation-duration: 1s;
    animation-direction: alternate;
    animation-iteration-count: 2;
}

.AnimImportPlayerLink-Not_Set {
    animation-name: stat_pulse;
    animation-duration: 1s;
    animation-direction: normal;
    animation-iteration-count: infinite;
}

.AnimImportPlayerLink-OK_TBC {
    animation-name: stat_pulse;
    animation-duration: 1s;
    animation-direction: normal;
    animation-iteration-count: 2;
}

.AnimImportPlayerLink-ISS_Unknown {
    animation-name: stat_pulse;
    animation-duration: 1s;
    animation-direction: normal;
    animation-iteration-count: infinite;
}

.AnimImportPlayerLink-ISS_2orMore {
    animation-name: stat_pulse;
    animation-duration: 1s;
    animation-direction: normal;
    animation-iteration-count: infinite;
}

.AnimImportPlayerLink-ISS_RANK_TO_RAMP_MISSMATCH {
    animation-name: stat_pulse;
    animation-duration: 1s;
    animation-direction: normal;
    animation-iteration-count: infinite;
}

.AnimImportPlayerLink-ISS_RANK_TO_RAMP_MISSMATCH {
    animation-name: stat_pulse;
    animation-duration: 1s;
    animation-direction: normal;
    animation-iteration-count: infinite;
}

.flash_me {
    animation-name: stat_pulse;
    animation-duration: 1s;
    animation-direction: normal;
    animation-iteration-count: 2;
}

.selected_border {
    border-width: 2px;
    -webkit-transform: scale(1.025);
    transform: scale(1.025);
}

@keyframes stat_pulse {
    0% {
        opacity: 0;
        /* background-color: transparent;
        color: white;*/
    }

    50% {
        opacity: 1;
        /*background-color: firebrick;
        color: white;*/
    }

    100% {
        opacity: 0;
        /*background-color: transparent;*/
        /*color: white;*/
        /*background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));*/
    }
}




.small-pos-img {
    max-height: 5vh;
    display: inline;
    vertical-align: middle;
}

.black-border {
    border: 1px solid black;
}

.black-bottom-border {
    border-bottom: 1px solid rgba(0,0,0,0.25);
}

.ruler-background {
    background-image: linear-gradient(45deg, rgba(255,255,255, 0.25), rgba(255, 165, 0, 0.25), rgba(255,255,0,0.25), green), url('/images/RulerBotLines.png');
    background-size: contain;
    background-repeat: repeat-x;
    color: white;
}

/* ——— Vertical alignment via flex (apply to the container) ——— */
/* The container must have an explicit height for vertical alignment to show. */
.txt-top,
.txt-mid,
.txt-bot {
    display: flex !important; /* establish flex context */
    flex-direction: row; /* default; adjust if needed */
    align-content: stretch;
    width: 100%;
    /* Optional: ensure it can fill its parent vertically if you want full-height centering */
    /* height: 100%; */
}

.txt-top {
    align-items: flex-start !important;
}

.txt-mid {
    align-items: center !important;
}

.txt-bot {
    align-items: flex-end !important;
}

    /* ——— Make horizontal classes also work on the flex containers ——— */
    .txt-top.txt-left, .txt-mid.txt-left, .txt-bot.txt-left {
        justify-content: flex-start !important;
    }

    .txt-top.txt-center, .txt-mid.txt-center, .txt-bot.txt-center {
        justify-content: center !important;
    }

    .txt-top.txt-right, .txt-mid.txt-right, .txt-bot.txt-right {
        justify-content: flex-end !important;
    }

/*TODO: IMPLEMENT THE -=TRUE=- 1STAT BACKGROUND GRADIENT, OVER THE LOW, MED, HIGH, MAX SCENARIOS */
/*background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));*/
._1stat-background-color-max {
    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));
}

._1stat-background-color-low {
    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(0,113, 165, 0.25)), color-stop(0.72, rgba(0,122,173,0.25)), color-stop(1, rgba(62,151,194,0.25)));
}

._1stat-background-color-med {
    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(0,113, 165, 0.5)), color-stop(0.72, rgba(0,122,173,0.5)), color-stop(1, rgba(62,151,194,0.5)));
}

._1stat-background-color-high {
    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(0,113, 165, 0.75)), color-stop(0.72, rgba(0,122,173,0.75)), color-stop(1, rgba(62,151,194,0.75)));
}


._1stat-edit-background-color-max {
    background-color: rgba(251,180,10,1);
}

._1stat-edit-background-color-low {
    background-color: rgba(251,180,10,0.25);
}

._1stat-edit-background-color-med {
    background-color: rgba(251,180,10,0.50);
}

._1stat-edit-background-color-high {
    background-color: rgba(251,180,10,0.75);
}


._1stat_calendar {
    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(0,113, 165, 0.75)), color-stop(0.72, rgba(0,122,173,0.75)), color-stop(1, rgba(62,151,194,0.75)));
    border-radius: 10px;
}

    ._1stat_calendar::-webkit-datetime-edit {
        padding: .25vh;
        background-color: transparent;
    }

    ._1stat_calendar::-webkit-datetime-edit-fields-wrapper {
        background-color: transparent;
    }

    ._1stat_calendar::-webkit-datetime-edit-text {
    }

    ._1stat_calendar::-webkit-datetime-edit-month-field {
    }

    ._1stat_calendar::-webkit-datetime-edit-day-field {
    }

    ._1stat_calendar::-webkit-datetime-edit-year-field {
    }

    ._1stat_calendar::-webkit-inner-spin-button {
        border: 1px solid blue;
    }

    ._1stat_calendar::-webkit-calendar-picker-indicator {
        background-color: transparent;
    }




.vert-center-me {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.error {
    color: red;
    font-weight: bold;
}

.t_error {
    background-color: white;
    color: red;
    font-weight: bold;
    *margin: 0 auto;
}

.t_success {
    background-color: white;
    color: green;
    font-weight: bold;
    margin: 0 auto;
}

/*body::-webkit-scrollbar-thumb {
    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));
    border: 0.25vw solid transparent;
    border-radius: 0.75vw;
    background-clip: padding-box;
}

body::-webkit-scrollbar {
    width: 1.5vw;
}*/

.system-scrollbar::-webkit-scrollbar-thumb {
    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));
    border: 0.25vw solid transparent;
    border-radius: 0.75vw;
    background-clip: padding-box;
}

.system-scrollbar::-webkit-scrollbar {
    width: 1.5vw;
    height: 2vh;
}

.tiny-scrollbar::-webkit-scrollbar-thumb {
    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));
    border: 0.25vw solid transparent;
    border-radius: 0.75vw;
    background-clip: padding-box;
}

.tiny-scrollbar::-webkit-scrollbar {
    width: 15px;
    height: 15px;
}

.hide-scrollbar {
    overflow: auto; /* keep scrolling */
    scrollbar-width: none; /* Firefox: remove space */
    -ms-overflow-style: none; /* IE/old Edge: remove space */
}

    /* Chrome, Edge, Safari */
    .hide-scrollbar::-webkit-scrollbar {
        width: 0px;
        height: 0px;
        display: none;
    }

/* --- Critical fix for Windows Chrome/Edge --- */
.hide-scrollbar {
    scrollbar-gutter: stable both-edges; /* prevents layout shift */
}

.hide-overf {
    overflow: hidden;
}

.show-overf {
    overflow: visible;
}

.sv-circuit-select {
    transition: all ease 1s;
}

.sv-season-select {
    transition: all ease 1s;
}

.sv-tournament-select {
    transition: all ease 1s;
}

.draw-attention {
    -webkit-animation-name: hvr-icon-down;
    animation-name: hvr-icon-down;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
}

.current-step {
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

    .current-step a {
        background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));
    }

.step-header-bkg {
    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));
}

.cal-day a {
    color: white !important;
}

.loader-img {
    border-radius: 20vw;
    max-width: 20vw;
    width: 20vw;
    margin: 0 auto;
}

.loader-text {
    text-align: center;
    color: white;
    position: absolute;
    width: 100%;
    height: 50%;
    top: 50%;
    left: 0;
    font-size: 1.25em;
    padding-top: 2vh;
}

.circuit-viewer-inst-logo {
    max-height: 25vh;
    max-width: 100%;
}

.rounded-top-corners {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.rounded-bot-corners {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

._1-stat-border {
    /*border-image: linear-gradient(left, bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));*/
    /*border-image: -webkit-linear-gradient(left top, rgb(0,113, 165) 0%, rgb(0,122,173) 72%, rgb(62,151,194) 100%);*/ /* For Safari 5.1 to 6.0 */
    /*border-image: linear-gradient(left top, rgb(0,113, 165) 0%, rgb(0,122,173) 72%, rgb(62,151,194) 100%);*/ /* For Opera 11.1 to 12.0 */
    /*border-image: -moz-linear-gradient(bottom right, rgb(0,113, 165) 0%, rgb(0,122,173) 72%, rgb(62,151,194) 100%);*/ /* For Firefox 3.6 to 15 */
    /*border-image: linear-gradient(to bottom right, rgb(0,113, 165) 0%, rgb(0,122,173) 72%, rgb(62,151,194) 100%);*/ /* Standard syntax (must be last) */
    /*border-image: linear-gradient( to bottom, blue, rgba(0, 0, 0, 0) ) 1 100%;*/
    border-color: white;
    border-style: solid;
    border-width: 1px;
}

.import-player-good {
    border: 3px solid;
    border-image-slice: 1;
    border-width: 3px;
    border-image-source: linear-gradient(to right, rgba(0, 0, 0, 0), #B2FF59);
    border-right: none;
    border-top: none;
    border-left: none;
}

.import-player-validate {
    border: 3px solid;
    border-image-slice: 1;
    border-width: 3px;
    border-image-source: linear-gradient(to right, rgba(0, 0, 0, 0), rgb(0,113, 165));
    border-right: none;
    border-top: none;
    border-left: none;
}

.import-player-confirmed {
    border: 3px solid;
    border-image-slice: 1;
    border-width: 3px;
    border-image-source: linear-gradient(to right, rgba(0, 0, 0, 0), rgb(0,113, 165));
    border-right: none;
    border-bottom: none;
    border-left: none;
}

.import-player-multi {
    border: 3px solid;
    border-image-slice: 1;
    border-width: 3px;
    border-image-source: linear-gradient(to right, rgba(0, 0, 0, 0), orange);
    border-right: none;
    border-top: none;
    border-left: none;
}

.import-player-issue {
    border: 3px solid;
    border-image-slice: 1;
    border-width: 3px;
    border-image-source: linear-gradient(to right, rgba(0, 0, 0, 0), red);
    border-right: none;
    border-top: none;
    border-left: none;
}

.bottom-arrow {
    border-bottom: 5px solid #6A0136;
}

    .bottom-arrow:after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: 0;
        height: 0;
        border-top: 25px solid #6A0136;
        border-left: 50px solid transparent;
        border-right: 50px solid transparent;
    }

/* SMALL */
@media screen and (min-width:25.5em) {
    .loader-img {
        border-radius: 50vw;
        max-width: 50vw;
        width: 50vw;
        margin: 0 auto;
    }

    .loader-text {
        font-size: 1.25em;
    }

    .circuit-viewer-inst-logo {
        max-height: 25vh;
        max-width: 100%;
    }
}

@media screen and (min-width:35.5em) {
    .loader-img {
        border-radius: 35vw;
        max-width: 35vw;
        width: 35vw;
        margin: 0 auto;
    }

    .loader-text {
        font-size: 1.25em;
    }

    .circuit-viewer-inst-logo {
        max-height: 25vh;
        max-width: 100%;
    }
}

/* MED */
@media screen and (min-width:48em) {
    .loader-img {
        border-radius: 20vw;
        max-width: 20vw;
        width: 20vw;
        margin: 0 auto;
    }

    .loader-text {
        font-size: 1.25em;
    }

    .circuit-viewer-inst-logo {
        max-height: 25vh;
        max-width: 100%;
    }
}
/* LG */
@media screen and (min-width:64em) {
    .loader-img {
        border-radius: 20vw;
        max-width: 20vw;
        width: 20vw;
        margin: 0 auto;
    }

    .loader-text {
        font-size: 1.25em;
    }

    .circuit-viewer-inst-logo {
        max-height: 5vh;
        max-width: 100%;
    }
}
/* XL */
@media screen and (min-width:80em) {
    .loader-img {
        border-radius: 15vw;
        max-width: 15vw;
        width: 15vw;
        margin: 0 auto;
    }

    .loader-text {
        font-size: 1.25em;
    }

    .circuit-viewer-inst-logo {
        max-height: 5vh;
        max-width: 100%;
    }
}

.challonge-background {
    background-color: rgba(39, 42, 51, 1);
}

.challonge-background-min {
    background-color: rgba(39, 42, 51, 0.25);
}

.challonge-background-med {
    background-color: rgba(39, 42, 51, 0.50);
}

.challonge-background-high {
    background-color: rgba(39, 42, 51, 0.75);
}

.white-text {
    color: white;
}

.center-all-children {
    display: flex;
    justify-content: center;
    align-items: center;
}




.table_container {
    width: 33.3%;
    height: 75px;
    transition: transform 0.2s ease;
    position: relative;
}

.assigned_table_container {
    width: 700px;
    height: 75px;
    transition: transform 0.2s ease;
    position: relative;
}

assigned_table_background {
    background-image: url('/images/table_icon.png');
    background-repeat: no-repeat;
    background-attachment: local;
    background-position: top;
    background-size: 130px;
}

.assigned_table_number {
    /*position: absolute;
    top: 0;
    left: 37.5%;*/
    border-radius: 80%;
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
    width: 25%;
    height: 50%;
}

.assigned_table_match {
    position: absolute;
    top: 0;
    left: 0;
    /*border-radius: 80%;
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;*/
    /*background-image: url('/images/table_icon.png');*/
    background-repeat: no-repeat;
    background-attachment: local;
    background-position: left top;
    background-size: 150px 75px;
    /*width: 100%;
    height: 100%;*/
}


.table_background {
    background-image: url('/images/table_icon.png');
    background-repeat: no-repeat;
    background-attachment: local;
    background-position: center;
    background-size: 130px;
}

.listed_table_number {
    position: absolute;
    bottom: 0;
    right: 0;
    border-radius: 80%;
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
    width: 25%;
    height: 50%;
}

.listed_table_match {
    position: absolute;
    top: 0;
    left: 0;
    /*border-radius: 80%;
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;*/
    background-image: url('/images/table_icon.png');
    background-repeat: no-repeat;
    background-attachment: local;
    background-position: left top;
    background-size: 150px 75px;
    /*width: 100%;
    height: 100%;*/
}

.waiting_match_container {
    min-width: 375px;
    max-height: 100px;
    transition: transform 0.2s ease;
    position: relative;
    margin-right: 50px;
}

    .waiting_match_container:hover {
        transition: transform 0.2s ease;
        opacity: 1.5;
        transform: scale(1.1);
        background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));
    }


.waiting_match_number_container {
    position: absolute;
    top: 30%;
    left: 0.5vh;
    border-radius: 80%;
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
    width: 25%;
    height: 50%;
}

.waiting_match_svg_container {
    width: 75%;
    max-height: 100px;
}




.free_table_number_container {
    position: absolute;
    top: 30%;
    right: 0.5vh;
    border-radius: 80%;
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
    width: 25%;
    height: 50%;
}

.free_table_svg_container {
    width: 75%;
    max-height: 100px;
}

.free_table_container {
    min-width: 375px;
    max-height: 100px;
    transition: transform 0.2s ease;
    position: relative;
    margin-right: 50px;
}

.table-hover-on:hover {
    transition: transform 0.5s ease-in-out;
    opacity: 0.75;
    transform: scale(1.1);
    box-shadow: 0 0 10px rgba(255,255,255, 1);
}

.hvr-grow-shrink:hover {
    /*transition: transform 0.75s ease-in-out;*/
    opacity: 0.75;
    /*transform: scale(1);*/
    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));
    -webkit-animation-name: hvr-grow-shrink;
    animation-name: hvr-grow-shrink;
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    animation-direction: alternate;
    -webkit-animation-direction: alternate;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.immediate-hvr-grow-shrink {
    /*transition: transform 0.75s ease-in-out;*/
    opacity: 0.75;
    /*transform: scale(1);*/
    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, rgb(0,113, 165)), color-stop(0.72, rgb(0,122,173)), color-stop(1, rgb(62,151,194)));
    -webkit-animation-name: hvr-grow-shrink;
    animation-name: hvr-grow-shrink;
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    animation-direction: alternate;
    -webkit-animation-direction: alternate;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

/* Pulse Grow */
@-webkit-keyframes hvr-grow-shrink {
    from {
        opacity: 0.75;
        transform: scale(1);
        box-shadow: 0 0 10px rgba(0, 0, 0, 0);
    }

    to {
        opacity: 1;
        transform: scale(1.1);
        box-shadow: 0 0 10px rgba(255,255,255, 1);
    }
}






.drag-image {
    transition: transform 0.2s ease;
    width: 250px;
    height: 75px;
    display: inline;
}

.dragging {
    opacity: 0.75;
    transform: scale(1.1);
}

.drag-match-image {
    transition: transform 0.2s ease;
    width: 350px;
    height: 75px;
    display: inline;
}

    .drag-match-image.dragging {
        opacity: 0.75;
        transform: scale(1.1);
    }

.impossible_selection {
    opacity: 0.25;
    transform: scale(0.75);
}

.select_one {
    opacity: 1.25;
    transform: scale(1.1);
}

.dragover {
    background-color: purple;
    transform: scale(1.1);
}

.infinite_side_scroller {
    overflow-x: auto;
    overflow-y: hidden;
    display: flex;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
}

.expandable {
    background: #fff;
    overflow: hidden;
    transition: all .5s ease-in-out;
    line-height: 0;
    padding: 0;
    margin: 0;
    color: transparent;
    height: 0;
}

    .expandable:target {
        line-height: 1.5;
        padding-top: 1em;
        padding-bottom: 1em;
        color: black;
        height: 50vh;
    }

.box {
    display: grid;
    place-content: center;
    color: white;
    text-shadow: 0 1px 0 #000;
    --border-angle: 0turn;
    --main-bg: conic-gradient( from var(--border-angle), #213, #112 5%, #112 60%, #213 95% );
    border: solid 5px transparent;
    border-radius: 2em;
    --gradient-border: conic-gradient(from var(--border-angle), transparent 25%, #08f, red 99%, transparent);
    background: var(--main-bg) padding-box, var(--gradient-border) border-box, var(--main-bg) border-box;
    background-position: center center;
    -webkit-animation: bg-spin 1s linear infinite;
    animation: bg-spin 1s linear infinite;
}

.box-good {
    display: grid;
    place-content: center;
    color: white;
    text-shadow: 0 1px 0 #000;
    --border-angle: 0turn;
    --main-bg: conic-gradient( from var(--border-angle), #213, #112 5%, #112 60%, #213 95% );
    border: solid 5px transparent;
    border-radius: 2em;
    --gradient-border: conic-gradient(from var(--border-angle), transparent 25%, #08f, green 99%, transparent);
    background: var(--main-bg) padding-box, var(--gradient-border) border-box, var(--main-bg) border-box;
    background-position: center center;
    -webkit-animation: bg-spin 3s linear infinite;
    animation: bg-spin 3s linear infinite;
}

@-webkit-keyframes bg-spin {
    to {
        --border-angle: 1turn;
    }
}

@keyframes bg-spin {
    to {
        --border-angle: 1turn;
    }
}

/*.box:hover {
            -webkit-animation-play-state: paused;
            animation-play-state: paused;
        }*/

@property --border-angle {
    syntax: "<angle>";
    inherits: true;
    initial-value: 0turn;
}

.highlight-me {
    position: fixed;
    top: 50%;
    left: 50%;
    min-height: 50vh;
    transform: translate(-50%, -50%);
    background-color: transparent;
}

.fill-height {
    min-height: 100%;
    height: 100%;
    max-height: 100%;
}

.vert-center-content {
    /*display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;*/
    display: grid;
    align-items: center;
}

.vTop-hMid {
    display: grid;
    align-items: self-start;
    justify-content: center;
}

.vMid-hMid {
    display: grid;
    align-items: center;
    justify-items: center;
}

.top_most {
    z-index: 99 !important;
}


/* Anchor wrapper */
.scroll-anchor {
    position: relative;
    height: 1px; /* minimal box */
    width: 100%;
}

/* Shared base */
.scroll-down, .scroll-up, .scroll-left, .scroll-right {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

    .scroll-down svg,
    .scroll-up svg,
    .scroll-left svg,
    .scroll-right svg {
        width: 2rem;
        height: 2rem;
        position: absolute;
    }

    .scroll-down path,
    .scroll-up path,
    .scroll-left path,
    .scroll-right path {
        stroke: #fff;
        stroke-width: 2;
        fill: none;
    }

/* --- DOWN --- */
.scroll-down {
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

    .scroll-down svg {
        top: 0; /* arrow's top pinned at anchor bottom */
        animation: fade_move_down 2s ease-in-out infinite;
        animation-fill-mode: both;
    }

/* --- UP --- */
.scroll-up {
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}

    .scroll-up svg {
        bottom: 0; /* arrow’s bottom pinned at anchor top */
        transform: rotate(180deg);
        animation: fade_move_up 2s ease-in-out infinite;
        animation-fill-mode: both;
    }

/* --- LEFT --- */
.scroll-left {
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

    .scroll-left svg {
        right: 0; /* arrow right edge pinned to anchor left */
        transform: rotate(-90deg);
        animation: fade_move_left 2s ease-in-out infinite;
        animation-fill-mode: both;
    }

/* --- RIGHT --- */
.scroll-right {
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

    .scroll-right svg {
        left: 0; /* arrow left edge pinned to anchor right */
        transform: rotate(90deg);
        animation: fade_move_right 2s ease-in-out infinite;
        animation-fill-mode: both;
    }

/* Animations with pulse */
@keyframes fade_move_down {
    0% {
        transform: translateY(0) scale(0.9);
        opacity: 0;
    }

    50% {
        transform: translateY(20px) scale(1.1);
        opacity: 1;
    }

    100% {
        transform: translateY(40px) scale(0.9);
        opacity: 0;
    }
}

@keyframes fade_move_up {
    0% {
        transform: rotate(180deg) translateY(0) scale(0.9);
        opacity: 0;
    }

    50% {
        transform: rotate(180deg) translateY(20px) scale(1.1);
        opacity: 1;
    }

    100% {
        transform: rotate(180deg) translateY(40px) scale(0.9);
        opacity: 0;
    }
}

@keyframes fade_move_left {
    0% {
        transform: rotate(90deg) translateY(0) scale(0.9);
        opacity: 0;
    }

    50% {
        transform: rotate(90deg) translateY(20px) scale(1.1);
        opacity: 1;
    }

    100% {
        transform: rotate(90deg) translateY(40px) scale(0.9);
        opacity: 0;
    }
}

@keyframes fade_move_right {
    0% {
        transform: rotate(-90deg) translateY(0) scale(0.9);
        opacity: 0;
    }

    50% {
        transform: rotate(-90deg) translateY(20px) scale(1.1);
        opacity: 1;
    }

    100% {
        transform: rotate(-90deg) translateY(40px) scale(0.9);
        opacity: 0;
    }
}






.span-height {
    min-height: 100%;
    height: 100%;
    max-height: 100%;
}

.start_animation {
    animation-iteration-count: infinite;
    animation-duration: 2s;
    animation-direction: alternate;
}


.bord-all-top-rad-10 {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.bord-all-bot-rad-10 {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.bord-all-right-rad-10 {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.bord-all-left-rad-10 {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}


.toggle-switch {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    min-width: 42px;
    min-height: 22px;
    display: inline-block;
    position: relative;
    border-radius: 17px;
    overflow: hidden;
    outline: none;
    border: none;
    cursor: pointer;
    background-color: #707070;
    transition: background-color ease 0.3s;
}

    .toggle-switch:before {
        content: "✔ ✘";
        display: block;
        position: absolute;
        z-index: 2;
        width: 42.8%;
        height: 81.8%;
        background: #fff;
        left: 2px;
        top: 2px;
        border-radius: 18px;
        font: 7px/18px Helvetica;
        text-transform: uppercase;
        font-weight: bold;
        text-indent: -12px;
        word-spacing: 31px;
        color: #fff;
        text-shadow: -1px -1px rgba(0,0,0,0.15);
        white-space: nowrap;
        box-shadow: 0 1px 2px rgba(0,0,0,0.2);
        transition: all cubic-bezier(0.3, 1.5, 0.7, 1) 0.3s;
    }

    .toggle-switch:checked {
        background-color: #4CD964;
    }

        .toggle-switch:checked:before {
            left: 21px;
        }

.dual-switch {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    min-width: 42px;
    min-height: 22px;
    display: inline-block;
    position: relative;
    border-radius: 17px;
    overflow: hidden;
    outline: none;
    border: none;
    cursor: pointer;
    background: linear-gradient(to right, rgb(62,151,194), rgba(0, 0, 0, 0.25));
    transition: background-color ease 0.3s;
}

    .dual-switch:before {
        content: "=> <=";
        display: block;
        position: absolute;
        z-index: 2;
        min-width: 18px;
        min-height: 18px;
        background: #fff;
        left: 2px;
        top: 2px;
        border-radius: 18px;
        font: 7px/18px Helvetica;
        text-transform: uppercase;
        font-weight: bold;
        text-indent: -12px;
        word-spacing: 31px;
        color: #fff;
        text-shadow: -1px -1px rgba(0,0,0,0.15);
        white-space: nowrap;
        box-shadow: 0 1px 2px rgba(0,0,0,0.2);
        transition: all cubic-bezier(0.3, 1.5, 0.7, 1) 0.3s;
    }

    .dual-switch:checked {
        background: linear-gradient(to right, rgba(0, 0, 0, 0.25), rgb(62,151,194));
    }

        .dual-switch:checked:before {
            left: 21px;
        }

.white-text {
    color: white;
}

.black-background {
    background-color: black;
}

.grey-background {
    background-color: #cccccc;
}

.mh-fc {
    min-height: fit-content;
    max-height: fit-content;
}

.mw-fc {
    min-width: fit-content;
    max-width: fit-content;
}

.fc {
    min-width: fit-content;
    min-height: fit-content;
}

/* ATTEMPT TO MANAGER VERTICALLY ALIGNING ITEMS WITHIN OTHERS */
/* Base Flexbox Container Setup */
.vac {
    display: flex;
    height: 100%; /* Ensures the container takes up the full height it’s given */
}

/* Vertical Alignment */
.vac-top {
    align-items: flex-start; /* Aligns items to the top vertically */
}

.vac-middle {
    align-items: center; /* Centers items vertically */
}

.vac-bottom {
    align-items: flex-end; /* Aligns items to the bottom vertically */
}

/* Horizontal Alignment */
.vac-left {
    justify-content: flex-start; /* Aligns items to the left horizontally */
}

.vac-center {
    justify-content: center; /* Centers items horizontally */
}

.vac-right {
    justify-content: flex-end; /* Aligns items to the right horizontally */
}

.shine_box {
    position: absolute;
    top: 0;
    height: 100%;
    left: -100px;
    width: 5%;
    background: linear-gradient(to right, rgba(62,151,194,.25),transparent);
    -webkit-text-fill-color: white;
    animation: shine 2.5s infinite;
    /* animation-iteration-count: 1; */
    overflow: hidden;
}


@keyframes shine {
    0% {
        background: linear-gradient(to right, rgba(62,151,194,.25),transparent);
        left: -10%;
        height: 100%;
        border-left: 1px solid white;
        /*border-right:none;*/
    }

    100% {
        background: linear-gradient(to right, rgba(62,151,194,.25),transparent);
        left: 110%;
        /*margin-top: 1.25vh;*/
        height: 100%;
        border-left: 1px solid white;
        /*border-radius:75%;*/
        /*border-right:none;*/
        /*transform: rotate(360deg);*/
    }
}

.scale_with_text {
    min-height: 1em;
    height: 1em;
    max-height: 1em;
    width: auto;
}

.send_to_back {
    z-index: 5 !important;
}

.tight {
    margin: 0 !important;
    padding: 0 !important;
}

.tight-bt {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.tight-top {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.tight-bottom {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.tight-lr {
    margin-left: 0 !important;
    padding-left: 0 !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
}

.tight-left {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.tight-right {
    margin-right: 0 !important;
    padding-right: 0 !important;
}

.drop-shadow {
    box-shadow: 0 0 0.5rem rgba(0,200,255,.35), 0 8px 20px rgba(0,0,0,.45);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

/* CHEVRON (icon) */
.chevron-anim {
    transition: transform 0.125s cubic-bezier(0.4, 0, 0.2, 1);
    /* HOVER-OFF order: chevron waits, returns second */
    transition-delay: 0.0625s;
}

/* LOGO SLAB (left image/div) */
.chevron-anim-delayed {
    transition: transform 0.125s cubic-bezier(0.4, 0, 0.2, 1);
    /* HOVER-OFF order: logo returns immediately, first */
    transition-delay: 0s;
}

/* HOVER-ON order (chevron first, logo after) */
a:hover .chevron-anim {
    transition-delay: 0s;
    transform: translateX(2vw);
}

a:hover .chevron-anim-delayed {
    transition-delay: 0.125s;
    transform: translateX(2.5vw);
}


.triangle-down {
    width: 100%; /* set any width */
    height: 100%; /* set any height */
    margin: 0 auto; /* center horizontally in the .pure-u-1 */
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.triangle-up {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

a:hover .hover-white-text {
    color: white !important;
}



/* Global version (mobile-first default width) */
.pure-u-3-16, .pure-u-9-16 {
    display: inline-block;
    zoom: 1;
    letter-spacing: normal;
    word-spacing: normal;
    vertical-align: top;
    text-rendering: auto;
}

.pure-u-3-16 {
    width: 18.75%;
}

.pure-u-9-16 {
    width: 56.25%;
}

/* Optional: responsive breakpoint overrides (matches Pure's style) */
@media screen and (min-width: 35.5em) {
    .pure-u-sm-3-16 {
        width: 18.75%;
    }

    .pure-u-sm-9-16 {
        width: 56.25%;
    }
}

@media screen and (min-width: 48em) {
    .pure-u-md-3-16 {
        width: 18.75%;
    }

    .pure-u-md-9-16 {
        width: 56.25%;
    }
}

@media screen and (min-width: 64em) {
    .pure-u-lg-3-16 {
        width: 18.75%;
    }

    .pure-u-lg-9-16 {
        width: 56.25%;
    }
}



/* Sponsors Bottom Drawer — staged close with parent nudge */
#sponsors_bottom_drawer {
    /* keep it in-flow; don't switch position in .slideOut */
    position: relative;
    overflow: hidden;
    /* pick a max-height larger than your real content (12% band? 20–40vh is safe) */
    max-height: 40vh;
    /* parent nudge baseline */
    transform: translateY(0);
    /* interactions + visibility while open */
    pointer-events: auto;
    visibility: visible;
    /* parent slides/collapses AFTER the kids finish */
    transition: transform 0.6s ease 0.35s, /* nudge begins after 0.35s */
    max-height 0.6s ease 0.35s, /* collapse begins after 0.35s */
    visibility 0s linear 0.95s; /* flips hidden after collapse ends */
}

    /* Children (logo cells). Adjust selector if your structure differs */
    #sponsors_bottom_drawer .pure-g > * {
        transform: translateY(0);
        opacity: 1;
        transition: transform .35s ease, opacity .3s ease;
    }

    /* --- Closing sequence --- */
    /* 1) Kids exit first (fade + small slide) */
    #sponsors_bottom_drawer.slideOut .pure-g > * {
        transform: translateY(20px);
        opacity: 0;
    }

    /* 2) Then parent nudges + height collapses (removes gap) */
    #sponsors_bottom_drawer.slideOut {
        transform: translateY(20px); /* subtle parent nudge down */
        max-height: 0;
        pointer-events: none;
        visibility: hidden; /* becomes hidden after the timed delay above */
    }

    /* Optional: stagger for a nicer cascade */
    #sponsors_bottom_drawer .pure-g > *:nth-child(1) {
        transition-delay: 0ms;
    }

    #sponsors_bottom_drawer .pure-g > *:nth-child(2) {
        transition-delay: 80ms;
    }

    #sponsors_bottom_drawer .pure-g > *:nth-child(3) {
        transition-delay: 160ms;
    }

    #sponsors_bottom_drawer .pure-g > *:nth-child(4) {
        transition-delay: 240ms;
    }

    #sponsors_bottom_drawer .pure-g > *:nth-child(5) {
        transition-delay: 320ms;
    }

    #sponsors_bottom_drawer .pure-g > *:nth-child(6) {
        transition-delay: 400ms;
    }

    #sponsors_bottom_drawer .pure-g > *:nth-child(7) {
        transition-delay: 480ms;
    }

    #sponsors_bottom_drawer .pure-g > *:nth-child(8) {
        transition-delay: 560ms;
    }

    /* Optional: on open, let kids fade in just after the drawer expands */
    #sponsors_bottom_drawer:not(.slideOut) .pure-g > * {
        transition-delay: 200ms;
    }

#m_s_l_arrow {
    display: inline-block;
    transition: transform 750ms ease-in-out;
    transform: rotate(0deg); /* arrows "down" when open — tweak if you want the opposite */
}

#m_s_r_arrow {
    display: inline-block;
    transition: transform 1s ease-in-out;
    transform: rotate(0deg); /* arrows "down" when open — tweak if you want the opposite */
}

/* rotate ONLY when the drawer is CLOSED (has .slideOut) */
.hvr-back-pulse:has(+ #sponsors_bottom_drawer.slideOut) #m_s_l_arrow,
.hvr-back-pulse:has(+ #sponsors_bottom_drawer.slideOut) #m_s_r_arrow {
    transform: rotate(180deg);
}


.master-title-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%; /* spans the page */
    height: 7vh; /* same as your vh7 */

    display: flex;
    justify-content: center; /* horizontal center */
    align-items: center; /* vertical center */
    z-index: 1000; /* keep above other elements */
    color: white; /* default text color */
    pointer-events: none;
}

    .master-title-bar h1 {
        margin: 0;
        line-height: 1.2;
        text-align: center;
    }

    /* Default: mobile first (XS, SM, MD) */
    .master-title-bar h1 {
        font-size: 1.1rem; /* smaller, readable */
        font-weight: bold;
    }

/* LG & XL up */
@media (min-width: 64em) { /* Pure's LG breakpoint = 1024px */
    .master-title-bar h1 {
        font-size: 1.5rem; /* bump size */
        font-weight: normal;
    }
}


.shiny-text {
    position: relative;
    display: inline-block;
    color: #fff; /* main text color */
    overflow: hidden;
}

    .shiny-text::before {
        content: '';
        position: absolute;
        top: 0;
        left: -75%;
        width: 50%;
        height: 100%;
        background: linear-gradient( 120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100% );
        transform: skewX(-20deg);
        animation: shine 4s ease-in-out infinite;
    }



.shiny-text-slow {
    position: relative;
    display: inline-block;
    color: #fff; /* main text color */
    overflow: hidden;
}

    .shiny-text-slow::before {
        content: '';
        position: absolute;
        top: 0;
        left: -75%;
        width: 50%;
        height: 100%;
        background: linear-gradient( 120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100% );
        transform: skewX(-20deg);
        animation: shine 6s ease-in-out infinite;
    }

@keyframes shine {
    0% {
        left: -75%;
    }

    100% {
        left: 125%;
    }
}

.delayed-shiny-text {
    position: relative;
    display: inline-block;
    color: #fff; /* main text color */
    overflow: hidden;
}

    .delayed-shiny-text::before {
        content: '';
        position: absolute;
        top: 0;
        left: -75%;
        width: 50%;
        height: 100%;
        background: linear-gradient( 120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100% );
        transform: skewX(-20deg);
        animation: shine 2s ease-in-out infinite;
        /*animation-delay:0.04s;*/
    }



/* Base hidden */
.hide {
    display: none !important;
}

.show {
    display: block !important;
}

/* Downward hides: hide breakpoint and below */
@media (max-width: 35.499em) {
    .hide-sm {
        display: none !important;
    }
}
/* < 35.5em  */
@media (max-width: 63.999em) {
    .hide-md {
        display: none !important;
    }
}
/* < 64em    */
@media (max-width: 79.999em) {
    .hide-lg {
        display: none !important;
    }
}
/* < 80em    */
/* (stop at xl; skip hide-xl to avoid "hide always") */

/* Upward hides: hide breakpoint and above */
@media (min-width: 35.5em) {
    .hide-up-sm {
        display: none !important;
    }
}
/* ≥ 35.5em */
@media (min-width: 48em) {
    .hide-up-md {
        display: none !important;
    }
}
/* ≥ 48em   */
@media (min-width: 64em) {
    .hide-up-lg {
        display: none !important;
    }
}
/* ≥ 64em   */

@keyframes shake {
    0% {
        transform: translate(0, 0);
    }

    20% {
        transform: translate(-10px, 0);
    }

    40% {
        transform: translate(10px, 0);
    }

    60% {
        transform: translate(-10px, 0);
    }

    80% {
        transform: translate(10px, 0);
    }

    100% {
        transform: translate(0, 0);
    }
}


._1Stat_FadeToRight_hover:hover {
    background: linear-gradient(to right, rgb(62,151,194), rgba(0, 0, 0, 0));
}

._1Stat_FadeToLeft_hover:hover {
    background: linear-gradient(to right, rgba(0, 0, 0, 0), rgb(62,151,194));
}

._1Stat_FadeToTop_hover:hover {
    background: linear-gradient(to bottom, rgb(62,151,194), rgba(0, 0, 0, 0));
}

._1Stat_FadeToBottom_hover:hover {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(62,151,194));
}


._1Stat_FadeToRight {
    background: linear-gradient(to right, rgb(62,151,194), rgba(0, 0, 0, 0));
}

._1Stat_FadeToLeft {
    background: linear-gradient(to right, rgba(0, 0, 0, 0), rgb(62,151,194));
}

._1Stat_FadeToBottom {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(62,151,194));
}

._1Stat_FadeToTop {
    background: linear-gradient(to bottom, rgb(62,151,194), rgba(0, 0, 0, 0));
}

.drop-shadow-black {
    display: inline-block;
    padding: 0.5dvh 0.5dvh;
    font-size: 0.9rem;
    border-radius: 999px;
    background-color: rgba(0, 0, 0, 0.8);
    color: #f1f1f1;
    text-decoration: none;
    border: 1px solid #444;
    transition: all 0.25s ease;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    box-shadow: 0 0 0.5rem rgba(0, 200, 255, 0.35), 0 8px 20px rgba(0, 0, 0, 0.45);
}

    .drop-shadow-black:hover,
    .drop-shadow-black:focus {
        background-color: rgba(0, 0, 0, 0.8);
        color: white;
        box-shadow: 0 0 0.75rem rgba(0, 200, 255, 0.5), 0 10px 24px rgba(0, 0, 0, 0.6);
        outline: none;
        margin: 0.5rem;
    }
