
/*
 Theme Name:   Major Prépa 2023
 Theme URI:    https://novelar.fr
 Description:  Thème Major Prépa 2023
 Author:       Jérôme
 Author URI:   https://novelar.fr
 Template:     hello-elementor
 Version:      1.0.2
 */

:root {
    --big-shadow : 0 10px 100px -25px #0000f920;
    --shadow :0 10px 25px 0 #0000f910;
    --master-shadow: 0 10px 100px -25px #0000f920;
}
.menu-item-description {
    font-size: small;
}

.e-con-full.e-con-parent {
    max-width: 100%;
}

.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;
}
.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{
    box-shadow: var(--shadow);
    overflow: hidden;
}


.shadow-normal > .elementor-element-populated,
.shadow-normal .swiper-slide-inner,
.shadow-normal.e-con{
    overflow: hidden;
    box-shadow: var(--big-shadow);
}
.shadow-big.elementor-section,.e-cart-totals  {
    box-shadow:var(--big-shadow);
    overflow: hidden;
}


.shadow-big > .elementor-element-populated,
.shadow-big.e-con,
.shadow-big .swiper-slide-inner{
    overflow: hidden;
    box-shadow:var(--big-shadow);
}




.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-secondary);
    box-shadow: inset 0 0 0 3em var(--e-global-color-secondary);
    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 {
  -webkit-appearance: none;
  -moz-appearance: none;
  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;
}

.elementor-tab-content p a {
    padding: 10px;
    text-decoration: none;
    margin: 10px 0;
    display: inline-block;
}

.button-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: 30px;
    font-family: var( --e-global-typography-accent-font-family ), Sans-serif;
    font-weight: var( --e-global-typography-accent-font-weight );
    color: #fff;
    background-color:var( --e-global-color-primary );
    overflow: hidden;
    position: relative;
    border:none;
    cursor: pointer;
    -moz-box-shadow:  2px 2px 0 0px var( --e-global-color-secondary );
    -webkit-box-shadow:  2px 2px 0 0px var( --e-global-color-secondary );
    box-shadow:2px 2px 0 0px var( --e-global-color-secondary );
    transition: all 0.2s ease-in-out;
}
#header .button-header>a:before {display:none;}
#header .button-header {
    align-items: center;
}
#header .button-header > a {
    line-height: 42px;
    margin-right: 15px;
    color: #fff !important;
    padding: 0px 15px !important;
    height: fit-content;
}
.menu .sub-menu li.button-header {margin-bottom:10px;}
.button-header > a:hover {
    color:#fff !important;
}
.button-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: 2px 2px 5px 0px var( --e-global-color-secondary );
    -webkit-box-shadow:  2px 2px 5px 0px var( --e-global-color-secondary );
    box-shadow:  2px 2px 5px 0px var( --e-global-color-secondary );
}

.elementor-element.elementor-button-info .elementor-button {
    color:#fff;
     background-color:var( --e-global-color-secondary );
}
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-secondary);
    margin-right: 10px;

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


/*--------------------------------------------------------------
# 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%;
    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;
}




/*-----------------------------------------------------------
# HEADER
-------------------------------------------------------------- */
#header {
    position: fixed;
    z-index: 980;
    width: 100%;
    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;
    box-shadow:none !important;
    border-bottom:1px solid rgba(150,150,150,0.2);
}

/*-----------------------------------------------------------
# LOGO et STICKY
-------------------------------------------------------------- */
/*Normal*/
.custom-logo-link {transition: all 0.3s ease-in-out;}
.custom-logo-link .logo {display:block;}
/*.custom-logo-link .logo-white {display:none;}*/
/*Sticky*/
body.sticky #header .custom-logo-link {height: 0;padding:0;}
/*body.sticky .custom-logo-link .logo-white{opacity:1;display:block;}
body.sticky .custom-logo-link .logo {opacity:0;display:none;}*/

body.sticky #header{
  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%);
}
body.sticky .button-menu {fill:#000;}
body.sticky .menu-desktop > .menu-item.button-header > a {color:#fff;}
body.sticky .menu-desktop > .menu-item > a {color: var( --e-global-color-primary );}
body.sticky .header-top {background: var( --e-global-color-primary );color:rgba(0,0,0,0.5);}
body.sticky #header.menu-icon-toggle span,
body.sticky #header.icon-toggle:before, 
body.sticky #header.icon-toggle:after {
    background:var(--e-global-color-primary);
}
body.sticky #header .menu-desktop > li > a:before {background: var(--e-global-color-secondary);}

/* Header WHITE */
body:not(.sticky).header-white .logo {display:none;}
body:not(.sticky).header-white .logo-white,
body:not(.sticky).header-white-marge .logo-white {display:block;}

body:not(.sticky).header-white .menu-desktop > .menu-item,
body:not(.sticky).header-white .menu-desktop > .menu-item > a,
body:not(.sticky).header-white .menu-right > li > a,
body:not(.sticky).header-white-marge .menu-desktop > .menu-item > a,
body:not(.sticky).header-white-marge .menu-desktop > li > a:before {color: #fff;}

.menu-right i {
    margin-right:10px;    
    font-size: 1.5rem;
    vertical-align: middle;
}
/*-----------------------------------------------------------
# HEADER
-------------------------------------------------------------- */
#header {
    position: fixed;
    z-index: 998;
    width: 100%;
    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 {
    -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 .container {
    width:100%;
}

.header-top .widget_block {

}
.header-top p {
    margin:0;
}
#header .nav-wrapper {
    box-shadow:none;
    max-width: calc(1340px + 6rem);
    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;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: center;
    z-index: 99;
    align-items: center;

}

#header .custom-logo-link {
  display: flex;              /* permet le centrage */
  align-items: center;
  height: 60px;
  padding-top:10px;
}

#header .custom-logo-link img {
  max-height: 100%;           /* respecte la hauteur du lien */
  max-width: 100%;            /* respecte la largeur disponible */
  width: auto;
  height: auto;
  object-fit: contain;
}

.custom-logo-link>div {
height: 100%;
width: auto;
}
.menu-desktop,
.menu-right  {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    list-style: none;
    text-align:center;
    align-items:stretch;
    -webkit-align-items:stretch;
    -ms-align-items:stretch;
    margin:0;
    padding:0;
}
.menu-desktop {
    height: 40px;
}
.menu-desktop ul,
.menu-right ul {
    padding: 0;
    list-style: none;
        -o-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.menu-desktop > li,
.menu-right > li {
    position: static;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

}
.menu-desktop > li {
    line-height: 1;
    height: 100%;
}
.menu-desktop .sub-menu,
.menu-right .sub-menu{
    pointer-events:none;
    overflow: hidden;
    position: absolute;
    top: 100%;
    left: auto;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    max-height: 300px;
    overflow-y: auto;
    float: left;
    min-width: 160px;
    text-align: left;
    list-style: none;
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 6px 12px rgb(0 0 0 / 18%);
    line-height: initial;
    margin-top:-1px;
        -o-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    transform:translateY(-30px);
}

.sub-menu.menuopen {
        pointer-events:initial;
        visibility: visible;
        opacity: 1;
        transform:translateY(0px);
}

.button-trigger.triggeractive i.icon-perso:before {
    content:"\e902";
}


@media(hover: hover) and (pointer: fine) {
    ul.menu-desktop > li:hover > .sub-menu,
    ul.menu-right > li:hover > .sub-menu {
        pointer-events:initial;
        visibility: visible;
        opacity: 1;
        transform:translateY(0px);
    }

    ul.menu-desktop > li:hover > .mega-menu.sub-menu,
    ul.menu-right > li:hover > .mega-menu.sub-menu {
        transform:translateY(0px) translateX(-50%);
    }
}

#nav-top  > li.menu-item-has-children > a:after,
#nav-desktop  > li.menu-item-has-children > a:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f078";
    color: #000;
    margin: 0px 0px 0px 8px;
    transition: transform 0.2s ease-in-out;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);        
    vertical-align: middle;
    display: inline-block;
    line-height: 0;
}

#nav-top  > li.menu-item-has-children:hover > a:after,
#nav-desktop  > li.menu-item-has-children:hover > a:after {
        -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}


.mega-menu.sub-menu {
    /* left: 50%; */
    /* right: 0; */
    /* margin-top: 0; */
    /* max-height: calc(100vh - 100px); */
    /* overflow: auto; */
    /* max-width: 960px; */
    /* transform-origin: center; */
    position: absolute;
    left: 50%;
    padding: 0;
    margin: 0;
    -webkit-box-shadow: 0px 8px 38px 5px rgb(0 0 0 / 16%);
    box-shadow: 0px 8px 38px 5px rgb(0 0 0 / 16%);
    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;
    width: 1024px;
}
.menu-item > a {
    font-size:1rem;
    position: relative;
}
.menu-desktop > .menu-item > a {
    color: var(--e-global-color-primary );
    padding: 0 1rem;
        display: inline-flex;
    /* line-height: 1; */
    align-items: center;
}
.menu-desktop > .menu-item > a:hover,
.current-menu-item > a,
.menu-desktop > .current-menu-item > a{
    color: var( --e-global-color-primary );
    
}


#nav-desktop>li.current-menu-item>a:before, #nav-desktop>li:hover>a:before {
    width: 100%;
}
#nav-desktop>li a:before {
    background: var(--e-global-color-secondary);
    height: 4px;
    width: 0;
    content: "";
    position: absolute;
    bottom: 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;
}
/* SUBMENU */
.sub-menu > li > a {
    padding: 10px 20px;
    color: var( --e-global-color-text );
    display: block;
    /* text-transform: uppercase; */
    font-weight: 400;
    position: relative;
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
}
#header .sub-menu > li > a:hover {
    color:  var(--e-global-color-secondary) ;
    background: var(--e-global-color-primary);
}
li.half {position: relative;}
li.half > .sub-menu {
    width: 50vw;
    top:100%;
    left: 50% !important;
    /* right: 0 !important; */
    transform: translateX(-50%);
}
li.half:hover > .sub-menu {
    transform: translateX(-50%);
}
/*MENU RIGHT */
.menu-right .sub-menu {
    margin-left: -100px;
    transform-origin: center;
}
.menu-right > li > a {
    padding: 0 0.5rem;
    color: var(--e-global-color-primary);
}

.accent, 
#nav-desktop > .menu-item.accent > a  {
    color: var( --e-global-color-secondary );
    font-family:var(--e-global-typography-secondary-font-family);
    font-weight: normal;
    text-transform: uppercase;
}

#right-menu {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 9999;
}


/*-----------------------------------------------------------
# MOBILE NAV
-------------------------------------------------------------- */
.menu-mobile,.menu-icon-toggle {
    display:none;
}

.menu-icon-toggle {
    width: 25px;
    height: 20px;
    position: relative;
    z-index: 999;
    margin:15px;
}
.menu-icon-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  border-radius: 5px;
  background-color: var( --e-global-color-primary );
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  -webkit-transition: opacity 0.3s 0.3s;
  transition: opacity 0.3s 0.3s;
}
.menu-icon-toggle:before, .menu-icon-toggle:after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  border-radius: 0px;
  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;
}
.menu-icon-toggle::before {
  top: 0;
}
.menu-icon-toggle::after {
  bottom: 0;
  right: 0;
}
.open .menu-icon-toggle span {
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.open .menu-icon-toggle:before, .open .menu-icon-toggle:after {
  background-color: #fff;
  width:100%;
}
.open .menu-icon-toggle:before {
  top: calc(50% - 1px);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.open .menu-icon-toggle:after {
  bottom: calc(50% - 1px);
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.open .menu-icon-toggle:before, .open .menu-icon-toggle: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;
}
.menu-background {
  visibility: hidden;
  width: 300%;
  height: 350px;
  position: absolute;
  left: -130%;
  background-color: var( --e-global-color-secondary );
  -webkit-transition: background-position 0.5s, visibility 0.5s 1s, -webkit-transform 0.5s 0.5s;
  transition: background-position 0.5s, visibility 0.5s 1s, -webkit-transform 0.5s 0.5s;
  transition: background-position 0.5s, transform 0.5s 0.5s, visibility 0.5s 1s;
  transition: background-position 0.5s, transform 0.5s 0.5s, visibility 0.5s 1s, -webkit-transform 0.5s 0.5s;
}
.open .menu-background {
  visibility: visible;
  -webkit-transition: background-position 0.5s, -webkit-transform 0.5s 0.5s;
  transition: background-position 0.5s, -webkit-transform 0.5s 0.5s;
  transition: background-position 0.5s, transform 0.5s 0.5s;
  transition: background-position 0.5s, transform 0.5s 0.5s, -webkit-transform 0.5s 0.5s;
}
.menu-background.top {
  -webkit-transform: rotate(-45deg) translateY(-150%);
          transform: rotate(-45deg) translateY(-150%);
  background: -webkit-gradient(linear, left bottom, left top, color-stop(50%, #fff), color-stop(50%, var( --e-global-color-secondary )));
  background: linear-gradient(to top, #fff 50%, var( --e-global-color-secondary ) 50%);
  background-size: 100% 200%;
  background-position: -100% 100%;
}
.open .menu-background.top {
  -webkit-transform: rotate(-45deg) translateY(-49%);
          transform: rotate(-45deg) translateY(-49%);
  background-position: 0 0;
}
.menu-background.middle {
  -webkit-transform: rotate(-45deg) translateY(50%) scaleY(0);
          transform: rotate(-45deg) translateY(50%) scaleY(0);
  background: var( --e-global-color-secondary );
}
.open .menu-background.middle {
  -webkit-transform: rotate(-45deg) translateY(50%) scaleY(1);
          transform: rotate(-45deg) translateY(50%) scaleY(1);
}
.menu-background.bottom {
  -webkit-transform: rotate(-45deg) translateY(250%);
          transform: rotate(-45deg) translateY(250%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, var( --e-global-color-secondary )), color-stop(50%, #fff));
  background: linear-gradient(to bottom, var( --e-global-color-secondary ) 50%, #fff 50%);
  background-size: 100% 200%;
  background-position: 0 -100%;
}
.open .menu-background.bottom {
  -webkit-transform: rotate(-45deg) translateY(149%);
          transform: rotate(-45deg) translateY(149%);
  background-position: 0 0;
}
.menu {
        overflow: auto;
    max-height: 100vh;
    position: fixed;
    top: 50%;
    left: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(0, -50%);
    visibility: hidden;
    list-style-type: none;
    margin: 0;
    padding: 0;
    z-index: 998;
    line-height: 1.5;
    width: 100%;
}

.menu .sub-menu {
    display: none;
    margin: 0;
    padding: 5px 0 10px 0;
}
.open .menu {
  visibility: visible;
}
.menu li {
  opacity: 0;
  -webkit-transform: translateX(20px);
  transform: translateX(20px);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; 
}
.menu > li {
    margin: 5px 15%;
}
.menu a {
    position: relative;
    text-decoration: none;
    color: var(--e-global-color-primary);
}
.menu > li > a {
    display: block;
    font-size: 1.5rem;
    font-family: var( --e-global-typography-secondary-font-family ), Sans-serif;
    padding: 0.5rem 0;
}
.menu li.current-menu-item > a {
    font-weight: 900;
}
.open .menu li {
  opacity: 1;
  -webkit-transform: translateX(0);
   transform: translateX(0);
   -webkit-transition-delay: 0.5s;
   transition-delay: 0.5s;
}

.open .menu li:nth-child(1) {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

.open .menu li:nth-child(2) {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.open .menu li:nth-child(3) {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

.open .menu li:nth-child(4) {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

.open .menu li:nth-child(5) {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}
.open .menu li:nth-child(6) {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}
.open .menu li:nth-child(7) {
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}
.open .menu li:nth-child(8) {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}
.open .menu li:nth-child(9) {
  -webkit-transition-delay: 1.9s;
          transition-delay: 1.9s;
}
.menu a {
    position: relative;
    text-decoration: none;
    line-height: 1em;
    font-size: 1.2em;
}
.menu a::before {
  content: '';
  display: block;
  height: 2px;
  width: 0;
  position: absolute;
  left: -30px;
  top: 50%;
  background-color: #fff;
  -webkit-transform: translateY(-50%);
   transform: translateY(-50%);
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
}
.menu a:hover::before {
  width: 15px;
}

.menu-mobile .menu-item-has-children:before {
    display: block;
    content: "+";
    position: absolute;
    right: 5px;
    top: px;
    color: #000;
    font-size: 2em;
}
.open .cart-button {
    color:#fff;
}
.open .cart-menu > li > a > .number-items {
    color:#000;
    background:#fff;
}

footer {z-index: 0;position: relative;}
body.menuopen main,
body.menuopen footer {
    filter:blur(3px);
}




/*Main style*/
body.menuopen {
  overflow: hidden;
}
/*--------------------------------------------------------------
# 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 {
    padding-top:45px;
}

body.header-black-marge .elementor-location-archive,
body.header-black-marge header + div,
body.header-black-marge header + main{
    padding-top:137px;
} 

@media only screen and (max-width:1500px ) {
    .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) {
    body {
         font-size: calc(11px + 0.3359375vw);
    }
}
@media only screen and (max-width:1230px ) {
    #nav-desktop > .menu-item > a {
        font-size: 0.8em;
        padding: 0 8px;
    }
}


@media only screen and (max-width:1024px ) {
    #header .custom-logo-link {
        height:40px;
    }
    body.sticky #header .custom-logo-link {
        height: 30px;
        padding: 0;
    }
    body.header-black-marge .elementor-location-archive,
    body.header-black-marge header + div,
    body.header-black-marge header + main,
    body.header-black main, 
    body.header-white main {
        padding-top:50px;
    } 
    .menu-mobile .button-header {margin-top:20px;}
    #header {padding: 0}
    .menu-desktop {display:none;}
    .menu-mobile,.menu-icon-toggle  {display:block;}
    #header .custom-logo-link {
        position: absolute;
        transform: translate(-50%, -50%);
        left: 50%;
        top: 50%;
        padding:0;
    }
    #header .nav-wrapper {
        flex-direction: row;
                justify-content: space-between;
    }
    #header .nav-wrapper, body.sticky #header.nav-wrapper {
        padding: 0 20px 0 0;
    }

    .hide-on-med-and-down {display:none !important;}
    /*Client MEnu Mobile */
    .menu-desktop .sub-menu, 
    .menu-right .sub-menu {
        right: 0;
        position: absolute;
        left: 0;
        /* top: 60px; */
        width: 100%;
        border-radius: 0;
        transform: translateY(0px);
        box-shadow: none;
        margin: 0;
        border-top: 1px solid #efefef;
    }

    .slider-home .swiper-slide-contents { padding:10% 10%;}

    #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;
  }
}
