.elementor-kit-3{--e-global-color-125a31b:#000000;--e-global-color-e603de2:#FFFFFF;--e-global-color-b6b1aa7:#FF4270;--e-global-color-1fa5272:#54595F;--e-global-color-2831c84:#888888;--e-global-color-e1d64fa:#D9DDE2;--e-global-color-3a7d9eb:#FF1E1E;--e-global-color-d452fb9:#FF3149;--e-global-color-bc2d0c6:#FF4270;--e-global-color-3d30857:#922776;--e-global-color-fd0d56f:#3A127A;--e-global-color-708b796:#00026F;--e-global-color-68a0243:#02001E;--e-global-color-545122c:#2E4B00;--e-global-color-92ff9e5:#CCEB40;--e-global-color-c8fc723:#C87D4A;--e-global-color-38a8a48:#A5E4DC;--e-global-color-ae12984:#004E66;--e-global-color-b6c39e8:#F3F1E7;--e-global-color-1f3f34f:#7BA93F;--e-global-color-a3a9825:#293133;--e-global-typography-9169c8b-font-family:"Montserrat";--e-global-typography-741b242-font-family:"DM Serif Text";}.elementor-kit-3 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.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 *//* IMPORT FONT */
@import url('https://fonts.googleapis.com/css2?family=Autography&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&family=Comfortaa:wght@100;200;300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Text:ital,wght@0,400;1,400&display=swap');


/* Autography Font Class */
.autography {
  font-family: 'Autography', cursive;
}

:root {
  /* FONT */
  --h01-font: 'DM Serif Text', serif;
  --b01-font: 'Montserrat', sans-serif;
  --b02-font: 'Montserrat', sans-serif;
  /* --h01-font-planetfirst: 'DM Serif Text', serif; */
  --title-scale: 1;
  --font-scale: 1;

  /* COLORI BASE */
  --cb: #000000;
  --cw: #FFFFFF;
  --cg01: #E1E1E1;
  --cg02: #222222;
  --cg03: #161616;
  --cb-40: #00000040;
  --cw-40: #FFFFFF40;
  --cg01-40: #E1E1E140;
  --cg02-40: #22222240;
  --cg03-40: #16161640;

  /* COLORI CUSTOM */
  --cc01: #FF1E1E;        /* Rosso */
  --cc02: #FF3149;        /* Intermedio01 */
  --cc03: #FF4270;        /* Fucsia */
  --cc04: #922776;        /* Viola */
  --cc05: #3A127A;        /* Viola scuro */
  --cc06: #00026F;        /* Blu */
  --cc01-40: #FF1E1E40;
  --cc02-40: #FF314940;
  --cc03-40: #FF427040;
  --cc04-40: #92277640;
  --cc05-40: #3A127A40;
  --cc06-40: #00026F40;

  /* COLORI PLANETFIRST */
  --cc07: #2e4b00;        /* Olive root */
  --cc08: #cceb40;        /* Fresh lime */
  --cc09: #c87d4a;        /* Clay sol */
  --cc10: #004e66;        /* Deep ocean */
  --cc11: #a5e4dc;        /* Sea breeze */
  --cc12: #f3f1e7;        /* Sandstone white */
  --cc13: #7BA93F;        /* Green intermedio */
  --cc14: #293133;        /* Night Shade */
  --cc07-40: #2e4b0040;
  --cc08-40: #cceb4040;
  --cc09-40: #c87d4a40;
  --cc10-40: #004e6640;
  --cc11-40: #a5e4dc40;
  --cc12-40: #f3f1e740;
  --cc13-40: #7BA93F40;
  --cc14-40: #29313340;

  /* GRADIENTI */
  --gradientAll: linear-gradient(90deg, var(--cc01), var(--cc02), var(--cc03), var(--cc04), var(--cc05), var(--cc05), var(--cc04), var(--cc03), var(--cc02), var(--cc01));
  --gradient01: linear-gradient(90deg, var(--cc01), var(--cc03));
  --gradient02: linear-gradient(90deg, var(--cc03), var(--cc04));
  --gradient03: linear-gradient(90deg, var(--cc04), var(--cc05));
  --gradient04: linear-gradient(90deg, var(--cc05), var(--cc06));
  --gradient05: linear-gradient(90deg, var(--cc06), var(--cb));
  --gradient06: linear-gradient(90deg, var(--cc06), var(--cc07));
  --gradient07: linear-gradient(90deg, var(--cc07), var(--cc13));
  --gradient-scrollbar: linear-gradient(180deg, var(--cc08), var(--cc07));

/* GRADIENTI BOTTONI */
  --grad-button01: linear-gradient(45deg, var(--cc02), var(--cc03));
  --grad-button01-hover: linear-gradient(45deg, var(--cc03), var(--cc04));
  --grad-button02: linear-gradient(45deg, var(--cc08), var(--cc13));
  --grad-button02-hover: linear-gradient(45deg, var(--cc13), var(--cc07));

  --link-color: var(--cb) !important;
  --hover-color: var(--cb) !important;
  --visited-color: var(--cb) !important;
}

/* BACKGROUND COLOR UTILITY CLASSES */
.bgcb { background-color: var(--cb); }
.bgcw { background-color: var(--cw); }
.bgcg01 { background-color: var(--cg01); }
.bgcg02 { background-color: var(--cg02); }
.bgcg03 { background-color: var(--cg03); }
.bgcc01 { background-color: var(--cc01); }
.bgcc02 { background-color: var(--cc02); }
.bgcc03 { background-color: var(--cc03); }
.bgcc04 { background-color: var(--cc04); }
.bgcc05 { background-color: var(--cc05); }
.bgcc06 { background-color: var(--cc06); }
.bgcc07 { background-color: var(--cc07); }
.bgcc08 { background-color: var(--cc08); }
.bgcc09 { background-color: var(--cc09); }
.bgcc10 { background-color: var(--cc10); }
.bgcc11 { background-color: var(--cc11); }
.bgcc12 { background-color: var(--cc12); }
.bgcc13 { background-color: var(--cc13); }
.bgcc14 { background-color: var(--cc14); }
.bgcc15 { background-color: var(--cc15); }

.bg-grad01 { background-image: var(--gradient01); }
.bg-grad02 { background-image: var(--gradient02); }
.bg-grad03 { background-image: var(--gradient03); }
.bg-grad04 { background-image: var(--gradient04); }

/* TEXT COLOR UTILITY CLASSES */
.tcb { color: var(--cb)!important;}
.tcw { color: var(--cw)!important; }
.tcg01 { color: var(--cg01)!important; }
.tcg02 { color: var(--cg02)!important; }
.tcg03 { color: var(--cg03)!important; }
.tcc01 { color: var(--cc01)!important; }
.tcc02 { color: var(--cc02)!important; }
.tcc03 { color: var(--cc03)!important; }
.tcc04 { color: var(--cc04)!important; }
.tcc05 { color: var(--cc05)!important; }
.tcc06 { color: var(--cc06)!important; }
.tcc07 { color: var(--cc07)!important; }
.tcc08 { color: var(--cc08)!important; }
.tcc09 { color: var(--cc09)!important; }
.tcc10 { color: var(--cc10)!important; }
.tcc11 { color: var(--cc11)!important; }
.tcc12 { color: var(--cc12)!important; }


/* GRADIENT TEXT CLASSES */
.text-grad01, .text-grad02, .text-grad03, .text-grad04 {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}
.text-grad01 { background-image: var(--gradient01); }
.text-grad02 { background-image: var(--gradient02); }
.text-grad03 { background-image: var(--gradient03); }
.text-grad04 { background-image: var(--gradient04); }
.text-grad05 { background-image: var(--gradient04); }

/*START SCROLLBAR*/
/* width */
 ::-webkit-scrollbar {
		width: 2px;
		height: 2px;
	 background: #000000;
 }
 /* Track */
 ::-webkit-scrollbar-track {
     box-shadow: inset 0 0 0px grey; 
     border-radius: 0px;
	   
 }
 /* Handle */
::-webkit-scrollbar-thumb {
        border-radius: 50px;
        background: var(--gradient-scrollbar);
}
 /* Handle on hover */
 ::-webkit-scrollbar-thumb:hover {
        border-radius: 50px;
        background: var(--gradient-scrollbar);
/*END SCROLLBAR*/
 }
@media (min-width: 767px) and (max-width: 1024px) {
  body > *:not(header) {
    margin-left: 0;
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  body > *:not(header) {
    margin-left: 0;
    max-width: 100%;
  }
}

/*SCALA FONT TITOLI RESPONSIVA*/
/* Widescreen - 2400px+ */
@media (min-width: 2400px) {
  :root {
    --title-scale: 1.1;
    --font-scale: 1.02;
  }
}

/* Laptop - 1366px+ */
@media (min-width: 1366px) and (max-width: 2399px) {
  :root {
    --title-scale: 1.1;
    --font-scale: 1;
  }
}

/* Tablet orizzontale - 1200px+ */
@media (min-width: 1200px) and (max-width: 1365px) {
  :root {
    --title-scale: 1;
    --font-scale: 1;
  }
}

/* Tablet verticale - 1024px+ */
@media (min-width: 1024px) and (max-width: 1199px) {
  :root {
    --title-scale: 1;
    --font-scale: 0.9;
  }
}

/* Mobile landscape - 880px+ */
@media (min-width: 880px) and (max-width: 1023px) {
  :root {
    --title-scale: 0.8;
    --font-scale: 0.90;
  }
}

/* Mobile portrait - 767px+ */
@media (min-width: 767px) and (max-width: 879px) {
  :root {
    --title-scale: 0.8;
    --font-scale: 0.9;
  }
}

/* Sotto mobile portrait */
@media (max-width: 766px) {
  :root {
    --title-scale: 0.8;
    --font-scale: 1;
  }
}
/* FONT TITOLI CON CLAMP + SCALABILITÀ */
h1, h2 {
  font-family: var(--h01-font)!important;
  text-align: left !important;
}
h3, h4, h5, h6 {
  font-family: var(--b01-font)!important;
  text-align: left !important;
}

h1 {
  font-size: calc(clamp(2.5rem, 4vw + 2rem, 3rem) * var(--title-scale)) !important;
  line-height: 1.2;
  font-weight: 900 !important;
  color: var(--cc07);

}
h2 {
  font-size: calc(clamp(2rem, 2.7vw + 1.3rem, 2.3rem) * var(--title-scale)) !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  color: var(--cc07);
}

h3 {
  font-size: calc(clamp(1.4rem, 1.6vw + 1rem, 1.7rem) * var(--title-scale)) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  font-style: italic !important;
  color: var(--cb)!important;
}

h4 {
  font-size: calc(clamp(1.5rem, 1.5vw + 1rem, 1.6rem) * var(--title-scale));
  line-height: 1.2;
  font-weight: 600;
}

h5 {
  font-size: calc(clamp(1.1rem, 1.4vw + 1rem, 1.2rem) * var(--title-scale));
  line-height: 1.2;
  font-weight: 600;
}

h6 {
  font-size: calc(clamp(1.1rem, 1.3vw + 1rem, 1.1rem) * var(--title-scale));
  line-height: 1.2;
  font-weight: 600;
}

/* TESTI BASE + SCALA FONT */
body, p, span {
  font-family: var(--b01-font);
  font-size: calc(clamp(0.95rem, 1vw, 1.05rem) * var(--font-scale)) !important;
  line-height: 1.4;
  font-weight: 400;
}
div{
  font-family: var(--b01-font);
  line-height: 1.4 !important;
}
.body-plus {
  font-family: var(--b01-font);
  font-size: calc(clamp(1.2rem, 1.5vw, 1.4rem) * var(--font-scale));
  line-height: 1.5em;
  font-weight: 300;
}

.body-small01 {
  font-family: var(--b01-font);
  font-size: calc(clamp(0.85rem, 0.9vw, 0.95rem) * var(--font-scale));
  line-height: 1.2;
  font-weight: 200;
}

.body-small02,
.body-small02-300,
.body-small02-400 {
  font-family: var(--b01-font);
  font-size: calc(clamp(0.75rem, 0.8vw, 0.85rem) * var(--font-scale));
  line-height: 1.1;
}

.body-small02 { font-weight: 200; }
.body-small02-300 { font-weight: 300; }
.body-small02-400 { font-weight: 400; }
.body-small03 {
  font-family: var(--b01-font);
  font-size: calc(clamp(0.60rem, 0.7vw, 0.65rem) * var(--font-scale));
  line-height: 1;
  font-weight: 200;
}
ul,
ol {
  font-family: var(--b01-font);
  font-size: calc(clamp(0.95rem, 1vw, 1.05rem) * var(--font-scale));
  line-height: 1;
  font-weight: 400;
  padding-left: 1.1em; /* distanza dalla marginatura */
  margin-bottom: 1em;
}

li {
  font-family: var(--b01-font);
  font-size: calc(clamp(0.95rem, 1vw, 1.05rem) * var(--font-scale));
  line-height: 1.4;
  font-weight: 400;
  margin-bottom: 0.5em;
}
/* INK STYLES */
a {
  color: var(--link-color);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease-in-out;
}

a:hover{
  color: var(--hover-color);
  font-weight: 700 !important;
}

a:focus {
  color: var(--hover-color);
  font-weight: 500;
}

/* 
a:visited {
  color: var(--visited-color);
}
*/
a:active {
  color: var(--hover-color);
  font-weight: bold;
}
/* SECTION & BOX */
.section-menu {
  padding: 20px 60px 20px 60px;
}
.start-space {
  padding-top: 100px;
}
.section-title {
  padding: 200px 50px 50px 50px;
}
.section {
  padding: 80px 0;
}
.section-small {
  padding: 40px 0;
}
.section-full {
  padding: 150px 15%;
}
.section-null {
  padding: 0;
  margin: 0;
}
.box,
.box-pad10,
.box-pad20,
.box-pad30 {
  margin: 0;
  border-radius: 10px;
}
.box-null {
  padding: 0px;
  margin: 0px;
}
.box-pad10 {
  padding: 10px;
}
.box-pad20 {
  padding: 20px;
}
.box-pad30 {
  padding: 30px;
}
.box-pad-lt {
  padding: 0 50px;
}
.box-border {
  border: 1px solid var(--cg01);
}
.shadow {
  box-shadow: 0px 5px 8px rgba(0, 0, 0, 0.15) !important;
  transition: box-shadow 0.3s ease;
}
.shadow:hover {
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.20) !important;
}
.box-line01,
.box-line02,
.box-line03,
.box-line04,
.box-line05,
.box-line06,
.box-line07{
  border-top: 4px solid var(--cw);
  transition: border-color 0.3s ease-in-out;
}
.box-line01:hover {
  border-top: 4px solid var(--cc01);
}
.box-line02:hover {
  border-top: 4px solid var(--cc03);
}
.box-line03:hover {
  border-top: 4px solid var(--cc04);
}
.box-line04:hover {
  border-top: 4px solid var(--cc05);
}
.box-line05:hover {
  border-top: 4px solid var(--cb);
}
.box-line06:hover {
  border-top: 4px solid var(--cc06);
}
.box-line07:hover {
  border-top: 4px solid var(--cc07);
}

@media (min-width: 1024px) and (max-width: 1920px) {
  .section-menu {
    padding: 20px 50px 20px 50px;
  }
  .section {
    padding: 70px 50px;
  }
  .section-small {
  padding: 35px 50px;
  }
  .section-full {
    padding: 100px 5%;
  }
}

@media (min-width: 767px) and (max-width: 1024px) {
  .section-menu{
    padding: 40px;
  }
  .section-title {
    padding: 120px 40px 30px 40px;
  }
  .section,
  .section-full {
    padding: 60px 40px;
  }
  .section-small {
    padding: 30px 40px;
  }
}

@media (max-width: 767px) {
  .section-menu {
    padding: 20px;
  }
  .section-title{
    padding: 100px 20px 30px 20px;
  }
  .section,
  .section-full{
    padding: 50px 20px;
  }
  .section-small {
    padding: 25px 20px;
  }
  .box {
    padding: 10px;
  }
  .box-pad10 {
  padding: 10px;
  }
  .box-pad20 {
  padding: 15px;
  }
  .box-pad30 {
  padding: 20px;
}
}
/* LINEA ANIMATA */
.animated-line {
width: 100%;
height: 2px;
padding: 0px;
background: var(--gradientAll);;
background-size: 800% 200%;
animation: lineAnimation 8s linear infinite; 
}

.animated-line-planetfirst  {
width: 100%;
height: 2px;
padding: 0px;
background: linear-gradient(90deg, #293133, #7BA93F, #CCEA3F, #003D64, #CCEA3F, #7BA93F, #293133);
background-size: 800% 200%;
animation: lineAnimation 8s linear infinite;
}

.animated-line-fast {
    animation-duration: 6s;
}

.animated-line-slow {
    animation-duration: 10s;
}

.animated-line-reverse {
    animation-direction: reverse;
}

.animated-line-thick {
    height: 4px;
}

/* Animazione */
@keyframes lineAnimation {
    0% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

/* INIZIO BOTTONI */
.custom-button02 {
  background: var(--grad-button01);
  border: 1px solid var(--cc01);
  border-radius: 30px;
  padding: 3px 20px;
  box-shadow: 0px 2px 4px var(--cc03-40);
  font-family: var(--b02-font);
  font-weight: 100;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1em;
  transition: all 0.2s ease;
  white-space: nowrap;
  width: auto;
  margin-bottom: 10px;
}

.custom-button02:hover {
  background: var(--grad-button01-hover);
  border: 1px solid var(--cc05);
  color: white;
  transform: scale(0.98);
  box-shadow: 0px 1px 4px var(--cc04-40);
}


.custom-button01 {
  background: var(--grad-button02);
  border: 1px solid var(--cc13);
  border-radius: 30px;
  padding: 3px 20px;
  box-shadow: 0px 2px 4px var(--cc08-40);
  font-family: var(--b02-font);
  font-weight: 100;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1em;
  transition: all 0.2s ease;
  white-space: nowrap;
  width: auto;
  margin-bottom: 10px;
}

.custom-button01:hover {
  background: var(--grad-button02-hover);
  border: 1px solid var(--cc07);
  color: white;
  transform: scale(0.98);
  box-shadow: 0px 1px 4px var(--cc07-40);
}

.custom-button-white {
  background: var(--cw);
  border: 1px solid var(--cw);
  border-radius: 30px;
  padding: 3px 20px;
  box-shadow: 0px 2px 4px var(--cc08-40);
  font-family: var(--b02-font);
  font-weight: 100;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1em;
  transition: all 0.2s ease;
  white-space: nowrap;
  width: auto;
  margin-bottom: 10px;
}

.custom-button-white:hover {
  background: var(--cw);
  border: 1px solid var(--cw);
  transform: scale(0.98);
  box-shadow: 0px 1px 4px var(--cc07-40);
}

.custom-button-arrow01 {
  padding: 0px;
  margin: 0px;
  color: black;
  font-family: var(--b02-font);
  font-weight: 100;
  cursor: pointer;
  align-items: flex-start;
  justify-content: flex-start;
  font-size: 0.90em;
  transition: all 0.2s ease;
}

.custom-button-arrow01:hover {
  color: black;
  transform: scale(0.98);
}
.box-blog {
  padding: 20px;
  border-radius: 7px;
  box-shadow: 0px 2px 4px var(--cb-40);
  transition: all 0.2s ease;
}
.box-blog:hover {
  box-shadow: 0px 1px 2px var(--cb-40);
  transform: scale(0.98);
}/* End custom CSS */