body {
    width: calc(100vw - 20px);
}
#menuchapitre{
display: grid;
grid-auto-columns:  1fr;
grid: auto-flow /  1fr 1fr;
}
/* LATIN MODERN SANS */
@font-face {
    font-family: 'Latin Modern Sans';
    src: url('fonts/lmsans10-regular-webfont.eot');
    src: url('fonts/lmsans10-regular-webfont.eot?#iefix') format('embedded-opentype'),
        url('fonts/lmsans10-regular-webfont.svg#latin_modern_sans10_regular') format('svg'),
        url('fonts/lmsans10-regular-webfont.woff') format('woff'),
        url('fonts/lmsans10-regular-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    text-rendering: geometricPrecision;
    opacity: 0.999;
    -webkit-text-stroke: 0.5px #333;
}

@font-face {
    font-family: 'Latin Modern Sans';
    src: url('fonts/lmsans10-oblique-webfont.eot');
    src: url('fonts/lmsans10-oblique-webfont.eot?#iefix') format('embedded-opentype'),
        url('fonts/lmsans10-oblique-webfont.svg#latin_modern_sans10_oblique') format('svg'),
        url('fonts/lmsans10-oblique-webfont.woff') format('woff'),
        url('fonts/lmsans10-oblique-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: oblique;
    text-rendering: geometricPrecision;
    opacity: 0.999;
    -webkit-text-stroke: 0.5px #333;
}

@font-face {
    font-family: 'Latin Modern Sans';
    src: url('fonts/lmsans10-bold-webfont.eot');
    src: url('fonts/lmsans10-bold-webfont.eot?#iefix') format('embedded-opentype'),
        url('fonts/lmsans10-bold-webfont.svg#latin_modern_sans10_bold') format('svg'),
        url('fonts/lmsans10-bold-webfont.woff') format('woff'),
        url('fonts/lmsans10-bold-webfont.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    text-rendering: geometricPrecision;
    opacity: 0.999;
    -webkit-text-stroke: 0.5px #333;
}

@font-face {
    font-family: 'Latin Modern Sans';
    src: url('fonts/lmsans10-boldoblique-webfont.eot');
    src: url('fonts/lmsans10-boldoblique-webfont.eot?#iefix') format('embedded-opentype'),
        url('fonts/lmsans10-boldoblique-webfont.svg#latin_modern_sans10BdOb') format('svg'),
        url('fonts/lmsans10-boldoblique-webfont.woff') format('woff'),
        url('fonts/lmsans10-boldoblique-webfont.ttf') format('truetype');
    font-weight: bold;
    font-style: oblique;
    text-rendering: geometricPrecision;
    opacity: 0.999;
    -webkit-text-stroke: 0.5px #333;
}

/* STRUCTURE GENERALE */
body {
    text-rendering: geometricPrecision;
    background-color: white;
    font-size: 1.5em;
    font-family: 'Latin Modern Sans', Helvetica, sans-serif;
    margin: 0;
    margin-bottom: 120px;
    margin-top: 80px;
}

h1 {
    text-align: center;
    padding: 20px;
    border: solid 1px #A8213D;
    font-size: 1.5em;
    color: #A8213D;
}


h1.quizz {
    text-align: center;
    padding: 20px;
    border: solid 1px #A8213D;
    color: white;
    background-color: #A8213D;
    font-size: 1.5em;

}

ul {
    margin: 0;
}

.fraction {
    margin-bottom: 12px;
}

table {
    border-collapse: collapse;
    width: 100%;
  table-layout: fixed;
}

td {
    border: solid 1px black;
    padding: 2px 10px;
    width: 50%;
    text-align: center;
}

.noborder td {
    border: none;
}

img {
    max-width: 96%;
    width: 96%;
    margin: 2%;
    vertical-align: middle;
    border: 0;
}

.diago {
    min-width: 8em;
    width: 8em;
    height: 3em;
    position: relative;
    padding: 10px;
    margin: 10px;
    background: url(imgs/diago.jpg);
    background-size: 100% 100%;
}

.diagl {
    position: absolute;
    padding: 0px;
    bottom: 0;
    left: 10px;
}

.diagr {
    position: absolute;
    padding: 0px;
    top: 0;
    right: 10px;
}

/* .cache {
    cursor: pointer;
    cursor: hand;
}
 */
.hide {
    display: none;
    background-color: #ddd;
    color: #666;
    cursor: pointer;
    cursor: hand;
    padding: 0em 0.4em;
}

.show {
    cursor: pointer;
    cursor: hand;
}

.hideimg {
    display: none;
    background-color: #ddd;
    cursor: pointer;
    cursor: hand;
}

.showimg {
    cursor: pointer;
    cursor: hand;
}

.hideimg img {
    -webkit-filter: brightness(86.5%);
    filter: brightness(86.5%);
}

.nocut {
    white-space: nowrap;
}

#menubar {
    transition-property: top, opacity;
    transition-duration: 0.2s;
    min-width: 756px;
    font-size: 20px;
    width: 100%;
    margin: 0px;
    padding: 0px;
    height: 50px;
    background: #A8213D;
    border: solid 1px #A8213D;
    position: fixed;
    top: 0px;
    opacity: 1;
    z-index: 999;

}


#menubarstatic {
    /* min-width: 756px;*/
    min-width: 100%;
    font-size: 20px;
    width: 100%;
    margin: 0px;
    padding: 0px;
    height: 50px;
    background: #A8213D;
    border: solid 1px #A8213D;
    position: fixed;
    top: 0px;
    z-index: 999;

    opacity: 1;
}

.niveaux select {
    background: transparent;
    /*  width: 228px;*/
    width: 100%;
    padding: 5px;
    font-size: 20px;
    border: 0;
    border-radius: 0;
    height: 50px;

    color: white;
    -moz-appearance: none;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.niveaux {
    display: inline-block;
    width: 130px;
    height: 50px;
    overflow: hidden;
    background: url(../imgs/down_arrow_select.png) no-repeat right transparent;
}

.chapitres select {
    background: transparent;
    /*width: 478px;*/
    width: 100%;
    padding: 5px;
    font-size: 20px;
    border: 0;
    border-radius: 0;
    height: 50px;
    color: white;
    -moz-appearance: none;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.chapitres {
    display: inline-block;
    width: 350px;
    height: 50px;
    overflow: hidden;
    background: url(../imgs/down_arrow_select.png) no-repeat right transparent;
}

.langues option,
.niveaux option,
.chapitres option {
    color: white;
    background: #A8213D;
}


#contenu {
    margin-left: 30px;
    margin-right: 30px;
    position: static;
}

/* STRUCTURES PERSOS */
.tsection {
    color: #A8213D;
    border-bottom: solid 1px #A8213D;
    font-weight: bold;
    font-size: 120%;
}

.nbsection {
    display: inline-block;
    color: white;
    border-left: solid #A8213D 1px;
    border-top: solid #A8213D 1px;
    border-right: solid #A8213D 1px;
    background-color: #A8213D;
    min-width: 1.8em;
    padding: 0.3em;
    text-align: center;
    margin-right: 20px;
    font-weight: normal;
    margin-top: 1.5em;
}

.tsubsection {
    margin-left: 1em;
    color: #007D12;
    border-bottom: solid 1px #007D12;
    font-weight: bold;
}

/*.nbsubsection {
    padding-left: 0.4em;
    display: inline-block;
    color: #007D12;
    border-left: solid #007D12 1px;
    border-top: solid #007D12 1px;
    border-right: solid #007D12 1px;
    min-width: 1.8em;
    padding: 0.3em;
    text-align: center;
    margin-right: 20px;
    font-weight: normal;
    margin-top: 1.25em;
}
*/

.nbsubsection {
    padding-left: 0.4em;
    display: inline-block;
    color: white;
    background-color: #007D12;
    border-left: solid #007D12 1px;
    border-top: solid #007D12 1px;
    border-right: solid #007D12 1px;
    min-width: 1.8em;
    padding: 0.3em;
    text-align: center;
    margin-right: 20px;
    font-weight: normal;
    margin-top: 1.25em;
}

.tsubsubsection {
    color: #A8213D;
    border-bottom: solid 1px #A8213D;
    font-style: italic;
}

.nbsubsubsection {
    display: inline-block;
    color: #A8213D;
    margin-left: 1px;
    min-width: 1.8em;
    padding: 0.3em;
    text-align: center;
    margin-right: 21px;
    font-weight: normal;
    margin-top: 1em;
}

.bloc {
    margin-top: 1em;
}

.nombloc {
    font-weight: bold;
}

div.vertical {
    position: absolute;
    width: 5em;
    margin-left: -1.6em;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

th.vertical {
    width: 2em;
    height: 5em;
    line-height: 1em;
    text-align: left;
    padding-bottom: 1em;
}

th {
    font-weight: normal;
}

#sombre {
    display: none;
    background-color: black;
    bottom: 0;
    height: 100%;
    width: 100%;
    position: fixed;
    top: 50px;
    z-index: 998;
    opacity: 0.9;
    filter: alpha(opacity=90);
}

#tabcomp {
    display: none;
    width: 80%;
    background-color: white;
    border: solid 1px black;
    margin: 8%;
    padding: 2%;
    position: fixed;
    top: 0;
    z-index: 999;
    max-height: 100%;
    overflow: auto;
}

.touchecalc {
    display: inline-block;
    width: 2.5em;
    font-family: System, sans-serif;
    border-radius: 4px;
    border: solid 1px black;
    background-color: #CCCCCC;
    text-align: center;
}

.fonctioncalc {
    display: inline-block;
    font-family: System, sans-serif;
    text-align: center;
}

.ecrancalc {
    display: block;
    margin: 0.3em;
    width: 8em;
    font-family: System, sans-serif;
    border: solid 1px black;
    padding: 0.4em;
    background-color: #badbba;
}

.ligne1ecran {
    width: 100%;
    text-align: left;
}

.ligne2ecran {
    width: 100%;
    text-align: right;
}

.calculs td {
    padding: 0px;
}

/* COULEURS DES BLOCS */
.bR {
    padding-left: 0.4em;
    padding-bottom: 0.2em;
    border-bottom: solid 0.1em white;
    border-left: solid 0.2em white;
    border-color: #CC0000;
}

.R {
    color: #CC0000;
}

/* ROUGE */
.bV {
    padding-left: 0.4em;
    padding-bottom: 0.2em;
    border-bottom: solid 0.1em white;
    border-left: solid 0.2em white;
    border-color: #007D12;
}

.V {
    color: #007D12;
}

/* VERT */
.bB {
    padding-left: 0.4em;
    padding-bottom: 0.2em;
    border-bottom: solid 0.1em white;
    border-left: solid 0.2em white;
    border-color: #034D73;
}

.B {
    color: #034D73;
}

/* BLEU */
.bM {
    padding-left: 0.4em;
    padding-bottom: 0.2em;
    border-bottom: solid 0.1em white;
    border-left: solid 0.2em white;
    border-color: #A8213D;
}

.M {
    color: #A8213D;
}

/* MAUVE */
.bO {
    padding-left: 0.4em;
    padding-bottom: 0.2em;
    border-bottom: solid 0.1em white;
    border-left: solid 0.2em white;
    border-color: #FF6600;
}

.O {
    color: #FF6600;
}

/* ORANGE */
.bN {
    padding-left: 0.4em;
    padding-bottom: 0.2em;
    border-bottom: solid 0.1em white;
    border-left: solid 0.2em white;
    border-color: #000000;
}

.N {
    color: #000000;
}

/* NOIR */
.bW {
    border-color: #FFFFFF;
}

.W {
    color: #FFFFFF;
}

/* NOIR */

@font-face {
    font-family: 'Latin Modern Math';
    src: url('fonts/lmroman-regular.otf');
    font-weight: normal;
    font-style: normal;
}

math {
    font-family: 'Latin Modern Math', MathJax_Main, STIXGeneral, STIXSizeOneSym, 'DejaVu Sans', 'DejaVu Serif', Cambria, 'Cambria Math', 'Lucida Sans Unicode', 'Arial Unicode MS', 'Lucida Grande', OpenSymbol, 'Standard Symbols L', Times, serif;
}

.textsf {
    font-family: Helvetica, sans-serif;
}

mtext {
    font-family: Helvetica, sans-serif;
}

.mtext {
    font-family: Helvetica, sans-serif;
}

mo {
    font-size: 1em;
}

mi {
    font-size: 1em;
    font-style: italic;
}

mn {
    font-size: 1em;
    font-family: 'Latin Modern Sans', Helvetica, sans-serif;
}

.MJXc-mn {
    font-family: 'Latin Modern Sans', Helvetica, sans-serif !important;
}

.mn {
    font-family: 'Latin Modern Sans', Helvetica, sans-serif !important;
}

td.quizzq {
    background-color: #F4F6F6;
}

.boutonquizz {
    text-align: center;
    padding: 20px;
    border: solid 1px #A8213D;
    color: white;
    background-color: #A8213D;
    text-decoration: none;
    font-size: 1em;
    font-family: 'Latin Modern Sans', Helvetica, sans-serif;
    padding: 11px 18px;
    display: inline-block;
    margin: 2px;
    cursor: pointer;
}

.boutonquizz:active {
    position: relative;
    top: 1px;
}

.grise {
    transition-property: opacity, max-height, overflow;
    transition-duration: 0.2s;
    opacity: 1;
    overflow: hidden;
    max-height: 4000;

}

.invisible {
    display: none;
}

.boutonmenu:hover {
    transform: rotate(10deg);
}

.boutonmenu,
.boutonlang {
    transition-property: transform;
    transition-duration: 0.2s;
    display: inline-block;
    float:right;
    vertical-align: middle;
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 26px;
    line-height: 14px;
    width: 50px;
    text-align: center;
    color: white;
    text-transform: none;
    text-decoration: none;
    cursor: pointer;


    user-select: none;
}


#msg {
    margin-left: 30px;
    margin-right: 30px;
}

img,
table,
td,
blockquote,
code,
pre,
textarea,
input,
iframe,
object,
embed,
video,
div {
    max-width: 100%;

}

.quizzfaux,
.quizzvrai,
.quizzq {
    transition-property: background-color;
    transition-duration: 0.1s;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -moz-user-select: -moz-none;
    -ms-user-select: none;
    user-select: none;
}

.objectif {
    transition-property: opacity, max-height, overflow;
    transition-duration: 0.2s;
    font-style: italic;
    color: #7d7d7d;
    font-size: 16px;
}

.grise {
    cursor: pointer;
}

@media (max-width: 840px) {
    * {
        box-sizing: border-box;
    }

    #menubar {
        /* min-width: 756px;*/
        min-width: 100%;

        font-size: 20px;
        width: 100%;
        margin: 0px;
        padding: 0px;
        height: 50px;
        background: #A8213D;
        border: solid 1px #A8213D;
        position: fixed;
        top: 0px;
        z-index: 999;

        opacity: 1;
    }

    .boutonmenu {
        display: none;
    }

    .chapitres {
        width: calc(100% - 210px);

    }




}

#lang {
    transition-property: top, opacity;
    transition-duration: 0.2s;
    width: 50px;
    display: block;
    position: fixed;
    top: calc(100% - 50px);
    background: #A8213D;
    border: solid 1px #A8213D;
    border-radius: 0px 10px 0px 0px;
}


#lang:hover {

    top: calc(100% - 150px);

}

.alien {
    -moz-box-shadow: inset 0px 1px 0px 0px #A8213D;
    -webkit-box-shadow: inset 0px 1px 0px 0px #A8213D;
    box-shadow: inset 0px 1px 0px 0px #A8213D;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #fc8d83), color-stop(1, #e4685d));
    background: -moz-linear-gradient(top, #fc8d83 5%, #A8213D 100%);
    background: -webkit-linear-gradient(top, #fc8d83 5%, #A8213D 100%);
    background: -o-linear-gradient(top, #fc8d83 5%, #A8213D 100%);
    background: -ms-linear-gradient(top, #fc8d83 5%, #A8213D 100%);
    background: linear-gradient(to bottom, #fc8d83 5%, #A8213D 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fc8d83', endColorstr='#A8213D', GradientType=0);
    background-color: #A8213D;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    border: 1px solid #A8213D;
    display: inline-block;
    cursor: pointer;
    color: #ffffff;

    font-size: 15px;
    font-weight: bold;
    padding: 10px 24px;
    text-decoration: none;
    text-shadow: 0px 1px 0px #A8213D;
}

.alien:hover {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #e4685d), color-stop(1, #fc8d83));
    background: -moz-linear-gradient(top, #e4685d 5%, #fc8d83 100%);
    background: -webkit-linear-gradient(top, #e4685d 5%, #fc8d83 100%);
    background: -o-linear-gradient(top, #e4685d 5%, #fc8d83 100%);
    background: -ms-linear-gradient(top, #e4685d 5%, #fc8d83 100%);
    background: linear-gradient(to bottom, #e4685d 5%, #fc8d83 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e4685d', endColorstr='#fc8d83', GradientType=0);
    background-color: #e4685d;
}

.alien:active {
    position: relative;
    top: 1px;
}

.mjx-math {
    white-space: pre-line;

}

.incline {
    text-align: center;
    writing-mode: vertical-lr;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: vertical-lr;
}

@media (max-width: 1200px) {
    body {
        font-size: 18px;
    }
}

@media (max-width: 800px) {
    body {
        font-size: 14px;
    }
       #menuchapitre{
	display: grid;
	grid-auto-columns:  1fr;
	grid: auto-flow /  1fr;
	}
}

@media (max-width: 600px) {
    body {
        font-size: 12px;
    }
    #menuchapitre{
	display: grid;
	grid-auto-columns:  1fr;
	grid: auto-flow /  1fr;
	}
}


@media (max-width: 400px) {
    body {
        font-size: 10px;
    }
}

* {
    outline: none;
}


img {
    -webkit-user-select: none;
    /* Chrome all / Safari all */
    -moz-user-select: none;
    /* Firefox all */
    -ms-user-select: none;
    /* IE 10+ */
    user-select: none;
    /* Likely future */
    touch-action: none;
    -webkit-tap-highlight-color: transparent;
    -moz-tap-highlight-color: transparent;
    -o-tap-highlight-color: transparent;
    tap-highlight-color: transparent;


    ::-moz-selection {
        background: transparent;
    }

    ::selection {
        background: transparent;
    }

    a {
        -webkit-user-select: none;
        /* Chrome all / Safari all */
        -moz-user-select: none;
        /* Firefox all */
        -ms-user-select: none;
        /* IE 10+ */
        user-select: none;
        /* Likely future */
        touch-action: none;
        -webkit-tap-highlight-color: transparent;
        -moz-tap-highlight-color: transparent;
        -o-tap-highlight-color: transparent;
        tap-highlight-color: transparent;
    }
