.elementor-kit-7{--e-global-color-primary:#0055FF;--e-global-color-secondary:#0F0F0F;--e-global-color-text:#4A5360;--e-global-color-accent:#0055FF;--e-global-typography-primary-font-family:"neue-haas-grotesk-display";--e-global-typography-primary-font-size:75px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1em;--e-global-typography-secondary-font-family:"neue-haas-grotesk-display";--e-global-typography-secondary-font-size:40px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-text-font-family:"neue-haas-grotesk-text";--e-global-typography-text-font-weight:500;--e-global-typography-text-line-height:1.3px;--e-global-typography-accent-font-family:"neue-haas-grotesk-text";--e-global-typography-accent-font-size:22px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.3px;--e-global-typography-df51ba0-font-family:"quiche-flare";--e-global-typography-df51ba0-font-size:72px;--e-global-typography-df51ba0-font-weight:500;--e-global-typography-df51ba0-font-style:italic;--e-global-typography-df51ba0-line-height:1em;color:#000000;font-family:"neue-haas-grotesk-display", Sans-serif;font-size:22px;}.elementor-kit-7 a{color:var( --e-global-color-accent );font-family:"neue-haas-grotesk-display", Sans-serif;font-size:22px;}.elementor-kit-7 h1{color:var( --e-global-color-secondary );font-family:"neue-haas-grotesk-display", Sans-serif;font-size:75px;font-weight:700;line-height:1em;}.elementor-kit-7 h2{color:var( --e-global-color-secondary );font-family:"neue-haas-grotesk-display", Sans-serif;font-size:40px;font-weight:500;line-height:1em;}.elementor-kit-7 h3{color:var( --e-global-color-secondary );font-family:"neue-haas-grotesk-display", Sans-serif;font-size:22px;font-weight:500;line-height:1.3em;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-family:"neue-haas-grotesk-display", Sans-serif;font-size:18px;font-weight:500;line-height:1.3em;color:#FFFFFF;background-color:#0055FF;border-radius:25px 25px 25px 25px;}.elementor-kit-7 img{border-radius:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */h1 {
    font-weight: 600 !important;
}

a {
    text-decoration: underline;
    font-weight: bold;
}
.elementor-kit-7 a{
font-size:inherit;}
}
.custom-hover-list {
    list-style-type: none;
    margin-top: -20px;
    padding: 0;
}

.custom-hover-list li {
    transition: color 0.3s ease;
    cursor: default;
}

.custom-hover-list li:hover {
    color: #0055ff;
}

.service-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.service-list li {
    margin-bottom: 0.4em;
}

.elementor-widget-video {
    position: relative;
}

.elementor-widget-video video {
    preload: none !important;
}

.elementor-widget-video video::-webkit-media-controls-panel {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.elementor-widget-video:hover video::-webkit-media-controls-panel {
    opacity: 1;
}

/* Hide video play icon by default */
.elementor-widget-video::before {
    display: none;
}

/* Only show play icon on portfolio page (page ID 1733) */
body.page-id-1733 .elementor-widget-video::before {
    content: "▶";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 50px;
    color: rgba(255, 255, 255, 0.8);
    z-index: 10;
    pointer-events: none;
    transition: opacity 0.3s ease;
    display: block;
}

body.page-id-1733 .elementor-widget-video:hover::before {
    opacity: 0;
}

/* Fade animation styles for new method */
.fade-group-strict {
    opacity: 1;
}

.fade-unit {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
    filter: blur(2px);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform, opacity, filter;
}

.fade-unit.animated {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

/* Disable animations in Elementor editor */
.elementor-editor-active .fade-unit {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}

@media (max-width: 768px) {
    .elementor-widget-video video {
        preload: none !important;
    }
}

.color-letter {
  color: #c9c9c9;
  transition: color 0.3s ease;
}

.color-letter.animate {
  color: #111;
}

@keyframes readColor {
  from { color: #c9c9c9; }
  to { color: #111; }
}


/* Soluzione 1: Specificità massima per fade-unit */
body.elementor-editor-active .fade-unit,
body.elementor-editor-active .fade-group-strict .fade-unit,
body.elementor-editor-active div.fade-unit,
body.elementor-editor-active .elementor-widget.fade-unit {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    filter: blur(0) !important;
    animation: none !important;
    transition: none !important;
    visibility: visible !important;
}

/* Soluzione 2: Forza anche gli stati con delay */
body.elementor-editor-active [class*="delay-"] {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    filter: blur(0) !important;
    transition-delay: 0s !important;
    animation-delay: 0s !important;
}

/* Soluzione 3: Forza color-letter visibili */
body.elementor-editor-active .color-letter,
body.elementor-editor-active .color-animate-text .color-letter {
    color: #111 !important;
    opacity: 1 !important;
    transition: none !important;
}

/* Soluzione 4: Override su tutti gli elementi animati */
body.elementor-editor-active .fade-unit.animated,
body.elementor-editor-active .fade-unit:not(.animated) {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    filter: blur(0) !important;
}

/* Soluzione 5: Forza su tutti i widget elementor con fade-unit */
body.elementor-editor-active .elementor-element.fade-unit,
body.elementor-editor-active .elementor-widget.fade-unit {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

/* Style for the read-only email field in the custom registration form */
input[name="user_email-3529"][readonly] {
    background-color: #f0f0f0 !important;
    cursor: not-allowed;
    color: #555;
}

/* Style for the helper text below the email field */
.um-custom-helper-text {
    font-size: 0.9em;
    color: #777;
    margin-top: -10px;
    padding-bottom: 15px;
}

/* Style for the error message container */
.um-custom-error {
    padding: 20px;
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    border-radius: 5px;
    text-align: center;
}/* End custom CSS */