#pl_component_container {padding:0 !important;border:none !important; position: relative;}
.pl_booking_container_2 .pl_section {position: relative;}
.pl_booking_container_2 .pl_section .pl_validation_errors {width: 100%}

#pl_guests_section .pl_section {
	width: 50%;
}
#pl_guests_section .pl_section.pl_guests_selection {
	width: 50%;
}
#pl_guests_section select#pl_guests_number {
	width: 100%;
	padding: 0.875em 1.25em;
}

/*steps*/
#pl_steps_container {background-color: #fff;padding: 20px;box-sizing:border-box; margin-bottom: 30px;}
#pl_steps_container h5 {margin: 0px;padding: 0px;font-weight: normal;font-size: 14px;line-height: 20px;position: relative;display: inline-block;}
#pl_steps_container h5 span{color: #fff;width: 30px;height: 30px;font-size: 12px;line-height: 30px;border-radius: 100%;position: absolute;top: -5px;left: -50px;	}


/*rest, guests, legend*/
#pl_rest_guests_legend_section { width:100%;border: 15px solid #fff;box-sizing: border-box;border-top-width: 0px;border-bottom-width: 0px; }
div#pl_section_restaurant h3 {text-align: center;color: var(--pr-primary-color, #760076);}
div#pl_cal_occa_section {margin-bottom: 50px;}
/*restaurant*/
#pl_section_restaurant label { display: none; }
.pl_restaurant_image {  }
.pl_restaurant_image .pl_restaurant_image_filter { background: linear-gradient(to bottom, rgb(45, 45, 45) 0%,rgba(45, 45, 45, 0) 100%); }
.pl_restaurant_image_content { float: left; width: 100%; text-align: center; top:30px; }
.pl_restaurant_image_content h3 { color: #fff; margin: 0px; padding: 0px; font-size: 20px; color:#fff !important; cursor: pointer; position: relative; display: inline-block; }
.pl_restaurant_image_content h3:after { content: '';width: 20px;height: 20px;position: absolute;top: 0px;right: -30px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-size: 15px;background-position: center;background-repeat: no-repeat; }
.pl_ul_restaurant { top: 60px; left: 50%; margin-left: -80px; width: 160px; background-color: #fff; }
.pl_ul_restaurant li { font-size: 12px; margin: 0px; padding: 10px 20px; border-bottom: 1px solid #f1f1f1; }
.pl_ul_restaurant li:last-child { border-bottom-width: 0px; }
.pl_ul_restaurant li.pl_bg_color_blue { color:#fff; }


/*guests and legend*/

#pl_guests_legend_section #pl_guests_section { float: left; padding: 30px}
#pl_guests_legend_section #pl_legend_section { width: 40%; float: left; margin-top:0px; }
.pl_legend_not_available span { border-radius: 100%;}
.pl_guests_increase { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23760076' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'%3E%3C/line%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");background-size: 15px;background-position: center;background-repeat: no-repeat;background-color: initial !important; }
.pl_guests_decrease { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23760076' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");background-size: 15px;background-position: center;background-repeat: no-repeat;background-color: initial !important; }
#pl_guests_section h3 { order-bottom: 2px solid; color: var(--pr-primary-color, #760076); font-size: 20px; text-transform: uppercase; }
#pl_guests_section h1 { font-size: 20px; color: var(--pr-primary-color, #760076); line-height: 50px; border: 1px solid; text-align: center;}
#pl_legend_section p { color: var(--pr-primary-color, #760076); font-size: 12px; margin:0px; padding:0px; }
#pl_legend_section p span { width: 10px; height: 10px;display: inline-block; margin-right: 10px; }
.pl_guest_number_add { background-color: var(--pr-primary-color, #760076); position: absolute;top: 0px;right: -22px;width: 42px;height: 27px; }
.pl_guest_number_add button {margin: 0px;padding: 0px;font-size: 0px;width: 42px;height: 27px;border-width: 0px;float: left; outline: 0;cursor: pointer; }
.pl_guest_number_remove { background-color: var(--pr-primary-color, #760076); position: absolute;top: 25px;right: -22px;width: 42px;height: 27px; }
.pl_guest_number_remove button { margin: 0px;padding: 0px;font-size: 0px;width: 42px;height: 27px;border-width: 0px;float: left; outline: 0;cursor: pointer; }
.pl_guest_number { width: 150px;display: inline-block;float: initial;position: relative;height: 50px; padding-right: 20px; box-sizing: border-box;}
.pl-guest-notification { font-size: 14px; line-height: 14px; color: var(--pr-primary-color, #760076); padding: 8px 22px; margin: 8px; border-radius: 3px; }

/*cal and occasion*/
#pl_cal_occa_section { width:100%;border: 15px solid #fff;box-sizing: border-box;border-top-width: 0px;border-bottom-width: 0px; position: relative; }
#pl_cal_occa_section h3 {
	color: var(--pr-primary-color, #760076);
	font-size: 20px;
	text-transform: uppercase;
}
/*calendar*/
#pl_calendar_section { padding: 30px; float: left;width: 100%;box-sizing: border-box; }
#pl_calendar_container { }
#pl_calendar_container h3 { font-size: 20px; color: #fff; letter-spacing: 1px; }
#pl_calendar_container button { font-size: 0px; background-color: #000; width: 20px; height:20px; border-width: 0px; cursor: pointer; outline: 0; }
.pl_prev_next_cal.pl_float_right { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");background-size: 15px;background-position: center;background-repeat: no-repeat; background-color: initial !important; float: left; }
.pl_prev_next_cal.pl_float_left { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E");background-size: 15px;background-position: center;background-repeat: no-repeat;background-color: initial !important; float: right; }
#pl_calendar_container p strong { color:#fff; font-size: 14px; font-weight: bold; margin: 0px; padding: 0px; }
#pl_calendar_container p { font-size: 12px; font-weight: normal;  margin: 0px; padding: 8px 4px; }
#pl_calendar_container .pl_height_20 { height: 10px; }
.pl_cal_today.pl_calendar_date{color: #fff !important;}
.pl_cal_active.pl_calendar_date{color: #fff !important;}
.pl_cal_not_set:after { content: '';position: absolute;width: 5px;height: 5px;border-radius: 100%;bottom: 2px;left: 50%;margin-left: -2px;}
.pl_cal_not_set.pl_calendar_date { position: relative;}
.pl_calendar_date { color: #fff !important; }
.pl_calendar_week { margin-top: 20px; }
#pl_calendar_word_bg { position: absolute; width: 100%;left: 0px;bottom: -50px;text-align: center;font-family: Kristi;font-size: 200px;line-height: 200px;color: rgba(255, 255, 255, 0.02); display: block; }
#pl_calendar_content { position: relative; }

/*occasion*/
#pl_occasion_cont { display: inline-block; float: initial; width: initial; }
#pl_occasion_cont h3 { float: left; margin-right: 5px; }
#pl_occasion_cont_change { width:initial; line-height: 25px; margin-left: 5px; cursor: pointer; }
#pl_occasion_section { float: left; width:100%; padding:20px; padding-bottom: 10px; padding-top: 0px; box-sizing:border-box; text-align: center; }
#pl_occasion_section h3 { font-size: 20px; color: #fff; }
.pl_ul_occasion { top: 40px;left: 50%;margin-left: -80px;width: 160px;background-color: #fff; text-align: left;border: 1px solid #f1f1f1; z-index: 9; }
.pl_ul_occasion li {font-size: 12px;color: #a9a9a9;margin: 0px;padding: 10px 20px;border-bottom: 1px solid #f1f1f1;}
.pl_ul_occasion li:last-child {border-bottom-width: 0px;}
.pl_ul_occasion li.pl_bg_color_blue { color: #fff;}
.pl_occas_single { font-size: 14px; color: #fff; }

.pl_occasion_cont_change h3 { position: relative; }
.pl_occas_single:after { content: '';width: 20px;height: 20px;position: absolute;top: 2px;right: -30px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-size: 15px;background-position: center;background-repeat: no-repeat; }


/*time*/
.pl_all_time_slots_single + p.geskes_time_notification {
	margin: 0;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
div#pl_time_entry {
	float: left;
	width: 100%;
}
div#pl_time_entry ul#pl_all_time_slots_container {
	padding: 0;
}
#pl_time_section { box-sizing:border-box; margin-top: 50px; padding: 0 30px;}
#pl_time_section h3 { color: var(--pr-primary-color, #760076);font-size: 20px; text-transform: uppercase; padding-left: 0px}
#pl_time_section p { margin-bottom: 8px;font-size: 14px;line-height: 14px;color: var(--pr-primary-color, #760076);padding: 8px 8px;border-radius: 3px; }
#pl_time_section .pl_time { cursor: pointer; }
.pl_all_time_slots_single { position: relative; }

#pl_all_time_slots_single_layer { position: absolute; top: 0px; left:0px; width: 100%; height: 100%; cursor: progress; }

#pl_time_section .geskes_time_notification { margin:0px; padding: 8px 0px; float: left;
	box-sizing: border-box;
}
/*button container*/
#pl_btn_go_to_booking_container { text-align: center; margin-top: 20px; }

/*button*/
#pl_btn_go_to_booking { color: var(--pr-primary-color, #760076);background-color: #ffffff;border-color: var(--pr-primary-color, #760076);border: 2px solid; letter-spacing: 1px; outline: 0; cursor: pointer; font-size: 16px; padding: 15px 30px; font-weight: 500; text-transform: uppercase; }
#pl_btn_go_to_booking:hover{background: var(--pr-primary-color, #760076); color: #ffffff;}




/***************************************** START BOOKING *****************************************/
#pl_booking_all_container_2 {  }

#pl_booking_step_resume { float: left; width: 50%; position: relative; padding-right: 15px; box-sizing:border-box; }

#pl_booking_step_datas_form { float: left; box-sizing:border-box; padding-left: 15px; }
#pl_booking_step_datas_form label { float: left; width: 100%; font-size: 14px; font-weight: normal; }
#pl_booking_step_datas_form label span { color: #fff;font-size: 12px;letter-spacing: 2px;padding: 4px 8px;border-radius: 3px; font-weight: normal; }
#pl_booking_step_datas_form input[type="text"], #pl_booking_step_datas_form textarea  { float: left; width: 100%; font-size: 14px; font-weight: normal;  }
#pl_booking_step_datas_form button { color: var(--pr-primary-color, #760076);
	background-color: #ffffff;
	border-color: var(--pr-primary-color, #760076);
	border: 2px solid;
	letter-spacing: 1px;
	outline: 0;
	cursor: pointer;
	font-size: 16px;
	padding: 15px 30px;
	font-weight: 500;
	text-transform: uppercase; }
	#pl_booking_step_datas_form label span.pl_validation_errors{color: red;}
#pl_booking_step_datas_form button:hover{background: var(--pr-primary-color, #760076);color: #ffffff;}
#pl_booking_form_term_container a { text-decoration: underline; font-weight: normal; }

#pl_booking_step_datas_form_container { padding:30px; box-sizing:border-box; border:2px solid var(--pr-primary-color, #760076); }
#pl_booking_step_datas_form_container h3 { text-align: center; margin-bottom: 40px; color:var(--pr-primary-color, #760076);}
#pl_booking_step_datas_form_container #pl_booking_form_name_container,
#pl_booking_step_datas_form_container #pl_booking_form_surname_container,
#pl_booking_step_datas_form_container #pl_booking_form_email_container,
#pl_booking_step_datas_form_container #pl_booking_form_phone_container { float: left; width: 50%; }
#pl_booking_form_hot_stone_container, #pl_booking_form_preheat_stone_container {display: flex; align-items: center;}
#pl_booking_form_hot_stone_container input, #pl_booking_form_preheat_stone_container input{margin-top: 0;}
#pl_booking_step_datas_form_container #pl_booking_form_email_container,
#pl_booking_step_datas_form_container #pl_booking_form_phone_container { margin-top: 20px; }

#pl_booking_step_datas_form_container #pl_booking_form_name_container,
#pl_booking_step_datas_form_container #pl_booking_form_email_container { padding-right: 15px; box-sizing:border-box; clear: left !important; }
#pl_booking_step_datas_form_container #pl_booking_form_surname_container,
#pl_booking_step_datas_form_container #pl_booking_form_phone_container { padding-left: 15px; box-sizing:border-box; clear: right !important; }

.pl_booking_resume_restaurant {font-size: 20px;color: #fff !important;text-align: center;float: left;width: 100%;padding: 30px;box-sizing: border-box;line-height: 20px; position: absolute;}
#pl_booking_step_resume_filter {  position: absolute; left: 0px; top:0px; height: 100%; width: 100%; background: linear-gradient(to bottom, rgb(45, 45, 45) 0%,rgba(45, 45, 45, 0) 100%); }
#pl_booking_step_resume_all_info {text-align: center; padding: 40px;box-sizing: border-box; overflow: hidden; position: relative; }
#pl_booking_step_resume_all_info p { color: #fff; }
#pl_booking_step_resume_all_info_word {color: rgba(255, 255, 255, 0.03);position: absolute;bottom: 6px;width: 100%;left: 0px;font-size: 200px;   }
#pl_booking_step_resume_all_info p span {font-weight: bold;letter-spacing: 2px;text-transform: uppercase;}

#pl_booking_form_term_container a { margin-left: 10px; }


#pl_booking_step_datas_form_container.mphb_sc_checkout-wrapper input[type="text"], #pl_booking_step_datas_form_container.mphb_sc_checkout-wrapper textarea{ max-width: unset; }

/***************************************** START CHECKOUT *****************************************/
#pl_checkout_all_container_3 { display: table; }

#pl_checkout_step_resume { float: left; width: 50%; position: relative; padding-right: 15px; box-sizing:border-box; }
#pl_checkout_step_resume_filter {  position: absolute; left: 0px; top:0px; height: 100%; width: 100%; background: linear-gradient(to bottom, rgb(45, 45, 45) 0%,rgba(45, 45, 45, 0) 100%); }
.pl_checkout_resume_restaurant {font-size: 20px;color: #fff !important;text-align: center;float: left;width: 100%;padding: 30px;box-sizing: border-box;line-height: 20px; position: absolute;}


#pl_checkout_step_resume_all_info {text-align: center; padding: 40px;box-sizing: border-box; overflow: hidden; position: relative; margin-top: -50px; }
#pl_checkout_step_resume_all_info_word {color: rgba(255, 255, 255, 0.03);position: absolute;bottom: 6px;width: 100%;left: 0px;font-size: 200px;   }
#pl_checkout_step_resume_all_info p span {font-weight: bold;letter-spacing: 2px;text-transform: uppercase;}

.pl_checkout_container_3 button { color: #fff; letter-spacing: 1px; outline: 0; border-width: 0px; cursor: pointer; font-size: 16px; border-radius: 4px; padding: 15px 30px; font-weight: normal; text-transform: uppercase; }

#pl_checkout_step_datas_form button,#pl_checkout_step_datas_form input[type="submit"] { color: var(--pr-primary-color, #760076);
	background-color: #ffffff;
	border-color: var(--pr-primary-color, #760076);
	border: 2px solid;
	letter-spacing: 1px;
	outline: 0;
	cursor: pointer;
	font-size: 16px;
	padding: 15px 30px;
	font-weight: 500;
	text-transform: uppercase;
	float: left;}

#pl_checkout_step_datas_form button:hover,#pl_checkout_step_datas_form input[type="submit"]:hover{
	background: var(--pr-primary-color, #760076);
	color: #ffffff;
}
#pl_checkout_step_datas_form_container { padding:30px; box-sizing:border-box; border:2px solid var(--pr-primary-color, #760076); }

#pl_checkout_form_name_container h3 { text-align: center; color:var(--pr-primary-color, #760076)}
#pl_checkout_form_name_container span { font-weight: bold; letter-spacing: 2px; }
#pl_checkout_form_name_container {  }


#pl_component_container_layer { position: absolute; top: 0px; left:0px; width: 100%; height: 100%;}
#pl_sorting_result_loader { position: absolute; top: 0px; left:0px; width: 100%; height: 100%; background-color: #fff; background-image: url('../../img/loader-1.gif'); background-size: 70px; background-position: center 300px; background-repeat: no-repeat; }



/***************************************** START THANKS *****************************************/

#pl_thanks_step { border:2px solid var(--pr-primary-color, #760076); width: 70%;box-sizing: border-box;margin: 0px 15%; }
#pl_thanks_step_resume_table p { float: left; width: 100%; border-bottom: 1px solid #f1f1f1; padding: 10px 0px;box-sizing: border-box; }
#pl_thanks_step_resume_table p:last-child { border-width: 0px; padding-bottom: 0px; }
#pl_thanks_step_resume_table strong { float: left; font-weight: normal; }
#pl_thanks_step_resume_table span { float: right; }
.pl_thanks_step_resume_left { box-sizing:border-box; }
.pl_thanks_step_resume_right { padding-left: 15px; box-sizing:border-box; }
#pl_thanks_step_resume strong { font-weight: normal; }

#pl_thanks_step_resume_icons { margin:30px 0px; }
#pl_thanks_step_resume_icons p{ letter-spacing: 2px; text-transform: uppercase;}



/***************************************** START RESPONSIVE *****************************************/



/* 11.6 all responsive*/

@media (min-width:1199px){
	#pl_booking_form_name_container {
		position: relative;
	}
	#pl_booking_step_datas_form_container .pl_section {
		padding-top: 10px;
	}
	.pl_booking_container_2 .pl_section .pl_validation_errors {
		width: 100%;
		display: block;
		position: absolute;
		bottom: -25px;
	}
}


@media only screen and (min-width: 320px) and (max-width: 1199px) {

	#pl_rest_guests_legend_section,#pl_cal_occa_section { width: 100%; border-width: 0px; }

	#pl_booking_step_resume,#pl_booking_step_datas_form { width: 100%; padding: 0px; }
	#pl_booking_step_resume_all_info { padding: 30px; }
	#pl_booking_step_resume_all_info .pl_width_50_percentage { width: 100%; text-align: left; }
	#pl_booking_step_datas_form_container div { width: 100% !important; margin-left: 0px !important; margin-right: 0px !important; padding: 0px !important; }
	#pl_booking_form_surname_container, #pl_booking_form_email_container, #pl_booking_form_phone_container { margin-top: 20px !important; }


	#pl_checkout_step_resume,#pl_checkout_step_datas_form { width: 100%; padding: 0px;  }
	#pl_checkout_step_resume_all_info { padding: 30px; }
	#pl_checkout_step_resume_all_info .pl_width_50_percentage { width: 100%; text-align: left; }


	#pl_thanks_step_resume_icons .pl_width_25_percentage { width: 100%; padding-bottom: 30px; }
	#pl_thanks_step { margin:0px; padding: 20px; width: 100%; }
	.pl_thanks_step_resume_left p span { float: left !important; }
	.pl_thanks_step_resume_left p strong { margin-right: 10px; }

}


/* 11.6 all iphone*/
@media only screen and (min-width: 320px) and (max-width: 767px) {
	body #pl_guests_section .pl_section {
		width: 100%;
	}
	body #pl_datepicker_dev {
		padding-left: 0;
		padding-right: 0;
	}
	body #pl_guests_legend_section {
		padding: 10px 0;
	}
	body .pl-guest-notification {
			padding: 8px 0px;
	margin: 8px 0;
	}

	#pl_steps_container .pl_single_step { width: 100%; padding: 10px 0px; }
	#pl_time_section { padding: 0px; }
	#pl_legend_section { display: none; }
	#pl_guests_section { width: 100% !important; }
	#pl_guests_section h3 { font-size: 14px; }
	#pl_guests_legend_section { padding: 10px; margin-top: 0px; }
	.pl_guest_number { width: 100%; }
	.pl_restaurant_image_content h3 { font-size: 16px; }
	.pl_restaurant_image_content { top: 10px; }
	.pl_ul_restaurant { z-index: 9; }
	#pl_calendar_content h3 { font-size: 16px; }
	#pl_occasion_cont h3 { font-size: 16px; }
	#pl_guests_legend_section #pl_guests_section {padding-left: 0; padding-right: 0;}
	ul#pl_all_time_slots_container {padding: 0;}
	ul#pl_all_time_slots_container li {width:33.33%;}
	.pl_guest_number.pl_section {
		width: 50%;
	}
}
