/* Obere Apotheke Grafenau */

:root {
  --red: #f40000;
  --border-color: #e5e5e5;
  --type-size: 15px;
  --padding-mobile: 5vw;
}

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

html,
body {
  height: 100%;
}

body {
  overflow-x: hidden;
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
  font-size: var(--type-size);
  line-height: 1.7;
  color: #000;
}

h1,
h2,
h3 {
  font-size: var(--type-size);
}

a {
  text-decoration: none;
  color: #000;
}

[hidden] {
  display: none !important;
}

/* Logo */

.oag {
  display: block;
  font-family: Helvetica, Arial, sans-serif;
}

.oag h1 {
  margin: 30px 0 10px 0;
  font-size: 28px;
  line-height: 28px;
}

.oag p {
  margin: 0;
  font-size: 28px;
  line-height: 28px;
}

.apotheken-a {
  display: block;
  height: 100px;
}

/* Layout */

.footer {
  text-align: center;
  font-size: 12px;
}

@media only screen and (max-width: 799px) {

  body {
    font-size: 15px;
  }

  h1,
  h2,
  h3 {
    font-size: 16px;
  }

  .header {
    max-width: 1100px;
    margin: 140px auto 80px auto;
    padding: 0 calc(var(--padding-mobile) / 2);
  }

  .logo {
    margin-left: var(--padding-mobile);
    display: inline-block;
  }

  .container {
    margin: auto;
    padding: 0 calc(var(--padding-mobile) / 2) 40px calc(var(--padding-mobile) / 2);
  }

  .row {
    display: flex;
    flex-direction: column;
  }

  .spacer {
    display: none;
  }

  /* Reihenfolge der Boxen auf dem Handy: Status zuerst */
  .bb { order: 1; }
  .aa { order: 2; }
  .cc { order: 3; }
  .dd { order: 4; }
  .ee { order: 5; }
  .ff { order: 6; }

  .box {
    margin-bottom: calc(var(--padding-mobile) * 1.2);
  }

  .box.ff {
    margin-bottom: 0;
  }

  .box-empty {
    display: none;
  }

  .box-inner {
    border: 1px solid var(--border-color);
    border-radius: 4px;
    height: 100%;
    padding: var(--padding-mobile);
  }

  .call.active {
    display: block;
    padding: 10px 10px 8px 10px;
    margin: 5px auto 15px auto;
    background: var(--red);
    color: #fff;
    border-radius: 6px;
    text-align: center;
    font-weight: bold;
  }

  .call.active + br {
    display: none;
  }

  .footer {
    margin-top: 50px;
  }

}

@media only screen and (min-width: 800px) {

  .header {
    margin: 200px auto 80px auto;
    padding: 0 40px;
  }

  .header-inner {
    width: 48%;
  }

  .logo {
    margin-left: 10%;
    display: inline-block;
  }

  .container {
    margin: auto;
    padding: 40px 40px 10px 40px;
  }

  .row {
    display: flex;
    margin: 0 auto 50px auto;
    width: 100%;
  }

  .row-3 {
    margin-bottom: 0;
  }

  .box {
    width: 48%;
    border: 1px solid var(--border-color);
    border-radius: 4px;
  }

  .box-empty {
    border: none;
  }

  .last-box {
    margin-left: auto;
    border: none;
  }

  .last-box .box-inner {
    border: 1px solid var(--border-color);
    border-radius: 4px;
  }

  .spacer {
    width: 4%;
  }

  .box-inner {
    padding: 40px 10%;
    height: 100%;
  }

  .p-impressum .box-inner,
  .p-datenschutz .box-inner {
    padding: 40px 40px;
  }

}

@media only screen and (min-width: 1100px) {

  /* 1000px Inhaltsbreite + 2 × 60px Innenabstand (wegen box-sizing: border-box) */
  .header {
    max-width: calc(1000px + 2 * 60px);
    margin: 200px auto 100px auto;
    padding: 0 60px;
  }

  .header-inner {
    width: 47%;
  }

  .logo {
    margin-left: 13%;
  }

  .container {
    max-width: calc(1000px + 2 * 60px);
    padding: 40px 60px 10px 60px;
  }

  .row {
    margin: 0 auto 59px auto;
  }

  .box {
    width: 47%;
  }

  .last-box {
    width: 47%;
  }

  .spacer {
    width: 6%;
  }

  .box-inner {
    padding: 62px 13%;
  }

  .p-impressum .box-inner,
  .p-datenschutz .box-inner {
    padding: 40px 60px;
  }

}

/* Notdienst und Status */

.outbound-link {
  text-align: center;
  padding: 20px;
}

.outbound-link a {
  border-bottom: 1px dotted #000;
}

.notdienst-heading {
  display: block;
  margin-bottom: 7px;
}

.notdienst b {
  font-weight: normal;
}

.notdienst a {
  border-bottom: 1px dotted #000;
}

.notdienst-btn {
  background: var(--red);
  text-align: center;
}

.notdienst-btn a {
  color: #fff;
  border-bottom: 1px dotted #fff;
}

.status-2 .amplifier,
.status-4 .amplifier,
.status-5 .amplifier {
  color: var(--red);
}

.opening-hours .active {
  font-weight: bold;
}

.status {
  font-weight: bold;
}

/* Impressum und Datenschutz */

ul {
  margin: 30px 0;
  list-style: none;
}

li {
  margin: 5px 0;
  list-style: none;
}

.p-impressum .container a,
.p-datenschutz .container a {
  border-bottom: 1px dotted #000;
}

/* Eine Box über die volle Breite (auf der Startseite stehen sie zu zweit nebeneinander) */
.p-impressum .box,
.p-datenschutz .box {
  width: 100%;
}
