:root {
  --mk-green: #778e73;
  --mk-rose: #c5878f;
  --mk-rose-dark: #ba717a;
  --mk-rose-light: #e8cbce;
  --mk-rose-hover: #dbadb2;
  --mk-sage: #969f8b;
  --mk-mint: #a3d8b5;
  --mk-text: #111;
  --mk-footer: #333;
  --mk-footer-heading: #d3d9cd;
  --mk-header-h: 121px;
}

html {
  scroll-padding-top: var(--mk-header-h);
}

body {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--mk-text);
  background: #fff;
}

a {
  color: var(--mk-rose);
  text-decoration: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--mk-rose-dark);
  outline-offset: 2px;
}

.mk-skip {
  position: absolute;
  top: 8px;
  left: 12px;
  z-index: 2000;
  padding: 8px 16px;
  border: 1px solid var(--mk-rose);
  background: #fff;
  color: var(--mk-text);
  transform: translateY(-150%);
}

.mk-skip:focus {
  transform: none;
}

a:hover {
  color: var(--mk-rose-dark);
}

@media (min-width: 1200px) {
  .container {
    max-width: 1164px;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .container {
    max-width: 744px;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  .container {
    max-width: 564px;
  }
}

.mk-title {
  font-family: "Playfair Display", serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--mk-green);
  margin: 0;
}

.mk-subtitle {
  font-family: Roboto, sans-serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
}

.mk-btn {
  display: inline-block;
  border: 0;
  border-radius: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 10px 30px;
  color: #fff;
  background: var(--mk-sage);
  transition: background-color 0.2s ease, color 0.2s ease;
}

.mk-btn:hover,
.mk-btn:focus-visible {
  color: #fff;
  background: var(--mk-green);
}

.mk-btn-green {
  background: var(--mk-green);
}

.mk-btn-green:hover,
.mk-btn-green:focus-visible {
  background: var(--mk-sage);
}

.mk-btn-mint {
  color: var(--mk-text);
  background: var(--mk-mint);
  padding: 10px 24px;
}

.mk-btn-mint:hover,
.mk-btn-mint:focus-visible {
  color: #fff;
  background: var(--mk-green);
}

.mk-btn-rose {
  background: var(--mk-rose);
}

.mk-btn-rose:hover,
.mk-btn-rose:focus-visible {
  background: var(--mk-rose-hover);
}

/* Reveal animation (source: customAnimationIn, translateX -200px, 2s ease) */
.mk-reveal {
  opacity: 0;
  transform: translate3d(-200px, 0, 0);
}

.mk-reveal.is-visible {
  animation: mk-custom-in 2s ease forwards;
}

@keyframes mk-custom-in {
  from {
    opacity: 0;
    transform: translate3d(-200px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mk-reveal,
  .mk-reveal.is-visible {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* Header */
.mk-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  background-image: linear-gradient(90deg, #fff, rgba(119, 142, 115, 0));
  border-bottom: 1px solid transparent;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.mk-header.is-solid {
  background-color: #fff;
  background-image: none;
  border-bottom-color: #e4e4e4;
}

.mk-header .container {
  position: relative;
  min-height: var(--mk-header-h);
}

.mk-logo {
  display: block;
  width: 163px;
  padding-top: 14px;
}

.mk-logo img {
  display: block;
  width: 163px;
  height: 91px;
  object-fit: contain;
}

.mk-nav {
  position: absolute;
  top: 31px;
  right: 115px;
  display: flex;
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mk-nav > li {
  position: relative;
}

.mk-nav-link {
  display: block;
  padding: 10px 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  color: #1a1a1a;
  border-bottom: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.mk-nav-link:hover,
.mk-nav-link:focus-visible {
  color: var(--mk-rose);
}

.mk-nav-link.active {
  color: var(--mk-rose);
  border-bottom-color: var(--mk-rose);
}

.mk-subnav {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  display: none;
  min-width: 193px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  border: 1px solid #d9d9d9;
}

.mk-nav > li:hover .mk-subnav,
.mk-nav > li:focus-within .mk-subnav {
  display: block;
}

.mk-subnav a {
  display: block;
  padding: 10px 20px;
  font-size: 16px;
  line-height: 1;
  color: var(--mk-text);
  transition: color 0.2s ease;
}

.mk-subnav a:hover {
  color: var(--mk-rose);
}

.mk-social {
  position: absolute;
  top: 37px;
  right: 12px;
  display: flex;
  gap: 10px;
}

.mk-social a {
  display: block;
  width: 26px;
  height: 26px;
}

.mk-social svg {
  display: block;
  width: 26px;
  height: 26px;
}

.mk-social .fb {
  color: #3b5998;
}

.mk-social .ig {
  color: #c536a4;
}

.mk-burger {
  display: none;
  width: 32px;
  height: 32px;
  padding: 4px;
  border: 0;
  background: transparent;
  color: var(--mk-rose);
}

.mk-burger svg {
  display: block;
  width: 24px;
  height: 24px;
}

.mk-offcanvas {
  --bs-offcanvas-width: 250px;
  background: #111;
  color: #fff;
}

.mk-offcanvas .btn-close {
  margin: 12px 12px 0 auto;
}

.mk-offcanvas-nav {
  margin: 0;
  padding: 10px 0;
  list-style: none;
  text-align: center;
}

.mk-offcanvas-nav a {
  display: block;
  padding: 2px 10px;
  font-size: 16px;
  line-height: 1.6;
  color: #fff;
}

.mk-offcanvas-nav a:hover {
  color: var(--mk-rose);
}

.mk-offcanvas-nav .has-sub {
  position: relative;
}

.mk-offcanvas-sub {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid #d9d9d9;
  background: #111;
  visibility: hidden;
}

.mk-offcanvas-sub a {
  padding: 5px 10px;
}

.mk-offcanvas-sub a.active {
  color: var(--mk-rose);
}

.has-sub:hover > .mk-offcanvas-sub,
.has-sub.is-open > .mk-offcanvas-sub {
  visibility: visible;
}

@media (max-width: 991.98px) {
  :root {
    --mk-header-h: 164px;
  }

  .mk-header {
    background: #fff;
  }

  .mk-header .container {
    min-height: 164px;
  }

  .mk-nav {
    display: none;
  }

  .mk-burger {
    display: block;
    position: absolute;
    top: 43px;
    left: calc(50% - 16px);
  }
}

@media (max-width: 767.98px) {
  :root {
    --mk-header-h: 195px;
  }

  .mk-header .container {
    min-height: 195px;
  }

  .mk-logo {
    margin: 0 auto;
    padding-top: 9px;
  }

  .mk-burger {
    top: 150px;
  }

  .mk-social {
    top: 115px;
    right: auto;
    left: calc(50% - 31px);
  }
}

/* Hero */
.mk-hero {
  padding-top: 116px;
}

.mk-hero .carousel-item {
  position: relative;
  height: 942px;
}

.mk-hero .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mk-hero .carousel-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}

.mk-hero-1 { object-position: 48.76% 50%; }
.mk-hero-2 { object-position: 77.75% 50%; }
.mk-hero-3 { object-position: 7.44% 50%; }
.mk-hero-4 { object-position: 15.16% 50%; }
.mk-hero-5 { object-position: 22.3% 50%; }
.mk-hero-6 { object-position: 44.35% 50%; }
.mk-hero-7 { object-position: 70.55% 50%; }
.mk-hero-8 { object-position: 37.15% 50%; }
.mk-hero-9 { object-position: 43.06% 50%; }
.mk-hero-10 { object-position: 72.35% 50%; }

@media (max-width: 1199.98px) {
  .mk-hero-2 { object-position: 61.33% 50%; }
  .mk-hero-3 { object-position: 6.43% 50%; }
  .mk-hero-5 { object-position: 100% 50%; }
  .mk-hero-6 { object-position: 35.65% 50%; }
  .mk-hero-7 { object-position: 98.37% 50%; }
}

@media (max-width: 991.98px) {
  .mk-hero {
    padding-top: var(--mk-header-h);
  }
}

@media (max-width: 767.98px) {
  .mk-hero-2 { object-position: 87.04% 50%; }
  .mk-hero-3 { object-position: 9.83% 50%; }
  .mk-hero-5 { object-position: 97.09% 50%; }
  .mk-hero-7 { object-position: 74.92% 50%; }
  .mk-hero-10 { object-position: 63.46% 50%; }
}

@media (max-width: 575.98px) {
  .mk-hero {
    padding-top: 169px;
  }

  .mk-hero .carousel-item {
    height: 301px;
  }

  .mk-hero-2 { object-position: 76.89% 50%; }
  .mk-hero-3 { object-position: 8.03% 50%; }
  .mk-hero-4 { object-position: 16.06% 50%; }
}

/* Angebot */
.mk-offer {
  padding: 60px 0 60px;
  text-align: center;
  overflow: hidden;
}

.mk-offer-grid {
  display: grid;
  grid-template-columns: repeat(5, 20%);
  margin-top: 27px;
}

.mk-offer-item {
  display: block;
  height: 187px;
  padding-top: 14px;
  color: var(--mk-green);
}

.mk-offer-item img {
  display: block;
  width: 107px;
  height: 91px;
  margin: 0 auto;
  object-fit: contain;
}

.mk-offer-item h5,
.mk-offer-links h5 {
  margin: 14px 0 0;
  font-family: Merriweather, serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--mk-green);
}

.mk-offer-item:hover h5,
.mk-offer-links a:hover h5 {
  color: var(--mk-rose);
}

.mk-offer-links {
  display: grid;
  grid-template-columns: repeat(5, 220px);
  column-gap: 10px;
  margin-top: 14px;
}

.mk-offer-links a {
  display: block;
  height: 170px;
  color: var(--mk-green);
}

.mk-offer-links img {
  display: block;
  width: 76px;
  height: 76px;
  margin: 0 auto;
  object-fit: contain;
}

.mk-offer-links h5 {
  margin-top: 8px;
}

.mk-vouchers {
  display: flex;
  justify-content: space-between;
  margin: 14px 0 0;
  padding: 0 65px;
}

.mk-voucher {
  position: relative;
  width: 439px;
}

.mk-voucher img {
  display: block;
  width: 439px;
  height: 307px;
  object-fit: cover;
}

.mk-voucher .mk-btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 225px;
  transform: translateX(-50%);
  padding: 9px 10px;
}

.mk-voucher:first-child .mk-btn {
  width: 288px;
}

@media (max-width: 1199.98px) {
  .mk-offer-links {
    grid-template-columns: repeat(5, 20%);
    column-gap: 0;
  }

  .mk-vouchers {
    max-width: none;
    padding: 0;
    justify-content: space-around;
  }
}

@media (max-width: 991.98px) {
  .mk-offer-grid {
    grid-template-columns: repeat(3, 33.3333%);
  }

  .mk-offer-links {
    grid-template-columns: repeat(3, 33.3333%);
    row-gap: 20px;
  }

  .mk-vouchers {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }
}

@media (max-width: 767.98px) {
  .mk-offer-grid,
  .mk-offer-links {
    grid-template-columns: repeat(2, 50%);
  }
}

@media (max-width: 575.98px) {
  .mk-title {
    font-size: 30px;
  }

  .mk-offer-grid,
  .mk-offer-links {
    grid-template-columns: 100%;
  }

  .mk-offer-item {
    height: 168px;
  }

  .mk-voucher,
  .mk-voucher img {
    width: 100%;
  }

  .mk-voucher img {
    height: auto;
    aspect-ratio: 439 / 307;
  }
}

/* Blob shape */
.mk-blob {
  position: absolute;
  z-index: 0;
  fill: var(--mk-rose-light);
  pointer-events: none;
}

/* Warum */
.mk-why {
  position: relative;
  padding: 0 0 90px;
  overflow-x: clip;
}

.mk-why .container {
  position: relative;
}

.mk-why .mk-blob {
  left: -34px;
  top: -40px;
  width: 751px;
  height: 843px;
}

.mk-why-row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 494px 1fr;
  gap: 0;
  padding-top: 80px;
}

.mk-why-media {
  padding-left: 70px;
}

.mk-why-media .photo {
  display: block;
  width: 464px;
  height: 399px;
  object-fit: contain;
}

.mk-why-media .emr {
  display: block;
  width: 285px;
  height: 80px;
  margin: 0 0 14px 20px;
  object-fit: contain;
}

.mk-why-media .asca {
  display: block;
  width: 237px;
  height: 82px;
  margin-left: 20px;
}

.mk-why-text {
  padding-left: 67px;
}

.mk-why-text .mk-title {
  margin: 10px 0 0 6px;
}

.mk-why-text p,
.mk-why-text ul {
  color: var(--mk-green);
}

.mk-why-text > p:first-of-type {
  max-width: 562px;
  margin: 11px 0 0 2px;
}

.mk-why-text .mk-why-list,
.mk-why-text .note {
  max-width: 550px;
}

.mk-why-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mk-why-list li {
  position: relative;
  padding-left: 15px;
}

.mk-why-list li::before {
  content: "\2714";
  position: absolute;
  left: 0;
}

.mk-why-list li.plain::before {
  content: none;
}

.mk-why-text .payments {
  display: block;
  width: 463px;
  max-width: calc(100% - 16px);
  height: 33px;
  object-fit: fill;
  margin: 11px 0 0 16px;
}

.mk-why-text .note {
  margin: 30px 0 0;
  color: var(--mk-text);
}

@media (max-width: 1199.98px) {
  .mk-why-row {
    grid-template-columns: 420px 1fr;
  }

  .mk-why-media {
    padding-left: 0;
  }

  .mk-why-media .photo {
    width: 400px;
    height: 344px;
  }

  .mk-why-text {
    padding-left: 30px;
  }
}

@media (max-width: 991.98px) {
  .mk-why-row {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .mk-why .mk-blob {
    left: calc(50% - 300px);
    width: 600px;
    height: 680px;
  }

  .mk-why-text {
    padding: 40px 0 0;
  }
}

@media (max-width: 575.98px) {
  .mk-why .mk-blob {
    left: calc(50% - 210px);
    width: 420px;
    height: 520px;
  }

  .mk-why-media .photo {
    width: 100%;
    height: auto;
    aspect-ratio: 464 / 399;
  }

  .mk-why-media .emr,
  .mk-why-media .asca {
    margin-left: 0;
  }
}

/* Team / Buchen */
.mk-team {
  padding: 29px 0 35px;
  text-align: center;
}

.mk-book-cards {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-left: -4px;
}

.mk-book-card {
  position: relative;
  width: 456px;
  height: 384px;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}

.mk-book-card + .mk-book-card {
  height: 372px;
  margin-top: 6px;
}

.mk-book-box {
  position: absolute;
  left: 49px;
  top: 281px;
  width: 358px;
  height: 84px;
  padding-top: 11px;
}

.mk-book-card + .mk-book-card .mk-book-box {
  left: 67px;
  top: 276px;
  width: 323px;
}

.mk-book-box::before,
.mk-team-box::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--mk-rose);
  opacity: 0.85;
}

.mk-book-box > *,
.mk-team-box > * {
  position: relative;
}

.mk-book-box h3,
.mk-team-card h3 {
  margin: 0;
  font-family: Oswald, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  color: #fff;
}

.mk-book-box .mk-btn {
  padding: 10px 30px;
  font-size: 16px;
}

.mk-book-card + .mk-book-card .mk-btn {
  padding: 10px 6px;
}

.mk-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 298px);
  gap: 8px;
  justify-content: center;
  margin: 5px auto 0;
}

.mk-team-card {
  position: relative;
  height: 464px;
  background-position: 50% 50%;
  background-size: cover;
}

.mk-team-card:nth-child(n + 4) {
  height: 467px;
  margin-top: 11px;
}

.mk-team-card.top {
  background-position: 50% 0%;
}

.mk-team-box {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 199px;
  padding: 0 10px;
}

.mk-team-card h3 {
  margin-top: 20px;
}

.mk-team-card:nth-child(3) .mk-team-box {
  height: 195px;
}

.mk-team-card p {
  margin: 3px 0 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
  color: #fff;
}

.mk-team-card p + p {
  margin-top: 0;
}

.mk-team-card .mk-btn {
  margin-top: 16px;
}

.mk-team-card .mk-btn.small {
  font-size: 14px;
}

.mk-team-card .no-new {
  margin: 10px 0 0;
  font-family: Roboto, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #fff;
}

@media (max-width: 991.98px) {
  .mk-book-cards {
    flex-direction: column;
    align-items: center;
    margin-left: 0;
  }

  .mk-team-grid {
    grid-template-columns: repeat(2, 298px);
  }

  .mk-team-card:nth-child(n + 4) {
    margin-top: 0;
  }
}

@media (max-width: 767.98px) {
  .mk-team-grid {
    grid-template-columns: 298px;
  }
}

@media (max-width: 575.98px) {
  .mk-book-card {
    width: 100%;
    max-width: 456px;
    height: 300px;
  }

  .mk-book-card + .mk-book-card {
    height: 300px;
  }

  .mk-book-box,
  .mk-book-card + .mk-book-card .mk-book-box {
    left: 50%;
    top: auto;
    bottom: 20px;
    width: 300px;
    transform: translateX(-50%);
  }
}

/* Über uns */
.mk-about {
  padding: 60px 0 28px;
}

.mk-about .mk-title {
  text-align: center;
}

.mk-about-row {
  display: grid;
  grid-template-columns: 498px 438px;
  column-gap: 29px;
  margin: 42px 0 0 105px;
}

.mk-about-image {
  display: block;
  min-height: 1099px;
  background-position: 55.01% 50%;
  background-size: cover;
}

.mk-about-text .mk-subtitle {
  color: var(--mk-rose);
}

.mk-about-text p {
  margin: 20px 0 0;
  color: var(--mk-green);
}

.mk-about-text .story {
  margin-top: 109px;
}

.mk-about-text ul {
  margin: 10px 0 0;
  padding-left: 20px;
  color: var(--mk-green);
}

@media (max-width: 1199.98px) {
  .mk-about-row {
    grid-template-columns: 1fr 1fr;
    margin-left: 0;
  }

  .mk-about-image {
    min-height: 479px;
  }
}

@media (max-width: 767.98px) {
  .mk-about-row {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }

  .mk-about-image {
    min-height: 511px;
  }

  .mk-about-text .story {
    margin-top: 40px;
  }
}

/* Praxis */
.mk-praxis {
  padding: 37px 0 53px;
}

.mk-praxis .mk-title {
  text-align: center;
}

.mk-gallery {
  width: 985px;
  margin: 24px 50px 0 auto;
}

.mk-gallery .carousel-inner {
  height: 748px;
  background: #000;
}

.mk-gallery .carousel-item {
  height: 748px;
}

.mk-gallery .carousel-item img,
.mk-gallery .carousel-item video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mk-gallery .carousel-control-prev,
.mk-gallery .carousel-control-next {
  top: calc(50% + 37px);
  bottom: auto;
  width: 40px;
  height: 40px;
  opacity: 1;
  border-radius: 50%;
  background: rgba(64, 64, 64, 0.7);
}

.mk-gallery .carousel-control-prev {
  left: 10px;
}

.mk-gallery .carousel-control-next {
  right: 10px;
}

.mk-gallery .carousel-control-prev:hover,
.mk-gallery .carousel-control-next:hover {
  background: rgba(64, 64, 64, 0.9);
}

.mk-gallery .carousel-control-prev-icon,
.mk-gallery .carousel-control-next-icon {
  width: 16px;
  height: 16px;
}

.mk-thumbs {
  display: flex;
  gap: 20px;
  margin: 0;
  padding: 0;
  overflow-x: scroll;
}

.mk-thumbs button {
  flex: 0 0 100px;
  width: 100px;
  height: 100px;
  padding: 0;
  border: 0;
  background: transparent;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}

.mk-thumbs button.active,
.mk-thumbs button:hover {
  opacity: 1;
}

.mk-thumbs img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 1199.98px) {
  .mk-gallery {
    width: 940px;
    margin-right: 0;
  }
}

@media (max-width: 991.98px) {
  .mk-gallery {
    width: 720px;
    margin: 24px auto 0;
  }

  .mk-gallery .carousel-inner,
  .mk-gallery .carousel-item {
    height: 548px;
  }
}

@media (max-width: 767.98px) {
  .mk-gallery {
    width: auto;
  }

  .mk-gallery .carousel-inner,
  .mk-gallery .carousel-item {
    height: 228px;
  }
}

@media (max-width: 575.98px) {
  .mk-gallery .carousel-inner,
  .mk-gallery .carousel-item {
    height: 175px;
  }
}

/* Bewertungen */
.mk-reviews {
  padding: 54px 0 122px;
  text-align: center;
}

.mk-reviews-widget {
  min-height: 452px;
  margin: 60px 30px 0 30px;
}

.mk-reviews-bottom {
  display: grid;
  grid-template-columns: 469px 1fr;
  gap: 40px;
  align-items: start;
  margin: 98px 0 0 10px;
}

.mk-reviews-bottom .pe {
  display: block;
  width: 469px;
}

.mk-reviews-bottom .pe img {
  display: block;
  width: 100%;
  height: auto;
}

.mk-share {
  padding-left: 20px;
}

.mk-share .mk-subtitle {
  color: var(--mk-green);
}

.mk-share-icons {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 65px;
}

.mk-share-icons a {
  display: block;
  width: 64px;
  height: 64px;
  transition: opacity 0.2s ease;
}

.mk-share-icons a:hover {
  opacity: 0.8;
}

.mk-share-icons img {
  display: block;
  width: 100%;
  height: 100%;
}

@media (max-width: 991.98px) {
  .mk-reviews-widget {
    margin: 40px 0 0;
  }

  .mk-reviews-bottom {
    grid-template-columns: 1fr;
    justify-items: center;
    margin-left: 0;
  }
}

@media (max-width: 575.98px) {
  .mk-reviews-bottom .pe {
    width: 100%;
  }
}

/* Standort / Kontakt */
.mk-contact {
  position: relative;
  padding: 4px 0 60px;
  overflow-x: clip;
}

.mk-contact .container {
  position: relative;
}

.mk-contact .mk-blob {
  left: 430px;
  top: -124px;
  width: 710px;
  height: 844px;
}

.mk-contact-row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 585px 585px;
  margin-left: -15px;
}

.mk-contact-cell {
  padding: 20px 0 82px 75px;
}

.mk-contact-cell .address {
  margin: 20px 0 0;
  font-size: 16px;
  line-height: 1.6;
}

.mk-contact-cell .address p {
  margin: 0;
}

.mk-contact-cell .address .phone {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 5px;
}

.mk-contact-cell .address .phone + .phone {
  margin-top: 10px;
}

.mk-contact-cell .phone img {
  width: 16px;
  height: 16px;
}

.mk-contact-cell .form-title {
  margin-top: 113px;
}

.mk-form {
  margin: 15px 0 0 1px;
  max-width: 461px;
}

.mk-form .form-control {
  height: 48px;
  margin-bottom: 15px;
  padding: 10px 12px;
  font-size: 16px;
  color: #000;
  border: 1px solid #b3b3b3;
  border-radius: 0;
}

.mk-form textarea.form-control {
  height: 124px;
}

.mk-form .mk-label {
  display: block;
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.mk-form .form-control:focus {
  border-color: var(--mk-rose);
  box-shadow: 0 0 0 2px rgba(197, 135, 143, 0.25);
}

.mk-form .mk-submit {
  margin-top: 1px;
  padding: 10px 30px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.mk-form .mk-form-msg {
  margin-top: 12px;
  font-size: 14px;
  color: var(--mk-green);
}

.mk-map {
  display: block;
  width: 515px;
  height: 787px;
  margin: 87px 0 0 35px;
  border: 0;
}
@media (max-width: 1199.98px) {
  .mk-contact-row {
    grid-template-columns: 1fr 1fr;
    margin-left: 0;
  }

  .mk-contact-cell {
    padding-left: 0;
  }

  .mk-contact .mk-blob {
    left: 300px;
  }

  .mk-map {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 767.98px) {
  .mk-contact-row {
    grid-template-columns: 1fr;
  }

  .mk-contact-cell {
    padding-bottom: 30px;
  }

  .mk-contact .mk-blob {
    left: calc(50% - 355px);
  }

  .mk-map {
    height: 450px;
    margin-top: 0;
  }
}

@media (max-width: 575.98px) {
  .mk-form {
    max-width: none;
  }
}

/* Footer */
.mk-footer {
  padding: 80px 0 87px;
  color: #fff;
  background: var(--mk-footer);
}

.mk-footer-row {
  display: grid;
  grid-template-columns: repeat(3, 300px);
  column-gap: 90px;
  padding-left: 30px;
}

.mk-footer h5 {
  margin: 5px 0 0;
  font-family: Merriweather, serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--mk-footer-heading);
}

.mk-footer h5 a,
.mk-footer h5 button {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  text-transform: inherit;
  color: var(--mk-rose);
}

.mk-footer h5 button:hover {
  color: var(--mk-rose-hover);
}

.mk-footer p {
  margin: 20px 0;
  font-size: 14px;
  line-height: 1.6;
}

.mk-footer-links {
  margin: 20px 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  line-height: 1.6;
}

.mk-footer-links li {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 1px;
}

.mk-footer-links img {
  width: 14px;
  height: 14px;
}

.mk-footer-links a,
.mk-footer-links button {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: var(--mk-rose);
}

.mk-footer-links a:hover,
.mk-footer-links button:hover {
  color: var(--mk-rose-hover);
}

.mk-footer .pe-square {
  display: block;
  width: 180px;
  height: 180px;
  margin-top: 30px;
}

@media (max-width: 1199.98px) {
  .mk-footer-row {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 30px;
    padding-left: 0;
  }
}

@media (max-width: 991.98px) {
  .mk-footer {
    padding: 45px 0;
  }

  .mk-footer-row {
    grid-template-columns: repeat(2, 375px);
    gap: 0;
    width: 750px;
    margin-left: calc((100% - 750px) / 2);
    padding: 0;
  }

  .mk-footer-row > div {
    padding: 40px 45px 0;
  }

  .mk-footer-row > div:nth-child(1) {
    min-height: 271px;
  }

  .mk-footer-row > div:nth-child(2) {
    min-height: 248px;
  }

  .mk-footer-row > div:nth-child(3) {
    min-height: 451px;
  }

  .mk-footer h5:first-child {
    margin-top: 0;
  }
}

@media (max-width: 767.98px) {
  .mk-footer-row {
    grid-template-columns: 1fr;
    width: 540px;
    margin-left: calc((100% - 540px) / 2);
  }

  .mk-footer-row > div {
    padding: 40px 10px 0;
  }
}

/* Phones: Nicepage XS sheet is 340px wide */
@media (max-width: 575.98px) {
  :root {
    --mk-header-h: 169px;
  }

  .container {
    max-width: 364px;
  }

  .mk-header .container {
    min-height: 169px;
  }

  .mk-logo {
    padding-top: 7px;
  }

  .mk-burger {
    top: 117px;
    left: calc(50% - 67px);
  }

  .mk-social {
    top: 121px;
    left: calc(50% - 10px);
  }

  .mk-offer {
    padding: 96px 0 163px;
  }

  .mk-offer .mk-title,
  .mk-about .mk-title,
  .mk-praxis .mk-title,
  .mk-reviews .mk-title,
  .mk-contact-cell .form-title {
    font-size: 24px;
  }

  .mk-offer-item {
    height: auto;
    padding-top: 10px;
  }

  .mk-offer-links {
    margin-top: 13px;
    row-gap: 0;
  }

  .mk-offer-links a {
    height: auto;
    padding: 20px 0 22px;
  }

  .mk-vouchers {
    gap: 17px;
    margin-top: 82px;
  }

  .mk-voucher img {
    height: 308px;
    aspect-ratio: auto;
  }

  .mk-voucher .mk-btn {
    bottom: 13px;
  }

  .mk-why {
    padding-bottom: 119px;
  }

  .mk-why .mk-blob {
    left: 12px;
    top: 64px;
    width: 340px;
    height: 385px;
  }

  .mk-why-row {
    padding-top: 0;
    justify-items: stretch;
  }

  .mk-why-media .photo {
    width: 324px;
    height: 254px;
    margin: 0 auto;
    aspect-ratio: auto;
  }

  .mk-why-media .emr,
  .mk-why-media .asca {
    margin: 0 auto;
  }

  .mk-why-media .asca {
    margin-top: 14px;
  }

  .mk-why-text {
    padding: 0;
  }

  .mk-why-text .mk-title {
    margin: 10px 20px 0;
  }

  .mk-why-text > p:first-of-type {
    margin: 11px 30px 0;
  }

  .mk-why-text .mk-why-list,
  .mk-why-text .note {
    max-width: none;
  }

  .mk-why-text .note {
    padding-bottom: 26px;
  }

  .mk-why-text .payments {
    width: 332px;
    max-width: 100%;
    height: 24px;
    margin: 11px 0 0;
  }

  .mk-team {
    padding: 0 0 10px;
  }

  .mk-book-card,
  .mk-book-card + .mk-book-card {
    width: 253px;
    height: 199px;
    margin: 0 auto;
  }

  .mk-book-card + .mk-book-card {
    height: 180px;
    margin-top: 12px;
  }

  .mk-book-box,
  .mk-book-card + .mk-book-card .mk-book-box {
    left: -3px;
    top: 109px;
    bottom: auto;
    width: 259px;
    height: 91px;
    padding-top: 10px;
    transform: none;
  }

  .mk-book-card + .mk-book-card .mk-book-box {
    top: 88px;
  }

  .mk-book-box .mk-btn {
    margin-top: 6px;
  }

  .mk-team-grid {
    grid-template-columns: 340px;
    gap: 19px;
    margin-top: 33px;
  }

  .mk-team-card,
  .mk-team-card:nth-child(n + 4) {
    height: 502px;
    margin-top: 0;
  }

  .mk-team-box,
  .mk-team-card:nth-child(3) .mk-team-box {
    height: 211px;
  }

  .mk-team-card h3 {
    margin-top: 12px;
  }

  .mk-team-card .mk-btn {
    margin-top: 46px;
  }

  .mk-about {
    padding: 60px 0 94px;
  }

  .mk-about-row {
    row-gap: 0;
  }

  .mk-about-text {
    padding: 0 10px;
  }

  .mk-about-text .mk-subtitle {
    margin-top: 1px;
    font-size: 24px;
  }

  .mk-about-text p {
    margin-top: 19px;
  }

  .mk-about-text .story {
    margin-top: 80px;
  }

  .mk-about-text ul {
    margin-top: 11px;
  }

  .mk-praxis {
    padding: 36px 0 74px;
  }

  .mk-gallery {
    margin-top: 25px;
  }

  .mk-gallery .carousel-inner,
  .mk-gallery .carousel-item {
    height: 277px;
  }

  .mk-thumbs {
    gap: 20px;
    overflow: hidden;
  }

  .mk-thumbs button {
    flex: 0 0 13px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.3);
  }

  .mk-thumbs button.active {
    background: #111;
  }

  .mk-thumbs img {
    display: none;
  }

  .mk-reviews {
    padding: 0 0 217px;
  }

  .mk-reviews .mk-title {
    padding: 0 28px;
  }

  .mk-reviews-widget {
    margin: 59px 10px 0;
    min-height: 406px;
  }

  .mk-reviews-bottom {
    gap: 151px;
    margin: 60px 10px 0;
  }

  .mk-share {
    padding-left: 0;
  }

  .mk-share .mk-subtitle {
    font-size: 24px;
  }

  .mk-share-icons {
    gap: 9px;
    margin-top: 45px;
  }

  .mk-contact {
    padding: 24px 0 32px;
  }

  .mk-contact .mk-blob {
    left: -38px;
    top: -144px;
    width: 440px;
    height: 630px;
  }

  .mk-contact-cell {
    padding: 0 10px;
  }

  .mk-contact-cell > .mk-title:not(.form-title) {
    font-size: 48px;
  }

  .mk-contact-cell .form-title {
    margin-top: 51px;
  }

  .mk-form {
    margin: 31px 5px 0;
  }

  .mk-form .form-control {
    margin-bottom: 14px;
  }

  .mk-form .mk-submit {
    margin-top: 3px;
  }

  .mk-map {
    width: 313px;
    height: 300px;
    margin: 50px auto 0;
  }

  .mk-footer-row {
    width: auto;
    margin-left: 0;
  }
}

/* Modals: one shell for every dialog */
.mk-modal {
  --bs-modal-border-radius: 8px;
  --bs-modal-border-width: 1px;
  --bs-modal-border-color: #e4e4e4;
  --bs-modal-margin: 16px;
}

.mk-modal .modal-dialog {
  width: calc(100% - 32px);
  max-width: 720px;
  margin: 16px auto;
}

.mk-modal .modal-dialog.mk-w-1140,
.mk-modal .modal-dialog.mk-wide {
  max-width: 960px;
}

.mk-modal .modal-content {
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  padding: 24px;
  text-align: left;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.mk-modal .btn-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
}

.modal-backdrop.show {
  opacity: 0.7;
}

.mk-modal-title,
.mk-abo-title,
.mk-modal-faq-title,
.mk-modal .modal-content > h2,
.mk-modal .modal-content > h3 {
  margin: 0 40px 16px 0;
  font-family: "Open Sans", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  text-transform: none;
  color: var(--mk-text);
}

.mk-modal-sub {
  margin: 24px 0 12px;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--mk-text);
}

.mk-modal-switch {
  margin: 16px 0 0;
}

.mk-modal-note {
  margin: 0 0 8px;
  padding: 12px 16px;
  font-size: 14px;
  line-height: 1.6;
  background: #f6f6f6;
}

/* Booking dialogs */
.mk-modal.mk-book .modal-content > h2.mk-modal-title {
  margin-bottom: 20px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 28px;
  font-weight: 700;
  color: var(--mk-green);
}

.mk-book-block {
  margin: 0 0 16px;
  border: 1px solid #e4e4e4;
}

.mk-book-block h3 {
  margin: 0;
  padding: 8px 12px;
  background: var(--mk-green);
  color: #fff;
  font-family: "Open Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}

.mk-book-block .mk-choice {
  padding: 12px;
}

.mk-book-block .mk-people {
  padding: 0 12px;
}

.mk-book-block .mk-people li:last-child {
  border-bottom: 0;
}

.mk-choice {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}

.mk-option {
  display: flex;
  flex: 1 1 220px;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  color: #fff;
  text-decoration: none;
}

.mk-option span {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.3;
}

.mk-option strong {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}

.mk-option-rose {
  background: var(--mk-rose);
}

.mk-option-rose:hover {
  background: var(--mk-rose-dark);
  color: #fff;
}

.mk-option-green {
  background: var(--mk-green);
}

.mk-option-green:hover {
  background: #657a61;
  color: #fff;
}

.mk-go {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 84px;
  padding: 8px 14px;
  border: 0;
  background: var(--mk-rose);
  color: #fff;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

.mk-go:hover {
  background: var(--mk-rose-dark);
  color: #fff;
}

.mk-people,
.mk-slots {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mk-people li {
  display: grid;
  grid-template-columns: 96px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #e4e4e4;
}

.mk-people img {
  width: 96px;
  height: auto;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  object-position: center 15%;
}

.mk-people strong {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: var(--mk-green);
}

.mk-people span,
.mk-slots span {
  display: block;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: #3d3d3d;
}

.mk-people .hint {
  margin-top: 2px;
  color: var(--mk-rose-dark);
  font-weight: 700;
}

.mk-week {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: start;
}

.mk-day {
  border: 1px solid #e4e4e4;
}

.mk-day-wide {
  grid-column: 1 / -1;
}

.mk-day h3 {
  margin: 0;
  padding: 8px 12px;
  background: var(--mk-green);
  color: #fff;
  font-family: "Open Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}

.mk-slots li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 8px 12px;
  border-bottom: 1px solid #e4e4e4;
}

.mk-slots li:last-child {
  border-bottom: 0;
}

.mk-book .mk-modal-note {
  margin: 0 0 16px;
  padding: 12px 16px;
  background: #f6f6f6;
  font-size: 14px;
  line-height: 1.6;
  color: #111;
}

.mk-switch {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--mk-rose);
  font-family: "Open Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mk-switch:hover {
  color: var(--mk-rose-dark);
}

/* Prices */
.mk-prices {
  overflow-x: auto;
}

.mk-prices table {
  width: 100%;
  min-width: 880px;
  border-collapse: collapse;
  text-align: center;
  font-size: 14px;
}

.mk-prices th,
.mk-prices td {
  padding: 10px;
  border: 3px solid #fff;
}

.mk-prices thead th {
  padding: 12px 8px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  border: 0;
}

.mk-prices thead th:first-child {
  width: 93px;
  background: transparent;
}

.mk-prices .g {
  background: var(--mk-sage);
}

.mk-prices .r {
  background: var(--mk-rose);
}

.mk-prices tbody td.g {
  color: var(--mk-sage);
  background: #f5fbf7;
  font-weight: 700;
}

.mk-prices tbody td.r {
  color: var(--mk-rose);
  background: #f9f1f2;
  font-weight: 700;
}

.mk-prices tbody tr.price td,
.mk-prices tbody tr.price th {
  padding: 16px 8px;
}

.mk-prices tbody tr.price td.g {
  font-size: 18px;
  color: var(--mk-green);
}

.mk-prices tbody tr.price td.r {
  font-size: 18px;
  color: #c3858c;
}

.mk-prices tbody td small {
  display: block;
  font-size: 10px;
  font-weight: 400;
}

.mk-prices tbody th {
  width: 93px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  color: #fff;
  background: var(--mk-rose);
  border: 2px solid #fff;
}

.mk-prices tbody th span {
  display: block;
  font-size: 16px;
  font-weight: 400;
}

.mk-modal-faq-title {
  margin-top: 32px;
}

.mk-modal-text {
  margin: 0;
  font-size: 16px;
}

.mk-modal-text dt {
  font-weight: 700;
}

.mk-modal-text dd {
  margin-bottom: 25px;
}

.mk-modal-text.faq dt {
  margin-top: 20px;
}

.mk-modal-text.faq dd {
  margin: 20px 0 0;
}

.mk-faq-sub {
  margin: 0 0 16px;
  padding: 12px 16px;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: var(--mk-text);
  background: #f6f6f6;
}

/* Impressum / Datenschutz */
.mk-modal .legal p {
  margin: 0;
}

.mk-modal .icon-line {
  display: flex;
  align-items: center;
  gap: 6px;
}

.mk-modal .icon-line img {
  width: 14px;
  height: 14px;
}

.mk-modal .legal h4 {
  margin: 14px 0 0;
  font-size: 16px;
  font-weight: 700;
}

.mk-fineprint {
  margin: 24px 0 0;
  font-size: 14px;
  line-height: 1.6;
}

.mk-fineprint h5,
.mk-fineprint h6 {
  margin: 0 0 18px;
  font-size: 11px;
  line-height: 1.6;
}

.mk-fineprint h5 {
  font-weight: 700;
}

.mk-fineprint h6 {
  font-weight: 400;
}

.mk-modal .legal .mk-fineprint p {
  margin-bottom: 15px;
}

.mk-fineprint hr {
  height: 1px;
  margin: 16px 0;
  border: 0;
  background: #e4e4e4;
  opacity: 1;
}

.mk-modal .privacy h4 {
  margin: 0;
  font-size: 14px;
}

.mk-modal .privacy p {
  margin-bottom: 16px;
  font-size: 16px;
  line-height: 1.6;
}

.mk-vdms {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 666px;
  max-width: 100%;
  margin: 30px auto 40px;
  padding: 20px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  color: #111;
  background: #d3d9cd;
  border: 2px solid #8f8f8f;
}

.mk-vdms img {
  width: 40px;
  height: 40px;
}

.mk-vdms .org {
  margin-top: 30px;
}

/* Jobs */
.mk-jobs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 8px 0 0;
  text-align: left;
}

.mk-jobs > div {
  padding: 16px;
  border: 1px solid #e4e4e4;
}

.mk-jobs h3 {
  margin: 0 0 8px;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--mk-text);
}

.mk-jobs p {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
}

.mk-jobs img {
  width: 32px;
  height: 32px;
  margin-top: 16px;
}

.mk-jobs p:last-child {
  margin-top: 12px;
  font-weight: 400;
}

/* Abo */
.mk-abo {
  width: 100%;
  max-width: 560px;
  margin: 0;
  font-size: 14px;
}

.mk-abo .form-label {
  margin-bottom: 4px;
  font-size: 14px;
}

.mk-abo .mb-3 {
  margin-bottom: 14px !important;
}

.mk-abo .form-control,
.mk-abo .form-select {
  height: 48px;
  font-size: 14px;
  border: 1px solid #b3b3b3;
  border-radius: 0;
}

.mk-abo .form-control:focus,
.mk-abo .form-select:focus,
.mk-abo .form-check-input:focus {
  border-color: var(--mk-rose);
  box-shadow: 0 0 0 2px rgba(197, 135, 143, 0.25);
}

.mk-abo .form-check-input:checked {
  background-color: var(--mk-rose);
  border-color: var(--mk-rose);
}

.mk-abo legend {
  margin-bottom: 0;
  font-size: 14px;
}

.mk-abo .total {
  margin: 8px 0 16px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--mk-text);
}

.mk-abo-submit {
  padding: 10px 24px;
  border: 0;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: var(--mk-rose);
  transition: background-color 0.2s ease;
}

.mk-abo-submit:hover {
  background: var(--mk-rose-dark);
}

@media (max-width: 767.98px) {
  .mk-jobs {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .mk-week {
    grid-template-columns: 1fr;
  }

  .mk-day-wide {
    grid-column: auto;
  }

  .mk-modal.mk-book .modal-content > h2.mk-modal-title {
    font-size: 24px;
  }

  .mk-people li {
    grid-template-columns: 72px 1fr auto;
    gap: 12px;
  }

  .mk-people img {
    width: 72px;
  }

  .mk-modal-title,
  .mk-abo-title,
  .mk-modal-faq-title {
    font-size: 22px;
  }

  .mk-vdms .org {
    margin-top: 10px;
  }
}

/* Intermediate widths only. XL (>=1200) and XS (<576) stay on the rules above. */

@media (min-width: 576px) and (max-width: 1199.98px) {
  .mk-contact-cell .mk-title {
    font-size: 2.25rem;
  }

  .mk-contact-cell .form-title {
    margin-top: 74px;
  }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .mk-hero {
    padding-top: 116px;
  }

  .mk-why-media .photo {
    width: 324px;
    height: 254px;
  }
}

/* LG: 1000px */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .mk-offer-item {
    height: 172px;
  }

  .mk-why {
    min-height: 1108px;
    padding-bottom: 59px;
  }

  .mk-why-row {
    grid-template-columns: 407px 1fr;
    padding-top: 0;
  }

  .mk-why-media .photo {
    width: 470px;
    height: 331px;
  }

  .mk-why-text .payments {
    width: 442px;
    height: 32px;
    margin-left: 0;
  }

  .mk-team {
    min-height: 1411px;
  }

  .mk-about {
    min-height: 1205px;
  }

  .mk-about-image {
    min-height: 1022px;
  }

  .mk-reviews {
    padding-bottom: 57px;
  }

  .mk-reviews-widget {
    min-height: 305px;
    margin-top: 30px;
  }

  .mk-reviews-bottom {
    margin-top: 8px;
    min-height: 362px;
  }

  .mk-contact {
    min-height: 899px;
    padding-bottom: 21px;
  }
}

/* MD: 800px */
@media (min-width: 768px) and (max-width: 991.98px) {
  .mk-offer {
    min-height: 2008px;
  }

  .mk-offer-grid {
    min-height: 985px;
    align-content: stretch;
  }

  .mk-offer-links {
    margin-top: -210px;
    row-gap: 9px;
  }

  .mk-offer-links a {
    height: 178px;
  }

  .mk-vouchers {
    gap: 12px;
    margin-top: 34px;
  }

  .mk-voucher,
  .mk-voucher img {
    width: 100%;
    max-width: 720px;
  }

  .mk-voucher img {
    height: 308px;
  }

  .mk-why {
    padding-bottom: 58px;
  }

  .mk-why-row {
    grid-template-columns: 348px 1fr;
    justify-items: stretch;
    padding-top: 0;
    min-height: 1348px;
  }

  .mk-why-text {
    padding: 0 0 0 14px;
  }

  .mk-why-text .payments {
    width: 332px;
    height: 24px;
    margin-left: 14px;
  }

  .mk-book-cards {
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
    margin-left: 0;
  }

  .mk-book-card {
    width: 360px;
    height: 317px;
  }

  .mk-book-card + .mk-book-card {
    width: 311px;
    height: 332px;
    margin-top: 0;
  }

  .mk-book-box {
    top: 211px;
    left: 36px;
    width: 288px;
  }

  .mk-book-card + .mk-book-card .mk-book-box {
    top: 248px;
    left: 30px;
    width: 251px;
  }

  .mk-team {
    padding: 75px 0 30px;
  }

  .mk-team-grid {
    grid-template-columns: repeat(2, 356px);
    gap: 19px;
    margin-top: 19px;
  }

  .mk-team-card {
    height: 555px;
  }

  .mk-team-card:nth-child(n + 3) {
    height: 558px;
    margin-top: 0;
  }

  .mk-about {
    padding-bottom: 64px;
  }

  .mk-about-row {
    grid-template-columns: 360px 1fr;
    column-gap: 0;
  }

  .mk-about-image {
    min-height: 1304px;
  }

  .mk-gallery .carousel-inner,
  .mk-gallery .carousel-item {
    height: 816px;
  }

  .mk-thumbs button {
    flex-basis: 47px;
    width: 47px;
    height: 47px;
  }

  .mk-praxis {
    min-height: 1091px;
  }

  .mk-reviews {
    min-height: 1152px;
    padding-bottom: 65px;
  }

  .mk-reviews-widget {
    min-height: 305px;
    margin-top: 30px;
  }

  .mk-contact {
    padding-bottom: 34px;
  }
}

/* SM: 600px */
@media (min-width: 576px) and (max-width: 767.98px) {
  .mk-offer {
    padding: 96px 0 65px;
  }

  .mk-offer-grid {
    min-height: 1551px;
  }

  .mk-offer-links {
    margin-top: -257px;
    row-gap: 10px;
  }

  .mk-offer-links a {
    height: 209px;
  }

  .mk-offer-links a:last-child {
    height: 187px;
  }

  .mk-vouchers {
    gap: 17px;
    margin-top: 10px;
  }

  .mk-voucher img {
    height: 308px;
  }

  .mk-why {
    padding-bottom: 65px;
  }

  .mk-why-row {
    padding-top: 33px;
  }

  .mk-why-media {
    min-height: 497px;
  }

  .mk-why-media .photo {
    margin: 0 auto;
  }

  .mk-why-text {
    padding: 0 0 30px;
  }

  .mk-why-text > p:first-of-type {
    max-width: 480px;
    margin-left: 30px;
    margin-right: 30px;
  }

  .mk-why-media .emr,
  .mk-why-media .asca {
    margin-left: auto;
    margin-right: auto;
  }

  .mk-why-text .mk-title {
    font-size: 2.25rem;
  }

  .mk-why-text .payments {
    width: 332px;
    height: 24px;
  }

  .mk-book-cards {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0;
    margin-left: 0;
  }

  .mk-book-card {
    width: 270px;
    height: 355px;
  }

  .mk-book-card + .mk-book-card {
    width: 253px;
    height: 370px;
    margin-top: 0;
  }

  .mk-book-box {
    top: 254px;
    left: 5px;
    width: 260px;
  }

  .mk-book-card + .mk-book-card .mk-book-box {
    top: 265px;
    left: 0;
    width: 100%;
  }

  .mk-team {
    min-height: 3338px;
    padding-top: 17px;
  }

  .mk-team-card,
  .mk-team-card:nth-child(n + 4) {
    height: 387px;
    margin-top: 0;
  }

  .mk-about {
    padding: 28px 0 0;
    min-height: 2046px;
  }

  .mk-about-row {
    margin-top: 42px;
    row-gap: 0;
  }

  .mk-about-image {
    min-height: 811px;
  }

  .mk-about-text .story {
    margin-top: 0;
  }

  .mk-praxis {
    min-height: 561px;
    padding-bottom: 104px;
  }

  .mk-thumbs button {
    flex-basis: 31px;
    width: 31px;
    height: 31px;
  }

  .mk-map {
    height: 787px;
    margin-top: 20px;
  }

  .mk-reviews {
    min-height: 1199px;
    padding-top: 34px;
    padding-bottom: 0;
  }

  .mk-reviews-widget {
    min-height: 305px;
    margin-top: 30px;
  }

  .mk-contact {
    min-height: 1707px;
  }
}