html,
body {
	height: 100%;
}

body {
	line-height: 1.6;
	font-family: 'Alegreya Sans', sans-serif;
	font-size: 18px;
}

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

/*------------------------------------*\
  #BOOTSTRAP
\*------------------------------------*/
figcaption {
	font-size: 16px;
	line-height: 1.4;
	font-style: italic;
	margin-top: 4px;
}

.ce-intext.ce-left .ce-gallery {
	margin-right: 20px;
}

/*------------------------------------*\
  #ÜBERSCHRIFTEN
\*------------------------------------*/
.h1,
h1 {
	font-size: 48px;
	margin-bottom: 18px;
}

.h2,
h2 {
	font-size: 28px;
}

.h3,
h3 {
	font-size: 20px;
	font-weight: 300;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
	margin-bottom: 2rem;
}

/*------------------------------------*\
  #HEADER
\*------------------------------------*/
.navigation-logo-wrapper {
	padding: 10px 0;
}

.navigation-logo-wrapper.scroll {
	position: fixed;
	width: 100%;
	z-index: 1;
}

.layout-keinkopfbild .navigation-logo-wrapper.scroll {
	top: 0;
}

.navigation-logo-wrapper .logo img {
	width: auto;
	margin: 10px 0;
	transition: all 0.5s ease-in-out;
}

.navigation-logo-wrapper .logo:hover img {
	transform: scale(1.05);
}

.navigation-logo-wrapper.scroll .logo img {
	width: auto;
	margin: 5px 0;
}

.kopfbild-hintergrund {
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover !important;
	box-shadow: rgba(0, 0, 0, 0.25) 0px 3px 11px 0px !important;
	-moz-box-shadow: rgba(0, 0, 0, 0.25) 0px 3px 11px 0px !important;
	-webkit-box-shadow: rgba(0, 0, 0, 0.25) 0px 3px 11px 0px !important;
	transition: all 0.5s ease 0s;
	padding: 50px 0 0 0;
}

.kopfbild-hintergrund.scroll {
	position: relative;
}

.kopfbild-hintergrund .kopfbild img {
	width: 100%;
	height: auto;
	transition: transform 0.3s ease-in-out;
}

.kopfbild-hintergrund .kopfbild:hover img {
	transform: scale(1.05);
}

.kopfbild-unterschrift {
	text-align: center;
	padding: 20px 0 40px 0;
}

.kopfbild-unterschrift span {
	font-size: 36px;
	letter-spacing: 5px;
}

/*------------------------------------*\
  #NAVIGATION
\*------------------------------------*/
/*------------------------------------*\
  #ROOTLINE
\*------------------------------------*/
/*------------------------------------*\
  #CONTENT
\*------------------------------------*/
.container.content {
	margin-top: 40px;
	margin-bottom: 40px;
}

.text-end{
	text-align: right;
}


/*------------------------------------*\
  #FOOTER
\*------------------------------------*/
footer {
	background-repeat: no-repeat;
	background-size: cover !important;
	padding: 70px 0 30px 0;
}

/*------------------------------------*\
  #MASK
\*------------------------------------*/
/*---------- BILDERGALERIE -----------*/
.mask-bildergalerie {
	margin-left: -5px;
	margin-right: -5px;
}

.bildspalte {
	margin-bottom: 10px;
	padding-left: 5px !important;
	padding-right: 5px !important;
}

.bildspalte .zoom {
	overflow: hidden;
	position: relative;
}

.bildspalte .zoom img {
	width: 100%;
	height: auto;
	transition: all 0.5s ease-in-out;
}

.bildspalte .zoom:hover img {
	width: 100%;
	height: auto;
	transform: scale(1.1);
}

.bildspalte figcaption {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	opacity: 0;
	transition: .5s ease;
	background: url(/typo3conf/ext/bim_template_heidi/Resources/Public/Images/Template/Hintergrund/trans-schwarz-60.png);
}

.bildspalte:hover figcaption {
	opacity: 1;
}

.bildspalte figcaption div {
	text-align: center;
	font-size: 15px;
	padding: 0 10px;
	position: absolute;
	width: 100%;
	bottom: 20px;
}

/*------------------------------------*\
  #GRIDELEMENTS
\*------------------------------------*/
/*------------------------------------*\
  #FORMULAR
\*------------------------------------*/
#kontaktformular div.actions nav.form-navigation div.btn-toolbar {
	-ms-flex-pack: end;
	justify-content: flex-end;
}

#kontaktformular .submit button.btn.btn-primary {
	background-color: rgba(82, 55, 15, 1);
	border-color: rgba(82, 55, 15, 1);
}

.tx-powermail form.powermail_form h3,
.tx-powermail form.powermail_form fieldset legend {
	display: none;
}

.tx-powermail .container-fluid {
	padding: 0;
}

.tx-powermail form.powermail_form .powermail_field input,
.tx-powermail form.powermail_form .powermail_field textarea {
	display: block;
	width: 100%;
	padding: .5rem .75rem;
	font-size: 1rem;
	line-height: 1.25;
	color: #495057;
	background-color: #fff;
	background-image: none;
	background-clip: padding-box;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: .25rem;
	transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.tx-powermail form.powermail_form fieldset.powermail_fieldset.powermail_fieldset_1 {
	display: flex;
	flex-wrap: wrap;
}

.tx-powermail form.powermail_form .powermail_fieldwrap_name,
.tx-powermail form.powermail_form .powermail_fieldwrap_email {
	width: 32%;
	margin-right: 2%;
}

.tx-powermail form.powermail_form .powermail_fieldwrap_telefon {
	width: 32%;
}

.tx-powermail form.powermail_form .powermail_fieldwrap_nachricht {
	width: 100%;
	margin-top: 20px;
	margin-bottom: 20px;
}

.tx-powermail form.powermail_form .powermail_fieldwrap_type_submit.powermail_fieldwrap_nachrichtsenden {
	width: 100%;
}

.tx-powermail form.powermail_form .powermail_fieldwrap_nachrichtsenden input.powermail_submit {
	background-color: rgba(82, 55, 15, 1);
	border-color: rgba(82, 55, 15, 1);
	color: #fff;
	width: 160px;
	margin-top: 20px;
}

/*------------------------------------*\
  #TYPO3
\*------------------------------------*/
.ce-element {
	margin-bottom: 40px;
}

p {
	margin-top: 0;
	margin-bottom: 25px;
}

.ce-element.frame-type-textpic p:last-child {
	margin-bottom: 0;
}

.ce-gallery img {
	display: block;
	width: 100%;
	height: auto;
}

.special-header {
	font-size: 48px;
	letter-spacing: 2px;
}

/*------------------------------------*\
  #COLORBOX
\*------------------------------------*/
#cboxCurrent {
	bottom: 0;
	font-size: 14px;
}

#cboxSlideshow {
	bottom: 1px;
	color: #555;
	font-size: 14px;
}

#cboxTitle {
	position: absolute;
	bottom: 28px;
	left: 0;
	text-align: center;
	width: 100%;
	color: #fff;
	background: rgba(0, 0, 0, .5);
	font-size: 15px;
}

/*------------------------------------*\
  #SCROLL TO TOP
\*------------------------------------*/
#return-to-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	background: rgb(0, 0, 0);
	background: rgba(0, 0, 0, 0.7);
	width: 50px;
	height: 50px;
	display: block;
	text-decoration: none;
	-webkit-border-radius: 35px;
	-moz-border-radius: 35px;
	border-radius: 35px;
	display: none;
	-webkit-transition: all 0.3s linear;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

#return-to-top i {
	color: #fff;
	margin: 0;
	position: relative;
	left: 16px;
	top: 13px;
	font-size: 19px;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

#return-to-top:hover {
	background: rgba(0, 0, 0, 0.9);
}

#return-to-top:hover i {
	color: #fff;
	top: 5px;
}

.privacy-msg.privacy-script-msg,
.privacy-msg.privacy-map-msg,
.privacy-msg.privacy-kalender-msg,
.privacy-msg.privacy-video-msg,
.privacy-msg.privacy-urlaubsportal-msg {
	position: relative;
	background: #eee;
	height: auto !important;
	width: 100% !important;
}

.privacy-msg.privacy-script-msg p,
.privacy-msg.privacy-kalender-msg p,
.privacy-msg.privacy-calendar-msg p,
.privacy-msg.privacy-map-msg p,
.privacy-msg.privacy-video-msg p,
.privacy-msg.privacy-urlaubsportal-msg p {
	padding: 15px;
	background: #eee;
	text-align: center;
	position: absolute;
}

.privacy-msg.privacy-script-msg p a.btn,
.privacy-msg.privacy-calendar-msg p a.btn,
.privacy-msg.privacy-kalender-msg p a.btn,
.privacy-msg.privacy-map-msg p a.btn,
.privacy-msg.privacy-video-msg p a.btn,
.privacy-msg.privacy-urlaubsportal-msg p a.btn {
	background: #347327;
	border-color: #347327;
	color: #fff;
	margin-top: 15px;
	margin-bottom: 15px;
}

/*------------------------------------*\
  #MEDIA-QUERIES
\*------------------------------------*/
@media (max-width: 1199px) {
	.navigation-logo-wrapper .logo img {
		max-height: 100px !important;
	}

	.ce-column .image img,
	.ce-column {
		margin-right: 0;
		margin-bottom: 10px;
	}
}

@media (max-width: 991px) {
	.row {
		width: 100%;
		margin: 0;
	}

	.layout-keinkopfbild .container.content {
		margin-top: 0;
		padding-top: 80px;
	}

	.kopfbild-hintergrund {
		padding: 100px 0 0 0;
	}

	.logo-mobil {
		position: absolute;
		z-index: 999999;
		padding: 5px 0 5px 15px;
	}

	.logo-mobil img {
		width: auto;
		height: 40px;
	}

	.kopfbild-hintergrund .kopfbild.scroll {
		padding-top: 0;
	}
}

@media (max-width: 767px) {
	.container {
		max-width: 100%;
	}

	.ce-column {
		margin-right: 10px;
		margin-bottom: 10px;
	}

	.tx-powermail form.powermail_form .powermail_fieldwrap_name,
	.tx-powermail form.powermail_form .powermail_fieldwrap_email {
		width: 100%;
		margin-right: 0;
	}

	.tx-powermail form.powermail_form .powermail_fieldwrap_email {
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.tx-powermail form.powermail_form .powermail_fieldwrap_telefon {
		width: 100%;
	}
}

@media (max-width: 575px) {
	.bildspalte {
		padding: 0;
	}

	#c164 .ce-row {
		display: -ms-flexbox;
		display: flex;
	}
}


@media (max-width: 500px) {
	.privacy-msg iframe {
		min-height: 430px !important;
	}

	.privacy-msg p {
		font-size: 16px;
	}
}