*:focus {
  outline: none;
}

::-moz-selection {
  background: #551e33;
  color: #fff;
}

::selection {
  background: #551e33;
  color: #fff;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  overflow-y: scroll;
  overflow-x: auto;
  cursor: default;
}

html, body {
  color: #111;
  background-color: #fff;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-size: 16px;
}

div {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

h2, p {
  font-weight: 100;
  line-height: 1.3em;
}

h2 {
  font-size: 3em;
  line-height: 1.15em;
}

.h3 {
  font-size: 2.2em;
  line-height: 1.15em;
}

a {
  color: #551e33;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

strong {
  font-weight: 700;
}

@media screen and (max-width: 600px), (max-height: 768px) {
  p {
    font-size: 1em;
  }
  h2 {
    font-size: 2.2em;
  }
  .h3 {
    font-size: 1.8em;
  }
}
@media screen and (max-width: 400px), (max-height: 480px) {
  p {
    font-size: 0.9em;
  }
  h2 {
    font-size: 1.9em;
  }
  .h3 {
    font-size: 1.5em;
  }
}
.center {
  margin: 0 auto;
  width: 100%;
  height: 100%;
}

.first, .content {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  min-height: 300px;
}

.first + .content {
  margin-top: 0;
  padding-top: 0;
}

.content {
  height: auto;
  margin: 5% 0;
  padding: 20px;
}

.row {
  display: table;
  width: 100%;
  max-width: 760px;
  margin: -20px auto 0 auto;
}

.left, .right {
  display: table-cell;
  text-align: left;
  width: 50%;
}

.left {
  padding-right: 35px;
}

.right {
  padding-left: 35px;
}

@media screen and (max-width: 600px) {
  .row {
    display: block;
    max-width: 100%;
    width: 100%;
  }
  .left, .right {
    display: block;
    margin-top: 2em;
    padding: 0;
    width: 100%;
  }
}
.kopfzeile {
  position: relative;
  min-height: 100px;
}

.headinfo {
  position: relative;
  background-color: #501c2e;
  color: #fff;
  text-align: center;
  top: 0;
  width: 100%;
  min-height: 100px;
  display: flex;
  align-self: center;
  justify-content: center;
  flex-direction: column;
}

.headinfo a {
  color: #fff;
  border-bottom: 1px solid #fff;
  text-decoration: none !important;
  margin-bottom: 24px;
  display: inline-block;
  letter-spacing: 0;
}

.headinfo p {
  margin: 0;
  font-size: 1em;
  line-height: 1.25em;
  letter-spacing: -0.025em;
}

.headinfo .larger {
  font-size: 1.65em;
  line-height: 1.25em;
  margin: 20px 0 8px;
}

@media screen and (max-width: 800px) {
  .headinfo .larger {
    margin-top: 8px;
    font-size: 1.25em;
    line-height: 1.25em;
  }
  .headinfo a {
    margin-bottom: 12px;
  }
}
.larger a {
  font-weight: 700;
  text-decoration: none !important;
  border: none;
}

.headinfo a {
  font-weight: 700;
}

@media screen and (max-width: 400px), (max-height: 480px) {
  .headinfo {
    padding: 16px 20px !important;
  }
}
@keyframes animation {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  45% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.headinfo p[id] {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  animation: animation 8s infinite;
}

.headinfo p[id]:last-child {
  opacity: 0;
  animation: animation 8s 4s infinite;
}

.headinfo p small {
  font-size: 0.45em;
  line-height: 1;
  letter-spacing: 0;
}

@media screen and (max-width: 600px), (max-height: 768px) {
  .headinfo {
    padding: 16px 0 11px;
  }
}
@media screen and (max-width: 600px) {
  .kopfzeile,
  .headinfo {
    min-height: 62px;
  }
}
@media screen and (max-width: 400px), (max-height: 480px) {
  .headinfo {
    padding: 16px 0 11px;
  }
}
.headinfo {
  justify-content: center;
  align-self: center;
  align-items: center;
}

.headinfo > a {
  font-size: 15px;
  line-height: 15px;
  font-weight: 600;
  cursor: pointer;
}

.footer {
  text-align: center;
  color: #fff;
  background-color: #551e33;
  padding: 6% 20px;
}

.footer a {
  color: #fff;
}

.footer .left {
  padding-right: 25px;
  padding-left: 120px;
}

.footer .right {
  padding-left: 25px;
}

@media screen and (max-width: 600px) {
  .footer .row {
    max-width: 100%;
    margin: 0 auto;
  }
  .footer .left, .footer .right {
    margin-top: 0;
    display: inline-block;
    padding: 0 0 0 10px;
  }
}
div.logo {
  position: absolute;
  left: 50%;
  top: -200px;
  width: 300px;
  height: 300px;
  margin-left: -150px;
  padding-bottom: 20px;
  background: url("../images/logo-suresh-300x300.png") 0 0 no-repeat;
  background-size: 100%;
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  transition: transform 0.2s;
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5) {
  div.logo {
    background-size: 300px 300px;
    background-image: url("../images/logo-suresh-300x300.png");
  }
}
@media screen and (max-width: 800px) {
  div.logo {
    top: -195px;
    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
    transform: scale(0.8);
  }
}
@media screen and (max-width: 600px), (max-height: 768px) {
  div.logo {
    top: -182px;
    -webkit-transform: scale(0.6);
    -moz-transform: scale(0.6);
    transform: scale(0.6);
  }
}
@media screen and (max-width: 400px), (max-height: 480px) {
  div.logo {
    top: -182px;
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    transform: scale(0.5);
  }
}
.btn {
  border: 1px solid #fff;
  border-radius: 4px;
  font-size: 1rem;
  line-height: 1.3rem;
  padding: 9px 24px 8px 24px;
  display: inline-block;
  margin-bottom: 9px;
}

.video {
  margin: 0 0 4% 0;
  text-align: center;
}

.video-container-wrapper {
  max-width: 100%;
  width: 740px;
  left: 0;
  right: 0;
  margin: auto;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 0;
  height: 0;
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.first .top {
  width: 100%;
  min-height: 85%;
  background: url("../images/bild-suresh-neu-1920x1030.jpg") no-repeat center 50%;
  -webkit-background-size: cover !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  background-size: cover !important;
}

.first .bottom {
  position: relative;
}

@media screen and (max-height: 480px) {
  .first .top {
    min-height: 80%;
  }
}
.content .top {
  width: 100%;
  height: auto;
  min-height: none;
  text-align: center;
}

.content .top a {
  margin-top: 6%;
  font-weight: 700 !important;
  text-decoration: underline;
}

.content.map {
  position: relative;
  padding: 0;
  height: 450px;
  background-color: #eee;
  margin: 0;
}

.content.map > div {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 400px), (max-height: 480px) {
  .content.map {
    height: 300px;
  }
}
.visit-us {
  margin: 4% 0 4% 0;
  text-align: center;
}

.visit-us h2 {
  margin-top: 60px;
  margin-bottom: 10px;
}

div.img-koeche {
  margin: 0 auto;
  max-width: 924px;
}

div.img-koeche img {
  display: block;
  width: 100%;
}

@media screen and (max-width: 600px), (max-height: 768px) {
  .visit-us h2 {
    margin-top: 48px;
  }
}
@media screen and (max-width: 400px), (max-height: 480px) {
  .visit-us h2 {
    margin-top: 32px;
  }
}
.background {
  background-color: #501c2e;
  color: #fff;
  padding: 10% 20px;
}

.background .content {
  margin: 0;
}

.background a {
  color: #fff;
  text-decoration: underline;
  font-weight: 600;
}

.content.tischset {
  margin: 0;
  padding: 12% 20px 8%;
}

.content.tischset .row {
  margin-bottom: 120px;
}

.content.tischset h2.h3 {
  font-size: 2.5em;
}

.content.tischset a {
  text-decoration: underline;
  font-weight: 600;
}

.tischset .left,
.tischset .right {
  width: 50%;
  vertical-align: top;
  padding: 0 10px;
}

.content.tischset img {
  margin: 0 auto;
  display: block;
  max-width: 100%;
}

@media screen and (max-width: 640px) {
  .tischset .left,
  .tischset .right {
    width: 100%;
    display: block;
  }
  .content.tischset img {
    max-width: 80%;
  }
}
div.mood-desktop, div.mood-mobile {
  width: 100%;
  height: auto;
  margin-bottom: -6px;
}

div.mood-desktop img, div.mood-mobile img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 600px) {
  div.mood-desktop {
    display: none;
  }
}
@media screen and (min-width: 601px) {
  div.mood-mobile {
    display: none;
  }
}