/*
Theme Name: Orthopédagogues
Version: 1.0
Theme URI: http://www.bonbay.fr/
Author: Bonbay
Author URI: http://www.bonbay.fr/
Text Domain:
*/

/*	Copyright: (c) 2013 Alexander "Alx" Agnarson
	License: GNU General Public License v3.0
	License URI: http://www.gnu.org/licenses/gpl-3.0.html*/


/*RESET*/
/*---------------------------------------------*/
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,sub,sup,tt,var,b,u,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,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}
ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}
table{border-collapse:collapse;border-spacing:0}


/*  Base awesome
================================================== */
.fa { width: 1em; text-align: center; }


/*  Base formulaire
================================================== */
input, textarea, button, select, label { font-family: inherit; }
input,
textarea,
button,
select,
label { font-size: 1rem; }
input::-moz-focus-inner,
button::-moz-focus-inner{ border: 0; padding: 0; }
input[type="text"],
input[type="password"],
input[type="email"],
input[type="submit"],
input[type="tel"],
button,
select,
textarea { margin: 0; border-radius: 0; width:100%;}
input,
textarea,
select,
button { -moz-appearance: none; -webkit-appearance: none; -moz-transition: all .2s ease; -webkit-transition: all .2s ease; transition: all .2s ease; }
input[type="checkbox"] { -moz-appearance: checkbox; -webkit-appearance: checkbox; }
input[type="radio"] { -moz-appearance: radio; -webkit-appearance: radio; }
label{ font-weight: 600; color: #444; }

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea {
    background: #fff;
    border: 1px solid #333;
    color: #000;
    display: block;
    max-width: 100%;
    outline: none;
    padding: .5rem 1rem;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus { border-color: #666;  }
label .required { color: #8d001a; }
input[type="submit"],
button[type="submit"] {
    background: #8d001a;
    color: #fff;
    padding: .5rem 1rem;
    font-weight: 600;
    display: inline-block;
    border: none;
    cursor: pointer;
    font-size: 20px;
   /* max-width: 50%;*/
}
input[type="submit"]:hover,
button[type="submit"]:hover { background: #000; }

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing{
    border: 1px solid red;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{ color: red; border: 1px solid red; }
.wpcf7 form .wpcf7-response-output{ margin: 1vw 0; }


/*
 * jQuery FlexSlider v2.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 *
* Browser Resets */
.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus  {outline: none;}
.slides,
.flex-control-nav,
.flex-direction-nav {margin: 0; padding: 0; list-style: none;}

/* FlexSlider Necessary Styles
*********************************/
.flexslider {margin: auto; padding: 0;width:100%;display: block;}
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden; position:relative} /* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {width: 100%; display: block; border: none;}
.flex-pauseplay span {text-transform: capitalize;}

/* Clearfix for the .slides element */
.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
html[xmlns] .slides {display: block;}
* html .slides {height: 1%;}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {display: block;}


/* FlexSlider Default Theme
*********************************/
.flexslider {position: relative;  zoom: 1; padding-bottom: 20px; }
.flex-viewport {max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease;}
.loading .flex-viewport {max-height: 300px;}
.flexslider .slides {zoom: 1;}


/* Direction Nav */
.flex-direction-nav {*height: 0;}
.flex-direction-nav a {
    width: 37px; 
    height: 49px;  
    display: block; 
    background: url('gfx/fleches.png') no-repeat 0 0; 
    position: absolute; 
    top: 50%;
    z-index: 5000; 
    cursor: pointer; 
    text-indent: -9999px;
}
.flex-direction-nav .flex-next{ background-position: 100% 0; right: 0; }
.flex-direction-nav .flex-prev{ left: 0; }
.flexslider:hover .flex-next{ opacity: 0.8; }
.flexslider:hover .flex-prev{ opacity: 0.8; }
.flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover { opacity: 1; }
.flex-direction-nav .flex-disabled{ cursor: default; }

/* Control Nav */
.flex-control-nav{ width: 100%; position: absolute; bottom: -30px; text-align: center; }
.flex-control-nav li{ margin: 0 6px; display: inline-block; zoom: 1; display: inline; }
.flex-control-paging{
    width: 50%; 
    position: absolute; 
    left: 25%;  
    bottom: 0px; 
    text-align: center; 
    height: 20px;
}
.flex-control-paging li{ display: inline-block; margin: 0 .5vw; width: 20px; height: 20px; }
.flex-control-paging li a {
    width: 18px;
    height: 18px;
    display: inline-block;
    background: white;
    cursor: pointer;
    text-indent: -9999px;
    border: 1px solid black;
}
.flex-control-paging li a:hover { border-color:#999;}
.flex-control-paging li a.flex-active {  cursor: default; border-color: transparent; }

.flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
.flex-control-thumbs li {width: 25%;   margin: 0;}
.flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
.flex-control-thumbs img:hover {opacity: 1;}
.flex-control-thumbs .flex-active {opacity: 1; cursor: default;}

@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev {opacity: 1; left: 0;}
  .flex-direction-nav .flex-next {opacity: 1; right: 0;}
}

a.flex-caption{ background: url(img/fleche-txt.png) no-repeat;  padding-left:25px; ; padding-right:15px; font-family: 'PT Sans Narrow', sans-serif; font-size: 18px; color:#000; display:block; width:auto; position:absolute; bottom: 0px; width: 60%; left:22%; text-decoration:none; height: 36px; }
div.flex-caption{ background: url(img/fleche-txt.png) no-repeat;  padding-left:25px; ; padding-right:15px; font-family: 'PT Sans Narrow', sans-serif; font-size: 18px; color:#000; display:block; width:auto; position:absolute; bottom: 0px; width: 60%; left:22%; text-decoration:none; height: 36px; }
.etiquette-slogan{padding-top: 5px;}
a.flex-caption:hover{background: url(../img/fleche-txt.png) no-repeat 5px 12px #e2003b;color:#fff;text-decoration:none;}


@media screen and (max-width: 480px) {
 a.flex-caption{ background: url(../img/fleche-txt.png); font-family: 'PT Sans Narrow', sans-serif; font-size: 18px; color:#000; display:block; width:auto; position:absolute; bottom: 0px; width: 60%; left:22%; text-decoration:none; height: 36px; }
a.flex-caption:hover{background: url(../img/fleche-txt.png) no-repeat 5px 5px #e2003b;color:#fff;text-decoration:none;}
}
.slider{ position: relative; }
.slider ul{ margin:0; padding:0;  }


/** GRID ***/
.row{
    display: flex;
    width: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    flex-flow: row wrap;
}
.row.nowrap{ flex-flow: row nowrap; }
.row.flow-row{ flex-flow: row wrap; }

.middle{ align-items: center; }
.flex-end{ align-items: flex-end; }


@media (max-width: 767px){
      .row{ flex-flow: column wrap; }
      .row.nowrap{ flex-flow: column nowrap; }
}

    .spannomargin-1, .spannomargin-2, .spannomargin-3,
    .spannomargin-4, .spannomargin-5, .spannomargin-6,
    .spannomargin-7, .spannomargin-8, .spannomargin-9,
    .spannomargin-10, .spannomargin-11, .spannomargin-12,
    .spannomargin-13, .spannomargin-14, .spannomargin-15,
    .spannomargin-16, .spannomargin-17, .spannomargin-18,
    .spannomargin-19, .spannomargin-20, .spannomargin-21,
    .spannomargin-22, .spannomargin-23, .spannomargin-24, .mille{ width: 100%; }

/* tablette portrait */
@media (min-width: 768px){
    .spannomargin-1{ width: 25%; }
    .spannomargin-2{ width: 25%; }
    .spannomargin-3{ width: 25%; }
    .spannomargin-4{ width: 25%; }
    .spannomargin-5{ width: 50%; }
    .spannomargin-6{ width: 50%; }
    .spannomargin-7{ width: 50%; }
    .spannomargin-8{ width: 50%; }
    .spannomargin-9{ width: 50%; }
    .spannomargin-10{ width: 50%; }
    .spannomargin-11{ width: 50%; }
    .spannomargin-12{ width: 50%; }
    .spannomargin-13{ width: 50%; }
    .spannomargin-14{ width: 50%; }
    .spannomargin-15{ width: 50%; }
    .spannomargin-16{ width: 50%; }
    .spannomargin-17{ width: 75%; }
    .spannomargin-18{ width: 75%; }
    .spannomargin-19{ width: 75%; }
    .spannomargin-20{ width: 75%; }
    .spannomargin-21{ width: 100%; }
    .spannomargin-22{ width: 100%; }
    .spannomargin-23{ width: 100%; }
    .spannomargin-24{ width: 100%; }
}
/* tablette paysage */
@media (min-width: 1024px){
    .spannomargin-1{ width: 4.16666667%; }
    .spannomargin-2{ width: 8.33333333%; }
    .spannomargin-3{ width: 12.5%; }
    .spannomargin-4{ width: 16.666666666667%; }
    .spannomargin-5{ width: 20%; }
    .spannomargin-6{ width: 25%; }
    .spannomargin-7{ width: 29.16666667%; }
    .spannomargin-8{ width: 33.333%; }
    .spannomargin-9{ width: 37.5%; }
    .spannomargin-10{ width: 41.66%; }
    .spannomargin-11{ width: 45.833333333333%; }
    .spannomargin-12{ width: 50%; }
    .spannomargin-13{ width: 54.166666666667%; }
    .spannomargin-14{ width: 58.3333333%; }
    .spannomargin-15{ width: 62.5%; }
    .spannomargin-16{ width: 66.666%; }
    .spannomargin-17{ width: 70.8266666%; }
    .spannomargin-18{ width: 75%; }
    .spannomargin-19{ width: 79.16%; }
    .spannomargin-20{ width: 83.32%; }
    .spannomargin-21{ width: 87.4866666%; }
    .spannomargin-22{ width: 91.6533333%; }
    .spannomargin-23{ width: 95.82%; }
    .spannomargin-24{ width: 100%; }
    .mille{ max-width: 960px; width: 100%; max-width: 75%; }
}
@media (min-width: 1280px){
    .mille{ max-width: 1080px; max-width: 75%; }
}
@media (min-width: 1480px){
    .mille{ max-width: 1440px; max-width: 75%; }
}

.nomobile{ display: none; }
@media (min-width: 1024px){ .nomobile{ display: block; } }
.onlymobile{ display: block; }
@media (min-width: 1024px){ .onlymobile{ display: none; } }

/*****************************************/

/*FONTS*/
    .thin{ font-weight: 100; }
    .light{ font-weight: 300; }
    .regular{ font-weight: 400; }
    .medium{ font-weight: 500; }
    .semibold{ font-weight: 600; }
    .bold{ font-weight: 700; }
    .ultrabold{ font-weight: 900; }

/**/

.prata{ font-family: 'Prata', serif; }
.barlow{ font-family: 'Barlow', sans-serif; }

img, iframe, video, svg{ max-width: 100%; }
h1, h2, h3, h4, h5, h6{ }
h1{ font-size: 32px; }
h2{ font-size: 28px; }
h3{ font-size: 24px; }
h4{ font-size: 20px; }
.italique, i, em{ font-style: italic; }
.lowercase{ text-transform: lowercase; }
.uppercase{ text-transform: uppercase; }
.black, a.black{ color:#000; }
.white, a.white{ color: #fff; }
.grey, a.grey{ color: #959393; }

strong, b{ font-weight: 700; }
.align-left, .alignleft{ text-align: left; justify-content: flex-start; }
.align-right, .alignright{ text-align: right; justify-content: flex-end; }
.align-center, .aligncenter{ text-align: center; justify-content: center; }

img.alignleft, img.align-left{ float: left; margin: 0 1em 1em 0 }
img.alignright, img.align-right{ float: right; margin: 0 0 1em 1em }
img.aligncenter, img.align-center{ float: none; margin: 0 auto 1em auto }

.justify{ text-align: justify; }

.button{
    display: block;
    width: auto;
    text-decoration: underline;
    font-size: 16px;
    text-align: center;
    transition: ease-in-out all 0.1s;
    cursor: pointer;
    background: white;
    text-decoration: none;
}
.button:hover{
    background: black!important;
    text-decoration: none;
}

a{ color: #000; text-decoration: none; cursor: pointer; transition: ease-in-out all 0.1s; }
a:hover{ color: #959393; text-decoration: underline; transition: ease-in-out all 0.1s; }
p{ margin: 10px 0; }
article ul{ margin: 1em 0; }
article ul li, 
.txtintro ul li{ list-style-type: disc; margin-left: 2em; }

.gallery {
  display: flex;
  width: 100%;
  align-items: flex-start;
  flex-flow: row wrap;
}
.gallery-item{ margin: 0 1rem 1rem 0; }


.left{ float: left; }
.right{ float: right; }
.center{ margin: 0 auto; }

.relative{ position: relative; }
.absolute{ position: absolute; }

.error{ color: red; font-weight: bold; }

/*****/
/* base */

body{
    background: #fff;
    margin:0;
    padding:0;
    color:#000;
    font-family: 'Barlow', sans-serif; 
    font-weight: 400; 
    font-size: 18px; 
}
.conteneur{ max-width: 1920px; margin: 0 auto; }

header,  main, footer, .home_contenu{ width: 100%; }
header, header > div.mille, 
header > div.mille > div, 
header > div.mille > div > div, 
#site-navigation, 
.menu-menu-principal-container, 
header .nav-menu{ height: 130px; position: relative; z-index: 1; }
a#logo{
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 0 0;
    height: 100%;
}
a#logo:hover{ text-decoration: none; }
a#logo img{ margin-right: 1vw; max-width: 40%; }
a#logo h2.prata{
    font-size: 19px;
    font-size: 1vw;
    line-height: 1vw;
    margin-top: 1.25vw;
}
a#logo h2.prata span.barlow{
    text-transform: uppercase;
    font-size: 12px;
    font-size: .625vw;
    color:#828282;
}
#site-navigation, .menu-menu-principal-container{ width: 100%; }
.menu-toggle{ display: none; }
.nav-menu{ display: flex; }
nav{
    margin: 0;
    display: flex;
    width: auto;
}
nav ul{
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
    align-items: center;
    justify-content: space-evenly;
}
nav ul li{
    list-style-type: none;
    display: inline-flex;
    text-align: center;
    background: transparent;
    transition: ease-in-out all 0.1s;
}
nav ul li a{
    font-size: 20px;
    font-size: 1.04vw;
    letter-spacing: .01vw;
    font-family: 'Prata', serif;
    display: block;
    color: black;
    text-decoration: none;
    padding: 1vw .1vw;
    margin: 0;
    width: auto;
    background: transparent;
    border-bottom: 1px solid transparent;
}
nav ul li a:hover, 
nav ul li.current-menu-item a{
    transition: ease-in-out all 0.1s;
    text-decoration: none;
    border-bottom: 1px solid black;
    color: black;
}
/*nav ul li ul{
    position: absolute;
    top: 45px;
    left: 0;
    z-index: 5001;
    padding: 0;
    background: white;
    border: 1px solid #f6772b;
    display: none;
}
nav ul li:hover ul{ display: block;  }
nav ul li ul li{
    display: list-item;
}
nav ul li ul li a{
    color: #f6772b;
    border-bottom: 1px solid white;
    padding: 6px 14px;
    margin: 8px 10px;
}
nav ul li ul li a:hover{
    color: black;
    border-bottom: 1px solid black;
    text-decoration: none;
}*/
.carre-deco1{
    position: absolute;
    width: 47%;
    right: 0;
    top: 0;
    z-index: 0;
}
#home .carre-deco1{
    position: absolute;
    left: 0;
    top: 0;
    width: 44%;
    height: 49vw;
    z-index: 0;
}
header{ position: relative; }
main, .mille{ position: relative; z-index: 1; }
footer{ position: relative; height: 22vw; margin-top: 2vw; }
.in-footer{ height: 20vw; }
.carre-deco-footer{ 
    position: absolute;
    width: 50%;
    height: 22vw;
    left: 0;
    top: 0;
    z-index: 0;
}
.carre-deco-footer h2{
    position: absolute;
    width: 22vw;
    text-align: center;
    left: -4.5vw;
    top: 9vw;
    color: white;
    transform: rotate(-90deg);
    font-family: 'Prata', serif;
    font-size: 55px;
    letter-spacing: .4vw;
    font-size: 2.9vw;
}
.carre-deco-footer::after{
    content: " ";
    display: block;
    background: white;
    width: 3px;
    height: 11vw;
    position: absolute;
    left: 25%;
}
.carre-deco-footer-ligne{
    position: absolute;
    width: 25%;
    height: 220px;
    height: 11vw;
    right: 0;
    top: 8vw;
    z-index: 0;
}
.menu-pied-de-page-container{ width: 100%; }
#menu-pied-de-page{
    flex-flow: column wrap;
    justify-content: center;
    align-items: flex-start;
}
#menu-pied-de-page li a{
    font-family: 'Prata', serif;
    font-size: 16px;
    font-size: .85vw;
    line-height: 2vw;
    letter-spacing: .05vw;
}
#menu-pied-de-page li a:hover{ color: black; }
footer p.mentions{
    font-size: 10px;
    font-family: 'Prata', serif;
    font-style: italic;
    letter-spacing: .02rem;
    margin: 2vw 0 0 0;
}
footer a#logo{ justify-content: center; }
footer  a#logo img { max-width: 25%; }

footer p.adresse{ 
    font-family: 'Prata', serif;
    font-size: 14px;
    font-size: .75vw;
    line-height: 1.25vw;
    letter-spacing: .05vw;
    margin: 2.5vw 0 1vw 0;
}
footer p.telephone{
    margin: 1vw 0 2vw 0;
    font-size: 1vw;
    letter-spacing: .05vw;
    font-family: 'Prata', serif;
} 
footer .sociaux img{ 
    margin: 0 .4vw;   
    max-width: 72%;
}
/*HOME*/
.carre-deco1 h2, .carre-deco1 h1{
    position: absolute;
    width: 49vw;
    text-align: center;
    left: -18.5vw;
    bottom: 18vw;;
    color: white;
    transform: rotate(-90deg);
    font-family: 'Prata', serif;
    font-size: 55px;
    letter-spacing: .4vw;
    font-size: 2.9vw;
}
#home .carre-deco1::after {
    content: " ";
    display: block;
    background: white;
    width: 3px;
    height: 22vw;
    position: absolute;
    left: 28%;
    bottom: 0;
}
.home_contenu{ margin-top: 110px; margin-top: 5.75vw; }
/****/
.lescontenus h1{
    font-family: 'Prata', serif;
    font-weight: 400;
    font-size: 48px;
    font-size: 3vw;
    letter-spacing: .1vw;
    margin-bottom: 3vw;
}
.lescontenus h2{
    font-family: 'Prata', serif;
    font-weight: 400;
    font-size: 48px;
    font-size: 2.5vw;
    letter-spacing: .1vw;
    margin-bottom: 2.5vw;
}
.lescontenus h3{
    font-family: 'Prata', serif;
    font-weight: 400;
    font-size: 48px;
    font-size: 2vw;
    letter-spacing: .1vw;
    margin-bottom: 2vw;
}
.lescontenus h4{
    font-family: 'Prata', serif;
    font-weight: 400;
    font-size: 48px;
    font-size: 1.5vw;
    letter-spacing: .1vw;
    margin-bottom: 1.5vw;
}
.lescontenus p{
    font-size: 22px;
    font-size: 1.15vw;
    line-height: 36px;
    line-height: 1.9vw;
    margin: 1vw 0;
}
.btn{
    font-family: 'Prata', serif;
    display: block;
    width: fit-content;
    text-align: center;
    font-size: 1vw;
    letter-spacing: .2vw;
    height: 84px;
    height: 4.25vw;
    line-height: 5vw;
    border: 1px solid black;
    background: white;
    padding: 0 4.5vw;
    margin: 2vw 0;
    position: relative;
}
.btn.center{ margin:2vw auto; }
.btn span{
    display: block;
    width: 100%;
    height: 100%;
    border-width: 1px;
    border-style: solid;
    position: absolute;
    top: .25vw;
    left: .25vw;
    transition: ease-in-out all .1s;
}
.btn:hover{ text-decoration: none; }
.btn:hover span{ border-color: black!important; transition: ease-in-out all .1s; }
/******/
.mascotte1{ max-width: 180%; margin: 0 0 -20vw 0; }
.petitephrase{
    margin: 12vw 0 0 0;
}
.petitephrase h1{
    font-family: 'Prata', serif;
    text-align: center;
    position: absolute;
    display: flex;
    flex-flow: column wrap;
    align-items: center;
    justify-content: center;
    bottom: 7vw;
    top: 0;
    left: 25%;
    right: 25%;
    font-size: 36px;
    font-size: 1.85vw;
    line-height: 60px;
    line-height: 3vw;
    letter-spacing: .3vw;
}
.temoignages-home{
    height: 32vw;
}
.carre-deco-temoignages{
    position: absolute;
    width: 31.5%;
    height: 14vw;
    left: 0;
    top: 8vw;
    z-index: 0;
}
.temoignages-home h2{
    font-family: 'Prata', serif;
    font-size: 36px;
    font-size: 1.85vw;
    line-height: 60px;
    line-height: 3vw;
    letter-spacing: .15vw;
    margin: 6vw 0 3vw 0;
}
#flexslider p{
    font-size: 18px;
    font-size: .95vw;
    line-height: 24px;
    line-height: 1.25vw;
    letter-spacing: .01vw;
    text-align: justify;
    margin: 2vw 0;
}
.mascotte3{
    position: absolute;
    right: -7vw;
    top: -6vw;
    max-width: 31%;
}
.texteperso{ margin: 9vw 0 0 0; }
.troisblocs{
    height: 950px;
    height: 50vw;
    margin: 1vw 0 0 0;
}
.carre-deco-troisblocs{
    width: 840px;
    width: 44%;
    height: 950px;
    height: 50vw;
    z-index: 0;
    position: absolute;
    right: 0;
    top: 0;
}
.carre-deco-troisblocs h2{
    position: absolute;
    width: 22vw;
    text-align: center;
    right: -4.5vw;
    top: 12vw;
    color: white;
    transform: rotate(-90deg);
    font-family: 'Prata', serif;
    font-size: 55px;
    letter-spacing: .4vw;
    font-size: 2.9vw;
}
.carre-deco-troisblocs::after {
    content: " ";
    display: block;
    background: white;
    width: 3px;
    height: 18vw;
    position: absolute;
    right: 28%;
}
.mascotte2{
    position: absolute;
    top: -6.5vw;
    left: 2vw;
    max-width: 20%;
}
.encart3{ margin-top: 2vw; }
.encart3 h2{
    font-family: 'Prata', serif;
    font-size: 30px;
    font-size: 1.55vw;
    line-height: 60px;
    line-height: 3vw;
    letter-spacing: .2vw;
    margin: 3vw 0;
    position: relative;
    width: 100%;
}
.encart3 h2::before{
    content: " ";
    display: block;
    height: 4vw;
    width: 2px;
    background: black;
    position: absolute;
    left: calc( 50% - 1px );
    top : -5vw;
}
.encart3 .intro p{
    font-size: 18px;
    font-size: .95vw;
    line-height: 24px;
    line-height: 1.25vw;
    letter-spacing: .05vw;
    margin: 0 0 3vw 0;
}
.encart3.mgt{ margin-top: 7vw; }
.encart3.mgt h2{ font-size: 1.3vw; }
.encart3.mgt2{ margin-top: 14vw; }
.encart3.mgt2 h2{ 
    font-family: 'Barlow', sans-serif;
    font-weight: 600;
    font-size: 35px;
    font-size: 1.85vw;
    line-height: 40px;
    line-height: 2.1vw;
    text-transform: uppercase;
    text-align: left;
}
.encart3.mgt2 h2 a{ color: white; transition: ease-in-out all .1s; }
.encart3.mgt2 h2 a:hover{ color: black; text-decoration: none; transition: ease-in-out all .1s; }
/* PAGES */
.carre-deco1{ height: 19vw; }
.carre-deco1::after {
    content: " ";
    display: block;
    background: white;
    width: 3px;
    height: 11vw;
    position: absolute;
    right: 20%;
    bottom: 0;
}
.intropages{ margin-top: 5vw; }
.intropages img{ max-width: 95%; }
.intropages h1{
    font-family: 'Prata', serif;
    font-size: 45px;
    font-size: 2.35vw;
    line-height: 60px;
    line-height: 3.1vw;
    letter-spacing: .2vw;
    margin-bottom: 2.5vw;
}
.intropages .txtintro p{
    font-size: 22px;
    font-size: 1.15vw;
    line-height: 36px;
    line-height: 1.9vw;
    margin: 0 0 .5vw 0;
}
.petitephrase-page{
    margin: 7vw 0 5vw 0;
}
.petitephrase-page h2{
    font-family: 'Prata', serif;
    font-size: 36px;
    font-size: 1.8vw;
    line-height: 60px;
    line-height: 3.1vw;
    letter-spacing: .1vw;
}
.lesblocs{ padding: 6vw 0 0 0; }
.decopages{
    position: absolute;
    width: 25%;
    left: 0;
    top: 0;
    z-index: 0;
    height: 82%;
}
.decopages::before{
    content: " ";
    display: block;
    background: white;
    width: 3px;
    height: 22vw;
    position: absolute;
    left: 34%;
    top: 0;
}
.lebloc{ position: relative; z-index: 1; margin: 0 0 10vw 0; }
.lebloc.last{ margin-bottom: 5vw; }
.mascotte5{
    margin: -10vw 0 0 0;
    max-width: 60%;
}
.svg-col-page{
    position: absolute;
    bottom: 11vw;
    left: -20vw;
    transform: rotate(160deg);
    max-width: 140%;
}
.footerpages{ height: 12vw; }
.footerpages svg{ margin-left: -25vw; }
.footerpages .mascotte6{
    position: absolute;
    right: 24%;
    top: -7vw;
    max-width: 11%;
    z-index: 1;
}
.lebloc h2{
    font-size: 32px;
    font-size: 1.7vw;
    letter-spacing: .1vw;
    margin: 0 0 3vw 0;
    position: relative;
}
.lebloc h2::before{
    content: " ";
    display: block;
    height: 4vw;
    width: 2px;
    background: black;
    position: absolute;
    left: calc( 50% - 1px );
    top: -5vw;
}
.lebloc .txtintro p{
    font-size: 22px;
    font-size: 1.15vw;
    line-height: 36px;
    line-height: 1.9vw;
    letter-spacing: .05vw;
}
.txtintro ul li{
    font-size: 22px;
    font-size: 1.15vw;
    line-height: 36px;
    line-height: 1.9vw;
    letter-spacing: .05vw;
}
.lebloc img{ max-width: 95%; }
.svg-col-page-1{
    position: absolute;
    right: -50%;
    top: 27vw;
    z-index: 0;
    max-width: 150%;
}
.decopages2{
    position: absolute;
    width: 25%;
    right: 0;
    top: 0;
    z-index: 0;
    height:100%;
    overflow: hidden;
}
.wpcf7 label{
    font-family: 'Prata', serif;
    color: black;
    width: 100%;
    display: block;
    margin-bottom: 1rem;
}
.wpcf7 input[type="text"], 
.wpcf7 .wpcf7 input[type="password"], 
input[type="email"], 
.wpcf7 input[type="tel"], 
.wpcf7 input[type="number"], 
.wpcf7 select, 
.wpcf7 textarea{
    width: calc( 90% - 2px );
    padding: .5rem 5%;
}
.contact .carre-deco1{ height: 32vw; }
.contact .mascotte5{ margin: -8vw 2vw 0 0; }
.wpcf7 input[type="submit"]{
    color: black;
    font-family: 'Prata', serif;
    display: block;
    width: fit-content;
    text-align: center;
    font-size: 1vw;
    letter-spacing: .2vw;
    height: 84px;
    height: 4.25vw;
    line-height: 5vw;
    border: 1px solid black;
    background: white;
    padding: 0 4.5vw;
    margin: 2vw 0;
    position: relative;
}
.mentions .lebloc h2::before{ display: none;  }
.txtintro h3{
    font-family: 'Prata', serif;
    font-size: 2vw;
    line-height: 2.5vw;
    margin-bottom: .5vw;
}
.txtintro h4{
    font-family: 'Prata', serif;
    font-size: 1.5vw;
    line-height: 2vw;
    margin-bottom: .5vw;
}
.actualites .carre-deco1{
    left: 0;
    right: auto;
    top: 0;
    width: 44%;
    height: 32vw;
    z-index: 0;
}
.actualites .carre-deco1 h1{ width: 32vw; left: -10.5vw; bottom: 7vw; }
.swiper-horizontal{ width: 100%; }
.swiper-button-next, .swiper-button-prev{
    background: transparent url('gfx/fleches.png') no-repeat 100% 0;
    width: 55px!important;
    height: 55px!important;
    overflow: hidden;
    text-indent: -3000px;
    top: 35%!important;
}
.swiper-button-prev{ background-position: 0 0; left: -55px!important; }
.swiper-button-next{ right: -55px!important; }
.titrecat{ margin: 7vw 0 1vw 0; }
.diapocat{ position: relative; }
.titrecat h2{
    font-family: 'Prata', serif;
    font-size: 2.35vw;
    line-height: 3vw;
    margin: 1vw;
    letter-spacing: .1vw;
}
.swiper-slide h3{ 
    font-family: 'Prata', serif;
    font-size: 1.45vw;
    line-height: 2vw;
    margin: 1vw 0;
    letter-spacing: .1vw;
}
.actualites footer{ margin-top: 9vw; }
.mascotte-actu{
    max-width: 10%;
    position: absolute;
    right: 5vw;
    top: -4vw;
}
.actualites .intropages h2{ 
    font-family: 'Prata', serif;
    font-size: 2.35vw;
    line-height: 3vw;
    margin: 0 0 1vw 0;
    letter-spacing: .15vw;
 }
.les-actualites .spannomargin-12 h2{
    font-family: 'Prata', serif;
    font-size: 1.9vw;
    line-height: 2.5vw;
    margin: 1vw 0;
    letter-spacing: .1vw;
}
.actucol{ margin: 0 0 0 0; padding: 1.2vw 0; border-bottom: 3px solid #a6a6a6; }
.actucol:first-child{ border-top: 3px solid #a6a6a6 }
.actucol h4{
    text-transform: uppercase;
    font-size: 15px;
    font-size: .8vw;
    line-height: 1.2vw;
    margin-bottom: .5vw;
}
.actucol h2{ 
    font-family: 'Prata', serif;
    font-size: 25px;
    font-size: 1.3vw;
    line-height: 1.6vw;
    letter-spacing: .1vw;
}
.actualites h2 a:hover, 
.actualites h3 a:hover{ text-decoration: none; }
.les-actualites.marginb{ margin-bottom: 6vw; }

/* qui suis je */
.intropages.quisuisje svg{ 
    position: absolute;
    left: -30vw;
    top: 0;
    z-index: 0;
}
.intropages.quisuisje h1{ margin: 3.5vw 0; }
.lesblocs.quisuisje-bloc{ padding-top: 3vw; }
.quisuisje-bloc .mascotte7{ max-width: 30%; }
.quisuisje-bloc .decopages{ left: auto; right: 0; top: 9vw; width: 37.5%; }
.quisuisje-bloc .decopages::before{ display: none; }
.quisuisje-bloc .decopages h2{
    position: absolute;
    width: 26vw;
    text-align: center;
    right: -8.5vw;
    top: 13vw;
    color: white;
    transform: rotate(-90deg);
    font-family: 'Prata', serif;
    font-size: 55px;
    letter-spacing: .4vw;
    font-size: 2.9vw;
}
.quisuisje-bloc .txtintro{ margin-left: 5vw; }
.quisuisje-bloc .spannomargin-6 img{ max-width: 55%; margin: 2vw auto 0 auto; }
.quisuisje-bloc h2.titre-galerie{ max-width: 55%; margin: 2vw auto 0 auto; text-align: left; }





/**/
@media (min-width: 2px) and (max-width: 1023px){
    main, .mille{ z-index:auto; }
    header{ z-index: 10000; position: relative; height: 160px; }
    header > div.mille{ height: auto; position:unset; }
    header > div.mille > div{ height: auto; flex-flow: row wrap;  position:unset; }
    header > div.mille > div > div.spannomargin-18{ height: auto; width: 44%;  position:unset; }
    header > div.mille > div > div.spannomargin-6{ height: auto; width: 56%;  position:unset; }
    #site-navigation{ height: auto; flex-flow: column wrap; position: unset; }
    .menu-menu-principal-container{ height: auto; position:unset; }
    header .nav-menu{ 
        height: auto;
        position: absolute;
        left: 0;
        top: 160px;
        z-index: 10002;
        width: 100vw;
        background: white;
        padding: 1rem 0;
     }
     a#logo img{ margin: 1rem auto; }
     a#logo h2.prata{ width: 100%; font-size: 1.1rem; text-align: center; line-height: 1rem; margin-top: .25rem; }
     a#logo h2.prata span.barlow{ font-size: .7rem; text-align: center;}
     a#logo{ flex-flow: column wrap; }
    .menu-toggle{
        width: 100%;
        padding: 0;
        background: transparent;
        color: #000;
        border:0;
        display: block;
        font-size: 5rem;
        line-height: 5rem;
        text-align: center;
    }
   .menu-toggle:active, .menu-toggle:focus, .menu-toggle:hover{
        text-decoration: none;
    }
    .nav-menu{ display: none; padding:0; margin:0; z-index: 10001; width: 100%; }
    .nav-menu.toggled-on{ display: flex; }
    nav ul{ flex-direction: column; }
    nav ul li{
        list-style-type: none;
        display: inline-flex;
        text-align: center;
        background: transparent;
        transition: ease-in-out all 0.1s;
        width: 100%;
        margin: .5rem 0;
    }
    nav ul li a{
        font-size: 1.4rem;
        line-height: 3rem;
        display: block;
        color: #000;
        background: white;
        text-decoration: none;
        width: 80%;
        padding: 0;
        margin: 0 10%;
    }
    nav ul li ul{
        margin:0;
        padding:0;
    }
    nav ul li:hover ul{ }
    nav ul li:after{
        display: none;
    }
    nav ul li ul li{
        display: list-item;
    }
    nav ul li ul li a{
        color: #000;
    }
    nav ul li ul li a:hover{
        color: black;
        text-decoration: none;
    }
    .home_contenu{ margin-top: 0; }
    .introduction .lescontenus{
        width: 90%; 
        margin: 2rem 5%;
    }
    .lescontenus p{ font-size: 1.1rem; line-height: 1.75rem; margin: .5rem 0; }
    .lescontenus h1{ font-size: 2.5rem; line-height: 3rem; margin-bottom: 1.5rem; }
    .lescontenus h2{ font-size: 2rem; line-height: 2.5rem; margin-bottom: 1.5rem; }
    .lescontenus h3{ font-size: 1.5rem; line-height: 2rem; margin-bottom: 1rem; }
    .lescontenus h4{ font-size: 1.25rem; line-height: 1.5rem; margin-bottom: 1rem; }
    .btn{
        font-size: 1rem;
        height: 3.5rem;
        line-height: 4rem;
        padding: 0 4rem;
        margin: 1.5rem 0;
    }
    .btn span{ top: .25rem; left: .25rem; }
    .btn.center{ margin: 2rem auto; }
    .mascotte1{ max-width: 25%; margin: -5rem 0 0 70% }
    .petitephrase{ margin: 2rem auto 4rem auto; min-height: 8rem; }
    .petitephrase h1{
        font-size: 1.5rem;
        line-height: 2rem;
        width: 90%;
        left: 5%;
        right: 5%;
        bottom: 1rem;
    }
    .troisblocs{ height: auto; margin: 1rem 0; padding: 7rem 0 0 0; }
    .mascotte2 {
        top: -3.5rem;
        left: 1rem;
        max-width: 40%;
    }
    .encart3{ width: 90%; }
    .encart3 h2, .encart3.mgt h2{ font-size: 1.5rem; line-height: 3rem; margin: 2rem 0; }
    .encart3 h2::before{ height: 4rem; top: -4rem; }
    .encart3 .intro p{ font-size: 1rem; line-height: 1.5rem; margin: 1rem auto; }
    .encart3.mgt2, .encart3.mgt{ margin-top: 3rem; }
    .encart3.mgt2 h2{ font-size: 1.5rem; line-height: 3rem; margin: 2rem 0; text-align: center; }
    .encart3.mgt2 h2 a{ color: black; }
    .temoignages-home{ height: auto; }
    .temoignages-home h2{ font-size: 2rem; line-height: 3rem; margin: 2rem 0; }
    #flexslider p{ font-size: 1rem; line-height: 1.5rem; }
    .temoignages-home .spannomargin-12{ width: 90%; margin: 0 5%; }
    .mascotte3{ right: 2rem; top: -5rem; max-width: 50%; }
    footer{ height: auto; margin-top: 2rem; }
    footer .row.in-footer{ height: auto; flex-flow: row wrap; }
    footer p.mentions{ position: absolute; bottom: 0; width: 100%; text-align: center; margin: 1rem 0; }
    .in-footer .spannomargin-8.aligncenter{ margin-top: 6rem; }
    footer p.telephone, footer p.adresse{ font-size: 1rem; line-height: 1.5rem; margin: 1rem 0; }
    footer .sociaux{ flex-flow: row wrap; margin-bottom: 3rem; }
    .carre-deco1{
        position: absolute;
        left: 0;
        right: auto;
        top: 0;
        width: 44%;
        height: 39vw;
        z-index: 0;
    }
    .carre-deco1::after{ display: none; }
    .intropages{  width: 90%; padding: 0 5%; margin-top: 3rem; }
    .intropages h1, 
    .actualites .intropages h2{ font-size: 1.5rem; line-height: 2.5rem; text-align: center; }
    .intropages img{ max-width: 100%; }
    .intropages .txtintro p, 
    .txtintro ul li{ font-size: 1rem; margin: 0 0 2rem 0; line-height: 1.5rem; }
    .txtintro ul li{ margin-left: 2rem; }
    .petitephrase-page{ margin: 2rem 5%; width: 90%; }
    .mascotte5{ max-width: 25%; margin: 0 0 0 37.5%; }
    .petitephrase-page h2{ font-size: 1.25rem; line-height: 2rem; text-align: center; }
    .lesblocs{ padding-top: 4rem; }
    .lebloc{ margin: 4rem 5% 2rem 5%; width: 90%; }
    .lebloc img{ max-width: 100%; margin: 2rem 0; }
    .lebloc h2{ font-size: 1.25rem; line-height: 2rem; text-align: center; margin: 4rem 0 2rem 0; }
    .lebloc .txtintro p{ font-size: 1rem; margin: 0 0 1rem 0; line-height: 1.5rem; }
    .lebloc h2::before{ height: 3rem; top: -3.5rem; }
    .lebloc .btn{ margin: 1rem auto; }
    .decopages{ height: 88%; }
    .lebloc.last{ margin-bottom: 4rem; }
    .footerpages .mascotte6 {
        position: absolute;
        right: 19%;
        top: -5rem;
        max-width: 20%;
        z-index: 1;
    }
    .footerpages{ height: 2rem; margin-top: 6rem; }
    .txtintro h3{
        font-family: 'Prata', serif;
        font-size: 1.5rem;
        line-height: 2.5rem;
        margin-bottom: .5rem;
        text-align: center;
    }
    .txtintro h4{
        font-family: 'Prata', serif;
        font-size: 1.25rem;
        line-height: 2rem;
        margin-bottom: .5rem;
        text-align: center;
    }
    .contact .intropages .txtintro p{ text-align: center; }
    .contact .mascotte5{ max-width: 25%; margin: 0 0 0 37.5%; }
    .wpcf7 input[type="submit"]{
        font-size: 1rem;
        height: 3.5rem;
        line-height: 4rem;
        padding: 0 4rem;
        margin: 1.5rem 0;
    }
    .les-actualites{ margin: 1rem 5% 0 5%; width: 90%; }
    .les-actualites .spannomargin-12 h2{ font-size: 1.5rem; margin: 1rem 0; line-height: 2rem; }
    .row.actucol{ flex-flow: row wrap; padding: 1rem 0; }
    .actucol .spannomargin-6{ width: 40%; }
    .actucol .spannomargin-2{ width: 5%; }
    .actucol .spannomargin-16{ width: 55%; }
    .actucol h4{ font-size: .75rem; margin: .5rem 0; line-height: 1.25rem; }
    .actucol h2{ font-size: 1rem; margin: .5rem 0; line-height: 1.5rem; }
    .mascotte-actu{ top: -2rem; max-width: 15%; }
    .titrecat{ margin: 3rem 0 1rem 0; }
    .actus-thematiques{ margin: 1rem 5%; width: 90%; }
    .titrecat h2{ font-size: 1.5rem; margin: 1rem 0; line-height: 2rem; }
    .swiper-slide .spannomargin-22{ width: 90%; }
    .swiper-slide h3{ font-size: .75rem; margin: .5rem 0; line-height: 1rem; }
    .swiper-button-prev, .swiper-button-next{ display:none!important; }
    .actualites .carre-deco1{ height: 39vw; }


}
/**/
@media (min-width: 768px) and (max-width: 1023px){
    .no768{ display: none; }
    .introduction img{ position: relative; z-index: 10003; }
    header > div.mille > div > div.spannomargin-18, 
    .menu-menu-principal-container, 
    header .nav-menu, 
    #site-navigation, 
    header > div.mille > div{ z-index: 10010; }
    header .nav-menu{ width: 25%; }
    nav ul li a { font-size: 1rem; line-height: 2rem; }
    .introduction .lescontenus{ width: 70%; margin-right: 0; }
    .mascotte1{ max-width: 50%; margin: -2rem 0 0 25%; }
    .mascotte2 { top: -4.5rem; left: 2rem; max-width: 30%; }
    .encart3{ margin-top: 0; }
    .encart3.mgt2{ margin-top: 3rem; }
    .encart3.mgt{ margin-top: 6rem; }
    section.troisblocs .spannomargin-8:last-child{ margin-left: 25%; }
    .carre-deco-temoignages{ top: 0; }
    .carre-deco-footer{ width: 30%; }
    .carre-deco-footer::after{ left: 40%; }
    .in-footer .spannomargin-6{ width: 30%; }
    .in-footer .spannomargin-8.aligncenter{ 
        width: 70%; 
        margin-top: 0; 
        display: flex;
        flex-flow: row wrap;
        margin-top: 0;
    }
    footer p.telephone, footer p.adresse{ width: 50%; }
    .carre-deco1{ height: 21vw; }
    .intropages .row{ flex-flow: row wrap; }
    .intropages .row .spannomargin-2{ width: 5%; }
    .intropages .row .spannomargin-10{ width: 45%; }
    .lebloc .spannomargin-10 .spannomargin-16, 
    .lebloc .spannomargin-20{ width: 90%; }
    .lebloc{ margin: 2rem 5% 2rem 5%; }
    .lebloc .spannomargin-2{ width: 5%; }
    .footerpages .mascotte6{ max-width: 12%; right: 23%; }
    .footerpages { height: 5rem; }
    .contact .mascotte5{ max-width: 25%; margin: 0 37.5% 0 0; }
    .contact .footerpages{ margin-top: 1rem; }
    .contact .carre-deco1{ height: 21vw; }
    .actualites .carre-deco1 { height: 21vw; }
    .les-actualites .spannomargin-2{ width: 5%; }
    .les-actualites .spannomargin-12{ width: 45%; }
    .mascotte-actu { max-width: 10%; }
    




}
/**/
@media (min-width: 1024px) and (max-width: 1279px) {
    header, header > div.mille, header > div.mille > div, header > div.mille > div > div, #site-navigation, .menu-menu-principal-container, header .nav-menu{ height: 100px; }
    footer p.mentions{ font-size: 8px; }
    footer .sociaux img{ max-width: 60%; }
    nav ul li a { font-size: 1.2vw; }




}
/**/
@media (min-width: 1280px) and (max-width: 1479px){
    header, header > div.mille, header > div.mille > div, header > div.mille > div > div, #site-navigation, .menu-menu-principal-container, header .nav-menu{ height: 110px; }
    nav ul li a{ font-size: 1.1vw; }


}
/**/
@media (min-width: 1480px) and (max-width: 1599px){

}
/**/
@media (min-width: 1600px) and (max-width: 1799px){

}
/**/
@media (min-width: 1800px){

}
/**/
@media (min-width: 1900px){

}
/**/