/* Media query */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
.contenitore-flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

/* ANIMAZIONI LINEE */
.linea-sx {
  position: relative;
  left: -40px;
  width: 20vw;
  opacity: 0;
  visibility: hidden;
}
@media screen and (max-width: 480px) {
  .linea-sx svg {
    overflow: visible;
  }
}
@media screen and (max-width: 480px) {
  .linea-sx svg path {
    stroke-width: 30;
  }
}

.linea-dx {
  position: relative;
  right: -40px;
  width: 20vw;
  margin: 0 0 0 auto;
  display: block;
  opacity: 0;
  visibility: hidden;
}
.linea-dx.linea-lunga {
  width: 50vw;
}
@media screen and (max-width: 480px) {
  .linea-dx svg {
    overflow: visible;
  }
}
@media screen and (max-width: 480px) {
  .linea-dx svg path {
    stroke-width: 30;
  }
}

.linea-up {
  opacity: 0;
  visibility: hidden;
}

.riga-linea-dx {
  padding: 0 !important;
}

/* LINEE SLIDER */
.linea-slider-1 {
  position: absolute;
  left: -7vw;
  bottom: 0;
  width: 45vw;
}

.linea-slider-2 {
  position: absolute;
  top: -3vw;
  left: 28vw;
  width: 20vw;
  height: auto;
  margin-bottom: 0;
}

.linee-slider-unite {
  position: absolute;
  height: 100%;
  top: -30px;
  left: -10%;
  width: auto;
  max-width: 50vw;
  opacity: 0;
  visibility: hidden;
}
@media screen and (max-width: 480px) {
  .linee-slider-unite {
    display: none;
  }
}
.linee-slider-unite.invertite {
  top: -26px;
}
.linee-slider-unite svg {
  aspect-ratio: unset;
  max-width: unset;
  height: calc(100% + 30px);
}

.hero-intro {
  padding: 10vh 0;
}

.mw-80 {
  max-width: 80vw;
  margin: 0 auto;
}

.mw-90 {
  max-width: 90vw;
  margin: 0 auto;
}

/* BOTTONI ANIMATI */
.bottone-animato {
  background: none;
  border: 0;
  padding: 0;
  width: -moz-fit-content;
  width: fit-content;
}
.bottone-animato.con-bordo .blocco-principale {
  border: 2px solid #394745;
}
.bottone-animato.con-bordo .blocco-principale:after {
  border-top: 2px solid #394745;
  border-bottom: 2px solid #394745;
}
.bottone-animato.con-bordo .blocco-secondario {
  border: 2px solid #394745;
}
.bottone-animato.con-bordo.bordo-verde .blocco-principale {
  border: 2px solid #A5D4BD;
}
.bottone-animato.con-bordo.bordo-verde .blocco-principale:after {
  border-top: 2px solid #A5D4BD;
  border-bottom: 2px solid #A5D4BD;
}
.bottone-animato.con-bordo.bordo-verde .blocco-secondario {
  border: 2px solid #A5D4BD;
}
.bottone-animato.con-bordo.no-hover {
  pointer-events: none;
}
.bottone-animato.verde-arancio a {
  color: #394745;
}
.bottone-animato.verde-arancio .blocco-principale {
  background-color: #A5D4BD;
}
.bottone-animato.verde-arancio .blocco-principale::before, .bottone-animato.verde-arancio .blocco-principale::after {
  background-color: #A5D4BD;
}
.bottone-animato.verde-arancio .blocco-secondario {
  background-color: #A5D4BD;
}
.bottone-animato.verde-arancio .blocco-secondario::before {
  background-color: #394745;
}
.bottone-animato.verde-arancio:hover a {
  color: #fff;
}
.bottone-animato.verde-arancio:hover .blocco-principale {
  background-color: #ECA456;
}
.bottone-animato.verde-arancio:hover .blocco-principale:before, .bottone-animato.verde-arancio:hover .blocco-principale:after {
  background-color: #ECA456;
}
.bottone-animato.verde-arancio:hover .blocco-secondario {
  background-color: #ECA456;
}
.bottone-animato.verde-arancio:hover .blocco-secondario::before {
  background-color: #fff;
}
.bottone-animato.antracite-arancio a {
  color: #fff;
}
.bottone-animato.antracite-arancio .blocco-principale {
  background-color: #ECA456;
}
.bottone-animato.antracite-arancio .blocco-principale::before, .bottone-animato.antracite-arancio .blocco-principale::after {
  background-color: #ECA456;
}
.bottone-animato.antracite-arancio .blocco-secondario {
  background-color: #ECA456;
}
.bottone-animato.antracite-arancio .blocco-secondario::before {
  background-color: #fff;
}
.bottone-animato.antracite-arancio:hover a {
  color: #ECA456;
}
.bottone-animato.antracite-arancio:hover .blocco-principale {
  background-color: #394745;
}
.bottone-animato.antracite-arancio:hover .blocco-principale::before, .bottone-animato.antracite-arancio:hover .blocco-principale::after {
  background-color: #394745;
}
.bottone-animato.antracite-arancio:hover .blocco-secondario {
  background-color: #394745;
}
.bottone-animato.antracite-arancio:hover .blocco-secondario::before {
  background-color: #ECA456;
}
.bottone-animato.verde-antracite a {
  color: #394745;
}
.bottone-animato.verde-antracite .blocco-principale {
  background-color: #A5D4BD;
}
.bottone-animato.verde-antracite .blocco-principale::before, .bottone-animato.verde-antracite .blocco-principale::after {
  background-color: #A5D4BD;
}
.bottone-animato.verde-antracite .blocco-secondario {
  background-color: #A5D4BD;
}
.bottone-animato.verde-antracite .blocco-secondario::before {
  background-color: #394745;
}
.bottone-animato.verde-antracite:hover a {
  color: #A5D4BD;
}
.bottone-animato.verde-antracite:hover .blocco-principale {
  background-color: #394745;
}
.bottone-animato.verde-antracite:hover .blocco-principale::before, .bottone-animato.verde-antracite:hover .blocco-principale::after {
  background-color: #394745;
}
.bottone-animato.verde-antracite:hover .blocco-secondario {
  background-color: #394745;
}
.bottone-animato.verde-antracite:hover .blocco-secondario::before {
  background-color: #A5D4BD;
}
.bottone-animato.bianco-antracite a,
.bottone-animato.bianco-antracite .wrapper-upload {
  color: #394745;
}
.bottone-animato.bianco-antracite .blocco-principale {
  background-color: #fff;
}
.bottone-animato.bianco-antracite .blocco-principale::before, .bottone-animato.bianco-antracite .blocco-principale::after {
  background-color: #fff;
}
.bottone-animato.bianco-antracite .blocco-secondario {
  background-color: #fff;
}
.bottone-animato.bianco-antracite .blocco-secondario::before {
  background-color: #394745;
}
.bottone-animato.bianco-antracite:hover a {
  color: #394745;
}
.bottone-animato.bianco-antracite:hover .blocco-principale {
  background-color: #A5D4BD;
  border-color: #A5D4BD;
}
.bottone-animato.bianco-antracite:hover .blocco-principale::before, .bottone-animato.bianco-antracite:hover .blocco-principale::after {
  background-color: #A5D4BD;
  border-color: #A5D4BD;
}
.bottone-animato.bianco-antracite:hover .blocco-secondario {
  background-color: #A5D4BD;
  border-color: #A5D4BD;
}
.bottone-animato.bianco-antracite:hover .blocco-secondario::before {
  background-color: #394745;
}
.bottone-animato.antracite-bianco a,
.bottone-animato.antracite-bianco .wrapper-upload {
  color: #A5D4BD;
}
.bottone-animato.antracite-bianco .blocco-principale {
  background-color: #394745;
}
.bottone-animato.antracite-bianco .blocco-principale::before, .bottone-animato.antracite-bianco .blocco-principale::after {
  background-color: #394745;
}
.bottone-animato.antracite-bianco .blocco-secondario {
  background-color: #394745;
}
.bottone-animato.antracite-bianco .blocco-secondario::before {
  background-color: #A5D4BD;
}
.bottone-animato.antracite-bianco:hover a,
.bottone-animato.antracite-bianco:hover .wrapper-upload {
  color: #394745;
}
.bottone-animato.antracite-bianco:hover .blocco-principale {
  background-color: #fff;
  border-color: #394745;
}
.bottone-animato.antracite-bianco:hover .blocco-principale::before, .bottone-animato.antracite-bianco:hover .blocco-principale::after {
  background-color: #fff;
  border-color: #394745;
}
.bottone-animato.antracite-bianco:hover .blocco-secondario {
  background-color: #fff;
  border-color: #394745;
}
.bottone-animato.antracite-bianco:hover .blocco-secondario::before {
  background-color: #394745;
}
.bottone-animato.antracite-verdino a,
.bottone-animato.antracite-verdino .wrapper-upload,
.bottone-animato.antracite-verdino .bottone-submit {
  color: #A5D4BD;
}
.bottone-animato.antracite-verdino .blocco-principale {
  background-color: #394745;
}
.bottone-animato.antracite-verdino .blocco-principale::before, .bottone-animato.antracite-verdino .blocco-principale::after {
  background-color: #394745;
}
.bottone-animato.antracite-verdino .blocco-secondario {
  background-color: #394745;
}
.bottone-animato.antracite-verdino .blocco-secondario::before {
  background-color: #A5D4BD;
}
.bottone-animato.antracite-verdino:hover a,
.bottone-animato.antracite-verdino:hover .wrapper-upload,
.bottone-animato.antracite-verdino:hover .bottone-submit {
  color: #394745;
}
.bottone-animato.antracite-verdino:hover .blocco-principale {
  background-color: #edf6f2;
  border-color: #394745;
}
.bottone-animato.antracite-verdino:hover .blocco-principale::before, .bottone-animato.antracite-verdino:hover .blocco-principale::after {
  background-color: #edf6f2;
  border-color: #394745;
}
.bottone-animato.antracite-verdino:hover .blocco-secondario {
  background-color: #edf6f2;
  border-color: #394745;
}
.bottone-animato.antracite-verdino:hover .blocco-secondario::before {
  background-color: #394745;
}
.bottone-animato.grigio-antracite a {
  color: #394745;
}
.bottone-animato.grigio-antracite .blocco-principale {
  background-color: #edeeed;
}
.bottone-animato.grigio-antracite .blocco-principale::before, .bottone-animato.grigio-antracite .blocco-principale::after {
  background-color: #edeeed;
}
.bottone-animato.grigio-antracite .blocco-secondario {
  background-color: #edeeed;
}
.bottone-animato.grigio-antracite .blocco-secondario::before {
  background-color: #394745;
}
.bottone-animato.grigio-antracite:hover a {
  color: #A5D4BD;
}
.bottone-animato.grigio-antracite:hover .blocco-principale {
  background-color: #394745;
  border-color: #394745;
}
.bottone-animato.grigio-antracite:hover .blocco-principale::before, .bottone-animato.grigio-antracite:hover .blocco-principale::after {
  background-color: #394745;
  border-color: #394745;
}
.bottone-animato.grigio-antracite:hover .blocco-secondario {
  background-color: #394745;
  border-color: #394745;
}
.bottone-animato.grigio-antracite:hover .blocco-secondario::before {
  background-color: #A5D4BD;
}
.bottone-animato a,
.bottone-animato .wrapper-upload,
.bottone-animato .bottone-submit {
  display: flex;
  gap: 0;
  font-family: sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 12px;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  transition: color 0.3s ease-in-out;
  will-change: color;
}
.bottone-animato .blocco-principale {
  background-color: #000;
  padding: 23px 30px;
  border-top-left-radius: 23px;
  border-bottom-left-radius: 23px;
  border-top-right-radius: 33px;
  border-bottom-right-radius: 33px;
  display: flex;
  align-items: center;
  position: relative;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
  will-change: background-color, border-color;
}
.bottone-animato .blocco-principale span {
  z-index: 4;
}
.bottone-animato .blocco-principale::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-top-left-radius: 23px;
  border-bottom-left-radius: 23px;
  border-top-right-radius: 33px;
  border-bottom-right-radius: 33px;
  background-color: #000;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
  will-change: background-color, border-color;
  z-index: 4;
}
.bottone-animato .blocco-principale::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 26px;
  height: 32px;
  right: -4px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #000;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
  will-change: background-color, border-color;
  z-index: 3;
}
.bottone-animato .blocco-secondario {
  width: 58px;
  background-color: #000;
  border-radius: 17px;
  aspect-ratio: 1;
  position: relative;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
  will-change: background-color, border-color;
  z-index: 2;
}
.bottone-animato .blocco-secondario::before {
  content: "";
  display: inline-block;
  position: absolute;
  -webkit-mask: url("/sviluppo/coopgenesi/wp-content/uploads/2026/04/genesi-arrow-right.svg") center center/contain no-repeat;
          mask: url("/sviluppo/coopgenesi/wp-content/uploads/2026/04/genesi-arrow-right.svg") center center/contain no-repeat;
  width: 20px;
  height: 20px;
  background-color: #fff;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  transition: background-color 0.3s ease-in-out;
  will-change: background-color;
}

.contenitore-esempio-bottoni-non-copaire {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* CARD SERVIZI */
.card-servizi.card-residenziali:hover .blocco-principale,
.card-servizi.card-residenziali:hover .blocco-principale::after,
.card-servizi.card-residenziali:hover .blocco-secondario {
  border-color: #81b7b3 !important;
}
.card-servizi.card-diurni:hover .blocco-principale,
.card-servizi.card-diurni:hover .blocco-principale::after,
.card-servizi.card-diurni:hover .blocco-secondario {
  border-color: #93a49d !important;
}
.card-servizi.card-domicilio:hover .blocco-principale,
.card-servizi.card-domicilio:hover .blocco-principale::after,
.card-servizi.card-domicilio:hover .blocco-secondario {
  border-color: #9bd0b6 !important;
}
.card-servizi.card-ambulatori:hover .blocco-principale,
.card-servizi.card-ambulatori:hover .blocco-principale::after,
.card-servizi.card-ambulatori:hover .blocco-secondario {
  border-color: #51adbd !important;
}
.card-servizi.card-famiglie:hover .blocco-principale,
.card-servizi.card-famiglie:hover .blocco-principale::after,
.card-servizi.card-famiglie:hover .blocco-secondario {
  border-color: #a0cbcd !important;
}
.card-servizi.card-enti:hover .blocco-principale,
.card-servizi.card-enti:hover .blocco-principale::after,
.card-servizi.card-enti:hover .blocco-secondario {
  border-color: #3a9ca2 !important;
}

.team .card-residenziali {
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  border-bottom-left-radius: 20px !important;
  border-bottom-right-radius: 20px !important;
  background-color: #81b7b3;
}
.team .card-residenziali.uk-card, .team .uk-card-default.card-residenziali .uk-card-body {
  border-radius: 20px;
}

/* SLIDER HOME */
.riga-slider-home {
  margin-top: 5vh;
}

.wrapper-slider-home {
  position: relative;
  width: calc(20vw + 40px);
  margin: 5vh auto;
}
@media screen and (min-device-width: 1357px) and (max-device-width: 1440px), screen and (min-width: 1357px) and (max-width: 1440px) {
  .wrapper-slider-home {
    width: calc(30vw + 40px);
  }
}
@media screen and (min-device-width: 821px) and (max-device-width: 1180px) and (orientation: landscape), screen and (min-width: 821px) and (max-width: 1180px) and (orientation: landscape) {
  .wrapper-slider-home {
    width: calc(30vw + 40px);
  }
}
@media screen and (min-width: 481px) and (max-width: 820px), screen and (min-device-width: 1024px) and (max-device-height: 1366px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait), screen and (min-width: 834px) and (orientation: portrait) {
  .wrapper-slider-home {
    width: calc(50vw + 40px);
  }
}
@media screen and (max-width: 480px) {
  .wrapper-slider-home {
    width: calc(80vw + 40px);
  }
}
.wrapper-slider-home .slider-home .slide-home {
  background: #CAF0DE;
  width: 20vw !important;
  height: 18vw !important;
  border-radius: 40px;
  padding: 20px;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}
@media screen and (min-device-width: 1357px) and (max-device-width: 1440px), screen and (min-width: 1357px) and (max-width: 1440px) {
  .wrapper-slider-home .slider-home .slide-home {
    width: 30vw !important;
    height: 26vw !important;
  }
}
@media screen and (min-device-width: 821px) and (max-device-width: 1180px) and (orientation: landscape), screen and (min-width: 821px) and (max-width: 1180px) and (orientation: landscape) {
  .wrapper-slider-home .slider-home .slide-home {
    width: 30vw !important;
    height: 26vw !important;
  }
}
@media screen and (min-width: 481px) and (max-width: 820px), screen and (min-device-width: 1024px) and (max-device-height: 1366px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait), screen and (min-width: 834px) and (orientation: portrait) {
  .wrapper-slider-home .slider-home .slide-home {
    width: 50vw !important;
    height: 46vw !important;
  }
}
@media screen and (max-width: 480px) {
  .wrapper-slider-home .slider-home .slide-home {
    width: 80vw !important;
    height: 76vw !important;
  }
}
.wrapper-slider-home .slider-home .slide-home .img-linea {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  z-index: 1;
}
.wrapper-slider-home .slider-home .slide-home .numero {
  font-weight: 600;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(22px, 4vw, 120px);
  line-height: 1;
  color: #394745;
  margin-bottom: 3vh;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .wrapper-slider-home .slider-home .slide-home .numero {
    font-size: 42px;
  }
}
.wrapper-slider-home .slider-home .slide-home .titolo-slide {
  margin: 10px auto;
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(22px, 4vw, 32px);
  line-height: 1;
  color: #394745;
}
.wrapper-slider-home .slider-home .slide-home .testo-slide {
  max-width: 80%;
  margin: 10px auto;
  text-align: center;
}
.wrapper-slider-home .nav-slider {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 140%;
  left: -20%;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}
@media screen and (max-width: 480px) {
  .wrapper-slider-home .nav-slider {
    position: relative;
    top: initial;
    width: 30%;
    left: initial;
    transform: none;
    margin: 20px auto 0 auto;
  }
}
.wrapper-slider-home .nav-slider .button-nav {
  border: 1px solid #394745;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  cursor: pointer;
  background-color: #A5D4BD;
  transition: background-color 0.3s ease-in-out;
  will-change: background-color;
  pointer-events: all;
}
.wrapper-slider-home .nav-slider .button-nav:hover {
  background-color: #394745;
}
.wrapper-slider-home .nav-slider .button-nav:hover svg path {
  stroke: #A5D4BD;
}
.wrapper-slider-home .nav-slider .button-nav svg path {
  transition: stroke 0.3s ease-in-out;
  will-change: stroke;
}

/* SINGOLA OFFERTA */
.single-offerta-di-lavoro .tm-main {
  padding: 0;
}
.single-offerta-di-lavoro .hero-verde {
  padding: 15vh 0;
}
.single-offerta-di-lavoro .evidenziato {
  background-color: #a5d4bd;
  padding: 5px 25px;
  border-radius: 50px;
  display: inline-block;
}

.titolo-offerta {
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 5vh auto;
}

.sezione-descrizioni,
.sezione-dettagli {
  width: 100%;
  margin: 5vh auto;
  justify-content: space-between;
  padding: 25px 0 0 0;
  border-top: 1px solid #ccc;
}
.sezione-descrizioni .col-titolo,
.sezione-dettagli .col-titolo {
  flex-basis: 30%;
}
@media screen and (min-width: 481px) and (max-width: 820px), screen and (min-device-width: 1024px) and (max-device-height: 1366px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait), screen and (min-width: 834px) and (orientation: portrait) {
  .sezione-descrizioni .col-titolo,
  .sezione-dettagli .col-titolo {
    flex-basis: 100%;
  }
}
@media screen and (max-width: 480px) {
  .sezione-descrizioni .col-titolo,
  .sezione-dettagli .col-titolo {
    flex-basis: 100%;
  }
}
.sezione-descrizioni .col-titolo .titolo-sezione,
.sezione-dettagli .col-titolo .titolo-sezione {
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
  font-size: 25px;
  line-height: 1;
  color: #394745;
}
.sezione-descrizioni .col-info,
.sezione-dettagli .col-info {
  flex-basis: 65%;
  display: flex;
  flex-direction: column;
  gap: 2.5vh 0;
}
@media screen and (min-width: 481px) and (max-width: 820px), screen and (min-device-width: 1024px) and (max-device-height: 1366px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait), screen and (min-width: 834px) and (orientation: portrait) {
  .sezione-descrizioni .col-info,
  .sezione-dettagli .col-info {
    flex-basis: 100%;
  }
}
@media screen and (max-width: 480px) {
  .sezione-descrizioni .col-info,
  .sezione-dettagli .col-info {
    flex-basis: 100%;
  }
}
.sezione-descrizioni .col-info .riga-info,
.sezione-dettagli .col-info .riga-info {
  border-bottom: 1px solid #ccc;
  padding: 10px 0;
  justify-content: space-between;
}
.sezione-descrizioni .col-info .riga-info:last-child,
.sezione-dettagli .col-info .riga-info:last-child {
  border-bottom: none;
}
.sezione-descrizioni .col-info .riga-info .wrapper-titolo,
.sezione-dettagli .col-info .riga-info .wrapper-titolo {
  flex-basis: 30%;
}
@media screen and (max-width: 480px) {
  .sezione-descrizioni .col-info .riga-info .wrapper-titolo,
  .sezione-dettagli .col-info .riga-info .wrapper-titolo {
    flex-basis: 100%;
  }
}
.sezione-descrizioni .col-info .riga-info .wrapper-titolo h4,
.sezione-dettagli .col-info .riga-info .wrapper-titolo h4 {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 700;
  text-transform: uppercase;
}
@media screen and (min-device-width: 821px) and (max-device-width: 1180px) and (orientation: landscape), screen and (min-width: 821px) and (max-width: 1180px) and (orientation: landscape) {
  .sezione-descrizioni .col-info .riga-info .wrapper-titolo h4,
  .sezione-dettagli .col-info .riga-info .wrapper-titolo h4 {
    font-size: 17px;
  }
}
@media screen and (max-width: 480px) {
  .sezione-descrizioni .col-info .riga-info .wrapper-titolo h4,
  .sezione-dettagli .col-info .riga-info .wrapper-titolo h4 {
    font-size: 18px;
    margin-bottom: 5px;
  }
}
.sezione-descrizioni .col-info .riga-info .wrapper-testo,
.sezione-dettagli .col-info .riga-info .wrapper-testo {
  flex-basis: 65%;
}
@media screen and (max-width: 480px) {
  .sezione-descrizioni .col-info .riga-info .wrapper-testo,
  .sezione-dettagli .col-info .riga-info .wrapper-testo {
    flex-basis: 100%;
  }
}

.sezione-dettagli .col-info .riga-info .wrapper-titolo h4 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-device-width: 821px) and (max-device-width: 1180px) and (orientation: landscape), screen and (min-width: 821px) and (max-width: 1180px) and (orientation: landscape) {
  .sezione-dettagli .col-info .riga-info .wrapper-titolo h4 {
    font-size: 17px;
  }
}
@media screen and (max-width: 480px) {
  .sezione-dettagli .col-info .riga-info .wrapper-titolo h4 {
    font-size: 18px;
    margin-bottom: 5px;
  }
}
.sezione-dettagli .col-info .riga-info .wrapper-testo {
  font-size: 18px;
  font-weight: 500;
}

.sezione-descrizioni {
  margin-top: 10vh;
}

.sezione-dettagli .col-info .riga-info .wrapper-testo {
  flex-basis: 20%;
}
@media screen and (min-device-width: 1441px) and (max-device-width: 1792px), screen and (min-width: 1441px) and (max-width: 1792px) {
  .sezione-dettagli .col-info .riga-info .wrapper-testo {
    flex-basis: 30%;
  }
}
@media screen and (min-device-width: 1357px) and (max-device-width: 1440px), screen and (min-width: 1357px) and (max-width: 1440px) {
  .sezione-dettagli .col-info .riga-info .wrapper-testo {
    flex-basis: 30%;
  }
}
@media screen and (min-device-width: 1025px) and (max-device-width: 1439px), screen and (min-width: 1025px) and (max-width: 1439px) {
  .sezione-dettagli .col-info .riga-info .wrapper-testo {
    flex-basis: 30%;
  }
}
@media screen and (max-width: 480px) {
  .sezione-dettagli .col-info .riga-info .wrapper-testo {
    flex-basis: 100%;
  }
}

/* FORM CANDIDATURE */
.sezione-form-candidatura {
  position: relative;
  padding: 5vh 10vw;
  background-color: #EDF6F2;
}
.sezione-form-candidatura.candidatura-spontanea {
  padding: 10vh 10vw;
}
.sezione-form-candidatura.candidatura-spontanea .uk-container {
  padding: 0;
}
.sezione-form-candidatura .wpcf7-form label {
  display: block;
  margin-bottom: 10px;
}
.sezione-form-candidatura .wpcf7-form .uk-input {
  height: 62px;
  border-radius: 30px;
  border: 1px solid #9CA3A2 !important;
  background: transparent;
  padding: 0 24px;
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 20px;
  color: #394745;
  margin-bottom: 20px;
}
.sezione-form-candidatura .wpcf7-form .uk-input.form-cg {
  border-color: #9CA3A2 !important;
}
.sezione-form-candidatura .wpcf7-form input[type=date].uk-input {
  padding-right: 24px;
}
.sezione-form-candidatura .wpcf7-form p {
  margin-bottom: 0;
}
.sezione-form-candidatura .wpcf7-form .wpcf7-acceptance {
  display: inline-block;
  margin-top: 20px;
}
.sezione-form-candidatura .wpcf7-form input[type=checkbox] {
  margin-right: 10px;
}
.sezione-form-candidatura .wrapper-upload .wpcf7-file {
  opacity: 0;
  position: absolute;
  z-index: -1;
}
.sezione-form-candidatura .wrapper-upload label {
  font-weight: normal;
  display: flex;
  flex-direction: column;
}
.sezione-form-candidatura .wrapper-upload .file-name {
  display: flex;
}
.sezione-form-candidatura .wrapper-upload .bottone-animato {
  cursor: pointer;
}
.sezione-form-candidatura .wrapper-upload .bottone-animato .blocco-principale {
  padding: 16px 30px;
}
.sezione-form-candidatura .wrapper-upload .bottone-animato .blocco-principale::after {
  height: 19px;
}
.sezione-form-candidatura .wrapper-upload .bottone-animato .blocco-secondario {
  width: 40px;
}
.sezione-form-candidatura .wrapper-bottone-upload {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.sezione-form-candidatura .formato {
  font-size: 16px;
  line-height: 1;
}
.sezione-form-candidatura textarea {
  height: unset !important;
  padding: 20px !important;
}

.wpcf7-acceptance input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 20px;
  height: 20px;
  border: 1px solid #394745;
  border-radius: 5px;
  margin: 0px 5px 0 0;
  top: 4px;
  position: relative;
  outline: 0;
  cursor: pointer;
}
.wpcf7-acceptance input[type=checkbox]:checked {
  background-color: #394745;
}
.wpcf7-acceptance .wpcf7-list-item {
  margin: 0 !important;
}

@media screen and (min-device-width: 1357px) and (max-device-width: 1440px), screen and (min-width: 1357px) and (max-width: 1440px) {
  .wpcf7 label {
    font-size: 14px;
  }
}
@media screen and (min-device-width: 1025px) and (max-device-width: 1439px), screen and (min-width: 1025px) and (max-width: 1439px) {
  .wpcf7 label {
    font-size: 14px;
  }
}
.wpcf7 .nice-select {
  height: 62px;
  border-radius: 30px;
  border: 1px solid #9CA3A2 !important;
  background: transparent;
  padding: 0 24px;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 20px;
  color: #394745;
  margin-bottom: 20px;
  width: 100%;
  display: flex;
  align-items: center;
}
.wpcf7 .nice-select::after {
  right: 22px;
}
.wpcf7 .nice-select .list {
  border-radius: 30px;
  border: 1px solid #9CA3A2 !important;
  background-color: #EDF6F2;
  padding: 0;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 20px;
  color: #394745;
  margin-bottom: 20px;
  width: 100%;
}
.wpcf7 .nice-select .list .option.selected, .wpcf7 .nice-select .list .option.focus, .wpcf7 .nice-select .list .option:hover {
  background-color: #394745 !important;
  color: #A5D4BD;
}
.wpcf7 .wpcf7-submit {
  border: 0;
  background: transparent;
}
.wpcf7 .wpcf7-submit:not(:disabled) {
  cursor: pointer;
}
.wpcf7 .wpcf7-response-output {
  background-color: #394745 !important;
  color: #A5D4BD !important;
  text-align: center;
  padding: 40px !important;
  text-transform: uppercase;
  font-weight: bold;
  border: 0 !important;
}

/* LAVORA CON NOI */
.intro-pagina-lavora-con-noi .linea-up {
  margin-bottom: 50px !important;
}
.intro-pagina-lavora-con-noi > .uk-container {
  max-width: 80vw;
  width: 100%;
  padding: 0;
}
.intro-pagina-lavora-con-noi .titolo-lavora-con-noi {
  font-size: 28px;
}

.intro-offerta-lavoro {
  padding: 20px 0;
}

.wrapper-lista-posizioni-aperte .riga-posizione-aperta {
  align-items: top;
  justify-content: space-between;
  border-top: 1px solid #CCC;
  padding: 20px 0;
}
@media screen and (max-width: 480px) {
  .wrapper-lista-posizioni-aperte .riga-posizione-aperta {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px 0;
  }
}
.wrapper-lista-posizioni-aperte .titolo-posizione {
  flex-basis: 20%;
}
.wrapper-lista-posizioni-aperte .titolo-posizione a {
  text-decoration: none;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.1em;
}
@media screen and (max-width: 480px) {
  .wrapper-lista-posizioni-aperte .titolo-posizione a {
    font-size: 22px;
  }
}
.wrapper-lista-posizioni-aperte .descrizione-posizione {
  flex-basis: 40%;
}
.wrapper-lista-posizioni-aperte .bottone-posizione {
  flex-basis: 20%;
  text-align: right;
}

.call-to-action-sostienici > .uk-container {
  padding: 0;
}

/* BREADCRUMBS */
.breadcrumbs {
  /*max-width: 90vw;
  width: fit-content;
  margin: 20px 5vw!important;*/
  padding-top: 20px;
}
.breadcrumbs .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
  margin: 0 10px;
}
.breadcrumbs li:last-of-type a {
  color: #52AC80;
}

/* TIMELINE */
.full-w > .uk-container {
  padding: 0;
}

.wrapper-timeline {
  background-color: #D2E9DE;
  --bg: #dee4d4;
  --bg-tint: #d4dccb;
  --ink: #394745;
  --ink-soft: #5d6c69;
  --bar: #8da89a;
  --bar-rgb: 141, 168, 154;
  --bar-major: #6f8d80;
  --bar-major-rgb: 111, 141, 128;
  --accent: #e58a3f;
  --accent-soft: #ecb288;
  overflow: hidden;
}
.wrapper-timeline .slider {
  width: 100%;
  height: 90vh;
  display: flex;
  flex-direction: column;
  padding-top: clamp(40px, 6vh, 80px);
  position: relative;
}
@media screen and (min-width: 1921px) {
  .wrapper-timeline .slider {
    height: 70vh;
  }
}
@media screen and (min-width: 481px) and (max-width: 820px), screen and (min-device-width: 1024px) and (max-device-height: 1366px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait), screen and (min-width: 834px) and (orientation: portrait) {
  .wrapper-timeline .slider {
    height: 70vh;
  }
}
.wrapper-timeline .header {
  text-align: center;
  padding: 0 24px;
  flex-shrink: 0;
}
.wrapper-timeline .title {
  font-weight: 600;
  font-size: clamp(20px, 3.2vw, 55px);
  letter-spacing: -0.01em;
  margin-bottom: clamp(16px, 2vh, 28px);
  font-family: "Montserrat", sans-serif;
  color: #394745;
  opacity: 0;
}
.wrapper-timeline .year-display {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: clamp(80px, 11vw, 150px);
  line-height: 0.95;
  letter-spacing: -0.045em;
  display: inline-flex;
  padding: 0 0.05em;
  margin-bottom: 12px;
  font-variant-numeric: lining-nums;
  color: #394745;
  opacity: 0;
}
.wrapper-timeline .year-digit-slot {
  position: relative;
  display: inline-block;
  height: 1em;
  overflow: hidden;
  vertical-align: top;
  text-align: center;
}
.wrapper-timeline .year-digit {
  display: inline-block;
  line-height: 1;
  will-change: transform, opacity;
}
.wrapper-timeline .year-digit-slot > .year-digit.is-floating {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}
.wrapper-timeline .event-text-wrap {
  min-height: 3.2em;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  max-width: 90vw;
  margin: 0 auto;
  opacity: 0;
}
.wrapper-timeline .event-text {
  font-size: 22px;
  color: #394745;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  line-height: 1.5;
  width: 100%;
  text-align: center;
  margin-bottom: 0;
}
@media screen and (max-width: 480px) {
  .wrapper-timeline .event-text {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .wrapper-timeline .event-text br {
    display: none;
  }
}
.wrapper-timeline .nav {
  display: flex;
  justify-content: center;
  gap: clamp(40px, 5vw, 70px);
  margin: clamp(24px, 3vh, 40px) 0 clamp(24px, 3vh, 36px);
  flex-shrink: 0;
  opacity: 0;
}
.wrapper-timeline .nav-btn {
  width: 38px;
  height: 38px;
  background: transparent;
  border: 1px solid var(--ink);
  border-radius: 6px;
  color: var(--ink);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.25s, color 0.25s, transform 0.2s;
}
.wrapper-timeline .nav-btn svg {
  max-width: 13px;
}
.wrapper-timeline .nav-btn path {
  transition: stroke 0.25s;
  will-change: stroke;
}
.wrapper-timeline .nav-btn:hover {
  background: var(--ink);
  transform: translateY(-1px);
}
.wrapper-timeline .nav-btn:hover svg path {
  stroke: #fff;
}
.wrapper-timeline .nav-btn:active {
  transform: translateY(0);
}
.wrapper-timeline .nav-btn svg {
  display: block;
}
.wrapper-timeline .timeline {
  position: relative;
  flex: 1;
  min-height: 240px;
  margin-top: auto;
}
.wrapper-timeline .timeline-track {
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  will-change: transform;
}
.wrapper-timeline .bar {
  position: absolute;
  bottom: 0;
  width: 1px;
  background: #8CC9AB;
  background: linear-gradient(180deg, rgb(140, 201, 171) 40%, rgb(234, 245, 240) 100%);
  transform-origin: bottom center;
  will-change: transform;
  opacity: 0;
  transform: scaleY(0);
}
@media screen and (min-device-width: 1441px) and (max-device-width: 1792px), screen and (min-width: 1441px) and (max-width: 1792px) {
  .wrapper-timeline .bar {
    max-height: 40vh;
  }
}
@media screen and (min-device-width: 1357px) and (max-device-width: 1440px), screen and (min-width: 1357px) and (max-width: 1440px) {
  .wrapper-timeline .bar {
    max-height: 35vh;
  }
}
@media screen and (min-device-width: 1025px) and (max-device-width: 1439px), screen and (min-width: 1025px) and (max-width: 1439px) {
  .wrapper-timeline .bar {
    max-height: 35vh;
  }
}
.wrapper-timeline .bar.major {
  width: 1.5px;
  background: #8CC9AB;
  background: linear-gradient(180deg, rgb(140, 201, 171) 40%, rgb(234, 245, 240) 100%);
}
@media screen and (min-device-width: 1441px) and (max-device-width: 1792px), screen and (min-width: 1441px) and (max-width: 1792px) {
  .wrapper-timeline .bar.major {
    max-height: 45vh;
  }
}
@media screen and (min-device-width: 1357px) and (max-device-width: 1440px), screen and (min-width: 1357px) and (max-width: 1440px) {
  .wrapper-timeline .bar.major {
    max-height: 40vh;
  }
}
@media screen and (min-device-width: 1025px) and (max-device-width: 1439px), screen and (min-width: 1025px) and (max-width: 1439px) {
  .wrapper-timeline .bar.major {
    max-height: 40vh;
  }
}
.wrapper-timeline .year-label {
  position: absolute;
  top: -15px;
  transform: translateX(-50%);
  font-size: 22px;
  color: #394745;
  font-weight: 600;
  white-space: nowrap;
  letter-spacing: 0.02em;
  will-change: opacity, top;
  transition: all 0.25s ease-in-out;
  opacity: 0;
}
.wrapper-timeline .center-indicator {
  position: absolute;
  left: 50%;
  bottom: -10px;
  height: 120%;
  width: 12px;
  background: #ECA456;
  transform: translateX(-50%) scaleY(0);
  transform-origin: bottom bottom;
  z-index: 10;
  pointer-events: none;
  border-radius: 5px;
  opacity: 0;
}
@media screen and (min-width: 481px) and (max-width: 820px), screen and (min-device-width: 1024px) and (max-device-height: 1366px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait), screen and (min-width: 834px) and (orientation: portrait) {
  .wrapper-timeline .center-indicator {
    height: 110%;
  }
}
@media screen and (max-width: 480px) {
  .wrapper-timeline .center-indicator {
    height: 100%;
    width: 7px;
  }
}
.wrapper-timeline .events-source {
  display: none;
}
.wrapper-timeline .hint {
  position: absolute;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 11px;
  color: var(--ink-soft);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.5;
  pointer-events: none;
}
@media screen and (min-device-width: 821px) and (max-device-width: 1180px) and (orientation: landscape), screen and (min-width: 821px) and (max-width: 1180px) and (orientation: landscape) {
  .wrapper-timeline .hint {
    display: none;
  }
}
@media screen and (min-width: 481px) and (max-width: 820px), screen and (min-device-width: 1024px) and (max-device-height: 1366px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait), screen and (min-width: 834px) and (orientation: portrait) {
  .wrapper-timeline .hint {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .wrapper-timeline .hint {
    display: none;
  }
}
@media (max-width: 600px) {
  .wrapper-timeline .nav {
    gap: 32px;
    top: -20px;
    position: relative;
  }
  .wrapper-timeline .year-label {
    font-size: 20px;
  }
  .wrapper-timeline .event-text-wrap {
    min-height: 4.5em;
  }
}

/* MENU LATERALE */
.wrapper-menu-laterale {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  background-color: #f9f9f9;
  position: fixed;
  bottom: 10vh;
  right: 0;
  z-index: 100;
  visibility: hidden;
  padding: 20px 25px 20px 25px;
  border: 0;
  border-right: none;
  border-bottom-left-radius: 10px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 480px) {
  .wrapper-menu-laterale {
    border-bottom-left-radius: 0;
    border-top-left-radius: 10px;
    bottom: 5vh;
  }
}
.wrapper-menu-laterale .label {
  position: absolute;
  transform: rotate(-90deg) translate(-100%, -100%);
  top: 0;
  left: 0;
  transform-origin: left top;
  background: #eca456;
  padding: 10px 10px 10px 20px;
  cursor: pointer;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 15px;
}
@media screen and (max-width: 480px) {
  .wrapper-menu-laterale .label {
    transform: rotate(-90deg) translate(0%, 0%);
    bottom: -4px;
    top: unset;
    left: 0;
    transform-origin: bottom left;
  }
}
.wrapper-menu-laterale .label span {
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  color: #fff;
  font-weight: 600;
  font-size: 13px;
}
@media screen and (max-width: 480px) {
  .wrapper-menu-laterale .label span {
    font-size: 14px;
  }
}
.wrapper-menu-laterale ul {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.wrapper-menu-laterale ul li {
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  color: #394745;
  position: relative;
}
.wrapper-menu-laterale ul li:before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background-color: #eca456;
  position: absolute;
  left: -15px;
  transform: translateY(-80%);
  bottom: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  will-change: opacity, visibility;
}
.wrapper-menu-laterale ul li:after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  background-color: #ccc;
  position: absolute;
  left: 0;
  bottom: -6px;
}
.wrapper-menu-laterale ul li:hover:before {
  opacity: 1;
  visibility: visible;
}
.wrapper-menu-laterale ul li:last-of-type:after {
  display: none;
}
.wrapper-menu-laterale ul li a {
  padding: 0;
  color: #576361;
  font-size: 12px;
}

.min-width .wrapper-menu-laterale .label {
  min-width: 160px;
}
@media screen and (max-width: 480px) {
  .min-width .wrapper-menu-laterale .label {
    min-width: 200px;
  }
}

.min-width-190 .wrapper-menu-laterale .label {
  min-width: 190px;
}
@media screen and (max-width: 480px) {
  .min-width-190 .wrapper-menu-laterale .label {
    min-width: 200px;
  }
}

.label-mobile {
  position: fixed;
  top: -4px;
  left: 0;
  transform-origin: left top;
  background: #eca456;
  padding: 10px 26px;
  cursor: pointer;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  display: none;
  flex-direction: row;
  align-items: center;
  gap: 15px;
}
.label-mobile span {
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  color: #fff;
  font-weight: 600;
}