/*@import url("https://fonts.googleapis.com/css2?family=Abel&family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap");*/

:root {
  --gray: #e3e3e3;
  --gray-2: #a7a7a7;
  --blu: #0a71b4;
  --blu-op-85: rgba(10, 112, 180, 0.85);
  --d-blu: #08366f;
  --light-blu: #5eace0;
  --dark-red: #be0a26;
  --white-op: #fffffff7;
}
body {
  color: black;
  font-family: "Nunito", "Poppins", sans-serif;
  font-weight: 400;
  font-size: 20px;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
:focus,
:focus-visible,
:active {
    outline: none !important;
}
:hover {
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

a {
    text-decoration: none !important;
    color: inherit;
    font-size: 20px;
    transition: all 0.3s ease-in-out;
    outline: none;
}

h1,
h2,
h3,
h4,
ul,
li {
  margin: 0;
  padding: 0;
}
p {
  line-height: 1.3;
}
.abel {
  font-family: "Abel", "", sans-serif;
}
.nunito {
  font-family: "Nunito", sans-serif;
}
.poppins {
  font-family: "Poppins", sans-serif;
}
.min-h-100 {
  min-height: 100%;
}
.min-w-100 {
  min-width: 100%;
}
.btn-blu-empty {
  border: 1px solid var(--blu);
  color: var(--blu);
}
.btn-blu-empty:hover,
.btn-blu-empty:focus {
  background-color: var(--blu);
  color: white;
}
.border-gray-2 {
  border-color: #a7a7a7 !important;
}
.border-d-blu {
  border-color: var(--d-blu);
}
.bg-blu {
  background-color: var(--blu);
}
.bg-blu-op-85 {
  background-color: var(--blu-op-85);
}
.bg-gray {
  background-color: var(--gray);
}
.bg-gradient-custom {
  background-image: linear-gradient(150deg, #003558, #6cb9ed);
}
.bg-white-op {
  background-color: var(--white-op);
}
.pointer {
  cursor: pointer;
}
.text-d-red {
  color: var(--dark-red);
}
.text-blu {
  color: var(--blu);
}
.text-md {
  font-size: 18px;
}
.wrap-img {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.wrap-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.w-90 {
  width: 90%;
}
.lh-base p {
  line-height: 1.5 !important;
}
.hov-underline.underline-target {
  transition: all 0.3s ease-in-out;
}
.hov-underline.underline-target:hover {
  text-decoration: underline;
}
.mb-n5 {
  margin-bottom: -3rem !important;
}
.mt-n3 {
  margin-top: -1rem !important;
}
.mr-n5,
.mx-n5 {
  margin-right: -3rem !important;
}
.ml-n5,
.mx-n5 {
  margin-left: -3rem !important;
}
.list-custom ul,
.list-custom {
  list-style-type: none;
  padding-left: 0;
}
.container-smaller {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}
.p-mb p:last-of-type {
  margin-bottom: 0;
}
header {
  padding-top: 0;
  background: #fff;
}
.header {
  z-index: 1000;
  top: 0;
  transition: all 0.3s ease-in-out;
}
.header nav ul li {
  margin: 0 25px 0 0;
  font-size: 16px;
}
.header nav .nav-item ul li {
  margin: 0;
}
.navbar-expand-lg .navbar-nav ul.dropdown-menu a {
  padding: 8px 20px;
  display: block;
}
.navbar-expand-lg .navbar-nav ul.dropdown-menu a:hover {
  background: #0a71b4;
  color: #fff;
}
.bar-menu {
  position: relative;
  height: 3px;
  width: 30px;
  background-color: var(--blu);
  margin: 6px 0;
  border-radius: 10px;
}
.navbar-toggler,
.navbar-toggler:focus {
  box-shadow: 0 0 5px var(--light-blu);
}
.nav-link {
  text-transform: capitalize;
}
.nav-link.active {
  color: var(--blu) !important;
}
.offcanvas.offcanvas-top {
  height: fit-content;
}
.testata {
  margin-top: 95px;
  min-height: 400px;
  height: calc(75vh - 95px);
}
.testata-home {
  min-height: 580px;
  height: calc(100vh - 95px);
}
.testata-2 .title-container {
  bottom: 0;
}
.text-white > * {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}
.homeSwiper .btn,
.btn-red {
  background: #ea0f00;
  border: 1px solid #ea0f00;
  color: #fff;
  text-transform: uppercase;
  min-width: 235px;
  padding: 0.75rem;
  border-radius: 0;
}

.icon-cards {
  position: relative;
  width: 60vw;
  height: 40vw;
  max-width: 380px;
  max-height: 250px;
  margin: 0;
  color: white;
  perspective: 1000px;
  transform-origin: center;
  overflow: hidden;
}

.icon-cards__content {
  position: absolute;
  width: 100%;
  height: 100%;
  transform-origin: center;
  transform-style: preserve-3d;
  transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1);
}

.icon-cards__item {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 60vw;
  height: 40vw;
  max-width: 380px;
  max-height: 250px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  transform-origin: center;
  z-index: 1;
  transition: z-index 0.3s, transform 0.3s;
  background-color: white;
  color: var(--blu);
}
.icon-cards__item.is-front {
  z-index: 10;
}
.elenco-servizi .label {
  flex: 0 0 62px !important;
  width: 62px;
  height: 62px !important;
}
.border-label {
  border: 5px solid rgba(10, 113, 180, 0.15);
}

/* Swiper */
.swiper-button-next,
.swiper-button-prev {
  color: var(--blu);
}

.swiperVerticale {
  height: 425px;
  width: 300px;
  right: -110px;
}
.swiperVerticale .label {
  transform: scale(1.25);
  transition: all 0.5s ease-in-out;
  margin-left: 1.5rem;
  position: relative;
}
.swiperVerticale .swiper-slide-next > .label,
.swiperVerticale .swiper-slide-prev > .label {
  transform: scale(1.5) translateX(3rem);
}
.swiperVerticale .swiper-slide-secondary-prev > .label {
  top: 0.5rem;
}
.swiperVerticale .swiper-slide-prev > .label {
  bottom: 1.75rem;
}
.swiperVerticale .swiper-slide-active > .label {
  transform: scale(2.5) translateX(3.5rem);
  bottom: calc(0.5rem - 1px);
}
.swiperVerticale .swiper-slide-next > .label {
  top: calc(1rem - 2px);
}
.swiperVerticale .swiper-slide-secondary-next > .label {
  bottom: 1.5rem;
}
.swiperVerticale .swiper-slide-hidden .label {
  opacity: 0;
  transform: translateX(-2rem);
}
.swiperVerticale :not(.swiper-slide-hidden) {
  opacity: 1;
}

.swiperTimeLine .swiper-slide {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  /*left: -14px;*/
}
.swiperTimeLine .swiper-slide span {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.swiperTimeLine .swiper-slide span::after {
  display: block;
  content: "";
  height: 7px;
  width: 7px;
  background-color: var(--dark-red);
  border-radius: 50%;
  border: 1px solid white;
  margin: 0 1.5rem;
}
.swiperTimeLine .swiper-slide-active span {
  /*transform: scale(2);*/
  /*right: 20px;*/
}
.swiperTimeLine .swiper-slide-active span::after {
  /*margin: 0 0.5rem;*/
}
.swiperTimeLine {
  height: 350px;
  width: 250px;
}
.line-container {
  height: 380px;
}
.swiper-container {
  /*left: -23px;*/
}
.swiperTesti .swiper-button-next:after,
.swiperTesti .swiper-button-prev:after {
  color: var(--dark-red);
  font-family: "Font Awesome 5 Pro";
  font-size: 25px;
  font-weight: 300;
}
.swiperTesti .swiper-button-next:after {
  content: "\f061";
}
.swiperTesti .swiper-button-prev:after {
  content: "\f060";
}
.swiperTesti .swiper-button-next {
  right: 40%;
  left: auto;
  bottom: 0;
  top: 95%;
  transform: translateX(50%);
}
.swiperTesti .swiper-button-prev {
  left: 40%;
  right: auto;
  bottom: 0;
  top: 95%;
  transform: translateX(-50%);
}

/*  */
.bg-alternate {
  min-height: 150px;
}
.card-container > div:nth-child(odd) .bg-alternate {
  background-color: #f7f7f7;
  color: black;
}
.card-container > div:nth-child(even) .bg-alternate {
  background-color: var(--blu);
  color: white;
}
.bg-radial-gradient.green {
  background-image: radial-gradient(#78ad00, #7bae07);
}
.logo-f-gas {
  bottom: -50px;
  left: -35px;
}
.innovazione-area > * {
  transform: translateY(-18px);
}
.impianti-area > * {
  flex: 0 0 calc(50% - 0.25rem);
}
.settori .img-container {
  position: relative;
  bottom: 4rem;
}
.impianti-eterogenei > div:last-child hr {
  border: none;
}
.mouse-on .card-prodotto .cover {
  transition: all 0.3s ease-in-out;
  opacity: 0;
}
.mouse-on .card-prodotto:hover .cover {
  opacity: 1;
}
.card-prodotto button i {
  transition: all 0.3s ease-in-out;
  font-weight: 500;
}
.card-prodotto button:hover i {
  font-weight: 900;
}
.fotoProdottoModal .item {
  max-height: 110px;
  max-width: 147px;
}
.lista-foto .active {
  border: 5px solid var(--blu);
  transition: all 0.3s ease-in-out;
}
.impianti-eterogenei .label {
  width: 100px;
  height: 100px;
}
.form label:not(.form-check-label) {
  display: none;
}
.form .form-check-label {
  position: relative;
  top: 4px;
}
.form input,
.form textarea,
.form .form-check,
.form .btn-primary {
  margin: 0.5rem 0;
}
.form input:not(.form-chek-input),
.form textarea {
  border-radius: 0;
}
.form a {
  color: #4383f8;
}
.form a:hover {
  text-decoration: underline;
}
.form .btn-primary {
  background-color: #2065a6;
  border: 1px solid #2065a6;
  border-radius: 0;
  color: white;
  margin-top: 1.5rem;
  padding: 0.5rem 1.5rem;
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
}
.form .btn-primary:hover {
  background-color: white;
  border: 1px solid #2065a6;
  color: #2065a6;
}
.form-container .translate {
  top: -100px;
}
.div-azienda {
  margin: 50px 0;
}
.circle-20 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.32);
  width: 182px;
  max-width: 100%;
  height: 182px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  overflow: hidden;
}
footer p {
  margin: 0;
  font-size: 15px;
}
footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 15px;
  font-weight: 300;
}
.list-footer li:not(:last-child) {
  margin-bottom: 0.5rem;
}
.gradient-white-grey {
  background: #ffffff;
  background: -moz-linear-gradient(
    180deg,
    #ffffff 0%,
    #ffffff 50%,
    #eff3f8 50%,
    #eff3f8 100%
);
  background: -webkit-linear-gradient(
    180deg,
    #ffffff 0%,
    #ffffff 50%,
    #eff3f8 50%,
    #eff3f8 100%
);
  background: -o-linear-gradient(
    180deg,
    #ffffff 0%,
    #ffffff 50%,
    #eff3f8 50%,
    #eff3f8 100%
);
  background: -ms-linear-gradient(
    180deg,
    #ffffff 0%,
    #ffffff 50%,
    #eff3f8 50%,
    #eff3f8 100%
);
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #ffffff 50%,
    #eff3f8 50%,
    #eff3f8 100%
);
}
.section-bg-img {
  position: relative;
  width: 100%;
  height: 100%;
}
.section-bg-img .wrap-img img {
  filter: blur(6px);
  -webkit-filter: blur(6px);
}
.insideSwiper .wrap-img::after,
.section-bg-img .wrap-img::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #08366f;
  opacity: 0.56;
}
.homeSwiper .swiper-pagination-vertical.swiper-pagination-bullets {
  left: auto;
  top: auto;
  bottom: 0;
  right: 2.5rem;
  transform: translate3d(0px, -50%, 0);
  display: flex;
  flex-direction: column-reverse;
  padding: 1.5rem 0;
}
.homeSwiper .swiper-pagination-vertical.swiper-pagination-bullets::after {
  content: "";
  display: block;
  height: 100%;
  width: 1px;
  background-color: white;
  position: absolute;
  right: 4px;
  top: 0;
}
.homeSwiper .swiper-pagination-vertical.swiper-pagination-bullets::before {
  content: "";
  display: block;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  border: 1px solid white;
  position: absolute;
  right: 51%;
  top: calc(100% - 1px);
  transform: translateX(50%);
}
.homeSwiper
.swiper-pagination-vertical.swiper-pagination-bullets
.swiper-pagination-bullet {
  margin: 0.75rem 0;
  background-color: white;
  height: 9px;
  width: 9px;
  opacity: 1;
  position: relative;
}
.homeSwiper
.swiper-pagination-vertical.swiper-pagination-bullets
.swiper-pagination-bullet::after {
  color: white;
  font-family: "Abel", sans-serif;
  position: absolute;
  left: 100%;
  margin-left: 0.5rem;
}
.homeSwiper
.swiper-pagination-vertical.swiper-pagination-bullets
> .swiper-pagination-bullet:nth-child(1)::after {
  content: "01";
  top: 5px;
  transform: translateY(-50%);
}
.homeSwiper
.swiper-pagination-vertical.swiper-pagination-bullets
> .swiper-pagination-bullet:nth-child(2)::after {
  content: "02";
  top: 50%;
  transform: translateY(-50%);
}
.homeSwiper
.swiper-pagination-vertical.swiper-pagination-bullets
> .swiper-pagination-bullet:nth-child(3)::after {
  content: "03";
  bottom: -8px;
}
.homeSwiper
.swiper-pagination-vertical.swiper-pagination-bullets
.swiper-pagination-bullet-active {
  background-color: #ea0f00;
  z-index: 15;
}
.swiper-container {
  display: flex;
  gap: 10px;
  width: 100%;
  height: 400px;
}
.swiperFotoProdotto {
  flex: 1;
  height: 100%;
}
.swiperThumbs {
  width: 120px;
  height: 100%;
}
.swiperThumbs .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}
.swiperThumbs .swiper-slide {
  opacity: 0.4;
  cursor: pointer;
}
.swiperThumbs .swiper-slide-thumb-active {
  opacity: 1;
}
.swiperThumbs .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
