/* ------- VARIABLES -------- */
/* ------- MAIN INFO -------- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-family: "Poppins";
  font-weight: 400;
  color: #333;
  font-size: 20px;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}

body {
  font-family: "Poppins";
  font-weight: 400;
  color: #333;
  font-size: 20px;
}

/* ------- TITLES, TEXTS -------- */
.text-1 {
  font-size: 0.6rem;
}

.text-2 {
  font-size: 0.7rem;
}

.text-3 {
  font-size: 0.8rem;
}

.text-4 {
  font-size: 0.9rem;
}

.text-5 {
  font-size: 1rem;
}

.text-6 {
  font-size: 1.4rem;
}

.text-7 {
  font-size: 1.6rem;
}

.text-8 {
  font-size: 2rem;
}

.text-9 {
  font-size: 2.25rem;
}

.text-10 {
  font-size: 2.5rem;
}

.text-11 {
  font-size: 3rem;
}

.text-12 {
  font-size: 3.75rem;
}

.fw-200 {
  font-weight: 200;
}

.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: 700;
}

.text-black {
  color: black;
}

.text-green {
  color: #00974F;
}

.text-green-dark {
  color: #004524;
}

h1 {
  font-size: 2rem;
  font-weight: 700;
}

h2 {
  font-size: 1.6rem;
  font-weight: 700;
}

/* ------- BACKGROUNDS -------- */
.bg-neat {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.bg-white {
  background-color: white;
}

.bg-black {
  background-color: black;
}

.bg-green {
  background-color: #00974F;
}

.bg-green-medium {
  background-color: #005F31;
}

.bg-green-dark {
  background-color: #004524;
}

.bg-purple {
  background-color: #907BB2;
}

/* -----  BORDERS, SHADOWS AND OTHER  ----- */
.rounded-10 {
  border-radius: 10px;
}

.rounded-20 {
  border-radius: 10px;
}

/* ------- NAVBAR -------- */
.navbar-brand img {
  width: 80px;
}

.nav-link {
  font-size: 0.8rem;
  color: #004524;
}
.nav-link:hover {
  color: #004524;
}

.nav-link-mob {
  font-size: 1rem;
  color: #004524;
}

/* ------- HEADER -------- */
/* header {
  background: url(../img/bg-gradient.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 80vh; 
}*/

/* ------- FOOTER -------- */
.columns-footer {
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

/* ------- BUTTONS -------- */
.btn {
  min-width: 150px;
  border-radius: 10px;
  padding: 14px 35px;
  font-size: 0.9rem;
  font-weight: 500;
  width: 100%;
}

.btn-sm {
  padding: 14px 25px;
  font-size: 0.7rem;
}

.btn-xs {
  padding: 10px 25px;
  font-size: 0.6rem;
  width: auto;
}

.btn-green {
  background-color: #00974F;
  color: white;
  transition-duration: 0.3s;
}
.btn-green:hover {
  background-color: #004524;
  color: white;
  transition-duration: 0.3s;
}

.btn-white {
  background-color: white;
  color: #004524;
  transition-duration: 0.3s;
}
.btn-white:hover {
  background-color: #004524;
  color: white;
  transition-duration: 0.3s;
}

.btn-outline-white {
  background-color: transparent;
  border: 1px solid white;
  color: white;
  transition-duration: 0.3s;
}
.btn-outline-white:hover {
  background-color: white;
  color: #004524;
  transition-duration: 0.3s;
}

.btn-outline-green-dark {
  background-color: transparent;
  border: 1px solid #004524;
  color: #004524;
  transition-duration: 0.3s;
}
.btn-outline-green-dark:hover {
  background-color: #004524;
  color: white;
  transition-duration: 0.3s;
}

.btn-tab {
  padding: 14px 20px;
  border-radius: 10px;
  background-color: white;
  font-size: 0.8rem;
  color: #004524;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  transition-duration: 0.3s;
  white-space: nowrap;
}

.btn-tab.btn-tab-active {
  background-color: #005F31;
  color: white;
  transition-duration: 0.3s;
}

.button-style-none {
  border: none !important;
  background: transparent !important;
}

button:active {
  outline: none !important;
  border: none !important;
}

button:focus {
  outline: 0 !important;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

/* ------- FORMS -------- */
.form-control {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid white;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
  color: white;
  font-size: 0.8rem;
}

.form-control:focus {
  background-color: transparent;
  box-shadow: none;
  outline: none;
  border-color: white;
  color: white;
}
.form-control:focus::-moz-placeholder {
  opacity: 0.5;
}
.form-control:focus::placeholder {
  opacity: 0.5;
}

::-moz-placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.8rem;
}

::placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.8rem;
}

:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.8rem;
}

::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.8rem;
}

.form-check-input {
  margin-top: 0.35em;
}

.form-check-input:checked {
  background-color: #004524 !important;
  border-color: #004524 !important;
  outline: none !important;
  box-shadow: none !important;
}

.form-check-input {
  outline: none !important;
  box-shadow: none !important;
}


/* -------------------------------------
   FLUENT FORMS → MATCH YOUR BOOTSTRAP FORM
-------------------------------------- */

/* Remove FF spacing wrappers */
.fluentform .ff-el-group,
.fluentform .ff-t-container,
.fluentform .ff-el-input--content {
    margin: 0 !important;
    padding: 0 !important;
}

/* Hide labels since you use placeholders */
.fluentform .ff-el-input--label {
    display: none !important;
}

/* ALL INPUTS → Use your .form-control styling */
.fluentform .ff-el-form-control {
    background-color: transparent !important;
    border: none !important;
    border-bottom: 1px solid white !important;
    border-radius: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.8rem !important;
    color: rgba(255, 255, 255, 0.9) !important; 
    font-size: 1rem !important;
    width: 100% !important;
    box-shadow: none !important;
}

/* Placeholder default = full white */
.fluentform .ff-el-form-control::placeholder {
    color: rgba(255, 255, 255, 0.9) !important; 
    font-size: 1rem !important; /* matches your .form-control */
}

/* Placeholder on focus = 0.7 opacity */
.fluentform .ff-el-form-control:focus::placeholder {
    color: rgba(255, 255, 255, 0.7) !important;
}


/* On focus → use your focus state */
.fluentform .ff-el-form-control:focus {
    border-color: white !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* Add spacing between fields (your form uses mb-3) */
.fluentform .ff-el-group {
    margin-bottom: 1rem !important; /* matches .mb-3 */
}

/* CHECKBOX → use your .form-check-input style */
.fluentform input[type="checkbox"] {
    margin-top: 0.35em !important;
    width: 1em !important;
    height: 1em !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    border: 1px solid white !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Checkbox checked state (your style) */
.fluentform input[type="checkbox"]:checked {
    background-color: #004524 !important;
    border-color: #004524 !important;
}

/* Checkbox label */
.fluentform .ff-el-group label,
.fluentform .ff-el-group .ff-el-input--content label {
    color: white !important;
    font-size: 0.8rem !important; /* text-4 */
}

/* SUBMIT BUTTON → match your button class automatically w-100 for mobile */
.fluentform .ff-btn-submit {
    width: auto !important;
    background-color: transparent !important;
    border: 1px solid white !important;
    color: white !important;
    padding: 14px 35px !important;
    border-radius: 10px !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    transition-duration: 0.3s;
}

/* SUBMIT BUTTON → w-100 for mobile */
@media (max-width: 767px) {
    .fluentform .ff-btn-submit {
        width: 100% !important;
    }
}


.fluentform .ff-btn-submit:hover {
    background-color: white !important;
    color: #004524 !important;
}

/* Error messages styled like your form */
.fluentform .text-danger {
    color: #ffdede !important;
    font-size: 0.7rem !important;
    margin-top: 4px !important;
}

.fluentform .ff-message-success {
    border: 1px solid #fff !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    padding-top: 3rem;
    padding-bottom: 3rem;
    border-radius: 5px !important;
    font-size: 1.5rem;
}


/* ------- SWIPER -------- */
.testimonialSwiper .swiper-button-prev {
  left: calc(50% - 55px) !important;
  top: calc(100% - 20px) !important;
}
.testimonialSwiper .swiper-button-next {
  right: calc(50% - 40px) !important;
  top: calc(100% - 20px) !important;
}

.servicesSwiper .swiper-button-prev {
    left: 0 !important;
    top: calc(100% - 20px) !important;
}

.servicesSwiper .swiper-button-next {
    right: unset !important;
    left: 50px !important;
    top: calc(100% - 20px) !important;
}

@media (max-width: 991px) {
  .servicesSwiper .swiper-button-prev {
    left: calc(50% - 50px) !important;
    top: calc(100% - 20px) !important;
  }

    
  .servicesSwiper .swiper-button-next {
    left: calc(50% + 10px) !important;
    top: calc(100% - 20px) !important;
  }
}


.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
}

.swiper-button-prev::after {
  background-image: url(../img/arrow.svg);
  transform: rotate(180deg);
}

.swiper-button-next::after {
  background-image: url(../img/arrow.svg);
}

/* ------- TABLES -------- */
.prices-table * {
  color: #004524 !important;
  border-color: #00974F !important;
}

/* Mobile first: 60 / 20 / 20 */
.prices-table th:nth-child(1),
.prices-table td:nth-child(1) {
    width: 65%;
}

.prices-table th:nth-child(2),
.prices-table td:nth-child(2),
.prices-table th:nth-child(3),
.prices-table td:nth-child(3) {
    width: 17.5%;
}

/* ------- POSITIONING -------- */
.anchor {
  padding-top: 100px;
  margin-top: -100px;
}

.w-70 {
  width: 70%;
}

.w-20 {
  width: 20%;
}

.w-30 {
  width: 30%;
}

.w-85 {
  width: 85%;
}

.transform-y-n20 {
  transform: translateY(-20%);
}

.transform-y-n50 {
  transform: translateY(-50%);
}

.my-sec {
  margin-top: 70px;
  margin-bottom: 70px;
}

.mb-sec {
  margin-bottom: 70px;
}

.py-sec {
  padding-top: 70px;
  padding-bottom: 70px;
}

.pt-sec {
  padding-top: 70px;
}

.pb-sec {
  padding-bottom: 70px;
}

.pb-6 {
  padding-bottom: 4rem !important;
}


.min-h-100 {
  min-height: 100%;
}

.z-0 {
  z-index: 0;
}

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

/* ------- ACTIONS -------- */
.pointer {
  cursor: pointer;
}

a,
a:hover {
  text-decoration: none;
}

.location-card-image-wrapper img {
    transition: transform 0.5s ease; /* smooth animation */
    transform: scale(1);             /* default */
}

.location-card-image-wrapper:hover img {
    transform: scale(1.08);          /* zoom level */
}


/* ------- OTHER -------- */
.list-item-pill {
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid white;
  padding: 5px 25px;
  font-size: 0.8rem;
  width: 100%;
}

.img-positioning {
  transform: translateY(-30px);
}

.rounded-sec-my-neg {
  margin-top: -9px;
  margin-bottom: -9px;
  position: relative;
  z-index: 1;
}

.work-hours {
    display: grid;
    grid-template-columns: auto 1fr;
    row-gap: 0.35rem;
}

.work-hours-row {
    display: contents; 
}

.work-hours-days {
    white-space: nowrap;
    margin-right: 1rem;
}

.work-hours-time {
    white-space: nowrap;
}


/* ------- QUERIES -------- */
@media (max-width: 991px) {
  .pe-0-mob {
    padding-right: 0 !important;
  }
  .px-0-mob {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .ps-container-mob {
    padding-left: 1.5rem !important;
  }

  .decoration__testimonials {
    transform: rotate(310deg);
    scale: 2;
  }

}
@media (min-width: 768px) {
  .w-md-50 {
    width: 50% !important;
  }
  .btn {
    width: auto;
  }
}
@media (min-width: 992px) {
  .container {
    width: 85%;
  }
  .position-lg-absolute {
    position: absolute;
  }
  .w-lg-20 {
    width: 20% !important;
  }
  .w-lg-50 {
    width: 50% !important;
  }
  .w-lg-75 {
    width: 75% !important;
  }
  .w-lg-100 {
    width: 100% !important;
  }

  .w-lg-auto {
    width: auto !important;
  }

  .pt-lg-6 {
    padding-top: 4rem !important;
  }

  .my-sec {
    margin-top: 110px;
    margin-bottom: 110px;
  }
  .mb-sec {
    margin-bottom: 110px;
  }
  .py-sec {
    padding-top: 110px;
    padding-bottom: 110px;
  }
  .pt-sec {
    padding-top: 110px;
  }
  .pb-sec {
    padding-bottom: 110px;
  }
  .pb-lg-50 {
    padding-bottom: 50px;
  }
  .pb-lg-sec {
    padding-bottom: 100px;
  }
 
  html {
    font-size: 18px;
  }
  body {
     font-size: 18px;
  }
  .text-lg-1 {
    font-size: 0.6rem;
  }
  .text-lg-2 {
    font-size: 0.7rem;
  }
  .text-lg-3 {
    font-size: 0.8rem;
  }
  .text-lg-4 {
    font-size: 0.9rem;
  }
  .text-lg-5 {
    font-size: 1rem;
  }
  .text-lg-6 {
    font-size: 1.4rem;
  }
  .text-lg-7 {
    font-size: 1.6rem;
  }
  .text-lg-8 {
    font-size: 2rem;
  }
  .text-lg-9 {
    font-size: 2.25rem;
  }
  .text-lg-10 {
    font-size: 2.5rem;
  }
  .text-lg-11 {
    font-size: 3rem;
  }
  .text-lg-12 {
    font-size: 3.75rem;
  }
  .text-lg-13 {
    font-size: 4rem;
  }
  h1 {
    font-size: 4rem;
  }
  h2 {
    font-size: 2rem;
  }
  .navbar-brand img {
    width: 100px;
  }
  .img-positioning {
    transform: translateY(50px);
    margin-left: -40px;
  }
  .textcard-positioning {
    margin-right: -40px;
  }
  .pe-lg-18 {
    padding-right: 18% !important;
  }
  .columns-footer {
    -moz-column-count: 3;
         column-count: 3;
  }
  .rounded-20 {
    border-radius: 20px;
  }
  .rounded-sec-my-neg {
    margin-top: -18px;
    margin-bottom: -18px;
  }

  .list-item-pill {
    width: auto;
  }

  .prices-table th:nth-child(1),
  .prices-table td:nth-child(1) {
      width: 70%;
  }

  .prices-table th:nth-child(2),
  .prices-table td:nth-child(2),
  .prices-table th:nth-child(3),
  .prices-table td:nth-child(3) {
      width: 15%;
  }

  .btn-tab:hover {
    background-color: #005F31;
    color: white;
    transition-duration: 0.3s;
    cursor: pointer;
  }
}
@media (min-width: 1600px) {
  .container {
    width: 80%;
  }
}/*# sourceMappingURL=style.css.map */