h1 {
    font-weight: 900;
    font-size: min(15vh, 10vw);
    font-size: min(15svh, 10vw);
    margin-bottom: 0;
}

.subtitle {
    font-size: min(2.5vh, 1.75vw);
    font-size: min(2.5svh, 1.75vw);
    margin-top: 0;
    margin-bottom: 10vh;
}

.card {
    color: white;
    text-decoration: none;
    width: 30vw;
    margin: 0 2vw;
    box-sizing: border-box;
    display: inline-block;
    text-align: center;
    padding: 5vh 0;
    font-size: min(2.5vh, 1.75vw);
    font-size: min(2.5svh, 1.75vw);

    transition: transform 0.1s ease-in-out, box-shadow 0.2s ease-in-out;
}

.card:hover,
.card:focus {
    transform: scale(1.03);
}

.card:active {
    transform: scale(0.98);
    box-shadow: 0 0 20px 0px white;
}

.secondRow .card {
    padding: 5vh 0;
    padding: 5svh 0;
}

.card svg {
    max-height: 20vh;
    max-width: 20vw;
    display: block;
    margin: 0 auto 2vh auto;
    margin: 0 auto 2svh auto;
}

.secondRow {
    margin-bottom: 2vh;
    margin-bottom: 2svh;
}

@media(max-width: 700px) {
    h1 {
        font-size: min(17vh, 15vw);
        font-size: min(17svh, 15vw);
    }

    .subtitle {
        font-size: min(2.5vh, 2.5vw);
        font-size: min(2.5svh, 2.5vw);
    }

    .card {
        width: 45vw;
        font-size: min(4vh, 3vw);
        font-size: min(4svh, 3vw);
    }

    .card svg {
        max-width: 30vw;
    }
}

body {
    transform: scale(1);
    transition: transform 0.5s cubic-bezier(0.200, 0.000, 0.735, -0.470);
}

body.out {
    transform: scale(0);
}

footer {
    color: white;
    text-align: center;
    font-size: min(1.8vh, 1.4vw);
    font-size: min(1.8svh, 1.4vw);
    opacity: 0.8;
}

footer a {
    color: white;
}

footer a:hover,
footer a:focus {
    text-decoration: none;
}

footer a:active {
    text-decoration: underline;
}