/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

html,
button,
input,
select,
textarea {
	color: #222;
}

html {
	font-size: 1em;
	line-height: 1.4;
}

::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}

::selection {
	background: #b3d4fc;
	text-shadow: none;
}

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

audio,
canvas,
img,
video {
	vertical-align: middle;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

textarea {
	resize: vertical;
}

.browsehappy {
	margin: 0.2em 0;
	background: #ccc;
	color: #000;
	padding: 0.2em 0;
}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */

html, body {
	background-color: #a0b043;
	width: 100%;
	margin: 0;
	font-family: 'Muli', sans-serif;
	font-weight: lighter;
}

html * {-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box }
html { min-height: 100%; height: 100% }

iframe { border: 15px solid #fff; }


a { outline: 0 }


.content.inner a, .content a:hover, .content.inner a:active { color: #fff }
.content.inner blockquote { border: 0; font-size: 180%; font-family: 'Shadows Into Light', cursive; margin-left: 0 }
.content.inner blockquote:after { content: close-quote; }
.content.inner blockquote:before { content: open-quote; }
.content.inner blockquote>p { display: inline; }
.content.inner a { border-bottom: 1px solid #fff; text-decoration: none }
.content.inner a.btn { border: 1px solid #fff; border-radius: 0; }

 /* without, the h1 of the content create empty space + the content overflows
    on small devices, but is not scrollable
    https://stackoverflow.com/questions/13573653/css-margin-terror-margin-adds-space-outside-parent-element
 */
.content.inner article { overflow:auto; }

body.category article { margin-top: 2em; border-top: 1px solid #fff }
body.category article.item-1 { margin-top: 0; border-top: 0 }
article>.content { clear: both; }

section.content hr {
	border-top: 1px solid #fff;
	clear: both;
}

div.wp-playlist a.wp-playlist-caption { color: #000; }
div.wp-playlist { padding: 15px; }

div.row>div.center { text-align: center; }

div.row.middle>.inner {
	color: #fff;
	background: #a0b043;
}

div.row.middle.lime>.inner {
	color: #a0bf50;
	background: #f1f3e3;
}

div.row.middle.lime>.inner a { color: #a0bf50; font-weight: bold; }

div.row.middle.strut>.inner {
	border-left: 15px solid #fff;
	border-right: 15px solid #fff;
	padding-left: 40px;
	padding-right: 40px;
}

div.row.bottom.strut>.inner { border-top: 15px solid #fff; }
div.row.top.strut>.inner { border-bottom: 15px solid #fff; }

/*body.home div.content-wrapper, body.page-template-page-home-php*/ div.content-wrapper {
	margin-top: 20rem;
}

@media screen and (max-width: 500px) {
	/*body.home div.content-wrapper, body.page-template-page-home-php div.content-wrapper {*/
	div.content-wrapper {
		margin-top: 12rem;
	}
}


/* ==========================================================================
 * top-menu
 */
div.row ul#main-menu {
	position: relative;
	list-style: none;
	margin: 0;
	padding-left: 0;
	white-space: nowrap;
	width: 100%;
}
div.row ul#main-menu .menu-item {
	float: right;
	width: 80px;
	color: #381c00;
	margin: 0 2px;
	border-top-width: 3px;
	border-top-color: #381c00;
	border-top-style: solid;
	text-align: center;
	position: relative;
}

div.row ul#main-menu .menu-item.current-menu-item,
div.row ul#main-menu .menu-item:hover {
	border-top-color: #a0b043;
}

div.row ul#main-menu .menu-item.last {
	width: 150px;
	border-top: 3px solid transparent;
	position: relative;
	left: 30px;
}

div.row ul#main-menu .menu-item a {
	position: relative;
	display: block;
	width: 80px;
	color: #381c00;
	text-transform: uppercase;
	text-decoration: none;
	height: 100%;
	line-height: 3em;
	font-size: 12px;
	border-top: 1em solid transparent;
}

div.row ul#main-menu .menu-item.current-menu-item a,
div.row ul#main-menu .menu-item:hover a,
div.row ul#main-menu .menu-item a:hover {
	color: #fff;
	background: #a0b043;
	background-clip: content-box;
}

div.row ul#main-menu>.menu-item.current-menu-item>a:before,
div.row ul#main-menu>.menu-item>a:hover:before {
	position: absolute;
	content: " ";
	top: -1em;
	left: 50%;
	margin-left: -5px;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #a0b043;
}

div.row ul#main-menu .menu-item.last a { background: none; width: auto; color: #a0b043 }
div.row ul#main-menu .menu-item.last a:hover { color: #fff }
div.row ul#main-menu .menu-item.last a:before { display: none; }

div.row ul#main-menu ul.sub-menu { display: none; }

div.row ul#main-menu>li.menu-item:hover{ position: relative; }
div.row ul#main-menu>li.menu-item.menu-item-has-children:hover>a:after {
	position: absolute;
	content: " ";
	right: -4px;
	width: 0;
	height: 0;
	top: 50%;
	margin-top: -5px;
	z-index: 60;
	border-left: 5px solid #fff;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
}
div.row ul#main-menu>li.menu-item:hover>ul.sub-menu {
	position: absolute;
	left: 80px;
	top: 0;
	display: block;
	list-style: none;
	padding-left: 0;
	float: left;
	z-index: 50;
	white-space: nowrap;
	margin-top: 12px;
	margin-bottom: 0;
	background: #a0b043;
}
div.row ul#main-menu>li.menu-item:hover>ul.sub-menu>li.menu-item {
	border: 0;
	margin: 0 !important;
	width: auto;
	background: #a0b043;
	position: relative;
	display: inline-block;
	float: none;
}

div.row ul#main-menu>li.menu-item:hover>ul.sub-menu>li.menu-item>a {
	padding: 0 10px;
	border: 0;
	background: transparent;
	color: #fff;
	width: auto;
}
div.row ul#main-menu>li.menu-item:hover>ul.sub-menu>li.menu-item>a:before {
	position: absolute;
	left: 0;
	top: 0;
	content: " ";
	display: block;
	background: #fff;
	width: 1px;
	height: 100%;
	border-top: 0.5em solid transparent;
	border-bottom: 0.5em solid transparent;
	background-clip: content-box;
	z-index: 20;
}
div.row ul#main-menu>li.menu-item:hover>ul.sub-menu>li.menu-item:first-child>a:before {
	content: '';
	display: none;
}

div.row ul#main-menu>li.menu-item:hover>ul.sub-menu>li.menu-item>a {
	color: #fff;
}
div.row ul#main-menu>li.menu-item:hover>ul.sub-menu>li.menu-item>a:hover {
	color: #cadf92;
}

/* ==========================================================================
 * mobile top menu
 */
.mobile-menu-trigger { color: #381c00; font-size: 1.5rem; }
#mobile-menu-trigger-btn { display: none; }
.mobile-menu-close-btn {
	float: right;
	font-size: xx-large;
	color: #fff;
	margin-right: -38px;
}
.mobile-menu-container {
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	display: none;
	font-size: larger;
	background: #a0b043;
	border: 15px solid #fff;
	padding-left: 40px;
	padding-right: 40px;
}
body.admin-bar .mobile-menu-container { top: 32px; }
@media screen and (max-width: 782px) {
	body.admin-bar .mobile-menu-container { top: 46px; }
}

#mobile-menu-trigger-btn:checked ~ .mobile-menu-container {
	display: block;
}
.mobile-menu-wrapper ul {
	list-style: none;
}
.mobile-menu-wrapper ul.menu { padding-left: 0; }
.mobile-menu-wrapper ul.sub-menu { padding-left: 2em; margin-top: 0;}
.mobile-menu-wrapper li.menu-item a { color: #fff; }

/* ==========================================================================
 * bottom menu
 */
footer .menu-legalmenu-container {
	display: table;
	table-layout: fixed;
	width: 100%;
}
#bottom-menu {
	display: table-row;
	height: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
#bottom-menu li {
	display: table-cell;
	vertical-align: middle;
	text-align: right;
}

#bottom-menu a { color: #a0b043; }

/* ==========================================================================
 * logo sidebar bar
 */

#logo-sidebar { margin-top: -100px; }
#logo-sidebar ul { list-style: none; padding: 0; }
#logo-sidebar .social-button { display: none; }
#logo-sidebar .certificate.widget {
	position: relative;
	z-index: 1;
	top: 0px;
	left: -25px;
	width: 430px;
}

#logo-sidebar .certificate.widget>.textwidget {
	position: relative;
	background: #a0b043;
	color: #fff;
	padding: 10px 20px 10px 40px;
	position: relative;
	z-index: 1;
	/* background-image: url(../img/Pfote.png); */
	background-image: url(../img/BHV-M-4c-weiss.png);
	background-size: auto 50px;
	background-repeat: no-repeat;
	background-position: 95% 50%;
}

html.csstransforms #logo-sidebar .certificate.widget {
	transform: rotate(-10deg) translateX(-20px);
	-moz-transform: rotate(-10deg) translateX(-20px);
	-webkit-transform: rotate(-10deg) translate(-20px);
}
html.csstransforms #logo-sidebar .certificate.widget:after {
	position: absolute;
	z-index: -1;
	content: " ";
	top: 30%;
	left: -10px;
	width: 100%;
	height:50%;
	background-color: #222;
	transform: rotate(2deg);
	-webkit-transform: rotate(2deg);
	-moz-transform: rotate(2deg);
	box-shadow: 0 10px 10px #333;
	-moz-box-shadow: 0 10px 10px #333;
	-webkit-box-shadow: 0 10px 10px #333;
}

/* ==========================================================================
 * contact bar
 */

#contact-bar a { padding-left: 1em; display: inline }
#contact-bar a:link,
#contact-bar a:visited,
#contact-bar a:active {
	color: #a0b043;
	text-decoration: none;
}

.site-info.widget { display: none; }
#site-logo { position: relative; }
#site-logo img { position: absolute; }

/* ==========================================================================
 * page sidebar
 */
#page-sidebar {
	list-style: none;
	padding: 0;
	right: 0;
	top: 28px;
	position: absolute;
	width: 150px;
	padding: 0;
	height: 3em;
	line-height: 3em;
}

html.csstransforms #page-sidebar {
	/*transform: rotate(15deg) translateX(20px);
	-webkit-transform: rotate(15deg) translateX(20px);
	-moz-transform: rotate(15deg) translateX(20px);
	background: #a0b043;
	*/
}

html.csstransforms #page-sidebar>li>div {
	position: relative;
	z-index: 1;
	height: 100%;
	width: 100%;
	/*background: #a0b043;*/
	padding-left: 3em;
}

html.csstransforms #page-sidebar>li:before {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -10;
	width: 50%;
	height: 50%;
	box-shadow: 0 10px 10px #333;
	-webkit-box-shadow: 0 10px 10px #333;
	-moz-box-shadow: 0 10px 10px #333;
	transform: rotate(-5deg) translateY(50%);
}
html.csstransforms #page-sidebar>li:after {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	z-index: -1;
	background: #a0b043;
	width: 100%;
	height: 100%;
}

/* ==========================================================================
 * in-page menu
 */
div.inner ul.menu.in-page-menu {
	position: relative;
	/*height: 3em;*/
}
div.inner ul.menu.in-page-menu,
div.inner ul.menu.in-page-menu ul { padding-left: 0; margin-top: 0}

div.inner ul.menu.in-page-menu a {
	color: #cadf92;
	text-decoration: none;
	border-bottom: none;
}

div.inner ul.menu.in-page-menu li { background-image: none; height: 3em }
div.inner ul.menu.in-page-menu li.current-menu-item>a,
div.inner ul.menu.in-page-menu a:active,
div.inner ul.menu.in-page-menu a:hover { color: #fff;
	background-position: 100% 0;
}

div.inner ul.menu.in-page-menu li.menu-item { display: none; }
div.inner ul.menu.in-page-menu li.menu-item.current_page_ancestor   { display: block }
div.inner ul.menu.in-page-menu li.menu-item.current_page_ancestor>a { display: none }
div.inner ul.menu.in-page-menu ul.sub-menu li.menu-item.menu-item-has-children.current_page_ancestor>ul.sub-menu>li.menu-item { display: block }
div.inner ul.menu.in-page-menu li.current_page_ancestor ul.sub-menu { display: block; list-style: none; position: relative }
div.inner ul.menu.in-page-menu li.current-menu-parent ul.sub-menu>li.menu-item {
	float: left;
	padding-right: 20px;
	text-transform: uppercase;
	color: #fff
}

/* ==========================================================================
 * gallery
 */
body.page-template-page-gallery-php section.content:before,
body.page-template-page-gallery-php section.content:after {
	content: " ";
	clear: both;
	height: 0;
	display: table;
}
section.content figure.gallery-item {
	float: left;
	margin: 15px;
	left: -15px;
	position: relative;
}
section.content figure.gallery-item>figcaption { display: none; }
section.content figure.gallery-item a>img {
	border: 10px solid #fff;
	margin: 0;
	width: 140px;
	height: 140px;
}
div.content.inner a>img { border: 15px solid #fff; margin: auto 30px }
div.content.inner a>img.alignright { float: right; }
div.content.inner a>img.alignleft { float: left; margin-left: 0;}
html.csstransforms div.row div.content a>img.rot15 {
	transform: rotate(15deg);
	-webkit-transform: rotate(15deg);
	-moz-transform: rotate(15deg);
}

.fancybox-wrap.ichmithund .fancybox-skin { border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0 }

.fancybox-contact-popup {
    display: block;
    background: url("../img/kursanfrage.png");
    width: 171px;
    height: 171px;
    text-indent: -9999px;
    border-bottom: 0 !important;
    position: relative;
    left: -30px;
    top: -90px;
}


footer {
	margin-top: 5rem;
	background: #fff;
	height: 2rem;
	color: #a0b043;
}

.ad {
    background-color: #664773;
    width: 75%;
    margin: 0 auto 1.5rem auto;
    padding-right: 15px;
}

.ad:after {
    content: "";
    display: table;
    clear: both;
}

.ad img {
    float: left;
    border: 13px solid #fff;
    margin-right: 13px;
}

.ad h2 {
    font-size: 180%;
    padding-top: 1rem;
}

.ad p { font-size: 12px; }
.ad>p { margin: 0 1rem 0 0 }
.ad p + p { margin: 1rem 1rem 0 0; }


/* ==========================================================================
 * course query page
 */
body.iframe.page-template-page-contact-php.custom-background { background-color: #a0b043; background-image: none}
body.iframe.page-template-page-contact-php #logo-sidebar,
body.iframe.page-template-page-contact-php #wpadminbar,
body.iframe.page-template-page-contact-php .container-fluid.menu,
body.iframe.page-template-page-contact-php #contact-sidebar,
body.iframe.page-template-page-contact-php .row.top.strut,
body.iframe.page-template-page-contact-php .row.bottom.strut { display:none; }
body.iframe.page-template-page-contact-php .row .inner { border: 0 !important; }
body.iframe.page-template-page-contact-php .content-wrapper { margin-top: 0; }
html.iframe { margin-top:0 !important;overflow:hidden }
body.page-template-page-contact-php span.wpcf7-form-control-wrap.your-selection .wpcf7-list-item {
	display:block;
}
body.page-template-page-contact-php .wpcf7-form .col {
	display: block;
	width: 45%;
	float: left;
	margin-right: 5%;
}
body.page-template-page-contact-php .wpcf7-form .clearfix { clear:both }
span.wpcf7-form-control-wrap { padding-left: 1em }
.content span.wpcf7-form-control-wrap { padding-left: 0 }
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-textarea { width: 100%; }
.wpcf7-form-control.wpcf7-submit { padding: 5px 10px; }
.wpcf7-form-control.wpcf7-checkbox>.wpcf7-list-item { margin-top: 1em; position: relative; padding-left: 20px }
.wpcf7-form-control.wpcf7-checkbox>.wpcf7-list-item>input { position: absolute; left: 0; margin-top: 5px }
.submit-button { text-align: right }
p.mathcaptcha>span.wpcf7-form-control-wrap { }


/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 35em) {

}

@media print,
	   (-o-min-device-pixel-ratio: 5/4),
	   (-webkit-min-device-pixel-ratio: 1.25),
	   (min-resolution: 120dpi) {

}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir {
	background-color: transparent;
	border: 0;
	overflow: hidden;
	*text-indent: -9999px;
}

.ir:before {
	content: "";
	display: block;
	width: 0;
	height: 150%;
}

.hidden {
	display: none !important;
	visibility: hidden;
}

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

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

.invisible {
	visibility: hidden;
}

.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	*zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
	* {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	@page {
		margin: 0.5cm;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}
