@charset "UTF-8";
/* CSS Document */

/*

rose : #c0087f
	rgba(192,8,127,1)
vert : #afcb08
	rgba(175,203,8,1)
bleu : #009fe3
	rgba(0,159,227,1)
green : #29b090
	rgba(41,176,144,1)
corail : #ed6b6a
	rgba(237,107,106,1)
grey : #82878b
	rgba(130,135,139,1)
gris : #1b292e
	rgba(27,41,46,1)
black : #040506
	rgba(4,5,6,1)

.fira-sans-regular {
  font-family: "Fira Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.fira-sans-bold {
  font-family: "Fira Sans", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.lilita-one-regular {
  font-family: "Lilita One", sans-serif;
  font-weight: 400;
  font-style: normal;
}

*/

:root {
  --color-rose: #c0087f;
  --color-vert: #afcb08;
  --color-bleu: #009fe3;
  --color-green : #29b090;
  --color-corail : #ed6b6a;
  --color-grey: #82878b;
  --color-gris: #1b292e;
  --color-black: #040506;
  --color-blanc: #ffffff;
  --color-noir: #000000;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: "Fira Sans", sans-serif;
	font-size: 1rem;
	font-weight: 300;
	line-height: 2rem;
	background-color: var(--color-blanc);
	transition: all 0.3s ease-in;
	color: var(--color-black);
	margin: 0;
	padding: 0;
}

@font-face {
  font-family: 'ecureuils';
  src: url('../font/ecureuils.eot?86043282');
  src: url('../font/ecureuils.eot?86043282#iefix') format('embedded-opentype'),
       url('../font/ecureuils.woff2?86043282') format('woff2'),
       url('../font/ecureuils.woff?86043282') format('woff'),
       url('../font/ecureuils.ttf?86043282') format('truetype'),
       url('../font/ecureuils.svg?86043282#ecureuils') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "ecureuils";
  font-style: normal;
  font-weight: normal;
  speak: never;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-left: .2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-contact:before { content: '\e800'; } /* '' */
.icon-flag-de:before { content: '\e801'; } /* '' */
.icon-phone-circle:before { content: '\e802'; } /* '' */
.icon-actu:before { content: '\e803'; } /* '' */
.icon-promo:before { content: '\e804'; } /* '' */
.icon-flag-en:before { content: '\e805'; } /* '' */
.icon-flag-fr:before { content: '\e806'; } /* '' */
.icon-flag-nl:before { content: '\e807'; } /* '' */
.icon-facebook:before { content: '\e808'; } /* '' */
.icon-instagram:before { content: '\e809'; } /* '' */
.icon-youtube:before { content: '\e80c'; } /* '' */
.icon-phone:before { content: '\e80d'; } /* '' */
.icon-star:before { content: '\e80e'; } /* '' */
.icon-palmier:before { content: '\e80f'; } /* '' */
.icon-local:before { content: '\e810'; } /* '' */
.icon-arrow-left:before { content: '\e812'; } /* '' */
.icon-arrow-right:before { content: '\e813'; } /* '' */
.icon-video:before { content: '\f00f'; } /* '' */


h1, h2, h3 {
	font-family: "Lilita One", sans-serif;
}

h1, h2 {
	font-weight: 400;
	font-style: normal;
	color: var(--color-rose);
	font-size: 2rem;
	line-height: 2rem;
	text-transform: uppercase;
}
h1 + h2 {
	font-weight: 400;
	font-style: normal;
	font-size: 1.8rem;
	margin: 30px 0;
	color: var(--color-black);
	text-transform: none;
}
h3 {
	font-size: 1.5rem;
	margin: 20px 0;
	color: var(--color-bleu);
}

.floral-titre {
	width: 160px;
	margin-bottom: 30px;
}

strong, b {
	font-weight: 700;
}

.txt-color-rose {
	color: var(--color-rose);
}
.txt-color-black {
	color: var(--color-black);
}
.txt-color-blanc {
	color: var(--color-blanc);
}

a, a:hover {
	text-decoration: none;
}
a {
	color: var(--color-rose);
	transition: all 0.3s ease-in;
}
a:hover {
	color: var(--color-bleu);
}
section p > a {
	font-weight: 700;
}

ul {
	list-style: none;
}
ul.liste {
	padding: 0;
}
ul.liste li::before {
	font-family: 'chalandsfleuris';
	content: '\e801';
	margin-right: 10px;
	color: var(--color-orange);
}

img {
	height: auto;
	max-width: 100%;
}

.btn {
	padding: 12px 20px;
	transition: all 0.3s ease-in;
	font-size: 1rem;
	border-radius: 10px;
	border: none;
	margin: 5px 0;
	color: var(--color-blanc);
}
.btn:hover {
	background-color: var(--color-black);
	color: var(--color-blanc);
}
.btn-rose {
	background-color: var(--color-rose);
}
.btn-vert {
	background-color: var(--color-vert);
}
.btn-bleu {
	background-color: var(--color-bleu);
}
.btn-black {
	background-color: var(--color-black);
}
.btn-black:hover {
	background-color: var(--color-rose);
}
.btn-blanc {
	background-color: var(--color-blanc);
	color: var(--color-orange);
}
.btn i {
	margin-left: -10px;
	transition: all 0.3s ease-in;
}
.btn:hover i {
	margin: 0 5px 0 -5px;
}

.btn-social a img {
  width: 25px;
  transition: all 0.3s ease-in;
}
.btn-social a:hover img {
  opacity: 0.5;
}

.center {
	text-align: center;
}

.bloc-margin {
	margin-top: 80px;
	margin-bottom: 80px;
}
.bloc-padding {
	padding-top: 80px;
	padding-bottom: 80px;
}
.bloc-hover {
	margin-top: -150px;
	padding: 80px;
	background-color: var(--color-blanc);
	border-radius: 20px;
}

.bg-bloc-rose {
	background-color: var(--color-rose);
	color: var(--color-blanc);
}
.bg-bloc-vert {
	background-color: var(--color-vert);
	color: var(--color-blanc);
}
.bg-bloc-bleu {
	background-color: var(--color-bleu);
	color: var(--color-black);
}
.bg-bloc-black {
	background-color: var(--color-black);
	color: var(--color-blanc);
}
.bg-bloc-gris {
	background-color: var(--color-gris);
	color: var(--color-blanc);
}
.bg-floral-gris {
	background-image: url(/img/bg-floral-gris.jpg);
	color: var(--color-blanc);
}

header {
	background-color: var(--color-grey);
	text-align: center;
	color: #fff;
}
header #header-top {
	background-color: #c0087f;
	background-image: url(/img/bg-floral-noir.jpg);
	background-position: top center;
	background-size: cover;
	height: 60px;
	padding-right: 20px;
	display: flex;
  align-items: center;
  justify-content: end;
}
header #header-top > div {
	position: relative;
}
header #header-top >  #header-logo {
	position: absolute;
	z-index: 1000;
	left: 20px;
	top: 20px;
}
header #header-top > #header-logo > img {
	width: 250px;
}
header #header-top #header-infos {
	display: flex;
	margin-top: 7px;
}
header #header-top a {
	color: var(--color-black);
	border-radius: 20px;
	padding: 2px 0px;
	margin: 0 4px;
	font-size: 1.7rem;
}

header #header-top #header-infos > #header-open {
	font-family: "Lilita One", sans-serif;
	font-size: 1.2rem;
	margin-right: 20px;
}
header #header-top #header-infos > #header-social > a {
	background-color: var(--color-vert);
}
header #header-top #header-infos > #header-contact > a:first-child {
	background-color: var(--color-rose);
}
header #header-top #header-infos > #header-contact > a:last-child {
	background-color: var(--color-bleu);
}
header #header-top #header-infos ul#header-flag {
	margin: 0;
	padding: 0;
}
header #header-top #header-infos ul#header-flag #lang-form #language-selected {
	background-color: var(--color-green);
	color: var(--color-black);
	border-radius: 20px;
	padding: 3px 0px 2px;
  margin: -2px 4px 6px;
	font-size: 1.7rem;
	transition: all .3s ease-in;
}
header #header-top #header-infos ul#header-flag #lang-form #language-selected:hover {
	background-color: var(--color-blanc);
}
header #header-top #header-infos ul#header-flag #lang-form #dropdown-wrapper {
	margin: 0;
	padding: 0;
	position: absolute;
	z-index: 1000;
}
header #header-top #header-infos ul#header-flag #lang-form #dropdown-wrapper ul {
	margin: 0;
	padding: 0;
}
header #header-top #header-infos ul#header-flag #lang-form #dropdown-wrapper ul > li > a {
	background-color: var(--color-green);
	color: var(--color-black);
	border-radius: 20px;
	padding: 2px 0px;
	margin: 0 4px;
	font-size: 1.7rem;
	display: block;
	transition: all .3s ease-in;
}
#select-language-menu li {
	margin: 4px 0;
}
header #header-top #header-infos ul#header-flag #lang-form #dropdown-wrapper ul > li > a:hover {
	background-color: var(--color-blanc);
}
header #header-top #header-infos > #header-social > a:hover, header #header-top #header-infos > #header-contact > a:hover {
	background-color: var(--color-blanc);
}
header #header-top ul.menu {
  list-style: none;
  position: relative;
  overflow: hidden;
  height: 0;
  margin-left: -37px;
  margin-top: 2px;
  -webkit-transition: all 0.3s ease-in;
  -moz-transition: all 0.3s ease-in;
  -o-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
  /*-moz-transform:scale(0); */
  color: #fff;
  cursor: pointer;
  user-select: none;
  -moz-user-select: none;
  /* Safari */
  -khtml-user-select: none;
}
header #header-top .menu.showMenu {
  /*-moz-transform:scale(1);*/
  height: 150px;
}

.navbar {
	padding: 0;
	background-color: var(--color-gris);
	font-size: 1.2rem;
	text-transform: uppercase;
	clear: both;
}
.navbar-expand-lg .navbar-collapse {
	justify-content: flex-end;
	padding-right: 20px;
}
.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show > .nav-link {
  color: var(--color-blanc);
}
.navbar-light .navbar-nav .nav-link {
  color: var(--color-blanc);
	transition: all 0.3s ease;
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
  color: var(--color-blanc);
	background-color: var(--color-noir);
}
.navbar-expand-lg .navbar-nav .nav-link {
  padding-right: .7rem;
  padding-left: .7rem;
}
.dropdown-menu {
  margin: 0;
  background-color: #f5f8fa;
  border: none;
  border-radius: 0;
	padding: 0;
	min-width: 100%;
	font-size: 0.9rem;
}
.dropdown-toggle::after {
	display: none;
}
@media (min-width: 992px) {
  .animate {
    animation-duration: 0.3s;
    -webkit-animation-duration: 0.3s;
    animation-fill-mode: both;
    -webkit-animation-fill-mode: both;
  }
}
@keyframes slideIn {
  0% {
    transform: translateY(1rem);
    opacity: 0;
  }
  100% {
    transform:translateY(0rem);
    opacity: 1;
  }
  0% {
    transform: translateY(1rem);
    opacity: 0;
  }
}
@-webkit-keyframes slideIn {
  0% {
    -webkit-transform: transform;
    -webkit-opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    -webkit-opacity: 1;
  }
  0% {
    -webkit-transform: translateY(1rem);
    -webkit-opacity: 0;
  }
}
.slideIn {
  -webkit-animation-name: slideIn;
  animation-name: slideIn;
}

.dropdown-item:hover {
  background-color: #d2d9dc;
}
.navbar-light .navbar-nav .nav-link:hover {
  color: #fff;
  background-color: var(--color-gris);
}
.dropdown-item.active, .dropdown-item:active, .navbar-light .navbar-nav .nav-link.active {
  color: #fff;
  background-color: var(--color-black);
}

#index #header-main, #index #header-content, #index #header-content > .container, #index #header-main-contenu, #index #header-img {
	min-height: 70vh;
}
#header-main, #header-content, #header-content > .container, #header-main-contenu, #header-img {
	height: 350px;
}
#header-content {
	position: absolute;
	z-index: 10;
	width: 100%;
	background: linear-gradient(90deg,rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0) 80%);
}
#header-main-contenu {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
}
#index #header-main-contenu::before {
	content: "";
	position: absolute;
	width: 200px;
  height: 170px;
	bottom: 35px;
	right: 35px;
	z-index: -1;
	background-image: url(/img/floral.svg);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: 200px;
	transform: rotate(-75deg);
}
#header-main-contenu > i {
	font-size: 10rem;
}
#header-main-titre {
	font-family: "Lilita One", sans-serif;
	font-size: 3rem;
	line-height: 3rem;
}
#header-main-stars {
	margin: 20px 0 10px;
}
#header-main-camping {
	font-size: 0.8rem;
	text-transform: uppercase;
}
#header-main-local {
	margin-bottom: 130px;
}
#header-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#header-resa {
	bottom: 0;
  background-color: #fff;
  padding: 30px 30px 20px;
  border-radius: 20px 20px 0 0;
  position: absolute;
  width: 80%;
  left: 50%; /* à 50%/50% du parent référent */
  transform: translate(-50%, 20px); /* décalage de 50% de sa propre taille */
}
#header-resa span {
	background-color: var(--color-rose);
	color: var(--color-blanc);
	padding: 5px 50px;
	font-family: "Lilita One", sans-serif;
	font-size: 2rem;
	position: absolute;
  top: -30px;
  transform: rotate(-2deg);
  left: 50px;
}

.swiper {
  width: 100%;
  height: 100%;
}
.swiper-slide {
  text-align: center;
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swiper-encarts {
	padding: 30px;
}
.swiper-encarts .swiper-slide {
	background-color: var(--color-blanc);
	-webkit-box-shadow: 0 10px 20px rgba(0,0,0,0.2);
	box-shadow: 0 10px 20px rgba(0,0,0,0.2);
	padding: 20px;
  transition: box-shadow 0.3s ease-in;
  flex-direction: column;
  border-radius: 20px;
}
.swiper-encarts .swiper-slide:hover {
	-webkit-box-shadow: 0 5px 5px rgba(0,0,0,0.2);
	box-shadow: 0 5px 5px rgba(0,0,0,0.2);
  color: inherit;
}
.swiper-encarts .swiper-slide .encart-thumb {
	height: 250px;
}
.swiper-encarts .swiper-slide .encart-thumb img {
	width: 100%;
}
.swiper-encarts .swiper-slide .center {
  margin-top: -35px;
  display: flex;
	justify-content: center;
}
.swiper-encarts .swiper-slide .center span {
  color: var(--color-blanc);
  font-size: 38px;
  border-radius: 50%;
  padding: 5px;
  width: 70px;
  height: 70px;
  display: block;
  display: flex;
  align-items: center;
  justify-content: center;
}
.swiper-encarts .swiper-slide.encart-promo .center span {
    background-color: var(--color-rose);
}
.swiper-encarts .swiper-slide.encart-actu .center span {
    background-color: var(--color-vert);
}
.swiper-encarts .swiper-slide.encart-video .center span {
    background-color: var(--color-bleu);
}
.swiper-encarts .swiper-slide p {
	color: var(--color-black);
	font-size: 0.9rem;
	line-height: normal;
}
.swiper-encarts .swiper-slide p.encart-titre {
	font-family: "Lilita One", sans-serif;
	font-size: 1.3rem;
	text-transform: uppercase;
	margin-top: 20px;
}
.swiper-encarts .swiper-slide.encart-promo p.encart-titre {
	color: var(--color-rose);
}
.swiper-encarts .swiper-slide.encart-actu p.encart-titre {
	color: var(--color-vert);
}
.swiper-encarts .swiper-slide.encart-video p.encart-titre {
	color: var(--color-bleu);
}
.swiper-encarts .swiper-pagination-encarts {
    margin: 15px 0 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.swiper-encarts .swiper-pagination-encarts .swiper-encarts-next, .swiper-encarts .swiper-pagination-encarts .swiper-encarts-prev {
    position: relative;
    left: inherit;
    right: inherit;
    margin: 0 15px;
    color: var(--color-gris);
    font-size: 2rem;
    line-height: 2rem;
}
.swiper-button-next::after, .swiper-rtl .swiper-button-prev::after {
  font-family: 'ecureuils';
  content: '\e813';
}
.swiper-button-prev::after, .swiper-rtl .swiper-button-next::after {
  font-family: 'ecureuils';
  content: '\e812';
}

.swiper-galerie {
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
}
.swiper-galerie figure {
  margin: 0;
}
.swiper-galerie figure > figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(0,0,0,0.5);
  padding: 1px 10px;
  color: var(--color-blanc);
	font-size: 0.8rem;
	text-align: left;
}
.swiper-galerie .swiper-pagination {
	position: relative;
  bottom: 55px;
  width: 103px;
  left: 50%;
  transform: translate(-50%, 0);
}
.swiper-galerie .swiper-pagination .swiper-galerie-next, .swiper-galerie .swiper-pagination .swiper-galerie-prev {
  color: var(--color-rose);
}

.two-columns .img-full {
	margin: 50px 0;
}

.encarts-circle {
	margin: 100px 0;
	text-align: center;
	text-transform: uppercase;
}
.encarts-circle > div {
	margin: 50px 0;
}
.encarts-circle a .thumb {
	position: relative;
	width: 100%;
	border-radius: 50%;
}
.encarts-circle a .hover-border {
	border: none;
	width: 90%;
	margin: 0 5%;
	border-radius: 50%;
	height: 100%;
	display: block;
	position: absolute;
	box-shadow: inset 0 0 0 8px var(--color-gris);
	transition: all 0.3s ease;
}
.encarts-circle a.hover-gris .hover-border {
	box-shadow: inset 0 0 0 8px var(--color-gris);
}
.encarts-circle a.hover-rose .hover-border {
	box-shadow: inset 0 0 0 8px var(--color-rose);
}
.encarts-circle a.hover-vert .hover-border {
	box-shadow: inset 0 0 0 8px var(--color-vert);
}
.encarts-circle a.hover-bleu .hover-border {
	box-shadow: inset 0 0 0 8px var(--color-bleu);
}
.encarts-circle a:hover .hover-border {
	box-shadow: inset 0 0 0 0px var(--color-gris);
}
.encarts-circle a:hover {
	color: var(--color-black);
}
.encarts-circle a img {
	width: 90%;
	border-radius: 50%;
}
.encarts-circle a p {
	font-family: "Lilita One", sans-serif;
	font-size: 1.2rem;
	margin: 15px 0 0;
	color: var(--color-black);
	transition: all 0.3s ease;
}
.encarts-circle a.hover-gris:hover p {
	color: var(--color-gris);
}
.encarts-circle a.hover-rose:hover p {
	color: var(--color-rose);
}
.encarts-circle a.hover-vert:hover p {
	color: var(--color-vert);
}
.encarts-circle a.hover-bleu:hover p {
	color: var(--color-bleu);
}

.bg-cover {
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	background-repeat: no-repeat;
	min-height: 450px;
}

.heberg-encarts .row > div:nth-child(2) > * {
	margin-top: 80px;
}
.heberg-encarts .row > div > * {
	display: flex;
	flex-direction: column;
	text-align: center;
	border-radius: 15px;
	overflow: hidden;
	background-color: var(--color-blanc);
}
.heberg-encarts a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 450px;
}
.heberg-encarts a h3 {
	color: var(--color-blanc);
	font-family: "Lilita One", sans-serif;
	font-size: 1.5rem;
	text-transform: uppercase;
	position: absolute;
	z-index: 1;
  padding: 30px;
}
.heberg-encarts a img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: all 0.3s ease-in;
	filter: brightness(80%);
}
.heberg-encarts a:hover img {
  	transform: scale(1.1);
}

.video {
  position: relative;
  cursor: pointer;
  border-radius: 15px;
  overflow: hidden;
  margin: 15px;
}
.video .video-capture {
  transition: all 0.3s;
  filter: brightness(100%);
  -webkit-filter: brightness(100%);
  -moz-filter: brightness(100%);
  -o-filter: brightness(100%);
  -ms-filter: brightness(100%);
  z-index: 1;
  width: 100%;
}
.video:hover .video-capture {
  filter: brightness(50%);
  -webkit-filter: brightness(50%);
  -moz-filter: brightness(50%);
  -o-filter: brightness(50%);
  -ms-filter: brightness(50%);
}
.video .video-bt {
	width: 75px;
  position: absolute; 
  top: 50%; left: 50%; 
  transform: translate(-50%, -50%);
  z-index: 20;
}
.video .video-caption {
	width: 100%;
  position: absolute; 
  bottom: 0;
  text-align: center;
  background-color: rgba(4,5,6,0.6);
  color: var(--color-blanc);
  padding: 5px 15px;
  font-size: 0.8rem;
  line-height: 1.2rem;
  z-index: 10;
}

#partenaires {
	background-color: var(--color-blanc);
}
#partenaires > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
}
#partenaires a {
  margin: 0 10px;
}
#partenaires img {
  height: 80px;
  transition: all .3s ease-in;
}
#partenaires img:hover {
  filter: saturate(0);
}

#map-canvas {
  width: 100%;
  height: 500px;
}
#map-canvas, .video {
  background: var(--color-rose) url(/img/loader.svg) center no-repeat;
  display: block;
}
#map-iframe {
	position: relative;
}
#map-iframe > .container {
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 10px 0 24px 10px;
	padding: 0;
	z-index: 50000;
}

aside.art-encart {
	background-color: rgba(130,135,139,0.1);
	border-radius: 20px;
	margin: 15px;
	overflow: hidden;
}
aside.art-encart .art-img {
	height: 300px;
}
aside.art-encart .art-img img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}
aside.art-encart .art-txt {
	padding: 30px;
}

.media-grid .media-box {
	background-color: rgba(130,135,139,0.1);
	border-radius: 20px;
	overflow: hidden;
	margin: 15px 0;
}
.media-grid .media-box .media-box-image {
	height: 200px;
}
.media-grid .media-box .media-box-image img {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}
.media-grid .media-box .media-box-content {
	padding: 0 20px 20px;
}
.media-grid .media-box .media-box-content .media-box-title h3 {
	color: var(--color-bleu);
	
}
.media-grid .media-box .media-box-content .media-box-text {
	line-height: 1.2rem;
	margin: 15px 0;
}
.media-grid .media-box .media-box-content .media-box-text span {
	display: inline-block;
	margin-top: 15px;
}

.gridzy a {
    color: var(--color-blanc);
    background-color: var(--color-black);
    transition: all .3s ease-in;
    display: grid;
    border-radius: 20px;
    overflow: hidden;
}
.gridzy a > span {
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    transition: all .3s ease-in;
}
.gridzy a:hover > span {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.3);
}
.gridzy a:hover, .gridzy a:hover > img {
    transition: all .3s ease-in;
}
.gridzy a:hover, .gridzy a:hover > * {
    border-radius: 20px;
}

.important {
	background-color: var(--color-rose);
	color: var(--color-blanc);
	padding: 15px 20px;
	margin: 30px 0;
	border-radius: 20px;
	text-align: center;
}

.new-encart {
	padding: 20px;
	background-color: rgba(130,135,139,0.1);
	color: #100f0c;
	border-radius: 20px;
}
.new-encart h2 {
	margin-top: 0;
	color: #100f0c;
}
.galerie-new {
	margin: 20px 0;
}
.galerie-new a {
	margin: 10px;
	display: inline-block;
	border-radius: 20px;
	overflow: hidden;
}
.galerie-new img {
  height: 145px;
  transition: all .3s ease-in;
}
.galerie-new a:hover img {
  transform: scale(1.1);
}

.encart-dl > div > div {
  background-color: rgba(130,135,139,0.1);
  border-radius: 20px;
  padding: 15px;
  margin: 15px 0;
}
.encart-dl > div > .row > div:first-child > div {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.encart-dl img {
  object-fit: contain;
  max-height: 100%;
  max-width: 80%;
  object-position: center;
}
.encart-dl > div > div p {
  margin: 0 0 10px;
  font-size: 1rem;
  font-weight: 700;
}
.encart-dl > div > div small {
  display: block;
  line-height: 1rem;
  font-size: 0.8rem;
  margin-bottom: 10px;
}
.encart-dl .btn {
  margin-top: 0;
}


/* ////// 404 ////// */

#error-404 header {
  margin-bottom: 50px;
}
#error-404 header .logo, #error-404 header .header-blocs {
  display: none;
}

.page-404 {
  text-align: center;
}
.page-404 .page-404-gif {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 30px 0;
}
.page-404 .page-404-gif span {
  font-size: 130px;
  font-weight: 700;
  height: 200px;
  line-height: 200px;
}
.page-404 .page-404-gif div {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  width: 200px;
  margin: 0 20px;
  overflow: hidden;
  border: 12px solid var(--color-black);
}
.page-404 small {
  display: block;
  padding: 20px 0;
  opacity: 0.7;
  font-size: 0.8rem;
}


/* ////// FORMULAIRE ////// */

form.formulaire {
  margin: 0;
}
form.formulaire input, form.formulaire textarea {
  box-sizing: border-box;
  padding: 5px;
  border: none;
  border-radius: 3px;
  border: 1px solid rgba(0,0,0,.1);
  width: 100%;
  margin-bottom: 15px;
}
form.formulaire #validation {
  text-align: center;
}
form.formulaire input[type="radio"] {
  margin-left: 10px;
  width: initial;
}
form.formulaire input[type="checkbox"] {
  width: initial;
  margin: 0;
}
form.formulaire small {
  font-size: 0.8rem;
}
form.formulaire input[type="submit"] {
  background: #004259;
  color: #ffffff;
  cursor: pointer;
  border-radius: 3px;
  border: none;
  margin: 15px 0 0 0;
  padding: .375rem 1rem;
  transition: all 0.3s;
  width: inherit;
}
form.formulaire input[type="submit"]:hover {
  background: #e56e1f;
}

form.formulaire .form-type {
display: inline;
}
form.formulaire .form-type span {
display: inline-flex;
align-items: baseline;
}

#validation .btn {
  transition: all ease-in 0.5s;
  margin: 15px 0 0;
}
#validation .opt-out {
  opacity: 0.5;
  cursor: inherit;
  pointer-events: none;
}
#validation .opt-in {
  opacity: 1;
  cursor: pointer;
}

p.errors, p.success {
  margin: 30px 0;
  padding: 20px 60px;
  text-align: center; 
  clear: both;
  border-radius: 3px;
}
p.success {
  color: #5c6a06;
  background: #c5e21a;
}
p.errors, form div.error input, form div.error textarea, .formulaire .g-recaptcha.error {
  color: #bc3d2d;
  background: #fddcdf;
}


/* ////// FOOTER //////*/

footer {
  color: var(--color-blanc);
  background-color: var(--color-gris);
  background-size: cover;
}
footer #footer-floral {
	background-color: var(--color-black);
	background-image: url(/img/bg-floral-noir.jpg);
	background-position: top center;
	background-size: cover;
	height: 60px;
}
footer #footer-top {
	overflow: hidden;
}
footer #footer-top > .row > a {
  background: url("/img/maps-footer.jpg") center no-repeat;
  background-size: cover;
}
footer #footer-top > .row > #coordonnees {
  background-color: var(--color-rose);
  background-image: url(/img/floral-footer.svg);
  background-repeat: no-repeat;
  background-position: center left;
  padding: 80px 0;
  text-align: center;
}
footer #footer-top > .row > #coordonnees p:first-child {
	font-family: "Lilita One", sans-serif;
  font-size: 2rem;
  color: var(--color-blanc);
  text-transform: uppercase;
}
footer #footer-top > .row > #coordonnees small {
	display: block;
  font-size: 0.8rem;
  line-height: 1rem;
  margin-bottom: 1rem;
}
footer #footer-top > .row > #coordonnees .gps {
	display: inline-block;
	margin-top: 20px;
}
footer #footer-top > .row > #coordonnees .gps > div {
	display: flex;
	align-items: center;
	border-radius: 10px;
	border: 1px solid var(--color-blanc);
	padding: 15px 20px 15px 5px;
}
footer #footer-top > .row > #coordonnees .gps > div i {
	font-size: 2.5rem;
}
footer #footer-top > .row > #coordonnees .gps > div p {
	margin: 0;
	text-align: left;
	line-height: 1.5rem;
}
footer #footer-top > .container {
  padding: 50px 0;
}
footer #footer-bottom {
  padding: 100px 0 30px;
}
footer #footer-bottom ul, footer #footer-bottom ul li {
  padding: 0;
  margin: 0;
  list-style: none;
}
footer #footer-bottom ul li a {
  display: inline-block;
  padding: 3px 0;
  color: #fff;
  transition: all 0.3s ease-in;
}
footer #footer-bottom > .row {
  margin: 0;
}
footer #footer-bottom > .row > div:first-child {
  text-align: left;
}
footer #footer-bottom > .row > div:last-child {
  text-align: right;
}
footer #footer-bottom > .row > div p {
	font-family: "Lilita One", sans-serif;
	font-size: 1.5rem;
	text-transform: uppercase;  
}
footer #footer-bottom > .row > div:first-child p {
  color: var(--color-bleu);
}
footer #footer-bottom > .row > div:last-child p {
  color: var(--color-vert);
}
footer #footer-bottom > .row > div:first-child ul li a:hover {
  padding-left: 15px;
  color: var(--color-bleu);
}
footer #footer-bottom > .row > div:last-child ul li a:hover {
  padding-right: 15px;
  color: var(--color-vert);
}
footer #footer-bottom > .row > div:first-child a.btn {
  font-size: 1.5rem;
  padding: 6px 20px;
}
footer #footer-bottom #carte a {
  margin-top: -20px;
  display: flex;
  justify-content: center;
}
footer #footer-bottom #carte a img {
  width: 300px;
}
footer #footer-social a {
	color: var(--color-blanc);
	border-radius: 20px;
	padding: 1px 0px;
	margin: 0 4px;
	font-size: 1.7rem;
	background-color: var(--color-rose);
}
footer #footer-social a:hover {
	background-color: var(--color-black);
}
footer .btn {
	font-family: "Lilita One", sans-serif;
	font-size: 1.5rem;
	padding: 2px 15px;
}
footer #footer-bottom hr {
  margin: 50px 0 30px;
  border-color: rgba(255,255,255,0.5);
}
footer #footer-bottom small {
	display: block;
	text-align: center;
  font-size: 0.7rem;
  color: rgba(255,255,255,0.5);
}
footer #footer-bottom small a {
  color: rgba(255,255,255,0.5);
  transition: all 0.3s ease-in;
}
footer #footer-bottom small a:hover {
  color: rgba(255,255,255,1);
}

.to-top {
  background-color: var(--color-rose);
  position: fixed;
  bottom: 12px;
  right: 24px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  opacity: 0;
  pointer-events: none;
  transition: all .5s ease-in;
  z-index: 1000;
}
.to-top:hover {
  background-color: var(--color-black);
}
.to-top.active {
  bottom: 24px;
  pointer-events: auto;
  opacity: 1;
}
.to-top svg {
  color: var(--color-blanc);
  margin-top: 3px;
}
