/* -------------------------------- 

Primary style

-------------------------------- */
*,
*::after,
*::before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body::before {
  /* never visible - this is used in jQuery to check the current MQ */
  content: "mobile";
  display: none;
}
@media only screen and (min-width: 1023px) {
  body::before {
    /* never visible - this is used in jQuery to check the current MQ */
    content: "desktop";
  }
}

/* -------------------------------- 

Main Components 

-------------------------------- */
@media only screen and (min-width: 1281px) {
  body[data-hijacking="on"] {
    overflow: hidden;
  }
}

[data-animation="parallax"] .js-section > div,
[data-animation="fixed"] .js-section > div,
[data-animation="opacity"] .js-section > div {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media only screen and (min-width: 1281px) {
  [data-hijacking="on"] .js-section {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  [data-hijacking="on"] .js-section > div {
    visibility: visible;
  }
  [data-hijacking="off"] .js-section > div {
    opacity: 0;
  }
  [data-animation="rotate"] .js-section {
    /* enable a 3D-space for children elements */
    -webkit-perspective: 1800px;
    perspective: 1800px;
  }
  [data-hijacking="on"][data-animation="rotate"]
    .js-section:not(:first-of-type) {
    -webkit-perspective-origin: center 0;
    perspective-origin: center 0;
  }
  [data-animation="scaleDown"] .js-section > div,
  [data-animation="gallery"] .js-section > div,
  [data-animation="catch"] .js-section > div {
    -webkit-box-shadow: 0 0 0 rgba(25, 30, 46, 0.4);
    box-shadow: 0 0 0 rgba(25, 30, 46, 0.4);
  }
  [data-animation="opacity"] .js-section.visible > div {
    z-index: 1;
  }
}

@media only screen and (min-width: 1281px) {
  .js-section:first-of-type > div::before {
    display: none;
  }
}
@media only screen and (min-width: 1281px) {
  .js-section > div {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;

    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  [data-hijacking="on"] .js-section > div {
    position: absolute;
  }
  [data-animation="rotate"] .js-section > div {
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
}
