body, html {
    margin: 0;
    padding: 0;
}
.form-container,
.profile-container .form-container {
    width: fit-content;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 0 10px;
    margin: 0;
    text-align: center;
    position: fixed;
    opacity: 0;
    left: 50%;
    top: 50%;
    transform: translate(calc(-50% + (var(--nav-width) / 2)),-50%);
    animation: showForm 0.25s ease-out;
}
.profile-container .form-container.cached {
    animation: showFormCached 0.5s ease-out;
}
@keyframes showForm {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes showFormCached {
    0%, 55% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.account-form-header {
    position: fixed;
    top: 10vh;
    left: 50%;
    transform: translate(-50%, 0%);
    text-align: center;
}



/* From Uiverse.io by bociKond */ 
.form {
    --bg-light: #efefef;
    --bg-dark: rgba(28, 28, 28,0.9);
    --span-clr: rgba(128, 128, 128,1);
    --clr: cyan;
    --clr-alpha: #9c9c9c60;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    width: 100%;
    max-width: 300px;
    padding: 0;
    margin: 0;
    /*animation: displayForm 0.25s ease-out;*/
}
.form .input-span {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    position: relative;
}
.form .input-span:has(.input-span-has-img) {
    margin: 0;
}
.form input[type="email"],
.form input[type="text"],
.form input[type="password"] {
    border-radius: 0.5rem;
    padding: 1rem 0.75rem;
    width: 100%;
    border: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background-color: var(--clr-alpha);
    outline: 2px solid var(--bg-dark);
    box-shadow:
        15px 15px 35px -10px rgba(0,0,0,0.55) inset, /* top */
        -15px -15px 35px -10px rgba(25,25,25,0.5) inset; /* bottom */
    z-index: 1;
}
.form input[type="email"]:focus,
.form input[type="text"]:focus,
.form input[type="password"]:focus {
    outline: 2px solid #bababa;
    backdrop-filter:
        blur(1px)
        saturate(300%)
        brightness(75%);
    box-shadow:
        15px 15px 35px -10px rgba(35, 0, 35,0.55) inset, /* top inset */
        -15px -15px 35px -10px rgba(0, 35, 35,0.5) inset, /* bottom inset */
        5px 5px 15px 10px rgb(55, 0, 55,0.55), /* top out */
        -5px -5px 15px 10px rgba(0, 55, 55,0.5); /* bottom out */
}
.form input::placeholder {
    opacity: 0;
}
.form input:not(:placeholder-shown):not(:focus) {
    box-shadow:
        5px 5px 15px 5px rgb(55, 0, 55,0.35), /* top out */
        -5px -5px 15px 5px rgba(0, 55, 55,0.3); /* bottom out */
}
.label {
    align-self: flex-start;
    color: var(--clr);
    font-weight: 600;
    margin-left: 0;
    padding-left: 0;
    z-index: 2;
}

.input-span .input-span-has-img {
    width: 100%;
    height: fit-content;
    position: relative;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-direction: column;
}
.input-span-has-img img {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translate(0px, -50%);
    width: auto;
    height: 80%;
    padding: 0;
    margin: 0;
    z-index: 5;
    cursor: pointer;
}
.input-span-has-img input {
    gap: 0.5rem;
    padding: 1rem 0.75rem;
    width: 100%;
}



.form .submit {
    cursor: pointer;
    background: linear-gradient(0deg, #141414ec, #00000cea, #00000cea, #141414ec);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: fit-content;
    min-height: 5vh;
    padding: 10px 0;
    position: relative;
    isolation: isolate;
    border-radius: 50px;
    margin: 1vh 0;
}
.form .submit .i,
.req-send-btn .i {
    position: absolute;
    inset: -1px;
    display: block;
    border-radius: 50px;
    pointer-events: none;
    z-index: -1;
    transition-duration: 0.8s;
    background: linear-gradient(
      -35deg,
      rgb(105, 105, 105,0.1) 10%,
      transparent,
      rgb(94, 94, 94, 0.349) 80%
    );
}
.form .submit .inner-span,
.req-send-btn .inner-span {
    width: 100%;
    height: 100%;
    background-color: rgba(18,18,18,0.95);
    position: absolute;
    pointer-events: none;
    border-radius: 50px;
}
.form .submit .i:nth-child(3),
.req-send-btn .i:nth-child(3) {
    filter: blur(10px);
    background: linear-gradient(
      -35deg,
      #118cff 0%,
      transparent,
      transparent,
      #f1e 99%
    );
    inset: -2px;
}
.form .submit .i:nth-child(5),
.req-send-btn .i:nth-child(5) {
    background: linear-gradient(
      -35deg,
      rgba(20,140,255,0.5) 0%,
      transparent,
      transparent,
      rgba(255,20,240,0.5) 99% 
    );
    z-index: -1;
}
.form .submit .sub-txt,
.req-send-btn .sub-txt {
    z-index: 10;
    color: white;
}
.form .submit.submitting {
    background-color: var(--bg-dark);
    color: var(--bg-light);
    filter: 
        brightness(0.5)
        grayscale(1);
    cursor: wait;
}

.form .submit:hover:not(.submitting) .inner-span,
.req-send-btn:hover:not(.submitting) .inner-span {
    backdrop-filter: blur(2px);
    background-color: rgba(28, 28, 28,0.85);
}
.form .submit.submitting .inner-span {
    background-color: #121212;
}
.req-send-btn.submitting {
    filter: brightness(0.7);
    cursor: wait;
}



.span {
    text-decoration: none;
    color: var(--span-clr);
}
.span a {
    color: var(--clr);
}
.span a.dis {
    filter:
        grayscale(1)
        brightness(0.75);
    cursor: not-allowed;
}
@keyframes displayForm {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}



@media only screen and (max-width: 768px) {
    .profile-container .form-container,
    .profile-container .form-container.cached {
        top: -5vh;
        transform: translate(-50%,0%);
    }
}