﻿body {
	font-family: Lato;
	font-weight: 400;
	padding-bottom: 30px;
}

body.blocked {
	position: fixed;
	overflow: hidden;
}

p {
	font-size: 15px;
	line-height: 26px;
	color: #555;
}

#site-mask {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.35);
	z-index: 998;
}

header {
    background-color: white;
    line-height: 60px;
    box-sizing: content-box;
    z-index: 999;
    width: 100%;
}

header > div {
	position: relative;
	max-width: 1100px;
	margin: 0 auto;
}

header .menu-icon, header .close-icon {
	display: none;
}

header #logo {
	height: 60px;
	vertical-align: middle;
	display: inline-block;
	margin: 5px 5px 5px 5px;
}

header #slogan {
	display: inline-block;
	vertical-align: bottom;
	font-family: Questrial;
	line-height: 24px;
	font-size: 18px;
	text-decoration: none;
}

header #logo-anniversaire {
	font-family: Satisfy;
	font-size: 15px;
	color: #d4d4d4;
	display: inline-block;
	vertical-align: bottom;
	line-height: 21px;
	margin-left: 10px;
}

header #logo-anniversaire b {
	font-weight: 400;
	font-size: 20px;
}

#background-img{
	height: 20vw;
}

header .nav-secondaire {
	list-style: none;
	line-height: 23px;
	position: absolute;
	top: 0;
	right: 0;
	background-color: #f8f8f8;
	margin: 0;
	padding: 0;
	border-radius: 0 0 5px 5px;
	padding: 0;
	font-size: 0;
	line-height: 0;
	overflow: hidden;
}

header .nav-secondaire li {
	display: inline-block;
	margin: 0;
	padding: 0;
	border-left: 1px solid #fcfcfc;
}

header .nav-secondaire li:first-child {
	border: 0;
}

header .nav-secondaire li:last-child a {
	background-color: #eee;
	color: #e2007a;
	transition: color 0.25s;
}

header .nav-secondaire li a {
	transition: border-color 0.15s;
	display: block;
	font-size: 12px;
	padding: 2px 10px 4px;
	line-height: 25px;
	border-top: 2px solid transparent;
	text-decoration: none;
	color: #555;
}

header .nav-secondaire li a span {
	margin-right: 5px;
	font-size: 15px;
}

header .nav-secondaire li a:hover {
	border-color: #e2007a;
}

header .nav-secondaire li a:hover span {
	color: #e2007a;
}

header .nav-secondaire li:last-child a:hover {
	animation: hover-boutique 0.15s;
	background-color: #e2007a;
	color: #fff;
	border: 0;
	padding-top: 4px;
}

@keyframes hover-boutique {
	0% { background: linear-gradient(to bottom, #e2007a 0%, #eee 0%); }
	10% { background: linear-gradient(to bottom, #e2007a 10%, #eee 10%); }
	20% { background: linear-gradient(to bottom, #e2007a 20%, #eee 20%); }
	30% { background: linear-gradient(to bottom, #e2007a 30%, #eee 30%); }
	40% { background: linear-gradient(to bottom, #e2007a 40%, #eee 40%); }
	50% { background: linear-gradient(to bottom, #e2007a 50%, #eee 50%); }
	60% { background: linear-gradient(to bottom, #e2007a 60%, #eee 60%); }
	70% { background: linear-gradient(to bottom, #e2007a 70%, #eee 70%); }
	80% { background: linear-gradient(to bottom, #e2007a 80%, #eee 80%); }
	90% { background: linear-gradient(to bottom, #e2007a 90%, #eee 90%); }
	100% { background: linear-gradient(to bottom, #e2007a 100%, #eee 100%); }
}

header .nav-secondaire li:last-child a:hover span {
	color: #fff;
}
#mobile-favoris{
	display:none;
}
.btn-favoris{
	display:none ;
}

nav {
	display: block;
	vertical-align: middle;
	font-size: 20px;
	line-height: 20px;
	margin: 0;
	float: left;
	width: 100%;
}

nav > ul {
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: inherit;
	font-size: 0;
	position: relative;
}

nav li {
	display: inline-block;
	line-height: inherit;
	position: relative;
}

nav > ul > li:last-child {
	width: 175px;
	margin: 0;
	vertical-align: bottom;
	right: 0;
	position: absolute;
	bottom: 0;
}

nav > ul > li:last-child > a {
	background-color: #e2007a;
	color: #fff;
	text-align: center;
	width: 100%;
	position: absolute;
	bottom: 3px;
	font-size: 16px;
	/*border-radius: 50px;*/
	border-radius: 2px;
	line-height: 20px;
	padding: 5px 10px;
	font-weight: 700;
}

nav > ul > li:last-child > a:hover {
	background-color: #ad005d;
}

nav > ul > li > a {
	line-height: inherit;
	display: inline-block;
	padding: 8px 16px;
	font-size: 14px;
	color: #888;
	font-weight: 400;
	text-transform: uppercase;
	z-index: 999;
	position: relative;
	cursor: default;
}

nav > ul > li > a.on {
	color: #000;
}

nav > ul > li > a.on:after {
	content: "";
	display: block;
	width: 50px;
	height: 2px;
	position: absolute;
	background-color: #e2007a;
	left: 15px;
	bottom: 5px;
}

nav > ul > li > a[href] {
	cursor: pointer;
}

nav > ul > li > a:hover, nav > ul > li > a.active {
	background-color: #4d4d4d;
	color: #fff;
	text-decoration: none;
}

nav li > div {
	display: block;
	background-color: #4d4d4d;
	position: absolute;
	margin-top: 0;
	left: 50%;
	transform: translateX(-50%);
	max-width: 100vw;
	white-space: nowrap;
	animation: show-menu 0.2s;
	z-index: 999;
	padding-top: 10px;
	overflow-x: auto;
	overflow-y: hidden;
}

@keyframes show-menu {
	0% { padding-top: 0; opacity: 0; }
	100% { padding-top: 10px; opacity: 1; }
}

nav li > div > .sous-menu {
	display: table-cell;
	vertical-align: top;
	min-width: 230px;
	max-width: 330px;
	white-space: normal;
}

nav li > div > div.img {
	position: relative;
	top: -10px;
	padding: 10px 0;
	text-align: center;
	background: linear-gradient(195deg, #686868 70%, #4d4d4d 90%);
	border: 0;
}

nav li > div > div.img a {
	border: 2px solid transparent;
	display: inline-block;
	margin: 10px auto;
	max-width: 180px;
	font-size: 0;
	line-height: 0;
}

nav li > div > div.img a:hover {
	border-color: #fff;
}

nav li > div > div:hover h3 {
	border-bottom-color: #e2007a;
	color: #fff;
}

nav li h3 {
	transition: all 0.3s;
	font-family: "Questrial";
	font-weight: 400;
	font-size: 20px;
	padding: 0 15px 10px;
	margin: 0;
	border-bottom: 2px solid #686868;
	width: 100%;
	height: 50px;
	color: #ddd;
}

nav li ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

nav li li {
	width: 100%;
}

nav li h3 a {
	color: inherit;
}

nav li li a {
	transition: border, background-color, padding 0.3s;
	color: #fff;
	width: 100%;
	display: inline-block;
	padding: 5px 10px;
	font-size: 14px;
	text-transform: none;
}

nav li li a:not(.btn):hover {
	color: #e2007a;
	background-color: #ddd;
	text-decoration: none;
	padding-left: 15px;
	padding-right: 5px;
}

nav li li a.btn {
	background-color: transparent;
	border: 2px solid #ccc;
	width: calc(100% - 10px);
	margin: 5px;
	text-align: center;
	color: #fff;
}

nav li li a.btn:hover {
	text-decoration: underline;
	color: #fff;
	border-color: #fff;
}


/* Barre d'actions (fixée en bas) */

@keyframes action-bar-apparition {
	0% { right: -90px; }
	90% { right: -90px; }
	100% { right: 0; }
}

#action-bar {
	animation: action-bar-apparition 6s;
	background-color: #fff;
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	z-index: 997;
	box-shadow: 0 5px 20px rgba(0,0,0,.3);
	font-size: 0;
	text-align: center;
	width: 85px;
	border-radius: 2px 0 0 2px;
	overflow: hidden;
}

#action-bar a {
	display: block;
	width: 100%;
	max-width: 150px;
	vertical-align: top;
	padding: 20px 5px;
	font-size: 11px;
	text-align: center;
	height: 85px;
	font-weight: 400;
	color: #888;
	border-right: 2px solid transparent;
}

#action-bar a:nth-child(2) {
	border-left: 0;
	border-top: 1px solid #f8f8f8;
	border-bottom: 1px solid #f8f8f8;
}

#action-bar a:hover {
	text-decoration: none;
	border-right: 2px solid #e2007a;
	color: #000;
	background-color: #fcfcfc;
}

#action-bar a:hover span.lnr {
	color: #e2007a;
}




/* OFFRE PRE FOOTER */

#box-offre{
	background: #EEE;
	padding-bottom: 25px;
	display: block;
	margin-top: 25px;
}

#offre-top{
	background: #EEE;
	
}

#offre-bottom{
	max-width: 1100px;
	margin: auto;
	font-size:0;
}

#box-offre h2{
	max-width: 1100px;
	margin: 0 auto;
	color: #999;
	padding: 10px 0;
	font-weight: 400;
	font-family: Questrial;
	font-size: 23px;
}

@media only screen and (max-width: 1100px) {
	#box-offre h2{
		padding: 10px;
	}
	#box-offre{
		padding-bottom: 0;
	}
}



#box-offre img{
	margin:auto;
}


/* FOOTER */

footer {
	background-color: #4d4d4d;
	color: #fff;
	font-size: 0;
	overflow: hidden;
	position: relative;
}


#starcats{
	text-align: center;
	font-size : 15px;
	margin: 0 auto;
	padding: 25px 0;
	max-width: 1100px;
	background: #3f3f3f;
}

.starcat{
	max-width: 350px;
	margin: 25px auto;
}

.starcat img{
		width:40%;
		display: inline-block;
		margin-right: 5px;

	}
	
	.starcat div{
		vertical-align: top;
		width:55%;
		display: inline-block;
		text-align: left;
		
	}

.starcat h3{
	margin: 0 0 .5em 0;
	font-family: Questrial;
	font-weight: 400;
}

.starcat h3 a:hover{
	text-decoration:none;
}

.starcat h3::after{
		content: "";
		display: block;
		border-bottom: 2px solid #e2007a;
		width: 20px;
}

.starcat div p{
	font-size: 13px;
	color: #888;
	line-height: 15px;
}

.starcat a{
	color:#fff;
}

@media only screen and (min-width: 590px) {
	
	.starcat{
		width:31%;
		display: inline-block;
		margin: 0 1%;
	}
	
	
}



footer > .entrees-footer > a {
	transition: color 0.3s;
	font-weight: 400;
	display: inline-block;
	margin: 0 3%;
	text-transform: lowercase;
	font-size: 15px;
	font-weight: 300;
	border-radius: 50%;
	width: 130px;
	height: 130px;
	padding: 20px 10px;
	font-family: "Questrial";
	background-color: #4d4d4d;
	color: #eee;
	text-decoration: none;
}

footer > .entrees-footer > a > span {
	transition: color 0.75s;
	font-size: 55px;
	display: block;
	margin-bottom: 14px;
	color: #888;
}

footer > .entrees-footer > a:hover {
	color: #fff;
}

footer > .entrees-footer > a:hover:after {
	content: "";
	display: block;
	text-align: center;
	width: inherit;
	margin: 5px auto 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #fff;
}

footer > .entrees-footer > a:hover > span {
	color: #fff;
}

footer > .entrees-footer,
footer > .liens {
	max-width: 1100px;
	margin: 0 auto;
}

footer > .entrees-footer {
	background-color: #3f3f3f; 
	text-align: center;
	padding: 40px 10px;
}

footer > .liens {
	background: linear-gradient(to bottom, #3f3f3f 0%, #4d4d4d 40%);
	padding: 30px 0;
}

footer > .liens > div {
	display: inline-block;
	vertical-align: top;
	width: 20%;
	padding: 0 10px;
}

footer > .liens > div:last-child {
	width: 40%;
}

footer > .liens ul {
	font-size: 15px;
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
}

footer > .liens li {
	line-height: 20px;
	font-size: 13px;
}

footer > .liens li:first-child {
	font-weight: 400;
	font-family: "Questrial";
	padding: 0;
	font-size: 18px;
	display: inline-block;
	color: #fff;
	margin: 0 0 5px -2px;
}

footer > .liens li:first-child:after {
	content:"";
	display: block;
	border-bottom: 2px solid #e2007a;
	width: 20px;
}

footer > .liens > div:last-child li:first-child:after {
	border-bottom-color: #0097a7;
}

footer > .liens li a {
	color: #ccc;
}

footer > .liens li:not(:first-child) {
	margin-left: 4px;
}

footer > .reseaux-sociaux {
	background-color: #333;
	color: #fff;
	font-size: 15px;
	line-height: 40px;
}

footer > .reseaux-sociaux > div {
	max-width: 1100px;
	margin: auto;
	padding: 5px 10px;
}

footer > .reseaux-sociaux span {
	float: right;
}

footer > .reseaux-sociaux a {
	color: #888;
	margin-left: 5px;
	font-size: 28px;
	text-decoration: none;
}

footer > .reseaux-sociaux a:hover {
	color: #fff;
}

footer > .reseaux-sociaux h2 {
	font-weight: 400;
	font-size: 20px;
	font-family: "Questrial";
	margin: 0;
	display: inline-block;
}

footer > .copyright {
	margin: -20px 0 30px;
	font-size: 0;
	color: #888;
	position: relative;
	z-index: 2;
}

footer > .copyright > div {
	max-width: 1100px;
	margin: auto;
	padding: 10px;
}

footer > .copyright p {
	margin: 0 10px;
	display: inline-block;
	vertical-align: middle;
	font-size: 12px;
	line-height: 15px;
	color: #aaa;
}

footer > .copyright p span {
	font-size: 15px;
	display: block;
	color: #444;
	font-family: "Questrial";
}

footer > .copyright > div > span,
footer > .copyright p {
	display: inline-block;
	vertical-align: middle;
}

footer > .copyright > div > span img {
	height: 43px;
	margin: 0 8px;
}


footer > div:last-child {
	width: 130vw;
	height: 200px;
	background-color: #fff;
	transform: rotate(2deg);
	position: absolute;
	bottom: -105px;
	left: -10px;
	z-index: 1;
}


@media only screen and (max-width: 1000px) {

	header {
		top: 0;
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	header #logo-anniversaire {
		font-size: 12px;
	}

	header #logo-anniversaire span:nth-child(2) {
		font-size: 50px;
		line-height: 40px;
	}

	header #logo-anniversaire span:nth-child(3) {
		font-size: 15px;
	}

}

@media only screen and (max-width: 970px) {

	footer > .entrees-footer > a {
		margin: 0 1%;
		text-transform: lowercase;
		font-size: 15px;
		font-weight: 300;
		border-radius: 50%;
		width: 130px;
		height: 130px;
		padding: 20px 10px;
		font-family: "Questrial";
		background-color: #4d4d4d;
		color: #eee;
		text-decoration: none;
	}

}

/* VERSION MOBILE */
@media only screen and (max-width: 940px) {

	header {
		position: static;
		overflow: visible;
		top: 0;
		line-height: 50px;
		z-index: 99;
	}

	header #logo {
		height: 50px;
		margin: 5px;
	}

	header #slogan {
		font-size: 15px;
	}

	header #menu, header #logo-anniversaire {
		display: none;
	}

	#background-img{
		height: 30vw;
	}

	header .nav-secondaire {
		display: none;
	}

	header .menu-icon, header .close-icon {
		position: relative;
		float: right;
		width: 50px;
		height: 60px;
		vertical-align: middle;
		display: block;
		cursor: pointer;
	}

	header .menu-icon span, header .close-icon span {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		display: block;
		width: 30px;
		height: 2px;
		background-color: #4d4d4d;
	}

	header .menu-icon span::before, header .menu-icon span::after, header .close-icon span::before, header .close-icon span::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		transform: translateY(-6px);
		display: block;
		width: 30px;
		height: 2px;
		background-color: #4d4d4d;
	}

	header .menu-icon span::after {
		transform: translateY(6px);
	}

	header .close-icon span {
		background: transparent;
	}

	header .close-icon span::before {
		transform: translateY(0) rotate(45deg);
		background-color: #fff;
	}

	header .close-icon span::after {
		transform: translateY(0) rotate(-45deg);
		background-color: #fff;
	}

	header #slogan {
		line-height: 25px;
	}

	@keyframes ouverture-menu {
		0% {
			right: -300px;
		}

		100 % {
			right: 0;
		}
	}

	header #menu {
		position: fixed;
		background-color: #4d4d4d;
		right: -320px;
		top: 0;
		bottom: 0;
		max-width: 300px;
		overflow-y: auto;
		z-index: 9999;
		-webkit-overflow-scrolling: touch;
	}

	header #menu div, header #menu {
		display: block !important;
	}
	
	/*
	header #menu > ul {
		margin-top: 60px;
	}
	*/

	header #menu li > div {
		display: block;
		background-color: #4d4d4d;
		position: static;
		margin-top: 0;
		left: auto;
		transform: none;
		max-width: 100%;
		white-space: normal;
		z-index: 998;
		padding-top: 0;
		text-align: left;
	}

	header #menu h3 {
		border: 0;
		margin: 0;
		padding: 5px;
		height: auto;
	}
	
	/*
	#titre-menu{
		border: 0;
		margin: 5px 0px 0px 0px !important;
		padding: 5px;
		height: auto;
		font-size:30px;
		color:#fff;
		text-transform:uppercase;
	}
	*/
	
	#titre-menu{
		text-transform: uppercase;
		font-family: inherit;
		font-size: 15px;
		color: #aaa;
		padding: 5px;
		background-color: transparent;
		width: 100%;
		font-weight: 400;
	}

	header #menu div ul {
		margin-bottom: 20px;
	}

	header #menu > ul > li {
		display: block;
		text-align: right;
		border-top: 2px solid #e2007a;
		margin-top: 10px;
	}

	header #menu > ul > li > a, header #menu > ul > li > a:hover {
		text-transform: uppercase;
		font-family: inherit;
		font-size: 15px;
		color: #aaa;
		padding: 5px;
		background-color: transparent;
		width: 100%;
	}

	header #menu > ul > li > a.on {
		color: #4d4d4d;
		background-color: #eee;
		font-weight: 700;
	}

	header #menu > ul > li > a.on:after {
		display: none;
	}

	header nav#menu > ul > li:last-child {
		width: auto;
		margin: 0;
		vertical-align: bottom;
		right: auto;
		position: absolute;
		top: 0;
		left: 0;
		bottom: auto;
		max-height: 0;
	}
	
	/*
	header nav#menu > ul > li:last-child > a {
		transition: background-color 0.3s;
		background-color: #e2007a;
		color: #fff;
		text-align: center;
		width: 200px;
		position: relative;
		bottom: auto;
		top: -57px;
		line-height: 40px;
		padding: 5px 30px;
		font-weight: 700;
		margin: 0;
		left: 5px;
		border-radius: 2px;
	}
	*/
	
	header nav#menu > ul > li:last-child > a {
		display:none;
	}

	header nav#menu > ul > li:last-child > a:hover {
		background-color: #ad005d;
	}

	@keyframes action-bar-apparition {
		0% { bottom: -60px; }
		100% { bottom: 0; }
	}

	#action-bar {
		animation: action-bar-apparition 0.8s;
		background-color: #fff;
		position: fixed;
		left: 0;
		bottom: 0;
		right: 0;
		top: auto;
		z-index: 997;
		box-shadow: 0 -2px 1px rgba(0,0,0,.35);
		width: 100%;
		border-radius: 0;
		font-size: 0;
		text-align: center;
		max-width: 100%;
		overflow: hidden;
		transform: none;
	}

	#action-bar a {
		display: inline-block;
		width: 33.3%;
		max-width: 150px;
		vertical-align: top;
		padding: 5px;
		font-size: 11px;
		text-align: center;
		height: 55px;
		font-weight: 400;
		color: #888;
		border-bottom: 2px solid transparent;
		border-right: 0;
	}

	#action-bar a:nth-child(2), #action-bar a:nth-child(2):hover {
		border-top: 0;
		border-left: 1px solid #f8f8f8;
		border-right: 1px solid #f8f8f8;
	}

	#action-bar a:hover {
		border-right: 0;
		border-bottom: 2px solid #e2007a;
	}
	#mobile-favoris{
	padding:7px;
	}
	.btn-favoris
	{
		border: solid 2px #fff;
		border-radius: 2px;
		display : block;
		margin-top:10px;
		text-align:center;
		padding:25px;
		color:#fff;
		text-transform:uppercase;
		font-size: 15px;
		text-shadow: 3px 3px 4px #000; 
	}
	#favori1{
		background: linear-gradient(rgba(0, 0, 0, 0.10), rgba(0, 0, 0, 0.65)),url(../upload/piscinelle-or-S.jpg) no-repeat center 50%; 
		background-size: cover;
		clear:both;
	}
	#favori2{
		background: linear-gradient(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.6)),url(../upload/piscinelle-photo-perron-kit-nantes-3-S.jpg) no-repeat center 80%; 
		background-size: cover;
	}
	#favori3{
		background: linear-gradient(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.6)),url(../img/rendez-vous-tarifs-piscine.jpg) no-repeat center 70%; 
		background-size: cover;
	}
	/*.icone-favoris{
		border :solid 2px rgba(226, 0, 122, 1);
		border-radius: 10000px;
		text-align:center;
		padding:15px;
		color:#fff;
		font-size: 30px;
		text-shadow: 3px 3px 4px #000; 
		display : inline-block;
		
		margin:5px 5px 0px 5px;
	}
	*/
	
}

@media only screen and (max-width: 760px) {

	footer > .entrees-footer {
		padding: 20px 10px;
	}

	footer > .entrees-footer > a {
		font-size: 13px;
		width: 100px;
		height: 100px;
	}

	footer > .entrees-footer > a > span {
		font-size: 38px;
		margin-bottom: 7px;
	}

}

@media only screen and (max-width: 700px) {

	footer > .liens > div,
	footer > .liens > div:last-child {
		width: 50%;
	}

	footer > .reseaux-sociaux h2 {
		display: block;
		line-height: 20px;
		padding-top: 5px;
	}

	footer > .reseaux-sociaux span {
		float: none;
		display: block;
		text-align: right;
	}

}

@media only screen and (max-width: 600px) {

	footer > .copyright p {
		margin: 0 0 20px;
	}

	footer > .copyright > div > span {
		display: block;
		text-align: center;
	}

	footer > div:last-child {
		bottom: -40px;
		left: -5px;
	}

}

@media only screen and (max-width: 540px) {

	footer > .entrees-footer {
		padding: 20px 10px;
	}

	footer > .entrees-footer > a {
		font-size: 12px;
		width: 90px;
		height: 90px;
		padding: 15px 0;
	}

	footer > .entrees-footer > a > span {
		font-size: 35px;
		margin-bottom: 10px;
	}

}

@media only screen and (max-width: 350px) {

	header #slogan {
		line-height: 25px;
	}

	header #slogan > span {
		display: block;
		line-height: 10px;
	}

}

@media only screen and (max-width: 341px) {

	footer > div:last-child {
		bottom: -20px;
		height: 230px;
	}

}




/* Contenus rédactionnels et contenus communs */
#page-content,
.page-content {
	margin: 50px auto 0;
	max-width: 1100px;
	padding: 10px;
	overflow:auto;
}

#page-content h1,
.page-content h1,
.form-type h1,
#the-formulaire h5 {
	margin: 0 auto 5px;
	color: #000;
	font-size: 35px;
	font-family: Questrial;
	font-weight: 400;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 0 0 10px;
	border-bottom: 2px solid #e2007a;
	max-width: 700px;
	margin: 0 auto;
}

#page-content h2,
.page-content h2,
#page-content h3,
.page-content h3,
#page-content h4,
.page-content h4 {
	font-family: Questrial;
	color: #000;
	font-size: 23px;
	font-weight: 400;
	padding: 0;
	max-width: 700px;
	margin: 25px auto;
	clear: both;
}

#page-content h3,
.page-content h3 {
	font-size: 19px;	
}

#page-content h4,
.page-content h4 {
	font-size: 15px;
}

#page-content h2:after,
.page-content h2:after {
	content: "";
	display: block;
	width: 30px;
	height: 2px;
	background-color: #e2007a;
	margin-top: 5px;
}

#page-content > p,
.page-content > p {
	margin: 30px auto;
}

#page-content > p, #page-content > ul,  #page-content > ol, #page-content table td,
.page-content > p, .page-content > ul,  .page-content > ol, .page-content table td, .row ul{
	line-height: 26px;
	font-family: Lato;
	color: #555;
	max-width: 700px;
	margin: 15px auto;
	font-size: 15px;
}

#page-content ul{
	overflow: hidden;
}


.container, .plus-loin, .colonnes{
	max-width: 700px;
	margin: 0px auto;
	color: #555;
	overflow: hidden;
	clear: both;
}

.colonnes ul {
	column-count :3;
	padding-left: 20px;
    line-height: 26px;
}

.container h3:first-child, .container h1:first-child, .container h2:first-child{
	margin-top:0 !important;
}
.container p:last-child{
	margin-bottom:0;
}

.plus-loin{text-align: right;}

.plus-loin h3{
	margin-bottom:0 !important;
}

.plus-loin p{
	margin: 0 !important;
}

.plus-loin a{
	color:#999;
}

.plus-loin a:after{
	content: " ►";
	font-size: 13px;
    color: #ddd;
}

a.btn, a.btn {
	/*margin: -5px 0;*/
}

#page-content > ul, .page-content > ul,
#page-content > ol, .page-content > ol {
	 padding-left: 20px;
 }

img.img-left,
img.img-right {
	margin: 10px;
	width: 30%;
}

img.img-left {
	float: left;
}

img.img-right {
	float: right;
}

#page-content div.large,
.page-content div.large {
	font-size: 0;
	text-align: left;
	padding: 0;
	margin: 0px;
	display: block;
	background-color: #fff;
	min-height: 100px;
	position: relative;
	clear: both;
}

#page-content div.large img,
.page-content div.large img {
	min-width: 100%;
	max-width: 100%;
	display: block;
}

#page-content .gallery,
.page-content .gallery {
	display: none;
	font-size: 0;
	text-align: left;
	padding: 0;
	column-count: 3;
	margin: -5px;
	clear: both;
}

#page-content .gallery p,
.page-content .gallery p {
	display: inline-block;
	margin: 0;
	font-size: 0;
	line-height: 0;
}

#page-content .gallery a,
.page-content .gallery a {
	border: 0;
	position: relative;
	overflow: hidden;
	background-color: #fff;
	width: calc(100% - 10px);
	display: inline-block;
	margin: 5px;
}

#page-content .gallery a:hover,
.page-content .gallery a:hover {
	border-color: #e2007a;
}

#page-content .gallery a img,
.page-content .gallery a img {
	width: 100%;
}

#page-content .video,
.page-content .video {
    position: relative;
    padding-bottom: 393.5px; /* 16:9 */
    padding-top: 25px;
		width: 700px;
    height: 0;
		margin: 0 auto;
		clear: both;
}
#page-content .video iframe,
.page-content .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 93%;
}

.page-content .presse-photos{
	float: left;
	height: 100px;
	width: 150px;
	margin-right: 10px;
}


#page-content > table,
.page-content > table{
	width: 700px;
	margin: 0 auto;
	margin-top: 15px;
	margin-bottom: 15px;
}

#page-content table tbody tr{
	border-top: 1px solid #f0f0f0;
}

#page-content table td,
.page-content table td,
#page-content table th,
.page-content table th{
	padding: 10px;
	vertical-align: top:
}

@media only screen and (max-width:700px) {

	#page-content .video,
	.page-content .video {
	    width: auto;
	    padding-bottom: 56.25%; /* 16:9 */
	}

	#page-content table,
	.page-content table{
		width: 100%;
	}


}
/*
#page-content .btn,
.page-content .btn {
	background-color: #eee;
	border: 0;
	border-radius: 50px;
	color: #444;
	font-family: Lato;
	font-size: 15px;
	text-transform: uppercase;
	font-weight: 600;
	padding: 10px 20px;
	text-align: center;
	margin: 5px;
}

#page-content .btn:hover,
.page-content .btn:hover,
.btn:hover {
	text-decoration: underline;
	background-color: #ddd;
}

#page-content .btn.btn-primary,
.page-content .btn.btn-primary,
.btn.btn-primary {
	background-color: #e2007a;
	color: #fff;
}

#page-content .btn.btn-primary:hover,
.page-content .btn.btn-primary:hover,
.btn.btn-primary:hover {
	background-color: #ad005d;
}

#page-content .btn.btn-large,
.page-content .btn.btn-large,
.btn.btn-large {
	padding: 15px 30px;
	font-size: 17px;
}
*/
#page-content #show-pdf,
.page-content #show-pdf {
	display: inline-block;
}

#page-content #show-pdf-mobile,
.page-content #show-pdf-mobile {
	display: none;
}

@media only screen and (max-width: 530px) {

	#page-content .gallery,
	.page-content .gallery {
		column-count: 2;
	}
	
	.colonnes ul {
		column-count :2;
	}

	.page-content .mag-actu{
		display:none;
	}

	.page-content .presse-photos{
		margin-right: 0;
		margin-bottom: 5px;
		float:none;
		height: 150px;
		width: 100%;
	}

	#background-img{
		height: 50vw;
	}

}

@media only screen and (max-width: 470px) {

	#page-content > img,
	#page-content > img.fr,
	#page-content > img.fl,
	.page-content > img,
	.page-content > img.fr,
	.page-content > img.fl,
	img.img-left,
	img.img-right {
		float: none;
		display: block;
		margin: 10px auto;
	}

	#page-content h1,
	.page-content h1,
	.form-type h1 {
		font-size: 25px;
	}

	img.img-left,
	img.img-right {
		    width: auto;
			max-height: 40vh;
	}
	
	.colonnes ul {
		column-count :1;
	}

	#page-content .btn,
	.page-content .btn	{
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	#page-content #show-pdf,
	.page-content #show-pdf	{
		display: none;
	}

	#page-content #show-pdf-mobile,
	.page-content #show-pdf-mobile {
		display: inline-block;
	}

}




/* Fil d'ariane */
#fil-ariane {
	list-style: none;
	padding: 0 calc(50vw - 560px);
	margin: 0;
	font-size: 0;
	background: linear-gradient(to right, #f8f8f8 calc(50vw - 500px), #fff calc(50vw - 500px));
	overflow-x: auto;
	white-space: nowrap;
	max-height: 40px;
	overflow-y: hidden;
}

#fil-ariane > li {
	display: inline-block;
	padding: 10px 25px 10px 40px;
	background-color: #f8f8f8;
	font-size: 13px;
	position: relative;
	line-height: 20px;
	color: #888;
}

#fil-ariane > li:last-child {
	background-color: #fff;
	font-weight: 700;
}

#fil-ariane > li:not(:last-child):after {
	content: "";
	display: block;
	background-color: inherit;
	width: 27px;
	height: 27px;
	position: absolute;
	top: 6px;
	right: -15px;
	z-index: 3;
	transform: rotate(45deg);
	border-right: 2px solid #eee;
	border-top: 2px solid #eee;
}

#fil-ariane a {
	color: #999;
}

#fil-ariane a:hover {
	color: #555;
}




#go-top {
	transition: all 0.3s;
	position: fixed;
	bottom: 65px;
	right: 10px;
	width: 50px;
	height: 50px;
	background-color: rgba(0,0,0,.3);
	border-radius: 50%;
	font-size: 30px;
	color: #fff;
	text-align: center;
	z-index: 999;
	cursor: pointer;
	line-height: 30px;
	padding: 10px 0;
	display: none;
}

#go-top:hover {
	background-color: rgba(0,0,0,.6);
	padding: 8px 0 13px;
}

#go-top:active {
	background-color: #e2007a;
}

.two-columns {
	font-size: 0;
	max-width: 700px;
	margin: 20px auto;
}

.two-columns:after {
	content: '';
	display: block;
	clear: both;
}

.two-columns > :first-child {
	float: right;
	width: 50%;
}

.two-columns > :last-child {
	float: left;
	width: 50%;
	position: relative;
}

.two-columns > p:first-child {
	padding: 10px;
}

@media only screen and (max-width: 700px) {

	.two-columns > :first-child,
	.two-columns > :last-child {
		float: none;
		display: block;
		margin: 10px 0;
		width: 100%;
	}

	.two-columns iframe {
		width: 100%;
	}

}


/* FANCYBOX */

.fancybox-content{
	padding: 24px !important;
}
.fancybox-content ul{
	line-height:26px;
}
.fancybox-content h1, .fancybox-content h2, .fancybox-content h3{
	clear:both;
}

.fancybox-thumbs > ul > li {
	border: 2px solid transparent;
}

.fancybox-thumbs > ul > li:hover {
	border: 2px solid #e2007a !important;
}

.fancybox-thumbs > ul > li:before {
	border: 4px solid rgba(226, 0, 122, .5) !important;
}

.fancybox-caption-wrap {
	padding: 0 !important;
	background: linear-gradient(305deg, transparent 0%, rgba(0,0,0,.75) 80%) !important;
	min-height: 120px;
}

.fancybox-caption {
	opacity: 1 !important;
	border: 0 !important;
	padding: 10px !important;
	text-align: left;
	min-height:50px!important;
	background:rgba(0,0,0,0.5)!important;
}

@keyframes p-apparition {
	0% { opacity: 0; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}

.fancybox-caption p {
	animation: p-apparition 1.5s;
	font-family: Lato !important;
	font-size: 16px;
	color: #fff;
	font-weight: 400;
	margin: 0;
	line-height: 29px;
	margin: auto;
	max-width:calc(100vw - 250px);
}

.fancybox-caption__body .addthis_inline_share_toolbox {
	animation: p-apparition 2s;
	position: absolute;
	bottom: 5px;
}

.fancybox-caption__body .price_button {
	animation: p-apparition 2s;
	position: absolute;
	bottom: 5px;
	right:10px;
	background-color: #e2007a;
	color: #fff;
	text-align: center;
	font-size: 16px;
	border-radius: 50px;
	line-height: 20px;
	padding: 5px 25px;
	font-weight: 700;
	text-decoration: none;
	transition: all .2s ease-in-out;
}

.fancybox-caption__body .price_button:hover {
	transform: translateY(-4px);
    color: #fff;
    text-decoration: none;
}


@media only screen and (max-width: 860px) {
	.fancybox-caption p {
		bottom: 50px;
		left: 0;
		position: absolute;
		right: 0;
		width: 100%;
		max-width:100%;
	}
}


/* FORMULAIRES */
#the-formulaire{
    max-width: 720px;
	width: 100%;
}

.form-hide p{
	background : #fbfbfb;
	padding: 10px;
	margin: 0;
}

.form-type{
	background-color: #fbfbfb;
	font-size: 0;
}
.form-type form {
	font-family: Lato;
}

.form-type form p {
	display: inline-block;
	width: 50%;
	padding: 10px;
	margin: 0;
}

.form-type form p label:not(.no-uc) {
	text-transform: uppercase;
	display: block;
	font-weight: 400;
	font-size: 13px;
    color: #444;
	font-family: Questrial;
	line-height: 15px;
}

.form-type form input[type="text"]::placeholder,
.form-type form textarea::placeholder {
	font-weight: 400;
	font-size: 17px;
	color: #888;
	font-family: Questrial;
}

.form-type form input[type="text"],
.form-type form select,
.form-type form textarea {
	background-color: #fff;
	-webkit-appearance:none;
	border: 1px solid #ddd;
	padding: 12px 15px;
	color: #000;
	width: 100%;
	font-family: Lato;
	font-size: 15px;
	box-shadow: inset 1px 1px 3px rgba(0, 0, 0, .02);
}

.form-type form .complete {
	position: absolute;
	top: 35px;
	left: 10px;
	border: 1px solid transparent;
	cursor: text;
	font-size: 15px;
	padding: 12px 15px;
	width: calc(100% - 20px);
	color: rgba(0, 0, 0, .5);
	line-height: normal;
}

.form-type form input[type=text]:focus,
.form-type form select:focus,
.form-type form textarea:focus {
	border: 2px solid #e2007a;
	background-color: #fff;
	color: #444;
	padding: 11px 14px;
	box-shadow: inset 2px 2px 5px rgba(0, 0, 0, .05);
}

.form-type form .form-group {
	position: relative;
	padding-top: 20px;
}

.form-type form div.form-group {
	position: relative;
	display: inline-block;
	width: 50%;
	padding-top: 0;
}

.form-type form .form-group:focus-within label {
	color: #e2007a;
}

.form-type form .suggestion-bar {
	position: absolute;
	top: 65px;
	background-color: #444;
	color: #fff;
	font-size: 14px;
	margin: 10px;
	width: calc(100% - 20px);
	z-index: 99;
	list-style: none;
	padding: 2px 0;
	border-top: 2px solid #e2007a;
	max-height: 295px;
	overflow-y: scroll;
}

.form-type form .suggestion-bar::-webkit-scrollbar {
	width: 9px;
	height: 0;
}

.form-type form .suggestion-bar::-webkit-scrollbar-track {
	background-color: #888;
	border: 4px solid #444;
	border-top-width: 2px;
	border-bottom-width: 2px;
}

.form-type form .suggestion-bar::-webkit-scrollbar-thumb {
	background-color: #e2007a;
	border-radius: 0;
	outline: 0;
	border: 2px solid #444;
	border-top-width: 2px;
	border-bottom-width: 2px;
}

.form-type form .suggestion-bar::-webkit-scrollbar-thumb:active {
	background-color: #ad005d;
	border: 0;
}

.form-type form .suggestion-bar li {
	padding: 5px;
	cursor: pointer;
}

.form-type form .suggestion-bar li.active,
.form-type form #suggestions-pays li:hover {
	background-color: #e2007a;
}

.form-type form #liste-avantages {
	font-size: 15px;
	list-style: none;
	padding: 10px;
}

.form-type form #liste-avantages li {
	padding: 5px;
}

/* on cache la case à cocher */
.form-type form [type="checkbox"]:not(:checked),
.form-type form [type="checkbox"]:checked,
.form-type form [type="radio"]:not(:checked),
.form-type form [type="radio"]:checked  {
	position: absolute;
	z-index: -9999;
}

/* on prépare le label */
.form-type form [type="checkbox"]:not(:checked) + label,
.form-type form [type="checkbox"]:checked + label,
.form-type form [type="radio"]:not(:checked) + label,
.form-type form [type="radio"]:checked + label {
	position: relative;
	padding: 3px 0 3px 28px;
	cursor: pointer;
	vertical-align: middle;
	line-height: 20px;
	display: inline-block;
}

.form-type form .blocks [type="radio"] + label{
	margin-right:15px;
}

/* aspect des checkboxes (avec le :before) */
.form-type form [type="checkbox"]:not(:checked) + label:before,
.form-type form [type="checkbox"]:checked + label:before,
.form-type form [type="radio"]:not(:checked) + label:before,
.form-type form [type="radio"]:checked + label:before {
	content: '';
	position: absolute;
	left: 0;
	top: 2px;
	width: 20px;
	height: 20px;
	border: 1px solid #ddd;
	background-color: #fff;
	border-radius: 0;
	box-shadow: inset 1px 1px 3px rgba(0, 0, 0, .02);
}

.form-type form [type="radio"]:not(:checked) + label:before,
.form-type form [type="radio"]:checked + label:before {
	border-radius:50%;
}

/* Checkbox générale */
.form-type form [type="checkbox"]:not(:checked) + label:after,
.form-type form [type="checkbox"]:checked + label:after,
.form-type form [type="radio"]:not(:checked) + label:after,
.form-type form [type="radio"]:checked + label:after {
	content: '';
	position: absolute;
	top: 6px;
	left: 4px;
	font-size: 0;
	width: 14px;
	height: 14px;
	background: url(../img/check-icon-alt.svg);
	transition: all .2s;
}
/* Checkbox si "pas cochée" */
.form-type form [type="checkbox"]:not(:checked) + label:after,
.form-type form [type="radio"]:not(:checked) + label:after {
	opacity: 0;
	transform: scale(0);
}
/* Checkbox si "cochée" */
.form-type form [type="checkbox"]:checked + label:after,
.form-type form [type="radio"]:checked + label:after {
	opacity: 1;
	transform: scale(1);
}

.form-type form [type="checkbox"]:not([readonly]):checked + label:before,
.form-type form [type="radio"]:not([readonly]):checked + label:before {
	border: 2px solid #e2007a;
	width: 18px;
	height: 18px;
	box-shadow: inset 2px 2px 5px rgba(0, 0, 0, .05);
}

#mon-conseiller {
	background-color: #eee;
	padding: 15px;
}

.form-type #mon-conseiller {
	background-color: transparent;
	padding: 15px;
}

.form-type #mon-conseiller > img,
#mon-conseiller > img {
	float: left;
	height: 100px;
	margin-right: 15px;
	background-color: #fff;
	border-radius: 50%;
}

.form-type #mon-conseiller > h3,
#mon-conseiller > h3 {
	font-size: 20px;
	font-weight: 700;
	font-family: Lato;
	border-bottom: 2px solid #fff;
	padding-bottom: 10px;
	margin: 0 0 5px 10px;
	clear: none;
}

.form-type #mon-conseiller > p,
#mon-conseiller > p {
	margin: 0;
	display: block;
	width: auto;
	padding: 0;
}

@media only screen and (max-width: 640px) {

	.form-type form p,
	.form-type form div.form-group {
		display: block;
		width: 100%;
	}

	#contact-form {
		padding: 0;
	}
}

@media only screen and (max-width: 500px) {

	.form-type #mon-conseiller,
	#mon-conseiller {
		background-color: #eee;
		padding: 5px;
	}

	.form-type #mon-conseiller > img,
	#mon-conseiller > img {
		height: 65px;
		margin-bottom: 10px;
	}

	.form-type #mon-conseiller > p,
	#mon-conseiller > p {
		font-size: 14px;
	}

}

.form-type #planning-rdv {
	width: calc(100% - 20px);
	margin: 10px 10px 0;
}

.form-type #planning-rdv tr {
	height: 40px;
	border-bottom: 1px solid #ddd;
}

.form-type #planning-rdv tbody tr:first-child th:first-child {
	color: #e2007a;
}

.form-type #planning-rdv tbody tr:last-child {
	border: 0;
}

.form-type #planning-rdv tr th,
#planning-rdv tr td {
	border-right: 1px solid #ddd;
}

.form-type #planning-rdv td {
	padding: 5px;
	cursor: pointer;
}

.form-type #planning-rdv td.active {
	color: #e2007a;
	background: rgba(226, 0, 122, .03);
}

.form-type #planning-rdv td:hover {
	background: rgba(226, 0, 122, .1);
}

.form-type #planning-rdv td.indispo,
#planning-rdv td.indispo:hover {
	background: repeating-linear-gradient(-45deg, #eee 0, #eee 3px, #f8f8f8 3px, #f8f8f8 6px);
	cursor: default;
}

.form-type #planning-rdv th:first-child {
	min-width: 100px;
}

.form-type #planning-rdv th:not(:first-child),
#planning-rdv td:not(:first-child) {
	min-width: 30px;
	text-align: center;
}

.form-type form #details-rdv.opened {
	background-color: #fff;
	padding-bottom: 10px;
	outline: 1px solid #ddd;
	padding: 5px;
}

.form-type form #details-rdv > div {
	margin: 10px auto 0;
}

.form-type #details-rdv #rdvblock{
    padding: 0 0px 0 30px;
	width:100%;
	color:#adadad;
}

.form-type #takerdv{
	width: 100%;
    display: block;
    padding: 10px;
	font-size: 15px;
}

.form-type form #takerdv label{
	width:100%;
}

/* Radios cliquable par étiquettes label */
input[type=radio].choice{
	display:none;
}
input[type=radio].choice+label{
	padding: 5px 10px;
	margin-right:10px;
	border: 1px solid #ddd;
	border-radius: 10px;
	float: left;
	color: black;
	background: #f7f7f7;
	font-family: Lato;
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
}
input[type=radio].choice:checked+label{
	border: 1px solid #e2007a;
	background-color: #e2007a;
	color: #fff;
}
input[type=radio].choice+label:last-child{
	margin-right:unset;
}
input[type=radio].choice:not(:checked)+label:hover {
background: #f1f0f0;
}

.form-slider{
	background:#fbfbfb;
}

/* Popup Tarifs */

#tarifPopup{
	border:3px solid #4dd0e1;
	max-width:650px;
	background: #333;
	color:white;
	font-family: Questrial;
}
#tarifPopup .tittle{
    font-size: 1.3em;
    font-weight: bold;
    margin-bottom: 10px;
}
#tarifPopup .content{
	margin:20px 0 20px 0;
}
#tarifPopup a{
	float:right;
}

#cookie_box{
	bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
	padding: 20px;
    background: #353232;
    position: fixed;
    z-index: 1000;
	text-align:center;
    color: white;
}
#cookie_box a{    
	margin-left: 15px;
	color: white;
    letter-spacing: 1px;
	font-weight: 900;
    font-family: Questrial;
	text-decoration:underline;
    transition: color 0.3s;
}
#cookie_box a:hover{
	color: #bbb;
}

.bulle{
	margin-bottom:35px!important;
}
.bulle em{
    box-shadow: 2px 2px 4px #ccc;
	background: #f9f9f9;
    border-radius: 20px 20px 20px 10px;
    padding: 10px;
    display: block;
    margin-bottom: 15px;
    position: relative;
}
.bulle em:after {
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    background: #f9f9f9;
    bottom: -6px;
    left: 7px;
    transform: rotate(45deg);
	box-shadow: 2px 2px 4px #ccc;
}
.bulle img{
	border-radius: 50%;
    width: 30px;
    vertical-align: middle;
    margin-right: 5px;
}
.bulle.femme strong{
	color:#f135d1;
}
.bulle.homme strong{
	color:#3592f1;
}

