/**
 * "Yet Another Multicolumn Layout" - YAML CSS Framework
 *
 * default screen stylesheet - FULLPAGE-layout type layout
 *
 * @copyright       © 2005-2013, Dirk Jesse
 * @license         CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/),
 *                  YAML-CDL (http://www.yaml.de/license.html)
 * @link            http://www.yaml.de
 * @package         yaml
 * @version         4.1.2
 */
@keyframes zoomIn {
0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
}
50% {
    opacity: 1;
}
}
@keyframes bubbleUp {
  0% {top:200px;-webkit-transform:scale(.9);ms-transform:scale(.9);transform:scale(.9);opacity:0}
  1% {top:200px;-webkit-transform:scale(.3);ms-transform:scale(.3);transform:scale(.3);opacity:0}
  30% {top:200px;-webkit-transform:scale(.8);ms-transform:scale(.8);transform:scale(.8);opacity:1}
  95% {top:25px;-webkit-transform:scale(.3);ms-transform:scale(.3);transform:scale(.3);opacity:1}
  99% {top:20px;-webkit-transform:scale(2);ms-transform:scale(2);transform:scale(2);opacity:0}
  100% {top:200px;-webkit-transform:scale(.9);ms-transform:scale(.9);transform:scale(.9);opacity:0}
}

@media screen {
  /* force vertical scrollbar */
  body {
    overflow-y: scroll;
	background: #85CEE4;
  }
    #site-all {
	background: #FFF;
  }

  /* Layout Module Configuration */
  .ym-wrapper {
    max-width: 100em;
    margin: 0 auto;
  }
  #pane {
	  width:100%; 
	  background:#85CEE4; 
	  min-height:100%; 
	  display:none;
	  position:absolute;
	  top:0;
	  left:0;
  }
  #pane h1,
  #pane p,
  .misspw p {
	  text-align:center;
  }
    #pane h1 {
	  position:relative;
  }
  span.close {
	  position:absolute;
	  right:0;
	  top:8px;
	  font-family:Arial, sans-serif;
	  font-weight:400;
	  font-size:16px;
	  border:1px solid #152A43;
	  border-radius:50%;
	  padding:2px 7px;
  }
  #pane .ym-wrapper {
	max-width:100%;
	margin:0;
	padding:0
  }
  #containB {
	  display:none;
	  /*width:50%;*/
	  margin:0 auto;
  }

  #containA,
  #containB {
	  width:100%;
	  position:absolute;
	  top:0;
	  left:0;
  }

  .ym-wbox {
    padding: 1.5em;
  }
    #pane .ym-wrapper > .ym-wbox {
	  width: 50%; 
	  z-index: 100;
	  margin:20px auto;
  }

  /* fallback for missing media queries support*/
  body > header, body > nav, body > main, body > footer {
    min-width: 860px;
  }

  /* Basic Element Styling */
  header {
    background: #FFF;
    color: #666;
	transition: all 0.4s ease;
  }
  header.sticky {
    position:fixed;
	z-index:100;
	height:60px;
	width:100%;
	border-bottom:1px solid #B2B2B2;
	-webkit-box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.2);
	background:#FFF;
  }
  header #logo {
	  margin:1em 0 0 1.25em;
	  width:477px;
	  height:auto;
	  transition: all 0.4s ease;
  }
  header #aklogo {
	  margin:1em 0 0 1.25em;
	  width:346px;
	  height:auto;
	  transition: all 0.4s ease;
  }
  header .top {
	  display:none;
	  margin-left:1.25em;
  }
  header.sticky #logo {
	  width:180px;
	  margin:0 0 0 1em;
  }
  header.sticky #aklogo {
	  width:140px;
	  margin:0 0 0 1em;
  }
  header.sticky .top {
	  display:inline-block;
  }
   header.sticky + main {
	padding-top:120px;
  }
  header .ym-wbox {
	  position:relative;
	  padding:1.5em 1.5em 2.5em;
  }
  header.sticky .ym-wbox {
	  position:relative;
	  padding:1em 1.5em 0;
  }
  #topnav {
	  position:absolute;
	  top:1.5em;
	  right:2.75em;
  }
  header.sticky #topnav {
	  top:2em;
	  font-size:0.875rem;
  }
  main {
	  background:#FFFFFF;
  }

  #intro {
	  position: relative;
  }
  #blue {
	  position: absolute;
	  background: rgba(133,206,227,0.8);
	  top:0;
	  left:0;
	  width:40%;
	  padding:40px 20px 100px;
	  display:none;
  }
  #akademie {
	  position: absolute;
	  background: rgba(21,42,67,0.8);
	  bottom:0;
	  right:0;
	  width:40%;
	  padding:40px 20px 40px;
	  display:none;
  }

  footer {
    background: #d6d6d6;
    color: #FFF;
  }
  footer .ym-wbox {
    padding: 0 1.5em;
  }
  footer .labor {
	  background:#85CEE4;
  }
  footer .ym-grid.linearize-level-3 {
	  background:#85CEE4;
  }
  footer .labor {
	  color:#152A43;
  }
  p.social {
	  color:#FFFFFF;
  }
  footer .akademie {
	  background:#152A43;
  }
  footer .ferien {
	  background:#E30613;
  }
  .ym-gbox {
    padding: 0 1.25em;
  }
  footer .ym-gbox {
	padding: 4em 1.25em;
  }

  .ym-gbox-left {
    padding: 0 1.25em 0 0;
  }
  .navcontain .ym-g25 .ym-gbox-left {
	  padding:0 1.25em 0 1.25em;
  }

  .ym-gbox-right {
    padding: 0 0 0 1.25em;
  }
  .navcontain {
	  margin-bottom:2em;
  }
  #cards {
	  margin-bottom:3em;
  }
  #container {
	max-width:100%;
	margin:0 auto;
}
.item {
	width:25%;
	float:left;
	margin-bottom:0;
}
.item .content {
	position:relative;
}
.item .info {
	position:absolute;
	top:0;
	left:0;
	opacity:1;
	width:100%;
	transition: opacity 0.75s ease;
}
.item .info h3 {
	padding:40px 20px 20px;
	color:#FFFFFF;
	font-size:2.25rem;
	margin:0;
	line-height:1.1;
}
.item .info:hover {
	opacity:0;
}

.animated {
    animation-duration: 1s;
    animation-fill-mode: both;
}

.zoomIn {
    animation-delay: 0.2s;
    animation-name: zoomIn;
}
div.help > p {
	background:url(../../images/online-buchung_hilfe.png) no-repeat right bottom;
	padding-bottom:2em;
	margin-bottom:0.5em;
}

#accordion {
	border-left:2px solid #85CEE4;
	border-right:2px solid #85CEE4;
	border-bottom:2px solid #85CEE4;
	margin:2em 0;
}
#accordion .ym-grid {
	border-top:2px solid #85CEE4;
}
#accordion .ym-grid .ym-gbox {
	padding-top:1.5em;
}
.month .ym-gbox,
#accordion .ym-grid .month .ym-gbox {
	padding:0;
}
  #togglemenu {
	display:none;
}
.subarrow,
 ul li.is-expanded .menu {
    display: none;
}
 ul li.is-expanded.active .menu {
    display: block;
}
.calendar {
    height: 550px;
	overflow: auto;
}
.days {
	width:280px;
	margin-bottom:10px;
	height:240px;
}
.legend {
	width:280px;
}
.day {
	width:14.2857%;
	height:16.666%;
	float:left;
	box-sizing:border-box;
	padding:0 4px 4px 0;
}
.dbox {
	background-color:#C8C8C8;
	border-radius:50%;
	text-align:center;
	font-weight:bold;
	position:relative;
	height:100%;
	width:auto;
	line-height:1.1;
}
.am span,
.pm span {
	display:none;
}
.am {
	width:50%;
	height:50%;
	position:absolute;
	background-color:#C8C8C8;
	bottom:0;
	left:0;
	border-top:1px solid #FFF;
	border-bottom-left-radius:100%;
}
.pm {
	width:50%;
	height:50%;
	position:absolute;
	background-color:#C8C8C8;
	bottom:0;
	right:0;
	border-top:1px solid #FFF;
	border-left:1px solid #FFF;
	border-bottom-right-radius:100%;
}
.occu {
	background-color:#E30613;
}
.free {
	background-color:#A9C06A;
	cursor:pointer;
}
.more_dates {
	text-align:center;
}
.more_dates2 {
	display:none;
}
#scroll {
	cursor:pointer;
}
  .slot {
	  border: 2px solid #152A43;
	  margin-bottom:1em;
  }
.slot .pdf {
	background:url(../../images/pdf.png) no-repeat left center;
	padding:10px 0 10px 33px;
	margin:0 10px;
}
.slot .time {
	background:url(../../images/time.png) no-repeat left center;
	padding:10px 0 10px 33px;
	margin:0 10px;
}
.anmeldung {
	text-align:center; 
	background:#152A43;
	color:#FFF;
	text-transform:uppercase;
	cursor:pointer;
	padding:20px;
	margin-bottom:0;
}
.anmeldung:hover {
	background:#85CEE4;
}
.slot .teiln {
	padding:10px 0 10px 33px;
	margin:0 10px;
}
.slot .free {
	background:url(../../images/frei.png) no-repeat left center;
}
.slot .half {
	background:url(../../images/half.png) no-repeat left center;
}
.slot .full {
	background:url(../../images/full.png) no-repeat left center;
}
.vormerken {
	clear:left;
}

.reservation {
	text-align:center; 
	background:#85CEE4;
	border: 2px solid #152A43;
	color:#152A43;
	cursor:pointer;
	padding:10px;
	display:inline-block;
	text-transform:uppercase;
	font-weight:bold;
	margin:6px 0 1em 40px;
}

  .news .ym-g66 {
	  border-top: 2px solid #85CEE4;
  }
  .date {
	  border: 2px solid #85CEE4;
	  color:#85CEE4;
	  font-weight:bold;
	  text-align:center;
	  padding:10px;
	  float:left;
	  margin:0 0.5em 0.25em 0;
	  line-height:1.2;
  }
  .date strong {
	  font-size:20px;
	  font-size:1.1875rem;
  }
  .meilensteine .date {
	  font-size:20px;
	  font-size:1.1875rem;
  }
  .meilensteine {
	  margin-top:3em;
  }


span.bubble1 {
  width:40px;
  height:40px;
  position:absolute;
  display:block;
  left:600px;
  top:200px;
  border-radius:50%;
  border:2px solid #aee1f0; 
  animation:bubbleUp 6s infinite ease-in-out;
  -webkit-animation:bubbleUp 6s infinite ease-in-out;
  -o-animation:bubbleUp 6s infinite ease-in-out;
  -moz-animation:bubbleUp 6s infinite ease-in-out;
}
span.bubble2 {
  width:20px;
  height:20px;
  position:absolute;
  display:block;
  left:700px;
  top:200px;
  border-radius:50%;
  border:2px solid #aee1f0; 
  animation:bubbleUp 5s infinite ease-in-out 2s;
  -webkit-animation:bubbleUp 5s infinite ease-in-out 2s;
  -o-animation:bubbleUp 5s infinite ease-in-out 2s;
  -moz-animation:bubbleUp 5s infinite ease-in-out 2s;
}
span.bubble3 {
  width:24px;
  height:24px;
  position:absolute;
  display:block;
  left:750px;
  top:200px;
  border-radius:50%;
  border:2px solid #aee1f0; 
  animation:bubbleUp 6s infinite ease-in-out 1s;
  -webkit-animation:bubbleUp 6s infinite ease-in-out 1s;
  -o-animation:bubbleUp 6s infinite ease-in-out 1s;
  -moz-animation:bubbleUp 6s infinite ease-in-out 1s;
}
#noreg, #weiter {
    background: #152a43 none repeat scroll 0 0;
    border: 2px solid #fff;
    color: #ffffff;
}
#agb {
	border: 1px solid #152A43;
	height:150px;
	overflow-y:scroll;
	padding:10px 20px;
	font-size: 12px;
	font-size: 0.75rem;
	background:#eff;
	margin:1em 1.2em 0;
}
#pane #agb p {
	text-align:left;
}
span.confirmed {
	width:30px;
	height:30px;
	background: url(../../images/check.png) center no-repeat;
	display:inline-block;
	margin-right:20px;
}

}
/* reset fallback values in modern browsers */
@media screen and (min-width: 0px) {
  body > header, body > nav, body > main, body > footer {
    min-width: 0;
  }
}
@media screen and (max-width: 1280px) {
	body:after {
		content: 'medium';
		display: none;
	}
  .linearize-level-1, .linearize-level-1 > [class*="ym-c"], .linearize-level-1 > [class*="ym-g"] {
    display: block;
    float: none;
    padding: 0;
    margin: 0;
    width: auto !important;
  }
    #intro {
    margin: 0 0 2em 1.5em;
}
#accordion .ym-grid .ym-gbox {
	padding:1.5em 1em 1em;
}
.calendar {
    height: 320px;
	width: 750px;
    overflow: auto;
	position:relative;
	max-width:100%;
}
.calendar .mCSB_container {
	width:3000px;
	height:290px;
}

.calendar div.month {
			position: relative;
			float: left;
			margin: 0 1em 0 0;
			padding: 0;
			/* If you don't want the images in the scroller to be selectable, try the following
			   block of code. It's just a nice feature that prevent the images from
			   accidentally becoming selected/inverted when the user interacts with the scroller. */
			-webkit-user-select: none;
			-khtml-user-select: none;
			-moz-user-select: none;
			-o-user-select: none;
			user-select: none;
		}
.days {
	width:250px;
	height:220px;
	margin-bottom:0;
}
.legend {
	width:250px;
}
.day {
	width:14.2857%;
	height:16.666%;
	float:left;
	box-sizing:border-box;
	padding:0 4px 4px 0;
}
  #pane .ym-wrapper > .ym-wbox {
	  width: 70%; 
	  margin:20px auto;
  }
  .ym-grid.linearize-level-1 .ym-g33 .ym-gbox {
	  padding:0;
  }

}
@media screen and (max-width: 1024px) {
  /* Linearisation for Grid- and Column-Module, based on CSS class .linearize-level-2 */
  .linearize-level-2, .linearize-level-2 > [class*="ym-c"], .linearize-level-2 > [class*="ym-g"] {
    /* linearization for grids and columns module */
    display: block;
    float: none;
    padding: 0;
    margin: 0;
    width: auto !important;
  }
/*  .linearize-level-2 > [class*="ym-c"] > [class*="ym-cbox"], .linearize-level-2 > [class*="ym-g"] > [class*="ym-gbox"] {
    margin: 0;
    padding: 0;
    overflow: hidden;
  }*/
  .linearize-level-2 > [class*="ym-g"] > .ym-gbox-left,
  .linearize-level-2 > [class*="ym-g"] > .ym-gbox-right {
    padding: 0;
  }
  h1 {
    font-size: 1.75rem;
  }
    .item {
	width:50%;
	float:left;
	margin-bottom:0;
}
  #nav {
	max-height:0;
	padding:0 1.25em; 
	transition:max-height 1s; 
    overflow:hidden;
    background: #FFF;
	-webkit-transition: max-height 1s;
	position:absolute;
	left:0;
	right:0;
	top:140px;
	z-index:200;
  }
  .ym-vlist {
	  margin-top:20px;
  }
  .ym-vlist li span {
    display: inline-block;
  }
  header .top,
  header.sticky .top {
	  display:none;
  }
  header #logo {
	  width:400px;
	  max-width:50%;
	  margin-left:0;
	  margin-top:3em;
  }
  header.sticky #logo {
	  margin:0;
  }
  header #topnav {
	  font-size:0.875rem;
	  right:1.25em;
	  top:0.5em;
  }
  header.sticky #topnav {
	  right:5em;
	  top:1.5em;
  }
  header .ym-wbox {
	  padding: 0 1.5em;
  }

  #togglemenu {
	display:block;
	z-index:200;
	background: #FFFFFF;
	padding:0;
	position:fixed;
	right:1.25em;
	top:4.2em;
	width:30px;
}
.sticky #togglemenu {
	top:1em;
}

  #togglemenu a.shownav,
  #togglemenu a.hidenav {
	  height:30px;
	  display:block;
  }
  #togglemenu a.shownav {
	  background:url(../../images/menu.png) bottom left no-repeat;
  }
  #togglemenu a.hidenav {
	  background:url(../../images/menu.png) top left no-repeat;
  }

  #togglemenu a.hidenav {
	display:none;
}
#menu:target #nav {
	max-height: 500px;
	padding:0 1.25em;
	border-top:2px solid #85CEE4;
	border-bottom:2px solid #85CEE4;
}
#menu:target a.hidenav {
	display:block;
}
#menu:target a.shownav {
	display:none;
}
ul li.is-expanded {
    position: relative;
}
.subarrow {
    background: rgba(0, 0, 0, 0) url("../../images/cross.png") repeat scroll 0 0;
    cursor: pointer;
    display: block;
    height: 30px;
    position: absolute;
    left: 0;
    top: 0;
    width: 30px;
}
.ym-vlist li {
	padding-left:40px;
}
.ym-vlist li.is-expanded li {
	padding-left:0;
}
.ym-vlist li.is-expanded > a {
	padding-bottom:10px;
}
.ym-vlist ul li.is-expanded ul {
    margin: 0;
}
 ul li.is-expanded .menu {
    display: block;
}

ul .is-expanded .menu li {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.5s ease 0s;
}
ul .is-expanded.navopen .menu li {
    margin-bottom: 0.3em;
    max-height: 50px;
    opacity: 1;
}
#intro {
    margin: 1.5em 0 2em;
}
section.linearize-level-2 {
    margin: 3em 0;
}
section.linearize-level-2.navcontain {
    margin: 0;
}

main .ym-wbox {
	padding: 0 1.5em;
}
  #pane .ym-wrapper > .ym-wbox {
	  width: 80%; 
	  margin:20px auto;
  }
  main .ym-grid.linearize-level-2 .ym-gbox {
	  padding:0;
  }
  .am {
	width:50%;
	height:16px;
	position:absolute;
	bottom:0;
	left:0;
	border-top:1px solid #FFF;
	border-bottom-left-radius:100%;
}
.pm {
	width:50%;
	height:16px;
	position:absolute;
	bottom:0;
	right:0;
	border-top:1px solid #FFF;
	border-left:1px solid #FFF;
	border-bottom-right-radius:100%;
}

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

  footer .ym-wbox {
	padding: 0;
}

#menu:target #nav {
	padding:0;
}
  #nav {
	top:120px;
  }
  .ym-vlist {
    margin: 10px 0 10px 10px;
}
}
@media screen and (max-width: 480px) {
  /* Linearisation for Grid- and Column-Module, based on CSS class .linearize-level-2 */
  .linearize-level-3, .linearize-level-3 > [class*="ym-c"], .linearize-level-3 > [class*="ym-g"] {
    /* linearization for grids and columns module */
    display: block;
    float: none;
    padding: 0;
    margin: 0;
    width: auto !important;
  }
  .linearize-level-3 > [class*="ym-c"] > [class*="ym-cbox"], .linearize-level-3 > [class*="ym-g"] > [class*="ym-gbox"] {
    /* reset defined gutter values */
    margin: 0;
    padding: 0;
    /* optional for containing floats */
    overflow: hidden;
  }
    header #logo,
	header.sticky #logo {
	  width:50%;
	  margin-left:0;
	  margin-top:3em;
  }
    header #topnav,
	header.sticky #topnav {
	  font-size:0.875rem;
	  right:1.25em;
	  top:0.5em;
  }

  #togglemenu,
  .sticky #togglemenu {
	display:block;
	z-index:200;
	background: #FFFFFF;
	padding:0;
	position:absolute;
	right:1.25em;
	top:3em;
	width:30px;
}
  header,
  header.sticky {
	position:static;
    background: #FFF;
    color: #666;
	border-bottom:none;
	z-index:10;
	height:80px;
	width:100%;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
  }
      body {
    font-size: 87.5%;
	}
	.ym-wbox {
		padding:1em;
	}
	main .ym-wbox,
	header .ym-wbox {
	padding: 0 1em;
}
  #nav {
	top:90px;
  }
  #pane .ym-wrapper > .ym-wbox {
	  width: 90%; 
	  margin:10px auto;
  }
  p {
	  margin-bottom:1em;
  }
  h1,
  h2 {
	  font-size:24px;
	  font-size:1.5rem;
  }
  #blue {
	  bottom:0;
	  padding: 10px 10px 0 10px;
	  top:auto;
	  width:auto;
	  margin-bottom:3px;
  }

    #accordion h3 {
	font-size: 16px;
    font-size: 1rem;
	background:url(../../images/arrow1.png) 0 0.5em no-repeat;
  }
  #accordion h3:hover {
	background:url(../../images/arrow2.png) 0 0.5em no-repeat;
  }

.subarrow {
    height: 24px;
    width: 24px;
	background-size:cover;
}
  .ym-vlist li {
    padding-left: 2.5em;
}
  .ym-gbox-right {
    padding: 0;
  }
  .date {
	  margin-bottom:0;
  }
    footer .ym-gbox {
	padding: 1.25em;
  }
  

}
