.gallery{
  /*display: grid;
  grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr ;
  grid-auto-flow: dense;

  position: absolute;*/
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  /* margin-top: calc(var(--header-height-1) + (var(--header-height-2) * 2)); */

/*  min-height: 200vh;*/
    /* flex-direction: column; */
/*    align-items: self-end;*/
}

.grid-cont{
  display: flex;
  flex-wrap: wrap;
/*  align-items: end;*/
  margin-top: 50vh;
  align-items: center;
}

.material_box{
  display: grid;
  grid-column-start: 1 !important;
  grid-column-end: 4 !important;
  text-align: right;
}

.construction_box{
  display: grid;
  grid-column-start: 2 !important;
  grid-column-end: 5 !important;
  text-align: right;
}

.microclimate_box{
  display: grid;
  grid-column-start: 2 !important;
  grid-column-end: 5 !important;
  margin-left: -3.5vw;
  margin-right: 3.5vw;
}

.location_box{
  display: grid;
  grid-column-start: 4 !important;
  grid-column-end: 7 !important;
  margin-left: -3.5vw;
  margin-right: 3.5vw;
}

.bg-img{
    /*position: sticky;
    top: 0px;*/
    position: absolute;
    top: 100vh;
    width: 100%;
    height: calc(100% - 100vh);
    object-fit: cover;
    z-index: -1;
    transition: 0.3s opacity;
    opacity: 1;
/*    display: none;*/
}

.imgC{
  cursor: pointer;
}

.grid {
    max-width: 50%;
    display: grid;
    margin: 0 auto;
    grid-template-columns: repeat(auto-fill, minmax(7vw, 1fr));
    grid-template-rows: auto 1fr;
    /* grid-auto-rows: 1fr; */
    grid-auto-flow: row dense;
    grid-gap: var(--padding-main);
    counter-reset: boxes;
    /* height: 90vh; */
    height: fit-content;
}

.box.text-box .text{
  background: var(--color-bg);
  padding: var(--padding-main);
  display: grid;
  row-gap: 0.5em;
  
  border-top: var(--border);
  border-bottom: var(--border);
}
.box.text-box{
  z-index: 10;
  
  row-gap: 0.5em;
  
  
}
.box.text-box .text:not(.box.text-box.introduction-box .text){
  border-top: var(--border);
  border-bottom: var(--border);
}
.box.text-box.introduction-box{
  display: grid;
  border-top: var(--border);
  border-bottom: var(--border);
}
.box.text-box:not(.box.text-box.introduction-box){
  display: flex;
}

.box.material_box, .box.construction_box{
  justify-content: flex-end;
}

.box p{
  font-family: "NEXTMono";
  font-size: 0.7em;
  line-height: 1.45em;
  letter-spacing: -0.05em;
  margin: 0;
}
.box h4{
  font-family: "NordicPavillion";
/*  margin: 0.5em 0;*/
    font-size: 0.75em;
    margin: 0;
}

.intro-c{
    height: 100vh;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(3.5vw, 1fr));
    pointer-events: none !important;
    position: absolute;
    width: 100%;
    top: calc(var(--header-height-1) + (var(--header-height-2) * 2));
}

.grid-cont-intro{
  grid-column-start: 23;
    grid-column-end: 29;
    text-align: right;

    pointer-events: all !important;
    height: 100%;
    position: absolute;
    /* float: right; */
    width: 21vw;
    right: var(--padding-main);

}

.grid-cont-zoom{
  pointer-events: all !important;
  width: 24vw;
  left: 0px;
  position: relative;
  height: calc(100% - (var(--header-height-1) + (var(--header-height-2) * 2)));

  /*transition: 0.3s opacity;
  opacity: 0;*/
}
.grid-cont-zoom .button-text{
  transition: 0.3s opacity;
  opacity: 0;
}
.grid-cont-intro .box{
  padding: var(--padding-main) 0em var(--padding-main) 0.8em;;
  background: var(--color-bg);
}


.button-habitat{
    background: var(--color-bg);
    width: fit-content;
    display: flex;
    flex-flow: column;
    align-self: flex-end;
    float: right;
    padding: var(--padding-main);
    align-items: center;
    text-align: center;
    row-gap: var(--padding-main);

    position: sticky;
    top: calc(var(--header-height-1) + (var(--header-height-2) * 2));
}
.button-habitat .button-text{
  font-family: "NordicPavillion";
    font-size: 0.6em;
}
.close-habitat{
  z-index: 10;
  position: fixed;
  right: 0px;
}
.button-zoom-in, .button-zoom-out{
  z-index: 8 !important;

}
.button-habitat .close-button{
    width: 2.5vw;
    height: 2.5vw;
}

.button-back, .button-forward{
    width: 2.8vw;
    height: 2.8vw;
}

.close-gallery{
  position: absolute;
    right: 0;
    top: 0;
}

.button-forward-c, .button-back-c{
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.button-back::before{
  content: url('svgs/g-back.svg');
}
.button-forward::before{
  content: url('svgs/g-forward.svg');
}
.button-habitat .close-button::before{
    content: url('svgs/close.svg');

}
.zoom-button{
  width: 2.5vw;
    height: 2.5vw;
    cursor: pointer;
}
.button-zoom-in .zoom-button::before{
    content: url('svgs/plus-h.svg');

}
.button-zoom-out .zoom-button::before{
    content: url('svgs/minus-h.svg');

}


.box {
  position: relative;
  display: inline-block;
  height: fit-content;
  transition: 0.3s opacity;
  opacity: 1;
  counter-increment: boxes;
}



.tall {
  grid-column: span 3;
  z-index: 8;
/*  grid-row: span 4;*/
}

.wide {
/*  grid-row: span 3;*/
  z-index: 8;
  grid-column: span 4;
}

.text-box {
  z-index: 8;
/*  grid-row: span 3;*/
  grid-column: span 3;
}

.text-box a{
  text-decoration: none;
  color: darkgrey;
}

.square {
  z-index: 8;
/*  grid-row: span 3;*/
  grid-column: span 3;
}

.shuffleWrap {
  padding: 20px;
  display: flex;
  justify-content: center;
}

/*@media(max-width: 500px) {
  .grid {
    grid-template-columns: 1fr;
  }
  .wide {
    grid-column: span 1;
  }
}*/

.imgC{
  background: var(--color-bg);
}

.tall img, .tall video{
  width: 100%;
  height: auto;
  object-fit: cover;
}
.square img, .square video{
  width: 100%;
  object-fit: cover;
  height: auto;
}
.wide img, .wide video{
  height: 100%;
  object-fit: cover;
  width: auto;
}

@media screen and (orientation:landscape) {
  .box.text-box .text{
    width: 20vw;

  }
  .box.text-box .bg-box{
    width: 20vw;
    height: 100%;
    position: absolute;
    background: var(--color-bg);
    z-index: -1;
  }
  .grid-cont{
    row-gap: 30vh;
  }
  .imgC{
    position: relative;
  }
}

/*ipad, tablets*/

@media screen and (min-width: 600px) and (max-width: 820px) and (orientation:portrait), (min-width: 821px) and (orientation:portrait){
  .habitat-wrap{
    position: fixed;
    overflow-y: scroll;
    overflow-x: hidden;
    width: 100%;
    height: 100%;
  }
  .grid-cont{
    margin-top: -90vh;
    row-gap: 17vh;
    padding-bottom: 10vh;
/*    padding-bottom: 20vh;*/
  }
  .grid-cont-intro{
    width: 30vw;
  }

  .related-hbs{
    height: calc(33vh - var(--header-height-2)) !important;
  }
  .related-atlas .preview-model-info{
    height: fit-content !important;
  }
  .filters-cont.habitat-header.closed{
/*    display: none;*/
  }
  .gallery{
/*    overflow: hidden;*/
    width: 100%;
    margin-top: 0;
  }
  .bg-img{
    position: sticky;
    top: 0px;
    height: 100vh;
  }
  .intro-c{
    top: calc(var(--header-height-1) + var(--header-height-2) + 2px);
  }
  .grid {
      grid-template-columns: repeat(auto-fill, minmax(7vw, 1fr));
      max-width: 100%;
  }
  .location_box, .microclimate_box{
    grid-column:1 / span 7 !important;
    margin-left: var(--padding-main);
  }

  .material_box, .construction_box{
    grid-column:4 / span 7 !important;
    margin-right: var(--padding-main);
  }
  .box h4{
    font-size: 0.95em;
  }
  .intro-c{
    height: 80vh;
  }
}

@media screen and (max-width: 600px) and (orientation:portrait){
  .habitat-wrap{
    position: fixed;
    overflow-y: scroll;
    overflow-x: hidden;
    width: 100%;
    height: 100%;
  }
  .grid-cont{
    margin-top: -110vh;
    row-gap: 17vh;
    padding-bottom: 20vh;
  }
  .grid-cont-intro{
    width: 80vw;
  }

  .related-hbs{
    height: 33vh !important;
  }
  .related-atlas .preview-model-info{
    height: fit-content !important;
  }
  .filters-cont.habitat-header.closed{
    display: none;
  }
  .gallery{
/*    overflow: hidden;*/
    width: 100%;
    margin-top: 0;
  }
  .bg-img{
    position: sticky;
    top: 0px;
    height: 100vh;
  }
  .intro-c{
    top: calc(var(--header-height-1) + var(--header-height-2) + 2px);
  }
  .grid {
      grid-template-columns: repeat(auto-fill, minmax(7vw, 1fr));
      max-width: 100%;
  }
  .location_box, .microclimate_box{
    grid-column:1 / span 7 !important;
    margin-left: var(--padding-main);
  }

  .material_box, .construction_box{
    grid-column:4 / span 7 !important;
    margin-right: var(--padding-main);
  }
  .box h4{
    font-size: 0.95em;
  }
  .intro-c{
    height: 80vh;
  }
  .box.text-box .text{
    min-width: 100%;
  }

}



