/* var text-decoration */
@font-face {
  font-family: myfont;
  src: url(../fonts/ufonts.com_tw-cen-mt.ttf);
}

/*--
    Common Css
--*/
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
}

body {
  font-family: myfont;
  font-size: 14px;
  font-weight: 400;
}

a:focus {
  outline: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0px;
  font-family: myfont;
}

h1 {
  font-size: 36px;
}

h2 {
  font-size: 24px;
  font-weight: 500;
}

h3 {
  font-size: 20px;
  font-weight: 600;
}

p {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  margin: 0px;
  font-family: myfont;
}

ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

a, a:active, a:focus, a:active {
  text-decoration: none !important;
  font-size: 15px;
}

.section {
  padding: 100px 0;
}

.d-inline-block {
  display: inline-block;
}

/*============== Mixins style start ================*/
.overlay-effect {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url("../images/overlay-pattern.png") #000000;
  opacity: 0.3;
}

/*--
    custom heading Start
--*/
.heading {
  text-align: center;
  font-weight: 500;
  color: #2E2E2E;
  padding: 40px 0px;
  position: relative;
}

.heading span {
  font-size: 45px;
  color: #ff530a;
  font-weight: 600;
}

.heading:before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 140px;
  height: 1px;
  background: #C8C1B3;
  margin-left: -70px;
}

/*--
    custom heading Start
--*/
.title {
  color: #2E2E2E;
  text-transform: uppercase;
  padding: 30px 0px;
}

.title span {
  color: #FF5333;
}

.before-border {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 140px;
  height: 1px;
  background: #C8C1B3;
  margin-left: -70px;
}

/*--
    transition custom style
--*/
.transition {
  -webkit-transition: .3s all;
  -moz-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
}

/*============== Mixins style close ================*/
/*--
    header-img start Start
--*/
.overlay {
  position: relative;
}

.overlay:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url("../images/overlay-pattern.png") #000000;
  opacity: 0.3;
}

/*--
    nav Start
--*/
.navigation {
  position: sticky;
  top: 85px;
}

nav {
  z-index: 9;
  width: 100%;
}

nav .block {
  margin-top: -85px;
  background: #fff;
  padding: 25px 40px;
  background: rgba(255, 255, 255, 0.89);
}

nav .block .navbar-default {
  border: none;
  border-radius: 0px;
  margin-bottom: 0;
  background: none;
}

nav .block .navbar-default .navbar-brand {
  padding-left: 0px;
}

nav .block .navbar-default .navbar-nav {
  padding-top: 10px;
}

nav .block .navbar-default .navbar-nav>li>a {
  color: #2E2E2E;
  padding: 10px 0px;
  margin: 0px 15px;
  font-size: 15px;
  text-transform: uppercase;
}

nav .block .navbar-default .navbar-nav>li>a:before {
  background-color: transparent;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  height: 2px;
  -webkit-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
  width: 0;
}

nav .block .navbar-default .navbar-nav>li>a:hover:before {
  background-color: #e94c3d;
  content: "";
  width: 100%;
}

nav .block .navbar-default .navbar-nav>li.current>a {
  color: #2E2E2E;
  padding: 10px 0px;
  margin: 0px 15px;
}

nav .block .navbar-default .navbar-nav>li.current>a:before {
  background-color: transparent;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  height: 2px;
  -webkit-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
  width: 100%;
  background-color: #e94c3d;
}

nav .block .navbar-default .navbar-nav>.active>a,
nav .block .navbar-default .navbar-nav>.active>a:focus,
nav .block .navbar-default .navbar-nav>.active>a:hover {
  background: none;
}

nav .block .navbar-default .navbar-nav>.active>a:before,
nav .block .navbar-default .navbar-nav>.active>a:focus:before,
nav .block .navbar-default .navbar-nav>.active>a:hover:before {
  content: "";
  position: absolute;
  bottom: 0px;
  width: 100%;
  height: 2px;
  background: #FF5333;
}

/*--
    about-us Start
--*/
#about-us {
  padding: 100px 0px;
  background: #F6F6F6;
}

#about-us .block {
  text-align: center;
}

#about-us .block p {
  color: #959595;
  font-size: 20px;
  line-height: 26px;
  padding: 40px 0px;
}

/* About Section Layout Styles */
.image-text-section {
  display: flex;
  align-items: center;
  gap: 50px;
  margin-bottom: 50px;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.image-column {
  flex: 0 0 300px;
}

.image-column img {
  width: 300px;
  height: 300px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.image-column img:hover {
  transform: scale(1.02);
}

.text-column {
  flex: 1;
  text-align: left;
}

.text-column .heading {
  margin-bottom: 20px;
}

.text-column p {
  color: #959595;
  font-size: 20px;
  line-height: 26px;
  margin: 0;
}

.video-section {
  text-align: center;
  max-width: 500px;
  margin: 0 auto;
}

.video-wrapper {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.video-wrapper:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.restaurant-video {
  width: 100%;
  height: auto;
  display: block;
}


.video-controls {
  position: absolute;
  bottom: 15px;
  right: 15px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.visual-item:hover .video-controls {
  opacity: 1;
}

.video-play-btn {
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.video-play-btn:hover {
  background: #FF4F02;
  color: white;
  transform: scale(1.1);
}

.video-play-btn i {
  font-size: 1.2rem;
}

.content-section {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

/* Responsive Design */
@media (max-width: 768px) {
  .image-text-section {
    flex-direction: column;
    gap: 30px;
    text-align: center;
  }
  
  .image-column {
    flex: 0 0 auto;
  }
  
  .image-column img {
    width: 250px;
    height: 250px;
  }
  
  .text-column {
    text-align: center;
  }
  
  .video-section {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .image-text-section {
    gap: 20px;
  }
  
  .image-column img {
    width: 200px;
    height: 200px;
  }
  
  .text-column p {
    font-size: 18px;
    line-height: 24px;
  }
}

/*--
    opening hours Start
--*/
#opening-hours {
  padding: 100px 0px;
}

#opening-hours .block {
  text-align: center;
}

#opening-hours .block p {
  color: #959595;
  font-size: 20px;
  line-height: 26px;
  padding: 25px 0px;
  display: block;
  margin: 0 auto;
  max-width: 80%;
  position: relative;
}

#opening-hours .block p::after {
  content: '';
  display: table;
  clear: both;
}

/*--
    blog Start
--*/
#blog {
  padding-top: 75px;
  padding-bottom: 100px;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  position: relative;
}

#blog .block .heading {
  color: #fff;
  margin-bottom: 40px;
}

.post {
  display: flex;
  margin-bottom: 20px;
}

.post:hover img {
  transform: scale(1.2) rotate(10deg);
}

.post-img {
  flex-basis: 50%;
  overflow: hidden;
}

.post-img img {
  transition: all 0.8s ease-out;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.post-content {
  background-color: #fff;
  position: relative;
  flex-basis: 50%;
  text-align: center;
  padding: 20px;
}

.post-content::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  top: 50%;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  background: #fff;
  transform: rotate(45deg);
  margin-left: -15px;
}

.post-content h3 {
  padding: 0px 10px 20px;
  margin-bottom: 20px;
  line-height: 26px;
  position: relative;
}

.post-content h3:before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 90px;
  height: 1px;
  background: #CBC4B5;
  margin-left: -45px;
}

.post-content h3 a {
  color: #323232;
  font-size: 20px;
  display: block;
}

.post-content h3 a:hover {
  color: #FF5333;
}

#blog .block .btn-more-info {
  float: right;
  padding: 28px 102.5px;
  border-radius: 0px;
  background: #ff530a;
  color: #fff;
  border: 1px solid transparent;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 16px;
  -webkit-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
}

#blog .block .btn-more-info:hover {
  background: transparent;
  color: #ff530a;
  border: 1px solid #ff530a;
}

.blog-single-page .post-thumb {
  margin-bottom: 10px;
}

.blog-single-page .post-title {
  margin-bottom: 10px;
}

.blog-single-page .post-meta {
  margin-bottom: 20px;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

/*--
    price Start
--*/
.price {
  padding: 70px 0px;
}

.price .block>p {
  color: #9D9D9D;
  font-size: 16px;
  line-height: 26px;
  padding: 40px 133px 0;
  text-align: center;
}

.price .block .pricing-list {
  padding-top: 85px;
}

.price .block .pricing-list ul {
  padding: 0 0 30px;
  margin: 0;
}

.price .block .pricing-list ul li {
  padding: 21px 0px;
}

.price .block .pricing-list ul li .item .item-title {
  position: relative;
}

.price .block .pricing-list ul li .item .item-title h2 {
  display: inline-block;
  position: relative;
  z-index: 99;
  background: #fff;
}

.price .block .pricing-list ul li .item .item-title .border-bottom {
  position: absolute;
  top: 0;
  width: 100%;
  height: 1px;
  border: 1px dotted #C9C9C9;
  margin-top: 20px;
}

.price .block .pricing-list ul li .item .item-title span {
  float: right;
  color: #938463;
}

.price .block .pricing-list ul li .item p {
  padding: 12px 0 0px;
  color: #949494;
}

.price .block .pricing-list .btn {
  padding: 28px 105px;
  border-radius: 0px;
  background: none;
  color: #FF4F02;
  border: 1px solid #FF4F02;
  font-size: 15px;
  text-transform: uppercase;
  font-weight: 600;
  -webkit-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
}

.price .block .pricing-list .btn:hover {
  background: #ff530a;
  color: #fff;
}

/*--
    subscribe Start
--*/
.subscription-form #mc_embed_signup {
  background: none;
  width: 70%;
  margin: 0 auto;
}

#mc_embed_signup .mc-field-group label {
  color: #fff;
}

.mc-field-group .d-flex {
  display: flex;
}

#mc_embed_signup .mc-field-group input.email {
  background: #fff;
  opacity: 0.9;
  border: none;
  height: 65px;
  border-radius: 0;
  width: 75%;
  display: inline-block;
  outline: none;
  padding: 0 15px;
}

#mc_embed_signup .mc-field-group input.button {
  height: 65px;
  display: inline-block;
  width: 25%;
  margin: 0;
  clear: none;
  border: none;
  border-radius: 0px;
  background: #7EC3BB;
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 2px;
  text-transform: uppercase;
  -webkit-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
}
@media only screen and (max-width: 991px) {
  #mc_embed_signup .mc-field-group input.email {
    width: 70%;
  }
  #mc_embed_signup .mc-field-group input.button {
    width: 30%;
  }
}
@media only screen and (max-width: 768px) {
  .mc-field-group .d-flex {
    display: block;
  }
  #mc_embed_signup .mc-field-group input.email,
  #mc_embed_signup .mc-field-group input.button {
    width: 100%;
  }
}

.subscription-form #mc_embed_signup #mce-success-response {
  color: #fff;
}

#subscribe {
  padding: 100px 0px;
  text-align: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  position: relative;

}

#subscribe .block h1.heading {
  color: #fff;
}

#subscribe .block p {
  padding: 25px 0px;
  color: #fff;
  font-size: 18px;
}

#subscribe .block form .form-control {
  width: 450px;
  background: #fff;
  opacity: 0.9;
  border: none;
  height: 65px;
  border-radius: 0px;
  font-size: 15px;
}

#subscribe .block form .input-group-addon {
  padding: 0px;
  border: none;
  background: none;
}

#subscribe .block form .input-group-addon button {
  width: 212px;
  height: 65px;
  border: none;
  border-radius: 0px;
  background: #7EC3BB;
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 2px;
  text-transform: uppercase;
  -webkit-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
}

#subscribe .block form .input-group-addon button:hover {
  background: #69a8a1;
}

/*--
    contact-us Start
--*/
#contact-us {
  padding: 70px 0px;
}

#contact-us .block .title {
  padding: 20px 0;
}

#contact-us .block form {
  padding-bottom: 20px;
}

#contact-us .block form input {
  height: 48px;
  border-radius: 0px;
  box-shadow: none;
  -webkit-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
}

#contact-us .block form input:focus {
  border: 1px solid #7EC3BB;
}

#contact-us .block form textarea {
  height: 140px;
  border-radius: 0px;
  box-shadow: none;
  -webkit-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
}

#contact-us .block form textarea:focus {
  border: 1px solid #7EC3BB;
}

#contact-us .block button {
  background: #FF4F02;
  float: right;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: 0px;
  border: 0px;
  width: 512px;
  height: 50px;
  padding-top: 15px;
  -webkit-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
}

/*--
    footer Start
--*/
#footer {
  padding: 70px 0px;
}

#footer .gallery li {
  display: inline-block;
  margin-right: 15px;
  margin-bottom: 15px !important;
}

#footer .gallery li img {
  width: 80px;
  height: auto;
}

#footer .block h3 {
  color: #2E2E2E;
  padding-bottom: 25px;
}

#footer .block h3 span {
  color: #FF4F02;
}

#footer .block .blog ul,
#footer .block .info ul,
#footer .block .gallary ul {
  padding-top: 20px;
}

#footer .block .blog ul li,
#footer .block .info ul li,
#footer .block .gallary ul li {
  margin-bottom: 20px;
}

#footer .block .blog ul li h4,
#footer .block .info ul li h4,
#footer .block .gallary ul li h4 {
  padding-bottom: 10px;
  display: block;
  color: #FF4F02;
}

#footer .block .blog ul li h4 i,
#footer .block .info ul li h4 i,
#footer .block .gallary ul li h4 i {
  color: #555;
  margin-right: 30px;
  font-size: 20px;
}

#footer .block .blog ul li h4 a,
#footer .block .info ul li h4 a,
#footer .block .gallary ul li h4 a {
  color: #FF4F02;
  font-size: 20px;
  font-weight: 600;
}

#footer .block .blog ul li p,
#footer .block .info ul li p,
#footer .block .info ul li p a,
#footer .block .gallary ul li p {
  color: #474747;
  font-size: 14px;
}

#footer .block .info ul li p a:hover {
  color: #FF4F02;
}

#footer .block .social-media-link h3 {
  font-size: 20px;
  padding-bottom: 15px;
  padding-top: 30px;
}

#footer .block .social-media-link h3 span {
  color: #FF4F02;
}

#footer .block .social-media-link ul li {
  display: inline-block;
  margin-right: 20px;
}

#footer .block .social-media-link ul li a {
  display: block;
  width: 40px;
  height: 40px;
  text-align: center;
  font-size: 20px;
  padding-top: 8px;
  border-radius: 100%;
  background: #B0B0B0;
  color: #FFFFFF;
  -webkit-transition: .3s all;
  -o-transition: .3s all;
  transition: .3s all;
}

#footer .block .social-media-link ul li a:hover {
  background: #FF4F02;
  color: #fff;
}

/*--
    footer-bottom Start
--*/
#footer-bottom {
  background: #E9E9E9;
  padding: 20px 0px;
}

#footer-bottom p {
  text-align: center;
  padding-top: 12px;
  color: #454545;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
}

#footer-bottom p a {
  color: #FF4F02;
}

/* slider */

#slider {
  padding-bottom: 50px;
}

.slick-slide {
  outline: 0;
}

.slick-dots {
  text-align: center;
  margin-top: 20px;
}

.slick-dots li {
  display: inline-block;
}

.slick-dots li button {
  height: 10px;
  width: 10px;
  border-radius: 50%;
  cursor: pointer;
  margin: 0 5px;
  transition: .2s ease;
  border: 0;
  color: transparent;
  padding: 0;
  background: #DADADA;
}

.slick-dots li button:focus {
  outline: 0;
}

.slick-dots li.slick-active button {
  background: #FF4F02;
}

.gallery-slider .slick-arrow {
  border: 0;
  background: transparent;
  font-size: 30px;
  position: absolute;
  top: -65px;
  right: 0;
}

.gallery-slider .slick-arrow:focus {
  outline: 0;
}

.gallery-slider .prevArrow {
  display: none !important;
}

.gallery-slider img {
  padding: 20px;
  width: 100%;
  height: 300px; /* Feste Höhe für einheitliches Seitenverhältnis */
  object-fit: cover; /* Verhindert Verzerrung, schneidet bei Bedarf zu */
  object-position: center; /* Zentriert das Bild beim Zuschneiden */
}

.pagination {
  text-align: center;
  display: block;
  margin-top: 20px;
}

.pagination>li {
  display: inline-block;
}

.pagination .page-item .page-link {
  display: inline-block;
  width: 40px;
  height: 40px;
  border-radius: 0;
  border: 1px solid #d1d1d1;
  text-align: center;
  margin-right: 6px;
  font-weight: 700;
  color: #FF4F02
}

.pagination .page-item .page-link:hover {
  background: #FF4F02;
  color: #fff
}

.pagination .page-item:first-child .page-link,
.pagination .page-item:last-child .page-link {
  border-radius: 0;
}

.pagination .page-item.active .page-link {
  background: #FF4F02;
  color: #fff;
  border-color: #FF4F02
}

.btn-default {
  background: #FF4F02;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: 0px;
  border: 0px;
  padding: 10px 25px;
}

.menu-item-bg {
  background-color: #f5f5f5;
  padding: 20px;
  margin: 10px 0;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.item-title-background {
  background-color: #f5f5f5 !important;
}

.bg-center {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  padding: 60px 0;
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.menu-heading {
  color: #fff;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 1);
  font-size: 5rem;
}

.vibe-font {
  font-family: 'Great Vibes', cursive;
  font-size: 5rem;
}

.big-title {
  font-size: 5rem;
}

/*--
    Info Boxes Start
--*/
.reservation-info {
  background: transparent;
  color: #333;
  padding: 30px 15px 15px 30px;
  border: 3px solid #FF4F02;
  border-radius: 15px;
  margin: 30px 0;
  box-shadow: 0 4px 15px rgba(255, 79, 2, 0.2);
}

.reservation-info .info-header {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.reservation-info .info-header i {
  font-size: 28px;
  margin-right: 15px;
  color: #FF4F02;
}

.reservation-info .info-header h4 {
  margin: 0;
  color: #FF4F02;
  font-weight: bold;
  font-size: 1.6rem;
}

.reservation-info .info-content {
  margin: 0;
  font-size: 2rem;
  line-height: 1.6;
  color: #333 !important;
}

.payment-info {
  background: transparent;
  color: #333;
  padding: 30px 15px 15px 30px;
  border: 3px solid #2c3e50;
  border-radius: 15px;
  margin: 30px 0;
  box-shadow: 0 4px 15px rgba(44, 62, 80, 0.2);
}

.payment-info .info-header {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.payment-info .info-header i {
  font-size: 28px;
  margin-right: 15px;
  color: #2c3e50;
}

.payment-info .info-header h4 {
  margin: 0;
  color: #2c3e50;
  font-weight: bold;
  font-size: 1.6rem;
}

.payment-info .info-content {
  margin: 0;
  font-size: 2rem;
  line-height: 1.6;
  color: #333 !important;
}

/* Force rebuild */

/* Section Header Images */
.section-header-image {
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
  height: 170px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center;
  margin-bottom: 20px;
  border-radius: 8px;
}

.section-header-image:hover {
  transform: scale(1.02);
}

.section-header-image h2 {
  font-size: 2.5rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
  color: white;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
  padding: 10px 20px;
  border-radius: 5px;
}

@media (max-width: 768px) {
  .section-header-image {
    height: 200px !important;
  }
  
  .section-header-image h2 {
    font-size: 1.8rem;
    padding: 8px 16px !important;
  }
}