/* Navigation Menu CSS */

ul.hfe-nav-menu,
.hfe-nav-menu li,
.hfe-nav-menu ul {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

.hfe-nav-menu li.menu-item {
    position: relative;
}

.hfe-flyout-container .hfe-nav-menu li.menu-item {
    position: relative;
    background: unset;
}

.hfe-nav-menu .sub-menu li.menu-item {
    position: relative;
    background: inherit;
}
.hfe-nav-menu__theme-icon-yes button.sub-menu-toggle {
    display: none;
}
div.hfe-nav-menu,
.elementor-widget-hfe-nav-menu .elementor-widget-container {
    -js-display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.hfe-nav-menu__layout-horizontal,
.hfe-nav-menu__layout-horizontal .hfe-nav-menu {
    -js-display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}

.hfe-nav-menu__layout-horizontal .hfe-nav-menu {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.hfe-nav-menu .parent-has-no-child .hfe-menu-toggle {
    display: none;
}

.hfe-nav-menu__layout-horizontal .hfe-nav-menu .sub-menu,
.hfe-submenu-action-hover .hfe-layout-vertical .hfe-nav-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 16;
    visibility: hidden;
    opacity: 0;
    text-align: left;
    -webkit-transition: all 300ms ease-in;
    transition: all 300ms ease-in;
}

.hfe-nav-menu__layout-horizontal .hfe-nav-menu .menu-item-has-children:hover > .sub-menu,
.hfe-nav-menu__layout-horizontal .hfe-nav-menu .menu-item-has-children:focus > .sub-menu {
    visibility: visible;
    opacity: 1;
}

.hfe-submenu-action-click .hfe-nav-menu .menu-item-has-children:hover > .sub-menu,
.hfe-submenu-action-click .hfe-nav-menu .menu-item-has-children:focus > .sub-menu {
    visibility: hidden;
    opacity: 0;
}

.hfe-nav-menu .menu-item-has-children .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
    visibility: hidden;
    opacity: 0;
}

.hfe-flyout-container .hfe-nav-menu .menu-item-has-children .menu-item-has-children .sub-menu {
    top: 0;
    left: 0;
}

.hfe-nav-menu .menu-item-has-children .menu-item-has-children .sub-menu {
    top: 0;
    left: 100%;
}

.hfe-nav-menu__layout-horizontal .hfe-nav-menu .menu-item-has-children:hover > .sub-menu,
.hfe-nav-menu__layout-horizontal .hfe-nav-menu .menu-item-has-children.focus > .sub-menu {
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 300ms ease-out;
    transition: all 300ms ease-out;
}

.hfe-nav-menu:before,
.hfe-nav-menu:after {
    content: '';
    display: table;
    clear: both;
}


/* Alignemnt CSS */
.hfe-nav-menu__align-right .hfe-nav-menu {
  margin-left: auto;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          -webkit-justify-content: flex-end;
          -moz-box-pack: end;
          justify-content: flex-end; }

.hfe-nav-menu__align-right .hfe-nav-menu__layout-vertical li a.hfe-menu-item,
.hfe-nav-menu__align-right .hfe-nav-menu__layout-vertical li a.hfe-sub-menu-item {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          -webkit-justify-content: flex-end;
          -moz-box-pack: end;
          justify-content: flex-end; }

.hfe-nav-menu__align-right .hfe-nav-menu__layout-vertical li.hfe-has-submenu .elementor-button-wrapper,
.rtl .hfe-nav-menu__align-left .hfe-nav-menu__layout-vertical li.hfe-has-submenu .elementor-button-wrapper,
.hfe-nav-menu__align-right .hfe-nav-menu__layout-vertical li.elementor-button-wrapper,
.rtl .hfe-nav-menu__align-left .hfe-nav-menu__layout-vertical li.elementor-button-wrapper{
    text-align: right;
}
.hfe-nav-menu__align-left .hfe-nav-menu__layout-vertical li.hfe-has-submenu .elementor-button-wrapper,
.rtl .hfe-nav-menu__align-right .hfe-nav-menu__layout-vertical li.hfe-has-submenu .elementor-button-wrapper,
.hfe-nav-menu__align-left .hfe-nav-menu__layout-vertical li.elementor-button-wrapper,
.rtl .hfe-nav-menu__align-right .hfe-nav-menu__layout-vertical li.elementor-button-wrapper{
    text-align: left;
}
.hfe-nav-menu__align-center .hfe-nav-menu__layout-vertical li.hfe-has-submenu .elementor-button-wrapper,
.hfe-nav-menu__align-center .hfe-nav-menu__layout-vertical li.elementor-button-wrapper{
    text-align: center;
}
.hfe-nav-menu__align-left .hfe-nav-menu {
  margin-right: auto;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          -webkit-justify-content: flex-start;
          -moz-box-pack: start;
          justify-content: flex-start; }

.hfe-nav-menu__align-left .hfe-nav-menu__layout-vertical li a.hfe-menu-item,
.hfe-nav-menu__align-left .hfe-nav-menu__layout-vertical li a.hfe-sub-menu-item {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          -webkit-justify-content: flex-start;
          -moz-box-pack: start;
          justify-content: flex-start; }

.hfe-nav-menu__align-center .hfe-nav-menu {
  margin-left: auto;
  margin-right: auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          -webkit-justify-content: center;
          -moz-box-pack: center;
          justify-content: center; }

.hfe-nav-menu__align-center .hfe-nav-menu__layout-vertical li a.hfe-menu-item,
.hfe-nav-menu__align-center .hfe-nav-menu__layout-vertical li a.hfe-sub-menu-item {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          -webkit-justify-content: center;
          -moz-box-pack: center;
          justify-content: center; }

.hfe-nav-menu__layout-horizontal .hfe-nav-menu {
    -js-display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; 
}
.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
    width: 100%; 
}
  .hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li.menu-item {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            -webkit-flex-grow: 1;
            -moz-box-flex: 1;
            flex-grow: 1; }
    .hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li a.hfe-menu-item {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              -webkit-justify-content: center;
              -moz-box-pack: center;
              justify-content: center; }

/* Alignment CSS ends */

.hfe-active-menu + nav li:not(:last-child) a.hfe-menu-item,
.hfe-active-menu + nav li:not(:last-child) a.hfe-sub-menu-item {
    border-bottom-width: 0;
}

/*  Horizontal Menu */

.hfe-nav-menu a.hfe-menu-item,
.hfe-nav-menu a.hfe-sub-menu-item {
    line-height: 1;
    text-decoration: none;
    -js-display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.hfe-nav-menu a.hfe-menu-item:hover,
.hfe-nav-menu a.hfe-sub-menu-item:hover {
    text-decoration: none;
}

.hfe-nav-menu .sub-menu {
    min-width: 220px;
    margin: 0;
    z-index: 9999;
}

.hfe-nav-menu__layout-horizontal {
    font-size: 0;
}

.hfe-nav-menu__layout-horizontal li.menu-item,
.hfe-nav-menu__layout-horizontal > li.menu-item {
    font-size: medium;
}

.hfe-nav-menu__layout-horizontal .hfe-nav-menu .sub-menu{
    -webkit-box-shadow: 0 4px 10px -2px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 10px -2px rgba(0, 0, 0, 0.1);
}

/* Icons CSS */
.hfe-submenu-icon-arrow .hfe-nav-menu .parent-has-child .sub-arrow i:before {
    content: ''; 
}
.hfe-submenu-icon-classic .hfe-nav-menu .parent-has-child .sub-arrow i:before {
    content: ''; 
}
.hfe-submenu-icon-plus .hfe-nav-menu .parent-has-child .sub-arrow i:before {
    content: '+'; 
}
.hfe-submenu-icon-none .hfe-nav-menu .parent-has-child .sub-arrow {
    display: none; 
}

.hfe-submenu-icon-arrow .hfe-nav-menu .parent-has-child .sub-menu-active .sub-arrow i:before,.hfe-link-redirect-self_link.hfe-submenu-icon-arrow .hfe-nav-menu .parent-has-child .menu-active .sub-arrow i:before {
    content: ''; 
}
.hfe-submenu-icon-plus .hfe-nav-menu .parent-has-child .sub-menu-active .sub-arrow i:before, .hfe-link-redirect-self_link.hfe-submenu-icon-plus .hfe-nav-menu .parent-has-child .menu-active .sub-arrow i:before {
    content: '-'; 
}
.hfe-submenu-icon-classic .hfe-nav-menu .parent-has-child .sub-menu-active .sub-arrow i:before, .hfe-link-redirect-self_link.hfe-submenu-icon-classic .hfe-nav-menu .parent-has-child .menu-active .sub-arrow i:before {
    content: ''; 
}

.rtl .hfe-submenu-icon-arrow .hfe-nav-menu__layout-horizontal .menu-item-has-children ul a .sub-arrow i:before {
    content: ''; 
}

.rtl .hfe-submenu-icon-classic .hfe-nav-menu__layout-horizontal .menu-item-has-children ul a .sub-arrow i:before {
    content: ''; 
}

.hfe-submenu-icon-arrow .hfe-nav-menu__layout-horizontal .menu-item-has-children ul a .sub-arrow i:before {
    content: ''; 
}

.hfe-submenu-icon-classic .hfe-nav-menu__layout-horizontal .menu-item-has-children ul a .sub-arrow i:before {
    content: ''; 
}
/* Icon CSS ends */

.hfe-nav-menu-icon {
    padding: 0.35em;
    border: 0 solid;
}

.hfe-nav-menu-icon svg {
    width: 25px;
    height: 25px;
    line-height: 25px;
    font-size: 25px;
}

.hfe-nav-menu-icon i:focus {
    outline: 0;
}

.hfe-has-submenu-container a.hfe-menu-item:focus,
.hfe-has-submenu-container a.hfe-sub-menu-item:focus {
    outline: 0;
}
/* Submenus */

.hfe-nav-menu .menu-item-has-children:focus,
.hfe-nav-menu .menu-item-has-children .sub-menu:focus,
.hfe-nav-menu .menu-item-has-children-container:focus {
    outline: 0;
}
.hfe-nav-menu .menu-item-has-children-container {
    position: relative;
}

.hfe-nav-menu__layout-expandible .sub-menu,
.hfe-nav-menu__layout-vertical .sub-menu,
.hfe-flyout-wrapper .sub-menu {
    position: relative;
    height: 0;
}

.hfe-nav-menu__submenu-arrow .hfe-menu-toggle:before,
.hfe-nav-menu__submenu-plus .hfe-menu-toggle:before,
.hfe-nav-menu__submenu-classic .hfe-menu-toggle:before {
    font-family: 'Font Awesome 5 Free';
    z-index: 1;
    font-size: inherit;
    font-weight: inherit;
    line-height: 0;
}

.hfe-menu-item-center .hfe-nav-menu li a.hfe-menu-item,
.hfe-menu-item-center .hfe-nav-menu li a.hfe-sub-menu-item {
    margin-right: 0px;
}

.hfe-nav-menu__submenu-none .hfe-nav-menu li a.hfe-menu-item,
.hfe-nav-menu__submenu-none .hfe-nav-menu li a.hfe-sub-menu-item {
    margin-right: 0px;
}

.hfe-nav-menu__toggle-icon:before {
    content: '\f0c9';
    font-family: 'fontAwesome';
    z-index: 1;
    font-size: 24px;
    font-weight: inherit;
    font-style: normal;
    line-height: 0;
}

.hfe-active-menu .hfe-nav-menu__toggle-icon:before {
    content: '\f00d';
}

.hfe-nav-menu__layout-expandible {
    -webkit-transition-property: display;
    transition-property: display;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-timing-function: cubic-bezier( 0, 1, 0.5, 1 );
    transition-timing-function: cubic-bezier( 0, 1, 0.5, 1 );
}

.hfe-nav-menu__layout-expandible {
    visibility: hidden;
    opacity: 0; 
}

.hfe-nav-menu__layout-expandible .sub-menu {
    visibility: hidden;
    opacity: 0; 
}

.hfe-active-menu + .hfe-nav-menu__layout-expandible {
    visibility: visible;
    opacity: 1; 
    height: auto;
}

.hfe-active-menu.hfe-active-menu-full-width + .hfe-nav-menu__layout-expandible,
.hfe-active-menu.hfe-active-menu-full-width + .hfe-nav-menu__layout-horizontal,
.hfe-active-menu.hfe-active-menu-full-width + .hfe-nav-menu__layout-vertical {
    position: absolute;
    top: 100%;
}

.hfe-nav-menu__layout-expandible .menu-item-has-children .menu-item-has-children .sub-menu,
.hfe-nav-menu__layout-vertical .menu-item-has-children .menu-item-has-children .sub-menu {
    top: 0;
    left: 0;
}

.hfe-layout-expandible nav {
    height: 0;
}

.hfe-nav-sub-menu-icon, .hfe-nav-menu__icon {
    display: inline-block;
    line-height: 1;
}

.hfe-nav-menu__toggle {
    -js-display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 22px;
    cursor: pointer;
    border: 0 solid;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    color: #494c4f;
    position: relative;
    line-height: 1;
}

.hfe-nav-menu__toggle-icon {
    display: inline-block;
    font-size: inherit;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.hfe-nav-menu .sub-arrow {
    font-size: 14px;
    line-height: 1;
    -js-display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    cursor: pointer;
    margin-top: -10px;
    margin-bottom: -10px;
}

.hfe-nav-menu__layout-horizontal .hfe-nav-menu .sub-arrow {
    margin-left: 10px;
}

.hfe-nav-menu__layout-vertical .hfe-nav-menu .sub-arrow,
.hfe-layout-expandible .sub-arrow,
.hfe-flyout-wrapper .sub-arrow
{
    padding: 10px;
}

.hfe-nav-menu .child-item,
.hfe-nav-menu__layout-vertical .hfe-nav-menu .child-item {
    font-size: 14px;
    line-height: 1;
    padding: 10px 0 10px 10px;
    margin-top: -10px;
    margin-bottom: -10px;
    position: absolute;
    right: 0;
    margin-right: 20px;
}

.hfe-layout-horizontal .hfe-nav-menu__toggle,
.hfe-layout-vertical .hfe-nav-menu__toggle {
    visibility: hidden;
    opacity: 0;
    display: none;
}

.hfe-nav-menu-icon {
    display: inline-block;
    line-height: 1;
    text-align: center;
}

.hfe-nav-menu__layout-expandible .saved-content,
.hfe-nav-menu__layout-expandible .sub-menu,
.hfe-nav-menu__layout-expandible .child,
.hfe-nav-menu__layout-vertical .saved-content,
.hfe-nav-menu__layout-vertical .sub-menu,
.hfe-nav-menu__layout-vertical .child,
.hfe-flyout-container .saved-content,
.hfe-flyout-container .sub-menu,
.hfe-flyout-container .child {
    left: 0 !important;
    width: 100% !important; 
}

.hfe-flyout-container .hfe-nav-menu .sub-menu {
    background: unset;
}

.hfe-nav-menu__layout-vertical .hfe-menu-toggle:hover,
.hfe-nav-menu__layout-expandible .hfe-menu-toggle:hover,
.hfe-flyout-wrapper .hfe-menu-toggle:hover {
    border:1px dotted;
}

.hfe-nav-menu__layout-vertical .hfe-menu-toggle,
.hfe-nav-menu__layout-expandible .hfe-menu-toggle,
.hfe-flyout-wrapper .hfe-menu-toggle {
    border:1px dotted transparent;
}

/* Common Animation CSS */

.hfe-nav-menu .menu-item a:before,
.hfe-nav-menu .menu-item a:after {
  display: block;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.58, 0.3, 0.005, 1);
          transition-timing-function: cubic-bezier(0.58, 0.3, 0.005, 1); }

.hfe-nav-menu .menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-nav-menu .menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after {
  opacity: 0; }

.hfe-nav-menu .menu-item a.hfe-menu-item:hover:before,
.hfe-nav-menu .menu-item a.hfe-menu-item:hover:after,
.hfe-nav-menu .menu-item a.hfe-menu-item:focus:before,
.hfe-nav-menu .menu-item a.hfe-menu-item:focus:after,
.hfe-nav-menu .menu-item a.hfe-menu-item.highlighted:before,
.hfe-nav-menu .menu-item a.hfe-menu-item.highlighted:after,
.hfe-nav-menu .current-menu-item:before,
.hfe-nav-menu .current-menu-item:after {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

/* Double Line / Underline / Overline Style */

.hfe-pointer__double-line .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__double-line .menu-item.parent a.hfe-menu-item:after, .hfe-pointer__underline .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__underline .menu-item.parent a.hfe-menu-item:after, .hfe-pointer__overline .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__overline .menu-item.parent a.hfe-menu-item:after {
    height: 3px;
    width: 100%;
    left: 0;
    background-color: #55595c;
    z-index: 2;
}

.hfe-pointer__double-line.hfe-animation__grow .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__double-line.hfe-animation__grow .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__underline.hfe-animation__grow .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__underline.hfe-animation__grow .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__overline.hfe-animation__grow .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__overline.hfe-animation__grow .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after {
    height: 0;
    width: 0;
    left: 50%;
}

.hfe-pointer__double-line.hfe-animation__drop-out .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__underline.hfe-animation__drop-out .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__overline.hfe-animation__drop-out .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    top: 10px;
}

.hfe-pointer__double-line.hfe-animation__drop-out .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__underline.hfe-animation__drop-out .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__overline.hfe-animation__drop-out .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after {
    bottom: 10px;
}

.hfe-pointer__double-line.hfe-animation__drop-in .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__underline.hfe-animation__drop-in .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__overline.hfe-animation__drop-in .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    top: -10px;
}

.hfe-pointer__double-line.hfe-animation__drop-in .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__underline.hfe-animation__drop-in .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__overline.hfe-animation__drop-in .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after {
    bottom: -10px;
}

.hfe-pointer__double-line.hfe-animation__none, .hfe-pointer__double-line.hfe-animation__none .menu-item.parent a.hfe-menu-item, .hfe-pointer__underline.hfe-animation__none, .hfe-pointer__underline.hfe-animation__none .menu-item.parent a.hfe-menu-item, .hfe-pointer__overline.hfe-animation__none, .hfe-pointer__overline.hfe-animation__none .menu-item.parent a.hfe-menu-item {
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
}

.hfe-pointer__double-line.hfe-animation__none:before, .hfe-pointer__double-line.hfe-animation__none:after, .hfe-pointer__double-line.hfe-animation__none:hover, .hfe-pointer__double-line.hfe-animation__none:focus, .hfe-pointer__double-line.hfe-animation__none .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__double-line.hfe-animation__none .menu-item.parent a.hfe-menu-item:after, .hfe-pointer__double-line.hfe-animation__none .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__double-line.hfe-animation__none .menu-item.parent a.hfe-menu-item:focus, .hfe-pointer__underline.hfe-animation__none:before, .hfe-pointer__underline.hfe-animation__none:after, .hfe-pointer__underline.hfe-animation__none:hover, .hfe-pointer__underline.hfe-animation__none:focus, .hfe-pointer__underline.hfe-animation__none .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__underline.hfe-animation__none .menu-item.parent a.hfe-menu-item:after, .hfe-pointer__underline.hfe-animation__none .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__underline.hfe-animation__none .menu-item.parent a.hfe-menu-item:focus, .hfe-pointer__overline.hfe-animation__none:before, .hfe-pointer__overline.hfe-animation__none:after, .hfe-pointer__overline.hfe-animation__none:hover, .hfe-pointer__overline.hfe-animation__none:focus, .hfe-pointer__overline.hfe-animation__none .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__overline.hfe-animation__none .menu-item.parent a.hfe-menu-item:after, .hfe-pointer__overline.hfe-animation__none .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__overline.hfe-animation__none .menu-item.parent a.hfe-menu-item:focus {
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
}

.hfe-pointer__double-line .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__overline .menu-item.parent a.hfe-menu-item:before {
    content: '';
    top: 0;
}

.hfe-pointer__double-line.hfe-animation__slide .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__overline.hfe-animation__slide .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    width: 10px;
    left: -20px;
}

.hfe-pointer__double-line .menu-item.parent a.hfe-menu-item:after, .hfe-pointer__underline .menu-item.parent a.hfe-menu-item:after {
    content: '';
    bottom: 0;
}

.hfe-pointer__double-line.hfe-animation__slide .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__underline.hfe-animation__slide .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after {
    width: 10px;
    left: -webkit-calc( 100% + 20px);
    left: calc( 100% + 20px);
}


/* Framed Style */

.hfe-pointer__framed .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__framed .menu-item.parent a.hfe-menu-item:after {
    background: transparent;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    border: 3px solid #55595c;
}

.hfe-pointer__framed .menu-item.parent a.hfe-menu-item:before {
    content: '';
}

.hfe-pointer__framed.hfe-animation__grow .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
    transform: scale(0.75);
}

.hfe-pointer__framed.hfe-animation__shrink .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    -webkit-transform: scale(1.25);
    -ms-transform: scale(1.25);
    transform: scale(1.25);
}

.hfe-pointer__framed.hfe-animation__grow .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__framed.hfe-animation__shrink .menu-item.parent a.hfe-menu-item:before {
    -webkit-transition: opacity 0.2s, -webkit-transform 0.4s;
    transition: opacity 0.2s, -webkit-transform 0.4s;
    transition: opacity 0.2s, transform 0.4s;
    transition: opacity 0.2s, transform 0.4s, -webkit-transform 0.4s;
}

.hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item:after {
    width: 3px;
    height: 3px;
}

.hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item:before {
    border-width: 0 0 3px 3px;
    -webkit-transition: width 0.1s 0.2s, height 0.1s 0.3s, opacity 0.12s 0.22s;
    transition: width 0.1s 0.2s, height 0.1s 0.3s, opacity 0.12s 0.22s;
}

.hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item:after {
    content: '';
    top: initial;
    bottom: 0;
    left: initial;
    right: 0;
    border-width: 3px 3px 0 0;
    -webkit-transition: width 0.1s, height 0.1s 0.1s, opacity 0.02s 0.18s;
    transition: width 0.1s, height 0.1s 0.1s, opacity 0.02s 0.18s;
}

.hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item:hover:before, .hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item:hover:after, .hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item:focus:before, .hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item:focus:after, .hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item.highlighted:before, .hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item.highlighted:after, .hfe-pointer__framed.hfe-animation__draw .current-menu-item:before, .hfe-pointer__framed.hfe-animation__draw .current-menu-item:after {
    width: 100%;
    height: 100%;
}

.hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item:hover:before, .hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item:focus:before, .hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item.highlighted:before, .hfe-pointer__framed.hfe-animation__draw .current-menu-item:before {
    -webkit-transition: opacity 0.02s, height 0.1s, width 0.1s 0.1s;
    transition: opacity 0.02s, height 0.1s, width 0.1s 0.1s;
}

.hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item:hover:after, .hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item:focus:after, .hfe-pointer__framed.hfe-animation__draw .menu-item.parent a.hfe-menu-item.highlighted:after, .hfe-pointer__framed.hfe-animation__draw .current-menu-item:after {
    -webkit-transition: opacity 0.02s 0.2s, height 0.1s 0.2s, width 0.1s 0.3s;
    transition: opacity 0.02s 0.2s, height 0.1s 0.2s, width 0.1s 0.3s;
}

.hfe-pointer__framed.hfe-animation__corners .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__framed.hfe-animation__corners .menu-item.parent a.hfe-menu-item:after {
    width: 3px;
    height: 3px;
}

.hfe-pointer__framed.hfe-animation__corners .menu-item.parent a.hfe-menu-item:before {
    border-width: 3px 0 0 3px;
}

.hfe-pointer__framed.hfe-animation__corners .menu-item.parent a.hfe-menu-item:after {
    content: '';
    top: initial;
    bottom: 0;
    left: initial;
    right: 0;
    border-width: 0 3px 3px 0;
}

.hfe-pointer__framed.hfe-animation__corners .menu-item.parent a.hfe-menu-item:hover:before, .hfe-pointer__framed.hfe-animation__corners .menu-item.parent a.hfe-menu-item:hover:after, .hfe-pointer__framed.hfe-animation__corners .menu-item.parent a.hfe-menu-item:focus:before, .hfe-pointer__framed.hfe-animation__corners .menu-item.parent a.hfe-menu-item:focus:after, .hfe-pointer__framed.hfe-animation__corners .menu-item.parent a.hfe-menu-item.highlighted:before, .hfe-pointer__framed.hfe-animation__corners .menu-item.parent a.hfe-menu-item.highlighted:after, .hfe-pointer__framed.hfe-animation__corners .current-menu-item:before, .hfe-pointer__framed.hfe-animation__corners .current-menu-item:after {
    width: 100%;
    height: 100%;
    -webkit-transition: opacity 0.002s, width 0.4s, height 0.4s;
    transition: opacity 0.002s, width 0.4s, height 0.4s;
}

.hfe-pointer__framed.hfe-animation__none, .hfe-pointer__framed.hfe-animation__none .menu-item.parent a.hfe-menu-item {
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
}

.hfe-pointer__framed.hfe-animation__none:before, .hfe-pointer__framed.hfe-animation__none:after, .hfe-pointer__framed.hfe-animation__none:hover, .hfe-pointer__framed.hfe-animation__none:focus, .hfe-pointer__framed.hfe-animation__none .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__framed.hfe-animation__none .menu-item.parent a.hfe-menu-item:after, .hfe-pointer__framed.hfe-animation__none .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__framed.hfe-animation__none .menu-item.parent a.hfe-menu-item:focus {
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
}

/* Background Style */

.hfe-pointer__background .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__background .menu-item.parent a.hfe-menu-item:after {
    content: '';
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.hfe-pointer__background .menu-item.parent a.hfe-menu-item:before {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #55595c;
    z-index: -1;
}

.hfe-pointer__background .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__background .menu-item.parent a.hfe-menu-item:focus, .hfe-pointer__background .menu-item.parent a.hfe-menu-item.highlighted, .hfe-pointer__background .current-menu-item {
    color: #fff;
}

.hfe-pointer__background.hfe-animation__grow .menu-item.parent a.hfe-menu-item:before {
    -webkit-transform: scale(0.5);
    -ms-transform: scale(0.5);
    transform: scale(0.5);
}

.hfe-pointer__background.hfe-animation__grow .menu-item.parent a.hfe-menu-item:hover:before, .hfe-pointer__background.hfe-animation__grow .menu-item.parent a.hfe-menu-item:focus:before, .hfe-pointer__background.hfe-animation__grow .menu-item.parent a.hfe-menu-item.highlighted:before, .hfe-pointer__background.hfe-animation__grow .current-menu-item:before {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 1;
}

.hfe-pointer__background.hfe-animation__shrink .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.hfe-pointer__background.hfe-animation__shrink .menu-item.parent a.hfe-menu-item:hover:before, .hfe-pointer__background.hfe-animation__shrink .menu-item.parent a.hfe-menu-item:focus:before, .hfe-pointer__background.hfe-animation__shrink .menu-item.parent a.hfe-menu-item.highlighted:before, .hfe-pointer__background.hfe-animation__shrink .current-menu-item:before {
    -webkit-transition: opacity 0.15s, -webkit-transform 0.4s;
    transition: opacity 0.15s, -webkit-transform 0.4s;
    transition: opacity 0.15s, transform 0.4s;
    transition: opacity 0.15s, transform 0.4s, -webkit-transform 0.4s;
}

.hfe-pointer__background.hfe-animation__sweep-left .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    left: 100%;
}

.hfe-pointer__background.hfe-animation__sweep-right .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    right: 100%;
}

.hfe-pointer__background.hfe-animation__sweep-up .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    top: 100%;
}

.hfe-pointer__background.hfe-animation__sweep-down .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    bottom: 100%;
}

.hfe-pointer__background.hfe-animation__shutter-out-vertical .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    bottom: 50%;
    top: 50%;
}

.hfe-pointer__background.hfe-animation__shutter-out-horizontal .menu-item.parent a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    right: 50%;
    left: 50%;
}

.hfe-pointer__background.hfe-animation__shutter-in-vertical .menu-item.parent a.hfe-menu-item:after, .hfe-pointer__background.hfe-animation__shutter-in-horizontal .menu-item.parent a.hfe-menu-item:after {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #55595c;
    z-index: -1;
}

.hfe-pointer__background.hfe-animation__shutter-in-vertical .menu-item.parent a.hfe-menu-item:before {
    top: 0;
    bottom: 100%;
}

.hfe-pointer__background.hfe-animation__shutter-in-vertical .menu-item.parent a.hfe-menu-item:after {
    top: 100%;
    bottom: 0;
}

.hfe-pointer__background.hfe-animation__shutter-in-vertical .menu-item.parent a.hfe-menu-item:hover:before, .hfe-pointer__background.hfe-animation__shutter-in-vertical .menu-item.parent a.hfe-menu-item:focus:before, .hfe-pointer__background.hfe-animation__shutter-in-vertical .menu-item.parent a.hfe-menu-item.highlighted:before, .hfe-pointer__background.hfe-animation__shutter-in-vertical .current-menu-item:before {
    bottom: 50%;
}

.hfe-pointer__background.hfe-animation__shutter-in-vertical .menu-item.parent a.hfe-menu-item:hover:after, .hfe-pointer__background.hfe-animation__shutter-in-vertical .menu-item.parent a.hfe-menu-item:focus:after, .hfe-pointer__background.hfe-animation__shutter-in-vertical .menu-item.parent a.hfe-menu-item.highlighted:after, .hfe-pointer__background.hfe-animation__shutter-in-vertical .current-menu-item:after {
    top: 50%;
}

.hfe-pointer__background.hfe-animation__shutter-in-horizontal .menu-item.parent a.hfe-menu-item:before {
    right: 0;
    left: 100%;
}

.hfe-pointer__background.hfe-animation__shutter-in-horizontal .menu-item.parent a.hfe-menu-item:after {
    right: 100%;
    left: 0;
}

.hfe-pointer__background.hfe-animation__shutter-in-horizontal .menu-item.parent a.hfe-menu-item:hover:before, .hfe-pointer__background.hfe-animation__shutter-in-horizontal .menu-item.parent a.hfe-menu-item:focus:before, .hfe-pointer__background.hfe-animation__shutter-in-horizontal .menu-item.parent a.hfe-menu-item.highlighted:before, .hfe-pointer__background.hfe-animation__shutter-in-horizontal .current-menu-item:before {
    left: 50%;
}

.hfe-pointer__background.hfe-animation__shutter-in-horizontal .menu-item.parent a.hfe-menu-item:hover:after, .hfe-pointer__background.hfe-animation__shutter-in-horizontal .menu-item.parent a.hfe-menu-item:focus:after, .hfe-pointer__background.hfe-animation__shutter-in-horizontal .menu-item.parent a.hfe-menu-item.highlighted:after, .hfe-pointer__background.hfe-animation__shutter-in-horizontal .current-menu-item:after {
    right: 50%;
}

.hfe-pointer__background.hfe-animation__none, .hfe-pointer__background.hfe-animation__none .menu-item.parent a.hfe-menu-item {
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
}

.hfe-pointer__background.hfe-animation__none:before, .hfe-pointer__background.hfe-animation__none:after, .hfe-pointer__background.hfe-animation__none:hover, .hfe-pointer__background.hfe-animation__none:focus, .hfe-pointer__background.hfe-animation__none .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__background.hfe-animation__none .menu-item.parent a.hfe-menu-item:after, .hfe-pointer__background.hfe-animation__none .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__background.hfe-animation__none .menu-item.parent a.hfe-menu-item:focus {
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
}

/* Text Style */

.hfe-pointer__text.hfe-animation__skew .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__text.hfe-animation__skew .menu-item.parent a.hfe-menu-item:focus {
    -webkit-transform: skew(-8deg);
    -ms-transform: skew(-8deg);
    transform: skew(-8deg);
}

.hfe-pointer__text.hfe-animation__grow .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__text.hfe-animation__grow .menu-item.parent a.hfe-menu-item:focus {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}

.hfe-pointer__text.hfe-animation__shrink .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__text.hfe-animation__shrink .menu-item.parent a.hfe-menu-item:focus {
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8);
}

.hfe-pointer__text.hfe-animation__float .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__text.hfe-animation__float .menu-item.parent a.hfe-menu-item:focus {
    -webkit-transform: translateY(-8px);
    -ms-transform: translateY(-8px);
    transform: translateY(-8px);
}

.hfe-pointer__text.hfe-animation__sink .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__text.hfe-animation__sink .menu-item.parent a.hfe-menu-item:focus {
    -webkit-transform: translateY(8px);
    -ms-transform: translateY(8px);
    transform: translateY(8px);
}

.hfe-pointer__text.hfe-animation__rotate .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__text.hfe-animation__rotate .menu-item.parent a.hfe-menu-item:focus {
    -webkit-transform: rotate(6deg);
    -ms-transform: rotate(6deg);
    transform: rotate(6deg);
}

.hfe-pointer__text.hfe-animation__none, .hfe-pointer__text.hfe-animation__none .menu-item.parent a.hfe-menu-item {
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
}

.hfe-pointer__text.hfe-animation__none:before, .hfe-pointer__text.hfe-animation__none:after, .hfe-pointer__text.hfe-animation__none:hover, .hfe-pointer__text.hfe-animation__none:focus, .hfe-pointer__text.hfe-animation__none .menu-item.parent a.hfe-menu-item:before, .hfe-pointer__text.hfe-animation__none .menu-item.parent a.hfe-menu-item:after, .hfe-pointer__text.hfe-animation__none .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__text.hfe-animation__none .menu-item.parent a.hfe-menu-item:focus {
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
}

.hfe-flyout-overlay {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999998;
    background: rgba(0,0,0,.6);
    cursor: pointer;
    -webkit-backface-visibility: hidden;
}

/* No link hover effect to last menu item */

.hfe-pointer__underline .menu-item.parent a.hfe-menu-item.elementor-button:after,
.hfe-pointer__overline .menu-item.parent a.hfe-menu-item.elementor-button:before,
.hfe-pointer__double-line .menu-item.parent a.hfe-menu-item.elementor-button:after,
.hfe-pointer__double-line .menu-item.parent a.hfe-menu-item.elementor-button:before {
    height: 0px;
}

.hfe-pointer__framed .menu-item.parent a.hfe-menu-item.elementor-button:before,
.hfe-pointer__framed .menu-item.parent a.hfe-menu-item.elementor-button:after{
    border-width: 0px;
}

.hfe-pointer__text.hfe-animation__grow .menu-item.parent a.hfe-menu-item.elementor-button:hover,
.hfe-pointer__text.hfe-animation__grow .menu-item.parent a.hfe-menu-item.elementor-button:focus
{
    -webkit-transform: none;
    transform: none;
}

.hfe-flyout-close,
.hfe-flyout-close svg {
    position: absolute;
    top: 0;
    right: 0;
    margin: 5px;
    width: 23px;
    height: 23px;
    line-height: 23px;
    font-size: 23px;
    display: block;
    cursor: pointer;
}

.hfe-flyout-wrapper .hfe-side.hfe-flyout-left {
    top: 0;
    bottom: 0;
    left: -100%;
    right: auto;
    height: 100%;
    /*height: 100vh;*/
    width: 300px;
    max-width: 100%;
    max-width: 100vw;
}

.hfe-flyout-wrapper .hfe-side {
    display: none;
    position: fixed;
    z-index: 999999;
    padding: 0;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -webkit-backface-visibility: hidden;
}

.hfe-flyout-wrapper .hfe-side.hfe-flyout-show {
    display: block;
}

.hfe-flyout-content.push {
    color: #ffffff;
}

.hfe-flyout-content ul li {
    color: #ffffff;
}

/* ===========================================================
 *  Flyout Location
 * ======================================================== */

.hfe-flyout-wrapper .hfe-side.hfe-flyout-right {
    top: 0;
    bottom: 0;
    left: auto;
    right: -100%; /* default */
    height: 100%;
    /*height: 100vh;*/
    width: 300px; /* default */
    max-width: 100%;
}

.hfe-flyout-wrapper .hfe-side.hfe-flyout-left {
    top: 0;
    bottom: 0;
    left: -100%; /* default */
    right: auto;
    height: 100%;
    /*height: 100vh;*/
    width: 300px; /* default */
    max-width: 100%;
    max-width: 100vw;
}

.hfe-flyout-wrapper .hfe-side.top {
    top: -100%; /* default */
    bottom: auto;
    left: 0;
    right: 0;
    width: 100%;
    width: 100vw;
    height: 300px; /* default */
    max-height: 100%;
}

.hfe-flyout-wrapper .hfe-side.bottom {
    top: auto;
    bottom: -100%; /* default */
    left: 0;
    right: 0;
    width: 100%;
    width: 100vw;
    height: 300px; /* default */
    max-height: 100%;
}

/* ===========================================================
 *  Flyout Container
 * ======================================================== */

.hfe-flyout-content {
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    line-height: 1.4em;
    color: #fff;
}
/* iOS fix */
@media (max-width:1024px) {
    .hfe-flyout-content {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

.hfe-flyout-content::-webkit-scrollbar {
    display: none;
}

.admin-bar .hfe-side {
    margin-top: 32px;
}

/* Dropdown animation CSS */

.hfe-submenu-animation-slide_up .hfe-layout-horizontal .menu-item-has-children > ul.sub-menu {
    -webkit-transform: translateY(20%);
    -ms-transform: translateY(20%);
    transform: translateY(20%);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transition: all 0.1s;
    transition: all 0.1s;
}

.hfe-submenu-animation-slide_up .hfe-layout-horizontal .menu-item-has-children:hover > ul.sub-menu {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.hfe-submenu-animation-slide_down .hfe-layout-horizontal .menu-item-has-children > ul.sub-menu {  
    -webkit-transform: translateY(-20%);
    -ms-transform: translateY(-20%);
    transform: translateY(-20%);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transition: all 0.1s;
    transition: all 0.1s;
}

.hfe-submenu-animation-slide_down .hfe-layout-horizontal .menu-item-has-children:hover > ul.sub-menu {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.elementor-widget-navigation-menu:not(.hfe-nav-menu__align-justify):not(.hfe-menu-item-space-between) a.hfe-menu-item.elementor-button {
    display: inline-flex;
} 

.hfe-nav-menu li.elementor-button-wrapper {
    align-self: center;
}

/* Tablet */
@media only screen and ( max-width: 1024px ) {

    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-horizontal li,
    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu{
        width: 100%;
        margin-right:0px;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-layout-horizontal .hfe-nav-menu__toggle,
    .hfe-nav-menu__breakpoint-tablet .hfe-layout-vertical .hfe-nav-menu__toggle {
        display: block;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
        visibility: hidden;
        opacity: 0;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-active-menu + .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
        visibility: visible;
        opacity: 1;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-horizontal,
    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-vertical {
        visibility: hidden;
        opacity: 0;
        height: 0;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-active-menu + .hfe-nav-menu__layout-horizontal,
    .hfe-nav-menu__breakpoint-tablet .hfe-active-menu + .hfe-nav-menu__layout-vertical {
        visibility: visible;
        opacity: 1;
        height: auto;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-active-menu.hfe-active-menu-full-width + .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
        position: relative;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-active-menu.hfe-active-menu-full-width + .hfe-nav-menu__layout-horizontal,
    .hfe-nav-menu__breakpoint-tablet .hfe-active-menu.hfe-active-menu-full-width + .hfe-nav-menu__layout-vertical {
        position: absolute;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-horizontal .sub-menu {
        visibility: hidden;
        opacity: 0;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-horizontal .menu-item-has-children .menu-item-has-children .sub-menu {
        top: 0;
        left: 0;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-layout-horizontal .hfe-nav-menu__toggle,
    .hfe-nav-menu__breakpoint-tablet .hfe-layout-vertical .hfe-nav-menu__toggle
    {
        visibility: visible;
        opacity: 1;
        display: block;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-vertical {
        float: none;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-horizontal .hfe-nav-menu .menu-item-has-children:hover > .sub-menu,
    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-horizontal .hfe-nav-menu .menu-item-has-children:hover > .sub-menu,
    .hfe-nav-menu__breakpoint-none .hfe-nav-menu__layout-horizontal .hfe-nav-menu .menu-item-has-children:hover > .sub-menu {
        visibility: hidden;
        opacity: 0;
        -webkit-transition: none;
        transition: none;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-menu-toggle:hover {
        border:1px dotted;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-menu-toggle {
        border:1px dotted transparent;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-horizontal .sub-menu {
        position: relative;
        height: 0;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-horizontal .sub-menu {
        position: relative;
        height: 0;
        top: 0;
    }

    .hfe-nav-menu__breakpoint-tablet .saved-content,
    .hfe-nav-menu__breakpoint-tablet .sub-menu,
    .hfe-nav-menu__breakpoint-tablet .child {
        left: 0 !important;
        width:auto !important;  
    }

    .hfe-nav-menu .sub-menu {
        min-width: auto;
        margin: 0;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-horizontal .hfe-nav-menu .sub-arrow {
        padding: 10px;
    }

    .hfe-nav-menu__breakpoint-tablet.hfe-submenu-icon-arrow .hfe-nav-menu__layout-horizontal .menu-item-has-children ul a .sub-arrow i:before{
        content: ''; 
    }

    .hfe-nav-menu__breakpoint-tablet.hfe-submenu-icon-classic .hfe-nav-menu__layout-horizontal .menu-item-has-children ul a .sub-arrow i:before{
        content: ''; 
    }

    .hfe-nav-menu__breakpoint-tablet.hfe-submenu-icon-arrow .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a .sub-arrow i:before{
        content: ''; 
    }

    .hfe-nav-menu__breakpoint-tablet.hfe-submenu-icon-classic .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a .sub-arrow i:before{
        content: ''; 
    }

    .hfe-nav-menu__breakpoint-tablet.hfe-submenu-icon-plus .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a .sub-arrow i:before{
        content: '-'; 
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu .sub-menu{
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    .hfe-nav-menu__breakpoint-mobile.hfe-submenu-icon-arrow .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a .sub-arrow i:before,
    .hfe-nav-menu__breakpoint-none.hfe-submenu-icon-arrow .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a .sub-arrow i:before{
        content: ''; 
    }

    .hfe-nav-menu__breakpoint-mobile.hfe-submenu-icon-classic .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a .sub-arrow i:before,
    .hfe-nav-menu__breakpoint-none.hfe-submenu-icon-classic .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a .sub-arrow i:before{
        content: ''
    }

    .hfe-nav-menu__breakpoint-mobile.hfe-submenu-icon-arrow .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a.hfe-menu-item .sub-arrow i:before,
    .hfe-nav-menu__breakpoint-none.hfe-submenu-icon-arrow .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a.hfe-menu-item .sub-arrow i:before{
        content: ''; 
    }

    .hfe-nav-menu__breakpoint-mobile.hfe-submenu-icon-classic .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a.hfe-menu-item .sub-arrow i:before,
    .hfe-nav-menu__breakpoint-none.hfe-submenu-icon-classic .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a.hfe-menu-item .sub-arrow i:before{
        content: ''
    }

    /* Effect 1: Fade in and scale up */
    .hfe-submenu-animation-slide_up .hfe-layout-horizontal .menu-item-has-children ul.sub-menu,
    .hfe-submenu-animation-slide_up .hfe-layout-horizontal .menu-item-has-children:hover ul.sub-menu,
    .hfe-submenu-animation-slide_down .hfe-layout-horizontal .menu-item-has-children ul.sub-menu,
    .hfe-submenu-animation-slide_down .hfe-layout-horizontal .menu-item-has-children:hover ul.sub-menu {
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
    }
    
    /*.hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-horizontal .hfe-nav-menu ul.sub-menu ul.sub-menu li a{
        border-left: 16px solid transparent;
    }*/

    .elementor-widget-hfe-nav-menu.hfe-nav-menu__breakpoint-tablet .hfe-nav-menu-layout:not(.hfe-pointer__framed) .menu-item.parent a.hfe-menu-item:after,
    .elementor-widget-hfe-nav-menu.hfe-nav-menu__breakpoint-tablet .hfe-nav-menu-layout:not(.hfe-pointer__framed) .menu-item.parent a.hfe-menu-item:before {
         background-color: unset!important; 
    }

    .elementor-widget-hfe-nav-menu.hfe-nav-menu__breakpoint-tablet .hfe-pointer__framed .menu-item.parent a.hfe-menu-item:before{
        border: 0px!important;
    }

    .elementor-widget-hfe-nav-menu.hfe-nav-menu__breakpoint-tablet .hfe-pointer__text .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__text  .menu-item.parent a.hfe-menu-item:focus{
        -webkit-transform: none!important;
        -ms-transform: none!important;
        transform: none!important;
    }

    .hfe-nav-menu__breakpoint-tablet.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li a.hfe-menu-item,
    .hfe-nav-menu__breakpoint-tablet.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li a.hfe-sub-menu-item,
    .hfe-nav-menu__breakpoint-tablet.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li.elementor-button-wrapper {
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -moz-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; 
    }
}

/* Mobile */
@media only screen and ( max-width: 767px ) {

    .hfe-nav-menu__breakpoint-mobile.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li a.hfe-menu-item,
    .hfe-nav-menu__breakpoint-mobile.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li a.hfe-sub-menu-item 
    .hfe-nav-menu__breakpoint-tablet.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li.elementor-button-wrapper { 
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -moz-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; 
    }

    .hfe-nav-menu__breakpoint-mobile.hfe-nav-toggle-yes .hfe-layout-horizontal .hfe-nav-menu__toggle,
    .hfe-nav-menu__breakpoint-mobile.hfe-nav-toggle-yes .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
        visibility: visible;
        opacity: 1;
        display: block;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-horizontal li.menu-item,
    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu {
        width: 100%
    }

    .hfe-nav-menu__breakpoint-mobile.hfe-nav-toggle-yes .hfe-layout-vertical .hfe-nav-menu__toggle {
        display: inline-block;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-horizontal .sub-menu {
        position: relative;
        height: 0;
        top: 0;
    }

    .hfe-nav-menu .sub-menu {
        min-width: auto;
        margin: 0;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-horizontal .hfe-nav-menu .menu-item-has-children:hover > .sub-menu,
    .hfe-nav-menu__breakpoint-none .hfe-nav-menu__layout-horizontal .hfe-nav-menu .menu-item-has-children:hover > .sub-menu {
        visibility: hidden;
        opacity: 0;
        -webkit-transition: none;
        transition: none;
    }

    .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-vertical {
        float: none;
    }

    .hfe-nav-menu__breakpoint-mobile.hfe-nav-toggle-yes .hfe-layout-vertical .hfe-nav-menu__toggle.hfe-active-menu {
        display: block;
    }

    .hfe-nav-menu__breakpoint-mobile.hfe-nav-toggle-yes .hfe-nav-menu__layout-horizontal,
    .hfe-nav-menu__breakpoint-mobile.hfe-nav-toggle-yes .hfe-nav-menu__layout-vertical {
        visibility: hidden;
        opacity: 0;
        height: 0;  
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-layout-horizontal .hfe-nav-menu__toggle,
    .hfe-nav-menu__breakpoint-mobile .hfe-layout-vertical .hfe-nav-menu__toggle
    {
        visibility: visible;
        opacity: 1;
        display: block;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-horizontal {
        visibility: hidden;
        opacity: 0;
        height: 0;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-vertical {
        float: none;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-horizontal .sub-menu {
        visibility: hidden;
        opacity: 0;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
        visibility: hidden;
        opacity: 0;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-active-menu + .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
        visibility: visible;
        opacity: 1;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-horizontal,
    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-vertical {
        visibility: hidden;
        opacity: 0;
        height: 0;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-active-menu + .hfe-nav-menu__layout-horizontal,
    .hfe-nav-menu__breakpoint-mobile .hfe-active-menu + .hfe-nav-menu__layout-vertical {
        visibility: visible;
        opacity: 1;
        height: auto;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-active-menu.hfe-active-menu-full-width + .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
        position: relative;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-active-menu.hfe-active-menu-full-width + .hfe-nav-menu__layout-horizontal,
    .hfe-nav-menu__breakpoint-mobile .hfe-active-menu.hfe-active-menu-full-width + .hfe-nav-menu__layout-vertical {
        position: absolute;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-horizontal .menu-item-has-children .menu-item-has-children .sub-menu {
        top: 0;
        left: 0;
    }

    .hfe-nav-menu__breakpoint-mobile.hfe-submenu-icon-arrow .hfe-nav-menu__layout-horizontal .menu-item-has-children ul a .sub-arrow i:before{
        content: ''; 
    }

    .hfe-nav-menu__breakpoint-mobile.hfe-submenu-icon-classic .hfe-nav-menu__layout-horizontal .menu-item-has-children ul a .sub-arrow i:before{
        content: ''; 
    }

    .hfe-nav-menu__breakpoint-mobile.hfe-submenu-icon-arrow .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a .sub-arrow i:before{
        content: ''; 
    }

    .hfe-nav-menu__breakpoint-mobile.hfe-submenu-icon-classic .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a .sub-arrow i:before{
        content: ''; 
    }

    .hfe-nav-menu__breakpoint-mobile.hfe-submenu-icon-plus .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a .sub-arrow i:before{
        content: '-'; 
    }

    .hfe-nav-menu__breakpoint-none.hfe-submenu-icon-arrow .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a .sub-arrow i:before{
        content: ''; 
    }

    .hfe-nav-menu__breakpoint-none.hfe-submenu-icon-classic .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a .sub-arrow i:before{
        content: ''
    }

    .hfe-nav-menu__breakpoint-none.hfe-submenu-icon-arrow .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a.hfe-menu-item .sub-arrow i:before{
        content: ''; 
    }

    .hfe-nav-menu__breakpoint-none.hfe-submenu-icon-classic .hfe-nav-menu__layout-horizontal .menu-item-has-children .sub-menu-active a.hfe-menu-item .sub-arrow i:before{
        content: ''
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-menu-toggle:hover{
        border:1px dotted;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-menu-toggle{
        border:1px dotted transparent;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu .sub-menu{
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    /* Effect 1: Fade in and scale up */
    .hfe-nav-menu__breakpoint-mobile.hfe-nav-toggle-yes .hfe-effect-1 .hfe-nav-menu {
        -webkit-transform: scale(0.7);
        -ms-transform: scale(0.7);
        transform: scale(0.7);
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
    }

    .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-horizontal .hfe-nav-menu .sub-arrow {
        padding: 10px;
    }

    .hfe-nav-menu__breakpoint-mobile .menu-is-active.hfe-effect-1 .hfe-nav-menu {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    }

    /* Effect 2: Slide from the right */
    .hfe-nav-menu__breakpoint-mobile.hfe-nav-toggle-yes .hfe-effect-2 .hfe-nav-menu {
        -webkit-transform: translateX(20%);
        -ms-transform: translateX(20%);
        transform: translateX(20%);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
        transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
    }

    .hfe-nav-menu__breakpoint-mobile .menu-is-active.hfe-effect-2 .hfe-nav-menu {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    }

    /* Effect 3: Slide from the bottom */
    .hfe-nav-menu__breakpoint-mobile.hfe-nav-toggle-yes .hfe-effect-3 .hfe-nav-menu {
        -webkit-transform: translateY(20%);
        -ms-transform: translateY(20%);
        transform: translateY(20%);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
    }

    .hfe-nav-menu__breakpoint-mobile .menu-is-active.hfe-effect-3 .hfe-nav-menu {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    }

    .hfe-nav-menu__breakpoint-mobile .saved-content,
    .hfe-nav-menu__breakpoint-mobile .sub-menu,
    .hfe-nav-menu__breakpoint-mobile .child,
    .hfe-nav-menu__breakpoint-tablet .saved-content,
    .hfe-nav-menu__breakpoint-tablet .sub-menu,
    .hfe-nav-menu__breakpoint-tablet .child{
        left: 0 !important;
        width: auto !important; 
    }

    .hfe-submenu-animation-slide_up .hfe-layout-horizontal .menu-item-has-children ul.sub-menu,
    .hfe-submenu-animation-slide_up .hfe-layout-horizontal .menu-item-has-children:hover ul.sub-menu,
    .hfe-submenu-animation-slide_down .hfe-layout-horizontal .menu-item-has-children ul.sub-menu,
    .hfe-submenu-animation-slide_down .hfe-layout-horizontal .menu-item-has-children:hover ul.sub-menu {
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
    }   

    .elementor-widget-hfe-nav-menu.hfe-nav-menu__breakpoint-tablet .hfe-nav-menu-layout:not(.hfe-pointer__framed) .menu-item.parent a.hfe-menu-item:after,
    .elementor-widget-hfe-nav-menu.hfe-nav-menu__breakpoint-mobile .hfe-nav-menu-layout:not(.hfe-pointer__framed) .menu-item.parent a.hfe-menu-item:after,
    .elementor-widget-hfe-nav-menu.hfe-nav-menu__breakpoint-tablet .hfe-nav-menu-layout:not(.hfe-pointer__framed) .menu-item.parent a.hfe-menu-item:before,
    .elementor-widget-hfe-nav-menu.hfe-nav-menu__breakpoint-mobile .hfe-nav-menu-layout:not(.hfe-pointer__framed) .menu-item.parent a.hfe-menu-item:before {
        background-color: unset!important; 
    }

    .elementor-widget-hfe-nav-menu.hfe-nav-menu__breakpoint-tablet .hfe-pointer__framed .menu-item.parent a.hfe-menu-item:before,
    .elementor-widget-hfe-nav-menu.hfe-nav-menu__breakpoint-mobile .hfe-pointer__framed .menu-item.parent a.hfe-menu-item:before{
        border: 0px!important;
    }

    .elementor-widget-hfe-nav-menu.hfe-nav-menu__breakpoint-tablet .hfe-pointer__text .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__text  .menu-item.parent a.hfe-menu-item:focus,
    .elementor-widget-hfe-nav-menu.hfe-nav-menu__breakpoint-mobile .hfe-pointer__text  .menu-item.parent a.hfe-menu-item:hover, .hfe-pointer__text .menu-item.parent a.hfe-menu-item:focus {
        -webkit-transform: none!important;
        -ms-transform: none!important;
        transform: none!important;
    }
}

.hfe-toggle-no .hfe-layout-expandible .hfe-nav-menu__toggle {
    display: none;
}

/* Icon common CSS */

.hfe-icon {
    display: inline-block;
}

/* Menu Cart CSS */

.hfe-cart-menu-wrap-custom {
    display: inline-block;
    line-height: 1;
}

.hfe-cart-menu-wrap-custom .hfe-cart-count, 
.hfe-cart-menu-wrap-custom .hfe-cart-count:after {
    border-color: #75c32c;
    color: #75c32c;
}

.hfe-cart-menu-wrap-custom .hfe-cart-count {
    font-weight: bold;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    min-width: 2.1em;
    min-height: 2.1em;
    font-size: 0.860em;
    line-height: 1.8;
    border-radius: 0.3em 0.3em 0.3em 0.3em;
    border-width: 2px;
    border-style: solid;
    padding: 12px 24px;
}

/* Default skin for cart*/
.hfe-cart-menu-wrap-default {
    display: inline-block;
    line-height: 1;
}

.hfe-cart-menu-wrap-default .hfe-cart-count, 
.hfe-cart-menu-wrap-default .hfe-cart-count:after {
    border-color: #75c32c;
    color: #75c32c;
}

.hfe-cart-menu-wrap-default .hfe-cart-count {
    font-weight: bold;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    min-width: 2.1em;
    min-height: 2.1em;
    font-size: 0.860em;
    line-height: 1.8;
    border-radius: 0em 0em 0.3em 0.3em;
    border-width: 2px;
    border-style: solid;
    padding: 0 .4em;
}

.hfe-cart-menu-wrap-default .hfe-cart-count:after {
    bottom: 100%;
    margin-bottom: 0;
    height: .8em;
    width: .8em;
    left: 50%;
    transform: translateX(-50%);
    top: -.6em;
    content: ' ';
    position: absolute;
    pointer-events: none;
    border-width: 2px;
    border-style: solid;
    border-top-left-radius: 10em;
    border-top-right-radius: 10em;
    border-bottom: 0;
}

.elementor-widget-hfe-cart:not(.hfe-menu-cart--show-subtotal-yes) .hfe-menu-cart__toggle .elementor-button-text {
    display: none; 
}

.elementor-widget-hfe-cart.toggle-icon--bag-light .hfe-menu-cart__toggle .elementor-button-icon i:before {
    content: '\e8e3'; 
}

.elementor-widget-hfe-cart.toggle-icon--bag-medium .hfe-menu-cart__toggle .elementor-button-icon i:before {
    content: '\e8e4'; 
}

.elementor-widget-hfe-cart.toggle-icon--bag-solid .hfe-menu-cart__toggle .elementor-button-icon i:before {
    content: '\e8e5'; 
}

.hfe-menu-cart__toggle .elementor-button {
    background: transparent;
    border-radius: 0;
    color: #818a91;
    border: 1px solid;
    border-color: inherit;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; 
}

.hfe-menu-cart__toggle .elementor-button-text {
    margin-right: 0.3em; 
}

.hfe-menu-cart__toggle .elementor-button-icon {
    position: relative;
    -webkit-transition: color 0.1s;
    -o-transition: color 0.1s;
    transition: color 0.1s; 
}

.hfe-menu-cart--items-indicator-bubble .hfe-menu-cart__toggle .elementor-button-icon[data-counter]:before {
    content: attr(data-counter);
    display: block;
    position: absolute;
    min-width: 1.6em;
    height: 1.6em;
    line-height: 1.5em;
    top: -0.7em;
    right: -0.7em;
    border-radius: 100%;
    color: #fff;
    background-color: #d9534f;
    text-align: center;
    font-size: 10px; 
}

.hfe-menu-cart--items-indicator-plain .hfe-menu-cart__toggle .elementor-button-icon[data-counter]:before {
    content: attr(data-counter);
    display: inline-block;
    font-weight: normal; 
}

.hfe-menu-cart--empty-indicator-hide .hfe-menu-cart__toggle .elementor-button .elementor-button-icon[data-counter="0"]:before {
    content: none;
    display: none; 
}

.hfe-menu-cart__toggle .elementor-button-icon {
    -webkit-box-ordinal-group: 16;
    -webkit-order: 15;
    -ms-flex-order: 15;
    order: 15;
}

.hfe-menu-cart__toggle.elementor-button-wrapper .elementor-button {
    color:#4d4848;
}

/*Search Box CSS*/

.hfe-search-button-wrapper {
    display: block;
    cursor: pointer;
    vertical-align: middle;
    text-align: right;
}

.hfe-search-form__container {
    display: flex;
    overflow: hidden;
}

.hfe-search-form__input {
    flex-basis: 100%;
}

.hfe-search-icon-toggle i.fa-search {
    display: inline-block;
    position: absolute;
    width: 20px;
    box-sizing: content-box;
    padding: 10px;
}

.hfe-search-icon-toggle i:before {
    vertical-align: middle;
}
/*search icon toggle css*/

.hfe-search-button-wrapper input[type=search] {
    border: 0;
    padding: 10px;
    cursor: pointer;
    border-radius: 0;
    transition: all .5s;
    box-sizing: border-box;
    outline: none;
}

.hfe-search-button-wrapper button {
    border: none;
    border-radius: 0;
    padding: 0;
}

.hfe-search-button-wrapper input[type=search]:focus {
    cursor: auto;
    border: none;
    box-shadow: none;
}

.hfe-search-icon-toggle input:-moz-placeholder,
.hfe-search-icon-toggle input::-webkit-input-placeholder {
    color: transparent;
}

.hfe-search-layout-icon .hfe-search-icon-toggle .hfe-search-form__input {
    background-color: unset;
    height: 100%;
}

.hfe-search-button-wrapper.hfe-input-focus {
    display: flex;
}

.hfe-search-form__container .hfe-search-submit {
    min-width: 3%;
    position:relative;
}

.hfe-search-form__container button#clear,
.hfe-search-icon-toggle button#clear {
    visibility: hidden;
    position: absolute;
    right:0; 
    top:0;
    padding: 0 8px;
    font-style: normal;
    user-select: none;
    cursor: pointer;
    bottom:0;
    margin-right:10px;
    background-color: transparent;
}

.hfe-search-button-wrapper input[type="search"]::-webkit-search-decoration,
.hfe-search-button-wrapper input[type="search"]::-webkit-search-cancel-button,
.hfe-search-button-wrapper input[type="search"]::-webkit-search-results-button,
.hfe-search-button-wrapper input[type="search"]::-webkit-search-results-decoration { 
    display: none; 
}

.hfe-search-form__container button#clear-with-button{
    visibility: hidden;
    position: absolute;
    top: 0;
    padding: 0 8px;
    font-style: normal;
    font-size: 1.2em;
    user-select: none;
    cursor: pointer;
    bottom:0;
    background-color: transparent;
}

.hfe-search-button-wrapper, 
.hfe-search-form__container,
.hfe-search-icon-toggle,
.hfe-search-button-wrapper .hfe-search-icon-toggle i,
.hfe-search-button-wrapper .hfe-search-icon-toggle i:before {
    position: relative;
}

.hfe-search-button-wrapper .hfe-search-icon-toggle .hfe-search-form__input {
    position: absolute;
    width: 0;
    right: 0;
    background-color: transparent;
}

.hfe-search-icon-toggle {
    width: 100%!important;
}

.hfe-search-button-wrapper.hfe-input-focus .hfe-search-icon-toggle .hfe-search-form__input{
    position: absolute;
    width: 250px;
    right: 0;
}

.hfe-search-layout-text .hfe-search-form__container,
.hfe-search-layout-icon_text .hfe-search-form__container,
.hfe-search-layout-text .hfe-search-form__container .hfe-search-form__input,
.hfe-search-layout-icon_text .hfe-search-form__container .hfe-search-form__input {
    width: 100%;
}

.hfe-search-icon-toggle {
    line-height: 1.5;
}

/*-------Navigation menu active parent---------*/
.hfe-pointer__double-line.hfe-animation__slide .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after,.hfe-pointer__double-line.hfe-animation__slide .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__underline.hfe-animation__slide .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after,
 .hfe-pointer__overline.hfe-animation__slide .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__overline.hfe-animation__fade .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before  {
    width: 100%;
    left: 0;
    opacity:1;
}

.hfe-pointer__double-line.hfe-animation__drop-out .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__underline.hfe-animation__drop-out .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__overline.hfe-animation__drop-out .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after,.hfe-pointer__double-line.hfe-animation__drop-in .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__underline.hfe-animation__drop-in .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__overline.hfe-animation__drop-in .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after {
    bottom: 0px;
    opacity:1;
}
.hfe-pointer__double-line.hfe-animation__drop-out .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__underline.hfe-animation__drop-out .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__overline.hfe-animation__drop-out .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__double-line.hfe-animation__drop-in .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__underline.hfe-animation__drop-in .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__overline.hfe-animation__drop-in .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    top: 0px;
    opacity: 1;
}

.hfe-pointer__double-line.hfe-animation__grow .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__double-line.hfe-animation__grow .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__underline.hfe-animation__grow .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__underline.hfe-animation__grow .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__overline.hfe-animation__grow .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__overline.hfe-animation__grow .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after {
    height: 3px;
    width: 100%;
    left: 0;
    opacity: 1;
}

.hfe-pointer__framed.hfe-animation__grow .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__framed.hfe-animation__shrink .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

.hfe-pointer__framed.hfe-animation__fade .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__framed.hfe-animation__draw .menu-item.parent.current-menu-item a.hfe-menu-item:before, .hfe-pointer__underline.hfe-animation__fade .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after, .hfe-pointer__double-line.hfe-animation__fade .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, .hfe-pointer__double-line.hfe-animation__fade .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after {
    opacity:1;
}

.hfe-pointer__framed.hfe-animation__corners .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, 
.hfe-pointer__framed.hfe-animation__corners .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after,
.hfe-pointer__framed.hfe-animation__draw .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):before, 
.hfe-pointer__framed.hfe-animation__draw .menu-item.parent.current-menu-item a.hfe-menu-item:not(:hover):not(:focus):not(.current-menu-item):not(.highlighted):after {
    border-width:3px;
    width:100%;
    opacity:1;
    height:100%;
}
/**
Theme Name: Astra
Theme URI: https://wpastra.com/
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: Astra is fast, fully customizable & beautiful WordPress theme suitable for blog, personal portfolio, business website and WooCommerce storefront. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with Schema.org code integrated and is Native AMP ready so search engines will love your site. It offers special features and templates so it works perfectly with all page builders like Elementor, Beaver Builder, Visual Composer, SiteOrigin, Divi, etc. Some of the other features: # WooCommerce Ready # Responsive # RTL & Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and WooCommerce ready theme that you can use for building any kind of website!
Version: 3.9.1
Requires at least: 5.3
Tested up to: 6.0.1
Requires PHP: 5.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra
Domain Path: /languages
Tags: custom-menu, custom-logo, entertainment, one-column, two-columns, left-sidebar, e-commerce, right-sidebar, custom-colors, editor-style, featured-images, full-width-template, microformats, post-formats, rtl-language-support, theme-options, threaded-comments, translation-ready, blog
AMP: true

Astra WordPress Theme, Copyright 2020 WPAstra.
Astra is distributed under the terms of the GNU GPL.

Astra is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of.
Nicolas Gallagher and Jonathan Neal https://necolas.github.com/normalize.css/

Astra icon font is based on IcoMoon-Free vector icon by Keyamoon.
IcoMoon-Free vector icon distributed under terms of CC BY 4.0 or GPL. (https://creativecommons.org/licenses/by/4.0/ or https://www.gnu.org/licenses/gpl.html)
Source: http://keyamoon.com/

Flexibility is a JavaScript polyfill for Flexbox By Jonathan Neal, 10up. (https://github.com/jonathantneal/flexibility)
Licensed under MIT ( https://github.com/jonathantneal/flexibility/blob/master/LICENSE.md )

Screenshot image is a collage of actual sites created using the Astra WordPress Theme.

Icons used in the Screenshot image are all licensed under Creative Commons ( CC BY 4.0 ) License ( https://fontawesome.com/license/free )
https://fontawesome.com/v5.15/icons/store?style=solid
https://fontawesome.com/v5.15/icons/shopping-cart?style=solid
https://fontawesome.com/v5.15/icons/pen-square?style=solid
https://fontawesome.com/v5.15/icons/user-tie?style=solid
https://fontawesome.com/v5.15/icons/user-tie?style=solid

Illustrations used in the Screenshot images are all licensed under Creative Commons ( CC0 ) License ( https://gumroad.com/l/humaaans )
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/standing-24.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/sitting-2.png

Hand-drawn illustrations used are created by Brainstorm Force and released under Creative Commons ( CC0 ) License.
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/girl-with-image-container.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/boy-with-code-container.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/web-browser.png

The same site as screenshot can be imported from here https://websitedemos.net/web-design-agency-08/.

For more information, refer to this document on how to create a page like in the screenshot - https://wpastra.com/docs/replicating-the-screenshot/.

Astra default breadcrumb is based on Breadcrumb Trail by Justin Tadlock. (https://github.com/justintadlock/breadcrumb-trail)
Breadcrumb Trail is distributed under the terms of the GNU GPL v2 or later.

Astra local fonts feature is based on Webfonts Loader by WordPress Themes Team (WPTT). (https://github.com/WPTT/webfont-loader)
Licensed under MIT ( https://github.com/WPTT/webfont-loader/blob/master/LICENSE )

/* Note: The CSS files are loaded from assets/css/ folder. */
/*
 Theme Name:   Astra Child
 Theme URI:    https://jvecameroun.org/
 Description:  Thème enfant d'Astra pour jvecameroun.org - protège les personnalisations lors des mises à jour du thème parent.
 Author:       JVE Cameroun
 Template:     astra
 Version:      3.2.0
 Text Domain:  astra-child
*/

/*
 Ce fichier ne contient volontairement QUE l'en-tête ci-dessus (requis par
 WordPress pour identifier le thème). Le CSS réel vit dans
 assets/css/custom-{version}.css, chargé par functions.php.

 Pourquoi : l'hébergeur met en cache les fichiers statiques (CSS/JS/images)
 par CHEMIN, en ignorant totalement les paramètres ?ver= (confirmé le
 2026-07-16 — X-Cache-Status: HIT même avec un paramètre aléatoire jamais
 vu). Le seul moyen fiable de forcer une actualisation est de changer le
 NOM DE FICHIER à chaque déploiement.
*/
/* =========================================================
   Polices auto-hébergées — Sora (titres) + Inter (corps)
   ========================================================= */
@font-face {
  font-family: 'Sora';
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url(//jvecameroun.org/wp-content/themes/astra-child/assets/fonts/sora.woff2) format('woff2');
}
@font-face {
  font-family: 'Sora';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url(//jvecameroun.org/wp-content/themes/astra-child/assets/fonts/sora.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-weight: 400 500;
  font-style: normal;
  font-display: swap;
  src: url(//jvecameroun.org/wp-content/themes/astra-child/assets/fonts/inter.woff2) format('woff2');
}

/* =========================================================
   Système de couleurs — Design System "Terre & Forêt"
   Remplace la palette Astra/Elementor existante (synchronisées :
   --ast-global-color-N et --e-global-color-astglobalcolorN)
   ========================================================= */
:root {
  /* Force le rendu clair : évite que Chrome Android (mode sombre système)
     ne réinterprète automatiquement les couleurs de la page. */
  color-scheme: light;

  /* Palette officielle */
  --color-forest: #1F4B3F;
  --color-forest-dark: #16362D;
  --color-sand: #E8DCC4;
  --color-coral: #E8632C;
  --color-coral-hover: #C74E1D;
  --color-text: #2A2A28;
  --color-bg: #FAFAF7;
  --color-text-on-dark: #FAFAF7;

  --font-heading: 'Sora', 'Segoe UI', sans-serif;
  --font-body: 'Inter', 'Segoe UI', sans-serif;

  /* 0: Primary (boutons/liens/titres) */
  --ast-global-color-0: var(--color-forest);
  --e-global-color-astglobalcolor0: var(--color-forest);
  /* 1: Secondary (hover/contraste) */
  --ast-global-color-1: var(--color-forest-dark);
  --e-global-color-astglobalcolor1: var(--color-forest-dark);
  /* 2: Text */
  --ast-global-color-2: var(--color-text);
  --e-global-color-astglobalcolor2: var(--color-text);
  /* 3: Link */
  --ast-global-color-3: var(--color-forest);
  --e-global-color-astglobalcolor3: var(--color-forest);
  /* 4: Background clair */
  --ast-global-color-4: var(--color-bg);
  --e-global-color-astglobalcolor4: var(--color-bg);
  /* 5: Fond secondaire (contenu article, sidebar, commentaires...).
     Astra core utilise CE slot comme couleur de fond de
     .ast-article-single, des zones de commentaires, du conteneur
     WooCommerce, etc. — jamais comme "accent". Le fixer sur la forêt
     peignait le corps des articles en vert foncé (texte illisible),
     bug découvert sur mobile après publication d'articles avec image
     à la une. Slot non utilisé ailleurs dans ce fichier : sans risque. */
  --ast-global-color-5: var(--color-bg);
  --e-global-color-astglobalcolor5: var(--color-bg);
  /* 6: Fond alterné (sable) */
  --ast-global-color-6: var(--color-sand);
  --e-global-color-astglobalcolor6: var(--color-sand);
  /* 7: Texte foncé secondaire */
  --ast-global-color-7: var(--color-text);
  --e-global-color-astglobalcolor7: var(--color-text);
  /* 8: Survol translucide */
  --ast-global-color-8: rgba(31, 75, 63, 0.12);
  --e-global-color-astglobalcolor8: rgba(31, 75, 63, 0.12);
}

/* =========================================================
   Typographie
   ========================================================= */
body,
button,
input,
select,
textarea,
.ast-button,
.ast-custom-button {
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--color-text);
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title,
.elementor-heading-title {
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--color-forest);
}

h1, .elementor-widget-heading h1.elementor-heading-title {
  font-weight: 700;
  font-size: clamp(30px, 4.5vw, 48px);
  line-height: 1.2;
}
h2, .elementor-widget-heading h2.elementor-heading-title {
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.2;
}
h3, .elementor-widget-heading h3.elementor-heading-title {
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1.2;
}
body, p, .elementor-widget-text-editor {
  font-size: 16px;
  line-height: 1.6;
}
@media (min-width: 768px) {
  body, p, .elementor-widget-text-editor {
    font-size: 17px;
  }
}

/* Titres sur fond forêt (header/footer) */
.site-header, .site-header h1, .site-header h2, .site-header h3,
footer.site-footer, footer.site-footer h1, footer.site-footer h2, footer.site-footer h3, footer.site-footer h4 {
  color: var(--color-text-on-dark);
}

/* =========================================================
   Boutons — 2 styles maximum sur tout le site
   ========================================================= */
.btn-primary,
.ast-header-button-1 .ast-custom-button,
a[href*="don"].ast-button,
a[href*="don"].elementor-button,
.donate-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-coral) !important;
  color: var(--color-text-on-dark) !important;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 16px;
  padding: 14px 28px;
  border-radius: 6px;
  border: none !important;
  transition: background-color 0.2s ease;
}
.btn-primary:hover,
.ast-header-button-1 .ast-custom-button:hover,
a[href*="don"].ast-button:hover,
a[href*="don"].elementor-button:hover,
.donate-button:hover {
  background-color: var(--color-coral-hover) !important;
  color: var(--color-text-on-dark) !important;
}

.btn-secondary,
.elementor-button.elementor-button-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  color: var(--color-forest);
  border: 2px solid var(--color-forest);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 16px;
  padding: 12px 26px;
  border-radius: 6px;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.btn-secondary:hover,
.elementor-button.elementor-button-outline:hover {
  background-color: var(--color-forest);
  color: var(--color-text-on-dark);
}

/* =========================================================
   Écran d'ouverture — badge animé (globe qui tourne) + mot-symbole
   ========================================================= */
#jve-preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-bg);
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
#jve-preloader.jve-preloader-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
#jve-preloader .jve-preloader-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.jve-preloader-badge {
  display: block;
  width: 108px;
  height: 108px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 4px 20px -4px rgba(31, 75, 63, 0.35);
  opacity: 0;
  animation: jve-badge-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.jve-preloader-badge img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 42%;
  animation: jve-badge-spin 2.4s cubic-bezier(0.45, 0, 0.4, 1) 0.1s infinite;
}
@keyframes jve-badge-in {
  to { opacity: 1; }
}
@keyframes jve-badge-spin {
  to { transform: rotate(360deg); }
}
.jve-preloader-word {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.02em;
  display: flex;
  gap: 8px;
  align-items: baseline;
  opacity: 0;
  transform: translateY(6px);
  animation: jve-word-in 0.5s ease 0.5s forwards;
}
.jve-w-j, .jve-w-v, .jve-w-e { color: var(--color-forest); }
.jve-w-cameroun { color: var(--color-text); }
@keyframes jve-word-in {
  to { opacity: 1; transform: translateY(0); }
}
.jve-preloader-bar {
  display: block;
  width: 130px;
  height: 3px;
  background: var(--color-sand);
  border-radius: 2px;
  overflow: hidden;
  opacity: 0;
  animation: jve-word-in 0.4s ease 0.7s forwards;
}
.jve-preloader-bar::after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  background: var(--color-forest);
  transform: translateX(-100%);
  animation: jve-bar-fill 1.3s cubic-bezier(0.65, 0, 0.35, 1) 0.7s forwards;
}
@keyframes jve-bar-fill {
  to { transform: translateX(0); }
}
body.jve-preloading {
  overflow: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .jve-preloader-badge,
  .jve-preloader-badge img,
  .jve-preloader-word,
  .jve-preloader-bar,
  .jve-preloader-bar::after {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* =========================================================
   Responsive — filet de sécurité général
   ========================================================= */
html {
  overflow-x: hidden;
}
img, iframe, video, embed, object {
  max-width: 100% !important;
}
@media (max-width: 767px) {
  .elementor-element-291e329 img,
  .elementor-element-0b05cf3 img {
    width: 100% !important;
    height: auto !important;
  }
}

/* =========================================================
   Accessibilité — indicateur de focus clavier (WCAG 2.4.7)
   ========================================================= */
a:focus-visible,
button:focus-visible,
.ast-button:focus-visible,
.elementor-button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.menu-toggle:focus-visible,
.astra-search-icon:focus-visible,
[tabindex]:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 5px var(--color-forest) !important;
  border-radius: 2px;
}

/* =========================================================
   Domaines d'intervention (accueil) — 5 cartes cliquables
   ========================================================= */
.elementor-element-8j20205 .elementor-column {
  border-radius: 10px;
  padding: 10px 8px 14px;
  transition: background-color 0.25s ease;
}
.elementor-element-8j20205 .elementor-column:hover {
  background-color: var(--color-forest);
}
.elementor-element-8j20205 .elementor-widget-image img {
  box-shadow: 0 1px 3px rgba(42, 42, 40, 0.12);
}
.elementor-element-8j20205 .elementor-heading-title {
  overflow: hidden;
  padding: 0 4px;
}
.elementor-element-8j20205 .elementor-heading-title a {
  display: block;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 14.5px;
  transition: color 0.2s ease;
}
.elementor-element-8j20205 .elementor-column:hover .elementor-heading-title a {
  color: var(--color-text-on-dark);
}
@media (max-width: 767px) {
  .elementor-element-8j20205 .elementor-heading-title a {
    white-space: normal;
    text-overflow: clip;
    font-size: 15px;
  }
}

/* =========================================================
   Chiffres clés (accueil) — bandeau vert forêt englobant le titre
   "JVE Cameroun en chiffres" ET les cartes corail, animation
   d'entrée conservée. Écrase le fond clair réglé dans Elementor
   sur la section englobante (id 6752046).
   ========================================================= */
.elementor-element-6752046 {
  background-color: var(--color-forest) !important;
}
.elementor-element-6752046 .elementor-heading-title,
.elementor-element-6752046 .elementor-heading-title a {
  color: var(--color-text-on-dark) !important;
}
.jve-stats-frame {
  max-width: 1040px;
  margin: 0 auto;
  position: relative;
}
.jve-stat-item {
  position: relative;
  background-color: var(--color-coral) !important;
  border-radius: 10px;
  padding: 20px 16px;
  margin: 8px;
  min-height: 140px;
  opacity: 0;
  transform: translateY(14px);
  box-shadow: 0 10px 24px -6px rgba(0, 0, 0, 0.5);
  transition: opacity 0.6s ease, transform 0.6s ease, box-shadow 0.25s ease;
}
.jve-stat-item.jve-in-view {
  opacity: 1;
  transform: translateY(0);
}
.jve-stat-item:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 18px 36px -8px rgba(0, 0, 0, 0.55);
}
.jve-stat-item .elementor-heading-title,
.jve-stat-item .elementor-heading-title a {
  color: var(--color-text-on-dark) !important;
  text-align: center;
}
.jve-stat-item .elementor-widget-heading:first-of-type .elementor-heading-title {
  font-size: 26px !important;
  position: relative;
  display: inline-block;
}
.jve-stat-item .elementor-widget-heading:first-of-type .elementor-heading-title::after {
  content: "";
  display: block;
  height: 3px;
  width: 36px;
  margin: 8px auto 0;
  background: var(--color-text-on-dark);
  border-radius: 2px;
  opacity: 0.6;
}
.jve-stat-item .elementor-widget-heading:last-of-type .elementor-heading-title {
  font-size: 12.5px !important;
}

/* Cartes à détail dépliable (régions, projets) — accordéon en place
   (remplace l'ancienne infobulle au survol, jamais réellement câblée :
   la classe .jve-stat-tooltip n'était appliquée à aucun élément, ce qui
   laissait le texte de détail toujours visible en flux normal et gonflait
   la hauteur des cartes). Hauteur repliée uniforme sur les 4 cartes via
   min-height ci-dessus ; seule la carte cliquée s'étire à l'ouverture. */
.jve-stats-frame > .elementor-container {
  align-items: flex-start !important;
}
.jve-stat-item--expandable {
  cursor: pointer;
}
.jve-stat-item--expandable .elementor-widget-heading:last-of-type .elementor-heading-title::after {
  content: "Voir plus ▾";
  display: block;
  margin-top: 8px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: underline;
  color: var(--color-text-on-dark);
  opacity: 0.9;
}
.jve-stat-item--expandable.jve-tooltip-open .elementor-widget-heading:last-of-type .elementor-heading-title::after {
  content: "Voir moins ▴";
}
.jve-stat-item--expandable .elementor-widget-text-editor {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0 !important;
  transition: max-height 0.35s ease, opacity 0.3s ease, margin-top 0.35s ease;
}
.jve-stat-item--expandable .elementor-widget-text-editor p {
  margin: 0 !important;
  font-size: 12px;
  line-height: 1.5;
  color: var(--color-text-on-dark);
  text-align: center;
}
.jve-stat-item--expandable.jve-tooltip-open .elementor-widget-text-editor {
  max-height: 260px;
  opacity: 1;
  margin-top: 10px !important;
}

/* =========================================================
   CTA — Faire un don / Devenir bénévole / Devenir partenaire
   Actions prioritaires : traitement bouton primaire (corail)
   ========================================================= */
.jve-cta-card {
  margin: 8px;
  box-shadow: 0 8px 18px -8px rgba(15, 40, 32, 0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  background-color: var(--color-bg) !important;
}
.jve-cta-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 32px -10px rgba(15, 40, 32, 0.45);
}
.jve-cta-card .elementor-heading-title,
.jve-cta-card .elementor-heading-title a {
  text-decoration: none;
  color: var(--color-forest) !important;
}
.jve-cta-card .elementor-button {
  background-color: var(--color-coral) !important;
  border-color: var(--color-coral) !important;
}
.jve-cta-card .elementor-button:hover {
  background-color: var(--color-coral-hover) !important;
  border-color: var(--color-coral-hover) !important;
}

/* =========================================================
   Garde-fou boutons — checklist section 12 : max 2 styles de
   bouton sur tout le site, corail réservé aux actions prioritaires.
   Tout bouton Elementor "nu" (ni .elementor-button-outline, ni un
   lien de don) reçoit par défaut le traitement secondaire plutôt
   que le style brut non maîtrisé d'Elementor. Les règles des
   cartes CTA ci-dessous ont une spécificité égale ou supérieure
   et arrivent après dans le fichier : elles restent prioritaires.
   ========================================================= */
.elementor-button:not(.elementor-button-outline):not([href*="don"]):not(.donate-button) {
  background-color: transparent !important;
  border: 2px solid var(--color-forest) !important;
  color: var(--color-forest) !important;
}
.elementor-button:not(.elementor-button-outline):not([href*="don"]):not(.donate-button):hover {
  background-color: var(--color-forest) !important;
  color: var(--color-text-on-dark) !important;
}

/* =========================================================
   CTA final — design uniforme sur les 3 cartes (mise à jour
   demandée : Bénévole/Partenaire reprennent exactement le style
   corail de "Faites un don", plus de hiérarchisation visuelle).
   Cible directement les IDs Elementor existants de la section
   "Faites un don / Devenez bénévole / Devenez partenaire"
   (accueil, id 6) : pas de restructuration Elementor nécessaire.
   ========================================================= */
.elementor-element-f0c9f64.jve-cta-card,
.elementor-element-1c50fe5.jve-cta-card,
.elementor-element-a517560.jve-cta-card {
  background-color: var(--color-coral) !important;
  transform: scale(1.04);
  z-index: 1;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
/* Le fond réel visible est peint par la div interne .elementor-widget-wrap
   (Elementor y applique sa propre couleur claire) : sans cette règle, le
   corail posé sur la colonne extérieure reste caché derrière. */
.elementor-element-f0c9f64.jve-cta-card > .elementor-widget-wrap,
.elementor-element-1c50fe5.jve-cta-card > .elementor-widget-wrap,
.elementor-element-a517560.jve-cta-card > .elementor-widget-wrap {
  background-color: var(--color-coral) !important;
}
.elementor-element-f0c9f64.jve-cta-card:hover,
.elementor-element-1c50fe5.jve-cta-card:hover,
.elementor-element-a517560.jve-cta-card:hover {
  transform: translateY(-6px) scale(1.04) !important;
  box-shadow: 0 14px 30px -12px rgba(15, 40, 32, 0.4);
}
.elementor-element-f0c9f64.jve-cta-card .elementor-heading-title,
.elementor-element-f0c9f64.jve-cta-card .elementor-heading-title a,
.elementor-element-f0c9f64.jve-cta-card .elementor-widget-text-editor p,
.elementor-element-1c50fe5.jve-cta-card .elementor-heading-title,
.elementor-element-1c50fe5.jve-cta-card .elementor-heading-title a,
.elementor-element-1c50fe5.jve-cta-card .elementor-widget-text-editor p,
.elementor-element-a517560.jve-cta-card .elementor-heading-title,
.elementor-element-a517560.jve-cta-card .elementor-heading-title a,
.elementor-element-a517560.jve-cta-card .elementor-widget-text-editor p {
  color: var(--color-text-on-dark) !important;
}
.elementor-element-f0c9f64.jve-cta-card .elementor-button:not(.elementor-button-outline),
.elementor-element-1c50fe5.jve-cta-card .elementor-button:not(.elementor-button-outline),
.elementor-element-a517560.jve-cta-card .elementor-button:not(.elementor-button-outline) {
  background-color: var(--color-text-on-dark) !important;
  border-color: var(--color-text-on-dark) !important;
  color: var(--color-coral) !important;
  font-weight: 600;
}
.elementor-element-f0c9f64.jve-cta-card .elementor-button:not(.elementor-button-outline):hover,
.elementor-element-1c50fe5.jve-cta-card .elementor-button:not(.elementor-button-outline):hover,
.elementor-element-a517560.jve-cta-card .elementor-button:not(.elementor-button-outline):hover {
  background-color: var(--color-forest-dark) !important;
  border-color: var(--color-forest-dark) !important;
  color: var(--color-text-on-dark) !important;
}
@media (max-width: 767px) {
  .elementor-element-f0c9f64.jve-cta-card,
  .elementor-element-1c50fe5.jve-cta-card,
  .elementor-element-a517560.jve-cta-card {
    transform: none;
  }
  .jve-cta-card .elementor-button-link {
    min-height: 44px;
  }
}

/* =========================================================
   CTA final hiérarchisé (addendum 3, 11.2) — variante section
   unique à 3 liens, "Faire un don" dominant, les deux autres en
   contour, y compris empilés en mobile. À appliquer si la section
   CTA de l'accueil est reconstruite en un seul bloc .cta-final
   (h2 + p + .cta-buttons > 3 liens .btn-primary/.btn-secondary)
   plutôt qu'en 3 cartes .jve-cta-card séparées.
   ========================================================= */
.cta-final {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  text-align: center;
  background-color: var(--color-forest);
  color: var(--color-text-on-dark);
}
.cta-final h2,
.cta-final .elementor-heading-title {
  color: var(--color-text-on-dark);
}
.cta-final .cta-buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}
.cta-final .btn-primary {
  order: 1;
  min-width: 220px;
}
.cta-final .btn-secondary {
  order: 2;
  border-color: var(--color-text-on-dark);
  color: var(--color-text-on-dark) !important;
  min-width: 200px;
}
.cta-final .btn-secondary:hover {
  background-color: var(--color-text-on-dark);
  color: var(--color-forest) !important;
}
@media (max-width: 640px) {
  .cta-final .cta-buttons {
    flex-direction: column;
    width: 100%;
  }
  .cta-final .btn-primary,
  .cta-final .btn-secondary {
    width: 100%;
    min-height: 44px; /* zone tactile minimale WCAG */
  }
}

/* =========================================================
   Fil d'Ariane
   ========================================================= */
.jve-breadcrumb-wrap {
  max-width: var(--ast-container-default-lg-padding, 1200px);
  margin: 0 auto;
  padding: 14px 20px 0;
  font-size: 13.5px;
}
.jve-breadcrumb-wrap .ast-breadcrumbs {
  color: #6B6B64;
}
.jve-breadcrumb-wrap .ast-breadcrumbs a {
  color: var(--color-forest);
  text-decoration: none;
}
.jve-breadcrumb-wrap .ast-breadcrumbs a:hover {
  text-decoration: underline;
}
.jve-breadcrumb-wrap .trail-items li::after {
  color: #6B6B64;
}

/* =========================================================
   Page "Domaines d'intervention" — 5 cartes
   ========================================================= */
.jve-domaine57-card {
  border-radius: 10px;
  padding: 8px 10px 20px;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.jve-domaine57-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px -12px rgba(42, 42, 40, 0.2);
}
.jve-domaine57-card .elementor-heading-title a {
  text-decoration: none;
  color: inherit;
}
.jve-domaine57-card .elementor-heading-title a:hover {
  color: var(--color-forest);
}

/* =========================================================
   Carrousel partenaires — défilement continu
   ========================================================= */
.jve-partners-marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.jve-partners-track {
  display: flex;
  align-items: center;
  gap: 20px;
  width: max-content;
  animation: jve-partners-scroll 22s linear infinite;
}
/* Pause au survol ET au focus clavier (WCAG 2.3.3) */
.jve-partners-marquee:hover .jve-partners-track,
.jve-partners-marquee:focus-within .jve-partners-track {
  animation-play-state: paused;
}
.jve-partner-chip {
  flex: 0 0 auto;
  width: 220px;
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #FFFFFF;
}
/* Vrais logos : niveaux de gris par défaut, couleur au survol/focus
   (addendum 3, 11.1). Agrandis pour rester lisibles dans le carrousel. */
.jve-partners-track img {
  height: 72px;
  max-width: 180px;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 4px 10px rgba(42, 42, 40, 0.22));
  transition: filter 0.25s ease;
}
.jve-partners-track img:hover,
.jve-partners-track img:focus-visible {
  filter: drop-shadow(0 6px 14px rgba(42, 42, 40, 0.3));
}
@keyframes jve-partners-scroll {
  to { transform: translateX(-50%); }
}
/* OBLIGATOIRE : respect de l'accessibilité mouvement (WCAG 2.3.3) */
@media (prefers-reduced-motion: reduce) {
  .jve-partners-track {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: auto;
  }
}

/* =========================================================
   Réseaux sociaux — icônes en pied de page
   ========================================================= */
.ast-header-social-wrap,
.header-social-wrap {
  display: none !important;
}
.jve-social-row {
  display: flex;
  gap: 16px;
  justify-content: flex-start;
  margin-top: 14px;
}
.jve-social-row a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(250, 250, 247, 0.14);
  color: var(--color-text-on-dark);
  transition: background-color 0.2s ease, color 0.2s ease;
}
.jve-social-row a:hover {
  background: var(--color-coral);
  color: #ffffff;
}

/* =========================================================
   Actualité (accueil) — grille des derniers articles
   ========================================================= */
.jve-news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
  margin-top: 28px;
}
.jve-news-card {
  display: block;
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--color-sand);
  border-radius: 10px;
  overflow: hidden;
  background: #ffffff;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.jve-news-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px -10px rgba(42, 42, 40, 0.25);
}
.jve-news-card-media {
  aspect-ratio: 16 / 10;
  background: var(--color-sand);
  overflow: hidden;
}
.jve-news-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.jve-news-card-media-fallback {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--color-sand), var(--color-bg));
}
.jve-news-card-body {
  padding: 18px 20px 22px;
}
.jve-news-card-date {
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6B6B64;
}
.jve-news-card-title {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 17px;
  margin: 8px 0 8px;
  color: var(--color-forest);
}
.jve-news-card-excerpt {
  font-size: 14.5px;
  color: var(--color-text);
  margin: 0 0 12px;
  line-height: 1.5;
}
.jve-news-card-more {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--color-coral);
}
.jve-news-empty {
  text-align: center;
  color: #6B6B64;
  padding: 24px;
  border: 1.5px dashed var(--color-sand);
  border-radius: 8px;
  margin-top: 24px;
}
.jve-news-empty a {
  color: var(--color-forest);
  font-weight: 500;
}

/* =========================================================
   Rythme vertical des sections + fonds alternés
   96px desktop / 56px mobile entre sections de l'accueil
   ========================================================= */
.elementor-6 > .elementor-section {
  padding-top: 56px;
  padding-bottom: 56px;
}
@media (min-width: 768px) {
  .elementor-6 > .elementor-section {
    padding-top: 96px;
    padding-bottom: 96px;
  }
}
.jve-bg-sand {
  background-color: var(--color-sand) !important;
}
.jve-bg-bg {
  background-color: var(--color-bg) !important;
}
/* Alternance automatique : ne s'applique qu'aux sections sans fond
   déjà défini explicitement (les styles en ligne d'Elementor priment). */
.elementor-6 > .elementor-section:nth-of-type(odd) {
  background-color: var(--color-bg);
}
.elementor-6 > .elementor-section:nth-of-type(even) {
  background-color: var(--color-sand);
}

/* =========================================================
   Uniformité des cartes (domaines, actualités, événements)
   ========================================================= */
.elementor-element-8j20205 .elementor-column,
.jve-domaine57-card,
.jve-news-card,
.jve-cta-card {
  display: flex;
  flex-direction: column;
}

/* =========================================================
   Footer — traduction visuelle (labels francisés côté DOM
   via functions.php ; ici uniquement le style)
   ========================================================= */
.menu-local-branches-container .menu-link,
.menu-quick-links-container .menu-link {
  cursor: default;
}

/* =========================================================
   Traitement photographique (charte, section 6.2)
   À utiliser pour toute nouvelle photo ajoutée sans passer par
   le pré-traitement batch Node/sharp (script treat-image.js).
   Nécessite un wrapper : <div class="photo-action"><img .../></div>
   ========================================================= */
.photo-action,
.photo-portrait,
.photo-hero {
  position: relative;
  overflow: hidden;
  display: block;
}
.photo-action img,
.photo-portrait img,
.photo-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.photo-action {
  aspect-ratio: 4 / 5;
}
.photo-action img {
  filter: saturate(0.88) contrast(1.06);
}
.photo-action::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-forest);
  opacity: 0.09;
  mix-blend-mode: multiply;
  pointer-events: none;
}

.photo-portrait {
  aspect-ratio: 4 / 5;
}
.photo-portrait img {
  filter: saturate(0.95) contrast(1.03);
}
.photo-portrait--subtle::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-forest);
  opacity: 0.04;
  mix-blend-mode: multiply;
  pointer-events: none;
}

.photo-hero {
  aspect-ratio: 16 / 9;
}
.photo-hero img {
  filter: saturate(0.9) contrast(1.05);
}
.photo-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(31, 75, 63, 0) 0%, rgba(31, 75, 63, 0.6) 100%);
  pointer-events: none;
}

/* =========================================================
   Titre "Domaines d'intervention" (accueil) — bande corail
   derrière le texte pour garantir la lisibilité quel que soit
   le fond de la section.
   ========================================================= */
.elementor-element-cac4e82 .elementor-heading-title {
  display: inline-block;
  background-color: var(--color-coral);
  color: var(--color-text-on-dark) !important;
  padding: 10px 28px;
  border-radius: 6px;
}

/* =========================================================
   Objectifs de développement durable (accueil) — défilement
   continu, même principe que le carrousel partenaires.
   ========================================================= */
.jve-odd-marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.jve-odd-track {
  display: flex;
  align-items: center;
  gap: 20px;
  width: max-content;
  animation: jve-odd-scroll 34s linear infinite;
}
.jve-odd-marquee:hover .jve-odd-track,
.jve-odd-marquee:focus-within .jve-odd-track {
  animation-play-state: paused;
}
.jve-odd-track img {
  flex: 0 0 auto;
  height: 44px;
  width: 44px;
  border-radius: 5px;
  object-fit: cover;
}
@keyframes jve-odd-scroll {
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .jve-odd-track {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: auto;
  }
}

/* =========================================================
   Présentation (accueil) — photos superposées : image de
   fond (équipe) + image de premier plan animée (action terrain).
   ========================================================= */
.jve-presentation-photos {
  position: relative;
  display: block;
  width: 100%;
  max-width: 480px;
  height: 600px;
  margin: 0 auto;
  overflow: hidden;
}
.jve-presentation-photo-back {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 78%;
  max-width: 78%;
  aspect-ratio: 4 / 5;
  height: auto;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 14px 30px -12px rgba(31, 75, 63, 0.35);
}
.jve-presentation-photo-front {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 60%;
  max-width: 60%;
  aspect-ratio: 4 / 5;
  height: auto;
  object-fit: cover;
  border-radius: 12px;
  border: 6px solid var(--color-bg);
  box-shadow: 0 16px 34px -10px rgba(42, 42, 40, 0.4);
  opacity: 0;
  transform: translateY(24px) scale(0.92);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.jve-presentation-photo-front.jve-in-view {
  opacity: 1;
  transform: translateY(0) scale(1);
}
@media (prefers-reduced-motion: reduce) {
  .jve-presentation-photo-front {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
@media (max-width: 767px) {
  .jve-presentation-photos {
    max-width: 320px;
  }
}

/* =========================================================
   Switch de langue (Polylang) — bouton flottant, position fixe.
   Volontairement HORS du menu et de son flux flex : évite tout
   risque de perturber la mise en page du header (leçon apprise
   après une régression où le switcher cassait le menu principal).
   ========================================================= */
.jve-lang-switcher {
  position: fixed;
  top: 14px;
  right: 16px;
  z-index: 100000;
  pointer-events: none;
}
.jve-lang-switcher-list {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 3px;
  background-color: var(--color-forest);
  border-radius: 20px;
  box-shadow: 0 4px 14px -4px rgba(0, 0, 0, 0.3);
  pointer-events: auto;
}
.jve-lang-switcher-item {
  margin: 0 !important;
  list-style: none;
}
.jve-lang-switcher-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 700;
  font-family: var(--font-body);
  letter-spacing: 0.03em;
  border-radius: 16px;
  color: var(--color-text-on-dark);
  text-decoration: none;
  opacity: 0.75;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}
.jve-lang-switcher-link:hover {
  opacity: 1;
  background-color: rgba(250, 250, 247, 0.15);
}
.jve-lang-switcher-current .jve-lang-switcher-link {
  background-color: var(--color-coral);
  opacity: 1;
}
@media (max-width: 600px) {
  .jve-lang-switcher {
    top: auto;
    bottom: 16px;
    right: 16px;
  }
}

/* =========================================================
   Image à la une des articles — hauteur plafonnée.
   Sans cette règle, une image à la une au format portrait
   (ex. affiche/flyer d'événement) s'affiche pleine largeur à
   sa hauteur naturelle : sur mobile elle peut occuper la quasi-
   totalité de l'écran avant le texte, ce qui donne l'impression
   d'une page bloquée sur le fond (souvent vert) de l'affiche.
   object-fit: cover recadre proprement quel que soit le format
   source (portrait, carré, paysage).
   ========================================================= */
.single-post .post-thumb-img-content {
  display: block;
  overflow: hidden;
  border-radius: 8px;
  height: 420px;
}
.single-post .post-thumb-img-content img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
@media (max-width: 767px) {
  .single-post .post-thumb-img-content {
    height: 260px;
  }
}