/*
Theme: Default
Author: LocalBranding
Updated: 2021
*/
/* GRID */
html{
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	box-sizing: border-box;
	word-break: break-word;
	hyphens: auto;
	font-smoothing: antialiased;
	font-size: 62.5%;
}
body{
	font-family: var(--f-family-1);
	font-size: 1.6rem;
	color: var(--cc-black);
	background-color: var(--cc-bodybackground);
	font-weight: 400;
	font-style: normal;
	letter-spacing: var(--f-letterspacing);
	margin: 0;
}
.container-fluid{
	padding: 0;
}
body.systempage,body.content,body.blog{

}
body.blog #container{
	max-width: 140rem;
	margin: 8rem auto 0 auto;
}
#wrapper{
	width: 100%;
	padding-top: 0;
}
#container{
	background: var(--cc-bodybackground);
	min-height: calc(100vh - 26.5rem);
	margin-top: 8rem;
	padding-bottom: 5rem;
}
.container-wrapper{
  max-width: 160rem;
  margin: 0 auto;
}
/* FONTS */
p, table, label, input, textarea, legend, ul, ol, a, h1, h2, h3, h4, h5, h6{
	margin: 0;
}
h1, h2, h3, h4, h5, h6{
	line-height: 110%;
}
p, table, label, input, textarea, legend, ul, ol, a {
	line-height: 165%;
}
p {
  margin-bottom: 1rem;
}
h1{
	font-size: 6rem;
	font-weight: 400;
	margin: 0 0 var(--s-s);
}
@media (max-width: 600px) {
	h1{
		font-size: 5rem;
	}
}
h2{
	font-size: 5rem;
	font-weight: 400;
	margin: 0 0 var(--s-xs);
}
@media (max-width: 600px) {
	h2{
		font-size: 3.5rem;
	}
}
h3{
	font-size: 4rem;
	font-weight: 400;
	margin: 0 0 var(--s-xs);
}
@media (max-width: 600px) {
	h3{
		font-size: 3rem;
		}
}
h4{
	font-family: var(--f-family-2);
	font-size: 4.5rem;
	margin: 0 0 var(--s-xxs);
}
@media (max-width: 600px) {
	h4{
		font-size: 3.8rem;
		}
}
h5{
	font-size: 2.5rem;
	font-weight: 300;
	margin: 0 0 var(--s-xxs);
}
h6{
	font-family: var(--f-family-2);
	font-size: 2.5rem;
	font-weight: 400;
	margin: 0 0 var(--s-xs);
}
/* BUTTONS (TEXT) */
a, .cookiebar__link{
	color: var(--cc-brandcolor1);
	text-decoration: none;
}
a:hover, a:focus, .cookiebar__link:hover, .cookiebar__link:focus{
	color: var(--cc-brandcolor1);
	text-decoration: underline;
	text-underline-offset: var(--f-underlineoffset);
}
/* BUTTONS (PRIMARY) */
button, .cookiebar__button, .btn-primary{
	display: table-cell;
	font-size: var(--f-size-m);
	font-weight: bold;
	height: 4rem;
	text-align: center;
	vertical-align: middle;
	color: var(--cc-white);
	background-color: var(--cc-brandcolor2);
	min-width: 20rem;
	padding: 0 2.0rem;
	transition: var(--trans-default);
	border-radius: var(--theme-radius);
	user-select: none;
	text-decoration: none;
	box-shadow: var(--shadow-default);
	border: none;
}
button:hover, .cookiebar__button:hover, .btn-primary:hover{
	color: var(--cc-brandcolor1);
	background-color: var(--cc-white);
	text-decoration: none;
}
button:active, .cookiebar__button:active, .btn-primary:active{
	color: var(--cc-brandcolor1)!important;
	background-color: var(--cc-white)!important;
	scale: var(--scale-button);
	box-shadow: var(--shadow-default);
}
button:focus, .cookiebar__button:focus, .btn-primary:focus{
	color: var(--cc-white);
	background-color: var(--cc-brandcolor1);
	text-decoration: none;
}


/* FORMULARS */
div.formbody div {
	margin-bottom: 0rem;
}
div.formbody  label span{
	display: inline;
}
div.formbody span.invisible {
	display: none;
}
.formbody .widget {
	margin-bottom: 1rem;
}
.formbody label{
	display: block;
	font-size: 1.4rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	color: var(--cc-black);
	width: auto;
}
.formbody input {
	height: 4rem;
}
.formbody input,
.formbody textarea {
	padding: 0 1rem;
	border: 1px solid var(--cc-midgrey);
	background: var(--cc-white);
	width: 100%;
	font-size: 1.6rem;
	letter-spacing: var(--f-letterspacing);
	border-radius: var(--theme-radius);
	color: var(--cc-black);
}

input.checkbox, input.radio{
	float: left;
	margin-right: 0.75rem;
	border-radius: var(--theme-radius);
	background: var(--cc-white);
}
.form-control:focus, textarea:focus{
	border: 1px solid var(--cc-brandcolor1);
	box-shadow: none;
}

fieldset.contactform_privacy{
	padding: 0;
	border: none;
}
input.radio, input.checkbox{
	width: auto;
	float: left;
	margin-right: 0.5rem;
	margin-bottom: 0!important;
	border-radius: var(--theme-radius);
	background: var(--white);
	border:0.1rem solid var(--midgrey);
}

fieldset.radio_container span{
	margin-right: 1.5rem;
}
fieldset.radio_container span, fieldset.radio_container input.radio{
	float: left;
}
fieldset.radio_container label{
	margin-top: 0!important;
	float: left;
}
textarea{
	height: 12.0rem;
}
input:focus, textarea:focus{
	border: 1px solid var(--cc-brandcolor1);
	outline-color: var(--cc-brandcolor1);
	box-shadow: none;
}
div.widget-captcha span{
	display: block;
	margin-top: 0.5rem;
	margin-bottom: 1.5;
}
p.confirm{
	border-left: 5px solid var(--success);
	padding: 1rem;
}
.formbody .widget.widget-checkbox fieldset input,
.formbody .widget.widget-radio fieldset input {
	width: auto;
	height: auto;
}

/* TABLES */
table{
	display: table;
	margin-left: auto;
	margin-right: auto;
}
tr.odd{
	background-color: var(--cc-lightgrey);
}
td{
	padding: var(--s-xs);
}
@media (max-width:600px){
	td{
		padding: var(--s-xxs);
	}
}

/* PAGE PROGRESS BAR */
.pace-inactive {
	display: none;
}
.pace .pace-progress {
	transition: var(--trans-easeout);
	background: var(--cc-brandcolor1);
	position: fixed;
	z-index: 2000;
	top: 0;
	right: 100%;
	width: 100%;
	height: var(--border-accent-size);
}
/* COOKIEBAR */
.cookiebar{
	background-color: var(--cc-white);
	color: var(--cc-black);
	z-index: 2000;
	min-height: var(--navbar-cookiebar-height);
	font-size: var(--f-size-s);
	box-shadow: var(--shadow-default);
}
.cookiebar__link{
	margin: 0 var(--s-s);
}
.cookiebar__text,
.cookiebar__message{
	margin: 0;
}
/* COLORS */
.text-cc-brandcolor1 {
	color: var(--cc-brandcolor1);
}
.text-cc-brandcolor2 {
	color: var(--cc-brandcolor2);
}
.text-cc-black {
	color: var(--cc-black);
}
.text-cc-white {
	color: var(--cc-white);
}


/* HEADER */
.navbar{
	background: var(--cc-navbar);
	transition: var(--trans-default);
	/*height: var(--navbar-cookiebar-height);*/
	border: 0;
	padding: 0 var(--s-s);
	box-shadow:var(--shadow-default);
}
/*
.home .navbar {
	background: transparent;
	box-shadow:none;
}
*/
.navbar .container-wrapper{
	display: flex;
	height: 100%;
}
.navbar .inner-wrapper{
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.navbar-brand{
	width: var(--navbar-brand-width);
	height: 100%;
	padding: 1rem;
}
.navbar-brand a{
	display: flex;
	font-size: var(--f-size-l);
	font-weight: 700;
	text-decoration: none;
}
.navbar-brand img{
		width: 100%;
}
/* HEADER: NAVIGATION*/
.navbar .column-mainNav,
.navbar .column-mainNav nav,
.navbar .column-mainNav nav ul.level_1,
.navbar .column-mainNav nav ul.level_1 li,
.navbar .column-nav-right {
	height: 8rem!important;
}

.navbar .column-mainNav nav a.invisible {
	display: none;
}
.navbar ul.level_1{
	list-style-type: none;
	font-weight: 700;
}
.navbar ul.level_1 li{
	float: left;
	padding-top: 2.4rem;
}
.navbar ul.level_1 li.active{
	color: var(--cc-brandcolor1);
}
.navbar ul.level_1 li a{
	position: relative;
	padding: 1rem;
	color: var(--cc-black);
	text-decoration: none;
}
.navbar ul.level_1 li a::after{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	content: '.';
	color: transparent;
	width: 0;
	z-index: -1;
	border-bottom: var(--border-accent-size) solid var(--cc-brandcolor1);
	transition: var(--trans-easein);
}
.navbar ul.level_1 li:hover a::after,
.navbar ul.level_1 li a:hover::after{
	width: 100%;
	transition: var(--trans-easeout);
	cursor: pointer;
}
.navbar ul.level_1 li.active span{
	padding: 1rem;
	color: var(--cc-black);
	border-bottom: var(--border-accent-size) solid var(--cc-brandcolor1);
	padding-bottom: calc(1rem - var(--border-accent-size));
}


.navbar ul.level_1 li.submenu ul.level_2 {
    display: none;
    float: none;
    margin-top: 0;
    position: absolute;
    width: auto;
    padding: 2rem 0 0 0;
    background-color: var(--cc-navbar);
}
.navbar ul.level_1 li.submenu:hover ul.level_2 {
    display: block;
    float: none;
}
.navbar ul.level_1 li.submenu ul.level_2 li {
	float: none;
	display: block;
	padding: 0;
	height: 4rem!important;
}
.navbar ul.level_1 li.submenu ul.level_2 li.active .active {
	margin: 1rem 1rem 0 0rem;
	padding-left: 0.5rem;
	border-left: var(--border-accent-size) solid var(--cc-brandcolor1);
}
.navbar ul.level_1 li.submenu ul.level_2 li a {
	padding: 0 0 1rem 0;
	margin: 1rem 1rem 0 1rem;
}
.navbar ul.level_1 li.submenu ul.level_2 li a::after{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    content: '.';
    color: transparent;
    width: 0;
    z-index: 1;
    border-bottom: var(--border-accent-size) solid var(--cc-brandcolor1);
}
.navbar ul.level_1 li.submenu ul.level_2 li a:hover::after {
	width: 100%;
	transition: var(--trans-easeout);
	cursor: pointer;
}
/*
.navbar ul.level_1 li:hover ul.level_2 {
	display: block;
	transition: var(--trans-easein);
}

/* HEADER: NAVIGATION LINK & BOOKING-BUTTON */
.navbar .mainnav-lead {
	display:flex;
	height: 100%;
}
.navbar .mainnav-lead .mainnav-email-wrapper {
	display: flex;
	align-items: center;
	margin-right: 2rem;
}
.navbar .mainnav-lead .mainnav-email-wrapper a {
	color: var(--cc-black);
	text-decoration: none;
}
.navbar .mainnav-lead .mainnav-email-wrapper a:hover {
	text-decoration: underline;
	color: var(--cc-brandcolor1);
}
.thirdparty-logo-wrapper {
	display: flex;
	align-items: center;
	margin-left: 2rem;
}
.thirdparty-logo {
	padding: 0;
}
@media (max-width: 1000px) {
	.navbar .thirdparty-logo-wrapper a {
		display:none;
	}
}
.navbar .mainnav-lead .bookingButton-wrapper {
	padding-top: 2rem;
}
.navbar .mainnav-lead .bookingButton-wrapper a {
	font-size: 1.6rem;
}
@media (max-width: 1000px) {
	.navbar .mainnav-email-wrapper a {
		display:none;
	}
}
@media (max-width: 750px) {
	.navbar .bookingButton  {
		display:none;
	}
}
.modal-dialog .mainnav-lead-modal {
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	justify-content: center;
}
.modal-dialog .mainnav-lead-modal {
	margin-top: 3rem;
}
.modal-dialog .mainnav-lead-modal,
.modal-dialog .mainnav-lead-modal .mainnav-email-wrapper-modal,
.modal-dialog .mainnav-lead-modal .bookingButton-wrapper-modal {
	margin-bottom: var(--s-s);
}
/* HEADER: MEDIUM SCREEN */
/* @media (max-width: 991px) {
	.navbar-header {
		  float: none;
		}
	.navbar-left,.navbar-right {
      float: none !important;
	}
	.navbar-collapse {
      border-top: 1px solid transparent;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
	}
	.navbar-fixed-top {
      top: 0;
      border-width: 0 0 1px;
	}
	.navbar-collapse.collapse {
      display: none!important;
	}
	.navbar-nav {
      float: none!important;
      margin-top: 0.75rem;
	}
	.navbar-nav>li {
      float: none;
	}
	.navbar-nav>li>a {
      padding-top: 1.0rem;
      padding-bottom: 1.0rem;
	}
	.collapse.in{
      display:block!important;
	}
	.navbar-collapse{
		height:100%;
	}
	.navbar-default{
		border:0;
		overflow:display;
	}
	.navbar{
		padding:1.6rem 0;
	}
	.top-nav-collapse {
		padding: 2.0rem 0;
	} */

@media (max-width: 1400px) {	
	#bs-example-navbar-collapse-1 {
	 	display: none!important;
	}
	.navbar-toggle {
		display: block!important;
	}
}
	
	/* HEADER: SMALL SCREEN: ICON: OPEN */
	button.navbar-toggle{
		min-width: 0;
		height: 4rem;
		position: absolute;
		right: 1.25rem;
		top: 50%;
		transform: translateY(-50%);
		border: 0;
		margin: 0;
	}
	.navbar-default .navbar-toggle:hover,
	.navbar-default .navbar-toggle:active,
	.navbar-default .navbar-toggle:focus{
		background-color: transparent!important;
		scale: none;
	}
	.navbar-toggle svg{
		fill: var(--cc-black)
	}
	/* HEADER: SMALL SCREEN: ICON: CLOSE */
	.modal-dialog{
		margin: 0;
		height: 100%;
		width: 100%;
	}
	.modal-content{
		height: 100%;
		background: rgba(0, 0, 0, 0.7);
		border: 0;
		border-radius: 0;
	}
	.modal-header{
		padding: 0;
		border: 0;
		height: var(--navbar-cookiebar-height);
	}
	button.close{
		height: 100%;
		min-width: 0;
		padding: calc(var(--navbar-cookiebar-height) / 3);
		float: right;
		margin: 0!important;
		opacity: 1;
	}
	button.close:hover,
	button.close:active,
	button.close:focus{
		opacity: 1;
		background-color: transparent!important;
		scale: none;
	}
	.modal-header svg{
		fill: var(--cc-white);
	}
	/* HEADER: SMALL SCREEN: NAVIGATION */
	.fullscreen .modal-body{
		padding: 0 0 var(--s-s);
		width: 100%;
	}
	.fullscreen .modal-body ul.level_1{
		padding: 0;
		list-style-type: none;
	}
	.fullscreen .modal-body ul.level_1  li{
		padding-bottom: var(--s-s);
		width: 100%;
	}
	.fullscreen .modal-body a,
	.fullscreen .modal-body li.active span{
		color: var(--cc-white);
		font-size: var(--f-size-xl);
		font-weight: 700;
		text-decoration: none;
	}
	.fullscreen .modal-body ul.level_1  li.active span{
		color: var(--cc-brandcolor1);
	}
	
.fullscreen .modal-body ul.level_1 li.submenu ul.level_2 li a{
	font-size: var(--f-size-m);
	color: var(--cc-brandcolor1);
}	
	
	
.fullscreen .invisible{
	display: none;
}
.navbar-languageContainer {
	width: 10rem;
	margin-left: 2rem;
	float: right;
}
.navbar-languageContainer .nav>li>a {
	display: inline;
	padding-left: 1rem
}

/* --- TOP LINK --- */
 #footer .top-link{
	bottom: var(--s-s);
	right: var(--s-s);
	position: fixed;
	z-index: 10;
}
#footer .top-link a{
	background-color: var(--cc-brandcolor1);
	display: inline-flex;
	height: 4rem;
	width: 4rem;
	padding: 0.9rem;
	transition: var(--trans-default);
	border-radius: var(--theme-radius);
	box-shadow: var(--shadow-default);
}
#footer .top-link a:hover{
	background-color: var(--cc-white);
}
#footer .top-link a:active{
	scale: var(--scale-button);
}
#footer .top-link svg{
	fill: none;
	stroke: var(--cc-white);
	stroke-width: 2.31px;
	transition: var(--trans-default);
}
#footer .top-link a:hover svg{
	stroke: var(--cc-brandcolor1);
}
hr {
  border-top: 1px solid var(--cc-midgrey);
}
/* footer headlines */
.textpage h4 {
	font-family: var(--f-family-1);
	font-size: 2rem;
}

/* flex-direction */
.flex-direction-row {
	flex-direction: row;
}
.flex-direction-row-reverse {
	flex-direction: row-reverse;
}
