/***** champs formulaire *****/ 
label								{ font: 400 16px/28px "Barlow"; display: block;}
label span							{ color: #e32c2c;}
select,
input[type="text"],
input[type="email"],
input[type="date"],
textarea 							{ width: 100%; height: 64px; border: none; font: 500 16px/24px "Barlow"; letter-spacing: 0.4px; padding: 0 30px 4px 30px; color: #29569b; background: #d9f0ff; border-radius: 8px; margin-top: 10px; display: block;}
textarea							{ min-height: 160px; padding: 20px 25px; display: block;}

input[type="text"].date 			{ background: url("../images/calendar.svg") calc(100% - 30px) 50% no-repeat #d9f0ff;}
select								{ -webkit-appearance: none; appearance: none; background: url("../images/arrow_select.svg") calc(100% - 37px) 50% no-repeat #d9f0ff; padding-bottom: 2px;}

::placeholder, 				 
option:disabled						{ color: #29569b; opacity: 1;}

@media (max-width:600px) { 
label								{ font-size: 14px; line-height: 26px;}
select,
input[type="text"],
input[type="email"],
input[type="date"],
textarea 							{ font-size: 14px; line-height: 22px; height: 50px; padding: 0 20px 2px 20px; border-radius: 5px;}

input[type="text"].date 			{ background-position: calc(100% - 20px) 50%; background-size: 24px auto;}
select								{ background-position: calc(100% - 26px) 50%;}

}


/** formulaire **/
.formulaire 						{ position: relative;}
.formulaire form .grid 				{ display: grid; grid-template-columns: 1fr 1fr; grid-gap: 10px;}
.formulaire form .grid * 			{ margin: 0;}
.formulaire form .label				{ margin: 25px 0 10px 0;;}
.formulaire form .btn_sub 			{ text-align: right; padding: 30px 0 0 0;}
.formulaire form .btn_sub .link		{ line-height: 55px; cursor: pointer; padding: 0 30px 2px 30px; border: none;}

@media (max-width:760px) { 
.formulaire form .grid 				{ grid-template-columns: 1fr;}
}
@media (max-width:600px) { 
.formulaire form .grid 				{ grid-gap: 10px;}
.formulaire form .label				{ margin: 15px 0 10px 0;}
.formulaire form .btn_sub 			{ padding: 25px 0 0 0;}
.formulaire form .btn_sub .link		{ line-height: 50px; padding: 0; width: 100%; text-align: center;}
}


/***** confirmation formulaire *****/
.confirmation_form			 		{ text-align: center;}
.confirmation_form p			 	{ margin: 5px 0 15px 0;}

@media (max-width:600px) {
.confirmation_form p			 	{ margin: 0 0 10px 0;}
}


/***** RGPD *****/
#rgpdForm 							{ font: 400 14px/22px "Barlow"; letter-spacing: 0.6px;}
#rgpdForm input[type=checkbox]		{ width: 20px; height: 20px; display: block; float: left; padding: 0; margin: 2px 0 0 0; -webkit-appearance: checkbox; -ms-appearance: checkbox; appearance: checkbox; -moz-appearance: checkbox; -o-appearance: checkbox;}
#rgpdForm label						{ display: block; margin: 0; padding-left: 40px; font: 400 14px/22px "Barlow"; letter-spacing: 0.6px;}
#rgpdForm a							{ position: relative; color: #002c3e; padding-bottom: 2px; border-bottom: 1px solid #ccc;}
#rgpdFormAcceptError				{ padding: 10px 0 0 40px; color: #e32c2c;}

@media (min-width:1201px) {
#rgpdForm a:hover 					{ opacity: 0.5;}
}
@media (max-width:600px) { 
#rgpdForm 							{ font-size: 12px; line-height: 20px;}
#rgpdForm input[type=checkbox]		{ width: 16px; height: 16px; margin: 4px 0 0 0;}
#rgpdForm label						{ padding-left: 30px; font-size: 12px; line-height: 20px;}
#rgpdFormAcceptError				{ padding: 5px 0 0 30px;}
}


/* custom */
.rgpd 								{ margin-top: 40px;}

@media (max-width:600px) { 
.rgpd 								{ margin-top: 25px;}
}


/***** page contact *****/
#contact .page 									{ padding: 0;}
#contact .bloc_contact  						{ display: grid; grid-template-columns: 1fr auto; align-items: center; grid-gap: 60px;}
#contact .bloc_contact .sous_titre				{ margin-bottom: -5px;}
#contact .bloc_contact p.titre					{ margin-top: 30px;}
#contact .bloc_contact p						{ line-height: 26px;}
#contact .bloc_contact p a.tel					{ padding: 0 0 0 30px; border: none; background: url("../images/tel_blue.svg") 0 50% no-repeat;}
#contact .bloc_contact p a.email				{ padding: 0 0 0 30px; border: none; background: url("../images/email_blue.svg") 0 50% no-repeat;}

#contact .bloc_contact .depot 					{ border: 1px solid #ccc; border-radius: 5px; width: 400px;}
#contact .bloc_contact .depot .head 			{ padding: 10px 30px 10px 40px; border-bottom: 1px solid #ccc; margin: 0; display: grid; grid-template-columns: 1fr 130px; align-items: center; grid-gap: 20px;}
#contact .bloc_contact .depot .content 			{ padding: 30px 40px;}
#contact .bloc_contact .depot .livraison		{ padding-bottom: 30px; /*margin-bottom: 25px; border-bottom: 1px solid #ccc;*/}
#contact .bloc_contact .depot p   				{ margin: 0;}
#contact .bloc_contact .depot p.titre 			{ font-weight: 500; padding-bottom: 5px; color: #29569b; margin: 0;}
#contact .bloc_contact .depot p.titre i 		{ color: #e32c2c; font-weight: 400; display: block; font-style: normal;}
#contact .bloc_contact .depot p.adresse			{ position: relative;}
#contact .bloc_contact .depot p.adresse span 	{ font-weight: 500; padding-bottom: 10px; display: inline-block; color: #29569b;}
#contact .bloc_contact .depot .link				{ position: absolute; right: 0; bottom: 3px; border: none; height: 46px; line-height: 46px; padding: 0 18px; font-size: 11px;}

#contact .map 									{ position: relative; height: 65vh; max-height: 750px; margin-top: 120px;}
#contact .map iframe							{ width: 100%; height: 100%; position: absolute; left: 0; top: 0; border: none;}

@media (min-width:1201px) {
#contact .bloc_texte p a.tel:hover				
#contact .bloc_texte p a.email:hover			{ color: #2388c3;}
#contact .bloc_contact .depot .link:hover 		{ color: #fff;}
}
@media (max-width:1600px) {
#contact .map 									{ margin-top: 100px;}
}
@media (max-width:1200px) {
#contact .bloc_contact p.titre					{ margin-top: 25px;}
#contact .bloc_contact .depot 					{ width: 400px;}
#contact .bloc_contact .depot .head 			{ padding: 8px 30px 8px 30px;}
#contact .bloc_contact .depot .content 			{ padding: 25px 30px;}
#contact .bloc_contact .depot .livraison		{ padding-bottom: 25px;}
#contact .map 									{ margin-top: 80px;}
}
@media (max-width:1000px) {
#contact .bloc_contact  						{ grid-template-columns: 1fr; grid-gap: 60px;}
#contact .bloc_contact .depot 					{ width: 100%;}
#contact .map 									{ margin-top: 60px; height: 56vw;}
}
@media (max-width:600px) {
#contact .top_page .chapo 						{ display: none;}
#contact .bloc_contact  						{ grid-gap: 35px;}
#contact .bloc_contact p.titre					{ margin-top: 20px;}
#contact .bloc_contact p						{ line-height: 24px;}
#contact .bloc_contact .depot .head 			{ padding: 8px 20px 8px 20px; grid-template-columns: 1fr 80px; grid-gap: 10px;}
#contact .bloc_contact .depot .head b br 		{ display: none;}
#contact .bloc_contact .depot .content 			{ padding: 15px 20px;}
#contact .bloc_contact .depot .livraison		{ padding-bottom: 15px;}
#contact .bloc_contact .depot .link				{ bottom: 4px; height: 40px; line-height: 40px; padding: 0 15px; font-size: 10px;}
#contact .map 									{ margin-top: 40px; height: 80vw;}
}


/***** page reservation *****/
#booking .top_page .wrapper:before 				{ display: none;}
#booking .top_page .texte 		 				{ text-align: center; padding: 40px 0 120px 0;}
#booking .bloc_texte 							{ padding: 80px 80px 0 80px; background: #fff; border-radius: 8px; margin-top: -80px;}
#booking .bloc_grid 							{ grid-template-columns: 380px 1fr; margin: 50px 0;}
#booking .bloc_grid .ul_table li				{ grid-template-columns: 1fr 240px;}
#booking .order_form .bloc_form					{ margin-bottom: 60px; padding-bottom: 60px; border-bottom: 1px solid #ccc;}
#booking .order_form .sous_titre 				{ font-size: 20px; line-height: 26px; margin: -5px 0 20px 0;}
#booking .order_form .infos_pro					{ display: grid; grid-template-columns: 20% 1fr 1fr; grid-gap: 10px; margin: 20px 0 30px 0;}
#booking .order_form .infos_pro *				{ margin: 0;}
#booking .order_form .adresse .grid				{ display: grid; grid-template-columns: 1fr 30%; grid-gap: 10px; margin-top: 10px;}
#booking .order_form .adresse .grid.reverse		{ grid-template-columns: 30% 1fr; margin-top: 10px;}
#booking .order_form .adresse .grid>div			{ display: grid; grid-template-columns: 1fr 1fr; grid-gap: 10px;}
#booking .order_form .autre_adresse  			{ margin-top: 30px;}
#booking .order_form .bloc_form p b				{ font-size: 16px;}
#booking .order_form .select2-container 			{ width: 100%!important;}
#booking .order_form .select2-selection 			{ height: 64px; padding: 0 55px 0 30px; border-radius: 8px; border: 1px solid #d9f0ff; background: url("../images/arrow_select.svg") right+20px center no-repeat #d9f0ff;}
#booking .order_form .select2-selection__rendered 	{ padding: 20px 0 0 0; color: #29569b; font: 500 16px/24px "Barlow"; letter-spacing: 0.4px;}
#booking .order_form .select2-selection__arrow 		{ display: none;}
#fraisDeplacement                                       { margin-top: 10px; color: #e32c2c;}

@media (max-width:1200px) {
#booking .menu_mobile div,
#booking .menu_mobile div:before,
#booking .menu_mobile div:after					{ background: #29569b;}
#booking .top_page .texte 		 				{ padding: 40px 0 100px 0;}
#booking .bloc_texte 							{ padding: 60px 60px 0 60px; margin-top: -60px;}
#booking .bloc_grid 							{ grid-template-columns: 320px 1fr; margin: 30px 0;}
#booking .order_form .bloc_form					{ margin-bottom: 40px; padding-bottom: 40px;}
#booking .order_form .sous_titre 				{ font-size: 18px; margin: -5px 0 15px 0;}
#booking .order_form .adresse .grid				{ grid-template-columns: 1fr 35%;}
#booking .order_form .adresse .grid.reverse		{ grid-template-columns: 35% 1fr;}
}
@media (max-width:1000px) {
#booking .top_page .texte 		 				{ padding: 40px 0;}
#booking .bloc_texte 							{ padding: 0; margin-top: 50px;}
#booking .bloc_grid 							{ grid-template-columns: 1fr; grid-gap: 10px; margin: 35px 0 10px 0;}
#booking .bloc_grid .photo img.img_object		{ max-width: 400px;}
}
@media (max-width:760px) {
#booking .order_form .infos_pro					{ grid-template-columns: 1fr; margin: 10px 0 20px 0;}
#booking .order_form .adresse .grid				{ grid-template-columns: 1fr;}
#booking .order_form .adresse .grid.reverse		{ grid-template-columns: 1fr;}
#booking .order_form .autre_adresse  			{ margin-top: 20px;}
}
@media (max-width:600px) {
#booking .top_page .texte 		 				{ padding: 30px 0 20px 0;}
#booking .top_page .titre_main	 				{ font-size: 22px; margin-bottom: 2px;}
#booking .bloc_texte 							{ margin-top: 30px;}
#booking .bloc_grid 							{ grid-gap: 0; margin: 20px 0 0 0;}
#booking .bloc_grid .photo img.img_object		{ max-width: 70vw;}
#booking .bloc_grid .ul_table li				{ grid-template-columns: 1fr 1fr; line-height: 20px;}
#booking .bloc_grid .ul_table li b				{ border-left: 1px solid #ccc; margin-left: -1px;}
#booking .order_form .bloc_form p b				{ font-size: 14px;}
#booking .order_form .bloc_form					{ margin-bottom: 30px; padding-bottom: 0; border-bottom: none;}
#booking .order_form .sous_titre 				{ font-size: 16px; line-height: 24px; margin: 0 0 10px 0;}
#booking .order_form .select2-selection 			{ padding: 0 55px 0 20px; height: 50px; border-radius: 5px; background: url("../images/arrow_select.svg") right+25px center no-repeat #d9f0ff;}
#booking .order_form .select2-selection__rendered 	{ padding: 12px 0 0 0; font-size: 14px;}
}









