body {
    height: 100vh;
    background-image: url('resources/home.webp');
    background-size: 110% auto;
    background-position: 0 10%;
    background-repeat: no-repeat;
    overflow-x: hidden;
    animation: zoomIn 1s forwards;
}
body.zoomed {
    background-size: 115% auto;
    animation: zoomIn 0s;
}
@keyframes zoomIn {
    to {
        background-size: 115vmax auto;
    }
}

main {
    color: #130401;
    position: relative;
    padding-top: 35vh !important;
    margin: 0;
}

main h1 {
    margin: 0;
    font-family: 'Cinzel', serif;
    color: #1e0803;
    font-size: 4vmax;
    margin-bottom: 1rem;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 1.2s ease forwards;
}
.v6 {
    color: #592516;
}
.title-container {
    width: fit-content;
    text-align: left;
    padding-left: 16vmax;
    cursor: default;
    white-space: nowrap;
}

.title-container * {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
}

.title-suffix {
    text-transform: uppercase;
    letter-spacing: 0.24vmax;
    padding-left: 3.2vmax;
    margin-bottom: calc(-1em - 0.1vmax);
    font-weight: bold;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 1s cubic-bezier(0.075, 0.82, 0.165, 1) forwards;
    font-size: 1.5vmax;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
        text-shadow: #fff9 1px 0 10px;
    }
}

@media only screen and (max-width: 768px) {

    body {
        background-size: 280vw auto;
        background-position: 40% 0;
    }
    body.zoomed {
        background-size: 310vw auto;
    }
    
    @keyframes zoomIn {
        to {
            background-size: 310vw auto;
        }
    }
    .title-container {
        padding-left: 0;
    }
    main {
        display: flex;
        justify-content: center;
    }
    h1 {
        font-size: 2.8rem;
    }
    .title-suffix {
        padding-left: 33px;
        margin-bottom: calc(-1em + 5px);
        font-size: 1.5rem;
        letter-spacing: 2px;
    }
}

@media only screen and (max-width: 380px) {
    .title-container {
        scale: 0.8;
    }
}