/* CSS aus Theme Customizer */


/* Farben */
:root {
	--ag-color-dark-red: #8c0900;
   --ag-color-site-background: #fff;
   --ag-color-black: #141414;
   --ag-color-grey-900: #2b2b2b;
   --ag-color-grey-800: #3b3b3b;
   --ag-color-grey-700: #4a4a4a;
   --ag-color-grey-600: #6e6e6e;
   --ag-color-grey-400: #a3a3a0;
   --ag-color-grey-300: #d8d8d5;
   --ag-color-grey-150: #ececea;
   --ag-color-grey-100: #f6f6f4;
}

/* System-Parameter */
:root {
	--ag-sticky-header-height: 219px; /* Hoehe Header */
   --ag-sticky-toc-height: 60px; /* Hoehe simpleToc */
}

/*
@media screen {
  html {
    margin-top: 0px !important;
  }
}


#wpadminbar {
	display: none;
}
*/

/* GeneratePress-Seitenrahmen auf volle Breite */
#page.grid-container {
    width: 100%;
    max-width: none;
}

/* GeneratePress-Header auf volle Breite */
header.site-header.grid-container {
	width: 100%;
   max-width: none;
	background-color: var(--ag-color-site-background);
}

/* Seiteninhalt ohne GeneratePress-Innenabstand */
body.page .inside-article {
    padding: 0;
}


/* GeneratePress Customizer - Container - Ihaltslayout */
.separate-containers .site-main {
   margin-bottom: 0;
}



/* Headerbereich Anordnung Logo und Navigation untereinander */

@media (min-width: 769px) {

   .site-header .inside-header {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      max-width: 1280px;
      margin-inline: auto;
    }

   .inside-header {
      padding: 20px 0px;
}

    .site-header .site-logo {
        margin: 40px 0px;
    }

    .nav-float-right #site-navigation {
        width: 100%;
        margin-left: 0;
    }

    #site-navigation .inside-navigation {
        _justify-content: center;
    }
}


/* Hauptnavigation Farben fuer Links und Link-Zustaende definieren */
/* Normaler Menuelink */
.main-navigation .main-nav > ul > li > a {
    color: black;
}

/* Hover / Focus: keine blaue GP-Akzentfarbe */
.main-navigation .main-nav > ul > li:not([class*="current-menu-"]):hover > a,
.main-navigation .main-nav > ul > li:not([class*="current-menu-"]):focus > a {
    color: black;
}

/* Aktive Seite */
.main-navigation .main-nav > ul > li.current-menu-item > a,
.main-navigation .main-nav > ul > li.current_page_item > a {
    color: black;
}


/* Hauptnavigation */
.main-navigation .grid-container {
   width: 100%;
   max-width: 1280px;
	border-bottom: 1px solid var(--ag-color-grey-300);
 }

.main-navigation .inside-navigation {
   align-items: center;
}

/* Bei einzelnen Menuepunkt padding entfernen */
/* line-height reduziert Hoehe */
.main-navigation .main-nav ul li a {
   line-height: 40px;
   font-weight: 500;
   padding: 0;
}

/* Padding wieder einsetzen */
.main-navigation .main-nav ul li {
   padding-left: 20px;
   padding-right: 20px;
}

/* Erster Menuepunkt */
.main-navigation .main-nav ul li:first-of-type {
   padding-left: 0px;
}


/* Menuepunkt Sprache */
.main-navigation .main-nav ul li:last-of-type {
   padding-left: 20px;
}

/* line-height reduziert Hoehe fuer Suche-Button rechts */
.main-navigation .menu-bar-item > a {
   line-height: 40px;
}

@media (min-width: 769px) {

    #site-navigation .main-nav {
        position: relative;
        width: 100%;
    }

    #site-navigation .main-nav > ul {
        position: relative;
        width: 100%;
        justify-content: left;
    }

    #site-navigation .main-nav > ul > li.lang-item-en {
        position: absolute;
        right: 0;
        top: 0;
    }
}



/* Navigation Markierung mit Linie */
.main-navigation .main-nav > ul > li > a {
    position: relative;
    text-decoration: none;
}

/* Untere Linie im Ausgangszustand */
.main-navigation .main-nav > ul > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 0;
    height: 3px;
    color: black;
    background: currentColor;
    transition: right 160ms ease;
}

/* Hover / Tastaturfokus */
.main-navigation .main-nav > ul > li > a:hover::after,
.main-navigation .main-nav > ul > li > a:focus-visible::after {
    right: 0;
}

/* Textfarbe aktive Seite */
.main-navigation .main-nav > ul > li.current-menu-item > a,
.main-navigation .main-nav > ul > li.current_page_item > a {
    color: var(--ag-color-heading);
}

/* Aktive Seite dauerhaft markieren */
.main-navigation .main-nav > ul > li.current-menu-item > a::after,
.main-navigation .main-nav > ul > li.current_page_item > a::after {
    right: 0;
}


/* Sticky Parameter fuer Hauptnavigation und SimpleToc */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
}

.wp-block-ag-section.ag-section:has(.simpletoc) {
	position: sticky;
  top: var(--ag-sticky-header-height);
  z-index: 900;
  background: #fff;
	padding: 10px 0px!Important;
}


/* SimpleToc Menue */
/* Linie unter Verlinkung */
.entry-content h2[id],
.entry-content h3[id] {
   scroll-margin-top:
      calc(
         var(--ag-sticky-header-height)
         + var(--ag-sticky-toc-height)
         + 30px
      );
}

.simpletoc {
   display: flex;
   align-items: baseline;
   gap: 32px;
   width: fit-content;
   padding: 5px 0;
   margin-inline: auto;
   margin-bottom: 25px;
   border-block: 1px solid var(--ag-color-grey-300);
}

.simpletoc-title {
   margin: 0;
}

.simpletoc ul.simpletoc-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px;
    margin: 0;
    padding: 0;
    list-style: none;
}

p.simpletoc-title,
.simpletoc-list a {
   font-size: 16px;
   font-weight: 500;
	text-decoration: none;
   color: black;
}

.simpletoc-list a:hover {
   border-bottom: 2px solid black;
}


/* Typografie */

/* Seitentitel ausblenden */
h1.entry-title {
	display: none;
}

/* Ueberschrift */
.ag-headline-uppercase {
  display: block;
  margin-block-end: 1.0rem;
  font-size: 1.025rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ag-color-dark-red);
}

/* Typografie Hero-Bereich */
/* Hero h1 */
.site-main .ag-section:first-of-type h1{
   margin-block-start: 1.0rem;
   max-width: 16ch;
   font-size: clamp(3.2rem, 2rem + 3.6vw, 4.8rem);
   line-height: 0.98;
   letter-spacing: 0.0125em;
   font-weight: 400;
}

/* Hero Subheadline */
.site-main .ag-section:first-of-type .ag-subheadline{
   margin-block-start: 1.0rem;
   max-width: 38ch;
   font-size: clamp(1.3rem, 1.08rem + 0.7vw, 1.7rem);
   line-height: 1.37;
   letter-spacing: -0.0125em;
}


/* Subtext */
.ag-subtext {
   font-size: clamp(1.5rem, 2.4vw, 2.0rem);
   font-weight: 400;
   color: var(--ag-color-grey-700);
   margin-block: clamp(3.25rem, 2rem + 2vw, 4.5rem) 3.0rem;
}

/* Horizontale Auflistung mit Trennpunkten */
.wp-block-group.is-layout-flex:not(.is-vertical) {
   display: flex;
   flex-wrap: wrap;
   gap: 0.50em;
   font-size: 1.25rem;
   font-weight: 500;
   margin-block: 1.50rem;
}

.wp-block-group.is-layout-flex:not(.is-vertical) > p:not(:first-child)::before {
  content: "·";
  font-weight: 600;
  margin-inline-end: 0.5em;
}


/* Back-To-Top Button */
.generate-back-to-top {
   font-size: 30px;
   border-radius: 5px;
   line-height: 30px;
}

a.generate-back-to-top {
  background-color: var(--ag-color-dark-red);
  border: 3px solid var(--ag-color-dark-red);
  color: #ffffff;
  line-height: 24px;
  z-index: 1001;
}


a.generate-back-to-top:hover,
a.generate-back-to-top:focus {
   color: var(--ag-color-dark-red);
   background-color: var(--ag-color-site-background);
   border: 3px solid var(--ag-color-dark-red);
}


/* Footer */
/* Container fuer Copyright - Erstellt mit ... */
/* der Container 40px breit zerstoert mit seiner Breite die Zentrierung des 1280px breiten Footer-Bereiches */
footer.site-info * {
   display: none;
}

/* Dazu auch die Vorgabe -40px im Theme korrigieren */
.site-footer .footer-widgets-container .inside-footer-widgets {
  margin-left: 0px;
}

.site-footer.grid-container {
	width: 100%;
   max-width: none;
   display: flex;
   justify-content: center;
   background-color: var(--ag-color-grey-700);
}

.site.footer-widgets {
   width: 100%;
   max-width: 1280px;
   background-color: var(--ag-color-grey-700);
}

.footer-widgets-container {
  _padding: 0px;
}

.footer-widgets .widget {
  margin-bottom: .5em;
}

.footer-widget-1 p {
   color: #fff;
   font-weight: 500;
}

.footer-widget-1 .widget.inner-padding.widget_block.widget_text p.wp-block-paragraph {
   font-size: 1.15rem;
}

.footer-widget-1 .widget.inner-padding.widget_block.widget_text:first-of-type p.wp-block-paragraph {
   font-size: 1.35rem;
}


.footer-widget-2 ul li a {
   text-decoration: none;
   font-weight: 500;
   color: #fff;
}

.footer-widget-2 ul li a:hover {
   text-decoration: underline;
}
