/* CSS animations */

@keyframes reveal-down {
    from {
        clip-path: inset(0 0 100% 0);
    }

    to {
        clip-path: inset(0 0 0 0);
    }
}


@keyframes reveal-bottom-up {
    from {
        clip-path: inset(100% 0 0 0);
    }

    to {
        clip-path: inset(0 0 0 0);
    }
}

/* HTML */

.splashscreen-canvas-outer {
    width: 100%;
    height: 100%;
}

.splashscreen-canvas {
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.logo {
    width: calc(100% - 3rem);
    position: relative;
    height: 6rem;
    margin-bottom: 3rem;
    margin-top: 40%;
}

.logo>img {
    position: absolute;
    width: 100%;
    height: auto;
    border: 1rem #ffffff solid;
    box-sizing: border-box;
}

.logo2 {
    clip-path: inset(0 0 100% 0);
    animation: reveal-down 0.5s ease-out forwards;
    animation-delay: 0.3s;
}

.logo3 {
    clip-path: inset(100% 0 0 0);
    animation: reveal-bottom-up 0.5s ease-out forwards;
    animation-delay: 0.7s;
}

.logo4 {
    clip-path: inset(0 0 100% 0);
    animation: reveal-down 0.5s ease-out forwards;
    animation-delay: 1.2s;
}

/* Buttons */

.button-wrapper {
    width: calc(100% - 4rem);
    clip-path: inset(0 0 100% 0);
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
    animation: reveal-down 0.7s ease-out forwards;
    animation-delay: 1.6s;
    line-height: 1.2em;
}

.button {
    padding: 0.75em 1em 0.75em 1em;
    text-decoration: none;
    text-transform: uppercase;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-family: Tahoma, sans-serif;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.button__primary,
.button__secondary:hover {
    background-color: #e4003a;
    color: #ffffff;
}

.button__secondary,
.button__primary:hover {
    background-color: #102d69;
    color: #ffffff;
}

/* Responsive */

@media (min-width: 360px) {
    .logo {
        margin-top: 60%;
    }
}

@media (min-width: 460px) {
    .splashscreen-canvas-outer {
        display: flex;
        width: 100%;
        justify-content: center;
    }

    .splashscreen-canvas {
        width: 30rem;

    }

    .logo {
        margin-bottom: 7rem;
    }

    .button {
        padding: 1.5em 2em 1.5em 2em;
        font-size: 24px;
    }

    .button-wrapper {
        row-gap: 2rem;
    }
}

@media (min-width: 1024px) {
    .logo {
        margin-top: 0;
    }

    .splashscreen-canvas {
        justify-content: center;
    }
}

@media (min-width: 1200px) {
    .splashscreen-canvas {
        width: 40rem;
    }

    .logo {
        height: 10rem;
    }

    .button-wrapper {
        flex-direction: row;
        column-gap: 2rem;
    }

    .button {
        width: 50%;
        padding: 1.5em 2em 1.5em 2em;
        font-size: 18px;
    }
}

@media (min-width: 1440px) {
    .logo {
        margin-top: 0;
    }
}