@charset "UTF-8";
/* CSS Document */

/* -----------------------------  Haupt  -------------------------------- */

a.nav-link { display: none; }

/* hauptnavigation Hauptebene */

header.nav-up { top: -105px !important; }

nav > ul { position: relative; margin: 0 auto; }
nav > ul > li { position: relative; line-height: 1em; display: inline-block; margin-left: 20px; }
nav > ul > li > a { display: inline-block; padding: 43px 0 43px; text-decoration: none; color: #0069b4; font-size: 14px; line-height: 14px; font-weight: 600; text-transform: uppercase; }
nav > ul > li:first-child { margin-left: 0; }
nav > ul > li > a:active, nav > ul > li > a:visited { color: #0069b4; }
nav > ul > li > a:hover { color: #b52525; }
nav > ul > li.current-menu-item > a, nav > ul > li.current-menu-parent > a { color: #b52525; }

/* hauptnavigation Unterebene 1 */

nav > ul ul {
  z-index: 9999;
  position: absolute;
  top: 100%;
  width: 15em;
  margin-top: 20px;
  left: 0;
  text-align: left; 
  background: rgba(0,105,180,.9);
  visibility: hidden;
  opacity: 0;
  -webkit-transition:  visibility 0.25s, opacity 0.25s, margin-top 0.25s ease-out;
  -moz-transition:  visibility 0.25s, opacity 0.25s, margin-top 0.25s ease-out;
  -ms-transition:  visibility 0.25s, opacity 0.25s, margin-top 0.25s ease-out;
  transition: visibility 0.25s, opacity 0.25s, margin-top 0.25s ease-out;
}

nav > ul > li:hover > ul { visibility: visible; opacity: 1; margin-top: 0; }
nav > ul ul > li > a { display: block; font-weight: 400; padding: 10px 20px; color: #ffffff;; font-size: 15px; line-height: 1.5; border-top: 1px dotted rgba(255,255,255,.3); text-decoration: none; }
nav > ul ul > li > a:active, nav > ul ul > li > a:visited { color: #ffffff; text-decoration: none; }
nav > ul ul > li > a:hover { cursor: pointer;  color: #0069b4; background: rgba(174,204,83,1); }
nav > ul ul > li:first-child > a { border-top: none; }
nav > ul ul > li.current-menu-item > a { color: #ffffff; background: #b52525; }
nav > ul ul > li.current-menu-item > a::before,
nav > ul ul > li.current-menu-parent > a::before { 
  font-family: 'simple-line-icons';
  font-size: .8em !important;
  color: #ffffff;
  content: "\e606";
  margin-right: .35em;
 }

/* -----------------------------  Navicontent  -------------------------------- */

ul.navicontent { width: 100%; height: auto; border-right: 1px dotted rgba(255,255,255,0.5); }

.menuhead { background: #ffffff; padding: 6px 10px; color: #000000; margin-top: 30px; font-weight: 700; text-transform: uppercase; }
.menuheadeltern { background: #b52525; padding: 6px 10px; color: #ffffff; margin-top: 30px; font-weight: 700; text-transform: uppercase; }
.menuheadkinder { background: #0069b4; padding: 6px 10px; color: #ffffff; margin-top: 30px; font-weight: 700; text-transform: uppercase; }

ul.navicontent li { float: none; font-size: 0.85em; text-align: left; border-bottom: 1px dotted rgba(255,255,255,0.5); }
ul.navicontent.pageeltern { border-right: 1px dotted rgba(182,38,37,0.4); }
ul.navicontent.pagekinder { border-right: 1px dotted rgba(0,105,180,0.4);}

ul.navicontent li a {
  padding: 6px 10px 6px 10px;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  display: block;
  border-left: 1px dotted rgba(255,255,255,0.5);
  text-transform: uppercase;
  -webkit-transition: all 0.3s ease;  
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease; 
}
ul.navicontent li a:hover { padding: 6px 10px 6px 15px; background: #fff; color: #000; }

ul.navicontent.pagekinder li { border-bottom: 1px dotted rgba(0,105,180,0.4); }
ul.navicontent.pagekinder li a { color: #000; border-left: 1px dotted rgba(0,105,180,0.4); -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease; }
ul.navicontent.pagekinder li a:hover { padding: 6px 10px 6px 15px; background: #0069b4; color: #fff; }
ul.navicontent.pagekinder li.current_page_item a { border-left: 7px solid #0069b4; }

ul.navicontent.pageeltern li { border-bottom: 1px dotted rgba(182,38,37,0.4); }
ul.navicontent.pageeltern li a { color: #000; border-left: 1px dotted rgba(182,38,37,0.4); -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease; }
ul.navicontent.pageeltern li a:hover { padding: 6px 10px 6px 15px; background: #b52525; color: #fff; }
ul.navicontent.pageeltern li.current_page_item a { border-left: 7px solid #b52525; }

/* -----------------------------  Breadcrumb Container  -------------------------------- */

.breadcrumb-container { padding: 10px 0; }
 
/* --------------------------------  Mobile  ---------------------------------- */

.social { margin-top: 40px; }
.social:first-child a img { margin-right: 10px; }
.social a img { width: 20px; height: 20px; }

/* --------------------------------  Mobile  ---------------------------------- */

@media all and (max-width: 1700px) {
  nav > ul li:last-child ul { left: calc(-100% - 3vw); }
}

@media all and (max-width: 920px) {
  
  a.nav-link i { margin: 0; }
  a.nav-link, a:visited.nav-link { color: #0069b4; position: absolute; top: 34px; right: 30px; text-decoration: none; display: block; text-align: center; font-size: 36px; padding: 0; }
  a.nav-link:hover, a.nav-link.active { color: #000000; }

  .social { margin-top: 14px; }
  
  nav { width: 100%; height: auto; }
  nav > ul, nav > ul ul.sub-menu {
    visibility: hidden;
    overflow: hidden; 
    max-height: 0;
    padding: 0;
    -webkit-transition: all .35s ease-in-out; 
    -moz-transition: all .35s ease-in-out; 
    -ms-transition: all .35s ease-in-out; 
    transition: all .35s ease-in-out;
  }
  nav ul > li > ul.sub-menu { padding: 0px; border: none; left: 0; }
  nav ul.row { display: block; }
  nav.active ul, nav > ul ul.active { max-height: 55em; visibility: visible; }
  nav > ul { width: 100%; }
  nav > ul > li:first-child { margin-top: 20px; }
  nav > ul > li { display: block; margin-left: 0; }
  nav > ul > li > a { color: #0069b4; font-size: 19px; line-height: 17px; margin: 0; padding: 14px 0; border-bottom: 1px solid rgba(0,0,0,.2); display: block; }
  nav > ul > li:last-child > a { border-bottom: 0;  }
  nav li.menu-item-has-children > a:after { content: '+'; position: absolute; top: 13px; right: 0; font-size: 22px; padding: 0; }
  nav li.menu-item-has-children > a.active:after { content: "-"; }
  
  /* hauptnavigationigation Unterebene 1 */
  
  nav > ul ul.sub-menu {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    width: 100% ;
    visibility: visible;
    opacity: 1;
    background: #0069b4;
  }
  
  nav > ul ul.sub-menu > li > a { padding: 12px 20px; font-size: 15px; }
  nav > ul ul.sub-menu > li > a:hover { background: rgba(174,204,83,1); color: #005387; }
  nav > ul > li > ul > li.current-menu-item > a { background: #b52525; }
  nav > ul > li > ul > li.current-menu-item > a:hover { color: #005387; }
}

@media all and (max-width: 500px) {
  a.nav-link { top: 30px; right: 20px; text-decoration: none; display: block; text-align: center; font-size: 36px; padding: 0; }
}
