/* ========================================== */
/* === CSS Table of Contents ================ */
/* === 2023 © Guardian Sages ================ */ 
/* ========================================== */

/* ========================================== */
/* === 1. Top Header Section ================ */
/* === 2. Navigation Section ================ */
/* === 3. Website Pages Section ============= */
/* ===    a. Home Section =================== */
/* ===    b. About Section ================== */
/* ===    c. Services Section =============== */
/* ===    d. Gallery Section ================ */
/* ===    e. Areas We Service Section ======= */
/* ===    f. Testimonials Section =========== */
/* ===    g. Contact Section ================ */
/* ===    h. Sections On Every Page ========= */
/* === 4. Misc. Section ===================== */
/* ===    a. Referrals Owl Carousel ========= */
/* ===    b. Default Classes ================ */
/* ===    c. Gallery Function Section ======= */
/* ===    d. Reviews Function Section ======= */
/* === 5. Footer Section ==================== */
/* === 6. Lg. Laptop CSS Section ============ */
/* === 7. Sm. Laptop CSS Section ============ */
/* === 8. Tablet CSS Section ================ */
/* === 9. Mobile CSS Section ================ */
/* === 10. Sm. Mobile CSS Section =========== */
/* ========================================== */

@import url('https://fonts.googleapis.com/css?family=Staatliches');
@import url('https://fonts.googleapis.com/css?family=Montserrat:200,300,400,700,900');

@font-face {
	font-family: 'font';
	src:url('../fonts/arvo.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'font2';
	src:url('../fonts/poppins.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'font3';
	src:url('../fonts/Nexa-Light.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'font4';
	src:url('../fonts/Nexa-Heavy.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: 'feathericons';
	src:url('../fonts/feathericons/feathericons.eot?-8is7zf');
	src:url('../fonts/feathericons/feathericons.eot?#iefix-8is7zf') format('embedded-opentype'),
		url('../fonts/feathericons/feathericons.woff?-8is7zf') format('woff'),
		url('../fonts/feathericons/feathericons.ttf?-8is7zf') format('truetype'),
		url('../fonts/feathericons/feathericons.svg?-8is7zf#feathericons') format('svg');
}

.vertically-centered{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items:center;
}

/* ======================================== */
/* === Top Header Section ================= */
/* ======================================== */
.top-header {
  position: fixed;
  width: 100%;
  padding: 10px 0;
  background: #050f4b;
  z-index: 4;
  overflow: hidden; /* REQUIRED */
  transition: all .30s ease;
}
.top-header::after {
  content: "";
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;

  background: url('/img/ui/cloud-overlay.png') center / cover no-repeat;

  opacity: 0.5;   /* lowered slightly */
  pointer-events: none;

  animation: header-cloud-drift 10s linear infinite;

  z-index: 1;
}

.top-header > * {
  position: relative;
  z-index: 2;
}

@keyframes header-cloud-drift {
  from { transform: translateX(0); }
  to   { transform: translateX(25%); }
}


.top-header img {
	filter: invert(1);
}

.top-header div[class*='col-']:first-child {
	display: flex; justify-content: flex-end; align-items: center;
}
.top-header div[class*='col-']:first-child a {
	padding: 0; font-size: 15px; -webkit-transition: all .30s ease; -moz-transition: all .30s ease; -o-transition: all .30s ease; transition: all .30s ease;
}
.top-header div[class*='col-']:first-child a:hover {
	background-color: transparent;
}
.top-header div[class*='col-']:nth-child(2) {
	display: flex; justify-content: center; align-items: center;
}
.top-header div[class*='col-']:nth-child(3) {
	display: flex; justify-content: flex-end; align-items: center;
}
.top-header div[class*='col-']:nth-child(3) a {
	padding: 9px 15px 9px 15px; background: transparent; font-weight: 600; font-family: 'font2'; color: #f96a01; border-radius: 1.6rem; border: 1px double #f96a01;
	
	
	    display: inline-flex;
}
.top-header div[class*='col-']:nth-child(3) a:hover {
	background: #f96a01; color: #fff;
}
.top-header div[class*='col-']:nth-child(4) {
	display: flex; justify-content: start;; align-items: center;
}
.top-header div[class*='col-']:nth-child(4) a {
	padding: 9px 15px 9px 15px; background: transparent; font-weight: 600; font-family: 'font2'; color: #e6e8f3; border-radius: 1.6rem; border: 1px double #e6e8f3;
}
.top-header div[class*='col-']:nth-child(4) a:hover {
	color: #fff; background: #1c286d;
}
.top-header div[class*='col-']:nth-child(5) {
	display: flex; justify-content: flex-start; align-items: center;
}
.top-header div[class*='col-']:nth-child(5) a {
	display: flex; justify-content: center; align-items: center; border: 1px solid rgb(255,255,255); color: rgb(255,255,255); background: #f96a01; border-radius:100px;	height: 34px; width: 34px; margin: 0 4px;
}
.top-header div[class*='col-']:nth-child(5) a:hover {
	background: #1c286d;	text-decoration:none !important; color: rgb(255,255,255);
}
.top-header .slogan{
	font-style: italic;
	font-weight: 600;
	color:white;
	font-size:1.1rem;
	text-wrap:nowrap;
	margin-bottom: 0; 
}

/* ======================================== */
/* === Navigvation Section ================ */
/* ======================================== */
.navbar-inverse .navbar-inner {
	display:none;
}
.dropdown-menu {
	position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 200px; padding: .5rem 0; margin: .125rem 0 0; font-size: 18px; color: rgb(33, 37, 41); text-align: left; list-style: none; background-color: rgb(255,255,255); background-clip: padding-box; border: 1px solid rgba(0,0,0,.15); border-radius: .25rem;
}
.dropdown-menu.columns-3 {
	min-width: 600px;
}
.dropdown-menu li a {
	padding: 5px 15px; font-weight: 300;
}
.dropdown-item {
	display: block; width: 100%; font-weight: 600; font-family: 'font2'; padding: .25rem 1.5rem; clear: both; color: rgb(12,12,12); text-align: inherit; white-space: nowrap; background: 0 0;border: 0;
}
.dropdown-item.active, .dropdown-item:active {
	color: rgb(255,255,255); text-decoration: none; background-color: rgb(22,22,22) !important;
}
.dropdown {
	float: left; position: relative;
}
.dropdown .dropbtn {
	    margin: 0 28px;
    padding: 6px 0px;
    font-weight: 900;
    font-size: 18px; letter-spacing: 1px; text-transform: uppercase;
    color: #1c286d;
    font-family: 'font3';
}
.navbar a:hover, .dropdown:hover .dropbtn {
color: #f96a01; text-shadow: 0px 0px 1px #f96a01;
}
.dropdown-one {
	cursor: pointer; display: none; position: absolute; background-color: #e6e8f3; min-width: 250px; 
}
.dropdown-two {
	cursor: pointer; display: none; position: absolute; left: 160px; top: 0px; min-width: 160px; background-color: #f9f9f9; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}
.dropdown-three {
	cursor: pointer; display: none; position: absolute; left: 160px; top: 48px; min-width: 160px; background-color: #f9f9f9; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}
.dropdown:hover .dropdown-one, #link1:hover > .dropdown-two {
	display: block;
}
.dropdown:hover .dropdown-one, #link2:hover > .dropdown-three {
	display: block;
}
.dropdown-one .dItem {
	color: #1c286d; padding: 12px 16px; display: block; text-align: left;
}
.dropdown-one .dItem:hover, .dropdown-two a:hover {
	background-color: #f96a01; color: #fff; font-weight: 600;
}
.my-pad {
	padding: 0 0 0 15px;
}
.my-pad h5 {
	color: rgb(255,255,255); font-size: 18px; text-transform: uppercase; padding-top: 20px;	line-height: 5px; font-weight: 600;
}
.multi-column-dropdown {
	list-style: none; margin: 0px; padding: 0px;
}
ul.multi-column-dropdown {
	padding: 0 0 0;
}
.multi-column-dropdown li a {
	display: block;	clear: both; line-height: 1.428571429; color: #333; white-space: normal;
}
.multi-column-dropdown li a:hover {
	text-decoration: none; color: #262626; background-color: #999;
}
.tab {
	overflow: hidden; border: 1px solid #ccc; background-color: #f1f1f1; font-family: 'font2';
}
.tab button {
	background-color: inherit; float: left; border: none; outline: none; cursor: pointer; padding: 14px 16px; transition: 0.3s; font-size: 17px;
}
.tab button:hover {
	background-color: #ddd;
}
.tab button.active {
	background-color: #ccc;
}
.tabcontent {
	display: none; padding: 6px 12px; border: 1px solid #ccc; border-top: none;
}
.tabcontent h3 {
	padding-top: 40px; padding-bottom: 40px; font-family: 'font'; text-align: center; font-size: 2rem; color: rgb(246,177,24);
}

body {
	padding: 0; -webkit-transition-property: all; -webkit-transition-duration: .30s; -webkit-transition-timing-function: ease-in-out; transition-property: all; transition-duration: .30s; transition-timing-function: ease-in-out; overflow-x: hidden;
}
.navbar-scroll {
	padding: 125px 0 0; position: fixed; background: #e6e8f3; width: 100%; z-index: 3;	-webkit-transition: all .30s ease; -moz-transition: all .30s ease; -o-transition: all .30s ease; transition: all .30s ease;
}
.navbar-scroll .container {
	background: rgb(60,36,17,0); border-bottom-left-radius: 1.5rem;	border-bottom-right-radius: 1.5rem;
}
#projects .navbar-scroll {
	background: #fdfdfd; position:relative !important;
}
#projects .navbar-scroll li a {
	color:#333;
}
#projects .navbar-scroll .navbar-brand {
	color:#252525;
}
#projects .navbar-light .lnr {
	color:#222;
}
.navbar-light .lnr {
	color: #fdfdfd;	font-size: 1.5em; position: absolute; top: 6px; right: 10px;
}
.navbar-light .navbar-brand {
	color: #e8e8e8; font-size: 20px; font-family: 'Montserrat', sans-serif;
}
.navbar-brand {
	font-size:2.5em; font-weight:700; text-transform:uppercase;
}
.navbar-brand:focus, .navbar-brand:hover {
	color:#f3f3f3 !important;
}
.navbar-light .navbar-nav .nav-link {
	margin: 0 28px; padding: 6px 0px; font-weight: 900; font-size: 18px; color: #1c286d; font-family: 'font3'; letter-spacing: 1px; text-transform: uppercase;
}
.navbar-light .navbar-nav .active>.nav-link, .navbar-light .navbar-nav
.nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light
.navbar-nav .show>.nav-link {
	color: rgb(255,255,255);
}
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
	color: #f96a01; font-weight: 600; text-shadow: 0px 0px 1px #f96a01;
}
.navbar-light .navbar-nav li a {
	position: relative;
}
.navbar-collapse {
	height: 100%;
}
.mobile-top-header {
	display: none !important;
}

/* ========================================== */
/* === Website Pages Section ================ */
/* ========================================== */

/**** Home Section ****/
.bg-primary {
	background: rgb(83,82,82) !important;
}
.home-header-section {
	padding-top: 125px;
}
.home-header-section .slider-logo span {
	font-family: 'font'; color: rgb(196,41,56);
}


/* HERO VIDEO SECTION */
.hero-video {
  position: relative;
  width: 100%;
  height: 100vh; /* full viewport height */
  overflow: hidden;
  background: #000;
}

/* VIDEO */
.hero-video-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 1;
}

/* DARK OVERLAY FOR READABILITY */
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    rgba(0,0,0,0.15),
    rgba(0,0,0,0.15)
  );
  z-index: 1;
}

/* CONTENT */
.hero-content {
  position: relative;
  z-index: 1;
  height: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;

  color: #ffffff;
}

/* TEXT */
.hero-content h1 {
  font-size: clamp(2.4rem, 4vw, 4rem);
  margin-bottom: 20px; font-family: font4;
  max-width: 800px;
}

.hero-content p {
    font-size: 1.2rem;
    max-width: 600px;
    font-family: font3;
    margin-bottom: 30px;
    line-height: 1.5;
    font-weight: 900;
		text-shadow: 2px 2px 2px black; 
}

/* BUTTONS */
.hero-buttons {
  display: flex;
  gap: 15px;
}

.btn {
  padding: 14px 28px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.25s ease;
}

.btn.primary {
  background: #1c286d;border: 2px solid #fff;
  color: #fff; border-radius: 5px;
}

.btn.primary:hover {
  background: #111944;
}

.btn.secondary {
  border: 2px solid #fff;
  color: #fff; background: #ff5a1f; border-radius: 5px;
}

.btn.secondary:hover {
  background: #fff;
  color: #000;
}

/* MOBILE OPTIMIZATION */
@media (max-width: 991px) {
  .hero-video {
    height: 80vh;
  }

  .hero-content {
    align-items: center;
    text-align: center;
  }

  .hero-buttons {
    flex-direction: column;
    width: 100%;
		align-items: center;
  }

  .btn {
    width: 100%;
    text-align: center;
  }
}



.services-home {
	    background: linear-gradient(rgb(255 255 255 / 0%), rgb(255 255 255 / 0%)), url(/img/homepage/mountain-01.jpg);
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
		padding:60px 0 00 0; 
}
.services-home  h2.service-header{
	font-size:4rem;
    margin-bottom: 20px;
    font-family: font4;
	color:white;
	text-align:center;
}


.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* FORCE 3 per row */
    gap: 2rem;
	padding: 80px 190px;
}


/* --- SERVICE CARD --- */
.service-card {
    position: relative;
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
    display: flex;
    flex-direction: column;
	 border-bottom: 3px solid #1c286d;
	 border-left: 3px solid #1c286d;
	  border-top: 3px solid #1c286d;
	 transition: all 0.24s;
	 height: 500px;
}

.service-card:hover {
	box-shadow: 1px 1px 10px 1px #000; border-color: #f96a01;
}

.service-card:hover .service-panel {
	background: #f96a01;
}

.service-card:hover .details-btn {
	display: block;
	width: max-content;
}

.service-card:hover h3 {
	background: #f96a01;
}


.service-card:hover .service-img {
	 background-color: #f96a01;
	 box-shadow: 0px 0px 0px 75px #f96a01;
}

/* --- IMAGE AREA --- */
.service-img {
   width: 100%;
    height: 200px;
    border-radius: 100%;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #1c286d;
        box-shadow: 0px 0px 0px 75px #1c286d;
    margin-top: 15px;
		transition: 0.24s;
}

/* --- TEXT BODY --- */
.service-body {
    padding: 0;
    flex: 1;
}

.service-body h3 {
  margin-top: -25px;
    
    font-size: 20px;
    text-transform: uppercase;
    font-weight: 600;
    font-family: font3;
    padding: 10px;
    width: 100%; ;
    text-align: center; letter-spacing: 1px;
    background: #1c286d; color: #fff;
		transition:0.24s;
}

.service-body p {
    line-height: 1.55;    margin-right: 25px; font-family: font3; letter-spacing: .5px; line-height: 35px;margin: 75px 15px 0px 15px;
	text-align: center;
}

.service-body hr {
	height: 2px; background: #10653E; width: 75%;
}

@media (max-width: 991px){
	
.services-home  h2.service-header {
    font-size: 3rem;
    margin-bottom: 0;
    font-family: font4;
    color: white;
    text-align: center;
}
}
/* --- DETAILS BUTTON --- */
.details-btn {
    background: #1c286d;
    color: #fff;
    border: 1px solid #fff;
    padding: 10px 18px;
    border-radius: 6px;
    cursor: pointer; display: none;
    margin-top: 20px;
    transition: background .2s;
}
.details-btn:hover {
    background: #f96a01;
	color:#fff;
}

/* --- SLIDE PANEL (RIGHT SIDE) --- */
.service-panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 0px;
    height: 100%;
        background: #1c286d;
    background-size: 115%;

    overflow: hidden;
	color: #fff;
    padding: 3px;
    transition: width .35s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
}

.service-panel.open {
    width: 100%; background: #f96a01; color: #fff;
}

.service-panel ul {
    margin: 25px 0px 0px 0px;
    padding-left: 20px; line-height: 40px;
}
.service-panel li {
    margin-bottom: 10px; font-family: font3; font-weight: 600; letter-spacing: 1px; font-size: 14px;
}

/* CTA in panel */
.panel-cta {
    background: #fff;
    color: #1c286d;
    padding: 10px 16px;
    text-align: center;
    border-radius: 6px;
    font-weight: 600; text-transform: uppercase;
    cursor: pointer; font-size: 15px; font-family: font4;
    text-decoration: none;
}

/* Responsive fallback */
@media (max-width: 1100px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
.services-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    padding: 150px 70px;
}
		
}

/* Mobile: 1 per row */

@media (max-width: 991px) {
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    padding: 50px 25px;
}

.service-panel ul {
    margin: 25px 0px 0px 0px;
    padding-left: 20px;
    line-height: 20px;
}
}

@media (max-width: 680px) {
    .services-grid {
        grid-template-columns: 1fr;
    }
}



/* Sticky Consultation Button - Services Page Only */
.sticky-consult-btn {
    position: fixed;
    bottom: 25px;
    right: 25px;
    background: #ff5a1f;
    color: #fff;
    padding: 14px 22px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(0,0,0,0.25);
    z-index: 9999;
    transition: all .3s ease;
}

.sticky-consult-btn:hover {
    background: #ff875d;
    color: #fff;
    transform: translateY(-3px);
}

/* Mobile sizing */
@media (max-width:991px){
    .sticky-consult-btn{
        padding: 12px 18px;
        font-size: 14px;
        bottom: 20px;
        right: 15px;
    }
}

/* WHY CHOOSE US SECTION */
.why-choose-us {
  padding: 150px 0;
  background: #ffffff;
}

/* GRID */
.why-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

/* IMAGE */
.why-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
}

/* CONTENT */
.why-content h2 {
  font-size: 35px; color: #1c286d;text-transform: uppercase;
  margin-bottom: 25px; font-family: font4; text-shadow: 0px 0px 1px #444;
}

.why-content h2 span {
	 font-family: font4; font-weight: 900; padding: 10px; background: #1c286d; color: #fff; border-radius: 3px; letter-spacing: 1px;
	 display: inline-flex;
}

.why-content h4 {
  font-size: 20px;
  font-weight: 500; font-family: font4; text-transform: uppercase;
  color: #ff5a1f; line-height: 45px;
  margin-bottom: 25px;
}

.why-content p {
  font-size: 1.05rem;
  line-height: 1.6;
  margin-bottom: 25px; letter-spacing: .5px;
  max-width: 560px; font-family: font3;
}

.why-content p span {
	color: #1c286d; font-weight: 600; text-transform: uppercase;
}

/* BULLETS */
.why-content ul {
  list-style: none;
  padding: 0;
}

.why-content ul li {
  position: relative;
  padding-left: 28px; font-family: font3; text-transform: uppercase;
  margin-bottom: 14px;
  font-weight: 600; letter-spacing: .5px;
}

.why-content ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #1c286d;
  font-weight: 700;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .why-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .why-content {
    text-align: center;
  }
.why-content h2 {
    font-size: 1.8rem;
    color: #1c286d;
    text-transform: uppercase;
    margin-bottom: 25px;
    font-family: font4;
    text-shadow: 0px 0px 1px #444;
}
  .why-content p {
    margin-left: auto;
    margin-right: auto;
  }

  .why-content ul li {
    padding-left: 0;
  }

  .why-content ul li::before {
    display: none;
  }
}

/* CTA SECTION */
.cta-consultation {
  padding: 150px 0;
      background: linear-gradient(rgb(255 255 255 / 0%), rgb(255 255 255 / 0%)), url(/img/homepage/harlan-co-01.jpg);
  background-size: cover; background-attachment: fixed;
  background-position: center;
}

/* CTA BOX */
.cta-box {
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 50px;
  text-align: center;

  background: rgba(255,255,255,0.95);
  border-radius: 20px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.25);
}

/* TEXT */
.cta-box h2 {
  font-size: 2.4rem; color: #1c286d; text-transform: uppercase;
  margin-bottom: 15px; font-family: font4;
}

.cta-box p {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 30px;
  color: #333; font-family: font3; font-weight: 600; letter-spacing: .5px;
}

/* ACTIONS */
.cta-actions {
  display: flex;
  justify-content: center;
  gap: 20px;
}

/* BUTTONS (NAMESPACED) */
.cta-btn {
  padding: 14px 30px;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  display: inline-block;
  transition: all 0.25s ease;
}

/* PRIMARY */
.cta-primary {
  background: #1c286d;
  color: #fff;
}

.cta-primary:hover {
  background: #0E153D;
    color: #fff;
}

/* SECONDARY */
.cta-secondary {
  border: 2px solid #1c286d;
  color: #1c286d;
}

.cta-secondary:hover {
  background: #f96a01;
  color: #fff; border-color: #fff;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .cta-box {
    padding: 40px 25px;
  }

  .cta-actions {
    flex-direction: column;
  }

  .cta-btn {
    width: 100%;
    text-align: center;
  }
	
.cta-box h2 {
    font-size: 2rem;
    color: #1c286d;
    text-transform: uppercase;
    margin-bottom: 15px;
    font-family: font4;
}
	
}


.image-gallery {
  padding: 100px 0; 
}

.gallery-title {
  text-align: center;
  font-size: 50px; font-family: font4; text-transform: uppercase;
  margin-bottom: 40px; color: #1c286d;
}

/* CLEAN GRID */
/* ============================
   GALLERY SECTION
============================ */

.gallery-carousel {
  position: relative;
  padding: 60px 0 90px 0;
  overflow: hidden;

  background:#f9f9f9;
}

.gallery-carousel::before {
  content: "";
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;

  background: url('/img/ui/cloud-overlay-02.png') center / cover no-repeat;

  opacity: 0.7;   /* very subtle */
  pointer-events: none;

  animation: gallery-cloud-drift 10s linear infinite;

  z-index: 1;
}

.gallery-carousel .container {
  position: relative;
  z-index: 2;
}
@keyframes gallery-cloud-drift {
  from { transform: translateX(0); }
  to   { transform: translateX(20%); }
}


.gallery-carousel mark {
	text-align: center; padding: 25px; color:#fff; background: #1c286d; border-radius: 5px; top: 25px; position: relative; font-family: font3; font-weight: 500; letter-spacing: 1px; font-size: 20px;
}

.gallery-title {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 40px;
}

/* Carousel layout */
.carousel-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.carousel-track {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 50px 0;
}

.carousel-track::-webkit-scrollbar {
  display: none;
}

.carousel-track img {
  flex: 0 0 auto;
  width: 285px;
  height: 275px;
  object-fit: cover;
  border-radius: 12px;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 8px 18px rgba(0,0,0,0.15);
}

/* Hover enlarge */
.carousel-track img:hover {
  transform: scale(1.08);
  box-shadow: 1px 1px 10px 1px #000;
  z-index: 2;
}

/* Nav buttons */
.carousel-nav {
    background: #000;
    color: #fff;
    border: none;
    font-size: 2.5rem;
    width: 55px;
    height: 45px;
    border-radius: 50%;
    cursor: pointer;
    padding-bottom: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.85;
}

.carousel-nav:hover {
  opacity: 1;
}

.carousel-nav.prev {
  margin-right: 10px;
}

.carousel-nav.next {
  margin-left: 10px;
}

/* LIGHTBOX */
.lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 9999;
}

.lightbox.active {
  opacity: 1;
  pointer-events: auto;
}

.lightbox-image {
  max-width: 90vw;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 12px;
}

.lightbox-close {
  position: absolute;
  top: 24px;
  right: 32px;
  font-size: 3rem;
  color: #fff;
  cursor: pointer;
}

/* Mobile */
@media (max-width: 768px) {
  .carousel-track img {
    width: 180px;
    height: 130px;
  }

  .gallery-carousel {
    padding: 60px 0;
  }
.gallery-title {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 0;
}
}

/* ============================
   PROCESS / PILLARS SECTION
============================ */

.process-section {
  position: relative;
  padding: 100px 0;
  overflow: hidden;

  background: #1c286d;

}


.process-section .container {
  position: relative;
  z-index: 1;
}

/* HEADER */
.process-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 70px;
}

.process-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: -50%;        /* start offset */
  width: 200%;       /* double width */
  height: 100%;

  background: url('/img/ui/cloud-overlay.png') center / cover no-repeat;

  opacity: 0.5;
  pointer-events: none;

  animation: process-cloud-drift 10s linear infinite;

  z-index: 1;
}



@keyframes process-cloud-drift {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(25%);
  }
}






.process-header h2 {
  font-size: 2.4rem;
  margin-bottom: 15px; color: #fff; font-family: font4; text-transform: uppercase; letter-spacing: 1px;
}

.process-header p {
  font-size: 20px;
  line-height: 1.6;
  color: #fff; font-family: font3;
}

/* ============================
   PILLAR GRID
============================ */

.process-pillars {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 30px;
  align-items: end; /* allows stepped heights to read correctly */
}

/* ============================
   PILLAR BASE
============================ */

.process-pillar {
  position: relative;
  padding: 45px 30px;
  background: #ffffff;
  border-radius: 18px;

  /* CENTER-HEAVY GRADIENT BORDER */
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(
      to bottom,
      rgba(28, 40, 109, 0.15) 0%,
      rgba(28, 40, 109, 0.6) 25%,
      rgba(28, 40, 109, 1) 50%,
      rgba(28, 40, 109, 0.6) 75%,
      rgba(28, 40, 109, 0.15) 100%
    ) border-box;

  border: 5px solid transparent;

  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

/* HOVER LIFT */
.process-pillar:hover {
  transform: translateY(-12px);
  box-shadow: 0 28px 60px rgba(0,0,0,0.18);
    background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(
      to bottom,
      rgba(249, 106, 1, 0.15) 0%,
      rgba(249, 106, 1, 0.6) 25%,
      rgb(249, 106, 1) 50%,
      rgba(249, 106, 1, 0.6) 75%,
      rgba(249, 106, 1, 0.15) 100%
    ) border-box;
}



/* ============================
   STEPPED HEIGHTS (ARCH FORM)
============================ */

.process-pillar:nth-child(1),
.process-pillar:nth-child(5) {
  min-height: 360px;
}

.process-pillar:nth-child(2),
.process-pillar:nth-child(4) {
  min-height: 400px;
}

.process-pillar:nth-child(3) {
  min-height: 440px;
}


.process-pillar:hover .step-number {
	color: #f96a01;
}
/* ============================
   PILLAR CONTENT
============================ */

.step-number {
  display: block;
  font-size: 2.2rem;
  font-weight: 700;
  color: #1c286d;
  margin-bottom: 15px;
}

.process-pillar h3 {
  font-size: 1.25rem; font-family: font3; font-weight: 600;
  margin-bottom: 12px; letter-spacing: 1px;text-transform: uppercase;
}

.process-pillar p {
  font-size: 0.95rem;
  line-height: 1.5; font-family: font3;
  color: #444;
}

/* ============================
   RESPONSIVE
============================ */

@media (max-width: 1200px) {
  .process-pillars {
    grid-template-columns: repeat(3, 1fr);
  }

  .process-pillar {
    min-height: auto !important;
  }
}

@media (max-width: 768px) {
  .process-pillars {
    grid-template-columns: 1fr;
  }

  .process-pillar {
    text-align: center;
  }
}



.home1 {
	padding: 75px 0 75px 0; background: rgb(245,245,245);
}
.home1 .pad {
	padding-top: 85px;
}
.home1 h1 {
	font-family: 'font2'; font-size: 35px; text-align: left; font-weight: 800; color: rgb(196,41,56);
}
.home1 p {
	font-size: 17px; font-family: 'font2'; font-weight: 600; text-align: justify; color: rgb(150,150,150);
}
.home1 span {
	color: rgb(83,82,82);
}

/**** About Section ****/
/* GENERAL */

.about-cta {
  background-size: cover;
  background-position: center;
  background: linear-gradient(rgb(0 0 0 / 75%), rgb(0 0 0 / 75%)), url(/img/slide-repair/slide-repair-002.jpg);
  color: #fff;background-attachment: fixed; padding: 200px 0px;
  text-align: center;
}

.about-hero {
  padding: 200px 0;
      background: linear-gradient(rgb(0 0 0 / 75%), rgb(0 0 0 / 75%)), url(/img/slide-repair/slide-repair-001.jpg);
    background-size: cover;background-attachment: fixed;
    background-position: center; color: #fff; text-align: center;
}

.about-hero h1 {
  font-size: 52px;
  font-weight: 600;
  text-transform: uppercase;
}

.about-hero h3 {
  font-size: 22px;
  margin: 15px 0; color: #ff5a1f; text-transform: uppercase;
}

.about-hero p {
  max-width: 800px;
  margin: 0 auto; font-family: font3; letter-spacing: .5px;
  font-size: 1.1rem;
  line-height: 40px;
}


.about-hero .history-grid{
	display:grid;
	gap: 20px;
	grid-template-columns: 1fr 1fr 1fr;
	
	
	
}
.about-hero .history-box {
    padding: 25px 15px 25px 15px;
    border-radius: 5px;
    border: 2px dashed white;
    margin: 10px 0px 10px 0px;
    background: transparent;
}

.about-hero .history-box h3 {
	font-family: font4; font-weight: 600; font-size: 25px; color: white; text-transform: uppercase; letter-spacing: 1px;
}

.about-hero .history-box p {
	font-size: 15px; color: white; 
}

@media (max-width: 991px){
	
.about-hero {
    padding: 140px 0;
    background: linear-gradient(rgb(0 0 0 / 75%), rgb(0 0 0 / 75%)), url(/img/slide-repair/slide-repair-001.jpg);
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    color: #fff;
    text-align: center;
}
	
.about-hero .history-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr;
}
}

/* SPLIT SECTIONS */
.about-split {
  padding: 120px 0 90px; text-align: center;
}

.about-split .history1 {
	padding: 25px 15px 25px 15px; border-radius: 5px; border: 2px dashed #1c286d; margin: 10px 0px 10px 0px;background: #1c286d17;
}

.about-split .history1 h3 {
	font-family: font4; font-weight: 600; font-size: 25px; color: #1c286d; text-transform: uppercase; letter-spacing: 1px;
}

.about-split .history1 p {
	font-size: 15px;
}

.about-split .history2 {
	padding: 25px 15px 25px 15px; border-radius: 5px; border: 2px dashed #ff5a1f; margin: 15px 0px 15px 0px;background: #ff5a1f1c;
}

.about-split .history2 h3 {
	font-family: font4; font-weight: 600; font-size: 25px; color: #ff5a1f; text-transform: uppercase; letter-spacing: 1px;
}

.about-split .history2 p {
	font-size: 15px;
}

.about-split .choose-box {
	position: relative; text-align: center; margin-left: 25px; margin-right: -25px;
}

.about-split .choose-box .chooser1 {
	padding: 25px 15px 25px 15px; border-radius: 5px; border: 2px dashed #1c286d; margin: 15px 0px 15px 0px;background: #1c286d17;
	display: flex;justify-content: center;align-items: center;flex-direction: column;
}


.about-split .choose-box .chooser2 {
	padding: 25px 15px 25px 15px; border-radius: 5px; border: 2px dashed #ff5a1f; margin: 10px 0px 10px 0px;background: #ff5a1f1c;
	display: flex;justify-content: center;align-items: center;flex-direction: column;

}

.about-split .choose-box h3 {
	font-family: font3; font-size: 20px; text-transform: uppercase; font-weight: 600;
}

.about-split .choose-box .chooser2 h3 {
	color: #1c286d;
}

.about-split .choose-box .chooser1 h3 {
	color: #ff5a1f;
}

.about-split .choose-box p {
	font-family: font3; font-size: 15px;
}
.about-split .choose-box .row{
    display:flex;
    align-items:stretch;
}

.about-split .choose-box .col-sm{
    display:flex;
}

.about-split .choose-box .chooser1,
.about-split .choose-box .chooser2{
    flex:1;
}
.about-split img {
  width: 100%;    box-shadow: 1px 1px 10px 1px #000;
  border-radius: 6px;
}

.about-split h2 {
  font-size: 40px; font-family: font4;
  text-transform: uppercase; color: #1c286d;
}

.about-split h4 {
  font-size: 20px;
  margin-bottom: 15px; font-family: font3; font-weight: 600;  text-transform: uppercase; color: #ff5a1f;
}

.about-split p {
	font-family: font3; letter-spacing: .5px; font-size: 18px; line-height: 40px;
}

.about-split ul li {
  font-size: 18px;
  line-height: 30px;
}



@media (max-width: 991px){
.about-split .choose-box {
    position: relative;
    text-align: center;
    margin-left: 0;
    margin-right: 0;
}
}

/* SERVICES */
.about-services {
  position: relative;
  padding: 120px 0;
  overflow: hidden;
  background: #090E26; /* deep brand base */
  color: #fff;
}

.about-services::before {
  content: "";
  position: absolute;
  inset: 0;

  background:
    radial-gradient(circle at 50% 30%,
      rgba(28,40,109,0.9) 0%,
      rgba(14,21,56,1) 60%);

  z-index: 1;
}

.about-services::after {
  content: "";
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;

  background: url('/img/ui/cloud-overlay.png') center / cover no-repeat;

  opacity: 0.5;
  pointer-events: none;

  animation: about-cloud-drift 10s linear infinite;

  z-index: 1;
}

@keyframes about-cloud-drift {
  from { transform: translateX(0); }
  to   { transform: translateX(25%); }
}
.about-services .container {
  position: relative;
  z-index: 2;
}


.about-services h2 {
  text-align: center; font-family: font4;
  font-size: 3.5rem; letter-spacing: 1px;
  text-transform: uppercase;
}

.section-intro {
  text-align: center;
  max-width: 700px; font-family: font3; letter-spacing: .5px; font-size: 20px; line-height: 40px;
  margin: 20px auto 50px;
}

.about-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);;
  gap: 0px;
}

/* FLIP CARD */
.service-flip-card {
  perspective: 1000px;
}

.card-inner {
  position: relative;
  width: 100%;
  height: 260px; border-right: 1px solid #ff5a1f; border-bottom: 1px solid #ff5a1f;
  transform-style: preserve-3d;
  transition: transform 0.7s;
}

.service-flip-card:hover .card-inner {
  transform: rotateX(180deg); box-shadow: 0px 0px 0px 1px #fff; border-right: 1px solid #fff;
}

.card-front,
.card-back {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.card-front {
  background: #080c25;
  align-items: center;
  text-align: center;
}

.card-front i {
  font-size: 40px;
  margin-bottom: 15px;
  color: #ff5a1f;
}

.card-back {
  background: #ff5a1f; 
  transform: rotateX(180deg);
}

.card-back p {
	font-family: font3; letter-spacing: .5px; font-size: 20px; line-height: 40px;
}

.card-back ul {
  padding-left: 20px;
}

.card-back ul li {
  margin-bottom: 6px;
}


@media (max-width: 991px){
.about-services-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 0px;
}
.about-services h2 {
  text-align: center; font-family: font4;
  font-size: 2rem; letter-spacing: 1px;
  text-transform: uppercase;
}
}
/* CTA */


.about-cta h2 {
  font-size: 44px;
  text-transform: uppercase;
}

.about-cta p {
  font-size: 20px;
  margin: 20px 0; font-family: font3; letter-spacing: .5px; line-height: 40px;
}

.about-cta .btn-primary {
  display: inline-block;
  padding: 14px 34px;
  background: #ff5a1f;
  color: #fff;
  text-transform: uppercase;
  font-weight: 600;
  text-decoration: none;
}



/* About Hero Jump Navigation */

.about-jump-nav {
  max-width: 860px;
  margin: 38px auto 12px;
  padding: 14px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 8px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.about-jump-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 54px;
  padding: 12px 18px;
  background: rgba(28,40,109,.86);
  color: #fff;
  border: 1px dashed rgba(255,255,255,.55);
  border-radius: 6px;
  font-family: font4;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .8px;
  text-transform: uppercase;
  text-decoration: none;
  transition: .25s ease;
}

.about-jump-nav a i {
  color: #ff5a1f;
  font-size: 18px;
  transition: .25s ease;
}

.about-jump-nav a:hover {
  background: #ff5a1f;
  color: #fff;
  border-color: #fff;
  transform: translateY(-2px);
  text-decoration: none;
}

.about-jump-nav a:hover i {
  color: #fff;
}

html {
  scroll-behavior: smooth;
}

@media (max-width: 991px) {
  .about-jump-nav {
    grid-template-columns: 1fr;
    max-width: 520px;
  }

  .about-jump-nav a {
    min-height: 50px;
  }
}

/* CORE VALUES SECTION */

.about-values {
  background: #f4f4f4;
  padding: 0;
}

.about-values-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
}

.about-value-card {
  min-height: 650px;
  color: #fff;
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.about-value-card--character {
  background: #828282;
}

.about-value-card--community {
  background: #6d6f8c;
}

.about-value-card--safety {
  background: #566074;
}

.about-value-card--client {
  background: #788c87;
}

.about-value-inner {
  width: 100%;
  max-width: 610px;
  padding: 55px 34px 48px;
  text-align: center;
}

.about-value-card h2 {
  margin: 0 0 22px;
  color: #fff;
  font-family: font4;
  font-size: clamp(34px, 3.2vw, 48px);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: .5px;
}

.about-value-icon {
  margin: 0 auto 28px;
  color: rgba(255,255,255,.9);
  font-size: 78px;
  line-height: 1;
}

.about-value-lead {
  max-width: 520px;
  margin: 0 auto 30px;
  color: #fff;
  font-family: font3;
  font-size: 21px;
  line-height: 1.32;
  font-weight: 700;
  text-align: center;
}

.about-value-card ul {
  max-width: 560px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  text-align: left;
}

.about-value-card li {
  position: relative;
  margin-bottom: 20px;
  padding-left: 17px;
  color: #fff;
  font-family: font3;
  font-size: 15px;
  line-height: 1.55;
  letter-spacing: .2px;
}

.about-value-card li::before {
  content: "*";
  position: absolute;
  left: 0;
  top: 0;
  color: #fff;
  font-weight: 700;
}

@media (max-width: 991px) {
  .about-values-grid {
    grid-template-columns: 1fr;
  }

  .about-value-card {
    min-height: auto;
  }

  .about-value-inner {
    max-width: 720px;
    padding: 55px 28px;
  }
}

@media (max-width: 575px) {
  .about-value-inner {
    padding: 45px 22px;
  }

  .about-value-card h2 {
    font-size: 32px;
  }

  .about-value-icon {
    font-size: 62px;
  }

  .about-value-lead {
    font-size: 18px;
  }

  .about-value-card li {
    font-size: 14px;
  }
}





.about-team{
	padding: 70px 0 70px;
	
	
}


.about-team h2{
	font-size: 2rem;
	font-family: 'font4';
	color:white;
	
}
.about-team h2.heading {
  font-size: 52px;
  font-weight: 600;
  text-transform: uppercase;
	font-family: 'font4';
	color:black;
}

.about-team p{
	font-family: 'font4';
	color:white;
	
}
.about-team span.company-role{
	font-family: 'font4';
	color:white;
	
}
.about-team img{
	border-radius: 100%;
	max-height: 400px;
	
	width: 200px;
	    border: 2px solid white;

}

.about-team .team-grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:35px;

}


.team-grid .team-card{
	background: #1c286d;
	padding: 15px;
	border-radius: 20px;
	display:flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}


.about-team .popup-overlay{
	position:absolute;
	inset: 0;
	z-index: 0;
	background-color: rgb(113 113 113 / 25%);
	
}
.about-team .popup-inner{
	position:relative;
	z-index: 1;
	background-color:white;
	border-radius: 20px;
	
		 width: 800px;
		 padding: 35px; 

}
.about-team .popup{
	position: fixed; 
	opacity: 0;
	inset: 0;
	z-index: 999;
	display:flex;
	justify-content: center;
	align-items: center;
	
	
	pointer-events: none; 
	transition: 0.4s; 
}
.about-team .popup p {
	color:black;
	    font-size: 0.8rem;;
}
.about-team .popup h3 {
	font-family: 'font4';
}
.about-team .popup span {
	font-size:1.2rem;
}
.about-team .popup.is-active{
	opacity: 1;
	pointer-events: all; 
}

.about-team .popup-btn{
	font-family: 'font4';
	color:white;
}
.btn-color{
	background: #ff7442;
	padding: 10px;
	border-radius: 10px; display: inline-flex; 
}
.about-team .close-btn{
	background:  #1c286d;
	color:white;
	padding: 10px;
	border-radius: 15px; 
	
}


@media (max-width: 991px){

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

  .about-team .popup-inner{
    width: 90%;
    max-width: 500px;
    padding: 20px;
  }

  .about-team .popup-inner img{
    width: 150px;
    height: 150px;
  }

  .about-team .popup-inner .row{
    flex-direction: column;
    text-align: center;
  }

}
@media (max-width: 690px){
.about-team .team-grid {
    grid-template-columns: repeat(1, 1fr);
}
  .about-team .popup{
    align-items: flex-start;
    padding: 20px 0;
    overflow-y: auto;
  }

  .about-team .popup-inner{
    width: 95%;
    max-width: 95%;
    margin: 20px auto;
    max-height: 90vh;
    overflow-y: auto;
  }

}







.about-career{
	
	padding: 100px 20px;
	
	
}

/* SERVICES */
.about-career {
  position: relative;
  padding: 120px 0;
  overflow: hidden;
  background: #090E26; /* deep brand base */
  color: #fff;
}

.about-career::before {
  content: "";
  position: absolute;
  inset: 0;

  background:
    radial-gradient(circle at 50% 30%,
      rgba(28,40,109,0.9) 0%,
      rgba(14,21,56,1) 60%);

  z-index: 1;
}

.about-career::after {
  content: "";
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;

  background: url('/img/ui/cloud-overlay.png') center / cover no-repeat;

  opacity: 0.5;
  pointer-events: none;

  animation: about-cloud-drift 10s linear infinite;

  z-index: 1;
}

@keyframes about-cloud-drift {
  from { transform: translateX(0); }
  to   { transform: translateX(25%); }
}
.about-career .container {
  position: relative;
  z-index: 2;
}


.about-career h2 {
  text-align: center; font-family: font4;
  font-size: 50px; letter-spacing: 1px;
  text-transform: uppercase;
}
.career-intro {
    text-align: center;
    max-width: 700px;
    font-family: font3;
    letter-spacing: .5px;
    font-size: 18px;
    line-height: 40px;
    margin: 20px auto 50px;
}
 
.about-career-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);;
  gap: 0px;
}






/**** Services Section ****/

/* HERO */
.services-hero {
  padding: 160px 0;
   /*background: linear-gradient(#000000c4, #000000c4), url(/img/slide-repair/slide-repair-001.jpg);*/
   background: linear-gradient(#000000c4, #000000c4), url(/img/services/geo-service-bg.jpg);
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
  color: #fff;
}

.services-legend {
  list-style: none;
	border-radius: 10px; background: #1c286d;
  padding: 25px;
}

.services-hero h1 {
	font-family: font4; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 50px; font-size: 50px;
}

.services-hero h3 {
	font-family: font3; text-transform: uppercase; letter-spacing: .5px; color: #ff5a1f; font-size: 23px; font-weight: 600; margin-top: 50px;
	text-align: center;
}

.services-hero p {
	font-family: font3; letter-spacing: .5px; line-height: 40px; font-size: 20px;
	text-align: center;
}

.services-legend li {
  margin-bottom: 10px; font-family: font3; letter-spacing: .5px; text-transform: uppercase;
}

.services-legend a {
  color: #fff;
  font-weight: 500; font-family: font3;
  text-decoration: none;
}

.services-legend a:hover {
	color: #ff5a1f; font-weight: 600; margin-left: 5px; text-decoration: underline !important;
}

/* HUB */
/* SERVICE HUB */
.service-hub {
  padding: 100px 0;
  background: #ddd;
}

.hub-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 5 per row */
  gap: 20px;
}

/* HUB CARD */
.hub-card {
  height: 170px;
  background-size: cover;
  background-position: center;
  position: relative;
  text-decoration: none;
  overflow: hidden;
      border-radius: 15px;
}

.hub-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
  transition: background 0.3s ease;
}

.hub-card span {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
  padding: 10px;
}

.hub-card:hover::before {
  background: rgba(0,0,0,0.35);
}

/* CUSTOM WORK CARD */


/* RESPONSIVE */
@media (max-width: 1200px) {
  .hub-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 991px) {
  .hub-grid {
    grid-template-columns: repeat(2, 1fr);
  }
	
.services-hero h1 {
    font-family: font4;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 50px;
    font-size: 2rem;
    text-align: center;
}
	
}

/* SERVICE SECTIONS */
.service-section {
  position: relative;
  padding: 300px 0;
  color: #fff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

/* Gradient overlay */
.service-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.75),
    rgba(0,0,0,0.45)
  );
  z-index: 1;
}

/* Flip gradient for reversed sections */
.service-section.reverse::before {
  background: linear-gradient(
    to left,
    rgba(0,0,0,0.75),
    rgba(0,0,0,0.45)
  );
}

/* Content above overlay */
.service-section .container,
.service-section .row {
  position: relative;
  z-index: 1;
}

/* Typography */
.service-content h2 {
  font-size: 44px;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.service-content h4 {
  font-size: 20px;
  font-weight: 600; font-family: font3; letter-spacing: .5px; text-transform: uppercase;
  margin-bottom: 20px;
  color: #ff5a1f;
}

.service-content p {
  font-size: 18px;
  line-height: 32px;

}

.service-section.reverse .service-content {
	text-align: right;
}

/* Bullet cards */
.service-bullets {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.bullet-card {
 background: #1c286d8a;
    border-radius: 15px;
    padding: 18px 20px;
    font-weight: 500;
    backdrop-filter: blur(2px);
}

.soil-nailing-section {
  background-image: url('/img/services/soil-nailing-service-01.jpg');
}

.shotcrete-section {
  background-image: url('/img/services/shotcrete-service-01.jpeg');
}

.temporary-shoring-section {
  background-image: url('/img/services/shoring-service-01.jpg');
}

.grouting-section {
  background-image: url('/img/services/grouting-service-03.jpg');
}

.drilled-shafts-section {
  background-image: url('/img/services/drilled-shaft-service-01.jpg');
}

.sinkhole-remediation-section {
  background-image: url('/img/services/sinkhole-remediation-service-01.jpg');
}

.sheet-piling-section {
  background-image: url('/img/services/sheet-piling-service-01.jpg');
}

.concrete-repair-section {
  background-image: url('/img/services/concrete-repair-service-01.jpg');
}

.slope-mitigation-section {
  background-image: url('/img/services/slide-repair-0014.jpeg');
}

.custom-work-section {
 background-image: url('/img/services/piles-01.jpeg');
}


/* CTA DIVIDER */
/* ============================
   CTA BASE STYLES
============================ */

.service-cta,
.service-cta-alt {
  position: relative;
  padding: 80px 0;
  text-align: center;
  color: #fff;
  overflow: hidden;
}

/* Keep content above clouds */
.service-cta .container,
.service-cta-alt .container {
  position: relative;
  z-index: 2;
}

/* ============================
   BLUE CTA
============================ */

.service-cta {
  background:#0F1538;
}

/* Cloud Layer */
.service-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;

  background: url('/img/ui/cloud-overlay.png') center / cover no-repeat;

  opacity: 0.30;
  pointer-events: none;

  animation: cta-cloud-drift 10s linear infinite;

  z-index: 1;
}

/* Typography */
.service-cta h3 {
  font-family: font4;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.service-cta p {
  font-family: font3;
  letter-spacing: .5px;
  font-size: 20px;
  line-height: 40px;
}

/* Button */
.service-cta .btn-primary {
  display: inline-block;
  padding: 14px 34px;
  background: #ff5a1f;
  color: #fff;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  transition: all .3s ease;
}

.service-cta .btn-primary:hover {
  background: #fff;
  color: #1c286d;
}


/* ============================
   ORANGE CTA
============================ */

.service-cta-alt {
  background:#ff3d00;
}

/* Cloud Layer */
.service-cta-alt::before {
  content: "";
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;

  background: url('/img/ui/cloud-overlay.png') center / cover no-repeat;

  opacity: 0.5; /* lighter for orange */
  pointer-events: none;

  animation: cta-cloud-drift-reverse 10s linear infinite;

  z-index: 1;
}

/* Typography */
.service-cta-alt h3 {
  font-family: font4;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.service-cta-alt p {
  font-family: font3;
  letter-spacing: .5px;
  font-size: 20px;
  line-height: 40px;
}

/* Button */
.service-cta-alt .btn-primary {
  display: inline-block;
  padding: 14px 34px;
  background: #1c286d;
  color: #fff;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  transition: all .3s ease;
}

.service-cta-alt .btn-primary:hover {
  background: #fff;
  color: #ff5a1f;
}


/* ============================
   CLOUD ANIMATIONS
============================ */

@keyframes cta-cloud-drift {
  from { transform: translateX(0); }
  to   { transform: translateX(25%); }
}

@keyframes cta-cloud-drift-reverse {
  from { transform: translateX(0); }
  to   { transform: translateX(-25%); }
}


/* SERVICES OVERVIEW */
.services-overview {
  padding: 120px 0;
  background: #ffffff;
  color: #111; text-align: center;
}

.services-overview h2 {
  font-size: 40px;
  font-weight: 600; font-family: font4; color: #1c286d;
  text-transform: uppercase;
  margin-bottom: 25px;
}

.services-overview h4 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 35px;
  color: #ff5a1f; text-transform: uppercase; font-family: font3; 
}

.services-overview p {
  font-size: 18px; font-family: font3; letter-spacing: .5px;
  line-height: 40px;
  margin-bottom: 15px;
}

.overview-image {
  width: 100%;
  border-radius: 6px;
}

@media (max-width: 991px) {
 
.services-overview h2 {
    font-size: 2rem;
    font-weight: 600;
    font-family: font4;
    color: #1c286d;
    text-transform: uppercase;
    margin-bottom: 25px;
}
.service-content h2 {
    font-size: 2rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.service-bullets {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}
}

/**** Gallery Section ****/
.portfolio-hub {
  position: relative;
  padding: 150px 200px;
  overflow: hidden;

  background: #fff;
}

.portfolio-hub::before {
  content: "";
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;

  background: url('/img/ui/cloud-overlay.png') center / cover no-repeat;

  opacity: 0.6;  /* subtle for light background */
  pointer-events: none;

  animation: portfolio-cloud-drift 10s linear infinite;

  z-index: 1;
}

.portfolio-hub > * {
  position: relative;
  z-index: 2;
}

@keyframes portfolio-cloud-drift {
  from { transform: translateX(0); }
  to   { transform: translateX(20%); }
}



@media (max-width: 991.98px) {
  .portfolio-hub { padding: 48px 24px; background-attachment: scroll; }
}

.portfolio-hub h1 {
	font-family: font4; font-size: 50px; letter-spacing: 1px; text-align: center; background:  #052043; margin: 50px 0px 50px 0px; text-transform: uppercase; padding: 75px 25px 75px 25px; border-radius: 25px; color: #fff;
}

.portfolio-grid { display: grid; gap: 2.5rem; }
@media (min-width: 992px) { .portfolio-grid { grid-template-columns: 1fr 1fr; } }

/* === Each section === */
.pf-section { border: 1px solid #e5e7eb; border-radius: 1rem; overflow: hidden; background: #052043; }
.pf-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid #f1f5f9; }
.pf-header h2 {     font-size: 25px;
    color: #fff;    
    margin: 0;
    font-family: font4;
    text-transform: uppercase; }
.pf-header a.pf-link { display:inline-flex; align-items:center; gap:.5rem; background: #ff5a1f;text-decoration:none; padding:.5rem .75rem; border:1px solid #e5e7eb; border-radius:.5rem; font-weight:600; color: #fff; }
.pf-header a.pf-link:hover { background:#f8fafc; color: #1c286d; }

/* === Slider === */
.pf-slider { position: relative; }
.pf-slides {
  position: relative; width: 100%;
  height: 0; padding-top: 56.25%; /* 16:9 fallback */
  overflow: hidden; background: #0b1220;
}
@supports (aspect-ratio: 16/9) { .pf-slides { height: auto; padding-top: 0; aspect-ratio: 16/9; } }
.pf-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .35s ease-in-out; }
.pf-slide.is-active { opacity: 1; }
.pf-slide img { width: 100%; height: 100%; object-fit: cover; display: block; user-select: none; }

/* === Arrows === */
.pf-nav { position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-between; padding: 0 .5rem; pointer-events: none; }
.pf-nav button { pointer-events: all; border: 0; background: rgba(0,0,0,.45); color: #fff; width: 42px; height: 42px; border-radius: 999px; display: grid; place-items: center; cursor: pointer; }
.pf-nav button:hover { background: rgba(0,0,0,.65); }

/* === Thumbnails === */
.pf-thumbs { display: grid; grid-template-columns: repeat(7, 1fr); gap: .5rem; padding: .75rem; background: #0b1220; }
@media (max-width: 576px) { .pf-thumbs { grid-template-columns: repeat(5, 1fr); overflow-x: auto; } }
.pf-thumb { border: 2px solid transparent; border-radius: .4rem; padding: 0; cursor: pointer; overflow: hidden; background: #111827; aspect-ratio: 1/1; }
.pf-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pf-thumb[aria-current="true"] { border-color: #60a5fa; box-shadow: 0 0 0 2px rgba(96,165,250,.35); }



@media (max-width: 1400px){
.portfolio-hub {
    position: relative;
    padding: 150px 30px;
    overflow: hidden;
    background: #fff;
}
}
@media (max-width:991px){
.portfolio-hub h1 {
    font-family: font4;
    font-size: 2rem;
    letter-spacing: 1px;
    text-align: center;
    background: #052043;
    margin: 50px 0px 50px 0px;
    text-transform: uppercase;
    padding: 75px 25px 75px 25px;
    border-radius: 25px;
    color: #fff;
}
}

/* === A11y utility === */
.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; border:0; padding:0; white-space:nowrap; clip-path:inset(50%); clip:rect(0 0 0 0); overflow:hidden; }

/**** Areas We Service Section ****/
.area:nth-child(odd) {
	padding: 75px 0 75px 0; background: rgb(255,255,255);
}
.area:nth-child(even) {
	padding: 75px 0 75px 0; background: rgb(245,245,245);
}
.area h2 {
	font-size: 2.5rem; font-family: font2; font-weight: 800; color: rgb(196,41,56);
}
.area h4 {
	font-size: 1.5rem; font-family: font2; color: rgb(75,75,75);
}
.area p {
	font-size: 17px; text-align: justify; color: rgb(12,12,12);
}
.area iframe {
	width: 100%; height: 100%; border-radius: 0.8rem; box-shadow: 1px 1px 10px 1px rgb(0,0,0);
}

/**** Contact Section ****/


/**** Testimonials Section ****/
.testimonials {
	padding: 75px 0 75px 0; background: rgb(255,255,255);
}


/**** Sections On Every Page ****/
.contact-section {
	padding: 150px 0;
        background: linear-gradient(#000000d9, #000000d9), url(/img/home-gallery/drilled-shaft-01.jpg);
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
}
.contact-section h2 {
	font-size: 40px; font-family: font4; font-weight: 500;  color: #fff; text-transform: uppercase;
}

.contact-section p {
	font-family: font3; font-size: 20px; line-height: 40px; letter-spacing: .5px; color: #fff;
}

.contact-steps {
  margin-top: 50px;
}

.contact-step {
  display: flex;
  align-items: flex-start;
  margin-bottom: 35px;
}

.step-number {
  font-family: font4;
    font-size: 42px;
    font-weight: 600;
    color: #1c286d;
    margin-right: 20px;
    line-height: 1;
    padding: 10px;
    background: #fff;
    border-radius: 15px;
}

.step-content h4 {
  font-family: font4;
  font-size: 20px;
  font-weight: 500;
  color: #fff;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.step-content p {
  font-family: font3;
  font-size: 18px; text-shadow: 0px 0px 1px #fff;
  line-height: 30px;letter-spacing: .5px;
  color: #fff;
  margin: 0;
}

/* =========================
CONTACT HERO
========================= */

.contact-hero {
  position: relative;
  height: 70vh;
  background: url("/img/services/shoring-service-01.jpg") center / cover no-repeat;
  display: flex;
  align-items: center;
}

.contact-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.7));
}

.contact-hero-content {
  position: relative;
  z-index: 2;
  color: #fff;
  max-width: 900px;
}

.contact-hero-content h1 {
  font-size: 3rem; font-family: font4; text-transform: uppercase;
  margin-bottom: 20px; text-align: center;
}

.contact-hero-content h4 {
	font-family: font3; text-transform: uppercase; letter-spacing: .5px; font-size: 23px; color: #ff5a1f; text-align: center; font-weight: 600;
}

.contact-hero-content p {
  font-size: 20px; text-align: center; margin: 25px 0px 25px 0px;
  line-height: 40px; font-family: font3; letter-spacing: .5px;
}


/* =========================
SPLIT SECTIONS
========================= */
.contact-about .container{
	max-width: 1500px;
}
.contact-split {
  display: grid;
  grid-template-columns: 0.7fr 0.3fr;
  gap: 60px;
  align-items: center;
  padding: 100px 0;
}

.contact-split.reverse {
  direction: rtl;
}

.contact-split.reverse .contact-text,
.contact-split.reverse .contact-image {
  direction: ltr;
}

.contact-image img {
  width: 100%;
  border-radius: 18px;
  box-shadow: 1px 1px 10px 1px #000;
}
.contact-text h1 {
  font-size: 2.3rem; color: #1c286d;
  margin-bottom: 20px; font-family: font4; text-transform: uppercase;
}
.contact-text h2 {
  font-size: 2.2rem; color: #1c286d;
  margin-bottom: 20px; font-family: font4; text-transform: uppercase;
}

.contact-text h4 {
	font-family: font3; text-transform: uppercase; letter-spacing: .5px; font-size: 23px; color: #ff5a1f; font-weight: 600;
}
.contact-text h5{
	font-family: font3; text-transform: uppercase; letter-spacing: .5px; font-size: 1.4rem;; color: black;; font-weight: 600;
}
.contact-text p {
  line-height: 30px; font-size: 18px;
  margin-bottom: 15px; margin: 25px 0px 25px 0px;
  color: #444; font-family: font3; letter-spacing: .5px;
	
	    font-weight: 800;
}

.contact-text ul {
  list-style: none;
  padding: 0;
}

.contact-text ul li {
  position: relative; font-size: 16px; line-height: 40px;
  padding-left: 28px; font-family: font3; text-transform: uppercase;
  margin-bottom: 12px; font-weight: 600; letter-spacing: .5px;
}

.contact-text ul li::before {
  content: "☑";
  position: absolute;
  left: 0; font-size: 25px;
  color: #1c286d; margin-top: -2px;
  font-weight: bold;
}


.contact-point{
	
	margin: 35px 0 65px; 
	
}

/* =========================
WHAT WE DO
========================= */

.contact-services {
  position: relative;
  padding: 100px 0;
  overflow: hidden;

  background: #fff;
}

.contact-services::before {
  content: "";
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;

  background: url('/img/ui/cloud-overlay.png') center / cover no-repeat;

  opacity: 0.5;   /* very subtle for light bg */
  pointer-events: none;

  animation: contact-cloud-drift 10s linear infinite;

  z-index: 1;
}

.contact-services .container {
  position: relative;
  z-index: 2;
}

@keyframes contact-cloud-drift {
  from { transform: translateX(0); }
  to   { transform: translateX(18%); }
}


.contact-section-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 60px;
}

.contact-section-header h2 {
  font-size: 2.3rem; color: #1c286d;
  margin-bottom: 15px; font-family: font4; text-transform: uppercase;
}

.contact-section-header h4 {
	font-family: font3; text-transform: uppercase; letter-spacing: .5px; font-size: 23px; color: #ff5a1f; font-weight: 600;
}
.contact-section-header p {
	 font-family: font3; letter-spacing: .5px; font-size: 20px; line-height: 40px;
}

.contact-service-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.contact-service-card {
  background: #fff;
  padding: 40px 30px;
  border-radius: 16px;
  text-align: center;
  box-shadow: 0 12px 28px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;;
}

.contact-service-card:hover {
  transform: translateY(-8px); background: #ff5a1f; color: #fff;
  box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

.contact-service-card:hover p {
	color: #fff;
}

.contact-service-card i {
  font-size: 2.5rem;
  color: #1c286d;
  margin-bottom: 20px;
}

.contact-service-card h3 {
  margin-bottom: 12px; font-weight: 600; letter-spacing: .5px;
  font-size: 1.2rem; font-family: font3; text-transform: uppercase;
}

.contact-service-card p {
  font-size: 0.95rem;
  color: #555; font-family: font3; letter-spacing: .5px;
  line-height: 1.5;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width: 1100px) {
  .contact-service-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 991px) {
  .contact-split {
    grid-template-columns: 1fr;
  }
.contact-split {
    display: flex;
    gap: 60px;
    align-items: center;
		justify-content: center;
		flex-direction:column;
    padding: 100px 0;
}
  .contact-split.reverse {
    direction: ltr;
  }
	
.contact-text h4 {
    font-family: font3;
    text-transform: uppercase;
    letter-spacing: .5px;
    font-size: 1rem;
    color: #ff5a1f;
    font-weight: 600;
}

.contact-text h2 {
    font-size: 1rem;
    color: #1c286d;
    margin-bottom: 20px;
    font-family: font4;
    text-transform: uppercase;
}


.contact-text p {
    line-height: 30px;
    font-size: 1rem;
    margin-bottom: 15px;
    margin: 25px 0px 25px 0px;
    color: #444;
    font-family: font3;
    letter-spacing: 0;
}
}

@media (max-width: 600px) {
  .contact-service-grid {
    grid-template-columns: 1fr;
  }

  .contact-hero-content h1 {
    font-size: 2.2rem;
  }
}


/* ========================================== */
/* === Misc. Section ======================== */
/* ========================================== */

/****  Referrals Owl Carousel ****/
.owl-carousel .owl-stage-outer {
	padding: 40px 0;
}
.owl-nav {
	position: absolute; width: 100%; top: 10%; display: none;
}
.owl-carousel .item {
	display: block; height: 100%;
}
.owl-carousel .owl-item span {
	font-size: 20px; font-weight: 500;
}
.owl-nav .owl-prev,
.owl-nav .owl-next {
	position: absolute;
}
.owl-nav .owl-prev:hover,
.owl-nav .owl-next:hover {
	background: transparent !important; color: #212121 !important; opacity: .5 !important;
}
.owl-nav .owl-next {
	left: 100%;
}
.owl-nav .owl-prev {
	right: 100%;
}
.owl-nav .owl-prev span,
.owl-nav .owl-next span {
	font-size: 3em; display: block;
}
.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot {
	outline: none;
}

/**** Default Classes ****/
body {
	font-family: 'Montserrat', sans-serif;
}
body#barbajs {
	visibility: visible;
}
a, button, .btn {
	-webkit-transition: all .30s ease; -moz-transition: all .30s ease; -o-transition: all .30s ease; transition: all .30s ease;
}
a {
	cursor:pointer;	text-decoration: none !important;
}
a:hover {
	color: #252525; text-decoration: underline;
}
.btn {
	cursor: pointer; border-radius: 0;
}
.btn.alert-trigger {
	color: #fdfdfd; background-color:#333;
}
.btn:hover {
	opacity: 0.9;
}
.inner-content-section .btn {
	background:rgba(135,170,188);	border-color: #949494; color: rgba(255,255,255,1);
}
.inner-content-section .btn:hover {
	background-color: rgba(135,170,188,0.4); color: #fff;
}
.btn-primary:not([disabled]):not(.disabled).active,
.btn-primary:not([disabled]):not(.disabled):active,
.show>.btn-primary.dropdown-toggle {outline: none;box-shadow: none;background-color: #444;border-color: #949494;color: #fff;}
.btn-primary:hover {
	border-color: #949494;
}
.btn.focus, .btn:focus {
	outline:none; box-shadow: none;
}
.section-divider {
	position: relative; padding: 50px 0;
}
.estimate-section-divider .alert, .estimate-section-divider .alert p {
    text-align: left; font-size: inherit;
}
.block-overlay {
	position: absolute; display: inline-block; background:rgba(0, 0, 0, 0.6); width: 100%; height: 100%; top: 0; left: 0; right: 0; bottom: 0; z-index: 0;
}
.fadeDiv {
	position: fixed; display: inline-block; z-index: 1050; color: #fff; background: #300e87; padding: 50px; top: 150px; bottom: 150px; left: 300px; right: 300px; transform:scale(0,0); box-shadow: 0px 0px 20px -1px #000; transition: all .20s cubic-bezier(0.65, 0.05, 0.36, 1);
}
.menu-scaler {
	position: fixed; display: inline-block; padding: 50px; z-index: 1050; top: 150px; bottom: 150px; left: 300px; right: 300px; transform: scale(1,1);
}
.fadeDiv .fadeDiv-close {
	position: absolute; right: 20px; top: 10px; font-weight: 900; font-size: 2em; font-family: 'Lato'; cursor: pointer;
}
.navbar-collapse ul {
	width: 100%; justify-content: center; align-items: center;
}
.overlay {
	height: 100%; width: 100%; background: #ffffffbf;
}
#myBtn {
	display: block; width: 50px; height: 50px; position: fixed; top: 100%; right: 30px; z-index: 99; border: none; outline: none; background-color: #000000; color: #ffffff; cursor: pointer; font-size: 14px; padding-top: 0; border-radius: 0px; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease;
}
#myBtn i {
	color: white;
}
#myBtn:hover {
	background-color: #424242; color: #fff;
}

/**** Gallery Function Section ****/
#portfolio input {
	display: flex; flex-direction: column; justify-content: center; align-items: center; position: absolute; margin: 0; top: 0; left: -60px; z-index: 2; width: 60px; height: 60px; -webkit-appearance: none; background-image: url(/img/icons/close-btn-icon-red.png); background-repeat: no-repeat; background-color: transparent; background-size: contain; color: #ffffff; border: none; cursor: pointer; outline: none !important; -webkit-transition: all .30s ease; -moz-transition: all .30s ease; -o-transition: all .30s ease; transition: all .30s ease;
}
#portfolio input:hover {
	background-color: #fff;	opacity: .;
}
button.mfp-close, button.mfp-arrow {
	outline :none !important;
}
#portfolio {
	display: flex; padding: 0; overflow: hidden; flex-wrap: wrap; justify-content: center;
}
#portfolio li {
	display: flex; justify-content: center; align-items: center; float: left; position: relative; overflow: hidden; margin: 0 10px 20px;
}
#portfolio li a {
	transform: scale(1,1); display: block; width: 100%; height: 295px; width: 490px; overflow: hidden; -o-transition:all .30s ease; -moz-transition:all .30s ease; -webkit-transition:all .30s ease; transition:all .30s ease;
}
#portfolio li a:hover {
	transform: scale(1.1,1.1) !important;
}
#portfolio li a img {
	display: block; position: absolute; top: 0%; bottom: 0%; left: 0%; right: 0%; margin: auto; width: 100%; height: auto; transform: scale(1,1);
}
#portfolio li:hover .block-overlay {
	background-color: #000000cc;
}
#portfolio li:hover input {
	left: 0;
}
#portfolio .block-overlay {
	background: rgb(0,0,0,0.1); z-index: 1; -webkit-transition: all .30s ease; -moz-transition: all .30s ease; -o-transition: all .30s ease; transition: all .30s ease;
}

.mfp-ready .mfp-figure {
	opacity: 0; margin-left: -100px;
}
.mfp-zoom-in .mfp-figure, .mfp-zoom-in .mfp-iframe-holder .mfp-iframe-scaler {
	opacity: 0; margin-left: -100px; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; -webkit-transform: scale(0.95); -ms-transform: scale(0.95); transform: scale(0.95);
}
.mfp-zoom-in.mfp-bg,
.mfp-zoom-in .mfp-preloader {
	opacity: 0; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out;
}
.mfp-zoom-in.mfp-image-loaded .mfp-figure, .mfp-zoom-in.mfp-ready .mfp-iframe-holder .mfp-iframe-scaler {
	opacity: 1; margin-left: 0; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1);
}
.mfp-zoom-in.mfp-ready.mfp-bg,
.mfp-zoom-in.mfp-ready .mfp-preloader {
	opacity: 0.8;
}
.mfp-zoom-in.mfp-removing .mfp-figure, .mfp-zoom-in.mfp-removing .mfp-iframe-holder .mfp-iframe-scaler {
	-webkit-transform: scale(0.95);	-ms-transform: scale(0.95); transform: scale(0.95); opacity: 0; margin-left: -100px;
}
.mfp-zoom-in.mfp-removing.mfp-bg,
.mfp-zoom-in.mfp-removing .mfp-preloader {
	opacity: 0; margin-left: -20px;
}
.mfp-iframe-scaler {
	overflow: visible; /*so the close button is shown*/
}
.mfp-zoom-out-cur {
	cursor: auto;
}
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
	cursor: pointer;
}

/**** Reviews Function ****/
.carousel-indicators li {
	position: relative; top: 51px; -ms-flex: 0 1 auto; flex: 0 1 auto; width: 30px;	height: 3px; margin-right: 3px;	margin-left: 3px; text-indent: -999px; background-color: rgb(191, 190, 190);
}
.carousel-indicators .active {
	background-color: #0f8029;
}

/* ========================================== */
/* === Footer Section ======================= */
/* ========================================== */
.footer-section .vms-link-wrapper img {
	width: 50%;
}
.footer-section .vms-link-wrapper a {
	width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center;
}
.footer-section {
	padding: 50px 0 10px; background: #f9f9f9;  font-size: 18px; font-weight: 400;
}

.footer-section p {
 font-size: 15px; font-family: 'font3';
}
.footer-section a {
	color: #1c286d; font-size: 14px;
}
.footer-section .service-cities p {
	margin: 0 0 3px;
}

.footer-section .h-card {
 margin-top: 25px;
}

.service-cities {
	margin-bottom: 1em;
}
.service-cities img {
	padding-bottom: 20px;    max-width: 125%;
    margin-left: -115px;
}

.service-cities h4 {
	font-size: 20px; font-family: 'font4';  text-transform: uppercase; color: #1c286d;
}
.service-cities h3 {
	font-size: 30px; font-family: 'font4';  text-transform: uppercase; color: #1c286d;margin-bottom: -0; text-align: center;
}
.service-cities h5 {
 /*font-family: 'font4'; */
}
.bottom-footer {
	padding: 25px 0px 15px 0px; background: #1c286d; margin-top: 50px;
}

.bottom-footer a {
	color: #fff;
}
.bottom-footer .vms-link-wrapper {
	position: relative; top: -10px;
}
.bottom-footer div[class*='col-']:nth-child(2) {
	display: flex; flex-direction: column; justify-content: center; align-items: center;
}
.bottom-footer div[class*='col-']:nth-child(3) {
	display: flex; justify-content: flex-end; font-size: 14px;
}
.bottom-footer div[class*='col-']:nth-child(3) a {
	display: flex; justify-content: center;	align-items: center; border: 1px solid #fff; border-radius: 100px; height: 28px; width: 28px; margin: 0 4px;
}
.bottom-footer div[class*='col-']:nth-child(3) a:hover {
	background: #0a0a0a; text-decoration: none !important; color: #929292;
}
.trademark-disclaimer {
	padding: 10px 0; background: #e6e8f3; margin-bottom: -10px;
}
.trademark-disclaimer p {
	font-size: 8px; text-align: center; 
}





/* === Lg. Laptop CSS Section ================= */
@media screen and (max-width : 1440px) {
	/*** Don't place anything here, unless absolutely necessary ***/
}
/* === Sm. Laptop CSS Section ================= */
@media screen and (max-width: 1024px) {
	
}
 
/* === Mobile CSS Section ===================== */
@media screen and (max-width: 991px) {

/**** Top Header Section ****/
.mobile-top-header {
	display:block !important; padding: 0 30px 0; background: rgb(135,170,188); z-index: 4; overflow: visible;
}
.mobile-menu {
	text-align: center; position: fixed; height: 100%; width: 100%;	display: block;	padding-top: 6em; top: 100%; border: 0;	background: #232323; border-radius: 0; z-index: 1100; overflow: auto; -webkit-transition-property: all;	-webkit-transition-duration: .30s; -webkit-transition-timing-function: ease-in-out; transition-property: all; transition-duration: .30s; transition-timing-function: ease-in-out;
}
.mobile-menu .nav-link {
	font-size: 2em;	color: #c5c5c5 !important;
}
.mobile-menu-custom-show {
	top: 0%;
}
.mobile-menu-top-hero {
	background-size: cover;	padding: 40px 0 0; top:0; left:0; width: 100%; text-align: center;
}
.mobile-menu-top-hero h2 {
	padding: 0 25px;
}
#mobile-menu-header {
	margin-top: 0; background: #ffffff00; box-shadow: none;
}
#mobile-menu-header ul {
	list-style: none; padding: 0 20px; margin-top: 8em; position: relative; width: inherit;
}
#mobile-menu-header ul li a {
	color:#ffffff; padding: 20px 20px;
}
.header-contact_info a {
	color: rgb(255,255,255); margin: 0;
}
.top-header a, .top-header i, .top-header p {
	color: white;

}
.top-header-animate a, .top-header-animate i, .top-header-animate p {
	color: white;
}
.top-header {
	background: #050f4b; display: none;
}
.header-contact_info {
	font-size: 1.5em;
}
.navbar-scroll {
	display: none;
}
.header-contact_info .navbar-brand {
	font-size: 1.3em;
}
.top-header div[class*='col-']:first-child {
	justify-content: flex-start;
}
.top-header div[class*='col-'] {
	display: flex; justify-content: left; width: 33.333%; padding: 15px 0;
}
.top-header div[class*='col-']:nth-child(3) {
	display: flex; justify-content: flex-end; width: 33.333%; padding: 15px 0;
}
.top-header div[class*='col-']:nth-child(2) {
	background: none; margin: 0; display: flex; justify-content: center; align-items: center;
}
.top-header div[class*='col-']:nth-child(1) a {
	font-size: 1.5em;
}
.top-header div[class*='col-']:nth-child(2) p {
	font-size: inherit; line-height: inherit;
}

/**** Navigation Section ****/
.dropdown-wrapper {
	margin: 0; padding: 0;
}
.navbar-sidebar .dropdown-menu-mobile {
	position: relative; display: none; top: 0; left: 0; z-index: 1000; float: left; height: 0px; margin: 0; width: 100%; padding: 0; font-size: 18px; color: #e6e6e6 !important; text-align: left; list-style: none; background-color: rgb(200,200,200); border: 0; visibility: hidden; border-radius: 0; transform: scale(1,0); -webkit-transition: all .30s ease; -moz-transition: all .30s ease; -o-transition: all .30s ease; transition: all .30s ease;
}
.dropdown-menu-animate {
	display: inline-block !important; transform: scale(1,1) !important; padding: 25px 0 !important; height: auto !important; visibility: visible !important;
}
.navbar-sidebar .dropdown-menu-mobile a {
	color: rgb(75,75,75); font-weight:600 !important; font-size: 1rem;  font-family: font4; color:black;
}
.navbar-sidebar {
	padding-top: 105px; height: 100%; width: 200px; background-color: rgb(250,250,250); position: fixed !important; z-index: 3; overflow: auto;
}
.bar-block .dropdown-hover, .bar-block .dropdown-click {
	width: 100%;
}
.bar-block .dropdown-hover .dropdown-content, .bar-block .dropdown-click .dropdown-content {
	min-width: 100%;
}
.bar-block .dropdown-hover .button, .bar-block .dropdown-click .button {
	width: 100%; text-align: left; padding: 8px 16px;
}
.main, #main {
	transition: margin-left .4s;
}
.modal {
	display: none; padding-top: 100px; position: fixed; left: 0; top: 0; width: 100%; height: 100%;	overflow: auto; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.4);
}
.modal-content {
	margin: auto; background-color: #fff; position: relative; padding: 0; outline: 0; width: 1200px;
}
.bar {
	width: 100%; overflow: hidden;
}
.center .bar {
	display: inline-block; width: auto;
}
.bar .bar-item {
	padding: 8px 16px; float: left; width: auto; border: none; display: block; outline: 0;
}
.bar .dropdown-hover, .bar .dropdown-click {
	position: static; float: left;
}
.bar .button {
	white-space: normal;
}
.bar-block .bar-item {
	width: 100%; display: block; padding: 8px 16px; text-align: left; border: none; white-space: normal; float: none; outline: 0; font-family: font4; color:black;
	
	font-size:1.2rem;
}
.nav-link{
font-family: font4; color:black;
font-weight: ;
	font-size:1.2rem;
}
.bar-block.center .bar-item {
	text-align: center;
}
.block {
	display: block; width: 100%;
}

/**** Home Section ****/
.home-header-section {
	padding-top: 80px;
}
.dropdown-menu {
	position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 10rem; padding: .5rem 0; margin: .125rem 0 0; font-size: 1rem; color: rgb(33, 37, 41); text-align: left; list-style: none; background-color: rgb(87, 86, 87); background-clip: padding-box; border: 1px solid rgba(0,0,0,.15); border-radius: .25rem;
}
.dropdown-item {
	display: block;	width: 100%; padding: .25rem 1.5rem; clear: both; color: rgb(255,255,255); text-align: inherit;	white-space: nowrap; background: 0 0; border: 0;
}
.dropdown-item.active, .dropdown-item:active {
	color: rgb(255, 255, 255); text-decoration: none; background-color: rgb(22,22,22) !important;
}
.video {
	overflow: hidden; position: relative; z-index: 2; display: block;
}
.video .pad {
	padding: 350px 0px 0px 300px; position: absolute;
}
.video .pad h5 {
	font-weight: 500; color: rgb(255,255,255); font-size: 50px; text-shadow: 0px 0px 5px #000; font-family: 'Arial'; text-align: left;
}
.video .pad p {
	margin-top: 0% !important; color: rgb(255,255,255); text-shadow: 0px 0px 5px #000; font-size: 25px; font-family: 'Arial'; text-align: left;
}
.video .pad a {
	font-size: 16px; color: rgb(255,255,255); font-family: 'Arial'; font-weight: 600; border: 1px solid rgb(12,32,63); padding: 15px 30px; border-radius: 1.6rem; background: rgb(12,32,63);
}
.video .pad a:hover {
	color: rgb(255,255,255); border: 1px solid rgb(255,255,255); background: transparent;
}
.home1 {
	padding: 75px 0 75px 0; background: rgb(245,245,245);
}
.home1 .pad {
	padding-top: 85px;
}
.home1 h1 {
	font-family: 'font2'; font-size: 35px; text-align: left; font-weight: 800; color: rgb(196,41,56);
}
.home1 p {
	font-size: 17px; font-family: 'font2'; font-weight: 600; text-align: justify; color: rgb(150,150,150);
}
.home1 span {
	color: rgb(83,82,82);
}

/**** About Section ****/


/**** Services Section ****/


/**** Gallery Section ****/
.gallery-page {
	padding: 75px 0 50px 0;	background: rgb(249,249,249);
}
.gallery-page h1 {
	font-size: 3rem; font-weight: 600; font-family: 'font2'; padding-bottom: 40px; text-align: center; color: rgb(129,141,148);
}

/**** Areas We Service Section ****/
.area:nth-child(odd) {
	padding: 75px 0 75px 0; background: rgb(255,255,255);
}
.area:nth-child(even) {
	padding: 75px 0 75px 0; background: rgb(245,245,245);
}
.area h2 {
	font-size: 2.5rem; font-family: font2; font-weight: 800; color: rgb(196,41,56);
}
.area h4 {
	font-size: 1.5rem; font-family: font2; color: rgb(75,75,75);
}
.area p {
	font-size: 17px; text-align: justify; color: rgb(12,12,12);
}
.area iframe {
	width: 100%; height: 100%; border-radius: 0.8rem; box-shadow: 1px 1px 10px 1px rgb(0,0,0);
}

/**** Testimonials Section ****/
.testimonials {
	padding: 30px 0 30px 0; background: rgb(255,255,255);
}

/**** Contact Section ****/


/**** Sections On Every Page ****/
.contact-section {
	padding: 50px 0 50px 0;
}
.contact-section h3 {
	font-size: 2rem; font-family: font2; font-weight: 800; text-align: center; color: rgb(12,12,12);
}

/**** Footer Section ****/
.footer-section {
	padding-top: 30px; text-align: center;
}
.footer-section img {
	max-width: 210px; padding-bottom: 25px; margin-left:0;
}
.service-cities h4 {
	font-size: 24px; font-weight: 600; color: #1c286d;
}
.service-cities a {
	font-size: 1rem; line-height: 10px; color: #1c286d;
}
.bottom-footer div[class*='col-']:nth-child(3) {
    display: flex;
    justify-content: center;
    font-size: 14px;
}

.section-divider {
    position: relative;
    padding: 0px 0;
}

/**** Misc. Section ****/
.btn {
	background: rgb(249,78,1); width: 50%; padding: 10px 0px; color: #ffffff; cursor: pointer; outline: none; border: none;
}
.alert h1,
.alert p {
	top: 2em; opacity: 0; position:relative;
}
.alert h1 {
	margin-top: 0; color: #2b1663;
}
.custom-show {
	position: fixed; transform: scale(1,1); border: 0; background: white; border-radius: 0; z-index: 1100; overflow: inherit; -webkit-transition-property: all; -webkit-transition-duration: .30s; -webkit-transition-timing-function: ease-in-out; transition-property: all; transition-duration: .30s; transition-timing-function: ease-in-out;
}
.alert-dismissible .close {
	position: absolute; top: 0; right: 0; background: transparent; border: none; padding: 0.75rem 1.25rem; color: rgb(80,80,80); font-family: 'font2'; outline: none; z-index: 3;
}
.alert-dismissible .close span {
	font-size: 35px;
}
.lnr {
	display: inline-block; fill: currentColor; width: 1em; height: 1em; vertical-align: -0.2em; cursor: pointer;
}

}
/* === Sm. Mobile CSS Section ================= */
@media screen and (max-width: 375px) {

}