/* arvo-700 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Arvo";
  font-style: normal;
  font-weight: 700;
  src:
    url("../fonts/arvo-v20-latin-700.woff2") format("woff2"),
    /* Chrome 36+, Opera 23+, Firefox 39+ */
    url("../fonts/arvo-v20-latin-700.woff") format("woff");
  /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* inter-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  src:
    url("../fonts/inter-v12-latin-regular.woff2") format("woff2"),
    /* Chrome 36+, Opera 23+, Firefox 39+ */
    url("../fonts/inter-v12-latin-regular.woff") format("woff");
  /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* inter-700 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  src:
    url("../fonts/inter-v12-latin-700.woff2") format("woff2"),
    /* Chrome 36+, Opera 23+, Firefox 39+ */
    url("../fonts/inter-v12-latin-700.woff") format("woff");
  /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

@property --grad1 {
  syntax: "<color>";
  initial-value: rgba(255, 120, 120, 0%);
  inherits: false;
}

@property --grad2 {
  syntax: "<color>";
  initial-value: rgba(120, 120, 255, 0%);
  inherits: false;
}

:root {
  --color-dark: #000000;
  --color-light: #ffffff;
  --color-primary: #fd308f;
  --color-secondary: #00ffcf;
  --ff-main:
    Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  --ff-alt: Arvo, Georgia, "Times New Roman", Times, serif;
  --deg: 60;
}

::selection {
  color: var(--color-light);
  background: var(--color-primary);
}

body {
  font-family: var(--ff-main);
  background: linear-gradient(45deg,
      rgba(255, 0, 0, 50%),
      rgba(0, 0, 255, 50%));
  min-height: 100vh;
  margin: 0;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
}

body * {
  box-sizing: border-box;
}



header {
  position: sticky;
  /* top: 0; */
  top: -2px;
  --grad1: rgba(255, 120, 120, 0%);
  --grad2: rgba(120, 120, 255, 0%);
  background: linear-gradient(45deg, var(--grad1), var(--grad2));
  transition:
    --grad1 0.5s,
    --grad2 0.5s;
}

/* für alte browser */
header.unsticky {
  position: relative;
}

header[stuck] {
  /* background-color: white;   */
  --grad1: rgba(255, 120, 120, 100%);
  --grad2: rgba(120, 120, 255, 100%);
  /* background: linear-gradient(45deg, var(--grad1), var(--grad2));
  animation: fade-in 0.5s; */
}

header[stuck] h1 {
  /* color:black; */
}

@keyframes fade-in {
  from {
    --grad1: rgba(255, 120, 120, 0%);
    --grad2: rgba(120, 120, 255, 0%);
  }

  to {
    --grad1: rgba(255, 120, 120, 100%);
    --grad2: rgba(120, 120, 255, 100%);
  }
}

h1 {
  color: var(--color-light);
  font-size: 56px;
  margin-top: 2em;
  margin-bottom: 1em;
  margin-left: 3em;
  font-weight: 700;
}

.logo a {
  color: white;
  text-decoration: none;
  border: 4px solid transparent;
  padding: 4px;
  transition: 20s filter linear;
}

.logo a:hover {
  border: 4px solid hsl(var(--deg), 100%, 40%);
  filter: hue-rotate(1360deg);
  border-radius: 6px;
  box-shadow: 0 0 1em yellow;
}

h1 .u {
  /* font-style: italic; */
}

h1 .l {
  /* font-style: italic; */
}

h1 span {}

main,
nav,
aside,
section,
article {
  padding: 1em;
}

main.dates {
  padding: 0;
  width: 100%;
}

article {
  background-color: rgba(255, 255, 255, 60%);
}

section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;

  -ms-flex-flow: row wrap;
  flex-flow: row wrap;

  -webkit-flex-wrap: wrap;
  gap: 1em;

  background-color: rgba(255, 255, 255, 80%);
  min-width: 300px;
  width: 100%;
  /* min-height: 300px; */

  border-bottom: 2px solid white;
}

section .when {
  width: 200px;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 0%;
  flex: 0 0 0%;

  font-size: 3rem;
  line-height: 1;
  text-transform: uppercase;
  word-wrap: break-word;
}

section .bild {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 0%;
  flex: 0 0 0%;
  width: 200px;
}

.bild img {
  max-width: 200px;
  height: auto;
}

section .details {
  /* padding-left: 1em; */
  min-width: 350px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

section h2 {
  font-size: 2.5rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1rem;
  font-weight: 700;
  word-wrap: break-word;
}

@media (min-width: 600px) {

  section h2,
  section .when {
    font-size: 4rem;
  }
}

section strong {
  font-family: var(--ff-alt);
  font-weight: 900;
  /* background-color: white; */
  padding: 0 3px;
}

aside {
  background-color: var(--color-dark);

  color: var(--color-light);

  margin: 2em 0;
}

aside img {
  max-width: 100%;
  width: 50%;
  height: auto;
}

footer {
  position: relative;
  min-height: 200px;
  background-image: url(../gfx/lux-blink-small-pano-ani-xs.gif);
  background-size: cover;
}

p,
li {
  max-width: 50ch;
}

@media (min-width: 600px) {
  section {
    /* flex-wrap: nowrap; */
  }

  footer {
    min-height: 600px;
    background-size: cover;
  }

  nav {
    position: relative;
    padding: 1em;
  }
}

article.gallery_page {
  background-color: white;
}

/*
https://css-tricks.com/adaptive-photo-layout-with-flexbox/
https://egghead.io/lessons/flexbox-create-an-automatically-responsive-flexbox-gallery
*/

.gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gallery:after {
  content: "";
  display: block;
  flex-grow: 10;
}

.gallery div {
  /* height: 40vh; */
  flex-grow: 1;
}

.gallery div img {
  max-height: 100%;
  width: 100%;
  object-fit: cover;
  vertical-align: bottom;
}

.gallery div:last-child {
  flex-grow: 10;
}

@media (max-aspect-ratio: 1/1) {
  .gallery div {
    /* height: 30vh; */
  }
}

@media (max-height: 480px) {
  .gallery div {
    /* height: 80vh; */
  }
}

@media (max-aspect-ratio: 1/1) and (max-width: 480px) {
  .gallery {
    flex-direction: row;
  }

  .gallery div {
    /* height: auto; */
    width: 100%;
  }

  .gallery img {
    width: 100%;
    max-height: 75vh;
    min-width: 0;
  }
}