﻿/*
   Feuille de style CSS3
	inspiree d'Alsacreation
	(c) Leroys 2015

   2018 integration des css-grid

   2018-03-05 Edge bloque toute definition contenant any-link
*/ 

/* Couleurs utiles
  Peterman river #1f6EA1 #237DB6 #278BCB <#3498D8>  #49a3dc #5Faee0 #74b9e4
  Belize hole    #2980B9
  Alizarin       #bf2718 #d62c1a #e43725 <#E74C3C> #ea6153 #ed7669 #ef8B80             #f6bcb6  #fadcd9 #fffcfc
  Emerald        #2ECC71
  
  sisbat2        #fff
  bleu		    4285F4 76A7FA A0C3FF / 2359b3
  gris          f2f2f2 E6E6E6 CCCCCC 808080 333333
  couleurs sites 3a4991 h1:4455aa 4f62c4 596fde 637cf7
*/

/* @import url(//fonts.googleapis.com/css?family=xxx);*/

/* Tout ce qui est propre au site */
@import url("inc/const.css");


*,
*:before,
*:after {
  box-sizing: border-box;
}


body {
	text-align: justify;
	/*font-family: xxx,sans-serif;*/
	font-family: "DejaVu Sans", sans-serif;
	/*font-size:100%;*/
	background-color:#fff;
}

/*p {
	text-justify: auto;
   padding: 0.25rem;
   margin: 0.2rem 1rem 0.2rem 1rem;
}*/

p {
	text-justify: auto;
   padding: 0.1rem;
   margin: 0.1rem 0.5rem 0.1rem 1rem;
}

h1 {
   font-size:1.3em;
   /*margin:0px;*/
   background-color:var(--h1bg);
   color:var(--h1fg);
   margin: 0.2rem 0.5rem 0.2rem 0.5rem;
	 padding:0.2rem 0.5rem 0.2rem 0.5rem;
   overflow: hidden;
}

h2 {
  font-size:1.2em;
  color: var(--h1bg);
  margin: 0.2rem 0.0rem 0.2rem 1rem;
  padding:0.1rem 0.2rem 0.1rem 0.2rem;
}

h3 {
	font-size:1.1rem;
	/*background-color:var(--h3bg);*/
	/*color:#fff;*/
  color: #122844;
  margin: 0.2rem 0.5rem 0.2rem 1rem;
	padding: 0.1rem 0.5rem 0.1rem 0.0rem;
}

h4 {
	font-size:1.0rem;
	/*background-color:var(--h3bg);*/
	/*color:#fff;*/
  color: #122844;
  margin: 0.1rem 0.5rem 0.1rem 1rem;
	padding: 0.1rem 0.5rem 0.1rem 0.0rem;
}

/* plts */
canter img {
  background-color: #ff0;
}

/* n'afficher que le haut de la vignette */
.vignette {
/* RAF
	width: 200px;
  height: 100px;
  overflow: hidden;
*/
}

.vignette img {
	/*RAF width: 100%;*/
/*  height: 300px;
  margin: -75px 0 0 -100px;*/
	display: flex; /* block; */
	margin-left: auto;
  margin-right: auto;
  max-width: 90%;
  /*background-color:var(--ullibg);*/
}

header {
  font-size:1.4em;
  background-color:var(--h1bg);
  color:var(--topfg);
	margin: 0em 0em 0.5em 0em ; /* colle au plafond */
	padding:0.4em 0.5em 0.3em 0.5em;
}

footer {
	margin: 0.5em 1em 0.5em 1em ; /* colle au plafond */
	padding:0.25em;

}

pre {
   margin: 0.2rem 2rem 0.2rem 2rem;
   padding: 0.25em;
   background-color: #ddd;
}

table {
	margin: auto;
  width: 90%;
  border: 0px;
  padding: 10px;
  background-color: #fafaff; 
  /* cellspacing */
  /*border-spacing: 0.5rem 5px;*/
  /* Neu 200821 */
  border-spacing: 0;
  border-collapse: collapse;
}

.tbl1 {
  width: 100%;
  padding: 5px;
  /*border-collapse: collapse;*/
	/*background-color: #cc0;*/

}
.tbl1 td {
  padding: 0px;
}

td, th {
  text-justify: inherit;
  /* Neu 200821 */
	padding: 8px;
	vertical-align : top;
}

.doclist tr {
	border-top: 1px solid #ddd;


}

agauche {
   float:left;
   /*padding-left: 1em;*/
}

adroite {
   float:right;
   /*padding-right: 0.2em; la marge de l'englobant doit suffire */
}

adroite img {
  height: 1em;
  max-height: 1em;
  background-color:transparent;
  border: 0px solid var(--topbg);
  border-radius: 0px;
  /*padding: 0.1rem 1.0rem 0.1rem 1.0rem;*/
}

header a:link,
header a:visited {
  color: var(--h1fg);

}

header adroite {
   float:right;
   /*padding-right: 1em;*/
   margin-right:1.6rem;
}

header adroite img {
  height: 24px;
  max-height: 2rem;
  background-color:transparent;
  border: 0px solid var(--topbg);
  /*border-radius: 5px;*/
  /*padding: 0.3rem 0.3rem 0.3rem 0.3rem;*/
}

h1 adroite {
   float:right;
   /*padding-right: 1em;*/
}

h1 adroite img {
  height: 1.6rem;
  max-height: 1.6rem;
  background-color:transparent;
  border: 0px solid var(--topbg);
  /*border-radius: 5px;*/
  padding: 0.3rem 0.1rem 0rem 0.1rem;
}

h1 a:link,
h1 a:visited {
	/*color: var(--topfg);*/
	color: var(--h1fg);
}

h2 adroite {
   float:right;
   /*padding-right: 1em;*/
}

h2 adroite img {
  height: 1.6rem;
  max-height: 1.6rem;
  background-color:transparent;
  border: 0px solid var(--topbg);
  /*border-radius: 5px;*/
  padding: 0.3rem 0.1rem 0rem 0.1rem;
}

h2 a:link,
h2 a:visited {
	/*color: var(--topfg);*/
	/*color: var(--topfg);*/
}

/* body { background-color:#d00; } */

/* Pour centrer une image (encore faut-il que width soit superieur a la largeur de zone!*/
img, object, embed, canvas, video, audio, picture {
   max-width: 100%;
   height: auto;
}

video {
   max-width: 90%;
   height: auto;
   display: block;
   margin: 0 auto;
}

svg {
	fill: red;
}
	
/* Pour avoir des liens pas trop moches */
/* 4 etats: link (vierge), visited, hover et active (pdnt le clic) a declarer dans l'ordre */
a {
  color: var(--topbg);
  /*text-align: center;*/
  text-decoration: none;
  display: inline-block;
}

a:link, a:visited {
}

a:hover, a:active {
    background-color: var(--h3bg);
}

a.main_logo {
  color: var( --topfg);
}

/* Pour avoir des liens pas trop moches */
/*nav a:any-link,*/
nav a:link,
nav a:visited {
	color: black;
}

nav a:hover {
	color: var(--topfg);
}

input[type=submit] {
    padding:5px 15px; 
    /*background-color:#cc4; */
    color: white;
    background-color:var(--topbg);
    border:0 none;
    cursor:pointer;
    -webkit-border-radius: 5px;
    border-radius: 5px; 
	 display: block;

    margin: 2px auto;
}

/* Neu 200821 */
input[type="checkbox"] {
	margin: 4px 0 0 0;
  line-height: normal;
  box-sizing: border-box;
  padding: 0;
}

/* ligne verticale */
.lv {
	border-left: 1px solid var(--h1bg);
}

/* centrages */
.center_div {
	margin: auto;
  width: 100%;
  /*border: 1px solid black;*/
  padding: 10px;
}

.center_text {
	text-align: center;
   /*border: 1px solid black;*/
}

.center_img {
	display: flex; /* block; */
	margin-left: auto;
  margin-right: auto;
  max-width: 90%;
}

/* Centrage flexbox <div class=flxbox> <div> blablabla </div> </div> */
.center_flexbox {
	display: flex;
	justify-content:center;
	align-items: center;
	/* width = 600px */
}

.align_absolute {
	position: absolute;
   right: 0px;
   width: 300px;
   border: 1px solid black;
   padding: 10px;
}

.align_float {
   float: right;
   width: 300px;
   border: 1px solid black;
   padding: 10px;
}

/* si un element flotte est plus grand que son contenant il deborde, il suffit de rajouter ceci a son contenant */
.clearfix {
	overflow: auto;
}

.center_vert_padding {
	padding: 70px 0; /* a supposer que le contenant fasse 2x70px a peu pres */
}

.center_vert_20px {
	padding: 10px 0; /* Le contenant doit faire 20px de hauteur */
}

.center_line_height {
	line-height: 200px; 
   height: 200px; /* height == a line-height */
   border: 1px solid black;
   text-align: center;
}

/* si on a plusieurs lignes */
.center_line_height p {
	line-height: 1.5;
   display: inline-block;
   vertical-align: middle;
}

.center_vert_pos_transform {
    height: 200px;
    position: relative;
    border: 3px solid green;
}

.center_vert_pos_transform p {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Placement des lettres de la langue courante */
.upright {
  position: absolute;
  top: 0.3rem; 
  right: 0.3rem;
  height: 2rem;
  z-index: 100;
}

.upright_wrapper {
    /*display: flex;*/
    display: grid;
}

.upright img {
  height: 2em;
  background-color:white;
  border: 2px solid var(--topbg);
  border-radius: 5px;
}

/* classe .syntax - Pour afficher les regles syntaxiques */
.syntax {
    font-size: large;
	 font-weight: bold;
	 padding-left: 5%;
}

/* classe .code - pour afficher du code */
.code {
	font-size: small;
	background-color: #ddd; 
	margin: 0.1rem 1.2rem 0.1rem 1.2rem;
   padding: 0.2rem;
}

/* classe .logo - pour caler le logo */
.logo {
	float: right;
	width: 66%;
}

/* classe .myerror - Pour faire apparaitre un message d'erreur */
.erreur {
   background-color: red;
   color: yellow;	
	 border-radius: 5px;
}

.message {
   background-color: #888;
   color: white; 
   border-radius: 5px;
   padding: 0.1rem 0.2rem 0.1rem 0.2rem;
}

/*.shadowbox {
  width: 15em;
  border: 1px solid #333;
  box-shadow: 8px 8px 5px #444;
  padding: 8px 12px;
  background-image: linear-gradient(180deg, #fff, #ddd 40%, #ccc);
}*/

.shadowbox {
  /*width: 15em;*/
  /*width: 80%;*/

	margin: auto;
  /*border: 1px solid black;*/
  padding: 10px;

  border: 1px solid #333;
  box-shadow: 8px 8px 5px #444;
  padding: 8px 12px;
  background-image: linear-gradient(180deg, #fff, #ddd 40%, #ccc);
}



/* Dropdown Button - Bouton pour faire apparaitre un menu contextuel */
.dropbtn {
    background-color:  var(--h1bg);
    color: white;
    /*padding: 8px;*/
    font-size: 12px;
    border: 1px;
	  border-radius: 5px;
    cursor: pointer;
}

/* Dropdown button on hover & focus */
.dropbtn:hover, .dropbtn:focus {
	color: var(--topfg);
   background-color:  var(--topbg);
}

/* The conteneur <div> - needed to position the dropdown contenu */
.dropdown {
    /*position: relative;
    display: inline-block;*/
	 float: right;
	 padding-right: 0.5em;
	 padding-top: 0.1em;
   font-size: 1.2rem; /* Neu */
}

/* Dropdown contenu (Hidden by Default) */
/* Sur un telephone le menu n'est pas completement visible,
 en le centrant ainsi on n'a plus le probleme */
.dropdown-content {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
		padding: 0.5em;
    background-color: #f1f1f1;
    /*min-width: 12em;*/
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.8);
    z-index: 1;
    transform: translate(-50%, -50%);
    /*font-size: 1.0rem;*/
}

/* div permettant d'aligner les elements dans une div incluse */
.dropdown-flex {
	display: flex;
	justify-content: center;
	/*alig-items:center;
	width:15em;*/
}

/* aligner les icones de vues */
.dropdown-flex-bar {
	display: flex;
  max-height: 3rem;
}

/*.dropdown-flex-bar a {
	display: flex;
  background-color: #ffff00;
}*/

/* les icones embarquees */
.dropdown-flex img {
	height: 2rem;
  padding: 0px;
  margin: 0px;
}

 /* Bouton dans le drop - Bouton pour faire apparaitre un menu contextuel */
.btnplein
 {
   width: 100%;
   background-color: var(--topbg);
   color: white;
   /*padding: 8px;*/
   padding:5px 15px; 
	 margin: 2px;
   border: 1px;
	 border-radius: 5px;
   cursor: pointer;
   display: block;
   font-size: 1.2rem; /* Neu */
}

.btndemi {
   width: 50%;
   background-color: var(--topbg);
   color: white;
   /*padding: 8px;*/
   padding:5px 15px; 
	 margin: 2px;
   border: 1px;
	 border-radius: 5px;
   cursor: pointer;
   display: block;
   font-size: 1.2rem; /* Neu */
}

 /* Lien dans le drop - Bouton pour faire apparaitre un menu contextuel */
.dropdown-content a {
    background-color: var(--topbg);
    color: white;
    padding:5px 15px;
	  margin: 2px;
    /*font-size: 12px;*/
    border: 1px;
	  border-radius: 5px;
    cursor: pointer;
    display: block;
    font-size: 1.2rem;
}

.dropdown-content input[type=submit] {
    /*width: 50%;*/
    background-color: var(--topbg);
    color: white;
    padding:5px 15px; 
	  margin: 2px;
    /* font-size: 12px; */
    border: 1px;
	  border-radius: 5px;
    cursor: pointer;
    display: block;
    font-size: 1.2rem;
}

.dropdown-content input[type=submit]:hover, 
.btnindrop:hover,
.dropdown-content a:hover {
    color: var(--topfg);
    background-color: var(--h3bg);
}

.dropdown-flex-bar a {
	display: flex;
  background-color: var(--topfg);
}

.dropdown-flex-bar input[type=submit] {
  width: 50%;
}

/* Show the dropdown menu (use JS to add this class to the .dropdown-contenu conteneur when the user clicks on the dropdown button) */
.show {display:block;} 

/* une barre d'image par exemple */
.barre {
  display: flex;
}

.barre img {
  height: 1rem;
  background-color:white;
  /*border: 2px solid var(--topbg);
  border-radius: 5px;*/
}


/* dispositif de stockage d'une image, d'un titre et d'un commentaire */
.carte {
  margin-bottom: 2em;
  /*border: 2px solid #444;*/
  border: 0px solid #444;
  padding: 10px;
}

  /* clearfix*/
.carte:after {
    content: "";
    display: block;
    clear: both;
}

.carte > .carte {
    margin-left: 160px;
    clear: both;
}

/*.carte .img {
    float: left;
    margin: 0 10px 0 0;
    width: 150px;
}*/

.carte .img {
	/*display: flex;*/
	display: block;
	margin-left: auto;
   margin-right: auto;
   max-width: 90%;
}

.img a {
	display: block;
}

.glyphe {
	/*height:1rem;*/
}
  
.carte .footer {
    background-color: #eee;
    padding: 10px;
}

.carte > * {
    margin: 0 0 0 160px;
}

.imginline {
	height: 1rem;
  padding: 0 1rem 0 0.1rem
}

.reps {
	display: block;
  background-color: yellow;
}


/* div pour contenir une image et des fleches surgissantes */
.overlay-img {
 position: relative;
  /*width: 100%;*/
 max-width: 100%;
 max-height: 100%;
}

/* image originale */
.overlay-img .image {
 max-width: 100%;
 max-height: 100%;
}

/* Un texte */
.overlay-img .text {
 color: #fff;
 font-size: 30px;
 line-height: 1.5em;
 text-shadow: 2px 2px 2px #000;
 text-align: center;
 position: absolute;
 top: 90%;
 left: 50%;
 transform: translate(-50%, -50%);
 width: 100%;
 opacity: 1.0;
}

.overlay-img .left {
 position: absolute;
 top: 50%;
 left: 5%;
 transform: translate(-50%, -50%);
 width: 10%;
 opacity: 0.0;
}

.overlay-img .right {
 position: absolute;
 top: 50%;
 left: 95%;
 transform: translate(-50%, -50%);
 width: 10%;
 opacity: 0.0;
}

/* Overlay */
.overlay-img .text:hover {
  opacity: 1.0;
  transition: .5s ease;
}
.overlay-img .right:hover {
  opacity: 1.0;
  transition: .5s ease;
}
.overlay-img .left:hover {
  opacity: 1.0;
  transition: .5s ease;
}

#plein_ecran :fullscreen {
width: 100%;
height: 100%;
}

/* Crop image */
.crop-container {
    position: relative;
    display: inline-block;
    /*cursor: move;*/
    margin: 0 auto;
}

.crop-container img {
   position: absolute;
   z-index:1;
}

.crop-container canvas {
   position: relative;
   z-index:20;
}

.crop-ne,
.crop-se,
.crop-nw,
.crop-sw {
    position: absolute;
    display: block;
    width: 10px;
    height: 10px;
    background: rgba(222,60,80,.9);
    z-index: 999;
}

.crop-nw {
    top: -5px;
    left: -5px;
    cursor: nw-resize;
}

.crop-sw {
    bottom: -5px;
    left: -5px;
    cursor: sw-resize;
}

.crop-ne {
    top: -5px;
    right: -5px;
    cursor: ne-resize;
}

.crop-se {
    bottom: -5px;
    right: -5px;
    cursor: se-resize;
}
/*
.resize-container img {
    display: block
}

.resize-container:hover img,
.resize-container:active img {
    outline: 2px dashed rgba(222,60,80,.9);
}
*/

/* ------------------------------------------------------------------- */
@supports (display: grid ) {
/* Conteneur principal de la page */
  .conteneur {
    display: grid;
    width: 100%;
    height: 600px;
    grid-template-columns: 1fr 1fr 1fr;
    /*grid-template-columns: repeat( auto-fill, minmax(50px, 1fr));*/
    grid-template-rows: 80px 1fr 1fr 80px;
    grid-gap: 1rem;
    /*margin: 1rem;*/
  }

  .header {
    grid-row: 1 / 2;
    grid-column: 1 / 4;
    font-size:1.4em;
    margin:0px;
    background-color: var(--topbg);
    color: #fff;
    align-items: start;
  }

  .header_wrapper {
    display: block;
    margin: 0 auto;
    position: relative;
    /*max-width: 1280px;*/
    padding: 0 32px 0 0; 
  }

  .header_left {
    display: flex;
    float: left;
    text-align: right!important;
    position: relative;
    width: auto;
  }

  .header_left img {
    height: 80px;
  }

  .header_right {
    display: block;
    height: 30px;
    margin: 21px 0 0 0; /*20px*/
    float: right;
    text-align: right!important;
    position: relative;
    /*min-width: 450px;*/
    width: auto;
  }

  .header_vert_center {
    line-height: 80px;
    overflow: hidden;
    height: 80px;
    border: 0px;
    padding-left: 10px;
    font-size: 2em;  
  }

  .footer {
    grid-row: 4 / 5;
    grid-column: 1 / 4;
    background-color: var(--topbg);

		padding: 30px 0;
    color: white;
  }

	.footer a {
    color: white;
	}

  /* override */
  .carte > *
  /*, .carte.carte-flip > * */
  {
    margin: 0;
  }
  
  /*.carte .img {
    width: auto;
    margin: 0;
  }*/
  
  .carte:after {
    content: none;
  }
  
  .carte {
    display: grid;
    grid-column-gap: 22px; /*20px*/
    grid-template-columns: 1fr 3fr;
    grid-template-rows: auto 1fr auto;
    grid-template-areas:
      "img ttr"
      "img ctn"
      ;
  }

  /* nested */
  .carte > .carte {
    grid-column: 2 / -1 ;
    margin: 0; /* override */
    margin-top: 1em;
  }
  .carte > .titre { grid-area: ttr; }
  .carte > .img { grid-area: img; }
  .carte > .contenu { grid-area: ctn; }
  .carte > .footer { grid-area: ft; }
} /* support display:grid */

/* ------------------------------------------------------------------- */

@supports not(display: grid ) {

  .conteneur {
    display: block;
    width: 100%;
  }

  .header {
    height: 80px;
    font-size:1.4em;
    margin:0px;
    background-color: var(--topbg);
    color: #fff;
    align-items: start;
  }

  .header_wrapper {
    display: block;
    margin: 0 auto;
    position: relative;
    /*max-width: 1280px;*/
    padding: 0 32px 0 0; 
  }

  .header_left {
    display: flex;
    float: left;
    text-align: right!important;
    position: relative;
    width: auto;
  }

  .header_right {
    display: block;
    height: 30px;
    margin: 23px 0 0 0; /*20px*/
    float: right;
    text-align: right!important;
    position: relative;
    width: auto;
  }

  .header_vert_center {
    line-height: 80px;
    height: 80px;
    border: 0px;
    padding-left: 10px;
    font-size: 3em;  
  }

}
/* ------------------------------------------------------------------- */
@media (max-width: 800px) {
  .header_vert_center {
    font-size: 1.5em;  
  }
  .conteneur {
    display: inline;
    width: 100%;
    /*height: 600px;*/
    /*grid-template-columns: 1fr;*/
    /*grid-template-columns: repeat( auto-fill, minmax(50px, 1fr));*/
    /*grid-template-rows: 80px repeat(1fr) 80px;*/
    /*grid-gap: 1rem;*/
    /*margin: 1rem;*/
  }

  .header {
    height: 80px;
    font-size:1.4em;
    margin:0px;
    background-color: var(--topbg);
    color: #fff;
    align-items: start;
  }

  .header_wrapper {
    display: block;
    margin: 0 auto;
    position: relative;
    /*max-width: 1280px;*/
    padding: 0 32px 0 0; 
  }

  .header_left {
    display: flex;
    float: left;
    text-align: right!important;
    position: relative;
    width: auto;
  }

  .header_right {
    display: block;
    height: 30px;
    margin: 24px 0 0 0; /*20px*/
    float: right;
    text-align: right!important;
    position: relative;
    width: auto;
  }

  .header_vert_center {
    line-height: 80px;
    height: 80px;
    border: 0px;
    padding-left: 10px;
    font-size: 1em;  
  }

  .carte {
    padding: 10px 0;
    display: grid;
    grid-column-gap: 25px; /*20px*/
    grid-template-columns: 1fr;
    grid-template-areas:
      "ttr"
      "img"
      "ctn"
      ;
  }

  .carte > *
  {
    margin: 0;
  }
  
	/* Pour rendre les checkbox plus visible */
	/*article input[type=checkbox] {
  	transform: scale(1.5);
	}*/

	#mapdiv { 
    height: 400px; 
  }
}
/* --------------------------------------------------------------------- */
/* Responsive Navigation styles begin here */
@media (max-width: 1280px) {

  body {
   margin: 0px; 
	background-color:#fff;
  }

/* Nouveau */
img {
   display: block;
   margin: auto;
}
/* fin nouveau */

  aside, #topmenu {
    background-color:#ccc; 
  }

  h1 {
   font-size:1.6em;
   margin:0px;
   background-color:var(--h1bg);
   color:#fff;
   margin: 0.0em 0em 0.2em 0em;
   padding:0.2em 0.5em 0.2em 0.75em;
   overflow: hidden;
  }

  .dropdown {
    padding-right: 2.5em; /* a cause des trois bandes */
  }
  nav + * {
    position: relative;
  }

  nav {
  }

  nav ul {
    padding:0;
    margin:0;
  }

  /*nav ul li {
  width:256px;
  height: 1em;
  padding:2px;
  margin:2px;
  }*/

  nav ul li:hover {
    color: white;
    /*background-color:var(--h2bg);*/
  }

  /* Theming opened nav */   
  nav ul, nav ul li ul {      
    /* maximum height */
    max-height: 125em;

    /* translate with hardware acceleration */
    -webkit-transform: translateZ(0); 
    -ms-transform: translateZ(0);
      transform: translateZ(0);
    -webkit-transition: max-height .4s;
      transition: max-height .4s;
    will-change: max-height;

    /* global styles */
    margin: 0;
    padding: 0;
    list-style: none;
  }

  nav ul {
    background-color:transparent;
    color: #fff;
  }

  nav ul li{
    width: 100%;
    background-color:var(--topbg);
    display: table;
  }

  nav ul li ul {
    /*background-color: transparent;*/
    background-color:var(--ulliulbg); /*#76A7FA;*/
    position: relative;
    left: auto;
    width: auto;
    height: auto;
    overflow: visible;
  }

  nav ul li ul li {
    background-color:transparent;
  }

  nav a {
    display: block;
    padding: 0.2rem;
    color: #000;
    text-decoration: none;
  }

  /*nav a:hover, 
  nav a:focus,
  nav a:active
  {
    background-color: var(--h2bg);
  } */  

  /* Theming closed nav */


  nav.is-closed ul {
    max-height: 0;
    overflow: hidden;
  }

  /* Bouton de menu */
  nav > button {
    position: absolute;
    top: 0.5em; 
    right: 0.6em;
    z-index: 100;
    width: 2.4em;
    height: 2em;
    border: 1px solid grey;
    background-color: transparent;
  }

  /*nav > button::before {
    contenu: "";
    position: absolute;
    top: 0em; 
    right: 0em;
    z-index: 1;
    width: 2.4em;
    height: 0.3em;
    background-color: white;
    box-shadow: 
      0 0.8em 0 0 white,
      0 1.6em 0 0 white;
  }*/

  /* Hide alternate text except from screen readers */
  .visually-hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px;
  width: 1px;
  }
   
  .carte > *
  , .contenu p
  {
    margin: 0;
		padding: 0.5em;
  }
  
.carte .img {
   min-width: 160px;
}

	#mapdiv { height: 600px; }
}
/* --------------------------------------------------------------------------*/
@media (min-width: 1281px) {

nav ul li {
	display:inline-block;
}

nav ul {
	padding:0;
	margin:0;
	height:1.6em;
}

nav ul:hover {
	color: white;
   /*background-color:transparent;*/
}

nav ul li {
width:172px; /* 7 colonnes au max */
padding:2px 2px 3px 2px;
margin:2px;
}

nav ul li:hover {
	/*color: var(--topfg);*/
}

nav ul li ul {
   position:absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
   
    background-color:var(--h1bg);
    float: left; /* Fix WebKit : force la largeur des sous-navigations à s’adapter automatiquement, pour pouvoir l’atteindre à la souris */
   /*-moz-transition: 0.8s all .3s;
   -webkit-transition: 0.8s all .3s;
   transition: 0.8s all .3s;*/
}

nav ul li:hover ul {
    position: relative;
    left: auto;
    width: auto;
    height: auto;
    overflow: visible;
}

/* PLTS */
  nav + * {
    position: relative;
  }
/* PLTS / */

body {
   margin: 0px;
   /*padding: 0px;*/
}

#topmenu {
   position: absolute; /* requis pour le z-index absolute, relative ou fixed  */
   top: 0px;
   width:100%;        /* 1° on fixe la largeur */
   background-color:var(--topbg);
   color:var(--topfg);
   z-index:10;
}

/* Disposition par défaut */
#global {
   position: absolute;
   top: 32px;
   width:900px;        /* 1° on fixe la largeur */
   left: 50%;          /* 2° on le positionne au milieu de la page */
   margin-left:-450px; /* 3° on le decale vers la gauche de la moitie de sa largeur */
   padding:0px;
   background-color: #fff;
	z-index:2;
}

/* Disposition sans barre laterale aside */
.etendu {
   position: absolute;
	 margin-left: 10px;
   top: 25px;
   /*background-color: var(--ullibg);*/
	 z-index:2;
}

section {
   width:600px; 
   background-color:#fff; 
   float:left;  
}

aside {
   width:275px; 
   background-color:#fff; 
   float:right;
	z-index:1;
}

@supports (display: grid ) {
/* Conteneur principal de la page */
  .conteneur {
    position:absolute;
    top: 26px;
  }

.carte .img {
   min-width: 200px;
}

	#mapdiv { 
    height: 800px; 
	  font-size: 20px;
    font-stretch: 200%;
  }


}

/* min-width pour moyennes résolutions cassiopée */
@media screen and (min-width: 1281px) {

   #global {
      width:1280px;
      margin-left:-640px; /* 3° on le decale vers la gauche de la moitie de sa largeur */
   }

   section {
      width:981px; 
   }
}


/* -- gestion du menu deroulant -- */
p.mention {
   margin: 1em;
   color:#666;
   clear:both;
   padding-top:2em;
}


#global img {
   border: 0px;
}

/*
p {
	font-size: 1rem;
   padding: 0.2rem;
   margin: 0.2em;
   -webkit-margin-before: 0px;
   -webkit-margin-after: 0px;
   -webkit-margin-start: 0px;
   -webkit-margin-end: 0px;
}

article, header, footer {
   display:inline-block;
   background-color:#f0f0f0;
   margin: 0px;
   padding: 0px;
}

article {
   width:100%;
   overflow: hidden;
}*/


/*
header, footer {
   width:100%;
   margin:0px;
   background-color:var(--h1bg);
   color:#fff;
   padding:0.2rem;
   overflow: hidden;
}
*/
img {
   display: block;
   margin: auto;
}

input[type=file], input[type=email]  { width: 300px;}

/* la classe snav est associee au nav ul li ul li */
.snav {
  /* height: inherit; inhibe sur les petits ecrans /* si l'entree est sur deux lignes */
  /* background-color:var(--h1bg); inhibe sur les petis ecrans */
}

.snav:hover {
  /*background-color:var(--h3bg);*/
}

/* les a href */
nav a{
  text-decoration:none;
  display:block;
  color:#fff;
}

nav ul a{
}

nav li:hover li a{
  text-transform:inherit;
}

nav li:hover a, nav li li:hover a
{
  /*color:#000;*/
  /*color: var(--topfg);*/
  text-align: left;
}

#sidebar > article > object {
  margin: 18px;
}

  .carte > *
  , .contenu p
  {
    margin: 0;
  }
  
}

