:root
{
    /*Цвета*/
    --main-color: #282828;
    --dark-color: #202020;
    --dark-color2: #141414;
    --light-color2: #383838;
    --light-color: #292828;
    --standart-color: #F44336;
    --standart-color2: #24370f;
    --accent-color: #ff5722;
    --accent-color2: #b18911;
    --accent-color3: #e91e63;
    --accent-color4: #97e92d;
    --accent-color5: #8c36dd;
    --accent-color6: #2fc7b3;
    --accent-color7: #8dbd0a;
    --accent-color8: #dd3315;
    --accent-color9: #310c75;
    --accent-color10: #154c80;
    --accent-color11: #8b140d;
    --accent-color12: #2e5513;
    --text-color: white;
    --opacity-color: #ffffff38;
    /*Градиенты*/
    --green: -webkit-linear-gradient(61deg, #637605, #839405, #a4a019, #d8da72);
    --green2: linear-gradient(61deg, #637605, #839405, #a4a019, #d8da72);
    --greenLight: -webkit-linear-gradient(61deg, #255c10,#4a792a,#598b37,#aad59a,#aefcb1);
    --greenLight2: linear-gradient(61deg, #255c10,#4a792a,#598b37,#aad59a,#aefcb1);
    --red: -webkit-linear-gradient(61deg, #80150a, #a11212, #cb4810, #ee5353);
    --red2: linear-gradient(90deg, #80150a, #a11212, #cb4810, #ee5353);
    --yellow: -webkit-linear-gradient(61deg, #765705,#b2a61f,#c7b333,#d8da72);
    --yellow2: linear-gradient(90deg, #765705,#b2a61f,#c7b333,#d8da72);
    --orange: -webkit-linear-gradient(61deg, #765705, #c08a16, #cb4810, #bb7330, #ffb375);
    --orange2: linear-gradient(90deg, #765705, #c08a16, #cb4810, #bb7330, #ffb375);
    --pink: -webkit-linear-gradient(61deg, #9f234b, #e51343, #cb4810, #cb7d29);
    --pink2: linear-gradient(61deg, #9f234b, #e51343, #cb4810, #cb7d29);
    --half: -webkit-linear-gradient(61deg, #407605, #77c016, #cb4810, #bb7330, #ffb375);
    --half2: linear-gradient(61deg, #407605, #77c016, #cb4810, #bb7330, #ffb375);
    --empty-border: linear-gradient(90deg, #ffffff36, #61616117, #77777799, #ffffff6e);
    --empty-border2: -webkit-linear-gradient(90deg, #ffffff36, #61616117, #77777799, #ffffff6e);
    /*Шрифты*/
    --standart-font: Arial;
    /*Отступы*/
    --standart-section: 0 100px;
    --standart-section-right:100px;
}


html {
    scrollbar-color: #141414 #202020;
    scrollbar-width: thin;
    background: var(--main-color);
}

body {
    background: var(--main-color);
    padding: 0;
    margin: 0;
    border: 0;
    font-size: 12px;
    color: var(--text-color);
    opacity: 0;
    scroll-behavior: smooth;
    transition: 0.8s opacity ease;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

div
{
    transition: 0.8s max-height ease;
}

a,p,strong,label,h1,h2,span,li,div,button,input
{
    text-decoration: none;
    color: var(--text-color);
    font-size: 14px;
    font-family: var(--standart-font);
    transition: 0.3s ease;
    font-weight: normal;
    margin: 0;
    padding: 0;
}

h2 {
    font-size: 20px;
}

a {cursor: pointer;}
a:focus, a:focus-visible {border: none; outline: none;}
a:hover{color: var(--accent-color7)}
ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

option {
    background-color: var(--dark-color);
    color: var(--text-color);
}
select {
    width: 100%;
    background-color: transparent;
    color: var(--text-color);
    border: 1px white solid;
    border-radius: 0;
    outline: none;
    padding: 5px 10px;
    box-sizing: border-box;
    display: block;
}

input[type="text"], input[type="date"], input[type="password"]
{
	width: 100%;
    background-color: transparent;
    color: var(--text-color);
    border: 1px white solid;
    border-radius: 0;
    outline: none;
    padding: 5px 10px;
    box-sizing: border-box;
    display: block;
}

input[type='date']::-webkit-calendar-picker-indicator {
    margin-left: 1em;
    background-color: white;
    border-radius: 5px;
}

input[type='time']::-webkit-calendar-picker-indicator {
    margin-left: 1em;
    background-color: white;
    border-radius: 5px;
}


header, main, footer{width: 100%;}

footer {
    height: 100px;
    width: 100px;
}

.header__wrap
{
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 2em;
    justify-content: space-between;
    background-color: var(--dark-color);
    width: 100%;
    box-sizing: border-box;
    padding: var(--standart-section);
    height: 4em;
}

.header__left, .header__right {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

.header__nav ul {
    display: flex;
    flex-direction: row;
    gap: 5px;
    align-items: center;
    justify-content: flex-start;
    height: 4em;
    flex-wrap: nowrap;
}

.header__nav-item {
    height: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    border-bottom: 1px transparent solid;
}

.header__nav-item.active
{
    border-bottom-color: var(--accent-color7);
}

.header__logo {
    border: 1px white solid;
    padding: 5px 10px;
}

.header__nav-item a {
    padding: 0 10px;
}

.header__user {
    width: 20px;
    height: 20px;
}

.header__username:hover {
    color: var(--accent-color7);
}

.header__username:hover {
    transition: 0.2s ease;
    cursor: pointer;
}

main {
    display: flex;
    flex-direction: row;
    gap: 80px;
    align-items: flex-start;
    justify-content: space-between;
}

.main__wrap {
    padding: var(--standart-section);
    display: flex;
    flex-direction: row;
    gap: 100px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

.main__header h1 {
    font-size: 25px;
    color: #ffffff38;
    text-align: right;
    margin-bottom: 20px;
}

.main__header {
    width: 100%;
    text-align: right;
}

.auth {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.auth__wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 2em;
    box-sizing: border-box;
    gap: 1em;
    background-color: var(--dark-color);
    border-radius: 5px;
}

.auth__title {
    font-size: 150%;
    width: 20em;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 1em;
}

.auth__input {
    width: 100%;
    font-size: 150%;
    box-sizing: border-box;
    border: 1px white solid;
}

.auth__error-box {
    /*padding: 1em;*/
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    opacity: 0;
    transition: 0.3s ease 0.2s;
}

.auth__submit {
    width: 100%;
    padding: 0.5em;
    background-color: var(--light-color);
    border-radius: 5px;
    font-size: 150%;
    box-sizing: border-box;
    text-align: center;
    cursor: pointer;
    transition: 0.3s;
    outline: none;
    color: var(--text-color);
    border: none;
}

.auth__submit:hover {
    background-color: var(--accent-color);
}

#logout {
    padding: 0.5em;
    border-radius: 5px;
    border: 1px #ffffff2b solid;
    margin-right: 1em;
    cursor: pointer;
}

.auth__label {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.radio input[type="radio"] + .radio-label:empty:before {
    margin-right: 0;
}
.radio input[type="radio"] + .radio-label:before {
    content: '';
    background: #f4f4f4;
    border-radius: 100%;
    border: 1px solid #b4b4b4;
    display: inline-block;
    width: 2em;
    height: 2em;
    position: relative;
    top: -0.2em;
    margin-right: 1em;
    vertical-align: top;
    cursor: pointer;
    text-align: center;
    transition: all 250ms ease;
}

.radio input[type="radio"] {
    position: absolute;
    opacity: 0;
}
input[type='radio'] {
    height: 2em;
    width: 2em;
    margin-top: 0.5em;
    cursor: pointer;
    z-index: 9;
}

.radio {
    margin: 0.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    position: relative;
}

.radio input[type="radio"]:checked + .radio-label.green:before {
    background-color: #839405; 
    box-shadow: inset 0 0 0 4px #f4f4f4;
}
.radio input[type="radio"]:focus + .radio-label.green:before {
    outline: none;
    border-color: #465d1a;
}

.radio input[type="radio"]:checked + .radio-label.yellow:before {
    background-color: #c08a16; 
    box-shadow: inset 0 0 0 4px #f4f4f4;
}
.radio input[type="radio"]:focus + .radio-label.yellow:before {
    outline: none;
    border-color: #696112;
}

.radio input[type="radio"]:checked + .radio-label.red:before {
    background-color: #a11212; 
    box-shadow: inset 0 0 0 4px #f4f4f4;
}
.radio input[type="radio"]:focus + .radio-label.red:before {
    outline: none;
    border-color: #611616;
}


.radio input[type="radio"]:disabled + .radio-label.green:before {
    box-shadow: inset 0 0 0 4px #f4f4f4;
    border-color: #b4b4b4;
    background: #b4b4b4;
}
.radio input[type="radio"] + .radio-label:empty:before {
    margin-right: 0;
}

.radio-name {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -130%);
    font-size: 12px;
}

.arrows
{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: fixed;
    right: 2em;
    bottom: 2em;
    z-index: 999;
}

.arrows__to {  
    display: flex;
    flex-direction: column;
    background: #1f1f1f;
    padding: 0.1em;
    cursor: pointer;
    height: auto;
    width: auto;
    font-size: 22px;
    color: white;
}

.arrows__to:hover{
    background: #141414;
}

.button {
    padding: 10px 20px;
    border: 2px white solid;
    display: block;
    text-align: center;
    max-width: 10em;
    cursor: pointer;
    border-image: var(--half);
    border-image-slice: 1;
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: 0.3s ease;
    color: var(--text-color);
    background-color: transparent;
}

.button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--dark-color2);
    z-index: -1;
    transform: translatex(-100%);
    transition: 0.3s ease;
}

.button:hover::before
{
    transform: translatex(0);
}

.button.button--pink {
    border-image: var(--pink);
    border-image: var(--pink2);
    border-image-slice: 1;
}

.button.button--green {
    border-image: var(--green);
    border-image: var(--green2);
    border-image-slice: 1;
}

.button.button--red {
    border-image: var(--red);
    border-image: var(--red2);
    border-image-slice: 1;
}

.button.button--yellow {
    border-image: var(--yellow);
    border-image: var(--yellow2);
    border-image-slice: 1;
}

.button--save.button--hidden
{
    display: none;
}

.modal.active {
    transform: translate(-50%, -50%);
    z-index: 999;
}
.modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -200vh);
    transition: 0.8s transform ease;
    background-color: var(--dark-color);
    padding: 40px;
    border-radius: 25px;
    display: flex;
    flex-direction: column;
    max-width: 400px;
}

.modal__wrap {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.modal__title {
    display: flex;
    flex-direction: row;
    gap: 60px;
    align-items: center;
    justify-content: space-between;
}

.modal__title h2 {
    font-size: 20px;
}

.modal__wrap > * {
    width: 100%;
}

.modal_backdrop.active
{
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    background: var(--dark-color2);
    width: 100%;
    height: 100vh;
    transition: 0.5s ease;
    z-index: -1;
}

.modal_backdrop.active
{
    opacity: 0.9;
    z-index: 99;
}

.modal__close {
    border-radius: 5px;
    border: 1px white solid;
    padding: 5px 10px;
}

.modal__close span {
    transform: rotate(45deg);
    display: block;
    font-size: 20px;
    line-height: 1;
    transition: 0.3s ease;
    cursor: pointer;
}

.modal__close:hover {
    background-color: var(--standart-color);
}

.modal__choice {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    border-top: 1px white solid;
    border-color: var(--opacity-color);
    padding-top: 10px;
    margin-top: 10px;
}

.spoiler span {
    font-size: 20px;
    transform: rotate(45deg);
    display: block;
}

.spoiler.closed span {
    font-size: 20px;
    transform: rotate(0);
}

.spoiler {
    padding: 10px 20px;
    background-color: var(--dark-color);
    cursor: pointer;
    max-width: 50px;
    box-sizing: border-box;
}

.spoiler:hover {
    background-color: var(--accent-color);
}

.spoilered {
    transition: 0.5s max-height ease, 0.3s opacity ease 0.5s;
    max-height: 0 !important;
    overflow: hidden;
    opacity: 0;
}

body.edit {
    box-shadow: 0px 0px 70px #FFEB3B inset;
}

.button.spoiler {
    color: var(--text-color);
    max-width: 10em;
    padding: 10px 20px;
    cursor: pointer;
}

.bread {
    padding: 10px;
    border: 1px white solid;
    border-color: var(--opacity-color);
    border-radius: 5px;
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.bread ul {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    justify-content: flex-start;
}

.border--greenLight
{
    border-image: var(--greenLight) !important;
    border-image: var(--greenLight2) !important;
    border-image-slice: 1 !important;
}

.border--green
{
    border-image: var(--green) !important;
    border-image: var(--green2) !important;
    border-image-slice: 1 !important;
}

.border--red
{
    border-image: var(--red) !important;
    border-image: var(--red2) !important;
    border-image-slice: 1 !important;
}

.border--yellow
{
    border-image: var(--yellow) !important;
    border-image: var(--yellow2) !important;
    border-image-slice: 1 !important;
}

.border--orange
{
    border-image: var(--orange) !important;
    border-image: var(--orange2) !important;
    border-image-slice: 1 !important;
}



div#love {
    position: fixed;
    bottom: 2em;
    right: 2em;
    z-index: 999999;
    background-color: pink;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 2em;
    border-radius: 5px;
    align-items: center;
    overflow: hidden;
    transition-property: transform;
    transition-duration: 0.8s;
    transition-timing-function: ease;
}

div#love img {
    width: 14em;
    padding-top: 2em;
    padding-bottom: 0em;
    padding-right: 2em;
    padding-left: 2em;
}

span#love-span {
    width: 21em;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    text-align: center;
    color: #4a146a;
    font-weight: bold;
    padding-top: 0em;
    padding-bottom: 2em;
    padding-right: 2em;
    padding-left: 2em;
}

div#love {
    transform: translatey(150%);
}

div#love-wrap {
background: url(./assets/images/.png);
    background-size: 100% auto;
    opacity: 0.2;
}

div#love-wrap2 {
    position: relative;
    width: 100%;
    height: 100%;
}

div#love-wrap {
    background: url(/images/loveback.png);
    background-size: 100% auto;
    opacity: 0.3;
    position: absolute;
    width: 100%;
    height: 30em;
    z-index: -1;
}

.loading__img-wrap {
    position: relative;
    width: 78px;
    height: 78px;
}

.loading__block {
    width: 50px;
    height: 50px;
    border: 14px white solid;
    position: absolute;
    top: 0;
    left: 0;
}

.loading__block.loading__block--slow {
    border-image: var(--green);
    border-image: var(--green2);
    border-image-slice: 1;
    animation: spin 4s linear infinite;
}

.loading__block.loading__block--fast {
    border-image: var(--pink);
    border-image: var(--pink2);
    border-image-slice: 1;
    animation: spin 2s linear infinite;
}

.loading__wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
}

.loading .loading__text {
    color: var(--text-color);
    font-size: 20px;
    padding: 0;
    padding-right: 20px;
    line-height: 1;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loading {
    opacity: 0;
    transition: 0.5s ease;
}

.loading.visible {
    opacity: 1;
}