@charset "utf-8";
/* CSS Document */
/*
body {
	height: 100%!important;
	margin: 0!important;
}
.headline {

}

.container {
	max-width: initial!important;
	z-index: 8001;
	margin: 0 auto;
	float: left;
	padding: initial!important;
	margin-bottom: 0!important;
} 
.container.slider {
	position: relative;
	display: block;
	height: 100%;
	width: 100%;
}
.grid {
	position: relative!important;
	width: 100%!important;
	margin: 0 auto;
}
*/

a.project__image {
	cursor: initial!important;
}

span.action {
	margin-right: 0;
	text-align: right!important;
}
/*
span.action > a:hover:before {
	visibility: visible;
	-webkit-transform: scaleX(1);
	    -ms-transform: scaleX(1);
	        transform: scaleX(1);
}
span.action > a {
	position: relative;
	color: var(--softBlack);
	margin: 0 auto;
	font-size: 1.4em;
	font-family: Hind, sans-serif;
	font-family: font3, sans-serif;
	-webkit-transition: all ease 0.5s;
	-o-transition: all ease 0.5s;
	transition: all ease 0.5s;
	-webkit-filter: drop-shadow(3px 3px 3px rgba(0,0,0,.1));
	        filter: drop-shadow(3px 3px 3px rgba(0,0,0,.1));
	text-decoration: none;
}
span.action > a:hover {
	color: var(--softBlack);
	-webkit-filter: drop-shadow(1px 1px 1px rgba(0,0,0,.1));
	        filter: drop-shadow(1px 1px 1px rgba(0,0,0,.1));
}
span.action > a:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: 0;
	-webkit-filter: drop-shadow(1px 0px 1.5px rgba(0,0,0,0));
	        filter: drop-shadow(1px 0px 1.5px rgba(0,0,0,0));
	left: 0;
	background-color: var(--softBlack);
	visibility: hidden;
	-webkit-transform: scaleX(0);
	    -ms-transform: scaleX(0);
	        transform: scaleX(0);
	-webkit-transition: all 0.3s ease-in-out 0s;
	-o-transition: all 0.3s ease-in-out 0s;
	transition: all 0.3s ease-in-out 0s;
}
span.action > a:hover:before {
	visibility: visible;
	-webkit-transform: scaleX(1);
	    -ms-transform: scaleX(1);
	        transform: scaleX(1);
}
*/ /*
.slide-page {
	max-height: 100vh;
	overflow: hidden!important;
} */
/*
.slide-page h2, .slide-page h3 {
	margin: 0;
	font-weight: 500;
	font-size: 2.6em!important;
	text-align: center!important;
	color: var(--CIGrey);
	font-family: font3, sans-serif;
	filter: var(--bigshadow);
}
h2 {
	width: 100%;
	font-size: 2.4em!important;
}
h1 {

}*/
.carousel {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}
.carousel-inner {
	height: 100%;
	background-color: grey;
}
.carousel-item {
	height: 100%!important;
	width: 100%!important;
	-o-object-fit: cover!important;
	   object-fit: cover!important;
	/*transition: transform 0s ease, opacity 0.2s all ease!important;
	*/
	background-size: cover!important;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
/*.carousel-fade .carousel-item {
	opacity:0;
	height: 100vh;
	width: 100vw;
	transition-duration:0.2s;
	transition-property:opacity
}
*/
/*.carousel-item:nth-child(1).active {
	height: 100vh;
	width: 100vw;
	background: grey url( img/roemer-1400.jpg) center center no-repeat;
}
.carousel-item:nth-child(2).active {
	height: 100vh;
	width: 100vw;
	background: url(img/strand_nebel.jpg);
}
.carousel-item:nth-child(3).active {
	height: 100vh;
	width: 100vw;
	background: url(img/Gletscher.jpg);
}
.carousel-inner {
	min-width: 900px;
	background-size: cover!important;
}

.slide-page p {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 10px 20px;
	text-align: center;
}*/
.prev-page, .next-page, a.goto {
	position: absolute;
	opacity: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 50px;
	width: 50px;
	/*
	border-left: 6px solid var(--CIGrey);
	border-bottom: 6px solid var(--CIGrey);
	*/
	z-index:9000!important;

}
.prev-page svg {
	display: block;
	width: 65px;
	height: 65px;
	fill: var(--CIGrey);
	-webkit-transition: all ease 0.8s;
	-o-transition: all ease 0.8s;
	transition: all ease 0.8s;
	margin: 0 auto;
	        filter: var(--bigshadowhard);
	cursor: pointer;
	-webkit-animation-name: bounce;
	        animation-name: bounce;
	-webkit-animation-duration: 5s;
	        animation-duration: 5s;
	-webkit-animation-timing-function: all ease;
	        animation-timing-function: all ease;
	-webkit-animation-delay: 0.2s;
	        animation-delay: 0.2s;
	-webkit-animation-direction: normal;
	        animation-direction: normal;
	-webkit-animation-iteration-count: infinite;
	        animation-iteration-count: infinite;
	-webkit-animation-fill-mode: none;
	        animation-fill-mode: none;
}
.prev-page.single {
	left: initial;
	right: 15%;
	top: initial;
	bottom: 25%;
	/*
	-webkit-transform: rotate(-45deg)!important;
	    -ms-transform: rotate(-45deg)!important;
	        transform: rotate(-45deg)!important; 
	*/
}
.next-page, .stickright {
	position: absolute;
	margin: 0 auto;
	display: block;
	top: initial;
	pointer-events: all;
	left: 50%;
}
.next-page.up {
	-webkit-transform: rotate(135deg)!important;
	    -ms-transform: rotate(135deg)!important;
	        transform: rotate(135deg)!important;		
}
.next-page, .prev-page {
	pointer-events: all;
}

.prev-page:focus {
	background: none;
	-webkit-transform: rotateY(90deg);
	        transform: rotateY(90deg);
}
.prev-page:hover svg, .next-page:hover {
	-webkit-animation-play-state: paused;
	        animation-play-state: paused;
	        filter: var(--buttonshadow2);
}
@-webkit-keyframes pulse {
	0% {
		margin-top: -12px;
		opacity: 0;
	}
	20% {
		margin-top: -4px;
		opacity: 1;
	}
	70% {
		margin-top: -2px;
		opacity: 1;
	}
	100% {
		margin-top: 0px;
		opacity: 0;
	}
}
@keyframes pulse {
	0% {
		margin-top: -12px;
		opacity: 0;
	}
	20% {
		margin-top: -4px;
		opacity: 1;
	}
	70% {
		margin-top: -2px;
		opacity: 1;
	}
	100% {
		margin-top: 0px;
		opacity: 0;
	}
}
.next-page:active {
	-webkit-transform: rotateY(90deg);
	        transform: rotateY(90deg);
}
.pagination {
	width: 12px;
	height: calc(100vh - 210px)!important;
	position: fixed;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	pointer-events: none;
	top: 305px;
	right: 0;
	z-index: 9002;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 0px 0px;
	overlflow: visible;
	-webkit-transform: translate(0, 0);
	    -ms-transform: translate(0, 0);
	        transform: translate(0, 0);
}
.pagination a {
	width: 20px;
	height: 20%;
	border-radius: 100%;
	margin-bottom: 4px;
	display: block;
	text-align: center;
	z-index:9002!important;
	-webkit-transition: background .3s ease;
	-o-transition: background .3s ease;
	transition: background .3s ease;
}
.pagination a:after {
	content: "";
	display: block;
	cursor: pointer;
	height: 100%;
	width: 10px;
	z-index:9003!important;
	background: var(--CIGrey)!important;
	-webkit-transition: background .3s ease;
	-o-transition: background .3s ease;
	transition: background .3s ease;
}
.pagination a.active:after {
	background: var(--CIRed)!important;
	z-index:9002!important;
	width: 10px;	
	cursor: initial;
}
.pagination a.active {
	z-index:9002!important;
	cursor: initial;
}
.page2 {
	/*background: url(img/portfolio-1400.jpg);
	/*filter: contrast(1.4) saturate(1.8) sepia(.6);
	background-size: cover;
	padding: 0!important;*/
}
.page3 {
	/*
	background-color: none;
	background-size: cover;
	padding: 0!important;
	*/
}
.page4 {
	background-color: none;
	background-size: cover;
	padding: 0!important;
}
.page5 {
	background-color: none;
	height: 100%;
	background-size: cover;
	padding: 0!important;
}
.page6 {
	background-color: rgb(204, 177, 102);
}
.step1 {
	/*
	padding-top: 80px!important;
	*/
}
/*

.step1 p {
	padding: 0!important;
	line-height: 1.4em;
	margin-bottom: 0;
	text-transform: uppercase;
	text-align: left;
	font-size: 1.4em;
	font-weight: 500;
	font-family: 'Oswald', sans-serif;
	mix-blend-mode: Luminosity;
	-webkit-animation: 15s ease-out 0s infinite upscrollsmall;
	        animation: 15s ease-out 0s infinite upscrollsmall;
	-webkit-animation-delay: 2.5s;
	        animation-delay: 2.5s;
	color: var(--softwhite);
	text-shadow: 2px 1.5px 0 rgba(0,0,0,.5);
}
.step1 {
	position: absolute;
	bottom: 20vh;
	left: 4%;
	text-align: left;
	width: 90%!important;
	height: 4em;
	background-color: none;
	padding: 0px!important;
	overflow: hidden;
}
.step1 p#we {
	float: left;
	color: var(--CIGrey);
	mix-blend-mode: initial!important;
	-webkit-animation: none!important;
	        animation: none!important;
	z-index: 1200;
	text-shadow: 2px 1.5px 0 var(--softBlack);
}



*/
/*.step {
	position: initial;
	height: initial;
	bottom: initial;
	top: initial;
	left: initial;
	float: left;
	width: initial;
}
*/
*
.page2 .container, .page4 .container.narrow {
    z-index: 8001;
    display: block;
    width: 100%!important;
    height: 305px!important;
    position: absolute;
    top: 0;
    text-align: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: rgba(82,110,178,0.88); 
	background-color: rgba(189,222,229,0.88);
    right: 1px;
}
.page3 .container.narrow, .page5 .container.narrow {
	position: absolute;
	margin-right: -50px;
	z-index: 8001;
	width: 100%!important;
	right: 0;
}
.container.narrow.left .step1 {
	position: absolute;
	bottom: 0!important;
	width: 100%!important;
	height: 100%!important;
	vertical-align: top;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.container.second {
	z-index: 8001;
	display: initial!important;
	width: 100%!important;
	height: auto!important;
	padding-bottom: 20px;
}
.container.thick.right {
	position: absolute;
	width: 100%!important;
	right: 0px;
	bottom: 0;
}
.page3 .container .step2 section, .page5 .container .step2 section, .step2 section {
	position: absolute;
	margin-left: 0px!important;
	-webkit-animation: 0.7s fadeInDown;
	        animation: 0.7s fadeInDown;
	height: 95px!important;
	width: 100%!important;
}
.container.thick.left {
	position: absolute;
	width: 100%!important;
	left: 0px;
}
.flex-container-left {
	position: absolute;
	bottom: 0;
	left: 0;
	max-height: 700px;
	height: 100%;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}
.flex-container {
	position: absolute;
	bottom: 22px;
	padding: 0!important;
	right: 0;
	height: 100%;
	width: 98%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.page3 .container.narrow, .page5 .container.narrow {
	position: absolute;
	right: 0;
	text-align: center;
	display: block;
	width: 100%;
	margin-right: 0;
	height: 100%!important;
	padding-right: 50px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.page3 .step1, .page5 .step1 {
	position: absolute;
	bottom: 0px;
	right: 0;
	text-align: center;
	width: 0%;
	margin-right: 0!important;
	height: 100%;
	background-color: rgba(178, 79, 65, 0.88);
}
.page4 .container {
	padding-bottom: 20px;
}
.animated {
	-webkit-transition: all ease 1s;
	-o-transition: all ease 1s;
	transition: all ease 1s;
}
.pagination-page {
	position: absolute;
	height: 100%;
	width: 100%;
	bottom: 0;
	right: 0;
	pointer-events: all;
	z-index:9002!important;
}
.short {
	position: relative;
	height: 60vh;
	width: 100vw;
	left: 0;
	top: 0;
}
.iconcontainer {
	display: block;
}	
.abouticon {
	width: 100%;	
	height: 100%;
	display: block;
	filter: var(--bigshadow);
	text-align: center;
}
.abouticon h3 {
	margin: 0em 0 0.77em 0 !important;
}
.abouticon img {
	width: 70%!important;
	margin: 0 auto;
}
.grid-item.grafikbox blockquote  {
	width: 100%;
	margin: 0 auto;
}
.grid-item.about.smalldevi {
	display: block;
}
.grid-item.about.bigdevi {
	display: none;
}
.grid-item.grafikbox, .grid-item.grafikbox blockquote  {
	text-align: center;
	height: auto;
}
.grid-item.zweidrittel p {
	margin: 0.0em 0 0.07em 0 !important;
}
.grid-item.zweidrittel h3 {
	font-size: 1.4em;
	margin: 0.27em 0 0.27em 0 !important;
}
.project.grid-item {
    margin-bottom: 10em;
}
@media (min-width: 576px) {
}
@media (min-width: 768px) {

.grid-sizer,
.grid-item {
	width: 32%;
}
.grid-sizer.about, .grid-item.about {
	width: 32%!important;
}
.grid-item.grafikbox blockquote {
	width: 50%;
}
.grid-item.about.smalldevi {
	display: none;
}
.grid-item.about.bigdevi {
	display: block;
}
.grid-item.about.grafikbox {
	width: 100%!important;
}
.abouticon h3 {
	margin: 0.67em 0 0.47em 0 !important;
}
.abouticon {
	display: inline;
	width: 50%;
	height: 50%;
}
.abouticon.last{
	display: block;
	left: 0; 
	right: 0; 
	margin-left: auto; 
	margin-right: auto;
}
.iconcontainer {
	display: flex;
	justify-content: space-between;
}	
.page1 .step1 {
	height: 2em;
}
.abouticon p {
	padding: 0.5em;
}	
.abouticon img {
	width: 70%!important;
	margin: 0 auto;
}	
}
@media (min-width: 992px) {

.prev-page, .next-page, a.goto {
	height: 80px;
	width: 80px;
}
.prev-page svg {
	width: 80px;
	height: 80px;
}
.prev-page.single {
	left: initial;
	right: 15%;
}
.abouticon img {
	width: 60%!important;
	margin: 0 auto;
}	
}
@media (min-width: 1200px) {
	.grid-item.grafikbox blockquote  {
		width: 40%;
	}
	.page1 .step1 {
		bottom: 20vh;
		left: 8%;
		width: 960px!important;
		height: 2em;
	}
	.page1 .step1 p {
		line-height: 1em;
		font-size: 2em;
		font-weight: 500;
		-webkit-animation-delay: 2.75s;
		        animation-delay: 2.75s;
		-webkit-animation: 15s ease-out 0s infinite upscroll;
		        animation: 15s ease-out 0s infinite upscroll;
	}
	.step1 p#we {
	}
	.page1 .step2 {
		position: absolute;
		text-align: left;
		width: 40em;
		height: 2em;
		background-color: red;
		padding: 0!important;
		overflow: hidden;
	}
	.teaser-container {
		float: left;
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 50%!important;
		line-height: 2em;
		text-align: left;
		-webkit-box-align: left;
		    -ms-flex-align: left;
		        align-items: left;
		background-color: none!important;
		-webkit-box-pack: initial!important;
		    -ms-flex-pack: initial!important;
		        justify-content: initial!important;
	}
	.teaser-container p {
		float: left;
		position: relative;
		display: inline;
		line-height: 3em;
		text-align: left;
		-webkit-box-align: left;
		    -ms-flex-align: left;
		        align-items: left;
		-webkit-box-pack: initial!important;
		    -ms-flex-pack: initial!important;
		        justify-content: initial!important;
	}
	.page3 .container.narrow, .page5 .container.narrow {
		width: calc(35% + 50px)!important;
	}
	.container.narrow.left .step1 {
		width: calc(100%)!important;
		height: calc(100% - 80px)!important;
	}
	.page3 .container.narrow .step2 section, .page5 .container.narrow .step2 section {
	}
	.step1 section {
		font-size: 1.2em;
		line-height: 1.4em!important;
	}
	.container.thick.right {
		bottom: initial;
		width: calc(65% - 45px)!important;
		right: 45px;
	}
	.container.thick.left {
		width: 65%!important;
	}
	.flex-container-left {
		max-width: 700px;
		max-height: 700px;
		height: calc(100vh - 80px);
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		        align-items: flex-start;
	}
	.flex-container {
		height: calc(98% - 130px);
		width: 98%;
	}
	.page2 .step2 {
	}
	.page3 .container.narrow, .page5 .container.narrow {
		width: calc(35% + 50px)!important;
	}
	.page3 .step1, .page5 .step1 {
		margin-right: -50px!important;
	}
	.page3 .step2, .page4 .step2, .page5 .step2 {
		-webkit-transform: translateY(50%);
		    -ms-transform: translateY(50%);
		        transform: translateY(50%);
		height: 75%!important;
		width: 100%!important;
		top: 0;
		line-height: 100%;
	}
	.page5 .container {
		padding-bottom: 20px;
	}
	.pagination-page {
		position: absolute;
		bottom: 0;
		right: 0;
		pointer-events: all;
	}
}
