/***** top page *****/
.top_page 							{ position: relative; padding-top: 200px;}
.top_page:before 					{ width: 52%; position: absolute; top: 25px; right: 25px; bottom: -40px; background: #eef6f8; border-radius: 50px 0 50px 50px; content: "";}
.top_page .texte 					{ padding: 60px 0 0 0;}
.top_page .titre_main				{ margin: 0 0 10px 0;}
.top_page .sous_titre  				{ font-size: 35px; line-height: 45px; margin: 0;}

@media (max-width:2000px) {
.top_page 							{ padding-top: 180px;}
.top_page:before 					{ width: 60%;}
.top_page .texte 					{ padding: 50px 0 0 0;}
}
@media (max-width:1600px) {
.top_page 							{ padding-top: 170px;}
.top_page .texte 					{ padding: 40px 0 0 0;}
}
@media (max-width:1200px) {
.top_page 							{ padding-top: 125px;}
.top_page:before 					{ top: 0; right: 0; bottom: -40px; border-radius: 0 0 0 40px;}
.top_page .texte 					{ padding: 30px 0 10px 0;}
.top_page .sous_titre  				{ font-size: 30px; line-height: 40px;}
}
@media (max-width:1000px) { 
.top_page:before 					{ display: none;}
.top_page .texte 					{ padding: 30px 0 0 0;}
.top_page .sous_titre  				{ font-size: 28px; line-height: 38px;}
}
@media (max-width:700px) { 
.top_page 							{ padding-top: 90px;}
.top_page .texte 					{ padding: 20px 0 0 0;}
.top_page .sous_titre  				{ font-size: 22px; line-height: 30px;}
}



/***** breadcrumb *****/
.breadcrumb							{ line-height: 0; position: relative;}
.breadcrumb li 						{ display: inline-block; font-size: 12px; line-height: 20px; margin-right: 30px; letter-spacing: 0.8px; position: relative;}
.breadcrumb li:after				{ width: 1px; height: 9px; position: absolute; right: -18px; top: 5px; background: #1b9dc8; content: "";}
.breadcrumb li:last-child:after 	{ display: none;}
.breadcrumb li a.active 			{ color: #1b9dc8;}

@media (max-width:700px) { 
.breadcrumb li 						{ font-size: 11px;}
.breadcrumb li:after				{ height: 8px; top: 6px;}
}



/***** page content *****/
.page 								{ position: relative; padding-bottom: 20px;}
body.page                                                       { padding: 0;}
.page p								{ margin-bottom: 15px;}
.page .ul_list a, 
.page p a							{ border-bottom: 1px solid #ccc; padding-bottom: 2px;}
.page .ul_list						{ margin-bottom: 15px;}
.page .ul_list li					{ padding: 0 0 0 20px; position: relative; margin-top: 10px; background: url("../images/arrow_date.svg") 0 9px no-repeat; background-size: 7px auto;}

@media (min-width:1201px) {
.page .ul_list a:hover,
.page p a:hover						{ color: #ae312e; border-color: #ae312e;}
}
@media (max-width:1200px) {
.page 								{ padding-bottom: 20px;}
}
@media (max-width:700px) {
.page 								{ padding-bottom: 10px;}
.page p								{ margin-bottom: 10px;}
.page .ul_list						{ margin-bottom: 10px;}
.page .ul_list li					{ padding-left: 24px; background-size: 12px auto; margin-top: 5px;}
}



/***** bloc texte *****/
.bloc_texte							{ margin: 80px auto; position: relative;}
.bloc_texte :last-child				{ margin-bottom: 0;}
.bloc_texte img,
.bloc_texte video					{ width: 100%; height: auto; display: block; object-fit: cover; border-radius: 20px;}

@media (max-width:1200px) { 
.bloc_texte							{ margin: 70px auto;}
.bloc_texte img,
.bloc_texte video					{ border-radius: 15px;}
}
@media (max-width:1000px) { 
.bloc_texte							{ margin: 50px auto;}
.bloc_texte img,
.bloc_texte video					{ border-radius: 12px;}
}
@media (max-width:700px) { 
.bloc_texte							{ margin: 30px 0;}
.bloc_texte img,
.bloc_texte video					{ border-radius: 8px;}
}



/***** albufeira *****/
.albufeira .top_page .chapo 		{ max-width: 900px;}




/***** logements *****/
.logement ul 		 				{ line-height: 24px; margin-bottom: 20px;}
.logement ul li	 					{ display: inline-block; margin-right: 30px; position: relative;}
.logement ul li:after 				{ width: 5px; height: 5px; content: ""; position: absolute; right: -18px; top: 10px; border-radius: 50%; background: #1b9dc8;}
.logement ul li:last-child:after 	{ display: none;}

@media (max-width:700px) {
.logement .sous_titre 				{ margin-top: -5px;}
.logement ul 		 				{ margin-bottom: 15px; margin-left: 15px; padding-top: 5px;}
.logement ul li	 					{ display: block; margin: 0; padding-left: 15px;}
.logement ul li:after 				{ left: 0; top: 9px; right: auto;}
.logement ul li:last-child:after 	{ display: block;}
.logement .link 		 			{ width: 100%; text-align: center;}
}
















/***** fiche logement *****/
.fiche .top_page 								{ margin-bottom: -40px;}
.fiche .top_page:before 						{ bottom: -180px;}
.fiche .gallery 								{ display: grid; grid-template-columns: 1fr 1fr; grid-gap: 20px;}
.fiche .gallery a								{ display: block;}
.fiche .gallery img								{ height: 100%; transition: all 300ms ease-in-out;}
.fiche .gallery .thumbs							{ display: grid; grid-template-columns: 1fr 1fr; grid-gap: 20px;}
.fiche .gallery>a								{ display: none;}
.fiche .gallery>div a:after						{ width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: url("../images/loupe.svg") 50% no-repeat; z-index: 20; transition: all 300ms ease-in-out; opacity: 0; content: "";}
.fiche .gallery .thumbs a:last-child img		{ filter: brightness(0.5);}
.fiche .gallery .thumbs a:last-child:after 		{ background: url("../images/plus.svg") 50% no-repeat; opacity: 1;}

@media (min-width:1201px) {
.fiche .gallery a:hover img						{ filter: brightness(0.5);}
.fiche .gallery>div a:hover:after 				{ opacity: 1;}
}
@media (max-width:1200px) {
.fiche .top_page:before 						{ bottom: -120px;}
.fiche .gallery 								{ grid-gap: 15px;}
.fiche .gallery .thumbs							{ grid-gap: 15px;}
}
@media (max-width:1000px) {
.fiche .top_page 								{ margin-bottom: -20px;}
.fiche .gallery 								{ grid-template-columns: 1fr;}
}
@media (max-width:700px) {
.fiche .gallery,
.fiche .gallery .thumbs							{ grid-gap: 10px;}
}



/** custom  **/
.fiche .wpbc_container_booking_form 												{ width: 100%; margin: 25px 0 0 0;}
.fiche .wpbc_no_custom_width.cal_month_num_2 										{ max-width: 900px; margin-bottom: 10px;}
.fiche .datepick-inline 															{ border: 1px solid #4d4d4d; box-shadow: none;}
.fiche .wpbc__cost__hint__div 														{ margin: 30px 0;}

.fiche .resource_selection_div select,
.fiche .wpbc_container.wpbc_container_booking_form select,
.fiche .wpbc_container.wpbc_container_booking_form input[type="text"],
.fiche .wpbc_container.wpbc_container_booking_form textarea 						{ height: 60px; font-size: 14px; line-height: 22px; padding: 0 25px; border: none; border-radius: 8px;}
.fiche .wpbc_container.wpbc_container_booking_form textarea 						{ height: auto; padding: 20px 25px;}

.fiche .wpbc_container_booking_form .wpbc__field label,
.fiche .wpbc_container_booking_form .wpbc__field label:hover 						{ display: block; margin: 0 0 5px 0;}
.fiche .wpbc_container_booking_form .wpbc__field label span 						{ padding: 0 0 0 3px;}

.fiche .wpbc_container_booking_form .wpbc__field:not(.wpbc__cal) 					{ padding-right: 20px; margin: 10px 0;}

.fiche .wpbc_container .wpbc_button_light,
.fiche .wpbc_container .wpbc_button_light:focus,
.fiche .wpbc_container .wpbc_button_light:hover,
.fiche .wpbc_container.wpbc_container_booking_form .wpbc_button_light,
.fiche .wpbc_container.wpbc_container_booking_form .wpbc_button_light:focus,
.fiche .wpbc_container.wpbc_container_booking_form .wpbc_button_light:hover 		{ font: 400 15px/58px "Poppins"; letter-spacing: 0.5px; height: 60px; display: inline-block; color: #fff; padding: 0 40px; border-radius: 15px; background: linear-gradient(to top, #1b9dc8 0% 50%, #245873 50% 100%); background-size: 100% 200%; background-position: 0 100%; cursor: pointer; box-shadow: none; border: none!important; transition: all 300ms ease-in-out;}

.fiche .wpbc__row:last-child 														{ display: block;}
.fiche .wpbc__row:last-child>div 													{ display: block;}
.fiche .wpbc__row:last-child .wpbc_wrap_checkbox 									{ display: block; margin: -20px 0 20px 0;}
.fiche .wpbc__row:last-child .wpbc_wrap_checkbox .wpdev-list-item 					{ padding: 0; display: grid; grid-template-columns: auto auto auto 1fr; grid-gap: 3px; align-items: center;}
.fiche .wpbc__row:last-child .wpbc_wrap_checkbox .wpdev-list-item label 			{ font-weight: 400; margin: 0;}

.booking_form input[type="text"]:focus, 
.booking_form input[type="password"]:focus, 
.booking_form input[type="color"]:focus, 
.booking_form input[type="date"]:focus, 
.booking_form input[type="datetime"]:focus, 
.booking_form input[type="datetime-local"]:focus, 
.booking_form input[type="email"]:focus, 
.booking_form input[type="month"]:focus, 
.booking_form input[type="number"]:focus, 
.booking_form input[type="search"]:focus, 
.booking_form input[type="tel"]:focus, .booking_form input[type="time"]:focus,
.booking_form input[type="url"]:focus, 
.booking_form input[type="week"]:focus, 
.booking_form input[type="checkbox"]:focus, 
.booking_form input[type="radio"]:focus, 
.booking_form select:focus, 
.booking_form textarea:focus 														{ box-shadow: none !important;}

.fiche .wpdevelop b,
.fiche .wpdevelop strong 															{ font-weight: 600; font-size: 14px;}

.fiche .wpbc_after_booking_thank_you_section .wpbc_ty__message 						{ font-size: 16px; margin: 0 0 20px 0;}
.fiche .wpbc_after_booking_thank_you_section 										{ max-width: none;}
.fiche .wpbc_after_booking_thank_you_section .wpbc_ty__container  					{ box-shadow: none; border: 1px solid #ccc; border-radius: 20px; padding: 40px 50px; font-size: 14px; line-height: 26px;}
.fiche .wpbc_after_booking_thank_you_section .wpbc_ty__container .wpbc_ty__header 	{ border: none; font-size: 16px; line-height: 30px; padding: 0; margin: 0;}



@media (max-width:1200px) {
.fiche .resource_selection_div select,
.fiche .wpbc_container.wpbc_container_booking_form select,
.fiche .wpbc_container.wpbc_container_booking_form input[type="text"],
.fiche .wpbc_container.wpbc_container_booking_form textarea 						{ height: 56px;}


.fiche .wpbc_container .wpbc_button_light,
.fiche .wpbc_container .wpbc_button_light:focus,
.fiche .wpbc_container .wpbc_button_light:hover,
.fiche .wpbc_container.wpbc_container_booking_form .wpbc_button_light,
.fiche .wpbc_container.wpbc_container_booking_form .wpbc_button_light:focus,
.fiche .wpbc_container.wpbc_container_booking_form .wpbc_button_light:hover 		{ font-size: 14px; line-height: 54px; height: 56px; padding: 0 30px; border-radius: 12px;}
}
@media (max-width:1000px) {
.fiche .wpbc_container .wpbc_button_light,
.fiche .wpbc_container .wpbc_button_light:focus,
.fiche .wpbc_container .wpbc_button_light:hover,
.fiche .wpbc_container.wpbc_container_booking_form .wpbc_button_light,
.fiche .wpbc_container.wpbc_container_booking_form .wpbc_button_light:focus,
.fiche .wpbc_container.wpbc_container_booking_form .wpbc_button_light:hover 		{ width: 100%; text-align: center;}
}
@media (max-width:700px) {
.fiche .wpbc_container_booking_form 												{ margin: 20px 0 0 0;}
.fiche .wpbc__cost__hint__div 														{ margin: 20px 0;}

.fiche .resource_selection_div select,
.fiche .wpbc_container.wpbc_container_booking_form select,
.fiche .wpbc_container.wpbc_container_booking_form input[type="text"],
.fiche .wpbc_container.wpbc_container_booking_form textarea 						{ height: 50px; font-size: 13px; padding: 0 20px;}
.fiche .wpbc_container.wpbc_container_booking_form textarea 						{ padding: 15px 20px;}

.fiche .wpbc_container_booking_form .wpbc__field label,
.fiche .wpbc_container_booking_form .wpbc__field label:hover 						{ font-size: 13px; margin: 0 0 2px 0;}


.fiche .wpbc_container .wpbc_button_light,
.fiche .wpbc_container .wpbc_button_light:focus,
.fiche .wpbc_container .wpbc_button_light:hover,
.fiche .wpbc_container.wpbc_container_booking_form .wpbc_button_light,
.fiche .wpbc_container.wpbc_container_booking_form .wpbc_button_light:focus,
.fiche .wpbc_container.wpbc_container_booking_form .wpbc_button_light:hover 		{ font-size: 13px; line-height: 50px; height: 50px; border-radius: 8px;}

}







.booking .top_page:before 													{ display: none;}

#booking_search_form  														{ width: 100%; background: #eef6f8; border-radius: 20px; padding: 50px; margin: 50px 0 0 -5px;}
#booking_search_form .wpbc_container .wpbc_button_light,
#booking_search_form .wpbc_container .wpbc_button_light:focus,
#booking_search_form .wpbc_container .wpbc_button_light:hover  				{ font: 400 15px/58px "Poppins"!important; letter-spacing: 0.5px; height: 60px; display: inline-block; color: #fff; padding: 0 40px; border-radius: 15px; background: linear-gradient(to top, #1b9dc8 0% 50%, #245873 50% 100%); background-size: 100% 200%; background-position: 0 100%; cursor: pointer; box-shadow: none; border: none!important; transition: all 300ms ease-in-out;}

.booking h2.wpbc_search_avy_header,
.booking h2.wpbc_search_avy_header_advanced 								{ font: 500 30px/35px "Cormorant Garamond"; margin: 20px 0 0 0;}

.booking .wpbc_container_search_results .wpbc__field 						{ margin: 0;}
.booking .booking_search_result_item 										{ padding: 40px 0; margin: 0; border-bottom: 1px solid #ccc;}
.booking .booking_search_result_item b,
.booking .booking_search_result_item strong 								{ font-weight: 600; font-size: 14px;}
.booking .booking_search_result_item a 										{ padding: 0;}
.booking .booking_search_result_item img.booking_featured_image 			{ padding: 0; border: none; margin: 0 30px 0 0;}

.booking  .booking_search_result_item .booking_search_result_title  		{ font: 500 35px/40px "Cormorant Garamond"; color: #1b9dc8;}
.booking  .booking_search_result_item .booking_search_result_cost_hint  	{ font: 500 20px/30px "Poppins"; color: #245873;}

.booking .wpbc_container_search_results .wpbc__field.c_minimized 			{ margin: 0;}

.booking .booking_search_result_item a.wpbc_button_light,
.booking .booking_search_result_item a.wpbc_button_light:hover 				{ font: 400 15px/58px "Poppins"; letter-spacing: 0.5px; height: 60px; display: inline-block; color: #fff; padding: 0 40px; border-radius: 15px; background: linear-gradient(to top, #1b9dc8 0% 50%, #245873 50% 100%); background-size: 100% 200%; background-position: 0 100%; cursor: pointer; box-shadow: none; border: none!important; transition: all 300ms ease-in-out;}


@media (min-width:1201px) {
#booking_search_form .wpbc_container .wpbc_button_light:hover 				{ background-image: linear-gradient(to top, #1b9dc8 0% 50%, #245873 50% 100%); background-position: 0 0; color: #fff;}
}
@media (max-width:1600px) {
#booking_search_form  														{ margin: 40px 0 0 0;}
}
@media (max-width:1200px) {
#booking_search_form  														{ margin: 30px 0 0 0; border-radius: 15px; padding: 40px;}
}
@media (max-width:1000px) {
#booking_search_form  														{ border-radius: 10px;}
}
@media (max-width:700px) {
#booking_search_form  														{ padding: 20px; border-radius: 8px; margin: 20px 0 0 0;}
}
























