/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

/* @link https://utopia.fyi/type/calculator?c=328,16,1.2,1600,18,1.25,8,2,&s=0.75|0.5|0.25,1.5|2|3|4|6|8,s-l|m-2xl&g=s,2xl,2xl,12 */
:root {
  --fluid-min-width: 328;
  --fluid-max-width: 1600;
  --fluid-screen: 100vw;
  --fluid-bp: calc(
      (var(--fluid-screen) - var(--fluid-min-width) / 16 * 1rem) /
        (var(--fluid-max-width) - var(--fluid-min-width))
    );
}
@media screen and (min-width: 1600px) {
  :root {
    --fluid-screen: calc(var(--fluid-max-width) * 1px);
  }
}
:root {
  --f--2-min: 11.11;
  --f--2-max: 11.52;
  --step--2: calc(
      ((var(--f--2-min) / 16) * 1rem) + (var(--f--2-max) - var(--f--2-min)) *
        var(--fluid-bp)
    );
  --f--1-min: 13.33;
  --f--1-max: 14.40;
  --step--1: calc(
      ((var(--f--1-min) / 16) * 1rem) + (var(--f--1-max) - var(--f--1-min)) *
        var(--fluid-bp)
    );
  --f-0-min: 16.00;
  --f-0-max: 18.00;
  --step-0: calc(
      ((var(--f-0-min) / 16) * 1rem) + (var(--f-0-max) - var(--f-0-min)) *
        var(--fluid-bp)
    );
  --f-1-min: 19.20;
  --f-1-max: 22.50;
  --step-1: calc(
      ((var(--f-1-min) / 16) * 1rem) + (var(--f-1-max) - var(--f-1-min)) *
        var(--fluid-bp)
    );
  --f-2-min: 23.04;
  --f-2-max: 28.13;
  --step-2: calc(
      ((var(--f-2-min) / 16) * 1rem) + (var(--f-2-max) - var(--f-2-min)) *
        var(--fluid-bp)
    );
  --f-3-min: 27.65;
  --f-3-max: 35.16;
  --step-3: calc(
      ((var(--f-3-min) / 16) * 1rem) + (var(--f-3-max) - var(--f-3-min)) *
        var(--fluid-bp)
    );
  --f-4-min: 33.18;
  --f-4-max: 43.95;
  --step-4: calc(
      ((var(--f-4-min) / 16) * 1rem) + (var(--f-4-max) - var(--f-4-min)) *
        var(--fluid-bp)
    );
  --f-5-min: 39.81;
  --f-5-max: 54.93;
  --step-5: calc(
      ((var(--f-5-min) / 16) * 1rem) + (var(--f-5-max) - var(--f-5-min)) *
        var(--fluid-bp)
    );
  --f-6-min: 47.78;
  --f-6-max: 68.66;
  --step-6: calc(
      ((var(--f-6-min) / 16) * 1rem) + (var(--f-6-max) - var(--f-6-min)) *
        var(--fluid-bp)
    );
  --f-7-min: 57.33;
  --f-7-max: 85.83;
  --step-7: calc(
      ((var(--f-7-min) / 16) * 1rem) + (var(--f-7-max) - var(--f-7-min)) *
        var(--fluid-bp)
    );
  --f-8-min: 68.80;
  --f-8-max: 107.29;
  --step-8: calc(
      ((var(--f-8-min) / 16) * 1rem) + (var(--f-8-max) - var(--f-8-min)) *
        var(--fluid-bp)
    );
}
/* @link https://utopia.fyi/space/calculator?c=328,16,1.2,1600,18,1.25,8,2,&s=0.75|0.5|0.25,1.5|2|3|4|6|8,s-l|m-2xl|l-2xl|m-xl|m-3xl&g=s,2xl,2xl,12 */
:root {
  --space-3xs: clamp(0.25rem, 0.2339rem + 0.0786vw, 0.3125rem);
  --space-2xs: clamp(0.5rem, 0.4839rem + 0.0786vw, 0.5625rem);
  --space-xs: clamp(0.75rem, 0.7178rem + 0.1572vw, 0.875rem);
  --space-s: clamp(1rem, 0.9678rem + 0.1572vw, 1.125rem);
  --space-m: clamp(1.5rem, 1.4517rem + 0.2358vw, 1.6875rem);
  --space-l: clamp(2rem, 1.9355rem + 0.3145vw, 2.25rem);
  --space-xl: clamp(3rem, 2.9033rem + 0.4717vw, 3.375rem);
  --space-2xl: clamp(4rem, 3.8711rem + 0.6289vw, 4.5rem);
  --space-3xl: clamp(6rem, 5.8066rem + 0.9434vw, 6.75rem);
  --space-4xl: clamp(8rem, 7.7421rem + 1.2579vw, 9rem);
  /* One-up pairs */
  --space-3xs-2xs: clamp(0.25rem, 0.1694rem + 0.3931vw, 0.5625rem);
  --space-2xs-xs: clamp(0.5rem, 0.4033rem + 0.4717vw, 0.875rem);
  --space-xs-s: clamp(0.75rem, 0.6533rem + 0.4717vw, 1.125rem);
  --space-s-m: clamp(1rem, 0.8227rem + 0.8648vw, 1.6875rem);
  --space-m-l: clamp(1.5rem, 1.3066rem + 0.9434vw, 2.25rem);
  --space-l-xl: clamp(2rem, 1.6454rem + 1.7296vw, 3.375rem);
  --space-xl-2xl: clamp(3rem, 2.6132rem + 1.8868vw, 4.5rem);
  --space-2xl-3xl: clamp(4rem, 3.2909rem + 3.4591vw, 6.75rem);
  --space-3xl-4xl: clamp(6rem, 5.2264rem + 3.7736vw, 9rem);
  /* Custom pairs */
  --space-s-l: clamp(1rem, 0.6777rem + 1.5723vw, 2.25rem);
  --space-m-2xl: clamp(1.5rem, 0.7264rem + 3.7736vw, 4.5rem);
  --space-l-2xl: clamp(2rem, 1.3553rem + 3.1447vw, 4.5rem);
  --space-m-xl: clamp(1.5rem, 1.0165rem + 2.3585vw, 3.375rem);
  --space-m-3xl: clamp(1.5rem, 0.1462rem + 6.6038vw, 6.75rem);
}
/* Specifiche 
  Container	364px	 >   1569px
  Gutter	    16px	 >   69px
  Column	    13.00px	 >   56px 
  */
:root {
  --grid-max-width: 98.06rem;
  --grid-gutter: var(--space-s-4xl, clamp(1rem, calc(0rem + 4.4vw), 4.31rem));
  --grid-columns: 12;
}
.ds-container {
  max-width: var(--grid-max-width);
  padding-inline: var(--grid-gutter);
  margin-inline: auto;
}
.ds-grid {
  display: grid;
  gap: var(--grid-gutter);
  max-width: var(--grid-max-width);
  margin: 0 auto;
  grid-template-columns: repeat(12, 1fr);
}
.ds-section {
  padding-top: var(--space-m-4xl);
  padding-bottom: var(--space-m-4xl);
  overflow: hidden;
}
:root {
  --black: #000000;
  --gray-1: #F0F0F2;
  --gray-2: #D3D3D7;
  --gray-3: #B5B5BC;
  --gray-4: #9898A1;
  --gray-5: #7B7B86;
  --gray-6: #616169;
  --gray-7: #46464B;
  --gray-8: #2B2B2E;
  --gray-9: #101011;
  --white: #FFFFFF;
  --color-primary-dark: #071F6D;
  --color-primary-light: #22BACA;
  --color-primary: #095AA7;
  --color-secondary-dark: #D80914;
  --color-secondary-light: #F1E58B;
  --color-secondary: #F4C836;
  --green: #01AD34;
  --text-base: var(--gray-7);
  --link: var(--color-primary);
  --link-hover: var(--color-primary-light);
  --link-active: var(--color-primary-dark);
  --text-light: var(--gray-2);
  --quote: var(--gray-5);
}
.gradient__lightgray {
  background: linear-gradient(180deg, #ffffff 0%, #e7e7e9 0%, #d3d3d7 100%);
}
:root {
  --shadow-grid-card: 0px 30px 60px -12px rgba(50, 50, 93, 0.25), 0px 18px 36px -18px rgba(0, 0, 0, 0.30);
  --sidebar-menu-item: 0px 4px 8px -2px rgba(9, 30, 66, 0.25), 0px 0px 0px 1px rgba(9, 30, 66, 0.08);
  --button-base: 1.95px 1.95px 2.6px 0px rgba(0, 0, 0, 0.15);
}
:root {
  --bordo-inferiore-segnale: 6px;
}
@font-face {
  font-family: "lorabold";
  src: url('../fonts/Lora%20Bold.eot');
  src: url('../fonts/Lora%20Bold.eot#iefix') format("embedded-opentype"), url('../fonts/Lora%20Bold.woff2') format("woff2"), url('../fonts/Lora%20Bold.woff') format("woff"), url('../fonts/Lora%20Bold.svg#Lora%20Bold') format("svg");
  font-weight: 700;
  font-style: normal;
  font-stretch: normal;
  unicode-range: U+0020-2212;
}
@font-face {
  font-family: "loramedium";
  src: url('../fonts/Lora%20Medium.eot');
  src: url('../fonts/Lora%20Medium.eot#iefix') format("embedded-opentype"), url('../fonts/Lora%20Medium.woff2') format("woff2"), url('../fonts/Lora%20Medium.woff') format("woff"), url('../fonts/Lora%20Medium.svg#Lora%20Medium') format("svg");
  font-weight: 500;
  font-style: normal;
  font-stretch: normal;
  unicode-range: U+0020-2212;
}
@font-face {
  font-family: "loramediumitalic";
  src: url('../fonts/Lora%20Medium%20Italic.eot');
  src: url('../fonts/Lora%20Medium%20Italic.eot#iefix') format("embedded-opentype"), url('../fonts/Lora%20Medium%20Italic.woff2') format("woff2"), url('../fonts/Lora%20Medium%20Italic.woff') format("woff"), url('../fonts/Lora%20Medium%20Italic.svg#Lora%20Medium%20Italic') format("svg");
  font-weight: 500;
  font-style: italic;
  font-stretch: normal;
  unicode-range: U+0020-2212;
}
@font-face {
  font-family: "loraitalic";
  src: url('../fonts/Lora%20Italic.eot');
  src: url('../fonts/Lora%20Italic.eot#iefix') format("embedded-opentype"), url('../fonts/Lora%20Italic.woff2') format("woff2"), url('../fonts/Lora%20Italic.woff') format("woff"), url('../fonts/Lora%20Italic.svg#Lora%20Italic') format("svg");
  font-weight: 400;
  font-style: italic;
  font-stretch: normal;
  unicode-range: U+0020-2212;
}
@font-face {
  font-family: "loraregular";
  src: url('../fonts/Lora%20Regular.eot');
  src: url('../fonts/Lora%20Regular.eot#iefix') format("embedded-opentype"), url('../fonts/Lora%20Regular.woff2') format("woff2"), url('../fonts/Lora%20Regular.woff') format("woff"), url('../fonts/Lora%20Regular.svg#Lora%20Regular') format("svg");
  font-weight: 400;
  font-style: normal;
  font-stretch: normal;
  unicode-range: U+0020-2212;
}
@font-face {
  font-family: "poppinsbold";
  src: url('../fonts/poppins-bold-webfont.woff2') format("woff2"), url('../fonts/poppins-bold-webfont.woff') format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "poppinslight";
  src: url('../fonts/poppins-light-webfont.woff2') format("woff2"), url('../fonts/poppins-light-webfont.woff') format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "poppinsregular";
  src: url('../fonts/poppins-regular-webfont.woff2') format("woff2"), url('../fonts/poppins-regular-webfont.woff') format("woff");
  font-weight: normal;
  font-style: normal;
}
/* --------------------------------------------------------------------------- */
.display, .display-2, .display-3, h1, h2, h3, h4, h5, h6 {
  color: var(--text-base);
  font-family: "poppinsbold", Arial, Helvetica, sans-serif;
  line-height: 140%;
}
.display-3 {
  font-size: var(--step-8);
}
.display-2 {
  font-size: var(--step-7);
}
.display {
  font-size: var(--step-6);
}
h1 {
  font-size: var(--step-5);
}
h2 {
  font-size: var(--step-4);
}
h3 {
  font-size: var(--step-3);
}
h4 {
  font-size: var(--step-2);
}
h5 {
  font-size: var(--step-1);
}
p {
  color: var(--text-base);
  font-family: "loraregular", "Times New Roman", Times, serif;
  font-size: var(--step-0);
  line-height: 140%;
}
.small {
  font-size: var(--step--1);
}
.extrasmall {
  font-size: var(--step--2);
}
.heading-light {
  font-family: "poppinslight";
}
.body-bold {
  font-family: "lorabold", "Times New Roman", Times, serif !important;
  letter-spacing: 0.02em;
}
.body-italic {
  font-family: "lortaitalic", serif;
}
.sidebar-menu__module {
  flex-flow: column wrap;
  gap: 4px;
  margin: 0;
}
.sidebar-menu__module li.sidebar-menu__item {
  margin: 0;
  background-color: var(--color-primary);
  border-bottom: var(--bordo-inferiore-segnale) solid var(--white);
  padding: var(--space-2xs) var(--space-s) calc(var(--space-2xs) - var(--bordo-inferiore-segnale)) var(--space-s);
  display: flex;
  flex-flow: row wrap;
  box-shadow: var(--sidebar-menu-item);
}
.sidebar-menu__module li.sidebar-menu__item:hover {
  background-color: var(--color-primary-light);
}
.sidebar-menu__module li.sidebar-menu__item:active {
  background-color: var(--color-primary-dark);
}
.sidebar-menu__module .sidebar-menu-item__link {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
  flex: 1 1 0;
  text-decoration: none !important;
}
.sidebar-menu__module .sidebar-menu-item__link .sidebar-menu-item-link__image-before {
  width: var(--space-l);
  height: auto;
  margin-right: var(--space-2xs);
}
.sidebar-menu__module .sidebar-menu-item__link .sidebar-menu-item-link__title {
  flex: 1 1 0;
  font-size: var(--step-1);
  font-family: "poppinsbold";
  color: var(--white);
  text-align: left;
}
.sidebar-menu__module .sidebar-menu-item__link .sidebar-menu-item-link__image-after {
  flex: 0 0 24px;
  background-image: url('../../../../images/icone/frecce/arrow-2-white.svg');
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-color: transparent;
  width: 24px;
  height: 24px;
}
.title--segnale-bianco .d-flex {
  background-color: #fff;
  border-bottom: var(--bordo-inferiore-segnale) solid var(--black);
  width: 100%;
  align-items: center;
  justify-content: flex-start;
  padding: var(--space-xs) var(--space-s) calc(var(--space-xs) - var(--bordo-inferiore-segnale)) var(--space-s);
  gap: var(--space-2xs);
  box-shadow: var(--sidebar-menu-item);
}
.title--segnale-bianco .d-flex .title__image {
  transform: rotate(90deg);
  flex: 0 0 32px;
  margin: 0;
}
.title--segnale-bianco .d-flex h4 {
  flex: 1 1 0;
  margin: 0;
  font-size: var(--step-1);
}
.grid-card__particle > div {
  padding: var(--space-s-m);
}
.grid-card__particle .tm-content {
  font-family: "loraregular";
}
.feature-cards-grid__module .tm-image, .bottom-card-grid__module .tm-image {
  max-width: var(--space-3xl);
  object-fit: contain;
}
#g-navigation {
  background-color: var(--color-primary) !important;
}
.ds-button {
  background-color: var(--color-primary);
  border: 4px solid var(--white);
  border-radius: 8px;
  color: var(--white);
  padding: var(--space-s) var(--space-l);
  font-family: "poppinsbold";
  letter-spacing: 0.08em;
  box-shadow: var(--button-base);
}
.ds-button:hover {
  background-color: var(--color-primary-light);
}
.ds-button:active {
  background-color: var(--color-primary-dark);
}
.ds-btn--medium {
  padding: var(--space-s) var(--space-xl);
}
.ds-btn--large {
  padding: var(--space-s) var(--space-2xl);
}
.ds-btn--large.ds-btn--has-icon {
  gap: var(--space-m);
}
.ds-btn--large .button__text {
  font-size: var(--step-1);
}
.ds-btn--has-icon {
  display: inline-flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
}
.ds-btn--contatti .button__text {
  display: inline-block;
  flex: 1 1 0;
}
.ds-btn--contatti .button__icon {
  display: block;
  background: url('../../../../images/icone/frecce/arrow-2-white.svg') no-repeat scroll center center transparent;
  background-size: contain;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
}
.ds-btn--vai:before {
  content: "";
  background-color: #fff;
  width: 24px;
  height: 24px;
  display: inline-block;
}
#g-footer .footer-logo__particle .g-content {
  margin-top: 16px;
}
.intro--home {
  background: none !important;
  background-image: url('../../../../images/sfondi/confetti-700.webp') !important;
  background-position: center center !important;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-size: cover !important;
  padding: var(--space-xl) 0 !important;
  position: relative;
}
.intro--home::before {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(34, 185, 202, 0.4);
  z-index: 2;
  top: 0;
  left: 0;
  content: "";
}
.intro--home .g-container {
  position: relative;
  z-index: 3;
}
.intro--home h2, .intro--home p {
  color: var(--gray-1);
}
.intro--home .intro__text p {
  font-family: "loramedium";
  letter-spacing: 0.02em;
}
.section--products-grid {
  background-color: var(--gray-1) !important;
  padding: var(--space-2xl-3xl) var(--space-m-2xl) !important;
}
.section--products-grid .g-container {
  display: flex;
  flex-flow: column wrap;
  align-items: stretch;
  gap: var(--space-l-2xl);
}
.grid--products .el-item {
  box-shadow: var(--shadow-grid-card);
  align-items: center;
  border-radius: var(--space-xs);
  overflow: hidden;
  padding-bottom: var(--space-m-2xl);
}
.grid--products .el-item h3 {
  text-align: center;
  margin-top: var(--space-m) !important;
  text-transform: uppercase;
}
.grid--products .el-item .tm-content {
  padding: var(--space-s) var(--space-m-2xl);
  margin: 0 !important;
  font-family: "loramedium";
  font-size: var(--step-0);
  text-align: center;
}
.grid--products .el-item .jl-button {
  background-color: var(--color-primary);
  border: 4px solid var(--white);
  border-radius: 8px;
  color: var(--white);
  padding: var(--space-xs) var(--space-l);
  font-family: "poppinsbold";
  letter-spacing: 0.08em;
  box-shadow: var(--button-base);
}
.grid--products .el-item .jl-button:hover {
  background-color: var(--color-primary-light);
}
.grid--products .el-item .jl-button:active {
  background-color: var(--color-primary-dark);
}
#g-testimonials .bottom-card-grid__module .tm-content {
  font-family: "loramedium";
  color: var(--text-base);
}
.pg-prodotto #g-container-main {
  background-color: var(--gray-1);
}
.pg-prodotto #g-mainbar, .pg-prodotto #g-sidebar {
  background-color: transparent;
}
.pg-prodotto #g-sidebar .platform-content {
  margin: 0;
  padding: 0;
}
.pg-prodotto #g-sidebar .title__module {
  margin-bottom: 8px;
}
.section-mainbottom {
  padding: var(--space-m-3xl) 0;
}
.section-product-gallery {
  background-color: var(--gray-8);
}
.section-product-gallery .g-container .g-grid {
  padding: var(--space-m-3xl);
}
.section-cta, #g-utility {
  background: url('../../../../images/sfondi/call-to-action-blue-bg.webp') no-repeat scroll center center transparent;
  background-size: cover;
  padding: var(--space-m-2xl) 0;
}
.section-cta .cta__particle, #g-utility .cta__particle {
  text-align: center;
}
.section-cta .cta__particle h3, #g-utility .cta__particle h3 {
  color: var(--color-secondary);
}
.section-cta .cta__particle h5, #g-utility .cta__particle h5 {
  color: var(--gray-1);
  font-family: "poppinsregular";
}
.section-cta .cta__particle .ds-button, #g-utility .cta__particle .ds-button {
  margin-top: var(--space-m);
}
.section-bottom {
  background-color: var(--color-secondary);
  padding: var(--space-m-l) 0 var(--space-m-2xl);
}
.section-bottom .bottom-features-title__module h3, .section-bottom .bottom-features-title__module div {
  color: var(--white);
}
.section-bottom .bottom-features-title__module div {
  margin-top: var(--space-xs) !important;
}
.section-bottom .bottom-card-grid__module {
  margin-top: var(--space-m-2xl);
}
.section-bottom .bottom-card-grid__module .tm-image {
  max-height: 150px;
  width: auto;
}
.section-bottom .bottom-card-grid__module .tm-content {
  font-family: "loramedium";
  font-size: var(--step-0);
}
.address__module {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  background-color: var(--gray-1);
}
.address__module .g-content {
  padding: var(--space-m);
  border-radius: 8px;
  box-shadow: var(--shadow-grid-card);
}
.address__module .contact__container:after {
  content: "";
  display: block;
  justify-self: start;
  width: 80px;
  height: 3px;
  background-color: var(--gray-2);
  margin: var(--space-m) 0 var(--space-s);
}
.address__module .indirizzo, .address__module p {
  font-family: "loramedium";
  font-size: var(--step-0);
  line-height: 135%;
}
.address__module .social-icons-grid h5 {
  flex: 0 0 100%;
  margin-bottom: 0;
}
.address__module .social-icons-grid a {
  font-size: var(--step-3);
  color: var(--color-primary);
  margin-right: var(--space-xs);
}
.address__module .social-icons-grid a:hover {
  color: var(--color-primary-light);
}
.section-contact .contact-form__module {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}
.section-contact .cf-input {
  background-color: transparent;
  border: none;
  border-bottom: 2px solid #fff;
  font-family: "lorabold";
}
.section-contact .cf-input:focus {
  border: none !important;
  border-bottom: 2px solid var(--color-primary-light) !important;
}
.section-contact .cf-input.area-testo {
  background-color: #fff;
  color: var(--text-base);
}
.section-contact .cf-input.area-testo::placeholder {
  color: var(--gray-4);
}
.section-contact .cf-btn {
  font-family: "poppinsbold";
  letter-spacing: 0.02em;
  margin-top: var(--space-s);
}
@media screen and (min-width: 7680px) {
  .intro--home {
    background-image: url('../../../../images/sfondi/confetti-1200.webp') !important;
  }
}
@media screen and (min-width: 1200px) {
  .intro--home {
    background-image: url('../../../../images/sfondi/confetti-1600.webp') !important;
  }
}
@media screen and (min-width: 16000px) {
  .intro--home {
    background-image: url('../../../../images/sfondi/confetti-2000.webp') !important;
  }
}
/*# sourceMappingURL=custom_18.css.map */