@charset "utf-8";

html {
	min-height: 100vh;
}

body {
	font-family: 'Open Sans', sans-serif;
	margin: 0;
	--main-color : #005191;
}

#Entête, section, #Pied-de-page {
	margin: 0.5rem;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--main-color);
	margin: 0 0 0.1rem 0;
}

p, ul, ol {
	text-align: justify;
	margin: 0 0 0.5rem 0;
}

input, textarea, select {
	font-family:inherit;
	font-size: inherit;
	min-height: 2rem;
}

input[type="date"], input[type="datetime-local"], input[type="email"], input[type="file"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], textarea, select {
    border: 0.05rem var(--main-color) solid;
	border-radius: 0.1rem;
	padding: 0.25rem;
	box-sizing: border-box;
}

/* Tableau */

table {
	margin: 0 0 0.5rem 0;
	border-collapse: collapse;
	min-width: 100%
}

table, th, td {
	border: 0.05rem var(--main-color) solid;
}

th, td {
	text-align: center;
	padding: 0.5rem;
}

th {
	background-color: var(--main-color);
	font-weight: bold;
	color: #FFFFFF;
}

/* .bigTab */

.bigTab {
    overflow-x: auto;
}

/* .tabSel */

table.tabSel, .tabSel th, .tabSel td {
	border: 0;
}

.tabSel input, .tabSel textarea, .tabSel select {
	width: unset;
}

.tabSel td:nth-of-type(odd) {
	text-align: right;
}

.tabSel td:nth-of-type(even) {
	text-align: left;
}

iframe {
	width: 100%;
    box-sizing: border-box;
	border: none;
}

input[type="button"], input[type="submit"], input[type="reset"] {
    background-color: var(--main-color);
	border-radius: 0.1rem;
	font-weight: bold;
	color: #FFFFFF;
	padding: 0.5rem;
	width: fit-content;
	display: block;
	margin: auto;
	margin-bottom: 0.5rem;
	cursor: pointer;
	border: none
}

.succes {
    border-radius: 0.5em;
    padding: 0.5em;
    border-style: solid;
    border-width: 0.1em;
    border-color: green;
    background-color: lightgreen;
}

.warning {
    border-radius: 0.5em;
    padding: 0.5em;
    border-style: solid;
    border-width: 0.1em;
    border-color: orange;
    background-color: lightgoldenrodyellow;
}

.alert {
    border-radius: 0.5em;
    padding: 0.5em;
    border-style: solid;
    border-width: 0.1em;
    border-color: red;
    background-color: lightcoral;
}

#Pied-de-page {
	border-top: 0.05rem var(--main-color) solid;
	padding: 0.5rem;
	width: 80%;
	margin: auto;
}

#Pied-de-page p {
	text-align: center;
	color: var(--main-color);
	margin: 0;
}

@media screen and (max-width: 480px)

/*Smartphone*/

{
    html {
		font-size: 3.5vw;
	}
	
	body {
		background-image: linear-gradient(#ffffff, #EBEBEB 30rem);
	}
	
	#Entête {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		flex-direction: row-reverse;
	}
	
	#Entête > a > img {
		height: 2rem;
	}
	
	#Entête > nav::before {
		content: '\2261';
		display: block;
		background-color: var(--main-color);
		border-radius: 0.1rem;
		font-weight: bold;
		color: #FFFFFF;
		font-size:2rem;
		padding: 0.1rem 0.4rem 0.1rem 0.4rem;
	}
	
	#Entête > nav > ul {
		display: none;
		position: absolute;
		left: 0;
		right: 10rem;
		top:0;
		bottom:0;
		border-right: 0.05rem #D9D9D9 solid;
		background-color: #F2F2F2;
		box-shadow: 0 0 0.5rem #D9D9D9;
		margin: 0;
		padding: 0.5rem;
		overflow: auto;
		z-index: 49;
	}

	#Entête > nav:hover > ul, #Entête > nav > ul > li:hover > div {
		display: block;
	}

	#Entête > nav > ul::before {
		content: 'Menu';
		font-weight: bold;
		color: var(--main-color);
		display: block;
		font-size: 1.5rem;
		padding:0.5rem;
	}
	
	#Entête > nav > ul > .ouvert, #Entête > nav > ul > li > div > ul > .ouvert, #Entête > nav > ul > li:hover, #Entête > nav > ul > li > div > ul > li:hover {
		font-weight: bold;
		color: var(--main-color);
	}
	
	#Entête li {
		display: block;
		margin: 0.5rem;
	}

	#Entête > nav > ul > li > div > ul {
		margin: 0.5rem;
		padding: 0;
	}

	#Entête > nav > ul > li > div > ul > li {
		font-weight: normal;
		color: initial;
		text-align: left;
	}

	#Entête a {
		color: inherit;
		text-decoration: none;
	}
	
	/*tabSel*/
	
	.tabSel td:nth-of-type(odd) {
		text-align: left;
	}
	
	.tabSel input, .tabSel textarea, .tabSel select {
		width: 100%;
	}
	
	.tabSel td {
		display: inline-block;
		padding: 0;
		width: 100%;
	}
	
	.MobileNoDisplay {
		display: none;
	}
}

/*PC*/

@media screen and (min-width: 480px) and (max-width: 1280px) {
	html {
		font-size: 1.25vw;
	}
}

@media screen and (min-width: 1280px) {
	html {
		font-size: 1vw;
	}
}

@media screen and (min-width: 480px) {
	
/*PC*/

	body {
		background-image: linear-gradient(#ffffff, #EBEBEB 30rem);
	}
	
	#Entête {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		padding-bottom: 0.5em;
		border-bottom: 0.05rem var(--main-color) solid;
	}
	
	#Entête > a > img {
		height: 3rem;
	}

	#Entête ul {
		padding: unset;
		margin: unset;
	}

	#Entête > nav > ul {
		display: flex;
		flex-direction: row;
		align-items: flex-end;
		height: fit-content;
	}

	#Entête li {
		display: block;
	}

	#Entête > nav > ul > li {
		padding: 0.5rem;
		margin: 0.05rem 0.5rem 0rem 0.5rem;
	}

	#Entête > nav > ul > .ouvert, #Entête > nav > ul > li:hover {
		background-color: var(--main-color);
		border-radius: 0.1rem;
		font-weight: bold;
		color: #FFFFFF;
	}

	#Entête a {
		color: inherit;
		text-decoration: none;
	}

	#Entête > nav > ul > li > a {
		display: block;
		text-align: center;
	}

	#Entête > nav > ul > li > div {
		display: none;
		position: relative;
	}

	#Entête > nav > ul > li:hover > div {
		display: block;
	}

	#Entête > nav > ul > li > div > ul {
		position: absolute;
		top: 0.5rem;
		right: -0.5rem;
		padding: 0rem;
		border: 0.05rem #D9D9D9 solid;
		background-color: #F2F2F2;
		box-shadow: 0 0 0.5rem #D9D9D9;
		z-index: 50;
		color: initial;
		width: max-content;
		width: -moz-max-content;
		max-height: 80vh;
		overflow-x: hidden;
		overflow-y: auto;
	}

	#Entête > nav > ul > li > div > ul > li {
		margin: 0.5rem;
		font-weight: normal;
	}
	
	#Entête > nav > ul > li > div > ul > .ouvert, #Entête > nav > ul > li > div > ul > li:hover {
		font-weight: bold;
		color: var(--main-color);
	}

	#Contenu {
		overflow: auto;
	}
	
	#Contenu > div {
		padding: 1rem;
	}
}

@media print {
	html {
		font-size: 12pt;
	}
	
	body {
		background-color: #FFFFFF;
	}
	
	#Entête, #Pied-de-page {
		display: none;
	}
}