html,body{
  margin:none;
  padding: none;

  background:black;
  color:white;

  font-family: CROSSOVER;
  font-size:2.3vh;
}
@media only screen and (min-aspect-ratio: 1/1) {
  body {
    font-size: 2vw;
    /*height: 101vh;*/
  }
}

hr{
  width: 100%;
}

#content{
  position: fixed;
  top:0;
  left:0;
  width: 100vw;
  height: calc(100vh - (var(--mobile-bar-offset)) * 1);
}
#app{
  position: relative;
  top:0;
  left:0;
  width:100%;
  height: calc(100% - 0em);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}

.hidden{
  display: none !important;
}

.ghost{
  opacity: 0;
}
.ghost_transition{
  transition: opacity var(--ghost-speed) var(--ghost-function);
}

.preload_data{
  display: none;
}

/* --------------------- */
#app_header{
  height: 2em;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  background: black;
  z-index: 1;
  position: relative;
  z-index: 10;
}

#header_logo{
  position: absolute;
  top: 0px;
  left: 0px;
  width: 4em;
  outline: 0.2em solid var(--app-primary-color);
  height: 4em;
  background: black;
}
#header_logo img{
  width: 100%;
  filter: brightness(1.3);
  transition: filter 0.5s ease;
}
#header_logo img:hover{
  filter: brightness(1.7);
}

#header_placeholder{
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border: 0.2em solid var(--app-primary-color);
  background: black;
}

/* --------------------------- */
#footer {
  width: 100%;
  height: 2em;
  position: relative;
  z-index: 10;
}
#footer_placeholder{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0.2em solid var(--app-primary-color);
  background: black;
}
#header_return {
  position: absolute;
  bottom: 0px;
  right: 0px;
  width: 4em;
  outline: 0.2em solid var(--app-primary-color);
  height: 4em;
  background: black;
  display: flex;
  justify-content: center;
  align-items: center;
}
#header_return_button img{
  width: 2.5em;
  transition: filter 0.5s ease;
}
#header_return_button img:hover{
  filter: brightness(1.5);
}

/* --------------------------- */
/* App title */
.APP_title_topLine{
  font-size:0.8em;
  color:rgba(255,255,255,0.8);
}
.APP_title_mainLine{
  font-size:1.5em;
  /*white-space: nowrap;*/
}
.APP_title_subline{
  color:black;
  filter: drop-shadow(0px 0px 0.35em var(--theme-color)) drop-shadow(0px 0px 0.1em var(--theme-color)) drop-shadow(0px 0px 0.1em var(--theme-color));

}
#header_title #APP_title {
  display: flex;
  width: 100%;
  justify-content: space-evenly;
  align-items: center;
  flex-direction: row;
  height: 100%;
  flex-wrap: wrap;
}
#header_title .APP_title_mainLine{
  font-size:1em;
}
#header_title .APP_title_subline{
  font-size:0.8em;
}

#app_bg{
  position: fixed;
  z-index: -1;
  top:0;
  height:100%;
  width:100%;
  opacity: 0.3;
}

#app_content{
  pointer-events: none;
  position: relative;
  top:0;
  left:0;
  width: calc(90% - 2em);
  height:calc(100% - var(--app-header-height) - 0em);
  background: transparent;
}

.layer{
  pointer-events: none;
  position: absolute;
  top:0;
  left:0;
  width: 100%;
  height:100%;

}
#layer_content .layer_content{
  pointer-events: none;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: calc(100% - 0.4em);
  box-shadow: inset 0 0 1em var(--app-primary-color), inset 0 0 1em var(--app-primary-color) , inset 0 0 1em var(--app-primary-color);
  animation: content_block_glow 3.5s ease-in-out infinite;
  pointer-events: none;
}
.layer_content *{
  pointer-events: auto;
  z-index: 1;
}

.bg {
  position: absolute;
  height: 100%;
  width: 100%;
  cursor: pointer;
  z-index: 0;
}

.bg_black{
  background: rgba(0,0,0,0.7);
}

/* --------------------------- */
/* Content layout */
/* --------------------------- */
@keyframes content_block_glow{
  0%{
    box-shadow: 
    inset 0 0 1em var(--app-primary-color),
    inset 0 0 1em var(--app-primary-color),
    inset 0 0 1em var(--app-primary-color);
  }
  50%{
    box-shadow:
    inset 0 0 1em var(--app-primary-color-faded),
    inset 0 0 1em var(--app-primary-color-faded),
    inset 0 0 1em var(--app-primary-color-faded);
  }
  100%{
    box-shadow:
    inset 0 0 1em var(--app-primary-color),
    inset 0 0 1em var(--app-primary-color),
    inset 0 0 1em var(--app-primary-color);
  }
}

.APP_main_menu{
  max-height: 100%;
  width: 100%;
  height: 99%;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  overflow: scroll;
}

#MM_buttons_container {
  width: 100%;
  margin-top: 2em;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 3em;
}

.MM_button {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: start;
  align-items: center;
  width: 70%;
  border: 0.2em solid var(--app-primary-color);
  border-radius: 0.4em;
  margin: 0.5em;
  cursor: pointer;
  user-select: none;
  height: 25%;
  overflow: hidden;
}
.MM_button_content {
  display: flex;
  flex-direction: row;
  justify-content: safe;
  align-items: center;
  flex-wrap: nowrap;
  transition: background 0.5s ease;
  width: 100%;
  height: 100%;
  padding: 0.5em;
  background:rgba(0,0,0,0.7);
}
.MM_button_content:hover, .MM_button_content:active{
  color: aqua;
  background: #3C95B9;
}
.MM_button img {
  height: 3em;
  width: 3em;
  margin-right: 0.5em;
  filter: drop-shadow(0 0 0.4em var(--app-primary-color)) drop-shadow(0 0 0.4em var(--app-primary-color)) brightness(1.35);

  filter: 
    drop-shadow(0 0 0.4em var(--app-primary-color))
    drop-shadow(0 0 0.4em var(--app-secondary-color))
    drop-shadow(0 0 0.4em var(--app-primary-color))
    brightness(1.6);
}
.MM_button_title {
  font-size: 1.5em;
  font-family: CROSSOVER;
  color: var(--app-primary-color);
  text-shadow: 
  0 0 3px var(--app-primary-color),
  0 0 5px var(--app-primary-color), 
  0 0 10px var(--app-primary-color),
  0 0 20px var(--app-secondary-color),
  0 0 40px var(--app-secondary-color);
  letter-spacing: 2px;
  font-weight: bold;
  color: black;
  filter: brightness(1.6);
}




.menu_title{
  font-size: 1.5em;
  font-family: CROSSOVER;
  color: var(--app-primary-color);
  text-shadow: 0 0 3px var(--app-primary-color), 0 0 5px var(--app-primary-color), 0 0 10px var(--app-primary-color), 0 0 20px var(--app-secondary-color), 0 0 40px var(--app-secondary-color);
  letter-spacing: 2px;
  font-weight: bold;
  color: black;
  filter: brightness(1.6);
  padding-bottom:0.5em;
}


.desc{
  margin-top: 0em;
  text-align: left;
  font-size: 1.1em;
  text-align: justify;
  font-family: CyberverseCondensed;
  color: var(--app-primary-color);
  text-shadow: 0 0 1em var(--app-primary-color), 0 0 0.1em var(--app-primary-color);
  filter: brightness(3.7);
  padding: 0 1em;
}



/* Contact  */

#APP_contact_menu {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow-y: auto;
}
#APP_contact_form {
  margin-top:1em;
  display: flex;
  flex-direction: column;
  width: 90%;
  justify-content: center;
  align-items: center;
}

#APP_contact_mail {
  background: black;
  color: var(--app-primary-color);
  filter: brightness(2);
  border: none;
  padding: 0.5em;
  margin: 0.5em;
  font-size: 1.1em;
}
#APP_contact_form_message {
  background: black;
  color: var(--app-primary-color);
  filter: brightness(2);
  border: none;
  padding: 0.5em;
  margin: 0.5em;
  font-size: 1.1em;
  max-height: 50vh;
}

#mailCaptcha{
  outline: 1px solid lime;
}

.success_message{
  color:chartreuse;
}
.error_message{
  color:gold;
}
#APP_contact_form_submit {
  padding: 1em;
  cursor: pointer;
  user-select: none;
  text-shadow: 0 0 0.5em white, 0 0 0.5em white;
  transition: text-shadow 0.5s ease;
}
#APP_contact_form_submit:hover, #APP_contact_form_submit:active{
  text-shadow: 0 0 0.5em white, 0 0 0.5em white, 0 0 0.5em white, 0 0 0.5em white;
}


/*Mail send spinner loader*/
/* HTML: <div class="loader"></div> */
.mail_send_loader {
  width: 50px;
  padding: 8px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #25b09b;
  --_m: 
    conic-gradient(#0000 10%,#000),
    linear-gradient(#000 0 0) content-box;
  -webkit-mask: var(--_m);
          mask: var(--_m);
  -webkit-mask-composite: source-out;
          mask-composite: subtract;
  animation: l3 1s infinite linear;
}
@keyframes l3 {to{transform: rotate(1turn)}}
#APP_contact_form_response {
  margin-top: 1em;
}