html, body {
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

body {
    font-family: "Open Sans", Helvetica , Arial, sans-serif;
    line-height: 160%;
    color:#666;
    font-size: 13px;
    letter-spacing: 0.3pt;
    min-width: 360px;
    width:100%;
    overflow-x: hidden;
}

/* TOP */
#top {
    position: fixed;
    z-index: 1009;
    left:0px;
    right:0px;
    top:0px;

    background-color: #fafafa;

    -webkit-box-shadow: 0px 0px 5px rgba(0,0,0,0.4);
    -moz-box-shadow: 0px 0px 5px rgba(0,0,0,0.4);
    box-shadow: 0px 0px 5px rgba(0,0,0,0.4);
}
#top .brand a {
    display: block;
    padding:10px 0px;
}
#top .brand img {
    max-width: 100%;
    
}

#header {
	margin-top:102px
}
#main {
    position: relative;
    z-index:1000;

    -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
}

#footer {
    padding:20px 0px;
    background-color: #f0f0f0;
	border-top:2px solid #e0e0e0;
	border-bottom:2px solid #e0e0e0;
    color:#fff;
}
#subfooter {
    padding:60px 0px;
    background-color: #fafafa;
    color: #555;
    font-size: 90%;
    line-height: 150%;
}

/* navi main */
@media (min-width: 768px) {
    #top .mainnav .nav.menu > li {
        padding:30px 11px;
    }
    #top .mainnav .nav.menu > li > span,
    #top .mainnav .nav.menu > li > a {
        display:block;
        padding:10px 5px;
        cursor: pointer;
        text-decoration: none;
        text-transform: uppercase;
        border-top:1px solid transparent;
        border-bottom:1px solid transparent;
        background-color: transparent !important;
		font-size:110%;
        color:#222;
        font-weight: 400;
        opacity: 0.5;

        -webkit-transition: border-color linear 400ms;
        -moz-transition: border-color linear 400ms;
        -ms-transition: border-color linear 400ms;
        -o-transition: border-color linear 400ms;
        transition: border-color linear 400ms;
    }
    #top .mainnav .nav.menu > li:hover > span,
    #top .mainnav .nav.menu > li:hover > a{
        opacity: 0.9;
    }
    #top .mainnav .nav.menu > li.active > span,
    #top .mainnav .nav.menu > li.active > a{
        opacity: 0.9;
        font-weight: 600;
    }
    #top .mainnav .nav.menu > li > ul {
        position: absolute;
        display: none;
        list-style: none;
        margin:30px 0px 0px -20px;
        padding:0px;
    }
    #top .mainnav .nav.menu > li:hover > ul {
        display: block;
        animation-duration: 0.3s;
        animation-fill-mode: both;
        animation-name: fadeInUpSmall;
    }
    #top .mainnav .nav.menu > li > ul > li {
        border-bottom:1px solid #ddd;
        background-color: #f8f8f8;

        -webkit-transition: all linear 400ms;
        -moz-transition: all linear 400ms;
        -ms-transition: all linear 400ms;
        -o-transition: all linear 400ms;
        transition: all linear 400ms;
    }
    #top .mainnav .nav.menu > li > ul > li:last-child {
        border-bottom:none;

        -webkit-border-bottom-right-radius: 5px;
        -webkit-border-bottom-left-radius: 5px;
        -moz-border-radius-bottomright: 5px;
        -moz-border-radius-bottomleft: 5px;
        border-bottom-right-radius: 5px;
        border-bottom-left-radius: 5px;
    }
    #top .mainnav .nav.menu > li > ul > li:hover {
        background-color: #eee;
    }
    #top .mainnav .nav.menu > li > ul > li a {
        display:block;
        color:#555;
        text-decoration: none;
        font-size: 110%;
        padding:10px 30px;
    }
}







@-webkit-keyframes fadeInUpSmall {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInUpSmall {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 20px, 0);
        -ms-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
    }
}

.fadeInUpSmall {
    -webkit-animation-name: fadeInUpSmall;
    animation-name: fadeInUpSmall;
}

@-webkit-keyframes fadeInLeftSmall {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInLeftSmall {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-20px, 0, 0);
        -ms-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
    }
}

.fadeInLeftSmall {
    -webkit-animation-name: fadeInLeftSmall;
    animation-name: fadeInLeftSmall;
}

.readmore {
	background-color: transparent;
    background-image: none;
    border: 1px solid #666;
    color: #666;
    display: inline-block;
    margin: 10px 0 25px 0;
    padding: 5px 20px;
    text-decoration: none;
    text-transform: uppercase;
}

#footer .moduletable {
	text-align:center;
	color: #333;
}
.rsform-block-datenschutz .formRequired {
	display:none;
}

/* mainstyles */
#main.white {
    background-color:#fafafa;
}
#main.grey {
    background-color:#eee;
}
#main.red {
    background-color:#aa033e;
}
#main.red *{
    color:#fff;
}
#main.topangle {
    padding-bottom:80px;
}
#main.topangle:first-child {
    margin-top:0px;
}
#main.topangle:before {
    display:block;
    position: relative;
    content:' ';

    width:102%;
    height:77px;
    top:-33px;
}
#main.topangle.angleright:before {
    -moz-transform: rotate(-2deg);
    -ms-transform: rotate(-2deg);
    -o-transform: rotate(-2deg);
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg);
}
#main.topangle.angleleft:before {
    -moz-transform: rotate(2deg);
    -ms-transform: rotate(2deg);
    -o-transform: rotate(2deg);
    -webkit-transform: rotate(2deg);
    transform: rotate(2deg);
    left:-1%;
}
#main.white.topangle:before {
    background-color: #fafafa;
}
#main.grey.topangle:before {
    background-color: #eee;
}
#main.red.topangle:before {
    background-color: #aa033e;
}

#main #main-intro-fullimage {
    height:600px;
    background-size: cover;
    background-position: center center;
}
#main .container {
    margin:10px auto;
}
.newsfeedwhite li {margin: 20px 0px;}