/*
 Theme Name:   Rathaus
 Theme URI:    
 Description:  
 Author:       
 Author URI:   
 Template:     generatepress
 Version:      0.1
*/

/* THEME TWEAKS  */

/* Header padding with responsive clamp */
.site-header {
    padding-inline: clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

/* Typography wrapping */
/* Balance headings and elements with `.balance` class */
:is(h1, h2, h3, h4, h5, h6),
.balance {
    text-wrap: balance;
}

/* Use pretty wrapping for body text elements */
p,
blockquote,
li {
    text-wrap: pretty;
}

/* Remove bottom margin from final paragraph */
p:last-child:last-of-type {
    margin-bottom: 0px;
}

/* UTILITIES */

/* Line Clamping */
.line-limit-3,
.line-limit-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-limit-3 {
    -webkit-line-clamp: 3;
}

.line-limit-2 {
    -webkit-line-clamp: 2;
}

/* Visually Hidden (accessible to screen readers) */
.visually-hidden:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* Smooth Transition Utility */
.transition {
    transition: all 0.25s ease-in-out;
}


/*  GP MENU ACCESSIBILITY TWEAKS */

#site-navigation ul.sub-menu {
    display: block;
}

#site-navigation li:hover .gp-icon svg {
    transform: rotate(180deg);
}

#site-navigation li:hover .sub-menu {
    visibility: visible;
}


/* 
   STRETCH LINK (from Bootstrap)
   Source: https://youtu.be/HBriBrnRlQE?si=DLiSXEiBHt6lw91l
   Note: Only use ONE link per card or this breaks!
*/

.stretch-link {
    position: relative;
}

.stretch-link a::after {
    content: '';
    position: absolute;
    inset: 0;
}

.stretch-link a:is(:focus-visible)::after {
    outline: 2px solid;
}

.stretch-link a:is(:hover, :focus) {
    outline: none;
}

/*  CONTAINER WRAPPER */

.site-wrapper {
    width: 100%;
    max-width: 1920px;
    margin-inline: auto;
    background: var(--neutral-50);
}

/*  TYPOGRAPHY  */

/* Font Family Utilities */
.ff-body {
    font-family: var(--gp-font--body);
}

.ff-heading {
    font-family: var(--gp-font--headings);
}

/* Heading and utility class font assignment */

:root {

  --gp-font--headings: 'itc-bodoni-seventytwo-pro' ;
  --gp-font--body: 'freight-sans-pro' ;
}
h1, h2, h3, h4, h5, h6,
[class^="fs-"] {
    font-family: var(--gp-font--headings);
}

 p, .fs-p {
    font-family: var(--gp-font--body);
    margin-bottom: 1em;
    line-height: 1.44;
}
:root {
  --fluid-body-font-min: 1.125rem;
  --fluid-body-font-max: 1.25rem;
  --fluid-body-font: clamp(var(--fluid-body-font-min), 1.095rem + 0.129vw, var(--fluid-body-font-max));

  --h1-min-font: 3.125rem;
  --h1-max-font: 6.25rem;
  --fluid-h1-font: clamp(var(--h1-min-font), 2.411rem + 3.199vw, var(--h1-max-font));

  --h2-min-font: 2.813rem;
  --h2-max-font: 5rem;
  --fluid-h2-font: clamp(var(--h2-min-font), 2.282rem + 2.265vw, var(--h2-max-font));

  --h3-min-font: 2.188rem;
  --h3-max-font: 3.125rem;
  --fluid-h3-font: clamp(var(--h3-min-font), 1.973rem + 0.96vw, var(--h3-max-font));

  
}

body {
  font-size: var(--fluid-body-font);
}

h1, .fs-h1 {
    font-size: var(--fluid-h1-font);
    line-height: 1.2em;
}

h2, .fs-h2 {
    font-size: var(--fluid-h2-font);
    line-height: 1.1em;
    margin-bottom: clamp(0.625rem, -0.58rem + 1.786vw, 1.563rem);
}

h3, .fs-h3 {
    font-size: var(--fluid-h3-font);
    margin-bottom: clamp(0.625rem, -0.58rem + 1.786vw, 1.563rem);
    
}

p, .fs-p {
    font-size: var(--fluid-body-font);
}


/* Swiper */

.swiper-scrollbar {
    
  --swiper-scrollbar-bottom:5px;
  --swiper-scrollbar-drag-bg-color: #B2B2B2;
  --swiper-scrollbar-size: 5px;
}
:root {
    --swiper-navigation-size: clamp(0.625rem, -5.513rem + 27.511vi, 27.5rem) !important;
}

.swiper {
  padding-bottom: 30px !important;
}
.swiper-button-prev::after, .swiper-rtl .swiper-button-next::after, .swiper-button-next::after, .swiper-rtl .swiper-button-prev::after {
  content:'' !important;
}
.swiper-button-next::after, .swiper-button-prev::after  {
  content: "";
  display: block;
  width: 100px; /* Passe an */
  height: 100px; /* Passe an */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.9));
}
.swiper-button-next::after {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20width%3D%2299.531%22%20height%3D%2299.531%22%20viewBox%3D%22-959.5%20420.5%2099.531%2099.531%22%20xml%3Aspace%3D%22preserve%22%3E%3Cg%3E%3Cdefs%3E%3Cpath%20id%3D%22a%22%20d%3D%22M-959.5%20420.5h99.531v99.531H-959.5z%22/%3E%3C/defs%3E%3CclipPath%20id%3D%22b%22%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20overflow%3D%22visible%22/%3E%3C/clipPath%3E%3Cg%20clip-path%3D%22url(%23b)%22%20fill%3D%22%23FFF%22%3E%3Cpath%20d%3D%22M-922.983%20510.18a12.343%2012.343%200%200%201-5.369-1.238%2012.2%2012.2%200%200%201-6.971-11.24%208.7%208.7%200%200%200-6.842-8.578c-6.646-1.436-10.871-7.988-9.436-14.635a12.307%2012.307%200%200%201%204.471-7.116%208.698%208.698%200%200%200%202.442-10.7c-3.021-6.092-.533-13.479%205.559-16.5a12.31%2012.31%200%200%201%208.353-.941%208.7%208.7%200%200%200%209.885-4.761c2.878-6.161%2010.205-8.823%2016.367-5.944a12.31%2012.31%200%200%201%205.944%205.944%208.7%208.7%200%200%200%209.886%204.761c6.609-1.592%2013.259%202.476%2014.852%209.086a12.3%2012.3%200%200%201-.942%208.358%208.701%208.701%200%200%200%202.442%2010.7c5.365%204.177%206.328%2011.912%202.151%2017.277a12.315%2012.315%200%200%201-7.117%204.471%208.7%208.7%200%200%200-6.839%208.578c.078%206.801-5.37%2012.377-12.171%2012.455a12.31%2012.31%200%200%201-7.93-2.773%208.699%208.699%200%200%200-10.973%200%2012.243%2012.243%200%200%201-7.761%202.801m-10.773-67.671a8.69%208.69%200%200%200-7.671%2012.547%2012.35%2012.35%200%200%201-3.466%2015.189%208.672%208.672%200%200%200%203.497%2015.311%2012.353%2012.353%200%200%201%209.714%2012.181%208.585%208.585%200%200%200%204.909%207.919%208.487%208.487%200%200%200%209.247-1.1%2012.354%2012.354%200%200%201%2015.581%200%208.477%208.477%200%200%200%209.247%201.1%208.589%208.589%200%200%200%204.908-7.916%2012.35%2012.35%200%200%201%209.716-12.184%208.67%208.67%200%200%200%203.5-15.319%2012.352%2012.352%200%200%201-3.473-15.182%208.671%208.671%200%200%200-9.8-12.287%2012.349%2012.349%200%200%201-14.037-6.76%208.667%208.667%200%200%200-15.71%200%2012.35%2012.35%200%200%201-14.036%206.756%209.22%209.22%200%200%200-2.126-.255%22/%3E%3Cpath%20d%3D%22M-909.736%20427.714c23.5-.001%2042.551%2019.05%2042.552%2042.55%200%2023.5-19.05%2042.552-42.55%2042.553-23.501%200-42.552-19.051-42.553-42.551v-.002c.001-23.5%2019.051-42.55%2042.551-42.55m0-7.214c-27.484%200-49.766%2022.281-49.766%2049.766s22.281%2049.765%2049.766%2049.765%2049.765-22.28%2049.765-49.765v-.002c-.031-27.471-22.294-49.733-49.765-49.764%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23FFF%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M-920.623%20470.264h19.502%22/%3E%3Cpath%20stroke-linejoin%3D%22round%22%20d%3D%22m-907.854%20461.258%209.008%209.008-9.008%209.008%22/%3E%3C/g%3E%3C/svg%3E");
}
.swiper-button-prev::after  {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20width%3D%2299.531%22%20height%3D%2299.531%22%20viewBox%3D%22-959.5%20420.5%2099.531%2099.531%22%20xml%3Aspace%3D%22preserve%22%3E%3Cg%3E%3Cdefs%3E%3Cpath%20id%3D%22a%22%20d%3D%22M-959.5%20420.5h99.531v99.531H-959.5z%22/%3E%3C/defs%3E%3CclipPath%20id%3D%22b%22%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20overflow%3D%22visible%22/%3E%3C/clipPath%3E%3Cg%20clip-path%3D%22url(%23b)%22%20fill%3D%22%23FFF%22%3E%3Cpath%20d%3D%22M-922.983%20510.18a12.343%2012.343%200%200%201-5.369-1.238%2012.2%2012.2%200%200%201-6.971-11.24%208.7%208.7%200%200%200-6.842-8.578c-6.646-1.436-10.871-7.988-9.436-14.635a12.307%2012.307%200%200%201%204.471-7.116%208.698%208.698%200%200%200%202.442-10.7c-3.021-6.092-.533-13.479%205.559-16.5a12.31%2012.31%200%200%201%208.353-.941%208.7%208.7%200%200%200%209.885-4.761c2.878-6.161%2010.205-8.823%2016.367-5.944a12.31%2012.31%200%200%201%205.944%205.944%208.7%208.7%200%200%200%209.886%204.761c6.609-1.592%2013.259%202.476%2014.852%209.086a12.3%2012.3%200%200%201-.942%208.358%208.701%208.701%200%200%200%202.442%2010.7c5.365%204.177%206.328%2011.912%202.151%2017.277a12.315%2012.315%200%200%201-7.117%204.471%208.7%208.7%200%200%200-6.839%208.578c.078%206.801-5.37%2012.377-12.171%2012.455a12.31%2012.31%200%200%201-7.93-2.773%208.699%208.699%200%200%200-10.973%200%2012.243%2012.243%200%200%201-7.761%202.801m-10.773-67.671a8.69%208.69%200%200%200-7.671%2012.547%2012.35%2012.35%200%200%201-3.466%2015.189%208.672%208.672%200%200%200%203.497%2015.311%2012.353%2012.353%200%200%201%209.714%2012.181%208.585%208.585%200%200%200%204.909%207.919%208.487%208.487%200%200%200%209.247-1.1%2012.354%2012.354%200%200%201%2015.581%200%208.477%208.477%200%200%200%209.247%201.1%208.589%208.589%200%200%200%204.908-7.916%2012.35%2012.35%200%200%201%209.716-12.184%208.67%208.67%200%200%200%203.5-15.319%2012.352%2012.352%200%200%201-3.473-15.182%208.671%208.671%200%200%200-9.8-12.287%2012.349%2012.349%200%200%201-14.037-6.76%208.667%208.667%200%200%200-15.71%200%2012.35%2012.35%200%200%201-14.036%206.756%209.22%209.22%200%200%200-2.126-.255%22/%3E%3Cpath%20d%3D%22M-909.736%20427.714c23.5-.001%2042.551%2019.05%2042.552%2042.55%200%2023.5-19.05%2042.552-42.55%2042.553-23.501%200-42.552-19.051-42.553-42.551v-.002c.001-23.5%2019.051-42.55%2042.551-42.55m0-7.214c-27.484%200-49.766%2022.281-49.766%2049.766s22.281%2049.765%2049.766%2049.765%2049.765-22.28%2049.765-49.765v-.002c-.031-27.471-22.294-49.733-49.765-49.764%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23FFF%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M-898.846%20470.268h-19.502%22/%3E%3Cpath%20stroke-linejoin%3D%22round%22%20d%3D%22m-911.615%20479.273-9.008-9.008%209.008-9.008%22/%3E%3C/g%3E%3C/svg%3E");
}
@media (max-width: 768px) {
  .swiper-button-next, .swiper-button-prev {
    width: 30px !important;
    top: var(--swiper-navigation-top-offset,28%) !important;
  }

}
/* Navigation */

#menu-hauptmenue li a {
  align-items: center;
  border: 2px solid #000000;
  color: #000000;
  display: inline-flex;
  font-size: clamp(1.25rem, 1.189rem + 0.259vw, 1.4rem);
  font-weight: normal;
  text-decoration: none;
  transition: all 0.25s ease-in-out 0s;
  border-radius: 100vw;
  padding: .05em 1em .08em;
  letter-spacing: .03em;
}
#menu-hauptmenue li a:is(:hover, :focus) {
  box-shadow: 0px 4px 10px 0px rgba(33,33,33,0.24);
  background-color: black;
  color: white;
}
.current-menu-item a {
    background-color: #000000 !important;
    color: white !important;
}


/* Navigation Geschichte */
.navigation_liste li {
    list-style: none;
}

/* Extrastyles für die Seiten */

.header-section {
  background-size: clamp(28.125rem, 17.051rem + 47.249vw, 73.75rem) !important;
  background-repeat: no-repeat;
  background-position: top center;
}
.page-nutzung-heute .gb-menu-toggle-9062b384, .page-geschichte .gb-menu-toggle-9062b384, .page-impressum .gb-menu-toggle-9062b384, .page-datenschutz .gb-menu-toggle-9062b384 {
    color: black !important;
  }

.page-architektur .h1-logo a, .page-architektur .logo-sub {
    color: white !important;
}
.page-architektur .line_mobile {
  background-color: white !important;
}
.page-architektur .header-section {
    border-color: white !important;
    background-image: url("data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%221184px%22%20height%3D%22342px%22%20viewBox%3D%22-959.5%20420.5%201184%20342%22%20enable-background%3D%22new%20-959.5%20420.5%201184%20342%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23a5644b%22%20d%3D%22M-959.5%2C420.5c118.171%2C204.445%2C339.032%2C342%2C592%2C342c252.971%2C0%2C473.829-137.555%2C592-342H-959.5z%22/%3E%3C/svg%3E");   
}
.page-nutzung-heute .header-section {
    background-image: url("data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%221184px%22%20height%3D%22342px%22%20viewBox%3D%22-959.5%20420.5%201184%20342%22%20enable-background%3D%22new%20-959.5%20420.5%201184%20342%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23e9e9e9%22%20d%3D%22M-959.5%2C420.5c118.171%2C204.445%2C339.032%2C342%2C592%2C342c252.971%2C0%2C473.829-137.555%2C592-342H-959.5z%22/%3E%3C/svg%3E");
}
.page-geschichte .header-section {
    background-image: url("data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%221184px%22%20height%3D%22342px%22%20viewBox%3D%22-959.5%20420.5%201184%20342%22%20enable-background%3D%22new%20-959.5%20420.5%201184%20342%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23D0C0A0%22%20d%3D%22M-959.5%2C420.5c118.171%2C204.445%2C339.032%2C342%2C592%2C342c252.971%2C0%2C473.829-137.555%2C592-342H-959.5z%22/%3E%3C/svg%3E");
}
.page-geschichte .h2-header, .page-nutzung-heute .h2-header, .page-impressum .h2-header, .page-datenschutz .h2-header  {
  color: black !important;
}
.page-architektur a {
  color: white ;
}
.gb-menu-container--toggled ul li a {
  color: black ;
}



@media (min-width: 768px) {
.page-architektur #menu-hauptmenue li a {
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}
.page-architektur #menu-hauptmenue li a:is(:hover, :focus) {
  background-color: white;
  color: black !important;
}
.page-architektur #menu-hauptmenue li.current-menu-item a {
    background-color: white !important;
    color: #000000 !important;
    border-color: white !important;
}

  .page-start #menu-hauptmenue li a {
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
  }
}
.page-architektur .site-nav:hover span {
  color: black !important;
}

.home .entry-content {
  background-color: var(--brand-primary);
}

/* Seiten Elemente animieren */
@media (prefers-reduced-motion: no-preference) {
  .animate {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 1s ease, transform 0.6s ease;
    will-change: opacity, transform;
  }

  .animate.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  /* Disable animation in the editor preview */
  .editor-styles-wrapper .animate {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
/* Seiten Elemente animieren  Ende */

@media (min-width: 768px) {
  .nav-container , .navigation_liste{
    height: 400px !important;
  }
}

.caption {
  margin-bottom: -50px !important;
}

.navigation_liste li.spec a, .navigation_liste li.spec {
  line-height: 1.8rem !important;
}
.navigation_liste li.spec  {
 padding-bottom: 10px;
  padding-top: 10px;
}

.page-datenschutz h1 {
}
.page-datenschutz h2 {
  font-size: clamp(1.563rem, 1.183rem + 1.618vw, 3.125rem);
}
.page-datenschutz h3 {
  font-size: clamp(1.25rem, 1.098rem + 0.647vw, 1.875rem);
}
.page-datenschutz h4 {
  font-size: clamp(1.125rem, 1.095rem + 0.129vw, 1.25rem);
    font-family: var(--gp-font--body);
    font-weight: bold;
}