
body { margin: 0; padding: 0;}
header { 
	width: 100%; 
	padding: 0; margin:0;
	background:linear-gradient(175deg, blue, #66f); color:white;
	display: flex; 
	position: sticky; top:0; 
	box-shadow: 0 5px 5px darkgrey;
	z-index: 100;
}

header h1 { font-family: system-ui }
header ul { display: flex; justify-content: start; align-items: center; text-transform: uppercase; }
header li { list-style: none; display: block; position: relative;}
header li ul li { margin: 0; padding: 0.5em; white-space: nowrap }
nav a { color: inherit; text-decoration: solid; }
nav li.visible a { color: red; }


body.show_home_image #home_image { display: block; box-shadow: 0 5px 5px darkgrey;}
body.show_home_image header { box-shadow: none; }


footer {
	background: lightgrey; color: blue;
	text-align: center;
}


article h1,  article h2,  article h3,  article h4
{
	color: #f8b000;
    font-family: "Montserrat", Georgia, "Times New Roman", Times, serif;
    font-weight: 400;
    margin: 0;
    page-break-after: avoid;
  }
 article h1 {
    text-align: center;
    padding: 0;
    margin: 1em 0;
    font-size: 160%;
    font-weight: bold;
	 font-variant: small-caps;
	 text-shadow: 1px 1px lightgrey;
 }
 article h2 {
    width: 100%;
    line-height: 2.1;
    padding: 0;
    margin: 0.8em 0 0.7em 0;
    border-bottom: 1px solid #f8b000;
    font-size: 140%;
  }
 article h3 {
    font-size: 120%;
    margin: 50px 0 0.6em 0;
  }
 article h4
  {
    font-size: 100%;
    margin: 20px 0 1.3125em 0;
  }

@media (min-width: 900px) {
	header { align-items: center;}
	header h1 { margin: 0 0 0 20%; }
	header nav { flex:1; margin-right: 7em; }
	header ul { flex-flow: wrap; padding: 0 5%; margin: 0; }
	header li { margin: 1em 1em 0 1em; padding: 1em 0; cursor: pointer; }
	header li ul { position: absolute; top:100%; padding: 0.5em; z-index: 1000; background:#33f}
	header li ul { display: none }
	header li:hover ul { display: block; }

	header #menu_icon { display: none; }

	#home_image { height: 30em; width: 100%; margin-bottom: 4em;
				  background-image: url("img/coucher_soleil.jpg"); background-size: cover; background-position: bottom; }

	#page_and_links { 
		margin: 0; 
		display:flex;
		justify-content: center;
	}
	#page { width: 50vw; }
	#links { width: 15em; flex-grow:0; flex-shrink:0; padding-left: 1em; }
	#links article { border: solid 1px lightgrey; border-radius: .5em;
					 margin-top: 1em; padding: 1em; }
	#links h1 { margin: .2em 0; text-transform: uppercase; color: grey; font-size: 1em;}
	#links ul { list-style-type: none; }
	
	footer { padding: 2em 20%; margin-top: 2em; }
}




@media (max-width: 900px) {
	header { flex-flow: column; align-items: flex-start; user-select: none;  }
	header #menu_icon { 
		display: block; position: absolute; right: 1em; top: 2.5em; 
		padding: 0 5px;
		border: solid navy 1pt;   border-radius: 3px;
	}
	header h1, nav { margin-left: 5%; }
	#page_and_links { margin: 0 5% }
	#links { display: none; }
		
	header ul { flex-flow: column; align-items: flex-start; padding:0; margin:0; color: navy; }
	header li { padding: 0.5em 0; }
	header li ul { padding-top: 0.5em; }
	header li ul li { padding-left: 1.5em; }
	
	nav { height: 0 ; overflow: hidden; transition: height 0.5s; }
	nav ul.submenu_hidden { display: none; }
	
	#home_image { height: 30em; width: 100%; margin-bottom: 2em;
				  background-image: url("img/coucher_soleil_portrait.jpg"); background-size: cover; background-position: bottom; }

	footer { padding: 1em 5%; margin-top: 2em; }
}


.img_with_caption { text-align: center; color: #333; font-size: small }
.img_with_caption img,video,iframe { display: block; border-radius: 1em; max-width: 100%; }
@media (min-width: 900px) {
	.img_with_caption { width:90%; margin: 3em auto; }
	.img_with_caption img { width: 100% }
}
@media (max-width: 900px) {
	.img_with_caption { width:100%; margin: 2em 0; }
}

ul.tirets li { list-style-type: "-  ";  margin-bottom: 1em; }


.anchor { position:relative; bottom: 5em; }




#diaporama {
	width:100%; height: 80vh; max-height: 130vmin; overflow: hidden; #overflow-x: scroll;
	display: flex; position: relative;
}
#diaporama_ribbon { display: flex; height: 100%; transition: transform 0.5s }
#diaporama a { display: flex; height: 100%; width: 100%; flex-shrink:0; flex-grow: 0; background: white; }
#diaporama img { max-width: 100%; max-height: 100%; display: inline-block; margin: auto; border-radius: 1em;  }
#diaporama_left, #diaporama_right { 
	height: 100%; width: 3em; position: absolute; z-index: 10;
	display: flex }
#diaporama_right { right: 0}

