@font-face {
  font-family: "Roboto Condensed";
  src: url("/fonts/RobotoCondensed-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto Condensed";
  src: url("/fonts/RobotoCondensed-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --sw-static-bg: #004560;
  --sw-static-dark: #002a3b;
  --sw-static-panel: #004f69;
  --sw-static-panel-2: #005b78;
  --sw-static-cyan: #089fb8;
  --sw-static-text: #ffffff;
  --sw-static-muted: #c7e7ef;
  --sw-static-yellow: #ffed00;
  --sw-static-line: rgba(255, 255, 255, .18);
}

* { box-sizing: border-box; }

html,
body {
  margin: 0;
  min-height: 100%;
  background: var(--sw-static-bg);
  color: var(--sw-static-text);
  font-family: "Roboto Condensed", Arial, sans-serif;
}

body.page-impressum {
  min-height: 100vh;
  overflow-x: hidden;
}

body.page-impressum a {
  color: var(--sw-static-yellow);
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.page-impressum button,
body.page-impressum input,
body.page-impressum select,
body.page-impressum textarea {
  font-family: "Roboto Condensed", Arial, sans-serif;
}

.sw-impressum-page {
  width: 100%;
  min-height: calc(100vh - 72px);
  background: var(--sw-static-bg);
}

.sw-impressum-section {
  width: 100%;
  padding: 42px 10px 64px;
}

.sw-impressum-content {
  width: 710px;
  max-width: 100%;
  margin: 0 auto;
  color: #fff;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 16px;
  line-height: 23px;
}

.sw-impressum-content h1,
.sw-impressum-content h2,
.sw-impressum-content p {
  margin: 0;
}

.sw-impressum-content .section-header {
  color: #fff;
  font-size: 30px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.sw-impressum-card {
  background: var(--sw-static-panel);
  border: 1px solid var(--sw-static-line);
  margin: 0 0 16px;
  padding: 22px 24px;
}

.sw-impressum-card h2 {
  color: #fff;
  font-size: 24px;
  line-height: 1.05;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0 0 12px;
}

.sw-impressum-card p {
  margin-bottom: 12px;
  color: #fff;
  font-size: 16px;
  line-height: 23px;
}

.sw-impressum-card p:last-child {
  margin-bottom: 0;
}

.sw-impressum-table {
  margin-top: 18px;
  border-top: 1px solid var(--sw-static-line);
}

.sw-impressum-row {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 20px;
  min-height: 46px;
  align-items: center;
  border-bottom: 1px solid var(--sw-static-line);
}

.sw-impressum-label {
  color: var(--sw-static-muted);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
}

.sw-impressum-value {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.sw-impressum-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.sw-impressum-contact {
  display: flex;
  flex-direction: column;
  min-height: 80px;
  justify-content: center;
  background: var(--sw-static-panel-2);
  border: 1px solid rgba(255, 255, 255, .16);
  padding: 14px 16px;
  text-decoration: none !important;
}

.sw-impressum-contact:hover,
.sw-impressum-contact:focus {
  background: #006b8a;
}

.sw-impressum-contact-title {
  color: #fff;
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.sw-impressum-contact-text {
  color: var(--sw-static-yellow);
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
}

body.page-impressum #footer-section {
  background: #002a3b;
  color: #fff;
  padding: 0 16px;
}

body.page-impressum #footer-section * {
  box-sizing: border-box;
  font-family: "Roboto Condensed", Arial, sans-serif;
}

body.page-impressum #footer-section a {
  color: #fff;
  text-decoration: none;
}

body.page-impressum #footer-section a:hover,
body.page-impressum #footer-section a:focus {
  color: #ffed00;
}

body.page-impressum #footer-payment-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 30px 0;
}

body.page-impressum #footer-payment-logos svg {
  height: 46px;
  width: auto;
  fill: #fff;
  color: #fff;
}

body.page-impressum #official-partners .inner,
body.page-impressum #combined-section.inner,
body.page-impressum #payments .inner,
body.page-impressum #disclaimer.inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 30px 0;
}

body.page-impressum #combined-section.inner,
body.page-impressum #combined-section.links {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

body.page-impressum #combined-section.links .section {
  min-width: 140px;
}

body.page-impressum #combined-section.links ul,
body.page-impressum #combined-section.links li {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.page-impressum #combined-section.links li {
  padding: 5px 0;
}

body.page-impressum #footer-section h3 {
  margin: 10px 0 12px;
  color: #fff;
  font-size: 18px;
  line-height: 1.1;
  text-transform: uppercase;
}

body.page-impressum #footer-section .social {
  display: flex;
  align-items: center;
  gap: 10px;
}

body.page-impressum #footer-section .social.mobile {
  justify-content: center;
  margin: 0 auto 22px;
}

body.page-impressum #footer-section .social.desktop img,
body.page-impressum #footer-section .social.mobile img {
  width: 35px;
  height: 35px;
  display: block;
}

body.page-impressum #footer-section #logos,
body.page-impressum #footer-section .section.utility {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.page-impressum #footer-section .section.utility img.ggl,
body.page-impressum #footer-section .section.utility a .ggl {
  width: 150px;
  max-width: 100%;
  height: auto;
}

body.page-impressum #footer-section .legal-age-icon img {
  width: 48px;
  height: 48px;
}

body.page-impressum #footer-section #disclaimer {
  color: #c7dbe1;
  font-size: 13px;
  line-height: 18px;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

@media (max-width: 1279px) {
  .sw-impressum-section {
    padding: 22px 10px 76px;
  }

  .sw-impressum-content {
    width: 100%;
    max-width: 710px;
    padding: 0 5px;
    font-size: 15px;
    line-height: 22px;
  }

  .sw-impressum-content .section-header {
    font-size: 24px;
    margin-bottom: 14px;
  }

  .sw-impressum-card {
    padding: 18px 16px;
  }

  .sw-impressum-card h2 {
    font-size: 21px;
  }
}

@media (max-width: 767px) {
  body.page-impressum {
    background: #003545;
  }

  .sw-impressum-page {
    background: #003545;
    min-height: calc(100vh - 94px);
  }

  .sw-impressum-section {
    padding: 14px 0 78px;
  }

  .sw-impressum-content {
    padding: 0 10px;
    font-size: 14px;
    line-height: 20px;
  }

  .sw-impressum-content .section-header {
    font-size: 20px;
    text-align: left;
    margin: 0 0 12px;
  }

  .sw-impressum-card {
    padding: 15px 14px;
    margin-bottom: 10px;
  }

  .sw-impressum-card h2 {
    font-size: 19px;
    margin-bottom: 10px;
  }

  .sw-impressum-card p {
    font-size: 14px;
    line-height: 20px;
  }

  .sw-impressum-row {
    display: block;
    padding: 10px 0;
    min-height: 0;
  }

  .sw-impressum-label {
    margin-bottom: 4px;
    font-size: 12px;
  }

  .sw-impressum-value {
    font-size: 15px;
  }

  .sw-impressum-contact-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .sw-impressum-contact {
    min-height: 68px;
  }

  body.page-impressum #footer-section {
    display: none;
  }
}
