html {
    width: 100%;
    height: 100%;
}

body {
    width: 100%;
    height: 100%;
    font-family: "Roboto Slab","Helvetica Neue",Helvetica,Arial,sans-serif;
    color: #000;
    background-color: #fff;
    font-size: 100%;
    font-weight: 400;  
}

/*** für iOS modalbox scroll-bug jquery fix ***/
.noscroll {	position: fixed; }
.yesscroll { position: relative; }
/*** für iOS Scroll-bug jquery fix ***/


h1, h2, h3, h4, h5, h6 {
    margin: 0 0 35px;
    text-transform: uppercase;
    font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 700;
    letter-spacing: 1px;
    color: #2F81BB;
}

h1	{ font-size: 2.3em; }
h2	{ font-weight: 400; font-size: 2.0em; }
h3	{ font-weight: 400; font-size: 1.7em; }

p {
    margin: 0 0 25px;
    font-size: 18px;
    line-height: 1.5;
}

@media(min-width:767px) {
    p {
        margin: 0 0 35px;
        font-size: 20px;
        line-height: 1.6;
    }
    h1 { font-size: 3.5em; }  
}

a {
    color: rgba(0,0,0,1);
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
	-webkit-hyphens: none;
 	   -moz-hyphens: none;
 	    -ms-hyphens: none;
 		    hyphens: none;
 		    outline: 0;	    
}

a:hover, a:focus {
    text-decoration: none;
    color: #2F81BB;
     		    outline: 0;	
}

/*************************************
Navi
*************************************/

.navbar {
    margin-bottom: 0;
    border: 0px solid red;
    border-bottom: 1px solid rgba(0,0,0,.1);
    text-transform: uppercase;
    font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 400;
    background-color: rgba(255,255,255,.9);
}

a.navbar-brand {
	border: 0px solid green;
	width: 110px;
	height: 20px;
	margin: 14px 0 0 14px;
	background: url(../img/logo-blau.svg) no-repeat;
	background-size: contain;
}

.navbar-brand:focus { outline: 0; }

.navbar-custom a {
    color: rgba(0,0,0,.6);
    font-size: 130%;
}

.fa-bars	{ font-size: 22px; }

.navbar-custom .nav li a { background: none; }

.navbar-custom .nav li a:hover,
.navbar-custom .nav li.active {
    outline: 0;
    border: 0px solid red;
    color: #2F81BB;
}

.navbar-custom .nav li.active a { color: #2F81BB; }

.navbar-toggle {
    padding: 5px 5px 0 0;
    font-size: 16px;
}

.navbar-toggle:focus,
.navbar-toggle:active { outline: 0; }


@media(min-width:991px) {
    .navbar {
        padding: 15px 0;
    	border-bottom: 1px solid rgba(0,0,0,.2);
        letter-spacing: 1px;
        background-color: rgba(255,255,255,.0);
		background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,0.3)));
		background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.3) 100%);
		background: -o-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.3) 100%);
		background: -ms-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.3) 100%);
		background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.3) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#4dffffff',GradientType=0 );

        -webkit-transition: background .5s ease-in-out, padding .5s ease-in-out;
           -moz-transition: background .5s ease-in-out, padding .5s ease-in-out;
        		transition: background .5s ease-in-out, padding .5s ease-in-out;
    }
    .navbar-custom .nav li a { mcolor: #fff; }
    
    a.navbar-brand {
		border: 0px solid green;
		width: 140px;
		background-image: url(../img/logo-weiss.png);  /* IE Bug, must be png, otherwise svg will scale wrong */
		margin: 11px 0 0 0 !important;
		-webkit-transition: none;
       	   -moz-transition: none;
    			transition: none;
	}
	
    .top-nav-collapse a.navbar-brand {
		border: 0px solid red;
		background-image: url(../img/logo-blau.svg);
	}

	

    .top-nav-collapse {
        padding: 0;
        background-color: rgba(255,255,255,.9);
    }
    
    .navbar-custom .nav li a { color: rgba(255,255,255,.8); }
    .navbar-custom .nav li a:hover { color: #fff; }
    .navbar-custom .nav li a:focus { color: #fff; outline: 0; }
    
    .navbar-custom.top-nav-collapse.navbar-custom a	{ color: rgba(0,0,0,.6); }

    .navbar-custom.top-nav-collapse .nav li a:hover	{ color: #2F81BB; }
    .navbar-custom.top-nav-collapse .nav li a:focus	{ color: #2F81BB; }
      
    .navbar-custom.top-nav-collapse { border-bottom: 1px solid rgba(0,0,0,.1); }
}

/************************************
spezielle Erweiterung wegen überlanger Navbar bzw. 5 statt4 Links
*************************************/
@media (max-width: 991px) {


	.navbar {
		outline: 0px solid green;
		padding: 0px;
		background-color: rgba(255,255,255,.9);
	}

	a.navbar-brand {
		outline: 0px solid green;
		width: 110px;
		height: 20px;
		margin: 14px 0 0 14px;
		background: url(../img/logo-blau.svg) no-repeat;
		background-size: contain;
	}


    .navbar-header {
        float: none;
    }
    .navbar-left,.navbar-right {
        float: none !important;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }
    .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }
    .navbar-collapse.collapse {
        display: none!important;
    }
    .navbar-nav {
        float: none!important;
        margin-top: 7.5px;
    }
    .navbar-nav>li {
        float: none;
    }
    .navbar-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .collapse.in{
        display:block !important;
    }
   .navbar-nav .open .dropdown-menu {
       position: static;
       float: none;
       width: auto;
       margin-top: 0;
       background-color: transparent;
       border: 0;
       -webkit-box-shadow: none;
       box-shadow: none;
    }
}



/*************************************
Intro Film
*************************************/

.abstandhalter	{
	height: 50px; 
	border: 0px solid red;
} 

.intro {
    display: table;
    width: 100%;
    padding: 0;
    margin: 0;
    text-align: center;
    color: #fff;
    height: auto;
	height: 100%;
    background-color: #fff;
    border: 0px solid green;
}

.videoDiv	{ 
	width: 100%; 
	height: 100%;
	z-index: 1000; 
	position: absolute; 
	z-index: 0; 
	left: 0;
	background-color: #fff;
	border: 0px solid red;
}

.gridoverlay	{
	border: 0px solid red; 
	position: absolute; 
	top:0; 
	left: 0; 
	width: 100%; 
	height: 100%;
	background: url(../img/video-raster.png);
}

.intro-body {
    display: table-cell;
    vertical-align: middle;
    border: 0px solid red; 
    position: absolute; 
    top: 45%; 
    width: 100%; 
}

p.intro-text {
	font: 110% Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
	text-transform: uppercase;
	letter-spacing: 5px;
    border: 0px solid red;
	text-shadow: 0 1px 8px rgba(0,0,0,.3);
}

@media(min-width:767px) {
    .intro {
    	border: 0px solid red;
		height: 100%;
	}
	.videoDiv	{ height: 100%; }     
	p.intro-text {
		letter-spacing: 8px;
		display: inline;
		font-size: 150%;
		border: 0px solid green;
	}
}

/*************************************
Scroll Button
*************************************/

.page-scroll .btn-circle	{
	border: 0px solid red;
	position: absolute;
	margin-left: -35px;
	left: 50%;
	top: 75%;
}

@media(min-width:767px) {
	.page-scroll .btn-circle { top: 85%; }
}


.btn-circle {
    width: 70px;
    height: 70px;
    margin-top: 15px;
    padding: 8px 16px;
    border: 2px solid #fff;
    border-radius: 35px;
    font-size: 40px;
    color: #fff;
    background: rgba(255,255,255,.1);
    -webkit-transition: background .3s ease-in-out;
    -moz-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
}

.btn-circle:hover,
.btn-circle:focus {
    outline: 0;
    color: #fff;
    background: rgba(255,255,255,.3);
}

.page-scroll .btn-circle i.animated {
    -webkit-transition-property: -webkit-transform;
    -webkit-transition-duration: 1s;
    
    -moz-transition-property: -moz-transform;
    -moz-transition-duration: 1s;
    
    -webkit-animation-name: pulse;
    -moz-animation-name: pulse;
    
    -webkit-animation-duration: 2.0s;
    -moz-animation-duration: 2.0s;
    
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

.page-scroll .btn-circle:hover i.animated {

}


@-webkit-keyframes pulse {    
    0 {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-moz-keyframes pulse {    
    0 {
        -moz-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -moz-transform: scale(1.2);
        transform: scale(1.2);
    }

    100% {
        -moz-transform: scale(1);
        transform: scale(1);
    }
}


/*************************************
Section standard
*************************************/

.content-section {
    padding-top: 100px;
    padding-bottom: 100px;
}

@media(min-width:767px) {
    .content-section {
		padding-top: 250px;
		padding-bottom: 250px;
    }
}


/*************************************
Section Projekte
*************************************/

.projekte-section {
    color: #999;
    background-color: #eee;
    border: 0px solid orange;
    width: 100%;
	padding: 12%;
	padding-top: 30px;
	padding-bottom: 80px;
}


.projekte-section h1	{
	margin-bottom: 50px;
}

@media(min-width:767px) {
	.projekte-section	{
		border: 0px solid red;
		padding: 80px;
		padding-top: 100px; 
		padding-bottom: 110px;
		}
	.projekte-section img { width: 100%;}
	.projekte-section h1	{ margin-bottom: 50px;}	
}


.projekte-section h2 {
	border-top: 1px solid #ccc;
	padding-top: 100px;
}

.projekte-section h3 {
	border: 0px solid red;
	color: #000;
	margin-bottom: 50px;
	text-transform: inherit;
	letter-spacing: 0;
    font-family: "Roboto Slab","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 200%;
    font-weight: 400; 
}

.projekte-section .col-lg-12 { padding-top: 50px; }
.projekte-section p	{
	padding-top: 10px; 
	font-size: 1.3em;
	color: #777;

}

.projekte-section .col-sm-4	{
	border: 0px solid red;
	margin-bottom: 0px;
}

.projekte-section img {
	border: 1px solid #ccc;
	width: 100%;
	margin-bottom: 0px;
	opacity: 1;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    transition: all .3s ease;
	
}

.projekte-section a img:hover { opacity: .7; }

.projekte-wrapper	{
	border: 0px solid blue; 
	position: relative;		
}

.projekte-icon-plus	{
	border: 0px solid red;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
    background: rgba(0,0,0,.2);
    -webkit-transition: all ease .5s;
       -moz-transition: all ease .5s;
            transition: all ease .5s;
    opacity: 0;    
}

.projekte-icon-plus:hover { opacity: 1; }

.fa-plus-circle	{
	color: #fff;
	border: 0px solid green;
    position: relative;
    top: 50%;
    margin-top: -28px;
    font-size: 600%;					/* final max-size here, prevents blurring when scaled up */
	-webkit-transform: scale(.5);
	   -moz-transform: scale(.5);
		-ms-transform: scale(.5);
		 -o-transform: scale(.5);	
			transform: scale(.5);
				
    -webkit-transition: all ease .5s;
	   -moz-transition: all ease .5s;
    		transition: all ease .5s;
}

a .projekte-icon-plus:hover .fa-plus-circle	{    
	-webkit-transform: scale(1);
	   -moz-transform: scale(1);
		-ms-transform: scale(1);
		 -o-transform: scale(1);
			transform: scale(1);
}

p.btn-link	{ margin: 10% 0 10% 0; }

p.btn-link a { color: #000; }

p.btn-link a:hover { color: #2f81bb; }

/*************************************
Section Kontakt
*************************************/

.kontakt-section {
    color: #fff;
    background-color: #2F81BB;
    border: 0px solid orange;
    width: 100%;
    padding-top: 50px;
}

.kontakt-section .row .col-sm-4 	{
 	border-bottom: 1px solid rgba(255,255,255,.3);
 	padding: 50px;
}

@media(min-width:767px) {
	.kontakt-section .row .col-sm-4 { border: 0px; }
 	.kontakt-section {
		padding-top: 150px;
		padding-bottom: 150px;
	}
}

.kontakt-section h3	{
	color: #fff;
	font-weight: 700;
	font-size: 1.8em;
	letter-spacing: 3px;
    margin: 0 0 25px;	
}

.kontakt-section .row p	{ font-size: 1.5em; }

 a.icon-email	{
    width: 80px;
    height: 80px;
    display: inline-block;
	padding: 22px 0px 0px 0px;
    border: 2px solid rgba(255,255,255,1);
    background-color: rgba(255,255,255,.1);
	-webkit-border-radius: 50%;
       -moz-border-radius: 50%;
            border-radius: 50%;
    font-size: 30px;				/* final max-size here, prevents blurring when scaled up */
    line-height: 20px;
    color: rgba(255,255,255,1);
    text-align: center;
 	-webkit-transform: scale(.7);
	   -moz-transform: scale(.7);
		-ms-transform: scale(.7);
		 -o-transform: scale(.7);
			transform: scale(.7);   
    -webkit-transition: all ease .5s;
       -moz-transition: all ease .5s;
            transition: all ease .5s;   
    opacity: .5;
  
}

 a.icon-email:hover	{
    opacity: 1;
	-webkit-transform: scale(1);
	   -moz-transform: scale(1);
		-ms-transform: scale(1);
		 -o-transform: scale(1);
			transform: scale(1);
}


/*************************************
Section Partner
*************************************/

.partner-section	{
	border: 0px solid red;
	padding: 12%;
	padding-top: 85px;
	padding-bottom: 30px;
}

.partner-section p	{
	font-size: 1.3em;
	color: #aaa;	
}
.partner-section .col-sm-4	{
	border: 0px solid red;
	margin-bottom: 0px;
	border-top: 1px solid #eee;
}

.partner-section img {
	border: 0px solid #eee;
	width: 80%;
	margin-bottom: 0px;
}

@media(min-width:767px) {
	.partner-section	{
		border: 0px solid red;
		padding: 30px;
		padding-top: 80px;
		padding-bottom: 80px;
		}
	.partner-section img { width: 60%; }
	.partner-section .partnerimg-first	{ border: none; }
}


/*************************************
Section Impressum
*************************************/

.impressum-section	{
 	font-size: 11px;
 	color: #777;
 	background-color: #eee;
	-webkit-hyphens: auto;
       -moz-hyphens: auto;
            hyphens: auto;
    padding: 10%;
    border: 0px solid red;
    width: 100%;
    padding-top: 100px;
	padding-bottom: 50px;
}
.impressum-section a { color: grey; }

@media(min-width:767px) {
	.impressum-section	{
		padding-top: 100px;
		padding-bottom: 100px;
	}
}

/*************************************
Section Datenschutz
*************************************/

.datenschutz-section	{
 	font-size: 11px;
 	color: #777;
 	background-color: #fff;
	-webkit-hyphens: auto;
       -moz-hyphens: auto;
            hyphens: auto;
    padding: 10%;
    border: 0px solid red;
    width: 100%;
    padding-top: 100px;
	padding-bottom: 50px;
}
.datenschutz-section a { color: grey; }

@media(min-width:767px) {
	.datenschutz-section	{
		padding-top: 100px;
		padding-bottom: 100px;
	}
}



/*************************************
Section Footer
*************************************/
.footer-section	{
    background-color: #2F81BB;
    padding-top: 100px;
    padding-bottom: 70px;
    border: 0px solid red;
	width: 100%;
}

.footer-section h3	{
	color: rgba(255,255,255,.6);
	font-weight: 400;
	font-size: 1.2em;
	letter-spacing: 3px;
	
}

.footer-section	img {
	width: 180px;
	margin-bottom: 15px;
}


/*************************************
Section Modals
*************************************/

.close-modal	{
	position: fixed;
	top: 0;
	left: 0;
	width:100%;
	z-index: 9999;
	border: 0px solid green;
	padding: 5px 10px 5px 0;
	text-align: right;
	background-color: rgba(255,255,255,.9);
    border-bottom: 1px solid rgba(0,0,0,.1);	
}

#modalclose	{  display: none; }
	

.fa-times-circle	{
	color: rgba(0,0,0, .3);
	background-color: none;
    -webkit-transition: all ease .5s;
	   -moz-transition: all ease .5s;
    		transition: all ease .5s;
    cursor: pointer;
}

.fa-times-circle:hover	{    
    color: #2F81BB;	
}

.fade	{
	background-color: #fff;
}

.modal-content	{
	border: 0px solid orange;
	border-radius: 0;
	box-shadow: none;	
}

.modal .container	{
	border: 0px solid blue;
	width: 100%;
	padding: 0;
}
.modal .row	{
	border: 0px solid yellow;
	width: 100%;
	padding: 0;	
	margin: 0;
}

.modal .col-lg-12	{
	border: 0px solid orange;
	padding: 0;	
	margin: 0;
}	

.modal p {
	padding: 0 20px 0px 20px;
}

.modal p.img 	{
	border-top: 1px solid #ddd;
	width: 100%;
	overflow: hidden;
	text-align: center;
	margin-bottom: 0;
	padding: 0;
}	

.modal p img 	{
	max-width: 80%;
	margin: 0 auto;
}


.modal h1	{
	margin-top: 90px;
	margin-bottom: 20px;
	padding: 0 20px 0 20px;
}

.project-description	{
	font-size: 1.5em;
	color: #999;
	padding-left: 20px;
	padding-right: 20px;
	margin-bottom: 20px;
}


/*** Publikationen Modal ***/

#publikationenModal	.modal-content { padding-bottom: 5%; }
	
@media(min-width:767px) {
	#publikationenModal .modal-content	{
		border: 0px solid red; 
		padding-left: 5%; 
		padding-right: 5%;
	}
	#publikationenModal .row	{
		margin-bottom: 50px;
	}
}

.thumbnail	{
	padding: 0;
	margin: 0 auto;
	margin-top: 20px;
	background-color: rgba(0,0,0,.02);
	-webkit-hyphens: auto;
 	   -moz-hyphens: auto;
 	    -ms-hyphens: auto;
 		    hyphens: auto;
 	min-height: 500px;
}

.caption h3	{ 
	padding: 0px 20px 0px 20px;  
	margin-bottom: 20px; 
	text-transform: none; 
	letter-spacing: 0;
	-webkit-hyphens: none;
 	   -moz-hyphens: none;
 	    -ms-hyphens: none;
 		    hyphens: none;	
}

.caption p { 
	font-size:140%; 
	margin-bottom: 20px;
}

.caption p  a { 
	font: 110% Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 
	border: 0px solid red; 
	display: block; 
	margin-bottom: -5px;
}

.caption p a span	{ margin-right: 5px; }

.modal .thumbnail img	{ 
	margin: 30px 0 20px 30px; 
	padding-bottom: 0px;
	border: 1px solid rgba(0,0,0,.1);
	background-color: #fff;
	width: 50%;
	padding: 0px;
}





/*************************************
Unused / Reste
*************************************/

.btn {
    text-transform: uppercase;
    font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 400;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.btn-default {
    border: 1px solid rgba(0,0,0,.1);
    color: rgba(255,255,255,.6);
    background-color:  rgba(0,0,0,.1);
            font-size: 25px;
}

.btn-default:hover,
.btn-default:focus {
    border: 1px solid rgba(0,0,0,1);
    outline: 0;
    color: #fff;
    background-color: rgba(0,0,0,.3);
}

.btn-huge {
    padding: 25px;
    font-size: 26px;
}

.banner-social-buttons { margin-top: 0; }

@media(max-width:1199px) {
    ul.banner-social-buttons {
        margin-top: 15px;
    }
}

@media(max-width:767px) {
    ul.banner-social-buttons>li {
        display: block;
        margin-bottom: 20px;
        padding: 0;
    }

    ul.banner-social-buttons>li:last-child { margin-bottom: 0; }
}


/*************************************
Text, Img und Tap highlight color, if marked or spotted
*************************************/

::-moz-selection {background: #c1d9eb;}
::selection {background: #c1d9eb}

img::selection { background: 0 0; }
img::-moz-selection { background: 0 0; }

body {webkit-tap-highlight-color: rgba(0,0,0,.2);}