/*------------------------------------------------------------------
[Master Stylesheet]

Project:  Valvoro
-------------------------------------------------------------------*/
/*------------------------------------------------------------------
[Table of contents]

1. Body
2. Header  / .header-con
3. Banner  /.banner-con
4. About Us  /.about-us-con
5. Services  /.services-con
6. why Choose Us  /.why-choose-us-con
7. Pricing Estimation  /.price-estimation-con
8. How it Works  /.how-it-works-con
9. Before & After Gallery /.before-after-gallery-con
10. Client Reviews  /.client-reviews-con
11. Check Service Availability  /.check-availability-con
12. FAQs  /.faq-con
13. Trusted Companies  /.trusted-companies-con
14. Call to Action  /.cta-con
15. Footer  /.footer-con
*/
/*------------------------------------------------------------------
# [Color Codes]

#   --primary--color: #fccf3a;

*/
/*------------------------------------------------------------------
# [Typography]
 
Body copy: "Inter Tight", sans-serif;
Heading: "Hedvig Letters Sans", sans-serif;
*/

@import url("https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&family=Oswald:wght@200..700&display=swap");

body {
  font-family: "Archivo", sans-serif;
}

.skip-nav {
  position: absolute;
  top: -100px;
  left: 20px;
  background: var(--accent--color, #091f41);
  color: #ffffff !important;
  padding: 10px 20px;
  font-weight: 700;
  border-radius: 0 0 8px 8px;
  z-index: 99999;
  text-decoration: none;
  transition: top 0.2s ease-in-out;
}

.skip-nav:focus {
  top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Archivo", sans-serif;
}

:root {
  --primary--color: #30c3eb;
  --secondary--color: #ffffff;
  --accent--color: #091f41;
  --text--color: #696969;
  --blue--color: #2a5aa2;
  --blue--color2: #154d9f;
  --black--color: #000000;
  --light--bg--color: #f4f8fe;
  --border--color: #e6e6e6;
  --border--color2: #d9e0ec;
  --sky--text--color: #bcceea;
  --sky--text--color2: #e5efff;
}

figure {
  margin-bottom: 0;
}

.archivo-font {
  font-family: "Archivo", sans-serif;
}

.oswald-font {
  font-family: "Oswald", sans-serif;
}

.text-size-126 {
  font-size: 126px;
  line-height: 119px;
  font-weight: 800;
  color: var(--secondary--color);
}

.text-size-100 {
  font-size: 100px;
  line-height: 94px;
  font-weight: 800;
  color: var(--secondary--color);
}

.text-size-80 {
  font-size: 80px;
  line-height: 80px;
  font-weight: 800;
  color: var(--secondary--color);
}

.text-size-78 {
  font-size: 78px;
  line-height: 76px;
  font-weight: 800;
  color: var(--secondary--color);
}

.text-size-64 {
  font-size: 64px;
  line-height: 68px;
  font-weight: 800;
  color: var(--secondary--color);
}

.text-size-60 {
  font-size: 60px;
  line-height: 66px;
  font-weight: 800;
  color: var(--secondary--color);
}

.text-size-56 {
  font-size: 56px;
  line-height: 64px;
  font-weight: 800;
  color: var(--black--color);
}

.text-size-40 {
  font-size: 44px;
  line-height: 50px;
  font-weight: 400;
  color: var(--black--color);
}

.text-size-36 {
  font-size: 36px;
  line-height: 40px;
  font-weight: 400;
  color: var(--black--color);
}

.text-size-28 {
  font-size: 28px;
  line-height: 33px;
  font-weight: 700;
  color: var(--black--color);
}

.text-size-26 {
  font-size: 26px;
  line-height: 30px;
  font-weight: 800;
  color: var(--black--color);
}

.text-size-24 {
  font-size: 24px;
  line-height: 30px;
  font-weight: 400;
}

.text-size-22 {
  font-size: 22px;
  line-height: 26px;
  font-weight: 700;
  color: var(--black--color);
}

.text-size-20 {
  font-size: 20px;
  line-height: 24px;
  font-weight: 600;
  color: var(--black--color);
}

p {
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: var(--text--color);
  word-break: break-word;
}

p a,
.about-us-con p a,
.why-choose-us-con p a,
#mantenimiento-hub p a {
  color: var(--blue--color, #2a5aa2);
  text-decoration: underline;
  font-weight: 600;
}

p a:hover {
  color: var(--blue--color2, #154d9f);
}

.text-size-18 {
  font-size: 18px;
  line-height: 28px;
  font-weight: 400;
  color: var(--text--color);
}

.text-size-16 {
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  color: var(--text--color);
}

.text-size-14 {
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  color: var(--text--color);
}

.text-size-12 {
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
  color: var(--text--color);
}

.special-text {
  color: var(--blue--color2, #154d9f);
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 7px;
  font-weight: 700;
  letter-spacing: 1.5px;
  display: inline-block;
}

.banner-con .special-text,
.about-us-con[style*="#091f41"] .special-text,
.bg-accent .special-text,
.cta-con .special-text,
.footer-con .special-text {
  color: var(--primary--color, #30c3eb) !important;
}

.primary_btn {
  font-size: 18px;
  padding: 0 40px;
  height: 65px;
  line-height: 65px;
  font-weight: 700;
  text-align: center;
  border-radius: 32.5px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--primary--color);
  color: var(--accent--color, #091f41);
  transition: all 0.6s ease-in-out;
  white-space: nowrap;
}

.primary_btn figure,
.estimate-btn span,
.form-submit button span,
.form-button button span {
  position: absolute;
  background-color: var(--secondary--color);
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  position: absolute;
  right: 11px;
  top: 11px;
}

.form-button button span {
  right: 7px;
  top: 7px;
}

.primary_btn:hover {
  color: var(--secondary--color);
  background-color: var(--accent--color);
  transition: all 0.6s ease-in-out;
  text-decoration: none;
}

.elementary_btn {
  font-size: 18px;
  min-width: 212px;
  padding: 0;
  height: 65px;
  line-height: 65px;
  font-weight: 700;
  text-align: center;
  border-radius: 10px;
  position: relative;
  display: inline-block;
  background-color: var(--primary--color);
  color: var(--accent--color);
  transition: all 0.6s ease-in-out;
}

.elementary_btn:hover {
  color: var(--accent--color);
  background-color: var(--secondary--color);
  transition: all 0.6s ease-in-out;
}

.secondary_btn {
  font-size: 18px;
  min-width: 212px;
  padding: 0;
  height: 65px;
  line-height: 65px;
  font-weight: 700;
  text-align: center;
  border-radius: 10px;
  position: relative;
  display: inline-block;
  background-color: var(--accent--color);
  color: var(--secondary--color);
  transition: all 0.6s ease-in-out;
}

.secondary_btn:hover {
  color: var(--accent--color);
  background-color: var(--primary--color);
  transition: all 0.6s ease-in-out;
}

html {
  scroll-behavior: smooth;
}

.all_row {
  display: flex;
  flex-wrap: wrap;
}

.all_column {
  display: flex;
}

.all_boxes {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.padding-top {
  padding-top: 140px !important;
}

.padding-bottom {
  padding-bottom: 140px !important;
}

.heading-title-con {
  margin-bottom: 60px;
}

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

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

.font-weight-400 {
  font-weight: 400;
}

.text-black {
  color: var(--black--color);
}

.text-accent {
  color: var(--accent--color);
}

.bg-accent {
  background-color: var(--accent--color);
}

.bg-grey {
  background-color: var(--light--bg--color);
}

.bg-sky {
  background-color: var(--primary--color);
}

.bg-fff {
  background-color: var(--secondary--color);
}

.black-bg {
  background-color: var(--black--color);
}

.sky-text {
  color: var(--sky--text--color);
}

.blue-text {
  color: var(--primary--color) !important;
}

.navy-text {
  color: var(--blue--color);
}

.br-30 {
  border-radius: 30px;
}

.br-40 {
  border-radius: 40px;
}

.br-50 {
  border-radius: 50px;
}

.br-20 {
  border-radius: 20px;
}

.br-188 {
  border-radius: 188px;
}

.br-258 {
  border-radius: 258px;
}

.spacer {
  float: left;
  width: 100%;
  height: 50px;
}

.padding-rl {
  padding-right: 50px;
  padding-left: 50px;
}

.padding-rl-30 {
  padding-right: 30px;
  padding-left: 30px;
}

body {
  font-size: 16px;
  line-height: 26px;
  font-weight: 400;
  color: var(--text--color);
}

/* special classes ends here */
/* top bar section */
.top-bar-inner-content {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  padding: 8px 43px 8px 47px;
}

.top-bar-info ul {
  /* gap: 50px; */
  display: flex;
}

.top-bar-info ul li {
  display: flex;
  font-size: 13px;
  line-height: 13px;
  align-items: center;
  color: var(--secondary--color);
  padding-right: 32px;
  margin-right: 25px;
  border-right: 1px solid rgb(255 255 255 / 25%);
}

.top-bar-info ul li a {
  color: var(--secondary--color);
  transition: all 0.6s ease-in-out;
}

.top-bar-info ul li a:hover {
  color: var(--primary--color);
}

.top-bar-info ul li i {
  font-size: 16px;
  line-height: 16px;
  padding-right: 14px;
  color: var(--primary--color);
}

.top-bar-right-con span {
  font-size: 13px;
}

.top-bar-right-con a {
  font-size: 13px;
  text-decoration: underline;
  margin-left: 12px;
  transition: all 0.6s ease-in-out;
}

.top-bar-right-con a {
  color: var(--secondary--color);
}

.top-bar-right-con a:hover {
  color: var(--secondary--color) !important;
}

#header-placeholder {
  min-height: 140px;
  display: block;
}

/* Home Page */

/* HEADER SECTION */
.header-con .navbar-light .navbar-nav .nav-link {
  font-size: 15px;
  color: var(--black--color);
  font-weight: 500;
  padding: 2px 0 !important;
  position: relative;
  transition: all 0.6s ease-in-out;
}

.header-con .navbar-light .navbar-nav .nav-link:hover {
  color: var(--primary--color);
  /* text-decoration: underline; */
}

.header-con .navbar-expand-lg .navbar-nav {
  gap: 52px;
  justify-content: center;
  align-items: center;
}

.header-con {
  z-index: 5;
  padding: 25px 0;
  background-color: var(--secondary--color);
}

/* Floating WhatsApp button */
.whatsapp-float {
  position: fixed;
  bottom: 139px;
  right: 80px;
  z-index: 9999;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #25d366;
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.whatsapp-float:hover {
  transform: scale(1.08);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
}

.whatsapp-float img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

@keyframes whatsapp-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6);
  }

  70% {
    box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}

.whatsapp-float {
  animation: whatsapp-pulse 2.5s infinite;
}

/* Fixed menu on scroll */
.main-container .header-con.is-sticky {
  position: fixed !important;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  float: none !important;
  width: calc(100% - 340px) !important;
  max-width: 1260px;
  z-index: 999;
  margin: 0;
  padding: 16px 30px !important;
  border-radius: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.header-con.is-sticky .navbar-expand-lg .navbar-nav {
  gap: 34px;
}

.header-con.is-sticky .navbar-brand img {
  max-width: 180px !important;
  height: auto;
}

.header-con.is-sticky .header-contact .contact-btn {
  min-width: 160px;
  height: 40px;
  line-height: 40px;
  font-size: 13px;
  padding-right: 30px;
}

.header-con.is-sticky .header-contact .contact-btn figure {
  width: 32px;
  height: 32px;
  top: 4px;
  right: 4px;
}

.header-con.is-sticky .header-contact .contact-btn figure img {
  width: 8px;
  height: auto;
}

.header-con.is-sticky .header-contact ul li:first-child {
  margin-right: 16px;
  margin-left: 20px;
  padding-left: 16px;
}

.header-con.is-sticky .header-contact ul li a span.number {
  font-size: 14px;
}

body.has-sticky-padding {
  padding-top: 0;
}

.header-con .navbar {
  padding: 0;
}

/* .header-con .navbar-light .navbar-nav .nav-link:hover::before {
    width: 100%;
} */

/* .header-con .navbar-light .navbar-nav .nav-link::before {
    left: 0;
    bottom: 0;
    width: 0;
    height: 1px;
    content: '';Terms of Use
    position: absolute;
    background: var(--accent--color);
    transition: ease-in-out 0.6s;
} */

.header-con .navbar-light .navbar-nav .nav-link.active {
  color: var(--accent--color, #091f41);
  font-weight: 700;
  background-color: var(--primary--color);
  width: auto;
  padding-right: 15px !important;
  padding-left: 15px !important;
  text-align: center;
  border-radius: 15.5px;
}

.header-con .navbar-light .navbar-nav .nav-link.dropdown-toggle.active {
  padding-right: 22px !important;
  padding-left: 14px !important;
}

.header-con .navbar-light .navbar-nav .nav-item.dropdown .nav-link.active {
  /* width: 85px; */
  width: auto;
}

.header-con .navbar-light .navbar-nav .dropdown .nav-link:hover::after {
  width: 0;
}

.header-con .navbar-light .navbar-nav .dropdown .nav-link::after {
  width: unset;
  position: absolute;
  background: none;
  top: 14px;
  font-size: 15px;
}

/* .header-con .navbar-light .navbar-nav .dropdown .nav-link.active:after {
    padding-right: 22px !important;
    padding-left: 13px;
} */

.header-con .navbar-light .navbar-nav .dropdown-menu {
  padding: 10px;
  margin: 0;
  background-color: var(--secondary--color);
  border: 0;
  z-index: 2;
  width: 230px;
  margin-top: 10px;
  box-shadow: 0px 0px 100px rgb(0 0 0 / 15%);
  border-radius: 10px;
}

.header-con .navbar-light .navbar-nav .dropdown-menu a:last-child {
  border-bottom: none;
}

.header-con .navbar-light .navbar-nav .dropdown-menu .dropdown-item {
  padding: 7px 12px;
  border-bottom: 1px solid var(--secondary--color);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  border-radius: 10px;
}

.header-con .navbar-light .navbar-nav .dropdown-menu .dropdown-item:active,
.header-con .navbar-light .navbar-nav .dropdown-menu .dropdown-item:active {
  background-color: var(--accent--color);
  color: var(--secondary--color);
}

.header-con .navbar-light .navbar-nav .dropdown-menu .dropdown-item.active {
  background-color: var(--accent--color);
  color: var(--secondary--color);
}

.header-con .navbar-light .navbar-nav .dropdown-menu .dropdown-item:hover {
  background-color: var(--accent--color);
  color: var(--secondary--color);
}

.header-con .navbar-light .navbar-brand {
  margin: 0;
  padding: 0;
}

/* HEADER SECTION */

.header-contact .contact-btn {
  min-width: 216px;
  background-color: var(--primary--color);
  color: var(--accent--color, #091f41);
  height: 54px;
  line-height: 54px;
  text-align: center;
  font-weight: 700;
  position: relative;
  font-size: 16px;
  padding: 0;
  width: 100%;
  text-decoration: none;
  padding-right: 37px;
  z-index: 1;
  border-radius: 30px;
  transition: all 0.6s ease-in-out;
}

.header-contact .contact-btn figure {
  position: absolute;
  background-color: var(--secondary--color);
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  position: absolute;
  right: 5px;
  top: 5px;
}

.header-contact .contact-btn:hover {
  background-color: var(--accent--color);
  color: var(--secondary--color);
}

.header-con .header-contact ul li:first-child {
  margin-right: 29px;
  padding-left: 24px;
  border-left: 1px solid var(--border--color);
  margin-left: 37px;
}

.font-weight-700 {
  font-weight: 700 !important;
}

.header-contact ul li a span.number {
  color: var(--black--color);
  font-weight: 700;
  font-size: 20px;
  padding-left: 11px;
  transition: all 0.6s ease-in-out;
}

.header-contact ul li a:hover span {
  color: var(--primary--color);
}

/* Header */

/* Back to top button */

#button {
  display: inline-block;
  background-color: var(--primary--color);
  width: 64px;
  height: 64px;
  text-align: center;
  border-radius: 100px;
  position: fixed;
  bottom: 60px;
  right: 80px;
  transition:
    background-color 0.3s,
    opacity 0.5s,
    visibility 0.5s;
  opacity: 0;
  visibility: hidden;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-animation: spineer 2s infinite;
  animation: spineer 2s infinite;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.6s ease-in-out;
}

#button::after {
  content: "\f062";
  font-family: "Font Awesome 5 free";
  font-size: 20px;
  line-height: 20px;
  color: var(--secondary--color);
  font-weight: 600;
}

#button.show {
  opacity: 1;
  visibility: visible;
}

#button:hover {
  transform: translateY(-5px);
}

@-webkit-keyframes spineer {
  from {
    box-shadow: 0 0 0 0 rgb(48 195 235 / 40%);
  }

  to {
    box-shadow: 0 0 0 35px rgba(115, 0, 209, 0.01);
  }
}

@keyframes spineer {
  from {
    box-shadow: 0 0 0 0 rgb(48 195 235 / 40%);
  }

  to {
    box-shadow: 0 0 0 35px rgba(115, 0, 209, 0.01);
  }
}

/* Preloader -------------------------------------------------------*/

/* Loader Styles start here */
.loader-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--secondary--color);
  z-index: 99999;
}

.loader {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 50px;
  height: 50px;
  font-size: 0;
  color: var(--accent--color);
  display: inline-block;
  margin: -25px 0 0 -25px;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}

.lead {
  font-size: 13px;
}

.loader div {
  background-color: var(--accent--color);
  display: inline-block;
  float: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  opacity: 0.5;
  border-radius: 50%;
  -webkit-animation: ballPulseDouble 2s ease-in-out infinite;
  animation: ballPulseDouble 2s ease-in-out infinite;
}

.loader div:last-child {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

@-webkit-keyframes ballPulseDouble {
  0%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes ballPulseDouble {
  0%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/* Footer */
.footer-con {
  padding-top: 80px;
}

.footer-con .middle_portion {
  padding-bottom: 74px;
}

.footer-con .middle_portion p {
  color: var(--secondary--color);
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 20px;
}

.footer-con .middle_portion .footer-logo {
  display: inline-block;
  margin-bottom: 26px;
}

.footer-con .middle_portion .links li {
  margin-bottom: 15px;
  line-height: 24px;
}

.footer-con .middle_portion .links li i {
  font-size: 12px;
  top: -1px;
  position: relative;
  color: var(--primary--color);
  transition: all 0.6s ease-in-out;
}

.footer-con .middle_portion .links li a {
  font-size: 16px;
  line-height: 24px;
  padding-left: 14px;
  font-weight: 400;
  text-decoration: none;
  color: var(--secondary--color);
  transition: all 0.6s ease-in-out;
}

.footer-con .middle_portion .links li:hover i {
  color: var(--primary--color);
}

.footer-con .middle_portion .links li:hover a {
  color: var(--primary--color);
}

.footer-con .middle_portion .contact .text {
  position: relative;
  margin-bottom: 14px;
  display: inline-block;
  color: var(--secondary--color);
  line-height: 23px;
  display: flex;
  gap: 20px;
  align-items: center;
}

.footer-con .middle_portion .contact a,
.footer-con .middle_portion .contact p {
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: var(--secondary--color);
  transition: all 0.6s ease-in-out;
}

.footer-con .middle_portion .contact li:hover a,
.footer-con .middle_portion .contact li:hover p,
.footer-con .middle_portion .contact li:hover i {
  color: var(--primary--color);
}

.footer-con .middle_portion .contact span,
.footer-con .middle_portion .contact li:last-child,
.footer-con .middle_portion .contact.var2 li:last-child a {
  font-size: 13px;
}

.footer-con .middle_portion .contact.var2 li:last-child a {
  text-decoration: underline;
}

.footer-con .middle_portion .icon {
  padding-left: 35px;
}

.padding-text {
  padding-left: 36px;
}

.footer-con .middle_portion .icon a {
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 14px;
  color: var(--secondary--color);
}

.footer-con .middle_portion .icon .text {
  margin-bottom: 16px;
}

.footer-con span.footer-info-text {
  font-size: 16px;
  margin-bottom: 9px;
  color: var(--secondary--color);
}

.footer-con .middle_portion .social-icons li {
  display: inline-block;
  margin: 0 9px;
  padding: 0 !important;
  transition: all 0.6s ease-in-out;
}

.footer-con .middle_portion .heading {
  color: var(--secondary--color);
  margin-bottom: 30px;
}

.footer-con .middle_portion .social-icons li:first-child {
  margin-left: 0;
}

.footer-con .middle_portion .social-icons li:last-child {
  margin-right: 0;
}

.footer-con .middle_portion .social-icons i {
  font-size: 18px;
  text-align: center;
  color: var(--secondary--color);
  transition: all 0.6s ease-in-out;
}

.footer-con .middle_portion .icon a {
  transition: all 0.6s ease-in-out;
}

.footer-con .middle_portion .contact i {
  color: var(--primary--color);
}

.footer-con .middle_portion .social-icons a:hover i {
  color: var(--primary--color);
  transform: translateY(-4px);
}

.footer-con .middle_portion a:hover {
  text-decoration: none;
  color: var(--primary--color);
}

.footer-con .copyright-con {
  border-top: 2px solid rgb(255 255 255 / 10%);
  padding: 19px 0;
}

.footer-con .copyright-con p {
  color: var(--sky--text--color);
  font-size: 12px;
  line-height: 12px;
}

.footer-vector {
  right: 0;
  bottom: 0;
}

.owl-item,
.item,
.owl-stage {
  display: flex;
}

/* cta */
.cta-con {
  position: relative;
  padding-top: 60px;
  padding-bottom: 60px;
  background-image: url("../images/funds/fondo-emergencia.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.cta-con::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(42, 90, 162, 0.65);
  border-radius: 50px;
  z-index: 0;
}

.cta-con .container-fluid {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cta-inner-con {
  position: relative;
  z-index: 1;
  gap: 100px;
}

.cta-inner-con .primary_btn,
.get-in-touch-con3 .primary_btn,
.wait-con .primary_btn {
  font-size: 26px;
  font-weight: bold;
  min-width: 320px;
  height: 65px;
  padding-right: 0;
  border-radius: 32.5px;
  transition: ease-in-out 0.6s;
  padding-left: 40px;
  margin-right: 18px;
}

.cta-inner-con .primary_btn figure,
.get-in-touch-con3 .primary_btn figure,
.wait-con .primary_btn figure {
  background-color: var(--secondary--color);
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  position: absolute;
  left: 10px;
  top: 6px;
}

.cta-inner-con .primary_btn:hover {
  text-decoration: none;
}

.cta-con h2 {
  margin-bottom: 25px;
}

.logo-vector {
  width: 145px;
  height: 145px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  background-color: var(--secondary--color);
  right: -79px;
  top: 0;
  bottom: 0;
  margin: auto;
  overflow: hidden;
}

.logo-vector img {
  width: 100px;
  height: auto;
}

/*  */
.trusted-companies-con li figure img {
  filter: grayscale(100%);
  transition: ease-in-out 0.6s;
}

.trusted-companies-con li:hover figure img {
  filter: grayscale(0%);
}

/* BANNER SECTION */
.banner-con {
  background-image: url("../images/banner/imagen-del-fondo-1820x926.webp");
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 55px;
  overflow: hidden;
  padding-bottom: 80px;
}

.banner-con::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(25 80 160 / 88%);
  border-radius: 50px;
}

.rating-text {
  font-size: 42px;
  line-height: 42px;
}

.rating-con {
  gap: 14px;
  margin-bottom: 23px;
}

.banner-content-con .banner-top {
  padding-left: 60px;
}

.banner-content-con h1,
.home3-banner-con h1 {
  margin-bottom: 28px;
}

@media screen and (max-width: 1440px) {
  .banner-content-con h1.text-size-64,
  .home3-banner-con h1.text-size-64 {
    font-size: 52px;
    line-height: 58px;
  }
}

.banner-content-con .banner-img2 img {
  padding: 12px;
  border: 3px solid var(--secondary--color);
}

.banner-content-con p {
  font-size: 22px;
  line-height: 29px;
  font-weight: 500;
  position: relative;
  padding-left: 54px;
  margin-top: 12px;
  margin-bottom: 39px;
}

.banner-hero-buttons {
  margin-left: 56px;
  margin-bottom: 60px;
  gap: 16px;
}

.banner-content-con .banner-bottom {
  gap: 31px;
}

.banner-content-con p::before {
  content: "";
  height: 3px;
  position: absolute;
  width: 36px;
  background-color: var(--secondary--color);
  left: 0;
  top: 12px;
}

.banner-content-con {
  padding-top: 50px;
}

.banner-con .primary_btn {
  min-width: 260px;
  margin-left: 56px;
  margin-bottom: 143px;
}

.banner-con .statistics-wrapper {
  margin-left: 22px;
}

.statistics-box span {
  font-size: 36px;
  line-height: 36px;
  font-weight: 800;
  margin-bottom: 5px;
}

.statistics-box sup {
  top: 0;
  font-size: 36px;
  line-height: 36px;
  font-weight: 800;
}

.statistics-box span.span-text {
  font-size: 16px;
  line-height: 29px;
  font-weight: 500;
  color: var(--secondary--color);
  margin-bottom: 0;
}

.statistics-box {
  position: relative;
  /* border-right: 1px solid rgb(255 255 255 / 20%); */
  padding: 0 34px;
}

.statistics-box::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: rgb(255 255 255 / 30%);
  height: 68px;
  width: 1px;
}

.statistics-box.var2::before {
  display: none;
}

.banner-img1 img {
  padding: 12px;
  border: 3px solid var(--primary--color);
}

.plumber-img {
  top: 0;
  right: 0;
}

.banner-con .banner-inner-con a.scroll-down-arrow {
  position: absolute;
  z-index: 1;
  right: 0;
  left: 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.banner-con .banner-inner-con a.scroll-down-arrow figure {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  border: 1px solid rgb(255 255 255 / 30%);
}

.banner-con .scrol-outer {
  bottom: 60px;
}

.banner-con .scrol-outer span.text-size-14 {
  margin-bottom: 12px;
}

.banner-con .navy-box {
  position: absolute;
  right: 50px;
  top: 126px;
  padding: 19px 25px;
  box-shadow: 16px 2px 13px rgb(0 0 0 / 11%);
}

.banner-con .navy-box img.emrgncy-img {
  margin-bottom: 9px;
}

.banner-con .navy-box img.white-arrow-img {
  margin-top: 0;
}

.banner-con .navy-box span {
  margin-bottom: 6px;
}

.banner-con .dot-img {
  bottom: 0;
}

/* FAQ SECTION */
.faq-con .accordion-card {
  margin-bottom: 30px;
  width: 100%;
  border-radius: 10px;
  background-color: var(--secondary--color);
}

.faq-con .accordion-card:last-child {
  margin-bottom: 0;
}

.faq-con .accordion-card p {
  font-size: 16px;
  line-height: 26px;
}

.faq-con .accordion-card .btn-link h6 {
  color: var(--accent--color);
}

.faq-con .accordion-card .collapsed h6 {
  color: var(--accent--color);
  white-space: inherit;
  word-break: break-word;
}

.faq-con .accordian-inner .card-header {
  padding: 0;
  margin-bottom: 0;
  background: none;
  border: none;
}

.faq-con .accordian-inner .card-header a {
  padding: 23px 50px 23px 20px;
}

.faq-con .accordian-inner .card-body {
  padding: 0 20px 23px 20px;
}

.faq-con .accordion-card a.btn.btn-link:focus {
  outline: none;
  box-shadow: none;
}

.faq-con .accordian-inner .accordion-card i {
  position: absolute;
  right: 20px;
  margin: -6px 0;
}

.faq-con .accordian-inner .accordion-card .btn {
  text-decoration: none;
  text-align: left;
  display: block;
  border-radius: 15px;
  white-space: inherit;
  word-break: break-word;
}

.faq-con .accordion-card a.btn.btn-link {
  position: relative;
}

.faq-con .accordion-card .btn-link:before {
  content: "\f068";
  font-size: 20px;
  line-height: 20px;
  top: 25px;
  right: 24px;
  position: absolute;
  font-family: "FontAwesome";
  color: var(--accent--color);
}

.faq-con .accordion-card .collapsed:before {
  content: "\2b";
  color: var(--accent--color);
}

.faq-con.faq-main-con .accordian-section-inner h5.sub-heading5 {
  margin-bottom: 30px;
}

.faq-con.faq-main-con .accordian-section-inner h5.sub-heading5 i {
  color: var(--primary--color);
}

.faq-con.faq-main-con .accordian-inner .accordion-card {
  background-color: var(--secondary--color);
  box-shadow: 0px 5px 50px rgb(0 0 0 / 5%);
}

.faq-con.faq-main-con .accordion-card:has(.collapsed) {
  border: 1px solid transparent;
}

.faq-con.faq-main-con .faq_content {
  padding-bottom: 55px;
  border-bottom: 1px solid var(--primary--color);
  margin-bottom: 55px;
}

/*  */
.check-availability-con {
  background-image: url("../images/Call/Fondo-tableros-Seccion-Agenda-una-llamada.webp");
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 78px;
  padding-bottom: 78px;
}

.check-availability-con::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(42 90 162 / 90%);
  border-radius: 50px;
}

.check-mail-box button {
  width: 69px;
  height: 39px;
  outline: none;
  border: 0;
  cursor: pointer;
  border-radius: 30px;
  color: var(--primary-color);
  background: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  transition: ease-in-out 0.6s;
}

.check-mail-box button:hover {
  background-color: var(--dark-green-color);
}

.check-mail-box input {
  font-size: 16px;
  line-height: 16px;
  height: 61px;
  padding: 10px 26px;
  border-radius: 35px;
  outline: 0;
  width: 100%;
  border: 1px solid transparent;
  margin-right: 16px;
}

.check-mail-box .primary_btn {
  height: 61px;
  line-height: 61px;
}

.check-mail-box .primary_btn figure {
  top: 9px;
}

.check-mail-box input:focus {
  box-shadow:
    inset 0 1px 1px rgb(0 0 0 / 8%),
    0 0 8px rgb(48 195 235 / 100%);
  border-color: var(--primary--color);
}

.check-mail-box {
  position: relative;
}

.check-content-con .heading-title-con span,
.check-content-con .heading-title-con h2 {
  color: var(--primary-color);
}

.check-content-con .heading-title-con {
  margin-bottom: 30px;
}

.check-content-con .heading-title-con h2 {
  margin-bottom: 18px;
}

.check-content-con .heading-title-con p {
  margin-bottom: 26px;
  font-weight: 400;
}

.check-inner-con {
  display: grid;
  gap: 50px;
  grid-template-columns: 1fr 2.5fr 1fr;
  align-items: center;
  z-index: 1;
}

.check-img-con1 figure,
.check-img-con2 figure {
  margin-bottom: 50px;
}

.dots1 {
  top: 100px;
  right: 50px;
}

.dots2 {
  top: 100px;
  left: 50px;
}

.check-mail-box {
  margin-bottom: 16px;
}

.all-review-span {
  text-decoration: underline;
  color: var(--blue--color);
  margin-left: 16px;
  line-height: 20px;
  font-weight: 500;
  padding-left: 20px;
  border-left: 1px solid var(--border--color);
  transition: all 0.6s ease-in-out;
}

.all-review-span:hover {
  color: var(--primary--color);
}

.trustpilot-rating-box {
  padding: 15px 17px;
  border-radius: 20px;
  width: 569px;
  margin: 0 auto;
  border: 2px dashed rgb(42 90 162 / 20%);
  margin-bottom: 20px;
}

/*  */
/* TESTIMONIALS SECTION */
.client-reviews-con .white-box {
  padding: 41px 38px;
  background-color: var(--secondary--color);
  box-shadow: 0 5px 56px rgb(0 0 0 / 5%);
  border-radius: 25px;
  border-bottom: 2px solid var(--primary--color);
}

.client-reviews-con .owl-carousel .owl-stage-outer {
  padding-top: 50px;
  padding-bottom: 50px;
}

.client-reviews-con .owl-carousel .item {
  width: 100%;
}

.client-reviews-con .owl-carousel .owl-item .white-box img {
  width: auto;
  margin-bottom: 19px;
}

.client-reviews-con .owl-carousel .owl-item .white-box p {
  line-height: 31px;
  margin-bottom: 26px;
  font-size: 20px;
}

.client-reviews-con .testimonial-detail {
  gap: 16px;
}

.client-reviews-con
  .owl-carousel
  .owl-item
  .white-box
  .testimonial-detail
  .name-outer
  ul {
  margin-bottom: 11px;
}

.client-reviews-con
  .owl-carousel
  .owl-item
  .white-box
  .testimonial-detail
  .name-outer
  ul,
.client-reviews-con
  .owl-carousel
  .owl-item
  .white-box
  .testimonial-detail
  .name-outer
  li {
  line-height: 14px;
}

.client-reviews-con
  .owl-carousel
  .owl-item
  .white-box
  .testimonial-detail
  .name-outer
  ul
  li
  i {
  font-size: 13px;
  color: var(--yellow--color);
}

.testimonial-detail .designation {
  font-size: 16px;
  line-height: 20px;
}

.testimonial-detail img {
  border-radius: 100%;
  margin-bottom: 0 !important;
}

.owl-dots {
  margin-top: 18px;
  text-align: center;
}

.owl-dots button {
  border: none;
  outline: none;
  box-shadow: none;
  text-align: center;
  margin: 0 auto;
}

.owl-dots button:focus,
.owl-dots button:focus-visible {
  border: none;
  outline: none;
  box-shadow: none;
}

.owl-dots button.active span {
  background-color: var(--primary--color);
  color: var(--primary--color);
  width: 18px;
  height: 18px;
}

.owl-dots button span {
  background-color: #dde4ef;
  width: 13px;
  height: 13px;
  display: block;
  margin-right: 6px;
  margin-left: 6px;
  cursor: pointer;
  margin-bottom: 0;
  border-radius: 100%;
}

.client-reviews-con h3 {
  font-weight: 700;
}

.item,
.owl-item,
.owl-stage {
  display: flex;
}

.client-reviews-con .quote-img {
  right: 30px;
  bottom: 41px;
  margin-bottom: 0 !important;
}

.before-after-gallery-con .result-box figure::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 90%;
  background-image: url(../images/black-overlay.webp);
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 40px;
}

.result-box span {
  padding: 8px 31px;
  text-align: center;
  border-radius: 20.5px;
  position: absolute;
  top: 30px;
  left: 30px;
  z-index: 1;
}

.result-box h3 {
  bottom: 35px;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.result-box.case-study-box .content-con {
  bottom: 20px;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.result-box.case-study-box h3 {
  position: unset;
  margin-bottom: 12px;
}

.result-box.case-study-box span.flow-rate {
  position: unset;
}

.result-box p {
  font-size: 18px;
  line-height: 25px;
  margin-bottom: 20px;
}

.before-after-gallery-con .owl-dots {
  margin-top: 56px;
}

.work-outer-con {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 38px;
}

.how-it-works-con .inner-item:nth-child(2),
.how-it-works-con .inner-item:nth-child(4) {
  margin-top: 70px;
}

/* HOW IT WORKS SECTION */
.how-it-works-con {
  background: radial-gradient(
    700px 300px at 50% 0%,
    rgba(48, 195, 235, 0.12),
    rgba(255, 255, 255, 0) 70%
  );
}

.how-it-works-con .heading-title-con h2 {
  position: relative;
  padding-bottom: 20px;
}

.how-it-works-con .heading-title-con h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 76px;
  height: 4px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--primary--color), var(--blue--color));
}

.how-it-works-con .work-box {
  position: relative;
  padding: 54px 24px 36px;
  height: 100%;
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #f6fbff 100%);
  border: 1px solid var(--border--color2);
  box-shadow: 0 18px 45px -22px rgba(9, 31, 65, 0.16);
  overflow: hidden;
  transition:
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.55s ease;
}

.how-it-works-con .work-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 22px;
  right: 22px;
  height: 5px;
  border-radius: 0 0 6px 6px;
  background: linear-gradient(90deg, var(--primary--color), var(--blue--color));
  opacity: 0;
  transform: scaleX(0.4);
  transition: all 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.how-it-works-con .work-box:hover {
  transform: translateY(-12px);
  border-color: rgba(48, 195, 235, 0.4);
  box-shadow: 0 34px 70px -26px rgba(9, 31, 65, 0.32);
}

.how-it-works-con .work-box:hover::before {
  opacity: 1;
  transform: scaleX(1);
}

.how-it-works-con .work-box figure {
  position: relative;
  width: 150px;
  height: 150px;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0 auto 38px;
  background-color: var(--primary--color);
  box-shadow: 0 16px 32px -14px rgba(9, 31, 65, 0.4);
  transition:
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.55s ease;
}

.how-it-works-con .work-box figure::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 100%;
  border: 2px dashed rgba(255, 255, 255, 0.5);
  pointer-events: none;
}

.how-it-works-con .work-box figure img {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  object-fit: contain;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.how-it-works-con .work-box figure.bg-yellow {
  background: linear-gradient(
    145deg,
    #7fddf3 0%,
    var(--primary--color) 55%,
    #1ea8d8 100%
  );
}

.how-it-works-con .work-box figure.bg-blue {
  background: linear-gradient(
    145deg,
    #5b86c7 0%,
    var(--blue--color) 55%,
    var(--blue--color2) 100%
  );
}

.how-it-works-con .work-box:hover figure {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 24px 44px -16px rgba(9, 31, 65, 0.5);
}

.how-it-works-con .work-box:hover figure img {
  transform: scale(1.1) rotate(-5deg);
}

.how-it-works-con .work-box span {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: -14px;
  border-radius: 100%;
  border: 4px solid var(--secondary--color);
  z-index: 2;
  background: linear-gradient(
    145deg,
    #173a73 0%,
    var(--accent--color) 55%,
    #061a3d 100%
  );
  box-shadow: 0 10px 22px -8px rgba(9, 31, 65, 0.5);
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.how-it-works-con .work-box:hover span {
  transform: scale(1.08);
}

.how-it-works-con .work-box h3 {
  font-weight: 700;
  margin-bottom: 12px;
  transition: color 0.4s ease;
}

.how-it-works-con .work-box:hover h3 {
  color: var(--blue--color);
}

.how-it-works-con .work-box p {
  line-height: 24px;
}

.how-it-works-con .inner-item {
  position: relative;
}

.how-it-works-con .arrow1 {
  position: absolute;
  top: 44px;
  right: -58px;
  width: 76px;
  z-index: 3;
  filter: drop-shadow(0 6px 10px rgba(9, 31, 65, 0.18));
  transition: transform 0.5s ease;
}

.how-it-works-con .inner-item:hover .arrow1 {
  animation: workArrowBounce 1s ease infinite;
}

@keyframes workArrowBounce {
  0%,
  100% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(6px);
  }
}

/*  */
.price-estimation-con {
  background-image: url("../images/funds/Fondo-de-calculadora.webp");
  background-repeat: no-repeat;
  background-size: cover;
}

.price-estimation-con::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(42 90 162 / 90%);
  border-radius: 50px;
  pointer-events: none;
}

.price-estimation-con .heading-title-con {
  z-index: 1;
  position: relative;
}

.price-estimation-con .estimator-box {
  z-index: 2;
  position: relative;
}

/*  */
/* .why-choose-us-con {
    padding-top: 30px;
    padding-bottom: 30px;
} */

.vector {
  bottom: 0;
  right: 0;
}

.vector2 {
  top: 100px;
  left: 0;
}

/* price estimation */
.estimator-box {
  background-color: var(--secondary--color);
  border-radius: 40px;
  max-width: 1100px;
  margin: auto;
  padding: 48px 56px 40px;
}

.estiamtion-top-con {
  background-color: var(--light--bg--color);
  padding: 52px 65px;
  border-top-right-radius: 40px;
  border-top-left-radius: 40px;
}

.estimation-bottom-con {
  padding: 28px 65px 15px;
}

.estiamtion-top-con .row {
  margin-bottom: 34px;
}

.estimator-box label {
  font-weight: 700;
  color: var(--black--color);
  font-size: 16px;
  margin-bottom: 8px;
}

.estimator-box .form-control {
  height: 61px;
  border-radius: 30px;
  padding-left: 25px;
  border: none;
  font-size: 16px;
  color: var(--text--color);
}

.estimator-box .form-control {
  padding: 0 30px 0 25px;
  -webkit-appearance: none;
  appearance: none;
  background-image: url(../images/dropdown-arrow.webp) !important;
}

.estimate-btn {
  background-color: var(--primary--color);
  color: var(--secondary--color);
  border-radius: 32.5px;
  min-width: 340px;
  margin-right: 20px;
  height: 65px;
  line-height: 65px;
  font-weight: 700;
  font-size: 18px;
  border: none;
  padding-right: 35px;
  position: relative;
  transition: all 0.6s ease-in-out;
}

.estimate-btn:hover {
  background-color: var(--accent--color);
}

.price-box {
  border: 2px dashed #cbd9f1;
  min-width: 380px;
  border-radius: 40px;
  padding: 10px 20px;
  text-align: center;
}

.price-box span.estimate-price {
  font-size: 16px;
  font-weight: 400;
  color: var(--black--color);
  top: -7px;
  position: relative;
}

.estimation-bottom-con h2 {
  margin-bottom: 16px;
  font-weight: 700;
}

.price-box span#price {
  font-size: 40px;
  line-height: 40px;
  font-weight: 800;
  margin-left: 30px;
  color: var(--blue--color);
}

.ranges {
  font-size: 14px;
  color: var(--black--color);
  margin-bottom: 28px;
}

.ranges strong {
  font-weight: 700;
  margin-right: 4px;
}

.disclaimer {
  font-size: 12px;
  color: var(--text--color);
  padding-top: 12px;
  border-top: 1px solid var(--border--color);
}

.ranges ul li {
  margin-bottom: 4px;
}

/*----------------------------------
# Power Plant Sizing Calculator
-----------------------------------*/
.calc-progress-bar {
  background: var(--border--color2);
  border-radius: 30px;
  height: 6px;
  margin-bottom: 16px;
  position: relative;
}

.calc-progress-fill {
  background: linear-gradient(
    90deg,
    var(--primary--color),
    var(--accent--color)
  );
  height: 100%;
  border-radius: 30px;
  width: 16.66%;
  transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.calc-progress-text {
  position: absolute;
  top: -22px;
  right: 0;
  font-size: 12px;
  color: var(--sky--text--color);
  font-weight: 600;
  letter-spacing: 0.5px;
}

.calc-step {
  display: none;
  padding: 10px 0 0;
}

.calc-step.active {
  display: block;
  animation: calcFadeIn 0.35s ease;
}

@keyframes calcFadeIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.calc-step-title {
  font-size: 24px;
  font-weight: 800;
  color: var(--accent--color);
  margin-bottom: 4px;
  text-align: center;
  letter-spacing: -0.3px;
}

.calc-step-title i {
  background: linear-gradient(
    135deg,
    var(--primary--color),
    var(--blue--color2)
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-right: 10px;
  font-size: 22px;
}

.calc-step-subtitle {
  text-align: center;
  color: var(--text--color);
  margin-bottom: 28px;
  font-size: 15px;
  line-height: 1.5;
}

.calc-options-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 10px;
}

.calc-options-grid.calc-options-4 {
  grid-template-columns: repeat(4, 1fr);
}

.calc-options-grid.calc-options-3 {
  grid-template-columns: repeat(3, 1fr);
}

.calc-options-grid.calc-options-2 {
  grid-template-columns: repeat(2, 1fr);
}

.calc-option {
  cursor: pointer;
}

.calc-option-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 14px;
  border: 2px solid var(--border--color2);
  border-radius: 16px;
  text-align: center;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  background: var(--secondary--color);
  min-height: 110px;
  position: relative;
}

.calc-option-box i {
  font-size: 30px;
  color: var(--border--color2);
  margin-bottom: 12px;
  transition: all 0.25s ease;
}

.calc-option-box span {
  font-size: 14px;
  font-weight: 600;
  color: var(--text--color);
  transition: color 0.25s ease;
  line-height: 1.3;
}

.calc-option-box small {
  font-size: 11px;
  color: var(--sky--text--color);
  margin-top: 4px;
  display: block;
}

.calc-option.selected .calc-option-box {
  border-color: var(--primary--color);
  background: linear-gradient(145deg, #f0f9ff, #e0f4ff);
  box-shadow:
    0 4px 20px rgba(48, 195, 235, 0.18),
    inset 0 0 0 1px rgba(48, 195, 235, 0.1);
  transform: translateY(-3px);
}

.calc-option.selected .calc-option-box::after {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 10px;
  right: 10px;
  width: 24px;
  height: 24px;
  background: linear-gradient(
    135deg,
    var(--primary--color),
    var(--blue--color2)
  );
  color: var(--secondary--color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  line-height: 1;
  padding-left: 1px;
}

.calc-option.selected .calc-option-box i {
  color: var(--primary--color);
  transform: scale(1.1);
}

.calc-option.selected .calc-option-box span {
  color: var(--accent--color);
}

.calc-option-box:hover {
  border-color: var(--border--color2);
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
}

.calc-nav {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 32px;
}

.calc-btn-next {
  background: linear-gradient(135deg, var(--accent--color), var(--blue--color));
  color: var(--secondary--color);
  border: none;
  padding: 16px 36px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  letter-spacing: 0.3px;
  box-shadow: 0 4px 15px rgba(9, 31, 65, 0.25);
}

.calc-btn-next:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(9, 31, 65, 0.35);
  background: linear-gradient(135deg, var(--blue--color), var(--blue--color2));
}

.calc-btn-next:active:not(:disabled) {
  transform: translateY(0);
}

.calc-btn-next:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  box-shadow: none;
}

.calc-btn-calculate {
  background: 0 8px 25px rgba(9, 31, 65, 0.35);
  padding: 18px 44px;
  font-size: 16px;
  box-shadow: 0 4px 20px rgba(48, 195, 235, 0.3);
}

.calc-btn-calculate:hover:not(:disabled) {
  box-shadow: 0 8px 30px rgba(48, 195, 235, 0.4) !important;
}

.calc-btn-back {
  background: transparent;
  color: var(--text--color);
  border: 2px solid var(--border--color2);
  padding: 16px 28px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.calc-btn-back:hover {
  border-color: var(--accent--color);
  color: var(--accent--color);
  background: var(--light--bg--color);
}

.calc-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.calc-checkbox-item {
  display: flex;
  align-items: center;
  padding: 14px 18px;
  border: 2px solid var(--border--color2);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.25s ease;
  background: var(--secondary--color);
}

.calc-checkbox-item:hover {
  border-color: var(--border--color);
  background: var(--light--bg--color);
}

.calc-checkbox-item input[type="checkbox"] {
  margin-right: 12px;
  accent-color: var(--primary--color);
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.calc-checkbox-item:has(input:checked) {
  border-color: var(--primary--color);
  background: linear-gradient(145deg, #f0f9ff, #e0f4ff);
}

.calc-checkbox-item span {
  font-size: 14px;
  color: var(--text--color);
  transition: all 0.2s ease;
}

.calc-checkbox-item:has(input:checked) span {
  color: var(--accent--color);
  font-weight: 600;
}

.calc-checkbox-item span i {
  color: var(--border--color2);
  margin-right: 8px;
  width: 20px;
  text-align: center;
  transition: color 0.2s ease;
}

.calc-checkbox-item:has(input:checked) span i {
  color: var(--primary--color);
}

.calc-contact-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--accent--color);
  margin-bottom: 18px;
  text-align: center;
  border-top: 2px solid var(--border--color2);
  padding-top: 20px;
}

.calc-input {
  width: 100%;
  padding: 14px 18px;
  border: 2px solid var(--border--color2);
  border-radius: 12px;
  font-size: 14px;
  font-family: "Archivo", sans-serif;
  color: var(--accent--color);
  margin-bottom: 12px;
  transition: all 0.25s ease;
  background: var(--secondary--color);
}

.calc-input:focus {
  outline: none;
  border-color: var(--primary--color);
  box-shadow: 0 0 0 4px rgba(48, 195, 235, 0.1);
  background: #fafffe;
}

.calc-input::placeholder {
  color: var(--sky--text--color);
}

/* Results */
.calc-results {
  padding: 24px 0 8px;
  animation: calcFadeIn 0.4s ease;
}

.calc-results-header {
  text-align: center;
  margin-bottom: 28px;
}

.calc-results-header h3 {
  font-size: 24px;
  font-weight: 800;
  color: var(--accent--color);
  margin-bottom: 6px;
}

.calc-results-header h3 i {
  background: linear-gradient(
    135deg,
    var(--primary--color),
    var(--blue--color2)
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-right: 10px;
}

.calc-results-header p {
  color: var(--text--color);
  font-size: 15px;
}

.calc-results-main {
  text-align: center;
  margin-bottom: 28px;
}

.calc-results-kw {
  display: inline-block;
  background: linear-gradient(135deg, var(--accent--color), var(--blue--color));
  padding: 28px 56px;
  border-radius: 20px;
  color: var(--secondary--color);
  box-shadow: 0 12px 40px rgba(9, 31, 65, 0.3);
  position: relative;
  overflow: hidden;
}

.calc-results-kw::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -30%;
  width: 200px;
  height: 200px;
  background: radial-gradient(
    circle,
    rgba(48, 195, 235, 0.15) 0%,
    transparent 70%
  );
  border-radius: 50%;
}

.calc-results-label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 8px;
  opacity: 0.7;
  font-weight: 600;
}

.calc-results-value {
  display: block;
  font-size: 52px;
  font-weight: 800;
  line-height: 1;
  position: relative;
}

.calc-results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 28px;
}

.calc-result-item {
  text-align: center;
  padding: 20px 14px;
  background: var(--secondary--color);
  border-radius: 16px;
  border: 1px solid var(--border--color2);
  transition: all 0.25s ease;
}

.calc-result-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
}

.calc-result-item i {
  font-size: 22px;
  background: linear-gradient(
    135deg,
    var(--primary--color),
    var(--blue--color2)
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 10px;
  display: block;
}

.calc-result-label {
  display: block;
  font-size: 11px;
  color: var(--sky--text--color);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 6px;
  font-weight: 600;
}

.calc-result-value {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: var(--accent--color);
}

.calc-results-note {
  background: linear-gradient(135deg, #fffdf0, #fff9e0);
  border-left: 4px solid #fccf3a;
  padding: 20px 24px;
  border-radius: 0 16px 16px 0;
  margin-bottom: 28px;
}

.calc-results-note p {
  margin-bottom: 8px;
  font-size: 13px;
  color: var(--text--color);
  line-height: 1.5;
}

.calc-results-note p:last-child {
  margin-bottom: 0;
}

.calc-results-note i {
  color: #fccf3a;
  margin-right: 8px;
}

/* Calculator text darker */
.estimator-box .calc-step-subtitle,
.estimator-box .calc-option-box span,
.estimator-box .calc-checkbox-item span,
.estimator-box .calc-checkbox-item span i,
.estimator-box .calc-btn-back,
.estimator-box .calc-input,
.estimator-box .result-item span,
.estimator-box .calc-results-header p,
.estimator-box .calc-result-value,
.estimator-box .calc-result-label {
  color: #333 !important;
}

.estimator-box .calc-option-box small {
  color: #555 !important;
}

.estimator-box .calc-input::placeholder {
  color: #777 !important;
}

.estimator-box .calc-checkbox-grid label span i {
  color: #999 !important;
}

.estimator-box .calc-option.selected .calc-option-box span {
  color: #091f41 !important;
}

.estimator-box .calc-checkbox-item:has(input:checked) span {
  color: #091f41 !important;
}

#calcResultsNote:empty {
  display: none;
}

#calcResultsNote .alert {
  padding: 16px 20px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

#calcResultsNote .alert-success {
  background: linear-gradient(135deg, #e8faf0, #d1f5e0);
  border: 1px solid #34d399;
  color: #065f46;
}

#calcResultsNote .alert-warning {
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
  border: 1px solid #fb923c;
  color: #9a3412;
}

#calcResultsNote .alert-info {
  background: linear-gradient(135deg, #eff6ff, #dbeafe);
  border: 1px solid #60a5fa;
  color: #1e40af;
}

.calc-results-cta {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.calc-contact-section {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 2px solid var(--border--color2);
}

.calc-contact-header {
  text-align: center;
  margin-bottom: 24px;
}

.calc-contact-header h3 {
  font-size: 20px;
  font-weight: 800;
  color: var(--accent--color);
  margin-bottom: 6px;
}

.calc-contact-header h3 i {
  background: linear-gradient(
    135deg,
    var(--primary--color),
    var(--blue--color2)
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-right: 8px;
}

.calc-contact-header p {
  color: var(--text--color);
  font-size: 14px;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.5;
}

.calc-contact-form-results {
  max-width: 700px;
  margin: 0 auto;
}

.calc-contact-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 8px;
}

.calc-btn-recalc {
  background: transparent;
  color: var(--text--color);
  border: 2px solid var(--border--color2);
  padding: 12px 28px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Archivo", sans-serif;
}

.calc-btn-recalc:hover {
  border-color: var(--accent--color);
  color: var(--accent--color);
  background: var(--light--bg--color);
}

@media (max-width: 768px) {
  .calc-options-grid,
  .calc-options-grid.calc-options-4,
  .calc-options-grid.calc-options-3 {
    grid-template-columns: repeat(2, 1fr);
  }

  .calc-checkbox-grid {
    grid-template-columns: 1fr;
  }

  .calc-results-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .calc-results-value {
    font-size: 40px;
  }

  .calc-results-kw {
    padding: 24px 40px;
  }
}

@media (max-width: 480px) {
  .calc-options-grid,
  .calc-options-grid.calc-options-4,
  .calc-options-grid.calc-options-3 {
    grid-template-columns: 1fr 1fr;
  }

  .calc-option-box {
    min-height: 85px;
    padding: 18px 10px;
  }

  .calc-results-grid {
    grid-template-columns: 1fr;
  }

  .calc-results-kw {
    padding: 20px 30px;
  }

  .calc-results-value {
    font-size: 34px;
  }

  .calc-btn-next {
    padding: 14px 28px;
    font-size: 14px;
  }
}

.vector-dot1 {
  top: 298px;
  right: 273px;
}

.vector-dot2 {
  bottom: 107px;
  left: 267px;
}

/* service section */
.services-box {
  position: relative;
  margin: 0 auto 100px;
  transition: ease-in-out 0.6s;
  /* width: 331px; */
}

.services-box > figure {
  margin: 0;
  overflow: hidden;
  height: 320px;
}

.services-box > figure > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* white card */
.service-card {
  position: absolute;
  left: 50%;
  bottom: -135px;
  transform: translateX(-50%);
  background: var(--secondary--color);
  width: 281px;
  height: 220px;
  border-radius: 20px;
  padding: 65px 29px 22px;
  text-align: center;
  box-shadow: 5px 0px 56px rgba(0, 0, 0, 5%);
  transition: ease-in-out 0.6s;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.service-card .arrow-btn {
  position: absolute;
  bottom: 22px;
  right: 22px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.service-card:hover .arrow-btn {
  opacity: 1;
}

/* blue circle icon */
.service-icon {
  width: 86px;
  height: 86px;
  background-color: var(--primary--color);
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--secondary--color);
  position: absolute;
  top: -41px;
  left: 50%;
  transform: translateX(-50%);
}

.services-con .owl-carousel .owl-item img {
  width: auto;
  transition: all 0.6s ease-in-out;
}

.service-card h3 {
  font-weight: 800;
  margin-bottom: 6px;
  transition: all 0.6s ease-in-out;
}

.service-card p {
  font-size: 16px;
  margin-bottom: 18px;
  transition: all 0.6s ease-in-out;
}

/* arrow button */
.arrow-btn {
  width: 42px;
  height: 42px;
  background-color: var(--accent--color);
  color: var(--secondary--color);
  border-radius: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.6s ease-in-out;
}

.arrow-btn:hover {
  background-color: var(--accent--color);
  color: var(--secondary--color);
}

.services-box:hover .service-card {
  background-color: var(--accent--color);
}

.services-box:hover .service-card * {
  color: var(--secondary--color);
}

.services-box:hover .service-card .arrow-btn {
  background-color: var(--secondary--color);
}

.services-box:hover .service-card .arrow-btn img {
  filter: brightness(0) invert(0);
}

.services-con .owl-stage-outer {
  padding: 20px 0 50px;
}

.services-con .owl-dots {
  margin-top: 40px;
}

.why-choose-us-con .col-lg-6 {
  margin-bottom: 38px;
}

.choose-text-con {
  margin-top: 50px;
}

.choose-text-con p {
  font-size: 18px;
  line-height: 28px;
  padding-left: 28px;
}

.choose-text-con p::before {
  content: "";
  position: absolute;
  width: 3px;
  height: 74px;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  background-color: var(--primary--color);
}

.choose-box {
  background-color: var(--secondary--color);
  border-radius: 20px;
  padding: 29px 18px 31px 25px;
  border-bottom: 2px solid var(--primary--color);
  transition: ease-in-out 0.6s;
}

.choose-box:hover {
  border-color: var(--blue--color);
  transform: translateY(-2px);
}

.choose-box img {
  margin-bottom: 16px;
}

.choose-box h3 {
  font-weight: 800;
}

.choose-img1,
.choose-img-right {
  right: 30px;
  top: 30px;
  bottom: 30px;
  margin: auto;
}

.why-choose-us-con .col-lg-3 {
  display: flex;
}

.why-choose-us-con .row {
  padding-right: 150px;
}

.why-choose-us-con .choose-logo {
  width: 124px;
  height: 124px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  background-color: var(--secondary--color);
  top: 70px;
  right: 330px;
}

.why-choose-us-con .choose-logo img {
  width: 80px;
  height: auto;
}

.about-us-con {
  padding-top: 30px;
  padding-bottom: 30px;
}

/* ABOUT SECTION */
.years-experience-con figure {
  width: 106px;
  height: 106px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  background-color: var(--accent--color);
}

.about-us-inner-con {
  gap: 120px;
  display: grid !important;
  grid-template-columns: 45% 49%;
}

.about-us-con .about-left-con figure.about-img2 {
  z-index: 1;
}

.about-right-con {
  padding-right: 28%;
}

.about-right-con .heading-title-con h2 {
  margin-bottom: 24px;
}

.about-right-con .heading-title-con p {
  font-size: 18px;
  line-height: 28px;
  margin-bottom: 28px;
}

.about-listing-con ul li {
  color: var(--black--color);
  font-weight: 500;
  font-size: 18px;
  line-height: 26px;
  margin-bottom: 6px;
  text-align: left;
  padding-left: 33px;
  position: relative;
  transition: all 0.6s ease-in-out;
}

.about-listing-con {
  gap: 52px;
}

.about-listing-con ul li i {
  left: 0;
  position: absolute;
  color: var(--primary--color);
  top: 4px;
  transition: all 0.6s ease-in-out;
}

.about-right-con .heading-title-con ul {
  margin-bottom: 30px;
}

.years-experience-con {
  width: 205px;
  height: 301px;
  background-color: var(--secondary--color);
  border-radius: 104px;
  position: absolute;
  right: -29%;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 36px 20px;
  z-index: 1;
  text-align: center;
}

.years-experience-con figure {
  text-align: center;
  margin: 0 auto 18px;
}

.about-left-con {
  gap: 30px;
  justify-content: center;
  align-items: center;
}

.years-experience-con span.digit {
  font-size: 56px;
  line-height: 56px;
  color: var(--blue--color2, #154d9f);
  margin-bottom: 5px;
}

.font-weight-800 {
  font-weight: 800 !important;
}

.years-experience-con sup {
  font-size: 30px;
  color: var(--blue--color2, #154d9f);
  top: -22px;
}

.years-experience-con span {
  font-size: 18px;
  line-height: 18px;
  font-weight: 500;
  color: var(--black--color);
}

.about-vector {
  right: 0;
  bottom: 0;
}

/* SUB PAGE */
.sub-banner-con {
  background-image: url(../images/Blog/banner-blogs.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 112px;
  padding-bottom: 112px;
  overflow: hidden;
}

.sub-banner-con::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(21 77 159 / 88%);
  border-radius: 50px;
}

.sub-banner-con p {
  font-size: 20px;
  line-height: 31px;
  font-weight: 500;
  margin-bottom: 25px;
}

.sub-banner-con h1 {
  margin-bottom: 24px;
}

/* breadcrumb */
.breadcrumb-item + .breadcrumb-item::before,
.breadcrumb-item.active {
  color: var(--secondary--color);
}

.breadcrumb-con {
  margin-bottom: 36px;
}

.breadcrumb-item {
  font-size: 16px;
  font-weight: 700;
  line-height: 16px;
}

.breadcrumb {
  padding: 14px 30px;
  min-width: 196px;
  transition: ease-in-out 0.6s;
  border-radius: 24px;
  justify-content: center;
  background-color: transparent;
  border: 2px solid rgb(255 255 255 / 20%);
}

.breadcrumb-item a {
  text-decoration: none;
  color: var(--primary--color);
  position: relative;
  transition: all 0.6s ease-in-out;
}

.breadcrumb-item a:hover {
  color: var(--accent--color);
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--secondary--color);
  content: "/";
  font-family: "Font Awesome 6 Free";
  font-size: 19px;
  padding: 0 17px;
  font-weight: 600;
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0 !important;
}

.sub-banner-con img.sub-banner-img1 {
  padding: 12px;
  border: 3px solid var(--secondary--color);
  bottom: 68px;
  left: 110px;
}

.sub-banner-con img.sub-banner-img2 {
  padding: 12px;
  border: 3px solid var(--primary--color);
  top: 68px;
  right: 110px;
}

.sub-banner-con .sub-banner-dots {
  bottom: 136px;
  right: 375px;
}

/*  */
.main-service-con .services-box {
  height: 645px;
  margin: 0 auto;
}

.main-service-con ul {
  width: 215px;
  margin: 0 auto 20px;
}

.main-service-con ul li {
  text-align: left;
  font-size: 16px;
  line-height: 20px;
  margin-bottom: 8px;
  padding-left: 24px;
  transition: all 0.6s ease-in-out;
}

.main-service-con .services-box .service-card {
  bottom: 18px;
  padding-bottom: 25px;
}

.main-service-con .services-box .primary_btn {
  min-width: 196px;
  height: 45px;
  line-height: 45px;
  font-size: 16px;
  margin-bottom: 13px;
}

.main-service-con .services-box .primary_btn figure {
  width: 37px;
  height: 37px;
  right: 4px;
  top: 4px;
}

.main-service-con .services-box .primary_btn:hover {
  background-color: var(--blue--color);
}

.main-service-con ul li i {
  top: 4px;
  font-size: 14px;
}

.main-service-con .services-box a.learn-more {
  font-size: 16px;
  font-weight: 500;
  color: var(--blue--color);
  text-decoration: underline;
  transition: all 0.6s ease-in-out;
}

.main-service-con .services-box:hover a.learn-more {
  color: var(--secondary--color);
}

.main-service-con .services-box:hover a.learn-more:hover {
  color: var(--primary--color);
}

.main-service-con .col-lg-3.col-md-6 {
  margin-bottom: 45px;
}

.main-service-con .col-lg-3.col-md-6:nth-last-of-type(-n + 4) {
  margin-bottom: 0;
}

/*  */

/* 404 page styling start here */
.coming-soon-con,
.error-section {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  justify-content: center;
  position: relative;
  /* overflow: hidden; */
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/error-banner-img.jpg);
  border-radius: 50px;
  overflow-y: auto;
  background-position: center;
  padding: 20px 0;
}

.coming-soon-con::before,
.error-section::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(21 77 159 / 88%);
  border-radius: 50px;
}

.error-con figure img {
  margin-bottom: 36px;
}

.error-con {
  position: relative;
  z-index: 2;
}

.error-con .text-size-28 {
  line-height: 36px;
  margin-bottom: 12px;
  color: var(--secondary--color);
}

.error-con p {
  font-size: 20px;
  line-height: 31px;
  margin-bottom: 35px;
  color: var(--secondary--color);
}

.error-con .primary_btn {
  min-width: 260px;
}

.error-banner,
.coming-soon-con {
  flex-grow: 1;
}

/* COMING SOON PAGE */
.coming-soon-con .new-logo {
  margin-bottom: 116px;
}

.coming-soon-con .text-size-160 {
  margin-bottom: 34px;
  font-size: 160px;
  line-height: 134px;
  text-transform: uppercase;
  color: var(--secondary--color);
  font-weight: 800;
}

.coming-soon-con .text-size-28 {
  margin-bottom: 14px;
  font-weight: 700;
  font-size: 28px;
  line-height: 28px;
  display: inline-block;
  color: var(--secondary--color);
}

/* coming soon countdown timer styling */
.compaign_countdown ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.compaign_countdown ul li {
  float: left !important;
  width: auto;
  margin: 0;
  text-align: center;
  margin: 0 20px;
  /* min-height: 133px; */
  min-width: 80px;
  /* background-color: var(--accent--color);
    padding: 20px 16px; */
  color: var(--secondary--color);
  font-size: 18px;
  font-weight: 400;
  /* border-radius: 20px; */
}

.coming-soon-con p {
  margin-bottom: 16px;
}

.compaign_countdown ul li:first-child {
  margin-left: 0;
}

.compaign_countdown ul li:last-child {
  margin-right: 0;
}

.compaign_countdown ul li span.days,
.compaign_countdown ul li span.hours,
.compaign_countdown ul li span.minutes,
.compaign_countdown ul li span.seconds {
  display: block;
  color: var(--secondary--color);
  width: auto;
  font-size: 52px;
  line-height: 60px;
  font-weight: 500;
}

.compaign_countdown {
  margin: 0 auto;
  width: 50%;
}

.coming-soon-con {
  flex-grow: 1;
  min-height: 100vh;
}

.coming-soon-con .check-mail-box {
  width: 743px;
  margin: 0 auto 40px;
}

/* Login Form Page Style  */

.login-form {
  min-height: 100vh;
  /* background-image: url(../images/login-signup-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; */
}

.login-form .login-form-title {
  margin-bottom: 30px;
}

.login-form .login-page-logo {
  margin-bottom: 25px;
}

.login-form .login-form-box {
  width: 450px;
  margin: 0 auto;
  position: relative;
}

.login-form .login-card {
  padding: 30px;
  margin-bottom: 30px;
  line-height: 0.8;
  border-radius: 20px;
  background: var(--accent--color);
}

.login-form .login-card label {
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  margin-bottom: 13px;
  color: var(--secondary--color);
}

.login-form .login-card .input-field {
  font-size: 16px;
  font-weight: 500;
  height: 54px;
  width: 100%;
  line-height: 16px;
  padding: 0 21px;
  border-radius: 100px;
  background: transparent;
  color: var(--secondary--color);
  /* border: 1px solid rgb(255 255 255 / 50%); */
  border: 1px solid var(--secondary--color);
}

.login-form .login-card .input-field:focus {
  outline: none;
  box-shadow: none;
  border: 1px solid var(--primary--color);
}

.login-form .login-card .form-group {
  margin-bottom: 16px;
}

.login-form .login-card .btn-primary {
  font-size: 18px;
  line-height: 18px;
  font-weight: 500;
  padding: 20px 15px;
  margin-bottom: 16px;
  width: 100%;
  border: none;
  border-radius: 40px;
  text-decoration: none;
  display: inline-block;
  color: var(--accent--color);
  background-color: var(--primary--color);
  transition: all 0.8s ease-in-out;
}

.login-form .login-card .btn-primary:hover {
  color: var(--accent--color);
  background-color: var(--secondary--color);
}

.login-form .login-card .forgot-password {
  color: var(--secondary--color);
  font-size: 16px;
  line-height: 20px;
  text-decoration: none;
  transition: all 0.6s ease-in-out;
}

.login-form .login-card .forgot-password:hover {
  text-decoration: underline;
  color: var(--primary--color);
}

.login-form .login-form-box .join-now-outer a {
  font-size: 16px;
  line-height: 18px;
  color: var(--black--color);
  text-decoration: none;
  transition: all 0.6s ease-in-out;
}

.login-form .login-form-box .join-now-outer a:hover {
  text-decoration: underline;
  color: var(--primary--color);
}

.login-form .login-card .select-option option {
  font-size: 16px;
  color: black;
}

.login-form .form_style::placeholder {
  color: var(--secondary--color);
  opacity: 1;
}

.login-form .form_style:-ms-input-placeholder {
  color: var(--secondary--color);
}

.login-form .form_style::-ms-input-placeholder {
  color: var(--primary--color);
}

/* Join-Now Form Page Style */

.sign-up-form {
  padding: 70px 0;
}

.sign-up-form .login-form-box {
  width: 700px;
}

.sign-up-form .login-card label small {
  font-size: 14px;
}

.sign-up-form .login-card .select-option {
  padding: 0 40px 0 21px;
  -webkit-appearance: none;
  appearance: none;
  background-repeat: no-repeat !important;
  background-position: 96.5% 24px !important;
  background-image: url("../images/dropdown-arrow.webp") !important;
}

.sign-up-form .login-card .select-option:focus {
  outline: none;
  box-shadow: none;
}

/* CORE VALUE */
.main-core-values .choose-box {
  box-shadow: 5px 0px 56px rgb(0 0 0 / 5%);
  padding: 34px 26px;
}

.right-choice-con h2 {
  margin-bottom: 39px;
}

.right-choice-con .about-listing-con ul li {
  color: var(--text--color);
  margin-bottom: 10px;
}

.right-choice-con ul {
  margin-bottom: 43px;
}

.right-choice-con ul li strong {
  color: var(--black--color);
}

.right-choice-con .primary_btn {
  min-width: 260px;
}

.right-choice-con .trustpilot-rating-box {
  width: 377px;
  border: none;
  background-color: var(--secondary--color);
  padding: 17px;
  position: absolute;
  top: 169px;
  right: 0;
  left: 0;
  margin: 0 auto;
  z-index: 1;
}

.trusted-service-con {
  background-image: url(../images/about/about-7.webp);
  background-repeat: no-repeat;
  background-size: cover;
}

.trusted-service-con::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(42 90 162 / 88%);
  border-radius: 50px;
}

.trust-box {
  padding: 45px 108px 45px 45px;
  gap: 30px;
}

.trust-box figure {
  background-color: var(--primary--color);
  width: 121px;
  height: 121px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  flex-shrink: 0;
}

.trust-box h3 {
  margin-bottom: 18px;
}

.our-story-con .primary_btn {
  min-width: 300px;
}

.our-story-con .about-us-inner-con {
  gap: 60px;
  grid-template-columns: 45% 49%;
}

.our-story-con .about-right-con {
  padding-right: 22%;
}

.van-img {
  right: 0;
  top: -200px;
}

.vector3 {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  background-color: var(--secondary--color);
  border-radius: 100%;
  width: 169px;
  height: 169px;
}

/* cost details section */
.cost-details-con {
  border-radius: 40px;
}

.cost-detail-box {
  background-color: var(--secondary--color);
  border-radius: 40px;
  max-width: 1258px;
  margin: auto;
}

.estimation-right-con {
  background-color: var(--light--bg--color);
  padding: 65px 68px 55px;
  width: 704px;
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
}

.estiamtion-left-con {
  background-color: var(--secondary--color);
  padding: 65px 68px 55px;
  width: 554px;
  flex-shrink: 0;
  border-top-left-radius: 40px;
  border-bottom-left-radius: 40px;
}

.estiamtion-left-con h2 {
  margin-bottom: 15px;
}

.estiamtion-left-con p {
  font-size: 18px;
  line-height: 28px;
  margin-bottom: 24px;
}

.estimation-right-con span.drain-range {
  font-size: 40px;
  line-height: 40px;
  font-weight: 800;
  color: var(--blue--color);
  margin-bottom: 35px;
}

.estimation-right-con span {
  color: var(--black--color);
}

.estimation-right-con ul li {
  padding-left: 21px;
  margin-bottom: 4px;
}

.estimation-right-con h3 {
  margin-bottom: 15px;
}

.estimation-right-con ul li i {
  position: absolute;
  color: var(--black--color);
  font-size: 6px;
  top: 10px;
  left: 0px;
}

.estimation-right-con ul {
  margin-bottom: 25px;
}

.pre-quality-span {
  margin-bottom: 22px;
}

.cost-detail-text {
  font-size: 12px;
  line-height: 23px;
  padding-top: 15px;
  border-top: 1px solid var(--border--color);
}

.cost-details-con .vector-dot1 {
  top: 96px;
  right: 206px;
}

.vector-dot2 {
  bottom: 90px;
  left: 210px;
}

.drain-cleaning-con figure img {
  margin-bottom: 50px;
}

.drain-cleaning-inner-con .vector3 {
  margin: unset;
  top: 49px;
  left: 49px;
}

.drain-cleaning-inner-con h2 {
  margin-bottom: 24px;
}

.drain-cleaning-inner-con p {
  font-size: 18px;
  line-height: 28px;
}

.drain-cleaning-inner-con h3 {
  margin-bottom: 23px;
}

.drain-cleaning-inner-con ul {
  margin-bottom: 35px;
}

.drain-cleaning-inner-con .col-lg-4.col-md-6 {
  padding: 0;
}

.drain-cleaning-con a.primary_btn {
  min-width: 318px;
}

.privacy-policy-content-con p,
.privacy-policy-content-con ul li {
  font-size: 18px;
  line-height: 30px;
  font-weight: 400;
  color: var(--text--color);
}

.privacy-policy-content-con ul li {
  padding-left: 24px;
  margin-bottom: 8px;
}

.privacy-policy-content-con ul li i {
  left: 0;
  position: absolute;
  top: 6px;
  color: var(--primary--color);
  font-size: 16px;
}

/* .privacy-policy-content-con h3 {
    font-weight: 600;
} */

.privacy-policy-content-con .orange-text {
  color: var(--primary--color);
  transition: all 0.6s ease-in-out;
}

.privacy-policy-content-con .orange-text:hover {
  color: var(--accent--color);
}

/* contact page */

.contact-information-con .section-label {
  color: var(--primary--color);
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 12px;
}

.contact-information-con h2 {
  margin-bottom: 32px;
}

/* Info Cards */

.contact-information-con .info-card {
  width: 437px;
  display: flex;
  align-items: flex-start;
  background: var(--secondary--color);
  border-radius: 20px;
  padding: 38px 38px;
  margin-bottom: 30px;
  box-shadow: 5px 0px 56px rgba(0, 0, 0, 5%);
  transition: ease-in-out 0.6s;
}

.contact-information-con .info-card:hover {
  transform: translateY(-2px);
}

.contact-information-con .info-icon {
  width: 86px;
  height: 86px;
  background-color: var(--primary--color);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  margin-right: 22px;
}

.contact-information-con .info-text h3 {
  margin-bottom: 13px;
}

.contact-information-con .info-text a {
  font-size: 20px;
  line-height: 28px;
  display: flex;
  align-items: flex-start;
  margin: 0;
  color: var(--text--color);
  transition: all 0.6s ease-in-out;
}

.contact-information-con .info-text a:hover {
  color: var(--primary--color);
  text-decoration: none;
}

.contact-information-con .image-wrapper {
  position: relative;
  text-align: right;
}

.contact-information-con .business-hours {
  position: absolute;
  bottom: 30px;
  right: 30px;
  background: var(--primary--color);
  color: #fff;
  padding: 35px 30px;
  text-align: left;
  border-radius: 30px;
  width: 351px;
}

.contact-information-con .business-hours h3 {
  margin-bottom: 20px;
}

.contact-information-con .business-hours p {
  font-size: 18px;
  font-weight: 600;
  padding-bottom: 10px;
  border-bottom: 1px solid rgb(255 255 255 / 30%);
  margin-bottom: 10px;
  color: var(--secondary--color);
}

.contact-information-con .emergency-bar {
  margin-top: 70px;
  background: var(--blue--color);
  border-radius: 30px;
  padding: 28px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
}

.contact-information-con .emergency-left {
  display: flex;
  align-items: center;
}

.contact-information-con .emergency-left img {
  margin-right: 23px;
}

.contact-information-con .emergency-left h3 {
  margin-bottom: 10px;
}

.contact-information-con .emergency-left p {
  font-size: 18px;
  margin: 0;
}

.contact-information-con .emergency-right span {
  font-size: 16px;
  margin-right: 18px;
}

.contact-information-con .emergency-right a {
  color: var(--primary--color);
  text-decoration: underline;
  font-size: 16px;
  transition: all 0.6s ease-in-out;
}

.contact-information-con .emergency-right a:hover {
  color: var(--secondary--color);
}

/* contact form */
.contact-form-con {
  padding-top: 57px;
}

.contact-form-con .heading-title-con h2 {
  margin-bottom: 12px;
}

.contact-form-con .contact-form-wrap {
  background-color: var(--light--bg--color);
  border-radius: 50px;
  overflow: hidden;
}

.contact-form-con .contact-header {
  background-color: var(--accent--color);
  padding: 55px 105px 50px;
  text-align: center;
}

.contact-form-con .contact-desc {
  font-size: 18px;
  line-height: 28px;
}

.contact-form-con .contact-desc a {
  color: var(--primary--color);
  text-decoration: none;
}

.contact-form-con .contact-desc a:hover {
  color: var(--secondary--color);
}

.contact-form-con form {
  padding: 52px 105px;
}

.contact-form-con .form-row-custom,
.request-form-con .form-row-custom {
  display: flex;
  gap: 20px;
}

.contact-form-con .form-group-custom,
.request-form-con .form-group-custom {
  margin-bottom: 26px;
  width: 100%;
}

.contact-form-con .form-group-custom label,
.request-form-con .form-group-custom label {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  display: block;
  margin-bottom: 12px;
  color: var(--black--color);
}

.contact-form-con .form-group-custom label span {
  color: red;
}

.contact-form-con .form-group-custom input,
.request-form-con .form-group-custom input,
.contact-form-con .form-group-custom select,
.request-form-con .form-group-custom select,
.contact-form-con .form-group-custom textarea,
.request-form-con .form-group-custom textarea {
  width: 100%;
  height: 61px;
  border-radius: 30px;
  border: 2px solid transparent;
  padding: 0 25px;
  font-size: 16px;
  color: var(--black--color);
}

.contact-form-con .form-group-custom input::placeholder,
.request-form-con .form-group-custom input::placeholder,
.contact-form-con .form-group-custom textarea::placeholder,
.request-form-con .form-group-custom textarea::placeholder {
  color: #a4a4a4;
}

.contact-form-con .form-group-custom select,
.request-form-con .form-group-custom select,
.contact-form-con .form-group-custom select::placeholder,
.request-form-con .form-group-custom select::placeholder,
.contact-form-con .form-group-custom select option,
.request-form-con .form-group-custom select option {
  color: var(--black--color);
}

.contact-form-con .form-group-custom input:focus,
.request-form-con .form-group-custom input:focus,
.contact-form-con .form-group-custom input:focus-visible,
.request-form-con .form-group-custom input:focus-visible,
.contact-form-con .form-group-custom select:focus,
.request-form-con .form-group-custom select:focus,
.contact-form-con .form-group-custom select:focus-visible,
.request-form-con .form-group-custom select:focus-visible,
.contact-form-con .form-group-custom textarea:focus,
.request-form-con .form-group-custom textarea:focus,
.contact-form-con .form-group-custom textarea:focus-visible,
.request-form-con .form-group-custom textarea:focus-visible {
  border: 2px solid var(--primary--color);
  outline: none;
  box-shadow: none;
}

.contact-form-con .form-group-custom .form-control {
  padding: 0 30px 0 25px;
  -webkit-appearance: none;
  appearance: none;
  background-repeat: no-repeat !important;
  background-position: 95% 27px !important;
  background-image: url(../images/dropdown-arrow.webp) !important;
}

.contact-form-con .form-group-custom textarea,
.request-form-con .form-group-custom textarea {
  height: 113px;
  padding: 17px 25px;
  resize: none;
  border-radius: 12px;
}

.contact-form-con .option-group {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.contact-form-con .option-btn {
  position: relative;
}

.contact-form-con .option-btn input {
  display: none;
}

.contact-form-con .form-group-custom .option-btn span {
  padding: 17px 26px;
  border-radius: 30px;
  background-color: var(--secondary--color);
  border: 1px solid var(--secondary--color);
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  width: 288px;
  display: block;
  text-align: center;
  color: var(--black--color);
}

.contact-form-con .option-btn span i {
  margin-right: 10px;
  font-size: 16px;
}

.contact-form-con .option-btn input:checked + span {
  background-color: var(--blue--color);
  color: var(--secondary--color);
  border-color: var(--blue--color);
}

.contact-form-con .upload-group {
  padding-top: 42px;
  margin-top: 42px;
  border-top: 1px solid var(--border--color2);
}

/* hide real input */
.contact-form-con .custom-upload input[type="file"] {
  display: none;
}

.contact-form-con .custom-upload {
  display: flex;
  align-items: center;
  gap: 18px;
}

/* Choose Files button */
.contact-form-con .form-group-custom .upload-btn {
  padding: 10px 22px;
  border-radius: 21px;
  background-color: var(--sky--text--color2);
  color: var(--blue--color);
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  border: none;
  margin-bottom: 0;
}

/* No files chosen text */
.contact-form-con .file-name {
  font-size: 14px;
  color: #7a7a7a;
}

.contact-form-con .upload-info {
  font-size: 14px;
  margin-top: 12px;
  color: var(--text--color);
}

.contact-form-con .spacing-border {
  margin-bottom: 38px;
  border-bottom: 1px solid var(--border--color2);
  padding-bottom: 38px;
}

.contact-form-con .custom-checkbox {
  display: flex;
  align-items: center;
  padding-left: 36px;
  font-size: 16px;
  cursor: pointer;
  position: relative;
  font-weight: 400 !important;
}

/* hide real checkbox */
.contact-form-con .custom-checkbox input {
  display: none;
}

/* custom circle */
.contact-form-con .checkmark {
  width: 21px;
  height: 21px;
  display: block;
  border-radius: 50%;
  border: 1px solid var(--border--color2);
  background-color: #fff;
  position: absolute;
  left: 0;
}

/* checked state */
.contact-form-con .custom-checkbox input:checked + .checkmark {
  background-color: var(--primary--color);
  border-color: var(--primary--color);
}

.contact-form-con .custom-checkbox input:checked + .checkmark::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  width: 9px;
  height: 9px;
  background: var(--secondary--color);
  border-radius: 50%;
}

.contact-form-con .form-submit,
.request-form-con .form-submit {
  margin-top: 30px;
}

.contact-form-con .form-submit button,
.request-form-con .form-submit button {
  width: 100%;
  height: 65px;
  border-radius: 32.5px;
  border: none;
  background-color: var(--primary--color);
  color: var(--secondary--color);
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  position: relative;
  transition: ease-in-out 0.6s;
}

.contact-form-con .form-submit button:hover,
.request-form-con .form-submit button:hover {
  background-color: var(--accent--color);
}

/* CONTACT MAP SECTION */
.contact-map-con iframe {
  height: 553px;
  width: 100%;
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  pointer-events: none;
  border-radius: 30px;
  border: none;
  position: relative;
  transition: ease-in-out 0.6s;
}

.contact-map-con div:hover iframe {
  filter: grayscale(0);
  -webkit-filter: grayscale(0);
}

/* our comitment con */
.our-comitment-con .heading-title-con p {
  font-size: 18px;
  line-height: 28px;
}

.our-comitment-con .heading-title-con {
  margin-bottom: 90px;
}

.our-comitment-con h3 {
  margin-bottom: 19px;
}

.our-comitment-con h4 {
  margin-bottom: 30px;
}

.wait-con {
  background: var(--blue--color);
  border-radius: 12px;
  padding: 30px 40px;
  display: flex;
  color: var(--secondary--color);
  gap: 23px;
  margin-bottom: 43px;
}

.wait-con h3 {
  margin-bottom: 10px;
}

.wait-con p {
  line-height: 23px;
}

.time-window-group.form-group-custom .option-btn span {
  width: 207px;
  /* height: 96px; */
  display: flex;
  align-items: center;
  padding: 19px 46px;
  justify-content: center;
  border-radius: 12px;
}

.comitment-listing-outer {
  gap: 41px;
}

.comitment-listing-outer ul li {
  position: relative;
  color: var(--black--color);
  font-size: 14px;
  line-height: 23px;
  padding-left: 16px;
  font-weight: 500;
}

.comitment-listing-outer ul li i {
  position: absolute;
  left: 0;
  top: 9px;
  font-size: 5px;
}

/* TEAM SECTION */

.our-team-con .team-box .designation {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 400;
  color: var(--text--color);
  line-height: 20px;
}

.our-team-con .team-box figure {
  margin-bottom: 24px;
  overflow: hidden;
  position: relative;
  border-radius: 20px;
}

.our-team-con .team-box figure img {
  transition: ease-in-out 1s;
  border-radius: 20px;
}

.our-team-con .team-box:hover figure img {
  transform: scale(1.02);
}

.our-team-con .team-box ul li a {
  margin: 0 2px;
}

.our-team-con .team-box ul li:hover i {
  transform: translateY(-2px);
}

.our-team-con .team-box .text-size-22 {
  margin-bottom: 10px;
}

.our-team-con .team-box ul li i {
  width: 44px;
  height: 44px;
  font-size: 15px;
  background-color: var(--primary--color);
  line-height: 44px;
  color: var(--secondary--color);
  border-radius: 100%;
  transition: ease-in-out 0.5s;
}

.our-team-con .team-box ul li i:hover {
  background-color: var(--accent--color);
  color: var(--secondary--color);
}

.our-team-con .team-box {
  transition: ease-in-out 0.6s;
  padding-bottom: 20px;
}

.our-team-con .team-box:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
  background-color: var(--secondary--color);
}

.our-team-con .col-lg-3.col-md-6 {
  margin-bottom: 65px;
}

.our-team-con .col-lg-3.col-md-6:nth-last-of-type(-n + 4) {
  margin-bottom: 0;
}

.professional-care-con {
  padding-top: 30px;
  padding-bottom: 30px;
  background-image: url(../images/funds/mantenimiento-1.webp);
  background-repeat: no-repeat;
  background-size: cover;
}

.professional-care-minor {
  background-image: url(../images/funds/mantenimiento-2.webp);
}

.professional-care-con::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(21 77 159 / 92%);
  border-radius: 50px;
}

.care-inner-con {
  padding-left: 0;
  gap: 50px;
}

.care-inner-con h2 {
  margin-bottom: 25px;
}

.care-inner-con p {
  margin-bottom: 25px;
}

.care-inner-con ul {
  margin-bottom: 40px;
}

.care-inner-con ul li {
  margin-bottom: 10px;
}

.care-inner-con .primary_btn {
  min-width: 260px;
}

.professional-care-con .vector4 {
  position: absolute;
  right: 78px;
  bottom: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  background-color: var(--secondary--color);
  border-radius: 100%;
  width: 148px;
  height: 148px;
}

.professional-care-minor .vector4 {
  right: auto;
  left: 78px;
}

.professional-care-minor .heading-title-con {
  text-align: right;
}

.professional-care-minor .heading-title-con .about-listing-con ul {
  text-align: right;
}

.professional-care-minor .heading-title-con .about-listing-con ul li {
  padding-left: 0;
  padding-right: 33px;
  text-align: right;
}

.professional-care-minor .heading-title-con .about-listing-con ul li i {
  left: auto !important;
  right: 0 !important;
}

.professional-care-minor .heading-title-con .special-text {
  text-align: right;
}

.professional-care-minor .heading-title-con .primary_btn {
  margin-left: auto;
}

/* PRICING PLANS SECTIONS */
.pricing-plans-con .pricing-box {
  background-color: var(--secondary--color);
  border-radius: 30px;
  padding: 42px 49px;
  position: relative;
  border: 1px solid var(--secondary--color);
  transition: ease-in-out 0.6s;
}

.pricing-plans-con .pricing-box figure.price-icon {
  width: 86px;
  height: 86px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  background-color: var(--primary--color);
  margin-bottom: 22px;
}

.pricing-plans-con .pricing-box:hover {
  border: 1px solid var(--primary--color);
}

.pricing-plans-con .pricing-box .text-size-28 {
  margin-bottom: 10px;
}

.pricing-plans-con .pricing-box .price-content {
  font-size: 54px;
  line-height: 60px;
  font-weight: 600;
  color: var(--blue--color);
  margin-bottom: 22px;
}

.pricing-plans-con .pricing-box .price-content span {
  font-size: 20px;
  line-height: 26px;
  color: var(--text--color);
  font-weight: 400;
}

.pricing-plans-con .pricing-box .price-content span.dollar {
  font-size: 24px;
  line-height: 24px;
  position: relative;
  color: var(--blue--color);
  top: -19px;
}

.pricing-plans-con .pricing-box ul li {
  font-size: 18px;
  line-height: 23px;
  margin-bottom: 10px;
  padding-left: 28px;
  color: var(--black--color);
}

.pricing-plans-con .pricing-box ul li i {
  position: absolute;
  left: 0;
  top: 5px;
  color: var(--blue--color);
  font-size: 14px;
}

.pricing-plans-con .pricing-box ul {
  margin-bottom: 33px;
}

.pricing-plans-con .pricing-box:hover .primary_btn {
  background-color: var(--accent--color);
  color: var(--secondary--color);
}

.pricing-plans-con .pricing-box:hover .primary_btn:hover {
  background-color: var(--accent--color);
  color: var(--secondary--color);
}

.pricing-plans-con .pricing-box .primary_btn {
  max-width: max-content !important;
  display: inline-flex !important;
  align-items: center;
  white-space: nowrap;
  justify-content: center;
  height: 54px;
  line-height: 54px;
  min-width: 184px;
  font-size: 16px;
}

.pricing-plans-con .pricing-box .primary_btn figure {
  width: 40px;
  height: 40px;
  right: 7px;
  top: 7px;
}

/* VIDEO SECTION */
.video-con .video-inner-wrap {
  height: 552px;
}

.video-con .video-inner-wrap::before {
  background: url(../images/Video/video-2.webp);
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 30px;
}

/*  */

/* GALLERY SECTION */
.gallery-inner-con {
  display: grid;
  grid-template-columns: 400px 540px 400px;
  gap: 30px;
  margin-bottom: 40px;
}

.gallery-con .gallery-img-con {
  margin-bottom: 40px;
  border-radius: 40px;
  position: relative;
}

.gallery-con .gallery-img-con img {
  display: block;
  object-fit: cover;
  pointer-events: none;
  width: 100%;
  height: 100%;
  border-radius: 40px;
}

.gallery-con .gallery-img-con img {
  transition: 0.4s ease-in-out;
}

.gallery-con .gallery-img-con img {
  transition: 0.4s ease-in-out;
}

.gallery-con .gallery-img-con:hover img {
  transform: scale(1.1);
}

.gallery-con .gallery-img-con a::before {
  content: "";
  background: url(../images/Plus-icon.webp) no-repeat center;
  width: 66px;
  height: 66px;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  display: none;
  transform: translate(-50%, -50%);
  border-radius: 100%;
}

.gallery-con .gallery-img-con a::after {
  content: "";
  top: 0;
  right: 0;
  position: absolute;
  border-radius: 40px;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 50%);
  display: none;
}

.gallery-con .gallery-img-con:hover a::before,
.gallery-con .gallery-img-con:hover a::after {
  display: block;
}

.gallery-con .gallery-img-con a img {
  display: block;
  margin: 0;
  width: 100%;
  height: 100%;
  transition: all 0.6s ease-in-out;
  -moz-transition: all 0.6s ease-in-out;
  -webkit-transition: all 0.6s ease-in-out;
  -o-transition: all 0.6s ease-in-out;
}

.gallery-con .gallery-img-con a.zoom:hover img {
  transform: scale(1.2);
  -ms-transform: scale(1.2);
  -webkit-transform: scale(1.2);
  -o-transform: scale(1.2);
  -moz-transform: scale(1.2);
}

.gallery-con .gallery-img-con {
  overflow: hidden;
  position: relative;
}

.gallery-bottom-con {
  display: grid;
  grid-template-columns: 687px 687px;
  gap: 30px;
}

#lightbox .modal-content {
  display: inline-block;
  text-align: center;
  background: none;
  border: none;
}

.modal-header {
  border: none;
}

.modal-body {
  padding: 0;
}

button.close:focus {
  outline: none;
  border: none;
}

button.close {
  border: 0;
  position: absolute;
  right: -20px;
  top: -20px;
  color: var(--secondary--color);
  background: var(--primary--color);
  opacity: 1;
  padding: 5px 16px 14px !important;
  border-radius: 50%;
  height: 50px;
  width: 50px;
  font-size: 32px;
  z-index: 2;
  font-weight: 300;
}

button.close span i {
  font-size: 20px;
}

button.close:hover {
  background: var(--primary--color);
  color: var(--secondary--color);
  opacity: 1;
}

.modal-dialog {
  max-width: fit-content;
  top: 20%;
  width: 55%;
}

.modal-content {
  height: 100vh;
  overflow: inherit;
}

.modal-body img {
  border-radius: 40px;
}

.gallery-con ul.nav-tabs {
  text-align: center;
  justify-content: center;
  gap: 56px;
  margin-bottom: 50px;
  border-bottom: none;
}

.gallery-con ul.nav-tabs li a {
  font-size: 18px;
  line-height: 26px;
  color: var(--black--color);
  font-weight: 600;
}

.gallery-con ul.nav-tabs li a:hover {
  text-decoration: none;
}

.gallery-con ul.nav-tabs li a.active {
  color: var(--secondary--color);
  background-color: var(--primary--color);
  border-radius: 20px;
  padding: 10px 28px;
}

/* HOME 02 STYLING */
.home2-wrapper .banner-con {
  background-image: url(../images/banner-home2-bg-img.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 195px;
  overflow: visible;
  padding-bottom: 195px;
}

.home2-wrapper .banner-con::before {
  display: none;
}

.home2-wrapper .banner-con .primary_btn {
  margin-left: 0;
  margin-bottom: 0;
}

.home2-wrapper .banner-content-con {
  padding-top: 0;
}

.home2-wrapper .banner-con p {
  padding-left: 0;
}

.home2-wrapper .banner-con p::before {
  display: none;
}

.home2-wrapper .banner-con .video-card {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
}

.home2-wrapper .banner-con .video-card .overlay img {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  left: 0;
}

.home2-wrapper .banner2-right-con {
  right: 66px;
  bottom: 66px;
}

.home2-wrapper .banner2-right-con .video-card img.banner2-video-img {
  padding: 15px;
  border: 1px solid rgba(255, 255, 255, 55%);
  border-radius: 35px;
  background-color: rgb(255 255 255 / 10%);
}

.home2-wrapper .banner-content-con .welcome-span,
.home3-banner-con .welcome-span {
  font-size: 20px;
  line-height: 29px;
  font-weight: 500;
  margin-bottom: 20px;
  position: relative;
  padding-left: 50px;
}

.home2-wrapper .banner-content-con .welcome-span::before,
.home3-banner-con .welcome-span::before {
  position: absolute;
  left: 0;
  content: "";
  height: 3px;
  width: 36px;
  background-color: var(--primary--color);
  top: 12px;
}

.banner2-vector {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -68px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  background-color: var(--secondary--color);
  border-radius: 100%;
  width: 137px;
  height: 137px;
}

/* home2 services */
.services-box2 {
  padding: 45px;
  text-align: center;
  box-shadow: 0px 5px 56px rgb(0 0 0 / 5%);
  border-radius: 20px;
  transition: ease-in-out 0.6s;
}

.services-box2 h3,
.services-box2 p {
  transition: all 0.6s ease-in-out;
}

.services-box2 .service-icon {
  position: unset;
  transform: unset;
  top: unset;
  left: unset;
  text-align: center;
  margin: 0 auto 20px;
}

.home2-wrapper .services-con .heading-title-con {
  margin-bottom: 20px;
}

.home2-wrapper .services-con .owl-stage-outer {
  margin-top: 40px;
}

.home2-wrapper .services-con .services-box2:hover {
  background-image: url(../images/service-hover-img.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 20px;
}

.home2-wrapper .services-con .services-box2:hover * {
  color: var(--secondary--color);
}

.home2-wrapper .services-con .services-box2:hover .arrow-btn {
  background-color: var(--secondary--color);
}

.home2-wrapper .services-con .services-box2:hover .arrow-btn img {
  filter: invert(1);
}

.services-con2 .services-box2 {
  position: relative;
  overflow: hidden;
}

.services-con2 .services-box2::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.55);
  border-radius: 20px;
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
  z-index: 0;
}

.services-con2 .services-box2:hover::after {
  opacity: 1;
}

.services-con2 .services-box2 > * {
  position: relative;
  z-index: 1;
}

.services-con2 .services-box2:hover {
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 20px;
}

.services-con2 .services-box2:hover * {
  color: #fff !important;
}

.services-con2 .services-box2:hover .arrow-btn {
  background-color: var(--secondary--color);
}

.services-con2 .services-box2:hover .arrow-btn img {
  filter: invert(1);
}

/* ABOUT US CON 02 */
.about-us-con2 {
  background-image: url(../images/about-us-con2-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}

.about-us-con2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(31 77 157 / 92%);
  border-radius: 30px;
}

.huge-vector {
  right: 0;
  bottom: 0;
}

.about2-right-con figure img {
  margin-bottom: 30px;
}

.about2-left-con h2 {
  margin-bottom: 18px;
}

.about2-left-con p {
  margin-bottom: 25px;
}

/* cta con 02 */
.cta-con2 {
  background-image: url("../images/Services/Seccion-separador.webp");
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

.cta-con2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50px;
  z-index: 0;
}

.cta-con2 .primary_btn {
  margin-bottom: 23px;
  min-width: 450px;
  white-space: normal;
  height: auto;
  padding: 14px 50px;
  line-height: 1.4;
}

.cta-con2 h2 {
  line-height: 1.3;
  margin-bottom: 35px !important;
}

.cta-con2 .heading-title-con {
  max-width: 900px;
  margin: 0 auto;
}

/* REQUEST SERVICE CON 02 */
.request-service-con .blue-box {
  background-image: url(../images/request-service-bg-img.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px;
  margin-right: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.request-service-con .blue-box::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(42 90 162 / 87%);
  border-radius: 50px;
}

.request-service-con .blue-box ul li {
  display: flex;
  align-items: center;
  gap: 19px;
  margin-bottom: 30px;
}

.request-service-con .blue-box ul li:last-child {
  margin-bottom: 0;
}

.request-service-con .blue-box ul li figure {
  width: 63px;
  height: 63px;
  background-color: var(--primary--color);
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.request-service-con .blue-box h2 {
  margin-bottom: 22px;
}

.request-form-con p {
  margin-bottom: 30px;
}

/*  HOME PAGE 03 STYLING */
/* services section 03 */
.service-box3 {
  gap: 37px;
  box-shadow: 5px 0px 56px rgba(0, 0, 0, 5%);
  padding: 10px;
  padding-right: 25px;
}

.service-box3 .service-content3 .primary_btn {
  min-width: 186px;
  height: 45px;
  line-height: 45px;
  font-size: 16px;
}

.service-box3 .service-content3 .primary_btn figure {
  top: 4px;
  right: 4px;
  width: 37px;
  height: 37px;
}

.home3-wrapper .services-con .col-lg-6 {
  margin-bottom: 40px;
}

.home3-wrapper .services-con .col-lg-6:nth-last-of-type(-n + 2) {
  margin-bottom: 0;
}

/* ABOUT US CON 03 */

.about-us-con3 ul li {
  gap: 26px;
  margin-bottom: 20px;
}

.about-us-con3 ul li:last-child {
  margin-bottom: 0;
}

.about-us-con3 ul li figure {
  width: 72px;
  height: 72px;
  background-color: var(--secondary--color);
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.about3-bottom-con {
  gap: 85px;
}

.about-us-con3 h3 {
  font-weight: 800;
}

/*  */

.about3-vector {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -75px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  background-color: var(--secondary--color);
  border-radius: 100%;
  width: 149px;
  height: 149px;
}

.get-in-touch-con3 .primary_btn {
  margin-bottom: 22px;
}

.get-in-touch-con3 .check-img-con1 figure,
.get-in-touch-con3 .check-img-con2 figure {
  margin-bottom: 20px;
}

.get-in-touch-con3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(31 77 157 / 90%);
  border-radius: 50px;
}

/* HOME PAGE 03 BANNER SECTION */
.home3-banner-con .banner-left-con {
  z-index: 1;
  height: 692px;
}

.home3-banner-con {
  padding-top: 138px;
  padding-left: 100px;
}

.home3-banner-con::before {
  content: "";
  background-image: url(../images/banner3-img1.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  left: 0;
  top: 0;
  height: 831px;
  width: 49.5%;
  border-radius: 50px;
}

.home3-banner-con::after {
  content: "";
  background-image: url(../images/banner3-img2.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  right: 0;
  top: 0;
  height: 831px;
  width: 49.5%;
  border-radius: 50px;
}

.home3-banner-con .banner-left-con .rating-con {
  margin-bottom: 45px;
}

.home3-service-form {
  display: flex;
  align-items: center;
  background: var(--secondary--color);
  border-radius: 50px;
  padding: 13px 13px;
  width: 1124px;
  box-shadow: 5px 0px 56px rgba(0, 0, 0, 5%);
}

.home3-form-item {
  padding: 0 32px;
  border-right: 1px solid var(--border--color2);
  width: 223px;
}

.home3-form-item.last-item {
  border-right: none;
}

.home3-form-item i {
  font-size: 12px;
  color: var(--primary--color);
  margin-right: 8px;
}

.home3-form-item.first-item {
  width: 380px;
}

.home3-input-wrap label {
  font-size: 14px;
  line-height: 23px;
  color: var(--text--color);
  margin-bottom: 5px;
  display: block;
}

.home3-input {
  border: none;
  padding: 0px;
  font-size: 16px;
  height: auto;
  line-height: 23px;
  font-weight: 700;
  box-shadow: none;
  color: var(--black--color);
}

.home3-input:focus {
  outline: none;
  box-shadow: none;
}

.home3-btn-wrap {
  margin-left: 24px;
}

.home3-submit-btn {
  min-width: 260px;
  border: none;
  height: 65px;
  line-height: 65px;
  font-weight: 700;
  text-align: center;
  border-radius: 32.5px;
  position: relative;
  display: inline-block;
  background-color: var(--primary--color);
  color: var(--secondary--color);
  transition: all 0.6s ease-in-out;
  padding-right: 30px;
}

.home3-submit-btn span {
  position: absolute;
  background-color: var(--secondary--color);
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  position: absolute;
  right: 11px;
  top: 11px;
}

.home3-submit-btn:hover {
  background: var(--accent--color);
}

.home3-banner-con p {
  font-size: 20px;
  line-height: 30px;
  font-weight: 500;
  margin-top: 15px;
  margin-bottom: 50px;
}

/* schedule page helpful toggle section */

.helpful-toggles .toggle-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 12px;
  column-gap: 0;
  width: 70%;
}

.helpful-toggles label.custom-check {
  margin-bottom: 0;
  font-weight: 400;
}

.helpful-toggles .custom-check {
  position: relative;
  padding-left: 34px;
  cursor: pointer;
  font-size: 14px;
  color: #333;
  user-select: none;
  line-height: 22px;
}

.helpful-toggles .custom-check input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

.helpful-toggles .custom-check .checkmark {
  position: absolute;
  left: 0;
  top: 1px;
  height: 20px;
  width: 20px;
  border: 2px solid #cfd4dc;
  border-radius: 100px;
  background-color: #fff;
}

.helpful-toggles .custom-check input:checked ~ .checkmark {
  background-color: var(--primary--color);
  border-color: var(--primary--color);
}

.helpful-toggles .custom-check .checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.helpful-toggles .custom-check input:checked ~ .checkmark:after {
  display: block;
}

.helpful-toggles .custom-check .checkmark:after {
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.before-after-gallery-con .single-item-con {
  gap: 40px;
}

/* ============================================================
   PERFORMANCE FIXES — Lighthouse / Core Web Vitals
   ============================================================ */

/* FIX 1: WOW.js visibility — evita CLS y reflows forzados
   WOW.js aplica visibility:hidden en los elementos .wow antes de
   animarlos. Esta propiedad no es compositable (GPU) y genera
   layout shifts + forced reflows. Forzamos visible para que la
   transición sea solo de opacity/transform (compositable).
   El efecto de animación sigue activo via animate.css.
   ------------------------------------------------------------ */
.wow {
  visibility: visible !important;
}

/* FIX 2: Animaciones compositable — reemplaza box-shadow animado
   box-shadow no puede ser acelerado por GPU. Se reemplaza con
   filter:drop-shadow para el botón back-to-top y WhatsApp float.
   ------------------------------------------------------------ */
#button,
.whatsapp-float {
  will-change: transform;
}
