
/*
 Theme Name:   Arthrex France - ACP
 Theme URI:    https://novelar.fr
 Description:  Thème Arthrex France - ACP
 Author:       Jérôme
 Author URI:   https://novelar.fr
 Template:     hello-elementor
 Version:      1.0.0
 */

 html, body {
    overflow-x: hidden;
    font-size: 16px;
    color: var( --e-global-color-text );
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    font-weight: var( --e-global-typography-text-font-weight );
}
body .e-woo-select2-wrapper .select2-results__option {
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    font-weight: var( --e-global-typography-text-font-weight );
}
ul {
    list-style: none;
}
.menu-item-description {
    font-size: small;
}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
    border: none;
    text-align: left;
}
#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
    background-color: #fff;
    color: var(--e-global-color-text);
    -moz-box-shadow: 0 10px 50px 0 #0000f920;
    -webkit-box-shadow: 0 10px 50px 0 #0000f920;
    box-shadow: 0 10px 50px 0 #0000f920;
    padding:30px;
}
#add_payment_method #payment div.payment_box .form-row, .woocommerce-cart #payment div.payment_box .form-row, .woocommerce-checkout #payment div.payment_box .form-row, .woocommerce form .form-row {
    padding: 10px 0;
    margin: 0 0 6px;
}
#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
    border-color:#fff;
        border-right-color: transparent;
    border-left-color: transparent;
    border-top-color: transparent;
}
.woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-credit-card-form-input[type="tel"] {
    height: 45px;
    border: 1px solid #ccc;
}
.elementor-widget-woocommerce-checkout-page .woocommerce #shipping_method li input, .elementor-widget-woocommerce-checkout-page .woocommerce .input-radio {
    vertical-align: middle;
    width: 20px;
    height: 20px;
    background: transparent;
    -webkit-appearance: none;
    border: 2px solid #fff;
    border-radius: 50px;
}
/* Styles pour l'icône radio */
.elementor-widget-woocommerce-checkout-page input.shipping_method {position:relative;}
.elementor-widget-woocommerce-checkout-page input.shipping_method:checked::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 12px;
    height: 12px;
    /* border: 2px solid #fff; */
    border-radius: 50%;
    background-color: white;
}
.elementor-widget-woocommerce-checkout-page .woocommerce #shipping_method li label, .elementor-widget-woocommerce-checkout-page .woocommerce .wc_payment_method label {
    text-transform: initial;
}
/* Styles pour l'icône radio lorsqu'il est coché */
.elementor-widget-woocommerce-checkout-page input.shipping_method:checked + label::before {
  background-color: #fff; /* Couleur de fond de l'icône lorsque coché */
}

/* Styles pour le texte du label */
.elementor-widget-woocommerce-checkout-page input.shipping_method + label {
  color: #fff; /* Couleur du texte du label */
}

/* Effet de survol */
.elementor-widget-woocommerce-checkout-page input.shipping_method:hover::before {
  border-color: #fff; /* Couleur de la bordure de l'icône lorsqu'il est survolé */
}
.woocommerce-shipping-totals th {
    display: none !important;
    width: 0px !important;
}
.woocommerce-shipping-totals td {
    width: 100% !important;
} 
#lpc_pick_up_info {
    padding:15px 0;
}
#lpc_pick_up_info .tooltip-box::after {
    color: #fff;
}
.woocommerce ul#shipping_method:before {
    content: "Expedition";
    margin-bottom: 5px;
    display: block;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt,
 :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt, 
 :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt {
    background-color: var(--e-global-color-primary);
    color: #fff;
    -webkit-font-smoothing: antialiased;
    font-weight: 600;
    text-transform: uppercase;
    font-family: var(--e-global-typography-text-font-family);
    font-size: 1.1rem;
}

.payment_box fieldset {
    padding: 0;
    border: none;
}

@media only screen and (max-width:500px ) {
   body .elementor-widget-wc-archive-products .products {
    grid-template-columns: repeat(1, 1fr);
}
}

body .elementor-menu-cart__toggle {
    display: inline-flex;
    align-items: center;
    height: 60px;
}
.arthrex-field {
    background:var(--e-global-color-accent);
    padding:20px !important;
    border-radius: 6px;
}
.arthrex-field label {color:#fff !important}
/*
.e-con--row.e-con {
    --padding-top: var(--container-default-padding,0px);
    --padding-right: var(--container-default-padding,6px);
    --padding-bottom: var(--container-default-padding,0);
    --padding-left: var(--container-default-padding,48px);
}*/
#breadcrumbs {
        font-size: 0.9em;
    color: var( --e-global-color-primary );
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    list-style: none;
    text-align: center;
    align-items: center;
}
#breadcrumbs a {
    color: var( --e-global-color-text );
    opacity:0.8;
}

.elementor-editor-active #header {
   user-select: none; /* supported by Chrome and Opera */
   -webkit-user-select: none; /* Safari */
   -khtml-user-select: none; /* Konqueror HTML */
   -moz-user-select: none; /* Firefox */
   -ms-user-select: none; /* Internet Explorer/Edge */
   pointer-events: none;
}
.elementor-text-editor b,
.elementor-widget-text-editor b  {
  color:var( --e-global-color-primary );
}


.header-message main, 
.header-message div.product {
    margin-top: 34px;
}
h1.entry-title {
  display: none;
}
/* COOKIE */
.cli-tab-footer .wt-cli-privacy-accept-btn {
    background-color: var( --e-global-color-primary );
}
.cli-plugin-button, .cli-plugin-button:visited {
    padding: 15px 12px;
}
.cli-style-v2 .cli-bar-btn_container .cli_action_button, .cli-style-v2 .cli-bar-btn_container .cli-plugin-main-link, .cli-style-v2 .cli-bar-btn_container .cli_settings_button {
    margin-left: 15px;
}
.cli-style-v2 .cli-plugin-main-link:not(.cli-plugin-button), .cli-style-v2 .cli_settings_button:not(.cli-plugin-button), .cli-style-v2 .cli_action_button:not(.cli-plugin-button) {
    text-decoration: none;
    padding: 10px 0;
}
.cli-style-v2 .cli-bar-btn_container .cli-plugin-button {
    font-weight: 600;
}
/*SHADOW BOX STYLE */
.shadow-normal.elementor-section{

    -moz-box-shadow: 0 10px 25px 0 #0000f910;
    -webkit-box-shadow: 0 10px 25px 0 #0000f910;
    box-shadow: 0 10px 25px 0 #0000f910;
    overflow: hidden;
}


.shadow-normal > .elementor-element-populated,
.shadow-normal .swiper-slide-inner,
.shadow-normal.e-con{
    overflow: hidden;

    -moz-box-shadow: 0 10px 25px 0 #0000f910;
    -webkit-box-shadow: 0 10px 25px 0 #0000f910;
    box-shadow: 0 10px 25px 0 #0000f910;
}
.shadow-big.elementor-section,.e-cart-totals  {

    -moz-box-shadow: 0 10px 100px 0 #0000f920;
    -webkit-box-shadow: 0 10px 100px 0 #0000f920;
    box-shadow: 0 10px 100px 0 #0000f920;
    overflow: hidden;
}


.shadow-big > .elementor-element-populated,
.shadow-big.e-con,
.shadow-big .swiper-slide-inner{
    overflow: hidden;

    -moz-box-shadow: 0 10px 100px 0 #0000f920;
    -webkit-box-shadow: 0 10px 100px 0 #0000f920;
    box-shadow: 0 10px 100px 0 #0000f920;
}




.elementor-column.dotte-simple:after,
.elementor-column.dotte-repeat:after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    background-image: url(./images/forme-dotted.svg);
    background-position:center center;
    background-repeat: no-repeat;
    background-size: contain;
}
.elementor-column.dotte-repeat:after {
    background-image: url(./images/dotted.svg);
    background-position:center center;
    background-repeat: repeat;
    background-size: auto;
}
.surlined.elementor-widget-heading h2, h2.surlined {
    display: inline;
    position: relative;
    -webkit-box-shadow: inset 5px 5px 0px 6px var(--e-global-color-accent);
    box-shadow: inset 0 0 0 3em var(--e-global-color-accent);
    padding: 0 10px;
}



@media (min-width: 768px) {
    .elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper,
    .elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

.elementor-widget-video-playlist .e-tabs-content-wrapper {
    -moz-box-shadow: 0 10px 100px 0 #0000f920;
    -webkit-box-shadow: 0 10px 100px 0 #0000f920;
    box-shadow: 0 10px 100px 0 #0000f920;
}
.elementor-widget-video-playlist .e-tabs-wrapper {
    margin-left: 40px;
    -moz-box-shadow: 0 10px 100px 0 #0000f920;
    -webkit-box-shadow: 0 10px 100px 0 #0000f920;
    box-shadow: 0 10px 100px 0 #0000f920;
}
.elementor-tab-content i,
.elementor-tab-content em {
        font-size: 0.85em;
    line-height: 1;
}
/*--------------------------------------------------------------
# GENERAL 
--------------------------------------------------------------*/
small {font-size:0.7em;}
.light {font-weight:200;}

.dialog-message {font-size:1em;}


b, strong {
    font-weight: bold;
}


::placeholder {
    color:#9B9B9B;
    font-size: 1em;
    font-weight: var( --e-global-typography-text-font-weight );
}
blockquote {
    padding: 50px;
    position: relative;
    border: 0;
    font-size:1.3em;
}

blockquote:before {
    background-image: url(./images/blockquote-left.png);
    left: 0;
    top: 0;
}
blockquote:after {
    background-image: url(./images/blockquote-right.png);
    right: 0;
    bottom: 0;
}
blockquote:before, blockquote:after {
    content: "";
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-size:contain;
    position: absolute;
}
input,button {
  outline:0;
}
button:active,button:focus {
    outline: none !important;
    border: none !important;
    background: none;
}

[type="search"] {
    appearance: none;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  display: none;
}
[type=button], [type=submit], button {
    color: #fff;
    border: 1px solid #fff;
}
[type=button]:hover, [type=submit]:hover, button:hover {
     color: #000;
     background:#fff;
}
.elementor-tab-content p a {
    padding: 10px;
    text-decoration: none;
    margin: 10px 0;
    display: inline-block;
}
.btn-header > a,
button.elementor-button, 
input[type="button"], 
input[type="submit"], 
a.elementor-button,
.menu-item.button-header > a,
body .elementor-widget-button .elementor-button,
.elementor-slides .swiper-slide-inner .elementor-slide-button,
.elementor-tab-content p a {
    font-size: 1em;
    font-weight: bold;
    border-radius: 6px;
    font-family: var( --e-global-typography-accent-font-family ), Sans-serif;
    font-weight: var( --e-global-typography-accent-font-weight );
    color: var( --e-global-color-accent );
    background-color:transparent;
    overflow: hidden;
    position: relative;

    border:none;
    cursor: pointer;
    -moz-box-shadow: inset 0 0 0 2px var( --e-global-color-accent );
    -webkit-box-shadow: inset 0 0 0 2px var( --e-global-color-accent );
    box-shadow:         inset 0 0 0 2px var( --e-global-color-accent );
}
.btn-header > a {
    padding:5px 10px !important;
    
}
.menu .sub-menu li.btn-header {margin-bottom:10px;}
.btn-header > a:hover {
    color:#fff !important;
}
.btn-header > a:hover,
.elementor-tab-content p a:hover,
button.elementor-button:hover, 
input[type="button"]:hover, 
input[type="submit"]:hover, 
a.elementor-button:hover,
.elementor-slides .swiper-slide-inner .elementor-slide-button:hover {
    color:#fff;
    -moz-box-shadow: inset 0 0 10px 50px var( --e-global-color-accent );
    -webkit-box-shadow: inset 0 0 10px 50px var( --e-global-color-accent );
    box-shadow: inset 0 0 10px 50px var( --e-global-color-accent );
}

.elementor-element.elementor-button-info .elementor-button {
    color:#fff;
     background-color:var( --e-global-color-accent );
}
canvas {    
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    touch-action: none;
    -webkit-touch-action: none
}
.shadow-blue > .elementor-element-populated,
.shadow-blue .swiper-slide-inner{
    -moz-box-shadow: 0 10px 25px 0 #0000f910;
    -webkit-box-shadow: 0 10px 25px 0 #0000f910;
    box-shadow: 0 10px 25px 0 #0000f910;
}

.shadow-decalage  .elementor-widget{
    padding-right:50px;
    padding-bottom:50px;
    position: relative;
}
.shadow-decalage  .elementor-widget:before{
    content:"";
    width:calc(100% - 50px);
    height:calc(100% - 50px);
    -moz-box-shadow: 0 10px 25px 0 #0000f910;
    -webkit-box-shadow: 0 10px 25px 0 #0000f910;
    box-shadow: 0 10px 25px 0 #0000f910;
    background:#fff;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 0;
}
.shadow-decalage  .elementor-widget-container {
    z-index: 1;
    position: relative;
}
.shadow-blue .swiper-slide-inner {
    overflow: hidden;
}
.shadow-blue .swiper-slide {
    padding: 20px;
}
.elementor-widget-text-editor ol {
    padding:0;
}
.elementor-widget-text-editor ol li {
    display: list-item;
    margin-top: 30px;
}
.elementor-widget-text-editor ol li:first-child {
    margin-top:0;
}
.elementor-widget-text-editor  ol li:before {
    content: " " counter(list-item) " ";
    color: #fff;
    width: 30px;
    height: 30px;
    text-align: center;
    display: inline-block;
    border-radius: 5px;
    line-height: 30px;
    background:var(--e-global-color-accent);
    margin-right: 10px;

}
.elementor-widget-text-editor  ol li::marker {
    display:none;
    font-size:0;
}

.list-arthrex li, .list-arthrex .elementor-icon-box-content {position: relative;padding-left:40px;}
.list-arthrex li span:before,
.list-arthrex .elementor-icon-box-title span:before {
   content: "";
    width: 24px;
    height: 24px;
    text-align: center;
    left:0;
    top:0;
    display: inline-block;
    border-radius: 50%;
    line-height: 24px;
    background:var(--e-global-color-accent);
    margin-right: 10px; 
    vertical-align: middle;
    position: absolute;
}

.list-arthrex li span:after,
.list-arthrex .elementor-icon-box-title span:after  {
    content: "";
    width: 24px;
    height: 24px;
    text-align: center;
    position:absolute;
    left:0;
    top:0;
    border-radius: 50%;
    line-height: 24px;
    background:var(--e-global-color-accent);
    margin-right: 10px;
    -webkit-animation-duration:1s;
    animation-duration:1s;
    -webkit-animation-name:heartBeat;
    animation-name:heartBeat;
    -webkit-animation-timing-function:ease-in-out;
    animation-timing-function:ease-in-out;
    animation-iteration-count: infinite;
}
.list-arthrex h3 span:before,
.list-arthrex h3 span:after {
    top:4px !important;
}
@-webkit-keyframes heartBeat{
    0%{
        opacity:0.5;
        -webkit-transform:scale(1);
        transform:scale(1);
    }100%{
        opacity:0;
        -webkit-transform:scale(1.5);
        transform:scale(1.5);
    }
}
keyframes heartBeat{
    0%{
        opacity:0.5;
        -webkit-transform:scale(1);
        transform:scale(1);
    }100%{
        opacity:0;
        -webkit-transform:scale(1.5);
        transform:scale(1.5);
    }
}


/*--------------------------------------------------------------
# FORMULAIRES
--------------------------------------------------------------*/
*:focus {
    outline: none;
}

input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], select, textarea,
body.woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text,
body.woocommerce form .form-row input.input-text, body.woocommerce form .form-row textarea {
    display: block;
    width: 100%;
    height: 3.75rem;
    border-radius: 0px;
    appearance: none;
    border: 0px none;
    outline: none;
    background-color: transparent;
}
input[type=date]:focus, input[type=email]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, .select-container:focus, textarea:focus,
.woocommerce form .form-row .input-text:focus, .woocommerce-page form .form-row .input-text:focus {
   box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.10);
}


input[type="checkbox"] {
    position: relative;
    width: 1em;
    height: 1em;
    border: 1px solid #dedede;
    border-radius: 0px;
    -webkit-appearance: none;
    -moz-appearance: none;
    display: inline-block !important;
    appearance: none;
    outline: 0;
    cursor: pointer;
    display:inline-block;
    vertical-align: middle;
    -webkit-transition: background 175ms cubic-bezier(0.1, 0.1, 0.25, 1);
    transition: background 175ms cubic-bezier(0.1, 0.1, 0.25, 1);
}
.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input {
    display: inline-block;
    margin-right: 5px;
    vertical-align: middle;
}
.elementor-field-subgroup .elementor-field-option label {display:inline;}
input[type="checkbox"]::before {
    position: absolute;
    content: '';
    display: block;
    top: -0.1em;
    left: 0.2em;
    width: 0.5em;
    height: 0.9em;
    border-style: solid;
    border-color: #dedede;
    border-width: 0 1px 1px 0;
    transform: rotate(45deg);
    opacity: 0;
}

input[type="checkbox"]:checked {
    color: var( --e-global-color-primary );
    border-color: #fff;
    background: #fff;
}
input[type="checkbox"]:checked::before {
  opacity: 1;
  color:var( --e-global-color-primary );
  border-color: var( --e-global-color-primary );
}

input[type="checkbox"]:checked + span {
    color:var( --e-global-color-primary );
}

input[type="checkbox"]:checked ~ label::before {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}



@media only screen and (max-width:1024px ) {
    html, body { font-size:14px;}
} 
@media only screen and (max-width:767px ) {
    blockquote {
      padding: 2em 1em;
      position: relative;
      border: 0;
  }
  blockquote:before, blockquote:after {
      width: 20px;
      height: 20px;
  }

}

.height-100vh,
.height-100vh .elementor-widget-container,
.height-100vh iframe {
    min-height:100vh;
}
.flex-center {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}




/*--------------------------------------------------------------
# ELEMENTOR
--------------------------------------------------------------*/

p.elementor-heading-title,
.elementor-heading-title p {
    font-size:1.5em;
    line-height:1.3em;
}


.elementor-tab-content ul,
.elementor-text-editor ul,
.elementor-widget-text-editor  ul {
  margin-bottom: 0.7em;
  padding:0;
}
.elementor-tab-content ul > li,
.elementor-text-editor ul > li,
.elementor-widget-text-editor  ul > li {
    margin-left: 1em;
    list-style-type: none;
    margin-top: 0.7em;
}
.elementor-tab-content ul > li:before,
.elementor-text-editor ul > li:before,
.elementor-widget-text-editor ul > li:before {
    content: "\f054";
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var( --e-global-color-primary );
    font-size: 0.7em;
    top: .125em;
    right: .75em;
    margin-right: 10px;
}

.elementor-widget-call-to-action .elementor-cta__description {
    text-align: justify;
}
.elementor-popup-modal .dialog-close-button {
    border: 1px solid #808181;
    padding: 5px;
}



/*-----------------------------------------------------------
# LOGO et STICKY
-------------------------------------------------------------- */
.custom-logo-link img.logo {display:block;}
.custom-logo-link img.logo-white {display:none;}
#header.sticky  .custom-logo-link img.logo-white {display:none;}
#header.sticky .custom-logo-link img.logo {display:block;}

#header.sticky .nav-wrapper {line-height: 60px;height:60px;}

#header.sticky {
  background:#fff;
    -webkit-box-shadow: 0 4px 6px 0 rgb(12 0 46 / 6%);
    box-shadow: 0 4px 6px 0 rgb(12 0 46 / 6%);
}

#header.sticky .button-menu {fill:#000;}
#header.sticky #nav-desktop li a{color:var( --e-global-color-primary );}
#header.sticky #nav-desktop li a:before {background:var( --e-global-color-accent );}
#header.sticky #nav-desktop > .menu-item.button-header > a {
    color:#fff;
    background: var( --e-global-color-accent );
}
#header.sticky .header-top {
    background: var( --e-global-color-primary );
    color:rgba(0,0,0,0.5);
}

#header.sticky #nav-top a {padding:7px 10px;color:rgba(255,255,255,0.5);}
#header.sticky #nav-top a:hover {color:rgba(255,255,255,1);}

.custom-logo-link, .custom-logo-link img {
    -o-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    position: relative;
    height: 100%;
    width: auto;
}

/* Header Black */

body.header-white .custom-logo-link img.logo {display:none;}
body.header-white .custom-logo-link img.logo-white {display:block;}
body.header-white #nav-desktop > .menu-item > a,
body.header-white #nav-top a:hover{color:#fff;}
body.header-white #nav-top a,
body.header-white .header-top {color:rgba(255,255,255,0.5);}

body.header-white .button-menu span,
body.header-white .button-menu:before, 
body.header-white .button-menu:after {
    background:#fff;
}
body.header-white #header.sticky + .button-menu span,
body.header-white #header.sticky + .button-menu:before, 
body.header-white #header.sticky + .button-menu:after {
    background:var(--e-global-color-primary);
}
body.header-white .menu > li.menu-item-has-children > a:after {
    background: url(./images/down-white.svg);
}
#header.sticky .menu > li.menu-item-has-children > a:after {
    background: url(./images/down.svg);
}

#header.sticky #breadcrumbs {opacity: 0;}

.header-right {
        display: flex;
    align-items: center;

}
#elementor-menu-cart__toggle_button:hover svg {
    fill: #fff !important;
}
.elementor-menu-cart__product-name, .elementor-menu-cart__product-price {
    line-height: 1.5;
}
.elementor-menu-cart__wrapper .elementor-menu-cart__subtotal {
    padding:0;
}
/*-----------------------------------------------------------
# HEADER
-------------------------------------------------------------- */
#header {
    position: fixed;
    z-index: 980;
    width: 100%;
    /* top: 0; */
    left: 0;
    -o-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.header-top {
    background: transparent;
    
    border-bottom:1px solid rgba(150,150,150,0.2);
    -o-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.home .header-top .container {

    -webkit-justify-content: flex-end;
    -ms-flex-pack: flex-end;
    justify-content: flex-end;
}


.header-top .container {
    max-width:1460px;
    margin:auto;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
    padding: 0 48px;
}
.header-top .widget_block {
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   align-items: center;
   -webkit-align-items: center;
   -ms-align-items: center;
}
.header-top p {
    margin:0;
}
#header .nav-wrapper {
    box-shadow:none;
    line-height:80px;
    height:80px;
    margin:0 auto;
    -o-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    padding: 0 48px;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center;
    -webkit-align-items: center;
    -ms-align-items: center;
    max-width:1460px;
}

#header .custom-logo-link {

    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    height: 100%;
    padding:10px 0;
    -o-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    /* vertical-align: middle; */
}
.menu  {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    list-style: none;
    text-align:center;
}
.menu ul {
    padding: 0;
    margin: 0;
    list-style: none;

}

/* NIV 1 */
.menu li {
    display: flex;
    padding: 0;
    margin: 0;
    text-align: left;
    -o-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    position: relative;
    z-index: 999;
    align-items: center;
}
.menu > li a {
    position: relative;
    padding: 0 10px;
    display: block;
}

.menu li.current_page_item > a {
 font-weight: bold;
}
.menu > .menu-item.button-header > a {
    height: 42px;
    line-height: 42px;
    margin-left: 15px;
    vertical-align: middle;
    margin-top: -2px;
    display: inline-block;
    padding: 0px 20px 0px 20px;
    overflow: hidden;
    background-color:color: var(--e-global-color-primary);
    color:#fff;
}
.menu .sub-menu li {
  width:100%;
  line-height: 1.5;
  clear: both;
}
.menu > li > ul.sub-menu a {
    padding:5px 0;
}

.menu .sub-menu > li > a:hover {
  color:var(--e-global-color-accent);
}
#nav-top .menu > li.menu-item-has-children > a:after,
#nav-desktop .menu > li.menu-item-has-children > a:after {
    content: "";
    margin: 0px 0px 0px 8px;
    transition: all 0.2s ease-in-out;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    display: inline-block;
    width: 10px;
    height: 6px;
    right: 0;
    background: url(./images/down.svg);
    background-size: cover;
}

/*ALL NIV */
#nav-desktop > .menu-item > a {
    color: var(--e-global-color-primary);
    font-size: 0.9em;
    text-transform: uppercase;
}
#nav-desktop a {
    display: block;
}


#nav-desktop > li a:before {
    background: var( --e-global-color-accent );
    height: 4px;
    width: 0;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    -o-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

#nav-desktop > li.current_page_item > a:before,
#nav-desktop > li > a:hover::before {width:100%;}


/* NIV 2 horizontal */
#nav-desktop > li > ul.sub-menu, #nav-top > li > ul.sub-menu {
    position: absolute;
    left: 50%;
    padding: 2em;
    margin: 0;
    min-width: 300px;
    /* border-radius: 9px; */
    -moz-box-shadow: 0 10px 100px 0 #0000f920;
    -webkit-box-shadow: 0 10px 100px 0 #0000f920;
    box-shadow: 0 10px 100px 0 #0000f920;
    background: #fff;
    -webkit-transform: translateY(20px) translateX(-50%);
    -ms-transform: translateY(20px) translateX(-50%);
    transform: translateY(20px) translateX(-50%);
    -webkit-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    transition: all .3s ease-in;
    opacity: 0;
    visibility: hidden;
    top: 100%;
}
#nav-desktop > li:hover > .sub-menu,
#nav-top > li:hover > .sub-menu {
    -webkit-transform: translateY(0) translateX(-50%);
    -ms-transform: translateY(0) translateX(-50%);
    transform: translateY(0) translateX(-50%);
    opacity: 1;
    visibility: visible;
}


#nav-desktop > li.mega_menu > ul.sub-menu {

    max-width: calc(100vw - 100px);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    list-style: none;
    padding:1.5em;
}
.mega_menu > .sub-menu > li{
    text-align: left;
    padding: 20px 10px;
    min-width: 200px;
}
.mega_menu > .sub-menu > li > a {
    padding: 20px;
    font-weight: bold;
}
.mega_menu > .sub-menu > li > a:hover {
    color:initial;
}
/* WPML */
.wpml-ls-legacy-dropdown {
    width: 60px;
}
.search-form {
    position: relative;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
}

/* NAV TOP */
.header-top {color:rgba(0,0,0,0.5);}
#nav-top a {
    color:rgba(0,0,0,0.5);
    padding:10px;
    font-size:0.9em;
}
#nav-top a:before {
    height:1px;
}
#nav-top a:hover {
   color:rgba(0,0,0,1);
}
#nav-top .menu-item.button-header>a {
    height: 30px !important;
    line-height: 30px !important;
    margin-left: 15px;
    vertical-align: middle;
    /* margin-top: -2px; */
    display: inline-block;
    padding: 0 20px !important;
    overflow: hidden;
    background-color: var(--e-global-color-accent);
    color: #fff;
    margin-top: 5px;
}
#nav-top .menu-item.button-header-bis>a {
    height: 30px !important;
    line-height: 30px !important;
    margin-left: 15px;
    vertical-align: middle;
    display: inline-block;
    padding: 0 20px !important;
    overflow: hidden;
        color: var(--e-global-color-accent);
        -moz-box-shadow: inset 0 0 0 2px var(--e-global-color-accent);
    -webkit-box-shadow: inset 0 0 0 2px var(--e-global-color-accent);
    box-shadow: inset 0 0 0 2px var(--e-global-color-accent);
    border-radius:9px;
}
#nav-top .menu-item.button-header-bis>a:hover {
        color:#fff;
    -moz-box-shadow: inset 0 0 10px 50px var( --e-global-color-accent );
    -webkit-box-shadow: inset 0 0 10px 50px var( --e-global-color-accent );
    box-shadow: inset 0 0 10px 50px var( --e-global-color-accent );
}


/*-----------------------------------------------------------
# MOBILE NAV
-------------------------------------------------------------- */
.frame--menu-open {
    color: var(--e-global-color-secondary);
}
.button-menu {
    width: 30px;
    height: 20px;
    border-radius: 50%;
    display: none;
    padding: 0;
    place-items: center;
    border: none;
    fill: var(--e-global-color-primary);
    top: 20px;
    position: fixed;
    background: transparent;
    right:20px;
    z-index: 999;
}
.admin-bar .button-menu {
    margin-top:46px;
}


.button-menu:hover {
    background:transparent;
}
.button-menu  span {
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  background-color: var(--e-global-color-primary);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
   -webkit-transition: top 0.3s 0.3s, bottom 0.3s 0.3s, -webkit-transform 0.3s, background-color 0.3s 0.3s;
  transition: top 0.3s 0.3s, bottom 0.3s 0.3s, -webkit-transform 0.3s, background-color 0.3s 0.3s;
  transition: transform 0.3s, top 0.3s 0.3s, bottom 0.3s 0.3s, background-color 0.3s 0.3s;
  transition: transform 0.3s, top 0.3s 0.3s, bottom 0.3s 0.3s, -webkit-transform 0.3s, background-color 0.3s 0.3s;
}

.button-menu:before, .button-menu:after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  background-color: var(--e-global-color-primary);
  -webkit-transition: top 0.3s 0.3s, bottom 0.3s 0.3s, -webkit-transform 0.3s, background-color 0.3s 0.3s;
  transition: top 0.3s 0.3s, bottom 0.3s 0.3s, -webkit-transform 0.3s, background-color 0.3s 0.3s;
  transition: transform 0.3s, top 0.3s 0.3s, bottom 0.3s 0.3s, background-color 0.3s 0.3s;
  transition: transform 0.3s, top 0.3s 0.3s, bottom 0.3s 0.3s, -webkit-transform 0.3s, background-color 0.3s 0.3s;
}
.button-menu::before {
  top: 0;
}
.button-menu::after {
  bottom: 0;
  width:80%;
  right: 0;
}
.button-menu.open span {
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.button-menu.open:before, .button-menu.open:after {
  background-color: #fff !important;
  width:100%;
}
.button-menu.open:before {
  top: calc(50% - 1px);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.button-menu.open:after {
  bottom: calc(50% - 1px);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.button-menu.open:before, .button-menu.open:after {
    -webkit-transition: top 0.3s, bottom 0.3s, -webkit-transform 0.3s 0.3s, background-color 0.3s 0.3s;
    transition: top 0.3s, bottom 0.3s, -webkit-transform 0.3s 0.3s, background-color 0.3s 0.3s;
    transition: top 0.3s, bottom 0.3s, transform 0.3s 0.3s, background-color 0.3s 0.3s;
    transition: top 0.3s, bottom 0.3s, transform 0.3s 0.3s, -webkit-transform 0.3s 0.3s, background-color 0.3s 0.3s;
}

.frame--menu-open .button-menu {
    opacity: 0;
    pointer-events: none;
}

.button-enter {
    margin-top: 4vh;
    cursor: not-allowed;
    transition: transform 0.5s ease;
}

.button-enter:hover {
    transform: translateX(15px) rotate(-40deg);
}

.menu-wrap {
    grid-area: 1 / 1 / 2 / 2;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 100vh;
    position: relative;
    background:  var(--e-global-color-primary);
    pointer-events: none;
    opacity: 0;
    position: fixed;
    width: 100%;
    z-index:995;
}
.menu-wrap.menu-wrap--open {
    pointer-events: auto;
    opacity: 1;
}
.overlay {
    /* grid-area: 1 / 1 / 2 / 2; */
    position: fixed;
    z-index: 994;
    pointer-events: none;
    width: 100%;
    height: 100%;
}

#nav-mobile {
    position: fixed;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    list-style-type: none;
    margin: 0;
    padding: 0;
    line-height: 1.5;
    width: 100%;
    display: block;
    overflow: auto;
    width: 100%;
    height: 100vh;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    padding: 50px 2em;
}
.menu-mobile-con {min-height: 100vh;}
#nav-mobile .menu-item {
    font-size: 5vw;
    color: #fff;
    xidth:100%;
    cursor: pointer;
    line-height: 1;
    font-weight: 300;
    text-align: left;
    position: relative;
    will-change: opacity, transform;
    display: block;
}
#nav-mobile .menu-item a{
    font-family: var(--e-global-typography-secondary-font-family);
    color:rgba(255,255,255,1);
    -o-transition: all .2s ease;
    -ms-transition: all .2s ease;
    -moz-transition: all .2s ease;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    padding:10px 0;
}
#nav-mobile .menu-item.current_page_item a {
    color:#fff;
}

#nav-mobile .menu-item a:hover {
    color:rgba(255,255,255,1);
    font-weight: bold;
}
#nav-mobile ul.sub-menu a {
    padding: 6px 0px 6px 10px;
    color: rgba(255,255,255,0.8);
}
#nav-mobile ul.sub-menu .menu-item-has-children:before {opacity:0.8;}
#nav-mobile ul.sub-menu ul.sub-menu a {
    padding: 6px 0px 6px 20px;
    color:rgba(255,255,255,0.6);
}
#nav-mobile ul.sub-menu ul.sub-menu .menu-item-has-children:before {opacity:0.6;}

#nav-mobile .menu-item-has-children:before {
    display: block;
    content: "";
    background-image: url(./images/down-white.svg);
    position: absolute;
    right: 5px;
    top: 6px;
    color: #fff;
    width: 20px;
    font-size: 2em;
    height: 20px;
    background-size: 15px;
    background-repeat: no-repeat;
    background-position: center center;
    transform: rotate(180deg);
}
#nav-mobile .menu-item-has-children.active:before {
     transform: rotate(0deg);
}
#nav-mobile .sub-menu {
    display: none;
    margin: 0;
    padding: 5px 0 10px 0;
}
.button-close {
    position: absolute;
    top: 0;
    right: 0;
    margin: 2rem;
    stroke: #fff;
    fill: none;
    background: none;
    border:none;
}
.button-close:focus-visible,
.button-close:hover {
    stroke: #fff;
    background: none;
}

@media screen and (min-width: 53em) {
    .frame {
        grid-template-columns: 390px 1fr 390px;
        grid-template-areas: 'author heading button'
        '... ... ...'
        'title links links';    
        font-size: 1.5rem;
    }
    .frame__title {
        justify-self: start;
        align-self: end;
        margin: 0 3rem 0 0;
    }
    .frame__links {
        display: flex;
        justify-self: start;
        padding: 0;
    }
    .frame__links a:not(:last-child) {
        margin-right: 0.5rem;
    }
    .frame__heading-main {
        font-size: 2.15rem;
    }
    .frame__heading-sub {
        font-size: 1rem;
    }
    .menu__item-tiny {
        font-size: 2rem;
    }
}
/*--------------------------------------------------------------
# SLIDER LOGO
--------------------------------------------------------------*/
.greyscale .elementor-carousel-image {
 filter: grayscale(100%);
 -o-transition: all .2s ease;
 -ms-transition: all .2s ease;
 -moz-transition: all .2s ease;
 -webkit-transition: all .2s ease;
 transition: all .2s ease;
 opacity:0.5;
}
.greyscale .elementor-carousel-image:hover {
 filter: grayscale(0%);
 opacity:1;
}
/*--------------------------------------------------------------
# RESPONSIVE
--------------------------------------------------------------*/
body.header-black main,
body.header-white main {
    margin-top:45px;
}
body.header-black-marge main{
    margin-top:122px;
} 

#widget_colissimo_adresse,
body .widget_colissimo_mode_transport {
    height: 38px;
}
.widget_colissimo_table_adresse, .widget_colissimo_filtres td, .widget_colissimo_liste td {
    border: none;
    background: none !important;
}
#widget_colissimo_adresse {
    box-sizing: border-box;
    border-right: none;
}
@media only screen and (max-width:1400px ) {
    .header-top .container,
    #header .nav-wrapper {
        padding:0 24px;
    }
    /*
    .e-con--row.e-con {
    --padding-top: var(--container-default-padding,0px);
    --padding-right: var(--container-default-padding,24px);
    --padding-bottom: var(--container-default-padding,0);
    --padding-left: var(--container-default-padding,24px);
}
*/
} 


@media screen and (min-width:1200px) {

}
@media only screen and (max-width:1230px ) {
    #header .custom-logo-link {
        height:90%;
    }
        #nav-desktop > .menu-item > a {
        font-size: 0.8em;
        text-transform: uppercase;
        padding: 0 8px;
    }
}


@media only screen and (max-width:1024px ) {
    .header-right {
        padding-right: 30px;
    }
    body.header-black-marge main,
    body.header-black main, 
    body.header-white main {
        margin-top:60px;
    } 
        #header  {
        border-bottom:1px solid rgba(150,150,150,0.2);
    }
    .slider-home .swiper-slide-contents { padding:10% 10%;}
    #header .nav-wrapper {height:60px;line-height: 60px;}
    #nav-desktop, .header-top  {display:none;}
    .button-menu {display: inline-grid;}
    small {
        font-size: 0.7em;
    }
    .elementor-widget-video-playlist .e-tabs-wrapper {
    margin-left: 0;
     margin-top: 20px;
}
    blockquote:before, blockquote:after {
      width: 20px;
      height: 20px;
      background-size: 20px;
  }
  blockquote p {
      font-size: 1em;
      line-height: 1.5em;
      font-weight: 300;
      display:inline;
      text-align:center;
  }
  blockquote {
      padding: 20px 5px;
      position: relative;
      border: 0;
  }
}
