html,
body {
  width: 100%;
  height: 100%;
  margin: 0px;
  padding: 0px;
  overflow-x: hidden;
}

* {
  color: #000000;
  font-weight: 300;
  font-family: "arial_narrow";
}

a,
a:hover,
a:visited,
a:active,
a:focus,
a.nav-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

h1,
.h1 {
  font-weight: 700;
  font-size: clamp(24px, 4.4vw, 64px);
}
@media screen and (orientation: landscape) and (max-height: 767px) {
  h1,
  .h1 {
    font-size: clamp(18px, 3.8vw, 46px);
  }
}

h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 0;
}

.referenza h1 {
  font-size: clamp(20px, 3.2vw, 32px);
}

h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0;
  color: #FDBE01;
  font-weight: 700;
}

b {
  font-weight: 700;
}

h2 {
  font-size: clamp(16px, 2.7vw, 28px);
}

h3,
h4,
h5,
h6 {
  font-size: clamp(16px, 2.4vw, 24px);
}

.font32 {
  font-size: clamp(16px, 3.2vw, 32px);
}

p {
  font-size: clamp(16px, 2vW, 20px);
  color: #000000;
  margin-bottom: 0;
}

footer p {
  font-size: clamp(16px, 2vw, 18px);
}

ul {
  font-size: clamp(16px, 2vW, 20px);
  color: #000000;
}

li {
  font-size: clamp(16px, 2vW, 20px);
  color: #000000;
}

span {
  font-weight: inherit;
  font-size: inherit;
  color: inherit;
}

.fs-28 {
  font-size: clamp(16px, 2.7vw, 28px);
}

.fs-30 {
  font-size: clamp(16px, 3vw, 30px);
}

.fs-32 {
  font-size: clamp(16px, 3.2vw, 32px);
}

.color-primary {
  color: #FDBE01 !important;
}

.svg-primary path {
  fill: #FDBE01;
}

.color-white {
  color: #fff;
}

.color-black {
  color: #000;
}

.fit-cover {
  object-fit: cover;
}

.fit-width {
  width: fit-content;
}

.fit-height {
  height: fit-content;
}

.container-loader {
  background: #030303;
  position: fixed;
  height: 100vh;
  width: 100vw;
  z-index: 10000000000000000000000000000000000000000000000000000000000000000000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader svg {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  fill: #FDBE01;
  height: 150px;
  width: 150px;
}
.loader svg g {
  stroke: #FDBE01;
}

header .container-logo-header {
  max-width: calc(100% - 60px);
}
@media screen and (max-width: 320px) {
  header .container-logo-header {
    max-width: 100%;
  }
}
header .container-logo-header svg {
  height: 120px;
  width: auto;
}
@media screen and (max-width: 600px) {
  header .container-logo-header svg {
    width: 100%;
    margin: auto;
  }
}
header .container-logo-header .testoLogo {
  display: flex;
}
header .container-logo-header .testoLogo .testoLogoSX {
  text-align: right;
  border-right: 1px #000 solid;
  padding-right: 5px;
  font-size: clamp(10px, 2vw, 14px);
  line-height: 0.75;
}
header .container-logo-header .testoLogo .testoLogoSX span {
  line-height: 1.3;
}
header .container-logo-header .testoLogo .testoLogoDX {
  text-align: left;
  padding-left: 5px;
  font-size: clamp(16px, 2.5vw, 24px);
  line-height: 0.75;
}
header .container-logo-header .testoLogo .testoLogoDX span {
  line-height: 1.3;
}

.container-logo-header .navbar-brand {
  margin: 0;
  display: block;
  text-align: center;
}

@media screen and (max-width: 600px) {
  #menu .menu-right {
    padding: 20px 30px;
    width: 100%;
  }
}
#menu .cambioLingua {
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  #menu .cambioLingua {
    margin-right: 50px;
  }
}

.navbar-nav .nav-item .nav-link {
  font-size: clamp(16px, 2vw, 18px);
}
.navbar-nav .nav-item:last-child .nav-link {
  padding-right: 0;
}
.navbar-nav .nav-item .nav-link.active {
  font-weight: 700;
  color: #FDBE01;
}

.navbar-toggler {
  border: none;
}
@media screen and (max-width: 320px) {
  .navbar-toggler {
    width: 100%;
    display: flex;
    justify-content: end;
  }
}

section.py-custom {
  padding-top: 70px;
  padding-bottom: 70px;
}

.banner {
  position: relative;
}
.banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (orientation: landscape) and (max-height: 767px) {
  .banner {
    height: 90vh !important;
  }
}
.banner .inside-banner {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.3);
}
.banner .inside-banner .center-inside-banner {
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.banner .inside-banner .center-inside-banner h1 {
  color: #FDBE01;
}
.banner .inside-banner .center-inside-banner .container-btn {
  margin-top: 50px;
}

.btn {
  padding: 10px 20px;
  text-transform: uppercase;
  border-radius: 0;
  font-size: clamp(16px, 2vw, 18px);
}
.btn.btn1 {
  color: #fff;
  border: #FDBE01 3px solid;
}
.btn.btn1:hover {
  background-color: #FDBE01;
}
.btn.btn2 {
  color: #000;
  border: #FDBE01 3px solid;
}
.btn.btn2:hover {
  background-color: #FDBE01;
}
.btn.btn3 {
  padding: 10px 0;
  width: 100%;
  background-color: #FDBE01;
  border: #FDBE01 3px solid;
}
.btn.btn3:hover, .btn.btn3:active {
  border-color: #000;
  background-color: #000;
  color: #FDBE01;
}

form input,
form textarea {
  padding: 10px 20px;
  width: 100%;
  border: #FDBE01 3px solid;
  font-size: clamp(16px, 2vw, 18px);
}
form input:focus,
form textarea:focus {
  outline: none;
}

.container-attivita img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
}
.container-attivita a svg {
  height: 14px;
}

#loStudio {
  position: relative;
}
#loStudio img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#loStudio .oscuramento {
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  left: 0;
  top: 0;
  bottom: 0;
  right: auto;
}
#loStudio .inside-studio {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
#loStudio .content-studio {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 100px;
  padding-bottom: 100px;
  height: fit-content;
}
#loStudio .content-studio h2 {
  font-size: clamp(20px, 4.2vw, 58px);
}

footer.background-black {
  background-color: #030303;
}
footer .border-bottom-footer {
  border-bottom: 2px #FDBE01 solid;
}
footer p {
  color: #fff;
}
footer p b {
  color: #fff;
}
footer .logo-orizzontale {
  height: 80px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
footer .logo-footer svg {
  width: 100%;
  max-width: 170px;
  height: auto;
}
@media screen and (max-width: 767px) {
  footer .logo-footer svg {
    max-width: 140px;
  }
}
footer .indirizzi-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-left: -1rem;
  margin-right: -1rem;
  overflow-x: hidden;
}
footer .indirizzi-footer .d-flex {
  flex-wrap: wrap;
  justify-content: center;
}
footer svg path {
  fill: #FDBE01;
}

.logo-orizzontale-footer {
  display: flex;
}
.logo-orizzontale-footer .border-right-logo-footer {
  border-right: 2px #FDBE01 solid;
}
.logo-orizzontale-footer .logo-text-1 {
  color: #fff;
  height: fit-content;
  width: fit-content;
  padding-right: 20px;
  font-size: clamp(16px, 3vw, 20px);
  line-height: 1.3;
  text-transform: uppercase;
  text-align: right;
}
.logo-orizzontale-footer .logo-text-2 {
  text-transform: uppercase;
  color: #fff;
  padding-left: 20px;
  width: fit-content;
  font-size: clamp(18px, 4vw, 24px);
  line-height: 1.3;
}

.news-preview .dimensioni-preview {
  width: 100%;
  aspect-ratio: 16/10;
}
.news-preview .dimensioni-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 1px #000 solid;
}

.cambioLingua {
  border: none;
  cursor: pointer;
}
.cambioLingua:focus-visible {
  outline: none;
}

.filtro-chi-siamo .filtro {
  width: 50%;
  text-align: center;
  padding: 15px 0;
  font-size: clamp(16px, 3.2vw, 32px);
  cursor: pointer;
}
.filtro-chi-siamo .filtro.active {
  border-bottom: 2px solid #FDBE01;
}

.img-break-left {
  position: absolute;
  width: 0;
  height: 0;
  left: 0;
  min-height: 400px;
  width: calc(50% - 50px);
  object-fit: cover;
  opacity: 0;
}
.img-break-left.active {
  opacity: 1;
  width: calc(50% - 30px);
  height: 70vh;
}

.filtro-chi-siamo-img-container .filtro-chi-siamo-img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  opacity: 0;
  height: 0;
}
.filtro-chi-siamo-img-container .filtro-chi-siamo-img.active {
  height: 100%;
  opacity: 1;
}

.img-break-right {
  position: absolute;
  width: 0;
  height: 0;
  right: 0;
  min-height: 400px;
  width: calc(50% - 50px);
  object-fit: cover;
  opacity: 0;
}
.img-break-right.active {
  opacity: 1;
  width: calc(50% - 30px);
  height: 70vh;
}

.filtroP {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -999999999;
  font-size: clamp(16px, 2vw, 18px);
}
.filtroP.active {
  opacity: 1;
  position: static;
  left: unset;
  top: unset;
  transition: opacity 1.5s;
  z-index: unset;
  height: auto;
  width: auto;
}
.filtroP:not(.active) {
  height: 0;
  width: 0;
}
.filtroP:not(.active) p {
  font-size: 0;
}

.text-like-img {
  font-size: clamp(16px, 3.2vw, 32px);
}
.text-like-img h2 {
  color: #000;
  font-size: clamp(18px, 3.5vw, 36px);
  font-weight: 700;
}

.fs-24P p {
  font-size: clamp(16px, 2.4vw, 24px);
}

.filtroReferenze {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.filtroReferenze .gruppoFiltro {
  display: flex;
}
.filtroReferenze .filtro {
  font-size: clamp(16px, 2vw, 18px);
  cursor: pointer;
  padding-left: 20px;
  padding-right: 20px;
  white-space: nowrap;
  width: fit-content;
  border-bottom: 5px solid #D8D8D8;
}
.filtroReferenze .filtro.active {
  border-color: #FDBE01;
}

.filtroReferenzeMobile {
  display: none;
}
.filtroReferenzeMobile .dropdown {
  width: 250px;
  margin: 30px auto 0 auto;
}
.filtroReferenzeMobile .dropdown .btn3 {
  width: 100%;
  border: none;
  border-bottom: 2px #FDBE01 solid;
}
.filtroReferenzeMobile .dropdown .dropdown-menu {
  width: 100%;
  margin-top: -3px;
  border-radius: 0;
  border: none;
}
.filtroReferenzeMobile .dropdown .dropdown-menu li {
  padding: 5px 0;
  text-align: center;
}

.sottoCategoria {
  display: none;
  flex-direction: column;
  width: 100%;
  align-items: center;
}
.sottoCategoria.active {
  display: flex;
}
.sottoCategoria select {
  width: min-content;
}

.referenze-preview {
  min-height: 440px;
}
.referenze-preview .referenze-preview-element img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.referenze-preview .referenze-preview-element a svg {
  margin-left: 10px;
}
.referenze-preview .referenze-preview-element a svg path {
  fill: #FDBE01;
}

.carousel-img {
  height: 100%;
  position: relative;
  padding-left: 50px;
  padding-right: 50px;
}
.carousel-img #gallery {
  height: 100%;
}
.carousel-img #gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.carousel-img #gallery ~ .swiper-button {
  color: #FDBE01;
}
.carousel-img #gallery ~ .swiper-button.swiper-button-next {
  right: 0;
}
.carousel-img #gallery ~ .swiper-button.swiper-button-prev {
  left: 0;
}

.carousel-img-news {
  height: 100%;
  position: relative;
}
.carousel-img-news #gallery-news {
  height: 100%;
}
.carousel-img-news #gallery-news .swiper-slide {
  width: 100%;
  aspect-ratio: 16/10;
}
.carousel-img-news #gallery-news .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.carousel-img-news #gallery-news .swiper-button {
  color: #FDBE01;
  background-color: rgba(0, 0, 0, 0.3);
  height: 100%;
  top: 0;
  margin-top: 0;
  padding: 0 30px;
}
.carousel-img-news #gallery-news .swiper-button:hover {
  background-color: rgba(0, 0, 0, 0.5);
}
.carousel-img-news #gallery-news .swiper-button.swiper-button-next {
  right: 0;
}
.carousel-img-news #gallery-news .swiper-button.swiper-button-prev {
  left: 0;
}

.carousel-img-chi-siamo {
  position: relative;
}
.carousel-img-chi-siamo .gallery-chi-siamo {
  width: 100%;
  aspect-ratio: 16/9;
}
.carousel-img-chi-siamo .gallery-chi-siamo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.carousel-img-chi-siamo .gallery-chi-siamo .swiper-button {
  color: #FDBE01;
  background-color: rgba(0, 0, 0, 0.3);
  height: 100%;
  top: 0;
  margin-top: 0;
  padding: 0 30px;
}
.carousel-img-chi-siamo .gallery-chi-siamo .swiper-button:hover {
  background-color: rgba(0, 0, 0, 0.5);
}
.carousel-img-chi-siamo .gallery-chi-siamo .swiper-button.swiper-button-next {
  right: 0;
}
.carousel-img-chi-siamo .gallery-chi-siamo .swiper-button.swiper-button-prev {
  left: 0;
}

.carousel-img-referenza #gallery-referenza {
  height: 100%;
  aspect-ratio: 16/9;
}
.carousel-img-referenza #gallery-referenza img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.carousel-img-referenza #gallery-referenza .swiper-button {
  color: #FDBE01;
  background-color: rgba(0, 0, 0, 0.3);
  height: 100%;
  top: 0;
  margin-top: 0;
  padding: 0 30px;
}
.carousel-img-referenza #gallery-referenza .swiper-button:hover {
  background-color: rgba(0, 0, 0, 0.5);
}
.carousel-img-referenza #gallery-referenza .swiper-button.swiper-button-next {
  right: 0;
}
.carousel-img-referenza #gallery-referenza .swiper-button.swiper-button-prev {
  left: 0;
}

#tree {
  width: 100%;
  height: 2000px;
  position: relative;
}
#tree .node {
  cursor: pointer;
}
#tree .node text {
  cursor: pointer;
}
#tree .node.noClick {
  cursor: unset;
}
#tree .node.noClick text {
  cursor: unset;
}

#sottonomeTree {
  font-weight: 700;
}

#editForm {
  display: none;
}
#editForm #insideEdit {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1000000;
  background-color: #fff;
  max-width: 90%;
  width: 900px;
  padding: 40px;
  border: 3px solid #FDBE01;
}
@media screen and (max-width: 767px) {
  #editForm #insideEdit {
    padding: 20px 10px;
  }
}
#editForm #insideEdit #nomeTree {
  color: #FDBE01;
}
@media screen and (max-width: 767px) {
  #editForm #insideEdit .containerImg {
    display: flex;
    justify-content: center;
  }
}
#editForm #insideEdit .containerImg #imageTree {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  #editForm #insideEdit .containerImg #imageTree {
    width: 50%;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  #editForm #insideEdit .containerImg #imageTree {
    padding: 0;
  }
}
#editForm #insideEdit #descTree ul {
  margin-bottom: 0;
}
#editForm #oscuramento {
  position: absolute;
  z-index: 10000;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  left: 0;
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.7);
}

.px-custom {
  padding-left: 100px;
  padding-right: 100px;
}
@media screen and (max-width: 1200px) {
  .px-custom {
    padding-left: 70px;
    padding-right: 70px;
  }
}
@media screen and (max-width: 992px) {
  .px-custom {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .px-custom {
    padding-left: 0px;
    padding-right: 0px;
  }
}

.altreNews {
  margin: auto;
}
.altreNews.background-gray {
  background-color: rgba(217, 217, 217, 0.3);
}
.altreNews h3 {
  padding: 0 40px;
}
.altreNews .altraNews {
  padding: 0 40px;
}

.altreReferenze {
  margin: auto;
}
.altreReferenze.background-gray {
  background-color: rgba(217, 217, 217, 0.3);
}
.altreReferenze h3 {
  padding: 0 40px;
}
.altreReferenze .altreReferenze {
  padding: 0 40px;
}

.container-mappa {
  max-width: 400px;
}
.container-mappa h2 {
  font-size: 24px;
}

iframe.mappa {
  aspect-ratio: 1/1;
}

.font20 {
  font-size: clamp(16px, 2vw, 20px);
}

.font24 {
  font-size: clamp(16px, 2.4vw, 24px);
}

.spacer {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .spacer {
    padding-top: 40px;
  }
}

.max-size-container {
  max-width: 600px;
}
@media screen and (orientation: landscape) and (max-height: 767px) {
  .max-size-container {
    max-width: none;
  }
}

.mr-custom {
  margin-right: 10px;
}

.node.tree-layout circle {
  stroke: #000;
}

.link path {
  stroke: #000;
}

.testi-dettaglio-attivita {
  font-size: clamp(16px, 2.4vw, 22px) !important;
}

.imgDettaglioAttivita {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}

.pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.pagination .page-item .page-link {
  color: #FDBE01;
  padding: 6px 14px;
}
.pagination .page-item.active .page-link {
  color: #fff;
  background-color: #FDBE01;
  border-color: #FDBE01;
}

.input-form.hidden {
  visibility: hidden;
  width: 0;
  height: 0;
  position: absolute;
}

header .btn:hover {
  border: none;
}
header .btn.btn-lang {
  padding-left: 0;
}
header .dropdown-menu {
  border: none;
}
header .navbar-toggler:focus {
  box-shadow: none;
}

.invioSuccess {
  font-size: clamp(16px, 2.4vw, 24px);
}

.btn-check:checked + .btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check) + .btn:active {
  border: none;
  outline: none;
}

header .btn.btn-lang {
  border: none;
  outline: none;
}/*# sourceMappingURL=style.css.map */