@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');

@font-face {
    font-family: Pokemon;
    src: url(/res/fonts/Pokemon\ Solid.ttf);
}

* {
    transition: visibility 0s, display ease-in 0.3s;
}

html,
body {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    background-color: #222;
    color: #eee;
    margin: 0;
}

button,
input {
    padding: 5 10;
    outline: none;
    border: none;
    border-radius: 10px;
    background: #eee;
    transition: transform 0.2s linear;
}

button:hover,
input:hover {
    transform: translate3d(-2.5px, -2.5px, 0);
}

button,
label {
    cursor: pointer;
}

input,
button,
label {
    height: fit-content;
    margin: 2pt;
    font-size: 1.8dvh
}

a,
a:hover {
    text-decoration: none;
    color: inherit;
}

label img {
    opacity: 0.2;
    height: 3vh;
}

label[for^=cbRarity] {
    border-radius: 250px;
    padding: 5px;
}

header {
    display: flex;
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    z-index: 99;
    background-color: #222;
    top: 0;
    margin-bottom: 20px;
}

header .branding {
    flex: 0 0 50%;
    margin: 0 15px;
}

header .settings {
    flex: 10%;
    display: flex;
    justify-content: end;
    position: fixed;
    right: 10;
    top: -10;
    transition: top 0.4s ease-in;
    background-color: #222;
    border: solid #eee;
    border-top: none;
    border-radius: 0 0 100px 100px;
    padding: 20px;
    flex-direction: column-reverse;
    align-items: center;
    z-index: 99;
}

header .settings svg {
    position: relative;
    border-radius: 100px 0 0 100px;
}

.filters,
.stats,
.deckBuilder {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: 100%;
    z-index: 99;
    background-color: #222;
    text-align: end;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    row-gap: 2dvh;
}

.filters div,
.stats div {
    display: flex;
    column-gap: 2dvh;
    row-gap: 2dvh;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 2dvh;
}

h1 {
    font-family: Pokemon, 'Press Start 2P';
    color: #fc0;
    -webkit-text-stroke: 1pt #0075BE;
}

#btnClose i{
    position: fixed;
}

.hidden {
    display: none !important;
}

.loader {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(250, 250, 250, 0.8);
    width: 100%;
    height: 100%;
    z-index: 99;
}

.loader svg {
    height: 25%;
}

.spinner>* {
    animation: spin ease-in-out infinite 1.5s;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    10% {
        transform: rotate(45deg);
    }

    20% {
        transform: rotate(0deg);
    }

    30% {
        transform: rotate(0deg);
    }

    40% {
        transform: rotate(-45deg);
    }

    50% {
        transform: rotate(0deg);
    }

    60% {
        transform: rotate(0deg);
    }

    70% {
        transform: translateY(-20vh) scale(1.2);
    }

    100% {
        transform: rotate(0deg);
    }
}

.dex {
    display: flex;
    justify-content: center;
    align-items: center;
    /* gap: 20px 30px; */
    gap: 3dvh 2dvw;
    flex-wrap: wrap;
}

.dex>.card {
    display: flex;
    justify-content: center;
    margin: 0;
    position: relative;
    transition: box-shadow 0.3s ease-in-out, border-radius 0.3s ease-in-out;
}

.card:hover {
    box-shadow: whitesmoke 0 0 20px 5px;
    border-radius: 5%;
}

.card.rare:hover {
    box-shadow: gold 0 0 20px 5px;
}

.dex>.card>.expansion {
    position: absolute;
    top: -5%;
    right: -15%;
    height: 10%;
    z-index: 2;
}

.dex>.card .counter {
    display: flex;
    width: 20%;
    height: 5%;
    justify-content: center;
    align-items: center;
    border-radius: 0 15px 0 5px;
    background: #444;
    color: white;
    position: absolute;
    bottom: 0px;
    left: 0px;
    text-decoration: none;
}

.dex img {
    max-height: 35vh
}

.card>.overlay {
    position: absolute;
    width: 50%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    opacity: 0;
    font-size: 1.5rem;
    font-weight: bold;
    text-decoration: none;
}

.card>.minus {
    left: 0;
    border-radius: 10px 0 0 10px;
    touch-action: manipulation;

}

.card>.minus:hover,
.card>.plus:hover,
.card>.minus:active,
.card>.plus:active {
    opacity: 1;
}

.card>.plus {
    right: 0;
    border-radius: 0 10px 10px 0;
    touch-action: manipulation;

}

.card>.wish {
    position: absolute;
    top: -1.2em;
    border-radius: 20px;
    background-color: #222;
    padding: 5px;
    height: auto;
}

.card>.wished {
    color: salmon;
}

.card .no {
    position: absolute;
    bottom: 0.5em;
    right: 0.5em;
    background-color: #222;
    color: #eee;
    font-size: 1.2dvh;
    padding: 0 5px;
    border-radius: 1em;
}

.set {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-basis: 100%;
    box-shadow: inset white 0 0 20px 5px;
    border-radius: 20px;
    margin: 5px 20px;
    flex-direction: column;

}

.set>img {
    max-height: 5vh;
}

.set .cards {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    gap: 5px;
}

#expansion-counter {
    margin: 5vh 0;
}

.filters .expansions {
    flex-direction: column;
    align-items: end;
}

@media (max-device-width: 1000px) {
    .dex>.card .counter {
        width: 20%;
        height: 5%;
        font-size: 1.8rem;
    }

    .card .no,
    .card .wish {
        font-size: 1.8rem;
    }
}

@media print {

    .settings,
    .filters,
    .counter {
        display: none !important;
    }
}