/* --------------------------------------------------------------- */
/*
/* HTML
/*
/* --------------------------------------------------------------- */
* {
	box-sizing : border-box;
}

html, body {
	margin      : 0;
	padding     : 0;
	width       : 100%;
	height      : 100%;
	font-family : "Open Sans";
	font-size   : 14px;
}

body {
	color            : #727272;
	background-color : #FFFFFF;
	text-align       : center;
}

#main {
	position         : relative;
	top              : 0;
	left             : 0;
	width            : 100%;
	min-height       : 100%;
	margin           : 0 auto;
	text-align       : justify;
	background-color : #FFFFFF;
	padding          : 1px 0;
}

/* --------------------------------------------------------------- */
/*
/* Header
/*
/* --------------------------------------------------------------- */
#entete {
	position         : absolute;
	top              : 0;
	left             : 0;
	width            : 100%;
	min-height       : 125px;
	background-color : rgba(255, 255, 255, 0.5);
	display          : flex;
	align-items      : center;
	z-index          : 99;
}

#entete > .container {
	max-width : 1450px;
}

#responsive_header {
	display : none;
	width   : 100%;
}

#responsive_header #togglers {
	position        : absolute;
	top             : 0;
	width           : 100%;
	display         : flex;
	align-items     : center;
	justify-content : space-between;
	padding         : 10px;
}

#range_menu_toggler, #range_menu {
	display : none;
}

#responsive_header #togglers button {
	background   : none;
	border       : none;
	outline      : none;
	font-size    : 17px;
	font-variant : small-caps;
}

#responsive_header #togglers button span {
	display         : flex;
	align-items     : center;
	justify-content : center;
}

#responsive_header #togglers button i {
	font-size : 25px;
	margin    : 0 5px;
}

#responsive_header .logo {
	display : inline-block;
}

#responsive_header .logo img {
	max-width : 170px;
}

.responsive_menu {
	position   : absolute;
	z-index    : 200;
	top        : 0;
	width      : 270px;
	height     : 100vh;
	background : #F9F9F9;
	transition : 0.3s ease;
}

#nav_menu {
	left : -270px;
}

#nav_menu.visible {
	left : 0;
}

#range_menu {
	right : -270px;
}

#range_menu.visible {
	right : 0;
}

.responsive_menu .close {
	float       : none;
	display     : block;
	height      : 40px;
	display     : flex;
	align-items : center;
	padding     : 0 15px;
	opacity     : 1;
}

.responsive_menu .close button {
	background : none;
	border     : none;
	outline    : none;
	font-size  : 35px;
}

#nav_menu .close {
	justify-content : flex-end;
}

#range_menu .close {
	justify-content : flex-start;
}

.responsive_menu ul {
	list-style-type : none;
	padding         : 0;
	max-height      : calc(100% - 40px);
	overflow-y      : auto;
}

.responsive_menu ul li a {
	display         : block;
	letter-spacing  : 1px;
	padding         : 10px 20px;
	text-decoration : none;
	color           : #222222;
	transition      : 0.2s ease-in-out;
}

.responsive_menu ul li a i img {
	width : 20px;
}

.responsive_menu ul li a:hover, .responsive_menu ul li a:focus {
	background : #222222;
	color      : #F9F9F9;
}

#range_menu a {
	text-align : right;
}


/* --------------------------------------------------------------- */
/*
/* Searchbox desktop
/*
/* --------------------------------------------------------------- */
#searchbox {
	position : relative;
	height   : 40px;
	width    : 40px;
	overflow : visible;
}

#searchbox .search_header {
	position      : absolute;
	background    : #F9F9F9;
	right         : 0;
	top           : 0;
	bottom        : 0;
	width         : 40px;
	overflow      : hidden;
	transition    : 0.3s;
	border-radius : 40px;
}

#searchbox .search_header:hover, #searchbox .search_header.active {
	width      : 300px;
	box-shadow : 0px 1px 2px 0px rgba(51, 51, 51, 0.4);
}

#searchbox .search_header input {
	position   : absolute;
	top        : 5px;
	right      : 40px;
	width      : 240px;
	padding    : 5px;
	border     : none !important;
	outline    : none !important;
	box-shadow : none !important;
	background : none !important;
	color      : #383838 !important;
}

#searchbox .search_header input::placeholder {
	color   : #383838;
	opacity : 1;
}

#searchbox .search_header input:-ms-input-placeholder {
	color : #383838;
}

#searchbox .search_header input::-ms-input-placeholder {
	color : #383838;
}

#searchbox .search_header button {
	position   : absolute;
	right      : 0;
	top        : 0;
	background : none !important;
	border     : none !important;
	outline    : none !important;
	box-shadow : none !important;
	color      : transparent !important;
	width      : 0;
	height     : 0;
	padding    : 0;
}

#searchbox .search_header button:after {
	position    : absolute;
	right       : 13px;
	top         : 9px;
	content     : "\f002";
	color       : #383838;
	font-family : "Font Awesome\ 5 Free";
	font-weight : 900;
	transition  : 0.3s;
}

#searchbox .search_header:hover button:after,
#searchbox .search_header.active button:after {
	color : #CE8C08;
}

/* --------------------------------------------------------------- */
/*
/* Searchbox responsive
/*
/* --------------------------------------------------------------- */

#mobile_searchbox {
	padding : 0 10px;
}

#mobile_searchbox form {
	display : flex;
}

#mobile_searchbox form input {
	border-radius : 0;
	outline       : none;
	box-shadow    : none;
	border        : 1px solid #222222;
	background    : #F9F9F9;
	color         : #222222;
}

#mobile_searchbox form button {
	position      : relative;
	border-radius : 0;
	outline       : none;
	box-shadow    : none;
	border        : 1px solid #222222;
	background    : #F9F9F9;
	color         : #222222;
	background    : transparent !important;
	color         : transparent !important;
	border        : transparent !important;
}

#mobile_searchbox form button:after {
	content         : "\f002";
	font-family     : "Font Awesome\ 5 Free";
	font-weight     : 900;

	position        : absolute;
	top             : 0;
	left            : 0;
	width           : 100%;
	height          : 100%;

	display         : flex;
	align-items     : center;
	justify-content : center;

	background      : #383838;
	color           : #F9F9F9;
}

/* --------------------------------------------------------------- */
/*
/* Language switcher
/*
/* --------------------------------------------------------------- */
.conteneur_locale {
	position : relative;
	height   : 50px;
}

.languagepicker {
	position       : absolute;
	top            : 0;
	left           : 0;
	display        : inline-block;
	padding        : 0;
	height         : 40px;
	overflow       : hidden;
	transition     : all .3s ease;
	margin         : 0 50px 10px 0;
	vertical-align : top;
	float          : left;
}

.languagepicker:hover {
	/* don't forget the 1px border */
	height : 163px;
}

.languagepicker a {
	color           : #000000;
	text-decoration : none;
}

.languagepicker li {
	display     : block;
	padding     : 0px 20px;
	line-height : 40px;
	border-top  : 1px solid #5B5B5B;
}

.languagepicker li:hover {
	background-color : #EEEEEE;
}

.languagepicker a:first-child li {
	border : none;
}

.languagepicker li img {
	margin-right : 5px;
	width        : 16px;
}

.roundborders {
	border-radius : 5px;
}

.large:hover {
	/*
	don't forget the 1px border!
	The first language is 40px heigh,
	the others are 41px
	*/
	height : 245px;
}

/* --------------------------------------------------------------- */
/*
/* Language switcher responsive
/*
/* --------------------------------------------------------------- */
#nav_menu .languagepicker {
	position       : relative;
	display        : flex;
	flex-direction : column;
	align-items    : flex-start;
	width          : 100%;
	margin         : 0;
	height         : 250px;
}

#nav_menu .languagepicker a {
	padding : 0 20px;
}

#nav_menu .languagepicker a img {
	margin : 15px 5px;
}

#nav_menu .languagepicker a:hover, #nav_menu .languagepicker a:focus {
	background : none;
}

/* --------------------------------------------------------------- */
/*
/* Menu
/*
/* --------------------------------------------------------------- */
#menu {
	position : relative;
	top      : 0px;
	left     : 0;
	width    : 100%;
	height   : 30px;
}

#menu ul {
	list-style-type : none;
	margin          : 0;
	padding         : 0;
	display         : flex;
	justify-content : space-around;
	align-items     : center;
}

#menu ul li {
	margin  : 0px;
	padding : 0;
}

#menu ul li a {
	text-decoration : none;
	display         : flex;
	align-items     : center;
	justify-content : flex-start;

	padding         : 0 10px;
	font-weight     : 400;
	font-size       : 15px;
	color           : #383838;
	text-align      : center;
}

#menu ul li a img {
	height       : 24px;
	margin-right : 5px;
}

#menu ul li a:hover {
	color : #CE8C08;
}

#menu ul li ul {
	display  : none;
	position : absolute;
	top      : 30px;
	left     : 0;
}

#menu ul li:hover ul {
	display : block;
	margin  : 2px 0px;
}

#menu ul li ul li {
	clear  : left;
	margin : 0;
}


/* --------------------------------------------------------------- */
/*
/* Page
/*
/* --------------------------------------------------------------- */
#page {
	position   : relative;
	top        : 0;
	left       : 0;
	min-height : 350px;
	z-index    : 50;
}

#page .bouton {
	font-size        : 11px;
	line-height      : 12px;
	padding          : 14px 35px;
	background-color : #ECEFF1;
	color            : #5C6063;
	display          : inline-block;
	text-decoration  : none;
	text-transform   : uppercase;
	border-radius    : 3px;
}

#page .bouton:hover {
	color            : #FFFFFF;
	background-color : #CCCCCC;
}

/* --------------------------------------------------------------- */
/*
/* Pied
/*
/* --------------------------------------------------------------- */
#pied {
	position   : relative;
	top        : 0;
	left       : 0;
	text-align : center;

}

#pied #footer_haut {
	padding    : 60px 0;
	background : #3A3A3A;
	color      : #FFFFFF;
	text-align : left;
}

#pied #footer_haut h4 {
	margin-bottom : 15px;
}

#pied #actus_footer {

}

#pied .actu_footer {
	margin-bottom : 15px;
}

#pied .actu_footer h5 a {
	color     : #FFFFFF;
	font-size : 13px;
}

#pied .socials a {
	display         : inline-block;
	color           : #FFFFFF;
	text-decoration : none;
	font-size       : 40px;
	width           : 60px;
	height          : 60px;
	line-height     : 60px;
	text-align      : center;
	margin          : 0 7px 10px 0;
	border-radius   : 2px;
}

.socials a.facebook {
	background-color : #3B5998;
}

.socials a.twitter {
	background-color : #55ACEE;
}

.socials a.instagram {
	background-color : #E1306C;
}

.socials a.youtube {
	background-color : #E02A20;
}

.socials a.vimeo {
	background-color : #51B5E7;
}

.socials a.googleplus {
	background-color : #D93E2D;
}


#pied #footer_bas {
	padding    : 25px 0;
	background : #EFEFEF;
	color      : #000000;
}

#pied #footer_bas a {
	color           : #000000;
	text-decoration : none;
}

/* --------------------------------------------------------------- */
/*
/* PopUp
/*
/* --------------------------------------------------------------- */
#TexensePopupModal .TexensePopupModalTitle {
	font-size      : 21px;
	line-height    : 1.6em;
	text-transform : none;
	font-weight    : 400;
	color          : #4C4C4C;
	padding-bottom : 15px;
	border-bottom  : 1px solid #E5EAEC;
	margin-bottom  : 15px;
}

#TexensePopupModal .modal-dialog {

}

#TexensePopupModal .modal-body {
	text-align : initial;
}

#TexensePopupModal .modal-footer button {
	font-size      : 1em;
	color          : #FFFFFF;
	background     : #A5A5A5;
	text-transform : uppercase;
	padding        : 13px 35px;
	border-radius  : 2px;
	transition     : 0.2s;
	box-shadow     : none;
	outline        : none;
	border         : none;
}

#TexensePopupModal .modal-footer button:hover {
	background : #CCCCCC;
}

/* --------------------------------------------------------------- */
/*
/* Général
/*
/* --------------------------------------------------------------- */
a img {
	border : none;
}


#page .center {
	text-align   : center;
	margin-left  : auto;
	margin-right : auto;
}

#page .left {
	float  : left;
	margin : 0 1em 0.5em 0;
}

#page .right {
	float  : right;
	margin : 0 0 0.5em 1em;
}

#page .clear {
	clear : both;
}

#page hr {
	border-color : #AACC22;
	color        : #AACC22;
}

.cache {
	display  : none;
	position : absolute;
	width    : 1px;
	height   : 1px;
	overflow : hidden;
}

.print {
	display : none;
}

.noprint {
}


/* ------ Formulaire ------ */
#page form {
	margin     : 0;
	padding    : 0;
	text-align : left;
}

#page form label {
	text-align  : left;
	font-weight : normal;
}

#page form b {
	color : #FF0000;
}

#page form input[type="text"], #page form input[type="tel"], #page form input[type="email"], #page form select {
	border        : 1px solid #337AB7;
	border-radius : 5px;
	padding       : 3px;
}

#page form textarea {
	border-radius : 5px;
	border        : 1px solid #337AB7;
}


/* -- Bouton submit -- */


/* -- Bouton submit avec icone --*/
#page form button {
	background-color : #337AB7;
	color            : #FFFFFF;
	border           : none;
	padding          : 5px 20px 5px 17px;
	border-radius    : 5px;
	text-transform   : uppercase;
}

#page form button i {
	margin-right : 15px;
}

#page form b {
	position : absolute;
	top      : 0;
	right    : 0px;
}


#page form .obligatoire {
	float      : left;
	display    : inline-block;
	margin-top : 15px;
}

#page form .obligatoire b {
	position : relative;
}


/* ------- Zoom DW ------- */
#z_ombre {
	background-color : #222222;
	filter           : progid:DXImageTransform.Microsoft.Alpha(opacity:90);
	opacity          : 0.9;
}

#z_image {
	border     : 10px solid #FFFFFF;
	visibility : hidden;
}

#z_titre {
	height           : 10px;
	color            : #FFFFFF;
	background-color : #000000;
	filter           : progid:DXImageTransform.Microsoft.Alpha(opacity:70);
	opacity          : 0.7;
}

#z_close {
	visibility : hidden;
}

@media screen and (max-width : 1499px) {
	#logo_wrapper {
		flex      : auto;
		max-width : 100%;
	}

	#logo img {
		max-width : 120px;
	}

	#menu_wrapper {
		-webkit-box-flex : 0;
		-ms-flex         : 0 0 91.666667%;
		flex             : 0 0 91.666667%;
		max-width        : 91.666667%;
	}
}

@media screen and (max-width : 1199px) {
	#menu ul li a {
		font-size : 13px;
		padding   : 0 5px;
	}
}

@media screen and (max-width : 991px) {
	.languagepicker li {
		padding : 0 10px;
	}

	#menu_wrapper {
		padding-right : 0;
	}
}

@media screen and (max-width : 767px) {
	#main:before, #entete:before {
		content        : "";
		position       : absolute;
		top            : 0;
		left           : 0;
		bottom         : 0;
		right          : 0;
		background     : rgba(255, 255, 255, .78);
		z-index        : 99;
		pointer-events : none;
		opacity        : 0;
		transition     : opacity 0.3s linear;
	}

	#netete:before {
		z-index : 100;
	}

	#main.disabled:before, #entete.disabled:before {
		opacity        : 1;
		pointer-events : all;
		user-select    : none;
	}

	.lock-scroll {
		overflow : hidden !important;
	}

	#entete {
		position : fixed;
	}

	#desktop_header {
		display : none;
	}

	#responsive_header {
		display : block;
	}
}

html body .grecaptcha-badge {
	z-index    : 10 !important;
	visibility : visible !important;
}
