*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family: "Segoe UI", Arial, sans-serif;
}

.hero{
    width:100%;
    height:100vh;

    background-image:url("schloss.jpg");
    background-size:cover;
    background-position:center;

    position:relative;

    display:flex;
    align-items:center;
    justify-content:flex-start;
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;

    background:rgba(0,0,0,0.15);
}

.logo{

    position:absolute;
    top:40px;
    right:40px;

    width:170px;

    z-index:2;
}

.overlay{

    position:relative;
    z-index:2;

    margin-left:8%;

    max-width:500px;

    background:rgba(255,255,255,.65);

    backdrop-filter:blur(8px);

    padding:45px;

    border-radius:12px;

    box-shadow:0 15px 35px rgba(0,0,0,0.25);
}
.overlay.breit{

    max-width:1200px;
    width:min(90vw,1200px);

    max-height:calc(100vh - 120px);
    overflow-y:auto;

    margin:60px auto;
    padding:50px 60px;

    border-radius:18px;
}
.overlay.breit h1{
    font-size:2.4rem;
    margin-bottom:30px;
}

.overlay.breit h2{
    margin-top:35px;
    margin-bottom:12px;

    font-size:1.3rem;
    font-weight:600;
}

.overlay.breit p,
.overlay.breit li{

    font-size:1rem;
    line-height:1.8;
    color:#444;
}

.overlay.breit ul{
    margin:0 0 20px 24px;
}
.overlay h1{

    font-size:2.3rem;

    margin-bottom:25px;

    color:#333;
}

.overlay p{

    margin-bottom:18px;

    line-height:1.7;

    color:#444;
}
.overlay a{
    color:#444;
	text-decoration:none;
}
.overlay a:hover{
    color:#444;
	text-decoration:underline;
}
@media (max-width:700px){

.logo{

    width:110px;
    top:20px;
    right:20px;
}

.overlay{

    margin:20px;
    padding:30px;
}

.overlay h1{

    font-size:1.8rem;
}

}


.overlay{

    animation:fadeIn 1.2s ease;
}

.logo{

    animation:fadeIn 1.5s ease;
}

@keyframes fadeIn{

    from{
        opacity:0;
        transform:translateY(25px);
    }

    to{
        opacity:1;
        transform:none;
    }

}



.footer{
    position:fixed;
    right:30px;
    bottom:25px;

    padding:8px 14px;

    background:rgba(255,255,255,.18);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    border:1px solid rgba(255,255,255,.25);
    border-radius:999px;

    z-index:10;
}

.footer a{
    color:#fff;
    text-decoration:none;
}

.footer a:hover{
    text-decoration:underline;
}

.footer nav{
    display:flex;
    gap:10px;
    font-size:.85rem;
}


.footer a:hover{
    color:#fff;
}

.footer span{
    color:rgba(255,255,255,.35);
}