
/*
 Theme Name:   Arthrex France
 Theme URI:    https://novelar.fr
 Description:  Thème Arthrex France
 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 );

}
ul {
    list-style: none;
}
#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-column-gap-default>.elementor-column>.elementor-element-populated {
    padding: 4em; /* set your desired padding */
}
#content-article .elementor-column-gap-default>.elementor-column>.elementor-element-populated {
    padding: 10px; /* set your desired padding */
}
.elementor-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;
}
/*--------------------------------------------------------------
# GENERAL 
--------------------------------------------------------------*/
small {font-size:0.4em;}
.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;
}
button.cmplz-accept-service,
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 {
    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 );
}
button.cmplz-accept-service: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 );
}


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,
.shadow-blue.e-con
{
    -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.e-con,
.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;
}

/*--------------------------------------------------------------
# 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-text-editor  ul {
  margin-bottom: 0.7em;
  padding:0;
}
.elementor-text-editor  ul > li {
    margin-left: 1em;
    list-style-type: none;
    margin-top: 0.7em;
}
.elementor-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-text-editor b {
  color:var( --e-global-color-primary );
}
.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
-------------------------------------------------------------- */
#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:1500px;
    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 4em;
}
.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 4em;
    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:1500px;
}

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

.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;
    -webkit-box-shadow: 0 4px 5px 0 rgb(0 0 0 / 14%), 0 1px 10px 0 rgb(0 0 0 / 12%), 0 2px 4px -1px rgb(0 0 0 / 30%);
    box-shadow: 0 4px 5px 0 rgb(0 0 0 / 14%), 0 1px 10px 0 rgb(0 0 0 / 12%), 0 2px 4px -1px rgb(0 0 0 / 30%);
    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;
}
#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);
    margin-top: 5px;
        -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;
}
.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;
    height: 100vh;
    overflow: hidden;
}
.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-y: auto;
    width: 100%;
    max-height: 100vh;
    display: -ms-flexbox;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    -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;
    opacity: 0;
    transform: translate(0px, 100px);
}
#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;
}
/* RGPD */

.cmplz-blocked-content-container .cmplz-blocked-content-notice, .wp-video .cmplz-blocked-content-notice {
    background-color: rgba(255,255,255,.9);
    color: #000;
    border-radius: 9px;
    padding: 20px;
    border: none;
}

/*--------------------------------------------------------------
# RESPONSIVE
--------------------------------------------------------------*/
body.header-black-marge main{
    margin-top:122px;
} 

@media only screen and (max-width:1500px ) {
    .header-top .container,
    #header .nav-wrapper {
        padding:0 2em;
    }
    .elementor-column-gap-default>.elementor-column>.elementor-element-populated {
        padding: 2em;
    }
} 


@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 ) {
    body.header-black-marge main{
    margin-top:60px;
} 

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