/*Champ disabled*/
.field_option.included_opt label.pointer {
	pointer-events: none;
}

.info-box {
	pointer-events: auto!important;
}

input.disabled {
	opacity: .5;
}
/**/
.date_notice {
	width: 100%;
	color: #ffffff;
	padding-bottom: 10px;
}

.assurance-infos li {
	margin-bottom: 0!important;
	padding-left: 0!important;
}

.assurance-infos ul {
	margin-top: 10px;
}

.assurance-infos li:before {
	position: relative!important;
	width: auto!important;
	left: 0!important;
}

div#gammes .uavc-list-icon ul li {
	width: 40px;
	margin-right: 35px!important;
	padding-left: 0;
}

div#gammes .uavc-list-icon ul li:last-child {
	margin-right: 0!important;
}

#gammes ul {
	margin-bottom: 25px!important;
	font-size: 13px;
}

#gammes span.icon-inner {
	min-width: 30px;
}

span.text-icon.dt-icon-bg-off.dt-icon-hover-off {
	width: 30px;
}

#gammes .icon-with-text-shortcode.layout-3 {
	grid-template-columns: 30px minmax(0,1fr);
}
.fields_group{
	line-height: normal;
}

.fields_group_desc {
	font-size: inherit;
	line-height: normal;
	margin-bottom: 15px;
}

.check_box {
	line-height: normal;
}

/*NAVIGATION*/

div#booking-form-nav{
	padding: 20px 0 10px 0;
	margin-bottom: 30px;
	background: #145a8b;
}

div#booking-form-nav ol {
	display: flex;
	flex-wrap: wrap;
}

div#booking-form-nav ol {
	counter-reset: etape;
}

div#booking-form-nav ol li {
	list-style-type: none;
	counter-increment: etape;
	margin-right: 20px;
	color: white !important;
}

div#booking-form-nav ol li:before {
	content: counter(etape);

	padding: 5px 10px 5px;
	margin-right: 8px;
	margin-left: 8px;

	background: #145a8b;
	border-radius: 60px;
	border: 2px solid white;

	font-weight: bold;
	font-size: 0.8em;
	color: white;
}

div#booking-form-nav ol li.active:before{
	background-color: white;
	color: #145a8b !important;
}

.sub_sec_title{
	color: #145a8b;
	border-bottom: 2px solid #145a8b;
	margin: 20px 0;
	font-size: x-large;
	font-weight: 100;
}

/*Structute*/
div#booking-form-fields {
	flex: 1;

	width: 66.66%;
	max-width: 66.66%;
	padding-right: 40px;

	box-sizing: border-box;
}

div#booking-form {
	display: flex;
	justify-content: center;
	margin-bottom: 50px;
	flex-wrap: wrap;
}

div#booking-form-recap {
	position: relative;
	display: none;
	flex: 1;

	width: 33.33%;
	max-width: 33.33%;

	border-left: 2px solid #145a8b;
	padding-left: 25px;
	box-sizing: border-box;
}

/*DATEPICKER*/

.ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-all {
	background: white;
	border: 0;
}

.ui-datepicker-title {
	color: #145a8b;
	font-weight: 200;
}

th span {
	font-weight: 200;
}

td {
	padding: 4px !important;
}

a.ui-state-default {
	border: 0 !important;
	background: white !important;
}

.ui-datepicker-current-day {
	border: 2px solid #145a8b !important;
}

td.ui-datepicker-unselectable.ui-state-disabled.undefined span {
	background: gray !important;
	color: black !important;
}

tr td span, tr td a{
	text-align: center !important;
}

.step-1.has_offer div#booking_end {
	display: none!important;
}

.step-1.has_offer div#booking_start {
	margin: auto;
}

.step-1.has_offer .datepicker {
	text-align: center;
}

input#start_date[disabled], input#end_date[disabled] {
	background: #145a8b;
	color: #fff;
	border: 1px solid #fff!important;
	pointer-events: none;
	user-select: none;
}

/*gammes included */

.field_option.included_opt *, .field_option.disabled_opt * {
	color: #7c7c7c;
}

.field_option.included_opt * input, .field_option.disabled_opt * input {
	position: relative;
}

.field_option.disabled_opt input:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #7c7c7c;
}

.field_option.included_opt label.pointer, .field_option.disabled_opt label.pointer {
	cursor: default;
}
/* Période de location */

#booking_period{
	text-align: center;

	margin-bottom: 30px;

	background-color: #145a8b;
	border-radius: 10px;
}

.hasDatepicker{
	width: 50% !important;
}

#booking_start, #booking_end{
	/* margin-right: 20px; */
	width: 50%;
}

.datepicker{
	display: block;
	text-align: left;
	padding: 10px 20px;
	color: white !important;
}

div#booking-form-recap li:before {
	display: none;
}

div#booking_price {
	font-size: 1.5em;
	font-weight: bold;
	color: #145a8b;
	margin-top: 25px;
}

.sec_title{
	text-align: center;
	font-size: 24px;
	margin-bottom: 30px;
}

.field_option, #booking_period {
	display: flex;
	align-content: flex-start;
}

#booking_period{
	flex-wrap: wrap;
}

.field_option {
	margin-bottom: 20px;
}

div#booking-form-fields p {
	margin-bottom: 0;
}

/*Gammes*/
div#booking-form .check_box {
	width: 100%;
}

div#booking-form .wpb_content_element{
	margin-bottom: 0;
}

div#booking-form .vc_column-inner {
	padding: 0;
}

div#booking-form .check_box .wpb_wrapper p, div#booking-form .check_box .vc_row {
	margin: 0;
}

.selection_gamme .vc_btn3-container {
	margin-bottom: 0;
}

.selection_gamme {
	margin-top: 50px;
}

span.prix_gamme {
	margin-right: 0;
	margin-left: auto;
}

.ui-accordion .ui-accordion-header {
	display: flex!important;
	align-items: center;
}

.ui-accordion-header, .ui-accordion-content{
	border: 1px solid #145a8b !important;
}

.ui-state-default{
	background: #f0f6fa !important;
}

.ui-accordion-header[aria-expanded="true"] {
	background: white !important;
}

span.nom_gamme {
	font-weight: bold;
	padding-left: 20px;
	line-height: normal;
}

#gammes h3{
	color: #145a8b !important;
	outline: none;
	padding: .5em .5em .5em .7em!important;
}

.selection_gamme {
	text-align: center;
}

.selection_gamme span {
	display: block;
	font-size: 24px;
	color: #145a8b;
	font-weight: 600;
	margin-bottom: 15px;
}

#gammes ul.uavc-list {
	margin-top: 50px;
}

div#gammes .fixed-picto-size ul.uavc-list .aio-icon-img {
	width: 40px;
}

/*Checkbox*/
div#booking-form .check_box p {
	font-size: 13px;
}

.check_box input {
	margin-bottom: 0!important;
	margin-top: 0!important;
}

input[type="checkbox"]{
	margin: 10px;
}

.pointer{
	cursor: pointer;
}

.check_box{
	width: 60%;
}

.km_sup_field{
	width: 75%;
	margin-right: 30px;
}

.check_box > label, .opt_price > p{
	font-weight: bold;
	color: #145a8b;
}

.check_box p{
	margin-left: 35px;
}

.opt_price{
	width: 30%;
}

.quantity{
	text-align: center;
	width: 20%;
}

.check_box h3 {
	display: inline;
	font-size: inherit;
	line-height: normal;
}

/*Affichage erreurs*/
div#booking-form-fields .errors {
	text-align: center;
	margin-bottom: 30px;
}

div.errors h5, div.errors {
	color: red !important;
}

/*Form de coordonées (Étape 4)*/
.acceptance-1 span.wpcf7-form-control.wpcf7-acceptance{
	margin-top: 20px;
}

span.wpcf7-form-control.wpcf7-acceptance {
	display: block;
	line-height: normal;
}

span.wpcf7-form-control.wpcf7-acceptance input {
	margin: 0;
}

#champs-form-coord {
	display: flex;
	flex-wrap: wrap;
}

#champs-form-coord p {
	display: inline;
	width: 40%;
	margin-right: 20px;
}

select{
	border-color: #145a8b !important;
}

input{
	border-bottom: 1px solid #145a8b !important;
	border-top: 0 !important;
	border-right: 0 !important;
	border-left: 0 !important;
}

input[name="your-raison"]{
	margin-top: 28px;
}

small{
	color: #145a8b;
}

.wpcf7-list-item {
	width: 100%;
}

input[type="submit"]{
	margin: 20px 0 0 0 ;
}

/*Loader*/
.loader {
	opacity: 0;
	visibility: hidden;
	display: flex;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	justify-content: center;
	background: rgba(255, 255, 255, 0.7);
	transition: 0.25s;
	z-index: 1000;
}

.loader i {
	width: 30px;
	height: 30px;
	font-size: 30px;
	line-height: 30px;
	color: #145a8b;
	margin-top: 4em;
}

div#booking-form-recap.loading .loader{
	opacity: 1;
	visibility: visible;
}

input.wpcf7-form-control.wpcf7-submit {
	margin-right: 0;
	margin-left: auto;
	display: block;
}

/*Récap de réservation*/

div#booking_recap_details img {
	max-width: 100%;
}

h5{
	color: #145a8b !important;
}

/*new recap*/

.recap-assurances_details li {
	list-style: none;
	color: #145a8b;
	margin-bottom: 10px;
	padding: 0!important;
}

/*Assurances*/
div#packs-assurances .field_option .check_box h3 {
	display: block;
	margin-bottom: 10px;
}

.assurance-infos li:empty:before {
	display: none;
}

.assurance-infos li:empty {
	margin-bottom: 30px!important;
}

.assurance-infos {
	font-size: 14px;
}

div#packs-assurances p {
	margin: 0;
}

div#packs-assurances .fields_group {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

div#packs-assurances .field_option {
	width: 31%;
	text-align: center;
	position: relative;
}

div#packs-assurances .check_box {
	border: 1px solid #145a8b;
	padding: 10px;
	height: 100%;
	box-sizing: border-box;
	background: #f1f5f8;
	transition: .25s;
	line-height: normal;
}

div#packs-assurances .field_option.active .check_box {
	background: #fff;
}

div#packs-assurances label {
	display: block;
	width: 100%;
	padding-bottom: 100px;
}

div#packs-assurances .opt_price {
	width: 100%;
	line-height: normal;
	margin-top: 10px;
	position: absolute;
	left: 0;
}

.max_price {
	font-size: 13px;
}

div#packs-assurances .opt_price > p {
	margin-bottom: 0;
}

div#packs-assurances input[type="radio"] {
	margin-top: 15px;
}

/*Info box*/

*.info-box {
	position: relative;
	display: initial;
	margin-left: 10px;
}

.info-box i {
	position: relative;
	width: 20px;
	height: 20px;
	text-align: center;
	border-radius: 100%;
	border: 1px solid;
	font-size: 10px;
	line-height: 18px;
	top: -4px;
}

.info-box-content {
	position: absolute;
	left: 30px;
	bottom: 10px;
	font-size: 13px;
	font-weight: 700;
	width: 450px;
	background: #fff;
	box-shadow: 4px 4px 8px 3px #00000047;
	padding: 14px;
	box-sizing: border-box;
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: .25s;
}

.info-box:hover .info-box-content {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.info-box-content p {
	margin: 0;
	line-height: normal;
}

/*pack assurance accordeon*/
.toggle-assurance {
	display: none;
}

/*Step nav*/
.step-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 30px;
}

/*FIXED RECAP*/
div#booking-form-fixed-recap {
	position: fixed;
	bottom: 0;
	left: 0;
	background: white;
	width: 100%;
	height: 100px;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 10px #00000038;
	overflow: hidden;
	z-index: 10000;
}

div#booking-form-fixed-recap div#booking_price {
	font-size: 20px!important;
	font-weight: bold!important;
	color: #145a8b!important;
	margin-top: 5px!important;
}
div#booking-form-fixed-recap .prix-gamme h5 {
	position: relative;
	border-bottom: 2px solid #145a8b;
	position: relative;
	text-transform: uppercase;
	margin-bottom: 10px!important;
	font-size: 17px!important;
	color: #145a8b;
}

div#booking-form-fixed-recap .prix-gamme h5:after {
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 90%;
	height: 3px;
	background: #145a8b;
}

div#booking-form-fixed-recap .img-gamme img {
	width: auto;
	display: block;
	height: 100px;
}

div#booking-form-fixed-recap .img-gamme {
	margin-right: 50px;
}

/*RESPONSIVE*/
@media (max-width: 1070px){

	div.toggle-assurance {
		display: block!important;
		position: absolute;
		right: 0px;
		line-height: 20px;
		top: 2px;
		padding: 7px 15px;
	}

	label.pointer {
		position: relative;
	}


	div#packs-assurances h3 {
		margin-bottom: -1px!important;
		display: block;
		border-bottom: 1px solid #145a8b;
		padding: 7px 0;
	}

	.assurance-infos {
		display: none;
		padding-top: 20px;
	}

	div#packs-assurances .check_box {
		padding: 0;
	}
	div#packs-assurances .field_option {
		width: 100%;
	}

	div#packs-assurances label {
		padding-bottom: 80px;
	}

	.toggle-assurance i.fas.fa-chevron-up {
		transition: 0.25s;
	}

	.toggle-assurance.visible i.fas.fa-chevron-up {
		transform: rotate(180deg);
	}

}

@media(max-width: 850px){

	/*Coordonées*/

	#champs-form-coord p {
		width: 100% !important;
		margin-right: 0 !important;
	}

	input[name="your-raison"]{
		margin-top: 5px !important;
	}
}

@media (max-width: 768px){

	.step-nav {
		position: absolute;
		top: 0;
		left: 0;
		margin-top: 0;
		width: 100%;
	}

	div#booking-form-fields > div {
		position: relative;
		padding-top: 70px;
	}

	div#booking-form-fixed-recap {
		display: none!important;
	}

	.info-box-content {
		max-width: 260px;
		left: auto;
		bottom: 40px;
	}

	div#booking-form-recap {
		/* position: fixed; */
		width: 100%;
		/* bottom: 0; */
		/* left: 0; */
		background: #fff;
		max-width: none;
		flex: auto;
		padding: 0;
		border: navajowhite;
		text-align: center;
	}

	/*Affichage des gammes*/

	div#booking-form-fields {
		flex: auto;
		width: 100% !important;
		max-width: 100%;
		padding-right: 0 !important;
		box-sizing: border-box;
	}


}

@media(max-width: 575px){

	.quantity {
		margin-top: 10px;
	}

	div#booking-form-nav{
		margin-left: -20px;
		margin-right: -20px;
	}

	#main .ui-widget-content {
		padding: 1em;
	}

	div#champs-form-coord {
		display: flex;
		flex-wrap: wrap;
	}

	div#champs-form-coord > p {
		width: 50%;
		margin: 0;
		margin-bottom: 11px;
	}

	/*Nav bar étapes*/

	div#booking-form-nav ol {
		display: block;
		margin-left: 0;
	}

	/* Période de location*/

	div#booking_period {
		display: block;
	}

	label.datepicker {
		text-align: center;
	}

	div#booking_start, div#booking_end {
		width: 100% !important;
	}

	span.prix_gamme {
		font-size: 12px;
		width: 50%;
		text-align: right;
	}

	/*Affichage des option*/

	h4.sub_sec_title {
		text-align: center;
	}

	.check_box p{
		margin: 0 !important;
	}

	.field_option, #booking_period {
		display: block;
		text-align: center;
		border-bottom: 1px solid #9999;
		margin-bottom: 30px;
		padding-bottom: 10px;
	}

	.quantity, .opt_price{
		width: 100% !important;
	}

	#packs-assurances .field_option, #kilometres_sups .field_option {
		border-bottom: 0 !important;
	}

	.km_sup_field {
		width: 100% !important;
		margin: 0 !important;
		margin-bottom: 10px!important;
	}

	/*Pack assurances*/

	div#packs-assurances .field_option {
		width: 100% !important;
	}

	div#booking-form-nav ol li {
		margin-bottom: 20px;
	}

	/*Gammes*/

	span.nom_gamme {
		padding-left: 10px;
	}

}