 /* =========================================
   GERMAN DROPDOWN — BLACK / WHITE / RED
   ========================================= */

 .navigation .nav-menus-wrapper .nav-menu>.german-menu-item {
   position: relative;
 }

 .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu {
   box-sizing: border-box;
   background: #000 !important;
   border: 0 !important;
   border-radius: 0 !important;
   box-shadow: 0 14px 30px rgba(0, 0, 0, .25);
   scrollbar-width: thin;
   scrollbar-color: #444 #000;
 }

 .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu>li {
   box-sizing: border-box;
   float: none;
   width: 100%;
   min-width: 0;
   margin: 0;
   padding: 0;
   background: #000 !important;
   border: 0 !important;
 }

 .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu>li>a {
   box-sizing: border-box;
   display: flex !important;
   align-items: center;
   gap: 0;
   width: 100%;
   margin: 0;
   color: #fff !important;
   background: #000 !important;
   border: 0 !important;
   font-size: 14px;
   font-weight: 600;
   line-height: 1.4;
   letter-spacing: -.3px;
   text-transform: none;
   text-decoration: none;
   white-space: normal;
   overflow-wrap: anywhere;
   transition: background .2s ease;
 }

 .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu>li>a:hover,
 .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu>li>a:focus-visible {
   color: #fff !important;
   background: #151515 !important;
 }

 .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu>.german-menu-heading {
   box-sizing: border-box;
   color: #ff1010 !important;
   background: #000 !important;
   border: 0 !important;
   font-size: 12px !important;
   font-weight: 400 !important;
   line-height: 1.4;
   letter-spacing: 1.6px;
   text-transform: none;
   pointer-events: none;
 }

 /* Plain text links, as shown in the reference */
 .navigation .german-mega-menu .menu-icon,
 .navigation .german-mega-menu .level-dot {
   display: none !important;
 }

 .navigation .german-mega-menu::-webkit-scrollbar {
   width: 4px;
 }

 .navigation .german-mega-menu::-webkit-scrollbar-track {
   background: #000;
 }

 .navigation .german-mega-menu::-webkit-scrollbar-thumb {
   background: #444;
   border-radius: 6px;
 }

 /* =========================================
   DESKTOP DROPDOWN
   ========================================= */

 @media (min-width: 992px) {
   .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu {
     width: 350px;
     min-width: 0;
     max-width: calc(100vw - 32px);
     max-height: calc(100vh - 140px);
     max-height: calc(100dvh - 140px);
     padding: 8px 0 10px;
     overflow-x: hidden;
     overflow-y: auto;
     overscroll-behavior: contain;
   }

   .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu>li>a {
     min-height: 45px;
     padding: 11px 24px !important;
   }

   .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu>.german-menu-heading {
     padding: 17px 24px 3px !important;
   }
 }

 /* Compact spacing on shorter desktop screens */
 @media (min-width: 992px) and (max-height: 700px) {
   .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu>li>a {
     min-height: 36px;
     padding: 8px 24px !important;
     font-size: 13px;
   }

   .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu>.german-menu-heading {
     padding: 12px 24px 3px !important;
     font-size: 11px !important;
   }
 }

 /* =========================================
   MOBILE ACCORDION
   ========================================= */

 @media (max-width: 991px) {
   .navigation .nav-menus-wrapper {
     box-sizing: border-box;
     max-width: 100vw;
     height: 100vh;
     height: 100dvh;
     overflow-x: hidden;
     overflow-y: auto;
     overscroll-behavior: contain;
   }

   .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu {
     position: static !important;
     width: 100% !important;
     min-width: 0 !important;
     max-width: 100%;
     max-height: none;
     padding: 6px 0 10px !important;
     box-shadow: none;
     overflow: visible;
   }

   .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu>li>a {
     min-height: 42px;
     padding: 10px 24px !important;
     font-size: 14px !important;
   }

   .navigation .nav-menus-wrapper .nav-menu>.german-menu-item>.german-mega-menu>.german-menu-heading {
     padding: 14px 24px 3px !important;
     font-size: 11px !important;
     letter-spacing: 1.4px;
   }
 }

 /* =========================================
   CONSULTATION POPUP
   ========================================= */

 .delta-consultation-popup {
   box-sizing: border-box;
   position: fixed;
   inset: 0;
   width: min(480px, calc(100% - 32px));
   max-height: calc(100vh - 32px);
   max-height: calc(100dvh - 32px);
   margin: auto;
   padding: 36px 28px 28px;
   border: 0;
   border-radius: 16px;
   background: #fff;
   color: #212529;
   overflow-x: hidden;
   overflow-y: auto;
   box-shadow: 0 20px 70px rgba(0, 0, 0, .25);
 }

 .delta-consultation-popup::backdrop {
   background: rgba(0, 0, 0, .65);
 }

 .delta-consultation-close {
   position: absolute;
   top: 8px;
   right: 12px;
   display: grid;
   place-items: center;
   width: 40px;
   height: 40px;
   padding: 0;
   border: 0;
   background: transparent;
   color: #333;
   font-size: 30px;
   line-height: 1;
   cursor: pointer;
 }

 .delta-consultation-close:focus-visible {
   outline: 2px solid #e30613;
   outline-offset: 2px;
 }

 .delta-consultation-popup h2 {
   margin: 0 24px 12px 0;
   font-size: 25px;
   line-height: 1.3;
 }

 .delta-consultation-popup p {
   margin: 0 0 24px;
   font-size: 14px;
   line-height: 1.7;
   color: #666;
 }

 .delta-consultation-form {
   display: grid;
   gap: 10px;
 }

 .delta-consultation-form label {
   margin: 0;
   font-size: 14px;
   font-weight: 600;
 }

 .delta-consultation-form input {
   box-sizing: border-box;
   width: 100%;
   min-width: 0;
   height: 48px;
   margin-bottom: 8px;
   padding: 0 14px;
   border: 1px solid #ddd;
   border-radius: 8px;
   background: #fff;
   color: #212529;
   font: inherit;
   font-size: 16px;
 }

 .delta-consultation-form input:focus {
   border-color: #e30613;
   outline: 2px solid rgba(227, 6, 19, .15);
   outline-offset: 2px;
 }

 .delta-consultation-form .main-btn {
   box-sizing: border-box;
   width: 100%;
   margin-top: 8px;
 }

 @media (max-width: 575px) {
   .delta-consultation-popup {
     padding: 36px 20px 24px;
   }

   .delta-consultation-popup h2 {
     font-size: 22px;
   }
 }

 .btnnew {
   color: #fff !important;
 }


 /* German main menu active state */
 .german-menu-item.german-current>.german-menu-link {
   color: #0c0c0c !important;
   position: relative;
 }

 /* Red underline */
 .german-menu-item.german-current>.german-menu-link::after {
   content: "";
   position: absolute;
   left: 30px;

   width: 75%;
   height: 3px;
   background: #cf292a;
 }
 @media (max-width: 767px) {
  .german-menu-item.german-current > .german-menu-link::after {
      display: none;
  }
}

/* =========================================
   MOBILE MENU - GERMAN ACTIVE FIX
========================================= */

@media (max-width: 991px) {

  /* German normally white */
  .navigation .nav-menus-wrapper .nav-menu
  > .german-menu-item
  > .german-menu-link {
      color: #fff !important;
  }

  /* German only becomes black on actual German pages */
  .navigation .nav-menus-wrapper .nav-menu
  > .german-menu-item.german-current
  > .german-menu-link {
      color: #000 !important;
  }

}



















 /* Keep off-canvas content from creating horizontal page scrolling. */
 html {
   overflow-x: hidden;
 }

 body {
   overflow-x: clip;
 }

 html {
   scrollbar-gutter: stable;
 }

 @media (max-width: 767px) {
   .about-hero .about-slider {
     background-size: auto 120% !important;
     background-position: 79% 110% !important;
   }


   .about-hero .about-slider::before {
     content: "";
     position: absolute;
     inset: 0;
     background: rgba(0, 0, 0, 0.75);
     z-index: 1;
   }

   .about-hero .slider-content,
   .about-hero .container {
     position: relative;
     z-index: 2;
   }
 }

 .editorcontent p {


   max-width: 720px;
   margin: 0 auto;
   font-weight: 500;
   padding-top: 20px;
   font-size: 14px;
   line-height: 2;
   color: #212529;
   text-align: justify;

 }



 @media only screen and (min-width: 1000px) and (max-width: 1400px) {

   .footer-main-container .footer-equal-space>[class*="col-"],
   .footer-main-container .footer-link,
   .footer-main-container .footer-contact {
     min-width: 0;
   }

   .footer-main-container .footer-contact .contact-row {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 5px;
     width: 100%;
     min-width: 0;
   }

   .footer-main-container .footer-contact .contact-row .label {
     width: auto;
     flex: none;
     white-space: normal;
   }

   .footer-main-container .footer-contact .contact-row .value {
     width: 100%;
     max-width: 100%;
     min-width: 0;
     flex: none;
     margin-left: 0;
     white-space: normal;
   }

   .footer-main-container .footer-contact .value a {
     white-space: normal;
     overflow-wrap: anywhere;
     word-break: normal;
   }

   .footer-main-container .footer-contact .value a[href^="mailto:"] {
     display: block;
     width: 100%;
     font-size: 14px;
     line-height: 22px;
   }
 }


 .about-banner {
   position: relative;
 }

 .about-banner::before {
   content: "";
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.5);
   z-index: 1;
 }

 .about-banner>* {
   position: relative;
   z-index: 2;
 }


 .testimonial-avatar {
   width: 42px;
   height: 42px;
   min-width: 42px;
   border-radius: 50%;
   background: #1a73e8;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 18px;
   font-weight: 500;
   font-family: Arial, sans-serif;
   color: #fff;
   text-transform: uppercase;
   line-height: 1;
   overflow: hidden;
 }


 @media (max-width: 767px) {
   .about-hero .about-slider {
     background-color: rgba(0, 0, 0, 0.0) !important;
   }
 }


 /* ------------------------------------------------------------------------------------- */

 /* =========================================
   POPUP OVERLAY
========================================= */

 .enquiry-overlay {
   position: fixed;
   inset: 0;

   background: rgba(0, 0, 0, 0.65);

   display: flex;
   align-items: center;
   justify-content: center;

   padding: 20px;

   opacity: 0;
   visibility: hidden;

   transition:
     opacity 0.3s ease,
     visibility 0.3s ease;

   z-index: 99999;

   backdrop-filter: blur(4px);
 }


 /* Popup Active */

 .enquiry-overlay.active {
   opacity: 1;
   visibility: visible;
 }


 /* =========================================
 POPUP
========================================= */

 .enquiry-popup {
   position: relative;

   width: 100%;
   max-width: 900px;

   max-height: 90vh;
   overflow-y: auto;

   background: #fff;

   border-radius: 16px;

   padding: 35px;

   transform: translateY(30px) scale(0.97);

   transition: 0.35s ease;

   box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
 }

 .enquiry-overlay.active .enquiry-popup {
   transform: translateY(0) scale(1);
 }


 /* =========================================
 CLOSE BUTTON
========================================= */

 .enquiry-close {
   position: absolute;

   top: 15px;
   right: 18px;

   width: 35px;
   height: 35px;

   border: none;
   border-radius: 50%;

   background: #f1f1f1;

   color: #333;

   font-size: 25px;
   line-height: 1;

   cursor: pointer;

   z-index: 5;

   transition: 0.3s ease;
 }

 .enquiry-close:hover {
   background: #0A7613;
   color: #fff;
 }


 /* =========================================
 FORM GRID
========================================= */

 #enquiryForm {
   display: grid;

   grid-template-columns: 1fr 1fr;

   gap: 28px 20px;
 }

 .form-group {
   width: 100%;
 }

 .full-width {
   grid-column: 1 / -1;
 }


 /* =========================================
 LABEL
========================================= */

 .form-group label {
   display: block;

   margin-bottom: 8px;

   color: #111;

   font-family: "Manrope", sans-serif;

   font-size: 13px;
   font-weight: 700;
 }

 .form-group label span {
   color: #ed1c24;
 }


 /* =========================================
 INPUT BOX
========================================= */

 .input-box {
   position: relative;

   width: 100%;
   height: 52px;

   border: 1px solid #d9d9d9;

   border-radius: 9px;

   display: flex;
   align-items: center;

   transition: 0.3s ease;

   background: #fff;
 }

 .input-box:focus-within {
   border-color: #0A7613;

   box-shadow: 0 0 0 3px rgba(10, 118, 19, 0.08);
 }

 .input-box>i:first-child {
   width: 48px;

   text-align: center;

   color: #9ba1a7;

   font-size: 14px;
 }


 /* =========================================
 INPUT
========================================= */

 .input-box input,
 .input-box select,
 .input-box textarea {
   width: 100%;

   border: none;
   outline: none;

   background: transparent;

   color: #333;

   font-family: "Manrope", sans-serif;

   font-size: 13px;
 }

 .input-box input {
   height: 100%;
   padding-right: 15px;
 }

 .input-box input::placeholder,
 .input-box textarea::placeholder {
   color: #a4a9ae;
 }


 /* =========================================
 SELECT
========================================= */

 .select-box {
   position: relative;
 }

 .select-box select {
   height: 100%;

   appearance: none;
   -webkit-appearance: none;

   padding-right: 40px;

   cursor: pointer;
 }

 .select-arrow {
   position: absolute;

   right: 15px;

   color: #174b72 !important;

   pointer-events: none;

   font-size: 12px !important;
 }


 /* =========================================
 TEXTAREA
========================================= */

 .textarea-box {
   height: 145px;

   align-items: flex-start;
 }

 .textarea-box>i:first-child {
   padding-top: 17px;
 }

 .input-box textarea {
   height: 100%;

   resize: vertical;

   padding: 16px 15px 16px 0;
 }


 /* =========================================
 BOTTOM
========================================= */

 .form-bottom {
   grid-column: 1 / -1;

   display: flex;

   align-items: center;
   justify-content: space-between;

   gap: 20px;

   margin-top: 8px;
 }


 /* Privacy */

 .privacy-note {
   display: flex;

   align-items: center;

   gap: 8px;

   color: #72777c;

   font-family: "Manrope", sans-serif;

   font-size: 12px;
 }

 .privacy-note i {
   color: #ed1c24;
 }


 /* =========================================
 SEND BUTTON
========================================= */

 .send-enquiry-btn {
   min-width: 155px;

   height: 50px;

   border: none;
   border-radius: 8px;

   background: #ed1c24;

   color: #fff;

   font-family: "Manrope", sans-serif;

   font-size: 13px;
   font-weight: 700;

   cursor: pointer;

   display: flex;

   align-items: center;
   justify-content: center;

   gap: 12px;

   transition: 0.3s ease;
 }

 .send-enquiry-btn:hover {
   background: #c9151b;

   transform: translateY(-2px);

   box-shadow: 0 8px 20px rgba(237, 28, 36, 0.2);
 }


 /* =========================================
 MOBILE
========================================= */

 @media (max-width: 767px) {

   .floating-enquiry {
     right: 15px;
     bottom: 18px;
   }

   .floating-enquiry-btn img {
     width: 100px;
     height: 100px;
     padding-top: 30px;
   }

   .floating-enquiry-btn span {
     font-size: 10px;
     padding: 5px 11px;
   }


   .enquiry-overlay {
     padding: 12px;
   }

   .enquiry-popup {
     padding: 25px 18px;

     max-height: 92vh;

     border-radius: 14px;
   }


   #enquiryForm {
     grid-template-columns: 1fr;

     gap: 20px;
   }

   .full-width {
     grid-column: auto;
   }


   .form-bottom {
     grid-column: auto;

     flex-direction: column;

     align-items: stretch;
   }

   .privacy-note {
     justify-content: center;

     text-align: center;
   }

   .send-enquiry-btn {
     width: 100%;
   }


   .enquiry-close {
     top: 10px;
     right: 10px;
   }
 }




 /* =========================================
   FLOATING ENQUIRY BUTTON
========================================= */

 .floating-enquiry {
   position: fixed;
   right: -46px;
   bottom: 25px;
   z-index: 9998;
 }

 .floating-enquiry-btn {
   border: none;
   background: transparent;
   padding: 0;
   cursor: pointer;

   display: flex;
   flex-direction: column;
   align-items: center;

   transition: 0.3s ease;
 }

 .floating-enquiry-btn img {
   width: 200px;
   height: 200px;
   object-fit: contain;
   display: block;
   padding-top: 81px;
 }

 .floating-enquiry-btn span {
   margin-top: -2px;

   background: #0A7613;
   color: #fff;

   padding: 6px 14px;
   border-radius: 30px;

   font-family: "Manrope", sans-serif;
   font-size: 12px;
   font-weight: 700;

   white-space: nowrap;

   box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);

   transition: 0.3s ease;
 }

 .floating-enquiry-btn:hover {
   transform: translateY(-5px);
 }

 .floating-enquiry-btn:hover span {
   background: #075c0e;
 }


 /* =========================================================
   ABOUT HERO - LARGE SCREENS
========================================================= */

@media (min-width: 1600px) and (max-width: 2449px) {

  .about-hero {
      height: 986px !important;
      min-height: 986px !important;
  }

  .about-hero .slick-list,
  .about-hero .slick-track,
  .about-hero .about-slider {
      height: 870px !important;
      min-height: 870px !important;
  }
}


/* =========================================================
 ABOUT HERO - 2450px TO 2800px
========================================================= */

@media (min-width: 2450px) and (max-width: 2800px) {

  .about-hero {
      height: 1200px !important;
      min-height: 1200px !important;
      max-height: none !important;
      padding-top: 0 !important;
  }

  .about-hero .slick-list {
      height: 1200px !important;
      min-height: 1200px !important;
      max-height: none !important;
  }

  .about-hero .slick-track {
      height: 1200px !important;
      min-height: 1200px !important;
      max-height: none !important;
  }

  .about-hero .about-slider {
      height: 1200px !important;
      min-height: 1200px !important;
      max-height: none !important;
  }
}


.texteditor p {
  font-weight: 400;
  padding-top: 8px;
  font-size: 16px;
  line-height: 30PX;
  color: #ddd !important;
  text-align: center;
}