:root {
  --body-background-color: rgb(105, 105, 105);
  --main-text-color: rgb(35, 31, 32);
  --main-highlight-color: rgb(241, 90, 41);
  --button-text-color: rgb(35, 31, 32);
  --hotspot-height: 100px;
  --hotspot-height-freelimepredict: 50px;
  --hotspot-size: 46px;
  --header-height: 0px;
  --button-height: 50px;
  --realWindowHeight: 100%;
  --ar-button-top: 300px;
}

/*@font-face {
  font-family: 'Gotham';
  src: url("fonts/GothamSSm-Black_Web.woff2") format("woff"),
       url("fonts/GothamSSm-Black_Web.woff2") format("woff2");
  font-weight: 800;
  font-style:normal;
}*/

@font-face {
  font-family: 'Gotham';
  src: url("../fonts/GothamSSm-Bold_Web.woff2") format("woff"),
    url("../fonts/GothamSSm-Bold_Web.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Gotham';
  src: url("../fonts/GothamSSm-Medium_Web.woff") format("woff"),
    url("../fonts/GothamSSm-Medium_Web.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}


@font-face {
  font-family: 'Gotham';
  src: url("../fonts/GothamSSm-Book_Web.woff") format("woff"),
    url("../fonts/GothamSSm-Book_Web.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Gotham';
  src: url("../fonts/GothamSSm-Light_Web.woff") format("woff"),
    url("../fonts/GothamSSm-Light_Web.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}

::-webkit-scrollbar {
  width: 3px;
  background: rgba(255, 255, 255, 0);
  margin: 5px;
  margin-top: 10px;
  margin-bottom: 10px;
}

::-webkit-scrollbar-track {
  border-radius: 4px;
  margin-top: 10px;
  margin-bottom: 10px;
  background: rgba(199, 199, 199, 0.329);
}

::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background: rgba(187, 187, 187, 0.651);
  background-clip: padding-box;

}

body {
  margin: 0;
  padding: 0;
  color: black;
  width: 100vw;
  height: 100%;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 1) 10%, rgba(40, 147, 210, 0.18857965549501055) 100%);

  overflow: hidden;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  touch-action: none;

}

h1,
h2,
p,
span {
  font-size: 16px;
  line-height: 1em;
}

h1,
h2 {
  font-size: 7vh;
  line-height: 0.85em;
  margin-bottom: 2vh;
  margin-top: 2vh;
  opacity: 1;
}


#header {
  width: 100%;
  height: var(--header-height);
  background-color: #ebebeb;
}

#plants-of-tomorrow-container {
  font-family: 'Gotham', sans-serif;
  font-weight: 400;
  position: absolute;
  width: 100vw;
  height: 100%;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 1) 10%, rgba(40, 147, 210, 0.18857965549501055) 100%);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: none;
}

#main-title {

  position: absolute;
  left: 5%;
  top: 3%;
  width: 100%;
  pointer-events: none !important;
}

#main-title img {
  width: 30%;
  max-width: 350px;
  min-width: 180px;
  height: auto;
}


model-viewer {
  position: absolute;
  width: 100vw;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.0);
}


.color-performance .clsa-3 {
  fill: #1081B3 !important;


}

.hexagon-color-performance {
  fill: #1081B3 !important;
  stroke: rgba(255, 255, 255, 0.5);
  stroke-width: 2px;
}

.hexagon-color-circularity {
  fill: #08A7DB !important;
  stroke: rgba(255, 255, 255, 0.5);
  stroke-width: 2px;
}

.hexagon-color-co2neutrality {
  fill: #52BE87 !important;
  stroke: rgba(255, 255, 255, 0.5);
  stroke-width: 2px;
}

.hotspot-circularity .clsa-3 path {
  fill: #08A7DB !important;
}

.hotspot-co2neutrality .clsa-3 path {
  fill: #52BE87 !important;
}


#info-container {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10vh;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px;
  font-weight: 500;
  width: 60%;
  max-width: 800px;
  min-width: 510px;
  height: max-content;
  transition: bottom 0.4s ease-out;
  transform: translate(0, 0);
  z-index: 500;
}

#info-container ul li {
  color: black;
  font-family: 'Gotham', sans-serif;
  font-weight: 400;
}

#all-topics-container {
  position: relative;
  display: flex;
  height: max-content;
  justify-content: space-between;
}

/*.info-title{
  position:relative;
  font-weight: 700;
  margin-left:5px ;
  margin-bottom: 10px;
}*/

.topic-container {
  position: relative;
  width: 32.5%;
  height: auto;
  touch-action: none;
  height: max-content;
}

.topic-button {
  width: 100%;
  min-width: 165px;
  height: var(--button-height);
  border: none;
  color: white;
  touch-action: none;
  background-color: #1081B3;
  display: table-cell;
  -webkit-appearance: none;

}

.topic-button p {
  font-family: 'Gotham', sans-serif;
  display: inline-block;
  vertical-align: middle;
  font-size: 15px;
}

.topic-icon {
  width: 26px;
  height: 26px;
  margin: auto;
  margin-left: 4px;
  margin-right: 4px;
  display: inline-block;
  vertical-align: middle;
}

.topic-icon>path {
  stroke: rgb(230, 230, 230);
}

.topic-icon>line {
  stroke: rgb(230, 230, 230);
}

.topic-icon>polyline {
  stroke: rgb(230, 230, 230);
}

.topic-icon>rect {
  stroke: rgb(230, 230, 230);
}

#topic-content-container {
  position: relative;
  width: 100%;
  margin-top: 10px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: 0 10px;
  background-color: #F4F6F8;
  transition: all 0.3s ease-out;
  opacity: 0;
}


#topic-content-container.up {
  max-height: 200px;
  transition: all 0.4s ease-out;
  opacity: 1;
}

#topic-content-container.down {
  max-height: 0px;
  transition: all 0.4s ease-out;
  opacity: 0;
}

.topic-content {
  position: relative;
  width: auto;

  max-height: inherit;
  overflow-y: auto;
  padding: 5px 20px 20px 20px;
  font-size: 0.95em;
  line-height: 1.2;
  transition: all 0.2s linear;
  opacity: 1;
  font-weight: 400;
}

.topic-content ul li {
  padding: 4px;
}


#textFadeout {
  width: calc(100% - 30px);
  height: 20%;
  left: 0;
  background: rgb(244, 246, 248);
  background: linear-gradient(0deg, rgba(244, 246, 248, 1) 0%, rgba(244, 246, 248, 0) 100%);
  transition: all 0.2s ease-in-out;
  position: absolute;
  bottom: 0px;
  z-index: 40;
}

.annotationFadeout {
  width: calc(100% - 10px);
  height: 10%;
  left: 0;
  transition: all 0.2s ease-in-out;
  position: absolute;
  bottom: 0px;
  pointer-events: none;
}

.fadeout-performance {
  background: #1081B3;
  background: linear-gradient(0deg, rgba(16, 129, 179, 1) 10%, rgba(16, 129, 179, 0.2) 100%);
}

.fadeout-circularity {
  background: #08A7DB;
  background: linear-gradient(0deg, rgba(8, 167, 219, 1) 10%, rgba(8, 167, 219, 0.2) 100%);
}

.fadeout-co2neutrality {
  background: #52BE87;
  background: linear-gradient(0deg, rgba(82, 190, 135, 1) 10%, rgba(82, 190, 135, 0.2) 100%);
}


#button-performance {
  background-color: #1081B3;
}

#button-circularity {
  background-color: #08A7DB;
}

#button-circularity .HotspotCircle {
  background-color: rgba(255, 255, 255, 0);
}

#button-co2neutrality {

  background-color: #52BE87;
}

.Hotspot {
  position: absolute;

  width: 4px;
  height: 4px;
  padding: 0;
  opacity: 1;
  transition: all 0.2s ease-in;
  background: rgba(255, 255, 255, 0);
  transform: scale(1);
  transition: all 0.4s ease-out;
}

.Hotspot:not([data-visible]) {

  transition: all 0.4s ease-out;
  transform: scale(0.95);
  pointer-events: none;
  opacity: 0.4;
}





.HotspotLine {
  position: absolute;
  transform: translate(-50%, -100%);
  width: 3px;
  height: var(--hotspot-height);
  padding: 0;
  opacity: 1;

}

.line-performance {

  background: #1081B3;
  background: linear-gradient(180deg, rgba(16, 129, 179, 1) 10%, rgba(16, 129, 179, 0.2) 100%);
}

.line-circularity {
  background: #08A7DB;
  background: linear-gradient(180deg, rgba(8, 167, 219, 1) 10%, rgba(8, 167, 219, 0.2) 100%);
}

.line-co2neutrality {
  background: #52BE87;
  background: linear-gradient(180deg, rgba(82, 190, 135, 1) 10%, rgba(82, 190, 135, 0.2) 100%);
}

.HotspotCircle {
  position: absolute;
  top: 0px;
  transform: translate(-52%, calc((var(--hotspot-height) *(-1) - var(--hotspot-size) * 0.5))) scale(1, 1);
  -webkit-transform: translate(-52%, calc((var(--hotspot-height) *(-1) - var(--hotspot-size) * 0.5)));
  background: none;
  background-image: none;
  width: var(--hotspot-size);
  height: var(--hotspot-size);
  border-style: none;
  /*filter: drop-shadow(0px 0px 2px rgb(0 0 0 / 0.3));*/
  padding: 0px;
  transition: all 0.4s ease-out;
  opacity: 1;
  -webkit-transition: -webkit-transform 0.4s ease-out, opacity 0.4s ease-out;
}

.HotspotCircle:hover {

  transform: translate(-52%, calc((var(--hotspot-height) *(-1) - var(--hotspot-size) * 0.5))) scale(1.3, 1.3);
}




.HotspotAnnotation {
  position: absolute;
  top: 0px;
  transform: translate(35px, -50%);
  width: 200px;
  border-radius: 3px;
  padding: 10px;
  opacity: 0;
  pointer-events: none;
}

.fadeInAnnotation {
  opacity: 1;
  transition: all 0.4s ease-in;
  pointer-events: all;
}

.hotspot-performance .HotspotAnnotation {
  background-color: #1081B3;
}

.hotspot-circularity .HotspotAnnotation {
  background-color: #08A7DB;
}

.hotspot-co2neutrality .HotspotAnnotation {
  background-color: #52BE87;
}

#annotations-container-mobile-performance {
  background-color: #1081B3;
}

#annotations-container-mobile-circularity {
  background-color: #08A7DB;
}

#annotations-container-mobile-co2neutrality {
  background-color: #52BE87;
}


.annotation-title {
  font-family: 'Gotham', sans-serif;
  font-weight: 700;
  color: white;
  text-align: left;
  font-size: 1.1em;
  padding: 5px 0px 10px 0px;
  margin: 0 8px 10px 8px;
  box-sizing: border-box;
  border-bottom: 2px solid rgba(255, 255, 255, 0.83);

}

.annotation-container {

  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  max-height: 250px;


}

.annotation-content {

  max-height: inherit;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 8px 15px 8px;

}

.HotspotAnnotation p {
  color: white;
  text-align: left;
  font-family: 'Gotham', sans-serif;
  font-size: 1em;
  line-height: 1.2em;
}

.HotspotAnnotation img {
  width: 100%;
  max-width: 200px;
  height: auto;
}

.annotation-video {
  width: 100%;
  max-width: 200px;
  height: auto;

}

.annotation-link {
  margin: 10px 0 15px 0;
  display: table-cell;
  padding-left: 10px;
  padding-top: 10px;
  padding-bottom: 35px;

}

.annotation-link a {
  font-family: 'Gotham', sans-serif;
  font-weight: 400;
  color: white;
  text-decoration: none;
  font-size: 1.05em;
  text-align: left;
  display: inline-block;
  padding-bottom: 4px;
  vertical-align: middle;
}

.annotation-link a:visited {

  color: rgba(255, 255, 255, 0.8);

}

.annotation-link svg {
  width: 20px;
  height: 20px;
  vertical-align: middle;
  display: inline-block;
  margin-right: 8px;
}

audio {
  height: 30px;
}

h2 {
  font-size: 4vh;
}

p {
  opacity: 0.9;
}


#logo {
  position: absolute;
  top: 0;
  left: 5%;
  width: 400px;
  z-index: 1000;
  text-align: left;
}

#info {
  position: absolute;
  top: 5vh;
  left: 5vh;
  text-align: left;
  pointer-events: none;
}

#bottom-left-info {
  position: absolute;
  bottom: 2vh;
  right: 2vh;
  z-index: 1000;
  text-align: left;
  pointer-events: none;
}

#bottom-left-info .pointer {
  pointer-events: auto;
}

#bottom-left-info img {
  height: 100px;
  margin-right: 10px;
  opacity: 0.9;
}

#bottom-left-info p {
  font-family: 'Gotham', sans-serif;
  margin: 5px;
  color: #1d4370;
}

#bottom-left-info ul {
  margin: 0;
  padding: 0;
}

#bottom-left-info ul li {
  display: inline-block;
  margin-top: 15px;
  margin-right: 10px;
  font-size: 0.8em;
  color: black;
  opacity: 0.9;
}

a {
  text-decoration: none;
  position: relative;
  color: #1d4370;
}

a:after {
  content: '';

  width: 100%;
  position: absolute;
  left: 0;
  bottom: -4px;

  border-width: 0 0 1px;
  border-style: solid;
}

#bottom-left-info ul li a:hover {
  color: var(--main-highlight-color);
  opacity: 1;
}

a:visited {
  color: #000;
}

.uppercase {
  text-transform: uppercase;
}

.hide {
  display: none;
}

.disappear {
  opacity: 0 !important;
}

.fadeInHotspots {
  animation: fadeInHotspotsFromNone 0.4s ease-out;
}

@keyframes fadeInHotspotsFromNone {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

.fadeIn {
  animation: fadeInFromNone 0.5s ease-in-out;
}

@keyframes fadeInFromNone {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  50% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

/*
#background {
  position:fixed;
  left:0;
  bottom:0;
  opacity:0.1;
  background-image: url("https://cdn.glitch.com/fb681309-056e-4caa-98ea-6f087fe38f25%2Fkonstruktion-t-black.png?v=1585177101959");
  width:100%;
  height:100%;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: 80% 30%;
  background-size:80%;
}
*/

.ar-not-available .have-ar,
.ar-available .no-ar {
  display: none;
}

button {

  border-style: none;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  /* color: var(--button-text-color);*/
}

button#audioPlayRequest+audio {
  display: none;
}

button#audioPlayRequest.hide+audio {
  display: initial;
}

#button-enter-ar {
  position: absolute;
  height: 35px;
  top: calc(var(--realWindowHeight) * 0.98 - 35px);
  left: calc(5vw);
  padding: 5px;
  background-color: #1d42701c;
  color: #1d4370;
  pointer-events: all;
}



/* Add this to align vertically */
#button-enter-ar>img,
#button-enter-ar>span {
  vertical-align: middle;
  font-size: 16px;
  line-height: 1em;
}

div.hand-image {
  background-color: var(--main-text-color);
  mask-image: url('../img/Hand-Symbol-SVG.svg');
  -webkit-mask-image: url('../img/Hand-Symbol-SVG.svg');
  width: 100px;
  height: 100px;
  display: inline-block;
  margin-left: 0;

}

@media screen and (max-width: 604px) {

  h1,
  h1 span {
    /*font-size: 18vw;*/
  }

  #info {
    top: 3vh;
    left: 3vh;
  }

  #bottom-left-info {
    bottom: 3vh;
    left: 3vh;
  }

  #bottom-left-info ul .no-break {
    display: none;
  }

  #bottom-left-info div.hand-image {
    display: none;
  }

  #bottom-left-info {
    display: none;
  }

  #info audio#sound {
    display: none;
  }

  #info h2 {
    display: none;
  }
}

@media screen and (min-width: 605px) {
  #bottom-left-info ul .break {
    display: none;
  }

  #button-enter-ar {}
}

@media screen and (max-width: 1200px) {
  #bottom-left-info div.hand-image {
    display: none;
  }

  #bottom-left-info {
    width: 120px;
  }

  #bottom-left-info p {
    font-size: 0.8em;
    text-align: center;
  }
}

model-viewer {
  --poster-color: transparent;
}

@media only screen and (orientation:portrait) {
  #plants-of-tomorrow-container {
    display: inline-block;
    position: absolute;

    height: var(--realWindowHeight);
  }

  #model-viewer {

    height: calc(var(--realWindowHeight) *1 - 3* var(--button-height));
    overflow: auto;
    position: absolute;
    top: 0px
  }

  #button-enter-ar {
    top: calc(var(--realWindowHeight) * 0.97 - 35px);
  }

  #info-container {
    position: absolute;
    width: 100%;
    max-width: 100%;
    height: fit-content !important;
    flex-flow: column;
    bottom: 0px;
    z-index: 1000;
    overflow: hidden;
    margin-bottom: 0px;
    min-width: auto;
  }

  #all-topics-container {
    position: relative;
    display: block;
    height: max-content;
    justify-content: space-between;
  }

  .topic-container {
    width: 100%;
  }

  #topic-content-container {
    /*position:relative;*/
    width: 100%;
    margin-top: 0px;
    flex: 1;
    overflow: auto;
  }

  #topic-content-container.up {
    max-height: 100%;
  }

  .topic-container {
    background-color: rgb(244, 246, 248);
  }

  .topic-content {
    height: 100%;
    box-sizing: border-box;
    padding: 15px;
  }

  .topic-content-mobile {
    height: 0;
    transition: height 0.5s ease-out;
    /*transition: all  0.3s ease-out;*/
    position: relative;
  }

  .topic-content-mobile.up {
    height: calc(0.6 * var(--realWindowHeight) - 4* (var(--button-height)));
  }

  .topic-content-mobile.down {
    height: 0px;
  }

  .annotations-container-mobile {
    position: absolute;
    margin-top: 1px;
    width: 100%;
    height: 0%;
    top: 0;
    z-index: 0;
    background-color: aqua;
    overflow-y: auto;
    overflow-x: hidden;
    transition: all 0.3s ease-out;
  }

  .HotspotAnnotation {
    position: absolute;
    top: 0px;
    transform: none;
    width: 100vw;
    border-radius: 0px;
    padding: 10px;
    margin: 0;
    height: fit-content;
    min-height: 100%;
    box-sizing: border-box;
    padding-left: 5vw;
    padding-right: 5vw;
    overflow: hidden;
    opacity: 1;
    transition: all 0.4s ease-in;
  }

  .fadeInMobileAnnotation {
    transition: all 0.4s ease-in;
    height: 100%;
  }

  .hideMobile {
    display: none;
  }

  .HotspotAnnotation.annotationbox-performance {
    background-color: #1081B3 !important;
  }

  .HotspotAnnotation.annotationbox-circularity {
    background-color: #08A7DB;
  }

  .HotspotAnnotation.annotationbox-co2neutrality {
    background-color: #52BE87;
  }

  .annotation-container {
    box-sizing: border-box;
    display: inline-block;
    flex-direction: column;
    max-height: fit-content;

  }

  .annotation-title {
    text-align: center;
    font-size: 1.0em;
  }

  .annotation-content {
    overflow-y: hidden;
    overflow-x: hidden;
    padding: 0 8px 15px 8px;
  }


  .HotspotAnnotation p {
    color: white;
    text-align: left;
    font-family: 'Gotham', sans-serif;
    font-size: 1em;
    line-height: 1.4em;
    font-weight: 400;
    word-wrap: normal;
  }

  .annotationFadeout {
    width: 100%;
    height: 5vh;

  }

  .annotation-video {
    max-width: 100%;
    height: auto;
  }

  .HotspotAnnotation img {
    max-width: 100%;
    height: auto;
  }

}

@media (max-width: 767.98px) and (orientation:portrait) {
  #main-title img {
    max-width: 200px;
    width: 30%;
    min-width: 130px;
    margin-left: 15px;
  }

  .topic-content {
    padding: 15px;
  }

  .topic-content {
    font-size: 0.8em;
    line-height: 1.2;
  }

  .HotspotAnnotation p {
    font-size: 0.8em;
    line-height: 1.2em;
  }

  .annotation-title {
    font-size: 0.8em;
  }
}

@media (min-width: 767.98px) and (max-width: 1024px) and (orientation:portrait) {
  .topic-content {
    padding: 30px 10vw;
    font-size: 1em;
    line-height: 1.4;
  }

  .HotspotAnnotation {
    padding-left: 10vw;
    padding-right: 10vw;

  }
}

@media (max-width: 1366px) and (orientation:landscape) {}

@media (max-width: 900px) and (orientation:landscape) {
  #info-container {
    display: none;
  }

}

@media (hover) {}