/* Fonts */
/* ***** */
@font-face {
   font-family: 'Spacecake';
   src: url('/fonts/WDXLLubrifontTC-Regular-Subset3.ttf') format('truetype'); 
   src: url('/fonts/WDXLLubrifontTC-Regular-Subset3.woff') format('woff');
   src: url('/fonts/WDXLLubrifontTC-Regular-Subset3.woff2') format('woff2');
   font-weight: normal;
   font-style: normal;
}

/* Pseudo-class to make variables globally accessible */ 
/* ************************************************** */
:root {
   --bkg-color: rgba(15,24,35,1);    /* dark blue */
   --bkg-color-values: 15,24,35;
   --font-color: rgba(255,219,21,1); /* yellow */
   --link-color: rgba(254,143,25,1); /* orange */
   --font-headings: 'Spacecake';
/*   --font-body: Courier New, Courier, Lucida Sans Typewriter, Lucida Typewriter, monospace; */
   --font-body: Trebuchet MS, Helvetica, Palatino, Arial;
   --font-code: Courier New, Courier, Lucida Sans Typewriter, Lucida Typewriter, monospace
}
/* KEYFRAMES */
/* ********* */
@keyframes rotateForever {
   from {
   	  transform: rotate(0deg);
   }
   to {
      transform: rotate(-360deg);
   }
}
/* MAIN */
/* **** */
html {
   background-color: var(--bkg-color);
   background: url('/img/wallpaper_complementary1.avif');
   background-size: cover; 
   background-attachment: fixed;
}
body {
   display: flex;
   min-height: 100vh;
   justify-content: flex-end;
   flex-flow: column nowrap;
   background-color: var(--bkg-color);	
   font-family: var(--font-body);
   font-size: 1.2em;
   margin: 0px;
}
@media screen and (orientation: landscape) {
body {
   min-height: 100vh;
   display: flex;
   justify-content: flex-end;
   flex-flow: column nowrap;
   background-color: var(--bkg-color);	
   font-family: var(--font-body);
   font-size: 1.2em;
   max-width: 60%;
   min-height: 100vh;
   margin: 50px auto;
   margin-top: 0%;
   margin-bottom: 0px; 
   }
}
.menu {
   flex: 0 1 auto;
}
.img menu_logo {
   height:3em;
}
header,
main,
footer {
   margin: 0;
   color: var(--font-color);
   hyphens: auto;
}
header {
   position: sticky;
   background: linear-gradient(120deg, rgba(var(--bkg-color-values),.95) 0%, rgba(0,0,0,.99) 90%);
   top: 0px;
   display: flex;
   flex-flow: row nowrap;
   justify-content: space-between;
   text-align: right;
   padding-top: .2em;
   padding-bottom: .4em;
   padding-left: .2em;
   padding-right: 1em;
   transition: .6s;
/* This fucks up the overlay menu! Why?! */
/*   -webkit-backdrop-filter: blur(5px);
   backdrop-filter: blur(5px); 
*/
                z-index:1;
}
html:not([data-scroll='0']) header {
   padding-top: 1px;
   padding-bottom: 2%;
   background: linear-gradient(120deg, rgba(var(--bkg-color-values),.95) 0%, rgba(0,0,0,.99) 90%);
   background-size: cover;
   max-height: 2em;
}
.sticky_top {
   position: sticky;
   top: 0px;
}
.sticky_bottom {
   position: sticky;
   bottom: 0px;
   color: var(--text-color);
   font-weight: bold;
}
.heading_sub {
   color: var(--link-color);
   position: sticky;
   top:10px;
   font-size: 0.74em;
   display: flex;
   flex-flow: row wrap;
   justify-content: right;
   gap: 0.6em;
   padding: 0px;
   margin: 0px;
   		transition: .8s;
   		z-index: -1;
}
html:not([data-scroll="0"]) div.heading_sub {
   font-size: 0.6em; 
   filter: opacity(0); 
}
main {
   flex: 1;
   padding: 13%;
   padding-right: 13%; 
   padding-top: 10%;
   line-height: 1.8em;
   text-align: left;
}
footer {
   color: var(--font-color);
   font-family: var(--font-code);
   background: linear-gradient( rgba(0, 0, 0, 0), var(--bkg-color) ), url("/img/construction_sign_ani-ball.webp");
   filter: opacity(0.7);
   display: flex;
   flex-flow: column nowrap;
   line-height: 1em;
   padding-top: 2%;
   padding-left: 5%;
   padding-right: 5%;
   padding-bottom: 70px;
   font-size:0.6em;
   line-height: 1.2em;
   		z-index: 0;
}
html:not([data-scroll='0']) main {
   padding-top: 2em;
}
footer:hover {
   filter: opacity(1);
}
/* for Science Society Logos */
.img-container {
   display: flex;
   flex-flow: row wrap;
   justify-content: center;
   gap: 6%;
   margin: 40px;	
}
.img-container img {
   height: 70px;
   flex: 1 1 auto;
   margin-top: 6px;
   margin-bottom: 6px;
   filter: grayscale(100%) brightness(100%);
}
.img-container img:hover {
   height: 70px;
   flex: 1 1 auto;
   margin-top: 6px;
   margin-bottom: 6px;
   filter: grayscale(0%);
}
.row {
   display: flex;
   flex-flow: row nowrap;
   justify-content: space-between;
   gap: 10px;
}
.col {
   display: flex;
   flex: 1; 
   flex-flow: column nowrap;
   justify-content: flex-start;
}
div.footer_c {
   margin-top: 0.5em;
   flex: 1;
   padding: 8px;
   padding-top: 0px;
   text-align: center;
}
div.footer_j {
   margin-top: 0.5em;
   flex: 0 1 auto;
   text-align: justify;
   padding: 8px;
   padding-top: 0px;
   border-left: 2px solid var(--font-color);
   border-bottom: 2px solid var(--font-color);
}
div.footer_l {
   margin-top: 0.5em; 
   flex: 1 auto;
   text-align: left;
   padding: 8px;
   padding-top: 0px;
   border-left: 2px solid var(--font-color);
   border-bottom: 2px solid var(--font-color);
}
div.footer_r {
   margin-top: 0.5em;
   flex: 0 0 auto;
   height: 100%;
   text-align: right;
}
/* LOGOS */
/* ***** */
.logo_top {
   width: 100px; 
   position: absolute; 
   top: 10px;
   left: 6px;
   z-index: 0;
   transition: 0.4s;
   		animation: rotateForever 60s linear infinite;
}
html:not([data-scroll="0"]) img.logo_top {
/*   filter: drop-shadow(-4px 6px 1px var(--bkg-color));  */
}
.logo_bottom {
   max-width: 1em; 
   position: absolute; 
   top: 0.18em; 
   left: 90px; 
   z-index: 0;
}
.cc_logo {
   width: 100px;
   min-width: 8em;
   margin-top: 0.5em;
   /*background: url('/img/logos/CC_NC-BY_logo_2y.webp');*/
   background-size: cover;
   background-repeat: no-repeat;
}
.cc_logo:hover {
   min-width: 9em;
}
/* CONTACT LOGOS */
/* ************* */
.contactbox {
   display: flex;
   flex-flow: row wrap;
   justify-content: center;
   gap: 3%;
   padding-top: 2%;
   padding-bottom: 2%;
}
.contactlogo {
   width: 2em;
   height: 2em;
   margin-top: 5px;      
}
.contactlogo span {
  color: var(--font-color);
  font-size: 0.8em;
  display: none;
  position: relative;
  bottom: -3em;
  width: 100%;
  padding: 0px;
}
/*
.contactlogo:hover span {
  display: block;
  text-transform: uppercase;
  padding-top: 0.2em;
  padding-bottom: 3em;
}
*/
.mail {
   background: url('/img/logos/logo_kontakt_mail.svg');
   background-size: cover;
   transition: 0.5s;
}
.mail:hover {
   background: url('/img/logos/logo_kontakt_mail_hov.svg');
   background-size: cover;
   width: 2.5em;
   height: 2.5em;
}
.rg {
   background: url('/img/logos/logo_kontakt_researchgate.png');
   background-size: cover;
   transition: 0.5s;
}
.rg:hover {
   background: url('/img/logos/logo_kontakt_researchgate_hov.svg');
   background-size: cover;
   width: 2.5em;
   height: 2.5em;
}
.orcid {
   background: url('/img/logos/logo_kontakt_orcid.svg');
   background-size: cover;
   transition: 0.5s;
}
.orcid:hover {
   background: url('/img/logos/logo_kontakt_orcid_hov.svg');
   background-size: cover;
   width: 2.5em;
   height: 2.5em;
}
.masto {
   background: url('/img/logos/logo_kontakt_mastodon.svg');
   background-size: cover;
   transition: 0.5s;
}
.masto:hover {
   background: url('/img/logos/logo_kontakt_mastodon_hov.svg');
   background-size: cover;
   width: 2.5em;
   height: 2.5em;
}
/* LINKS */
/* ***** */
a {
   color: var(--link-color);
   text-decoration: underline;
}
a:hover {
   filter: drop-shadow(0px 0px 5px var(--link-color));
}
.a_menu {
   color: var(--font-color);
   font-family: var(--font-headings), "Courier New", monospace;
   text-decoration: none; 
}
.a_menu:hover {
   color: var(--link-color);
   filter: drop-shadow(0px 0px 5px var(--link-color));
}
/* HEADINGS */
/* ******** */
h1,
h3,
h4 {
   font-family: var(--font-headings), "Courier New", monospace;
   text-transform: uppercase;
}
h1 {
   margin-top: 0px;
   margin-bottom: .2em;
}
h2 {
   flex: 0 0 auto;
   font-size: 0.8em;
   margin: 0;
}
h3 {
   font-size: 1.5em;
   text-align: center;
}
h4 {
   font-size: 1.5em;
   text-align: left;
}
div.impressum {
   text-align: center;
}
.transparent {
   color: #000; /* fallback for older browsers */
   color: rgba(255,255,255,0);
}
/* MENU */
/* **** */
.menu_gototop {
  position: fixed;
  left: calc(50% - 20px);
  bottom: 15px;
/*  background-color: rgba(15,24,35,.5); */
  background-color: rgba(0,0,0,.5);
  border-style: solid;
  border-width: 2px;
/*  border-color: var(--font-color); */
  border-color: black;
  border-radius: 5px;
  backdrop-filter: blur(2px);
 		opacity: 0;
 		transition: .5s;
		z-index: 1;
}
html:not([data-scroll='0']) .menu_gototop {
  opacity: 1;
  transition: .5s;
}

.menu_gototop:hover {
  filter: drop-shadow(0px 0px 3px var(--link-color));
}

lower {
  flex: 0 0 auto;
/*  font-size:50px; */
  width: 100px;
  margin:1% auto;
  padding:40px;
  opacity:0.8;
  box-shadow:inset 0 0 0 1px black;
  border:30px solid white;
  z-index: 100;
}
.lower:hover{
/*  background: var(--bkg-color);  */
  color: var(--font-color);
/*  font-size: 50px; */
}

input.menu {
  display:none;
}
.lower label {
  text-transform:uppercase;
  font-size:40px;
  text-align:center;  
}
.lower label:hover {
  cursor:pointer;
/*  background: var(--link-color); */
}
.overlay{
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(15,24,35,0.95);
}
/* CLOSE MENU BUTTON */	
.overlay label{
	width: 50px;
	height: 50px;
	position: absolute;
	left: 32px;
	top: 36px;
	background-image: url('../static/img/menu_close_cross.svg');
	background-size: cover;
        z-index: 100;
        cursor: pointer;
}
@media screen and (orientation: landscape) { 
.overlay label{
	width: 50px;
	height: 50px;
	position: absolute;
	left: 22.9%;
	top: 36	px;
	background-image: url('../static/img/menu_close_cross.svg'); 
	background-size: cover;
        z-index: 100;
        cursor: pointer;
}
}
.overlay nav {
	text-align: center;
	position: relative;
	top: 60%;
	height: 60%;
	font-size: 54px;
	-webkit-transform: translateY(-60%);
	transform: translateY(-60%);
}
.overlay ul {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	display: inline-block;
	height: 100%;
	position: relative;
}
.overlay ul li {
	display: block;
	height: 20%;
	height: calc(100% / 5);
	min-height: 54px;
}
.overlay ul li a {
	font-weight: 300;
	display: block;
	color: var(--font-color); 
        text-decoration:none;
	-webkit-transition: color 0.2s;
	transition: color 0.2s;
        text-transform:uppercase;
}
.overlay ul li a:hover {
	color: var(--link-color);
}
.overlay ul li a:focus {
	color: white;
}
.lower~.overlay-hugeinc{
	opacity: 0.5;
	visibility: hidden;
	-webkit-transition: opacity 0.5s, visibility 0s 0.5s;
	transition: opacity 0.5s, visibility 0s 0.5s;
}
#op:checked~.overlay-hugeinc{
	opacity: 1;
	visibility: visible;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
.overlay-hugeinc nav {
	-moz-perspective: 300px;
}
.overlay-hugeinc nav ul {
	opacity: 0.4;
	-webkit-transform: translateY(-25%) rotateX(35deg);
	transform: translateY(-25%) rotateX(35deg);
	-webkit-transition: -webkit-transform 0.8s, opacity 0.8s;
	transition: transform 0.8s, opacity 0.8s;
}
#op:checked~.overlay-hugeinc nav ul {
/*	width: 5em; */
	opacity: 1;
	-webkit-transform: rotateX(0deg);
}
#op:not(:checked)~.overlay-hugeinc nav ul {
/*        width: 5em; */
	-webkit-transform: translateY(25%) rotateX(-35deg);
	transform: translateY(25%) rotateX(-35deg);
}
