:root{
  --hsg-blue:#0b3f78;
  --hsg-blue-dark:#082f59;
  --hsg-blue-light:#eaf1f8;
  --hsg-text:#1f2933;
  --hsg-muted:#6b7280;
  --hsg-border:#d9dee5;
  --hsg-bg:#ffffff;
  --hsg-footer:#00a5d3;
  --hsg-max:1320px;
}

html{scroll-behavior:smooth}
body{
  margin:0;
  background:#fff;
  color:var(--hsg-text);
  font-family:'Lato',Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto}
a{color:var(--hsg-blue);text-decoration:none}
a:hover,a:focus{color:var(--hsg-blue-dark);text-decoration:none}


.page {
    min-height: 100vh;
    overflow: visible;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 5000;
    width: 100%;
    background: #fff;
    overflow: visible;
}

.blau {  background: #00a5d3;}
.blau * {color:#FFFFFF;}
main .blau h2 {margin:0; font-size: 38px;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;}

.container{
  width:100%;
  max-width:var(--hsg-max);
  margin-inline:auto;
  padding-inline:24px;
}

/* Hero / Kopfbild */
.headerimage-outer{
  width:100%;
  overflow:hidden;
  background:#f3f4f6;
}
.headerimage-inner,
.headerimage-inner .frame,
.headerimage-inner .frame-container,
.headerimage-inner .frame-inner{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
.headerimage-inner figure{margin:0}
.headerimage-inner img{
  display:block;
  width:100%;
  height:auto;
}

/* MAIN CONTENT */
#main{display:block;background:#fff}


.frame{margin-bottom:34px}
.frame:last-child{margin-bottom:0}
.frame-container{
  width:100%;
  max-width:var(--hsg-max);
  margin-inline:auto;
}
.frame-inner{width:100%}
/* =========================================================
   TYPOGRAFIE / ÜBERSCHRIFTEN
   klare Hierarchie: H1 > H2 > H3
   ========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  font-family: 'Lato', sans-serif;
  color: #007899;
  line-height: 1.2;
}

main h1,
header h1 {
  margin: 2% 0;
  padding: 0 0 20px;
  border-bottom: 1px solid #B1B1B1;
  color: #007899;
  font-size: 35px !important;
  font-weight: 600;
  text-transform: uppercase;
	text-align: center;
}

main h2 {
  margin: 28px 0 16px;
  color: #007899;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.25;
}

main h3 {
  margin: 22px 0 12px;
  color: #007899;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.25;
}

main h4 {
  font-size: 21px;
  font-weight: 700;
}

main h5 {
  font-size: 18px;
  font-weight: 700;
}

main h6 {
  font-size: 16px;
  font-weight: 700;
}




p{margin-top:0;margin-bottom:1rem}
ul,ol{margin-top:0}

/* TYPO3 gallery / textmedia */
.textmedia{width:100%}
.gallery-row{
  display:flex;
  flex-wrap:wrap;
}
.gallery-item{min-width:0}
.image{margin:0}
.image img{display:block}

/* Utility layouts aus deinem TypoScript */
.hunderter{width:100%}
.grafikelement,
.gruen,
.hell,
.rot,
.grau,
.secg,
.grid-gv,
.grid-firmen,
.ruckblick,
.acc{
  width:100%;
}
.gruen{background:#e8f3ef}
.hell{background:#f5f7fa}
.rot{background:#f7e8e8}
.grau{background:#eef0f2}
.secg{padding:32px}
.grid-gv,
.grid-firmen{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}

/* Buttons */
.btn,
button,
input[type="submit"]{
  border-radius:0;
}
.btn-primary,
input[type="submit"]{
  background:var(--hsg-blue);
  border-color:var(--hsg-blue);
}
.btn-primary:hover,
.btn-primary:focus,
input[type="submit"]:hover{
  background:var(--hsg-blue-dark);
  border-color:var(--hsg-blue-dark);
}

/* Tabellen */
table{width:100%;border-collapse:collapse}
th,td{
  padding:11px 12px;
  border-bottom:1px solid var(--hsg-border);
  text-align:left;
}
th{color:var(--hsg-blue)}

/* FOOTER */
.fusszeile{
  position:relative;
  background:var(--hsg-footer);
  color:#fff;
  padding:58px 24px 30px;
}
.fusszeile > .frame,
.fusszeile > .frame .frame-container{
  max-width:var(--hsg-max);
  margin-inline:auto;
}
.fusszeile .frame{margin-bottom:34px}
.fusszeile .gallery-row{
  justify-content:center;
  align-items:center;
}
.fusszeile figure{text-align:center}
.fusszeile img{
  display:block;
  width:auto;
  max-width:min(320px,80vw);
  max-height:180px;
  margin:0 auto;
  object-fit:contain;
}
.fusszeile h1,
.fusszeile h2,
.fusszeile h3,
.fusszeile p{color:#fff}
.fusszeile h2{
  margin:24px 0 18px;
  font-size:clamp(1.6rem,3vw,2.5rem);
}
.fusszeile a{
  color:#fff !important;
  font-weight:700;
  text-transform:uppercase;
}
.fusszeile a:hover,
.fusszeile a:focus{
  color:#fff;
  text-decoration:underline;
}
.fusszeile .textmedia-text{text-align:center}
.copyright{
  max-width:var(--hsg-max);
  margin:24px auto 0;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.35);
  color:#fff;
  text-align:center;
  font-size:.9rem;
}

/* Breadcrumb */
.breadcrumb-wrap{
  margin-bottom:28px;
  font-size:.9rem;
}
.breadcrumb-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.breadcrumb-list li:not(:last-child)::after{
  content:"›";
  margin-left:8px;
  color:var(--hsg-muted);
}

/* =========================================================
   HEADER / DESKTOP-MENÜ – BEREINIGT
   ========================================================= */


/* obere weiße Leiste */
.header-top {
    height: 79px;
    background: #fff;
    overflow: visible;
}

.header-top-inner {
    position: relative;
    display: flex;
    align-items: center;
    height: 79px;
    overflow: visible;
}

/* Kontakt */
.header-contact {
    margin-left: 180px;
}

.header-contact a {
    color: #262626;
    font-family: 'Lato', sans-serif;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
}

.header-contact a:hover,
.header-contact a:focus {
    color: #00a5d3;
}

/* Sponsorlogos rechts oben */
.header-sponsors {
    margin-left: auto;
    overflow: visible;
	margin-top: 24px;
}

.header-sponsors .frame,
.header-sponsors .frame-container,
.header-sponsors .frame-group-container,
.header-sponsors .frame-group-inner,
.header-sponsors .frame-inner,
.header-sponsors .textmedia,
.header-sponsors .textmedia-gallery {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.header-sponsors .gallery-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 24px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.header-sponsors .gallery-item,
.header-sponsors .gallery-item-size-4 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.header-sponsors figure,
.header-sponsors picture {
    display: block;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.header-sponsors img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 150px !important;
    max-height: 50px !important;
    object-fit: contain;
}

/* Türkise Navigationsleiste */
.header-navigation {
    position: relative;
    z-index: 4000;
    height: 56px;
    background: #00a5d3;
    overflow: visible;
}

.header-navigation-inner {
    position: relative;
    display: flex;
    align-items: center;
    height: 56px;
    overflow: visible;
}

/* HSG-Wappen */
.site-logo {
    position: absolute;
    z-index: 10000;
    left: 0;
    top: -45px;
    width: 145px;
    height: auto;
}

.site-logo .frame,
.site-logo .frame-container,
.site-logo .frame-group-container,
.site-logo .frame-group-inner,
.site-logo .frame-inner,
.site-logo .textmedia,
.site-logo .textmedia-gallery,
.site-logo .gallery-row,
.site-logo .gallery-item,
.site-logo figure,
.site-logo picture {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

.site-logo img {
    display: block;
    width: 145px !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
}

/* Desktop-Menü RECHTSBÜNDIG */
.desktop-menu {
    position: relative;
    z-index: 5000;
    width: auto;
    margin-left: auto;
    padding-left: 180px;
    overflow: visible;
}

.desktop-menu .navilo {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: visible;
}

.desktop-menu .nav-item {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: visible;
}

.desktop-menu .nav-item > a,
.desktop-menu .nav-item > span {
    display: flex;
    align-items: center;
    height: 56px;
    padding: 0 12px;
    background: transparent;
    color: #fff;
    font-family: 'Lato', sans-serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
}

.desktop-menu .nav-item > a:hover,
.desktop-menu .nav-item > span:hover,
.desktop-menu .nav-item.active > a,
.desktop-menu .nav-item.active > span {
    color: #fff;
    background: rgba(0,0,0,.08);
}

/* keine alten Pseudo-Unterstreichungen */
.desktop-menu .nav-item > a::after,
.desktop-menu .nav-item > span::after {
    display: none;
}

/* Level 2 */
.desktop-menu .nav-item > .sub2 {
    position: absolute;
    z-index: 99999;
    top: 56px;
    left: 0;
    display: none;
    min-width: 300px;
    width: max-content;
    max-width: 420px;
    margin: 0;
    padding: 5px 0;
    list-style: none;
    background: #00a5d3;
    border: 0;
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
    overflow: visible;
}

.desktop-menu .nav-item:hover > .sub2,
.desktop-menu .nav-item:focus-within > .sub2 {
    display: block;
}

.desktop-menu .sub2 > .sub-item {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    background: #00a5d3;
    list-style: none;
}

.desktop-menu .sub2 > .sub-item,
.desktop-menu .sub2 > .sub-item > a,
.desktop-menu .sub2 > .sub-item > span {
    color: #fff;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
}

.desktop-menu .sub2 > .sub-item > a,
.desktop-menu .sub2 > .sub-item > span {
    display: block;
    width: 100%;
    padding: 11px 16px;
    background: transparent;
    text-decoration: none;
}

/* nicht verlinkte Level-2-Einträge aus TypoScript */
.desktop-menu .sub2 > .sub-item:not(.has-sub):not(:has(> a)) {
    padding: 11px 16px;
}

.desktop-menu .sub2 > .sub-item:hover,
.desktop-menu .sub2 > .sub-item:hover > a,
.desktop-menu .sub2 > .sub-item:hover > span {
    color: #fff;
    background: #008ab1;
}

/* Level 3 */
.desktop-menu .sub2 .sub-item > .sub3 {
    position: absolute;
    z-index: 100000;
    top: 0;
    left: 100%;
    display: none;
    min-width: 280px;
    width: max-content;
    margin: 0;
    padding: 5px 0;
    list-style: none;
    background: #00a5d3;
    border: 0;
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

.desktop-menu .sub2 .sub-item:hover > .sub3,
.desktop-menu .sub2 .sub-item:focus-within > .sub3 {
    display: block;
}

.desktop-menu .sub3-item {
    margin: 0;
    padding: 0;
    list-style: none;
}

.desktop-menu .sub3-item > a {
    display: block;
    padding: 11px 16px;
    color: #fff;
    background: #00a5d3;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    text-decoration: none;
    white-space: nowrap;
}

.desktop-menu .sub3-item > a:hover,
.desktop-menu .sub3-item.active > a {
    color: #fff;
    background: #008ab1;
}

/* Hamburger */
.mobile-toggle {
    margin-left: auto;
    width: 46px;
    height: 46px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.mobile-toggle span {
    display: block;
    width: 26px;
    height: 3px;
    background: #fff;
}

.headerimage-outer {
    position: relative;
}

/* Header responsive */
@media (max-width: 1199.98px) {
    .header-sponsors .gallery-row {
        gap: 15px !important;
    }

    .header-sponsors img {
        max-width: 120px !important;
        max-height: 44px !important;
    }

    .desktop-menu {
        padding-left: 140px;
    }

    .desktop-menu .nav-item > a,
    .desktop-menu .nav-item > span {
        padding: 0 9px;
        font-size: 18px;
    }
}

@media (max-width: 991.98px) {
    .header-top,
    .header-top-inner {
        height: auto;
        min-height: 72px;
    }

    .header-contact {
        margin-left: 120px;
    }

    .header-sponsors {
        display: none;
    }

    .site-logo {
        top: -38px;
        width: 115px;
    }

    .site-logo img {
        width: 115px !important;
    }

    .desktop-menu {
        display: none !important;
    }
}



/* =========================================================
   TX_NEWS – NEWS-BASIC.CSS OVERRIDES
   ========================================================= */

.news .news-list-view {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
}

.news .news-list-view .article,
#pageid1 .news .news-list-view .article {
    float: none !important;
    display: flex;
    flex-direction: column;
    width: 100% !important;
    min-width: 0;
    min-height: 346px;
    margin: 0 !important;
    padding: 8px !important;
    border: 0 !important;
    background: #00a5d3;
    overflow: hidden;
}

/* gleiche Bildhöhe, Bild füllt den Rahmen */
.news .news-list-view .article .news-img-wrap,
#pageid1 .news .news-list-view .article .news-img-wrap {
    float: none !important;
    display: block;
    width: 100% !important;
    height: 500px;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #fff;
}

.news .news-list-view .article .news-img-wrap a,
#pageid1 .news .news-list-view .article .news-img-wrap a {
    float: none !important;
    display: block;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    overflow: hidden;
}

.news .news-list-view .article .news-img-wrap img,
#pageid1 .news .news-list-view .article .news-img-wrap img {
    float: none !important;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover;
    object-position: center center;
}

/* Überschrift */
.news .news-list-view .article .header {
    min-height: 82px;
    margin: 0;
    padding: 10px 12px 4px;
}

.news .news-list-view .article .header h3 {
    margin: 0;
    padding: 0;
    line-height: 1.1;
}

.news .news-list-view .article .header h3 a {
    color: #fff !important;
    font-family: 'Lato', sans-serif;
    font-size: 24px !important;
    font-weight: 400;
    line-height: 1.1;
    text-decoration: none !important;
}

/* Teaser */
.news .news-list-view .article .teaser-text {
    flex: 1;
    margin: 0 !important;
    padding: 8px 12px 16px;
}

.news .news-list-view .article .teaser-text p {
    margin: 0 0 8px;
    color: #262626;
    font-size: 18px;
    line-height: 1.45;
}

.news .news-list-view .footer,
.news .news-list-view .news-list-date,
.news .news-list-view .news-list-category {
    display: none !important;
}

.news .news-list-view .more {
    color: #007899;
    font-size: 15px;
    font-weight: 700;
    font-style: italic;
    text-transform: uppercase;
}

/* Detailansicht */
.news.news-single .article {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent;
}

.news.news-single .article .news-img-wrap {
    float: right !important;
    width: 50% !important;
    margin: 0 !important;
    padding: 0 0 25px 30px !important;
    background: transparent !important;
}

.news.news-single .article .news-img-wrap .outer {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

.news.news-single .article .news-img-wrap a {
    float: none !important;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}

.news.news-single .article .news-img-wrap img {
    float: none !important;
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0;
    padding: 0 !important;
    object-fit: contain;
}

.news.news-single .teaser-text {
    margin: 0 0 20px !important;
    color: #262626;
    font-size: 18px;
}

.news.news-single .news-text-wrap {
    font-size: 18px;
    line-height: 1.55;
}

.news.news-single .article::after {
    content: "";
    display: table;
    clear: both;
}

.news .footer,
.news-list-date,
.news-list-category {
    display: none !important;
}

@media (max-width: 991.98px) {
    .news .news-list-view {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .news .news-list-view .article .news-img-wrap {
        height: 260px;
    }

    .news.news-single .article .news-img-wrap {
        width: 45% !important;
        padding-left: 20px !important;
    }
}

@media (max-width: 767.98px) {
    .news .news-list-view {
        grid-template-columns: 1fr;
    }

    .news .news-list-view .article .news-img-wrap {
        height: 500px;
    }

    .news .news-list-view .article .header {
        min-height: 0;
    }

    .news.news-single .article .news-img-wrap {
        float: none !important;
        width: 100% !important;
        margin: 0 0 25px !important;
        padding: 0 !important;
    }
}

/* =========================================================
   PARTNER-GRIDS NACH TYPO3 FRAME-KLASSE
   custom-15 = Hauptsponsor
   custom-11 = Goldpartner
   custom-12 = Silverpartner
   custom-13 = Partner
   custom-14 = Kooperationspartner
   custom-16 = Partnergemeinden
   ========================================================= */

/* Gemeinsame Grid-Basis */
.frame-custom-11 .gallery-row,
.frame-custom-12 .gallery-row,
.frame-custom-13 .gallery-row,
.frame-custom-14 .gallery-row,
.frame-custom-15 .gallery-row,
.frame-custom-16 .gallery-row {
    display: grid !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 28px 0 42px !important;
    gap: 24px !important;
    align-items: stretch !important;
}

/* TYPO3-Galeriebreiten neutralisieren */
.frame-custom-11 .gallery-item,
.frame-custom-12 .gallery-item,
.frame-custom-13 .gallery-item,
.frame-custom-14 .gallery-item,
.frame-custom-15 .gallery-item,
.frame-custom-16 .gallery-item {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Kacheloptik für alle Partnergruppen außer Hauptsponsor */
.frame-custom-11 .gallery-item,
.frame-custom-12 .gallery-item,
.frame-custom-13 .gallery-item,
.frame-custom-14 .gallery-item,
.frame-custom-16 .gallery-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 170px !important;
    background: #fff !important;
    border: 1px solid #e1e4e8 !important;
    border-radius: 5px;
    box-shadow: 0 3px 14px rgba(0,0,0,.07);
    overflow: hidden;
}

/* Innere Elemente zentrieren */
.frame-custom-11 figure.image,
.frame-custom-12 figure.image,
.frame-custom-13 figure.image,
.frame-custom-14 figure.image,
.frame-custom-15 figure.image,
.frame-custom-16 figure.image,
.frame-custom-11 figure.image > a,
.frame-custom-12 figure.image > a,
.frame-custom-13 figure.image > a,
.frame-custom-14 figure.image > a,
.frame-custom-15 figure.image > a,
.frame-custom-16 figure.image > a,
.frame-custom-11 picture,
.frame-custom-12 picture,
.frame-custom-13 picture,
.frame-custom-14 picture,
.frame-custom-15 picture,
.frame-custom-16 picture {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Logos in den normalen Kacheln */
.frame-custom-11 img,
.frame-custom-12 img,
.frame-custom-13 img,
.frame-custom-14 img,
.frame-custom-16 img {
    display: block !important;
    width: auto !important;
    height: auto !important;

    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
}


.frame-custom-12 img,
.frame-custom-13 img,
.frame-custom-16 img {
    max-width: 82% !important;
	max-height: 105px !important;}





/* Hauptsponsor – 1 Spalte, ca. 80 % */
.frame-custom-15 .gallery-row {
    grid-template-columns: minmax(0, 80%) !important;
    justify-content: center !important;
}

.frame-custom-15 .gallery-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 300px !important;
    padding: 28px !important;
    background: #fff !important;
    border: 1px solid #e1e4e8 !important;
    border-radius: 5px;
    box-shadow: 0 3px 14px rgba(0,0,0,.07);
}

.frame-custom-15 img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 82% !important;
    max-height: 240px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}


/* Goldpartner – 2 Spalten */
.frame-custom-11 .gallery-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}




/* Silverpartner – 2 Spalten / 2 Reihen zentriert */
.frame-custom-12 .gallery-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 900px;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
}


/* Partner – 4 Spalten */
.frame-custom-13 .gallery-row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	    margin-left: auto !important;
    margin-right: auto !important;
}


/* Kooperationspartner – 4 Spalten */
.frame-custom-14 .gallery-row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	    margin-left: auto !important;
    margin-right: auto !important;
}


/* Partnergemeinden – 2 Spalten */
.frame-custom-16 .gallery-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	    margin-left: auto !important;
    margin-right: auto !important;
}


/* Tablet */
@media (max-width: 991.98px) {
    .frame-custom-12 .gallery-row,
    .frame-custom-13 .gallery-row,
    .frame-custom-14 .gallery-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .frame-custom-15 .gallery-row {
        grid-template-columns: minmax(0, 90%) !important;
    }
}


/* Handy */
@media (max-width: 575.98px) {
    .frame-custom-11 .gallery-row,
    .frame-custom-12 .gallery-row,
    .frame-custom-13 .gallery-row,
    .frame-custom-14 .gallery-row,
    .frame-custom-16 .gallery-row {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 20px 0 30px !important;
    }

    .frame-custom-11 .gallery-item,
    .frame-custom-12 .gallery-item,
    .frame-custom-13 .gallery-item,
    .frame-custom-14 .gallery-item,
    .frame-custom-16 .gallery-item {
        min-height: 135px !important;
    }

    .frame-custom-15 .gallery-row {
        grid-template-columns: 1fr !important;
    }

    .frame-custom-15 .gallery-item {
        min-height: 200px !important;
        padding: 20px !important;
    }
}


/* normale TYPO3-Links */
main .frame a:not([class]) {
    color: #007899;
    text-decoration: none;
}

main .frame a:not([class]):hover {
    color: #00a5d3 !important;
    text-decoration: underline;
}

/* Buttons */
main .btn,
main .news-backlink-wrap a {
    color: #fff !important;
    text-decoration: none !important;
}

/* normale Aufzählungslisten im Inhalt */
main ul.list-normal {
    margin: 20px 0 25px;
    padding-left: 28px;
    list-style: none;
}

main ul.list-normal li {
    position: relative;
    margin: 0 0 14px;
    padding-left: 22px;

    font-family: 'Lato', sans-serif;
    font-size: 18px;
    line-height: 1.5;
    color: #262626;
}

/* eigener türkiser Bullet */
main ul.list-normal li::before {
    content: "";
    position: absolute;

    left: 0;
    top: .65em;

    width: 8px;
    height: 8px;

    background: #00a5d3;
    border-radius: 50%;

    transform: translateY(-50%);
}

/* falls TYPO3 trotzdem ein <p> im <li> erzeugt */
main ul.list-normal li p {
    margin: 0 !important;
    padding: 0 !important;
}

/* Steckbrief in News-Detail */
.news.news-single .news-text-wrap figure.table {
    height: auto !important;
    width: calc(50% - 30px) !important;
    max-width: calc(50% - 30px);
    margin: 0;
}

.news.news-single .news-text-wrap .table-responsive {
    width: 100%;
    overflow: visible;
}

.news.news-single .news-text-wrap table.table {
    width: 100%;
}
