/*
Theme Name:     Renix Child Theme
Theme URI:      http://themeforest.net/user/Softwebmedia/portfolio
Description:    Renix Child Theme for customization
Author:         Soft Web Media
Author URI:     http://themeforest.net/user/Softwebmedia
Template:       renix
Version: 		1.00
*/

/* Add your custom style below */

/*----------- MODIFICHE HEADER -----------*/
#menu-main-navigation li a span {
  font-family: "Archivo", sans-serif !important;
  font-size: 14px !important;
}
.w-desktop-menu .mk-nav-menu .sub-menu > li {
  padding: 5px 30px;
}
.w-desktop-menu .mk-nav-menu .sub-menu > li > a > span {
  padding: 0;
}
.w-desktop-menu .mk-nav-menu .sub-menu > li > a > span::before {
  background-color: transparent !important;
}
/*voce servizi più larga*/
.w-desktop-menu ul li:nth-child(3) .sub-menu {
  width: 300px !important;
}

/* ===== BUTTON IN MAIN MENU Sticky ===== */
.w-sticky ul#menu-main-navigation-2 > li:last-child > a > span,
.w-sticky ul#menu-main-navigation-en-2 > li:last-child > a > span {
  background-color: #fff !important;
  color: #0255fe !important;
  padding: 4px 9px 4px 9px;
  transition: ease-in-out 0.3s;
}

.w-sticky ul#menu-main-navigation-2 > li:last-child > a:hover > span,
.w-sticky ul#menu-main-navigation-en-2 > li:last-child > a:hover > span {
  background-color: #0255fe !important;
  color: #fff !important;
}

.w-sticky ul#menu-main-navigation-2 > li:last-child > a > span::after,
.w-sticky ul#menu-main-navigation-en-2 > li:last-child > a > span::after {
  content: url("custom/assets/img/arrow-up-right.svg");
  width: 18px;
  height: 18px;
  object-fit: contain;
  position: relative;
  top: 3px;
  left: 5px;
  background-color: #fff !important;
  transition: ease-in-out 0.3s;
}

.w-sticky ul#menu-main-navigation-2 > li:last-child > a:hover > span::after,
.w-sticky ul#menu-main-navigation-en-2 > li:last-child > a:hover > span::after {
  content: url("custom/assets/img/arrow-up-right-white.svg");
  background-color: #0255fe !important;
}

.w-sticky ul#menu-main-navigation-2 > li:last-child > a > span::before,
.w-sticky ul#menu-main-navigation-en-2 > li:last-child > a > span::before {
  content: none !important;
}

/* ===== BUTTON IN MAIN MENU Transparent ===== */
.w-transparent ul#menu-main-navigation > li:last-child > a > span,
.w-transparent ul#menu-main-navigation-en > li:last-child > a > span {
  background-color: #fff !important;
  color: #0255fe !important;
  padding: 4px 10px 6px 10px;
  transition: ease-in-out 0.3s;
}

.w-transparent ul#menu-main-navigation > li:last-child > a:hover > span,
.w-transparent ul#menu-main-navigation-en > li:last-child > a:hover > span {
  background-color: #0255fe !important;
  color: #fff !important;
}

.w-transparent ul#menu-main-navigation > li:last-child > a > span::after,
.w-transparent ul#menu-main-navigation-en > li:last-child > a > span::after {
  content: url("custom/assets/img/arrow-up-right.svg");
  width: 18px;
  height: 18px;
  object-fit: contain;
  position: relative;
  top: 3px;
  left: 5px;
  background-color: #fff !important;
  transition: ease-in-out 0.3s;
}

.w-transparent ul#menu-main-navigation > li:last-child > a:hover > span::after,
.w-transparent
  ul#menu-main-navigation-en
  > li:last-child
  > a:hover
  > span::after {
  content: url("custom/assets/img/arrow-up-right-white.svg");
  background-color: #0255fe !important;
}

.w-transparent ul#menu-main-navigation > li:last-child > a > span::before,
.w-transparent ul#menu-main-navigation-en > li:last-child > a > span::before {
  content: none !important;
}

/* ===== BUTTON IN MAIN MENU 4 Transparent ===== */
.w-transparent ul#menu-main-navigation-4 > li:last-child > a > span,
.w-transparent ul#menu-main-navigation-4-en > li:last-child > a > span {
  background-color: #fff !important;
  color: #0255fe !important;
  padding: 4px 10px 6px 10px;
  transition: ease-in-out 0.3s;
}

.w-transparent ul#menu-main-navigation-4 > li:last-child > a:hover > span,
.w-transparent ul#menu-main-navigation-4-en > li:last-child > a:hover > span {
  background-color: #0255fe !important;
  color: #fff !important;
}

.w-transparent ul#menu-main-navigation-4 > li:last-child > a > span::after,
.w-transparent ul#menu-main-navigation-4-en > li:last-child > a > span::after {
  content: url("custom/assets/img/arrow-up-right.svg");
  width: 18px;
  height: 18px;
  object-fit: contain;
  position: relative;
  top: 3px;
  left: 5px;
  background-color: #fff !important;
  transition: ease-in-out 0.3s;
}

.w-transparent
  ul#menu-main-navigation-4
  > li:last-child
  > a:hover
  > span::after,
.w-transparent
  ul#menu-main-navigation-4-en
  > li:last-child
  > a:hover
  > span::after {
  content: url("custom/assets/img/arrow-up-right-white.svg");
  background-color: #0255fe !important;
}

.w-transparent ul#menu-main-navigation-4 > li:last-child > a > span::before,
.w-transparent ul#menu-main-navigation-4-en > li:last-child > a > span::before {
  content: none !important;
}
/* ===== BUTTON IN MAIN MENU Mobile ===== */
ul#menu-main-navigation-1 > li:last-child > a > span > span,
ul#menu-main-navigation-1-en > li:last-child > a > span > span {
  background-color: #fff !important;
  color: #0255fe !important;
  padding: 4px 12px 4px 8px;
  border: 2px solid #0255fe;
  transition: ease-in-out 0.3s;
}

ul#menu-main-navigation-1 > li:last-child > a:hover > span > span,
ul#menu-main-navigation-1-en > li:last-child > a:hover > span > span {
  background-color: #0255fe !important;
  color: #fff !important;
}

ul#menu-main-navigation-1 > li:last-child > a > span > span::after,
ul#menu-main-navigation-1-en > li:last-child > a > span > span::after {
  content: url("custom/assets/img/arrow-up-right.svg");
  width: 16px;
  height: auto;
  object-fit: contain;
  position: relative;
  bottom: 0;
  left: 5px;
  transition: ease-in-out 0.3s;
  transform: scale(1.7);
}

ul#menu-main-navigation-1 > li:last-child > a:hover > span > span::after,
ul#menu-main-navigation-1-en > li:last-child > a:hover > span > span::after {
  content: url("custom/assets/img/arrow-up-right-white.svg");
  background-color: #0255fe !important;
}

ul#menu-main-navigation-1 > li:last-child > a > span > span::before,
ul#menu-main-navigation-1-en > li:last-child > a > span > span::before {
  content: none !important;
}

/* ===== BUTTON IN MAIN MENU 5 Mobile ===== */
ul#menu-main-navigation-5 > li:last-child > a > span > span,
ul#menu-main-navigation-5-en > li:last-child > a > span > span {
  background-color: #fff !important;
  color: #0255fe !important;
  padding: 4px 12px 4px 8px;
  border: 2px solid #0255fe;
  transition: ease-in-out 0.3s;
}

ul#menu-main-navigation-5 > li:last-child > a:hover > span > span,
ul#menu-main-navigation-5-en > li:last-child > a:hover > span > span {
  background-color: #0255fe !important;
  color: #fff !important;
}

ul#menu-main-navigation-5 > li:last-child > a > span > span::after,
ul#menu-main-navigation-5-en > li:last-child > a > span > span::after {
  content: url("custom/assets/img/arrow-up-right.svg");
  width: 16px;
  height: auto;
  object-fit: contain;
  position: relative;
  bottom: 0;
  left: 5px;
  transition: ease-in-out 0.3s;
  transform: scale(1.7);
}

ul#menu-main-navigation-5 > li:last-child > a:hover > span > span::after,
ul#menu-main-navigation-5-en > li:last-child > a:hover > span > span::after {
  content: url("custom/assets/img/arrow-up-right-white.svg");
  background-color: #0255fe !important;
}

ul#menu-main-navigation-5 > li:last-child > a > span > span::before,
ul#menu-main-navigation-5-en > li:last-child > a > span > span::before {
  content: none !important;
}

/*stile slider links*/

.black-text-p p {
  color: #000 !important;
}

.no-margin {
  margin: 0 0 0 0 !important;
}

.no-padding {
  padding: 0 !important;
}

.text-fw-250 .mk-titlebar-title {
  font-weight: 250 !important;
}

.text-align-left,
.text-align-left h1 {
  text-align: left;
}

.text-underline {
  text-decoration: underline !important;
}

.logo-filoblu {
  max-width: 200px !important;
}

.btn-w-100 .mk-button {
  width: 300px !important;
}

@media only screen and (max-width: 767px) {
  .full-width a {
    width: 100% !important;
  }

  .btn-w-100 .mk-button {
    width: 100% !important;
  }

  .btn-fw .mk-button {
    width: 100% !important;
  }

  .custom-slider-home .mk-swiper-item.swiper-slide.size-default {
    width: 100% !important;
    /*transform:translateX(17.5%) !important;*/
  }

  .woow-contact-btn {
    width: 100% !important;
    border: 2px solid !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    font-family: "Archivo", sans-serif !important;
  }
}

.custom-checkbox.contacts p {
  margin-bottom: 0;
}

/*Messaggo di errore CF7*/

.contact-filoblu .wpcf7-not-valid-tip,
.contacts-filoblu .wpcf7-not-valid-tip {
  position: absolute;
  top: 32px !important;
}
.contact-filoblu .custom-label-msg .wpcf7-not-valid-tip,
.contacts-filoblu .custom-label-msg .wpcf7-not-valid-tip {
  top: -5px !important;
}

/* Stili generali per il contenitore dello slider */
.title-links-slider-container {
  overflow: hidden;
  width: 100%;
}

/* Stili per ogni slide */
.title-links-slider .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Stili per i link */
.title-links-slider a {
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  cursor: pointer; /* Abilita il cursore pointer */
}

/* Stili per la paginazione */
.title-links-slider .swiper-pagination-bullet {
  background: #000;
  opacity: 0.7;
}

.title-links-slider .swiper-pagination-bullet-active {
  background: #0073aa;
  opacity: 1;
}

/* Abilita il cursore di grab */
.title-links-slider .swiper-container {
  cursor: grab;
}

.title-links-slider .swiper-container:active {
  cursor: grabbing;
}

.double-style-slider .swiper-slide:nth-child(odd) a,
.double-style-slider .swiper-slide:nth-child(odd) span {
  font-family: "Archivo", sans-serif !important;
  font-size: 40px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.double-style-slider
  .swiper-slide:nth-child(even)
  a
  .double-style-slider
  .swiper-slide:nth-child(even)
  span {
  font-family: "Roboto Mono", sans-serif !important;
  font-size: 40px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/*Forza il titolo H3 Archivo 400 48px 56 l-h*/

.archivo-font h3 {
  font-family: "Archivo", sans-serif !important;
}

.custom-checkbox .wpcf7-list-item-label::before {
  height: 15px !important;
  width: 15px !important;
  content: "\2714";
  line-height: 0.8 !important;
  font-size: 18px !important;
}

.iubenda-custom {
  text-decoration: underline !important;
  font-size: 16px !important;
}

footer a,
footer .mk-icon-list-text {
  transition: ease-in-out 0.3s !important;
}

.filo-footer-menu a:hover,
.filo-footer-menu a .mk-icon-list-text:hover {
  color: #a3a3a3 !important;
}

/*selezione lingua*/
.wpml-ls-item-toggle,
.wpml-ls-link {
  max-width: 75px;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu,
.wpml-ls-legacy-dropdown-click a {
  border: none;
}

/*VIDEO SFONDO HOMEPAGE*/
/* Stili per il contenitore del video */
.woow-video-container {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background-color: black;
}

/* Stili per il video */
.woow-video-container .woow-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  display: none;
  z-index: 1;
}

/* Stili per l'overlay nero */
.woow-video-container .woow-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 2;
}

/* Stili per il titolo centrato */
.woow-video-container .woow-heading {
  font-family: "Archivo", sans-serif;
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #ffffff;
  font-size: 140px;
  line-height: 120px;
  font-weight: 300;
  text-align: center;
  z-index: 3;
  transition: opacity 2s ease-in-out;
}

/* Stato "caricato": mostra il titolo */
.woow-video-container.loaded .woow-heading {
  opacity: 1;
}

/*Stile label newsletter */

.filo-newsletter .wpcf7-list-item-label::before {
  margin-top: 0 !important;
  vertical-align: top !important;
  margin-right: 0 !important;
}

.filo-newsletter .swm-cf7-btn-text {
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
}

/*PULSANTI DEL MENU ALLINEATI*/

.mk-fullscreen-menu-overlay ul.mk-fullscreen-menu-overlay-menu > li {
  font-size: 24px !important;
}

.custom-slider-home .swiper-slide-active,
.custom-slider-home .swiper-slide-duplicate-active {
  width: 90% !important;
}

/*testo label messaggio per i contatti*/
.custom-label-msg textarea::placeholder {
  font-size: 16px !important;
}

.main-video-section-filoblu {
  background-position: bottom !important;
}

/*sezione iniziale video delle pagine about filoblu e celeste*/
@media (min-width: 1025px) and (max-width: 1300px) {
  /*.main-video-section{ min-height: 115vh !important;}*/
  /*.main-video-section-filoblu{ min-height: 120vh !important;}*/
  .main-p-filoblu p {
    font-size: 34px !important;
  }
}

.video-celeste-desktop {
  max-width: 1100px !important;
  margin: 0 auto !important;
}

/* Applicare stili quando l'altezza della viewport è al massimo 800px */
@media (max-height: 800px) {
}

.video-homepage-desktop {
  overflow-y: hidden !important;
}

.video-homepage-desktop iframe,
.video-homepage-mobile iframe {
  height: 120vh !important;
}

.low-10vh {
  transform: translatey(10vh) !important;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #015cff !important;
}

.filo-newsletter input[type="email"] {
  border-bottom: 1px solid #fff !important;
}
/* Stile autocomplete */
.filo-newsletter input[type="email"]:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #000000 inset;
  -webkit-text-fill-color: #ffffff;
  transition: background-color 5000s ease-in-out 0s;
}

.filo-newsletter input[type="email"]:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px #000000 inset !important;
  -webkit-text-fill-color: #ffffff !important;
}

.filo-newsletter input[type="email"]:-webkit-autofill:hover {
  -webkit-box-shadow: 0 0 0px 1000px #000000 inset !important;
  -webkit-text-fill-color: #ffffff !important;
}

/*Woow single service*/
/*Rimuove il padding del tema*/
.swm-main-container.swm-site-content {
  padding: 0 !important ;
}
.w-titlebar {
  min-height: 260px;
  display: flex !important;
  flex-direction: column;
  background-color: #468ef7 !important;
  justify-content: flex-end;
}
.w-service-container {
  width: 100%;
  margin: 0 auto;
  padding-left: 50px;
  padding-right: 50px;
}

.w-service-container h1 {
  font-family: Archivo, sans-serif;
  font-size: clamp(10px, 7vw, 64px);
  font-weight: 250;
  line-height: 1em;
  margin-bottom: 15px;
  color: #ffffff;
  word-break: break-word;
  width: 100%;
}

.w-service-description {
  max-width: 1040px;
  margin: 75px auto;
  text-align: center;
}

.w-service-description .main-desc {
  margin-bottom: 50px;
}

.w-service-description .main-desc {
  font-family: Archivo;
  font-weight: 400;
  font-size: 48px;
  line-height: 56px;
  letter-spacing: 0%;
  text-align: center;
  color: #000;
}
.w-service-description .sec-desc {
  font-family: Archivo;
  font-weight: 400;
  font-size: 24px;
  line-height: 40px;
  letter-spacing: 0%;
  text-align: center;
  color: #000;
}

.w-subservice-accordion .w-service-container {
  display: flex;
}

.w-subservice-accordion .w-left {
  width: 33.33%;
}

.w-subservice-accordion .w-left h2 {
  font-family: Archivo;
  font-weight: 400;
  font-size: 40px;
  line-height: 56px;
  letter-spacing: 0%;

  color: #000;
}

.w-subservice-accordion .w-right {
  width: 66.66%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 16px;
}

.accordion-item {
  background: #f5f5f5;
  padding: 45px;
  cursor: pointer;
}
.accordion-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.accordion-title h2 {
  font-family: Roboto Mono;
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
  color: #000;
  margin-bottom: 0;
}

.accordion-content p {
  font-family: Archivo;
  font-weight: 400;
  font-size: 16px;
  line-height: 32px;
  margin-top: 32px;
  color: #000;
}
.accordion-arrow {
  width: 12px;
  height: 6px;
  transition: all 0.2s ease-in-out;
}

/*SEZIONE PARTNERS*/
.w-service-partners {
  padding: 96px 0;
  background-color: #f5f5f5;
}

.w-service-partners
  .w-service-container
  .w-service-brand-slider
  .w-service-container {
  max-width: 1161px;
}

.w-service-brand-slider {
  text-transform: uppercase !important;
}

.w-partner-text {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.w-service-partners .partner-title {
  font-family: Archivo;
  font-weight: 400;
  font-size: 40px;
  line-height: 40px;
  letter-spacing: 0%;
  text-align: center;
  color: #000;
  text-transform: uppercase;
  margin-bottom: 24px;
  max-width: 1040px;
}

.w-service-partners .partner-subtitle {
  font-family: Archivo;
  font-weight: 400;
  font-size: 24px;
  line-height: 40px;
  letter-spacing: 0%;
  text-align: center;
  color: #000;
  margin-bottom: 24px;
  max-width: 1040px;
}

.w-service-partners .partners-logo {
  width: 165px;
  height: auto;
}

.partner-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  row-gap: 24px;
}

/* Desktop e tablet: 7 immagini per riga */
@media (min-width: 768px) {
  .partner-gallery .partner-logo {
    width: calc((100% - (6 * 10px)) / 7);
  }
}

/* Mobile: 3 immagini per riga */
@media (max-width: 767px) {
  .partner-gallery .partner-logo {
    width: calc((100% - (2 * 10px)) / 3);
  }

  .w-service-partners .partner-title {
    font-size: 24px;
    line-height: 40px;
    margin-bottom: 16px;
  }

  .w-service-partners .partner-subtitle {
    font-size: 16px;
    line-height: 24px;
  }

  .accordion-content p {
    font-size: 12px;
    line-height: 24px;
  }
}

/*SEZIONE CAROSELLO SERVIZI*/
.w-desc-carousel {
  margin: 195px 0;
}

.w-desc-carousel .slider-item-wrapper {
  padding-right: 6vw;
  max-width: 40vw;
}
.w-desc-carousel .slider-item {
  border-left: 2px solid #468ef7;
  padding-left: 15px;
  margin-left: 30px;
}
.w-desc-carousel .slick-list {
  overflow: visible;
}

.w-desc-carousel .slider-title {
  font-family: Archivo;
  font-weight: 400;
  font-size: 24px;
  line-height: 48px;
  margin-bottom: 10px;
  color: #000;
}

.w-desc-carousel .slider-description {
  font-family: Roboto Mono;
  font-weight: 600;
  font-size: 16px;
  line-height: 21.1px;
  color: #468ef7;
}

@media only screen and (max-width: 1024px) {
  .w-desc-carousel .slider-item {
    max-width: 40vw;
  }
}

@media only screen and (max-width: 768px) {
  .w-desc-carousel .slider-item {
    max-width: 100%;
  }
  .w-desc-carousel .slider-item-wrapper {
    margin-right: 0;
    padding-right: 0;
    max-width: 100vw;
    min-width: 66vw;
  }
  .w-desc-carousel .slick-slide {
    margin-left: 0;
  }

  .w-desc-carousel .slider-title {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 5px;
  }

  .w-desc-carousel .slider-description {
    font-size: 12px;
    line-height: 15.8px;
  }
}

/*SLIDER BRAND PER I SERVIZI */
.w-service-brand-slider {
  margin-bottom: 40px;
}
.brand-slider-item {
  position: relative;
  width: 330px;
  aspect-ratio: 330/500;
  margin: 0 4px;
  overflow: hidden;
}

.brand-slider-bg {
  position: relative;
  width: 100%;
  height: 100%;
}
.brand-slider-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.brand-slider-filter {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
}

/* Titolo centrato sopra la slide */
.brand-slider-item h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  font-family: Roboto Mono;
  font-weight: 500;
  font-size: 24px !important;
  line-height: 31.65px;
  letter-spacing: 0%;
  text-align: center;
  color: #fff;
}

.brand-slider-item p,
.brand-slider-services {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  color: #fff;
  font-family: Roboto Mono;
  font-weight: 500;
  font-size: 12px;
  line-height: 16px;
  width: 90%;
  margin-bottom: 0;
  text-transform: uppercase;
  text-align: left !important;
}

@media only screen and (max-width: 1550px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 11px;
    line-height: 16px;
  }
}

@media only screen and (max-width: 1400px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 9px;
    line-height: 14px;
  }
}

@media only screen and (max-width: 1030px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 8px;
    line-height: 12px;
  }
}

@media only screen and (max-width: 950px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 7px;
    line-height: 11px;
  }
}

@media only screen and (max-width: 864px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 12px;
    line-height: 16px;
  }
}

@media only screen and (max-width: 816px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 11px;
    line-height: 16px;
  }
}
@media only screen and (max-width: 768px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 16px;
    line-height: 26px;
  }
}

@media only screen and (max-width: 615px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 14px;
    line-height: 24px;
  }
}
@media only screen and (max-width: 560px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 12px;
    line-height: 22px;
  }
}

@media only screen and (max-width: 495px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 11px;
    line-height: 20px;
  }
}

@media only screen and (max-width: 475px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 10px;
    line-height: 14px;
  }
}

@media only screen and (max-width: 415px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 9px;
    line-height: 12px;
  }
}

@media only screen and (max-width: 385px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 8px;
    line-height: 12px;
  }
}

@media only screen and (max-width: 355px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 7px;
    line-height: 11px;
  }
}

@media only screen and (max-width: 320px) {
  .brand-slider-item p,
  .brand-slider-services {
    font-size: 6px;
    line-height: 11px;
  }
}

/*Conrolli slider brand*/
.w-service-brand-slider .w-service-container {
  display: flex;
  justify-content: flex-end;
}
.brand-slider-controls {
  min-height: 50px;
  width: 200px;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.brand-slider-controls svg {
  cursor: pointer;
  transition: color 0.3s ease;
  width: 40px;
  height: 40px;
  color: #468ef7;
  border: solid 2px #468ef7;
}

.brand-slider-controls svg:hover {
  background-color: #468ef7;
  color: #fff !important;
}
.bottom-brands {
  margin-bottom: 40px;
}
/*MOBILE*/
@media only screen and (max-width: 1100px) {
  .w-subservice-accordion {
    flex-direction: column;
  }
  .w-subservice-accordion .w-service-container {
    width: 100%;
    padding: 0;
  }

  .w-subservice-accordion .w-left {
    display: none;
  }
  .w-subservice-accordion .w-right {
    width: 100%;
    gap: 4px;
    margin-bottom: 40px;
  }
}

@media only screen and (max-width: 768px) {
  .w-titlebar {
    min-height: 180px;
  }

  .w-service-container {
    width: 100%;
    padding: 0 16px;
  }

  .w-titlebar .w-service-container {
    padding: 0 0 0 20px;
  }

  .w-service-description .main-desc {
    font-weight: 400;
    font-size: 24px;
    line-height: 32px;
  }

  .w-service-description .sec-desc {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
  }

  .partner-title {
    font-size: 24px;
    line-height: 40px;
  }

  .partner-subtitle {
    font-size: 16px;
    line-height: 24px;
  }

  .accordion-item {
    padding: 16px;
    transition: all 0.2s ease-in-out;
  }

  .accordion-item.active {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .accordion-title h2 {
    font-size: 16px;
    line-height: 32px;
  }

  .w-service-carousel {
    margin: 56px 0;
  }

  .service-carousel-slider .slick-slide {
    width: 66.66vw;
    margin-left: 15px;
  }

  .brand-slider-controls {
    display: none;
  }

  .bottom-brands {
    margin-bottom: 16px;
  }
}

/*----------------Single Report--------------------*/

.hero-report {
  height: 75vh;
  min-height: 580px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.hero-report-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 48px;
}

.hero-report h1 {
  font-family: Archivo;
  font-weight: 400;
  font-size: 64px;
  line-height: 72px;
  text-align: center;
  color: #fff;
  max-width: 895px;
  margin-bottom: 48px;
}
.hero-report .cta-report {
  font-family: Archivo;
  font-weight: 700;
  font-size: 18px;
  line-height: 19.58px;
  text-align: center;
  color: #000;
  padding: 26px 58px;
  background-color: #fff;
  transition: all 0.3s ease-in-out;
  text-transform: uppercase;
  margin-bottom: 48px;
}

.hero-report .cta-report:hover {
  background-color: #000;
  color: #fff;
}

.cards-section {
  margin: 37px 50px;
}

@media only screen and (max-width: 768px) {
  .cards-section {
    margin: 37px 16px;
  }
}
.cards-section .cards {
  margin: 0 auto;
}
.cards-section .cards .card {
  padding: 0 !important;
}
.cards .card {
  margin: 0 !important;
}

.cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 20px;
}

.card {
  background-color: #f5f5f5;
  display: flex;
  width: 100%;
  aspect-ratio: 2 / 1;
  overflow: hidden;
  position: relative;
  padding: 0 !important;
}

.card.inverted {
  flex-direction: row-reverse;
}

.card-image,
.card-text {
  flex: 0 0 50%;
  height: 100%;
  max-width: 50%;
}

.card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.card-text {
  padding: 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.card-text h2 {
  margin-bottom: 24px;
  font-family: Archivo;
  font-weight: 400;
  font-size: 40px;
  line-height: 48px;
  color: #000;
}

.card-text p {
  font-family: Archivo;
  font-weight: 400;
  font-size: 16px;
  line-height: 32px;
  color: #000;
}

@media (min-width: 1024px) and (max-height: 700px) {
  .cards {
    width: 85%;
  }
  .card {
    max-height: 85vh;
  }
}

.cf7-form-report {
  position: relative;
  z-index: 10;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 40px;
}

.cf7-form-report h2 {
  font-family: Archivo;
  font-weight: 400;
  font-size: 44px;
  line-height: 48px;
  text-align: center;
  max-width: 1045px;
  margin-bottom: 40px;
  color: #000;
  text-transform: uppercase;
}

.cf7-report-content {
  max-width: 500px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.wpcf7-not-valid-tip:not(:nth-child(1)):not(:nth-child(2)) {
  display: none;
}

.cf7-report-content p,
.cf7-report-content .wpcf7-list-item {
  width: 100%;
  margin-left: 0;
}

.report-acceptance,
.report-acceptance label {
  display: flex;
}
.report-acceptance {
  flex-direction: column;
}

.acceptance-report {
  min-width: 16px;
  margin-top: 2px;
}

.cf7-report-content .report-acceptance .wpcf7-list-item {
  margin-top: 2px;
}

.cf7-report-content .report-acceptance p {
  width: auto;
  font-family: Archivo;
  font-weight: 400;
  font-size: 12px;
  line-height: 24px;
  color: #000;
}
.cf7-report-content input[type="email"] {
  margin-bottom: 0 !important;
  border-color: #000;
}

.cf7-report-content input[type="email"]::placeholder {
  color: #000;
}

.cf7-report-content .report-acceptance input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  background-color: white;
  border: 1px solid black;
  margin-right: 10px;
}
.cf7-report-content .report-acceptance input[type="checkbox"]:checked {
  background-color: black;
}

.cf7-report-content .wpcf7-not-valid-tip {
  color: #015cff;
}

.cf7-report-content .report-submit,
.cf7-report-content .report-submit p {
  display: flex;
  flex-direction: column;
  justify-content: center;

  gap: 8px;
}
.cf7-report-content .report-submit p br {
  display: none;
}
.cf7-report-content .submit-it {
  font-family: Archivo;
  font-weight: 700;
  font-size: 18px;
  line-height: 19.58px;
  letter-spacing: 0%;
  text-align: center;
  padding: 26px 58px;
  border: 2px solid #000;
  background-color: #fff;
  color: #000;
  text-transform: uppercase;
  border-radius: 0 !important;
  transition: all 0.3s ease-in-out;
}

.cf7-report-content .submit-it:hover {
  background-color: #000;
  color: #fff;
}

.cf7-report-content .submit-en {
  font-family: Archivo;
  font-weight: 700;
  font-size: 12px;
  line-height: 13.06px;
  letter-spacing: 0%;
  text-align: center;
  padding: 11px 42px;
  background-color: #f5f5f5;
  color: #000;
  text-transform: uppercase;
  border-radius: 0 !important;
  transition: all 0.3s ease-in-out;
  border: none;
}

.cf7-report-content .submit-en:hover {
  background-color: #000;
  color: #fff;
}

.cf7-form-report .wpcf7-response-output {
  border: 2px solid transparent !important;
  color: #015cff !important;
}

@media (max-width: 1100px) {
  .card-text {
    padding: 40px;
    min-height: 300px;
  }

  .card-text h2 {
    font-size: 32px;
    line-height: 38px;
  }

  .card-text p {
    font-size: 14px;
    line-height: 28px;
  }
}

/*MOBILE*/

@media only screen and (max-width: 768px) {
  .hero-report-content {
    padding: 0 16px;
    margin-bottom: 30px;
  }

  .hero-report-content h1 {
    font-weight: 700;
    font-size: 24px;
    line-height: 32px;
    padding: 0 16px;
  }

  .hero-report-content .cta-report {
    width: 100%;
  }

  .card {
    flex-direction: column;
    aspect-ratio: unset;
  }
  .card-image {
    margin-bottom: 0;
  }
  .card-image,
  .card-text {
    flex: 1 1 auto;
    height: auto;
  }

  .card-image img {
    width: 100%;
    height: 400px;
    object-fit: cover;
  }

  .card-text {
    padding: 16px 0 16px 16px;
  }

  .card-text h2 {
    font-weight: 400;
    font-size: 24px;
    line-height: 32px;
  }

  .card-text p {
    font-weight: 400;
    font-size: 16px;
    line-height: 32px;
  }

  .cf7-form-report {
    padding: 96px 16px 45px 16px;
  }

  .cf7-form-report h2 {
    font-size: 24px;
    line-height: 32px;
  }

  .report-submit {
    width: 100%;
  }

  .cf7-report-content .submit-en {
    padding-top: 21px;
    padding-bottom: 21px;
  }

  .cf7-report-content input[type="email"]:-webkit-autofill:hover {
    -webkit-box-shadow: 0 0 0px 1000px #ffffff inset !important;
    -webkit-text-fill-color: #000000 !important;
  }
}

/*Archivio Report*/
.archive-report-container {
  max-width: 100%;
  margin: 0 auto;
  padding: 20px 50px;
}

.report-archive-subtitle,
.portfolio-archive-subtitle {
  margin: 76px 0;
}

.report-archive-subtitle p,
.portfolio-archive-subtitle p {
  font-family: "Archivo", sans-serif;
  font-weight: 400;
  font-size: 48px;
  line-height: 56px;
  text-align: center;
  color: #000000;
  max-width: 1012px;
  margin: 0 auto;
}

.report-archive {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.report-item {
  flex: 0 0 calc((100% - 20px) / 2);
  transition: ease-in-out 0.3s;
}

.report-link {
  display: block;
  text-decoration: none;
  position: relative;
}

.report-image-wrapper img {
  height: 100%;
}
.report-image-wrapper {
  position: relative;
  width: 100%;
  padding-top: 64.11%; /* rapporto 16:9 */
  overflow: hidden;
}

.report-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: ease-in-out 0.4s;
}

.report-link:hover .report-image {
  transform: scale(1.01);
}

.report-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px 32px;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.2);
  transition: background 0.3s ease-in-out;
}

.report-link:hover .report-overlay {
  background: linear-gradient(
    to top,
    rgba(1, 92, 255, 0.5),
    rgba(0, 0, 255, 0)
  );
}

.report-text h2 {
  font-family: "Roboto Mono", sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 31.65px;
  color: #ffffff;
  margin-bottom: 0;
}

.report-no-post {
  width: 100%;
}

/* Mobile */

@media only screen and (max-width: 1200px) {
  .report-item h2 {
    font-size: 16px;
    line-height: 24px;
  }
}
@media only screen and (max-width: 800px) {
  .report-archive {
    flex-direction: column;
  }

  .report-item {
    flex: 0 0 100%;
  }

  .report-archive-subtitle p,
  .portfolio-archive-subtitle p {
    font-weight: 400;
    font-size: 24px;
    line-height: 32px;
  }

  .report-image-wrapper {
    position: static;
    padding-top: 0;
    overflow: visible;
    min-height: 200px;
  }
  .report-image-wrapper img {
    min-height: 200px;
  }

  .report-image {
    position: static;
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .report-overlay {
    display: none;
  }

  .report-link::after {
    content: attr(data-title);
    display: block;
    color: #000;
    font-family: Roboto Mono;
    margin-top: 10px;
    text-align: left;
    font-weight: 400;
    font-size: 16px;
    line-height: 21.1px;
  }

  .report-archive {
    gap: 40px;
    margin-bottom: 40px;
  }
  .report-archive-subtitle,
  .portfolio-archive-subtitle {
    margin: 40px 0;
  }
}

@media only screen and (max-width: 768px) {
  .archive-report-container {
    padding: 20px 16px;
  }
}

/*---------- NEWS ----------*/

.news-archive {
  max-width: 100%;
  margin: 0 auto;
  padding: 50px 20px 63px 50px;
}

.news-article {
  margin-bottom: 100px;
}
.news-container {
  max-width: 780px;
}

.news-container .news-article:last-child {
  margin-bottom: 0;
}

.news-archive .news-title,
.news-archive .news-paragraph,
.news-archive ul,
.news-archive ol,
.news-archive li,
.news-archive .news-link {
  font-family: Archivo, sans-serif;
  color: #000000;
}

.news-title {
  font-weight: 400 !important;
  font-size: 48px !important;
  line-height: 56px !important;
}

.news-paragraph {
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 33px !important;
  margin: 10px 0 20px 0;
}

.news-paragraph blockquote,
.news-paragraph blockquote p {
  all: unset;
  display: block;
}

.news-paragraph blockquote::before,
.news-paragraph blockquote::after {
  display: none;
}

.news-links-container {
  display: flex;
  justify-content: flex-start;
  gap: 20px;
  margin: 25px 0;
}

.news-link {
  text-transform: uppercase;
  font-weight: 400;
  font-size: 18px;
  padding: 15px 0;
  border: 1px solid #000000;
  flex: 0 0 calc(33.33% - 20px);
  text-align: center;
  vertical-align: middle;
  transition: ease-in-out 0.3s;
}

a.news-link:hover {
  background-color: #000000;
  color: #ffffff;
}

.news-image-container,
.news-image-container img {
  width: 100%;
}

.news-cover-image picture,
.news-cover-image img {
  width: 100%;
  height: auto;
  display: block;
}

.archive-pagination {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-bottom: 63px;
}
.archive-prev,
.archive-next {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 18px;
  padding: 16px 44px;
  border: 2px solid #000000;
  color: #000;
  text-align: center;
  vertical-align: middle;
  transition: ease-in-out 0.3s;
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

a.archive-prev,
a.archive-next {
  text-decoration: none;
  color: #000;
}
.archive-prev:hover:not(.disabled),
.archive-next:hover:not(.disabled) {
  background-color: #000000;
  color: #ffffff;
}

/* Stato disabilitato */
.archive-prev.disabled,
.archive-next.disabled {
  background-color: #e0e0e0;
  border-color: #e0e0e0;
  color: #888888;
  pointer-events: none;
}

.layout-space {
  display: block;
  width: 100%;
  height: var(--desktop-height);
}

/* Container video con aspect ratio 16:9 */
.news-video-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  overflow: hidden;
}

.news-video-container .video-cover,
.news-video-container .video-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* L'immagine di copertina copre l'intero container */
.news-video-container .video-cover picture,
.news-video-container .video-cover img.cover-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Pulsante Play centrato sopra l'immagine */
.news-video-container .video-play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: none;
  border: none;
  cursor: pointer;
  z-index: 2;
}

.news-video-container .video-play-button img {
  max-width: 100px;
  max-height: 100px;
}

.news-video-container .video-play-button:hover {
  background-color: transparent !important;
}

.news-video-container .video-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.archive-pagination .archive-next,
.archive-pagination .archive-prev {
  font-family: "Archivo", sans-serif !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .layout-space {
    height: var(--tablet-height);
  }
  .news-article {
    margin-bottom: 50px;
  }

  .news-title {
    margin-top: 32px;
  }

  .news-archive {
    padding: 20px 0;
    padding-top: 40px;
  }
  .news-container {
    max-width: 100%;
    padding: 0px;
  }

  .news-title,
  .news-paragraph,
  .news-links-container,
  .news-image-container {
    padding-left: 50px;
    padding-right: 50px;
  }
  .news-content {
    display: flex;
    flex-direction: column;
  }
  /* Mostra la cover/video prima del titolo */
  .news-cover-image,
  .news-video-container {
    order: -1;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .layout-space {
    height: var(--mobile-height);
  }

  .news-container {
    max-width: 100%;
    padding: 0;
  }

  .news-article {
    margin-bottom: 0px;
  }

  .news-title,
  .news-paragraph,
  .news-links-container,
  .news-image-container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .news-title {
    font-weight: 400;
    font-size: 24px !important;
    line-height: 32px !important;
    vertical-align: middle;
    margin-top: 32px;
    margin-bottom: 14px;
  }

  .news-cover-image,
  .news-image-container,
  .news-image-container img {
    width: 100%;
  }
  /* Se non c'è video, in mobile la cover image ha altezza fissa */
  .news-cover-image {
    height: 400px;
    overflow: hidden;
  }
  .news-cover-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .news-links-container {
    display: block;
    margin-top: 25px;
  }
  .news-link {
    display: block;
    width: 100%;
    padding: 15px 20px;
    box-sizing: border-box;
    margin-bottom: 20px;
  }

  .archive-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 20px;
    margin-bottom: 50px;
    gap: 8px;
  }

  .archive-next,
  .archive-prev {
    font-weight: 700;
    font-size: 14px;
    padding: 7px;
    letter-spacing: 0%;
    vertical-align: middle;
    text-transform: uppercase;
    width: calc(50% - 20px);
  }

  /* Mostra la cover/video prima del titolo */
  .news-cover-image,
  .news-video-container {
    order: -1;
  }
}

/**
* ------ SEZIONE PORTFOLIO ------
**/

/*PORTFOLIO ARCHIVE*/

.w-filter-slider .slick-track {
  margin-left: 50px;
}

.w-filter-slide {
  display: inline-block;
  margin-right: 4px;
}

.w-filter-slide a {
  display: block;
  font-family: "Roboto Mono", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: center;
  text-transform: uppercase;
  background-color: #fff;
  color: #000;
  border: 1px solid #000;
  padding: 8px;
  transition: all 0.3s ease-in-out;
  border-radius: 0px;
}

.w-filter-slide a:hover {
  background: #000;
  color: #fff;
}

.w-filter-slide a.active {
  background: #000;
  color: #fff;
}

.archive-portfolio-container {
  max-width: 100%;
  margin: 0 auto;
  padding: 20px 50px;
  min-height: 30vh;
}

.portfolio-archive-subtitle {
  margin: 76px 0;
}

.portfolio-archive {
  display: flex;
  flex-wrap: wrap;
  gap: 8px; /* spazio ridotto tra le immagini */
}

.portfolio-archive-subtitle {
  margin-left: 50px;
  margin-right: 50px;
}

.portfolio-item {
  flex: 0 0 calc((100% - 8px) / 2); /* due immagini per riga con 8px di spazio */
  transition: ease-in-out 0.3s;
}

.portfolio-link {
  display: block;
  text-decoration: none;
  position: relative;
}

.portfolio-image-wrapper {
  position: relative;
  width: 100%;
  padding-top: 100%; /* rapporto 1:1 */
  overflow: hidden;
}

.portfolio-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: ease-in-out 0.4s;
}

.portfolio-link:hover .portfolio-image {
  transform: scale(1.01);
}

.portfolio-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px 32px;
  box-sizing: border-box;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0));
  transition: background 0.3s ease-in-out;
}

.portfolio-text {
  border-bottom: 1px solid #ffffff;
  text-transform: uppercase;
}
.portfolio-text h2 {
  font-family: "Roboto Mono", sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 31.65px;
  color: #ffffff;
  margin-bottom: 0;
  padding-bottom: 11px;
}

.portfolio-desc p {
  font-family: Roboto Mono;
  font-weight: 400;
  font-size: 24px;
  color: #ffffff;
  padding-top: 11px;
  line-height: 150%;
  letter-spacing: 0%;
  margin: 0;
}

.portfolio-no-post {
  width: 100%;
}

/* Mobile */

@media only screen and (max-width: 1200px) {
  .portfolio-item h2 {
    font-size: 16px;
    line-height: 24px;
  }
}
@media only screen and (max-width: 800px) {
  .portfolio-archive {
    display: block;
  }
  .portfolio-overlay {
    display: flex;
    position: static !important;
    background: none !important;
    padding: 0 !important;
    flex-direction: column;
    justify-content: flex-start;
    margin-top: 16px;
    margin-bottom: 40px;
  }

  .portfolio-image-wrapper {
    position: static !important;
    padding-top: 0 !important;
    overflow: visible !important;
    min-height: 0 !important;
  }
  .portfolio-image {
    position: static !important;
    width: 100% !important;
    height: auto !important;
  }

  .portfolio-text {
    border-bottom: 1px solid #000;
  }
  .portfolio-overlay .portfolio-text h2 {
    font-family: "Roboto Mono", sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #000;
  }
  .portfolio-overlay .portfolio-desc p {
    font-family: "Roboto Mono", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0%;
    color: #000;
  }

  /* mantiene gli altri gap/margini già definiti */
}

@media only screen and (max-width: 768px) {
  .archive-portfolio-container {
    padding: 20px 16px;
  }

  .portfolio-archive-subtitle {
    margin: 50px 20px;
  }

  .portfolio-image {
    aspect-ratio: 1/1;
  }

  .w-filter-slider {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .w-filter-slide {
    margin-right: 0;
  }

  .w-filter-slide a {
    font-size: 11px;
  }

  .w-filter-slider.justify-start {
    justify-content: flex-start;
  }
}

/*PORTFOLIO SINGLE*/

main.portfolio-single > section {
  margin: 0 auto;
}

/*testo inizale */
.portfolio-single .initial-content {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 32px;
  margin-top: 26px;
  margin-bottom: 26px;
  padding: 0 50px;
}
.initial-content .initial-item h3 {
  font-family: "Roboto Mono", sans-serif;
  font-weight: 500;
  font-size: 20px;
  text-transform: uppercase;
  color: #000;
  display: inline;
}

.initial-content .initial-item p {
  font-family: "Archivo", sans-serif;
  font-weight: 400;
  font-size: 20px;
  color: #000;
  display: inline;
}

@media only screen and (max-width: 768px) {
  .portfolio-single .initial-content {
    padding: 0 20px;
    gap: 8px;
    flex-direction: column;
  }

  .initial-content .initial-item h3,
  .initial-content .initial-item p {
    font-size: 16px;
  }
}

/*lista servizi*/

.portfolio-services .service-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 50px;
  margin-left: 0px !important;
  padding: 0 50px;
}

.portfolio-services .service-list li {
  list-style: none;
  margin-left: 0;
}

.portfolio-services .service-list .service-item a {
  font-family: "Roboto Mono", sans-serif;
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
  color: #000;
  display: inline;
  padding: 8px;
  border: 1px solid #000;
}

.portfolio-services .service-list .service-item a:hover {
  text-decoration: none;
  color: #fff;
  background-color: #000;
}

@media only screen and (max-width: 768px) {
  .portfolio-services .service-list {
    padding: 0 20px;
    gap: 4px;
  }

  .portfolio-services .service-list .service-item a {
    font-size: 12px;
  }
}

/*testo centrato*/

.layout-center-text p {
  font-family: "Archivo", sans-serif;
  font-weight: 400;
  font-size: 48px;
  line-height: 56px;
  text-align: center;
  margin: 76px auto;
  padding-left: 50px;
  padding-right: 50px;
  display: block;
  max-width: 1012px;
  color: #000;
}

@media only screen and (max-width: 768px) {
  .layout-center-text p {
    font-size: 24px;
    line-height: 32px;
    margin: 50px 20px;
    padding-left: 0px;
    padding-right: 0px;
  }
}

/*CARD PORTFOLIO*/

.portfolio-content .cards-section {
  margin-top: 0;
  margin-bottom: 16px;
}
.portfolio-content .cards-section li {
  margin-left: 0 !important;
}
.portfolio-content .card-text .kicker,
.portfolio-content .card-text p {
  margin: 0;
}

.portfolio-content .card-text p {
  font-family: Archivo;
  font-weight: 400;
  font-size: 16px;
  line-height: 32px;
}

.portfolio-content .card-text .kicker {
  font-family: "Roboto Mono", sans-serif;
  font-weight: 500;
  font-size: 16px;
  text-transform: uppercase;
}

.portfolio-content .card-text h2 {
  font-family: Archivo;
  font-weight: 400;
  font-size: 40px;
  line-height: 48px;

  margin-top: 0;
  margin-bottom: 24px;
}

.portfolio-video-container video {
  width: 100%;
  object-fit: cover;
  height: 100%;
}

.video-play-button.portfolio-play img {
  width: 80px;
  height: 80px;
}

@media only screen and (max-width: 768px) {
  .video-play-button.portfolio-play {
    width: 80px;
    height: 80px !important;
  }
  .portfolio-content .cards-section {
    margin-left: 0;
    margin-right: 0;
  }
  .portfolio-content .card-image,
  .portfolio-content .card-text {
    max-width: 100%;
    justify-content: flex-start;
  }
  .portfolio-content .card-text {
    padding: 16px;
    min-height: 0;
  }
  .portfolio-content .card-text h2 {
    margin-bottom: 16px;
    font-weight: 400;
    font-size: 24px;
    line-height: 32px;
  }

  .portfolio-content .card-text p {
    margin-bottom: 40px;
    font-weight: 400;
    font-size: 16px;
    line-height: 32px;
  }

  .card.inverted {
    flex-direction: column;
  }

  .portfolio-content .card-text .kicker {
    display: none;
  }
}
/*Layout risulati*/

.layout-results {
  display: flex;
  flex-direction: row;
}

.layout-results .res-col {
  width: 33.3333%;
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  padding: 23px;
  position: relative;
  font-family: "Roboto Mono", sans-serif;
  font-weight: 300;
}

.layout-results .res-num {
  font-size: clamp(30px, 12vw, 250px);
  font-weight: 250;
}

.layout-results .res-prev,
.layout-results .res-next {
  font-size: clamp(15px, 6vw, 125px);
  font-weight: 250;
}

.layout-results .res-prev {
  position: relative;
  top: 75%;
  font-weight: 400;
}
.layout-results .res-next {
  position: relative;
  top: -100%;
  font-weight: 400;
}
.res-col .res-top {
  display: flex;
  flex-wrap: nowrap;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.res-col .res-desc {
  position: absolute;
  bottom: 0;
  font-family: "Archivo", sans-serif;
  font-weight: 700;
  font-size: 24px;

  text-transform: uppercase;
}

@media only screen and (max-width: 768px) {
  .layout-results {
    flex-direction: column;
  }

  .layout-results .res-col {
    width: 100%;
  }

  .res-col .res-top {
    top: 40vw;
  }

  .layout-results .res-num {
    font-size: clamp(30px, 36vw, 273px);
    font-weight: 250;
  }
  .layout-results .res-prev,
  .layout-results .res-next {
    font-size: clamp(15px, 17vw, 125px);
  }

  .layout-results .res-prev {
    font-weight: 200;
  }

  .layout-results .res-next {
    font-weight: 400;
  }
}

/*SLIDER TESTIMONIAL*/

.w-testimonials-slider {
  margin: 150px 0;
}

.w-testimonial-container {
  width: 765px;
  padding-left: 32px;

  border-left: 2px solid #468ef7;
  margin: 100px auto;
  position: relative;
}
.w-testimonial-container::before {
  content: "“";
  position: absolute;
  top: 0px;
  left: -65px;
  font-family: Archivo;
  font-weight: 400;
  font-size: 160px;
  color: #a3e4ea;
  z-index: 2;
}

.w-testimonial-container::after {
  content: "“";
  position: absolute;
  bottom: 60px;
  right: -60px;
  font-family: Archivo;
  font-weight: 400;
  font-size: 160px;
  color: #a3e4ea;
  transform: rotate(180deg);
  z-index: 2;
}

.w-testimonial-description {
  font-family: "Archivo", sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
  color: #000;
}
.w-testimonial-brand {
  font-family: "Roboto Mono", sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 24px;
  color: #468ef7;
  margin-bottom: 24px;
}

.w-testimonial-author {
  font-family: "Roboto Mono", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  color: #468ef7;
  margin-bottom: 8px;
}

.w-testimonial-role {
  font-family: "Roboto Mono", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 0;
  color: #468ef7;
}

@media only screen and (max-width: 1024px) {
  .w-testimonial-container {
    width: 600px;
  }
}

@media only screen and (max-width: 768px) {
  .w-testimonials-slider {
    margin: 64px 0;
  }
  .w-testimonial-container {
    width: 100%;
    margin: 0;
    padding-right: 24px;
    padding-left: 16px;
  }

  .w-testimonials .slick-list {
    padding-left: 20px !important;
  }
  .w-testimonials .slider-item {
    width: 75vw;
  }

  .w-testimonial-container .w-testimonial-description {
    font-size: 16px;
    line-height: 24px;
  }

  .w-testimonial-container .w-testimonial-author,
  .w-testimonial-container .w-testimonial-role,
  .w-testimonial-container .w-testimonial-brand {
    font-weight: 600;
    font-size: 12px;
    margin-bottom: 0px;
  }

  .w-testimonial-container::before,
  .w-testimonial-container::after {
    content: none;
  }
}

/*STICKY NOTICE*/

.swm-btt-btn.active-progress {
  z-index: 999998;
}

.sticky-notice {
  position: fixed;
  bottom: 16px;
  right: 16px;
  z-index: 999999 !important;
  width: 250px;
  background: #fff;
  border: 2px solid #fff;
  padding: 15px;
  background-color: #0255fe;
}

.sticky-notice__cover img {
  width: 100%;
  height: 155px;
  display: block;
  object-fit: cover !important;
}

.sticky-notice__text {
  font-family: "Archivo", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 18px;
  margin: 8px 0 40px 0;
  color: #fff;
}

.sticky-notice__link {
  display: flex;
  flex-direction: row-reverse;
}

.sticky-notice__link a {
  font-family: "Archivo", sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  color: #0255fe;
  background-color: #fff;
  padding: 3px 8px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  border: 2px solid #0255fe;
  transition: ease-in-out 0.3s;
  padding-bottom: 1px;
}

.sticky-notice__link a:hover {
  text-decoration: none;
  color: #fff;
  background-color: #0255fe;
  border-color: #fff;
}

.sticky-notice__link a svg {
  transform: scale(1.2);
  margin-left: 6px;
}

.sticky-notice__link a svg,
.sticky-notice__link a #close-svg {
  transition: ease-in-out 0.3s;
}

.sticky-notice__link a:hover #close-svg {
  stroke: #fff !important;
  transform: scale;
}

.notice-btn {
  display: flex;
  flex-direction: row-reverse;
  height: 0;
  width: 100%;
  position: relative;
  top: -33px;
  right: -17px;
}

.sticky-notice__close {
  width: 18px !important;
  height: 18px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: #fff;
  background-color: #0255fe;
  border: 2px solid #fff;
  font-size: 18px;
  cursor: pointer;
}

.sticky-notice__close:hover {
  color: #0255fe !important;
  background-color: #fff !important;
  border-color: #0255fe !important;
}

@media (max-width: 768px) {
  .sticky-notice {
    bottom: 7px;
    right: 60px;
    z-index: 5000 !important;
    width: calc(100% - 120px);
    background: #fff;
    border: 2px solid #fff;
    padding: 7px;
    background-color: #0255fe;
  }

  .sticky-notice__text {
    margin: 0;
    align-self: center;
  }

  .sticky-notice__link {
    display: block;
  }
  #sticky-notice-link {
    justify-content: center;
  }

  .notice-btn {
    top: -25px;
    right: -9px;
  }
  .sticky-notice-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .notice-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 8px;
  }
  .sticky-notice__cover {
    max-width: 23%;
    aspect-ratio: 6/7;
    object-fit: cover !important;
  }
  .sticky-notice__cover img {
    width: 100%;
    display: block;
    aspect-ratio: 6/7;
    height: auto;
    object-fit: cover !important;
  }
}

/*BACK TO TOP*/
@media (max-width: 768px) {
  .swm-btt-btn {
    right: 1rem !important;
  }
}
