* {
    text-align: center;
 }
 
 body {
    overflow: hidden;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    height: 100svh;
    background-color: #3498db;
}

p {
    margin: 0;
    padding: 0;
    color: #eee;
    font-family: 'Passion One', cursive;
    font-weight: 400;
    font-size: 10vh;
    text-transform: uppercase;
}

.title_p {
    margin: 0;
    margin-bottom: 2vh;
    padding: 0;
    color: #eee;
    font-family: 'Passion One', cursive;
    font-weight: 400;
    font-size: 3.5vw;
    text-transform: uppercase;
}

.smaller_p {
    font-size: 1.5vw !important;
    text-transform: none !important;
    font-family: 'Roboto Slab', serif !important;
    margin-top: 3vh;
    font-weight: 200;
}

.smallCaps {
    font-size: 1.5vw;
    text-transform: uppercase;
    font-family: 'Passion One', cursive;
    margin-top: 7vh;
    font-weight: 400;
}

.quote {
    font-size: 1.25vw;
    text-transform: none;
    font-family: 'Roboto Slab', serif;
    color: #ffda79;
    margin-top: 3vh;
}

.yellowText {
    color: #ffda79 !important;
}

.startScreen {
    width: 100vw;
    height: 100vh;
    height: 100svh;
    background-color: #3498db;
    z-index: 100;
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.startScreenText {
    width: 40vw;
}

.startScreen > svg {
    width: 5vw;
    cursor: pointer;
    opacity: .8;
    scale: .9;
    margin-top: 2vh;
}

.startScreen > svg:hover {
    opacity: 1;
    scale: 1;
}

.animatedText {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2vw;
    margin-top: 30vh;
    max-width: 90vw;
}

.animatedWord {
    opacity: 1;
}

.successImage {
    position: absolute;
    margin: 0;
    padding: 0;
    margin-bottom: 30vh;
    width: 30vw;
}

.card {
    position: absolute;
    margin: 0;
    padding: 0;
    margin-bottom: 30vh;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 33vw;
    aspect-ratio: 1/.6;
    border: 4px solid #eee;
    border-radius: 3vw;
    background-color: #3498db;
}

.card > p {
    font-size: 5vw;
    font-family: 'Roboto Slab', serif;
    text-transform: none;
}

.card > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    position: absolute;
    border: 4px solid #eee;
    border-radius: 3vw;
}

.resourceText {
    width: 40vw;
    line-height: 6vw;
}

.resourceText > p {
    font-size: 5vw;
}

.imageGrid {
    position: absolute;
    width: 100vw;
    height: 100;
    height: 100svh;
    display: grid;
    grid-template-columns: 25vw 25vw 25vw 25vw;
    grid-template-rows: 25vh 25vh 25vh 25vh;
    grid-template-rows: 25svh 25svh 25svh 25svh;
}

.imageGrid > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    outline: 3px solid #eee;
    outline-offset: -4px;
}

.endOptions {
    position: absolute;
    display: none;
    flex-direction: column;
    align-items: center;
    row-gap: 3vw;
    width: 30vw;
}

.button {
    background-color: #eee;
    border: 0;
    border-radius: .5rem;
    box-sizing: border-box;
    color: #333;
    font-family: 'Passion One', cursive;
    font-size: 1.5vw;
    font-weight: 400;
    text-transform: uppercase;
    padding: 1vw;
    text-align: center;
    text-decoration: none #D1D5DB solid;
    text-decoration-thickness: auto;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    width: 60%;
    height: 4vw;
}

.button:hover {
    background-color: rgb(249, 250, 251);
}

.button:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.button:focus-visible {
    box-shadow: none;
}