/* VARIABLES */
:root {
	--bg: oklch(58% 0.145 205);
	--surface: oklch(100% 0 0);
	--fg: oklch(98% 0.004 240);
	--muted: oklch(88% 0.018 230);
	--border: oklch(100% 0 0 / 0.18);
	--accent: #0081C6;
	--font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
	--font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
	--teal: #81C0E2;
  --teal-dark: #00ABA0;
  --blue: #2F7AD8;
  --blue-dark: #007BC4;
  --dark: #272D38;
  --grey: #3B4559;
  --light: #FAFAFA;
	--navy: oklch(15% 0.038 245);
	--mist: oklch(97% 0.01 220);
  --success: oklch(56% 0.13 155);
  --warn: oklch(71% 0.14 72);
  --text: #212121;
  --muted-sedi: #5F5F5F;
	--radius: 8px;
  --shadow: 0 20px 50px rgba(17, 51, 76, 0.12);
}

body {
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 1.5;
	-webkit-text-size-adjust:100%;
	font-family: var(--font-body);
	font-weight:400;
	color:#585858;
}

a {color:#0081C6; text-decoration: none;-webkit-transition: all 0.3s ease 0s;-moz-transition: all 0.3s ease 0s;-o-transition: all 0.3s ease 0s;transition: all 0.3s ease 0s; }
a:hover, a:focus {text-decoration: none; outline: none; color:#81C0E2}
p {margin-bottom:0; padding-bottom:1rem}
/* TYPOGRAPHY */
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwkT9mI1F55MKw.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwAT9mI1F55MKw.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwgT9mI1F55MKw.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwcT9mI1F55MKw.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwsT9mI1F55MKw.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwoT9mI1F55MKw.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9mI1F54.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvvYwYZ8UA3J58.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvmYwYZ8UA3J58.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvuYwYZ8UA3J58.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvhYwYZ8UA3J58.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvtYwYZ8UA3J58.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvsYwYZ8UA3J58.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwYZ8UA3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* arabic */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  src: url(https://fonts.gstatic.com/s/rubik/v31/iJWEBXyIfDnIV7nEnXu61E_c5IhGzg.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  src: url(https://fonts.gstatic.com/s/rubik/v31/iJWEBXyIfDnIV7nEnXO61E_c5IhGzg.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  src: url(https://fonts.gstatic.com/s/rubik/v31/iJWEBXyIfDnIV7nEnXq61E_c5IhGzg.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* hebrew */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  src: url(https://fonts.gstatic.com/s/rubik/v31/iJWEBXyIfDnIV7nEnXy61E_c5IhGzg.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* latin-ext */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  src: url(https://fonts.gstatic.com/s/rubik/v31/iJWEBXyIfDnIV7nEnXC61E_c5IhGzg.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 900;
  src: url(https://fonts.gstatic.com/s/rubik/v31/iJWEBXyIfDnIV7nEnX661E_c5Ig.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* arabic */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  src: url(https://fonts.gstatic.com/s/rubik/v31/iJWKBXyIfDnIV7nErXyw023e1Ik.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  src: url(https://fonts.gstatic.com/s/rubik/v31/iJWKBXyIfDnIV7nMrXyw023e1Ik.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  src: url(https://fonts.gstatic.com/s/rubik/v31/iJWKBXyIfDnIV7nFrXyw023e1Ik.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* hebrew */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  src: url(https://fonts.gstatic.com/s/rubik/v31/iJWKBXyIfDnIV7nDrXyw023e1Ik.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* latin-ext */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  src: url(https://fonts.gstatic.com/s/rubik/v31/iJWKBXyIfDnIV7nPrXyw023e1Ik.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 900;
  src: url(https://fonts.gstatic.com/s/rubik/v31/iJWKBXyIfDnIV7nBrXyw023e.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.inter-light {font-family: "Inter", sans-serif; font-weight:300}
.inter-bold {font-family: "Inter", sans-serif; font-weight:700}
.rubik {font-family: "Rubik", sans-serif;}
/* CLASSI PER RESPONSIVE */
.show-desktop {display:block}
.show-flex-desktop {display:flex}
.show-mobile {display:none}
.show-flex-mobile {display:none}
.hide-smobile {display:block}
.show-smobile {display:none}
.no-resp {display:block}
.resp {display:none}
.mobile {display:none}
.no-mobile {display:block}
.show-sm {display:none}
.hide-sm {display:block}

/* IMPOSTAZIONI GENERALI */
.float_left, .fl{float:left;}
.float_right, .fr{float:right;}
.clear_both, .clear{clear:both;}
.pointer, .cursor_pointer{cursor:pointer!important;}
.modal {z-index:9999}
.v-none {visibility:hidden}
/* POSIZIONI */
.rel-up {position:relative; z-index:1}
.rel-2 {position:relative; z-index:2}
.rel-sup {position:relative; z-index:3}
.rel {position:relative}
.flex-center {display: flex;align-items: center;justify-content: center;}
.flex-center-top {display: flex; justify-content: center;}
.flex-center-left {display: flex;align-items: center;}
.flex-center-col {display: flex;align-items: center;justify-content: center; flex-direction:column}
.flex-center-col-left {display: flex; flex-direction:column; justify-content: center;}
.flex-center-end-bottom {display: flex; align-items: flex-end; justify-content: flex-end;}
.flex-display {display:flex}
.flex-align {display:flex; align-items: center;}
.allinea-dx {display:flex; justify-content: flex-end;}
.flex-end {display: flex; justify-content: flex-end;}
/* MARGIN E PADDING */
.no-mar, .nomar {margin:0!important;}
.no-mar-l, .nomarl {margin-left:0 !important}
.no-mar-t, .nomart {margin-top:0 !important}
.no-mar-b, .nomarb {margin-bottom:0 !important}
.no-mar-r, .nomarr {margin-right:0 !important}
.no-pad, .nopad {padding:0!important;}
.no-pad-l, .nopadl {padding-left: 0 !important;}
.no-pad-t, .nopadt {padding-top: 0 !important;}
.no-pad-b, .nopadb {padding-bottom: 0 !important;}
.no-pad-r, .nopadr {padding-right: 0 !important;}

.m-10 {margin:10px}
.mr-15 {margin:15px}
.m-20 {margin:20px}
.m-25 {margin:25px}
.m-30 {margin:30px}
.m-35 {margin:35px}
.m-40 {margin:40px}
.m-45 {margin:45px}
.m-50 {margin:50px}
.m-55 {margin:55px}
.m-60 {margin:60px}
.m-65 {margin:65px}
.m-70 {margin:75px}
.m-75 {margin:75px}
.m-80 {margin:80px}
.m-100 {margin:100px}
.m-120 {margin:120px}
.m-140 {margin:140px}

.mtb-10 {margin:10px 0}
.mtb-15 {margin:15px 0}
.mtb-20 {margin:20px 0}
.mtb-25 {margin:25px 0}
.mtb-30 {margin:30px 0}
.mtb-35 {margin:35px 0}
.mtb-40 {margin:40px 0}
.mtb-45 {margin:45px 0}
.mtb-50 {margin:50px 0}
.mtb-55 {margin:55px 0}
.mtb-60 {margin:60px 0}
.mtb-65 {margin:65px 0}
.mtb-70 {margin:70px 0}
.mtb-75 {margin:75px 0}
.mtb-80 {margin:80px 0}
.mtb-100 {margin:100px 0}
.mtb-120 {margin:120px 0}
.mtb-140 {margin:140px 0}

.mrl-10 {margin:0 10px}
.mrl-15 {margin:0 15px}
.mrl-20 {margin:0 20px}
.mrl-25 {margin:0 25px}
.mrl-30 {margin:0 30px}
.mrl-35 {margin:0 35px}
.mrl-40 {margin:0 40px}
.mrl-45 {margin:0 45px}
.mrl-50 {margin:0 50px}
.mrl-55 {margin:0 55px}
.mrl-60 {margin:0 60px}
.mrl-65 {margin:0 65px}
.mrl-70 {margin:0 70px}
.mrl-75 {margin:0 75px}
.mrl-80 {margin:0 80px}
.mrl-100 {margin:0 100px}
.mrl-120 {margin:0 120px}
.mrl-140 {margin:0 140px}

.mr-2 {margin-right:2px !important}
.mr-10 {margin-right:10px}
.mr-5imp {margin-right:10px !important}
.mr-15 {margin-right:15px}
.mr-20 {margin-right:20px}
.mr-25 {margin-right:25px}
.mr-30 {margin-right:30px}
.mr-35 {margin-right:35px}
.mr-40 {margin-right:40px}
.mr-45 {margin-right:45px}
.mr-50 {margin-right:50px}
.mr-55 {margin-right:55px}
.mr-60 {margin-right:60px}
.mr-65 {margin-right:65px}
.mr-70 {margin-right:70px}
.mr-75 {margin-right:75px}
.mr-80 {margin-right:80px}
.mr-100 {margin-right:100px}
.mr-120 {margin-right:120px}
.mr-140 {margin-right:140px}

.ml-10 {margin-left:10px}
.ml-15 {margin-left:15px}
.ml-20 {margin-left:20px}
.ml-25 {margin-left:25px}
.ml-30 {margin-left:30px}
.ml-35 {margin-left:35px}
.ml-40 {margin-left:40px}
.ml-45 {margin-left:45px}
.ml-50 {margin-left:50px}
.ml-55 {margin-left:55px}
.ml-60 {margin-left:60px}
.ml-65 {margin-left:65px}
.ml-70 {margin-left:70px}
.ml-75 {margin-left:75px}
.ml-80 {margin-left:80px}
.ml-100 {margin-left:100px}
.ml-120 {margin-left:120px}
.ml-140 {margin-left:140px}

.mt-10 {margin-top:10px}
.mt-15 {margin-top:15px}
.mt-20 {margin-top:20px}
.mt-25 {margin-top:25px}
.mt-30 {margin-top:30px}
.mt-35 {margin-top:35px}
.mt-40 {margin-top:40px}
.mt-45 {margin-top:45px}
.mt-50 {margin-top:50px}
.mt-55 {margin-top:55px}
.mt-60 {margin-top:60px}
.mt-65 {margin-top:65px}
.mt-70 {margin-top:70px}
.mt-75 {margin-top:75px}
.mt-80 {margin-top:80px}
.mt-100 {margin-top:100px}
.mt-120 {margin-top:120px}
.mt-140 {margin-top:140px}

.mb-10 {margin-bottom:10px}
.mb-15 {margin-bottom:15px}
.mb-20 {margin-bottom:20px}
.mb-25 {margin-bottom:25px}
.mb-30 {margin-bottom:30px}
.mb-35 {margin-bottom:35px}
.mb-40 {margin-bottom:40px}
.mb-45 {margin-bottom:45px}
.mb-50 {margin-bottom:50px}
.mb-55 {margin-bottom:50px}
.mb-60 {margin-bottom:60px}
.mb-65 {margin-bottom:65px}
.mb-70 {margin-bottom:70px}
.mb-75 {margin-bottom:75px}
.mb-80 {margin-bottom:80px}
.mb-100 {margin-bottom:100px}
.mb-120 {margin-bottom:120px}
.mb-140 {margin-bottom:140px}

.p-10 {padding:10px}
.p-15 {padding:15px}
.p-20 {padding:20px}
.p-25 {padding:25px}
.p-30 {padding:30px}
.p-35 {padding:35px}
.p-40 {padding:40px}
.p-45 {padding:45px}
.p-50 {padding:50px}
.p-55 {padding:55px}
.p-60 {padding:60px}
.p-65 {padding:65px}
.p-70 {padding:70px}
.p-75 {padding:75px}
.p-80 {padding:80px}
.p-100 {padding:100px}
.p-120 {padding:120px}
.p-140 {padding:140px}

.ptb-10 {padding:10px 0}
.ptb-15 {padding:15px 0}
.ptb-20 {padding:20px 0}
.ptb-25 {padding:25px 0}
.ptb-30 {padding:30px 0}
.ptb-35 {padding:35px 0}
.ptb-40 {padding:40px 0}
.ptb-45 {padding:45px 0}
.ptb-50 {padding:50px 0}
.ptb-55 {padding:55px 0}
.ptb-60 {padding:60px 0}
.ptb-65 {padding:65px 0}
.ptb-70 {padding:70px 0}
.ptb-75 {padding:75px 0}
.ptb-80 {padding:80px 0}
.ptb-100 {padding:100px 0}
.ptb-120 {padding:120px 0}
.ptb-140 {padding:140px 0}

.prl-10 {padding:0 10px}
.prl-15 {padding:0 15px}
.prl-20 {padding:0 20px}
.prl-25 {padding:0 25px}
.prl-30 {padding:0 30px}
.prl-35 {padding:0 35px}
.prl-40 {padding:0 40px}
.prl-45 {padding:0 45px}
.prl-50 {padding:0 50px}
.prl-55 {padding:0 55px}
.prl-60 {padding:0 60px}
.prl-65 {padding:0 65px}
.prl-70 {padding:0 70px}
.prl-75 {padding:0 75px}
.prl-80 {padding:0 80px}
.prl-100 {padding:0 100px}
.prl-120 {padding:0 120px}
.prl-140 {padding:0 140px}

.pr-10 {padding-right:10px}
.pr-15 {padding-right:15px}
.pr-20 {padding-right:20px}
.pr-25 {padding-right:25px}
.pr-30 {padding-right:30px}
.pr-35 {padding-right:35px}
.pr-40 {padding-right:40px}
.pr-45 {padding-right:45px}
.pr-50 {padding-right:50px}
.pr-55 {padding-right:55px}
.pr-60 {padding-right:60px}
.pr-65 {padding-right:65px}
.pr-70 {padding-right:70px}
.pr-75 {padding-right:75px}
.pr-80 {padding-right:80px}
.pr-100 {padding-right:100px}
.pr-120 {padding-right:120px}
.pr-140 {padding-right:140px}

.pl-10 {padding-left:10px}
.pl-15 {padding-left:15px}
.pl-20 {padding-left:20px}
.pl-25 {padding-left:25px}
.pl-30 {padding-left:30px}
.pl-35 {padding-left:35px}
.pl-40 {padding-left:40px}
.pl-45 {padding-left:45px}
.pl-50 {padding-left:50px}
.pl-55 {padding-left:55px}
.pl-60 {padding-left:60px}
.pl-65 {padding-left:65px}
.pl-70 {padding-left:70px}
.pl-75 {padding-left:75px}
.pl-80 {padding-left:80px}
.pl-100 {padding-left:100px}
.pl-120 {padding-left:120px}
.pl-140 {padding-left:140px}

.pt-10 {padding-top:10px}
.pt-15 {padding-top:15px}
.pt-20 {padding-top:20px}
.pt-25 {padding-top:25px}
.pt-30 {padding-top:30px}
.pt-35 {padding-top:35px}
.pt-40 {padding-top:40px}
.pt-45 {padding-top:45px}
.pt-50 {padding-top:50px}
.pt-55 {padding-top:55px}
.pt-60 {padding-top:60px}
.pt-65 {padding-top:65px}
.pt-70 {padding-top:70px}
.pt-75 {padding-top:75px}
.pt-80 {padding-top:80px}

.pb-10 {padding-bottom:10px}
.pb-15 {padding-bottom:15px}
.pb-20 {padding-bottom:20px}
.pb-25 {padding-bottom:25px}
.pb-30 {padding-bottom:30px}
.pb-35 {padding-bottom:35px}
.pb-40 {padding-bottom:40px}
.pb-45 {padding-bottom:45px}
.pb-50 {padding-bottom:50px}
.pb-55 {padding-bottom:55px}
.pb-60 {padding-bottom:60px}
.pb-65 {padding-bottom:65px}
.pb-70 {padding-bottom:70px}
.pb-75 {padding-bottom:75px}
.pb-80 {padding-bottom:80px}
.pb-100 {padding-bottom:100px}
.pb-120 {padding-bottom:120px}
.pb-140 {padding-bottom:140px}

/* ALTEZZE E LARGEZZE */
.w-auto {width:auto}
.h-auto {height:auto}

/* TITOLI, TESTI, LISTE */
.h1, .h2, .h3, h1, h2, h3, h4 {color:#0081C6; margin-top: 20px;margin-bottom: 20px; font-family: "Rubik", sans-serif;}
.title-h1 {font-size:40px; font-weight:500; margin-top:0; margin-bottom:0}
.title-h2 {font-size:40px; font-weight:500; margin-top:0; margin-bottom:30px}
.title-h3 {font-size:22px; font-weight:500; margin-top:0; margin-bottom:30px;}
.title-h4	{font-size:18px; color:#021A30; margin-top:0; margin-bottom:10px}
.intro .title-h1 {color:#B08D57}
ul.checked {list-style-type: none; padding-left:10px;}
.checked li {position: relative; padding-left: 20px; margin-bottom:10px}
.checked li:before {content: "\f375"; font-family: Ionicons; font-style: normal; font-weight: 400; text-decoration: inherit; position: absolute; left: 0;}
.upper{text-transform:uppercase;}
.bold{font-weight:700;}
.underline{text-decoration:underline;}
.light-text {color:#fff;}
.text-small {font-size:14px}
.text-xsmall {font-size:13px}

/* CONTENITORI E SFONDI*/
.container {padding-right: 15px;padding-left: 15px;}
.container-fluid {padding-left:0px;padding-right:0px;}
.row{margin-left:0;margin-right:0;}
.centered {text-align:center}
.rightend {text-align:right}
.leftend {text-align:left}
.white-bg{background-color:#fff;}
.grey-bg{background-color:#f1f1f1}
.light-grey-bg{background-color:#fafafa}
.white-bg-sfuma {background: linear-gradient(#fefefe, #fff);}
.white-bg-sfumatrasp {background: linear-gradient(0.25turn, #fff 40%, rgba(255,255,255,0));}
.border-dark {border-color: #979797!important;}

/* BOTTONI */
.button a {text-decoration:none;}
a.btn-pieno-w, span.btn-pieno-w, button.btn-pieno-w {background-color:#fff; color:#0081C6; border:1px solid #fff; border-radius:100px; padding:8px 20px;  font-family: "Inter", sans-serif; font-weight:400;}
a.btn-pieno-w:hover, span.btn-pieno-w:hover, button.btn-pieno-w:hover {background-color:#81C0E2; color:#fff; border:1px solid #81C0E2;}
a.btn-out-w, span.btn-out-w, button.btn-out-w {background-color:transparent; color:#fff; border:1px solid #fff; border-radius:100px; padding:8px 20px;  font-family: "Inter", sans-serif; font-weight:400;}
a.btn-out-w:hover, span.btn-out-w:hover, button.btn-out-w:hover, a.btn-out-w.active {background-color:#fff; color:#0081C6; border:1px solid:#fff;}

a.btn-pieno-b, span.btn-pieno-b, button.btn-pieno-b {background-color:#0081C6; color:#fff; border:1px solid #0081C6; border-radius:100px; padding:8px 20px;  font-family: "Inter", sans-serif; font-weight:400;}
a.btn-pieno-b:hover, span.btn-pieno-b:hover, button.btn-pieno-b:hover {background-color:#81C0E2; color:#fff; border:1px solid #81C0E2;}
a.btn-out-b, span.btn-out-b, button.btn-out-b {background-color:transparent; color:#0081C6; border:1px solid #0081C6; border-radius:100px; padding:8px 20px;  font-family: "Inter", sans-serif; font-weight:400;}
a.btn-out-b:hover, span.btn-out-b:hover, button.btn-out-b:hover {background-color:#81C0E2; color:#fff; border:1px solid #81C0E2;}

/* EFFETTI */
.zoom{transform: perspective(1px) translateZ(0px);transition-duration: 0.6s;}
.zoom:hover{transform: scale(1.1);transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);	}

/* CSS SCRIPT */
.blueimp-gallery>.close, .blueimp-gallery>.next, .blueimp-gallery>.play-pause, .blueimp-gallery>.prev, .blueimp-gallery>.slides>.slide>.slide-content {color:#fff !important}
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {background:#81C0E2 !important}
.owl-theme .owl-dots .owl-dot span {background:rgba(129, 192, 226, 0.3) !important;}
.flickity-page-dots .dot {background:#E9E9E9; opacity:1 !important; width:30px;height:8px; border-radius:4px}
.flickity-page-dots .dot.is-selected {background:#20628F !important;}
.flickity-prev-next-button.previous {left:-60px}
.swal2-icon.swal2-success {border-color: #B08D57; color:#B08D57}
.swal2-icon.swal2-success .swal2-success-ring {border:.25em solid rgba(183,153,97,.3) !important}
.swal2-title {font-weight:400 !important}
.swal2-styled.swal2-confirm {background-color:#B08D57 !important; border-radius:50px !important; padding:10px 35px; border:0 !important; box-shadow:none !important}
.swal2-icon.swal2-success [class^=swal2-success-line] {background-color:#B08D57 !important}
/* HEADER TOOLBAR */
.header-toolbar {background-color:#52A986;position:relative}
.header-toolbar .navbar {padding:3px 10px}
.header-toolbar .navbar-dark .navbar-nav .nav-link {color:#fff;font-size:13px;}
.header-toolbar .navbar-dark .navbar-nav .nav-link:hover {color:#E78551}
.header-toolbar [class^="flaticon-"]:before, .header-toolbar [class*=" flaticon-"]:before, .header-toolbar [class^="flaticon-"]:after, .header-toolbar [class*=" flaticon-"]:after {font-size:15px}

/* HEADER*/
.header-menu {position:relative}
.header-menu .logo-header {width:180px}
.droopmenu > li.special-item {height:81px}
.droopmenu > li.special-item > a {background-color:#5DCBA0; border-radius:100px; height: auto; line-height: 1.3; padding: 10px 20px;}
.droopmenu > li.special-item:hover > a {background-color:#E78551; color:#fff}
.droopmenu ul.droopmenu-grid ul.big-menu-col {display:flex; flex-wrap:wrap}
.droopmenu li .big-menu-col.col-spec li {width:33.33%}
.droopmenu li .big-menu-col li {width:50%}
.droopmenu li li.titolo-big-col {width:100%}
.droopmenu-showbg .ham-menu a.text-rotate	{display:none}
.ico-footer-aperto {display:none}
.language-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color:#0081C6;
	border:none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
.language-btn a {font-size:16px; color:#fff}
.language-btn:hover a {color:#fff}
.language-btn:hover {
  transform: scale(1.1);
}

.language-btn.active {
  transform: scale(1.1);
}

.language-btn svg {
  width: 22px;
  height: 22px;
  fill: #fff;
  transition: transform 0.3s ease;
}

.language-btn.active svg {
  transform: rotate(180deg);
}

/* Language Dropdown */
.language-dropdown {
  position: absolute;
  top: calc(100% + 15px);
  right: 0;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  min-width: 180px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px) scale(0.95);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1000;
  overflow: hidden;
}

.language-dropdown.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

/* Arrow */
.language-dropdown::before {
  content: '';
  position: absolute;
  top: -6px;
  right: 20px;
  width: 12px;
  height: 12px;
  background: #fff;
  transform: rotate(45deg);
  box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.05);
}

/* Language Items */
.language-item {
  display: flex;
  align-items: center;
  padding: 15px 20px;
  cursor: pointer;
  transition: all 0.2s ease;
  border-bottom: 1px solid #f0f0f0;
  text-decoration: none;
  color: #333;
}

.language-item:last-child {
  border-bottom: none;
}

.language-item:hover {
  background: linear-gradient(135deg, rgba(82, 169, 134, 0.1) 0%, rgba(47, 122, 216, 0.1) 100%);
  padding-left: 25px;
}

.language-item.active {
  background: linear-gradient(135deg, rgba(82, 169, 134, 0.15) 0%, rgba(47, 122, 216, 0.15) 100%);
}

.language-flag {
  width: 32px;
  height: 24px;
  margin-right: 12px;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.language-name {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 14px;
  color: #333;
  flex: 1;
}

.language-code {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: #2F7AD8;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.language-item.active .language-code {
  color: #52A986;
}

select::-ms-expand {
    display: none;
}
p.lead {font-size:18px; font-weight:500; color:#121212}
.droopmenu-showbg .language-btn {width:28px}
.droopmenu-showbg .dm-nav-brand a img, .droopmenu-showbg .droopmenu-brand img {width:100px}
.header-title {width:45%; padding-top:40px; position:relative; z-index:2}
.header-title .title-h1 {color:#fff; font-size:40px; letter-spacing:1px; margin-top:0; margin-bottom:40px;}
.header-title .title-h1 span {color:#81C0E2}
.header-title .title-h2 {font-size:40px; margin-top:0;}
.header-title .title-h3 {font-size:3rem; margin-top:20px; margin-bottom:20px}
.header-title p.lead {color:#0081C6; font-size:18px; font-weight:500; padding-bottom:15px}
.header-title p {color:#fff; padding-right:100px}
/* ICON TOGGLER MENU*/
.animated-icon1, .animated-icon2, .animated-icon3 {width: 30px;height: 20px;position: relative;margin: 0px;-webkit-transform: rotate(0deg);-moz-transform: rotate(0deg);-o-transform: rotate(0deg);transform: rotate(0deg);-webkit-transition: .5s ease-in-out;-moz-transition: .5s ease-in-out;-o-transition: .5s ease-in-out;transition: .5s ease-in-out;cursor: pointer;}
.animated-icon1 span, .animated-icon2 span, .animated-icon3 span {display: block;position: absolute;height: 3px;width: 100%;border-radius: 9px;opacity: 1;left: 0;-webkit-transform: rotate(0deg);-moz-transform: rotate(0deg);-o-transform: rotate(0deg);transform: rotate(0deg);-webkit-transition: .25s ease-in-out;-moz-transition: .25s ease-in-out;-o-transition: .25s ease-in-out;transition: .25s ease-in-out;}
.animated-icon2 span {background: #2F7AD8;}
.animated-icon2 span:nth-child(1) {top: 0px;}
.animated-icon2 span:nth-child(2), .animated-icon2 span:nth-child(3) {top: 10px;}
.animated-icon2 span:nth-child(4) {top: 20px;}
.animated-icon2.open span:nth-child(1) {top: 11px;width: 0%;left: 50%;}
.animated-icon2.open span:nth-child(2) {-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);-o-transform: rotate(45deg);transform: rotate(45deg);}
.animated-icon2.open span:nth-child(3) {-webkit-transform: rotate(-45deg);-moz-transform: rotate(-45deg);-o-transform: rotate(-45deg);transform: rotate(-45deg);}
.animated-icon2.open span:nth-child(4) {top: 11px;width: 0%;left: 50%;}

/* banner home page*/
.carousel-item {
  height: 500px;
  min-height: 300px;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
	overflow:hidden;
}

/* banner video home page*/
.cont-video,
.video-home{
    position:relative;
    width:100%;
    height:760px;
    min-height:745px;
    overflow:hidden;
}

.video-home video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    z-index:0;
}

.video-home .container{
    position:relative;
    z-index:2;
}

.video-home .overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color:rgba(0,0,0,0.3);
    z-index: 1
}

/* HOME */
.cont-bg-home {overflow: hidden}
/* DOT BOTTOM */
    .section-intro-home .dot-bottom-sx,
    .section-intro-home .dot-bottom-dx {
      position: absolute;
      pointer-events: none;
      z-index: 0;
      opacity: 0;
      background-position: center bottom;
      background-repeat: no-repeat;
      background-size: contain;
      transform: translate3d(0, 130px, 0);
      transition:
        transform 1500ms cubic-bezier(0.16, 1, 0.3, 1),
        opacity 900ms ease;
      will-change: transform, opacity;
    }

    .section-intro-home .dot-bottom-sx {
      left: -20px;
      bottom: -5px;
      width: min(523px, 36vw);
      aspect-ratio: 523 / 338;
      background-image: url("../images/dot-buttom-sx.svg");
      transition-delay: 180ms;
    }

    .section-intro-home .dot-bottom-dx {
      right: 340px;
      bottom: -268px;
      width: min(443px, 31vw);
      aspect-ratio: 443 / 722;
      background-image: url("../images/dot-bottom-dx.svg");
      transition-delay: 280ms;
    }

    .section-intro-home.is-intro-visible .dot-bottom-sx,
    .section-intro-home.is-intro-visible .dot-bottom-dx {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
    /* DOT BOTTOM */
.section-intro-home .dot-up{
      position: absolute;
      top: -265px;
      left: 43%;
      width: min(1133px, 92vw);
      aspect-ratio: 1133 / 754;
      background: url("../images/dot-up.svg") center top / contain no-repeat;
      pointer-events: none;
      z-index: 0;
      opacity: 0;
      transform: translate3d(-50%, -120px, 0);
      transition:
        transform 1400ms cubic-bezier(0.16, 1, 0.3, 1),
        opacity 900ms ease;
      will-change: transform, opacity;
    }

    .section-intro-home.is-intro-visible .dot-up{
      opacity: 1;
      transform: translate3d(-50%, 0, 0);
    }
.section-intro-home {
      position: relative;
      overflow: hidden;
      min-height: 920px;
      padding: clamp(54px, 7vw, 82px) 0 clamp(62px, 8vw, 110px);
    }

    .benefit-map {
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
    }

    .benefit-card {
      pointer-events: auto;
      width: 274px;
      min-height: 253px;
      padding: 36px 21px 28px;
      border: 1px solid rgba(12, 39, 57, 0.12);
      border-radius: 6px;
      background: #fff;
      box-shadow: 0 16px 36px rgba(17, 51, 76, 0.08);
      transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
    }

    .benefit-card:hover,
    .benefit-card:focus-within {
      border-color: rgba(0, 129, 198, 0.25);
      transform: translateY(-3px);
      box-shadow: 0 22px 44px rgba(17, 51, 76, 0.12);
    }

    .benefit-card__header {
      display: grid;
      grid-template-columns: 47px minmax(0, 1fr);
      gap: 16px;
      align-items: center;
      margin-bottom: 30px;
    }

    .benefit-card__icon {
      width: 47px;
      height: 47px;
      display: grid;
      place-items: center;
      border-radius: 6px;
      background: rgba(129, 192, 226, 0.32);
      color: #0081C6;
    }

    .benefit-card__icon svg {
      width: 33px;
      height: 25px;
      display: block;
      overflow: visible;
    }

    .benefit-card__wave {
      stroke-dasharray: 94;
      stroke-dashoffset: 94;
      animation: waveDraw 1400ms cubic-bezier(.22, 1, .36, 1) 240ms forwards;
    }

    .benefit-card__line {
      stroke-dasharray: 120;
      stroke-dashoffset: 120;
      animation: waveDraw 1400ms cubic-bezier(.22, 1, .36, 1) 240ms forwards;
    }

    .benefit-card h3 {
      margin: 0;
      color: #121212;
      font-family: "Rubik", sans-serif;
      font-size: 18px;
      font-weight: 500;
      line-height: 1.15;
      letter-spacing: 0;
    }

    .benefit-card p {
      max-width: 23ch;
      margin: 0;
      color: #585858;
      font-size: 15px;
      line-height: 1.42;
      letter-spacing: 0;
    }

    @keyframes waveDraw {
      to { stroke-dashoffset: 0; }
    }

    .section-cta-footer {
      position: relative;
      z-index: 1;
      overflow: hidden;
      min-height: 267px;
      margin-bottom: -130px;
      padding: 64px 0;
      border-radius: 8px;
      background-color: #0081C6;
      color: #fff;
      isolation: isolate;
    }

    .section-cta-footer .row { min-height: 140px; }

    .section-cta-footer h2 {
      position: relative;
      z-index: 2;
      max-width: 560px;
      margin: 0;
      padding-left: 100px;
    }

    .section-cta-footer h2.title-h2 {
      color: #fff;
      font-family: var(--font-display);
      font-size: clamp(34px, 3.3vw, 42px);
      font-weight: 700;
      line-height: 1.12;
      letter-spacing: -0.02em;
    }

    .section-cta-footer .intro-cta {
      position: relative;
      z-index: 2;
      max-width: 500px;
      padding: 0 100px 0 30px;
    }

    .section-cta-footer .intro-cta p {
      margin: 0;
      padding-bottom: 0;
      color: rgba(255,255,255,0.95);
      font-size: 18px;
      line-height: 1.35;
      letter-spacing: 0;
    }

    .btn-container { display: flex; align-items: center; }
    .pd-flex { display: flex; }
    .t-20 { margin-top: 20px; }

    .btn-pieno-w {
      display: inline-flex;
      min-height: 40px;
      align-items: center;
      justify-content: center;
      padding: 10px 27px;
      border: 1px solid rgba(255,255,255,0.88);
      border-radius: 999px;
      background: #fff;
      color: var(--accent-soft);
      font-size: 15px;
      font-weight: 500;
      line-height: 1;
      letter-spacing: 0.02em;
      text-decoration: none;
      transition: transform 220ms ease, box-shadow 220ms ease, color 220ms ease;
    }

    .btn-pieno-w:hover,
    .btn-pieno-w:focus-visible {
      color: #0081C6;
      transform: translateY(-2px);
      box-shadow: 0 14px 30px rgba(0, 55, 92, 0.18);
    }

    .cta-art {
      position: absolute;
      z-index: 1;
      pointer-events: none;
    }

    .cta-art svg {
      display: block;
      overflow: visible;
    }

    .cta-art-left {
      left: 0;
      bottom: -1px;
      width: 168px;
      height: 267px;
    }

    .cta-art-right {
      right: 0;
      bottom: -1px;
      width: 182px;
      height: 267px;
    }

    .cta-art-dot {
      left: 52.8%;
      top: 112px;
      width: 57px;
      height: 208px;
      transform: translateX(-50%);
    }

    .draw-line,
    .draw-polyline {
      stroke-dasharray: var(--path-length);
      stroke-dashoffset: var(--path-length);
      transition: stroke-dashoffset 1500ms cubic-bezier(.22, 1, .36, 1);
    }

    .draw-line {
      --path-length: 1200;
      transition-duration: 1800ms;
    }

    .draw-polyline {
      --path-length: 236;
      transition-delay: 300ms;
      transition-duration: 1200ms;
    }

    .dot-node {
      opacity: 0;
      transform: scale(0.15);
      transform-origin: 15px 15px;
      transition:
        opacity 520ms ease 1050ms,
        transform 740ms cubic-bezier(.2, 1.4, .32, 1) 1050ms;
    }

    .section-cta-footer.is-visible .draw-line,
    .section-cta-footer.is-visible .draw-polyline {
      stroke-dashoffset: 0;
    }

    .section-cta-footer.is-visible .dot-node {
      opacity: 1;
      transform: scale(1);
    }

    .section-cta-footer.is-visible .cta-art-left {
      animation: ctaFloatLeft 5200ms ease-in-out 1600ms infinite;
    }

    .section-cta-footer.is-visible .cta-art-right {
      animation: ctaFloatRight 5600ms ease-in-out 1700ms infinite;
    }

    .section-cta-footer.is-visible .cta-art-dot {
      animation: ctaPulse 3600ms ease-in-out 1850ms infinite;
    }

    @keyframes ctaFloatLeft {
      0%, 100% { transform: translate3d(0, 0, 0); }
      50% { transform: translate3d(-4px, 6px, 0); }
    }

    @keyframes ctaFloatRight {
      0%, 100% { transform: translate3d(0, 0, 0); }
      50% { transform: translate3d(5px, -5px, 0); }
    }

    @keyframes ctaPulse {
      0%, 100% { transform: translateX(-50%) translateY(0); }
      50% { transform: translateX(-50%) translateY(-8px); }
    }
.section-technology {position:relative; border-radius:8px; background-image:url(../images/bg-tecnologia.jpg); background-size:cover; background-position:left center;}
.section-technology .intro-tech {padding:0 50px; color:#fff}
.section-technology .intro-tech p {padding-right:100px}
.section-technology p.lead {color:#0081C6; font-weight:500; font-size:18px}
.section-technology h2.title-h2 {color:#fff}
.accordion-tech {padding-top:20px}
.accordion-tech .nav-pills .nav-link {background-color:transparent; border:1px solid #fff; color:#fff; border-radius:50px; font-size:14px; text-transform: uppercase;}
.accordion-tech .nav-pills .nav-link.active, .nav-pills .show>.nav-link {background-color:#FFFFFF; border:1px solid #fff; color:#121212;}
.accordion-list {list-style: none; padding:30px 30px 0 30px; margin: 0;}
.accordion-list li {display: flex; align-items: flex-start; margin-bottom: 0px; padding-left: 30px; position: relative;}
.pulse-dot {position: absolute; left: 0; top: 5px; width: 16px; height: 16px; background-color: #0081C6; border-radius: 50%; animation: pulse 2.5s ease-in-out infinite;}
.pulse-dot::before {content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; background-color: #0081C6; border-radius: 50%; animation: pulse-ring 2.5s ease-out infinite; }
@keyframes pulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.1);
        opacity: 0.9;
    }
}
@keyframes pulse-ring {
    0% {
        width: 100%;
        height: 100%;
        opacity: 0.8;
    }
    100% {
        width: 250%;
        height: 250%;
        opacity: 0;
    }
}
.section.section-servizi {padding:0 0 80px 0}
.section.section-servizi .intro {padding: 0 60px 0 50px}
.dot-tech-1 {
  position: absolute;
  top: -220px;
  left: 10%;
  width: 150px;
	height:500px;
  background: url("../images/dot-tech-1.svg") center top / contain no-repeat;
  pointer-events: none;
  z-index: 0;
}
.dot-tech-2 {
  position: absolute;
  top: 340px;
  left: -50px;
  width: 780px;
	height:481px;
  background: url("../images/dot-tech-2.svg") top right / cover no-repeat;
  pointer-events: none;
  z-index: 0;
}
.dot-tech-3 {
  position: absolute;
  bottom: -390px;
  left: 42%;
  width: 441px;
	height:700px;
  background: url("../images/dot-tech-3.svg") center top / contain no-repeat;
  pointer-events: none;
  z-index: 0;
}
.listing-box-servizi {display:flex; flex-wrap:wrap; gap:20px; margin-top:-100px; padding:0 0 0 80px}
.box-margin {margin-top:60px}
.box-margin-neg {margin-top:-60px}
.item-servizio {width:calc(50% - 20px); overflow:hidden; height:400px;}
.item-servizio a {background-color: #F0F0F0; border-radius: 8px; display: flex; flex-wrap:wrap; height:100%; overflow: hidden; position: relative; padding:15px}
.item-servizio a .img-box-list {height:155px; width:100%; overflow: hidden;position:relative; border-radius: 8px;}
.item-servizio a .img-box-list img {-o-object-fit: cover; object-fit: cover; object-position:center center; width:100%; height:100%; transition: all 1.3s;}
.item-servizio a:hover .img-box-list img {transform: scale(1.4); filter: grayscale(100%);}
.item-servizio a .cont-box-list {display:flex; flex-direction:column; width:100%}
.item-servizio a .cont-box-list h3 {color:#121212; font-size:18px; margin-top:15px; margin-bottom:15px}
.item-servizio a:hover .cont-box-list h3 {color:#0081C6}
.item-servizio a .cont-box-list p {color:#585858; padding-bottom:10px}
.item-servizio a .cont-box-list span.btn-round {width:40px; height:40px; border-radius:50%; background-color:#0081C6; color:#fff; display: flex;align-items: center;justify-content: center; margin-left:auto; margin-top:auto}
.item-servizio a:hover .cont-box-list span.btn-round {background-color:#81C0E2}
.section.section-app {background-image:url(../images/bg-app.jpg); background-size:cover; background-position:center center; position:relative; color:#fff}
.section.section-app:before {content:""; width:100%; height:100%; background-color:rgba(15, 14, 58, 0.8); position:absolute; top:0; left:0; z-index:1}
.section-app p.lead {color:#0081C6}
.section-app h2.title-h2 {color:#fff; margin-bottom:0}
.section-app .intro-sx {padding-right:60px}
.section-app .intro-dx {padding-top:60px; padding-right:100px}
.carousel-app {margin-top:60px; overflow:hidden}
.carousel-app .owl-stage-outer{border:1px solid #4C4C4C; border-radius:8px;}
.item-app {border-right: 1px solid #4C4C4C; height:350px; padding:30px;background-color:#171633; position:relative}
.item-app.last-item {border-right: none;}
.item-app .ico-app {width:62px; height:62px; background-color:#0081C6; border-radius:8px; display: flex;align-items: center;justify-content: center; padding:10px}
.item-app .ico-app img {-o-object-fit: contain; object-fit: contain; object-position:center center; width:100%; height:100%;}
.item-app h3 {color:#fff; font-size:18px; margin-top:20px; margin-bottom:20px}
.item-app p {color:#fff; padding-bottom:0; position:relative}
.section.section-work {padding:80px 0 20px 0}
.dot-work-1 {
  position: absolute;
  top: -220px;
  left: 20%;
  width: 334px;
	height:520px;
  background: url("../images/dot-work-1.svg") center top / contain no-repeat;
  pointer-events: none;
  z-index: 0;
}
.dot-work-2 {
  position: absolute;
  top: -340px;
  right: 200px;
  width: 150px;
	height:500px;
  background: url("../images/dot-work-2.svg") top right / contain no-repeat;
  pointer-events: none;
  z-index: 0;
}
.dot-work-3 {
  position: absolute;
  top: 160px;
  right: -50px;
  width: 530px;
	height:170px;
  background: url("../images/dot-work-3.svg") center top / contain no-repeat;
  pointer-events: none;
  z-index: 0;
}
.carousel-case {padding-top:80px; padding-left:20px}
.carousel-case .carousel-cell {width:50%; margin-right: 40px;}
.box-news {height:430px; background-color:#fafafa; border:1px solid rgba(88, 88, 88, 0.3); border-radius:8px; overflow: hidden; position:relative; z-index:1;}
.box-news a {display:flex}
.box-news a .img-box-list {overflow: hidden; width:50%; height:430px; position:relative}
.box-news a .img-box-list img {-o-object-fit: cover; object-fit: cover; object-position:center center; width:100%; height:100%; transition: all 1.3s;}
.box-news a:hover .img-box-list img {transform: scale(1.4); filter: grayscale(100%);}
.box-news a .cont-box-list {position:relative; width:50%; padding:40px}
.box-news a .ico-app {width:62px; height:62px; background-color:#D9ECF6; border-radius:8px; display: flex;align-items: center;justify-content: center; padding:10px}
.box-news .ico-app img {-o-object-fit: contain; object-fit: contain; object-position:center center; width:100%; height:100%;}
.box-news a .cont-box-list h3 {color:#121212; font-size:22px; margin-top:20px; margin-bottom:20px;}
.box-news a .cont-box-list p {color:#585858; padding-bottom:30px}
.box-news a .cont-box-list .btn-out-b {display: inline-flex; align-items: center; width: fit-content;}
.box-news a:hover .cont-box-list .btn-out-b {background-color:#0081C6; border:1px solid #0081C6; color:#fff}
.flickity-button {background:#0081C6; color:#fff; opacity:.5}
.flickity-button:hover {background:#81C0E2; opacity:1}
.carousel-case .flickity-prev-next-button.previous, .carousel-foto-pagina .flickity-prev-next-button.previous {left:-50px}
.carousel-case .flickity-prev-next-button.previous, .carousel-foto-pagina .flickity-prev-next-button.previous {top:inherit; bottom:0}
.carousel-case .flickity-prev-next-button.next, .carousel-foto-pagina .flickity-prev-next-button.next {left:-50px; bottom:70px; top:inherit}
.google-like-section {position: relative; padding:20px 0 !important; background-image:url(../images/bg-research.jpg); background-size:cover; background-position:bottom left; overflow: hidden; height:78vh}
.google-like-section p.lead {color:#0081C6}
.google-like-section h2.title-h2 {color:#fff}
.google-like-section p {color:#fff}
.google-like-inner {min-height: 78vh; align-items: center;}
.content-col {position: relative; z-index: 2; display: flex; align-items: center; min-height: 78vh;}
.content-box {max-width: 520px; padding-right: 120px;}
.content-box span {color:#B79027}
.content-box p {max-width: 460px;}
.cards-col {position: relative; height: 78vh; display: flex; align-items: center; justify-content: center; overflow: hidden;}
.cards-viewport {position: relative; width: 100%; max-width: 620px; height:65vh; overflow: hidden;
	mask-image: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(0,0,0,1) 10%,
        rgba(0,0,0,1) 90%,
        transparent 100%
      );
      -webkit-mask-image: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(0,0,0,1) 10%,
        rgba(0,0,0,1) 90%,
        transparent 100%
      );
}
.cards-track {display: flex; flex-direction: column; gap: 12px; will-change: transform; padding:0;}
.g-card {display:flex; position: relative; background:rgba(18,18,30,0.9); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid #4C4C4C;border-radius:8px; box-shadow:0 12px 40px rgba(40, 40, 40, 0.08), 0 2px 8px rgba(40, 40, 40, 0.04); padding: 0; min-height: 180px; transform-origin: center center; transform: scale(0.92); transition: transform .35s ease, opacity .35s ease, box-shadow .35s ease; overflow:hidden;}
.g-card:hover {opacity:1; transform: scale(0.95); box-shadow:none;}
.g-card.active {opacity: 1; transform: scale(0.95); box-shadow: 0 24px 60px rgba(40, 40, 40, 0.14), 0 6px 20px rgba(40, 40, 40, 0.08);}
.g-card .cont-info-card {display:flex; padding-top:40px; padding-left:30px}
.g-card .card-ruolo {display: flex;align-items: center;justify-content: center; width:45px; height:45px; background-color:#0081C6; border-radius:100px; position:relative}
.g-card .card-ruolo:before {content:""; width:40px; height:3px; background-color:#0081C6; position:absolute; top:50%; left:-40px; margin-top:-1.5px}
.g-card .card-ruolo h5 {color:#fff; font-size:30px; font-weight:500; margin-bottom:0; margin-top:0}
.g-card .text-card {padding:40px 40px 40px 30px}
.g-card .text-card h3 {color:#fff; font-size: 18px; margin-bottom:20px; margin-top:0; font-weight: 500;}
.g-card .text-card p {color:#fff; margin-bottom: 0; font-size:15px}
.section.section-publications {padding:0px 0 80px 0; position:relative}
.dot-pub-1 {
  position: absolute;
  top: -220px;
  left: -280px;
  width: 440px;
	height:720px;
  background: url("../images/dot-pub-1.svg") center top / contain no-repeat;
  pointer-events: none;
  z-index: 0;
}
.dot-pub-2 {
  position: absolute;
  top: 110px;
  right: -200px;
  width: 540px;
	height:160px;
  background: url("../images/dot-pub-2.svg") top right / contain no-repeat;
  pointer-events: none;
  z-index: 0;
}
.dot-pub-3 {
  position: absolute;
  bottom: 0;
  left: -30px;
  width: 720px;
	height:440px;
  background: url("../images/dot-pub-3.svg") center top / contain no-repeat;
  pointer-events: none;
  z-index: 0;
}
.img-pub {width:415px; height:415px; border-radius:8px; overflow: hidden; position:relative}
.img-pub img {-o-object-fit: cover; object-fit: cover; object-position:center center; width:100%; height:100%;}
.carousel-pub {width:75%; margin-left:auto; margin-top:-110px}
.carousel-pub .carousel-cell {width:100%; min-height:273px; margin-right:0}
.carousel-pub .flickity-prev-next-button.previous {left:-50px}
.carousel-pub .flickity-prev-next-button.previous {top:inherit; bottom:-20px}
.carousel-pub .flickity-prev-next-button.next {left:-50px; bottom:35px; top:inherit}
.box-pub a .cont-pub {background-color:#F0F0F0; border-radius:8px; padding:30px 40px}
.box-pub a .cont-pub span {color:#0081C6; font-weight:500}
.box-pub a .cont-pub h4 {color:#121212; font-size:18px; margin-top:15px; margin-bottom:15px}
.box-pub a .cont-pub p {color:#585858; padding-bottom:5px}
.box-pub a:hover .cont-pub h4 {color:#0081C6}
.box-pub a:hover span.btn-text {color:#81C0E2}
/* CTA */
.section.section-cta-consulenza {background: radial-gradient(circle at 6% 0%, oklch(72% 0.18 145 / 0.72) 0 17%, transparent 42%), linear-gradient(116deg, oklch(61% 0.16 160) 0%, oklch(58% 0.15 185) 45%, oklch(52% 0.15 240) 100%); position: relative; padding: 0; --cta-mask-bleed: clamp(42px, 4.6vw, 92px); overflow: hidden;}
.section.section-cta-consulenza .intro {padding: 90px 30px 90px 130px;}
.section.section-cta-consulenza p {color: #fff; padding-right: 60px;}
.section.section-cta-consulenza .row {align-items: stretch;}
.section.section-cta-consulenza .row > [class*="col-"] {display: flex;}
.img-bg-consulenza {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 538px;
  overflow: hidden;

  -webkit-mask-image: url("../images/mask.svg");
  mask-image: url("../images/mask.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: auto 102%;
  mask-size: auto 102%;
  -webkit-mask-position: right center;
  mask-position: right center;
}
.img-bg-consulenza img {
  width: 100%;
  height: 100%;
  min-height: 538px;
  object-fit: cover;
  object-position: center;
}

.archi-mask {
  width: 100%;
  height: 102%;
  background-image: url("../images/archi-mask.svg");
  background-size: auto 102%;
  background-position: right center;
  background-repeat: no-repeat;
  position: absolute;
  top: -1%;
  right: -2px;
  z-index: 1;
  pointer-events: none;
}
/* INTERNE */
.banner-interno {background-size:cover; height:550px; position:relative; background-position:center center}
.banner-interno:before {content:""; width:100%; height:100%; background-color:rgba(0,0,0,0.4); position:absolute; top:0; left:0}
.archi-banner {width:100%; height:765px; background-image:url(../images/archi-mix.svg); background-position:top right; background-repeat:no-repeat; position:absolute; top:190px; right:0; z-index:1}
.titolo-int {position:relative; z-index:2}
.titolo-int h1.title-h1 {color:#fff}
.section {padding:80px 0; position:relative}
.section-breadcrumbs {padding:10px 0; background: radial-gradient(circle at 6% 0%, oklch(72% 0.18 145 / 0.72) 0 17%, transparent 42%), linear-gradient(116deg, oklch(61% 0.16 160) 0%, oklch(58% 0.15 185) 45%, oklch(52% 0.15 240) 100%); color:#fff}
.section-breadcrumbs .container {position:relative; z-index:3}
.breadcrumb-cont {display: flex; align-items: center;}
.breadcrumb-cont, .breadcrumb-cont span {font-size:13px; font-weight:300;}
.breadcrumb-cont i {font-size:6px; padding:0 5px}
.breadcrumb-cont a {color:#fff; text-transform: uppercase;}
.breadcrumb-cont a:hover {color:#fff; text-decoration:underline}
.img-int {border-radius:8px; overflow: hidden; margin-bottom:30px}
.section.section-intro {overflow:hidden}
.section.section-intro .intro {padding:0 40px 40px 90px;}
.testo-pagina {padding:0 100px 0 0}
.section.section-cta-work {padding:0}
.section-cta-work .container-fluid-sticky-right {padding-left:0 !important}
.dettaglio-servizi-page .droopmenu .div-menu .lang-sel select, .dettaglio-prodotto-page .droopmenu .div-menu .lang-sel select {color:#fff}
.dettaglio-servizi-page .langselect, .dettaglio-prodotto-page .langselect {background: url(../images/arrow.svg) 25px / 10px no-repeat transparent;}
.side-menu {background-color:#f0f0f0; border-radius:8px 8px 0 0; padding:40px 20px}
.side-menu h3 {color:##0081C6; font-size:22px; margin-top:0; margin-bottom:20px; text-transform:uppercase;}
.side-menu .cat-list {list-style: none; text-transform:uppercase; padding-left:0}
.side-menu .cat-list li {margin-bottom:15px; position: relative;}
.side-menu .cat-list li a {color:#121212;}
.side-menu .cat-list li a:before {content: "\f3d3"; font-family: Ionicons; font-style: normal; font-weight: 400; text-decoration: inherit; position: absolute; right: 0;}
.side-menu .cat-list li a:hover {color:#81C0E2}
.side-menu .cat-list li a.cat-active {color:#81C0E2;}
.side-cta {background-color:#0081C6; border-radius:0 0 8px 8px; padding: 20px}
.side-cta a {color:#fff; font-size:18px}
.side-cta a:hover {color:#81C0E2}
.side-cta span.btn-round {width:40px; height:40px; border-radius:50%; background-color:#fff; color:#0081C6; display: flex;align-items: center;justify-content: center; margin-left:auto; margin-top:auto}
.side-cta a:hover span.btn-round {background-color:#81C0E2; color:#fff}
/* COMPANY PROFILE */
.section.section-banner-testo {padding:140px 0 0 0; background-image:url(../images/bg-research.jpg); background-size:cover; background-position:center center;}
.section-banner-testo .intro {padding-bottom:60px}
.section-banner-testo .intro p.lead {color:#81C0E2}
.section-banner-testo .intro p {color:#fff}
.section-banner-testo .intro h1.title-h1 {margin-bottom:30px; color:#fff}
.img-banner {width:100%; height:460px; border-radius:8px; overflow:hidden; margin-bottom:-100px; position:relative; z-index:1}
.img-banner img {-o-object-fit: cover; object-fit: cover; object-position:center center; width:100%; height:100%;}
.section.section-testo-profile {padding:160px 0 80px 0; background-color:#fafafa}
.download-page .section.section-testo-profile {padding:80px 0; background-color:#fff}
.section-testo-profile .intro {padding:0 80px}
.section-testo-profile .intro-part {padding:0 80px 0 0}
.section-testo-profile .dot-up, .section-blog-dettaglio .dot-up, .section-intro-dettaglio .dot-up {
      position: absolute;
      top: -265px;
      left: 10%;
      width: min(1133px, 92vw);
      aspect-ratio: 1133 / 754;
      background: url("../images/dot-up.svg") center top / contain no-repeat;
      pointer-events: none;
    }
.grid-box {display: grid; grid-template-columns: repeat(2, 1fr); grid-column-gap: 20px; grid-row-gap: 20px;}
.grid-box .benefit-card {width:100%}
.section.section-bio {margin-bottom:-171px; padding:0; background-image:url(../images/bg-app.jpg); background-size:cover;}
.section.section-bio:before {content:""; width:100%; height:100%; background-color:rgba(15, 14, 58, 0.8); position:absolute; top:0; left:0; z-index:0}
.section.section-bio .intro {padding:80px 80px 80px 0}
.section.section-bio .intro.dx-intro {padding:80px 0 240px 80px}
.img-libro {height:100%}
.img-libro img {-o-object-fit: cover; object-fit: cover; object-position: center center; width: 100%; height: 100%;}
.listing-page {background-color:#fafafa}
.listing-page .section.section-banner-testo {padding:140px 0 160px 0; z-index:1}
.listing-page .section-banner-testo .intro {padding-bottom:0}
.listing-page .section.section-testo-profile {padding:0 0 80px 0}
.listing-page .list-blog {margin-top:-80px; position:relative; z-index:1}
/* OUR STORY */
.google-like-section.story-section {position: relative; padding:20px 0 !important; background-image:none; overflow: hidden; height:78vh}
.google-like-section.story-section p.lead {color:#121212}
.google-like-section.story-section h2.title-h2 {color:#0081C6}
.google-like-section.story-section p {color:#585858}
.story-section .content-box {padding-right:80px; padding-top:80px}
.story-section .g-card {background:#f0f0f0; border:1px solid rgba(12, 39, 57, 0.12);}
.story-section .g-card:hover {border-color: rgba(0, 129, 198, 0.25); transform: translateY(-3px); box-shadow: 0 22px 44px rgba(17, 51, 76, 0.12);}
.story-section .g-card .text-card h5 {color:#0081C6; font-size:26px; font-weight:500}
.story-section .g-card .text-card h3 {color:#121212}
.story-section .dot-tech-2 {top:inherit; bottom:0}
.story-section .dot-tech-3 {left:inherit; right:-200px}
/* PARTNERS */
.evidence-strip.points-partner {border-radius:8px}
.points-partner h3.title-h3 {color:#fff}
.grid-point {display:grid; grid-template-columns: repeat(2, 1fr);}
.grid-point .evidence-item {padding:22px 10px 22px 0}
.grid-point .evidence-item:last-child {border-bottom: 1px solid rgba(255, 255, 255, 0.12);}
.evidence-item h3 {color:#81C0E2}
/* TEAM */
.section.section-team {padding:180px 0 80px}
.team-grid {align-items: stretch;}
.team-card {position: relative; min-height: 420px; background: oklch(100% 0 0); perspective: 1200px; isolation: isolate; border-radius: 8px; margin-bottom: 25px; overflow: hidden;}
.team-card:focus-within {outline: 2px solid color-mix(in oklch, oklch(62% 0.155 215);, white 18%); outline-offset: 4px;}
.team-card-inner {position: absolute; inset: 0; transform-style: preserve-3d; transition: transform 0.7s cubic-bezier(.2,.8,.2,1);}

@media (hover: hover) and (pointer: fine) {
  .team-card:hover .team-card-inner,
  .team-card:focus-within .team-card-inner {
    transform: rotateY(180deg);
  }
}

.team-card.is-open .team-card-inner {transform: rotateY(180deg);}
.team-face {position: absolute; inset: 0; display: flex; flex-direction: column; min-height: 100%; backface-visibility: hidden; -webkit-backface-visibility: hidden; overflow: hidden;}
.team-front {background: oklch(100% 0 0); border: 1px solid oklch(91% 0.008 240); border-radius:8px; overflow: hidden}
.team-back {justify-content: space-between; padding: clamp(24px, 3vw, 34px); background: #0081C6; color: #fff; border-radius:8px; transform: rotateY(180deg);}
.portrait {flex: 1 1 auto; min-height: 290px; position: relative; overflow: hidden; background: radial-gradient(circle at 70% 18%, color-mix(in oklch, oklch(68% 0.12 170), transparent 58%) 0 15%, transparent 16%), linear-gradient(135deg, var(--portrait-a), var(--portrait-b));}
.portrait img {-o-object-fit: cover; object-fit: cover; object-position: center center; width: 100%; height: 100%;}
.member-meta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  min-height: 132px;
  padding: 24px;
  border-top: 1px solid oklch(91% 0.008 240);
}

h2.member-name {
  margin: 0;
  color: oklch(22% 0.02 240);
  font-size: 18px;
}

.member-role {
  margin-top: 8px;
  color: #0081C6;
  font-size: 13px;
  letter-spacing: 0.01em;
}

.toggle-card {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  border: 1px solid oklch(91% 0.008 240);
  border-radius: 50%;
  background: white;
  color: oklch(22% 0.02 240);
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

.toggle-card:hover,
.toggle-card:focus {
  border-color: oklch(62% 0.155 215);
  background: oklch(92% 0.04 210);
}

.team-card.is-open .toggle-card { transform: rotate(45deg); }

.toggle-card svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.8;
}

.bio-eyebrow {
  color: #81C0E2;
  font-size: 13px;
  text-transform: uppercase;
}

.bio-text {
  max-width: 38ch;
  margin: 28px 0 0;
  color:#fff;
  font-size: 15px;
  line-height: 1.5;
}

.bio-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-top: 30px;
  border-top: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.72);
  font-size: 13px;
}

.bio-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  color: white;
  text-decoration: none;
}

.bio-link svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}
/* WHO WE WORK WITH */
.list-who {margin-top:-80px; position:relative; z-index:1}
.list-who .grid-box {grid-template-columns: repeat(2, 1fr);}
.item-cat {border-radius:8px; overflow:hidden}
.item-cat a .latest-img {height:480px; overflow:hidden; position:relative;}
.item-cat a .latest-img:before {content:""; width:100%; height:50%; background: linear-gradient(transparent, #434343); position:absolute; bottom:0; left:0; z-index:1}
.item-cat a:hover .latest-img:before {height:100%; background: linear-gradient(rgb(108 166 197 / 60%), #1d2c50)}
.item-cat a .latest-img img {-o-object-fit: cover; object-fit: cover; object-position:center center; width:100%; height:100%; transition: all 1.3s;}
.item-cat a:hover .latest-img img {transform: scale(1.4); filter: grayscale(100%);}
.item-cat a .latest-title img.ico-settore {width:84px; position:relative; bottom:-50px; transition: transform 250ms;}
.item-cat a .latest-title {position:absolute; bottom:0; left:0; padding:30px; width:100%; z-index:1}
.item-cat a .latest-title h3 {color:#fff; font-size:22px; font-weight:600; margin-top:200px; margin-bottom:20px; position:relative; text-transform:uppercase; bottom:-30px; transition: transform 250ms;}
.item-cat a .latest-title .location {color:#F39B6D; font-size:18px; font-weight:600; line-height:1.3; position:relative; bottom:-220px; text-transform:uppercase; transition: transform 250ms;}
.item-cat a .latest-title .text-cta {color:#fff; position:relative; bottom:-60px; transition: transform 250ms;}
.item-cat a:hover .latest-title h3 {transform: translateY(-30px);}
.item-cat a:hover .latest-title .location {transform: translateY(-30px);}
.item-cat a:hover .latest-title .text-cta {transform: translateY(-60px);}
/* PUBLICATIONS */
.section-list-pub .grid-box {grid-template-columns: repeat(4, 1fr);}
.section-list-pub .box-pub a .cont-pub {height:100%}
/* BLOG */
.list-blog {position:relative;}
.list-blog .grid-box {grid-template-columns: repeat(3, 1fr);}
.list-blog .item-servizio {width:100%; height:100%}
.list-blog .item-servizio a .img-box-list {width:100%; height:200px}
.section.section-blog-dettaglio {padding:180px 0 80px 0}
.section.section-blog-dettaglio .intro {padding:0 80px}
.section-other-news .item-servizio {height:auto}
.section-other-news .item-servizio a {min-height:320px}
.date-news {color:#81C0E2}
.testo-backend h2 {color:#0081C6; font-size:40px; font-weight:500; margin-top:30px; margin-bottom:30px;}
.testo-backend h3 {color:#121212; font-size:22px; font-weight:500; padding-top:20px; margin-bottom:20px;}
.testo-backend h2 strong {font-weight:500;}
.testo-backend h3 strong  {font-weight:500;}
.testo-backend h3.noclass {padding-top:0; margin-top:0}
.testo-backend h4 {font-size:18px; color:#121212; padding-top:20px; margin-bottom:10px; text-transform: uppercase;}
.testo-backend img {max-width: 100%; height: auto; margin-bottom:30px; margin-top:30px; border-radius:8px}
.testo-backend ul {list-style-type: none; padding-left:10px; margin-bottom:30px}
.testo-backend ul li {position: relative; padding-left: 20px; margin-bottom:10px}
.testo-backend ul li:before {content: "\f375"; font-family: Ionicons; font-style: normal; font-weight: 400; text-decoration: inherit; position: absolute; left: 0;}
.testo-backend ol {padding-left:10px; margin-bottom:30px;}
.testo-backend ol li {position: relative; padding-left: 20px; margin-bottom:10px}
.video-responsive {border-radius:8px; position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000; margin-bottom:30px; margin-top:30px;}
.video-responsive iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;}
.section.intro-lead-blog {padding:0;}
.section.intro-lead-blog .cont-intro {background-color:#3B4559; color:#fff; padding:120px 0 80px 0}
.section.intro-lead-blog .cont-intro h2.title-h2 {color:#fff}
.dettaglio-blog-page .h-scroll {opacity: 0.5}
.dettaglio-blog-page .title-h1 {font-size:30px}
.torna {margin-top:40px; padding-top:40px; border-top:1px solid #3B4559}
.sidebar {overflow: auto;position: sticky; top:50px;}
.altri-articoli {padding:40px 20px; background-color:#DBDDE0}
.altri-articoli .cat-list {list-style: none; padding-left:0}
.altri-articoli .cat-list li {margin-bottom:25px; position: relative;}
.altri-articoli  .cat-list li a {color:#3B4559; font-family: 'AvenirLTStd Heavy';}
.altri-articoli  .cat-list li a:before {content: "\f3d3"; font-family: Ionicons; font-style: normal; font-weight: 400; text-decoration: inherit; position: absolute; right: 0;}
.altri-articoli  .cat-list li a:hover {text-decoration: underline;}
.altri-articoli  .cat-list li a.cat-active {color:#E40522;}
.cat-list .img-box-list {position:relative; height:80px; overflow:hidden; width:25%; height:50px; margin-right:10px}
.cat-list  .img-box-list img {-o-object-fit: cover; object-fit: cover; object-position: center center; width: 100%; height: 100%;}
.cat-list .latest-news-title {width:75%; padding-right:15px}
/* SERVIZI */
.pag-dettaglio .hero {z-index:1}
.section.section-intro-dettaglio .intro {padding:0 60px 0 50px}
.pag-dettaglio .evidence-strip {border-radius:8px}
.section-img-dettaglio {height:660px; position:relative}
.section-img-dettaglio img {-o-object-fit: cover; object-fit: cover; object-position:center center; width:100%; height:100%;}
.section-highlights {position:relative; border-radius:8px; background-color:#171633; margin-top:-200px}
.section-highlights .intro-tech {padding:0 50px; color:#fff}
.section-highlights .intro-tech p {padding-right:100px}
.section-highlights p.lead {color:#0081C6; font-weight:500; font-size:18px}
.section-highlights h2.title-h2 {color:#fff}
.highlights-list.grid-box {grid-template-columns: repeat(2, 1fr); padding-right:60px}
.pag-dettaglio .application-card:hover {border:1px solid #0081C6}
.pag-dettaglio .section-app .intro-dx {padding-top:0}
.page-dettaglio .process-wrap {grid-template-columns: minmax(260px, 1fr) minmax(0, 1.18fr);}
.pag-dettaglio .item-app h3 {color:#0081C6}
.section.section-last-settore {padding:0;}
.section.section-last-settore .intro {padding:80px 80px 80px 0}
.section.section-last-settore .intro.dx-intro {padding:80px 0 80px 80px}
/* FAQ */
.faq .overlay-dark-bottom {height:200px; background:linear-gradient(rgba(4, 5, 6,0), rgba(4, 5, 6,1))}
.faq-listing .accordion {background-color:#171633; --bs-accordion-bg:#171633;--bs-accordion-border-color:transparent; --bs-accordion-border-radius:0; --bs-accordion-color: #fff; padding:10px 30px 60px 30px; border-radius:8px;}
.faq-listing .accordion .accordion-item {border-bottom: 1px solid rgba(255,255,255,0.5);}
.faq-listing .accordion .accordion-item button[aria-expanded=true] {border-bottom: 1px solid rgba(255,255,255,0.1);}
.faq-listing .accordion button {position: relative; display: block; text-align: left; width: 100%; padding: 30px 30px 30px 0; color: #fff; font-size: 18px; font-weight: 400; border: none; background: none;outline: none;}
.faq-listing .accordion button:hover, .faq-listing .accordion button:focus {cursor: pointer; color: #81C0E2;}
.faq-listing .accordion button:hover::after, .faq-listing .accordion button:focus::after {cursor: pointer; color: #81C0E2; border: 1px rgba(255,255,255,0.1);}
.faq-listing .accordion button .accordion-title {padding: 1em 1.5em 1em 0;}
.faq-listing .accordion button .icon {display: inline-block; position: absolute; top: 50%; margin-top:-11px; right: 0; width: 22px; height: 22px; border: 1px solid; border-radius: 22px;}
.faq-listing .accordion button .icon::before {display: block; position: absolute; content: ""; top: 9px; left: 5px; width: 10px; height: 2px; background: currentColor;}
.faq-listing .accordion button .icon::after {display: block; position: absolute; content: ""; top: 5px; left: 9px; width: 2px; height: 10px; background: currentColor;}
.faq-listing .accordion button[aria-expanded=true] {color: #81C0E2;}
.faq-listing .accordion button[aria-expanded=true] .icon::after {width: 0;}
.faq-listing .accordion button[aria-expanded=true] + .accordion-content {opacity: 1; max-height: 12em; transition: all 200ms linear; will-change: opacity, max-height;}
.faq-listing .accordion .accordion-content {opacity: 0; max-height: 0; overflow: hidden; transition: opacity 200ms linear, max-height 200ms linear; will-change: opacity, max-height;}
.faq-listing .accordion .accordion-content p {font-size: 15px; font-weight: 300; margin: 2em 0;}
/* TECHNOLOGY */
.page-shell {overflow: clip;}
.hero {position: relative; min-height: 600px; display: grid; align-items: center; padding: 80px 0; color: #fff; background-image:url(../images/bg-tecnologia.jpg); background-size:cover; background-position:center; isolation: isolate;}
.hero:before {content:""; width:100%; height:100%; background:radial-gradient(circle at 70% 18%, rgba(93, 203, 160, 0.24), transparent 28%), linear-gradient(118deg, oklch(21% 0.058 238) 0%, oklch(0.26 0.03 244.75 / 0.73) 48%, oklch(0.58 0.14 245.82 / 0.52) 100%); position:absolute; top:0; left:0; z-index:0}
.hero p.lead {color:#0081C6}
.hero p {font-size:18px;}
.hero h1.title-h1{color:#fff; font-size:40px; letter-spacing:1px; margin-top:0; margin-bottom:40px;}
.hero-actions {margin-top: 38px;}
section { position: relative; padding:80px 0; }
.section-title {
max-width: 830px;
font-size: clamp(2.1rem, 4.2vw, 4rem);
line-height: 1.05;
font-weight: 540;
margin-bottom: 22px;
}

.section-lead {
font-size: clamp(1.03rem, 1.6vw, 1.2rem);
line-height: 1.58;
}

.intro-panel {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius);
box-shadow: var(--shadow);
overflow: hidden;
}

.intro-copy { padding: clamp(28px, 5vw, 58px); }

.evidence-strip {
height: 100%;
min-height: 420px;
padding: clamp(28px, 4vw, 44px);
color: #fff;
background:
  radial-gradient(circle at 24% 18%, rgba(34,129,198,0.18), transparent 25%),
  linear-gradient(155deg, #171633, oklch(30% 0.07 215));
}

.evidence-item {
display: grid;
grid-template-columns: 42px 1fr;
gap: 16px;
padding: 22px 0;
border-bottom: 1px solid rgba(255,255,255,0.12);
}

.evidence-item:last-child { border-bottom: 0; }

.evidence-item span {
width: 42px;
height: 42px;
border-radius: 50%;
display: grid;
place-items: center;
border: 1px solid rgba(255,255,255,0.2);
color: #81C0E2;
font-size: 12px;
letter-spacing: 0.08em;
}

.evidence-item h3 {
margin: 0 0 5px;
font-size: 1.05rem;
font-weight: 560;
}

.evidence-item p {
margin: 0;
color: rgba(255,255,255,0.72);
font-size: 0.94rem;
}

.work-grid {
display: grid;
grid-template-columns: repeat(5, minmax(210px, 1fr));
gap: 14px;
overflow-x: auto;
padding-bottom: 12px;
scroll-snap-type: x mandatory;
}

.work-card {
min-height: 350px;
scroll-snap-align: start;
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 28px;
background: #fff;
border: 1px solid rgba(12, 39, 57, 0.12);
border-radius: var(--radius);
transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.work-card:hover {transform: translateY(-6px); border-color: rgba(0, 129, 198, 0.25); box-shadow: var(--shadow);}
.work-card h3 {margin: 20px 0; color: #121212; font-family: "Rubik", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.15; letter-spacing: 0;}

.carousel-section {background-color:rgba(18,18,30,0.66); color: #fff;background-image:url(../images/bg-tech-int.jpg); background-size:cover;}
.carousel-section:before {content:""; width:100%; height:100%; background-color:rgba(15,14,58,0.8); position:absolute; top:0; left:0; z-index:0}
.carousel-section p.lead {color:#0081C6}
.carousel-section h2.title-h2 {color:#fff}
.carousel-shell {
border: 1px solid rgba(255,255,255,0.14);
border-radius: var(--radius);
background: rgba(255,255,255,0.055);
overflow: hidden;
}

.carousel-track {
display: flex;
transition: transform 450ms cubic-bezier(.2,.8,.2,1);
will-change: transform;
}

.benefit-slide,
.application-slide {
background-color:rgba(18,18,30,0.66);
min-width: 100%;
display: grid;
grid-template-columns: 0.85fr 1.15fr;
gap: clamp(28px, 5vw, 70px);
align-items: center;
padding: clamp(30px, 6vw, 72px);
}

.slide-index {
color: var(--teal);
font-family: var(--font-mono);
font-size: 13px;
letter-spacing: 0.1em;
text-transform: uppercase;
margin-bottom: 18px;
}

.benefit-slide h3,
.application-slide h3 {color: #fff; margin: 0;}

.benefit-slide p,
.application-slide p {
color: rgba(255,255,255,0.76);
font-size: 1.08rem;
margin-top: 22px;
}

.data-panel {
padding: 60px 40px;
border-radius: var(--radius);
background: rgba(255,255,255,0.09);
border: 1px solid rgba(255,255,255,0.14);
}

.signal-row {
display: grid;
grid-template-columns: 120px 1fr;
gap: 16px;
align-items: center;
padding: 15px 0;
border-bottom: 1px solid rgba(255,255,255,0.1);
}

.signal-row:last-child { border-bottom: 0; }

.signal-label {
color: rgba(255,255,255,0.72);
font-family: var(--font-mono);
font-size: 12px;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.signal-line {
height: 8px;
border-radius: 999px;
background: rgba(255,255,255,0.12);
overflow: hidden;
}

.signal-line i {
display: block;
height: 100%;
width: var(--w);
border-radius: inherit;
background: linear-gradient(90deg, var(--teal), rgba(255,255,255,0.82));
transform-origin: left;
transform: scaleX(0);
transition: transform 900ms ease;
}

.in-view .signal-line i { transform: scaleX(1); }

.carousel-controls {
display: flex;
justify-content: space-between;
align-items: center;
gap: 18px;
padding: 18px 22px;
border-top: 1px solid rgba(255,255,255,0.14);
background-color:rgba(18,18,30,0.66);
}

.carousel-dots {
display: flex;
gap: 8px;
align-items: center;
flex-wrap: wrap;
}

.carousel-dot {
width: 30px;
height: 8px;
border: 0;
border-radius: 999px;
background: rgba(255,255,255,0.24);
transition: width 220ms ease, background 220ms ease;
}

.carousel-dot.active {
width: 54px;
background: #fff;
}

.carousel-arrows { display: flex; gap: 10px; }

.round-btn {
width: 44px;
height: 44px;
border: 1px solid rgba(255,255,255,0.22);
border-radius: 50%;
color: #fff;
background: rgba(255,255,255,0.08);
display: grid;
place-items: center;
transition: transform 180ms ease, background 180ms ease;
}

.round-btn:hover {
transform: translateY(-2px);
background: rgba(255,255,255,0.14);
}

.process-wrap {
display: grid;
grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.18fr);
gap: clamp(32px, 6vw, 76px);
align-items: start;
}

.sticky-copy {
position: sticky;
top: 110px;
}

.timeline {
position: relative;
display: grid;
gap: 18px;
}

.timeline:before {
content: "";
position: absolute;
left: 21px;
top: 18px;
bottom: 18px;
width: 1px;
background: color-mix(in oklch, var(--accent), white 50%);
}

.timeline-item {
position: relative;
display: grid;
grid-template-columns: 44px 1fr;
gap: 20px;
align-items: start;
}

.timeline-dot {
width: 44px;
height: 44px;
border-radius: 50%;
display: grid;
place-items: center;
color: #fff;
background: var(--accent);
border: 6px solid var(--mist);
z-index: 1;
font-family: var(--font-mono);
font-size: 11px;
letter-spacing: 0.06em;
}

.timeline-card {
padding: 28px;
border-radius: var(--radius);
background: #fafafa;
border: 1px solid var(--border);
}

.timeline-card h3 {{margin: 20px 0; color: #121212; font-family: "Rubik", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.15; letter-spacing: 0;}}
.section.app-bg {background-image:url(../images/bg-app.jpg); background-size:cover; padding:80px 0 280px; margin-bottom:-171px;}
.application-slide {grid-template-columns: 1fr 1fr;}
.application-list {display: grid; gap: 12px;}
.application-card {padding: 20px 22px;border-radius: var(--radius);background: rgba(255,255,255,0.08);border: 1px solid rgba(255,255,255,0.13);}
.application-card h4 {margin: 0 0 5px;color: #fff;font-size: 18px;}
.application-card p {margin: 0;color: rgba(255,255,255,0.68);}

.cta-band {
padding: clamp(56px, 8vw, 92px);
border-radius: var(--radius);
color: #fff;
background:
  radial-gradient(circle at 92% 22%, rgba(93,203,160,0.22), transparent 25%),
  linear-gradient(130deg, oklch(28% 0.08 220), var(--bg));
overflow: hidden;
position: relative;
}

.cta-band:after {
content: "";
position: absolute;
right: -120px;
bottom: -130px;
width: 420px;
aspect-ratio: 1;
border-radius: 50%;
border: 1px solid rgba(255,255,255,0.16);
}

.cta-band h2 {
max-width: 760px;
font-size: clamp(2rem, 4.5vw, 4.3rem);
line-height: 1.05;
font-weight: 540;
}

.cta-band p {
color: rgba(255,255,255,0.78);
font-size: 1.14rem;
margin: 24px 0 0;
}

.reveal {
opacity: 0;
transform: translateY(28px);
transition: opacity 650ms ease, transform 650ms ease;
}

.reveal.in-view {
opacity: 1;
transform: translateY(0);
}

.mobile-menu {
border: 0;
color: #fff;
background: transparent;
}
/* CONTATTI */
.section.section-contatti {background-image:url(../images/bg-app.jpg); background-size:cover; background-position:left bottom; padding-top:140px; overflow:hidden}
.section.section-contatti:before {content: ""; width: 100%; height: 100%; background-color: rgba(15, 14, 58, 0.8); position: absolute; top: 0; left: 0; z-index: 1;}
.section.section-contatti .titolo-int {text-align: left}
.col-form-contatti {background-color:#fff; padding:60px; border-radius:10px}
.col-form-contatti .titolo-int h1.title-h1 {color:#0081C6}
.col-form-contatti .intro {width:70%; margin-left:auto}
.contatti-page .titolo-int {padding-top:0}
.contatti-page .titolo-int .title-h3 {font-size: 22px; margin-bottom:40px;}
.col-contatti {position:relative; z-index:1}
.col-contatti .cont-contatti {background-color:#0081C6; color:#fff; border-radius:8px; padding:60px; width: 150%;margin-right: -50%;}
.col-contatti .cont-contatti a {color:#fff}
.col-contatti .cont-contatti a:hover {text-decoration: underline; color:#81C0E6}
.col-contatti .cont-contatti h1.title-h1 {color:#fff}
.col-form-contatti .breadcrumb-cont a {color:#0081C6}
.dato-contatto {display: flex;align-items: start; padding-bottom:20px}
.dato-contatto p {padding-bottom:0}
.dato-contatto i {font-size:15px}
.dato-contatto a:hover {color:#81C0E6; text-decoration:underline;}
.col-contatti h5 {font-family: "Rubik", sans-serif; font-weight: 600;margin-bottom:20px}
.come-raggiungerci {padding-left:40px; padding-right:40px}
.come-raggiungerci h4 {margin-top:0}
.dot-cont {
  position: absolute;
  bottom: 70px;
  left: -50px;
  width: 334px;
	height:520px;
  background: url("../images/dot-work-1.svg") center top / contain no-repeat;
  pointer-events: none;
  z-index: 1;
}
.dot-cont-2 {
  position: absolute;
  bottom: 20px;
  right: -50px;
  width: 530px;
	height:170px;
  background: url("../images/dot-work-3.svg") center top / contain no-repeat;
  pointer-events: none;
  z-index: 0;
}
/* CTA FOOTER */
.section.section-cta-footer {background-color:#0081C6; border-radius:8px; color:#fff; margin-bottom:-130px; padding:60px 0; position:relative; overflow:hidden; z-index:1}
.section-cta-footer .intro-cta {padding:0px 100px 0px 30px}
.section-cta-footer .intro-cta p {font-size:18px; padding-bottom:0}
.section-cta-footer h2 {padding:20px 0 20px 100px}
.section-cta-footer h2.title-h2 {color:#fff; margin-bottom:0}
.inno-logo {border-top:1px solid rgba(255,255,255,0.6); margin-top:30px; padding-top:30px}
.inno-logo .logo-inno {background-color:#fff; padding:10px}
.inno-logo img {width:100% !important}
.cont-company-footer {border-right:1px solid rgba(255,255,255,0.6); padding-right:30px}
.cta-art {position: absolute; z-index: 1;pointer-events: none;}
.cta-art svg {display: block;overflow: visible;}
.cta-art-left {left: 0; bottom: 20px; width: 168px; height: 267px;}

    .cta-art-right {
      right: 0;
      bottom: -1px;
      width: 182px;
      height: 267px;
    }

    .cta-art-dot {
      left: 52.8%;
      top: 112px;
      width: 57px;
      height: 208px;
      transform: translateX(-50%);
    }

    .draw-line,
    .draw-polyline {
      stroke-dasharray: var(--path-length);
      stroke-dashoffset: var(--path-length);
      transition: stroke-dashoffset 1500ms cubic-bezier(.22, 1, .36, 1);
    }

    .draw-line {
      --path-length: 1200;
      transition-duration: 1800ms;
    }

    .draw-polyline {
      --path-length: 236;
      transition-delay: 300ms;
      transition-duration: 1200ms;
    }

    .dot-node {
      opacity: 0;
      transform: scale(0.15);
      transform-origin: 15px 15px;
      transition:
        opacity 520ms ease 1050ms,
        transform 740ms cubic-bezier(.2, 1.4, .32, 1) 1050ms;
    }

    .section-cta-footer.is-visible .draw-line,
    .section-cta-footer.is-visible .draw-polyline {
      stroke-dashoffset: 0;
    }

    .section-cta-footer.is-visible .dot-node {
      opacity: 1;
      transform: scale(1);
    }

    .section-cta-footer.is-visible .cta-art-left {
      animation: ctaFloatLeft 5200ms ease-in-out 1600ms infinite;
    }

    .section-cta-footer.is-visible .cta-art-right {
      animation: ctaFloatRight 5600ms ease-in-out 1700ms infinite;
    }

    .section-cta-footer.is-visible .cta-art-dot {
      animation: ctaPulse 3600ms ease-in-out 1850ms infinite;
    }

    @keyframes ctaFloatLeft {
      0%, 100% { transform: translate3d(0, 0, 0); }
      50% { transform: translate3d(-4px, 6px, 0); }
    }

    @keyframes ctaFloatRight {
      0%, 100% { transform: translate3d(0, 0, 0); }
      50% { transform: translate3d(5px, -5px, 0); }
    }

    @keyframes ctaPulse {
      0%, 100% { transform: translateX(-50%) translateY(0); }
      50% { transform: translateX(-50%) translateY(-8px); }
    }
/*FOOTER*/
.footer {background-color:#121212; color:#fff; font-size:13px; padding:200px 0 30px 0; font-weight:300; position:relative; line-height:1.8}
.page-no-cta .footer {padding:80px 0 30px 0}
.logo-footer img {width:120px}
.sub-footer {padding:60px 0 0 0; position:relative;}
.sub-footer a {font-size:13px}
.footer h5 {font-family: "Rubik", sans-serif; font-size:15px; font-weight:600; margin-bottom:20px}
.footer a {font-size:13px; color:#fff}
.footer a:hover {color:#81C0E2}
.footer .contatti-social {display:flex; padding-top:30px}
.footer .contatti-social i {background-color:#fff; color:#4A4A4A; border-radius:50px; padding:2px; height: 31px; width: 31px; display: flex; align-items: center; justify-content: center;}
.footer .contatti-social i:hover {background-color:#81C0E2;}
.dato-footer {display:flex}
.dato-footer p {padding-bottom:0}
.dato-footer i {margin-right:5px}
.loghi-footer {padding-bottom:60px}
.loghi-footer img {margin:0 10px}
.copy{font-size: 12px;color: #fff; font-weight:300}
.copy a{color:#fff;}
.footer-text a span {color:#0081C6;}
.social-icon {color:#fff; font-weight:300; font-size:15px; line-height:1.5; font-family: 'Frank Ruhl Libre', serif; letter-spacing:1px}
.social-icon {margin-bottom:30px; text-align:right}
.circle-icon {background: #fff;width: 24px !important;height: 24px;text-align: center; vertical-align: middle;padding: 5px; color:#333; transition: all 500ms ease; margin-right:10px}
.circle-icon:hover {background: #00ABA0; color:#fff; transition: all 500ms ease; transform: scale(0.9); transition: all 500ms ease;}

/* NEWSLETTER SUBSCRIPTION */
.bg_pre_footer {position:relative; margin-top:-195px; z-index:999}
.box-newsletter {background-color:#2F7AD8; padding:60px 20px; margin-bottom:40px; margin-top:-300px; color:#fff; position:relative; z-index:999;}
.box-newsletter h2 {font-size:18px; margin-top:10px; font-family: 'Frank Ruhl Libre', serif; font-weight:900;}
.bordo-left {background-image:url(../images/bordo-left.svg); background-repeat:no-repeat; background-position:right; background-size:cover}
.titolo-newsletter {padding:40px 40px 84px 40px; text-align:right}
.titolo-newsletter h2 {font-family: 'Frank Ruhl Libre', serif; font-weight:900; font-size:32px; color:#fff; text-transform:uppercase; margin:0}

/* listing */
.testo-listing-news h2 {margin-top:0; margin-bottom:10px; font-size:22px;}
.testo-latest-news h4 {margin-top:0; margin-bottom:10px; font-size:15px;}

/* dettaglio */
.btn-fb {background-color: #3b5998!important;color: #fff!important;}
.btn-tw {background-color: #55acee!important;color: #fff!important;}
.btn-gplus {background-color: #dd4b39!important;color: #fff!important;}
.btn-li {background-color: #0082ca!important;color: #fff!important;}

.blog-post h2 {margin-bottom:30px; font-size: 35px; font-weight: 500; margin-top: 0;}
.blog-post p {margin-bottom:40px; line-height:1.8}
.blog-post img {margin: 0 0 40px 0}
.blog-post iframe {margin: 0 0 40px 0}
.blog-post  ul {list-style-type: none; padding-left:10px; margin-bottom: 40px}
.blog-post li {position: relative; padding-left: 20px; margin-bottom:10px}
.blog-post li:before {content: "\f375"; font-family: Ionicons; font-style: normal; font-weight: 400; text-decoration: inherit; position: absolute; left: 0;}
.blog-meta {background-color:#212F8E; padding:40px}
a.btn-share i {background-color:#81C0E2; border-radius:50%; color:#fff; padding:2px; height: 40px; width: 40px; display: flex; align-items: center; justify-content: center;}
a.btn-share i:hover {background-color:#0081C6; color:#fff}
.social-news .btn-outline-primary {color:#fff; border-radius:0; border:1px solid #fff; padding:10px 20px}
.social-news .btn-outline-primary:hover{color:#fff; border-radius:0; border:1px solid #4F94D6; background-color:#4F94D6}

/* PAGINAZIONE */
.pagination {text-align: center; padding: 20px 0 40px 0; }
.pagination ul {list-style: none; clear: both; display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; }
.pagination__page {font-size: 0.875rem; display: inline-block; width: 40px; height: 40px; border-radius:50%; line-height: 36px; margin: 0 2px; text-align: center; color: #0081C6; vertical-align: middle; white-space: nowrap; border: 1px solid #0081C6; list-style: none; -webkit-transition: 0.2s ease-in-out; transition: 0.2s ease-in-out; }
.pagination a:hover, .pagination a:focus, .pagination__page--active {background-color: #0081C6; color: #fff; border-color: transparent; }
.pagination i {font-size: 0.75rem; }

/* FORM*/
#recaptcha, .grecaptcha-badge {display:none}
.input_home{width:100%;border:1px solid #797979;background:#fff; color:#2B2B2B; border-radius:50px; font-size:15px;padding:10px 16px 10px 16px;margin-bottom:25px; font-weight:300; outline: none;}
select {width:100%;border:1px solid #797979;background:#fff; color:#2B2B2B; border-radius:50px; font-size:15px;padding:10px 16px 10px 16px;margin-bottom:25px; font-weight:300; -webkit-appearance: none;
  -webkit-border-radius: 0px;}
.textarea_home{width:100%;border:1px solid #797979;background:#fff; border-radius:50px; color:#2B2B2B;font-size:15px;padding:10px 16px 10px 16px;margin-bottom:5px; font-weight:300; outline: none;}

.spazio-richieste .input_home{width:100%;border:1px solid #797979;background:rgba(255,255,255,1); color:#2B2B2B; font-size:15px;padding:10px 16px 10px 16px;margin-bottom:25px; font-weight:300; outline: none;}
.spazio-richieste select {width:100%;border:1px solid #797979;background:rgba(255,255,255,1); color:#2B2B2B; font-size:15px;padding:10px 16px 10px 16px;margin-bottom:25px; font-weight:300; -webkit-appearance: none;
  -webkit-border-radius: 0px;}
.spazio-richieste .textarea_home{width:100%;border:1px solid #797979;background:rgba(255,255,255,1); color:#2B2B2B;font-size:15px;padding:10px 16px 10px 16px;margin-bottom:5px; outline: none;}

::placeholder { color:#202020;opacity: 1;}
:-ms-input-placeholder {color: #202020;}
::-ms-input-placeholder {color: #202020;}
textarea::placeholder { color:#202020;opacity: 1;}
textarea:-ms-input-placeholder {color: #202020;}
textarea::-ms-input-placeholder {color: #202020;}
.form-contatti ::placeholder { color:#202020;opacity: 1;}
.form-contatti :-ms-input-placeholder {color: #202020;}
.form-contatti ::-ms-input-placeholder {color: #202020;}
.form-contatti textarea::placeholder { color:#202020;opacity: 1;}
.form-contatti textarea:-ms-input-placeholder {color: #202020;}
.form-contatti textarea::-ms-input-placeholder {color: #202020;}
.form-control:focus {border-color:#3B4559; box-shadow:0 0 0 .25rem rgba(196,198,211,.25)}
input:focus, select:focus, textarea:focus {outline: none}
.privacy {color:#202020;font-size: 12px;cursor:pointer;}
.privacy a{color:#98a0ad;text-decoration:underline;}
.privacy2 {font-size: 14px; font-weight: 300;cursor:pointer;}
.privacy2 a{color:#81C0E2;text-decoration:underline;}
.spazio-richieste .privacy2 a {color:#AD73A9}
.spazio-richieste .privacy2 a:hover {color:#fff}
.privacy2 a:hover{color:#007BC4;}
label.checkbox, label.radio{padding-left: 0px;}
.checkbox, .radio{margin-top:0;margin-bottom:25px;}
#capatcha {display: block; }
#capatcha div iframe {width:100% !important}

/* RICERCA */
.form-control-borderless {border: none;}
.form-control-borderless:hover, .form-control-borderless:active, .form-control-borderless:focus {border: none;outline: none;box-shadow: none;}

/* NUOVA COOKIE BAR */
.show_banner_cookies {position: fixed;   bottom: 0px;   width: 50%;   background: #282B30; color: #fff; z-index: 1000; padding: 30px; left: 0px; font-size: 14px; font-weight:400}
.show_banner_cookies a {color:#0081C6}
.show_banner_cookies a:hover {color:#81C0E2}
.show_banner_cookies a.btn {padding:15px 20px; min-width:210px}
.show_banner_cookies a.btn.btn-white, a.btn.btn-white {background-color:#fff; border:1px solid #fff; color:#333}
.show_banner_cookies a.btn.btn-outline, a.btn.btn-outline {background-color:transparent; border:1px solid #fff; color:#fff}
.show_banner_cookies a.btn.btn-outline-dark, a.btn.btn-outline-dark {background-color:transparent; border:1px solid #0081C6; color:#0081C6}
.show_banner_cookies a.btn.btn-color, a.btn.btn-color {background-color:#0081C6; border:1px solid #0081C6; color:#fff}
.show_banner_cookies a.btn:hover, .bottoni-accetta a.btn:hover {background-color:#0081C6; border: 1px solid #0081C6; color:#fff}
.show_banner_cookies.big-ban {width: 70%;}
.show_banner_cookies.big-ban .col-bottoni-cookie {display: flex; align-items: center; justify-content: center; flex-direction: column;}
.show_banner_cookies.big-ban .btn-foot {text-align:center}
.switch-cont {display:flex}
.switch-item {display: flex; align-items: center; justify-content: center;}
.switch-item-text {display: flex; align-items: center; justify-content: center; margin-left:auto}
.cmn-toggle {position: absolute; margin-left: -9999px; visibility: hidden;}
.cmn-toggle + label {display: block; position: relative; cursor: pointer; outline: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}
input.cmn-toggle-round-flat + label
{
  padding: 2px;
  width: 45px;
  height: 25px;
  background-color: #b7b7b7;
  -webkit-border-radius: 60px;
  -moz-border-radius: 60px;
  -ms-border-radius: 60px;
  -o-border-radius: 60px;
  border-radius: 60px;
  -webkit-transition: background 0.4s;
  -moz-transition: background 0.4s;
  -o-transition: background 0.4s;
  transition: background 0.4s;
	margin-bottom:0;
	margin-left:10px;
}
input.cmn-toggle-round-flat + label:before, input.cmn-toggle-round-flat + label:after {display: block; position: absolute; content: "";}
input.cmn-toggle-round-flat + label:before
{
  top: 2px;
  left: 2px;
  bottom: 2px;
  right: 2px;
  background-color: #fff;
  -webkit-border-radius: 60px;
  -moz-border-radius: 60px;
  -ms-border-radius: 60px;
  -o-border-radius: 60px;
  border-radius: 60px;
  -webkit-transition: background 0.4s;
  -moz-transition: background 0.4s;
  -o-transition: background 0.4s;
  transition: background 0.4s;
}
input.cmn-toggle-round-flat + label:after
{
  top: 4px;
  left: 4px;
  bottom: 4px;
  width: 18px;
  background-color: #b7b7b7;
  -webkit-border-radius: 52px;
  -moz-border-radius: 52px;
  -ms-border-radius: 52px;
  -o-border-radius: 52px;
  border-radius: 52px;
  -webkit-transition: margin 0.4s, background 0.4s;
  -moz-transition: margin 0.4s, background 0.4s;
  -o-transition: margin 0.4s, background 0.4s;
  transition: margin 0.4s, background 0.4s;
}
input.cmn-toggle-round-flat:checked + label {background-color: #0081C6;}
input.cmn-toggle-round-flat:checked + label:after {margin-left: 19px;background-color: #0081C6;}
.para-cookie {display: flex; flex-wrap: wrap; margin-bottom:30px}
.col-switch {display: flex; flex-direction:column; justify-content: center; border-left:1px solid #f2f2f2}
.col-switch .switch-label {font-size:13px; margin-bottom:10px}
.col-switch input.cmn-toggle-round-flat + label {margin-left:0}
.col-switch .switch-page {padding-left:30px}
.bot_ros {box-shadow:none; border:1px solid #040506}
.bottoni-accetta .bot_ros.bot-und {background:transparent; border:1px solid #0081C6; color:#0081C6}
.bottoni-accetta .bot_ros:hover, .bottoni-accetta .bot_ros.bot-und:hover {border:1px solid #ed3042}
.bottoni-accetta .bot_ros.bot-und:hover {background:#ed3042; color:#fff}
.col-custom {position: relative;min-height: 1px;padding-right: 5px;padding-left: 5px;width:20%;float:left;}
.col-custom a .box-scelta{padding:20px;}
/* FINE COOKIES */
/* NUOVA COOKIE BAR */
@media (max-width: 1024px) {
  .show_banner_cookies {position: fixed;  width: 100%;   background: #282B30; color: #fff; z-index: 999999; padding: 30px; left: 0px; font-size: 12px;}
  .switch-item.pl-20 {padding-left:10px}
}

@media only screen and (max-width : 998px) {
  .switch-label {font-size:11px}
}

@media (max-width: 991px) {
  .show_banner_cookies {width:50%}
  .col-switch {border-left:0; border-bottom:1px solid #f2f2f2; padding-bottom:30px}
  .col-switch .switch-page {padding-left:0}
  .show_banner_cookies.big-ban {width:80%}
  .cookiebar-page hr {border-top:0}
}

@media (max-width : 767px) {
  .show_banner_cookies {width:70%}
  .switch-cont {flex-wrap:wrap}
  .switch-item {width:50%; margin-bottom:10px}
  .switch-item.pl-20 {padding-left:0}
  .switch-item-text {margin-top:10px}
  .show_banner_cookies {padding:20px 10px}
  .show_banner_cookies.big-ban .col-bottoni-cookie {flex-direction:row}
  .show_banner_cookies.big-ban .col-bottoni-cookie .btn-foot.mb-20 {margin-bottom:0}
  .show_banner_cookies.big-ban .btn-foot {width:50%}
  .show_banner_cookies a.btn {padding:10px; min-width:90%; font-size:10px}
}

@media (max-width: 575px) {
  .show_banner_cookies {width:90%}
}


/* ERROR PAGE */
.error-page {margin-top:125px}
.error-page .error-span {font-family: 'Frank Ruhl Libre', serif;font-weight: 900;letter-spacing: 1px; font-size:18px; text-transform: uppercase;}
.error-page .error-img {padding-bottom:40px; border-bottom:1px solid #2F7AD8}
.error-page .box-testo-home h3 {font-family: 'Frank Ruhl Libre', serif;font-weight: 900;letter-spacing: 1px; font-size:28px; text-transform: uppercase;}
.error-page .box-testo-home a {display:block}
/* STANDARD */
.section-standard {padding:100px 0}
/* 24 02 19 */
/* popup iscriviti alla newsletter*/
.popup{text-align:center;}
.popup p {font-size:18px}
#popup-article:target{
  display: flex;
}
.popup:before{
  content: "";
  box-sizing: border-box;
  width: 100%;
  background-color: #fff;

  position: fixed;
  left: 0;
  top: 50%;
  will-change: height, top;
  animation: open-animation .6s cubic-bezier(0.83, 0.04, 0, 1.16) .65s both;
}

.popup:after{
  content: "";
  width: 0;
  height: 2px;
  background-color: #f0f0f0;

  will-change: width, opacity;
  animation: line-animation .6s cubic-bezier(0.83, 0.04, 0, 1.16) both;

  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -1px;
}

@keyframes line-animation{

  0%{
    width: 0;
    opacity: 1;
  }

  99%{
    width: 100%;
    opacity: 1;
  }

  100%{
    width: 100%;
    opacity: 0;
  }
}

@keyframes open-animation{

  0%{
    height: 0;
    top: 50%;
  }

  100%{
    height: 600px;
    top: 0;
  }
}

.popup__block{
  height: calc(100vh - 40px);
  padding: 30px;
  box-sizing: border-box;
  position: relative;

  margin: auto;
  overflow: auto;
  animation: fade .5s ease-out 1.3s both;
}

@keyframes fade{

  0%{
    opacity: 0;
  }

  100%{
    opacity: 1;
  }
}

.popup__title{
  font-size: 2.5rem;
  margin: 0 0 1em;
}

.modal-footer ul li {
   display: inline-block;
   width: 50%;
   float:left;
}
.modal-footer ul li button {
   width: 100%;
   border-radius: 0;
}
ul li:first-of-type button {
   color:#000;
   font-size:12px;
   background-color:transparent;
}
ul li:last-of-type button {
   background: #43e97b;
}

.button_pop {
   display: inline-block;
   min-width: 200px;
   height: 60px;
   line-height: 60px;
   border: none;
   color: #fff;
   font-size: 15px;
   letter-spacing: 1px;
   cursor: pointer;
   transition: all .3s
}
.input_pop{border: 0;
	background:#f1f1f1);
	color: #000;
	font-size: 14px;
	border: 1px solid #e5e5e5;
	padding: 10px 15px;
	width: 100%;}

.nego{transition: all 0.3s;}
.nego:hover{color:red;}
