@charset "UTF-8";
@import url("vars.css");

/**************************
File : wd.css
**************************/

/**************************
	INHALTSVERZEICHNISS

	- GENERAL
	- HEADER
	- HEADER_LOGO
	- HEADER_NAVIGATION
	- MENU
	- CONTENT
	- KITA_DETAILS
	- DOCUMENTS
	- ROUTING
	- PRINTPAGE
	- MAP_DETAILS
	- TREFFERLISTE
	- TREFFERLISTE_PRINT_PAGE
	- VORANMELDUNG
	- FOOTER
	- IE 7 HACKS
**************************/

/* --- Roboto Schriftarten einbinden --- */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('pubres/roboto-regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 4700;
    src: url('pubres/roboto-bold.woff2') format('woff2');
}

html, body {
	height: 100%;
	margin: 0;
}

body
{
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	font-size: 1.4em;
	font-family: var(--main-font-family);
}

/*
#wrapper-top {
	padding-top: 20px;
	background: #fff;
}*/

.wk_hp
{
	display: none;
}

.wk_body_style
{
	/*flex: 1 0 auto;*/
	padding-top: 120px;
}

/*======== FOOTER - START ========*/

/* footer with skyline */
.site-footer {
	/*flex-shrink: 0;*/
	margin-top: auto;
	position: relative;
	overflow: hidden;          /* Bild ggf. oben abschneiden */
	min-height: 110px;         /* sichtbare Grundhöhe des Footers */
	max-height: 110px;
	border-top: 1px solid #ddd;
	color: #fff;
}

/* Container für das Bild */
.footer-skyline {
	position: absolute;
	inset: 0;                  /* top/right/bottom/left: 0 */
	overflow: hidden;
}

/* Bild unten ausrichten, zentriert, volle Breite */
.footer-skyline img {
	width: 100%;
	height: 100%;
	object-fit: cover;          /* Bild füllt den Footer komplett, wird bei Bedarf beschnitten */
	object-position: 50% 30%;   /* 50% = horizontal zentriert, 20% = Fokus weiter oben im Bild */
	display: block;
}

/* Inhaltsebene über dem Bild */
.footer-inner {
	position: relative;
	z-index: 1;
	padding: 20px;
	height: 100%;
	display: block;
	/*
	display: flex;
	justify-content: space-between;
	flex-direction: flex-start;
	*/
	/* optional leichter Hintergrund für Lesbarkeit: */
	/* background: linear-gradient(to top, rgba(0,0,0,0.4), transparent); */
}

/* Inhaltstypos im Footer */
.footer-content a[wicket\:id="Impressum"] {
	color: #fff;
	text-decoration: underline;
}

.footer-content {
	font-size: 1.2em;
	display: flex;
	justify-content: space-between; /* links & rechts */
	align-items: flex-start;  
	color: var(--main-font-color);
	background: rgba(255,255,255,0.85);
	padding: 16px 15px 5px 15px;
}

.footer-left {
    display: flex;
	margin-top: -9px;
    gap: 20px; /* Abstand zwischen Impressum & Datenschutz */
}

.footer-left a {
	font-size: 1.1em;
}

.site-footer a { 
	color: var(--a-color);
	/*font-size: 1.5em;*/
}

.site-footer .btn.btn-link {
    color: var(--a-color) !important;     
}

.site-footer .btn.btn-link:hover {
    color: var(--a-color) !important; 
	text-decoration: underline;
	/*font-weight: normal;*/
}

.footer-content .pull-right {
	float: none !important;
}

/*======== FOOTER - END ========*/

/* Fades erstmal unsichtbar im Mobile (können bleiben) */
.wk_gradient_left_right,
.wk_gradient_right_left {
	display: none;
}

/* ========== Drop Down - Start ========== */

/* Dropdown Hintergrund */
.dropdown-menu {
    background-color: var(--nav-collapsed-bg-color);
    border: 1px solid #ddd;
    font-size: 18px;
}

/* Default-Zustand */
.dropdown-menu > li > a {
    color: var(--nav-collapsed-a-color);
    font-weight: normal;
    background: transparent;
    padding: 8px 15px;
}

/* Hover */
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
    background-color: var(--nav-collapsed-a-hover-bg-color);
    color: var(--nav-collapsed-a-hover-color);
    text-decoration: none;
}

/* Active (z. B. beim Klicken) */
.dropdown-menu > li.active > a,
.dropdown-menu > li.active > a:hover {
    background-color: var(--nav-collapsed-a-active-bg-color);
    color: var(--nav-collapsed-a-hover-color);
}

/* Header im Dropdown */
.dropdown-header {
    color: var(--nav-collapsed-a-color);
    font-weight: bold;
    background: transparent;
    font-size: 16px;
}

/* Trenner */
.dropdown-menu .divider {
    background-color: #ddd;
}

/* Icons im Dropdown */
.dropdown-menu i {
    margin-right: 6px;
    color: inherit; /* passt sich dem Text an */
}

/* ========== Drop Down - Ende ========== */

/*HEADER*/

nav
{
	font-size: 1.2em;
}

form.bs-docs-sidenav,
#sidebar .list-group
{
	font-size: 1em;
}

.navbar-toggle .icon-bar
{
	border-radius: 1px;
	display: block;
	height: 2px;
	width: 22px;
}

.navbar-toggle .icon-bar + .icon-bar
{
	margin-top: 4px;
}

.icon-bar
{
	background-color: #000;
}

.navbar .container .wk_navbar_background {
	/* vorher: background: url("header_bar.png") repeat-x scroll 0 41px; */
	background: none;
}

.navbar
{
	border-bottom: 1px solid #ddd;
}

.footer
{
	border-top: 1px solid #ddd;
	height: 50px;
}

.responsive-video iframe
{
	position: absolute;
	top: 0;
	left: 0;
	width: 59.5%;
	height: 100%;
}

.responsive-video
{
	position: relative;
	padding-bottom: 25.25%; /* Default for 1600x900 videos 16:9 ratio*/
	padding-top: 0px;
	height: 0;
	overflow: hidden;
	margin-left: 25%;
}

.cell-kitainfo a.btn.btn-link
{
	padding-left: 0;content: space-between;
    float: none; 
}

.cell-kitainfo a.btn.btn-link i
{
	margin-right: 3px;
}

.navbar-default .navbar-nav > li > a, .dropdown-menu li a, .navbar-default .btn-link
{
	/*true collapsed sub nav a color*/
	color: var(--nav-collapsed-a-color);
}

/* font sizes */
h1 {
	font-size: 30px;
}

h1,
h2,
h3,
.jumbotron h1 {
    color: var(--heading-color);
}

.panel-title a,
h1.Headline
{
	color: var(--heading-color);
}


a,
a.btn.btn-link {
    color: var(--a-color);
}

/* global link hover – mobile-first: tap-freundlich */
a:hover,
a.btn.btn-link:hover {
    color: var(--a-color);
    font-weight: bold;
}

/* ========== Dropdown Hover fix – immer ganz unten einfügen ========== */
.navbar-default #navbar .dropdown-menu > li > a:hover,
.navbar-default #navbar .dropdown-menu > li > a:focus {
    background-color: var(--nav-collapsed-a-hover-bg-color) !important;
    color: var(--nav-collapsed-a-hover-color) !important;
    text-decoration: none;
    font-weight: normal; /* optional, damit es nicht durch das globale a:hover fett wird */
}

.modal-dialog.wk-modal-xl
{
	width: 90%;
}

/* ====== NAVBAR – Basis (Mobile) ====== */

.navbar {
    border-bottom: 1px solid #ddd;
    display: block;
    background-color: #fff;
    font-size: 0.85em;
}

.navbar-header {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    /*float: none; */
}

.navbar-logo {
    display: inline-block;
    background: #fff;
    padding: 0 5px;
    position: relative;
    z-index: 2;
    margin: 0;
}

.navbar-logo img {
    display: block;
    max-height: 80px;
    height: auto;
    width: auto;
    margin-top: 8px;
}

/* Burger */
.navbar-toggle {
    display: block;
    float: none;
    margin-top: 0;
    margin-right: 15px;
    margin-left: auto;
}

.navbar-toggle .icon-bar {
    border-radius: 1px;
    display: block;
    height: 2px;
    width: 22px;
    background-color: #000;
}

.navbar-toggle .icon-bar + .icon-bar {
    margin-top: 4px;
}

/* Collapsed menu default versteckt */
.navbar-collapse.collapse {
    display: none !important;
}

.navbar-collapse.collapse.in {
    display: block !important;
}

/* Mobile-Menü vertikal */
.navbar-nav {
    float: none !important;
    margin: 7.5px 0;
}

.navbar-nav > li {
    float: none;
}

.navbar-nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Mobile-Nav-Farben */
#navbar ul.nav > li > a {
    background-color: var(--nav-collapsed-bg-color);
    color: var(--nav-collapsed-a-color);
    border-top: 1px solid #ddd;
}

#navbar ul.nav > li > a:hover,
#navbar ul.nav > li > a:focus {
    background-color: var(--nav-collapsed-a-hover-bg-color);
    color: var(--nav-collapsed-a-hover-color);
    text-decoration: none;
}

#navbar ul.nav > li.active > a,
#navbar ul.nav > li.active > a:hover,
#navbar ul.nav > li.active > a:focus {
    background-color: var(--nav-collapsed-a-active-bg-color);
    color: var(--nav-collapsed-a-hover-color);
    font-weight: bold;
}

/* Balken hinter dem Menü (mobil erstmal aus) */
.navbar-bar {
    background: none;
    margin-top: 10px;
}

/* Mobile Mode - Footer Override */
@media (max-width: 710px) {
	/* footer with skyline */
	.site-footer {
		min-height: 130px;  
		max-height: 130px;
	}

	.footer-skyline img {
        object-fit: cover;  
        object-position: 50% 10%; 
        transform: scale(1.4); 
        transform-origin: center;
    }

	.footer-content {
        flex-direction: column; 
        align-items: center;   
        text-align: center;
        gap: 10px;       
        font-size: 1em;
    }
	
	.footer-left {
        flex-direction: column;    /* Impressum + Datenschutz untereinander */
        align-items: center;
        gap: 1px;
    }

	.footer-left a {
		font-size: 1em;
		font-weight: bold;
	}

    .footer-content .pull-right {
        margin-top: 1px;
    }

    .container {
	    padding-bottom: 3px;
    }
}

/* Mobile Mode - Footer Override */
@media (min-width: 711px) and (max-width: 768px) {
	/* footer with skyline */
	.site-footer {
		min-height: 110px;
		max-height: 110px;
	}
}

/* Mobile Mode - Footer Override */
@media (min-width: 769px) and (max-width: 992px) {
	/* footer with skyline */
	.site-footer {
		min-height: 150px;
		max-height: 150px;
	}
}

/* Mobile Mode - Footer Override */
@media (min-width: 993px) and (max-width: 1199px) {
	/* footer with skyline */
	.site-footer {
		min-height: 200px; 
		max-height: 200px;
	}
}

@media (min-width: 769px) and (max-width: 1199px) {
    .navbar-header {
        position: relative;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        float: none;
    }
}

/*======== NAVBAR – DESKTOP (>= 1200px) ========*/
@media (min-width: 1200px) {

    /* Navbar als Leiste mit Logo links & Menü rechts */
    .navbar {
        display: flex;
        align-items: flex-end;
        background-color: #fff;
    }

    .navbar-header {
        flex: 0 0 auto;
        width: auto;
        display: block;   /* Flex-Basis reicht hier */
        margin: 0;
    }

    .navbar-logo img {
        max-height: 90px;  /* Desktop höher */
        margin-top: 0;
    }

    .navbar-logo {
        display: inline-block;
    }

    /* Grüner Balken aktivieren und direkt unter Logo ziehen */
    .navbar-bar {
        flex: 1 1 auto;
        position: relative;
        margin-top: 10px; /* kein zusätzlicher Abstand mehr */
        padding-bottom: 5px;
        background: url("header_bar.png") repeat-x 0 var(--nav-padding-top);
    }

    #navbar {
        display: block !important;
        padding-top: calc(var(--nav-padding-top) - 9px);
    }

    /* Burger im Desktop ausblenden */
    .navbar-toggle {
        display: none;
    }

    /* Menü im Desktop immer sichtbar */
    .navbar-collapse.collapse {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* Fades links/rechts der Leiste */
    .wk_gradient_left_right,
    .wk_gradient_right_left {
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        width: 80px;
    }

    .wk_gradient_left_right {
        left: var(--nav-fade-left-offset);
        background: linear-gradient(to right, #fff, #fff 30%, rgba(255,255,255,0));
    }

    .wk_gradient_right_left {
        right: 0;
        background: linear-gradient(to left, #fff, #fff 30%, rgba(255,255,255,0));
    }

    /* Menüpunkte horizontal auf der Leiste */
    #navbar ul.nav {
        margin: 0;
        padding-left: 345px;
        padding-right: 90px;
        background: transparent;
    }

     #navbar ul.nav a {
        color: var(--nav-a-color);
        font-weight: normal;
        /*font-size: 1.5em;*/
        background: transparent;
    }

    #navbar ul.nav > li {
        float: left;
    }

    #navbar ul.nav > li > a {
        background: transparent !important; /* grüne Leiste durchscheinen lassen */
        border-top: none;
        color: var(--nav-a-color);
        font-size: 1.2em;
        font-weight: bold;
        padding-top: 15px;
        padding-bottom: 10px;
    }

    #navbar ul.nav > li > a:hover {
        background: transparent;
        color: var(--nav-a-hover-color);
        text-decoration: underline;
    }

    /* Aktiver Menüpunkt im Desktop */
    #navbar ul.nav > li.active > a {
        background: transparent;
        color: var(--nav-a-color);
        text-decoration: underline;
        font-weight: bold;
    }

    #navbar ul.nav > li.active > a:hover,
    #navbar ul.nav > li.active > a:focus {
        background: transparent;
        color: var(--nav-a-hover-color);
        text-decoration: underline;
        font-weight: bold;
    }

    #navbar ul.nav>li>a:focus,
    #navbar ul.nav>li>a:active {
        background: transparent;
        color: var(--nav-a-color);
        outline: none;
        text-decoration: underline;
    }

    /* Link-Farben in Dropdown im Desktop */
    #navbar .dropdown-menu > li > a {
        color: var(--nav-collapsed-a-color);
    }

    #navbar .dropdown-menu > li > a:hover {
        color: var(--nav-collapsed-a-hover-color);
        background-color: var(--nav-collapsed-a-hover-bg-color);
    }

	    /* Footer-Höhe im Desktop */
    .site-footer {
        min-height: 200px;
        max-height: 200px;
    }

    /* Breitere Seite im Desktop */
    .container {
        width: 1280px;
    }
}



@media (min-width: 1700px) {
	.site-footer {
		min-height: 250px;         /* sichtbare Grundhöhe des Footers */
		max-height: 250px;
	}
}

@media (min-width: 2000px) {
	.site-footer {
		min-height: 300px;         /* sichtbare Grundhöhe des Footers */
		max-height: 300px;
	}
}


/*OFF CANVAS*/

.wk_nav_panel
{
	margin-top: 60px;
}

.wk_menu_button
{
	position: absolute;
	top: 10px;
	right: 20px;
}

/* CONTENT */

h1.wk_page_headline,
h2.wk_page_headline
{
	border-bottom: 1px solid var(--heading-color);
	color: var(--heading-color);
}

.list-group-item.active
{
	background-color: var(--nav-collapsed-a-active-bg-color);
	color: var(--nav-collapsed-a-color);
	font-weight: bold;
	border-color: #ddd;
}

.list-group-item.active:hover
{
	background-color: var(--nav-collapsed-a-hover-bg-color);
	color: var(--nav-collapsed-a-hover-color);
	font-weight: bold;
	border-color: #ddd;
}

a.list-group-item:hover
{
	color: var(--nav-collapsed-a-hover-color);
	font-weight: bold;
}

a.wk_bearbeiten_button,
.wk_bearbeiten_button
{
	position: absolute;
	top: 3px;
	right: 17px;
}

.bs-docs-sidenav.affix
{
	position: fixed;
	top: 130px;
}

.col-md-4 .bs-docs-sidenav.affix
{
	width: 32.2%;
}

.wk_details_panel
{
	margin-bottom: 20px;
}

.wk_details_panel .panel
{
	height: 100%;
}

a.wk_loeschen_button
{
	position: absolute;
	top: 13px;
	right: 17px; 
}

.wk_label
{
	font-size: 100%;
}

/* MAP_DETAILS */
.btn {
    font-size: 18px;
}

h4 a.btn
{
	font-size: 18px;
}

.mapSize
{
	height: 600px;
}

/* TREFFERLISTE */



/* TREFFERLISTE_PRINT_PAGE */
.print-pageframe
{
	border: 1px solid black;
	padding-top: 20px;
	margin-bottom: 20px;
}

.invisible
{
	visibility: hidden;
}

.print-only{
	display: none;
}

.infoportal-previewbox
{
	margin-bottom: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 0.5em;
	border: 1px solid #f0f0f0;
	border-radius: 6px 6px 6px 6px;
	background-color: #f9f9f9;
}

.infoportal-preview
{
	height: 18em;
	margin-bottom: 1em;
	overflow: hidden;
}

.infoportal-preview table td
{
	vertical-align: top;
	padding: 0 5px;
	font-size: 14px;
}

/* FOOTER */

/* Content */
.wk_label_Panel
{
	font-weight: bold;
}

.wk_legende
{
	font-size: 100%;
}

.popover
{
	width: 250px;
}

/* Space for notifications */
div[wicket-path="Alerts"] ~ main {
    margin-top: 100px;
}