.elementor-kit-8{--e-global-color-primary:#272A4F;--e-global-color-secondary:#EE766B;--e-global-color-text:#858585;--e-global-color-accent:#EE9E89;--e-global-color-b6eb885:#F0F0F0;--e-global-color-cb30f5b:#B4B4B4;--e-global-color-37a8729:#DCDCDC;--e-global-typography-primary-font-family:"stolzl";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"stolzl";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"degular";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"degular";--e-global-typography-accent-font-weight:600;--e-global-typography-8b05040-font-family:"stolzl";--e-global-typography-8b05040-font-weight:500;--e-global-typography-36427c3-font-family:"stolzl";--e-global-typography-36427c3-font-weight:200;background-color:var( --e-global-color-b6eb885 );color:var( --e-global-color-text );font-family:"degular", Sans-serif;font-size:1.25rem;font-weight:400;--e-preloader-animation:eicon-spin;--e-preloader-animation-duration:1500ms;--e-preloader-delay:0ms;--e-preloader-width:5rem;--e-preloader-max-width:5rem;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:var( --e-global-color-secondary );font-family:"degular", Sans-serif;font-size:1rem;font-weight:600;line-height:1.3;letter-spacing:1px;color:var( --e-global-color-b6eb885 );border-radius:4rem 4rem 4rem 4rem;padding:1.25rem 2rem 1.25rem 2rem;}.elementor-kit-8 e-page-transition{background-color:var( --e-global-color-b6eb885 );}.elementor-kit-8 p{margin-block-end:1rem;}.elementor-kit-8 a{color:var( --e-global-color-primary );}.elementor-kit-8 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-8 h1{color:var( --e-global-color-primary );font-family:"stolzl", Sans-serif;font-size:5vw;font-weight:400;line-height:1.3;}.elementor-kit-8 h2{color:var( --e-global-color-primary );font-family:"stolzl", Sans-serif;font-size:5vw;font-weight:200;line-height:1.3;}.elementor-kit-8 h3{color:var( --e-global-color-primary );font-family:"stolzl", Sans-serif;font-size:1.5rem;font-weight:500;line-height:1.3;}.elementor-kit-8 h4{color:var( --e-global-color-secondary );font-family:"stolzl", Sans-serif;font-size:1.25rem;font-weight:700;line-height:1.3;}.elementor-kit-8 button:hover,.elementor-kit-8 button:focus,.elementor-kit-8 input[type="button"]:hover,.elementor-kit-8 input[type="button"]:focus,.elementor-kit-8 input[type="submit"]:hover,.elementor-kit-8 input[type="submit"]:focus,.elementor-kit-8 .elementor-button:hover,.elementor-kit-8 .elementor-button:focus{color:var( --e-global-color-b6eb885 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:95vw;}.e-con{--container-max-width:95vw;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1023px){.elementor-kit-8 h1{font-size:5.5vw;}.elementor-kit-8 h2{font-size:6vw;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90vw;}.e-con{--container-max-width:90vw;}}@media(max-width:767px){.elementor-kit-8{font-size:1.125rem;}.elementor-kit-8 h1{font-size:10vw;}.elementor-kit-8 h2{font-size:9vw;}}/* Start custom CSS *//* GENERAL */

/* Global elements */

::-webkit-scrollbar {
    width: 0.5rem;
    height: 0.5rem;
    background: var(--e-global-color-b6eb885);
}

::-webkit-scrollbar-thumb {
  background: var(--e-global-color-primary);
}

::selection {
    background-color: var(--e-global-color-secondary);
    color: var(--e-global-color-b6eb885);
}

#ultimate-cursor img {
    transition: all .4s ease !important;
    transform-origin: center;
}

body:has(a[href]:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.elementor-button:hover,
#scrollTopBtn:hover,
[role="button"]:hover) #ultimate-cursor img {
    transform: scale(1.8);
}

a {
    transition: all .4s ease !important;
}

.elementor-icon-wrapper {
    display: flex;
}

#scrollTopBtn {
    opacity: 0;
    visibility: hidden;
    transform: translateY(2rem);
    transition: all .4s ease;
    
    &.is-visible {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
}


/* Text & btn */

h1, h2, h3, h4, h5, h6 {
    margin-block-end: 0;
    margin-block-start: 0;
}

a {
    transition: all .4s ease !important;
}

.index-title {
    .qodef-m-title {
        overflow: visible;
        
        .qodef-e-word {
            display: inline;
            white-space: nowrap;
        }
        
        div {
            font-size: 4vw;
            
            .qodef-e-word {
                white-space: wrap;
            }
            
            &:before {
                content: '';
                display: block;
            }
                
            @media(max-width: 767px) {
                font-size: 6vw;
            }
        }
    }
}

.qodef-qi-text-marquee {
    .qodef-m-text-item {
        padding-top: 1rem;
    }
    
    .qodef-e-icon-holder {
        animation: Rotate 20s linear infinite;
    }
}

p:last-of-type {
    margin-bottom: 0;
}

main {
    ul,
    ol {
        margin: 1rem 0;
        padding-left: 2rem;
        
        &:first-child {
            margin-top: 0;

            li:first-child {
                margin-top: 0;
            }
        }

        &:last-child {
            margin-bottom: 0;

            li:last-child {
                margin-bottom: 0;
            }
        }
        
        li {
            margin: 0.25rem 0;
        }
    }
    
    ul {
        li {
            &::marker {
                color: var(--e-global-color-secondary);
            }
        }
    }
}

.elementor-button-wrapper {
    display: flex;
}

.elementor-button,
a.elementor-icon,
#scrollTopBtn .elementor-icon {
    overflow: hidden;
    position: relative;
    z-index: 0;
    
    .elementor-button-text {
        transition: all .4s ease;
        z-index: 2;
    }
    
    .elementor-button-icon {
        margin-top: 0.25rem;
    }

    &:before {
        content: '';
        display :block;
        position: absolute;
        height: 0;
        width: 0;
        background: var(--e-global-color-primary);
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: all .4s ease;
        border-radius: 3rem;
        z-index: -1;
    }
    
    &:hover {
        &:before {
            width: 100%;
            height: 100%;
        }
        
        .elementor-button-text {
            transform: scale(1.1);
        }
    }
}

.button-light {
    .elementor-button,
    a.elementor-icon {
        .e-font-icon-svg {
            transition: all .4s ease;
        }
        
        &:before {
            background: var(--e-global-color-b6eb885) !important;
        }
        
        &:focus {
            color: var(--e-global-color-b6eb885) !important;
        }
        
        &:hover {
            .e-font-icon-svg {
                fill: var(--e-global-color-secondary) !important;
            }
            
            &:focus {
                color: var(--e-global-color-secondary) !important;
            }
        }
    }
}

.button-link {
    display: inline !important;
    text-align: left !important;
    
    .elementor-button {
        &:before {
            display: none !important;
        }
        
        &:hover {
            .elementor-button-text {
                transform: none !important;
            }
        }
    }
}


/* ANIMATIONS */

/* Entrance */

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0,-30px,0)
    }
    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInDown {
    animation-name: fadeDown
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-20px,0,0)
    }
    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInLeft {
    animation-name: fadeLeft
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(20px,0,0)
    }
    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInRight {
    animation-name: fadeRight
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0,20px,0)
    }
    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInUp {
    animation-name: fadeUp
}


/* Animated-text */

.qodef-qi-animated-text.qodef--appear-from-bottom .qodef-e-word {
    transition: opacity 1s,transform 1s cubic-bezier(.26,-.14,0,1.01);
}

/* Rotation */

.jerky-rotation {
    svg {
        animation: JerkyRotate 10s infinite linear;
    }
}

.rotation {
    .e-text-path {
        transform-origin: 50% 50%;
        animation: Rotate 20s linear infinite;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

.scroll-rotation {
    svg {
        transform-box: fill-box;
        transform-origin: center;
        animation-name: Rotate;
        animation-timing-function: linear;
        animation-timeline: scroll(root block);
        animation-duration: 1ms;
        animation-iteration-count: 1;
        animation-fill-mode: both;
        display: block;
    }
}

@-webkit-keyframes JerkyRotate {
    0% {transform: rotate(0deg);}
    20% {transform: rotate(250deg);}
    100% {transform: rotate(360deg);}
}

@keyframes Rotate {
  to {transform: rotate(360deg);}
}

@media (prefers-reduced-motion: reduce) {
    .rotation,
    .scroll-rotation svg {
        animation: none !important;
        transform: none !important;
    }
}


/* JS-mask */

.js-mask {
    --mask-window: 0.5;
    --mask-window-x: 0.25;
    
    &.mask--right,
    &.mask--left {
        height: 100%;
    }
    
    .elementor-widget-container {
        overflow: hidden;
        border-radius: 4rem;
        will-change: clip-path;
    }
    
    img {
        display: block;
        width: 100%;
        height: auto;
    }
}

/* HEADER */

header {
    @media(min-width:1366px) {
        .header-nav {
            margin-right: -2rem;
        }
        
        .header-toggle {
            transition: opacity .25s ease, max-width .25s ease;
            will-change: opacity, max-width;
            opacity: 0;
            max-width: 0 !important;
            overflow: hidden;
        }
    }
    
    @media(max-width:767px) {
        .header-cta {
            .elementor-button-text {
                display: none;
            }
            
            .elementor-button-icon {
                margin-top: 0 !important;
            }
        }
    }
    
    @media(min-width: 768px) {
        .header-cta {
            .elementor-button-icon {
                display: none;
            }
        }
    }

    .elementor-sticky--effects {
        backdrop-filter: grayscale(1) blur(10px);

        @media(min-width:1366px) {
            .header-nav {
                margin-right: 0;
            }
            
            .header-menu {
                display: none;
            }

            .header-toggle {
                max-width: 4rem !important;
                opacity: 1;
            }
        }
    }
}

/* Nav */

.elementor-nav-menu .sub-arrow {
    padding: 0.25rem 0 0 0.25rem !important;
}

.elementor-nav-menu--dropdown {
    padding: 1rem 2rem !important;
    min-width: 200px !important;
    
    a {
        border-inline-start: none !important;
    }
}

/* Wpml */

.wpml-ls {
    padding: 0;
    border: none;
    width: auto;
    max-width: 4rem;
    
    .wpml-ls-link,
    .wpml-ls-item-toggle {
        padding: 0.25rem !important;
        border: none;
    }
    
    .wpml-ls-item-toggle {
        display: flex;
        align-items: center;
        gap: 0.25rem;
        
        &:after {
            position: relative !important;
            border: .25rem solid transparent !important;
            border-top: .25rem solid !important;
            right: 0 !important;
            top: 0.1rem !important;
        }
    }
    
    @media(min-width: 768px) {
        .wpml-ls-sub-menu {
            border: none !important;
            background: var(--e-global-color-b6eb885) !important;
            padding: 0.25rem;
        }
    }
}

/* Mobile-menu */

.mobile-menu {
    .elementor-nav-menu--dropdown {
        padding: 0 !important;

        .sub-menu {
            .elementor-sub-item {
                text-transform: none !important;
                font-size: 2rem !important;
                padding: 1rem 0 1rem 1rem !important;
                
                @media(max-width: 1023px) {
                    font-size: 1.25rem !important;
                    padding: 0.25rem 0 0.25rem 1rem !important;
                }
            }
        }
    }
}


/* STEPS */

.steps-right {
    position: sticky;
    top: 0;
    height: 100vh;
}

.steps-right {
    .img-wrapper {
        position:absolute;
        width:100%;
        height:100%;
        
        img {
            opacity:0;
            transition: opacity .35s;
            will-change: opacity;
        }
    
        &.is-active {
            img {
                opacity:1;
            }
        }
    }
}

.steps-bg {
    .steps-right {
        top: 8rem;
        height: calc(100vh - 10rem);
    }
}


/* SWIPER */

.elementor-swiper-button {
    top: 1rem !important;
    opacity: 1 !important;
    
    &.elementor-swiper-button-next {
        left: 2rem !important;
    }
    
    &.elementor-swiper-button-prev {
        left: 0 !important;
    }
    
    @media (max-width: 767px) {
        &.elementor-swiper-button-next {
            right: 0 !important;
            left: auto !important;
        }
    }
}

/* Works */

.hs-section {
    overflow: visible !important;
    
    > .e-con,
    > .e-con > .e-con-inner,
    .elementor-widget,
    .elementor-widget-container {
        overflow: visible !important;
    }
    
    > .hs-wrapper {
        position: sticky;
        top: 0;
        height: auto;
        overflow: hidden;
        z-index: 5;
    }
    
    .swiper-wrapper {
        will-change: transform;
    }
    
    @media (max-width: 767px) {
        height: auto !important;
        
        > .hs-wrapper {
            position: relative;
            top: auto;
            height: auto;
            overflow: visible;
        }
        
        .elementor-swiper {
            padding-top: 2rem !important; 
        }
    }
    
    @media (min-width: 768px) {
        .elementor-swiper-button {
            display: none !important;
        }
    }
}

.logos-carrousel {
    .swiper-wrapper {
        -webkit-transition-timing-function: linear !important;
        transition-timing-function: linear !important; 
    }
}


/* Badges */

.badges {
    @media (min-width: 1024px) {
        .elementor-swiper-button {
            display: none !important;
        }
    }
}

.large-badges {
    @media (min-width: 1366px) {
        .elementor-swiper-button {
            display: none !important;
        }
    }
}


/* FOOTER */

@media(max-width: 767px) {
	footer {
		.legal {
			.elementor-icon-list-items {
				flex-direction: column;
			}
		}
	}
}


/* BANNER */

.banner-intern {
    @media(min-width: 1366px) {
        min-height: calc(100vh - 8rem);
    }
    
    .image-banner {
        height: calc(100vh - 16rem);;
    }
}


/* FORM */

.ff-el-form-control {
    outline: 0!important;
}

.ff-el-form-check {
    margin-bottom: 0 !important;
    
    .ff-el-form-check-label.ff_tc_label {
        display: flex !important;
        align-items: center;
        gap: 1rem;
        
        .ff_tc_checkbox {
            padding-top: 0 !important;
        }
    }
}

.ff-dropzone {
    .ff_file_upload_holder {
        width: 100%;
    
        .ff-btn {
            color: var(--e-global-color-secondary) !important;
        }
    }
    
    .ff-upload-details {
        color: var(--e-global-color-b6eb885) !important;
        border-left: none !important;
    }
    
    .ff-el-progress {
        background-color: rgba(240, 240, 240, 0.5) !important;
        
        .ff-el-progress-bar {
            background-color: var(--e-global-color-b6eb885) !important;
        }
    }
    
    .ff-upload-preview {
        border-color: var(--e-global-color-b6eb885) !important;
        border-radius: 1rem !important;
    }
}

.ff_submit_btn_wrapper {
    margin-bottom: 0 !important;
}

.ff-el-group {
    select {
        color: var(--e-global-color-secondary) !important;
    }
	
	option {
    	background: var(--e-global-color-b6eb885);
    }
}

@media (min-width: 768px) {
    .frm-fluent-form .ff-t-container {
        gap: 2rem !important;
    }
}


/* ARTICLES */

.elementor-widget-table-of-contents {
    .elementor-toc__header {
        margin-bottom: 1rem;
    }
    .elementor-toc__list-item-text-wrapper {
        align-items: flex-start !important;
        
    }
}/* End custom CSS */