/* Reset
------------------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	border: 0;
	background-repeat: no-repeat;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, main, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('/assets/fonts/Lato-Regular.woff') format('woff');
}




/* Site
------------------------------------------------------------------------*/

html {
	-webkit-font-smoothing: antialiased;
}
body {
	line-height: 1;
	font-family: 'Lato', sans-serif;
	font-size: 100%;
	font-weight: 400;
	color: #333;
	background: #f5f5f5;
}
@media only screen and (max-width : 800px) {
	body {
		font-size: 80%;
	}
}
.inner {
	margin: 0 auto;
	padding: 0 1em;
/*	max-width: 1100px;*/
}
.right {
	float: right;
}
@media only screen and (max-width : 600px) {
	.inner {
		padding: 0 15px;
	}
}



/* Typo
------------------------------------------------------------------------*/

h1, h2, h3, h4 {
	color: #0088D0;
}
strong {
	font-weight: bold;
	font-weight: 900;
}
em {
	font-style: italic;
}



/* Links
------------------------------------------------------------------------*/

a:link,
a:visited, :hover {
	text-decoration: none;
	-webkit-transition: all 0.3s ease-out;
	   -moz-transition: all 0.3s ease-out;
			transition: all 0.3s ease-out;
}
a:hover,
a:active {
	text-decoration: none;
}
a:focus {
	text-decoration: none;
}



/* Visually hidden
------------------------------------------------------------------------*/

.vh {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}



/* Media
------------------------------------------------------------------------*/

img,
audio,
video,
canvas {
	display: block;
	max-width: 100%;
	height: auto;
}
pre {
  padding: 0.5em;
  background: #efefef;
}



/* Clearfix
------------------------------------------------------------------------*/

.cf:before,
.cf:after {
	content: " ";
	display: table;
}
.cf:after {
	clear: both;
}



/* Content
------------------------------------------------------------------------*/

.content h2 {
	margin: 40px 0 20px 0;
	font-size: 2.3em;
	line-height: 1em;
}
.content h3 {
	margin: 40px 0 15px 0;
	font-size: 1.5em;
}
.content h3 {
	margin: 40px 0 15px 0;
	font-size: 1.5em;
}
.content h4 {
	margin: 40px 0 15px 0;
}
p {
	margin: 0 0 20px 0;
	font-size: 1.2em;
	line-height: 1.5em;
}
.content a {
	color: #A2D7DB;
	border-bottom: 1px solid #ddd;
}
.content a:hover {
	color: #000;
	border-bottom: 1px solid #888;
}
.content figure {
	margin: 1em 0;
}



/* Header
------------------------------------------------------------------------*/

header {
	padding: 0;
	text-align: center;
	background: #fff;
}
.logo {
	display: inline-block;
	display: block;
	padding-top: 4px;
	margin: 0 auto;
}
@media only screen and (max-width: 992px) {
	.logo {
		display: inline-block;
		float: right;
	}
	header {
		text-align: center;
		border-bottom: 40px solid #fff;
	}
	header .inner {
		padding: 0;
		text-align: center;
	}
}



/* Headline
------------------------------------------------------------------------*/

header.arrowdown {
	position: relative;
}
header.arrowdown:after {
	top: 100%;
	left: 25%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(245, 245, 245, 0);
	border-top-color: #f5f5f5;
	border-width: 30px;
	margin-left: -30px;
}
.headline {
	padding: 40px 0;
	text-align: center;
	border-bottom: 40px solid #fff;
}
.headline h1 {
	font-size: 3em;
	text-transform: uppercase;
}
.headline h1:first-letter,
.headline span {
	color: #A2D7DB;
}
.headline p {
	margin: 20px 0 0 0;
}



/* Screenshot
------------------------------------------------------------------------*/

.screenshot {
	padding: 50px 0 0 0;
	border-bottom: 40px solid #fff;
}
.screenshot img {
	margin: 0 auto
}
		











/* Navigation
------------------------------------------------------------------------*/

button.hamburger {
	display: inline-block;
	margin: 1.4em 1.4em 0 0.6em; 
	float: left; 
	background-color: grey!important;
}

@media only screen and (min-width: 993px) {
	#mySidebar {
		width: 240px;
	}
}
@media only screen and (max-width: 992px) {
	#mySidebar {
		width: 100%;
	}
}




/* Dorayaki
------------------------------------------------------------------------*/

.dorayaki {
	padding: 0 70px 0;
	margin-bottom: 40px;
	text-align: center;
}
.dorayaki .intro {
	font-size: 1.6em;
	text-align: justify;
	width: 70%;
}
.dorayaki li {
	float: left;
	display: inline-block;
	background: #eee;
	width: 30%;
	margin: 0 0 5% 2%;
}
.dorayakinews li {
	min-height: 300px;
}
.dorayakiteam li {
	min-height: 852px;
}
.dorayaki li:hover {
	background: #A2D7DB;
}
.dorayaki h3 {
	overflow: hidden;
	margin-bottom: 0.4em;
}
.dorayaki h4 {
	overflow: hidden;
	margin-bottom: 0.4em;
	text-transform: uppercase;
	font-weight: normal;
}
.dorayaki h4::after {
	content: "";
	display: block;
	margin: 0 auto;
	padding-top: 8px;
	text-align: center;
	height: 5px;
	width: 70px;
	border-bottom: 5px solid #333;
}
.dorayaki li img {
	margin: 20px auto;
	width: 200px;
    border-radius: 50%;
}
.dorayaki li p {
	padding: 5%;
}
.dorayaki li p:nth-of-type(2) {
	padding: 0 5%;
}
.dorayaki li p:nth-of-type(2) a {
	color: #333;
}
@media only screen and (max-width : 800px) {
	.dorayaki li {
		width: 46%;
		margin: 0 2% 4% 0;
	}
	.dorayaki li:nth-child(odd) {
		margin-left: 0;
	}
}
@media only screen and (max-width : 520px) {
	.dorayaki {
		padding: 0 10px 0;
	}
	.dorayaki li {
		width: 100%;
		margin: 0 0 4% 0;
	}
}



















/* Iconlist
------------------------------------------------------------------------*/

.iconlist {
	padding: 70px 0;
	border-bottom: 40px solid #fff;
}
.iconlist .content {
	text-align: center;
	width: 50%;
	margin: 0 auto 40px;
}
.iconlist li {
	float: left;
	width: 48%;
	margin: 0 0 4% 0;
	padding: 20px;
	background: #eee;
	position: relative;
}
.iconlist li:nth-child(odd) {
	margin: 0 4% 0 0;
}
.iconlist li:hover {
	-webkit-transition: all 0.3s ease-out;
	   -moz-transition: all 0.3s ease-out;
	        transition: all 0.3s ease-out;
	-webkit-transform: translate(0, 5px);
	  -moz-transform: translate(0, 5px);
		transform: translate(0, 5px);	
}
.iconlist li img {
	float: left;
	margin-right: 20px;
    border-radius: 50%; 
}
.iconlist li h3 {
	margin: 16px 0 8px;
}
.iconlist li p {
	font-style: italic;
	margin-bottom: 0;
}
@media only screen and (max-width : 600px) {
	.iconlist li:nth-child(odd),
	.iconlist li {
		width: 100%;
		margin: 0 0 4% 0;
	}
}







/* Features
------------------------------------------------------------------------*/

.features {
	padding: 70px 0;
	border-bottom: 40px solid #fff;
	text-align: center;
}
.features ul {
	margin: 30px auto 0 auto;
	border-top: 1px solid #d5d5d5;
	border-left: 1px solid #d5d5d5;
}
.features li {
	float: left;
	display: inline-block;
	position: relative;
	width: 33.33333%;
	padding: 15px 10px;
	border-right: 1px solid #d5d5d5;
	border-bottom: 1px solid #d5d5d5;
	background: #e8e8e8;
	text-align: left;
}
.features li:before {
	content: '✔';
	margin: 0 10px 0 0;
	color: #A2D7DB;
}
@media only screen and (max-width : 1000px) {
	.features li {
		width: 50%;
	}
}
@media only screen and (max-width : 600px) {
	.features li {
		width: 100%;
	}
}



/* Network
-------------------------------------------------------------- */

.network {
    width: 100%;
	border-bottom: 40px solid #fff;
	padding: 70px 0;
}
.network .inner {
    margin: 0 auto;
    padding: 0 30px;
    max-width: 1000px;
}
.member {
    width: 100%;
    margin: 0 0 100px 0;
    position: relative;
    background-color: #e7e7e7;
}
.member header {
    float: left;
    width: 60%;
    position: relative;
    padding: 0;
    border: none;
}
.entry {
    position: absolute;
    height: 100%;
    padding: 30px;
    width: 50%;
    background-color: hsla(184, 44%, 75%, 0.7);
    color: #fff;
}
.description {
    float: left;
    width: 40%;
    padding: 30px;
}
.member a {
    position: absolute;
    right: -30px;
    bottom: -30px;
    margin: -25px 0 0 -25px;
    border: 10px solid #fff;
    border-radius: 50%;
    display: block;
    color: #fff;
    width: 60px;
    height: 60px;
    z-index: 100000;
    background: #A2D7DB;
}
.member a:hover {
    background: #A2D7DB; 
    border: 7px solid #ddd;
}
.member img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}
@media only screen and (max-width : 1000px) {
    .member header {
        width: 100%;
    }
    .description {
        width: 100%;
    }
}
@media only screen and (max-width : 500px) {
    .network .inner {
        padding: 80px 10px;
    }
    .entry {
        width: 100%;
        padding: 15px;
    }
    .description {
        padding: 20px 5% 40px 5%;
    }
    .member a {
        right: 50%;
        bottom: -30px;
        margin: 0 -30px 0 0;
    }
}



/* Simplework
-------------------------------------------------------------- */

.simplework {
    width: 100%;
	border-bottom: 40px solid #fff;
	padding: 70px 0;
}
.simplework .inner {
    margin: 0 auto;
    padding: 0 30px;
    max-width: 1000px;
}
.singlework {
    width: 100%;
    margin: 0 0 100px 0;
    position: relative;
    background-color: #e7e7e7;
}
.singlework header {
    float: left;
    width: 50%;
    position: relative;
    padding: 0;
    border: none;
}
.singlework:nth-child(even) header {
    float: right;
}
.workdescription {
    float: left;
    width: 50%;
    padding: 30px;
}
.singlework:nth-child(even) .workdescription {
    float: right;
}
.singlework img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}
@media only screen and (max-width : 800px) {
    .singlework header {
        width: 100%;
    }
    .workdescription {
        width: 100%;
    }
}
@media only screen and (max-width : 800px) {
    .simplework .inner {
        padding: 80px 10px;
    }
    .workdescription {
        padding: 20px 5% 40px 5%;
    }
}



/* Docs
------------------------------------------------------------------------*/

.docs {
	padding: 0 70px 0 0;
	margin-bottom: 40px;
}
@media (max-width:901px) {
	.docs {
		padding-left: 20px;
	}
}
.dorayakidocs {
	margin-bottom: 0;
}
.docs .inner {
	max-width: 800px;
}
.docs ul li, .docs ol li {
	margin-bottom: 0.5em;
}
.docs ol {
	list-style: decimal;
	list-style-position: outside;
	font-size: 1.2em;
	line-height: 1.5em;
}
.docs ul {
	list-style: square;
	list-style-position: outside;
	font-size: 1.2em;
	line-height: 1.5em;
}
.floated {
	float: left;
	padding-right: 1em;
}




/* Contact
-------------------------------------------------------------- */

.contact {
    width: 100%;
    color: #fff;
    text-align: center;
    background-image: url("http://lorempixel.com/1600/1000/");
    
    background: background: #c9de96;
    background: -moz-linear-gradient(left,  #c9de96 0%, #8ab66b 44%, #398235 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,#c9de96), color-stop(44%,#8ab66b), color-stop(100%,#398235));
    background: -webkit-linear-gradient(left,  #c9de96 0%,#8ab66b 44%,#398235 100%);
    background: -o-linear-gradient(left,  #c9de96 0%,#8ab66b 44%,#398235 100%);
    background: -ms-linear-gradient(left,  #c9de96 0%,#8ab66b 44%,#398235 100%);
    background: linear-gradient(to right,  #c9de96 0%,#8ab66b 44%,#398235 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c9de96', endColorstr='#398235',GradientType=1 );
    
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
	border-bottom: 40px solid #fff;
}
div.contactleft {
    margin: 50px 0 50px 50px;
    padding: 0 3%;
    max-width: 450px;
}
div.contactmiddle {
    margin: 50px auto;
    padding: 0 3%;
    max-width: 450px;
}
div.contactright {
    margin: 50px 0 50px 50%;
    padding: 0 3%;
    max-width: 450px;
}
@media only screen and (max-width : 800px) {
	div.contactleft, div.contactright {
    	margin: 50px auto;
	}
}
.contact h2 {
    padding: 7% 5% 1% 5%;
    background: rgba(34,34,34,0.4);
}
.contact p {
    padding: 3%;
    background: rgba(34,34,34,0.4);
}











/* The Team
------------------------------------------------------------------------*/

.team {
	padding: 70px 0;
	border-bottom: 40px solid #fff;
}
.team-list > li {
	float: left;
	width: 30%;
	margin: 0 0 5% 5%;
	position: relative;
	border: 20px solid #fff;
	background: #f5f5f5;
}
.team-list > li:nth-child(3n+1) {
	margin: 0 0 5% 0;
}
.team-list h2 {
	margin: 0;
	color: #fff;
	padding: 10px 20px;
	background-color: #A2D7DB;
}
.team-list img {
	width: 100%;
}
@media only screen and (max-width : 1100px) {
	.team-list > li {
		min-height: 451px;
	}
}
@media only screen and (max-width : 900px) {
	.team-list > li {
		min-height: 468px;
	}
}
@media only screen and (max-width : 760px) {
	.team-list > li,
	.team-list > li:nth-child(3n+1) {
		width: 48%;
		margin: 0 0 35px 4%;
	}
	.team-list > li:nth-child(odd) {
		margin-left: 0;
	}
}
@media only screen and (max-width : 450px) {
	.team-list > li,
	.team-list > li:nth-child(3n+1) {
		width: 100%;
		margin: 0 0 35px 0;
		min-height: 0;
	}
}
.team-list li ul {
	list-style: square;
	margin-left: 10px;
	padding: 20px;
}
.team-list li li {
	float: none;
	border: none;
	margin: 0 !important;
	line-height: 1.5em;
	min-height: auto;
	width: 100%;
	color: #333;
}



/* Portfolio
------------------------------------------------------------------------*/

.portfolio {
	padding: 70px 0;
	border-bottom: 40px solid #fff;
}
.portfolio ul {
	float: left;
	width: 100%;
}
.portfolio li {
	padding: 10px;
	position: relative;
	text-align: center;
	margin: 0 0 40px 2%;
	width: 23.5%;
	float: left;
	display: inline-block;
	-webkit-transition: all 0.3s ease-out;
	   -moz-transition: all 0.3s ease-out;
	        transition: all 0.3s ease-out;
}
.portfolio li:first-child {
	margin-left: 0;
}
.portfolio li:hover {
	-webkit-transform: scale(1.03);
	-moz-transform: scale(1.03);
	transform: scale(1.03);	
}
.portfolio li:hover a {
	border-top: 1px solid #fff;
}
.portfolio h2 {
	margin: 0 0 10px;
	text-transform: uppercase;
}
.portfolio a {
	color: #A2D7DB;
	display: inline-block;
	font-size: 0.8em;
	border-top: 1px solid #ddd;
	padding: 10px 20px 0 20px;
	font-style: italic;
}
.portfolio a:hover {
	color: #000;
}
.portfolio p {
	padding: 0 0 15px;
}
@media only screen and (max-width : 530px) {
	.portfolio li {
		background: #e8e8e8;
	}
}
@media only screen and (max-width : 950px) {
	.portfolio li {
		width: 45%;
		margin-left: 10%;
	}
	.portfolio li:nth-child(3) {
		margin-left: 0;
	}
}
@media only screen and (max-width : 530px) {
	.portfolio li {
		width: 100%;
		margin-left: 0;
	}
}








/* Footer
------------------------------------------------------------------------*/

.colophon {
	font-size: 0.7em;
	text-align: center;
}
.colophon a {
	color: inherit;
}
.colophon div:first-child {
	padding: 50px 0;
	background: #0088D0;
	font-size: 2em;
	color: #fff;
}
.colophon div:last-child {
	padding: 20px 0;
	background: #81BF00;
	border-top: 1px solid #666;
}

























body, html {
      margin: 0;
      padding: 0;
      height: 100%;
      display: flex;
      flex-direction: column;
    }
    .container {
      display: flex;
      flex: 1 0 auto;
      min-height: calc(100vh - 50px); /* full height minus footer height */
      background-color: #fff;
    }
    .sidebar {
      width: 25%;
      height: 100%;
    }
    .main {
      flex: 1;
    }
    footer {
      height: 50px;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
















    #myOverlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,0.5);
  z-index: 1000;
}

#mySidebar {
  display: none;
}

/* Overlay für mobile Navigation */
#myOverlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,0.5);
  z-index: 1000;
  display: none;
}

/* Sidebar standardmäßig ausblenden auf kleinen Geräten */
@media only screen and (max-width: 992px) {
  #mySidebar {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    overflow-y: auto;
    z-index: 1001;
    background: #fff;
  }
}

/* Sidebar auf großen Geräten sichtbar */
@media only screen and (min-width: 993px) {
  #mySidebar {
    display: block;
    width: 240px;
  }
}



















.login-form {
  max-width: 400px;
  margin: 3em auto;
  padding: 2em;
}

.login-form h2 {
  text-align: center;
  margin-bottom: 1em;
}

.login-form label {
  display: block;
  margin-bottom: 0.3em;
}

.login-form input[type="email"],
.login-form input[type="password"] {
  width: 100%;
  padding: 0.6em;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-bottom: 1.2em;
}

.login-form button {
  width: 100%;
  padding: 0.7em;
  background-color: #9AB63C;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.login-form button:hover {
  background-color: #9AB63C;
}













.hamburger-icon {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 24px;
  height: 18px;
}
.hamburger-icon__line {
  background: #333;
  height: 2px;
  width: 100%;
}

