/*--------------------------------------------------------------
Normalize
Styles based on Normalize v5.0.0 @link https://github.com/necolas/normalize.css
--------------------------------------------------------------*/

html {
	font-family: sans-serif;
	line-height: 1.15;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
}

article,
aside,
footer,
header,
nav,
section {
	display: block;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

figcaption,
figure,
main {
	display: block;
}

figure {
	margin: 1em 0;
}

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

hr {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects;

    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;      
}

a:active,
a:hover {
	outline-width: 0;
}

a, a:focus, a:hover, a:active, a:visited, button, button:focus, button:hover, button:active, button:visited, input, input:focus, input:hover, input:active, input:visited, select, select:focus, select:hover, select:active, select:visited, textarea, textarea:focus, textarea:hover, textarea:active, textarea:visited {
    outline: 0;
    text-decoration: none;
}
*:focus {
    outline: none;
}

abbr[title] {
	border-bottom: 1px #767676 dotted;
	text-decoration: none;
}

b,
strong {
	font-weight: inherit;
}

b,
strong {
	font-weight: 400;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

dfn {
	font-style: italic;
}

mark {
	background-color: #eee;
	color: #222;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

audio,
video {
	display: inline-block;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

img {
	border-style: none;
}

svg:not(:root) {
	overflow: hidden;
}

button,
input,
optgroup,
select,
textarea {
	font-family: sans-serif;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	border: 1px solid #bbb;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	display: inline-block;
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
  margin-right: 5px;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

details,
menu {
	display: block;
}

summary {
	display: list-item;
}

canvas {
	display: inline-block;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

* {
	margin:0;
	padding:0;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	-webkit-tap-highlight-color:transparent
}

button {
    text-decoration: none;
    outline: 0;
}

a {
    outline: 0;
    color: inherit;
    text-decoration: none;
    /*transition: color 300ms cubic-bezier(0.4, 0.8, 0.74, 1);*/
}

a:link, a:visited:link {
    -webkit-tap-highlight-color: transparent;
}

p a {
    text-decoration: underline;
}

img.scale-with-grid {
    display: block;
    height: auto !important;
    width: 100% !important;
}

.transition {
    -webkit-transition: all .25s ease-out;
       -moz-transition: all .25s ease-out;
        -ms-transition: all .25s ease-out;
         -o-transition: all .25s ease-out;
            transition: all .25s ease-out;
}

.transition2 {
    -webkit-transition: visibility 0s 1s,-webkit-transform 1s cubic-bezier(.75,0,.25,1);
    transition: visibility 0s 1s,-webkit-transform 1s cubic-bezier(.75,0,.25,1);
    transition: transform 1s cubic-bezier(.75,0,.25,1),visibility 0s 1s;
    transition: transform 1s cubic-bezier(.75,0,.25,1),visibility 0s 1s,-webkit-transform 1s cubic-bezier(.75,0,.25,1);
    will-change: transform;
}


/**
 * Owl Carousel v2.3.3
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}

.owl-carousel .owl-stage, .owl-carousel.owl-drag .owl-item{
    -ms-touch-action: auto;
        touch-action: auto;
}

/*--------------------------------------------------------------
Fonts
--------------------------------------------------------------*/

@font-face {
  font-family: "Avenir";
  src: local('Avenir Light'),  
          url("../fonts/Avenir-Light-07.eot"); /* IE9 Compat Modes */
  src: url("../fonts/Avenir-Light-07.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
    url("../fonts/Avenir-Light-07.otf") format("opentype"), /* Open Type Font */
    url("../fonts/Avenir-Light-07.svg") format("svg"), /* Legacy iOS */
    url("../fonts/Avenir-Light-07.ttf") format("truetype"), /* Safari, Android, iOS */
    url("../fonts/Avenir-Light-07.woff") format("woff"), /* Modern Browsers */
    url("../fonts/Avenir-Light-07.woff2") format("woff2"); /* Modern Browsers */
  font-weight: 100;
  font-style: normal;
}

@font-face {
  font-family: "Avenir";
  src: local('Avenir Medium'),  
          url("../fonts/Avenir-Medium-09.eot"); /* IE9 Compat Modes */
  src: url("../fonts/Avenir-Medium-09.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
    url("../fonts/Avenir-Medium-09.otf") format("opentype"), /* Open Type Font */
    url("../fonts/Avenir-Medium-09.svg") format("svg"), /* Legacy iOS */
    url("../fonts/Avenir-Medium-09.ttf") format("truetype"), /* Safari, Android, iOS */
    url("../fonts/Avenir-Medium-09.woff") format("woff"), /* Modern Browsers */
    url("../fonts/Avenir-Medium-09.woff2") format("woff2"); /* Modern Browsers */
  font-weight: 400;
  font-style: normal;
}

/*@font-face {
  font-family: "Didot";
  src: url("../fonts/Didot-01.eot");
  src: url("../fonts/Didot-01.eot?#iefix") format("embedded-opentype"),
    url("../fonts/Didot-01.otf") format("opentype"),
    url("../fonts/Didot-01.svg") format("svg"),
    url("../fonts/Didot-01.ttf") format("truetype"),
    url("../fonts/Didot-01.woff") format("woff"),
    url("../fonts/Didot-01.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}*/


/*--------------------------------------------------------------
Structure
--------------------------------------------------------------*/

body {
    color: #000;
    background: #fff;
    font-family: "Avenir",Arial,sans-serif;
    font-weight:100;
    /*font-size:100%;*/
    font-size: 1.6rem;
    /*letter-spacing: .07rem;*/
    cursor: default;
}

body, html {
    width: 100%;
    height: auto;
    min-height: 100%;
}

body.menu-open {
    overflow: hidden;
}

html {
  font-size: 62.5%;
  /*font-size: calc(1em * 0.625); IE */
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

.size-thumbnail{width:33%; height:auto;}
.size-medium{width:50%; height:auto;}
.size-large{width:100%; height:auto;}
.size-full{max-width:100%; height:auto;}
.alignleft{position:relative; display:block; float:left; margin:0 1.5em 1.5em 0;}
.alignright{position:relative; display:block; float:right; margin:0 0 1.5em 1.5em;}
.aligncenter{position:relative; display:block; clear:both; margin: 1.5em auto;text-align: center;}
/*.textZone :focus{outline:none}*/

.wp-block-embed__wrapper {
  display: inline-block;
}


p img {
    display: block;
    max-width: 100%;
    height: auto;
}

input, select, th, td {font-size:1em;}

.wrapper {
    width:100%;
    overflow: hidden;
}

section {
  position: relative;
}

section.content {
    position: relative;
    width: 100%;
    padding: 50px 0;
}

body:not(.page-template-home) main {
  margin-top: 100px;
}

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

    body:not(.page-template-home) main {
        margin-top: 70px;
    }

    section.content {
        padding: 30px 0;
    }  

}


/*----------------------------------------------------------------------------------------------------------------------------
  PageNavi
----------------------------------------------------------------------------------------------------------------------------*/

.wp-pagenavi {
    margin: 20px auto auto auto;
    width: 100%;
}

.wp-pagenavi a, .wp-pagenavi span {
    position: relative;
    font-size: 1.5rem;
    font-weight: 100;
    color: #979797;
    text-decoration: none;
    border: none;
    padding: 0;
    margin: 0 12px;
    letter-spacing: .2rem;
}
.wp-pagenavi a.current {
    cursor: default;
    color: #000;
    font-weight: 400;
    /*margin-left: 70px;*/
    margin-right: 70px;
}
.wp-pagenavi a:hover {
    color: #000;
}
.wp-pagenavi span.pages, .wp-pagenavi .extend, .wp-pagenavi .nextpostslink, .wp-pagenavi .last, .wp-pagenavi .previouspostslink {
    display: none;
}

.wp-pagenavi .current:after {
    content: '';
    position: absolute;
    width: 50px;
    height: 1px;
    background-color: #000;
    display: block;
    left: 35px;
    top: 50%;
}
/*.wp-pagenavi span.current:before {
    left: -70px;
}*/


/*----------------------------------------------------------------------------------------------------------------------------
  Typographie
----------------------------------------------------------------------------------------------------------------------------*/

h1 {
    font-family: 'EB+Garamond', serif;
    color: inherit;
    font-size: 6rem;
    line-height: 1.2;
    text-align: center;
    text-transform: none;
    position: relative;
    display: inline-block;
    padding: 0;
    margin: auto;
    font-weight: 400;
    letter-spacing: .07rem;
    color: #fff;
    max-width: 65vw;
}


h2 {
    font-family: 'EB+Garamond', serif;
    font-size: 2.6rem;
    line-height: 3.2rem;
    text-align: left;
    text-transform: none;
    position: relative;
    padding: 0;
    margin-bottom: 20px;
    color: inherit;
    font-weight: 400;
    display: inline-block;
}

h2.block-headline {
    font-size: 4rem;
    line-height: 1;
    text-align: center;
    display: inline-block;
    margin: auto auto 50px auto;
}
.white {
    color: #fff !important;
}

h2.block-related-post {
    font-size: 3.2rem;
    line-height: 1;
    text-align: center;
    display: inline-block;
    margin: auto auto 30px auto;
}

h3 {
    font-family: 'EB+Garamond', serif;
    font-size: 2.5rem;
    line-height: 1.2;
    letter-spacing: normal;
    margin-bottom: 30px;    
    text-align: left;
    text-transform: none;
    position: relative;
    padding: 0;
    color: inherit;
    font-weight: 400;
    display: inline-block;
}
h3.white {
    color: #fff;
}

h4 {
    display: block;
    font-family: 'EB+Garamond', serif;
    font-size: 1.8rem;
    line-height: 1;
    margin-bottom: 10px;
    text-align: left;
    text-transform: none;
    position: relative;
    color: inherit;
    font-weight: 400;
}

h5 {
    font-size: 1.8rem;
    line-height: 2.2rem;
    font-weight: 600;
    margin-bottom: 10px;
    color: #fff;
    text-align: left;
    text-transform: uppercase;
    position: relative;
    display: inline-block;
}

h6 {
    font-size: 1.8rem;
    line-height: 2.2rem;
    font-weight: 600;
    margin-bottom: 10px;
    color: #fff;
    text-align: left;
    text-transform: none;
    position: relative;
    display: inline-block;
    width: 100%;
}

@media screen and (max-width: 1020px) {
    h1 {
        font-size: 3.0rem;
        line-height: 1.1;
        max-width: 85vw;
    }
}

/*----------------------------------------------------------------------------------------------------------------------------
  Icon Scroll
----------------------------------------------------------------------------------------------------------------------------*/

.icon-scroll,
.icon-scroll:before {
    position: absolute;
    left: 50%
}
.icon-scroll {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);     
    width: 24px;
    height: 38px;
    bottom: 7vh;
    border: 1px solid #fff;
    border-radius: 25px;
    z-index: 100;
}

.icon-scroll:before {
    content: '';
    width: 3px;
    height: 8px;
    border: 1px solid #fff;
    margin-left: -3px;
    top: 8px;
    border-radius: 4px;
    animation-duration: 1.5s;
    animation-iteration-count: infinite;
    animation-name: scroll
}

@-webkit-keyframes scroll {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0;
        transform: translateY(12px)
    }
}

@keyframes scroll {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0;
        transform: translateY(12px)
    }
}

@media screen and (max-width: 1020px) {
    .icon-scroll {
      display: none;
    }
}


/*----------------------------------------------------------------------------------------------------------------------------
  Overlay
----------------------------------------------------------------------------------------------------------------------------*/

.overlay {
    /* display: none; */
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    z-index: 400;
    overflow: hidden;
    visibility: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    -webkit-transition: all .25s ease-out;
    transition: all .25s ease-out;
}

.overlay__content__wrapper {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    overflow-y: scroll;
    width: 100vw;
    height: 100%;
}

.overlay:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #fff;
    /*opacity: .6;*/
    z-index: -1;
}

.overlay__content {
    width: 90%;
    max-width: 900px;
    padding: 20px;
    text-align: center;
    position: relative;
    margin: auto;
}

.btn__close {
    position: absolute;
    top: 20px;
    right: 20px;
    border: 0;

    border: 0;
    cursor: pointer;
    border-radius: 100%;
    color: #333;
    display: inline-block;
    width: 40px;
    height: 40px;
    background: transparent;
    -webkit-transition: transform .25s ease-in-out;
    -moz-transition: transform .25s ease-in-out;
    -ms-transition: transform .25s ease-in-out;
    -o-transition: transform .25s ease-in-out;
    transition: transform .25s ease-in-out;
}
.btn__close:hover{
    -webkit-transform:rotate(180deg);
    transform:rotate(180deg);
}
.btn__close:before {
    content: "";
    position: absolute;
    display: block;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 35px;
    height: 0;
    border-top: 2px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: center;
    transform-origin: center;
}
.btn__close:after {
    content: "";
    position: absolute;
    display: block;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 35px;
    height: 0;
    border-top: 2px solid #000;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: center;
    transform-origin: center;
}

body.overlay__open__search .overlay-search {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
}

/*----------------------------------------------------------------------------------------------------------------------------
  Search Form
----------------------------------------------------------------------------------------------------------------------------*/

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #000000;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #000000;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #000000;
}
:-moz-placeholder { /* Firefox 18- */
  color: #000000;
}

/* Change Autocomplete styles in Chrome*/
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  /*border: 1px solid green;*/
  /*-webkit-text-fill-color: green;*/
  /*-webkit-box-shadow: 0 0 0px 1000px #999 inset;*/
  /*transition: background-color 5000s ease-in-out 0s;*/
   -webkit-transition-delay: 9999s;
   transition-delay: 9999s;  
}

input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}

.search-title {
  color: #fff;
  font-size: 3rem;
  font-weight: 600;
  text-align: left;
  margin: 5px;
}

.block-search {
  width: 100%;
  position: relative;
}

.block-search input {
    display: block;
    width: 100%;
    /*height: 80px;*/
    border: 0;
    border-radius: 0;
    color: #000;
    padding: 0 0 40px 0;
    background-color: #fff;
    font-family: 'EB+Garamond', serif;
    font-size: 5rem;
    line-height: 100%;
    font-weight: 400;
    font-style: normal;
    transition: all 300ms ease;
    margin: 10px 5px;
    border-bottom: 3px solid #000;
}

.block-search .search-submit {
    display: inline-block;
    background-color: transparent;
    border: 0;
    margin: 10px 5px;
}

.block-search.xs {
    max-width: 450px;
    border-bottom: 3px solid #000;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 50px;
}
.block-search.xs input {
    flex: 1;
    padding: 0 0 10px 0;
    margin: 0;
    font-size: 3.5rem;
    border-bottom: 0px solid #000;
    display: inline-block;
    vertical-align: middle;
}
.block-search.xs .search-submit {
    display: inline-block;
    vertical-align: middle;
}

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

  .block-search {
    display: block;
  }

  .search-title {
    font-size: 2.2rem;
    margin: 0 0 10px 0;
  }

  .block-search input {
    width: 100%;
    margin: 0 0 10px 0;
    height: 60px;
    font-size: 4rem;
    padding: 0 0 20px 0;    
  }

  .block-search .search-submit {

  }  

    .block-search.xs {
        /*max-width: 300px;*/
        margin-bottom: 30px;
    }  
    .block-search.xs input {
        font-size: 2.8rem;
    }

}


/*----------------------------------------------------------------------------------------------------------------------------
  Button
----------------------------------------------------------------------------------------------------------------------------*/

.btn,
.woocommerce .woocommerce-message .woocommerce-Button {
    background-color: transparent;
    border: none;
    color: #ed1c24;
    fill: #fff;
    padding: 0;
    display: inline-block;
    text-transform: none;
    font-size: 1.6rem;
    font-weight: 100;
    margin-top: 0;
    margin-bottom: 0;
    z-index: 0;
    position: relative;
    cursor: pointer;
    text-decoration: none;
    z-index: 100;
    border-radius: 0;
    -webkit-transition: transform .25s ease-in-out;
    -moz-transition: transform .25s ease-in-out;
    -ms-transition: transform .25s ease-in-out;
    -o-transition: transform .25s ease-in-out;
    transition: transform .25s ease-in-out;        
}
.woocommerce .woocommerce-message .woocommerce-Button:hover {
    background-color: transparent;
    color: #ed1c24;
}

.btn span.btn__txt, .btn span.btn__icon svg {
  color: #ed1c24;
  fill: #ed1c24;
  transition: 0.5s all cubic-bezier(.75,0,.25,1);
  transition-delay: 0.25s; 
}

.btn span.btn__txt {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    white-space: nowrap
}

.btn span.btn__icon {
    display: inline-block;
    vertical-align: middle;
    position: relative;    
}
.btn span.btn__icon svg {
    display: block;
    width: 10px;
    height: 10px;
    margin-left: 5px;

    -webkit-transition: transform .25s ease-in-out;
    -moz-transition: transform .25s ease-in-out;
    -ms-transition: transform .25s ease-in-out;
    -o-transition: transform .25s ease-in-out;
    transition: transform .25s ease-in-out;    
}
.btn span.btn__icon__arrow svg {
    width: 8px;
    height: 8px;
}

.btn:hover span.btn__icon:not(.btn__icon__arrow) svg,
.list-products .item-product-woocommerce:hover .btn span.btn__icon svg {
    -webkit-transform:rotate(180deg);
    transform:rotate(180deg);    
}
.list-products .item-product-woocommerce:hover .btn {
    -webkit-transform:translate(0,-5px);
    transform: translate(0,-5px);
}

.btn:hover span.btn__icon__arrow svg {
    -webkit-transform:translate(5px);
    transform: translate(5px);
}


.btn2, .gform_button {
    background-color: transparent;
    border: none;
    color: #000;
    padding: 18px 60px;
    display: inline-block;
    text-transform: none;
    font-size: 1.6rem;
    font-weight: 100;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;    
    z-index: 0;
    position: relative;
    cursor: pointer;
    text-decoration: none;
    border: 1px solid #000;
    border-radius: 0;
    text-align: center;
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;    
}
.btn2:hover, .gform_button:hover {
    color: #fff;
    background-color: rgba(0,0,0,1);
}


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

    .btn {
        font-size: 1.8rem;
    }

}

/*----------------------------------------------------------------------------------------------------------------------------
  header
----------------------------------------------------------------------------------------------------------------------------*/

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0 3vw;
  z-index: 500;
  background-color: #fff;

  text-align: center;  
  backface-visibility: hidden; 

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;  
}

@media screen and (max-width: 1020px) {
  header {
    overflow: visible; 
    padding: 0 20px;
  }
}

/*----------------------------------------------------------------------------------------------------------------------------
  header Left Nav.
----------------------------------------------------------------------------------------------------------------------------*/

#left-nav {
    position: relative;
    width: 150px;
    z-index: 10;
}


/*----------------------------------------------------------------------------------------------------------------------------
  header brand logo.
----------------------------------------------------------------------------------------------------------------------------*/

header a.brand {
    display: block;
    width: 100%;
    height: 100%;
}

header a.brand img {
    max-width: 100%;
    height: auto;
    display: block;
}


/*----------------------------------------------------------------------------------------------------------------------------
  Social Nav.
----------------------------------------------------------------------------------------------------------------------------*/


.social-nav-item {
    display: inline-block;
    margin: 0 2px;
    vertical-align: middle;
}

.social-nav-item a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;

    width: 30px;
    height: 30px;
    /*line-height: 30px;*/
    text-align: center;
}

.social-nav-item a svg {
    fill: #000;
  -webkit-transition: all .25s ease-out;
  -moz-transition: all .25s ease-out;
  -ms-transition: all .25s ease-out;
  -o-transition: all .25s ease-out;
  transition: all .25s ease-out;
  transition-delay: .25s;      
}

.social-nav-item a:hover svg {
    fill: #ed1c24;
}




/*----------------------------------------------------------------------------------------------------------------------------
  Menu Button.
----------------------------------------------------------------------------------------------------------------------------*/

.menu-button {
  border: none;
  background-color: transparent;
  display: none;
  position: relative;
  z-index: 100;
  width: 32px;
  height: 70px;

  -webkit-transition: all .25s ease-out;
  -moz-transition: all .25s ease-out;
  -ms-transition: all .25s ease-out;
  -o-transition: all .25s ease-out;
  transition: all .25s ease-out;
  transition-delay: .25s;  

}



.line-wrapper {
  margin-bottom: 5px;
}

.menu-button .line {
  width: 32px;
  height: 2px;
  background-color: #000;
  display: block;
  -webkit-transition: -webkit-transform .5s cubic-bezier(.75,0,.25,1);
  transition: -webkit-transform .5s cubic-bezier(.75,0,.25,1);
  transition: transform .5s cubic-bezier(.75,0,.25,1);
  transition: transform .5s cubic-bezier(.75,0,.25,1),-webkit-transform .5s cubic-bezier(.75,0,.25,1);
  will-change: transform;     
}

.menu-button .line:nth-child(2) {
  /*  -webkit-transform: scale(0.9);
    transform: scale(0.9);*/
}

.menu-button .line {
    margin-top: 5px;
}

.menu-open .menu-button .line:nth-child(1) {
    -webkit-transform: rotate(-45deg) translate(-1px,2px);
    transform: rotate(-45deg) translate(-1px,2px);
}

.menu-open .menu-button .line:nth-child(2) {
    -webkit-transform: scale(1) rotate(45deg) translate(-3px,-3px);
    transform: scale(1) rotate(45deg) translate(-3px,-3px);
}

.menu-open .menu-button .line:nth-child(3) {
    -webkit-transform: scale(0);
    transform: scale(0);
}


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


  header a.brand {
    max-width: 90px;
  } 
  .menu-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  /*#social-nav.no_main_nav {
      position: absolute;
      bottom: auto;
      right: 0;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      top: 50%;
      text-align: center;
  }   */    

}


/*----------------------------------------------------------------------------------------------------------------------------
  Main Nav. container
----------------------------------------------------------------------------------------------------------------------------*/

#main-nav-container {
display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100px;
    position: relative;
}



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

  #main-nav-container {
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;

    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
    overflow-x: hidden;
    visibility: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);

    -webkit-transition: visibility 0s 1s,-webkit-transform 1s cubic-bezier(.75,0,.25,1);
    transition: visibility 0s 1s,-webkit-transform 1s cubic-bezier(.75,0,.25,1);
    transition: transform 1s cubic-bezier(.75,0,.25,1),visibility 0s 1s;
    transition: transform 1s cubic-bezier(.75,0,.25,1),visibility 0s 1s,-webkit-transform 1s cubic-bezier(.75,0,.25,1);
    will-change: transform;     
  }

  .menu-open #main-nav-container {
    
    /*-ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-content: center;
    width: 100%;

    -ms-flex-direction: column;
    flex-direction: column;  

 
    backface-visibility: hidden;*/


    visibility: visible;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    -webkit-transition-delay: 0s,0s;
    transition-delay: 0s,0s;  
  }


}

/*----------------------------------------------------------------------------------------------------------------------------
  Main Nav.
----------------------------------------------------------------------------------------------------------------------------*/


.main-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;  
}

#main-nav.alignment_left {
    text-align: left;
}

ul.main-nav-list li {
    margin: 0 20px;
    display: inline-block;
    position: relative;
    vertical-align: middle;
}

ul.main-nav-list li.right-nav-item {
    position: absolute;
    margin: 0 8px;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);    
}

.main-nav-item a, .menu-item a {
    display: inline-block;
    position: relative;  
    font-family: "Avenir",Arial,sans-serif;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
    color: #000;
    padding: 10px 10px;
    z-index: 10;
    -webkit-transition: all .25s ease-out;
       -moz-transition: all .25s ease-out;
        -ms-transition: all .25s ease-out;
         -o-transition: all .25s ease-out;
            transition: all .25s ease-out;
}


body.desktop header .main-nav-item a:hover, header li.main-nav-item.active > a { 
  color: #ed1c24;
}


#right-nav {
    position: relative;
}


ul.right-nav-list {
    position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;  
  align-items: center;
}




ul.right-nav-list li {
    position: relative;
    margin: 0 8px;
}
ul.right-nav-list li:last-child {
    margin-right: 0;
}
li.right-nav-item a {
    display: inline-block;
    position: relative;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1;
    text-transform: none;
    color: #000;
    padding: 10px 10px;
    z-index: 10;
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
}

li.right-nav-item a svg {
    stroke:#000;
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;       
}

li.right-nav-item .nbr {
    position: absolute;
    right: 7px;
    bottom: 7px;
    width: 16px;
    background-color: #000;
    border-radius: 50%;
    text-align: center;
    font-size: .9rem;
    line-height: 17px;
    color: #fff;
    height: 16px;
}
li.right-nav-item .nbr.count0 {
    display: none;
}

a.search-btn {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
a.search-btn svg {
    fill:#000;
    stroke:#000;
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;    
}

body.desktop li.right-nav-item a:hover svg, body.desktop a.search-btn:hover svg { 
  stroke: #ed1c24;
}



@media screen and (max-width: 1400px) {
  .main-nav-item a, .menu-item a {
      font-size: 1.3rem;
      padding: 10px 10px;
  }
}

@media screen and (max-width: 1200px) {
  .main-nav-item a, .menu-item a {
      font-size: 1.0rem;
      padding: 10px 6px;
  }
}

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

    #right-nav {

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    }

    ul.right-nav-list {
        padding-right: 10px;
        margin-right: 20px; 
    }

    ul.right-nav-list:after { 
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        background-color: rgba(0,0,0,.15);
        width: 1px;
        display: block;
        height: 100%;
    }

    ul.right-nav-list li:first-child {
        /*display: none;*/
    }  
    ul.right-nav-list li {
        margin: 0 2px;
    }  

    #main-nav {
    /*background-color: #ff0000;*/
    width: 80%;
    max-width: 350px;
    padding: 70px 0px 20px 0px;
    margin: auto;
    /*border-bottom: 1px solid rgba(255,255,255,.4);    */
/*      position: absolute;
      top: 50%;
      left: 0;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);  */  
  } 

  

  .main-nav-list {
    display: block;
  }

  ul.main-nav-list li {
    margin: 0;
    display: block;
    padding: .6vh 0;
    text-align: center;
  }

    ul.main-nav-list li.right-nav-item {
    position: relative;
    top: auto;
    right: auto;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    }  

    ul.main-nav-list li.right-nav-item a {
        font-size:1.8rem;
    }

  .main-nav-item a, .menu-item a {
    font-size: 2.5rem;
    padding: 10px 0;
    text-transform: none;
    font-weight: 400;
  }

    .main-nav-item a:after {
    width: 100%;
    left: 0;
    }
}

/*----------------------------------------------------------------------------------------------------------------------------
  Lang Nav.
----------------------------------------------------------------------------------------------------------------------------*/

li.right-nav-item a.lang-nav-show {
    background-color: rgba(255,255,255,.05);
}
.lang-nav-show:after {
    content: "";
    position: absolute;
    width: 8px;
    height: 4px;
    background-image: url(../images/dropdown.svg);
    background-repeat: no-repeat;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

ul.lang-nav {
    visibility: hidden;
    /*background-color: #FFFFFF;*/
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    /*min-width: 100%;*/
    margin: 0;
    padding: 0;
    text-align: left;
    list-style: none;  
    transition: all .25s ease-out;
    opacity: 0;  
}

.lang-nav-show:hover + ul.lang-nav, ul.lang-nav:hover {
    visibility: visible;
    /*background-color: rgba(255,255,255,.5);*/
    /*color: #ed1c24;*/
    opacity: 1;  

    /*-webkit-animation: fadeIn 250ms ease-out both;
    animation: fadeIn 250ms ease-out both;*/
}

ul.lang-nav li {
    position: relative;
    margin: 0;
    display: block;
}

ul.lang-nav li a {
    background-color: rgba(255,255,255,.05);
    color: #000;
    width: 100%;
    text-align: left;
    font-size: 1.4rem;
    padding: 10px;
    position: relative;
    display: block;
}

ul.lang-nav li a:hover {
    color: #ed1c24;
}

ul.lang-nav li.current-lang {
    display:  none;
}

/*----------------------------------------------------------------------------------------------------------------------------
  Animation menu mobile
----------------------------------------------------------------------------------------------------------------------------*/

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

    ul.main-nav-list li {
        opacity: 0;
        transform: translateY(50px);
        transition: all 300ms 300ms ease;    
    }

    body.menu-open ul.main-nav-list li {
        opacity: 1;
        transform: translateY(0px);
        transition: all 300ms 300ms ease;      
    }

    body.menu-open ul.main-nav-list li:nth-child(1) {transition: all 300ms 600ms ease;}
    body.menu-open ul.main-nav-list li:nth-child(2) {transition: all 300ms 750ms ease;}
    body.menu-open ul.main-nav-list li:nth-child(3) {transition: all 300ms 900ms ease;}
    body.menu-open ul.main-nav-list li:nth-child(4) {transition: all 300ms 1050ms ease;}
    body.menu-open ul.main-nav-list li:nth-child(5) {transition: all 300ms 1200ms ease;}
    body.menu-open ul.main-nav-list li:nth-child(6) {transition: all 300ms 1350ms ease;}

    body.menu-open ul.main-nav-list li.right-nav-item {transition: all 300ms 1450ms ease;}


}



/*----------------------------------------------------------------------------------------------------------------------------
  Block title
----------------------------------------------------------------------------------------------------------------------------*/

.block-center {
    position: relative;
    width: 100%;
    text-align: center;
}

.block__title__v1 {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;

    color: #000;
    font-weight: 400;
    font-size: 6rem;
    text-transform: uppercase;
}



.block__title__v2 {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;

    color: #000;
    font-weight: 400;
    font-size: 5rem;
    text-transform: uppercase;
}

.block__title__v2:after {
    content: '';
    position: absolute;
    left: 50%;
    top: calc(100% + 20px);
    display: inline-block;
    height: 120px;
    width: 2px;
    margin-left: auto;
    margin-right: auto;
    background-color: #b5a58b;
    transform: translateX(-50%);
}


.block__title__v1 span:first-child, .block__title__v2 span:first-child {
    position: relative;
  display: inline-block;
  /*color: #b8a88f;*/
  text-transform: none;
  position: relative;
  line-height: 1;
  font-style: italic;
}
.block__title__v1 span:last-child, .block__title__v2 span:last-child {
    position: relative;
  display: inline-block;
  /*margin-top: 5px;*/
  font-size: 130%;
  line-height: 1;
}

/* Alignement du titre */
.block__title__left { text-align: left }
.block__title__center { text-align: center }
.block__title__right { text-align: right }

/* Couleur de chaque ligne du titre */
.block__title__white__white span:first-child {
    color: #fff;
}
.block__title__white__white span:last-child {
    color: #fff;
}
.block__title__gold__black span:first-child {
    color: #bda88b;
}
.block__title__gold__black span:last-child {
    color: #000;
}

/* Line du titre */
.block__title__line__horizontal__line2 span:last-child:after {
    content: '';
    position: absolute;
    bottom: 9px;
    left: -140px;
    display: inline-block;
    height: 2px;
    width: 120px;
    background-color: #fff;
}
.block__title__line__horizontal__line1 span:first-child:after {
    content: '';
    position: absolute;
    bottom: 7px;
    left: -140px;
    display: inline-block;
    height: 2px;
    width: 120px;
    background-color: #b8a88f;
}

.block__title__line__horizontal__line2__gold__right span:last-child:after {
    content: '';
    position: absolute;
    bottom: 9px;
    right: -140px;
    display: inline-block;
    height: 2px;
    width: 120px;
    background-color: #bda88b;
}



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

  .block__title__v1 {
    font-size: 3.5rem;
  }

  .block__title__v2 {
    font-size: 3rem;
  }

}


/*----------------------------------------------------------------------------------------------------------------------------
  Posts Page
----------------------------------------------------------------------------------------------------------------------------*/

.post_infos {
    display: flex;
    margin-bottom: 30px;
    align-items: center;
}

.post_cat {
    position: relative;
    background-color: #000;
    color: #fff;
    padding: 5px 10px 5px 20px;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 100;
    font-size: 1.1rem;
    line-height: normal;
}
.post_cat:before {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background-color: #fff;
    top: 50%;
    left: 8px;
    display: block;
    position: absolute;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.post_infos_sep {
    width: 20px;
    height: 1px;
    background-color: #000;
    margin: 0 20px;
}

.post_date {
    font-family: 'EB+Garamond', serif;
    color: inherit;
    font-size: 1.7rem;
    line-height: 1;
    font-weight: 400;
}
.post_date span {
    text-transform: capitalize;
}

.related_post .post_infos {
    justify-content: center;
    align-content: center;
    margin: 0;    
}
.related_post .post_cat {
    background-color: #fff;
    color: #000;
    padding: 5px 10px 5px 20px;
    margin-right: 20px;
}
.related_post .post_cat:before {
    background-color: #000;
}
.related_post .post_infos_sep {
    display: none;
}
.related_post .post_date {
    color: #fff;
}

.related_post {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: stretch;
    margin-left: -20px;
    margin-right: -20px;
    width: 100%;
}

.related_post article {
    position: relative;
    width: 50%;
    padding: 0 20px;
     
    display: block;
}

.related_post article a {
    position: relative;
    display: block;
    /*background: #000; */
    overflow: hidden;
}

.related_post_infos {
    position: absolute;
    z-index: 10;
    width: 80%;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

.related_post_img {
    position: relative;
    display: block;
    width: 100%;
    padding-bottom: 60%;
    background-color: #000;
}

.related_post_img img {
    opacity: .7;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    position: absolute;
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
}

.related_post article a:hover .related_post_img img {
    -ms-transform-origin: 50% 50%;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -ms-transform: scale(1.05);
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

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

    .post_date {
        font-size: 1.2rem;
    }
    .post_cat {
        font-size: .8rem;
    }

    .related_post {
        margin-left: 0px;
        margin-right: 0px;
    }
    .related_post article {
        width: 100%;
        padding: 0;
        margin: 0 0 40px 0;
    }

    h2.block-related-post {
        font-size: 2.2rem;
    }
    .related_post h2.block-related-post {
        margin: 0;
    }

    .related_post .post_infos {
        display: none;
    }

}


/*----------------------------------------------------------------------------------------------------------------------------
  Home Banner
----------------------------------------------------------------------------------------------------------------------------*/

section.banner {
    position: relative;
    width: 100%;
    height: 100vh;
    background-color: #f5f5f5;
    min-height: 650px;
    margin-bottom: 50px;
}

.slider__home {
  position: absolute;
  width: 100%;
  height: 100%;
}

.slider__home .owl-stage-outer {
    height: 100%;
}
.slider__home .owl-stage {
    height: 100%;
}

.slider__home .owl-dots {
  position: absolute;
  top: 50%;
  right: 50px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); 
}
.slider__home .owl-dots .owl-dot {
    display: block;
    margin: 20px 0;
}
.slider__home .owl-dots .owl-dot span {
    width: 12px;
    height: 12px;
    background: #fff;
    opacity: .2;
    display: block;
    -webkit-backface-visibility: visible;
    transition: opacity .2s ease;
    border-radius: 50%;
}
.slider__home .owl-dots .owl-dot.active span {
  opacity: 1;
}

.slider__home .owl-item {
  height: 100%;
  background-color: #000;
}

.slider__home .item {
  width: 100%;
  height: 100%;
  position: relative;  
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;  
  overflow: hidden;
}

.slider__home .slide__picture {
    z-index: 10;
    opacity: .7;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}


.slider__home .slide__infos {
    z-index: 100;
    position: relative;    
    width: 90%;
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    flex-direction: column;
}

.slider__home .slide__infos__title {
  position: relative;
  color: #fff;
  margin-bottom: 30px;
  font-size: 6rem;
  font-weight: 400;
  line-height: 1;  
  text-align: center;
}
.slider__home .slide__infos__desc {
  color: #fff;
  font-size: 2.2rem;
  font-weight: 100;
  text-transform: uppercase;
  line-height: 3.5rem;  
  text-align: center;  
}

.btn__slide {
    position: absolute;
    bottom: 15vh;
}

.owl-nav {
    position: absolute;
    z-index: 100;
    right: 50px;
    bottom: 50px;
}

.owl-nav button {
    padding: 0;
    margin: 0;
    position: relative;
    width: 18px;
}

.owl-nav button.owl-prev {
    margin-right: 40px;
}

.owl-nav button svg {
    display: block;
    width: 100%;
    height: auto;
}
.owl-nav button.owl-next svg {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}

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

  section.banner {
    height: 95vh;
    min-height: 420px;
  }


  .slider__home .slide__infos__title {
    font-size: 5rem;
  }

  .slider__home .owl-dots {
    position: absolute;
    top: auto;
    bottom: 50px;
    right: auto;
    left: 50%;
    -webkit-transform: translate(-50%,0);
    transform: translate(-50%,0%); 
  }

  .slider__home .owl-dots .owl-dot {
      display: inline-block;
      margin: 0 10px;
  }

    .slider__home .owl-nav {
        display: none;
    }  

}


/*----------------------------------------------------------------------------------------------------------------------------
  Page Banner
----------------------------------------------------------------------------------------------------------------------------*/

#breadcrumbs {
    padding: 0;
    font-size: 1.4rem;
    font-weight: 300;
}
#breadcrumbs a {
    color: #000;
    text-decoration: underline;
}

.banner__page {
    /*display: block;*/
    position: relative;
    overflow: hidden;
    margin: 0 0 40px 0;
    /*padding-bottom: 30%;*/
    height: 300px;
    background: #f5f5f5;

    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -ms-flex-align: center;
    align-content: center;
    align-items: center;
}


.banner__page__bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #000;
}

.banner__page__bg img {
    opacity: .6;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    position: absolute;
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
}

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

    .banner__page {
        height: 200px;
        margin-bottom: 20px;
    }

}


/*----------------------------------------------------------------------------------------------------------------------------
  Block Paragraphe
----------------------------------------------------------------------------------------------------------------------------*/

.block-paragraphe {
    width: 100%;
    text-align: left;
}

/*----------------------------------------------------------------------------------------------------------------------------
  Block Images
----------------------------------------------------------------------------------------------------------------------------*/

.block-image {
    position: relative;
    /*padding: 0;*/
    margin-bottom: 50px;
    width: 100%;
    padding-bottom: 40%;
}
.container.fullscreen .block-image {
    padding-bottom: 38%;
}

img.absolute-cover {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    position: absolute;
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
}

@media screen and (max-width: 1020px) {
    .block-image {
        padding-bottom: 60%;
    }
}


/*----------------------------------------------------------------------------------------------------------------------------
  BLock Slider content
----------------------------------------------------------------------------------------------------------------------------*/

.block-slider-content {
    position: relative;
    padding: 0;
    width: 100%;
}

.block-slider-content .item {
    position: relative;
    padding-bottom: 40%;
    width: 100%;
    height: 100%;
}

.block-slider-content .slide__picture {
    z-index: 10;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.block-slider-content .owl-nav {
    position: relative;
    z-index: 100;
    right: auto;
    bottom: auto;
    text-align: right;
    padding-top: 25px;
}

.block-slider-content .owl-nav button {
    width: 15px;
    opacity: .2;    
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;    
}
.block-slider-content .owl-nav button:hover {
    opacity: 1;    
}

.block-slider-content .owl-nav button svg {
    
}


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

    .block-slider-content .item {
        padding-bottom: 60%;
    }

}


/*----------------------------------------------------------------------------------------------------------------------------
  BLock Emphase
----------------------------------------------------------------------------------------------------------------------------*/

.block-emphase, .block-histoire {
    position: relative;
    padding: 0;
    width: 100%;
    padding-bottom: 40%;    
    overflow: hidden;
}

.cache {
    position: absolute;
    background-color: #fff;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}

.block-emphase-infos {
    position: absolute;
    padding: 25px 50px;
    background-color: rgba(42,48,53,.95);
    z-index: 10;
    /* margin-left: 65%; */
    text-align: left;
    height: 100%;
    width: 35%;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;    
}

.block-emphase-logo {
    width: 120px;
    height: auto;
    display: block;
    margin-bottom: 30px;
}

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

    .block-emphase {
        padding-bottom: 0;
    }

    .block-emphase-infos {
        position: relative;
        padding: 25px;
        top: auto;
        right: auto;
        width: 100%; 
    }

}



/*----------------------------------------------------------------------------------------------------------------------------
  BLock Histoire
----------------------------------------------------------------------------------------------------------------------------*/

.block-histoire {
    background-color: #000;
}    

.block-histoire .block-emphase-infos {
    width: 100%;
    text-align: center;
    background-color:transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    align-items: center;     
}

.block-histoire img {
    opacity: .5;
}

.block-histoire p {
    text-align: center;
}

.block-histoire-infos-inner {
    width: 90%;
    max-width: 700px;
}

.block-histoire-infos-inner h3 {
    text-align: center;
}

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

    .block-histoire {
        padding-bottom: 0;
    }

}


/*----------------------------------------------------------------------------------------------------------------------------
  BLock Equipe
----------------------------------------------------------------------------------------------------------------------------*/

.block-team {
    position: relative;
    padding: 0;
    width: 100%;
}

ul.persons {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: stretch;
    margin-left: -20px;
    margin-right: -20px;
}

ul.persons li {
    position: relative;
    width: 25%;
    padding:0 20px;
    margin-bottom: 40px;
    text-align: left;
    overflow: hidden;
}

.person-photo-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 100%;  
    margin-bottom: 20px;
}

ul.persons li h4 {
    display: block;
    margin-bottom: 5px;
}

ul.persons li span {
    display: block;
    font-size: 1.4rem;
    line-height: 1;
    color: #666666;
    font-weight: 300;
}

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

    ul.persons li {
        width: 50%;
    }

}



/*----------------------------------------------------------------------------------------------------------------------------
  BLock Form
----------------------------------------------------------------------------------------------------------------------------*/

.block-form {
    text-align: left;
    flex: 1;
}

/*----------------------------------------------------------------------------------------------------------------------------
  BLock Video
----------------------------------------------------------------------------------------------------------------------------*/

.block-video {
    position: relative;
    padding: 0;
    width: 100%;
    text-align: left;
}

.video__wrapper {
    position: relative;
    width: 100%;
    display: inline-block;
    padding-bottom: 56.25%;
    background-color: #000;
}

.videos__cover {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
     background-position: center; 
    background-size: cover;
    /*opacity: .8;*/
}
.videos__cover {
    opacity: 1;
}

.videos__play {
    content: '';
    position: absolute;
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    overflow: hidden;
    width: 100px;
    height: 100px;
    background: transparent;
    border: 0;
    border-radius: 50%;
    opacity: 1;
    -webkit-transform: translate3d(-50%,-50%,0);
    transform: translate3d(-50%,-50%,0);
    -webkit-transition: opacity 1.2s ease;
    transition: opacity 1.2s ease;
}

.videos__play:after {
    content: '';
    position: absolute;
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    height: 0;
    width: 0;
    border-bottom: 25px solid transparent;
    border-left: 38px solid #fff;
    border-top: 25px solid transparent;
    -webkit-transform: translate3d(-40%,-50%,0);
    transform: translate3d(-40%,-50%,0);
}

.videos__player {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
}


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



}


/*----------------------------------------------------------------------------------------------------------------------------
  BLock Technique
----------------------------------------------------------------------------------------------------------------------------*/

.block-technique {
    position: relative;
    padding: 0;
    width: 100%;
}

ul.technique-liste {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: stretch;
    margin-left: -20px;
    margin-right: -20px;
}

ul.technique-liste li.technique-item {
    width: 33.3333%;
    padding:0 20px;
    margin-bottom: 40px;
    text-align: left;
}

ul.technique-liste li.technique-item .photo-wrapper {
    position: relative;
    width: 45%;
    padding-bottom: 45%;
    margin: auto auto 10px auto;
}

ul.technique-liste li.technique-item h3 {
    margin-left: auto;
    margin-right: auto;
    display: block;
    text-align: center;
}


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

    ul.technique-liste li.technique-item {
        width: 100%;
    }

}


/*----------------------------------------------------------------------------------------------------------------------------
  BLock Home Shop
----------------------------------------------------------------------------------------------------------------------------*/

section.block-shop {
    position: relative;
    width: 100%;
    padding: 60px 0 50px 0;
    background-color: transparent;
    margin-bottom: 50px;
    background-image:url(../images/block-shop-bg.jpg);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}



section.block-shop .products-list-wrapper {
    margin-bottom: 0;
    margin-top: 0;
}


ul.list-products.columns-3 li {
    /*width: 33.3333%;*/
    width: calc(33.3333% - 30px);
    margin-right: 15px;
    margin-left: 15px;
    margin-bottom: 25px;
}

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

    section.block-shop {
        background-size: 340%;
    }

    ul.list-products.columns-3 li {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }

    ul.list-products.columns-3 {
         margin-right: 0; 
         margin-left: 0; 
    }


}


/*----------------------------------------------------------------------------------------------------------------------------
  BLock Découvrir Atelier
----------------------------------------------------------------------------------------------------------------------------*/

section.block-decouvrir-atelier {
  position: relative;
  width: 100%;
padding: 50px 0;
}

.block-decouvrir-atelier__wrapper {
    position: relative;
    padding: 0;
    width: 100%;
    /*padding-bottom: 80%;*/
}

.block-decouvrir-atelier__wrapper .illustration img {
    object-fit: cover;
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;    
}

.block-decouvrir-atelier__infos {
    position: relative;
    padding: 100px 50px;
    background-color: rgba(42,48,53,.95);
    z-index: 10;
    margin-left: 65%;
    text-align: left;
}

.block-decouvrir-atelier__infos p {
    color: #fff;
}

.block-decouvrir-atelier__logo {
    width: 120px;
    height: auto;
    display: block;
    margin-bottom: 30px;
}


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

    section.block-decouvrir-atelier {
        padding: 25px 0;
    }

    .block-decouvrir-atelier__infos {
        position: relative;
        padding: 25px;
        z-index: 10;
        color: #fff;
        margin-left: auto;
    }

}



/*----------------------------------------------------------------------------------------------------------------------------
  News
----------------------------------------------------------------------------------------------------------------------------*/

section.news {
    position: relative;
    width: 100%;
    padding: 50px 0;
}

.news__wrapper {
    margin-bottom: 30px;
    display: block;
    width: 100%;
}

.posts__list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: stretch;

    margin-left: -20px;
    margin-right: -20px;    
}

.news__wrapper article {
    text-align: left;
    padding: 0 20px;
    margin-bottom: 40px;
    /*width: 33.3333%;*/
    width: 100%;
    margin-top: 0;
}
.news__wrapper article a {
    display: block;
}

.news__wrapper figure:not(.wp-block-embed) {
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0;
    padding-bottom: 100%;
    background: rgba(0,0,0,0.1);
    z-index: 100;
}

.news__wrapper figure img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    position: absolute;
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
}

.news__wrapper .article__content {
    padding: 20px 0 0 0;
    color: #000;
    position: relative;
}

.news__wrapper .article__desc {
}

.news__wrapper .article__desc p {
    padding: 0 0 20px 0;
    color: #666;
}

.columns {
    display: flex;
    width: 100%;
}

.column {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.nested-column {
    flex: .8;
}

.column:not(.nested-column) article {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: stretch;
}

.column:not(.nested-column) article a.figure-link {
    width: 50%;
    display: inline-block;
}
.column:not(.nested-column) article .article__content {
    flex: 1;
    padding: 0 0 0 22px;
}

.news__wrapper .article {
    display: flex;
    flex: 1;
    flex-direction: column;
    flex-basis: auto;
}

.news__wrapper article a:hover figure img {
    -ms-transform-origin: 50% 50%;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -ms-transform: scale(1.05);
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}


.owl-carousel.slider__news {
    display: none;
}
.owl-carousel.slider__news .owl-stage-outer {
    overflow: visible !important;
}
.owl-carousel.slider__news .owl-item {
    opacity: 1;
    -webkit-transition: all .5s ease-out;
    -moz-transition: all .5s ease-out;
    -ms-transition: all .5s ease-out;
    -o-transition: all .5s ease-out;
    transition: all .5s ease-out;    
}
.owl-carousel.slider__news .owl-item:not(.active) {
    opacity: .5;  
}
.news__wrapper .slider__news article {
    padding: 0 7.5vw 0 0;
}

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

    .page-template-home .posts__list,
    .page-template-page-home .posts__list,
    .home .posts__list {
        display: none !important;
    }
    .owl-carousel.slider__news {
        display: block;
    }    

    .columns, .column, .column:not(.nested-column) article {
        display: block;
    }

    .column:not(.nested-column) article a.figure-link {
        width: 100%;
    }    

    .column:not(.nested-column) article .article__content {
        padding: 20px 0 0 0;
    }

}


/*----------------------------------------------------------------------------------------------------------------------------
  Page Artists
----------------------------------------------------------------------------------------------------------------------------*/

.page-artists-wrapper {
    width: 100%;
    text-align: left;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: stretch;
}

.page-artists-col1 {
    position: relative;
    width: 50%;
}

.page-artists-col2 {
    flex: 1;
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 50%;    
}
/*.page-artists-col2:after {
    content: "";
    position: relative;
    padding-bottom: 100%;
}*/

.artist-photo-wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.artist-photo-wrapper img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    -o-object-fit: contain;
    position: absolute;
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
}

.fade-in {
    animation: fadeIn ease 1s;
    -webkit-animation: fadeIn ease 1s;
    -moz-animation: fadeIn ease 1s;
    -o-animation: fadeIn ease 1s;
    -ms-animation: fadeIn ease 1s;
}
@keyframes fadeIn {
    0% {opacity:0;}
    100% {opacity:1;}
}
@-webkit-keyframes fadeIn {
    0% {opacity:0;}
    100% {opacity:1;}
}

h1.page-artists-title {
    font-size: 4rem;
    color: #000;
    margin-bottom: 50px;
}

.page-artists-list {
    column-count: 2;
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-gap: 30px;
    -moz-column-gap: 30px;
    -webkit-column-gap: 30px;
}

.letter-list {
    position:relative;
    /*margin-bottom: 40px;*/
    padding-top: 5px;
    -webkit-column-break-inside: avoid; /* Chrome, Safari */
    page-break-inside: avoid;           /* Theoretically FF 20+ */
    break-inside: avoid-column;         /* IE 11 */
    display:table;                      /* Actually FF 20+ */    
}

.letter-list li {
    position:relative;
}

.page-artists-link {
    position: relative;
    color: #000;
    margin-bottom: 10px;
    padding-bottom: 10px;
    display: inline-block;
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;    
}
.page-artists-link.count0 {
    cursor: default !important;
}


.page-artists-link:hover {
    color: #ed1c24;
}

.page-artists-link:after {
    content: '';
    display: inline-block;
    position: absolute;
    width: 50px;
    height: 1px;
    left: 0;
    bottom: 0;
    pointer-events: none;
    background-color: #ed1c24;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
    transition: 0.5s transform cubic-bezier(.75,0,.25,1);
}

.page-artists-link:hover:after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

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

    .page-artists-list {
        /*column-count: 1;
        -moz-column-count: 1;
        -webkit-column-count: 1;*/
    }

    .page-artists-col1 {
        width: 100%;
    }    

    .page-artists-col2 {
        display: none;
    }

}

/*----------------------------------------------------------------------------------------------------------------------------
  Search Post
----------------------------------------------------------------------------------------------------------------------------*/

.search article {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: stretch;

    text-align: left;
    padding: 0;
    margin-bottom: 30px;
    width: 100%;

}

.search article a.figure-link {
    width: 25%;
    display: inline-block;
}

.search article figure {
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0;
    padding-bottom: 100%;
    background: rgba(0,0,0,0.1);
    z-index: 100;
}

.search article .article__content {
    flex: 1;
    padding: 0 0 0 50px;
    color: #000;
    position: relative;
}

.search article .article__desc p {
    padding: 0 0 20px 0;
    color: #666;
}

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

    .search article a.figure-link {
        width: 100%;
        display: inline-block;
    }
    .search article .article__content {
        padding: 20px 0 0 0;
    }
    .search article figure {
        padding-bottom: 60%;
    }
}

/*----------------------------------------------------------------------------------------------------------------------------
  Block Contact
----------------------------------------------------------------------------------------------------------------------------*/

.block-contact {
    text-align: left;
    margin-bottom: 50px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: flex-start;
    /* -ms-flex-align: center; */
    align-content: flex-start;
    align-items: stretch;
}


.block-contact-form {
    flex: 1;
}

.block-contact-information {
    width: 400px;
    padding-left: 150px;
}

.block-contact h3 {
    text-align: left;
    display: block;
    margin-bottom: 40px;
}

.block-contact-information-block {
    margin-bottom: 50px;
    text-align: left;
}    

.block-contact-information-block h3 {
    margin-bottom: 10px;
}

.block-contact-map {
    width: 100%;
    text-align: left;
}

.map_wrapper {
    width: 100%;
    height: 500px;
}

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

    .block-contact {
        flex-direction: column-reverse;
    }

    .block-contact-form {
        margin-bottom: 50px;
    }

    .block-contact-information {
        width: 100%;
        padding-left: 0;
    }

    .map_wrapper {
        height: 250px;
    }    

}

/*----------------------------------------------------------------------------------------------------------------------------
  GravityForm
----------------------------------------------------------------------------------------------------------------------------*/

.gform_wrapper input::-webkit-input-placeholder, .gform_wrapper textarea::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #6b6b6b;
  font-size: 1.4rem;
  font-style: italic;
}
.gform_wrapper input::-moz-placeholder, .gform_wrapper textarea::-moz-placeholder { /* Firefox 19+ */
    color: #6b6b6b;
    font-size: 1.4rem;
    font-style: italic;
}
.gform_wrapper input:-ms-input-placeholder, .gform_wrapper textarea:-ms-input-placeholder { /* IE 10+ */
    color: #6b6b6b;
    font-size: 1.4rem;
    font-style: italic;
}
.gform_wrapper input:-moz-placeholder, .gform_wrapper textarea:-moz-placeholder { /* Firefox 18- */
    color: #6b6b6b;
    font-size: 1.4rem;
    font-style: italic;
}

.gform_wrapper label a {
    color: #ed1c24;
    text-decoration: underline;
}

.page-template-contact .gform_wrapper,
.page-template-page-contact .gform_wrapper {
    margin-right: auto;
    margin-left: auto;
    text-align: left;
}

.page-template-contact .gform_wrapper .gform_fields,
.page-template-page-contact .gform_wrapper .gform_fields {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: stretch;    
}

.page-template-contact .gform_wrapper .gform_fields li.padding-right,
.page-template-page-contact .gform_wrapper .gform_fields li.padding-right, 
.page-template-contact .gform_wrapper .gform_fields li.padding-left,
.page-template-page-contact .gform_wrapper .gform_fields li.padding-left {
    width: 50%;
}

.page-template-contact .gform_wrapper .gform_fields li.padding-right,
.page-template-page-contact .gform_wrapper .gform_fields li.padding-right {
    padding-right: 20px; 
}

.page-template-contact .gform_wrapper .gform_fields li.padding-left,
.page-template-page-contact .gform_wrapper .gform_fields li.padding-left {
    padding-left: 20px; 
}

.page-template-contact .gform_wrapper .gform_fields li.checkbox,
.page-template-page-contact .gform_wrapper .gform_fields li.checkbox {
    padding: 0;
    width: 100%;
}

.gform_wrapper .gfield {
    width: 100%;
    flex-wrap: wrap;
    text-align: left;
}

.gfield_label {
    padding: 0 0 12px 12px;
    display: inline-block;
}

.page-template-contact .gfield.checkbox label .gfield_required,
.page-template-page-contact .gfield.checkbox label .gfield_required {
    display: none;
}

.gform_wrapper .ginput_container {
    width: 100%;
    margin-bottom: 20px;
}

.gform_wrapper .ginput_container input[type="text"], .gform_wrapper .ginput_container input[type="email"], .gform_wrapper .ginput_container input[type="tel"] {
    padding: 12px;
    width: 100%;
    border: solid 1px #efefef;
    background-color: #efefef;
}

input[type='text'], input[type='email'], input[type='tel'], textarea {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
}

.gform_wrapper textarea {
    padding: 12px;
    width: 100%;
    border: solid 1px #efefef;
    background-color: #efefef;
    outline: none !important;
}

.gform_wrapper .gfield_checkbox li {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: flex-start;
    /* -ms-flex-align: center; */
    align-content: flex-start;
    align-items: stretch;
}

.gform_wrapper .gfield_checkbox [type="checkbox"],
.woocommerce .woocommerce-form__input-checkbox {
    /*display: none;*/
    position: relative;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background: #efefef;
    border: 1px solid #efefef;
    border-radius: 0px;
    box-sizing: border-box;
    position: relative;
    box-sizing: content-box;
    width: 16px !important;
    height: 16px !important;
    transition: all .3s linear;
    margin-right: 10px !important;
    padding: 0 !important;    
    display: inline-block !important;
}

.gform_wrapper .gfield_checkbox [type="checkbox"]:checked,
.woocommerce .woocommerce-form__input-checkbox:checked  {
    border: 1px solid #ed1c24; 
    background-color: transparent;
}
.gform_wrapper .gfield_checkbox [type="checkbox"]:checked:before,
.woocommerce .woocommerce-form__input-checkbox:checked:before  {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    top: 3px;
    left: 3px;
    color: #ed1c24;
    border: 1px solid #ed1c24;
    background-color: #ed1c24;
}

.gform_wrapper .gfield_checkbox label {
    /*display: flex;*/
    flex: 1 1;
    cursor: pointer;
}



/*.gform_wrapper .gfield_checkbox label::before {
    content: "";
    font-family: "icomoon";
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    width: 18px;
    height: 18px;
    margin: 0.5em 15px 0 3px;
    border: 1px solid #F3CBC9;
    font-size: .75rem;
    color: #fff;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.gform_wrapper .gfield_checkbox [type="checkbox"]:checked+label:before {
    color: #ed1c24;
    border: 1px solid #ed1c24; 
    background-color: #ed1c24;
}*/

.gform_wrapper .gfield_error .validation_message {
    background: #ed1c24;
    margin-bottom: 20px;
    padding: 5px 13px;
    font-size: 1.4rem;
}

.gform_wrapper .validation_message {
    width: 100%;
    padding: 13px;
    color: #fff;
    margin-top: -20px;
}

.validation_error {
    margin-bottom: 20px;
}


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

    .page-template-contact .gform_wrapper .gform_fields li.padding-right,
    .page-template-page-contact .gform_wrapper .gform_fields li.padding-right,
    .page-template-contact .gform_wrapper .gform_fields li.padding-left,
    .page-template-page-contact .gform_wrapper .gform_fields li.padding-left {
        width: 100%;
        padding: 0;
    }

}

/*----------------------------------------------------------------------------------------------------------------------------
  404
----------------------------------------------------------------------------------------------------------------------------*/

body.error404 {
    background-image: url(../images/404.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}

/*
body.error404 {
    height: 100vh;
    overflow: hidden;
    background-image: url(../images/404.jpg);
    background-size: cover;
}

body.error404 main {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
}

body.error404 .wrapper {
    height: 100%;
}

section.page404 {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}*/

section.page404 {
    position: relative;
    height: calc(100vh - 230px);
    min-height: 550px;
}

section.page404 .container404 { 
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    width: 90%;
    text-align: center;
    padding: 50px 0;
}

.txt404__wrapper {
    position: relative;
    font-family: 'EB+Garamond', serif;
    color: #fff;
    margin-bottom: 50px;
}

.txt404 {
    font-size: 2.8rem;
    font-weight: 400;
    display: block;
    text-transform: uppercase;
    letter-spacing: .5rem;
}

.txt404__wrapper .txt404:first-child {
    margin-bottom: 250px;
}

.txt404__wrapper:after {
    content: "404";
    position: absolute;
    top: -120px;
    left: -35px;
    width: 100%;
    height: 100%;
    font-size: 40rem;
    font-weight: 400;
    letter-spacing: 1rem;
}

.btn__404 {
    display: inline-block;
    color: #000;
    font-size: 1.6rem;
    background-color: #fff;
    padding: 18px 60px;
}


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

    .txt404 {
        font-size: 1.3rem;
    }

    .txt404__wrapper .txt404:first-child {
        margin-bottom: 140px;
    }

    .txt404__wrapper:after {
        top: -55px;
        left: -20px;
        font-size: 20rem;
        letter-spacing: 1rem;
    }

}


/*----------------------------------------------------------------------------------------------------------------------------
  Shop single product
----------------------------------------------------------------------------------------------------------------------------*/

.woocommerce-message {
    /*display:none !important;*/
}

a.added_to_cart.wc-forward {
    display: none;
}

body header:before {
    content: '';
    visibility: hidden;
    opacity: 0;
    background-color: rgba(0,0,0,.7);
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;    
    transition: all 500ms ease;
}

body.msg-active header:before {
    opacity: 1;
    visibility: visible;    
}

.right-nav-item .msg {
    position: absolute;
    z-index: 99999;
    top: 58px;
    right: -42px;
    width: 250px;
    padding: 25px 35px;
    font-size: 1.6rem;
    line-height: 2.1rem;
    font-weight: 100;    
    /*opacity: 0;*/
    visibility: hidden;
    /*cursor: pointer;*/
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #fff;
    color: #020000;
    /*white-space: nowrap;*/
    transform: translate(0px,-300px);
    transition: all 400ms ease-in-out;
    transition-delay: 100ms;
}
.right-nav-item .msg:before {
    content: "";
    position: absolute;
    top: -12px;
    right: 50px;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 12.5px 15px 12.5px;
    border-color: transparent transparent #fff transparent;
}
.right-nav-item .msg a {
    color: #ed1c24;
    text-decoration: underline;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
}
/*.right-nav-item .msg.msg-active {*/
body.msg-active .msg {    
    opacity: 1;
    visibility: visible;
    transform: translate(0,0);
    
}

.container.container-single-product {
    width: 90vw;
    max-width: none;
}

.woocommerce div.product {
    width: 100%;

    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: flex-end;
    align-content: flex-start;
    align-items: flex-end;    
}

.woocommerce-product-gallery__image a {
    position: relative;
    display: block;
    /*background-color: rgba(0,0,0,.02);*/
}

.woocommerce-product-gallery__image a:before {
    display: block;
    width: 100%;
    padding-top: 85%;
    visibility: hidden;
    content: '';
}

.woocommerce-product-gallery__image a img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto !important;
    max-width: calc(100% - 30px);
    height: auto !important;
    max-height: calc(100% - 30px);
    transform: translate(-50%, -50%);
}

/*
.woocommerce-product-gallery__image a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}

.woocommerce-product-gallery.woocommerce-product-gallery--with-images div, .woocommerce-product-gallery__image {
    max-height: 297px;
}

.woocommerce-product-gallery__image a img {
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    -o-object-fit: contain;
    position: absolute;
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
}*/

.woocommerce div.product div.images.woocommerce-product-gallery {
    position: relative;
    width: 45vw;
    /*width: calc( ((90vw - 45vw) / 2) + 45vw);*/
    /*width : calc( 45vw + 130px);*/
    max-width: none;
    padding: 0;
    margin-bottom: 0;

    /*display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
    align-items: flex-start;
    flex-direction: row-reverse;  */ 
}

.woocommerce div.product div.images .flex-control-thumbs {
    overflow: hidden;
    zoom: 1;
    margin: 0;
    padding: 0;
    position: absolute;
    z-index: 100;
    width: 80px;
    top: 0;
    left: -130px;
}
.flex-viewport {
    width: 45vw;
}

.woocommerce div.product div.images .flex-control-thumbs li {
    width: 100%;
    float: none;
    margin: 0 0 20px 0;
    list-style: none;
}



.woocommerce div.product div.summary {
    /*flex: 1;*/
    /*width: calc( (90vw - 45vw) / 2);*/
    width: 28vw;
    text-align: left;
    padding-top: 50px;
    padding-left: 50px;
    position: relative;
    margin-bottom: 0;
}
.woocommerce div.product div.summary:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50px;
    background-color: #000;
    width: 40px;
    height: 1px;
}

.single-product p {
    color: #666666;
}

.product_attributes {
    color: #000;
    font-size: 1.5rem;
    font-weight: 100;
    line-height: 1;
    margin-bottom: 5px
}

.woocommerce div.product h1.product_title {
    color: #000;
    font-size: 3rem;
    text-align: left;
    letter-spacing: normal;
    max-width: 100%;
    margin-bottom: 5px
}

.product_category {
    margin-bottom: 20px;
}
.product_category a {
    color: #000;
    font-size: 1.6rem;
    font-weight: 100;
    line-height: 1;
}
.product_category a:hover {
    color: #ed1c24;
}

.woocommerce-product-details__short-description {
    margin-bottom: 20px;
}

.woocommerce div.product p.price, .woocommerce div.product span.price {
    color: #ed1c24;
    font-size: 1.6rem;
    font-weight: 100;
    margin-bottom: 20px;
    padding: 0;
}

.woocommerce div.product p.stock {
    font-size: 1.5rem;
    font-weight: 100;
    line-height: 1;
    color: #ed1c24;
    margin-bottom: 20px;
    padding: 0;
}

.woocommerce div.product p.stock.in-stock {
    display: none;
}

.woocommerce div.product form.cart {
    margin-bottom: 0;
}

.woocommerce div.product form.cart .button {
    color: #ed1c24;
    background-color: transparent;
    padding: 18px 60px;
    display: inline-block;
    text-transform: none;
    font-size: 1.6rem;
    font-weight: 100;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;    
    z-index: 0;
    position: relative;
    cursor: pointer;
    text-decoration: none;
    border: 1px solid #ed1c24;
    border-radius: 0;
    text-align: center;
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;  
}
.woocommerce div.product form.cart .button:hover {
    background-color: #ed1c24;
    color: #fff;
}

.woocommerce div.product form.cart .button.loading:after {
    top: 1.1em;
    right: 2.5em;
}

.woocommerce div.product form.cart div.quantity {
    float: none;
    margin: 0;
    margin-bottom: 20px;
}

.woocommerce div.product form.cart div.quantity select,
.woocommerce-cart-form .product-quantity .quantity select {
    border-radius: 0;
    border: none;
    padding: 8px 35px 8px 10px;
    background-color: #efefef;
    background-image: url(../images/dropdown-rouge.svg);
    background-repeat: no-repeat;
    background-size: 12px;
    background-position-x: 80%;
    background-position-y: 13px;
    font-size: 1.6rem;
    font-weight: 100;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}

.woocommerce .single-product-description {
    position: relative;
    width: 100%;
    text-align: left;
    margin-top: 50px;
}

.woocommerce .single-product-description h2 {
    display: block;
}

.woocommerce .single-product-description li {
    position: relative;
    padding-top: 40px;
    margin-bottom: 40px;    
}
.woocommerce .single-product-description li:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #000;
    width: 50px;
    height: 1px;
}


/*.woocommerce div.product div.images .flex-control-thumbs li {
    float: none;
    padding: 10px;
    list-style: none;
    width: 100%;
}
*/

ul.flex-direction-nav {
    position: absolute;
    top: 30%;
    z-index: 99999;
    width: 100%;
    left: 0;
    margin: 0;
    padding: 0px;
    list-style: none;}

li.flex-nav-prev {
    float: left;
        background: #ff0000;
}

li.flex-nav-next {
    float: right;
        background: #ff0000;
}

a.flex-next {visibility:hidden;}
a.flex-prev {visibility:hidden;}

a.flex-next::after {
    visibility:visible;content: '\f054';
    font-family: 'Font Awesome 5 Free';
    margin-right: 10px;
    font-size: 20px;   
    font-weight: bold;
}
a.flex-prev::before {
    visibility:visible;
    content: '\f053';
    font-family: 'Font Awesome 5 Free';   
    margin-left: 10px;
    font-size: 20px;
    font-weight: bold;
}
ul.flex-direction-nav li a {
    color: #ccc;
}
ul.flex-direction-nav li a:hover {
    text-decoration: none;
}

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

    .container.container-single-product {
        width: 85vw;
    }

    .woocommerce div.product div.images.woocommerce-product-gallery {
        width: 100%;
        margin-bottom: 40px;
    }

    .flex-viewport {
        width: 100%;
    }

    .woocommerce div.product div.images .flex-control-thumbs {
        position: relative;
        width: 100%;
        top: auto;
        left: auto;
    }
    .woocommerce div.product div.images .flex-control-thumbs li {
        width: 25%;
        float: left;
        padding: 10px;
        list-style: none;
    }    

    .woocommerce div.product div.summary {
        width: 100%;
        padding-left: 0;
    }

    .woocommerce div.product div.summary:before {
        left: 0;
    }

    .container.small2 {
        width: 85vw !important;
    }

}


/*----------------------------------------------------------------------------------------------------------------------------
  Pages WooCommerce - myaccount
----------------------------------------------------------------------------------------------------------------------------*/

.custom_wc_logout {
    color: #ed1c24;
    text-decoration: none;
    font-size: 1.4rem;
    font-weight: 300;    
}
.custom_wc_logout a span {
    display: inline-block;
    vertical-align: middle;
}
.custom_wc_logout a span.point {
    width: 6px;
    height: 6px;
    background-color: #ed1c24;
    margin-left: 10px;
    border-radius: 100%;
    display: inline-block;
    vertical-align: middle;
}

.woocommerce-account .woocommerce {
    /*max-width: 1024px;*/
    margin: 0 auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
    margin-right: 50px;
    -ms-flex: 0 0 300px;
    flex: 0 0 300px;
}

.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    width: auto;
}

.woocommerce-MyAccount-navigation ul li {
    margin-bottom: 15px;
}
.woocommerce-MyAccount-navigation ul li:last-child {
    /*margin-bottom: 0;*/
}
.woocommerce-MyAccount-navigation .btn2 {
    width: 100%;
}
.woocommerce-MyAccount-navigation li.is-active .btn2 {
    background-color: #000;
    color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content {
    text-align: left;
}

.select2-container--default .select2-selection--single {
    background-color: #efefef;
    border: 1px solid #efefef;
    border-radius: 0;
    width: 100%;
    height: 50px;    
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #6b6b6b;
    line-height: 50px;
    font-style: italic;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #888 transparent transparent transparent;
    border-style: solid;
    border-width: 5px 4px 0 4px;
    height: 0;
    left: 50%;
    margin-left: -4px;
    margin-top: 8px;
    position: absolute;
    top: 50%;
    width: 0;
}


.woocommerce ::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #6b6b6b;
}
.woocommerce ::-moz-placeholder { /* Firefox 19+ */
  color: #6b6b6b;
}
.woocommerce :-ms-input-placeholder { /* IE 10+ */
  color: #6b6b6b;
}
.woocommerce :-moz-placeholder { /* Firefox 18- */
  color: #6b6b6b;
}

.woocommerce form .form-row textarea,
.woocommerce form .form-row input,
.woocommerce form .form-row select,
#add_payment_method table.cart td.actions .coupon .input-text, .woocommerce-cart table.cart td.actions .coupon .input-text, 
.woocommerce-checkout table.cart td.actions .coupon .input-text,
.coupon .input-text  {
    float: none;
    display: block;
    width: 100%;
    height: 50px;
    padding: 0 15px;
    margin: 0;
    background-color: #efefef;
    border: 1px solid #efefef;
    border-radius: 0;
    font-size: 1.5rem;
    line-height: 130%;
    font-weight: 400;
    color: #6b6b6b;
    font-style: italic;
    transition: all 300ms ease;
    outline: 0;
}

.woocommerce-dashboard-wrapper {
    background-color: #efefef;
    padding: 50px;
}

.woocommerce-account .container.small {
    width: 75vw;
    max-width: 1200px;
}

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

    .woocommerce-account .woocommerce {
        display: block;
    }

    .woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
        margin-right: 0;
        text-align: left;
        background-color: #000;
        padding: 15px;
        margin-bottom: 20px;
    }    

    .woocommerce-MyAccount-navigation ul li {
        display: inline-block;
        margin-right: 15px;
    }
    .woocommerce-MyAccount-navigation ul li:last-child {
        margin-bottom: 0;
    }    

    .woocommerce-MyAccount-navigation-link a.btn2 {
        padding: 0;
        border: 0;
        display: inline-block;
        color: #fff;
    }

    .woocommerce-MyAccount-navigation li.is-active .btn2, .woocommerce-MyAccount-navigation li .btn2:hover {
        background-color: transparent;
        color: #fff;
        /* text-decoration: underline; */
        font-weight: 600;
    }    

}

/*----------------------------------------------------------------------------------------------------------------------------
  Pages WooCommerce - myaccount / edit-account
----------------------------------------------------------------------------------------------------------------------------*/

fieldset {
    border: none;
    margin: 0;
    padding: 0;
}

.fieldset-account-details {
    border-bottom: 1px solid rgba(0,0,0,.2);
    margin-bottom: 40px;
}


.woocommerce .title-block-shop {
    font-family: 'EB+Garamond', serif;
    margin-bottom: 26px;
    font-size: 2.6rem;
    line-height: 1;
    font-weight: 400;
}

.woocommerce-account .edit-account-content .cols-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -25px;
    margin-left: -25px;
}

.woocommerce-account .edit-account-content .cols-wrapper>* {
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    min-width: 0;
    margin-right: 25px;
    margin-left: 25px;
    -ms-flex-preferred-size: calc(100% / 2 - 50px);
    flex-basis: calc(100% / 2 - 50px);
    width: auto;
    float: none;    
}

.woocommerce-account .edit-account-content .desc {
    display: block;
    margin-top: 5px;
    font-size: 1.2rem;
    line-height: 125%;
}

.woocommerce-account .edit-account-content .fieldset-password input {
    max-width: calc(50% - 5px);
}

.show-password-input {
    display: none!important;
}

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

    .woocommerce-account .edit-account-content .cols-wrapper {
        display: block;
    }

    .woocommerce-account .edit-account-content .fieldset-password input {
        max-width: 100%;
    }    
}


/*----------------------------------------------------------------------------------------------------------------------------
  Pages WooCommerce - myaccount / myaddress
----------------------------------------------------------------------------------------------------------------------------*/

.woocommerce-Address {
    margin-bottom: 40px !important;
}

.woocommerce-account .addresses .title h3 {
    float: none;
    margin-bottom: 5px;
    display: block;
}
.woocommerce-account .addresses .title .edit {
    float: none;
}

.woocommerce-Address-title {
    margin-bottom: 20px;
}

address {
    display: block;
    font-style: normal;
    line-height: 2.4rem;
}


/*----------------------------------------------------------------------------------------------------------------------------
  Pages WooCommerce - myaccount / order
----------------------------------------------------------------------------------------------------------------------------*/

.woocommerce .woocommerce-customer-details address {
    font-style: normal;
    margin-bottom: 0;
    border: 0;
    width: 100%;
    border-radius: 0;
    padding: 0;
}

.woocommerce table.my_account_orders td, .woocommerce table.my_account_orders th {
    font-size: 1.5rem;
}

/*----------------------------------------------------------------------------------------------------------------------------
  Pages WooCommerce - order / commander
----------------------------------------------------------------------------------------------------------------------------*/



.woocommerce-checkout {
    text-align: left;
}
.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1 {
    float: none;
    width: 100%;
    margin-bottom: 0px;
}
.woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 {
    float: none;
    width: 100%;
    margin-bottom: 20px;
}




/*----------------------------------------------------------------------------------------------------------------------------
  Pages WooCommerce
----------------------------------------------------------------------------------------------------------------------------*/

.woocommerce {
    position: relative;
    margin: auto;
    z-index: 1;
    width: 80vw;
    /*max-width: 1600px;*/
}

.woocommerce-form-coupon-toggle {
    display: none!important;
}
.woocommerce-info {
    border-top: 0px solid #000;
}
.woocommerce-info::before {
    color: #000;
    display: none;
}
.woocommerce form.checkout_coupon {
    display: block !important;
}

.woocommerce button[name="update_cart"],
.woocommerce input[name="update_cart"] {
    display: none !important;
}

.woocommerce table.shop_table {
    border: none;
    margin: 0 -1px 30px 0;
    text-align: left;
    width: 100%;
    border-collapse: separate;
    border-radius: 0;
    border-spacing : 0;
}

.shop_table thead {
    background-color: #000; 
    color: #fff; 
}

.woocommerce table.shop_table th {
    font-family: 'EB+Garamond', serif;
    font-size: 1.8rem;
    line-height: 1;
    text-align: left;
    font-weight: 400;
    padding: 10px;
}

.woocommerce table.shop_table th, .woocommerce table.shop_table td, .woocommerce table.shop_table thead th, .woocommerce table.shop_table thead td, .woocommerce table.shop_table tbody th, .woocommerce table.shop_table tbody td, .woocommerce table.shop_table tfoot th, .woocommerce table.shop_table tfoot td {
    padding: 20px 20px;
    border: 0;
    font-weight: inherit;
}

td.product-name {
    font-size: 1.4rem;
}

#add_payment_method table.cart .product-thumbnail, .woocommerce-cart table.cart .product-thumbnail, .woocommerce-checkout table.cart .product-thumbnail {
    width: 120px;
    padding-left: 0;
}
body .woocommerce-cart-form .product-thumbnail img {
    width: 100px;
    display: block;
}

.woocommerce-cart-form .product-remove .remove {
    position: relative;
    text-indent: -9999px;
    display: block;
    width: auto;
    height: auto;
    padding-left: 0;
    border-radius: 0;
}
.woocommerce-cart-form .product-remove .remove:hover {
    background-color: transparent;
    opacity: .3;
}
.woocommerce-cart-form .product-remove .remove::before, .page-cart .woocommerce-cart-form .product-remove .remove::after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 17px;
    height: 1px;
    background-color: #ed1c24;
    content: '';
}
.woocommerce-cart-form .product-remove .remove::after {
    transform: translateY(-50%) rotate(-45deg);
}
.woocommerce-cart-form .product-remove .remove::before {
    transform: translateY(-50%) rotate(45deg);
}
.woocommerce-cart-form .product-remove .remove::before, .woocommerce-cart-form .product-remove .remove::after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 17px;
    height: 1px;
    background-color: #ed1c24;
    content: '';
}



.woocommerce-cart-form .actions {
    padding-left: 0 !important;
    padding-right: 0 !important;    
    padding-top: 20px !important;    
    padding-bottom: 0 !important;    
}

.woocommerce-cart-form .coupon {
    width: 100%;
    padding-top: 30px;
    padding-bottom: 0;
    border-top: 1px solid rgba(0,0,0,.2);
}
.woocommerce #content table.cart td.actions .coupon, .woocommerce table.cart td.actions .coupon, .woocommerce-page #content table.cart td.actions .coupon, .woocommerce-page table.cart td.actions .coupon {
    float: none;
    text-align: left;

}
.woocommerce #content table.cart td.actions .coupon label, .woocommerce table.cart td.actions .coupon label, .woocommerce-page #content table.cart td.actions .coupon label, .woocommerce-page table.cart td.actions .coupon label, .coupon label {
    font-weight: 700;
    margin-bottom: 12px;
    display: block;
    padding-left: 15px;
}
.coupon__wrapper {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: stretch;    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;    
}
.coupon__wrapper #coupon_code {
    width: 300px;
    margin-right: 30px;
}

.woocommerce table.shop_table_responsive tr:nth-child(2n) td, .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
    background-color: transparent;
}

.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid rgba(0,0,0,.2);
    padding: 0 0 50px 0;
    margin: 0 0 50px 0;
    text-align: left;
    border-radius: 0;
}


@media screen and (max-width: 1020px) {
    .coupon__wrapper #coupon_code {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }
}

#add_payment_method table.cart td.actions .coupon .input-text, 
.woocommerce-cart table.cart td.actions .coupon .input-text, 
.woocommerce-checkout table.cart td.actions .coupon .input-text,
#coupon_code {
/*    float: left;
    box-sizing: border-box;
    border: none;
    border-radius: 0;
    padding: 20px 20px;
    margin: 0 20px 0 0;
    outline: 0;
    width: 220px;
    background-color: #efefef;*/
}

.woocommerce .cart-collaterals, .woocommerce-page .cart-collaterals {
    width: 100%;
    padding-top: 30px;
    /* padding-bottom: 30px; */
    border-top: 1px solid rgba(0,0,0,.2);
}


.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
    float: none;
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-content: flex-start;
    align-items: flex-start;   
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;         
}

.woocommerce .cart-collaterals .cart_totals__wrapper {
    width: 300px;
}

.cart_totals__wrapper td {
    position: relative;
    padding-left: 50px !important;
}
.cart_totals__wrapper td:before {
    content: "";
    position: relative;
    width: 20px;
    height: 2px;
    background-color: #000;
    display: block;
    top: 13px;
    left: -40px;
}
.cart_totals__wrapper td:before {
     content: ""!important; 
     font-weight: 400!important; 
     float: none!important; 
}
.woocommerce table.shop_table_responsive tbody th, .woocommerce-page table.shop_table_responsive tbody th {
    display: block!important;
}
#add_payment_method .cart-collaterals .cart_totals table th, .woocommerce-cart .cart-collaterals .cart_totals table th, .woocommerce-checkout .cart-collaterals .cart_totals table th {
    width: 100%;
}

@media screen and (max-width: 1020px) {
    .woocommerce .cart-collaterals .cart_totals__wrapper {
        width: 100%;
    }
}


/*----------------------------------------------------------------------------------------------------------------------------
  Pages WooCommerce - form-login.php
----------------------------------------------------------------------------------------------------------------------------*/

.page-login {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    text-align: left;
}

.page-login .col {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
}
.page-login>* {
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
}
.page-login .title-form {
    text-align: left;
    font-size: 2.6rem;
    line-height: 100%;
    font-weight: 400;
    font-style: normal;
    margin-bottom: 40px;
}

.woocommerce-account .woocommerce form.login, .woocommerce-account .woocommerce form.register {
    border-bottom: 0;
    padding: 0;
    margin-bottom: 0;
}
.page-login .u-column1 {
    border-right: 1px solid #d3ced2;
    padding-right: 80px;
}
.page-login .u-column2 {
    padding-left: 80px;
}


.woocommerce-privacy-policy-text {
    display: none;
}

.woocommerce .options-wrapper {
    margin-bottom: 30px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.page-login form.login .options-wrapper>* {
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    padding: 0;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme,
.lost_password a {
    display: inline-block;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: flex-start;
    /* -ms-flex-align: center; */
    align-content: flex-start;
    align-items: center;
    line-height: 2rem;
    font-size: 1.4rem;
}

.lost_password {
}
.lost_password a {
    position: relative;
    color: #000;
    text-decoration: underline;
}
.lost_password a span.point {
    width: 6px;
    height: 6px;
    background-color: #ed1c24;
    margin-right: 10px;
    border-radius: 100%;
}



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

    .page-login {
        display: block;
    }

    .page-login .u-column1 {
        border-right: none;
        border-bottom: 1px solid #d3ced2;
        padding-right: 0;
        padding-bottom: 20px;
    }
    .page-login .u-column2 {
        margin-top: 50px;
        padding-left: 0;
    }

    .page-login form.login .options-wrapper {
        display: block;
    }

    p.remember-me {
        padding-bottom: 20px !important;
    }    

}


/*----------------------------------------------------------------------------------------------------------------------------
  Pages WooCommerce / myaccount - lost-passwosd
----------------------------------------------------------------------------------------------------------------------------*/


.woocommerce-account .woocommerce-ResetPassword {
    max-width: 450px;
    margin: 0 auto;
}

.woocommerce-ResetPassword .lost_reset_password_desc {
    border-bottom: 1px solid #d3ced2;
    margin-bottom: 30px;
}

.woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
    width: 100%;
}

.woocommerce-account.woocommerce-lost-password .woocommerce {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.woocommerce-message {
    border: 1px solid #333;
    background: transparent;
}
.woocommerce-message::before {
    content: "\e015";
    color: #333;
}


/*----------------------------------------------------------------------------------------------------------------------------
  Pages WooCommerce / Checkout
----------------------------------------------------------------------------------------------------------------------------*/

.woocommerce form .form-row {
    margin: 0 0 30px;
    padding: 0;
}
.woocommerce form .form-row.no-margin-bottom {
    margin-bottom: 0;
}

.woocommerce .woocommerce-checkout .woocommerce-billing-fields__field-wrapper, 
.woocommerce .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper, 
.woocommerce .woocommerce-checkout .woocommerce-account-fields .create-account,
.woocommerce .woocommerce-address-fields__field-wrapper,
.woocommerce-checkout .woocommerce-login-fields__field-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: end;
    align-items: flex-end;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -25px;
    margin-left: -25px;
}

.woocommerce .woocommerce-checkout .woocommerce-billing-fields__field-wrapper>*, 
.woocommerce .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>*, 
.woocommerce .woocommerce-checkout .woocommerce-account-fields .create-account>*,
.woocommerce .woocommerce-address-fields__field-wrapper>*,
.woocommerce-checkout .woocommerce-login-fields__field-wrapper>* {
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    min-width: 0;
    margin-right: 25px !important;
    margin-left: 25px !important;
    -ms-flex-preferred-size: calc(100% / 2 - 50px);
    flex-basis: calc(100% / 2 - 50px);
}

.woocommerce form .form-row label {
    padding-left: 15px;
    line-height: 2.2rem;
    padding-bottom: 10px;
}
.woocommerce form .form-row label.woocommerce-form__label-for-checkbox {
    padding-left: 0;
}

.woocommerce form .form-row label .required {
    color: inherit;
    font-weight: normal;
}



.woocommerce-input-wrapper {
    display: block;
    height: 50px;
}
.form-row.notes .woocommerce-input-wrapper {
    height: auto;
}
.woocommerce form .form-row.address-field .select2-container {
    display: block;
    line-height: 130%;
}
.woocommerce form .form-row.address-field .selection {
    display: block;
}

.woocommerce form .form-row select {
    padding-right: 34px;
    /*background: url(../images/ico-select.png) no-repeat calc(100% - 15px) 20px;*/
    background-size: 15px 8px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.woocommerce form .form-row textarea {
    height: 240px;
    padding-top: 18px;
}

.woocommerce-additional-fields h3 {
    display: none;
}



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

    .woocommerce .woocommerce-checkout .woocommerce-billing-fields__field-wrapper>*, 
    .woocommerce .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>*, 
    .woocommerce .woocommerce-checkout .woocommerce-account-fields .create-account>*,
    .woocommerce .woocommerce-address-fields__field-wrapper>*,
    .woocommerce-checkout .woocommerce-login-fields__field-wrapper>* {
        -ms-flex-preferred-size: calc(100% - 50px);
        flex-basis: calc(100% - 50px);
    }

}



/*----------------------------------------------------------------------------------------------------------------------------
  Block Boutique
----------------------------------------------------------------------------------------------------------------------------*/

section.block-boutique {
    width: 100%;
    padding: 50px 0;
    background-color: transparent;
}

.shop_desc {
    margin-bottom: 50px;
}

.woocommerce-pagination {
    display: none;
}

.tabs.wc-tabs {
    display: none;
}

.woocommerce-info {
    /*display: none;*/
}

.woocommerce-tabs.wc-tabs-wrapper {
    position: relative;
    padding-top: 40px;
    margin-bottom: 40px;
}

.woocommerce-tabs.wc-tabs-wrapper:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #000;
    width: 50px;
    height: 1px;
}

.woocommerce-Tabs-panel.panel {
    margin: 0;
    text-align: left;
}

.shop_loop_header {
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-content: flex-start;
    align-items: stretch;
}

.shop_loop_header h2 {

}
.shop_loop_header aside {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    align-items: center;    
    margin-bottom: 20px;
}
.shop_loop_header aside section, .shop_loop_header aside .woocommerce-ordering {
    flex: 0;
    margin: 0 0 0 10px;
}

.shop_loop_header aside section .select2 {
    display: none;
}
.shop_loop_header aside select {
    border: 0!important;
    padding: 5px 25px 5px 10px !important;
    /* clip: rect(0 0 0 0)!important; */
    height: auto!important;
    /* margin: -1px!important; */
    /* overflow: hidden!important; */
    /* padding: 0!important; */
    position: relative!important;
    width: auto!important;
    font-size: 1.3rem;
    border-radius: 0;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-image: url(../images/dropdown.svg);
    background-repeat: no-repeat;
    background-size: 10px;
    background-position-x: 95%;
    background-position-y: 9px;   
}

.woocommerce-filtering__wrapper {
    padding-right: 20px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    justify-content: center;
    align-content: center;
    align-items: center;      
}

.woocommerce-ordering__wrapper {
    border-left: 1px solid rgba(0,0,0,.2);
    padding-left: 20px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    justify-content: center;
    align-content: center;
    align-items: center;     
}

.aside__text {
    font-size: 1.3rem;
    font-weight: 600;
}

.woocommerce {
  width: 100%;
}

.woocommerce ul.products li {
  text-align: center;
  padding: 20px !important;
  background-color: #f2f2f2;
}

.products-list-wrapper {
    width: 100%;    
    margin-bottom: 80px;
    margin-top: 40px;
}

.list-products {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -16px;
    margin-left: -16px;
}

.list-products li {
    -webkit-transform-style: preserve-3d;
    position: relative;
    width: calc(25% - 30px);
    margin-right: 15px;
    margin-left: 15px;    
    margin-bottom: 25px;
    text-align: center;
    overflow: hidden;

    -webkit-transition: transform .25s ease-in-out;
    -moz-transition: transform .25s ease-in-out;
    -ms-transition: transform .25s ease-in-out;
    -o-transition: transform .25s ease-in-out;
    transition: transform .25s ease-in-out;    

/*    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    min-width: 0;
    margin-right: 16px;
    margin-left: 16px;
    -ms-flex-preferred-size: calc(100% / 4 - 32px);
    flex-basis: calc(100% / 4 - 32px);*/
}


.item-product-woocommerce a {
    position: relative;
    display: block;
    margin: 0;
}

.item-product-woocommerce .price {
    display: none;
}

.item-product-woocommerce .illus-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 100%;
    display: inline-block;
    transition: all 300ms ease;
}

.item-product-woocommerce .illus-wrapper img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    -o-object-fit: contain;
    position: absolute;
    -webkit-transition: all .25s ease-out;
    -moz-transition: all .25s ease-out;
    -ms-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
}

.item-product-woocommerce .desc {
    position: relative;
    padding: 30px 15px;
    text-align: center;
}

.woocommerce-loop-product__cat {
    font-family: 'EB+Garamond', serif;
    position: relative;
    color: #000;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1;
    font-weight: 400;
    font-style: normal;
    margin-bottom: 20px;
    -webkit-transform-origin: center center;
    transform-origin: center center;
    /* transition: 0.5s all cubic-bezier(.75,0,.25,1); */
    transition: all .5s ease-out;
}

.woocommerce-loop-product__title {
    text-align: center;

    font-size: 2.1rem;
    line-height: 1;
    font-weight: 400;
    text-align: center;
    margin-bottom: 10px; 

    -webkit-transform-origin: center center;
    transform-origin: center center;
    /*transition: 0.5s all cubic-bezier(.75,0,.25,1);        */
    transition: all .5s ease-out;
}

.item-product-woocommerce .btn.add_to_cart_button {
    display: none;
}


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

    section.block-boutique {
        padding: 25px 0;
    }

    .shop_loop_header {
        flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-direction: column;
    }

    .shop_loop_header aside {
        background-color: #f5F5F5;
        padding: 15px;
        width: 100%;
    }

    .woocommerce-filtering__wrapper {
        padding-right: 0;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -moz-flex;
        display: -webkit-flex;
        justify-content: flex-start;
        align-content: flex-start;
        align-items: flex-start;
        flex-direction: column;
        width: 100%;
    }    
    .shop_loop_header aside section, .shop_loop_header aside .woocommerce-ordering- {
        flex: 0;
        margin: 10px 0 0 0;
        width: auto;
    }    
    .shop_loop_header aside .woocommerce-ordering {
        margin: 10px 0 0 0;
        width: auto;
    }        
    .shop_loop_header aside select {
        /*padding: 5px !important;*/
        background-color: #fff;
    }    
    .woocommerce-ordering__wrapper {
        border-left: none;
        padding-left: 0;
        margin-top: 15px;
        width: 100%;
        justify-content: flex-start;
        align-content: flex-start;
        align-items: flex-start;
        flex-direction: column;        
    }

    .list-products {
        margin-right: 0;
        margin-left: 0;
    }

    .list-products li {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        margin-bottom: 25px;
    }

    /*.list-products li {
        width: calc(50% - 30px);
        margin-right: 15px;
        margin-left: 15px;
        margin-bottom: 25px;
    }*/

    .item-product-woocommerce .illus-wrapper {
        padding-bottom: 70%;
    }    

}

/*----------------------------------------------------------------------------------------------------------------------------
  Home
----------------------------------------------------------------------------------------------------------------------------*/

.container {
    position: relative;
    margin: auto auto auto auto;
    z-index: 1;
    width: 80vw;
    max-width: 1600px;
    /*min-width: 1100px;*/
    text-align: center;

    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    /*align-items: stretch;*/

}

.block {
    margin-bottom: 50px;
}

.container.fullscreen {
    width: 100%;
    max-width: 100%;
}

.container.small {
    width: 55vw;
    max-width: 1100px;
}

.container.small2 {
    width: 45vw;
    max-width: none;
}

.container p:last-child {
    padding-bottom: 0;
}

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

    .container, .container.small {
        width: 85vw !important;
        min-width: auto;
    }
    .block {
        margin-bottom: 30px;
    }

}

article {
  margin: 20px 0;
  width: 100%;
}

.text {
	margin: 10px 0;
}

p, .block-paragraphe ul {
  text-align: left;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;  
  letter-spacing: normal;
  padding-bottom: 30px;
  word-break: break-word;
  /*color: #666666;*/
/*  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -o-hyphens: auto;
  hyphens: auto;*/
}

p a, .block-paragraphe a {
    text-decoration: underline;
    color: #ed1c24;
}

.block-paragraphe ul {
    padding-left: 2em;
    list-style: none;
}
.block-paragraphe ul li {
    position: relative;
    padding-bottom: 5px;
}
.block-paragraphe ul li:before {
    content: "•";
    color: #ed1c24;
    display: inline-block;
    font-family: Arial,sans-serif;
    width: 1.5em;
    margin-left: -1em;
    position: absolute;
    font-size: 2.2rem;
}


blockquote {
    padding: 20px 20px 0px 20px;
    display: inline-block;
    margin-bottom: 20px;
    width: 100%;
}




@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.container, article, .reveal-animate {
    /*opacity: 0;*/
}

.visible {

  visibility: visible;

/*    -webkit-transition: -webkit-transform .5s cubic-bezier(.75,0,.25,1);
    transition: -webkit-transform .5s cubic-bezier(.75,0,.25,1);
    transition: transform .5s cubic-bezier(.75,0,.25,1);
    transition: transform .5s cubic-bezier(.75,0,.25,1),-webkit-transform .5s cubic-bezier(.75,0,.25,1);
    will-change: transform;	   */ 
	
	/*animation-timing-function: cubic-bezier(.75,0,.25,1);
	-webkit-animation-timing-function: cubic-bezier(.75,0,.25,1);*/

  	-webkit-animation-name: fadeInUp;
  	animation-name: fadeInUp;	

	-webkit-animation-duration: 1.2s;
    animation-duration: 1.2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;

    /*-webkit-animation-delay: .25s;
    animation-delay: .25s;	    */
}

@media screen and (min-width: 1020px) {
    p.column-count-2 {
        column-count: 2;
        -moz-column-count: 2;
        -webkit-column-count: 2;
        column-gap: 30px;
        -moz-column-gap: 30px;
        -webkit-column-gap: 30px;
    }
}

/*----------------------------------------------------------------------------------------------------------------------------
  Loading
----------------------------------------------------------------------------------------------------------------------------*/

body.loading {
    height: 100%;
    overflow: hidden;
}

body.loading-page:before {
    content: '';
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 10000;    
}

body.loading-page.loading-page-close:before {
    -webkit-transition: visibility .5s .5s,-webkit-transform .5s cubic-bezier(.75,0,.25,1);
    transition: visibility .5s .5s,-webkit-transform .5s cubic-bezier(.75,0,.25,1);

/*
    -webkit-transition: opacity .5s ease-out;
    -moz-transition: opacity .5s ease-out;
    -ms-transition: opacity .5s ease-out;
    -o-transition: opacity .5s ease-out;
    transition: opacity .5s ease-out;*/

    transition: opacity .5s cubic-bezier(.75,0,.25,1),visibility 0s .5s;
    transition: opacity .5s cubic-bezier(.75,0,.25,1),visibility 0s .5s,-webkit-transform .5s cubic-bezier(.75,0,.25,1);
    will-change: transform;

    visibility: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    
    opacity: 0;
    /*-webkit-transform: translateY(100%);
    transform: translateY(100%);   */
    
}


/*----------------------------------------------------------------------------------------------------------------------------
  Cookie Banner
----------------------------------------------------------------------------------------------------------------------------*/

.cookie-banner {
    position: fixed;
    z-index: 9999;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 20px;
    background-color: #fff;
    box-shadow: 0 0 20px rgba(0,0,0,0.15);
}

.cookie-banner .content {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
}

.cookie-banner .content>* {
    flex: 0 1 auto;
}

.cookie-banner .content .desc {
    flex: 1 1 auto;
    margin-right: 25px;
    color: #888;
    font-size: 1.5rem;
    line-height: 1.4;
}

.cookie-banner .content .btn-accept:not(:active), .cookie-banner .content .btn-refuse:not(:active), .cookie-banner .content .btn-more:not(:active) {
    transition: all 300ms ease;
}

.cookie-banner .content .btn-accept, .cookie-banner .content .btn-refuse {
    padding-left: 25px;
    padding-right: 25px;
    border: 1px solid #000;
}

.cookie-banner .content .btn-accept, .cookie-banner .content .btn-refuse, .cookie-banner .content .btn-more {
    display: inline-block;
    flex: 0 0 auto;
    /*padding: 8px;*/
    margin-right: 20px;
    white-space: nowrap;
}


@media only screen and (max-width: 700px) {
    
    .cookie-banner .content {
        display: block;
        text-align: center;
    }
    
    .cookie-banner .content .desc {
        margin-right: 0;
        margin-bottom: 15px;
        text-align: left;
    }

}

/*----------------------------------------------------------------------------------------------------------------------------
  Footer
----------------------------------------------------------------------------------------------------------------------------*/

footer {
	position: relative;
  width: 100%;
  background-color: transparent;
  color: #fff;
  padding: 50px 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -moz-flex;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;  
}

.footer-container {
    position: relative;
    width: 80%;
    max-width: 1600px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    
    justify-content: space-between;
    align-content: center;
    align-items: center;
}

footer .footer-item {
  position: relative;
  padding: 0;
  display: inline-block;  
}


footer a.brand {
  width: 100%;
}
footer a.brand img {
  width: 100%;
  height: auto;
  display: block;
}

ul.footer-nav-list {

}
ul.footer-nav-list li {
  display: block;
  margin-bottom: 30px;
}
ul.footer-nav-list li:last-child {
  margin-bottom: 0;
}

footer .main-nav-item a {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  padding: 0;
}

footer .main-nav-item a:after {
  left: 0;
  width: 100%;
  bottom: -2px;
}

.contact-headline {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 8px;
  text-align: left;
  text-transform: uppercase;
  position: relative;
  display: block;
}

.contact-txt {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 400;
  text-align: left;
  text-transform: none;
  position: relative;
  display: block;
  line-height: 1.8rem; 
  margin-bottom: 20px;
}


ul.mentions-nav-list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    align-items: center;
}

ul.mentions-nav-list li {
    margin: 0 20px;
}

ul.mentions-nav-list li:first-child {
    margin-left: 0;
}
ul.mentions-nav-list li:last-child {
    margin-right: 0;
}

footer .main-nav-item a {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1;
    padding: 0;
    text-transform: none;
}

footer ul.mentions-nav-list li.main-nav-item a:hover {
    color: #ed1c24;
}


footer ul.mentions-nav-list li.main-nav-item a span {
    font-weight: 100;
}

#footer-social-nav {
  position: relative;
  width: 100%;
  top: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-transition: all .25s ease-out;
  -moz-transition: all .25s ease-out;
  -ms-transition: all .25s ease-out;
  -o-transition: all .25s ease-out;
  transition: all .25s ease-out;
  transition-delay: .25s;  
}

.footer-title {
    color: inherit;
    font-size: 2.6rem;
    font-weight: 400;
    margin-bottom: 20px;
    text-align: left;
    text-transform: none;
    position: relative;
    display: inline-block;

}


.gotop {
    display: none;
    width: 50px;
    height: 50px;
    background-color: #000;
    color: #fff;
    border: none;
    position: absolute;
    z-index: 50;
    cursor: pointer;
    top: -25px;
    right: 4vw;
}
.gotop svg {
    width: 16px;
    height: 16px;
    fill: #fff;
    display: block;
    margin: auto auto 4px auto;
}
.gotop span {
    font-size: .9rem;
    font-weight: 600;
    display: block;
    margin: auto;    
}


body.error404 footer .main-nav-item a {
    color: #fff;
}
body.error404 .social-nav-item a svg {
    fill: #fff;
}
/*
body.error404 footer {
    position: absolute;
    left: 0;
    bottom: 0;
}  */  
 

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

    .footer-container .footer-item:nth-child(1) {
        order: 2;
    }
    .footer-container .footer-item:nth-child(2) {
        order: 1;
    }
    .footer-container .footer-item:nth-child(3) {
        order: 3;
        padding-top: 25px;
    }

    ul.mentions-nav-list {
        display: block;
    }

    ul.mentions-nav-list li {
        margin: 0;
        padding: 10px 0;
    }

  .footer-container {
    /*display: block;*/
    text-align: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  footer .footer-item {
      width: 100%;
      position: relative;
      padding: 0;
      display: block;
  }


  footer .main-nav-item a {
    padding: 0;
    font-size: 1.4rem;
  }

  #footer-social-nav { 
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }

    .gotop {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);           
        left: 50%;
    }  

    .hide-on-mobile {
        display: none !important;
    }

}


/*
** RGPD */

#cookie-law-info-bar.wt-cli-cookie-bar[style*="display: block;"] ~ .cli-popupbar-overlay {
	 z-index: 99998;
	 opacity: 0.6;
	 transform: scale(1);
	 transition: opacity 0.5s ease;
}
 #cookie-law-info-bar.wt-cli-cookie-bar {
	 overflow: auto;
	 z-index: 99999 !important;
	 bottom: 0px !important;
	 left: 0px !important;
	 max-height: 100vh;
	 padding: 20px 0 !important;
	 background-color: #fff !important;
	 box-shadow: 0 0 5px 1px rgba(0, 0, 0, .2);
	 color: #000 !important;
	 font-size: 16px;
	 text-align: left !important;
}
 #cookie-law-info-bar.wt-cli-cookie-bar > .cli-wrapper {
	 width: 100%;
	 max-width: 1660px;
	 margin-right: auto;
	 margin-left: auto;
	 padding-right: 30px;
	 padding-left: 30px;
}
 #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-cookie-banner-title {
	 margin: 0 0 20px;
	 font-size: rem(18px);
}
 #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-cookie-banner {
	 display: block;
}
 #cookie-law-info-bar.wt-cli-cookie-bar strong {
	 font-weight: 500;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .message {
	 font-size: rem(14px);
}
 #cookie-law-info-bar.wt-cli-cookie-bar .message p, #cookie-law-info-bar.wt-cli-cookie-bar .message {
	 line-height: 1.5;
}
 #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-policy-link {
	 color: #000 !important;
	 font-weight: 500;
	 transition: all 0.2s ease;
}
 #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-policy-link:hover, #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-policy-link:focus {
	 color: #898888 !important;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .actions-wrapper {
	 display: flex;
	 flex-direction: column;
	 align-items: center;
	 margin-top: 25px;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .choices-wrapper {
	 display: flex;
	 flex-flow: row nowrap;
	 justify-content: center;
	 margin-left: -10px;
	 margin-right: -10px;
}
 #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-accept-all-btn, #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-reject-btn {
	 position: relative;
	 display: inline-block;
	 min-width: 190px;
	 padding: 18px 60px !important;
	 margin: 10px !important;
	 background-color: #000 !important;
	 border: 1px solid #000 !important;
	 border-radius: 0px !important;
	 color: #fff !important;
	 font-family: inherit !important;
	 font-size: 14px;
	 font-weight: 400;
	 line-height: 1em;
	 text-decoration: none;
	 text-transform: none;
	 cursor: pointer;
	 text-align: center;
	 transition: background-color 0.2s ease;
}
 #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-accept-all-btn:hover, #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-reject-btn:hover, #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-accept-all-btn:focus, #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-reject-btn:focus {
	 background-color: #333 !important;
	 color: #fff !important;
	 opacity: 1 !important;
}
 #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-settings-btn {
	 position: relative;
	 display: inline-block;
	 min-width: 190px;
	 padding: 18px 60px !important;
	 margin: 10px !important;
	 background-color: transparent !important;
	 border: 1px solid #000 !important;
	 border-radius: 0px !important;
	 color: #000 !important;
	 font-family: inherit !important;
	 font-size: 14px;
	 font-weight: 400;
	 line-height: 1em;
	 text-decoration: none;
	 text-transform: none;
	 cursor: pointer;
	 text-align: center;
	 transition: background-color 0.2s ease;
}
 #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-settings-btn:hover, #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-settings-btn:focus {
	 background-color: #333 !important;
	 color: #fff !important;
	 opacity: 1 !important;
}
 #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-settings-btn::after {
	 content: "";
	 position: absolute;
	 top: 50%;
	 right: 20px;
	 display: inline-block;
	 width: 8px;
	 height: 8px;
	 transform: translateY(-70%) rotate(135deg);
	 border-width: 1px 1px 0 0;
	 border-style: solid;
	 border-color: currentcolor;
	 background: none;
}
 #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-settings-btn:hover, #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-settings-btn:focus {
	 background-color: transparent !important;
	 color: #ed1c24 !important;
	 border-color: #ed1c24 !important;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-body .cli-tab-container {
	 margin-top: 15px;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-body .cli-tab-header {
	 align-items: center;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-body .cli-switch {
	 height: 20px;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-body .cli-necessary-caption {
	 margin: 0;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-body .cli-switch input:checked + .cli-slider {
	 background-color: #ed1c24;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-body .cli-slider::after {
	 top: 50%;
	 transform: translateY(-50%);
}
 #cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-footer .cli-tab-container {
	 margin-top: 20px;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-footer .cli-tab-footer {
	 padding: 0;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-footer .cli-row {
	 overflow: visible;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-footer .wt-cli-ckyes-brand-logo {
	 display: none;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-footer #wt-cli-privacy-save-btn {
	 position: relative;
	 display: inline-block;
	 min-width: 190px;
	 padding: 18px 60px !important;
	 margin: 10px !important;
	 background-color: #000 !important;
	 border: 1px solid #000 !important;
	 border-radius: 0px !important;
	 color: #fff !important;
	 font-family: inherit !important;
	 font-size: 14px;
	 font-weight: 400;
	 line-height: 1em;
	 text-decoration: none;
	 text-transform: lowercase;
	 cursor: pointer;
	 text-align: center;
	 transition: background-color 0.2s ease;
}
#cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-footer #wt-cli-privacy-save-btn:first-letter {
    text-transform: uppercase;
}
 #cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-footer #wt-cli-privacy-save-btn:hover, #cookie-law-info-bar.wt-cli-cookie-bar .cli-modal-footer #wt-cli-privacy-save-btn:focus {
	 background-color: #333 !important;
	 color: #fff !important;
	 opacity: 1 !important;
}
 @media only screen and (max-width: 480px) {
	 #cookie-law-info-bar.wt-cli-cookie-bar .choices-wrapper {
		 flex-wrap: wrap;
		 justify-content: center;
	}
	 #cookie-law-info-bar.wt-cli-cookie-bar .settings-link-wrapper {
		 text-align: center;
	}
}
 @media only screen and (min-width: 768px) {
	 #cookie-law-info-bar.wt-cli-cookie-bar {
		 padding: 35px 0 30px !important;
	}
	 #cookie-law-info-bar.wt-cli-cookie-bar #wt-cli-cookie-banner-title {
		 font-size: rem(20px);
	}
	 #cookie-law-info-bar.wt-cli-cookie-bar .actions-wrapper {
		 display: flex;
		 flex-flow: row nowrap;
		 align-items: center;
	}
	 #cookie-law-info-bar.wt-cli-cookie-bar .choices-wrapper {
		 margin-right: 20px;
	}
}
 #cookie-law-info-again {
	 z-index: 99999;
	 bottom: 0px !important;
	 left: 0 !important;
	 right: auto !important;
	 padding: 5px 10px;
	 background-color: #fff !important;
	 border-top-right-radius: 5px;
	 box-shadow: 0 0 5px 3px rgba(0, 0, 0, .2);
	 color: #000 !important;
	 font-size: 1rem;
	 line-height: 1;
}
 #cookie-law-info-again #cookie_hdr_showagain {
	 font-size: rem(14px);
	 line-height: 1;
}
 @media only screen and (min-width: 768px) {
	 #cookie-law-info-again {
		 left: 20px !important;
		 border-top-left-radius: 5px;
	}
}
 