/* Colors */
:root {
    --blue: #272b56;
    --light-blue: #00afb9;
    --white: #ffffff;
    --light-grey: #cccccc;
    --icon-color: rgb(0, 61, 124);
    --icon-color-lighten: rgba(0, 61, 124,0.25);
    --orange: #f49b04;
    --light-orange: #e7b16e;
  }

  @font-face {
    font-family: 'Ubuntu';
    src: url('../fonts/ubuntu/ubuntu-r-webfont.woff2') format('woff2'),
         url('../fonts/ubuntu/ubuntu-r-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

html, body { height: 100%; font-family: "Ubuntu", Arial, sans-serif; }

.controller-wrapper {
  position: relative;
  width: 100%;
  height: 100vh;
}

.overlayer {
  background-image: url('../img/simulation/elbmuendung.png');
  z-index: 1000;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-position: center;
  background-size: 80% auto;
  background-repeat: no-repeat;
}

.overlayer.zoom {
  animation: zoomin 3s linear;
}

.lense {
  position: absolute;
  background-image: url('../img/simulation/lense.png');
  width: 300px;
  height: 300px;
  background-size: contain;
  background-repeat: no-repeat;
  left: 44%;
  top: 33%;
  transform: scale(1);
  animation: transform 0.5s ease
}

.lense:hover {
  cursor: pointer;
  transform: scale(1.4);
  animation: transform 0.5s ease;
}

/* .lense:hover::after {
  content: '+';
  width: 140px;
  height: 78px;
  background-color: var(--orange);
  display: block;
  border-radius: 50%;
  margin-left: 27px;
  margin-top: 13px;
  opacity: 0.3;
  text-align: center;
  padding-top: 20%;
  font-size: 2rem;
  color: var(--blue);
} */

.overlayer.zoom .lense:hover::after {
  display: none;
}

.controller-inner {
  display: none;
}

#simulation-outer-wrapper {
  display: block;
  margin-top: -80px;
}

#simulation-wrapper {
  width: calc(80% - 10px); 
  float: left;
}

#simulation {
  width: 100%;
  height: 500px;
  overflow: hidden;
  position: relative;
}

.outer-wrapper {
    width: 80%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    overflow: hidden; 
    margin-left: 100px;
}

.wave-wrapper {
    width: 100%;
    height: 45px;
    position: absolute;
    bottom: 80%;
    overflow: hidden;
}

.ocean { 
  height: 5%;
  width:100%;
  position:absolute;
  bottom:0;
  left:0;
  background: #0099cc;
}

.wave {
  background: url(../img/simulation/wave_element.svg) repeat-x; 
  position: absolute;
  top: -30px;
  width: 3600px;
  height: 35px;
  animation: wave 20s cubic-bezier( 0.36, 0.45, 0.63, 0.53) infinite;
  transform: translate3d(0, 0, 0);
}

.wave:nth-of-type(2) {
  top: -25px;
  animation: wave 20s cubic-bezier( 0.36, 0.45, 0.63, 0.53) -.125s infinite, swell 7s ease -1.25s infinite;
  opacity: 1;
}

/* .wave.kombi:nth-of-type(2) {
  animation: wave 20s cubic-bezier( 0.36, 0.45, 0.63, 0.53) -.125s infinite reverse, swell 7s ease -1.25s infinite;
} */

.wave.ebbe {
  background: url(../img/simulation/wave_duerre.svg) repeat-x; 
  top: -12px;
}
.wave:nth-of-type(2).ebbe {
  top: -10px;
}

.wave.flut, .wave.flusshochwasser {
  background: url(../img/simulation/wave_flut.svg) repeat-x; 
  top: -28px;
}

.wave.flut {
  animation: wave 20s cubic-bezier( 0.36, 0.45, 0.63, 0.53) infinite reverse;
}

.wave:nth-of-type(2).flut, .wave:nth-of-type(2).flusshochwasser {
  top: -23px;
}

.wave.duerre {
  background: url(../img/simulation/wave_duerre.svg) repeat-x; 
  top: -8px;
}

.wave:nth-of-type(2).duerre {
  display: none;
}

.wave.sturmflut, .wave.kombi {
    animation: wave 20s cubic-bezier( 0.36, 0.45, 0.63, 0.53) infinite reverse;
}

.wave:nth-of-type(3) {
  top: -25px;
  animation: wave 18s cubic-bezier( 0.36, 0.45, 0.63, 0.53) -.175s infinite, swell 7s ease -0.5s infinite;
  opacity: 1;
}

.wave.sturmflut:nth-of-type(3), .wave.kombi:nth-of-type(3) {
    animation: wave 18s cubic-bezier( 0.36, 0.45, 0.63, 0.53) -.175s infinite reverse, swell 7s ease -0.5s infinite;
}

.wave:nth-of-type(4) {
  top: -20px;
  animation: wave 16s cubic-bezier( 0.36, 0.45, 0.63, 0.53) -.025s infinite, swell 7s ease -0.25s infinite;
  opacity: 1;
}

.wave.sturmflut:nth-of-type(4), .wave.kombi:nth-of-type(4) {
  animation: wave 16s cubic-bezier( 0.36, 0.45, 0.63, 0.53) -.025s infinite reverse, swell 7s ease -0.25s infinite;
}


.wave.ebbe:nth-of-type(3), 
.wave.flut:nth-of-type(3),
.wave.flusshochwasser:nth-of-type(3),  
.wave.duerre:nth-of-type(3) {
  display: none;
}

.wave.ebbe:nth-of-type(4), 
.wave.flut:nth-of-type(4), 
.wave.flusshochwasser:nth-of-type(4),
.wave.duerre:nth-of-type(4) {
  display: none;
}

@keyframes wave {
  0% {
    /* margin-left: 0; */
    margin-left: 0;
  }
  100% {
    /* margin-left: -1600px; */
    margin-left: -1600px;
  }
}

@keyframes swell {
  0%, 100% {
    transform: translate3d(0,-5px,0);
  }
  50% {
    transform: translate3d(0,5px,0);
  }
}

@keyframes zoomin {
  0% {
    transform: scale(1) translate(-60px, 15px);
  }
  100% {
    transform: scale(100) translate(-60px, 15px);
  }
}

.water-wrapper {
    width: 100%;
    height: 80%;
    background: rgb(1,0,106);
    background: linear-gradient(90deg, rgba(1,0,106,0.5) 0%, rgba(4,15,118,0.5) 48%, rgba(41,181,251,0.5) 98%, rgba(42,186,255,0.5) 100%);
    position: absolute;
    bottom: 0;
}

.elements {
  overflow: hidden;
  height: 100%;
  position: relative; 
}

.ground {
    background: url(../img/simulation/ground.svg) no-repeat center center;
    width: 100%;
    height: 50px;
    position: absolute;
    bottom: -2px;
    z-index: -60;
}

.bubble {
    background: url(../img/simulation/bubble.svg) no-repeat center center;
    width: 15px;
    height: 15px;
    position: absolute;
    transform: translateX(-50%);
    scale: 1;
    animation: bubble-up 15s ease-in-out infinite, bubble-sideways 3s ease-in-out infinite alternate;
    z-index: -10;
}

@keyframes bubble-up {
    /* 0%, 100% {
    transform: translate3d(0,0px,0);
  } */
  0%, 100% {
    margin-bottom: 0;
    scale: 1;
  }
  50% {
    scale: 0.5;
    opacity: 1;
    margin-bottom: 10px;
  }
}

@keyframes bubble-sideways {
  0% {
    margin-left: 0;
  }
  100% {
    margin-left: 10px;
  }
}

.fish {
    background: url(../img/simulation/fish.svg) no-repeat center center;
    width: 45px;
    height: 20px;
    position: absolute;
    z-index: -10;
    animation: fish 10s ease-in-out infinite;
}    

@keyframes fish {
    0%, 100% {
    transform: translate3d(10px,5px,2px);
  }
  50% {
    transform: translate3d(-10px,-10px,-5px);
  }
}

.boje-wrapper {
  width: 30px;
  height: 100%;
  position: absolute;
  left: 50%;
  bottom: 15px;
  z-index: -20;
}

.boje {
  background: url(../img/simulation/boje.svg) no-repeat center center;
  width: 30px;
  height: 60px;
  position: absolute;
  top: -25px;
  transform-origin: 50% 100%;
  animation: boje 5s ease-in-out infinite;
}

.chain {
  background: url(../img/simulation/chain.svg) no-repeat center center;
  width: 30px;
  height: 100%;
  position: absolute;
  bottom: 0;
  z-index: -30;
}

.stone {
  background: url(../img/simulation/stone.svg) no-repeat center center;
  width: 30px;
  height: 30px;
  position: absolute;
  bottom: -10px;
}

.temprature {
  background: url(../img/simulation/thermometer.svg) no-repeat center center;
  width: 45px;
  height: 170px;
  position: absolute;
  display: block;
  margin-top: 15%;
  margin-left: 25px;
  float: left;
}

.heat {
  position: absolute;
  width: 10px;
  height: 50px;
  background-color: #cc3333;
  bottom: 40px;
  left: 20px;
  z-index: -10;
  transition: height 0.5s ease-in-out;
}

.scale {
  background: url(../img/simulation/scala.svg) no-repeat center center;
  width: 33px;
  height: 430px;
  position: absolute;
  display: inline;
  margin-top: 75px;
  right: 5%;
}

.szenario-wrapper {
  width: 100%;
  display: flex;
  float: none;
  max-height: 300px;
  min-height: 300px;
}

.szenario-select {
  text-align: center;
  width: calc(80% - 10px);
  min-height: 200px;
}

@media (max-width: 1919px) {
    .szenario-select {
      text-align: center;
      width: calc(80% - 10px);
      min-height: 285px;
    }
}

.szenario-description {
  padding: 0 25px;
  text-align: left;
  width: calc(20% - 10px);
}

.szenario-description h2 {
  color: var(--blue);
}

.backtomap {
  padding: 5px;
  text-align: left;
  margin-bottom: 15px;
}

.backtomap a {
  text-decoration: none;
  font-size: 0.75rem;
  background-color: #fff;
  border: 2px solid var(--orange);
  color: var(--blue);
}

.szenario-select--btn h2 {
  border-bottom: 2px solid var(--orange);
  font-size: 1.5rem;
  padding-bottom: 5px;
  color: #272b56;
}

.btn {
  padding: 10px 15px;
  margin-right: 10px;
  background-color: var(--orange);
  border: none;
  border-radius: 10px;
  color: white;
  min-height: 55px;
}

.btn.active {
  background-color: var(--light-blue);
}

.btn:hover {
  background-color: var(--light-orange);
  cursor: pointer;
}

.btn.active:hover {
  background-color: var(--light-blue);
}

.szenario-select--btn {
  display: inline-block;
  margin-right: 25px;
}

.szenario-select--btn:last-child {
  display: inline-block;
  margin-right: 0;
}

.position {
  border-top: 5px solid var(--orange);
  width: 80%;
  padding: 7px;
  margin-top: 20px;
  position: relative;
  margin-left: 100px;
}

.position::after {
  width: auto;
  height: auto;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 18px solid var(--orange);
  float: right;
  display: block;
  position: absolute;
  right: -4px;
  content: '';
  top: -16px;
}

.position::before {
  width: auto;
  height: auto;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-right: 18px solid var(--orange);
  float: right;
  display: block;
  position: absolute;
  left: -18px;
  content: '';
  top: -16px;
}

.position .left {
  float: left;
  text-align: left;
  font-size: 1.25rem;
  color: var(--blue);
}

.position .center {
  float: left;
  font-size: 1.25rem;
  color: var(--orange);
  left: 50%;
  width: 5px;
  height: 30px;
  background-color: var(--orange);
  position: absolute;
  top: -16px;
  margin-left: 5px;
}

.position .right {
  float: right;
  text-align: right;
  font-size: 1.25rem;
  color: var(--blue);
  padding-right: 10px;
}

@keyframes boje {
    0%, 100% {
    rotate: 0deg;
    transform: translate3d(0,0,0);
  }
  25% {
    rotate: 10deg;
    transform: translate3d(0,-2.5px,0);
  }
  75% {
    rotate: -10deg;
    transform: translate3d(0,2.5px,0);
  }
}

#legende {
  width: calc(20% - 10px);
  margin-top: 150px;
  float: right;
}

#legende h3 {
  color: var(--blue);
}

#legende ul {
  list-style: none;
  padding: 0;
}

#legende ul li{
  font-size: 0.8rem;
  margin-bottom: 20px;
  height: 25px;
}

#legende ul li span{
  position: relative;
  margin-left: 40px;
  cursor: pointer;
  border: 1px solid var(--orange);
  border-radius: 5px;
  padding: 2.5px 5px;
}

#legende .legende-fish::before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(../img/simulation/fish.svg) no-repeat center center;
  background-size: contain;
  margin-right: 10px;
  position: absolute;
  top: -7.5px;
  left: -40px;
}
#legende .legende-bubbles::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../img/simulation/bubble.svg) no-repeat center center;
  background-size: contain;
  margin-left: 5px;
  margin-right: 15px;
  position: absolute;
  top: -2.5px;
  left: -40px;
}

#legende .legende-waterhight::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 30px;
  background: url(../img/simulation/scale_thumb.svg) no-repeat center center;
  background-size: contain;
  margin-left: 5px;
  margin-right: 15px;
  position: absolute;
  top: -7.5px;
  left: -40px;
}

#legende .legende-temprature::before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(../img/simulation/thermometer.svg) no-repeat center center;
  background-size: contain;
  margin-right: 10px;
  position: absolute;
  top: -7.5px;
  left: -40px;
}
#legende .legende-saltContent::before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background: rgba(4,15,118,0.5);
  background-size: contain;
  margin-right: 10px;
  position: absolute;
  top: -7.5px;
  left: -40px;
}
#legende .legende-flowDirection::before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(../img/simulation/seegrass_single.svg) no-repeat center center;
  background-size: contain;
  margin-right: 10px;
  position: absolute;
  top: -7.5px;
  left: -40px;
}

#legende .tooltip .tooltiptext {
  visibility: hidden;
  width: 250px;
  background-color: #fff;
  color: #000;
  text-align: left;
  border-radius: 6px;
  padding: 5px 0;
  position: absolute;
  z-index: 1;
  left: -290px;
  bottom: 30px;
  height: auto;
  border: 2px solid var(--orange);
  padding: 5px;
}

#legende .tooltip .tooltiptext::after {
  width: auto;
  height: auto;
  border-top: 15px solid var(--orange);
  border-bottom: 15px solid transparent;
  border-left: 15px solid transparent;
  float: right;
  display: block;
  position: absolute;
  right: 5px;
  content: '';
  bottom: -30px;
}

#legende .tooltip:hover .tooltiptext {
  visibility: visible;
}

.seegrass {
  position: absolute;
  background: url('../img/simulation/seagrass-sheet.png') no-repeat;
  width: 149px;
  height: 128px;
  background-size: cover;
  animation: seegrass 1s steps(4) infinite;
  z-index: -40;
  bottom: -10px;
  left: 20%;
  -webkit-transform: scale(0.8, 0.8);
  -moz-transform: scale(0.8, 0.8);
  -o-transform: scale(0.8, 0.8);
  transform: scale(0.8, 0.8);
}

.seegrass.flip {
  -webkit-transform: scale(-0.8, 0.8);
  -moz-transform: scale(-0.8, 0.8);
  -o-transform: scale(-0.8, 0.8);
  transform: scale(-0.8, 0.8);
}

:nth-child(2 of .seegrass)  {
  left: auto;
  right: 22%;
}

:nth-child(3 of .seegrass)  {
  left: 35%;
  bottom: -13px;
  transform: scale(0.6);
}

:nth-child(3 of .seegrass.flip) {
  left: 350px;
  bottom: -13px;
  transform: scale(-0.6, 0.6);
}

@keyframes seegrass {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 -513px;
  }
}

.lense-new {
  position: absolute;
  width: 100px;
  height: 100px;
  background: url('../img/simulation/frontpage_image.png') no-repeat bottom left -150px;
  left: 8%;
  right: 0;
  margin: auto auto;
  top: -5%;
  bottom: 0;
  animation: all 0.5s linear;
  padding: 5px;
}

.lense-new:hover {
  cursor: pointer;
  width: 200px;
  height: 200px;
  animation: all 0.5s linear;
} 

.lense-new .border {
  width: 30%;
  height: 30%;
  position: absolute;
  border: 4px solid var(--orange);
}

.lense-new .border:first-child {
  left: -15px;
  top: -15px;
  border-bottom: 0;
  border-right: 0;
}

.lense-new .border:nth-child(2) {
  right: -15px;
  top: -15px;
  border-bottom: 0;
  border-left: 0;
}

.lense-new .border:nth-child(3) {
  left: -15px;
  bottom: -15px;
  border-top: 0;
  border-right: 0;
}

.lense-new .border:last-child {
  right: -15px;
  bottom: -15px;
  border-top: 0;
  border-left: 0;
}