
/* ############################
 * ##  Allgemeines & Resets  ##
 * ############################ */

	* {
		padding: 0;
		margin: 0;
		box-sizing: border-box;
		text-decoration: none;
		color: #424242;
		list-style-type: none;
		font-size: 18px;
		font-family: 'Source Sans Pro', sans-serif;
		font-family: 'Patrick Hand', cursive;
		font-family: 'Ubuntu', sans-serif;
	}

	html {
		background-color: #565656;
		background-size: cover;
		height: 100%;
	}

	img {
		max-width: 100%;
		height: auto;
	}

	section {
		position: relative;
		padding: 65px 0 65px 0;
	}

	.clear {
		clear: both;
		line-height: 0;
		height: 0;
		font-size: 0;
	}

/**
 * Modifikatoren
 */
	.upper {
		text-transform: uppercase;
	}

	.center {
		text-align: center;
	}

	.handwritten,
	.handwritten * {
		font-family: 'Dancing Script', cursive;
		text-transform: none;
		vertical-align: baseline;
	}

/**
 * Zentrierte Container-Darstellung
 */
	.wrapper {
		position: relative;
		width: 960px;
		margin: 0 auto 0 auto;
	}

	@media screen and (max-width: 980px) {
		.wrapper {
			width: 100%;
		}
	}

	.container {
		position: relative;
		width: 960px;
		margin: 0 auto 0 auto;
	}

	@media screen and (max-width: 980px) {
		.container {
			width: 100%;
			padding-left: 20px;
			padding-right: 20px;
		}
	}

/**
 * Scroll-to-top Button
 */
	.scroll-to-top {
		display: none;
		position: fixed;
		z-index: 999;
		right: 20px;
		bottom: 20px;
		height: 50px;
		width: 50px;
		border-radius: 30px;
		background-color: #7AB51F;
		text-align: center;
		opacity: 0.7;
		cursor: pointer;
	}

	.scroll-to-top:hover {
		opacity: 1;
	}

	.scroll-to-top * {
		color: #FFFFFF;
		font-size: 50px;
		margin-top: -3px;
	}

/**
 * Header
 */
	header {
		position: absolute;
		top: 4px;
		width: 100%;
		height: 85px;
		background-color: #FFFFFF;
		border-bottom: 0;
		z-index: 3;
		margin-bottom: 20px;
		/*
		-webkit-box-shadow: 0px 0px 28px -7px rgba(0,0,0,0.75);
		-moz-box-shadow: 0px 0px 28px -7px rgba(0,0,0,0.75);
		box-shadow: 0px 0px 28px -7px rgba(0,0,0,0.75);
		*/
	}

/**
 * Logo
 */
	.logo img {
		height: 60px;
		margin: 20px 0 5px 0;
	}

/* #######################
   ##  Neue Navigation  ##
   ####################### */

	nav {
		float: right;
		margin-top: 35px;
	}

	nav ul li {
		display: inline-block;
		position: relative;
	}

	nav ul li a {
		display: inline-block;
		padding: 10px 15px 7px 15px;
		line-height: 20px;
		border-bottom: 4px solid transparent;
		font-size: 16px;
		vertical-align: middle;
	}

	nav ul li:last-of-type a {
		margin-right: 0;
	}

	nav ul ul {
		margin-top: 10px;
		padding: 10px 5px;
	}

	nav ul ul li a {
		color: #333333;
		font-size: 15px;
		padding: 5px 16px;
		white-space: nowrap;
	}

	nav ul li a:hover {
		color: #0091ea;
	}

	nav ul ul {
		opacity: 0;
		position: absolute;
		background-color: #FFFFFF;
		border: 1px solid #cecece;
		border-radius: 5px;
		transition: opacity 0.3s ease-in-out;
		box-shadow: 0 4px 5px 0 rgba(73,89,109,0.1);
	}

	nav ul li:hover ul {
		opacity: 1;
	}

	nav ul li a.special {
		background-color: #7AB51F;
		color: #ffffff;
		border-radius: 25px;
		margin-left: 15px;
	}

	nav ul li a.special:hover {
		color: #FFFFFF;
		opacity: 0.8;
	}

/**
 * Header-Toolbar
 */
	.header-toolbar {
		position: relative;
		z-index: 1;
		background-color: #494949;
		height: 30px;
	}

	.header-toolbar:after {
		content: "";
		display: block;
		clear: both;
		height: 1px;
		line-height: 0;
	}

		.header-toolbar * {
			color: rgba(255, 255, 255, 0.6);
			font-size: 12px;
			text-transform: uppercase;
		}

		.header-toolbar a {
			line-height: 30px;
			font-size: 13px;
		}

		.header-toolbar .member {
			display: inline-block;
			float: right;
			padding: 0 20px 0 20px;
			background-color: #73b700;
		}

		.header-toolbar .member:hover {
			background-color: #ea0524;
			color: #FFFFFF;
		}

/* ####################
 * ##  Farbstreifen  ##
 * #################### */

	.colorstripe {
		position: fixed;
		top: 0;
		height: 4px;
		width: 100%;
		line-height: 0;
		background-color: #73b700;

		z-index: 10;
	}

	.colorstripe:before {
		content: "";
		display: block;
		width: 30%;
		height: 4px;
		background-color: #0091ea;
	}

	.colorstripe:after {
		content: "";
		display: block;
		width: 45%;
		height: 4px;
		background-color: #ea0524;
		position: absolute;
		top: 0;
		right: 0;
	}

/* ##############
 * ##  Inhalt  ##
 * ############## */

	main {
		margin-top: 75px;
		background-color: #FFFFFF;
		z-index: 1;
		-webkit-box-shadow: 0px 2px 10px 6px rgba(0,0,0,0.75);
		-moz-box-shadow: 0px 2px 10px 6px rgba(0,0,0,0.75);
		box-shadow: 0px 2px 10px 6px rgba(0,0,0,0.75);
	}

	.header-title h1 {
		font-family: Montserrat,sans-serif;
		font-size: 40px;
		line-height: 54px;
		font-weight: 700;
		color: #424242;
		margin-top: 50px;
		margin-bottom: 30px;
	}

	.header-title p {
		font-size: 24px;
		line-height: 36px;
		margin-bottom: 24px;
		width: 90%;
		margin: 0 auto 0 auto;
	}

	.header-title p strong {
		font-size: inherit;
		line-height: inherit;
		white-space: nowrap;
		margin-bottom: inherit;
	}

	main h1 {
		font-size: 250%;
		margin-bottom: 30px;
		font-family: 'Montserrat', sans-serif;
	}

	main h2 {
		font-size: 180%;
		margin-bottom: 20px;
		text-transform: uppercase;
		/*color: #0091ea;*/
		font-family: 'Montserrat', sans-serif;
	}

	main h3 {
		margin-bottom: 10px;
		font-size: 150%;
	}

	main p {
		margin-bottom: 20px;
		line-height: 140%;
		font-weight: 100;
	}

	main p.subtitle {
		margin-top: -30px;
		margin-bottom: 40px;
	}

	main p.bgr-grey {
		background-color: #EEEEEE	;
		padding: 20px;
	}

	main a {
		text-decoration: underline;
	}


/**
 * Emotionbereich
 */
	.emotion {
		position: relative;
		padding-top: 0;
		width: 100%;
		background-repeat: no-repeat;
		background-size: 100%;
		background-position: top;
		background-attachment: inherit;
		margin-top: 30px;
		padding-bottom: 0;
	}

		.emotion img {
			width: 100%;
		}

	.emotion-top {
		position: absolute;
		top: 0;
		width: 100%;
	}

		.emotion-top img {
			width: 100%
		}



/**
 * Nachrichten-Kachel
 */
	/*
	.latest-news:before,
	.latest-news:after {
		display: block;
		content: "";
		background-color: #0091ea;
		height: 40px;
		width: 100%;
		margin-left: -20px;
		transform: rotate(2deg);
		position: absolute;
		top: 0;
	}

	.latest-news:after {
		top: inherit;
		bottom: 0;
		margin-left: 0;
		margin-right: -40px;
	}
	*/

	.latest-news {
		width: 100%;
		position: relative;
		z-index: 2;
	}

	.latest-news article {
		background-color: rgba(0,0,0,0.7);
		margin-bottom: 20px;
	}

	.latest-news article:hover {
		opacity: 0.9;
	}

	.latest-news img {
		display: block;
	}

	.latest-news article.bgr-green {
		background-color: #73b700;
			background-color: rgba(255, 255, 255, 0.3)
	}

	.latest-news .article-wrapper {
		padding: 15px;
		background-color: #0091ea;
		min-height: 95px;
	}

	.latest-news article h3 {
		font-size: 16px;
		font-weight: normal;
	}

	.latest-news article * {
		color: #FFFFFF;
		text-decoration: none;
	}

	.latest-news h2 {
		color: #333333;
		text-align: center;

		font-family: Montserrat,sans-serif;
		line-height: 54px;
		font-weight: 700;
		color: #444444;
		margin-top: 35px;

		font-size: 37px;
		line-height: 54px;
		margin-bottom: 30px;

	}

/**
 * Artikelübersicht
 */
	.news article {
		display: block;
		clear: both;
		margin-bottom: 30px;
		border-bottom: 1px dotted #cecece;
	}

	.news article:after {
		content: "";
		display: block;
		clear: both;
	}

	.news article img {
		float: left;
		max-width: 200px;
		margin: 0 30px 30px 0;
	}

/**
 * Mitmachen
 */
	section.join-in {
		background-color: #73b700;
	}

	section.join-in .row {
		padding-top: 20px;
	}

	section.join-in article {
		background-color: rgba(255, 255, 255, 0.3);
		border-radius: 20px;
	}

	section.join-in a {
		display: block;
		padding: 30px 20px;
	}

	section.join-in article:hover {
		background-color: rgba(0, 0, 0, 0.3);
	}

	section.join-in .col-3 {
		text-align: center;
	}

	section.join-in img {
		width: 64px;
	}

	section.join-in span {
		display: block;
		margin: 15px 0 15px 0;
		color: #FFFFFF;
		text-align: center;
	}

/**
 * Mitmachen - Seite
 */
	.page-join-in article {
		margin-bottom: 30px;

	}

	.page-join-in .img-wrapper {
		display: inline-block;
		background-color: #73b700;
		border-radius: 50px;
		padding: 20px;
		margin-right: 20px;
		margin-bottom: 20px;
	}

	.page-join-in p {
		text-align: left;
	}

/**
 * Footer
 */
	footer {
		padding: 30px 0 30px 0;
		background-color: #565656;
	}

	footer * {
		color: #FFFFFF;
		font-weight: 200;
		font-size: 16px;
		padding-bottom: 10px;
	}

	footer .col-3:last-of-type {
		text-align: right;
	}

	footer h2 {
		font-size: 20px;
	}

/**
 * Sponsors
 */
	.sponsors {
		list-style-type: none;
		width: 600px;
		margin: 0 auto 0 auto;
	}

	.sponsors li {
		display: inline-block;
		margin-left: 30px;
		margin-bottom: 30px;
	}

	.sponsors li a {
		display: block;
	}

	.sponsors li:first-of-type {
		margin-left: 0;
	}

	.sponsors li a img {
		height: 50px;
	}

/**
 * Projektliste
 */
	.project-list article {
		background-color: #efefef;
		padding: 20px;
		margin-bottom: 30px;
	}

	.project-list article img {
		margin-bottom: 20px;
	}