@import url(https://fonts.googleapis.com/css?family=Open+Sans);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:700);
*,header ul{
    margin:0;
    padding:0
}
a,header .logo,header li a{
    text-decoration:none
}
*{
    box-sizing:border-box
}
body{
    font-family:'Open Sans',sans-serif;
    background-color:#f4f4f4
}
.wrapper{
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:1fr auto auto 1fr;
    grid-template-areas:"header" "main" "aside" "footer"
}
a{
    color:#fff
}
footer,header{
    width:100%;
    background-color:#000;
    color:#fff;
    z-index:3;
    grid-area:header
}
header{
    box-shadow:1px 1px 4px 0 rgba(0,0,0,.1);
    position:fixed;
    top:0
}
footer{
    grid-area:footer;
    position:absolute;
    bottom:0;
    text-align:center;
    height:5vh
}
header ul{
    list-style:none;
    overflow:hidden
}
header li a{
    display:block;
    padding:20px;
    border-right:1px solid #f4f4f4;
    transition:.4s
}
.aktiv,header .menu-btn:hover,header li a:hover{
    background-color:#f4f4f4;
    color:#333
}
header .logo{
    float:right;
    font-size:2em;
    padding:0 20px;
    font-weight:700;
    color:#e2291d
}
h2,h4{
    color:#666
}
h1{
    font-size:3.5vh;
    padding-top:2.2vh
}
h2{
    padding-bottom:2vh;
    margin-top:5vh
}
h3{
    font-size:2vh;
    margin-top:2%;
    padding-bottom:3vh;
    color:#fff
}
h4{
    font-size:2.5vh;
    padding:3vh 0 1vh
}
header h1,header h3{
    line-height:3.4vh
}
header .menu{
    clear:both;
    max-height:0;
    transition:max-height .2s ease-out
}
header .menu-icon{
    display:inline-block;
    float:left;
    padding:28px 20px;
    position:relative
}
header .menu-icon .navicon{
    background:#fff;
    display:block;
    height:3px;
    position:relative;
    transition:background .2s ease-out;
    width:20px
}
aside,main img{
    width:100%
}
header .menu-icon .navicon:after,header .menu-icon .navicon:before{
    background:#fff;
    content:'';
    display:block;
    height:100%;
    position:absolute;
    transition:all .2s ease-out;
    width:100%
}
header .menu-icon .navicon:before{
    top:6px
}
header .menu-icon .navicon:after{
    top:-6px
}
header .menu-btn{
    display:none
}
header .menu-btn:checked~.menu{
    max-height:320px
}
header .menu-btn:checked~.menu-icon .navicon{
    background:0 0
}
header .menu-btn:checked~.menu-icon .navicon:before{
    transform:rotate(-45deg)
}
header .menu-btn:checked~.menu-icon .navicon:after{
    transform:rotate(45deg)
}
header .menu-btn:checked~.menu-icon .navicon:after,header .menu-btn:checked~.menu-icon .navicon:before{
    top:0
}
main{
    grid-area:main;
    width:80%;
    margin:5em auto 3em
}
main ul li,main ul li a{
    list-style-type:none;
    line-height:1em;
    font-weight:700;
    color:#666
}
aside{
    grid-area:aside;
    background:#fff;
    height:500px;
    padding:6% 4% 4% 10%;
    list-style-position:inside
}
aside a{
    color:red
}
@media (min-width:1024px){
    .wrapper{
        height:100vh;
        display:grid;
        grid-template-columns:3fr 1fr;
        grid-template-rows:1fr 5fr 1fr;
        grid-template-areas:"header header" "main aside" "footer footer"
    }
    main{
        width:70.6%;
        margin:7em auto
    }
    main p{
        width:80%;
        text-align:justify;
        hyphens:auto
    }
    header .logo{
        margin-right:3em
    }
    header li{
        float:left
    }
    header li a{
        padding:5vh 2.7vh 5.6vh
    }
    header .menu{
        clear:none;
        float:left;
        margin-left:17em;
        max-height:none
    }
    header .menu-icon{
        display:none
    }
    h2,main h2{
        display:block
    }
    h1{
        font-size:5vh
    }
    h2,h3{
        font-size:2vh
    }
    main h2{
        font-size:3vh
    }
    main h4{
        font-size:2vh;
        padding:2vh 0 .6vh
    }
}
aside{
    margin:40% 0 0
}
