/* __V3D_TEMPLATE__ - template-based file; delete this line to prevent this file from being updated */

body {
    margin: 0px;
    overflow: hidden;
}

noscript {
    display: block;
    text-align: center;
    padding-top: 100px;
    font-size: 20px;
}

#v3d-container {
    position: relative;
    width: 100%;
    height: 100dvh;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
  }

#ma3d-menu-toggle{
  position:absolute; top:50%; right:0; transform:translateY(-50%);
  background:rgba(255,255,255,.5); border:0; cursor:pointer; padding:10px; z-index:11; font-size:24px; touch-action:manipulation;
}
#ma3d-menu-toggle:hover{ background:rgba(255,255,255,.8); }

#ma3d-menu{
  position:absolute; top:0; right:0; bottom:0;
  display:grid;
  grid-template-columns:
    minmax(0,1fr) 1px
    minmax(0,1fr) 1px
    minmax(0,1fr) 1px
    minmax(0,1fr);
  grid-template-rows: repeat(8, 1fr);
  align-items:center; justify-items:center;
  gap:5px; padding:10px; box-sizing:border-box;
  height:100%; max-width:100%;
  background:transparent; transform:translateX(100%); transition:transform .4s ease;
  box-shadow:none; z-index:10; visibility:hidden; pointer-events:auto; overflow:visible !important;
}
#ma3d-menu.open{ transform:translateX(0); box-shadow:-4px 0 15px rgba(0,0,0,.3); visibility:visible; }

.ma3d-separator{ background:#ccc; width:1px; height:100%; }

.ma3d-menu-item{
  display:flex; justify-content:center; align-items:center;
  aspect-ratio:1 / 1; width:100%; height:100%;
  min-width:0; min-height:0; overflow:hidden; padding:0; cursor:pointer; box-sizing:border-box;
}
.ma3d-menu-item img{
  max-width:100%; max-height:100%;
  width:auto; height:auto; object-fit:contain; display:block; margin:auto;
}
.ma3d-tint-green{ filter: sepia(1) hue-rotate(107deg) saturate(1); }

.ma3d-menu-item { position: relative; }

.ma3d-menu-item.hsep::after{
  content:"";
  position:absolute;
  left:10%; right:10%;
  bottom:0;
  height:1px;
  background:rgba(255,255,255,.6);
  pointer-events:none;
}

.ma3d-menu-item.port-cell {
  position: relative;
  overflow: visible; 
  cursor: pointer;
}

.port-thumb {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  pointer-events: auto;
  touch-action: manipulation;
}

.port-chooser{
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  height: 100%;
  display: flex;
  align-items: stretch;
  gap: 8px;
  z-index: 5;
  width: max-content;
  min-width: 0;
  max-width: none;
  pointer-events: none;
  transform: translateX(0);
  opacity: 0;
  transition: transform 300ms ease-out, opacity 300ms ease-out;
}

.port-cell.open .port-chooser{
  transform: translateX(calc(-100% - 8px));
  opacity: 1;
  pointer-events: auto;
}

.port-choice{
  height: 100%;
  width: 100%;
  flex: 0 0 auto;
  align-self: stretch;
  padding: 0;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
}

.port-choice img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.port-cell.placeholder {
  opacity: .25;
  pointer-events: none;
}

.port-choice:hover { outline: 2px solid rgba(255,255,255,0.25); }

* { -webkit-tap-highlight-color:rgba(0,0,0,0); }

.v3d-simple-preloader-background {
    background-color: #373739;
}

.v3d-simple-preloader-container {
    filter: drop-shadow(0px 0px 0px #373739);
}

.v3d-simple-preloader-logo {
    background-image: url('media/safari-pinned-tab.svg');
}

.v3d-simple-preloader-bar {
    background: linear-gradient(90deg, #b0b0b0, #3aa884);
    height: 4px;
    border-color: #80d6b9;
}