/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Reset CSS                                        │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Common                                           │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

:focus {outline:none;}

::selection { background-color: #083870; color: #fff;}
::-moz-selection { background-color: #083870; color: #fff;}

html { -webkit-text-size-adjust: none; /* Prevent font scaling in landscape */ }

*, *:before, *:after {
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    -webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

body * { font-family: 'Roboto', sans-serif;}

.container { margin: 0 auto; position: relative; overflow: hidden;}

input,
textarea,
input:focus,
textarea:focus,
button,
article {
	border-radius: 0; 
	outline: none;
	-webkit-appearance: none;
       -moz-appearance: none;
        -ms-appearance: none;
            appearance: none;
}

/* font-sizing for content (http://soqr.fr/vertical-rhythm/) */
p,
ul,
ol,
dl,
blockquote,
pre,
label,
textarea,
caption,
details, 
figure, 
hgroup {
    font-size: 1em;
    line-height: 1.5;
    margin: 1.5em 0 0;
}

p {color: #566577;}

h1, h2, h3, h4, h5, h6 {font-family: 'Viga', sans-serif; font-weight: bold; line-height: 1.4; letter-spacing: 1px; text-transform: uppercase;}
h1.first, h1:first-child,
h2.first, h2:first-child,
h3.first, h3:first-child,
h4.first, h4:first-child,
h5.first, h5:first-child,
h6.first, h6:first-child,
p:first-child,
ul:first-child,
ol:first-child,
dl:first-child,
blockquote:first-child,
pre:first-child {margin-top: 0;}


h1 {
	color: #fff;
    font-size: 1.85em;
    font-weight: 600;
	display: block;
	margin: 7% auto 3.5%;
    max-width: 750px;
}

h2 {
    color: #083870;
    font-size: 1.6em;
    font-weight: 600;
    margin: 1em 0 30px;
}

h3 {
    color: #083870;
    font-size: 1.35em;
    font-weight: 600;
    margin: 2em 0 .75em;
}

h4 {
    color: #083870;
    font-size: 1.25em;
    font-weight: normal;
    margin: 1.05em 0 0 0;
}

h5 {
    font-size: 1.1857em;
    font-weight: normal;
    margin: 1.1667em 0 0 0;
}

h6 {
    font-size: 1.0429em;
    font-weight: normal;
    margin: 1.3125em 0 0 0;
}

/* avoid margins on nested elements */
li p,
li ul,
li ol { margin-top: 0; margin-bottom: 0;}

/* HTML5 tags */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, main {
    display: block;
}

/* pictures */
img, picture {
	width: auto;
	height: auto;
	vertical-align: middle;
	display: block;
	max-width: 100%;
}
a img { border: 0; }
a, strong {font-weight: 600;}

a {color: #578aa5; text-decoration: none;}
a:hover {color: #6eafd2;}

.return {display: block;}
.max_width {max-width: 1600px; margin: 0 auto;}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Btn Common                                       │ */
/* └──────────────────────────────────────────────────┘ */

.btn {
	color: #fff;
	display: inline-block;
	padding: 10px 0;
	position: relative;
	z-index: 1;
	font-size: 1.125em;
	font-weight: 600;
}
.btn:hover { color: #fff; padding: 10px 15px;}

.btn:before {
    box-shadow: inset 0 0 0 2px #fff;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 0;
	opacity: 0;
	z-index: -1;
    -webkit-transform: scale(1.5);
        -ms-transform: scale(1.5);
            transform: scale(1.5);
    border-radius: 5px;
}

.btn:hover:before {
    height: 100%;
    opacity: 1;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Btn Avis                                         │ */
/* └──────────────────────────────────────────────────┘ */

.btn_avis {
	margin: auto;
	text-decoration: none;
	display: inline-block;
	vertical-align: middle;
	font-weight: 700;
	font-size: .75em;
	color: #fff;
	padding: 15px 15px;
	border-radius: 3px;
	box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .1);
	background: #4688F2;
	-webkit-transition: all .2s ease;
			transition: all .2s ease;
}

.btn_avis:hover {
	color: #fff;
	box-shadow: 0 5px 10px 0 rgba(0,0,0, .3);
	-webkit-transform: translateY(2px);
		-ms-transform: translateY(2px);
			transform: translateY(2px);
}

.btn_avis svg {
	display: inline-block;
	width: 20px;
	height: 20px;
	fill: #fff;
	vertical-align: middle;
	margin: 0 15px 0 0;
}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Social                                           │ */
/* └──────────────────────────────────────────────────┘ */

.social { display: flex; flex-wrap: wrap;}

.social li,
.social li a {display: block;}

.social li {margin: 0 5px 0 0; padding: 0; line-height: inherit;}

.social li a {
	vertical-align: middle;
	font-size: .875em;
	font-weight: 600;
	padding: 10px 15px;
	border-radius: 3px;
	color: #fff;
	overflow: hidden;
	position: relative;
	line-height: 0;
	-ms-backface-visibility: hidden;
		backface-visibility: hidden;
}

.social .fb {background: #4267b2;}
.social .tw {background: #1da1f2;}
.social .lk {background: #007bb5;}
.social .in {background: #7232bd;}

.social li a:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(255, 255, 255, .15);
	opacity: 0;
}

.social li a:hover {color: #fff;}
.social li a:hover:before { opacity: 1;}

.social svg {
	display: inline-block;
	width: 16px;
	height: 16px;
	vertical-align: middle;
	margin: 0 7px 0 0;
	fill: #fff;
}

.social.mini li {margin: 0 2px;}
.social.mini span { display: block; position: absolute; text-indent: -9999px;}
.social.mini svg {margin: 0;}
.social.mini {margin: 20px 0 0;}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Call_to_btn                                      │ */
/* └──────────────────────────────────────────────────┘ */

.call_to_btn {
	text-align: center;
	display: block;
	width: 100%;
	padding: 60px 30px;
	font-size: 1.5em;
	position: relative;
	z-index: 1;
	color: #fff;
}

.call_to_btn:before,
.call_to_btn:after {
	background: #0d5cb7;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	z-index: -1;
	height: 100%;
	width: 51%;
	-webkit-transform: scaleX(0);
		-ms-transform: scaleX(0);
			transform: scaleX(0);
	-webkit-transform-origin: left center;
		-ms-transform-origin: left center;
			transform-origin: left center;
}

.call_to_btn:before {left: 0;}
.call_to_btn:after {
	right: 0;
	-webkit-transform-origin: right center;
		-ms-transform-origin: right center;
			transform-origin: right center;
}

.call_to_btn:hover { color: #fff;}
.call_to_btn:hover:before,
.call_to_btn:hover:after {
	-webkit-transform: scaleX(1);
		-ms-transform: scaleX(1);
			transform: scaleX(1);
}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Animations                                       │ */
/* └──────────────────────────────────────────────────┘ */

@-webkit-keyframes incoming {
  from, to { -webkit-transform: translate3d(0, 0, 0);}
  10%, 30%, 50%, 70%, 90% { -webkit-transform: translate3d(-10px, 0, 0);}
  20%, 40%, 60%, 80% { -webkit-transform: translate3d(10px, 0, 0);}
}

@keyframes incoming {
  from, to {transform: translate3d(0, 0, 0);}
  10%, 30%, 50%, 70%, 90% {transform: translate3d(-10px, 0, 0);}
  20%, 40%, 60%, 80% {transform: translate3d(10px, 0, 0);}
}

@-webkit-keyframes anim_form_error {
	to { -webkit-transform: rotate(0) scale(1); opacity: 1;}
}
@keyframes anim_form_error {
	to { transform: rotate(0) scale(1); opacity: 1;}
}

@-webkit-keyframes heart {
  0% { stroke-dashoffset: 50; opacity: 1;}
  50% { stroke-dashoffset: 0;}
  65% { -webkit-transform: scale(.75); opacity: 1;}
  75% { stroke-dashoffset: 0;}
  100% { stroke-dashoffset: 0; -webkit-transform: scale(2); opacity: 0;}
}

@keyframes heart {
  0% { stroke-dashoffset: 50; opacity: 1;}
  50% { stroke-dashoffset: 0;}
  65% { transform: scale(.75); opacity: 1;}
  75% { stroke-dashoffset: 0;}
  100% { stroke-dashoffset: 0; transform: scale(2); opacity: 0;}
}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Transitions                                      │ */
/* └──────────────────────────────────────────────────┘ */

a,
nav.main > ul > li > a:before,
.subnav,
.subnav li a:before,
.carousel .column a:after,
.carousel .column a img,
a.call_to_btn:before,
a.call_to_btn:after,
footer h2 a:before,
.btn:before {
	-webkit-transition: all .4s cubic-bezier(0.075, 0.82, 0.165, 1);
			transition: all .4s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.carousel ul {
    -webkit-transition: -webkit-transform 1s ease;
			transition: transform 1s ease;
}

a.navMobile span,
a.navMobile span:before,
a.navMobile span:after,
button,
form label,
form label:after,
form input,
form textarea,
.carousel li:before,
.carousel li:after,
.carousel li a:after {
	-webkit-transition: all .2s ease;
			transition: all .2s ease;
}

.navCarousel li a {
    -webkit-transition: all 1s ease;
			transition: all 1s ease;
}

.galerie a {
    -webkit-transition: box-shadow .4s cubic-bezier(0.075, 0.82, 0.165, 1),
                        opacity .4s ease;
			transition: box-shadow .4s cubic-bezier(0.075, 0.82, 0.165, 1),
                        opacity .4s ease;
}

.CorgiJS nav {
	-webkit-transition: opacity .2s ease;
			transition: opacity .2s ease;
}

/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Header                                           │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

header {
	background-color: #083870;
	padding: 0 7.5% 7%;
	background-position: center top;
	background-size: cover;
	background-image: url(../img/header_index_bg.jpg);
	z-index: 1000;
	position: relative;
}

header:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	/*	mix-blend-mode: multiply;*/
	background: rgb(36,49,62);
	background: -moz-linear-gradient(top, rgba(8,56,112,.65) 0%, rgba(8,56,112,.85) 100%);
	background: -webkit-linear-gradient(top, rgba(8,56,112,.65) 0%, rgba(8,56,112,.85) 100%);
	background: linear-gradient(to bottom, rgba(8,56,112,.65) 0%, rgba(8,56,112,.85) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0d7685', endColorstr='#083a46',GradientType=0 );

}


header:after {
	content: '';
	display: block;
	width: 100%;
	height: 80px;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
	/*	mix-blend-mode: multiply;*/
	background: rgb(36,49,62);
	background: -moz-linear-gradient(top, rgba(8, 56, 112, 0) 0%, rgba(8, 56, 112, 1) 100%);
	background: -webkit-linear-gradient(top, rgba(8, 56, 112, 0) 0%, rgba(8, 56, 112, 1) 100%);
	background: linear-gradient(to bottom, rgba(8, 56, 112, 0) 0%, rgba(8, 56, 112, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0d7685', endColorstr='#083a46',GradientType=0 );

}

.promos header,
.contact header,
.traitement_form header,
.details header,
.page header {background-image: url(../img/header_page_bg01.jpg);}


header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	position: relative;
	padding: 5% 0 10%;
}

.logo a {
	display: block;
	width: 200px;
	height: 96px;
	background: url(../img/site/logo_fh_construct.png);
	background-size: 100%;
	text-indent: -9999px;
}

header div.main {
	text-align: center;
	max-width: 750px;
	margin: 0 auto;
}

header p.resume {
	margin: 0 auto;
	font-size: 1.125em;
	font-weight: 400;
	line-height: 1.4;
	opacity: .9;
	color: #fff;
}

.index header p.resume:after {
	background-color: #fff;
	content: '';
	display: block;
	width: 33%;
	height: 1px;
	opacity: .5;
	margin: 60px auto;
}

header .call_to_action {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
}

header .call_to_action li {
	width: 50%;
	padding: 0 30px;
	position: relative;
	text-align: left;
	padding: 0 0 0 30px;
}

header .call_to_action li.tel {
	text-align: right;
	padding: 0 30px 0 0;
}

header .call_to_action li strong {
	color: #1B9CFC;
	display: block;
	font-size: 1.5em;
    font-weight: 700;
    text-transform: uppercase;
}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Navigation - main                                │ */
/* └──────────────────────────────────────────────────┘ */

/* ─ Btn menu mobile ────────────────────────────────── */
a.navMobile {
	display: none;
	text-indent: -9999px;
	height: 48px;
	width: 48px;
	position: relative;
	box-shadow: inset 0 0 0 3px #fff;
    border-radius: 5px;
}
a.navMobile span,
a.navMobile span:before,
a.navMobile span:after {
	display: block;
	position: absolute;
	background: #fff;
}

a.navMobile span {
	width: 50%;
	height: 2px;
	text-indent: -9999px;
	top: 50%;
	left: 25%;
	margin: -1px 0 0;
}

a.navMobile span:before,
a.navMobile span:after {
	content: '';
	width: 100%;
	height: 100%;
	left: 0;
}

a.navMobile span:before {bottom: 6px;}
a.navMobile span:after {top: 6px;}

nav.active a.navMobile {border-radius: 3px 3px 0 0;}
nav.active a.navMobile span {
	-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
			transform: rotate(45deg);
}

nav.active a.navMobile span:after {
	-webkit-transform: translateY(-6px);
		-ms-transform: translateY(-6px);
			transform: translateY(-6px);
}

nav.active a.navMobile span:before {
	-webkit-transform: translateY(6px) rotate(90deg);
		-ms-transform: translateY(6px) rotate(90deg);
			transform: translateY(6px) rotate(90deg);
}

/* ─ Navigation ─────────────────────────────────────── */
nav.main {flex: 1; margin: 0 0 0 40px;}
nav.main > ul { text-align: right; margin: 0;}
nav.main > ul > li {display: inline; position: relative;}
nav.main > ul > li > a {
	color: #fff;
	display: inline-block;
	padding: 10px 9px;
	font-size: .875em;
    letter-spacing: 1px;
	font-weight: 700;
    text-transform: uppercase;
	position: relative;
	z-index: 10;
}

nav.main > ul > li > a:before {
	content: '';
	display: block;
	width: 100%;
	height: 0;
	position: absolute;
	left: 0;
	bottom: 0;
	opacity: 0;
	z-index: -1;
    box-shadow: inset 0 0 0 0 #fff;
    -webkit-transform: scale(1.3);
        -ms-transform: scale(1.3);
            transform: scale(1.3);
    border-radius: 5px;
}

nav.main > ul > li.hasSub:hover > a:before,
nav.main > ul > li > a:hover:before,
nav.main > ul > li.active > a:before {
    opacity: .9;
    height: 100%;
    box-shadow: inset 0 0 0 3px #fff;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
}

nav.main > ul > li.hasSub > a { padding-right: 15px;}
nav.main > ul > li.hasSub > a:after {
	content: '';
	display: inline-block;	
	margin: 0 0 0 10px;
	width: 8px;
	height: 8px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: translateY(-4px) rotate(45deg);
		-ms-transform: translateY(-4px) rotate(45deg);
			transform: translateY(-4px) rotate(45deg);
			
}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Navigation - Subnav                              │ */
/* └──────────────────────────────────────────────────┘ */

.subnav {
	display: block;
	position: absolute;
	right: 5px;
	visibility: hidden;
	opacity: 0;
    padding: 5px 0 0;
    z-index: 100;
    background: rgba(36, 49, 62, .98);
	-webkit-transform-origin: center top;
		-ms-transform-origin: center top;
			transform-origin: center top;

	-webkit-transform: scaleY(1.2);
		-ms-transform: scaleY(1.2);
			transform: scaleY(1.2);
}
.subnav li a { 
	color: #fff;
	padding: 12px 25px;
	display: block;
	text-align: left;
    text-transform: uppercase;
    font-weight: 700;
    font-size: .875em;
	white-space: nowrap;
	position: relative;
}
.subnav li a:before {
	background-color: #F4D4AD;
	content: '';
	display: block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.subnav li a:hover,
.subnav li.active a { color: #F4D4AD; padding: 12px 15px 12px 35px;}

.subnav li a:hover:before,
.subnav li.active a:before { width: 16px;}

nav.main > ul > li.hasSub:hover .subnav {
	visibility: visible;
	opacity: 1;
	-webkit-transform: scaleY(1);
		-ms-transform: scaleY(1);
			transform: scaleY(1);
}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Navigation - Lang                                │ */
/* └──────────────────────────────────────────────────┘ */

nav.lang {
	background-color: #24313E;
	position: absolute;
	top: 0; 
	right: 0;
	border-top: none;
	border-radius: 0 0 3px 3px;
}

nav.lang > ul > li {display: inline-block;}

nav.lang > ul > li.active span,
nav.lang > ul > li > a {
	display: inline-block;
	color: #fff;
	opacity: .5;
	font-size: .85em;
	padding: 12px;
	border-radius: 0;
	font-weight: 700;
}
nav.lang > ul > li > a:after {display: none;}

nav.lang > ul > li > a:hover,
nav.lang > ul > li.active span {opacity: 1;}


/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Content Common                                   │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

.flex { display: flex; flex-wrap: wrap;}

article.box {position: relative; width: 50%; background: #fff;}
article.box:nth-child(4n+1),
article.box:nth-child(4n+4){background: #ECEFF1;}
article.box:not(.membre) img {width: 100%;}


main .inner {padding: 10%;}

.slider img { max-width: inherit; width: 100%;}

.call_to_wrap h2 {
    background: #F4D4AD;
	padding: 60px 15%;
	text-align: center;
	line-height: 1.2;
    margin: 0;
}

.mainList {margin-left: 15px;}
.mainList li {
	color: #24313E;
	font-size: 1em;
	font-weight: 600;
	padding: 5px 0 5px 20px;
	line-height: 1.4;
	position: relative;
}
.mainlist li a {color: #18212A;}

ul.mainList li:before {
	background-color: #578aa5;
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	position: absolute;
	top: 10px;
	left: 0;
}

ol.mainList { counter-reset: numberList; list-style: none;}
ol.mainList li:before {
	color: #578aa5;
	content: counter(numberList)'.';
	counter-increment: numberList;
	font-size: .9em;
	position: absolute;
	left: 0px;
	top: 6px;
}

.prix {
    font-size: 1.5em;
    font-weight: 700;
    color: #578aa5;
    display: inline-block;
    vertical-align: middle;
}

del {
    font-weight: 700;
    font-weight: .875em;
    letter-spacing: 1px;
    color: #bdc3c7;
    display: inline-block;
    margin: 1px 0 0 10px;
    vertical-align: middle;
} 

/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Index                                            │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

.index .call_to_btn {background: #083870;}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Carousel                                         │ */
/* └──────────────────────────────────────────────────┘ */
main > .services {box-shadow: 0px 30px 60px rgba(8, 56, 112, 0.1);}
.carousel {width: 100%; overflow: hidden; background: #bdc3c7;}

.carousel li { overflow: hidden; position: relative;}

/*.carousel li:first-child {margin-left: 15px;}*/

.carousel li:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

.carousel li:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-size: cover;
    background-position: right center;
}
.carousel li:hover:after { 
    opacity: .5;
	-webkit-transform: scale(1.2);
		-ms-transform: scale(1.2);
			transform: scale(1.2);
}

.carousel li.car_01 { background-color: #abb0b4;}
.carousel li.car_01:after { background-image: url(../img/index/service_01_bg.jpg);}
.carousel li.car_01:before { 
	background: radial-gradient(ellipse at 175% 175%, rgba(27, 156, 252, 0.33) 0%,rgba(27, 156, 252 ,1) 100%);
}

.carousel li.car_03 { background-color: #1B9CFC;}
.carousel li.car_03:after { background-image: url(../img/index/service_02_bg.jpg);}
.carousel li.car_03:before { 
	background: radial-gradient(ellipse at 175% 175%, rgba(27, 156, 252, 0.33) 0%,rgba(27, 156, 252 ,1) 100%);
}

/*
.carousel li.car_01 { background-color: #abb0b4;}
.carousel li.car_01:after { background-image: url(../img/index/service_01_bg.jpg);}
.carousel li.car_01:before { 
	background: radial-gradient(ellipse at 175% 175%, rgba(205, 215, 226 ,0.33) 0%,rgba(205, 215, 226 ,1) 100%);
}

.carousel li.car_02 { background-color: #abb0b4;}
.carousel li.car_02:after { background-image: url(../img/index/service_02_bg.jpg);}
.carousel li.car_02:before { 
	background: radial-gradient(ellipse at 175% 175%, rgba(205, 215, 226 ,0.33) 0%,rgba(205, 215, 226 ,1) 100%);
}
*/

.carousel li.car_02 { background-color: #05264b;}
.carousel li.car_02:after { background-image: url(../img/index/service_03_bg.jpg);}
.carousel li.car_02:before { 
	background: radial-gradient(ellipse at 175% 175%, rgba(5, 38, 75, 0.33) 0%,rgba(5, 38, 75, 1) 100%);
}

.carousel li.car_04 { background-color: #083870;}
.carousel li.car_04:after { background-image: url(../img/index/service_04_bg.jpg);}
.carousel li.car_04:before { 
	background: radial-gradient(ellipse at 175% 175%, rgba(5, 38, 75, 0.33) 0%,rgba(5, 38, 75, 1) 100%);
}

.carousel li.car_05 { background-color: #18212A;}
.carousel li.car_05:after { background-image: url(../img/index/service_05_bg.jpg);}
.carousel li.car_05:before { 
	background: radial-gradient(ellipse at 175% 175%, rgba(24, 33, 42,0) 0%,rgba(24, 33, 42,1) 100%);
}

.carousel li.car_06 { background-color: #ECEFF1;}
.carousel li.car_06:after { background-image: url(../img/index/service_06_bg.jpg);}
.carousel li.car_06:before { 
	background: radial-gradient(ellipse at 175% 175%, rgba(236, 239, 241,0) 0%,rgba(236, 239, 241,1) 100%);
}

.carousel a {
	display: block;
	width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    text-indent: -9999px;
}

.carousel .inner { position: relative; z-index: 1; width: 75%; padding-left: 10%; }

/*
.carousel .inner:before { content: ''; position: absolute; top: 0; left: 10%; width: 5px; background: #fff; height: 100%; ;
}
*/

.carousel li h2,
.carousel li p {color: #fff; text-shadow: 1px 1px 20px rgba(24, 33, 42, 0.45);}
.carousel li p {margin: 1.5em 0 0;}

.carousel li.light h2,
.carousel li.light p {color: #24313E;}

.carousel li a:after {
    content: '';
    display: block;
    width: auto;
    height: auto;
    position: absolute;
    left: 30px;
    top: 30px;
    bottom: 30px;
    right: 30px;
    border: 1px solid rgba(255,255,255,.5);
    opacity: 0;
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2);
}

.carousel li a:hover:after {
    opacity: 1;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
}

.navCarousel {
    padding: 30px 0;
	text-align: center;
    border-bottom: 1px solid #ECEFF1;
	
}
.navCarousel li {display: inline-block;}
.navCarousel li a {
	display: block;
	width: 20px;
	height: 20px;
	padding: 0;
	border-radius: 50%;
	border: none;
	text-indent: -9999px;
	margin: 0 5px;
	background: none;
	cursor: pointer;
    background: #CDD7E2;
}

.navCarousel li.active a {box-shadow: inset 0 0 0 20px #1B9CFC;}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Google Review                                    │ */
/* └──────────────────────────────────────────────────┘ */

.avis {background: #ECEFF1; text-align: center; padding: 10% 7.5%;}
.avis .head {margin-bottom: 10%;}
.avis .head p { max-width: 500px; margin: 0 auto;}

.review_wrap {
	margin: 0 auto;
	text-align: center;
	padding: 0 5%;
}
#google-reviews {
	border-radius: 4px;
	margin: 0 0 35px;
}

#google-reviews .slider_wrap {
	-webkit-transition: height .3s ease;
			transition: height .3s ease;
}

.review_inner {
	width: 90%;
	margin: 0 auto;
	max-width: 800px;
	position: relative;
}

#google-reviews .slide {
	background: #fff;
	box-shadow: 0 10px 60px 0 rgba(0,0,0,.025);
	padding: 78px 5% 5%;
}

#google-reviews .photo {
	display: block;
	width: 96px;
	margin: 0 auto 20px;
	position: absolute;
	left: 50%;
	top: 0;
	-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
			transform: translate(-50%, -50%);
}

.review_inner a.little {
	font-size: .75em;
	font-weight: 700;
	color: #393939;
}
.review_inner a.little:hover {text-decoration: underline;}

.review-author {
	font-size: 1.313em;
	font-weight: 600;
	color: #24313E;
}
.review-date {
	display: block;
	margin: 15px auto;
	font-size: .75em;
	font-weight: 700;
	color: #578aa5;
}
.review-text { margin: 0 auto; font-size: 1em; font-weight: 600;}

.review-stars {margin: 0 0 10px;}
.review-stars li { display: inline-block;}
.review-stars .star:after {
	content: "\2605";
	font-size: 1.313em;
	color: #F4D4AD;
}

.review-stars .star.inactive:after {color: #eee;}

.review_inner > p {margin: 0;}

#google-reviews nav {
	position: absolute;
	top: 50%;
	justify-content: space-between;
	-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
			transform: translateY(-50%);
}
#google-reviews a.pager { margin: 0;}


#google-reviews a.prev {
	-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
			transform: translateX(-50%);
}

#google-reviews a.next {
	-webkit-transform: translateX(50%);
		-ms-transform: translateX(50%);
			transform: translateX(50%);
}

.avis .btn_avis {margin: 40px 0 0;}

img.loader {display: inline-block;}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Partners section                                 │ */
/* └──────────────────────────────────────────────────┘ */

.index .partners {text-align: center; padding: 10% 7.5%;}
.index .partners p {max-width: 750px; margin: 0 auto 20px;}
.index .partners ul {
	margin: 40px 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.index .partners ul li {
	width: 15%;
	max-width: 180px;
    max-height: 180px;
	margin: 15px;
    position: relative;
}
.index .partners ul li img {
    width: auto;
    height: auto;
    max-height: 100%;
    max-width: 100%;
	margin: auto;
}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Index - About                                    │ */
/* └──────────────────────────────────────────────────┘ */

.index .about {
	position: relative;
	width: 85%;
	margin: 0 auto;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
	padding: 5% 0;
}

.index .inc {
	position: relative;
	width: 85%;
	margin: 0 auto;
	padding: 5% 0;
}

.index .about .inner { padding: 0 5% 0 0; width: 50%;}
.index .about .inner p {max-width: 768px;}

.index .about img {
	display: block;
	width: 50%;
	height: auto;
	box-shadow: 15px 15px 30px 0 rgba(0, 0, 0, .1);
    border-radius: 15px;
}

.index .about .social {margin: 40px 0 0;}

/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Page - Services                                  │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

.slider {position: relative;}

.CorgiJS {overflow: visible;}
.CorgiJS:not(.reviews_slider) .slider_wrap {
	overflow: hidden;
	-webkit-transition: none;
			transition: none;
}

.CorgiJS nav {
	position: absolute;
	width: 100%;
	padding: 0;
	-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
			transform: translateY(-50%);
}

.services article.box .CorgiJS nav {opacity: 0;}
.services article.box:hover .CorgiJS nav {opacity: 1;}

.CorgiJS a.pager { margin: 0 5px; background: #578aa5;}
.CorgiJS a.pager:not(.disabled):hover {box-shadow: none; background: #24313E;}
.CorgiJS a.pager:not(.disabled):hover:after {border-color: #fff;}
.CorgiJS a.pager.disabled {opacity: 0; visibility: hidden; pointer-events: none;}


/* ┌──────────────────────────────────────────────────┐ */
/* │ Galerie photo                                    │ */
/* └──────────────────────────────────────────────────┘ */

.galerie {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	background: #18212A;
}

.galerie a {
	color: #fff;
	width: 25%;
	display: block;
	font-weight: 600;
	font-size: 1.125em;
	position: relative;
	text-indent: -9999px;
	image-rendering: -webkit-optimize-contrast;
}

.galerie:hover a {opacity: .5;}

@media only screen and (min-width : 1200px) {
    .galerie a {width: 25%;}
}

.galerie a:hover {
    opacity: 1;
    box-shadow: inset 0 0 0 15px #fff;
}

.galerie a span {display: none;}

.nomGalerie a {
    background: url(../img/services-details/thumbs.jpg);
	background-size: 500%;
} 

.reaMaison a {
	background-image: url(../img/realisations/thumbs.jpg);
	background-size: 500%;
}

.galerie a.thumb01 {background-position: left top;}
.galerie a.thumb02 {background-position: -100% top;}
.galerie a.thumb03 {background-position: -200% top;}
.galerie a.thumb04 {background-position: -300% top;}
.galerie a.thumb05 {background-position: -400% top;}
.galerie a.thumb06 {background-position: left -100%;}
.galerie a.thumb07 {background-position: -100% -100%;}
.galerie a.thumb08 {background-position: -200% -100%;}
.galerie a.thumb09 {background-position: -300% -100%;}
.galerie a.thumb10 {background-position: -400% -100%;}

.galerie a.thumb11 {background-position: left -200%;}
.galerie a.thumb12 {background-position: -100% -200%;}
.galerie a.thumb13 {background-position: -200% -200%;}
.galerie a.thumb14 {background-position: -300% -200%;}
.galerie a.thumb15 {background-position: -400% -200%;}
.galerie a.thumb16 {background-position: left -300%;}
.galerie a.thumb17 {background-position: -100% -300%;}
.galerie a.thumb18 {background-position: -200% -300%;}
.galerie a.thumb19 {background-position: -300% -300%;}
.galerie a.thumb20 {background-position: -400% -300%;}

.galerie a:before { content: ''; display: block; padding-top: 100%;}

/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Page - About                                     │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */


.membre {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	padding: 2.5%;
}
.membre img {width: 25%;}

.membre .inner {
    width: 75%;
	max-width: 600px;
    padding: 5%;
}

.nom {margin: 0 0 5px;}
.profession {
    margin: 0 0 30px;
    font-size: 1.125em;
    color: #578aa5;
}

.membre .contact { margin: 30px 0 0;}
.membre .contact p {margin: 0;}
.membre a {
    display: inline-block;
    padding: 5px;
    text-transform: uppercase;
    font-size: .75em;
    font-weight: 700;
    letter-spacing: 1px;
}

/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Page - Details                                   │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

article .content {
	margin: 0 auto;
	max-width: 768px;
	width: 85%;
	padding: 5% 0;
}

.details img {
    margin: 30px 0 0;
    max-width: 100%;
	box-shadow: 15px 15px 30px 0 rgba(0, 0, 0, .1);
}

/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Page - Realisations                              │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

.realisations article .content {padding: 0;}

.realisations article {
    max-width: 1600px;
    margin: 0 auto;
    padding: 5% 0;
}
.realisations article p {max-width: 960px;}


/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Page - Blog                                      │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

span.date {
    font-size: .875em;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #578aa5;
}
.pagination {
    width: 100%;
    padding: 2% 0;
    border-top: 1px solid #eee;
    text-align: center;
}
.pagination a {
    display: inline-block;
    position: relative;
    width: 2.5%;
    min-width: 48px;
    color: #24313E;
    font-weight: 700;
    font-size: .875em;
    text-align: center;
}
.pagination a.active,
.pagination a:hover {box-shadow: inset 0 0 0 5px #F4D4AD;}

.pagination a:before {
    content: '';
    display: block;
    padding-top: 100%;
}

.pagination a span {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Page - Tarifs                                    │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

.tarifs article.box,
.tarifs article.box:nth-child(4n+1),
.tarifs article.box:nth-child(4n+4) { width: 25%; background: #fff;}
.tarifs article.box:nth-child(even) {background: #ECEFF1;}

/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Page - Contact                                   │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

.page.contact .left_col { padding: 60px 5%; width: 60%; background: #fff;}

.page.contact .right_col {
	width: 40%;
    padding: 60px 0;
    text-align: center;
    background-color: #083870;
    align-items: center;
    justify-content: center;
}
.page.contact .right_col .wrap {width: 100%;}
.page.contact .right_col address {display: block;}
.page.contact .social {justify-content: center;}

.page.contact .adress .btn,
.page.contact .postal{color: #fff;}
.page.contact .horaires {
    color: #083870;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px; text-align: center;
    width: 90%;
    margin: 60px auto;
        
}
.page.contact .horaires tr {
    display: inline-block;
    padding: 15px;
    background: rgba(255,255,255,1);
    margin: 1%;
    max-width: 350px;
    width: 48%;
    vertical-align: middle;
    border-radius: 5px;
}

.page.contact .horaires th {
    display: block;
    padding: 0 0 10px;
    color: #042143;
}
.page.contact .horaires td {
    display: block;
    padding: 5px;
}

form {width: 90%; margin: 0 auto;}
form .wrap_input {position: relative; margin: 0 0 15px;}
form .wrap_submit {text-align: center;}

form .field {
	color: #666;
	background-color: #E5EBF1;
	display: block;
	width: 100%;
	padding: 20px;
	font-size: 1.125em;
	line-height: 1.4;
    border: 2px solid #E5EBF1;
}

form textarea.field {margin: 0; height: 300px;}

form .wrap_input.false .field { border-color: #EB5E60;}

form .wrap_input label {
	color: #083870;
	font-size: 1em;
	font-weight: 600;
	padding: 0 0 5px;
	display: block;
	margin: 0;
}

form .wrap_input.active label,
form .wrap_input label:after { color: #083870; padding-left: 15px;}

form .wrap_input.false label,
form .wrap_input.false label:after { color: #EB5E60;}

form .wrap_input label:after { display: inline-block; visibility: hidden; opacity: 0; position: relative;}
form .wrap_input.false label:after { visibility: visible; opacity: 1; padding-left: 5px;}

form .wrap_input.name label:after {content: 'sont requis';}
form .wrap_input.email label:after {content: 'est incorrecte';}
form .wrap_input.tel label:after,
form .wrap_input.objet label:after,
form .wrap_input.area label:after {content: 'est requis';}

form .validation { display: flex; margin: 0 auto 20px; max-width: 400px;}
form .validation input {
	display: inline-block;
	min-width: 25px;
	height: 25px;
	background-color: #f9f9f9;
	border: 1px solid #d3d3d3;
	position: relative;
	cursor: pointer;
}
form .validation input:before {
	content: '';
	display: block;
	width: 19px;
	height: 19px;
	left: 2px;
	top: 2px;
	position: absolute;
	background: #083870;
	opacity: 0;
	-webkit-transition: all .2s ease;
			transition: all .2s ease;
	-webkit-transform: scale(.75);
		-ms-transform: scale(.75);
			transform: scale(.75);
}
form .validation input:checked:before {
	opacity: 1;
	-webkit-transform: scale(1);
		-ms-transform: scale(1);
			transform: scale(1);
}

form .validation label {
	display: block;
	width: 100%;
	text-align: left;
	margin: 0 0 0 10px;
	font-size: .875em;
	line-height: 1.4;
	color: #7f8c8d;
}

.submit {
	color: #083870;
	display: inline-block;
	width: auto;
	border: none;
	font-size: 1em;
    letter-spacing: 1px;
    font-weight: 700;
    text-transform: uppercase;
	cursor: pointer;
    padding: 20px 30px;
    box-shadow: inset 0 0 0 2px #ECEFF1;
    margin: 15px 0 0 0;
    background: #fafafa;
}

.submit.load {pointer-events: none; background: #eee; color: #7f8c8d;}
.submit:hover { background: #fff; box-shadow: inset 0 0 0 5px #083870;}

.delete_infos {
	margin: 40px auto 0;
	text-align: center;
	width: 100%;
	max-width: 400px;
}
.delete_infos p {font-size: .75em;}

noscript p {
	font-weight: 600;
	font-size: .875em !important;
	color: #D54F58 !important;
}

/* ┌──────────────────────────────────────────────────┐ */
/* │ G-Recaptcha                                      │ */
/* └──────────────────────────────────────────────────┘ */

.g-recaptcha { display: inline-block;}
.g-recaptcha.false iframe {
    -webkit-animation: incoming 1s linear forwards;
            animation: incoming 1s linear forwards;
}


/* ┌──────────────────────────────────────────────────┐ */
/* │ AJAX Message (if AJAX Form)                      │ */
/* └──────────────────────────────────────────────────┘ */
/*


@-webkit-keyframes message_show {
	from {opacity: 0; -webkit-transform: translate(-50%, -50%) scale(.75);}
	to {opacity: 1; -webkit-transform: translate(-50%, -50%) scale(1);}
}
@keyframes message_show {
	from {opacity: 0; transform: translate(-50%, -50%) scale(.75);}
	to {opacity: 1; transform: translate(-50%, -50%) scale(1);}
}

#form-messages .inner {
	position: fixed;
	max-width: 500px;
	width: 90%;
	padding: 40px;
	background: #fff;
	left: 50%;
	top: 50%;
	z-index: 100;
	text-align: center;
	box-shadow: 0 15px 60px 0 rgba(0,0,0,.1);
	-webkit-transform-origin: center center;
		-ms-transform-origin: center center;
			transform-origin: center center;
	-webkit-animation: message_show .5s ease forwards;
			animation: message_show .5s ease forwards;
}

#form-messages .inner p.title {
	font-size: 1.5em;
	font-weight: 600;
	margin: 0 0 20px;
	color: #18212A;
}

#form-messages .inner button {
	position: absolute;
	right: 20px;
	top: 20px;
	display: block;
	width: 20px;
	height: 20px;
	background: none;
	border: none;
	text-indent: -9999px;
	cursor: pointer;
}

#form-messages .inner button:before,
#form-messages .inner button:after {
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: #7f8c8d;
	position: absolute;
	top: 50%;
	left: 0;
}
#form-messages .inner button:before {
	-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
			transform: rotate(45deg);
}
#form-messages .inner button:after {
	-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
			transform: rotate(-45deg);
}
*/

/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Footer                                           │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

footer {background-color: #083870;}

#map { height: 50vh; width: 100%; min-height: 250px; position: relative;}
#map iframe {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

footer > .inner {
	padding: 90px 5%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

footer .right_col { text-align: right;}
footer .social.mini {text-align: left; justify-content: flex-end; margin-bottom: 40px;}

address {font-size: 1.125em; font-weight: 600;}
address p {color: #fff;}
address strong {color: #1B9CFC;}

.postal {margin: 1.5em 0;}

footer h2 {color: #fff; line-height: 1.4;}
footer h2 a { color: #1B9CFC; position: relative; z-index: 1; font-family: 'Viga', sans-serif;}
footer h2 a:hover {padding: 0 10px; color: #6eafd2;}

.credits {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	background-color: #042143;
	width: 100%;
	margin: 0 auto;
	padding: 60px 5%;
    position: relative;
}

.credits p {
	color: #fff;
	margin: 0;
	font-size: .85em;
	font-weight: 600;
} 
.credits p svg {
	display: inline-block;
	width: 18px;
	height: 18px;
	stroke-width: 2;
	stroke: #fff;
	stroke-dasharray: 50;
    stroke-dashoffset: 0;
	fill: none;
	vertical-align: middle;
	margin: -1px 3px 0 3px;	
	-webkit-animation: heart 1.25s 0s ease infinite;
			animation: heart 1.25s 0s ease infinite;
}

_:-ms-lang(x), .credits p svg {animation: none;}

.credits a,
.credits a:hover {color: #fff; font-weight: 700;}

/* ┌──────────────────────────────────────────────────┐ */
/* │ Badge                                            │ */
/* └──────────────────────────────────────────────────┘ */

.badge {
	display: block;
	height: 52px;
	width: 40px;
	position: relative;
}

.badge svg {
	width: 100%;
	height: 100%;
	display: block;
	fill: #fff;
}

/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Success & Error Form                             │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

.err404 main,
.traitement_form main {padding: 60px 5%;}

.traitement_form .message h2:before,
.err404 .message h2:before {
	content: '';
	display: block;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	margin: 0 auto 30px;
	opacity: 0;
	background: url(../img/site/traitement_error.png) center center no-repeat;
	background-size: 30px 30px;
	box-shadow: inset 0 0 0 5px #eb5e60;
	
	-webkit-transform: rotate(30deg) scale(0);
		-ms-transform: rotate(30deg) scale(0);
			transform: rotate(30deg) scale(0);
						
	-webkit-animation: anim_form_error .4s .3s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
			animation: anim_form_error .4s .3s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

.traitement_form .message.send h2:before,
.err404 .message.send h2:before {
	background-image: url(../img/site/traitement_send.png);	
	background-size: 29px 21px;
    box-shadow: inset 0 0 0 5px #87E886;
}

.traitement_form .message,
.err404 .message {text-align: center;}

.traitement_form .message .btn,
.err404 .message .btn {margin-top: 35px; color: #083870;}

.traitement_form .message .btn:before,
.err404 .message .btn:before {box-shadow: inset 0 0 0 2px #083870;}


/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Baguette Box                                     │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

#baguetteBox-overlay .full-image figcaption {padding: 20px; color: #fff; white-space: normal;}

/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ IE & Oldies                                      │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

.oldies {background: #ECEFF1;}
.oldies .container {display: none;}
.oldies_wrap {
	width: 60%;
	max-width: 768px;
	margin: 5% auto;
	text-align: center;
}
.oldies_wrap .logo a {margin: 0 auto;}
.oldies_wrap .title {
	color: #24313E;
    font-size: 1.75em;
    font-weight: 600;
    margin: 1em 0 1.5em;
}

.oldies_wrap .btn {margin: 40px 0 0; color: #24313E;}
.oldies_wrap .btn:before { box-shadow: inset 0 0 0 2px #24313E;}


/* ////////////////////////////////////////////////////////// */
/* // ┌──────────────────────────────────────────────────┐ // */
/* // │ Cookies - TarteAuCitron.js                       │ // */
/* // └──────────────────────────────────────────────────┘ // */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////// */

/* Couleurs */
#tarteaucitronAlertSmall,
#tarteaucitronAlertBig {background: rgba(19, 26, 46,.75) !important;}
#tarteaucitronAlertSmall #tarteaucitronCookiesNumber {background: rgba(255, 255, 255, .1) !important;}

/*---------------------*/
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert b,
#tarteaucitronAlertBig #tarteaucitronCloseAlert, #tarteaucitronAlertBig #tarteaucitronPersonalize {font-size: 12px !important;}
#tarteaucitronAlertSmall {border-radius: 3px 0 0 0;}
#tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronAlertBig #tarteaucitronCloseAlert, #tarteaucitronAlertBig #tarteaucitronPersonalize {
	padding: 4px 10px !important;
	border-radius: 3px;
	margin: 3px 0 3px 5px !important;
}
#tarteaucitronAlertBig #tarteaucitronCloseAlert {padding: 5px 10px 4px !important;}
#tarteaucitronPercentage {box-shadow: none !important;}
#tarteaucitronAlertSmall #tarteaucitronCookiesNumber { font-size: 18px !important;}
#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot { height: 2px !important;}