/*  This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program. If not, see <https://www.gnu.org/licenses/>. */

:root {
  --background: #19191c;
  --foreground: white;
  --accent:     #ffe34e;

  --picture-gallery-width: min(90%, 70vh);
}

body {
  padding: 1em;
  margin: 0;

  background: var(--background);
  color: var(--foreground);

  font-size: 12pt;
  /* line-height: 17pt; */
  font-family: sans-serif;
}

@media (min-width: 800px) {
  body {
    padding: 1em 15vw;
  }
}

main {
  padding: 1em 0 2em 0;
}

main > *:first-child {
  margin-top: 0;
}

main > *:last-child {
  margin-bottom: 0;
}

footer {
  text-align: center;
}

p {
  margin-top: 1em;
}

a {
  color: #c3e0ff;
  text-decoration: underline;
}

ul {
  list-style-type: square;
  padding-left: 1em;
}

ul li::marker, ol li::marker {
  font-weight: bold;
  font-style: normal;
  color: var(--accent);
}

h1, h2, h3, h4, h5, h6 { color: var(--accent); }

img {
  max-width: 100%;
  max-height: 100%;
}

figure {
  margin: 1em 0 0 0;
}

figcaption {
  margin-top: 12pt;
  text-align: center;
  font-style: italic;
}

#gallery {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 1em;

  margin-bottom: 1em;
}

@media (min-width: 800px) {
  #gallery {
    grid-template-columns: 1fr 1fr;
  }
}

.picture-container {
}

.picture-container {
  aspect-ratio: 1;
  display: block;

  max-width: 100%;
  border-radius: 6pt;

  background: white;
  color: var(--background);
  padding: 1em;
}

.picture-container img {
  width: 100%;
  height: 100%;

  object-fit: contain;
}

#picture > * {
  width: 100%;
}

@media (min-width: 800px) {
  #picture {
    display: flex;
  }

  #picture > * {
    margin: 0 auto;
    width: var(--picture-gallery-width);
  }
}

#picture-nav ul {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

#picture-nav ul li {
  margin-left: 7pt;
}

#picture-nav ul li:first-child {
  margin-left: 0;
}

#picture-nav ul li a {
  color: var(--accent);
}

.picture-title {
  text-align: center;
}
