/*

*/

:root { 
	--color-black: #212121;
	--color-white: #fafafa;
	--color-dark: #212121;
	--color-light: #fafafa;
}

html, body{
	font-family:Unica, Arial, Helvetica, sans-serif;
	font-size:20px;
	line-height:24px;
	letter-spacing:1px;
	color:#000;
	background:#fafafa;
	margin:0px;
	padding:0px;
	cursor:auto;
	overflow-x: hidden;
    
}
body.cursor{
	cursor:none;
}

#home, #graphic, #shop, #interaction{
	display:none;
}
#home.on, #graphic.on, #shop.on, #interaction.on, #about.on{
	display:block;
}

#cursor{
	position: absolute;
	z-index: 200000;
	
	width:0px;
	height:0px;
	border-radius:100%;
	background:white;
	mix-blend-mode: difference;
	transform-origin: center;
	transition: transform 0.1s ease-out, width 0.2s, height 0.2s, opacity 0.2s, border-radius 0.5s;
	pointer-events: none; 
    transform: translate(-50%, -50%);
	//filter:blur(10px);
	opacity: 0;
}

body.cursor #cursor{
	width:24px;
	height:24px;
	opacity: 1;
	cursor:none;
}

body[data-cursor="vbook-closed"] #cursor{
	width:32px;
	height:32px;
	opacity: 1;
	border-radius: 0px;
	overflow: visible;
}
body[data-cursor="vbook-closed-open"] #cursor, body[data-cursor="vbook-open-close"] #cursor{
	width:32px;
	height:32px;
	opacity: 1;
	border-radius: 0px;
	overflow: visible;
	background:none;
	border:2px solid white;
}
body[data-cursor="vbook-open-prev"] #cursor{
	width:24px;
	height:24px;
	opacity: 1;
	border-radius: 0px;
	
	overflow: visible;
	background:none;
	border:2px solid white;
	border-right:0;
	border-top:0;
	transform: translate(-50%, -50%) rotate(45deg);
}
body[data-cursor="vbook-open-next"] #cursor{
	width:24px;
	height:24px;
	opacity: 1;
	border-radius: 0px;
	
	overflow: visible;
	background:none;
	border:2px solid white;
	border-right:0;
	border-top:0;
	transform: translate(-50%, -50%) rotate(-135deg);
}
/*
#cursor:after{
	position: absolute;
	width:48px;
	height:12px;
	border:2px solid white;
	content:'';
	border-radius: 100%;
	top:6px;
	left:-12px;
}
#cursor:before{
	position: absolute;
	width:12px;
	height:48px;
	border:2px solid white;
	content:'';
	border-radius: 100%;
	top:-12px;
	left:6px;
}
*/
.enlarge{
	position:absolute;
	top:54px;
	right:54px;
	width:320px;
	height:320px;
	overflow:hidden;
	border-radius:50%;
	box-shadow:0px 0px 50px 10px rgba(0,0,0,0.1);

}
.enlarge img{
	position:absolute;	
	left:0px;
	width:500%;
	left:-1140px;
	top:-200px;
}
h1, h2, h3{
	font-size:18px;
	line-height:24px;
	padding:0px;
	margin:0px;
	font-weight:400;
}
a{
	color:#000;
	cursor:pointer;
	text-decoration:none;
}
i{
	font-family:Helvetica, Arial, sans-serif;
	font-style:normal;
	line-height:18px;
}
p{
	margin:0px;
}
ul{
	margin:0px;
	padding:0px;
}
ul li{
	margin:0px;
	padding:0px;	
}
.dot{
	position:absolute;
	top:0px;
	left:0px;
	width:54px;
	height:54px;
	cursor:pointer;
}
.dot:after{
	position:absolute;
	top:0px; bottom:0px; left:0px; right:0px;
	width:24px;
	height:24px;
	border-radius:50%;
	background:var(--color-black);
	margin:auto;
	content:'';
}
.titlebar{
	padding: 15px 120px 15px 54px;
}
.titlebar span{
	cursor:pointer;	
}
#homebut{
	position:fixed;
	left:0px;
	bottom:0px;
}

.button{
	height:56px;
	width:100%;
	padding:0px 15px;
	line-height:56px;
	border:2px solid var(--color-black);
	text-align:center;
	display:inline-block;
	cursor:pointer;
	transition:all 0.2s;
}
.button:hover{
	background:rgba(0,0,0,1);
	color:#fff;	
	cursor:pointer;
}
.button.black{
	background:var(--color-black);
	color:#fff;	
}
.button.off{
	opacity:0.2;	
}


img[src=""] {
    display: none;
}


.page{
	position:absolute;
	top:52px;
	left:0px;
	width:100%;
}
#home.page{
	top:0px;
	height:100%;
	overflow:hidden;
	z-index:500;
}
#home.page img{
	position:absolute;
	top:0px;
	right:0px;
	height:100%;
	
}
#home-inner{
	height:100%;
	text-align:right;
}
.hidden{
	display:none;
}

.section{
	border-top:2px solid var(--color-black);
}

.section > .inner{
	position:relative;
	margin:0px auto;
}
.section > .inner.text{
	padding:15px 54px;

}
.section .inner.text li{
	padding-left:0px;	
	margin-left:20px;	
}

.section > .head span{
	padding:15px 15px 15px 15px;	
}

.section.header{
	border-top:0px;	
}


	
	
.p-title{
	border:1px solid #fafafa;
	margin-bottom:10px;
}
.p-title div{
	margin-top:-3px;
}
.p-img{
	margin-bottom:10px;
	background:#eee;
	border:1px solid #ddd;
}
.p-img.apps{
	width:120px;
	height:90px;
	background:#eee;
	border:1px solid #e6e6e6;	
	padding:14px 20px 16px;
	
	background: #eeeeee; /* Old browsers */

background: -moz-linear-gradient(top,  #eeeeee 0%, #f6f6f6 100%); /* FF3.6+ */

background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(100%,#f6f6f6)); /* Chrome,Safari4+ */

background: -webkit-linear-gradient(top,  #eeeeee 0%,#f6f6f6 100%); /* Chrome10+,Safari5.1+ */

background: -o-linear-gradient(top,  #eeeeee 0%,#f6f6f6 100%); /* Opera 11.10+ */

background: -ms-linear-gradient(top,  #eeeeee 0%,#f6f6f6 100%); /* IE10+ */

background: linear-gradient(to bottom,  #eeeeee 0%,#f6f6f6 100%); /* W3C */

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#f6f6f6',GradientType=0 ); /* IE6-9 */



}

.big{
	font-size:36px;
	line-height:42px;
}

.p-img.apps img{
	border:1px solid rgba(0,0,0,0.1);
}
.p-title:hover,.p-img:hover{
	cursor:pointer;
}

#add{
	background:url(../img/add.svg) no-repeat center;
	background-size:contain;
}
#add div{
	position: absolute;
	background:none !important;	
	text-align:center;
	
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
	height:auto !important;	
	color:#212121;
}
#service{
	position:absolute;
	top:0px;
	right:0px;
}

/* entfernt den link focus bei firefox cef8cb f2ecfd*/
a:focus {
	outline: none;
}
input:focus {
	outline: none;
}

/* HEADER ----------------------------------------------------- */

.header{
	width:100%;
	background:rgba(250,250,250,1);
	z-index:2000;
	height:54px;
	z-index:10000;
}
.header .titlebar{
	top:0px;
}
.header  .titlebar .back{
	position: absolute;
	top:0px;
	left:0px;
	width:54px;
	height:54px;
	background:url(../img/icon_back.svg) no-repeat center;
	opacity: 0;
}
.header .titlebar.page .back{
	opacity: 1;
}

.fixedheader .header{
	position:fixed;
	z-index:10000;
	border-bottom:2px solid var(--color-black);
}

#burger-nav,#basket-nav{
	position:fixed;
	top:0px;
	right:0px;
	left:auto;
	height:54px;
	width:54px;
	z-index:10000;
	mix-blend-mode: difference;
	cursor:pointer;
}
#burger-nav{
	background:url(../img/icon_burger_i.svg);
}
#burger-nav.on{
	background:url(../img/icon_burger_x_i.svg);
}
#basket-nav{
	display:none;	
	right:40px;
	align-items: center;
	justify-content: center;
}
#basket-nav.on{
	display:flex;	
}
#basket-nav > div{
	width:24px;
	height:24px;
	background: white;
	color:black;
	text-align: center;
	font-size:13px;
	line-height:24px;
	border-radius: 100%;
}
#overview-nav{
	position:fixed;
	height:54px;
	width:54px;
	right:39px;
	left:auto;
	top:0px;
	z-index:12000;
	background:url(../img/icon_overview_i.svg);
	mix-blend-mode: difference;
	cursor:pointer;
}

#scroll-nav{
	display:block;
	position:fixed;
	top:-54px;
	right:0px;
	height:54px;
	width:100%;
	z-index:10000;
	opacity:0;
	transition: opacity 0.4s, top 0.4s;
	z-index:10000;
	
}
#scroll-nav .d-menu{
	position:absolute;
	top:0px;
	right:0px;
	left:auto;
	height:54px;
	width:54px;
}
#scroll-nav .d-top{
	position:absolute;
	top:0px;
	left:0px;
	height:54px;
	width:54px;
	background:url(../img/icon_nav.svg) no-repeat;	
}
#scroll-nav .d-overview{
	position:absolute;
	height:54px;
	width:54px;
	top:0px;
	right:0px;
	left:auto;
	background:url(../img/overview.svg);
}
#scroll-nav.on{
	top:0px;
	opacity:1;
}
.fixedheader #scrollnav{
	display:none;
}



#footer{
	margin-bottom:200px;
}

/* MENU ----------------------------------------------------*/

.mainnav{
	display:none;
	position:fixed;
	top:0px;
	right:0px;
	width:100%;
	height:100%;
	padding-top:52px;
	padding-bottom:54px;
	z-index:20000;
}
.mainnav.on{
	display:block;
}
.mainnav ul{
	position:relative;
	display:block;
	width:100%;
	height:100%;
}
.mainnav.fixed{
	display:block;
}
.mainnav li{
	display:block;
	position:absolute;
	width:50%;
	height:50%;
	margin:0px;
	padding:0px;
	cursor:pointer;
}

.mainnav li.one{
	top:0%;
	left:0%;
	padding-right:1px;
	padding-bottom:1px;
}
.mainnav li.two{
	top:0%;
	left:50%;
	padding-left:1px;
	padding-bottom:1px;	
	
}
.mainnav li.three{
	top:50%;
	left:0%;
	padding-right:1px;
	padding-top:1px;	
	
}
.mainnav li.four{
	top:50%;
	left:50%;
	padding-left:1px;
	padding-top:1px;	
}
.mainnav li a{
	display:block;
	position:relative;
	width:100%;
	height:100%;
	background:#212121;
}
.mainnav li a div{
	display:block;
	width:100%;
	position: absolute;
  	top: 50%;
  	transform: translateY(-50%);
	text-align:center;
	color:#fafafa;
	font-weight:300;	
}
.mainnav .group{
	display:inline-block;
	
}
.mainnav #service{
	text-align:right;
}
.mainnav .round, .mainnav .text{
	display:inline-block;
	position:relative;
	width:56px;
	height:56px;
	border-radius:28px;
	background:#212121;
	margin-left:2px;
	margin-bottom:2px;
	overflow:hidden;
	line-height:56px;
	text-align:center;
    vertical-align: top;
	color:#fafafa;	
}
.mainnav .text{
	width:auto;
	padding:0px 32px;	
}
.mainnav  img{
	position:relative;
	display:block;	
}


.fixedheader .mainnav{
	position:fixed;
}

/* PAGENAV (Kategories )-------------------------------------- */

.pagenav ul{
	margin:0px;
	padding:10px 0px;
	list-style:none;
}
.pagenav ul ul{
	padding:0px;	
}
.pagenav li{
	position:relative;
}
.pagenav li .dot{
	position:absolute;
	top:0px;
	left:0px;
	height:30px;
}
.pagenav li .dot:after{
	background:none;
	border:2px solid var(--color-black);
}
.pagenav li li .dot:after{
	height:2px;
	border-radius: 0;
	border:0px;
	background:var(--color-black);
}

.pagenav li span{
	display:block;
	padding:5px 54px;
	cursor:pointer;
	
}
.pagenav li li{
	display:none;	
}
.pagenav a{
	color:#000;
}
.pagenav li.on > .dot:after{
	background:var(--color-black);
}


/* ------------------------- grid --------------------------- */

/*
.rows{
	padding:0px !important;
}
.rows .cell{
	float:left;
	width:33.333%;
	padding:0px;
}
.rows .cell .portrait{
	position:relative;
	background:rgba(0,0,0,0.2)
}
.rows .cell .portrait img{
	display:block;
	width:100%;
}
.rows .cell .portrait .text{
	opacity:0;
	width:100%;
	height:100%;
	position:absolute;
	top:0px;
	left:0px;
	background:#000;
	color:#fff;
	text-align:center;
		
}
.rows .cell .portrait .text p{
	display:block;
	position:absolute;
	top:0px;
	bottom:20px;
	left:0px;
	right:0px;
	margin:auto;
	height:20px;
}

.rows .cell .portrait .text:hover{
	opacity:1;	
}
.rows .cell p{
	border:0px;	
	padding:0px;
	padding-top:12px;
}

.rows .cell ul{
	margin:0px;
	padding:0px;
	padding-left:20px;
}

.rows.big{
	margin-left:-1px;
	margin-right:-1px;
}
.rows.big .cell{
	padding:1px;	
}

.overview.inner{
	margin-bottom:-2px;
}
*/
/* ------------------------- projects ---------------------------*/



.project{
	position:relative;
	border-top:2px solid rgba(0,0,0,1);
	overflow:hidden;
	background:var(--color-light);
}

.overview-all .project{
	margin-top:-2px;
	width:16.66%;
	float:left;	
	border-bottom:2px solid rgba(0,0,0,1);
}
.overview-all .project .dia{
	width:100%;	
}

/* titlebar --------------------- */

.project .titlebar{
    position:absolute;
	z-index:1000;
	width:100%;
	color:#fff;
	mix-blend-mode: difference;
}
.project .titlebar .dot:after{
	background: white;
}
.project .titlebar .title{
	cursor:pointer;
}

.project .titlebar .pageing{
	position:absolute;
	top:0px;
	right:0px;
	padding:15px 100px 15px 15px;
	display: none;
}

/* infotext --------------------- */

.project .infotext{
	
	position:absolute;
	z-index:5000;
	top:0px;
	left:-50%;
	width:50%;
	height:100%;
	background:#fafafa;
	box-shadow:0px 0px 100px 10px rgba(0,0,0,0.1);
	color:#000;
	opacity:0;	
	transition: left 0.4s ease-in, opacity 0.4s ease-in;
}
.project .infotext.on{
	left:0%;
	opacity:1;	
}
.project .infotext .titlebar{
	position: relative;
}
.project .infotext .dot:after{
	background: var(--color-light) !important;
}
.project .infotext .text{
	padding:0px 54px 54px 54px;	
}

/* dark mode */

.project.dark{
	background:var(--color-dark);
}
.project.dark .titlebar{
	color:#fafafa;	
}
.project.dark{
	border-top:2px solid rgba(250,250,250,1);	
}
.project.dark .titlebar .dot:after{
	background:#fafafa;
}
.project.dark .infotext .dot:after{
	background:var(--color-black);
}
.project.dark .infotext .titlebar{
    //color:var(--color-black);
}
/* infotext white text */
/*
.project .infotext.dark{
	color:var(--color-white);
}
.project .infotext.white .titlebar{
	color:var(--color-white);
}
.project .infotext.white .dot:after{
	background:#fafafa;
}
*/
.project .infotext h3{
	padding:0px;
	margin:24px 0 0 0;
    font-size: 12px;
	line-height: 16px;
}
.project .infotext p{
	margin:0 0 12px 0;
}
.project .infotext ul{
	margin:0;
	list-style: none;
}
.project .infotext li{
	position: relative;
	padding-left:20px;
}
.project .infotext li:after{
	position: absolute;
	lefT:0px;
	top:0x;
	content:'–';
}

.project .infotext .price{
	padding-top:12px;
    margin:12px 0 24px;
}
.project .infotext .button{
	margin-bottom:24px;
}
.project .infotext.shopinfo{
	left:auto;
	right:-33%;
	width:500px;
	transition: right 0.4s ease-in, opacity 0.4s ease-in;

}
.project .infotext.shopinfo .text{
		padding-top:54px;
	}
.project .infotext.shopinfo.on{
	right:0%;
}
.project .infotext.shopinfo .titlebar{
	display:none;
}


/* slider */

	.slider, .nested-slider ,swiper-slide{
		position: relative;
		width: 100vw;
		height: 100vh;
		max-height: 100vw;
	}
	.slider .media .slider{ /* for the slideshow */
		width: 100%;
		height: 100%;
		pointer-events: none;
	}
	.slider .slide{
		position: absolute;
		top:0px;
		left:0px;
		width: 100%;
		height: 100%;
		opacity:0;
		pointer-events: none;

		transition-property: transform, opacity;
		transition-duration: 0.5s;
		transition-timing-function: ease-out;

		overflow: hidden;
		z-index: 0;
		display: flex;
		justify-content: center;

	}
	.slider .slide > .inner{
		position: relative;
		//margin:0px auto;
		padding:56px 0px;
		height:100%;
		width:auto;
		background:linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(0,0,0,0.05) 100%);
		display: flex;
		aspect-ratio:1.5;
		justify-content: center;

	}
	.slider .slide > .inner .bg{
		position: relative;
		height:100%;
		aspect-ratio:1.5;
		//margin:0px auto;

	}
	/*
	.slider .slide.style_screen .media{
		position: absolute;
		width:100%;
		height:100%;
		top: 0%;
		left: 0%;
	}
	
	.slider .slide.style_pc .media{
		position: absolute;
		width:63.84%;
		height:54.411%;
		background:#333;
		top: 10.29412%;
		left: 18.26172%;
	}
	.slider .slide.style_tabled .media{
		position: absolute;
		width:56.0547%;
		height:63.2353%;
		background:#333 url(../img/noise.gif);
		top: 13.9706%;
		left: 21.9715%;
	}
	.slider .slide.style_poster .media{
		position: absolute;
		width:44%;
		height:95%;
		background:#fff;
		top: 0%;
		left: 28%;
		overflow:hidden;
		box-shadow:0px 0px 10px 0px rgba(0,0,0,0.2);
	}
	.slider .slide.style_book .inner{
		padding-bottom:56px;
	}
	*/
	.slider .slide.on{
		opacity:1;
		pointer-events: auto;
		z-index: 5;
	}
	.slider .slide.vb-front{
		z-index: 100;
	}
	.slider .slide.pre{
		opacity:1;
	}
	.slider .slide img{
		position: relative;
		display: block;
		width:auto;
		height:100%;
		margin:auto;

	}

	/* full */
	.slider .slide.style-full .inner{
		padding:0px;
		width:100%;
		height:100%;
	}
	.slider .slide.style-full .bg{
		width:100%;
		height:100%;
	}
	.slider .slide.style-full .media{
		width:100%;
		height:100%;
	}
	.slider .slide.style-full .media img{
		object-fit: cover; 
		width: 100%; 
		height: 100%;
	}

	.slider .slide.style-screen .media img{
		
		/*
		max-width: 100%;
		max-height: 100%;
		bottom: 0;
		left: 0;
		margin: auto;
		overflow: auto;
		position: fixed;
		right: 0;
		top: 0;
		-o-object-fit: contain;
		object-fit: contain;
		*/
	}

	/* screen */
	.slider .slide.style-screen .inner{
		margin:0px;
		width:auto;
		height:100%;
	}
	.slider .slide.style-screen .bg{
		aspect-ratio:none;
		width:100%;
		height:100%;
	}
	.slider .slide.style-screen .media{
		width:100%;
		height:100%;
		text-align:center;
		position:relative;
	}
	
	.slider .slide.style-screen .media img{
		height:100%;
		width:auto;	
	}


	/* imac/pc*/
	.slider .slide.style-pc .inner .bg{
        padding:0;		
    }

	.slider .slide.style-pc .bgimg{
		height:100%;
	}

	.slider .slide.style-pc .media{
		position:absolute;
		width:75%; /*650*/
		height:63.4%; /*370*/
		background:#333 url(../img/noise.gif);
		top:10.5%; /*70*/
		left:12.5%; /*187*/
		overflow:hidden;
        aspect-ratio:1.77777;
	}
	.slider .slide.style-pc .media img{
		width:100%;
		height:auto;
	}

	/* tablet*/
	.slider .slide.style-tablet .inner .bg{
        padding:0;		
    }

	.slider .slide.style-tablet .bgimg{
		height:100%;
	}

	.slider .slide.style-tablet .media{
		box-sizing: border-box;
		position:absolute;
		width:62.7%; /*650*/
		height:62.7%; /*370*/
		background:#333 url(../img/noise.gif);
		top:18.7%; /*70*/
		left:18.7%; /*187*/
		overflow:hidden;
        aspect-ratio:1.77777;
	}
	.slider .slide.style-tablet .media img{
		width:100%;
		height:auto;
	}

	/* tablets*/
	.slider .slide.style-tablets .inner .bg{
        padding:0;		
    }

	.slider .slide.style-tablets .bgimg{
		height:100%;
	}

	.slider .slide.style-tablets .media{
		box-sizing: border-box;
		position:absolute;
		width:56%; /*650*/
		height:62.7%; /*370*/
		background:#333 url(../img/noise.gif);
		top:18.7%; /*70*/
		left:22%; /*187*/
		overflow:hidden;
        aspect-ratio:1.3333;
	}
	.slider .slide.style-tablets .media img{
		width:100%;
		height:auto;
	}

	/* phone */
	.slider .slide.style-phone .bgimg{
		height:100%;
	}
	.slider .slide.style-phone .media{
		position:absolute;
		width:22%; /*240px*/
		height:68%; /*426px*/
		background:#333 url(../img/noise.gif);
		top:16%; /*98px*/
		left: -9999px;
		right: -9999px;
		margin:auto;
		overflow:hidden;
		border-radius: 4vh;
		border:1vh solid black;
	}
	.slider .slide.style-phone .media img{
		width:100%;
		height:auto;
	}

	/* laptop */
	.slider .slide.style-laptop .bgimg{
		height:100%;
	}
	.slider .slide.style-laptop .media{
		position:absolute;
		width:61.5234%; /*630px*/
		height:56.4706%; /*384px*/
		background:#333 url(../img/noise.gif);
		top:14.70588%; /*100px*/
		left: -9999px;
		right: -9999px;
		margin:auto;
		overflow:hidden;
	}
	.slider .slide.style-laptop .media img{
		width:100%;
	}

	/* poster */

	.slider .slide.style-poster .inner{
		//padding-bottom:56px;
	}
    .slider .slide.style-poster .inner .bg{
        display: flex;
        align-items: center;
        justify-content: center;
    }
	.slider .slide.style-poster .bgimg{
		height:100%;
	}
	.slider .slide.style-poster .media{
		position:relative;
		width:auto;
		height:100%;
        aspect-ratio:0.7;
		background:#fff;
		overflow: hidden;
		box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
	}
	.slider .slide.style-poster .media img{
		width:100%;
	}

	/* book */
	.slider .slide.style-book .inner{
		//padding:0px;
	}
	.slider .slide.style-book .bg{
		//border:2px solid red;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	

	/* text ?? */
	.slider .slide .txt{
		width:50%;
		position:absolute;
		top:0px;
		background:rgba(250,250,250,1);
		height:100%;
		text-align:left;
		padding-top:63px;
		letter-spacing:1px;
		box-shadow: 0px 0px 100px 10px rgba(0,0,0,0.1);
		z-index:50;

	}
	.slider .slide .txt .inner{
		max-width:537px;
		padding:0px 25px;
		margin:0px 0px 0px auto;
	}
    
    /* video */
	.slider .slide .video{
		height:100%;
        display: flex;
        justify-content: center;
	}
    .slider .slide .video.media{
        display: flex;
        justify-content: center;
	}
    .slider .slide .video video{
		height:100%;
       
	}
	/* iframe */
	.slider .slide.style-iframe .media{
		position:relative;
		width:100%;
		height:100%;
		overflow: hidden;
	}
	 .slider .slide iframe {
		  width: 100%;
		  height: 100%;
		  border:0px;
		 //mix-blend-mode: overlay;
		 pointer-events: none;
	}

	/* pagination */

	.slider .pagination{
		position: absolute;
		bottom:24px;
		left:50%;
		display: flex;
		list-style: none;
		padding:0px;
		margin:0px;
		 transform: translate(-50%);
		mix-blend-mode: difference;
		z-index: 2000;
	}
	.slider .pagination li{
		position: relative;
		min-width:8px;
		height:8px;
		margin:0px 4px;
		
		
	}
	.slider .pagination li:after{
		position: absolute;
		top:0px;
		left:0px;
		width:8px;
		height:8px;
		border-radius: 100%;
		background:white;
		opacity: 0.2;
		content:'';
	}
	.slider .pagination li.on:after{
		opacity: 1;
	}
	
	.slider .paginationi{
		
		list-style: none;
		position: relative;
		display: flex;
		height:8px;
		overflow: hidden;
	}
	.slider .paginationi li{
		margin:0px 2px;	
		min-width:2px;
	}
	.slider .paginationi li:after{
        border-radius: 0;
		width:2px;
		height:8px;
	}
	.slider .pagination li .paginationi{
		max-width:0px;
		margin-left:0px;
		margin-right:0px;
		padding:0px;
		border:0px;
		transition:all 0.5s;
	}
	.slider .pagination li.on .paginationi{
		max-width:200px;
		padding:0px 8px;
		margin:0px -12px 0px 6px;
	}
	.slider .pagination li.onlyone:after{
		display: none;
	}
	.slider .pagination li.onlyone .paginationi{
		padding:0px;
		margin:0px;
	}
	.slideshow .pagination{
		display: none;	
	}

	/* OVERVIEW -------------------------- */
			
	.overview .project .titlebar{
		display: none;
	}
	.overview .slider{
		display: flex;
		flex-wrap: wrap;
	}
	.overview .slider, .overview .nested-slider, .overview .swiper-slide{
		height:auto;
	}
	
	.overview .project > .slider > .slide{
		position: relative;
		height:auto;
		width:16.666vw;
		aspect-ratio:1.333;
		opacity: 1;
		pointer-events: auto !important;
		opacity:1 !important;
        cursor:pointer;
	}

	.overview .project > .slider > .slide *{
		pointer-events: none !important;
	}

    
	.overview .project >  slider > .slide > .inner{
		padding:0;
		width:100%;
	}
	.overview .project > .slider > .slide.style-pc > .inner{
		padding:12px 0 0;
		width:100%;
	}
	.overview .project > .slider .slide.style-phone .media{
		border-radius:0.5vw;
		border:0.15vw solid black;
	}
	.overview .project > .slider > .slide.style-phone > .inner{
		padding:12px 0 0;
		width:100%;
	}
	
		
	.overview .project > .slider > .slide.style-tablet > .inner{
		//padding:8px 0 40px 0;
		padding:20px 0;
		width:100%;
	}
	.overview .project > .slider > .slide.style-tablets > .inner{
		padding:20px 0;
		width:100%;
	}
	.overview .project > .slider > .slide.style-laptop > .inner{
		padding:12px 0 0;
		width:100%;
	}
	.overview .project > .slider > .slide.style-poster > .inner{
		padding:12px 0;
		width:100%;
	}
	.overview .project > .slider > .slide.style-screen > .inner{
		padding:12px 0;
		width:100%;
	}
	.overview .project > .slider > .slide.style-book > .inner{
		padding:12px 0;
		width:100%;
	}
	.overview .project > .slider > .slide.style-iframe > .inner{
		padding:18px 0;
		width:100%;
	}
    .overview .project > .slider .pagination{
        display: none;
    }
	/* shop button */ 

	.project .infob{
		position:absolute;
		top:50%;
		right:140px;
		width:200px;
		height:200px;
		margin-top:-100px;
		text-align:center;
		z-index:5000;
		cursor:pointer;
		opacity:0;
		transition:all 0.5s;
	}
	.project .infob{
		opacity:1;
	}
	.project.details-show .infob{
		opacity:0;
	}
	.mainnav-show .project .infob, .basket-show .project .infob{
		opacity:0 !important;
	}
	.project .infob > div{
		width:100%;
		height:100%;
		text-align:center;
		line-height: 200px;
		border:2px solid #000;
		background: #000;
		border-radius:100%;
		color:#fff;
	}


/* screen */
/*
.screen{
	position:relative;
	height:100%;
	width:100%;
	overflow:hidden;
	z-index:100;
}
.overview .screen{
	z-index:500;
}
.screen .frame{
	width:100%;
	height:100%;
}
.overview .frame{
    height:auto:
}

.screen .dia{
	position:absolute;
	width:100%;
	height:100%;
	margin:0px;
	text-align:center;
	z-index:100;
	opacity:0;
	left:100%;
}
.screen .dia.on{
	opacity:1;
	left:auto;
}
.overview .dia{
	position:relative;
	text-align:left;
	width:16.6666%;
	float:left;
	overflow:hidden;
	left:auto;
	opacity:1;
	border-bottom:2px solid #212121;
	margin-bottom:-2px;
	
}


.overview .project.white .dia{
	border-bottom:2px solid #fff;
	margin-bottom:-2px;	
}
.screen .dia .inner{
	position:absolute;
	height:100%;
	padding-top:54px;
	margin:0px auto;
	background:linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(0,0,0,0.05) 100%);
	
}
.overviewx .screen .dia .inner{
	padding-top:0px;	
}
.screen .dia .bg{
	position:relative;
	width:100%;
	height:100%;
}
.screen .dia .media img{
	position:absolute;
	top:0px;
	left:0px;
}
.screen .dia iframe{
	width:100%;
	height:100%;
	border:0px;
}

.screen .dia.style_panorama{
	text-align:center;
}
.screen .dia.style_panorama img{
	width:100%;	
	min-width:1024px;
	vertical-align:middle;	
}
.screen .dia.style_screen{
}
.screen .dia.style_screen .media{
	width:100%;
	height:100%;
	text-align:center;
	position:relative;
}
.screen .dia.style_screen .media img{
	height:100%;
	width:auto;	
}
*/












/* screen nav */
/*
.screen-nav{
	display:none;
	position:absolute;
	top:50%;
	margin-top:-50px;
	height:100px;
	width:100px;
	z-index:1200;
	border-radius:50px;
	border:2px solid rgba(0,0,0,0);	
	
}
.screen-nav:hover{
	border:2px solid rgba(0,0,0,0.2);	
}
.screen-nav.prev{
	left:5%;	
}
.screen-nav.next{
	right:5%;
	background:url(../img/nav_right.svg) 10px 10px no-repeat;
}
*/

/* slider dotnav */
.screen-navp{
	display:none;
	position:absolute;
	bottom:10px;
	width:100%;
	height:40px;
	z-index:600;
}
.overview .screen-navp{
	display:none;
}
.screen-navp ul, .screen-navp div{
	margin:0px auto;
	list-style:none;
	text-align:center;
	
}
.screen-navp li{
	position:relative;
	display:inline-block;
	width:30px;
	height:40px;
}

.screen-navp i{
	display:block;
	position:absolute;
	top:0px;bottom:0px;left:0px;right:0px;
	margin:auto;
	width:10px;
	height:10px;
	border-radius:50%;
	background-color:rgba(0,0,0,0.1);
	background-size:cover;
	transition:width 0.2s, height 0.2s, background-color 0.2s;
	
	
}
.screen-navp li.on i{
	background-color:rgba(0,0,0,1);	
}

.screen-navp li.slides.on i{
	width:30px;
	height:30px;
	background-color:rgba(0,0,0,0.1);
	background-image:url(../img/icon_pause.svg);
	background-repeat:no-repeat;
}

.screen-navp li.info i{
	width:30px;
	height:30px;
	background-color:rgba(0,0,0,0.1);
}

.screen .video video{
	width:1024px;
	margin-top:54px;
	border:0px;	
}
.screen .style_pc video{
	margin-top:0px;
	width:650px;
	height:370px;
	width:100%;
	height:100%;
}
.screen .video video:focus{
	outline: none;
}
.screen .video iframe{
	width:645px;
	height:370px;
	border:0px;	
}

/* details ?? */

.details{
	position:relative;
	background:none
	padding-bottom:100px;
}
.details .frame{
	border-top:2px solid #212121;
	max-width:940px;
	margin:0px auto;
	padding-top:25px;
}

.details .item{
	width:50%;
	float:left;
}
.details .item .inner{
	padding:20px;
}
.details .item img{
	width:100%;	
}

/* text ?? */

.text{
	position:relative;
	overflow:hidden;
}
.text .inner{
	position:relative;
	margin:0px auto;
}
.text .num{
	position:absolute;
	padding:15px 54px 0px 25px;
}



/* basket */

#basket{
	display:block;
	position:fixed;
	top:0px;
	right:-500px;
	width:500px;
	height:100%;
	z-index:7000;
	opacity:0;
	color:#000;
	transition:all 0.4s;
	background:#fafafa;
}
.basket-show #basket{
	right:0%;
	opacity:1;
}
#basket .close{
	position:absolute;
	top:0px;
	left:36px;
	width:56px;
	height:56px;
	background:url(../img/icon_close.svg) no-repeat center center;
	background-size: 40px;
    //display:none;
}
#basket.checkout{
    position:relative;
    right:0px;
    width:auto;
    height:auto;
    opacity:1;
    background:none;
}

#basket.trans{
}

#basket .inner{
	padding:52px 56px 0px 52px;
	height:100%;
}
#basket.on.ispage .inner{
	background:#fafafa;
	border-left:2px solid #000;	
}
#basket.checkout .inner{
	padding:0px;
}
#basket .title{
    padding:14px 0px;
	border-bottom:2px solid #00f;
    display: none;
}
#basket .emptystate{
	border-top:2px solid #000;	
	padding:14px 0px;
}
#basket.yes .emptystate{
	display:none;
}
#basket .items{
	display: none;
   
}
#basket.yes .items{
    display: block;
}
#basket .item{
	position:relative;
	border-top:2px solid #000;	
	display:flex;
}
#basket.ispage .item{
}
#basket .item:last-child{
	border-bottom:0px;
}
#basket .item .img{
	flex:0 0 120px;
	width:120px;
}
#basket .item .space{
    flex:0 0 120px;   
}
#basket .item .img img{
	width:120px;
}
#basket .item .info{
	padding:10px;
	font-size:15px;
	line-height:20px;
}

#basket.checkout .small .info{
	font-size:15px;
	line-height:20px;	
}
#basket .link{
    display:block;
    font-size:15px;
    padding:16px;
	text-align:center;
}
#basket.checkout .item .price{
	position:absolute;
    top:0px;
    right:56px;
    padding:10px 0px;
}
#basket .item .remove{
	position:absolute;
	top:-5px;
	right:-15px;
	width:56px;
	height:56px;
	background:url(../img/icon_trash.svg);	
}
#basket .button{
	display:none;
}
#basket.yes .button{
	display:block;
}

#basket .continue{
	display:none;
	line-height:56px;
	margin-top:12px;
	padding:0px 16px;
	background:rgba(0,0,0,0.1);
	text-align:center;
	transition:all 0.5s;
}
#basket.ispage .continue{
	display:block;
}
#basket .continue:hover{
	background:rgba(0,0,0,0.2);	
}

/* --------------------------------------------------------------*/

/* custom cursors */
.cursor{
	cursor:s-resize
}
.cursor-right{
	cursor:url(../img/cursor_right.png) 10 10,e-resize;
}
.cursor-left{
	cursor:url(../img/cursor_left.png) 10 10,w-resize;
}
.cursor-up{
	cursor:url(../img/cursor_up.png) 10 10,n-resize;
}
.cursor-down{
	cursor:url(../img/cursor_down.png) 10 10,s-resize;
}
.cursor-close{
	cursor:url(../img/cursor_close.png) 10 10,pointer;
}
.cursor-stop{
	cursor:url(../img/cursor_stop.png) 10 10,pointer;
}

.cursor-right2{
	cursor:url(../img/cursor_right2.png) 11 10,e-resize;
}
.cursor-left2{
	cursor:url(../img/cursor_left2.png) 11 10,w-resize;
}
.cursor-up2{
	cursor:url(../img/cursor_up2.png) 11 10,n-resize ;
}
.cursor-down2{
	cursor:url(../img/cursor_down2.png) 11 10,s-resize;
}
.cursor-close2{
	cursor:url(../img/cursor_close2.png) 11 10,pointer;
}
.cursor-stop2{
	cursor:url(../img/cursor_stop2.png) 11 10,pointer;
}

.h-link{
	display:block;
	cursor:pointer;
	padding:0px 0px 0px 22px;
}
div.on .h-link{
	background:url(../img/navon.png) no-repeat;
}
.h-title{
	padding:0px 0px 0px 22px;	
}
.h-text{
	display:none;
	padding:0px 0px 0px 22px;
}
.smallonly{
	display:none;	
}
.mobileonly{
	display:none;	
}

.overview .project .infotext{
	display:none;
}
.overview .project .title{
	display:none;
}
.overview .screen .dia .inner{
	padding-top:20px;
	padding-bottom:0px;
}

/* media queries */
p.half{
	padding-bottom:40px;
	width:50%;
}

@media (hover: none) {
  #cursor{
   	display: none !important;
  }
}
@media screen and (max-width: 1074px) {
	
	.smallhide{
		display:none;
	}
	.smallonly{
		display:inline-block;
	}
	
	.project .infotext .inner{
		width:100%;
	}
	
}

@media screen and (max-width: 500px) {
	.mobileonly{
		display:block;	
	}
	
	html,body{
		font-size:15px;	
		line-height:20px;
        width:100%;
        overscroll-behavior-x: none;
	}
	.header .back{
		display:none;
	}
	.header .titlebar{
		top:0px;
		padding:17px 80px 17px 12px !important;
	}
	.header .titlebar .pagetitle3{
		padding-left:42px;	
	}
	
	.page{
		top:52px;	
	}
	
	/* home*/
	
	#burger-nav{	
		background:url(../img/icon_burger_m_i.svg) no-repeat center;
		background-size:54px;
		width:40px;
		right:7px;
	}
	#burger-nav.on{
		background:url(../img/icon_burger_x_i.svg) no-repeat center;
		background-size:54px;
	}
	#basket-nav{
		display:block;
		right:46px;
		top:0px;
		width:40px;
		background:url(../img/icon_basket.svg);
		background-size:54px;
		
	}
	
	#overview-nav{
		//display:none !important;
		width:40px;
		right:46px;
		top:0px;
		background:url(../img/icon_overview_m_i.svg) no-repeat center;
		background-size:54px;
	}
	
	.dot{
		width:32px;
		height:32px;
	}
	.dot:after{
		width:16px;
		height:16px;
	}
	
	.pagenav li span{
		padding:2px 32px;
	}
	.pagenav li > .dot{
		margin-top:-4px;
	}
	
	.project .titlebar{
		position: absolute;
		padding:12px 56px 12px 12px;
		padding:6px 6px 6px 32px;
	}
	.project .titlebar .dot{
		//display:none;	
	}
	.project .titlebar .title{
		white-space: nowrap;
  		overflow: hidden;
  		text-overflow: ellipsis;
	}
	.project .titlebar .pageing{
		padding:5px 6px;
	}
	.nav li span{
		padding:3px 44px;
	}
	.nav li .dot{
		height:25px;	
	}
	.fixedheader .nav{
		top:44px;
	}
	
	p.half{
		padding-bottom:20px;
		width:100%;
	}
	
	/* slider */
	
	.slider .slide > .inner{
		padding:0px;
	}
	.slider .slide.style-poster .inner{
		padding:44px 0;
	}
	.slider .slide.style-poster .inner .bg{
		display: flex;
		justify-content: center;
	}
	
	/* screen */
	
	.slider .slide.style-screen .inner{
		padding:0px;
        width:100%;
        height:100%;
        display: flex;
        justify-content: center;
        align-items: center;
	}
    .slider .slide.style-screen .inner .bg{
        width:100%;
        height: auto;            
    }
	.slider .slide.style-screen .bgimg{
		width:100%;
		height:auto;
	}
	
    .slider .slide.style-pc .media{
        //width:92%;
        //left:4%;
        //top:10.5%;
    }
	.slider .slide.style-screen .media img{
		width:100%;
		height:auto;
	}
	
	/* pc */
	
	.slider .slide.style-pc .inner{
		padding:0px 22px;
        width:100%;
        height:100%;
        display: flex;
        justify-content: center;
        align-items: center;
	}
    .slider .slide.style-pc .inner .bg{
        width:100%;
        height: auto;            
    }
	.slider .slide.style-pc .bgimg{
		width:100%;
		height:auto;
	}
    .slider .slide.style-pc .media{
        width:92%;
        left:4%;
        top:10.5%;
    }
	
	/* tablet */
	
	.slider .slide.style-tablet .inner{
		padding:0px 22px;
        width:100%;
        height:100%;
        display: flex;
        justify-content: center;
        align-items: center;
	}
    .slider .slide.style-tablet .inner .bg{
        width:100%;
        height: auto;            
    }
	.slider .slide.style-tablet .bgimg{
		width:100%;
		height:auto;
	}
    .slider .slide.style-tablet .media{
        width:77%;
        left:11.5%;
    }
	
	/* pagination */

	.slider .pagination{
		bottom:16px;
	}
	.slider .pagination > li{
		min-width:6px;
		height:6px;
		margin:0 2px;
	}
	.slider .pagination > li:after{
		width:6px;
		height:6px;
	}
	.slider .paginationi li{
		margin:0 1px;
	}
	.slider .paginationi li::after{
		height:6px;
	}
	.slider .pagination li.on .paginationi{
		margin:0px -8px 0px 2px;
	}
	
	/* main nav*/
	
	.mainnav{
		padding-top:54px;
		padding-bottom:54px;
		
	}
	
	/* projects */
	
	.screen .dia .bg{
		padding-bottom:0px !important;
	}
	.screen .dia .inner{
		padding-top:44px;	
	}
	
	.overview-all .project{
		width:33.33%;	
	}
	.project{
		height:auto;
	}
	
	/* infobutton */
	
	.project .infob{
		top:auto;
		bottom:20px;
		right:20px;
		width:50px;
		height:50px;
		margin:0px;
	}
	.project .infob div{
		line-height:48px;
		font-size:12px;
	}

	/* infotext */
	
	.project .infotext{
		position:relative;
		display:none;
		width:100%;
		left:-100%;
		left:0px;
		height:auto;
		opacity:1;
		//background:#212121;
	}
	.project .infotext .text{
		padding:12px 12px 24px  12px;
	}
	.project .infotext.on{
		display:block;	
	}
	.project .infotext .titlebar{
		display:none;
	}
	.project .infotext p{
		//padding:12px 12px 34px;
		//color:#fafafa;
	}
	.project .infotext a{
		//color:#fafafa;	
	}
    .project .infotext h3{
        font-size:11px;
    }
	.project .infotext li{
        padding-left:16px;
    }
	
	#graphic .project .infotext{
    	//background:#fafafa;
	}
	#graphic .project .infotext .inner p, .graphic .project .infotext .inner a{
    	//color:#212121;
	}
	
	/* infotext shop */
	.project .infotext.shopinfo{
		width:100%;
		background:#fff;
	}
	
	.project .infotext.shopinfo p{
		margin:0px;
		color:#000;
	}
	.project .infotext.shopinfo a{
		color:#000;
	}
	
	/* section text*/
	
	.section > .inner.text{
		padding:12px;
	}
	#home .section > .inner.text{
		padding:12px 14px;
	}
	
	.overview .project > .slider > .slide{
		
		width:25vw;
		aspect-ratio:1;
	}
	
	/* dot nav */
	
	.screen-navp{
		bottom:-10px;
		height:20px;
	}
	
	.screen-navp li{
		width:20px;
		height:20px;
	}
	
	.screen-navp i{
		width:8px;
		height:8px;
	}
	.screen-navp li.slides.on i{
		width:8px;
		height:8px;
	}
	
	/* vbook */
	
	.vbook{
		height:60% !important;
	}
	/* basket */
	
	#basket{
		right:100%;
		width:100%;
		padding-top:0px;
        overflow-x:hidden;
        overflow-y: scroll;
        background: #fff;
		z-index:15000;
	}
	#basket .close{
		display:block;
		top:0px;
		right:2px;
		left:auto;
		width:48px;
		height:48px;
		background:url(../img/icon_close_m.svg);
	}
	#basket .inner{
		padding: 0px 12px 0px 12px;
		border:0px !important;
	}
	#basket .title{
		display:block;
		border-bottom:0px;
		padding: 17px 0px 17px;
	}
   
    #basket .item{
		border-top: 1px solid rgba(0,0,0,0.2);
	}
	#basket .item:first-child{
		border-top: 2px solid rgba(0,0,0,1); 
	}
	#basket .emptystate{
		border-top: 1px solid rgba(0,0,0,0.2);
	}
	#basket .button{
		margin-top:0px;
	}
	#basket .continue{
		display:block;
	}
	
	
	/* grid */
	
	.rows .cell{
		width:100%;	
	}
}


/* animations */

@keyframes scroll {
    0%   {top:0px;}
	30%   {top:0px;}
    35%  {top:-450px;}
	90%  {top:-450px;}
    100% {top:0px;}
}
@-webkit-keyframes scroll {
    0%   {top:0px;}
	40%   {top:0px;}
    45%  {top:-450px;}
	90%  {top:-450px;}
    95% {top:0px;}
}

