@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap');


/* ----- TODO -------------------------------------------- */
/*
- Section.hero
- Section.dividedhorisontal
- Section.dividedvertical
- Section.gallery

*/

/* ----- GENERAL ----------------------------------------- */
body{
  font-family: 'Noto Serif JP', serif;
}

#mainTarget{
  /*padding:1em;*/
}

h2{
  font-size: 2em;
}

div.white{
  color: white;
}

header.satmap{
  position: relative;
  z-index: 2;
}

nav{
  font-size: 2em;
  text-decoration: none;
  display: flex;
  margin-top:1em;
  margin-bottom: 1em;
  justify-content: space-between;
  align-items: center;
  color: black;
}

nav.nobottom{
  margin-bottom: 0;
}

nav > span{
  display: flex;
  align-items: center;
}

nav span.hideondesktop{
  display: flex;
  position: fixed;
  width: 100%;
  height: 100%;
  left:0;
  top:0;
  flex-direction: column;
  justify-content: center;
  background-color: white;
  z-index: 10;
}

nav .btn, nav a.close.btn{
  width: 3rem;
  height: 3rem;
  border: none;
  background-color: transparent;
  background-size: cover;
  cursor: pointer;
  position: absolute;
  top: 1em;
  right: 1em;
}

nav .btn:hover, nav a.close.btn:hover{
  background-color: #FFAE17;
}

nav .close{
  background-image: url('/images/basic/close.svg');
}

nav .menu{
  background-image: url('/images/basic/menu.svg');
}

nav span.showondesktop{
  display: flex; /*none*/
}

nav #logo{
  height:3em;
  margin-right:0.5em;
}

a{
  text-decoration: none;
  color:black;
}

a:visited{
  color:black;
}

a:hover{
  color:#FFAE17;
}

div.spacer{
  height:10vh;
  width: 100%;
  display: flex;
  margin:10vh 0vh;
  justify-content: center;
}

div.spacer.notop{
  margin:0vh 0vh 10vh 0vh;
}

section{
  display: flex;
  position: relative;
}

section.column{
  flex-direction: column;
}

section.centered{
  align-content: center;
  justify-content: center;
  text-align: center;
}

.flex{
  display: flex;
  flex-direction: column;
}

.flex.centered{
  display: flex;
  align-content: center;
  justify-content: center;
  text-align: center;
  align-items: center;
}

section.centered.column{
  align-items: center;
}

section.fullheight{
  min-height: 100vh;
}

section.divided{
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}

section.divided > div{
flex-basis: 35%;
}

section.dividedhori > div{
  flex: 0 1 50%;
}

@keyframes MoveBG {
  from {background-position-x:0%;}
  to {background-position-x:10000%;}
}

#fronthero .bg{
  position: absolute;
  height:100%;
  width:100%;
  background: url('/images/moods/Hero A.jpg');
  background-size: cover;
  background-repeat: repeat-x;
  overflow: hidden;
  animation-name: MoveBG;
  animation-duration: 1000s; /*make 0 if animation must be disabled*/
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

#fronthero a{
  z-index: 2;
}

#fronthero a img{
  width: 25vh;
}

#fronthero a img:hover{
  width: 30vh;
}

#fronthero p{
  font-size: 2.5em;
  color: white
}

section#map{
  position: fixed;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  overflow-y: hidden;
  overflow-x: scroll;
  margin: 0;
}

section#map object{
  position: absolute;
  height: 100%;
  width:auto;
  z-index: -1;
}

section.masked::after{
  content:"";
  position: absolute;
  width:100%;
  height:100%;
  border-width:200px;
  border-style: solid;
  border-image:url('../images/basic/PaintMask.png') 300 round;
  border-image-outset: 1px;
}

section.maskedhori::after{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-width:150px;
  border-style: solid;
  border-image:url('../images/basic/PaintMask2.png') 300 round;
  border-image-outset: 1px;
}

.padsides{
  padding-left: 10%;
  padding-right: 10%;
}

.padsidesmore{
  padding-left: 20%;
  padding-right: 20%;
}

.padsidesless{
  padding-left: 5%;
  padding-right: 5%;
}

.marginsides{
  margin-left: 10%;
  margin-right: 10%;
}

.gallery{
  display: flex;
  justify-content: space-around;
}

.gallery > a{
  flex: 1 1 100%;
  margin:2em;
}

.wrapgallery{
  /*display: flex;
  justify-content: space-around;
  flex-wrap: wrap;*/
  display: grid;
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
  grid-gap: auto;
}

.wrapgallery > a{
  flex: 1 1 20%;
  margin:2em;
  text-align: center;
}

.hexaholder{
  overflow: hidden;
  background-size: cover;
  display:flex;
  justify-content:center;
  align-items: center;
  margin: 2px;
  border: solid 1px white;
  box-sizing: content-box;
  position: relative;
  aspect-ratio: 1/1.1547005;
  clip-path: polygon(0% 25%, 50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%);
}

.hexaholder .content{
  overflow: hidden;
  display: flex;
  color:white;
  font-size: 2em;
  position: absolute;
  width:100%;
  height:100%;
  left:0;
  right:0;
  justify-content: center;
  align-items: center;
}

.hexaholder .content img{
  width:50%;
  height:auto;
  transition: width 0.7s;
}
.hexaholder:hover .content img{
  width:60%;
}

.hexaholder .content .initials{
  color:white;
  font-size:2em;
  margin:0;
}

#pano {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.prevent-select {
  user-drag: none;
  -webkit-user-drag: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

.a-enter-vr-button{
  right:1em !important;
  bottom:1em !important;
}

#footer{
  display: flex;
  margin:1em;
  justify-content: center;
}

/* MEDIA QUERIES */

@media only screen and (min-width:600px) {
  .hideondesktop{
    display:none;
  }
}

@media only screen and (max-width:600px) {
  nav span.showondesktop{
    display:none;
  }

  .gallery{
    flex-wrap: wrap;
  }

  section.divided{
    flex-direction: column;
    justify-content: center;
    padding:2em;
  }
  /*div.spacer{
    display:none;
  }*/
}
