/* line 6, scss/component/hero.scss */
:root {
  --clip-path: none;
  --hero-top-padding: 160px; }

/* line 16, scss/component/hero.scss */
.is-loading {
  overflow: hidden; }

/* line 24, scss/component/hero.scss */
#loading {
  background-color: #55B5B1;
  opacity: 1;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 100vh;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 9998;
  transform-origin: right bottom;
  overflow: hidden; }

/* line 42, scss/component/hero.scss */
.title-anim,
.text-anim {
  line-height: normal;
  will-change: transform; }
  /* line 47, scss/component/hero.scss */
  .title-anim *,
  .text-anim * {
    will-change: transform; }

/* line 52, scss/component/hero.scss */
.mask-anim-wrap {
  display: inline-block; }

/* line 56, scss/component/hero.scss */
.hero-animated {
  background-color: #55B5B1; }
  /* line 59, scss/component/hero.scss */
  .hero-animated .site-logo__name {
    color: #55B5B1; }
  /* line 63, scss/component/hero.scss */
  .hero-animated h1 {
    margin: 0;
    width: 100%;
    max-width: 900px; }
    @media (max-width: 1199px) {
      /* line 63, scss/component/hero.scss */
      .hero-animated h1 {
        width: 100%; } }
  /* line 73, scss/component/hero.scss */
  .hero-animated #hero {
    width: 100%;
    height: 200vh;
    height: 200dvh; }
    /* line 78, scss/component/hero.scss */
    .hero-animated #hero .hero-fixed {
      position: absolute;
      top: 0;
      left: 0;
      width: auto;
      height: 200vh;
      height: 200dvh;
      z-index: 1; }
      /* line 87, scss/component/hero.scss */
      .hero-animated #hero .hero-fixed .hero-video-cont {
        position: sticky;
        top: var(--hero-top-padding);
        left: 0;
        clip-path: var(--clip-path);
        width: 100%;
        will-change: transform; }
        /* line 96, scss/component/hero.scss */
        .hero-animated #hero .hero-fixed .hero-video-cont .hero-video-clip video {
          width: 100vw;
          height: calc(100vh - var(--hero-top-padding));
          height: calc(100vh - var(--hero-top-padding));
          -o-object-fit: cover;
             object-fit: cover; }
    /* line 106, scss/component/hero.scss */
    .hero-animated #hero .hero-content {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 40px;
      width: 100%;
      height: 100%;
      padding: 176px 64px 80px;
      color: #FFFFFF; }
      @media (max-width: 767px) {
        /* line 106, scss/component/hero.scss */
        .hero-animated #hero .hero-content {
          padding: 144px 24px 80px; }
          /* line 119, scss/component/hero.scss */
          .hero-animated #hero .hero-content .hero-slogan svg {
            height: 36px;
            width: auto;
            margin-bottom: 12px; }
          /* line 125, scss/component/hero.scss */
          .hero-animated #hero .hero-content button {
            width: 100%; }
            /* line 128, scss/component/hero.scss */
            .hero-animated #hero .hero-content button svg {
              margin-left: auto; } }
      /* line 134, scss/component/hero.scss */
      .hero-animated #hero .hero-content .field--name-field-page-intro {
        width: 100%; }
        /* line 137, scss/component/hero.scss */
        .hero-animated #hero .hero-content .field--name-field-page-intro .hero-bottom {
          display: flex;
          flex-wrap: wrap;
          align-items: flex-end;
          justify-content: space-between;
          gap: 24px; }
          @media (min-width: 768px) {
            /* line 145, scss/component/hero.scss */
            .hero-animated #hero .hero-content .field--name-field-page-intro .hero-bottom .text {
              width: 50%; } }
          /* line 150, scss/component/hero.scss */
          .hero-animated #hero .hero-content .field--name-field-page-intro .hero-bottom .buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            width: 100%;
            height: -moz-fit-content;
            height: fit-content;
            align-items: center;
            justify-content: flex-end; }
      /* line 162, scss/component/hero.scss */
      .hero-animated #hero .hero-content .split-line {
        display: inline-block;
        overflow: hidden; }
      /* line 167, scss/component/hero.scss */
      .hero-animated #hero .hero-content .site-logo__name {
        width: 268px;
        height: 59px; }
    /* line 174, scss/component/hero.scss */
    .hero-animated #hero .hero-scroll {
      width: 100%;
      height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      position: relative;
      z-index: 1; }
      /* line 184, scss/component/hero.scss */
      .toolbar-horizontal .hero-animated #hero .hero-scroll {
        height: calc(100vh - 90px); }
      /* line 188, scss/component/hero.scss */
      .hero-animated #hero .hero-scroll > * {
        opacity: 1;
        transition: opacity 0.3s ease; }
    /* line 195, scss/component/hero.scss */
    .hero-animated #hero.hero-scrolled .hero-scroll > * {
      opacity: 0; }

/* line 202, scss/component/hero.scss */
#heroDecor {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-20%) translateY(-20%);
  z-index: 0;
  max-width: none; }
  @media (max-width: 767px) {
    /* line 202, scss/component/hero.scss */
    #heroDecor {
      height: 100vh; } }

/*# sourceMappingURL=hero.css.map */
