label {
  font-weight: 500; }

@font-face {
  font-family: 'Grava';
  src: url("../font/Grava-Bold.woff2") format("woff2"), url("../font/Grava-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Grava';
  src: url("../font/Grava-Normal.woff2") format("woff2"), url("../font/Grava-Normal.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Grava';
  src: url("../font/Grava-Light.woff2") format("woff2"), url("../font/Grava-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Grava';
  src: url("../font/Grava-Medium.woff2") format("woff2"), url("../font/Grava-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Grava';
  src: url("../font/Grava-SemiBold.woff2") format("woff2"), url("../font/Grava-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Grava Roman';
  src: url("../font/Grava-Roman.woff2") format("woff2"), url("../font/Grava-Roman.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Matter';
  src: url("../font/Matter-Medium.woff2") format("woff2"), url("../font/Matter-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Matter';
  src: url("../font/Matter-SemiBold.woff2") format("woff2"), url("../font/Matter-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Karla';
  src: url("../font/Karla-Regular.woff2") format("woff2"), url("../font/Karla-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Karla';
  src: url("../font/Karla-SemiBold.woff2") format("woff2"), url("../font/Karla-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Karla';
  src: url("../font/Karla-Bold.woff2") format("woff2"), url("../font/Karla-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Karla';
  src: url("../font/Karla-Medium.woff2") format("woff2"), url("../font/Karla-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }
.karla {
  font-family: 'Karla';
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

body {
  font-family: 'Grava';
  letter-spacing: 0.1px; }

h1,
.h1 {
  font-size: 70px;
  font-weight: 600; }
  @media (max-width: 1199px) {
    h1,
    .h1 {
      font-size: 60px; } }
  @media (max-width: 991px) {
    h1,
    .h1 {
      font-size: 50px; } }
  @media (max-width: 767px) {
    h1,
    .h1 {
      font-size: 30px; } }

h2,
.h2 {
  font-size: 50px;
  font-weight: 600; }
  @media (max-width: 1199px) {
    h2,
    .h2 {
      font-size: 45px; } }
  @media (max-width: 991px) {
    h2,
    .h2 {
      font-size: 40px; } }
  @media (max-width: 767px) {
    h2,
    .h2 {
      font-size: 26px; } }

h3,
.h3 {
  font-size: 40px;
  font-weight: 600; }
  @media (max-width: 1199px) {
    h3,
    .h3 {
      font-size: 36px; } }
  @media (max-width: 991px) {
    h3,
    .h3 {
      font-size: 32px; } }
  @media (max-width: 767px) {
    h3,
    .h3 {
      font-size: 24px; } }

h4,
.h4 {
  font-size: 28px;
  font-weight: 600; }
  @media (max-width: 1199px) {
    h4,
    .h4 {
      font-size: 26px; } }
  @media (max-width: 767px) {
    h4,
    .h4 {
      font-size: 22px; } }

h5,
.h5 {
  font-weight: 600;
  font-size: 24px; }
  @media (max-width: 767px) {
    h5,
    .h5 {
      font-size: 20px; } }

h6,
.h6 {
  font-weight: 600;
  font-size: 20px; }
  @media (max-width: 767px) {
    h6,
    .h6 {
      font-size: 18px; } }

html.lenis {
  height: auto; }

.lenis.lenis-smooth {
  scroll-behavior: auto !important; }

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain; }

.lenis.lenis-stopped {
  overflow: hidden; }

.lenis.lenis-scrolling iframe {
  pointer-events: none; }

.box-img-hover {
  width: 100%;
  overflow: hidden;
  position: relative;
  justify-content: center; }

.box-img-hover img {
  transform: scale(1);
  transition: all 1s ease-in-out; }

.box-img-hover .ovrly {
  /*background: url(../img/image-hover.png) center center no-repeat, rgba(0, 0, 0, 0.5);*/
  /*background: rgba(0, 0, 0, 0.2);*/
  /*background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 40%);*/
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
  transition: all 1s ease-in-out; }
  .box-img-hover .ovrly img {
    display: inline !important; }

.box-img-hover:hover img:not(.ovrly img) {
  transform: scale(1.1); }

.box-img-hover:hover .ovrly {
  opacity: 1; }

.semi-trasp.box-img-hover .ovrly {
  color: white;
  background: rgba(0, 0, 0, 0.5); }
  .semi-trasp.box-img-hover .ovrly:not(.no-animation):hover {
    background: rgba(0, 0, 0, 0.7); }

.no-bg.box-img-hover .ovrly {
  color: white;
  background: rgba(0, 0, 0, 0); }
  .no-bg.box-img-hover .ovrly:hover {
    background: rgba(0, 0, 0, 0.5); }

a .ovrly.zoom:after, a .ovrly.zoom:after {
  transition: all 0.3 ease-in-out; }

a .ovrly.zoom.video {
  display: flex;
  align-items: center;
  justify-content: center; }

a:hover .ovrly.zoom:not(.video):after {
  content: '';
  width: 50px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-bottom: 2px solid white;
  display: block;
  position: absolute; }
a:hover .ovrly.zoom:not(.video):before {
  content: '';
  height: 50px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-right: 2px solid white;
  display: block;
  position: absolute; }

.spazio-30 {
  padding-top: 30px; }
  @media (max-width: 767px) {
    .spazio-30 {
      padding-top: 60px; } }

.spazio-60 {
  padding-top: 60px; }
  @media (max-width: 767px) {
    .spazio-60 {
      padding-top: 60px; } }

.spazio-90 {
  padding-top: 90px; }
  @media (max-width: 767px) {
    .spazio-90 {
      padding-top: 60px; } }

.spazio-100 {
  padding-top: 100px; }
  @media (max-width: 767px) {
    .spazio-100 {
      padding-top: 60px; } }

.spazio-120 {
  padding-top: 120px; }
  @media (max-width: 767px) {
    .spazio-120 {
      padding-top: 60px; } }

.spazio-150 {
  padding-top: 150px; }
  @media (max-width: 767px) {
    .spazio-150 {
      padding-top: 60px; } }

.spazio-180 {
  padding-top: 180px; }
  @media (max-width: 767px) {
    .spazio-180 {
      padding-top: 60px; } }

a {
  color: inherit; }

a:hover {
  color: inherit; }

section {
  overflow-x: hidden;
  overflow-y: hidden; }

.section-xl {
  padding-bottom: 180px; }
  @media (max-width: 1199px) {
    .section-xl {
      padding-bottom: 60px; } }

.section-l {
  padding-bottom: 150px; }
  @media (max-width: 1199px) {
    .section-l {
      padding-bottom: 60px; } }

.section {
  padding-bottom: 90px; }
  @media (max-width: 767px) {
    .section {
      padding-bottom: 60px; } }

.section-s {
  padding-bottom: 120px; }
  @media (max-width: 767px) {
    .section-s {
      padding-bottom: 60px; } }

.section-xs {
  padding-bottom: 60px; }
  @media (max-width: 767px) {
    .section-xs {
      padding-bottom: 60px; } }

.section-xxs {
  padding-bottom: 45px; }
  @media (max-width: 767px) {
    .section-xxs {
      padding-bottom: 60px; } }

@media (min-width: 1400px) {
  .container {
    max-width: 1400px; } }

@media (min-width: 1400px) {
  .c-2400 {
    max-width: 2400px; } }

@media (min-width: 1400px) {
  .c-2200 {
    max-width: 2200px; } }

@media (min-width: 1400px) {
  .c-2000 {
    max-width: 2000px; } }

@media (min-width: 1400px) {
  .c-1900 {
    max-width: 1920px; } }

@media (min-width: 1400px) {
  .c-1800 {
    max-width: 1800px; } }

@media (min-width: 1400px) {
  .c-1700 {
    max-width: 1700px; } }

@media (min-width: 1400px) {
  .c-1600 {
    max-width: 1600px; } }

@media (min-width: 1400px) {
  .c-1500 {
    max-width: 1500px; } }

@media (min-width: 1400px) {
  .c-1450 {
    max-width: 1450px; } }

@media (min-width: 1400px) {
  .c-1400 {
    max-width: 1400px; } }

@media (min-width: 1400px) {
  .c-1350 {
    max-width: 1350px; } }

@media (min-width: 1400px) {
  .c-1300 {
    max-width: 1300px; } }

@media (min-width: 1200px) {
  .c-1200 {
    max-width: 1140px; } }

@media (min-width: 1200px) {
  .c-1140 {
    max-width: 1140px; } }

@media (min-width: 1100px) {
  .c-1100 {
    max-width: 1100px; } }

@media (min-width: 1000px) {
  .c-1000 {
    max-width: 1000px; } }

@media (min-width: 950px) {
  .c-950 {
    max-width: 950px; } }

@media (min-width: 900px) {
  .c-900 {
    max-width: 900px; } }

@media (min-width: 800px) {
  .c-800 {
    max-width: 800px; } }

@media (min-width: 700px) {
  .c-700 {
    max-width: 700px; } }

@media (min-width: 650px) {
  .c-650 {
    max-width: 650px; } }

@media (min-width: 600px) {
  .c-600 {
    max-width: 600px; } }

@media (min-width: 500px) {
  .c-550 {
    max-width: 550px; } }

@media (min-width: 500px) {
  .c-500 {
    max-width: 500px; } }

@media (min-width: 450px) {
  .c-450 {
    max-width: 450px; } }

@media (min-width: 400px) {
  .c-400 {
    max-width: 400px; } }

@media (min-width: 350px) {
  .c-350 {
    max-width: 350px; } }

@media (min-width: 300px) {
  .c-300 {
    max-width: 300px; } }

@media (min-width: 250px) {
  .c-250 {
    max-width: 250px; } }

@media (min-width: 200px) {
  .c-200 {
    max-width: 200px; } }

@media (min-width: 100px) {
  .c-100 {
    max-width: 100px; } }

@media (min-width: 150px) {
  .c-150 {
    max-width: 150px; } }

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  /* display: none; <- Crashes Chrome on hover */
  -webkit-appearance: none;
  margin: 0;
  /* <-- Apparently some margin are still there even though it's hidden */ }

input[type='number'] {
  -moz-appearance: textfield; }

.lh-1 {
  line-height: 1 !important; }

.lh-2 {
  line-height: 1.2 !important; }

.lh-3 {
  line-height: 1.3 !important; }

.lh-4 {
  line-height: 1.4 !important; }

.lh-5 {
  line-height: 1.5 !important; }

.lh-6 {
  line-height: 1.6 !important; }

.lh-7 {
  line-height: 1.7 !important; }

.lh-8 {
  line-height: 1.8 !important; }

.lh-9 {
  line-height: 1.9 !important; }

.videoWrapper {
  position: relative;
  padding-bottom: 53.70%;
  /* 16:9 */
  padding-top: 25px;
  height: 0; }

.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.we1 {
  font-weight: 100 !important; }

.we2 {
  font-weight: 200 !important; }

.we3 {
  font-weight: 300 !important; }

.we4 {
  font-weight: 400 !important; }

.we5 {
  font-weight: 500 !important; }

.we6 {
  font-weight: 600 !important; }

.we7 {
  font-weight: 700 !important; }

.we8 {
  font-weight: 800 !important; }

.we9 {
  font-weight: 900 !important; }

.wi-40 {
  width: 40px; }

.wi-50 {
  width: 50px; }

.wi-70 {
  width: 70px; }

.wi-120 {
  width: 120px; }

.wi-200 {
  width: 200px; }

.minw-40 {
  min-width: 40px; }

.maxw-400 {
  max-width: 400px; }

.background-responsive {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }

.background-absolute {
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0; }
  .background-absolute ~ .container {
    position: relative;
    z-index: 2; }

.bg-white {
  background-color: white; }

.bg-black {
  background-color: #000; }

.bg-grigioF5 {
  background-color: #F5F5F5; }

.bg-grigioF9 {
  background-color: #F9F9F9; }

.bg-grigioFA {
  background-color: #FAFAFA; }

.bg-grigio {
  background-color: #3B3E4E; }

.bg-blu-scuro {
  background-color: #16243E; }

.bg-panna {
  background-color: #F6F2F1; }

.text-white {
  color: white; }

.text-nero6 {
  color: #666; }

.text-nero3 {
  color: #333; }

.text-rosso {
  color: #C50025; }

.border-white {
  border-color: white !important; }

.border-nero6 {
  border-color: #666 !important; }

.ls-1 {
  letter-spacing: 1px; }

.ls-2 {
  letter-spacing: 2px; }

.ls-3 {
  letter-spacing: 3px; }

.ls-4 {
  letter-spacing: 4px; }

.ls-5 {
  letter-spacing: 5px; }

.ls-6 {
  letter-spacing: 6px; }

.ls-7 {
  letter-spacing: 7px; }

.ls-8 {
  letter-spacing: 8px; }

.ls-9 {
  letter-spacing: 9px; }

.ls-10 {
  letter-spacing: 10px; }

.pe-6 {
  padding-right: 4.5rem !important; }

.pe-7 {
  padding-right: 5.5rem !important; }

.gx-6 {
  --bs-gutter-x: 4rem; }

.gx-7 {
  --bs-gutter-x: 5rem; }

.gx-8 {
  --bs-gutter-x: 6rem; }

.gx-9 {
  --bs-gutter-x: 9rem; }

.gx-10 {
  --bs-gutter-x: 10rem; }

.parallax {
  width: 100%;
  overflow: hidden; }

.grecaptcha-badge {
  z-index: 10; }

.anchor {
  position: relative; }
  .anchor > div {
    position: absolute;
    top: -131px; }
    @media (max-width: 1199px) {
      .anchor > div {
        top: -96px; } }

.btn1 {
  background: linear-gradient(to left, #C50025 0%, #C50025 50%, transparent 50%, transparent 100%);
  background-size: 220% 100%;
  background-position: 99%;
  color: white;
  border: 2px solid #C50025;
  transition: all 0.3s ease-in-out;
  padding: 10px 25px;
  border-radius: 10px;
  font-weight: 600; }
  .btn1:hover, .btn1.active {
    color: #C50025;
    border-color: #C50025;
    background-position: 0% 0%; }
  .btn1:active {
    color: #C50025 !important;
    border-color: #C50025 !important;
    background-position: 0% 0%; }

.btn2 {
  color: #C50025;
  border: 2px solid #C50025;
  transition: all 0.3s ease-in-out;
  padding: 10px 25px;
  background: linear-gradient(to left, transparent 0%, transparent 50%, #C50025 50%, #C50025 100%);
  background-size: 220% 100%;
  background-position: 99%;
  font-family: 'Grava';
  border-radius: 10px;
  font-weight: 600; }
  .btn2:hover, .btn2.active {
    color: white;
    border-color: #C50025;
    background-position: 0% 0%; }
  .btn2:active {
    color: white !important;
    border-color: #C50025 !important;
    background-position: 0% 0%; }

.btn {
  letter-spacing: 0.1px; }
  .btn.bg-grigio:hover {
    background-color: #252731; }
  .btn.bg-blu-scuro:hover {
    background-color: #090e18; }

.slick-slider {
  padding-bottom: 60px; }
  .slick-slider .slick-autoplay-toggle-button {
    position: absolute;
    bottom: 5px;
    left: 15px;
    z-index: 2;
    background: transparent;
    border: 0;
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap; }
    .slick-slider .slick-autoplay-toggle-button .slick-pause-icon {
      display: none !important; }
    .slick-slider .slick-autoplay-toggle-button .slick-pause-text,
    .slick-slider .slick-autoplay-toggle-button .slick-play-text {
      height: 30px;
      width: 25px;
      padding: 5px;
      display: flex;
      justify-content: space-between;
      font-size: 0; }
    .slick-slider .slick-autoplay-toggle-button .slick-pause-text::before, .slick-slider .slick-autoplay-toggle-button .slick-pause-text::after {
      content: '';
      height: 100%;
      display: block;
      width: 40%;
      background-color: #777;
      border-radius: 4px; }
    .slick-slider .slick-autoplay-toggle-button .slick-play-text::before {
      content: '';
      display: inline-block;
      width: 0;
      height: 0;
      border-top: 10px solid transparent;
      border-bottom: 10px solid transparent;
      border-left: 16px solid #777;
      border-radius: 4px; }
  .slick-slider .slick-arrow {
    position: absolute;
    bottom: 5px;
    z-index: 2;
    background: transparent;
    border: 0;
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    width: 50px;
    height: 20px; }
    .slick-slider .slick-arrow.slick-prev {
      right: 50%; }
      .slick-slider .slick-arrow.slick-prev::before {
        content: '';
        display: block;
        width: 100%;
        height: 50%;
        border-bottom: 2px solid #333; }
      .slick-slider .slick-arrow.slick-prev::after {
        content: '';
        display: block;
        position: absolute;
        top: 7px;
        left: 5px;
        height: 12px;
        width: 12px;
        border-bottom: 2px solid #333;
        border-left: 2px solid #333;
        transform: rotate(45deg); }
    .slick-slider .slick-arrow.slick-next {
      left: 50%; }
      .slick-slider .slick-arrow.slick-next::before {
        content: '';
        display: block;
        width: 100%;
        height: 50%;
        border-bottom: 2px solid #333; }
      .slick-slider .slick-arrow.slick-next::after {
        content: '';
        display: block;
        position: absolute;
        top: 7px;
        right: 5px;
        height: 12px;
        width: 12px;
        border-top: 2px solid #333;
        border-right: 2px solid #333;
        transform: rotate(45deg); }
    .slick-slider .slick-arrow .slick-sr-only {
      display: none; }

.fancybox-content {
  max-height: calc(100dvh - 10px); }

@media (max-width: 991px) {
  body {
    padding-top: 96px; } }

.section-splash {
  overflow: hidden;
  position: relative;
  padding-bottom: 90px; }
  @media (min-width: 1200px) {
    .section-splash::after {
      position: absolute;
      content: '';
      top: 0;
      left: 0;
      right: 0;
      height: 50%;
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 50%);
      z-index: 1; } }
  @media (max-width: 767px) {
    .section-splash {
      padding-bottom: 45px; } }
  .section-splash.loading .box {
    height: calc(100vh); }
  .section-splash .box {
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: block !important; }
    @media (max-width: 767px) {
      .section-splash .box {
        background-image: none !important; } }
    .section-splash .box .bg {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      animation: scale 40s linear infinite; }
  .section-splash a:hover {
    text-decoration: none; }
  .section-splash .box-video {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    min-width: 100%;
    min-height: 100%; }
    .section-splash .box-video video {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      max-width: 100%;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .section-splash .btn-mute {
    position: absolute;
    bottom: 30px;
    right: 15px;
    cursor: pointer;
    z-index: 2; }
    @media (max-width: 767px) {
      .section-splash .btn-mute {
        bottom: 45px; } }
    .section-splash .btn-mute:focus {
      outline: 0;
      outline-offset: 0px; }
  .section-splash .btn-play {
    position: absolute;
    bottom: 30px;
    right: 50px;
    cursor: pointer;
    z-index: 2; }
    @media (max-width: 767px) {
      .section-splash .btn-play {
        bottom: 45px; } }
    .section-splash .btn-play:focus {
      outline: 0;
      outline-offset: 0px; }
  .section-splash .box-testo {
    position: relative;
    z-index: 10;
    background-color: #ffffffdd;
    height: auto;
    width: 100%;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px; }
    @media (max-width: 576px) {
      .section-splash .box-testo {
        font-size: 12px; } }
    .section-splash .box-testo .box-caratteristica {
      width: 150px; }
      .section-splash .box-testo .box-caratteristica img {
        width: 30px;
        min-width: 30px; }
    @media (max-width: 576px) {
      .section-splash .box-testo .h4 {
        font-size: 16px; } }
    @media (max-width: 576px) {
      .section-splash .box-testo .btn1 {
        font-size: 12px;
        padding: 5px 10px; } }
  .section-splash .slick-slider {
    padding-bottom: 0px;
    position: relative; }
    .section-splash .slick-slider .slick-autoplay-toggle-button {
      background-color: #fff;
      border: 2px solid #777;
      border-radius: 50%;
      width: 30px;
      height: 30px;
      bottom: 15px;
      text-align: center;
      padding-right: 3px;
      padding-left: 3px;
      z-index: 2; }
      @media (max-width: 992px) {
        .section-splash .slick-slider .slick-autoplay-toggle-button {
          bottom: auto;
          top: 15px; } }
  .section-splash .slick-dots {
    margin: 0;
    padding: 30px 0;
    display: flex;
    justify-content: center;
    position: absolute;
    top: 100%;
    width: 100%; }
    @media (max-width: 767px) {
      .section-splash .slick-dots {
        padding: 0 0 15px; } }
    .section-splash .slick-dots li {
      list-style: none; }
      .section-splash .slick-dots li button {
        background-color: transparent;
        padding: 7px 25px;
        border-width: 0;
        position: relative;
        color: #ccc; }
        @media (max-width: 767px) {
          .section-splash .slick-dots li button {
            font-size: 14px;
            padding: 5px 15px; } }
      .section-splash .slick-dots li.slick-active button {
        color: #000; }
      .section-splash .slick-dots li:not(:last-of-type) button::after {
        content: '';
        position: absolute;
        width: 30px;
        left: calc(100% - 15px);
        top: 50%;
        border-bottom: 2px solid #ccc; }
        @media (max-width: 767px) {
          .section-splash .slick-dots li:not(:last-of-type) button::after {
            width: 15px;
            left: calc(100% - 7px); } }

.navbar {
  background-color: white;
  transition: all 0.3s ease-in-out; }
  .navbar .navbar-nav {
    padding-top: 30px; }
  .navbar .box-lingue {
    position: absolute;
    top: 0;
    right: 12px;
    display: flex; }
    .navbar .box-lingue .btn2 {
      padding: 3px 20px !important;
      width: 60px; }
  .navbar .logo {
    width: 220px;
    text-align: center;
    padding: 0 50px;
    transition: all 0.3s ease-in-out; }
  .navbar .logo-white {
    display: none; }
  .navbar .logo-black {
    display: inline; }
  @media (max-width: 991px) {
    .navbar .nav-item {
      width: 100%; } }
  .navbar a.nav-link {
    color: black; }
    .navbar a.nav-link:hover, .navbar a.nav-link.active {
      color: white; }
  .navbar a.nav-link {
    font-size: 14px;
    border-width: 0px;
    border-radius: 0px;
    font-weight: 400;
    padding-left: 20px !important;
    padding-right: 20px !important;
    text-align: center; }
  .navbar:not(.chiudi) .logo-white {
    display: inline; }
  .navbar:not(.chiudi) .logo-black {
    display: none; }
  @media (min-width: 992px) {
    .navbar:not(.chiudi) {
      background-color: transparent; }
      .navbar:not(.chiudi) .logo {
        width: 300px; }
      .navbar:not(.chiudi) a.nav-link {
        color: white; }
        .navbar:not(.chiudi) a.nav-link.active {
          color: white; } }

.navbar-toggler {
  width: 40px;
  height: 23px;
  position: relative;
  -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;
  border-width: 0px;
  margin: auto;
  margin-right: 0; }

.navbar-toggler:focus {
  box-shadow: 0 0 0 0; }

.navbar-toggler span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: black;
  border-radius: 2px;
  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; }

.navbar-toggler span:nth-child(1) {
  top: 0px; }

.navbar-toggler span:nth-child(2),
.navbar-toggler span:nth-child(3) {
  top: 12px; }

.navbar-toggler span:nth-child(4) {
  top: 24px; }

.navbar-toggler.open span:nth-child(1) {
  top: 12px;
  width: 0%;
  left: 50%; }

.navbar-toggler.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

.navbar-toggler.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.navbar-toggler.open span:nth-child(4) {
  top: 12px;
  width: 0%;
  left: 50%; }

.form1 label {
  margin-bottom: 5px; }
.form1 input,
.form1 select,
.form1 textarea {
  border-radius: 0 !important; }
.form1 input:not([type="checkbox"]),
.form1 select {
  padding-top: 10px;
  padding-bottom: 10px; }
.form1 .box-form {
  background-color: white;
  position: relative; }
  .form1 .box-form label {
    position: absolute;
    top: 10px;
    left: 15px; }
  .form1 .box-form select {
    border-width: 0px;
    width: 100%;
    padding: 45px 45px 15px 15px;
    background-position: calc(100% - 15px) calc(100% - 20px); }
  .form1 .box-form input {
    border-width: 0px;
    width: 100%;
    padding: 45px 45px 15px 15px; }

.form2 input:not([type="checkbox"]),
.form2 textarea {
  padding: 5px 15px;
  margin-left: -15px;
  margin-right: -15px;
  border-width: 0px; }

.form3 label {
  margin-bottom: 5px; }
.form3 input,
.form3 textarea,
.form3 select,
.form3 .select2-selection {
  border-radius: 0 !important;
  border: 1px solid #666; }
.form3 input:not([type="checkbox"]),
.form3 select,
.form3 .select2-selection {
  padding-top: 10px;
  padding-bottom: 10px; }
.form3 .select2-selection {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right .75rem center;
  background-size: 16px 12px;
  max-height: 150px;
  overflow-y: auto; }

.box-immobile {
  background-color: white;
  padding: 7px;
  border-radius: 10px; }
  .box-immobile .box-img-hover img {
    border-radius: 10px; }
  .box-immobile .box-dettaglio {
    background-color: #f5f5f5;
    border-radius: 10px;
    padding: 12px 20px; }
  .box-immobile .icona {
    width: 36px;
    height: 36px;
    border-radius: 18px;
    padding: 3px;
    transition: all 0.3s ease-in-out;
    margin-top: 15px;
    margin-left: 15px; }
    .box-immobile .icona img {
      margin-left: 2px; }
    .box-immobile .icona.vendita {
      background-color: #0C8500; }
    .box-immobile .icona.affitto {
      background-color: #D68F00; }
  .box-immobile .icona-testo {
    width: 0px;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
    text-wrap: nowrap;
    color: white;
    font-size: 12px; }
  .box-immobile .img {
    aspect-ratio: 40/25;
    border-radius: 10px;
    transition: all 0.3s ease-in-out; }
  .box-immobile a {
    text-decoration: none; }
    .box-immobile a:hover .icona {
      width: 130px; }
    .box-immobile a:hover .icona-testo {
      padding-left: 10px;
      width: 90px; }
    .box-immobile a:hover .img {
      transform: scale(1.2); }
  @media (max-width: 576px) {
    .box-immobile .btn2 {
      font-size: 12px; } }

.section-home3 .box {
  aspect-ratio: 21/9;
  padding: 15px; }
  @media (max-width: 1199px) {
    .section-home3 .box {
      aspect-ratio: 16/9; } }
  @media (max-width: 768px) {
    .section-home3 .box {
      aspect-ratio: 1; } }
  .section-home3 .box::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2; }
    @media (max-width: 768px) {
      .section-home3 .box::after {
        background-color: rgba(22, 36, 62, 0.5); } }
  .section-home3 .box img {
    z-index: 1; }
  .section-home3 .box .box-testo {
    z-index: 3;
    position: relative; }
  .section-home3 .box > div {
    position: relative;
    z-index: 2; }
  @media (min-width: 768px) {
    .section-home3 .box .testo {
      font-size: 20px; } }
@media (min-width: 992px) {
  .section-home3 .box2 {
    max-width: calc(100vw - 470px); } }
.section-home3 .h1 {
  font-size: 75px; }
  @media (max-width: 1199px) {
    .section-home3 .h1 {
      font-size: 60px; } }
  @media (max-width: 991px) {
    .section-home3 .h1 {
      font-size: 30px; } }
.section-home3 .slick2 {
  padding-bottom: 0px; }
@media (min-width: 992px) {
  .section-home3 .slick-dots {
    position: absolute;
    top: 50%;
    right: 150px;
    transform: translateY(-50%);
    margin: 0;
    padding: 0; } }
  @media (min-width: 992px) and (max-width: 1399px) {
    .section-home3 .slick-dots {
      right: 50px; } }
@media (min-width: 992px) {
    .section-home3 .slick-dots li {
      list-style: none;
      text-align: right;
      margin-top: 45px;
      margin-bottom: 45px; }
      .section-home3 .slick-dots li button {
        background-color: transparent;
        color: #ccc;
        font-size: 18px;
        border-width: 0px;
        letter-spacing: 0.2px;
        position: relative;
        padding-top: 10px;
        padding-bottom: 10px; }
        .section-home3 .slick-dots li button::after {
          content: '';
          position: absolute;
          top: 50%;
          right: -20px;
          transform: translateY(-50%);
          width: 14px;
          height: 14px;
          border-radius: 50%;
          background-color: white; }
      .section-home3 .slick-dots li.slick-active button {
        font-weight: 600;
        color: white; }
        .section-home3 .slick-dots li.slick-active button::after {
          content: '';
          width: 20px;
          height: 20px;
          right: -23px; }
      .section-home3 .slick-dots li:not(:last-of-type) button::before {
        content: '';
        position: absolute;
        height: 85px;
        right: -14px;
        top: 50%;
        border-right: 2px solid #ccc; } }
@media (max-width: 991px) {
  .section-home3 .slick2 {
    padding-bottom: 15px; }
  .section-home3 .slick-dots {
    margin: 0;
    padding: 30px 0;
    display: flex;
    justify-content: center;
    position: absolute;
    top: 100%;
    width: 100%; } }
  @media (max-width: 991px) and (max-width: 767px) {
    .section-home3 .slick-dots {
      padding: 0 0 15px; } }
@media (max-width: 991px) {
    .section-home3 .slick-dots li {
      list-style: none; }
      .section-home3 .slick-dots li button {
        background-color: #888;
        padding: 0;
        border-width: 0;
        position: relative;
        color: transparent;
        width: 20px;
        height: 20px;
        display: block;
        border-radius: 50%;
        margin: 0px 15px; } }
      @media (max-width: 991px) and (max-width: 767px) {
        .section-home3 .slick-dots li button {
          width: 12px;
          height: 12px;
          margin: 0px 10px; } }
@media (max-width: 991px) {
      .section-home3 .slick-dots li.slick-active button {
        background-color: #000; } }

.slick-slider1 {
  padding-bottom: 60px; }
  @media (max-width: 767px) {
    .slick-slider1 {
      padding-bottom: 45px; } }
  .slick-slider1 .slick-dots {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none; }
    .slick-slider1 .slick-dots button {
      margin: 15px 10px 0;
      width: 12px;
      height: 12px;
      background: #888;
      color: transparent;
      border-radius: 50%;
      border-width: 0px;
      overflow: hidden; }
    .slick-slider1 .slick-dots .slick-active button {
      background-color: #333; }

.section-home4 .img {
  position: absolute;
  width: 550px; }
  @media (max-width: 1600px) {
    .section-home4 .img {
      display: none; } }

@media (min-width: 768px) {
  .section-home5 .col-12 {
    border-left: 1px solid #ccc; }
    .section-home5 .col-12:last-of-type {
      border-right: 1px solid #ccc; } }

.section-home6 {
  border-radius: 50px; }

section:has(+ footer) {
  position: relative;
  z-index: 1; }

.section-footer1 {
  margin-top: -50px;
  position: relative;
  z-index: 0;
  padding-top: 50px; }
  .section-footer1 .btn-social {
    background-color: white;
    width: 60px;
    height: 60px;
    color: #16243E;
    border-radius: 50%;
    text-align: center;
    line-height: 60px;
    padding: 0; }

@media (min-width: 768px) {
  .section-footer2 .row-con-bordo .col-12:not(:last-of-type) {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } }
.section-footer2 .btn2 {
  border-color: white;
  color: white; }
.section-footer2 .background1 {
  bottom: 0;
  left: 0;
  z-index: 1; }
.section-footer2 .background2 {
  bottom: 0;
  right: 0;
  z-index: 1; }
.section-footer2 .container {
  position: relative;
  z-index: 2; }

.section-breadcrumb {
  height: 450px;
  position: relative; }
  @media (max-width: 768px) {
    .section-breadcrumb {
      height: auto;
      aspect-ratio: 2.5; } }
  .section-breadcrumb .container {
    position: relative;
    z-index: 2; }
  .section-breadcrumb:after {
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #11111166; }

.section-breadcrumb2 {
  height: 100dvh;
  position: relative; }
  @media (max-width: 768px) {
    .section-breadcrumb2 {
      height: auto;
      aspect-ratio: 2.5; } }
  .section-breadcrumb2 .container {
    position: relative;
    z-index: 2; }
  .section-breadcrumb2:after {
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #11111166; }

.box-ordinamento {
  background-color: white;
  display: inline-block;
  padding: 15px; }
  .box-ordinamento select {
    border-width: 0px;
    min-width: 0px;
    padding: 0px 15px 0px 0px; }

.section-catalogo2 .page-link {
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: 50% !important;
  background-color: white;
  padding: 0;
  color: #000;
  border-width: 0;
  margin: 0 15px; }
  .section-catalogo2 .page-link.active {
    background-color: #16243E;
    color: white; }

.gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 0px; }
  @media (max-width: 992px) {
    .gallery {
      grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 767px) {
    .gallery {
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(3, 1fr); } }
  .gallery > div {
    overflow: hidden; }
  .gallery .img1 {
    grid-area: img1; }
  .gallery .img2 {
    grid-area: img2; }
  .gallery .img3 {
    grid-area: img3; }
  .gallery .img4 {
    grid-area: img4; }
  .gallery .img5 {
    grid-area: img5; }

.gallery5 {
  grid-template-areas: "img1 img1 img2 img3" "img1 img1 img4 img5"; }
  @media (max-width: 992px) {
    .gallery5 {
      grid-template-areas: "img1 img1 img2" "img1 img1 img5"; } }
  @media (max-width: 767px) {
    .gallery5 {
      grid-template-areas: "img1 img1" "img1 img1" "img2 img5"; } }

.gallery4 {
  grid-template-areas: "img1 img1 img2 img3" "img1 img1 img4 img4"; }
  @media (max-width: 992px) {
    .gallery4 {
      grid-template-areas: "img1 img1 img1 img4" "img1 img1 img1 img4"; } }
  @media (max-width: 767px) {
    .gallery4 {
      grid-template-areas: "img1 img1" "img1 img1" "img2 img4"; } }

.gallery3 {
  grid-template-areas: "img1 img1 img2 img2" "img1 img1 img3 img3"; }
  @media (max-width: 767px) {
    .gallery3 {
      grid-template-areas: "img1 img1" "img1 img1" "img2 img3"; } }

.gallery2 {
  grid-template-areas: "img1 img1 img2 img2" "img1 img1 img2 img2"; }
  @media (max-width: 767px) {
    .gallery2 {
      grid-template-areas: "img1 img1" "img1 img1" "img2 img2"; } }

.gallery1 {
  grid-template-areas: "img1 img1 img1 img1" "img1 img1 img1 img1"; }
  @media (max-width: 767px) {
    .gallery1 {
      grid-template-areas: "img1 img1" "img1 img1" "img1 img1"; } }

.btn-gallery {
  background-color: #333333aa;
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  color: white;
  text-decoration: none;
  font-weight: 600;
  text-align: center; }
  @media (max-width: 767px) {
    .btn-gallery {
      font-size: 14px; } }
  .btn-gallery:hover {
    color: #fff;
    background-color: #000000aa; }
  .btn-gallery i {
    font-size: 40px; }
    @media (max-width: 767px) {
      .btn-gallery i {
        font-size: 18px; } }

.section-catalogo-dettaglio1 .gallery {
  aspect-ratio: 190/65; }
  @media (max-width: 767px) {
    .section-catalogo-dettaglio1 .gallery {
      aspect-ratio: 1; } }

.section-catalogo-dettaglio2 .icona {
  min-width: 30px; }
@media (max-width: 767px) {
  .section-catalogo-dettaglio2 .caratteristiche {
    min-width: 50%;
    margin-bottom: 10px; } }
@media (max-width: 767px) {
  .section-catalogo-dettaglio2 .box-altre-caratteristiche {
    font-size: 14px; } }

.section-breadcrumb-catalogo-dettaglio {
  padding-top: 131px;
  background-color: #3B3E4E; }
  @media (max-width: 991px) {
    .section-breadcrumb-catalogo-dettaglio {
      padding-top: 0px; } }

.btn-collapse {
  width: 100%;
  border-radius: 0;
  background-color: transparent;
  color: black;
  text-align: left;
  padding: 15px 45px 15px 0;
  position: relative; }
  .btn-collapse::after {
    content: "";
    position: absolute;
    top: 26px;
    right: 20px;
    width: 15px;
    height: 15px;
    border-bottom: 2px solid black;
    border-right: 2px solid black;
    transform: rotate(-135deg);
    transition: all 0.3s ease-in-out; }
  .btn-collapse.collapsed::after {
    top: 18px;
    transform: rotate(45deg); }

.bordo-inferiore {
  border-bottom-left-radius: 50px;
  border-bottom-right-radius: 50px; }

.section-servizi4 {
  position: relative;
  height: 500px; }
  @media (max-width: 767px) {
    .section-servizi4 {
      height: auto;
      aspect-ratio: 1; } }
  .section-servizi4 .container {
    position: relative;
    z-index: 3; }
  .section-servizi4 .img {
    z-index: 1; }
  .section-servizi4:after {
    content: '';
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #11111166; }

.section-contatti2 .box {
  border-radius: 30px;
  border: 1px solid #ced4da;
  padding: 30px; }
.section-contatti2 .icona {
  display: inline-block;
  border: 1px solid #656565;
  width: 60px;
  height: 60px;
  line-height: 60px;
  border-radius: 50%;
  color: #1DB2FF;
  font-size: 26px;
  text-align: center; }
.section-contatti2 .btn-social {
  background-color: #16243E;
  color: white;
  width: 50px;
  height: 50px;
  line-height: 50px;
  border-radius: 50%;
  font-size: 20px;
  text-align: center;
  padding: 0; }
.section-contatti2 .img {
  border-radius: 30px; }

.section-contatti3 {
  overflow: hidden;
  border-radius: 50px; }

@media (min-width: 767px) {
  #fancy-ricerca-completa {
    min-width: 767px; } }
#fancy-ricerca-completa .form-control,
#fancy-ricerca-completa .form-select {
  border-width: 0; }
#fancy-ricerca-completa .form-select {
  background-position: right center;
  padding-left: 5px;
  padding-right: 20px; }
#fancy-ricerca-completa .fancybox-close-small {
  width: 57px; }

.section-chi-siamo4 .btn-mail {
  background-color: #F6F2F1;
  width: 50px;
  height: 50px;
  font-size: 18px;
  border-radius: 50%;
  line-height: 50px;
  padding: 0; }
  .section-chi-siamo4 .btn-mail:hover {
    background-color: #C50025;
    color: white;
    transition: all 0.3s ease-in-out; }
.section-chi-siamo4 .btn-bio {
  background-color: white;
  border-radius: 30px;
  padding: 6px 12px;
  font-size: 14px; }

.label-zona {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background-color: #000 !important;
  color: white !important;
  font-size: 20px !important;
  padding: 0 !important;
  line-height: 30px !important;
  text-align: center !important; }

/*# sourceMappingURL=style.css.map */
