/* ==========================================================================
   Basis
   ========================================================================== */

html,
body {
  height: 100%;
  margin: 0;
  color: #303030;
  font-family: 'Inter', sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 1.4;
  background: rgb(174, 196, 199) url('../images/higru5.jpg') no-repeat center center fixed;
  background-size: cover;
}

/* ==========================================================================
   Typografie
   ========================================================================== */

h1, h2, h3, h4, h5,
.h3, .h4, .h5 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  color: #303030;
}

h1          { font-size: 3rem; margin-top: 0; }
h2, .h2     { font-size: 2.4rem; }
h3, .h3     { font-size: 2rem; }
h4, .h4,
.th4        { font-size: 1.6rem; }
h5, .h5     { font-size: 1.2rem; }

p {
  font-size: 1rem;
}

a {
  color: #63746c;
  text-decoration: none;
  transition: all 0.5s ease;
}

a:hover,
a:active {
  color: #303030;
}

.upc {
  text-transform: uppercase;
}

/* ==========================================================================
   Komponenten
   ========================================================================== */

.logo {
  max-height: 200px;
  width: 60%;
}

/* Kontaktliste: 1. Spalte so breit wie das längste Label */
.contact {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 0.5em;
  margin: 0 0 1em;
}

.contact dt,
.contact dd {
  margin: 0;
}

.contact a {
  color: inherit;
  text-decoration: none;
}

/* ==========================================================================
   Layout
   ========================================================================== */

.section-1,
.section-2 {
  justify-content: space-between;
  align-items: stretch;
}

.section-1 {
  padding: 50px 20px 0;
}

.section-2 {
  padding: 0 20px;
  font-size: 16px;
}

.left,
.right {
  flex: 1;
  padding: 0;
}

.right p {
  max-width: 750px;
}

.section-1 .right {
  padding-top: 50px;
}

.section-2 .right {
  display: none;
}

.section-2 p {
  font-size: 0.85rem;
  margin: 5px 0;
}

.section-2 .imp_space {
  padding: 0 5px;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */

/* Mobil */
@media (max-width: 767.98px) {
  .section-1,
  .section-2 {
    padding: 25px;
  }
}

/* Ab Tablet */
@media (min-width: 768px) {
  .container {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .section {
    display: flex;
  }

  .logo {
    width: 80%;
  }

  .left {
    padding: 0 75px 0 15px;
  }

  .right {
    padding: 0 25px 50px 75px;
  }

  .section-1 .left,
  .section-2 .left {
    border-right: 1px solid #fff;
    text-align: right;
  }

  .section-1 .left,
  .section-1 .right {
    margin-top: 100px;
  }

  .section-2 .right {
    display: flex;
  }
}

/* Desktop */
@media (min-width: 1220px) {
  .right {
    flex: 2;
  }
}