/*
Theme Name: Hôtel des lacs
Description: Theme enfant hotel des lacs
Author: Benoit - WPserveur
Author URI: 
Template: quardo
Version: 0.1.0
*/
:root {
	--white: #FFF;
    --light-grey: #DCDCDC;
	--light-grey-background: #F5F3EC;
    --blue: #022741;
}

a,
a:hover {
	color: var(--blue);
	transition: 0.5s;
}

a:hover {
	color: var(--blue);
	opacity: 0.8;
	transition: 0.5s;
}

.p-relative {
	position: relative;
}


.content-section:first-child {
	padding-bottom: 0;
}

.single-hb_room .content-section + .content-section {
	padding-top: 0;
}

.content-section:first-of-type,
.content-section:first-of-type + .content-section {
	padding-top: 0;
}

.content-section {
  padding: 50px 0;
}

@media only screen and (max-width: 767px), only screen and (max-device-width: 767px) {
  .content-section {
    padding: 25px 0;
  }
}

.text-center {
	text-align: center;
}

/****** TABLE ******/
.table > thead > tr {
  background-color: #F3F3F3;
}

.table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > td {
  border-top: 0;
}

.table > thead > tr > th {
  vertical-align: bottom;
}

.table > tbody > tr:last-child {
  border-bottom: 1px solid var(--light-grey);
}

.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid var(--light-grey);
}

body table tr td {
	border: 1px solid var(--light-grey);
}

/****** STRUCTURE ******/
.container {
  width: 100%;
  padding: 0 15px;
  margin: 0 auto;
}

@media only screen and (max-width: 991px), only screen and (max-device-width: 991px) {
  .side-content.text-center {
    padding: 0 0 50px 0;
  }
}

@media (min-width: 576px) {
  .container, .container-sm {
    max-width: 960px;
  }
}

@media (min-width: 768px) {
  .wp-hotel-booking-rooms .container {
    max-width: 960px; /* si tu veux une exception pour cette section */
  }
}

@media (min-width: 992px) {
  .container, .container-lg, .container-md, .container-sm, .wp-hotel-booking-rooms .container {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container, .container-xl, .container-lg, .container-md, .container-sm, .wp-hotel-booking-rooms .container {
    max-width: 1140px;
  },
}

@media (min-width: 1400px) {
  .container, .wp-hotel-booking-rooms .container  {
    max-width: 1320px;
  }
}

/****** FORMULAIRE ******/
.contact-form select {
  width: 100%;
}

/****** HEADER ******/
body.wp-hotel-booking-page:not(.tp-themes-premium) button:not(:hover):not(:active):not(.has-background) {
	background-color: transparent;
}

body .navbar .site-menu ul li a[data-text="FR"],
body .navbar .site-menu ul li a[data-text="EN"],
body .hamburger-navigation .nav-menu {
    display: none;
}

.slider-home .slider .main-slider,
.slider-home .slider{
	height: 90vh;
}

@media (max-width: 768px) {
	.slider-home .slider .main-slider,
	.slider-home .slider{
		height: 70vh;
	}
}

.navbar .site-menu ul li ul {
	background: #FFF !important;
	left: 0;
}

.navbar .site-menu ul li a {
	position: relative;
}

.navbar .site-menu ul li ul li a {
	color: var(--blue);
	font-weight: 500;
}

.navbar .site-menu ul li ul li a:hover {
	color: var(--blue);
	text-decoration: none;
}

.navbar .site-menu ul li a::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  border-radius: 5px;
  height: 0.05em;
  bottom: 0;
  left: 0;
  background: currentcolor;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

.navbar .site-menu ul li a:hover::after,
.navbar .site-menu ul li.active > a::after{
  transform: scaleX(1);
  transform-origin: bottom left;
}

body .navbar .site-menu ul li.lang-item {
	display: flex;
	align-items: center;
}

body .navbar .site-menu ul li.lang-item a[hreflang="en-GB"] {
	background-image: url(img/united-kingdom.png);
}

body .navbar .site-menu ul li.lang-item a[hreflang="fr-FR"] {
	background-image: url(img/france.png);
}


body .navbar .site-menu ul li.lang-item a[hreflang="en-GB"],
body .navbar .site-menu ul li.lang-item a[hreflang="fr-FR"] {
	background-repeat: no-repeat;
	height: 16px;
	overflow: hidden;
	text-indent: -9999px;
	width: 16px;
}


/****** RESPONSIVE ******/
@media only screen and (max-width: 991px), only screen and (max-device-width: 991px) {
  .side-image.left-full {
    width: calc(100% + 30px);
    margin-left: -15px;
    margin-right: -15px;
  }
}

/****** HOME ******/
.section-title {
  margin-bottom: inher it;
}

.rooms-slider::before {
  background: var(--light-grey-background);
}

.side-content.text-right {
  padding-left: 30%;
  text-align: left !important;
}

.slider .slider-next,
.slider .slider-prev {
    background: var(--blue);
}

.rooms-slider .swiper-slide .room-detail .price-line,
.rooms-slider .swiper-slide .room-detail .reviews {
    display: none;
}

.rooms-slider .swiper-slide .room-detail .title {
	margin-bottom: 0;
}

.rooms-slider .swiper-slide .room-detail .title h4 a {
	color: var(--blue);
}

/****** CHAMBRE ******/
.hb_room-template-default .content-section:last-child {
  padding-bottom: 0;
}

.hotel-booking-search-filter,
.sort-by-wrapper {
	display: none;
}

.rooms.tp-hotel-booking li:nth-child(2n) {
  padding-left: 0;
}

.rooms.tp-hotel-booking {
	gap: 40px 20px;
}

.rooms.tp-hotel-booking li {
	margin-top: 0;
	padding-right: 0;
}

.rooms.hb-catalog-column-4 > .hb_room {
  width: calc(33.33% - 14px) !important;
}

@media (max-width: 768px) {
	.rooms.hb-catalog-column-4 > .hb_room {
    	width: calc(50% - 14px) !important;
	}
}

@media (max-width: 576px) {
	.rooms.hb-catalog-column-4 > .hb_room {
    	width: 100% !important;
	}
}

.rooms.tp-hotel-booking .summary.entry-summary .title h4 {
	font-size: 20px;	
}

@media (min-width: 768px) {
	.rooms.tp-hotel-booking .summary.entry-summary .title h4 {
		font-size: 20px;
	}
}

body.wp-hotel-booking-page:not(.tp-themes-premium) .rooms .hb_room .media img {
  border-radius: 0;
}

.rooms.tp-hotel-booking .summary.entry-summary .price,
.wp-hotel-booking-rooms .sort-by-wrapper {
	display: none;
}

.rooms.tp-hotel-booking .summary.entry-summary .title {
  width: calc(100% - 25px);
  margin-left: 25px;
  padding: 25px;
}

.rooms.tp-hotel-booking .summary.entry-summary .title,
.tp-seminaire .side-content {
  width: calc(100% - 25px);
  display: flex;
  flex-wrap: wrap;
  background: #fff;
  margin-top: -50px;
  margin-left: 25px;
  position: relative;
  z-index: 1;
  padding: 25px;
  padding-right: 0;
  padding-bottom: 0;
}

.tp-seminaire .side-content h4 {
	width: 100%;
  	display: block;
  	font-size: 36px;
	font-weight: 600;
  	font-family: "Argesta Display";
  	margin-bottom: 10px;
  	margin-top: 0;
}

@media (min-width: 768px) {
  .tp-seminaire .side-content h4 {
    font-size: 20px;
  }
}

/***** PRELOADER *****/
.preloader figure img {
  opacity: 1;
}

.preloader {
	background: var(--blue);
}

.preloader .loadbar {
  background: var(--color-main);
}

/***** ACCORDEON *****/
.vc_do_toggle {
	border-bottom: 1px solid var(--light-grey);
	border-top: 1px solid var(--light-grey);
	padding: 20px 0;
}

.vc_do_toggle + .vc_do_toggle {
	border-top: none;
	padding: 20px 0;
}

.vc_do_toggle .vc_toggle_title h4 {
	color: var(--blue);
}

body .vc_toggle_default .vc_toggle_icon::after, 
body .vc_toggle_default .vc_toggle_icon::before,
body .vc_toggle_default .vc_toggle_icon {
	border: none;
	background: var(--blue);
}

body .vc_toggle_size_md.vc_toggle_default .vc_toggle_content .vc_toggle_icon, 
body .vc_toggle_size_md.vc_toggle_default .vc_toggle_title .vc_toggle_icon, 
body .vc_toggle_size_md.vc_toggle_round .vc_toggle_content .vc_toggle_icon, 
body .vc_toggle_size_md.vc_toggle_round .vc_toggle_title .vc_toggle_icon, 
body .vc_toggle_size_md.vc_toggle_rounded .vc_toggle_content .vc_toggle_icon, 
body .vc_toggle_size_md.vc_toggle_rounded .vc_toggle_title .vc_toggle_icon, 
body .vc_toggle_size_md.vc_toggle_simple .vc_toggle_content .vc_toggle_icon, 
body .vc_toggle_size_md.vc_toggle_simple .vc_toggle_title .vc_toggle_icon, 
body .vc_toggle_size_md.vc_toggle_square .vc_toggle_content .vc_toggle_icon, 
body .vc_toggle_size_md.vc_toggle_square .vc_toggle_title .vc_toggle_icon {
  left: auto;
  right: 0;
}

body .vc_toggle_size_md.vc_toggle_default .vc_toggle_content, 
body .vc_toggle_size_md.vc_toggle_default .vc_toggle_title {
  padding-left: 0;
}

ul.liste-3 {
	list-style-type: none;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	margin: 0;
	max-width: 1200px;
	padding: 0;
}

ul {
	list-style: none;
	padding-left: 0;
}

.vc_do_toggle .vc_toggle_content ul li:before {
	background: transparent url(img/check.svg);
    background-repeat: repeat;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: inline-block;
	height: 15px;
	margin-right: 10px;
	width: 15px;
}

.side-image.left-full {
	width: calc(51vw - 7.5px);
}

/***** TITRE, PARAGRAPHE *****/
.side-content h2 {
	color: var(--blue);
}

.side-content.light h2 {
	color: var(--white);
}

.side-content p {
  margin-top: 10px;
}

/***** ROOMS *****/
.room-box .content .title h4 a {
	color: var(--blue);
}

.rooms-list .room-box .price-line,
.rooms-list .room-box .bottom-specs{
	display: none;
}

.rooms-list {
  gap: 0; /* On ne veut pas de gap global entre tous les éléments */
}

/* Ajoute 30px à gauche au 2e et 3e élément de chaque ligne */
.rooms-list li:nth-child(2n) {
  padding-left: 0;
}

.chambre-icons {
	display: grid;
	grid-template-columns: repeat(5,1fr);
}


.chambre-icons .content-icon-text {
	align-items: center;
	color: var(--blue);
	display: flex;
}


.chambre-icons .content-icon-text {
	width: calc(100% - 28px);
}	

.icon-chambre {
	background-size: cover;
	display: inline-block;
	height: 28px;
	margin-right: 5px;
	width: 28px;
}

.icon-plan {
	background-image: url(img/area.svg);
}

.icon-lit {
	background-image: url(img/bed.svg);
}

.icon-guest {
	background-image: url(img/guests);
}

.icon-bain {
	background-image: url(img/bath.svg);
}

.icon-clim {
	background-image: url(img/ice-sun);
}

.content-icon-text > br {
	display: none;
}


@media only screen and (min-width: 1200px), only screen and (min-device-width: 1200px) {
	.room-box .content {
		padding-right: 50px
	}
	
	.room-box .content {
		padding: 50px
	}
}

@media only screen and (max-width: 1199px), only screen and (max-device-width: 1199px) {
	.room-box .content {
		padding-right: 20px
	}
	
	.room-box .content {
		padding: 20px
	}
}


@media only screen and (min-width: 992px), only screen and (min-device-width: 992px) {
	.rooms-list li {
		padding: 0;
		width: calc(33.33% - 20px);
	}
	
	.rooms-list li:nth-child(3n-1),
	.rooms-list li:nth-child(3n) {
	  margin-left: 30px;
	}

	.rooms-list li:nth-child(3) {
		margin-top: 0;
	}
	
	.content-box {
		padding-left: 50px
	}
}

@media only screen and (max-width: 991px), only screen and (max-device-width: 991px) {
	.rooms-list li,
	.rooms-list li:nth-child(2n) {
		padding: 0;
		width: calc(50% - 15px);
	}
	
	.rooms-list li:nth-child(even)  {
	  margin-left: 30px;
	}
	
	.room-box .content {
		padding: 20px
	}
}

@media only screen and (max-width: 576px), only screen and (max-device-width: 576px) {
	.rooms-list li,
	.rooms-list li:nth-child(2n) {
		padding: 0;
		width: 100%;
	}
	
	.rooms-list li:nth-child(even)  {
	  margin-left: 0;
	}
	
	.room-box .content {
		padding: 20px
	}
}

/***** BOUTONS *****/
.reveal-effect.animated::before,
.blue .custom-button:hover::before,
.blue .custom-button::after{
  background: var(--blue);
}

.blue .custom-button {
	background: transparent;
	border: 1px solid  var(--blue);
	color: var(--blue);
	cursor: pointer;
}

.custom-button:hover::before {
	background: var(--blue);
}

.custom-button.vc_general.vc_btn3,
.custom-button .vc_general.vc_btn3{
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	color: var(--blue) !important;
}

/***** ANIMATIONS *****/
.logo-side-content   + .side-content  {
	padding-top: 0;
}

@media only screen and (max-width: 991px), only screen and (max-device-width: 991px) {
  .logo-side-content {
    padding-top: 50px;
  }
	
  .side-content {
    padding: 50px 0;
  }
}

.icon-top.vc_icon_element.vc_icon_element-outer .vc_icon_element-inner {
	height: 2.5em;
}

/****** CHAMBRES ******/
.liste-chambre .vc_custom_heading.vc_gitem-post-data.vc_gitem-post-data-source-post_excerpt {
	display: none;
}

/****** FOOTER ******/
.footer {
	background: var(--blue);
}

/****** SEMINAIRE ******/
.u-icon, .classe-icon, .classe-icon, .theatre-icon, .conference-icon, .banquet-icon, .cocktail-icon, .amphi-icon, .jour-icon, .andicap-icon{
	background:transparent url(img/sprite.png) no-repeat left top;
	margin:0 auto;
}

.u-icon{
	background:transparent url(img/sprite.png) no-repeat left top;
	background-position:0 0;
	height:19px;
	width:19px;
}
.classe-icon{
	background-position:0 -19px;
	height:20px;
	width:19px;
}
.theatre-icon{
	background-position:0 -39px;
	height:16px;
	width:19px;
}
.conference-icon{
	background-position:0 -55px;
	height:20px;
	width:19px;
}
.banquet-icon{
	background-position:0 -75px;
	height:19px;
	width:21px;
}
.cocktail-icon{
	background-position:0 -94px;
	height:18px;
	width:15px;
}
.amphi-icon{
	background-position:0 -112px;
	height:15px;
	width:27px;
}
.jour-icon{
	background-position:0 -127px;
	height:21px;
	width:22px;
}
.andicap-icon{
	background-position:0 -148px;
	height:19px;
	width:16px;
}
.fa-check{ color:#14648C;}
.fa-times{ color:#920000;}

body .content-section.bottom-spacing {
  margin-bottom: 80px !important;
}

.section-title h3,
.section-title p {
  width: 100%;
  display: block;
  margin: 0;
    margin-bottom: 0px;
}