/*

	01. Body und so
	02. Navigation
	03. Setting the main's sections
	04. Home Section
	05. Works Section
	06. About Section
	07. Contact Section
	08. Impressum
			
*/


/* 01. BODY AND WRAPPER ================================================== */


html, body {
    font-family: 'Noto Sans', sans-serif;
	margin:0px auto;
	width:100%;
	height: 100%;
	background-color:#FFF;
	position:absolute;
	top:0px;
	left:0px;
	bottom:0px;}

::-moz-selection { color: #fff;  background: #6d8fa5; }
::selection      { color: #fff;  background: #6d8fa5; } 

	
.row {
	text-align: center;}

.subtitle {
    font-family: 'Noto Sans', sans-serif;
	color:#BBB;
	margin-bottom:20px;
	padding:30px;
	font-size:20px;
	line-height: 28px;}

.subtitle a {
    font-family: 'Noto Sans', sans-serif;
	color:#6d8fa5;
	-webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;}

.subtitle a:hover {
	color:#777;}	

h2 {
	color:#555;
	font-family: 'Noto Sans', sans-serif;
	font-size:48px;
	padding: 30px 0px 0px 0px;}

.title_line {
    border-bottom: 1px solid #D5D5D5;
    display: block;
    height: 1px;
    margin: auto;
    margin-top:20px;
    width: 90px;}


/* 02. NAVIGATION ================================================== */


nav #logo {
	float:left;
	color:#212121;
	margin-left:10px;
	padding:18px 15px;}
	
nav {
	z-index: 42;
	width: 100%;
	background: #FFF;
	position: relative;
	height: 60px;}

nav ul {
	float:right;
	display:inline-block;
	margin-right:10px;
	list-style:none;
	padding-top:15px;}

nav ul li {
    display:inline-block;
    list-style: none;
    float:left;
    padding:5px 20px;}

nav ul li a {
  	color:#333;
	position:relative;
	display:inline-block;
	font-weight: 300;
	font-size:14px;
	text-transform:uppercase;
	display:block;
	-webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;}

nav li a:hover,
nav li a.selected {
	color:#6d8fa5;}

.sticky {
	position: fixed;
	top: 0px;}


/* Mobile Navigation Display none if no iDevice */

nav select {
      display: none;}
      

/* 03. SETTING OF MAIN SECTIONS  ================================================== */

#home {
	height:100%;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-position: center top;
    color:#FFF;
    background-color:#ddd;}

#whatwedo {
	background-color:#EEE;
	padding:70px 0px 50px;}


#about {
	background:#f5f5f5;
	padding:70px 0px 50px;}
	
	
#contact {
	background-color:#f9f9f9;
	padding:70px 0px 50px;}
	
	
footer {
	padding:25px 0 20px;
	background-color:#333;}


/* 04 HOME SECTION  ================================================== */


#home h1 {
	position:relative;
	margin:20% auto 0px auto;
	z-index: 999;}

.roles {
    font-size: 36px;  
    display: inline-block;
    line-height: 70px;
    height: 70px;
    vertical-align: middle;
    overflow: hidden;
    color: #FFF;
    z-index: 999;
}

.roles div {
    height:             70px;
    -webkit-transition: margin-top 0.5s ease-in-out;
    -moz-transition:    margin-top 0.5s ease-in-out;
    -o-transition:      margin-top 0.5s ease-in-out;
    transition:         margin-top 0.5s ease-in-out;}

#down_button a {
	position: absolute; 
	width: 80px; 
	height: 80px; 
	bottom: 5%; 
	left: 50%; 
	margin-left: -40px;
	background: url("../img/down.png") no-repeat; 
	background-position: 0px -80px;
	-webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;}
	
#down_button a:hover {
	background-position: 0px 0px;}


/* -- Button back Contact -- */
	
#down_button_contact a {
	width:180px;
	padding: 0px;
	background-color: #6d8fa5;
    font-family: 'Noto Sans', sans-serif;
	font-size:13px;
	color:#FFF;
	text-align:center;
	text-transform:uppercase;
	letter-spacing:1px;
	position: fixed;
	bottom: 0px; 
	left: 50%; 
	margin-left:-90px;
	-webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;}

#down_button_contact a:hover {
	color:#121212;
	background: #FFF;}


/* 05 WORKS SECTION  ================================================== */


.og-grid {
    list-style: none;
	padding: 10px 0;
	margin: 0px auto;
	text-align: center;
	width: 100%;}
	
.og-grid li {
	display: inline-block;
	margin: 0px 15px 20px 0px;
	vertical-align: top;
	height: 185px;}

/* PREVIEW CLASS */

.og-expander {
	position: absolute;
	background: #ddd;
	top: auto;
	left: 0;
	width: 100%;
	margin-top: 10px;
	text-align: left;
	height: 0;
	overflow: hidden;}

.og-expander-inner {
	padding: 30px;
	height: 100%;}

.og-close {
	position: absolute;
	width: 29px;
	height: 29px;
	top: 10px;
	right: 10px;
	cursor: pointer;
	opacity: 1;
	background: url('../img/close.png');
	-webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;}

.og-close:hover {
	opacity:0.5;}

.og-fullimg,
.og-details {
	width: 50%;
	float: left;
	height: 80%;
	overflow: visible;
	position: relative;}

.og-details {
	padding: 10px 40px 0 20px;}

.og-fullimg {
	text-align: center;
	margin-top:10px;}

.og-fullimg img {
	display: inline-block;
	max-height: 100%;
	max-width: 100%;}

.og-details h3 {
    font-family: 'Noto Sans', sans-serif;
	font-size: 32px;
	line-height: 36px;
	padding: 0 0 16px;
	margin-bottom: 10px;
	color:#555;}

.og-details p {
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	color: #999;}

.og-details a {
	padding: 0 2px 0 1px;
	font-size: 16px;
	color: #666;
    font-family: 'Noto Sans', sans-serif;
	background: none;
	display: inline-block;
	-webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;}

.og-details a:hover {
	background: #6d8fa5;
	color: #FFF;}

.og-loading {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #ddd;
	box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ccc;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -25px 0 0 -25px;
	-webkit-animation: loader 0.5s infinite ease-in-out both;
	-moz-animation: loader 0.5s infinite ease-in-out both;
	animation: loader 0.5s infinite ease-in-out both;}


/* 06. ABOUT SECTION ================================================== */


.portraits {
	position: relative;
	list-style-type: none;
	display: inline-block;
	background: #eee;
	background: #FFF;
	margin-bottom: 10px;
	padding-bottom: 10px;}

.portraits img {
    width:100%;
	-webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;}
       

.portraits img:hover {
	filter:alpha(opacity=80);
    filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);
    opacity: 0.8;}

.portraits .name {
	font-size: 18px;
	color: #2e2e2e;
	font-weight: normal;
	font-style: normal;
	margin: 10px 0 10px 0;
	display: inline-block;
}

/* 07 CONTACT SECTION ================================================== */


#contact form {
	margin:20px 0 20px 0;}

#contact form input,
#contact form textarea{
	-moz-transition:all .3s ease-in-out;
	-ms-transition:all .3s ease-in-out;
	-o-transition:all .3s ease-in-out;
	-webkit-transition:all .3s ease-in-out;
	border:2px solid #FFF;
	box-shadow:none;
	color:#999;
	resize: vertical;
	font-size:12px;
	margin-bottom:25px;
	padding:5px 10px;
	transition:all .3s ease-in-out;
	width:100%;
	font-family:"Noto Sans",sans-serif;
}

/* SET A HEIGHT TO THE INPUT*/

#contact form input{
	height:40px;
	resize: none;}

/* SET A HEIGHT TO THE TEXTAREA*/

#contact form textarea{
	min-height:120px;}
	
/* BUTTON SENDER */

#contact form .submit{
	-moz-transition:all .3s ease-in-out;
	-ms-transition:all .3s ease-in-out;
	-o-transition:all .3s ease-in-out;
	-webkit-transition:all .3s ease-in-out;
	background:#6d8fa5;
	border:2px solid #6d8fa5;
	color:#FFF;
	font-size:12px;
	height:40px;
	letter-spacing:1px;
	padding:5px 10px;
	text-transform:uppercase;
	transition:all .3s ease-in-out;
	width:100%;}

/* BUTTON SENDER HOVER */

#contact form .submit:hover{
	background:#555;
	border:2px solid #555;
	color:#FFF;
	cursor:pointer;}

/* INPUT AND TEXTAREA WHEN NOTHING  */

#contact form input:required,
#contact form textarea:required{
	background:#FFF url(../img/invalid.png);
	background-position:98% 5px;
	background-repeat:no-repeat;
	box-shadow:inherit;}

/* INPUT AND TEXTAREA WHEN VALID : GOOD */

#contact form input:required:valid,
#contact form textarea:required:valid{
	background:#FFF url(../img/valid.png);
	background-position:98% 5px;
	background-repeat:no-repeat;
	border-color:#6d8fa5;
	color:#6d8fa5;}

/* INPUT AND TEXTAREA WHEN INVALID : NOT GOOD GOES RED */

#contact form input:focus:invalid,
#contact form textarea:focus:invalid{
	background:#FFF url(../img/invalid-red.png) no-repeat 98% 5px;
	border-color:#ec7e7e;
	box-shadow:0 0 2px rgba(236,126,126,0.7);}

/* BLOCK CONTACT RIGHT */

#contact .info {
	width:auto;
	margin-left:5%;
	display:inline-block;
	text-align:left;
	line-height:25px;}
	
#contact .info p {
	color:#777;}
	
#contact .info h4:first-child {
	margin-top:15px;}

#contact .info h4 {
	color:#555;
    font-family: 'Noto Sans', sans-serif;
	text-transform:uppercase;
	font-size:14px;
	font-weight:normal;s
	margin-bottom:0px;
	margin-top:30px;}

#contact .info a {
	color:#6d8fa5;
	-webkit-transition:all .3s ease-in-out;
	-moz-transition:all .3s ease-in-out;
	-ms-transition:all .3s ease-in-out;
	-o-transition:all .3s ease-in-out;
	transition:all .3s ease-in-out;}

#contact .info a:hover {
	color:#777;
	-webkit-transition:all .3s ease-in-out;
	-moz-transition:all .3s ease-in-out;
	-ms-transition:all .3s ease-in-out;
	-o-transition:all .3s ease-in-out;
	transition:all .3s ease-in-out;}

#contact .small p {
	color:#555;
	text-align: center;
}

#contact .small p a{
	color:#6d8fa5;
	text-align: center;
}

/* 08 IMPRESSUM ================================================== */

#imprint{
	background-color:#f9f9f9;
}

.impressum{
	color:#777;
	text-align: left;
	font-size: 11px;
	margin-bottom: 40px;
}

.impressum h1{
	font-size:24px;
	padding: 20px 0 20px 0;
	color:#777;
}

.impressum h2{
	font-size:20px;
	padding: 24px 0 8px 0;
	color:#333;
}

.impressum h3{
	font-size:16px;
	padding: 16px 0 16px 0;
	color:#333;
}

.impressum strong{
	font-weight: bold;
}
