*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; }
img, svg { max-width: 100%; height: auto; }
.container { width: 100%; max-width: 1040px; margin-inline: auto; padding-inline: 24px; }
.container.large { max-width: 1180px; }
.row { display: flex; flex-wrap: wrap; margin-inline: -12px; }
.row > [class*="col-"] { padding-inline: 12px; min-width: 0; }
.col-12 { flex: 0 0 100%; max-width: 100%; }
@media (min-width: 768px) {
  .col-md-4 { flex: 0 0 33.333%; max-width: 33.333%; }
  .col-md-6 { flex: 0 0 50%; max-width: 50%; }
}
@media (max-width: 480px) { .container { padding-inline: 18px; } }
.visuellement-cache { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
