/* Everything */
:root {
  --font-family: "Nunito Sans", serif;
  cursor: auto;
  scroll-behavior: smooth;
}

[data-theme="light"],
:root:not([data-theme="dark"]) {
  --primary: rgb(59, 122, 190);
  --h1-color: var(--primary);
  --h2-color: var(--primary);
  --h3-color: hsl(205, 20%, 32%);
  --muted-color: var(--h3-color);
  --primary-hover: #7bc6ea;
}

[data-theme="dark"],
:root:not([data-theme="light"]) {
  --primary: rgb(59, 122, 190);
  --h1-color: var(--primary);
  --h2-color: var(--primary);
  --h3-color: hsl(205, 20%, 32%);
  --muted-color: var(--h3-color);
  --primary-hover: #7bc6ea;
}

/* Nav Bar */
.logo-top {
  width: 10rem;
  margin-right: 4rem;
}

nav {
  margin-top: 2rem;
  justify-content: left;
  --font-weight: bold;
  --font-size: 0.8rem;
  --nav-element-spacing-horizontal: 20px;
}

nav li a {
  border-radius: 0;
  --color: var(--h3-color);
}

nav li.selected a {
  --color: var(--primary);
}

nav li.selected a {
  border-bottom: 3px solid #3b7abe;
}

nav ul.nav-elements li a:hover {
  border-bottom: 3px solid var(--primary-hover);
}

.burger {
  display: none;
}

@media (max-width: 992px) {
  nav {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .burger {
    display: inherit;
  }
  nav ul.nav-elements {
    display: flex;
    flex-direction: column;
    align-items: end;
    width: 100vw;
    height: 0px;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
  }
  nav ul.nav-elements.open {
    height: 19.5rem;
    opacity: 100%;
    visibility: visible;
  }
}

/* Header */
h1 {
  --font-weight: 700;
  --font-size: 2.4rem;
  margin-top: 3rem;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

/* Header: Front Page */
.header-front {
  display: flex;
  gap: 6rem;
}

.header-front-img img {
  width: 6rem;
}
.header-front-img {
  display: flex;
  gap: 0.5rem;
  padding: 0 2rem;
}
@media screen and (max-width: 992px) {
  .header-front-img {
    display: none;
  }
}
.header-front-img div {
  width: 6rem;
}
.header-front-img .first img:nth-child(1) {
  rotate: 270deg;
  margin-bottom: 0.5rem;
  margin-top: 3.4rem;
}
.header-front-img .first img:nth-child(2) {
  transform: scaleX(-1);
  rotate: 270deg;
}
.header-front-img .second img:nth-child(1) {
  rotate: 90deg;
  margin-bottom: 0.5rem;
}

.header-with-img {
  display: flex;
  flex-direction: row;
  gap: 2rem;
  --h1-color: white;
  --h2-color: white
}
.header-with-img div:first-child {
  padding: var(--block-spacing-vertical) 0;
}
.header-with-img div:last-child {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding-right: 3rem;
}
.header-with-img img {
  max-width: 25rem;
}

.header-with-img h2 {
  --font-size: 1em; font-weight: 400;
}

@media screen and (max-width: 992px) {
  .header-with-img img {
    display: none;
  }
}

/* Blue Frame Container */
.blue-frame-container {
  background-color: #6295cb;
  color: white;
  position: relative;
  margin-bottom: 0;
}

.blue-frame-container > img {
  position: absolute;
  width: 4rem;
  filter: saturate(0) brightness(100);
  opacity: 20%;
}

.blue-frame-container img:nth-of-type(1) {
  bottom: 0;
  right: 0;
}
.blue-frame-container img:nth-of-type(2) {
  top: 0;
  rotate: 180deg;
}
.blue-frame-container img:nth-of-type(3) {
  right: 0;
  top: 0;
  width: 2rem;
  rotate: 180deg;
}
.blue-frame-container img:nth-of-type(4) {
  bottom: 0;
  width: 2rem;
}

.my-outline[role=button] {
  background: none;
  border-color: white;
  border-radius: 10px;
  border-width: 2px;
  padding: 0.2rem 1rem;
  font-size: 1.2rem;
}

.my-outline[role=button]:hover {
  background-color: rgba(255, 255, 255, 0.196);
}

/* Citation */
.citation {
  padding: 2rem;
  text-align: center;
}

.citation .cit-text {
  font-size: 1.2rem;
  font-weight: 300;
  margin-bottom: 0.5rem;
}
.citation .cit-author {
  font-size: 0.7rem;
  font-weight: 700;
}

/* Main Body */

body > main {
  padding-bottom: 0; /* TODO spacing unten weg */
}

main h3 {
  --font-size: 1.2rem;
  --font-weight: 300;
}

section, section.grid {
  margin-bottom: 4.5rem;
  font-size: 0.8rem;
  --grid-spacing-horizontal: 2rem;
}

table {
  font-size: 1rem;
}

.highlight-invited {
  background-color: #b6d7a8;
}

.highlight-submission {
  background-color: #a4c2f4;
}

section h2 {
  --font-weight: 600;
  --font-size: 2.1rem;
  line-height: 1.3;
  margin-top: 0;
}

section h3 {
  --font-weight: 700;
  margin-bottom: 1rem;
  --color: var(--primary);
}

section a {
  font-weight: 700;
}

/* White Frame Container */
.white-frame-container {
  position: relative;
  color: var(--primary);
  margin-bottom: 5rem;
  padding: 0 8rem;
}

.white-frame-container a:hover,a:active,a:focus {
  text-decoration: none;
  color: var(--primary-hover);
}

.white-frame-container img {
  width: 4rem;
  position: absolute;
}

@media (max-width: 1200px) {
  .white-frame-container {
    padding: 0;
  }

  .white-frame-container img {
    display: none;
  }
}

.white-frame-container img:nth-of-type(1) {
  top: 0;
  left: 0;
  rotate: 270deg;
  transform: scaleY(-1);
}
.white-frame-container img:nth-of-type(2) {
  top: 2.2rem;
  left: 2.2rem;
  transform: scaleX(-1);
}
.white-frame-container img:nth-of-type(3) {
  right: 2.2rem;
  top: 0;
  transform: scaleX(-1);
  rotate: 180deg;
}
.white-frame-container img:nth-of-type(4) {
  right: 0;
  top: 2.2rem;
  transform: scaleX(-1);
  rotate: 270deg;
}

footer {
  background-color: var(--primary);
  padding: 1.5rem 3rem !important;
  color: white;
  font-size: 0.7rem;
  font-weight: 700;
}
footer a {
  color: white;
  margin-right: 1rem;
}
footer > div {
  display: flex;
  justify-content: space-between;
}

#scroll-up {
  display: none;
  width: 3rem;
  height: 3rem;
  border-radius: 1.5rem;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  border: none;
  outline: none;
  background-color: var(--primary);
  color: white;
  cursor: pointer;
  padding: 15px;
  font-size: 18px;
}

#scroll-up:hover {
  background-color: var(--primary-hover);
}