/* Reset - Meyer
----------------------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Epilogue:wght@400;700&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  color: currentColor;
  outline: none;
  text-decoration: none;
}

button {
  background: transparent;
  border: none;
  color: currentColor;
  cursor: pointer;
  margin: 0;
  outline: none;
  padding: 0;
  text-decoration: none;
}

/* Functions
----------------------------------------------------------------------- */
/* Grid
----------------------------------------------------------------------- */
/* Hover
----------------------------------------------------------------------- */
/* Media Queries
----------------------------------------------------------------------- */
/* Transition
----------------------------------------------------------------------- */
/* Fonts
----------------------------------------------------------------------- */
@font-face {
  font-family: 'Wulkan Display';
  font-weight: 700;
  src: url("../fonts/wulkan-display-bold.woff2") format("woff2"), url("../fonts/wulkan-display-bold.woff") format("woff");
}

/* Colors 
----------------------------------------------------------------------- */
/* Fonts
----------------------------------------------------------------------- */
/* Spacings 
----------------------------------------------------------------------- */
/* Dimensions 
----------------------------------------------------------------------- */
/* Borders 
----------------------------------------------------------------------- */
/* Durations 
----------------------------------------------------------------------- */
/* Easings 
----------------------------------------------------------------------- */
/* Breakpoints
----------------------------------------------------------------------- */
/* Font Recipes
----------------------------------------------------------------------- */
.module__btn-scroll, .markdown {
  font-size: 1.6rem;
  line-height: 1.6em;
}

.markdown h3 {
  font-family: Wulkan Display, serif;
  font-size: 3.6rem;
  line-height: 1.1em;
}

.module__title, .markdown h2 {
  font-family: Wulkan Display, serif;
  font-size: 4.8rem;
  line-height: 1.1em;
}

@media (min-width: 600px) {
  .module__title, .markdown h2 {
    font-size: 4.2rem;
  }
}

/* Max Widths
----------------------------------------------------------------------- */
.module__inner {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-left: auto;
  margin-right: auto;
  max-width: 128rem;
}

/* Reset Spacings
----------------------------------------------------------------------- */
/* Security Spacings
----------------------------------------------------------------------- */
.module__inner {
  padding-left: 4rem;
  padding-right: 4rem;
}

@media (max-width: 599px) {
  .module__inner {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.module__inner {
  padding-bottom: 6rem;
  padding-top: 6rem;
}

/* Html
----------------------------------------------------------------------- */
html {
  font-size: 56.25%;
  height: 100%;
}

@media (min-width: 600px) {
  html {
    font-size: 62.5%;
  }
}

/* Body
----------------------------------------------------------------------- */
body {
  background-color: #fff;
  color: #000;
  font-family: Epilogue, sans-serif;
  font-size: 1.6rem;
  -webkit-font-smoothing: antialiased;
  min-width: 200px;
}

/* Icon
----------------------------------------------------------------------- */
.icon {
  display: block;
}

.icon svg {
  display: block;
  height: auto;
  width: 100%;
}

/* Picture
----------------------------------------------------------------------- */
.picture {
  display: block;
  position: relative;
}

.picture img {
  display: block;
  width: 100%;
}

/* Markdown
----------------------------------------------------------------------- */
.markdown > * + * {
  margin-top: 3rem;
}

.markdown strong {
  font-weight: 700;
}

.markdown em {
  font-style: italic;
}

.markdown ul {
  list-style: disc;
  padding-left: 1em;
}

.markdown .button {
  -webkit-transition-duration: 500ms;
       -o-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-property: background-color, color;
  -o-transition-property: background-color, color;
  transition-property: background-color, color;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
       -o-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  border: 2px solid #fff;
  border-radius: 4rem;
  color: currentColor;
  font-weight: 700;
  display: inline-block;
  padding: 1.5rem 3rem;
}

@media (hover: hover) {
  .markdown .button:hover {
    background: #fff;
    color: #f17386;
  }
}

/* Video
----------------------------------------------------------------------- */
.video {
  display: block;
  position: relative;
  width: 100%;
}

/* Swiper
----------------------------------------------------------------------- */
.swiper-container {
  margin: 0 auto;
  max-width: 60vh;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.swiper-container .swiper-button-prev,
.swiper-container .swiper-button-next {
  -webkit-transition-duration: 500ms;
       -o-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
       -o-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  color: #fff;
  display: block;
  height: 4rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 4rem;
  z-index: 5;
}

@media (hover: hover) {
  .swiper-container .swiper-button-prev:hover,
.swiper-container .swiper-button-next:hover {
    opacity: 0.7;
  }
}

.swiper-container .swiper-button-prev {
  left: 1.5rem;
}

.swiper-container .swiper-button-next {
  right: 1.5rem;
}

.swiper-container .swiper-button-next svg {
  -webkit-transform: rotateZ(180deg);
      -ms-transform: rotate(180deg);
          transform: rotateZ(180deg);
}

.swiper-container .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.swiper-container .swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
}

/* Themes
----------------------------------------------------------------------- */
.theme--white {
  background-color: #fff;
  color: #00567a;
}

.theme--white .theme-color-accent {
  color: #00567a;
}

.theme--blue {
  background-color: #00567a;
  color: #fff;
}

.theme--blue .theme-color-accent {
  color: #00adee;
}

.theme--blue-alt {
  background-color: #00567a;
  color: #f17386;
}

.theme--blue-alt .theme-color-accent {
  color: #f17386;
}

.theme--blue-light {
  background-color: #00adee;
  color: #fff;
}

.theme--blue-light .theme-color-accent {
  color: #00567a;
}

.theme--red {
  background-color: #f17386;
  color: #fff;
}

.theme--red .theme-color-accent {
  color: #00567a;
}

.theme--yellow {
  background-color: #f5a800;
  color: #fff;
}

.theme--yellow .theme-color-accent {
  color: #00567a;
}

/* Columns
----------------------------------------------------------------------- */
.module {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  position: relative;
}

@media (min-width: 1000px) {
  .module {
    height: 100vh;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
  }
}

.module__inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  position: relative;
  z-index: 1;
}

@media (max-width: 999px) {
  .module__inner {
    padding-bottom: 16rem;
  }
}

.module__title {
  margin-bottom: 6rem;
}

.module__title:last-child {
  margin: 12rem 0 6rem;
}

@media (min-width: 1000px) {
  .module__title:last-child {
    margin-bottom: 0;
  }
}

.module__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -8rem;
  margin-top: -6rem;
}

.module__grid > * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 8rem;
  padding-top: 6rem;
}

.module__grid > * {
  width: 100%;
}

@media (min-width: 1000px) {
  .module__grid > * {
    width: 50%;
  }
}

.module__btn-scroll {
  -webkit-transition-duration: 500ms;
       -o-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
       -o-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  bottom: 2rem;
  display: block;
  font-weight: 700;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
  z-index: 10;
}

@media (hover: hover) {
  .module__btn-scroll:hover {
    opacity: 0.7;
  }
}

@media (min-width: 1000px) {
  .module__btn-scroll {
    bottom: 4rem;
  }
}

.module__btn-scroll .text {
  display: block;
  margin-bottom: 1rem;
}

.module__btn-scroll .icon {
  margin: 0 auto;
  width: 4rem;
}

.module__decoration {
  margin: 6rem 4rem;
  position: absolute;
  top: 0;
}

.module__decoration--horse {
  left: 15%;
  top: 0;
  width: 70%;
}

@media (min-width: 1000px) {
  .module__decoration--horse {
    left: 0;
    width: 50%;
  }
}

.module__decoration--horses {
  bottom: 0;
  left: 0;
  margin: -12rem -8rem -8rem;
  right: 0;
  top: 0;
}

@media (min-width: 1000px) {
  .module__decoration--horses {
    margin: 6rem 4rem;
  }
}

.module__decoration--horses svg {
  height: 100%;
}

.module__decoration--frame-gallery {
  left: 10%;
  right: 10%;
  top: -10%;
}

.module__decoration--frame-video {
  left: 0;
  top: 0;
  width: 60%;
}

.module__decoration--frame-video-inverted {
  right: 0;
  top: 0;
  width: 60%;
}

.module__decoration--kid-jumping {
  bottom: 0;
  left: 0;
  -webkit-transform: translateX(-10%);
      -ms-transform: translateX(-10%);
          transform: translateX(-10%);
  width: 75%;
}

.module__decoration--kid-jumping-inverted {
  right: 0;
  top: 0;
  -webkit-transform: translateX(-10%) scale(-1, 1);
      -ms-transform: translateX(-10%) scale(-1, 1);
          transform: translateX(-10%) scale(-1, 1);
  width: 50%;
}

.module .picture,
.module .video {
  margin: 0 auto;
  max-width: 80rem;
}

.module:first-child {
  height: 90vh;
}

.module:first-child .module__inner {
  max-width: 64rem;
}

.module:last-child {
  text-align: center;
}

.module:last-child .module__inner {
  padding-bottom: 6rem !important;
}

.module:last-child .module__btn-scroll {
  display: none;
}

/* Site-Main
----------------------------------------------------------------------- */
.site-main {
  position: relative;
}

/* Site-Loader
----------------------------------------------------------------------- */
.site-loader {
  -webkit-transition-duration: 300ms;
       -o-transition-duration: 300ms;
          transition-duration: 300ms;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
  background-color: #000;
  bottom: 0;
  left: 0;
  pointer-events: none;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1000;
}

.page.loaded .site-loader {
  opacity: 0;
  pointer-events: none;
}

/* Delays
----------------------------------------------------------------------- */
.loaded .delay-1.visible {
  -webkit-transition-delay: 100ms;
       -o-transition-delay: 100ms;
          transition-delay: 100ms;
}

.loaded .delay-2.visible {
  -webkit-transition-delay: 200ms;
       -o-transition-delay: 200ms;
          transition-delay: 200ms;
}

.loaded .delay-3.visible {
  -webkit-transition-delay: 300ms;
       -o-transition-delay: 300ms;
          transition-delay: 300ms;
}

.loaded .delay-4.visible {
  -webkit-transition-delay: 400ms;
       -o-transition-delay: 400ms;
          transition-delay: 400ms;
}

.loaded .delay-5.visible {
  -webkit-transition-delay: 500ms;
       -o-transition-delay: 500ms;
          transition-delay: 500ms;
}

.loaded .delay-6.visible {
  -webkit-transition-delay: 600ms;
       -o-transition-delay: 600ms;
          transition-delay: 600ms;
}

/* Toggleonscroll
----------------------------------------------------------------------- */
.page .js-toggleonscroll-item.clip {
  -webkit-transition-duration: 750ms;
       -o-transition-duration: 750ms;
          transition-duration: 750ms;
  -webkit-transition-property: -webkit-clip-path;
  transition-property: -webkit-clip-path;
  -o-transition-property: clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
       -o-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-clip-path: inset(0 0 0 100%);
          clip-path: inset(0 0 0 100%);
}

.page.loaded .js-toggleonscroll-item.clip.visible {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}

.page .js-toggleonscroll-item.fade {
  -webkit-transition-duration: 750ms;
       -o-transition-duration: 750ms;
          transition-duration: 750ms;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
       -o-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  opacity: 0;
}

.page.loaded .js-toggleonscroll-item.fade.visible {
  opacity: 1;
}

.page .js-toggleonscroll-item.fade-translate {
  -webkit-transition-duration: 750ms;
       -o-transition-duration: 750ms;
          transition-duration: 750ms;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  -o-transition-property: opacity, transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
       -o-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  opacity: 0;
  -webkit-transform: translateY(6rem);
      -ms-transform: translateY(6rem);
          transform: translateY(6rem);
}

.page.loaded .js-toggleonscroll-item.fade-translate.visible {
  opacity: 1;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}

.page .js-toggleonscroll-item.site-header {
  -webkit-transition-duration: 750ms;
       -o-transition-duration: 750ms;
          transition-duration: 750ms;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
       -o-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
}

.page.loaded .js-toggleonscroll-item.site-header.visible {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}
