.guest-sidebar {
  background: #9c9592;
  width: 300px;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
}

.is_standalone {
  padding-top: env(safe-area-inset-top);
}

#menu-mein-madle {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.guest-logo {
  position: fixed;
  right: 54px;
  margin-top: 6px;
  top: 36px;
  z-index: 2000;
  max-width: 180px;
  -webkit-transition: .2s ease-in-out, transform .3s ease-in-out;
  -moz-transition: .2s ease-in-out, transform .3s ease-in-out;
  -o-transition: .2s ease-in-out, transform .3s ease-in-out;
  transition: .2s ease-in-out, transform .3s ease-in-out;
  width: 100%;
}

body:not(.nav_opend) .guest-logo.hide-logo {
  transform: translateY(-100px);
}

#menu-mein-madle {
  list-style-type: none;
  margin: 110px 0 0;
  padding: 0;
}
#menu-mein-madle li{
  margin: 15px 20px;
}

#menu-mein-madle a {
  color: #fff;
  -webkit-transition: .2s ease-in-out, transform .3s ease-in-out;
  -moz-transition: .2s ease-in-out, transform .3s ease-in-out;
  -o-transition: .2s ease-in-out, transform .3s ease-in-out;
  transition: .2s ease-in-out, transform .3s ease-in-out;
}

.has-divider-bottom {
  border-bottom: 1px solid #fff;
  padding-bottom: 15px;
}

.has-divider-top {
  border-top: 1px solid #fff;
  padding-top: 20px;
}
#menu-mein-madle a svg {
  display: inline;
  width: 48px;
  position: relative;
  left: -10px;
  top: -3px;
}
#menu-mein-madle a {
  display: flex;
  align-items: center;
}
#menu-mein-madle a svg path {
  fill: #fff;
  -webkit-transition: .2s ease-in-out, transform .3s ease-in-out;
  -moz-transition: .2s ease-in-out, transform .3s ease-in-out;
  -o-transition: .2s ease-in-out, transform .3s ease-in-out;
  transition: .2s ease-in-out, transform .3s ease-in-out;
}

#menu-mein-madle .current-menu-item a,
#menu-mein-madle a:hover {
color: #c8d400;
}

#menu-mein-madle .current-menu-item a svg path,
#menu-mein-madle  a:hover svg path{
  fill: #c8d400;
}

.guest-main {
  padding-left: 300px;
}

.guest-main h1, .guest-main h2, .guest-main h3, .guest-main h4, .guest-main h5, .guest-main h6, .guest-main p{
  opacity: 1 !important;
  transform: unset !important;
}

.guest-main h1, .guest-main h2 {
  line-height: 1.1;
  font-weight: 200;
  margin-bottom: 30px;
  margin-top: 0;
  font-family: 'Catamaran', sans-serif;
  font-size: 56px !important;
  letter-spacing: 1px;
  color: #a9c109;
}

.mein-madle-header p strong {
  font-weight: 600;
  font-size: 24px;
}
.mein-madle-header {
  background: #f6f8e4;
  padding: 96px 0 20px;
}
.mein-madle-header p {
  margin-bottom: 20px;
}
.content-section.content-section-mmp.sm-pt {
  padding-top: 40px;
}

.content-section-mmp p strong.preheading{
font-weight: 500;
  font-size: 26px;
}

.mmp-flex-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.mmp-flex-row svg {
  width: 150px;
  position: relative;
  top: -20px;
  margin-bottom: -20px;
}
.mmp-flex-row svg path, .mmp-flex-row svg polygon {
  fill: #a9c109;
}


.mein-madle-more {
  color: #000 !important;
  outline: none !important;
}

.mein-madle-accordion {
  background: #f6f8e4;
  padding: 10px;
  margin-bottom: 10px;
}
.mmp-flex-row {
  border-bottom: 1px solid #dedede;
  margin-bottom: 20px;
}
.mein-madle-accordion__content {
  display: none;
}

.content-section-mmp{
  width: calc(100% - (54px * 2)) !important;
}

.fc-event.mm-slot-selected {
    background-color: #00aaff !important;
    border-color: #0077aa !important;
    color: #fff !important;
}


/* ACCORDEON */
.mmp-accordeon-wrapper .so-panel .textwidget {
  display: none;
}

.mmp-accordeon-wrapper .mmp-icon {
  display: block;
  width: 160px !important;
  position: absolute;
  right: 0;
  top: 0;
}
.mmp-accordeon-wrapper .so-panel h3.widget-title {
  position: relative;
  min-height: 90px;
  font-size: 26px;
  font-weight: 500;
  border-bottom: 1px solid #cecece;
  cursor: pointer;
}
.mmp-accordeon-wrapper .mmp-icon {
  display: block;
  width: 150px !important;
  position: absolute;
  right: 0;
}
.mmp-accordeon-wrapper .mmp-icon {
  top: -50px;
}
.mmp-accordeon-wrapper .mmp-icon.auto {
  top: -40px;
}
.mmp-accordeon-wrapper .mmp-icon.raumbuchen {
  top: -42px;
  right: -15px;
}
.mmp-accordeon-wrapper .mmp-icon svg path {
  fill: #a9c109;
}
.mmp-accordeon-wrapper .mmp-icon.tischreservation {
  top: -60px;
}
.mmp-accordeon-wrapper .mmp-icon.copoma {
  top: -52px;
}
.mmp-accordeon-wrapper .mmp-icon.gutschein {
  top: -50px;
}
.mmp-accordeon-wrapper .accordeon-arrow {
  width: 20px;
  display: inline-block;
  margin-right: 30px;
  transition: 0.4s ease-in-out;
}
h3.widget-title.active .accordeon-arrow {
  transform: rotate(-90deg);
}
.mmp-accordeon-wrapper .accordeon-arrow svg path {
  fill: #a9c109;
}
.mmp-accordeon-wrapper {
  margin-top: -50px;
}
.mmp-header p strong {
  font-weight: 600;
  font-size: 24px;
  text-transform: uppercase;
}
.content-section-mmp {
  padding-top: 95px !important;
}

.mmp-accordeon-wrapper .mmp-icon.wahlkost {
  width: 120px !important;
  right: 20px;
  top: -22px;
}
.mmp-accordeon-wrapper .mmp-icon.lobkritikkueche {
  width: 90px !important;
  right: 28px;
  top: -19px;
}

.fc-timegrid-slot {
    height: 30em;
    border-bottom: 0 !important;
}

.fc-col-header {
  margin-bottom: 0 !important;
}
.fc .fc-daygrid-day.fc-day-today,
th.fc-day-today {
  background-color: #f6f8e4 !important;
}
.fc-event-today {
  background: #fff;
}
.fc-toolbar-chunk h2 {
  display: none !important;
}

.fc-scrollgrid-sync-table {
    min-height: 400px !important;
    margin-bottom: 0 !important;
}
.fc-col-header-cell-cushion {
  font-size: 18px;
  padding-top: 8px !important;
  padding-bottom: 6px !important;
}

.fc-next-button svg {
  width: 20px;
  position: relative;
  top: 4px;
}
.fc-prev-button svg {
  width: 20px;
  position: relative;
  top: 4px;
  transform: rotate(180deg)
}
.fc-next-button, .fc-prev-button {
  background: #a9c109 !important;
  border: none !important;
  border-radius: 0 !important;
  margin-left: 8px !important;
  min-width: 50px !important
}
.fc-prev-button{
  margin-left: 0px !important;
}
.fc-next-button svg path, .fc-prev-button svg path{
  fill: #fff;
}
.fc-today-button {
  background: #9c9592 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
}

.mm-service-select {
  max-width: 605px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border: 1px solid #dedede;
  align-items: center;
  position: relative;
  z-index: 100;
  width: 68%;
}

.mm-service-select label {
  padding-left: 10px;
  font-size: 17px;
}
.mm-service-select label strong {
  font-weight: 600;
}
.fc.fc-media-screen {
  margin-top: -46px !important;
}

.fc-event.fc-event-start.fc-event-end {
  border: 1px solid #a9c109;
  border-radius: 8px;
  margin-left: 6px;
  margin-top: 4px;
  margin-bottom: 2px;
  margin-right: 6px;
  cursor: pointer;
}
.fc-event.fc-event-start.fc-event-end > div {
  width: 100% !important;
  text-align: center;
}
.fc-daygrid-day-events {
  padding: 8px 4px;
}
.fc-event.mm-slot-selected {
  border: 1px solid #a9c109 !important;
  background: #a9c109 !important;
}



.mm-service-radios input[type="radio"],
.mm_default_form input[type="checkbox"]{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 30px;
  height: 30px;
  border: 1px solid #b1b3b4;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
  background-color: transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  position: relative;
  top: -1px;
  margin-right: 10px;
}

.mm-service-radios input[type="radio"]:checked, #mm-booking-form input[type="checkbox"]:checked,
.mm_default_form input[type="checkbox"]:checked {
  background-color: #a9c109;
  border-color: #b1b3b4;
}
#mm-booking-form textarea,
.mm_default_form textarea {
    resize: vertical; /* nur nach unten/oben */
}
#mm-booking-form select, #mm-booking-form input[type="text"], #mm-booking-form input[type="tel"], #mm-booking-form input[type="email"], #mm-booking-form input[type="date"], #mm-booking-form input[type="search"], #mm-booking-form input[type="number"],  #mm-booking-form textarea,
.mm_default_form input[type="password"], .mm_default_form select, .mm_default_form input[type="text"], .mm_default_form input[type="tel"], .mm_default_form input[type="email"], .mm_default_form input[type="date"], .mm_default_form input[type="search"], .mm_default_form input[type="number"], .mm_default_form input[type="time"], .mm_default_form textarea{
  border: 1px solid #b1b3b4;
  background: #fff;
  padding: 8px;
  width: 100%;
  border-radius: 1px;
  transition: 0.4s ease-in-out border;
}
#mm-booking-form select:focus, #mm-booking-form input[type="text"]:focus, #mm-booking-form input[type="tel"]:focus, #mm-booking-form input[type="email"]:focus, #mm-booking-form input[type="date"]:focus, #mm-booking-form input[type="search"]:focus, #mm-booking-form input[type="number"]:focus,  #mm-booking-form textarea:focus,
.mm_default_form input[type="password"]:focus, .mm_default_form select:focus, .mm_default_form input[type="text"]:focus, .mm_default_form input[type="tel"]:focus, .mm_default_form input[type="email"]:focus, .mm_default_form input[type="date"]:focus, .mm_default_form input[type="search"]:focus, .mm_default_form input[type="number"]:focus, .mm_default_form input[type="time"]:focus, .mm_default_form textarea:focus{
border: 1px solid #a9c109;
outline: none !important;
}
.mm-service-select select {
  width: calc(100% - 151px) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  background: #fff !important;
  border: none !important;
  border-left: 1px solid #dedede !important;
  padding: 12px !important;
}


.mm-booking_flexitem {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.mm-service-radios {
  margin: 1rem 0;
  display: flex;
  gap: 0.5rem;
}
.mm-service-radios > label {
  margin-right: 8%;
}

.mm-booking_flexitem p {
  width: 48.5%;
  margin: 0 0 20px 0;
}
.mm-booking_flexitem.hidden_item {
  display: none;
}
.mm-service-radios > label {
  margin-right: 10%;
  font-weight: 200;
  font-size: 22px;
}

#mm-booking-form p label {
  font-weight: 200;
  font-size: 22px;
}
.mm-booking h4,
.mm_default_form h4 {
  font-size: 22px;
  font-weight: 600 !important;
}

.mm-booking p label,
.mm_default_form p label {
  font-weight: 200;
  font-size: 22px;
}

.guest-app .big-paragraph {
  font-size: 28px !important;
}


.box {
  width: 48.5%;
}
.box_inner {
  border: 1px solid #bebebe;
  padding: 20px;
}
.box p{
width: 100% !important;
}
.box label {
  font-size: 22px;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: space-between;
}
.box span {
  width: calc(100% - 45px);
}
.box input[type="radio"]{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 30px;
  height: 30px;
  border: 1px solid #b1b3b4;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
  background-color: transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  position: relative;
  top: -1px;
  margin-right: 10px;
}

.box input[type="radio"]:checked{
  background-color: #a9c109;
  border-color: #b1b3b4;
}
.guest-main #gaesteratgeber_icon.animation-tile-base {
  margin-top: -29px;
}
.guest-main #menuplan_icon.animation-tile-base {
  margin-top: -29px;
}

.mm-room-plan-link {
  margin-bottom: 60px;
  margin-top: 0px;
}
.guest-main .more-btn {
  position: relative;
  padding-right: 38px;
  padding-left: 12px;
  padding-top: 7px;
  padding-bottom: 5px;
  letter-spacing: 1px;
  transition: 0.8s ease;
  font-size: 20px;
  border-radius: 1px;
}
.mm-room-plan-link .button.more-btn.more-btn-green-white {
  min-height: 42px !important;
  display: block;
  width: 260px;
}
.more-btn.more-btn-green-white {
  background: #a9c109;
  color: #fff;
  transition: 0.4s ease-in-out;
}
.more-btn.more-btn-green-white:hover {
  background: #9c9592;
}

.guest-main .more-btn::before {
	content: "\e628";
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	font-family: 'themify';
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	transition: 0.8s ease;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-stroke: 1px;
	font-size: 19px;
  }


  .mmp-accordeon-wrapper .so-panel .textwidget > p:first-child{
    margin-top: 0 !important;
  }



.guest-main .beitraege-btns.madle-custom-swiper-btns button:hover {
  background: #9c9592;
}
.guest-main .beitraege-btns.madle-custom-swiper-btns button {
  background: #a9c109;
  border: none;
  border-radius: none;
  color: #fff;
  font-size: 24px;
  padding: 7px;
  width: 40px;
  margin-left: 10px;
  border-radius: 0;
  cursor: pointer;
  transition: 0.8s ease;
}

.guest-main .grey-section .textwidget > h4{
  font-size: 26px;
  font-weight: 500 !important;
}
.guest-main .madle-custom-swiper-btns.beitraege-btns {
  justify-content: end;
  display: flex;
  margin-bottom: 30px;
  margin-top: -43px;
  position: relative;
  z-index: 10;
}


.guest-main .madle-beitraege-slider .more-btn{
  background: #a9c109;
  color: #fff;
}
.guest-main .madle-beitraege-slider .more-btn:hover{
  background: #9c9592;
}




#mm-booking-form .more-btn,
#mm-booking-container .more-btn,
#mm-rent-container .more-btn,
.mm_default_form .more-btn{
  position: relative;
  border: none !important;
  padding-right: 38px;
  padding-left: 12px;
  padding-top: 12px;
  padding-bottom: 10px;
  letter-spacing: 1px;
  transition: 0.8s ease;
  font-size: 20px;
  border-radius: 1px;
  font-family: 'Catamaran', sans-serif;
  cursor: pointer;
}


.mm_booking_wrapper-outer {
  _border-bottom: 1px solid #cecece;
  margin-bottom: 30px;
  padding-bottom: 30px;
}

.fc-button {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.guest-main select {
  padding: 10px;
}
.mm_default_form h4,
#mm-booking-form h4{
  margin-top: 40px;
}

.mm_default_form,
#mm-booking-form {
  max-width: 1200px;
  width: 90%;
}

.mmp-accordeon-wrapper .so-panel .textwidget {
  border-bottom: 1px solid #cecece;
  margin-bottom: 30px;
  padding-bottom: 40px;
}

.mm_inner_flex-date_time {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.mm_inner_flex-date_time label:first-child {
  width: calc(100% - 140px);
}
.mm_inner_flex-date_time label:last-child {
  width: 120px;
}

.relatives_inner-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.relatives_inner-flex .inner-flex_item:last-of-type {
  border: 1px solid #cecece;
  margin-top: 60px;
  padding-bottom: 20px;
}
.relatives_inner-flex .inner-flex_item {
  width: 48.5%;
}


.mm_inner_flex-plz_ort {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.mm_inner_flex-plz_ort label:first-child {
  width: 120px;
}
.mm_inner_flex-plz_ort label:last-child {
  width: calc(100% - 140px);
}

.inner-flex_item img {
  max-width: 200px;
  margin: auto !important;
  display: block;
}
.relatives_inner-flex .inner-flex_item:last-of-type p:last-of-type {
  text-align: center;
  width: 90%;
  margin: 0 auto;
}
.relatives_inner-flex .inner-flex_item:last-of-type p:last-of-type {
  text-align: center;
  width: 90%;
  margin: 0 auto;
}
.inner-flex_item p:last-child {
  margin-bottom: 0 !important;
}

.relatives_inner-flex .inner-flex_item:first-child p {
  margin-bottom: 0;
}
.relatives_inner-flex .inner-flex_item:first-child p:last-of-type {
  margin-top: 40px !important;
}
#mm_login_form label {
  width: auto !important;
}

.more-btn.no-arrow:before {
  display: none !important;
}
.more-btn.no-arrow {
  padding-right: 15px;
  font-weight: 500;
  padding-top: 13px !important;
  padding-bottom: 11px;
  transform: scale(.85);
  transform-origin: left top;
}
.meinmadle-save.more-btn {
  border: none !important;
  padding-top: 12px !important;
  padding-bottom: 12px;
  cursor: pointer;
}
.meinmadle-relative-item > p {
  margin-bottom: 10px !important;
  margin-top: 5px;
}
.meinmadle-relative-item{
  margin-bottom: 30px;
}


/* ==============================
   Flatpickr – Custom Highlight
   ============================== */

/* Ausgewählte Tage (Range) */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: #a9c109 !important;
  border-color: #a9c109 !important;
  color: #fff !important;
}

/* Tage innerhalb des Bereichs */
.flatpickr-day.inRange {
  background: #f1f1f1 !important;
  color: #000 !important;
  border-color: #a9c109 !important;
  box-shadow: none !important;
}

/* Hover auf Tagen */
.flatpickr-day:hover,
.flatpickr-day:focus {
  background: rgba(169, 193, 9, 0.35) !important;
  border-color: #a9c109 !important;
}

/* Heute */
.flatpickr-day.today {
  border-color: #a9c109 !important;
}
.flatpickr-day.today:hover {
  background: rgba(169, 193, 9, 0.35) !important; 
}

/* Pfeile (Monatswechsel) */
.flatpickr-prev-month svg,
.flatpickr-next-month svg {
  fill: #a9c109 !important;
}

/* Monat / Jahr Header */
.flatpickr-current-month {
  color: #a9c109 !important;
}

/* Disabled / belegte Tage (optional dunkler) */
.flatpickr-day.disabled,
.flatpickr-day.flatpickr-disabled {
  background: none !important;
  color: #aaa !important;
  cursor: not-allowed !important;
}

.mm_pickup_time {
  width: 100%;
  max-width: unset;
  margin-left: 0px;
}

.mm-time-slots { display: flex; flex-wrap: wrap; gap: 8px; }
.mm-slot:not(.content_is_null) {
  border: 1px solid #a9c109;
  border-radius: 8px;
  margin-left: 3px;
  margin-top: 3px;
  margin-bottom: 2px;
  margin-right: 3px;
  cursor: pointer;
  min-width: 80px;
  text-align: center;
  font-size: 18px;
  padding: 2px;
}
.mm-slot.is-selected {border: 1px solid #a9c109 !important;   background: #a9c109 !important; color: #fff;}
.mm-slot--disabled { opacity: .6; cursor: not-allowed; }

.mm-pickup-time ,
.mm-return-time {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #cecece;
  padding: 5px;
  margin-bottom: 20px;
  margin-top: 5px;
  max-width: 620px;
}
.mm_pickup_time label{
font-weight: 200;
font-size: 24px;
}

.flatpickr-calendar.rangeMode.animate.multiMonth.inline {
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid #cecece !important;
  /* padding: 10px !important; */

}
.flatpickr-day {
  border-radius: 4px !important;
}



.mm-rent-info p {
  margin-bottom: -10px;
  font-size: 21px !important;
}
.mm-rent-info {
  border-top: 1px solid #cecece;
  padding-top: 10px;
  margin-top: 30px;
  border-bottom: 1px solid #cecece;
  padding-bottom: 35px;
  margin-bottom: 30px;
}
.mm-rent-info p a {
  color: #a9c109;
}
.flatpickr-calendar + small {
  font-size: 17px;
  font-weight: 300;
  margin-top: 10px;
  display: block;
}
.guest-main .upload-area {
  max-width: 640px;
  margin-top: -30px;
  margin-bottom: -20px;
}
.guest-main ul.file-list {
  padding: 0;
  margin-bottom: 15px;
}
.mm-rent-grid {
  margin-top: -25px;
}

.guest-main input[name="cost_notice"] {
  position: relative;
  display: block !important;
  top: 2px !important;
}
#mm-download-all:hover::before {
  transform: translateY(-50%) rotate(90deg) !important;
}


.mm-download svg path {
  fill: #fff;
  width: 100%;
  height: 100%;
}
.mm-download .dl-icon {
  display: block;
  width: 32px;
  position: absolute;
  height: 32px;
  right: 6px;
  top: 6px;
  transform: rotate(90deg);
  background: #a9c109;
  padding: 6px;
  border-radius: 1px;
  transition: 0.4s ease-in-out;
}
.mm-download:hover .dl-icon {
  background: #9c9592;
}




.guest-main-login .content-section-sticky-right .panel-grid-cell:last-of-type div {
  position: relative;
  height: 100%;
}
.guest-main-login .content-section-sticky-right .panel-grid-cell:last-of-type div img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  /* transform: scale(1.3); */
  transform-origin: bottom center;
}
.guest-main-login > .widget_block{
  margin-bottom: 0 !important;
}
.guest-main-login .content-section-sticky-right img{
  display: block;
}
.guest-main-login .content-section-sticky-right {
  display: flex !important;
  justify-content: space-between !important;
  align-items: stretch !important;
}
.guest-main-login .content-section-sticky-right .panel-grid-cell:last-of-type {
  width: 52% !important;
  overflow: hidden;
}
.guest-main-login .content-section-sticky-right .panel-grid-cell:first-of-type {
  width: 38% !important;

}
.guest-main-login .content-section-sticky-right p:first-of-type {
  margin-top: 0 !important;
}
.guest-main-login .content-section-sticky-right p{
  font-size: 26px !important;
}
.guest-main-login .content-section-sticky-right #mm_login_form p{
  font-size: 24px !important;
  margin-bottom: 10px !important;
}
.guest-main-login p:first-of-type strong{
text-transform: uppercase;
font-weight: 600;
font-size: 24px;
}
#mm_login_submit{
  width: 100% !important;
  padding-bottom: 12px;
  margin-top: 20px;
}
#mm_login_submit::before {
  display: none !important;
}
#mm_login_submit::after {
    content: "\e628";
    position: relative;
    display: inline-block;
    left: 10px;
    top: 2px;
    transform: translateY(0%);
    font-family: 'themify';
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    transition: 0.8s ease;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-stroke: 1px;
    font-size: 19px;
}
#mm_login_submit:hover::after {
  transform: translateY(0%) rotate(-45deg);
}
.forgot_password{
  color: #111;
}
.forgot_password:hover{
  text-decoration: underline;
}
.guest-main .swiper-button-lock {
  display: block !important;
}

.form-steps-drawer.dfr > p:first-child strong {
  font-weight: 600;
  font-size: 24px;
  text-transform: uppercase;
}
#mm-booking-container,
#mm-rent-container {
  position: fixed;
  top: 0;
  right: 0;
  width: calc(100% - 300px);
  background: #fff;
  z-index: 100;
  height: 100vh;
  overflow: auto;
  transform: translateX(100%);
  transition: 0.5s ease-in-out transform;
}
#mm-booking-container.slideIn,
#mm-rent-container.slideIn {
  transform: translateX(0%);
}

html.mmbc-visible, body.mmbc-visible{
  overflow: hidden !important;
}


.spi_hours_row {
  display: flex;
  flex-wrap: wrap;
  margin-top: 5px;
  margin-bottom: 5px;
}
.spi_hours_row .spi_hours_day {
  min-width: 140px;
}
.service_provider_informations {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
  border-bottom: 1px solid #cecece;
  padding-bottom: 20px;
}
.spi_img {
  width: 50%;
  max-width: 380px;
  margin-right: 40px;
}

.guest-app .big-paragraph{
  font-size: 26px !important;
}

#mm-booking-container,
#mm-rent-container {
  padding-top: 48px;
}


.btn-break.more-btn {
  padding-right: 12px !important;
}
.btn-break.more-btn:before {
  display: none !important;
}

.btn-break.more-btn {
  background: #9c9592;
  color: #fff;
}


.guest-app button.mobilMenu{
  display: none !important;
}

#payment_details.is-bank {
  padding: 20px;
  text-align: center !important;
}
#payment_details{
    padding: 20px;
  text-align: center !important;
}
#twint_qr_schluessel {
  text-align: center;
  padding: 20px;
}
.sow-icon-ionicons::before {
  display: inline-block;
  transition: 0.4s ease-in-out;
}
.sow-icon-ionicons.opend::before {
  transform: rotate(-90deg) !important;
}


.form-message {
    margin-top: 15px;
    padding: 16px;
    border: 1px solid transparent;
    border-radius: 4px;
    line-height: 1.5;
    font-size: 17px;
    max-width: 660px;
    width: auto !important;
    white-space: pre-line;
}

.form-message--success {
    background: #f6f8e4;
  border: 1px solid var(--madle-green-form);
  margin-top: 30px;
}

.form-message--error {
    background: #f7e6e6;
  border: 1px solid #edc1c9;
  color: #bc0303;
}

.flex-btn-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.form_loader {
  width: 40px;
  height: 40px;
  display: none;
}
.form_loader img {
  width: 100%;
  height: 100%;
  transform: scale(1.2);
}

@media only screen and (max-width: 1120px) {
  #mm-booking-container, #mm-rent-container{
    width: 100% !important;
  }
  .guest-app button.mobilMenu{
  display: block !important;
}
.guest-sidebar {
  transform: translateX(-400px);
  transition: 0.4s ease-in-out;
  z-index: 10;
  background: #9c9592;
  width: 400px;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  padding-left: 40px;
  padding-right: 40px;
  overflow: auto;
}
.guest-sidebar.activeNav {
 transform: translateX(-0px); 
}
.guest-main {
  padding-left: 0;
}
/* .content-section-mmp {
  width: 86% !important;
} */

.guest-app .mobilMenu #nav-icon {
  top: 56px;
  left: 54px;
  z-index: 20;
  position: fixed;
}
.guest-app .mobilMenu #nav-icon span{
  background: var(--madle-greybrown);
}
.mm-booking_flexitem .box {
  width: 100%;
}
.content-section-mmp.mmp-header {
  padding-top: 120px !important;
}
.widget-title {
  display: flex;
  flex-wrap: wrap;
}
}
@media only screen and (min-width: 992px) {
	.guest-main .swiper-slide{
max-width: calc(33.333% - 20px);
		}
}
@media only screen and (max-width: 991px) {
.guest-app .content-section-sticky-right {
  width: 82%;
  max-width: 1480px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 80px;
  flex-flow: column-reverse;
    flex-wrap: nowrap;
    padding-top: 0;
}
.guest-main-login .content-section-sticky-right .panel-grid-cell:first-of-type {
  width: 100% !important;
}
.guest-main-login .content-section-sticky-right .panel-grid-cell:last-of-type {
  width: 100% !important;
  margin-bottom: 20px !important;
}
.mm-login-widget {
  padding-top: 80px;
}
}

@media only screen and (max-width: 780px) {
  .guest-app .content-section-sticky-right {
    width: 88%;
  }
}
@media only screen and (max-width: 764px) {
  .mmp-accordeon-wrapper .mmp-icon {
  display: block;
  width: 100px !important;
  position: absolute;
  right: 0;
}
.mmp-accordeon-wrapper .mmp-icon {
  top: -30px;
}
.mmp-accordeon-wrapper .mmp-icon.tischreservation {
  top: -35px;
}
.mmp-accordeon-wrapper .mmp-icon.auto {
  top: -25px;
}
.mmp-accordeon-wrapper .mmp-icon.gutschein {
  top: -34px;
}
.mmp-accordeon-wrapper .mmp-icon.wahlkost {
  width: 80px !important;
  right: 20px;
  top: -12px;
}
.mmp-accordeon-wrapper .mmp-icon.lobkritikkueche {
  width: 62px !important;
  right: 26px;
  top: -10px;
}
.mmp-accordeon-wrapper .so-panel h3.widget-title {
  position: relative;
  min-height: 90px;
  font-size: 24px !important;
  font-weight: 500;
  border-bottom: 1px solid #cecece;
  cursor: pointer;
  padding-right: 80px;
}
.mm-booking_flexitem p {
  width: 100%;
  margin: 0 0 20px 0;
}
#mm-booking-container, #mm-rent-container {
  width: 100%;
}
.mm_default_form, #mm-booking-form {
  max-width: 1200px;
  width: 100%;
}
.content-section-mmp.mmp-header {
  padding-top: 140px !important;
}
.fc-header-toolbar.fc-toolbar {
  flex-flow: column;
}
.fc.fc-media-screen {
  margin-top: 0px !important;
}
.fc .fc-toolbar {
  align-items: end !important;
  display: flex !important;
  justify-content: space-between !important;
}
.mm-service-select {
  max-width: unset;
  width: 100%;
}
.fc .fc-toolbar.fc-header-toolbar {
  margin-bottom: 20px !important;
  margin-top: 20px !important;
}
.mmp-accordeon-wrapper .accordeon-arrow{
  position: absolute;
}

.relatives_inner-flex {
  flex-flow: column-reverse;
}
.relatives_inner-flex > div {
  width: 100% !important;
}
#twint_qr_schluessel {
  margin-top: 10px;
}
  .title-wrapper {
    padding-left: 32px;
  }
}

@media only screen and (max-width: 620px) {
  .title-wrapper {
  padding-left: 32px;
}
 .guest-app .box-row .styled-box{
    width: 100% !important;
    max-width: unset !important;
  }
  .mmp-header p strong {
  font-weight: 600;
  font-size: 22px;
  text-transform: uppercase;
  margin-bottom: -20px;
  display: block;
}
  .content-section-mmp {
  width: calc(100% - (30px * 2)) !important;
}
  .guest-app .mobilMenu #nav-icon {
    top: 46px;
    left: 30px;
    z-index: 20;
    position: fixed;
  }
  .guest-logo {
  position: fixed;
  right: 30px;
  margin-top: 6px;
  top: 26px;
  z-index: 2000;
  max-width: 150px;
  }
    .guest-sidebar {
    transform: translateX(-100%);
    transition: 0.4s ease-in-out;
    z-index: 10;
    background: #9c9592;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    padding-left: 16px;
    padding-right: 16px;
    overflow: auto;
  }
.page-template-page-guest .guest-logo .st2 {
  transition: 0.4s ease-in-out;
}
  .page-template-page-guest.nav_opend .guest-logo .st2 {
  fill: #fff;
}
.guest-main h1, .guest-main h2 {
  line-height: 1.1;
  font-weight: 200;
  margin-bottom: 30px;
  margin-top: 0;
  font-family: 'Catamaran', sans-serif;
  font-size: 40px !important;
  letter-spacing: 1px;
  color: #a9c109;
}
  .mmp-accordeon-wrapper .mmp-icon {
    display: block;
    width: 100px !important;
    position: static;
    right: 0;
    margin-left: 25px;
  }
  .mmp-accordeon-wrapper .accordeon-arrow {
  margin-right: 15px;
  }
    .mmp-accordeon-wrapper .so-panel h3.widget-title {
    min-height: 90px;
    padding-right: 0;
  }
  .title-wrapper {
  width: calc(100% - 40px);
}
.mm-login-widget h2 {
  max-width: 320px;
}
.spi_img {
  width: 100%;
  max-width: unset;
  margin-right: 0;
}
.mmp-accordeon-wrapper .so-panel .form-steps-drawer h3.widget-title {
  flex-flow: column;
}
.mmp-accordeon-wrapper .form-steps-drawer .mmp-icon{
  margin-left: 0 !important;
}
.guest-app .big-paragraph {
  font-size: 22px !important;
}
.mmp-icon.wahlkost {
  margin-top: 10px;
  margin-bottom: 5px;
}
.mmp-icon.lobkritikkueche {
  margin-top: 10px;
  margin-bottom: 5px;
  margin-left: 32px;
}
.mmp-icon.persoenlich {
  margin-left: 6px;
  margin-top: -10px;
}
.mmp-icon.profildaten {
  margin-left: 6px;
  margin-top: -10px;
}
.mmp-icon.relatives {
  margin-left: 6px;
  margin-top: -10px;
}
	.mmp-accordeon-wrapper .so-panel h3.widget-title {
  letter-spacing: 0.4px;
}
		.page-id-5615 .mmp-flex-row svg {
  width: 100px;
}
	.mm-booking h4, .mm_default_form h4 {
  font-weight: 500 !important;
}
	.content-section-mmp p strong.preheading {
  font-size: 24px;
}	
	.guest-main .grey-section .textwidget > h4 {
  font-size: 24px;
	}	
	.mein-madle-accordion b {
  font-weight: 600;
}
	  .guest-app .big-paragraph {
    font-size: 24px !important;
  }
	.guest-main h1, .guest-main h2{
		font-size: 44px;
	}
}
@media only screen and (max-width: 520px) {
  #mm-booking-form .more-btn, #mm-booking-container .more-btn, #mm-rent-container .more-btn, .mm_default_form .more-btn {
  position: relative;
  border: none !important;
  padding-right: 24px !important;
  width: 100% !important;
  }
.mm-room-plan-link .button.more-btn.more-btn-green-white {
  min-height: 42px !important;
  display: block;
  width: 260px;
  padding-right: 24px;
}
  #break-mm_book-appoinment::after {
      display: none !important;
  }
  .mm-service-radios {
  flex-flow: column;
}

.mm_inner_flex-date_time,
.mm_inner_flex-plz_ort {
  flex-flow: column;
  margin-bottom: 0 !important;
}
.mm_inner_flex-date_time label,
.mm_inner_flex-plz_ort label {
  width: 100% !important;
}
.mm_inner_flex-date_time label:first-of-type,
.mm_inner_flex-plz_ort label:first-of-type {
  margin-bottom: 20px;
}
 .title-wrapper {
    width: calc(100% - 0px);
  }
    .mm-room-plan-link .button.more-btn.more-btn-green-white {
    min-height: 42px !important;
    display: block;
    width: 260px;
    padding-right: 20px !important;
  }
  .mm-login-widget {
  padding-top: 40px;
}
}
@media only screen and (max-width: 420px) {
.form-steps-drawer .more-btn {
  width: 100%;
  margin-bottom: 10px;
}
.form-steps-drawer .more-btn:last-of-type {
  margin-bottom: 0px;
}
.mm-booking_flexitem .box h4 span {
  display: block;
}
.mm-slot:not(.content_is_null) {
  max-width: unset;
  min-width: unset;
  width: 31.5%;
}
.mm_pickup_date{
  width: 100% !important;
}
  .guest-main .flatpickr-calendar.animate.inline {
    max-width: 100% !important;
    transform: unset !important;
    transform-origin: left top;
    margin-bottom: -10%;
  }
.guest-main-login .content-section-sticky-right p {
  font-size: 22px !important;
}
  .guest-main  .flatpickr-calendar{
    width: 100% !important;
  }
  .mm-slot.mm-slot--disabled.content_is_null {
  font-size: 18px;
}
.guest-app .content-section-sticky-right p strong {
  display: block;
}
  .mm-slot:not(.content_is_null) {
    max-width: unset;
    min-width: unset;
    width: 31.0%;
  }
}
.guest-main-login .content-section-sticky-right {
  overflow: hidden !important;
}
#break-mm_rental-appoinment::after {
  display: none !important;
}

@media only screen and (max-width: 380px) {
  #menu-mein-madle li {
  margin: 15px 15px;
}
   .mmp-accordeon-wrapper .so-panel h3.widget-title {
    font-size: 20px !important;
  }
  .mmp-accordeon-wrapper .so-panel h3.widget-title {
    position: relative;
    min-height: 90px;
    font-size: 22px !important;
  }
    .guest-logo {
    position: fixed;
    right: 25px;
    margin-top: 6px;
    top: 26px;
    z-index: 2000;
    max-width: 130px;
  }
  .guest-app .mobilMenu #nav-icon {
    top: 46px;
    left: 25px;
    z-index: 20;
    position: fixed;
  }
    .content-section-mmp {
    width: calc(100% - (25px * 2)) !important;
  }
}

#meinmadle-add-relative::after {
  display: none !important;
}
.mm-gallery-item {
  margin-bottom: 0;
  margin-top: 0;
}

