@charset "utf-8";
/* RESET */

/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100% inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block
}

body {
    line-height: 1
}

ol, ul {
    list-style: none
}

blockquote, q {
    quotes: none
}

blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

a {
    text-decoration: none
}

/* Fin RESET */

/* GLOBAL */

html {
    font-family: verdana, arial;
    font-weight: normal;
    font-size: 10px;
    color: #000;
}

body {
    background: #FFF;
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;
    background-size: cover;
    font-size: 1.4rem;
    line-height: 1.65rem;
}

.main {
    width: 160rem;
    max-width: 96%;
    position: relative;
    min-height: calc(100vh - 6rem);
    margin: 1rem auto 0;
    font-size: 1.2rem;
    line-height: 1.4rem;
    background-color: #FFF;
}

footer {
    background-color: white;
    width: 160rem;
    max-width: 96%;
    margin: 0 auto;
    border-top: 5px solid #AAA;
    color: #AAA;
    font-size: 1.2rem;
    height: 4.5rem;
}

footer a {
    color: #AAA;
}

footer a:hover {
    color: #000;
}

@media only screen and (min-width: 481px) {
    body {
        font-size: 1.40rem;
        line-height: 1.7rem;
    }

    .main, footer {
        max-width: 90%;
    }
}

@media only screen and (min-width: 901px) {
    body {
        font-size: 1.45rem;
        line-height: 1.8rem;
    }

    .main, footer {
        max-width: 85%;
    }
}

@media only screen and (min-width: 1281px) {
    body {
        font-size: 1.5rem;
        line-height: 1.9rem;
    }

    .main, footer {
        max-width: 80%;
    }
}

@media only screen and (min-width: 1601px) {
    body {
        font-size: 1.6rem;
        line-height: 2.1rem;
    }

    .main, footer {
        max-width: 78%;
    }
}

.pageBreakAlways {
    page-break-after: always;
}

.orange, .vert, .orange a, .vert a {
    color: #FFF;
}

.orange a:hover, .vert a:hover {
    color: #666;
}

.orange {
    background-color: #FF9900;
}

a .orange:hover, a .vert:hover {
    background-color: #666;
}

.vert {
    background-color: #77BB44;
}

.paddingAll10 {
    padding: 1rem;
}

.noPadding {
    padding: 0 !important;
}

.marginTop20 {
    margin-top: 2rem;
}

.overflowY {
    overflow-y: auto;
}

.tabulation {
    padding-left: 2rem;
}

p {
    padding: 0.5rem 0;
}

img {
    max-width: 100%;
    max-height: 100%;
    height: auto;
}

a {
    color: #333333;
}

/* Fin GLOBAL */

/* -------------------------------------------------- */

/* TYPOGRAPHIE */

h1.contenuH, h2.contenuH, h3.contenuH, h4.contenuH, h5.contenuH, h6.contenuH {
    line-height: 110%;
    font-weight: normal;
    margin: 0.8rem 0;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
    margin: 0.8rem 0;
}

h1.contenuH {
    font-size: 2.5rem;
    line-height: 2.5rem;
}

h2.contenuH {
    font-size: 2rem;
    line-height: 2.2rem;
}

h1.contenuH.titrePage {
    text-align: center;
    color: #666;
    margin: 3rem auto 4.5rem;
}

h2.contenuH.textOrange {
    color: #FF9900;
    margin-bottom: 2rem;
}

h2.contenuH.textOranget15 {
    color: #FF9900;
    margin-bottom: 1rem;
    margin-top: 2rem;
    font-size: 1.5rem;
    line-height: 1.65rem;
}

.t40 {
    font-size: 4rem;
    line-height: 4rem;
}

.t30 {
    font-size: 3rem;
    line-height: 3rem;
}

.t25 {
    font-size: 2.5rem;
    line-height: 2.5rem;
}

.t20 {
    font-size: 2rem;
    line-height: 2rem;
}

.t16 {
    font-size: 1.6rem;
    line-height: 1.7rem;
}

.t15 {
    font-size: 1.5rem;
    line-height: 1.65rem;
}

.t14 {
    font-size: 1.4rem;
    line-height: 1.6rem;
}

.t12 {
    font-size: 1.2rem;
    line-height: 1.4rem;
}

.textOrange {
    color: #FF9900;
}

.textCenter {
    text-align: center;
}

.textLeft {
    text-align: left;
}

.textRight {
    text-align: right;
}

.textBold {
    font-weight: bold;
}

/* Fin TYPOGRAPHIE */

/* MATERIAL-ICONS */

@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/material-icons/MaterialIcons-Regular.eot'),
        /* For IE6-8 */
        url('../fonts/material-icons/MaterialIcons-Regular.woff2') format('woff2'), url('../fonts/material-icons/MaterialIcons-Regular.woff') format('woff'), url('../fonts/material-icons/MaterialIcons-Regular.ttf') format('truetype');
}

.material-icons {
    font-family: 'Material Icons';
    font-style: normal;
    font-variant: initial;
    text-rendering: optimizeLegibility;
    -webkit-font-feature-settings: 'liga';
    -moz-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
}

/* Fin MATERIAL-ICONS */

/* -------------------------------------------------- */

/* FORM - Crédit Materialize */

fieldset {
    border: 1px solid #FF9900;
    margin: 1rem 0.2rem;
}

legend {
    text-align: center;
    color: #666;
    font-size: 2.5rem;
    padding: 0rem 0.5rem 1.7rem;
}

.input {
    position: relative;
    margin-top: 1rem;
}

p.input {
    margin-bottom: 1rem;
    text-align: left;
}

p.inputLine {
    margin-bottom: 1rem;
    text-align: left;
    display: block;
}

.input input {
    line-height: normal;
    border: none;
    border-bottom: 1px solid #9e9e9e;
    border-radius: 0;
    outline: none;
    height: 3rem;
    width: 100%;
    font-size: 1.5rem;
    margin: 0 0 2rem 0;
    padding: 0;
    box-shadow: none;
    box-sizing: content-box;
    transition: all 0.3s;
}

.inputLine input, .inputLine select {
    border: none;
    border-bottom: 1px solid #9e9e9e;
    outline: none;
    box-shadow: none;
    box-sizing: content-box;
}

.inputLine.conteneur .col {
    padding: 0 1rem;
}

.inputCheck {
    margin: 0 1rem;
    height: 2rem;
    line-height: 2rem;
    vertical-align: middle;
}

input[type="radio"], input[type="checkbox"] {
    background-color: #FFF;
    padding: initial;
    border: initial;
}

.inputLine label {}

label {
    font-size: 1.2rem;
    color: #757575;
}

.input.col label {
    left: 0.75rem;
}

input[type="submit"], input[type="button"] {
    text-decoration: none;
    color: #fff;
    background-color: #F90;
    text-align: center;
    letter-spacing: .5px;
    transition: .2s ease-out;
    cursor: pointer;
    height: 3rem !important;
    line-height: 3rem !important;
    border: none;
    border-radius: 2px;
    display: inline-block;
    font-size: 1.5rem;
    outline: 0;
    padding: 0 2rem;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}

/* Fin FORM */

/* -------------------------------------------------- */

/* POSITIONNEMENT*/

/* Centrage vertical - Crédit Materialize */

.vertiAlign-conteneur {
    /* Il faut fixer la hauteur du conteneur pour que cela fonctionne et lui ajouter la class vertiAlign-conteneur. */
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.vertiAlign-conteneur .vertiAlign {
    /*Sur l'élément à centrer, ajouter la class vertiAlign.*/
    display: block;
}

/* Flottement et position absolute */

.relative {
    position: relative;
}

.left {
    float: left;
}

.right {
    float: right;
}

/*  vm = vu mobile, inférieur à 480px;
    vt = vu tablette, inférieur à 720px;
    p = petit écran, inférieur à 900px;
    m = écran moyen, inférieur à 1024px;
    g = grand écran, inférieur à 1280px;
    tg = très grand écran, supérieur à 1280px;

    Les largeurs sont progressivement "écrasées" au besoin. 
    Vm est établi par défaut pour couvrir tous les écrans. 
    Si une class vt est ensuite définie, elle écrase vm quand la résolution est supérieur à 480px, ainsi de suite.
    Le chiffre correspond lui au pourcentage qu'occupera la col dans le conteneur.
*/

.conteneur {
    margin-left: auto;
    margin-right: auto;
    padding: 0 0.8rem;
}

.conteneur:after {
    content: "";
    display: table;
    clear: both;
}

.conteneur .col {
    float: left;
    box-sizing: border-box;
    padding: 0 0.5rem;
    min-height: 0.1rem;
}

.col {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.conteneur .col.vm100 {
    width: 100%;
    margin-left: auto;
    left: auto;
    right: auto;
}

.conteneur .col.vm75 {
    width: 75%;
    margin-left: auto;
    left: auto;
    right: auto;
}

.conteneur .col.vm66 {
    width: 66.6666666667%;
    margin-left: auto;
    left: auto;
    right: auto;
}

.conteneur .col.vm50 {
    width: 50%;
    margin-left: auto;
    left: auto;
    right: auto;
}

.conteneur .col.vm33 {
    width: 33.3333333333%;
    margin-left: auto;
    left: auto;
    right: auto;
}

.conteneur .col.vm25 {
    width: 25%;
    margin-left: auto;
    left: auto;
    right: auto;
}

.conteneur .col.vm20 {
    width: 20%;
    margin-left: auto;
    left: auto;
    right: auto;
}

.conteneur .col.vm60 {
    width: 60%;
    margin-left: auto;
    left: auto;
    right: auto;
}

.conteneur .col.vm80 {
    width: 80%;
    margin-left: auto;
    left: auto;
    right: auto;
}

@media only screen and (min-width: 481px) {
    .conteneur {
        padding: 0 0.8rem;
    }

    .conteneur .col {
        padding: 0 0.8rem;
    }

    .col {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }

    .conteneur .col.vt100 {
        width: 100%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.vt75 {
        width: 75%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.vt66 {
        width: 66.6666666667%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.vt50 {
        width: 50%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.vt33 {
        width: 33.3333333333%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.vt25 {
        width: 25%;
        margin-left: auto;
        left: auto;
        right: auto;
    }
}

@media only screen and (min-width: 721px) {
    .conteneur {
        padding: 0 1.5rem;
    }

    .conteneur .col {
        padding: 0 1.5rem;
    }

    .col {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }

    .conteneur .col.p100 {
        width: 100%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.p75 {
        width: 75%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.p66 {
        width: 66.6666666667%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.p50 {
        width: 50%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.p33 {
        width: 33.3333333333%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.p25 {
        width: 25%;
        margin-left: auto;
        left: auto;
        right: auto;
    }
}

@media only screen and (min-width: 901px) {
    .conteneur {
        padding: 0 1.5rem;
    }

    .conteneur .col {
        padding: 0 1.5rem;
    }

    .col {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }

    .conteneur .col.m100 {
        width: 100%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.m75 {
        width: 75%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.m66 {
        width: 66.6666666667%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.m50 {
        width: 50%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.m33 {
        width: 33.3333333333%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.m25 {
        width: 25%;
        margin-left: auto;
        left: auto;
        right: auto;
    }
}

@media only screen and (min-width: 1025px) {
    .conteneur {
        padding: 0 1.5rem;
    }

    .conteneur .col {
        padding: 0 1.5rem;
    }

    .col {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }

    .conteneur .col.g100 {
        width: 100%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.g75 {
        width: 75%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.g66 {
        width: 66.6666666667%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.g50 {
        width: 50%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.g33 {
        width: 33.3333333333%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.g25 {
        width: 25%;
        margin-left: auto;
        left: auto;
        right: auto;
    }
}

@media only screen and (min-width: 1281px) {
    .conteneur {
        padding: 0 2rem;
    }

    .conteneur .col {
        padding: 0 2rem;
    }

    .col {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }

    .conteneur .col.tg100 {
        width: 100%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.tg75 {
        width: 75%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.tg66 {
        width: 66.6666666667%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.tg50 {
        width: 50%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.tg33 {
        width: 33.3333333333%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.tg25 {
        width: 25%;
        margin-left: auto;
        left: auto;
        right: auto;
    }
}

@media only screen and (min-width: 1601px) {
    .conteneur {
        padding: 0 3rem;
    }

    .conteneur .col {
        padding: 0 3rem;
    }

    .col {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }
}

@media only print {
    .conteneur {
        padding: 0;
    }

    .conteneur .col {
        padding: 0 0.5rem;
    }

    .col {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }

    .conteneur .col.print100 {
        width: 100%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.print75 {
        width: 75%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.print66 {
        width: 66.6666666667%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.print50 {
        width: 50%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.print33 {
        width: 33.3333333333%;
        margin-left: auto;
        left: auto;
        right: auto;
    }

    .conteneur .col.print25 {
        width: 25%;
        margin-left: auto;
        left: auto;
        right: auto;
    }
}

/* Fin POSITIONNEMENT HORIZONTAL */

/* -------------------------------------------------- */

/* DISPLAY */

/* Éléments masqués en fonction du support */

.masquer {
    display: none;
}

@media only screen and (max-width: 480px) {
    .masquer-vm {
        display: none;
    }
}

@media only screen and (min-width: 481px) and (max-width: 720px) {
    .masquer-vt {
        display: none;
    }
}

@media only screen and (min-width: 721px) and (max-width: 900px) {
    .masquer-p {
        display: none;
    }
}

@media only screen and (min-width: 901px) and (max-width: 1024px) {
    .masquer-m {
        display: none;
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1280px) {
    .masquer-g {
        display: none;
    }
}

@media only screen and (min-width: 1281px) {
    .masquer-tg {
        display: none;
    }
}

@media only screen and (min-width: 721px) {
    .masquer-vt-et-moins {
        display: none;
    }
}

@media only screen and (max-width: 720px) {
    .masquer-p-et-plus {
        display: none;
    }
}

@media only screen and (min-width: 901px) {
    .masquer-m-et-plus {
        display: none;
    }
}

@media only screen and (max-width: 900px) {
    .masquer-p-et-moins {
        display: none;
    }
}

@media only screen and (min-width: 901px) and (max-width: 1281px) {
    .masquer-m-et-g {
        display: none;
    }
}

@media only screen and (min-width: 1025px) {
    .masquer-g-et-plus {
        display: none !important;
    }
}

/* Éléments visibles en fonction du support */

visible {
    display: block;
}

@media only screen and (max-width: 480px) {
    .visible-vm {
        display: block !important;
    }
}

@media only screen and (min-width: 481px) and (max-width: 720px) {
    .visible-vt {
        display: block !important;
    }
}

@media only screen and (min-width: 721px) and (max-width: 900px) {
    .visible-p {
        display: block !important;
    }
}

@media only screen and (min-width: 901px) and (max-width: 1024px) {
    .visible-m {
        display: block !important;
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1280px) {
    .visible-g {
        display: block !important;
    }
}

@media only screen and (min-width: 1281px) {
    .visible-tg {
        display: block !important;
    }
}

@media only screen and (min-width: 901px) and (max-width: 1280px) {
    .visible-m-et-g {
        display: block !important;
    }
}

@media only screen and (min-width: 721px) {
    .visible-p-et-plus {
        display: block !important;
    }
}

@media only screen and (max-width: 720px) {
    .visible-vt-et-moins {
        display: block !important;
    }
}

@media only screen and (min-width: 1025px) {
    .visible-g-et-plus {
        display: block !important;
    }
}

/* Screen et Print */

@media only print {
    .noPrint {
        display: none;
    }

    .print {
        display: block !important;
    }

    .printTable {
        display: table !important;
    }
}

@media only screen {
    .noScreen {
        display: none;
    }
}

/* Fin DISPLAY */