* {
    border:0px;
    margin:0px;
    padding:0px;
}

p {
    font-weight: 400;
    font-size: 1em;
}

h1 {
    font-family: 'Roboto', sans-serif;
    font-weight: lighter;
    font-size: 2em;
}

.gras {
    font-weight: 700;
}

html {
    font-size: 16px;
}

html, body {
    width: 100%;
    height: 100%;
    max-height: 100vh;
    box-sizing: border-box;
    text-align: center;
    font-family: 'Roboto', sans-serif;
    overflow: hidden;
    background-color: white;
    font-weight: 300;
} 
 
#conteneur {
    width: 100vw;
    height: 100%;
    max-height: 100vh;
    margin-left: auto;
    margin-right: auto;
    max-width: 400px; 
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    flex-shrink: 1;
    overflow: hidden;
    background-color: white;
}  

#questionnaire { 
    display: none;
}


header, footer {
    width: 100%;
    max-width: 100vw;
    height: 10%;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    box-sizing: border-box;
    list-style-type: none;
    background-color: transparent;
}

header {
    /* max-height: 40px; */
    z-index: 50;
    background-color: #175ABA;
    box-shadow: 0px 5px 5px #1C54A3;
}

.logo { 
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    width: 45%;
}

footer {
    height: 15%;
    box-sizing: border-box;
    /* z-index: 100;
    box-shadow: 0px -5px 10px #dddddd; */
    /* background-color: white; */
    /* border-top: #eeeeee 1px solid; */
}

footer li {
    min-height: 100%;
    min-width: 20%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box; 
}

footer li img {
    min-width: 100%;
    max-height: 60px;
    /* max-height: 80px; */
    /* min-height: 65px; */
}

/* Page authentification */
.bt_auth, .authentification {
    border-radius: 30px;
    margin-bottom: 20px;
    min-width: 50%;
    margin-left: auto;
    margin-right: auto;
    cursor: pointer;
}

.authentification {
    border: 1px solid #4b4b4b;
    padding: 10px;
    font-size: 1em;
    text-align: center;
}

#aleacode {
    display: none;
}

/* -------------------- */

.compteur, .theme {
    height: 100%;
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: white;
}

main, form {
    height:100%;
    width: 100%;
    min-width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    box-sizing: border-box;
}

section {
    width: 100%;
    min-width: 100%;
    height: 100%;
    min-height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

/* ------------------------------------------ */
/* Réglages des zones bloc_QUESTION - RÉPONSE */
.bloc_question, .bloc_reponse {
    width: 100%;
    height: 50%;
    /* min-height: 50%; */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    -webkit-transition: height 0.4s; 
    -moz-transition: height 0.4s;
    -ms-transition: height 0.4s;
    -o-transition: height 0.4s;
    transition: height 0.4s;  
}

.bloc_question {
    background: rgba(23,91,186,1);
    background: -moz-linear-gradient(top, rgba(23,91,186,1) 0%, rgba(62,174,205,1) 100%);
    background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(23,91,186,1)), color-stop(100%, rgba(62,174,205,1)));
    background: -webkit-linear-gradient(top, rgba(23,91,186,1) 0%, rgba(62,174,205,1) 100%);
    background: -o-linear-gradient(top, rgba(23,91,186,1) 0%, rgba(62,174,205,1) 100%);
    background: -ms-linear-gradient(top, rgba(23,91,186,1) 0%, rgba(62,174,205,1) 100%);
    background: linear-gradient(to bottom, rgba(23,91,186,1) 0%, rgba(62,174,205,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#175bba', endColorstr='#3eaecd', GradientType=0 );
}

.bloc_reponse {
    max-height: 100%;
    box-sizing: border-box;
}

.question, .reponse {
    padding: 20px;
    height: 100%;
}

/* -------------------------- */
/* Spécificités bloc_QUESTION */
.question, .reponse {
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    word-break: normal;
    letter-spacing: normal;
}

/* Entête numéro de question */
.question {
    height: 85%;
    min-height: 80%;
    color: white;
    font-size: 1.1em;
    font-weight: 300;
    padding: 20px;
}


.habillage {
    height: 15%;
    min-width: 100%;
    background-color: transparent;
    background-image: url("../img/unity_fleche.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover; 
}


/* -------------------------- */
/* Spécificités RÉPONSE */

.reponse {
    height: 100%;
    box-sizing: border-box;
    list-style-type: none;
}


/* INPUTS -------------------   */

input[type=texte] {
    text-align: center;
    /* font-size: 1.2em; */
    background-color: #eeeeee;
    padding: 5px;
    /* border: solid 1px #4b4b4d; */
    box-shadow: 0px 5px 10px #cccccc;
}

input[type=text], input[type=number] {
    margin-left: auto;
    margin-right: auto;
    max-width: 50%;
    border: 1px solid #4b4b4d;
    border-radius: 30px;
    text-align: center;
    background-color: #eeeeee;
    padding: 5px;
    margin-bottom: 10px;
}

input[type=button] {
    width: 100%;
    background-color: #638F2C;
    padding: 7px; 
    font-size: 0.9em; 
    color: white;
    color-adjust: exact;
    -webkit-appearance: none;
    cursor: pointer;
}

textarea {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 100%;
    /* min-height: 50%; */
    min-height: 35%;
    font-size: 1em;
    background-color: #eeeeee;
    color: #4b4b4d;
    padding: 10px;
    /* border: solid 1px #bbbbbb; */
    font-family: 'Roboto', sans-serif;
    box-sizing: border-box;
}

.saisiepas {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    margin-bottom: 15px;
    resize: none;
    max-height: 32px;
    min-height: 32px;
}

select {
    margin-left: auto;
    margin-right: auto;
    background-color: #eeeeee;
    font-size: 1em; 
    font-weight: 400;
    padding: 15px;
    /* width: 100px;
    height: 50px; */
    border: 1px solid #4b4b4d;
    border-radius: 10%;
    text-align: center;
    margin-bottom: 10px;
}

.slider {
    width: 90%; background-color: yellow;
}

/* Zones RANGE */
.bloc_range {
    width: 100%;
}

.description, .selecteur_range {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    list-style-type: none;
    color: #4b4b4d;
    text-align: left;
    box-sizing: border-box;
}

.description  {
    margin-bottom: 10px;
}

.selecteur_range {
    justify-content: space-around;
}

.description li:nth-child(2) {
    text-align: right;
}

.selecteur_range li:nth-child(1),
.selecteur_range li:nth-child(3) {
    width: 35px;
    height: 35px;
    /* background-color: #4CAF50; */
    /* border-radius: 50%; */
}

.selecteur_range li:nth-child(3) {
    text-align: right;
}

.selecteur_range li:nth-child(2) {
    width: 90%;
    height: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: center;
}


/* Personnalistion du CURSEUR RANGE */
/* 1. Désactivation des réglages d'origine (spécifique pour chaque type de navigateur) */
/* https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/ */
input[type=range] {
    -webkit-appearance: none; /* Hides the slider so that custom slider can be made */
    width: 100%; /* Specific width is required for Firefox. */
    background: transparent; /* Otherwise white in Chrome */

    height: 32px;
    background-image: url(../img/eva.svg);
    background-size: cover;
    background-repeat: no-repeat;
    box-sizing: border-box;
  }
  
input[type=range]::-webkit-slider-thumb {
-webkit-appearance: none;
  }

input[type=range]:focus {
outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
  }

input[type=range]::-ms-track {
width: 100%;
cursor: pointer;

/* Hides the slider so custom styles can be added */
background: transparent; 
border-color: transparent;
color: transparent;
  }

/* 2. Personnalisation du CURSEUR (spécifique pour chaque type de navigateur)*/
/* CHROME */
input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    border: 1px solid #000000;
    height: 32px;
    width: 16px;
    border-radius: 3px;
    background: #ffffff;
    cursor: pointer;
    margin-top: -14px; /* You need to specify a margin in Chrome, but in Firefox and IE it is automatic */
    /* box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;  */
  }
  
  /* Firefox */
  input[type=range]::-moz-range-thumb {
    /* box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; */
    border: 1px solid #000000;
    height: 32px;
    width: 16px;
    border-radius: 3px;
    background: #ffffff;
    cursor: pointer;
  }
  
  /* IE */
  input[type=range]::-ms-thumb {
    /* box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; */
    border: 1px solid #000000;
    height: 32px;
    width: 16px;
    border-radius: 3px;
    background: #ffffff;
    cursor: pointer;
  }


/* 3. Personnalisation du RAIL */
input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 5px;
    cursor: pointer;
    /* box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; */
    background: #017aba;
    border-radius: 1.3px;
    /* border: 0.2px solid #010101; */
  }
  
  input[type=range]:focus::-webkit-slider-runnable-track {
    background: #017aba;
  }
  
  input[type=range]::-moz-range-track {
    width: 100%;
    height: 5px;
    cursor: pointer;
    /* box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; */
    background: #017aba;
    border-radius: 1.3px;
    /* border: 0.2px solid #010101; */
  }
  
  input[type=range]::-ms-track {
    width: 100%;
    height: 5px;
    cursor: pointer;
    background: transparent;
    border-color: transparent;
    border-width: 16px 0;
    color: transparent;
  }
  input[type=range]::-ms-fill-lower {
    background: #2a6495;
    /* border: 0.2px solid #010101; */
    border-radius: 2.6px;
    /* box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; */
  }
  input[type=range]:focus::-ms-fill-lower {
    background: #017aba;
  }
  input[type=range]::-ms-fill-upper {
    background: #017aba;
    /* border: 0.2px solid #010101; */
    border-radius: 2.6px;
    /* box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; */
  }
  input[type=range]:focus::-ms-fill-upper {
    background: #017aba;
  }



/* ------------------ */
/* Sélecteurs RADIOS */
 
.bloc_radio {
    width: 100%;
    height:auto;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    /* margin-top: 5px; */
    margin-bottom: 15px;
    font-size: 1.2em;
    text-align: left;
}



/* .bloc_radio li:nth-child(1) {
    position: relative;
    right: 2rem;
} */

/* .bloc_radio li:nth-child(2) {
    position: relative;
    left: 4rem;
} */

.bt_radio {
    position: relative;
    left: 30px;
}

/* .bt_radio:nth-child(1) {
    margin-bottom: 50px;
} */

/* PERSONNALISATION des cases à cocher */
input[type=radio] {
    display: none;
}

.bt_radio label {
    position: relative;
}

.bt_radio span::before,
.bt_radio span::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
 }

.bt_radio span.label_radio:hover {
    cursor: pointer;
  }

.bt_radio span.label_radio::before {
    left: -42px;
    width: 32px;
    height: 32px;
    border-radius: 32px;
    border: 2px solid #4b4b4b;
 }

.bt_radio span.label_radio::after {
    left: -42px;
    width: 34px;
    height: 34px;
    border-radius: 34px;
    background-color: transparent;
    border: 0px solid #4b4b4b;
 }

 input[type="radio"]:checked + label span.label_radio::after  {
    background-color: #017aba;
  }

/* -------------------------------- */


.texte_plus {
    width: 100%;
    height: 90%;
    list-style-type: none;
    display: none;
}

.texte_plus li {
    margin-bottom: 10px;
}

.instructions {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
    /* padding-bottom: 20px;
    margin-bottom: 20px; */
    /* margin: 40px; */
    color: #017aba;
    font-size: 1.2em;
}


input[type=submit] {
    /* max-width: 50%; */
    background-color: #638F2C;
    border-radius: 30px;
    padding: 10px; 
    padding-left: 25px;
    padding-right: 25px;
    font-size: 1.1em; 
    color: white;
    color-adjust: exact;
    -webkit-appearance: none;
}

.message_erreur {
    width: 100%;
    height: 25%;
    color: brown;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* font-size: 1em; */
}

/* INIT */
#bt_valider, #bt_up, #bt_down {
    visibility: hidden;
    cursor: pointer;
}

/* REMERCIEMENTS */
#remerciements {
    height:100%;
    min-width: 100%;
    overflow: hidden;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    display: none;
}

.ghost {
    display: none;
}


/* RESPONSIVE */
/* Gestion des écrans anciens */
/* *********************************** */
@media only screen and (max-device-width: 400px) { 
    html, p {
        font-size: 13px;
    }
}