@font-face {
    font-family: 'Roboto';
    src: url('../Fonts/roboto/Roboto-VariableFont_wdth,wght.ttf') format('truetype-variations');
    font-weight: 300 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../Fonts/roboto/Roboto-Italic-VariableFont_wdth,wght.ttf') format('truetype-variations');
    font-weight: 300 600;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Merriweather';
    src: url('../Fonts/merriweather/Merriweather-VariableFont_opsz,wdth,wght.ttf') format('truetype');
    font-weight: 300 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Merriweather';
    src: url('../Fonts/merriweather/Merriweather-Italic-VariableFont_opsz,wdth,wght.ttf') format('truetype');
    font-weight: 300 600;
    font-style: italic;
    font-display: swap;
}
:root {
    --bs-btn-bg: #840000 !important;
    --bs-btn-border-color: #840000 !important;
}
body {
    background: #d7c9c4;
    background: linear-gradient(321deg,#d7c9c4 30%, #ccc3be 80%);
    background: -webkit-linear-gradient(321deg,#d7c9c4 30%, #ccc3be 80%);
    background: -moz-linear-gradient(321deg,#d7c9c4 30%, #ccc3be 80%);
    min-height: 100vh;
    font-family: 'Merriweather', serif;
    font-weight: 300;
}
.section.first {
    margin-top: 8em;
}
.section.first:has(> .bg-image-with-text:first-child) {
    margin-top: 0;
}
.vh-80 {
    height: 80vh !important;
}
#c34{
    margin-top: 0;
}
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5{
    font-family: 'Merriweather', serif;
    font-weight: 300;
    letter-spacing: 3%;
}
h1, h2, .h1, .h2{
    font-size: 2.5em;
}
h3, h4, h5, .h3, .h4, .h5{
    font-size: 1.3em;
}
p, ul.list-unstyled li a .col-md-9 div{
    line-height: 1.55;
}
.text-right{
    text-align: right;
}
a {
    color: brown;
}
a.text-decoration-none h3{
    font-size: 1.7em;
}
.more{
    text-decoration: none;
    color: #212529;
    display: flex;
    align-items: center;
    width: fit-content;
}
.more:hover, .more:hover svg{
    color: brown;
}
.more:hover svg{
    margin-left: 5px;
    transition: ease-in-out all 0.3s;
}
.more svg{
    color: #212529;
    height: 25px;
    width: 25px;
    transition: ease-in-out all 0.3s;
}
#header {
    background: #d7c9c4;
    background: linear-gradient(135deg,#d7c9c4 40%, #eadeda 80%);
    background: -webkit-linear-gradient(135deg,#d7c9c4 40%, #eadeda 80%);
    background: -moz-linear-gradient(135deg,#d7c9c4 40%, #eadeda 80%);
    box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.25);
    -webkit-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.25);
    -moz-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.25);
    font-family: 'Merriweather', serif;
    font-weight: 300;
    letter-spacing: 3%;
}
.logo {
    color: #222 !important;
    text-decoration: none !important;
    font-size: 1.5rem;
    z-index: 1050;
    line-height: 1;
    font-weight: 500;
}
.navbar-collapse ul.navbar-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}
/* NEUE vereinfachte Sprachnavigation: */
.language-navigation {
    position: relative;
    display: inline-block;
}

.language-menu {
    display: flex;
    gap: 15px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-direction: row;
    align-items: center;
    padding-left: 20px;
}

.language-menu li {
    display: inline-block;
}

.language-menu li a,
.language-menu li span {
    text-decoration: none;
    color: #222;
    font-size: 17px;
    padding: 0;
    transition: color 0.2s;
}
.language-menu li:last-child span {
    margin-left: -11px;
}

.language-menu li a:hover {
    color: brown;
}

.language-menu li.active a {
    font-weight: bold;
}

.language-menu li.text-muted {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Trennstrich zwischen Sprachen */
.language-menu li:not(:last-child)::after {
    content: "/";
    color: #999;
}
.language-menu li span { padding: 0;text-transform: uppercase;}

#Content{
    min-height: 100vh;
}
header{
    font-family: 'Merriweather', serif;
}
.btn{
    background-color: #840000 !important;
    border-color: #840000 !important;
    color: #efe9e9;
    padding: 0.65rem 1.1rem;
    border-width: 2px;
}
.btn:hover{
    background-color: #efe9e9 !important;
    border-color: #840000 !important;
    color: #840000;
}
img{
    width: 100%;
    height: auto;
    transition: 0.5s all ease-in-out;
}
/*Subpages Listview*/
ul.list-unstyled li h3:hover{
    color: brown;
}
.bg-image-with-text, .two-column-image-text[class*="bg-"] {
    margin: 4.8em 0;
    padding: 5em 0;
}
.bg-image-with-text p{
    margin: 0;
}
.bg-image-with-text.min-vh-100 {
    padding: 0;
    margin: 0;
}
.two-column-image-text{
    margin: 5em 0;
}
.two-column-image-text.min-vh-100{
    margin: 0;
}
.bg-gold{
    background: #d1a15b;
    background: linear-gradient(209deg,#d1a15b 0%, #e9c56c 80%);
    background: -webkit-linear-gradient(209deg,#d1a15b 0%, #e9c56c 80%);
    background: -moz-linear-gradient(209deg,#d1a15b 0%, #e9c56c 80%);
}
.bg-beige{
    background: #d7c9c4;
    background: linear-gradient(135deg,#d7c9c4 40%, #eadeda 80%);
    background: -webkit-linear-gradient(135deg,#d7c9c4 40%, #eadeda 80%);
    background: -moz-linear-gradient(135deg,#d7c9c4 40%, #eadeda 80%);
}
.ce-textpic.ce-left .ce-gallery {
    float: left;
    margin-right: 1.5rem;
    margin-bottom: 1rem;
}
.ce-textpic.ce-left .ce-gallery img {
    max-width: 100%;
    height: auto;
}
.ce-textpic::after {
    content: "";
    display: table;
    clear: both;
}
footer{
    a, .nav-item a{
        color: #222;
        text-decoration: none;
    }
    a:hover, .nav-item a:hover{
        color: white;
    }
}
.frame-space-before-small{
    margin-top: 2rem;
}
.frame-space-after-small{
    margin-bottom: 2rem;
}
.frame-space-before-medium{
    margin-top: 4rem;
}
.frame-space-after-medium{
    margin-bottom: 4rem;
}
.frame-space-before-large{
    margin-top: 10rem;
}
.frame-space-before-extra-large{
    margin-top: 12rem;
}
@media (max-width: 450px) {
    .logo{
        font-size: 110%;
    }
}
@media (max-width: 768px) {
    .section .container{
        padding: 0 1.5rem;
    }
    .icon-menu {
        position: relative;
        display: inline-block;
        width: 35px;
        height: 25px;
        vertical-align: middle;
        fill: none;
        float: right;
        transition: all 0.3s ease-in-out;
    }
    .navbar-toggler:focus{
        box-shadow: none;
    }
    .icon-menu.is-active{
        z-index: 10;
    }
    .icon-menu .line {
        position: absolute;
        left: 0;
        display: block;
        width: 100%;
        height: 3px;
        border-radius: 3px;
        -webkit-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
        -moz-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
        -o-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
        transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
        background-color: #ffffff;
    }
    .icon-menu .line-1 {
        top: 0;
    }
    .icon-menu.is-active .line-1 {
        -webkit-transform: translateY(11px) translateX(0) rotate(45deg);
        -moz-transform: translateY(11px) translateX(0) rotate(45deg);
        transform: translateY(11px) translateX(0) rotate(45deg);
    }
    .icon-menu .line-2 {
        top: 50%;
        margin-top: -1.5px;
    }
    .icon-menu.is-active .line-2 {
        opacity: 0;
    }
    .icon-menu .line-3 {
        bottom: 0;
    }
    .icon-menu.is-active .line-3 {
        -webkit-transform: translateY(-11px) translateX(0) rotate(-45deg);
        -moz-transform: translateY(-11px) translateX(0) rotate(-45deg);
        transform: translateY(-11px) translateX(0) rotate(-45deg);
    }
    #navbarNavDropdown{
        margin-top: 1.2rem;
        min-height: 100vh;
    }
    .navbar-collapse ul {
        flex-direction: column;
        text-align: center;
    }
    .nav-item {
        margin: 10px 0 10px 0;
    }
    .navbar-nav .nav-link {
        font-size: 1.2rem;
    }
    #languageNavigation{
        width: 100%;
        margin-top: 3em;
    }
    .shrink {
        display: flex;
        justify-content: center;
        img{
            width: 60%;
        }
    }
    .bg-image-with-text {
        margin: 0;
    }
    .two-column-image-text{
        margin: 3em 0;
    }
    .ce-textpic.ce-left .ce-gallery {
        float: none;
        margin-right: 0;
        margin-bottom: 1.5rem;
        max-width: 100%;
    }
    .back-button {
        top: 60px;
    }
}
@media (min-width: 768px) {
    .navbar-nav .nav-link {
        padding: 0.5rem 1rem;
        color: #222;
        font-size: 1rem;
    }
    .navbar-nav .nav-link:hover, .navbar-nav .nav-link.is-active  {
        color: white;
    }

    .two-column-image-text .col-12.order-2.right{
        padding-left: 2em;
    }
    ul.list-unstyled li a .col-md-9{
        padding-left: 2em;
    }
}
@media (min-width: 992px) {
    .navbar-nav .nav-link {
        font-size: 1.2rem;
    }
}
@media (min-width:1400px){
    .container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{
        max-width:1140px !important;
    }
}
#toTopButton {
    transition: opacity 0.5s, visibility 0.5s;
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    position: fixed;
    bottom: 90px;
    right: 10px;
    z-index: 999;
    border: solid 2px white;
    outline: none;
    background-color: transparent;
    color: white;
    padding: 15px;
    border-radius: 50%;
    overflow: visible;
}
#toTopButton.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.back-button:hover, #toTopButton:hover {
    background-color: #eadeda;
    color: dimgray;
}
.back-button {
    z-index: 3000;
    position: fixed;
    background-color: transparent;
    color: white;
    padding: 0.5em 1em;
    border-radius: 2em;
    margin: 1em;
    border: solid 2px white;
    top: 80px;
}
.bg-image-with-text {
    overflow: hidden;
}
.image-description-bar {
    z-index: 10;
    background-color: rgba(0, 0, 0, 0.7);
}
@media (min-width: 992px) {
    .navbar-nav .nav-link {
        font-size: 1.2rem;
        padding: 0px 0 0 0;
        padding-right: 0px;
        padding-left: 0px;
        margin: 0 5px;
    }
}
