/* colors */
:root {
	--color-1: #0067a9; /* blue */
	--color-2: #cd1719; /* red */
	--color-3: #b28d1d; /* gold */
	--color-primary: #b28d1d; /* gold tourismus */
	--color-secondary: #b28d1d; /* gold tourismus */
	--color-primary: #9e7d19; /* gold tourismus */
	--color-secondary: #9e7d19; /* gold tourismus */
	--color-white: #ffffff;
	--color-black: #1a1a1a;
	--color-default: #1a1a1a;
	--color-grey: #555555;
	--color-lightgrey: #f4f4f4;
	--color-greyborder: #dddddd;
	--color-box-shadow: rgba(0,0,0,0.15);
}

.color-default{
	color:var(--color-default);  
}
.color-black{
	color:var(--color-black);  
}
.color-primary{
	color:var(--color-primary);  
}
.color-1{
	color:var(--color-1);
}
.color-2{
	color:var(--color-2);
}
.color-3{ 
	color:var(--color-3);
}
.color-white{
	color:#ffffff !important;
}
.color-grey{
	color:var(--color-grey);
}
.bg-color-primary{
	background-color:var(--color-primary);  
}
.bg-color-1{
	background-color:var(--color-1);
}
.bg-color-2{
	background-color:var(--color-2);
}
.bg-color-3{
	background-color:var(--color-3);
}
.bg-lightgrey{
	background-color:var(--color-lightgrey);
}

*{
	outline: none;  
}

.frontbody{
	color: var(--color-default);
	font-size:15px;
	font-family: 'Roboto', sans-serif;
	line-height:1.5; 
}
.frontbody{
	margin: 0;
	padding: 0;
	background: #ffffff;  
}

.container{
	max-width:1320px;
	padding-left:20px;
	padding-right:20px;
	margin:0 auto;
}
.container-large{
	padding-left:20px;
	padding-right:20px;
	margin:0 auto;
}
@media screen and (min-width: 450px) {
	.container, .container-large{
		padding-left:30px;
		padding-right:30px;
	}
}
@media screen and (min-width: 1440px) {
	.container-large{
		padding-left:50px;
		padding-right:50px;
	}
}

img{
	vertical-align: top;
	max-width:100%;
	height:auto;
}

img.alignleft {
	float: left;
	margin-top: 5px;
	margin-right: 10px;
	margin-bottom: 5px;
}
img.alignright {
	float: right;
	margin-top: 5px;
	margin-left: 10px;
	margin-bottom: 5px;
}
.float-clear{
	clear: both;  
}

/* default link */
.text a{
	transition: all 0.1s ease-in-out;
	color: var(--color-primary);
	text-decoration: none;
}
.text a:hover{
	color: var(--color-primary);
	text-decoration: underline;
}


.header{
	background: #ffffff;
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	border-bottom: 1px solid var(--color-secondary);
}

.main{
	padding-top: 80px; /* wegen mobile header fixed */
}

/* fixed header breakpoint */
@media screen and (min-width: 500px) { 
	.main{
		padding-top: 0px; /* wegen mobile header fixed */
	}
	.header{
		position: relative;
		border-bottom: 1px solid #cccccc;
	}
}

.header-grid{  
	min-height: 85px;
	display: grid;
	grid-template-columns: 60% auto auto;  
}
@media screen and (min-width: 420px) { 
	.header-grid{
		min-height: 100px;
		grid-template-columns: 240px auto auto;
	}
}
@media screen and (min-width: 1180px) { 
	.header-grid{
		min-height: 122px;
		grid-template-columns: 240px auto 240px;
	}
}
@media screen and (min-width: 1300px) {
	.header-grid{
		grid-template-columns: 260px auto 260px;
	}
}
@media screen and (min-width: 1440px) {
	.header-grid{
		grid-template-columns: 290px auto 290px;
	}
}

.header-grid > div:nth-child(1) { /* logo */
	grid-column-start: 1;
	grid-column-end: 2;
}
.header-grid > div:nth-child(2) { /* mainnav */
	grid-column-start: 2;
	grid-column-end: 3;
}
.header-grid > div:nth-child(3) { /* icons */
	grid-column-start: 3;
	grid-column-end: 4;
}

#logo{
	margin-top: -7px;
}

.header-icons{
	display: grid;
	grid-gap: 20px;
	grid-auto-flow: column;
}
@media screen and (min-width: 500px) {
	.header-icons{
		grid-gap: 25px;
	}
}
.header-icon{
	float: left;
	cursor: pointer;
	text-decoration: none;
	color: var(--color-black);
}
.header-icon:hover{
	text-decoration: none;
	color: var(--color-black); 
}

/* Main Navigation */
#nav-main > ul {
	display:block;
	list-style: none;
	margin: 0;
	padding: 0;
}
#nav-main > ul > li{
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	float: left;
	margin-left: 1px;
	margin-right: 1px;
}
#nav-main > ul > li > a{
	font-weight:600;
	padding:50px 15px 15px 15px;
	color: var(--color-black); 
	display:block;
	text-decoration: none;
}

#nav-main > ul > li:hover > a{
	background-color: var(--color-lightgrey);
}
#nav-main > ul > li.current-menu-item > a, #nav-main > ul > li.current-page-ancestor > a{
	background-color: var(--color-lightgrey);
}
#nav-main > ul > li > ul li{
	position:relative;
}
#nav-main > ul > li ul{
	z-index:100;
	list-style: none;
	margin: 0;
	padding: 0;
	padding-bottom:5px;
	display:none;
	position:absolute;
	width:240px;
	left:0;
	top:0;
	box-shadow: 4px 4px 0px var(--color-box-shadow);
	background: var(--color-lightgrey);
}
#nav-main > ul > li > ul{
	padding-top:5px;
}
#nav-main > ul > li > ul > li  a{
	line-height:1.2;
	text-decoration: none;
	display:block;
	padding:8px 15px;
	color:var(--color-black); 
}
#nav-main > ul > li > ul > li:first-child > a, #nav-main > ul > li > ul > li > ul > li:first-child > a{
	border-top:none;
}
#nav-main > ul > li > ul > li > a:hover, #nav-main > ul > li > ul > li > ul > li a:hover{
	/*background: rgba(36,83,113,1);*/
	color:var(--color-primary);
}
#nav-main .nav-mobile-toggle-submenu{
	display:none;
}


.btn-mobile-nav{
	padding:0;
	background:#ffffff;
	border:0;
}


/* mobile menu */
#nav-mobile-container{
	display:none;
	z-index:90;
	position: fixed;
	top:0px;
	left:0px;
	height:100%;
	width:100%;
	background:rgba(255,255,255,1);
	overflow-y: auto;
}
#nav-mobile{
	background:#ffffff;
}
#nav-mobile a{
	text-decoration: none;	
}
#nav-mobile > ul {
	display:block;
	list-style: none;
	margin: 0;
	padding: 0;
}
#nav-mobile > ul > li:first-child{
	/*border-top:1px solid #e0e0e0;*/
}
#nav-mobile > ul > li{
	border-bottom:1px solid var(--color-greyborder);
	display: block;
	margin: 0;
	padding-top:8px;
	padding-bottom:8px;
}
#nav-mobile > ul > li a i{
	color:var(--color-default);
	display:block;
	padding:5px 2px 5px 5px;
	font-size: 1.25rem;
	position: absolute;
	top:4px;
	right:0px;
}
#nav-mobile > ul > li ul{
	display:none;
	list-style: none;
	margin: 0;
	padding: 0;
}
#nav-mobile > ul > li ul li{
}
#nav-mobile > ul a{
	position: relative;
	display: block;
	padding:8px 30px 8px 0px;
	color:var(--color-default);
}
#nav-mobile > ul > li > ul a:hover{
	color:var(--color-default);
}
/* 1.level a */
#nav-mobile > ul > li > a{
	font-weight: 600;
	font-size: 1.125rem;
}
/* 1.level a */
#nav-mobile > ul > li > a{
}
/* 2.level a */
#nav-mobile > ul > li > ul > li > a{  
}
/* 3.level a */
#nav-mobile > ul > li > ul > li > ul > li > a{
	padding-left:15px;
}
/* 4.level a */
#nav-mobile > ul > li > ul > li > ul > li > ul > li > a{
	padding-left:30px;
}

.menu-item-61 a{
	color:var(--color-2) !important;
}
.menu-item-60 a{
	color:var(--color-3) !important;
}



/* Footer */
.footer-middle{
	position: relative;
}
.footer-middle > div{
	position: relative;
	z-index: 10;  
}
.footer-middle:after{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom:  0;
	background-image: url("../img/watermark-white.svg");
	background-position: bottom right;
	background-repeat: no-repeat;
	background-size: auto 80%;
	opacity: 0.15;
}

.table-opening-hours{

}
.table-opening-hours tr td{
	padding-right: 20px;
}
.table-opening-hours tr td:first-child{
	font-weight: bold;
}
.table-opening-hours tr td:last-child{
	padding-right: 0;
}

.footer-social-icons{
	list-style: none;
	margin: 0px;
	padding: 0px;

}
.footer-social-icons li{
	display: inline-block;
	margin: 0px;
	padding: 0px;
	padding-right: 15px;
}

/* footer topmenu */
#nav-footer-topmenu > ul{
	list-style: none;
	margin: 0px;
	padding: 0px;
}
#nav-footer-topmenu > ul > li{
	margin: 0px;
	padding: 0px;
	margin-right: 25px;
	display: inline-block;
}
#nav-footer-topmenu > ul > li > a{
	text-decoration: none;
	color:var(--color-black);  
	font-weight: bold;
}
#nav-footer-topmenu > ul > li > a:hover{
	text-decoration: underline;
}


/* footer submenu */
#nav-footer-submenu > ul{
	list-style: none;
	margin: 0px;
	padding: 0px;
}
#nav-footer-submenu > ul > li{
	margin: 0px;
	padding: 0px;
	margin-right: 15px;
	display: inline-block;
}
.footer-middle a{
	color: #ffffff;
	text-decoration: none;
}
.footer-middle a:hover{
	color: #ffffff;
	text-decoration: underline;
}

.footer-logos a{
	display: block;
	margin-right: 50px;
}


/* Text */
/* font 2 */
.font-2{
	font-family: "Roboto Slab";
}
/* headlines */
.frontbody h1, .frontbody .h1, .content-block h1, .content-block .h1{
	font-size: 1.5rem;
	line-height: 1.3;
	font-family: "Roboto Slab";
	font-weight: 400;
	color: var(--color-primary);
	margin: 0 0 1rem 0;
}
.frontbody h2, .frontbody .h2, .content-block h2, .content-block .h2{
	font-size: 1.5rem;
	line-height: 1.3;
	font-family: "Roboto Slab";
	font-weight: 400;
	color: var(--color-primary);
	margin: 0 0 1rem 0;
}
.frontbody h3, .frontbody .h3, .content-block h3, .content-block .h3{
	font-size: 1.3rem;
	line-height: 1.3;
	font-weight: 500;
	color: var(--color-primary); 
	margin: 0 0 1rem 0;
}
.frontbody h4, .frontbody .h4, .content-block h4, .content-block .h4{
	font-size: 1.25rem;
	line-height: 1.3;
	font-weight: 500;
	color: var(--color-black); 
	margin: 0 0 1rem 0;
}
.content-block .content-block-headline{
	font-weight: 500;
	font-family: 'Roboto', sans-serif !important;
	font-size: 1.625rem;
	margin: 0 0 2.5rem 0;
	padding: 0;
	text-transform: uppercase;
}
@media screen and (min-width: 700px) {
	.frontbody h1, .frontbody .h1, .content-block h1, .content-block .h1{
		font-size: 2.125rem;
	}
	.frontbody h2, .frontbody .h2, .content-block h2, .content-block .h2{
		font-size: 1.625rem; 
	}
	.frontbody h3, .frontbody .h3, .content-block h3, .content-block .h3{
		font-size:1.375rem; 
	}
}
@media screen and (min-width: 1200px) {
	.frontbody h1, .frontbody .h1, .content-block h1, .content-block .h1{
		font-size: 2.5rem; 
	}
	.frontbody h2, .frontbody .h2, .content-block h2, .content-block .h2{
		font-size: 1.875rem; 
	}
	.frontbody h3, .frontbody .h3, .content-block h3, .content-block .h3{
		font-size:1.375rem; 
	}
	.content-block .content-block-headline{
		font-size: 1.875rem; 
		margin: 0 0 2.5rem 0;
		padding: 0;
		text-transform: uppercase;
	}
}

.uppercase{
	text-transform: uppercase;
}
b, strong, .bold, .strong{
	font-weight: 500;
}
.break-word{
	word-break: break-word;
}

/* text sizes */
.fs-xs{
	font-size:0.813rem; /* 13px b16 */
}
.fs-s{
	font-size:0.875rem; /* 14px b16 */
}
.fs-m{
	font-size:1.000rem;
}
.fs-l{
	font-size:1.125rem; /* 18px b16 */
}
.fs-xl{
	font-size:1.250rem; /* 20px b16 */
}
.fs-xxl{
	font-size:1.375rem; /* 22px b16 */
}
.fs-xxxl{
	font-size:1.500rem; /* 24px b16 */
}

.fw-normal{
	font-weight: 400 !important;
}
.fw-bold{ 
	font-weight: 400 !important;
}

/* Buttons */
.btn-primary{
	border:1px solid;
	z-index:10;
	color:var(--color-white) !important;
	overflow: hidden;
	position: relative;
	border-radius: 0;
	border-color:var(--color-primary);
	background:transparent;
	transition: all 250ms ease-in-out; 
	padding-left:1.5em;
	padding-right:1.5em;
}
.btn-primary::before, .btn-primary::after {
	content: '';
	position: absolute;
	z-index: -1;
	top: -1px;
	bottom: -1px;
	left: -1px;
	right: -1px;
}
.btn-primary::before{
	background-color: var(--color-primary);
}
.btn-primary::after {
	transform: translateX(-100%);
	background-color: var(--color-white);
	transition: all 200ms ease-in-out;
}
.btn-primary:hover, .btn-primary:active{
	border-color:var(--color-primary);
	color:var(--color-white) !important;
}
@media (hover: hover) {
	.btn-primary:hover{
		color:var(--color-primary) !important;
		box-shadow: 4px 4px 0px var(--color-box-shadow);
	}
	.btn-primary:hover::after {
		opacity:1;
		transform: translateX(0);
	}
}
/* contact form 7 submit */
input.btn-primary{
	background-color: var(--color-primary);
}
input.btn-primary:hover, input.btn-primary:active, input.btn-primary:focus{
	border-color:var(--color-primary);
	color:var(--color-primary) !important;
	background-color: var(--color-white);
}
.btn:disabled, .btn:disabled:hover{
	color:var(--color-white) !important;
	pointer-events: all;
	border-color: var(--color-grey);
  background-color: var(--color-grey);
}


.btn-secondary{
	border:1px solid;
	z-index:10;
	color:var(--color-primary) !important;
	overflow: hidden;
	position: relative;
	border-radius: 0;
	border-color:var(--color-primary);
	background:transparent;
	transition: all 250ms ease-in-out; 
	padding-left:1.5em;
	padding-right:1.5em;
}
.btn-secondary::before, .btn-secondary::after {
	content: '';
	position: absolute;
	z-index: -1;
	top: -1px;
	bottom: -1px;
	left: -1px;
	right: -1px;
}
.btn-secondary::before{
	background-color: var(--color-white);
}
.btn-secondary::after {
	transform: translateX(-100%);
	background-color: var(--color-primary);
	transition: all 200ms ease-in-out;
}
.btn-secondary:hover{
	border-color:var(--color-primary);
	color:var(--color-primary);
}
@media (hover: hover) {
	.btn-secondary:hover{
		color:var(--color-white) !important;
		box-shadow: 4px 4px 0px var(--color-box-shadow);
	}
	.btn-secondary:hover::after {
		opacity:1;
		transform: translateX(0);
	}
}

/* bg-loader */
.bg-loader{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	transition: 0.5s;
	transition-timing-function: ease-in-out;
	opacity:0;
}
.bg-loader-loaded{
	opacity:1;
}

/* lazyload */
.lazy{
	opacity: 0;
	transition: opacity 0.5s ease-in-out;
}
.lazy.loaded{
	opacity: 1;
}
.lazy.lazy-blur{
	transition: all 0.3s;
	filter: blur(3px);
}
.lazy.loaded.lazy-blur{
	filter: blur(0px);
}
.image-container{
	overflow: hidden;
	display: block;
}
.imageslider-item img.lazy, .showcaseslider-item img.lazy{
	/*opacity: 1;	*/
}


/* search form */
#offcanvas-search{
	height: 35vh;
	min-height: 450px;
}
#offcanvas-search .offcanvas-body{
	overflow: visible;
}
.search-form{
	position: relative;
}
.search-submit{
	position: absolute;
	top: 0.8em;
	right: 0.8em;
	padding:0;
	margin:0;
	background: none;
	border: none;
}
/* autocomplete */
.search-suggest{
	display:none;
	color:var(--color-default);
	position: absolute;
	top: 0;
	left: 0;
	max-height:500px;
	overflow: auto;
	width:100%;
	z-index:110;
	background-color:var(--color-white);
	box-shadow:0px 0px 5px rgba(0,0,0,0.3);
}
.search-suggest-item{
	display: block;
	padding:15px;
	border-bottom:1px solid #e0e0e0;
	color:var(--color-primary);
	text-decoration: none;
}
.search-suggest-item:hover{
	color:var(--color-primary);
	background-color: var(--color-lightgrey);
}


.form-control:focus {
	outline: none !important;
	box-shadow: none !important;
}  

.image-qr{
	width:100px;
	min-width:100px;
	box-shadow:0px 0px 8px rgba(0,0,0,0.15);
}

/* Scroll To Top Button */
.btn-scroll-top {
	z-index: 100;
	cursor: pointer;
	position: fixed;
	bottom: 20px;
	right: 20px;
	width:45px;
	height:45px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color:rgba(0,0,0,0.5);
	color:var(--color-white);
}


/* opacity */
.opacity-100{ opacity: 1; }
.opacity-90{ opacity: 0.9; }
.opacity-80{ opacity: 0.8; }
.opacity-70{ opacity: 0.7; }
.opacity-60{ opacity: 0.6; }
.opacity-50{ opacity: 0.5; }
.opacity-40{ opacity: 0.4; }
.opacity-30{ opacity: 0.3; }
.opacity-20{ opacity: 0.2; }
.opacity-10{ opacity: 0.1; }

/* margins & paddings */
.nomargin{ margin:0; }
.nopadding{ padding:0; }
.mb-0em{ margin-bottom:0; }     
.mt-0em{ margin-top:0; }           
.mb-05em{ margin-bottom:0.5em; }  
.mt-05em{ margin-top:0.5em; } 
.mt-1em{ margin-top:1em; } 
.mt-2em{ margin-top:2em; }    
.mt-3em{ margin-top:3em; }    
.mt-4em{ margin-top:4em; }   
.mt-5em{ margin-top:5em; } 
.mb-1em{ margin-bottom:1em; } 
.mb-2em{ margin-bottom:2em;}   
.mb-3em{ margin-bottom:3em; }   
.mb-4em{ margin-bottom:4em; }  
.mb-5em{ margin-bottom:5em; }     
.mr-1em{ margin-right:1em; } 
.mr-2em{ margin-right:2em;}   
.mr-3em{ margin-right:3em; }   
.mr-4em{ margin-right:4em; }  
.ml-1em{ margin-left:1em; } 
.ml-2em{ margin-left:2em;}   
.ml-3em{ margin-left:3em; }   
.ml-4em{ margin-left:4em; } 
.pt-05em{ padding-top:0.5em; }  
.pt-075em{ padding-top:0.75em; }   
.pt-1em{ padding-top:1em; }  
.pt-2em{ padding-top:2em; }  
.pt-3em{ padding-top:3em; }   
.pt-4em{ padding-top:4em; }  
.pt-5em{ padding-top:5em; }  
.pb-05em{ padding-bottom:0.5em; }
.pb-075em{ padding-bottom:0.75em; }
.pb-1em{ padding-bottom:1em; }  
.pb-2em{ padding-bottom:2em; }  
.pb-3em{ padding-bottom:3em; }  
.pb-4em{ padding-bottom:4em; }
.pb-5em{ padding-bottom:5em; }
.pl-1em{ padding-left:1em !important; }  
.pl-2em{ padding-left:2em !important; }  
.pl-3em{ padding-left:3em !important; }   
.pl-4em{ padding-left:4em !important; }    
.pr-1em{ padding-right:1em !important; }  
.pr-2em{ padding-right:2em !important; }  
.pr-3em{ padding-right:3em !important; }   
.pr-4em{ padding-right:4em !important; } 
.mb-5px{ margin-bottom:5px; }
.mb-10px{ margin-bottom:10px; }

a.email-protect--error {
	color: #c0392b;
	text-decoration: none;
	cursor: default;
	pointer-events: none;
}

