/* =========================================
Dokumentstruktur:
1. CSS-Reset
2. Fonts
3. Variablen
4. Layout
5. Typografie
6. Komponenten
7. Media Queries
   ========================================= */



/* =========================================
   1. CSS-Reset
   ========================================= */

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html, body {
  height: 100%;
}

html {
    /* Minimum 16px, mittlerer Wert 1.5vw (viewport width) +1rem, Maximum 18px. */
    font-size: clamp(15px, 1.5vw + 1rem, 18px);
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}



/* =========================================
   2. Fonts
   ========================================= */

/* inter-300 - 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: 300;
  src: url('../fonts/inter/inter-v20-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-300italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/inter/inter-v20-latin-300italic.woff2') format('woff2');
}

/* inter-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/inter/inter-v20-latin-regular.woff2') format('woff2');
}

/* inter-italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/inter/inter-v20-latin-italic.woff2') format('woff2');
}

/* inter-600 - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/inter/inter-v20-latin-600.woff2') format('woff2');
}

/* noto-sans-symbols-2-regular - latin */
/* Für die Pfeile */
@font-face {
  font-display: swap;
  font-family: 'Noto Sans Symbols 2';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/noto-sans-symbols-2-v25-latin-regular.woff2') format('woff2');
}




/* =========================================
   3. Variablen
   ========================================= */

:root {
  --color-bg: #1F1E1C;
  --color-text: #E8E6E3;
  --color-heading: #A7A39E;
  --color-accent: #D08B55;
  --color-image-border: #D8D5D2;

  --font-main: "Inter", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-arrows: "Noto Sans Symbols 2", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

  --font-weight-dark-bg: 300;
}



/* =========================================
   4. Layout
   ========================================= */

body {
    font-family: var(--font-main);
    font-weight: var(--font-weight-dark-bg);
    line-height: 1.6;
    background-color: var(--color-bg);
    color: var(--color-text);
}

header, main, footer {
    max-width: 700px;
    text-align: left;
    margin: 0 auto;
    padding: 0 20px;
}

header {
  margin-top: 60px;
  margin-bottom: 60px;
}

section {
  margin-bottom: 30px;
}

.two-column {
    display: flex;
    align-items: flex-start;
}

.two-column .left {
    width: 100px;
    text-align: right;
    padding-right: 30px;
    flex-shrink: 0;
}

.two-column .right {
    flex: 1;
}

.two-column h3 {
    margin: 3px 0 0 0;
    font-family: var(--font-main);
    font-size: 13px;
    font-weight: normal;
    color: var(--color-heading);
    border: none;
}

footer {
    text-align: left;
    padding-bottom: 60px;
}



/* =========================================
   5. Typografie
   ========================================= */

p, ul{
    margin-bottom: 10px;
}

ul {
    list-style: none;
    list-style-position: outside;
    padding-left: 1.5em;
}

li {
  position: relative; /*Damit ein simuliertes list-style-position: outside im li::before funktioniert. */
}

li::before {
  content: '';
  position: absolute;
  left: -1.5em;
  top: 0.4em;
  width: 1em;
  height: 1em;
  background-color: var(--color-accent);
  mask-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="M4 16 L26 16 M18 8 L26 16 L18 24" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg>');
  mask-size: contain;
  mask-repeat: no-repeat;
  margin-right: 0.5em;
}

sup {
    vertical-align: super;
    font-size: .7em;
}

a:link,
a:visited,
a:hover {
    text-decoration: none;
    color: var(--color-accent);
}

a::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: var(--color-accent);
  /* Pfeil nach rechts oben */
  mask-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="M8 24 L24 8 M12 8 L24 8 L24 20" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg>');
  mask-size: contain;
  mask-repeat: no-repeat;
  margin-left: 0.2em;
  vertical-align: middle;
}

header h1 {
    font-family: var(--font-main);
    font-size: 24px;
    font-weight: 600;
}

header h2 {
    font-family: var(--font-main);
    /* Minimum 16px, mittlerer Wert 1.5vw (viewport width) +1rem, Maximum 18px. */
    font-size: clamp(15px, 1.5vw + 1rem, 18px);
    font-weight: 400;
    font-weight: normal;
    color: var(--color-heading);
}



/* =========================================
   6. Komponenten
   ========================================= */

.profile-image {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 6px solid var(--color-image-border);
  object-fit: cover;
  margin-bottom: 20px;
}

.small {
    font-size: 12px;
}

.ende {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.symbols {
    font-size: .75em;
}



/* =========================================
   7. Media-Queries
   ========================================= */

@media (max-width: 600px) {
    .two-column {
        flex-direction: column;
    }

    .two-column .left {
        width: 100%;
        text-align: left;
        padding-right: 0;
        margin-bottom: 20px;
    }
}