.elementor-kit-8{--e-global-color-cb93f62:#FFFFFF;--e-global-color-ce63ca5:#000000;--e-global-color-9217672:#001C33;--e-global-color-bfdf7bc:#00026F;--e-global-color-7317ccb:#005ABA;--e-global-color-d5f3163:#45DFB1;--e-global-color-e8ccd89:#46CDCF;--e-global-typography-18ebd7a-font-family:"Bebas Neue";--e-global-typography-f746ed4-font-family:"Montserrat";}.elementor-kit-8 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){margin-block-end: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=Outfit:wght@100;200;300;400;500;600;700;800;900&family=Montserrat:wght@100;200;300;400;500;600;700;800;900&family=Bebas+Neue&display=swap');

:root {
  /* FONT */
  --h01-font: 'Bebas Neue', sans-serif;
  --b01-font: 'Montserrat', sans-serif;
  --b02-font: 'Montserrat', sans-serif;
  
  --title-scale: 1;
  --box-padding: 50px;
  --box-line-border: var(--cc01);

  /* 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: #12192d; /* Midnight blue */
  --cc02: #00026f; /* Scoth Blue */
  --cc03: #005aba; /* London Rain */
  --cc04: #45dfb1; /* Mint Teal */
  --cc05: #46cdcf; /* Icy Aqua */
  --cc06: #00026F; 
  --cc01-40: #12192d40;
  --cc02-40: #00026f40;
  --cc03-40: #005aba40;
  --cc04-40: #45dfb140;
  --cc05-40: #46cdcf40;
  --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 */
  --gradient01: linear-gradient(90deg, var(--cc01), var(--cc02), var(--cc03), var(--cc04), var(--cc05), var(--cc05), var(--cc04), var(--cc03), var(--cc02), var(--cc01));
  --gradient02: linear-gradient(90deg, var(--cc01), var(--cc02), var(--cc01));
  --gradient03: linear-gradient(90deg, var(--cc02), var(--cc03), var(--cc02));
  --gradient04: linear-gradient(90deg, var(--cc03), var(--cc04), var(--cc03));
  --gradient05: linear-gradient(90deg, var(--cc04), var(--cc05), var(--cc04));
  --gradient-scroll-bar: linear-gradient(180deg, var(--cc03), var(--cc04));

  --link-color: var(--cc05);
  --hover-color: var(--cc04);
  --visited-color: var(--cc04);
}


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

.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); }
.tcw { color: var(--cw); }
.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); }

/* width */
 ::-webkit-scrollbar {
		width: 4px;
		height: 4px;
	 background: #000000;
 }
 /* Track */
 ::-webkit-scrollbar-track {
     box-shadow: inset 0 0 0px grey; 
 }
 /* Handle */
::-webkit-scrollbar-thumb {
        background: var(--gradient-scroll-bar);
 }
 /* Handle on hover */
 ::-webkit-scrollbar-thumb:hover {
        border-radius: 50px;
        background: var(--gradient-scroll-bar);
 }

html, body {
    max-width: 100%;
    overflow-x: hidden;
}
.elementor-section-wrap,
.elementor-location-default,
.elementor-location-single,
.elementor-location-archive,
.elementor-location-footer,
.elementor-inner{
  margin-left: 70px;
}

/* SCALA FONT TITOLI */
@media (min-width: 1920px) {
  :root { --title-scale: 3.00; }
}
@media (max-width: 1919px) {
  :root { --title-scale: 1.00; }
}
@media (max-width: 1440px) {
  :root { --title-scale: 0.95; } /* Desktop standard */
}
@media (max-width: 1366px) {
  :root { --title-scale: 0.90; } /* Laptop ampio */
}
@media (max-width: 1280px) {
  :root { --title-scale: 0.85; } /* Laptop medio */
}
@media (max-width: 1024px) {
  :root { --title-scale: 0.60; } /* Tablet landscape */
}
@media (max-width: 900px) {
  :root { --title-scale: 0.50; } /* Tablet medio */
}
@media (max-width: 768px) {
  :root { --title-scale: 0.45; } /* Tablet portrait */
}
@media (max-width: 640px) {
  :root { --title-scale: 0.45; } /* Phablet / telefoni grandi */
}
@media (max-width: 480px) {
  :root { --title-scale: 0.45; } /* Smartphone */
}
@media (max-width: 360px) {
  :root { --title-scale: 0.45; } /* Smartphone piccoli */
}


/* FONT TITOLI CON CLAMP */
h1, h2, h3, h4 { font-family: var(--h01-font) !important;}
h5, h6 { font-family: var(--b01-font) !important;}

h1 {
  font-size: clamp(3.6rem, 4vw + 2rem, 5rem);
  line-height: 1.2;
  font-weight: 600;
}
h2 {
  font-size: clamp(1.6rem, 1.8vw + 1rem, 2rem);
  line-height: 1.2;
  font-weight: 600;
}
h3 {
  font-size: clamp(1.4rem, 1.6vw + 1rem, 1.8rem);
  line-height: 1;
  font-weight: 400;
}
h4 {
  font-size: clamp(1.3rem, 1.5vw + 1rem, 1.7rem);
  line-height: 1;
  font-weight: 300;
}
h5 {
  font-size: clamp(1.2rem, 1.4vw + 1rem, 1.5rem);
  line-height: 1;
  font-weight: 300;
}
h6 {
  font-size: clamp(1.1rem, 1.3vw + 1rem, 1.25rem);
  line-height: 1;
  font-weight: 300;
}

/* TYPOGRAPHY */
body {
  font-family: var(--b01-font);
  font-size: 1em;
  line-height: 1.5;
  font-weight: 300;
}

p {
  font-family: var(--b01-font);
  font-size: 1em;
  line-height: 1.5;
  font-weight: 300;
}

.body-bold {
  font-family: var(--b01-font);
  font-weight: 400;
}

.body-light {
  font-weight: 200;
}

.body-plus {
  font-family: var(--b01-font);
  font-size: clamp(1.3rem, 1.6vw, 1.4rem);
  line-height: 1.5em;
  font-weight: 300;
}

.body-small01 {
  font-family: var(--b01-font);
  font-size: clamp(0.85rem, 1vw, 0.9rem);
  line-height: 0.9em;
  font-weight: 200;
}

.body-small02 {
  font-family: var(--b01-font);
  font-size: clamp(0.75rem, 0.9vw, 0.8rem);
  line-height: 0.8em;
  font-weight: 200;
}

.body-small02-300 {
  font-family: var(--b01-font);
  font-size: clamp(0.75rem, 0.9vw, 0.8rem);
  line-height: 0.8em;
  font-weight: 300;
}

.body-small03 {
  font-family: var(--b01-font);
  font-size: clamp(0.7rem, 0.8vw, 0.75rem);
  line-height: 0,8em;
  font-weight: 200;
}

/* LINK */
a {
  color: var(--link-color);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease-in-out;
}

a:hover,
a:focus {
  color: var(--hover-color);
}

a:visited {
  color: var(--visited-color);
}

a:active {
  color: var(--hover-color);
  font-weight: bold;
}

/* ANIMAZIONI */
@keyframes gradientAnimation {
  0% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

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

.text-gradient-animated {
  background: var(--gradient01);
  background-size: 400% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradientAnimation 10s linear infinite;
}

.animated-line01 {
  background: var(--gradient01);
  width: 100%;
  height: 3px;
  background-size: 800% 200%;
  background-repeat: no-repeat;
  background-position: 100% 50%;
  animation: lineAnimation 7s linear infinite;
}
/* SCALA PADDING BOX */
@media (max-width: 1280px) {
  :root {
    --box-padding: 40px;
  }
}
@media (max-width: 1024px) {
  :root {
    --box-padding: 30px;
  }
}
@media (max-width: 768px) {
  :root {
    --box-padding: 20px;
  }
}
@media (max-width: 480px) {
  :root {
    --box-padding: 15px;
  }
}
/* SECTION & BOX */
.section-menu {
  padding: 20px 60px 0 60px;
}
.start-space {
  padding-top: 50px;
}
.section-title {
  padding: 200px 0 100px 0;
}
.section {
  padding: 150px 0;
}
.section-small {
  padding: 20px;
}
.section-full {
  padding: 150px 15%;
}
.section-null {
  padding: 0;
  margin: 0;
}
.box,
.box-null {
  padding: 0;
  margin: 0;
} 
/* Varianti con background e testo visibile */
.box-pad01 { background-color: var(--cc01); color: var(--cw);padding: var(--box-padding); }
.box-pad02 { background-color: var(--cc02); color: var(--cw);padding: var(--box-padding); }
.box-pad03 { background-color: var(--cc03); color: var(--cw);padding: var(--box-padding); }
.box-pad04 { background-color: var(--cc04); color: var(--cb);padding: var(--box-padding); }
.box-pad05 { background-color: var(--cc05); color: var(--cb);padding: var(--box-padding); }
.box-pad06 { background-color: var(--cc06); color: var(--cw);padding: var(--box-padding); }
.box-pad07 { background-color: var(--cc07); color: var(--cw);padding: var(--box-padding); }
.box-pad08 { background-color: var(--cc08); color: var(--cb);padding: var(--box-padding); }
.box-pad09 { background-color: var(--cc09); color: var(--cw);padding: var(--box-padding); }
.box-pad10 { background-color: var(--cc10); color: var(--cw);padding: var(--box-padding); }
.box-pad11 { background-color: var(--cc11); color: var(--cb);padding: var(--box-padding); }
.box-pad12 { background-color: var(--cc12); color: var(--cb);padding: var(--box-padding); }
.box-pad13 { background-color: var(--cc13); color: var(--cw);padding: var(--box-padding); }
.box-pad14 { background-color: var(--cc14); color: var(--cw);padding: var(--box-padding); }

.box-pad-line01 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc01); }
.box-pad-line02 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc02); }
.box-pad-line03 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc03); }
.box-pad-line04 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc04); }
.box-pad-line05 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc05); }
.box-pad-line06 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc06); }
.box-pad-line07 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc07); }
.box-pad-line08 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc08); }
.box-pad-line09 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc09); }
.box-pad-line10 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc10); }
.box-pad-line11 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc11); }
.box-pad-line12 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc12); }
.box-pad-line13 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc13); }
.box-pad-line14 { padding: var(--box-padding); border: 1px solid var(--cg01); border-left: 8px solid var(--cc14); }

.box-hover {
  transition: all 0.2s ease;
  cursor: pointer;
}

.box-hover:hover {
  transform: scale(0.99);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  border-color: var(--hover-color);
}

.box-pad-lt {
  padding: 0 50px;
}
.colum {
  column-gap: 50px;
}
.shadow-box,
.hover-box {
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25);
}
.hover-box:hover {
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25);
}
.box-line {
  border-top: 4px solid var(--cw);
}
.box-line:hover {
  border-top: 4px solid var(--cc02);
}

@media (min-width: 1024px) and (max-width: 1920px) {
  .section-menu {
    padding: 20px 40px 0 40px;
  }
  .section-title,
  .section {
    padding: 100px 50px;
  }
  .section-full {
    padding: 100px 5%;
  }
}

@media (min-width: 767px) and (max-width: 1024px) {
  .section-menu,
  .section-small {
    padding: 40px;
  }
  .section-title,
  .section,
  .section-full {
    padding: 75px 40px;
  }
  .colum {
    column-gap: 30px;
  }
  .section,
  .section-title,
  .section-full,
  .box {
    flex: 1 1 calc(50% - 20px);
  }
}

@media (max-width: 767px) {
  .section-menu {
    padding: 20px;
  }
  .section-title,
  .section,
  .section-full {
    padding: 50px 20px;
  }
}

/* BOTTONI */
.custom-button,
.custom-button-transparent,
.custom-button-white {
  padding: 1px 15px;
  text-align: center;
  text-decoration: none;
  font-family: var(--b02-font);
  font-weight: 500;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.20);
  transition: all 0.4s ease;
}

.custom-button {
  background: var(--cc01);
  color: white;
}

.custom-button-transparent {
  background: transparent;
  border: 1px solid var(--cc04);
  color: white;
}

.custom-button-transparent:hover {
  background: var(--cb);
  color: black;
  transform: scale(0.98);
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.20);
}

.custom-button-white {
  background: #FFF;
  border: 1px solid var(--cc04);
  color: #000;
}

.custom-button-white:hover {
  background: var(--cw);
  color: black;
  transform: scale(0.98);
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.20);
}/* End custom CSS */