@keyframes headerSlide {
  0% {
    top: -130px;
  }
  100% {
    top: 0;
  }
}
.page-404__title, .person-hero__title, .hero__title, .hero-home__title {
  color: #1d2127;
  font-weight: 500;
  font-size: 60px;
  letter-spacing: -0.02em;
  line-height: 65px;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 1023px) {
  .page-404__title, .person-hero__title, .hero__title, .hero-home__title {
    font-size: 34px;
    line-height: 41px;
  }
}

.numbers__heading, .cards-contact__heading, .block-diagram__pretitle--big, .person-hero__subtitle, .info-center__heading h2, .info-center__heading, .accordion-alt__heading, .hero__subtitle {
  color: #1d2127;
  font-weight: 500;
  font-size: 32px;
  letter-spacing: -0.01em;
  line-height: 45px;
}
@media screen and (max-width: 1023px) {
  .numbers__heading, .cards-contact__heading, .block-diagram__pretitle--big, .person-hero__subtitle, .info-center__heading h2, .info-center__heading, .accordion-alt__heading, .hero__subtitle {
    font-size: 25px;
    letter-spacing: -0.02em;
    line-height: 32px;
  }
}

.cards-img__heading--small, .cards-societa__heading, .video__heading, .square__title, .cards-alt__heading--small, .diagram__title, .diagram__heading, .heading-centered__heading--small {
  color: #1d2127;
  font-weight: normal;
  font-size: 32px;
  letter-spacing: -0.02em;
  line-height: 48px;
}
@media screen and (max-width: 1023px) {
  .cards-img__heading--small, .cards-societa__heading, .video__heading, .square__title, .cards-alt__heading--small, .diagram__title, .diagram__heading, .heading-centered__heading--small {
    font-size: 25px;
    letter-spacing: -0.02em;
    line-height: 32px;
  }
}
.cards-img__heading--small strong, .cards-societa__heading strong, .video__heading strong, .square__title strong, .cards-alt__heading--small strong, .diagram__title strong, .diagram__heading strong, .heading-centered__heading--small strong {
  font-weight: inherit;
  color: #0156cb;
}

.news__title, .page-404__subtitle, .cards-reviews__heading, .cards-img__heading, .carousel-soluzioni__heading, .heading__heading, .block-wide__title, .block-diagram__heading, .cards-societa--prodotti .cards-societa__heading, .video__heading--big, .video__heading--studenti, .info-center__heading--big h2, .info-center__heading--big, .accordion-alt__heading--blue, .banner__title, .cards-settori__heading, .cards-settori__heading h2, .carousel-cards__main-title, .carousel-wide__title, .carousel-wide__heading, .carousel-wide__heading h2, .cards__heading, .wide__title, .cards-alt__heading, .heading-centered__heading {
  color: #1d2127;
  font-weight: 500;
  font-size: 42px;
  letter-spacing: -0.02em;
  line-height: 55px;
}
@media screen and (max-width: 1023px) {
  .news__title, .page-404__subtitle, .cards-reviews__heading, .cards-img__heading, .carousel-soluzioni__heading, .heading__heading, .block-wide__title, .block-diagram__heading, .cards-societa--prodotti .cards-societa__heading, .video__heading--big, .video__heading--studenti, .info-center__heading--big h2, .info-center__heading--big, .accordion-alt__heading--blue, .banner__title, .cards-settori__heading, .cards-settori__heading h2, .carousel-cards__main-title, .carousel-wide__title, .carousel-wide__heading, .carousel-wide__heading h2, .cards__heading, .wide__title, .cards-alt__heading, .heading-centered__heading {
    font-size: 25px;
    line-height: 32px;
  }
}
.news__title strong, .news__title b, .page-404__subtitle strong, .cards-reviews__heading strong, .cards-img__heading strong, .carousel-soluzioni__heading strong, .heading__heading strong, .block-wide__title strong, .block-diagram__heading strong, .cards-societa--prodotti .cards-societa__heading strong, .video__heading--big strong, .video__heading--studenti strong, .info-center__heading--big strong, .accordion-alt__heading--blue strong, .banner__title strong, .cards-settori__heading strong, .carousel-cards__main-title strong, .carousel-wide__title strong, .carousel-wide__heading strong, .cards__heading strong, .wide__title strong, .cards-alt__heading strong, .heading-centered__heading strong, .heading-centered__heading b {
  font-weight: inherit;
  color: #0156cb;
}

.carousel-wide__text h3, .diagram__text h3 {
  font-weight: 600;
  font-size: 25px;
  line-height: 32px;
}
@media screen and (max-width: 1023px) {
  .carousel-wide__text h3, .diagram__text h3 {
    font-size: 21px;
    line-height: 31px;
  }
}

.numbers__text, .cards-contact__title, .block-wide__text, .person-hero__subtitle--small, .banner__text, .wide__text {
  font-size: 21px;
  font-weight: 400;
  line-height: 31px;
}
@media screen and (max-width: 1023px) {
  .numbers__text, .cards-contact__title, .block-wide__text, .person-hero__subtitle--small, .banner__text, .wide__text {
    font-size: 18px;
    line-height: 24px;
  }
}

.cards-img__preheading, .popup__title, .form__pretitle, .heading__pretitle, .block-diagram__pretitle, .person-hero__pretitle, .info-center__pretitle, .square__pretitle, .hero__pretitle, .cards__preheading, .cards-alt__preheading, .heading-centered__preheading {
  margin-bottom: 23px;
  color: rgba(53, 56, 62, 0.7);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
@media screen and (max-width: 1023px) {
  .cards-img__preheading, .popup__title, .form__pretitle, .heading__pretitle, .block-diagram__pretitle, .person-hero__pretitle, .info-center__pretitle, .square__pretitle, .hero__pretitle, .cards__preheading, .cards-alt__preheading, .heading-centered__preheading {
    margin-bottom: 11px;
  }
}

.page-404__text, .numbers__pretitle, .form-area-riservata .form__subtitle, #form--segnalazione .form__text, .form__voice, .block-diagram__text, .person-hero__list ul li, .video__text, .info-center__heading--big p, .info-center__heading p, .square__text, .accordion-alt__text, .accordion-alt__subtitle, .heading-centered__text {
  color: #1d2127;
  font-weight: 300;
  font-size: 17px;
  letter-spacing: -0.01em;
  line-height: 1.647;
}
@media screen and (max-width: 1023px) {
  .page-404__text, .numbers__pretitle, .form-area-riservata .form__subtitle, #form--segnalazione .form__text, .form__voice, .block-diagram__text, .person-hero__list ul li, .video__text, .info-center__heading--big p, .info-center__heading p, .square__text, .accordion-alt__text, .accordion-alt__subtitle, .heading-centered__text {
    font-size: 15px;
  }
}

.news__text p, .news__text ul li, .cards-contact__text, .diagram__text p {
  font-family: "Roboto", sans-serif;
  color: #1d2127;
  font-size: 15px;
  line-height: 23px;
  font-weight: 300;
}
.cards-contact__text {
  word-break: break-all;
}
.cards-contact__text strong, .diagram__text p strong {
  font-weight: 500;
}
.news__text p strong, .news__text p b, .news__text ul li strong, .news__text ul li b {
  font-weight: 600;
}
.news__text p a, .news__text a {
  color: #0156cb;
  text-decoration: underline;
}

html {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

body {
  color: #1d2127;
  font-family: "Roboto", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.modal-open {
  overflow: hidden;
}

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul[class],
ol[class] {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  overflow-x: hidden;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul[class],
ol[class] {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration: none;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
  border: none;
}

textarea {
  resize: none;
  height: 100px !important;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
input:focus,
textarea:focus,
select:focus {
  outline: none;
}

html {
  scroll-behavior: smooth;
}

.hero-home {
  width: 100%;
  height: 100vh;
  position: relative;
}
.hero-home::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, #01164A 4.61%, rgba(1, 22, 74, 0) 48.33%), linear-gradient(180deg, rgba(0, 0, 0, 0.5) 11.89%, rgba(0, 0, 0, 0) 29.61%);
}
.hero-home__image {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero-home__inner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  width: 100%;
  height: 100vh;
  max-width: 1600px;
  padding: 0 120px 13vh;
  margin: 0 auto;
  z-index: 1;
  position: relative;
}
@media screen and (max-width: 1410px) {
  .hero-home__inner {
    padding: 0 50px 13vh;
  }
}
@media screen and (max-width: 1280px) {
  .hero-home__inner {
    padding: 0 60px 13vh;
  }
}
@media screen and (max-width: 1023px) {
  .hero-home__inner {
    padding: 0 40px 13vh;
  }
}
@media screen and (max-width: 480px) {
  .hero-home__inner {
    padding: 0 15px 13vh;
  }
}
.hero-home__title {
  color: #ffffff;
  max-width: 698px;
  width: 100%;
  opacity: 0;
}

.hamburger {
  display: none;
  padding: 0;
  z-index: 4;
  pointer-events: all;
  border-left: 1px solid #e2e2e2;
  height: 100%;
}
@media screen and (max-width: 1185px) {
  .hamburger {
    display: block;
    padding: 23px;
  }
}
@media screen and (max-width: 767px) {
  .hamburger {
    padding: 18px 12px;
  }
}
.hamburger:hover, .hamburger.is-active:hover {
  opacity: 1;
}
.hamburger-box {
  width: 20px;
  height: 16px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 20px;
  height: 2px;
  background: #1d2127;
}
.hamburger-inner {
  margin-top: 2px;
}
.hamburger-inner::before {
  top: -7px;
}
.hamburger-inner::after {
  bottom: -7px;
}

.hamburger--home {
  border-left: 1px solid #ffffff;
}
.hamburger--home .hamburger-inner, .hamburger--home .hamburger-inner::before, .hamburger--home .hamburger-inner::after, .hamburger--home .hamburger.is-active .hamburger--home .hamburger-inner, .hamburger--home .hamburger.is-active .hamburger--home .hamburger-inner::before, .hamburger--home .hamburger.is-active .hamburger--home .hamburger-inner::after {
  background: #ffffff !important;
}

.cta {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: -moz-max-content;
  max-width: max-content;
  padding: 13px 40px;
  color: #ffffff;
  background: linear-gradient(40deg, #0156cb 0%, #312783 100%);
  border-radius: 33px;
  font-weight: 500;
  font-size: 17px;
  letter-spacing: -0.01em;
  text-align: center;
  cursor: pointer;
  transition: border 0.3s ease-in-out, background 0.3s ease-in-out, color 0.3s ease-in-out, opacity 0.5s ease-in-out;
  z-index: 1;
}
.cta::before {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(40deg, #016cfe 0%, #4033aa 100%);
  border-radius: 33px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: -1;
}
.cta:hover::before {
  opacity: 1;
}
@media screen and (max-width: 1023px) {
  .cta {
    font-size: 13px;
    padding: 11px 30px;
  }
}
.cta--inverted {
  padding: 11px 40px;
  color: #0156cb;
  background: transparent;
  border: 2px solid #0156cb;
}
.cta--inverted::before {
  content: none;
}
.cta--inverted:hover {
  color: #ffffff;
  background: #0156cb;
}
@media screen and (max-width: 1023px) {
  .cta--inverted {
    padding: 9px 30px;
  }
}
.cta--inverted--white {
  color: #ffffff;
  border: 2px solid #ffffff;
}
.cta--inverted--white:hover {
  color: #0156cb;
  background: #ffffff;
}
.cta--white {
  background: #ffffff;
  border: 2px solid #ffffff;
  color: #0156cb;
  padding: 9px 30px;
}
.cta--white::before {
  background: #ffffff;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
}
.cta--disabled {
  opacity: 0.5;
  pointer-events: none;
}
.cta--margin {
  margin-top: 45px;
}

.heading-centered {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 150px;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .heading-centered {
    max-width: 580px;
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .heading-centered {
    padding-top: 60px;
  }
}
.heading-centered--small {
  max-width: 720px;
}
.heading-centered--blue .heading-centered__heading {
  color: #ffffff;
}
.heading-centered--blue .heading-centered__text {
  color: #ffffff;
}
.heading-centered__preheading {
  margin-bottom: 30px;
}
.heading-centered__text {
  max-width: 680px;
  width: 100%;
  margin: 24px auto 0;
}
.heading-centered__text--small {
  max-width: 518px;
}
.heading-centered__text--big {
  max-width: 870px;
}
.heading-centered__cta {
  margin-top: 50px;
}
@media screen and (max-width: 1023px) {
  .heading-centered__cta {
    margin-top: 45px;
  }
}
@media screen and (max-width: 767px) {
  .heading-centered__cta {
    margin-top: 33px;
  }
}
.heading-centered__cta--icon img {
  margin-right: 15px;
  filter: invert(20%) sepia(55%) saturate(4443%) hue-rotate(209deg) brightness(92%) contrast(99%);
  transition: filter 0.1s ease-in-out;
}
.heading-centered__cta--icon:hover img {
  filter: invert(100%);
}

.diagram {
  display: flex;
  align-items: center;
  flex-direction: column;
  overflow: hidden;
}
@media screen and (max-width: 991px) {
  .diagram {
    align-items: flex-start;
  }
}
.diagram--block {
  width: 60%;
}
@media screen and (max-width: 1280px) {
  .diagram--block {
    width: 100%;
  }
}
.diagram--block .diagram__block {
  width: 100%;
}
.diagram--block .diagram__item {
  width: 65%;
}
.diagram--block .diagram__item--4 {
  width: 100%;
}
@media screen and (max-width: 1280px) {
  .diagram--block .diagram__item--4 {
    width: 45%;
  }
}
@media screen and (max-width: 991px) {
  .diagram--block .diagram__item {
    width: 100%;
    margin-right: 30px;
    margin-bottom: 30px;
    align-items: flex-start;
  }
  .diagram--block .diagram__item .diagram__text {
    order: 1;
  }
  .diagram--block .diagram__item .diagram__img {
    order: 0;
  }
}
.diagram--block .diagram__img {
  width: 45%;
}
.diagram--block .diagram__top, .diagram--block .diagram__bottom {
  justify-content: flex-end;
}
.diagram--block .diagram__top, .diagram--block .diagram__center, .diagram--block .diagram__bottom {
  width: 100%;
}
@media screen and (max-width: 1280px) {
  .diagram--block .diagram__center {
    justify-content: center;
  }
}
.diagram--block .diagram__title {
  font-size: 25px;
  line-height: 30px;
}
.diagram--block .diagram__text {
  width: calc(55% + 30px);
}
@media screen and (max-width: 991px) {
  .diagram--block .diagram__text {
    order: 1;
    width: 100%;
  }
}
.diagram--top {
  padding-top: 130px;
}
.diagram--top--small {
  padding-top: 100px;
}
.diagram__heading {
  display: none;
  font-weight: 700;
  color: #0156cb;
  text-align: center;
  width: 100%;
  margin: 0 auto 50px;
}
@media screen and (max-width: 991px) {
  .diagram__heading {
    display: block;
  }
}
.diagram__item {
  display: flex;
  align-items: center;
  width: 43%;
}
@media screen and (max-width: 991px) {
  .diagram__item {
    width: 100%;
    margin-right: 30px;
    margin-bottom: 30px;
    align-items: flex-start;
  }
  .diagram__item .diagram__text {
    order: 1;
  }
  .diagram__item .diagram__img {
    order: 0;
  }
}
.diagram__item--2 .diagram__text, .diagram__item--4 .diagram__text, .diagram__item--6 .diagram__text {
  order: 1;
  margin-left: 30px;
}
.diagram__item--1, .diagram__item--3, .diagram__item--5 {
  justify-content: flex-end;
}
@media screen and (max-width: 991px) {
  .diagram__item--1, .diagram__item--3, .diagram__item--5 {
    justify-content: flex-start;
  }
}
.diagram__item--1 .diagram__text, .diagram__item--3 .diagram__text, .diagram__item--5 .diagram__text {
  text-align: right;
  margin-right: 30px;
}
@media screen and (max-width: 991px) {
  .diagram__item--1 .diagram__text, .diagram__item--3 .diagram__text, .diagram__item--5 .diagram__text {
    text-align: left;
    margin-right: 0;
  }
}
.diagram__item--3, .diagram__item--4 {
  margin: 88px 0;
  width: 37%;
}
@media screen and (max-width: 991px) {
  .diagram__item--3, .diagram__item--4 {
    width: 100%;
    margin: 0 40px 40px 0;
  }
}
.diagram__item--blue h3 {
  color: #0156cb;
}
.diagram__item--violet h3 {
  color: #6F39E9;
}
.diagram__item--pink h3 {
  color: #E83A95;
}
.diagram__item--lightblue h3 {
  color: #22C9FF;
}
.diagram__item--red h3 {
  color: #EF233C;
}
.diagram__item--purple h3 {
  color: #B239E9;
}
.diagram__item--green h3 {
  color: #1FBC46;
}
.diagram__item--turquoise h3 {
  color: #68D8D6;
}
.diagram__top, .diagram__center, .diagram__bottom {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 991px) {
  .diagram__top, .diagram__center, .diagram__bottom {
    margin-right: -30px;
  }
}
@media screen and (max-width: 600px) {
  .diagram__top, .diagram__center, .diagram__bottom {
    flex-direction: column;
  }
}
.diagram__img {
  max-width: 154px;
  width: 50%;
}
@media screen and (max-width: 991px) {
  .diagram__img {
    display: none;
  }
}
.diagram__img--mobile {
  display: none;
  max-width: 80px;
  width: 20%;
}
@media screen and (max-width: 991px) {
  .diagram__img--mobile {
    display: block;
  }
}
@media screen and (max-width: 600px) {
  .diagram__img--mobile {
    max-width: 50px;
  }
}
.diagram__block {
  position: relative;
  max-width: 246px;
  width: 23%;
  margin: 0 40px;
  min-width: 200px;
}
.diagram__block img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  aspect-ratio: 1;
}
@media screen and (max-width: 991px) {
  .diagram__block {
    display: none;
  }
}
.diagram__text {
  width: 50%;
}
.diagram__text h3 {
  margin-bottom: 10px;
}
@media screen and (max-width: 991px) {
  .diagram__text h3 {
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 991px) {
  .diagram__text {
    margin-left: 30px;
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .diagram__text {
    margin-left: 20px !important;
  }
}
.diagram__title {
  line-height: 40px;
  letter-spacing: 0;
  font-weight: 700;
  color: #0156cb;
  text-align: center;
  max-width: 168px;
  width: 100%;
  margin: 0 auto;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1023px) {
  .diagram__title {
    line-height: 32px;
  }
}

.cards-alt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 160px;
}
@media screen and (max-width: 1023px) {
  .cards-alt {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .cards-alt {
    padding-top: 60px;
  }
}
.cards-alt__preheading {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 22px;
  text-align: center;
}
.cards-alt__heading {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 30px;
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cards-alt__heading {
    max-width: 580px;
    padding: 0 15px 40px;
  }
}
.cards-alt__heading--small {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 30px 35px;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cards-alt__heading--small {
    max-width: 580px;
    padding: 0 15px 30px;
  }
}
.cards-alt__heading--bottom {
  margin-bottom: 0;
}
@media screen and (max-width: 1023px) {
  .cards-alt__heading--bottom {
    padding-bottom: 0;
  }
}
.cards-alt__text {
  text-align: center;
  margin-bottom: 20px;
  width: 1000px;
  max-width: 100%;
  margin: 0 auto 30px auto;
}
.cards-alt__items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 60px;
}
.cards-alt__item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  border-radius: 6px;
  min-width: 31%;
  max-width: 31%;
  margin: 1%;
  border-radius: 6px;
}
@media screen and (max-width: 767px) {
  .cards-alt__item {
    max-width: 100%;
    min-width: 100%;
    margin: 8px;
  }
}
.cards-alt__gradient {
  background: linear-gradient(225deg, #01b4cb 0%, #01b2cb 29.41%, #0193cb 50.59%, #0156cb 80.95%, #0156cb 100%);
}
.cards-alt__gradient--pink {
  background: linear-gradient(45deg, #01b4cb 0%, #e389a5 100%);
}
.cards-alt__gradient--grey {
  background: linear-gradient(45deg, #5375a3 0%, #9abcea 100%);
}
.cards-alt__gradient--orange {
  background: linear-gradient(225deg, #f7c867 0%, #e8603c 62.29%, #e8603c 100%);
}
.cards-alt__gradient--cyan {
  background: linear-gradient(225deg, #39d09c 0%, #39a7d0 56.93%, #39a7d0 100%);
}
.cards-alt__gradient--green {
  background: linear-gradient(45deg, #39d0b3 0%, #299588 100%);
}
.cards-alt__gradient--light-blue {
  background: linear-gradient(45deg, rgb(114, 180, 199) 0%, rgb(13, 153, 255) 100%);
}
.cards-alt__gradient--violet {
  background: linear-gradient(45deg, rgb(187, 198, 252) 0%, rgb(94, 104, 154) 100%);
}
.cards-alt__gradient--dark-orange {
  background: linear-gradient(45deg, rgb(204, 110, 0) 0%, rgb(204, 143, 72) 100%);
}
.cards-alt__gradient--purple {
  background: linear-gradient(201.3deg, #B239E9 -6.48%, #0156CB 105.3%);
}
.cards-alt__gradient--magenta {
  background: linear-gradient(202.44deg, #CC1C27 -14.14%, #E764A9 105.08%);
}
.cards-alt__gradient--blue {
  background: linear-gradient(202.44deg, #2CD1FF -14.14%, #B239E9 105.08%);
}
.cards-alt__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding: 9% 11% 30px;
}
@media screen and (max-width: 1023px) {
  .cards-alt__inner {
    padding: 19px 15px 15px;
  }
}
@media screen and (max-width: 767px) {
  .cards-alt__inner {
    padding: 30px 55px;
  }
}
.cards-alt__inner--studenti {
  padding: 9% 10% 30px;
}
.cards-alt__pretitle {
  margin-bottom: 30px;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cards-alt__pretitle {
    margin-bottom: 10px;
    font-size: 8px;
    letter-spacing: 0.02em;
  }
}
.cards-alt__pretitle--studenti {
  margin-bottom: 19px;
}
.cards-alt__title {
  color: #ffffff;
  font-weight: normal;
  font-size: 25px;
  letter-spacing: -0.01em;
  line-height: 32px;
  text-align: center;
  flex: 1;
}
@media screen and (max-width: 1023px) {
  .cards-alt__title {
    font-size: 17px;
    line-height: 17px;
  }
}
.cards-alt__title--studenti {
  font-weight: 500;
  font-size: 32px;
  letter-spacing: -0.01em;
  line-height: 45px;
}
@media screen and (max-width: 1023px) {
  .cards-alt__title--studenti {
    font-size: 25px;
    letter-spacing: -0.02em;
    line-height: 32px;
  }
}
.cards-alt__subtitle {
  color: #ffffff;
  font-size: 19px;
  margin-top: 25px;
  font-weight: 400;
}
.cards-alt__cta {
  margin-top: 32px;
  color: #ffffff;
  border: 2px solid #ffffff;
}
.cards-alt__cta:hover {
  color: #1d2127;
  background: #ffffff;
}
@media screen and (max-width: 1023px) {
  .cards-alt__cta {
    margin-top: 17px;
    padding: 5px 14px;
    border: 1px solid #ffffff;
  }
}

.wide {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  min-height: 500px;
  max-width: 1500px;
  width: 100%;
}
.wide::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(288.97deg, rgba(0, 0, 0, 0) 33.08%, rgba(0, 0, 0, 0.6) 64.13%);
}
.wide__img {
  width: 100%;
  height: 100%;
  min-height: 500px;
  max-width: 1500px;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1500/600;
}
.wide__inner {
  position: absolute;
  top: 17%;
  left: 10%;
  display: flex;
  flex-direction: column;
  z-index: 1;
  max-width: 485px;
  width: calc(100% - 50px);
}
@media screen and (max-width: 1280px) {
  .wide__inner {
    left: 50px;
    top: 80px;
    right: 50px;
  }
}
@media screen and (max-width: 991px) {
  .wide__inner {
    left: 25px;
    top: 50px;
    right: 25px;
  }
}
.wide__title {
  color: #ffffff;
  margin-bottom: 30px;
}
.wide__text {
  color: #ffffff;
}
.wide__cta {
  margin-top: 60px;
}

.cards {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 150px;
}
@media screen and (max-width: 1023px) {
  .cards {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .cards {
    padding-top: 60px;
  }
}
.cards__preheading {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 22px;
  text-align: center;
}
.cards__heading {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 30px 60px;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cards__heading {
    max-width: 580px;
    padding: 0 15px 40px;
  }
}
.cards__items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.cards__item {
  display: flex;
  align-items: center;
  border-radius: 6px;
  min-width: 48%;
  max-width: 48%;
  margin: 1%;
}
@media screen and (max-width: 1440px) {
  .cards__item {
    margin: 8px;
  }
}
@media screen and (max-width: 1023px) {
  .cards__item {
    min-width: 47%;
    max-width: 47%;
  }
}
@media screen and (max-width: 767px) {
  .cards__item {
    min-width: 100%;
    max-width: 100%;
  }
}
.cards__gradient {
  background: linear-gradient(225deg, #0156cb 0%, #0082c3 100%);
}
.cards__gradient--grey {
  background: linear-gradient(225deg, #5375a3 0%, #9abcea 100%);
}
.cards__gradient--blue {
  background: linear-gradient(225deg, #033d8e 0%, #0278b2 100%);
}
.cards__gradient--red {
  background: linear-gradient(225deg, #d72540 0%, #be2454 100%);
}
.cards__gradient--pink {
  background: linear-gradient(225deg, #ddabbb 0%, #bc8999 100%);
}
.cards__gradient--magenta {
  background: linear-gradient(57.37deg, #B239E9 12.82%, #E83A95 116.44%);
}
.cards__gradient--purple {
  background: linear-gradient(225deg, #2c6bb1 0%, #684d9a 34.61%, #312783 100%);
}
.cards__gradient--green {
  background: linear-gradient(225deg, #41ac96 0%, #93e0d3 100%);
}
.cards__gradient--orange {
  background: linear-gradient(225deg, #b42421 0%, #fe805a 100%);
}
.cards__gradient--green-blue {
  background: linear-gradient(45deg, rgb(0, 111, 170) 0%, rgb(66, 190, 128) 100%);
}
.cards__gradient--violet {
  background: linear-gradient(62.39deg, #0156CB 5.92%, #6F39E9 76.38%);
}
.cards__gradient--violet-blue {
  background: linear-gradient(45deg, rgb(49, 39, 131) 0%, rgb(104, 77, 154) 70%, rgb(44, 107, 177) 100%);
}
.cards__gradient--light-blue {
  background: linear-gradient(45deg, rgb(1, 86, 203) 0%, rgb(1, 180, 203) 100%);
}
.cards__gradient--teal {
  background: linear-gradient(45deg, rgb(38, 119, 149) 0%, rgb(50, 182, 188) 100%);
}
.cards__gradient--yellow-blue {
  background: linear-gradient(45deg, rgb(188, 224, 108) 0%, rgb(34, 150, 173) 100%);
}
.cards__gradient--blue-yellow {
  background: linear-gradient(45deg, rgb(34, 150, 173) 0%, rgb(250, 167, 27) 100%);
}
.cards__gradient--violet-red {
  background: linear-gradient(45deg, rgb(49, 39, 131) 0%, rgb(252, 53, 93) 100%);
}
.cards__img {
  align-self: flex-end;
  width: 47%;
  max-height: 90%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left bottom;
     object-position: left bottom;
}
@media screen and (max-width: 1440px) {
  .cards__img {
    max-width: 43%;
  }
}
@media screen and (max-width: 767px) {
  .cards__img {
    max-width: 47%;
  }
}
.cards__inner {
  max-width: 48%;
}
@media screen and (max-width: 1440px) {
  .cards__inner {
    max-width: 52%;
  }
}
@media screen and (max-width: 767px) {
  .cards__inner {
    max-width: 48%;
    padding: 20px 0;
  }
}
.cards__pretitle {
  margin-bottom: 13px;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
@media screen and (max-width: 1023px) {
  .cards__pretitle {
    margin-bottom: 10px;
    font-size: 8px;
  }
}
.cards__title {
  color: #ffffff;
  font-weight: normal;
  font-size: 32px;
  letter-spacing: -0.01em;
  line-height: 39px;
}
@media screen and (max-width: 1440px) {
  .cards__title {
    font-size: 25px;
    line-height: 32px;
  }
}
@media screen and (max-width: 1023px) {
  .cards__title {
    font-size: 17px;
    line-height: 21px;
  }
}
.cards__text {
  margin-top: 6px;
  color: #ffffff;
  font-weight: normal;
  font-size: 15px;
  letter-spacing: -0.01em;
}
.cards__buttons {
  display: flex;
}
@media screen and (max-width: 1280px) {
  .cards__buttons {
    flex-direction: column;
  }
}
.cards__buttons .cards__cta {
  padding: 11px 25px;
}
@media screen and (max-width: 1280px) {
  .cards__buttons .cards__cta {
    margin-top: 10px;
  }
}
@media screen and (max-width: 435px) {
  .cards__buttons .cards__cta {
    padding: 11px 16px;
  }
}
.cards__buttons .cards__cta:first-child {
  margin-right: 10px;
}
@media screen and (max-width: 1280px) {
  .cards__buttons .cards__cta:first-child {
    margin-top: 30px;
  }
}
@media screen and (max-width: 435px) {
  .cards__buttons .cards__cta:first-child {
    margin-top: 20px;
  }
}
.cards__cta {
  margin-top: 40px;
  color: #ffffff;
  border: 2px solid #ffffff;
}
.cards__cta:hover {
  color: #1d2127;
  background: #ffffff;
}
@media screen and (max-width: 1440px) {
  .cards__cta {
    margin-top: 30px;
  }
}
@media screen and (max-width: 1023px) {
  .cards__cta {
    margin-top: 17px;
    padding: 6px 13px;
    border: 1px solid #ffffff;
  }
}

.cards__item--small .cards__title {
  font-size: 25px;
  line-height: 32px;
}
@media screen and (max-width: 1023px) {
  .cards__item--small .cards__title {
    font-size: 17px;
    line-height: 21px;
  }
}
.cards__item--small .cards__text {
  margin-top: 12px;
  font-size: 12px;
  letter-spacing: 0.02em;
}

#cards--prepagato {
  padding-top: 50px;
  padding-bottom: 50px;
}
@media screen and (max-width: 435px) {
  #cards--prepagato .cards__inner {
    padding: 20px 0;
  }
}

.carousel-wide {
  padding: 120px 0 100px;
  min-height: 500px;
}
@media screen and (max-width: 1023px) {
  .carousel-wide {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .carousel-wide {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.carousel-wide__heading {
  text-align: center;
  padding-bottom: 60px;
  max-width: 950px;
  width: 100%;
  margin: 0 auto;
}
.carousel-wide__slider {
  border-radius: 6px;
}
.carousel-wide__slide {
  position: relative;
  max-width: 1500px;
  width: 100%;
  min-height: 500px;
  height: auto;
}
.carousel-wide__slide::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(244.28deg, rgba(0, 0, 0, 0) 31.5%, rgba(0, 0, 0, 0.7) 66.82%);
}
.carousel-wide__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  aspect-ratio: 1600/500;
}
.carousel-wide__inner {
  position: relative;
  max-width: 793px;
  width: 100%;
  height: 100%;
  padding: 70px;
  padding: 70px 70px 150px;
  z-index: 1;
}
@media screen and (max-width: 1280px) {
  .carousel-wide__inner {
    padding: 70px 50px 130px;
    top: 0;
  }
}
@media screen and (max-width: 991px) {
  .carousel-wide__inner {
    padding: 50px 25px 110px;
  }
}
.carousel-wide__title {
  color: #ffffff;
  font-weight: 300;
  line-height: 47px;
}
@media screen and (max-width: 1023px) {
  .carousel-wide__title {
    font-size: 25px;
    line-height: 32px;
  }
}
.carousel-wide__text {
  padding-top: 50px;
}
.carousel-wide__text h3 {
  line-height: 23px;
  font-weight: 400;
  color: #ffffff;
}
.carousel-wide__text p {
  padding-top: 10px;
  font-size: 19px;
  font-weight: 400;
  opacity: 0.55;
  color: #ffffff;
  line-height: 23px;
}
@media screen and (max-width: 1023px) {
  .carousel-wide__text p {
    font-size: 17px;
  }
}
.carousel-wide__navigation {
  position: absolute;
  bottom: 70px;
  left: 70px;
  max-width: -moz-max-content;
  max-width: max-content;
  width: 100%;
  z-index: 1;
  display: flex;
}
@media screen and (max-width: 1280px) {
  .carousel-wide__navigation {
    left: 50px;
  }
}
@media screen and (max-width: 991px) {
  .carousel-wide__navigation {
    left: 25px;
    bottom: 50px;
  }
}
.carousel-wide__arrow {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  transition: opacity 0.3s ease-in-out;
}
.carousel-wide__arrow:hover {
  opacity: 0.7;
}
.carousel-wide__arrow--left {
  background-image: url(../../../dms/z-dsc/Gallery/arrow-left.svg);
}
.carousel-wide__arrow--right {
  margin-left: 10px;
  background-image: url(../../../dms/z-dsc/Gallery/arrow-right.svg);
}

.carousel-logo {
  padding-bottom: 120px;
}
@media screen and (max-width: 1023px) {
  .carousel-logo {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .carousel-logo {
    padding-bottom: 80px;
  }
}
.carousel-logo--padding {
  padding-top: 100px;
}
@media screen and (max-width: 767px) {
  .carousel-logo--padding {
    padding-top: 80px;
  }
}
.carousel-logo__heading {
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
  color: #1d2127;
  text-align: center;
  padding-bottom: 40px;
}
.carousel-logo__wrapper {
  align-items: center;
}
.carousel-logo__img {
  margin: 0 40px;
  max-width: 150px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .carousel-logo__img {
    margin: 0 20px;
    max-width: 100px;
  }
}
.carousel-logo .swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: linear !important;
}

.carousel-cards {
  padding-top: 200px;
}
@media screen and (max-width: 1023px) {
  .carousel-cards {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .carousel-cards {
    padding-top: 80px;
  }
}
.carousel-cards--top {
  padding-top: 150px;
}
@media screen and (max-width: 1023px) {
  .carousel-cards--top {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .carousel-cards--top {
    padding-top: 80px;
  }
}
.carousel-cards__heading {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 30px 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .carousel-cards__heading {
    padding-bottom: 40px;
    padding: 0 15px 40px;
  }
}
.carousel-cards__heading--cta {
  max-width: 1500px;
  justify-content: space-between;
}
.carousel-cards__heading--cta .carousel-cards__main-title {
  font-weight: normal;
}
@media screen and (max-width: 1700px) {
  .carousel-cards__heading--cta {
    width: calc(100% - 400px);
  }
}
@media screen and (max-width: 1440px) {
  .carousel-cards__heading--cta {
    width: calc(100% - 200px);
  }
}
@media screen and (max-width: 1023px) {
  .carousel-cards__heading--cta {
    width: calc(100% - 120px);
  }
}
@media screen and (max-width: 767px) {
  .carousel-cards__heading--cta {
    width: calc(100% - 40px);
  }
}
.carousel-cards__carousel {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1700px) {
  .carousel-cards__carousel {
    margin-left: auto;
    margin-right: 0;
    max-width: calc(100% - 200px);
  }
}
@media screen and (max-width: 1440px) {
  .carousel-cards__carousel {
    max-width: calc(100% - 100px);
  }
}
@media screen and (max-width: 1023px) {
  .carousel-cards__carousel {
    max-width: calc(100% - 60px);
  }
}
@media screen and (max-width: 767px) {
  .carousel-cards__carousel {
    max-width: calc(100% - 20px);
  }
}
.carousel-cards__carousel--small {
  max-width: 1500px;
  padding-left: 30px;
}
@media screen and (max-width: 1700px) {
  .carousel-cards__carousel--small {
    margin-left: auto;
    margin-right: auto;
    max-width: calc(100% - 200px);
  }
}
@media screen and (max-width: 1440px) {
  .carousel-cards__carousel--small {
    max-width: calc(100% - 100px);
    padding-left: 15px;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-cards__carousel--small {
    max-width: calc(100% - 60px);
  }
}
@media screen and (max-width: 767px) {
  .carousel-cards__carousel--small {
    max-width: calc(100% - 20px);
    margin-left: auto;
    margin-right: 0;
    padding-left: 0;
  }
}
.carousel-cards__carousel--small .swiper-wrapper {
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .carousel-cards__carousel--small .swiper-wrapper {
    justify-content: initial;
  }
}
.carousel-cards__carousel--small .card {
  max-width: 500px;
}
.carousel-cards .owl-carousel .owl-stage {
  display: flex;
}
.carousel-cards .owl-carousel .owl-stage-outer {
  padding-bottom: 40px;
  margin-bottom: -40px;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 100%;
  height: auto !important;
  border-radius: 6px;
  transition: box-shadow 0.5s ease-in-out;
}
.card:hover {
  box-shadow: 0px 5px 22px rgba(0, 0, 0, 0.12);
}
.card:hover .card__cta {
  opacity: 1;
}
.card__img {
  width: 100%;
  max-height: 220px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-color: #ffffff;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  object-fit: cover;
  aspect-ratio: 375 / 220 !important;
}
.card__img::after {
  content: "";
  display: block;
  padding-bottom: 58.5%;
}
.card__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  /* min-height: 380px; */
  padding: 25px 40px;
  background-color: #ffffff;
  border: 1px solid rgba(53, 56, 62, 0.14);
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}
@media screen and (max-width: 1280px) {
  .card__inner {
    padding: 15px 20px;
    /* min-height: 300px; */
  }
}
@media screen and (max-width: 1023px) {
  .card__inner {
    /* min-height: 220px; */
  }
}
.card__inner--small {
  padding: 25px 32px;
}
@media screen and (max-width: 1280px) {
  .card__inner--small {
    padding: 15px 20px;
  }
}
.card__inner--small .card__title {
  margin-bottom: 10px;
  margin-top: 0;
}
.card__date {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: #1d2127;
  font-weight: normal;
  font-size: 14px;
}
@media screen and (max-width: 1023px) {
  .card__date {
    font-size: 12px;
  }
}
.card__date img {
  margin-right: 15px;
  width: 15px !important;
  height: 17px !important;
}
.card__title {
  margin-top: 10px;
  color: #1d2127;
  font-weight: normal;
  font-size: 19px;
  letter-spacing: -0.01em;
  line-height: 28px;
}
@media screen and (max-width: 1023px) {
  .card__title {
    font-size: 15px;
    line-height: 21px;
  }
}
.card__text {
  margin-top: 20px;
  color: #1d2127;
  font-weight: 300;
  font-size: 15px;
  line-height: 23px;
}
@media screen and (max-width: 1280px) {
  .card__text {
    display: none;
  }
}
.card__type {
  position: absolute;
  top: 8px;
  left: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: -moz-max-content;
  max-width: max-content;
  padding: 3px 10px;
  color: #ffffff;
  background: #0156cb;
  border-radius: 80px;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: -0.01em;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .card__type {
    top: 5px;
    left: 5px;
    font-size: 10px;
  }
}
.card[data-type="green"] .card__type {
  background: #39d09c;
}
.card[data-type="pink"] .card__type {
  background: #cb015e;
}
.card[data-type="blue"] .card__type {
  background: #0156cb;
}
.card[data-type="white"] .card__type {
  background: #ffffff;
  color: #01164A;
}
.card__cta {
  max-width: 100%;
  margin-top: 45px;
  opacity: 0;
}
@media screen and (max-width: 1023px) {
  .card__cta {
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .card__cta {
    opacity: 1;
  }
}
.card[data-type="green"] .card__cta {
  color: #39d09c;
  border-color: #39d09c;
}
.card[data-type="green"] .card__cta:hover {
  color: #ffffff;
  background-color: #39d09c;
}
.card[data-type="pink"] .card__cta {
  color: #cb015e;
  border-color: #cb015e;
}
.card[data-type="pink"] .card__cta:hover {
  color: #ffffff;
  background-color: #cb015e;
}
.card[data-type="blue"] .card__cta {
  color: #0156cb;
  border-color: #0156cb;
}
.card[data-type="blue"] .card__cta:hover {
  color: #ffffff;
  background-color: #0156cb;
}

.cards-settori {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 120px;
}
@media screen and (max-width: 1023px) {
  .cards-settori {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .cards-settori {
    padding-top: 60px;
  }
}
.cards-settori__heading {
  width: 100%;
  max-width: 825px;
  margin: 0 auto;
  padding: 0 0 60px;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cards-settori__heading {
    padding: 0 15px 37px;
  }
}
.cards-settori__items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: -80px;
  margin-left: -33px;
}
@media screen and (max-width: 767px) {
  .cards-settori__items {
    margin-left: -20px;
  }
}
@media screen and (max-width: 550px) {
  .cards-settori__items {
    margin-bottom: -33px;
  }
}
.cards-settori__item {
  width: calc(33.333% - 33px);
  margin-bottom: 80px;
  margin-left: 33px;
}
@media screen and (max-width: 1023px) {
  .cards-settori__item {
    width: calc(50% - 33px);
  }
}
@media screen and (max-width: 767px) {
  .cards-settori__item {
    width: calc(50% - 20px);
    margin-left: 20px;
  }
}
@media screen and (max-width: 550px) {
  .cards-settori__item {
    width: 100%;
    margin-bottom: 33px;
  }
}
.cards-settori__item--hidden {
  display: none;
}
.cards-settori__img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 470/310;
  border-radius: 6px;
}
.cards-settori__inner {
  padding: 30px 0 0;
}
@media screen and (max-width: 550px) {
  .cards-settori__inner {
    padding-top: 20px;
  }
}
.cards-settori__pretitle {
  margin-bottom: 15px;
  font-weight: 600;
  font-size: 25px;
  line-height: 32px;
  color: #0156cb;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cards-settori__pretitle {
    font-size: 19px;
    line-height: 24px;
  }
}
.cards-settori__title {
  font-weight: normal;
  font-size: 18px;
  line-height: 23px;
  color: #1d2127;
  font-weight: 400;
  text-align: center;
  max-width: 330px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .cards-settori__title {
    font-size: 17px;
  }
}
.cards-settori__cta {
  margin: 5px auto 65px;
}

.banner {
  position: relative;
  min-height: 500px;
}
@media screen and (max-width: 767px) {
  .banner {
    min-height: 600px;
  }
}
.banner img {
  aspect-ratio: 1600/600;
  width: 100%;
  max-height: 600px;
  -o-object-fit: cover;
     object-fit: cover;
  min-height: 500px;
}
@media screen and (max-width: 767px) {
  .banner img {
    min-height: 600px;
  }
}
.banner__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  text-align: center;
  padding: 0 50px;
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}
.banner__title {
  color: #ffffff;
  padding-bottom: 30px;
}
.banner__text {
  color: #ffffff;
  font-weight: 300;
}
.banner__cta {
  margin: 60px auto 0;
}
.banner__buttons {
  display: flex;
}
.banner__buttons .banner__cta:first-child {
  margin-right: 10px;
}
@media screen and (max-width: 550px) {
  .banner__buttons .banner__cta:first-child {
    margin: 60px auto 0;
  }
}
.banner__buttons .banner__cta:last-child {
  margin-left: 10px;
}
@media screen and (max-width: 550px) {
  .banner__buttons .banner__cta:last-child {
    margin: 20px auto 0;
  }
}
@media screen and (max-width: 550px) {
  .banner__buttons {
    flex-direction: column;
  }
}

.hero {
  width: 100%;
  height: 100vh;
  max-height: 1000px;
  position: relative;
  overflow: hidden;
  min-height: 720px;
}
@media screen and (max-width: 767px) {
  .hero {
    /* min-height: 650px; */
    min-height: 450px;
  }
}
.hero::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 11.89%, rgba(0, 0, 0, 0) 29.61%), linear-gradient(289.38deg, rgba(0, 0, 0, 0.4) 45.57%, rgba(0, 0, 0, 0) 66.25%);
}
.hero__wrapper--centered {
  align-items: center !important;
}
.hero__image {
  position: absolute;
  left: 0;
  top: 0;
  height: 100vh;
  max-height: 1000px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  min-height: 720px;
}
@media screen and (max-width: 767px) {
  .hero__image {
    min-height: 450px;
  }
}
.hero__inner {
  display: flex;
  align-items: center;
  width: 88%;
  justify-content: flex-end;
  height: 100%;
  padding: 150px 0 100px;
}
@media screen and (max-height: 785px) and (min-width: 767px) {
  .hero__inner {
    /* height: calc(100vh - 170px); */
  }
}
@media screen and (max-width: 1200px) {
  .hero__inner {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .hero__inner {
    flex-direction: column;
    width: 100%;
    padding: 100px 0 50px;
  }
}
.hero__left {
  position: relative;
  max-width: 54.5%;
}
@media screen and (max-height: 785px) and (min-width: 767px) {
  .hero__left {
    height: calc(100vh - 170px);
  }
}
@media screen and (max-width: 767px) {
  .hero__left {
    max-width: 100%;
    order: 2;
  }
}
.hero__shape {
  position: absolute;
  bottom: 0;
  left: 0;
}
.hero__right {
  max-width: 44.5%;
  z-index: 1;
  opacity: 0;
}
.hero__right--half {
  margin-left: auto;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .hero__right {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    text-align: center;
    order: 1;
  }
}
.hero__right--centered {
  max-width: 100%;
  text-align: center;
  margin-bottom: 0;
  margin-top: 9.5%;
}
.hero__logo {
  margin-bottom: 27px;
}
@media screen and (max-width: 1023px) {
  .hero__logo {
    width: 120px;
    margin-bottom: 20px;
  }
}
.hero__logo--centered {
  margin-left: auto;
  margin-right: auto;
}
.hero__pretitle {
  color: #ffffff;
  max-width: 500px;
}
.hero__title {
  color: #ffffff;
  max-width: 500px;
}
.hero__title--small {
  font-size: 42px;
  line-height: 1.21;
}
@media screen and (max-width: 1023px) {
  .hero__title--small {
    font-size: 32px;
  }
}
.hero__subtitle {
  color: #ffffff;
  font-weight: normal;
  max-width: 500px;
  margin-top: 25px;
}
.hero__subtitle--small {
  font-size: 25px;
  line-height: 38px;
  letter-spacing: -0.01em;
}
.hero__cta {
  margin-top: 30px;
}
@media screen and (max-width: 1023px) {
  .hero__cta {
    margin-top: 24px;
  }
}

.accordion-alt {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0 auto;
  padding-top: 160px;
}
@media screen and (max-width: 1023px) {
  .accordion-alt {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .accordion-alt {
    padding-top: 60px;
  }
}
.accordion-alt__heading {
  max-width: 750px;
}
.accordion-alt__heading--blue {
  max-width: 940px;
}
.accordion-alt__heading--blue strong {
  color: #0156cb;
  font-weight: 500;
}
.accordion-alt__subtitle {
  max-width: 750px;
  margin-top: 18px;
}
.accordion-alt__inner {
  width: 100%;
  margin-top: 50px;
  border-bottom: 1px solid #e5dcde;
}
.accordion-alt__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 32px 13px;
  border-top: 1px solid #e5dcde;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .accordion-alt__container {
    padding: 25px 0 25px 13px;
  }
}
.accordion-alt__title {
  display: flex;
  align-items: center;
  color: #1d2127;
  font-weight: normal;
  font-size: 25px;
  letter-spacing: -0.01em;
  line-height: 32px;
}
@media screen and (max-width: 1023px) {
  .accordion-alt__title {
    padding-right: 30px;
    font-size: 17px;
  }
}
@media screen and (max-width: 767px) {
  .accordion-alt__title {
    font-size: 15px;
  }
}
.accordion-alt__title img {
  margin-right: 30px;
}
.accordion-alt__expand {
  transition: transform 0.25s ease-in-out, opacity 0.25s ease-in-out;
  transform: rotate(0);
}
.accordion-alt__expand--expanded {
  transform: rotate(-180deg);
  opacity: 0.3;
}
.accordion-alt__panel {
  width: 100%;
  max-height: 0;
  padding: 0 13px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}
.accordion-alt__panel--opened {
  max-height: 1000px;
  padding-bottom: 32px;
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.accordion-alt__panel--img {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 991px) {
  .accordion-alt__panel--img {
    flex-direction: column;
    align-items: flex-start;
  }
}
.accordion-alt__img {
  padding-right: 50px;
  padding-left: 40px;
  max-width: 500px;
}
@media screen and (max-width: 1024px) {
  .accordion-alt__img {
    padding-right: 0;
  }
}
@media screen and (max-width: 991px) {
  .accordion-alt__img {
    padding-left: 0;
    padding-top: 30px;
  }
}
.accordion-alt__text ul {
  list-style-image: url(../../../dms/z-dsc/Gallery/icon-check-accordion-list.svg);
  padding-inline-start: 22px;
}
.accordion-alt__text ul li {
  padding-left: 5px;
  margin-bottom: 12px;
}
.accordion-alt__text strong {
  font-weight: 500;
}
.accordion-alt__text--img {
  line-height: 23px;
}
.accordion-alt__text--img ul {
  list-style: disc;
  margin: 10px 0;
}
.accordion-alt__text--img ul li {
  margin-bottom: 0;
}
.accordion-alt__cta {
  margin-top: 50px;
}
@media screen and (max-width: 1023px) {
  .accordion-alt__cta {
    margin-top: 40px;
  }
}
@media screen and (max-width: 480px) {
  .accordion-alt__cta {
    min-width: 100%;
  }
}

.square {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  padding-top: 160px;
}
@media screen and (max-width: 1023px) {
  .square {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .square {
    padding-top: 60px;
  }
}
.square--inverted {
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .square {
    flex-direction: column;
  }
}
.square__logo {
  max-height: 60px;
  margin-bottom: 36px;
  max-width: 150px;
}
@media screen and (max-width: 1023px) {
  .square__logo {
    max-height: 100px;
    margin-bottom: 26px;
  }
}
.square__img {
  aspect-ratio: 739/700;
  -o-object-fit: cover;
     object-fit: cover;
  width: 53%;
  margin-right: 9%;
}
.square__img--inverted {
  margin-right: 0;
  margin-left: 9%;
}
@media screen and (max-width: 1023px) {
  .square__img {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .square__img {
    width: 100%;
    max-width: 470px;
    margin-left: 0;
    margin-right: 0;
    order: 2;
  }
}
.square__inner {
  width: 38%;
}
@media screen and (max-width: 767px) {
  .square__inner {
    width: 100%;
    margin-bottom: 30px;
    order: 1;
  }
}
.square__pretitle {
  margin-bottom: 11px;
}
.square__pretitle--red {
  color: #EF233C;
}
.square__pretitle--blue {
  color: #0156cb;
}
.square__pretitle--navy {
  color: #002060;
}
.square__title {
  max-width: 470px;
  margin-bottom: 19px;
}
.square__title--bold {
  font-weight: 500;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .square__title {
    max-width: 100%;
    margin-bottom: 19px;
  }
}
.square__subtitle {
  max-width: 470px;
  margin-bottom: 21px;
  font-weight: normal;
  font-size: 19px;
  line-height: 32px;
  color: #1d2127;
}
.square__text {
  max-width: 470px;
}
@media screen and (max-width: 767px) {
  .square__text {
    max-width: 100%;
  }
}
.square__text a {
  color: #0156cb;
  font-weight: bold;
}
.square__text ul {
  list-style: none;
  padding-left: 30px !important;
}
.square__text ul li {
  position: relative;
}
.square__text ul li::after {
  content: url(../../../dms/z-dsc/Gallery/arrow-right-list.svg);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -30px;
  width: 24px;
  height: 24px;
}
.square__voice {
  display: flex;
  align-items: center;
  max-width: 400px;
  margin: 32px 0;
}
.square__voice img {
  margin-right: 30px;
}
.square__contact {
  display: flex;
  align-items: flex-start;
  margin-top: 55px;
}
@media screen and (max-width: 1023px) {
  .square__contact {
    margin-top: 35px;
  }
}
.square__contact img {
  margin-right: 38px;
}
@media screen and (max-width: 1023px) {
  .square__contact img {
    margin-right: 28px;
  }
}
.square__address {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-weight: normal;
  font-size: 17px;
  line-height: 27px;
  color: #1d2127;
}
@media screen and (max-width: 1023px) {
  .square__address {
    font-size: 15px;
  }
}
.square__phone, .square__email {
  font-weight: normal;
  font-size: 17px;
  line-height: 27px;
  color: #1d2127;
  transition: opacity 0.3s ease-in-out;
}
@media screen and (max-width: 1023px) {
  .square__phone, .square__email {
    font-size: 15px;
  }
}
.square__phone:hover, .square__email:hover {
  opacity: 0.7;
}
.square__map {
  margin-top: 5px;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.02em;
  color: #0156cb;
  text-transform: uppercase;
}
.square__cta {
  margin-top: 50px;
}
@media screen and (max-width: 1023px) {
  .square__cta {
    margin-top: 24px;
  }
}
@media screen and (max-width: 767px) {
  .square__cta {
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 480px) {
  .square__cta {
    min-width: 100%;
  }
}

.square__cta--second {
  margin-top: 30px;
}

.info-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 120px;
}
@media screen and (max-width: 1023px) {
  .info-center {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .info-center {
    padding-top: 60px;
  }
}
.info-center--padding {
  padding-bottom: 150px;
  padding-top: 150px;
  max-width: 1070px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .info-center--padding {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .info-center--padding {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.info-center--padding--bottom {
  padding-bottom: 0 !important;
}
.info-center--padding-bottom {
  padding-bottom: 150px;
  padding-top: 0;
  max-width: 1070px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .info-center--padding-bottom {
    padding-top: 0;
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .info-center--padding-bottom {
    padding-top: 0;
    padding-bottom: 60px;
  }
}
@media (max-width: 1023px) {
  .info-center__pretitle {
    margin-bottom: 23px;
  }
}
.info-center__heading {
  max-width: 1000px;
  text-align: center;
}
.info-center__heading p {
  margin-top: 29px;
}
.info-center__heading strong {
  font-weight: inherit;
  color: #0156cb;
}
.info-center__heading--violet strong {
  color: #312783;
}
.info-center__heading--cta {
  margin-top: 60px;
}
@media (max-width: 1023px) {
  .info-center__heading--cta {
    margin-top: 40px;
  }
}
.info-center__heading--big {
  max-width: 870px;
}
.info-center__items {
  display: flex;
  flex-wrap: wrap;
  margin-top: 80px;
  margin-left: -55px;
  margin-bottom: -55px;
}
@media screen and (max-width: 650px) {
  .info-center__items {
    margin-top: 60px;
    margin-left: -33px;
    margin-bottom: -33px;
  }
}
.info-center__item {
  width: calc(25% - 55px);
  margin-left: 55px;
  margin-bottom: 55px;
}
@media screen and (max-width: 1150px) {
  .info-center__item {
    width: calc(33% - 55px);
  }
}
@media screen and (max-width: 1023px) {
  .info-center__item {
    display: flex;
    align-items: flex-start;
  }
}
@media screen and (max-width: 850px) {
  .info-center__item {
    width: calc(50% - 55px);
  }
}
@media screen and (max-width: 650px) {
  .info-center__item {
    width: 100%;
    margin-left: 33px;
    margin-bottom: 33px;
  }
}
.info-center__icon {
  margin-bottom: 25px;
  filter: invert(17%) sepia(85%) saturate(4946%) hue-rotate(209deg) brightness(90%) contrast(99%);
}
@media screen and (max-width: 1023px) {
  .info-center__icon {
    margin-bottom: 0;
    margin-right: 25px;
  }
}
@media screen and (max-width: 767px) {
  .info-center__icon {
    max-width: 28px;
  }
}
.info-center__icon--violet {
  filter: invert(8%) sepia(86%) saturate(4826%) hue-rotate(249deg) brightness(93%) contrast(87%);
}
.info-center__title {
  color: #1d2127;
  font-weight: bold;
  font-size: 19px;
  line-height: 25px;
}
@media screen and (max-width: 1023px) {
  .info-center__title {
    font-size: 15px;
  }
}
.info-center__text {
  margin-top: 15px;
  color: #1d2127;
  font-weight: 300;
  font-size: 15px;
  line-height: 23px;
}
@media screen and (max-width: 767px) {
  .info-center__text {
    margin-top: 6px;
  }
}
.info-center__cta {
  margin-top: 30px;
  color: #1d2127;
}
@media screen and (max-width: 480px) {
  .info-center__cta {
    max-width: 100%;
  }
}
.info-center__cta img {
  margin-right: 15px;
  filter: invert(20%) sepia(55%) saturate(4443%) hue-rotate(209deg) brightness(92%) contrast(99%);
  transition: filter 0.1s ease-in-out;
}
.info-center__cta:hover img {
  filter: invert(100%);
}
.info-center__cta--violet {
  border: 2px solid #312783;
}
.info-center__cta--violet:hover {
  color: #ffffff;
  background: #312783;
}
.info-center__cta--violet img {
  filter: invert(15%) sepia(43%) saturate(3867%) hue-rotate(237deg) brightness(91%) contrast(99%);
}
.info-center__cta--white {
  color: #ffffff;
  margin-top: 100px;
}

.video {
  aspect-ratio: 16/9;
  background-color: black;
  margin-bottom: -5px;
}
.video__heading {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding-top: 100px;
  padding-bottom: 60px;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .video__heading {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .video__heading {
    padding-top: 60px;
  }
}
.video__heading--studenti {
  max-width: 582px;
  padding-bottom: 24px;
}
.video__heading--padding {
  padding-bottom: 29px;
  font-weight: 500;
}
.video__text {
  color: #383737;
  padding-bottom: 69px;
  max-width: 594px;
  width: 100%;
  margin: 0 auto -224px;
  text-align: center;
}
.video__text strong {
  font-weight: bold;
}
.video__title {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 21px;
  font-weight: bold;
  font-size: 17px;
  color: #383737;
  text-align: center;
}
.video__title img {
  margin-right: 19px;
}
.video__container {
  position: relative;
  padding: 20px;
  border-radius: 10px;
  border: 1px solid rgba(53, 56, 62, 0.14);
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .video__container {
    padding: 10px;
  }
}
@media screen and (max-width: 480px) {
  .video__container {
    padding: 0;
    border-radius: 0;
  }
}
.video__container--margin {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .video__container--margin {
    margin-top: 60px;
  }
}
.video__container--studenti {
  bottom: -224px;
  border: none;
}
@media screen and (max-width: 667px) {
  .video__container--studenti {
    bottom: -105px;
  }
}
.video__container--software {
  bottom: -224px;
  border: none;
  max-width: 1056px;
  width: 100%;
  margin: 0 auto 224px;
}
.video__container--prodotti {
  max-width: 1056px;
  width: 100%;
  margin: 90px auto 0;
}
.video__container--news {
  padding: 0;
  border: 0;
  background-color: transparent;
  border-radius: 12px;
}
.video__container--news iframe {
  border-radius: 12px;
  aspect-ratio: 16/9;
  border: none;
}
.video__overlay {
  position: absolute;
  top: 20px;
  left: 20px;
  width: calc(100% - 40px);
  height: calc(100% - 120px);
  background: transparent;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .video__overlay {
    top: 10px;
    left: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 90px);
  }
}
.video__button {
  position: absolute;
  top: calc(53% - 20px);
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 122px;
  height: 122px;
  border: 3px solid #fff;
  border-radius: 50%;
  transition: opacity 0.3s ease-in-out;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .video__button {
    top: calc(53.5% - 20px);
  }
}
@media screen and (max-width: 767px) {
  .video__button {
    top: calc(52.5% - 10px);
    width: 72px;
    height: 72px;
  }
}
@media screen and (max-width: 480px) {
  .video__button {
    top: calc(49% - 10px);
  }
}
.video__button:hover {
  opacity: 0.7;
}
.video__button:after {
  content: "";
  display: block;
  width: 32px;
  height: 26px;
  border-style: solid;
  border-width: 16px 0px 16px 26px;
  border-color: transparent transparent transparent #ffffff;
  border-radius: 3px;
  margin-left: 13px;
}
@media screen and (max-width: 767px) {
  .video__button:after {
    width: 23px;
    height: 17px;
    border-style: solid;
    border-width: 11.5px 0px 11.5px 17px;
    margin-left: 12px;
  }
}
.video__button--hidden {
  display: none;
}
@media not all and (-webkit-min-device-pixel-ratio: 0), not all and (min-resolution: 0.001dpcm) {
  @supports (-webkit-appearance: none) and (stroke-color: transparent) {
    .video__button {
      display: none;
    }
  }
}
@supports (-moz-appearance: none) {
  .video__button {
    display: none;
  }
}
@supports (-webkit-touch-callout: none) {
  .video__button {
    display: none;
  }
}

video[poster] {
  -o-object-fit: cover;
     object-fit: cover;
}

.cards-societa {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 120px;
}
@media screen and (max-width: 1023px) {
  .cards-societa {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .cards-societa {
    padding-top: 60px;
  }
}
.cards-societa--prodotti {
  padding-top: 150px;
}
@media screen and (max-width: 1023px) {
  .cards-societa--prodotti {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .cards-societa--prodotti {
    padding-top: 60px;
  }
}
.cards-societa--prodotti .cards-societa__heading {
  font-weight: 500;
  max-width: 870px;
}
.cards-societa__heading {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding: 0 30px 37px;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cards-societa__heading {
    padding: 0 15px 37px;
  }
}
.cards-societa__filters {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 64px;
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.cards-societa__filters::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 1023px) {
  .cards-societa__filters {
    justify-content: flex-start;
  }
}
.cards-societa__filter {
  min-width: -moz-max-content;
  min-width: max-content;
  padding: 10px 12px;
  background: #ffffff;
  border-radius: 80px;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 19px;
  text-align: left;
  color: rgba(53, 56, 62, 0.7);
  text-transform: uppercase;
  transition: color 0.3s ease-in-out, background 0.2s ease-in-out;
  cursor: pointer;
}
.cards-societa__filter:not(:last-child) {
  margin-right: 8px;
}
.cards-societa__filter--active, .cards-societa__filter:hover {
  background: #0156cb;
  color: #ffffff;
}
.cards-societa__items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: -80px;
  margin-left: -33px;
}
@media screen and (max-width: 767px) {
  .cards-societa__items {
    margin-left: -20px;
  }
}
@media screen and (max-width: 550px) {
  .cards-societa__items {
    margin-bottom: -33px;
  }
}
.cards-societa__item {
  width: calc(25% - 33px);
  margin-bottom: 80px;
  margin-left: 33px;
}
@media screen and (max-width: 1280px) {
  .cards-societa__item {
    width: calc(33% - 33px);
  }
}
@media screen and (max-width: 1023px) {
  .cards-societa__item {
    width: calc(50% - 33px);
  }
}
@media screen and (max-width: 767px) {
  .cards-societa__item {
    width: calc(50% - 20px);
    margin-left: 20px;
  }
}
@media screen and (max-width: 550px) {
  .cards-societa__item {
    width: 100%;
    margin-bottom: 33px;
  }
}
.cards-societa__item--hidden {
  display: none;
}
.cards-societa__item:hover .cards-societa__inner {
  opacity: 0.7;
}
.cards-societa__gradient {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 188px;
  border-radius: 6px;
}
.cards-societa__gradient--1 {
  background: linear-gradient(225deg, #ffcf74 0%, #ffe874 100%);
}
.cards-societa__gradient--2 {
  background: linear-gradient(225deg, #ba39e9 0%, #4d39e9 100%);
}
.cards-societa__gradient--3 {
  background: linear-gradient(225deg, #f4f4f4 0%, #b3bbc6 100%);
}
.cards-societa__gradient--4 {
  background: linear-gradient(225deg, #e30613 0%, #000 100%);
}
.cards-societa__gradient--5 {
  background: linear-gradient(225deg, #ffba00 0%, #f50 100%);
}
.cards-societa__gradient--6 {
  background: linear-gradient(225deg, #9abcea 0%, #0f9d58 100%);
}
.cards-societa__gradient--7 {
  background: linear-gradient(225deg, #cbdd8b 0%, #ce3f48 100%);
}
.cards-societa__gradient--8 {
  background: linear-gradient(225deg, #fff 0%, #e2e2e2 100%);
}
.cards-societa__gradient--9 {
  background: linear-gradient(212.66deg, rgba(217, 227, 236, 0.4) -11.21%, rgba(147, 179, 208, 0.4) 104.63%);
}
.cards-societa__img {
  padding: 10px;
  -o-object-fit: contain;
     object-fit: contain;
  max-width: 350px;
  max-height: 188px;
}
.cards-societa__inner {
  padding: 35px 10px 0;
  transition: opacity 0.2s ease-in-out;
}
@media screen and (max-width: 550px) {
  .cards-societa__inner {
    padding-top: 20px;
  }
}
.cards-societa__pretitle {
  margin-bottom: 13px;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 25px;
  color: #0156cb;
  text-align: center;
  text-transform: uppercase;
}
.cards-societa__title {
  font-weight: normal;
  font-size: 19px;
  letter-spacing: -0.01em;
  line-height: 22px;
  color: #35383e;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cards-societa__title {
    font-size: 15px;
    line-height: 20px;
  }
}
.cards-societa__subtitle {
  margin-top: 10px;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 19px;
  color: #babbbd;
  text-align: center;
  text-transform: uppercase;
}
.cards-societa__cta {
  margin: 43px auto 0;
}

.person-hero {
  display: flex;
  align-items: flex-start;
  min-height: 900px;
  padding-top: 280px;
}
.person-hero--top {
  padding-top: 170px;
}
@media screen and (max-width: 550px) {
  .person-hero--top {
    padding-top: 150px !important;
  }
}
@media screen and (max-width: 1023px) {
  .person-hero {
    min-height: 100%;
    padding-top: 180px;
  }
}
@media screen and (max-width: 550px) {
  .person-hero {
    padding-top: 240px;
  }
}
@media screen and (max-width: 550px) {
  .person-hero--contacts {
    min-height: 100%;
    padding-top: 120px;
  }
}
@media screen and (min-width: 1921px) {
  .person-hero__container {
    margin-right: calc(50vw - 325px);
  }
}
@media screen and (max-width: 1280px) {
  .person-hero__container {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (max-width: 1023px) {
  .person-hero__container {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .person-hero__container {
    flex-direction: column;
    margin-bottom: 80px;
  }
}
.person-hero__logo {
  max-width: 155px;
  width: 100%;
  margin-bottom: 45px;
  border: 1px solid rgba(53, 56, 62, 0.1490196078);
  border-radius: 6px;
}
.person-hero__logo img {
  max-width: 105px;
  width: 100%;
  margin: 20px 25px;
}
.person-hero__pretitle {
  max-width: 650px;
}
.person-hero__title {
  max-width: 650px;
  text-shadow: none;
}
.person-hero__title--small {
  color: #1d2127;
  font-weight: 500;
  font-size: 42px;
  letter-spacing: -0.02em;
  line-height: 55px;
}
@media screen and (max-width: 1023px) {
  .person-hero__title--small {
    font-size: 25px;
    line-height: 32px;
  }
}
.person-hero__subtitle {
  max-width: 650px;
  margin-top: 25px;
}
.person-hero__subtitle strong {
  font-weight: inherit;
  color: #0156cb;
}
.person-hero__subtitle--small {
  line-height: 26px;
  font-weight: 500;
}
.person-hero__text {
  max-width: 650px;
  margin-top: 35px;
  color: #1d2127;
  font-weight: normal;
  font-size: 21px;
  letter-spacing: -0.01em;
}
@media screen and (max-width: 1023px) {
  .person-hero__text {
    font-size: 17px;
  }
}
@media screen and (max-width: 767px) {
  .person-hero__text {
    font-size: 15px;
  }
}
.person-hero__list {
  display: flex;
}
.person-hero__list ul {
  list-style-image: url(../../../dms/z-dsc/Gallery/icon-check-accordion-list.svg);
  padding-inline-start: 22px;
}
.person-hero__list ul:not(:first-child) {
  margin-left: 60px;
}
@media screen and (max-width: 768px) {
  .person-hero__list ul:not(:first-child) {
    margin-left: 30px;
  }

  .person-hero__list ul {
    padding-inline-start: 0px;
    margin: 0 !important;
  }

  .person-hero__list {
    flex-direction: column;
  }
}
.person-hero__list ul li {
  padding-left: 5px;
}
.person-hero__cta {
  margin-top: 34px;
}
.person-hero__items {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 650px;
  margin-top: 70px;
  margin-bottom: -50px;
}
@media screen and (min-width: 1600px) {
  .person-hero__items {
    max-width: 750px;
  }
}
@media screen and (max-width: 1280px) {
  .person-hero__items {
    max-width: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .person-hero__items {
    margin-top: 50px;
  }
}
.person-hero__item {
  margin-bottom: 50px;
  width: calc(50% - 50px);
  min-width: 250px;
}
@media screen and (max-width: 1023px) {
  .person-hero__item {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 650px) {
  .person-hero__item {
    width: 100%;
  }
}
.person-hero__number {
  margin-bottom: 8px;
  font-weight: bold;
  font-size: 28px;
  line-height: 27px;
  color: #0156cb;
}
.person-hero__name {
  font-weight: bold;
  font-size: 19px;
  line-height: 25px;
  color: #1d2127;
}
@media screen and (max-width: 767px) {
  .person-hero__name {
    font-size: 17px;
    line-height: 20px;
  }
}
.person-hero__description {
  margin-top: 15px;
  font-weight: 300;
  font-size: 15px;
  line-height: 23px;
  color: #383737;
}
.person-hero__person {
  position: absolute;
  bottom: 0;
  right: 20px;
}
.person-hero__person--right {
  right: 0;
  bottom: 185px;
}
.person-hero__person--contacts {
  bottom: -15px;
}
@media screen and (max-width: 1280px) {
  .person-hero__person {
    display: none;
  }
}
.person-hero__inner {
  margin-top: 40px;
}
@media screen and (max-width: 1023px) {
  .person-hero__inner {
    margin-top: 30px;
  }
}
.person-hero__name {
  font-weight: bold;
  font-size: 19px;
  line-height: 25px;
  color: #1d2127;
}
.person-hero__contact {
  display: flex;
  align-items: center;
  margin-top: 13px;
}
.person-hero__contact img {
  margin-right: 24px;
}
.person-hero__address {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-weight: normal;
  font-size: 21px;
  letter-spacing: -0.01em;
  line-height: 1.476;
  color: #1d2127;
}
@media screen and (max-width: 1023px) {
  .person-hero__address {
    font-size: 17px;
  }
}
.person-hero__action {
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.02em;
  color: #0156cb;
  text-transform: uppercase;
}

.person-hero--green .person-hero__subtitle strong {
  color: #39d09c;
}
.person-hero--green .person-hero__number {
  color: #39d09c;
}

.person-hero--purple .person-hero__subtitle strong {
  color: #312783;
}
.person-hero--purple .person-hero__number {
  color: #312783;
}

.person-hero--green.person-hero--store .person-hero__title strong {
  color: #39d09c;
}

@media screen and (max-width: 1023px) {
  .person-hero--store {
    flex-direction: column;
  }
}
@media screen and (max-width: 1023px) {
  .person-hero--store .person-hero__container {
    margin-bottom: -100px;
  }
}
@media screen and (max-width: 1023px) {
  .person-hero--store .person-hero__container {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 500px) {
  .person-hero--store .person-hero__container {
    margin-bottom: 50px;
  }
}
.person-hero--store .person-hero__title {
  max-width: 465px;
}
.person-hero--store .person-hero__subtitle {
  font-size: 25px;
  color: #1d2127;
  letter-spacing: -0.01em;
  line-height: 38px;
  font-weight: 400;
  max-width: 600px;
}
.person-hero--store .person-hero__subtitle strong {
  color: #1d2127;
  font-weight: bold;
}
@media screen and (max-width: 1023px) {
  .person-hero--store .person-hero__subtitle {
    font-size: 20px;
    line-height: 28px;
  }
}
.person-hero--store .person-hero__person {
  bottom: 77px;
}
@media screen and (max-width: 1280px) {
  .person-hero--store .person-hero__person {
    display: block;
    max-width: 390px;
    bottom: 63px;
  }
}
@media screen and (max-width: 1023px) {
  .person-hero--store .person-hero__person {
    position: relative;
    align-self: flex-end;
  }
}
@media screen and (max-width: 500px) {
  .person-hero--store .person-hero__person {
    max-width: 310px;
    bottom: 47px;
  }
}
@media screen and (max-width: 374px) {
  .person-hero--store .person-hero__person {
    max-width: 224px;
    bottom: 34px;
  }
}

.block-diagram {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  padding-top: 150px;
  justify-content: flex-end;
  justify-content: space-between;
  max-width: 1281px;
  width: calc(100% - 110px);
  margin-right: 110px;
}
@media screen and (max-width: 1280px) {
  .block-diagram {
    flex-direction: column;
    margin-right: 60px;
    width: calc(100% - 60px);
  }
}
@media screen and (max-width: 1023px) {
  .block-diagram {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .block-diagram {
    margin-right: 0;
    width: 100%;
    padding-top: 60px;
    flex-direction: column;
  }
}
.block-diagram__inner {
  width: 36%;
  max-width: 450px;
}
@media screen and (max-width: 1280px) {
  .block-diagram__inner {
    width: 100%;
    max-width: 100%;
    margin-bottom: 80px;
  }
}
.block-diagram__logo {
  margin-bottom: 25px;
}
.block-diagram__pretitle--big {
  font-size: 25px;
  text-transform: unset;
  color: #1d2127;
  line-height: 38px;
  letter-spacing: -0.02em;
}
.block-diagram__preheading {
  font-size: 25px;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 38px;
  color: #1d2127;
  margin-bottom: 20px;
}
@media screen and (max-width: 1023px) {
  .block-diagram__preheading {
    font-size: 20px;
    line-height: 28px;
  }
}
.block-diagram__heading {
  max-width: 450px;
}
.block-diagram__heading--small {
  color: #1d2127;
  font-weight: 500;
  font-size: 32px;
  letter-spacing: -0.01em;
  line-height: 45px;
  max-width: 330px;
}
@media screen and (max-width: 1023px) {
  .block-diagram__heading--small {
    font-size: 25px;
    letter-spacing: -0.02em;
    line-height: 32px;
  }
}
@media screen and (max-width: 1280px) {
  .block-diagram__heading {
    max-width: 100%;
  }
}
.block-diagram__subtitle {
  font-size: 25px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 38px;
  color: #1d2127;
  padding-top: 25px;
}
.block-diagram__subtitle strong {
  font-weight: 500;
}
@media screen and (max-width: 1023px) {
  .block-diagram__subtitle {
    font-size: 20px;
    line-height: 28px;
  }
}
.block-diagram__text {
  max-width: 450px;
  margin-top: 30px;
  color: #35383e;
}
@media screen and (max-width: 1023px) {
  .block-diagram__text {
    margin-top: 15px;
  }
}
@media screen and (max-width: 1280px) {
  .block-diagram__text {
    max-width: 100%;
  }
}
.block-diagram__text span {
  color: #0156cb;
}
.block-diagram__cta {
  margin-top: 30px;
}
.block-diagram__cta--icon img {
  margin-right: 15px;
  filter: invert(20%) sepia(55%) saturate(4443%) hue-rotate(209deg) brightness(92%) contrast(99%);
  transition: filter 0.1s ease-in-out;
}
.block-diagram__cta--icon:hover img {
  filter: invert(100%);
}
@media screen and (max-width: 1023px) {
  .block-diagram__cta {
    margin-top: 24px;
  }
}
@media screen and (max-width: 767px) {
  .block-diagram__cta {
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 480px) {
  .block-diagram__cta {
    min-width: 100%;
  }
}

.block-wide {
  position: relative;
  max-width: 1600px;
  width: 100%;
  border-radius: 6px;
  margin: 150px 0;
  min-height: 500px;
  overflow: hidden;
}
.block-wide--margin {
  margin: 0;
}

#block-wide {
  position: relative !important;
}
#block-wide__inner {
  position: absolute !important;
}
.block-wide::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(100.54deg, rgba(0, 0, 0, 0.6) 34.14%, rgba(0, 0, 0, 0) 61.26%);
}
@media screen and (max-width: 1023px) {
  .block-wide {
    margin: 80px 0;
  }
}
@media screen and (max-width: 1023px) {
  .block-wide--margin {
    margin: 0;
  }
}

.block-wide__img {
  aspect-ratio: 1600/600;
  width: 100%;
  max-height: 600px;
  min-height: 500px;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
  position: relative;
}
.block-wide__img--index {
  z-index: -1;
}
.block-wide__inner {
  position: absolute;
  top: 17%;
  left: 160px;
  z-index: 1;
  padding: 0 50px;
}
@media screen and (max-width: 1280px) {
  .block-wide__inner {
    left: 50px;
    top: 80px;
    padding-left: 0;
    padding-right: 50px;
  }
}
@media screen and (max-width: 991px) {
  .block-wide__inner {
    left: 25px;
    top: 50px;
    padding-right: 25px;
  }
}
.block-wide__title {
  color: #ffffff;
  padding-bottom: 30px;
}
.block-wide__text {
  color: #ffffff;
  font-weight: 300;
  max-width: 485px;
  width: 100%;
}
.block-wide__cta {
  margin: 60px 0 0;
}
.block-wide__cta--icon img {
  margin-right: 15px;
  filter: invert(99%) sepia(3%) saturate(7%) hue-rotate(109deg) brightness(107%) contrast(100%);
  transition: filter 0.1s ease-in-out;
}
.block-wide__cta--icon:hover img {
  filter: invert(20%) sepia(55%) saturate(4443%) hue-rotate(209deg) brightness(92%) contrast(99%);
}

.heading {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .heading {
    flex-direction: column;
  }
}
.heading--form {
  padding-top: 150px;
}
.heading--hero {
  padding-top: 200px;
}
@media (max-width: 550px) {
  .heading--hero {
    padding-top: 240px;
  }
}
.heading__img {
  max-width: 50%;
}
@media screen and (max-width: 767px) {
  .heading__img {
    max-height: 350px;
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
    margin-top: 30px;
    order: 2;
    max-width: 100%;
  }
}
.heading__logo {
  margin-bottom: 23px;
}
.heading__inner {
  max-width: 61.5%;
  margin-left: 11.5%;
}
@media screen and (max-width: 1023px) {
  .heading__inner {
    margin-left: 4.5%;
    max-width: 54.5%;
  }
}
@media screen and (max-width: 767px) {
  .heading__inner {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    order: 1;
  }
}
.heading__inner--long {
  margin-left: 7.5%;
}
@media screen and (max-width: 767px) {
  .heading__inner--long {
    margin-left: 0;
  }
}
.heading__inner--inverted {
  margin-right: 11.5%;
  margin-left: 0;
}
.heading__inner--inverted--long {
  margin-right: 7.5%;
}
@media screen and (max-width: 1023px) {
  .heading__inner--inverted {
    margin-left: 0;
    margin-right: 4.5%;
  }
}
@media screen and (max-width: 767px) {
  .heading__inner--inverted {
    margin-left: 0;
    margin-right: 0;
  }
}
.heading__pretitle {
  color: rgba(255, 255, 255, 0.7);
}
.heading__heading {
  color: #ffffff;
}
.heading__heading strong {
  color: #ffffff;
  font-weight: 600;
}
.heading__subtitle {
  font-size: 25px;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 38px;
  color: #ffffff;
  padding-top: 18px;
}
@media screen and (max-width: 1023px) {
  .heading__subtitle {
    font-size: 20px;
    line-height: 32px;
  }
}
.heading__text {
  max-width: 400px;
  margin-top: 10px;
  color: #ffffff;
  font-weight: normal;
  font-size: 17px;
  line-height: 28px;
}
.heading__text--long {
  max-width: 100%;
}
@media screen and (max-width: 1023px) {
  .heading__text {
    font-size: 15px;
  }
}
.heading__cta {
  margin-top: 30px;
  color: #ffffff;
  border: 2px solid #ffffff;
  background: transparent;
}
.heading__cta:hover {
  background: #0156cb;
  border: 2px solid #0156cb;
}

.heading--plan .heading__heading {
  max-width: 610px;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .heading--form .heading__img {
    max-height: 350px;
  }
}
.heading--form .heading__heading {
  max-width: 400px;
}

.heading--form-gdpr .heading__img {
  margin-top: -150px;
}
@media screen and (max-width: 767px) {
  .heading--form-gdpr .heading__img {
    max-height: 350px;
    margin-top: 30px;
  }
}
.heading--form-gdpr .heading__heading {
  max-width: 400px;
}

.heading--form-corso .heading__img {
  margin-top: -150px;
}
@media screen and (max-width: 767px) {
  .heading--form-corso .heading__img {
    max-height: 350px;
    margin-top: 30px;
  }
}
.heading--form-corso .heading__heading {
  max-width: 400px;
}

.heading--news .heading__inner {
  margin-left: 5%;
}
.heading--news .heading__img {
  max-width: 50%;
}
@media screen and (max-width: 767px) {
  .heading--news .heading__img {
    max-width: 80%;
    max-height: 350px;
  }
}

@media screen and (min-width: 1024px) {
  .heading--gruppo {
    padding-top: 100px;
  }
}
@media screen and (min-width: 768px) {
  .heading--gruppo .heading__img {
    width: 50%;
    min-width: 430px;
  }
}
.heading--gruppo .heading__inner {
  margin-left: 7.5%;
}
@media screen and (max-width: 1023px) {
  .heading--gruppo .heading__inner {
    margin-left: 2.5%;
  }
}
.heading--gruppo .heading__inner--inverted {
  margin-right: 7.5%;
}
@media screen and (max-width: 1023px) {
  .heading--gruppo .heading__inner--inverted {
    margin-right: 2.5%;
  }
}
.heading--gruppo .heading__heading {
  font-weight: 400;
}

#heading--firma-check .heading__cta {
  background: linear-gradient(40deg, #0156cb 0%, #312783 100%);
  border: none;
}
#heading--firma-check .heading__cta::before {
  background: linear-gradient(40deg, #016cfe 0%, #4033aa 100%);
}
#heading--firma-check .heading__cta:hover::before {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  #heading--mobile {
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  #heading--mobile .heading__img {
    display: none;
  }
}

.heading--hero-telemaco,
.heading--hero-formazione {
  padding-top: 200px;
}
.heading--hero-telemaco .heading__img,
.heading--hero-formazione .heading__img {
  max-width: 35%;
}
@media screen and (max-width: 767px) {
  .heading--hero-telemaco .heading__img,
  .heading--hero-formazione .heading__img {
    max-height: 350px;
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
    margin-top: 30px;
    order: 2;
    max-width: 100%;
  }
}
@media (max-width: 550px) {
  .heading--hero-telemaco,
  .heading--hero-formazione {
    padding-top: 240px;
  }
}

.form {
  padding: 110px 120px;
  background-color: #ffffff;
  border-radius: 10px;
}
@media screen and (max-width: 1023px) {
  .form {
    padding: 48px 38px;
  }
}
@media screen and (max-width: 767px) {
  .form {
    padding: 35px 20px;
  }
}
.form__container {
  position: relative;
  scroll-margin-top: 60px;
  padding-bottom: 200px;
}
@media screen and (max-width: 1023px) {
  .form__container {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .form__container {
    padding-bottom: 80px;
  }
}
.form__pretitle {
  margin-bottom: 10px;
}
.form__title {
  color: #1d2127 !important;
  font-weight: normal;
  font-size: 25px !important;
  letter-spacing: -0.01em;
  text-shadow: none !important;
  margin: 0 !important;
}
@media screen and (max-width: 1023px) {
  .form__title {
    font-size: 17px;
  }
}
.form__subtitle {
  display: flex;
  align-items: center;
  margin: 20px 0 33px;
  font-weight: 300;
  font-size: 17px;
  line-height: 1.7;
  color: #383737;
}
@media screen and (max-width: 1023px) {
  .form__subtitle {
    font-size: 14px;
    margin: 20px 0;
  }
}
.form__row {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 28px;
}
@media screen and (max-width: 1023px) {
  .form__row {
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) {
  .form__row {
    flex-direction: column;
    margin-top: 0;
  }
}
.form__row--multiple {
  flex-direction: column;
  position: relative;
}
.form__row--margin {
  margin-top: 10px;
}
@media screen and (max-width: 1023px) {
  .form__row--margin {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .form__row--margin {
    margin-top: 0;
  }
}

.form__row--warning .form__label {
  color: #ce2547 !important;
  background-image: url(../../../dms/z-dsc/Gallery/icon-form-warning.svg);
  background-repeat: no-repeat;
  background-position: right;
  background-position-x: calc(100% - 15px);
}
.form__row--warning .form__input, .form__row--warning .form-control {
  background-color: rgba(206, 37, 71, 0.04);
  border: 1px solid #ce2547;
  background-image: url(../../../dms/z-dsc/Gallery/icon-form-warning.svg);
  background-repeat: no-repeat;
  background-position: right;
  background-position-x: calc(100% - 15px);
}
.form__row--warning .form__checkbox {
  border-color: #ce2547 !important;
  background-color: rgba(206, 37, 71, 0.04);
}
.form__row--warning .form__popup {
  display: block;
  right: 40px;
  top: -5px;
}
.form__row--warning .form__popup::before {
  right: -3px;
  top: 10px;
}
.form__row--warning .form__select {
  background-color: rgba(206, 37, 71, 0.04);
  border: 1px solid #ce2547;
}
.form__element {
  position: relative;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .form__element {
    margin-top: 25px;
  }
}
.form__element--half {
  width: 48.5%;
}
@media screen and (max-width: 767px) {
  .form__element--half {
    width: 100%;
  }
}
.form__element--checkbox {
  display: flex;
  align-items: center;
}
.form__element--checkbox .form__text {
  font-size: 13px;
  line-height: 15.23px;
  color: #000000;
  font-weight: 400;
}
.form__element--warning .form__label {
  color: #ce2547;
}
.form__element--warning .form__input, .form__element--warning .form-control {
  background-color: rgba(206, 37, 71, 0.04);
  border: 1px solid #ce2547;
  background-image: url(../../../dms/z-dsc/Gallery/icon-form-warning.svg);
  background-repeat: no-repeat;
  background-position: right;
  background-position-x: calc(100% - 15px);
}
.form__element--warning .form__popup {
  display: block;
}
.form__element--warning .form__select {
  background-color: rgba(206, 37, 71, 0.04);
  border: 1px solid #ce2547;
}
.form__element--warning em {
  display: none !important;
}
.form__element--flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.form__popup {
  display: none;
  position: absolute;
  top: 4px;
  right: 0;
  height: 32px;
  padding: 5px 12px;
  border-radius: 16px;
  background-color: #ce2547;
  color: #ffffff;
  font-weight: normal;
  font-size: 13px;
}
.form__popup::before {
  content: "";
  position: absolute;
  bottom: -4px;
  right: 20px;
  display: block;
  width: 11px;
  height: 11px;
  background-color: #ce2547;
  border-radius: 2px;
  transform: rotate(45deg);
}
.form__row--captcha .form__popup {
  top: -25px;
}
.form__label {
  display: block;
  margin-bottom: 10px;
  color: rgba(29, 33, 39, 0.8);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
@media screen and (max-width: 1023px) {
  .form__label {
    font-size: 12px;
    margin-bottom: 5px;
  }
}
.form__input, .form__select, .form-control {
  width: 100%;
  height: 50px;
  padding: 0 14px !important;
  background: #ffffff;
  border: 1px solid #c6c6c6;
  border-radius: 6px;
  color: rgba(53, 56, 62, 0.65);
  font-weight: normal;
  font-size: 14px;
  line-height: 49px;
}
@media screen and (max-width: 1023px) {
  .form__input, .form__select, .form-control {
    height: 40px;
    font-size: 13px;
    line-height: 40px;
  }
}
.form__input[type=file] {
  cursor: pointer;
}
.form__input[type=file]::file-selector-button {
  border: none;
  cursor: pointer;
  padding: 8px 14px;
  border-radius: 4px;
  background-color: #fafafa;
  margin-right: 20px;
  margin-left: -2px;
  font-size: 12px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.form__input--search {
  padding-left: 50px;
  background: url("../../../dms/z-dsc/Gallery/icon_lens.svg") 15px center no-repeat;
  background-size: auto 45%;
}
.form__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url(../../../dms/z-dsc/Gallery/icon-arrow-form.svg);
  background-repeat: no-repeat;
  background-position-x: calc(100% - 19px);
  background-position-y: 50%;
}
.form__privacy {
  margin: 40px 0 20px;
  color: #1d2127;
  font-weight: 500;
  font-size: 14px;
}
@media screen and (max-width: 1023px) {
  .form__privacy {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .form__privacy {
    margin: 40px 0 10px;
  }
}
.form__privacy a {
  color: #0156cb;
  font-weight: 500;
  font-size: 14px;
}
.form__consent {
  display: flex;
  align-items: flex-start;
  max-width: 550px;
  margin-top: 12px;
}
.form__checkbox {
  min-width: 20px;
  min-height: 20px;
  background: #ffffff;
  border: 1px solid #C6C6C6;
  border-radius: 2px;
}
.form__text {
  margin-left: 12px;
  font-weight: 300;
  font-size: 13px;
  line-height: 16px;
  color: rgba(29, 33, 39, 0.8);
}
.form__textarea {
  resize: none;
  height: 100px;
}
.form__warning {
  margin-top: 27px;
  margin-bottom: -18px;
  padding: 17px 32px;
  border-radius: 16px;
  background: rgba(206, 37, 71, 0.04);
  color: #ce2547;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: -0.01em;
  line-height: 1.533;
  display: none;
}
@media screen and (max-width: 1023px) {
  .form__warning {
    margin-bottom: 2px;
    padding: 17px;
    font-size: 14px;
  }
}
.form__warning--visible {
  display: block;
}
.form__cta {
  margin-top: 45px;
}
.form__button {
  height: 50px;
}
@media screen and (max-width: 1023px) {
  .form__cta {
    margin-top: 25px;
  }
}
@media screen and (max-width: 480px) {
  .form__cta {
    min-width: 100%;
  }
}
.form__back {
  max-width: 100%;
  width: 100%;
  padding-left: 20px;
  position: relative;
  color: #1d2127;
  display: block;
  margin-bottom: 44px;
  transition: color 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.form__back::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  max-height: 12px;
  width: 100%;
  height: 100%;
  background-image: url(../../../dms/z-dsc/Gallery/icon-arrow-left-back.svg);
  filter: invert(7%) sepia(10%) saturate(1596%) hue-rotate(176deg) brightness(97%) contrast(87%);
  background-repeat: no-repeat;
  transform: translateY(-50%);
  transition: filter 0.3s ease-in-out, transform 0.3s ease-in-out;
}
.form__back:hover {
  opacity: 0.7;
  color: #0156cb;
}
.form__back:hover::after {
  transform: translate(-7px, -50%);
  filter: invert(13%) sepia(89%) saturate(4030%) hue-rotate(209deg) brightness(109%) contrast(99%);
}
.form__menu {
  display: flex;
  padding-bottom: 12px !important;
}
@media screen and (max-width: 1180px) {
  .form__menu {
    overflow-x: auto;
    overflow-y: hidden;
  }
}
.form__menu li {
  min-width: -moz-max-content;
  min-width: max-content;
}
.form__menu li:not(:last-child) {
  padding-right: 40px;
}
.form__voice {
  font-weight: 500;
  color: rgba(29, 33, 39, 0.5);
  transition: color 0.3s ease-in-out;
}
.form__voice--active {
  color: #1d2127;
}
.form__voice:hover {
  color: #1d2127;
}
.form__description--custom {
  font-size: 15px;
  font-weight: 300;
  line-height: 23px;
  color: #383737;
}
.form__description--custom a {
  color: #0156cb;
  font-weight: 500;
  transition: opacity 0.3s ease-in-out;
}
.form__description--custom a:hover {
  opacity: 0.7;
}

.form--magenta .form__cta {
  background: #cb015e;
}
.form--magenta .form__cta::before {
  background: #fe0176;
}

.form--purple .form__cta {
  background: #312783;
}
.form--purple .form__cta::before {
  background: #4033aa;
}

.form--green .form__cta {
  background: linear-gradient(90deg, #006FAA 0%, #42BE80 100%);
}
.form--green .form__cta::before {
  background: linear-gradient(90deg, #0090dd 0%, #68cb9a 100%);
}
.form__hidden {
  opacity: 0;
  visibility: hidden;
  min-height: 0 !important;
  height: 0 !important;
}

.daterangepicker {
  font-family: "Roboto", sans-serif !important;
}
.daterangepicker .calendar-table th,
.daterangepicker .calendar-table td {
  font-size: 15px !important;
  width: 40px !important;
  height: 40px !important;
}
.daterangepicker td.in-range {
  background-color: rgba(1, 86, 203, 0.1) !important;
}
.daterangepicker .ranges li.active,
.daterangepicker td.active,
.daterangepicker td.active:hover {
  background-color: #0156cb !important;
}
.daterangepicker .drp-buttons {
  display: none !important;
}

.form-error {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.4);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}
.form-error--visible {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  z-index: 2;
}
.form-error__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 350px;
  height: 350px;
  padding: 45px;
  border-radius: 25px;
  background: #ce2547;
  box-shadow: 0px 13px 15px rgba(252, 53, 93, 0.3);
}
@media screen and (max-width: 480px) {
  .form-error__inner {
    width: 300px;
    height: 300px;
    padding: 22px;
    border-radius: 22px;
  }
}
.form-error__img {
  margin-bottom: 28px;
}
.form-error__title {
  font-weight: normal;
  font-size: 32px;
  letter-spacing: -0.01em;
  line-height: 39px;
  text-align: center;
  color: #ffffff;
}
.form-error__text {
  margin-top: 28px;
  font-weight: normal;
  font-size: 21px;
  letter-spacing: -0.01em;
  line-height: 31px;
  text-align: center;
  color: #ffffff;
}
.form-error__close {
  position: absolute;
  top: 25px;
  right: 25px;
  width: 20px;
  height: 20px;
  cursor: pointer;
}

.form-success {
  /* position: absolute;
  top: 0;
  left: 0; */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  /* background: rgba(255, 255, 255, 0.4); */
  margin: 0 0 0 auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}
.form-success--visible {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.form-success__inner {
  /* position: absolute;
  top: 50%;
  left: 50%; */
  /* transform: translate(-50%, -50%); */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 80px;
  border-radius: 25px;
  background: #ffffff;
  box-shadow: 0px 13px 15px rgba(57, 195, 147, 0.3);
}
@media screen and (max-width: 480px) {
  .form-success__inner {
    width: 300px;
    height: 300px;
    padding: 22px;
    border-radius: 22px;
  }
}
.form-success__img {
  margin-bottom: 40px;
}
.form-success__title {
  font-weight: 500;
  font-size: 32px;
  line-height: 45px;
  text-align: center;
  color: #1D2127;
}
.form-success__text {
  margin-top: 10px;
  font-weight: 300;
  font-size: 21px;
  letter-spacing: -0.01em;
  line-height: 26px;
  text-align: center;
  color: #1D2127;
}

.language-selector {
  position: relative;
  display: inline-block;
  background: #ffffff;
}
.language-selector:hover .language-selector__langs {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.language-selector:hover .language-selector__arrow {
  transform: rotate(-180deg);
}
@media screen and (max-width: 767px) {
  .language-selector {
    margin-top: 45px;
  }
}
.language-selector--header {
  background: transparent;
  height: 100%;
  display: flex;
  margin-left: 30px;
  border-left: 1px solid #e2e2e2;
  min-width: 45px;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .language-selector--header {
    margin-top: 0;
  }
}
.language-selector--header .language-selector__lang, .language-selector--header .language-selector__button {
  background-color: transparent;
  color: #1d2127;
  font-size: 15px;
  text-transform: uppercase;
  font-weight: 500;
  padding: 15px 30px;
}
@media screen and (max-width: 1185px) {
  .language-selector--header .language-selector__lang, .language-selector--header .language-selector__button {
    padding: 15px 23px;
  }
}
@media screen and (max-width: 767px) {
  .language-selector--header .language-selector__lang, .language-selector--header .language-selector__button {
    padding: 15px 12px;
  }
}
.language-selector--header .language-selector__lang {
  background-color: #ffffff;
}
.language-selector--header .language-selector__langs {
  height: 100%;
  bottom: -100%;
}
.language-selector--header--white {
  border-left: 1px solid #ffffff;
}
.language-selector--header--white .language-selector__lang, .language-selector--header--white .language-selector__button {
  color: #ffffff !important;
}
.language-selector--header--white .language-selector__lang {
  background-color: transparent !important;
}
.language-selector__langs {
  position: absolute;
  bottom: 100%;
  opacity: 0;
  width: 100%;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.language-selector__lang, .language-selector__button {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 10px 15px;
  background: #ffffff;
  color: #1d2127;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 19px;
  line-height: 19px;
  text-align: center;
  cursor: pointer;
  transition: color 0.2s ease-in-out;
}
.language-selector__lang:hover, .language-selector__button:hover {
  color: rgba(29, 33, 39, 0.7);
}
.language-selector__arrow {
  margin-left: 19px;
  transition: transform 0.25s ease-in-out;
  transform: rotate(0);
}
.language-selector__icon {
  margin-right: 13px;
}

.popup {
  position: fixed;
  bottom: 0;
  right: -100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1.1s ease-in-out, visibility 1.1s ease-in-out, right 1s ease-in-out;
  z-index: 10;
}
@media screen and (max-width: 550px) {
  .popup {
    bottom: -100%;
    right: 0;
    transition: bottom 1s ease-in-out;
  }
}
.popup--visible {
  right: 0;
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 550px) {
  .popup--visible {
    bottom: 0;
  }
}
.popup__img {
  position: absolute;
  left: 14px;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  max-width: 245px;
  max-height: 265px;
  aspect-ratio: 245/265;
  -o-object-fit: contain;
     object-fit: contain;
  z-index: 10;
}
@media screen and (max-width: 550px) {
  .popup__img {
    display: none;
  }
}
.popup__container {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 430px;
  height: 210px;
  margin: 35px 20px 20px;
  padding: 30px 30px 30px 110px;
  background-color: #ffffff;
  border-radius: 15px;
  box-shadow: 0px 3px 34px rgba(0, 0, 0, 0.13);
}
@media screen and (max-width: 550px) {
  .popup__container {
    width: calc(100% - 40px);
    min-height: 210px;
    height: 100%;
    padding: 30px;
  }
}
.popup__close {
  position: absolute;
  top: 5px;
  right: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 29px;
  height: 29px;
  transition: opacity 0.3s ease-in-out;
  cursor: pointer;
}
.popup__close:hover {
  opacity: 0.7;
}
.popup__title {
  margin-bottom: 10px;
}
.popup__text {
  color: #1d2127;
  font-weight: 500;
  font-size: 19px;
  line-height: 28px;
}
.popup__text strong {
  color: #39d09c;
  font-weight: inherit;
}
.popup__text--blue strong {
  color: #0156cb;
}
.popup__description {
  color: #383737;
  font-weight: 300;
  font-size: 15px;
  line-height: 23px;
  margin-top: 13px;
}
.popup__description strong {
  color: #383737;
  font-weight: bold;
}
.popup__buttons {
  display: flex;
  align-items: center;
  margin-top: 25px;
}
@media screen and (max-width: 550px) {
  .popup__buttons {
    flex-wrap: wrap;
  }
}
.popup__cta {
  min-width: -moz-max-content;
  min-width: max-content;
  padding: 10px 30px;
  font-size: 13px;
}
@media (max-width: 480px) {
  .popup__cta {
    width: 100%;
    min-width: 100%;
  }
}
.popup__cta:not(:last-child) {
  margin-right: 10px;
}
@media (max-width: 480px) {
  .popup__cta:not(:last-child) {
    margin-right: 0;
    margin-bottom: 10px;
  }
}

.popup--store .popup__buttons {
  margin-top: 13px;
}

#popup--cambio-piano {
  transform: translate3d(0, 0, 0);
  right: 0;
  transition: transform 0.5s ease-in-out;
}
@media screen and (max-width: 550px) {
  #popup--cambio-piano {
    bottom: 0;
  }
}
#popup--cambio-piano.active {
  transform: translate3d(0, -55%, 0);
}
#popup--cambio-piano.hidden {
  transform: translate3d(0, 0, 0);
}
#popup--cambio-piano .popup__container {
  border: 3px solid #FFD215;
  padding: 30px 110px 30px 45px;
  position: relative;
  height: auto;
}
#popup--cambio-piano .popup__container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 11px 0 14px 0;
  background-color: #FFD215;
  width: 33px;
  height: 32px;
  background-image: url(/img/icon-info-yellow.svg);
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 550px) {
  #popup--cambio-piano .popup__container {
    min-height: auto;
    padding: 30px 45px;
  }
}
#popup--cambio-piano .popup__description {
  margin-top: 0;
}
#popup--cambio-piano .popup__img {
  left: auto;
  right: -50px;
  transform: none;
}
#popup--cambio-piano .popup__cta {
  background: transparent;
  color: #0156cb;
  text-transform: uppercase;
  padding: 0;
}
#popup--cambio-piano .popup__cta::before {
  background: transparent;
}
#popup--cambio-piano .popup__cta:hover {
  opacity: 0.7;
}
@media screen and (max-width: 480px) {
  #popup--cambio-piano .popup__cta {
    min-width: auto;
  }
}
#popup--cambio-piano .popup__buttons {
  margin-top: 7px;
}

.carousel-soluzioni {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 120px;
}
@media screen and (max-width: 1023px) {
  .carousel-soluzioni {
    padding-bottom: 80px;
  }
}
.carousel-soluzioni__heading {
  width: 100%;
  max-width: 825px;
  margin: 0 auto;
  padding: 0 0 60px;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .carousel-soluzioni__heading {
    padding: 0 15px 37px;
  }
}
.carousel-soluzioni__items {
  left: calc(50% + 20px);
}
@media screen and (max-width: 1279px) {
  .carousel-soluzioni__items {
    left: calc(50% + 7.5px);
  }
}
@media screen and (max-width: 768px) {
  .carousel-soluzioni__items {
    left: 0;
  }
}
.carousel-soluzioni__item--hidden {
  display: none;
}
.carousel-soluzioni__img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 470/310;
  width: 100%;
  border-radius: 8px;
}
.carousel-soluzioni__inner {
  padding: 30px 0 0;
}
@media screen and (max-width: 550px) {
  .carousel-soluzioni__inner {
    padding-top: 20px;
  }
}
.carousel-soluzioni__pretitle {
  margin-bottom: 15px;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 25px;
  color: #ffffff;
  text-align: center;
  text-transform: uppercase;
}
.carousel-soluzioni__title {
  font-weight: normal;
  font-size: 25px;
  line-height: 32px;
  color: #ffffff;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .carousel-soluzioni__title {
    font-size: 19px;
    line-height: 24px;
  }
}
.carousel-soluzioni__text {
  margin-top: 15px;
  font-weight: 300;
  font-size: 15px;
  line-height: 23px;
  color: #ffffff;
  text-align: center;
}
.carousel-soluzioni__text strong {
  font-weight: 500;
}

.cards-img {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 160px;
}
@media screen and (max-width: 1023px) {
  .cards-img {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .cards-img {
    padding-top: 60px;
  }
}
.cards-img__preheading {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 22px;
  text-align: center;
}
.cards-img__heading {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 30px;
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cards-img__heading {
    max-width: 580px;
    padding: 0 15px 40px;
  }
}
.cards-img__heading--small {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 30px 35px;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cards-img__heading--small {
    max-width: 580px;
    padding: 0 15px 30px;
  }
}
.cards-img__heading--bottom {
  margin-bottom: 0;
}
@media screen and (max-width: 1023px) {
  .cards-img__heading--bottom {
    padding-bottom: 0;
  }
}
.cards-img__text {
  text-align: center;
  margin-bottom: 20px;
  width: 1000px;
  max-width: 100%;
  margin: 0 auto 30px auto;
}
.cards-img__items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 60px;
}
.cards-img__item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  border-radius: 6px;
  min-width: 31%;
  max-width: 31%;
  margin: 1%;
  border-radius: 6px;
  position: relative !important;
  aspect-ratio: 486/645;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .cards-img__item {
    max-width: 100%;
    min-width: 100%;
    margin: 8px;
  }
}
.cards-img__item--shadow::after {
  content: "";
  position: absolute;

  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 20.31%, rgba(0, 0, 0, 0) 63.49%);
  border-radius: 6px;
}
.cards-img__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  max-height: -moz-max-content;
  max-height: max-content;
  padding: 9% 11% 30px;
  z-index: 2;
}
@media screen and (max-width: 1023px) {
  .cards-img__inner {
    padding: 19px 15px 15px;
  }
}
@media screen and (max-width: 767px) {
  .cards-img__inner {
    padding: 30px 55px;
  }
}
.cards-img__inner--studenti {
  padding: 9% 10% 30px;
}
.cards-img__pretitle {
  margin-bottom: 15px;
  color: #ffffff;
  font-weight: 600;
  font-size: 25px;
  line-height: 32px;
  letter-spacing: 0.02em;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cards-img__pretitle {
    margin-bottom: 10px;
    font-size: 21px;
    line-height: 25px;
    letter-spacing: 0.02em;
  }
}
.cards-img__pretitle--studenti {
  margin-bottom: 19px;
}
.cards-img__title {
  color: #ffffff;
  font-weight: normal;
  font-size: 18px;
  line-height: 23px;
  text-align: center;
  flex: 1;
}
@media screen and (max-width: 1023px) {
  .cards-img__title {
    font-size: 17px;
    line-height: 17px;
  }
}
.cards-img__title--studenti {
  font-weight: 500;
  font-size: 32px;
  letter-spacing: -0.01em;
  line-height: 45px;
}
@media screen and (max-width: 1023px) {
  .cards-img__title--studenti {
    font-size: 25px;
    letter-spacing: -0.02em;
    line-height: 32px;
  }
}
.cards-img__subtitle {
  color: #ffffff;
  font-size: 19px;
  margin-top: 25px;
  font-weight: 400;
}
.cards-img__cta {
  margin-top: 32px;
  color: #ffffff;
  border: 2px solid #ffffff;
}
.cards-img__cta:hover {
  color: #1d2127;
  background: #ffffff;
}
@media screen and (max-width: 1023px) {
  .cards-img__cta {
    margin-top: 17px;
    padding: 5px 14px;
    border: 1px solid #ffffff;
  }
}
.cards-img__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 6px;
  z-index: 1;
  object-fit: cover;
}
.cards-img__img--index {
  z-index: -1;
}

.cards-contact {
  overflow: hidden;
  padding-top: 150px;
  max-width: 1182px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .cards-contact {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .cards-contact {
    padding-top: 80px;
  }
}
.cards-contact__heading {
  padding-bottom: 80px;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cards-contact__heading {
    padding-bottom: 40px;
  }
}
.cards-contact__items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-right: -20px;
}
.cards-contact__item {
  width: calc(25% - 20px);
  margin-right: 20px;
  margin-bottom: 20px;
  border: 1px solid rgba(53, 56, 62, 0.1411764706);
  border-radius: 6px;
  background-color: #ffffff;
  padding: 35px 30px;
  min-height: 250px;
}
@media screen and (max-width: 1280px) {
  .cards-contact__item {
    width: calc(33.333% - 20px);
  }
}
@media screen and (max-width: 1024px) {
  .cards-contact__item {
    width: calc(50% - 20px);
  }
}
@media screen and (max-width: 550px) {
  .cards-contact__item {
    width: calc(100% - 20px);
  }
}
.cards-contact__title {
  font-weight: 500;
  padding-bottom: 30px;
}
.numbers {
  overflow: hidden;
  padding-top: 150px;
}
@media screen and (max-width: 1023px) {
  .numbers {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .numbers {
    padding-top: 80px;
  }
}
.numbers__heading {
  padding-bottom: 65px;
  text-align: center;
}
.numbers__items {
  display: flex;
  flex-wrap: wrap;
  margin-right: -20px;
  justify-content: center;
}
.numbers__item {
  width: calc(33.333% - 20px);
  margin-right: 20px;
  margin-bottom: 20px;
  border: 1px solid rgba(53, 56, 62, 0.1490196078);
  border-radius: 10px;
  background-color: #ffffff;
  padding: 20px 30px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .numbers__item {
    width: calc(50% - 20px);
  }
}
@media screen and (max-width: 650px) {
  .numbers__item {
    width: calc(100% - 20px);
  }
}
.numbers__pretitle {
  font-weight: 400;
  padding-bottom: 5px;
}
.numbers__number {
  font-size: 50px;
  font-weight: 900;
  line-height: 59px;
  color: #0156cb;
}
@media screen and (max-width: 767px) {
  .numbers__number {
    font-size: 40px;
    line-height: 49px;
  }
}
.numbers__text {
  line-height: 25px;
  font-weight: 500;
  padding-top: 5px;
}

.cards-reviews {
  overflow: hidden;
  padding-top: 150px;
  padding-bottom: 150px;
}
@media screen and (max-width: 1023px) {
  .cards-reviews {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .cards-reviews {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.cards-reviews__heading {
  padding-bottom: 65px;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cards-reviews__heading {
    padding-bottom: 40px;
  }
}
.cards-reviews__heading strong {
  color: #0156cb;
}
.cards-reviews__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-right: -33.333px;
}
@media screen and (max-width: 1024px) {
  .cards-reviews__items {
    margin-right: -20px;
  }
}
.cards-reviews__item {
  width: calc(25% - 33.333px);
  margin-right: 33.333px;
  background-color: #ffffff;
  border: 1px solid rgba(53, 56, 62, 0.1490196078);
  border-radius: 6px;
  min-height: 460px;
  margin-bottom: 33.333px;
  transition: box-shadow 0.5s ease-in-out;
}
.cards-reviews__item:hover {
  box-shadow: 0px 5px 22px rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 1280px) {
  .cards-reviews__item {
    width: calc(33.333% - 33.333px);
  }
}
@media screen and (max-width: 1024px) {
  .cards-reviews__item {
    width: calc(50% - 20px);
    margin-right: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 650px) {
  .cards-reviews__item {
    width: calc(100% - 33.333px);
  }
}
.cards-reviews__inner {
  padding: 30px 20px;
}
.cards-reviews__pretitle {
  font-size: 12px;
  font-weight: 500;
  line-height: 14.06px;
  color: #0156cb;
  padding-bottom: 36px;
}
.cards-reviews__title {
  font-size: 19px;
  line-height: 25px;
  font-weight: 600;
  color: #1d2127;
}
.cards-reviews__img {
  aspect-ratio: 350/220;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
.cards-reviews__cta {
  margin: 27px auto 0;
}
.page-404 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  min-height: 700px;
  padding-top: 120px;
  padding-bottom: 120px;
}
@media screen and (max-width: 1600px) {
  .page-404 {
    min-height: 70vh;
  }
}
@media screen and (max-width: 767px) {
  .page-404 {
    flex-direction: column;
  }
}
.page-404__title {
  text-shadow: none;
  max-width: 400px;
}
@media screen and (max-width: 767px) {
  .page-404__title {
    max-width: 100%;
  }
}
.page-404__subtitle {
  margin-top: 19px;
}
.page-404__subtitle--small {
  margin-top: 100px;
}
@media screen and (max-width: 1280px) {
  .page-404__subtitle--small {
    margin-top: 80px;
  }
}
@media screen and (max-width: 1023px) {
  .page-404__subtitle--small {
    margin-top: 60px;
  }
}
.page-404__text {
  max-width: 400px;
  margin-top: 24px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-404__text {
    max-width: 100%;
  }
}
.page-404__cta {
  margin-top: 30px;
}
@media screen and (max-width: 1023px) {
  .page-404__cta {
    margin-top: 24px;
  }
}
@media screen and (max-width: 767px) {
  .page-404__cta {
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 480px) {
  .page-404__cta {
    min-width: 100%;
  }
}

.news__img {
  aspect-ratio: 960/540;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 960px;
  width: 100%;
  border-radius: 6px;
}
.news__container {
  padding: 50px 80px 0;
}
@media screen and (max-width: 860px) {
  .news__container {
    padding: 50px 0 0;
  }
}
.news__date {
  color: #0156cb;
  display: flex;
  align-items: center;
  font-size: 12px;
  line-height: 14.06px;
  letter-spacing: -0.01em;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 15px;
}
.news__date img {
  margin-right: 6px;
}
.news__title {
  padding-bottom: 44px;
}
.news__text p, .news__text ul li {
  line-height: 21px;
  font-weight: 400;
}
.news__text ul {
  padding-left: 30px !important;
}
.news__text h4 {
  font-size: 17px;
  font-weight: 500;
  line-height: 23px;
  color: #1d2127;
  padding-bottom: 40px;
}
.news__text h4 strong, .news__text h4 b {
  color: #0156cb;
}
.news__subtitle {
  font-size: 17px;
  font-weight: 500;
  line-height: 23px;
  color: #1d2127;
  padding-top: 40px;
}
.news__subtitle strong, .news__subtitle b {
  color: #0156cb;
}
.news__video {
  margin: 40px 0;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  background: #ffffff;
  transition: top 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  z-index: 4;
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.0509803922);
}
@media screen and (max-width: 767px) {
  .header {
    height: 60px;
  }
}
.header__wrapper {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1520px;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  z-index: 4;
}
@media screen and (max-width: 1600px) {
  .header__wrapper {
    max-width: calc(100% - 80px);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 1280px) {
  .header__wrapper {
    max-width: calc(100% - 120px) !important;
  }
}
@media screen and (max-width: 1185px) {
  .header__wrapper {
    max-width: calc(100% - 60px) !important;
    margin-right: 0;
  }
}
@media screen and (max-width: 1023px) {
  .header__wrapper {
    max-width: calc(100% - 40px) !important;
  }
}
@media screen and (max-width: 480px) {
  .header__wrapper {
    max-width: calc(100% - 15px) !important;
  }
}
.header__left {
  display: flex;
  align-items: center;
}
.header__logo-item {
  margin-right: 47.5px;
}
.header__logo-item--white {
  display: none;
}
.header__items {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1185px) {
  .header__items {
    display: none;
  }
}
.header__item {
  position: relative;
  min-width: -moz-max-content;
  min-width: max-content;
  padding: 0 12.5px;
  color: #1d2127;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: -0.02em;
  transition: background 0.3s ease-in-out;
  cursor: pointer;
}
.header__item:hover {
  display: flex;
  align-items: center;
  height: 40px;
  padding: 0 12.5px;
  border-radius: 6px;
  color: #ffffff !important;
  background: linear-gradient(225deg, #01b4cb 0%, #0193cb 52.22%, #0156cb 100%);
}
.header__item.active {
  text-decoration: underline;
}
.header__item a {
  color: #1d2127;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: -0.02em;
}
.header__item a:hover {
  color: #ffffff;
  height: 40px;
  display: flex;
  align-items: center;
}
.header__right {
  display: flex;
  align-items: center;
  height: 100%;
}
.header__voices {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1185px) {
  .header__voices {
    display: none;
  }
}
.header__voice:not(:last-child) {
  margin-right: 20px;
}
.header__voice a {
  cursor: pointer;
  color: rgba(53, 56, 62, 0.85);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: -0.02em;
  transition: opacity 0.3s ease-in-out;
}
.header__voice a:hover {
  opacity: 0.7;
}
.header__voice--white {
  background: #0156cb;
  border-color: #0156cb;
  padding: 0;
}
.header__voice--white a {
  color: #ffffff !important;
  padding: 9px 30px;
}
.header__voice--white::before {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(40deg, #016cfe 0%, #4033aa 100%);
  border-radius: 27px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: -1;
}
.header__voice--white:hover::before {
  opacity: 1;
}
.header__voice.active {
  text-decoration: underline;
  color: #ffffff;
}

.header--home {
  height: 90px;
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  transition: height 0.2s ease-in-out;
}
@media screen and (max-width: 1023px) {
  .header--home {
    height: 70px;
  }
}
.header--home .header__logo-item {
  display: none;
}
.header--home .header__logo-item--white {
  display: block;
}
.header--home .header__item {
  color: #ffffff;
}
.header--home .header__item a {
  color: #ffffff;
}
.header--home .header__voice a {
  color: #ffffff;
}
.header--home .header__voice--white {
  background-color: #ffffff;
  border-color: #ffffff;
}
.header--home .header__voice--white a {
  color: #0156cb !important;
}
.header--home .header__voice--white::before {
  opacity: 0;
}

.wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1500px;
}
@media screen and (max-width: 1600px) {
  .wrapper {
    max-width: calc(100% - 100px);
  }
}
@media screen and (max-width: 1410px) {
  .wrapper {
    max-width: calc(100% - 100px);
  }
}
@media screen and (max-width: 1280px) {
  .wrapper {
    max-width: calc(100% - 120px) !important;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper {
    max-width: calc(100% - 80px) !important;
  }
}
@media screen and (max-width: 480px) {
  .wrapper {
    max-width: calc(100% - 30px) !important;
  }
}
.wrapper--top {
  padding-top: 230px;
}
.wrapper--top--small {
  padding-top: 205px;
}
@media screen and (max-width: 1280px) {
  .wrapper--top--small {
    padding-top: 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper--top {
    padding-top: 200px;
  }
}
@media screen and (max-width: 550px) {
  .wrapper--top {
    padding-top: 250px;
  }
}
.wrapper--bottom {
  padding-bottom: 150px;
}
@media screen and (max-width: 1023px) {
  .wrapper--bottom {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .wrapper--bottom {
    padding-bottom: 80px;
  }
}
.wrapper--top-bottom {
  padding-bottom: 150px;
  padding-top: 150px;
}
@media screen and (max-width: 1023px) {
  .wrapper--top-bottom {
    padding-bottom: 100px;
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .wrapper--top-bottom {
    padding-bottom: 80px;
    padding-top: 80px;
  }
}
.wrapper--navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1520px;
  height: 100%;
}
@media screen and (max-width: 1600px) {
  .wrapper--navbar {
    max-width: calc(100% - 80px);
  }
}
@media screen and (max-width: 550px) {
  .wrapper--navbar {
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
  }
}
.wrapper--footer {
  max-width: 1440px;
}
@media screen and (max-width: 1600px) {
  .wrapper--footer {
    max-width: calc(100% - 160px);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper--footer {
    max-width: calc(100% - 30px) !important;
  }
}
.wrapper--cards {
  max-width: 1520px;
}
@media screen and (max-width: 1600px) {
  .wrapper--cards {
    max-width: calc(100% - 80px);
  }
}
@media screen and (max-width: 1280px) {
  .wrapper--cards {
    max-width: calc(100% - 10px) !important;
  }
}
@media screen and (max-width: 767px) {
  .wrapper--cards {
    max-width: calc(100% - 40px) !important;
  }
}
.wrapper--cards-posizione {
  max-width: 1520px;
}
@media screen and (max-width: 1600px) {
  .wrapper--cards-posizione {
    max-width: calc(100% - 80px);
  }
}
@media screen and (max-width: 1280px) {
  .wrapper--cards-posizione {
    max-width: 1190px;
    max-width: calc(100% - 120px) !important;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper--cards-posizione {
    max-width: calc(100% - 80px) !important;
  }
}
@media screen and (max-width: 480px) {
  .wrapper--cards-posizione {
    max-width: calc(100% - 30px) !important;
  }
}
.wrapper--cards-alt {
  max-width: 1500px;
}
@media screen and (max-width: 1620px) {
  .wrapper--cards-alt {
    max-width: calc(100% - 100px);
  }
}
@media screen and (max-width: 1280px) {
  .wrapper--cards-alt {
    max-width: calc(100% - 70px) !important;
  }
}
@media screen and (max-width: 767px) {
  .wrapper--cards-alt {
    max-width: calc(100% - 40px) !important;
  }
}
.wrapper--hero {
  display: flex;
  align-items: flex-end;
  max-width: 1350px;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}
.wrapper--left {
  max-width: 100% !important;
  margin-left: calc(50% - 595px);
}
@media screen and (max-width: 1410px) {
  .wrapper--left {
    margin-left: 105px;
  }
}
@media screen and (max-width: 1280px) {
  .wrapper--left {
    margin-left: 60px;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper--left {
    margin-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  .wrapper--left {
    margin-left: auto;
    margin-right: auto;
    max-width: calc(100% - 80px) !important;
  }
}
@media screen and (max-width: 480px) {
  .wrapper--left {
    max-width: calc(100% - 30px) !important;
  }
}
.wrapper--left-alt {
  position: relative;
  max-width: 100% !important;
  margin-left: calc(50% - 595px);
}
@media screen and (max-width: 1410px) {
  .wrapper--left-alt {
    margin-left: 105px;
  }
}
@media screen and (max-width: 1280px) {
  .wrapper--left-alt {
    margin-left: auto;
    margin-right: auto;
    max-width: calc(100% - 120px) !important;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper--left-alt {
    max-width: calc(100% - 80px) !important;
  }
}
@media screen and (max-width: 480px) {
  .wrapper--left-alt {
    max-width: calc(100% - 30px) !important;
  }
}
.wrapper--right {
  max-width: 100% !important;
  margin-right: calc(50% - 595px);
}
@media screen and (max-width: 1410px) {
  .wrapper--right {
    margin-right: 105px;
    max-width: calc(100% - 105px) !important;
  }
}
@media screen and (max-width: 1280px) {
  .wrapper--right {
    margin-right: 60px;
    max-width: calc(100% - 60px) !important;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper--right {
    margin-right: 40px;
    max-width: calc(100% - 40px) !important;
  }
}
@media screen and (max-width: 767px) {
  .wrapper--right {
    margin-left: auto;
    margin-right: auto;
    max-width: calc(100% - 80px) !important;
  }
}
@media screen and (max-width: 480px) {
  .wrapper--right {
    max-width: calc(100% - 30px) !important;
  }
}
.wrapper--right-alt {
  position: relative;
  max-width: 100% !important;
  margin-right: calc(50% - 595px);
}
@media screen and (max-width: 1410px) {
  .wrapper--right-alt {
    margin-right: 105px;
  }
}
@media screen and (max-width: 1280px) {
  .wrapper--right-alt {
    margin-left: auto;
    margin-right: auto;
    max-width: calc(100% - 120px) !important;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper--right-alt {
    max-width: calc(100% - 80px) !important;
  }
}
@media screen and (max-width: 480px) {
  .wrapper--right-alt {
    max-width: calc(100% - 30px) !important;
  }
}
.wrapper--cart {
  display: flex;
  max-width: 1380px;
  max-width: 1355px;
  width: 100%;
  margin-left: auto;
  margin-right: calc((100% - 1520px) / 2);
}
@media screen and (max-width: 1600px) {
  .wrapper--cart {
    margin-right: 0;
    max-width: 1380px;
    width: calc(100% - 60px);
  }
}
@media screen and (max-width: 1380px) {
  .wrapper--cart {
    margin-left: auto;
    margin-right: 0;
    max-width: 100% !important;
    width: calc(100% - 60px);
  }
}
@media screen and (max-width: 1180px) {
  .wrapper--cart {
    flex-direction: column;
    margin-right: auto;
    width: 100%;
  }
}
.wrapper--form-accesso {
  max-width: 390px;
}
@media screen and (max-width: 1410px) {
  .wrapper--form-accesso {
    max-width: 390px;
  }
}
@media screen and (max-width: 1280px) {
  .wrapper--form-accesso {
    max-width: 390px !important;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper--form-accesso {
    max-width: 390px !important;
  }
}
@media screen and (max-width: 480px) {
  .wrapper--form-accesso {
    max-width: calc(100% - 30px) !important;
  }
}
.wrapper--form {
  max-width: 1044px;
}
.wrapper--accordion {
  max-width: 1180px;
  width: 100%;
}
.wrapper--small {
  max-width: 793px;
  width: 100%;
  margin: 0 auto;
}
.wrapper--numbers {
  max-width: 1080px;
  width: 100%;
}
.wrapper--news {
  max-width: 960px;
  padding-top: 110px;
  padding-bottom: 120px;
}

.background {
  background: #ffffff;
}
.background--grey {
  background: #fafafa;
}
.background--blue {
  background: #01164A;
}
.background--lightblue {
  background: linear-gradient(258deg, rgba(154, 188, 234, 0.1) 27.64%, rgba(83, 117, 163, 0.1) 99.27%);
}
.background--gradient-light {
  background: linear-gradient(45deg, rgba(83, 117, 163, 0.1) 0%, rgba(154, 188, 234, 0.1) 100%);
}
.background--gradient-dark {
  background: linear-gradient(45deg, rgba(83, 117, 163, 0.25) 0%, rgba(154, 188, 234, 0.25) 100%);
}
.background--gradient-green {
  background: linear-gradient(225deg, #0082c3 0%, #39d09c 100%);
}
.background--gradient-blue {
  background: linear-gradient(225deg, #01b4cb 25%, #0193cb 50%, #0156cb 75%);
}
.background--gradient-purple {
  background: linear-gradient(225deg, #0082c3 0%, #684d9a 47.78%, #312783 100%);
}
.background--gradient-purple-light {
  background: linear-gradient(202deg, #2CD1FF -14.14%, #B239E9 105.08%);
}
.background--gradient-yellow {
  background: linear-gradient(225deg, #ffcf74 0%, #ffe874 100%);
}
.background--gradient-violet {
  background: linear-gradient(225deg, #ba39e9 0%, #4d39e9 100%);
}
.background--gradient-dark-violet {
  background: linear-gradient(30deg, #C6006C 0%, #064290 100%);
}
.background--gradient-orange {
  background: linear-gradient(225deg, #f7c867 0%, #e8603c 62.29%, #e8603c 100%);
}
.background--gradient-pink {
  background: linear-gradient(225deg, #e389a5 0%, #01b4cb 100%);
}
.background--gradient-pink-dark {
  background: linear-gradient(225deg, #00a5c3 0%, #8e436f 100%);
}
.background--gradient-red {
  background: linear-gradient(225deg, #be2454 0%, #d72540 100%);
}
.background--gradient-green-dark {
  background: linear-gradient(45deg, #39d0b3 0%, #299588 100%);
}
.background--gradient-orange-dark {
  background: linear-gradient(45deg, #ce221f 0%, #fea95a 100%);
}
.background--gradient-green-yellow {
  background: linear-gradient(10deg, #01B4CB 20%, #FAA71B 100%);
}
.background--gradient-blue-light {
  background: linear-gradient(10deg, #5375A3 20%, #9ABCEA 100%);
}
.background--shape {
  background-repeat: no-repeat;
  background-position: right;
}
@media screen and (max-width: 1600px) {
  .background--shape {
    background-size: 55%;
  }
}
@media screen and (max-width: 767px) {
  .background--shape {
    background-image: none !important;
  }
}
.background--shape-alt {
  background-repeat: no-repeat;
  background-position: right;
}
@media screen and (max-width: 1600px) {
  .background--shape-alt {
    background-size: 55%;
  }
}
@media screen and (max-width: 1440px) {
  .background--shape-alt {
    background-image: none !important;
  }
}
.background--shape-right {
  position: relative;
  background-repeat: no-repeat;
  background-position: bottom right;
}
@media screen and (max-width: 1280px) {
  .background--shape-right {
    background-image: none !important;
  }
}
@media screen and (max-width: 1280px) {
  .background--shape-right--mobile {
    background-image: url("../../../dms/z-dsc/Gallery/shape-background-green--right.svg") !important;
    background-size: 600px;
  }
}
@media screen and (max-width: 500px) {
  .background--shape-right--mobile {
    background-size: 450px;
  }
}
@media screen and (max-width: 374px) {
  .background--shape-right--mobile {
    background-size: 325px;
  }
}
.background--shape-right--fixed {
  background-position: top right;
}
.background--shape-right--bottom {
  background-position-y: 0;
}
.background--shape-right--top {
  background-position-y: 84%;
}
.background--shape-left {
  position: relative;
  background-repeat: no-repeat;
  background-position: bottom left;
}
@media screen and (max-width: 1280px) {
  .background--shape-left {
    background-image: none !important;
  }
}
.background--shape-left--contain {
  background-size: contain;
}
.background--shape-center {
  background-position-y: center;
}
.background--bottom {
  padding-bottom: 200px;
}
@media screen and (max-width: 1023px) {
  .background--bottom {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .background--bottom {
    padding-bottom: 80px;
  }
}
.background--bottom--small {
  padding-bottom: 117px;
}
@media screen and (max-width: 1280px) {
  .background--bottom--small {
    padding-bottom: 200px;
  }
}
@media screen and (max-width: 1023px) {
  .background--bottom--small {
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .background--bottom--small {
    padding-bottom: 60px;
  }
}
.background--last {
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .background--last {
    padding-bottom: 80px;
  }
}
.background--info {
  padding-bottom: 152px;
}
@media screen and (max-width: 1023px) {
  .background--info {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .background--info {
    padding-bottom: 32px;
  }
}
.background--top {
  margin-top: 220px;
}
@media screen and (max-width: 1499px) {
  .background--top {
    margin-top: 200px;
  }
}
@media screen and (max-width: 1023px) {
  .background--top {
    margin-top: 180px;
  }
}
@media screen and (max-width: 767px) {
  .background--top {
    margin-top: 160px;
  }
}
@media screen and (max-width: 550px) {
  .background--top {
    margin-top: 190px;
  }
}
.background--top--small {
  margin-top: 110px;
}
@media screen and (max-width: 1023px) {
  .background--top--small {
    margin-top: 110px;
  }
}
@media screen and (max-width: 767px) {
  .background--top--small {
    margin-top: 80px;
  }
}
.background--hero {
  margin-top: 208px;
}
@media screen and (max-width: 1500px) {
  .background--hero {
    margin-top: 220px;
  }
}
@media screen and (max-width: 1023px) {
  .background--hero {
    margin-top: 180px;
  }
}
@media screen and (max-width: 550px) {
  .background--hero {
    margin-top: 200px;
  }
}
.background--margin-bottom {
  margin-bottom: 177px;
}
@media screen and (max-width: 1023px) {
  .background--margin-bottom {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .background--margin-bottom {
    margin-bottom: 80px;
  }
}
.background--video {
  padding-top: 50px;
  margin-top: 145px;
  margin-bottom: 224px;
}
@media screen and (max-width: 1023px) {
  .background--video {
    padding-top: 0;
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .background--video {
    margin-top: 80px;
  }
}
@media screen and (max-width: 667px) {
  .background--video {
    margin-bottom: 104px;
  }
}
.background--left {
  width: 38%;
}
@media screen and (max-width: 1023px) {
  .background--left {
    width: 100%;
  }
}
.background--padding-top {
  padding-top: 250px;
}
.background--icons {
  background-repeat: no-repeat;
  background-position: 90%;
  background-size: 200px;
}
@media screen and (max-width: 1550px) {
  .background--icons {
    background-size: 150px;
  }
}
@media screen and (max-width: 1280px) {
  .background--icons {
    background-size: 100px;
  }
}
@media screen and (max-width: 1024px) {
  .background--icons {
    background-image: none !important;
  }
}
@media screen and (max-width: 1023px) {
  .background--area-riservata {
    padding-top: 62px;
  }
}
.background--area-riservata--bottom {
  padding-bottom: 100px;
}
@media screen and (max-width: 1023px) {
  .background--area-riservata--bottom {
    padding-bottom: 50px;
  }
}

.footer__top {
  padding: 70px 0 45px;
  border-bottom: 1px solid rgba(198, 198, 198, 0.7);
  border-top: 1px solid rgba(198, 198, 198, 0.7);
}
@media screen and (max-width: 1023px) {
  .footer__top {
    padding: 43px 0 30px;
  }
}
@media screen and (max-width: 767px) {
  .footer__top {
    padding: 47px 0 55px;
  }
}
.footer__upper {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 1023px) {
  .footer__upper {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .footer__upper {
    align-items: center;
  }
}
.footer__menu {
  max-width: 590px;
  -moz-column-count: 3;
       column-count: 3;
  -moz-column-gap: 50px;
       column-gap: 50px;
}
@media screen and (max-width: 1500px) {
  .footer__menu {
    margin-right: 0;
  }
}
@media screen and (max-width: 1023px) {
  .footer__menu {
    margin-top: 42px;
    -moz-column-gap: 90px;
         column-gap: 90px;
  }
}
@media screen and (max-width: 767px) {
  .footer__menu {
    -moz-column-count: 1;
         column-count: 1;
    text-align: center;
  }
}
.footer__voice:not(:last-child) {
  margin-bottom: 25px;
}
@media screen and (max-width: 1023px) {
  .footer__voice:not(:last-child) {
    margin-bottom: 18px;
  }
}
@media screen and (max-width: 767px) {
  .footer__voice:not(:last-child) {
    margin-bottom: 22px;
  }
}
.footer__voice a {
  color: #1d2127;
  font-weight: 500;
  font-size: 19px;
  transition: opacity 0.3s ease-in-out;
}
@media screen and (max-width: 1023px) {
  .footer__voice a {
    font-size: 15px;
  }
}
.footer__voice a:hover {
  opacity: 0.7;
}
.footer__voice {
  font-weight: 300;
  font-size: 14px;
  line-height: 25px;
  color: #757579;
  transition: color 0.3s ease-in-out;
}
.footer__voice:hover {
  color: #1d2127;
}
.footer__voice--blue {
  color: #0072bc;
}
.footer__voice--blue:hover {
  color: rgba(0, 114, 188, 0.7);
}
.footer__socials {
  display: flex;
  align-items: center;
}
.footer__social:not(:last-child) {
  margin-right: 30px;
}
.footer__lower {
  display: flex;
  justify-content: space-between;
  padding-top: 85px;
  flex-wrap: wrap;
}
@media screen and (max-width: 1023px) {
  .footer__lower {
    flex-direction: column;
    padding-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .footer__lower {
    align-items: center;
  }
}
.footer__copyright {
  color: rgba(29, 33, 39, 0.8);
  font-weight: 300;
  font-size: 15px;
  line-height: 17px;
  margin-top: 22px;
}
@media screen and (max-width: 1500px) {
  .footer__copyright {
    margin-right: 90px;
  }
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    max-width: 300px;
    margin-right: 0;
    margin-top: 35px;
    text-align: center;
    order: 2;
  }
}
.footer__links {
  display: flex;
  margin-right: 15%;
  flex-wrap: wrap;
  width: 100%;
}
@media screen and (max-width: 1500px) {
  .footer__links {
    margin-right: 2%;
  }
}
@media screen and (max-width: 1023px) {
  .footer__links {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .footer__links {
    margin-top: 5px;
  }
}
@media screen and (max-width: 767px) {
  .footer__links {
    flex-wrap: wrap;
    justify-content: center;
    order: 1;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .footer__links {
    justify-content: space-between;
    margin: 0 auto;
  }
}
.footer__links-container:not(:last-child) {
  margin-right: 2%;
}
@media screen and (max-width: 767px) {
  .footer__links-container {
    text-align: center;
  }
}
.footer__link {
  min-width: -moz-max-content;
  min-width: max-content;
  color: rgba(29, 33, 39, 0.8);
  font-weight: 300;
  font-size: 15px;
  line-height: 30px;
  transition: color 0.3s ease-in-out;
}
.footer__link:hover {
  color: #1d2127;
}
.footer__link:not(:last-child) {
  margin-right: 35px;
}
@media screen and (max-width: 767px) {
  .footer__link:not(:last-child) {
    margin: 2px 18px;
  }
}
.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 52px 0;
}
@media screen and (max-width: 1023px) {
  .footer__bottom {
    padding: 40px 0 32px;
  }
}
@media screen and (max-width: 767px) {
  .footer__bottom {
    flex-direction: column;
  }
}

.menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  display: flex;
  justify-content: space-between;
  max-width: 1280px;
  width: 100%;
  height: 730px;
  background: #ffffff;
  border-radius: 0px 0px 15px 15px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}
.menu--hidden {
  display: none;
}
@media screen and (min-width: 1185px) {
  .menu--visible {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
}
.menu--small {
  max-width: 800px;
  height: 339px;
  left: 43%;
}
.menu--small .menu__middle {
  width: 495px;
}
.menu--small .menu__left {
  width: 335px;
}
.menu--small .menu__left-items {
  width: 276px;
}
.menu--small .menu__middle-items p {
  font-size: 14px;
  line-height: 18px;
}
.menu--small .menu__container {
  max-width: 380px;
}
.menu__left {
  width: 260px;
  margin-top: 12px;
  padding: 25px 0 25px 20px;
}
.menu__left-items {
  width: 220px;
}
.menu__left-item {
  padding: 0 13px;
  color: #1d2127;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0.02em;
  cursor: pointer;
}
.menu__left-item:not(:last-child) {
  margin-bottom: 20px;
}
.menu__left-item--active {
  margin-bottom: 8px !important;
  margin-top: -12px;
  display: flex;
  align-items: center;
  height: 47px;
  color: #ffffff;
  border-radius: 6px;
  background: linear-gradient(225deg, #01b4cb 0%, #0193cb 52.22%, #0156cb 100%);
}
.menu__title {
  margin-bottom: 5px;
  color: #0055c9;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0.02em;
}
.menu__title a {
  color: #0055c9;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0.02em;
}
.menu__middle {
  width: 790px;
  display: none;
  flex-direction: column;
  align-content: flex-start;
  flex-wrap: wrap;
  padding: 25px 0 25px 10px;
}
.menu__middle--visible {
  display: flex;
}
.menu__middle-item:not(:last-child) {
  margin-bottom: 5px;
}
.menu__middle-item a {
  color: #1d2127;
  font-weight: normal;
  font-size: 14px;
  letter-spacing: -0.02em;
  transition: opacity 0.3s ease-in-out;
}
.menu__middle-item a:hover {
  opacity: 0.7;
}
.menu__container {
  position: relative;
  max-width: 230px;
  margin-right: 50px;
  margin-bottom: 25px;
  padding: 7px 0 7px 25px;
}
.menu__container::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  border-radius: 70px;
}
.menu__container:nth-child(5n+0)::after {
  background: #dd81ff;
}
.menu__container:nth-child(5n+1)::after {
  background: #01b4cb;
}
.menu__container:nth-child(5n+2)::after {
  background: #0156cb;
}
.menu__container:nth-child(5n+3)::after {
  background: #4de2a3;
}
.menu__container:nth-child(5n+4)::after {
  background: #f58729;
}
.menu__right {
  width: 230px;
  display: none;
  padding: 40px 30px;
  border-radius: 0px 0px 15px 0px;
  background: linear-gradient(#0156cb 0%, #0193cb 52.22%, #01b4cb 100%);
}
.menu__right--visible {
  display: flex;
}
.menu__right-item a {
  color: #ffffff;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 25px;
  transition: opacity 0.3s ease-in-out;
}
.menu__right-item a:hover {
  opacity: 0.7;
}
.menu__heading {
  color: #ffffff;
  margin-bottom: 14px;
  font-weight: normal;
  font-size: 21px;
  letter-spacing: 0.02em;
}
.menu__img {
  position: absolute;
  bottom: 0;
  right: 50px;
}

.menu-mobile {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100vh;
  pointer-events: none;
}
@media screen and (min-width: 1185px) {
  .menu-mobile {
    display: none;
  }
}
.menu-mobile__container {
  position: absolute;
  top: -100%;
  width: 100%;
  height: 100vh;
  padding: 100px 0 150px;
  background: #ffffff;
  opacity: 0;
  visibility: hidden;
  transition: top 0.3s ease-in-out, opacity 0.1s ease-in-out, visibility 0.1s ease-in-out;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media screen and (max-width: 1023px) {
  .menu-mobile__container {
    padding: 70px 0 150px;
  }
}
.menu-mobile__container::-webkit-scrollbar {
  display: none;
}
.menu-mobile__container--one, .menu-mobile__container--two {
  top: 0;
  left: -100%;
  width: 100%;
  height: unset;
  min-height: 100vh;
  transition: left 0.3s ease-in-out, opacity 0.1s ease-in-out, visibility 0.1s ease-in-out;
  cursor: auto;
}
.menu-mobile__container--two {
  padding-bottom: 0;
}
.menu-mobile__container--opened {
  left: 0;
  opacity: 1;
  visibility: visible;
}
.menu-mobile__back {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 22px 60px;
  border-bottom: 1px solid #e2e2e2;
  font-weight: 500;
  font-size: 17px;
  letter-spacing: -0.02em;
  line-height: 26px;
  color: #0156cb;
  cursor: pointer;
}
@media screen and (max-width: 1023px) {
  .menu-mobile__back {
    padding: 22px 40px;
  }
}
@media screen and (max-width: 767px) {
  .menu-mobile__back {
    padding: 22px 30px;
  }
}
.menu-mobile__back img {
  margin-right: 18px;
}
.menu-mobile__voice {
  display: flex;
  align-items: center;
  padding: 22px 60px;
  justify-content: space-between;
  font-weight: 500;
  font-size: 19px;
  letter-spacing: -0.02em;
  line-height: 26px;
  color: #1d2127;
  border-bottom: 1px solid #e2e2e2;
  cursor: pointer;
}
@media screen and (max-width: 1023px) {
  .menu-mobile__voice {
    padding: 22px 40px;
  }
}
@media screen and (max-width: 767px) {
  .menu-mobile__voice {
    padding: 22px 30px;
  }
}
.menu-mobile__voice a {
  color: #1d2127;
  font-weight: 500;
  font-size: 19px;
  letter-spacing: -0.02em;
  line-height: 26px;
  color: #1d2127;
}
.menu-mobile__voice--one {
  font-size: 17px;
  padding: 22px 75px;
}
@media screen and (max-width: 1023px) {
  .menu-mobile__voice--one {
    padding: 22px 55px;
  }
}
@media screen and (max-width: 767px) {
  .menu-mobile__voice--one {
    padding: 22px 45px;
  }
}
.menu-mobile__voice.active a {
  color: #0156cb !important;
}
.menu-mobile__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 65px 60px 0;
}
@media screen and (max-width: 1023px) {
  .menu-mobile__links {
    padding: 65px 40px 0;
  }
}
@media screen and (max-width: 767px) {
  .menu-mobile__links {
    padding: 65px 30px 0;
  }
}
.menu-mobile__languages {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 65px 60px 0;
}
@media screen and (max-width: 1023px) {
  .menu-mobile__languages {
    padding: 65px 40px 0;
  }
}
@media screen and (max-width: 767px) {
  .menu-mobile__languages {
    padding: 65px 30px 0;
  }
}
.menu-mobile__language {
  font-size: 15px;
  font-weight: 600;
  color: #0156cb;
  opacity: 0.5;
  transition: opacity 0.3s ease-in-out;
}
.menu-mobile__language:not(:last-child) {
  margin-right: 20px;
}
.menu-mobile__language:hover {
  opacity: 1;
}
.menu-mobile__language--active {
  opacity: 1;
}
.menu-mobile__link {
  font-weight: 500;
  font-size: 17px;
  letter-spacing: -0.02em;
  line-height: 30px;
  color: #1d2127;
  transition: opacity 0.3s ease-in-out;
  cursor: pointer;
}
.menu-mobile__link:not(:last-child) {
  margin-bottom: 20px;
}
.menu-mobile__link--white {
  color: #ffffff;
}
.menu-mobile__link--white:not(:last-child) {
  margin-bottom: 14px;
}
.menu-mobile__link--contact {
  color: #ffffff;
}
.menu-mobile__link.active {
  color: #0156cb;
}
.menu-mobile__section {
  position: relative;
  max-width: 230px;
  margin-bottom: 25px;
  padding: 7px 0 7px 25px;
  margin: 25px 60px;
}
@media screen and (max-width: 1023px) {
  .menu-mobile__section {
    margin: 25px 40px;
  }
}
@media screen and (max-width: 767px) {
  .menu-mobile__section {
    margin: 25px 30px;
  }
}
.menu-mobile__section::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  border-radius: 70px;
}
.menu-mobile__section:nth-child(5n+0)::after {
  background: #dd81ff;
}
.menu-mobile__section:nth-child(5n+1)::after {
  background: #01b4cb;
}
.menu-mobile__section:nth-child(5n+2)::after {
  background: #0156cb;
}
.menu-mobile__section:nth-child(5n+3)::after {
  background: #4de2a3;
}
.menu-mobile__section:nth-child(5n+4)::after {
  background: #f58729;
}
.menu-mobile__items {
  display: flex;
  flex-direction: column;
  align-content: flex-start;
  flex-wrap: wrap;
  width: 790px;
  padding: 25px 0 25px 10px;
}
.menu-mobile__title {
  margin-bottom: 14px;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 0.02em;
  line-height: 27px;
  color: #0055c9;
}
.menu-mobile__item:not(:last-child) {
  margin-bottom: 14px;
}
.menu-mobile__item a {
  font-weight: normal;
  font-size: 17px;
  letter-spacing: -0.02em;
  line-height: 27px;
  color: #1d2127;
  transition: opacity 0.3s ease-in-out;
}
.menu-mobile__item a:hover {
  opacity: 0.7;
}
.menu-mobile__bottom {
  position: relative;
  background: linear-gradient(#0156cb 0%, #0193cb 52.22%, #01b4cb 100%);
}
.menu-mobile__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 65px;
  padding: 65px 60px 75px;
}
@media screen and (max-width: 1023px) {
  .menu-mobile__inner {
    padding: 65px 40px 75px;
  }
}
@media screen and (max-width: 767px) {
  .menu-mobile__inner {
    padding: 65px 30px 75px;
  }
}
.menu-mobile__heading {
  margin-bottom: 27px;
  font-weight: normal;
  font-size: 25px;
  letter-spacing: 0.02em;
  line-height: 27px;
  color: #ffffff;
}
.menu-mobile__person {
  position: absolute;
  bottom: 0;
  right: 0;
}

.scrolled .header {
  animation: headerSlide 0.4s ease-in-out;
}
.scrolled .header__voice--white {
  background: #0156cb;
  border-color: #0156cb;
}
.scrolled .header__voice--white a {
  color: #ffffff !important;
}
.scrolled .header__voice--white::before {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(40deg, #016cfe 0%, #4033aa 100%);
  border-radius: 27px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: -1;
}
.scrolled .header__voice--white:hover::before {
  opacity: 1;
}
.scrolled .header__voice.active {
  text-decoration: none;
  color: #0156cb;
}
.scrolled .header__voice.active a {
  color: #0156cb !important;
}
.scrolled .header__item.active {
  text-decoration: none;
  color: #0156cb;
}
.scrolled .header__item.active a {
  color: #0156cb !important;
}
@media screen and (max-width: 767px) {
  .scrolled .header {
    top: -60px;
  }
}
.scrolled .navbar {
  top: 0;
  height: 80px;
  background: #ffffff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1500px) {
  .scrolled .navbar {
    height: 120px;
  }
}
@media screen and (max-width: 1185px) {
  .scrolled .navbar {
    height: 100px;
  }
}
@media screen and (max-width: 1023px) {
  .scrolled .navbar {
    height: 62px;
  }
}
@media screen and (max-width: 550px) {
  .scrolled .navbar {
    height: auto;
    min-height: 62px;
    padding: 10px 0;
  }
}
@media screen and (max-width: 1500px) {
  .scrolled .navbar__right {
    margin-top: 10px;
  }
}
@media screen and (max-width: 1185px) {
  .scrolled .navbar__right {
    margin-top: 0;
  }
}
@media screen and (max-width: 550px) {
  .scrolled .navbar__left {
    display: block;
    min-height: unset;
  }
}
.scrolled .navbar__back img {
  filter: none;
}
.scrolled .navbar__title {
  color: #1d2127;
}
.scrolled .navbar__subtitle {
  color: rgba(29, 33, 39, 0.8);
}
.scrolled .navbar__item a {
  color: rgba(29, 33, 39, 0.7);
}
.scrolled .navbar__item--active a, .scrolled .navbar__item:hover a {
  font-weight: bold;
  color: #1d2127;
}
@media screen and (max-width: 550px) {
  .scrolled .navbar__cta--mobile {
    display: none;
  }
}
.scrolled .navbar__cta--inverted {
  color: #1d2127;
  border-color: #c6c6c6;
}
@media screen and (max-width: 550px) {
  .scrolled .navbar__cta {
    margin-bottom: 5px;
    margin-top: 5px;
    width: 100%;
  }
}
.scrolled .navbar .navbar__language {
  color: #0156cb;
  opacity: 0.5;
  transition: opacity 0.3s ease-in-out;
}
.scrolled .navbar .navbar__language:not(:last-child) {
  margin-right: 20px;
}
.scrolled .navbar .navbar__language:hover {
  opacity: 1;
}
.scrolled .navbar .navbar__language--active {
  opacity: 1;
}
.scrolled .dropdown {
  color: #1d2127;
  border-color: #c6c6c6;
  background-image: url(../../../dms/z-dsc/Gallery/icon-arrow-dropdown--black.svg);
}
@media screen and (max-width: 550px) {
  .scrolled .dropdown {
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 550px) {
  .scrolled .wrapper--navbar {
    justify-content: center;
    min-height: 42px;
  }
}
.scrolled .header--home {
  animation: none;
  top: 0;
  height: 70px;
  background: #ffffff;
  box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.05);
}
.scrolled .header--home .header__logo-item {
  display: block;
}
.scrolled .header--home .header__logo-item--white {
  display: none;
}
.scrolled .header--home .header__item {
  color: #1d2127;
}
.scrolled .header--home .header__item a {
  color: #1d2127;
}
.scrolled .header--home .header__item:hover a {
  color: #ffffff;
}
.scrolled .header--home .header__voice a, .scrolled .header--home .header__voice--area-riservata, .scrolled .header--home .header__store--voice a {
  color: rgba(53, 56, 62, 0.85);
}
.scrolled .header--home .header__voice--white {
  background: #0156cb;
  border-color: #0156cb;
}
.scrolled .header--home .header__voice--white a {
  color: #ffffff !important;
}
.scrolled .header--home .header__voice--white::before {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(40deg, #016cfe 0%, #4033aa 100%);
  border-radius: 27px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: -1;
}
.scrolled .header--home .header__voice--white:hover::before {
  opacity: 1 !important;
}
.scrolled .header--home .header__store--cart img {
  filter: none;
  opacity: 1;
}
.scrolled .hamburger {
  border-left: 1px solid #e2e2e2;
}
.scrolled .hamburger--home .hamburger-inner, .scrolled .hamburger--home .hamburger-inner::before, .scrolled .hamburger--home .hamburger-inner::after, .scrolled .hamburger--home .hamburger.is-active .scrolled .hamburger--home .hamburger-inner, .scrolled .hamburger--home .hamburger.is-active .scrolled .hamburger--home .hamburger-inner::before, .scrolled .hamburger--home .hamburger.is-active .scrolled .hamburger--home .hamburger-inner::after {
  background: #1d2127 !important;
}
.scrolled .navbar--user-formazione .navbar__left {
  display: flex;
}
.scrolled .navbar--languages {
  height: 120px;
}
@media screen and (max-width: 1185px) {
  .scrolled .navbar--languages {
    height: 100px;
  }
}
@media screen and (max-width: 1023px) {
  .scrolled .navbar--languages {
    height: 62px;
  }
}
@media screen and (max-width: 550px) {
  .scrolled .navbar--languages {
    height: auto;
  }
}
.scrolled .language-selector--header {
  border-left: 1px solid #e2e2e2;
}
.scrolled .language-selector--header .language-selector__lang, .scrolled .language-selector--header .language-selector__button {
  color: #1d2127 !important;
}
.scrolled .language-selector--header .language-selector__lang {
  background-color: #ffffff !important;
}

.scrolled-up .header {
  top: 0;
  box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.05);
}
.scrolled-up .navbar {
  top: 70px;
  border-top-color: transparent;
}
@media screen and (max-width: 767px) {
  .scrolled-up .navbar {
    top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .scrolled-up .modal__container {
    margin-top: 81px;
  }
}
@media screen and (max-width: 667px) {
  .scrolled-up .features-table__row--heading {
    top: 122px;
  }
}
@media screen and (max-width: 550px) {
  .scrolled-up .features-table__row--heading {
    top: 150px;
  }
}

.menu-opened {
  overflow: hidden !important;
}
.menu-opened .menu-mobile {
  pointer-events: all;
}
.menu-opened .menu-mobile__container {
  top: 0;
  opacity: 1;
  visibility: visible;
}
.menu-opened .header__wrapper {
  background-color: #ffffff;
}
.menu-opened .header--home {
  background-color: #ffffff;
}
.menu-opened .header--home .header__logo-item {
  display: block;
}
.menu-opened .header--home .header__logo-item--white {
  display: none;
}
.menu-opened .hamburger--home .hamburger-inner, .menu-opened .hamburger--home .hamburger-inner::before, .menu-opened .hamburger--home .hamburger-inner::after, .menu-opened .hamburger--home .hamburger.is-active .menu-opened .hamburger--home .hamburger-inner, .menu-opened .hamburger--home .hamburger.is-active .menu-opened .hamburger--home .hamburger-inner::before, .menu-opened .hamburger--home .hamburger.is-active .menu-opened .hamburger--home .hamburger-inner::after {
  background: #1d2127 !important;
}/*# sourceMappingURL=main.css.map */
.header-lang, .gscs_fe_html_change_language_container {
  height: 100%;
}
.languagePortlet_ctrl, .languageSelector_ctrl {
  height: 100% !important;
}
.gadget-language-selector {
  height: 100% !important;
}
.background--shape-right--bottom--purple {
  background-image: url('../../../dms/z-dsc/Gallery/shape-background-purple--right.svg')
}
.gscs_fe_html_menu_custom_container {
  overflow: visible !important;
  height: auto !important;
}
.gscs_fe_html_menu_custom_portlet {
  min-width: auto !important;
}
.gscs_fe_html_footer_custom_dsc_portlet {
  min-width: auto !important;
}

span[id*=_wrp] {
  min-width: auto !important;
  height: auto !important;
}

.news__text p a{
  font-size:15px !important;
  color:rgb(1, 86, 203) !important;
  text-decoration-line:underline !important;
  text-decoration-thickness:initial !important;
  text-decoration-style:initial !important;
  text-decoration-color:initial !important;
  }
  #text p{
    display:inline-block;
  }
  #text {
    display: inline-block;
    font-family: "Roboto", sans-serif;
    color: #1d2127 !important;
    font-size: 15px !important;
    line-height: 23px;
    font-weight: 300;
    padding: 0 !important;
  }
  #text a{
    display:inline-block !important;
    color:rgb(1, 86, 203) !important;
    font-size:15px !important;
    text-decoration-line:underline !important;
    text-decoration-thickness:initial !important;
    text-decoration-style:initial !important;
    text-decoration-color:initial !important;
  }
  .news__container a{
    display:inline-block !important;
    color:rgb(1, 86, 203) !important;
    font-size:15px !important;
    text-decoration-line:underline !important;
    text-decoration-thickness:initial !important;
    text-decoration-style:initial !important;
    text-decoration-color:initial !important;
  }