.mobile_menu{position:fixed;z-index:100;display:none}.mobile_menu .inner{height:100%;background:#000;overflow-y:scroll}.mobile_menu.active.position_left{box-shadow:2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_top{box-shadow:0 2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_right{box-shadow:-2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_bottom{box-shadow:0 -2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.no_shadow{box-shadow:none!important}.mobile_menu_trigger{display:none}.mobile_menu_wrapper{position:relative;width:100%;overflow:hidden}.mobile_menu_overlay{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:99}.mobile_menu_overlay.background{background:rgba(0,0,0,.5)}.mobile_menu li.submenu_hide>ul{display:none}.mobile_menu li.submenu_show>ul{display:block}body.ie8 .mobile_menu,body.ie8 .mobile_menu_trigger,body.ie9 .mobile_menu,body.ie9 .mobile_menu_trigger{display:none!important}
/* === Reset – basiert auf Reset von Eric Meyer (meyerweb.com) und html5doctor.com ===*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	border: 0;
	font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

/* nächster Punkt: HTML5 display-role Reset für ältere Browser */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

body { line-height: 1; }

nav ul { list-style: none; }

a {
	background: transparent;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

blockquote, q { quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* Contao-spezifische Resets */
.mod_article *[class*="ce_"],
.mod_article *[class*="mod_"] { 
	margin-left: 0px;
	margin-right: 0px;
}

.mod_article *[class*="layout_"]>*, 
.mod_article *[class*="event_"]>* {
	margin-left: 0px;
	margin-right: 0px;
}

/* Entfernt unsichbaren Rand unter img Tags */

img {
	display: block;
	vertical-align: bottom; 
}

/* Farbe, Stil und margin anpassen. */

hr {
	display: block;
	border: 0; 
	border-top: 1px dotted #d3c5b2;
	height: 1px;
	margin: 0 0 1em 0;
	padding: 0;
}

input, select { vertical-align: middle; }

/* Ende Reset */


/* === Bootstrap Grid Only v3.3.4 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) === */

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.container {
  padding-left: 0px;
  padding-right: 0px;
  width: 100%;
}

@media screen and (min-width: 1041px) {
  .container {
  margin-right: auto;
  margin-left: auto;
  width: 95%;
  }
}

@media screen and (min-width: 1400px) {
  .container {
    width: 1370px;
  }
}

.row {
  margin-left: 0;
  margin-right: 0;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media screen and (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media screen and (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}

@media screen and (min-width: 1200px) {
	
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
  content: " ";
  display: table;
}
.clearfix:after,
.container:after,
.container-fluid:after,
.row:after {
  clear: both;
}
/* fira-sans-300 - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../../files/themes/theme-kzgz-2016/fonts/fira-sans-v11-latin-300.woff2') format('woff2'),
       url('../../files/themes/theme-kzgz-2016/fonts/fira-sans-v11-latin-300.woff') format('woff');
}
/* fira-sans-regular - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('../../files/themes/theme-kzgz-2016/fonts/fira-sans-v11-latin-regular.woff2') format('woff2'),
       url('../../files/themes/theme-kzgz-2016/fonts/fira-sans-v11-latin-regular.woff') format('woff');
}
/* fira-sans-700 - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('../../files/themes/theme-kzgz-2016/fonts/fira-sans-v11-latin-700.woff2') format('woff2'),
       url('../../files/themes/theme-kzgz-2016/fonts/fira-sans-v11-latin-700.woff') format('woff');
}
/* pt-serif-regular - latin */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('../../files/themes/theme-kzgz-2016/fonts/pt-serif-v12-latin-regular.woff2') format('woff2'),
       url('../../files/themes/theme-kzgz-2016/fonts/pt-serif-v12-latin-regular.woff') format('woff');
}
/* pt-serif-italic - latin */
@font-face {
  font-family: 'PT Serif';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url('../../files/themes/theme-kzgz-2016/fonts/pt-serif-v12-latin-italic.woff2') format('woff2'),
       url('../../files/themes/theme-kzgz-2016/fonts/pt-serif-v12-latin-italic.woff') format('woff');
}
/* pt-serif-700 - latin */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('../../files/themes/theme-kzgz-2016/fonts/pt-serif-v12-latin-700.woff2') format('woff2'),
       url('../../files/themes/theme-kzgz-2016/fonts/pt-serif-v12-latin-700.woff') format('woff');
}

/* Variablen */

:root {
    /* Typografie */
    --font-sans: "Fira Sans", Arial, Helvetica, sans-serif;
    --font-serif: "PT Serif", Georgia, "Times New Roman", Times, serif;
	--font-bold: 700;

    /* Markenfarben */
    --color-primary:     #685b52;  /* Braun/Neutral */
    --color-sand:        #c3beba;  /* Hellgrau-beige */
    --color-accent:      #8fcc00;  /* Button-Grün */
    --color-accent-dark: #71961a;  /* Button-Grün Hover */
    --color-footer:      #ee7767;  /* Footer-Rot */
    --color-text:        #444444;
    --color-link:        #9a662a;

    /* Bereichsfarben */
    --color-krippe:      #f2a4a2;
    --color-kindergarten:#b8bf00;
    --color-schule:      #08adaf;
	--color-allgemein:   #cfcdcc;

	/* Bereichsfarben Navigation */
	--color-krippe-nav-mid: #f8d1d0;
	--color-krippe-nav-light: #ffebec;

	--color-kindergarten-nav-mid: #dbdf7f;
	--color-kindergarten-nav-light: #fcfdcc;

	--color-schule-nav-mid: #83d6d7;
	--color-schule-nav-light: #cdf8fb;

	--color-allgemein-nav-mid: #e7e5e4;
	--color-allgemein-nav-light: #efefef;

    /* Layout */
    --border-panel: 30px solid hsla(0, 0%, 100%, 0.5);
}

/* Custom-CSS für Kinderzeit Gute Zeit */

html { font-size: 100%; }

@media screen and (min-width: 1041px) {
body {
	background: #ffffff url(../../files/themes/theme-kzgz-2016/images/backgrounds/background-gras-1600.jpg) no-repeat fixed center center;
	background-size: cover;
}
}

body {
	font-family: var(--font-serif);
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
	overflow-y: scroll;
}

/* Typografie Basis */

header, footer, .ce_form, .mod_login, .hinweis {
	font-family: var(--font-sans);
	font-style: normal;
	font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-sans);
	font-style: normal;
	font-weight: 300;
	margin: 0;
}

h1 {
	font-size:2.5em;
	line-height:1.333;
	margin:0 0 0.375em 0;
}

h2 {
	font-size:2em;
	line-height:1.125;
	margin:1em 0 0.5em 0;
}

h3 {
	font-size:1.75em;
	line-height:1.375;
	margin:1em 0 0.875em 0;
}

h4 {
	font-size:1.5em;
	line-height:1.125;
	margin: 1em 0; }

h5 {
	font-size:1.25em;
	line-height:1.125;
	margin:1em 0 1.16667em 0;
}

h6 {
	font-size:1em;
	font-weight:700;
	line-height:1.125;
	margin:1em 0 1.5em 0;
}

h1.first, h2.first, h3.first, h4.first, h5.first, h6.first { margin-top: 0; }

.hinweis p {
	color: var(--color-schule);
	margin-bottom: 0.5em;
}
.hinweis strong {
	font-weight: 700;
	letter-spacing: 0.05em;
}

/* Links */

a:link {
	color: var(--color-link);
	text-decoration: underline;
}

a:visited {
	color: var(--color-text);
	text-decoration: underline;
}

a:hover, a:focus {
	color: #000000;
	text-decoration: none;
}

a:active {
	color: #666666;
	text-decoration: none;
}

.externer-link::after {
	content: url(../../files/themes/theme-kzgz-2016/images/Externer-Link.png);
	margin: 0 0 0 18px;
}

.externer-link:hover::after {
	content: url(../../files/themes/theme-kzgz-2016/images/Externer-Link-Hover.png);
}

/* Halbtransparenter Border */

header,
#main-nav,
#path-nav,
#container-main,
footer {
	border: var(--border-panel);
    background-clip: padding-box;
}

#tagline, #header {
	border-left: var(--border-panel);
	border-right: var(--border-panel);
    background-clip: padding-box;
    background-color: #ffffff;
    margin-left: auto;
    margin-right: auto;
    padding-top: 2rem;
    padding-bottom: 0;
    text-align: center;
}

@media (max-width:570px) {
#tagline { padding-top: 2rem; }
#header {
	border-left: 0;
	border-right: 0;
}
}

@media (max-width:1040px) {

#tagline {
	border-left: 0 solid hsla(0,0%,100%,.5);
	border-right: 0 solid hsla(0,0%,100%,.5);
}
}

.banner {
	display: block;
	width: 100%;
	height: auto;
}

@media screen and (min-width: 571px) {
#tagline img {
    padding-left: 0;
    padding-right: 0;
}
.banner {
	width: 100%;
	height: auto;
}
}

.lernen-bei-kinderzeit-banner { max-width: 250px; }

header { border-bottom: 0; }

#main-nav,
#path-nav,
#container-main {
    border-top: 0;
    border-bottom: 0;
}

footer { border-top: 0; }


@media screen and (max-width: 1040px) {
header,
#main-nav,
#path-nav,
#container-main,
footer { border: 0; }
}

/* Hier die gesammelten Styles für seitliche Abstände header, main, aisde und footer; abhängig von der Breite des Viewports einstellen. */

.meta-nav, .anmeldung, .translator, .header-topline { padding-right: 3rem; }

/*header .logo img { padding-left: 3rem; }*/

#main {
	padding-left: 3rem;
	padding-right: 3rem;
}

.path-nav {
	padding-left: 3rem;
	padding-right: 3rem;
}

#right {
	margin-left: -15px;
	padding-right: 3rem;
}

.footer-inner {
	padding-left: 1.5em;
	padding-right: 1.5em;
}

footer .logo img {
	margin-bottom: 1.5rem;
	width: 300px;
}

@media screen and (max-width: 1200px) {

.meta-nav, .anmeldung, .translator { padding-right: 1.5rem; }

/*header .logo img { padding-left: 1.5rem; }*/

#main {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.path-nav {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

#right {
	margin-left: -15px;
	padding-right: 1.5rem;
}

.footer-inner {
	padding-left: 0.9em;
	padding-right: 0.9em;
}

footer .logo img {
	margin-bottom: 1.5rem;
	width: 250px;
}
}

@media screen and (max-width: 880px) {

.meta-nav,
.anmeldung,
.translator,
#header .mod_mobile_menu {
	padding-right: 0.5rem;
}

#main {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

.path-nav {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

#right {
	margin-left: -15px;
	padding-right: 0.5rem;
}

.footer-inner {
	padding-left: 0;
	padding-right: 0;
}

footer .logo img { width: 250px; }

p.adresse { margin-bottom: 1.5rem; }
}

@media screen and (max-width: 767px) {
footer .logo img {
	margin: 0 auto 1.5rem;
	width: 225px;
}

.meta {
	padding-left: 0;
}}

@media screen and (max-width: 480px) {
.meta {
	position: relative;
	margin-top: -1rem;
	padding-right: 1.5rem;
}}


/* header Logo Positionierungen für neues Logo rot, zentriert ab 2020-07 */

.header-wrapper {
	position: relative;
	display: -ms-flexbox;
	display:flex;
	justify-content: center;
}

header .logo { position: absolute; }


@media screen and (max-width: 380px) {

.header-wrapper {
	position: relative;
	display:block;
	left: 0;
}

header .logo { position: absolute; }

/*header .logo img { padding-left: 1.5rem; }*/
}

/* header Logo Größen */

header a img { width: 350px; }

@media (max-width: 950px) {
header .logo img { width: 270px; }
}

@media screen and (max-width: 660px) {
header .logo img { width: 230px; }
}

/* Header-Styles */

/* Bildhöhe */

.testseite .header-wrapper, .allgemein .header-wrapper, .startseite .header-wrapper, .krippe .header-wrapper, .verfuegbare-plaetze .header-wrapper, .kindergarten .header-wrapper, .schule .header-wrapper, .woelfe .header-wrapper, .who-we-are .header-wrapper, .german-deutsch .header-wrapper, .maths .header-wrapper, .topic .header-wrapper, .english .header-wrapper, .home-learning .header-wrapper {
	background: #ffffff;
	border: 0;
	padding-top: 1rem;
}

@media screen and (min-width: 1041px) { .allgemein .header-wrapper, .startseite .header-wrapper, .krippe .header-wrapper, .verfuegbare-plaetze .header-wrapper, .kindergarten .header-wrapper, .schule .header-wrapper, .woelfe .header-wrapper, .who-we-are .header-wrapper, .german-deutsch .header-wrapper, .maths .header-wrapper, .topic .header-wrapper, .english .header-wrapper, .home-learning .header-wrapper {
	border: 2px solid #ffffff; border-bottom: 0;
}
}

/* Ausnahmen für Startseite klein */

@media screen and (max-width: 650px) {
nav.main-nav li {
	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 2px solid #ffffff !important;
	border-left: 0 !important;
	display: block !important;
	float: none !important;
	width: 100% !important;
}

.startseite nav.main-nav li.first { border-top: 2px solid #ffffff !important; }
}

header .logo img {
	height: auto;
	max-width: 100%;
}

/* Navigationen */

nav, .nav, .path-nav, .mod_newsmenu {
	font-family: var(--font-sans);
	font-style: normal;
	font-weight: 400;
}

nav ul, .nav ul, .path-nav ul, .mod_newsmenu ul {
	margin: 0;
	padding: 0;
}

nav li, .mod_newsmenu li {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

nav.meta-nav li,
.anmeldung li,
nav.main-nav li,
.path-nav li {
	float: left;
	list-style-type: none;
}

.path-nav li { line-height: 2; }

nav a:link, nav a:visited, nav a:hover, nav a:active,
a.nav:link, a.nav:visited, a.nav:hover, a.nav:active,
.path-nav a:link, .path-nav a:visited, .path-nav a:hover, .path-nav a:active { text-decoration: none; }

nav a,
.nav a,
nav li strong,
.nav li strong { display: block; }
	/* Navigationen in Header und Meta */

.mod_navigation, .mod_breadcrumb {
	background: transparent;
	display: block;
	line-height: 1em;
	overflow: hidden;
	position: relative;
	width: 100%;
}

/* Meta-Nav, Pfad-Nav */

.meta-nav, .anmeldung {
	clear: both;
	float: right;
	font-weight: 400;
	text-transform: uppercase;
}

.translator {
	float: right;
	margin-bottom: 0.25rem;
}

.translator .bimPql {
	font-size: 16px !important;
}

.translator .ftcend {
	color: var(--color-primary);
}

.translator .gljllG::before {
	content: "Choose language";
}

.translator .es-popout-wrapper {
  position: relative;
}

.translator .cqLZhq {
  position: absolute;
  top: 100%;
  left: auto;
  right: -120px;
  width: 120px;
}


@media screen and (max-width: 767px) {
	.translator {
		margin-bottom: 0.6rem;
	}

	.translator .cqLZhq {
  position: absolute;
  top: 100%;
  left: auto;
  right: -40px;
  width: 120px;
}

.translator .gljllG::before {
	content: none;
}
}

#path-nav .row {
	background-color: #f0efee;
	border: 2px solid #ffffff;
	border-top: 0;
}

@media screen and (max-width: 1040px) {
#path-nav .row { border: 0; }
}

.krippe #path-nav .row { background-color: #fce8e8; }

.kindergarten #path-nav .row { background-color: #edefbf; }

.schule #path-nav .row { background-color: #dff7f7; }

.path-nav {
	clear: both;
	float: left;
	font-weight: 400;
	font-style: italic;
	font-size: 0.875em;
	line-height: 2;
}

.path-nav li a:after {
	content: "»";
	font-style: italic;
	padding-left: 0.75em;
	padding-right: 0.75em;
}

.path-nav li:last-child a:after { content: ""; }

.meta-nav li { margin-right: 2em; }

.meta-nav li.last { margin-right: 0; }

.meta-nav a,
.meta-nav span,
.meta-nav strong,
.anmeldung a,
.header-topline a {
	color: var(--color-primary);
	text-decoration: none;
}

.meta-nav a:hover, .anmeldung a:hover, .header-topline a:hover { color: #000000; }

.meta-nav strong, .path-nav li.active { font-weight: 700; }

	/* Sub-Navigation */

.mod_newsmenu { margin-top: 1em; }

.mod_newsmenu a { display: block; }

.mod_newsmenu .level_1 { font-weight: 700; }

.mod_newsmenu .level_2 { font-weight: 400; }

.sub-navi .mod_navigation, .mod_newsmenu {
	border: 0 none transparent;
	margin-bottom: 1.5em;
}

.sub-navi .mod_navigation ul, .mod_newsmenu ul {
	margin: 0;
	padding: 0;
}

.sub-navi ul li, .mod_newsmenu ul li {
	border-bottom: 1px dotted #ffffff;
	line-height: 2;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.sub-navi strong, .mod_newsmenu strong { font-weight: 400; }

.sub-navi a:link,
.sub-navi strong,
.sub-navi a:visited,
.mod_newsmenu a:link,
.mod_newsmenu strong,
.mod_newsmenu a:visited {
	background-color: #e7e5e4;
	color: #000000;
	padding-left: 0.25em;
	text-decoration: none;
}

.allgemein .sub-navi strong {
	background-color: var(--color-primary);
	color: #ffffff;
	padding-left: 0.25em;
	text-decoration: none;
}

.sub-navi a:hover, .mod_newsmenu a:hover {
	background-color: #cfcdcc;
	text-decoration: none;
}

.sub-navi a:focus, .mod_newsmenu a:focus {
	background-color: #b5b4b3;
	text-decoration: none;
}

.sub-navi a:active, .mod_newsmenu a:active {
	background-color: #9c9b9a;
	text-decoration: none;
}

.krippe .sub-navi a:link,
.krippe .sub-navi strong,
.krippe .sub-navi a:visited,
.verfuegbare-plaetze .sub-navi a:link,
.verfuegbare-plaetze .sub-navi strong,
.verfuegbare-plaetze .sub-navi a:visited
{ background-color: #f8d1d0; }

.krippe .sub-navi a:hover,
.verfuegbare-plaetze .sub-navi a:hover{ background-color: #f5bbb9; }

.krippe .sub-navi a:focus,
.verfuegbare-plaetze .sub-navi a:focus { background-color: #dba8a7; }

.krippe .sub-navi a:active,
.verfuegbare-plaetze .sub-navi a:active { background-color: #c29593; }

/* Styles für verfügbare Plätze */
a.verfuegbare-plaetze span {
	display: block;
	padding-top: 1rem;
	padding-bottom: 1rem;
}
a.verfuegbare-plaetze span::before {
	content:"";
	background:url("../../files/themes/theme-kzgz-2016/images/bird.svg") no-repeat;
	display: inline-block;
	margin-right:5px;
	padding-right:15px;
	width: 40px;
	height: 40px;
	vertical-align: middle;
}
/* Listengestaltung auf der Seite */
.plaetze ul {
	list-style: none;
	margin-left: 0;
}
.plaetze li {
	background-color: #fce8e8;
	padding: 1rem;
	margin-bottom: 10px;
	border-radius: 5px;
}

.kindergarten .sub-navi a:link,
.kindergarten .sub-navi strong,
.kindergarten .sub-navi a:visited { background-color: #dbdf7f; }

.kindergarten .sub-navi a:hover { background-color: #cacf40; }

.kindergarten .sub-navi a:focus { background-color: #b1b538; }

.kindergarten .sub-navi a:active { background-color: #989c30; }

.schule .sub-navi a:link,
.schule .sub-navi strong,
.schule .sub-navi a:visited { background-color: #83d6d7; }

.schule .sub-navi a:hover { background-color: #46c2c3; }

.schule .sub-navi a:focus { background-color: #3da8a8; }

.schule .sub-navi a:active { background-color: #338f8f; }

/* Sub-Navi 2. Ebene */

.sub-navi ul ul li {
	border-bottom: 1px dotted var(--color-sand);
	text-transform: none;
}

.sub-navi ul.level_2 li.last { border-bottom: 0; }

.sub-navi ul ul a:link,
.sub-navi ul ul a:visited,
.krippe .sub-navi ul ul a:link,
.krippe .sub-navi ul ul a:visited,
.krippe .sub-navi ul ul strong, 
.kindergarten .sub-navi ul ul a:link,
.kindergarten .sub-navi ul ul a:visited,
.kindergarten .sub-navi ul ul strong, 
.schule .sub-navi ul ul a:link,
.schule .sub-navi ul ul a:visited,
.schule .sub-navi ul ul strong {
	background-color: transparent;
	padding-left: 1.25em;
}

.sub-navi ul ul a:hover { background-color: #f0efee; }

.sub-navi ul ul a:focus { background-color: #d6d5d4; }

.sub-navi ul ul a:active { background-color: #bdbcbb; }

.krippe .sub-navi ul ul a:hover { background-color: #fce8e8; }

.krippe .sub-navi ul ul a:focus { background-color: #e3d1d1; }

.krippe .sub-navi ul ul a:active { background-color: #c9b9b9; }

.kindergarten .sub-navi ul ul a:hover { background-color: #edefbf; }

.kindergarten .sub-navi ul ul a:focus { background-color: #d5d6ab; }

.kindergarten .sub-navi ul ul a:active { background-color: #bbbd97; }

.schule .sub-navi ul ul a:hover { background-color: #c1eaeb; }

.schule .sub-navi ul ul a:focus { background-color: #abd0d1; }

.schule .sub-navi ul ul a:active { background-color: #97b7b8; }

.block-1 + :not(.block-1),
.block-2 + :not(.block-2),
.block-3 + :not(.block-3),
.block-4 + :not(.block-4),
.block-5 + :not(.block-5),
.block-6 + :not(.block-6) {
	margin-top: 1.25rem;
}

/* Mobile-Nav */

.mobile-nav a:link,
.mobile-nav strong,
.mobile-nav a:visited {
	background-color: #e7e5e4;
	border-bottom: 1px solid #ffffff;
	color: #000000;
	line-height: 2.5;
	padding-left: 1.44em;
	padding-right: 1.44em;
	text-decoration: none;
	text-transform: uppercase;
}

.mobile-nav a:hover {
	background-color: #cfcdcc;
	text-decoration: none;
}

.mobile-nav a:focus {
	background-color: #b5b4b3;
	text-decoration: none;
}

.mobile-nav a:active {
	background-color: #9c9b9a;
	text-decoration: none;
}

.mobile-nav .krippe a:link,
.mobile-nav .krippe strong,
.mobile-nav .krippe a:visited { background-color: #f8d1d0; }

.mobile-nav .krippe a:hover { background-color: #f5bbb9; }

.mobile-nav .krippe a:focus { background-color: #dba8a7; }

.mobile-nav .krippe a:active { background-color: #c29593; }

.mobile-nav .kindergarten a:link,
.mobile-nav .kindergarten strong,
.mobile-nav .kindergarten a:visited { background-color: #dbdf7f; }

.mobile-nav .kindergarten a:hover { background-color: #cacf40; }

.mobile-nav .kindergarten a:focus { background-color: #b1b538; }

.mobile-nav .kindergarten a:active { background-color: #989c30; }

.mobile-nav .schule a:link,
.mobile-nav .schule strong,
.mobile-nav .schule a:visited { background-color: #83d6d7; }

.mobile-nav .schule a:hover { background-color: #46c2c3; }

.mobile-nav .schule a:focus { background-color: #3da8a8; }

.mobile-nav .schule a:active { background-color: #338f8f; }

/*Mobile-nav 2. Ebene */

/* 2. Ebene */

.mobile-nav ul.level_2 li { text-transform: none; }

.mobile-nav ul.level_2 a:link,
.mobile-nav ul.level_2 a:visited,
.mobile-nav ul.level_2 .krippe a:link,
.mobile-nav ul.level_2 .krippe a:visited,
.mobile-nav ul.level_2 .krippe strong, 
.mobile-nav ul.level_2 .kindergarten a:link,
.mobile-nav ul.level_2 .kindergarten a:visited,
.mobile-nav ul.level_2 .kindergarten strong, 
.mobile-nav ul.level_2 .schule a:link,
.mobile-nav ul.level_2 .schule a:visited,
.mobile-nav ul.level_2 .schule strong { padding-left: 2.875em; }

.mobile-nav ul.level_2 a:link,
.mobile-nav ul.level_2 a:visited,
.mobile-nav ul.level_2 strong { background-color: #fcfcfc; }

.mobile-nav ul.level_2 a:hover { background-color: #f0efee; }

.mobile-nav ul.level_2 a:focus { background-color: #d6d5d4; }

.mobile-nav ul.level_2 a:active { background-color: #bdbcbb; }

.mobile-nav .krippe ul.level_2 a:link,
.mobile-nav .krippe ul.level_2 a:visited,
.mobile-nav .krippe ul.level_2 strong { background-color: #ffebec; }

.mobile-nav .krippe ul.level_2 a:hover { background-color: #fce8e8; }

.mobile-nav .krippe ul.level_2 a:focus { background-color: #e3d1d1; }

.mobile-nav .krippe ul.level_2 a:active { background-color: #c9b9b9; }

.mobile-nav .kindergarten ul.level_2 a:link,
.mobile-nav .kindergarten ul.level_2 a:visited,
.mobile-nav .kindergarten ul.level_2 strong { background-color: #fcfdcc; }

.mobile-nav .kindergarten ul.level_2 a:hover { background-color: #edefbf; }

.mobile-nav .kindergarten ul.level_2 a:focus { background-color: #d5d6ab; }

.mobile-nav .kindergarten ul.level_2 a:active { background-color: #bbbd97; }

.mobile-nav .schule ul.level_2 a:link,
.mobile-nav .schule ul.level_2 a:visited,
.mobile-nav .schule ul.level_2 strong { background-color: #cdf8fb; }

.mobile-nav .schule ul.level_2 a:hover { background-color: #c1eaeb; }

.mobile-nav .schule ul.level_2 a:focus { background-color: #abd0d1; }

.mobile-nav .schule ul.level_2 a:active { background-color: #97b7b8; }

/* Mobile-Nav 3. Ebene */

.mobile-nav ul.level_3 a:link,
.mobile-nav ul.level_3 a:visited,
.mobile-nav ul.level_3 strong,
.mobile-nav ul.level_3 .krippe a:link,
.mobile-nav ul.level_3 .krippe a:visited,
.mobile-nav ul.level_3 .krippe strong, 
.mobile-nav ul.level_3 .kindergarten a:link,
.mobile-nav ul.level_3 .kindergarten a:visited,
.mobile-nav ul.level_3 .kindergarten strong, 
.mobile-nav ul.level_3 .schule a:link,
.mobile-nav ul.level_3 .schule a:visited,
.mobile-nav ul.level_3 .schule strong {
	background-color: #ffffff;
	padding-left: 4.3125em;
}

.mobile-nav ul.level_3 a,
.mobile-nav ul.level_3 strong { text-transform: none; }

.mobile-nav strong { font-weight: 700; }

.mobile-nav ul.level_3 a:hover { background-color: #f0efee; }

.mobile-nav ul.level_3 a:focus { background-color: #d6d5d4; }

.mobile-nav ul.level_3 a:active { background-color: #bdbcbb; }

.mobile-nav .krippe ul.level_3 a:hover { background-color: #fce8e8; }

.mobile-nav .krippe ul.level_3 a:focus { background-color: #e3d1d1; }

.mobile-nav .krippe ul.level_3 a:active { background-color: #c9b9b9; }

.mobile-nav .kindergarten ul.level_3 a:hover { background-color: #edefbf; }

.mobile-nav .kindergarten ul.level_3 a:focus { background-color: #d5d6ab; }

.mobile-nav .kindergarten ul.level_3 a:active { background-color: #bbbd97; }

.mobile-nav .schule ul.level_3 a:hover { background-color: #c1eaeb; }

.mobile-nav .schule ul.level_3 a:focus { background-color: #abd0d1; }

.mobile-nav .schule ul.level_3 a:active { background-color: #97b7b8; }


/* NEUE MOBILE NAV*/

/* Mobile Menu Nav */

/* Mobile Nav an/aus */

.mod_mobile_menu { display: none; }
@media (max-width: 991px) {
.mod_mobile_menu { display: block; }
.meta-nav { display: none; }
}

/* Trigger */

.mobile_menu_trigger { cursor: pointer; }
.mobile_menu_trigger .nav-icon {
	cursor: pointer;
	height: 22px;
	position: relative;
	width: 30px;
}
.mobile_menu_trigger .nav-icon span {
	background: var(--convergent-green);
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	height: 2px;
	left: 0;
	opacity: 1;
	position: absolute;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: 0.25s ease-in-out;
	transition: 0.25s ease-in-out;
	width: 30px;
}
.mobile_menu_trigger .nav-icon span:nth-child(1) {
	background: var(--color-primary);
	top: 6px;
}
.mobile_menu_trigger .nav-icon span:nth-child(2) {
	background: var(--color-primary);
	top: 14px;
}
.mobile_menu_trigger .nav-icon span:nth-child(3) {
	background: var(--color-primary);
	top: 22px;
}
.mobile_menu_trigger.active .nav-icon span:nth-child(1) {
	background: var(--color-primary);
	top: 14px;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}
.mobile_menu_trigger.active .nav-icon span:nth-child(2) { display: none; }
.mobile_menu_trigger.active .nav-icon span:nth-child(3) {
	background: var(--color-primary);
	top: 14px;
	-webkit-transform: rotate(-225deg);
	transform: rotate(-225deg);
}

/* Overlay */
.mobile_menu_overlay { background: rgba(255,255,255,0.6) !important; }

/* Navigationsmenü */

.mobile_menu .inner {
	background: #ffffff;
	/*padding: 1.5rem;*/
}
.mobile_menu ul.level_1 {
	text-transform: uppercase;
}

.mobile_menu ul.level_2,
.mobile_menu ul.level_3,
.mobile_menu ul.level_4,
.mobile_menu ul.level_5 {
	text-transform: none;
}

.mobile_menu a,
.mobile_menu strong {
	padding: 0 1.5rem;
	line-height: 2.5;
	margin-top: 1px;
	margin-bottom: 1px;
}

.mobile_menu ul.level_3 a,
.mobile_menu ul.level_3 strong {
	padding-left: 2.5rem;
}


.mobile_menu a, .mobile_menu a:visited, .mobile_menu a:hover, .mobile_menu a:active {
	color: #000000;
}

/* Bereichsfarben */

.mobile_menu .level_1 li.krippe a,
.mobile_menu .level_1 li.krippe strong {
	background-color: var(--color-krippe-nav-mid);
}
.mobile_menu .level_1 li.krippe a:active,
.mobile_menu .level_1 li.krippe a:focus,
.mobile_menu .level_1 li.krippe strong:active,
.mobile_menu .level_1 li.krippe strong:focus {
	background-color: var(--color-krippe);
}

.mobile_menu .level_2 .krippe a,
.mobile_menu .level_2 .krippe strong {
	background-color: var(--color-krippe-nav-light) !important;
}
.mobile_menu .level_2 .krippe a:active,
.mobile_menu .level_2 .krippe a:focus,
.mobile_menu .level_2 .krippe strong:active,
.mobile_menu .level_2 .krippe strong:focus {
	background-color: var(--color-krippe-nav-mid) !important;
}

.mobile_menu .level_1 li.kindergarten a,
.mobile_menu .level_1 li.kindergarten strong {
	background-color: var(--color-kindergarten-nav-mid);
}
.mobile_menu .level_1 li.kindergarten a:active,
.mobile_menu .level_1 li.kindergarten a:focus,
.mobile_menu .level_1 li.kindergarten strong:active,
.mobile_menu .level_1 li.kindergarten strong:focus {
	background-color: var(--color-kindergarten);
}

.mobile_menu .level_2 .kindergarten a,
.mobile_menu .level_2 .kindergarten strong {
	background-color: var(--color-kindergarten-nav-light) !important;
}
.mobile_menu .level_2 li.kindergarten a:active,
.mobile_menu .level_2 li.kindergarten a:focus,
.mobile_menu .level_2 li.kindergarten strong:active,
.mobile_menu .level_2 li.kindergarten strong:focus {
	background-color: var(--color-kindergarten-mid);
}

.mobile_menu .level_1 li.schule a,
.mobile_menu .level_1 li.schule strong {
	background-color: var(--color-schule-nav-mid);
}
.mobile_menu .level_1 li.schule a:active,
.mobile_menu .level_1 li.schule a:focus,
.mobile_menu .level_1 li.schule strong:active,
.mobile_menu .level_1 li.schule strong:focus {
	background-color: var(--color-schule);
}

.mobile_menu .level_2 .schule a,
.mobile_menu .level_2 .schule strong {
	background-color: var(--color-schule-nav-light) !important;
}
.mobile_menu .level_2 li.schule a:active,
.mobile_menu .level_2 li.schule a:focus,
.mobile_menu .level_2 li.schule strong:active,
.mobile_menu .level_2 li.schule strong:focus {
	background-color: var(--color-schule-mid);
}

.mobile_menu .level_1 li.allgemein a,
.mobile_menu .level_1 li.allgemein strong {
	background-color: var(--color-allgemein-nav-mid);
}
.mobile_menu .level_1 li.allgemein a:active,
.mobile_menu .level_1 li.allgemein a:focus,
.mobile_menu .level_1 li.allgemein strong:active,
.mobile_menu .level_1 li.allgemein strong:focus {
	background-color: var(--color-allgemein);
}

.mobile_menu .level_2 .allgemein a,
.mobile_menu .level_2 .allgemein strong {
	background-color: var(--color-allgemein-nav-light) !important;
}
.mobile_menu .level_2 li.allgemein a:active,
.mobile_menu .level_2 li.allgemein a:focus,
.mobile_menu .level_2 li.allgemein strong:active,
.mobile_menu .level_2 li.allgemein strong:focus {
	background-color: var(--color-allgemein-mid);
}




/* main-nav */

#main-nav li {
	border-top: 2px solid #ffffff;
	border-right: 0;
	border-bottom: 2px solid #ffffff;
	border-left: 0;
	text-align: center;
	width: 33.33%;
}

@media screen and (min-width:1041px) {
#main-nav li {
	border-right: 2px solid #ffffff;
	border-left:  2px solid #ffffff;
}
}

#main-nav li.first { border-right: 0 solid #ffffff; }

#main-nav li.last { border-left: 0 solid #ffffff; }

#main-nav a,
#main-nav strong {
    color: #ffffff;
	font-size: 1.275rem;
    font-weight: 400;
    line-height: 2.125;
    text-transform: uppercase;
}

#main-nav span { font-size: 1em; }

/* Hintergrundfarben Main-Nav */

/* - allgemeine Seiten (Grautöne) */

#main-nav li a:link,
#main-nav li a:visited {
	background: var(--color-sand);
	color: #ffffff;
}

#main-nav li a:hover {
	background: #a8a4a0;
	color: #ffffff;
}

#main-nav li a:focus {
	background: #8f8b88;
	color: #ffffff;
}

#main-nav li a:active {
	background: #75726f;
	color: #ffffff;
}

/* - Krippe (Rosatöne) */

.schule #main-nav li.krippe a:link,
.schule #main-nav li.krippe a:visited,
.kindergarten #main-nav li.krippe a:link,
.kindergarten #main-nav li.krippe a:visited {
	background: #dac9c9;
	color: #ffffff;
}

#main-nav li.krippe a:link {
	background: var(--color-krippe);
	color: #ffffff;
}

#main-nav li.krippe a:visited {
	background: var(--color-krippe);
	color: #ffffff;
}

#main-nav li.krippe strong.active { background-color: var(--color-krippe); }

.schule #main-nav li.krippe a:hover,
.kindergarten #main-nav li.krippe a:hover,
#main-nav li.krippe a:hover {
	background: #ce8c8a;
	color: #ffffff;
}

.schule #main-nav li.krippe a:focus,
.kindergarten #main-nav li.krippe a:focus,
#main-nav li.krippe a:focus {
	background: #b57b79;
	color: #ffffff;
}

.schule #main-nav li.krippe a:active,
.kindergarten #main-nav li.krippe a:active,
#main-nav li.krippe a:active {
	background: #9c6a68;
	color: #ffffff;
}

/* - Kindergarten (Grüntöne) */

.krippe #main-nav li.kindergarten a:link,
.krippe #main-nav li.kindergarten a:visited,
.schule #main-nav li.kindergarten a:link,
.schule #main-nav li.kindergarten a:visited {
	background: #c8caa7;
	color: #ffffff;
}

#main-nav li.kindergarten a:link {
	background: var(--color-kindergarten);
	color: #ffffff;
}

#main-nav li.kindergarten a:visited {
	background: var(--color-kindergarten);
	color: #ffffff;
}

#main-nav li.kindergarten strong.active { background-color: var(--color-kindergarten); }

.schule #main-nav li.kindergarten a:hover,
.krippe #main-nav li.kindergarten a:hover,
#main-nav li.kindergarten a:hover {
	background: #9da300;
	color: #ffffff;
}

.schule #main-nav li.kindergarten a:focus,
.krippe #main-nav li.kindergarten a:focus,
#main-nav li.kindergarten a:focus {
	background: #858a00;
	color: #ffffff;
}

.schule #main-nav li.kindergarten a:active,
.krippe #main-nav li.kindergarten a:active,
#main-nav li.kindergarten a:active {
	background: #6c7000;
	color: #ffffff;
}

/* - Schule (Blautöne) */
.krippe #main-nav li.schule a:link,
.krippe #main-nav li.schule a:visited,
.kindergarten #main-nav li.schule a:link,
.kindergarten #main-nav li.schule a:visited {
	background: #b9c8c5;
	color: #ffffff;
}

#main-nav li.schule a:link {
	background: var(--color-schule);
	color: #ffffff;
}

#main-nav li.schule a:visited {
	background: var(--color-schule);
	color: #ffffff;
}

#main-nav li.schule strong.active { background-color: var(--color-schule); }

.krippe #main-nav li.schule a:hover,
.kindergarten #main-nav li.schule a:hover,
#main-nav li.schule a:hover {
	background: #079395;
	color: #ffffff;
}

.krippe #main-nav li.schule a:focus,
.kindergarten #main-nav li.schule a:focus,
#main-nav li.schule a:focus {
	background: #06787a;
	color: #ffffff;
}

.krippe #main-nav li.schule a:active,
.kindergarten #main-nav li.schule a:active,
#main-nav li.schule a:active {
	background: #055f61;
	color: #ffffff;
}

/* CSS-Pfeilchen */

.sub-navi .arrow {
	border: 7px solid #ffffff;
	float: left;
	font-size: 0;
	line-height: 0;
	height: 0;
	padding: 0;
	margin: 0.5rem 0 0 0.06rem;
}

.sub-navi ul ul .krippe .arrow { border: 7px solid var(--color-krippe); }

.sub-navi ul ul .kindergarten .arrow { border: 7px solid var(--color-kindergarten); }

.sub-navi ul ul .schule .arrow { border: 7px solid var(--color-schule); }

.sub-navi .arrow.down, .sub-navi ul ul .arrow.down {
	border-right-color:  transparent;
	border-bottom-color: transparent;
	border-left-color:   transparent;
}

.sub-navi .arrow.up, .sub-navi ul ul .arrow.up {
	border-top-color:    transparent;
	border-right-color:  transparent;
	border-left-color:   transparent;
}

.sub-navi .arrow.left, .sub-navi ul ul .arrow.left {
	border-top-color:    transparent;
	border-bottom-color: transparent;
	border-left-color:   transparent;
}

.sub-navi .arrow.right, .sub-navi ul ul .arrow.right {
	border-top-color:    transparent;
	border-right-color:  transparent;
	border-bottom-color: transparent;
}

/* Styles für mobile Nav */

.mobile-nav { display: none; }

.menubutton { display: none; }

@media screen and (max-width: 767px) {
nav.meta-nav, .anmeldung, #path-nav, #right { display: none; }

.mobile-nav { display: block; }

.menubutton { display: block; }

div.menubutton {
	clear: right;
	display: block;
	float: right;
	padding-right: 0.5rem;
	text-align: right;
}

div.menubutton a { font-size: 1rem; }

.mobile-nav ul.level_1 {
	max-height: 0;
	overflow: hidden;
	transition: 1.75s;
}

#top:target .mobile-nav ul.level_1 {
	max-height: 1500px;
	border-bottom: 2px solid #777777;
}

div.menubutton a {
	background:transparent;
	color: var(--color-primary);
	display: block;
	padding: 0;
	text-decoration: none;
	text-transform: uppercase;
}

div.menubutton a:hover, div.menubutton a:focus {color: #000 !important;}

div.menubutton a.hidenavlist {display: none;}

#top:target a.shownavlist {display: none; height: 0;}

#top:target a.hidenavlist {display: block; height: auto;}
}

/* Klasse zum Ausblenden von nicht erwünschten Einträgen in z.B. mobiler Navigation */

.hidden-in-navs { display: none; }

/* Content */

.content {
	background-color: #ffffff;
	border: 2px solid #ffffff;
	padding-bottom: 2em;
	padding-top: 2em;
}

main p, main ul, main ol, main dl, figure, form, table { margin-bottom: 1.5em; }

main ul, main ol { margin-left: 1em; }

main li {
	margin-bottom: 0.25em;
	list-style-position: outside;
}

main strong { font-weight: 700; }

main em { font-style: italic; }

main blockquote {
	border-top: 1px dotted var(--color-sand);
	border-bottom: 1px dotted var(--color-sand);
	clear: both;
	margin-bottom: 1.5em;
	padding-top: 2em;
	padding-bottom: 2em;
	position: relative;
}

main blockquote p {
	color: var(--color-sand);
	font-size: 1.875em;
	font-style: italic;
	line-height: 1.8;
	margin-bottom: 0;
}

main blockquote em {
	display: block;
	font-family: "Fira Sans",Arial,Helvetica,sans-serif;
	font-style: normal;
	font-weight: 400;
	text-align: right;
}

main blockquote em:before {
	content: "—";
	padding-right: 0.5em;
}

main blockquote em:after {
	content: "—";
	padding-left: 0.5em;
}

/* Akkordeon */

.ui-accordion-header {
	background-color: var(--color-sand);
	border-bottom: 2px solid #ffffff;
	color: #ffffff;
	font-family: "Fira Sans",Arial,Helvetica,sans-serif;
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
	padding: 0.25rem;
}

.ui-accordion-header:hover { background-color: #b1ada9; }

.ce_accordion span.ui-icon-triangle-1-e {
    background: transparent url(../../files/themes/theme-kzgz-2016/images/pfeilchen-nach-rechts.png) no-repeat;
    padding: 0 0 0 1rem;
    margin-left: 0.5rem;
}

.ce_accordion span.ui-icon-triangle-1-s {
    background: transparent url(../../files/themes/theme-kzgz-2016/images/pfeilchen-nach-links.png) no-repeat;
    padding: 0 0 0 1rem;
    margin-left: 0.5rem;
}

.ui-accordion-content-active {
	line-height: 1.65;
	margin-top: 0.75rem;
}

.dlh_googlemap { max-width: 100% !important; }

/* Daten-Tabellen */

table {
	font-family: "Fira Sans",Arial,Helvetica,sans-serif;
	text-align: left;
	vertical-align: top;
}

tr.even { background-color: #eeeeee; }

td, th, thead, tfoot { padding: 0.25em 0.5em; }

thead { font-weight: 700; }

tfoot { font-style: italic; }

td, th { border: 1px solid #cccccc; }

/* Galerien */

.galerie-container {
	clear: both;
	display: flex;
}

#main .ce_gallery ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#main .ce_gallery li {
	float: left;
	margin: 0;
	padding: 0;
}

#main .ce_gallery figure.image_container {
	background: #ffffff;
	border: 1px solid #b1ada9;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	padding: 0.13rem 0.13rem 0.5rem 0.13rem;
}

#main .ce_gallery figure.image_container:hover {
	background: var(--color-sand);
	border: 1px solid #000000;
}

.ce_download img.mime_icon { display: none; }

/* Galerie Test Übersicht mit Einzelelementen */

.galerie { display: table; }

.galerie .ce_divider { display: table-row; }

.galerie-element {
	background: #ffffff;
	border: 1px solid #b1ada9;
	font-family: "Fira Sans",Arial,Helvetica,sans-serif;
	float: left;
	margin-bottom: 1em;
	margin-right: 1em !important;
	padding: 0.25rem 0.25rem 0 0.25rem;
}

.galerie-element:hover {
	background: var(--color-sand);
	border: 1px solid #000000;
}

.galerie-element p+p { padding: 0 0.5em; }

/* Geschützte Download-Galerien */

.secure-gallery ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-left: 0;
}

.secure-gallery li {
	border: 1px solid #666666;
	border-radius: 5px;
	flex-basis: 30%;
	list-style-type: none;
	margin-bottom: 1rem;
	margin-right: 1rem;
	text-align: center;
	padding: 0;
	font-size: 0.875rem;
}

@media (max-width:795px) {
.secure-gallery li {
	flex-basis: 46%;
}
}

@media (max-width:450px) {
	.secure-gallery li {
		flex-basis: 100%;
		margin-right: 0;
	}
	}
	
.secure-gallery a.submit {
	display: block;
	margin: 0.5rem;
}
.secure-gallery a.submit:hover {
	background-color: var(--color-accent-dark);
	outline: 0;
}
/* Farbkodierung*/
.blau .secure-gallery a.submit {
	background-color: #6ec8e6;
	border: 1px solid #1c323a;
}
.blau .secure-gallery a.submit:hover {
	background-color: #639aad;
}
.gelb .secure-gallery a.submit {
	background-color: #fff082;
	border: 1px solid #403c21;
	color: #000000 !important;
}
.gelb .secure-gallery a.submit:hover {
	background-color: #c0b673;
	color: #ffffff !important;
}
.orange .secure-gallery a.submit {
	background-color: #faaa3c;
	border: 1px solid #3f2b0f;
}
.orange .secure-gallery a.submit:hover {
	background-color: #b78541;
}
.rot .secure-gallery a.submit {
	background-color: #e6461e;
	border: 1px solid #3a1208;
}
.rot .secure-gallery a.submit:hover {
	background-color: #a6432a;
}
.weiss .secure-gallery a.submit {
	background-color: #ffffff;
	border: 1px solid #404040;
	color: #000000 !important;
}
.weiss .secure-gallery a.submit:hover {
	background-color: #cccccc;
}
.gruen .secure-gallery a.submit {
	background-color: #c8c346;
	border: 1px solid #323112;
}
.gruen .secure-gallery a.submit:hover {
	background-color: #949144;
}
.lila .secure-gallery a.submit {
	background-color: #9678c8;
	border: 1px solid #261e32;
}
.lila .secure-gallery a.submit:hover {
	background-color: #796798;
}
.tuerkis .secure-gallery a.submit {
	background-color: #5abeaa;
	border: 1px solid #17302b;
}
.tuerkis .secure-gallery a.submit:hover {
	background-color: #518f82;
}
.adler .secure-gallery a.submit {
	background-color: #ffd764;
	border: 1px solid #403619;
	color: #000000 !important;
}
.adler .secure-gallery a.submit:hover {
	background-color: #bea55e;
	color: #ffffff !important;
}
.fuechse .secure-gallery a.submit {
	background-color: #6e9dd4;
	border: 1px solid #1c2735;
}
.fuechse .secure-gallery a.submit:hover {
	background-color: #617ea0;
}
.raben .secure-gallery a.submit {
	background-color: #c7d42c;
	border: 1px solid #32350b;
	color: #000000 !important;
}
.raben .secure-gallery a.submit:hover {
	background-color: #919a32;
	color: #ffffff !important;
}
.woelfe .secure-gallery a.submit {
	background-color: #ec5f7e;
	border: 1px solid #3b1820;
}
.woelfe .secure-gallery a.submit:hover {
	background-color: #b0596c;
}

.secure-gallery span {
	display: block;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 400;
	margin: 0 0.5rem 0.5rem 0.5rem;
}

.secure-gallery .image_container { margin-bottom: 0; }

.secure-gallery .image_container a { margin: 0; }

.secure-gallery img { margin: auto; }

.secure-gallery figcaption { margin-bottom: 0.5rem; padding-top: 0.5rem; }


/* Rechte Spalte */

#right { margin-top: 0.5rem; }

/* Bilder im Inhaltsbereich */

main img, .ce_img img {
	height: auto;
	max-width: 100%;
}

.flexible, .flexible video, .flexible img {
	height: auto;
	max-width: 100%;
}

.button-right img {
	width: 100%;
	height: auto;
	margin-top: 3rem;
	padding-bottom: 0.5rem;
}

.button-right-mobile { display: none; }

@media (max-width:767px) {
.button-right-mobile {
	display: block;
	margin-top: -2.5rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 350px;
	text-align: center;
}
}

.button-start img {
	width: 100%;
	height: auto;
	margin-top: 3rem;
	padding-bottom: 0.5rem;
	position: relative;
	right: -70px;
	top: -100px;
}

/* Spalten Button Start tauschen bei <600px */

.start-button-big { display: block; }
.start-button-small { display: none; }

@media (max-width:749px) {
.start-button-big, .start-bottom { display: none; }
.start-button-small { display: block; }

.button-start img {
	width: 100%;
	height: auto;
	max-width: 350px;
	margin-top: -2.5rem;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 0.5rem;
	position: static;
}
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin-top: 30px;
}
 
.video-wrapper iframe, .video-container object, .video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

figcaption {
	font-size: 0.875rem;
	font-style: italic;
	padding-top: 1rem;
}

/* Blogs */

.mod_newsarchive h2 a {
	font-size: 1em;
	line-height: 1.125;
	margin: 1em 0 0.5em 0;
}

.mod_newsarchive .info, .mod_newsarchive .more, .mod_newsreader .info, .mod_newsreader .back {
	color: var(--color-sand);
	font-family: "Fira Sans",Arial,Helvetica,sans-serif;
	font-style: italic;
	font-weight: 300;
}

.mod_newsarchive .layout_latest { border-bottom:1px var(--color-primary) dotted; }

/* Kommentare */

.ce_comments { border-top: 1px dotted var(--color-sand); }

.comment_default p.info { margin-bottom: 0; }

.comment_default {
	border-bottom: 1px dotted var(--color-sand);
	padding-top: 2em;
}

.comment_default .last {
	border-bottom: 0;
	padding-top: 2em;
}

/* Footer */

footer {
	color: #ffffff;
    font-size: 0.75rem;
	font-weight: 400;
}

footer div, footer p, footer li, footer th, footer td, .footer div, .footer p, .footer li, .footer th, .footer td { color: #ffffff; }

.footer {
	background-color: var(--color-footer);
	border: 2px solid #ffffff;
}

@media screen and (max-width: 1040px) {
.footer { border: 0; }
}

@media screen and (max-width: 767px) {
footer p { text-align: center; }
}

.footer-inner {
	padding-top: 1em;
	padding-bottom: 1em;
}

footer a:link {
	color: #ffffff;
	text-decoration: none;
}

footer a:visited {
	color: #ffffff;
	text-decoration: none;
}

footer a:hover {
	color: #000000;
	text-decoration: none;
}

footer a:active { color: #ffffff; }

footer nav a, footer .copy a { text-decoration: none; }

footer nav a:hover, footer .copy a:hover { text-decoration: underline; }

footer .social-media-container {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 2rem;
	margin-top: 1.5rem;
}
footer .facebook img { background: transparent; }

footer .social-media img {
	transform: translateY(0px) scale(1);
	transition: transform 0.3s ease;
}

footer .social-media img:hover {
	transform: translateY(-1px) scale(1.15);
}

footer .facebook img { width: 50px; }
footer .instagram img { width: 38px; }
@media (max-width: 767px) { footer .social-media img { margin-left: auto; margin-right: auto; }}

/* Formulare */

fieldset {
	background-color: #faf8f5;
	margin-bottom: 0.25rem;
	padding: 10px;
}

fieldset .widget {
	margin-bottom: 0;
	padding: 5px;
}

fieldset .widget:last-of-type { margin-bottom: 2rem; }

.widget, .mod_login input.text, .mod_login .checkbox_container { margin-bottom: 1.5rem; }

label {
	display: block;
	font-size: 0.875em;
	font-style: italic;
}

.radio_container label, .checkbox_container label, .widget-captcha label, .widget fieldset legend {
	font-size: 1em;
	font-style: normal;
}

.radio_container label, .radio_container input, .checkbox_container .checkbox {
	float: left;
	margin-right: 10px;
}

.radio_container label { margin-right: 1.5rem; }

.checkbox_container span { display: block; }

.inline .checkbox_container span { display: inline; }

.widget-captcha span.captcha_text { display: block; }

legend {
	font-size: 0.875em;
	font-style: italic;
}

.radio_container legend, .checkbox_container legend, .checkbox_container span, .widget-captcha label { margin-bottom: 0.875rem; }

.inline .checkbox_container legend { margin-bottom: 0.125rem; }

.inline label { margin-bottom: 1.25rem; }

input.text, textarea, select {
	width: 100%;
	padding: 0.625rem;
}

input.captcha { padding: 0.625rem; }

.text, .textarea { border: 1px solid #cfccc8; }

.margin-bottom-no { margin-bottom: 0; }

form .explanation h1,
form .explanation h2,
form .explanation h3,
form .explanation h4,
form .explanation h5,
form .explanation h6 {
	margin: 0.5rem 0 0.75rem 0;
}

/* Cut */

button.submit, div.submit, a.submit, .button {
    background-color: var(--color-accent);
    border: 1px solid #1D4A19;
    border-radius: 0.1rem;
    color: #ffffff !important;
    cursor: pointer;
    display: inline-block;
    font-family: "Fira Sans",Arial,Helvetica;
    font-size: 1.125em;
    font-style: normal;
    line-height: 1.5;
    margin: 0.75rem 0 0.75rem 0;
    padding: 0.375em 1em;
    overflow: visible;
    text-decoration: none !important;
	text-transform: uppercase;
    white-space: nowrap;
}

div.submit, a.submit, .button {
    margin-top: 0;
}

div.submit a, .button {
    color: #ffffff !important;
    text-decoration: none;
}

button.submit:focus, button.submit:hover,
div.submit:focus, div.submit:hover, .button:focus, .button:hover{
	background-color:var(--color-accent-dark);
	outline:0;
}

button.submit:active, div.submit:active, .button:active{
	box-shadow:inset 2px 2px 3px rgba(0,0,0,0.2);
	background-color:#b3cc14;
	position:relative;
	top:1px;
}

/* Cut */

input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill { background-color: #ffcd00; }

.dlh_googlemap form { margin-bottom: 0; }

.dlh_googlemap input.text { width: 75%; }

.dlh_googlemap input.submit {
    margin: 0.65rem 0 0.65rem 0;
    padding: 0.285em 1em;
}

/* Dekorative Elemente */

hr {
	color:#fff;
	background:transparent;
	border:0;
	border-bottom:1px var(--color-primary) dotted;
	margin:1em 0 1.5em 0;
	padding:0 0 0.5em 0;
}

/* Hilfsklassen */

.invisible {
    border: 0 none;
    clip: rect(0px, 0px, 0px, 0px);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0px;
    position: absolute;
    width: 1px;
}

.pull-left { float: left !important; }

.pull-right { float: right !important; }

.error { font-weight: 700; }

/* Cookiebar */

.cookiebar {
    background-color: #e7e5e4;
    border-top: 1px solid #ffffff;
    color: var(--color-text);
}
 
.cookiebar button { background-color: var(--color-accent); }

.cookiebar button:focus, .cookiebar button:hover { background-color: var(--color-accent-dark); }

.cookiebar button:active { background-color: #b3cc14; }
 
.cookiebar a { color: var(--color-text); }

cms-taggroup-description p {
	margin-bottom: 1rem;
}

.meta .ce_optin_fallback {
	display: none;
}

/* Styles für Karriere-Seite. */

.job-grid main {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	grid-auto-rows: auto;
	gap: 1.5rem;
}

.job-card {
	border-radius: 0.25rem;
	display: flex;
	flex-direction: column;
	background-color: #faf8f5;
	border: 1px solid var(--color-primary);
	margin-top: 50px;
	padding: 0.125rem 1.5rem 1.5rem 1.5rem;
	position: relative;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.job-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.10);
}

/* Alle Artikel, die keine Klasse .job-card haben, werden vom Grid ausgeschlossen. */
.mod_article:not(.job-card) {
  grid-column: 1 / -1;
}

/* Birdy Hover für Job-Cards. */

/* Beide Grafiken übereinander gestapelt. */
.job-card::before,
.job-card::after {
	content: "";
	position: absolute !important;
	left: 50%;
	width: 60px;
	height: 70px;
	background-size: contain;
	background-position: bottom center;
	background-repeat: no-repeat;
	top: -70px;
	transform: translateX(-50%) translateY(0);
	transition: opacity 0.3s ease, transform 0.25s ease;
}

/* Grafik Ausgangszustand */
.job-card::before {
	background-image: url('../../files/themes/theme-kzgz-2016/images/bird-card.svg');
	opacity: 1;
}

/* Grafik hover unsichtbar */
.job-card::after {
	background-image: url('../../files/themes/theme-kzgz-2016/images/bird-card-hover.svg');
	opacity: 0;
}

/* Hover-Effekt */
.job-card:hover::before {
	opacity: 0;
	transform: translateX(-50%) translateY(0);
}
.job-card:hover::after {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

.job-card .ce_text {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.job-card h1, .job-card h2, .job-card h3, .job-card h4, .job-card h5, .job-card h6 {
	font-size: 1.375rem;
	font-weight: 400;
}

.job-card p {
	line-height: 1.7;
	margin-bottom: 1.5rem;
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.button {
	text-align: center;
}

.button a {
	color: #ffffff;
	display: block;
	font-size: 18px;
	text-decoration: none;
}

.button a:hover {
	color: #ffffff;
}

.button.ghost {
	background-color: transparent;
	border-color: var(--color-primary);
	color: var(--color-primary) !important;
}

.button.ghost a {
	color: var(--color-primary) !important;
}

.button.ghost:hover {
	background-color: #ede9e4;
	border-color: #000000;
	color: #000000;
}

.button.ghost a:hover {
	color: #000000 !important;
}

.job-card .button.ghost {
	margin-top: auto;
}

.button-container {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}

/* Styles für FAQ */

.mod_faqpage details {
	border: 1px solid var(--color-primary);
	border-radius: 5px;
	margin-bottom: 1.25rem;
	padding: 1rem;
}

/* Nativen Pfeil entfernen */
.mod_faqpage summary {
	cursor: pointer;
  list-style: none;
}
.mod_faqpage summary::-webkit-details-marker {
  display: none;
}

.mod_faqpage h4 {
	color: var(--color-primary);
	display: inline;
	font-size: 1.125rem;
	font-weight: var(--font-bold);
	line-height: 1;
	margin: 0;
}

/* Plus vor der Frage */
.mod_faqpage summary h4::before {
	color: var(--color-primary);
  content: "+";
  font-weight: var(--font-bold);
  margin-right: 0.5rem;
}

/* Minus wenn geöffnet */
.mod_faqpage details[open] summary h4::before {
  content: "−";
}

.mod_faqpage ul.enclosure {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* === 1) Alt-Layout im Header neutralisieren (Float-Reset) === */
#header .inside > *,
#header .header-topline,
#header .meta-nav,
#header .meta-nav ul,
#header .meta-nav li {
  float: none;
  clear: none;
  width: auto;
  margin-left: 0;
  margin-right: 0;
}

/* === 2) Neues Header-Layout (Grid) === */

#header {
    width: 95%;
}

/* Topline-Übersetzungshinweis ausblenden, sobald der Elfsight-Translator geladen ist.
   ID muss mit dem Translator-Modul übereinstimmen – bei Widget-Wechsel hier anpassen. */
#header .inside:has(.elfsight-app-2dba482c-7875-4580-9716-09e26996b558) .header-topline {
  display: none;
}

#header .inside {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 1rem;
}

/* Topline: eigene Zeile, immer über dem Logo */
#header .header-topline {
  grid-column: 1 / -1;
  text-align: right;
  margin-bottom: 2rem;
  font-size: .85rem;
  padding-right: 1.5rem;
  text-transform: uppercase;
}

@media screen and (max-width: 880px) {
#header .header-topline {
  padding-right: 0.5rem;
}
}

/* Icon vor Hinweis. */
#header .header-topline a {
  display: inline-flex;
  align-items: center;
  font-size: 1rem;
  gap: .4em;
}
#header .header-topline a::before {
  content: "";
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  background-color: currentColor;   /* Icon nimmt die Linkfarbe an */
  -webkit-mask: url("/files/themes/theme-kzgz-2016/images/translate.svg") center / contain no-repeat;
          mask: url("/files/themes/theme-kzgz-2016/images/translate.svg") center / contain no-repeat;
}

/* optin_fallback ausblenden, wird ersetzt durch topline. */
div.ce_optin_fallback { display: none; }

#header .inside > a {
  grid-column: 2;
  grid-row: 2 / span 50;
  align-self: start;
  justify-self: center;
  display: inline-block;
  line-height: 0;
}
#header .inside > a img { display: block; width: 380px; }

#header .translator,
#header .meta-nav,
#header .menubutton,
#header .mod_mobile_menu {
  grid-column: 3;
  justify-self: end;
  text-align: right;
}
#header .meta-nav ul { list-style: none; padding: 0; }
#header .meta-nav li { display: inline-block; margin-left: 1.25em; }

#header .menubutton { display: none; }

@media (max-width: 767px) {
  #header .meta-nav   { display: none; }
  #header .menubutton { display: block; }

  #header .inside > a {
  grid-row: 1 / span 50;
}

  #header .inside > a img {
    max-width: 200px;
  }
}

@media (max-width: 450px) {
  #header .inside > a img {
    max-width: 150px;
  }
}

@media (max-width: 300px) {
  #header .inside > a img {
    max-width: 110px;
  }
}
/* ------------------------------------------------------------------
   Mobile-Menü – Untermenüs per Plus/Minus auf- und zuklappen
   Für die Extension codefog/contao-mobile_menu
   Voraussetzung: Modul-Option "Disable collapsible navigation" ist aktiv
   ------------------------------------------------------------------ */

/* Untermenüs im Ausgangszustand geschlossen (das JS steuert das Aufklappen) */
.mobile_menu li.mm-has-sub > ul { display: none; }

/* Bezugsrahmen für die absolute Positionierung des Buttons */
.mobile_menu li.mm-has-sub { position: relative; }

/* Der Plus-/Minus-Button */
.mobile_menu .mm-toggle {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0 !important;   /* neutralisiert vom Theme geerbte Abstände (wichtig!) */
    width: 40px;            /* = Höhe einer Menüzeile – bei anderem Design anpassen */
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 1.4em;       /* Größe des +/- Zeichens */
    line-height: 1;
    cursor: pointer;
}

