@font-face {
    font-family: 'Norse';
    src: url('../fonts/norse/Norse.woff2') format('woff2'),
        url('../fonts/norse/Norse.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
  font-family: 'Norse Bold';
  src: url('../fonts/norse/Norse-Bold.woff2') format('woff2'),
      url('../fonts/norse/Norse-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

html,
body {
  height: 100vh;
  max-height: 100dvh;
  max-width: 100vw;
  background: #000;
  overflow: hidden;
}

.variable {
    width: 100%;
    position: absolute;
    display: inline-flex;
    top: 0px;
    background: #ccc;
    justify-content: space-around;
    z-index:9;
    display: none;
}

.wrapper {
    align-items: center;
    display: flex;
    justify-content: center;
    height: 100vh;
    max-height: 100dvh;
    max-width: 100vw;
}

area {
    cursor: pointer;
}

.start-page {
  position:absolute;
}

#intro-page {
  display: none;
  z-index: 1;
}

#end-page1 {
  display: none;
  z-index: 1;
}

#start-page1 {
  z-index: 2;
}

#start-page2 {
  display: none;
  z-index: 1;
}

#start-page1-b {
  z-index: 2;
}

#start-page2-b {
  display: none;
  z-index: 1;
}

#start-page1-c {
  z-index: 2;
}

#start-page2-c {
  display: none;
  z-index: 1;
}

#start-page1-d {
  z-index: 2;
}

#start-page2-d {
  display: none;
  z-index: 1;
}

#start-page1-e {
  z-index: 2;
}

#start-page2-e {
  display: none;
  z-index: 1;
}

#start-page1-f {
  z-index: 2;
}

#start-page2-f {
  display: none;
  z-index: 1;
}

#start-page1-g {
  z-index: 2;
}

#start-page2-g {
  display: none;
  z-index: 1;
}

.background-intro {
  max-height: 100dvh;
  max-width: 100vw;
}

.background-intro-2 {
  max-height: 100dvh;
  max-width: 100vw;
}

.background-image {
  max-height: 100dvh;
  max-width: 100vw;
}

.background-image-start {
  max-height: 100dvh;
  max-width: 100vw;
}

.background-image-loading {
  max-height: 100dvh;
  max-width: 100vw;
}

.rules {
  max-height: 100dvh;
  max-width: 100vw;
}

.rules-none {
  display:none;
  position: absolute;
}

#rules-page {
  display:none;
}

.arrow {
  position: absolute;
  top: 40%;
  right: 0%;
  width: 15%;
  cursor: pointer;
}

.arrow .arrow-hover {
  display: none;
}

.arrow:hover .arrow-hover {
  display: block;
  width: 100%;
}

.arrow .arrow-normal {
  width: 100%;
}

.arrow:hover .arrow-normal {
  display: none;
}

.background-video {
  max-height: 100dvh;
  max-width: 100vw;
}

.video {
  background-color: black;
  max-height: 100dvh;
  max-width: 100vw;
  display: none;
}

.video-loading {
  background-color: black;
  max-height: 100dvh;
  max-width: 100vw;
  display: block;
}

#countdown {
  font-size: 2em;
  background-color: white;
}

.outsidetop {
  margin-top: -350%;
  transition: margin 1.5s;
}

.insidetop {
  position:absolute !important;
  margin-bottom: 0% !important;
  transition: margin 1.5s !important;
}

.outsideright {
  margin-right: -250%;
  transition: margin .9s;
}

.insideright {
  position:absolute !important;
  margin-right: 0% !important;
  transition: margin 1.5s !important;
}

.subtitle {
  display: inline-flex;
  margin-top: -10%;
  position: absolute;
  color: #fff;
  padding: 20px;
  background: transparent;
  text-shadow: -1px 1px 0 #000, 1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000;
  margin-left: 50%;
  transform: translateX(-50%);
  font-size: calc(1rem + ((1vw - 0.48rem) * 1.3889));
  min-height: 0vw;
  width: max-content;
}

.none {
  display: none;
}

.opacity {
  opacity: 0.5;
}

.skip-button {
  position: absolute;
  top: 4%;
  right: 1%;
  width: 8%;
  cursor: pointer;
  opacity: 0.4;
  display: none;
  z-index: 999999999999999999999;
}

.skip-button:hover {
  opacity: 1;
}

.text-connect {
  position: absolute;
  top: 8%;
  left: 10%;
  width: 80%;
  height: 13%;
  overflow: auto;
}

.title-team {
  position: absolute;
  top: 7%;
  left: 10%;
  width: 80%;
  height: 25%;
  overflow: auto;
}

.text-team1 {
  position: absolute;
  top: 25.5%;
  left: 24%;
  width: 73%;
  height: 30%;
  overflow: auto;
}

.text-team2 {
  position: absolute;
  top: 58.8%;
  left: 24%;
  width: 73%;
  height: 30%;
  overflow: auto;
}

.interface-base2 {
  z-index: 4 !important;
}

.interface-base3 {
  z-index: 4 !important;
}

.interface-base4 {
  z-index: 4 !important;
}

.extra-top {
  margin-top: 5%;
}

.red {
  color: #a60000 !important;
  font-weight: bold !important;
}

.forward-continue-button {
  position: absolute;
  cursor: pointer;
  z-index: 99999999999;
  top: 10%;
  width: 9%;
}

.forward-continue {
  position: absolute;
  top: 55%;
  width: 100%;
  height: 20%;
  z-index: 4;
  display: none;
  text-align: center;
  left: -4%;
}

.continue-text {
  display: none;
  position: absolute;
  top: 30%;
  left: 0%;
  width: 100%;
  height: 30%;
  overflow: auto;
  z-index: 4;
}

.text-rules {
  position: absolute;
  top: 8%;
  left: 10%;
  width: 80%;
  height: 80%;
  overflow: auto;
}

.text-rules2 {
  position: absolute;
  top: 18%;
  left: 17%;
  width: 65%;
  height: 7%;
  overflow: auto;
}

.text-rules2introb {
  position: absolute;
  top: 26%;
  left: 12%;
  width: 12%;
  height: 8%;
  overflow: auto;
}

.text-rules2b {
  position: absolute;
  top: 24.5%;
  left: 25%;
  width: 61%;
  height: 18%;
  overflow: auto;
}

.text-rules2introc {
  position: absolute;
  top: 45%;
  left: 12%;
  width: 12%;
  height: 8%;
  overflow: auto;
}

.text-rules2c {
  position: absolute;
  top: 44%;
  left: 25%;
  width: 61%;
  height: 18%;
  overflow: auto;
}

.text-rules2introd {
  position: absolute;
  top: 63%;
  left: 12%;
  width: 12%;
  height: 8%;
  overflow: auto;
}

.text-rules2d {
  position: absolute;
  top: 63%;
  left: 25%;
  width: 61%;
  height: 18%;
  overflow: auto;
}

.text-rules2e {
  position: absolute;
  top: 81%;
  left: 10%;
  width: 83%;
  height: 7%;
  overflow: auto;
}

.text-rules3a {
  position: absolute;
  top: 36%;
  left: 4%;
  width: 16%;
  height: 22%;
  overflow: auto;
}

.text-rules3b {
  position: absolute;
  top: 69%;
  left: 4%;
  width: 16%;
  height: 22%;
  overflow: auto;
}

.text-rules3c {
  position: absolute;
  top: 8%;
  left: 22%;
  width: 56%;
  height: 70%;
  overflow: auto;
}

.text-rules3d {
  position: absolute;
  top: 38%;
  left: 77.5%;
  width: 16%;
  height: 12%;
  overflow: auto;
}

.text-rules3e {
  position: absolute;
  top: 60%;
  left: 77.5%;
  width: 16%;
  height: 33%;
  overflow: auto;
}

.text-rep7b {
    position: absolute;
    top: 21%;
    left: 47%;
    transform: rotate(3deg);
    width: 28%;
    height: 59%;
    overflow: auto;
    display: none;
    z-index: 1;
}

.p-rep7b {
    font-family: 'Norse';
    font-size: calc(0.36rem + ((1vw - 0.48rem) * 1.3889));
    line-height: calc(0.7rem + ((1vw - 0.48rem) * 1.3889));
    font-weight: bold;
    margin-bottom: 0rem;
    text-align: left;
    color: #000;
    text-align: center;
}

.yellow {
  color: #f0e102;
  font-weight: bold;
}

.title-rule {
  font-family: 'Diogenes';
  color: #f0e102;
  font-size: 7vh !important;
  text-align: center;
  font-weight: bold;
  margin-bottom: 2%;
  text-shadow:
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000,
    1px 1px 0 #000,
    -2px 0px 0 #000,
    2px 0px 0 #000,
    0px -2px 0 #000,
    0px 2px 0 #000;
}

.p-rule {
    font-family: 'Norse';
    font-size: 4vh;
    line-height: 5vh;
    text-align: center;
    font-weight: normal;
    margin-bottom: 0rem;
    color: #fff;
}

.p-rule-team {
  text-align: left;
}

.extra-p-rule {
  font-size: 4vh;
  line-height: 4vh;
}

.text-left {
  text-align: left;
}

.p-yellow {
  color: #f0e102 !important;
  font-weight: bold !important;
}

.align-left {
    text-align: left !important;
}

.align-center {
  text-align: center !important;
}

.align-right {
  text-align: right !important;
}

.transparentdraw {
    float: right;
    height: 83%;
    width: 28%;
    margin-left: 15px;
    object-fit: contain;
    object-position: bottom;
    shape-outside: inset(calc(150% - 105%) 0 0);
}

.sphere {
  position: absolute;
  left: 0%;
  top: 0%;
  width: 100%;
  display: none;
  z-index: 1;
}

.margin .root {
    position: static;
}

.root {
    position: absolute;
    top: 5%;
    left: 37%;
    z-index: 6;
    width: 100%;
}

.margin .root2 {
  position: static;
}

.root2 {
  position: absolute;
  top: 5%;
  left: 5%;
  z-index: 6;
  width: 100%;
}

.container {
    position: absolute;
}

.will-change-container {
    will-change: transform;
}

.will-change-target {
    position: absolute;
    text-align: center;
    background: transparent;
    color: #333;
    font-weight: bold;
    border: 1px solid transparent;
    box-sizing: border-box;
}

.target {
    position: absolute;
    text-align: center;
    background: transparent;
    color: #333;
    font-weight: bold;
    border: 1px solid transparent;
    box-sizing: border-box;
}

.nested {
    position: absolute;
    border: 4px solid #ccc;
    top: 50px;
    left: 70px;
    color: #333;
    /* box-sizing: border-box; */
}

.nested.first {
    top: 150px;
}

.nested.rotate {
    transform-origin: 0 0;
    transform: rotate(-30deg);
}

.nested.scale {
    transform: scale(1.5, 1.5);
}

.nested .target {
    top: 50px;
    left: 50px
}


/* pos guidelines */
.moveable-normal.red {
    background: red !important;
}

/* gap guidelines */
.moveable-gap.red {
    background: red !important;
}

/* When snapped to an element in elementGuidelines */
.moveable-bold.red {
    background: red !important;
}

/* A dashed line between target and element */
.moveable-dashed.red {
    border-top-color: red !important;
    border-left-color: red !important;
}

/* pos guidelines */
.moveable-normal.green {
    background: green !important;
}

/* gap guidelines */
.moveable-gap.green {
    background: green !important;
}

/* When snapped to an element in elementGuidelines */
.moveable-bold.green {
    background: green !important;
}

/* A dashed line between target and element */
.moveable-dashed.green {
    border-top-color: green !important;
    border-left-color: green !important;
}

.moveable-line {
  position: absolute;
  width: 0px;
  height: 0px;
  background: transparent !important;
  transform-origin: 0px 0.5px;
}

.moveable-origin {
  display: none;
}

.moveable-sw, .moveable-se, .moveable-s, .moveable-n {
 display: none;
}

.scrollArea {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100vh - 100px);
    overflow: auto;
}

.scrollArea:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 300%;
    width: 100%;
    background: linear-gradient(#333,
            #fff);
}

.infinite-viewer {
    height: 500px;
}

.control-padding .moveable-around-control {
    background: #f55 !important;
}


.cube {
    display: inline-block;
    border-radius: 5px;
    width: 40px;
    height: 40px;
    margin: 4px;
    background: #eee;
    --color: #4af;
    color: #333;
    line-height: 40px;
    text-align: center;
}

.cube .cube {
    background: #ddd;
    margin-left: 20px;

}

.daedalos-light {
  display: none;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 25.8%;
} 

.visiondiv{
  display: none;
}

#sourceImage {
  position: absolute;
  left: 0%;
  top: 4%;
  width: 100%;
  cursor: pointer;
  z-index: 3;
}

#sourceImage2 {
  position: absolute;
  left: 0%;
  top: 4%;
  width: 100%;
  cursor: pointer;
  z-index: 3;
}

#sourceImage3 {
  position: absolute;
  left: 0%;
  top: 4%;
  width: 100%;
  cursor: pointer;
  z-index: 3;
}

#sourceImage4 {
  position: absolute;
  left: 0%;
  top: 4%;
  width: 100%;
  cursor: pointer;
  z-index: 3;
}

#sourceImage5 {
  position: absolute;
  left: 0%;
  top: 4%;
  width: 100%;
  cursor: pointer;
  z-index: 3;
}

#sourceImage6 {
  position: absolute;
  left: 0%;
  top: 4%;
  width: 100%;
  cursor: pointer;
  z-index: 3;
}

#sourceImage7 {
  position: absolute;
  left: 0%;
  top: 4%;
  width: 100%;
  cursor: pointer;
  z-index: 3;
}

#sourceImage8 {
  position: absolute;
  left: 0%;
  top: 4%;
  width: 100%;
  cursor: pointer;
  z-index: 3;
}

#sourceImage9 {
  position: absolute;
  left: 0%;
  top: 4%;
  width: 100%;
  cursor: pointer;
  z-index: 3;
}

.vision {
  position: absolute;
  left: 0%;
  top: 4%;
  width: 100%;
  cursor: pointer;
  z-index: 4;
}

.vision2b {
  position: absolute;
  cursor: pointer;
  z-index: 4;
  left: 0;
  width: 100%;
}

.vision2c {
  position: absolute;
  cursor: pointer;
  z-index: 4;
  left: 0;
  width: 100%;
}

.vision3c {
  position: absolute;
  cursor: pointer;
  z-index: 4;
  left: 0;
  width: 100%;
}

.target2 {
  width: 27%;
}

.target3b {
  width: 3%;
  left: 0%;
}
.target3c {
  width: 3%;
  left: 7%;
}
.target3d {
  width: 3%;
  left: 14%;
}
.target3e {
  width: 3%;
  left: 21%;
}
.target3f {
  width: 3%;
  left: 28%;
}
.target3g {
  width: 3%;
  left: 35%;
}
.target3h {
  width: 3%;
  left: 42%;
}
.target3i {
  width: 3%;
  left: 49%;
}
.target3l {
  width: 3%;
  left: 56%;
}
.target3m {
  width: 3%;
  left: 63%;
}
.target3n {
  width: 3%;
  left: 70%;
}

.target2c {
  width: 3%;
  left: 0%;
}
.target2d {
  width: 3%;
  left: 5%;
}
.target2e {
  width: 3%;
  left: 10%;
}
.target2f {
  width: 3%;
  left: 15%;
}
.target2g {
  width: 3%;
  left: 20%;
}

.vision-button {
  position: absolute;
  cursor: pointer;
  z-index: 3;
  right: 1%;
  top: 1%;
  width: 8%;
  display: none;
}

.vision-button:hover {
  filter: brightness(1.55);
}

div.__markerjs2_ {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
}

.transp-click {
  position: absolute;
  cursor: pointer;
  left: 30%;
  top: 10%;
  width: 40%;
  display: none;
  z-index: 2;
}

.help-visual {
  position: absolute;
  cursor: pointer;
  left: 75.3%;
  top: 40.7%;
  width: 6%;
  display: none;
  z-index: 4;
}

.help-visual:hover {
  filter: brightness(1.55);
}


.begin-button {
  position: absolute;
  cursor: pointer;
  z-index: 99999999;
  left: 21%;
  top: 65.7%;
  width: 56%;
}

.begin-button2 {
  position: absolute;
  cursor: pointer;
  z-index: 99999999;
  left: 21%;
  top: 65.7%;
  width: 56%;
}

.start-button {
  position: absolute;
  cursor: pointer;
  z-index: 99999999999;
  left: 26.3%;
  top: 82.4%;
  width: 46.3%;
  display: none;
}

.start-button:hover {
  filter: brightness(1.55);
}

#immersive-start-button {
  left: 88%;
  top: 25%;
  width: 9%;
}

#normal-start-button {
  left: 88%;
  top: 45%;
  width: 9%;
}

#hard-start-button {
  left: 88%;
  top: 64%;
  width: 9%;
}

.continue-button {
  position: absolute;
  cursor: pointer;
  z-index: 99999999999;
  left: 37%;
  top: 73%;
  width: 27%;
  display: none;
}

.continue-button:hover {
  filter: brightness(1.55);
}

.back-button {
  position: absolute;
  cursor: pointer;
  z-index: 99999999999;
  left: 1%;
  top: 10%;
  width: 9%;
  display: none;
}

.back-button:hover {
  filter: brightness(1.55);
}

.forward-button {
  position: absolute;
  cursor: pointer;
  z-index: 99999999999;
  right: 1%;
  top: 10%;
  width: 9%;
  display: none;
}

.forward-button:hover {
  filter: brightness(1.55);
}

.reconnect-button {
  position: absolute;
  cursor: pointer;
  z-index: 99999999;
  left: 0%;
  top: 0%;
  width: 100%;
  display: none;
}

.reconnect-button .reconnect-button-hover {
  display: none;
}

.reconnect-button:hover .reconnect-button-hover {
  display: block;
  width: 100%;
}

.reconnect-button .reconnect-button-normal {
  width: 100%;
}

.reconnect-button:hover .reconnect-button-normal {
  display: none;
}

.send-button {
  position: absolute;
  cursor: pointer;
  z-index: 99999999;
  left: 4.5%;
  top: 85%;
  width: 28%;
  display: none;
}

.send-button:hover {
  filter: brightness(1.55);
}

.help-visual-text {
  position: absolute;
  top: 50%;
  left: 53%;
  width: 21.8%;
  z-index: 4;
  display: none;
}

.interface-communication {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 30%;
  display: none;
  z-index: 3;
}

.interface-help {
  position: absolute;
  top: 0%;
  right: 2%;
  width: 40%;
  display: none;
  z-index: 3;
}

#interface-base2 {
  z-index: 4 !important;
}

#interface-base3 {
  z-index: 4 !important;
}

.interface-frame {
    position: absolute;
    top: 10.9%;
    left: 56.8%;
    width: 21.8%;
    display: none;
}

.battery {
    position: absolute;
    top: 10%;
    right: 1%;
    width: 10%;
    display: none;
}

.code-div {
    position: absolute;
    display: inline-block;
    top: 34%;
    width: 100%;
    display: none;
}

.text-input {
  position: absolute;
  top: 20%;
  left: 15.2%;
  width: 68%;
  z-index: 4;
  display: none;
}

.message-input {
  position: absolute;
  top: 23%;
  left: 20.2%;
  color: #000;
  background: transparent;
  width: 58%;
  z-index: 4;
  height: 6%;
  line-height: 6%;
  border: 0px;
  display: none;
  text-transform: uppercase;
  font-family: "Norse";
}

.message-input:focus {
  border-color: transparent;
  outline: transparent;
}

.p-message {
  position: absolute;
  display: contents;
}

.button-loop {
  position: absolute;
  width: 22%;
  left: 15.1%;
  top: 63%;
  display: none;
  cursor: pointer;
}

.button-loop .button-loop-hover {
  display: none;
}

.button-loop:hover .button-loop-hover {
  display: block;
  width: 100%;
}

.button-loop .button-loop-normal {
  width: 100%;
}

.button-loop:hover .button-loop-normal {
  display: none;
}

.code-button {
  position: absolute;
  width: 12%;
  left: 8%;
  top: 43%;
  display: none;
  cursor: pointer;
  z-index: 4;
}

.code-button:hover {
  filter: brightness(1.55);
}

.code-button-close {
  position: absolute;
  top: 43%;
  right: 9%;
  width: 12%;
  z-index: 4;
  display: none;
  cursor: pointer;
}

.code-button-close:hover {
  filter: brightness(1.55);
}

.code-bar {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  z-index: 2;
  display:none;
}

#code-bar {
  z-index: 4;
}

#code-bar-b {
  z-index: 4;
}

#code-bar-c {
  z-index: 4;
}

#code-bar-d {
  z-index: 4;
}

#code-bar-e {
  z-index: 4;
}

#code-bar-f {
  z-index: 4;
}

#code-bar-g {
  z-index: 4;
}

#code-bar-h {
  z-index: 4;
}

#code-bar-i {
  z-index: 4;
}

#code-bar-j {
  z-index: 4;
}

.code-popup {
  position: absolute;
  top: 88%;
  left: 1%;
  width: 19%;
  display: none;
  z-index: 2;
}

.code-red {
  cursor: not-allowed;
}

.code-green {
  cursor: pointer;
}

.code-green:hover {
  filter: brightness(1.55) !important;
}

.database-popup {
  position: absolute;
  top: 68%;
  left: 58%;
  width: 19%;
  cursor: pointer;
  display:none;
}

.database-popup:hover {
  filter: brightness(1.55);
}

.noblue {
  color: #ffffff;
  cursor: default;
  text-decoration: none;
}

.noblue:hover {
  color: #ffffff;
  cursor: default;
  text-decoration: none;
}

.gif-spin {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  display: none;
  z-index: 9999999999;
  opacity: 0.4;
}

.subtitle-extra {
  font-family: 'Norse';
  position: absolute;
  top: 6%;
  left: 4%;
  width: 22%;
  display: none;
  font-size: 13px;
  font-size: min(max(2.6vh, 18px), 8vh);
  line-height: min(max(4vh, 18px), 8vh);
  color: #fff;
  overflow: auto;
  height: 50%;
  z-index: 4;
}

.communication1 {
  font-family: 'Norse';
  position: absolute;
  top: 6%;
  left: 4%;
  width: 22%;
  display: none;
  font-size: 13px;
  font-size: min(max(2.6vh, 18px), 8vh);
  line-height: min(max(4vh, 18px), 8vh);
  color: #fff;
  white-space: pre-line;
  overflow: auto;
  height: 49%;
  z-index: 3;
}

.communication2 {
  font-family: 'Norse';
  position: absolute;
  top: 7%;
  left: 69.1%;
  width: 18%;
  display: none;
  font-size: 13px;
  font-size: min(max(2.6vh, 18px), 8vh);
  line-height: min(max(4vh, 18px), 8vh);
  color: #fff;
  white-space: pre-line;
  overflow: auto;
  height: 32%;
  z-index: 3;
  text-align: center;
}

.communication3 {
  font-family: 'Norse';
  position: absolute;
  display: none;
  font-size: 13px;
  font-size: min(max(5vh, 18px), 8vh);
  color: #fff;
  z-index: 4;
  bottom: 4.2%;
  width: auto;
  background: rgba(0,0,0,0.7);
  padding: 10px 25px;
  left: 50%;
  transform: translate(-50%, 0%);
  text-align: center;
  line-height: min(max(6vh, 18px), 8vh);
}

.communication4 {
  font-family: 'Norse';
  position: absolute;
  top: 60%;
  left: 4%;
  width: 29.6%;
  display: none;   
  font-size: 13px;
  font-size: min(max(3vh, 13px), 6vh);
  color: #1b6610;
  white-space: pre-line;
  overflow: auto;
  height: 36%;
  flex-direction: column-reverse;
}

.communication5 {
  font-family: 'Norse';
  position: absolute;
  top: 60%;
  left: 4%;
  width: 29.6%;
  display: none;   
  font-size: 13px;
  font-size: min(max(3vh, 13px), 6vh);
  color: #b50a01;
  white-space: pre-line;
  overflow: auto;
  height: 36%;
  flex-direction: column-reverse;
}

.communication6 {
  font-family: 'Norse';
  position: absolute;
  top: 60%;
  left: 4%;
  width: 29.6%;
  display: none;   
  font-size: 13px;
  font-size: min(max(1.8vh, 13px), 6vh);
  color: #cdae2d;
  white-space: pre-line;
  overflow: auto;
  height: 36%;
  flex-direction: column-reverse;
}

.jim-afro-angle {
  position: absolute;
  top: 3.5%;
  left: 83.8%;
  width: 9.6%;
  display: none;
}

.right-arrow {
  position: absolute;
  top: 3.9%;
  left: 69%;
  width: 9%;
  display: none;
}

.review {
  position: absolute;
  bottom: 18%;
  right: 6.6%;
  width: 9%;
  display: none;
  z-index: 3;
}

.help-light {
  position: absolute;
  bottom: 7%;
  right: 3.3%;
  width: 16%;
  display: none;
}

.help-button {
  position: absolute;
  bottom: 0%;
  right: 1%;
  width: 20%;
  display: none;
  cursor: pointer;
  z-index: 4;
}

.help-button:hover {
  filter: brightness(1.55);
}

.no-help-button {
  position: absolute;
  bottom: 0%;
  right: 1%;
  width: 20%;
  display: none;
  cursor: not-allowed;
  z-index: 4;
}

.help-button-1 {
  position: absolute;
  bottom: 7.5%;
  right: 12%;
  width: 6.5%;
  display: not-allowed;
  z-index: 3;
  cursor: pointer;
  display: none;
}

.help-button-1:hover {
  filter: brightness(1.55);
}

.help-button-2 {
  position: absolute;
  bottom: 7.5%;
  right: 8%;
  width: 6.5%;
  display: not-allowed;
  z-index: 3;
  cursor: pointer;
  display: none;
}

.help-button-2:hover {
  filter: brightness(1.55);
}

.help-button-3 {
  position: absolute;
  bottom: 7.5%;
  right: 4%;
  width: 6.5%;
  display: not-allowed;
  z-index: 3;
  cursor: pointer;
  display: none;
}

.help-button-3:hover {
  filter: brightness(1.55);
}

.nolight {
  cursor: not-allowed;
}

.nolight:hover {
  filter: brightness(0);
}

.newspaper-picture {
  position: absolute;
  top: 11.6%;
  left: 9.7%;
  width: 32%;
  display: none;
}

.crime-scene {
  position: absolute;
  top: 11.5%;
  left: 11%;
  width: 30%;
  display: none;
}

.killer-simbol {
  position: absolute;
  top: 11.8%;
  left: 18%;
  width: 16%;
  display: none;
}

.document-0 {
  position: absolute;
  top: 11.8%;
  left: 13.35%;
  width: 25%;
  display: none;
}

.documents {
  position: absolute;
  top: 11.3%;
  left: 6.8%;
  width: 38%;
  display: none;
}

.database-files {
  position: absolute;
  top: 28.3%;
  left: 60.4%;
  width: 26.9%;
  height: 48.2%;
  z-index: 2;
  overflow: auto;
  display: none;
}

.modal {
  display: none;
  position: relative;
  z-index: 99999999999999999999999999999999999999;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0,0,0);
  background-color: rgba(0,0,0,0.7);
}

.modal-content {
  font-family: 'Taxon';
  background-color: #091143;
  margin: auto;
  padding: 5%;
  border: 2px solid #ffffff;
  width: 90%;
  height: 60%;
  color: #ffffff;
  border-radius: 25px;
  text-align: center;
  font-weight: bold;
  font-size: min(max(5vh, 13px), 6vh);
  line-height: min(max(5vh, 13px), 6vh);
  margin-top: 7%;
}

.begin {
  font-family: 'Taxon';
  color: #ffffff;
  float: left;
  background: #7a0024;
  border-radius: 35px;
  border: 0px transparent;
  box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.5);
  padding: 5px 10px;
  width: 27%;
  height: 170%;
  font-size: min(max(5vh, 13px), 6vh);
  line-height: min(max(5vh, 13px), 6vh);
  margin-left: 14%;
}

.begin:hover {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
  background: #510017;
}

.rescue {
  font-family: 'Taxon';
  color: #091143;
  float: right;
  background: #74BF0D;
  border-radius: 35px;
  border: 0px transparent;
  box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.5);
  padding: 5px 10px;
  width: 27%;
  height: 170%;
  font-size: min(max(5vh, 13px), 6vh);
  line-height: min(max(5vh, 13px), 6vh);
  margin-right: 14%;
}

.rescue:hover {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
  background: #5a9408;
}

.modal-button {
  margin-top: 5%;
}

html:fullscreen .modal-button {
  margin-top: 12.5%;
}

.rep0 {
  position: absolute;
  top: 4%;
  left: 3.5%;
  width: 25%;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.rep0 .rep0-hover {
  display: none;
}

.rep0:hover .rep0-hover {
  display: block;
  width: 100%;
}

.rep0 .rep0-normal {
  width: 100%;
}

.rep0:hover .rep0-normal {
  display: none;
}

.rep1 {
  position: absolute;
  top: 4%;
  left: 37.3%;
  width: 25%;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.rep1 .rep0-hover {
  display: none;
}

.rep1:hover .rep0-hover {
  display: block;
  width: 100%;
}

.rep1 .rep0-normal {
  width: 100%;
}

.rep1:hover .rep0-normal {
  display: none;
}

.rep2 {
  position: absolute;
  top: 4%;
  left: 71%;
  width: 25%;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.rep2 .rep0-hover {
  display: none;
}

.rep2:hover .rep0-hover {
  display: block;
  width: 100%;
}

.rep2 .rep0-normal {
  width: 100%;
}

.rep2:hover .rep0-normal {
  display: none;
}

.rep3 {
  position: absolute;
  top: 48%;
  left: 3.5%;
  width: 25%;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.rep3 .rep0-hover {
  display: none;
}

.rep3:hover .rep0-hover {
  display: block;
  width: 100%;
}

.rep3 .rep0-normal {
  width: 100%;
}

.rep3:hover .rep0-normal {
  display: none;
}

.rep4 {
  position: absolute;
  top: 48%;
  left: 37.3%;
  width: 25%;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.rep4 .rep0-hover {
  display: none;
}

.rep4:hover .rep0-hover {
  display: block;
  width: 100%;
}

.rep4 .rep0-normal {
  width: 100%;
}

.rep4:hover .rep0-normal {
  display: none;
}

.rep5 {
  position: absolute;
  top: 48%;
  left: 71%;
  width: 25%;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.rep5 .rep0-hover {
  display: none;
}

.rep5:hover .rep0-hover {
  display: block;
  width: 100%;
}

.rep5 .rep0-normal {
  width: 100%;
}

.rep5:hover .rep0-normal {
  display: none;
}

.rep6 {
  position: absolute;
  top: 92%;
  left: 3.5%;
  width: 25%;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.rep6 .rep0-hover {
  display: none;
}

.rep6:hover .rep0-hover {
  display: block;
  width: 100%;
}

.rep6 .rep0-normal {
  width: 100%;
}

.rep6:hover .rep0-normal {
  display: none;
}

.rep7 {
  position: absolute;
  top: 92%;
  left: 37.3%;
  width: 25%;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.rep7 .rep0-hover {
  display: none;
}

.rep7:hover .rep0-hover {
  display: block;
  width: 100%;
}

.rep7 .rep0-normal {
  width: 100%;
}

.rep7:hover .rep0-normal {
  display: none;
}

.rep8 {
  position: absolute;
  top: 92%;
  left: 71%;
  width: 25%;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.rep8 .rep0-hover {
  display: none;
}

.rep8:hover .rep0-hover {
  display: block;
  width: 100%;
}

.rep8 .rep0-normal {
  width: 100%;
}

.rep8:hover .rep0-normal {
  display: none;
}

.rep9 {
  position: absolute;
  top: 136%;
  left: 3.5%;
  width: 25%;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.rep9 .rep0-hover {
  display: none;
}

.rep9:hover .rep0-hover {
  display: block;
  width: 100%;
}

.rep9 .rep0-normal {
  width: 100%;
}

.rep9:hover .rep0-normal {
  display: none;
}

.rep10 {
  position: absolute;
  top: 136%;
  left: 37.3%;
  width: 25%;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.rep10 .rep0-hover {
  display: none;
}

.rep10:hover .rep0-hover {
  display: block;
  width: 100%;
}

.rep10 .rep0-normal {
  width: 100%;
}

.rep10:hover .rep0-normal {
  display: none;
}

.rep11 {
  position: absolute;
  top: 136%;
  left: 71%;
  width: 25%;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.rep11 .rep0-hover {
  display: none;
}

.rep11:hover .rep0-hover {
  display: block;
  width: 100%;
}

.rep11 .rep0-normal {
  width: 100%;
}

.rep11:hover .rep0-normal {
  display: none;
}

.rep12 {
  position: absolute;
  top: 180%;
  left: 3.5%;
  width: 25%;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.rep12 .rep0-hover {
  display: none;
}

.rep12:hover .rep0-hover {
  display: block;
  width: 100%;
}

.rep12 .rep0-normal {
  width: 100%;
}

.rep12:hover .rep0-normal {
  display: none;
}

.img-magnifier-glass:not(:last-of-type) {
  display: none !important;
}

.img-magnifier-glass {
	position: absolute;
	border: 3px solid #000;
	border-radius: 50%;
	cursor: none;
	width: 100px;
	height: 100px;
  -webkit-box-shadow: 0px 0px 8px 2px #000000; 
  box-shadow: 0px 0px 8px 2px #000000;
  z-index: 3;
}

.zoom-rep-0 {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  z-index: 4;
  display: none;
}

.zoom-rep {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  z-index: 4;
  display: none;
}

.zoom-rep-1 {
  position: absolute;
  top: 12.9%;
  left: 10.5%;
  width: 44.5%;
  z-index: 2;
  display: none;
  cursor: pointer;
}

.zoom-rep-1 .zoom-rep-0-img-hover {
  display: none;
}

.zoom-rep-1:hover .zoom-rep-0-img-hover {
  display: block;
  width: 100%;
}

.zoom-rep-1 .zoom-rep-0-img-normal {
  width: 100%;
}

.zoom-rep-1:hover .zoom-rep-0-img-normal {
  display: none;
}

.zoom-rep-2 {
  position: absolute;
  top: 12.9%;
  left: 10.5%;
  width: 44.5%;
  z-index: 2;
  display: none;
  cursor: pointer;
}

.zoom-rep-2 .zoom-rep-0-img-hover {
  display: none;
}

.zoom-rep-2:hover .zoom-rep-0-img-hover {
  display: block;
  width: 100%;
}

.zoom-rep-2 .zoom-rep-0-img-normal {
  width: 100%;
}

.zoom-rep-2:hover .zoom-rep-0-img-normal {
  display: none;
}

.zoom-help {
  position: absolute;
  top: 12.9%;
  left: 10.8%;
  width: 68.5%;
  z-index: 2;
  display: none;
  cursor: pointer;
}

.zoom-help .zoom-rep-0-img-hover {
  display: none;
}

.zoom-help:hover .zoom-rep-0-img-hover {
  display: block;
  width: 100%;
}

.zoom-help .zoom-rep-0-img-normal {
  width: 100%;
}

.zoom-help:hover .zoom-rep-0-img-normal {
  display: none;
}

.zoom-rep-0-img {
  width:100%;
  height:auto;
}

.zoom-close {
  position: absolute;
  top: 3%;
  right: 3%;
  width: 10%;
  z-index: 4;
  display: none;
  cursor: pointer;
}

.zoom-close:hover {
  filter: brightness(1.40);
}

.play_button {
  margin: 0 2px;
  outline: none;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  font: 18px/100% Arial, Helvetica, sans-serif;
  font-size: 18px;
  text-shadow: 0 1px 1px rgba(0,0,0,.3);
  -webkit-border-radius: .5em;
  -moz-border-radius: .5em;
  border-radius: .5em;
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
  -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);
  box-shadow: 0 1px 2px rgba(0,0,0,.2);
  color: #fef4e9;
  border: solid 1px #cccaca;
  background: #595959;
  background: -webkit-gradient(linear, left top, left bottom, from(#595959), to(#000));
  background: -moz-linear-gradient(top, #595959, #000);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#595959', endColorstr='#000');
}

.play-button {
  position: absolute;
  z-index: 1;
  font-size: 2.8vmin;
  font-family: 'Norse';
  left: 3.2%;
  top: 90%;
  width: 30%;
  height: 5%; 
  display: none;
}

.scroll-1 {
  font-family: 'Norse';
  overflow: hidden;
  text-align: left;
  height: 100%;
  -moz-transform: translateY(0%);
  -webkit-transform: translateY(0%);
  -ms-transform: translateY(0%);
  -o-transform: translateY(0%);
  transform: translateY(0%);
  -moz-animation: scroll-team 3s linear infinite;
  -webkit-animation: scroll-team 3s linear infinite;
  -ms-animation: scroll-team 3s linear infinite;
  -o-animation: scroll-team 3s linear infinite;
  animation: scroll-team 3s linear infinite;
}

@-moz-keyframes scroll-team {
  from { -moz-transform: translateY(-20%); }
  to { -moz-transform: translateY(-120%); }
}

@-webkit-keyframes scroll-team {
  from { -webkit-transform: translateY(-20%); }
  to { -webkit-transform: translateY(-120%); }
}

@-ms-keyframes scroll-team {
  from { -ms-transform: translateY(-20%); }
  to { -ms-transform: translateY(-120%); }
}

@keyframes scroll-team {
  from {
    -moz-transform: translateY(-20%);
    -webkit-transform: translateY(-20%);
    -ms-transform: translateY(-20%);
    -o-transform: translateY(-20%);
    transform: translateY(-20%);
  }
  to {
    -moz-transform: translateY(-120%);
    -webkit-transform: translateY(-120%);
    -ms-transform: translateY(-120%);
    -o-transform: translateY(-120%);
    transform: translateY(-120%);
  }
}

.scroll-container {
  background: rgba(0,0,0,0.6);
  width: 32%;
  margin-left: 18%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 0%;
  color: #fff;
  font-size: calc(1rem + ((1vw - 0.48rem) * 1.3889));
  line-height: calc(1rem + ((1vw - 0.48rem) * 1.3889));
  text-shadow: -1px 1px 0 #000, 1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000;
}

.scroll-text {
  font-family: 'Norse';
  padding: 0 20px;
  text-align: left;
  height: 100%;
  -moz-transform: translateY(20%);
  -webkit-transform: translateY(20%);
  -ms-transform: translateY(20%);
  -o-transform: translateY(20%);
  transform: translateY(20%);
  -moz-animation: text-scroll-up 140s linear infinite;
  -webkit-animation: text-scroll-up 140s linear infinite;
  -ms-animation: text-scroll-up 140s linear infinite;
  -o-animation: text-scroll-up 140s linear infinite;
  animation: text-scroll-up 140s linear infinite;
}

@-moz-keyframes text-scroll-up {
  from { -moz-transform: translateY(20%); }
  to { -moz-transform: translateY(-200%); }
}

@-webkit-keyframes text-scroll-up {
  from { -webkit-transform: translateY(20%); }
  to { -webkit-transform: translateY(-200%); }
}

@-ms-keyframes text-scroll-up {
  from { -ms-transform: translateY(20%); }
  to { -ms-transform: translateY(-200%); }
}

@keyframes text-scroll-up {
  from {
    -moz-transform: translateY(20%);
    -webkit-transform: translateY(20%);
    -ms-transform: translateY(20%);
    -o-transform: translateY(20%);
    transform: translateY(20%);
  }
  to {
    -moz-transform: translateY(-200%);
    -webkit-transform: translateY(-200%);
    -ms-transform: translateY(-200%);
    -o-transform: translateY(-200%);
    transform: translateY(-200%);
  }
}

.shake {
  animation: shake 0.92s cubic-bezier(.36,.07,.19,.97) both;
  -moz-animation: shake 0.92s cubic-bezier(.36,.07,.19,.97) both;
  -webkit-animation: shake 0.92s cubic-bezier(.36,.07,.19,.97) both;
  -ms-animation: shake 0.92s cubic-bezier(.36,.07,.19,.97) both;
  -o-animation: shake 0.92s cubic-bezier(.36,.07,.19,.97) both;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  perspective: 1000px;
}

@-moz-keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }
  
  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }

  30%, 50%, 70% {
    transform: translate3d(-4px, 0, 0);
  }

  40%, 60% {
    transform: translate3d(4px, 0, 0);
  }
}

@-webkit-keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }
  
  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }

  30%, 50%, 70% {
    transform: translate3d(-4px, 0, 0);
  }

  40%, 60% {
    transform: translate3d(4px, 0, 0);
  }
}

@-ms-keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }
  
  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }

  30%, 50%, 70% {
    transform: translate3d(-4px, 0, 0);
  }

  40%, 60% {
    transform: translate3d(4px, 0, 0);
  }
}

@keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }
  
  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }

  30%, 50%, 70% {
    transform: translate3d(-4px, 0, 0);
  }

  40%, 60% {
    transform: translate3d(4px, 0, 0);
  }
}

.blink-image {
    -moz-animation: blink normal 2s infinite ease-in-out;
    -webkit-animation: blink normal 2s infinite ease-in-out;
    -ms-animation: blink normal 2s infinite ease-in-out;
    -o-animation: blink normal 2s infinite ease-in-out;
    animation: blink normal 2s infinite ease-in-out;
}
 
@-moz-keyframes blink {
    0% {
        opacity:1;
    }
    50% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
} 
 
@-webkit-keyframes blink {
    0% {
        opacity:1;
    }
    50% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
}

@-ms-keyframes blink {
    0% {
        opacity:1;
    }
    50% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
} 

@keyframes blink {
    0% {
        opacity:1;
    }
    50% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
} 

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes fadeout {
    from { opacity: 1; }
    to   { opacity: 0; }
}

@-moz-keyframes fadein {
    from { opacity: 1; }
    to   { opacity: 0; }
}

@-webkit-keyframes fadein {
    from { opacity: 1; }
    to   { opacity: 0; }
}

@-ms-keyframes fadein {
    from { opacity: 1; }
    to   { opacity: 0; }
}

.clues-carousel {
  position: absolute;
  width: 45%;
  top: 12.2%;
  left: 38.3%;
  z-index: 1;
  display: none;
}

.carousel {
  box-sizing: border-box;
  scrollbar-color: transparent transparent;
  scrollbar-width: 0px;
  -ms-overflow-style: none;
}

.carousel::-webkit-scrollbar {
  width: 0;
}

.carousel::-webkit-scrollbar-track {
  background: transparent;
}

.carousel::-webkit-scrollbar-thumb {
  background: transparent;
  border: none;
}

ol, li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.carousel {
  position: relative;
  padding-top: 88%;
}

.carousel__viewport {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  overflow-x: hidden;
  counter-reset: item;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
}

.slide_img1 {
  background: url("../images/zoom_quadro_1.png") no-repeat center; 
  background-size: contain;
}

.slide_img2 {
  background: url("../images/zoom_quadro_2.png") no-repeat center;
  background-size: contain; 
}
.carousel__slide {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  counter-increment: item;
}

.carousel__snapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  scroll-snap-align: center;
}

.carousel:hover .carousel__snapper,
.carousel:focus-within .carousel__snapper {
  animation-name: none;
}

.carousel::before,
.carousel::after,
.carousel__prev,
.carousel__next {
  position: absolute;
  top: 0;
  margin: 42.5% -2%;
  width: 12%;
  height: 30%;
  transform: translateY(-50%);
  font-size: 0;
  outline: 0;
}

.carousel::before,
.carousel__prev {
  left: 0rem;
}

.carousel::after,
.carousel__next {
  right: 0rem;
}

.carousel::before,
.carousel::after {
  z-index: 1;
  background-position: center center;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: 100%;
  content: "";
}

.carousel::before {
  background-image: url("../images/freccia_sinistra.png");
}

.carousel::after {
  background-image: url("../images/freccia_destra.png");
}


@media only screen and (min-width: 1920px) {
}

@media (min-width: 1281px) and (max-width: 1919px) {
}

@media (min-width: 1025px) and (max-width: 1280px) {

  .scroll-text {
    padding: 0 15px;
    -moz-transform: translateY(20%);
    -webkit-transform: translateY(20%);
    -ms-transform: translateY(20%);
    -o-transform: translateY(20%);
    transform: translateY(20%);
    -moz-animation: text-scroll-up 140s linear infinite;
    -webkit-animation: text-scroll-up 140s linear infinite;
    -ms-animation: text-scroll-up 140s linear infinite;
    -o-animation: text-scroll-up 140s linear infinite;
    animation: text-scroll-up 140s linear infinite;
  }
  
  @-moz-keyframes text-scroll-up {
    from { -moz-transform: translateY(20%); }
    to { -moz-transform: translateY(-250%); }
  }
  
  @-webkit-keyframes text-scroll-up {
    from { -webkit-transform: translateY(20%); }
    to { -webkit-transform: translateY(-250%); }
  }
  
  @-ms-keyframes text-scroll-up {
    from { -ms-transform: translateY(20%); }
    to { -ms-transform: translateY(-250%); }
  }
  
  @keyframes text-scroll-up {
    from {
      -moz-transform: translateY(20%);
      -webkit-transform: translateY(20%);
      -ms-transform: translateY(20%);
      -o-transform: translateY(20%);
      transform: translateY(20%);
    }
    to {
      -moz-transform: translateY(-250%);
      -webkit-transform: translateY(-250%);
      -ms-transform: translateY(-250%);
      -o-transform: translateY(-250%);
      transform: translateY(-250%);
    }
  }
}

@media (min-width: 768px) and (max-width: 1024px) {

  .scroll-text {
    padding: 0 15px;
    -moz-transform: translateY(20%);
    -webkit-transform: translateY(20%);
    -ms-transform: translateY(20%);
    -o-transform: translateY(20%);
    transform: translateY(20%);
    -moz-animation: text-scroll-up 140s linear infinite;
    -webkit-animation: text-scroll-up 140s linear infinite;
    -ms-animation: text-scroll-up 140s linear infinite;
    -o-animation: text-scroll-up 140s linear infinite;
    animation: text-scroll-up 140s linear infinite;
  }
  
  @-moz-keyframes text-scroll-up {
    from { -moz-transform: translateY(20%); }
    to { -moz-transform: translateY(-350%); }
  }
  
  @-webkit-keyframes text-scroll-up {
    from { -webkit-transform: translateY(20%); }
    to { -webkit-transform: translateY(-350%); }
  }
  
  @-ms-keyframes text-scroll-up {
    from { -ms-transform: translateY(20%); }
    to { -ms-transform: translateY(-350%); }
  }
  
  @keyframes text-scroll-up {
    from {
      -moz-transform: translateY(20%);
      -webkit-transform: translateY(20%);
      -ms-transform: translateY(20%);
      -o-transform: translateY(20%);
      transform: translateY(20%);
    }
    to {
      -moz-transform: translateY(-350%);
      -webkit-transform: translateY(-350%);
      -ms-transform: translateY(-350%);
      -o-transform: translateY(-350%);
      transform: translateY(-350%);
    }
  }
}

@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {

  .scroll-text {
    padding: 0 15px;
    -moz-transform: translateY(20%);
    -webkit-transform: translateY(20%);
    -ms-transform: translateY(20%);
    -o-transform: translateY(20%);
    transform: translateY(20%);
    -moz-animation: text-scroll-up 140s linear infinite;
    -webkit-animation: text-scroll-up 140s linear infinite;
    -ms-animation: text-scroll-up 140s linear infinite;
    -o-animation: text-scroll-up 140s linear infinite;
    animation: text-scroll-up 140s linear infinite;
  }
  
  @-moz-keyframes text-scroll-up {
    from { -moz-transform: translateY(20%); }
    to { -moz-transform: translateY(-350%); }
  }
  
  @-webkit-keyframes text-scroll-up {
    from { -webkit-transform: translateY(20%); }
    to { -webkit-transform: translateY(-350%); }
  }
  
  @-ms-keyframes text-scroll-up {
    from { -ms-transform: translateY(20%); }
    to { -ms-transform: translateY(-350%); }
  }
  
  @keyframes text-scroll-up {
    from {
      -moz-transform: translateY(20%);
      -webkit-transform: translateY(20%);
      -ms-transform: translateY(20%);
      -o-transform: translateY(20%);
      transform: translateY(20%);
    }
    to {
      -moz-transform: translateY(-350%);
      -webkit-transform: translateY(-350%);
      -ms-transform: translateY(-350%);
      -o-transform: translateY(-350%);
      transform: translateY(-350%);
    }
  }
}

@media (min-width: 481px) and (max-width: 767px) {

  .scroll-text {
    padding: 0 15px;
    -moz-transform: translateY(20%);
    -webkit-transform: translateY(20%);
    -ms-transform: translateY(20%);
    -o-transform: translateY(20%);
    transform: translateY(20%);
    -moz-animation: text-scroll-up 140s linear infinite;
    -webkit-animation: text-scroll-up 140s linear infinite;
    -ms-animation: text-scroll-up 140s linear infinite;
    -o-animation: text-scroll-up 140s linear infinite;
    animation: text-scroll-up 140s linear infinite;
  }
  
  @-moz-keyframes text-scroll-up {
    from { -moz-transform: translateY(20%); }
    to { -moz-transform: translateY(-400%); }
  }
  
  @-webkit-keyframes text-scroll-up {
    from { -webkit-transform: translateY(20%); }
    to { -webkit-transform: translateY(-400%); }
  }
  
  @-ms-keyframes text-scroll-up {
    from { -ms-transform: translateY(20%); }
    to { -ms-transform: translateY(-400%); }
  }
  
  @keyframes text-scroll-up {
    from {
      -moz-transform: translateY(20%);
      -webkit-transform: translateY(20%);
      -ms-transform: translateY(20%);
      -o-transform: translateY(20%);
      transform: translateY(20%);
    }
    to {
      -moz-transform: translateY(-400%);
      -webkit-transform: translateY(-400%);
      -ms-transform: translateY(-400%);
      -o-transform: translateY(-400%);
      transform: translateY(-400%);
    }
  }
}

@media (min-width: 1px) and (max-width: 480px) {

  .scroll-text {
    padding: 0 15px;
    -moz-transform: translateY(20%);
    -webkit-transform: translateY(20%);
    -ms-transform: translateY(20%);
    -o-transform: translateY(20%);
    transform: translateY(20%);
    -moz-animation: text-scroll-up 140s linear infinite;
    -webkit-animation: text-scroll-up 140s linear infinite;
    -ms-animation: text-scroll-up 140s linear infinite;
    -o-animation: text-scroll-up 140s linear infinite;
    animation: text-scroll-up 140s linear infinite;
  }
  
  @-moz-keyframes text-scroll-up {
    from { -moz-transform: translateY(20%); }
    to { -moz-transform: translateY(-650%); }
  }
  
  @-webkit-keyframes text-scroll-up {
    from { -webkit-transform: translateY(20%); }
    to { -webkit-transform: translateY(-650%); }
  }
  
  @-ms-keyframes text-scroll-up {
    from { -ms-transform: translateY(20%); }
    to { -ms-transform: translateY(-650%); }
  }
  
  @keyframes text-scroll-up {
    from {
      -moz-transform: translateY(20%);
      -webkit-transform: translateY(20%);
      -ms-transform: translateY(20%);
      -o-transform: translateY(20%);
      transform: translateY(20%);
    }
    to {
      -moz-transform: translateY(-650%);
      -webkit-transform: translateY(-650%);
      -ms-transform: translateY(-650%);
      -o-transform: translateY(-650%);
      transform: translateY(-650%);
    }
  }
}

@media screen and (orientation:landscape) and (max-height: 480px) {
  .scroll-text {
    padding: 0 15px;
    -moz-transform: translateY(20%);
    -webkit-transform: translateY(20%);
    -ms-transform: translateY(20%);
    -o-transform: translateY(20%);
    transform: translateY(20%);
    -moz-animation: text-scroll-up 140s linear infinite;
    -webkit-animation: text-scroll-up 140s linear infinite;
    -ms-animation: text-scroll-up 140s linear infinite;
    -o-animation: text-scroll-up 140s linear infinite;
    animation: text-scroll-up 140s linear infinite;
  }
  
  @-moz-keyframes text-scroll-up {
    from { -moz-transform: translateY(20%); }
    to { -moz-transform: translateY(-420%); }
  }
  
  @-webkit-keyframes text-scroll-up {
    from { -webkit-transform: translateY(20%); }
    to { -webkit-transform: translateY(-420%); }
  }
  
  @-ms-keyframes text-scroll-up {
    from { -ms-transform: translateY(20%); }
    to { -ms-transform: translateY(-420%); }
  }
  
  @keyframes text-scroll-up {
    from {
      -moz-transform: translateY(20%);
      -webkit-transform: translateY(20%);
      -ms-transform: translateY(20%);
      -o-transform: translateY(20%);
      transform: translateY(20%);
    }
    to {
      -moz-transform: translateY(-420%);
      -webkit-transform: translateY(-420%);
      -ms-transform: translateY(-420%);
      -o-transform: translateY(-420%);
      transform: translateY(-420%);
    }
  }
}

@media screen and (aspect-ratio: 4/3) {
  .title-rule {
    font-size: 5vh !important;
  }
  
  .p-rule {
      font-size: 3vh;
      line-height: 4vh;
  }
  
  .extra-p-rule {
    font-size: 3vh;
    line-height: 3vh;
  }
}

@media (min-width: 1px) and (max-width: 800px) {
  .title-rule {
    font-size: 20px !important;
  }
  
  .p-rule {
      font-size: 16px;
      line-height: 17px;
  }
  
  .extra-p-rule {
    font-size: 15px;
    line-height: 16px;
  }
}