body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #333;
  padding: 2em; 
}

header {
  text-align: center;
  
  color: #fff;
}

header h1 {
  
  padding: 20px 120px 0 20px;
  font-size: 28px;
  letter-spacing: -0.01em;
}

header h2 {

  padding: 0 120px 0 20px;
  font-size: 20px;
  letter-spacing: -0.01em;
}

#legend {
  display: flex;
  justify-content: flex-end;
  padding: 0 10px 10px;
  font-size: 12px;
  color: #333;
}

#legend .item {
  line-height: 12px;
  padding: 0 10px 0 4px;
}

#legend .item.male {
  border-left: 12px solid #6BA1BB;
}

#legend .item.female {
  border-left: 12px solid #00547A;
}


#chart-wrapper {
  height: 1000px;
}


.wrapper {
  display: flex;  
  flex-flow: row wrap;
  font-weight: bold;
  text-align: center; 
}

.wrapper > * {
  padding: 10px;
  flex: 1 100%;
}

.header {
  background: rgb(0, 84, 122);
}

.headerlogo{
  max-width:300px;
  float:left;
  margin:20px;	
}

.footer {
  background: rgb(0, 84, 122);
  color: #fff;
  text-align: left;
  padding-left: 20px;
}

.main {
  text-align: left;
  background: white;
}

h2.category {
  color: rgb(0, 84, 122);
  font-size: 20px;
  line-height:1em;
  padding:10px;
}

h3.charts {
  color: rgb(0, 84, 122);
  font-size: 14px;
  line-height:1em;
  padding: 1em;
}

p.charts {
  color:#333;
  padding-left: 1em;
  padding-right:1em;
  line-height:1em;
  font-size:14px;
  font-weight: 300;
}

aside>h2 {
  color:#fff;
  padding:5px;
}

aside div.datenstand {
  padding:1em;
  color: #333;
  background-color: rgb(217, 231, 239);
}

aside div.category {
  padding:1em;
  margin-bottom:10px;
  color: rgb(0, 84, 122);
  background-color: rgb(217, 231, 239);
}

aside div.auftraggeber {
  background-color: rgb(217, 231, 239);
  color: rgb(0, 84, 122);
  padding:1em;
}

aside div.projekte {
  background-color: rgb(107, 161, 187);
  color: rgb(0, 84, 122);
  padding:1em;
}

.aside-1 {
  text-align: left;
  background: rgb(51, 118, 149);
  color: #fff;
}

.aside-2 {
  text-align: left;
  background: rgb(107, 161, 187);
  color: #fff;
}

@media all and (min-width: 600px) {
  .aside { flex: 1 0 0; }
}

@media all and (min-width: 800px) {
  .main    { flex: 3 0px; }
  .aside-1 { order: 1; } 
  .main    { order: 2; }
  .aside-2 { order: 3; }
  .footer  { order: 4; }
}

.flex-container {
  /* We first create a flex layout context */
  display: flex;
  
  /* Then we define the flow direction 
	 and if we allow the items to wrap 
   * Remember this is the same as:
   * flex-direction: row;
   * flex-wrap: wrap;
   */
  
  flex-flow: row wrap;
  
  /* Then we define how is distributed the remaining space */
  justify-content: space-around;
  
  padding: 0;
  margin: 0;
  list-style: none;
  
}

.flex-item {
  background: rgb(217, 231, 239);
  padding: 5px;
  width: auto;
  height: auto;
  /* margin-top: 10px; */
  margin: 10px;
  line-height: 150px;
  color: white;
  font-weight: bold;
  font-size: 3em;
  text-align: center;
}

.item-3 {
   -webkit-box-flex: 3;
	-moz-box-flex: 3;
	-webkit-flex: 3 1 auto;
	-ms-flex: 3 1 auto;
	flex: 3 1 auto;
}

.item-2 {
   -webkit-box-flex: 2;
	-moz-box-flex: 2;
	-webkit-flex: 2 1 auto;
	-ms-flex: 2 1 auto;
	flex: 2 1 auto;
}

.item-1 {
   -webkit-box-flex: 1;
	-moz-box-flex: 1;
	-webkit-flex: 1 1 auto;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
}

.item-4 {
   -webkit-box-flex: 4;
	-moz-box-flex: 4;
	-webkit-flex: 4 1 auto;
	-ms-flex: 4 1 auto;
	flex: 4 1 auto;
}