#entete {
	margin-bottom : 0;
}

#page {
	overflow   : initial;
	overflow-x : hidden;
}

#page .menu {
	position      : sticky;
	top           : 0;
	z-index       : 1000;
	/*height : 115px;*/
	border-bottom : 1px solid var(--grey);
}

section.header {
	overflow   : hidden;
	position   : relative;
	min-height : 250px;
}

section.header img {
	width      : 100%;
	height     : 100%;
	object-fit : cover;
}

section.header:after {
	width      : 100%;
	height     : 100%;
	background : linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
	content    : "";
	position   : absolute;
	bottom     : 0;
	left       : 0;
}

section.header h1 {
	z-index : 2;
}

section.header .container {
	position : absolute;
	top      : 0;
	left     : 0;
	right    : 0;
}

nav .nav-tabs {
	border         : none;
	padding-bottom : 1px;
}

nav .nav-tabs-item {

	font-size      : 18px;
	text-transform : uppercase;
	position       : relative;
	border-bottom  : 4px solid var(--white);
	padding        : 35px 20px;

}

nav .nav-tabs-item.active {
	color         : var(--light-blue);
	border-bottom : 4px solid var(--light-blue);
}

section.page .social_links {
	position : sticky;
	top      : 135px;
}

section.page .element {
	margin-bottom : 50px;
}


/* seminaire *//* seminaire *//* seminaire */
/* hotellerie *//* hotellerie *//* hotellerie */
section.a_propos .content-top h2 {
	padding-right : calc(100% / 6);
	margin        : 0;
}

section.a_propos ul.list-items, section.gite ul.list-items {
	margin : 20px 0px;
}

section.a_propos ul.list-items.hotellerie {
	padding : 0px;
}

section.a_propos ul.list-items.hotellerie li {
	display       : flex;
	align-content : center;
	align-items   : center;
	padding       : 10px 0px;
}

section.a_propos ul.list-items.hotellerie p, section.gite ul.list-items p {
	margin-bottom : 0px;
	text-align    : left;
}

section.a_propos ul.list-items.hotellerie li .content-img {
	padding-right : 15px;
}

section.a_propos .content-bottom {
	margin-top : 120px;
}

.list-services {
	margin-top : 30px;
}

.cards-services {
	width          : 100%;
	height         : auto;
	display        : flex;
	flex-direction : column;
	align-items    : center;
	border-radius  : 40px;
	overflow       : hidden;

	max-width : 308px;
	margin : 15px auto;
}

.cards-services .cards-top {
	width            : 100%;
	height           : 130px;
	background-color : var(--grey);

	display          : flex;
	align-items      : center;
	justify-content  : center;
}

.cards-services .cards-bottom {
	width   : 100%;
	padding : 10px 0px;
}

.cards-services .cards-bottom p {
	margin     : 0;
	text-align : center;
}

section.contact-reservation .content-top .col-md-6:nth-of-type(2) {
	display         : flex;
	justify-content : flex-end;
}

section.contact-reservation .content-top .tel {
	border-radius : 10px;
	padding       : 15px;
	height        : min-content;
}

section.contact-reservation .tel p {
	margin-bottom : 0;
}

section.contact-reservation .title p.no-padding,
section.prestations .row.align-items-end .col-lg-8 p {
	max-width : 524px;
}

section.prestations #carousel_prestations {
	margin-top      : 50px;
	position        : relative;

	display         : flex;
	justify-content : space-around;
	align-items     : flex-start;
	flex-wrap       : wrap;
}

section.prestations .cards-prestation {
	position        : relative;
	border-radius   : 40px;
	display         : flex;
	align-items     : center;
	justify-content : center;
	overflow        : hidden;
	cursor          : pointer;
	margin          : 15px;

	width           : 330px;
	height          : 500px;
}

section.prestations .cards-prestation img {
	transition : var(--btn-transition);
}

section.prestations .cards-prestation:hover img {
	transform : scale(1.1);
}

section.prestations .cards-prestation a.btn.hover-arrow.hover-arrow-right:after {
	right : 15px;
}

section.prestations .cards-prestation:hover a.btn.hover-arrow.hover-arrow-right:after {
	right : 10px;
}

section.prestations .cards-prestation a.btn {
	position : absolute;
	bottom   : 20px;
	left     : 0;
	right    : 0;
	width    : calc(100% - 40px);
	margin   : 0 auto;

	padding : 15px 20px;
	white-space: normal;
}
section.prestations .cards-prestation a.btn.hover-arrow.hover-arrow-right:hover {
	padding-left  : 20px;
	padding-right : 20px;
}


/* Formulaire séminaire *//* Formulaire séminaire*/
section.contact-reservation h3 {
	padding : 50px 0 30px 0;
}

section.contact-reservation .form-group label:not(.form-check-label) {
	font-weight : bold;
}

section.contact-reservation label {
	color : var(--dark-blue);
}

section.contact-reservation input[type="text"],
section.contact-reservation input[type="email"],
section.contact-reservation input[type="tel"],
section.contact-reservation input[type="number"],
section.contact-reservation select {
	height        : 70px !important;
	border-radius : 10px;
}

section.contact-reservation select {
	color : var(--dark-blue);
}

section.contact-reservation :focus {
	border     : solid 1px var(--dark-grey);
	box-shadow : none;
}

section.contact-reservation ::placeholder {
	color : var(--text-grey);
}

section.contact-reservation textarea {
	resize        : none;
	height        : 126px;
	border-radius : 10px;
}

section.contact-reservation .datepicker input.form-control {
	border-right : none;
}

section.contact-reservation .datepicker .input-group-addon {
	background                 : var(--white);
	color                      : var(--blue);
	border                     : 1px solid #CED4DA;
	border-top-right-radius    : 10px;
	border-bottom-right-radius : 10px;

	display                    : flex;
	align-items                : center;
	justify-content            : center;
	padding                    : 5px 10px;
}


#form_Civilite, #form_Modalites, #form_Services {
	display : flex;
}

#form_Civilite .form-check, #form_Modalites .form-check, #form_Services .form-check {
	padding-right : 40px;
}

#form_Modalites .form-check:first-of-type {
	display : none;
}

#form_Envoyer {
	background-color : var(--light-blue);
	width            : 200px;
}

section.contact-reservation .form-group.row:last-of-type .col-12 {
	display        : flex;
	flex-direction : column;
	align-items    : flex-end;
}

p.required_fields b.required_indicator {
	position : initial !important;
}


section.contact-reservation #form_NbSalles {
	display : none;
}

/* dons *//* dons *//* dons */
section.header img {
	display : block;
	width   : 100%;
}

section.dons .container-dons {
	width    : 100%;
	height   : auto;
	position : relative;
}

section.dons .module-paiement {
	width      : 100%;
	position   : relative;
	margin-top : -210px;
	right      : 0;
	z-index    : 100;
}

section.dons .container-dons nav.donation {
	height        : 95px;
	border-radius : 10px;
}

section.dons .container-dons .step_1,
section.dons .container-dons .step_2,
section.dons .container-dons .step_3 {
	width         : 100%;
	border-radius : 10px;
	margin-top    : 15px;
	padding       : 70px 100px;
	min-height    : 513px;
}

section.dons .container-dons .step_1 a.btn {
	left      : 50%;
	transform : translateX(-50%);
}

/* slider general *//* slider genera *//* slider genera */
.slider {
	width    : 100%;
	height   : 100%;
	position : relative;
}

.slider .content-img img {
	width      : 100%;
	height     : 500px;
	object-fit : cover;
}

.slider .carousel-control {
	width           : 100%;
	position        : absolute;
	top             : 50%;
	transform       : translateY(-50%);
	margin          : 0px;
	z-index         : 99;
	justify-content : space-between;
	pointer-events  : none;
}

.slider .carousel-control .control.prev, .slider .carousel-control .control.next {
	width            : 59px;
	height           : 96px;
	background-color : var(--white);
	margin           : 0;
	border-radius    : 0px;
	color            : #A7A7A7;
	box-shadow       : 0px 3px 6px rgba(0, 0, 0, 0.16);
	display          : flex;
	align-items      : center;
	justify-content  : center;
	pointer-events   : all;
}

.slider .carousel-control .control.next:hover, .slider .carousel-control .control.next:hover {
	background-color : var(--white);
	color            : #A7A7A7;
}


em {
	font-style : italic;
}

strong {
	font-weight : bold;
}

/* infos pratiques */
section.page table thead td p {
	color       : var(--dark-blue);
	font-weight : bold;
}

section.page table td {
	width : 80px;
}

section.page table td p {
	text-align : center;
	margin     : 0 !important;
}


/* --------------------------------------------------------------- */
/*
/* Responsive
/*
/* --------------------------------------------------------------- */

@media screen and (max-width : 1199px) {

	section.header {
		height : 250px;
	}
}

@media screen and (max-width : 1024px) {

	h1.page {
		padding-bottom : 15px;
	}


	nav.menu .col-12 {
		overflow-x : scroll;
	}

	nav.menu .col-12 ul.nav.nav-tabs {
		flex-direction : row;
		width          : max-content;
	}

	nav.menu .col-12 ul.nav.nav-tabs li {
		width : max-content;
	}
}


@media screen and (max-width : 768px) {
	h1.page {
		line-height : 55px !important;
	}

	section.dons .container-dons .step_1,
	section.dons .container-dons .step_2,
	section.dons .container-dons .step_3 {
		padding : 70px 40px;
	}

	section.page .tab-pane .row,
	section.page .container .row {
		flex-direction : column-reverse;
	}

	section.page .container .row .col-lg-3.offset-lg-1 {
		margin-bottom : 50px;
	}

	section.page .social_links {
		display         : flex;
		justify-content : center;
	}

	section.a_propos .content-bottom .col-md-4 {
		display        : flex;
		flex-direction : column;
	}

	section.a_propos .content-bottom .col-md-4 a.btn.hover-arrow.hover-arrow-right.auto {
		align-self : flex-end;
		width      : max-content;
		margin-top : 20px;
	}
}


@media screen and (max-width : 425px) {

	h1.page {
		font-size   : 45px !important;
		line-height : 45px !important;
	}

	section.services .list-services .row {
		display        : flex;
		flex-direction : column;
		align-items    : center;
	}


	section.page table {
		display : flex;
	}

	section table thead tr {
		width : max-content;
	}

	section.page table tbody {
		display               : grid;
		grid-template-columns : 1fr 1fr;
		width                 : 100%;
	}

	section.page table tbody tr {
		height : min-content;
	}

	section.page table tr {
		display : inline-grid;
	}

	section.page table td {
		padding : 0 10px;
		width   : auto;
	}

	section.contact-reservation #form_Services,
	section.contact-reservation #form_Modalites {
		display : block;
	}

	section.contact-reservation #form_Date select {
		width : max-content;
	}

	section a.btn.hover-arrow.hover-arrow-right.auto {
		margin : 20px 0 40px 0;
	}
}


@media screen and (max-width : 375px) {
	h1.page {
		font-size   : 40px !important;
		line-height : 40px !important;
	}
}


@media screen and (max-width : 320px) {
	h1.page {
		font-size   : 35px !important;
		line-height : 35px !important;
	}
}