/* ========================================== */
/* === 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/Monoton-Regular.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; 
}

/* ======================================== */
/* === Top Header Section ================= */
/* ======================================== */
.top-header {
	position: fixed; width: 100%; padding: 10px 0 10px 0;     background: linear-gradient(0deg, rgb(0 0 0 / 15%), rgb(0 0 0 / 15%)), url(/img/homepage/ct-02.png);background-color: #000;
    background-size: 50%;	z-index: 4; -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 {
	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: center; align-items: center;
}
.top-header div[class*='col-']:nth-child(3) a {
	padding: 9px 15px 9px 15px; background: #e87e1b; font-weight: 600; font-family: 'font2'; color: #fff; border-radius: 1.6rem; border: 1px solid #fff;
}
.top-header div[class*='col-']:nth-child(3) a:hover {
	background: transparent;
}
.top-header div[class*='col-']:nth-child(4) {
	display: flex; justify-content: center; align-items: center;
}
.top-header div[class*='col-']:nth-child(4) a {
	padding: 9px 15px 9px 15px; background: #f9f9f9; font-weight: 600; font-family: 'font2'; color: #e87e1b; border-radius: 1.6rem; border: 1px solid #e87e1b;
}
.top-header div[class*='col-']:nth-child(4) a:hover {
	color: rgb(120,120,120);
}
.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 #e87e1b; color: #fff; background: #161616; border-radius:100px;	height: 34px; width: 34px; margin: 0 4px;
}
.top-header div[class*='col-']:nth-child(5) a:hover {
	background: #e87e1b;	text-decoration:none !important; color: rgb(255,255,255);
}
.top-header .dropdown-menu {
	background: whitesmoke; border-radius: 0;
}
.top-header .dropdown-menu a {
	color: #222; padding: 3px 20px !important;
}
.top-header .dropdown-toggle {
	background: #21212100; padding: 6px 25px; outline: none !important; border-color: #f3f3f3b5;
}
.top-header .dropdown-toggle:hover {
	background-color: white !important; color: #000 !important;
}
.btn-secondary:not([disabled]):not(.disabled).active, .btn-secondary:not([disabled]):not(.disabled):active, .show>.btn-secondary.dropdown-toggle {
	color: #000; background-color: rgb(255, 255, 255); border-color: #666e76; box-shadow:none !important;
}
.top-header .btn-secondary.focus,
.btn-secondary:focus {
	outline: none !important; box-shadow: none !important;
}

/* ======================================== */
/* === 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;
    color: rgb(255, 255, 255);
    font-family: 'font2';
}
.navbar a:hover, .dropdown:hover .dropbtn {
	
}
.dropdown-one {
	cursor: pointer; display: none; position: absolute; background-color: #e87e1b; min-width: 250px; 
	border: 2px solid #000; border-top: 0px;
}
.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: #fff; padding: 12px 16px; display: block; text-align: left; font-family: font2;
}
.dropdown-one .dItem:hover, .dropdown-two a:hover {
	background-color: #fff; color: #e87e1b; 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);
}
.top-header-animate {

}
.top-header-animate .dropdown-toggle {
	color:#0a0a0a; font-size: 16px;
}
.top-header-animate .navbar-brand {
	font-size: 1.5em;
}
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: 95px 0 0; position: fixed; background: #E87E1B; width: 100%; z-index: 3;	-webkit-transition: all .30s ease; -moz-transition: all .30s ease; -o-transition: all .30s ease; transition: all .30s ease; border-bottom: 2px solid #000;
}
.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: rgb(255,255,255); font-family: 'font2';
}
.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: #000;
}
.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 BASE
========================= */

.hero-rotator {
  position: relative;
  height: 90vh;
  overflow: hidden;
  color: #fff;
  background: #000;
}

.hero-slides {
  position: relative;
  height: 100%;
}

/* =========================
   ZOOM ANIMATION
========================= */

@keyframes slowZoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.08);
  }
}

/* =========================
   SLIDES
========================= */

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
  overflow: hidden;
}

/* BACKGROUND LAYER */
.hero-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  will-change: transform;
  z-index: 0;
}

/* OVERLAY */
.hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.65) 0%,
    rgba(0,0,0,0.4) 45%,
    rgba(0,0,0,0.1) 100%
  );
  z-index: 1;
}

/* ACTIVE SLIDE */
.hero-slide.active {
  opacity: 1;
  z-index: 1;
}

/* APPLY ZOOM ONLY TO BACKGROUND */
.hero-slide.active::after {
  animation: slowZoom 7s linear forwards;
}

/* =========================
   BACKGROUND IMAGES
========================= */

.hero-hvac::after {
  background-image: url("/img/homepage/slider/graham-crane-01.jpg");
}

.hero-heating::after {
  background-image: url("/img/homepage/slider/graham-heating-01.jpg");
}

.hero-cooling::after {
  background-image: url("/img/homepage/slider/graham-crane-02.jpg");
}

.hero-duct::after {
  background-image: url("/img/homepage/slider/graham-cleaning-01.jpg");
}

.hero-air::after {
  background-image: url("/img/homepage/scrub-01.jpg");
}

/* =========================
   TEXT
========================= */

.hero-h1-wrap {
  background: #000;
  width: 100%;
  text-align: center;
  padding: 25px;
}

.hero-h1-wrap h1 {
  font-size: clamp(2.2rem, 3vw, 3rem);
  font-weight: 700;
  line-height: 1.2;
}

.hero-h1-wrap h2 {
  font-size: clamp(1.25rem, 2vw, 2.1rem);
  color: #ffad61;
  font-weight: 700;
  line-height: 1.2;
  font-style: italic;
}

.hero-content {
  position: relative;
  z-index: 2;
  padding: 220px 8% 120px;
  max-width: 850px;
}

.hero-content h2 {
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
  margin-bottom: 0.5rem;
  font-weight: 800;
  text-shadow: 1px 1px 1px #000;
}

.hero-subtitle {
  font-size: 1.1rem;
  opacity: 0.9;
  margin-bottom: 1rem;
}

.hero-overview {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

/* =========================
   CTA BUTTONS
========================= */

.hero-ctas {
  display: flex;
  gap: 14px;
}

.btn-primary,
.btn-secondary {
  padding: 12px 20px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 4px;
}

.btn-primary {
  background: #e87e1b;
  color: #fff;
}

.btn-secondary {
  border: 2px solid #fff;
  color: #fff;
}

/* =========================
   NAVIGATION
========================= */

.hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  background: rgba(0,0,0,0.5);
  border: none;
  color: #fff;
  font-size: 28px;
  padding: 10px 14px;
  cursor: pointer;
}

.hero-arrow.prev { left: 20px; }
.hero-arrow.next { right: 20px; }

/* =========================
   DOTS
========================= */

.hero-dots {
  position: absolute;
  bottom: 30px;
  left: 8%;
  display: flex;
  gap: 10px;
  z-index: 2;
}

.hero-dots button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.4);
  cursor: pointer;
}

.hero-dots button.active {
  background: #fff;
}


@media (max-width: 991px){
.hero-rotator {
    position: relative;
    height: 110vh;
    overflow: hidden;
    color: #fff;
    background: #000;
}
 
}

/* =========================
   ACCESSIBILITY
========================= */

@media (prefers-reduced-motion: reduce) {
  .hero-slide.active::after {
    animation: none;
  }
}

.home-split {
	    background: linear-gradient(0deg, rgb(0 0 0 / 15%), rgb(0 0 0 / 15%)), url(/img/homepage/ct-02.png);
    background-color: #000;
    background-size: 50%; position: relative; text-align: center; border-top: 5px solid #000; box-shadow: 0px 5px 0px 0px #000;
}
.home-split .seller {
/*	background: #6c757d;*/
}

.home-split .stat1 {
	    padding: 25px 25px 25px 25px;
    background: #2b2b2b;
    margin-top: -75px;
    margin-bottom: -75px;
    position: relative;
    z-index: 1;
    border: 15px solid #e87e1b;
    border-radius: 10px;
    height: 365px;
    box-shadow: 0px 0px 0px 2px #000;
	
	transition: all .3s;
	overflow:hidden;
	
	
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
	
}
.home-split .stat1:hover {
	    box-shadow: 1px 1px 10px 1px #000;
			 border: 5px solid #000; background: #e87e1b;
			height: 560px;
    margin-bottom: -250px;
    margin-top: -175px;
}

.home-split .stat1:hover h3 {
	color: #fff;
	    opacity: 0.86;
}
.home-split .stat1:hover h4 {
	color: #fff;
	    opacity: 0.86;

}

.home-split .stat1:hover p {
	display: block; margin-top: 0px;
}
.home-split .stat2 {
	padding: 75px 25px 75px 25px;  position: relative; z-index: 1; background: #e87e1b; margin-top: -75px; margin-bottom: -75px;
}

.home-split h3 {
	    font-family: Montserrat;
    font-size: 2.5rem; font-weight: 800;
    letter-spacing: 1px;
    color: #e87e1b;
    text-shadow: 3px 2px 1px #000;
}

.home-split p {
	font-family: font2; font-size: 15px; line-height: 30px; color: #fff; margin-top: 50px; display: none;
}

.home-split h4 {
	    font-family: 'Montserrat';
    color: #fff;
    font-size: 25px;
    letter-spacing: 1px;
    font-weight: 600;
}
.graham-banner{
	background: black;
	color: white;
	color: orange;
	padding: 100px 30px;
	display: flex; 
	justify-content: center;
	align-items: center; 
}


@media (max-width: 991px){
.home-split {
	display: none;
}
.hero-content {
    position: relative;
    z-index: 2;
    padding: 120px 8% 120px;
    max-width: 850px;
    /*top: 50%;*/
    /*left: 50%;*/
    /*transform: translate(-50%, -50%);*/
}
.hero-arrow {
    position: absolute;
    top: 85%;
    transform: translateY(-50%);
    z-index: 2;
    background: rgba(0,0,0,0.5);
    border: none;
    color: #fff;
    font-size: 12px;
    padding: 10px 14px;
    cursor: pointer;
}

}



.home1 {
	background: #e1e1e1; 
}

.home1 .container-fluid {
	padding: 0px;
}

.home1 .pad {
	padding: 175px 75px;
}
.home1 .one-image {
	/*height: 100%;background: linear-gradient(0deg, rgb(0 0 0 / 15%), rgb(0 0 0 / 15%)), url(/img/homepage/emergency-hvac-001.jpg);*/
	height: 100%;background: linear-gradient(0deg, rgb(0 0 0 / 15%), rgb(0 0 0 / 15%)), url(/img/homepage/graham-tristate-01.jpg);
    background-color: #000;    border-left: 15px solid #e87e1b;
    box-shadow: -2px 2px 0px 0px #000;
    border-bottom: 15px solid #e87e1b;
    border-bottom-left-radius: 25px;
    background-size: cover;
}
.home1 h2 {
	font-family: Montserrat; font-size: 35px; text-align: left; font-weight: 800; color: #414141; line-height: 65px;
}
.home1 p {
font-size: 17px;
    font-family: sans-serif;
    text-align: justify;
    line-height: 35px;
}
.home1 h2 span {
	color: #e87e1b; font-size: 50px; text-shadow: 1px 1px 1px #000; text-transform: uppercase; letter-spacing: 2px;
}

@media (max-width: 991px){
.home1 .pad {
    padding: 75px 25px;
}
.home1 h2 {
    font-family: Montserrat;
    font-size: 2rem;
    text-align: center;
    font-weight: 800;
    color: #414141;
    line-height: 45px;
}
.home1 h2 span {
    color: #e87e1b;
    font-size: 1.5rem;
    text-shadow: 1px 1px 1px #000;
    text-transform: uppercase;
    letter-spacing: 2px;
}

}
/* =========================
   SECTION BASE
========================= */

.hvac-cards {
  padding: 100px 8%;
     background: linear-gradient(0deg, rgb(255 255 255 / 15%), rgb(255 255 255 / 15%)), url(/img/homepage/ct-02.png);
    background-color: #ffffff;
    background-size: 50%;
}

.hvac-cards-header {
  max-width: 820px;
  margin-bottom: 50px;
}

.hvac-cards-header h2 {
 font-size:45px;
    margin-bottom: 12px;
    font-family: 'Montserrat';
    font-weight: 800;
    letter-spacing: 1px;
}

.hvac-cards-header h2 span {
	color: #e87e1b;font-size: 35px; text-shadow: 1px 1px 1px #000;
}

.hvac-cards-header p {
  font-size: 17px;
  line-height: 35px;
  color: #444;font-family: sans-serif;
}

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

.hvac-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 30px;
}

/* =========================
   FLIP STRUCTURE
========================= */

.hvac-card {
  perspective: 1200px;
}

.hvac-card-inner {
  position: relative;
  height: 380px;
  transform-style: preserve-3d;
  transition: transform 0.7s ease;
}

.hvac-card:hover .hvac-card-inner {
  transform: rotateY(180deg);
}

/* =========================
   CARD FACES
========================= */

.hvac-card-front,
.hvac-card-back {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  border-radius: 10px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

/* =========================
   FRONT (IMAGE)
========================= */

.hvac-card-front {
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-end;
}

.hvac-card-front-overlay {
padding: 28px;
    width: 65%;
    background: #000000c4;
    color: #ffffff;
    border-radius: 10px;
}

.hvac-card-front i {
  font-size: 42px;
  color: #e87e1b;
  margin-bottom: 10px;
}

.hvac-card-front h3 {
  font-size: 1.5rem;
}

/* =========================
   FRONT IMAGES
========================= */

.hvac-repair {
  /*background: linear-gradient(0deg, rgb(255 255 255 / 15%), rgb(255 255 255 / 15%)), url("/img/homepage/repair-01.jpg");*/
  background: linear-gradient(0deg, rgb(255 255 255 / 15%), rgb(255 255 255 / 15%)), url("/img/homepage/graham-repair-01.jpg");
  background-size: cover;
 background-position: center center;

}

.hvac-install {
 /*background: linear-gradient(0deg, rgb(255 255 255 / 15%), rgb(255 255 255 / 15%)), url("/img/homepage/install-01.jpg");*/
 /*background: linear-gradient(0deg, rgb(255 255 255 / 15%), rgb(255 255 255 / 15%)), url("/img/homepage/graham-install-01.jpg");*/
 background: linear-gradient(0deg, rgb(255 255 255 / 15%), rgb(255 255 255 / 15%)), url("/img/homepage/graham-install-02.jpg");
 background-size: cover;
 
 background-position: center center;
}

.hvac-maintenance {
  /*background: linear-gradient(0deg, rgb(255 255 255 / 15%), rgb(255 255 255 / 15%)), url("/img/homepage/maintenance-01.jpg");*/
  background: linear-gradient(0deg, rgb(255 255 255 / 15%), rgb(255 255 255 / 15%)), url("/img/homepage/graham-maintenance-01.jpg");
  background-size: cover;
 background-position: center center;

}

/* =========================
   BACK
========================= */

.hvac-card-back {
  background: #1f1f1f;
  color: #fff;
  padding: 32px;
  transform: rotateY(180deg);
}

.hvac-card-back h3 {
  font-size: 1.3rem;
  margin-bottom: 10px;
}

.hvac-card-back p {
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 12px;
  opacity: 0.9;
}

.hvac-card-back ul {
  padding-left: 18px;
  margin-bottom: 18px;
}

.hvac-card-back li {
  font-size: 0.9rem;
  margin-bottom: 6px;
}

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

.hvac-card-cta {
  display: inline-block;
  padding: 10px 16px;
  background: #e87e1b;
  color: #fff;
  font-weight: 600;
  border-radius: 4px;
  text-decoration: none;
}

@media (max-width: 991px){
.hvac-card-inner {
    position: relative;
    height: 420px;
    transform-style: preserve-3d;
    transition: transform 0.7s ease;
}	
}
/* =========================
   EMERGENCY HVAC SECTION
========================= */

.emergency-hvac {
    background: linear-gradient(0deg, rgb(0 0 0 / 75%), rgb(0 0 0 / 75%)), url(/img/homepage/ct-02.png);
    background-color: #000;
    background-size: 50%;
  color: #ffffff;
  padding: 90px 8%;
  text-align: center;
}

.emergency-inner {
  max-width: 780px;
  margin: 0 auto;
}

.emergency-hvac h2 {
  font-size: clamp(2rem, 2.8vw, 2.6rem);
  margin-bottom: 12px; font-weight: 800;
}

.emergency-subtitle {
  font-size: 1.2rem;
  font-weight: 600;
  color: #e87e1b;
  margin-bottom: 20px;
}

.emergency-overview {
  font-size: 17px;
  line-height: 35px;
  margin-bottom: 28px;
  opacity: 0.95; font-family: sans-serif;
}

/* =========================
   BULLET LIST
========================= */

.emergency-list {
  list-style: none;
  padding: 0;
  margin: 0 auto 36px;
  max-width: 520px;
}

.emergency-list li {
  font-size: 1rem;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.15);
}

.emergency-list li:last-child {
  border-bottom: none;
}

/* =========================
   CTAs
========================= */

.emergency-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}

.emergency-btn {
  padding: 14px 24px;
  font-weight: 700;
  border-radius: 4px;
  text-decoration: none;
  min-width: 240px;
}

.emergency-btn.primary {
  background: #e87e1b;
  color: #ffffff;
}

.emergency-btn.secondary {
  border: 2px solid #ffffff;
  color: #ffffff;
}

.home-hvac {
	 background: linear-gradient(0deg, #e87e1bab, #e87e1b6b), url(/img/homepage/ct-02.png);
    background-color: #e87e1b;
    background-size: 50%;
}

.home-residential-hvac {
   
}
.home-residential-hvac .container {
	padding: 50px 25px 50px 25px;
	/*background: linear-gradient(0deg, rgb(0 0 0 / 0%), rgb(0 0 0 / 0%)), url(/img/homepage/residential-hvac-001.jpg);*/
	background: linear-gradient(0deg, rgb(0 0 0 / 0%), rgb(0 0 0 / 0%)), url(/img/homepage/residential-hvac-002.jpg);
	
	background-position:100%;
	height: 100%;
	background-size: cover; 
}

.home-residential-hvac .residential-content {
	padding: 80px 50px; background: #fff;border-radius: 15px;
}

.home-residential-hvac .residential-image {
	
}

.home-residential-hvac h2 {
	font-family: Montserrat; font-size: 35px; font-weight: 800;
}

.home-residential-hvac h2 span {
	color: #e87e1b; text-shadow: 1px 1px 1px #000; text-transform: uppercase;
}

.home-residential-hvac p {
	font-family: sans-serif; font-size: 17px; line-height: 35px;
}

.res-card1 {
	padding:  25px; border: 3px dashed #e87e1b; text-align: center; margin: 10px 0px 10px 0px;  background: #e87e1b40; border-radius: 10px;     height: 100%;
}

.res-card1 h3 {
	font-family: sans-serif; font-weight: 600; font-size: 20px; text-transform: uppercase;
}

.res-card1 p {
	font-size: 15px !important; line-height: 30px !important;
}

 .res-card2 {
	padding:  25px; border: 3px dashed #000; text-align: center; margin: 10px 0px 10px 0px; background: #00000036; border-radius: 10px;     height: 100%;
}

.res-card2 h3 {
	font-family: sans-serif; font-weight: 600; font-size: 20px; text-transform: uppercase;
}

.res-card2 p {
	font-size: 15px !important; line-height: 30px !important;
}


@media (max-width: 991px){
.home-residential-hvac .residential-content {
    padding: 80px 15px;
    background: #fff;
    border-radius: 15px;
}
.home-residential-hvac .residential-content {
    padding: 80px 15px;
    background: #fff;
    border-radius: 15px;
    text-align: center;
}
.home-residential-hvac h2 {
    font-family: Montserrat;
    font-size: 1.8rem;
    font-weight: 800;
}

}


.home-commercial-hvac {
    
}

.home-commercial-hvac .container {
	padding: 50px 25px 50px 25px;
	
	/*background: linear-gradient(0deg, rgb(0 0 0 / 0%), rgb(0 0 0 / 0%)), url(/img/homepage/commercial-hvac-001.jpg);*/
		background: linear-gradient(0deg, rgb(0 0 0 / 0%), rgb(0 0 0 / 0%)), url(/img/homepage/graham-unit-01.jpg);

	height: 100%;
	background-size: cover;  
}

.home-commercial-hvac .commercial-content {
	padding: 80px 50px; background: #fff;border-radius: 15px;
}

.home-commercial-hvac .commercial-image {
	
}

.home-commercial-hvac h2 {
	font-family: Montserrat; font-size: 35px; font-weight: 800;
}

.home-commercial-hvac h2 span {
	color: #e87e1b; text-shadow: 1px 1px 1px #000; text-transform: uppercase;
}

.home-commercial-hvac p {
	font-family: sans-serif; font-size: 17px; line-height: 35px;
}

@media (max-width: 991px){
.home-commercial-hvac .commercial-content {
    padding: 80px 15px;
    background: #fff;
    border-radius: 15px;
}
.home-commercial-hvac .commercial-content {
    padding: 80px 15px;
    background: #fff;
    border-radius: 15px;
    text-align: center;
}
.home-commercial-hvac h2 {
    font-family: Montserrat;
    font-size: 1.8rem;
    font-weight: 800;
}

}

/* =========================
   WHY CHOOSE US – BASE
========================= */

.why-choose-us {
  padding: 90px 8%;
  background: radial-gradient(circle,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0.71) 100%), url(/img/homepage/commercial-hvac-001.jpg);
    height: 100%; background-attachment: fixed;
    background-size: cover;
  color: #222;
}

.why-header {
  max-width: 900px;
  margin: 0 auto 60px;
  text-align: center;
}

.why-header h2 {
  font-size: clamp(2.1rem, 3vw, 2.7rem);
  margin-bottom: 10px; font-weight: 800;
}

.why-subtitle {
  font-size: 1.25rem;
  font-weight: 600;
  color: #e87e1b;
  margin-bottom: 16px;
}

.why-overview {
  font-size: 1.05rem;
  line-height: 1.7; font-family: sans-serif;
}

/* =========================
   SHARED GRADIENT
========================= */

:root {
  --pillar-gradient: linear-gradient(
    90deg,
    #f9f9f9 0%,
    #f2c28f 35%,
    #e87e1b 50%,
    #f2c28f 65%,
    #f9f9f9 100%
  );
}

/* =========================
   PILLAR LAYOUT
========================= */

.why-pillars {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 28px;
  align-items: end;
}

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

.pillar {
  background-image: var(--pillar-gradient);
  background-size: 500% 100%;
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.1);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.pillar:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 50px rgba(0,0,0,0.18);
}

/* =========================
   GRADIENT SAMPLING
========================= */

.pillar-1 { background-position: 0% 50%; }
.pillar-2 { background-position: 25% 50%; }
.pillar-3 { background-position: 50% 50%; }
.pillar-4 { background-position: 75% 50%; }
.pillar-5 { background-position: 100% 50%; }

/* =========================
   HEIGHT HIERARCHY
========================= */

.pillar-1,
.pillar-5 { height: /*350px*/ 100%;     transform: translateY(30px); }

.pillar-2,
.pillar-4 { height: /*400px*/ 100% ;     transform: translateY(10px);}

.pillar-3 { height: /*465px*/ 100%;     transform: translateY(-30px); }

/* =========================
   INNER CONTENT
========================= */

.pillar-inner {
  background: rgba(255,255,255,0.88);
  margin: 16px;
  padding: 22px;
  border-radius: 12px;
  height: /*calc(100% - 32px)*/  calc(100% - 32px) ;
  display: flex;
  flex-direction: column;
}

.pillar-icon {
  font-size: 40px;
  color: #e87e1b;
  margin-bottom: 12px;
}

.pillar-inner h3 {
  font-size: 20px;
  margin-bottom: 8px; font-weight: 600;
}

.pillar-inner p {
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 12px;
}

.pillar-inner ul {
  padding-left: 18px;
}

.pillar-inner li {
  font-size: 0.9rem;
  margin-bottom: 6px;
}

/* =========================
   MOBILE FALLBACK
========================= */

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

  .pillar {
    height: auto;
    background-position: 50% 50%;
  }
}

/* =========================
   AFFILIATES SECTION
========================= */

.affiliates {
  padding: 90px 8%;
  background: #f7f7f7;
  color: #222;
}

.affiliates-header {
  max-width: 900px;
  margin: 0 auto 60px;
  text-align: center;
}

.affiliates-header h2 {
  font-size: clamp(2rem, 3vw, 2.6rem);
  margin-bottom: 10px; font-weight: 800;
}

.affiliates-subtitle {
  font-size: 1.2rem;
  font-weight: 600;
  color: #e87e1b;
  margin-bottom: 16px;
}

.affiliates-overview {
  font-size: 17px;
  line-height: 35px; font-family: sans-serif;
}

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

.affiliate-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  max-width: 1000px;
  margin: 0 auto;
}

/* =========================
   CARD
========================= */

.affiliate-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 36px 28px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.1);
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.affiliate-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 45px rgba(0,0,0,0.16);
}

.affiliate-card h3 {
  font-size: 1.3rem;
  margin: 18px 0 10px; font-weight: 600; text-transform: uppercase;
}

.affiliate-card p {
  font-size: 17px;
  line-height: 35px;
  opacity: 0.9; font-family: sans-serif;
}

/* =========================
   LOGO HANDLING
========================= */

.affiliate-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.affiliate-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Portrait / square logos */
.logo-portrait {
  height: 90px;
}

/* Landscape logos */
.logo-landscape {
  height: 60px;
}

/* =========================
   MOBILE
========================= */

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


.service-area-tabs {
  padding: 90px 8%;
  background: #fff;
}

.service-area-header {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 40px;
}

.service-area-header h2 {
	font-weight: 800;
}

.service-area-header p {
	font-family: sans-serif; font-size: 17px; line-height: 35px;
}

.state-tabs {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-bottom: 40px;
}

.state-tab {
  padding: 12px 22px;
  font-weight: 700;
  border-radius: 6px;
  border: 2px solid #e87e1b;
  background: #fff;
  color: #e87e1b;
  cursor: pointer;
}

.state-tab.active {
  background: #e87e1b;
  color: #fff;
}

/* PANEL */
.state-panel {
  display: none;
  min-height: 620px;
  border-radius: 22px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.state-panel.active {
  display: block;
}
.state-panel .review-set{
	display: flex;
	gap: 20px;
	justify-content: center; 
}
.state-panel .review-set a.review-cta{
    padding: 12px 22px;
    font-weight: 700;
    border-radius: 6px;
    border: 2px solid #e87e1b;
    background: black;;
    color: white;
    cursor: pointer;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	display: inline-flex; 
	
}
 .state-panel .review-set a.review-cta:hover{

	background: #e87e1b;
	color: white; 
}
/* STATE BACKGROUNDS */
.state-va {
  background-image:
   linear-gradient(0deg, #e87e1bab, #e87e1bbf),
    url("/img/homepage/virginia-01.jpg");
}

.state-tn {
  background-image:
    linear-gradient(0deg, #e87e1bab, #e87e1bbf),
    url("/img/homepage/tennessee-01.jpg");
}

.state-ky {
  background-image:
   linear-gradient(0deg, #e87e1bab, #e87e1bbf),
    url("/img/homepage/kentucky-01.jpg");
}

/* OVERLAY */
.state-overlay {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 32px;
  padding: 60px;
}

/* CONTENT CARD */
.state-content {
  background: #ffffffb5;
  padding: 36px; /*color: #fff;*/
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.25);
}

.state-content h3 {
  font-size: 1.9rem; font-weight: 800;
  margin-bottom: 12px;
}

.state-content h4 {
  font-size: 1.25rem;
  margin-top: 22px; font-weight: 600;
  margin-bottom: 10px; text-decoration: underline;
}

.state-content p {
	font-family: sans-serif; font-size: 17px; line-height: 35px; letter-spacing: .5px;
}

.state-content ul {
  padding-left: 18px; font-family: sans-serif;
  margin-bottom: 14px; letter-spacing: .5px;
}

.city-list {
  columns: 2;
}

/* MAP PANEL */
.state-map {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.25);
}

.state-map iframe {
  width: 100%;
  height: 100%;
  min-height: 420px;
  border: 0;
}

/* MOBILE */
@media (max-width: 900px) {
	
	
.state-tabs {
    display: flex;
    justify-content: center;
    gap: 18px;
    margin-bottom: 40px;
    flex-direction: column;
}
.state-content {
    background: #ffffffb5;
    padding: 36px 10px;
    /* color: #fff; */
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.25);
}

.state-panel .review-set {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-direction: column;
	        align-items: center;
}

  .state-overlay {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .city-list {
    columns: 1;
  }

  .state-map iframe {
    min-height: 280px;
  }
}





/* Grid + base (same as before; included here for convenience) */
.reviews3{--ink:#132442;--accent:#e1d98f;--muted:#6b7280;--card:#fff;--bg:#f7f8fb;background: #ffa958;
    background-size: cover;
    background-attachment: fixed;
    height: 100%;
    background-repeat: no-repeat;padding:125px 20px 125px;}
.reviews3 .container{max-width:1100px;margin:0 auto;}
.reviews-head{text-align:center;margin-bottom:22px;}
.reviews-head h2{text-transform:uppercase;letter-spacing:1.5px;font-size:clamp(26px,2.6vw,40px);color:#fff;margin:0 0 8px; font-weight: 900;}
.reviews-head p {font-family: 'font4';
    color: white;
        font-weight: 800;;
    font-size: 20px;
    text-shadow: 1px 1px 1px #000;}
.reviews-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:992px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.reviews-grid{grid-template-columns:1fr;}}

/* Card */
.reviews3 .review-card{position:relative;background:var(--card);color:var(--ink);border-radius:14px;border:2px dotted var(--accent);padding:16px 16px 12px;box-shadow:0 12px 24px rgba(0,0,0,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; margin: 15px 0px 15px 0px;}
.reviews3 .review-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,0,0,.1);border-color:#e8df99;}
.reviews3 .review-card.is-hidden{display:none;}

/* Top row (author + time + stars) */
.review-top{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-bottom:6px;}
.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--ink);background:linear-gradient(135deg,#f7f2c4,#AE9763);border:2px solid var(--accent);font-family:font4;}
.avatar::after{content:attr(data-initials);}
.meta .author{margin:0;font-size:16px;font-family:font4;letter-spacing:.3px;line-height:1.1;}
.meta .when{display:block;margin-top:2px;color:var(--muted);font-family:'font2';font-size:13px;}
.stars span{font-size:14px;letter-spacing:1px;background:/*linear-gradient(90deg,#f9cc00,#ffda55)*/black;;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 rgba(0,0,0,.15));}

/* Truncated text by default */
.reviews3 .review-card .text{
  margin:4px 0 8px; line-height:1.55; color:#2b3241; font-family:'font2'; font-size:15px;
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
  max-height: calc(1.55em * 4);
}
.reviews3 .review-card.expanded .text{
  -webkit-line-clamp:unset; max-height:none;
}

/* Actions row: read more + link */
.card-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.moreless{
  background:transparent; border:0; color:#0e1b33; font-weight:800; font-size:14px; cursor:pointer; padding:6px 0;
  position:relative;
}
.moreless::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:linear-gradient(90deg,#e1d98f,#f1eab1);
  opacity:.8; transition:opacity .2s ease;
}
.moreless:hover::after{opacity:1;}
.moreless[aria-expanded="true"]::after{background:linear-gradient(90deg,#cdbf55,#AE9763);}
.source{
  display:inline-block; padding:6px 10px; border-radius:999px; background:#AE9763; border:1px dashed var(--accent);
  color:#fff; text-decoration:none; font-weight:700; font-size:13px;
}
.source:hover{filter:brightness(1.02);}

/* CTA */
.reviews3 .reviews-cta{text-align:center;margin-top:16px;}
.reviews3 .btn-primary{display:inline-block;background:black;color:var(--accent);border:2px dotted var(--accent);padding:10px 18px;border-radius:10px;text-decoration:none;font-weight:800;letter-spacing:.3px;cursor:pointer;}
.reviews3 .btn-primary:hover{filter:brightness(.95);}


/**** About Section ****/
/* =========================
   ABOUT HERO
========================= */

/* =========================
   ABOUT HERO – STABLE
========================= */

.about-hero {
  position: relative;
  min-height: 85vh;
  background-image:
    linear-gradient(
      to right,
      rgba(0,0,0,0.75) 0%,
      rgba(0,0,0,0.55) 45%,
      rgba(0,0,0,0.35) 100%
    ),
    url("/img/about/graham-about-bg.jpg");
	/*img/homepage/commercial-hvac-001.jpg*/
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  display: flex;
  align-items: center;

  /* CRITICAL STABILITY FIXES */
  isolation: isolate;
  z-index: 2;
  overflow: hidden;
}


.about-hero-overlay {
  width: 100%;
  padding: 120px 0 100px;
}

/* TEXT */

.about-hero h1 {
  font-size: clamp(2.3rem, 3.2vw, 3.1rem);
  font-weight: 800;
  margin-bottom: 14px;
}

.about-subtitle {
  font-size: 1.2rem;
  font-weight: 600;
  color: #e87e1b;
  margin-bottom: 16px;
}

.about-overview {
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 620px;
}

/* LEGEND NAV */

.about-legend ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.about-legend li {
  margin-bottom: 14px;
}

.about-legend a {
  display: block;
  padding: 14px 18px;
  background: rgba(0,0,0,0.55);
  border-left: 4px solid #e87e1b;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.3s ease, transform 0.3s ease;
}

.about-legend a:hover {
  background: #e87e1b;
  transform: translateX(6px);
}

/* MOBILE */

@media (max-width: 991px) {
  .about-legend {
    margin-top: 40px;
  }
}
/* =========================
   WHO WE ARE
========================= */

.about-who {
    background: linear-gradient(0deg, rgb(255 255 255 / 44%), rgb(255 255 255 / 80%)), url(/img/homepage/ct-02.png);
    background-color: #ffffff;
    background-size: 50%;

}
.testimonials-hero-image {
  min-height: 520px;
  background:
    linear-gradient(0deg, rgba(0,0,0,0.15), rgba(0,0,0,0.15)),
    url("/img/homepage/repair-01.jpg");
  background-size: cover;
  background-position: center;
}


.about-who-content {
  padding: 0px 80px;
}

.about-who-content h2 {
  font-size: 2.4rem;
  font-weight: 800;
  margin-bottom: 22px;
}

.about-who-content p {
  font-size: 1.05rem;
  line-height: 1.75;
  margin-bottom: 18px;
  font-family: sans-serif;
}

/* IMAGE SIDE */

.about-who-image {
  height: 100%;
  min-height: 520px;
  /*background-image:*/
  /*  linear-gradient(*/
  /*    0deg,*/
  /*    rgba(0,0,0,0.25),*/
  /*    rgba(0,0,0,0.25)*/
  /*  ),*/
  /*  url("/img/homepage/emergency-hvac-001.jpg");*/
  background-image:
    linear-gradient(
      0deg,
      rgba(0,0,0,0.25),
      rgba(0,0,0,0.25)
    ),
    url("/img/about/team-photo-truck.jpg");
  background-size: cover;
  background-position: center;
  border-left: 15px solid #e87e1b;
}

/* MOBILE */

@media (max-width: 991px) {
  .about-who-content {
    padding: 70px 15px;
  }

  .about-who-image {
    min-height: 360px;
    border-left: none;
    border-top: 15px solid #e87e1b;
  }
}

/* =========================
   ABOUT – SERVICES
========================= */

.about-services {
  padding: 100px 8%;
  background: #ffffff;
}

.about-section-header {
  max-width: 100%; text-align: center;
  margin-bottom: 60px;
}

.about-section-header h2 {
  font-size: 2.6rem;
  font-weight: 800;
  margin-bottom: 12px;
}

.about-section-header p {
  font-size: 1.05rem;
  line-height: 1.7;
  font-family: sans-serif;
}



.about-team{
	background: linear-gradient(0deg, rgb(0 0 0 / 15%), rgb(0 0 0 / 15%)), url(/img/homepage/ct-02.png);
	padding: 100px 15px;;	
}
.about-team .about-team-header h2 {
  font-size: 3.3rem;
  font-weight: 800;
  margin-bottom: 12px;
  text-align:center;
}
.about-team h2 {
  font-size: 2.6rem;
  font-weight: 800;
  margin-bottom: 12px;
  color:white;
}
.about-team i {
  font-size: 3.6rem;
  font-weight: 800;
  margin-bottom: 12px;
}

.about-team .team-card{
	padding: 20px;
	border-radius: 20px;
	background: white;
	display: flex;
	justify-content: center;
	align-items:center;
	flex-direction: column;
}
.about-team .team-card h3{
  font-size: 1.6rem;
  font-weight: 800;
  margin-bottom: 12px;
}


.about-team .team-card:hover{

}


.about-team .team-image {
  width: 160px;        /* consistent width */
  height: 160px;       /* consistent height */
  border-radius: 50%;  /* optional: perfect circle */
  overflow: hidden;
  margin-bottom: 16px;
  background: #eee;    /* fallback while loading */
}

.about-team .team-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;   /* 🔥 THIS IS THE KEY */
  object-position: center;
  display: block;
}


 .about-team .team-name {
  font-size: 1.6rem;
  font-weight: 800;
  margin-bottom: 4px;
}

.about-team .team-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #666;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.about-team .team-badge {
  margin-top: 6px;
  padding: 4px 10px;
  font-size: 0.8rem;
  font-weight: 700;
  background: #1e73be;
  color: #fff;
  border-radius: 999px;
  text-transform: uppercase;
}
 
.team-swiper {
    padding-bottom: 90px !important;
}

.team-swiper .swiper-pagination {
  bottom: 20px;
}

 
 
.sponsor-switcher {
  padding: 120px 20px;
  background: #111;
  color: #fff;
}

.sponsor-container {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 40px;
}

.sponsor-list h2 {
  margin-bottom: 20px;
  font-size: 3.3rem;
  font-weight: 800;
  margin-bottom: 12px;
  text-align:center;
  text-shadow: 5px 5px 10px black; 
}

.sponsor-btn {
  display: block;
  width: 100%;
  text-align: left;
  padding: 18px 20px;
  margin-bottom: 12px;
  border: none;
  border-radius: 12px;
  background: #e87e1b;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s;
  font-size: 2rem;
}

.sponsor-btn:hover {
  background: #f39e4f;
}

.sponsor-btn.active {
  background: #000;
}

.sponsor-display {
    min-height: 220px;
    display: flex;
    justify-content: center;
    align-items: center;
	
	/*box-shadow:  5px 5px 5px 5px #f39e4f; */
	box-shadow:  5px 5px 5px 5px black; 
	padding: 25px;
	border-radius: 10px; 
	
	  overflow: hidden;
  position: relative;
  /*background-size: contain;*/
  /*background-repeat: no-repeat;*/
  background-size: cover; 
  background-position: center center;
  
  transition: background-image 0.3s ease-in-out;
	
}

/* Special background handling for logos */
.sponsor-display.bg-contain {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}


/* gray overlay */
.sponsor-display::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1;
}
/* ensure content stays above overlay */
.sponsor-panel {
  position: relative;
  z-index: 2;
}
.sponsor-display h3{
  margin-bottom: 20px;
  font-size: 1.55rem;
  font-weight: 800;
  margin-bottom: 12px;
  text-align:center;
  text-shadow: 5px 5px 10px black; 
}
.sponsor-panel {
  display: none;
  animation: fadeIn 0.25s ease-in-out;
}

.sponsor-panel.active {
  display: block;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Mobile */
@media (max-width: 768px) {
  .sponsor-container {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 991px) {
  .sponsor-container {
    grid-template-columns: 2fr;
  }
  
.sponsor-btn {
    display: block;
    width: 100%;
    text-align: left;
    padding: 18px 20px;
    margin-bottom: 12px;
    border: none;
    border-radius: 12px;
    background: #e87e1b;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: 0.3s;
    font-size: 1.5rem;
}
  
}

.about-community{
	background: linear-gradient(0deg, rgb(0 0 0 / 75%), rgb(0 0 0 / 79%)), url(/img/homepage/ct-02.png);
	padding: 100px 15px;;
	color:white;
}
.about-community .about-team-header h2 {
  font-size: 2.8rem;
  font-weight: 800;
  margin-bottom: 12px;
  text-align:center;
}
.about-community h2 {
  font-size: 2.6rem;
  font-weight: 800;
  margin-bottom: 12px;
  color:white;
}
.about-community i {
  font-size: 3.6rem;
  font-weight: 800;
  margin-bottom: 12px;
}

.about-community .team-card{
	padding: 20px;
	border-radius: 20px;
	background: white;
	display: flex;
	justify-content: center;
	align-items:center;
	flex-direction: column;
}
.about-community .team-card:hover{

}
 
 .review-bubble {
    padding: 22px;
    border-radius: 2rem;
    margin: 10px auto;
    background: #ebebeb;
    max-width: 300px;
    width: 100%;
    box-sizing: border-box;
    word-wrap: break-word;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 300px;
}
 .review-bubble h2{
	font-size: 25px; font-family: font4;
	color: black ;
}
 .review-bubble h2 span{
	font-size: 15px; font-family: font4;
	color: #BCBCBC ;
}
 .review-bubble strong{
	font-size: 15px; font-family: font4;
	color: #BCBCBC ;
	margin-top:-5px; 
}
 .review-bubble span{
	color: #FFD700 ;
	font-size: 2.3rem;
}
 .review-bubble p{
    font-size: 15px;
    font-family: 'font5';
    font-weight: 500;
    line-height: 20px;
    letter-spacing: 1px;
}
.infinite-carousel {
	margin: 2em 0;
	max-width: 1000px;
	max-width: 100%;
	/*width: 90%;*/
	width: 100%;
	overflow: hidden;
	
}
.infinite-carousel > div{
	width: max-content;
	padding: 0em 0;
	display: flex;
	align-items: center;
	flex-wrap: nowrap; 
	gap: 2em;
	list-style: none; 
}
.infinite-carousel a{
	color: black; ; 
	
}
@keyframes move {
	to{
		transform: translateX(calc(-50% - 1.5em)); 
	}
}
.review-rotate{
	display: flex;
	justify-content: center;
	align-items: center; 
}


/* GRID */

/* =========================
   ABOUT – SERVICES (LARGER)
========================= */

.about-service-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 36px;
}

/* CARD */

.about-service-card {
  position: relative;
  height: 250px;
  padding: 46px 36px;
      background: linear-gradient(0deg, rgb(0 0 0 / 15%), rgb(0 0 0 / 15%)), url(/img/homepage/ct-02.png);
    background-color: #000;
    background-size: 50%;
  color: #fff;
  border-radius: 18px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
}

.about-service-card i {
  font-size: 48px;
  color: #e87e1b;
  margin-bottom: 18px;
}

.about-service-card h3 {
  font-size: 1.55rem;
  font-weight: 800;
}



/* REVEAL */

.service-reveal {
  position: absolute;
  inset: 0;
  background: #e87e1b;
  color: #fff;border-radius: 15px;
  padding: 42px;
  transform: translateY(100%);
  transition: transform 0.45s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-service-card:hover .service-reveal,
.about-service-card:focus-within .service-reveal {
  transform: translateY(0);
}

.service-reveal p {
  font-size: 1.05rem;
  line-height: 1.6;
  margin-bottom: 16px;
}

.service-reveal ul {
  padding-left: 20px;
}

.service-reveal li {
  font-size: 1rem;
  margin-bottom: 8px;
}


@media (max-width: 991px){
.about-service-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 36px;
}
.about-service-card {
    position: relative;
    height: 450px;
    padding: 46px 16px;
    background: linear-gradient(0deg, rgb(0 0 0 / 15%), rgb(0 0 0 / 15%)), url(/img/homepage/ct-02.png);
    background-color: #000;
    background-size: 50%;
    color: #fff;
    border-radius: 18px;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 18px 40px rgba(0,0,0,0.18);
	display: flex;
	justify-content: center;
	align-items: center;
}

.service-reveal {
    position: absolute;
    inset: 0;
    background: #e87e1b;
    color: #fff;
    border-radius: 15px;
    padding: 42px 11px;
    transform: translateY(100%);
    transition: transform 0.45s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

}
/* =========================
   ABOUT – WHY CHOOSE US
========================= */

.about-why {
  padding: 100px 8%;
  background:
    linear-gradient(0deg, rgba(0,0,0,0.75), rgba(0,0,0,0.75)),
    url("/img/homepage/cooling-system-01.jpg");
  background-size: cover;
  background-position: center;
  color: #fff;
}

.about-why-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 36px;
  margin-top: 50px;
}

.about-why-item {
  text-align: center;
}

.about-why-item i {
  font-size: 42px;
  color: #e87e1b;
  margin-bottom: 14px;
}

.about-why-item h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 10px;
}

.about-why-item p {
  font-size: 0.95rem;
  line-height: 1.6;
  font-family: sans-serif;
}

/* =========================
   ABOUT – SERVICE AREAS
========================= */

.about-areas {
  padding: 100px 8%;
  background: #f7f7f7;
}

.about-area-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 40px;
}

/* TABS */

.about-area-tabs {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.area-tab {
  padding: 14px 18px;
  font-weight: 700;
  border-radius: 6px;
  border: 2px solid #e87e1b;
  background: #fff;
  color: #e87e1b;
  cursor: pointer;
}

.area-tab.active {
  background: #e87e1b;
  color: #fff;
}

/* PANELS */

.area-panel {
  display: none;
}

.area-panel.active {
  display: block;
}

.area-city-grid {
  columns: 3;
  font-family: sans-serif;
}

.area-city-grid li {
  margin-bottom: 8px;
}

/* MOBILE */

@media (max-width: 900px) {
  .about-area-layout {
    grid-template-columns: 1fr;
  }

  .about-area-tabs {
    flex-direction: column;
  }

  .area-city-grid {
    columns: 1;
  }
}

/* =========================
   ABOUT – CTA SECTION
========================= */

.about-cta {
  position: relative;
  background-image:
    linear-gradient(
      0deg,
      rgba(0,0,0,0.85),
      rgba(0,0,0,0.85)
    ),
    url("/img/homepage/ct-02.png");
  background-size: 50%;
  background-color: #000;
  color: #fff;
  padding: 90px 0;
  isolation: isolate;
}

.about-cta-overlay {
  position: relative;
  z-index: 1;
}

/* TEXT */

.about-cta h2 {
  font-size: clamp(2rem, 3vw, 2.6rem);
  font-weight: 800;
  margin-bottom: 14px;
}

.about-cta-text {
  font-size: 1.1rem;
  line-height: 1.7;
  max-width: 720px;
  font-family: sans-serif;
}

/* ACTIONS */

.about-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 24px;
}

/* BUTTONS */

.cta-btn {
  display: inline-block;
  text-align: center;
  padding: 14px 22px;
  font-weight: 700;
  border-radius: 6px;
  text-decoration: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cta-btn.primary {
  background: #e87e1b;
  color: #fff;
}

.cta-btn.secondary {
  background: #ffffff;
  color: #000;
}

.cta-btn.outline {
  border: 2px solid #ffffff;
  color: #ffffff;
  background: transparent;
}

.cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.35);
}

/* MOBILE */

@media (max-width: 991px) {
  .about-cta {
    text-align: center;
  }

  .about-cta-actions {
    align-items: center;
  }

  .cta-btn {
    width: 100%;
    max-width: 320px;
  }
}


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


/* =========================
   SERVICES HUB – HERO
========================= */

.services-hero {
  position: relative;
  min-height: 80vh;
  background-image:
    linear-gradient(
      to right,
      rgba(0,0,0,0.8),
      rgba(0,0,0,0.55)
    ),
    url("/img/homepage/hvac-home-01.jpg");
  background-size: cover;
  background-position: center;
  color: #fff;
  display: flex;
  align-items: center;
  isolation: isolate;
}

.services-hero-overlay {
  width: 100%;
  padding: 120px 0 100px;
}

.services-hero h1 {
  font-size: clamp(2.4rem, 3.4vw, 3.2rem);
  font-weight: 800;
  margin-bottom: 16px;
}

.services-hero-subtitle {
  font-size: 1.25rem;
  font-weight: 600;
  color: #e87e1b;
  margin-bottom: 18px;
}

.services-hero-overview {
  font-size: 1.1rem;
  line-height: 1.7;
  max-width: 720px;
  margin-bottom: 28px;
}

.services-hero-ctas {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}


/* =========================
   SERVICES HUB – COVERAGE
========================= */

.section-header h2 {
	font-weight: 800;
}

.services-financing{
  padding: 100px 8%;

	background: #111;
	color:white;
}
.services-financing span {
	color:#e87e1b
}
.services-financing .coverage-card{
	opacity: 0;
	transform: translateY(20px);
	
	transition: 0.64s; 
	
}
.services-financing .coverage-card h3 {
  font-size: 1.9rem;
  font-weight: 800;
  margin-bottom: 6px;
  color:black;
}
.services-financing .coverage-card h3.slogan{
	
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 6px;
  color:black;
	
	
}
.services-financing .coverage-card .coverage-cta:hover {
	transform: scale(1.1);
}
.services-financing .coverage-card.show{
	opacity: 1;
	transform: translateY(0);
	
}



.services-coverage {
  padding: 100px 8%;
  background: linear-gradient(0deg, rgb(255 255 255 / 64%), rgb(255 255 255 / 64%)), url(/img/homepage/ct-02.png);
    background-color: #ffffff;
    background-size: 50%;
}



.coverage-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 40px;
}

.coverage-card {
  background: #fff;
  padding: 46px 42px;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}

.coverage-card h3 {
  font-size: 1.9rem;
  font-weight: 800;
  margin-bottom: 6px;
}

.coverage-subtitle {
  font-size: 1.1rem;
  font-weight: 600;
  color: #e87e1b;
  margin-bottom: 14px;
}

.coverage-card p {
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 16px;
}

.coverage-card ul {
  padding-left: 18px;
  margin-bottom: 22px;
}

.coverage-cta {
  display: inline-block;
  padding: 12px 20px;
  background: #e87e1b;
  color: #fff;
  font-weight: 700;
  border-radius: 6px;
  text-decoration: none;
}


@media (max-width: 991px){
.coverage-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 40px;
}
 
}

/* =========================
   SERVICES HUB – EXPERTISE
========================= */

/* =========================
   SERVICES HUB – EXPERTISE (WITH IMAGES)
========================= */

.services-expertise {
  padding: 100px 8%;
  background: #ffffff;
}

.expertise-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 36px;
  margin-top: 40px;
}

/* CARD */

.expertise-item {
  background: #1f1f1f;
  color: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
  display: flex;
  flex-direction: column;
}

/* CONTENT */

.expertise-content {
  padding: 34px 28px;
  text-align: center;
}

.expertise-content i {
  font-size: 44px;
  color: #e87e1b;
  margin-bottom: 14px;
}

.expertise-content h3 {
  font-size: 1.5rem;
  font-weight: 800;
  margin-bottom: 10px;
}

.expertise-content p {
  font-size: 1rem;
  line-height: 1.6;
  font-family: sans-serif;
}

/* IMAGE PANEL */

.expertise-image {
  height: 220px;
  background-size: cover;
  background-position: center;
}

/* INDIVIDUAL IMAGES */

.heating-img {
  background-image: url("/img/homepage/heating-system-01.jpg");
}

.cooling-img {
  background-image: url("/img/homepage/cooling-system-01.jpg");
}

.duct-img {
  background-image: url("/img/homepage/duct-system-01.jpg");
}

.air-img {
  background-image: url("/img/homepage/air-quality-001.jpg");
}

/* MOBILE */

@media (max-width: 768px) {
  .expertise-image {
    height: 180px;
  }
}


@media (max-width: 991px){
 
.services-financing .coverage-card h3.slogan {
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 6px;
    color: black;
}
}

/* =========================
   SERVICES HUB – INTERACTIVE CARDS
========================= */

.services-offered {
  padding: 100px 8%;
      background: linear-gradient(0deg, rgb(0 0 0 / 15%), rgb(0 0 0 / 15%)), url(/img/homepage/ct-02.png);
    background-color: #000;
    background-size: 50%;
}

 #services-heading  {
	font-weight:  800; color: #fff;
}

.services-offered p {
	font-weight:  500; color: #fff; font-family: sans-serif; font-size: 17px; line-height: 35px;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  margin-top: 50px;
}

/* CARD BASE */

.service-card {
  position: relative;
  height: 365px;
  background: #ffffff70;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 30px rgba(0,0,0,0.15);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

/* LIFT EFFECT */

.service-card:hover {
  transform: translateY(-14px);
  box-shadow: 0 30px 60px rgba(0,0,0,0.3);
}

/* FRONT (DEFAULT) */

.service-front {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.service-front i {
  font-size: 46px;
  color: #e87e1b;
  margin-bottom: 16px;
}

.service-front h3 {
  font-size: 1.6rem;
  font-weight: 800; text-shadow: 1px 1px 1px #000;
}

/* BACK (REVEAL) */

.service-back {
  position: absolute;
  inset: 0;
 
      background: linear-gradient(0deg, #e87e1bab, #e87e1b6b), url(/img/homepage/ct-02.png);
    background-color: #e87e1b;
    background-size: 50%;
  color: #fff;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.service-back h4 {
	    padding: 15px 5px;
    background: #fff;
    color: #e87e1b;
    text-align: center;
    font-weight: 800;
}

.service-back p {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 16px; padding-top: 10px; padding-left: 25px;
}

.service-back ul {
  padding-left: 35px; padding-top: 15px;
}

.service-back li {
  font-size: 0.95rem;
  margin-bottom: 8px;
}

/* HOVER TRANSITIONS */

.service-card:hover .service-front {
  opacity: 0;
  transform: translateY(-20px);
}

.service-card:hover .service-back {
  opacity: 1;
  transform: translateY(0);
}

/* MOBILE FALLBACK */

@media (max-width: 900px) {
	.coverage-card h3 {
    font-size: 1.4rem;
    font-weight: 800;
    margin-bottom: 6px;
}
  .services-grid {
    grid-template-columns: 1fr;
  }

  .service-card {
    height: auto;
  }

  .service-front,
  .service-back {
    position: relative;
    opacity: 1;
    transform: none;
  }
.service-front h3 {
    font-size: 1.6rem;
    font-weight: 800;
    text-shadow: 1px 1px 1px #000;
    text-align: center;
}
  .service-back {
    /*background: #ffffff;*/
  }
}

/* =========================
   RESIDENTIAL HVAC – HERO
========================= */

.res-hero {
  position: relative;
  min-height: 85vh;
  /*background-image:*/
  /*  linear-gradient(*/
  /*    to right,*/
  /*    rgba(0,0,0,0.8),*/
  /*    rgba(0,0,0,0.55)*/
  /*  ),*/
  /*  url("/img/homepage/residential-hvac-001.jpg");*/

  background-image:
    linear-gradient(
      to right,
      rgba(0,0,0,0.8),
      rgba(0,0,0,0.55)
    ),
    url("/img/services/g-residential-hvac-002.jpg");
  background-size: cover;
  background-position: center;
  color: #fff;
  display: flex;
  align-items: center;
  isolation: isolate;
}

.res-hero-overlay {
  width: 100%;
  padding: 120px 0 100px;
}

.res-hero h1 {
  font-size: clamp(2.4rem, 3.4vw, 3.2rem);
  font-weight: 800;
  margin-bottom: 14px;
}

.res-hero-subtitle {
  font-size: 1.25rem;
  font-weight: 600;
  color: #e87e1b;
  margin-bottom: 16px;
}

.res-hero-overview {
  font-size: 1.1rem;
  line-height: 1.7;
  max-width: 680px;
  margin-bottom: 26px;
}

.res-hero-ctas {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

/* LEGEND */

.res-hero-legend ul {
  list-style: none;
  padding: 0;
}

.res-hero-legend li {
  margin-bottom: 14px;
}

.res-hero-legend a {
  display: block;
  padding: 14px 18px;
  background: rgba(0,0,0,0.6);
  border-left: 4px solid #e87e1b;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.3s ease, transform 0.3s ease;
}

.res-hero-legend a:hover {
  background: #e87e1b;
  transform: translateX(6px);
}


/* =========================
   RESIDENTIAL – CORE SERVICES
========================= */

/* =========================
   RESIDENTIAL – CORE SERVICES
========================= */


/* ==================================================
   RESIDENTIAL SERVICES – CLEAN FLIP CARDS (ISOLATED)
================================================== */

.resv-services {
  padding: 100px 8%;
  background: #f7f7f7;
}

.resv-header {
  max-width: 820px;
  margin: 0 auto 50px;
}

.resv-header h2 {
  font-size: 2.6rem;
  font-weight: 800;
  margin-bottom: 10px;
}

.resv-header p {
  font-size: 17px;
  line-height: 35px; font-family: sans-serif;
}

/* GRID */

.resv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  perspective: 1400px;
}

/* CARD */

.resv-card {
  height: 380px;
  background: transparent;
}

.resv-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  transition: transform 0.8s ease;
}

/* FLIP */

.resv-card:hover .resv-card-inner {
  transform: rotateY(180deg);
}

/* FACES */

.resv-face {
  position: absolute;
  inset: 0;
  padding: 40px 34px;
  border-radius: 20px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  box-shadow: 0 22px 50px rgba(0,0,0,0.25);
}

/* FRONT */

.resv-front {
  background: #1f1f1f;
  color: #fff;
  text-align: center;
}

.resv-front i {
  font-size: 48px;
  color: #e87e1b;
  margin-bottom: 16px;
}

.resv-front h3 {
  font-size: 1.7rem;
  font-weight: 800;
  margin-bottom: 8px;
}

.resv-front span {
  font-size: 0.95rem;
  opacity: 0.85;
}

/* BACK */

.resv-back {
  background: #ffffff;
  color: #000;
  transform: rotateY(180deg);
}

.resv-back h3 {
  font-size: 1.45rem;
  font-weight: 800;
  margin-bottom: 12px;
  color: #e87e1b;
}

.resv-back p {
  font-size: 17px;
  line-height: 35px; font-family: sans-serif;
  margin-bottom: 14px;
}

.resv-back ul {
  padding-left: 18px;
}

.resv-back li {
  font-size: 0.95rem;
  margin-bottom: 8px;
}

/* MOBILE FALLBACK */

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

  .resv-card {
    height: auto;
  }

  .resv-card-inner {
    transform: none !important;
  }

  .resv-face {
    position: relative;
    transform: none;
    box-shadow: none;
  }

  .resv-back {
    margin-top: 20px;
  }
}


/* =========================
   RESIDENTIAL – ESA
========================= */

.res-esa {
  padding: 100px 8%;
  background: #ffffff;
}

.res-esa h2 {
	font-weight: 800;
}

.res-esa p {
	font-family: sans-serif; font-size: 17px; line-height: 35px;
}

.res-esa li {
	line-height: 30px;
}
.res-esa .btn-primary {
	top: 25px; position: relative; left: 25px;
}

.res-esa-image {
  min-height: 420px;
  /*background-image:*/
  /*  linear-gradient(0deg, rgba(0,0,0,0.2), rgba(0,0,0,0.2)),*/
  /*  url("/img/homepage/maintenance-01.jpg");*/
  background-image:
    linear-gradient(0deg, rgba(0,0,0,0.2), rgba(0,0,0,0.2)),
    url("/img/homepage/maintenance-02.jpg");
  background-size: cover;
  background-position: center;
  border-radius: 18px;
}

/* =========================
   RESIDENTIAL – WHY CHOOSE US
========================= */

.res-why {
  padding: 100px 8%;
  background:
    linear-gradient(
      0deg,
      rgba(0,0,0,0.75),
      rgba(0,0,0,0.75)
    ),
    url("/img/homepage/residential-hvac-001.jpg");
  background-size: cover;
  background-position: center;
  color: #fff;
  isolation: isolate;
}

/* HEADER */

.res-why .section-header {
  max-width: 900px;
  margin: 0 auto 60px;
}

.res-why .section-header h2 {
  font-size: clamp(2.2rem, 3vw, 2.8rem);
  font-weight: 800;
  margin-bottom: 14px;
}

.res-why .section-header p {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #e87e1b;
  font-weight: 600;
}

/* GRID */

.res-why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 36px;
}

/* ITEM */

.res-why-item {
  background: rgba(255,255,255,0.95);
  color: #000;
  padding: 40px 32px;
  border-radius: 18px;
  text-align: center;
  box-shadow: 0 18px 40px rgba(0,0,0,0.25);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.res-why-item:hover {
  transform: translateY(-12px);
  box-shadow: 0 32px 70px rgba(0,0,0,0.35);
}

/* ICON */

.res-why-item i {
  font-size: 44px;
  color: #e87e1b;
  margin-bottom: 16px;
}

/* TITLE */

.res-why-item h3 {
  font-size: 1.15rem;
  font-weight: 800;
  margin-bottom: 10px;
}

/* COPY */

.res-why-item p {
  font-size: 1rem;
  line-height: 1.6;
  font-family: sans-serif;
}

/* MOBILE */

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

@media (max-width: 600px) {
  .res-why-grid {
        display: flex;
        flex-direction: column;
  }

  .res-why {
    text-align: center;
  }
}

.com-hero {
  background-image:
    linear-gradient(
      to right,
      rgba(0,0,0,0.85),
      rgba(0,0,0,0.6)
    ),
    url("/img/homepage/commercial-hvac-001.jpg");
}

.com-maintenance-image {
  min-height: 420px;
  /*background-image:*/
  /*  linear-gradient(0deg, rgba(0,0,0,0.25), rgba(0,0,0,0.25)),*/
  /*  url("/img/homepage/duct-01.jpg");*/
  background-image:
    linear-gradient(0deg, rgba(0,0,0,0.25), rgba(0,0,0,0.25)),
    url("/img/homepage/commercial-hvac-002.jpg");	
  background-size: cover;
  background-position: center;
  border-radius: 18px;
}

.com-why {
  background-image:
    linear-gradient(
      0deg,
      rgba(0,0,0,0.8),
      rgba(0,0,0,0.8)
    ),
    url("/img/homepage/emergency-hvac-001.jpg");
}


.duct-why {
  background-image:
    linear-gradient(
      0deg,
      rgba(0,0,0,0.78),
      rgba(0,0,0,0.78)
    ),
    url("/img/homepage/scrub-01.jpg");
}

/* =========================
   DUCT CLEANING – PROCESS
========================= */

.duct-process {
  padding: 100px 8%;
      background: linear-gradient(0deg, rgb(255 255 255 / 15%), rgb(255 255 255 / 15%)), url(/img/homepage/ct-02.png);
    background-color: #ffffff;
    background-size: 50%;
}

.duct-process .resv-header {
  max-width: 900px;
  margin: 0 auto 60px;
}

/* GRID */

.duct-steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 36px;
}

/* STEP CARD */

.duct-step {
  position: relative;
  background: #f7f7f7;
  border-radius: 18px;
  border: 3px solid #fff;
  padding: 48px 34px 40px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.duct-step:hover {
  transform: translateY(-12px);
 box-shadow: 0 8px 22px rgba(0,0,0,0.25);
  border: 3px solid #FF9800;
}

/* STEP NUMBER */

.duct-step .step-num {
  position: absolute;
  top: -22px;
  left: 28px;
  background: #e87e1b;
  color: #000;
  font-weight: 800;
  font-size: 1.2rem;
  padding: 10px 16px;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.25);
}

/* TITLE */

.duct-step h3 {
  font-size: 1.35rem;
  font-weight: 800;
  margin-bottom: 14px;
}

/* COPY */

.duct-step p {
  font-size: 17px;
  line-height: 32px;
  font-family: sans-serif;
}

/* CONNECTOR LINE (DESKTOP ONLY) */

@media (min-width: 1100px) {
  .duct-steps-grid {
    position: relative;
  }

  .duct-steps-grid::after {
    content: "";
    position: absolute;
    top: 52%;
    left: 6%;
    right: 6%;
            height: 15px;
        background: #f9f9f9;
        border: 3px solid #FF9800;
    z-index: 0;
  }

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

/* RESPONSIVE */

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

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

  .duct-step {
    padding: 44px 30px 36px;
  }

  .duct-step .step-num {
    left: 22px;
  }
}


.duct-benefits-image {
  min-height: 420px;
  background-image:
    linear-gradient(0deg, rgba(0,0,0,0.25), rgba(0,0,0,0.25)),
    url("/img/homepage/duct-system-01.jpg");
	
	
	
  background-image:
    linear-gradient(
      to right,
       rgba(0,0,0,0.25), rgba(0,0,0,0.25)
    ),
    url("/img/services/duct-002.jpg");
  background-size: cover;
  background-position: center;
  border-radius: 18px;
}

.duct-hero {
  background-image:
    linear-gradient(
      to right,
      rgba(0,0,0,0.85),
      rgba(0,0,0,0.6)
    ),
    url("/img/homepage/duct-01.jpg");
}


.iaq-hero {
  min-height: 85vh;
  background:
    linear-gradient(to right, rgba(0,0,0,.85), rgba(0,0,0,.55)),
    url("/img/homepage/air-quality-001.jpg");
  background-size: cover;
  background-position: center;
  color: #fff;
}

.iaq-hero h1 {
	font-weight: 800;
}

.iaq-hero-overlay {
  padding: 120px 0 100px;
}

.iaq-subtitle {
  font-size: 1.25rem;
  font-weight: 600;
  color: #e87e1b;
  margin-bottom: 16px;
}

.iaq-overview {
  font-size: 1.1rem;
  line-height: 1.7;
  max-width: 680px;
  margin-bottom: 26px;
}

/* =========================
   IAQ PROCESS
========================= */

.iaq-process {
  padding: 100px 8%;
  background:
    linear-gradient(0deg, rgb(255 255 255 / 15%), rgb(255 255 255 / 15%)),
    url(/img/homepage/ct-02.png);
  background-color: #ffffff;
  background-size: 50%;
}

.iaq-process .resv-header {
  max-width: 900px;
  margin: 0 auto 60px;
}

/* GRID */

.iaq-steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 36px;
}

/* STEP CARD */

.iaq-step {
  position: relative;
  background: #f7f7f7;
  border-radius: 18px;
  border: 3px solid #fff;
  padding: 48px 34px 40px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.iaq-step:hover {
  transform: translateY(-12px);
  box-shadow: 0 8px 22px rgba(0,0,0,0.25);
  border: 3px solid #FF9800;
}

/* STEP NUMBER */

.iaq-step .step-num {
  position: absolute;
  top: -22px;
  left: 28px;
  background: #e87e1b;
  color: #000;
  font-weight: 800;
  font-size: 1.2rem;
  padding: 10px 16px;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.25);
}

/* TITLE */

.iaq-step h3 {
  font-size: 1.35rem;
  font-weight: 800;
  margin-bottom: 14px;
}

/* COPY */

.iaq-step p {
  font-size: 17px;
  line-height: 32px;
  font-family: sans-serif;
}

/* CONNECTOR LINE (DESKTOP ONLY) */

@media (min-width: 1100px) {
  .iaq-steps-grid {
    position: relative;
  }

  .iaq-steps-grid::after {
    content: "";
    position: absolute;
    top: 52%;
    left: 6%;
    right: 6%;
    height: 15px;
    background: #f9f9f9;
    border: 3px solid #FF9800;
    z-index: 0;
  }

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

/* RESPONSIVE */

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

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

  .iaq-step {
    padding: 44px 30px 36px;
  }

  .iaq-step .step-num {
    left: 22px;
  }
}



.iaq-benefits {
  padding: 100px 8%;
  background: #f7f7f7;
}

.iaq-benefits h2 {
  font-weight: 800;
  margin-bottom: 16px;
}

.iaq-benefits p {
  font-size: 17px;
  line-height: 35px;
  font-family: sans-serif;
}

.iaq-benefits ul {
  padding-left: 20px;
}

.iaq-benefits li {
  font-size: 1rem;
  line-height: 30px;
}

.iaq-benefits-image {
  min-height: 420px;
  background:
    linear-gradient(0deg, rgba(0,0,0,.2), rgba(0,0,0,.2)),
    url("/img/homepage/maintenance-01.jpg");
  background-size: cover;
  background-position: center;
  border-radius: 18px;
}

#iaq-why {
  background:
    linear-gradient(0deg, rgba(0,0,0,.75), rgba(0,0,0,.75)),
    url("/img/homepage/emergency-hvac-001.jpg");
  background-size: cover;
  background-position: center;
}


.products-hero-image {
  min-height: 520px;
  /*background:*/
  /*  linear-gradient(0deg, rgba(0,0,0,0.15), rgba(0,0,0,0.15)),*/
  /*  url("/img/homepage/commercial-hvac-001.jpg");*/
  background:
    linear-gradient(0deg, rgba(0,0,0,0.15), rgba(0,0,0,0.15)),
    url("/img/homepage/commercial-hvac-002.jpg");
  background-size: cover;
  background-position: center;
}

.products-hero h1 {
	font-weight: 800;
}

.product-section {
  padding: 100px 8%;
  background: #ffffff;
  border-top: 1px solid #eee;
}

.product-header {
  max-width: 900px;
  margin-bottom: 50px;
}

.product-header h2 {
  font-size: 2.4rem;
  font-weight: 800;
  margin-bottom: 10px;
}

.product-header p {
  font-size: 17px;
  line-height: 35px;
  font-family: sans-serif;
}

/* WHY WE USE IT */

.product-why {
  margin-top: 40px;
  background: #e87e1b; color: #fff;
  padding: 40px;
  border-radius: 18px;
}

.product-why h3 {
  font-weight: 800; text-shadow: 1px 1px 1px #000;
  margin-bottom: 14px;
}

/* CLIENT BENEFITS */

.product-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  margin-top: 50px;
}

.product-benefit {
  background: #ffffff;
  padding: 36px 30px;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
  text-align: center;
}

.product-benefit i {
  font-size: 42px;
  color: #e87e1b;
  margin-bottom: 14px;
}

.product-benefit h4 {
  font-size: 1.25rem;
  font-weight: 800;
  margin-bottom: 10px;
}

.product-benefit p {
  font-size: 1rem;
  line-height: 1.6;
}

/* RESPONSIVE */

@media (max-width: 900px) {
  .product-benefits {
    grid-template-columns: 1fr;
  }
}


.testimonials-widget {
	padding: 100px;     background: linear-gradient(0deg, rgb(0 0 0 / 75%), rgb(0 0 0 / 75%)), url(/img/homepage/ct-02.png);
    background-color: #000;
    background-size: 50%;
}

.testimonials-widget h2 {
	font-weight: 800; font-family: sans-serif; text-align: center; color: #fff;
}

.testimonials-hero h1 {
	font-weight: 800;
}
/**** 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);
}

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


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


/**** Sections On Every Page ****/
.contact-section {
	padding: 150px 0 150px 0; background: linear-gradient(0deg, rgb(255 255 255 / 75%), rgb(255 255 255 / 57%)), url(/img/homepage/ct-02.png);
    background-color: #ffffff;
    background-size: 50%;
}
.contact-section h3 {
    font-size: 2rem;
    font-family: sans-serif;
    font-weight: 800;
    text-align: center;
    color: rgb(255 255 255);
    padding: 25px;
    background: #e87e1b;
    border-radius: 10px;
    margin-bottom: -45px;
    position: relative;
}

.contact-box {
padding: 100px 30px 100px 30px;
    border-radius: 10px;
    background: #ffffff8a;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
    border: 2px dashed #e87e1b;
}

.contact-local {
  padding: 100px 8%;
  background: #ffffff;
}

.contact-local h2 {
  font-weight: 800;
  margin-bottom: 16px;
}

.contact-local h2 span {
	color: #e87e1b; text-shadow: 1px 1px 1px #000;
}

.contact-local p {
  font-size: 17px;
  line-height: 35px;
  font-family: sans-serif;
}

.contact-local-list {
  margin-top: 20px;
  padding-left: 18px;
}

.contact-local-list li {
  line-height: 32px;
}

.contact-local-image {
  min-height: 420px;
  background:
    linear-gradient(0deg, rgba(0,0,0,0.15), rgba(0,0,0,0.15)),
    url("/img/homepage/install-01.jpg");
  background-size: cover;
  background-position: center;
  border-radius: 18px;
}


.contact-services {
  padding: 100px 8%;
  background: #f7f7f7;
}

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

.contact-service {
  background: #ffffff;
  padding: 36px 32px;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}

.contact-service h3 {
  font-size: 1.35rem;
  font-weight: 800; color: #e87e1b;
  margin-bottom: 10px;
}

.contact-service p {
  font-size: 1rem;
  line-height: 1.6;
}

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


.contact-hero {
  position: relative;
  min-height: 85vh;
  background-image:
    linear-gradient(
      to right,
      rgba(0,0,0,0.8),
      rgba(0,0,0,0.55)
    ),
    url("/img/homepage/emergency-hvac-001.jpg");
  background-size: cover;
  background-position: center;
  color: #fff;
  display: flex;
  align-items: center;
}

.contact-hero-overlay {
  width: 100%;
  padding: 120px 0 100px;
}

.contact-hero h1 {
  font-size: clamp(2.5rem, 3.6vw, 3.4rem);
  font-weight: 800;
  margin-bottom: 16px;
}

.contact-hero-subtitle {
  font-size: 1.3rem;
  font-weight: 600;
  color: #e87e1b;
  margin-bottom: 18px;
}

.contact-hero-overview {
  font-size: 1.1rem;
  line-height: 1.7;
  max-width: 720px;
  margin-bottom: 30px;
}

.contact-hero-ctas {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

/* ========================================== */
/* === 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 .h-card {
	text-align: center;
}

.footer-section {
	padding: 0 0 10px;     background: linear-gradient(0deg, rgb(0 0 0 / 15%), rgb(0 0 0 / 15%)), url(/img/homepage/ct-02.png);
    background-color: #434343;
    background-size: 50%; color: rgb(255, 255, 255); font-size: 18px; font-weight: 400;
}
.footer-section h3 {
	font-size: 1.3rem; color: rgb(30,30,30); font-weight: bold;
}
.footer-section p {
	color: rgb(255,255,255); font-size: 15px; font-family: 'font2';
}
.footer-section a {
	color: rgb(255,255,255); font-size: 16px;
}
.footer-section .service-cities p {
	margin: 0 0 3px;
}
.service-cities {
	margin-bottom: 1em;
}
.service-cities img {
	padding-bottom: 20px;
}
.service-cities h5 {
	line-height: 8px;
}
.service-cities h4 {
	font-size: 20px; font-family: sans-serif; font-weight: 600; color: rgb(255, 255, 255);
}
.service-cities h3 {
	font-size: 30px; font-family: sans-serif; font-weight: 800; color: rgb(255, 255, 255);
}
.bottom-footer {
	padding: 25px 0px 25px 0px; background: #e87e1b;
}
.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: #000; margin-bottom: -10px;
}
.trademark-disclaimer p {
	font-size: 8px; text-align: center; color: rgb(255,255,255);
}





/* === 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: rgb(0,0,0);
}
.top-header-animate a, .top-header-animate i, .top-header-animate p {
	color: rgb(0,0,0);
}
.top-header {
	background: #959595; 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(230,230,230); 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;  ; text-align: left; color:black;
}
.navbar-sidebar {
	padding-top: 84px; height: 100%; width: 200px; background-color: rgb(250,250,250); position: fixed !important; z-index: 2; 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-weight: 700;
	color:black; 
}

.nav-link{
	
	font-weight: 700;
	color:black; 
}


.bar-block.center .bar-item {
	text-align: center;
}
.block {
	display: block; width: 100%;
}

/**** Home Section ****/
.home-header-section {
	padding-top: 85px;
}
.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;
}
 
/**** 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: max-content; padding-bottom: 25px;         border-radius: 10px;
}
.service-cities h4 {
	font-size: 24px; font-weight: 600; color: rgb(255,255,255);
}
.service-cities a {
	font-size: 18px; line-height: 10px; color: rgb(255,255,255);
}

/**** 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) {

}