html,
body {
	height: 100%;
}

body {
	line-height: 1.8;
	background: #fff;
	color: #333;
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	font-weight: 300;
	overflow-x: hidden;
	scroll-behavior: smooth;
}

a {
	color: #639C31;
	font-weight: 600;
	text-decoration: none;
}

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

.h3,
h3 {
	font-size: 1.375em;
	font-weight: 600;
}

.h4,
h4 {
	font-size: 1.250em;
	color: #b0b0b0;
	margin-bottom: 0;
}

[id] {
	scroll-margin-top: 77px;
}

/*------------------------------------*\
  #SEITENHEADER
\*------------------------------------*/
#seitenheader {
	position: relative;
}

.kontakt-navigation-wrap {
	background: #639C31;
	-webkit-box-shadow: 0px 4px 3px 0px rgba(0, 0, 0, 0.5);
	-moz-box-shadow: 0px 4px 3px 0px rgba(0, 0, 0, 0.5);
	box-shadow: 0px 4px 3px 0px rgba(0, 0, 0, 0.5);
	margin-top: 0;
	padding-top: 5px;
	position: fixed;
	width: 100%;
	z-index: 5;
}

.kontakt-navigation-wrap .logo img {
	width: 250px;
	height: auto;
	position: absolute;
	top: 20px;
	transition: all 0.5s ease 0s;
}

.scroll .kontakt-navigation-wrap .logo img {
	top: 5px;
	width: 115px;
}

/*------------------------------------*\
  #BOOTSTRAP-CAROUSEL
\*------------------------------------*/
.kopfslider {
	height: 100vh;
	position: relative;
}

.kopfslider .carousel-item {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	height: 100vh;
	position: fixed;
	z-index: 1;
}

.slogan-wrap {
	position: absolute;
	width: 100%;
	top: 43vh;
	z-index: 99;
}

.slogan-wrap .container.bg {
	background: rgba(0, 0, 0, 0.4);
	padding-top: 0;
	padding-bottom: 45px;
}

.slogan-wrap .container .willkommen {
	color: #fff;
	font-weight: 400;
	font-size: 40px;
	font-family: 'Merienda';
	margin-top: 40px;
	text-align: center;
	width: 900px;
}

.carousel-control-next,
.carousel-control-prev {
	width: 0;
}

button.carousel-control-prev i,
button.carousel-control-next i {
	font-size: 80px;
	position: fixed;
}

button.carousel-control-prev i {
	left: 25px;
}

button.carousel-control-next i {
	right: 25px;
}

.kontakt-kopfbild-wrap {
	position: absolute;
	color: #fff;
	top: 85px;
	width: 100%;
	z-index: 1;
	text-shadow: 0 1px rgba(000, 000, 000, .45);
}

.kontakt-kopfbild-wrap i {
	font-size: 1.250em;
	margin-right: 0;
}

.kontakt-kopfbild-wrap span,
.kontakt-kopfbild-wrap a span {
	font-size: 1.250em;
	font-weight: 600;
}

.kontakt-kopfbild-wrap .button-anfrage {
	font-family: 'Lato', sans-serif;
	margin-top: 10px;
}

.kontakt-kopfbild-wrap a {
	color: #fff;
	font-size: 20px !important;
	text-decoration: none;
}

/*------------------------------------*\
  #MAIN
\*------------------------------------*/
main {
	z-index: 2;
	position: relative;
	background: #fff;
	margin-bottom: 0;
	padding-top: 80px;
	padding-bottom: 1px;
}

/*-------------- #TRENNERELEMENT -----------------------*/
main .mask-trennerelement-text {
	background: #555;
	padding: 25px 0;
	margin-bottom: 60px;
	text-shadow: 0 1px rgba(000, 000, 000, .45);
}

.mask-trennerelement-text .obere-zeile {
	color: #fff;
	font-family: 'Merienda';
	font-size: 2.625em;
	margin-bottom: 15px;
	text-align: center;
}

.mask-trennerelement-text .untere-zeile {
	font-size: 1.250em;
	color: #fff;
	margin-bottom: 0;
	text-align: center;
	line-height: 1.6;
}

/*------------------------------------*\
  #FOOTER
\*------------------------------------*/
footer {
	clear: both;
	background: #555;
	color: #fff;
	padding: 20px 0;
	position: relative;
	z-index: 2;
	margin-top: -10px;
	margin-bottom: -60px;
}

footer a {
	color: #fff;
}

footer a:hover {
	color: #639C31;
}

footer #c25 p {
	margin: 0;
	padding: 20px 0;
	color: #fff;
}

/*------------------------------------*\
  #TYPO3
\*------------------------------------*/
p {
	margin-bottom: 15px;
}

strong {
	font-weight: 600;
}

.frame-space-before-extra-small {
	margin-top: 10px;
}

.frame-space-before-small {
	margin-top: 20px;
}

.frame-space-before-medium {
	margin-top: 40px;
}

.frame-space-before-large {
	margin-top: 60px;
}

.frame-space-before-extra-large {
	margin-top: 80px;
}

.frame-space-after-extra-small {
	margin-bottom: 10px;
}

.frame-space-after-small {
	margin-bottom: 20px;
}

.frame-space-after-medium {
	margin-bottom: 40px;
}

.frame-space-after-large {
	margin-bottom: 60px;
}

.frame-space-after-extra-large {
	margin-bottom: 80px;
}

.align-center {
	text-align: center;
}

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

.error {
	color: red;
	font-size: 20px;
	font-weight: bold;
}

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

figcaption.image-caption {
	font-size: 14px;
	margin-top: 10px;
}

/*------------------------------------*\
  #FORMULAR
\*------------------------------------*/
#kontaktformular-33 fieldset legend {
	display: none;
}

#kontaktformular-33 .form-group {
	margin-bottom: 10px;
}

#kontaktformular-33 fieldset #kontaktformular-33-radiobutton-1 {
	margin-left: 20px;
}

#kontaktformular-33 #c34 .form-check {
	padding-left: 0;
}

#kontaktformular-33 #c34 input#kontaktformular-33-checkbox-1.add-on {
	margin-right: 5px;
}

.kontaktbox .anfragebutton a {
	color: #fff;
}

.kontaktbox .anfragebutton,
#kontaktformular-33 div.actions nav.form-navigation div.btn-toolbar div.btn-group span.btn-group.next.submit button.btn.btn-primary {
	background: #639C31;
	border-color: #639C31;
}

/*------------------------------------*\
  #TABELLEN
\*------------------------------------*/


/*------------------------------------*\
  #2-KLICK
\*------------------------------------*/
.map {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.map .privacy-msg.privacy-map-msg {
	background-image: url(/typo3conf/ext/praxis_franz/Resources/Public/Images/Template/Mapdummy.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	width: 100% !important;
}


.map .privacy-msg.privacy-map-msg::after {
	content: "© OpenStreetMap contributors";
	position: absolute;
	left: 15px;
	bottom: 0;
}

.map .privacy-msg.privacy-map-msg p {
	background: rgb(0, 0, 0, 0.8);
	width: 90%;
	position: absolute;
	margin-top: 50px;
	margin-left: 5%;
	color: #fff;
	font-size: 14px;
	padding: 10px 20px;
	text-align: center;
}

.privacy-msg.privacy-script-msg {
	position: relative;
}

.privacy-msg.privacy-script-msg p {
	background: #eee;
	width: 100%;
	position: relative;
	margin-top: 0;
	margin-left: 0;
	color: #000;
	font-size: 14px;
	padding: 10px 20px;
	text-align: center;
	z-index: 99;
}

[data-eobp-media="desktop"] .eobp {
	margin: 15px 0 !important;
}

.map iframe {
	width: 100%;
	margin-bottom: -6px;
}

.privacy-msg.privacy-script-msg a,
.privacy-msg.privacy-map-msg a {
	color: #639C31;
}

.privacy-msg a.btn {
	background: #639C31;
	border-color: #639C31;
	color: #fff;
	margin-top: 20px;
	margin-bottom: 20px;
}

.privacy-msg.privacy-script-msg p a,
.privacy-msg.privacy-map-msg p a {
	color: #000;
}

.privacy-map-msg p a.btn {
	color: #fff !important;
	text-decoration: none;
}

span.btn-group.next.submit button a {
	color: #fff;
}

/*------------------------------------*\
  #MAP
\*------------------------------------*/
#c41 {
	margin-bottom: 0;
}

.google-map h3 {
	text-align: center;
}

.google-map iframe {
	width: 100%;
}

.google-map {
	width: 100%;
	overflow: hidden;
}

.google-map .privacy-msg.privacy-map-msg {
	background: #eee;
	width: 100% !important;
}

.google-map iframe {
	margin-bottom: -10px;
}

.google-map .privacy-msg.privacy-map-msg p {
	background: #555 !important;
	width: 1110px;
	position: absolute;
	left: 50%;
	margin-top: 50px;
	margin-left: -555px;
	color: #fff;
	padding: 10px 20px;
	text-align: center;
}

.privacy-msg.privacy-script-msg p {
	text-align: center;
}

.privacy-msg.privacy-map-msg p a {
	color: #fff;
}

.privacy-msg p a:hover {
	background: #333;
	color: #fff;
}

.privacy-msg a.btn {
	background: #639C31;
	border-color: #639C31;
	color: #fff !important;
	margin-top: 20px;
	margin-bottom: 20px;
}

/*------------------------------------*\
  #BACK-TO-TOP
\*------------------------------------*/
.back-to-top {
	background: #639C31;
	border-radius: 5px;
	position: fixed;
	bottom: 20px;
	right: 20px;
	line-height: 1;
	padding: 10px;
	z-index: 100;
}

.back-to-top i {
	color: #fff;
	font-size: 36px;
}

/*------------------------------------*\
  #MEDIA-QUERIES
\*------------------------------------*/
@media (max-width: 1599px) {
	button.carousel-control-prev i {
		left: 25px;
		top: unset;
		bottom: 0;
		position: absolute;
	}

	button.carousel-control-next i {
		right: 25px;
		top: unset;
		bottom: 0;
		position: absolute;
	}
}

@media (max-width: 1499px) {}

@media (max-width: 1199px) {
	.kontakt-navigation-wrap .logo img {
		width: 195px;
		height: auto;
	}

	.google-map .privacy-msg.privacy-map-msg p {
		width: 90%;
		left: unset;
		margin-left: 5%;
	}
}

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

	[id] {
		scroll-margin-top: unset;
	}

	.kontakt-navigation-wrap {
		width: auto;
	}

	.kopfslider {
		height: auto;
	}

	.kopfslider .carousel-item {
		height: auto;
		position: relative;
	}

	.slogan-wrap .container .willkommen {
		font-size: 28px;
		width: 100%;
	}

	main {
		padding-top: 40px;
	}
}

@media (max-width: 767px) {
	.mask-trennerelement-text .obere-zeile {
		font-size: 1.500em;
		margin-bottom: 0;
		text-align: center;
	}

}

@media (max-width: 576px) {
	#c5 {
		margin-top: 20px;
	}
}