body,
span,
p,
a,
button,
input,
ul,
li,
button:focus {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    text-decoration: none;
    background: inherit;
    font-family: inherit;
    color: inherit;
    border: inherit;
    margin: inherit;
    padding: inherit;
    height: inherit;
    outline: none;
}

body {
    background: var(--c1);
    color: var(--c4);
    font-family: sans-serif;
}

button:hover {
    cursor: pointer;
}

:root {
    --dark-blue: #1B222B;
    --black: #0D0D0D;
    --blue: rgb(0, 100, 162);
    --off-blue: #252e3b;
    --white: white;
    --green: #92D050;
    --red: #FF2525;
    --grey: #d3d3d3;
    --light-grey: #7F7F7F;
    --light-blue: #CDF2FF;
    --m1: 20px;
    --m2: 40px;
    --c1: var(--dark-blue);
    --c2: var(--black);
    --c3: var(--blue);
    --c4: var(--white);
    --c5: var(--green);
    --c6: var(--red);
    --c7: var(--grey);
    --c8: var(--light-grey);
    --c9: var(--light-blue);
    --c10: var(--off-blue);
    --s0: 1.1rem;
    --s1: 1rem;
    --s2: 0.9rem;
    --s3: 0.8rem;
    --s4: 0.7rem;
}

.t-t-dummy {
    background: var(--c2);
    display: grid;
    grid-template-columns: var(--m1) auto var(--m1);
    height: 50px;
    position: sticky;
    top: 0px;
    z-index: 2;
}

.t-t {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: space-between;
    align-items: center;
    margin: 5px 0px;
}

.t-t-l-container {
    justify-self: start;
    display: grid;
    grid-template-columns: repeat(2, min-content);
    font-weight: bold;
}

#t-t-l {
    width: 1.5rem;
}

#t-t-r {
    justify-self: end;
}

#t-t-r div {
    height: 2px;
    width: 25px;
    background: var(--c4);
    margin: 5px 0px;
}

.main {
    display: grid;
    grid-template-columns: var(--m2) auto var(--m2);
    width: 100%;
}

form {
    display: grid;
    justify-content: center;
    justify-items: center;
    width: 100%;
    grid-template-columns: 1fr;
}

#form-title {
    font-size: var(--s0);
    font-weight: bold;
    margin-top: 25px;
}

#id_email,
#id_password1,
#id_password2,
#id_old_password,
#id_new_password1,
#id_new_password2 {
    background: rgb(255, 255, 255);
    background: rgb(245, 248, 250);
    color: var(--c2);
    border-radius: 2px;
    margin-top: 15px;
    height: 25px;
    font-size: var(--s2);
    padding: 5px 10px;
    width: 100%;
}

::placeholder {
    font-size: var(--s3);
    color: rgb(111, 120, 126);
}

.field_header {
    margin-top: 10px;
    margin-bottom: -10px;
    margin-left: -10px;
    justify-self: start;
}

.pw-msg {
    font-size: var(--s3);
    list-style-position: inside;
    justify-self: start;
    width: 90%;
}

.pw-msg li:nth-child(1) {
    margin-top: 5px;
}

#pw-msg-p,
#pw-msg-p2 {
    font-size: var(--s3);
    margin-top: 5px;
    margin-left: -10px;
    margin-right: -10px;
    color: var(--c7);
    width: 100%;
    max-width: 360px;
    transform: translateX(-10px);
}

#btn-submit,
#btn-submit :focus {
    font-size: var(--s1);
    background: var(--c9);
    color: var(--c1);
    font-weight: bold;
    border-radius: 2px;
    padding: 10px 20px;
    margin-top: 15px;
    justify-self: center;
}

#sign-in {
    font-size: var(--s1);
    margin-top: 10px;
    text-align: center;
}

#sign-in-link {
    display: inline;
    color: var(--c9);
    text-decoration: underline;
}

.errors {
    margin-top: 8px;
    border-radius: 2px;
    border: solid 1px var(--c4);
    padding: 0 9px;
    width: 100%;
    max-width: 360px;
    background: #fc5044;
}

.error {
    font-size: var(--s3);
    margin-top: 8px;
    border-radius: 4px;
    border: none;
    padding: 0;
}

.error:nth-last-child(1) {
    margin-bottom: 8px;
}

#pop, #pop2 {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: var(--c8);
    opacity: 0.85;
    z-index: 4;
}

.main-pop-o {
    background: var(--c9);
    font-size: var(--s1);
    font-weight: bold;
    text-align: center;
    margin: 10px;
    color: var(--c1);
    white-space: normal;
    border-radius: 3px;
    display: grid;
    align-content: center;
}

.main-pop-o:hover {
    cursor: pointer;
}

.main-pop-t {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.main-pop-t-l {
    display: grid;
    justify-content: start;
    align-items: start;
}

.main-pop-t-l span {
    transform: translateY(-4px);
}

.main-pop-t-c {
    display: grid;
    justify-content: center;
    font-size: var(--s1);
    font-weight: bold;
}

#t-t-r-pop {
    background: var(--c1);
    opacity: 1;
    z-index: 3;
    position: fixed;
    left: 50%;
    transform: translatex(-50%);
    white-space: nowrap;
    box-shadow: 0 0 30px var(--c2);
    position: fixed;
    bottom: 0;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    width: 100%;
}

.t-t-r-pop-o {
    margin-right: 20px;
    margin-left: 20px;
    margin-bottom: 15px;
    padding: 10px;
}

#t-t-t-r-pop-t-c {
    display: grid;
    grid-template-columns: repeat(2, min-content);
    align-content: center;
    align-items: center;
    margin-top: 10px;
}

#t-t-r-pop-t-l {
    margin-top: 5px;
    margin-left: 8px;
    font-size: 1.4rem;
}

#t-t-r-pop-img {
    width: 1.5rem;
    display: inline;
}

.t-t-r-pop-o {
    background: var(--c1);
    border: 1px solid var(--c3);
    color: var(--c4);
    font-weight: normal;
}

.t-t-r-pop-1-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 0;
    padding: 0;
} 

#t-t-r-pop-1, #t-t-r-pop-2 {
    background: var(--c9);
    color: var(--c1);
    margin-bottom: 5px;
    font-weight: bold;
    border: 1px solid var(--c9);
}

#t-t-r-pop-3 {
    background: var(--c9);
    color: var(--c1);
    font-weight: bold;
    border: 1px solid var(--c9);
}

#t-t-r-pop-1 {
    margin-left: 20px;
    margin-right: 5px;
}

#t-t-r-pop-2 {
    margin-left: 5px;
    margin-right: 20px;
}

.msg {
    color: var(--c1);
    background: var(--c5);
    text-align: center;
    width: 100%;
    box-sizing: border-box; 
    padding: 5px var(--m1);
}
input {
    max-width: 360px;
}
.new-feature {
    right: calc(var(--m1) + 8px);
    transform: translateY(2px) rotate(45deg);
    text-align: center;
    background: transparent;
    border: none;
    position: absolute;
    margin: 0;
    padding: 0;
    font-size: 0.7rem;
    display: inline;
    color: #0afc4a;
    color: #00ffe5;
    font-weight: bold;
}
.popup-module {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: 5;
    background: white;
    border-radius: 8px;
    box-shadow: 0 0 20px black;
    padding: 20px;
    display: grid;
    justify-content: center;
    justify-items: center;
    color: black;
}