/* CSS Document */

img {
	max-width: 100%;
}

.subtitle {
	color:#111;
	margin: 6px 0 80px 0;
	font-size: .7em;
} 

.folio-image {
	margin:0;
} 

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
	display:block;
}

audio, canvas, video {
	display:inline-block;
	*display:inline;
	*zoom:1;
}

audio:not([controls]) {
	display:none;
}

[hidden] {
	display:none;
}

html {
	font-size:100%;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
}

body, h1, h2, h3, h4, h5, h6, p {
	margin:0;
}

abbr[title] {
	border:none;
}

b, strong {
	font-weight:bold;
}

blockquote {
	margin:1em 40px;
}

dfn {
	font-style:italic;
}

hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #ccc;
	margin:1em 0;
	padding:0;
}

ins {
	background:#ff9;
	color:#000;
	text-decoration:none;
}

mark {
	background:#ff0;
	color:#000;
	font-style:italic;
	font-weight:bold;
}

pre, code, kbd, samp {
	font-family:monospace,  monospace;
	_font-family:'courier new',  monospace;
	font-size:1em;
}

pre {
	white-space:pre;
	white-space:pre-wrap;
	word-wrap:break-word;
}

q {
	quotes:none;
}

q:before, q:after {
	content:"";
	content:none;
}

small {
	font-size:85%;
}

sub, sup {
	font-size:75%;
	line-height:0;
	position:relative;
	vertical-align:baseline;
}

sup {
	top:-0.5em;
}

sub {
	bottom:-0.25em;
}

dd {
	margin:0 0 0 40px;
}

nav ul, nav ol {
	list-style:none;
	list-style-image:none;
	margin:0;
	padding:0;
}

img {
	border:0;
	-ms-interpolation-mode:bicubic;
	vertical-align:middle;
}

svg:not(:root) {
	overflow:hidden;
}

figure {
	margin:0;
}

form {
	margin:0;
}

fieldset {
	border:0;
	margin:0;
	padding:0;
}

label {
	cursor:pointer;
}

legend {
	border:0;
	*margin-left:-7px;
	padding:0;
}

button, input, select, textarea {
	font-size:100%;
	margin:0;
	vertical-align:baseline;
	*vertical-align:middle;
}

button, input {
	line-height:normal;
	*overflow:visible;
}

table button, table input {
	*overflow:auto;
}

button, input[type="button"], input[type="reset"], input[type="submit"] {
	cursor:pointer;
	-webkit-appearance:button;
}

input[type="checkbox"], input[type="radio"] {
	box-sizing:border-box;
}

input[type="search"] {
	-webkit-appearance:textfield;
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
	box-sizing:content-box;
}

input[type="search"]::-webkit-search-decoration {
	-webkit-appearance:none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
	border:0;
	padding:0;
}

textarea {
	overflow:auto;
	vertical-align:top;
	resize:vertical;
}

input:invalid, textarea:invalid {
	background-color:#f0dddd;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

td {
	vertical-align:top;
}

::-moz-selection {
	background:#000;
	color:#fff;
	text-shadow:none;
}

::selection {
	background:#000;
	color:#fff;
	text-shadow:none;
}

body, button, input, select, textarea {
	color:#111;
}

a {
	color:#000;
	text-decoration:none;
	
}

a:visited, a:hover {
	color:#000;	
	text-decoration:none;
}

a:hover, a:active {
	outline:0;
	padding:0 0 1px;
}



.text a:hover, .text a:active {
	text-decoration:none;
	border-bottom:1px solid #111;
	padding:0 0 1px;
}


.news a {
	border-bottom:1px solid #666;
	padding:0 0 1px;
}

.news a:hover, .news a:active {
	text-decoration:none;
	border-bottom:none;
}

h1, h2, h3, h4, h5, h6 {
	font-size:1em;
	margin:0 0 1em;
	font-weight:bold;
}

h1 {
	margin:0;
}

p {
	margin:0 0 1em;
}

ul {
	list-style:none;
	margin:0;
	padding:0;
}

body {
	position:relative;
	overflow-x:hidden;
	padding:0 0 30px;
	font-family:"Lato", Helvetica, sans-serif;
	font-size:.9em;
	line-height:1.5;
}

nav > abbr, .title, .contact, .imprint, .text aside {
	position:absolute;
	z-index:1;
}

.contact a:hover, .imprint a:hover {
	border-bottom:1px solid black;
}

.title {
	position:fixed;
	left:30px;
	top:26px;
}

.title.home {
	position:absolute;
}

nav > abbr, .contact, .text aside {
	right:30px;
	top:26px;
}

.js #main-nav {
	display:none;
}

.page-abbr {
	background: #fff;
	color: #111;
	position:fixed;
	z-index:1;
	padding: 2px 4px 3px 4px;
}

.imprint {
	left:30px;
	bottom:30px;
}

.images {
	padding:0 30px 30px;
	margin:0 auto;
}

.text {
	margin-bottom:200px;
}

.text .inner {
	max-width:570px;
	padding:30px 30px 100px;
	margin:0 auto;
}

.page {
	margin-bottom:0px;
}

.text ul {
	overflow:hidden;
}

.text ul > li {
	width:30%;
	float:left;
	margin:0 0 30px 5%;
}

.grid {
	position:relative;
	padding-top:190px;
	padding-left:30px;
	padding-bottom:150px;
}

.grid-item {
	position:relative;
	float:left;
	padding-right:68px;
	margin-right:50px;
	margin-bottom:40px;
}

.grid-item .descript {
	position:absolute;
	top:20px;
	right:-27px;
	width:75px;
}

.grid-item a img {
	cursor:pointer;
}

.grid-item a .total {
	opacity:0;
	margin-left:11px;
}

.grid-item a:hover .total {
	opacity:1;
}

.js .grid-item {
	visibility:hidden;
}

.touch .slide {
	margin:0 auto 40px;
}

.touch .slide aside {
	display:none;
}

@media screen and (max-width: 620px) {
	.text .inner {
	max-width:240px;
}

.text ul > li {
	width:auto;
	float:none;
	margin-left:0;
}

}

@media screen and (max-width: 640px) {
	.text {
	margin-bottom:30px;
}

.js #main-nav {
	display:block;
}

.grid {
	padding-left:0;
	padding-top:110px;
}

.grid .animation {
	margin:0 auto;
}

.grid-item {
	float:none;
	width:240px;
	padding:0;
	margin:0 auto 40px;
}

.grid-item img {
	display:block;
	margin:0 auto;
}

.js .grid-item {
	visibility:visible;
}

.grid-item .descript {
	position:absolute;
	top:auto;
	right:0;
	bottom:-20px;
	width:50px;
	text-align:right;
}

.grid-item .descript .total {
	display:none;
}

.title, .imprint {
	left:10px;
}

.contact {
	right:10px;
}

#main-nav {
	display:block;
}

.images iframe, .images img {
	cursor:auto;
}

}

@media screen and (min-width: 620px) and (max-width: 1000px) {
	.text .inner {
	max-width:400px;
}

.text ul > li {
	width:47.5%;
}

.text ul > li:nth-child(2n+1) {
	margin-left:0;
}

}

@media screen and (min-width: 1000px) and (max-width: 1460px) {
	.text .inner {
	max-width:570px;
}

.text ul > li {
	width:30%;
}

.text ul > li:nth-child(3n+1) {
	margin-left:0;
}

}

@media screen and (min-width: 1460px) {
	.images {
	max-width:none;
}

.images img {
	max-height:none;
}

.text .inner {
	max-width:570px;
}

.text ul > li {
	width:30%;
}

.text ul > li:nth-child(3n+1) {
	margin-left:0;
}

}.title abbr, .title span:first-child {
	display:inline-block;
	padding:0 0 0px;
	margin:0 0 30px;
	border-bottom:1px solid #000;
}

.title abbr {
	margin:0;
}

.title span {
	display:block;
}

.title a:hover {
	text-decoration:none;
}

.client {
	margin:0 0 50px;
}

.text h1 span {
	padding:0 11px 0 0;
}

.text ul {
	margin:25px 0 0;
}

.text aside {
	display:none;
}

.text.active-text aside {
	display:block;
	position:fixed;
}

.gridhit {
	display:none !important;
}

.page {
	padding-top:100px;
}

.images iframe, .images img {
	display:none;
	max-width:100%;
	margin:0 auto;
	cursor:pointer;
}

.images li {
	position:relative;
}

.images li.active iframe, .images li.active img {
	display:block;
	position:fixed;
	left:50%;
	top:100px;
}

.images li.active aside {
	display:block;
}

.images aside {
	position:absolute;
	right:0;
	top:0;
}

.touch .images {
	margin-top:50px;
}

.no-js .images img, .no-js .images iframe, .touch .images img, .touch .images iframe, .touch .images .animation {
	display:block !important;
	margin:0 auto 20px;
}

.touch .images img {
	margin:0 auto;
}

.js .images .animation {
	display:none;
	padding:0;
}

.js .images aside .total {
	display:none;
}

.js .images .active .animation {
	display:block;
}

.js .images .active aside {
	display:block;
}

.js .images .active aside .total {
	display:inline;
	position:fixed;
	right:30px;
	top:26px;
}

.js .images .slide-number {
	position:relative;
	top:26px;
}

.js .images .last.moving .slide-number {
	display:none;
}

.js .images .last.moving iframe, .js .images .last.moving img {
	display:block;
	position:relative;
	left:50%;
}

.js .images .last.moving .animation {
	display:block;
	position:relative;
	margin:0 auto;
}

.animation {
	position:relative;
}

.animation img {
	display:block;
}

.animation li {
	position:absolute;
	width:100%;
	-moz-opacity:0;
	filter:alpha(opacity=0);
	opacity:0;
}

.animation li:first-child {
	-moz-opacity:1;
	filter:alpha(opacity=100);
	opacity:1;
}

.animation .current-frame {
	-moz-opacity:1;
	filter:alpha(opacity=100);
	opacity:1;
}

.grid a:hover {
	text-decoration:none;
}

.ir {
	display:block;
	border:0;
	text-indent:-999em;
	overflow:hidden;
	background-color:transparent;
	background-repeat:no-repeat;
	text-align:left;
	direction:ltr;
}

.ir br {
	display:none;
}

.hidden {
	display:none !important;
	visibility:hidden;
}

.visuallyhidden {
	border:0;
	clip:rect(0 0 0 0);
	height:1px;
	margin:-1px;
	overflow:hidden;
	padding:0;
	position:absolute;
	width:1px;
}

.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
	clip:auto;
	height:auto;
	margin:0;
	overflow:visible;
	position:static;
	width:auto;
}

.invisible {
	visibility:hidden;
}

.clearfix:before, .clearfix:after {
	content:"";
	display:table;
}

.clearfix:after {
	clear:both;
}

.clearfix {
	zoom:1;
}

@media print {
	* {
	background:transparent !important;
	color:black !important;
	text-shadow:none !important;
	filter:none !important;
	-ms-filter:none !important;
}

a, a:visited {
	text-decoration:underline;
}

a[href]:after {
	content:" (" attr(href) ")";
}

abbr[title]:after {
	content:" (" attr(title) ")";
}

.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
	content:"";
}

pre, blockquote {
	border:1px solid #999;
	page-break-inside:avoid;
}

thead {
	display:table-header-group;
}

tr, img {
	page-break-inside:avoid;
}

img {
	max-width:100% !important;
}

@page {
	margin:0.5cm;
}

p, h2, h3 {
	orphans:3;
	widows:3;
}

h2, h3 {
	page-break-after:avoid;
}





