
/* ---------------------------------------------------------------------------*/
/*                    Feuille de style CSS Visiteur                           */
/* ---------------------------------------------------------------------------*/


@charset "utf-8";

/*      Variables css     */
:root {

  /* Codes des Couleurs */
	--beige: #fee27f;
	--blanc: #ffffff;
	--blanc_casse: #f8efd6;
	--bleu: #0000ff;
	--bleu_ciel: #6c88f4;
	--bleu_clair: #48a6df;
	--bleu_fonce: #1f386e;
	--bleu_pale: #5881c0;
	--bleu_sombre: #4c79b0;
	--blond: #f3c773;
	--brun: #cd853f;
	--creme: #ffeecc;
	--gris: #f6f6f6;
	--jaune: #ffff00;
	--marron: #752000;
	--noir: #000000;
  --olive: #75742c;
  --rouge: #ff0000;
  --rose: #ffd4d4;
	--vert: #007030;
	--vert_pale: #bff8aa;
	--vert_clair: #01ae4b;
	--violet: #bd212d;

	/*	largeur de la page */
	--largueur_page: 1000px;

}

* {
	box-sizing: border-box;
}

html {
	margin: 0px;
	padding: 0px;
}

body {
	font-family: Arial, sans-serif;
	text-rendering: optimizeLegibility !important;
	color: #666;
	font-weight: 400;
	width: 100% !important;
	height: 100% !important;
}

h2 {
	font-family: 'Montserrat', sans-serif;
	margin: 0px 0px 20px 0px;
	font-weight: 700 !important;
	font-size: 32px !important;
	color: #333;
}

h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 22px;
	font-weight: 700 !important;
	color: #333;
}

h4 {
	font-size: 18px;
	color: #333;
}

h5 {
	text-transform: uppercase;
	font-weight: 700;
	line-height: 20px;
}

p {
	font-size: 15px;
}

a {
	color: #1f386e;
	font-weight: 400;
}

a:hover, a:focus {
	text-decoration: none;
	color: #e52f3c;
}

/* on annule l'action du click sur le lien */
a.disabled {
  pointer-events: none;
  cursor: default;
}

ul, ol {
	list-style: disc;
}

hr {
	height: 2px;
	width: 70px;
	text-align: center;
	position: relative;
	background: #1E7A46;
	margin-bottom: 20px;
	border: 0px;
}

label {
	font-size: 16px;
	font-weight: 400;
	font-family: Arial, sans-serif;
}

.invisible {
	display: none;
}

.rouge {
  color: var(--rouge);
}

/*------------------------- Class Clear --------------------------------------*/

.clear {
  clear: both;
  padding: 0px;
  margin: 0px;
}

/*------------------------- Conteneur des pages  -----------------------------*/

.container_page {
	padding: 50px 0px;
}

/*------------------------- Préloader  ---------------------------------------*/

.preloader {
	display: none;
	max-width: var(--largueur_page);
  margin: auto;
  height: 100vh;
	transition: all 0.2s;
}

.conteneur_spinner {
  position: fixed;
  left: 0px;
  top: 0px;
  z-index: 10;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.conteneur_spinner img {
  z-index: 1;
}

.spinner-border {
  width: 120px;
  height: 120px;
	--bs-spinner-border-width: 0.6em !important;	/* épaisseur du spinner */
}

/*------------------------- Menu principal -----------------------------------*/

#menu {
	padding: 20px;
	transition: all 0.8s;
}

#menu.navbar {
	background-color: var(--blanc);
	border-color: rgba(231, 231, 231, 0);
	max-width: var(--largueur_page);
	margin: 10px auto;
	min-height: 150px;
}

#menu .navbar-toggler {
	margin-top: 10px;
}

#menu a.navbar-brand {
	font-family: 'Montserrat', sans-serif;
	font-size: 32px;
	font-weight: 700;
	color: #1f386e;
	text-transform: uppercase;
	letter-spacing: -1px;
}

.navbar-toggle {
	border-radius: 0px;
}

#menu.navbar-light .navbar-nav .nav-link {
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	color: #1f386e;
	font-size: 14px;
	font-weight: 700;
	padding: 8px 9px;
	border-radius: 0px;
	margin-top: 10px;
	width: max-content;
}

#menu .navbar-nav {
	width: 95%;
}

#menu.navbar-light .navbar-nav .nav-link:hover {
	color: #ce2a36;
}

#menu.navbar-light .navbar-nav .show > .nav-link, .navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .nav-link.active {
	color: #ce2a36 !important;
}

#menu.navbar-light .navbar-nav > .active > a, #menu.navbar-light .navbar-nav > .active > a:hover, #menu.navbar-light .navbar-nav > .active > a:focus {
	color: #ce2a36 !important;
	background-color: transparent;
}

#menu.navbar-light .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
	background-color: var(--blanc);
	border-color: var(--blanc);
}

#menu.navbar-light .navbar-toggle:hover > .icon-bar {
	background-color: #1b6d3f;
}

.sous-menu {
	font-weight: 700;
  color: var(--bleu_fonce);
}

/*------------------------- Titre des Sections -------------------------------*/

.section-title {
	margin-bottom: 70px;
}

.section-title h2 {
	position: relative;
	color: #1f386e;
	margin-top: 10px;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.09);
}

.section-title h2::after {
	position: absolute;
	content: "";
	background-color: #e52f3c;
	height: 3px;
	width: 50px;
	bottom: -1px;
	left: 0;
}

.item_title {
  font-weight: 700;
  margin-bottom: 10px;
  font-size: 18px;
  color: var(--vert_clair);
}

/*------------------------- Liens vers Popup ou Page du Site -----------------*/

.lien_fenetre, .lien_page {
	text-decoration: none;
	border: solid 1px transparent;
	padding: 0px 5px 0px 5px;
	line-height: 30px;
	display: inline-block;
	color: var(--violet);
	border-radius: 10px;
}

.lien_page {
	text-align: center;
}

.lien_fenetre:hover, .lien_page:hover {
	border: solid 1px var(--noir);
	background-color: var(--beige);
	color: var(--marron);
}

.lien_page img, .lien_fenetre img {
	vertical-align: middle;
  padding: 5px;
}

/* ------------------------ Liste à Puces ------------------------------------*/

ul.puce {
	margin-left: 40px;
	padding-left: 0px;
	font-weight: bold;
}

ul.puce li {
	padding: 10px 0px 10px 5px;
	list-style-type: disc;
	line-height: 25px;
}

ul.puce li ul {
	margin: 5px 0px 0px 15px;
	padding-left: 5px;
}

ul.puce li ul li {
	list-style-type: "\26b9";	/* symbole "étoile" */
}

/* ------------------------ Bouton OK Message --------------------------------*/

.bouton_OK {
	display: block;
	font: bold 16px Arial, Helvetica, sans-serif;
	background-color: var(--marron);
	color: var(--creme);
	border-radius: 10px;
	line-height: 40px;
	width: 50px;
	margin: 25px auto 25px auto;
	border: solid 2px transparent;
	text-align: center;
}

.bouton_OK:hover {
	background-color: var(--beige);
	color: var(--marron);
	text-decoration: none;
	border: solid 2px var(--marron);
}

/*------------------------- Boutons ------------------------------------------*/

.btn-custom {
	text-transform: uppercase;
	color: var(--blanc);
	background-color: #e52f3c;
	padding: 14px 20px;
	letter-spacing: 1px;
	margin: 0px;
	font-size: 14px;
	font-weight: 600;
	border-radius: 10px;
	transition: all 0.3s;
}

.btn-custom:hover, .btn-custom:focus, .btn-custom.focus, .btn-custom:active, .btn-custom.active {
	color: var(--blanc);
	background-color: #1f386e;
}

.btn:active, .btn.active {
	background-image: none;
	outline: 0;
	box-shadow: none;
}

/*------------------------- Liens --------------------------------------------*/

a:focus, .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {
	outline: none;
}

/*------------------------- Bouton Switch OUI NON ----------------------------*/

.titre-switch {
	display: inline-block;
  line-height: 45px;
	text-align: right;
	width: 140px;
	color: var(--bleu_fonce);
}

.switch {
	display: inline-block;
	position: relative;
	vertical-align: top;
	width: 140px;
	height: 45px;
	padding: 3px;
	margin-left: 15px;
	border-radius: 18px;
	cursor: pointer;
}

.switch-input {
	position: absolute;
	top: 0px;
	left: 0px;
	opacity: 0;
	box-sizing: content-box;
}

.switch-label {
	position: relative;
	display: block;
	height: 40px;
	font: bold 16px Arial, Helvetica, sans-serif;
	background-color: var(--rouge);
	border-radius: inherit;
}

.switch-label:before, .switch-label:after {
	position: absolute;
	top: 50%;
	line-height: 40px;
	transition: inherit;
}

.switch-label:before {
	content: "Non";
	top: 0px;
	right: 30px;
	color: var(--blanc);
	/* text-shadow: 0 1px rgba(255, 255, 255, 0.5); */
}

.switch-label:after {
	content: "Oui";
	top: 0px;
	left: 30px;
	color: var(--blanc);
	text-shadow: 0 1px rgba(0, 0, 0, 0.2);
	opacity: 0;
}

.switch-input:checked ~ .switch-label {
	background-color: var(--vert);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2);
}

.switch-input:checked ~ .switch-label:before {
	opacity: 0;
}

.switch-input:checked ~ .switch-label:after {
	opacity: 1;
}

.switch-handle {
	position: absolute;
	top: 3px;
	left: 3px;
	width: 40px;
	height: 40px;
  background: linear-gradient(to bottom,#ffffff 40%,#f0f0f0);
	border-radius: 100%;
	box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
}

.switch-handle:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -6px 0px 0px -6px;
	width: 12px;
	height: 12px;
  background: linear-gradient(to bottom,#eeeeee,#ffffff);
	border-radius: 6px;
	box-shadow: inset 0 1px rgba(0, 0, 0, 0.02);
}

.switch-input:checked ~ .switch-handle {
	left: 95px;
	box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2);
}

/*------------------------- Bouton de personnalisation des "Inputs" de type "File ---------*/
/*  classes créée par la fonction jQuery "cree_input_file_perso()"    ne pas modifier le nom des classes */

.input-file-conteneur {
	display: inline-block;
	width: 78%;
}

.input-file-fichier, .input-file-bouton {
	margin: 0px;
	padding: 0px;
}

.input-file-fichier:focus {
	outline: none;
}

.input-file-bouton {
	display: inline-block;
	width: 170px;
	height: 30px;
	cursor: pointer;
	font: bold 15px Arial, Helvetica, sans-serif;
	background-color: var(--bleu_fonce);
	color: var(--blanc);
	border: solid 1px var(--bleu);
	border-radius: 10px;
	margin-left: 20px;
}

.input-file-bouton:hover {
	background-color: var(--beige);
	color: var(--marron);
	border: solid 1px var(--noir);
}

/*------------------------- Choix de la Langue -------------------------------*/

#langue {
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	color: #1f386e;
	font-size: 14px;
	font-weight: 700;
	text-align: right;
	background-color: #f8f9fa;
	line-height : 50px;
	max-width: var(--largueur_page);
	margin: auto;
	padding-right : 20px;
}

#langue a {
	margin: 10px;
  line-height: 40px;
  display: inline-block;
  padding: 0px 5px;
}

#langue span {
	margin: 10px;
  display: inline-block;
  height: 40px;
}

.langue_active {
	border-bottom: 3px solid #ce2a36;
}

/*------------------------- Bouton de Validation des Choix -------------------*/

.boutons_form {
	text-align: center;
	line-height: 70px;
	padding: 30px 0px 30px 0px;
}

.bouton_valider, .bouton_annuler {
	color: #11286c;
	height: 50px;
	min-width: 90px;
	font: bold 15px Arial, Helvetica, sans-serif;
	margin: 0px 50px 0px 50px;
	cursor: pointer;
	border-radius: 10px;
}

.bouton_valider {
	background-color: var(--vert_pale);
}

.bouton_annuler {
	background-color: var(--rose);
}

.bouton_valider:hover, .bouton_annuler:hover {
	background-color: var(--beige);
	color: var(--marron);
}

.etoile_rouge {
	color: var(--rouge);
}

/*------------------------- Calendrier Datepicker ----------------------------*/

.ui-datepicker .ui-datepicker-title {
	color: var(--blanc);
	background-color: var(--bleu_sombre);
}

.ui-widget select {
	color: var(--bleu_sombre);
	background-color: var(--blanc);
}

.ui-datepicker .ui-datepicker-prev {
	background-color: var(--blanc);
}

.ui-datepicker .ui-datepicker-next {
	background-color: var(--blanc);
}

.ui-datepicker table {
	font: bold 16px Arial, Helvetica, sans-serif;
	color: var(--bleu_sombre);
	background-color: var(--creme);
}

.ui-datepicker th {
	background-color: var(--creme);
	color: var(--marron);
}

.ui-datepicker td {
	background-color: var(--blanc);
}

/*------------------------- Banniére -----------------------------------------*/

#entete {
max-width: var(--largueur_page);
margin: auto;
max-height: 870px;
}

.banniere {
	width: 100%;
	padding-top: 50px;
	background-color: var(--blanc);
}

.banniere .row {
  align-content: center;
  align-items: center;
}

.banniere .col {
	padding: 0px;
	margin-top: 55px;
	position: relative;
}

.texte_banniere_accueil .ligne_1 {
	font-family: 'Montserrat', sans-serif;
	color: var(--jaune);
	font-size: min(2.0vw, 18px);
	font-weight: bold;
	position: absolute;
	top: 36%;
	left: -3%;
	text-align: center;
	width: 100%;
	line-height: min(2.0vw, 20px);
}

.texte_banniere_accueil .ligne_2 {
	font-family: 'Montserrat', sans-serif;
	color: var(--bleu_ciel);
	font-size: min(2.0vw, 1.2rem);
	font-weight: bold;
	position: absolute;
	top: 64%;
	left: 7%;
	text-align: center;
	width: 100%;
}

.texte_banniere {
	position: absolute;
	top: 40%;
	left: 0%;
	text-align: center;
	width: 100%;
}

.texte_banniere h1 {
	font-family: 'Montserrat', sans-serif;
	color: var(--blanc);
	font-size: max(3.5vw, 20px);
	font-weight: bold;
	text-shadow: 0 0 15px rgba(0,0,0,0.5);
}

/*------------------------- Lien Page Réservation ----------------------------*/

#reservation {
	padding: 40px 0 30px;
	color: rgba(255,255,255,.7);
	background: #1f386e;
}

#reservation h3 {
	font-size: 24px;
	font-weight: 400;
	color: var(--blanc);
	margin: 0px 0px 10px 0px;
}

#reservation .btn-custom {
	margin: 0px;
	background: transparent;
	border: 2px solid var(--blanc);
}

#reservation .btn-custom:hover {
	color: #1f386e;
	background: var(--blanc);
	border: 2px solid var(--blanc);
}

/*------------------------- Largueur Max des Textes --------------------------*/

.largueur_texte {
	max-width: var(--largueur_page);
	margin: auto;
	padding-left: 15px;
	padding-right: 15px;
	padding-bottom: 20px;
}

/*------------------------- Centre des Pages ---------------------------------*/

.centre {
	height: max-content;
	text-align: left;
	margin: 10px auto;
}

.centre h2 {
	font: bold 25px Arial, Helvetica, sans-serif;
	margin: 30px 0px 30px 0px;
	width: 100%;
	color: var(--violet);
}

.centre p {
	font: bold 16px Arial, Helvetica, sans-serif;
	padding-left: 20px;
	line-height: 25px;
}

.centre li {
	font: bold 16px Arial, Helvetica, sans-serif;
	padding-left: 10px;
	padding-top: 10px;
	line-height: 25px;
}

/*------------------------- Accordion des Pages ------------------------------*/

.accordion-visiteur .accordion-body {
	overflow: auto;
	max-height: 550px;
}

.accordion-visiteur .accordion-header {
	margin: 0px;
}

.accordion-visiteur .accordion-button {
	background-color: var(--gris);
}

.accordion-visiteur .accordion-item  {
	min-height: 130px;
	margin-top: 5px;
}

.accordion-header .titre_item {
	font: bold 25px Arial, Helvetica, sans-serif;
	margin: 30px 0px 30px 0px;
	width: 100%;
	color: var(--violet);
}

/*------------------------- Accueil ------------------------------------------*/

#accueil h1 {
	margin: 50px auto;
	line-height: 80px;
	font-size: 50px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	color: var(--bleu_fonce);
	text-align: center;
	border: solid 2px #1f386e;
	border-radius: 15px;
	width: 90%;
}

#texte_accueil {
  margin: 5% auto;
	padding-top: 20px;
}

#lien_video_villas {
	display: block;
  width: fit-content;
	margin: 50px auto 50px auto;
}

#img_video_villas {
	border-radius: 15px;
}

/*------------------------- Description Villas -------------------------------*/

#description {
	padding-top: 100px;
}

#description h3 {
	font-size: 22px;
	margin: 0px 0px 20px 0px;
	color: var(--bleu_clair);
}

#description .description-text li {
	margin-bottom: 6px;
	margin-left: 6px;
	list-style: none;
	padding: 0px;
}

#description .description-text li:before {
	content: '\f00c';
	font-family: 'FontAwesome';
	color: #1f386e;
	font-size: 11px;
	font-weight: 300;
	padding-right: 8px;
}

#description p {
	line-height: 30px;
	margin: 30px 0px;
}

/*------------------------- Galerie Photos -----------------------------------*/

#galerie_photos {
	padding: 100px 0px;
}

.conteneur_img_galerie {
	min-height: 270px;
}

.img_galerie {
  height: 200px;
  margin: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.img_galerie img {
	border-radius: 10px;
}

.titreImage {
	text-align: center;
	color: var(--violet);
	font-weight: bold;
}

.txt_img {
	/* Remarque : les positions 'top' et 'left' sont calculées dans la fonction javascript 'affiche_txt_img' du fichier 'script_js.php' */

	position: absolute;
	font: normal 12px Arial, Helvetica, sans-serif;
	margin: auto;
	color: var(--blanc);
	width: 130px;
  line-height: 25px;
	text-align: center;
	background-color: #555555;
	display: none;
}

.fancybox-image {
	border-radius: 15px;
}

/*------------------------- Accès --------------------------------------------*/

#acces {
	padding: 100px 0px 50px 0px;
}

#acces .acces-media {
	margin: 10px;
}

#acces .acces-media img {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	border-radius: 15px;
}

#acces .acces-desc {
	margin: 10px 10px 20px;
}

#acces h3 {
	font-weight: 700;
	padding: 5px 0px;
}

#acces .acces-desc hr {
	margin-left: 0px;
}

#plan_google {
	width: 90%;
	height: 420px;
	margin: auto;
}

.conteneur_laurent img {
	float: left;
	width: 50%;
	shape-outside: margin-box;
	margin: 0px 30px 10px 0px
}

/*------------------------- Anses D'Arlet ------------------------------------*/

#anses_arlet {
	padding: 100px 0px 50px 0px;
}

#conteneur_bourg #texte_bourg p {
	font-size: clamp(13px, 2.5vw, 16px);
}

#conteneur_bourg img {
	float: left;
	width: 50%;
	height: 440px;
	shape-outside: margin-box;
	margin: 0px 30px 10px 0px;
	border-radius: 15px;
}

#images_bas_bourg {
  margin-top: 50px;
  display: flex;
  column-gap: 150px;
}
#images_bas_bourg img {
	border-radius: 15px;
	margin-bottom: 30px;
}

.conteneur_eglise {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
  grid-gap: 20px;
}

.conteneur_eglise img {
	border-radius: 15px;
}

.conteneur_eglise .texte_eglise p {
	font-size: clamp(13px, 2.5vw, 16px);
}

.conteneur_eglise .photo_bateau {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

#img_bateau {
	height: 245px;
}

.conteneur_eglise .photo_baie {
  grid-column: 1/3;
  text-align: center;
}

.conteneur_plage .texte_plage p {
	font-size: clamp(13px, 2.5vw, 16px);
}

.conteneur_plage img {
  float: left;
  width: 50%;
  min-width: 260px;
  shape-outside: margin-box;
  margin: 0px 30px 10px 0px;
  border-radius: 15px;
  height: 265px;
}

/*------------------------- Activités ----------------------------------------*/

#activites {
	padding: 100px 0px;
}

#activites i {
	color: #e6e6e6;
	font-size: 32px;
	margin-bottom: 20px;
}

.activite {
	position: relative;
	padding: 20px;
}

.activite-image {
	float: left;
	margin-right: 15px;
}

.activite-image, .activite-image img {
	display: block;
	width: 64px;
	height: 64px;
	border-radius: 5px;
}

.activite-content {
	position: relative;
	overflow: hidden;
}

.activite-content p {
	margin-bottom: 0px;
	font-size: 14px;
	font-style: italic;
}

.activite-meta {
	margin-top: 10px;
	font-size: 13px;
	font-weight: bold;
	text-transform: uppercase;
}

.video_activites {
	border-radius: 15px;
}

/*------------------------- Contact ------------------------------------------*/

#contact {
	padding: 50px 0px 60px 0px;
	background: #1f386e;
	color: rgba(255,255,255,.65);
}

#email_proprietaire {
	font-family: Arial, sans-serif;
  font-size: 16px;
	color: var(--beige);
}

#email_proprietaire:hover {
	color: var(--marron);
}
#contact .section-title {
	margin-bottom: 40px;
}

#contact h2 {
	color: var(--blanc);
	margin-top: 10px;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

#contact h4 {
	color: var(--blanc);
}

#contact h3 {
	font-size: 17px;
	font-weight: 600;
}

#contact .contact-item {
	margin: 20px 0px;
	display: table;
}

#contact .contact-item p {
	display: table-row;
	font-size: 25px;
}

#contact .contact-item label {
	color: rgba(255,255,255,1);
	padding-right: 5px;
}

#contact .contact-item span {
	color: rgba(255,255,255,0.75);
	width: auto;
	display: inline-block;
	font-size: 16px;
}

#contact .social {
	border-top: 1px solid rgba(255,255,255,0.1);
	padding-top: 50px;
	margin-top: 50px;
	text-align: center;
}

#contact .social ul li {
	display: inline-block;
	margin: 0px 20px;
}

#contact .social i.fa {
	font-size: 24px;
	padding: 10px;
	color: rgba(255,255,255,0.6);
	transition: all 0.3s;
}

#contact .social i.fa:hover {
	color: var(--blanc);
}

/*--------------------------------- Calendrier -------------------------------*/

.fleche_calendrier {
	font-size: 25px;
	vertical-align: baseline;
	padding-left: 5px;
}

/*------------------------- Affichage du calendrier avec FancyBox ------------*/

.fancybox__slide.fancybox-calendrier .fancybox__content {
	width: 65%;
	height: 100%;
}

/*------------------------- Réservations -------------------------------------*/

#saisie_resa {
	font: bold 16px Arial, Helvetica, sans-serif;
	margin: 50px auto 40px auto;
	width: 100%;
}

#msg_etoile {
	height: 50px;
	padding-top: 10px;
	margin-left: 20px;
}

#form_resa fieldset {
	width: 90%;
	margin: 0px auto 20px auto;
	padding: 20px 0px 0px 10px;
	border-radius: 5px;
	border: 1px solid var(--violet);
	background-color: var(--gris);
}

#form_resa fieldset .input-file-fichier {
	width: 64%;
}

#form_resa ol {
	list-style-type: none;
	padding: 0px;
	margin: 0px;
}

#form_resa li {
	padding: 0px;
	line-height: 70px;
}

#form_resa label, #form_resa .commentaire {
	font: bold 16px Arial, Helvetica, sans-serif;
	display: inline-block;
	margin-right: 10px;
	vertical-align: top;
}

#form_resa label {
	width: 140px;
	line-height: 30px;
	text-align: right;
	color: var(--bleu_fonce);
	vertical-align: middle;
}

#form_resa .commentaire {
	width: 300px;
	line-height: 30px;
	text-align: left;
	font-weight: bold;
	color: var(--bleu_fonce);
	vertical-align: middle;
}

#form_resa fieldset legend {
	font-weight: bold;
	color: var(--violet);
	width: auto;
	margin-bottom: 10px;
	border: none;
	padding: 0px 10px;
}

#form_resa p {
	margin: 5px 0px 15px 0px;
	line-height: normal;
}

#form_resa fieldset input[type="text"],
#form_resa fieldset textarea,
#form_resa fieldset select {
	display: inline-block;
	border: 1px solid var(--marron);
	padding: 5px 5px 5px 5px;
	transition: background-color 1s ease;
	border-radius: 10px;
	font: normal 16px Arial, Helvetica, sans-serif;
  cursor: pointer;
  line-height: 25px;
}

#form_resa fieldset input {
	width: 270px;
}

#form_resa fieldset input[type="tel"] {
	font: normal 16px Arial, Helvetica, sans-serif;
	cursor: pointer;
	line-height: 35px;
	border: 1px solid var(--marron);
	border-radius: 10px;
}

#form_resa fieldset select {
	width: 270px;
	height: 37px;
	background-color: var(--blanc);
}

#form_resa fieldset textarea {
	height: 150px;
	width: 50%;
}

#form_resa fieldset #codepostal {
	padding: 3px;
	width: 400px;
}

#form_resa input::-webkit-input-placeholder {
  color: #a6a6a6;
}

#form_resa .validation {
  display: inline-block;
  line-height: 35px;
  max-width: 280px;
  margin-left: 20px;
}

#form_resa .valide {
  display: none;
  border: 1px solid transparent;
	vertical-align: top;
}

#form_resa .invalide, #form_resa .optionnel {
  display: none;
  width: 310px;
  font-size: 15px;
  color: var(--blanc);
  text-align: center;
  border-radius: 5px;
  line-height: 35px;
	vertical-align: baseline;
}

#form_resa .invalide {
  border: 1px solid var(--rouge);
  background-color: var(--rouge);
}

#form_resa .optionnel {
  border: 1px solid var(--bleu);
  background-color: var(--bleu);
}

#form_resa #options_formulaire {
  min-height: 195px;
}

#form_resa label.label_options_formulaire {
	width: 140px;
	text-align: right;
	margin-bottom: 5px;
	display: inline-block;
}

#conteneur_nb_lits {
	width: 300px;
	text-align: center;
	vertical-align: middle;
}

#form_resa input.radio_options_formulaire {
	width: 30px;
}

#form_resa span.span_options_formulaire {
	margin: 0px 0px 0px 20px;
}

#erreur_saisie_resa {
	color: var(--rouge);
	background-color: var(--creme);
	font: bold 16px Arial, Helvetica, sans-serif;
	width: 500px;
	line-height: 30px;
	margin: auto;
	display: none;
	text-align: center;
}

/*------------------------- Tarifs et Disponibité ----------------------------*/

#label_an_res {
	font: bold  16px Arial, Helvetica, sans-serif;
}

#an_res {
	font: bold 16px Arial, Helvetica, sans-serif;
	background-color: white;
	height: 30px;
	width: 80px;
	color: var(--violet);
}

#an_res option {
	font-weight: bold;	/* pour chrome */
}

.puce_tarif {
	padding: 10px 0px 10px 5px;
	list-style-type: disc;
}

.souhait_réservation {
	width: 85%;
	font-weight: bold;
	margin: 40px auto 40px auto;
	padding: 20px 0px 0px 10px;
	border-radius: 5px;
	border: 1px solid var(--violet);
	background-color: var(--gris);
}

#label_saisie_dates {
	color: var(--violet);
}

.souhait_réservation ol {
	list-style-type: none;
	padding: 0px;
	margin: 0px;
}

#saisie_dates ol {
	text-align: center;
}

#saisie_dates label {
	width: 130px;
	font: bold 16px Arial, Helvetica, sans-serif;
	vertical-align: middle;
	color: var(--bleu_fonce);
}

.souhait_réservation li {
	margin: 0px 0px 15px 0px;
	position: relative;
	min-height: 20px;
	padding: 10px 0px 10px 0px;
}

.souhait_réservation label {
	display: inline-block;
	line-height: 30px;
	margin-right: 10px;
	vertical-align: top;
	text-align: right;
}

.souhait_réservation span {
	display: inline-block;
	line-height: 30px;
	color: var(--violet);
}

#affiche_prix {
	display: none;
	width: 55%;
	font: bold 16px Arial, Helvetica, sans-serif;
	background-color: var(--blanc_casse);
	color: var(--bleu_fonce);
}

#affiche_prix label{
	width: 180px;
}

#saisie_dates .datepicker {
	display: inline-block;
	border: 1px solid var(--violet);
	padding: 3px 3px 3px 3px;
	transition: background-color 1s ease;
	border-radius: 5px;
	font: bold 16px Arial, Helvetica, sans-serif;
	text-align: center;
	width: 150px;
	height: 30px;
	color: var(--bleu_fonce);
}

fieldset legend {
	padding: 0px 10px;
	width: auto;
	border-bottom: initial;
}

#erreur_saisie_sejour {
	display: none;
	width: 400px;
	font: bold 16px Arial, Helvetica, sans-serif;
	background-color: var(--blanc_casse);
	color: var(--rouge);
	text-align: center;
}

ul.puce_tarif {
  margin-left: 40px;
  padding-left: 0px;
}

/*------------------------- Plan du Site -------------------------------------*/

#plan_site {
	margin: auto;
	width: 70%;
	min-height: 500px;
}

#plan_site a {
	line-height: 40px;
	font-weight: bold;
	width: 220px;
  text-align: left;
}

#plan_site ul li ul {
	list-style-type: "\26b9";
  margin-left: 0px;
  padding-left: 30px;
}

/*------------------------- Mentions Légales ---------------------------------*/

ul.puce_mentions {
	margin: -10px 0px 0px 40px;
	padding: 0px 0px 0px 5px;
	font-weight: bold;
	list-style: disc;
}

ul.puce_mentions li {
	padding: 0px 5px;
}

/*------------------------- Politique Confidentialité ------------------------*/

#politique_confidentialite {
  padding: 0 20px;
}

#politique_confidentialite h1 {
  font-size: 22px !important;
  font-style: italic;
	font-weight: bold;
  text-decoration: underline;
  line-height: 30px;
  margin: 50px 0px;
  color: var(--vert);
}

#politique_confidentialite h2 {
  font-size: 16px !important;
  line-height: 25px;
  text-decoration: underline;
  font-style: italic;
  padding-left: 30px;
  color: var(--violet);
}

#politique_confidentialite h3 {
  font-size: 16px !important;
  font-style: italic;
  color: var(--olive);
  line-height: 20px;
  padding-left: 60px;
}

#politique_confidentialite p, #politique_confidentialite li{
  line-height: 20px;
}

#politique_confidentialite .decalage {
  padding-left: 30px;
}

#politique_confidentialite .decalage_2 {
  padding-left: 60px;
}

#politique_confidentialite ul li:first-child {
  padding-top: 0px;
}

#politique_confidentialite li ul li:first-child {
  padding-top: 16px;
}

/*------------------------- Pied ---------------------------------------------*/

#pied {
	background: #f6f6f6;
	padding: 30px 0px;
}

#pied p {
	color: #888;
	font-size: 14px;
}

#menu_pied {
	width: max-content;
	line-height: 50px;
	margin: 20px auto 20px auto;
	text-align: center;
}

#menu_pied a {
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	color: #1f386e;
	font-size: 14px;
	font-weight: 700;
	padding: 0px 50px;
}

#menu_pied a:hover {
	color: #e52f3c;
}

/* Max-width 992px */
@media (max-width: 992px) {

	#menu.navbar .container-fluid {
		padding-top: 30px;
	}

	/* masquer les éléments superflus */
	.hide_mobile {
		display: none !important;
	}

/*------------------------- Anses D'Arlet ------------------------------------*/

	#conteneur_bourg img {
		height: auto;
	}

	.conteneur_eglise {
		display: initial;
	}

	.conteneur_eglise .photo_eglise {
		float: left;
		width: 51%;
		shape-outside: margin-box;
		margin: 0px 30px 10px 0px;
	}

	.conteneur_eglise img {
		height: auto;
	}

	.conteneur_eglise .photo_baie {
		display: block;
		text-align: center;
	}

	.conteneur_plage img {
		height: auto;
	}


}

/* Max-width 641px */
@media (max-width: 641px) {

	/*------------------------- Tarifs -------------------------------------------*/

	.souhait_réservation {
		width: 100%;
	}

	/*------------------------- Réservations -------------------------------------*/

	#form_resa label {
		text-align: left;
	}

	#form_resa fieldset textarea {
		width: 95%;
	}

	.input-file-bouton {
		display: block;
		margin-left: 0px;
	}

}	/* fin max-width 992px */

