/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://elementor.com/
 Description:  Thème enfant de Hello Elementor
 Author:       Enola Numidev
 Author URI:   https://ledoffice.fr
 Template:     hello-elementor
 Version:      1.0.0
*/

/* Import du style du thème parent */
@import url("../hello-elementor/style.css");

/* General */
::selection {
    background-color: #1D8352;
    color: white;
}
.e-con{
  scroll-margin-top:10vh;
}

h1 b,
h2 b {
    position: relative;
    font-weight: inherit;
    z-index: 1;
}

h1 b::after,
h2 b::after {
    content: "";
    position: absolute;
    left: -1%;
    bottom: 0.05em;
    width: 102%;
    height: 0.35em;
    background: #ec642ebe;
    z-index: -1;
}

.highlight-b {
    font-weight: bolder;
    color: #314C83;
}

.elementor-element.experience-tag {
    height: 40px;
    width: fit-content;
}

.elementor-button-text {
    white-space: nowrap;
}

.calendly-inline-widget {
    height: 660px !important;
}

/* NAV MENU */

header {
    position: fixed;
    top: 0;
    z-index: 999;
}

.elementor-nav-menu--main ul {
    gap: 20px;
}

.elementor-widget-nav-menu .elementor-nav-menu--main a.elementor-item {
    position: relative;
    display: inline-block;
    font-weight: inherit;
    z-index: 0;
    padding: 0;
}

.elementor-widget-nav-menu .elementor-nav-menu--main a.elementor-item::before {
    content: "";
    position: absolute;
    left: -2%;
    right: -2%;
    bottom: 0.12em;
    height: 0.25em;

    background: #21895796;
    z-index: -1;

    transform: scaleX(0);
    transform-origin: center;
    transition: transform .28s ease, background-color .28s ease;
}

.elementor-widget-nav-menu .elementor-nav-menu--main a.elementor-item:hover {
    padding: 0;
}

.elementor-widget-nav-menu .elementor-nav-menu--main a.elementor-item:hover::before,
.elementor-widget-nav-menu .elementor-nav-menu--main a.elementor-item:focus-visible::before {
    transform: scaleX(1);
}

.elementor-widget-nav-menu .elementor-nav-menu--main a.elementor-item.elementor-item-active::before {
    transform: scaleX(1);
    background: #cd416285;
}

/* BOUTONS */
.elementor-widget-button .elementor-button {
    --fill: currentColor;

    position: relative;
    z-index: 1;
    isolation: isolate;

    background: transparent;
    transition: color .25s ease;
}


.elementor-widget-button .elementor-button-icon {
    transition: color .25s ease;
}

.elementor-widget-button .elementor-button::before {
    content: "";

    position: absolute;
    inset: 0;

    width: 0;
    height: 101%;
    border-radius: 8px;

    background: var(--fill);

    z-index: -1;
    transition: width .35s ease;
}

/* hover */
.elementor-widget-button .elementor-button:hover::before {
    width: 101%;
}

.elementor-widget-button .elementor-button:hover .elementor-button-text,
.elementor-widget-button .elementor-button:focus-visible .elementor-button-text,
.elementor-widget-button .elementor-button:hover .elementor-button-icon,
.elementor-widget-button .elementor-button:focus-visible .elementor-button-icon,
.elementor-widget-button.secondary-button .elementor-button:hover .elementor-button-text,
.elementor-widget-button.secondary-button .elementor-button:focus-visible .elementor-button-text,
.elementor-widget-button.secondary-button .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.secondary-button .elementor-button:focus-visible .elementor-button-icon {
    color: #fff !important;
    fill: #fff !important;
}

/* Secondary button */

.elementor-widget-button.secondary-button .elementor-button {
    --fill: #161616;
    background: #1D8352;
}


.elementor-widget-button.round-button .elementor-button {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    padding: 0;
    align-items: center;
    justify-content: center;
    display: flex;
    transition: transform .9s ease;
}

.elementor-widget-button.round-button .elementor-button::before {
    display: none;
}

.elementor-widget-button.round-button .elementor-button:hover {
    transform: rotate(360deg);
}

/* Boutons flottants */
.fab-stack {
    position: fixed;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;

    display: flex;
    flex-direction: column;
    gap: 12px;

    align-items: flex-end;
}

.fab-btn {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    height: 45px;
    border-radius: 999px;
    overflow: hidden;

    flex: 0 0 auto;
    align-self: flex-end;

    width: 45px;
    transition: width .35s ease;
    color: #fff;
}

.fab-icon {
    width: 45px;
    min-width: 45px;
    height: 45px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 45px;
    font-size: larger;
    color: white;
}

.fab-text {
    display: inline-flex;
    align-items: center;

    white-space: nowrap;
    overflow: hidden;

    max-width: 0;
    opacity: 0;

    padding-left: 12px;
    padding-right: 0;

    transition: max-width .35s ease, opacity .2s ease, padding-right .35s ease;
}

.fab-btn:hover,
.fab-btn:focus-visible {
    width: fit-content;
}

.fab-btn:hover .fab-text,
.fab-btn:focus-visible .fab-text {
    max-width: 160px;
    opacity: 1;
    padding-right: 1px;
    color: white;
}

.fab-btn-rdv,
.fab-btn-rdv .fab-text {
    background-color: #1D8352;
}

.fab-btn-contact,
.fab-btn-contact .fab-text {
    background-color: #CD4162;
}

.animated-button .elementor-button {
    --ab-size: 46px;
    --ab-pill: #314C83;
    --ab-text-hover: #fff;

    position: relative;
    display: inline-flex;
    align-items: center;

    padding: 0;
    border-radius: 999px;

    background: transparent;
}

.animated-button .elementor-button::before {
    content: "";

    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);

    height: var(--ab-size);
    width: var(--ab-size);

    background: var(--ab-pill);
    border-radius: 999px;

    transition: width .35s cubic-bezier(.65, 0, .076, 1);
}

.animated-button .elementor-button:hover::before,
.animated-button .elementor-button:focus-visible::before {
    width: 110%;
}

.animated-button .elementor-button-content-wrapper {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
}

.animated-button .elementor-button-icon {
    width: var(--ab-size);
    min-width: var(--ab-size);
    height: var(--ab-size);

    display: flex;
    align-items: center;
    justify-content: center;

    color: #fff;
}

.animated-button .elementor-button-icon svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
    transition: transform .35s ease;
}

.animated-button .elementor-button-text {
    transition: transform .35s ease, color .35s ease;
    color: #161616;
}

.animated-button .elementor-button:hover .elementor-button-text {
    color: var(--ab-text-hover);
}

.animated-button .elementor-button:hover svg {
    transform: translateX(4px);
}

/* Carrousel */

.swiper-pagination-bullet {
    width: 40px !important;
    transition: width .35s ease;
    border-radius: 10px !important;
}

.swiper-pagination-bullet:hover {
    width: 50px !important;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 60px !important;
}

/* --------- REALISATION ----------- */
/* Single realisation */

.realisation-type-tag {
    height: 40px;
    width: fit-content !important;
    color: white !important;
}

.type-de-realisation-automatisations-excel .realisation-type-tag {
    background: #1D8352 !important;
}

.type-de-realisation-outils-de-pilotage .realisation-type-tag {
    background: #314C83 !important;
}

.type-de-realisation-structuration-des-donnees .realisation-type-tag {
    background: #CD4162 !important;
}

.type-de-realisation-solutions-microsoft-office .realisation-type-tag {
    background: #EC652E !important;
}

/* Responsif */

@media (min-width: 1024px) {
    header {
        left: 50%;
        transform: translateX(-50%);
    }
}

@media (max-width: 1023px) {
    header {
        width: 100%;
    }
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
    .elementor-widget-nav-menu .elementor-nav-menu a.elementor-item::before {
        transition: none !important;
    }

    .animated-button .elementor-button,
    .animated-button .elementor-button::before,
    .animated-button .elementor-button-text,
    .animated-button .elementor-button-icon {
        transition: none !important;
        transform: none !important;
    }

    .fab-btn,
    .fab-text,
    .fab-icon {
        transition: none !important;
        transform: none !important;
    }

}