/*
Theme Name:     Wordpress Elementor Child
Theme URI:      https://www.net-tic.net
Description:    Thème Wordpress Elementor
Author:         Net&Tic
Author URI:     https://www.net-tic.net
Template:       wordpress-elementor
Version:        20250811
Text Domain:    wordpresselementor
*/




/******************************
***********  Divers  **********
*******************************/

body.page #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine button.tarteaucitronAllow,
body.page #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
body.page #tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected,
body.page #tarteaucitronRoot .tarteaucitronAllow,
body.page #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
    background-color: var(--e-global-color-primary, #008300);
}


header.elementor-location-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
}

a.nt-round-button,
button.nt-round-button,
.nt-round-button a {
    --button-size: 52px;
    --icon-size: 28px;

    background-color: var(--e-global-color-primary)!important;
    border: none!important;
    border-radius: 100%!important;
    color: #B5CDD0!important;
    width: var(--button-size);
    height: var(--button-size);
    display: flex;
    align-items: center;
    justify-content: center;
}
@media (min-width: 1251px) {
    a.nt-round-button,
    button.nt-round-button,
    .nt-round-button a {
        --button-size: 42px;
        --icon-size: 20px;
    }
}
@media (min-width: 1651px) {
    a.nt-round-button,
    button.nt-round-button,
    .nt-round-button a {
        --button-size: 52px;
        --icon-size: 27px;
    }
}
a.nt-round-button svg,
button.nt-round-button svg,
.nt-round-button a svg {
    fill: currentColor;
    width: var(--icon-size);
    height: var(--icon-size);
}
a.nt-round-button:hover,
a.nt-round-button:focus,
button.nt-round-button:focus,
button.nt-round-button:focus,
.nt-round-button a:hover,
.nt-round-button a:focus {
    background-color: var(--e-global-color-accent)!important;
    color: var(--e-global-color-primary)!important;
}

.elementor-widget-button.nt-button .elementor-button,
.elementor-field-type-submit .elementor-button{
    background-color: transparent!important;
    display: inline-flex;
    position: relative;
    z-index: 0;
    height: 50px;
    padding-inline: 16px 30px;
    padding-block: 0;
}
.elementor-widget-button.nt-button .elementor-button:hover,
.elementor-widget-button.nt-button .elementor-button:focus,
.elementor-field-type-submit .elementor-button:hover,
.elementor-field-type-submit .elementor-button:focus{
    padding-inline: 30px 30px;
}
.elementor-widget-button.nt-button .elementor-button:before,
.elementor-field-type-submit .elementor-button:before {
    content:"";
    position: absolute;
    top: -1px;
    left: -1px;
    background-color: var(--e-global-color-accent);
    border-radius: 100px;
    display: block;
    height: 50px;
    width: 50px;
    z-index: -1;
    transition: .3s;
}
.elementor-widget-button.nt-button .elementor-button:hover:before,
.elementor-widget-button.nt-button .elementor-button:focus:before,
.elementor-field-type-submit .elementor-button:hover:before,
.elementor-field-type-submit .elementor-button:focus:before {
    width: calc(100% + 2px);
}
.elementor-widget-button.nt-button .elementor-button-content-wrapper,
.elementor-field-type-submit .elementor-button-content-wrapper {
    gap: 28px!important;
    transition: .3s;
}
.elementor-widget-button.nt-button .elementor-button:hover .elementor-button-content-wrapper,
.elementor-widget-button.nt-button .elementor-button:focus .elementor-button-content-wrapper,
.elementor-field-type-submit .elementor-button:hover .elementor-button-content-wrapper,
.elementor-field-type-submit .elementor-button:focus .elementor-button-content-wrapper {
    gap: 14px!important;
}
.elementor-widget-button.nt-button .elementor-button-icon,
.elementor-field-type-submit .elementor-button-icon {
    color: white;
}
.elementor-widget-button.nt-button .elementor-button-icon svg,
.elementor-field-type-submit .elementor-button-icon svg {
    width: 16px!important;
}
.elementor-widget-button.nt-button .elementor-button-icon svg *,
.elementor-field-type-submit .elementor-button-icon svg * {
    fill: none!important;
}

.nt-block-image-dirigeant,
.nt-block-with-big-arrow,
.nt-arrow-contact,
.nt-arrow-contact-wrapper,
.nt-block-with-big-arrow-wrapper {
    position: static!important;
}

.nt-block-image-dirigeant:after {
    content:"";
    height: 50px;
    width: 50vw;

    background-color: var(--e-global-color-accent);

    position: absolute;
    top: 50%;
    right: 0;
}
@media (max-width: 1024px) {
    .nt-block-image-dirigeant:after {
        width: 75vw;
        top: 72%;
        height: 50px;
    }
}
@media (max-width: 767px) {
    .nt-block-image-dirigeant:after {
        width: 75vw;
        top: 77%;
        height: 25px;
    }
}

.nt-block-with-big-arrow:after {
    content:"";
    width: 59vw;
    aspect-ratio: 4.4;

    background: url('assets/images/icones/big-arrow.svg') center center no-repeat;
    background-size: contain;

    position: absolute;
    top: 58%;
    right: 0;
}
@media (max-width: 1650px) {
    .nt-block-with-big-arrow:after {
        width: 65vw;
    }
}
@media (max-width: 1250px) {
    .nt-block-with-big-arrow-wrapper,
    .nt-block-with-big-arrow {
        position: relative!important;
    }
    .nt-block-with-big-arrow:after {
        top: 0;
        right: -20px;
        width: 65vw;
    }
}
@media (max-width: 1024px) {
    .nt-block-with-big-arrow:after {
        top: -90px;
        right: -280px;
        width: 600px;
    }
}
@media (max-width: 500px) {
    .nt-block-with-big-arrow:after {
        right: -350px;
    }
}

.nt-flowbird:after {
    content:"";
    width: 46vw;

    background: url('assets/images/origami-promesse.webp') center center no-repeat;
    background-size: contain;

    position: absolute;
    top: 0;
    right: calc(0px - calc(49vw - 800px));
    bottom: 0;
}
body:not(.home) .nt-flowbird:after {
    aspect-ratio: 3;
    top: 150px;
    right: 0;
    bottom: unset;
}

@media (max-width: 1650px) {
    .nt-flowbird:after {
        right: -40px;
        height: 250px;
        bottom: unset;
    }
    body:not(.home) .nt-flowbird:after {
        top: 100px;
    }
}
@media (max-width: 1250px) {
    .nt-flowbird:after {
        right: unset;
        top: -90px;
        left: 50%;
        width: 650px;
    }
}
@media (max-width: 1024px) {
    .nt-flowbird:after {
        left: 55%;
    }
}
@media (max-width: 767px) {
    .nt-flowbird:after {
        left: 230px;
    }
    body:not(.home) .nt-flowbird:after {
        aspect-ratio: 3;
        top: 70px;
        left: 330px;
    }
}

.nt-arrow-contact:after {
    content:"";
    width: 47vw;
    aspect-ratio: 4.4;

    background: url('assets/images/icones/big-arrow.svg') center center no-repeat;
    background-size: contain;

    transform: rotateY(180deg);
    position: absolute;
    bottom: 0;
    left: 0;
}

@media (max-width: 1024px) {
    .nt-arrow-contact,
    .nt-arrow-contact-wrapper {
        position: relative!important;
    }
    .nt-arrow-contact:after {
        left: -250px;
        width: 650px;
        bottom: -60px;
    }
}
@media (max-width: 500px) {
    .nt-arrow-contact:after {
        width: 550px;
        left: unset;
        right: 50px;
    }
}


.nt-services-swiper {
    --swiper-pagination-bottom: -38px;
    --swiper-pagination-color: var(--e-global-color-primary);
    --swiper-pagination-bullet-inactive-color: var(--e-global-color-primary);
    --swiper-pagination-bullet-horizontal-gap: 10px;
}
.nt-services-swiper .swiper-pagination-bullet {
    outline: 1px solid var(--e-global-color-primary);
    outline-offset: -1px;
    transition: .3s;
}
.nt-services-swiper .swiper-pagination-bullet-active {
    outline: 1px solid var(--e-global-color-accent);
    outline-offset: 5px;
}




/*************************************
***********  NT Navigation  **********
**************************************/


.nt-navigation {
    opacity: 1!important;
    visibility: visible!important;
    transition: .5s 1s;
}
.nt-navigation__wrapper {
    background: var(--e-global-color-secondary) url('/wp-content/themes/wordpress-elementor-child/assets/images/hero-menu-mobile.png') no-repeat bottom center;
    background-size: 100% auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: start;
    gap: 18px;
    padding-bottom: 300px;

    position: fixed;
    inset: 0;
    opacity: 0;
    visibility: hidden;

    transition: .3s;
}
.nt-navigation.open .nt-navigation__wrapper {
    opacity: 1;
    visibility: visible;
}

.nt-navigation__menu nav ul {
    list-style: none;
    padding-left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.nt-navigation__menu nav ul li a {
    display: flex;
    padding-inline: 12px;
    padding-block: 5px;
    position: relative;
}
.nt-navigation__menu nav ul li a:before,
.nt-navigation__menu nav ul li a:after {
    content:"";
    display: block;
    width: 0;
    position: absolute;
    bottom: 6px;
    height: 1px;
    background: var(--e-global-color-accent);
    transition: .3s;
}
.nt-navigation__menu nav ul li a:before {
    right: 50%;
}
.nt-navigation__menu nav ul li a:after {
    left: 50%;
}
.nt-navigation__menu nav ul li a:hover:before,
.nt-navigation__menu nav ul li a:hover:after,
.nt-navigation__menu nav ul li a:focus:before,
.nt-navigation__menu nav ul li a:focus:after {
    width: 30%;
}
.nt-navigation__social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.nt-navigation__mobile-header {
    background: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 36px;
}

@media (min-width: 768px) {
    .nt-navigation__wrapper {
        background-position: bottom left;
        background-size: auto;
    }
    .nt-navigation__menu nav ul li a {
        padding-block: 10px;
    }
}

@media (min-width: 1251px) {
    .nt-navigation__wrapper {
        background: none;
        position: static;
        flex-direction: row;
        justify-content: end;
        gap: 24px;
        align-items: center;
        opacity: 1!important;
        visibility: visible!important;
        padding-bottom: 0;
    }
    .nt-navigation__menu nav ul {
        flex-direction: row;

    }
    .nt-navigation__mobile-button-open,
    .nt-navigation__mobile-header {
        display: none!important;
    }
    .nt-navigation__social {
        gap: 10px;
    }
}

@media (min-width: 1650px) {
    .nt-navigation {
        gap: 45px;
    }
    .nt-navigation__social {
        gap: 20px;
    }
    .nt-navigation__menu nav ul li a {
        padding-inline: 18px;
    }
}


/*************************************
*********  NT Chapter title  *********
**************************************/

.nt-chapter-title__text {
    color: var(--e-global-color-primary);
    font-size: 0.875rem;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 2px;
    white-space: nowrap;
    transform-origin: left;
    width: fit-content;
}

@media (min-width: 1251px) {
    .nt-chapter-title {
        border-left: 1px solid #B5CDD0;
        height: 100%;
        padding-block: 80px;
        display: flex;
        align-items: end;
        justify-content: start;
    }
    .nt-chapter-title__text {
        transform: rotate(-90deg) translateX(-50%);
        padding-inline: 33px;
        font-size: 1rem;
        letter-spacing: 2.5px;

        position: sticky;
        bottom: 15vh;
    }
    #contact .nt-chapter-title {
        padding-block-end: 130px;
    }
}


/*************************************
************  NT History  ************
**************************************/


.nt-history__button {
    display: none;

    position: absolute;
    width: 20px;
    height: 20px;
    border: none;
    border-radius: 100%;
    background: var(--e-global-color-accent)!important;
    outline: 1px solid var(--e-global-color-accent);
    outline-offset: -1px;
    transform: translate(-50%, -50%);
}
.nt-history__button[aria-expanded=true] {
    width: 40px;
    height: 40px;
    outline-offset: 9px;
}

.nt-history__button--1,
.nt-history__button--2 {
    top: 6.7%;
}
.nt-history__button--3,
.nt-history__button--6 {
    top: 50%;
}
.nt-history__button--4,
.nt-history__button--5 {
    top: 93.3%;
}

.nt-history__button--1,
.nt-history__button--5 {
    left: 24.7%;
}
.nt-history__button--3 {
    left: 100%;
}
.nt-history__button--2,
.nt-history__button--4 {
    left: 75.3%;
}


.nt-history__inner-content {
    display: flex;

    gap: 14px;
    text-align: center;
    flex-direction: column;
    align-items: center;
}


.nt-history__inner {
    --swiper-pagination-bottom: 0;
    --swiper-pagination-color: white;
    --swiper-pagination-bullet-inactive-color: white;
    --swiper-pagination-bullet-horizontal-gap: 10px;
    padding-bottom: 60px;
}

.nt-history__inner .swiper-pagination-bullet {
    outline: 1px solid white;
    outline-offset: -1px;
    transition: .3s;
}
.nt-history__inner .swiper-pagination-bullet-active {
    outline: 1px solid var(--e-global-color-accent);
    outline-offset: 5px;
}

.nt-history__content-icon {
    fill: white;
    width: 85px;
    height: 85px;
    margin-bottom: 16px;
}
.nt-history__content-icon * {
    stroke: white!important;
}
.nt-history__content-title {
    font-size: 1.125rem;
    color: var(--e-global-color-accent);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 2.5px;
}
.nt-history__content-year {
    background: #4C7379;
    display: inline-block;
    padding: 8px 16px 6px;
    border-radius: 100px;
    color: white;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1;
}
.nt-history__content-desc {
    color: var(--e-global-color-secondary);
    font-size: 1rem;
}

@media (min-width: 1025px) {
    .nt-history {
        position: relative;
        aspect-ratio: 1;
        border: 1px solid var(--e-global-color-accent);
        border-radius: 100%;
        width: 100%;
    }
    .nt-history__inner {
        aspect-ratio: 1;
        border: 1px solid #4C7379;
        border-radius: 100%;
        margin: 40px;
        position: relative;
        padding-bottom: 0;
    }
    .nt-history__inner-content {
        position: absolute;
        display: none;
        width: 100%;
        height: 100%;
        border-radius: 100%;
        overflow: hidden;

        justify-content: center;

        padding: 20%;
    }

    .nt-history[data-open-element="1"] .nt-history__inner-content--1,
    .nt-history[data-open-element="2"] .nt-history__inner-content--2,
    .nt-history[data-open-element="3"] .nt-history__inner-content--3,
    .nt-history[data-open-element="4"] .nt-history__inner-content--4,
    .nt-history[data-open-element="5"] .nt-history__inner-content--5,
    .nt-history[data-open-element="6"] .nt-history__inner-content--6 {
        display: flex;
    }

    .nt-history__button {
        display: block;
    }

    .nt-history__content-title {
        font-size: 1.375rem;
    }
    .nt-history__content-desc {
        font-size: 1.125rem;
    }
}