:root {
  --customRed: #ac302d;
  --customBlack: #192937;
  --bodyColor: #f6f4f0;
  --customDarkGray: #6e7177;
  --customLightGray: #c6c5c6;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--bodyColor) !important;
}

.main-header,
.sticky-header {
  background-color: var(--bodyColor) !important;
}

.main-header .header-top {
  background-color: var(--customBlack) !important;
}

.main-header .header-upper .menu-area .navigation a {
  color: var(--customBlack) !important;
}

.sticky-header .menu-area .navigation a {
  color: var(--customBlack) !important;
}

.main-header .header-upper .menu-area .navigation a:hover {
  color: var(--customRed) !important;
}

.sticky-header .menu-area .navigation a:hover {
  color: var(--customRed) !important;
}

.main-header .menu-right-content .info-box .box h5 {
  color: var(--customBlack) !important;
}

.main-header .menu-right-content .info-box .box span {
  color: var(--darkGrey) !important;
}

.main-header .menu-right-content .info-box .box h5 {
  line-height: 50px !important;
}

.main-header .menu-right-content .info-box .box h5 a:hover {
  color: var(--customRed);
}

.main-header.style-one .header-top .top-right .social-links li a:hover {
  color: var(--customRed) !important;
}

.banner-carousel .slide-item.bg-left::before {
  background: linear-gradient(0deg, #ac302dd6, rgb(53 6 3 / 0) 100%) !important;
}

.theme-btn {
  background: linear-gradient(90deg, #8d2826, var(--customRed) 50%);
}

.banner-carousel .content-box h6::before {
  background: var(--customRed);
}

.sec-title h6 {
  color: var(--customRed) !important;
}

.sec-title h2 {
  color: var(--customBlack) !important;
}

#content_block_one .content-box .text p {
  color: var(--customDarkGray) !important;
}

#image_block_one .image-box .image-2::before {
  background: var(--customRed) !important;
}

#content_block_one .content-box h4 a {
  color: var(--customRed) !important;
}

.counter-block-one .inner-box {
  background: var(--customRed) !important;
}

.counter-block-one:nth-child(2) .inner-box {
  background: #f6f6f6 !important;
}

.counter-block-one:nth-child(2) .inner-box .count-outer span,
.counter-block-one:nth-child(2) .inner-box h3 {
  color: var(--customBlack) !important;
}

.counter-block-one:nth-child(3) .inner-box {
  background: #111b24 !important;
}

.counter-block-one:nth-child(4) .inner-box {
  background: var(--customLightGray) !important;
}

.bg-color-1 {
  background: var(--customBlack) !important;
}

.sec-title.light h2 {
  color: var(--bodyColor) !important;
}

.service-block-one .inner-box {
  border: 2px solid var(--customDarkGray);
}

.service-block-one .inner-box .lower-content h3 a {
  color: var(--bodyColor) !important;
}

.service-block-one .inner-box .lower-content p {
  color: var(--customDarkGray) !important;
}

.chooseus-section .inner-content .single-item .content-box h4 {
  color: var(--customBlack) !important;
}

.chooseus-section .inner-content .single-item .overlay-box p {
  color: var(--customBlack) !important;
}

.project-block-one .inner-box .lower-content .box h3 a:hover {
  color: var(--customRed) !important;
}

.project-block-one .inner-box .lower-content .view-btn a {
  background: var(--customRed) !important;
}

.working-section::before {
  background: var(--customBlack) !important;
}

.working-block-one .inner-box .icon-box .icon::before {
  background: var(--customRed) !important;
}

.working-block-one .inner-box .icon-box .count-box {
  background: var(--customRed) !important;
}

.working-block-one::before {
  color: var(--customRed) !important;
}

h3 a:hover {
  color: var(--customRed) !important;
}

.repair-section .single-item .inner-box .content-box .icon-box {
  color: var(--customRed) !important;
}

.repair-section .single-item .inner-box .content-box h3 a {
  font-size: 18px !important;
}

.main-footer.style-two::before {
  background: var(--customBlack) !important;
}

.main-footer.style-two
  .widget-section
  .links-widget
  .widget-content
  ul
  li
  a:hover {
  color: var(--customRed) !important;
}

.main-footer.style-two
  .widget-section
  .links-widget
  .widget-content
  ul
  li
  a::before {
  color: var(--customRed) !important;
}

.main-footer.style-two .footer-bottom .copyright p a:hover {
  color: var(--customRed) !important;
}

.scroll-top:hover {
  background: var(--customRed) !important;
}

.scroll-top::before {
  background: var(--customRed) !important;
}

.mobile-menu .menu-box {
  background: var(--customBlack) !important;
}

input {
  width: 100%;
  padding: 10px;
}

.main-header .sticky-header .logo-box {
  width: 150px;
  height: 100px;
  line-height: 100px;
}

.main-header .sticky-header .logo-box::before {
  width: 150px;
  height: 150px;
}

#content_block_seven .default-form .form-group::before {
  display: none;
}

#content_block_seven .default-form .form-group input[type="email"],
#content_block_seven .default-form .form-group input[type="text"],
#content_block_seven .default-form .form-group textarea {
  padding: 10px !important;
}

.contact-section form input::placeholder {
  color: #5a5a68 !important;
  font-size: 17px !important;
  font-weight: 500 !important;
}

.main-header .sticky-header .logo-box::after {
  width: calc(150px - 10px);
  height: calc(150px - 10px);
}

.input-checkbox {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
}

.input-checkbox input[type="checkbox"] {
  width: unset !important;
}

.input-checkbox label {
  margin-bottom: unset !important;
}

.input-checkbox label a {
  color: var(--customBlack) !important;
}

.input-checkbox label a:hover {
  color: var(--customRed) !important;
}

.main-footer.style-two
  .widget-section
  .contact-widget
  .widget-content
  .single-column {
  width: 45% !important;
}
.main-footer.style-two
  .widget-section
  .contact-widget
  .widget-content
  .single-column:last-child {
  width: 55% !important;
}

.main-footer.style-two .widget-section .about-widget .widget-content a:hover {
  color: var(--customRed) !important;
}

.main-footer.style-two
  .widget-section
  .contact-widget
  .widget-content
  .single-column
  .info-list
  li
  p
  a:hover {
  color: var(--customRed);
}

.main-footer.style-two .footer-bottom .footer-nav li a:hover {
  color: var(--customRed) !important;
}

/* The sliding panel you actually animate */
.mobile-menu {
  transition:
    transform 0.4s ease,
    opacity 0.4s ease;
  transform: translateX(100%);
  opacity: 0;
  pointer-events: none;
}

/* Visible state (current behavior) */
.boxed_wrapper.mobile-menu-visible .mobile-menu {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}

/* Exit phase: animate out smoothly before removing the class */
.boxed_wrapper.mobile-menu-visible.mobile-menu-exiting .mobile-menu {
  transform: translateX(100%);
  opacity: 0;
  pointer-events: none;
}

.preloader-close {
  display: none !important;
}

.service-block:last-child {
  margin-left: auto !important;
  margin-right: auto !important;
}

.google-business-img {
  width: 80px;
  margin: 15px 0 0 0;
}

.grecaptcha-badge {
  visibility: hidden !important;
}

.scroll-top.open {
  bottom: 60px !important;
}

.repair-section .single-item .inner-box .content-box:first-child {
  padding: 38px 37px 30px 40px;
}

.counter-block-one .inner-box .count-outer span {
  font-size: 50px !important;
}

.repair-section .single-item .inner-box .content-box h5 a {
  font-size: 16px !important;
}

.main-footer.style-two .widget-section {
  gap: 100px;
  display: flex;
  flex-direction: column;
  padding: 95px 0 10px 0;
}

.area p {
  position: relative !important;
  font-size: 18px !important;
  color: #b0b0bd !important;
  font-weight: 500 !important;
}

.repair-section .single-item .inner-box .content-box h5 a:hover {
  color: var(--customRed) !important;
}

.banner-carousel .content-box p {
  font-size: 22px !important;
}

.banner-carousel .content-box h1 {
  width: 90% !important;
}

.working-section .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.banner-carousel .slide-item::before {
  height: 115% !important;
}

.banner-carousel .slide-item .image-layer {
  transition: all 3s linear;
  height: 130% !important;
}

.mobile-menu .nav-logo {
  text-align: center !important;
}

.header-upper {
  height: 110px;
}

.main-header .outer-box {
  margin-top: 10px !important;
}

/* wrapper */
.pp {
  --pp-gap: 1rem;
  padding: 80px 0 100px 0;
}

.pp__inner.row,
.pp__inner {
  padding: 0 15px;
}

/* headings */
.pp__title {
  margin: 2.5rem 0 1rem;
  font-size: clamp(1.25rem, 1.1vw + 1rem, 1.75rem);
}
.pp__subtitle {
  margin: 1.75rem 0 0.5rem;
  font-size: clamp(1.05rem, 0.9vw + 0.9rem, 1.25rem);
}
.pp__question {
  margin: 1.25rem 0 0.25rem;
  font-weight: 600;
}

/* text blocks */
.pp__text {
  line-height: 1.7;
  margin: 0.5rem 0 1rem;
}

.pp__text--legal {
  font-size: 0.95em;
  letter-spacing: 0.02em;
}

/* address + contact */
.pp__address {
  font-style: normal;
  line-height: 1.6;
  margin: 0.5rem 0 1rem;
}

.pp__contact-label {
  display: inline-block;
  color: #666;
  font-weight: 700;
}

.pp__contact-value {
  font-weight: 500;
}

/* links */
.pp__link {
  text-decoration: underline;
  word-break: break-all;
}

.link-break {
  word-break: break-word;
}

/* sections */
.pp__section {
  border-top: 1px solid #eee;
}

.pp__section:first-of-type {
  border-top: 0;
}

#pp-1-allgemeine-hinweise .pp__subtitle {
  margin: 0 !important;
}

#pp-1-datenerfassung .pp__subtitle {
  margin: 0 !important;
}

.pp__text a {
  color: var(--customRed);
}

/* optional: anchor offset for fixed headers */
[id^="pp-"] {
  scroll-margin-top: 96px;
}

@media (max-width: 1200px) {
  .main-header.style-one .header-upper .outer-box .logo-box img {
    padding: 0px 10px;
  }
  .header-upper {
    height: auto !important;
  }

  .main-header .outer-box {
    margin-top: 0 !important;
  }
}

@media (max-width: 992px) {
  .header-upper {
    height: auto !important;
  }

  .main-header .outer-box {
    margin-top: 0 !important;
  }
}

@media (max-width: 980px) {
  .main-footer.style-two .widget-section {
    gap: 20px;
  }
  .area p {
    text-align: center;
  }
}

@media only screen and (width <= 700px) {
  .sec-title h2 br {
    display: block !important;
  }

  .banner-carousel .content-box h1,
  .banner-section.style-two .banner-carousel .content-box h1 {
    font-size: 45px !important;
    line-height: 50px !important;
  }
}

@media (max-width: 500px) {
  .main-footer.style-two
    .widget-section
    .contact-widget
    .widget-content
    .single-column:last-child {
    width: 100% !important;
  }
  .main-header.style-one .header-upper .outer-box .logo-box {
    width: 200px !important;
    line-height: 100px;
  }

  .service-section .sec-title h2 {
    font-size: 30px;
  }

  .datenschutzerklaerung .sec-title.light h2 {
    font-size: 28px;
  }

  .pp {
    padding: 40px 0 40px 0;
  }

  .main-footer.style-two
    .widget-section
    .contact-widget
    .widget-content
    .single-column {
    width: 100% !important;
  }
}
