html {
  overflow-y: auto !important;
}

html,
body {
  overflow-x: hidden !important;
}

body {
  background: #fff !important;
  height: auto !important;
}

body:not(.home) {
  margin-top: 5rem;
}

figure {
  margin: 0 !important;
}

.responsive-image,
.responsive-image img {
  width: 100%;
  height: auto;
}

::selection {
  background-color: #195da8 !important;
}

:root {
  --mxw-section: 100rem;
}

body,
header,
.offcanvas,
.offcanvas.show {
  margin-right: 0 !important;
  padding-right: 0 !important;
}

.fixed-top.transparent-header,
.fixed-top.white-header {
  padding-right: 0 !important;
}

body p,
span,
ul,
li {
  font-size: 1.125rem;
  color: #363636;
  font-family: "Work Sans", sans-serif;
  font-style: normal;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: -0.04375rem;
}

body small {
  font-size: 0.875rem;
  color: #363636;
  font-family: "Work Sans", sans-serif;
  font-style: normal;
}

body a {
  text-align: center;
  font-family: "Work Sans", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: -0.04375rem;
  text-decoration: none !important;
}

body h1 {
  color: #e20d1a;
  font-family: "Big Shoulders", sans-serif;
  font-size: clamp(3rem, 6vw, 5.653rem);
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 1;
  text-transform: uppercase;
}

body h2 {
  color: #e20d1a;
  font-family: "Big Shoulders", sans-serif;
  font-size: clamp(2.8rem, 5.5vw, 5.653rem);
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
}

body h3 {
  color: #e20d1a;
  font-family: "Big Shoulders", sans-serif;
  font-size: clamp(2.3rem, 4.5vw, 3.998rem);
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
}

body h4 {
  color: #898989;
  font-family: "Big Shoulders", sans-serif;
  font-size: clamp(2rem, 3.5vw, 2.827rem);
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
}

body h5 {
  color: #898989;
  font-family: "Big Shoulders", sans-serif;
  font-size: clamp(1.7rem, 2.8vw, 1.999rem);
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
}

body h6 {
  color: #898989;
  font-family: "Big Shoulders", sans-serif;
  font-size: clamp(1.5rem, 2.2vw, 1.414rem);
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
}

.testo-bianco {
  color: #fff !important;
}

.testo-grigio {
  color: #898989 !important;
}

.testo-rosso {
  color: #e20d1a !important;
}

.sz-introh {
  width: 100%;
  height: 100vh;
  position: relative;
}

.top-cnt-szih {
  position: relative;
  height: 70vh;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-end;
  align-items: center;
  padding-bottom: 5rem;
}

div#slider_intro_home {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.cnt-txt-szih {
  position: relative;
  z-index: 2;
  text-align: center;
  margin-bottom: 3rem;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.cnt-search-szih {
  position: relative;
  z-index: 2;
  width: 100%;
}

form.search-form {
  --radius: 2rem;
  --gap: 1rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--gap);
  align-items: center;
  width: min(100%, 70rem);
  margin-inline: auto;
  background: #fff;
  border-radius: var(--radius);
}

.search-select {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-right: 1rem;
  border-right: 1px solid #ddd;
  padding-left: 1rem;
}

.search-select .lbl {
  white-space: nowrap;
  color: #666;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1rem;
  font-family: "Work Sans";
}

.custom-select {
  position: relative;
}

.custom-select-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 0.9rem;
  cursor: pointer;
  line-height: 1;
  border: none;
  background-color: #fff;
}

.custom-select-trigger:focus {
  outline: 2px solid #111;
  outline-offset: 2px;
}

.custom-options {
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 0;
  right: 0;
  display: none;
  background: #fff;
  border: 1px solid #cfcfcf;
  border-radius: 0.75rem;
  padding: 0.25rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  z-index: 30;
  overflow-anchor: none;
  width: 100%;
}

.custom-options.open {
  display: block;
}

.custom-option {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 0.75rem;
  border-radius: 0.5rem;
  cursor: pointer;
  background: transparent;
  border: 0;
  text-align: left;
}

.custom-option:hover,
.custom-option[aria-selected="true"] {
  background: #f5f5f5;
}

.search-field {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #999;
  padding: 0.9rem 0 0 0;
  background: transparent;
  font: inherit;
}

.search-field:focus {
  outline: none;
  border-bottom-color: #111;
}

.search-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1.5rem 3rem;
  border-radius: var(--radius);
  background: #e20d1a;
  color: #fff;
  border: 1px solid #e20d1a;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: all 0.4s ease-in-out;
}

.search-submit:hover {
  background: #860810;
  border: 1px solid #860810;
  transition: all 0.4s ease-in-out;
}

.search-submit:focus {
  outline: 2px solid #111;
  outline-offset: 2px;
  transition: all 0.4s ease-in-out;
}

@media (max-width: 992px) {
  form.search-form {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    border-radius: 1rem;
    padding: 0.75rem;
  }
  .search-select {
    border-right: 0;
    padding-right: 0;
  }
  .search-submit {
    width: 100%;
  }
}

span.text {
  color: #666;
  font-family: "Work Sans";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1rem;
}

button.custom-option {
  color: #666;
  font-family: "Work Sans";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1rem;
}

button.custom-option span {
  color: #666;
  font-family: "Work Sans";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1rem;
}

.custom-select-trigger .chevron {
  margin-left: auto;
  font-size: 0.875rem;
  transition: transform 0.4s ease;
}

.custom-select-trigger[aria-expanded="true"] .chevron {
  transform: rotate(180deg);
  transition: transform 0.4s ease;
}

button.custom-select-trigger i {
  color: #999;
}

.immagine-slider-intro-h {
  width: 100%;
  height: 70vh;
  object-fit: cover;
  object-position: center;
}

.top-cnt-szih::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #0000003d;
  z-index: 2;
}

.bottom-cnt-szih {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  height: 30vh;
  border-top: 4px solid #fff;
  border-left: 4px solid #fff;
  border-right: 4px solid #fff;
  overflow: hidden;
}

.bottom-cnt-szih {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  height: 30vh;
  border-top: 4px solid #fff;
  border-left: 4px solid #fff;
  border-right: 4px solid #fff;
  overflow: hidden;
}

.cnt-cat-szih {
  flex: 1 1 0;
  height: 30vh;
  border: 4px solid #fff;
  --overlay: #e20d1a;
}

.cnt-cat-szih:nth-child(2) {
  --overlay: #007800;
}
.cnt-cat-szih:nth-child(3) {
  --overlay: #f3920d;
}
.cnt-cat-szih:nth-child(4) {
  --overlay: #195da8;
}

.cnt-topcat-szih {
  position: relative;
  height: 90%;
}

.cnt-topcat-szih::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--overlay);
  opacity: 0.45;
  transition: opacity 0.4s ease-in-out;
  pointer-events: none;
  z-index: 1;
}

.cnt-cat-szih:hover .cnt-topcat-szih::before {
  opacity: 0;
  transition: all 0.4s ease-in-out;
}

.cnt-cat-szih:hover .cnt-bottomcat-szih {
  background-color: var(--overlay);
  transition: all 0.4s ease-in-out;
}

.cnt-cat-szih:hover .cnt-bottomcat-szih .cnt-link-cat-szih .par-cat-szih {
  color: #fff;
  transition: all 0.4s ease-in-out;
}

.immagine-catszih {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
  display: block;
}

.cnt-link-cat-szih {
  display: block;
  height: 100%;
}

.cnt-bottomcat-szih {
  display: block;
  transition: all 0.4s ease-in-out;
}

.par-cat-szih {
  color: #888;
  text-align: center;
  font-family: "Big Shoulders Display", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.5;
  margin: 0;
  padding: 0.5rem 0;
  transition: all 0.4s ease-in-out;
}

.title-sx-sz1h {
  color: #888;
  text-align: right;
  font-size: clamp(1.3rem, 3vw, 2rem);
  font-style: normal;
  font-weight: 300;
  line-height: 2rem;
  text-transform: uppercase;
  border-bottom: 1px solid #999;
  font-family: "Big Shoulders";
}

.par-sx-szh1 {
  color: #363636;
  text-align: right;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5rem;
  max-width: 20rem;
  margin-left: auto;
}

.par-szh1 {
  color: #363636;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5rem;
  max-width: 36rem;
}

.cnt-sx-sz1h {
  width: 33%;
}

.cnt-center-sz1h {
  padding: 0rem 1rem !important;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
  width: 48%;
  margin: 0 auto;
}

.container-tot-left-sz1h.col-desc-poi .cnt-center-sz1h {
    padding: 0rem 1rem 0rem 4rem !important;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    width: 48%;
    margin: 0 auto 0 0;
}

.img-right-sz1h {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left;
}

strong {
  font-weight: 600 !important;
}

.title-sz1h {
  max-width: 36rem;
}

.par2-szh1 {
  color: rgb(187 187 187);
  font-size: clamp(1.3rem, 3vmin, 2.8125rem);
  font-style: italic;
  font-weight: 300;
  line-height: 3rem;
  letter-spacing: -0.14063rem;
  margin-top: 5rem;
}

.virgole-aperte {
  position: relative;
  top: -1rem;
  max-width: clamp(2rem, 3vmin, 3rem);
}

.virgole-chiuse {
  position: relative;
  top: 1rem;
  rotate: 180deg;
  max-width: clamp(2rem, 3vmin, 3rem);
}

.container-tot-left-sz1h {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 2rem;
}

.cnt-right-link-sz2h {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
  gap: 5rem;
}

.item.cnt-sz2h {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: flex-start;
  gap: 1rem;
}

.cnt-top-link-sz2h {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}

.par-sz2h {
  color: #fab53a;
  font-size: 2rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}

.par2-sz2h {
  color: #000;
  font-size: 2rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}

.link-slider-intro {
  border-radius: 1rem;
  border: 1px solid #e20d1a;
  background: #e20d1a;
  color: #fff;
  text-align: center;
  font-family: "Work Sans";
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1rem;
  padding: 0.65rem 1.5rem;
  transition: all 0.4s ease-in-out;
}

.link-slider-intro:hover {
  background: #860810;
  border: 1px solid #860810;
  transition: all 0.4s ease-in-out;
}

.cnt-cont-right-tot-sz2h {
  max-width: 54rem;
  position: relative;
  left: -10rem;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: flex-start;
  gap: 3rem;
  height: 100%;
}

section.sezione3-h {
  margin: 5rem 0;
}

.cnt-title-sz3h {
  text-align: center;
  margin-bottom: 5rem;
}

.title-sz3h {
  color: #898989;
}

.title-sz3h span {
  color: #e20d1a;
  font-family: "Big Shoulders", sans-serif;
  font-size: inherit;
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
}

.immagine-sz3h {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
}

.cnt-grid-sz4h {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(6, 1fr);
  gap: 16px;
  max-width: 90rem;
  width: 100%;
}

.div1 {
  grid-column: span 2 / span 2;
  grid-row: span 2 / span 2;
  --bg-color: #f3920d;
}

.div2 {
  grid-column: span 4 / span 4;
  grid-row: span 2 / span 2;
  grid-column-start: 3;
  --bg-color: #b00d1a;
}

.div3 {
  grid-column: span 3 / span 3;
  grid-row: span 4 / span 4;
  grid-row-start: 3;
  --bg-color: #195da8;
}

.div4 {
  grid-column: span 3 / span 3;
  grid-row: span 2 / span 2;
  grid-column-start: 4;
  grid-row-start: 3;
  --bg-color: #73256d;
}

.div5 {
  grid-column: span 3 / span 3;
  grid-row: span 2 / span 2;
  grid-column-start: 4;
  grid-row-start: 5;
  --bg-color: #007800;
}

.cnt-grid-sz4h > a {
  position: relative;
  min-height: 20rem;
  display: flex;
  align-content: center;
  align-items: flex-end;
  justify-content: flex-start;
  overflow: hidden;
}

.bg-img-percorso-sz4h {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.4s ease-in-out;
  will-change: transform;
}

.cnt-grid-sz4h > a:hover .bg-img-percorso-sz4h {
  transform: scale(1.05);
}

.title-grid-item {
  background-color: var(--bg-color);
  padding: 0.5rem 2rem;
  transform: skewX(330deg);
  position: relative;
  left: -1rem;
  bottom: 2rem;
}

.title-grid-item p {
  margin: 0;
  transform: skewX(-330deg);
  color: #fff;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  text-transform: uppercase;
}

.title-sz4h {
  color: #898989;
}

.title-sz4h span {
  color: #e20d1a;
  font-family: "Big Shoulders", sans-serif;
  font-size: inherit;
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
}

.cnt-left-sz4h {
  padding-right: 3rem !important;
}

.cnt-right-sz4h {
  padding-left: 3rem !important;
}

.par-cnt-sz4h {
  max-width: 35rem;
}

.cnt-title-sz4g {
  margin-bottom: 5rem;
}

.sezione5-h {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: flex-end;
  background-color: #fab53a;
  position: relative;
  margin: 5rem 0;
  padding: 5rem 1rem;
}

.pretitolo-nero {
  color: #000;
  font-family: "Work Sans";
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  line-height: 2rem;
  text-transform: uppercase;
}

.title-sz5h {
  color: #fff;
  font-size: 3rem;
  font-style: normal;
  font-weight: 400;
  line-height: 3.6875rem;
  text-transform: uppercase;
}

.par-sz5h {
  color: #000;
  font-family: "Work Sans";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2rem;
}

.percorsi-sz5h {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  align-items: center;
  gap: 3rem;
  margin-top: 5rem;
  position: relative;
}

.item-percorsi-sz5h {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  text-align: center;
  max-width: 20rem;
  transition: all 0.4s ease-in-out;
}

.square-num {
  width: 6rem;
  height: 6rem;
  background-color: #fff;
  border-radius: 1rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  margin-bottom: 2rem;
  z-index: 6;
  transition: all 0.4s ease-in-out;
}

.square-num:hover {
  background-color: #ff3841;
  transition: all 0.4s ease-in-out;
}

.icon-per-sz5h i {
  font-size: 3rem;
  color: #ff3841;
  transition: all 0.4s ease-in-out;
}

.square-num:hover .icon-per-sz5h i {
  color: #fff;
  transition: all 0.4s ease-in-out;
}

.num-percorso-sz5h {
  position: absolute;
  top: -0.5rem;
  right: -0.5rem;
  background-color: #fff;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  font-size: 0.75rem;
  box-shadow: 0px 0px 10px 0px #0000005c;
  color: #ff3841;
  font-weight: 600;
  transition: all 0.4s ease-in-out;
}

.square-num:hover .num-percorso-sz5h {
  background-color: #ff3841;
  color: #fff;
  transition: all 0.4s ease-in-out;
}

.title-percorso-sz5h {
  color: #000;
  text-align: center;
  font-size: 2rem;
  font-style: normal;
  font-weight: 100;
  line-height: 1;
  text-transform: uppercase;
}

.par-percorso-sz5h {
  color: #000;
  font-family: "Work Sans";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5rem;
}

.square-wrap::before {
  content: "";
  width: 6rem;
  height: 6rem;
  background-color: #e4a535;
  border-radius: 1rem;
  position: absolute;
  top: 0.5rem;
  right: -0.5rem;
  rotate: -10deg;
}

.square-wrap {
  position: relative;
}

.cnt-left-sz5h {
  position: relative;
  width: 62rem;
  height: 100%;
}

.img-left-sz5h {
  position: absolute;
  width: 60rem;
  left: 0;
  bottom: -5rem;
  right: 0;
}

.bg-pin {
  position: absolute;
  left: 0;
  right: 0;
  top: 0rem;
}

.contenitore-articoli-h {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: var(--mxw-section);
  margin: 5rem auto;
}

.titolo-articoli-h {
  text-align: center;
  color: #898989;
}

.titolo-articoli-h span {
  color: #e20d1a;
  font-family: "Big Shoulders", sans-serif;
  font-size: inherit;
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
}

.titolo-dell-articolo {
  color: #666;
  font-size: 2rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
  font-family: "Big Shoulders", sans-serif;
  transition: all 0.4s ease-in-out;
  padding-top: 1.5rem !important;
  display: block;
  text-align: left;
}

.titolo-dell-articolo:hover {
  color: #e20d1a;
  transition: all 0.4s ease-in-out;
}

.contenuto-dell-articolo {
  color: #363636;
  font-family: "Work Sans";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  transition: all 0.4s ease-in-out;
}

.contenuto-dell-articolo:hover {
  color: #e20d1a;
  transition: all 0.4s ease-in-out;
}

.red-bar-article {
  width: 19%;
  height: 0.25rem;
  background-color: #e20d1a;
  margin: 1rem 0;
}

.contenitore-immagine-articolo {
  overflow: hidden;
}

.contenitore-immagine-articolo a img {
  transform: scale(1);
  transition: all 0.4s ease-in-out;
  will-change: transform;
}

.contenitore-immagine-articolo:hover a img {
  transform: scale(1.05);
  transition: all 0.4s ease-in-out;
}

.btn-outline-secondary svg {
  display: block;
}

.btn-outline-secondary .line {
  stroke: #fff;
  stroke-width: 8;
  stroke-linecap: round;
  transition: all 0.4s ease-in-out;
}

#scomparsa:not(.transparent-header) .btn-outline-secondary .line {
  stroke: #000;
  stroke-width: 8;
  stroke-linecap: round;
  transition: all 0.4s ease-in-out;
}

.btn-outline-secondary:hover .middle {
  transform: translateX(8px);
  transition: all 0.4s ease-in-out;
}

.transparent-header {
  --bs-bg-opacity: 1;
  background-color: transparent;
  transition: all 0.4s ease-in-out;
}

.white-header {
  --bs-bg-opacity: 1;
  background-color: #fff;
  box-shadow: 0px 0px 20px 0px #0000000f;
  transition: all 0.4s ease-in-out;
}

.btn-outline-secondary {
  --bs-btn-color: #fff !important;
  --bs-btn-hover-color: #e20d1a !important;
  --bs-btn-hover-bg: transform !important;
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: transparent !important;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff !important;
  --bs-btn-disabled-bg: transparent;
  border: none !important;
  --bs-gradient: none;
  transition: all 0.4s ease-in-out !important;
}

.logo-desktop {
  width: 12rem;
  height: 4rem;
  background-image: url(../img/logo/logo_white.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.4s ease-in-out;
}

.logo-mobile {
  width: 12rem;
  height: 4rem;
  background-image: url(../img/logo/logo_white.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.4s ease-in-out;
}

#scomparsa:not(.transparent-header) .logo-desktop {
  width: 12rem;
  height: 4rem;
  background-image: url(../img/logo/logo_color.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.4s ease-in-out;
}

#scomparsa:not(.transparent-header) .logo-mobile {
  width: 12rem;
  height: 4rem;
  background-image: url(../img/logo/logo_color.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.4s ease-in-out;
}

.social-header {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-right: auto !important;
}

.header-actions.d-flex.align-items-center {
  margin-left: auto !important;
}

.icon-head {
  color: #fff;
  transition: all 0.4s ease-in-out;
}

#scomparsa:not(.transparent-header) .icon-head {
  color: #000;
  transition: all 0.4s ease-in-out;
}

.icon-head:hover {
  color: #e20d1a !important;
  transition: all 0.4s ease-in-out;
}

.header-container {
  width: 100rem;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  margin: 0 auto !important;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-items: center;
  padding: 0 1rem;
}

div#offcanvas-navbar {
  width: 100vw;
  height: 100vh;
}

.titolo-campo-general {
  color: #000;
  font-family: "Work Sans";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  margin-bottom: 0.25rem;
}

.container-campi {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: stretch;
  gap: 1rem;
  width: 100%;
  margin-bottom: 1rem;
}

.campo-form {
  border: 1px solid #ccc;
  background: #fff;
  width: 100%;
  padding: 0.5rem;
  color: #000;
  font-size: 0.875rem;
  transition: all 0.4s ease-in-out;
}

.text-area-form {
  border: 1px solid #ccc;
  background: #fff;
  width: 100%;
  padding: 0.5rem;
  color: #000;
  font-size: 0.875rem;
  height: 10rem;
  transition: all 0.4s ease-in-out;
}

.campo-form:focus,
.text-area-form:focus {
  outline: none;
  border-color: #e20d1a;
  box-shadow: 0 0 20px 1px #e20d1a0a;
  transition: all 0.4s ease-in-out;
}

.wpcf7-not-valid-tip {
  color: #e20d1a !important;
  font-size: 0.8rem !important;
}

.offcanvas-body {
  align-content: center;
  justify-content: center;
  align-items: center;
  width: 100vw;
  gap: 10rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-items: center;
}

.form-general-cnt {
  box-shadow: 0px 0px 20px 0px #00000024;
  padding: 2rem;
  width: 30rem;
  background-color: #fff;
}

.sezione-acceptance-form {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  align-items: center;
}

.container-acceptance-form {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

span.wpcf7-spinner {
  display: none !important;
}

.bottone-form {
  color: #fff;
  text-align: center;
  font-family: "Work Sans";
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-transform: uppercase;
  background-color: #e20d1a;
  border: 1px solid #e20d1a;
  padding: 0.75rem 1.75rem;
  transition: all 0.4s ease-in-out;
}

.bottone-form:hover {
  color: #e20d1a;
  background-color: transparent;
  border: 1px solid #e20d1a;
  transition: all 0.4s ease-in-out;
}

div#offcanvas-navbar {
  background-image: url(../img/bg_menu.svg);
  background-position: left;
  background-repeat: no-repeat;
  background-size: contain;
  background-color: #ffffffd4;
  backdrop-filter: blur(5px);
}

span.h5.offcanvas-title {
  opacity: 0;
}

.nav-link {
  font-size: calc(6vmin + 1rem) !important;
  color: #363636 !important;
  font-style: normal;
  font-weight: 600 !important;
  line-height: 1.2;
  text-transform: uppercase;
  font-family: "Big Shoulders", sans-serif;
  transition: all 0.4s ease-in-out;
  text-align: left;
}

.nav-link.active {
  color: #e20d1a !important;
  transition: all 0.4s ease-in-out;
}

.nav-link:hover {
  color: #e20d1a !important;
  transition: all 0.4s ease-in-out;
}

.form-canvas {
  margin-left: auto !important;
}

.cnt-page-canvas {
  margin-right: auto !important;
}

a.btn.btn-primary.shadow.top-button.position-fixed.zi-1020.visible {
  display: none !important;
}

.offcanvas {
  transform: none !important;
  --bs-offcanvas-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out !important;
  opacity: 0;
}
.offcanvas.show,
.offcanvas.showing {
  opacity: 1;
}
.offcanvas.hiding {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none !important;
  }
}

button.btn-close.text-reset {
  transition: all 0.4s ease-in-out !important;
}

.sz-introp {
  height: 70vh;
  overflow: hidden;
}

.immagine-slider-intro-p {
  width: 100%;
  height: 70vh;
  object-fit: cover;
  object-position: center;
}

.cnt-txt-szip {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

.top-cnt-szip {
  position: relative;
  height: 100%;
}

.top-cnt-szip::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background-color: #00000066;
}

.section-grid-percorsi-p {
  max-width: 100rem;
  margin: 5rem auto !important;
}

.cnt-gridp {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(7, 1fr);
  gap: 8px;
  max-height: 90vh;
}

.pdiv1 {
  grid-column: span 2 / span 2;
  grid-row: span 5 / span 5;
  --bg-color: #f3920d;
}

.pdiv2 {
  grid-column: span 2 / span 2;
  grid-row: span 5 / span 5;
  grid-column-start: 3;
  --bg-color: #b00d1a;
}

.pdiv3 {
  grid-column: span 2 / span 2;
  grid-row: span 5 / span 5;
  grid-column-start: 5;
  --bg-color: #195da8;
}

.pdiv4 {
  grid-column: span 3 / span 3;
  grid-row: span 2 / span 2;
  grid-row-start: 6;
  --bg-color: #73256d;
}

.pdiv5 {
  grid-column: span 3 / span 3;
  grid-row: span 2 / span 2;
  grid-column-start: 4;
  grid-row-start: 6;
  --bg-color: #007800;
}

.cnt-gridp > a {
  position: relative;
  overflow: hidden;
}

.cnt-gridp > a::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--bg-color);
  opacity: 0.6;
  z-index: 1;
  transition: opacity 0.4s ease-in-out;
}

.cnt-gridp > a:hover::before {
  opacity: 0;
}

.bg-img-percorsop {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.4s ease-in-out;
  will-change: transform;
}

.cnt-gridp > a:hover .bg-img-percorsop {
  transform: scale(1.05);
}

.title-grid-itemp {
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  width: calc(100% - 4rem);
  z-index: 2;
  color: #fff;
  text-align: left;
}

@media (max-width: 992px) {
  .cnt-gridp {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    max-height: none;
  }

  .pdiv1,
  .pdiv2,
  .pdiv3,
  .pdiv4,
  .pdiv5 {
    grid-column: span 1 / span 1;
    grid-row: auto;
    grid-column-start: auto;
    grid-row-start: auto;
  }
}

@media (max-width: 560px) {
  .cnt-gridp {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

button.btn.btn-outline-secondary.ms-1.ms-md-2 {
  padding: 0 !important;
}

.cnt-title-szpp {
  text-align: center;
  max-width: 65rem;
  margin: 0 auto !important;
  margin-bottom: 3rem !important;
}

.offcanvas-backdrop.fade.show {
  display: none !important;
}

.section-faqp {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: start;
  margin-bottom: 5rem;
}

.section-faqp .img-left-faq {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: right;
}

.cnt-left-faq {
  height: 100%;
}

.section-faqp .cnt-faq-title {
  margin-bottom: 1.25rem;
}

.section-faqp .par-faq {
  color: #363636;
  margin: 0 0 1rem 0;
}

.section-faqp .faq-accordion {
  display: grid;
  gap: 10px;
}
.section-faqp .faqp-item {
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.07);
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.section-faqp .faqp-trigger {
  width: 100%;
  text-align: left;
  padding: 1.5rem;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #000;
  font-weight: 700;
}

.section-faqp .faqp-trigger:focus-visible {
  outline: 2px solid #e20d1a;
  outline-offset: 2px;
  border-radius: 12px;
}

.section-faqp .faqp-icon {
  margin-left: auto;
  width: 22px;
  height: 22px;
  position: relative;
}
.section-faqp .faqp-icon::before,
.section-faqp .faqp-icon::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 18px;
  height: 2px;
  background: #e20d1a;
  transform: translate(-50%, -50%);
  transition: transform 0.25s ease;
  border-radius: 2px;
}
.section-faqp .faqp-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.section-faqp .faqp-trigger[aria-expanded="true"] .faqp-icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.section-faqp .faqp-panel {
  grid-template-rows: 0fr;
  display: grid;
  transition:
    grid-template-rows 0.32s ease,
    opacity 0.32s ease;
  opacity: 0;
}
.section-faqp .faqp-panel[data-open="true"] {
  grid-template-rows: 1fr;
  opacity: 1;
}
.section-faqp .faqp-a {
  overflow: hidden;
  padding: 0 18px 18px 18px;
  color: #363636;
}
.section-faqp .faqp-a p {
  margin: 0.5rem 0;
}

@media (max-width: 992px) {
  .section-faqp {
    grid-template-columns: 1fr;
  }
  .section-faqp .cnt-left-faq {
    order: 2;
  }
  .section-faqp .container-right-faq {
    order: 1;
  }
}

.container-right-faq {
  max-width: 45rem;
  margin: 0 auto !important;
}

.faqp-heading {
  margin: 0;
}

.faqp-q {
  font-weight: 400;
  font-size: 1.1rem;
}

.section-faqp .faqp-a p {
  margin: 0.5rem 0;
  font-size: 1rem;
}

:root {
  --brand-dark: #363636;
  --brand-red: #e20d1a;
  --brand-white: #fff;
  --brand-black: #000;
  --shadow: 0 1rem 2rem rgba(0, 0, 0, 0.1);
}

.container {
  max-width: 73.75rem;
  margin: 0 auto;
  padding: 0 1rem;
}

.arch-cat-mock .hero-slab {
  height: 70vh;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
}

.arch-cat-mock .hero-slab::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--accent);
  opacity: 0.5;
}

.arch-cat-mock .hero-in {
  position: relative;
  z-index: 1;
  max-width: 73.75rem;
  margin: 0 auto;
  padding: 4rem 1rem 3rem 1rem;
  color: var(--brand-white);
}

.arch-cat-mock .hero-title {
  margin: 0;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-size: clamp(2rem, 5vw, 5rem);
  color: var(--brand-white);
}

.arch-cat-mock .hero-sub {
  max-width: 60ch;
  opacity: 0.95;
  color: var(--brand-white);
}

.grid-wrap {
  padding: 2.2rem 0 1.2rem;
}

.grid-2col {
  gap: 1.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.mk-card {
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow);
  border: none;
}

.mk-media {
  display: block;
  position: relative;
}

.mk-media::before {
  content: "";
  display: block;
  padding-top: 140%;
}

.mk-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  will-change: transform;
  transform: scale(1);
  transition: transform 0.4s ease-in-out;
}

article.mk-card:hover .mk-media img {
  transform: scale(1.05);
  transition: transform 0.4s ease-in-out;
}

article.mk-card:hover .mk-media .mk-tint {
  opacity: 0.6 !important;
  transition: all 0.4s ease-in-out;
}

.mk-tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    var(--accent) 100%
  );
  opacity: 1 !important;
  transition: all 0.4s ease-in-out;
}

.mk-grad {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 40%,
    rgba(0, 0, 0, 0.55) 100%
  );
}

.mk-card.tone-dark .mk-tint {
  opacity: 0.25;
}

.mk-card.tone-strong .mk-tint {
  opacity: 0.6;
}

.mk-text {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.25rem;
  color: var(--brand-white);
  text-align: left;
}

.mk-title {
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.1;
  letter-spacing: 0.02em;
  font-size: 1.5rem;
  color: var(--brand-white);
}

.mk-lead {
  margin: 0rem 0 0.8rem;
  color: var(--brand-white);
  font-size: 1rem;
}

.mk-addr {
  margin: 0;
  color: var(--brand-white);
  font-size: 0.875rem;
}

.mk-meta {
  margin: 0;
  opacity: 0.95;
  color: var(--brand-white);
  font-size: 0.875rem;
}

.mk-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 3;
  background: var(--brand-white);
  color: var(--brand-black);
  padding: 0.4rem 0.9rem;
  font-weight: 800;
  font-size: 0.9rem;
}

.pagination {
  padding: 1.2rem 0 2rem;
  text-align: center;
}

.pagination .page-numbers {
  display: inline-block;
  padding: 0.6rem 1rem;
  margin: 0 0.15rem;
  border: 1px solid #eee;
  color: var(--brand-white);
  background: var(--brand-dark);
}

.pagination .current,
.pagination a:hover {
  background: var(--accent);
  color: var(--brand-white);
  border-color: var(--accent);
}

@media (max-width: 64rem) {
  /* 1024px */
  .grid-2col {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  .mk-media::before {
    padding-top: 120%;
  }
}

section.grid-wrap {
  max-width: 100rem;
  margin: 0 auto;
}

@media all and (min-width: 1201.5px) {
  .grid-2col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    align-items: start;
  }

  .grid-2col > .mk-card:nth-child(3n + 2) {
    position: relative;
    top: 8rem;
  }

  .grid-2col > .mk-card:nth-child(3n) {
    position: relative;
    top: 4rem;
  }
}

@media all and (max-width: 1200.5px) {
  .grid-2col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    align-items: start;
  }

  .grid-2col > .mk-card:nth-child(2n) {
    position: relative;
    top: 4rem;
  }
}

@media all and (max-width: 650.5px) {
  .grid-2col {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
    align-items: start;
  }

  .grid-2col > .mk-card:nth-child(2n) {
    position: relative;
    top: unset;
  }
}

:root {
  --brand-dark: #363636;
  --brand-white: #fff;
  --shadow: 0 1rem 2rem rgba(0, 0, 0, 0.1);
}

.container {
  max-width: 73.75rem;
  margin: 0 auto;
  padding: 0 1rem;
}

.sp-hero {
  position: relative;
  height: 70vh;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
}

.sp-hero-in {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100rem;
  color: var(--brand-white);
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.sp-badge {
  display: inline-block;
  background: var(--accent);
  padding: 0.35rem 0.6rem;
  margin-bottom: 0.6rem;
  color: #fff;
  font-size: 0.875rem;
}
.sp-title {
  color: #fff;
}
.sp-lead {
  color: #fff;
  opacity: 0.95;
  margin: 0;
  max-width: 70rem;
  text-align: center;
}
.sp-hero-tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    var(--accent) 100%
  );
  opacity: 0.7;
}
.sp-hero-grad {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 40%,
    rgba(0, 0, 0, 0.55) 100%
  );
}

.sp-info {
  background: var(--bg, var(--accent));
  color: #fff;
}

.sp-info .container {
  padding: 1.5rem 1rem;
}

.info-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  align-items: center;
  justify-content: flex-start;
  align-content: center;
  flex-direction: row;
}

.info-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  line-height: 1.2;
  font-size: 1rem;
  color: #fff;
  position: relative;
}

.info-item i {
  font-size: 1rem;
  line-height: 1;
  flex-shrink: 0;
}

.info-item a {
  color: #ffffffbc;
  text-decoration: none;
  transition: color 0.4s ease;
}

.info-item a:hover {
  color: #fff;
}

.info-actions {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
}

.info-chip {
  display: inline-block;
  padding: 0.55rem 0.9rem;
  background: rgba(0, 0, 0, 0.22);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  transition: background 0.2s ease;
}

.info-chip:hover {
  background: rgba(0, 0, 0, 0.4);
}

@media (max-width: 64rem) {
  .info-bar {
    gap: 0.7rem 1.5rem;
    justify-content: flex-start;
  }

  .info-item:not(:last-of-type)::after {
    display: none;
  }

  .info-actions {
    margin-left: 0;
  }
}

@media (max-width: 40rem) {
  .info-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
  }

  .info-item {
    width: 100%;
    align-items: flex-start;
  }

  .info-item i {
    width: 1.25rem;
    text-align: center;
    margin-top: 0.1rem;
  }

  .info-item a,
  .info-item span {
    overflow-wrap: anywhere;
  }
}

.sp-main {
  padding: 2rem 0;
}
.sp-content {
  color: #000;
}
.sp-content p {
  line-height: 1.7;
}

.sp-map {
  padding: 1rem 0 2rem;
}
.sp-map-box {
  height: 50vh;
  width: 100%;
  box-shadow: var(--shadow);
  background: #eaeaea;
}

.sp-related {
  padding: 1rem 0 3rem;
}

.grid-3col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-items: start;
}
.grid-3col > .mk-card {
  position: relative;
  top: 0;
}

@media all and (min-width: 1025.5px) {
  .grid-3col > .mk-card:nth-child(3n + 2) {
    top: 5rem;
  }
  .grid-3col > .mk-card:nth-child(3n) {
    top: 3rem;
  }
}

@media all and (max-width: 1024.5px) {
  .grid-3col > .mk-card:nth-child(2n) {
    top: 3rem;
  }
}

@media all and (max-width: 640.5px) {
  .grid-3col > .mk-card:nth-child(2n) {
    top: unset;
  }
}

.mk-card {
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow);
  border: none;
}
.mk-media {
  position: relative;
  display: block;
}
.mk-media::before {
  content: "";
  display: block;
  padding-top: 140%;
}
.mk-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  will-change: transform;
  transform: scale(1);
  transition: transform 0.4s ease-in-out;
}
.mk-card:hover .mk-media img {
  transform: scale(1.05);
}
.mk-tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    var(--accent) 100%
  );
  opacity: 1;
  transition: all 0.4s ease-in-out;
}
.mk-card:hover .mk-tint {
  opacity: 0.6;
}
.mk-grad {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 40%,
    rgba(0, 0, 0, 0.55) 100%
  );
}
.mk-text {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.25rem;
  color: #fff;
  text-align: left;
}
.mk-title {
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.1;
  letter-spacing: 0.02em;
  font-size: 1.5rem;
  color: #fff;
}

@media (max-width: 64rem) {
  .sp-info-in {
    grid-template-columns: 1fr;
  }
  .grid-3col {
    grid-template-columns: 1fr 1fr;
  }
  .grid-3col > .mk-card {
    top: 0;
  }
}
@media (max-width: 40rem) {
  .grid-3col {
    grid-template-columns: 1fr;
  }
}

.mappa-contatti {
  width: 100%;
  height: 50vh;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.1);
}

.sp-rel-h {
  text-align: center;
  margin-bottom: 3rem;
}

.info-item span {
  color: #ffffffbc;
  text-decoration: none;
  transition: color 0.4s ease;
  font-size: 1rem;
}

.sp-gallery {
  margin: 3rem auto;
}
.sp-gallery-h {
  margin: 0 0 1.2rem 0;
  font-size: 2rem;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.gallery-item {
  display: block;
  overflow: hidden;
}
.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
  will-change: transform;
  transition: transform 0.4s ease-in-out;
}
.gallery-item:hover img {
  transform: scale(1.04);
}

@media (max-width: 64rem) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 40rem) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }
}

.mappa-archive {
  max-width: 100rem;
  width: 100%;
  height: 60vh;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.1);
  margin: 0 auto !important;
}

@media (max-width: 64rem) {
  .mappa-archive {
    height: 40vh;
  }
}

.arch-map {
  margin-bottom: 5rem !important;
}

.link-map-pin-title {
  color: #000;
  transition: all 0.4s ease-in-out;
}

.link-map-pin-title:hover {
  color: var(--accent);
  transition: all 0.4s ease-in-out;
}

.link-map-pin-address {
  color: #8d8d8d;
  font-size: 0.875rem;
  transition: all 0.4s ease-in-out;
}

.link-map-pin-address:hover {
  color: var(--accent);
  transition: all 0.4s ease-in-out;
}

:root {
  --brand-dark: #363636;
  --brand-white: #fff;
  --shadow: 0 1rem 2rem rgba(0, 0, 0, 0.1);
}

.events-arch .container {
  max-width: 100rem;
  margin: 5rem auto 2rem auto;
  padding: 0 1rem;
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  gap: 5rem;
}

.ev-hero {
  position: relative;
  height: 70vh;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

.ev-hero-in {
  position: relative;
  z-index: 2;
  color: #fff;
  padding: 3rem 1rem 2.2rem;
}
.ev-hero-title {
  margin: 0 0 0.4rem;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.ev-hero-sub {
  max-width: 60ch;
  opacity: 0.95;
}
.ev-hero-tint {
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0.35;
}
.ev-hero-grad {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 40%,
    rgba(0, 0, 0, 0.55) 100%
  );
}

.ev-filters {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  background: #fff;
  border-radius: 999px;
  padding: 0.5rem 0.75rem;
  max-width: 1000px;
  margin: -2rem auto 3rem auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.ev-filters .filter-label {
  font-size: 0.875rem;
  font-weight: 500;
  margin-right: 0.5rem;
  white-space: nowrap;
  color: #333;
}

.ev-filters select,
.ev-filters input[type="text"],
.ev-filters input[type="search"],
.ev-filters input[type="date"] {
  border: none;
  outline: none;
  font-size: 0.95rem;
  padding: 0.6rem 1rem;
  background: transparent;
  appearance: none;
  min-width: 140px;
}

.ev-filters select {
  padding-right: 2rem;
  background: transparent
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 320 512'><path fill='%23333' d='M31.3 192h257.3c28.4 0 42.7 34.5 22.6 54.6l-128.6 128c-12.5 12.5-32.8 12.5-45.3 0l-128.6-128C-11.4 226.5 2.9 192 31.3 192z'/></svg>")
    no-repeat right 0.75rem center;
  background-size: 10px;
}

.ev-filters .filter-divider {
  width: 1px;
  height: 28px;
  background: #ddd;
  margin: 0 0.75rem;
}

.ev-filters button {
  background: #e20d1a;
  border: none;
  border-radius: 999px;
  padding: 0.65rem 1.5rem;
  font-size: 0.95rem;
  color: #fff;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  transition: background 0.2s ease;
}

.ev-filters button:hover {
  background: #b00d15;
}

.ev-filters button i {
  font-size: 0.9rem;
}

@media (max-width: 768px) {
  .ev-filters {
    flex-direction: column;
    border-radius: 1rem;
    padding: 1rem;
    gap: 0.75rem;
  }
  .ev-filters .filter-divider {
    display: none;
  }
}

.ev-grid-wrap {
  padding: 2.2rem 0 1.2rem;
}
.ev-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  width: 100%;
}

.ev-card {
  background: #fff;
  box-shadow: var(--shadow);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.ev-media {
  position: relative;
  display: block;
  min-height: 20rem;
  overflow: hidden;
}
.ev-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1);
  transition: transform 0.4s ease;
  will-change: transform;
}
.ev-card:hover .ev-media img {
  transform: scale(1.05);
}

.ev-card:hover .ev-media .ev-tint {
  opacity: 0.4;
  transition: all 0.4s ease-in-out;
}

.ev-tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 100%);
  opacity: 0.8;
  transition: all 0.4s ease-in-out;
}
.ev-date {
  position: absolute;
  left: 1rem;
  top: 50%;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  transform: translateY(-50%);
  align-content: center;
  justify-content: center;
  flex-wrap: nowrap;
}
.ev-day {
  font-size: clamp(1.8rem, 4vw, 5rem);
  font-weight: 400;
  color: #fff;
  line-height: 1;
}
.ev-mon {
  font-size: clamp(0.85rem, 2.4vw, 1.5rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #fff;
  line-height: 1;
}

.ev-body {
  padding: 1rem 1.1rem 1.2rem;
}
.ev-title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 700;
}
.ev-title a {
  color: #000;
  font-size: 1.5rem;
  font-family: "Big Shoulders", sans-serif;
  letter-spacing: 2px;
}
.ev-title a:hover {
  text-decoration: underline;
}
.ev-place {
  margin: 0 0 0.6rem;
  color: #444;
  font-size: 0.875rem;
}
.ev-place i {
  margin-right: 0.25rem;
}
.ev-excerpt {
  margin: 0;
  color: #555;
  font-size: 0.92rem;
  line-height: 1.5;
}

.pagination {
  text-align: center;
  padding: 1.2rem 0 2rem;
}
.pagination .page-numbers {
  display: inline-block;
  padding: 0.6rem 1rem;
  margin: 0 0.15rem;
  border: 1px solid #eee;
  background: #2f2f2f;
  color: #fff;
}
.pagination .current,
.pagination a:hover {
  background: var(--accent);
  border-color: var(--accent);
}

@media (max-width: 64rem) {
  .ev-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 40rem) {
  .ev-grid {
    grid-template-columns: 1fr;
  }
}

.ev-time {
  margin: 0.15rem 0 0.6rem;
  color: #444;
  font-size: 0.875rem;
}
.ev-time i {
  margin-right: 0.25rem;
}

.info-ev {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 2rem;
  flex-wrap: wrap;
}

.ev-searchbar {
  display: flex;
  align-items: center;
  gap: 0;
  background: #fff;
  border-radius: 999px;
  padding: 0 !important;
  padding-left: 0.65rem !important;
  max-width: 60rem;
  margin: 0;
  width: 100%;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.ev-searchbar .ev-select {
  border: none;
  outline: none;
  background: transparent;
  font-size: 0.95rem;
  padding: 0.6rem 1rem;
  max-width: 18rem;
  width: 100%;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 640 640'><path d='M297.4 470.6C309.9 483.1 330.2 483.1 342.7 470.6L534.7 278.6C547.2 266.1 547.2 245.8 534.7 233.3C522.2 220.8 501.9 220.8 489.4 233.3L320 402.7L150.6 233.4C138.1 220.9 117.8 220.9 105.3 233.4C92.8 245.9 92.8 266.2 105.3 278.7L297.3 470.7z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 12px;
  padding-right: 2rem;
}

.ev-searchbar .ev-divider {
  width: 1px;
  height: 28px;
  background: #e5e5e5;
  margin: 0 0.5rem;
}

.ev-searchbar input[type="search"] {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 0.95rem;
  border-bottom: 1px solid #999;
  padding: 0.6rem 0 0.2rem 0;
  margin: 0 1rem;
}

.ev-searchbar .ev-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1.5rem 3rem;
  border-radius: var(--radius);
  background: #e20d1a;
  color: #fff;
  border: 1px solid #e20d1a;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: all 0.4s ease-in-out;
  border-radius: 3rem;
}
.ev-searchbar .ev-submit:hover {
  filter: brightness(0.95);
}
.ev-searchbar .ev-submit i {
  font-size: 0.95rem;
}

.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 900px) {
  .ev-searchbar {
    border-radius: 1rem;
    padding: 1rem !important;
    gap: 0.75rem;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
  }

  .ev-searchbar .ev-divider {
    display: none;
  }
  .ev-searchbar .ev-select,
  .ev-searchbar input[type="search"] {
    width: 44%;
  }
  .ev-searchbar .ev-submit {
    width: 100%;
    justify-content: center;
  }
}

button.ev-submit span {
  color: #fff;
}

body.page-template-appuntamenti div#slider_immagini_intro {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.ev-section-title {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 1rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-align: center;
  margin-top: 5rem;
}

.ev-card.is-past {
  filter: grayscale(1) brightness(0.92);
  opacity: 0.9;
}

.ev-card.is-past .ev-media img {
  transform: none !important;
}

.ev-card.is-past .ev-tint {
  opacity: 0.35;
}

.ev-card.is-past .ev-title a {
  color: #222;
}

.ev-card.is-past .ev-badge {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  background: #666;
  color: #fff;
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ev-past .ev-card.hidden {
  display: none;
}

.ev-past .ev-more {
  margin: 1.25rem auto 0;
  display: flex;
  justify-content: center;
}

.ev-single .sp-hero {
  height: 70vh;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ev-single .sp-hero-tint {
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0.35;
}
.ev-single .sp-hero-grad {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 40%,
    rgba(0, 0, 0, 0.55) 100%
  );
}
.ev-single .sp-hero-in {
  position: relative;
  z-index: 2;
  color: #fff;
  max-width: 73.75rem;
  margin: 0 auto;
  padding: 4rem 1rem 3rem;
}
.ev-single .sp-title {
  margin: 0;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-size: clamp(2rem, 5vw, 3.5rem);
}
.ev-single .sp-lead {
  max-width: 60ch;
  opacity: 0.95;
}
.ev-single .sp-badge {
  display: inline-block;
  background: #fff;
  color: #000;
  padding: 0.35rem 0.7rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.ev-info {
  background: var(--bg, #e20d1a);
  color: #fff;
}
.ev-info .container {
  max-width: 100rem;
  margin: 0 auto;
  padding: 1rem;
}
.ev-info .info-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  margin-right: auto;
}
.ev-info .info-item {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
}
.ev-info .info-item a,
.ev-info .info-item span {
  color: #fff;
}
.ev-info .info-actions {
  margin-left: auto;
}
.ev-info .info-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1rem;
  border: 1px solid #fff;
  border-radius: 999px;
  color: #fff;
}

.ev-cal.container {
  max-width: 100rem;
  margin: 3rem auto;
  padding: 0 1rem;
}
.ev-cal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.25rem;
}
.ev-cal-legend {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
  color: #444;
}
.ev-cal-legend .is-muted {
  opacity: 0.75;
}

.ev-chip.ghost {
  background: transparent;
  color: #000;
  border: 1px solid #ddd;
  border-radius: 999px;
  padding: 0.45rem 0.9rem;
  font-weight: 700;
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  cursor: pointer;
}
.ev-single .ev-chip.ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.5);
}
.ev-single .ev-chip.ghost:hover {
  background: rgba(255, 255, 255, 0.08);
}

.ev-cal-month {
  background: #fff;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.07);
  padding: 1rem;
  border: 1px solid #eee;
  margin-bottom: 1.25rem;
}
.ev-cal-month-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0.25rem 0.5rem;
}
.ev-cal-month-head h3 {
  margin: 0;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.ev-cal-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.25rem;
  opacity: 0.7;
  margin-left: 0.1rem;
  margin-right: 0.1rem;
}
.ev-cal-weekdays span {
  font-size: 0.85rem;
  text-align: center;
}

.ev-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.25rem;
  margin-top: 0.35rem;
}
.ev-cal-cell {
  position: relative;
  min-height: 4.25rem;
  background: #fafafa;
  border: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0.4rem 0.45rem;
}
.ev-cal-cell .num {
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1;
}
.ev-cal-cell .times {
  margin-top: 0.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.ev-cal-cell .time {
  font-size: 0.75rem;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 0.4rem;
  padding: 0.1rem 0.35rem;
  color: #333;
}

.ev-cal-cell .pin {
  position: absolute;
  right: 0.35rem;
  top: 0.35rem;
  width: 14px;
  height: 18px;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
}
.pin {
  color: var(--accent);
}
.pin--future {
  color: var(--accent);
}
.pin--past {
  color: #9aa1a7;
}
.pin {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'><path fill='currentColor' d='M320 64C214 64 128 148.4 128 252.6C128 371.9 248.2 514.9 298.4 569.4C310.2 582.2 329.8 582.2 341.6 569.4C391.8 514.9 512 371.9 512 252.6C512 148.4 426 64 320 64z'/></svg>");
}

.ev-cal-cell.has-future {
  background: #fffbe9;
  border-color: #ffecd2;
}
.ev-cal-cell.is-past-only {
  filter: grayscale(1) brightness(0.98);
  opacity: 0.9;
}
.ev-cal-cell.is-empty {
  background: transparent;
  border: none;
}

@media (max-width: 64rem) {
  .ev-cal-month {
    padding: 0.75rem;
  }
  .ev-cal-cell {
    min-height: 3.5rem;
  }
}
@media (max-width: 40rem) {
  .ev-cal-weekdays span {
    font-size: 0.8rem;
  }
  .ev-cal-cell .num {
    font-size: 0.9rem;
  }
}

.ev-mini-cal {
  --cal-bg: #ffffff;
  --cal-text: #222;
  --cal-muted: #7a7a7a;
  --cal-grid: #e9e9e9;
  --cal-fill: #f9f9f9;
  --accent: #e20d1a;
  background: var(--cal-bg);
  color: var(--cal-text);
  padding: 1rem 1.25rem;
  width: 58rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border: 1px solid #eee;
  min-width: max-content;
}

.ev-mini-cal .evm-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
.ev-mini-cal .evm-title {
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.ev-mini-cal .evm-nav {
  display: flex;
  gap: 0.5rem;
}
.ev-mini-cal .evm-btn {
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 999px;
  border: 1px solid var(--cal-grid);
  background: #fff;
  color: var(--cal-text);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ev-mini-cal .evm-btn:hover {
  background: #f3f3f3;
}
.ev-mini-cal .evm-btn[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  background: #fff;
}

.ev-mini-cal .evm-week {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.25rem;
  margin: 0.25rem 0 0.25rem;
  font-size: 0.75rem;
  color: var(--cal-muted);
  text-transform: uppercase;
  text-align: center;
}

.ev-mini-cal .evm-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.25rem;
}

.ev-mini-cal .cell {
  position: relative;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--cal-grid);
  background: var(--cal-fill);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem;
  align-content: center;
}
.ev-mini-cal .cell.is-out {
  background: #fff;
  border-style: dashed;
  color: #b1b1b1;
}
.ev-mini-cal .num {
  font-size: 0.9rem;
  opacity: 0.95;
  position: relative;
  z-index: 1;
}

.ev-mini-cal .dot {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}
.ev-mini-cal .dot.future {
  background: #e20d1a;
  border: none;
}
.ev-mini-cal .dot.past {
  background: #fff;
  border: 2px solid #c9c9c9;
  box-shadow: none;
}

.ev-mini-cal .today {
  outline: 2px solid color-mix(in srgb, #e20d1a 32%, transparent);
  outline-offset: -2px;
}

.ev-mini-cal .evm-legend {
  display: flex;
  gap: 1.25rem;
  align-items: center;
  margin-top: 0.75rem;
  font-size: 0.9rem;
}
.ev-mini-cal .legend-dot {
  display: inline-block;
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
  margin-right: 0.45rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}
.ev-mini-cal .legend-dot.future {
  background: #e20d1a;
}
.ev-mini-cal .legend-dot.past {
  background: #fff;
  border: 2px solid #c9c9c9;
  box-shadow: none;
}
.ev-mini-cal .muted {
  color: #888;
}

.cell.has-future .num {
  color: #fff;
}

section.ev-grid-wrap {
  max-width: 100rem;
  margin: 0 auto !important;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}

.ev-hero-in {
  max-width: 100rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  gap: 5rem;
  margin: 0 auto;
  margin-bottom: 5rem;
}

body.page-template-news .container-titolo-articoli {
  height: 70vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

body.page-template-news .container-titolo-articoli::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: #00000054;
}

body.page-template-news .titolo-articoli-h {
  position: relative;
}

.news-hero {
  width: 100%;
  height: 50vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.news-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #00000054;
}
.news-hero .text-center {
  position: relative;
  color: #fff;
}
.news-hero h1 {
  margin: 0;
}

.news-body {
  max-width: 100rem;
  margin: 2.5rem auto;
  padding: 0 1rem;
}
.news-body .meta {
  font-size: 0.95rem;
  opacity: 0.8;
  margin-bottom: 1rem;
}
.news-content img {
  max-width: 100%;
  height: auto;
}

.related-news {
  max-width: 100rem;
  margin: 0 auto !important;
  padding: 0 1rem;
}

.related-news h4 {
  text-align: center;
}

.bg-footer {
  --bs-bg-opacity: 1;
  background-color: #195da8;
}

.section-footer {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: flex-start;
}

.bootscore-footer .container .row > div {
  display: flex;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: flex-start;
}

.foot-link {
  color: #fff;
  line-height: 1.875;
  transition: all 0.4s ease-in-out;
}

.foot-link:hover {
  color: #e4a535;
  transition: all 0.4s ease-in-out;
}

h2.widget-title.h5 {
  color: #fff;
}

.par-foot {
  color: #fff;
  margin-top: 2rem;
  font-weight: 400;
}

.social-footer {
  width: 3rem;
  height: 3rem;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  border-radius: 100%;
  font-size: 1rem;
  color: #1a5da8;
  border: 1px solid #fff;
  transition: all 0.4s ease-in-out;
}

.social-footer:hover {
  background-color: #1a5da8;
  color: #fff;
  border: 1px solid #fff;
  transition: all 0.4s ease-in-out;
}

.social-section-footer {
  display: flex;
  flex-direction: row;
  align-content: center;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.social-icons-foot-cnt div .widget-title {
  text-align: center;
}

.container.bottom-footer {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  align-items: center;
}

.bootscore-copyright {
  color: #fff;
}

span.cr-symbol {
  color: #fff;
  font-size: 0.875rem;
}

.pixelfarm-link {
  font-size: 0.875rem;
  color: #fff;
  transition: all 0.4s ease-in-out;
}

.pixelfarm-link:hover {
  color: #e20d1a;
  transition: all 0.4s ease-in-out;
}

.szisc {
  height: 70vh;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.immagine-slider-intro-sc {
  height: 70vh;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

.cnt-txt-szisc {
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.szisc::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: #00000054;
  z-index: 2;
}

.cnt-grid-sz3sc {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(6, 1fr);
  gap: 2rem;
  height: 100vh;
  margin: 5rem 0;
}

.cnt-grid-sz3sc .div1 {
  grid-column: span 3 / span 3;
  grid-row: span 3 / span 3;
}

.cnt-grid-sz3sc .div2 {
  grid-column: span 2 / span 2;
  grid-row: span 3 / span 3;
  grid-column-start: 4;
}

.cnt-grid-sz3sc .div3 {
  grid-column: span 2 / span 2;
  grid-row: span 3 / span 3;
  grid-row-start: 4;
}

.cnt-grid-sz3sc .div4 {
  grid-column: span 3 / span 3;
  grid-row: span 3 / span 3;
  grid-column-start: 3;
  grid-row-start: 4;
}

.cnt-grid-sz3sc > div {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-content: center;
  align-items: flex-end;
  transition: all 0.4s ease-in-out;
}

.bg-img-percorso-sz3sc {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}

.cnt-grid-sz3sc > div::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background-color: #00000087;
  transition: all 0.4s ease-in-out;
}

.title-gridsz3sc-item {
  position: relative;
  z-index: 3;
  padding: 3rem;
  transition: all 0.4s ease-in-out;
}

.title-gridsz3sc-item h6 {
  color: #fff;
}

.par-sz3sc {
  color: #fff;
  font-size: 1rem;
}

.periodo-sz3sc {
  position: absolute;
  top: 3rem;
  left: 3rem;
  z-index: 3;
  color: #fff;
}

.cnt-grid-sz3sc > div:hover::before {
  background-color: rgba(0, 0, 0, 0.65);
  transition: all 0.4s ease-in-out;
}
.cnt-grid-sz3sc > div:hover .title-gridsz3sc-item {
  transform: translateY(-5px);
  transition: transform 0.4s ease-in-out;
}

@media (max-width: 992px) {
  .cnt-grid-sz3sc {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .cnt-grid-sz3sc > div {
    min-height: 300px;
    max-width: 45rem;
  }

  .cnt-grid-sz3sc > div:nth-child(even) {
    margin-left: auto !important;
  }
}

body.single-percorsi .sp-related {
  margin-bottom: 5rem !important;
}

.container {
  width: min(72.5rem, 92vw);
  margin-inline: auto;
}

.srch-hero {
  padding: 5rem 1rem !important;
  background: #fff;
  padding-bottom: 1rem !important;
}
.srch-hero h1 {
  font: 800 clamp(1.5rem, 3.2vw, 2.25rem) / 1.1 system-ui;
  margin: 0 0 0.375rem;
}
.srch-hero .meta {
  color: #666;
  margin: 0 0 0.875rem;
}
.srch-refine {
  display: flex;
  gap: 0.625rem;
}
.srch-refine input {
  flex: 1;
  padding: 0.75rem 0.875rem;
  border: 0.0625rem solid #e6e6e6;
  border-radius: 0.625rem;
}
.srch-refine button {
  padding: 0.75rem 1.125rem;
  border: 0;
  border-radius: 999px;
  background: #e33434;
  color: #fff;
  font-weight: 700;
}

.srch-tabs {
  display: flex;
  gap: 0.5rem;
  padding: 0.75rem 0 1.375rem;
  align-items: center;
  justify-content: center;
  align-content: center;
}
.srch-tab {
  padding: 0.625rem 0.875rem;
  border-radius: 999px;
  border: 0.0625rem solid #e7e7e7;
  color: #111;
  text-decoration: none;
  background: #fff;
}
.srch-tab.is-active {
  background: #e33434;
  color: #fff;
  border-color: #e33434;
}

.srch-results {
  padding-bottom: clamp(1.5rem, 4vw, 3rem);
}
.srch-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.875rem;
}
@media (min-width: 56.25rem) {
  .srch-list {
    grid-template-columns: 1fr 1fr;
  }
}
.srch-card {
  display: flex;
  grid-template-columns: 10rem 1fr;
  gap: 1rem;
  background: #fff;
  border: 0.0625rem solid #eee;
  text-decoration: none;
  color: inherit;
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
}
.srch-card:hover {
  box-shadow: 0 0.75rem 1.75rem rgba(0, 0, 0, 0.1);
  transform: translateY(-0.125rem);
}

.srch-media {
  width: 100%;
  aspect-ratio: 16/10;
  background: #f3f3f3 center/cover no-repeat;
  background-image: var(--bg);
}
@media (max-width: 32.5rem) {
  .srch-card {
    grid-template-columns: 1fr;
  }
}

.srch-badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 400;
  color: #fff;
  background: #195da8;
  padding: 0.375rem 0.625rem;
  margin-bottom: 0.5rem;
}
.srch-title {
  font: 800 1.05rem/1.2 system-ui;
  margin: 0 0 0.375rem;
}
.srch-excerpt {
  color: #555;
  margin: 0 0 0.5rem;
}
.srch-meta {
  color: #888;
  font-size: 0.85rem;
  margin: 0;
}

mark.hl {
  background: linear-gradient(transparent 40%, #ffddc7 40%);
  padding: 0 0.1em;
}

.srch-empty {
  text-align: center;
  padding: 2.5rem 0 3.75rem;
}
.srch-empty h2 {
  margin: 0 0 0.5rem;
}
.srch-suggestions {
  list-style: none;
  padding: 0;
  margin: 0.875rem 0 0;
  display: flex;
  gap: 0.625rem;
  justify-content: center;
  flex-wrap: wrap;
}
.srch-suggestions a {
  padding: 0.5rem 0.75rem;
  border: 0.0625rem solid #eee;
  border-radius: 999px;
  text-decoration: none;
}

.srch-body {
  padding: 1rem;
}

.srch-pagination {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 5rem;
}

span.page-numbers.current {
  border: 0.0625rem solid #e20d1a;
  color: #e20d1a;
  padding: 0.35rem 0.75rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  text-align: center;
  transition: all 0.4s ease-in-out;
}

a.page-numbers {
  border: 0.0625rem solid #999;
  color: #999;
  padding: 0.35rem 0.75rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  text-align: center;
  font-size: 1.125rem;
  transition: all 0.4s ease-in-out;
}

a.page-numbers:hover {
  border: 0.0625rem solid #e20d1a;
  background-color: #e20d1a;
  color: #fff;
  transition: all 0.4s ease-in-out;
}

section.srch-hero .container {
  text-align: center;
}
.container {
  width: min(72.5rem, 92vw);
  margin-inline: auto;
}

.srch-hero {
  padding: 10rem 1rem !important;
  background: #fff;
  padding-bottom: 0 !important;
}
.srch-hero h1 {
  font: 800 clamp(1.5rem, 3.2vw, 2.25rem) / 1.1 system-ui;
  margin: 0 0 0.375rem;
}
.srch-hero .meta {
  color: #666;
  margin: 0 0 0.875rem;
}
.srch-refine {
  display: flex;
  gap: 0.625rem;
}
.srch-refine input {
  flex: 1;
  padding: 0.75rem 0.875rem;
  border: 0.0625rem solid #e6e6e6;
  border-radius: 0.625rem;
}
.srch-refine button {
  padding: 0.75rem 1.125rem;
  border: 0;
  border-radius: 999px;
  background: #e33434;
  color: #fff;
  font-weight: 700;
}

.srch-tabs {
  display: flex;
  gap: 0.5rem;
  padding: 0.75rem 0 1.375rem;
  align-items: center;
  justify-content: center;
  align-content: center;
  padding-bottom: 5rem;
}
.srch-tab {
  padding: 0.625rem 0.875rem;
  border-radius: 999px;
  border: 0.0625rem solid #e7e7e7;
  color: #111;
  text-decoration: none;
  background: #fff;
}
.srch-tab.is-active {
  background: #e33434;
  color: #fff;
  border-color: #e33434;
}

.srch-results {
  padding-bottom: clamp(1.5rem, 4vw, 3rem);
}
.srch-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.875rem;
}
@media (min-width: 56.25rem) {
  .srch-list {
    grid-template-columns: 1fr 1fr;
  }
}
.srch-card {
  display: flex;
  grid-template-columns: 10rem 1fr;
  gap: 1rem;
  background: #fff;
  border: 0.0625rem solid #eee;
  text-decoration: none;
  color: inherit;
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
}
.srch-card:hover {
  box-shadow: 0 0.75rem 1.75rem rgba(0, 0, 0, 0.1);
  transform: translateY(-0.125rem);
}

.srch-media {
  width: 100%;
  aspect-ratio: 16/10;
  background: #f3f3f3 center/cover no-repeat;
  background-image: var(--bg);
}
@media (max-width: 32.5rem) {
  .srch-card {
    grid-template-columns: 1fr;
  }
}

.srch-badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 400;
  color: #fff;
  background: #195da8;
  padding: 0.375rem 0.625rem;
  margin-bottom: 0.5rem;
}
.srch-title {
  font: 800 1.05rem/1.2 system-ui;
  margin: 0 0 0.375rem;
}
.srch-excerpt {
  color: #555;
  margin: 0 0 0.5rem;
}
.srch-meta {
  color: #888;
  font-size: 0.85rem;
  margin: 0;
}

mark.hl {
  background: linear-gradient(transparent 40%, #ffddc7 40%);
  padding: 0 0.1em;
}

.srch-empty {
  text-align: center;
  padding: 2.5rem 0 3.75rem;
}
.srch-empty h2 {
  margin: 0 0 0.5rem;
}
.srch-suggestions {
  list-style: none;
  padding: 0;
  margin: 0.875rem 0 0;
  display: flex;
  gap: 0.625rem;
  justify-content: center;
  flex-wrap: wrap;
}
.srch-suggestions a {
  padding: 0.5rem 0.75rem;
  border: 0.0625rem solid #eee;
  border-radius: 999px;
  text-decoration: none;
}

.srch-body {
  padding: 1rem;
}

.srch-pagination {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 5rem;
}

span.page-numbers.current {
  border: 0.0625rem solid #e20d1a;
  color: #ffffff;
  padding: 0.35rem 0.75rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  text-align: center;
  transition: all 0.4s ease-in-out;
}

a.page-numbers {
  border: 0.0625rem solid #999;
  color: #999;
  padding: 0.35rem 0.75rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  text-align: center;
  font-size: 1.125rem;
  transition: all 0.4s ease-in-out;
}

a.page-numbers:hover {
  border: 0.0625rem solid #e20d1a;
  background-color: #e20d1a;
  color: #fff;
  transition: all 0.4s ease-in-out;
}

section.srch-hero .container {
  text-align: center;
}

body.page-id-795 #content a,
body.page-id-3 #content a {
  color: #e20d1a;
  text-decoration: underline !important;
  transition: all 0.4s ease-in-out;
}

body.page-id-795 #content a:hover,
body.page-id-3 #content a:hover {
  color: #860810;
  transition: all 0.4s ease-in-out;
}

body.page-id-795 #content h2,
body.page-id-3 #content h2 {
  font-size: clamp(2rem, 2vw, 4rem) !important;
  padding-top: 2rem !important;
  color: #195da8;
}

body.page-id-795 #content h3,
body.page-id-3 #content h3 {
  font-size: clamp(1.5rem, 2vw, 2.25rem) !important;
  color: #195da8 !important;
}

/* 4K displays (3840px and up) */
@media (max-width: 3840px) {
}

/* 2K displays (2560px and up) */
@media (max-width: 2560px) {
}

/* Large desktops (1920px to 2559px) */
@media (max-width: 1920.5px) {
  .section1-h {
    /* padding: 5rem 0; */
  }
}

/* Ultra-wide desktop screens */
@media (max-width: 1800.5px) {
}

/* XX-Large desktops (1700px to 1800px) */
@media (max-width: 1700.5px) {
  .sezione-articoli-h {
    padding: 0 1rem !important;
  }

  .cnt-cont-right-tot-sz2h {
    max-width: 54rem;
    position: relative;
    left: -5rem;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: flex-start;
    gap: 3rem;
    height: 100%;
  }
}

@media (max-width: 1600.5px) {
  .par-sz2h {
    color: #fab53a;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
  }

  .par2-sz2h {
    color: #000;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
  }

  .grid-2col {
    padding: 0 1.5rem;
  }

  .mappa-archive {
    max-width: 95vw;
  }
}

/* XX-Large desktops (1500px to 1800px) */
@media (max-width: 1500.5px) {
}

/* Large desktops */
@media (max-width: 1400.5px) {
  .img-left-sz4h {
    max-width: 20rem;
  }

  .cnt-right-sz4h {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }

  .container-tot-left-sz1h {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: center;
    justify-content: flex-start;
    gap: 3rem;
  }

  .cnt-center-sz1h {
    padding: 0rem 1rem !important;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
    align-items: flex-start;
  }

  .title-sz1h {
    max-width: 58rem;
  }

  .par-szh1 {
    color: #363636;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5rem;
    max-width: 58rem;
  }

  .par2-szh1 {
    color: rgb(187 187 187);
    font-size: clamp(2rem, 3vmin, 2.8125rem);
    font-style: italic;
    font-weight: 300;
    line-height: 3rem;
    letter-spacing: -0.14063rem;
    margin-top: 5rem;
    width: fit-content;
    margin: 5rem auto !important;
  }

  .cnt-sx-sz1h {
    width: 100%;
    padding-right: 2rem;
  }

  .cnt-cont-right-tot-sz2h {
    max-width: 100%;
    padding: 3rem 1rem 0 1rem !important;
    left: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: flex-start;
    gap: 3rem;
    height: 100%;
  }
}

@media (max-width: 1300px) {
}

/* Laptops 1024px - 1199px */
@media (max-width: 1200px) {
  .sezione5-h {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    background-color: #fab53a;
    position: relative;
    margin: 5rem 0;
    padding: 5rem 1rem;
  }

  .img-left-sz5h {
    position: relative;
    width: 100vw;
    left: 50%;
    bottom: -5rem;
    right: 50%;
    transform: translateX(-50%);
  }

  form.search-form {
    --radius: 2rem;
    --gap: 1rem;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: var(--gap);
    align-items: center;
    width: 95vw;
    margin-inline: auto;
    background: #fff;
    border-radius: var(--radius);
  }

  .offcanvas-body {
    align-content: center;
    justify-content: center;
    align-items: center;
    width: 100vw;
    gap: 2rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-items: center;
  }
}

/* Large tablets in landscape */
@media (max-width: 1024.5px) {
  .bottom-cnt-szih {
    display: grid;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    height: auto;
    border-top: 4px solid #fff;
    overflow: hidden;
    grid-template-columns: repeat(2, 1fr);
    border-left: 4px solid #fff;
    border-right: 4px solid #fff;
  }

  .sz-introh {
    width: 100%;
    height: auto;
    position: relative;
  }

  .contenitore-articoli-h {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    max-width: var(--mxw-section);
    margin: 5rem auto;
  }
}

/* Medium tablets (portrait/landscape variations) */
@media (max-width: 991.5px) {
  form.search-form {
    --radius: 2rem;
    --gap: 1rem;
    display: flex;
    gap: var(--gap);
    align-items: center;
    width: calc(100% - 2rem);
    margin: 0 auto;
    background: #fff;
    border-radius: var(--radius);
    justify-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: row;
    align-content: center;
  }

  .search-select {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-right: 1rem;
    border-right: 1px solid #ddd;
    padding-left: 1rem;
    width: 48%;
  }

  .search-field {
    width: 46%;
    border: 0;
    border-bottom: 1px solid #999;
    padding: 0.9rem 0 0 0;
    background: transparent;
    font: inherit;
  }

  .events-arch .container {
    max-width: 100rem;
    margin: 0;
    margin-bottom: 5rem;
    padding: 1rem 1rem;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    gap: 5rem;
  }

  .ev-mini-cal {
    --cal-bg: #ffffff;
    --cal-text: #222;
    --cal-muted: #7a7a7a;
    --cal-grid: #e9e9e9;
    --cal-fill: #f9f9f9;
    --accent: #e20d1a;
    background: var(--cal-bg);
    color: var(--cal-text);
    padding: 1rem 1.25rem;
    max-width: 30rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    border: 1px solid #eee;
    min-width: max-content;
    width: 100%;
  }

  .offcanvas-body {
    justify-content: center;
    align-items: center;
    width: 100vw;
    gap: 4rem;
    display: flex;
    justify-items: center;
    flex-direction: column-reverse;
  }

  .form-canvas {
    margin-left: unset !important;
  }

  .cnt-page-canvas {
    margin-right: unset !important;
  }

  .nav-link {
    font-size: 11vmin !important;
  }
}

/* Small tablets */
@media (max-width: 875.5px) {
}
@media (max-width: 795.5px) {
}

/* Large phones (landscape mode) */
@media (max-width: 767.5px) {
  .cnt-grid-sz4h {
    grid-template-columns: 1fr;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 0.75rem;
  }

  .div1,
  .div2,
  .div3,
  .div4,
  .div5 {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 14rem;
  }

  .div3 {
    min-height: 18rem;
  }

  .percorsi-sz5h {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
    margin-top: 5rem;
    position: relative;
  }

  .bg-pin {
    display: none !important;
  }

  .cnt-right-link-sz2h {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 5rem;
  }

  .search-select {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-right: 1rem;
    border-right: none;
    padding-left: 0rem;
    width: 90%;
  }

  .search-field {
    width: 90%;
    border: 0;
    border-bottom: 1px solid #999;
    padding: 0.9rem 0 0 0;
    background: transparent;
    font: inherit;
  }

  .bootscore-footer .container .row > div {
    display: flex;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
  }

  .ev-searchbar .ev-select,
  .ev-searchbar input[type="search"] {
    width: 90%;
  }

  .ev-searchbar {
    border-radius: 1rem;
    padding: 1rem !important;
    gap: 0.75rem;
    flex-direction: column !important;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap !important;
  }

  select#ev-mese {
    margin-right: auto;
    margin-left: 1rem;
  }
}

/* Medium phones (portrait mode) */
@media (max-width: 650.5px) {
}

@media (max-width: 576px) {
}

@media (max-width: 500.5px) {
  .contenitore-articoli-h {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
    max-width: var(--mxw-section);
    margin: 5rem auto;
  }

  .titolo-dell-articolo {
    color: #666;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
    font-family: "Big Shoulders", sans-serif;
    transition: all 0.4s ease-in-out;
    padding-top: 1.5rem !important;
    display: block;
    text-align: left;
  }

  .bottom-cnt-szih {
    display: grid;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    height: auto;
    border-top: 4px solid #fff;
    overflow: hidden;
    grid-template-columns: repeat(1, 1fr);
  }

  .form-general-cnt {
    box-shadow: 0px 0px 20px 0px #00000024;
    padding: 2rem;
    width: 30rem;
    background-color: #fff;
    max-width: fit-content;
  }

  .social-header {
    display: none !important;
  }

  .header-container {
    width: 100rem;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    margin: 0 auto !important;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-items: center;
    padding: 0 1rem;
  }

  .logo-mobile {
    width: 10rem;
    height: 3rem;
  }

  #scomparsa:not(.transparent-header) .logo-mobile {
    width: 10rem;
    height: 3rem;
  }
}

/* Small phones */
@media (max-width: 480.5px) {
}

@media (max-width: 420.5px) {
}

/* Ultra-small devices (older phones, very small screens) */
@media (max-width: 400.5px) {
}
@media (max-width: 380.5px) {
}

a.link-descrizione-estesa {
  display: block;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

.side-info {
  display: block;
  position: fixed;
  top: 5rem;
  left: -2rem;
  bottom: 0;
  width: 100%;
  height: calc(100% - 5rem);
  max-width: 64rem;
  z-index: 100;
  background: #fff;
  overflow-y: auto;
  transform: translateX(-100%);
  transition: all 500ms ease;
  scrollbar-width: thin;
  scrollbar-color: #e20d1a #000000;
  box-shadow: 4px 0px 16px #00000099;
}

a.close-side-info-overlay {
  display: block;
  z-index: 50;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #00000066;
  cursor: pointer;
  transform: translateX(-100%);
  transition: all 500ms ease;
}

a.close-side-info {
  position: absolute;
  top: 2rem;
  right: 2rem;
  font-size: 2rem;
  font-weight: 300;
  color: #363636;
  line-height: 1;
  display: block;
  width: 2rem;
  text-align: center;
}

.side-info-content {
  padding: 4rem 2rem;
}

html.open-side-info {
  overflow-y: hidden !important;
}

html.open-side-info .side-info,
html.open-side-info a.close-side-info-overlay {
  left: 0;
  transform: translateX(0%);
}

@media all and (max-width: 500.5px) {
  .side-info {
    top: 4rem;
    height: calc(100% - 4rem);
  }
}

.centered {
  text-align: center;
}

section.poi-container {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
}

section.poi-container section.grid-wrap {
  width: 100%;
  order: 2;
}

section.poi-container .arch-map {
  width: 100%;
  margin-top: 2rem;
  order: 1;
}

section.sezione-index-poi {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  max-width: 100rem;
  margin: 2rem auto;
  padding: 0 2rem;
  justify-content: space-between;
}

section.sezione-index-poi header {
  width: 100%;
  margin-bottom: 1rem;
}

section.sezione-index-poi .poi-index-item {
  width: calc(33.333% - 0.5rem);
  margin: 0.25rem;
  position: relative;
}

section.sezione-index-poi .poi-index-item a figure {
  display: block;
  width: 100%;
  height: auto;
}

section.sezione-index-poi .poi-index-item a figure {
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: hidden;
  cursor: pointer;
}

section.sezione-index-poi .poi-index-item a:hover figure::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: #e20d1a33;
}

section.sezione-index-poi .poi-index-item a figure img {
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  transition: all 0.5s ease;
  transform: scale(1) rotate(0deg);
}

section.sezione-index-poi .poi-index-item a:hover figure img {
  transform: scale(1.25) rotate(3deg);
}

section.sezione-index-poi .poi-index-item a span {
  line-height: 1;
  margin: 0;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  text-transform: uppercase;
  padding: 0;
  display: block;
  text-transform: uppercase;
  font-size: 1.25rem;
  text-align: center;
  width: 100%;
  line-height: 1;
  color: #666;
  padding: 0.5rem 1rem;
}

section.sezione-index-poi .poi-index-item a:hover span {
  color: #fff;
  background: #e20d1a;
}

/* Taxonomy archive */

.hero-tax {
  display: block;
  width: 100%;
  position: relative;
  height: 50vh;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 4rem;
}

@media all and (min-width: 639.5px) {
  .hero-tax {
    background-attachment: fixed;
  }
}

.tax-description {
  margin-bottom: 4rem;
}

.hero-tax-title {
  display: flex;
  flex-flow: row wrap;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
}

.hero-tax-title > * {
  display: block;
  width: 100%;
  text-align: center;
  align-self: center;
}

.hero-tax figure {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 30%;
  overflow: hidden;
  z-index: 1;
}

.hero-tax figure img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.custom-tax-archive {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
}

.custom-tax-archive .grid-poi {
  order: 2;
  width: 100%;
  margin-bottom: 8rem;
}

.custom-tax-archive .arch-map {
  order: 1;
  width: 100%;
}

#sezione_eventi_home {
  background-position: top right;
  background-repeat: no-repeat;
  background-size: contain;
}

@media all and (max-width: 991.5px) {
  #sezione_eventi_home {
    background-image: none !important;
  }
}

#sezione_eventi_home .cnt-right-link-sz2h {
  padding-bottom: 2rem;
}

#sezione_eventi_home .cnt-left-sz2h {
  align-self: flex-end;
}

.container-slider-locandine {
  position: relative;
}

.container-slider-locandine .owl-nav .owl-prev,
.container-slider-locandine .owl-nav .owl-next {
  position: absolute;
  z-index: 10;
  width: 2rem;
  height: 2rem;
  background: #ffffff66 !important;
  font-size: 1.5rem !important;
  top: calc(50% - 1rem);
  line-height: 1 !important;
  color: #fff !important;
}

.container-slider-locandine .owl-nav .owl-prev span,
.container-slider-locandine .owl-nav .owl-next span {
  font-size: 2rem !important;
  color: #fff !important;
  line-height: 1;
  display: block;
  margin-top: -0.25rem;
}

.container-slider-locandine .owl-nav .owl-prev {
  left: 0;
}

.container-slider-locandine .owl-nav .owl-next {
  right: 0;
}

.video-descrizione {
  display: block;
  width: 100%;
  max-width: 64rem;
  margin: 2rem auto;
}

.video-responsive {
  display: block;
  width: 100%;
  position: relative;
  height: 0;
  padding-top: 56.25%;
}

.video-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.colonna-img-intro-descrizione {
  align-self: flex-end;
}

.colonna-img-intro-descrizione .img-right-sz1h {
  object-fit: contain;
}

@media all and (min-width: 992px) {
  .single-appuntamenti .sp-main.container .sp-content {
    width: 70%;
    align-self: flex-start;
  }

  .single-appuntamenti .sp-main.container .ev-mini-cal {
    width: 30%;
    align-self: flex-start;
  }
}

.entry-content-poi {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

section.arch-map.mappa-eventi {
  width: 100%;
  max-width: 100rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem;
  margin-bottom: 2rem !important;
  margin-top: 0;
}

.cnt-cat-szih {
  position: relative;
}

.cnt-bottomcat-szih {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: #fff;
  z-index: 100;
}

a.pulsante-toggle-info-map {
  display: block;
  width: 7rem;
  background: #e20d19;
  line-height: 1;
  padding: 0.25rem 1rem;
  color: #fff;
  text-transform: uppercase;
  font-size: 0.75rem;
  margin-top: 0.5rem;
  border-radius: 0.25rem;
  letter-spacing: 0;
  font-weight: 600;
}

.responsive-video .wp-video {
  position: relative;
  padding-top: 56.25%;
  height: 0;
  width: 100% !important;
  overflow: hidden;
}

.responsive-video .wp-video video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

.mappa-generale {
  padding: 0 1rem;
}

.legenda {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  max-width: 100rem;
  margin: 0 auto 1rem auto;
  justify-content: center;
}

.legenda > div {
  display: flex;
  flex-flow: row wrap;
  margin: 0.5rem;
}

.legenda > div > * {
  display: block;
  align-self: center;
}

.legenda > div > img {
  width: 1.25rem;
  height: auto;
  margin-right: 0.25rem;
}

.legenda > div > span {
  font-size: 0.875rem;
  font-weight: normal;
  letter-spacing: 0;
}

.audioguida-poi {
  display: flex;
  width: 100%;
  margin: 1rem 0;
  background: #f1f3f4;
  border-radius: 0.25rem;
  flex-flow: row wrap;
  justify-content: space-between;
}

.audioguida-poi > label {
  display: block;
  width: 5rem;
  align-self: center;
  font-size: 1rem;
  text-align: center;
}

.audioguida-poi > label > span {
  display: block;
  font-size: 1rem;
  width: 100%;
  text-align: center;
  font-family: "Big Shoulders", sans-serif;
  letter-spacing: 0.5px;
}

.audioguida-poi > audio,
.audioguida-poi > .wp-audio-shortcode {
  width: calc(100% - 5rem) !important;
  align-self: center;
}

@media all and (max-width: 399.5px) {
  .audioguida-poi > label > span {
    display: none;
  }
  .audioguida-poi > label {
    width: 2rem;
  }
  .audioguida-poi > audio {
    width: calc(100% - 2rem) !important;
  }
}

p.riassunto-pin {
  font-size: 0.75rem;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 0.5rem;
}

section.sp-related.container {
  margin-bottom: 8rem;
}

.scheda-punti table.tabella-scheda-percorso {
  width: 100%;
  font-size: 0.875rem;
  overflow-x: auto;
}

.scheda-punti table.tabella-scheda-percorso tbody tr td a {
  font-size: 0.875rem;
  color: #363636;
}

.scheda-punti table.tabella-scheda-percorso thead tr th {
  color: #fff;
  padding: 0.25rem;
}

.scheda-punti table.tabella-scheda-percorso tbody tr td {
  color: #363636;
  padding: 0.25rem;
}

.scheda-punti table.tabella-scheda-percorso tbody tr:nth-child(odd) {
  background-color: #fff;
}

.scheda-punti table.tabella-scheda-percorso tbody tr:nth-child(even) {
  background-color: #fafafa;
}

.mappa-generale.mappa-percorsi {
  margin: 4rem auto 2rem auto;
}

.mappa-generale.mappa-percorsi .arch-map {
  margin-bottom: 0 !important;
}

.elenco-percorsi {
  display: block;
  width: 100%;
  margin-top: 1rem;
}

.container-data-poi .elenco-percorsi {
  margin-top: 0;
  margin-bottom: 1rem;
}

.elenco-percorsi label {
  display: block;
  color: #fff;
  background: #e20d1a;
  font-size: 0.875rem;
  padding: 0.25rem 0.75rem;
  border-radius: 1rem;
  margin: 0.5rem;
  align-self: flex-start;
}

.content-elenco-percorsi {
  display: flex;
  flex-flow: row wrap;
  width: calc(100% + 1rem);
  margin-left: -0.5rem;
}

.content-elenco-percorsi a {
  display: block;
  font-size: 0.875rem;
  padding: 0.25rem 0.75rem;
  border-radius: 1rem;
  margin-bottom: 0.5rem;
  margin: 0.5rem;
  align-self: flex-start;
}

.content-elenco-percorsi a span {
  color: #fff;
  font-size: 0.875rem;
}

.separatore-content {
  font-size: 1.5rem;
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  margin-bottom: 1rem;
  line-height: 1;
  font-weight: 200;
  position: relative;
  padding-left: 2rem;
}

.separatore-content span {
  position: absolute;
  left: 0;
  width: 1.5rem;
  height: 0.25rem;
  bottom: 0;
}

.archive-grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.card-archivio {
  display: block;
  width: calc(33.333% - 1rem);
  padding: 0;
  background: #fff;
  transition: all 0.5s ease;
  margin: 0.5rem 0;
  border-radius: 0.5rem;
}

.card-archivio:hover {
  padding: 1rem;
  background: #f7f7f7;
}

.card-archivio figure {
  display: block;
  width: 100%;
}

.card-archivio figure a {
  display: block;
  width: 100%;
  position: relative;
  height: 0;
  padding-top: 56.25%;
}

.card-archivio figure a img {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
}

.card-archivio .card-body {
  margin-top: 1rem;
}

.card-archivio .blog-post-title {
  text-align: left;
}

.card-archivio .card-body .card-text,
.card-archivio .card-body .card-text .text-body {
  font-size: 0.875rem;
}

.ev-more-list {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-4px);
  transition:
    max-height 0.55s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 0.3s ease,
    transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ev-more-list.is-open {
  opacity: 1;
  transform: translateY(0);
  width: 100%;
}

.ev-more-list .ev-card {
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}
.ev-more-list.is-open .ev-card {
  opacity: 1;
  transform: none;
}
.ev-more-list.is-open .ev-card:nth-child(1) {
  transition-delay: 40ms;
}
.ev-more-list.is-open .ev-card:nth-child(2) {
  transition-delay: 80ms;
}
.ev-more-list.is-open .ev-card:nth-child(3) {
  transition-delay: 120ms;
}
.ev-more-list.is-open .ev-card:nth-child(4) {
  transition-delay: 160ms;
}
.ev-more-list.is-open .ev-card:nth-child(5) {
  transition-delay: 200ms;
}
.ev-more-list.is-open .ev-card:nth-child(6) {
  transition-delay: 240ms;
}

@media (prefers-reduced-motion: reduce) {
  .ev-more-list {
    transition: none;
  }
  .ev-more-list .ev-card {
    transition: none;
  }
}

@media all and (max-width: 1023.5px) {
  section.sezione-index-poi .poi-index-item a span {
    font-size: 1rem;
  }
}

@media all and (max-width: 991.5px) {
  .card-archivio {
    width: calc(50% - 1rem);
  }
}

@media all and (max-width: 767.5px) {
  section.sezione-index-poi .poi-index-item a span {
    font-size: 0.875rem;
  }
}

@media all and (max-width: 639.5px) {
  .cnt-title-sz4g {
    margin-bottom: 1rem;
  }
  .sezione4-h.row {
    margin-top: 2rem !important;
  }

  .sezione5-h {
    margin: 1.5rem 0 2rem 0;
  }

  .contenitore-articoli-h {
    margin: 1rem auto 2rem auto !important;
  }

  section.sezione-index-poi {
    justify-content: center;
    padding: 0 0.25rem;
    margin: 1rem auto;
  }

  section.sezione-index-poi .poi-index-item {
    width: calc(50% - 0.5rem);
    margin: 0.25rem;
    position: relative;
  }
  section.sezione-index-poi .poi-index-item a span {
    position: absolute;
    z-index: 10;
    bottom: 0;
    left: 0;
    right: 0;
    background: #ffffff;
    padding: 0.25rem;
    color: #8c8c8c;
    letter-spacing: 0;
    font-size: 0.75rem;
    font-weight: 500;
  }
  section.sezione-index-poi {
    justify-content: center;
    padding: 0 0.25rem;
  }

  section.sezione-index-poi header {
    margin-bottom: 1rem;
  }

  section.sezione-index-poi header .title-sz2h {
    margin-bottom: 0;
    font-size: 2rem;
    line-height: 1;
  }
  section.sezione-index-poi .poi-index-item a {
    display: block;
    position: relative;
  }
  .bottom-cnt-szih {
    grid-template-columns: repeat(2, 1fr);
    height: auto;
  }
  .cnt-topcat-szih .cnt-link-cat-szih {
    display: block;
    height: 0;
    padding-top: 100%;
    position: relative;
  }
  .immagine-catszih {
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center;
    object-fit: cover;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .par-cat-szih {
    font-size: 0.75rem;
    padding: 0.25rem;
    letter-spacing: 0;
  }

  .contenitore-dell-articolo {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    position: relative;
  }
  .contenitore-immagine-articolo {
    overflow: hidden;
    width: 8rem;
    position: absolute;
    left: 0;
    bottom: 0;
    top: 0;
    height: 100%;
  }
  .contenitore-testo-articolo {
    width: calc(100% - 8rem);
    margin-left: 8rem;
    padding-left: 1rem;
  }
  .contenitore-immagine-articolo a {
    display: block;
    width: 100%;
    position: relative;
    padding-top: 100%;
  }

  .contenitore-immagine-articolo a img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .contenitore-testo-articolo .contenuto-dell-articolo {
    font-size: 0.875rem;
    line-height: 1.3;
    display: block;
    text-align: left;
  }
  .contenitore-testo-articolo .titolo-dell-articolo {
    padding-top: 0 !important;
    font-size: 1.25rem;
    line-height: 1.2;
  }
  .red-bar-article {
    margin: 0.5rem 0;
  }
  .hero-tax {
    margin-bottom: 2rem;
  }
  .sp-rel-h {
    text-align: center;
    margin-bottom: 1rem;
  }

  .card-archivio {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    background: #f7f7f7;
    border-radius: 0.5rem;
  }

  .card-archivio figure {
    display: block;
    width: 8rem;
  }
  .card-archivio figure a {
    display: block;
    width: 100%;
    position: relative;
    padding-top: 100%;
    height: 0;
    overflow: hidden;
  }
  .card-archivio figure a img {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    object-fit: cover;
  }
  .card-archivio .card-body {
    margin-top: 0;
    width: calc(100% - 8rem);
    padding: 0.5rem;
    align-self: center;
  }
  .card-archivio .card-body .card-text,
  .card-archivio .card-body .card-text .text-body {
    font-size: 0.75rem;
  }
}

main.mappa-generale.mappa-percorsi.container.mappa-fullwidth {
  max-width: 100%;
  margin: 0 auto 2rem auto;
  padding: 0;
}

main.mappa-generale.mappa-percorsi.container.mappa-fullwidth .mappa-archive {
  width: 100%;
  max-width: 100%;
}

h1.title-map {
  display: block;
  width: 100%;
  text-align: center;
  margin: 1rem 0;
}

.gtranslate-menu-options a.glink {
  color: #363636;
  font-size: 0.875rem;
}

.gtranslate-menu-options a.glink.gt-current-lang {
  color: #e20d1a;
}

.gtranslate-menu-options {
  margin-right: 1rem;
  align-self: center;
}

.fixed-top.transparent-header
  .gtranslate-menu-options
  a.glink:not(.gt-current-lang) {
  color: #ffffff;
}

.banner-landing {
  display: block;
  width: 100%;
  position: relative;
  height: 12rem;
  overflow: hidden;
}

.banner-landing > img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media all and (max-width: 1023.5px) {
  .banner-landing {
    height: 8rem;
  }
}

@media all and (max-width: 639.5px) {
  .banner-landing {
    height: 6rem;
  }
}

.container {
  display: block;
  width: 100%;
  max-width: 100rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

.grid {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
}

.justify-content {
  justify-content: space-between;
}

h2.nome-mese {
  display: block;
  width: 100%;
  font-size: 3rem;
}

.tabella-mese:not(:last-child) {
  margin-bottom: 2rem;
}

.tabella-giorno {
  display: block;
  width: calc(50% - 0.5rem);
  margin-bottom: 1rem;
  padding: 0;
  align-self: flex-start;
  background: #ffffff;
  border-radius: 0.25rem;
  filter: drop-shadow(2px 4px 8px rgba(0, 0, 0, 0.75));
  overflow: hidden;
}

h4.titolo-evento {
  font-size: 1.75rem;
  color: #000;
}

h3.nome-giorno {
  font-size: 2rem;
  padding: 1rem 1rem 0 1rem;
  background: #ffffff;
}

.box-appuntamenti-giorno {
  padding: 1rem;
}

.box-appuntamenti-giorno:not(:last-child) {
  padding-bottom: 0.5rem;
  border-bottom: 1px dotted #ccc;
}

.box-appuntamenti-giorno.has-thumbnail {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.box-appuntamenti-giorno.has-thumbnail > figure {
  width: 8rem;
  align-self: flex-start;
}

.box-appuntamenti-giorno.has-thumbnail > .box-appuntamenti-giorno-content {
  width: calc(100% - 9rem);
  align-self: flex-start;
}

.box-appuntamenti-giorno-content time {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 0.25rem;
}

.box-appuntamenti-giorno-content .luogo-appuntamento {
  display: inline-block;
  font-weight: normal;
  font-size: 1rem;
  margin-bottom: 0.5rem;
  color: #222;
}

.box-appuntamenti-giorno-content p {
  font-size: 0.875rem;
  letter-spacing: 0;
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 0;
}

.organizzatore-evento {
  font-family: "Big Shoulders";
  letter-spacing: 0;
}

.organizzatore-evento > span {
  font-family: "Big Shoulders";
  text-transform: uppercase;
  letter-spacing: 0;
}

main#main_container_appuntamenti {
  padding-bottom: 4rem !important;
}

.entry-content-landing p,
.entry-content-landing span {
  color: inherit;
}

.entry-content-landing {
  display: block;
  margin: 2rem auto;
  text-align: center;
  padding: 2rem;
  background: #fff;
  border-radius: 0.25rem;
  overflow: hidden;
  width: 100%;
  filter: drop-shadow(2px 4px 8px rgba(0, 0, 0, 0.75));
}

.entry-content-landing p {
  text-align: justify;
}

/*
.entry-content-landing::after {
  content:'';
  display:block;
  width:100%;
  max-width:20rem;
  margin:1rem auto 2rem auto;
}
*/

@media all and (max-width: 1023.5px) {
  .tabella-giorno {
    width: 100%;
  }
}

.fino-al {
  font-size: 0.875rem;
  margin-bottom: 0;
  color: #222;
}

#main_container_appuntamenti {
  position: relative;
  z-index: 1;
}

.decorazione-wide {
  display: block;
  width: 100%;
  height: 3rem;
  background-repeat: repeat-x;
  position: relative;
  z-index: 10;
}

div#slider_landing_appuntamenti {
  position: relative;
  z-index: 10;
}

#main_container_appuntamenti > .container,
.banner-landing {
  position: relative;
  z-index: 10;
}

.immagine-backdrop {
  width: calc(100% + 4rem);
  margin-left: -2rem;
  margin-bottom: -2rem;
  margin-top: 2rem;
  z-index: 1;
}

.immagine-backdrop img {
  display: block;
  width: 100%;
  height: auto;
}

@media all and (max-width: 639.5px) {
  .entry-content-landing {
    padding: 2rem 1rem;
  }
  .entry-content-landing,
  .entry-content-landing p {
    font-size: 0.875rem;
    letter-spacing: 0;
    font-weight: 400;
  }
  .immagine-backdrop {
    width: calc(100% + 2rem);
    margin-left: -1rem;
    margin-bottom: -2rem;
    margin-top: 2rem;
  }
}

img.logo-footer {
  max-width: 16rem;
}

@media all and (max-width: 991.5px) {
  img.logo-footer {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}

@media all and (max-width: 767.5px) {
  .widget_text.footer_widget,
  .widget_text.footer_widget * {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .container.bottom-footer {
    justify-content: center;
  }
  .par-sz2h,
  .par2-sz2h {
    font-size: 1.125rem;
  }
  .top-cnt-szih,
  .immagine-slider-intro-h {
    height: 100vh;
  }

  button.custom-select-trigger {
    min-width: 225px !important;
  }
}

.box-appuntamenti-giorno.has-thumbnail figure {
  border-radius: 0.25rem;
  overflow: hidden;
}

@media all and (max-width: 511.5px) {
  .box-appuntamenti-giorno.has-thumbnail figure {
    width: 4rem;
  }
  .box-appuntamenti-giorno.has-thumbnail > .box-appuntamenti-giorno-content {
    width: calc(100% - 4.5rem);
  }
  h4.titolo-evento {
    font-size: 1.5rem;
  }
  .box-appuntamenti-giorno {
    padding: 0.5rem;
  }
}

@media all and (max-width: 500.5px) {
  body:not(.home) {
    margin-top: 4rem;
  }
}

.cat-filter {
  display: block;
  width: 100%;
  padding: 0.5rem;
  text-align: center;
  position: relative;
  z-index: 100;
  margin-top: 2rem;
}

.cat-filter a,
.cat-filter span {
  display: inline-block;
  background: #f0f0f0;
  color: #363636;
  border-radius: 0.5rem;
  line-height: 1;
  padding: 0.25rem 1rem;
  font-size: 0.875rem;
  margin: 0.125rem;
}

.cat-filter span.selected-type-filter {
  background: #e20d19;
  color: #fff;
  cursor: initial;
  font-size: 0.875rem;
}

.gtranslate-menu-options a.glink:not(:last-child) {
  margin-right: 0.75rem;
}

.container-banner-appuntamenti-landing-content.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.banner-appuntamenti-landin {
  overflow: hidden;
  width: 100%;
  height: 100%;
  display: block;
}

.banner-landing-img {
  width: 100%;
  height: 100%;
  transform: scale(1);
  will-change: transform;
  transition: all 0.4s ease-in-out;
}

.banner-appuntamenti-landin:hover .banner-landing-img {
  transform: scale(1.1);
  transition: all 0.4s ease-in-out;
}

@media all and (max-width: 991.5px) {
  .banner-appuntamenti-landin {
    overflow: hidden;
    width: 100%;
    height: 100%;
    display: block;
    max-width: 20rem;
  }

  .container-banner-appuntamenti-landing-content.container {
    display: flex;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
  }
}

ul.icone-attivita {
    list-style-type: none;
    padding: 0;
    margin-top: 2rem;
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    padding-left: .75rem;
}

ul.icone-attivita li:not(:last-child) {
  margin-right:.75rem;
  align-self:center;
}


ul.icone-attivita li {
    display: inline-flex;
    flex-flow: row wrap;
    height: 3rem;
    overflow: hidden;
    background: #fab139;
    border-radius: .25rem;
    max-width: calc(25% - .75rem);
}

ul.icone-attivita li span {
    display: block;
    padding: .5rem .75rem;
    align-self: center;
    line-height: 1;
    font-size: 1rem;
    font-weight: 500;
    color:#fff;
}

ul.icone-attivita li img {
    display: block;
    align-self: center;
    width: 3rem;
    height: auto;
    background: #d24c59;
    border-radius: .25rem;
}


@media all and (max-width:767.5px) {

 ul.icone-attivita li {
        max-width: initial;
        min-width: calc(50% - .75rem);
        margin-bottom: .75rem;
    }

}
