@font-face {
    font-family:"trajan-pro-3";
    src:url("assets/fonts/adobe-caslon-pro/adobe-caslon-pro/ACaslonPro-Regular.otf") format("opentype");
    font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
}
@font-face {
    font-family:"trajan-pro-3";
    src:url("assets/fonts/adobe-caslon-pro/adobe-caslon-pro/ACaslonPro-Bold.otf") format("opentype");
    font-display:auto;font-style:normal;font-weight:600;font-stretch:normal;
}
@font-face {
    font-family:"cormorant";
    src:url("assets/fonts/website/Manrope-VariableFont_wght.ttf") format("opentype");
    font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
}

:root {
    --wp--preset--color--background: #ede5da !important;
    --wp--preset--color--foreground: #ede5da !important;
    --wp--preset--color--primary: #fff !important;
    --wp--preset--color--secondary: #fff !important;
    --wp--preset--color--tertiary: #f6f0ed !important;
    --wp--preset--color--foreground-alt: #ccc !important;
}

html, body {
    height: 100%;
    background-color: var(--wp--preset--color--background);
    scrollbar-gutter: stable;
}

body {
    overflow-x: hidden;
}
.wp-block-group.alignfull.has-tertiary-background-color.has-background.is-content-justification-center.is-nowrap.is-layout-flex.wp-block-group-is-layout-flex {
    display: none !important;
}


#smooth-wrap{
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    will-change: transform;
    margin-top: 0 !important;
}
.wp-site-blocks p, .wp-site-blocks a, .wp-site-blocks span, .wp-site-blocks li  {
    font-family: "cormorant", sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 18px;
    color: #7c5d40 !important;
}


.wp-site-blocks h1, .wp-site-blocks h2, .wp-site-blocks h3 {
    font-family: "trajan-pro-3", sans-serif !important;
    font-style: normal !important;

}

.wp-site-blocks input, .wp-site-blocks textarea, .wp-site-blocks h4, .wp-site-blocks h5, .wp-site-blocks h6, .wp-site-blocks .sub-text  {
    font-family: "cormorant", sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 1.2rem !important;
}

.sliding-up-btn {
    margin-top: -144px !important;
    border-radius: 15px;
    opacity: 0;
    height: 146.2px;
    width: 232px;
    transition: opacity 0.3s;
    background: rgba(237,229,218,0.55);
    z-index: 444;
    position: absolute;
    transition: 0.3s all;
}
.sliding-up-btn:hover {
    opacity: 1;
}


.wpcf7-response-output {
    font-family: "cormorant", sans-serif !important;
    border-radius: 15px;
    border-color: #da394d;
}
.wp-site-blocks h1 {
    color: #3d2e1e !important;
    font-weight: 600 !important;
    text-align: center !important;
}
.wp-site-blocks h2 {
    color: #3d2e1e !important;
    font-weight: 600 !important;
}
.wp-site-blocks h3 {
    color: #3d2e1e !important;
    font-size: 2rem !important;
}
.page-id-3  h3, .page page-id-2 h3, .page-id-34 h3 {
    font-family: "trajan-pro-3", sans-serif !important;
    font-style: normal !important;
}
 .wp-site-blocks h4, .wp-site-blocks h5, .wp-site-blocks h6 {
    font-weight: 400 !important;
    color: #000 !important;
}
.wp-site-blocks h1 {
    font-size: 3.3rem !important;
}
.wp-site-blocks h2 {
    font-size: 2.7rem !important;
}
.wp-site-blocks img {
    border-radius:15px !important;

}

.wp-site-blocks .wp-block-image {
    max-width: 600px !important;
}

.wp-site-blocks .wp-block-navigation-item__content span {
    font-size: 1.3rem !important;
}

.wp-site-blocks .smoobu-booking-tool-container {
    text-align: center;
}

.wp-container-core-group-is-layout-c35747d5 p {
    margin-top:0 !important;
}

.wp-site-blocks footer {
    background-color: #7c5d40 !important;
    padding-bottom:10px !important;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
    border-top:10px solid #c9bcaa !important;
}
footer .wp-block-navigation ul li a, footer .wp-block-navigation ul li a span, footer .wp-block-navigation-item__label {
    color:#EDE5DA !important;
}
footer .wp-block-navigation ul li a:hover, footer .wp-block-navigation ul li a span:hover, footer .wp-block-navigation-item__label:hover {
    color:#EDE5DA !important;
}
.wp-site-blocks footer .custom-logo-link {
    margin-top: -10px;
}
.wp-site-blocks header {
    background-color: rgba(25,29,27,0) !important;
    position: fixed !important;
    top: 0 !important;
    top:0;
    width: 100%;
    z-index: 22;
}
.wp-block-navigation__responsive-container-open {
    z-index:1;
}

.wp-site-blocks header .wp-block-social-link {
    z-index:1;
}
.wp-site-blocks header::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0.7;
    height: 105px;
    transition: 0.8s all;

    background-color: #c9bcaa !important;
}

.wp-block-navigation__container {
    align-items: baseline;
}
.wp-block-site-logo {
    width: 206px !important;
}
:where(.wp-site-blocks *:focus) {
    outline-width:0 !important;
}

header .wp-block-navigation ul li a,
header .wp-block-navigation ul li a span {
    color: #3d2e1e !important;
}

header .wp-block-navigation ul li a:hover,
header .wp-block-navigation ul li a.is-active {
    color: #4a6741 !important;
    text-decoration: underline !important;
}

header .wp-block-navigation ul li a:focus-visible {
    text-decoration: none !important;
}

header .wp-block-navigation ul li a:hover span,
header .wp-block-navigation ul li a.is-active span
{
    color: #4a6741 !important;
    text-decoration: underline !important;
}
header .wp-block-navigation ul li a:focus-visible span {
    text-decoration: none !important;
}
.wp-site-blocks .wp-block-navigation-item__content span {
    font-family: "trajan-pro-3", sans-serif !important;
}
.wp-block-navigation__responsive-container-open {
    z-index:1;
}

.wp-site-blocks header .wp-block-social-link {
    z-index:1;
}
.wp-site-blocks header::before {

}
.wp-block-site-logo {
    width: 206px !important;
}
.minimize-padding {
    padding-top:10px !important;
    padding-bottom:10px !important;
    position: absolute;
    z-index: 44;
    width: 100%;
}
.wp-site-blocks {
    padding-top: 0px !important;
}
.wp-site-blocks .header-full-size {
    background-repeat: no-repeat;
    background-position: center;
    width: calc(100vw + 0px) !important;
    max-width: calc(100vw + 0px) !important;
    position: relative !important;
    margin-right: 0px !important;
    height: 58vh !important;
    overflow: hidden !important;
    position: relative !important;
    margin-top:0 !important;
}
.wp-site-blocks .header-full-size {
    background-size: cover;
}


.header-full-size.home {

}
.header-full-size.zimmer {
    background-image: url("/wp-content/uploads/2026/03/header-zimmer.jpg");
}
.header-full-size.restaurant {
    background-image: url("/wp-content/uploads/2026/03/fruehstueck-header.jpg");
}
.header-full-size.buchung {
    background-image: url("/wp-content/uploads/2026/02/7322353df35e8be80d94b3bc11831f8214335a8a.jpg");
}
.header-full-size.kontakt {
    background-image: url("/wp-content/uploads/2026/02/7322353df35e8be80d94b3bc11831f8214335a8a.jpg");
}
.header-full-size.anfahrt {
    background-image: url("/wp-content/uploads/2026/02/7322353df35e8be80d94b3bc11831f8214335a8a.jpg");
}
.wp-block-heading {
    hyphens: none !important;
}
a {
    transition: 0.2s all;
}

input, textarea {
    border-radius: 8px !important;
}
.has-global-padding > .alignfull {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

.wp-site-blocks .wp-element-button {
    padding: 15px 25px 10px 25px !important;
    font-family: "trajan-pro-3", sans-serif !important;
    color:#4a6741 !important;
    border: 3px solid #4a6741 !important;
    background-color: unset !important;
    transition: 0.3s all;
}
.wp-site-blocks .wp-element-button:hover {
    color:#7c5d40 !important;
    border: 3px solid #7c5d40 !important;
    background-color: rgba(255,255,255,0.5) !important;
}

.header-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: calc(100% - 20px);
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
}


.startsite, .startsite iframe {
    border-radius: 15px !important;
}
.startsite iframe {
    position: relative !important;
}

.startsite {
    margin-top: -90px !important;
    position: relative !important;
}

.wp-container-core-group-is-layout-6986bb0d {
    padding-top: 0px !important;
    margin-top:-32px !important;
}
.zimmerseite, .zimmerseite iframe {
    border-radius: 15px !important;
}
main {

}
.header-full-size .hero-wrapper {
    position: absolute;
    z-index: 3;

    bottom: 90px;
    left: 50%;
    transform: translate(-50%, 0%);

    display: inline-block;
    padding: 20px 30px 20px 30px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 15px;
    text-align: center;
    min-width:1005px !important;
}
.header-full-size .hero-title {
    z-index: 2;
    display: block;
    letter-spacing: 0.02em !important;
    color:#111 !important;
}
.gpt_float_switcher {
    border-radius: 20px !important;
}
div.gpt_float_switcher, div.gpt_float_switcher div.gt-selected div.gpt-current-lang, div.gpt_float_switcher div.gpt_options a {
    background: #ddd !important;

}
.wp-block-navigation-item__label, .wp-block-navigation-item__label:hover, .wp-block-navigation-item__label:focus {
    color: #4a6741!important;
}
.header-full-size .hero-title-sub {
    display: block;
     font-size: 29px !important;
     font-weight: 400 !important;
     letter-spacing: 0.02em !important;
 }

.wp-container-core-navigation-is-layout-f665d2b5 {
    margin-right: 20px !important;
}
.page-id-26 main > div:first-child,
.page-id-27 main > div:first-child,
.page-id-28 main > div:first-child,
.page-id-29 main > div:first-child,
.page-id-30 main > div:first-child
{
display: none !important;
}
.page-id-2 main,
.page-id-3 main,
.page-id-3 main {
padding-top: 0 !important;
}
.custom-logo-link, .custom-logo-link img {
    position: absolute;
    z-index: 11;
    transition: 0.3s all;
    width: 200px;
    top: 5px;
}
.alignwide.ext-animate--on.wp-block-post-title.has-large-font-size {
    display: none !important;
}
.custom-logo-link.smaller img {
    width:100px !important;
}

.wp-site-blocks header.smaller::before {
    height: 60px !important;
    opacity: 1 !important;
}
@media(min-width: 580px) {
    .wp-site-blocks header .wp-container-core-group-is-layout-6c531013 {
        transition: 0.2s all;
    }
    .wp-site-blocks header.smaller .wp-container-core-group-is-layout-6c531013 {
        margin-top: -17px !important;
    }
}


.smoobu-booking-tool-container iframe {

}
.wp-site-blocks .fade-in, .wp-site-blocks.fade-in1 {
    opacity: 0;
    transform: translateY(-40px);
    transition: all 0.7s ease;
}

.wp-site-blocks .fade-in.visible, .wp-site-blocks .fade-in1.visible {
    opacity: 1;
    transform: translateY(0);
}

.wp-site-blocks .fade-in2 {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.5s ease;
}

.wp-site-blocks .fade-in2.visible {
    opacity: 1;
    transform: translateY(0);
}

.wp-site-blocks .fade-in3 {
    opacity: 0;
    transform: translateX(20px);
    transition: all 0.6s ease;
}

.wp-site-blocks .fade-in3.visible {
    opacity: 1;
    transform: translateX(0);
}

@media(max-width: 1200px) {
    .wp-site-blocks p, .wp-site-blocks a, .wp-site-blocks span, .wp-site-blocks li  {
        font-size: 1.2rem !important;
    }

    .wp-site-blocks input, .wp-site-blocks textarea  {
        font-size: 1.2rem !important;
    }
    .wp-site-blocks h1 {
        font-size: 2rem !important;
    }
    .wp-site-blocks h2 {
        font-size: 1.5rem !important;
    }
    .header-full-size .hero-wrapper {
        min-width:100% !important;
    }
    .header-full-size .hero-title {
        font-size: 40px !important;
        line-height: 40px;
    }
    .header-full-size .hero-title-sub {
        font-size: 29px !important;
        line-height: 35px;
        margin-top:0 !important;
    }
}

@media(min-width: 1200px) and (max-width: 1399px) {
    .wp-container-core-group-is-layout-ceead2e9 ul {
        gap: 10px !important;
    }
}
@media(min-width: 580px) and (max-width: 1199px) {
    .wp-container-core-group-is-layout-ceead2e9 ul {
        gap: 10px !important;
    }
    .wp-container-core-group-is-layout-ceead2e9 {
        gap: 0px !important;
    }
    .wp-block-site-logo {
        width: 150px !important;
    }
    .wp-site-blocks header::before {
        height: 95px !important;
    }
    .wp-site-blocks .wp-block-navigation-item__content span {
        font-size: 1.2rem !important;
    }
}
@media(min-width: 580px) and (max-width: 877px) {
    .wp-site-blocks header::before {
        height: 125px !important;
    }
    .wp-block-site-logo {
        width: 120px !important;
    }
}
@media(max-width: 579px) {
    div.alignfull {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .wp-site-blocks p, .wp-site-blocks a, .wp-site-blocks span, .wp-site-blocks li  {
        font-size: 1rem !important;
    }
    .custom-logo-link img {
        width: 150px !important;
        margin-top: -4px;
    }
    .wp-site-blocks header::before {
        height: 80px !important;
    }
    .wp-block-social-links {
        margin: auto !important;
    }
    .wp-site-blocks .wp-block-image {
        margin:0 !important;
    }
    .page-id-29 .wp-site-blocks .wp-block-image {
        margin-top:20px !important;
        margin-bottom:20px !important;
    }
    .wp-site-blocks input, .wp-site-blocks textarea  {
        font-size: 1rem !important;
    }
    .has-global-padding > .alignfull {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
    .wp-site-blocks h1 {
        font-size: 1.6rem !important;
    }
    .wp-site-blocks h2 {
        line-height: 2.2rem;
        font-size: 1.2rem !important;
    }
    .header-full-size .hero-wrapper {
        min-width:calc(100% - 10px) !important;
    }
    .header-full-size .hero-title {
        font-size: 30px !important;
    }
    .header-full-size .hero-title-sub {
        font-size: 20px !important;
    }
    .wp-container-core-group-is-layout-ceead2e9 {
        gap: 0;
    }
    .wp-block-navigation__responsive-container-open {
        margin-top: -50px !important;
    }
    header .wp-block-navigation__responsive-container {
        width: 100% !important;
        margin: 0 !important;
    }
}

.wp-site-blocks .blocksatz {
    text-align: justify !important;
}

.wp-site-blocks .kontakt-h2 {
    margin-top: 40px !important;
    margin-bottom: 0px !important;
}
.wpcf7-form {
    text-align: left;
}
.wpcf7-form p {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}
.wpcf7-form-control-wrap {
    margin-top: 0px !important;
}
.wpcf7-form input, .wpcf7-form textarea {
    padding:8px 15px 8px 15px !important;
    border:1px solid #333 !important;
}
.wpcf7-form input {
    width: calc(100% - 10px) !important;
}
.wpcf7-form label {
    font-size: 1.3rem !important;
    width: 100% !important;
}
.wpcf7-form span.wpcf7-not-valid-tip {
    font-size: 1.1rem !important;
}
.wp-container-core-group-is-layout-48493932 {
    padding: 0px 20px 20px 20px !important;
}
.kontakt-form-smaller {
    display:flex;
    gap:10px;
    flex-wrap: wrap;
    justify-content: center;
}
.wp-site-blocks .kontakt-form-smaller p {
    width:calc(50% - 30px);
    margin-top:0 !important;
    margin-bottom:0 !important;
}
.kontakt-form-smaller p:nth-child(5) {
    width:calc(100% - 60px) !important;
}
.wpcf7-form-control.wpcf7-submit {
    max-width: 400px;
    margin: auto;
    display: block;
    background: #222 !important;
    color: #fff !important;
    transition: 0.2s all;
}
.wpcf7-form-control.wpcf7-submit:hover {
    background: #444 !important;
    color: #4a6741!important;
}
@media(max-width: 1200px) {
    .kontakt-form-smaller p {
        width:100%;
    }
    .kontakt-form-smaller p:nth-child(5) {
        width:100% !important;
    }
    .wpcf7-form {
        text-align: left;
    }
    .kontakt-form-smaller {
        justify-content: flex-start;
    }
}
.kontakt-form-smaller textarea {
    width:100% !important;
    min-height: 150px !important;
}
.page-id-31 .wp-site-blocks .wp-block-gallery .wp-block-image {
    width: 20% !important;
}
.page-id-31 .wp-site-blocks .wp-block-gallery {
    margin-bottom:120px;
}

.page-id-31 .padding-top-0 {
    padding-top:0 !important;
    margin-top:-30px !important;
}

.wp-site-blocks .zeit-an-der-mosel {
    background-color: #ede5da !important;
}

.entry-content {
    padding: 0 !important;
}

@media(max-width: 800px) {
    .page-id-31 .wp-site-blocks .wp-block-gallery {
        flex-wrap: wrap;
    }
    .page-id-31 .wp-site-blocks .wp-block-gallery .wp-block-image {
        width: 47% !important;
    }
    .wp-container-core-group-is-layout-6c531013 {
        height: 80px !important;
    }
}

.grey-color {
    background: unset !important;
    margin: 0px 0px 0 -32px !important;
    width: calc(100% + 64px) !important;
    max-width: unset !important;
    padding-top: 60px;
    padding-bottom: 60px;
}
.max-width-site {
    max-width: 1003px;
    margin: auto;
    padding: 30px 10px 30px 10px;
}

.wp-block-navigation__responsive-container-open svg {
    width:40px;
    height:40px;
    color: #4a6741!important;
}
.margin-top-40 {
    margin-top: 40px !important;
}
.margin-bottom-40 {
    margin-bottom: 40px !important;
}
@media(min-width: 580px) and (max-width: 1000px) {
    .wp-block-navigation__container {
        gap:20px !important;
    }
    .wp-block-navigation__container  li:nth-child(1), .wp-block-navigation__container  li:nth-child(6), .wp-block-navigation__container  li:nth-child(7) {
        display:none !important;
    }
}

.pure-black {
    background-color: #000000 !important;
}

.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open {
    color: #3d2e1e !important;
    background-color: #c9bcaa !important;
}

footer .wp-block-navigation__responsive-container-open {
    margin-top:0 !important;
}
.rg__stage--video {
    border-radius: 10px !important;
}

.rg__stage--video iframe {
    display: block;
    width: 100% !important;
    height: 100% !important;
    border-radius: 10px !important;
}

.wp-container-core-columns-is-layout-28f84493 p {
    margin-top:20px !important;
    color: #7c5d40 !important;
}
.wp-site-blocks p {
    margin-bottom: 30px !important;
    margin-top: 30px !important;
}
.wp-container-core-columns-is-layout-174606dc {
    gap:0 !important;
}
.wp-container-core-group-is-layout-e955bbaf  .wp-block-column p {
    min-height: 80px !important;
    margin-top:10px !important;
    margin-bottom:10px !important;
}

.wp-container-core-group-is-layout-e955bbaf  .wp-block-column .wp-block-image {
    margin-top:20px !important;
}
.wp-container-core-group-is-layout-e955bbaf {
    background: unset !important;
}
.genuss {
    background-color: #eee2dc !important;
}

footer img {
    max-width: 200px !important;
}

.header-group {
    display: block;
    margin:auto;
    max-width: 1000px;
    border-radius:20px;
    background-color: rgba(237, 229, 218, 0.5) !important;
    padding:20px;
}
.header-group2 {
    display: block;
    margin:auto;
    max-width: 1000px;
    border-radius:20px;
    background-color: rgba(255, 255, 255, 0.3) !important;
    padding:40px;
    margin:20px;
}

.smaller-img-h {
    height: 300px !important;
    overflow: hidden !important;
    border-radius: 20px !important;
}
.gap-5 {
    gap:60px !important;
}
.start-slider {
    background-color: #e1d8cb !important;
    padding:20px !important;
    border-radius:20px;
    flex-wrap: nowrap !important;
    max-height: 695px !important;
}
.start-slider > .wp-block-column {
    background-color: #c9bcaa !important;
    padding:20px !important;
    border-radius:20px;
    margin-left:20px !important;
}
.start-slider > .wp-block-column {
    background-image: url(https://boutique-hotel-mosel.de/wp-content/uploads/2026/04/welle-bg.jpg) !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
}
.start-slider > .wp-block-column:first-child {
    margin-left: 20px !important;
}
.start-slider h3 {
    font-size: 2.5rem !important;
}

.start-slider img {
    pointer-events: none !important;
}

.min-height-162 {
    min-height: 162px !important;
}
.zimmergruppe h3, .aufgruppe h3 {
    font-size: 1.65rem !important;
}

.zimmergruppe h3 a {
    font-size: 1.65rem !important;
    font-family:"trajan-pro-3" !important;
    text-decoration: none !important;
    color:#3d2e1e !important;
    font-weight: 800 !important;
}
html.is-loading,
html.is-loading body {
    overflow: hidden;
}

#page-loader-overlay {
    position: fixed;
    inset: 0;
    background: #7c5d40;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

#page-loader-overlay img {
    max-width: 320px;
    width: 42vw;
    height: auto;
    display: block;
    opacity: 1;
    transform: scale(1);
    transition: transform 0.45s ease, opacity 0.5s ease;
    will-change: transform, opacity;
}

#page-loader-overlay.is-grow img {
    transform: scale(1.28);
}

#page-loader-overlay.is-hiding {
    opacity: 0;
    visibility: hidden;
}

#page-loader-overlay.is-hiding img {
    opacity: 0;
}

@media (max-width: 768px) {
    #page-loader-overlay img {
        max-width: 240px;
        width: 60vw;
    }
}