@media (max-width: 991.98px) {
  :root {
    /* set rem = 9px */
    font-size: 9px;
    --wrapper-padding: calc(var(--distance) * 2);
  }
  .gy-custom {
    --bs-gutter-y: calc(var(--distance-big) / 2);
  }
  .progetti-in-evidenza .gy-custom {
    --bs-gutter-y: calc(var(--distance-medium) * 5);
  }
  .gy-custom-small {
    --bs-gutter-y: calc(var(--distance-big) / 4);
  }

  /* HEADER */
  .cont-menu .menu li + li,
  .cont-menu .lang-selector {
    margin-top: 7px;
  }
  .cont-menu .lang-selector {
    display: block;
  }

  /* HOMEPAGE */
  .marquee-section {
    top: auto;
    bottom: 0;
  }
  .home .bg-image {
    display: none;
  }
  .cerchio svg {
    left: 100%;
    transform: translate(-50%, -50%);
    width: 250vw;
    max-width: 250vw;
  }
  .cerchio svg a[data-elem] {
    pointer-events: none !important;
  }
  .circle-placeholder {
    left: 100%;
    width: 60vw;
    max-width: none;
  }

  .scrollto.circle {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 30vw;
    height: 30vw;
    text-decoration: none;
    justify-content: end;
    flex-direction: column;
    z-index: 3;
  }
  .page-template-page-about .scrollto.circle {
    right: auto;
    left: 0;
    bottom: auto;
    position: absolute;
    top: 100svh;
    transform: translateY(-100%);
  }
  .scrollto.circle span {
    font-family: var(--roobert);
    font-size: 1.2rem;
    line-height: 1.4rem;
    color: var(--grigio-scuro);
    opacity: 0.5;
    display: block;
    margin: 0 calc(calc(var(--wrapper-padding) / 2) + 7.5px) 10% auto;
    pointer-events: none;
  }
  .page-template-page-about .scrollto.circle span {
    margin: 0 auto 10% calc(calc(var(--wrapper-padding) / 2) + 7.5px);
  }
  .scrollto.circle span.scroller {
    position: relative;
    display: block;
    height: 50px;
    width: 1px;
    opacity: 1;
    margin: 0 calc(calc(var(--wrapper-padding) / 2) + 7.5px) 10% auto;
  }
  .page-template-page-about .scrollto.circle span.scroller {
    margin: 0 auto 10% calc(calc(var(--wrapper-padding) / 2) + 7.5px);
  }
  .scrollto.circle span.scroller::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--grigio-scuro);
    opacity: 0.2;
  }
  .scrollto.circle span.scroller::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 50%;
    background: var(--grigio-scuro);
    opacity: 0.5;
    animation: scroller 3s infinite ease;
  }
  @keyframes scroller {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(100%);
    }
    100% {
      transform: translateY(0);
    }
  }

  /* PROGETTI */
  .elenco-progetti {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
  }
  .elenco-progetti .swiper-vertical-text {
    margin: 0 calc(var(--wrapper-padding) / 2);
  }
  .elenco-progetti .title-progetto,
  .elenco-progetti .title-progetto:focus,
  .elenco-progetti .title-progetto:visited,
  .elenco-progetti .title-progetto:hover {
    font-size: 13rem !important;
  }
  .elenco-progetti .swiper-vertical-images,
  .elenco-progetti .swiper-vertical-text,
  .elenco-progetti .cont-swiper-text {
    display: none;
  }
  .elenco-progetti .swiper-vertical-text-mobile {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: calc(100svh + 9rem);
    /* height: 60svh; */
    margin: 0 calc(var(--wrapper-padding) / 2);
    /* overflow: visible; */
    overflow: hidden;
    z-index: 1;
  }
  .elenco-progetti .swiper-vertical-text-mobile .swiper-slide {
    height: auto !important;
  }
  .elenco-progetti .swiper-vertical-text-mobile .swiper-wrapper {
    /* flex-direction: column-reverse; */
    /* flex-wrap: wrap-reverse; */
  }
  .vertical-images-mobile {
    position: relative;
    width: 100%;
    /* margin: 0 calc(var(--wrapper-padding) / 2); */
    height: 40svh;
    background: var(--grigio-chiaro);
    z-index: 3;
  }
  .vertical-images-mobile .image {
    position: absolute;
    left: calc(var(--wrapper-padding) / 2);
    top: 0;
    width: calc(100% - var(--wrapper-padding));
    height: 100%;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease-in;
  }
  .vertical-images-mobile .image.active {
    opacity: 1;
    pointer-events: all;
  }
  /* .elenco-progetti .swiper-vertical-images-mobile {
    position: absolute;
    display: block;
    top: auto;
    bottom: 0;
    left: 0;
    height: 50svh;
    width: 100%;
    margin: 0;
    background: var(--grigio-chiaro);
    opacity: 1;
    pointer-events: all;
    z-index: 5;
  } */
  /* .elenco-progetti .swiper-vertical-images-mobile .swiper-slide a {
    margin: 0 calc(var(--wrapper-padding) / 2) calc(var(--wrapper-padding) / 4);
  } */
  .elenco-progetti .img-progetto::before,
  .elenco-progetti .img-progetto::after {
    content: none;
  }
  .elenco-progetti .img-progetto img {
    height: auto;
    aspect-ratio: 16/10;
  }

  /* SINGLE */
  .hero-single {
    height: auto !important;
    aspect-ratio: 1 / 1;
    width: 100%;
  }
  .hero-single .bg-image {
    height: auto !important;
    aspect-ratio: 1 / 1;
    bottom: auto;
    top: 0;
  }

  .single-title {
    padding: 30px 0;
  }
  .row.cont-single {
    margin-top: 0;
  }

  .cont-single.cont-testo > h2 + *,
  .cont-single.cont-testo > h3 + *,
  .cont-single.cont-testo > h4 + *,
  .cont-single.cont-testo > * + .scheda-progetto {
    margin-top: var(--distance);
  }

  .content-section {
    padding-top: var(--distance);
    padding-bottom: var(--distance);
  }

  .marquee-section-lg {
    height: 0;
    overflow: hidden;
  }
  .marquee-section-xs {
    height: auto;
    padding-bottom: var(--distance);
  }

  .swiper-marquee .swiper-slide p {
    font-size: 13rem;
  }

  .progetto-next {
    height: auto !important;
    aspect-ratio: 1 / 1;
    width: 100%;
  }

  .fixed-cta {
    bottom: 50px;
  }
  .fixed-cta .cta {
    font-size: 3rem;
  }

  /* ABOUT */
  section.chi-siamo {
    padding-top: 0;
  }
  section.chi-siamo .cerchio svg {
    width: 250%;
    max-width: none;
  }
  .chi-siamo .marquee-section {
    border-bottom: 1px solid var(--grigio-scuro);
  }
  .chi-siamo .sticky {
    position: relative;
    top: auto;
    height: 100svh;
  }
  .chi-siamo .sticky-content {
    position: absolute;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
  }
  .chi-siamo .wrapper {
    margin: 0 auto;
    width: calc(100% - var(--wrapper-padding));
  }
  .chi-siamo .wrapper .content {
    margin-top: calc(var(--distance-medium) * 3);
  }
  .chi-siamo .cont-about .row:last-of-type {
    margin-bottom: calc(var(--distance-medium) * 2);
  }
  .premi,
  .servizi {
    padding-top: calc(var(--distance-medium) * 2.5);
  }
  .clienti {
    padding: calc(var(--distance-medium) * 2.5) 0;
  }
  .elenco-clienti {
    column-count: 2;
  }
  .page-template-page-about footer {
    padding-top: var(--distance-medium);
    border-top: 1px solid var(--grigio-scuro);
    margin-bottom: 0;
  }
  .single footer {
    margin-bottom: 85vw;
    border-bottom-left-radius: calc(var(--distance-big) / 6);
    border-bottom-right-radius: calc(var(--distance-big) / 6);
  }

  .img-team {
    top: 45svh;
    height: 240px;
    margin-top: 0;
  }
  .img-team img {
    width: 200px;
  }

  /* FORM */
  form {
    flex-direction: column;
  }
  .cont-form {
    position: relative;
    top: auto;
    left: auto;
    height: auto;
    padding-top: calc(var(--distance-medium) * 2.5);
    padding-bottom: 0;
  }
  .gform_wrapper {
    margin-top: var(--distance);
  }
  .gform_footer {
    height: 280px;
    width: 100%;
  }
  input[type="submit"],
  button[type="submit"] {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 !important;
  }

  /* CONTATTI */
  section.contacts {
    padding-top: calc(var(--distance-big) * 2);
    padding-bottom: var(--distance-big);
  }
  .contacts .container-fluid > .row {
    padding-top: 0;
    padding-bottom: calc(var(--distance-medium) / 2);
    border-bottom: 1px solid var(--nero);
    border-top: 0;
  }
  .contacts .container-fluid > .row + .row {
    margin-top: var(--distance-medium);
  }
  .contacts .container-fluid > .row .roobert3 {
    padding-bottom: calc(var(--distance) / 3);
    margin-bottom: var(--distance);
    border-bottom: 1px solid var(--nero);
  }
  .contacts + .cont-form .nav-tabs {
    display: flex;
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow: scroll;
  }

  .contacts a + .img-sede {
    top: 0;
  }
  .contacts a.visible + .img-sede {
    opacity: 1;
  }

  .page-template-page-contatti footer {
    margin-bottom: 0;
  }

  /* FOOTER */
  footer {
    height: auto;
    border-top-left-radius: calc(var(--distance-big) / 6);
    border-top-right-radius: calc(var(--distance-big) / 6);
  }
  footer .roobert5 {
    font-size: 1.5rem;
  }
  footer .roobert4,
  footer .menu li a,
  footer .menu li a:visited,
  footer .menu li a:focus,
  footer .menu li a:hover {
    font-size: 2rem;
    line-height: 2.5rem;
  }
  footer .cont-testo p {
    width: 100%;
  }
  .cont-testo > * + * {
    margin-top: 10px;
  }
  .credits,
  .credits:visited,
  .credits:focus,
  .credits:hover {
    width: 105px;
    height: 15px;
  }

  /* LEGAL PAGES */
  .legal-content {
    padding-top: 100px !important;
  }
  .legal-content .cont-testo h1 {
    font-size: 3.8rem;
    line-height: 3.8rem;
  }
  .legal-content .cont-testo h2 {
    font-size: 3rem;
    line-height: 3rem;
  }
  .legal-content .cont-testo h3,
  .legal-content .cont-testo h4 {
    font-size: 2.2rem;
    line-height: 2.2rem;
  }
  .legal-content .cont-testo,
  .legal-content .cont-testo p {
    font-size: 1.4rem;
    line-height: 2rem;
  }

  .legal-content .cont-testo h1 {
    margin-bottom: 30px;
  }
  .legal-content .cont-testo * + h2 {
    margin-top: 30px;
  }
  .legal-content .cont-testo * + h3 {
    margin-top: 20px;
  }

  /* CUSTOM MODALS */
  .custom-modal .cont-iframe {
    width: 100%;
    height: auto;
    margin: 0 20px;
  }

  /* 404 */
  .error404 .cta.circle {
    font-size: 3rem;
    position: fixed;
    left: calc(calc(var(--wrapper-padding) / 2) + 7.5px);
    bottom: 10px;
    margin: 0;
    z-index: 4;
  }
  .error404 .marquee-section {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transition: var(--transition);
    transform: none;
    z-index: 1;
  }
  .error404 .marquee-section .cerchio svg {
    position: absolute;
    left: 0;
    pointer-events: none;
    width: 250%;
    max-width: none;
  }
}
