@font-face {
    font-family: 'open_sansregular';
    src: url('fonts/OpenSans-Regular-webfont.eot');
    src: url('fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/OpenSans-Regular-webfont.woff') format('woff'),
         url('fonts/OpenSans-Regular-webfont.ttf') format('truetype'),
         url('fonts/OpenSans-Regular-webfont.svg#open_sansregular') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'open_sansbold';
    src: url('fonts/OpenSans-Bold-webfont.eot');
    src: url('fonts/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/OpenSans-Bold-webfont.woff') format('woff'),
         url('fonts/OpenSans-Bold-webfont.ttf') format('truetype'),
         url('fonts/OpenSans-Bold-webfont.svg#open_sansbold') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Jost';
    src: url('fonts/Jost-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Jost';
    src: url('fonts/Jost-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: 'Jost';
    src: url('fonts/Jost-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}
@font-face {
    font-family: 'Jost';
    src: url('fonts/Jost-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

:root{
    --farbe-root:#333;
    --border-radius:10px;
    --farbe-gug:#325057;
    --farbe-gug-bg:rgba(50,80,87,0.9);
    --farbe-gug-bg:rgba(48,77,84,0.9);
    --farbe-rot:#b41614;
}

*{
	padding:0px;
	margin:0px;
	font-family:"Jost","open_sansregular",Helvetica, Ariel, sans-serif;
	font-weight:normal;
	font-size:15px;
	line-height:21px;
	font-style:normal;
    color:var(--farbe-root);
	border:0px;
    outline:none;
	text-decoration:none;
	border-collapse:collapse;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: none;
	/*-webkit-transform: translate3d(0,0,0);*/
    color-scheme: light only;
}
html {
	width:100%;
	height:100%;
	background:#f5f5f7;
}
body {
    width:100%;
	height:100%;
}
.mitteXY{
	position:absolute !important;
	left:50%;
	top:50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.mitteX{
	position:absolute;
	left:50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}
.mitteY{
	position:absolute;
	top:50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

#backg{
    position:fixed;
    left:0px;
	top:0px;
	width:100%;
	height:calc(100% + 100px);
    overflow: hidden;
    background:#000;
    transition: filter 0.5s;
	-webkit-transform: translate3d(0,0,0);
    opacity: 0.3;
    z-index:2;
}
#backg img{
    display:block;
    margin-left:-50px;
    margin-top:-50px;
    min-width: calc(100% + 100px);
    min-height: calc(100% + 100px);
    filter:blur(10);
}
h1,h2.register{
    font-size: 22px;
    line-height: 28px;
    font-weight:bold;
    margin-bottom: 0px;
}
h2.register{
    margin-bottom: 10px;
}
.autor{
    display: block;
    margin-bottom: 20px;
    font-size: 13px;
    font-style: italic;
}
h2{
    font-size: 20px;
    line-height: 22px;
    font-weight:bold;
    text-align: left;
    scroll-margin-top: 90px;
}
h3{
    font-size: 16px;
    font-weight:bold;
    margin-bottom: 20px;
    scroll-margin-top: 90px;
}
h5{
    display: inline-block;
    font-size: 16px;
    line-height: 18px;
    font-weight:bold;
    margin-bottom: 10px;
}
h6{
    display: inline-block;
    font-weight:bold;
    margin-bottom: 5px;
}
h3.register{
    margin-bottom: 20px;
}
ol{
    padding-left:20px;
}

small{
    font-size: 12px;
    line-height: 14px;
}
br{
    font-size: inherit;
    line-height:inherit;
}
i,b,u,p,span,a{
    font-size:inherit;
    color:inherit;
    line-height: inherit;
}
i{
    font-weight: inherit;
    font-style: italic;
}
b{
    font-weight: bold;
}
sup{
    font-size: 10px;
}

.note{
    position: relative;
    padding:0px 5px;
    margin-left: 2px;
    margin-right: 3px;
    vertical-align: top;
    top: -5px;
    background:var(--farbe-gug);
    background:rgba(50,80,87,0.1);
    color:#000;
    font-size:10px;
    border-radius: 50px;
    transition: all 0.1s;
    scroll-margin-top: 100px;
    cursor: s-resize;
}
.note:hover{
    background:var(--farbe-rot);
    color:#fff;
}
.hp{
    display: none;
    position: absolute;
    left:0px;
    top:0px;
    background:var(--farbe-gug);
    padding:5px 10px;
    padding-left:22px;
    border-radius: 10px;
    color:#fff;
    font-size:14px;
    max-width:300px;
    border:0px solid var(--farbe-rot);
	z-index:10;
}
.hp .linie{
    position: absolute;
    left:10px;
    top:8px;
    height: calc(100% - 16px);
    width:4px;
    border-radius: 10px;
    background: var(--farbe-rot);
}
nav,main,footer{
    display: block;
    margin: auto;
    position: relative;
    width: calc(100% - 40px);
    max-width: 1000px;
    text-align: left;
    padding:20px;
    z-index:5;
}
header{
    position: fixed;
    background: var(--farbe-gug);
    /*-webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    */
    z-index: 100;
    height: 70px;
    top:0px;
    left:0px;
    width: 100%;
    box-shadow: 0px 5px 10px rgba(0,0,0,0.2);
    border-bottom:5px solid var(--farbe-rot);
}
nav{
    padding:0px;

}
nav .logo{
    font-size: 20px;
    font-weight:bold;
    margin-right: 0px;
}
nav .logo img{
    display: inline-block;
    position: relative;
    margin-top: 15px;
    height: 40px;
}
nav menu{
    display:block;
    position: absolute;
    right:0px;
    top:0px;
    height: 70px;
}
nav #menu_bt{
    display: none;
}
nav a.bt{
    display: inline-block;
    color:#fff;
    vertical-align: top;
    line-height: 70px;
    font-size:17px;
    cursor:pointer;
}
nav a.bt{
    padding:0px 10px;
    transition: all 0.2s;
}
nav a.bt:hover,
nav a.bt.aktiv{
    background: var(--farbe-rot);
}
main{
    margin-top: 70px;
    text-align: left;
}
.suche{
    position: relative;
    display: block;
    background: #ccc;
    color:#999;
    border-radius: 40px;
    padding:0px 0px;
    width:calc(100% - 0px);
    height:40px;
    margin-top: 10px;
    margin-bottom: 30px;
    text-align: left;
}
.suche input{
    position: relative;
    display: inline-block;
    padding-left:40px;
    width:calc(100% - 40px - 100px);
    line-height: 40px;
    background: none;
    -webkit-appearance: none;
	font-size: 16px;
}
.suche svg{
    position: absolute;
    top:7px;
    left:7px;
    height:26px;
}
.suche button{
    position: absolute;
    right: 0px;
    height: 100%;
    display: inline-block;
    background: var(--farbe-rot);
    color:#fff;
    padding:0px 20px;
    border-radius: 40px;
    font-size:inherit;
    transition: 0.2s all;
    cursor: pointer;
}
.suche button:hover{
    padding:0px 30px;
}
mark {
    background-color: #ffe135;
    padding: 0px;
    border-radius: 3px;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    font-style: inherit;
}
.treffer{
    position: relative;
    display: block;
    margin-bottom: 30px;
    text-align: center;
    font-weight: bold;
}
.box{
    display:inline-block;
    position: relative;
    width:100%;
    border-radius: var(--border-radius);
    background: #fff;
    box-shadow: 0px 0px 20px rgba(0,0,0,0.05);
    margin-bottom: 20px;
    cursor:pointer;
    transition: all 0.2s;
}
.box:hover{
    box-shadow: 0px 0px 20px rgba(0,0,0,0.5);
}
.box:hover .mehr{
    background: var(--farbe-gug);
}
.box .txt{
    position:relative;
    left:190px;
    width: calc(100% - 220px - 20px);
    padding:20px;
    text-align: left;
}
.box h2{
    margin-bottom: 5px;
}
.box img{
    position:absolute;
    left:-10px;
    top:-10px;

    display:block;
    height:calc(100% + 0px);
    width:200px;
    object-position: center;
	object-fit: cover;
    border-radius: 20px;
    box-shadow: 0px 2px 10px rgba(0,0,0,0.3);

}

.home_artikel{
    display: inline-block;
    width:calc(50% - 70px);
    vertical-align: top;
    margin-right: 0px;
    margin-bottom: 20px;
    text-align: justify;
    text-align: left;
    background: #fff;
    padding:30px;
    border-radius: var(--border-radius);
    box-shadow: 0px 0px 20px rgba(0,0,0,0.05);
    transition: all 0.2s;
    cursor:pointer;
}
.home_artikel:first-of-type{
    margin-right: 20px;
}
.home_artikel:hover{
    box-shadow: 0px 0px 20px rgba(0,0,0,0.5);
}

.mehr{
    display: inline-block;
    background: var(--farbe-rot);
    color:#fff;
    padding:2px 7px;
    margin-top: 10px;
    border-radius: 3px;
    font-size:12px;
}
.home_artikel:hover .mehr{
    background: var(--farbe-gug);
}

article{
    display: inline-block;
    width:calc(70% - 20px - 0px);
    margin-right: 20px;
}
article.home{
    width:calc(100%);
    margin-right: 0px;
}
section{
    display: block;
    width:calc(100% - 60px);
    vertical-align: top;
    margin-right: 20px;
    margin-bottom: 20px;
    text-align: justify;
    text-align: left;
    background: #fff;
    padding:30px;
    border-radius: var(--border-radius);
    box-shadow: 0px 0px 20px rgba(0,0,0,0.05);
}
section.ref{
    font-size:12px;
    line-height:14px;
}
section.ref p{
    position: relative;
    margin-bottom: 10px;
    padding-left:35px;
}
section.ref p a{
    position: absolute;
    left:0px;
    top:0px;

    padding:0px 5px;
    background:rgba(50,80,87,0.1);
    color:#000;
    font-size:10px;
    border-radius: 50px;
    scroll-margin-top: 100px;
    transition: all 0.1s;
    cursor: n-resize;
}
section.ref p a:hover{
    background:var(--farbe-rot);
    color:#fff;
}
section.ref br{
    line-height: 14px;
}
.einleitung{
    float:left;
    margin-left:-40px;
    margin-right:20px;
    margin-bottom:10px;
    border-radius: 20px;
    box-shadow: 0px 2px 10px rgba(0,0,0,0.3);
    max-width:55%;
    max-height:55%;
}
.up{
    position: fixed;
    bottom:10px;
    left:10px;
    background: #fff;
    box-shadow: 0px 0px 20px rgba(0,0,0,0.1);
    border-radius: 100px;
    height: 50px;
    width:50px;
    z-index: 100;
    opacity: 0;
    left:-80px;
    transition: all 0.5s ease-in-out;
    cursor:pointer;
}
.up:hover{
    box-shadow: 0px 0px 20px rgba(0,0,0,0.3);
}
.up.scrolled{
    opacity: 1;
    left:10px;
}
.up svg{
    margin:10px;
    width:calc(100% - 20px);
    height:calc(100% - 20px);
}
.vz{
    position: fixed;
    display:none;
    bottom:10px;
    right:10px;
    background: #fff;
    box-shadow: 0px 0px 20px rgba(0,0,0,0.1);
    border-radius: 100px;
    height: 50px;
    padding-left:20px;
    width:auto;
    z-index: 102;
    transition: all 0.5s ease-in-out;
    cursor:pointer;
    vertical-align: middle;
    line-height: 50px;
    font-size:16px;
}
.vz:hover{
    box-shadow: 0px 0px 20px rgba(0,0,0,0.3);
}
.vz svg{
    display:inline-block;
    margin:10px;
    margin-top:5px;
    height:30px;
    vertical-align: middle;
}
.list{
    display: block;
    position: relative;
    font-size:13px;
    line-height: 15px;
    margin-bottom: 10px;
    padding-left:30px;
    vertical-align: top;
}
.list .nr{
    position: absolute;
    top:0px;
    left:0px;
    font-size:13px;
    line-height: 15px;

    vertical-align: top;
}
a.list:hover{
    text-decoration: underline;
}

a.link{
    text-decoration: underline;
}
a.link:hover{
    text-decoration: none;
}
.tab{
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
tr{
    font-size: inherit;
}
th,td {
    border: 1px solid #ddd;
    padding: 3px 5px;
    text-align: left;
    vertical-align: top;
    font-size: 12px;
    line-height: 15px;
}

aside{
    position: sticky;
    top:60px;
    display: inline-block;
    width:calc(30% - 60px);
    background: #f00;
    vertical-align: top;
    background: #fff;
    padding:30px;
    text-align: left;
    border-radius: var(--border-radius);
    box-shadow: 0px 0px 20px rgba(0,0,0,0.1);
}
aside a{
    position: relative;
    display: block;
    padding:5px;
    padding-left:25px;
    vertical-align: top;
    transition: all 0.1s;
    margin-top: -5px;
    margin-left: -5px;
    width:calc(100% - 20px);
    border-radius: 5px;
}
aside a.aktiv{
    background: var(--farbe-gug);
    color:#fff;
}
aside a:hover{
    background: var(--farbe-rot);
    color:#fff;
}
aside a span{
    position: absolute;
    top:5px;
    left:5px;
    vertical-align: top;
}
figure.artikel{
    display: block;
    margin:10px 0px;
    background: rgba(0,0,0,0.05);
    padding:20px 10px;
    border-radius: 20px;
    box-shadow: inset 0px 0px 20px rgba(0,0,0,0.05);
}
figure.artikel img{
    display: block;
    border-radius: 20px;
    box-shadow: 1px 3px 10px rgba(0,0,0,0.2);
    max-width:calc(100% - 40px);
    max-height: 400px;
    margin: auto;
}
figure.artikel .linie{
    position: relative;
    display: block;
    width:100px;
    height: 3px;
    border-radius: 50px;
    margin:auto;
    margin-top:10px;
    background: var(--farbe-rot);
}
figure.artikel figcaption{
    display: block;
    text-align: center;
    max-width:calc(100% - 80px);
    margin: auto;
    margin-top: 10px;
    font-size: 13px;
    line-height: 15px;
    font-style: italic;
}
figure.banner{
    position: relative;
    display: block;
    max-width: 100%;
    margin-bottom: 20px;
}
figure.banner img{
    position: relative;
    display: block;
    border-radius: var(--border-radius);
    box-shadow: 0px 0px 20px rgba(0,0,0,0.1);
    max-width:100%;
}
figure.banner figcaption{
    position: absolute;
    display: block;
    font-size: 11px;
    line-height: 15px;
    font-style: italic;
    right:-10px;
    bottom:10px;
    background: #fff;
    padding:3px 8px;
    border-radius: 20px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}

footer{
    width: calc(100% - 100px);
    max-width: 940px;
    padding:20px 50px;
    padding-bottom:50px;
}
footer a{
    margin-right: 20px;
}

@media (max-width: 800px) {
    article{
        display:block;
        width:calc(100%);
        margin-right: 0px;
    }
    .home_artikel{
        display: block;
        width:calc(100% - 60px);
    }
    .home_artikel:first-of-type{
        margin-right: 0px;
    }
    .einleitung{
        max-width:55%;
        max-height:55%;
    }
    nav #menu_bt{
        position: absolute;
        right:0px;
        display: inline-block;
    }
    nav menu{
        display: block;
        top:75px;
        right:-20px;
        right:-180px;
        height: auto;
        padding:20px;
        text-align: right;
        background: var(--farbe-gug);
        transition:all 0.2s ease-in-out;
    }
    nav menu a.bt{
        display: block;
    }
    nav menu.aktiv{
        display:block;
        right:-20px;
    }
    .vz{
        display:block;
    }
    aside{
        display: block;
        position: fixed;
        left:10px;
        top:-100%;
        opacity: 0;
        padding:20px;
        width:calc(100% - 60px);
        height: calc(100vh - 110px);
        overflow-y: auto;
        overflow-x: hidden;
        transition:all 0.3s ease-in-out;
        z-index: 101;
    }
    aside.aktiv{
        top:70px;
        opacity: 1;
    }
}
@media (max-width: 500px) {
    nav .logo img{
        display: inline-block;
        position: relative;
        margin-top: 20px;
        height: 30px;
    }
    .home_artikel{
        padding:20px;
        width:calc(100% - 40px);
    }
    .einleitung{
        margin-left: -30px;
        max-width:45%;
        max-height:45%;
    }

    section{
        width:calc(100% - 40px);
        padding:20px;
    }

    .box  img.suche_bild{
        display: none;
    }
    .box  .txt{
        left:0px;
        width: calc(100% - 40px);
        padding:20px;
    }

}
