* {
    transition: 0.5s;
    box-sizing: border-box;
}
html {
    --background-color: rgb(55, 55, 55);
    --text-color: #dfdfdf;
    --first-color: #f3f5f6;
    --second-color: #d3d9df;
    --third-color: #edf0f2;
    --shadow-color: rgb(0, 0, 0, 0.1);
    --glint-color: rgb(255, 255, 255, 0.05);
    --content-width: 1350px;
    margin: 0px;
    text-rendering: optimizeLegibility;
    background-color: #222; 
    color: var(--first-color);
}

@font-face {
    font-family:Material Design Icons;
    font-style:normal;
    font-weight:400;
    src:url(/assets/fonts/materialdesignicons-webfont.9c4a470c.eot) format("embedded-opentype"),
    url(/assets/fonts/materialdesignicons-webfont.66e43f0f.woff2) format("woff2"),
    url(/assets/fonts/materialdesignicons-webfont.c2df65ff.woff) format("woff"),
    url(/assets/fonts/materialdesignicons-webfont.e9f2f143.ttf) format("truetype")
}


.mdi-set,
.mdi:before {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  display:inline-block;
  font:normal normal normal 24px/1 Material Design Icons;
  font-size:inherit;
  line-height:inherit;
  text-rendering:auto;
  font-size: 24px !important;
}
.mdi-eye::before {
    content: "\f0208";
}
.mdi-eye-off::before {
    content: "\f0209" !important;
}

body {
    margin: 0;
    font-family: sans-serif;
    font-family: -apple-system,BlinkMacSystemFont,Roboto,Segoe UI,Helvetica Neue,Noto Sans,Noto Sans CJK SC,Microsoft YaHei,PingFang SC,微软雅黑,sans-serif;
}
.overflow-wrapper {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100dvh;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: 0s;
    background-color: #373737;
}

main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(1rem);
    background: hsla(0,0%,100%,.46);
    border-radius: 8px;
    padding: 2.5rem 4rem;
    text-align: left;
    width: 28rem;
    box-shadow: 0 0 17px -2px rgba(0,0,0,.47);
    overflow: wrap;
}

.input-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

label {
    width: 100%;
    color: var(--text-color);
    font-size: 0.875rem;
    font-weight: 700;
    margin: 0.5rem 0;
}

.input-container {
    background: hsla(0,0%,100%,.32);
    border-radius: 4px;
    padding: 0.5rem 0.75rem;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    flex-grow: 1;
    position: relative;
    height: 40px;
}

input {
    border: none;
    outline: none;
    background: none;
    color: #363636;
    font-size: 1rem;
    flex-grow: 1;
    padding: 0;
}

.input-error {
    box-shadow: 0 0 0 .125em rgba(241,70,104,.25);
}

button {
    cursor: pointer;
    border: none;
}

#password {
    padding-right: calc(40px - 0.75rem);
}

.visibility-button {
    border-color: transparent;
    outline: none;
    background: none;
    color: #2075f3;
    right: 0;
    top: 0;
    position: absolute;
    height: 40px;
    width: 40px;
    padding: 0px;
}

.login-button {
    color: #ffffff;
    width: 100%;
    border-radius: 10rem;
    padding: 0.35rem 1.25rem;
    background-color: #2075f3;
    border-color: transparent;
    font-size: 0.875rem;
    margin-top: 1.5rem;
    padding: 0.3rem 1.125rem;
}
.login-button:hover {
    background-color: #1264e0;
}

span {
    color: #f75a79;
    font-size: 0.85rem;
    text-shadow: 0 0 3px rgba(10,10,10,0.3);
    display: flex;
    margin-bottom: 0.5rem;
}
span > svg {
    color: #f75a79;
    box-shadow: 0 0 3px rgba(10,10,10,0.3);
    border-radius: 10rem;
    margin-right: 0.35rem;
    display: block;
}

main > svg {
    margin-bottom: 1.5rem;
    max-width: 10rem;
    color: #353638;
    filter: drop-shadow(0.5rem 0.5rem 3px rgba(10, 10, 10, 0.3));
}

.hidden {
    opacity: 0;
}

main {
    animation: fadein 0.5s, blurfix 0.5s;
    animation-delay: 0.25s;
    animation-fill-mode: both;
}
@keyframes fadein {
    from { filter: opacity(0%) }
    to   { filter: opacity(100%) }
}
@keyframes blurfix { from { } to { } }