/* DEFAULTS =================================================================*/
/* Werden an diversen Stellen wiederverwendet                                */


/* Variablen */
:root {
  --space:                                                               .7rem;
  --barespace:                                                              .7;

  --content-width:                                                       64rem;
  /* Breakpoints                                                             */
  /* - 1920 px                                                        120rem */
  /* - 1040 px                                                         65rem */
  /* -  768 px                                                         48rem */
  /* -  576 px                                                         36rem */
  /* -  480 px                                                         30rem */
  /* -  384 px                                                         24rem */
  
  --font-size_xxs:                                      calc(var(--space)*1.2);
  --font-size_xs:                                       calc(var(--space)*1.4);
  --font-size_s:                                        calc(var(--space)*1.6);
  --font-size_m:                                        calc(var(--space)*1.8);
  --font-size_l:                                        calc(var(--space)*2.3);
  --font-size_xl:                                       calc(var(--space)*2.6);
  --font-size_xxl:                                      calc(var(--space)*3.2);
  --font-size_xxxl:                                     calc(var(--space)*3.5);

  --color-white:                                                       #ffffff;
  --color-white-off:                                                   #E3E3E3;
  --color-white-transparent:                              rgba(255,255,255,.5);
  --color-white-transparent-highlight:                    rgba(255,255,255,.2);
  --color-grey-dark:                                                   #444444;
  --color-grey-light:                                                  #D4D4D4;
  --color-black:                                                       #000000;
  --color-line1:                                                       #DAE2E5;
  --color-line2:                                                       #F4F4F4;
  --color-blue-green-light:                                            #E1E7E9;
  --color-blue-green:                                                  #346274;
  --color-blue-green-dark:                                             #114256;
  --color-yellow:                                                      #FF8700;
}


/* Entfernen von default margin and padding */
* {
  margin: 0;
  padding: 0;
}


/* Konsistenz der Rahmenrahmengröße */
*, 
*::before, 
*::after {
  box-sizing: border-box;
}


/* Scroll-Verhalten*/
html:focus-within {
  scroll-behavior: smooth;
}


/* Basic Layout */
body {
  color:var(--color-grey-dark);
  font-family: sans-serif, helvetica, verdana, arial;
  font-size: var(--font-size_m);
  hyphens: auto;
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}


main {
  padding: calc(var(--space)*4) 0;
}

main h2 {
  margin: calc(var(--space)*4) 0;

}

/* Media Query <= 1040px */
@media screen and (max-width: 65rem) {
  main h2 {
    text-align: left;
  }
}

/* Media Query <= 384px */
@media screen and (max-width: 24rem) {
  main .wrapper {
    padding: 0 calc(var(--space)*2);
  }
}


/* Inhaltsbereich */
.wrapper {
  margin: 0 auto;
  max-width: var(--content-width);
  overflow: hidden;
  padding: 0 calc(var(--space)*2);
}

/* Media Query <= 384px */
@media screen and (max-width: 24rem) {
  .wrapper {
    padding: 0;
  }
}


/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-blue-green-dark);
  font-family: verdana, helvetica, arial, sans-serif;
  font-weight: 500;
  overflow-wrap: break-word;
  text-wrap: balance;
}

h2 {
  font-size: var(--font-size_l);
  margin: 0 0 calc(var(--space)*2);
}

/* Media Query <= 1040px */
@media screen and (max-width: 65rem) {
  h2 {
    text-align: center;
  }
}

h3 {
  font-size: var(--font-size_m);
  margin: 0 0 calc(var(--space)*1.5);
}

h4 {
  font-size: var(--font-size_s);
  margin: var(--space) 0 calc(var(--space)*1.3);
}


/* Paragraphen */
p {
  margin: 0 0 calc(var(--space)*2);
  overflow-wrap: break-word;
}

p:last-child {
  margin: 0;
}


/* Anchors */
a {
  color: var(--color-blue-green-dark);
  text-decoration: underline;
  text-underline-offset: calc(var(--space)/3.1);
}
  
a:active,
a:hover {
  color: var(--color-blue-green);
}


/* Listen */
ul, ol {
  list-style: none;
}


/* Button */
.button {
  border-radius: var(--space);
  font-family: verdana, helvetica, arial, sans-serif;
  padding: calc(var(--space)*1.25);
  text-decoration: none;
}

/* Sektionen */
section {
  padding: calc(var(--space)*4) calc(var(--space)*2) calc(var(--space)*6);
}


/* Bilder neben Text */
div.flex {
  display: flex;
  gap: 0 calc(var(--space)*4);
}

div.flex img {
  margin-top: calc(var(--space)/2);
}


/* SPECIFICS =============================================================== */
/* Inhaltsspezifische Styles, welches sich nicht wiederholen.                */

/* Logo & Navigation */
.top {
  align-items: center;
  background: var(--color-blue-green);
  display: flex;
  gap: calc(var(--space)*2);
  height: calc(var(--space)*9);
  justify-content: space-between;
  padding: 0 calc(var(--space)*2);
}

/* Media Query <= 384px */
@media screen and (max-width: 24rem) {
  .top {
    flex-direction: column;
    gap: var(--space);
    height: auto;
    padding: var(--space);
  }
}


/* Logo */
.top a[itemprop~=url] {
  flex-grow: 1;
  text-decoration: none;
}

.top .title {
  align-items: center;
  display: flex;
  gap: var(--space);
  padding: var(--space);
}

.top .title h1,
.top .title span {
  color: var(--color-white);
  flex-grow: 1;
}

.top .title span[itemprop="name"]:after {
  content: ",\00a0";
}

.top .title h1 span,
.top .title span {
  font-size: var(--font-size_xxxl);
}

.top .title img {
  height: calc(var(--space)*7);
  width: auto;
}

/* Media Query <= 1040px */
@media screen and (max-width: 65rem) {
  .top .title h1 span,
  .top .title span {
    font-size: var(--font-size_xl);
    display: block;
    text-align: center;
  }
  .top .title span[itemprop="name"]:after {
    content: "";
  }
}

/* Media Query <= 768px */
@media screen and (max-width: 48rem) {
  .top .title span[itemprop="jobTitle"] {
    font-size: var(--font-size_m);
  }
}

/* Media Query <= 576px */
@media screen and (max-width: 36rem) {
  .top title span {
    line-height: 1.25;
  }
  .top .title span[itemprop="jobTitle"] {
    font-size: var(--font-size_s);
    display: block;
  }
  .top .title img {
    height: calc(var(--space)*6);
  }
}

/* Media Query <= 480px */
@media screen and (max-width: 30rem) {
  .top title span {
    line-height: 1.25;
  }
  .top .title span[itemprop="name"] {
    font-size: var(--font-size_m);
  }
  .top .title span[itemprop="jobTitle"] {
    font-size: var(--font-size_xxs);
  }
  .top .title img {
    height: calc(var(--space)*5);
  }
}

/* Media Query <= 288px */
@media screen and (max-width: 18rem) {
  .top .title {
    flex-direction: column;
  }
  .top .title span {
    text-align: center;
  }
  .top .title span[itemprop="name"]:after {
    content: "";
  }
}


/* Navigation */
.navigation-global {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

/* Verstecken der Checkbox */
.navigation-global__menu-toggle {
  display: none;
}

/* --- Burger Button --- */
.navigation-global__menu-button-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  cursor: pointer;
}

.navigation-global__menu-icon,
.navigation-global__menu-icon::before,
.navigation-global__menu-icon::after {
  content: "";
  display: block;
  width: 24px;
  height: 3px;
  background-color: #fff;
  border-radius: 2px;
  transition: all 0.3s ease;
  position: relative;
}

.navigation-global__menu-icon::before {
  position: absolute;
  top: -8px;
}

.navigation-global__menu-icon::after {
  position: absolute;
  top: 8px;
}

/* Burger Transformation */
.navigation-global__menu-toggle:checked
  + .navigation-global__menu-button-container
  .navigation-global__menu-icon {
  background: transparent;
}

.navigation-global__menu-toggle:checked
  + .navigation-global__menu-button-container
  .navigation-global__menu-icon::before {
  top: 0;
  transform: rotate(45deg);
}

.navigation-global__menu-toggle:checked
  + .navigation-global__menu-button-container
  .navigation-global__menu-icon::after {
  transform: rotate(-45deg);
  top: 0;
}

/* Dropdown Menu */
.navigation-global ul {
  background: var(--color-blue-green-dark);
  box-shadow: 0 var(--space) var(--space) rgba(0, 0, 0, 0.3);
  display: none;
  flex-direction: column;
  list-style: none;
  position: absolute;
  top: calc(var(--space)*6);
  z-index: 1000;
}

/* Media Query <= 384px */
@media screen and (max-width: 24rem) {
  .navigation-global__menu-toggle:checked ~ ul {
    background: var(--color-blue-green-dark);
    top: calc(var(--space)*4);
    width: 100vw;
  }
}

/* Menu anzeigen wenn checked */
.navigation-global__menu-toggle:checked ~ ul {
  display: flex;
}

/* Links */
.navigation-global ul li a {
  border-top: calc(var(--space)/7) solid var(--color-blue-green);
  color: var(--color-white);
  display: block;
  padding: var(--space) calc(var(--space)*2);
  text-decoration: none;
  transition: background-color 0.3s ease;
  white-space: nowrap;
}

.navigation-global ul li a:hover,
.navigation-global ul li a:focus {
  background: var(--color-blue-green);
}

.navigation-global ul li a[hreflang] {
  background-color: var(--color-black);
  background-image: url('../graphics/language-switch.svg');
  background-repeat: no-repeat;
  background-position: calc(var(--space)*2) center;
  background-size: 1em;
  padding-left: calc(var(--space)*5);
}

.navigation-global ul li a[hreflang]:hover {
  background-color: var(--color-grey-dark);
}

/* Media Query <= 384px */
@media screen and (max-width: 24rem) {
  .navigation-global {
    align-items: stretch;
    width: 100vw;
  }
  .navigation-global__menu-toggle:checked ~ ul {
    width: 100%;
  }
  .navigation-global__menu-toggle:checked ~ ul li a {
    text-align: center;
  }
  .navigation-global ul li a:hover,
  .navigation-global ul li a:focus {
    background: none;
  }
  .navigation-global ul li a[hreflang] {
    padding-left: calc(var(--space)*2);
  }
}


/* Header */
header.website-header {
  background-image: url("../images/google-ads-sea-freelancer-hamburg-tobias-duering-2570x680.webp");
  background-position: center right;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc(var(--space)*4);
  position: relative;
  height: calc(var(--space)*60);
  width: 100%;
}

header.website-header h2,
header.website-header .vorteile li {
  background: var(--color-white-transparent);
  color: var(--color-black);
  padding: calc(var(--space)/2) var(--space);
}

header.website-header h2 {
  font-size: var(--font-size_xxl);
  display: inline-block;
  position: absolute;
  top: calc(var(--space)*11);
  left: calc(var(--space)*4);
}

header.website-header .vorteile {
  display: flex;
  font-size: var(--font-size_xl);
  flex-direction: column;
  gap: calc(var(--space)/2);
  position: absolute;
  top: calc(var(--space)*18);
  left: calc(var(--space)*4);
}

header.website-header .vorteile li {
  align-items: center;
  display: flex;
  padding-left: calc(var(--space)*1.5);
  position: relative;
}

header.website-header .vorteile li:before {
  color: var(--color-blue-green);
  content: "";
  background-image: url('../graphics/checkmark.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: inline-block;
  width: calc(var(--space)*2);
  height: 1em;
  margin-right: 0.5em;
  left: var(--space);
  position: static;
}

header.website-header a.button {
  background: var(--color-blue-green);
  bottom: calc(var(--space)*4);
  color: var(--color-white);
  font-size: var(--font-size_l);
  position: absolute;
  right: calc(var(--space)*8);
}

header.website-header .button:active,
header.website-header .button:hover {
  background: var(--color-white);
  color: var(--color-blue-green-dark);
}

/* Media Query <= 1040px */
@media screen and (max-width: 65rem) {
  header.website-header {
    background-position: bottom right;
    height: calc(var(--space)*55);
  }
  header.website-header h2 {
    font-size: var(--font-size_xxl);
    top: calc(var(--space)*11);
  }
  header.website-header .vorteile {
    font-size: var(--font-size_xl);
    top: calc(var(--space)*18);
  }
}

/* Media Query <= 1920px */
@media screen and (max-width: 120rem) {
  background-image: url("../images/google-ads-sea-freelancer-hamburg-tobias-duering-1920x740.webp");
}

/* Media Query <= 896px */
@media screen and (max-width: 56rem) {
  header.website-header {
    background-image: url("../images/google-ads-sea-freelancer-hamburg-tobias-duering-1000x560.webp");
    height: calc(var(--space)*50);
  }
  header.website-header h2 {
    font-size: var(--font-size_xl);
    top: calc(var(--space)*8);
  }
  header.website-header .vorteile {
    font-size: var(--font-size_l);
    top: calc(var(--space)*14);
  }
}

/* Media Query <= 768px */
@media screen and (max-width: 48rem) {
  header.website-header {
    background-image: url("../images/google-ads-sea-freelancer-hamburg-tobias-duering-800x560.webp");
    background-position: center right;
    height: calc(var(--space)*45);
  }
  header.website-header h2 {
    font-size: var(--font-size_l);
    top: calc(var(--space)*6);
  }
  header.website-header .vorteile {
    font-size: var(--font-size_m);
    top: calc(var(--space)*11);
  }
}

/* Media Query <= 576px */
@media screen and (max-width: 36rem) {
  header.website-header {
    background-image: url("../images/google-ads-sea-freelancer-hamburg-tobias-duering-580x640.webp");
    height: calc(var(--space)*38);
  }
  header.website-header h2 {
    font-size: var(--font-size_s);
    top: calc(var(--space)*4);
  }
  header.website-header .vorteile {
    font-size: var(--font-size_xs);
    top: calc(var(--space)*9);
  }
  header.website-header .vorteile li {
    padding-left: var(--space);
  }
  header.website-header a.button {
    left: calc(var(--space)*4);
    right: calc(var(--space)*4);
    text-align: center;
  }
}

/* Media Query <= 480px */
@media screen and (max-width: 30rem) {
  header.website-header {
    height: calc(var(--space)*36);
  }
  header.website-header a.button {
    font-size: var(--font-size_s);
  }
}

/* Media Query <= 384px */
@media screen and (max-width: 24rem) {
  header.website-header {
    height: calc(var(--space)*27);
  }
  header.website-header h2 {
    left: calc(var(--space)*2);
    top: calc(var(--space)*2);
  }
  header.website-header .vorteile {
    font-size: var(--font-size_xxs);
    left: calc(var(--space)*2);
    top: calc(var(--space)*6);
  }

  header.website-header a.button {
    bottom: calc(var(--space)*2);
    left: calc(var(--space)*2);
    right: calc(var(--space)*2);
  }
}


/* Referenzen */
section.referenzen {
  background: var(--color-line1);
}

section.referenzen ul {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--space)*2);
  justify-content: space-between;
  margin: 0 0 calc(var(--space)*4);
}

section.referenzen ul li {
  background: var(--color-white);
  border-radius: calc(var(--space)/2);
  height: 80px;
}

section.referenzen div.kundenstimmen {
  display: flex;
  gap: calc(var(--space)*4);
}

section.referenzen article {
  background: var(--color-white-transparent-highlight);
  border: var(--color-white) dashed calc(var(--space)/4);
  border-radius: calc(var(--space)/1);
  padding: calc(var(--space)*3);
}

section.referenzen article header {
  align-items: center;
  display: flex;
  font-size: var(--font-size_l);
  gap: var(--space);
  justify-content: space-between;
  line-height: 1;
  margin: 0 0 calc(var(--space)*2);
}

section.referenzen article header h3 {
  color: var(--color-grey-dark);
  font-size: var(--font-size_m);
  font-weight: bold;
  margin: 0;
}

section.referenzen div article [itemprop="reviewRating"] {
  color: var(--color-yellow);
}

section.referenzen div article blockquote [itemprop="reviewBody"] {
  color: var(--color-blue-green-dark);
  font-style: italic;
  line-height: 1.25;
  margin: 0 0 calc(var(--space)*2);
}

section.referenzen div article blockquote [itemprop="reviewBody"]::before {
  content: open-quote;
}

section.referenzen div article blockquote [itemprop="reviewBody"]::after {
  content: close-quote;
}

section.referenzen div article blockquote + p {
  font-size: var(--font-size_xs);
}

section.referenzen div article blockquote + p [itemprop="author"] {
  color: var(--color-black);
  display: block;
  font-size: var(--font-size_s);
  margin: 0 0 var(--space);
}

/* Media Query <= 1040px */
@media screen and (max-width: 65rem) {
  section.referenzen ul {
    justify-content: center;
  }
}

/* Media Query <= 896px */
@media screen and (max-width: 56rem) {
  section.referenzen article header {
    flex-direction: column-reverse;
    justify-content: flex-start;
    margin: 0 0 calc(var(--space)*2);
  }
}

/* Media Query <= 768px */
@media screen and (max-width: 48rem) {
  section.referenzen article {
    padding: var(--space);
  }
  .kundenstimmen {
    flex-wrap: wrap;
  }
}


/* Performance */
section.performance {
  background: var(--color-line2);
  font-size: var(--font-size_xs);
}

/* Media Query <= 1040px */
@media screen and (max-width: 65rem) {
  section.performance div.flex {
    align-items: center;
    flex-direction: column;
    font-size: var(--font-size_s);
    gap: calc(var(--space)*4);
  }
}

/* Media Query <= 768px */
@media screen and (max-width: 48rem) {
  section.performance img {
    height: 168px;
    width: 300px;
  }
}

/* Media Query <= 384px */
@media screen and (max-width: 24rem) {
  section.performance h2 {
    margin: 0;
  }
  section.performance div.flex {
    gap: 0;
  }
  section.performance img {
    scale: .8;
  }
}


/* Call to Action */
div.cta {
  background: var(--color-blue-green-dark);
  text-align: center;
  padding: calc(var(--space)*3);
}

div.cta p {
  color: var(--color-white);
  font-size: var(--font-size_m);
  font-weight: 600;
  margin: 0 0 calc(var(--space)*2);
}

div.cta .button {
  background: var(--color-white);
  color: var(--color-blue-green-dark);
  display: inline-block;
  margin: 0 0 calc(var(--space)*1);
}

div.cta .button:active,
div.cta .button:hover {
  background: var(--color-blue-green-light);
  color: var(--color-blue-green-dark);
}


/* Branchen */
section.branchen {
  background: var(--color-line1);
}

section.branchen ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space);
}

section.branchen ul li {
  background: var(--color-blue-green);
  color: var(--color-white);
  font-size: var(--font-size_s);
  padding: calc(var(--space)/2) var(--space);
}

/* Media Query <= 768px */
@media screen and (max-width: 48rem) {
  section.branchen p {
    text-align: center;
  }
  section.branchen ul {
    justify-content: center;
  }
  section.branchen ul li {
    font-size: var(--font-size_xs);
  }
}


/* Leistungen */
section.leistungen {
  background: var(--color-line2);
}

section.leistungen ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(var(--space)*2);
}

section.leistungen ul li {
  background: var(--color-blue-green);
  color: var(--color-white);
}

section.leistungen ul li article {
  background: var(--color-blue-green-dark);
  display: flex;
  flex-direction: column;
  font-size: var(--font-size_s);
  gap: 0;
}

section.leistungen ul li article h3 {
  color: var(--color-white);
  height: calc(var(--space)*7);
  line-height: 1.25;
  padding: calc(var(--space)*2);
}

section.leistungen ul li p {
  background: var(--color-blue-green);
  color: var(--color-white);
  font-size: var(--font-size_xs);
  overflow-wrap: break-word;
  padding: calc(var(--space)*2);
}

/* Media Query <= 1040px */
@media screen and (max-width: 65rem) {
  section.leistungen ul {
    grid-template-columns: repeat(2, 1fr);
  }
  section.leistungen ul article h3 {
    font-size: var(--font-size_s);
  }
}

/* Media Query <= 768px */
@media screen and (max-width: 48rem) {
  section.leistungen p {
    text-align: center;
  }
  section.leistungen ul {
    grid-template-columns: repeat(1, 1fr);
  }
  section.leistungen ul li article p {
    text-align: left;
  }
}


/* Clevads */
section.clevads {
  background: var(--color-line1);
  font-size: var(--font-size_xs);
}

/* Media Query <= 1040px */
@media screen and (max-width: 65rem) {
  section.clevads div.flex {
    align-items: center;
    flex-direction: column-reverse;
    font-size: var(--font-size_s);
    gap: calc(var(--space)*4);
  }
}

/* Media Query <= 768px */
@media screen and (max-width: 48rem) {
  section.clevads img {
    height: 178px;
    width: 310px;
  }
}

/* Media Query <= 384px */
@media screen and (max-width: 24rem) {
  section.clevads h2 {
    margin: 0;
  }
  section.clevads div.flex {
    gap: 0;
  }
  section.clevads img {
    scale: .8;
  }
}


/* Konditionen */
section.konditionen {
  background: var(--color-line2);
}

section.konditionen img {
  border-radius: 50%;
}

/* Media Query <= 1040px */
@media screen and (max-width: 65rem) {
  section.konditionen div.flex {
    align-items: center;
    flex-direction: column-reverse;
    gap: calc(var(--space)*4);
  }
}


/* Termin */
section.termin {
  background: var(--color-line1);
}

section.termin ol {
  list-style-type: decimal;
  margin: 0 0 calc(var(--space)*2) calc(var(--space)*4);
}

section.termin dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space);
}

section.termin dl dt::before {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: calc(var(--space)*1.5);
  margin-right: calc(var(--space)*1.25);
  vertical-align: middle;
  width: calc(var(--space)*1.5);
}

section.termin dl dt:nth-of-type(1)::before,
section.termin dl dt:nth-of-type(2)::before {
  background-image: url(../../assets/graphics/phone.svg);
}

section.termin dl dt:nth-of-type(3)::before {
  background-image: url(../../assets/graphics/email.svg);
}

section.termin dl dt::after {
  content: ":";
}

@media screen and (max-width: 30rem) {
  section.termin dl {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  section.termin dl dd {
    margin: 0 0 calc(var(--space)*2);
  }
  section.termin dl dd:last-of-type {
    margin: 0;
  }
}


/* Häufig gestelle Fragen */
section.faq {
  background: var(--color-line2);
}

section.faq article {
  border-bottom: solid 1px var(--color-grey-light);
}

section.faq article details summary {
  cursor: pointer;
  position: relative;
  padding: var(--space) var(--space) var(--space) calc(var(--space)*3);
}

section.faq article details summary::before {
  content: '';
  border-right: calc(var(--space) / 4) solid;
  border-bottom: calc(var(--space) / 4) solid;
  position: absolute;
  left: calc(var(--space)/4);
  height: var(--space);
  width: var(--space);
  top: 50%;
  transform: translateY(-60%) rotate(45deg);
  transition: var(--transition-0);
}

section.faq article details summary::marker,
section.faq article details summary::-webkit-details-marker {
  content: none;
  display: none;
}

section.faq article details summary h3 {
  color: var(--color-blue-green-dark);
  display: inline;
  font-family: var(--font_500);
  font-size: var(--font-size_s);
  margin: 0;
  transition: transform 0.3s ease;
}

section.faq article details summary:active h3,
section.faq article details summary:focus h3,
section.faq article details summary:hover h3 {
  color: var(--color-blue-green);
  transform: rotate(2.5deg) scale(1.1);
}

section.faq article details[open] summary::before {
  transform: rotate(-135deg);
}

section.faq article details[open] summary ~ * {
  animation: faq-open .3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

section.faq article details[open] div[itemprop="acceptedAnswer"] {
  font-size: var(--font-size_xs);
  margin: calc(var(--space)*2) 0 calc(var(--space)*3) calc(var(--space)*3);
}

section.faq article details[open] div[itemprop="acceptedAnswer"] ul {
  list-style-type: disc;
  margin: 0 0 calc(var(--space)*2) calc(var(--space)*3);
}

@keyframes faq-open {
  0% {
    opacity: 0;
    transform: translateY(calc(var(--space) * -1));
  }
  100% {
    opacity: 1;
  }
}

/* Seiten Footer */
footer {
  background: var(--color-blue-green-dark);
  color: var(--color-white);
  font-size: var(--font-size_xs);
  padding: calc(var(--space)*3) calc(var(--space)*2) calc(var(--space)*2);
}

footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--space)*2);
  margin-bottom: calc(var(--space)*2);
}

footer nav a {
  color: var(--color-white-off);
}

footer nav a:hover, 
footer nav a:active {
  color: var(--color-white);
}

/* Media Query <= 480px */
@media screen and (max-width: 30rem) {
  footer {
    text-align: center;
  }
  footer nav {
    flex-direction: column;
    justify-content: center;
    margin-bottom: calc(var(--space)*4);
  }
}


/* ACCESSIBILITY =========================================================== */
/* Blendet Elemente optisch aus oder ein. Hält sie aber für                  */
/* unterstützende Technologien zugänglich.                                   */

/* Ausblenden */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}

/* Einblenden */
.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip-path: none;
  white-space: normal;
}


/* THIRD-PARTIES ============================================================*/
/* Styles für Technologien von Drittanbietern.                               */

/* Google Tag Manager */
noscript iframe {
  display: none;
  height: 0;
  visibility: hidden;
  width: 0;
}
