/* Author's Custom Styles */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

body {
  font-size: 18px;
  line-height: 34px;
  background-color: #fff;
  color: #000;
  font-family: "Outfit", serif;
  overflow-x: hidden !important;
  font-weight: 400 !important;
}

h1 {
  font-family: "Outfit", serif;
  font-weight: 800;
  color: #000;
  font-size: 60px;
}

h3, h4, h5 {
  font-family: "Outfit", serif;
  color: #141518;
}

h2 {
  font-family: "Outfit", serif;
  font-weight: 600;
}

p, ul {
  margin: 0px;
  margin-bottom: 20px;
}

a, a:hover, a:visited, a:active, a:focus {
  color: inherit;
  text-decoration: none;
}

.btn {
  font-family: "Outfit", serif;
  background: #02679D;
  border: 1px solid #02679D;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  padding: 15px 20px;
  position: relative;
  transition: all 0.3s ease-in-out 0s;
  color: rgb(255, 255, 255) !important;
  font-weight: 600 !important;
  width: 230px !important;
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  -ms-transition: all 0.3s ease-in-out 0s;
  -o-transition: all 0.3s ease-in-out 0s;
  border-radius: 0px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -ms-border-radius: 0px;
  -o-border-radius: 0px;
}

.btn:hover{
  border: 1px solid #02679D;
  background: transparent !important;
  color: #02679D !important;
  transition: 0.3s ease-in-out;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
}


.btn:focus {
  outline: none;
  color: #000 !important;
}


.bg-light{
  background-color: #f4f4f4 !important ;
}

/* * Section */
.section {
  padding-top: 80px;
  text-align: left;
}

.section h2 {
  font-size: 42px;
  margin-bottom: 0px;
  margin-bottom: 20px;
}

.section h2 span{
  font-weight: 400;
}

.section h3 {
  font-size: 28px;
  color: #000;
  font-weight: 700;
  margin-bottom: 20px;
}
.section h3 span{
  font-weight: 400;
}

.section h2:first-child {
  margin-top: 0px;
  color: #000;
}

.section p:last-child, .section ul:last-child {
  margin-bottom: 0px;
}

.section-padding {
  padding: 0px 100px;
}

.no-padding {
  padding: 0px;
}

.no-margin {
  margin: 0px;
}


/* header */

header{
  background: #141518;
  color: #fff;
  width: 100%;
  position: fixed;
  z-index: 10;
  opacity: 1;
  top: 0;
  transition: 0.3s ease-in-out;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
}

header .top-area{
  border-bottom: 1px solid rgba(230,230,230,0.1);
}

header .topbar{
  display: flex;
  justify-content: space-between;
  padding: 10px 0px;
}

header .topbar .contact-area{
  display: flex;
  gap: 30px;
}

header .topbar .contact-area .item{
  display: flex;
  gap: 10px;
  align-items: center;
}

header .topbar .contact-area .item a{
  transition: 0.3s ease-in-out;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
}

header .topbar .contact-area .item a:hover{
  color: #00679C;
  transition: 0.3s ease-in-out;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
}

header .topbar .social-links{
  display: flex;
  gap: 15px;
  align-items: center;
}

header .topbar .social-links a{
  transition: 0.3s ease-in-out;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
}

header .topbar .social-links a:hover{
  color: #00679C;
}

header .navbar-brand{
  margin-right: 0px !important;
}

header .navbar-brand img{
  width: 280px;
}

.navbar-nav{
  margin-bottom: 0px;
  border-radius: 0px;
  min-height: 30px;
  border: none;
  padding: 20px 0px;
  position: relative;
  transition: ease 0.5s;
}

.navbar-nav>li {
  padding: 0px 20px;
  font-size: 18px;
  transition: 0.3s ease;
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  font-weight: 500;
}


.navbar-nav>li>a {
  color: #fff;
  padding: 6px 0px !important;
  transition: ease 0.3s;
  border-color: transparent;
}


.navbar-nav .nav-item .nav-link{
  color: #fff;
}

.navbar-nav>.active>a, .navbar-nav>.active>a:hover, .navbar-nav>.active>a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-nav>li>a:hover, .navbar-nav>li>a:focus {
  color: #fff;
  background-color: transparent;
}

.navbar-toggle {
  border-color: #000;
  margin: 25px 15px;
  background-color: #fff;
}

.navbar-toggle {
  border-color: #000;
  margin: 25px 15px;
  background-color: #fff;
}

.navbar-toggle:hover,
.navbar-toggle:focus {
  background-color: #fff;
}

.navbar-toggle .icon-bar {
  background-color: #131313;
}

.navbar-toggler {
  background-color: #fff;
  border: 2px solid #131313;
  border-radius: 5px;
  font-size: 0.8rem;
}

.navbar-toggler:focus {
  box-shadow: none;
}

.navbar-toggler-icon {
  display: GRID;
  width: 1.5em;
  height: 3px;
  background-size: 100%;
  background: #000;
  height: 2px;
  margin: 5px 1px;
}

.hvr-underline-from-center {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  overflow: hidden;
}
.hvr-underline-from-center:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 51%;
  right: 51%;
  bottom: 0;
  background: #02679D;
  height: 5px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-underline-from-center:hover:before, .hvr-underline-from-center:focus:before, .hvr-underline-from-center:active:before {
  left: 0;
  right: 0;
}


/* nav right search */

.search-wrapper {
  position: relative;
  display: inline-block;
}

.search-form-container {
  position: absolute;
  right: 0;
  top: 100%;
  background: #fff;
  padding: 15px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  z-index: 999;
  min-width: 300px;
}

.search-form-container form {
  display: flex;
}

.search-form-container .search-field {
  padding: 8px 15px;
  border: 1px solid #ddd;
  border-radius: 4px 0 0 4px;
  width: 100%;
}

.search-form-container .search-submit {
  padding: 8px 15px;
  background: #0073aa;
  color: white;
  border: none;
  border-radius: 0 4px 4px 0;
  cursor: pointer;
}

.search-icon {
  cursor: pointer;
  padding: 10px;
  font-size: 18px;
}



/* dropdown */

.dropdown:hover .dropdown-menu{
    display: block;
    background: #000;
    color: #fff;
}
.navbar-expand-xl .navbar-nav .dropdown-menu {
    padding: 0;
    top: 75px;
}
.dropdown-menu a.dropdown-item{
  color: #fff;
}
.dropdown-menu a.dropdown-item:hover{
  color: #000;
}
.dropdown-menu .dropdown-item:active {
  background-color: unset;
}


/** Sticky */

header.sticky{
  position: fixed;
}

header.sticky .top-area{
  display: none;
}

header.sticky-mobile{
 background: #141518 !important;
 box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.25);
}

header.sticky-mobile .top-area{
  display: none;
}

header.sticky .navbar {
  box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.25);
}

/* banner */

.banner{
  background: url('../img/banner.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 60px 0px;
  margin-top: 137px;
}

.banner .content-area{
  color: #fff;
}

.banner .content-area h1{
  color: #fff;
  font-weight: 600;
  margin-bottom: 20px;
}
.banner .sup{
  top: unset;
}

.banner .content-area p.tag{
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 30px;
}

/* certification */

.certification{
  background: #DEDEDE;
  padding: 80px 0px;
}

.certification .image-area p.tag{
  font-weight: 700;
  font-size: 28px;
}

/* anniversary */

.anniversary{
  background: #F4F4F4;
  padding: 80px 0px;
}

.anniversary .image-area p.tag{
  font-weight: 700;
  font-size: 28px;
}

.part-accessories ul.parts-accessories{
  display: flex;
  flex-wrap: wrap;
}
.part-accessories ul.parts-accessories li{
  display: flex;
  width: 50%;
  margin-bottom: 10px;
}
.part-accessories ul.parts-accessories li::before{
  content: url(../img/arrow-right.svg);
  line-height: 1;
  margin-right: 4px;
}


/* products */

.products .content-area{
  border-bottom: 1px solid #CCCCCC;
}

.products .content-area img{
  position: relative;
  top: 15px;
}

.products .content{
  background: #000;
  color: #fff;
}

.products .content p{
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.products.blowers .item img {
  box-shadow: 0px 2px 7px 3px rgba(0, 0, 0, 0.25);
  width: 100%;
  height: 400px;
  object-fit: contain;
}

.products .btn{
  width: unset !important;
}

.products .item{
  margin-bottom: 30px;
}

/* contact-form */

.contact-form .form-area{
  border: 3px solid #FFF;
  background: #02679D;
  box-shadow: 0px 8px 17px 0px rgba(0, 0, 0, 0.32);
  padding: 50px 100px;
}

.contact-form .form-area .content h2{
  color: #fff;
}

.contact-form .form-area .form-control{
  background: transparent;
  border-radius: 0px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -ms-border-radius: 0px;
  -o-border-radius: 0px;
  height: 50px;
  color: #fff;
  margin-bottom: 20px;
  width: 100% !important;
}

.contact-form .form-area textarea.form-control{
  height: 100px;
}

::placeholder{
  color: #fff !important;
}

.contact-form .form-area .btn-submit{
  border: 1px solid #fff;
  color: #02679D !important;
  background: #fff;
  width: 100% !important;
}

.contact-form .form-area .btn-submit:hover{
  color: #fff !important;
}


/* Contact list */
.section.contact-list{
  position: relative;
  text-align: left;
}
.section.contact-list .contact-list-items{
  background-color: #D9D9D9;
  padding: 50px;
}

/* footer */
footer{
  margin-top: -150px;
}

footer .main-footer{
  background: #141518;
  padding: 130px 0px 80px;
  margin-top: 80px;
  color: #fff;
}

footer .main-footer .item{
  display: flex;
  gap: 15px;
  align-items: center;
}

footer .main-footer .item.location{
  align-items: start;
}

footer .main-footer .logo-bottom{
  display: flex;
  gap: 30px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

footer .main-footer .logo-bottom img{
  width: 120px;
}

footer .copyright{
  background: #000;
  color: #fff;
  padding: 10px 0px;
}

footer .copyright p{
  margin-bottom: 0px;
}


/* floating-icon */

.floating-icon{
  position: relative;
}

.floating-icon i{
  background: #02679D;
  color: #fff;
  width: 60px;
  height: 60px;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  position: fixed;
  right: 2%;
  bottom: 3%;
  font-size: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* about page */

.title-area, .breadcrumbs{
  margin-top: 200px;
}

.title-area h1{
  font-weight: 600;
  text-transform: uppercase;
  position: relative;
}

.title-area h1::after {
  content: "";
  background: #02679D;
  width: 62px;
  height: 5px;
  position: absolute;
  bottom: -4px;
  left: 0;
}

.breadcrumbs ul{
  list-style-type: none;
  padding: 0;
}

.breadcrumbs ul{
  display: flex;
  gap: 15px;
  align-items: center;
}

/* quality-assurance */

.quality-assurance-area{
  background: url('../img/about/quality-assurance.png');
  background-size: 100% 100% !important;
  background-position: 100% 100% !important;
  margin-top: 80px;
}

.quality-assurance-area.parts{
  background: url('../img/parts/cta.png');
}

.quality-assurance-area .content-area{
  background-color: #000;
  color: #fff;
  padding: 50px 30px;
  margin-top: -20px;
  margin-bottom: -20px;
}

.quality-assurance-area .content-area h3{
  color: #fff;
  margin-bottom: 20px;
}

.quality-assurance-area .content-area ul{
  list-style-type: none;
  padding: 0;
}

.quality-assurance-area .content-area ul li{
  display: flex;
  gap: 10px;
  align-items: center;
}

/* cta-about */

.cta-about{
  background: url('../img/about/cta-bg.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 80px 0px;
  position: relative;
}

.cta-about .cta-content p.tag{
  color: #fff;
  font-size: 38px;
  line-height: 45px;
}

.cta-about .cta-content .btn-call{
  border: 1px solid #fff;
}

.cta-about .cta-content .btn-call:hover{
  color: #fff !important;
}

/* services-page */

.service-categories {
  background-color: #00679C;
  padding: 40px 0px;
}

.service-categories p {
  color: #fff;
  font-size: 24px;
  font-weight: bold;
}

.service-categories .items-area .item{
  margin-top: 30px;
}

.service-categories .items-area .item h4 {
  font-size: 15px;
  text-align: center;
  margin: 0px;
  color: #000;
  background-color: #FFFFFF;
  border-bottom: 5px solid #d4d4d4;
  padding: 10px 0px;
}

.services-content .attachment .btn-attachment{
  width: unset !important;
}

.services-content .attachment .btn-attachment i{
  margin-right: 10px;
}

/* parts page */

.parts-left-side .content-area {
  background-color: #00679C;
  padding: 40px 30px;
  color: #fff;
}

.parts-left-side .content-area h3{
  color: #fff;
}

.parts-left-side .image-area {
  margin-left: -100px;
}

.parts-right-side .content-area {
  background-color: #00679C;
  padding: 95px 30px 95px 115px;
  color: #fff;
}

.parts-right-side .content-area h3{
  color: #fff;
}

.parts-right-side .image-area {
  margin-right: -100px;
}

.parts-right-side .image-area img{
  position: relative;
}

.parts-rear-side {
  margin-top: 50px;
  background-color: #00679C;
  padding: 40px 0px 100px 0px;
  z-index: -1;
  margin-bottom: -66px;
}

.parts-rear-side .content-area, .parts-rear-side .content-area h3{
  color: #fff;
}

.parts-bottom-area {
  background-color: #EDEDED;
  margin-top: 80px;
  padding: 80px 0px;
}

/* products page */

.title-area.products{
  margin-top: 0px;
}

.product-item-single {
  margin-top: 30px;
  box-shadow: 0px 1px 5px 1px #bababa;
}

.product-item-single img {
  margin: 0 auto;
  width: 100%;
}

.product-item-single h4 {
  text-align: center;
  background-color: #00679C;
  color: #fff;
  padding: 20px 0px;
  font-size: 18px;
  margin-bottom: 0px;
}

/* contact Us Page */


.address-map-area .address-area {
  background-color: #1875A4;
  color: #fff;
  padding: 15px 25px 30px 25px;
  margin-top: 30px;
}
.address-map-area .location-area{
  margin-top: 30px;
}

.address-map-area .item-box{
  display: flex;
  align-items: center;
  gap: 15px;
}

.address-map-area .item-box.location{
  align-items: start;
}

.address-map-area .item-box.location i{
  margin-top: 10px;
}

.address-map-area .item-box i{
  margin-top: -7px;
}

.address-map-area .address-area h4 {
  font-size: 20px;
  color: #fff;
}

.address-map-area .address-area p{
  margin-bottom: 10px;
}

.represents-addresses .item {
  color: #000;
  margin-bottom: 15px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 15px;
}

.represents-addresses .item ul {
  list-style-type: none;
  padding: 0;
  font-size: 16px;
  line-height: 1.6;
}

.represents-addresses .item ul li a {
  color: #1875A4;
}

.contact-form .form-control {
  height: 50px !important;
  border-color: #DFE2E2 !important;
  color: #000;
  border-radius: 0px !important;
  margin-top: 30px;
  font-weight: normal !important;
}

.contact-form textarea.form-control {
  height: 140px !important;
}

.contact-map{
  padding: 80px 0px;
}
.contact-map img {
  margin: 0 auto;
}

/* Basic styling for the map container */
.section.contact-map {
    position: relative; /* Crucial for absolute positioning of the info card */
    overflow: hidden; /* Ensures the card stays within bounds if it tries to go outside */
}

.container.text-center {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

/* Style for the SVG itself */
svg {
    display: block; /* Remove extra space below SVG */
    width: 100%; /* Make SVG responsive */
    height: auto;
}

/* Define a fallback pattern if a real map image is not linked */
/* For a real map, you'd replace the <pattern> with an <image> tag inside <defs> */
#pattern {
    background-color: #add8e6; /* Light blue background as a fallback map */
    background-image: radial-gradient(circle, #c3e2f5 1px, transparent 1px);
    background-size: 20px 20px;
}

/* Styling for the info card/tooltip */
.location-info-card {
    position: absolute;
    /*Positionedrelativeto.contact-map*/background-color: #ffffff;
    border: 1px solid #dcdcdc;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
    display: none;
    /*Hiddenbydefault,shownonhover*/z-index: 1000;
    /*Ensureitappearsaboveothercontent*/line-height: 1.6;
    /*Improvedreadability*/font-family: 'Inter', sans-serif;
    /*Recommendedfont*/font-size: 14px;
    color: #333333;
    max-width: 280px;
    /*Limitthewidthofthecardforbetteraesthetics*/text-align: left;
    opacity: 0;
    /*Starthiddenfortransitioneffect*//*RemovedtranslateY(5px)toensureprecisepositioning'right above'*/transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
    will-change: opacity, transform;
    -webkit-transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
    -moz-transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
    -ms-transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
    -o-transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
}

/* When the card becomes active (via JS), apply these styles */
.location-info-card.active {
    opacity: 1;
    transform: translateY(0);
     /* Ensure it ends at its calculated top */:;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
}

/* Styling for the location pin containers */
.location-pin-container {
    cursor: pointer;
    /*Indicateinteractivity*//*Removedscaletransformtopreventunintendedtop-leftshift*/transition: opacity 0.2s ease-in-out;
    /*Keepopacitytransitionforsubtlehover*/transform-origin: center bottom;
    /*Stillgoodpracticeforpins*/will-change: opacity;
    -webkit-transition: opacity 0.2s ease-in-out;
    -moz-transition: opacity 0.2s ease-in-out;
    -ms-transition: opacity 0.2s ease-in-out;
    -o-transition: opacity 0.2s ease-in-out;
}

.location-pin-container:hover {
    /* Only changing opacity for hover visual feedback to avoid position issues */
    opacity: 0.8;
}

.location-info-card strong {
    display: block;
    margin-bottom: 5px;
    color: #2c3e50;
    font-size: 16px;
}

.location-info-card p {
    margin: 0;
    padding: 0;
    font-size: 13px;
    color: #555;
}

.location-info-card a {
    color: #007bff;
    text-decoration: none;
}

.location-info-card a:hover {
    text-decoration: underline;
}

::placeholder {
  color: #ccc !important;
}

/* single service Page */

.blower-details{
  background: #EDEDED;
  padding: 80px 0px;
  margin-top: 80px;
}

.cta-about.blowers{
  margin-bottom: -30px;
}

.blowers-exchange .content a{
  color: #02679D;
}


.blowers-exchange .attachment .btn-attachment{
  width: unset !important;
}

.blowers-exchange .attachment .btn-attachment i{
  margin-right: 10px;
}


/* products-page */

.products-area .item{
  margin-bottom: 30px;
}

.products-area .item img{
  box-shadow: 0px 2px 6px 1px rgba(0, 0, 0, 0.25);
  width: 100%;
}

.products-area .item h3 {
  background: #02679D;
  padding: 10px;
  color: #fff;
  margin-top: -5px;
  position: relative;
}

#product-list .item{
  margin-bottom: 30px;
}

#product-list .item img{
  width: 100%;
  border: 1px solid #888;
}

#product-list .item p {
  color: #888;
  font-weight: 600;
  margin-top: 15px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-gallery-wrapper .main-image img{
  /* width: 100%; */
}

.wpcf7-spinner{
  display: grid !important;
}


.stock.in-stock {
  color: #4CAF50; /* Green for in stock */
}

.stock.out-of-stock {
  color: #F44336; /* Red for out of stock */
	display:none !important;
}

