@font-face{
font-family: 'open_sanssemibold';
src: url('/font/opensans-semibold-webfont.woff2') format('woff2'),
	 url('/font/opensans-semibold-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}
@font-face{
font-family: 'open_sansregular';
src: url('/font/opensans-regular-webfont.woff2') format('woff2'),
	 url('/font/opensans-regular-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}

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


img{max-width:100%;-ms-interpolation-mode:bicubic;}
small{font-size:85%;}
sub, sup{font-size:75%; line-height:0; position:relative; vertical-align:baseline;}
sup{top:-0.5em;}
sup + sup:before{content:",";}
sub{bottom:-0.25em;}
abbr[title]{border-bottom:1px dotted;outline:none;text-decoration:none;cursor:help;}
b, strong{font-weight:bold;}
i, em{font-style:italic;}
del{text-decoration:line-throught;}


html{
overflow-y:scroll;
overflow-x:hidden;
-webkit-overflow-scrolling:touch;
-webkit-tap-highlight-color:rgba(0,0,0,0);
-webkit-text-size-adjust:100%;
-ms-text-size-adjust:100%;
}

::-moz-selection{background:#99ddff; color:#000 !important; text-shadow:none;}
::selection{background:#99ddff; color:#000 !important; text-shadow:none;}

.visually-hidden{
position:absolute !important;
top:.1px;width:1px;height:1px;
overflow:hidden;
white-space:nowrap;
}
.hidden{display:none;}

.align-center{text-align:center;}
.radius{border-radius:5px;}

.clear, .clearfix:before, .clearfix:after{
display:block;
overflow:hidden;
visibility:hidden;
font-size:0;
line-height:0;
width:0;
height:0;
}
.clearfix:before, .clearfix:after{content:'.';}
.clear, .clearfix:after{clear:both;}

.color1{color:#40bfff;}/* bleu - 99ddff based */
.color2{color:#6b65af;}/* violet foncé */
.color3{color:#9797cf;}/* violet moyen (hover) */
.color4{color:#c3c8ee;}/* violet clair */
.color5{color:#d14ab7;}/* rose foncé */
.color6{color:#ff3690;}/* rose clair */
.color7{color:#802047;}/* bordeau */
.color8{color:#444;}/* gris (font) */

.w-25{width:calc(25% - 1.5rem) !important;}
.w-33{width:calc(33.333% - 1.5rem) !important;}
.w-50{width:calc(50% - 1.5rem) !important;}
.w-66{width:calc(66.666% - 1.5rem) !important;}
.w-75{width:calc(75% - 1.5rem) !important;}

.spacer{height:1.5em;}

a{text-decoration:underline;color:#d14ab7;outline:0;}
a:hover{color:#6b65af;}

:lang(fr) > :link[hreflang]:not([hreflang="fr"])::after{
	content:" [" attr(hreflang) "]";
  font-size:.875em;
  vertical-align:super;
  text-transform:text-top;
}

html{height:100%;}

body{
height:100%;
background:#f0eeed;
text-align:left;
color:#444;
font-family:'open_sansregular', Arial, Helvetica, Verdana, sans-serif;
font-size:.875em;
}



nav{
position:relative;
font-family:"open_sanssemibold", Arial, Helvetica, Verdana, sans-serif;
}
nav a.logo{
text-decoration:none;
display:block;
float:left;
margin:1rem 0;
}
nav a.logo img{
display:block;
transition:all .5s;
}
nav a.logo img{
transition:all .5s;
}
nav a.logo:hover img{
filter:saturate(3);
}

nav div.button{position:absolute;top:1.5rem;right:0;}
nav div.menu{clear:both;padding:20px 0 0;}
nav ul{
list-style:none;
display:block;
margin:0;
}
nav li{float:none;}
nav li a:link,
nav li a:visited{
display:block;
width:100%;
padding:20px 3vw;
color:#444;
font-size:1.25em;
background:#c3c8ee;
text-decoration:none;
margin-bottom:5px;
border-radius:5px;
}
nav li a:hover{color:#272727;background:#9797cf;}
nav:after{content:'';clear:both;display:block;}
nav li.current a{color:#fff;background:#6b65af;}
.burger{
display:none;
position:relative;
float:right;
overflow:hidden;
margin:0;
padding:0;
width:40px;
height:40px;
font-size:0;
text-indent:-9999px;
appearance:none;
box-shadow:none;
border-radius:5px;
border:0;
outline:none;
cursor:pointer;
background:#c3c8ee;
transition:background 0.3s, border-radius 0.5s;
}
.burger:hover{background:#6b65af;}
.burger span{
display:block;
position:absolute;
top:18px;
left:10px;
right:10px;
height:3px;
background:#fff;
transition:background 0s 0.3s;
}
.burger span::before,
.burger span::after{
position:absolute;
display:block;
left:0;
width:100%;
height:3px;
background:#fff;
content:"";
}
.burger span::before{top:-8px;}
.burger span::after{bottom:-8px;}
.burger span::before,
.burger span::after{transition-duration:0.3s, 0.3s;transition-delay:0.3s, 0s;}
.burger span::before{transition-property:top, transform;}
.burger span::after{transition-property:bottom, transform;}
.burger.is-active{background:#d14ab7;border-radius:50%;}
.burger.is-active span{background:none;}
.burger.is-active span::before{top:0;transform:rotate(45deg);}
.burger.is-active span::after{bottom:0;transform:rotate(-45deg);}
.burger.is-active span::before,
.burger.is-active span::after{transition-delay:0s, 0.3s;}

footer{
border-top:1px solid #eee;
padding:60px 0 40px;
color:#999;
}
footer .copyright{
border-top:1px solid #fff;
background:url(/img/logo-footer.png) 0 .875rem no-repeat;
padding:1.5rem 0 7vh 60px;
}
footer a{text-decoration:none;color:#999;}
footer a:hover{text-decoration:underline;color:#6b65af;}
footer a.active{color:#d14ab7;}

.modal{line-height:1.5;}
.modal h2{margin:0;}
.modal p{margin:1em 0 0;}
.modal ul{margin:1em 0 0 2em;}

#we-have-cookies{
position:fixed;
bottom:0;
left:0;
width:100%;
padding:5px;
background:rgba(0,0,0,.75);
z-index:3;
}
#we-have-cookies p{color:#fff;font-size:.9em;line-height:1.5;}
#we-have-cookies a{color:#fff;}
#we-have-cookies a:hover{color:#fff;text-decoration:none;}
a#we-have-cookies-close{
float:right;
border:0;
font-size:1.25em;
line-height:1;
cursor:pointer;
border-radius:5px;
text-decoration:none;
display:block;
width:20px;
height:20px;
text-align:center;
background:#888;
color:#fff;
transition:all .5s;
}
a#we-have-cookies-close:hover{
background:#fff;
color:#000;
}


.main{
font-size:100%;
line-height:1.5;
}

.main img{border-radius:5px;}
.main p{margin:1.5rem 0 0;}
.main ul, .main ol{margin:1.5rem 0 0 2em;}

.heading{
background:#6b65af;
color:#f0eeed;
box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, .5);
}

h1, h2, .h2, h3, .h3, h4, .h4{
margin:2.5rem 0 0;
font-family:"open_sanssemibold", Arial, Helvetica, Verdana, sans-serif;
font-weight:bold;
line-height:1.2;
}
h1{
font-size:2em;
color:#f0eeed;
background:#6b65af;
margin:1.5rem 0;
}
h1 span{color:#d14ab7;}
h2,.h2{font-size:1.75em;color:#6b65af;font-weight:normal;}
h3,.h3{font-size:1.5em;color:#d14ab7;}
h4,.h4{font-size:1.25em;color:#9e378a;}

.subtitle{
margin:2.5rem 0 0 !important;
font:1.25em/1.4 "open_sansregular", Arial, Helvetica, Verdana, sans-serif;
color:#6b65af;
}
.subtitle strong{color:#d14ab7;}

.bg-container{margin:3rem 0 0;padding:0 0 3rem;}
.bg-white{background:#fff;}
.bg-grey{background:#f0eeed;}
.bg-light-blue{background:#dbeef7;}
a.bg-light-blue{color:#6b65af;transition:all .5s;}
a.bg-light-blue:hover{color:#d14ab7;}
.bg-light-purple{background:#c3c8ee;}
a.bg-light-purple{color:#444;transition:all .5s;}
a.bg-light-purple:hover{background:#6b65af;color:#fff;}
a.bg-light-purple span{color:#6b65af;transition:all .5s;}
a.bg-light-purple:hover span{color:#fff;}
.bg-dark-pink{background:#d14ab7;color:#fff;}
a.bg-dark-pink{color:#fff;transition:all .5s;}
a.bg-dark-pink:hover{background:#9e378a;}

.icon-hearts:before{
content:"";
display:block;
float:right;
width:41px;
height:36px;
background:url(/img/icon-hearts.png) 0 0 no-repeat;
}
.icon-hearts-blue:before{
background:url(/img/icon-hearts-blue.png) 0 0 no-repeat;
}

/* contact */
.main ul.contacts{margin-left:0;list-style:none;}
.main ul.contacts li{
padding-left:30px;
position:relative;
}
.valign-middle{vertical-align:middle;}

/* homepage */
.full-img{
margin:1.5em 0 0;
max-height:330px;
overflow:hidden;
border-radius: 5px;
}
.full-img img{width:100%;}

/* massages */
.full-list{
/*background:#c00;*/
height:100%;
margin:1.5rem 0 0;
padding:1rem 0 2rem;
}
.full-list-link{
background:#fff;
height:100%;
margin:0;
padding:0 1.5rem;
border-radius:5px;
}
.bg-white .full-list-link{background:#f0eeed;}
.full-list-link.full-list-link-active{background:#c3c8ee;}
.full-list-link h3{margin:0;text-align:center;margin-top:1rem;display:block;}
.full-list-link h3 a{text-decoration:none;color:#444;margin:0;transition:all .25s;}
.full-list-link.full-list-link-active h3 a{color:#000;}
.full-list-link p.img{text-align:center;}
.full-list-link p.img img{transition:all .25s;}
.full-list-link p.desc{margin-top:1rem;transition:all .25s;}
.full-list-link p.tarif{text-align:center;font-weight:bold;}
.full-list-link.full-list-link-active p.desc{color:#000;}
.full-list-link.hover{cursor:pointer;}
.full-list-link.hover h3 a{color:#6b65af;}
.full-list-link.hover.full-list-link-active h3 a{color:#000;}
.full-list-link.hover:not(.full-list-link-active) p.img img{opacity:.75;}
.full-list-link.hover p.desc{color:#000;}


.references{padding-top:1.5rem;font-size:.875em;}
.references ol{margin-top:0;}
.references ol li{margin-top:1.5rem;}

.insert{
margin:3rem 0 0;
padding:1.5rem;
border-radius:5px;overflow:hidden;
}
.insert.insert-mt15{margin-top:1.5rem;}
.insert.insert-full-width{padding:0;}
.insert.insert-full-width a,
.insert.insert-full-width div{
display:block;
padding:1.5rem;
text-decoration:none;
}
.insert.insert-full-width a span,
.insert.insert-full-width div span{
display:block;
font-family:"open_sanssemibold", Arial, Helvetica, Verdana, sans-serif;
font-size:1.5em;
}
.insert p:first-child,
.insert h2:first-child, .insert h3:first-child, .insert h4:first-child,
.insert .h2:first-child, .insert .h3:first-child, .insert .h4:first-child{
font-family:"open_sanssemibold", Arial, Helvetica, Verdana, sans-serif;
margin:0;
}

/* massage détail */
ul#gallery{
list-style:none outside none;
margin:3rem 0 0;
padding:0;
}
ul#gallery li{
display:block;
float:left;
margin-right:6px;
cursor:pointer;
}
ul#gallery img{
display:block;
height:auto;
max-width:100%;
}

.nav-prev-up-next{
margin:3rem 0 0;
font-family:"open_sanssemibold", Arial, Helvetica, Verdana, sans-serif;
}
.nav-prev-up-next a{text-decoration:none;}
.nav-prev-up-next .prev,
.nav-prev-up-next .next{
font-size:3em;
width:60px;
height:60px;
line-height:50px;
overflow:hidden;
text-align:center;
float:left;
}
.nav-prev-up-next .next{float:right;}
.nav-prev-up-next .up{margin:0 1.5em;line-height:60px;text-align:center;}

/* tarifs */
table{
width:100%;
margin:1.5rem 0 0;
border-collapse:collapse;
overflow:hidden;
border-radius:5px;
}
.pricing td:nth-child(2){width:5em;}
.pricing td:last-child{width:4em;}
td{
padding:.5em .75em;
vertical-align:top;
}
tr:nth-child(odd){background:#f5f4f3;}
tr:nth-child(even){background:#fff;}

/* témoignages */
.testimony-container{}
.testimony{
margin:1.5rem 0 0;
padding:.5em .75em;
border-radius:5px;
}
.testimony.odd{background:#fff;}
.testimony.even{background:#f5f4f3;}
.testimony .name{
margin:0;
float:left;
font-weight:bold;
}
.testimony .name:before{
content:"";
display:inline-block;
width:24px;
height:24px;
vertical-align:middle;
margin:0 .5em 0 0;
background:url(/img/icon-user.png) 0 0 no-repeat;
}
.testimony .date{
margin:0;
float:right;
font-size:.875em;
padding:.125em 0 0 1em;
}
.testimony .text{
margin:.5em 0 0 calc(.5em + 24px);
}

/* pagination */
.pagination{margin:1.5rem 0 0;text-align:center;}
.pagination ul{margin:0 auto;list-style:none;}
.pagination li{display:inline-block;text-align:center;margin:.5em .5em 0 0;}
.pagination a, .pagination span{
display:block;
width:40px;
height:40px;
line-height:40px;
text-align:center;
text-decoration:none;
background:#fff;
border-radius:5px;
}
.pagination span{background:#e8e8e8;color:#aaa;}
.pagination .current span{background:#6b65af;color:#fff;}

/* contact */
#widget-map iframe{
width:100%;
height:400px;
margin:3rem 0 0;
border-radius:5px;
z-index:1;
}

.confirmation{
margin:1.5rem 0 0;
padding:.5em 1em;
background:#40bfff;
color:#fff;
border-radius:5px;
}
.errors{
margin:1em 0 0;
padding:.5em 1em;
background:#802047;
color:#fff;
border-radius:5px;
}
.errors ul{
margin:0;
list-style:none;
}

/* forms */
form p, form .g-recaptcha{margin:1em 0 0;}
input, select, textarea, button{
font-family:'open_sansregular', Arial, Helvetica, Verdana, sans-serif;
background:#fff;
color:#444;
font-size:1em;
padding:5px;
width:100%;
vertical-align:middle;
border:1px solid #c3c8ee;
border-radius:5px;
}
textarea{resize:vertical;max-height:30em;min-height:4em;height:12em;}
input::placeholder, select::placeholder, textarea::placeholder{color:#888;}
input:focus::placeholder, select:focus::placeholder, textarea:focus::placeholder{color:#ccc;}
input:focus, select:focus, textarea:focus{
border:1px solid #6b65af;
outline:none;
}
input[type="submit"]{
color:#fff;
font-size:1em;
padding:10px 10px;
cursor:pointer;
width:auto;
border:0;
background:#6b65af;
transition:background .25s;
}
input[type="submit"]:hover{
background:#d14ab7;
}
input[type="submit"].disabled:hover{
color:#777;
background:#aaa;
}

/* banner */
#banner{
text-align:center;
padding:5px 1.5rem;
background:#d14ab7;
color:#fff;
}
#banner a{
color:#fff;
text-decoration:none;
}
#banner-link{
display:block;
}

/* modal */
.blocker{
position:fixed;
top:0;right:0;bottom:0;left:0;
width:100%;height:100%;
overflow:auto;
z-index:50;
padding:20px;
background:rgba(107,101,175,.75);/*6b65af*/
text-align:center;
}
.blocker:before{
content:"";
display:inline-block;
height:100%;
vertical-align:middle;
margin-right:-0.05em;
}
.blocker.behind{background-color:transparent;}
.modal{
display:none;
vertical-align:middle;
position:relative;
z-index:2;
max-width:500px;
width:90%;
background:#fff;
padding:15px 30px 30px;
border-radius:5px;
box-shadow:1px 1px 7px #444;
text-align:left;
}
.modal a.close-modal{
position:absolute;
top:0;
right:0;
display:block;
width:30px;
height:30px;
line-height:30px;
font-size:1.25em;
background:#fff;
text-align:center;
text-decoration:none;
border-top-right-radius:5px;
border-bottom-left-radius:5px;
transition:all .5s;
}
.modal a.close-modal:hover{background:rgba(112,104,172,.5);color:#000;}/**/
.modal-spinner{display:none;}


@media(min-width:576px){
	.burger{width:60px;height:60px;}
	.burger span{top:28px;}
	.burger span::before{top:-12px;}
	.burger span::after{bottom:-12px;}
	.f-left{
	float:left;
	margin-right:1.5em !important;
	}
	.f-right{
	float:right;
	margin-left:1.5em !important;
	}
}

@media(min-width:768px){
	body{font-size:1em;}
	.gallery{grid-template-columns:repeat(auto-fill, minmax(90px, 1fr));}
	.icon{float:none;margin:0 0 .5em;}
}

@media(min-width:992px){
	nav{position:static;}
	nav div.menu{clear:none;padding:0;width:calc(100% - 245px);display:table;}
	nav ul{margin:1.75rem 0 0;float:right;/*background:#c00;*/}
	/*nav li:first-child{display:none;}*/
	nav li{float:left;display:table-row;}
	/*nav li:nth-child(2){max-width:130px;}
	nav li:nth-child(3){max-width:170px;}*/
	nav li a:link,
	nav li a:visited{
	position:relative;
	overflow:hidden;
	text-align:center;
	width:auto;
	height:60px;
	line-height:1;
	margin:0;
	padding:0 20px;
	font-size:1.0625em;
	background:none;
	display:table-cell;
	/*background:linear-gradient(to right, #cccccc 0%, #eeeeee 100%);*/
	vertical-align:middle;
	z-index:2;
	}
	nav li span{
	position:absolute;
	display:block;
	width:0;
	height:0;
	border-radius:50%;
	background:#eeeae9;
	-webkit-transition:width 0.4s ease-in-out, height 0.4s ease-in-out;
	transition:width 0.4s ease-in-out, height 0.4s ease-in-out;
	-webkit-transform:translate(-50%, -50%);
	transform:translate(-50%, -50%);
	z-index:-1;
	}
	nav li a:hover{color:#000;}
	nav li a:hover span{width:225%;height:562.5px;}
	nav li.current a{color:#6b65af;}
	.main{
	font-size:115%;
	}
	.pricing td:nth-child(2),
	.pricing td:last-child{width:7em;}
}

@media(min-width:1200px){
	nav div.menu{display:inline-block;}
	nav li{display:block;}
	nav li:nth-child(2), nav li:nth-child(3){max-width:inherit;}
	nav li a:link, nav li a:visited{padding:0 1.125rem;font-size:1.125em;}
	.pricing td:nth-child(2),
	.pricing td:last-child{width:9em;}
}


