html {
    overscroll-behavior: none;
}

body {
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    min-width: 320px;
}

* {
    border-color: hsl(var(--border))
}

button, [role="button"], a {
    touch-action: manipulation;
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
}

.text-balance {
    text-wrap: balance;
}

.logo {
    max-height: 50px;
}

/**
 ** Buttons
 */
button:focus, a:focus {
    outline-color: hsla(var(--primary) / .25);
    outline-offset: 0px;
    outline-width: 3px;
    outline-style: solid;
}

button.border-cta:focus {
    outline-color: hsla(var(--cta) / .25);
}

button.border-success:focus {
    outline-color: hsla(var(--success) / .25);
}

button.border-warning:focus {
    outline-color: hsla(var(--warning) / .25);
}

button.border-error:focus {
    outline-color: hsla(var(--error) / .25);
}

button.border-info:focus {
    outline-color: hsla(var(--info) / .25);
}

svg {
    display: inline-block;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

.heading {
    font-weight: 700;
    text-transform: uppercase;
}

.price {
    font-weight: 700;
    line-height: 1;
}

    .price small {
        font-size: var(--text-xs-size);
        line-height: var(--text-xs-line-height);
        font-weight: 400;
        display: block;
    }

header:focus {
    outline: none;
}

.e-calendar {
    max-width: none !important;
}

.activity-container.selected[data-open=false] .activity-container--start-times,
.activity-container.selected[data-open=false] .group-split-info {
    display: none;
}

/**
 ** Alert
 */
.alert:has(.alert--content:empty) {
    display: none;
}
ul.validation-errors {
    color: hsl(var(--error));
    padding: 0.75rem;
    background-color: hsl(var(--error) / 0.05);
    border: 1px solid hsl(var(--error));
}

/**
 ** Proce
 */
.prose {
    font-size: inherit;
    line-height: inherit;
}

    .prose div > *:first-child {
        margin-top: 0;
    }

    .prose div > *:last-child {
        margin-bottom: 0;
    }

    .prose img {
        margin-bottom: .25rem;
    }

    .prose b {
        font-weight: 700;
    }

/**
 ** Race Results
 */
.gold {
    background: radial-gradient(at center top, rgb(254, 240, 138), rgb(253, 224, 71), rgb(202, 138, 4));
}

.silver {
    background: radial-gradient(at center top, rgb(226, 232, 240), rgb(203, 213, 225), rgb(71, 85, 105));
}

.bronze {
    background: radial-gradient(at center top, rgb(239 201 158), rgb(221 161 97), rgb(141 71 35));
}

/**
 ** Hide input number buttons
 */
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

/**
 ** Hide scrollbar
 */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

.scrollbar {
    scrollbar-width: thin;
    scrollbar-color: var(--secondary) var(--primary);
}

    /* Chrome, Edge, and Safari */
    .scrollbar::-webkit-scrollbar {
        background-color: initial;
        width: 0.375rem !important;
        height: 0.375rem !important;
    }

    .scrollbar::-webkit-scrollbar-track {
        --tw-bg-opacity: 1 !important;
        background-color: rgb(241 245 249/var(--tw-bg-opacity)) !important;
        border-radius: 0.25rem !important;
    }

    .scrollbar::-webkit-scrollbar-thumb {
        --tw-bg-opacity: 1 !important;
        background-color: rgb(203 213 225/var(--tw-bg-opacity)) !important;
        border-radius: 0.25rem !important;
    }

/**
 ** Table order anchors
 */
[data-anchor-id].active {
    background-color: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
}

*[id] {
    scroll-margin-top: calc(var(--header-height) + 48px + 24px);
}

/*
 * INPUT CHECKBOX
 */
input[type=checkbox] {
    width: 1em;
    height: 1em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid hsl(var(--input));
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    margin-top: 0.25em;
    vertical-align: top;
}

    input[type=checkbox]:checked {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
        background-color: hsl(var(--primary));
        border-color: hsl(var(--primary));
    }


/**
 ** SUMMARY MOBILE
 **/
@media (min-width:480px)
{
    #summary-mobile {
        --text-sm-size: clamp(.75rem, 2.9167vw, 1rem);
        --text-lg-size: clamp(1rem, 3.3334vw, 1.333rem);
        --text-xl-size: clamp(1.25rem, 4.1667vw, 1.66625rem);
    }
}
/*
 *
 */
.menu-list--item {
    perspective: 500px;
}
.menu-list--item--card {
    position: relative;
    transition: transform 0.6s;
    transform-style: preserve-3d;
    height: 100%;
    width: 100%;
}
.menu-list--item--card-front {
    height: 100%;
    width: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.menu-list--item--card-back {
    position: absolute;
    top: 0;
    inset: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: rotateY(180deg);
}
.menu-list--item.active .menu-list--item--card {
    transform: rotateY(180deg);
}
/*
 * BLAZOR MODAL
 */
.bm-container .blazored-modal {
    background: hsl(var(--card));
    border-color: hsl(var(--card));
    color: hsl(var(--card-foreground));
}

.blazored-modal.size-medium {
    width: calc(100vw - 1.5rem);
}

.blazored-modal .bm-header {
    align-items: center;
    border-bottom: 1px solid hsl(var(--border));
    padding: 0 0 1rem;
    margin: 0 0 1rem;
}

.blazored-modal .bm-close {
    padding: 0;
    margin: 0;
}

.blazored-modal .bm-title {
    font-weight: 700;
    font-size: var(--text-xl-size);
    line-height: var(--text-xl-line-height);
    text-transform: uppercase;
}

/*
 * BLAZOR STANDARD STYLING
 */
#components-reconnect-modal {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: hsl(var(--background) / 90%);
    color: hsl(var(--foreground));
    padding: 20px;
    position: fixed;
    inset: 0;
    text-align: center;
    z-index: 9000;
    gap: 20px;
}

    #components-reconnect-modal.show {
        display: flex;
    }

#blazor-error-ui {
    position: fixed;
    inset: 0;
    display: none;
    z-index: 1000;
}

#blazor-error-ui--bg {
    background: hsl(var(--background));
    opacity: .9;
    position: absolute;
    inset: 0;
    z-index: 1;
}

#blazor-error-ui--content {
    max-width: 400px;
    width: calc(100vw - 1.5rem);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    z-index: 2;
}

#blazor-error-ui .reload {
    display: block;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

/**
 ** Loading pie
 */
.pie {
    --background-rgb: var(--info);
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: currentColor;
    background-image: linear-gradient(to right, transparent 50%, hsl(var(--background-rgb)) 0);
    position: relative;
    display: inline-block;
    border: 2px solid currentColor;
}

.bg-warning .pie {
    --background-rgb: var(--warning);
}

.bg-error .pie {
    --background-rgb: var(--error);
}

.pie::before {
    content: "";
    display: block;
    margin-left: 50%;
    height: 100%;
    border-radius: 0 100% 100% 0/50%;
    background-color: inherit;
    transform-origin: left;
}

.pie[data-value="0"]:before {
    transform: rotate(0turn);
}

.pie[data-value="1"]:before {
    transform: rotate(0.01turn);
}

.pie[data-value="2"]:before {
    transform: rotate(0.02turn);
}

.pie[data-value="3"]:before {
    transform: rotate(0.03turn);
}

.pie[data-value="4"]:before {
    transform: rotate(0.04turn);
}

.pie[data-value="5"]:before {
    transform: rotate(0.05turn);
}

.pie[data-value="6"]:before {
    transform: rotate(0.06turn);
}

.pie[data-value="7"]:before {
    transform: rotate(0.07turn);
}

.pie[data-value="8"]:before {
    transform: rotate(0.08turn);
}

.pie[data-value="9"]:before {
    transform: rotate(0.09turn);
}

.pie[data-value="10"]:before {
    transform: rotate(0.1turn);
}

.pie[data-value="11"]:before {
    transform: rotate(0.11turn);
}

.pie[data-value="12"]:before {
    transform: rotate(0.12turn);
}

.pie[data-value="13"]:before {
    transform: rotate(0.13turn);
}

.pie[data-value="14"]:before {
    transform: rotate(0.14turn);
}

.pie[data-value="15"]:before {
    transform: rotate(0.15turn);
}

.pie[data-value="16"]:before {
    transform: rotate(0.16turn);
}

.pie[data-value="17"]:before {
    transform: rotate(0.17turn);
}

.pie[data-value="18"]:before {
    transform: rotate(0.18turn);
}

.pie[data-value="19"]:before {
    transform: rotate(0.19turn);
}

.pie[data-value="20"]:before {
    transform: rotate(0.2turn);
}

.pie[data-value="21"]:before {
    transform: rotate(0.21turn);
}

.pie[data-value="22"]:before {
    transform: rotate(0.22turn);
}

.pie[data-value="23"]:before {
    transform: rotate(0.23turn);
}

.pie[data-value="24"]:before {
    transform: rotate(0.24turn);
}

.pie[data-value="25"]:before {
    transform: rotate(0.25turn);
}

.pie[data-value="26"]:before {
    transform: rotate(0.26turn);
}

.pie[data-value="27"]:before {
    transform: rotate(0.27turn);
}

.pie[data-value="28"]:before {
    transform: rotate(0.28turn);
}

.pie[data-value="29"]:before {
    transform: rotate(0.29turn);
}

.pie[data-value="30"]:before {
    transform: rotate(0.3turn);
}

.pie[data-value="31"]:before {
    transform: rotate(0.31turn);
}

.pie[data-value="32"]:before {
    transform: rotate(0.32turn);
}

.pie[data-value="33"]:before {
    transform: rotate(0.33turn);
}

.pie[data-value="34"]:before {
    transform: rotate(0.34turn);
}

.pie[data-value="35"]:before {
    transform: rotate(0.35turn);
}

.pie[data-value="36"]:before {
    transform: rotate(0.36turn);
}

.pie[data-value="37"]:before {
    transform: rotate(0.37turn);
}

.pie[data-value="38"]:before {
    transform: rotate(0.38turn);
}

.pie[data-value="39"]:before {
    transform: rotate(0.39turn);
}

.pie[data-value="40"]:before {
    transform: rotate(0.4turn);
}

.pie[data-value="41"]:before {
    transform: rotate(0.41turn);
}

.pie[data-value="42"]:before {
    transform: rotate(0.42turn);
}

.pie[data-value="43"]:before {
    transform: rotate(0.43turn);
}

.pie[data-value="44"]:before {
    transform: rotate(0.44turn);
}

.pie[data-value="45"]:before {
    transform: rotate(0.45turn);
}

.pie[data-value="46"]:before {
    transform: rotate(0.46turn);
}

.pie[data-value="47"]:before {
    transform: rotate(0.47turn);
}

.pie[data-value="48"]:before {
    transform: rotate(0.48turn);
}

.pie[data-value="49"]:before {
    transform: rotate(0.49turn);
}

.pie[data-value="50"]:before {
    transform: rotate(0.5turn);
}

.pie[data-value="51"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.01turn);
}

.pie[data-value="52"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.02turn);
}

.pie[data-value="53"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.03turn);
}

.pie[data-value="54"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.04turn);
}

.pie[data-value="55"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.05turn);
}

.pie[data-value="56"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.06turn);
}

.pie[data-value="57"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.07turn);
}

.pie[data-value="58"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.08turn);
}

.pie[data-value="59"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.09turn);
}

.pie[data-value="60"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.1turn);
}

.pie[data-value="61"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.11turn);
}

.pie[data-value="62"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.12turn);
}

.pie[data-value="63"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.13turn);
}

.pie[data-value="64"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.14turn);
}

.pie[data-value="65"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.15turn);
}

.pie[data-value="66"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.16turn);
}

.pie[data-value="67"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.17turn);
}

.pie[data-value="68"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.18turn);
}

.pie[data-value="69"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.19turn);
}

.pie[data-value="70"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.2turn);
}

.pie[data-value="71"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.21turn);
}

.pie[data-value="72"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.22turn);
}

.pie[data-value="73"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.23turn);
}

.pie[data-value="74"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.24turn);
}

.pie[data-value="75"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.25turn);
}

.pie[data-value="76"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.26turn);
}

.pie[data-value="77"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.27turn);
}

.pie[data-value="78"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.28turn);
}

.pie[data-value="79"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.29turn);
}

.pie[data-value="80"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.3turn);
}

.pie[data-value="81"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.31turn);
}

.pie[data-value="82"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.32turn);
}

.pie[data-value="83"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.33turn);
}

.pie[data-value="84"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.34turn);
}

.pie[data-value="85"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.35turn);
}

.pie[data-value="86"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.36turn);
}

.pie[data-value="87"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.37turn);
}

.pie[data-value="88"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.38turn);
}

.pie[data-value="89"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.39turn);
}

.pie[data-value="90"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.4turn);
}

.pie[data-value="91"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.41turn);
}

.pie[data-value="92"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.42turn);
}

.pie[data-value="93"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.43turn);
}

.pie[data-value="94"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.44turn);
}

.pie[data-value="95"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.45turn);
}

.pie[data-value="96"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.46turn);
}

.pie[data-value="97"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.47turn);
}

.pie[data-value="98"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.48turn);
}

.pie[data-value="99"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.49turn);
}

.pie[data-value="100"]:before {
    background-color: hsl(var(--background-rgb));
    transform: rotate(0.5turn);
}
