body {
    background: #f5f5f5;
    color: #4d4d4d;
}

header {
    background: #444444;
    color: #f5f5f5;
    z-index: 5;
    opacity: 0.9;
}

footer {
    background: #444444;
    color: #f5f5f5;
    list-style: none;
}

footer a {
    color: #f5f5f5;
    text-decoration: none;
}

aside {
    background-color: #ebebeb;
    padding: 1rem;
    z-index: 5;
}

a {
    text-decoration: #fff;
}

h1,
h1 a,
h2,
h2 a,
h2 a:hover,
h3,
h3 a,
h3 a:hover,
h4,
h5,
h6 {
    font-weight: 600;
    color: #1c76b3;
}

a:hover h2.card-title a {
    color: #fff;
}

h1,
.h1-like {
    font-size: 3.2rem;
    margin: 0 0 3rem 0;
}

h2,
h3,
h4,
h5,
h6 {
    margin: 2rem 0 1rem 0;
}

h2,
.h2-like {
    font-size: 2.8rem;
}

h3,
.h3-like {
    font-size: 2.4rem;
}

h4,
.h4-like {
    font-size: 2rem;
}

h5,
.h5-like {
    font-size: 1.8rem;
}

h6,
.h6-like {
    font-size: 1.6rem;
}

.module h2 {
    margin: 0 0 1rem 0;
}

.module p.h2-like,
.module p.h4-like {
    color: #f5f5f5;
}

.table th {
    padding: 0.3rem 0.6rem;
    min-width: 2rem;
    vertical-align: top;
    border: 1px #acb3c2 solid;
    text-align: center;
    cursor: default;
    background-color: lightgray;
}

td > p {
    text-align: left;
}

td.left {
    text-align: left;
    /*color: #fff;*/
}

p {
    padding: 0.5rem 0;
}

td a {
    text-align: left;
    color: #f5f5f5;
}

td ul li a,
td p a {
    text-align: left;
    color: #000;
}

dt {
    color: #1c76b3;
    font-size: 1.2em;
    margin: 1rem 0;
    font-style: italic;
}

dd {
    background-color: #dde7f0;
    margin: 1rem;
    padding: 0.5rem;
}

blockquote {
    background-color: lightgray;
    font-style: italic;
    padding-top: 3rem;
    padding-bottom: 3rem;
    width: 85%;
}

img {
    margin: 1rem 0 2rem 0;
}

#navigation {
    color: #f5f5f5;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

#navigation a {
    color: #f5f5f5;
    text-decoration: none;
}

#navigation a:hover {
    color: #1c76b3;
    text-decoration: none;
}

#scroll_to_top0 {
    position: relative;
    text-align: center;
    width: 50px;
    top: -80px;
    left: 100%;
    background-color: #1c76b3;
    padding: 0 10px 10px 10px;
    vertical-align: inherit;
}

#scroll_to_top0 a:hover {
    color: #fff;
}

a.external {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVElEQVR42n3PgQkAIAhEUXdqJ3dqJ3e6IoTPUSQcgj4EQ5IlUiLE0Jil3PECXhcHGBhZ8kg4hwxAu3MZeCGeyFnAXp4hqNQPnt7QL0nADpD6wHccLvnAKksq8iiaAAAAAElFTkSuQmCC");
    background-position: right center;
    background-repeat: no-repeat;
    border-bottom: 1px dotted #1c76b3;
    color: #1c76b3;
    padding-right: 13px;
    text-decoration: none;
}

.navig {
    color: #1c76b3;
    font-weight: 900;
    margin-bottom: 3rem;
    margin-top: 3rem;
}

.navig a {
    border-top: 1px solid #1c76b3;
    border-top-width: 1px;
    border-bottom: 1px solid #1c76b3;
    padding-top: 2px;
    padding-bottom: 4px;
    font-weight: normal;
    text-decoration: none;
}

.module {
    border: 1px solid #c7c7c7 !important;
    padding: 0;
    margin: 0.5rem 0;
    overflow: hidden !important;
    text-align: center;
    background-color: #fff;
}

.toc {
    border: 5px solid #1c76b3;
    padding: 5px;
    max-width: 300px;
}
.toc ul {
    list-style: none;
}

.toc ul {
    padding-left: 5px;
}

.toc li {
    margin: 5px 0;
}

article,
.box-light {
    background: #f5f5f5;
    color: #4a4949;
}

.box-extra-light {
    background: #fcfcfc;
    color: #4a4949;
}

.start {
    float: left;
}
.end {
    float: right;
}

div[class^="bg-"] h2,
[class^="bg-"] {
    color: #f5f5f5;
}
.bleu,
.qualite {
    color: #1c76b3;
}

.rouge,
.organisation {
    color: #e43030;
}

.vert,
.logistique {
    color: #329f81;
}

.orange {
    color: #e79d13;
}

.bg-blanc {
    background-color: #fff;
}

.bg-gris-light {
    background-color: lightgray;
}

.bg-bleu-light,
.bg-transverse {
    background-color: #6babf8;
}

.bg-bleu-extra-light,
.bg-qualite-extra-light {
    background-color: #cce5fa;
}

.bg-orange-light {
    background-color: #f8e8cb;
}

.bg-rouge-light,
.bg-organisation-light {
    background-color: #f0bfbf;
}

.bg-vert-light,
.bg-logistique-light {
    background-color: #6ee36e;
}

.bg-violet-light,
.bg-mtd-light {
    background-color: #f2dff8;
}

.bg-jaune {
    background-color: #c4cc6e;
}

.bg-jaune-dark {
    background-color: #c9df0e;
}

.bg-gris {
    background-color: gray;
}

.bg-bleu,
.bg-qualite {
    background-color: #1c76b3;
    color: #f5f5f5;
}

.bg-orange {
    background-color: #e79d13;
}

.bg-rouge,
.bg-organisation {
    background-color: #e43030;
    color: #f5f5f5;
}

.bg-vert,
.bg-logistique {
    background-color: #329f81;
    color: #f5f5f5;
}

.bg-violet,
.bg-mtd {
    background-color: #673a76;
    color: #f5f5f5;
}

.bg-gris-dark {
    background-color: rgb(90, 90, 90);
}

.bg- {
    background-color: #425670;
}

.bg-bleu-dark,
.bg-osc {
    background-color: #132987;
    color: #f5f5f5;
}

.bg-vert-dark,
.bg-logistique-dark {
    background-color: #137387;
}

.bg-orange-dark {
    background-color: #ff8c00;
}

.bg-rouge-dark,
.bg-organisation-dark {
    background-color: #851623;
}

.bg-violet-dark,
.bg-mtd-dark {
    background-color: #75226b;
    color: #f5f5f5;
}

.bg-vert a:hover::after,
.bg-logistique a:hover::after {
    background-color: #329f81;
}

.bg-gris-dark a:hover::after {
    background-color: rgb(90, 90, 90);
}

.bg-vert-dark a:hover::after,
.bg-logistique-dark a:hover::after {
    background-color: #137387;
}

.bg-orange-dark a:hover::after {
    background-color: #ff8c00;
}

.bg-rouge-dark a:hover::after,
.bg-organisation-dark a:hover::after {
    background-color: #851623;
}

.bg-violet-dark a:hover::after,
.bg-mtd-dark a:hover::after {
    background-color: #75226b;
}

.card-banner {
    display: block;
    height: 9.5rem;
    margin-top: 3rem;
    margin-bottom: 4rem;
    text-align: center;
    color: #fff;
}

.card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1rem;
}

.card-content p,
.card-content h2 a {
    color: #686866;
}

.card-item {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 2rem;
    text-align: center;
    color: #686866;
    border-radius: 10px;
}

.card-item a {
    position: relative;
    z-index: 0;
    display: flex;
    flex: 3;
    flex-direction: column;
    color: #232323;
    transition: none;
    text-decoration: none;
}

.card-item a::after {
    content: "";
    position: absolute;
    background: #fff;
    top: 150px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    transform: translateY(0);
    transition: 0.1s transform;
    background-repeat: no-repeat;
}

.card-btn {
    padding-bottom: 2rem;
}

.pastille {
    display: inline-block;
    line-height: 1.6rem;
    height: 1.6rem;
    margin: 0.2rem;
    font-weight: 700;
    padding: 0 0.5rem;
    text-align: center;
    width: 20px;
    color: #fff;
    border-radius: 3px;
}
.pastille-blue {
    background: #1c76b3;
}
.pastille-red {
    background: #e74c3c;
}
.pastille-green {
    background: #27ae60;
}
.pastille-orange {
    background: #ffb03b;
}
.pastille-jaune {
    background: #fffb13;
}

.button-base,
a.button-base {
    color: #767676;
    border-color: #767676;
    border: solid 1px;
    padding: 10px;
    border-radius: 5px;
}

.site-logo {
    font-size: larger;
}

.back-top {
    position: absolute;
}
.back-top .icon-to-top {
    height: 16px;
    vertical-align: -0.2rem;
    width: 3rem;
}
.back-top[class^="button"] {
    margin-top: 0;
    padding-left: 0.5em;
}
.back-top:focus,
.back-top:hover {
    text-decoration: none;
}

/* switch */
.collapse {
    display: none;
}

.show {
    display: block;
}

.solu {
    background-color: lightcoral;
}

/* Pour faire des équations */
.formule {
    border-width: 1px 1px 1px 1px;
    border-style: solid;
    border-color: #1c76b3;
    padding: 0.5em;
    margin: 1.5em 0.5em;
    display: inline-block;
}

.radical {
    position: relative;
    font-size: 1.5em;
    font-weight: normal;
}
.radicand {
    margin-left: -2px;
    font-weight: 100;
    border-top: 1px black solid;
}

.radical1 {
    position: relative;
    font-size: 1.5em;
    font-weight: 200;
    vertical-align: middle;
}
.radicand1 {
    padding-left: 1rem;
    margin-left: -15px;
    margin-top: 13px;
    border-top: 2px black solid;
}

.radical2 {
    position: relative;
    font-size: 2.4em;
    font-weight: 100;
    vertical-align: middle;
}
.radicand2 {
    padding-left: 0.5rem;
    margin-left: -1.6rem;
    border-top: 2px black solid;
}

.radical3 {
    position: relative;
    font-size: 2em;
    font-weight: 200;
    vertical-align: middle;
}
.radicand3 {
    padding-left: 1rem;
    margin-top: -2px;
    margin-left: 0px;
    border-top: 1px black solid;
}

.radical4 {
    position: relative;
    font-size: 4em;
    font-weight: 100;
    vertical-align: middle;
}
.radicand4 {
    padding-left: 1rem;
    margin-left: -14px;
    margin-top: 15px;
    border-top: 2px black solid;
}

sup {
    font-size: 0.7em;
}

.barre {
    border-top: 1px black solid;
}

.moyenne {
    border-top: 1px black solid;
}

.fraction {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
}

.fraction > span {
    display: block;
    padding-top: 0.15em;
}
.fraction span.denominateur {
    border-top: thin solid black;
}
.fraction span.bar {
    display: none;
}

sup.n {
    top: -2.2em;
    margin-right: -1.5em;
}

sub.i {
    top: 1em;
    margin-left: -1.9em;
}

.xxl {
    font-size: xx-large;
}

.xl {
    font-size: x-large;
}

.l {
    font-size: large;
}

.intsuma {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
}
.intsuma > span {
    display: block;
    font-size: 70%;
}
.intsuma .lim-up {
    margin-bottom: -1ex;
}
.intsuma .lim {
    margin-top: -0.5ex;
}
.intsuma .sum {
    font-size: 1.5em;
    font-weight: lighter;
}
.intsuma .sum-frac {
    font-size: 1.5em;
    font-weight: 100;
}

/* fin des équations */

.skip-links a {
    background: #1c76b3;
}

.notice {
    padding: 1em 1em 1em 2em;
    margin: 15px 0;
}

.info {
    border-left: 8px solid #f0ad4e;
    background: #fcf8f2;
    color: #df8a13;
}

.alert {
    border-left: 8px solid #d9534f;
    background: #fdf7f7;
    color: #b52b27;
}

.remarque {
    border-left: 8px solid #1c76b3;
    background: #d9effa;
    color: #185b88;
}

.exemple {
    border-left: 8px solid #4d4d4d;
    background: lightgray;
    color: #4d4d4d;
}

.exercice {
    border-width: 1px 1px 1px 8px;
    border-style: solid;
    border-color: gray;
    padding: 1em;
    margin-bottom: 2rem;
    font-family: consolas, courier, monospace;
    line-height: normal;
}

.ok {
    border-left: 8px solid #3d8b3d;
    background: #f1f9f1;
    color: #337033;
    padding: 1rem 1rem;
    margin-top: 0.75em;
    margin-bottom: 0;
}

.reussite {
    background-color: #ccffcc;
    border-style: dashed;
    border-width: 1px;
    color: Green;
    margin: 10px;
    padding: 10px 0px 5px 45px;
}

.item {
    background-color: #c3def1;
    border-style: dashed;
    border-width: 1px;
    color: #1c76b3;
    margin: 10px;
    padding: 10px 0px 5px 45px;
}

.echec {
    background-color: #f5bbb4;
    border-style: dashed;
    border-width: 1px;
    color: #ff0000;
    margin: 10px;
    padding: 10px 0px 5px 45px;
}

.code {
    border-left: 8px solid #1c76b3;
    background: #2c2c2c;
    color: #fcfff4;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
}

/* inline-block */
.inblmid {
    display: inline-block;
    vertical-align: middle;
}

.bordersolid {
    border: 1px solid;
    padding: 1rem;
}

.tolerance tr td {
    font-size: 10px;
}

.fond td {
    background-color: #6495ed;
}

.fontdark h2,
.fontdark h3 {
    color: #2c2c2c;
}

.w30p {
    width: 30px;
}

.w120p {
    width: 120px;
}

.quizz {
    list-style-type: upper-latin;
}

ol.instruction li {
    list-style-image: url(./img/instruction.png);
    vertical-align: baseline;
}

ol.alpha > li {
    list-style-type: lower-alpha;
}

.txtvertical {
    writing-mode: vertical-lr;
    transform: rotate(-180deg);
}

/* Tableau implantation */

.tableborder {
    padding: 0.3rem 0.6rem;
    min-width: 2rem;
    vertical-align: top;
    border: 1px #acb3c2 dotted;
    text-align: center;
}

table.noborder,
td.noborder {
    border: none;
}

th.noborder {
    border: none;
    background: none;
}

th.noborder {
    border: none;
}

.carre {
    width: 100px;
    height: 100px;
    background: red;
}

.circle {
    width: 100px;
    height: 100px;
    background: red;
    border-radius: 50%;
}

.triangle-topleft {
    width: 0;
    height: 0;
    border-top: 100px solid red;
    border-right: 100px solid transparent;
}

.triangle-bottomright {
    width: 0;
    height: 0;
    border-bottom: 100px solid red;
    border-left: 100px solid transparent;
}

td.diagonalRising {
    background: linear-gradient(
        to right bottom,
        transparent 0%,
        #1c76b3 49.9%,
        #1c76b3 50%,
        #1c76b3 51%,
        #1c76b3 51.1%,
        transparent 100%
    );
}

td.diagonalRisingVide {
    background: linear-gradient(
        to right bottom,
        transparent 0%,
        transparent 49.9%,
        #1c76b3 50%,
        #1c76b3 51%,
        transparent 51.1%,
        transparent 100%
    );
}

td.diagonalRisingHaut {
    background: linear-gradient(
        to right bottom,
        transparent 0%,
        #1c76b3 49.9%,
        #1c76b3 50%,
        #1c76b3 51%,
        transparent 51.1%,
        transparent 100%
    );
}

td.diagonalRisingBas {
    background: linear-gradient(
        to right bottom,
        transparent 0%,
        transparent 49.9%,
        #1c76b3 50%,
        #1c76b3 51%,
        #1c76b3 51.1%,
        transparent 100%
    );
}

td.diagonalFalling {
    background: linear-gradient(
        to right top,
        transparent 0%,
        transparent 49%,
        #1c76b3 51%,
        transparent 52%,
        transparent 100%
    );
}

td.diagonalCross {
    position: relative;
    background: linear-gradient(
        to right bottom,
        #1c76b3 0%,
        #1c76b3 49%,
        #1c76b3 50%,
        #1c76b3 51% #1c76b3 52% #1c76b3 100%
    );
}

td.diagonalCross:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    background: linear-gradient(
        to right top,
        transparent 0%,
        transparent 49.9%,
        #1c76b3 50%,
        #1c76b3 51%,
        transparent 51.1%,
        transparent 100%
    );
}

hr {
    overflow: none;
}

td.horizontal {
    background: linear-gradient(
        to bottom,
        transparent,
        transparent 49.9%,
        #ff0000 50%,
        #ff0000 51%,
        #fff 55%,
        transparent 100%
    );
}

td.vertical {
    background: linear-gradient(
        to right,
        transparent 0%,
        transparent 49.9%,
        red 50%,
        red 51%,
        transparent 52%,
        transparent 100%
    );
}

.font-s {
    font-size: small;
}

.font-b {
    font-size: x-large;
}

.tabstock {
    background-color: #729fcf;
    padding: 1rem;
}

.tabline {
    border: 1px solid;
    padding: 1rem;
}

.icon-arrow-up {
    content: "\e60c";
}

.animated {
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    -o-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 1s;
    -moz-animation-duration: 1s;
    -ms-animation-duration: 1s;
    -o-animation-duration: 1s;
    animation-duration: 1s;
}

#back-to-top span.info {
    display: none;
    background: #045fb4;
    font-weight: 400;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    text-align: center;
    padding: 15px 20px;
    width: 200px;
    position: absolute;
    left: 50%;
    margin-left: -100px;
    top: -80px;
    font-size: 0.5em;
    font-family: "Open Sans", sans-serif;
    font-weight: 300;
    text-shadow: #000 0 1px 0;
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    -moz-animation-name: fadeInUp;
    -o-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

/*pour les exemples de landmark */
div.landmark {
    border: solid 2px #000000;
    color: #4a4949;
    margin: 10px;
    font: bold larger "Courier New", Courier, monospace;
    font-size: 1em;
    white-space: inherit;
    width: 87%;
}
#banner_ {
    height: 100px;
    background: #f3d3ac;
}
#navigation_ {
    float: left;
    width: 25%;
    height: 400px;
    background: #b9f5b5;
}
#main_ {
    float: left;
    width: 34%;
    height: 400px;
    background: #f8f3c5;
}
#complementary_ {
    float: left;
    width: 25%;
    height: 400px;
    background: #d5e9fa;
}
#contentinfo_ {
    clear: both;
    height: 100px;
    background: #dadada;
}
#search_ {
    background: #f8f886;
    font-size: small;
}
#form_ {
    background: #dadada;
    font-size: medium;
}
#application_ {
    background: #f5f5f5;
    font-size: medium;
    width: 90%;
    height: 200px;
}

a[rel~="help"] {
    border-bottom: underline;
    background-color: #fafad2;
    text-decoration: none;
    color: #555;
}
a[rel~="help"]:hover {
    color: #555;
}

@media (max-width: 480px) {
    article {
        /*margin-top: 1rem;*/
        /*padding: 0.8rem;*/
    }

    .box {
        padding: 0 0.5rem;
    }
}

@media (min-width: 481px) {
    article {
        /*padding: 4rem 5%;*/
    }

    aside {
        /*width: 300px;*/
        float: right;
        margin-right: 8%;
    }

    .box {
        padding: 4rem 5%;
    }
}

@media (max-width: 640px) {
    .main-nav-content {
        clear: both;
        padding-top: 1rem;
    }

    .main-nav-list {
        border-top: 1px solid rgb(170, 170, 170);
        border-bottom: 1px solid rgb(170, 170, 170);
        list-style: none;
    }

    .main-nav-link {
        font-size: 1.6rem;
        color: #cfcfcf;
    }

    .main-nav-link:focus,
    .main-nav-link:hover {
        color: #fff;
    }

    .main-nav-link::before {
        display: inline-block;
        height: 2.5rem;
        margin-right: 1rem;
        content: ">";
    }

    .nav-to-open {
        float: right;
        display: inline-block;
        padding-right: 0;
        color: #fff;
        background: none;
        padding: 0;
    }

    .nav-to-open svg {
        height: 2.5rem;
        width: 2.5rem;
        vertical-align: -0.8rem;
    }

    .small-jq-is-close {
        display: none;
    }
    .small-jq-is-open {
        display: block;
    }

    .back-top {
        position: absolute;
        bottom: 0;
        right: 0;
    }
}

@media (min-width: 641px) {
    body {
        padding-top: 4rem;
    }

    .main-navigation {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 10;
        padding-top: 1.25rem;
        text-align: right;
    }

    .site-logo {
        position: relative;
        top: -0.35rem;
        float: left;
    }

    .main-navigation {
        margin-bottom: 0;
        padding-top: 1.65rem;
        padding-bottom: 1.65rem;
        color: #fff;
        background: #444444;
    }

    .main-nav-item,
    .main-nav-link {
        display: inline-block;
    }

    .main-nav-item {
        vertical-align: middle;
    }

    .main-nav-item + .main-nav-item {
        margin-left: 3%;
    }

    .main-nav-link.is-active,
    .main-nav-link:focus,
    .main-nav-link:hover {
        color: #1c76b3;
    }
    .main-nav-link.is-active::after,
    .main-nav-link:focus::after,
    .main-nav-link:hover::after {
        opacity: 1;
        transform: translateY(0);
    }

    .nav-to-open,
    .nav-button {
        display: none;
    }

    .back-top {
        right: 5%;
        z-index: 20;
    }
}

@media (min-width: 768px) {
    a:hover .card-content p {
        color: #fff;
    }
    .card-item a:hover [class^="button-"] {
        color: #fff;
    }
}

@media (min-width: 1025px) {
    .box {
        padding: 4rem 7%;
    }
    article {
        padding: 4rem 7%;
    }
}

@media (min-width: 1281px) {
    .box {
        padding: 4rem 13.5%;
    }
    article {
        padding: 4rem 13.5%;
    }
}

@media (max-width: 1280px) {
    #scroll_to_top0 {
        top: -40px;
    }
}

@media (min-width: 1601px) {
    .box {
        padding: 4rem 17.5%;
    }
    article {
        padding: 4rem 17.5%;
    }

    .site-footer .back-top {
        right: 17.5%;
    }
}