html {
    height: 100%;
}

body {
    margin: 0;
    display: flex;
    flex-flow: column;
    height: 100%;
}

.hidden {
    display: none;
}

#header {
    padding: 20px;
}

#headerpextra {
    padding-bottom: 10px;
}

#lang-button, #theme-button {
    text-decoration: none;
}

pre {
    white-space: pre-wrap;
}

.clearboth {
    clear: both;
}




/*
 * Title and extra options
 */
#title {
    font-family: cursive;
    font-size: 3rem;
    padding: 0;
    margin: 0;
    text-align: right;
}

#extra-options {
    list-style-type: none;
    padding: 0;
    margin-top: auto;
    margin-bottom: auto;
    margin-left: 0;
    margin-right: auto;
}

#extra-options > li {
    padding: 0;
    margin: 0;
    display: inline-block;
    vertical-align: top;
}

#extra-options > li img {
    display: inline-block;
    height: 3rem;
}

#extra-options > li img.hidden {
    display: none;
}


#theme-button {
    height: 3rem;
    width: 3rem;
}


.breadcr-backchar {
    height: 1rem;
}


/*
 * Menubar
 */
#menubar {
    font-size: 1.5rem;
    list-style-type: none;
    margin: 0;
    padding: 0;
    text-align: left;
}

#menubar > li {
    padding: 0;
    margin: 0;
    margin-right: 1rem;
    display: inline-block;
}

#menubar a {
    font-family: cursive;
}

#menubar li:last-child {
    margin: 0;
}




/*
 * Menubar buttons
 */
a.menubtn {
    text-decoration: none;
    display: inline-block;
    transition: transform 0.5s ease;
    font-family: cursive;
}

a.menubtn:hover, a.menubtn:active {
    transform: scale(1.3);
    z-order: 20;
}




/* Breadcrumb bar */
#breadcrumb-bar {
    font-family: monospace;
    font-size: 1.2rem;
    margin-bottom: 10px;
    padding: 20px;
}




/*
 * Contents
 */
.cont-coll {
    margin-top: 40px;
    margin-bottom: 40px;
    margin-right: 20px;
    margin-left: 20px;
}

.content {
    padding: 20px;
    font-size: 1rem;
}

.content > div[class^="cont-lang-"]/*:not(:first-of-type)*/ {
    margin-bottom: 20px;
}

.content .lang-label {
    font-size: 1.2rem;
    font-family: sans-serif;
    padding: 0;
    margin: 0;
    line-height: 0.7rem;
}

.content .content-title {
    font-size: 2rem;
    font-family: sans-serif;
    padding: 0;
    margin: 0;
}



.content > [class^="cont-lang-"] > :nth-child(3) {
    margin: 0;
    margin-top: 20px;
    margin-bottom: 20px;
}

.content > [class^="cont-lang-"] > :last-child {
    margin: 0;
}

.content > [class^="cont-lang-"] > p,
.content > [class^="cont-lang-"] > ul,
.content > [class^="cont-lang-"] > ol,
.content > [class^="cont-lang-"] > pre,
.content > [class^="cont-lang-"] > div {
    margin: 0;
    margin-bottom: 20px;
}



.cont-seplang {
    margin-top: 40px;
    margin-bottom: 40px;
    height: 1px;
}




/*
 * Footer
 */
#footer {
    font-family: cursive;
    text-align: center;
    font-size: 1.2rem;
    flex: 1;
}

#footer-container {
    padding: 20px;
}

#footer-container > a {
    font-family: cursive;
}










/*
 * Settings based on viewport size (Default)
 */
@media screen and (min-width: 800px) {
    /*
     * Title and extra options
     */
    #headerpextra {
        display: flex;
        flex-flow: row-reverse;
    }

    #extra-options > li {
        display: inline-block;
    }

    #theme-button {
        display: inline-block;
        margin-left: 10px;
    }

    /*
     * Breadcrumb bar
     */
    #breadcrumb-bar-back {
        float: left;
    }

    #breadcrumb-bar-path {
        float: right;
    }
}










/*
 * Settings based on viewport size (middle 1)
 */
@media screen and (min-width: 500px) and (max-width: 800px) {
    /*
     * Title and extra options
     */
    #headerpextra {
        display: block;
    }

    #extra-options {
        margin-top: 10px;
    }

    #extra-options > li {
        display: block;
    }

    #theme-button {
        display: block;
        margin-top: 10px;
        height: 3rem;
        width: 3rem;
    }

    #title {
        display: block;
    }

    #menubar {
        display: block;
    }

    #extra-options {
        display: block;
    }

    #extra-options > li {
        display: block;
    }

    #theme-button {
        display: block;
        margin-top: 10px;
    }

    /*
     * Breadcrumb bar
     */
    #breadcrumb-bar-back {
        float: left;
    }

    #breadcrumb-bar-path {
        float: right;
    }
}










/*
 * Settings based on viewport size (middle 2)
 */
@media screen and (min-width: 300px) and (max-width: 500px) {
    body {
        overflow-wrap: anywhere;
    }

    #headerpextra {
        display: block;
    }

    #extra-options {
        margin-top: 10px;
    }

    #extra-options > li {
        display: block;
    }

    #title {
        display: block;
    }

    #menubar {
        display: block;
    }

    #extra-options {
        display: block;
    }

    #extra-options > li {
        display: block;
    }


    #theme-button {
        display: block;
        margin-top: 10px;
    }

    /*
     * Breadcrumb bar
     */
    #breadcrumb-bar {
        text-align: left;
    }

    #breadcrumb-bar-back {
        display: block;
    }

    #breadcrumb-bar-path {
        display: block;
    }
}




/*
 * Settings based on viewport size (small)
 */
@media screen and (max-width: 300px) {
    body {
        word-break: break-all;
    }


    /*
     * Title and extra options
     */
    #title {
        display: block;
    }

    #menubar {
        display: block;
    }

    #extra-options {
        display: block;
    }

    #extra-options > li {
        display: block;
    }

    #theme-button {
        display: block;
        margin-top: 10px;
    }

    /*
     * Breadcrumb bar
     */
    #breadcrumb-bar {
        text-align: left;
    }

    #breadcrumb-bar-back {
        display: block;
    }

    #breadcrumb-bar-path {
        display: block;
    }
}