@font-face 
    {
    font-family: 'calamusdbonniniregular';
    src: url('../polices/calamusdbonnini-regular-webfont.eot');
    src: url('../polices/calamusdbonnini-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('../polices/calamusdbonnini-regular-webfont.woff2') format('woff2'),
         url('../polices/calamusdbonnini-regular-webfont.woff') format('woff'),
         url('../polices/calamusdbonnini-regular-webfont.svg#calamusdbonniniregular') format('svg');
    font-weight: normal;
    font-style: normal;
    }

@font-face {
    font-family: 'DINNextLTPro';
    font-weight: 300;
    font-style: normal;
    src: url("../polices/DINNextLTPro-Light.woff") format('woff');     
}

@font-face {
    font-family: 'DINNextLTPro';
    font-weight: 300;
    font-style: italic;
    src: url("../polices/DINNextLTPro-LightItalic.woff") format('woff');     
}


html
   	{
	   scroll-behavior: smooth;
   	}

header
	{
	position: absolute;
	top: 0%;
	line-height: 6%;
	width: 82%;
	margin: auto;
	text-align: center;
	}

header h1
	{
	color: white;
	font-size: 3.7em;
	font-family: "calamusdbonniniregular",Arial,serif;
	font-weight: bold;
	text-align: center;
	}

		/* en-dessous de 812 px de large, le header n'est plus lisible : on réduit la taille de police selon la largeur dispo */

		@media (max-width: 945px)
	       
		{

		header h1
			{
			font-size: 2.8em;
			}

		}

		@media (max-width: 710px)
	       
		{

		header
			{
			line-height: 40px;
			}

		header h1
			{
			font-size: 2.4em;
			}

		}

		@media (max-width: 354px)
	       
		{

		header
			{
			line-height: 55px;
			}

		header h1
			{
			font-size: 2.1em;
			}

		}

header a
	{
	color: white;
	text-decoration: none;
	transition: color 0.6s;
	}

header a:hover
	{
	color: #497AFC;
	}

.langue
	{
	position: relative;
	margin: 0 0 0 80%;
	}
	
		@media (max-width: 466px)
	       
		{	
        .langue
	        {
	        margin: 0 0 0 78%;
	        }
	    }
	    	
		@media (max-width: 386px)
	       
		{	
        .langue
	        {
	        margin: 0 0 0 75%;
	        }
	    }
	    
ul.choix
	{
	list-style: none;
	}

li.choix
	{
	display: inline-block;
	line-height: 1em;
	background-color: rgba(255,209,142,0.5);
	border: 3px #FCAF3E outset;
	border-radius: 9px;
	margin: 5px 10px 5px 10px;
	padding: 4px 6px 0px 6px;
	font-family: 'DINNextLTPro',serif;
	color: black;
	font-size: 1em;
	}

ul.choix a
	{	
	text-decoration: none;
	}

li.choix:hover
	{
	background-color: rgba(30,63,109,0.8);
	border: 3px white outset;
	color: white;
	transition: 0.5s;
	}

body
     	{
     	width:  100%  !important;
     	max-width:  100%  !important;
     	margin: auto;
	background: white url(../images/lx-lm_cloche.jpg) no-repeat fixed;
	background-size: cover;
    	}

		/* en-dessous de 430 px, on change l'image de fond */

		@media (max-width: 430px)
	       
		{

		body
 		    	{
			background: white url(../images/arches.png) repeat;
  		  	}

		}

aside
	{
	position: relative;
        z-index: 10;	
	width: 80%;
	height: 5%;
	margin-bottom: 2%;
	margin-top: 5%;
	}

	/* en-dessous de 760 px de large, on met le bloc au centre*/

		@media (max-width: 759px)
	       
		{
		aside
			{
			width: 100%
			}
		}


aside ul.navigation
	{
	list-style: none;
	color: white;
	font-size: 1.4em;
	font-family: "calamusdbonniniregular",Arial,serif;
	font-weight: bold;
	text-align: center;
	word-spacing: 3px;
	}

aside li.sommaire
	{
	display: inline-block;
	border: 3px rgba(255,255,255,0.5) outset;
	border-radius: 8px;
	padding: 6px 10px 6px 10px;
	margin: 0px 10px 10px 10px;
	background-color: rgba(73,122,252,0.2);
	transition: color 0.8s;
	}

aside a
	{
	color: white;
	text-decoration: none;
	transition: color 0.8s;
	}

aside a.horaire_exceptionnel
	{
	color: black;
	text-decoration: none;
	transition: color 0.8s;
	}

aside a:hover
	{
	color: red;
	}

aside a.horaire_exceptionnel:hover
	{
	color: red;
	}

aside li.important
	{
	display: table;
	margin: auto;
	color: black;
	text-align: center;
	padding: 4px 5px 4px 5px;
	background-color: rgba(242,201,13,0.7);
	border-radius: 10px;
	}

aside li.horaire_exceptionnel
	{
	margin: auto;
	color: white;
	text-align: center;
	padding: 4px 5px 4px 5px;
	}

aside span.important
	{	
	display: inline;
	color: black;
	text-align: center;
	border: 3px red dotted;
	padding: 4px 5px 4px 5px;
	background-color: rgba(242,201,13,1);
	animation: clignoter 0.7s steps(2, start) 3;
	}

aside img
	{
	margin-top: 10px;
	margin-right: 10px;
	margin-bottom: -15px;
	}

@keyframes clignoter
       	{
	0% { opacity:0; }
	100% { opacity:1; }	
	}

section
	{
	position: absolute;
	left: 16%;
	width: 52%;
	}

		/* en-dessous de 760 px de large, on élargit la section */

		@media (max-width: 759px)
	       
		{
	
		section
			{
			position: relative;
			left: 16%;
			width: 72%;
			}

		}

section table.horaires
	{
	color: white;
	font-family: "calamusdbonniniregular",serif;
	font-size: 1.2em;
	letter-spacing: 1px;
	word-spacing: 2px;
	border-collapse: collapse;
	border-left: none;
	border-top: none;
	}

section caption 
	{
	font-size: 1.8em;
	color: red;
	text-align: center;
	}

section td, th
	{
	padding: 3px 8px 3px 8px;
	text-align: center;
	border-bottom: 2px dotted red;
	}

section th
	{
	color: #7DD3FC;
	font-size: 1.2em;
	}

section p
	{
	color: white;
	text-align: left;
	font-family: "DINNextLTPro",serif;
	font-size: 1.2em;
	letter-spacing: 2px;
	word-spacing: 4px;
	}	

section p.remarque
	{
	width: 60%;
	margin-left: auto;
	margin-right: auto;
	color: #FFC2C2;
	text-align: center;
	font-size: 1.3em;
	border: 2px red solid;
	border-radius: 10px;
	padding: 5px 8px 5px 5px;
	background-color: rgba(75,66,66,0.4);
	}

		/* en-dessous de 760 px de large, on élargit la section */

		@media (max-width: 759px)
	       
		{

		section p.remarque
			{
			width: 90%;
			}
		}

section p.alia
	{
	font-size: 2em;
	text-align: center;
	}

section p.titre
	{
	font-family: "calamusdbonniniregular",serif;
	font-size: 2.8em;
	text-align: center;
	color: red;
	margin-bottom: 0;
	}

section a
	{
	color: #7DD3FC;
	transition: color 0.6s;
	}

section a:hover
	{
	color: #497AFC;
	}

nav
	{
	position: fixed;
	right: 5px;
	width: 20%;
	height: 77%;
	padding: 8px 8px 8px 8px;
	}

nav ul.menu
	{
	display: block;
	list-style: none;
	color: white;
	font-size: 1.5em;
	font-family: "calamusdbonniniregular",serif;
	font-weight: bold;
	text-align: left;
	word-spacing: 3px;
	border: none;
	}

nav li.menu
	{
	display: block;
	border: 3px white outset;
	border-radius: 10px;
	padding: 5px 5px 9px 9px;
	margin-top: 15px;
	margin-bottom: 15px;
	background-color: rgba(255,0,0,0.5);
	transition: color 0.8s;
	}

nav li.menu-deroulant
	{
	display: block;
	border: 3px white outset;
	border-radius: 10px;
	padding: 5px 5px 9px 9px;
	margin-top: 15px;
	margin-bottom: 15px;
	background-color: rgba(255,0,0,0.5);
	}

nav ul.sous-menu
	{
	height: 0;
	overflow: hidden;
	list-style: none;
	transition: .8s all .3s;
	}

nav li:hover ul.sous-menu 
	{
	height: 65px;
	display: block;
	padding: 0 0 0 0;
	}

		/* écrans étroits : le bloc nav passe au centre et on réduit les polices */

		@media (max-width: 759px)
	       
		{

		nav
			{
			position: relative;
			margin: auto;
			width: 60%;
			padding: 4px 4px 4px 4px;
			}

		nav ul.menu
			{
			font-size: 1.2em;
			text-align: center;
			}

		nav li.menu
			{
			border: 2px white outset;
			padding: 3px 3px 6px 6px;
			margin-top: 10px;
			margin-bottom: 10px;
			}
		}

		/* écrans de moins de 450px de hauteur : on réduit les polices du bloc nav et on l'élargit*/

		@media (max-height: 450px)

		{

		nav ul.menu
			{
			font-size: 1.1em;
			}

		nav li.menu
			{
			border: 2px white outset;
			padding: 3px 3px 6px 6px;
			margin-top: 10px;
			margin-bottom: 10px;
			}
	       
		nav
	       		{
		       	width: 25%;
	       		}
		
		}

nav a
	{
	text-decoration: none;
	color: white
	}

nav a:hover
	{
	color: black;
	}

li.menu:hover
	{
	background-color: rgba(255,180,180,0.5);
	}

footer
	{
	position: fixed;
	width: 28%;
	height: 10%;
	bottom: 6px;
	right: 5px;
	}

		/* cas particulier des écrans de moins de 811 px de large : le footer est centré */

		@media (max-width: 759px)
	       
		{
	
		footer
			{
			position: relative;
			bottom: 0;
			width: 70%;
			margin: auto;
			}
		}

footer a
	{
	color: white;
	font-weight: normal;
	transition: color 0.8s, font-weight 1s;
	}

footer a:hover
	{
	font-weight: bold;
	color: #497AFC;
	}

footer p.mentions
	{
	display: inline-block;
	border: 1px grey inset;
	border-radius: 10px;
	padding: 5px 7px 5px 7px;
	margin-left: 6px;
	color: white;
	font-size: 0.8em;
	font-family: serif;
	text-align: center;
	background-color: rgba(0,0,0,0.5);
	}
#topp
	{
	position: fixed;
	left: 10px;
	top: 40%;
	width: 35px;
	height: 35px;
	border: 3px solid grey;
	border-radius: 20px;
	background-color: rgba(255,255,255,0.3);
	opacity: 0.7;
	transition: 0.5s;
	}

#topp:hover
	{
	border: 3px solid white;
	opacity: 1;
	}
	
	
