:root {
  --bg: #f7faf8;
  --text: #0e0e0d;
  --primary: #1a7d44;
  --untitled-ui--gray700: #344054;
  --untitled-ui--gray200: #eaecf0;
  --text-new: rgba(33, 39, 36, .72);
  --color-shadow: rgba(49, 202, 114, .85);
  --bg-service-lottie: #212724;
  --untitled-ui--white: white;
  --untitled-ui--gray300: #d0d5dd;
  --accent: #eccf36;
  --untitled-ui--gray600: #475467;
  --untitled-ui--gray500: #667085;
  --untitled-ui--primary100: #f4ebff;
  --untitled-ui--gray800: #1d2939;
  --untitled-ui--gray100: #f2f4f7;
  --untitled-ui--gray50: #f9fafb;
  --untitled-ui--primary700: #6941c6;
  --untitled-ui--primary600: #7f56d9;
  --untitled-ui--gray900: #101828;
  --untitled-ui--primary200: #e9d7fe;
  --untitled-ui--primary900: #42307d;
  --untitled-ui--primary300: #d6bbfb;
  --untitled-ui--primary50-2: #f9f5ff;
  --untitled-ui--primary500: #9e77ed;
  --secondary-temp: #b6c8ad;
  --untitled-ui--primary800: #53389e;
  --accent-civile: #13533d;
  --accent-civile-bg: rgba(175, 248, 223, .54);
  --accent-industriale-bg: #dfd5ff;
  --untitled-ui--gray25: #fcfcfd;
  --secondary: #cdffe2;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.w-layout-hflex {
  flex-direction: row;
  align-items: flex-start;
  display: flex;
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.w-layout-layout {
  grid-row-gap: 20px;
  grid-column-gap: 20px;
  grid-auto-columns: 1fr;
  justify-content: center;
  padding: 20px;
}

.w-layout-cell {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

.body {
  background-color: var(--bg);
  color: var(--text);
  font-family: Inter, sans-serif;
}

.hero-section {
  background-image: linear-gradient(90deg, rgba(33, 39, 36, .97), rgba(205, 255, 226, 0) 100%, rgba(205, 255, 226, 0)), url('../images/Hero-section-bg-ecoimpianti.jpg');
  background-position: 0 0, 50%;
  background-size: auto, cover;
  max-width: 100%;
  height: 600px;
  margin-top: 0;
  padding-top: 50px;
  padding-bottom: 0;
  overflow: visible;
}

.primary-heading {
  background-image: linear-gradient(92deg, var(--primary), rgba(236, 207, 54, .84));
  color: var(--primary);
  letter-spacing: -.3px;
  -webkit-text-stroke-width: 0px;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  justify-content: center;
  align-items: center;
  margin-top: 150px;
  margin-bottom: 0;
  padding: 30px 40px 0 0;
  font-family: Plein, sans-serif;
  font-weight: 700;
  line-height: 48px;
  display: block;
}

.primary-heading.form-heading-mobile-v {
  color: var(--untitled-ui--gray700);
  margin-top: 0;
  padding-left: 40px;
}

.navbar {
  color: var(--bg);
  background-color: rgba(255, 255, 255, 0);
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: none;
  height: 80px;
  display: flex;
  position: fixed;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: 0%;
  box-shadow: 0 7px 20px -12px rgba(102, 112, 133, .22);
}

.hero-paragraph {
  color: var(--untitled-ui--gray200);
  width: 400px;
  margin-top: 15px;
  margin-left: 0;
  margin-right: 40px;
  font-family: Switzer, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 21px;
}

.hero-paragraph.form-p {
  color: var(--text-new);
  width: auto;
  padding-left: 40px;
}

.primary-button {
  border: 1px solid var(--primary);
  background-color: var(--primary);
  color: #fff;
  text-align: center;
  border-radius: 7px;
  width: 100%;
  margin-left: 0;
  margin-right: 30px;
  padding: 15px 22px;
  font-size: 18px;
  transition: all .2s linear;
  display: inline-block;
}

.primary-button:hover {
  box-shadow: 0 5px 20px -6px var(--color-shadow);
  color: #fff;
  font-family: Switzer, sans-serif;
  transform: translate(0, -3px);
}

.primary-button.form-button-top-space {
  color: #fafffc;
  text-align: left;
  cursor: pointer;
  border-width: 0;
  width: auto;
  margin-top: 20px;
  font-family: Plein, sans-serif;
  font-size: 17px;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.25, .46, .45, .94);
}

.primary-button.form-button-top-space:hover {
  background-image: linear-gradient(90deg, var(--primary), rgba(236, 207, 54, .35));
  box-shadow: 0 5px 20px -4px rgba(49, 202, 114, .85);
}

.primary-button.form-button-top-space.mail-button {
  margin-bottom: 40px;
  margin-left: 40px;
}

.primary-button.form-button-top-space.mail-button.cell-phone-button {
  margin-left: 0;
}

.primary-button.hero-primary--button {
  color: #f4fff8;
  border-width: 0;
  width: auto;
  margin-top: 15px;
  margin-left: 0;
  font-family: Plein, sans-serif;
  font-size: 17px;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.25, .46, .45, .94);
}

.primary-button.hero-primary--button:hover {
  background-image: linear-gradient(90deg, var(--primary), rgba(236, 207, 54, .35));
  box-shadow: 0 5px 20px -4px var(--color-shadow);
}

.service-section {
  max-width: 100%;
  padding-top: 60px;
  padding-bottom: 60px;
}

.section-container {
  max-width: 1400px;
  margin-top: 0;
  margin-bottom: 50px;
  padding-left: 40px;
  padding-right: 40px;
}

.section-container.form-container {
  margin-top: 30px;
}

.section-title-heading {
  color: var(--bg-service-lottie);
  -webkit-text-fill-color: inherit;
  background-clip: border-box;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 20px;
  font-family: Plein, sans-serif;
  font-weight: 700;
  display: block;
}

.service-container {
  max-width: 1400px;
  margin-top: 30px;
}

.service-grid {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  justify-items: stretch;
  display: grid;
}

.service-element {
  background-color: var(--bg);
  box-shadow: 0 5px 15px 3px var(--untitled-ui--gray200);
  cursor: pointer;
  border-radius: 9px;
  padding: 30px;
  transition: all .15s cubic-bezier(.25, .46, .45, .94);
}

.service-element:hover {
  background-color: var(--untitled-ui--white);
  pointer-events: auto;
  transform: translate(0, -3px);
  box-shadow: 0 12px 50px -20px rgba(36, 134, 78, .45);
}

.service-element-lottie {
  padding: 0 50px;
}

.service-element-lottie.lottie-stack-perc {
  flex-direction: row;
  justify-content: center;
  align-self: center;
  align-items: center;
  width: 40%;
  padding-left: 0;
  padding-right: 0;
  font-size: 14px;
  line-height: 20px;
  display: block;
}

.service-element-title {
  color: var(--bg-service-lottie);
  margin-bottom: 0;
  font-family: Plein, sans-serif;
  font-size: 19px;
  line-height: 25px;
}

.service-element-title.service-element-perk-title {
  color: var(--bg);
}

.service-element-description {
  color: var(--text-new);
  max-width: 500px;
  margin-top: 10px;
  margin-bottom: 0;
  font-family: Switzer, sans-serif;
  line-height: 21px;
}

.service-element-description.service-perk-description {
  color: var(--untitled-ui--gray300);
}

.link-block {
  color: var(--text);
  text-decoration: none;
}

.partner-testimonial-section {
  max-width: 100%;
  padding-top: 30px;
  padding-bottom: 0;
  overflow: hidden;
}

.contact-section {
  background-image: url('../images/retro-form-home-eco.jpg');
  background-position: 50% 100%;
  background-size: cover;
  background-attachment: fixed;
  padding-top: 60px;
  padding-bottom: 90px;
}

.contact-form-container {
  background-color: var(--bg);
  border-radius: 9px;
  max-width: 500px;
}

.service-tag-container {
  grid-column-gap: 0px;
  -webkit-text-fill-color: inherit;
  background-clip: border-box;
  margin-top: 10px;
  margin-left: 0;
  margin-right: 0;
  display: flex;
}

.tag-civile {
  color: var(--primary);
  -webkit-text-stroke-color: var(--primary);
  background-image: linear-gradient(rgba(26, 125, 68, .25), rgba(26, 125, 68, .25));
  border-radius: 5px;
  padding: 3px 8px 3px 9px;
  font-family: Switzer, sans-serif;
  font-size: 12px;
  font-weight: 400;
}

.tag-industriale {
  color: #857523;
  background-image: linear-gradient(rgba(236, 207, 54, .25), rgba(236, 207, 54, .25));
  border-radius: 5px;
  margin-left: 10px;
  padding: 3px 8px;
  font-family: Switzer, sans-serif;
  font-size: 12px;
}

.container {
  clear: both;
  flex-flow: row;
  flex: none;
  order: 0;
  justify-content: flex-start;
  align-self: auto;
  align-items: center;
  width: auto;
  min-width: 0;
  max-width: 1400px;
  height: 100%;
  margin-left: 0;
  margin-right: 0;
  display: flex;
}

.nav-link {
  color: var(--bg);
  font-family: Switzer, sans-serif;
  font-size: 16px;
  font-weight: 500;
  transition: all .3s;
}

.nav-link:hover {
  color: var(--primary);
  transform: translate(0, -3px);
}

.nav-link.w--current {
  color: var(--bg);
  text-decoration: none;
}

.nav-link.w--current:hover {
  color: var(--primary);
}

.nav-menu {
  clear: both;
  flex: none;
  order: 0;
  justify-content: center;
  align-self: center;
  align-items: center;
  margin-left: 600px;
  display: block;
  position: relative;
  right: auto;
}

.brand {
  clear: left;
  margin-top: 0;
  position: relative;
}

.testimonial-parent-section {
  background-color: rgba(226, 231, 228, .5);
  max-width: 100%;
  margin-top: 30px;
}

.partner-grid-container {
  width: auto;
  max-width: 1300px;
  margin-top: 25px;
  margin-bottom: 25px;
  padding-top: 0;
  display: flex;
  overflow: hidden;
}

.footer-section {
  background-color: var(--bg-service-lottie);
}

.footer-text {
  color: var(--bg);
  max-width: 600px;
  margin-top: 5px;
  margin-bottom: 0;
  padding-bottom: 0;
  font-family: Switzer, sans-serif;
  line-height: 25px;
}

.footer-text.w--current {
  text-decoration: none;
}

.footer-text.footer-text-link {
  color: var(--bg);
  font-size: 15px;
  display: block;
}

.footer-text.footer-text-link:hover {
  background-image: linear-gradient(90deg, var(--primary), var(--accent) 24%);
  transform: none;
}

.footer-text.footer-text-link.w--current {
  color: var(--bg);
  cursor: pointer;
  font-size: 15px;
  transition: all .15s cubic-bezier(.25, .46, .45, .94);
  display: block;
}

.footer-text.footer-text-link.w--current:hover {
  transform: none;
}

.service-video-section {
  min-height: auto;
  margin-top: 88px;
}

.service-list-section.service-list-perk-container {
  background-color: var(--bg-service-lottie);
  margin-top: 0;
  padding-top: 30px;
}

.service-list-title {
  color: var(--bg-service-lottie);
  text-align: left;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
  font-family: Plein, sans-serif;
}

.bold-text, .bold-text-2, .bold-text-3, .bold-text-p {
  font-weight: 600;
}

.footer-grid {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  justify-content: space-around;
  margin-top: 70px;
  margin-bottom: 70px;
}

.footer-grid-container {
  width: 100%;
  height: 100%;
}

.footer-heading {
  color: var(--bg);
  margin-bottom: 0;
  font-family: Plein, sans-serif;
}

.section-navbar {
  z-index: 5;
  background-color: var(--untitled-ui--white);
  height: 80px;
  margin-left: 0;
  margin-right: 0;
  display: block;
  position: fixed;
  top: 0%;
  bottom: auto;
  left: 0;
  right: 0%;
  box-shadow: 0 6px 20px -5px rgba(0, 0, 0, .05);
}

.container-10 {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-direction: row;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
  min-height: 70px;
  margin-left: 0;
  margin-right: 0;
  display: inline;
}

.navbar-3 {
  background-color: rgba(0, 0, 0, 0);
  min-height: 70px;
  margin-top: 10px;
}

.image-3 {
  flex: 0 auto;
  order: 0;
  align-self: center;
  height: 60px;
  padding-top: 0;
  padding-left: 0;
  display: block;
}

.brand-2 {
  align-items: stretch;
  display: flex;
}

.container-9 {
  background-color: var(--untitled-ui--white);
  max-width: 1400px;
  height: 100%;
  padding-left: 60px;
  padding-right: 60px;
}

.navbar-link-copy {
  color: var(--untitled-ui--gray600);
  letter-spacing: .8px;
  cursor: pointer;
  padding-left: 35px;
  padding-right: 35px;
  font-family: Switzer, sans-serif;
  font-size: 15px;
  font-weight: 500;
  transition: all .15s cubic-bezier(.25, .46, .45, .94);
}

.navbar-link-copy:hover {
  color: var(--primary);
  transform: translate(0, -2px);
}

.navbar-link-copy.w--current {
  color: var(--untitled-ui--gray600);
  text-decoration: none;
}

.navbar-link-copy.w--current:hover {
  color: var(--primary);
}

.bold-text-6, .bold-text-7 {
  font-weight: 600;
}

.tag-ecosostenibile {
  color: #444d57;
  background-color: #caddf3;
  border-radius: 5px;
  margin-left: 10px;
  padding: 3px 8px;
  font-family: Switzer, sans-serif;
  font-size: 12px;
}

.service-stack-perk {
  border-right: 1px solid var(--untitled-ui--gray500);
  border-radius: 0;
  flex-direction: column;
  width: 100%;
  max-width: none;
  height: 100%;
  margin-left: 0;
  margin-right: 0;
  padding: 20px 25px 25px;
  display: flex;
}

.service-stack-perk.service-stack-perc-noborder {
  border-right-width: 0;
}

.service-list-gallery-section {
  width: 100%;
  min-width: 100%;
  min-height: auto;
  margin-top: 30px;
}

.service-perk-grid {
  border: 0 solid #000;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-top: 30px;
  padding-bottom: 60px;
}

.slider-service {
  width: 100%;
  height: auto;
}

.navbar-no-shadow {
  z-index: 999;
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
  background-color: rgba(33, 39, 36, .8);
  position: fixed;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: 0%;
  box-shadow: 0 3px 9px -1px rgba(0, 0, 0, .15);
}

.navbar-no-shadow-container {
  z-index: 5;
  background-color: rgba(0, 0, 0, 0);
  width: 100%;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
}

.container-regular {
  width: 100%;
  max-width: 1260px;
  min-height: 30px;
  margin-left: auto;
  margin-right: auto;
}

.navbar-wrapper {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.navbar-brand {
  margin-top: 0;
}

.nav-menu-3 {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  padding-bottom: 0;
  padding-left: 0;
  display: flex;
}

.nav-link-2 {
  color: var(--bg);
  letter-spacing: .25px;
  margin-left: 0;
  margin-right: 0;
  padding: 5px 30px;
  font-family: Switzer, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 20px;
  text-decoration: none;
  transition: all .2s;
  transform: translate(0);
}

.nav-link-2:hover {
  background-image: linear-gradient(90deg, var(--primary), rgba(236, 207, 54, .71));
  color: var(--primary);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  transform: translate(0);
}

.nav-link-2:focus-visible {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 4px;
  outline: 2px solid #0050bd;
}

.nav-link-2[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 4px;
  outline: 2px solid #0050bd;
}

.nav-button-wrapper {
  margin-left: 30px;
}

.logo-container-partner {
  justify-content: space-around;
  min-width: 100%;
  max-width: 1300px;
  padding-top: 30px;
  padding-bottom: 30px;
  display: flex;
  position: relative;
  left: auto;
}

.partner-logo-image {
  height: 50px;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

.footer-logo-image {
  margin-top: 10px;
  margin-left: -5px;
}

.image-4 {
  margin-top: 1px;
  margin-left: -25px;
  padding-left: 0;
}

.button-navbar {
  border: 0px solid var(--primary);
  background-color: var(--primary);
  color: #fff;
  border-radius: 7px;
  padding: 15px 22px;
  font-family: Plein, sans-serif;
  font-size: 17px;
  transition: all .15s cubic-bezier(.25, .46, .45, .94);
}

.button-navbar:hover {
  background-image: linear-gradient(92deg, var(--primary), rgba(236, 207, 54, .35));
  transform: translate(0, -3px);
  box-shadow: 0 4px 20px -2px rgba(49, 202, 114, .63);
}

.footer-text-link {
  color: var(--untitled-ui--gray300);
  font-family: Switzer, sans-serif;
  font-style: normal;
  text-decoration: none;
}

.footer-text-link:hover {
  background-image: linear-gradient(90deg, var(--primary), var(--accent));
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  text-decoration: none;
  transform: translate(0, -2px);
}

.hero-content-container {
  max-width: none;
}

.section {
  width: 100%;
  margin-top: 90px;
  padding-top: 50px;
}

.showcase-cell {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  perspective: 1000px;
  text-align: left;
  border-radius: 9px;
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: flex-start;
  transition: all .2s cubic-bezier(.25, .46, .45, .94);
  display: flex;
  box-shadow: 0 8px 20px -3px rgba(0, 0, 0, .26);
}

.showcase-cell:hover {
  transform: scale(1.025);
}

.quickstack-showcase {
  grid-column-gap: 70px;
  grid-row-gap: 70px;
  perspective: 3000px;
  margin-top: 30px;
}

.quickstack-showcase.laststack-showcase {
  margin-bottom: 50px;
}

.showcase-cell-image {
  object-fit: fill;
  border-radius: 9px;
  flex: 1;
  align-self: auto;
  width: 100%;
  min-width: auto;
  max-width: none;
  display: block;
  overflow: auto;
}

.background-video {
  width: 100%;
}

.section-chi-siamo-list {
  padding-top: 50px;
}

.chi-siamo-grid {
  grid-template-rows: auto auto;
  align-content: stretch;
  justify-content: stretch;
  margin-top: 50px;
}

.chi-siamo-grid-container {
  border-radius: 9px;
  flex-flow: column;
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  padding: 30px 41px 30px 40px;
  display: flex;
  box-shadow: 0 4px 20px -7px rgba(0, 0, 0, .2);
}

.heading-chi-siamo-container {
  color: var(--primary);
  align-self: flex-start;
  font-family: Plein, sans-serif;
  font-weight: 700;
}

.paragraph-chi-siamo-container {
  color: var(--text-new);
  margin-top: 10px;
  font-family: Switzer, sans-serif;
  font-size: 16px;
}

.utility-page-wrap {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
}

.utility-page-content {
  text-align: center;
  flex-direction: column;
  width: 260px;
  display: flex;
}

.utility-page-form {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.text-span {
  color: var(--bg);
  text-decoration: none;
}

.html-embed {
  color: var(--bg);
  background-color: rgba(247, 250, 248, 0);
  margin-top: 5px;
  font-family: Switzer, sans-serif;
  text-decoration: none;
}

@media screen and (max-width: 991px) {
  .hero-paragraph.form-p {
    width: auto;
  }

  .section-title-heading {
    display: block;
  }

  .service-grid {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
  }

  .service-element-lottie {
    padding-left: 70px;
    padding-right: 70px;
  }

  .container {
    clear: none;
    aspect-ratio: auto;
    flex-wrap: nowrap;
    flex: none;
    justify-content: space-between;
    align-self: center;
    align-items: center;
    width: 100%;
    max-width: 100%;
    display: block;
    overflow: visible;
  }

  .nav-menu {
    background-color: #fff;
    margin-left: 0;
  }

  .brand {
    float: left;
    clear: both;
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    width: 40%;
    margin-top: 20px;
    margin-left: 60px;
    margin-right: auto;
    display: block;
  }

  .menu-button {
    clear: right;
    margin-top: 10px;
    right: 0;
  }

  .menu-button:active, .menu-button.w--open {
    background-color: var(--untitled-ui--white);
    color: var(--text);
  }

  .service-video-section {
    min-height: 45vw;
  }

  .footer-grid {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
  }

  .icon {
    color: var(--untitled-ui--gray600);
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    font-size: 30px;
    font-weight: 400;
  }

  .image-3 {
    margin-left: -40px;
  }

  .nav-menu-2 {
    object-fit: fill;
    background-color: #fff;
    width: 70%;
    height: 100vh;
    margin-top: 70px;
    margin-left: 0;
    margin-right: -61px;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    overflow: visible;
    box-shadow: 0 3px 20px -7px rgba(0, 0, 0, .2);
  }

  .menu-button-2 {
    clear: none;
    justify-content: flex-end;
    margin-left: 0;
    margin-right: -30px;
    padding-left: 0;
    padding-right: 0;
    display: block;
  }

  .menu-button-2.w--open {
    color: #000;
    background-color: #fff;
    margin-right: -40px;
  }

  .service-stack-perk {
    border-right-width: 0;
  }

  .service-perk-grid {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
  }

  .nav-menu-wrapper {
    background-color: rgba(0, 0, 0, 0);
  }

  .nav-menu-3 {
    -webkit-backdrop-filter: blur(9px);
    backdrop-filter: blur(9px);
    background-color: rgba(33, 39, 36, .8);
    flex-flow: column;
    justify-content: space-around;
    align-items: center;
    padding-bottom: 30px;
    padding-left: 0;
    display: flex;
  }

  .nav-link-2 {
    padding: 20px 5px 0;
    display: block;
  }

  .nav-link-2.w--current {
    padding-top: 20px;
    padding-bottom: 0;
    display: block;
  }

  .mobile-margin-top-10 {
    margin-top: 20px;
  }

  .nav-button-wrapper {
    width: 100%;
    margin-left: 0;
  }

  .menu-button-3 {
    color: var(--bg);
    padding: 12px;
  }

  .menu-button-3.w--open {
    color: var(--primary);
    background-color: rgba(247, 250, 248, 0);
  }

  .logo-container-partner {
    min-width: 150%;
    max-width: none;
  }

  .partner-logo-image {
    margin-left: auto;
    padding-left: 0;
    padding-right: 0;
  }

  .footer-logo-image {
    margin-left: -5px;
  }

  .image-4 {
    margin-top: 1px;
    margin-left: 0;
  }

  .list-item {
    margin-top: 10px;
    padding-top: 0;
  }

  .quickstack-showcase {
    grid-column-gap: 50px;
    grid-row-gap: 50px;
  }

  .chi-siamo-grid {
    flex-flow: column;
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    display: flex;
  }

  .chi-siamo-grid-container {
    padding-right: 40px;
  }
}

@media screen and (max-width: 767px) {
  .primary-heading {
    margin-top: 100px;
  }

  .section-container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .section-title-heading {
    display: block;
  }

  .service-grid {
    grid-column-gap: 15px;
    grid-row-gap: 15px;
  }

  .service-element {
    padding-left: 25px;
    padding-right: 25px;
  }

  .service-element-lottie {
    padding-left: 60px;
    padding-right: 60px;
  }

  .service-element-title {
    font-size: 15px;
  }

  .brand {
    margin-left: 25px;
  }

  .service-video-section {
    min-height: 50vw;
  }

  .nav-menu-2 {
    flex-flow: column;
    align-content: flex-start;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    margin-top: 70px;
    margin-right: -60px;
    display: flex;
    position: absolute;
    overflow: visible;
  }

  .navbar-brand {
    padding-left: 0;
  }

  .nav-menu-3 {
    flex-direction: column;
    padding-bottom: 30px;
    padding-left: 0;
  }

  .nav-link-2 {
    padding-top: 20px;
    padding-bottom: 0;
    display: inline-block;
  }

  .mobile-margin-top-10 {
    margin-top: 20px;
  }

  .partner-logo-image {
    margin-left: auto;
    padding-right: 0;
  }

  .footer-logo-image {
    margin-left: -5px;
  }

  .image-4 {
    margin-top: 1px;
  }

  .quickstack-showcase {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
  }
}

@media screen and (max-width: 479px) {
  .hero-section {
    background-image: linear-gradient(rgba(33, 39, 36, .97) 17%, rgba(205, 255, 226, 0) 100%, rgba(205, 255, 226, 0)), url('../images/Hero-section-bg-ecoimpianti.jpg');
    background-position: 0 0, 50%;
    background-size: auto, cover;
    background-attachment: scroll, fixed;
    width: 100%;
    height: 500px;
  }

  .primary-heading {
    text-align: center;
    margin-top: 90px;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    font-size: 30px;
    line-height: 36px;
  }

  .primary-heading.form-heading-mobile-v {
    margin-top: 30px;
    margin-bottom: 10px;
    padding-left: 25px;
    padding-right: 25px;
    font-size: 27px;
  }

  .hero-paragraph {
    text-align: center;
    width: auto;
    margin: 15px 0 0;
  }

  .hero-paragraph.form-p {
    text-align: center;
    padding-left: 25px;
    padding-right: 25px;
  }

  .primary-button {
    text-align: center;
    align-self: auto;
    margin-right: 0;
    font-size: 18px;
  }

  .primary-button.form-button-top-space.mail-button {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    text-align: center;
    flex-flow: column;
    justify-content: center;
    align-self: center;
    align-items: center;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    display: inline-flex;
  }

  .primary-button.form-button-top-space.mail-button.cell-phone-button {
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
  }

  .primary-button.hero-primary--button {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    text-align: center;
    flex-flow: column-reverse;
    align-items: stretch;
    margin-top: 25px;
    display: inline-block;
  }

  .section-container {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    text-align: left;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 20px;
    padding-right: 20px;
    display: block;
    overflow: visible;
  }

  .section-container.hero-container {
    text-align: center;
  }

  .section-title-heading {
    text-align: center;
    margin-left: auto;
    display: block;
  }

  .service-grid {
    grid-column-gap: 25px;
    grid-row-gap: 25px;
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr;
  }

  .service-element-lottie {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    text-align: center;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    width: auto;
    padding-left: 60px;
    padding-right: 60px;
    display: block;
  }

  .contact-form-container {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    text-align: center;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    padding-left: 0;
    display: flex;
  }

  .brand {
    width: 60%;
  }

  .service-video-section {
    min-height: 60vw;
    margin-top: 88px;
  }

  .footer-grid {
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr;
  }

  .image-3 {
    height: 40px;
    margin-top: 15px;
  }

  .menu-button-2.w--open {
    color: #00a99d;
    background-color: #fafafa;
  }

  .service-perk-grid {
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr;
  }

  .nav-menu-wrapper {
    -webkit-backdrop-filter: blur(9px);
    backdrop-filter: blur(9px);
    background-color: rgba(33, 39, 36, .8);
  }

  .nav-menu-3 {
    box-shadow: none;
    -webkit-backdrop-filter: blur(9px);
    backdrop-filter: blur(9px);
    background-color: rgba(33, 39, 36, 0);
    flex-direction: column;
  }

  .nav-link-2, .nav-link-2.w--current {
    padding-top: 30px;
  }

  .nav-button-wrapper {
    width: auto;
  }

  .menu-button-3 {
    margin-right: -10px;
  }

  .logo-container-partner {
    min-width: 300%;
  }

  .partner-logo-image {
    margin-left: auto;
    padding-right: 0;
  }

  .footer-logo-image {
    margin-left: -5px;
  }

  .image-4 {
    margin-top: 1px;
  }

  .button-navbar {
    margin-top: 15px;
  }

  .quickstack-showcase {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
    padding-left: 0;
    padding-right: 0;
  }

  .chi-siamo-grid {
    flex-flow: column;
    align-items: stretch;
    display: flex;
  }

  .chi-siamo-grid-container {
    margin-right: 0;
    padding-left: 20px;
    padding-right: 20px;
  }
}

#w-node-cbc6d30a-d27d-23c2-fcd3-0ab41ead4d39-e24ec466, #w-node-c2236798-c775-6afa-7cbb-79ce2f052986-e24ec466, #w-node-b3188244-f8a9-ceae-527b-e4f6679f8565-e24ec466, #w-node-_265e52b1-bd02-cbab-4b5e-aea29c559f48-e24ec466, #w-node-_80febc22-a56e-9eb8-2549-81b2a8db9c49-e24ec466, #w-node-_0eba8523-c481-7e0c-745e-ad944e5ff79d-e24ec466, #w-node-_4e7fe60a-674f-8eee-35cb-33856d9249b7-e24ec466, #w-node-cde162db-25d5-5ee1-143a-946d456c8e0e-456c8e0b, #w-node-cde162db-25d5-5ee1-143a-946d456c8e1e-456c8e0b, #w-node-cde162db-25d5-5ee1-143a-946d456c8e29-456c8e0b, #w-node-cde162db-25d5-5ee1-143a-946d456c8e2f-456c8e0b {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_690aeffb-c87f-e06e-ae85-9f0200e59066-00e59063 {
  grid-area: 1 / 1 / 2 / 2;
}

#w-node-e1baa92e-ff8e-4c65-c047-4f21d19f66fa-810e06e4 {
  grid-area: 1 / 1 / 2 / 2;
  align-self: start;
  justify-self: start;
}

#w-node-a42865fd-e48b-4e0b-5f3b-3b1be050f4d5-810e06e4 {
  grid-area: 1 / 2 / 2 / 3;
  align-self: start;
  justify-self: start;
}

#w-node-f08edcc1-83cc-1f38-37df-b58cd79f579f-810e06e4 {
  grid-area: 2 / 1 / 3 / 2;
  align-self: start;
  justify-self: start;
}

#w-node-_38087b0d-933d-9a80-903f-d629d057b9c1-810e06e4 {
  grid-area: 2 / 2 / 3 / 3;
  align-self: start;
  justify-self: start;
}

#w-node-c350c716-4219-662d-b5a6-46761d016c18-795e960e {
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
}

#w-node-adc60bb3-fb95-d79e-5ac6-cdc5bf2e5e7a-795e960e, #w-node-_369742f1-5a64-ab77-46a5-b872482781cc-795e960e {
  grid-column: span 2 / span 2;
}

#w-node-_423f1f29-af73-01f3-12a3-5857ba36c784-795e960e {
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
}

#w-node-_423f1f29-af73-01f3-12a3-5857ba36c785-795e960e, #w-node-_423f1f29-af73-01f3-12a3-5857ba36c78b-795e960e {
  grid-column: span 2 / span 2;
}

#w-node-_3ad7b9ec-37b7-245b-c1c2-5804a90352a4-795e960e {
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
}

#w-node-_3ad7b9ec-37b7-245b-c1c2-5804a90352a5-795e960e, #w-node-_3ad7b9ec-37b7-245b-c1c2-5804a90352ab-795e960e {
  grid-column: span 2 / span 2;
}

#w-node-_51517ba1-e14f-b96a-4aab-93918dc4a6c3-795e960e {
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
}

#w-node-_51517ba1-e14f-b96a-4aab-93918dc4a6c4-795e960e, #w-node-_51517ba1-e14f-b96a-4aab-93918dc4a6ca-795e960e {
  grid-column: span 2 / span 2;
}

#w-node-_998474cd-3bd4-4071-9cb7-18f5dd4c93a2-795e960e {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
}

#w-node-_998474cd-3bd4-4071-9cb7-18f5dd4c93a3-795e960e {
  grid-column: span 2 / span 2;
}

@media screen and (max-width: 479px) {
  #w-node-c350c716-4219-662d-b5a6-46761d016c18-795e960e, #w-node-_423f1f29-af73-01f3-12a3-5857ba36c784-795e960e, #w-node-_3ad7b9ec-37b7-245b-c1c2-5804a90352a4-795e960e, #w-node-_51517ba1-e14f-b96a-4aab-93918dc4a6c3-795e960e, #w-node-_998474cd-3bd4-4071-9cb7-18f5dd4c93a2-795e960e {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
  }
}


@font-face {
  font-family: 'Plein';
  src: url('../fonts/Plein-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Plein';
  src: url('../fonts/Plein-Italic.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Plein';
  src: url('../fonts/Plein-BoldItalic.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Plein';
  src: url('../fonts/Plein-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Plein';
  src: url('../fonts/Plein-BlackItalic.otf') format('opentype');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Plein';
  src: url('../fonts/Plein-Black.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Plein';
  src: url('../fonts/Plein-MediumItalic.otf') format('opentype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Plein';
  src: url('../fonts/Plein-LightItalic.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Plein';
  src: url('../fonts/Plein-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Plein';
  src: url('../fonts/Plein-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-Italic.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-BoldItalic.otf') format('opentype'), url('../fonts/Switzer-ExtraboldItalic.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-BlackItalic.otf') format('opentype');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-Black.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-Extrabold.otf') format('opentype'), url('../fonts/Switzer-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-Thin.otf') format('opentype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-LightItalic.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-SemiboldItalic.otf') format('opentype');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-Semibold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-ExtralightItalic.otf') format('opentype');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-MediumItalic.otf') format('opentype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-ThinItalic.otf') format('opentype');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-Extralight.otf') format('opentype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}