* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

body {
    width: 100vw;
    height: 100vh;
    font-family: Arial, Helvetica, sans-serif;
}

main {
    width: 100%;
    height: 100%;
}

.card-flip-container {
    width: 100%;
    height: 100%;

    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    gap: 1.5vw;
    padding: 1vw;
}

.pair {
    position: relative;
    /* min-width: 200px; */
    flex-basis: 12vw;
    aspect-ratio: 1;
    cursor: pointer;
}

.pair.solved {
    cursor: default;
}

.pair > div {
    position: absolute;
    width: 100%;
    height: 100%;
    display: grid;
    justify-content: center;
    align-content: center;
    text-align: center;
    padding: 0.4vw;
    border-radius: 0.6vw;
    /* border: 1px solid #00000020; */
    outline: 1px solid #00000020;
    box-shadow: 0px 0px 0.5vw rgba(0,0,0,0.4);
}

.pair .card {
    background-color: white;
    background-image: url(../img/card.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-origin: content-box;
    /* box-shadow: 0px 0px 0.5vw rgba(0,0,0,0.4); */
    z-index: 1;
}

.pair .info {
    background-color: white;
    font-size: calc(1px + 0.8vw);
    /* box-shadow: 0px 0px 15px rgba(0,0,0,0.1); */
    z-index: 1; 
    transition: all 400ms linear, font-size 0ms;
    
}

.pair.wrong .info {     background-color: #cc5c5c;  }
.pair.solved .card {    opacity: 0;  }
.pair.solved > div {    box-shadow: none;  }
.pair1.solved div {     background-color: #90ee9060;  }
.pair2.solved div {     background-color: #adff2f60;  }
.pair3.solved div {     background-color: #00800060;  }
.pair4.solved div {     background-color: #556b2f60;  }
.pair5.solved div {     background-color: #9acd3260;  }
.pair6.solved div {     background-color: #2e8b5760;  }
.pair7.solved div {     background-color: #20b2aa60;  }

.pair .info p {
    pointer-events: none;
}

.pair .flipped {
    transform: rotateY(180deg);
    z-index: 0;
}

.pair .ani_flip {
    animation: ani_flip 1s ease;
}

.pair .ani_reverse {
    animation: ani_reverse 1s ease;
}

@keyframes ani_flip {
    0% {
        transform: rotateY(0);
        z-index: 1;
    }
    100% {
        transform: rotateY(180deg);
        z-index: 0;
    }
}

@keyframes ani_reverse {
    0% {
        transform: rotateY(180deg);
        z-index: 0;
    }
    100% {
        transform: rotateY(0);
        z-index: 1;
    }
}