@charset "UTF-8";
/**
 * basis_sicont – Aussehen wie das bisherige cassiopeia_sicont (user.css), auf dem Aufbau von basis.
 *
 * Reihenfolge der Ebenen: basis (tokens … design) < bootstrap < alles ohne Ebene.
 * - Bootstrap und Font Awesome (aus Joomla) bekommen eine eigene Ebene „bootstrap“. Sie wird hier zuerst
 *   erwähnt und liegt damit über den Ebenen von basis – wie bisher bei Cassiopeia gilt Bootstrap als Grundlage.
 *   OSG Seminar Manager und die Startseiten-Kacheln brauchen die Bootstrap-Klassen.
 * - Die sicont-Regeln stehen bewusst ohne Ebene: Wie die frühere user.css müssen sie gegen das CSS der
 *   Erweiterungen (DJ-MegaMenu, AcyMailing, OSG, Convert Forms) gewinnen, das ebenfalls ohne Ebene geladen wird.
 */
@import url("../../../../vendor/bootstrap/css/bootstrap.min.css") layer(bootstrap);
@import url("../../../../system/css/joomla-fontawesome.min.css") layer(bootstrap);

/* Schrift Open Sans (Überschriften), wie bisher lokal */
@font-face { font-display: swap; font-family: 'Open Sans'; font-style: normal; font-weight: 300; src: url('../fonts/open-sans-v36-latin-300.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Open Sans'; font-style: italic; font-weight: 300; src: url('../fonts/open-sans-v36-latin-300italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Open Sans'; font-style: normal; font-weight: 400; src: url('../fonts/open-sans-v36-latin-regular.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Open Sans'; font-style: italic; font-weight: 400; src: url('../fonts/open-sans-v36-latin-italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Open Sans'; font-style: normal; font-weight: 500; src: url('../fonts/open-sans-v36-latin-500.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Open Sans'; font-style: italic; font-weight: 500; src: url('../fonts/open-sans-v36-latin-500italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Open Sans'; font-style: normal; font-weight: 600; src: url('../fonts/open-sans-v36-latin-600.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Open Sans'; font-style: italic; font-weight: 600; src: url('../fonts/open-sans-v36-latin-600italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Open Sans'; font-style: normal; font-weight: 700; src: url('../fonts/open-sans-v36-latin-700.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Open Sans'; font-style: italic; font-weight: 700; src: url('../fonts/open-sans-v36-latin-700italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Open Sans'; font-style: normal; font-weight: 800; src: url('../fonts/open-sans-v36-latin-800.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Open Sans'; font-style: italic; font-weight: 800; src: url('../fonts/open-sans-v36-latin-800italic.woff2') format('woff2'); }

/* Tokens von basis: damit auch Teile von basis (Knöpfe, Rücksprung, Erweiterungen) die sicont-Farben tragen */
@layer design {
  :root {
    --ui-color-primary: #37598b;
    --ui-color-accent: #799cce;
    --ui-color-action: #37598b;
    --ui-color-on-action: #ffffff;
    --ui-color-action-hover: #4d7ec4;
    --ui-color-link: #37598b;
    --ui-color-bg: #f0f0f0;
    --ui-color-surface: #ffffff;
    --ui-color-text: #22262a;
    --ui-color-heading: #22262a;
    --ui-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    --ui-font-heading: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --ui-radius: 4px;
    --ui-radius-sm: 4px;
    --ui-container: 1320px;
    --ui-sidebar: 318px;
  }
}

:root {
  --sicont-color: #799cce;
  --sicont-blue: #0064b0;
  --sicont-primary: #37598b;
  --sicont-hover: #4d7ec4;
  --gray: #f0f0f0;
  --gray-font: #747474;
  --gray-300: #dfe3e7;
  --gray-500: #adb5bd;
  --gray-600: #6d757e;
  --body-color: #22262a;
  --font-headings: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  /* Namen der bisherigen user.css, damit Beitragsinhalte und Module mit Inline-Variablen weiter passen */
  --cassiopeia-color-primary: var(--sicont-primary);
  --cassiopeia-color-link: var(--sicont-primary);
  --cassiopeia-color-hover: var(--sicont-hover);
}

/*************************** GRUNDLAGEN ***************************/
body {
  background-color: var(--gray);
  color: var(--body-color);
  font-family: var(--ui-font-body);
  font-size: 1rem;
  line-height: 1.5;
}
a { color: var(--sicont-primary); }
a:not([class]) { text-decoration: none; }
a:hover { text-decoration: underline; color: var(--sicont-hover); }

h1, h2, h3, h4, h5 { font-family: var(--font-headings); font-weight: 500; color: var(--body-color); line-height: 1.2; }
h1 { font-size: 1.6rem; }
h2 { font-size: 1.4rem; }
h3 { font-size: 1.2rem; }
h4 { font-size: 1.1rem; }
h5 { font-size: 1rem; }
.item-page h1, .page-header h1, .ui-area--bottom h1 {
  border-bottom: 3px solid var(--gray-300);
  padding-bottom: 8px;
  margin-bottom: 20px;
}
.item-page h2, .item-page h3, .item-pagehome h2, .item-pagehome h3 { margin-top: 2em; }

/*************************** TABELLEN ***************************/
table { border: 1px solid #eee; width: 100%; text-align: left; border-collapse: collapse; margin-top: 1.5em; margin-bottom: 1.5em; }
.noborder { border: none; }
table p { margin-bottom: 0; }
th, td { border: 1px solid #eee; padding: 8px; vertical-align: middle; }
.table thead th { background-color: var(--gray); }
.table th, .table td { padding-left: 15px; padding-right: 15px; }
.noborder th, .noborder td { border: none; padding: 0 0 5px 0; }

/*************************** BILDER, LINIEN, SPALTEN ***************************/
.img-links { float: left; margin: 10px 20px 10px 0; }
.img-rechts { float: right; margin: 10px 0 10px 20px; }
@media (max-width: 480px) {
  .img-links, .img-rechts { float: none; margin: 20px 0 0; display: block; }
}
.line-unten, .line-unten-mini { background-color: var(--sicont-primary); display: block; height: 3px; margin-left: auto; margin-right: auto; margin-top: 15px; }
.line-unten { width: 150px; margin-bottom: 30px; }
.line-unten-mini { width: 100px; margin-bottom: 20px; }
.inhalt-left { width: 49%; display: inline-block; margin-right: 2%; vertical-align: top; }
.inhalt-right { width: 48%; display: inline-block; vertical-align: top; }
.inhalt-right img { float: right; }
.inhalt-left-60 { width: 59%; display: inline-block; margin-right: 2%; vertical-align: top; }
.inhalt-right-40-padleft { width: 38%; display: inline-block; vertical-align: top; padding-left: 50px; box-sizing: border-box; }
@media (max-width: 480px) {
  .inhalt-left, .inhalt-right, .inhalt-left-60 { width: 100%; margin-right: 0; }
  .inhalt-right-40-padleft { width: 100%; padding-left: 0; }
}
.clear { clear: both; }
.ul-ok { margin-top: 30px; list-style: none; margin-left: 40px; }
.ul-ok li { line-height: 1.5; margin-top: 10px; }
.ul-ok > li:before { content: "✓"; color: var(--sicont-primary); padding-right: 7px; font-weight: bold; margin-left: -20px; }

/*************************** TOPBAR ***************************/
.ui-topbar { background: var(--gray); color: var(--gray-600); border: 0; font-size: 1rem; }
.ui-topbar .ui-container { justify-content: flex-end; padding-block: 8px; }
.ui-topbar p { margin: 0; color: var(--gray-600); }
.ui-topbar a { color: var(--gray-600); text-decoration: none; }
.ui-topbar a:hover { color: var(--sicont-primary) !important; text-decoration: none; }
.fas { color: var(--sicont-primary); }

/*************************** KOPF: Logo, darunter blaues Menüband ***************************/
.ui-header {
  position: relative;
  background: linear-gradient(to top, var(--sicont-color) 60px, var(--gray) 60px);
  box-shadow: inset 0 5px 5px rgba(0, 0, 0, 0.03);
  border: 0;
  backdrop-filter: none;
}
.ui-header__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 0; padding-block: 0; min-height: 0; }
.ui-brand { flex: 0 0 100%; padding: 5px 0; margin: 8px 0 8px 8px; }
.ui-brand img, .ui-brand .ui-brand__logo { width: 500px; max-width: 100%; height: auto; max-height: none; aspect-ratio: 1323 / 265; }
.ui-header__menu { flex: 1 1 auto; height: 60px; margin: 0; }
.ui-header__actions { flex: 0 0 auto; margin: 0; }
.ui-header__actions .mod-finder input[type="text"], .ui-header__actions input.js-finder-search-query {
  width: 215px; height: 45px; padding: 9.6px 16px; font-size: 1rem; border: 1px solid #ced4da; border-radius: 4px; background: #fff;
}
.ui-header__actions label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/*************************** HAUPTMENÜ: mod_basis_megamenu im Aussehen des bisherigen DJ-MegaMenus ***************************/
/* Vorangestelltes .ui-header, damit diese Regeln gegen das Modul-CSS gewinnen (gleiche Ebene, später geladen) */
.ui-header .ext-megamenu { --emm-t-bg: #fff; --emm-t-text: #22262a; --emm-t-line: #eee; --emm-t-radius: 0; font-size: 1rem; line-height: 1.5; }
.ui-header .ext-megamenu.emm-is-desktop, .ui-header .ext-megamenu.emm-is-desktop .emm-panel, .ui-header .ext-megamenu.emm-is-desktop .emm-root { height: 60px; }
.ui-header .ext-megamenu.emm-is-desktop .emm-root { justify-content: flex-start; align-items: stretch; gap: 0; flex-wrap: nowrap; }
.ui-header .ext-megamenu.emm-is-desktop .emm-item,
.ui-header .ext-megamenu.emm-is-desktop .emm-item--parent { display: flex; align-items: stretch; height: 60px; padding: 0; border-radius: 0; background: none; transition: background-color 0.4s ease; }
.ui-header .ext-megamenu.emm-is-desktop .emm-link1 {
  display: flex; align-items: center; height: 60px; padding: 15px 25px; border-radius: 0; background: none;
  color: #fff; font-size: 1rem; font-weight: 600; line-height: 30px; text-transform: uppercase;
}
.ui-header .ext-megamenu.emm-is-desktop .emm-item--parent > .emm-link1 { padding-right: 4px; }
.ui-header .ext-megamenu.emm-is-desktop .emm-item--parent > .emm-caret {
  width: auto; height: 60px; margin: 0; padding: 0 25px 0 2px; border-radius: 0; background: none; color: #fff;
}
.ui-header .ext-megamenu.emm-is-desktop .emm-caret svg { width: 10px; height: 10px; }
/* Pfeil bleibt weiß, auch beim Überfahren, bei offenem Untermenü und mit Tastaturfokus (Modul färbt ihn sonst dunkel) */
.ui-header .ext-megamenu.emm-is-desktop .emm-item--parent:hover > .emm-caret,
.ui-header .ext-megamenu.emm-is-desktop .emm-item--parent.is-open > .emm-caret,
.ui-header .ext-megamenu.emm-is-desktop .emm-item--parent > .emm-caret:hover,
.ui-header .ext-megamenu.emm-is-desktop .emm-item--parent > .emm-caret:focus-visible { color: #fff; background: none; }
.ui-header .ext-megamenu.emm-is-desktop .emm-item.is-open > .emm-caret { transform: none; }
.ui-header .ext-megamenu.emm-is-desktop .emm-item:hover,
.ui-header .ext-megamenu.emm-is-desktop .emm-item.is-open,
.ui-header .ext-megamenu.emm-is-desktop .emm-item.is-active { background: var(--sicont-primary); }
.ui-header .ext-megamenu.emm-is-desktop .emm-item.is-active > .emm-link1 { font-weight: 600; }
/* Untermenü: weiß, 300 px, direkt unter dem Punkt, Trennlinien wie bisher */
.ui-header .ext-megamenu.emm-is-desktop .emm-item--compact .emm-mega {
  top: 100%; width: 300px; min-width: 300px; max-width: 300px; border: 0; border-radius: 0; background: #fff;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.2); transform: none;
}
.ui-header .ext-megamenu.emm-is-desktop .emm-mega::before { top: -2px; height: 2px; }
.ui-header .ext-megamenu.emm-is-desktop .emm-mega-inner { display: block; padding: 10px 15px; }
.ui-header .ext-megamenu.emm-is-desktop .emm-list > li + li { border-top: 1px solid #eee; }
.ui-header .ext-megamenu.emm-is-desktop .emm-sublink { padding: 11px 10px; border-radius: 0; color: var(--body-color); }
.ui-header .ext-megamenu.emm-is-desktop .emm-sublink-title { font-size: 1rem; font-weight: 600; }
.ui-header .ext-megamenu.emm-is-desktop a.emm-sublink:hover,
.ui-header .ext-megamenu.emm-is-desktop .emm-sublink.is-active { background: transparent; color: var(--sicont-primary); }
/* Handy: Menüknopf links im blauen Band, Leiste hellgrau von links (wie bisher) */
.ui-header .ext-megamenu.emm-is-mobile { justify-content: flex-start; height: 60px; align-items: center; }
.ui-header .ext-megamenu.emm-is-mobile .emm-burger { width: 48px; height: 48px; gap: 6px; margin-left: 4px; border-radius: 0; }
.ui-header .ext-megamenu.emm-is-mobile .emm-burger-line { width: 32px; height: 5px; border-radius: 1px; background: #22262a; }
.ui-header .ext-megamenu.emm-is-mobile .emm-panel {
  left: 0; right: auto; width: min(300px, 85vw); background: #f2f2f2; transform: translateX(-100%); box-shadow: 12px 0 40px rgba(20, 20, 20, 0.12);
}
.ui-header .ext-megamenu.emm-is-mobile.is-mobile-open .emm-panel { transform: translateX(0); }
.ui-header .ext-megamenu.emm-is-mobile .emm-mobilehead { padding: 0.25rem 0.5rem 0.25rem 1rem; border-color: #ddd; }
.ui-header .ext-megamenu.emm-is-mobile .emm-root { padding: 0 0 1.25rem; }
.ui-header .ext-megamenu.emm-is-mobile .emm-item { border-bottom: 1px solid #ddd; }
.ui-header .ext-megamenu.emm-is-mobile .emm-link1 { padding: 0.9rem 1rem; font-size: 0.95rem; font-weight: 400; color: #22262a; border-radius: 0; }
.ui-header .ext-megamenu.emm-is-mobile .emm-sublink { padding: 0.6rem 1rem 0.6rem 1.75rem; min-height: 0; border-radius: 0; }
.ui-header .ext-megamenu.emm-is-mobile .emm-sublink-title { font-weight: 400; font-size: 0.95rem; }

/*************************** DJ-MEGAMENU (unverändert aus user.css; bleibt für den Rückweg) ***************************/
.dj-megamenu-default { font-family: var(--ui-font-body) !important; background: transparent !important; height: 60px !important; z-index: 1 !important; }
.dj-megamenu-default li a.dj-up_a {
  font-size: 1rem !important; height: 60px !important; color: #ffffff !important; border-right: none !important; border-left: none !important;
  text-transform: uppercase !important; margin-right: 0 !important; transition: all 0.4s ease !important; padding: 15px 25px !important; font-weight: 600 !important;
}
.dj-megamenu-default li:hover a.dj-up_a, .dj-megamenu-default li.hover a.dj-up_a, .dj-megamenu-default li.active a.dj-up_a { color: #ffffff !important; background: var(--sicont-primary) !important; }
.dj-megamenu-default li a.dj-up_a span { height: 30px !important; line-height: 30px !important; }
.dj-megamenu-default li a.dj-up_a .arrow { top: 29px !important; right: 30px !important; }
.dj-megamenu-default li:hover a.dj-up_a .arrow, .dj-megamenu-default li.hover a.dj-up_a .arrow, .dj-megamenu-default li.active a.dj-up_a .arrow { top: 31px !important; }
.dj-megamenu-default li:hover div.dj-subwrap, .dj-megamenu-default li.hover div.dj-subwrap { background: #fff !important; }
.dj-megamenu-default li div.dj-subcol { padding: 10px 5px !important; box-sizing: border-box !important; }
.dj-megamenu-default li:hover div.dj-subwrap li:hover > div.dj-subwrap, .dj-megamenu-default li.hover div.dj-subwrap li.hover > div.dj-subwrap { background: #fff !important; box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.2) !important; }
.dj-megamenu-default li ul.dj-submenu > li { border-top: 1px solid #eee !important; }
.dj-megamenu-default li ul.dj-submenu > li:first-child { border-top: none !important; }
.dj-megamenu-default li ul.dj-submenu > li > a { font-size: 16px !important; color: var(--body-color) !important; line-height: normal !important; font-weight: 500 !important; }
.dj-megamenu-default li ul.dj-submenu > li > a:hover, .dj-megamenu-default li ul.dj-submenu > li > a.active, .dj-megamenu-default li ul.dj-submenu > li.hover:not(.subtree) > a { background: transparent !important; color: var(--sicont-primary) !important; }
.dj-megamenu-default li ul.dj-submenu > li > a.mega-titel { font-size: 16px !important; line-height: 1.5 !important; font-weight: 300 !important; }
.dj-megamenu-default li ul.dj-submenu > li.separator > a.mega-titel:hover { color: #50505a !important; }
.dj-megamenu-default .modules-wrap { padding: 0 10px !important; }
.fa.fa-close:before, .fa.fa-remove:before { content: "\f00d"; color: #b8b8b8 !important; }
.dj-megamenu-select-light .dj-mobile-open-btn, .dj-megamenu-offcanvas-light .dj-mobile-open-btn, .dj-megamenu-accordion-light .dj-mobile-open-btn {
  margin-top: 10px !important; margin-left: 15px !important; font-size: 38px !important; padding: 0 !important; background: transparent !important; color: var(--body-color) !important;
}
ul.dj-mobile-light li.dj-mobileitem > a { color: var(--body-color) !important; }

/*************************** INHALT UND SEITENLEISTE ***************************/
.ui-body { padding-block: 32px; gap: 16px; }
/* Seitenleiste rechts wie bisher (Cassiopeia „sidebar-right“) nur auf Buchung/Kontakt (582) und Dozentensuche (776);
   alle anderen Seiten haben sie links (Stil-Einstellung) */
@media (min-width: 992px) {
  .has-sidebar.sidebar-left.itemid-582 .ui-body, .has-sidebar.sidebar-left.itemid-776 .ui-body { grid-template-columns: minmax(0, 1fr) var(--ui-sidebar); }
}
.sidebar-left.itemid-582 .ui-sidebar, .sidebar-left.itemid-776 .ui-sidebar { order: 0; }
.ui-main { margin-top: 1rem; margin-bottom: 0; }                 /* Cassiopeia: main 1em Abstand */
.ui-sidebar > :first-child { margin-top: 1.45em; }               /* bisherige user.css */
.ui-sidebar .ui-card { background: transparent; border: 0; box-shadow: none; padding: 0; }
.ui-sidebar .ui-card__title, .sidebar h3 {
  font-family: var(--font-headings); font-size: 1.2rem; font-weight: 500;
  border-bottom: 3px solid var(--gray-300); padding-bottom: 8px; margin: 0 0 20px;
}
.mod-list { display: block; list-style: none; padding: 0; margin: 0 0 1rem; }
.mod-list li { display: block; margin: 0 30px 0.5rem 0; }
.mod-list li a {
  background-color: var(--sicont-primary); color: white; display: block; padding: .5em 0 .5em 1em; border-radius: 7px; text-decoration: none;
  transition: all 0.3s ease-out;
  box-shadow: 3px 3px 2px rgba(255, 255, 255, 0.5) inset, -3px -3px 2px rgba(0, 0, 0, 0.3) inset !important;
}
.mod-list li a:hover { text-decoration: none; background-color: var(--sicont-hover); color: white; }

/*************************** STARTSEITEN-KACHELN ***************************/
.homebox-gros, .homebox-klein {
  margin-bottom: 1em; color: white; text-align: center; border-radius: 7px; transition: all 0.3s ease-out;
  box-shadow: 4px 4px 3px rgba(255, 255, 255, 0.5) inset, -5px -5px 3px rgba(0, 0, 0, 0.3) inset !important;
}
.homebox-gros { background: var(--sicont-primary); margin-right: 0.2em; padding: 3em 1em 1.5em 1em; }
.homebox-gros:hover { background: #294d82; }
.homebox-klein { background: var(--sicont-color); margin-right: 0.2em; margin-left: 0.2em; padding: 1em 1em 0.5em 1em; }
.homebox-klein:hover { background: var(--sicont-hover); }
.box-grau { background: var(--gray-500); }
.box-grau:hover { background: var(--gray-600); }
.homebox-gros h2, .homebox-klein h2 { margin-top: 0; margin-bottom: 0.5em; font-size: 1.2rem; color: white; }
.homebox-gros h2 a, .homebox-klein h2 a { color: white; text-decoration: none; display: inline-block; }
.fa-regular, .fa-solid { font-size: 3rem; margin-bottom: 0.3em; }

/*************************** BLOG ***************************/
.category-desc h1 { border-bottom: 3px solid var(--gray); padding-bottom: 8px; margin-bottom: 20px; }
.page-header h2 a { color: var(--body-color); text-decoration: none; }
.page-header h2 a:hover { color: var(--sicont-primary); }
.com-content-article .item-image { margin-right: 1em; margin-bottom: 1em; }

/*************************** UNTEN: Newsletter ***************************/
/* Symbol und Anmeldeformular nebeneinander wie bisher (Cassiopeia: Flex-Zeile in der Inhaltsbreite) */
.ui-area--bottom {
  display: flex; align-items: flex-start; background-color: #e3e3e3;
  padding: 16px max(16px, calc((100% - 1320px) / 2)) 8px;
}
.ui-area--bottom > * { flex: 0 1 auto; margin: 0; }
.ui-area--bottom .ui-section, .ui-area--bottom .ui-section__inner { padding: 0; margin: 0; max-width: none; width: auto; background: transparent; }
.ui-area--bottom > .newsletter { flex: 0 0 59px; }
.ui-area--bottom > .no-card { flex: 0 1 931px; }

/*************************** FUSS: drei Spalten, Copyright-Band ***************************/
.ui-footer { background-color: #d7d7d7; color: var(--body-color); border: 0; padding: 0; margin: 0; }
.ui-footer a { color: var(--body-color); text-decoration: none; }
.ui-footer a:hover { color: var(--sicont-primary); }
.ui-footer__grid { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 2.5rem 0.5em; margin: 0; }
.ui-footer__grid .mod-custom { margin-top: 1em; }
@media (max-width: 991.98px) {
  .ui-footer__grid { flex-direction: column; }
}
.ui-footer__bottom {
  display: flex; justify-content: center; padding: 1rem .5rem 0; margin: 0; border: 0;
  background: #cecece; box-shadow: 0 0 0 100vmax #cecece; clip-path: inset(0 -100vmax);
}
.ui-footer__text { display: none; }
.footer1 { margin-bottom: 1rem; }
.footer2 { display: none; }

/*************************** KONTAKTFORMULAR „Schnelle Kontaktaufnahme“ (Aussehen wie früher Convert Forms) ***************************/
.sicont-kontaktformular { --basis-cf-row-gap: 20px; --basis-cf-label-gap: 7px; font-family: Arial, sans-serif; color: #585858; }
.ui-sidebar .sicont-kontaktformular form { background: #e3e3e3; padding: 20px; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.sicont-kontaktformular .control-label { margin: 0 0 7px; }
.sicont-kontaktformular .control-label label { font-size: 16px; line-height: 1.3; font-weight: 400; color: #585858; margin: 0; }
.sicont-kontaktformular .star { color: #d73e31; }
.sicont-kontaktformular .form-control {
  font-family: Arial, sans-serif; font-size: 16px; color: #585858; background: #fff; border: 1px solid #ccc; border-radius: 3px;
  padding: 12px; min-height: 44px; height: 44px; box-shadow: none;
}
.sicont-kontaktformular textarea.form-control { height: 128px; }
.sicont-kontaktformular .sicont-consent .form-check { display: flex; gap: 8px; align-items: flex-start; padding: 0; margin: 0; min-height: 0; }
.sicont-kontaktformular .sicont-consent .form-check-input { float: none; margin: 4px 0 0; flex: 0 0 auto; border-color: #767676; }
.sicont-kontaktformular .sicont-consent .form-check-label { font-size: 16px; line-height: 1.4; color: #585858; }
/* POW Captcha löst sich beim Ausfüllen selbst (autosolve „onfocus“) – das Kästchen ist nur optisch ausgeblendet,
   wie bisher der unsichtbare Schutz von Convert Forms. Schlägt die Prüfung fehl, meldet Joomla das oben auf der Seite. */
.sicont-kontaktformular .sicont-captcha { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sicont-kontaktformular .btn-primary { font-family: Arial, sans-serif; font-size: 16px; padding: 13px 20px; border: 0; border-radius: 3px; background: #37598b; color: #fff; }
.sicont-kontaktformular .btn-primary:hover { background: #4d7ec4; }
.ui-sidebar .kontaktformular .ui-card__body > p { margin: 0; }

/*************************** COOKIES ***************************/
#cookiehintsubmit { background: var(--sicont-primary) !important; }
#cookiehintsubmit:hover { background: var(--sicont-hover) !important; }
#cookiehintsubmitno, #cookiehintsubmitno:hover { background: #fff !important; color: var(--sicont-primary) !important; border: 2px solid var(--sicont-primary) !important; }

/*************************** BOOTSTRAP IN SICONT-FARBEN (bisher von Cassiopeia gesetzt) ***************************/
.btn-primary { --bs-btn-bg: #37598b; --bs-btn-border-color: #37598b; --bs-btn-hover-bg: #4d7ec4; --bs-btn-hover-border-color: #4d7ec4;
  --bs-btn-active-bg: #294d82; --bs-btn-active-border-color: #294d82; background-color: #37598b; border-color: #37598b; color: #fff; }
.btn-primary:hover, .btn-primary:focus { background-color: #4d7ec4; border-color: #4d7ec4; color: #fff; }
.form-control, .form-select, input.inputbox, select.inputbox {
  padding: 9.6px 16px; font-size: 1rem; line-height: 1.5; color: #22262a; background-color: #fff;
  border: 1px solid #ced4da; border-radius: 4px; box-shadow: none; min-height: 45px;
}
.form-select { padding-right: 48px; background-color: #eaedf0; }
textarea.form-control { min-height: 0; }
.form-check-input { width: 1em; height: 1em; min-height: 0; padding: 0; }
.pagination { gap: 0; }
.pagination .page-link {
  display: block; padding: 6px 12px; margin-left: -1px; font-size: 1rem; line-height: 1.5; border-radius: 0;
  color: #37598b; background-color: #fff; border: 1px solid #dfe3e7; min-width: 0; height: auto; box-shadow: none;
}
.pagination .page-item:first-child .page-link { margin-left: 0; border-radius: 4px 0 0 4px; }
.pagination .page-item:last-child .page-link { border-radius: 0 4px 4px 0; }
.pagination .page-item.active .page-link { color: #fff; background-color: #010156; border-color: #010156; }
.pagination .page-item.disabled .page-link { color: rgba(34, 38, 42, 0.75); background-color: #eaedf0; border-color: #dfe3e7; }

/*************************** ACYMAILING ***************************/
/* Eingabefeld wie bisher ohne Template-Gestaltung (Cassiopeia hat es nicht gestaltet) */
.acym_form input[type="email" i] {
  display: inline-block; width: 100%; max-width: 90%; height: 45px; padding: 1px 2px; background: #fff; color: #000; border: 2px inset #767676; border-radius: 0; box-shadow: none; font-size: 1rem;
}
.newsletter .fa-regular { color: var(--sicont-primary); font-size: 3.7rem; margin-top: 0.4em; }
.acym_module_form .onefield { margin: 10px 0; text-align: right; }
.acym_posttext { font-size: 0.8rem; padding-left: 4em; }
@media (max-width: 767.98px) {
  .newsletter { display: none; }
  .acym_module_form .onefield { text-align: left; }
  .acym_posttext { padding-left: 0; }
}

/*************************** OSG SEMINAR MANAGER ***************************/
.seminarman-course h1, .seminarman-course h2, .seminarman-course h3 { color: var(--sicont-blue); }
.seminarman-table a { text-decoration: none; }
.course_details, .prospect_details { border: none !important; margin-bottom: 30px !important; background-color: #e3e3e3; }
.seminarman-course-booking-headline { margin-top: 2em; }
.seminarman-course-desc-headline { margin-bottom: 1em; }
.text-hinweis { color: var(--sicont-blue); }
table.table.seminarman-table { --table-bg: transparent; --bs-table-bg: transparent; box-shadow: 0 0 2px 3px rgba(0, 0, 0, 0.1); }
table.seminarman-table th, table.seminarman-table th a { background-color: #365686; color: #ffffff; }
table.seminarman-table tbody tr:nth-child(2n+1) { background-color: #ececec; }
table.seminarman-table tbody tr:nth-child(2n) { background-color: #d2d2d2; }
table.seminarman-table tbody tr { border-bottom: 3px solid #ffffff; }
table.seminarman-table tbody td:first-child:first-child, table.seminarman-table thead th:first-child { border-right: 3px solid #ffffff; }
div.form-check.form-check-inline:last-child { margin-top: 12px; margin-left: -25px; }
#jform_booking_consents2 { display: none; }
.bg-primary { display: none; }
