main {
    padding: 0px 20px;
}

main > h1, main > p {
    margin-left: 5px;
}

.centered {
    display: flex;
    align-items: center;
    justify-content: center;
}

.site-title {
    position: absolute;
    justify-self: center;
    text-align: center;
    text-shadow: 3px 3px 3px black;
}

.site-title h1 {
    font-size: 3rem;
}

table td {
    font-size: 0.8rem;
}

.win-color, .win-color p, .win-color td, .win-color a {
    color: var(--pico-color-amber-200);
}


.lose-color, .lose-color p, .lose-color h3, .lose-color td, .lose-color a {
    color: var(--pico-color-zinc-450);
}

.spaced-fieldset {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.banner {
    padding: 0px !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    display: flex;
}

.banner img {
    z-index: -10;
    object-fit: cover;
    max-height: 300px;
    width: 100%;
}

.bar {
    display: grid;
    grid-template-columns: 3fr 1fr 160px;
    align-items: baseline;
    padding: 0px 10px;
}

.infogrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.infogrid p {
    text-align: right;
    margin: 10px 0px;
}

.infogrid h5 {
    margin: 10px 0px;
    /* font-size: 1.1rem; */
}


.condensed-table button {
    padding: 1px 10px;
    font-size: 0.8rem;
}


.condensed-inputs button, .condensed-inputs td, .condensed-inputs select, .condensed-inputs input {
    padding: 2px 4px;
    max-height: 35px;
    font-size: 0.9rem;
    margin: 2px 0px;
}

.achievement-grid {
    width: 80%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 15px;
    /* display: grid; */
    /* grid-gap: 15px; */
    /* grid-template-columns: repeat(auto-fit, minmax(64px, 100px)); */
    /* align-items: center; */
}


nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    z-index: 50;
}

nav ul {
    gap: 5px;
}


#hamburger {
    display: none;
}

[data-theme="dark"] .icon {
    filter:invert();
}

.small-icon {
    width: 64px;
    height: 64px;
}

.horizontal-container {
    overflow-x: scroll;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 10px;
}

.horizontal-container article {
    min-width: 400px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.horizontal-container a:not(.league-banner) {
    margin-top: auto;
    margin-bottom: auto;
}

.horizontal-container .game-score {
    display: flex;
    flex-direction: column;
    gap: 0px;
    align-items: center;
    justify-content: center;
}

.league-badge {
    background: #333333;
    border-radius: 40px;
    padding: 2px 6px;
    margin: 0;
    height: fit-content;
    font-size: 10pt;
    color: black;
    box-shadow: 1px 1px 4px black;
}

.league-banner {
    background: linear-gradient(to right, #00FF00, gray) border-box;
    border: 2px solid transparent;
    box-shadow: 3px 3px 20px rgba(0, 0, 0, 0.5);
    margin: 15px 10px;
    border-radius: 10px;
    overflow: clip;
    min-width: 90%;
    max-height: 500px;
    flex: 1;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform 0.1s ease-in;
}

.league-banner img {
    object-fit: cover;
    height: 100%
}

.league-banner:hover {
    transform: scale(1.01);
}

.league-banner-contents {
    margin: 20px;
    position: absolute;
    top: 0;
    /* width: 70%; */
}

.flex-row-split {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.league-banner-contents h2 {
    font-size: 1rem;
    text-shadow: 3px 3px 5px black;
}

.league-banner-contents h1 {
    font-size: 2rem;
    text-shadow: 3px 3px 5px black;
    margin-bottom: 5px;
}

.league-banner a {
    position: absolute;
    bottom: 15px;
    right: 15px;
    border: 2px rgba(0,0,0,0.3) solid;
    border-radius: 10px;
    padding: 8px;
}

.link-box {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.link-box h3 {
    margin: 0;
}

.goalicon {
    width: 32px;
    image-rendering: pixelated;
}

.goaliconbar {
    display: flex;
    gap: 5px;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
}

.goaliconbar p {
    margin: 0px 10px;
}

.goaliconbar [data-tooltip] {
    border-bottom: 0px;
}

.goaliconbar div {
    width: 32px;
    font-size: 1rem;
}

.bigstat {
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.bigstat h3, .bigstat p {
    color: var(--pico-color-zinc-450);
    margin: 0px;
}

.bigstat strong {
    font-size: 4rem;
}


.mini {
  padding: 3px 8px;
}

.nowrap {
    white-space: nowrap;
}


/* HTMX SPINNER */
.htmx-indicator {
    opacity: 0;
    visibility: hidden;
    display: none;
}
.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator {
    display: block;
    opacity: 1;
    visibility: visible;
    transition: opacity 200ms ease-in;
}

/* Player Rank Tiles */
.rank {
  display: flex;
  flex-direction: row;
  gap: 5px;
}


.rank img {
  object-fit: contain;
}

.rank [data-tooltip] {
    border-bottom: 0px;
}

.rank-color-unrate {
    color: #999999;
}

.rank-color-coal {
    color: #aaaaaa;
}

.rank-color-iron {
    color: #ffffff;
}

.rank-color-gold {
    color: #F9D348;
}

.rank-color-diamond {
    color: #20C4B4;
}

.rank-color-netherit {
    color: #9A0020;
}


@media screen and (max-width: 768px) {

    #navLinks {
        display: none; 
        position: absolute;
        top: 90px; 
        right: 0px;
        margin: 0;
        background-color: var(--pico-background-color);
        flex-direction: column;
        width: 100% !important;
        box-shadow: 0 4px 8px rgba(0,0,0,0.2);
        border-radius: 8px;
        padding: 10px;
        z-index: 50;
    }

    nav ul {
        display: flex;
        flex-direction: column;
    }


    #site-title {
        display: none;

    }

    #hamburger {
        display: block;
        background: none;
        border: none;
        font-size: 2rem;
        cursor: pointer;
    }

    .newsgrid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }

    table strong {
        font-size: 0.8rem;
    }

    table td {
        font-size: 0.8rem;
        padding: 0.5rem 1rem;
    }

    .bigstat strong {
        font-size: 2rem;
    }

    .bigstat p {
        font-size: 10pt;
    }

    .bigstat h3 {
        font-size: 1rem;
    }

    .banner img {
        height: 200px;
    }

    .grid {
        grid-row-gap: 0px;
    }

    .horizontal-container article {
        min-width: 300px;
    }

}
