/*TEST */
/* Vereinsinhalte fuer Kutego. Ohne style-Tags einfuegen.
   Alle Regeln sind auf .atv-verein begrenzt. Header/Footer bleiben unberuehrt. */

.atv-verein {
  --atv-blue: #3366cc;
  --atv-dark: #004591;
  --atv-ink: #263b4d;
  --atv-muted: #52697e;
  --atv-line: #d6e2ee;
  --atv-soft: #f1f6fc;
  --atv-surface: #fff;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0;
  color: var(--atv-ink);
  font-family: inherit;
  font-size: 1em;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.atv-verein,
.atv-verein *,
.atv-verein *::before,
.atv-verein *::after { box-sizing: border-box; }
.atv-verein [hidden] { display: none !important; }
.atv-verein [id] { scroll-margin-top: 24px; }
.atv-verein :is(h2, h3, h4) {
  color: var(--atv-dark) !important;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: normal;
  text-transform: none;
  transform: none;
  margin: 0 0 16px;
}
.atv-verein h2 { font-size: 1.75em; }
.atv-verein h3 { font-size: 1.3em; }
.atv-verein h4 { font-size: 1.1em; }
.atv-verein p { margin: 0 0 18px; line-height: 1.65; }
.atv-verein :is(ul, ol) { margin: 0 0 22px; padding-left: 24px; }
.atv-verein li { margin-bottom: 8px; }
.atv-verein :is(section, article, aside) { min-width: 0; }
.atv-verein > section,
.atv-verein > .atv-verein-events-bottom { margin-bottom: 48px; }
.atv-verein :is(section, article, aside) > :last-child { margin-bottom: 0; }
.atv-verein img { max-width: 100%; height: auto; border: 0; }
.atv-verein .atv-verein-image { display: block; }
.atv-verein .atv-verein-intro {
  max-width: 820px;
  color: var(--atv-muted);
  font-size: 1.15em;
  line-height: 1.6;
  margin-bottom: 24px;
}

/* Vorhandenes Kutego-Raster: Abstaende und Umbruch nur im Inhalt. */
.atv-verein .row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0 -12px;
}
.atv-verein .row::before,
.atv-verein .row::after { display: none !important; content: none !important; }
.atv-verein .row > [class*="col-md-"] {
  float: none;
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 12px;
}
.atv-verein .row > h2 { flex: 0 0 100%; padding: 0 12px; }
@media (min-width: 992px) {
  .atv-verein .row > .col-md-2 { flex-basis: 16.666667%; width: 16.666667%; max-width: 16.666667%; }
  .atv-verein .row > .col-md-4 { flex-basis: 33.333333%; width: 33.333333%; max-width: 33.333333%; }
  .atv-verein .row > .col-md-6 { flex-basis: 50%; width: 50%; max-width: 50%; }
  .atv-verein .row > .col-md-8 { flex-basis: 66.666667%; width: 66.666667%; max-width: 66.666667%; }
  .atv-verein .row > .col-md-10 { flex-basis: 83.333333%; width: 83.333333%; max-width: 83.333333%; }
}

/* Links und originale Kutego-Buttonklassen. */
.atv-verein a {
  color: var(--atv-dark);
  background-color: transparent !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  overflow-wrap: anywhere;
  transition: color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.atv-verein a:hover { color: var(--atv-blue); text-decoration-thickness: 2px; }
.atv-verein a:active,
.atv-verein a[aria-current="page"] { color: var(--atv-dark); text-decoration-thickness: 2px; }
.atv-verein :is(a, summary, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--atv-blue);
  outline-offset: 4px;
}
.atv-verein .is-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 46px;
  max-width: 100%;
  padding: 12px 20px;
  border: 1px solid var(--atv-blue);
  border-radius: 4px;
  font-family: inherit;
  font-size: .95em;
  font-weight: 600;
  line-height: 1.4;
  white-space: normal;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-align: center;
  text-decoration: none !important;
  box-shadow: none;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}
.atv-verein .is-btn.is-btn-ghost2 {
  background-color: var(--atv-blue) !important;
  border-color: var(--atv-blue);
  color: #fff !important;
}
.atv-verein .is-btn.is-btn-ghost2:is(:hover, :active) {
  background-color: var(--atv-dark) !important;
  border-color: var(--atv-dark);
}
.atv-verein .is-btn.is-btn-ghost1 {
  background-color: transparent !important;
  border-color: var(--atv-dark);
  color: var(--atv-dark) !important;
}
.atv-verein .is-btn.is-btn-ghost1:is(:hover, :active) {
  border-color: var(--atv-blue);
  color: var(--atv-blue) !important;
}
.atv-verein :is(.atv-verein-actions, .atv-verein-download-jumps) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  margin: 0 0 8px;
}

/* Hero innerhalb des Inhalts; Kutegos eigener H1 bleibt die einzige H1. */
.atv-verein .atv-verein-hero { margin-bottom: 44px; }
.atv-verein .atv-verein-hero-grid { align-items: center; row-gap: 24px; }
.atv-verein .atv-verein-hero-art { margin: 0; padding: 0 12px; }
.atv-verein .atv-verein-hero-image {
  display: block; width: 100%; height: auto; max-height: 360px;
  object-fit: contain; margin: 0 auto; border: 0; border-radius: 0;
  background: transparent; box-shadow: none;
}

/* Uebersichtskarten: ganze Karte klickbar, Titel nicht unterstrichen. */
.atv-verein :is(.atv-verein-club-features, .atv-verein-club-topics, .atv-verein-club-services) {
  align-items: stretch;
  row-gap: 24px;
  margin-bottom: 24px;
}
.atv-verein :is(.atv-verein-club-features, .atv-verein-club-topics, .atv-verein-club-services) > article { display: flex; }
.atv-verein .atv-verein-card {
  width: 100%;
  border: 1px solid var(--atv-line);
  background: var(--atv-surface);
  border-radius: 5px;
  overflow: hidden;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.atv-verein .atv-verein-card:has(> .atv-verein-card-link):hover {
  border-color: var(--atv-blue);
  box-shadow: 0 5px 18px rgb(0 69 145 / 7%);
  transform: translateY(-2px);
}
.atv-verein .atv-verein-card:focus-within { outline: 3px solid var(--atv-blue); outline-offset: 3px; }
.atv-verein a.atv-verein-card-link {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  padding: 24px;
  color: var(--atv-ink);
  text-decoration: none !important;
}
.atv-verein .atv-verein-card-link :is(h2, h3) { text-decoration: none !important; }
.atv-verein .atv-verein-card-link p { color: var(--atv-muted); }
.atv-verein .atv-verein-club-card-action {
  display: inline-block;
  margin-top: 8px;
  color: var(--atv-dark);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.atv-verein .atv-verein-card-link:hover .atv-verein-club-card-action { color: var(--atv-blue); }
.atv-verein .atv-verein-club-feature { background: var(--atv-soft); }
.atv-verein .atv-verein-club-feature .atv-verein-card-link {
  display: grid; grid-template-columns: minmax(0, 1fr) 160px;
  gap: 24px; align-items: center; height: 100%;
}
.atv-verein .atv-verein-club-feature-art { width: 160px; height: 180px; object-fit: contain; margin: 0; }
.atv-verein .atv-verein-club-values-art {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; align-items: center;
}
.atv-verein .atv-verein-club-values-art img { display: block; width: 70px; height: 70px; object-fit: contain; }
.atv-verein :is(.atv-verein-club-topic, .atv-verein-club-service) .atv-verein-card-link > img {
  width: 48px; height: 48px; object-fit: contain; margin: 0 0 18px;
}

/* Einheitliche Textabschnitte und rechte Kontaktspalte. */
.atv-verein :is(.atv-verein-child-copy, .atv-verein-diversity-copy, .atv-verein-volunteer-copy,
  .atv-verein-history-main, .atv-verein-jobs-main, .atv-verein-content) > section,
.atv-verein :is(.atv-verein-child-body, .atv-verein-diversity-body) > section { margin-bottom: 32px; }
.atv-verein :is(.atv-verein-child-sidebar, .atv-verein-diversity-sidebar, .atv-verein-history-side,
  .atv-verein-jobs-side, .atv-verein-events-side) > :is(section, aside),
.atv-verein .atv-verein-volunteer-contact,
.atv-verein .atv-verein-side > .atv-verein-office-short,
.atv-verein .atv-verein-rental-office {
  padding: 0 0 0 24px;
  margin: 0 0 28px;
  border: 0;
  border-left: 1px solid var(--atv-line);
  background: transparent;
}
.atv-verein :is(.atv-verein-child-sidebar, .atv-verein-diversity-sidebar, .atv-verein-history-side,
  .atv-verein-jobs-side, .atv-verein-events-side, .atv-verein-volunteer-contact, .atv-verein-rental-office) h2 { font-size: 1.35em; }
.atv-verein .atv-verein-office-short h3 { font-size: 1.2em; }
.atv-verein .atv-verein-office-links { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.atv-verein .atv-verein-office-hours { margin: 0; font-size: .95em; }
.atv-verein :is(.atv-verein-volunteer-email, .atv-verein-volunteer-form-link,
  .atv-verein-diversity-email, .atv-verein-diversity-phone, .atv-verein-diversity-external,
  .atv-verein-jobs-email, .atv-verein-jobs-contactlink) { display: block; margin-bottom: 16px; }
.atv-verein :is(.atv-verein-volunteer-label, .atv-verein-volunteer-role) { color: var(--atv-muted); font-size: .95em; }
.atv-verein :is(.atv-verein-volunteer-contact, .atv-verein-jobs-apply, .atv-verein-diversity-contact) .is-btn { margin-bottom: 16px; }

/* Kinderschutz: Haupttext links, Kontakte rechts; Inhalte links untereinander. */
.atv-verein .atv-verein-child { display: grid; grid-template-columns: minmax(0, 2fr) minmax(250px, 1fr); gap: 24px; }
.atv-verein .atv-verein-child-body { display: block; margin: 0; }
.atv-verein .atv-verein-child-body > [class*="col-md-"] { width: 100%; max-width: 100%; padding: 0; float: none; }
.atv-verein .atv-verein-kinderschutz-seal { width: 180px; max-width: 100%; margin: 24px 0 0; }
.atv-verein .atv-verein-child-person + .atv-verein-child-person { border-top: 1px solid var(--atv-line); margin-top: 22px; padding-top: 22px; }
.atv-verein .atv-verein-child-person h3 { margin-bottom: 6px; }
.atv-verein :is(.atv-verein-child-measure-list, .atv-verein-volunteer-cards) { row-gap: 18px; margin-bottom: 26px; }
.atv-verein :is(.atv-verein-child-measure-list, .atv-verein-volunteer-cards) > :is(article, section) { margin-bottom: 8px; }
.atv-verein :is(.atv-verein-child-measure-list, .atv-verein-volunteer-cards) h3 { font-size: 1.1em; }
.atv-verein .atv-verein-volunteer-cards img { width: 44px; height: 44px; object-fit: contain; margin-bottom: 14px; }
.atv-verein .atv-verein-diversity-guide { padding: 24px; background: var(--atv-soft); border: 1px solid var(--atv-line); }
.atv-verein .atv-verein-diversity-guide > img { width: 44px; height: 44px; margin-bottom: 16px; }

/* Originale Leitbild-Logos im Kreis, ohne Animation und ohne JavaScript. */
.atv-verein .atv-verein-hero-grid > .atv-verein-mission-art {
  position: relative; flex: 0 0 auto; width: min(100%, 360px);
  max-width: 360px; aspect-ratio: 1; height: auto; margin: 0 auto; padding: 0;
}
.atv-verein .atv-verein-leitbild-ring { position: absolute; inset: 13%; border: 2px solid var(--atv-blue); border-radius: 50%; }
.atv-verein .atv-verein-mission-center { position: absolute; left: 36%; top: 36%; width: 28%; }
.atv-verein .atv-verein-mission-emblem { position: absolute; display: block; width: 24%; }
.atv-verein .atv-verein-mission-emblem-1 { left: 38%; top: 0; }
.atv-verein .atv-verein-mission-emblem-2 { right: 0; top: 38%; }
.atv-verein .atv-verein-mission-emblem-3 { left: 38%; bottom: 0; }
.atv-verein .atv-verein-mission-emblem-4 { left: 0; top: 38%; }
.atv-verein .atv-verein-mission-art img { display: block; width: 100%; max-width: 100%; height: auto; margin: 0; object-fit: contain; }
.atv-verein .atv-verein-mission { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 48px; }
.atv-verein .atv-verein-mission > .atv-verein-mission-value {
  display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 22px;
  padding: 24px 0; margin: 0; border-bottom: 1px solid var(--atv-line);
}
.atv-verein .atv-verein-mission-value > :is(.atv-verein-mission-logo, .atv-verein-mission-copy) {
  width: auto; max-width: none; padding: 0; float: none;
}
.atv-verein .atv-verein-mission-logo img { width: 76px; height: 76px; object-fit: contain; }
.atv-verein .atv-verein-mission-copy h2 { font-size: 1.45em; }

/* Native HTML-Akkordeons: Pfeile statt Plus/Minus. */
.atv-verein details.atv-verein-accordion,
.atv-verein .atv-verein-history-reflection { border-bottom: 1px solid var(--atv-line); padding: 16px 0; margin: 0; }
.atv-verein :is(details.atv-verein-accordion, .atv-verein-history-reflection) > summary {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  min-height: 44px;
  padding: 9px 26px 9px 0;
  list-style: none;
  color: var(--atv-dark);
  cursor: pointer;
  font-size: 1.05em;
  font-weight: 600;
  line-height: 1.45;
  text-decoration: none;
}
.atv-verein summary::-webkit-details-marker { display: none; }
.atv-verein :is(details.atv-verein-accordion, .atv-verein-history-reflection) > summary::after {
  content: '';
  position: absolute;
  right: 3px;
  top: 15px;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}
.atv-verein :is(details.atv-verein-accordion, .atv-verein-history-reflection)[open] > summary::after { transform: rotate(225deg); top: 20px; }
.atv-verein summary :is(h2, h3, h4) { display: inline; margin: 0; font-size: 1em; line-height: 1.45; }
.atv-verein details[open] > summary { margin-bottom: 18px; }
.atv-verein .atv-verein-history-range { flex: 0 0 96px; }
.atv-verein .atv-verein-history-timeline { list-style: none; padding: 0; }
.atv-verein .atv-verein-history-timeline > li { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 16px; margin: 0; padding: 13px 0; border-bottom: 1px solid var(--atv-line); }
.atv-verein .atv-verein-history-year { color: var(--atv-dark); font-weight: 700; }
.atv-verein .atv-verein-history-note { color: var(--atv-muted); font-size: .9em; }
.atv-verein .atv-verein-history-quote { color: var(--atv-dark); font-size: 1.1em; font-weight: 600; }
.atv-verein .atv-verein-jobs-other-title { margin-top: 38px; }
.atv-verein .atv-verein-jobs-entry-list .atv-verein-jobs-job { margin-bottom: 12px; padding: 14px 20px; border: 1px solid var(--atv-line); background: var(--atv-soft); }
.atv-verein .atv-verein-jobs-job > summary { flex-wrap: wrap; gap: 4px 14px; }
.atv-verein .atv-verein-jobs-job > summary > span { color: var(--atv-muted); font-size: .85em; font-weight: 400; }
.atv-verein .atv-verein-jobs-description { padding: 4px 0 12px; }

/* Tabellen bleiben Tabellen; auf schmalen Bildschirmen horizontal scrollbar. */
.atv-verein :is(.table-responsive, .atv-verein-table-wrapper, .atv-verein-board-scroll) { display: block; width: 100%; max-width: 100%; overflow-x: auto; border: 0; margin: 0 0 24px; }
.atv-verein table.atv-verein-table { width: 100%; min-width: 600px; border-collapse: collapse; border: 0; margin: 0; font-size: .95em; }
.atv-verein table.atv-verein-table :is(th, td) { padding: 13px 14px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--atv-line); white-space: normal; line-height: 1.5; }
.atv-verein table.atv-verein-table th { color: var(--atv-dark); background: var(--atv-soft); font-weight: 700; }
.atv-verein table.atv-verein-table tbody tr:nth-child(odd) > td { background: #fafcfe; }
.atv-verein table.atv-verein-table caption { color: var(--atv-dark); font-weight: 600; text-align: left; margin-bottom: 12px; padding: 0; }
.atv-verein .atv-verein-board-section { margin-bottom: 40px; }

/* Downloads: deutliche PDF-Buttons und kompakte Dokumentzeilen. */
.atv-verein .atv-verein-download-group { margin-bottom: 40px; }
.atv-verein .atv-verein-download-list { list-style: none; padding: 0; }
.atv-verein .atv-verein-download-row { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; padding: 22px 0; margin: 0; border-bottom: 1px solid var(--atv-line); }
.atv-verein .atv-verein-download-file { flex: 0 0 36px; }
.atv-verein .atv-verein-download-file img { width: 32px; height: 32px; }
.atv-verein .atv-verein-download-copy { flex: 1 1 220px; min-width: 0; }
.atv-verein .atv-verein-download-copy h3 { font-size: 1.2em; margin-bottom: 7px; }
.atv-verein .atv-verein-download-copy p { margin: 8px 0 0; }
.atv-verein .atv-verein-download-meta { color: var(--atv-muted); font-size: .9em; }
.atv-verein .atv-verein-download-row > .is-btn { flex: 0 0 auto; }
.atv-verein .atv-verein-download-note { padding: 22px; background: var(--atv-soft); margin-top: 24px; }
.atv-verein .atv-verein-download-note strong { color: var(--atv-dark); }
.atv-verein .atv-verein-download-contributions { align-items: center; row-gap: 16px; margin-bottom: 22px; }

/* Veranstaltungen ohne erfundene Klickziele. */
.atv-verein .atv-verein-events-heading { display: flex; align-items: baseline; gap: 16px; margin-bottom: 22px; }
.atv-verein .atv-verein-events-heading h2 { margin: 0; }
.atv-verein .atv-verein-events-list { list-style: none; padding: 0; }
.atv-verein .atv-verein-event { border: 1px solid var(--atv-line); padding: 24px; margin-bottom: 20px; }
.atv-verein .atv-verein-event > div { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 20px; }
.atv-verein .atv-verein-event-date { flex: 0 0 86px; color: var(--atv-dark); font-size: 1.15em; font-weight: 600; line-height: 1.4; }
.atv-verein .atv-verein-event-info { flex: 1 1 230px; min-width: 0; }
.atv-verein .atv-verein-event-category { display: block; color: var(--atv-muted); font-size: .85em; margin-bottom: 8px; }
.atv-verein .atv-verein-event-meta { color: var(--atv-muted); }
.atv-verein .atv-verein-events-bottom { padding-top: 12px; }
.atv-verein .atv-verein-events-video-grid { row-gap: 28px; }
.atv-verein .atv-verein-events-video-grid h3 { font-size: 1.15em; }
.atv-verein .atv-verein-video-wrapper { position: relative; width: 100%; height: 0; padding-bottom: 56.25%; overflow: hidden; margin-bottom: 12px; }
.atv-verein iframe.atv-verein-video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Vermietung: zwei Angebote, anschliessend Anfrage und Geschaeftsstelle. */
.atv-verein .atv-verein-rental-offers { align-items: stretch; row-gap: 24px; margin-bottom: 36px; }
.atv-verein .atv-verein-rental-offers > article { display: flex; flex-direction: column; padding-top: 24px; padding-bottom: 24px; }
.atv-verein .atv-verein-rental-offers img { width: 64px; height: 64px; object-fit: contain; margin-bottom: 20px; }
.atv-verein .atv-verein-rental-offers .is-btn { align-self: flex-start; margin-top: auto; }
.atv-verein .atv-verein-rental-inquiry { display: grid; grid-template-columns: minmax(0, 2fr) minmax(250px, 1fr); gap: 24px; }
.atv-verein .atv-verein-booking-section { border-top: 1px solid var(--atv-line); padding-top: 30px; }

/* Mobil und Tablet. Tabellen scrollen in ihrem eigenen Bereich. */
@media (max-width: 991px) {
  .atv-verein .atv-verein-child,
  .atv-verein .atv-verein-rental-inquiry { grid-template-columns: minmax(0, 1fr); }
  .atv-verein :is(.atv-verein-child-sidebar, .atv-verein-diversity-sidebar,
    .atv-verein-history-side, .atv-verein-jobs-side, .atv-verein-events-side,
    .atv-verein-volunteer-contact, .atv-verein-side) { margin-top: 26px; }
  .atv-verein .atv-verein-club-features > article { flex-basis: 100%; width: 100%; max-width: 100%; }
  .atv-verein .atv-verein-rental-offers > article { padding-top: 0; }
}
@media (min-width: 650px) and (max-width: 991px) {
  .atv-verein :is(.atv-verein-club-topics, .atv-verein-club-services,
    .atv-verein-volunteer-cards, .atv-verein-events-video-grid) > [class*="col-md-"] { flex-basis: 50%; width: 50%; max-width: 50%; }
}
@media (max-width: 760px) {
  .atv-verein .atv-verein-mission { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
@media (max-width: 560px) {
  .atv-verein h2 { font-size: 1.5em; }
  .atv-verein h3 { font-size: 1.2em; }
  .atv-verein > section { margin-bottom: 32px; }
  .atv-verein .atv-verein-hero-image { max-height: 260px; }
  .atv-verein .atv-verein-intro { font-size: 1.05em; }
  .atv-verein :is(.atv-verein-actions, .atv-verein-download-jumps) { align-items: stretch; flex-direction: column; gap: 12px; }
  .atv-verein .atv-verein-actions > .is-btn { width: 100%; }
  .atv-verein a.atv-verein-card-link { padding: 20px; }
  .atv-verein .atv-verein-club-feature .atv-verein-card-link { grid-template-columns: minmax(0, 1fr) 100px; gap: 12px; }
  .atv-verein .atv-verein-club-feature-art { width: 100px; height: 130px; }
  .atv-verein .atv-verein-club-values-art { gap: 10px; }
  .atv-verein .atv-verein-club-values-art img { width: 45px; height: 45px; }
  .atv-verein .atv-verein-mission > .atv-verein-mission-value { grid-template-columns: 60px minmax(0, 1fr); gap: 16px; }
  .atv-verein .atv-verein-mission-logo img { width: 56px; height: 56px; }
  .atv-verein .atv-verein-history-range { flex-basis: 84px; }
  .atv-verein .atv-verein-history-timeline > li { grid-template-columns: 50px minmax(0, 1fr); gap: 10px; }
  .atv-verein .atv-verein-jobs-entry-list .atv-verein-jobs-job { padding: 12px 16px; }
  .atv-verein .atv-verein-download-row > .is-btn { margin-left: 52px; }
  .atv-verein .atv-verein-event { padding: 20px; }
}

/* Kutegos Kontrastmodus: nur unsere Inhalte anpassen. */
body.high-contrast-mode .atv-verein {
  --atv-blue: #ffeb3b;
  --atv-dark: #fff;
  --atv-ink: #fff;
  --atv-muted: #fff;
  --atv-line: #fff;
  --atv-soft: #000;
  --atv-surface: #000;
  color: #fff;
  background: #000;
}
body.high-contrast-mode .atv-verein .is-btn.is-btn-ghost2 { color: #000 !important; }
body.high-contrast-mode .atv-verein table.atv-verein-table tbody tr:nth-child(odd) > td { background: #000; }
@media (prefers-reduced-motion: reduce) {
  .atv-verein *, .atv-verein *::before, .atv-verein *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .atv-verein .atv-verein-card:hover { transform: none; }
}

/* Integration in die beobachtete Kutego-Seitenstruktur.
   Ausschließlich Vereinsinhalte und deren native Überschrift/Breadcrumb.
   Kein Header, kein Footer, keine Veränderung der dynamischen Module. */
.main:has(> #main-content > .atv-verein) {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  column-gap: clamp(28px, 5vw, 72px);
  width: calc(100% - 48px);
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 0 48px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.142857em;
  line-height: 1.65;
  position: relative;
  isolation: isolate;
}
.main:has(> #main-content > .atv-verein) > .breadcrumbs-wrapper,
.main:has(> #main-content > .atv-verein) > .breadcrumbs-wrapper > .row,
.main:has(> #main-content > .atv-verein) > #main-content,
.main #main-content > .container.atv-verein,
.main #main-content > .atv-verein > .atv-verein-hero,
.main #main-content > .atv-verein > .atv-verein-hero > .atv-verein-hero-grid {
  display: contents;
}
.main:has(> #main-content > .atv-verein) > .breadcrumbs-wrapper .breadcrumbs {
  grid-column: 1 / -1;
  grid-row: 1;
  float: none;
  width: auto;
  padding: 24px 0 28px;
  position: relative;
  z-index: 1;
}
.main:has(> #main-content > .atv-verein) .breadcrumbs .breadcrumb {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  font-size: .78em;
  line-height: 1.6;
}
.main:has(> #main-content > .atv-verein) > .breadcrumbs-wrapper .pageTitle {
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  float: none;
  width: auto;
  margin: 0;
  padding: 24px 0 18px;
  position: relative;
  z-index: 1;
}
.main:has(> #main-content > .atv-verein) > .breadcrumbs-wrapper .pageTitle h1 {
  color: #004591 !important;
  font-family: inherit;
  font-weight: 700;
  font-size: clamp(2em, 3.6vw, 3.4em);
  line-height: 1.12;
  letter-spacing: -.035em;
  text-transform: none;
  margin: 0;
  padding: 0;
  overflow-wrap: anywhere;
}
.main #main-content > .atv-verein .atv-verein-hero-copy {
  grid-column: 1;
  grid-row: 3;
  align-self: start;
  width: auto;
  max-width: none;
  padding: 0 0 48px;
  margin: 0;
  position: relative;
  z-index: 1;
}
.main #main-content > .atv-verein .atv-verein-hero-copy .atv-verein-intro {
  font-size: 1.1em;
}
.main #main-content > .atv-verein .atv-verein-hero-grid > :is(.atv-verein-hero-art, .atv-verein-mission-art) {
  grid-column: 2;
  grid-row: 2 / 4;
  align-self: center;
  justify-self: center;
  width: 100%;
  max-width: 440px;
  padding: 16px 0 32px;
  margin: 0;
  position: relative;
  z-index: 1;
}
.main #main-content > .atv-verein .atv-verein-hero-grid > .atv-verein-mission-art {
  width: min(100%, 350px);
  max-width: 350px;
  padding: 0;
  margin: 16px 0 32px;
}
.main #main-content > .atv-verein > :not(.atv-verein-hero) {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 40px 0 0;
  position: relative;
  z-index: 1;
}
.main #main-content > .atv-verein > .row { margin-inline: -12px; }
.main #main-content > :not(.atv-verein) {
  grid-column: 1 / -1;
  min-width: 0;
}
.main:has(> #main-content > .atv-verein:not(.atv-verein-page--unser-verein))::before {
  content: '';
  grid-column: 1 / -1;
  grid-row: 1 / 4;
  background: #edf5fa;
  box-shadow: 0 0 0 100vmax #edf5fa;
  clip-path: inset(0 -100vmax);
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 760px) {
  .main:has(> #main-content > .atv-verein) {
    grid-template-columns: minmax(0, 1fr);
    width: calc(100% - 40px);
    column-gap: 0;
    padding-bottom: 32px;
  }
  .main:has(> #main-content > .atv-verein) > .breadcrumbs-wrapper .breadcrumbs {
    padding: 20px 0 12px;
  }
  .main #main-content > .atv-verein .atv-verein-hero-grid > :is(.atv-verein-hero-art, .atv-verein-mission-art) {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    max-width: 380px;
    padding: 12px 0 16px;
    margin: 0;
  }
  .main #main-content > .atv-verein .atv-verein-hero-grid > .atv-verein-mission-art {
    width: min(100%, 260px);
    max-width: 260px;
    padding: 0;
    margin: 12px 0 20px;
  }
  .main:has(> #main-content > .atv-verein) > .breadcrumbs-wrapper .pageTitle {
    grid-column: 1;
    grid-row: 3;
    padding: 8px 0 20px;
  }
  .main:has(> #main-content > .atv-verein) > .breadcrumbs-wrapper .pageTitle h1 {
    font-size: 2.3em;
  }
  .main #main-content > .atv-verein .atv-verein-hero-copy {
    grid-column: 1;
    grid-row: 4;
    padding-bottom: 30px;
  }
  .main #main-content > .atv-verein > :not(.atv-verein-hero) { margin-top: 30px; }
  .main:has(> #main-content > .atv-verein:not(.atv-verein-page--unser-verein))::before { grid-row: 1 / 5; }
}
@media (max-width: 380px) {
  .main:has(> #main-content > .atv-verein) { width: calc(100% - 32px); }
}
body.high-contrast-mode .main:has(> #main-content > .atv-verein)::before {
  background: #000; box-shadow: 0 0 0 100vmax #000;
}
body.high-contrast-mode .main:has(> #main-content > .atv-verein) > .breadcrumbs-wrapper .pageTitle h1 { color: #fff !important; }


/* Clean Portal*/
.modal-body .content-form-page .row .col-md-12 #form .remove-on-password .col-lg-8.col-lg-offset-4.padding-left-0 .checkbox{
padding-left:36px !important;
}

.col-lg-8.col-lg-offset-4.padding-left-0 .checkbox{
padding-left: 10px;
}
.header,
.facebook-text,
#footer-content {
  display: none;
}
#main-content ul.breadcrumb.pull-right li:first-child,
#main-content ul.breadcrumb.pull-right li:nth-child(2)::before {
  display: none;
}

#main-content{
	min-height: 87.5vh;
}

/*Kinderschwimmen padding Margin*/
#datatable_courses4707_wrapper table.dataTable {
  margin: 0px !important;
  padding: 0px !important;
}

/*-------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------mobile feinschliff------------------------------------------------------------------------------------------------------------------*/
ul.list-unstyled.pricing-content {
  margin-bottom: 0px;
}
.pricing-footer {
  padding: 10px 0;
}

/*-------------------------------------------------------------------------------------------------------------------------Generell Änderungen iframe ----------------------------------------------------------------------------------------------------------*/
.iframe .container{
	padding:0px;
}
.iframe .col-md-12{
	padding:0px;
}
.course-header {
  display: flex;
}

.table-scrollable {
  overflow-x: hidden;
  margin: 0 0 10px 0 !important;
}

.row.quote-v1.margin-top-20 {
  background: #004591 !important;
}
.tab-content {
  word-break: break-word;
  hyphens: auto;
}
@media (max-width: 410px) {
  .quote-v1 .col-md-5 {
    padding: 0 15px !important;
  }
  .quote-v1 a.btn-transparent {
    white-space: inherit !important;
    display: flex;
    flex-direction: column;
  }
  .quote-v1 a.btn-transparent i {
    margin-bottom: 10px;
    margin-right: 0px;
  }
}

table.datatables {
  width: 100% !important;
}

@media (min-width: 997px) {
  .tabs-modern .nav-tabs > li.active > a, .tabs-modern .nav-tabs > li.active > a:hover, .tabs-modern .nav-tabs > li.active > a:focus{
color: #fff !important;
}
  
}

/*-------------------------------------------------------------------------------------------------------------------------Newsletter iframeg-------------------------------------------------------------------------------------------------------------------------*/
button.btn-transparent {
  margin-left: 10px !important;
  margin-top: 1.5px;
}
.quote-v1 {
  background: transparent;
}
.quote-v1 .btn-transparent,
input#newsletter-subscription {
  border-radius: 1rem;
}
.quote-v1 #newsletter_form .btn-transparent:hover {
  background: rgb(255 255 255 / 10%);
}
#newsletter_form .btn-transparent{
border-radius: 1rem !important;
}
.input-group {
  padding: 5px;
  display: flex;
}
.input-group-btn {
  width: auto;
  margin-left: 10px;
}
@media (max-width: 410px) {
  .input-group {
    display: block !important;
  }

  .input-group-btn {
    width: 1%;
  }

  .input-group-btn .btn-transparent {
    margin-top: 15px;
  }
}
/*-------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 992px) {
  .quote-v1 {
    padding-bottom: 25px;
    text-align: center !important;
  }

  .quote-v1 .text-right {
    text-align: center !important;
  }

  .quote-v1 .col-md-5 {
    padding-right: 0px;
    padding-left: 0px;
  }
}
@media (max-width: 530px) {
  .course-header {
    display: block;
  }
  .course-header .col-md-4 {
    margin-bottom: 20px;
    padding: 0px;
  }
}
@media (max-width: 410px) {
  .quote-v1 .btn-transparent {
    padding: 8px 8px;
  }
  .nav-tabs > li {
    width: 100%;
  }
  .input-group {
    display: table;
  }
}
@media (max-width: 220px) {
  .quote-v1 .input-group {
    margin: 0px;
  }
}
/*---------Standortiframe-----------------*/
.blog-posts .margin-top-30 {
  position: absolute;
  top: 70%;
  right: 2%;
}
.blog-posts .margin-top-30 .pull-right,
.location_teachers {
  display: none;
}

@media (max-width: 650px) {
  .blog-posts .margin-top-30 {
    display: block;
    position: relative;
  }
}
@media (min-width: 739px) {
  .visible-xs {
    display: block !important;
  }
}
@media (min-width: 910px) {
  .visible-xs {
    display: none !important;
  }
}
@media (min-width: 739px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 910px) {
  .hidden-xs {
    display: block !important;
  }
}
/* --------------------------------------------------------------------------------------------------------------------Dashboard----------------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 768px) {
  .dashboard-stat.blue {
    margin: 0px 0px 25px 0px;
  }
  .dashboard-stat .blue .visual {
    position: inherit;
  }
  .dashboard-stat .visual {
    position: absolute;
  }
  .dashboard-stat .details {
    position: inherit;
  }
  .dashboard-stat .visual {
    margin-bottom: 5px;
  }
  .dashboard-stat .details .desc {
    min-height: 42px;
  }
}
/* --------------------------------------------------------------------------------------------------------------------Account----------------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 767px) {
  #account .tab-content .col-xs-6 {
    float: inherit;
    text-align: left !important;
  }
}
#account .tab-content .col-sm-1 h4 {
  word-break: initial;
  hyphens: none;
}
/* --------------------------------------------------------------------------------------------------------------------Rechnungen--------------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 920px) {
  #bookings .account-block .col-sm-7 {
    width: 100%;
  }
  #bookings .account-block .col-sm-1,
  #bookings .account-block .col-sm-2 {
    width: 50%;
  }
}
@media (max-width: 600px) {
  #bookings .account-block .col-sm-2,
  #bookings .account-block .col-sm-7,
  #bookings .account-block .col-sm-1 {
    width: 100%;
  }
  #bookings .account-block .col-sm-2.text-right {
    text-align: left !important;
  }
}
/* -------------------------------------------------------------------------------------------------------------------Vertröge/Karten---------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 410px) {
  #contracts .account-block .col-xs-6 {
    width: 100%;
  }
}
/* --------------------------------------------------------------------------------------------------------------------Mitgliedschaften---------------------------------------------------------------------------------------------------------------------------*/
.membership-cancelled,
.membership-term {
  display: none;
}

@media (max-width: 767px) {
  #memberships .account-block .col-sm-4,
  #memberships .account-block .col-sm-2 {
    width: 100%;
  }
  #memberships .account-block .col-sm-1.text-center {
    text-align: left;
  }
  #memberships .account-block {
    display: inherit;
  }
}
/* --------------------------------------------------------------------------------------------------------------------Versicherungen----------------------------------------------------------------------------------------------------------------------------------*/

@media (max-width: 920px) {
  #insurances .account-block .col-sm-7 {
    width: 100%;
  }
}
@media (max-width: 600px) {
  #insurances .account-block .col-sm-2,
  #insurances .account-block .col-sm-7,
  #insurances .account-block .col-sm-1 {
    width: 100%;
  }
  #insurances .account-block .col-sm-2.text-right {
    text-align: left !important;
  }
}
/* --------------------------------------------------------------------------------------------------------------------Info-Agent---------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 990px) {
  #infoagents .account-block {
    height: 80px;
  }
}
@media (max-width: 770px) {
  #infoagents .account-block {
    height: 210px;
  }
  #infoagents .account-block .col-sm-2.col-xs-6.text-right {
    text-align: left !important;
  }
  #infoagents .account-block .col-xs-6 {
    width: 100%;
  }
}
@media (max-width: 600px) {
  #infoagents .account-block {
    height: 270px;
  }
}
@media (max-width: 273px) {
  #infoagents .account-block {
    height: 300px;
  }
}
/* --------------------------------------------------------------------------------------------------------------------E-Mails---------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 768px) {
  #emails .table-responsive > .table > tbody > tr > td,
  #emails .table-responsive > .table > tbody > tr > th,
  #emails .table-responsive > .table > tfoot > tr > td,
  #emails .table-responsive > .table > tfoot > tr > th,
  #emails .table-responsive > .table > thead > tr > td,
  #emails .table-responsive > .table > thead > tr > th {
    white-space: inherit !important;
  }
  #emails .table-responsive > .table > tbody > tr > th:first-child {
    width: 25%;
  }
}
/* --------------------------------------------------------------------------------------------------------------------Mitgliederportal---------------------------------------------------------------------------------------------------------------------------*/
#main-content .container {
  margin: 1em 0;
  width: 100%;
}

.modal-content .content-form-page .btn {
  margin-bottom: 10px;
}
.modal-content .btn + .btn {
  margin-left: 0px;
}

@media (max-width: 1150px) {
  #account .profile-account {
    display: flex;
  }
  #account .col-md-2 {
    width: 23%;
  }
  #account .col-md-10 {
    width: 82%;
  }
  #main-content .container.min-height500.margin-bottom-40,
  #main-content .container.min-height500.margin-bottom-40 .profile .col-md-12,
  #main-content .container.min-height500.margin-bottom-40 .profile .col-md-2,
  #main-content .container.min-height500.margin-bottom-40 .profile .col-md-10 {
    padding: 0px;
  }
}
#account .row {
  margin-right: 0px;
  margin-left: 0px;
}
@media (min-width: 992px) {
  ul.ver-inline-menu.tabbable.margin-bottom-10 {
    padding: 0 25px 0 0;
  }
  #account .col-md-2 {
    width: 19.666667%;
  }
  #account .col-md-10 {
    width: 80.333333%;
  }
}
@media (max-width: 1080px) {
  #account .col-md-2 {
    width: 23%;
  }
  #account .col-md-10 {
    width: 77%;
  }
}
@media (max-width: 900px) {
  #account .profile-account {
    display: inherit;
  }
  #account .col-md-2 {
    width: 100%;
  }
  #account .col-md-10 {
    width: 100%;
  }
}
@media (max-width: 992px) {
  .content-form-page .pull-right {
    width: 100%;
  }
  .form-info {
    border-left: 0px;
    border-top: 1px solid #e4e6e8;
    padding: 30px 0 0 0;
  }
}
.row {
  margin: 0px;
}
/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
