/***** 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, 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; vertical-align: baseline; outline: none; list-style-type: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }


/***** Modal *****/
#overlay { position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:0.5; filter:alpha(opacity=50); }
#modal { position:absolute; z-index: 3999; }
#modal-content { padding:20px; background-color: #fff; }
#modal-close { position:absolute; display:block; top: -15px; right: -15px; color: #000; font-size: 3em; }


/***** Global *****/
#message-info { position: fixed; width: 100%; top: -5px; left: 0px; z-index: 100; text-align: center; display: none; }
#message-info span { display: inline-block; padding: 20px; background-color: #fff; font-size: 1.3em; }
#message-info span.info { color: #d4af41; border: solid 5px #d4af41; }
#message-info span.erreur{ color: #ff0000; border: solid 5px #ff0000; }

html { font-size: 100%; }
html, body { height: 100%; }
body { height: 100%; color: #282525; font-family: 'Lato', sans-serif; font-size: 0.8em; font-weight: 400; /* 400+italic - 700*/ } /* font-family: 'Parisienne', cursive; */

a { text-decoration: underline; color: #bc3b5e; }

#loader { display: none; position: fixed; top: 50%; left: 50%; background-color: #fff; height: 120px; width: 120px; border-radius: 120px; margin: -65px 0 0 -65px; z-index: 9999; }
#loader div { border: 1px solid #eef; border-top-color: #223; border-radius: 100%; height: 120px; width: 120px; -webkit-animation: loaderSpin 1s infinite linear; animation: loaderSpin 1s infinite linear; }
@-webkit-keyframes loaderSpin {
    0%   { -webbkit-transform: rotate(0deg); }
    100% { -webbkit-transform: rotate(360deg); }
}
@keyframes loaderSpin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
#loader img { display: block; position: absolute; top: 50%; left: 50%; max-width: 80px; margin: -30px 0 0 -40px; }

.mobile { display: none; }

/***** Header *****/
header { position: relative; width: 940px; margin: 0 auto; }
header #header-logos { position: absolute; top: 0px; left: 0px; text-align: center; }
header #header-logos div { padding-top: 10px;}
header #header-logos a { display: inline-block; vertical-align: bottom; }
header #header-logo { text-align: center; padding: 50px 0 40px 0; }
header #header-resaux { position: absolute; top: 45px; right: 0px; }
header #header-resaux a { display: inline-block; font-size: 1.2em; margin-right: 10px; color: #282525; backface-visibility: hidden; transform: translateZ(0); -webkit-transform: translateZ(0); text-decoration: none; }
header #header-resaux a:not(:first-child):hover {
    -webkit-animation-name: hvr-wobble-vertical;
    animation-name: hvr-wobble-vertical;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
}
header #header-resaux a:first-child { transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; }
header #header-resaux a:first-child:hover { color: #bc3b5e; }

@media only screen and (max-width: 940px) {
    header { width: 90%; }
    header #header-logos { max-width: 23%; }
    header #header-logos > div:first-child a { max-width: 45%; }
    header #header-logos img { max-width: 90%; }
    header #header-logo img { max-width: 30%; }
}

#header-langue { position: absolute; top: 80px; right: 0; }


/***** Menu principal *****/
#menu { text-align: center; padding-bottom: 15px; }
#menu ul li { display: inline-block; margin: 0 13px; padding-bottom: 15px; }
#menu ul li a { color: #000; text-decoration: none; color: #282525; text-transform: uppercase; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; }
#menu ul li a:hover, #menu ul li a.actif { color: #bc3b5e; }
#menu ul li a::after { content:""; display: block; letter-spacing: -5px; width: 100%; height: 1px; background-color: #fff; margin-top: 5px; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; }
#menu ul li a:hover::after, #menu ul li a.actif::after { background-color: #d4af41; }


/***** Footer *****/
footer { text-align: center; padding: 100px 0 30px 0; }
footer a { color: #282525; text-decoration: none; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; }
footer a:hover { text-decoration: underline; color: #bc3b5e; }


/***** Accueil *****/
#page-accueil #top { width: 100%; height: 460px; background: url("../images/illustration-top-accueil.jpg") center 0 no-repeat; }
#page-accueil #top #presentation { width: 940px; margin: 0 auto; overflow: hidden; }
#page-accueil #top #presentation #presentation-rose { float: right; width: 440px; height: 400px; background-color: #bc3b5e; padding: 30px 15px; color: #fff; position: relative;}
#page-accueil #top #presentation #presentation-rose p { padding-top: 20px; text-align: justify; }
#page-accueil #top #presentation #presentation-rose p a { color: #fff; }
#page-accueil #top #presentation #presentation-rose #presentation-left { float: left; width: 190px; }
#page-accueil #top #presentation #presentation-rose #presentation-left h1 { font-size: 1.7em; text-transform: uppercase; }
#page-accueil #top #presentation #presentation-rose #presentation-right { float: right; width: 190px; }
#page-accueil #top #presentation #presentation-rose #presentation-bottom { position: absolute; bottom: 50px; right: 15px; width: 190px; text-align: justify; color: #ffacc3; font-style: italic; }

#page-accueil #actualites { width: 940px; margin: 0 auto; overflow: hidden; padding-top: 20px; }
#page-accueil #actualites #actualites-selection { float: left; width: 220px; position: relative; }
#page-accueil #actualites #actualites-selection i { color: #d5879c; font-size: 3em; position: absolute; left: 99%; transition: all 0.5s ease-out; -webkit-transition: all 0.5s ease-out; }
#page-accueil #actualites #actualites-selection i.first { top: 21%; }
#page-accueil #actualites #actualites-selection i.last { top: 71%; }
#page-accueil #actualites #actualites-selection a { display: block; width: 220px; height: 220px; position: relative; background-color: #bc3b5e; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; text-decoration: none; }
#page-accueil #actualites #actualites-selection a span { display: block; position: absolute; left: 20px; text-transform: uppercase; color: #fff; }
#page-accueil #actualites #actualites-selection a span.actualites-selection-date { font-weight: 700; font-size: 3em; bottom: 40px; }
#page-accueil #actualites #actualites-selection a span.actualites-selection-categorie { font-size: 1.5em; bottom: 10px; }
#page-accueil #actualites #actualites-selection a.actif { background-color: #d5879c; }
#page-accueil #actualites #actualites-detail { float: left; width: 190px; margin: 100px 30px 0 30px; }
#page-accueil #actualites #actualites-detail article { display: none; }
#page-accueil #actualites #actualites-detail article.actif { display: block; }
#page-accueil #actualites #actualites-detail article h2 { color: #bc3b5e; font-size: 1.2em; text-transform: uppercase; font-weight: 400; }
#page-accueil #actualites #actualites-detail article .actualites-texte { padding: 20px 0; text-align: justify; }
#page-accueil #actualites #actualites-visuels { width: 470px; height: 440px; float: left; overflow: hidden; }
#page-accueil #actualites #actualites-visuels img { display: none; max-width: 100%; max-height: 100%; margin: 0 auto; }
#page-accueil #actualites #actualites-visuels img.active { display: block; }

#page-accueil #bottom { width: 940px; margin: 0 auto; overflow: hidden; padding-top: 20px; display: flex; align-items: flex-end; }
#page-accueil #bottom #bottom-assos { width: 100%; }
#page-accueil #bottom #bottom-assos h3 { text-align: center; font-weight: 400; font-size: 1.2em; position: relative; }
#page-accueil #bottom #bottom-assos h3 span { display: inline-block; background-color: #fff; padding: 0 10px; }
#page-accueil #bottom #bottom-assos h3::after { content:""; display: block; width: 100%; height: 1px; letter-spacing: -5px; background-color: #d7ad38; top: 50%; left: 0px; position: absolute; z-index: -1; }
#page-accueil #bottom #bottom-assos ul { display: flex; align-items: center; justify-content: space-around; margin-top: 30px; gap: 20px; }

#page-accueil section.home { max-width: 940px; width: 90%; margin: 50px auto 0; display: flex; align-items: center; }
#page-accueil section.home h2 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; text-align: center; padding-bottom: 50px; padding-left: 30px; padding-right: 30px; }
#page-accueil section.home p { padding-bottom: 30px; padding-left: 30px; padding-right: 30px; text-align: justify; }
#page-accueil section.home img { display: block; max-width: 100%; height: auto; margin: 0 auto }
#page-accueil section.home>div { width: 50%; }

@media only screen and (max-width: 600px) {
    #page-accueil section.home { flex-wrap: wrap; }
    #page-accueil section.home>div { width: 100%; }
    #page-accueil section.home.alternate .left { order: 2; }
    #page-accueil section.home.alternate .right { order: 1; }
    #page-accueil section.home p, #page-accueil section.home h2 { padding-left: 0; padding-right: 0; }
}
@media only screen and (max-width: 940px) {
    #page-accueil #top #presentation { width: 90%; }
    #page-accueil #actualites { width: 90%; }
    #page-accueil #actualites #actualites-selection { width: 30%; }
    #page-accueil #actualites #actualites-selection a { width: 100%; }
    #page-accueil #actualites #actualites-selection a span.actualites-selection-date { font-size: 2em; }
    #page-accueil #actualites #actualites-selection a span.actualites-selection-categorie { font-size: 1em; }
    #page-accueil #actualites #actualites-detail { width: 20%; margin: 50px 3% 0 3%; }
    #page-accueil #actualites #actualites-visuels { width: 44%; }
    #page-accueil #bottom { width: 90%; }
    #page-accueil #bottom #bottom-assos { width: 100%; padding-right: 4%; }
    #page-accueil #bottom #bottom-assos ul li a img { max-width: 100%; }
    #page-accueil #bottom #bottom-visuel { width: 48%; }
    #page-accueil #bottom #bottom-visuel img { max-width: 100%; }
}


/***** Histoire *****/
#page-histoire #visuel { width: 100%; height: 460px; background: url('../images/visuel-l-histoire.jpg') center top no-repeat; }
#page-histoire section { width: 940px; margin: 0 auto; padding-top: 20px; display: flex; align-items: center; }
#page-histoire section .histoire-left, #page-histoire section .histoire-right { width: 470px; }
#page-histoire section h1, #page-histoire section h2 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; text-align: center; padding-bottom: 50px; }
#page-histoire section p { text-align: justify; padding: 0 30px; }

@media only screen and (max-width: 940px) {
    #page-histoire section { width: 90%; }
    #page-histoire section .histoire-left, #page-histoire section .histoire-right { width: 50%; }
    #page-histoire section img { max-width: 100%; }
}


/***** Domaine *****/
#page-domaine #visuel { width: 100%; height: 460px; background: url('../images/le-domaine.jpg') center top no-repeat; }
#page-domaine section { width: 940px; margin: 0 auto; padding-top: 20px; display: flex; align-items: center; }
#page-domaine section .domaine-left, #page-domaine section .domaine-right { width: 470px; }
#page-domaine section h1, #page-domaine section h2 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; text-align: center; padding-bottom: 50px; padding-left: 30px; padding-right: 30px; }
#page-domaine section p { text-align: justify; padding: 0 30px; }
#page-domaine ul { padding: 15px 30px; }
#page-domaine ul li { color: #bc3b5e; padding: 5px 0; }

@media only screen and (max-width: 940px) {
    #page-domaine section { width: 90%; }
    #page-domaine section .domaine-left, #page-domaine section .domaine-right { width: 50%; }
    #page-domaine section img { max-width: 100%; }
}


/***** Prévoir sa visite *****/
#page-visite, #page-visite-other { width: 940px; margin: 0 auto; }
#page-visite section, #page-visite-other section { width: 100%; overflow: hidden; padding-bottom: 50px; }
#page-visite section .left, #page-visite section .right,
#page-visite-other section .left, #page-visite-other section .right { float: left; width: 470px; }
#page-visite section .left, #page-visite-other section .left { width: 400px; margin-right: 70px; }
#page-visite h1, #page-visite h2,
#page-visite-other h1, #page-visite-other h2, #regiondo-iframes h2 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; padding-bottom: 20px; }
#page-visite h3, #page-visite-other h3 { padding-bottom: 5px; border-bottom:  solid 1px #d7ad38; font-weight: 700; font-size: 1.2em; margin-bottom: 5px; }
#page-visite section.adresses p, #page-visite-other section.adresses p { padding-top: 10px; }
#page-visite p { text-align: justify; }
#page-visite ul { margin-top: 20px; }
#page-visite ul li { position: relative; padding-left: 20px; margin-top: 10px; }
#page-visite ul li::before { content: ""; position: absolute; left: 0; top: 5px; width: 8px; height: 8px; background-color: #bc3b5e; border-radius: 8px; }
#page-visite .left div a { display: block; margin-top: 20px; background-color: #bc3b5e; color: white; text-decoration: none; padding: 10px 15px; text-align: center;border-radius: 5px; }
#regiondo-iframes h2 {
    width: 90%; max-width: 940px; margin: 0 auto;
}
#regiondo-iframes hr { border: solid 1px #bc3b5e; display: block; width: 90%; max-width: 940px; margin: 50px auto 50px auto; }
#regiondo-iframes .description { max-width: 940px; margin: 0 auto; width: 90%; }
#regiondo-iframes .description p:not(.no-padding) { padding-bottom: 20px; }
#regiondo-iframes .description h3 { padding-bottom: 10px; text-transform: uppercase; font-size: 1.1em; color: #bc3b5e; font-weight: 400; }
#regiondo-iframes .description ul { padding-bottom: 20px;  }
#regiondo-iframes .description ul li { position: relative; padding-left: 20px; margin-top: 10px; }
#regiondo-iframes .description ul li::before { content: ""; position: absolute; left: 0; top: 5px; width: 8px; height: 8px; background-color: #bc3b5e; border-radius: 8px; }

@media only screen and (max-width: 940px) {
    #page-visite, #page-visite-other { width: 90%; }
    #page-visite section .left, #page-visite-other section .left { width: 45%; margin-right: 5%; }
    #page-visite section .right, #page-visite-other section .right { width: 50%; }
    #page-visite section .right img, #page-visite-other section .right img { max-width: 100%; }
}


/***** Mentions légales *****/
#page-mentions { width: 940px; margin: 0 auto; }
#page-mentions h1 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; padding-bottom: 20px; }
#page-mentions p { text-align: justify; }

@media only screen and (max-width: 940px) {
    #page-mentions { width: 90%; }
}


/***** Contact *****/
#page-contact { width: 940px; margin: 0 auto; overflow: hidden; }
#page-contact #left { float: left; width: 650px; }
#page-contact #right { float: right; width: 220px; background-color: #bc3b5e; color: #fff; text-align: center; }
#page-contact #left h1 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; padding-bottom: 20px; }
#page-contact #intro { text-align: justify; padding-bottom: 30px; }
#page-contact form .flex, #page-contact form #submit, #page-contact form #div-message { padding-top: 10px; }
#page-contact form .flex { display: flex; align-items: center; justify-content: space-between; }
#page-contact form .flex p { width: 48%; }
#page-contact form div p span { display: block; position: relative; }
#page-contact form div p span label { position: absolute; top: 10px; left: 3%; color: #717171; }
#page-contact form label.cache { display: none; }
#page-contact form div p span input { outline: none; border: none; background-color: #e4e4e4; height: 35px; width: 94%; padding: 0 3%; line-height: 35px; color: #282525; font-family: 'Lato', sans-serif; font-weight: 400; border-radius: 5px; -webkit-border-radius: 5px; }
#page-contact form div p span textarea { outline: none; border: none; background-color: #e4e4e4; height: 100px; width: 94%; padding: 10px 3%; color: #282525; font-family: 'Lato', sans-serif; font-weight: 400; font-size: 1em; border-radius: 5px; -webkit-border-radius: 5px; resize: none; }
#page-contact form #mentions { font-size: 0.8em; padding-left: 20px; }
#page-contact form #submit { display: flex; align-items: flex-start; justify-content: space-between; }
#page-contact form #submit i { color: #bc3b5e; font-size: 1.5em; }
#page-contact form #submit input { border: none; outline: none; cursor: pointer; text-decoration: underline; color: #bc3b5e; background-color: transparent; font-family: 'Lato', sans-serif; font-weight: 400; font-size: 1.5em; }
#contact-carte { width: 100%; height: 500px; padding-top: 50px; position: relative; }
#contact-carte #carte { width: 100%; height: 500px; }
#contact-carte #btn-itineraire { position: absolute; top: 50px; left: 0px; width: 100%; z-index: 2; }
#contact-carte #btn-itineraire span { display: block; width: 940px; margin: 0 auto; }
#contact-carte #btn-itineraire span a { display: inline-block; background-color: #fff; font-size: 1.5em; color: #d7ad38; padding: 5px 15px; -webkit-box-shadow: 3px 3px 1px 0 #b1b1b1; box-shadow: 3px 3px 1px 0 #b1b1b1; }
#page-contact #right h2 { text-transform: uppercase; padding: 30px 10px; font-size: 1.5em; font-weight: 700; }
#page-contact #right p { padding: 0 10px 10px 10px; }
#page-contact #right div { padding: 10px 0 50px 0; }
#page-contact #right div a { color: #fff; margin: 0 10px; font-size: 1.5em; -webkit-transform: translateZ(0); transform: translateZ(0); backface-visibility: hidden; }
#page-contact #right div a:hover i {
    -webkit-animation-name: hvr-wobble-vertical;
    animation-name: hvr-wobble-vertical;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
}

@media only screen and (max-width: 940px) {
    #page-contact { width: 90%; }
    #page-contact #left { float: none; width: 100%; }
    #page-contact #right { float: none; width: 100%; margin-top: 30px; }
}


/***** Actualités *****/
#page-actualites { width: 940px; margin: 0 auto; min-height: 50%; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; }
#page-actualites article { width: 48%; overflow: hidden; padding-top: 30px; }
#page-actualites article a { text-decoration: none; }
#page-actualites article .date-image { width: 220px; height: 220px; position: relative; float: left; }
#page-actualites article .date-image div { width: 220px; height: 220px; position: relative; background-color: #bc3b5e; color: #fff; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; }
#page-actualites article a:hover .date-image div { background-color: #bc3b5e; background-color: rgba(188, 59, 94, 0.5); }
#page-actualites article .date-image span { display: block; position: absolute; left: 20px; text-transform: uppercase; }
#page-actualites article .date-image span.actualites-selection-date { font-weight: 700; font-size: 3em; bottom: 40px; }
#page-actualites article .date-image span.actualites-selection-categorie { font-size: 1.5em; bottom: 10px; }
#page-actualites article .date-image img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; z-index: -1; }

#page-actualites article .textes { width: 200px; float: left; padding-left: 30px; color: #282525; }
#page-actualites article .textes h2 { color: #bc3b5e; font-size: 1.2em; text-transform: uppercase; font-weight: 400; }
#page-actualites article .textes div { padding: 20px 0; text-align: justify; }
#page-actualites article .textes div span { text-decoration: underline; color: #bc3b5e; }

@media only screen and (max-width: 940px) {
    #page-actualites { width: 90%; align-items: flex-start; }
    #page-actualites article { width: 220px; }
    #page-actualites article .textes { width: 220px; padding: 10px 0 0 0; }
}


/***** Actualité *****/
#page-actualite { width: 940px; margin: 0 auto; }
#page-actualite #visuel { width: 940px; text-align: center; }
#page-actualite #visuel img { max-width: 100%; max-height: 700px; }
#page-actualite article { position: relative; }
#page-actualite article #date { width: 220px; height: 220px; position: absolute; top: -110px; left: 0px; background-color: #bc3b5e; color: #fff; }
#page-actualite article #date span { display: block; position: absolute; left: 20px; text-transform: uppercase; }
#page-actualite article #date span#date-date{ font-weight: 700; font-size: 3em; bottom: 40px; }
#page-actualite article #date span#date-categorie { font-size: 1.5em; bottom: 10px; }
#page-actualite article #texte { padding: 30px 0 0 250px; }
#page-actualite article #texte h1 { padding-bottom: 20px; color: #bc3b5e; font-size: 1.2em; text-transform: uppercase; font-weight: 400; }
#page-actualite article #texte div { text-align: justify; }
#page-actualite article #partage { padding: 30px 0 0 250px; }
#page-actualite article #partage a { color: #282525; margin: 0 0 0 5px; -webkit-transform: translateZ(0); transform: translateZ(0); backface-visibility: hidden; }
#page-actualite article #partage a:hover i {
    -webkit-animation-name: hvr-wobble-vertical;
    animation-name: hvr-wobble-vertical;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
}
#page-actualite article #documents { padding: 30px 0 0 250px; }

@media only screen and (max-width: 940px) {
    #page-actualite { width: 90%; }
    #page-actualite #visuel { width: 100%; }
    #page-actualite article #date { position: static; height: auto; width: 90%; padding: 10px 5%; margin: 30px 0; }
    #page-actualite article #date span { position: static; display: block; }
    #page-actualite article #texte { padding: 0; }
    #page-actualite article #documents { padding: 30px 0 0 0; }
    #page-actualite article #partage { padding-left: 0; }
}


/***** Galeries *****/
#page-galeries { width: 940px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
#page-galeries .galerie { width: 300px; height: 300px; overflow: hidden; position: relative; margin-bottom: 20px; }
#page-galeries .galerie h2 { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; background-color: #bc3b5e; background-color: rgba(188, 59, 94, 0.8); transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; opacity: 0; font-size: 1.5em; }
#page-galeries .galerie a:hover h2 { opacity: 1; }
#page-galeries .galerie h2 span { display: table-cell; vertical-align: middle; width: 260px; height: 300px; text-align: center; padding: 0 20px; color: #fff; text-transform: uppercase; font-weight: 400; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; transform: translateY(-20px); -webkit-transform: translateY(-20px); }
#page-galeries .galerie a:hover h2 span { transform: translateY(0px); -webkit-transform: translateY(0px); }

@media only screen and (max-width: 940px) {
    #page-galeries { width: 90%; }
    #page-galeries .galerie { width: 30%; height: auto; }
    #page-galeries .galerie img { max-width: 100%; }
    #page-galeries .galerie h2 span { height: auto; padding-top: 50px; }
}


/***** Galerie *****/
#page-galerie { width: 940px; margin: 0 auto; }
#page-galerie h1 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; padding-bottom: 50px; }
#page-galerie #galerie { width: 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
#page-galerie #galerie a { display: block; width: 300px; height: 300px; overflow: hidden; margin-bottom: 20px; position: relative; text-decoration: none; }
#page-galerie #galerie a::after { font-family:'FontAwesome'; position: absolute; top: 45%; left: 44%; color: #fff; font-size: 3.5em; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; opacity: 0; transform: translateY(-20px); -webkit-transform: translateY(-20px); }
#page-galerie #galerie a.swipebox::after { content:"\f00e"; }
#page-galerie #galerie a.video::after { content:"\f01d"; }
#page-galerie #galerie a.video-youtube::after { content:"\f16a"; color: #ff0000; }
#page-galerie #galerie a:hover::after { opacity: 1; transform: translateY(0px); -webkit-transform: translateY(0px); }

@media only screen and (max-width: 940px) {
    #page-galerie { width: 90%; }
    #page-galerie #galerie a { width: 30%; height: auto; }
    #page-galerie #galerie a img { max-width: 100%; }
}


/***** La gamme *****/
#page-la-gamme { width: 940px; margin: 0 auto; }
#page-la-gamme h2 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; text-align: center; padding-bottom: 50px; }
#page-la-gamme ul { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
#page-la-gamme ul li a { text-decoration: none; }
#page-la-gamme ul li { width: 21%; padding: 0 2% 100px 2%; text-align: center; }
#page-la-gamme ul li .bouteille { width: 100%; }
#page-la-gamme ul li .bouteille img { height: 350px; display: block; margin: 0 auto; transition: all 0.5s ease-out; -webkit-transition: all 0.5s ease-out; }
#page-la-gamme ul li a:hover .bouteille img { transform: scale3d(1.05, 1.05, 1.05); }
#page-la-gamme ul li h3 { padding-top: 20px; text-transform: uppercase; font-weight: 400; }
#page-la-gamme ul li .limitee { padding-top: 10px; }
#page-la-gamme ul li .limitee span { display: inline-block; padding: 0px 8px; background-color: #bc3b5e; color: #fff; font-family: 'Parisienne', cursive; font-size: 1.3em; }
#page-la-gamme ul li .nouveaute { padding-top: 10px; }
#page-la-gamme ul li .nouveaute span { display: inline-block; padding: 0px 8px; background-color: #d4af41; color: #000; font-family: 'Parisienne', cursive; font-size: 1.3em; }

@media only screen and (max-width: 940px) {
    #page-la-gamme { width: 90%; }
}

/***** Presse *****/
#page-presse { width: 940px; margin: 0 auto; }
#page-presse ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
#page-presse ul li { width: 205px; padding: 15px; }
#page-presse ul li a { display: block; width: 205px; height: 205px; position: relative; overflow: hidden; }
#page-presse ul li a .layer-image { position: absolute; z-index: -1; top: 0px; left: 0px; width: 100%; height: 100%; }
#page-presse ul li a .layer-image img { max-width: 100%; }
#page-presse ul li a .layer-texte { width: 100%; height: 100%; background-color: #bc3b5e; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; position: relative; }
#page-presse ul li a:hover .layer-texte { background-color: rgba(188, 59, 94, 0.5) }
#page-presse ul li a .layer-texte .layer-texte-content { position: absolute; bottom: 10px; left: 10px; color: #fff; }
#page-presse ul li a .layer-texte .layer-texte-content .date { font-size: 3em; font-weight: 700; }
#page-presse ul li a .layer-texte .layer-texte-content h2 { font-weight: 400; font-size: 1.5em; }
#page-presse ul li a .layer-texte .picto-pdf { position: absolute; top: 10px; right: 10px; font-size: 2.5em; color: #fff; }

@media only screen and (max-width: 940px) {
    #page-presse { width: 90%; }
}



/***** Cuvée *****/
#page-cuvee { width: 940px; margin: 0 auto; overflow: hidden; }
#page-cuvee #bouteille { float: left; width: 50%; }
#page-cuvee #bouteille a img { display: block; height: 650px; margin: 0 auto; }
#page-cuvee #fiche { float: right; width: 50% }
#page-cuvee #fiche #fiche-limitee { text-align: right; padding-bottom: 10px; }
#page-cuvee #fiche #fiche-limitee span { display: inline-block; padding: 0px 8px; background-color: #bc3b5e; color: #fff; font-family: 'Parisienne', cursive; font-size: 1.3em; }
#page-cuvee #fiche #fiche-limitee span.nouveaute { color: #000; background-color: #d4af41; }
#page-cuvee #fiche h1 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; }
#page-cuvee #fiche #fiche-sous-titre { padding-top: 10px; font-weight: 700; }
#page-cuvee #fiche #fiche-assemblage { padding: 10px 0; border-top: solid 2px #d4af41; border-bottom: solid 2px #d4af41; margin-top: 20px; font-style: italic; }
#page-cuvee #fiche #fiche-texte { text-align: justify; }
#page-cuvee #fiche #fiche-texte p { padding-top: 20px; }
#page-cuvee #fiche #fiche-mets-vin { color: #bc3b5e; padding-top: 20px; }
#page-cuvee #fiche #fiche-mets-vin span { color: #282525; display: block; padding-bottom: 10px; text-decoration: underline; }
#page-cuvee #fiche #fiche-recompenses { padding-top: 20px; }
#page-cuvee #fiche #fiche-recompenses span { display: block; padding-bottom: 10px; text-decoration: underline; }
#page-cuvee #fiche #fiche-recompenses img { max-width: 100%; }
#page-cuvee #fiche #fiche-technique { border-top: solid 1px #d4af41; margin-top: 10px; padding-top: 10px; }
#page-cuvee #fiche #fiche-technique i { font-size: 1.3em; padding-right: 5px; }

@media only screen and (max-width: 940px) {
    #page-cuvee { width: 90%; }
}



@-webkit-keyframes hvr-wobble-vertical {
    16.65% {
        -webkit-transform: translateY(8px);
        transform: translateY(8px);
    }

    33.3% {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px);
    }

    49.95% {
        -webkit-transform: translateY(4px);
        transform: translateY(4px);
    }

    66.6% {
        -webkit-transform: translateY(-2px);
        transform: translateY(-2px);
    }

    83.25% {
        -webkit-transform: translateY(1px);
        transform: translateY(1px);
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes hvr-wobble-vertical {
    16.65% {
        -webkit-transform: translateY(8px);
        transform: translateY(8px);
    }

    33.3% {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px);
    }

    49.95% {
        -webkit-transform: translateY(4px);
        transform: translateY(4px);
    }

    66.6% {
        -webkit-transform: translateY(-2px);
        transform: translateY(-2px);
    }

    83.25% {
        -webkit-transform: translateY(1px);
        transform: translateY(1px);
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@media only screen and (max-width: 600px) {
    .mobile { display: block; }
    .desktop { display: none; }

    .menu-mobile { position: fixed; top: 5px; right: 10px; font-size: 3em; color: #bc3b5e; z-index: 12; background-color: #fff; padding: 0 5px; border-radius: 5px; }

    header #header-resaux { display: none; }
    header #header-logo { padding: 30px 0 30px 0; }
    #menu { display: none; text-align: center; padding: 15px 0; z-index: 10; position: fixed; top: 0px; left: 0px; width: 100%; background-color: #fff; -webkit-box-shadow: 0 6px 5px 0 #4F4949; box-shadow: 0 6px 5px 0 #4F4949; }
    #menu ul { display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; padding: 0 2%; }
    #menu ul li { display: block; margin: 0; padding: 10px 3%; width: 26%; text-align: left; }
    #menu ul li a::after { display: none; }
    .menu-reseaux-mobile { padding-top: 20px; }
    .menu-reseaux-mobile a { font-size: 1.2em; margin: 0 5px; color: #282525; }

    footer { text-align: center; padding: 50px 5% 30px 5%; }


    /***** Accueil *****/
    #page-accueil #top { width: 90%; margin: 0 auto; height: auto; background: none; }
    #page-accueil #top #presentation { width: 100%; margin: 0 auto; overflow: hidden; }
    #page-accueil #top #presentation #presentation-rose { float: none; width: 100%; overflow: hidden; height: auto; background-color: #bc3b5e; padding: 0 0 30px 0; color: #fff; position: relative;}
    #page-accueil #top #presentation #presentation-rose.mobile img { display: block; max-width: 100%; }
    #page-accueil #top #presentation #presentation-rose p { text-align: justify; padding: 20px 5% 0 5%; }
    #page-accueil #top #presentation #presentation-rose h1 {  padding: 20px 5% 0 5%; }
    #page-accueil #top #presentation #presentation-rose #presentation-bottom { clear: both; position: static; width: 100%; text-align: justify; color: #ffacc3; font-style: italic; padding-top: 20px; }

    #page-accueil #actualites { width: 90%; margin: 0 auto; overflow: hidden; padding-top: 20px; }
    #page-accueil #actualites #actualites-selection { float: none; width: 100%; position: relative; }
    #page-accueil #actualites #actualites-selection::after { content: ""; display: block; clear: both; }
    #page-accueil #actualites #actualites-selection i { color: #d5879c; font-size: 3em; position: absolute; left: 99%; transition: all 0.5s ease-out; -webkit-transition: all 0.5s ease-out; transform: rotate(90deg); -webkit-transform: rotate(90deg); }
    #page-accueil #actualites #actualites-selection i.first { top: 86%; left: 21%; }
    #page-accueil #actualites #actualites-selection i.last { top: 86%; left: 71%; }
    #page-accueil #actualites #actualites-selection a { display: block; float: left; width: 50%; height: 100px; position: relative; background-color: #bc3b5e; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; text-decoration: none; }
    #page-accueil #actualites #actualites-selection a span { display: block; position: absolute; left: 20px; text-transform: uppercase; color: #fff; }
    #page-accueil #actualites #actualites-detail { float: none; width: 100%; margin: 20px 0 0 0; }
    #page-accueil #actualites #actualites-visuels { width: 100%; height: auto; float: none; overflow: hidden; padding-top: 20px; }
    #page-accueil #actualites #actualites-visuels img { display: none; max-width: 100%; max-height: 350px; margin: 0 auto; }

    #page-accueil #bottom { width: 90%; margin: 0 auto; overflow: hidden; padding-top: 20px; display: block; }
    #page-accueil #bottom #bottom-assos { width: 100%; padding-right: 0; }
    #page-accueil #bottom #bottom-assos h3 { text-align: center; font-weight: 400; font-size: 1.2em; position: relative; }
    #page-accueil #bottom #bottom-assos h3 span { display: inline-block; background-color: #fff; padding: 0 10px; }
    #page-accueil #bottom #bottom-assos h3::after { content:""; display: block; width: 100%; height: 1px; letter-spacing: -5px; background-color: #d7ad38; top: 50%; left: 0px; position: absolute; z-index: -1; }
    #page-accueil #bottom #bottom-assos ul { display: flex; align-items: center; justify-content: space-between; margin: 30px 0; }
    #page-accueil #bottom #bottom-visuel { width: 100%; }
    #page-accueil #bottom #bottom-visuel img { max-width: 100%; }


    /***** Histoire *****/
    #page-histoire #visuel { width: 100%; height: 220px; background: url('../images/visuel-l-histoire.jpg') center top no-repeat; background-size: cover; }
    #page-histoire section { width: 90%; margin: 0 auto; padding-top: 20px; display: block; align-items: center; }
    #page-histoire section .histoire-left, #page-histoire section .histoire-right { width: 100%; }
    #page-histoire section h1, #page-histoire section h2 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; text-align: center; padding: 30px 0 30px 0; }
    #page-histoire section p { text-align: justify; padding: 0 0; }
    #page-histoire section img { display: block; max-width: 100%; margin: 20px 0; }


    /***** Domaine *****/
    #page-domaine #visuel { width: 100%; height: 220px; background: url('../images/le-domaine.jpg') center top no-repeat; background-size: cover; }
    #page-domaine section { width: 90%; margin: 0 auto; padding-top: 20px; display: block; align-items: center; }
    #page-domaine section .domaine-left, #page-domaine section .domaine-right { width: 100%; }
    #page-domaine section h1, #page-domaine section h2 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; text-align: center; padding: 30px 0 30px 0; }
    #page-domaine section p { text-align: justify; padding: 0 0; }
    #page-domaine ul { padding: 15px 30px; }
    #page-domaine section img { display: block; max-width: 100%; margin: 20px 0; }


    /***** Prévoir sa visite *****/
    #page-visite, #page-visite-other { width: 90%; margin: 0 auto; }
    #page-visite section, #page-visite-other section { width: 100%; overflow: hidden; padding-bottom: 50px; }
    #page-visite section .left, #page-visite section .right,
    #page-visite-other section .left, #page-visite-other section .right { float: none; width: 100%; }
    #page-visite h1, #page-visite h2,
    #page-visite-other h1, #page-visite-other h2, #regiondo-iframes h2{ text-align: center; }
    #page-visite h3, #page-visite-other h3 { padding-bottom: 5px; border-bottom:  solid 1px #d7ad38; font-weight: 700; font-size: 1.2em; margin-bottom: 5px; }
    #page-visite section.adresses p, #page-visite-other section.adresses p { padding-top: 10px; }
    #page-visite section .right, #page-visite-other section .right { margin-top: 30px; }
    #page-visite section img, #page-visite-other section img { max-width: 100%; display: block; }


    /***** Mentions légales *****/
    #page-mentions { width: 90%; margin: 0 auto; }
    #page-mentions h1 { text-align: center; }


    /***** Contact *****/
    #contact-carte { display: none; }
    #page-contact #left h1 { text-align: center; }
    #page-contact form .flex { display: block; padding-top: 0; }
    #page-contact form .flex p { width: 100%; padding-top: 10px; }
    #page-contact form #submit { display: block; }
    #page-contact form #submit span { display: block; padding: 20px 0 50px ; text-align: right; }
    #page-contact form #submit span input { font-size: 2em; }
    #page-contact #right p a { color: #fff; }


    /***** Actualités *****/
    #page-actualites { width: 90%; margin: 0 auto; min-height: 50%; display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
    #page-actualites article { width: 48%; overflow: hidden; padding-top: 30px; }
    #page-actualites article a { text-decoration: none; }
    #page-actualites article .date-image { width: 100%; height: auto; position: relative; float: none; }
    #page-actualites article .date-image div { width: 100%; height: 80px; position: relative; background-color: #bc3b5e; color: #fff; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; }
    #page-actualites article .date-image img { position: static; display: block; top: 0px; left: 0px; width: 100%; height: auto; z-index: -1; }
    #page-actualites article .date-image span.actualites-selection-date { font-size: 2em; }
    #page-actualites article .date-image span.actualites-selection-categorie { font-size: 1em; }
    #page-actualites article .textes { width: 100%; float: none; padding-left: 0; color: #282525; }
    #page-actualites article .textes h2 { color: #bc3b5e; font-size: 1.2em; text-transform: uppercase; font-weight: 400; }
    #page-actualites article .textes div { padding: 20px 0; text-align: justify; }
    #page-actualites article .textes div span { text-decoration: underline; color: #bc3b5e; }


    /***** Actualité *****/
    #page-actualite { width: 90%; margin: 0 auto; }
    #page-actualite #visuel { width: 100%; text-align: center; }
    #page-actualite #visuel img { max-width: 100%; max-height: 700px; }
    #page-actualite article { position: relative; }
    #page-actualite article #date { width: 90%; height: auto; position: static; background-color: #bc3b5e; color: #fff; margin: 0 0 30px 0; padding: 10px 5%; }
    #page-actualite article #date span { display: block; position: static; text-transform: uppercase; }
    #page-actualite article #date span#date-date{ font-weight: 700; font-size: 2em; bottom: 40px; }
    #page-actualite article #date span#date-categorie { font-size: 1em; bottom: 10px; }
    #page-actualite article #texte { padding: 0 0 0 0; }
    #page-actualite article #texte h1 { padding-bottom: 20px; color: #bc3b5e; font-size: 1.2em; text-transform: uppercase; font-weight: 400; }
    #page-actualite article #texte div { text-align: justify; }
    #page-actualite article #partage { padding: 30px 0 0 0; }
    #page-actualite article #partage a { color: #282525; margin: 0 0 0 5px; -webkit-transform: translateZ(0); transform: translateZ(0); backface-visibility: hidden; }


    /***** Galeries *****/
    #page-galeries { width: 90%; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; }
    #page-galeries .galerie { width: 48%; height: auto; overflow: hidden; position: relative; margin-bottom: 20px; }
    #page-galeries .galerie h2 { position: static; width: 100%; height: auto; background-color: transparent; color: #bc3b5e; opacity: 1; font-size: 1.2em; }
    #page-galeries .galerie a:hover h2 { opacity: 1; }
    #page-galeries .galerie h2 span { display: block; width: 90%; height: auto; padding: 0 5%; transform: translateY(0px); -webkit-transform: translateY(0px); color: #bc3b5e}
    #page-galeries .galerie a { text-decoration: none; }


    /***** Galerie *****/
    #page-galerie { width: 90%; margin: 0 auto; }
    #page-galerie h1 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; padding-bottom: 50px; text-align: center; }
    #page-galerie #galerie { width: 100%; display: block; }
    #page-galerie #galerie a { display: block; width: 100%; height: auto; overflow: hidden; margin-bottom: 20px; position: relative; }
    #page-galerie #galerie a img { margin: 0 auto; display: block; }


    /***** La gamme *****/
    #page-la-gamme { width: 90%; margin: 0 auto; }
    #page-la-gamme h2 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; text-align: center; padding-bottom: 50px; }
    #page-la-gamme ul { display: block; }
    #page-la-gamme ul li a { text-decoration: none; }
    #page-la-gamme ul li { width: 100%; padding: 0 0 100px 0; text-align: center; }


    /***** Cuvée *****/
    #page-cuvee { width: 90%; margin: 0 auto; overflow: hidden; }
    #page-cuvee #bouteille { float: none; width: 100%; }
    #page-cuvee #bouteille a img { display: block; height: 350px; margin: 0 auto; }
    #page-cuvee #fiche { float: none; width: 100% }
    #page-cuvee #fiche #fiche-limitee { text-align: center; padding: 10px 0; }
    #page-cuvee #fiche #fiche-limitee span { display: inline-block; padding: 0px 8px; background-color: #bc3b5e; color: #fff; font-family: 'Parisienne', cursive; font-size: 1.3em; }
    #page-cuvee #fiche h1 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; }
    #page-cuvee #fiche #fiche-sous-titre { padding-top: 10px; }
    #page-cuvee #fiche #fiche-assemblage { padding: 10px 0; border-top: solid 2px #d4af41; border-bottom: solid 2px #d4af41; margin-top: 20px; font-style: italic; }
    #page-cuvee #fiche #fiche-texte { text-align: justify; }
    #page-cuvee #fiche #fiche-texte p { padding-top: 20px; }
    #page-cuvee #fiche #fiche-mets-vin { color: #bc3b5e; padding-top: 20px; }
    #page-cuvee #fiche #fiche-mets-vin span { color: #282525; display: block; padding-bottom: 10px; text-decoration: underline; }
    #page-cuvee #fiche #fiche-recompenses { padding-top: 20px; }
    #page-cuvee #fiche #fiche-recompenses span { display: block; padding-bottom: 10px; text-decoration: underline; }
    #page-cuvee #fiche #fiche-recompenses img { max-width: 100%; }
    #page-cuvee #fiche #fiche-technique { border-top: solid 1px #d4af41; margin-top: 10px; padding-top: 10px; }
    #page-cuvee #fiche #fiche-technique i { font-size: 1.3em; padding-right: 5px; }
}


/***** Boutique *****/
#header-boutique { position: absolute; top: 80px; right: 10px; }
#header-boutique #header-boutique-mon-compte { text-align: right; }
#header-boutique #header-boutique-mon-compte a i { margin-right: 5px; }
#header-boutique #header-boutique-mon-compte span { display: block; font-size: 0.9em; font-style: italic; padding: 3px 0; }
#header-boutique-mon-compte-deconnexion { font-size: 0.9em; }

#header-boutique-panier { padding-top: 10px; font-size: 0.9em; color: #929497; }

.boutique-940 { width: 940px; margin: 0 auto; }

#boutique-accueil h1 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; }
#boutique-accueil h1, #boutique-accueil p, #boutique-accueil h2 { text-align: center; }
#boutique-accueil h2 { padding-top: 100px; font-weight: 400; font-size: 1.3em; text-transform: uppercase; }



#boutique-authentification { text-align: center; }
#boutique-authentification h1 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; }
#boutique-authentification h2 { font-weight: 400; font-size: 1.3em; text-transform: uppercase; padding: 50px 0 20px 0; }
#boutique-authentification form p { padding-bottom: 10px; width: 40%; margin: 0 auto; }
#boutique-authentification form p span { display: block; position: relative; }
#boutique-authentification form p span label { position: absolute; top: 10px; left: 3%; color: #717171; }
#boutique-authentification form label.cache { display: none; }
#boutique-authentification form p span input { outline: none; border: none; background-color: #e4e4e4; height: 35px; width: 94%; padding: 0 3%; line-height: 35px; color: #282525; font-family: 'Lato', sans-serif; font-weight: 400; border-radius: 5px; -webkit-border-radius: 5px; }
#boutique-authentification form #submit i { color: #bc3b5e; font-size: 1.5em; }
#boutique-authentification form #submit input { border: none; outline: none; cursor: pointer; text-decoration: underline; color: #bc3b5e; background-color: transparent; font-family: 'Lato', sans-serif; font-weight: 400; font-size: 1.5em; }
#boutique-authentification section a { display: inline-block; font-size: 1.5em; }
#boutique-authentification section a i { text-decoration: none; margin-right: 10px; }
#boutique-authentification #separateur { padding-top: 50px; border-bottom: solid 1px #d4af41; letter-spacing: -5px; overflow: hidden; width: 40%; margin: 0 auto; }
#boutique-authentification section form a { font-size: 1em; margin-top: 30px; color: #282525; }
#boutique-authentification #adresse-differente { display: none; }
#boutique-authentification #code-client-vip { padding: 15px 3%; width: 34%; margin: 30px auto 10px auto; border: solid 1px #d4af41; }
#boutique-authentification #code-client-vip p { width: 100%; }
#boutique-authentification #code-client-vip strong { display: block; padding-bottom: 5px; font-size: 1.1em; }
#boutique-authentification #code-client-vip span label { color: #fff; }
#boutique-authentification #code-client-vip input { background-color: #d4af41; color: #fff; text-align: center; }
#boutique-authentification table { width: 100%; }
#boutique-authentification table tr { background-color: #f9f9fa; }
#boutique-authentification table tr:nth-child(even) { background-color: #edeeee; }
#boutique-authentification table tr th { padding: 5px; background-color: #e3cb83; font-weight: 400; font-size: 1.3em; }
#boutique-authentification table tr td { vertical-align: middle; text-align: center; padding: 5px; }

#boutique-accueil .flex { display: flex; align-items: flex-start; justify-content: center; flex-wrap: wrap; }
#boutique-accueil .flex article { width: 21%; margin: 40px 2% 0 2%; }
#boutique-accueil .flex article .produit-visuel-hover { width: 100%; height: 250px; overflow: hidden; position: relative; }
#boutique-accueil .flex article .produit-visuel-hover img { display: block; max-width: 100%; max-height: 100%; margin: 0 auto; }
#boutique-accueil .flex article h3 { text-transform: uppercase; font-size: 1.1em; color: #bc3b5e; font-weight: 400; text-align: center; padding: 5px 0; }
#boutique-accueil .flex article .produit-contenance { font-size: 0.9em; text-align: center; }
#boutique-accueil .flex article .produit-hover { position: absolute; top: -20px; left: 0px; width: 100%; height: 100%; background-color: #bc3b5e; opacity: 0; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; z-index: 2; }
#boutique-accueil .flex article:hover .produit-hover { top: 0px; opacity: 1; }
#boutique-accueil .flex article .produit-hover p { width: 90%; height: 250px; margin: 0 auto; color: #ffff; display: table-cell; vertical-align: middle; color: #fff; }
#boutique-accueil .flex article .produit-hover p a { color: #fff; }
#boutique-accueil .flex article .produit-hover ul { padding: 20px 10px 0px 10px; color: #fff; font-size: 0.9em; }
#boutique-accueil .flex article .produit-hover ul li { display: flex; align-items: flex-start; justify-content: space-between; opacity: 0.8; }
#boutique-accueil .flex article .produit-hover ul li span { font-weight: 700; }
#boutique-accueil .flex article .produit-hover ul li strike { padding-right: 5px; font-size: 1em; }
#boutique-accueil .flex article .produit-hover .produit-hover-tarif { font-weight: 700; color: #fff; text-align: center; padding: 20px 0; }
#boutique-accueil .flex article .produit-hover .produit-hover-check { text-align: center; color: #fff; }
#boutique-accueil .flex article .produit-hover .produit-hover-check input { text-align: center; width: 50px; border: none; background-color: #fff; padding: 3px 5px; }
#boutique-accueil .flex article .produit-hover .produit-hover-check div { padding-bottom: 5px; }
#boutique-accueil .flex article .produit-hover .produit-hover-check a { color: #fff; }
#boutique-accueil strike { font-size: 0.85em; }
#boutique-accueil .produit-en-rupture { position: absolute; bottom: 8%; right: -25%; background-color: #bc3b5e; color: #fff; text-transform: uppercase; text-align: center; padding: 3px 3%; width: 94%; transform: rotate(-30deg); z-index: 1; }
#boutique-accueil #offre-fdp { text-align-last: center; margin-top: 30px; }
#boutique-accueil #offre-fdp span { display: inline-block; background-color: #bc3b5e; color: #fff; font-size: 1.5em; padding: 5px 15px; }

#boutique-panier h1 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; text-align: center; }
#boutique-panier table { width: 100%; border-collapse: collapse; }
#boutique-panier table tr.bg { background-color: #f9f9fa; }
#boutique-panier table tr.bg:nth-child(even) { background-color: #edeeee; }
#boutique-panier table tr th { padding: 5px; background-color: #e3cb83; font-weight: 400; font-size: 1.3em; }
#boutique-panier table tr td { vertical-align: middle; text-align: left; padding: 5px; }
#boutique-panier table tr td.td-center { text-align: center; }
#boutique-panier table tr td img { max-width: 150px; max-height: 120px; }
#boutique-panier table tr td div { color: #bc3b5e; text-transform: uppercase; }
#boutique-panier table tr td a { font-size: 1.2em; }
#boutique-panier table tr td span { display: inline-block; padding: 0 5px; }
#boutique-panier table tr td.bg-or { background-color: #e3cb83; }
#boutique-panier table tr td.bg-black { background-color: #000000; color: #fff; font-weight: 700; padding: 15px 5px; }
#boutique-panier table tr td.bg-black small { font-weight: 400; }
#boutique-panier table tr td.td-end { font-size: 1.3em; }
#boutique-panier form { text-align: center; }
#boutique-panier form #adresses { margin: 30px 0 0 0; border-top: solid 2px #d4af41; }
#boutique-panier form h2 { font-weight: 400; font-size: 1.3em; text-transform: uppercase; padding: 30px 0 20px 0; }
#boutique-panier form p { padding-bottom: 10px; width: 40%; margin: 0 auto; }
#boutique-panier form p span { display: block; position: relative; }
#boutique-panier form p span label { position: absolute; top: 10px; left: 3%; color: #717171; }
#boutique-panier form label.cache { display: none; }
#boutique-panier form p span input { outline: none; border: none; background-color: #e4e4e4; height: 35px; width: 94%; padding: 0 3%; line-height: 35px; color: #282525; font-family: 'Lato', sans-serif; font-weight: 400; border-radius: 5px; -webkit-border-radius: 5px; }
#boutique-panier form p span textarea { outline: none; border: none; background-color: #e4e4e4; width: 94%; height: 100px; padding: 10px 3%; color: #282525; font-family: 'Lato', sans-serif; font-weight: 400; border-radius: 5px; -webkit-border-radius: 5px; resize: none; }
#boutique-panier form #submit { padding-top: 30px; }
#boutique-panier form #submit i { color: #bc3b5e; font-size: 1.5em; }
#boutique-panier form #submit input { border: none; outline: none; cursor: pointer; text-decoration: underline; color: #bc3b5e; background-color: transparent; font-family: 'Lato', sans-serif; font-weight: 400; font-size: 1.5em; }

#boutique-panier #mode-de-paiement { width: 40%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; text-align: left; border-bottom: 2px solid #bc3b5e; padding-bottom: 20px; margin-bottom: 20px; }
#boutique-panier #mode-de-paiement ul li { color: #bc3b5e; padding: 3px 0; }

#boutique-retour-paiement h1 { font-family: 'Parisienne', cursive; font-weight: 400; color: #bc3b5e; font-size: 3.5em; text-align: center; }
#boutique-retour-paiement p { padding-top: 30px; text-align: center; }

#boutique-panier form #freeDeliveryBtn { display: none; }
#boutique-panier form #freeDeliveryBtn button { border: none; outline: none; cursor: pointer; text-decoration: underline; color: #bc3b5e; background-color: transparent; font-family: 'Lato', sans-serif; font-weight: 400; }
#boutique-panier form #freeDeliveryBtn button i { color: #bc3b5e; font-size: 1.5em; display: inline-block; margin-right: 10px; }

@media only screen and (max-width: 940px) {
    .boutique-940 { width: 90%; }
    #boutique-authentification form p { width: 60%; }
    #boutique-authentification #code-client-vip { width: 54%;}
    #boutique-panier #mode-de-paiement { width: 60%; }
    #boutique-panier form p { width: 60%; }
}


@media only screen and (max-width: 600px) {
    #header-boutique { top: 50px; right: 0px; }
    #boutique-accueil .flex article { width: 100%; margin: 40px 0% 0 0%; }

    #boutique-panier .no-mobile { display: none; }
    #boutique-panier form p { width: 90%; }
    #boutique-panier #mode-de-paiement { width: 90%; }
}

#player-galerie {
    position: fixed;
    z-index: 20;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: #000;
    background-color: rgba(0,0,0,.8);
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease-out 0.3s;
}
#player-galerie.show {
    transition: all 0.3s ease-out;
        visibility: visible;
        opacity: 1;
}

#player-galerie iframe {
    position: relative;
    z-index: 2;
    width: 90%;
    height: 90%;
}

#player-galerie-bg {
    position: absolute;
    top: -5%;
    left: -5%;
    width: 110%;
    height: 110%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 150%;
    filter: blur(20px);
    -webkit-filter: blur(20px);
}

#player-galerie-close {
    position: fixed;
    z-index: 21;
    top: 10px;
    right: 15px;
    font-size: 2.5rem;
    color: #fff;
    line-height: 1;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease-out;
}
#player-galerie-close.show {
    transition: all 0.3s ease-out 0.4s;
    visibility: visible;
    opacity: 1;
}

#regiondo-review {
    margin: 20px auto 50px auto;
    height: 500px;
    max-width: 940px;
    width: 90%;
}

#visite-3d {
    position: relative;
    min-height: 250px;
    max-width: 940px;
    margin: 20px auto 0 auto;
}
#visite-3d img {
    display: block;
    max-width: 100%;
    height: auto;
}
#visite-3d > div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: calc(100% - 70px);
    max-width: 1700px;
    padding: 20px;
    background-color: rgba(255,255,255,.6);
}
#visite-3d > div div {
    background-color: #f1d8de;
    border: solid #b93b5d 5px;
    padding: 20px;
    text-align: center;
}
#visite-3d h4, #visite-3d p {
    color: #bc3b5e;
}
#visite-3d h4 {
    font-size: 1.4em;
}
#visite-3d p {
    padding-top: 5px;
    font-size: 1.2em;
    font-style: italic;
}