
/* latin */
@font-face {
  font-family: 'Pacifico';
  font-style: normal;
  font-weight: 400;
  src: local('Pacifico Regular'), local('Pacifico-Regular'), url(https://fonts.gstatic.com/s/pacifico/v12/Q_Z9mv4hySLTMoMjnk_rCfesZW2xOQ-xsNqO47m55DA.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
.form-signin {
	max-width: 380px;
	padding: 15px;
	margin: 0 auto;
}
.form-signin .form-signin-heading, .form-signin .checkbox {
	margin-bottom: 10px;
}
.form-signin .checkbox {
	font-weight: normal;
}
.form-signin .form-control {
	position: relative;
	font-size: 16px;
	height: auto;
	padding: 10px;
	box-sizing: border-box;
}
.form-signin .form-control:focus {
	z-index: 2;
}
.form-signin input[type="text"] {
	margin-bottom: -1px;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.form-signin input[type="password"] {
	margin-bottom: 10px;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}
iframe {
	width: 100% !important;
}
*:focus, a:focus {
	border: 0;
	outline: none;
}
.container {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
}
html {
	min-height: 100%;
	overflow-y: scroll;
}
body {
	min-height: 100%;
}
a, a:link, a:hover, a:active, a:visited, a:focus {
	color: #345c76;
	text-decoration: none;
}
a:hover {
	color: #0c223a;
}
body, input, button, select, textarea {
	font-family: 'Cabin', sans-serif;
	font-weight: normal;
	line-height: 1em;
}
body, p, li {
	font-size: 15px;
	line-height: 22px;
	font-weight: 500;
	color: #345c76;
}
.h1 {
	font-family: 'Pacifico', sans-serif;
	font-weight: normal;
	line-height: 1em;
	margin: 0;
	padding: 0;
}
#menutoggle span {
	font-size: 10px;
	line-height: 1em;
	letter-spacing: 6px;
	font-weight: 500;
	text-transform: uppercase;
}
.h1 {
	font-size: 70px;
	line-height: 84px;
	letter-spacing: 0;
	text-transform: none;
	text-align: center;
}
.h2 {
	font-size: 29px;
	line-height: 35px;
	letter-spacing: 0;
	font-weight: bold;
	text-transform: none;
	text-align: center;
	margin: 30px 0;
}
.h3 {
	font-size: 15px;
	line-height: 22px;
	font-weight: 600;
	border-bottom: 3px solid #345c76;
	margin: 22px 0;
}
.small {
	display: block;
	color: #bcc9d7;
	text-align: center;
	font-size: 10px;
	line-height: 12px;
	font-weight: 600;
}
.trenner {
	display: block;
	min-height: 65px;
	background: url('../media/headline-knoten.png') center bottom no-repeat transparent;
	margin-bottom: 30px;
}
.textitem a {
}
.bottommenu {
	font-size: 12px;
	line-height: 14px;
	letter-spacing: 4px;
	font-weight: 500;
	color: #fff;
	text-transform: uppercase;
}
.bottommenu a {
	color: #fff;
	display: inline-block;
	padding: 4px 5px;
}
.bottommenu a:hover {
	font-size: 12px;
}
#logo {
	display: block;
	position: absolute;
	top: 30px;
	right: 5%;
	margin-right: -2.5%;
	width: 200px;
	height: 200px;
	background: url('../media/logo-pc.png') top right no-repeat transparent;
	background-size: 100% 100%;
}
.btn-sand a, .formgen .formsubmit, .yform .btn-primary {
	font-size: 15px;
	line-height: 22px;
	color: #345c76;
	background: #ebdcc5;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 3px;
	padding: 7px 8px;
	margin: 15px auto;
}
.btn-sand a, .btn-sand a:hover, .formgen .formsubmit, .formgen .formsubmit:hover,.yform .btn-primary, .yform .btn-primary:hover {
	border: 0;
	text-transform: uppercase;
	display: block;
	width: 100%;
	max-width: 100%;
	text-align: center;
}
.navbar-content ul.nav li a {
	font-size: 18px;
	line-height: 48px;
	letter-spacing: 4px;
	color: #fff;
	font-weight: 500;
	text-transform: uppercase;
	text-align: center;
}
.navbar-content ul.nav li a:hover {
}
.navbar-content ul.nav li a.active {
	color: #fff;
}
.navbar-content ul.subnav li a {
	font-size: 14px;
	line-height: 24px;
	letter-spacing: 4px;
	color: #fff;
	font-weight: 500;
	text-transform: uppercase;
	text-align: center;
}
.navbar-content ul.subnav li a:hover {
}
.navbar-content ul.subnav li a.active {
	color: #fff;
}
body {
	background: #0c223a;
}
#wrap {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
#imagerow {
	position: fixed;
	top: 0;
	left: 45%;
	right: 0;
	bottom: 0;
}
.navbar-content {
	position: fixed;
	top: 0;
	left: 10%;
	right: 55%;
	bottom: 0;
	padding: 0 5%;
	overflow-y: auto;
}
#mainrow {
	position: relative;
	margin-right: 55%;
	margin-left: 10%;
	padding: 0 5%;
}
#wrap {
	background: url('') center center no-repeat transparent;
	background-size: cover;
}
#imagerow, #mobillogo {
	background: transparent;
	background-size: contain;
}
#mainrow {
	background: url('../media/hintergrund-fuer-inhalte.jpg') top right no-repeat #ebdcc5;
	background-size: cover;
	background-attachment: fixed;
}
#mainrow > .container {
	background: transparent;
	padding: 65px 0 30px 0;
}
hr {
	background: url('../media/knoten-navi-mobil-unten.png') center center no-repeat transparent;
	border: 0;
	margin: 0;
	padding: 0;
	height: 80px;
	width: 100%;
	clear: both;
}
.bottommenu {
	position: absolute;
	bottom: 20px;
	left: 30px;
	right: 30px;
	text-align: center;
	color: fff;
	background: url('../media/knoten-navi-unten.png') center top no-repeat transparent;
	padding-top: 40px;
}
#sidemenu {
	position: fixed;
	left: 5%;
	bottom: 40px;
	width: 55px;
	margin-left: -27px;
}
#sidemenu a {
	display: block;
	margin: 0 0 0 0;
	padding: 0;
	clear: both;
}
#sidemenu a img {
	width: 55px;
	height: auto;
}
.navbar-header {
	z-index: 970;
	position: fixed;
	left: 5%;
	right: auto;
	top: 15px;
	width: 55px;
	text-align: center;
	margin-left: -28px;
}
#menutoggle span {
	display: block;
	padding: 15px 0 0 5px;
}
#menutoggle, #menuremove {
	display: block;
	padding: 0;
	text-align: center;
	cursor: pointer;
}
#menutoggle, #menuremove {
	padding: 20px 0;
}
.navbar-content {
	display: none;
}
.navbar-content {
	z-index: 980;
	background: url('../media/transparenz.png') center center no-repeat;
	background-size: 100% 100%;
}
.navbar-content ul.nav, .navbar-content ul.nav li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.navbar-content ul.nav li a {
	display: block;
}
.navbar-content ul.subnav, .navbar-content ul.subnav li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.navbar-content ul.subnav li a {
	display: block;
}
.navbar-content ul.nav {
	margin: 15px 0 45px;
	padding: 30px 0 75px;
	background: url('../media/menue-moeve.png') bottom center no-repeat;
}
.textitem ul, .textitem ul li {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}
.textitem ul li {
	background: url('../media/aufzaehlungszeichen.png') 0px 12px no-repeat transparent;
	padding: 10px 0 10px 30px;
	border-bottom: 1px dotted #345c76;
	background-size: 15px auto;
}
.textitem ul li:first-child {
	border-top: 1px dotted #345c76;
}
.textitem strong {
	font-weight: bold;
}
.galerie {
	margin: 15px -15px;
}
.galerie a {
	display: block;
	float: left;
	padding: 15px;
	min-height: 30px;
	position: relative;
}
.mediaitem {
	padding: 0;
}
.galerie a img {
	width: 100%;
	max-width: 100%;
	height: auto;
	border-radius: 0;
}
.galerie a {
	width: 50%;
}
.galerie a span.desc {
	display: block;
	position: absolute;
	height: 22px;
	overflow: hidden;
	font-size: 12px;
}
.galerie.ohnebeschriftung a span.desc {
	display: none;
}
.tabelle {
	overflow: hidden;
	width: 100%;
}
.tabelle .table {
	margin-left: -15px;
	margin-right: -15px;
	width: calc(100% + 30px);
	max-width: calc(100% + 30px);
}
.tabelle .table tr td:first-child {
	margin-left: -15px;
	padding-left: 15px;
}
.tabelle .table tr td:last-child {
	margin-right: -15px;
	padding-right: 15px;
}
.tabelle .table tr > td {
	border-top: 0;
	border-bottom: 1px dotted #345c76;
}
.tabelle .table tr:last-child > td {
}
.carousel {
	margin-top: 50px;
	margin-bottom: 80px;
	margin-left: -14.5%;
	margin-right: -14.5%;
}
.carousel-inner {
}
.carousel-indicators {
	bottom: -50px;
}
.carousel-indicators li {
	border: 0;
	background: #fff;
	margin: 1px 4px;
	height: 10px;
	width: 10px;
}
.carousel-indicators li.active {
	border: 0;
	background: #B70501;
	margin: 1px 4px;
	height: 10px;
	width: 10px;
}
img.realbild {
	width: 100%;
	height: auto;
}
.einzelbild {
	margin-left: -14.5%;
	margin-right: -14.5%;
}
.einzelbild img {
	max-width: 100%;
	height: auto;
}
    .cc_banner {
      background: url(../media/hintergrund-fuer-inhalte.jpg) top right no-repeat #ebdcc5!important;
    background-size: cover!important;
    background-attachment: fixed!important;
    }
    .cc_message {
font-family: 'Cabin', sans-serif!important;
      font-weight: normal!important;
      font-style: normal!important;
      text-decoration: none!important;
      text-transform: none!important;
      font-size: 14px!important;
      color: #345c76!important;
      text-align: center!important;
    }
    .cc_message a {color: #345c76!important; text-decoration: underline;}
.cc_container .cc_btn {font-size: 15px;  max-width: 230px!important;   padding: 2px 15px!important;}
.cc_container {    bottom: 40px!important;}
.cc_container .cc_btn, .cc_container .cc_btn:visited {background-color: #345c76!important; color: #fff!important;}
@media (max-width: 992px){
.cc_container {display: flex; flex-direction: column;}
.cc_btn{order: 2; margin-left:auto!important; margin-right:auto; margin-top: 10px;}
}

.formgen {
	padding: 0;
	margin: 15px 0;
}
label, select, input[type=checkbox], input[type=radio], input[type=button], input[type=submit] {
	cursor: pointer;
}
.formgen form {
}
.formgen .formblock {
	margin-bottom: 15px;
	margin-top: 10px;
	padding-top: 3px;
	padding-bottom: 3px;
	padding-right: 0;
	padding-left: 0;
}
.forminfo {
	width: 100%;
	margin: 1em 0;
	padding: 6px 1em;
	border-radius: 0;
	font-weight: bold;
	border: 0;
	background: #345c76;
	color: #fff;
}
.formhinweis {
	padding: 0;
	margin: 0;
	border-top: 0;
	border-bottom: 0;
	text-align: left;
}
#form-module-thanks {
	border: 0;
	padding: 6px 1em;
	background: #345c76;
	color: #fff;
	border-radius: 0;
}
#form-module-thanks p {
	color: #fff;
}
.formgen br {
	clear: both;
	height: 0 !important;
	overflow: hidden;
	display: block;
}
.formgen .formnote {
}
fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}
.formgen .formtextfield, .formgen .formtext, .formgen .formselect, .formgen input[type="file"], .form-control {
	display: block;
	padding: 4px 5px;
	margin: 0 0 30px;
	background-color: #345c76;
	color: #fff;
	border: 1px solid #345c76;
	float: none;
	width: 100%;
	border-radius: 0;
	box-shadow: none;
	height: 38px;
}
.formgen .formselect {
	border-radius: 0;
}
.formgen input[type="file"], .formgen input[type="file"]:hover, .formgen input[type="file"]:focus {
}
.formgen div.formtext {
	background-color: transparent;
	color: #345c76;
	border: 0;
}
.formgen .formselect {
}
.formgen textarea.formtextfield, .yform textarea {
	height: 110px;
	resize: none;
}
.formgen input:focus, .formgen input:hover, .formgen select:focus, .formgen select:hover, .formgen textarea:focus, .formgen textarea:hover {
	background-color: #345c76;
}
.formgen label, .yform label {
	display: block;
	clear: left;
	float: left;
	position: relative;
	height: auto;
	padding: 0;
	margin: 0;
	border-bottom: 0;
	margin-top: 38px;
	height: 30px;
	margin-bottom: -68px;
}

.yform #yform-formular-honeypot {
	display: none;
}

.formgen label.textfieldlabel {
	margin-top: 100px;
	height: 30px;
	margin-bottom: -130px;
}
.formgen .checkspan {
	position: relative;
	clear: both;
	padding-bottom: 4px;
	display: block;
}
.formgen .checkspan input {
	width: 15px;
	position: absolute;
	left: 0;
	top: 6px;
}
.formgen .checkspan label, .formcheckbox label {
	width: 100%;
	float: none;
	height: auto;
	padding: 2px 0 2px 2px;
	margin: 0;
	font-weight: 600;
	color: #345c76;
	border-bottom: 0;
	text-transform: none;
}
.formgen input.formradio {
	margin-left: 170px;
	width: 20px;
	margin-top: 2px;
}
.formgen label.formradio {
	width: 100%;
	clear: right;
	float: right;
	height: auto;
	padding: 0 0 2px 0;
	margin: 0;
	font-weight: normal;
	color: #345c76;
	border-bottom: 0;
}
.formgen fieldset br {
	display: none;
}
.formgen .txtar label, .yform #yform-formular-nachricht label {
	margin-top: 108px;
	height: 30px;
	margin-bottom: -138px;
}
.formgen .formsubmit {
	margin-top: 10px;
}
.formgen .formsubmit:hover {
}
.placeholder {
	height: 15px;
	clear: both;
}
#jquery-fullsizable {
	background: #0c223a;
}
a#fullsized_close, a#fullsized_close:hover {
	opacity: 1;
	background: url('../media/schliessen-icon.png') center center no-repeat transparent;
	width: 31px;
	height: 30px;
	top: 5px;
	right: 5px;
	background-size: 15px auto;
}
#fullsized_go_prev, #fullsized_go_next {
	background: url('../media/feil-links.png') center center no-repeat transparent;
	border-radius: 0;
	height: 80px;
	width: 40px;
}
#fullsized_go_prev, #fullsized_go_prev:hover {
	background: url('../media/feil-links.png') center center no-repeat transparent;
}
#fullsized_go_next, #fullsized_go_next:hover {
	background: url('../media/feil-rechts.png')center center no-repeat transparent;
}
#buchungsbg {
	display: block;
	position: absolute;
	top: auto;
	min-height: 470px;
	bottom: -15%;
	left: -4%;
	right: -4%;
	background: url('../media/transparenz.png') center center no-repeat;
	background-size: 100% 100%;
	transform: rotate(-4deg);
}
#buchungsbox {
	position: absolute;
	bottom: 140px;
	left: 30px;
	right: 30px;
	text-align: center;
	color: #fff;
	background: transparent;
	width: auto;
	margin: 0 auto;
}
#buchungsbox span {
	display: block;
	color: #fff;
	font-weight: 500;
}
span.big {
	font-size: 32px;
	line-height: 34px;
}
span.small {
	font-size: 17px;
	line-height: 17px;
	padding-top: 8px;
}
#buchungsbox .btn-sand a {
	max-width: 260px;
	width: auto;
}
#mainrow {
	z-index: 10;
}
#mobillogo {
	display: none;
}
#sidemenu {
	z-index: 985;
}
#article-1 #mainrow {
	display: block !important;
	min-height: 300px !important;
	height: 300px;
	padding: 2rem 5rem;
	position: absolute;
	bottom: 5%;
}
#article-1 #mainrow > .container {
	padding: 25px 0 30px 0;
	height: 100%;
	overflow-y: scroll;
	overflow-x: hidden;
}
#article-1 #mainrow > .container .h2 {
	font-size: 28px;
	line-height: 30px;
	letter-spacing: 0;
	font-weight: normal;
	text-transform: none;
	text-align: center;
	margin: 18px 0 12px 0;
}
#article-1 #logo {
	display: none;
}
#article-1 #sidemenu {
	display: none;
}

@media only screen and (min-width:768px) {
.desktoponly {
	display: block;
}
.mobilonly {
	display: none !important;
}
#menutoggle span {
	color: #fff;
}
}

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

@media only screen and (max-width:1140px) {
.h1 {
	font-size: 45px;
	line-height: 54px;
}
}

@media only screen and (max-width:959px) {
.desktoponly {
	display: none !important;
}
.mobilonly, #mobillogo {
	display: block;
}
body {
	background: #345c76;
	overflow-x: hidden;
}
#wrap {
	position: relative;
	top: 0;
	left: 0;
	right: 0;
	bottom: auto;
	background-size: 100% auto;
	background-position: top center;
	padding-bottom: 62.5%;
	margin-top: 50px;
}
#mainrow {
	position: relative;
	top: 0;
	left: 0;
	right: 0;
	bottom: auto;
	margin: 0;
	overflow-x: hidden;
}
.bottommenu, #logo, #sidemenu {
	display: none;
}
#logo {
	display: none !important;
}
.navbar-header {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	height: 50px;
	background: #345c76;
	width: 100%;
	margin: 0;
}
#menutoggle {
	position: fixed;
	top: 0;
	right: 0;
	padding: 15px;
	height: 50px;
}
#menutoggle span {
	display: none;
}
.navbar-content {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 0 5%;
	background: #345c76;
}
.navbar-content ul.nav {
	margin: 0 0 30px;
	padding: 15px 0 50px;
}
.navbar-content ul.nav li a {
	line-height: 38px;
}
.einzelbild {
	margin-left: -5%;
	margin-right: -5%;
}
#mobillogo {
	top: 0;
	left: 0;
	right: auto;
	margin-right: 0;
	width: 90px;
	height: 70px;
	background: url('../media/logo-mobil.png') top right no-repeat transparent;
	background-size: 100% 100%;
}
#imagerow {
	left: 0;
	right: 0;
}
#mainrow > .container {
	padding: 30px 0 110px 0;
	margin-bottom: 30px;
	background: url('../media/knoten-navi-mobil-unten.png') bottom center no-repeat transparent;
}
.h1 {
	font-size: 45px;
	line-height: 54px;
}
#wrap {
	overflow: hidden;
}
#buchungsbg, #buchungsbox {
	display: none;
}
#article-1 #wrap {
	overflow: visible;
}
#article-1 #buchungsbg {
	display: block;
	position: absolute;
	top: 75%;
	min-height: 220px;
	bottom: auto;
}
#article-1 #buchungsbox {
	display: block;
	position: relative;
	bottom: 0;
	margin-top: 0;
	background: transparent;
	padding: 30px 0 30px 0;
	left: 0;
	right: 0;
}
#article-1 #buchungsbox img {
	display: inline-block;
	width: auto;
	margin: 0 auto;
	padding-top: 80px;
}
#imagerow {
	position: absolute;
	top: 80%;
	left: 0;
	right: 0;
	bottom: auto;
	overflow-x: hidden;
}
}

@media only screen and (max-width:639px) {
	#wrap
	{
		padding-bottom: 80%;
	}
	.galerie a {
		width: 100%;
	}
	
	#article-1 #mainrow
	{
		position: relative;
		height: 600px;
		top: 0;
		left: 0;
		right: 0;
		bottom: auto;
		margin: 0;
		margin-top: 60%;
		overflow: hidden; 
		padding: 10%;
		/*overflow-x: hidden;*/
	}
	
	#article-1 #mainrow > .container
	{
		background-image: none;
	}
}
