html {
    height: 100%;
}

body {
    min-height: 100vh;
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    box-sizing: border-box;
    background-image: url('https://i.imgur.com/26WnWMd.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    overflow: hidden;
}

#border {
    position: absolute;
    z-index: 99;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: -3;
    animation: fadeBorder 3s ease 0.1s 1 normal forwards;
}

@keyframes fadeBorder {
    from {
        opacity: 0;
        transform: scale(0.99);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

#playby {
    order: 1;
    height: 100dvh;
    max-height: 100dvh;
    max-width: none;
    width: auto;
    display: block;
    object-fit: contain;
    flex: 0 0 auto;
    animation: playbyFade 4s ease 0s 1 normal forwards;
}

@keyframes playbyFade {
    from {
        opacity: 0;
        transform: translateX(-10%);
    }
    to {
        opacity: 1;
        transform: translateX(8%);
    }
}

#content {
    flex: 1;
    order: 1;
    padding: clamp(16px, 3.5vw, 50px);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-width: 0;
}

#groupname {
    display: grid;
    width: min(100%, 980px);
    max-width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto;
    grid-template-areas:
        "name title1"
        "title2 surname";
    justify-items: center;
    align-items: center;
    column-gap: clamp(14px, 2vw, 28px);
    row-gap: clamp(8px, 1.2vw, 16px);
}

#groupname img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

#name {
    grid-area: name;
    width: 100%;
    max-width: 100%;
    height: auto;
    opacity: 0;
    animation: nameFade 2.5s ease 0.8s 1 normal forwards;

}

#surname {
    grid-area: surname;
    width: 100%;
    max-width: 100%;
    height: auto;
    opacity: 0;
    animation: surnameFade 2.5s ease 0.8s 1 normal forwards;
}

@keyframes nameFade {
    from {
        opacity: 0;
        transform: translateX(50%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes surnameFade {
    from {
        opacity: 0;
        transform: translateX(-50%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

#title1 {
    grid-area: title1;
    width: 84%;
    max-width: 84%;
    height: auto;
    opacity: 0;
    animation: title1Fade 2.5s ease 1.8s 1 normal forwards;
}

#title2 {
    grid-area: title2;
    width: 84%;
    max-width: 84%;
    height: auto;
    opacity: 0;
    animation: title2Fade 2.5s ease 2.1s 1 normal forwards;
}

@media (max-width: 1200px) {
    #groupname {
        width: min(100%, 680px);
    }
}

@media (max-width: 900px) {
    #content {
        width: 100%;
        padding: 14px 14px 24px;
    }

    #groupname {
        width: min(100%, 520px);
        column-gap: 10px;
        row-gap: 6px;
    }
}

@keyframes title1Fade {
    from {
        opacity: 0;
        transform: translateX(50%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes title2Fade {
    from {
        opacity: 0;
        transform: translateX(-50%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}