.elementor-3072 .elementor-element.elementor-element-3a0e4d1{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:64px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:2%;--padding-bottom:2%;--padding-left:2%;--padding-right:2%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3072 .elementor-element.elementor-element-4b16d70 > .elementor-widget-container{padding:24px 0px 0px 0px;}.elementor-3072 .elementor-element.elementor-element-4b16d70{text-align:center;}.elementor-3072 .elementor-element.elementor-element-4b16d70 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:73px;font-weight:800;letter-spacing:0px;color:#1BAC4A;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3072 .elementor-element.elementor-element-8e5823f{width:auto;max-width:auto;text-align:center;font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:500;line-height:1.6em;letter-spacing:0px;color:var( --e-global-color-83214ba );}.elementor-3072 .elementor-element.elementor-element-8e5823f p{margin-block-end:9px;}.elementor-3072 .elementor-element.elementor-element-9918a55{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3072 .elementor-element.elementor-element-303cca3{--display:flex;}.elementor-3072 .elementor-element.elementor-element-43d3ca7{text-align:center;}.elementor-3072 .elementor-element.elementor-element-43d3ca7 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:700;color:var( --e-global-color-astglobalcolor5 );}.elementor-3072 .elementor-element.elementor-element-8494127 > .elementor-widget-container{margin:-18px 0px 0px 0px;}.elementor-3072 .elementor-element.elementor-element-8494127{text-align:center;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:400;color:var( --e-global-color-9580e8d );}.elementor-3072 .elementor-element.elementor-element-c51f1e0{--display:flex;}.elementor-3072 .elementor-element.elementor-element-3f4fc49{text-align:center;}.elementor-3072 .elementor-element.elementor-element-3f4fc49 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:700;color:var( --e-global-color-astglobalcolor5 );}.elementor-3072 .elementor-element.elementor-element-62b4bb3 > .elementor-widget-container{margin:-18px 0px 0px 0px;}.elementor-3072 .elementor-element.elementor-element-62b4bb3{text-align:center;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:400;color:var( --e-global-color-9580e8d );}.elementor-3072 .elementor-element.elementor-element-33e60fa{--display:flex;}.elementor-3072 .elementor-element.elementor-element-ea86e8b{text-align:center;}.elementor-3072 .elementor-element.elementor-element-ea86e8b .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:700;color:var( --e-global-color-astglobalcolor5 );}.elementor-3072 .elementor-element.elementor-element-4aaecb2 > .elementor-widget-container{margin:-18px 0px 0px 0px;}.elementor-3072 .elementor-element.elementor-element-4aaecb2{text-align:center;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:400;color:var( --e-global-color-9580e8d );}.elementor-3072 .elementor-element.elementor-element-42c1abb{--display:flex;}.elementor-3072 .elementor-element.elementor-element-3bee259{text-align:center;}.elementor-3072 .elementor-element.elementor-element-3bee259 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:700;color:var( --e-global-color-astglobalcolor5 );}.elementor-3072 .elementor-element.elementor-element-72eb781 > .elementor-widget-container{margin:-18px 0px 0px 0px;}.elementor-3072 .elementor-element.elementor-element-72eb781{text-align:center;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:400;color:var( --e-global-color-9580e8d );}.elementor-3072 .elementor-element.elementor-element-7c6a24c{--display:flex;--margin-top:8px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-3072 .elementor-element.elementor-element-9918a55{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-3072 .elementor-element.elementor-element-4b16d70 .elementor-heading-title{font-size:58px;}.elementor-3072 .elementor-element.elementor-element-8e5823f{font-size:16px;}.elementor-3072 .elementor-element.elementor-element-8e5823f p{margin-block-end:24px;}.elementor-3072 .elementor-element.elementor-element-9918a55{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for heading, class: .elementor-element-4b16d70 */.heading {
  background: linear-gradient(135deg, #2ECC71, #1ABC9C, #ffffff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent; /* Fallback */
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-8e5823f */.text{
    lin: : 0px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3a0e4d1 */.your-section-class {
background: linear-gradient(135deg, #004D25 0%, #2E7D32 50%, #81C784 100%);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-afbb9c6 *//* Container and toolbar */
.cs-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
  gap: 12px;
}

/* Empty left area so filter sits at right */
.cs-toolbar .left-space {
  flex: 1 1 auto;
}

/* Filter wrapper on the right */
.cs-filter-wrap {
  display: inline-flex;
  align-items: center;
}
.cs-filter {
  position: relative;
  display:inline-flex;
  align-items:center;
}
.cs-filter-icon {
  position:absolute;
  left:12px;
  color:#9aa3ab;
  width:16px;
  height:16px;
  pointer-events: none;
}

/* Dropdown styling */
#csFilterSelect {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff;
  border: 1.2px solid #e5e7eb;
  border-radius: 12px;
  padding: 10px 36px 10px 36px; /* room for icon on left */
  font-weight: 600;
  color: #111827;
  outline: none;
  box-shadow: none;
  cursor: pointer;
  min-width: 180px;
}

/* dropdown chevron */
#csFilterSelect {
  background-image:
    url('data:image/svg+xml;utf8,<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M6 8l4 4 4-4" stroke="%239AA3AB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-repeat: no-repeat;
  background-size: 16px;
  background-position: right 12px center;
}
#csFilterSelect:hover { border-color:#d1d5db; }
#csFilterSelect:focus { border-color:#16a34a; box-shadow: 0 0 0 3px rgba(22,163,74,0.12); }
/* Default: 3 columns on desktop */
#projectGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  justify-items: center;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}

/* Tablet: 2 columns */
@media (max-width: 980px) {
  #projectGrid { grid-template-columns: repeat(2, 1fr); }
}

/* Mobile: 1 column */
@media (max-width: 640px) {
  #projectGrid { grid-template-columns: 1fr; }
}

/* Grid item wrapper — we hide this to collapse gaps */
.grid-item {
  display: block; /* toggled by JS */
}

/* === CARD GRID === */
.project-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  justify-items: center;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}


/* === CARD === */
.project-card {
  width: 400px;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
}


.project-card:hover {
  transform: translateY(-5px);
}

/* === IMAGE === */
.project-image {
  position: relative;
  width: 100%;
  height: 240px;
  overflow: hidden;
}

.project-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* === BADGES === */
.badge {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 5px 12px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
}

.badge.bms {
  background: #DCFCE7;
  color: #166534;
}

.badge.elv {
  background: #DBEAFE;
  color: #1F41B0;
}

/* === CONTENT === */
.project-content {
  padding: 18px;
}

/* Project Title & Client */
.project-title {
  color: #136740;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 6px;
}

.project-client {
  color: #737373;
  margin-bottom: 12px;
  font-size: 15px;
}

/* === ICON LIST === */
.project-icons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.icon-item {
  display: flex;
  align-items: center;
  width: 48%;
}

.icon-item i {
  font-size: 14px;
  color: #2ECC70;
  margin-right: 6px;
}

.icon-item span {
  font-size: 14px;
  color: #8a8a8a; /* lighter shade of #737373 */
}

/* === CONTRACTOR / CONSULTANT SECTION === */
.project-meta strong {
  color: #136740;
  font-size: 15px;
  font-weight: 600;
}

.project-meta {
  color: #737373;
  margin: 10px 0 4px;
  font-size: 14px;
}

/* Pagination Container */
.custom-pagination {
    text-align: center;
    margin-top: 40px;
    margin-right:-56rem ;
    cursor: pointer;
    display: flex;
  justify-content: center;
}

/* Pagination Links */
.custom-pagination .page-link {
    display: inline-block;
    padding:8px 17px;
    margin: 0 5px;
    background-color: #FFFFFF;
    color: #000000;
    border-radius: 12px;
    border-style: solid;
    border-color: #e5e7eb;
    border-width: 1.2px;
    font-weight: 500;
    font-size:14px; 
    font-family: Poppins;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

/* Active Page */
.custom-pagination .page-link.active {
    background-color: #2ECC70;
    color: #FFFFFF;
}
.custom-pagination .page-link.active:hover {
    background-color: #43D07F;
     color: #FFFFFF;
}
/* Hover Effect */
.custom-pagination .page-link:hover {
    background-color: #f6f7f9;
    color: #136740;
}

/* Previous/Next Buttons */
.custom-pagination .page-link.prev,
.custom-pagination .page-link.next {
    font-size: 14px;
    font-weight: 500;
}

/* Previous Arrow */
.custom-pagination .page-link.prev:before {
    padding-right: 5px;
    font-size: 18px;
}

/* Next Arrow */
.custom-pagination .page-link.next:after {
    padding-left: 5px;
    font-size: 18px;
}

/* Disabled Previous (on Page 1) */
.custom-pagination .page-link.prev.disabled {
    color: #9ca3af;        /* grey font */
    border-color: #f0f0f0; /* lighter border */
    cursor: not-allowed;
    pointer-events: none;
    background-color: #fafafa;
}
/* Fix badge round clipping */
.project-image {
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  overflow: hidden;
  position: relative;
}

/* Keep grid centered and consistent */
.project-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

/* Fix pagination spacing */
.custom-pagination {
  margin-top: 40px;
  justify-content: center;
  text-align: center;
}

/* Smaller icon size + lighter text */
.icon-item i {
  font-size: 13px;
  color: #2ECC70;
}

.icon-item span {
  color: #8A8A8A;
  font-size: 14px;
}

/* Project title, client, headings consistent */
.project-title { color: #136740; }
.project-client { color: #737373; }
.project-meta h4 { color: #136740; }
.project-meta p { color: #737373; }


/* ======= SPACING ======= */
.project-meta {
  margin-top: 8px;
  line-height: 1.4;
}
.project-description{
  color: #595757;
  margin: 10px 0 4px;
  font-size: 15px;
}/* End custom CSS */
/* Start custom CSS *//* hide wrappers so layout collapses */
.card-hover.hidden,
.elementor-column.hidden,
.elementor-container.hidden,
.elementor-element.hidden {
  display: none !important;
}
/* Reset Elementor wrapper height so pagination sticks close to cards *//* End custom CSS */