@import 'https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap';
@import 'accordion.min.css';
@font-face {
  font-family: neue-heavy;
  src: url("neue/Heavy.ttf");
}
@font-face {
  font-family: neue-black;
  src: url("neue/Black.ttf");
}
body,
html {
  scroll-behavior: smooth;
  padding: 0;
  margin: 0;
  color: #000;
  box-sizing: border-box;
  line-height: 1.3;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0px;
  font-size: calc(16px + (18 - 16) * ((100vw - 300px) / (1600 - 300)));
}
div,
label {
  box-sizing: border-box;
}
.idTabs ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
.idTabs ul il{
  margin: 0;
  padding: 0;
}
.idTabs .btn-square.selected, .idTabs .btn-square:hover{
  background: #dadada;
  color: #000;
}
.mpa-times button{
  background: #dadada;
}
.mpa-times button:hover,
.mpa-times button.mpa-time-period-selected,
.mpa-actions button{
  background: #d7fd61;
  padding: 10px;
}

.swiper-x3 .swiper-pagination,
.swiper-portfolio .swiper-pagination {
	position: relative;
	margin-top: 30px;
	/*left: auto !important;
    transform: translateX(0%) !important;*/
}
.swiper-x3 .swiper-pagination .swiper-pagination-bullet-active,
.swiper-portfolio .swiper-pagination .swiper-pagination-bullet-active{
	background: #2d059e;
}
.swiper-x3 .swiper-pagination .swiper-pagination-bullet,
.swiper-portfolio .swiper-pagination .swiper-pagination-bullet{
	height: 6px;
	width: 20px;
	border-radius:0;
}

.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
  background: #2d059e !important;
  border-color: #2d059e !important;
}

.mpa-input-wrapper input{
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.mpa-input-wrapper textarea{
  width: 100%;
}
.mpa-cart-total,
.cell.cell-price,
.mpa-checkout-section.mpa-order-details{
  display: none !important;
}
button{
  border: none;
  transition: all 0.5s ease;
  cursor: pointer;
}
button:hover{
  transition: all 0.5s ease;
}
button.close{
  background: transparent;
  font-size: 20px;
}
.stagger-in__el {
  opacity: 0;
}
:focus {
  outline: 0;
}
.sticky {
  position: sticky !important;
}
.fixed {
  position: fixed !important;
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
.object-cover {
  object-fit: cover;
}
.container {
  width: 100%;
  position: relative;
}
.content {
  width: 100%;
  margin: 0 auto;
  padding-left: 5%;
  padding-right: 5%;
  position: relative;
}
img {
  display: block;
  max-width: 100%;
}
a {
  transition: all 0.5s ease;
}
a:hover {
  transition: all 0.5s ease;
  color: #2d059e;
}
.boxes p,
.ac-text p,
.hover-text p{
  margin: 0;
}
.boxes p{
  display: inline;
}
.clear {
  margin: 0;
  padding: 0;
  clear: both;
}
.shrink {
  flex-shrink: 0;
}
.flex-auto {
  width: auto;
}
.flex-column {
  flex-direction: column;
}
.flex-expand {
  flex: 1;
  min-width: 1px;
  width: 100%;
  max-width: 100%;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex,
.flex-tablet,
.flex-mobile {
  display: flex;
}
.flex-left {
  justify-content: flex-start;
}
.flex-right {
  justify-content: flex-end;
}
.flex-center {
  justify-content: center;
}
.flex-middle {
  align-items: center;
}
.flex-top {
  align-items: flex-start;
}
.flex-bottom {
  align-items: flex-end;
}
.flex-space {
  justify-content: space-between;
}
.column-3 {
  column-count: 3;
  column-gap: 30px;
}
.col-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: masonry;
  grid-gap: 40px;
}
.col-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: masonry;
  grid-gap: 40px;
}
.col-1-3 {
  width: 33.333%;
}
.col-2-3 {
  width: 66.666%;
}
.col-1-4 {
  width: 25%;
}
.col-3-4 {
  width: 75%;
}
.col-1-5 {
  width: 20%;
}
.col-4-5 {
  width: 80%;
}
.centered {
  margin-left: auto;
  margin-right: auto;
}
.block {
  display: block;
}
.width-100 {
  width: 100%;
  box-sizing: border-box;
}
.height-100 {
  height: 100%;
}
.height-100vh {
  height: 100vh;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}
strong {
  font-weight: 700;
}

.border-bottom{
  border-bottom: 3px solid #2d059e;
}

.arrow{
  right: -120px; 
  bottom: 0px;
}

.btn-square{
  color: #000;
  background: #d7fd61;
  transition: all 0.5s ease;
  cursor: pointer;
  text-align: center;
  text-transform: uppercase;
  display: table;
  line-height: 1;
  letter-spacing: 0.5px;
  font-size: calc(18px + (24 - 18) * ((100vw - 300px) / (1600 - 300)));
  padding: 10px 14px;
  box-sizing: border-box;
  text-decoration: none;
}

.btn-square:hover{
  color: #fff;
  background: #2d059e;
  transition: all 0.5s ease;
}

.font-uppercase {
  text-transform: uppercase;
}
.font-center {
  text-align: center;
}
.font-right {
  text-align: right;
}
.font-left {
  text-align: left;
}
.font-underline {
  text-decoration: underline;
}
.font-80 {
  font-size: calc(33px + (80 - 33) * ((100vw - 300px) / (1600 - 300)));
  line-height: 1;
}
.font-48 {
  font-size: calc(24px + (48 - 24) * ((100vw - 300px) / (1600 - 300)));
  line-height: 1.1;
}
.font-36 {
  font-size: calc(20px + (36 - 20) * ((100vw - 300px) / (1600 - 300)));
  line-height: 1.1;
}
.font-24 {
  font-size: calc(16px + (24 - 16) * ((100vw - 300px) / (1600 - 300)));
}
.font-18 {
  font-size: calc(15px + (18 - 15) * ((100vw - 300px) / (1600 - 300)));
}
.font-16 {
  font-size: calc(15px + (16 - 15) * ((100vw - 300px) / (1600 - 300)));
}
.font-2 {
  font-family: neue-heavy;
}
.no-link {
  color: inherit;
  text-decoration: none;
}
.no-link:hover {
  text-decoration: none;
  color: #d7fd61;
}
.bg-grigio {
  background: #dadada;
}
.bg-bianco {
  background: #fff;
}
.bg-nero {
  background: #000;
}
.bg-neon {
  background: #d7fd61;
}
.bg-blu {
  background: #2d059e;
}
.c-blu {
  color: #2d059e;
}
.c-blu {
  color: #2d059e;
}
.c-nero {
  color: #000;
}
.c-bianco {
  color: #fff;
}
.btn {
  color: #000;
  font-family: neue-heavy;
  background: transparent;
  border: 2px solid #000;
  padding: 10px 14px;
  box-sizing: border-box;
  text-decoration: none;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.5s ease;
  text-align: center;
  text-transform: uppercase;
  display: table;
  line-height: 1;
  letter-spacing: 0.5px;
  font-size: calc(18px + (24 - 18) * ((100vw - 300px) / (1600 - 300)));
}
.btn:hover {
  background: #000;
  transition: all 0.5s ease;
  color: #fff;
}

.d-table {
  display: table;
}
.d-inline {
  display: inline;
}
.margin-0 {
  margin: 0;
}
.margin-xsmall-left {
  margin-left: 15px;
}
.margin-xsmall-right {
  margin-right: 15px;
}
.margin-xsmall-top {
  margin-top: 15px;
}
.margin-xsmall-bottom {
  margin-bottom: 15px;
}
.margin-small-left {
  margin-left: 30px;
}
.margin-small-right {
  margin-right: 30px;
}
.margin-small-top {
  margin-top: 30px;
}
.margin-small-bottom {
  margin-bottom: 30px;
}
.margin-left {
  margin-left: 60px;
}
.margin-right {
  margin-right: 60px;
}
.margin-top {
  margin-top: 60px;
}
.margin-bottom {
  margin-bottom: 60px;
}
.margin-large-left {
  margin-left: 100px;
}
.margin-large-right {
  margin-right: 100px;
}
.margin-large-top {
  margin-top: 100px;
}
.margin-large-bottom {
  margin-bottom: 100px;
}
.padding-xsmall-left {
  padding-left: 15px;
}
.padding-xsmall-right {
  padding-right: 15px;
}
.padding-xsmall-top {
  padding-top: 15px;
}
.padding-xsmall-bottom {
  padding-bottom: 15px;
}
.padding-small-left {
  padding-left: 30px;
}
.padding-small-right {
  padding-right: 30px;
}
.padding-small-top {
  padding-top: 30px;
}
.padding-small-bottom {
  padding-bottom: 30px;
}
.padding-left {
  padding-left: 60px;
}
.padding-right {
  padding-right: 60px;
}
.padding-top {
  padding-top: 60px;
}
.padding-bottom {
  padding-bottom: 60px;
}
.padding-large-left {
  padding-left: 100px;
}
.padding-large-right {
  padding-right: 100px;
}
.padding-large-top {
  padding-top: 100px;
}
.padding-large-bottom {
  padding-bottom: 100px;
}
.no-padding-right {
  padding-right: 0 !important;
}
.hero {
  height: 100vh;
}
.hero .height-50 {
  height: 50vh;
}
.hero .icons {
  right: 0;
  bottom: 0;
  margin-right: 2%;
  z-index: 9990;
}
.hero .icon {
  height: 60px;
  width: 60px;
  background: #d7fd61;
  border-radius: 100px;
  margin-top: 20px;
}
.hero .icon img {
  width: 40px;
}
.hero .icon:hover {
  background: #fff;
}
.icon-neon {
  height: 60px;
  width: 60px;
  background: #d7fd61;
  border-radius: 100px;
  margin-top: 20px;
}
.icon-neon img {
  width: 40px;
}
.swiper-auto .swiper-slide img{
  /*height: auto;*/
  width: 100%;
  aspect-ratio: 3 / 2;
  height: 100%;
  object-fit: cover;
}
.swiper-wrapper {
  transition-timing-function: linear;
}
.boxes ul {
  margin: 0;
  padding: 0;
}
.boxes ul li {
  margin: 0;
  padding: 0;
  list-style: inside;
}
.mobile,
.tablet {
  display: none;
}
.mobile-menu ul li.current-menu-item a{
  color: #d7fd61;
}
header a {
  text-decoration: none;
  color: #000;
}
header a.cta{
  z-index: 9999;
}
.page-id-11 header a.cta, .page-id-11 header .mobile-nav-button{
  background: #fff;
}
.page-id-11 header a.cta:hover, .page-id-11 header .mobile-nav-button:hover{
  background: #d7fd61;
}
header a.cta, header .mobile-nav-button{
  padding: 8px 10px;
  background: #d7fd61;
  text-transform: uppercase;
  transition: all 0.5s ease;
}
header a.cta:hover, header .mobile-nav-button:hover{
  background: #fff;
  transition: all 0.5s ease;
}
#image-viewer {
  pointer-events: none;
}
#dynamic-text strong {
  font-weight: 400;
  text-transform: uppercase;
}
#preview-img {
  display: block;
  pointer-events: none;
  max-width: 100%;
  height: auto;
}
#preview-img img {
  transition: all 0.5s ease;
}
.image-box {
  cursor: pointer;
  transition: transform 0.6s ease;
  background: #000;
}
.image-box:hover {
  transform: scale(1.05);
  background: #dadada;
}
.image-box:hover img {
  filter: invert(0%) sepia(10%) saturate(27%) hue-rotate(322deg) brightness(103%) contrast(100%);
}
.image-box:nth-child(1) {
/*top 0
        left 0*/
  height: 150px;
  width: 150px;
  border-radius: 150px;
}
.image-box:nth-child(1) img {
  width: 80px;
}
.image-box:nth-child(2) {
  height: 160px;
  width: 160px;
  border-radius: 160px;
/*top -30px
        left 170px*/
}
.image-box:nth-child(2) img {
  width: 85px;
}
.image-box:nth-child(3) {
  height: 120px;
  width: 120px;
  border-radius: 120px;
/*top -10px
        left 350px*/
}
.image-box:nth-child(3) img {
  width: 60px;
}
.image-box:nth-child(4) {
  height: 140px;
  width: 140px;
  border-radius: 140px;
}
.image-box:nth-child(4) img {
  width: 75px;
}
.image-box:nth-child(5) {
  height: 100px;
  width: 100px;
  border-radius: 100px;
}
.image-box:nth-child(5) img {
  width: 60px;
}
.image-box:nth-child(6) {
  height: 180px;
  width: 180px;
  border-radius: 180px;
}
.image-box:nth-child(6) img {
  width: 110px;
}
.image-box:nth-child(7) {
  height: 90px;
  width: 90px;
  border-radius: 90px;
}
.image-box:nth-child(7) img {
  width: 55px;
}
.image-box:nth-child(8) {
  height: 110px;
  width: 110px;
  border-radius: 110px;
}
.image-box:nth-child(8) img {
  width: 65px;
}


.mobile .image-box {
  cursor: default;
  transition: transform 0.6s ease;
  background: #000;
}
.mobile .image-box:hover {
  transform: scale(1);
  background: #000;
}
.mobile .image-box:hover img {
  filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0%) contrast(0%);
}
.mobile .image-box:nth-child(1) {
  height: 130px;
  width: 130px;
  border-radius: 130px;
}


.ac .image-box {
  cursor: pointer;
  transition: transform 0.6s ease;
  background: #000;
  height: 50px;
  width: 50px;
  border-radius: 50px;
}
.ac .image-box img {
  width: 30px;
}
.contatti {
  position: relative;
  min-height: 230px;
}
.contatti a {
  position: absolute;
  transition: transform 0.6s ease;
  background: #d7fd61;
}
.contatti a:hover {
  background: #000;
  transform: scale(1.05);
}
.contatti a:hover img {
  filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);
}
.contatti a:nth-child(1) {
  top: 20px;
  left: 0;
  height: 80px;
  width: 80px;
  border-radius: 80px;
}
.contatti a:nth-child(1) img {
  width: 60px;
}
.contatti a:nth-child(2) {
  top: 0px;
  left: 110px;
  height: 120px;
  width: 120px;
  border-radius: 120px;
}
.contatti a:nth-child(2) img {
  width: 80px;
}
.contatti a:nth-child(3) {
  top: 110px;
  left: 40px;
  height: 100px;
  width: 100px;
  border-radius: 90px;
}
.contatti a:nth-child(3) img {
  width: 70px;
}
.bg-neon .contatti a {
  background: #000;
}
.bg-neon .contatti a img {
  filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);
}
.bg-neon .contatti a:hover {
  background: #dadada;
}
.bg-neon .contatti a:hover img {
  filter: invert(0%) sepia(10%) saturate(27%) hue-rotate(322deg) brightness(103%) contrast(100%);
}

a.link span{
  display: inline-block;
  transition: all 0.5s ease;
}
a.link:hover span{
  margin-left: 10px;
  transition: all 0.5s ease;
}

.gap-col5{
  gap: 100px;
}

/**************************\
  Basic Modal Styles
\**************************/


.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal__container {
  background-color: #000;
  padding: 30px;
  max-width: 500px;
  max-height: 100vh;
  border-radius: 4px;
  overflow-y: auto;
  box-sizing: border-box;
  z-index: 9999;
}

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


.modal__close {
  background: transparent;
  border: 0;
}

.modal__header .modal__close:before { content: "\2715"; }

.modal__content {
  margin-top: 0rem;
  margin-bottom: 2rem;
  line-height: 1.5;
  color: #fff;
}

.modal__btn {
  font-size: .875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: .5rem;
  padding-bottom: .5rem;
  background-color: #e6e6e6;
  color: rgba(0,0,0,.8);
  border-radius: .25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform .25s ease-out;
  transition: transform .25s ease-out;
  transition: transform .25s ease-out,-webkit-transform .25s ease-out;
}

.modal__btn:focus, .modal__btn:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}



/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
    from { opacity: 0; }
      to { opacity: 1; }
}

@keyframes mmfadeOut {
    from { opacity: 1; }
      to { opacity: 0; }
}

@keyframes mmslideIn {
  from { transform: translatex(15%); }
    to { transform: translatex(0); }
}

@keyframes mmslideOut {
    from { transform: translatex(0); }
    to { transform: translatex(15%); }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
  animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}





/* Stili base per tutte le modali */
.modal { display: none; }
.modal.is-open { display: block; }

.modal__overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  z-index: 1000;
  justify-content: flex-end; /* Allinea a destra */
  z-index: 9999;
}

/* MODALE 2: Da Destra */

.modal__container {
  width: 350px;
  height: 100vh;
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
}

.is-open .modal__container{
  transform: translateX(0);
}

.modal__container .icon{
  background: #fff;
  height: 60px;
  width: 60px;
  border-radius: 100px;
}

@media screen and (max-width: 1199px) {
  .content {
    padding-left: 5%;
    padding-right: 5%;
  }
  .gap-col5{
    gap: 20px;
  }
}
@media screen and (max-width: 960px) {
  .col-1-3,
  .col-2-3{
    width: 50%;
  }
  .col-2 .col-2-3 {
    width: 100%;
  }
  .arrow{
    right: 0px; 
    bottom: -80px;
  }
  .tablet {
    display: block;
  }
  .desktop-tablet {
    display: none;
  }
  .flex-tablet {
    display: block;
  }
  .col-1-5, .col-1-4 {
    width: 100%;
  }
  .col-4-5, .col-3-4 {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .font-center-mobile{
    text-align: center !important;
  }
  .no-padding-right-mobile {
    padding-right: 0 !important;
  }
  .no-margin-right-mobile {
    margin-right: 0 !important;
  }
  .font-mobile-center {
    text-align: center !important;
  }
  .margin-top-mobile > div {
    margin-top: 15px;
  }
  .centered-mobile {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .flex {
    display: block;
  }
  .col-2 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: masonry;
    grid-gap: 20px;
  }
  .col-3 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: masonry;
    grid-gap: 20px;
  }
  .col-1-3,
  .col-2-3,
  .col-1-5,
  .col-4-5,
  .col-1-4,
  .col-3-4 {
    width: 100%;
  }
  .arrow{
    display: none;
  }
  .flex-space-mobile {
    justify-content: space-between;
  }
  .flex-center-mobile {
    justify-content: center;
  }
  .desktop {
    display: none;
  }
  .mobile {
    display: block;
  }
  .hero .spazio-icone {
    width: calc(100% - 70px);
  }
  .margin-left {
    margin-left: 40px;
  }
  .margin-right {
    margin-right: 40px;
  }
  .margin-top {
    margin-top: 40px;
  }
  .margin-bottom {
    margin-bottom: 40px;
  }
  .margin-large-left {
    margin-left: 60px;
  }
  .margin-large-right {
    margin-right: 60px;
  }
  .margin-large-top {
    margin-top: 60px;
  }
  .margin-large-bottom {
    margin-bottom: 60px;
  }
  .padding-left {
    padding-left: 40px;
  }
  .padding-right {
    padding-right: 40px;
  }
  .padding-top {
    padding-top: 40px;
  }
  .padding-bottom {
    padding-bottom: 40px;
  }
  .padding-large-left {
    padding-left: 60px;
  }
  .padding-large-right {
    padding-right: 60px;
  }
  .padding-large-top {
    padding-top: 60px;
  }
  .padding-large-bottom {
    padding-bottom: 60px;
  }
}
