/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/


/**
 * Colori 
 */
 body {

  /*
    Mappatura delle variabili di colore di Elementor
    in variabili di colore interne
  */

  /* Brand_magenta */
  --clr-brand-primary: var( --e-global-color-4134ded );
  --clr-brand-primario: var( --e-global-color-4134ded );
  /* Brand_blu */
  --clr-brand-secondary: var( --e-global-color-162292b );
  --clr-brand-secondario: var( --e-global-color-162292b );
  /* Bianco_scuro */
  --clr-light: var( --e-global-color-2b70250 );
  /* Bianco_chiaro */
  --clr-lightest: var( --e-global-color-8aafb95 );
  /* Nero */
  --clr-dark: var( --e-global-color-97b549c );
  /* Nero_mild */
  --clr-dark-mild: var( --e-global-color-445688b );

  --btn-primary-bg: var( --clr-brand-primary );  
  --btn-primary-clr: var( --clr-lightest );
  --btn-primary-border: var( --clr-brand-primary );
  
  --btn-primary-bg-hover: var( --e-global-color-8585f9c );
  --btn-primary-clr-hover: var( --clr-lightest );
  --btn-primary-border-hover: var( --e-global-color-8585f9c );

  --btn-secondary-bg: var( --clr-lightest );
  --btn-secondary-clr: var( --clr-brand-primary );
  --btn-secondary-border: var( --clr-brand-primary );

  --btn-secondary-bg-hover: var( --e-global-color-b3bd158 );
  --btn-secondary-clr-hover: var( --clr-brand-primary );
  --btn-secondary-border-hover: var( --e-global-color-b3bd158 );
   
  --link-light-bg: var( --clr-brand-primary );
  --link-light-clr: var( --clr-lightest );
  --link-light-bg-hover: var( --clr-brand-primary );
  --link-light-clr-hover: var( --clr-lightest );
  
  --link-dark-bg: var( --clr-lightest );
  --link-dark-hover-clr: var( --clr-dark );
}


/* @link https://utopia.fyi/type/calculator?c=320,16,1.2,1240,20,1.25,8,3,&s=0.75|0.5|0.25,1.5|2|3|4|6|7|8,s-l&g=s,l,xl,12 */

:root {
  --step--3: clamp(0.5787rem, 0.5574rem + 0.1066vi, 0.64rem);
  --step--2: clamp(0.6944rem, 0.6577rem + 0.1836vi, 0.8rem);
  --step--1: clamp(0.8333rem, 0.7754rem + 0.2899vi, 1rem);
  --step-0: clamp(1rem, 0.913rem + 0.4348vi, 1.25rem);
  --step-1: clamp(1.2rem, 1.0739rem + 0.6304vi, 1.5625rem);
  --step-2: clamp(1.44rem, 1.2615rem + 0.8924vi, 1.9531rem);
  --step-3: clamp(1.728rem, 1.4799rem + 1.2407vi, 2.4414rem);
  --step-4: clamp(2.0736rem, 1.7334rem + 1.7011vi, 3.0518rem);
  --step-5: clamp(2.4883rem, 2.027rem + 2.3067vi, 3.8147rem);
  --step-6: clamp(2.986rem, 2.366rem + 3.0998vi, 4.7684rem);
  --step-7: clamp(3.5832rem, 2.7563rem + 4.1344vi, 5.9605rem);
  --step-8: clamp(4.2998rem, 3.2039rem + 5.4796vi, 7.4506rem);
}


/* @link https://utopia.fyi/space/calculator?c=320,16,1.2,1240,20,1.25,8,3,&s=0.75|0.5|0.25,1.5|2|3|4|6|7|8,s-l&g=s,l,xl,12 */

:root {
  --space-3xs: clamp(0.25rem, 0.2283rem + 0.1087vi, 0.3125rem);
  --space-2xs: clamp(0.5rem, 0.4565rem + 0.2174vi, 0.625rem);
  --space-xs: clamp(0.75rem, 0.6848rem + 0.3261vi, 0.9375rem);
  --space-s: clamp(1rem, 0.913rem + 0.4348vi, 1.25rem);
  --space-m: clamp(1.5rem, 1.3696rem + 0.6522vi, 1.875rem);
  --space-l: clamp(2rem, 1.8261rem + 0.8696vi, 2.5rem);
  --space-xl: clamp(3rem, 2.7391rem + 1.3043vi, 3.75rem);
  --space-2xl: clamp(4rem, 3.6522rem + 1.7391vi, 5rem);
  --space-3xl: clamp(6rem, 5.4783rem + 2.6087vi, 7.5rem);
  --space-4xl: clamp(7rem, 6.3913rem + 3.0435vi, 8.75rem);
  --space-5xl: clamp(8rem, 7.3043rem + 3.4783vi, 10rem);

  /* One-up pairs */
  --space-3xs-2xs: clamp(0.25rem, 0.1196rem + 0.6522vi, 0.625rem);
  --space-2xs-xs: clamp(0.5rem, 0.3478rem + 0.7609vi, 0.9375rem);
  --space-xs-s: clamp(0.75rem, 0.5761rem + 0.8696vi, 1.25rem);
  --space-s-m: clamp(1rem, 0.6957rem + 1.5217vi, 1.875rem);
  --space-m-l: clamp(1.5rem, 1.1522rem + 1.7391vi, 2.5rem);
  --space-l-xl: clamp(2rem, 1.3913rem + 3.0435vi, 3.75rem);
  --space-xl-2xl: clamp(3rem, 2.3043rem + 3.4783vi, 5rem);
  --space-2xl-3xl: clamp(4rem, 2.7826rem + 6.087vi, 7.5rem);
  --space-3xl-4xl: clamp(6rem, 5.0435rem + 4.7826vi, 8.75rem);
  --space-4xl-5xl: clamp(7rem, 5.9565rem + 5.2174vi, 10rem);

  /* Custom pairs */
  --space-s-l: clamp(1rem, 0.4783rem + 2.6087vi, 2.5rem);
}

h1,
h2,
h3,
h4 {
  letter-spacing: 0.5px;  
}

p,li,figcaption {
  /*font-size: var(--step-0);*/
  line-height: 1.5;
  letter-spacing: 1px;
  /* max-width: 70ch; */
  font-weight: 500;
}

/* Stile dei link */
a {
  --_dark-bg: var( --dark-bg, var( --link-dark-bg ) );
  --_dark-clr: var( --dark-clr, var( --link-dark-clr ) );
  --_dark-bg-hover: var( --dark-bg-hover, var( --link-dark-bg-hover ) );
  --_dark-clr-hover: var( --dark-clr-hover, var( --link-dark-clr-hover ) );

  --_light-bg: var( --light-bg, var( --link-light-bg ) );
  --_light-clr: var( --light-clr, var( --link-light-clr ) );
  --_light-bg-hover: var( --light-bg-hover, var( --link-light-bg-hover ) );
  --_light-clr-hover: var( --light-clr-hover, var( --link-light-clr-hover ) );
  
  --_underline-initial-height: var( --underline-initial-height, 10%);
  --_underline-initial-position: var( --underline-initial-position, 10%);
}

.bg-dark a {
  color: var(--_dark-bg);
}

.bg-dark a:hover {
  color: var(--_dark-bg-hover);
}

/* Bilancio il wrapping del testo */
:where(h1,h2,h3,h4,h5,h6,p,blockquote) {
    text-wrap: balance;
}

/*
body:not(.elementor-editor-active) .effetto-typewriter,
body:not(.elementor-editor-preview) .effetto-typewriter {
    visibility: hidden;
}
*/

/* Cerchi numerati a comparsa */
:is(.elementor-editor-preview, .elementor-editor-active) .cerchio-rosso::after {
    content: '';
    display: block;
    position: absolute;
    left: calc(50% - 75px);
    top: calc(50% - 75px);
    width: 150px;
    height: 150px;
    border-radius: 100%;
    z-index: -1;   
}

:is(.elementor-editor-active,.elementor-editor-preview) .cerchio-rosso {
  --after-bg-color: var(--clr-brand-primary);
  /* Uso i colori relativi per creare l'ombra basandomi sul colore di brand primario */
  --after-box-shadow: 5px 5px 10px hsla(from var(--clr-brand-primary) h s l / .5);
}

:is(.elementor-editor-preview, .elementor-editor-active) .cerchio-rosso::after {
    background-color: var(--after-bg-color);
    box-shadow: var(--after-box-shadow);
}

/* Form */
.popup-form label a {
  font-weight: bold;
}

.popup-form > .elementor-field-group,
.popup-form > .elementor-field-group .elementor-field {
    flex-direction: column;
    align-items: start;
}

.popup-form .elementor-message.elementor-form-help-inline {
    position: absolute;
    bottom: -2em;
    line-height: 1em;
    font-size: var(--step-0);
}

.popup-form .elementor-field-group.elementor-error {
  margin-bottom: 2rem;
}

.popup-form .elementor-field-group.elementor-error :is(input, select) {
    border-color: red;
}

.aplus-label-container a {
  color: inherit;    
}


/* Accordion **/

.elementor-accordion .elementor-tab-title {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-s);
}

.elementor-accordion .elementor-accordion-item .elementor-tab-title .elementor-accordion-icon svg {
  width: var(--step-2);
  height: var(--step-2);
}


/* Buttons */
*.btn-primary > a, 
a.btn-primary {
  background-color: var( --btn-primary-bg ) !important;
  font-family: "Dosis", Sans-serif;
  font-size: var(--step-1);
  font-weight: 500;
  letter-spacing: 1px;  
  color: var( --btn-primary-clr ) !important;
  border-style: solid;
  border-width: 2px 2px 2px 2px;
  border-color: var( --btn-primary-border );
  border-radius: 20px 20px 20px 20px;
  padding: 1em 1em 1em 1em;
}

:is(.btn-primary > a, a.btn-primary):hover {
  background-color: var( --btn-primary-bg-hover ) !important;
  border-color: var( --btn-primary-border-hover ) !important;
}


/* Tabs */
.elementor-tabs .elementor-tab-title.elementor-active {
  background-color: var( --clr-brand-secondary ) !important;
  color: var( --clr-lightest ) !important;
}

.elementor-accordion-item .elementor-tab-content > * + * {
  margin-block-start: var(--flow-space, 1em);
}



/* Fa aderire il footer al margine inferiore della finestra */
body {
  display: flex;
  flex-direction: column;
  /* expand to take full height of page */
  /* min-height overrides both height & max-height */
  min-height: 100vh; 
}

main {
  flex-grow: 1;
}