body {
    display: flex;
    flex-direction: column;
    h1 {
        z-index: 50;
        margin-top: 70px;
        font-size: 40pt;
        background-image: linear-gradient(to bottom right, #9000ffff 0%, #00ffb7ff 100%);
        background-clip: text;
        color: transparent;
        position: relative;
        text-align: center;
        filter: blur(0.015em);
    }
}

.container {
    margin-top: 50px;
    position: relative;
    border-radius: 50px;
    width: 600px;
    align-self: center;
}

.spacer {
    height: 100px;
}

.blur-gradient {
    background: conic-gradient(from 180deg at 50% 100%, #0000ffff 0%, #1352c9ff 50%, #3a84a1ff 100%);
    filter: blur(100px);
    width: 600px;
    height: 480px;
}

.login-card {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    z-index: 100;
    display: flex;
    flex-direction: column;
    width: 600px;
    padding: 4rem;
    border-radius: 2rem;
    backdrop-filter: blur(20px);
    background-color: rgba(255, 255, 255, 0.1);
    font-size: 1.2rem;
    gap: 0.5rem;
    h2 {
        color: rgb(230, 230, 230)
    }
}

h2 {
    font-size: 23pt;
    margin: 0;
}

form {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-self: center;
    gap: 1rem;
    flex-grow: 1;
}


#username, #password {
    color: white;
    padding: 1.2rem;
    border-radius: 1rem;
    border: solid rgba(255, 255, 255, 0.1) 2px;
    background-color: rgba(255, 255, 255, 0.1);
    font-size: 1.2rem;
}

#username::placeholder, #password::placeholder {
    color: rgba(255, 255, 255, 0.550);
}

#error {
    color: #ff3b3b;
}

#remember-me-label {
    display: flex;
    text-align: center;
    justify-content: center;
}

#remember-me {
    width: 20px;
    height: 20px;
    accent-color: cornflowerblue;
    color: #1b2f68;
}

#login {
    margin: 2rem auto 0;
    padding: 1.2rem;
    border: none;
    border-radius: 1rem;
    background-color: rgba(255, 255, 255, 0.9);
    font-size: 1.2rem;
    font-weight: 500;
    width: 60%;
    cursor: pointer;
    transition: 100ms all ease-in-out;
}

#login:hover {
    background-color: rgba(255, 255, 255, 1);
    transform: scale(1.02);
}

#login:active {
    background-color: rgb(177, 177, 177);
    transition: 100ms all ease-in;
    transform: scale(0.98);
}

.croissant {
    z-index: 0;
    position: absolute;
    filter: blur(3px) brightness(0.6);
}

#croissant-1 {
    right: 10px;
    width: 10vw;
    transform: scaleX(1) scaleY(1) scaleZ(1) rotateX(10deg) rotateY(32deg) rotateZ(30deg) translateX(0px) translateY(79px) translateZ(-75px) skewX(0deg) skewY(0deg);
}

#croissant-2 {
    right: 30vw;
    bottom: 100px;
    width: 6vw;
    transform: scaleX(1) scaleY(1) scaleZ(1) rotateX(-14deg) rotateY(-3deg) rotateZ(-5deg) translateX(0px) translateY(1px) translateZ(50px) skewX(0deg) skewY(0deg);
}

#croissant-3 {
    left: 50px;
    top: 15vh;
    width: 13vw;
    transform: scaleX(-1) scaleY(1) scaleZ(1) rotateX(10deg) rotateY(26deg) rotateZ(8deg) translateX(0px) translateY(0px) translateZ(100px) skewX(0deg) skewY(0deg);
}

#legal-notice {
    color: rgb(230, 230, 230);
    right: 0;
    margin-top: auto;
    text-align: right;
}

#legal-notice:visited {
    color: rgb(230, 230, 230);
}

@media (max-width: 700px) {
    .container {
        margin-top: 20px;
        border-radius: 20px;
        width: 350px;
        height: auto;
    }

    .login-card {
        width: 350px;
        height: auto;
        padding: 25px;

        h2 {
            font-size: 19pt;
            text-align: center;
        }
    }

    .blur-gradient {
        width: 350px;
    }

    h1 {
        font-size: 35pt !important;
    }

    .croissant {
        z-index: 0;
        position: absolute;
        filter: blur(2px) brightness(0.6);
    }

    #croissant-1 {
        top: -50px;
        right: -50px;
    }
}

@media (max-width: 400px) {
    h1 {
        font-size: 30pt !important;
    }
}