@charset "utf-8";
/* CSS Document */

body
{
	margin: 0;
	padding: 0;
	background: #fff;
}
*
{
	outline: none;
}

a img
{
	border: 0px solid;
}
a.art_anchor
{
	width: 0;
	height: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	font-size: 0;
}
p
{
	width: 100%;
	float: left;
	margin: 0;
	padding: 0;
}
.content p
{
	float: none;
}
body .ui-widget { font-size: 0.7rem; }
::selection
{
	background:#669692;
	color:#fff;
}

/*  PRELOADER   */
.preloader
{
    width: 100vw;
    height: 100vh;
    z-index: 99999;
    position: fixed;
    top: 0;
    left: 0;
    background-color:#eee !important;
}

body.tcontent .preloader
{
    display: none;
}
/*
.preloader .preloader_logo
{
    width: 200px;
    height: 200px;
    position: absolute;
    top: 46px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    background: url(../img/icons/loading.gif);
    background-size: cover;
    animation: fadeInUp;
    animation-duration: 1.7s;
    animation-fill-mode: both;
    animation-delay: 0.8s;
}
*/
.preloader .load_animation
{
    width: 100px;
    height: 100px;
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}

@keyframes scale-up-center {
    0% {
        -webkit-transform: scale(0.2);
        transform: scale(0.2);
        opacity: 0;
    }
    60% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
    100% {
        -webkit-transform: scale(0.7);
        transform: scale(0.7);
    }

}

.page_c
{
	width: 100%;
	min-width: 850px;
    float: left;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.offscreen
{
    position: absolute;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0;
    border: 0;
    height: 1px;
    width: 1px;
    overflow: hidden;
}
*:focus
{
    outline: 2px dotted #CB1D36;
}

/* Accessibility map */
.as_map_c
{
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
}
.as_map
{
    height: 28px;
    margin: -250px auto 0 auto;
    display: table;
    table-layout: fixed;
    padding: 3px 25px 14px 10px;;
    background-color: #FFFFFF;
    transition: margin-top 0.4s;
}
.as_map.opened { margin-top: 0; }
.as_map ul { float: left; margin: 0; padding: 0; list-style: none; }
.as_map ul li { float: left; margin: 15px 10px; }
.as_map ul li > *
{
    padding: 5px 15px;
    background-color: #d7cfcc;

    font:400 1.250rem/120% 'Montserrat', "Trebuchet MS", sans-serif;
    color: #231F1D;
    text-decoration: none;
    line-height: 20px;
}
.as_map ul li > *:focus { background-color: #FFFFFF; outline: 1px dotted #231F1D; }

.head_c
{
    width: 100%;
    float: left;
    position: relative;
    z-index: 5;
}

.headtop
{
	position: fixed;
	z-index:30;
	width:100%;
	margin-top:0;
	top:0;
	left:0;
	transition: margin-top 1s;
}
.headtop.nav-down
{
	margin-top:0;
}
.headtop.nav-up
{
	margin-top:-180px;
	
}
.toplinks_c
{
	width:100%;
	position: relative;
	z-index:20;
	float:left;
	background: #eee;
	box-sizing: border-box;
	padding: 0 90px;
}
.logo
{
	position: absolute;
	left: 70px;
	top:10px;
	width: 255px;
	height:169px;
}
.logo img
{
	width:100%;
	height: auto;
}
.toplinks
{
	float:right;
	position: relative;
}
.toplinks .link
{
	float:left;
	position: relative;
    box-sizing: border-box;
	padding: 12px 15px;
	border-left: 1px solid #ccc;
	font: 300 1em/120% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	color:#000;
}
.toplinks a.link,
.toplinks .link a
{
	color:#000;
	text-decoration: none;
}
.toplinks a.link:before
{
  content: "";
  position: absolute;
  width: calc(100% - 30px);
  height: 1px;
  bottom: 10px;
  left: 15px;
  background: #000;
  visibility: hidden;
  transform: scaleX(0);
  transition: all 0.3s ease-in-out 0s;
}
.toplinks a.link:hover:before
{
  visibility: visible;
  transform: scaleX(1);
}
.toplinks .link span.fa
{
	margin-right:6px;
}
#open_search
{
	display:none;
}
.search.link
{
	border-left:none;
	padding: 12px 15px 12px 28px;
}
.search form input
{
	
	width:70px;
	color: #679692;
	border:none;
	transition: width 0.5s;
	background:none;
	font: 300 1em/120% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
}
.search form input::placeholder
{
	color: #679692;
	font: 300 1em/120% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
}
.search:before
{
	background: url(../img/icons/search.svg) no-repeat center top / 18px 18px;
	width: 18px;
	height: 19px;
	position:absolute;
	left:0;
	top:13px;
	content:'';
}

.search form input:focus
{
	width: 150px;
	border-bottom: 1px solid #669692;
	outline:none;
}
.lang
{
	z-index:10;
}
.lang .langbutton
{
	float: left;
	text-decoration:none;
}
.lang .langbutton img
{
	float:left;
	width: 18px;
	height:18px;
	margin-right:6px;
}
.lang_i
{
	max-height:0;
	top: 43px;
	right:0px;
	overflow:hidden;
	position:absolute;
	transition: max-height 0.5s;
	color: #000;
	background:#eee;
	box-shadow: 3px 3px 2px rgba(0,0,0,0.1);
	width: 192px;
	
}
.lang_i img.flag
{
	width: 20px;
	float:left;
	height:auto;
	margin: 3px 10px 0 0;
}
.lang .lang_i a.redirect
{
	width:100%;
	border-bottom: 1px solid #ccc;
	margin-bottom: 10px;
    float: left;
    padding-bottom: 5px;
}
.lang .lang_i a.redirect:after {
    content: '\f105';
    font-family: FontAwesome;
    float: right;
    font-size: 1em;
}
.lang.opened .lang_i
{
	max-height: 80px;
}
.lang .lang_i .h_googletrans_c
{
	width:100%;
	float:left;
	padding: 10px;
	box-sizing:border-box;
}
.h_google_tr
{
	float:left;
}
.langbutton span.arrow
{
	position:relative;
	padding-right:15px;
}
.langbutton span.arrow:after
{
	font-family: FontAwesome;
	content:'\f107';
	position:absolute;
	right:0;
	transition: all 0.6s;
}
.lang.opened .langbutton span.arrow:after
{
	transform: rotate(-180deg);
}
.langbutton span.fa-globe
{
	padding-right:7px;
}
.navi_c
{
	width:100%;
	position: relative;
	z-index:10;
	float:left;
	background: #fff;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.2);
}
.navi
{
	margin: 0 auto;
	max-width: 1216px;
	width:100%;
	padding: 0 48px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.menu
{
	float:left;
	position: relative;
}
.menu ul
{
	float:none;
	width: 100%;
	position: relative;
	list-style:none;
	padding:0;
	margin:0;
}
.menu ul li
{
	float:left;
	position:relative;
	box-sizing: border-box;
}
.menu ul li a
{
	color: #000;
	font: 400 1em/100% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	text-decoration: none;
	text-transform:uppercase;
	padding: 26px 18px 19px 18px;
	float:left;
	transition: all 0.85s;
}
.menu ul li:hover a,
.menu ul li.current_link a
{
	color: #679692;
	background:#F8F8F8;
}
.menu ul li:hover .mdown ul li a,
.menu ul li.current_link .mdown ul li a
{
	color: #000;
	background:none;
}
.menu ul li .mdown ul li:hover a,
.menu ul li .mdown ul li a.current_link,
.menu ul li .mdown li.link_down .mdown ul li:hover a,
.menu ul li .mdown li.link_down .mdown ul li.current_link a
{
	
}
.menu ul li .mdown
{
   width:auto;
    opacity: 0;
    position: absolute;
    top: -700px;
    left: calc(50% - 178px);
    z-index: 2;
    box-sizing: border-box;
    background: #C6D7D6;
    transition: opacity 0.7s ease;
	padding: 25px 0;
	box-shadow: inset 0 5px 5px -3px rgba(0,0,0,0.2);
}
.menu ul li:hover > .mdown, .menu ul li.show > .mdown {
    opacity: 1;
    top: 61px;
}
.menu ul li .mdown ul li
{
	width: 356px; /*310px;*/
	padding: 0;
	box-sizing: border-box;
	position: relative;
}
.menu ul li .mdown ul li a
{
	width:100%;
	float:left;
	box-sizing:border-box;
	padding: 14px 36px 14px 58px;
	text-transform: none;
	position: relative;
	color: #444;
}
.menu ul li .mdown ul li a:before
{
	content: '■';
	left:30px;
	position: absolute;
	font-size:0.8em;
	top: 12px;
}
.menu ul li .mdown ul li.link_down > a:after
{
	content:'\f105';
	font-family:FontAwesome;
	float:right;
	font-size:1.2em;
}
.menu ul li .mdown ul li a:hover,
.menu ul li .mdown ul li:hover > a
{
	color:#4E726F;
	background: #B9CECE;
}
.menu .mdown ul li .mdown
{
	background: #eee;
	box-shadow: inset 2px 2px 7px 0px rgba(0,0,0,0.2);
}
.menu .mdown ul li .mdown ul li a
{
	color:#505259;
}
.menu .mdown ul li .mdown ul li a:hover,
.menu .mdown ul li .mdown ul li:hover > a
{
	color:#679692;
	background: #E9E9E9;
	box-shadow: inset 9px 0 7px -7px rgba(0,0,0,0.2);
}
.menu .mdown ul li:hover > .mdown, .menu .mdown ul li.show > .mdown {
    opacity: 1;
    top: -25px;
	left:356px;
}
.menu ul li:last-child .mdown ul li:hover > .mdown, .menu  ul li:last-child .mdown ul li.show > .mdown {
    left: auto;
	right:356px;
}
.header_image_c
{
	width:100%;
	position: relative;
	z-index:1;
	float:left;
	height:100vh;
    overflow: hidden;
}

.header_image_c .header_image
{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-image ease 1s;
    -webkit-transition: background-image ease 1s;
}

.header_image_c .slider_image
{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.header_image_c .slider_image.current
{
    z-index: 2;
}

.header_image_c .header_image img
{
    min-height: 100%;
    min-width: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
}

.header_image_c .header_image img.invisible
{
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

.compat-object-fit { background-size: cover; background-position: center center;}

.header_image_c .header_image_loader
{
    position: absolute;
    opacity: 0;
    z-index: 0;
}

.header_image_c .dv_slogan
{
    display: none;
}

.tcontent .header_image_c
{
	height: 846px;
}
.tcontent .header_image_c_small
{
	height: 180px;
}
.header_image img
{
 	width:auto;
	height:100vh;
	position: absolute;
}
.header_image img.current
{
	z-index:10;
}
.header_image_dots
{
	position:absolute;
	z-index:20;
	left:0;
	width: 100%;
	box-sizing: border-box;
	bottom: 35px;
	height:15px;
	display:flex;
	justify-content:center;
}
.header_image_dots .dot
{
	width: 15px;
	height: 15px;
	background: rgba(255,255,255,0.7);
	border-radius: 100%;
	margin: 0 3px;
	transition: background 0.5s;
	cursor:pointer;
}
.header_image_dots .dot.current
{
	background: #8CB0AC;
}
@keyframes jackInTheBox {
  from {
    
    transform-origin: center center;
  }

  50% {
    transform: rotate(-10deg);
  }

  70% {
    transform: rotate(3deg);
  }

  to {
   
    transform: scale(1);
  }
}
.blog
{
	position: absolute;
	right:196px;
	top: 177px;
	width:244px;
	height: 244px;
	z-index:10;
}
.tcontent .blog
{
	display:none;
}
.blog img
{
	width:100%;
	height:auto;
}
.blog:hover img
{
	animation:jackInTheBox 1s;
}
.slogan
{
	position: absolute;
	left:70px;
	bottom: 62px;
	width:180px;
	z-index:10;
	font: 400 2.500em/120% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	text-align:center;
	color:#fff;
}
.tcontent .slogan
{
	display:none;
}
.slogan i
{
	font-weight: 300;
	font-style: italic;
}
.slogan strong
{
	font-weight: 700;
}
.sidebar_c
{
	width:510px;
	position: absolute;
	right: -420px;
	top:0;
	z-index:30;
	transition: right 0.7s;
	display: flex;
    flex-wrap: wrap;
    overflow: hidden;
}
.sidebar_c.opened
{
	right:0;
}
.sidebar
{
	width:90px;
	padding-bottom:90px;
	position: relative;
	z-index:10;
	max-height: 847px;
	transition: max-height 0.5s;
}
.sidebar_c.opened .sidebar
{
	max-height:none;
}
.sidebar_end
{
	width:100%;
	height:calc(100% - 90px);
	background: #8CB0AC;
	position: absolute;
	bottom: 90px;
	left:0;
	z-index:1;
}
.sidebar_end:after
{
	width: 0;
	height: 0;
	border-top: 90px solid #78A39E;
	border-left: 90px solid transparent;
	content: '';
	position: absolute;
	bottom:-90px;
	left:0;
}
.sidebar_i
{
	width:420px;
	background: #eee;
	position: relative;
	padding-bottom: 50px;
}
.s_button
{
	height:120px;
	width:100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	border-bottom: 1px solid #fff;
	font: 300 1em/120% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	color:#fff;
	cursor: pointer;
	background: #8CB0AC;
	position: relative;
	z-index:100;
}
.s_button:first-child
{
	background: #669692;
}
.s_button span
{
	float:left;
	padding: 0 13px;
	box-sizing: border-box;
	width:100%;
	text-align: center;
}
.s_button span.hide_on_mobile
{
	padding:0;
	float:none;
}
.s_button img
{
	filter: brightness(100);
}
.s_button:hover,
.s_button.active
{
	color:#333339;
}
.s_button:hover img,
.s_button.active img
{
	filter: none;
}
.sidebar_content
{
	width:100%;
	opacity: 0;
	position: absolute;
	z-index:1;
	transition: all 0.8s;
	box-sizing:border-box;
	padding: 0 42px;
	}
.sidebar_content.visible
{
	z-index:10;
	opacity:1;
	position: relative;
	font-family:'Source Sans Pro', Arial, Helvetica, sans-serif;
	color:#505259;
}
.sidebar_content.visible a
{
	font-family:'Source Sans Pro', Arial, Helvetica, sans-serif;
	color:#679692;
	text-decoration: underline;
}
.sidebar_content.visible a:hover
{
	text-decoration: none;
}
.sidebar_content.visible img {
	width: 30%;
	margin-left: 4px;
}
.sidebar_content.visible img.video/*,
.sidebar_content.visible img.webcam*/{
	width: 100%;
}
.sidebar_content.visible img.social_links {
	width: 14%;
}
.sidebar_content.visible a.button {
	float: left;
    font-size: 1.067em;
    font-weight: 400;
    padding: 14px;
    box-sizing: border-box;
    min-width: 257px;
    color: #333339;
    text-decoration: none;
    background: #ADC7C4;
    transition: background 0.6s;
	text-align: center;
	justify-content: center;
}
.sidebar_content.visible a.button:hover {
	background: #679893;
    color: #fff;
}

.sidebar_content.visible .webcam {
	float: left;
	margin-top: 20px;
	box-sizing: border-box;
	width: 50%;
	padding-right: 10px;
}

.sidebar_content .webcam:nth-child(odd)
{
	padding-right: 0px;
	padding-left: 10px;
}
.sidebar_content .webcam img
{
	width:100%;
	margin:5px 0 5px 0;
	padding:0;
}
.webcam .webcam_text {
	font-size: 12px; 
	float: left; 
	margin-top: 5px; 
}


.sidebar_content.visible .art_element.art_text.no_margin_top {
	margin-top:0;
	padding-top:0;
}

.s_button_close
{
	padding: 30px 46px 55px 0;
	text-align: right;
}
.s_button_close img
{
	width:28px;
	height:28px;
	cursor: pointer;
}
.main
{
	width:100%;
	float:left;
	position: relative;
    z-index: 2;
}

body.tosc5 .main
{
    margin-top: 180px;
}

.hashtag
{
	width:100%;
	float:left;
	position: absolute;
	font: 300 1.125em/140% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	color: #505259;
	box-sizing: border-box;
	padding: 20px 40px;
	left:0;
	top:0;
	z-index:10;
}
.breadcrumb
{
	width:100%;
	float:left;
	position: absolute;
	font: 300 1em/140% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	color: #505259;
	box-sizing: border-box;
	padding: 20px 40px;
	left:0;
	top:0;
	z-index:10;
}
.breadcrumb ol
{
	float:left;
	margin: 0;
	padding: 0;
}
.breadcrumb ol li a
{
	color: #505259;
	text-decoration: underline;
}
.breadcrumb ol li a:hover
{
	color: #669692;
}
.breadcrumb span
{
	float:left;
	padding: 0 5px;
}
.footer
{
	width: 100%;
	float:left;
	position: relative;
	background: url(../img/bgs/footer_bg.png) repeat;
    z-index: 1;
}
.social
{
	float: left;
	width:100%;
	padding:33px 38px 0 38px;
	font: 400 1.125em/140% "Source Sans Pro", Arial, Helvetica, "sans-serif";
	color:#555555;
	text-align: right;
	box-sizing: border-box;
}
.social a
{
	font-size:0.889em;
	color:#fff;
	background: #679692;
	padding: 11px 24px;
	margin-left: 28px;
	text-decoration: none;
	transition: background 0.5s;
}
.social a:hover
{
	background:#4A6C69;
}
.contact
{
	float:left;
	padding: 0 106px;
	font: 300 1.063em/160% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	color:#262626;
	width:100%;
	box-sizing: border-box;
}
.contact h3
{
	color:#555555;
	font: 700 1.588em/120% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	margin:0;
	padding: 0 0 10px 0;
}
.contact .cbox
{
	float:left;
	padding-right: 50px;
}
.contact a
{
	color: #262626;
	text-decoration: none;
	position: relative;
}
.contact a:before
{
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background: #262626;
  visibility: hidden;
  transform: scaleX(0);
  transition: all 0.3s ease-in-out 0s;
}
.contact a:hover:before
{
  visibility: visible;
  transform: scaleX(1);
}
.impressum
{
	float: left;
	width:100%;
	padding:17px 38px;
	font: 400 0.813em/140% "Source Sans Pro", Arial, Helvetica, "sans-serif";
	color:#555555;
	text-align: right;
	box-sizing: border-box;
}
.impressum a
{
	color: #555555;
	text-decoration: none;
	position: relative;
	margin-left:25px;
}
.impressum a:before
{
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background: #555555;
  visibility: hidden;
  transform: scaleX(0);
  transition: all 0.3s ease-in-out 0s;
}
.impressum a:hover:before
{
  visibility: visible;
  transform: scaleX(1);
}
.impressum img.algo
{
	width: 46px;
	height:auto;
	margin-left: 5px;
}
.footerlinks_c
{
	background:#555555;
	position: relative;
	float:left;
	width:100%;
	padding: 30px 38px;
	box-sizing: border-box;
}
.footerlinks
{
	color:#fff;
	font: 400 1.125em/110% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}
.flink
{
	float:left;
	width: 33.33%;
	height: 50px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	border-left: 2px solid #8B8785;
}
.flink:first-child{
	border:none;
}
.flink a
{
	color:#fff;
	text-decoration: none;
	transition: opacity 0.5s;
}
.flink a:hover
{
	opacity:0.5;
}
.flink a span
{
	float: left;
	padding-top: 7px;
}
.flink img.blog_i
{
	width: 35px;
	height: auto;
	margin-left: 14px;
	float:left;
}
.flink img.marker_i
{
	width: 24px;
	height: auto;
	margin-left: 14px;
	float:left;
}
.flink a.slink
{
	width: 34px;
	height: 34px;
	border: 1px solid #fff;
	border-radius: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 2px;
	font-size:0.889em;
	opacity:0.5;
}
.flink a.slink span
{
	padding:0;
}
.flink a.slink:hover
{
	opacity:1;
}
.logos_c
{
	width:100%;
	background: #fff;
	float:left;
	padding: 18px 0 63px 0;
	position: relative;
}
.logos
{
	width:100%;
	max-width: 860px;
	padding: 0 38px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
}
.logos img
{
	padding: 10px 13px;
	filter: saturate(0);
	opacity: 0.8;
	transition: all 0.8s;
}
.logos img:hover
{
	opacity: 1;
	filter: saturate(1);
}
.c_anfrage
{
	width: 100%;
	position:fixed;
	left:0;
	bottom:0;
	z-index:30;
	background:#eee;
	box-shadow: 4px 0px 8px rgba(0,0,0,0.3);
	max-height:0;
	transition: max-height 1s;
}
.c_anfrage .hidden
{
	display:none;
}
.c_anfrage.visible
{
	max-height: 44px;
}
.anfrage
{
	float:right;
	width: 100%;
	max-width: 960px;
}
.anfrage form
{
	display:flex;
	justify-content: flex-end;
    align-items: stretch;
}
.anfrage form .input
{
	position: relative;
	padding: 14px 12px 0 12px;
	border-left: 1px solid #E7E2E1;
}
.anfrage form .input label
{
	font: 400 0.875em/110% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	color: #505259;
	float:left;
}
.anfrage form .input input
{
	background: none;
	border: none;
	color: #505259;
	width:120px;
	font: 400 0.875em/110% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	position: relative;
    z-index: 1;
}
.anfrage form .input.dv_input_ctl
{
	width:145px;
}
.anfrage form .input.dv_input_ctl input
{
	    float: right;
    width: 20px;
    margin-right: 27px;
}
a.af_link
{
	box-sizing: border-box;
	font: 400 1em/110% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.8s;
	color: #fff;
	padding: 12px 33px;
	letter-spacing:1px;
	background:#679692;
}
a.af_link:hover
{
	background:#4A6C69;
}
.anfrage .title
{
	font: 400 1.125em/110% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	padding: 12px 25px 0 50px;
	color: #78A39E;
	position:relative;
	float:left;
}
.ctl_c
{
	position: absolute;
	right: 19px;
	top: 13px;
	z-index:100;
	color:#50535A;
	cursor: pointer;
}
.cal
{
	width:16px;
	height:auto;
	right:19px;
	top:15px;
	position: absolute;
}
.wetter_s
{
	font: 300 0.938em/140% "Source Sans Pro", Arial, Helvetica, "sans-serif";
	color: #505259;
}
.sidebar_i h3
{
	margin:0;
	padding:0;
	text-transform: uppercase;
}
.wetter_s .wetter_day
{
	float:left;
	width: 50%;
	margin-top:40px;
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
	box-sizing: border-box;
	padding-right: 10px;
}
.wetter_s .wetter_stitle
{
	font: 500 1.133em/120% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	margin-top: 23px;
}
.wetter_s .wetter_spacer
{
	font-weight:400;
	margin-top:10px;
}
.wetter_s .wetter_day img
{
	margin-bottom: 26px;
	filter: brightness(0);
	width: 82px;
	height: 82px;
}
.wetter_s .wetter_date,
.wetter_s .wetter_title
{
	font-weight: 700;
	font-size:1.067em;
}
.wetter_s table.wetter_day_data
{
	padding: 0;
	border-spacing: 0;
	font-size: 1.067em;
	font-weight: 400;
	width:100%;
}
.wetter_s .wetter_link_c
{
	width:100%;
	float:left;
	text-align: center;
	margin-top:40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.wetter_s .wetter_link_c a.wetter_link
{
	float:left;
	font-size: 1.067em;
	font-weight: 400;
	padding: 14px;
	box-sizing: border-box;
	min-width: 257px;
	color:#333339;
	text-decoration: none;
	background: #ADC7C4;
	transition: background 0.6s;
}
.wetter_s .wetter_link_c a.wetter_link:hover
{
	background: #679893;
	color:#fff;
}
.newsletter_c
{
	float:left;
	width:100%;
	position: relative;
	background: #C9DAD8;
	padding: 62px 0 52px 0;
	box-sizing: border-box;
}
.newsletter .art_element_c
{
	max-width: 1000px;
}
.newsletter iframe.newsletter_form
{
	float:left; 
	width: 100%;
	border:none;
	height: 560px;
}
iframe.contact_form
{
	float:left; 
	width: 100%;
	border:none;
	height: 1000px;
}
.menu_layer {
    width: 320px;
    position: absolute;
    top: 64px;
    right: 90px;
    z-index: 40;
    height: auto;
    pointer-events: auto;
    transform-style: preserve-3d;
    transition: all 0.3s ease 0s;
    opacity: 1;
    transform: translateY(0px);
    display: none;
    box-shadow: 3px 3px 4px rgba(0,0,0,0.12);
}
.menu_layer.closed
{
    pointer-events: none;
    opacity: 0;
	transform: translateY(10px);
    backface-visibility: hidden;
}
.menu_btn
{
	display:none;
	position:relative;
	text-align:right;
	float:left;
	padding: 20px 18px 12px 18px;
	box-sizing: border-box;
	font: 400 1em/120% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	justify-content: center;
    align-items: center;
	color: #669692;
	text-transform: uppercase;
	background: #F8F8F8;
	box-shadow: 3px 3px 4px rgba(0,0,0,0.12);
	
	transition: all 0.5s;
}
.menu_btn.closed
{
	background: none;
	box-shadow: none;
}
.menu_btn .mmbico
{
    width: 32px;
	height: 32px;
    float: left;
    padding-top: 0px;
    position: relative;
    z-index: 1;
	box-sizing: border-box;
}
.menu_btn.closed .mmbico
{
	padding-top:5px;
}
.menu_btn.closed .mmbico > *
{
	 background-color: #669692;
}
.menu_btn .mmbico > *
{
	width: 25px;
	height: 3px;
	float: left;
	opacity: 1;
	transition-duration: 500ms;
	backface-visibility: hidden;
    background-color: #669692;
}
.menu_btn span.menu_text
{
	float:left;
	padding-top:5px;
}
.menu_btn .one
{
    margin: 0 0 0 3px;
	transform: rotate(45deg) translate(8px, 10px);
}
.menu_btn .two { opacity: 0; }
.menu_btn .three {
	margin: 0 0 0 3px;
	transform: rotate(-45deg) translate(-6px, 3px);
}
.menu_btn.closed .mmbico > * { height: 2px; margin: 0; }
.menu_btn.closed .mmbico > div
{
	margin: 3px 0 0 0;
    transform: rotate(0deg) translate(0,0); 
    opacity: 1;
}
.menusl
{
	width: 100%;
	float: left;
	position: relative;
	z-index: 1;
	overflow: hidden;
	padding-bottom: 0;
}
.menusl .menuslbox
{
	width: 100%;
	position: absolute;
	top: 0px;
	left: -100%;
	z-index: 2;
	background:#C6D7D6;
	box-shadow: inset 0 5px 5px -3px rgba(0,0,0,0.2);
}
.menusl .menuslbox.sublevel
{
	background: #EEEEEE;
}
.menusl .menuslbox.current
{
	left: 0%;
}
.menusl .menuslbox ul
{
	list-style:none;
	float:left;
	width:100%;
	box-sizing:border-box;
	padding: 40px 0;
	margin: 0;
}
.menusl .menuslbox ul li
{
	width: 100%;
	float:left;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    position: relative;
}
.menusl .menuslbox ul li a
{
	width:100%;
	float:left;
	box-sizing:border-box;
	padding: 14px 36px 14px 58px;
	text-transform: none;
	position: relative;
	color: #444;
	font: 400 1em/100% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	text-decoration: none;
}
.menusl .menuslbox ul li a:before
{
	width:6px;
	height: 6px;
	left:30px;
	position: absolute;
	font-size:0.8em;
	top: 19px;
	background:#444444;
	content: '';
}
.menusl .menuslbox ul li.current_link,
.menusl .menuslbox ul li.current_path,
.menusl .menuslbox ul li.current_link a,
.menusl .menuslbox ul li.current_path a,
.menusl .menuslbox ul li a:focus
{
	color: #4E726F;
    background: #B9CECE;
}
.menusl .menuslbox ul li.current_link a:before,
.menusl .menuslbox ul li.current_path a:before,
.menusl .menuslbox ul li a:focus:before
{
	background:#4E726F;
}
.menusl .menuslbox ul.submenu li.current_link,
.menusl .menuslbox ul.submenu li.current_path,
.menusl .menuslbox ul.submenu li.current_link a,
.menusl .menuslbox ul.submenu li.current_path a,
.menusl .menuslbox ul.submenu li a:focus
{
	color: #679692;
    background: #E9E9E9;
}
.menusl .menuslbox ul.submenu li.current_link a:before,
.menusl .menuslbox ul.submenu li.current_path a:before,
.menusl .menuslbox ul.submenu li a:focus:before
{
	background:#679692;
}
.menusl .menuslbox ul li.back_link a:before
{
	content: '\f104';
	font-family:FontAwesome;
	font-size:1.2em;
	top:15px;
	background: none;
}
.menusl .menuslbox ul li.back_link a:focus:before
{
	background: none;
}
.menusl .menuslbox ul li.sub_links > a:after
{
	content:'\f105';
	font-family:FontAwesome;
	float:right;
	font-size:1.2em;
}
.menusl .menuslbox ul li a:hover,
.menusl .menuslbox ul li a:focus
{
	background:#B9CECE;
	color:#4E726F;
}
.menusl .menuslbox.sublevel ul li a:hover,
.menusl .menuslbox.sublevel ul li a:focus
{
	background:#E9E9E9;
	color:#679692;
}


/*Booking Form*/
.booking_form_c
{
	width: 100%;
	box-sizing: border-box;
	padding-left: 15px;
	padding-right: 58px;
}

.booking_form_c .line
{
	width: 100%;
	float: left;
	font: 300 1.125rem/139% Source Sans Pro, Arial, sans-serif;
	color: #505259;
}

.booking_form_c .title
{
	font: 400 1.688em/120% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	color: #333339;
	text-transform: uppercase;
	width: 100%;
	float: left;
    margin-top: 20px;
	padding-bottom: 10px;
}

.booking_form_c .input
{
	width: 100%;
	box-sizing: border-box;
	float: left;
	background-color: #FFF;
	position: relative;
	padding: 0 35px 0 14px;
	margin-top: 11px;
}

.booking_form_c .input input
{
	width: 100%;
	box-sizing: border-box;
	padding: 10px;
	border: none;
	font: 400 1rem/170% Source Sans Pro, Arial, sans-serif;
	color: #505259;
	text-transform: uppercase;
}

.booking_form_c .input .img_cal
{
	position: absolute;
	top: 13px;
	right: 19px;
	width: 16px;
	height: 16px;
}

.booking_form_c h3
{
	font: 400 1.688em/120% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	color: #333339;
	margin-top: 30px;
	margin-bottom: 30px;
    text-transform: none;
}

.booking_form_c .select_c
{
	width: 100%;
	box-sizing: border-box;
	float: left;
	margin-top: 10px;
	position: relative;
}


.booking_form_c select
{
	width: 100%;
	box-sizing: border-box;
	float: left;
	background-color: #FFF;
	position: relative;
	padding: 10px 45px 10px 19px;
	border: none;
	font: 400 1rem/170% Source Sans Pro, Arial, sans-serif;
	color: #505259;
	text-transform: uppercase;
	position: relative;
	z-index: 1;
}

.booking_form_c select::-ms-expand
{
	display: none;
}

.booking_form_c .select_icon
{
	content: " ";
	position: absolute;
	top: 0;
	right: 0;
	width: 45px;
	height: 100%;
	background-color: #FFF;
	z-index: 2;
	cursor: pointer;
}

.booking_form_c .select_icon span
{
	font-size: 1.5rem;
	color: #000;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
}

.booking_form_c .af_link
{
	width: 100%;
	float: left;
	display: block;
	font: 400 1rem/170% Source Sans Pro, Arial, sans-serif;
	color: #333339 !important;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
	padding: 10px;
	margin-top: 30px;
	background-color: #ADC7C4;
	transition: background-color ease 0.7s;
	-webkit-transition: background-color ease 0.7s;
    text-decoration: none !important;
}

.booking_form_c .af_link:hover,
.booking_form_c .af_link:focus
{
	background-color: #679893;
}

.booking_form_c .af_link.af_buchen
{
	margin-top: 8px;
	background-color: #008493;
	color: #FFF !important;
}

.booking_form_c .af_link.af_buchen:hover,
.booking_form_c .af_link.af_buchen:focus
{
	background-color: #14576F;
}

@media (max-width: 1500px) 
{
	.logo
	{
		left: 24px;
		width:210px;
	}
	
}
@media (max-width: 1200px) 
{
	.menu
	{
		display:none;
	}
	.menu_btn,
	.menu_layer
	{
		display: block;
	}
	.navi
	{
		justify-content: flex-end;
		padding: 0 90px;
	}
	.thide
	{
		display: none;
	}
	.toplinks .link span.fa
	{
		margin-right:0;
	}
	.toplinks .link span.hide_on_mobile
	{
		margin-left:6px;
	}
	.headtop,
	.headtop.nav-up,
	.headtop.nav-down
	{
		position: relative;
		margin-top: 0;
	}
	.blog
	{
		top:70px;
	}
	.anfrage .title
	{
		display: none;
	}

    body.tosc5 .main
    {
        margin-top: 30px;
    }

}

@media only screen and (max-width: 1024px)
{
	.page_c
	{
		min-width: 320px;
	}
	.search
	{
		padding: 0 20px;
	}
	.search a
	{
		color: #fff;
	}
	#open_search
	{
		display:block;
		float:left;
	}
	#open_search img
	{
		width:18px;
		float:left;
		height:19px;
	}
	.search:before
	{
		display:none;
	}
	.search .search_i
	{
		display:none;
		position:absolute;
		left:0;
		background:#fff;
		top: 43px;
	}
	.search.opened .search_i
	{
		display:block;
	}
	.search form input,
	.search form input:focus
	{
		width:150px;
		background: #eee;
		padding: 5px 10px;
		box-shadow: 3px 3px 2px rgba(0,0,0,0.1);
	}
	.tstart .header_image img 
	{
		/*width: auto !important;
		height: 100% !important;
		top: 0 !important;
		left: 0 !important;
		float: left;*/
	}
	.header_image_c,
	.header_image
	{
		height: 450px;
	}

    .tcontent .header_image_c
    {
        height: auto;
    }

	.tcontent .header_image_c .header_image
	{
		height:auto;
        padding-bottom: 42%;
	}
	.tcontent .header_image img
	{
		width: 100% !important;
		height: auto !important;
		top: 0 !important;
		left: 0 !important;
		float: left;
		position: relative !important;
	}
	.contact
	{
		padding:0 38px;
	}
	.c_anfrage,
	.c_anfrage.visible
	{
		position: relative;
		max-height: none;
		padding-right:90px;
		box-sizing:border-box;
		float:left;
		z-index:1;
	}
	.anfrage
	{
		max-width: 600px;
		float: none;
		margin: 0 auto;
	}
	.anfrage .title
	{
		display: none;
	}
	.anfrage form
	{
		flex-wrap: wrap;
		padding: 20px 0;
	}
	.anfrage form .input,
	.anfrage form .input.dv_input_ctl
	{
		width: 50%;
    	box-sizing: border-box;
		border-left:none;
		padding:14px 17px 7px 17px;
		position: relative;
	}
	.anfrage form .input:after
	{
		position: absolute;
		bottom: 0;
		left: 17px;
		width: calc(100% - 34px);
		height: 1px;
		content:'';
		background: #E7E2E1;
	}
	a.af_link
	{
		margin: 30px auto 0 auto;
	}
	.logos_c
	{
		padding: 18px 0 23px 0;
	}
	.breadcrumb,
	.hashtag
	{
		padding: 20px 24px;
	}
}
@media only screen and (max-width: 780px)
{
	
	.toplinks_c
	{
		padding: 0 58px 0 0;
	}
	.sidebar_c
	{
		width: 320px;
		right: -262px;
	}
	.sidebar
	{
		width: 58px;
		padding-bottom: 58px;
		    max-height: 427px;
	}
	.s_button
	{
		height: 60px;
	}
	.s_button img
	{
		transform: scale(0.75);
	}
	.s_button span
	{
		padding: 0 3px;
	}
	.sidebar_i
	{
		width: 262px;
	}
	.sidebar_i h3 {
		font: 400 1.125em/120% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif";
	}
	.sidebar_end
	{
		height: calc(100% - 58px);
		bottom: 58px;
	}
	.sidebar_end:after
	{
		border-top: 58px solid #78A39E;
    	border-left: 58px solid transparent;
		bottom: -58px;
	}
	.sidebar_content
	{
		padding: 0 20px;
	}
	.navi
	{
		padding: 0 58px;
	}
	.menu_layer
	{
		right: 58px;
		width: 262px;
	}
	.search.link,
	.toplinks .link
	{
		padding:12px 16px;
	}
	.wetter_s .wetter_day
	{
		width: 100%;
		padding-right: 0;
	}
	.blog
	{
		width: 186px;
    	height: 186px;
		right: 94px;
    	top: 33px;
	}
	.slogan
	{
		font-size:2em;
		left: 12px;
    	bottom: 25px;
	}
	.social
	{
		padding: 33px 38px;
	}
	.impressum
	{
		padding: 33px 38px 17px 28px;
	}
	.flink
	{
		width:50%;
	}
	.flink:last-child
	{
		width:100%;
		border:none;
		padding-top: 15px;
	}
	.c_anfrage, .c_anfrage.visible
	{
		padding-right: 0;
	}
	.blog
	{
		width: 57px;
		height: 57px;
		right: 75px;
    	top: 16px;
	}
	.blog img.hide_on_mobile
	{
		display: none;
	}
	.blog img.hide_on_tablet_desktop
	{
		display: block;
	}
	.slogan
	{
		width: 124px;
		font-size: 1.5em;
	}
	.s_button span.hide_on_mobile
	{
		display:none;
	}
	.logo
	{
		top:31px;
		width: 160px;
	}
	.newsletter iframe.newsletter_form
	{
		height: 650px;
	}
	iframe.contact_form
	{
	height: 1300px;
	}
}
@media only screen and (max-width: 698px)
{
	.newsletter iframe.newsletter_form
	{
		height: 1000px;
	}
}
@media only screen and (max-width: 650px)
{
	.logo
	{
		height: 92px;
		top: 47px;
		width: 139px;
		left: 5px;
	}
	.langbutton span.arrow
	{
		padding-right: 13px;
	}
	.menu_btn
	{
		padding: 20px 15px 12px 15px;
	}
	.impressum a
	{
		margin-right: 16px;
		margin-left:0;
	}
	.social,
	.impressum,
	.contact
	{
		padding-left: 30px;
		padding-right: 30px;
	}
	
	.flink,
	.flink:last-child
	{
		width: 100%;
		height: auto;
		border:none;
		padding: 20px;
	}
	.logos
	{
		padding:0 15px;
	}
	.art_element.newsletter .art_inner
	{
		padding: 10px 0;
	}
	.toplinks span.hide_on_mobile
	{
		display:none;
	}
	.hashtag
	{
		position: relative;
		padding: 10px 15px;
	}
	.breadcrumb
	{
		position: relative;
		padding: 15px 15px 0 15px;
    	margin-bottom: -31px;
	}
	.wetter_s .wetter_desc
	{
		display:none;
	}
}

@media only screen and (max-width: 500px)
{
	.tcontent .header_image_c, .tcontent .header_image
	{
		height: auto;
	}
	.tcontent .header_image img 
	{
		width: 100% !important;
		height: auto !important;
		top: 0 !important;
		left: 0 !important;
		position: relative !important;
		float: left;
	}
	.anfrage form
	{
		padding:20px 0 0 0;
	}
	a.af_link 
	{
		margin: 20px 0 0 0;
		float: left;
		width: 100%;
		text-align: center;
	}
	.sidebar_content.visible .art_element.art_text.no_margin_top .art_inner {
		padding: 10px 0;
	}
	
}
@media only screen and (max-width: 400px)
{
	.anfrage form .input label
	{
		font-size: 0.75em;
		position: absolute;
		top: -2px;
	}
	.anfrage form 
	{
		padding: 35px 0 0 0;
	}
	.newsletter iframe.newsletter_form
	{
		height: 1300px;
	}
		iframe.contact_form
	{
	height: 1500px;
	}
	.contact .cbox
	{
		padding-right: 0;
	}
}
#cks_overlay {
    width: 200px;
    left: 10px;
    bottom: 53px !important;
    background: #fff;
	/*position: absolute;*/
	float: left;
}

.cks_inner
{
	color: #5F5F5F !important; 
	font: 300 0.875em/120% Ubuntu, "Trebuchet MS", "Lucida Sans", "sans-serif" !important;
}
.cks_inner p 
{
	width:170px !important;
}
.cks_inner p a 
{
	color: #5F5F5F !important; 
}
.cks_btn 
{
	position: relative !important;
	float: left;
	margin-top: 7px !important;	
	background-color: #669692 !important; 
	font-size: 14px !important; 
	height: 27px !important; 
	line-height: 26px !important; 
	border-radius: 0 !important;
}

/* CSS conflicts */          
#urlaubsplaner .search:before
{
    content: none;
}