html, body {
	height: 100%;
	margin: 0; padding: 0;
}

body {
    color: #474e59;
    font-family: Calibri, sans-serif;
    font-size: 12.5pt;
	display : table;
	width: 100%;
    background-color: white;
}
footer{
    display : table-row;
    text-align: center;
    height : 4ex;
    margin:0cm;
}
textarea{
    resize : none;
    color: #474e59;
    font-family: Calibri, sans-serif;
    font-size: medium;
    margin-top: 0cm;
    background-color: white;
}
h1 {
    font-family: Calibri, sans-serif;
    margin-top: 0cm;
    margin-bottom: 0.4cm;
    font-size:medium;
    text-align:left;
}
h2 {
    margin-top: 0cm;
    margin-bottom: 0.2cm;
    font-size:medium;
    text-align:left;
}
p {
    margin-bottom:0.40cm;
}
br {
    margin-bottom:0.20cm
}

th,td{
    border: 1px solid rgb(0,176,80); 
    text-align: left;
    padding:0.2cm;
    vertical-align: top;
}
th{
    color:rgb(0,176,80);
}
.table1 tr:nth-child(even){
    background-color:  rgb(0,176,80, 0.10);
}
.table1 tr:first-child{
    font-weight : bold;
}

.largeurMax{
    width : 100%;
}
table{
    margin-top : 0.4cm;
    margin-bottom : 0.4cm;
    width : 100%;
    border-collapse: collapse;
    border : 1px solid white;
}
.large {
    font-size:large;
}
.petit {
    font-size:small;
}
.centrer{
    text-align:center;
}
header {
    text-align:center;
    
    margin-bottom:0.0cm;
    width : 100%;
    margin-right:0%;
    margin-left: 0%;
}
.titre {
    padding :0.2cm;
}
.titre img {
    width: auto;
    max-height: 5cm;
    max-width: 100%;
}
.resultat{
    margin-bottom:0.40cm;
    margin-left: 0cm;
    margin-right: 0cm ;
    display: flex;
    justify-content: left;
}
.sansMarge{
    margin-right:0.0cm;
    margin-left:0.0cm; 
    padding-right:0.0cm;
    padding-left:0.0cm; 
}
legend{
    color:  rgb(0,176,80);
}
.trait{
    border-block-end: 1px solid rgb(0,176,80);
}
.contour{
    border: 1px solid white;
    border-top: 3px solid rgb(0,176,80);
    box-shadow: 0 1px 2px 0 rgba(34,36,38,.15);
    border-radius: 5px;
    padding: 0.4cm;
    padding-bottom: 0cm;
    margin-bottom: 0.8cm;
}
.contour.bleu{
    border-top: 3px solid rgb(9,150,255);
}
.contour.orange{
    border-top: 3px solid rgb(237,28,36);
}
.flex, .debut, .fin {
    flex: 1 1 0em;
}
.debut, .milieu, .fin{
    padding: 0.4cm;
    padding-top:0cm;
    padding-bottom:0cm;
    margin-right:0.0cm;
    margin-left:0.0cm;
}
.fin {
    margin-left : 0.40cm;
}
.milieu {
    flex: 1.7 1 0em;
}

.soutien{
    margin-left: auto;
    margin-right: auto;
    margin-right:0.20cm;
    margin-left:0.20cm;
    margin-bottom:0.20cm;
    object-fit: contain;
    max-height: 2cm;
    max-width: 3.5cm;
    opacity: 0.75;
}
.image {
    margin-left: 0cm;
    margin-right: 0cm ;
    margin-bottom: 0.40cm ;
    object-fit: contain;
    max-width: 100%;
}
.image2{
    width: 2cm;
}
.selection{
    margin-bottom:0.40cm;
}
.selection:last-child{
    margin-bottom: 0cm;
}
.selection [type=radio] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.selection [type=radio] + img {
    cursor: pointer;
}
.selection [type=radio]:checked + img {
    opacity: 1;
  }
.carte img{
    height: auto;
    width: 100%;
    margin-bottom:0.40cm; 
}
.relatif{
    position:relative;
}
a {
    font-family: Calibri, sans-serif;
    font-size: medium;
}
input, button{
    -webkit-appearance: none;
    appearance: none;
}
input, select, button, option{
    font-family: Calibri, sans-serif;
    color: #474e59;
    font-size: 12pt;
    text-align:left;
    margin-bottom:0.40cm;
    background-color:white;
}
input.error[type=radio], input.error[type=checkbox]{
    border: 1px solid rgb(237,28,36); ;
}
input[type=radio], input[type=checkbox]{
    cursor: pointer; 
    margin: 0;
    margin-left:2ex;
    margin-right: 1ex;
    display:inline-block;
    color:#474e59;
    background-color:white;
    padding: 1ex;
    border: 1px solid rgb(0,176,80);
    border-radius: 50%;
}
input[type=radio]:first-child, input[type=checkbox]:first-child{
    margin-left:0ex;
}
input:checked{
    background-color:rgb(0,176,80);
    box-shadow: inset 0px 0px 0px 2px white;
}


.button{
    text-transform: uppercase;
    font-weight: bold;
    box-sizing: border-box;
    width :100%;
    padding:0.2cm;
    background-color:white;
    border: 3px solid rgb(0,176,80);
    color: rgb(0,176,80);   
    text-align:center;
    border-radius: 5px;
    transition: all .35s;
    margin-bottom: 0.4cm;

}
.button:hover {
    width: 100%;
    background-color:rgb(0,176,80);
    color: white;   
    cursor: pointer; 
}


.button.bleu{
    border: 3px solid rgb(9,150,255);
    color: rgb(9,150,255); 
}
.button.error{
    border: 3px solid rgb(237,28,36);  
    color: rgb(237,28,36);  
}
.button.orange{
    border: 3px solid rgb(237,28,36);  
    color: rgb(237,28,36);  
}
.button.bleu:hover {
    background-color:rgb(9,150,255);
    color: white;   
}
.button.error:hover {
    background-color:rgb(237,28,36); 
    color: white;    
}
.button.orange:hover {
    background-color:rgb(237,28,36); 
    color: white;    
}
.zone{
    box-sizing: border-box;
    font-weight: normal;
    width :100%;
    padding:0.2cm;
    background-color:white;
    border: 1px solid rgba(34,36,38,.15);
    border-top: 1px solid rgb(0,176,80);
    box-shadow: 0 1px 2px 0 rgba(34,36,38,.15);
    border-radius: 3px;
    margin-bottom: 0.40cm;
    transition: all .35s;
}
.zone.bleu{
    border: 1px solid rgba(34,36,38,.15);
    border-top: 1px solid rgb(9,150,255);
    
}
.zone.orange{
    border: 1px solid rgba(34,36,38,.15);
    border-top: 1px solid rgb(237,28,36);
    
}
.zone.error{
    box-sizing: border-box;
    font-weight: normal;
    width :100%;
    padding:0.2cm;
    background-color:white;
    border-top: 1px solid rgb(237,28,36);
    border-radius: 5px;
    margin-bottom: 0.40cm;
}
.zone:focus{
    border: 1px solid rgb(0,176,80);
}
.zone.bleu:focus{
    border: 1px solid rgb(9,150,255);
}
.zone.orange:focus{
    border: 1px solid  rgb(237,28,36);
}
.zone.error:focus{
    border: 1px solid rgb(237,28,36);
}
.sansContour{
    border: none;
    box-shadow: none;
}
label {
    display:block;
    margin-bottom:0.20cm;
}

form {
    margin-bottom : 0.0cm;
}
.bouton1{
    text-align:center;
}
.recherche{
    font-size: medium;;
    padding:0.20cm;

}
.bouton1:hover, .bouton2:hover, .bouton3:hover{ 
    cursor: pointer; 
}
.bouton1:hover, .bouton3:hover{
    box-shadow: 1px 1px 3px #aaa;
}
.margehorizontale {
    padding-left:0.40cm;
    padding-right:0.40cm;
}
.margeverticale {
    padding-top:0.25cm;
    padding-bottom:0.40cm;
}
.interdit:hover{
    cursor: no-drop;
}
.interdit{
    background-color:rgba(0,176,80, 0.10);
}
.invisible{
    display: none;
}
.boutons{
    padding: 0cm;
    margin-bottom:0.40cm;
    display:flex;
    box-sizing: content-box;
}
.choix{
    flex: 1 1 auto;
    margin: 0cm;
}
.longueurMin1{
    min-width:30ex;
}
.longueurMin2{
    min-width:15ex;
}
.longueur1{
    width:35ex;
}
.longueur2{
    flex: 1 1 auto;
    margin: 0cm;
    width: 8ex;  
}
.longueur3{
    flex: 1 1 auto;
    margin: 0cm;
    max-width: 15ex;  
}
.espace{
    float: 1;
    margin-right:0.2cm;
}
ul {
    list-style: none;
    margin:0cm;
}
li::before {
    content: "•"; 
    color: rgb(0,176,80); 
    display: inline-block; 
    width: 1em;
    margin-left: -1em;
}
footer li{
    
    border-top: 1px solid rgb(0,176,80); 
    border-bottom: 1px solid rgb(0,176,80); 
    display:inline-block;
    list-style-type: none;
    margin:0.40cm;
}
footer li::before {
    content: ""; 
}
footer a{
    text-decoration: none;
    text-transform: uppercase;
    color:rgb(0,176,80);
}
.separation{
    border-block-end: 1px solid rgb(0,176,80);   
    margin-bottom:0.40cm; 
    box-shadow: 0 1px 2px 0 rgba(34,36,38,.15);
    border-radius: 3px;
}
.separation.bleu{
    border-block-end: 1px solid rgb(9,150,255);
}

.texte{
    color:  rgb(0,176,80);
    text-decoration: none;
}
a.texte:hover{
    color:   white;
}
.vert {
    color:  rgb(0,176,80);
}
.texte.bleu{
    color:  rgb(9,150,255);
}
.texte.orange{
    color:   rgb(237,28,36);
}
.texte.blanc{
    color:   white;
    text-decoration: none;
}
.slogan{
    margin-top:-0.40cm;
    padding-top : 0.40cm;
}
.annuler {
    margin-bottom : 0.0cm;
}
.marge {
    margin-bottom : 0.4cm;
}
.retour {
    margin-top : 0.0cm;
}
.modification{
    background-color:  rgb(0,176,80, 0.30);
}
.portable {
    display: none;
}
@media only screen and (min-width: 350px) {
    .recherche{
        font-size: large;
    }
}
@media only screen and (min-width: 700px) {
    .image {
        margin-left: 0.15cm;
        margin-right: 0.15cm ;
        margin-bottom: 0.40cm ;
        object-fit: contain;
        max-height: 3.5cm;
    }
    .moitie{
        max-width: 45%;
    }
}
@media only screen and (min-width: 1000px) {
    /* For desktop: */
    .portable {
        display: block;
    }
    h1 {
        font-size:x-large;
    }
    h2 {
        font-size:large;
    }
    .resultat{
        margin-right:0.40cm;
        margin-left:0.40cm;
    }
    .sansMarge{
        margin-right:0.0cm;
        margin-left:0.0cm; 
        padding-right:0.0cm;
        padding-left:0.0cm; 
    }
    .recherche{
        font-size: xx-large;
    }
}
