*{
  overflow: visible!important;
}

:root {
  --dark-teal: #181818;
  --white: #e9e9e9;
  --goldenrod: #dda639;
}

body {
  background-color: var(--dark-teal);
  color: var(--white);
  font-family: Voire, sans-serif;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1;
}

h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 7vw;
  line-height: 1;
}

h2 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 7vw;
  font-weight: 700;
  line-height: 1;
}

.heading-10{
  -webkit-text-fill-color: transparent;
  background-image: repeating-linear-gradient(127deg, #b89147, #ffba55 53%, #865b27);
  -webkit-background-clip: text;
  background-clip: text;
}

.noise-container {
  z-index: 500;
  opacity: .08;
  mix-blend-mode: hard-light;
  background-image: url('../images/noise.gif');
  background-position: 0 0;
  background-size: auto;
  width: 100%;
  height: 100vh;
  display: block;
  position: fixed;
  inset: 0%;
}

.page-wrapper {
  display: block;
  position: relative;
}

.main-wrapper {
  overflow: visible;
}

.section-hero {
  flex-direction: column;
  justify-content: flex-start;
  height: 100vh;
  margin-bottom: -33vh;
  padding-top: 12vw;
  display: flex;
  position: relative;
  overflow: hidden !important;
}

.page-padding {
  z-index: 2;
  padding-left: 5vw;
  padding-right: 5vw;
  display: block;
  position: relative;
  overflow: hidden !important;
}

.page-padding.nav-padding {
  z-index: 501;
  padding-left: 2vw;
  padding-right: 2vw;
  position: relative;
}

.hero-text-container {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
  position: relative;
}

.hero-date-wrapper {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 5vw;
  display: flex;
}

.hero-time-no-overflow {
  margin-bottom: .25vw;
  display: flex;
  overflow: hidden !important;
}

.hero-month {
  font-size: 2.3vw;
}

.hero-time {
  font-size: 1.5vw;
}

.hero-date-no-overflow {
  display: flex;
  overflow: hidden !important;
}

.hero-month-no-overflow {
  margin-bottom: .5vw;
  overflow: hidden !important;
}

.hero-title-text-wrapper {
  flex-direction: column;
  align-items: center;
  display: flex;
}

.showcase-heading {
  font-size: 5.5vw;
}

.hero-title-container {
  margin-top: 1vw;
  margin-bottom: 1vw;
}

.section-photos {
  padding-top: 10vw;
  position: relative;
  overflow: visible;
}

.images-container {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.image-wrapper {
  border-radius: 10px;
  width: 70vw;
  height: 40vw;
}

.image-wrapper._1 {
  height: 47vw;
  margin-bottom: 5vw;
  position: relative;
  transform: rotate(-3deg);
}

.image-wrapper._2 {
  width: 55vw;
  height: 37vw;
  position: relative;
  left: 7%;
  transform: rotate(5deg);
  box-shadow: 0 -4px 20px #0215187d;
}

.image-wrapper._3 {
  z-index: 1;
  width: 60vw;
  height: 40vw;
  position: relative;
  left: 20%;
  transform: rotate(3deg);
}

.image-wrapper._4 {
  z-index: 2;
  width: 45vw;
  height: 30vw;
  position: relative;
  left: -15%;
  transform: rotate(-3deg);
}

.image-wrapper._5 {
  width: 75vw;
  height: auto;
}

.image {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.section-countdown {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: column;
  padding-top: 15vw;
  display: block;
  position: relative;
}

.js-clock {
  justify-content: center;
  align-items: center;
  display: flex;
}

.box {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 13vw;
  margin-left: 3vw;
  margin-right: 3vw;
  line-height: 20px;
  display: flex;
}

.clock-number {
  font-size: 10vw;
  line-height: 1;
}

.clock-label {
  text-align: center;
  margin-top: 10px;
  margin-bottom: 1vw;
  font-size: 4vw;
  line-height: 1.2;
}

.image-mover {
  z-index: 1;
  transform-origin: 50% 100%;
  position: relative;
}

.section-photos-2 {
  padding-top: 20vw;
  position: relative;
}

.path-container {
  z-index: 0;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0% 0% auto;
}

.path-container.bottom {
  z-index: 0;
  align-items: flex-end;
  inset: auto 0% -7% -34%;
}

.path-container._3 {
  top: 7%;
}

.path-container.student-bottom {
  inset: auto 0% 1%;
}

.image-2 {
  height: 21vw;
  position: relative;
  bottom: -1.7vw;
  left: -3%;
}

.wipe {
  background-color: var(--dark-teal);
  width: 100%;
  height: 110%;
  display: block;
  position: absolute;
  inset: 0%;
}

.image-3 {
  width: 40vw;
  position: relative;
  left: -2%;
}

.no-overflow {
  overflow: hidden !important;
}

.no-overflow.introducing {
  justify-content: center;
  padding: 2vw 8vw 1vw;
  display: flex;
}

.no-overflow.class-of {
  padding-left: 3vw;
  padding-right: 3vw;
}

.nav-wrapper {
  z-index: 100;
  padding-top: 2vw;
  position: fixed;
  inset: 0% 0% auto;
}

.nav-bar {
  justify-content: space-between;
  display: flex;
}

.link-block {
  align-items: center;
  display: flex;
}

.link-block.w--current {
  display: flex;
}

.button {
  border: 2px solid var(--goldenrod);
  background-color: var(--dark-teal);
  opacity: .8;
  color: var(--goldenrod);
  cursor: pointer;
  border-radius: 100px;
  padding: 1vw 4vw;
}

.button:hover {
  opacity: 1;
}

.button.menu {
  background-color: var(--goldenrod);
  color: var(--dark-teal);
  margin-left: 1vw;
}

.button.student {
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.button.resume {
  background-color: var(--goldenrod);
  color: var(--dark-teal);
  margin-right: 2vw;
}

.button.close {
  background-color: var(--goldenrod);
  color: var(--dark-teal);
}

.menu-items {
  align-items: center;
  display: flex;
}

.custom-cursor-wrapper {
  z-index: 150;
  mix-blend-mode: difference;
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: none;
  position: fixed;
}

.cursor-dot {
  background-color: #ceac6a;
  border-radius: 100%;
  width: 2vw;
  height: 2vw;
  position: absolute;
}

.image-4 {
  width: 31vw;
  position: relative;
  bottom: -23.3vw;
  left: 13%;
}

.image-4.after-students {
  left: 12%;
}

.section-introducing {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: auto;
  padding-top: 30vw;
  display: flex;
  position: relative;
}

.section-students {
  position: relative;
}

.student-sticky-container {
  z-index: 1;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: flex-start;
  padding-top: 12vh;
  padding-bottom: 0;
  display: flex;
  position: sticky;
  top: 0;
}

.sticky-mask {
  background-color: var(--dark-teal);
  flex-flow: wrap;
  width: 100%;
  padding-top: 2vw;
  overflow: hidden !important;
}

.student-scroller {
  z-index: 1;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: wrap;
  place-content: flex-start space-around;
  align-items: flex-start;
  display: flex;
  position: relative;
}

.student-list {
  display: flex;
}

.student-item {
  height: 100%;
  margin-left: 2vw;
  margin-right: 2vw;
  position: relative;
}

.student-card {
  filter: brightness(50%);
  color: var(--white);
  background-color: #080808;
  justify-content: center;
  align-items: flex-end;
  width: 30vw;
  height: 45vw;
  text-decoration: none;
  transition: all .2s;
  display: flex;
  position: relative;
}

.student-card.active {
  filter: brightness(100%);
  transform: scale(1.05);
}

.student-card:hover {
  filter: brightness();
  transform: scale(1.05);
}

.student-card.class-page {
  width: 25vw;
  height: 37vw;
}

.section-details {
  padding-top: 25vw;
  padding-bottom: 10vw;
  position: relative;
}

.heading-2 {
  height: 100%;
  font-size: 7vw;
  line-height: 1;
  position: relative;
  overflow: visible;
}

.details-text-container {
  grid-column-gap: 5vw;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: .5fr 1fr;
  grid-auto-columns: 1fr;
  align-items: center;
  margin-bottom: 10vw;
  padding-left: 8vw;
  padding-right: 8vw;
  display: grid;
}

.heading-4 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 7vw;
  line-height: 1;
}

.heading-4.footer {
  color: var(--dark-teal);
}

.dates-container {
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  display: flex;
}

.main-date-wrapper {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.date-text {
  font-size: 9vw;
}

.month-text {
  font-size: 4vw;
}

.and-text {
  margin-left: 5vw;
  margin-right: 5vw;
  font-size: 10vw;
}

.dates-wrapper {
  margin-bottom: 3vw;
  display: flex;
}

.time-text-wrapper {
  overflow: hidden !important;
}

.time-text {
  font-size: 1.6vw;
}

.vingette {
  z-index: 150;
  opacity: .5;
  mix-blend-mode: normal;
  background-image: linear-gradient(270deg, #000, #031b1e00 9%), linear-gradient(to top, #000, #031b1e00 10%), linear-gradient(to right, #000, #031b1e00 10%), linear-gradient(#000, #031b1e00 13%);
  width: 100%;
  height: 100vh;
  position: fixed;
  inset: 0%;
}

.magnetic-button {
  border: 2px solid var(--white);
  color: var(--white);
  text-transform: uppercase;
  border-radius: 100%;
  justify-content: center;
  align-items: center;
  width: 12vw;
  height: 12vw;
  font-weight: 700;
  text-decoration: none;
  transition: background-color .1s;
  display: flex;
}

.magnetic-button:hover {
  border-color: var(--goldenrod);
  background-color: var(--goldenrod);
  color: var(--goldenrod);
}

.div-block-3 {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.section-next-step {
  background-color: var(--goldenrod);
  color: var(--dark-teal);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 10vw;
  padding-bottom: 5vw;
  text-decoration: none;
  display: flex;
  position: relative;
}

.dropdown-menu {
  z-index: 500;
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  background-color: #031b1ebf;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: none;
  position: fixed;
  inset: 0%;
}

.menu-link {
  color: var(--white);
  justify-content: center;
  align-items: center;
  margin-bottom: 5vw;
  padding-left: 3vw;
  padding-right: 3vw;
  text-decoration: none;
  transition: color .2s;
  display: flex;
  position: relative;
}

.menu-link:hover {
  color: var(--goldenrod);
}

.menu-links-container {
  flex-direction: column;
  align-items: center;
  display: flex;
}

.title-no-overflow {
  justify-content: center;
  padding-left: 6vw;
  padding-right: 6vw;
  display: flex;
  overflow: hidden !important;
}

.title-no-overflow.bottom {
  padding-bottom: 2vw;
}

.div-block-4 {
  overflow: hidden !important;
}

.hero-background-image {
  z-index: 1;
  opacity: .35;
  mix-blend-mode: overlay;
  height: 99vh;
  position: absolute;
  inset: -10% auto auto -25%;
}

.hero-background-image.right {
  z-index: 0;
  width: 50vw;
  height: 70vh;
  display: flex;
  inset: -52% 0% auto auto;
  overflow: hidden !important;
  transform: none;
}

.hero-background-image.right._2nd {
  width: 56vw;
  top: -2%;
}

.hero-background-image._3rd {
  z-index: 0;
  inset: auto auto -20% -30%;
}

.hero-background-image._4th {
  width: 50vw;
  inset: -3% 0% auto auto;
  overflow: hidden !important;
}

.hero-background-image.class {
  position: fixed;
  top: 40%;
}

.hero-background-image.class._2nd {
  width: 50vw;
  height: auto;
  position: fixed;
  inset: -16% 0% auto auto;
}

.hero-background-image.student-page {
  opacity: .26;
  position: fixed;
}

.image-5 {
  object-fit: contain;
  width: 100%;
  overflow: clip;
}

.image-5.last {
  position: relative;
  left: 25%;
}

.student-name-container {
  z-index: 1;
  background-image: linear-gradient(180deg, #0000, var(--dark-teal));
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: stretch;
  margin-top: 0;
  padding: 2vw 3vw 5vw;
  display: block;
  position: absolute;
  inset: auto 0% 0%;
}

.text-block {
  color: var(--goldenrod);
  text-align: center;
  font-size: 2vw;
  line-height: 1.2;
}

.text-block.sottotesto {
  color: var(--white);
}

.video {
  z-index: 0;
  flex: 0 auto;
  width: 84%;
  height: 93%;
}

.section-student-list {
  padding-top: 12vw;
  padding-bottom: 12vw;
  position: relative;
  overflow: hidden !important;
}

.class-hero-text-wrapper {
  justify-content: center;
  align-items: center;
  margin-bottom: 12vw;
  display: flex;
  position: relative;
}

.heading-5 {
  font-size: 13vw;
}

.div-block-5 {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.heading-6 {
  margin-top: 1vw;
  font-size: 5vw;
}

.div-block-6 {
  height: 100%;
}

.frame {
  position: absolute;
  inset: 0%;
}

.frame.headshot {
  width: 108%;
  max-width: none;
  height: 109%;
}

.frame.student {
  width: 100%;
  height: 100%;
}

.div-block-7 {
  justify-content: center;
  margin-bottom: 1vw;
  display: flex;
}

.button-wrapper {
  overflow: hidden !important;
}

.div-block-8 {
  grid-column-gap: 5vw;
  grid-row-gap: 5vw;
  flex-wrap: wrap;
  grid-template-rows: auto auto;
  grid-template-columns: auto auto auto;
  grid-auto-columns: 1fr;
  justify-content: center;
  place-items: center;
  display: grid;
}

.section-student-hero {
  padding-top: 15vw;
  padding-bottom: 10vw;
}

.div-block-9 {
  flex-direction: column;
  align-items: center;
  display: flex;
}

.headshot-wrapper {
  background-image: url('../images/Screen-Shot-2022-02-11-at-3.17.34-PM.png');
  background-position: 0 0;
  background-size: auto;
  width: 70vw;
  height: 50vw;
  margin-bottom: 5vw;
  position: relative;
}

.headshot-frame {
  object-fit: fill;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0%;
  overflow: visible;
}

.div-block-10 {
  width: 50%;
}

.div-block-21 {
  width: 60%;
}

.heading-backdrop-wrapper {
  flex-direction: column;
  justify-content: center;
  height: 100%;
  display: flex;
  position: absolute;
  inset: 0%;
}

.midground {
  perspective: 1000px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-top: 1vw;
  display: flex;
  position: relative;
}

.midground.student {
  justify-content: flex-start;
  padding-top: 0;
}

.heading-container {
  z-index: 1;
  position: relative;
}

.hill-top {
  opacity: 1;
  background-color: #291d56;
  background-image: linear-gradient(#281d4e, #140d28 8%);
  border-radius: 65%;
  width: 200vw;
  height: 200vw;
  position: absolute;
  inset: 52% auto auto;
}

.button-2 {
  background-color: #ff33bacc;
  border: 1px solid #f06fc47a;
  border-radius: 10px;
  padding: 1vw 3vw;
  font-size: 1.5vw;
  line-height: 1;
  transition: all .3s;
  box-shadow: 0 0 30px 2px #e54eb27a;
}

.button-2:hover {
  background-color: #ff33ba;
  transform: scale(1.05);
}

.button-2.secondary-button {
  background-color: #ff33ba38;
  margin-left: 2vw;
}

.subheading {
  color: #e12da4;
  margin-bottom: 1vw;
  line-height: 1;
  position: relative;
}

.gradient {
  background-image: linear-gradient(#140d2800, #0e0116);
  min-height: 35%;
  position: absolute;
  inset: auto 0% 0%;
}

.gradient.landing {
  opacity: .73;
  width: 200%;
  bottom: -5%;
  left: -25%;
}

.buttons-wrapper {
  position: relative;
}

.buttons-wrapper.student {
  z-index: 0;
  padding-top: 3vw;
  padding-bottom: 3vw;
}

.heading-backdrop {
  background-color: #080d3c;
  height: 50%;
}

.div-block-2 {
  flex-direction: column;
  align-items: center;
  margin-bottom: 2vw;
  padding-top: 6vw;
  display: flex;
}

.heading {
  text-shadow: 0 0 20px #ffffff8c;
  -webkit-text-fill-color: transparent;
  background-color: #fff;
  background-image: linear-gradient(to top, #e12da466, #0af6);
  -webkit-background-clip: text;
  background-clip: text;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 5vw;
  padding-right: 5vw;
  font-size: 5vw;
  font-weight: 400;
  line-height: 5vw;
  position: relative;
}

.heading.bigger {
  font-size: 10vw;
  line-height: 10vw;
}

.heading.bigger.student {
  color: var(--dark-teal);
  text-shadow: none;
  background-image: none;
}

.mid-ground-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
}

.class-photo {
  object-fit: contain;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0%;
}

.class-photo.student {
  max-height: 50vh;
  position: relative;
}

.student-hero-wrapper {
  flex-direction: column;
  align-items: center;
  display: flex;
  position: relative;
}

.student-name {
  text-align: center;
  margin-top: 1vw;
  margin-bottom: 1vw;
  padding-left: 17vw;
  padding-right: 17vw;
  font-size: 7vw;
  line-height: 1.2;
}

.student-title-wrapper {
  flex-direction: column;
  align-items: center;
  padding-bottom: 5vw;
  display: flex;
}

.headshot {
  max-width: 45vw;
}

.div-block-22 {
  padding-top: 5vw;
}

.section {
  background-color: #0f051d;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  padding-left: 5vw;
  padding-right: 5vw;
  display: flex;
  position: relative;
}

.section.class-list {
  background-color: var(--goldenrod);
  color: var(--dark-teal);
  justify-content: flex-start;
  height: auto;
  padding-top: 10vw;
  padding-bottom: 0;
}

.collection-list-wrapper {
  width: 100%;
}

.class-list-wrapper {
  grid-column-gap: 5vw;
  grid-row-gap: 5vw;
  flex: 1;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  width: 100%;
  padding-top: 5vw;
  padding-bottom: 5vw;
  display: grid;
}

.collection-item {
  width: 100%;
}

.link-block-2 {
  color: var(--dark-teal);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-decoration: none;
  transition: all .2s;
  display: flex;
}

.link-block-2:hover {
  opacity: 1;
  transform: scale(1.1);
}

.div-block-23 {
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/img/background-image.svg');
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 100%;
  width: 16vw;
  height: 16vw;
  overflow: hidden !important;
}

.image-18 {
  opacity: .84;
  object-fit: cover;
  object-position: 50% 20%;
  width: 100%;
  height: 100%;
}

.heading-7 {
  color: var(--dark-teal);
  margin-bottom: 5vw;
}

.text-block-7 {
  padding-top: 1vw;
  padding-bottom: 1vw;
}

.div-block-24 {
  padding: 3vw;
  position: relative;
}

.link-block-3 {
  color: var(--dark-teal);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition: all .2s;
  display: flex;
}

.link-block-3:hover {
  transform: scale(1.1);
}

.section-resume {
  z-index: 110;
  background-color: #0000;
  width: 100%;
  height: 100vh;
  display: none;
  position: fixed;
  inset: 0%;
}

.close-section {
  flex: 1;
}

.resume-container {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-top: 10vw;
  padding-bottom: 10vw;
  display: flex;
  overflow: scroll;
}

.image-19 {
  width: 70vw;
}

.resume-wrapper {
  flex-direction: column;
  display: flex;
  position: relative;
}

.div-block-25 {
  z-index: 10;
  justify-content: center;
  align-items: center;
  padding-bottom: 4vw;
  display: flex;
  position: fixed;
  inset: auto 0% 0%;
}

.loading {
  z-index: 140;
  background-color: var(--dark-teal);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: none;
  position: fixed;
  inset: 0%;
}

.lottie-animation {
  width: 20vw;
}

.image-20 {
  object-fit: contain;
}

.lightbox-link {
  position: absolute;
  inset: 0%;
}

.image-21 {
  width: 4vw;
  height: 4vw;
}

.image-21._2nd {
  margin-left: .5vw;
}

.image-22 {
  width: 3.3vw;
}

.link-block-4 {
  color: var(--dark-teal);
  cursor: none;
  text-decoration: none;
}

.image-23 {
  width: 4vw;
}

.image-23._2nd {
  width: 5vw;
  margin-left: 1vw;
}

.div-block-27 {
  background-color: var(--dark-teal);
  width: 100%;
  height: 1px;
  margin-top: 3vw;
  margin-bottom: 3vw;
}

.html-embed {
  width: 100%;
  height: 100%;
  transform: scale(1.05);
}

.video-2 {
  width: 70vw;
  margin-left: auto;
  margin-right: auto;
}

.div-block-29 {
  margin-bottom: 5vw;
}

.html-embed-2 {
  position: relative;
}

.div-block-30 {
  margin-bottom: 10vw;
  position: relative;
}

.div-block-31 {
  background-color: var(--dark-teal);
  height: 5vw;
  position: absolute;
  inset: 0% 0% auto;
}

.body {
  background-color: var(--dark-teal);
  cursor: auto;
}

.text-block-9 {
  text-align: center;
}

.sez-prossimi-eventi {
  border: 2px solid var(--goldenrod);
  background-color: #1f1f1f;
  border-radius: 30px;
  width: 80%;
  margin-top: 20vw;
  margin-left: auto;
  margin-right: auto;
  padding: 40px;
}

.box-spettacoli {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 13vw;
  margin-left: 3vw;
  margin-right: 3vw;
  line-height: 20px;
  display: flex;
  box-shadow: 0 2px 20px 4px #0003;
}

.box-spettacoli.centro {
  width: 16vw;
}

.divider {
  height: 20px;
}

.spettacoli {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.div-block-32 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.right-arrow {
  margin-right: -60px;
}

.left-arrow {
  margin-left: -60px;
}

.img002, .img010, .img018 {
  cursor: pointer;
  width: 60%;
  margin-left: 20px;
  margin-right: 20px;
  position: relative;
}

.img012 {
  width: 60%;
  margin-left: 20px;
  margin-right: 20px;
}

.slide-nav-2 {
  padding-top: 20px;
  font-size: .5vw;
  display: none;
}

.img015, .img011, .img007, .img017, .img013, .img016 {
  cursor: pointer;
  width: 60%;
  margin-left: 20px;
  margin-right: 20px;
  position: relative;
}

.slider-arrow {
  background-color: #fff;
  width: 72px;
  height: 72px;
  top: 0;
  left: 0;
}

.slider-arrow.left {
  background-color: var(--goldenrod);
  border-radius: 10px;
  width: 40px;
  height: 40px;
  left: 10px;
}

.slider-arrow.right {
  background-color: var(--goldenrod);
  border-radius: 10px;
  width: 40px;
  height: 40px;
  top: 0;
  left: auto;
  right: 10px;
}

.main-img {
  border-radius: 10px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.slider-2 {
  background-color: #0000;
  border-radius: 15px;
  width: 100%;
  height: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  overflow: hidden !important;
  box-shadow: inset 0 0 10px 5px #0003;
}

.img003 {
  cursor: pointer;
  width: 60%;
  margin-left: 20px;
  margin-right: 20px;
  position: relative;
}

.slider-arrow-icon {
  color: #000;
  font-size: 22px;
}

.img008, .img014, .img009, .img001 {
  cursor: pointer;
  width: 60%;
  margin-left: 20px;
  margin-right: 20px;
  position: relative;
}

.slider-mask {
  box-sizing: content-box;
  width: 26%;
  margin-right: auto;
  display: block;
  overflow: visible;
}

.img004 {
  cursor: pointer;
  width: 60%;
  margin-left: 20px;
  margin-right: 20px;
  position: relative;
}

.slider-wrap {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  margin-bottom: 0;
  display: flex;
}

.img006, .img005 {
  cursor: pointer;
  width: 60%;
  margin-left: 20px;
  margin-right: 20px;
  position: relative;
}

.div-block-33 {
  flex-flow: column;
  flex: 1;
  justify-content: space-around;
  align-items: center;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: static;
}

.div-block-34 {
  border-radius: 30px;
  padding: 20px;
  box-shadow: inset 0 0 10px 2px #0003;
}

.div-block-35 {
  height: 2000px;
  position: relative;
}

.div-block-36 {
  flex-flow: column;
  justify-content: center;
  align-items: flex-end;
  height: 100vh;
  display: flex;
  position: sticky;
  top: 100px;
}

.jumping-blob {
  opacity: .11;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-end;
  height: 100%;
}

.div-block-38 {
  background-image: linear-gradient(#18181800, #181818 80%);
  height: 100px;
  margin-bottom: -10px;
  position: absolute;
  inset: auto 0% 0%;
}

.div-block-39 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding-top: 20%;
  display: flex;
  position: absolute;
  inset: 0%;
}

.heading-8 {
  text-align: center;
}

.div-block-40 {
  height: 2000px;
  position: relative;
}

.div-block-41 {
  height: 100vh;
  padding: 53px;
  position: sticky;
  top: 50px;
}

.lottie-animation-2 {
  opacity: .15;
  height: 90%;
}

.div-block-42 {
  z-index: 2;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: column;
  justify-content: flex-end;
  align-items: center;
  padding-bottom: 5%;
  display: flex;
  position: absolute;
  inset: 0%;
}

.heading-9 {
  text-align: center;
  font-size: 4vw;
}

.div-block-43 {
  height: 100px;
  overflow: hidden !important;
}

.image-24 {
  vertical-align: baseline;
  flex: 0 auto;
  max-width: 100%;
  max-height: 70vh;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: static;
  overflow: visible;
}

@media screen and (max-width: 991px) {
  h1 {
    font-size: 9vw;
  }

  .section-hero {
    height: auto;
    margin-bottom: 0;
    padding-top: 21vw;
    padding-bottom: 21vw;
  }

  .page-padding.nav-padding {
    padding-left: 5vw;
    padding-right: 5vw;
  }

  .showcase-heading {
    font-size: 8vw;
  }

  .image {
    transform: rotate(1deg);
  }

  .clock-number {
    font-size: 11vw;
  }

  .clock-label {
    font-size: 4vw;
    font-weight: 300;
  }

  .path-container {
    top: -9%;
  }

  .path-container.student-bottom {
    inset: auto 0% 0%;
  }

  .nav-wrapper {
    padding-top: 3vw;
  }

  .link-block.w--current {
    width: 7vw;
  }

  .button {
    text-align: center;
    cursor: pointer;
    flex: 1;
    padding: 14px 50px;
    font-size: 2vw;
  }

  .button.menu {
    margin-left: 2vw;
  }

  .button.menu.close {
    opacity: 1;
  }

  .button.menu.resume {
    margin-left: 0;
  }

  .button.student {
    padding-top: 3vw;
    padding-bottom: 3vw;
  }

  .button.resume {
    text-align: center;
    flex: 1;
    margin-bottom: 3vw;
    margin-right: 0;
    padding-top: 3vw;
    padding-bottom: 3vw;
  }

  .button.website {
    padding-top: 3vw;
    padding-bottom: 3vw;
  }

  .custom-cursor-wrapper {
    display: none;
  }

  .image-4.after-students {
    bottom: -18.4vw;
  }

  .section-students {
    height: auto;
  }

  .student-sticky-container {
    height: auto;
    position: relative;
  }

  .sticky-mask {
    height: auto;
  }

  .student-scroller {
    flex-flow: column;
    justify-content: space-around;
    align-items: center;
  }

  .student-list {
    grid-column-gap: 16px;
    grid-row-gap: 10vw;
    flex-direction: column;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    place-items: center;
    padding-left: 0;
    padding-right: 0;
  }

  .student-card {
    cursor: pointer;
    width: 68vw;
    height: 100vw;
    margin-bottom: 15vw;
  }

  .student-card.class-page {
    width: 42vw;
    height: 60vw;
    margin-bottom: 0;
  }

  .heading-2 {
    font-size: 10vw;
  }

  .time-text {
    font-size: 4vw;
  }

  .time-text.bottom {
    font-size: 1.75vw;
  }

  .section-next-step {
    cursor: pointer;
  }

  .dropdown-menu {
    align-items: center;
  }

  .menu-link {
    margin-top: 7vw;
    margin-bottom: 7vw;
  }

  .menu-link.w--current {
    cursor: pointer;
  }

  .menu-link.last {
    margin-bottom: 0;
  }

  .title-no-overflow {
    padding-left: 7vw;
    padding-right: 7vw;
  }

  .div-block-4 {
    font-size: 2vw;
  }

  .hero-background-image.right {
    top: -93%;
  }

  .hero-background-image.right._2nd, .hero-background-image._3rd {
    display: none;
  }

  .hero-background-image.student-page {
    height: auto;
    top: 0%;
  }

  .student-name-container {
    margin-bottom: -12vw;
    padding-bottom: 10vw;
    padding-left: 5vw;
    padding-right: 5vw;
    bottom: 12%;
  }

  .text-block {
    font-size: 3vw;
  }

  .section-student-list {
    padding-top: 21vw;
    padding-bottom: 21vw;
  }

  .heading-5 {
    font-size: 19vw;
  }

  .heading-6 {
    margin-top: 2vw;
    font-size: 7vw;
  }

  .frame {
    width: 100%;
    height: 100%;
  }

  .div-block-7 {
    margin-bottom: 2vw;
  }

  .div-block-8 {
    flex-wrap: wrap;
    grid-template-rows: auto auto;
    grid-template-columns: auto auto;
    grid-auto-columns: 1fr;
    justify-items: center;
    display: flex;
  }

  .section-student-hero {
    padding-top: 16vw;
    padding-bottom: 16vw;
  }

  .div-block-21 {
    width: 85vw;
    height: 55vw;
    margin-bottom: 3vw;
  }

  .midground.student {
    justify-content: center;
    padding-top: 54px;
    padding-bottom: 54px;
  }

  .button-2 {
    padding-left: 45px;
    padding-right: 45px;
    font-size: 20px;
    line-height: 1.5;
    display: block;
  }

  .subheading {
    font-size: 20px;
  }

  .gradient.landing {
    opacity: 1;
  }

  .buttons-wrapper.student {
    display: flex;
  }

  .div-block-2 {
    margin-bottom: 5vw;
    padding-top: 113px;
  }

  .div-block-2.student {
    margin-bottom: 3vw;
    padding-top: 36px;
  }

  .heading {
    font-size: 70px;
    line-height: 1;
  }

  .heading.bigger {
    font-size: 10vw;
    line-height: 15vw;
  }

  .student-hero-wrapper {
    align-items: stretch;
  }

  .student-name {
    font-size: 9vw;
  }

  .student-title-wrapper {
    padding-bottom: 50px;
  }

  .headshot {
    max-width: 80vw;
    max-height: none;
  }

  .div-block-22 {
    flex-direction: column;
    justify-content: center;
    width: 100%;
    padding-top: 10vw;
    display: flex;
  }

  .text-block-2 {
    font-size: 3vw;
  }

  .section {
    padding-left: 0;
    padding-right: 0;
  }

  .section.class-list {
    padding-bottom: 5vw;
    padding-left: 5vw;
    padding-right: 5vw;
  }

  .class-list-wrapper {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .link-block-2 {
    height: 100%;
    font-size: 2vw;
  }

  .div-block-23 {
    width: 20vw;
    height: 20vw;
  }

  .text-block-6 {
    line-height: 2;
  }

  .text-block-7 {
    text-align: center;
    font-size: 2.5vw;
    line-height: 1.2;
  }

  .text-block-8 {
    font-size: 2vw;
  }

  .resume-container {
    padding-top: 15vw;
  }

  .image-19 {
    width: 90vw;
  }

  .div-block-25 {
    padding-left: 23vw;
    padding-right: 23vw;
  }

  .lottie-animation {
    width: 30vw;
    position: relative;
  }

  .image-21._2nd {
    width: 7vw;
    height: 7vw;
  }

  .image-22 {
    width: 6vw;
  }

  .image-23 {
    width: 7vw;
  }

  .image-23._2nd {
    width: 9vw;
  }

  .div-block-27 {
    margin-top: 5vw;
    margin-bottom: 5vw;
  }

  .div-block-29 {
    margin-bottom: 50px;
  }

  .div-block-30 {
    margin-bottom: 100px;
  }

  .div-block-31 {
    height: 53px;
  }

  .text-block-9 {
    font-size: 2vw;
  }

  .sez-prossimi-eventi {
    padding-left: 20px;
    padding-right: 20px;
  }

  .img002, .img010, .img018, .img012, .img015, .img011, .img007, .img017, .img013, .img016 {
    margin-left: 10px;
    margin-right: 10px;
  }

  .slider-arrow.left, .slider-arrow.right {
    width: 30px;
    height: 30px;
  }

  .slider-2 {
    height: auto;
  }

  .img003, .img008, .img014, .img009, .img001, .img004, .img006, .img005 {
    margin-left: 10px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 767px) {
  .section-hero {
    height: auto;
    margin-bottom: 0;
  }

  .path-container.bottom {
    left: 0%;
  }

  .wipe {
    margin-top: 55px;
  }

  .student-card.class-page {
    width: 50vw;
    height: 75vw;
  }

  .student-name-container {
    padding-left: 6vw;
    padding-right: 6vw;
  }

  .text-block {
    font-size: 3vw;
  }

  .div-block-8 {
    flex-direction: column;
  }

  .div-block-21 {
    width: 60%;
    height: 42%;
    margin-bottom: 0;
  }

  .midground.student {
    justify-content: flex-start;
  }

  .button-2 {
    font-size: 20px;
    line-height: 1.5;
  }

  .subheading {
    font-size: 18px;
  }

  .gradient.landing {
    opacity: 1;
    width: 130%;
  }

  .div-block-2 {
    padding-top: 74px;
  }

  .heading {
    font-size: 51px;
  }

  .section {
    height: 500px;
  }

  .section.class-list {
    padding-bottom: 15vw;
  }

  .link-block-2 {
    font-size: 2.5vw;
  }

  .resume-container {
    padding-top: 20vw;
  }

  .div-block-28 {
    padding-left: 30px;
    padding-right: 30px;
  }

  .div-block-30 {
    margin-bottom: 0;
  }

  .div-block-31 {
    height: 55px;
  }

  .slider-wrap {
    display: flex;
  }
}

@media screen and (max-width: 479px) {
  h1 {
    font-size: 14vw;
  }

  .noise-container {
    height: 150vh;
  }

  .page-wrapper {
    overflow: visible;
  }

  .section-hero {
    padding-top: 45vw;
    padding-bottom: 20vw;
  }

  .hero-text-container {
    justify-content: center;
    display: flex;
  }

  .hero-date-wrapper {
    display: none;
  }

  .showcase-heading {
    font-size: 10vw;
  }

  .section-photos {
    padding-bottom: 25vw;
  }

  .image-wrapper._1 {
    width: 95vw;
    height: 63vw;
  }

  .image-wrapper._2 {
    width: 89vw;
    height: 60vw;
  }

  .image-wrapper._3 {
    width: 100vw;
    height: 67vw;
    left: -1%;
  }

  .image-wrapper._4 {
    width: 80vw;
    height: 55vw;
    left: -6%;
  }

  .image-wrapper._5 {
    width: 90vw;
  }

  .section-countdown {
    padding-top: 25vw;
    padding-bottom: 25vw;
    position: relative;
  }

  .js-clock {
    flex-direction: column;
  }

  .box {
    width: auto;
    margin-bottom: 20vw;
    margin-left: 2vw;
    margin-right: 2vw;
  }

  .clock-number {
    font-size: 30vw;
  }

  .clock-label {
    font-size: 8vw;
  }

  .section-photos-2 {
    padding-bottom: 20vw;
    overflow: hidden !important;
  }

  .path-container.bottom {
    bottom: -7%;
    left: 0%;
  }

  .path-container._3 {
    top: -20%;
  }

  .path-container.student-bottom {
    top: auto;
    bottom: -16.3vw;
    left: 0%;
  }

  .image-2 {
    height: 60vw;
    left: -3%;
    transform: rotate(-5deg);
  }

  .wipe {
    height: 110%;
    margin-top: 55px;
  }

  .image-3 {
    width: 50vw;
    height: 90vw;
    left: -8%;
  }

  .nav-wrapper {
    padding-top: 6vw;
  }

  .link-block.w--current {
    width: 25vw;
  }

  .button {
    text-align: center;
    flex: 0 auto;
    padding: 15px 20px;
    font-size: 4vw;
  }

  .button.menu {
    margin-left: 3vw;
  }

  .button.resume {
    text-align: center;
    margin-bottom: 5vw;
    margin-right: 0;
    padding-top: 5vw;
    padding-bottom: 5vw;
  }

  .button.website {
    padding-top: 5vw;
    padding-bottom: 5vw;
  }

  .image-4 {
    width: 60vw;
    bottom: 0;
  }

  .image-4.after-students {
    width: 45vw;
  }

  .student-sticky-container {
    padding-top: 5vh;
  }

  .student-scroller {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }

  .student-list {
    grid-row-gap: 20vw;
  }

  .student-item {
    margin-left: 0;
    margin-right: 0;
  }

  .student-card {
    width: 90vw;
    height: 130vw;
  }

  .student-card:hover {
    transform: none;
  }

  .student-card.class-page {
    width: 80vw;
    height: 120vw;
    margin-bottom: 10vw;
  }

  .student-card.last {
    margin-bottom: 0;
  }

  .section-details {
    padding-top: 50vw;
    padding-bottom: 25vw;
    display: block;
  }

  .details-text-container {
    grid-row-gap: 10vw;
    grid-template-columns: .5fr;
    margin-bottom: 25vw;
  }

  .new-world-text-wrapper {
    flex-direction: column;
    align-items: center;
    display: flex;
  }

  .heading-4 {
    font-size: 20vw;
    font-weight: 500;
  }

  .heading-4.footer {
    font-size: 10vw;
  }

  .dates-container {
    align-items: stretch;
  }

  .date-text {
    font-size: 24vw;
  }

  .month-text {
    font-size: 9vw;
  }

  .dates-wrapper {
    margin-bottom: 10vw;
  }

  .time-text.bottom {
    text-align: center;
    font-size: 5.25vw;
    line-height: 1.5;
  }

  .vingette {
    height: 130vh;
  }

  .section-next-step {
    padding-top: 25vw;
    padding-bottom: 12vw;
  }

  .menu-link {
    margin-top: 10vw;
    margin-bottom: 10vw;
  }

  .title-no-overflow {
    padding-left: 11vw;
    padding-right: 11vw;
  }

  .div-block-4 {
    font-size: 3.5vw;
  }

  .hero-background-image {
    height: 40vh;
    inset: -38% auto auto -12%;
  }

  .hero-background-image.right {
    width: 100vw;
    top: -116%;
  }

  .hero-background-image.student-page {
    top: 0%;
  }

  .student-name-container {
    margin-bottom: -16vw;
    padding-left: 10vw;
    padding-right: 10vw;
  }

  .text-block {
    font-size: 5vw;
  }

  .video {
    z-index: 0;
  }

  .section-student-list {
    padding-top: 45vw;
  }

  .class-hero-text-wrapper {
    margin-bottom: 35vw;
  }

  .heading-5 {
    font-size: 29vw;
  }

  .heading-6 {
    text-align: center;
    margin-top: 3vw;
    font-size: 11vw;
  }

  .div-block-7 {
    margin-bottom: 4vw;
  }

  .section-student-hero {
    padding-top: 30vw;
    padding-bottom: 20vw;
  }

  .div-block-21 {
    width: 80%;
    height: auto;
    max-height: 60%;
    margin-bottom: 5vw;
  }

  .div-block-21.student {
    flex: 1;
  }

  .midground.student {
    justify-content: space-around;
    padding-top: 15vw;
    padding-bottom: 15vw;
  }

  .heading-container {
    white-space: nowrap;
  }

  .button-2 {
    margin-bottom: 15px;
    font-size: 20px;
  }

  .button-2.secondary-button {
    margin-left: 0;
  }

  .subheading {
    font-size: 5vw;
  }

  .gradient.landing {
    opacity: 0;
  }

  .buttons-wrapper.student {
    flex-direction: column;
    display: flex;
  }

  .div-block-2 {
    padding-top: 100px;
  }

  .div-block-2.student {
    margin-bottom: 5vw;
    padding-top: 0;
  }

  .heading {
    font-size: 10vw;
  }

  .heading.bigger {
    white-space: nowrap;
    font-size: 20vw;
    line-height: 20vw;
  }

  .heading.bigger.student {
    font-size: 14vw;
  }

  .class-photo.student {
    max-height: 500px;
  }

  .student-hero-wrapper {
    align-items: stretch;
  }

  .student-name {
    margin-top: 15px;
    margin-bottom: 15px;
    padding-left: 0;
    padding-right: 0;
  }

  .student-title-wrapper {
    padding-bottom: 10vw;
  }

  .div-block-22 {
    flex-direction: column;
    padding-top: 50px;
  }

  .text-block-2 {
    font-size: 5vw;
  }

  .section {
    height: 90vh;
  }

  .section.class-list {
    padding-top: 20vw;
  }

  .class-list-wrapper {
    grid-template-columns: 1fr 1fr;
  }

  .link-block-2 {
    opacity: 1;
    color: var(--dark-teal);
  }

  .div-block-23 {
    width: 30vw;
    height: 30vw;
  }

  .heading-7 {
    margin-top: 10px;
    margin-bottom: 10vw;
    font-size: 11vw;
  }

  .text-block-7 {
    text-align: center;
    padding-top: 15px;
    padding-bottom: 25px;
    font-size: 4vw;
    line-height: 1.1;
  }

  .link-block-3 {
    color: var(--dark-teal);
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    display: flex;
  }

  .text-block-8 {
    font-size: 4vw;
  }

  .resume-container {
    padding-top: 29vw;
  }

  .lottie-animation {
    width: 40vw;
    top: -75px;
  }

  .image-21._2nd {
    flex: none;
    width: 13vw;
    height: 12vw;
    margin-left: 2vw;
    display: block;
  }

  .image-22 {
    width: 10vw;
  }

  .image-23 {
    width: 15vw;
  }

  .image-23._2nd {
    width: 19vw;
    margin-left: 2vw;
  }

  .div-block-27 {
    margin-top: 12vw;
    margin-bottom: 12vw;
  }

  .video-2 {
    width: 90vw;
  }

  .div-block-31 {
    height: 53px;
  }

  .video-3 {
    height: 100vw;
  }

  .text-block-9 {
    font-size: 4vw;
  }

  .box-spettacoli {
    width: auto;
    margin-bottom: 20vw;
    margin-left: 2vw;
    margin-right: 2vw;
  }

  .box-spettacoli.centro {
    width: auto;
  }

  .spettacoli {
    flex-direction: column;
  }

  .img002, .img010, .img018, .img012, .img015, .img011, .img007, .img017, .img013, .img016 {
    width: 80%;
  }

  .slider-arrow.left {
    width: 20px;
    height: 20px;
    font-size: 14px;
  }

  .slider-arrow.right {
    width: 20px;
    height: 20px;
  }

  .img003 {
    width: 80%;
  }

  .slider-arrow-icon {
    font-size: 15px;
  }

  .img008, .img014, .img009, .img001, .slider-mask, .img004 {
    width: 80%;
  }

  .slider-wrap {
    display: flex;
  }

  .img006, .img005 {
    width: 80%;
  }

  .div-block-34 {
    padding: 10px;
  }

  .div-block-37 {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .div-block-38 {
    margin-bottom: 0;
  }

  .div-block-41 {
    height: 50vh;
  }

  .lottie-animation-2 {
    margin-top: 60px;
  }

  .div-block-42 {
    position: absolute;
  }
}

#w-node-c678b726-42da-3a3a-412f-fa570b86ef49-cf26e089 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}


@font-face {
  font-family: 'Voire';
  src: url('../fonts/Voire-DisplayMedium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}