html {
    --body-background:#DFDFD9;
    --nabu-blau:#0E6BB1;
    --main-background: #fff;
    --text-highlight:#0E6BB1;
    --normal-text-color:#000;
    --nav-extra-background:#FF8900;
    --aside-sect-green:#A2CE70;
    --aside-sect-orange:rgb(206, 173, 112);
    --aside-sect-blue:rgb(112, 168, 206);
    --mobil-nav-seperator:#fff;
    
}



body {
    background-color:var(--main-background);
    font-family:Arial, Helvetica, sans-serif;
    padding:0;
    margin:0;
    min-height:100%;
    font-size:0.9rem;
    display:flex;
    flex-direction: column;
}

header > nav.fastLink, main {
    width:64rem;
    margin:0 auto;
    position:relative;
    box-sizing:border-box;
}

header {
	background-color:var(--body-background);
    padding-top:0.5rem;
    flex-grow:0;
    width:100%;
}

nav.fastLink, nav.mainNav {
    text-align:right;
}

nav.fastLink {
    line-height:3rem;
    height:3rem;
    font-size:0.7rem;
}

nav.fastLink > ul {
    list-style: none;
    display: inline-flex;
    margin: 0;
}

nav.fastLink > ul > li {
	padding:0 0.5rem;
	border-right:1px solid #000;
	height:0.7rem;
	margin:1.1rem 0;
	line-height:0.8rem;
}

nav.fastLink > ul > li:last-child {
	border-right:0;
}

nav.fastLink input {
	border:1px solid var(--nabu-blau);
	box-sizing:border-box;
	vertical-align:middle;
	margin-left:1rem;
	height:1.5rem;
	
}

nav.fastLink button {
	background-color:var(--nabu-blau);
	width:1.5rem;
	height:1.5rem;
	border:0;
	vertical-align:middle;
	background-image:url(../framework/lupe.png);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:1rem auto;
}

nav.mainNav {
    background-color:var(--nabu-blau);
    color:var(--main-background);
    height:2.5rem;
    line-height:2.5rem;
    font-size:0.9rem;
    padding-left:calc(50% - 21rem);
    padding-right:calc(50% - 32rem);
    font-weight:bold;
}

nav.mainNav button.desktop_invisible {
	display:none;
	height: 2rem;
    line-height: 2rem;
    color: #fff;
    padding-left: 2rem;
    background-image: url(../framework/menu.png);
    background-size: 1.5rem auto;
    background-repeat: no-repeat;
    background-position: left center;
    background-color: var(--nabu-blau);
    border: 0;
    font-weight: bold;
    margin-right: 0.5rem;
}

nav.mainNav ul {
    list-style: none;
    cursor:pointer;
}

nav.mainNav > ul {
    list-style: none;
    display: flex;
    flex-direction: row;
    padding: 0;
    margin: 0;
    width: 100%;
    position:relative;
}

nav.mainNav > ul > li {
    flex-grow: 1;
    flex-shrink: 1;
    display: block;
    margin: 0;
    text-align: center;
    padding: 0;
}

nav.mainNav > ul > li a:hover {
	background-color:rgba(0,0,0,0.2);
}

nav.mainNav > ul > li:hover a::after {
   content: "";
   color: red;
   display:block;
   width: 0px;
   height: 0px;
   -webkit-transform:rotate(360deg);
   border-style: solid;
   border-width: 0 1rem 0.5rem 1rem;
   border-color: transparent transparent #ffffff transparent;
   position:absolute;
   left:4rem;
   z-index:10001;
}

nav.mainNav > ul > li > div {
    display: none;
    position: absolute;
    left: -11rem;
    top: 2.5rem;
    width:64rem;
    height:18rem;
/*    background-color:rgba(255,255,255,0.8);
    background-color:rgba(0,0,0,0.6);*/
    z-index:10000;
}

nav.mainNav > ul > li > div > ul,
nav.mainNav > ul > li > ul {
    display: none;
    position: absolute;
    left: 1rem;
    top: 3rem;
    background-color: #fff;
    z-index: 10001;
    color: var(--nabu-blau);
    text-align: left;
    padding-top:0.5rem;
    padding-left:11rem;
    /* font-weight: normal; */
    flex-wrap: wrap;
    flex-direction: column;
    width: 51rem;
    height: 16rem;
    box-sizing:border-box;
    -webkit-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.51);
	-moz-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.51);
	box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.51);
	background-position:left center;
	background-repeat:no-repeat;
	background-size:auto 16rem;
}

nav.mainNav > ul > li > div > ul {
	left:12rem;
	top:0.5rem;
}

nav.mainNav > ul > li:nth-child(1) > div > ul,
nav.mainNav > ul > li:nth-child(1) > ul {
	background-image:url("../framework/wir_im_nabu.jpg");
}

nav.mainNav > ul > li:nth-child(2) > div > ul,
nav.mainNav > ul > li:nth-child(2) > ul {
	background-image:url("../framework/aktionen_projekte.jpg");
}

nav.mainNav > ul > li:nth-child(3) > div > ul,
nav.mainNav > ul > li:nth-child(3) > ul {
	background-image:url("../framework/jugend.jpg");
}

nav.mainNav > ul > li:nth-child(4) > div > ul,
nav.mainNav > ul > li:nth-child(4) > ul {
	background-image:url("../framework/erleben_schuetzen.jpg");
}

nav.mainNav > ul > li:nth-child(5) > div > ul,
nav.mainNav > ul > li:nth-child(5) > ul {
	background-image:url("../framework/tiere_pflanzen.jpg");
}

nav.mainNav > ul > li:nth-child(6) > div > ul,
nav.mainNav > ul > li:nth-child(6) > ul {
	background-image:url("../framework/spenden.jpg");
}



nav.mainNav > ul > li:hover > div {
	display:block;
}

nav.mainNav > ul > li:hover > div > ul,
nav.mainNav > ul > li:hover > ul
 {
	display:flex;
}

nav.mainNav > ul > li > div > ul > li,
nav.mainNav > ul > li > ul > li {
    line-height: 1.5rem;
    margin-bottom: 0;
    padding: 0.5rem 1rem 0.4rem 1rem;
}

nav.mainNav > ul > li > div > ul > li > ul,
nav.mainNav > ul > li > ul > li > ul {
    font-weight: normal;
    color: var(--normal-text-color);
    padding-left: 1.2rem;
    font-size: 0.8rem;
    line-height: 1.1rem;
}

nav.mainNav a {
    text-align:center;
    display:block;
    position:relative;
    padding:0 0.5rem;
	box-sizing:border-box;
}

nav.mainNav > ul > li:last-child {
    background-color:var(--nav-extra-background);
}

.logo {
    width:9rem;
    height:9rem;
    box-sizing: border-box;
    background-color:#fff;
    border-bottom:0.3rem solid var(--nabu-blau);
    position:absolute;
    top:0;
    left:calc(50% - 30rem);
    z-index:10100;
}

.logo img {
    width: 8rem;
    margin-left: 0.5rem;
    margin-top: 1.5rem;
}

.nabu_head_image {
    height:24rem;
    position:relative;
    background-image:url(../framework/kopfzeile2.jpg);
    background-size:cover;
    background-position: center center;
    overflow:hidden;
}

.nabu_head_image img {
	position:absolute;
	width:100%;
	height:100%;
	object-fit: cover;
    object-position: center;
	top:0;
	left:0;
    transition: opacity 2s;
    opacity:0;
	z-index:9000;
}

.nabu_head_image img.aktiv {
	opacity:1;
}


.nabu_head_image span {
    position:absolute;
    bottom:5.5rem;
    left:calc(50% - 30rem);
    background-color:#fff;
    font-size:2rem;
    line-height:2.5rem;
    font-weight:bold;
    padding:0 1rem;
    color:#6ECC00;
    z-index:9005;
}

.nabu_head_image span + span {
    bottom: 2.5rem;
    left: calc(50% - 28rem);
    color:#38491E;
}

main {
    background-color: var(--main-background);
    box-sizing: border-box;
    display:flex;
    min-height:30rem;
    padding:0.5rem 0;
    margin-top:1rem;
    margin-bottom:1rem;
    flex-wrap:wrap;
}

main article {
    width:50rem;
    box-sizing: border-box;
    font-size:1rem;
}

article > * {
    margin-left:2rem;
    margin-right:2rem;
    width:46.5rem;
    flex-grow:0;
    flex-shrink:0;
}

article h1 {
    color: var(--nabu-blau);
    font-size: 2rem;
    margin-top: 0;
    margin-bottom: 2rem;
}

article h2 {
    color: #808080;
    margin-bottom: 0.3rem;
    font-size: 1.2rem;
    margin-top: 2rem;
    font-weight: normal;
}

article p {
    line-height: 1.3rem;
}

article>.picture {
    border: 1px solid var(--body-background);
    border-right: 0;
    width: 15rem;
    border-top: 0;
    margin-bottom: 1rem;
}

.picture.pictureAlignRight {
    float: right;
}

.picture.pictureAlignLeft {
    float: left;
}

.picture img {
    width: 15rem;
    height: 15rem;
    margin: 0;
    overflow: hidden;
    object-fit: cover;
    object-position: top;

}

article .linklist {
    display:flex;
    flex-direction: row;
    flex-wrap:wrap;
    justify-content: space-between;
    margin-top:4rem;
}

article .linklist section {
    width:45%;
    border:1px solid var(--body-background);
    border-top:0;
    border-right:0;
    background-image:url(../framework/plus.png);
    background-size:3rem auto;
    background-repeat: no-repeat;
    background-position: right bottom 1rem;
    margin-bottom:2rem;
    margin-right:1rem;
    flex-grow:1;
    flex-shrink:1;
}

article .linklist section.onethird {
	width:30%;
}

article .linklist section.fullsize {
	width:100%;
}

article .linklist section a,
article .linklist section a:hover,
article .linklist section a:active,
article .linklist section a:visited {
    color:var(--normal-text-color);
    text-decoration:none;
    display:block;
    width:100%;
    height:100%;
    padding-bottom:4rem;
    box-sizing: border-box;
}

article .linklist section img {
    width:100%;
    height:16rem;
    overflow: hidden;
    object-fit: cover;
    object-position: center;
}

article .linklist section h2 {
    color:var(--text-highlight);
    font-size:1.4rem;
    font-weight:bold;
    position: relative;
}

article .linklist section h2,
article .linklist section p {  
    margin:1rem;
}

article .linklist section h2:before {
        content: "\A";
        border-style: solid;
        border-width: 0 2rem 1.5rem 2rem;
        border-color: transparent transparent var(--main-background) transparent;
        position: absolute;
        left: 0;
        top: -2.5rem;
    }

span.imageInfo {
    margin: 0;
    font-size: 0.7rem;
    font-weight:bold;
    display: block;
    padding: 0.5rem;
}

span.imageCopyright {
    margin: 0;
    font-size: 0.7rem;
    font-style: italic;
    text-align: right;
    display: block;
    padding: 0.5rem;
}

.breadcrumb {
    text-align: right;
    font-size: 0.8rem;
    border-bottom: 1px solid #808080;
    color:#808080;
    line-height: 1.5rem;

    border-width: 0px;
    border-style: solid;
    border-image: linear-gradient(90deg,
    var(--main-background),
    var(--body-background)) 100% 1;
    border-bottom-width:1px;
    padding-right:0.5rem;
    margin-right:1.5rem;
}

.anlauftext {
    font-weight:bold;
}

main aside {
    width:14rem;
    box-sizing: border-box;
    border-left:1px solid var(--body-background);
}

aside > nav > h3 {
        border-width: 0px;
        border-style: solid;
        border-image: linear-gradient(90deg,
            var(--text-highlight),
            var(--text-highlight) 1.9rem,
            var(--main-background) 1.9rem,
            var(--main-background)) 100% 1;
        border-bottom-width:1px;
        color:var(--text-highlight);
        line-height:0.7rem;
        padding-left:1.5rem;
        margin-top:0.8rem;
}

aside nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    padding-top: 0.5rem;
    font-size: 0.8rem;
}

aside > nav > ul {
    margin-left:0.5rem;
}

aside nav ul li {
    padding-left: 1rem;
    padding-bottom: 0.7rem;
    position:relative;
}

aside nav ul li.open {
    font-weight:bold;
    
}

aside nav ul li.open ul {
    font-weight:normal;
    border-top:1px solid var(--text-highlight);
}

aside nav ul li.aktiv {
    color:var(--text-highlight);
    font-weight:bold;
}

aside nav ul li.aktiv:before {
    content: "\A";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.3rem 0 0.3rem 0.6rem;
    border-color: transparent transparent transparent var(--text-highlight);
    position: absolute;
    left: 0;
    top: 0.2rem;
}


aside section {
    margin: 1rem;
    margin-top:5rem;
}

aside section h3 {
    text-transform: uppercase;
    color: #808080;
    margin-bottom: 0;
}

aside section img {
    width:100%;
    margin:0;
    display:block;
}

aside section div {
    margin:0;
    background-color:var(--aside-sect-green);
    font-size:0.8rem;
    padding:0.5rem;
    position:relative;
}

aside section div:before {
    content: "\A";
    border-style: solid;
    border-width: 0 1rem 0.7rem 1rem;
    border-color: transparent transparent var(--aside-sect-green) transparent;
    position: absolute;
    left: 0.5rem;
    top: -0.7rem;
}

aside section div.green {
    background-color:var(--aside-sect-green);
}

aside section div.green:before {
    border-color: transparent transparent var(--aside-sect-green) transparent;
}

aside section div.orange {
    background-color: var(--aside-sect-orange);
}

aside section div.orange:before {
    border-color: transparent transparent var(--aside-sect-orange) transparent;
}

aside section div.blue {
    background-color: var(--aside-sect-blue);
}

aside section div.blue:before {
    border-color: transparent transparent var(--aside-sect-blue) transparent;
}

aside section div p {
    margin: 0;
    margin-bottom:0.5rem;
}

footer {
    background-color: var(--nabu-blau);
    color: #fff;
    width: 64rem;
    padding-left: calc(50% - 32rem);
    padding-right: calc(50% - 32rem);
    display: flex;
    font-size:0.9rem;
    padding-top:2rem;
    padding-bottom:2rem;
	flex-wrap:wrap;
    flex-grow:0;
}

footer section {
    flex-grow:1;
    padding:0 2rem;
}

footer section ul {
    margin:0;
    padding:0;
    list-style: none;
}

.keywords {
    margin: 4rem 5rem;
    border-top: 0.2rem solid var(--body-background);
    border-bottom: 0.2rem solid var(--body-background);
    padding: 1rem;
    color: var(--body-background);
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    width:auto;
}


@media only screen and (max-height: 60rem) {
	.nabu_head_image {
    	height:18rem;
	}

/*	.nabu_head_image span {
	    top:10rem;
	}

	.nabu_head_image span + span {
	    top: 13rem;
	}
*/
}

@media only screen and (max-height: 54rem) {
	.nabu_head_image {
    	height:9rem;
	}

	.nabu_head_image span {
    	bottom: 3.2rem;
    	font-size: 1.2rem;
    	line-height: 1.4rem;
    	padding: 0 0.3rem;
	}

	.nabu_head_image span + span {
	    bottom: 1.6rem;
	}

	.logo {
		width:7rem;
		height:6.5rem;
	}
	
	.logo img {
		margin-top:1rem;
		width:6rem;
	}

	nav.fastLink {
		height:2.2rem;
		line-height:2.2rem;
	}
	
	nav.fastLink ul li {
		margin:0.7rem 0;
	}

}

@media only screen and (max-height: 30rem) {
	.nabu_head_image {
    	height:9rem;
	}

	.nabu_head_image span {
	    display:none;
	}

	.nabu_head_image span + span {
	    display:none;
	}
	
	.logo {
		width:6rem;
		height:5.5rem;
	}
	
	.logo img {
		margin-top:0.7rem;
		width:5rem;
	}

	nav.fastLink {
		height:0.3rem;
	}
	nav.fastLink * {
		display:none;
	}
}


@media only screen and (max-width: 64rem) {
	header > nav.fastLink, main, footer {
    	width:100%;
	}
	
	main article {
		width:100%;
	}
	
	main article * {
		width:auto;
	}
	
	nav.fastLink {
		padding-right:0.5rem;
	}
	nav.mainNav {
		height:auto;
		line-height:1.2rem;
		padding-left:11rem;
		padding-right:0;
	}
	
	.logo {
		left:1rem;
	}
	
	nav.mainNav > ul > li > a {
		padding:0.2rem 0.5rem;
	}
	
	.nabu_head_image span {
		left:2rem;
	}

	.nabu_head_image span + span {
		left:4rem;
	}
	
	main aside {
		width:100%;
		display:flex;
		flex-wrap:wrap;
		flex-direction:row;
	}
	
	main aside nav {
		width:100%;
		flex-grow:1;
		flex-shrink:0;
		padding-bottom:1rem;
		border-bottom:1px solid var(--body-background);
	}
	
	main aside section {
		width:14rem;
		flex-shrink:1;
	}

}

@media only screen and (max-width: 44rem) {
	
	nav.mainNav {
		text-align:right;
		position:relative;
	}
	
	nav.mainNav button.desktop_invisible {
		display:inline-block;
	}
	
	nav.mainNav a,
	nav.mainNav > ul > li > a {
		text-align:right;
		padding:0 1rem;
	}
	
	header nav.mainNav > ul {
		display:none;
	    position: absolute;
	    top: 2rem;
   	 	left: 0;
    	right: 0;
    	flex-direction: column;
    	background-color: var(--nabu-blau);
    	z-index: 10000;
    	border-bottom:1rem solid var(--nabu-blau);
    	-webkit-box-shadow: 0px 10px 5px 0px rgba(0,0,0,0.75);
		-moz-box-shadow: 0px 10px 5px 0px rgba(0,0,0,0.75);
		box-shadow: 0px 10px 5px 0px rgba(0,0,0,0.75);
	}
	
	header nav.mainNav > ul > li {
		border-top:1px solid var(--mobil-nav-seperator);
		line-height:3rem;
		text-align:right;
	}
	
	header nav.mainNav > ul > li > div {
		    display:block;
		    position: relative;
		    background-color: #fff;
   	 		top: 0;
    		width: 100%;
    		left: 0;
    		height:auto;
	}
	
	nav.mainNav > ul > li > div > ul {
    	left: 0;
    	top: 0;
    	padding:0;
    	background:none !important;
    	display:flex;
    	box-shadow:none;
    	height:auto;
    	position:relative;	
    	width:auto;
	}
	
	nav.mainNav > ul > li > div > ul > li {
		text-align:right;
	}	
	
	nav.mainNav > ul > li > div > ul > li > ul {
		display:none;
	}	
	
	
	footer section {
		width:30%;
		flex-grow:1;
	}
	
	footer section {
		margin-top:2rem;
	}
	
	footer section:nth-child(1) {
		order:1
	}

	footer section:nth-child(2) {
		order:3
	}

	footer section:nth-child(3) {
		order:4
	}

	footer section:nth-child(4) {
		order:2
	}

	nav.fastLink * {
		display:none;
	}
	
	/*footer section:nth-child(1),
	footer section:nth-child(4) {
		width:100%;
	}*/ 

}

@media only screen and (max-width: 38rem) {
	article .linklist section,
	article .linklist section.onethird,
	article .linklist section.fullsize {
		width:100%;
	}
	
	.nabu_head_image span {
		display:none;
    	font-size: 1.2rem;
    	line-height: 1.4rem;
    	padding: 0 0.3rem;
    	bottom:3.8rem;
	}

	.nabu_head_image span + span {
		bottom: 2rem;
	}

}