@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter';
}

:root {
    --theme-bg-color: #F7F8FC;
    --theme-text-color: #1c1c1c;
    --theme-button-color: #FFFFFF;
    --theme-accent-color: #1c1c1c;
    --theme-text-button-color: #ffffff;
    --theme-accent-color-rgb: 28, 28, 28
}


body {
    display: flex;
    background-color: var(--theme-bg-color);
}

main {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100vh;
    padding: 2%;
}

h1 {
    color: var(--theme-text-color);
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 20px;
    user-select: none;
}

h2 {
    color: var(--theme-text-color);
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 20px;
    user-select: none;
}


h3 {
    color: var(--theme-text-color);
    font-size: 20px;
    font-weight: 600;
    user-select: none;
}


h4 {
    color: var(--theme-text-color);
    font-size: 16px;
    font-weight: 500;
    user-select: none;
    line-height: 160.51%;
}

button {
    cursor: pointer;
}


.shadow {
    box-shadow: 0px 4px 4px rgba(50, 50, 71, 0.08), 0px 4px 8px rgba(50, 50, 71, 0.08);
}

/* navigation panel */
.nav {
    width: 300px;
    height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: var(--theme-button-color);
    border-right: 2px solid rgba(28, 28, 28, .1);
}

.nav__section {
    background-color: var(--theme-button-color);
    padding: 20px 0;
}

.section-p {
    font-size: 15px;
    user-select: none;
    font-weight: 600;
    padding: 0 0 2.5px 15px;
    color: var(--theme-text-color);
    opacity: .8;
}

/* info about session */
.nav__session {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background-color: var(--theme-button-color);
    padding-left: 15px;
}

.nav__session > .session-info {
    opacity: .7;
    font-size: 16px;
    background-color: var(--theme-button-color);
    user-select: none;
}

.nav__session > .username {
    font-size: 26px;
    background-color: var(--theme-button-color);
    user-select: none;
}


/* items in navigation */
div.nav__item {
    background-color: var(--theme-button-color);
    display: flex;
    padding: 15px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
}

div.nav__item:hover {
    opacity: .7;
}

div.nav__item > ion-icon {
    width: 20px;
    color: var(--theme-text-color);
    margin-right: 15px;
    opacity: .8;
}

/* text setting */
p.section-set {
    user-select: none;
    font-size: 16px;
    font-weight: 600;
    color: #1c1c1c;
    text-decoration: none;
}


.nav2 {
    width: 300px;
    height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: var(--theme-button-color);
    border-left: 2px solid rgba(28, 28, 28, .1);
    user-select: none;
}

.section__element {
    flex-direction: column;

    background-color: var(--theme-button-color);
    display: flex;
    padding: 10px 15px;
    font-size: 16px;
    font-weight: 500;
    gap: 2px;
}

.section__p {
    font-size: 18px;
    user-select: none;
    font-weight: 600;
    padding: 0 0 5px 12px;
    color: var(--theme-text-color);

    /* border-left: 3px solid rgba(28, 28, 28, .8); */
}




.section__element-p {
    font-size: 14px;
    font-weight: 600;
    color: #1c1c1c;
    opacity: .8;
}

.section__element-p2 {
    font-size: 16px;
    font-weight: 600;
    color: #1c1c1c;
}

.header2-line {
    display: block;
    height: 23px;
    border: 1px solid rgba(0, 0, 0, 0.2);
 }

body::-webkit-scrollbar {
    display: none;
}

main::-webkit-scrollbar {
    display: none;
}

.main__container {
    position: absolute;
    display: flex;
    align-items: center;
    column-gap: 25px;

    color: var(--theme-text-color);
    background-color: var(--theme-button-color);
    border-radius: 5px;

    font-size: 14px;
    font-weight: 500;

    padding: 5px;
    top: 1.5vw;
    right: 2%;
    user-select: none;
}

.main__container > .main__container-element > ion-icon {
    color: var(--theme-text-color);
    width: 20px;
    height: 20px;
    opacity: .7;
}

.main__container-element {
    display: flex;
    align-items: center;
    column-gap: 10px;

    margin: 10px;
}

.hidden {
    display: none!important;
}

input.mistake {
    outline: solid #FF7777 2px!important;
    border: none;
}