/* ===========================================
   HAARSTYLING BY JASMIN - MAIN STYLESHEET
   =========================================== */

/* ===========================================
   TABLE OF CONTENTS
   ===========================================
   1. CSS RESET & BASE STYLES
   2. FONTS & TYPOGRAPHY  
   3. LAYOUT & GRID SYSTEM
   4. NAVIGATION
   5. HERO SECTION
   6. BUTTONS & INTERACTIVE ELEMENTS
   7. ANIMATIONS & EFFECTS
   8. CONTENT SECTIONS
   9. FORMS & MODALS
   10. GALLERY & MEDIA
   11. FOOTER
   12. UTILITIES
   13. RESPONSIVE DESIGN
   =========================================== */

/* ===========================================
   1. CSS RESET & BASE STYLES
   =========================================== */

*,
::after,
::before {
  box-sizing: border-box;
}

html,
body {
  overflow-x: hidden;
}

body {
  background-color: #f7f7f7;
  overflow-y: hidden;
  color: #5f5f5f;
  font-family: Raleway, sans-serif;
}

::selection {
  background: #5f5f5f;
  color: #fff;
}

/* ===========================================
   2. FONTS & TYPOGRAPHY
   =========================================== */

/* Font Face Declarations */
@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/montserrat-v29-latin-800.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/montserrat-v29-latin-700.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/montserrat-v29-latin-600.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: Raleway;
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/raleway-v34-latin-700.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: Raleway;
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/raleway-v34-latin-600.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: Raleway;
  font-style: italic;
  font-weight: 600;
  src: url("../fonts/raleway-v34-latin-600italic.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: Raleway;
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/raleway-v34-latin-500.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: bootstrap-icons;
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/bootstrap-icons.woff2") format("woff2"),
    url("../fonts/bootstrap-icons.woff") format("woff");
}

/* Typography Base Styles */
header2,
p {
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-size-adjust: 100%;
}

header2,
header2.section-heading {
  font-weight: 800;
  text-align: center;
}

header2 {
  font-family: Montserrat, sans-serif;
  font-size: 45px;
  font-style: normal;
  letter-spacing: -0.04em;
  line-height: 1.15;
  margin: -7px auto 5px;
  position: relative;
  text-transform: none;
  width: 100%;
  z-index: 1;
}

header4,
p {
  font-size: 15px !important;
  text-align: left;
  font-weight: 700 !important;
}

p {
  letter-spacing: 0.05em;
  line-height: 2;
  font-weight: 500;
  color: #5f5f5f;
}

p a,
p a:hover {
  font-weight: 500;
  outline: 0;
  text-decoration: none;
  transform: translateZ(0);
  transition: 0.5s linear;
  color: #5f5f5f !important;
}

/* Headers Specific Styles */
h1, h2, h3, h4, h5 {
  color: #000;
}

h6 {
  display: none;
  visibility: hidden;
}

/* Section Heading Styles */
header2.section-heading {
  color: #5f5f5f;
  font-size: 14px;
  font-style: normal;
  letter-spacing: -0.02em;
  margin: 2px 0 0;
  padding: 0;
  position: relative;
  z-index: 10;
  text-transform: uppercase;
  font-family: Montserrat, sans-serif;
}

header2.section-heading span {
  display: inline-block;
  line-height: 1;
  margin-right: 30px;
  padding-right: 90px;
  position: relative;
}

header2.section-heading span::before {
  border-top: 1px solid #5f5f5f;
  content: "";
  display: block;
  height: 0;
  margin-top: -1px;
  position: absolute;
  right: 0;
  top: 50%;
  width: 60px;
}

header2.section-heading span::after {
  content: "";
  display: block;
  height: 0;
  margin-top: -1px;
  position: absolute;
  right: 0;
  top: 50%;
  width: 60px;
}

/* Hero Heading Styles */
.hero-heading,
header2.hero-heading {
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-size-adjust: 100%;
  text-transform: none;
  font-size: 55px;
  letter-spacing: -0.04em;
  line-height: 1.15;
  width: 100%;
  color: #fff;
  font-family: Montserrat, sans-serif;
  margin: -6px auto 0;
  position: relative;
  font-weight: 800;
  text-align: center;
  font-style: normal;
  z-index: 1;
}

.hero-heading span,
header2.hero-heading span,
a,
a:active,
a:focus,
a:hover,
a:visited {
  color: #fff;
}

/* Hero Subheading */
.hero-subheading {
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-size-adjust: 100%;
  text-transform: none;
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: normal;
  margin: -1px auto;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  position: relative;
  text-align: center;
  font-style: normal;
  z-index: 1;
}

.hero-subheading span {
  color: #fff;
  display: inline-block;
  line-height: 1;
  margin-right: 30px;
  padding-right: 60px;
  position: relative;
  margin-left: 0;
  padding-left: 50px;
}

.hero-subheading span::before {
  border-top: 1px solid #fff;
  content: "";
  display: block;
  height: 0;
  margin-top: -1px;
  position: absolute;
  right: 0;
  top: 50%;
  width: 30px;
}

/* Other Header Styles */
header4 {
  font-family: Montserrat, sans-serif;
  letter-spacing: -0.04em;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 800;
}

header5 {
  font-family: Montserrat, sans-serif;
  text-align: center;
  text-transform: uppercase;
  color: #5f5f5f;
  font-size: 25px;
  font-weight: 700;
  margin-top: -18px;
  width: 100%;
  font-style: normal;
  line-height: 100%;
  z-index: 2;
  letter-spacing: 0.05em;
  position: relative;
}

/* Text Stroke Support */
@supports ((-webkit-text-stroke: 1px #fff) or (text-stroke: 1px #fff)) {
  .hero-heading span,
  header2.hero-heading span {
    color: #000;
    text-shadow: none;
    -webkit-text-stroke: 1px #000;
  }
}

@supports ((-webkit-text-stroke: 1px #111) or (text-stroke: 1px #111)) {
  .hero-heading.hero-heading-dark span,
  header2.hero-heading.hero-heading-dark span {
    color: #fff0;
    text-shadow: none;
    -webkit-text-stroke: 1px #111;
  }
}

@supports ((-webkit-text-stroke: 1px #fff) or (text-stroke: 1px #fff)) {
  header2.hero-heading span {
    color: #fff0;
    text-shadow: none;
    -webkit-text-stroke: 1px #fff;
  }
}

@supports ((-webkit-text-stroke: 1px #5f5f5f) or (text-stroke: 1px #5f5f5f)) {
  header2.hero-heading span,
  header2.hero-heading.hero-heading-dark span {
    color: #fff0;
    text-shadow: none;
    -webkit-text-stroke: 1px #5f5f5f;
  }
}

/* Dark Theme Headers */
.hero-heading.hero-heading-dark,
.hero-heading.hero-heading-dark span,
header2.hero-heading.hero-heading-dark {
  color: #5f5f5f !important;
  font-family: Montserrat, sans-serif;
  font-weight: 800;
  -webkit-text-stroke: unset !important;
}

/* Typography Text Effects */
.blog-quote p,
.blog-quote p span {
  color: #5f5f5f !important;
  font-family: Montserrat, sans-serif;
  font-weight: 800;
  -webkit-text-stroke: unset !important;
}

/* ===========================================
   3. LAYOUT & GRID SYSTEM
   =========================================== */

.grey-bg {
  --bs-gutter-x: 0rem !important;
  background-color: #f7f7f7;
}

.nopadding {
  margin: 0 !important;
  padding: 0 !important;
}

.extra-margin-container {
  background: 0 0;
  height: auto;
  margin-left: 0;
  margin-right: 0;
  min-height: inherit;
  position: relative;
}

/* Dividers */
.divider-l,
.divider-m,
.divider-s {
  background: 0 0;
  margin: 0 auto;
  position: relative;
  width: 100%;
  z-index: -1;
}

.divider-s {
  height: 25px;
}

.divider-m {
  height: 50px;
}

.divider-l {
  height: 80px;
}

.divider-l-2 {
  height: 71px;
}

.the-line {
  background: #5e5e5e;
  height: 80px;
  margin: 1px auto;
  position: relative;
  width: 1px;
}

.the-line.the-line-light {
  background: #e5e5e5;
}

/* About Section Layout */
.about {
  min-height: 110vh;
  overflow: hidden;
  position: relative;
}

.left {
  background-color: #fff;
  border-radius: 0 50px 50px 0;
  box-sizing: border-box;
  padding: 8% 5%;
  top: 50%;
  transform: translateY(-50%);
  width: 50%;
  z-index: 2;
  position: absolute;
  left: 0;
}

.right {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 50px 0 0 50px;
  height: 110vh;
  right: 0;
  top: 0;
  width: 60%;
  z-index: 1;
  position: absolute;
}

/* Background Images */
.about-bg-1 {
  background-image: url("../Friseur\ Villach/Friseur\ in\ Villach/friseur\ villach.webp");
}

.carousel-img-item-1
{
background-image: url("../Friseur Villach/Friseur\ in\ Villach/Baylage_Vilalch.webp");
}
.carousel-img-item-2
{
background-image: url("../Friseur Villach/Friseur\ in\ Villach/Hair\ Extensions\ Villach.webp");
}
.carousel-img-item-3
{
  background-image: url("../Friseur Villach/Friseur\ in\ Villach/haarstyling\ villach.webp");
}
.carousel-img-item-4
{
  background-image: url("../Friseur Villach/Friseur\ in\ Villach/Friseursalon\ in\ der\ Nähe.webp");
}
.carousel-img-item-5
{
  background-image: url("../Friseur Villach/Friseur\ in\ Villach/Friseursalon\ in\ der\ Nähe.webp");
}

.rooms-bg-1 {
  background-image: url("../Friseur Villach/Balayage Villach/Damenfriseur Villach LabelM2.webp");
}

.rooms-bg-2 {
  background-image: url("../Friseur Villach/Balayage Villach/Keratin Behandlung Villach 369.webp");
}

.rooms-bg-3 {
  background-image: url("../Friseur Villach/Balayage Villach/Hair Extensions Villach Yodema.webp");
}

.rooms-bg-4 {
  background-image: url("../Friseur Villach/Balayage Villach/Hair Extensions Villach LabelM.webp");
}

.rooms-bg-5 {
  background-image: url("../Friseur Villach/Balayage Villach/Friseursalon\ Villach\ UpperCut.webp");
}

.rooms-bg-6 {
  background-image: url("../Friseur Villach/Balayage Villach/friseur villach jetzt offen.webp");
}

/* ===========================================
   4. NAVIGATION
   =========================================== */

.navbar-bg-switch {
  background: transparent;
  box-shadow: none;
  left: 0;
  padding-bottom: 0;
  padding-top: 40px;
  position: fixed;
  top: 0;
  transition: background 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    padding 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
  z-index: 1030;
}

.navbar-bg-switch:not(.scrolled):not(.menu-open),
.navbar-bg-switch.transparent {
  background: transparent !important;
  box-shadow: none !important;
}

.navbar-bg-switch.scrolled,
.navbar-bg-switch.menu-open {
  background: #fff !important;
  box-shadow: 0 2px 16px rgb(0 0 0 / 8%) !important;
}

.navbar-bg-switch.scrolled {
  padding-bottom: 0;
  padding-top: 6px;
}

/* Logo States */
.logo img.logo-light {
  height: auto;
  opacity: 1;
  transition: opacity 0.5s;
}

.logo img.logo-dark {
  height: 0;
  opacity: 0;
  transition: opacity 0.5s;
}

.navbar-bg-switch.scrolled .logo img.logo-light,
.navbar-bg-switch.menu-open .logo img.logo-light {
  height: 0;
  opacity: 0;
}

.navbar-bg-switch.scrolled .logo img.logo-dark,
.navbar-bg-switch.menu-open .logo img.logo-dark {
  height: auto;
  opacity: 1;
}

/* Navigation Links */
.navbar-nav .nav-link {
  background: 0 0;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 40px 15px 10px;
  transition: color 0.5s, padding 0.5s;
  font-family: Montserrat, sans-serif;
  text-transform: uppercase;
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link:hover {
  color: #ccc !important;
}

.navbar-bg-switch.scrolled .navbar-nav .nav-link,
.navbar-bg-switch.menu-open .navbar-nav .nav-link {
  color: #111;
  padding: 6px 15px;
}

.navbar-bg-switch.scrolled .navbar-nav .nav-link.active,
.navbar-bg-switch.scrolled .navbar-nav .nav-link:focus,
.navbar-bg-switch.scrolled .navbar-nav .nav-link:hover,
.navbar-bg-switch.menu-open .navbar-nav .nav-link.active,
.navbar-bg-switch.menu-open .navbar-nav .nav-link:focus,
.navbar-bg-switch.menu-open .navbar-nav .nav-link:hover {
  color: #555 !important;
}

/* Navbar Toggler */
.navbar-toggler {
  border: none;
  color: #fff0;
}

/* Hamburger Menu */
.ham.ham1 {
  height: 40px;
  width: 40px;
}

.ham {
  cursor: pointer;
  transition: transform 0.4s;
  user-select: none;
}

.hamRotate.active {
  transform: rotate(45deg);
}

.line {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-width: 5.5;
  transition: stroke 0.3s, stroke-dasharray 0.4s, stroke-dashoffset 0.4s;
}

.ham1 .top {
  stroke-dasharray: 40 139;
}

.ham1 .bottom {
  stroke-dasharray: 40 180;
}

.ham1.active .top {
  stroke-dashoffset: -98px;
}

.ham1.active .bottom {
  stroke-dashoffset: -138px;
}

.ham1.active .line,
.navbar.menu-open .ham .line,
.navbar.scrolled .ham .line {
  stroke: #000;
}

 /* Animierte Navigation Unterstreichung - nur Desktop */

/* Basis Styles für alle Nav Links */
.navbar-nav .nav-link {
  position: relative;
  overflow: hidden;
}

/* Animierte Unterstreichung nur auf Desktop (> 992px) */
@media (width >= 992px) {
  .navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #5f5f5f, #333);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  /* Home Link - keine Unterstreichung */
  .navbar-nav .nav-link[href="#home"]::after {
    display: none;
  }

  /* Active State - Unterstreichung sichtbar (außer Home) */
  .navbar-nav .nav-link.active:not([href="#home"])::after {
    transform: scaleX(1);
  }

  /* Hover Effect - sanfte Animation (außer Home) */
  .navbar-nav .nav-link:not([href="#home"]):hover::after {
    transform: scaleX(0.7);
    background: linear-gradient(90deg, #ccc, #999);
  }

  /* Active + Hover - behält die volle Unterstreichung (außer Home) */
  .navbar-nav .nav-link.active:not([href="#home"]):hover::after {
    transform: scaleX(1);
    background: linear-gradient(90deg, #5f5f5f, #333);
  }

  /* Scrolled State - dunklere Unterstreichung */
  .navbar-bg-switch.scrolled .navbar-nav .nav-link::after,
  .navbar-bg-switch.menu-open .navbar-nav .nav-link::after {
    background: linear-gradient(90deg, #333, #111);
  }

  .navbar-bg-switch.scrolled .navbar-nav .nav-link:not([href="#home"]):hover::after,
  .navbar-bg-switch.menu-open .navbar-nav .nav-link:not([href="#home"]):hover::after {
    background: linear-gradient(90deg, #666, #444);
  }

  .navbar-bg-switch.scrolled .navbar-nav .nav-link.active:not([href="#home"]):hover::after,
  .navbar-bg-switch.menu-open .navbar-nav .nav-link.active:not([href="#home"]):hover::after {
    background: linear-gradient(90deg, #333, #111);
  }
}

/* Transparente Navbar - hellere Unterstreichung */
@media (width >= 992px) {
  .navbar-bg-switch.transparent .navbar-nav .nav-link::after {
    background: linear-gradient(90deg, #fff, rgba(255,255,255,0.8));
  }

  .navbar-bg-switch.transparent .navbar-nav .nav-link:not([href="#home"]):hover::after {
    background: linear-gradient(90deg, rgba(255,255,255,0.7), rgba(255,255,255,0.5));
  }

  .navbar-bg-switch.transparent .navbar-nav .nav-link.active:not([href="#home"]):hover::after {
    background: linear-gradient(90deg, #fff, rgba(255,255,255,0.8));
  }
}

/* Zusätzliche Hover-Animationen für bessere UX */
@media (width >= 992px) {
  .navbar-nav .nav-link {
    transition: color 0.3s ease, transform 0.2s ease;
  }

  /*
  .navbar-nav .nav-link:hover {
    transform: translateY(-1px);
  }
  */

  /* Home Link - spezielle Active-State Behandlung ohne Unterstreichung */
  .navbar-nav .nav-link[href="#home"].active {
    font-weight: 800;
    color: #5f5f5f !important;
  }

  /* Home Link - Transparent State */
  .navbar-bg-switch.transparent .navbar-nav .nav-link[href="#home"].active {
    color: #fff !important;
    text-shadow: 0 0 10px rgba(255,255,255,0.3);
  }

  /* Home Link - Scrolled State */
  .navbar-bg-switch.scrolled .navbar-nav .nav-link[href="#home"].active,
  .navbar-bg-switch.menu-open .navbar-nav .nav-link[href="#home"].active {
    color: #333 !important;
  }
}

/* Mobile - keine Unterstreichung, einfache Active States (außer Home) */
@media (width < 992px) {
  .navbar-nav .nav-link.active:not([href="#home"]) {
    background-color: rgba(95, 95, 95, 0.1);
    border-radius: 4px;
    font-weight: 700;
  }
  
  /* Home Link - nur Font-Weight Änderung auf Mobile */
  .navbar-nav .nav-link.active[href="#home"] {
    font-weight: 700;
  }
}

/* ===========================================
   5. HERO SECTION
   =========================================== */

.hero-fullscreen {
  align-items: center;
  display: flex;
  height: 100vh;
  justify-content: center;
  min-height: 100vh;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 12;
}

.hero-video-bg {
  height: 100vh;
  min-height: 100vh;
  min-width: 100vw;
  object-fit: cover;
  object-position: center;
  width: 100vw;
  z-index: 0;
  background: #111;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
}

.overlay-dark-75 {
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
}

.overlay-dark-75::before {
  background: linear-gradient(180deg, rgb(0 0 0 / 75%), rgb(0 0 0 / 10%));
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
}

.hero-fullscreen .container {
  position: relative;
  z-index: 2;
}

/* Dots Pattern */
.dots,
.dots-reverse {
  bottom: 150px;
  box-sizing: border-box;
  height: calc(100% - 300px);
  top: 150px;
  width: calc(33% - 300px);
  position: absolute;
  z-index: 1;
  display: block;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none;
}

.dots {
  left: 150px;
  right: 150px;
}

.dots-reverse {
  left: 66%;
  margin-left: 150px;
  right: 0;
}

.the-dots {
  background: 0 0/30px 30px #fff0;
  background-image: radial-gradient(hsl(0deg 0% 47% / 75%) 5%, transparent 0);
  height: 100%;
  position: relative;
  width: 100%;
}

/* Waves Animation */
.waves {
  bottom: 0;
  height: 15vh;
  max-height: 150px;
  min-height: 100px;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 0;
  left: 0;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
}

.parallax > use {
  animation: 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite move-forever;
}

.parallax > use:first-child {
  animation-delay: -2s;
  animation-duration: 7s;
}

.parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
}

.parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}

.parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}

/* ===========================================
   6. BUTTONS & INTERACTIVE ELEMENTS
   =========================================== */

/* Main Button Styles */
button {
  background: 0 0;
  border: none;
  cursor: pointer;
  letter-spacing: normal;
  line-height: normal;
  font-family: Montserrat, sans-serif;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 10px;
  outline: 0;
}

/* More Button Center */
#home .more-wraper-center {
  height: 120px;
  margin: 0 auto;
  max-width: 120px;
  position: relative;
  text-align: center;
  width: 120px !important;
  z-index: 10;
}

#home .more-button-bg-center {
  background: 0 0;
  border: 2px dashed #fff;
  border-radius: 50%;
  cursor: pointer;
  display: block;
  height: 100%;
  width: 100%;
}

#home .more-button-txt-center {
  color: #fff !important;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  left: 0;
  margin: 0 auto;
  position: absolute;
  top: 0;
  transform: translate(-50%, -50%);
  width: 120px !important;
  font-family: Montserrat, sans-serif;
  text-transform: uppercase;
}

#home .more-wraper-center:hover .more-button-bg-center,
.more-wraper-center:hover .more-button-circle {
  animation: 5s linear infinite spin;
}

/* Button Effects */
#home .button-effect,
#home .button-effect:active,
#home .button-effect:focus {
  background: #fff0;
  border: none;
  cursor: pointer;
  outline: 0;
  overflow: visible;
  padding: 0;
  position: relative;
}

/* Pulse Animation */
#home .pulse {
  animation: 3s linear infinite pulse;
  background: #fff0;
  border: 1px solid #fff !important;
  border-radius: 50%;
  height: 80px;
  left: 50%;
  opacity: 0;
  pointer-events: none;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  position: absolute;
  z-index: 1;
}

#home .more-wraper-inner-home {
  align-items: center;
  display: flex;
  justify-content: center;
  position: relative;
}

/* More Button Generic */
.more-wraper-center {
  height: 120px;
  max-width: 120px;
  position: relative;
  text-align: center;
  width: 120px !important;
  z-index: 1;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  right: 0;
}

.more-button-bg-center {
  background: #fff;
  border: 2px dashed #fff;
  border-radius: 50%;
  cursor: pointer;
  display: block;
  height: 100%;
  width: 100%;
}

.more-button-bg-center.more-button-bg-center-dark {
  background: #fff;
  border: 2px dashed #111;
}

.more-button-circle {
  background-clip: content-box;
  border-radius: 50%;
  cursor: pointer;
  display: block;
  height: 100%;
  padding: 2.5px;
  width: 100%;
}

.more-button-txt-center {
  color: #111;
  font-family: Montserrat, sans-serif;
  font-style: normal;
  left: 60px;
  margin: 0 auto;
  position: absolute;
  text-transform: uppercase;
  top: 60px;
  transform: translate(-50%, -50%);
  width: 120px !important;
  cursor: pointer;
  letter-spacing: normal;
  line-height: normal;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
}

/* Link Effects */
a.link-effect,
p.link-effect {
  color: inherit;
  display: inline-block;
  position: relative;
  text-decoration: none;
}

a.link-effect::after,
p.link-effect::after {
  background-color: #5f5f5f;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  padding: 0;
  position: absolute;
  transform-origin: left center;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
}

a.link-effect:hover::after,
p.link-effect:hover::after {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Share Buttons */
.btn-share {
  background: #5f5f5f;
  border: 1px solid #5f5f5f;
  border-radius: 50%;
  color: #fff;
  display: inline-block;
  font-size: 20px;
  height: 50px;
  line-height: 50px;
  margin: 0 4px;
  position: relative;
  transition: 0.35s ease-out;
  vertical-align: middle;
  width: 50px;
  text-decoration: none;
}

/* Scroll Buttons */
.book-circle,
.to-top-arrow {
  background: #5f5f5f;
  border-radius: 50%;
  bottom: -10px;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  height: 50px;
  line-height: 47px;
  -moz-opacity: 0;
  -webkit-opacity: 0;
  opacity: 0;
  position: fixed;
  right: 80px;
  text-align: center;
  transform: translateY(40px);
  transition: 0.6s;
  width: 50px;
  z-index: 105;
}

.book-circle:hover,
.to-top-arrow:hover {
  -moz-opacity: 1;
  -webkit-opacity: 1;
  opacity: 1;
}

.to-top-arrow.show {
  bottom: 60px;
  -moz-opacity: 1;
  -webkit-opacity: 1;
  opacity: 1;
  transform: translateY(-20px);
}

.book-circle.show {
  bottom: 120px;
  -moz-opacity: 1;
  -webkit-opacity: 1;
  opacity: 1;
  transform: translateY(-20px);
}

/* ===========================================
   7. ANIMATIONS & EFFECTS
   =========================================== */

/* Pulse Animation Keyframes */
@keyframes pulse {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0);
  }
  50% {
    opacity: 0.3;
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(2);
  }
}

/* Spin Animation */
@keyframes spin {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(1turn);
  }
}

/* Wave Animation */
@keyframes move-forever {
  0% {
    transform: translate3d(-90px, 0, 0);
  }
  100% {
    transform: translate3d(85px, 0, 0);
  }
}

/* Scroll Parallax */
@scroll-timeline scroll-parallax {
  orientation: block;
  scroll-offsets: start 0, end 100%;
  source: auto;
}

.parallax-title-content {
  animation: linear parallax-shift;
  animation-timeline: scroll-parallax;
  will-change: transform;
}

@keyframes parallax-shift {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-30px);
  }
}

/* Raindrop Animation */
@keyframes raindrop {
  0% {
    height: 0;
    opacity: 0;
    top: -10%;
  }
  50% {
    opacity: 1;
  }
  100% {
    height: 35%;
    top: 100%;
  }
}

@keyframes raindrop-reverse {
  0% {
    bottom: -10%;
    height: 0;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    bottom: 100%;
    height: 35%;
  }
}

/* Marquee Animation */
@keyframes marquee-move-text {
  to {
    transform: translateX(-50%);
  }
}

/* Animated Text */
.animated-text-wrapper-l,
.animated-text-wrapper-r {
  height: 100%;
  left: 0;
  min-height: 120px;
  position: relative;
  top: auto;
  width: 100%;
  z-index: 10;
}

.animated-text-l,
.animated-text-r {
  display: flex;
  -moz-opacity: 1;
  -webkit-opacity: 1;
  opacity: 1;
  position: absolute;
  top: auto;
  white-space: nowrap;
}

.animated-text-l {
  animation: 30s linear infinite animated-text-animation-l;
  left: 50%;
}

.animated-text-r {
  animation: 30s linear infinite animated-text-animation-r;
  right: 50%;
}

.animated-text-l .animated-text-content-l,
.animated-text-r .animated-text-content-r {
  color: #5f5f5f;
  display: block;
  font-family: Montserrat, sans-serif;
  font-size: 120px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 100%;
  margin: -5px auto 0;
  position: relative;
  text-align: center !important;
  text-transform: uppercase;
  white-space: nowrap;
  width: 100%;
  z-index: 1;
}

@keyframes animated-text-animation-l {
  0% {
    transform: translate(-40%, 0);
  }
  100% {
    transform: translate(-60%, 0);
  }
}

@keyframes animated-text-animation-r {
  0% {
    transform: translate(40%, 0);
  }
  100% {
    transform: translate(60%, 0);
  }
}

.animated-text-content-l,
.animated-text-content-r {
  text-shadow: 3px 3px 3px #000000a6;
}

.animated-text-content-l span,
.animated-text-content-r span {
  text-shadow: 3px 3px 3px #ffffffa6;
  color: #5f5f5f;
}

.spanBackground {
  background-color: #5f5f5f;
  border-radius: 0 30px;
  color: #ffff !important;
  text-shadow: 3px 3px 3px #000000a6 !important;
}

/* Text Stroke Effects */
@supports ((text-stroke: 1px #5f5f5f) or (-webkit-text-stroke: 1px #5f5f5f)) {
  .animated-text-l .animated-text-content-l,
  .animated-text-r .animated-text-content-r {
    color: #fff;
  }
}

/* Fade Effect */
.fade {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}

.fade.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Hover Effects */
.hover-effect,
.hover-effect.the-team {
  background: #fff;
  -moz-opacity: 0;
  -webkit-opacity: 0;
  transition: 1s;
  inset: 40px;
  box-sizing: border-box;
  cursor: pointer;
  height: calc(100% - 80px);
  opacity: 0;
  position: absolute;
  width: calc(100% - 80px);
}

.hover-effect-img:hover .hover-effect {
  -moz-opacity: 0.85;
  -webkit-opacity: 0.85;
  opacity: 0.85;
  transition: 1s;
}

.hover-effect.the-team {
  border-radius: 50px 0;
  inset: 20px;
  box-sizing: border-box;
  cursor: default;
  height: calc(100% - 40px);
  opacity: 0;
  position: absolute;
  width: calc(100% - 40px);
}

/* ===========================================
   8. CONTENT SECTIONS
   =========================================== */

/* Stars */
.star-wrapper {
  color: #f3bf3d;
  display: inline-block;
  font-size: 16px;
  height: auto;
  max-width: 100%;
  z-index: 1;
  text-align: center !important;
  width: 100% !important;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  position: relative;
  right: 0;
}

/* Timeline */
.timeline-image {
  background: #fff;
  border: 20px solid #fff;
  border-radius: 100%;
  height: 400px;
  width: 400px !important;
  z-index: 100;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  position: relative;
  right: 0;
}

.intro-years {
  position: absolute;
  top: 50%;
  left: 50%;
  line-height: 1.5;
  margin-top: -8px;
  transform: translate(-50%, -50%);
  width: 80% !important;
  margin-left: auto;
  margin-right: auto;
}

.intro-years header2,
.intro-years header4 {
  color: #5f5f5f;
  font-family: Montserrat, sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.65em;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  z-index: 2;
}

.intro-years header2 {
  margin: 0 0 42px;
  padding-top: 35px;
}

.intro-years header4 {
  margin: 30px 0 0;
}

.intro-years header3 {
  color: #111;
  font-family: Montserrat, sans-serif;
  font-size: 105px;
  margin-top: -18px;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  line-height: 100%;
  z-index: 2;
}

/* Blog Elements */
.blog-tag {
  color: #5f5f5f;
  font-size: 13px;
  letter-spacing: 0.02em;
  margin: -5px auto;
  font-family: Montserrat, sans-serif;
  text-align: center;
  text-transform: uppercase;
  font-weight: 800;
}

.blog-tag.blog-tag-rooms {
  text-align: left;
}

.blog-tag.blog-tag-rooms span {
  font-size: 20px;
  padding-left: 20px;
}

.section-txt p:last-child {
  padding-top: 25px;
}

/* Post Styles */
.post-bg-all {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  height: auto;
  transition: 1s;
  width: 100%;
}

.half.post-bg-all {
  position: relative;
}

.all-bg-right {
  border-radius: 0 50px 0 0;
}

.all-bg-left {
  border-radius: 0 0 0 50px;
}

.post-all-txt {
  padding: 0 35px;
}

/* Image Captions */
.image-caption {
  background: rgb(0 0 0 / 70%);
  border-radius: 0 20px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  inset: unset;
  padding: 10px 20px;
  position: absolute;
  z-index: 5;
  bottom: 50px;
  right: 50px;
}

/* Team Box */
.team-box {
  background: #f7f7f7;
  border-radius: 0 20px 0 0;
  bottom: 0;
  color: #5f5f5f;
  font-family: Montserrat, sans-serif;
  font-size: 15px;
  font-weight: 800;
  left: 0;
  letter-spacing: -0.04em;
  line-height: 1.5;
  padding: 10px 15px;
  position: absolute;
  text-align: center;
  text-transform: uppercase;
}

.team-box span {
  color: #5f5f5f;
  display: block;
  font-family: Raleway, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
}

/* Hover Icons */
.hover-icons {
  animation-fill-mode: forwards;
  left: 15px;
  -moz-opacity: 0;
  -webkit-opacity: 0;
  opacity: 0;
  text-align: center;
  transform: translateY(-50%);
  transition: 0.35s ease-out;
  width: 100%;
  z-index: 1;
  position: absolute;
  top: 50%;
}

.hover-icons a {
  background: #5f5f5f;
  border: 1px solid #5f5f5f;
  border-radius: 50%;
  color: #fff;
  display: inline-block;
  font-size: 20px;
  height: 50px;
  line-height: 50px;
  margin: 0 4px;
  position: relative;
  text-decoration: none;
  transition: 0.35s ease-out;
  vertical-align: middle;
  width: 50px;
}

.hover-icons a.iw-slide-left {
  transform: translate3d(-60px, 0, 0);
}

.hover-icons a.iw-slide-right {
  transform: translate3d(60px, 0, 0);
}

.hover-effect-img:hover .hover-icons a {
  padding: 0;
  transform: translateZ(0) !important;
}

.hover-icons a:hover {
  background: #111;
  border: 1px solid #111;
  color: #fff;
}

.hover-effect-img:hover .hover-icons {
  -moz-opacity: 1;
  -webkit-opacity: 1;
  opacity: 1;
}

.hover-icons a i,
.hover-icons a::before {
  position: relative;
  z-index: 1;
}

.hover-effect-img {
  position: relative;
  z-index: 5 !important;
}

.hover-icons a:hover::after {
  background: #111;
}

/* ===========================================
   9. FORMS & MODALS
   =========================================== */

/* Modal Styles */
.modal-content,
.modal-dialog {
  display: flex;
  flex-direction: column;
  height: 100vh;
  justify-content: center;
  margin: 0 auto;
  max-height: 100vh;
}

.modal-body {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  padding: 0 !important;
}

.modal-body iframe {
  border: 0;
  display: block;
  height: 100%;
  min-height: 0;
  width: 100%;
}

/* Form Elements */
form {
  margin: 0;
  padding: 0;
}

textarea {
  border-bottom: 1px solid #111;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  padding: 5px;
  position: relative;
  text-align: center;
  width: 100%;
  transition: 0.5s linear;
  background: 0 0;
  border: none;
  font-family: Raleway, sans-serif;
  font-style: normal;
  height: 100px;
  margin: 5px;
}

/* Placeholder Styles */
::input-placeholder {
  color: #111;
  font-size: 12px;
}

::placeholder,
input:placeholder {
  color: #111;
  font-size: 12px;
}

input:focus::input-placeholder,
input:focus:input-placeholder,
input:focus:placeholder,
input:focus::placeholder {
  color: transparent;
}

textarea:focus::input-placeholder,
textarea:focus:input-placeholder,
textarea:focus:placeholder,
textarea:focus::placeholder {
  color: transparent;
}

/* Accordion/Panel Styles */
.panel-wrapper {
  background: 0 0;
  height: calc(100% + 300px);
  margin: -25px auto -45px 0;
  position: relative;
  width: 100%;
}

.panel-title {
  backface-visibility: hidden;
  color: #5f5f5f;
  font-size: 13px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.02em;
  line-height: 2;
  margin-left: -15px;
  padding: 0;
  position: relative;
  text-align: left;
  text-size-adjust: 100%;
  font-family: Montserrat, sans-serif;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}

.panel-group .panel {
  border-radius: 0;
  box-shadow: none;
  background: 0 0;
  border: none;
}

.panel-group .panel .panel-heading {
  background: 0 0;
  border: none;
}

.panel-group .panel .panel-heading header4 a {
  display: block;
  padding: 30px;
}

.panel-group .panel .panel-heading header4 a,
.panel-group .panel .panel-heading header4 a:hover,
.panel-group .panel .panel-heading header4 a:not(.collapsed) {
  background: 0 0;
  transition: 0.15s ease-in-out;
}

.panel-group .panel .panel-body {
  padding-top: 0;
}

.panel-group .panel .panel-heading + .panel-collapse > .list-group,
.panel-group .panel .panel-heading + .panel-collapse > .panel-body {
  background: 0 0;
  border-top: none;
  padding: 25px 0;
  text-align: center;
}

.panel-group .panel + .panel {
  border: none;
  margin-top: 0;
}

.panel-body p {
  color: #5f5f5f;
  text-align: left;
}

/* Icon Styles */
a.collapsed .icon-minus,
a:not(.collapsed) .icon-plus {
  display: none;
}

a.collapsed .icon-plus,
a:not(.collapsed) .icon-minus {
  display: inline-block;
}

.icon-minus,
.icon-plus {
  font-size: 1.5rem;
  -webkit-text-stroke: 1px currentcolor;
  text-stroke: 1px currentcolor;
  vertical-align: -0.15em;
}

.panel-heading i.icon-minus,
.panel-heading i.icon-plus {
  top: 50%;
  transition: opacity 0.2s;
}

a.collapsed i.icon-plus,
a:not(.collapsed) i.icon-minus {
  opacity: 1;
  animation: 0.4s spin;
}

a.collapsed i.icon-minus,
a:not(.collapsed) i.icon-plus {
  opacity: 0;
}

.panel-group .panel .panel-heading header4 a i {
  color: #5f5f5f;
  left: -15px;
  position: relative;
  text-align: center;
}


/* ===========================================
   9. COOKIE CONSENT
   =========================================== */
.wrapper {
  background: #fff;
  border-radius: 40px 0;
  bottom: 30px;
  box-shadow: 1px 7px 14px -5px rgb(5 5 5 / 46.6%);
  left: 30px;
  max-width: 365px;
  padding: 25px 25px 30px;
  position: fixed; /* Fixed statt absolute für bessere Sichtbarkeit */
  right: 30px;
  text-align: center;
  z-index: 999;
  
  /* Standard: versteckt */
  opacity: 0;
  transform: scale(0.8) translateY(100px);
  pointer-events: none;
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* Sichtbarer Zustand */
.wrapper.show {
  opacity: 1;
  transform: scale(1) translateY(0);
  pointer-events: all;
}

/* Versteckter Zustand (explizit) */
.wrapper.hide {
  opacity: 0;
  transform: scale(0.8) translateY(100px);
  pointer-events: none;
}

/* Responsive Anpassungen für Mobile */
@media (max-width: 480px) {
  .wrapper {
    left: 15px;
    right: 15px;
    max-width: none;
    bottom: 15px;
  }
}

/* Zusätzliche Styles für bessere Sichtbarkeit */
.wrapper {
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.content p {
  color: #555555;
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  line-height: 1.4;
  margin: 5px 0 20px;
}

.cookieitem{
  color: #555555 !important;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.content .buttons {
  align-items: center;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.buttons button {
  background: #5f5f5f;
  border: none;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  outline: 0;
  padding: 12px 20px;
  transition: all 0.3s ease;
  min-width: 100px;
}

.buttons button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(95, 95, 95, 0.3);
}

.buttons .greenColor {
  background: linear-gradient(135deg, #4CAF50, #45a049);
}

.buttons .greenColor:hover {
  box-shadow: 0 4px 12px rgba(76, 175, 80, 0.4);
}

.buttons .redColor {
  background: linear-gradient(135deg, #f44336, #d32f2f);
}

.buttons .redColor:hover {
  box-shadow: 0 4px 12px rgba(244, 67, 54, 0.4);
}

.buttons a {
  color: #5f5f5f;
  font-family: Montserrat, sans-serif;
  text-decoration: underline;
  font-size: 12px;
  transition: color 0.3s ease;
}

.buttons a:hover {
  color: #333;
}

/* ===========================================
   10. GALLERY & MEDIA
   =========================================== */

/* Gallery Images */
#gallery img {
  border-radius: 50px 0;
  object-fit: cover;
  height: 600px;
  width: 100%;
}

#gallery .swiper-slide video,
video.img-fluid {
  border-radius: 50px 0 !important;
  min-height: 75vh !important;
  object-fit: cover;
  width: 100%;
  height: auto;
}

/* Video Touch Events */
#gallery video {
  pointer-events: none;
  touch-action: none;
}

#gallery .glightbox {
  pointer-events: all;
  touch-action: manipulation;
}

.swiper-SuperFlow {
  touch-action: pan-y;
}

/* Lightbox Styles */
.ginner-container,
.glightbox-container .gslide-inner-content,
.goverlay {
  background-color: #ffffff73;
}

/* Swiper Styles */
.swiper {
  cursor: grab;
}

.swiper-nav-products,
.swiper-nav-team {
  height: 50px;
  margin: 0 auto;
  max-width: 114px;
  position: relative;
  text-align: center;
  width: 114px !important;
}

.swiper-button-next,
.swiper-button-prev {
  background: #5f5f5f;
  border: #5f5f5f;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  height: 50px;
  line-height: 50px;
  position: absolute;
  top: 0;
  transition: 0.4s ease-out;
  width: 50px;
  z-index: 10;
  left: 0;
}

.swiper-button-next {
  left: 60px;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  display: none;
  font-size: 16px;
}

.swiper-button-disabled {
  background: #ccc !important;
  color: #fff;
  cursor: default !important;
}

/* Carousel Specific Styles */
.carousel-img-item-all {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 50px 0;
  height: 100%;
  min-height: 650px;
  position: relative;
  width: 100%;
}

.swiper-products .carousel-img-item-all {
  border-radius: 50px 0;
}

/* Halves Layout */
.halves {
  box-direction: normal;
  box-orient: vertical;
  display: flex;
  flex-direction: column;
}

.halves:hover .post-bg-all {
  transition: 1s;
}

.halves .half {
  flex: none;
  min-height: 650px;
}

.half.half-color {
  background: #fff;
  min-height: 100px;
}

/* Gallery SuperFlow */
#gallery .swiper-SuperFlow {
  padding: 40px 0;
}

#gallery .swiper-SuperFlow .swiper-slide {
  opacity: 1 !important;
  transform: scale(0.85);
  transition: transform 0.6s;
}

#gallery .swiper-SuperFlow .swiper-slide.swiper-slide-active {
  opacity: 1;
  transform: scale(1);
  z-index: 100;
}

#gallery .swiper-slide img {
  border-radius: 50px 0 !important;
  min-height: 75vh !important;
}

.shadow {
  box-shadow: 0 20px 40px rgb(0 0 0 / 20%);
}

/* Google Maps */
#google-maps-wrapper {
  z-index: 2;
  height: 600px;
  width: 100%;
  bottom: -59px;
  filter: gray;
  filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='1.2 0.1 0.1 0 0 0.1 1.2 0.1 0 00.1 0.1 1.2 0 0 0   0   0   1 0'/></filter></svg>#grayscale");
  margin: -59px auto 0;
  overflow: hidden;
  position: relative;
}

.google-maps,
.google-maps iframe {
  height: 600px;
  width: 100%;
}

.google-maps iframe {
  position: relative;
  top: 0;
}

/* ===========================================
   11. TESTIMONIALS & PARALLAX
   =========================================== */

/* Testimonial Styles */
.testimonial {
  margin: -5px 0 -30px;
  position: relative;
  text-align: left;
}

.testimonial .inner {
  margin: 0 auto;
  padding: 0;
}

.testimonial blockquote {
  color: #5f5f5f;
  font-family: Montserrat, sans-serif;
  font-size: 35px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.75;
  margin-bottom: 25px;
  padding: 0;
  position: relative;
  z-index: 1;
}

.testimonial blockquote::before {
  color: hsl(0deg 0% 7% / 15%);
  content: "\201C";
  display: none;
  font-family: Georgia, serif;
  font-size: 165px;
  font-style: normal;
  left: 0;
  position: absolute;
  top: -90px;
  visibility: hidden;
  z-index: -10;
}

.testimonial.testimonial-2 {
  text-align: center !important;
  margin: -15px 0 -37px;
}

.testimonial.testimonial-2 .inner {
  margin: 0 auto;
  max-width: 1080px !important;
  padding: 0 50px;
}

.testimonial.testimonial-2 blockquote::before {
  color: hsl(0deg 0% 88% / 15%);
}

.testimonial.testimonial-2 blockquote {
  color: #fff !important;
  font-family: Montserrat, sans-serif;
  font-weight: 800;
  -webkit-text-stroke: unset !important;
}

.testimonial img {
  box-shadow: 0 0 10px rgb(0 0 0 / 15%);
  margin-top: 100px;
}

.testimonial-avatar {
  border-radius: 50%;
  height: 100px;
  object-fit: cover;
  width: 100px !important;
}

blockquote,
q {
  quotes: none;
}

.quote-inner a,
.quote-inner a:hover {
  color: #5f5f5f;
  text-decoration: none;
}

/* Parallax Styles */
.parallax {
  display: block;
  height: 100%;
  overflow: hidden;
  width: 100%;
  padding: 130px 0;
}

.parallax-all,
.parallax-title {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border: none;
  position: relative;
  z-index: 1;
}

.parallax-content .hero-heading,
.testimonial.testimonial-2 .quote .quote-inner {
  color: #e5e5e5;
}

@supports ((text-stroke: 1px #e5e5e5) or (-webkit-text-stroke: 1px #e5e5e5)) {
  .parallax-content .hero-heading span {
    color: #fff0;
    text-shadow: none;
    -webkit-text-stroke: 1px #e5e5e5;
  }
}

.parallax-overlay-video-testimonials {
  height: 100vh;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
  background: rgb(0 0 0 / 30%);
}

.swiper-testimonials .swiper-slide {
  display: block;
}

/* Parallax Title */
.parallax-title video {
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.parallax-title-content {
  background: #fff;
  color: #2e2e2e;
  font-family: Montserrat, sans-serif;
  font-size: 160px;
  font-weight: 900;
  letter-spacing: -0.08em;
  line-height: 1;
  margin: -20px auto -6px;
  mix-blend-mode: lighten;
  overflow: hidden;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  z-index: 0;
}

.byJasmin {
  border: 5px solid #000;
  box-sizing: border-box;
}

/* ===========================================
   12. VERTICAL LINES & EFFECTS
   =========================================== */

.vertical-lines-wrapper {
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  margin: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}

.vertical-lines {
  height: 100%;
  opacity: 1;
  display: flex;
  width: 100%;
}

.vertical-effect {
  border-right: 1px solid rgba(119, 119, 119, 0.2);
  box-sizing: border-box;
  height: 100%;
  position: relative;
  width: 25%;
  flex: 1;
}

.vertical-effect::before {
  content: "";
  display: block;
  position: absolute;
  width: 3px;
  height: 0;
  background: transparent;
  z-index: 2;
  will-change: height, opacity, top, bottom;
  transform: translateZ(0);
}

.vertical-effect:first-child::before {
  animation: raindrop 6s ease-out infinite;
  background: linear-gradient(to bottom, 
    rgba(138, 135, 122, 0) 0%, 
    rgba(138, 135, 122, 1) 50%, 
    rgba(138, 135, 122, 0) 100%);
  top: 0;
  right: -2px;
  animation-delay: 0s;
}

.vertical-effect:last-child::before {
  animation: raindrop-reverse 6s ease-out infinite;
  background: linear-gradient(to top, 
    rgba(138, 135, 122, 0) 0%, 
    rgba(138, 135, 122, 1) 50%, 
    rgba(138, 135, 122, 0) 100%);
  bottom: 0;
  left: -2px;
  animation-delay: 0s;
}

.vertical-effect:nth-child(2)::before,
.vertical-effect:nth-child(3)::before {
  display: none;
}

/* ===========================================
   13. MENU & ISOTOPE
   =========================================== */

/* Menu Styles */
.menu .menu-filters {
  border-radius: 50px;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  text-align: center;
}

.menu .menu-filters li {
  color: var(--default-color);
  cursor: pointer;
  display: inline-block;
  font-family: var(--heading-font);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 10px;
  padding: 8px 12px 10px;
  transition: 0.3s ease-in-out;
}

.menu .menu-content a:hover,
.menu .menu-filters li.filter-active,
.menu .menu-filters li:hover {
  color: var(--accent-color);
}

.menu .menu-filters li:last-child {
  margin-right: 0;
}

.menu .menu-item {
  margin-top: 50px;
  position: relative;
}

.menu .menu-content,
.menu .menu-ingredientsPrices {
  align-items: center;
  display: flex;
  gap: 8px;
}

.menu .menu-content p,
.menu .menu-ingredientsPrices p {
  background: var(--background-color);
  margin: 0;
  white-space: nowrap;
  z-index: 2;
}

.menu .menu-content .menu-dots,
.menu .menu-ingredientsPrices .menu-dots {
  border-bottom: 2px dotted;
  flex-grow: 1;
  height: 1em;
  position: relative;
  top: -1px;
}

.menu .menu-content span,
.menu .menu-ingredientsPrices span {
  background: var(--background-color);
  color: var(--accent-color);
  font-weight: 600;
  padding: 0 10px;
  position: relative;
  white-space: nowrap;
  z-index: 3;
}

.menu .menu-ingredients,
.menu .menu-ingredientsPrices {
  color: color-mix(in srgb, var(--default-color), transparent 50%);
  font-family: var(--nav-font);
  font-size: 14px;
  font-style: italic;
}

/* Isotope Filters */
.isotope-item {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}

.isotope-item.hidden {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.85);
}

.btn.btn-link,
.btn.btn-link:focus,
.btn.btn-link:hover {
  color: #5f5f5f;
  text-decoration: none;
}

#menu button {
  text-transform: none !important;
}

/* ===========================================
   14. PRELOADER
   =========================================== */

#preloader {
  align-items: center;
  background: #fff;
  display: flex;
  inset: 0;
  justify-content: center;
  opacity: 1;
  position: fixed;
  transition: opacity 0.4s ease-out;
  z-index: 9999;
  pointer-events: none;
}

#preloader.fade-out {
  opacity: 0;
}

.loader {
  aspect-ratio: 1;
  position: relative;
  width: 65px;
}

.loader::after,
.loader::before {
  animation: 2.5s infinite l4;
  border-radius: 50px;
  box-shadow: 0 0 0 3px inset #5f5f5f;
  content: "";
  position: absolute;
}

.loader::after {
  animation-delay: -1.25s;
}

@keyframes l4 {
  0%,
  100% {
    inset: 0 35px 35px 0;
  }
  12.5% {
    inset: 0 35px 0 0;
  }
  25% {
    inset: 35px 35px 0 0;
  }
  37.5% {
    inset: 35px 0 0;
  }
  50% {
    inset: 35px 0 0 35px;
  }
  62.5% {
    inset: 0 0 0 35px;
  }
  75% {
    inset: 0 0 35px 35px;
  }
  87.5% {
    inset: 0 0 35px;
  }
}

/* ===========================================
   15. UTILITIES
   =========================================== */

.noclick {
  color: inherit;
  cursor: default;
  text-decoration: none;
  pointer-events: none;
}

.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  white-space: nowrap;
  width: 1px;
}

.hide-on-mobile {
  display: none;
}

/* Marquee Text */
.marquee-text {
  overflow: clip;
}

.marquee-text-track-left {
  animation: marquee-move-text var(--speed, 16s) linear infinite
    var(--direction, forwards);
}

.marquee-text-track-left,
.marquee-text-track-right {
  display: flex;
  gap: 4.8rem;
  padding-left: 4.8rem;
  width: max-content;
}

.marquee-text-track-right {
  animation: marquee-move-text var(--speed, 16s) linear infinite
    var(--direction, reverse);
}

.marquee-text .color,
.marquee-text header1 {
  font-weight: 900;
  padding: 1rem 2.5rem;
  text-transform: uppercase;
}

.marquee-text .color {
  background-color: #5f5f5f;
  border-radius: 0 40px;
  color: #fff;
}

.fadeout-horizontal {
  mask-image: linear-gradient(
    to right,
    transparent,
    #000 var(--fade-size, 5rem),
    #000 calc(100% - var(--fade-size, 5rem)),
    transparent
  );
}

/* ===========================================
   16. RESPONSIVE DESIGN
   =========================================== */

/* Large Screens (1920px+) */
@media (width >= 1920px) {
  .hero-heading,
  header2.hero-heading {
    font-size: 4.0625rem;
    margin: -8px auto 0;
  }
  
  header2.hero-heading {
    margin: -8px auto -9px;
  }

  .dots-reverse {
    margin-left: 180px;
  }

  .divider-l,
  .the-line {
    height: 90px;
  }

  .divider-l-2 {
    height: 31px;
  }

  header2.section-heading span {
    margin-right: 35px;
    padding-right: 105px;
  }

  header2.section-heading span::before,
  header2.section-heading span::after {
    width: 70px;
  }

  .hero-heading {
    font-size: 65px;
    margin: -8px auto 0;
  }

  header2.hero-heading {
    font-size: 65px;
    margin: -8px auto -9px;
  }

  .parallax {
    padding: 140px 0;
  }

  .testimonial.testimonial-2 .inner {
    max-width: 1180px !important;
    padding: 0 20px;
  }

  .parallax-title-content {
    font-size: 310px;
    margin: -26px auto -6px;
  }

  .post-all-txt {
    padding: 0 150px;
  }

  .animated-text-wrapper-l,
  .animated-text-wrapper-r {
    min-height: 220px;
  }

  .animated-text-l .animated-text-content-l,
  .animated-text-r .animated-text-content-r {
    font-size: 220px;
    margin: -10px auto 0;
  }
}

/* Large Screens Breakpoint */
@media (width >= 1200px) {
  .extra-margin-container {
    margin-left: 0;
    margin-right: 0;
  }

  .dots-reverse {
    margin-left: 150px;
  }
}

/* Desktop */
@media only screen and (width >= 1024px) {
  .hover-icons {
    left: 10px;
  }
}

/* Medium Screens */
@media only screen and (width <= 1200px) {
  .extra-margin-container {
    margin-left: 0;
    margin-right: 0;
  }

  .extra-margin-container.extra-margin-container-post {
    margin-left: -10px;
    margin-right: -10px;
  }

  .testimonial.testimonial-2 .inner {
    max-width: 940px !important;
    padding: 0;
  }

  .panel-title {
    font-size: 14px;
  }

  .parallax-title-content {
    font-size: 115px;
    margin: -12px auto -3px;
  }

  .post-all-txt {
    padding: 0 50px;
  }

  .testimonial.testimonial-2 .inner {
    max-width: inherit !important;
    padding: 0 30px;
  }

  .animated-text-wrapper-l,
  .animated-text-wrapper-r {
    min-height: 120px;
  }

  .animated-text-l .animated-text-content-l,
  .animated-text-r .animated-text-content-r {
    font-size: 120px;
    margin: -5px auto 0;
  }
}

/* Tablet Landscape */
@media only screen and (width <= 1024px) {
  .parallax-title-content {
    font-size: 85px;
    letter-spacing: -0.04em;
    margin: -9px auto -2px;
  }
}

/* Tablet & Below */
@media (width <= 995px) {
  .hero-heading,
  header2.hero-heading {
    font-size: 2.8125rem;
    margin: -6px auto 0;
  }
  
  header2.hero-heading {
    margin: -6px auto;
  }

  .navbar-bg-switch {
    padding-top: 8px;
  }

  .logo {
    padding-top: 8px;
    transition: padding 0.5s;
  }

  .navbar-nav .nav-link {
    color: #111 !important;
    font-size: 11px;
    padding: 10px 15px;
  }

  .navbar-bg-switch.scrolled .navbar-nav .nav-link,
  .navbar-bg-switch.menu-open .navbar-nav .nav-link {
    color: #111;
  }

  header2 {
    font-size: 35px;
    margin: -4px auto 5px;
  }

  .extra-margin-container {
    margin-left: -30px;
    margin-right: -30px;
  }

  .extra-margin-container.extra-margin-container-post {
    margin-left: -25px;
    margin-right: -25px;
  }

  .divider-l,
  .the-line {
    height: 70px;
  }

  .divider-l-2 {
    height: 71px;
  }

  header2.section-heading span {
    margin-right: 25px;
    padding-right: 75px;
  }

  header2.section-heading span::before,
  header2.section-heading span::after {
    width: 50px;
  }

  .hero-heading {
    font-size: 45px;
    margin: -6px auto 0;
  }

  header2.hero-heading {
    font-size: 45px;
    margin: -6px auto;
  }

  .testimonial.testimonial-2 .inner {
    padding: 0 25px;
  }

  .testimonial blockquote {
    font-size: 30px;
  }

  .testimonial {
    margin: -10px 0 -30px;
  }

  .testimonial.testimonial-2 .inner {
    padding: 0 50px;
  }

  .to-top-arrow {
    right: 80px;
  }

  .to-top-arrow.show {
    bottom: 60px;
  }

  .book-circle {
    right: 80px;
  }

  .book-circle.show {
    bottom: 120px;
  }

  .carousel-img-item-all {
    min-height: 650px;
  }

  .more-button-txt-center {
    font-size: 12px;
    letter-spacing: -0.02em;
  }

  .testimonial.testimonial-2 {
    text-align: center !important;
  }

  .parallax-title-content {
    letter-spacing: -0.04em;
  }

  .marquee-text-track-left,
  .marquee-text-track-right {
    gap: 0 !important;
  }

  .fadeout-horizontal {
    mask-image: linear-gradient(
      to right,
      transparent,
      #000 var(--fade-size, 1rem),
      #000 calc(100% - var(--fade-size, 1rem)),
      transparent
    );
  }

  .animated-text-wrapper-l,
  .animated-text-wrapper-r {
    min-height: 70px;
  }

  .animated-text-l .animated-text-content-l,
  .animated-text-r .animated-text-content-r {
    font-size: 70px;
    margin: -5px auto 0;
  }
}

/* Mobile Landscape */
@media (width <= 991px) {
  .about {
    display: flex;
    flex-direction: column;
    min-height: auto;
  }

  .left,
  .right {
    border-radius: 0;
    height: auto;
    position: relative;
    transform: none;
    width: 100%;
  }

  .right {
    height: 50vh;
    order: -1;
  }

  .left {
    order: 2;
    padding: 2rem 1.5rem;
  }

  .about-bg-1 {
    min-height: 580px;
  }

  .halves {
    flex-direction: column;
  }

  .halves .post-bg-all {
    order: 1;
  }

  .halves .half-color {
    order: 2;
  }

  #preloader.fade-out {
    opacity: 0;
  }


}

@media (width >= 991.98px) {
  .book-circle {
    display: none;
  }
}

/* Mobile Portrait */
@media only screen and (width <= 880px) {
  .nopadding {
    margin: 0 !important;
    padding: 0 !important;
  }

  .extra-margin-container {
    margin-left: 10px;
    margin-right: 10px;
  }

  .extra-margin-container.extra-margin-container-post {
    margin-left: -30px;
    margin-right: -30px;
  }

  .hero-subheading span {
    margin-right: 20px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .hero-subheading span::after,
  .hero-subheading span::before {
    width: 15px;
  }

  .hero-subheading span {
    margin-right: 20px;
    padding-right: 40px;
  }

  .hero-subheading span::before {
    width: 20px;
  }

  .hover-icons {
    left: 5px;
  }

  .hover-effect {
    inset: 15px;
    height: calc(100% - 30px);
    width: calc(100% - 30px);
  }

  .hover-effect.the-team {
    inset: 15px;
    height: calc(100% - 30px);
    width: calc(100% - 30px);
  }

  .team-box {
    padding: 5px 10px;
  }

  .parallax {
    padding: 120px 0;
  }

  .testimonial.testimonial-2 .inner {
    padding: 0 15px;
  }

  .testimonial blockquote {
    font-size: 25px;
  }

  .testimonial.testimonial-2 .inner {
    padding: 0 80px;
  }

  .testimonial.testimonial-2 .inner {
    padding: 0 50px;
  }

  .to-top-arrow {
    right: 30px;
  }

  .to-top-arrow.show {
    bottom: -5px;
  }

  .book-circle {
    right: 30px;
  }

  .book-circle.show {
    bottom: 60px;
  }

  .parallax-title-content {
    font-size: 85px;
    margin: -9px auto -2px;
  }

  .post-all-txt {
    padding: 0 50px;
  }
}

/* Small Tablets */
@media only screen and (width <= 768px) {
  header2 {
    margin: -4px auto 5px;
  }

  .dots,
  .dots-reverse {
    display: none;
    visibility: hidden;
  }

  .extra-margin-container {
    margin-left: 5px;
    margin-right: 5px;
  }

  .extra-margin-container.extra-margin-container-post {
    margin-left: 5px;
    margin-right: 5px;
  }

  header2.section-heading span {
    margin-right: 10px;
    padding-right: 60px;
  }

  header2.section-heading span::before {
    width: 20px;
  }

  header2.hero-heading {
    margin: -7px auto -3px;
  }

  header1.hero-heading.hero-heading-home {
    margin: -7px auto 5px;
  }

  .image-caption {
    bottom: 20px;
    right: 20px;
  }

  .post-all-txt,
  .testimonial.testimonial-2 .inner {
    padding: 0 20px;
  }

  .testimonial blockquote::before {
    font-size: 135px;
    top: -70px;
  }

  .book-circle,
  .to-top-arrow {
    right: 15px;
  }

  .waves {
    height: 40px;
    min-height: 40px;
  }

  header2.section-heading span::before {
    width: 40px;
  }

  .animated-text-wrapper-l,
  .animated-text-wrapper-r {
    min-height: 60px;
  }

  .animated-text-l .animated-text-content-l,
  .animated-text-r .animated-text-content-r {
    font-size: 60px;
    margin: -3px auto 0;
  }
}

/* Small Mobile */
@media only screen and (width <= 640px) {
  .extra-margin-container {
    margin-left: 5px;
    margin-right: 5px;
  }

  .hover-icons {
    left: 0;
  }

  .parallax-title-content {
    font-size: 65px;
    margin: -7px auto 0;
  }
}

/* Gallery Mobile */
@media (width <= 575.98px) {
  #gallery img {
    height: 300px;
  }
}

/* Hide on Mobile Utility */
@media (width >= 768px) {
  .hide-on-mobile {
    display: block;
  }
}

/* Vertical Lines Mobile */
@media (max-width: 768px) {
  .vertical-effect::before {
    width: 2px;
  }
  
  .vertical-lines-wrapper {
    z-index: 1;
  }
}
.myinputfield{
  background-color: transparent;
  border: none;
}