html,body{
    height: 100%;
    margin: 0;
}
*{
    box-sizing: border-box;
}


$leftwidth: 250px;
$contentwidth: 700px;


@mixin mobile
{
    @media (min-width: 0) and (max-width: 1000px) {
        @content;
    }
}
@mixin desktop
{
    @media (min-width: 1000px) {
        @content;
    }
}

@mixin light-theme{
    body:not(.dark-theme) &{
        @content;
    }
}
@mixin dark-theme{
    body.dark-theme &{
        @content;
    }
}

body{
    font-family: Cantarell, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, 'Open Sans', 'Helvetica Neue', sans-serif;
    letter-spacing: -0.5px;
    font-weight: 500;
    font-size: 21px;
    &.dark-theme{
        background-color: black;
    }
}


.menu{
    margin-bottom: 10px;
    display: flex;
    flex-direction: row;
    @include dark-theme{
        background-color: rgb(37 37 37);
    }
    @include light-theme{
        box-shadow: 0 0 5px #00000041;
        background-color: white;
    }
    .icon{
        display: block;
        padding-top: 5px;
        margin-left: 20px;
        flex: 0 0 60px;
    }
    .text{
        font-size: 1.3em;
        line-height: 1.8em;
        flex: 1 1 auto;
        @include dark-theme{
            color: black;
        }
        @include light-theme{
            color: black;
        }
    }
    .lang{
        flex: 0 0 auto;
        color: black;
        padding-right: 20px;
        font-size: 0.9em;
        line-height: 2.7em;
   }
}

.main{
    .container{
        display: flex;
        flex-wrap: nowrap;
        margin: auto;
        justify-content: center;
        @include mobile{
            flex-direction: column;
        }
        @include desktop{
            flex-direction: row;
        }
    }
    .sidebar{
        flex: 0 0 $leftwidth;
        @include desktop{
            position: sticky;
            top: 0px;
        }
        height: 100%;
        &:not(.mobile){
            @include mobile{
                display: none;
            }
        }
        &.mobile{
            @include mobile{
                order: 1;
            }
        }
        @include desktop{
            margin: 10px;
            padding: 10px;
            margin-right: 0;
            padding-right: 0;
        }
        @include mobile{
            margin: 10px;
            padding: 10px;
        }
        font-size: 0.8em;
        .title,
        .page{
            display: block;
            text-decoration: none;
        }
        .title{
            font-size: 1.2em;
            @include light-theme{
                color: rgb(0, 0, 0);
            }
            @include dark-theme{
                color: rgb(255, 255, 255);
            }
            cursor: pointer;
            user-select: none;
            /*&:hover{
                @include light-theme{
                    background-color: rgba(0,0,0,0.1);
                }
                @include dark-theme{
                    background-color: rgba(255,255,255,0.1);
                }
            }
            &:active{
                @include light-theme{
                    background-color: rgba(0,0,0,0.2);
                }
                @include dark-theme{
                    background-color: rgba(255,255,255,0.2);
                }
            }*/
        }
        &.indent .page{
            padding-left: 20px;
            line-height: 2em;
        }
        .page{
            cursor: pointer;
            user-select: none;

            @include light-theme{
                color: rgb(72, 72, 72);
            }
            @include dark-theme{
                color: rgb(171, 171, 171);
            }
            &:hover{
                @include light-theme{
                    background-color: rgba(0,0,0,0.1);
                }
                @include dark-theme{
                    background-color: rgba(255,255,255,0.1);
                }
            }
            &:active{
                @include light-theme{
                    background-color: rgba(0,0,0,0.2);
                }
                @include dark-theme{
                    background-color: rgba(255,255,255,0.2);
                }
            }
        }
    }
    .content{
        flex-grow: 1;
        width: calc(100% - 20px);

        @include desktop{
            max-width: $contentwidth;
        }
        &:not(.nows){
            margin-right: auto;
            @include desktop{
                margin: 10px;
                padding: 10px;
                margin-left: 0;
                padding-left: 0;
            }
            @include mobile{
                margin: 10px;
                padding: 10px;
            }
        }
        p{
            margin-top: 0;
            margin-bottom: 0.5em;
            font-weight: 400;
            text-align: justify;
            font-size: 0.9em;
            @include light-theme{
                color: rgb(72, 72, 72);
            }
            @include dark-theme{
                color: rgb(205 205 205);
            }
        }
        .contenttitle{
            margin: 0;
            font-weight: 500;
            @include desktop(){
                font-size: 2em;
            }
            @include mobile{
                padding-left: 10px;
                margin-top: 20px;
                margin-bottom: 20px;
                text-align: center;
                font-size: 1.5em;
            }
            @include dark-theme{
                color: white;
            }
            @include light-theme{
                color: black;
            }
        }
        .sectiontitle{
            font-size: 1.2em;
            font-weight: 600;
            &:focus{
                outline: dotted 1px #0000002e;
                outline-offset: 0px;
            }
            @include dark-theme{
                color: white;
            }
            @include light-theme{
                color: black;
            }
        }
        p + .sectiontitle  {
            margin-top: 1em;
        }
    }
}