html, body, div, span, applet, object, iframe,
h1, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
b, u, i, center,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-spacing: 0;
}
input,select{
    border-radius: 0;
}
select{
    background: none;
}
iframe{ max-width: 100%; width: 100%; }
a{ cursor: pointer; text-decoration: none; color: inherit; }
input{ outline: none; }
button{ outline: none; cursor: pointer; }
.cf:after{ content: ""; clear: both; display: table;}
.hidden{ display: none; }
.left{ text-align: left; }
.right{ text-align: right; }

h1{ font-size: 26px; font-weight: normal; margin:0 0 20px 0; text-align: center; }

.table{ display: table; }
.row{ display: table-row; }
.cell{ display: table-cell; }

.old-price{ text-decoration: line-through !important; font-size: 13px !important;  }
.percent-discount{ font-weight: bold;  }
.reduced-price{ color: #f00 !important; font-weight: bold !important; }

/*.video-ctn { overflow:hidden; padding-bottom:56.25%; position:relative; height:0; }
.video-ctn iframe {left:0; top:0; height:100%; width:100%; position:absolute; }*/

html.is-locked,
html.is-locked body { height: calc(var(--window-inner-height) - 1px); overflow: hidden; box-sizing: border-box; }

.form-title{ margin-bottom: 20px; font-size: 24px;}
form fieldset { text-align: left; }
form fieldset div { margin-bottom: 5px; white-space:nowrap; margin-bottom: 10px; }
form div > label{ display: inline-block; width: 170px; vertical-align: middle; padding: 10px 0; }
form div > input[type="text"],
form div > input[type="password"],
form div > input[type="email"]{ flex-basis: 2;  color: #000; width: 200px; padding: 10px 20px; border-radius: 4px; flex-grow: 1; flex-shrink: 1;}
form div > select{ padding: 10px 20px; border-radius: 4px; flex-grow: 1; flex-shrink: 1; }
form div > input.error,
form div > select.error  { border-color: #f00 !important; }
form div > textarea{ height: 100px; padding: 10px 20px; border-radius: 4px; flex-grow: 1; flex-shrink: 1; resize: none; outline: none; }

form .button{ display: block; width: 100%; padding: 10px 20px; margin-left: 0; margin-right: 0;  }
form p{ margin-bottom: 15px; }
form .notice{ font-size: 13px; }

form div.text{ display: flex; flex-flow: row wrap; align-items:center; justify-content: center;}
form div.text > *{ flex:auto; }
form div.text > label,
form div.radio > label,
form div.choice > label,
form div.checkbox > label{ flex-shrink: 0; flex-grow: 0;}
form div.radio > div{ display: flex; align-items: center; margin-bottom: 0; margin-left: 10px; }
form div.radio > div label{ width: auto; margin-right: 20px;}
form fieldset div.radio > label,
form fieldset div.checkbox > label{ width: auto; }
form fieldset div.checkbox{ flex-flow:row-reverse; justify-content: flex-end; }
form fieldset div.radio{ margin-bottom:0; }
form fieldset div.textarea{ align-items: flex-start; }
form fieldset > div{ display: flex; align-items: center; flex-wrap: wrap; }
#customer_register_address > div{ display: flex; align-items: center; flex-wrap: wrap; width: 100%; }
form fieldset .form-error{ display:block; text-align:right; margin-left:170px; flex-basis:100%; }
form fieldset .notice{ margin-left: 170px; font-style: italic; font-size: 14px; }
form div.text > .help-block{ flex-basis: 100%; }
form div.select{ display: flex;  flex-flow: row wrap; align-items:center; justify-content: center;}
form div.select label{ width: auto; }
form div.select > *{ flex:auto; }

.form-error { font-size: 13px; font-weight: 400; text-align: center; color: #f00; margin-top: 5px; }
.field_errors{ list-style: none; margin: 0 20px 20px 20px; padding: 0; text-align: center}
.field_errors .error{ color:#f00; }

body{ font-family: 'Montserrat', sans-serif; color:#161214; font-size: 1em; }

/*p{ font-weight: 300; }*/
input,select,textarea{ font-family: 'Montserrat', sans-serif; border: 1px solid #000; }
input[type="radio"]{ margin: 5px; }
div:has(> input[type="radio"]){ margin-left: 10px; }
.ctn{ max-width: 1170px; margin: auto; width: 100%; }
.ctn .ctn{ margin: 0; }
.button{ border:none; display: inline-block; vertical-align: middle; margin: 10px 15px; padding: 10px 15px; font-weight: bold;  background: #E7E9E9; -webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px; }
.bt-black{ background: #000; color: #fff; padding: 10px 20px; margin: 0; line-height: 30px;-webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 25px; }
.bt-white{ background: #fff; color: #000; padding: 10px 20px; margin: 0; line-height: 30px;-webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 25px; border: 1px solid #000; }
.bt-video{ background: url(../img/pictos/video.svg) no-repeat left center; color:#fff; color:rgba(255,255,255,0.5); padding: 10px 0 10px 60px; display: inline-block; line-height: 25px; }
.more{ background: url(../img/pictos/more.svg) no-repeat left center;  padding-left: 20px; text-decoration: none; }
/*.fancybox-content { padding: 20px; }*/
/*.fancybox-slide--html .fancybox-close-small { right: -10px; top: -10px; }*/
.main{ position: relative; }
.red{ color:#e32527; }
.green{ color:#46A928; }
.orange{ color:#FF8D00; }
.messages{ padding: 10px; margin-bottom: 20px; text-align: center; }
.errors .error{ color: #e32527;}
.center{ text-align: center; }
.price { white-space: nowrap; }
table{ border-spacing: 0px; }
table th{ background: #7f7f7f; color:#fff; padding: 5px 10px; }
table .empty{ background: none;  }
/*table td{ background: #eee; color:#fff; padding: 5px 10px; text-align: center; color: #000; vertical-align: middle; }*/
table tfoot .label{ text-align: right; }
.error-ctn{ text-align: center; margin: 100px auto;}
.jspContainer{overflow: hidden;position: relative;}
.jspPane{position: absolute;}
.jspVerticalBar{position: absolute;top: 0;right: 0;width: 4px;	height: 100%;background: red;}
.jspHorizontalBar{position: absolute;bottom: 0;left: 0;width: 100%;height: 16px;background: red;}
.jspCap{display: none;}
.jspHorizontalBar .jspCap{float: left;}
.jspTrack{background: #E7E9E9;position: relative;}
.jspDrag{background: #000;position: relative;top: 0;left: 0;cursor: pointer;}
.jspHorizontalBar .jspTrack,.jspHorizontalBar .jspDrag{float: left;height: 100%;}
.jspArrow{background: #50506d;text-indent: -20000px;display: block;cursor: pointer;padding: 0;margin: 0;}
.jspArrow.jspDisabled{cursor: default;background: #80808d;}
.jspVerticalBar .jspArrow{height: 16px;}
.jspHorizontalBar .jspArrow{width: 16px;float: left;height: 100%;}
.jspVerticalBar .jspArrow:focus{outline: none;}
.jspCorner{background: #eeeef4;float: left;height: 100%;}
/* Yuk! CSS Hack for IE6 3 pixel bug :( */
* html .jspCorner{margin: 0 -3px 0 0;}


.ui-tooltip, .arrow:after { background: #fff; box-shadow: 6px 5px 9px -9px black; font-family: Roboto, Arial, sans-serif !important; font-size: 0.9rem !important;  }
.ui-widget-shadow{ box-shadow: 0px 0px 7px 0px #ccc !important; border: none !important;   }
.ui-tooltip { padding: 10px 20px; border-radius: 20px; box-shadow: 0 0 7px black; }
.arrow { width: 70px; height: 16px; overflow: hidden; position: absolute; left: 50%; margin-left: -35px; bottom: -16px; }
.arrow.top { top: -16px; bottom: auto; }
.arrow.left { left: 20%;}
.arrow:after { content: ""; position: absolute; left: 20px; top: -20px; width: 25px; height: 25px; box-shadow: 0px 0px 7px 0px #ccc; transform: rotate(45deg);  }
.arrow.top:after { bottom: -20px; top: auto; }


.picto{ display:inline-block; vertical-align: middle; width:20px; height: 20px; }
.picto.soleil{  background: url(../img/pictos/soleil.svg) no-repeat; }
.picto.non-soleil{ background: url(../img/pictos/non-soleil.svg) no-repeat; }

.admin-tools{text-align: right; position: absolute; padding:0 0 10px 10px; right: 0; top: 0;  margin-bottom: 30px; z-index: 1000; }
.admin-tools a{ background: #EDEDED; display: inline-block; margin: 0 5px; font-size: 14px; padding: 5px 10px; }

table .name{ text-align: left; }
header .top{ background:#EDEDED; color:#161214; padding: 10px 0; margin-bottom: 50px; }
header .top .ctn{ display: flex; justify-content: flex-end; align-items: center; flex-flow: row wrap; }
header .top .ctn > *{ margin-right: 20px;  }
header .top .ctn > *:last-child{ margin-right: 0;  }
header .top .bt-contact img{ display: block; }
header .top .ctn .languages > *{ text-transform: uppercase; font-weight: bold; white-space: nowrap; }
/*header .top .tools{ float: right; }
header .top .tools > div,
header .top .tools > a{ float: left; margin: 0 20px; padding: 10px }
header .top .tools > div:hover,
header .top .tools > a:hover{ background:#e32527; }
header .top .tools > a.bt-shops{ background: url(../img/pictos/marker.svg) no-repeat left center; background-size: auto 15px; padding-left: 20px; }
header .top .tools > a.bt-account{ background: url(../img/pictos/account.svg) no-repeat left center; background-size: auto 15px; padding-left: 20px; }
header .top .tools > a.bt-account{ background: url(../img/pictos/account.svg) no-repeat left center; background-size: auto 15px; padding-left: 20px; }*/
header.static .top{ display: none; }
header.static .main-nav{ position: fixed; top: 0; width: 100%; z-index: 100; border-bottom: 1px solid #E1E2E6; /*-webkit-box-shadow: 0px 2px 2px 0px rgba(255,255,255,1);-moz-box-shadow: 0px 2px 2px 0px rgba(255,255,255,1);box-shadow: 0px 2px 2px 0px rgba(255,255,255,1);*/ }
header.static .logo img{ max-height: 66px; width: auto;}
header.checkout{ margin-top: 10px; }

.main-nav { background: #fff; }
.main-nav .ctn{ display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #000; padding: 15px 0; margin-bottom: 0; }
.main-nav .logo{ flex-grow:0; flex-shrink: 0; flex-basis: 350px; }
.main-nav .search-block{ display: flex; flex-grow:1; flex-shrink: 1; flex-basis: 350px; margin: 0 50px; }
.main-nav .search-form{ display: flex; flex-grow:1; flex-shrink: 1; border-bottom: 1px solid #000; }
.main-nav .search-form input{ border: none; flex-grow:1; flex-shrink: 1; display: block; }
.main-nav .search-form button{ border:none; background: none; flex-grow:0; flex-shrink: 0; margin: 0; height: 32px; width: 32px; }
.main-nav .search-form.loading button img{ display: none; }
.main-nav .search-form.loading button{ background: url(/img/cart-loading.gif) no-repeat center center; background-size: 25px 25px; }
.main-nav .bt-account{ flex-grow:0; flex-shrink: 0; margin: 0 10px; display: flex; align-items: center; font-size: 14px;  }
.main-nav .block-account nav.account .title{ display: none; }
.main-nav .block-account nav.account{ display: none; position: absolute; z-index: 10; background: #fff; border: 1px solid #000; padding: 10px 20px; font-size: 14px; line-height: 22px; }
.main-nav .block-account nav.account ul{ list-style: none; margin: 0; padding: 0; margin-bottom: 10px; }
.main-nav .block-account nav.account ul li{  }
.main-nav .block-account nav.account a:hover{text-decoration: underline; }
.main-nav .block-account.opened nav.account{ display: block; }
.main-nav .block-account .session-context{ display: flex; flex-flow: column; font-size: 14px; margin: 5px 0 0 52px; }
.main-nav .block-account .session-context a{ font-size: 12px; text-decoration: underline; }

.main-nav .wishlist-block{ flex-grow:0; flex-shrink: 0; margin: 0 10px; }
.main-nav .wishlist-block > a{ position: relative; display: block; }
.main-nav .wishlist-block .count{ position: absolute; top: -10px; right: -10px; background: #000; color: #fff; text-align: center; line-height: 20px; font-size: 14px; padding: 2px; width: 20px; height: 20px; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%;}
.main-nav .block-cart{ flex-grow:0; flex-shrink: 0; margin:0 0 0 10px; }
.main-nav .block-cart > a{ position: relative; display: block; }
.main-nav .block-cart .nb-products{ position: absolute; top: -10px; right: -10px;  background: #E7102A; color: #fff; text-align: center; line-height: 20px; font-size: 14px; padding: 2px; width: 20px; height: 20px; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }

.search-results-wrapper{ position: absolute;  z-index: 1000; top: calc(100% + 20px); left: -150px; width: calc(100% + 300px); }
.result-panel{ display: flex; flex-direction: column; background: #fff; overflow: hidden; border: 1px #000 solid; border-radius: 0px; padding: 30px; }
.result-panel header{ display: flex; align-items: center; margin-bottom: 20px; border-bottom: 1px solid #000; padding: 10px 0 20px 0; }
.result-panel header > p{ flex:auto; }
.result-panel header .query{ font-weight: bold; }
.result-panel header .close{ position: absolute; width: 20px; right: 10px; top: 10px; cursor: pointer; }
.result-panel .viewport{ display:flex; align-items: stretch; flex:auto; height: 100%; }
.result-panel .viewport .title{ font-weight: bold; margin: 10px 0 20px 0; }
.result-panel .viewport .left{ width: 200px; flex-grow: 0; flex-shrink: 0; border-right: 1px solid #000; padding-right: 20px; margin-right: 20px;}
.result-panel .viewport .left .filter{ margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #000; }
.result-panel .viewport .left .filter:last-child{ border: none; }
.result-panel .viewport .left ul { list-style: none; margin: 0; padding: 0; }
.result-panel .viewport .left ul li{ margin-bottom: 5px; }
.result-panel .viewport .left ul a:hover{ text-decoration: underline; }
.result-panel .viewport .center{ flex: auto;  overflow: auto; display: flex; flex-direction: column; }
.result-panel .viewport .center header .title{ text-align: left; margin: 0; }
.result-panel .viewport .center header .bt-more{ text-decoration: underline; font-size: 14px; }
.result-panel .viewport .center .results { list-style: none; margin: 0; padding: 0; }
.result-panel .viewport .center .results li a{ display: flex; align-items: center; text-align: left; width: 100%; }
.result-panel .viewport .center .results li img{ display:block; margin-right: 10px; }
.result-panel .viewport .center .results .title{ font-weight: normal; }

.search-page-results{ margin-bottom: 30px }
.search-page-results .pagination.loading{ background: url(/img/cart-loading.gif) no-repeat center center !important; height: 32px; }
.search-page-results .pagination.loading button{ display: none; }


#bt-burger *{ margin: 0; padding: 0; }
#bt-burger { width: 40px; height: 30px; position: relative;  -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; -o-transition: .5s ease-in-out; transition: .5s ease-in-out; cursor: pointer;}
#bt-burger span{ display: block; position: absolute; height: 5px; width: 100%; background: #000; border-radius: 9px; opacity: 1; left: 0; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; -o-transition: .25s ease-in-out;  transition: .25s ease-in-out;}
#bt-burger span:nth-child(1) { top: 0px;}
#bt-burger span:nth-child(2),#bt-burger span:nth-child(3) { top: 12px;}
#bt-burger span:nth-child(4) { top: 24px;}
.open #bt-burger span:nth-child(1) { top: 18px; width: 0%; left: 50%;}
.open #bt-burger span:nth-child(2) { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg);}
.open #bt-burger span:nth-child(3) { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg);}
.open #bt-burger span:nth-child(4) { top: 18px; width: 0%; left: 50%;}

#account nav.account { display: flex; max-width: 600px; flex-flow: column; margin: auto; text-align: center; }
.block-cart{ position: relative; }
.block-cart-item {display: flex; flex-direction: row; margin: 0 10px; padding: 10px; border-bottom: 1px solid #000; height: 100px; }
.block-cart-item .img{ flex: 0; margin-right: 10px;  }
.block-cart-item .img img{ display: block; height: 100px; width: 100px; }
.block-cart-item .infos{ flex: 1; font-size: 14px;}
.block-cart-item .infos .title{ display: block; margin-bottom: 5px; font-weight: bold; }
.block-cart-item .infos .reference{ display: block; margin-bottom: 5px;  }
.flash-item{ display:none; position: fixed; right: 0; top: 0; width: 320px; background: #fff;  z-index: 10; border: 1px solid #000; }
.flash-item .block-cart-item{ border: none !important; }
.block-cart .cart-content{ display:none; position: absolute; right: 0; width: 320px; background: #fff;  z-index: 10; border: 1px solid #000;}
.block-cart.opened .cart-content{display: block; }
.block-cart .cart-content ul{ list-style: none; margin: 0; padding: 0; }
.block-cart .cart-content .scroll-pane{ max-height: 362px; margin: 5px; }
.block-cart .cart-content ul li:last-child{ border:none; }
.block-cart .cart-content .bt-order{ background: #000; color: #fff; display: block; text-align: center; padding: 15px; font-size: 16px; }
.main-menu{ position: relative; display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 0 !important; border-bottom: none !important;  }

.main-menu .arrow{ display: none; }
.main-menu ul,
nav ul{ display: block; padding: 0; margin:0; list-style: none;  }
.main-menu > ul > li{ display: inline-block; vertical-align: middle; font-weight: bold; line-height: 20px; font-size: 16px; padding: 15px 0; margin: 0px 5px; }
.main-menu > ul.left{  }
.main-menu > ul.right{  }
/*.main-menu li.universe{ font-family: 'Montserrat', sans-serif; padding:0 20px; font-weight: bold; font-size: 1em; text-transform: uppercase;; }*/
.main-menu li a{ color: #000; text-decoration: none; }
.main-menu li.on > a{ text-decoration: underline; }
.main-menu ul li .submenu{ position: absolute; width:100%; z-index: 100; background: #fff; top: 50px; left: 0px; display: none; padding: 20px 0; border-bottom: 1px solid #000; }
.main-menu ul .spacer{ margin-bottom: 15px; }
.main-menu ul li.on .submenu{ display: flex; }
.main-menu ul li .submenu .prefix{ font-size: 17px !important; margin-top: 10px; text-transform: uppercase;  }
.main-menu ul li .submenu .categories{ width: calc(40% - 100px); margin-left: 20px; }
.main-menu ul li .submenu .categories ul{ display: none; }
.main-menu ul li .submenu .categories li:first-child{ margin-top: 0; }
.main-menu ul li .submenu .categories li{ font-size: 13px; line-height: 25px; }
.main-menu ul li .submenu .categories li.on a{ text-decoration: underline; }
.main-menu ul li .submenu .categories .all{ font-size: 13px; margin-top: 30px; font-weight: 700; }
.main-menu ul li .submenu .categories .all a{ text-decoration: underline; }
.main-menu ul li .submenu .subcategories{ width: calc(40% - 100px); }
.main-menu ul li .submenu .subcategories li{ font-size: 13px; font-weight: 500; line-height: 25px; }
.main-menu ul li .submenu .subcategories li a:hover{ font-weight: bold; }
.main-menu ul li .submenu .subcategories .all{ margin-top: 30px; font-weight: 700; }
.main-menu ul li .submenu .subcategories .all a{ text-decoration: underline; }
.main-menu ul li .submenu .banners{ width: 200px; }
.main-menu ul li .submenu .banners a{ display: block; text-align: center; margin-bottom: 15px; font-size: 14px; text-transform: uppercase; line-height: 16px;} 
.main-menu ul li .submenu .banners a img{ display: block; margin:0 auto 5px auto; } 
.main-menu .hidden{ display: none; }

.slick-slider{ position: relative; }
.slick-slider .slick-arrow{ position: absolute; z-index: 10; width: auto; height: 30px; top: calc(50% - 15px); cursor: pointer; }
.slick-slider .bt-prev{ left: 10px; }
.slick-slider .bt-next{ right: 10px; }
.slick-slider .slick-dots li{ margin: 0; }

.title-ctn{ display: flex; align-items: flex-end; margin-bottom: 30px;}
.title-ctn .title{ margin: 0 20px 0 0; font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 24px; line-height: 24px; text-transform: uppercase; }
.title-ctn .title a{ font-weight: normal; font-size: 14px; text-transform: none; }
.title-ctn hr{ flex-grow: 1; margin: 0 0 4px 0; background: #000; color: #000; height: 1px; border: none; }

.module{ margin-bottom: 40px; position: relative; }
.modules .module:last-child{ margin-bottom: 0; }
.module ul{ display: block; padding: 0; margin:0; list-style: none;  }

.module > .ctn{ position: relative; }

.module-text-slideshow{ margin-bottom: 0; background: #EDEDED; }
.module-text-slideshow .ctn{ padding: 20px 0; text-align:center; font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 14px; }
.module-text-slideshow .ctn > *{ display: none; }
.module-text-slideshow .ctn div:first-child{ display: block; }

.slideshow > li{ display: none; }
.slideshow > li:first-child{ display: block; }

.module-mosaic .row{ display: flex; margin-bottom: 10px;   }
.module-mosaic .row a{ margin-right: 10px; display: block; flex-grow: 1; flex-shrink: 1; }
.module-mosaic .row a:last-child{ margin-right: 0; }
.module-mosaic .row a img{ display: block; width: 100%; height: auto; }

.module-catalog .content{ display: flex; align-items: center; }
.module-catalog .content > *{ flex:auto; }
.module-catalog .content .txt{ text-align: center; margin-left: 30px;  }
.module-catalog .content .txt p{ text-align: left; margin-bottom: 30px;  }
.module-catalog .content .txt img{ margin-bottom: 30px;  }

.module-categories .content{ display: flex; flex-flow: row wrap; }
.module-categories .categories{ flex-basis: 31%; margin: 0 1% 20px 1%; text-align: center;   }
.module-categories .categories img{ width: auto; height: 20px; margin-bottom: 10px; }
.module-categories .categories .parent{ display: block; font-weight: bold; margin-bottom: 10px; font-size: 15px; }
.module-categories .categories a{ font-size: 12px; }

.module-newsletter form{ text-align: center; }
.module-newsletter form label{ display: block; margin-bottom: 10px; } 
.module-newsletter form label .big{ font-size:22px; }
.module-newsletter form input { border:none; display: inline-block; width: 300px; vertical-align: middle; margin: 10px 15px; padding: 10px 15px; font-weight: bold; background: #E7E9E9; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; }
.module-newsletter form button{ background: none; color: #000; display: inline-block; width: auto; }

.module-madeinfrance .content{ display: flex; background: #fff; color: #000; align-items: center; }
.module-madeinfrance .content img{ display: block; flex-grow: 1; flex-shrink: 1;  margin: auto; }
.module-madeinfrance .content .txt{ padding: 20px 50px; flex-grow: 1; flex-shrink: 1;  }
.module-madeinfrance .content .subtitle{ font-size: 24px; margin-bottom: 25px; }
.module-madeinfrance .content p{ font-size: 15px; margin-bottom: 15px; }

.module-product .buttons{ text-align: center; }

.header-spacer{ height: 50px; }


.footer-spacer{ height: 50px; }
/*.reassurance{ position: relative; z-index: 10; }
.reassurance .bg{ width: calc((100% - 1170px) / 2); float: left; height: 100px; background: #fff; margin-top:-50px;  }
.reassurance .ctn{ display: flex; }
.reassurance .ctn > div{ width: 20%; text-align: center; font-size: 34px; color: #A89881; font-weight: bold;  background: url(../img/pictos/bg-reassurance.svg) no-repeat center top; background-size: 400px auto; }
.reassurance .ctn > div span{ display: inline-block; border-bottom: 2px solid #D8403D; font-size: 20px; vertical-align: top;}*/

.breadcrumbs{ margin-bottom: 10px; padding: 15px 0; }
.breadcrumbs .curent{ font-weight: bold; }

.reassurance{ text-align: center; /*background: #999; background: rgba(130,135,140,0.5);*/ }
.reassurance > .ctn {  padding: 30px 0; display: flex; flex-wrap: wrap; align-items: stretch; align-content: space-between; justify-content: center;}
.reassurance > .ctn > div{ font-size: 14px; display: flex; align-items: center; justify-content: center; vertical-align: middle; margin: 10px 15px; padding: 20px 25px; font-weight: bold;  background: #E7E9E9; /*-webkit-border-radius: 50px; -moz-border-radius: 50px; border-radius: 50px;*/ }

.seen-products{ position: relative; clear: both; background: #EDEDED; padding: 30px 0; }
.seen-products .title-ctn{ position: relative; }
.seen-products .product-list-ctn{ padding: 0; margin-bottom: 0;  }
.clear-seen-products{ position: absolute; right: 0; top: 0; font-size: 13px; text-decoration: underline; }


footer{ background: #82878C; text-align: center; padding: 50px 0; color:#fff;  }
footer > .ctn{ max-width: 980px; }
footer a{ color: #fff; text-decoration: none; }
footer p{ font-size: 0.9rem; }
footer .menus { display: flex; flex-wrap: wrap; text-align: left; margin-bottom:50px; border-bottom: 1px solid #fff; padding-bottom: 50px; }
footer .menus .col{ flex:auto; }
footer .menus .col > div{ margin-bottom: 20px; }
footer .menus .title{ font-weight: bold; font-size: 1.2rem; margin-bottom: 2px; }
footer .menus .title a{ text-decoration: underline; }
footer .menus nav { margin-bottom: 30px; }
footer .menus nav:last-child{ margin-bottom: 0; }
footer .menus nav a{ font-size: 0.9rem; color: #fff; text-decoration: none; }
footer .menus .socials .title,
footer .menus .payment .title{ margin-bottom: 10px; }
footer .seo{ text-align: left; margin-bottom: 50px; }
footer .seo p{ text-align: left; margin-bottom: 15px; }
footer .legals{ padding: 20px 0; color:#A4A3A3;  }
footer .legals a{ color: inherit; }
footer .corporate{ padding: 30px 0 10px 0; }
footer .corporate img{ width:auto; height: 30px;}
footer .corporate > p{ float: left; width: 50%; }
footer .copyright{ text-align: center;  }
footer .copyright a{ display: inline-block;  margin-bottom: 20px; }
footer .copyright p a{ margin-bottom: 0; }


.carousel{ position: relative; }
.carousel .item{ position: relative; max-height: 700px; }
.carousel .item img{ max-width: 100%; height: auto; }
.carousel .item .txt{ position: absolute; top: 25%; width: 100%;}
.carousel .item .txt p{ margin-bottom: 20px; }
.carousel .item .txt h2{ text-transform: uppercase; font-size: 60px; color: #fff; margin-bottom: 20px; line-height: 57px;  }
.carousel .item .txt .button{ font-size: 25px; padding: 0 50px; margin-right: 20px; }
.carousel .tns-controls{ position: absolute; width: 100%; height: 100%; }
.carousel .tns-controls button{position:absolute; z-index: 100; top:calc(50% - 25px); background:url(../img/pictos/prev.svg) no-repeat center center; height: 50px; width: 50px; border:none; text-indent:-9999px; }
.carousel .tns-controls button[data-controls="prev"]{ left: calc((100% - 1170px) / 4); }
.carousel .tns-controls button[data-controls="next"]{ right: calc((100% - 1170px) / 4); background-image:url(../img/pictos/next.svg); }
.carousel .tns-nav{ position: absolute; bottom: 60px; width: 100%; text-align: center;z-index: 100; }
.carousel .tns-nav button{ display: inline-block; margin: 4px; background-color: rgba(255,255,255,0.5); border:none; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; width: 10px; height: 10px;  }
.carousel .tns-nav button.tns-nav-active{ background-color: rgba(255,255,255,1); }
.carousel .tns-liveregion{ display:none; }
.carousel .tns-outer > button{ display:none; }

.news-cms{ position: relative; background: url(../img/bg-home.jpg) no-repeat center center; background-size: cover; padding: 50px 100px; text-align: center;  }
.news-cms .bg{ max-width: 100%; height: auto; display: block; margin: auto; position: absolute; width: 100%;}
.news-cms .cols{ display: inline-block; text-align: left; }
.news-cms .cols .col{ float: left; padding: 0 50px; max-width: 240px; border-right: 1px dotted #fff;  color: #fff; }
.news-cms .cols .col:last-child{ border: none;}
.news-cms .cols .col .title{ font-size: 22px; margin-bottom: 2px;  }
.news-cms .cols .col p{ font-size: 16px; margin-bottom: 6px; }
.news-cms .cols .col img{ height: 30px; width: auto; margin-bottom: 4px; }
.news-cms .cols .col .more{ color:#fff;  }
.news-cms .cols .col-2 img{ height: 35px; }
.news-cms .infos{ display: inline-block; margin: 100px 0 150px 0; font-size: 84px; font-family: rockwell, sans-serif; font-weight: 700; text-align: left; oolor:#fff; color: rgba(255,255,255,0.4); border-bottom: 10px solid rgba(255,255,255,0.4); } 

.product .picture, .product .price-ctn{ cursor: pointer; }
.product-list-ctn { text-align: center; margin-bottom: 30px; }
.product-list-ctn > .title{ font-weight: bold; padding: 10px 0; margin-bottom: 20px; color: #A89881; font-size: 25px; text-transform: uppercase;  }
.product-list-ctn ul.product-list{ display: flex; flex-flow: row wrap; align-items: stretch; }
.product-list-ctn ul.product-list li{ margin: 10px 20px; vertical-align: top; width: calc((100%/3) - (80px / 3)); text-align: center; position: relative;  }
.product-list-ctn ul.product-list:not(.product-carousel) li:nth-child(3n+1){ margin-left: 0; }
.product-list-ctn ul.product-list:not(.product-carousel) li:nth-child(3n+3){ margin-right: 0; }
.product-list-ctn ul.product-list li a{ color: inherit; text-decoration: none;}
.product-list-ctn ul.product-list li .title{ margin-bottom: 10px; padding-bottom: 0; font-size: 14px; line-height: 14px; height: 42px; overflow: hidden;  }
.product-list-ctn ul.product-list li .manufacturer{ margin-bottom: 5px; font-size: 14px; overflow: hidden; text-transform: uppercase; font-weight: bold; }
.product-list-ctn ul.product-list li img{ display: block; max-width: 100%; height: auto; margin-bottom: 10px; }
.product-list-ctn ul.product-list li .price{ font-weight: bold; font-size: 16px; }
.price-ctn sup,
.price sup,
.total-products sup,
.product-list-ctn ul.product-list li .price sup{ font-size: 10px; margin-top: -3px; margin-left: 3px; font-weight: normal; }
.product-list-ctn ul.product-list li .from{ font-size: 12px; }
.product-list-ctn ul.product-list li .picture{ position: relative; }
.product-list-ctn ul.product-list li .buttons{ position: absolute; right: 0; bottom:0; }
.product-list-ctn ul.product-list li .buttons a{ width: 30px; display: block; }
.product-list-ctn ul.product-list li .price-tax-incl{ margin-top: 5px; font-size: 11px; display: block;  }

.product-list-ctn ul.product-list .price-ctn{ display: flex; align-items: center; justify-content: center; flex-flow: column; }

ul.product-list li .discount{ font-size: 12px; margin-top: 5px; display: inline-block; }
ul.discounts li{ margin-bottom: 10px;  }

.product-carousel{ position: relative; }
.product-carousel .slick-list{ width:calc(100% - 60px); margin: auto; overflow: hidden; }
.product-list-ctn ul.product-carousel li{ margin: 10px 20px; vertical-align: top; width: calc((100%/4) - (120px / 4)); text-align: center;  }
.product-carousel-ctn .product-list-ctn{ margin-bottom: 0; }
.manufacturer-view{ position: relative; }
.manufacturer-view .manufacturer-ctn .product-list-ctn .product-selection{ display: none; }
.manufacturer-view .manufacturer-ctn .product-list-ctn ul.product-list li{ width: calc((100%/4) - (120px / 4));}
.manufacturer-view .manufacturer-ctn .product-list-ctn ul.product-list li:nth-child(3n+1){ margin-left: 20px }
.manufacturer-view .manufacturer-ctn .product-list-ctn ul.product-list li:nth-child(3n+3){ margin-right: 20px }
.manufacturer-view .manufacturer-ctn .product-list-ctn ul.product-list li:nth-child(4n+1){ margin-left: 0 }
.manufacturer-view .manufacturer-ctn .product-list-ctn ul.product-list li:nth-child(4n+4){ margin-right: 0 }
.manufacturer-view .description{ margin: 30px 0; }

.featured-ctn{ min-height: 100px; }

.product-view{ margin: 50px auto;}
.product-view h1{ font-weight: bold; text-align: left; }
.product-view .manufacturer{ margin-bottom: 20px; }
.product-view .manufacturer a{ font-weight: bold; text-transform: uppercase; }
.product-view .infos { margin-bottom: 30px; }
.product-view .infos .description{ margin-bottom: 20px; }
.product-view .infos .description p{ margin-bottom: 20px; }
.product-view .infos .description .bt-scroll{ text-decoration: underline; }
.product-view .infos .description div .discount { display: inline-block; font-weight: normal; font-size: 14px; margin-bottom: 20px; }
.product-view .infos .not-logged{ font-size: 12px; margin-bottom: 10px; }
.product-view .infos .offers{ display: flex; align-items: stretch; justify-content: space-between; }
.product-view .infos .offers > div{ display: flex; align-items: center; font-size: 13px; vertical-align: middle; text-align: left; margin: 10px 5px;  padding: 10px 15px; background: #E7E9E9; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; flex-grow: 1;}
.product-view .infos .offers > div img{ width: 30px; height: auto; display: block; margin-right: 10px; }
.product-view .infos .offers > div:first-child{ margin-left: 0; }
.product-view .infos .offers > div:last-child{ margin-right: 0 }

.discount-ctn .soleil{ width: 13px !important; height: 13px !important; padding: 0 !important; background: url(../img/pictos/soleil-white.svg) no-repeat;}
.discount-ctn .non-soleil{ width: 13px !important; height: 13px !important; padding: 0 !important; background: url(../img/pictos/non-soleil-white.svg) no-repeat;}
.price-soleil-notice{ font-size: 13px; }
.soleil-price .price-notice{ border-radius: 50%; border: 1px solid #000;font-size: 10px;margin-top: -10px; margin-left: 5px; width: 12px; height: 12px; position: absolute; line-height: 13px; }

.product-view .section{ padding: 30px 0;  }
/*.product-view #description .title,*/
.product-view #notice .title{ font-size: 20px; font-weight: bold; text-transform: none; }
.product-view #notice{ padding-top:30px; } 
.product-view .product-list-ctn{ clear: both; }
.product-view .ctn .notice{ margin-bottom: 30px; }
.product-view .ctn .notice a{ text-decoration: underline; }

.bt-wishlist{ width: 32px; height: 32px; position: absolute; top: 0; right: 0; z-index: 10; background: url(../img/wishlist.png) no-repeat 0 0;  }
.bt-wishlist.locked,
.bt-wishlist.on{ background-position: 0 -32px; }
.bt-wishlist.bt-remove{ background: none; }
.bt-wishlist.loading{ background: url(/img/cart-loading.gif) no-repeat center center !important; }
.bt-wishlist.loading svg{ display: none; }

.product-infos{ display:flex; }
.product-infos .infos{ position: relative; }
.product-infos .infos .admin-tools{ position: absolute; padding-top: 0; padding-right: 0; right: 0; }
.product-infos .pictures-ctn .slick-vertical .slick-arrow { left: calc(50% - 10px); width: 20px; height: 20px; }
.product-infos .pictures-ctn .slick-vertical .slick-arrow:before{ color:#000; }
.product-infos .pictures-ctn .slick-vertical .slick-prev { top:-20px; transform: rotate(90deg); }
.product-infos .pictures-ctn .slick-vertical .slick-next { top: auto; bottom:-20px; transform: rotate(90deg);  }
.product-infos .pictures-ctn{ display: flex; width: calc(45% - 20px); margin: 0 0 20px 0; flex-direction: row-reverse; gap: 20px;  } 
.product-infos .pictures-ctn img{ max-width: 100%; height: auto; }
.product-infos .pictures-ctn .pictures{ position: relative; margin-bottom: 20px; }
.product-infos .pictures-ctn .thumbs{ width: 82px; margin-right: 20px; flex-grow: 0; flex-shrink: 0; margin: 0; padding: 0; list-style: none; height: 368px;  }
.product-infos .pictures-ctn .thumbs .thumb{ margin-bottom: 10px; float: none;  }
.product-infos .pictures-ctn .thumbs .thumb img{  max-width: 100%; width:80px; height: 80px; display: block; overflow: hidden; }
.product-infos .pictures-ctn .thumbs .thumb a{ display: block; border: 1px solid #cccccc; }
.product-infos .pictures-ctn .thumbs .thumb a.on{ border-color: #000; }
.product-infos .pictures-ctn .scene{ position: relative; flex-grow: 1; }
.product-infos .pictures-ctn .scene .pictures a:first-child{ display: block; }
.product-infos .pictures-ctn .scene .pictures a{ display: none; }
.product-infos .pictures-ctn .scene .pictures a.slick-slide{ display: block; }
.product-infos .pictures-ctn .scene .pictures img{ margin: auto; }
/*.product-infos .pictures-ctn .scene .flags{ display: flex; }*/
.product-infos .infos{ width: 55%; margin-left: 20px;}
/*.product-infos .flags{ display: flex; }*/
.product-infos .flags{ display: flex; width: 100%; align-items: center; }
.product-infos .flags .flag { flex:auto; font-weight: bold; font-size: 13px; }
.product-infos .flags .origin{ display: flex; align-items: center; text-transform: uppercase; }
.product-infos .flags .flag.origin img{ width: 26px; margin-right: 10px }
.product-infos .flags .guaranty{ flex:auto; flex-grow: 0; }
.product-infos .flags .flag img{ width: 16px; display: inline-block; vertical-align: middle; }

.references .reference{ padding: 10px 0; border-bottom: 1px solid #ccc; display: flex; font-size: 14px; flex-direction: column; }
.references .reference .reference-ctn{ display: flex;  flex-flow: row wrap;}
.references .reference:first-child{ border-top: 1px solid #ccc; }
.references .reference .reference-ctn > div{ margin: 0 15px 0 0; }
.references .reference .reference-ctn > div:first-child{ margin-left: 0; }
.references .reference .reference-ctn > div:last-child{ margin-right: 0; }
.references .reference .reference-ctn > div.stock-ctn{  min-width: 100px; display: flex; flex-direction: column; justify-content: space-between; }
.references .reference .reference-ctn > div.stock{ }
.references .reference .img img{ width: 75px; display: block; height: auto; }
.references .reference .soleil img{ width: 40px; }
.references .reference .name-ctn{ flex: auto; font-size: 13px; display: flex; align-items: flex-end; flex-flow: row wrap; align-content: space-between; align-items: center; }
.references .reference .name-ctn .name{ font-size: 14px; margin-top: 0; margin-bottom: 10px; line-height: 20px; width: 100%; }
.references .reference .model{ font-weight: bold; font-size: 14px; line-height: 14px; }
.references .reference .old-reference{ font-size: 11px; font-style: italic; font-weight: normal; }
.references .reference .price-grid{ display: flex; flex: auto; justify-content: flex-end; align-items: flex-end; margin-right: 20px; flex-direction: column; }
.references .reference .price-grid > div:has(div){ display: flex;  flex: auto; min-width: 200px; justify-content: space-between; }
.references .reference .price-grid > div > div{ display:table-cell; /*flex: auto;ù*/ white-space: nowrap; padding: 5px 10px; line-height: 20px; }
.references .reference .price-grid > div > div:first-child{ padding-left: 0; }
.references .reference .price-grid > div sup{ font-size: 10px; margin-top: -3px; margin-left: 3px; font-weight: normal; }
.references .reference .price{ font-weight: bold; text-align: center; }
.references .reference .soleil-price{ text-align: center; margin: auto; min-width: 200px; }
.references .reference .soleil-price th{ line-height: 20px; background: none; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; vertical-align: middle }
.references .reference .soleil-price th .picto.soleil{ width: 20px; height: 20px; }
.references .reference .soleil-price th .picto.non-soleil{ width: 16px; height: 16px; }
.references .reference .soleil-price td{ line-height: 20px; font-size: inherit; border-right: 1px solid #ccc; padding: 5px 10px; }
.references .reference .soleil-price tr > *:last-child{  border-right: none; }
.references .reference .soleil-price .price-normal {text-decoration: line-through; }
.references .reference .soleil-price .current-price{ font-weight: bold; text-decoration: none !important; }
.references .reference .soleil-price .price-reduced{ color: #f00; }
.references .reference .current-price{ font-size: 15px; }
.references .reference .stricked-price{ text-decoration:line-through; }
.references .reference .reduced-price{ color:#f00; background: #fde9eb;  }
.references .reference .normal-price{ color:#f00; }
.references .reference .bt-cart{ width: 74px; text-align: center; }
.references .reference .bt-cart .add-to-cart{ width: 32px;  height: 32px; display: block; margin: auto;  }
.references .reference .bt-cart .add-to-cart svg{ width: 25px;}
.references .reference .bt-cart .add-to-cart.loading{ background: url(/img/cart-loading.gif) no-repeat center center; }
.references .reference .bt-cart .add-to-cart.loading svg{ display: none; }
.references .reference .bt-cart .qty{ display: none; }
div.qty{ display: none; }
div.qty{ display: flex; border: 1px solid #000; justify-content: space-between; align-items: stretch; }
div.qty a{ display: inline-block; width: 20px; line-height: 20px; flex-shrink: 0; font-weight: bold; }
div.qty .qty-value{ border: none; width: 20px; text-align: center; flex-grow: 1; flex-shrink: 1; font-weight: bold; }

.references .reference .price-grid-expert{ align-items: center; }
.references .reference .price-grid-expert .price-tax-incl{ margin-top: 5px; font-size: 11px; }

.references .reference .in-cart .add-to-cart{ display: none; }
.references .reference .in-cart .qty{ display: block; white-space: nowrap; }
.references .reference .eco-tax{ width: 100%; margin-top: 10px; font-size: 12px; }
.references .reference .stock-alert{ width: 100%; margin-top: 10px; }
.references .reference .stock-alert a:hover{ text-decoration: underline; }
.references .reference .stock-alert a.disabled:hover{ text-decoration: none; }
/*.references .reference .stock-alert .loading{ background:url(/img/cart-loading.gif) no-repeat; }*/

.stock-status{ text-transform: uppercase; font-weight: bold; font-size: 10px; }

.product-carousel-ctn{ position: relative; clear: both; background: #EDEDED; padding: 30px 0; }

/*.product-references{ display: table; width:100%; border-spacing: 2px; margin-bottom: 30px; }
.product-references > div { display: table-row; }
.product-references > div > div{ display: table-cell; }
.product-references div.header > div{  background: #7f7f7f; color:#fff; padding: 5px 10px; text-align: center; }
.product-references div.header > div.empty{ background: none;}
.product-references div.reference > div{ background: #e6e6e6; padding: 10px; text-align: center; }
.product-references div.reference .name{ text-align: left; padding-left: 50px; }
.product-references-form .footer{ text-align: right; }*/


.discount{ background: #f00; font-weight: bold; color: #fff; border-radius: 4px; padding: 4px 7px; }

ul.manufacturers { display: flex; flex-flow: row wrap; align-items: center; justify-content: space-between; padding: 0; margin: 0; list-style: none; }
ul.manufacturers .manufacturer { margin: 20px; width: calc(20% - 40px); text-align: center; }
ul.manufacturers .manufacturer img{ display: block; margin:0 auto 10px auto; max-width: 100%;  }
ul.manufacturers .manufacturer .name{ display: block; font-weight: bold; text-transform: uppercase;}

table th{ background: #EDEDED; color:#000; padding: 5px 10px; }
table th.empty{ background: none;  }


.product-view > .footer{ background: #ccc; padding: 30px 0 100px 0; margin-top: 30px;  }
.product-tabs .header a{ display: inline-block; margin-right: 10px; color: #fff; background: #000; padding: 5px 50px; line-height: 14px; font-size: 14px; text-decoration: none; }
.product-tabs .header a.on{ color: #000; background: #fff;}
.product-tabs .tab-content{ color: #000; background: #fff; padding: 20px 30px; }

.product-view #video iframe{ height: auto; max-width:1170px; aspect-ratio: 16 / 9; }
.product-view .footer .product-list-ctn{ padding: 0; margin-bottom: 30px; }
.product-view .footer .product-list-ctn .title{ color:#000;  }
.product-view .footer .product-list li{ background: #fff; padding: 10px; margin: 10px; }

.shopping-cart .tools{ float:right; margin-bottom: 20px; }
.shopping-cart .cart-details{ clear: both; }
.shopping-cart table{ width: 100%;  margin-bottom: 30px;}

.cart-navigation{ display: flex; align-items: center; justify-content: space-between; line-height: 50px; }
.cart-details .cart-navigation{ flex-flow: row-reverse; }
.cart-navigation button{ cursor: pointer; }
.order-process form .button{ display: inline-block; width: auto; }

.popup .content table{ width: 100%;}
.popup .buttons{ display: flex; justify-content: space-between; align-items: center; margin: 20px 0 0 0; }
.popup .buttons a{ margin: 0; }
.popup .buttons a.bt-secondary{ background: #fff; border:#000 1px solid; color: #000; }

.popup-cart-result table th{ background: none; }
.popup-cart-result table td{ background: none; }

#identification { text-align: center; }
#identification .mentions{ text-align: left; }
#identification .mentions h2{ font-size: 18px; }
#identification .forms{ display: flex; align-items: stretch; justify-content: center; border-radius: 4px; }
#identification .forms .form-title{ display: block; font-weight: bold; font-size: 18px; }
#identification .forms > div { border:1px solid #000; padding: 40px; margin: 20px; max-width: 400px; flex-basis: 40%; }
#identification .forms > div.login-form{ display: flex; flex-direction: column; justify-content: space-between; position: relative; }
#identification .forms > div.login-form .password-recovery{ position: absolute; width: 100%; left: 0; }
#identification .forms > div .button{ margin-top:0; margin-bottom: 0; }
#identification .forms p{ margin-bottom: 15px; font-size: 14px; text-align: left;}
#identification .forms fieldset div{ display: flex; flex-flow: column; }
#identification .forms fieldset div input{ width: 100%; box-sizing: border-box;}
#identification .forms fieldset div
#identification .forms fieldset div button{ margin-left:0; margin-right: 0; }
#identification .register-form { max-width: 800px; margin:0 auto 30px; }
#identification .register-form div:has(> #customer_register_address_default){ display: none; }
#identification .forms form fieldset .form-error{ margin-left: 0; text-align: center; }
#identification .register-form .expert label{ width: auto; margin-right: 15px;}
#identification .register-form .expert div div{ margin-bottom: 0; }

 .form-error{ display: none; }
.register-form fieldset{ border-bottom: 1px solid #000; padding-bottom: 15px; margin-bottom: 15px; }
.register-form fieldset.last{ border-bottom: none; padding-bottom: 0; }
.register-form .title{ font-size: 18px; font-weight: bold; margin-bottom: 10px; }
.register-form .newsletters div div{ margin-bottom: 0; }
.quick-register-form fieldset{ border: none; padding: 0; margin: 0; }
.register-form #customer_register_address div:has(#customer_register_address_company) { display: none; }
.register-form .expert em{ font-style: italic; }

.customer-ctn{ display: flex; gap: 30px; }
.customer-ctn aside{ width: 280px; flex-grow: 0; flex-shrink: 0; }
.customer-ctn aside .hello{ font-weight: bold; font-size: 18px; margin-bottom: 20px; }
.customer-ctn aside nav .title{ text-transform: uppercase; margin-bottom: 20px; }
.customer-ctn aside nav ul li{ margin-bottom: 10px; }
.customer-ctn aside nav ul li.current{ font-weight: bold; }
.customer-ctn aside nav ul{ margin-bottom: 20px; }
.customer-ctn aside nav a:hover{ text-decoration: underline; }
.customer-ctn .customer-content .messages{ padding: 0; }
.customer-ctn .customer-content{ flex-grow: 1; flex-shrink: 1; }
.customer-ctn .customer-content .group{  margin-bottom: 30px; }
.customer-ctn .customer-content .group .title{ font-weight: bold; margin-bottom: 20px; border-bottom:1px solid #000; padding-bottom: 15px; }
.customer-ctn .addresses .address{ display: flex; margin-bottom: 20px; }
.customer-ctn .addresses .address .fields{ flex-grow: 1; max-width: 400px;  }
.customer-ctn .addresses .address .buttons{ display: flex; flex-direction: column; text-align: center; width: 220px; }
.customer-ctn .addresses .address .buttons .button{ margin-bottom: 10px; }
.customer-ctn .customer-content .consent-ctn form div.checkbox{ align-items: flex-start; gap: 15px; white-space: wrap; }
.customer-ctn .customer-content .consent-ctn form div.checkbox > label{ margin-top: 0; padding-top: 0; flex: auto; }
.customer-ctn .customer-content .consent-ctn h1{ text-align: left; margin-bottom: 40px;  }
.customer-ctn .customer-content .consent-ctn h2{ font-size: 16px; }

.customer-ctn .customer-content .alerts .alert{ display: flex; width: 100%; align-items: center; padding: 10px 0; }
.customer-ctn .customer-content .alerts .alert .name{ flex: auto; margin: 0 20px; }

.customer-ctn .order .addresses .address{ display: block; }

.checkout-ctn{ max-width: 1000px; margin-left: auto; margin-right: auto;}
.order-process h1{ text-align: left; text-transform: uppercase; font-weight: 900; margin-bottom: 30px; }
.order-process h2{ text-align: left; text-transform: uppercase; font-weight: 900; font-size: 20px; }
.order-process h3{ font-weight: 700; }




header.checkout .ctn{ display: flex; align-items: center; justify-content: space-between; }

#order-steps{ margin: 30px 0; padding: 10px 0; border-top:1px solid #000; list-style: none; display: flex; }
#order-steps li{ width: 25%; text-align: center; }
#order-steps li a{ color: inherit; text-transform: uppercase;  }
#order-steps li.current a{ font-weight: 900; }

.discounts{ margin: 30px 0; }

.gifts{ display:flex; flex-flow: row; margin-bottom: 30px; align-items: center; justify-content: flex-start; width: 100%; }
.gifts .img{ width: 300px; text-align: center; flex-shrink:0; flex-grow:0;  }
.gifts .img img{ width: 80px; height: 80px; }
.gifts .img .title{ font-size: 40px; font-weight: 900; text-transform: uppercase; }
.gifts .gift-list{ flex-shrink:1; flex-grow:1; }
.gifts .gift-list .product-list-ctn ul.product-list{ justify-content: center; }
.gifts .gift-list .product-list-ctn ul.product-list li{ min-width: 200px; }
.gift-popup .gifts{ margin-bottom: 0 ; flex-flow: column;}
.gifts .product-list-ctn{ margin-bottom: 0; }

.cart-details { margin: 30px 0; border-top: 1px solid #000; padding: 10px 0; }
.cart-details .tools{ float: none; display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; }
.cart-details .tools > *{ font-weight: 700; }
.cart-details td{  background: none; }
.cart-details tbody td{ border-bottom: 1px solid #000; padding: 20px 0; }
.cart-details tbody td .item-infos{ display: flex; }
.cart-details tbody td .item-infos .img{ flex-grow: 0; flex-shrink: 0; }
.cart-details tbody td .item-infos .img a{ max-width: 100px; overflow: hidden; display: inline-block;}
.cart-details tbody td .item-infos .infos{ flex-grow: 1; flex-shrink: 1; text-align: left; padding-left: 20px; }
.cart-details tbody td .item-infos .soleil{ width: 40px; padding: 5px 0; }
.cart-details tbody td .item-infos .infos > *{ display: block; }
.cart-details tbody td .item-infos .infos .eco-tax{ font-size: 12px; display: block; margin-top: 5px; }
.cart-details tbody td .item-infos .infos .discount{ display: inline-block; font-size: 13px; margin-top: 5px; }
.cart-details tbody td .item-infos .manufacturer{ font-weight: 900; text-transform: uppercase; }
.cart-details tbody td .item-infos .declinaison{ font-weight: bold; }
.cart-details tbody td .item-infos .stock{ margin: 5px auto; }
.cart-details tbody td .item-infos .stock .model{ font-size: 13px; font-weight: bold; }
.cart-details tbody td .item-infos .stock .model br{ display: none; }
.cart-details tbody .empty td{ border: none; }
.cart-details tbody td.price-ctn{ position: relative; white-space: nowrap; text-align: center; font-weight: bold; width: 120px; line-height: 20px; }
.cart-details tbody td.unit-price,
.cart-details tbody td.price-ctn .old-price{ font-size: 16px !important; margin-right: 10px;line-height: 20px; }
.cart-details tbody td.price-ctn .reduced-price{ font-size: 20px !important; }
.cart-details tbody td.unit-price{ white-space: nowrap; text-align: center; width: 120px; }
.cart-details tbody td.unit-price .unit-discount{ display: block; margin-bottom: 5px; }
.cart-details tbody td.unit-price .unit-discount .old-price{ text-decoration: line-through; font-size: 13px;  }
.cart-details tbody td.unit-price .unit-discount .percent-discount{ font-size: 14px; font-weight: bold;  }
.cart-details tbody td.unit-price .reduced-price{ color: #f00; font-weight: bold; }
.cart-details tbody td.qty-ctn{ text-align: center;padding-left: 30px; padding-right: 30px; }
.cart-details tbody td.qty-ctn .qty{ width: 70px; }
.cart-details tbody .delete{ position: absolute; top: 10px; right: 10px; font-weight: bold;  }
.cart-details tfoot td{ padding: 10px 0; }
.cart-details tfoot td.price{ text-align: center; }
.cart-details .total-products-line{ font-weight: bold; }

.checkout-cart > .title{ text-align: center; font-size: 20px; margin-bottom: 20px; }
.checkout-cart .item span{ display: block; font-size: 16px; }
.checkout-cart .item .img{ float: left; margin-right: 10px; }
.checkout-cart .item .title{ font-size: 18px; }
.checkout-cart .item .qty{  font-weight: 300; }
.checkout-cart .item .price{ float:right; }
.checkout-cart .totals { margin-bottom: 20px; }
.checkout-cart .totals .nb-products-ctn{ float:left; }
.checkout-cart .totals .total-products{ float:right; }
.checkout-cart .carrier { margin-bottom: 20px; }
.checkout-cart .address-ctn { margin-bottom: 20px; padding: 5px 0; border-bottom: 1px solid #000; }
.checkout-cart .address-ctn .title { margin-bottom: 10px; }

.carriers{ margin: 0 0 30px 0; padding: 0; list-style: none; }
.carriers .carrier{ border: 1px solid #000; margin-bottom: 10px; display: flex; align-items: stretch; padding: 5px; position: relative; }
.carriers .carrier .title{ color: #fff; background: #000; flex-grow: 0; flex-shrink: 0; border-radius: 3px; height: 100px; width: 100px; text-align: center;display: flex; align-items: center; justify-content: center; text-transform: uppercase; font-weight: bold; font-size: 12px; }
.carriers .carrier .details{ flex-grow: 1; flex-shrink: 1; margin-left: 50px; display: flex; align-items: center; }
.carriers .carrier .details input { position: absolute; top: 10px; right: 10px; }
.carriers .carrier .details .price { position: absolute; bottom: 10px; right: 10px; }
.carriers .carrier .details > div{ max-width: calc(100% - 70px); }

.carriers .carrier-international-ctn .title{ font-size: 10px; }

.payment-means{ margin: 0 0 30px 0; padding: 0; list-style: none; }
.payment-means .payment-mean{ border: 1px solid #000; margin-bottom: 10px; display: flex; align-items: stretch; padding: 5px; position: relative; }
.payment-means .payment-mean .title{ color: #fff; background: #000; flex-grow: 0; flex-shrink: 0; border-radius: 3px; height: 100px; width: 100px; text-align: center;display: flex; align-items: center; justify-content: center; text-transform: uppercase; font-weight: bold; font-size: 12px; }
.payment-means .payment-mean .details{ flex-grow: 1; flex-shrink: 1; margin-left: 50px; display: flex; align-items: center; }
.payment-means .payment-mean .details input { position: absolute; top: 10px; right: 10px; }
.payment-means .payment-mean .details .price { position: absolute; bottom: 10px; right: 10px; }
.payment-means .payment-mean .details > div{ max-width: calc(100% - 35px); }

.checkout-blocks{ display: flex; align-items: stretch; margin-bottom: 30px; }
.checkout-blocks .block{ margin: 10px; display: flex; flex-shrink:1; flex-grow:1; flex-basis:50%; flex-direction: column; align-items: stretch; justify-content: space-between; }
.checkout-blocks .block:first-child{ margin-left: 0; }
.checkout-blocks .block:last-child{ margin-right: 0; }
.checkout-blocks .block .title{ font-weight: bold; flex-grow:0; font-size: 14px; margin-bottom: 5px; }
.checkout-blocks .block .block-content{ padding: 10px; border: 1px solid #000; flex-grow:1; }

.checkout-blocks .block-comment .block-content{ display: flex; align-items: stretch; }
.checkout-blocks .block-comment .block-content textarea{ display: block; flex-grow: 1; }

.checkout .cart-total{ padding: 50px 20px; font-size: 20px;  }
.checkout .cgv-ctn{ margin-bottom: 20px; }

.checkout .cart-summary > div { margin-bottom: 30px; }
.checkout .cart-summary > div > .title{ background: #EDEDED; padding: 10px 20px; font-size: 14px; }
.checkout .cart-summary > div > .title strong{ display: inline-block; margin-right: 5px; }
.checkout .cart-summary > div > .title a{ font-weight: normal; font-size: 13px;  display: inline-block; }
.checkout .cart-summary .items{ display: block; list-style: none; margin: 0; padding: 0; }
.checkout .cart-summary .items .qty{ font-weight: bold; }
.checkout .cart-summary table{ width: 100%; border-spacing: 0; border-collapse: collapse;  }
.checkout .cart-summary table tr td{ vertical-align: middle; display: table-cell; border-top: none; border-left: none; border-right:none; border-bottom: 1px solid #000; padding: 30px 20px; }
.checkout .cart-summary .totals td{ border: none; padding: 15px 20px;}
.checkout .cart-summary .totals .label{ text-align: right; }
.checkout .cart-summary .price{ font-weight: bold; text-align: right; width: 100px; }
.checkout .cart-summary .cart-carrier .carrier .title,
.checkout .cart-summary .cart-payment .payment-mean .title{ display: block; font-weight: bold; width: auto; padding: 20px 20px 0; }
.checkout .cart-summary .cart-carrier .carrier td,
.checkout .cart-summary .cart-payment .payment-mean td{ padding: 20px; }
.checkout .cart-summary .cart-carrier .carrier .details{ display: table; }
.checkout .cart-summary .cart-payment .payment-mean .details > div{ padding: 20px; }
.checkout .mentions{ margin: 40px auto; }
.checkout .mentions p{ margin-bottom: 20px; }
.checkout .mentions svg{ display: block; margin: auto; max-width: 80%;}
.checkout-confirmation{ text-align: center; }
.checkout-confirmation .order .header,
.checkout-confirmation .order .footer{ display: none; }
.checkout-confirmation .order .details{ display: block; }

.checkout-blocks .address-ctn .title{ margin-bottom: 10px; }
.checkout-blocks .address{ padding: 20px 30px 30px; border:1px solid #000; flex: auto; display: flex; flex-direction: column;}

.address .fields{ margin-bottom: 20px; font-size: 14px; line-height: normal; flex: auto; }
.address .fields > div:first-child{ font-weight: bold; }
.address .fields a{ display: block; margin-top: 5px; text-decoration: underline; font-size: 13px; }
.address .buttons .button{ margin: 0; }

.address-form div > label{ width: 150px; }
.address-form .buttons{ margin-top: 20px; }

.address-selection .address{ display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #000; margin-bottom: 20px; }
.address-selection .address .fields{ flex-shrink: 1; flex-grow: 1} 
.address-selection .address .buttons{ flex-shrink: 0; flex-grow: 0}
.address-selection .add-address{ margin-top: 20px; display: block; text-align: center; }


.catalog-form form,
.contact-form form { max-width: 800px; margin: auto; }
.contact-form form div > label{ width: 260px; }


.category-view{ display: flex; flex-flow: row wrap;  position: relative;}
.category-view-universe{ display:block; }
.category-view > h1{ flex-basis: 100%; text-align: left; font-weight: 900; font-size: 30px; margin-bottom: 30px; }
.universe-view{ position: relative; }
.universe-view h1{ width: 100%;  font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 24px; line-height: 24px;  }
.category-view aside{ width: 230px; margin-right: 20px; }
.category-view .title-ctn .title{ margin-bottom: 0; font-size: 28px; line-height: normal; text-align: left;  }
.category-view .center{ width: calc(100% - 250px); }
.universe-view .category-buttons,
.category-view .category-buttons{ display: flex; flex-flow: row wrap; justify-content: center; margin-bottom: 30px; }
.universe-view .category-buttons .button,
.category-view .category-buttons .button{ padding: 15px 20px; -webkit-border-radius: 50px;-moz-border-radius: 50px; border-radius: 50px; width: calc(25% - 70px); display: flex; align-items: center; justify-content: center; text-align: center;}

.seo{ margin-bottom: 30px; }
.tags{ margin-bottom: 50px; }
.seo .title, .seo .title{ font-size: 20px; text-transform: none;  }

.rte h2{ font-size: 18px;}
.rte h3{ font-size: 16px;}
.rte p{ margin-bottom: 15px; }
.rte iframe{ height: 600px; max-width:1170px; }

.page-view{ margin: 50px auto; position: relative; }

.subcategories .title-ctn{ margin-bottom: 10px;} 

.tree{ margin-right: 20px; font-size: 14px; }
.tree .universe{ font-weight: bold; display: block; margin-bottom: 15px; }
.tree a { display: block;  margin-bottom: 15px; }
.tree > ul > li > a{ margin-bottom: 15px;}
.tree > ul > ul > li > a{ display: block; }
.tree .discounts li,
.tree > ul ul { margin-left: 15px; }
.tree > ul .in-path > a{ font-weight: bold; }
.tree > ul .current > a{ font-weight: bold; }

.product-list{ list-style: none; margin: 0; padding: 0; } 
.product-list-header { display: flex;  }
.product-list-header .sort-ctn{ margin-right: 20px;  }

/*.filters{ display: flex; width: 100%; align-items: center; flex-flow: row wrap; margin-bottom: 20px; }
.filters .filter{ display: flex; margin-right: 20px; align-items: center; margin-bottom: 10px; }
.filters .filter label{ display:none; flex-basis: 50%; width: calc(50% - 10px); white-space: nowrap; margin-right: 10px; text-align: center; }
.filters .filter select{ flex-basis: 100%; width: 100%;}*/


form.product-selection { display:inline; position: relative;  }
form.product-selection .toggle-filter { display:none; position: absolute; right:0; top: 0; line-height: 30px; }
form.product-selection .toggle-filter span{ font-size: 12px; font-weight: bold; }
form.product-selection .toggle-filter svg{ display: inline-block; vertical-align: middle; width: 19px; height: auto; margin-left: 5px; }
form.product-selection{ margin-bottom: 20px; text-align: left; }
form.product-selection div{ display: inline-block; }
form.product-selection div:has(> select){ margin:0 10px 10px 0; }
form.product-selection div label{ display: none; }
form.product-selection div select{ padding: 5px 10px; height: 30px; }
form.product-selection.collapse{ height: 30px; overflow: hidden; padding-right: 120px;}
form.product-selection.collapse .toggle-filter { display:block; }

.pagination { margin-top: 30px; }
.pagination a{ display: inline-block; padding: 5px; margin: 5px; min-width: 18px;}
.pagination a.on{ border:1px solid #000; }
.pagination .pages{ opacity: 0; }
.pagination .add-page{ padding: 5px 10px; }
.pagination .add-page img{ display: none; width: 24px; height: 24px; }
.pagination .add-page.loading{ background: #fff; padding: 0; }
.pagination .add-page.loading img{ display: block; }
.pagination .add-page.loading span{ display: none; }

.select2-container{ white-space: nowrap; }
.select2-search{ display: none !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered{ text-align: left !important; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 14px;  }
.select2-container--default .select2-selection--single .select2-selection__placeholder{ color:#000 !important; }

.mobile{ display: none; }
.tablet{ display: none; }

.burger-tree{ display: none; }
.burger-wrapper{ position: fixed; top:248px; height: calc(100% - 248px); width: 100%; z-index: 1000; display: none; overflow: hidden; /* background: #fff; */}
.burger{ position: absolute; width: 100%; height: 100%; left: 100%; top:0; }
.burger .panel{ position: absolute; width: 100%; height: 100%; background: #fff; overflow:auto; }
.burger .panel ul{ list-style: none; display: block; padding: 0; margin: 0; }
.burger .panel ul ul{ display: none; }
.burger .panel ul li{ border-bottom: 1px solid #000; padding:10px 20px; }
.burger .panel ul li svg{ display: block; }
.burger .panel ul li a{ display: flex; position: relative; width: 100%; justify-content: space-between; align-items: center; line-height: 30px; }
.burger .panel ul li .arrow{ height: 30px; width: 17px; left: auto; right: 0; margin: 0; bottom: auto; }
.burger .panel ul li .arrow svg{ height: 30px; width: auto; }
.burger .panel ul li .bt-back{ display: block; text-align: center; font-weight: bold; position: relative; }
.burger .panel ul li .bt-back span{ position: absolute; top: 0; left:0; }
.burger .panel ul li .bt-back svg{ height: 30px; width: auto; }
.burger .panel ul li .bt-back svg path{ transform: rotate(180deg); transform-origin: 50% 50%;}

.main-nav .mobile-search{ display: none; }

.cmp-wrapper{ display: none; position: fixed; width: 100%; height: 100%; z-index: 10000; top: 0; left: 0; background: rgba(25,25,23,0.2); font-family: Roboto, Arial, sans-serif; font-size: 0.8rem; }
.cmp-wrapper .center{ text-align:center; margin: 0; }
.cmp-wrapper.visible{ display: flex; align-items: center; justify-content: center; }
.cmp-wrapper .cmp-popup{max-width: 640px; width: 640px; padding:20px; background: #fff; position: relative; }
.cmp-wrapper  p{ margin-bottom: 10px; line-height: normal; }
.cmp-wrapper .title{ font-weight:bold; }
.cmp-wrapper .cmp-popup .cmp-navigation{ text-align: center; margin-top:20px;  }
.cmp-wrapper .deny-ctn{ text-align: right; margin: 0; }
.cmp-wrapper .deny-ctn a { color: inherit; text-decoration: underline; cursor: pointer; }
.cmp-wrapper .perso{ display: none; }
.cmp-wrapper .decline{ text-align: right; position: absolute; top: 0; right: 0; margin: 10px; }
.cmp-wrapper .decline a{ cursor:pointer; }
.cmp-wrapper .bt,
.bt-show-cmp{ font-family: Roboto, Arial, sans-serif; padding: 10px 20px; border-width: 2px; background: #000; color:#fff; text-decoration:none; border: 2px solid #000; text-shadow:none; border-radius: 5px; -moz-border-radius: 5px;-webkit-border-radius: 5px; margin: 0 0 0 5px; }
.bt-show-cmp{ color:#fff !important; }
.cmp-wrapper .bt-green{ background: #fff; border-color:#000; color:#000;}
.cmp-wrapper .bt-white { background: #fff; color: #000; border: 2px solid #000; }
.cmp-wrapper .bt-grey { background: #fff; color: #fff; background: #828282; border: 2px solid #828282; }
.cmp-wrapper .cmp-navigation{ display: flex; justify-content: center; }
.cmp-wrapper .cmp-navigation .bt{ flex: auto; margin: 0 20px; min-width: 105px; line-height: 30px; }
.cmp-wrapper .perso .bt-back{ float: right; font-weight: bold; color: inherit; }
.cmp-wrapper .perso .choice{ display: flex; align-items: center; flex-flow: row wrap; margin-bottom: 10px; min-height: 32px; }
.cmp-wrapper .perso .choice .details{ flex-basis: 100%; display: none; margin-top: 5px; }
.cmp-wrapper .perso .choice .more{ color: inherit; padding: 0; background: none; }
.cmp-wrapper .perso .choice > p{ font-weight: bold; margin: 0; flex-basis: auto; flex-grow: 1; line-height: 30px; } 
.cmp-wrapper .perso .choice .bts{ flex-basis: 270px; flex-grow: 0; flex-shrink: 0; text-align: right;}
.cmp-wrapper .perso .choice .bts .bt{ font-weight: normal; padding: 5px 10px; font-size: 14px; background: #fff; color:#000; border-color:#000; }
.cmp-wrapper .perso .choice .bts .bt svg{ margin-right: 5px; stroke: #000;}
.cmp-wrapper .perso .choice .bts .bt-green{ background: #fff; color:#000; border-color:#000;}
.cmp-wrapper .perso .choice .bts .bt-green svg{ stroke:#000;}
.cmp-wrapper .perso .choice .bts .bt-gray{ background: #000; color:#fff; border-color:#000;}
.cmp-wrapper .perso .choice .bts .bt-gray svg{ stroke:#000;}
.cmp-wrapper .perso .choice .bts .bt.enabled{ background: #000; color: #fff; }
.cmp-wrapper .perso .choice .bts .bt-green.enabled{ background: #000; color: #fff; }
.cmp-wrapper .perso .choice .bts .bt.enabled svg{ stroke: #fff; }
.cmp-wrapper .cmp-popup .perso .cmp-navigation { text-align: right; display: block; margin-top: 20px; }
.cmp-wrapper .cmp-popup .perso .cmp-navigation .bt{ margin: 0; }

.coupon-form{ display: flex; flex-flow: row wrap; }
.coupon-form div > input[type="text"]{ width: 100px; margin-right: 20px; padding: 8px 10px; }
.coupon-form .output{ flex-basis: 100%; color: #f00; margin-top: 5px; font-size: 14px;}

.message-popup .fancybox-content,
.message-popup-modal .fancybox-content{ max-width: 600px; }
.message-popup-modal .fancybox-content p{ margin-bottom: 20px; }
.tva-form form .last div { margin-bottom: 0; }
.tva-form form .last .button { margin: 0; }

.product-list-ctn.wide-list { width: 100%; }

.popup-price-groups .title{ font-weight: bold; margin-bottom: 20px; }
.popup-price-login .buttons { flex-flow: column; gap: 10px; align-items: stretch;  }
.popup-price-login .buttons .button span{ font-weight: normal; }

.popup-price-groups-change p{margin-bottom: 15px; }



@media screen and (min-width: 1200px){
    
    .product-list-ctn.wide-list ul.product-list li{ width: calc((100%/4) - (120px / 4));}
    .product-list-ctn.wide-list ul.product-list li:nth-child(3n+1){ margin-left: 20px }
    .product-list-ctn.wide-list ul.product-list li:nth-child(3n+3){ margin-right: 20px }
    .product-list-ctn.wide-list ul.product-list li:nth-child(4n+1){ margin-left: 0 }
    .product-list-ctn.wide-list ul.product-list li:nth-child(4n+4){ margin-right: 0 }
    
    .result-panel .product-list-ctn ul.product-list li{ width: calc((100%/6) - (200px / 6));}
    .result-panel .product-list-ctn ul.product-list li:nth-child(3n+1){ margin-left: 20px }
    .result-panel .product-list-ctn ul.product-list li:nth-child(3n+3){ margin-right: 20px }
    .result-panel .product-list-ctn ul.product-list li:nth-child(6n+1){ margin-left: 0 }
    .result-panel .product-list-ctn ul.product-list li:nth-child(6n+6){ margin-right: 0 }
    
    .main-nav .bt-account img{ margin-right: 10px; }

}
@media screen and (max-width: 1200px){
    .tablet{ display: block; }
    .ctn{ width: auto; margin: 0 15px; }
    /*.main-nav{ display: flex; flex-flow: row-reverse; border-bottom: 1px solid #000; padding: 0 15px; }*/
    .main-nav .toggle-menu{ margin: 0 0 0 15px; }
    .main-nav .logo{ flex-shrink: 1; min-width: 130px; }
    .main-nav .search-block{ margin: 0 30px; }
    .main-nav .bt-account > span{ display: none; }
    .main-nav .session-context{ display: none !important; }
    .main-nav .main-menu{ display: none; }
    .main-nav .main-menu.open{ display: block; }
    .main-nav .main-menu .sep{ display: none; }
    .main-nav .main-menu ul ul{ text-align: left; margin-left: 15px; }
    .main-nav .main-menu > ul > li{ padding: 0; line-height: 40px; }
    .main-nav .main-menu ul li{ display: block; }
    .main-nav .main-menu ul li a{ display: block; }
    .main-nav .main-menu ul li ul{ display: none;  }
    .main-nav .main-menu ul li.on > .submenu > ul{ display: block}
    .main-menu ul li .submenu .categories li.on a{ text-decoration: none; }
    .main-nav .main-menu ul li.on > .submenu > ul > li.on > ul{ display: block}
    .main-nav .main-menu .submenu{ display: block; border: none; position: relative; margin: 0; top:auto; transition: all; padding: 0; }
    .main-nav .main-menu ul li.on .submenu{ display: block; }
    .main-nav .main-menu .submenu .categories{ width: auto; }
    .main-menu ul li .submenu .categories .all { margin: 0; }
    .main-menu ul li .submenu .categories .all a{text-decoration: underline; }
    .main-nav .main-menu .subcategories{ display: none; margin-left: 0;}
    .main-nav .main-menu .banners{ display: none; }
    .main-menu > ul > li{ margin: 0; }
    .main-nav .main-menu ul li a{ display: flex; justify-content: space-between; }
    .main-nav .main-menu .arrow{ display: block; transform: rotate(90deg); }
    .main-nav .main-menu li.on > a > .arrow{ transform: rotate(270deg); }
    .main-nav .main-menu .arrow svg{ height: 20px; width: 20px;}
    .main-menu ul .spacer{ margin-bottom: 0;}
    header .top{ margin-bottom: 0; }
    .universe-view .category-buttons .button, .category-view .category-buttons .button{width: calc(33% - 70px); }
    .category-view aside{ display: none; }
    .category-view .center{ width: auto; }
    .module-slideshow .ctn{ width: auto; margin: 0; }
    .module-slideshow .slick-slide img{ max-width: 100%; }
    .gifts{ flex-flow: column; }
    .gifts .img{ width: auto; display: flex; align-items: center; }
    .gifts .img img{ margin-right: 20px; }
    .gifts .img .title{ display: inline; font-size: 32px; }
    .gifts .img .title br{ display: none; }
    ul.manufacturers .manufacturer { width: calc(25% - 40px);}
}
@media screen and (min-width: 900px) and (max-width: 1200px){
    .product-list-ctn ul.product-list li{ width: calc((100%/4) - (120px / 4));}
    .product-list-ctn ul.product-list li:nth-child(3n+1){ margin-left: 20px }
    .product-list-ctn ul.product-list li:nth-child(3n+3){ margin-right: 20px }
    .product-list-ctn ul.product-list li:nth-child(4n+1){ margin-left: 0 }
    .product-list-ctn ul.product-list li:nth-child(4n+4){ margin-right: 0 }
    
    .product-list-ctn ul.product-carousel li { margin: 10px 20px !important; width: calc((100%/4) - (120px / 4)); }
}
@media screen and (max-width: 900px){
    .module-categories .categories { flex-basis: 48%; }
    .module-madeinfrance .content{ flex-wrap: wrap; }
    .module-madeinfrance .content > *{ flex: auto; }
    .module-madeinfrance .content img{ max-width: 100%; }
    .module-madeinfrance .content .txt { padding: 20px 0; }
    .module-madeinfrance .content > img:last-child { display: none;}
    .module-catalog .content > *{ flex-basis: 50%; flex-shrink: 1; flex-grow: 1; }
    .module-catalog .content img{ max-width: 100%; }
    .customer-ctn aside{ display: none; }
    .product-infos{ flex-flow: column; }
    .product-infos .pictures-ctn{ width: auto; margin:20px 0 ; }
    .product-infos .infos{ width: auto; margin:20px 0 ; }
    #order-steps{ margin-bottom: 0; }
    #order-steps li{ display: none; }
    #order-steps li.step-1{ display: block; text-align: left; }
    .order-steps-ctn .bt-back{ display: block; }
    .order-steps-ctn{ margin-bottom: 30px !important; }
    ul.manufacturers .manufacturer { width: calc(33% - 40px);}
}
@media screen and  (min-width: 700px){
    .main-nav .search-block{ position: relative; }
}
@media screen and  (max-width: 700px){
    .product-list-ctn ul.product-list li,
    .manufacturer-view .manufacturer-ctn .product-list-ctn ul.product-list li{ margin: 10px 20px; vertical-align: top; width: calc(50% - 20px); text-align: center; position: relative;  }
    .product-list-ctn ul.product-list:not(.product-carousel) li:nth-child(2n+1){ margin-left: 0 !important; margin-right: 20px !important }
    .product-list-ctn ul.product-list:not(.product-carousel) li:nth-child(2n){ margin-right: 0 !important; margin-left: 20px !important;}
    .result-panel .viewport .left{ display: none; }
    .rte iframe{ height: 400px; }
}
@media screen and (max-width: 700px){
    header .top .sav{ display: none; }
    header .top .question strong{ display: none;  }
    .main-nav .top-ctn{ padding-bottom: 0; border-bottom: none; }
    #bt-burger { width: 35px; height: 27px; }
    #bt-burger span{ height: 4px; }
    #bt-burger span:nth-child(2), #bt-burger span:nth-child(3){ top: 10px; }
    #bt-burger span:nth-child(4){ top: 20px; }
    .main-nav .logo{ margin-right: 40px; }
    .main-nav .block-account,
    .main-nav .block-cart{ margin: 0 10px; }
    .main-nav .bt-account{ margin: 0; }
    .main-nav .bt-account img{ margin-right: 0; }
    .main-nav .toggle-menu{ margin: 0 0 0 10px; }
    .main-nav .header-block img{ height: 27px; width: auto; }
    .main-nav .search-block{ margin: 0; position: relative; }
    .main-nav .top-ctn .search-block{ display: none; }
    .main-nav .search-form { display: none; margin: 0 10px;  flex-grow: 0; flex-shrink: 0; flex-basis: 30px; width: 30px; border: none; }
/*    .main-nav .search-form button{ padding: 0; }
    .main-nav .search-form button img{ width: 30px; height: 30px; }
    .main-nav .search-form input{ display: none; }*/
    .main-nav .mobile-search{ padding: 5px 0; display: block; }
    .main-nav .mobile-search .search-form{ display: flex; width: 100%; flex-grow: 1; }
    .main-nav .logo img{ max-width: 180px; width: 140px; height: auto; }
    header .top > .ctn{  justify-content: space-between; }
    .universe-view .category-buttons .button, .category-view .category-buttons .button{width: calc(50% - 70px); }
    .module-catalog .content{ flex-flow: column; }
    .module-catalog .content .txt{ margin-left: 0; }
    .checkout-blocks { flex-flow: column; }
    .checkout-blocks .block { margin: 0 0 20px 0; }
    .carriers .carrier .details{ margin-left: 20px; }
    .payment-means .payment-mean .details{ margin-left: 20px; }
    .checkout .cart-summary table tr td{ padding-left: 10px; padding-right: 10px; }
    .reassurance > .ctn { flex-direction: column; flex-wrap: nowrap; text-align: center; width: 100%;  margin: auto; }
    .slick-slider .bt-prev{ left: 0; }
    .slick-slider .bt-next{ right: 0; }
    .product-carousel .slick-list { width: calc(100% - 30px); }
    
    .search-results-wrapper{ width: 100%; left:auto; top: 35px;  }
    .search-results-wrapper .result-panel{ width: auto;  }
    
    .universe-view .subcategories .title-ctn{ display: block; text-align: center; }
    .universe-view .subcategories .title-ctn h2{ margin-right: 0; }
    .universe-view .subcategories .title-ctn hr{ display:none; }
    .universe-view .subcategories .title-ctn a{ display: block; }
    
    .category-view .center{ width: 100%; }
    
    .references .reference .reference-ctn { align-items: center; justify-content: space-between; }form div.text > label
    .product-view .infos .offers{ flex-flow: column nowrap; padding-top: 5px;  }
    .product-view .infos .offers > div{ margin: 5px 0 !important; }
    .product-view .section.tags p{ display: flex; flex-flow: column nowrap;  }
    .product-view .section.tags p .button{ flex:auto; text-align: center; }
    
    .cart-details tbody td .item-infos .img{ display: none; }
    .cart-details tbody td .item-infos .infos{ padding-left: 0; }
    
    #identification .forms{ flex-direction: column; }
    #identification .forms > div{ margin: 0 0 20px 0; max-width: none; }
    #identification .forms > div:last-child{ margin-bottom: 10px; }
    .reassurance > .ctn > div{ display: block; }
    ul.manufacturers .manufacturer { width: calc(50% - 40px);}
    .gifts .img img{ width: 40px; height: auto; margin-right: 10px; }
    .gifts .img .title{ font-size: 22px; }
}
@media screen and (max-width: 500px){
    .module-categories .categories { flex-basis: 48%; }
    footer .menus{ display: block; }
    footer .menus .col{ margin-bottom: 30px;}
    .cmp-wrapper .cmp-popup{ margin: 20px; }
    .cmp-wrapper .cmp-navigation{ flex-direction: column; }
    .cmp-wrapper .cmp-navigation .bt{ margin: 0 0 10px 0}
    .cmp-wrapper .cmp-navigation .bt:last-child{ margin-bottom: 0; }
}
@media screen and (max-width: 380px){
    .references .reference .price-grid > div > div.percent{ display: none; }
}
@media screen and (max-width: 500px){
    .product-infos .pictures-ctn .pictures{ margin-bottom: 0; }
    .product-infos .pictures-ctn .thumbs{ display: none; }
    .pictures .slick-prev{ left: 0; } 
    .pictures .slick-next{ right:0; }
    .pictures .slick-prev:before, .pictures .slick-next:before{ color: #000; }
}