@font-face {
  font-family: "Arche";
  src: url("../fonts/Arche/CFArcheGrotesk-Light.woff2") format("woff2"), url("../fonts/Arche/CFArcheGrotesk-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Arche";
  src: url("../fonts/Arche/CFArcheGrotesk-LightItalic.woff2") format("woff2"), url("../fonts/Arche/CFArcheGrotesk-LightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Arche";
  src: url("../fonts/Arche/CFArcheGrotesk-Regular.woff2") format("woff2"), url("../fonts/Arche/CFArcheGrotesk-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Arche";
  src: url("../fonts/Arche/CFArcheGrotesk-Italic.woff2") format("woff2"), url("../fonts/Arche/CFArcheGrotesk-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Arche";
  src: url("../fonts/Arche/CFArcheGrotesk-Medium.woff2") format("woff2"), url("../fonts/Arche/CFArcheGrotesk-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Arche";
  src: url("../fonts/Arche/CFArcheGrotesk-MediumItalic.woff2") format("woff2"), url("../fonts/Arche/CFArcheGrotesk-MediumItalic.woff") format("woff");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Arche";
  src: url("../fonts/Arche/CFArcheGrotesk-Bold.woff2") format("woff2"), url("../fonts/Arche/CFArcheGrotesk-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Arche";
  src: url("../fonts/Arche/CFArcheGrotesk-Bolditalic.woff2") format("woff2"), url("../fonts/Arche/CFArcheGrotesk-Bolditalic.woff") format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Arche";
  src: url("../fonts/Arche/CFArcheGrotesk-Black.woff2") format("woff2"), url("../fonts/Arche/CFArcheGrotesk-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Arche";
  src: url("../fonts/Arche/CFArcheGrotesk-BlackItalic.woff2") format("woff2"), url("../fonts/Arche/CFArcheGrotesk-BlackItalic.woff") format("woff");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Elefont";
  src: url("../fonts/Elefont/elefont.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

body {
  --arche-font-features: "salt" 1, "ss01" 1, "ss02" 1, "ss03" 1, "ss04" 1, "ss05" 1;
  margin: 0;
  font-family: "Arche", sans-serif;
  font-feature-settings: var(--arche-font-features);
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-feature-settings: var(--arche-font-features);
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

.site {
  background: beige;
}
.site .round-corners {
  border-radius: 1.5625vw;
}
.site .font-size-1 {
  font-size: 14.0625vw;
  font-weight: 400;
  margin: 0;
}
.site .font-size-2 {
  font-size: 3.125vw;
  line-height: 3.75vw;
  font-weight: 400;
  margin: 0;
}
.site .font-size-3 {
  font-size: 2.34375vw;
  line-height: 2.8125vw;
  font-weight: 400;
  margin: 0;
}
.site .font-size-4 {
  font-size: 1.5625vw;
  line-height: 1.875vw;
  font-weight: 400;
  margin: 0;
}
.site .site-header {
  height: 18.75vw;
  padding-top: 3.75vw;
}
.site .site-header .wrapper {
  margin: 0 auto;
  padding: 0 3.75vw;
}
.site .site-header .logo {
  width: 22vw;
  margin: 0 0 0 3.75vw;
}
.site .site-footer {
  padding: 3.75vw 0 7.5vw 0;
}
.site .site-footer .wrapper {
  margin: 0 auto;
  padding: 0 3.75vw;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
}
.site .site-footer .contact {
  margin: 0;
  padding-left: 0;
  list-style: none;
  width: 15.625vw;
}
.site .site-footer .contact li {
  margin-bottom: 1.875vw;
}
.site .site-footer .jiraffe-feet {
  width: 39vw;
}
.site .site-main .wrapper {
  margin: 0 auto;
  padding: 0 3.75vw;
}
.site .site-main .wrapper .side-scroll {
  width: 28.5vw;
  position: absolute;
  right: 6vw;
  top: 3.75vw;
}
.site .site-main .wrapper .content {
  width: 70vw;
  text-align: center;
}
.site .site-main .wrapper .content .block {
  margin: 0 0 9.375vw 0;
}
.site .site-main .wrapper .content .block-full {
  width: 92.5vw;
}
.site .site-main .wrapper .content .block-hey {
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  text-align: left;
  background: #ff7d81;
  padding: 7.5vw 3.75vw 3.75vw 3.75vw;
}
.site .site-main .wrapper .content .block-hey .intro-text {
  width: 59.5vw;
}
.site .site-main .wrapper .content .block-hey .intro-text h3 {
  font-weight: normal;
  color: #FFFFFF;
}
.site .site-main .wrapper .content .block-hey .intro-text h3.slogan {
  margin-bottom: 3.75vw;
}
.site .site-main .wrapper .content .block-happy .kids {
  width: 92.5vw;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin: 0 0 5vw 0;
  position: relative;
  z-index: 1000;
}
.site .site-main .wrapper .content .block-happy .kids__photo {
  flex: 0 0 45.3125vw;
  aspect-ratio: 1/1;
  background: #FFFFFF;
}
.site .site-main .wrapper .content .block-happy .kids__photo img {
  width: 100%;
}
.site .site-main .wrapper .content .block-happy .kids__photo--left {
  margin-top: 2.5vw;
}
.site .site-main .wrapper .content .block-forall .grid-forall {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.875vw;
}
.site .site-main .wrapper .content .block-forall .grid-forall .value-item {
  background: white;
  padding: 3.75vw 1.875vw;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.site .site-main .wrapper .content .block-forall .grid-forall .value-item .illustration {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto 1.875vw auto;
}
.site .site-main .wrapper .content .block-forall .grid-forall .value-item.item-hours {
  grid-column: 1/-1;
  background: #ffc700;
}
.site .site-main .wrapper .content .block-forall .grid-forall .value-item.item-hours .illustration {
  width: 60vw;
}
.site .site-main .wrapper .content .block-forall .grid-forall .value-item.item-activities {
  background: #3b00cb;
  color: white;
}
.site .site-main .wrapper .content .block-forall .grid-forall .value-item.item-activities .illustration {
  width: 23.5vw;
}
.site .site-main .wrapper .content .block-forall .grid-forall .value-item.item-events {
  background: #4586ff;
}
.site .site-main .wrapper .content .block-forall .grid-forall .value-item.item-events .illustration {
  width: 27vw;
}
.site .site-main .wrapper .content .block-forall .grid-forall .value-item.item-environment {
  background: #ff7d81;
  color: white;
}
.site .site-main .wrapper .content .block-forall .grid-forall .value-item.item-environment .illustration {
  width: 20vw;
}
.site .site-main .wrapper .content .block-forall .grid-forall .value-item.item-flexibility {
  background: #00aa13;
}
.site .site-main .wrapper .content .block-call {
  margin-bottom: 0;
}
.site .site-main .wrapper .content .block-call .form {
  text-align: left;
  padding: 0;
  width: 100%;
}
.site .site-main .wrapper .content .block-call .form .form-field {
  display: block;
  border-bottom: 0.5vw solid black;
  margin-bottom: 2vw;
}
.site .site-main .wrapper .content .block-call .form .wpcf7-form-control-wrap {
  display: block;
  position: relative;
}
.site .site-main .wrapper .content .block-call .form .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  background: yellow;
  position: absolute;
  right: 0;
  top: 0;
}
.site .site-main .wrapper .content .block-call .form .wpcf7-text,
.site .site-main .wrapper .content .block-call .form .wpcf7-textarea {
  all: unset;
  display: block;
  box-sizing: border-box;
  width: 100%;
  font-size: 3.125vw;
  line-height: 3.75vw;
  font-weight: 400;
}
.site .site-main .wrapper .content .block-call .form .wpcf7-textarea {
  height: 11.25vw;
  overflow-wrap: anywhere;
  overflow-y: auto;
  resize: vertical;
  white-space: pre-wrap;
}
@supports (field-sizing: content) {
  .site .site-main .wrapper .content .block-call .form .wpcf7-textarea {
    field-sizing: content;
    height: auto;
    min-height: 11.25vw;
    overflow-y: hidden;
    resize: none;
  }
}
.site .site-main .wrapper .content .block-call .form .wpcf7-submit {
  all: unset;
  display: block;
  font-family: "Elefont", sans-serif;
  font-size: 14.0625vw;
  line-height: 1;
  font-weight: 400;
  margin: 1vw 0 0;
  letter-spacing: normal;
  text-transform: uppercase;
}
.site .site-main .wrapper .content .block .title {
  font-family: "Elefont", sans-serif;
  display: block;
  line-height: 0.78;
}
.site .site-main .wrapper .content .block .paragraph {
  width: 62.5vw;
  margin: 0 auto 3.75vw auto;
}
.site .site-main .wrapper .content .block .paragraph:last-child {
  margin: 0 auto;
}
.site .site-main .wrapper .content .block .title,
.site .site-main .wrapper .content .block p,
.site .site-main .wrapper .content .block h2,
.site .site-main .wrapper .content .block h3 {
  margin: 0;
}
.site .site-main .wrapper .content .bursted-box {
  margin: 0 auto 5.625vw auto;
  color: var(--bubble-text);
  isolation: isolate;
}
.site .site-main .wrapper .content .bursted-box--happy {
  --bubble-text: #38c8c6;
}
.site .site-main .wrapper .content .bubble-box {
  --bubble-bg: #ff7d81;
  --bubble-text: #000;
  --bubble-aspect-ratio: 905 / 336;
  position: relative;
  display: grid;
  place-items: center;
  width: var(--bubble-width);
  aspect-ratio: var(--bubble-aspect-ratio);
  margin: 0 auto 5.625vw auto;
  color: var(--bubble-text);
  isolation: isolate;
}
.site .site-main .wrapper .content .bubble-box__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: var(--bubble-bg);
  z-index: 0;
}
.site .site-main .wrapper .content .bubble-box__content {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  gap: 0.25rem;
  width: max-content;
  max-width: 80%;
  margin: 0 auto;
  text-align: center;
}
.site .site-main .wrapper .content .bubble-box--hey {
  --bubble-bg: #00aa13;
  --bubble-text: #ffc700;
  width: 60vw;
}
.site .site-main .wrapper .content .bubble-box--model {
  --bubble-bg: #ff7d81;
  --bubble-text: #eb0029;
}
.site .site-main .wrapper .content .bubble-box--team {
  --bubble-bg: #ebaeff;
  --bubble-text: #ff6700;
}
.site .site-main .wrapper .content .bubble-box--forall {
  --bubble-bg: #1eb2ff;
  --bubble-text: #005cff;
}
.site .site-main .wrapper .content .bubble-box--forall .flying {
  position: absolute;
  left: 19vw;
  top: 3.5vw;
}
.site .site-main .wrapper .content .bubble-box--call {
  --bubble-bg: #eb0029;
  --bubble-text: #ff7d81;
}
.site .site-main .wrapper .content .carrousel-model,
.site .site-main .wrapper .content .carrousel-team {
  margin: 0 0 3.75vw 0;
  position: relative;
  z-index: 2000;
}
.site .site-main .wrapper .content .carrousel-model .swiper-slide {
  aspect-ratio: 1/1;
  height: auto;
  position: relative;
  text-align: left;
}
.site .site-main .wrapper .content .carrousel-model .swiper-slide .illustration {
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
.site .site-main .wrapper .content .carrousel-model .swiper-slide .caption {
  width: 50vw;
  position: absolute;
  left: 3.75vw;
  bottom: 3.75vw;
  color: white;
}
.site .site-main .wrapper .content .carrousel-model .swiper-slide.slide-1 .caption {
  color: white;
}
.site .site-main .wrapper .content .carrousel-model__controls {
  margin: 3.75vw 0 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet {
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 0;
  border: 0;
  cursor: pointer;
  flex: 0 0 auto;
  font-size: 0;
  aspect-ratio: 139.3056/144;
  line-height: 0;
  margin: 0;
  opacity: 1;
  padding: 0;
  width: 10vw;
  height: auto;
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(1) {
  background-image: url("../img/slider-button-1.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(1):hover {
  background-image: url("../img/slider-button-1-hover.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(1).swiper-pagination-bullet-active {
  background-image: url("../img/slider-button-1-active.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(2) {
  background-image: url("../img/slider-button-2.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(2):hover {
  background-image: url("../img/slider-button-2-hover.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(2).swiper-pagination-bullet-active {
  background-image: url("../img/slider-button-2-active.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(3) {
  background-image: url("../img/slider-button-3.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(3):hover {
  background-image: url("../img/slider-button-3-hover.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(3).swiper-pagination-bullet-active {
  background-image: url("../img/slider-button-3-active.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(4) {
  background-image: url("../img/slider-button-4.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(4):hover {
  background-image: url("../img/slider-button-4-hover.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(4).swiper-pagination-bullet-active {
  background-image: url("../img/slider-button-4-active.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(5) {
  background-image: url("../img/slider-button-5.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(5):hover {
  background-image: url("../img/slider-button-5-hover.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(5).swiper-pagination-bullet-active {
  background-image: url("../img/slider-button-5-active.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(6) {
  background-image: url("../img/slider-button-6.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(6):hover {
  background-image: url("../img/slider-button-6-hover.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:nth-child(6).swiper-pagination-bullet-active {
  background-image: url("../img/slider-button-6-active.svg");
}
.site .site-main .wrapper .content .carrousel-model__controls .swiper-pagination-bullet:focus-visible {
  outline: solid 2px #00b909;
  outline-offset: 0.25rem;
}
.site .site-main .wrapper .content .carrousel-team {
  --team-carousel-peek: 3.75vw;
  margin: 0 0 3.75vw 0;
  padding: var(--team-carousel-peek) 0;
  background: #6df1dd;
}
.site .site-main .wrapper .content .carrousel-team .swiper-slide {
  aspect-ratio: 1/1;
  height: auto;
  margin: 0;
  width: calc(100% - var(--team-carousel-peek) * 2);
  position: relative;
}
.site .site-main .wrapper .content .carrousel-team .teacher-name {
  position: absolute;
  top: 5vw;
  left: 5vw;
}
.site .site-main .wrapper .content .carrousel-team img, .site .site-main .wrapper .content .carrousel-team__image-placeholder {
  aspect-ratio: 1/1;
  height: auto;
  object-fit: cover;
  width: 100%;
}
