#preloader{
	width: 100vw;
    height: 100vh;
    text-align: center;
    background-color: rgba(255,255,255,1);
    position: fixed;
    top: 0;
    left: 0;
    padding-top: 50vh;
    z-index: 10;

    transition: opacity 0.7s;
    -webkit-transition: opacity 0.7s;
    -moz-transition: opacity 0.7s;
}
.url-textfield { display: none !important; }
#preloader img{
	margin-top: -16px;
}
html,body{
	width: 100%;
	height: auto;
}
html{
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x:hidden;
}
body{
	font-family: "adobe-caslon-pro",serif;
}
h1,h2,h3,h4{
	margin-top: 0;
	font-family: "adobe-caslon-pro",serif;
}
h2{
	font-size: 30px;
	line-height: 44px;
	font-weight: normal;
	letter-spacing: 1.4px;
	color: #49c0a0;
	margin-bottom: 45px;
	position: relative;
}
p, p:last-child{
	font-size: 15px;
	letter-spacing: 0.5px;
	color: #959595;
	line-height: 24px;
	margin-bottom: 30px;
}
a, a:hover, a:focus, a:active{
	text-decoration: none;
	color: inherit;
	outline: 0;
}
#content a, #content a:hover, #content a:focus{
	color: #49c0a0;
}
#navigation .nav>li>a, #subnavigation .nav>li>a{
	padding: 0;
}
.col-md-4, .col-md-6{
	padding: 0;
}
.limited{
	max-width: 1070px;
	margin: 0 auto;
}
.proxima{
	font-family: "proxima-nova",sans-serif;
	letter-spacing: 1.4px;
}
.logged-in #navigation{
	top: 29px;
}
.eyedea{
	display: block;
    font-size: 10px;
    margin-top: 30px;
    color: #7d7d7d;
    text-transform: uppercase;
}
.caption {
	color: #fff;
    position: absolute;
    bottom: 10px;
    right: 20px;
    font-size: 12px;
    letter-spacing: 0.4px;
    text-shadow: 0 0 10px rgba(0,0,0,0.5);
	text-align: right;
	padding-left: 20px;
}
#navigation{
	position: fixed;
	top: 0;
	left: 0;
	height: 99px;
	width: 100%;
	background: #ffffff;
	box-shadow: 0 0 5px #eeeeee;
	z-index: 100;
}
#subnavigation{
	height: 111px;
	position: relative;
}
#subnavigation.timeline{
	background: url(img/timeline.png) bottom repeat-x;
}
#subnavigation.timeline .limiter:before,#subnavigation.timeline .limiter:after{
	position: absolute;
	content: '';
	width: 400px;
	width: calc(50vw - 535px);
	bottom: -5px;
	height: 111px;
	z-index: 20;
	display: block;
}
#subnavigation.timeline .limiter:before{
	right: 100%;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&amp;1+0,0+100;White+to+Transparent */
	background: #fff;
	background: -moz-linear-gradient(left,  rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(left,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(left,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(left,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* IE10+ */
	background: linear-gradient(to right,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=1 ); /* IE6-9 */

}

#subnavigation.timeline .limiter:after{
	left: 100%;
	background: #fff;
	background: -moz-linear-gradient(left,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* IE10+ */
	background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */

}

#subnavigation.timeline .owl-carousel .owl-stage-outer {
    overflow: visible;
    max-width: 770px;
}
#subnavigation.timeline .owl-carousel .owl-item{
	display: table;
}
#subnavigation.timeline ul li{
	height: 106px;
}
#subnavigation .limiter{
	max-width: 1070px;
    margin: 0 auto;
    border-bottom: 1px solid #ebebeb;
    height: 106px;
    position: relative;
}
#navigation .limited, #subnavigation .limited{
	max-width: 770px;
	padding: 0;
}
#navigation ul, #subnavigation ul{
	display: table;
	width: 100%;
	height: 100%;
	table-layout: fixed;
}
#navigation ul li, #subnavigation ul li{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 50%;
	width: auto\9;
	float: none;
}
#navigation ul li{
	width: 20%;
}
#navigation ul li:last-child, #xsubnavigation ul li:last-child{
	text-align: right;
}
#navigation ul li:first-child, #xsubnavigation ul li:first-child{
	text-align: left;
}
#navigation ul li a, #subnavigation ul li a{
	font-size: 10px;
	font-weight: bold;
	color: #1a1a1a;
	text-transform: uppercase;
	position: relative;
    display: inline-block;

	transition: color 0.3s;
	-webkit-transition: color 0.3s;
	-moz-transition: color 0.3s;
}
#navigation ul li a:hover, #navigation ul li a:focus, #subnavigation ul li a:hover, #subnavigation ul li a:focus{
	text-decoration: none;
	background: none;
}
#navigation ul li.active a, #navigation ul li:hover a{
	color: #49c0a0;
}
#navigation .logo{
	text-indent: -999999px;
	background: url(img/tomaselli-logo.png) no-repeat center center;
}
#navigation .mobile-nav{
	display: none;
}
#navigation .logo a {
    width: 100%;
    height: 100%;
    position: relative;
    display: block;
}

#language_switch {
    text-transform: uppercase;
    position: fixed;
    top: 45px;
    z-index: 100;
    right: 20px;
    right: calc(50% - 780px);
    font-size: 10px;
    font-weight: bold;
}
#language_switch a{
	color: #7a7a7a;

	transition: color 0.5s;
	-moz-transition: color 0.5s;
	-webkit-transition: color 0.5s;
	float: left;
    padding: 0 4px;
    border-right: 1px solid #000;
}
#language_switch a:last-child{
	border: none;
}
#language_switch a:hover, #language_switch a:focus{
	color: #000;
}
#language_switch a:hover{
	color: #000;
}
#language_switch a.active{
	color: #000;
}
#subnavigation ul li a:before {
    content: '';
    display: block;
    width: 1px;
    position: absolute;
    bottom: 26px;
    left: 50%;
    border-top: 0px solid #49c0a0;

    transition: border 0.5s;
	-webkit-transition: border 0.5s;
	-moz-transition: border 0.5s;
}
#subnavigation ul li.active a:before, #subnavigation ul li:hover a:before{
	border-top: 78px solid #49c0a0;
}
#subnavigation .owl-carousel.owl-loaded {
    display: block;
}
#banner, #content, #footer{
	position: relative;
	top: 99px;
}
#banner > .limited{
	width: 100%;
	max-width: 1600px;
	background-position: center center;
	background-size: auto 100%;
	height: 745px;
	position: relative;
}
#banner .limited img{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	-moz-transform: translateY(-50%) translateX(-50%);
	-ms-transform: translateY(-50%) translateX(-50%);
	z-index: 3;
}
.nocsstransition3d #banner .limited img{
/*	display: none;*/
}
#banner .frame{
	width: 600px;
	height: 300px;
	border: 10px solid #49c0a0;
	position: absolute;
	left: 50%;
	margin-left: -300px;
	top: 220px;
	z-index: 2;
}
#banner h1{
	font-weight: normal;
    font-style: italic;
    font-size: 60px;
    color: #fff;
    text-align: center;
    position: relative;
    top: 340px;
    z-index: 3;
}
#banner p{
	position: relative;
	font-weight: bold;
	color: #49c0a0;
	text-transform: uppercase;
	font-size: 10px;
	text-align: center;
	top: 340px;
	z-index: 4;
}
#banner,
#content .limited > section,
.region-content > section {
	margin-bottom: 100px;
}
.intro-text{
	position: relative;
}
.intro-text h2{
	position: absolute;
	top: 0;
	max-width: 400px;
}
.intro-text p{
	padding-left: 450px;
	line-height: 28px;
	margin-bottom: 10px;
}
.gallery{
	position: relative;
	height: 450px;
	width: 100%;
}
.gallery a{
	position: absolute;
}
.gallery .img-small{
	left: 90px;
	top: 36px;
	width: 236px;
	height: 196px;
}
.gallery .img-medium{
	bottom: 0;
	left: 0;
	width: 326px;
	height: 200px;
}
.gallery .img-big{
	top: 0;
	right: 0;
	width: 726px;
	height: 450px;
}
.gallery .img-big:before{
	content: '';
	position: absolute;
	top: -18px;
	right: -18px;
	height: 300px;
	width: 100%;
	background: #1a1a1a;
	display: block;
}
.gallery.mirrored .img-small{
	left: initial;
    right: 90px;
}
.gallery.mirrored .img-medium {
    right: 0;
    left: initial;
}
.gallery.mirrored .img-big {
    left: 0;
    right: initial;
}
.gallery.mirrored .img-big:before{
	left: -18px;
	right: initial;
}
.gallery img{
	position: relative;
	width: 100%;
	height: 100%;
}
.menu-block .menu-text{
	padding-right: 15px;
}
.menu-block .menu-items{
	padding-left: 89px;
}
.menu-item h3{
	font-size: 15px;
	color: #49c0a0;
	font-weight: normal;
	margin-bottom: 0;
	position: relative;
}
.menu-item h3:before {
    content: '';
    width: 18px;
    left: -31px;
    border-top: 1px solid;
    position: absolute;
    display: block;
    top: 4px;
}
.menu-item p{
	font-style: italic;
}
.quote-text, .history-text{
	padding-right: 15px;
}
.quote{
	padding-left: 89px;
}
.quote cite{
	font-size: 30px;
	font-style: italic;
	font-weight: normal;
	color: #959595;
	display: inline;
	background: url(img/cite_bg.png);
	line-height: 45px;
	padding-top: 3px;
}
.quote p{
	text-transform: uppercase;
	font-size: 10px;
	color: #49c0a0;
	margin-top: 24px;
}
.history-block .year{
	color: #959595;
	position: absolute;
	left: -90px;
}
.teaser{
	position: relative;
	cursor: pointer;
}
.teaser a{
	display: block;
	width: 100%;
	height: 100%;
	/*overflow: hidden;*/
    position: relative;
}
.teaser a:hover:after {
    background-color: rgba(0,0,0,0);
}
.teaser a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 357px;
    height: 275px;
    background-color: rgba(0,0,0,0.2);
    content: '';
    
    transition: background 0.3s;
    -moz-transition: background 0.3s;
    -webkit-transition: background 0.3s;

}
.teaser span{
	display: block;
	width: 100%;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 60px;
	color: #3a3a3a;
	font-size: 10px;
}
.teaser span:after {
  content: '';
  position: absolute;
  left: 50%;
  width: 1px;
  display: block;
  border-top: 50px solid #959595;
  border-bottom: 0px solid #fff;
  top: 22px;

  transition: border 0.5s;
  -webkit-transition: border 0.5s;
  -moz-transition: border 0.5s;
}
.teaser a:hover span:after {
  border-bottom: 110px solid #ffffff;
}
.teaser img{
	height: 275px;
	/*width: 100%;*/
	width: auto;
	display: block;
	margin: 0 auto;
}
.form label{
	float: left;
	font-size: 15px;
	color: #959595;
	font-weight: normal;
	line-height: 50px;
	margin-left: 40px;
}
.form label:after{
	content: ':';
}
.form p{
	margin-left: 40px;
    margin-bottom: 0px;
    margin-top: 7px;
    height: 50px;
}
.form .form-control, .form .form-email, .form .webform-submit{
	float: right;
	height: 50px;
	line-height: 50px;
	margin-bottom: 20px;
	border-radius: 0;
	width: 445px;
	padding: 6px 12px 0px;
	border: 1px solid #ccc;
}
.form .webform-submit{
	background: #49c0a0;
	color: #fff;
	text-transform: uppercase;
	padding: 0;
	font-family: "proxima-nova",sans-serif;
	font-weight: bold;
	font-size: 10px;
	border: 0;
}
.form .form-control:focus, .form .form-email:focus, .form .webform-submit:focus{
	border-color: #49c0a0;
	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(73, 192, 160,.6);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(73, 192, 160,.6);
    outline: none;
    border: 1px solid #49c0a0;
}
.form textarea.form-control{
	height: 150px;
	line-height: 24px;
	padding: 20px;
	padding: 13px 12px;
}
.form-item:after{
	clear: both;
	display: table;
	content: '';
}
#footer .contact-information{
	background: #efefef;
	padding-top: 98px;
	height: 300px;
}
#footer .contact-block{
	text-align: center;
}
#footer .contact-block h2{
	font-size: 10px;
	text-transform: uppercase;
	margin-bottom: 10px;
}
#footer .contact-block p{
	color: #7d7d7d
}
#footer .logo{
	display: block;
	width: 100%;
	background:#e8e8e8;
	height: 220px;
	border-top: 1px solid #ededed;
	text-align: center;
	padding-top: 80px;
}
.gallery img.mobile{
	display: none;
}
#swipebox-overlay{
	background: #fff;
	background-color: rgba(255,255,255,0.8);
}
#swipebox-bottom-bar {
    bottom: 0;
    background: #fff;
}
#swipebox-bottom-bar.visible-bars{
	transform: none;
	-webkit-transform: none;
	-moz-transform: none;
	-ms-transform: none;
}
.owl-prev, .owl-next{
	position: absolute;
    top: 44px;
    

}
.owl-prev:before, .owl-next:before{
	color: #49c0a0;
	font-family: 'Glyphicons Halflings';
}
.owl-prev:before{
	content: "\e079";
}
.owl-next:before{
	content: "\e080";
}
.owl-prev{
	left: 0;
}
.owl-next{
	right: 0;
}
.captcha{
	float: right;
    width: 445px;
    margin-bottom: 20px;
}
.g-recaptcha.invalid > div {
    border: 1px solid #dd2828;
}
@media screen and (max-width: 1600px){
	#language_switch{
		right: 20px;
	}
}
@media screen and (max-width: 1320px){
	h2{
		font-size: 24px;
    	line-height: 36px;
	}
	.limited{
		max-width: 726px;
	}
	.gallery{
		height: auto;
		width: 726px;
		margin: 0 auto;
	}
	.gallery a{
		position: relative;
		display: block;
	}
	.gallery .img-small, .gallery.mirrored .img-small{
		top: 4px;
		left: 146px;
		right: initial;
		float: left;
		margin-bottom: 18px;
	}
	.gallery .img-medium{
		float: right;
		margin-bottom: 18px;
	}
	.gallery .img-big{
		float: left;
	}
	.gallery .img-big:before{
		top: initial;
		right: initial;
		bottom: -18px;
		left: -18px;
	}
	.intro-text h2{
		max-width: 300px;
	}
	.intro-text p{
		padding-left: 310px;
	}
	.quote{
		padding-left: 55px;
	}

}
@media screen and (min-width: 993px) and (max-width: 1320px){
	.teaser{
		width: 356px;
    	float: none;
	}
	.teaser span{
		position: absolute;
	    left: 365px;
	    width: 100%;
	    display: block;
	    top: 50%;
	    text-align: left;
	    padding-left: 90px;
	}
	.teaser span:after{
		top: 4px;
		left: initial;
		right: 100%;
	    border-top: 0;
	    border-bottom: 0;
	    border-left: 0px solid #fff;
	    border-right: 50px solid #959595;
	    height: 1px;
	    margin-right: -41px;
	}
	.teaser a:hover span:after{
		border-bottom-width: 0;
		border-left-width: 110px;
	}
}
@media screen and (max-width: 992px){
	.form label, .form p{
		margin-left: 0;
	}
	.owl-stage {
	    transform: none!important;
	    width: 100%!important;
	}
	.owl-carousel .owl-item {
		position: initial;
	}
	#navigation{
		height: 64px;
	}
	#language_switch{
		top: 26px;
	}
	#navigation .mobile-nav{
		display: block;
		position: absolute;
		width: 100%;
		height: 64px;
		background: #fff;
		z-index: 20;
	}
	#banner{
		top: 64px;
	}
	#navigation ul{
		transform: translateY(-300px);
		-webkit-transform: translateY(-300px);
		-moz-transform: translateY(-300px);
		-ms-transform: translateY(-300px);


		/*transform: translateY(-100vh);
		-webkit-transform: translateY(-100vh);
		-moz-transform: translateY(-100vh);
		-ms-transform: translateY(-100vh);*/

		transition: all 0.8s;
		-webkit-transition: all 0.8s;
		-moz-transition: all 0.8s;
	}
	.open #navigation ul{
		transform: translateY(0);
		-webkit-transform: translateY(0);
		-moz-transform: translateY(0);
		-ms-transform: translateY(0);
	}
	#navigation ul{
		top: 64px;
    	position: relative;
    	border-bottom: 1px solid #e5e5e5;
	}
	#navigation .limited{
		max-width: 100%;
		display: block;
	}
	#navigation ul li{
		display: block;
	    height: 60px;
	    line-height: 60px;
	    text-align: center!important;
	    background-color: #fff;
	    border-top: 1px solid #e5e5e5;
	    width: 100%;
	}
	#navigation ul li a{
		color: #a3a3a3;
	}
	#navigation ul .logo{
		display: none;
	}
	#logo{
		margin: 20px;
		display: inline-block;
	}
	.toggle-mobile-nav{
	    float: right;
	    line-height: 64px;
	    padding: 0 20px;
	    font-size: 10px;
	    font-weight: bold;
	    display: inline-block;
	    height: 64px;
	    width: 100px;
	    text-align: center;
	    position: absolute;
	    left: 50%;
	    float: none;
	    margin-left: -50px;
	}
	.toggle-mobile-nav:after{
		content: 'navigation';
		text-transform: uppercase;
	}
	.open .toggle-mobile-nav:after{
		content: 'close';
	}
	#banner, #content, #footer{
		transition: opacity 0.4s;
		-webkit-transition: opacity 0.4s;
		-moz-transition: opacity 0.4s;
	}
	.open #banner, .open #content, .open #footer{
		opacity: 0.5;
	}
	#banner .frame{
		display: none;
	}
	#banner img{
		display: none;
	}
	.limited{
		padding: 0 20px;
	}
	#footer .contact-information{
		height: auto;
		padding-top: 30px;
	}
	.intro-text h2{
		max-width: 100%;
		position: relative;
	}
	.intro-text p{
		padding-left: 0;
	}
	.menu-block .menu-items{
		padding-left: 31px;
	}
	.quote{
		padding-left: 0;
	    max-width: 420px;
	    margin: 0 auto;
	}
	.gallery{
		max-width: 100% ;
	}
	.gallery .img-small, .gallery .img-medium, .gallery .img-big, .gallery.mirrored .img-small, .gallery.mirrored .img-medium, .gallery.mirrored .img-big{
		left: 0;
		top: 0;
		width: 338px;
		height: auto;
		float: none;
		margin: 0 auto 18px;
	}
	.gallery .img-big:before{
		display: none;
	}
	.gallery img{
		height: 225px;
		width: auto;
		margin: 0 auto;
		display: none;
	}
	.gallery img.mobile{
		display: block;
	}
	.teaser{
		margin-bottom: 30px;
	}
	.teaser a:after{
		left: 50%;
	    margin-left: -178px;
	    overflow-x: hidden;
	
	}
	.teaser span{
		margin-bottom: 35px;
	}
	.teaser span:after{
		border-top-width: 25px;
		border-bottom-width: 110px;
	}
	.history-block .year{
		left: initial;
		position: relative;
		margin-right: 15px;
	}
	#subnavigation{
		height: auto;
	}
	#subnavigation .limiter{
		height: auto;
	}
	#subnavigation ul.limited, #subnavigation ul.limited .owl-stage{
		display: block;
	    width: 100%;
	    height: auto;
	    padding-bottom: 60px;
	    position: relative;
	    overflow: hidden;
	    max-height: 60px;
	    transition: all 0.5s!important;
	    -webkit-transition: all 0.5s!important;
	    -moz-transition: all 0.5s!important;
	}
	#subnavigation ul.open, #subnavigation ul.open .owl-stage{
		max-height: 660px;
	}
	#subnavigation ul li.active{
		position: absolute;
	    bottom: 0;
		background: #fff;
		z-index: 1;
	}
	#subnavigation ul li{
		background: #f0f0f0;
		border-top: 1px solid #ddd;
	}
	#subnavigation ul li a{
		display: block;
		width: 100%;
		height: 100%;
	}
	#subnavigation ul li a:before{
		display: none;
	}
	#subnavigation ul li a.active:after{
		content: "\e114";
		font-family: 'Glyphicons Halflings';
		position: absolute;
		right: 20px;
		line-height: 60px;
		height: 60px;
		color: #49c0a0;
	}
	#subnavigation ul.open li a.active:after{
		content: "\e113";
	}
	#subnavigation ul li, #subnavigation.timeline ul li {
	    display: block;
	    width: 100%;
	    height: 60px;
	    line-height: 60px;
	}
	#banner, #content .limited > section, .region-content > section{
		margin-bottom: 50px;
	}
}
@media screen and (max-width: 600px){
	.form label{
		float: none;
		display: block;
	}
	.form .form-control, .form .form-email, .form .webform-submit{
		width: 100%;
	}
	.captcha{
		width: 100%;
	}
}
@media screen and (max-width: 400px){
	.teaser img, .gallery img{
		height: auto;
		width: 100%;
		max-width: 100%;
	}
	.teaser a:after{
		display: none;
	}
	.gallery .img-small, .gallery .img-medium, .gallery .img-big, .gallery.mirrored .img-small, .gallery.mirrored .img-medium, .gallery.mirrored .img-big{
		width: 100%;
	}
}



/* adaptions to eu cookie compliance */
.decline-button{
	display: none;
}
.find-more-button{
	font-weight: bold;
}
html #sliding-popup .eu-cookie-compliance-secondary-button{
	background: #fff!important;
    color: #000!important;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 32px;
    text-align: center;
    padding: 0 30px;
}
label[for=edit-submitted-datenschutz-1]{
	margin-left: 5px;
    line-height: 25px;
    margin-bottom: 20px;
}