
/*    	    *** *** *** *** 	        */
/*    	    				 	        */
/*    	    	INTERFACE 	        	*/
/*    	    				 	        */
/*    	    *** *** *** *** 	        */



/* 			en-tete			 */

header{
	position: fixed;
	top: 0;
	left: 0px;
	background-color: #f5e605;
	/* background-color: rgba(255,255,255,0.9); */
	height: auto;
	width : 100%;
	z-index: 1000;
	font-family: open_sans, Arial, sans-serif;
	/* border-bottom: 1px solid #e1e5ea; */
}
#navTresHaut { display: none;
	margin: 0 auto;
	background: #f5e605;
	line-height: 2.15em;
	height: 2.15em;
	transition-property: height, line-height, font;
	transition-duration: 0.4s, 0.4s, 0.1s;
	transition-delay: 0s, 0s, 0.3s;
}
header.nTH_Scroll #navTresHaut{
	transition: 0.4s;
	line-height: 0em;
	height: 0em;
	font-size: 0;
}
#slogan {
	margin: 0;
	padding: 0px; 
	z-index: 200;
	font-size: 1em;
	color: #000;
	text-align: left;
}
#logo_resp {
	display: none;
}
#NTH_tel, #NTH_mail, #NTH_sep {
	font-size: 0.9em;
	color: #fff;
	float: right;
	padding-left: 10px;
	font-weight: normal;
}
#NTH_sep {
	font-weight: normal;
	color: #e1e5ea;
	color: #48a;
	/* padding: 0 1em; */
}
a#NTH_tel , span#NTH_tel  , span#NTH_tel a {
	color: #fff;
}
#navResp {
	display: none;
}
#navHautOnglet {
	/* display: none; */
}

#navHaut {
	padding: 0px 1vw;
	font-size: 0.9em;
	letter-spacing: 0.2em;
}
/* 1er niv */
#navHaut > ul {
	height: 100px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	align-content: stretch;
	align-items: stretch;
	list-style: none;
	margin: 0;
	padding: 0;
	/* border: 1px solid #000; */
	/* height: 100px; */
	/* border-bottom: 1px solid #e3e3e3;  */
	background-color: rgba(245,230,5,1);
}
#navHaut > ul li {
	flex: 1;
	text-transform: uppercase;
	text-align: center;
	font-family: open_sans, sans-serif;
    font-weight: 600;
    font-style: normal;
	/* border-right: 1px solid #ccc; */
	margin: 0;
	padding: 0;
	
	/* 03/05/2021 : navHaut flex et hauteur variable */
	/* height: calc(50px + 4vh); */
	/* height: 4em; */
	display:flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: stretch;
	align-content: stretch;
}
#navHaut > ul li:hover {
	/* background: #ccc; */
}
#navHaut > ul li a { /* tout le reste doit se caller sur la hauteur des liens */
	/* display: block; */
	/* line-height: calc(100px); */
	/* height: calc(50px - 2em); */
	/* padding: calc(50px) 1em; */
	/* overflow: hidden; */
	font-size: 1em;
	color: #000;
	text-transform: uppercase;
	transition: 0.4s;
	/* v° moins haute et proportionnelle */
	/* height: calc(30px + 4vh - 2em); */
	/* padding: calc(15px + 2vh) 1em; */
	flex: 1;
	display:flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: stretch;
	align-content: stretch;
	padding: 0 1ex;
}
#navHaut > ul li:hover a {
	/* padding: 0; */
}
#navHaut > ul li a:hover , #navHaut > ul li a.nh_actif {
	color: #fff;
	background: #f53105;
}
#navHaut > ul li#logo_large {
	background-color: rgba(245,230,5,1);
}
#navHaut > ul li#logo_large a{
	line-height: 0;
	/* height: auto; */
	padding: 0 1vh 0;
	/* padding: 10px 0 0 0; */
	/* padding-top: calc(10px + 1vh); */
}
#navHaut > ul li#logo_large:hover a{
	background-color: rgba(245,230,5,1);
}
#navHaut > ul li#logo_large a{
	/* flex: 0 0 0; */
	/* align-self: flex-end; */
	/* margin: auto; */
	/* flex-basis: 70px; */
}
#navHaut > ul li#logo_large a img{
	/* margin: 1vh 0px 1vh 0px; */
	min-width: 5vw;
}
@media screen and (min-width: 1300px) {
	#navHaut > ul li a {
		font-size: 1em;
	}
}
@media screen and (min-width: 1600px) {
	#navHaut > ul li a {
		font-size: 1em;
	}
}
#navHaut li#logo {
	image-rendering: optimizeQuality;
}
#navHaut a.nh_fixe {
	border: none;
	border-left: 1px solid #ccc;
	/*font-family: 'Abril Fatface', "abril_fatfaceregular", Georgia, "Book Antiqua", Palatino, "Times New Roman", Times, serif;
	font-style: italic;*/
	/*font-stretch: condensed;*/
	/* padding-left: 36px; */
	/*color: #333;*/
}
#navHaut a.nh_fixe.nh_actif{
 	font-family: 'Abril Fatface', "abril_fatfaceregular", Georgia, "Book Antiqua", Palatino, "Times New Roman", Times, serif;
}
#logo img{
	transition: 0.4s;
	height: 56px;
}

header.nTH_Scroll  {
	height: auto;
}

header.nTH_Scroll #navHaut li#logo {
}


@media screen and (max-width: 1024px) {
	header{
		position: relative;
		/*background-color: rgba(255,255,255,0.9);*/
		height: auto;
		/*min-height: 100px;*/
	}
	#navTresHaut {
		/* height: 5vh; */
		font-size: calc(7px + 1.2vw);
	}
	#slogan {
		display: none;
	}
	#NTH_tel, #NTH_mail, #NTH_sep {
		float: none;
	}
	#navResp {
		height: 15vh;
		display: flex;
		justify-content: space-between;
		/* justify-content: space-around; */
		align-items: center;
		margin-top: 10px;
	}
	#logo_resp {
		display: inherit;
		flex-shrink: 1;
	}
	#navHautOnglet {
		padding: 2vw 1vw 1vw;
		margin-right: 4vw;
		/* border: 3px solid #f53105; */
		/* border: 3px solid #306CB4; */
		/* border-radius: 3px; */
	}
	
	/* fermée */
	#navHaut {
		font-size: 1.5em;
		line-height: 2em;
		box-sizing: border-box;
		height: 0;
		overflow: hidden;
		transition: 0.2s;
	}
	/* ouverte */
	#navHaut.navHautDeploy {
		height: 80vh;
		padding-top: 5vh;
		overflow: visible;
		background-color: #306CB4;
	}
	
	#navHaut > ul {
		flex-flow: column nowrap;
		justify-content: space-around;
		align-content: stretch;
		align-items: stretch;
		list-style: none;
		margin: 0;
		padding: 0;
		background-color: #306CB4;
	}
	#navHaut > ul li {
		
	}
	#navHaut > ul li a {
		display: block;
		/* line-height: calc(100px); */
		height: auto;
		padding: 1em;
		font-size: 1em;
		color: #fff;
	}

	#navHaut li#logo_large  {
		display: none; 
	}
	#navHaut li#logo_large a {
		display: none; 
	}
	#navHaut li#logo_large img{
		display: none; 
	}
	header.nTH_Scroll  {
		position: relative;
		height: auto;
	}
	#navHaut li#bt_navMobile {
		display: block;
		text-align: center;
		margin: 20px;
	}
	#navHaut li#bt_navMobile a{
		display: inline-block;
		padding: 0px 4px 4px 8px;
		line-height: 0.7em;
		color: #f53105;
		border-radius: 5px;
		border: 1px solid #f53105;
		font-family: open_sans, sans-serif;
		font-size: 3em;
		font-weight: 200;
		font-style: normal;
		cursor: pointer;
		background: transparent;
		transition: 0.4s;
	}
}
@media screen and (max-width: 300px) {
	
}

/* ACCUEIL */

header.acc_header , header.acc_header #navHaut > ul {
	background-color: transparent;
}


/*	***	***	***	***	***	*/
/*			BAS 		*/
/*	***	***	***	***	***	*/


/* 			pied de page			 */

footer  {
	clear: both;
	padding: 10px 0px 20px;
	background: #000;
	text-align: left;
	color: #fff;
}
#navBas {
	width: 100%;
	margin: 10px 0px 20px 0px;
	padding: 10px 20px;
	line-height: 1.2em;
	text-align: center;
	color: #fff;
	font-size: 1.0em;
	font-weight: 200;
	font-style: normal;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: stretch;
}
.col_nav_bas {
	list-style: none;
	padding: 1em;
	line-height: 1.7em;
	text-align: left;
	font-size: calc(0.7em + 0.2vh + 0.2vw);
	flex: 1;
	/* border: 1px solid #fff; */
}
.col_nav_bas:first-child {
	text-align: right;
}
.col_nav_bas#col_bas_plan {
	/* flex: 1; */
}
.col_nav_bas p.nav_bas_titre{
	margin: 1.7em 0 0.7em;
	color: #fff;
    font-weight: bold;
    font-style: normal;
	font-size: 1.2em;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.col_nav_bas > p.nav_bas_titre {
	margin-top: 0;
}
#navBas a {
	color: #fff;
	display: inline-block;
}
#navBas a:hover {
	color: #f5e605;
}
#navBas a.bt_2 { /* redite pour effacer #navBas a */
	background: #f5e605;
	margin-top: 1vh;
	color: #000;
	padding: 1ex 1em;
	border: 1px solid #fff;
}
#navBas a.bt_2:hover {
	background: #f53105;
	color: #fff;
	border: 1px solid #fff;
	text-decoration: none;
}


#site_pied {
	margin: 3em 1%;
	padding: 1%;
	text-transform: initial;
	text-align: center;
	letter-spacing: 2px;
	line-height: 1.2em;
	font-size: 11px;
	font-family: 'PlayfairDisplay', 'Abril Fatface',"abril_fatfaceregular", sans-serif;
    font-weight: normal;
    font-style: italic;
}
#logo_pied {
	margin: 0 0 2vh 0;
	padding: 0 0 2vh 0;
	/* text-align: center; */
}
#logo_pied img {
	width: auto;
	max-width: 250px;
	height: auto;
}

@media screen and (max-width: 1024px) {
	#navBas {
		padding: 0;
		flex-flow: column nowrap;
	}
	#logo_pied {
		display: block;
		position: relative;
		top: 0px;
		right: 0px;
		text-align: center;
		padding: 30px 0px 10px 0px;
	}
	#logo_pied img{
		height: auto;
		width: 90%;
		max-width: 300px;
	}
	#site_pied {
		margin: 1em 0;
		padding: 1%;
		line-height: 1.2em;
		font-size: 1em;
	}
	.col_nav_bas{
		display: block;
		width: auto;
		margin: 10px 0px;
		padding: 10px 0px;
		float: none;
		text-align: center;
		line-height: 1.4em;
		font-size: 1.7em;
		border-bottom: 0px solid #ddd;
	}
	.col_nav_bas:first-child {
		text-align: center;
	}
	.col_nav_bas li {
		margin: 1em;
	}
	.col_nav_bas p.nav_bas_titre{
		font-size: 1.0em;
		margin: 1.5em 0 0.5em;
	}
	.col_nav_bas#col_bas_plan {
		margin: 0;
		padding: 0;
	}
	.col_nav_bas#col_bas_plan iframe {
		margin: 0;
		padding: 0;
		width: 95vw;
	}
}

#bas_rezo {
	text-align: center;
	margin: 40px 0px 0px 0px;
	line-height: 2em;
	vertical-align: top;
}
#bas_rezo a {
	display: inline-block;
	vertical-align: middle;
	margin: 0px 6px 0px 0px;
	padding: 0px 8px;
	text-align: center;
}
#bas_rezo a img {
	transition: 0.7s;
	opacity: 1;
	/*filter: brightness(500%);*/
	filter: invert(100%);
}
#bas_rezo a:hover img {
	transition: 0.2s;
	opacity: 0.5;
}


#image, #titre_page_image { /* grand titre des pages intérieures : remplacer id="image" par id="titre_page_image" */
	margin: 0px 0px 0px;
	margin-top: -45px;
	padding: 44px 0px 0px 0px;
	text-align: center;
	background-position: center 10%;
	background-size: cover;	
	background-repeat: repeat-x;
	z-index: 200;
}


#bas_cont_site_pied {
	margin: 20px 0px 0px;
	padding: 20px 10px 10px;
	text-align: center;
	border-top: 1px solid #fff;
}

/*    	    Signature 	        */


#siteWeb{ display: none;
	margin: 10px 0px 0px;
	padding: 40px 20px 20px;
	text-align: left;
	line-height: 14px;
	background: #1d1d1d;
	font-family: "open_sans", "Trebuchet MS", "Arial Narrow", Arial, sans-serif;
    font-weight: 200;
    font-style: normal;
	letter-spacing: 3px;
}
#siteWeb a {
	text-decoration: none;
	font-size: 0.7em;
    text-shadow: none;  
	color: #999;
}
#siteWeb a:hover {
	color: #fff;
	text-decoration: none;
}
#siteWeb img{
	height: 20px;
	vertical-align: middle;
	padding: 0.5em 2em;
}

@media screen and (max-width: 955px) {
	#siteWeb{
		margin: 0px 0px 0px;
		padding: 20px;
		text-align: center;
		padding: 40px 0px 60px;
		font-size: 1em;
		line-height: 1.4em;
	}
	#siteWeb img{
		height: 50px;
	}
}

/*    	CORPS 	    */

main {
	display: block;
	padding-top: 100px;
	/* padding-top: calc(100px + 2em + 2.15em); /* hauteur de base + tailles des liens + navtreshaut */
	/* padding-top: calc(50px + 4vh + 2.15em); /* 03/05/2021 : v navHaut flex */
}

@media screen and (max-width: 580px) {
	main {
		padding-top: 130px;
		padding-top: 179px;
	}
}
@media screen and (max-width: 955px) {
	main {
		padding-top: 0px;
	}
}
main.acc_main {
	padding-top: 0px;
}

/* fil d'ariane */

#filAriane { display: none;
	margin: 1px auto 0px;
	padding: 4px 0px 4px 0px;
    font-family: 'PlayfairDisplay', Georgia, "Palatino Linotype", "Book Antiqua", Palatino, "Times New Roman", Times, serif;
    font-weight: normal;
    font-style: normal;
	font-size: 0.8em;
	line-height: 1.8em;
	color: #666;
	border: none;
	border-top: 1px solid #ccc;
	border-top: 1px solid rgba(100,100,100,0.5); 
	border-bottom: 1px solid rgba(100,100,100,0.2); 
	background: rgba(60,70,65,0.5);
	z-index: 400;
	text-align: left;
}
#filAriane a {
	font-family: "open_sans", "Trebuchet MS", "Arial Narrow", Arial, sans-serif;
	padding: 0px 4px;
	color: #666;
	color: #ddd;
}
#filAriane a:first-child {
	padding-left: 10px;
}
#filAriane a:hover {
	/*text-decoration: underline;*/
	color: #f90;
	color:#bc194b;
	color: #fff;
}
#filAriane strong {
    font-weight: normal;
    font-weight: 400;
	padding: 0px 4px;
	color: #000;
}
@media screen and (max-width: 980px) {
	#filAriane { display: none;
		padding: 8px 0px 8px 0px;
		line-height: 2em;
		font-size: 0.7em;
	}
	#filAriane strong {
		display: none;
}
}


@media screen and (max-width: 980px) {
	#corps {
		margin: 0px 0px;
		/*padding: 194px 0px 0px; si header fixed*/
		padding: 0px 0px 0px;
		font-size: 1.8em;
	}
	.corps_accueil {
		font-size: 0.556em;
		font-size: 1em;
	}
}
@media screen and (max-width: 640px) {
	#corps {
		font-size: 1.4em;
	}
}
@media screen and (max-width: 400px) {
	#corps {
		margin: 0px 0px;
		padding: 0px 0px 0px;
	}
}


