/*
Theme Name: Hefais
Theme URI: https://github.com/elementor/hello-theme/
Description: Thème enfant de Hello Elementor par IPSO
Author: IPSO
Author URI: https://www.studioipso.fr
Template: hello-elementor
Version: 1.0
Text Domain: hello-elementor-child
*/


/* -- GENERAL */
.line-gradient {
    background: linear-gradient(90deg,rgba(229, 35, 44, 1) 0%, rgba(236, 102, 8, 1) 25%, rgba(250, 182, 51, 1) 50%, rgba(145, 166, 176, 1) 100%);;
}



/* -- HEADER */

/* - Logo */
#logo-desktop,
#logo-scroll {
    transition: .5s ease;
    box-shadow: unset;
}

:is(.scroll-up, .scroll-down) #logo-desktop {
    display: none;
    padding: 1.5rem;
    background-color: var(--e-global-color-secondary);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.05);
}

:is(.scroll-up, .scroll-down) #logo-scroll {
    display: block;
    background-color: var(--e-global-color-secondary);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.05);
}

:is(.scroll-up, .scroll-down) #logo-desktop img {
    height: 45px;
}


/* - Header mobile */
.header-mobile-menu .elementor-nav-menu--dropdown a, 
.header-mobile-menu .elementor-nav-menu--dropdown a:focus, 
.header-mobile-menu .elementor-nav-menu--dropdown a:hover {
    border-inline-start: unset;
}

.header-mobile-menu .sub-menu > .menu-item .elementor-sub-item {
    font-size: 1rem !important;
    font-weight: 500 !important;
} 

.header-mobile-menu .elementor-menu-toggle {
    transform: translateY(-.7rem);
    padding: 0;
}

.header-mobile-menu .elementor-menu-toggle :is(.elementor-menu-toggle__icon--open, .elementor-menu-toggle__icon--close)::before {
    content: "Menu";
    position: absolute;
    top: calc(100% + .3rem);
    left: 50%;
    transform: translateX(-50%);
    font-size: .75rem;
    font-weight: 700;
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    color: #fff;
}

.header-mobile-menu .elementor-menu-toggle .elementor-menu-toggle__icon--close::before {
    content: "Fermer";
}

.header-mobile-menu .elementor-menu-toggle__icon--open,
.header-mobile-menu .elementor-menu-toggle__icon--close {
    height: 2rem !important;
}

@media screen and (max-width: 767px) {
    .header-mobile {
        background: var(--e-global-color-secondary);
    }

    .header-mobile-menu .sub-menu > .menu-item:first-of-type {
        border-top: 1px solid #eee;
    }

    :is(.scroll-up, .scroll-down) #logo-scroll {
        display: none;
    }
}



/* - Header navigation */
.header-navigation {
    top: 50% !important;
    transform: translateY(-50%);
}

.header-navigation .header-navigation-item {
    text-decoration: none;
}

.header-navigation .header-navigation-item:not(:last-child) {
    aspect-ratio: 1 / 1;
    border-bottom: 1px solid #eee
}

.header-navigation .header-navigation-item.active {
    background: var(--e-global-color-primary);
}

.header-navigation .header-navigation-item .icon-text-menu {
    line-height: 1;
}

.header-navigation-item .elementor-widget-icon > .elementor-icon-wrapper {
    height: 35px;
}

.header-navigation-item:is(:hover) .elementor-widget-icon svg,
.header-navigation-item.active .elementor-widget-icon svg {
    fill: #fff !important;
}

/* Toggle */
.header-navigation .header-navigation-item:is(:hover) .icon-text-menu,
.header-navigation .header-navigation-item.active .icon-text-menu {
    color: #fff;
}

.header-navigation .header-navigation-item.active .icon-open-menu {
    display: none !important;
}

.header-navigation .header-navigation-item.active .icon-close-menu {
    display: block !important;
}

.header-navigation-icons:is(:hover, :focus),
.header-navigation-icons.expand {
    background-color: #fff !important;
}


/* Header Navigation - Menu */
.header-navigation-menu {
    max-height: 100%;
    width: 500px;
    transform: translateX(100%);
    transition: ease .8s;
    overflow-y: auto;
}

.header-navigation-menu.active {
    transform: translateX(calc(0% - 79px - 1px));
}

.header-navigation-menu .menu-item > a {
    display: inline-block;
}

.header-navigation-menu .elementor-nav-menu--main .elementor-nav-menu .sub-menu {
    position: static;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    margin: .75rem 0 0 0;
    padding: 0;
    width: auto;
}

.header-navigation-menu .elementor-nav-menu--dropdown a, 
.header-navigation-menu .elementor-nav-menu--dropdown a:focus, 
.header-navigation-menu .elementor-nav-menu--dropdown a:hover {
    border-inline-start: unset;
}

/* Header Navigation Profil - Menu */
.header-navigation-profil-menu {
    max-height: 100%;
    width: 500px;
    transform: translateX(100%);
    transition: ease .8s;
    overflow-y: auto;
}

.header-navigation-profil-menu.active {
    transform: translateX(calc(0% - 79px - 1px));
}

.header-navigation-profil-menu .menu-item > a {
    display: inline-block;
}

.header-navigation-profil-menu .elementor-nav-menu--main .elementor-nav-menu .sub-menu {
    position: static;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    margin: .75rem 0 0 0;
    padding: 0;
    width: auto;
}

.header-navigation-profil-menu .elementor-nav-menu--dropdown a, 
.header-navigation-profil-menu .elementor-nav-menu--dropdown a:focus, 
.header-navigation-profil-menu .elementor-nav-menu--dropdown a:hover {
    border-inline-start: unset;
}


.header-navigation .header-navigation-item.active .icon-open-menu-profil {
    display: none !important;
}

.header-navigation .header-navigation-item.active .icon-close-menu-profil {
    display: block !important;
}





/* -- FOOTER */

/* - Partenaires */
.item-partenaire-logo img {
    aspect-ratio: 1.6 / 1;
}

.partenaires .widget-image-caption {
    position: absolute;
    display: flex;
    top: calc(100% + 5px);
    left: 50%;
    transform: translateX(-50%);
    padding: .5rem;
    width: 180px;
    background: white;
    box-shadow: 0 0 2px 0px rgba(0,0,0,.1);
    z-index: -1;
    opacity: 0;
    transition: ease .3s;
    
}

.partenaires .item-partenaire-logo a:is(:hover, :focus) + .widget-image-caption {
    opacity: 1;
    z-index: 5;
}



/* -- HOME */

/* - Landing */

/* Acces rapides */
.landing-acces-rapides-item .elementor-widget-image > img,
.landing-acces-rapides-item .landing-acces-rapides-item-title * {
    transition: .5s;
}

.landing-acces-rapides-item:is(:hover, :focus) .elementor-widget-image > img {
    opacity: 1;
}

.landing-acces-rapides-item:is(:hover, :focus) .landing-acces-rapides-item-title * {
    color: var(--e-global-color-primary) !important;
}

/* Vidéo */
.home-video .elementor-custom-embed-play svg,
.home-video .elementor-custom-embed-play::after {
    transition: .5s;
}

.home-video .elementor-custom-embed-play:is(:hover, :focus) svg {
    fill: var(--e-global-color-primary) !important;
}

.home-video .elementor-custom-embed-play:is(:hover, :focus)::after {
    color: var(--e-global-color-primary) !important;
}

.home-video .elementor-custom-embed-image-overlay::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   height: 100%;
   width: 100%;
   background: var(--e-global-color-secondary);
   opacity: .5;
}

.home-video .elementor-custom-embed-play::after {
    content: "Lancer la vidéo";
    display: block;
    position: relative;
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .home-video .elementor-custom-embed-play::after {
        font-size: 1rem;
    }
}



/* -- FORMATION */
.formation-content ul {
    padding-left: 1em;
}

.formation-content ul > li::marker {
  color: #91A6B0 !important;
}



/* -- FAQ */
.sommaire .elementor-toc__header {
    border-color: #fff !important;
}

.e-n-accordion .e-n-accordion-item-title + div p:last-of-type {
    margin-bottom: 0;
}



/* -- PROFIL */
.listing-profil-item .elementor-widget-image > img,
.listing-profil-item .listing-profil-item-title * {
    transition: .5s;
}

.listing-profil-item:is(:hover, :focus) .elementor-widget-image > img {
    opacity: 1;
}

.listing-profil-item:is(:hover, :focus) .listing-profil-item-title * {
    color: var(--e-global-color-primary) !important;
}


/* NOMBRES */
.animate-numbers .elementor-counter {
    text-align: center;
}

.animate-numbers .elementor-counter-title {
    margin-top: .5rem;
}



/* -- WP Forms */
.wpforms-container .wpforms-field {
    padding: .9rem 0 !important;
}

.wpforms-form .wpforms-field-label {
    margin-bottom: .6em;
    font-family: "Montserrat", Sans-serif;
    font-size: 1.1rem;
    font-weight: 600 !important;
    line-height: 1.2;
    color: var(--e-global-color-text);
}

.wpforms-form .wpforms-required-label {
    color: var(--e-global-color-text) !important;
}

.wpforms-form input,
.wpforms-form textarea,
.wpforms-form select {
    padding: .75em 1em;
    color: var(--e-global-color-text);
    font-size: 1rem;
    font-weight: 400 !important;
    border: 1px solid var(--e-global-color-text);
    border-radius: unset;
    background: #fff;
}

.wpforms-form input:is(:hover, :focus),
.wpforms-form textarea:is(:hover, :focus) {
    border-color: var(--e-global-color-text);
}

.wpforms-form input {
    line-height: 1;
}

.wpforms-form textarea {
    padding: .9em 1em;
}

.wpforms-form .wpforms-field-checkbox ul,
.wpforms-form .wpforms-field-gdpr-checkbox ul {
    display: flex;
    flex-direction: column;
    gap: .8em;
    padding-left: 0;
    list-style: none;
}

.wpforms-form .wpforms-field-checkbox ul li,
.wpforms-form .wpforms-field-gdpr-checkbox ul li {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.wpforms-form .wpforms-field-checkbox ul li input[type="checkbox"],
.wpforms-form .wpforms-field-gdpr-checkbox ul li input[type="checkbox"] {
    align-self: flex-start;
}

.wpforms-form .wpforms-field-checkbox ul li label,
.wpforms-form .wpforms-field-gdpr-checkbox ul li label {
    font-weight: 400;
    line-height: 1.2;
}

.wpforms-form .wpforms-field em.wpforms-error {
    margin-top: .25em;
    color: #bf1a1b !important;
    font-size: 0.8em !important;
}

.wpforms-form .wpforms-submit-container {
    margin-top: 1.5em;
}

.wpforms-form .wpforms-submit {
    transition-duration: 0s;
}

.wpforms-confirmation-container {
    margin-top: 1rem !important;
    color: var(--e-global-color-text) !important;
}


/* -- Back to top */
#back-to-top .elementor-button-icon svg {
    fill: var(--e-global-color-secondary);
}