/*
 * site.css
 *
 * Unify に同梱されていたプラグイン（animate.css / dzsparallaxer / hs-megamenu / hamburgers）のうち、
 * 実際に使っている規則だけを移した自前の CSS。動きは js/site.js が付け外しするクラスで決まる。
 *   .animated .zoomIn  : 上へ戻るボタンの出現（site.js）。fadeIn は Svelte の ResultDisplay が使う
 *   .dzsparallaxer     : hero.html / pricing.html のパララックス背景（site.js が transform を動かす）
 *   .hs-menu-initialized: ヘッダーのナビ（z-index 指定だけ使っている）
 *   .hamburger         : ヘッダーのハンバーガー（site.js が is-active を付け外しする）
 * 元の読み込み位置（theme.css の前）を保つため、base.html は theme.css より前でこれを読む。
 */

/* ---- animate.css 3.7.0 ---- */
.animated {
  animation-duration: 1s;
  animation-delay: .1s;
  animation-fill-mode: both;
}

@media (prefers-reduced-motion) {
  .animated {
    animation: unset !important;
    transition: none !important;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}

.zoomIn {
  animation-name: zoomIn;
}

/* ---- dzsparallaxer 1.31 ---- */
.dzsparallaxer:not(.mode-oneelement) {
  height: 300px;
  overflow: hidden;
  background-color: #1c1a17;
  position: relative;
  transition-property: height;
  transition-duration: 0.3s;
  transition-timing-function: ease-in;
}

.dzsparallaxer:not(.mode-oneelement) .dzsparallaxer--target {
  position: relative;
}

.dzsparallaxer:not(.mode-oneelement) > .container,
.dzsparallaxer:not(.mode-oneelement) > .row,
.dzsparallaxer:not(.mode-oneelement) > p,
.dzsparallaxer:not(.mode-oneelement) > div {
  position: relative;
}

.dzsparallaxer.use-loading .dzsparallaxer--target {
  opacity: 0;
  visibility: hidden;
  transition-property: opacity, visibility;
  transition-duration: 0.7s;
  transition-timing-function: ease-in;
}

.dzsparallaxer.height-is-based-on-content {
  height: auto;
  padding: 0 !important;
}

.dzsparallaxer.height-is-based-on-content .dzsparallaxer--target {
  position: absolute;
}

.dzsparallaxer.height-is-based-on-content > div {
  position: relative;
}

.dzsparallaxer.use-loading.loaded .dzsparallaxer--target {
  opacity: 1;
  visibility: visible;
}

.divimage {
  background-size: cover;
  background-position: center center;
}

/* ---- hs-megamenu 1.0.0（ヘッダーのナビに残っている指定だけ） ---- */
.hs-menu-initialized {
  position: relative;
  z-index: 10;
}

/* ---- hamburgers（slider 型だけ） ---- */
.hamburger {
  padding: 15px 15px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 0.7; }
.hamburger-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative; }
.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 40px;
    height: 4px;
    background-color: #000;
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -10px; }
  .hamburger-inner::after {
    bottom: -10px; }
/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 2px; }
  .hamburger--slider .hamburger-inner::before {
    top: 10px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider .hamburger-inner::after {
    top: 20px; }
.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before {
    transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(-90deg); }

