:root {
  // font families
  --font-main: 'AvenirNextMedium', 'Avenir Next', 'Avenir', sans-serif;
  --font-main-medium: 'AvenirNextMedium', 'Avenir Next', 'Avenir', sans-serif;
  --font-main-demi: 'AvenirNextDemi', 'Avenir Next', 'Avenir', sans-serif;
  --font-main-bold: 'AvenirNextBold', 'Avenir Next', 'Avenir', sans-serif;
  --font-main-italic: 'AvenirNextRegularItalic', 'Avenir Next', 'Avenir', sans-serif;
  --font-main-medium-italic: 'AvenirNextMediumItalic', 'Avenir Next', 'Avenir', sans-serif;
  --font-main-demi-italic: 'AvenirNextDemiItalic', 'Avenir Next', 'Avenir', sans-serif;
  --font-main-bold-italic: 'AvenirNextBoldItalic', 'Avenir Next', 'Avenir', sans-serif;
  --font-serif: 'p22-mackinac-pro', serif;

  // font sizes
  --font-size-xs: .66rem;
  --font-size-caption: .8rem;
  --font-size-body: 1rem;
  --font-size-lead: 1.4rem;
  --font-size-h3: 1.6rem;
  --font-size-h2: 1.8rem;
  --font-size-h1: 2.4rem;


  // colors

  // color palette
  --color-deepBrick: rgb(114, 3, 40);
  --color-neufPink: rgb(205, 150, 171);
  --color-betongGray: rgb(229, 226, 215);
  --color-goldenOrange: rgb(255, 105, 21);
  --color-goldenBeige: rgb(248, 188, 144);
  --color-chateauBlue: rgb(10, 15, 109);
  --color-chateauBlue-05: rgba(10, 15, 109, .5);
  --color-white: #fff;
  --color-black: rgb(22, 21, 22);

  // additional colors adjusted for web
  --color-betongGray-darkened: rgb(220, 216, 204);

  // colors in use
  --color-text: var(--color-chateauBlue);
  --color-background: var(--color-betongGray);
  --color-background-secondary: var(--color-betongGray-darkened);
  --color-button-bg: var(--color-goldenOrange);
  --color-button-fg: var(--color-black);
  --color-placeholder: var(--color-neufPink);
  --color-menu-text: var(--color-deepBrick);
  --color-menu-background: var(--color-goldenBeige);

  // spacing
  --spacing-sitepadding-block: 2rem;
  --spacing-sitepadding-inline: 2rem;
  --spacing-gap-column: 1.6rem;
  --spacing-gap-row: calc(var(--spacing-gap-column)* 0.6);
  --spacing-xs: .5rem;
  --spacing-s: 1rem;
  --spacing-m: 2rem;
  --spacing-l: 3rem;
  --spacing-xl: 4rem;
  --spacing-xxl: 6rem;
  --spacing-section-bottom: var(--spacing-l);

  // sizes
  --size-width-p: 36rem;
  --size-width-lead: 48rem;
  --size-width-pageheader: 54rem;
  --size-icon: 1em;
  --size-icon-circle: 2.4rem;
  --size-icon-large: 3.8rem;

  // animations
  --transition-easing: .3s ease;

  // borders
  --border: 1px solid var(--color-neufPink);
  --border-s: 1px solid var(--color-chateauBlue-05);
}

@media (min-width: 1400px) {
  :root {
    --spacing-sitepadding-block: 2.4rem;
    --spacing-sitepadding-inline: 6rem;
  }
}

@media (min-width: 1800px) {
  :root {
    --spacing-sitepadding-block: 3rem;
    --spacing-sitepadding-inline: 10rem;
  }
}

@media (max-width: 600px) {
  :root {
    // font sizes
    --font-size-xs: .8rem;
    --font-size-caption: .9rem;
    --font-size-body: 1rem;
    --font-size-lead: 1.2rem;
    --font-size-h3: 1.3rem;
    --font-size-h2: 1.6rem;
    --font-size-h1: 2rem;

    // spacing
    --spacing-sitepadding-block: 1.6rem;
    --spacing-sitepadding-inline: 1rem;
    --spacing-gap-column: var(--spacing-sitepadding-block);
    --spacing-gap-row: var(--spacing-sitepadding-block);
    --spacing-xs: .5rem;
    --spacing-s: 1rem;
    --spacing-m: 1.4rem;
    --spacing-l: 1.8rem;
    --spacing-xl: 3rem;
    --spacing-section-bottom: var(--spacing-l);

    // sizes
    --size-width-p: 36rem;
    --size-icon: 1em;
    --size-icon-circle: 2rem;
    --size-icon-large: 3rem;
  }
}