/* GLOBAL STYLES
-------------------------------------------------- */
/* Padding below the footer and lighter body text */


@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/fondy.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-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');
}
body,html{
	overflow-x: hidden; 
}
.vertically-centered{
	display: flex;
	flex-direction: column;
	justify-content: center; 
}
 .general-cta{
    background: rgb(80, 133, 213);
    padding: 10px 25px !important;
    text-shadow: none;
    color: rgb(255,255,255);
    font-weight: 600;
    font-family: 'font2';
    border-radius: 2.5rem;
    font-size: 18px;
		display:inline-flex; 
}
.general-cta:hover{
    background: white;
 
    color: rgb(80, 133, 213);;
}

/* ============================================================================================ */
/* === Tabs      **(ONLY MOBILE FREINDLY WITH A SMALL NUMBER OF TABS WITH A MAX OF 20 CHARACTERS  ================= */
/* ============================================================================================ */
.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(221 0 0 / 80%);
}

/* ======================================== */
/* === Top Header Section ================= */
/* ======================================== */
.top-header {
	position: fixed;
	width: 100%;
	padding: 10px 0 10px 0;
	background: rgb(255,255,255);
	z-index: 5;
	-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:#fbfbfb;
	color:#222;
}
.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:start;
	align-items:center;
}
.top-header div[class*='col-']:nth-child(3) a {
	padding: 9px 15px 9px 15px;
	background: transparent;
	font-family: 'font2';
	color: black;;
	border-radius: 1.1rem;
	border: 1px double rgb(200,200,200);
	display:inline-flex;
	
	font-weight: 600;
}
.top-header div[class*='col-']:nth-child(3) a:hover {
	background: rgb(129,141,148,0.8);
}
.top-header div[class*='col-']:nth-child(4) {
	display:flex;
	justify-content:start;
	align-items:center;
}
.top-header div[class*='col-']:nth-child(4) a {
	padding: 9px 15px 9px 15px;
	background: transparent;
	font-family: 'font2';
	color: black;;
	border-radius: 1.1rem;
	border: 1px double rgb(200,200,200);
		font-weight: 600;

}
.top-header div[class*='col-']:nth-child(4) a:hover {
	background: rgb(129,141,148,0.8);
}
.top-header div[class*='col-']:nth-child(5) {
	display:flex;
	justify-content: flex-start;
	align-items:center;
}
.top-header div[class*='col-']:nth-child(5) a {
	display:flex;
	justify-content:center;
	align-items:center;
	border: 1px solid rgb(255,255,255);
	color: rgb(255,255,255);
	background: rgb(146 167 199);
	border-radius:100px;
	height: 34px;
	width: 34px;
	margin: 0 4px;
}
.top-header div[class*='col-']:nth-child(5) a:hover {
	background: rgb(221 0 0 / 80%);
	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;
}

 .logo-header {
    position: absolute;
    padding: 25px;
    margin-top: -20px;
    top: 50%;
    left: 0%;
}
 .logo-header img {
				width: 250px;

}
/* ======================================== */
/* === Navigvation Section ================ */
/* ======================================== */
.navbar-inverse .navbar-inner {
	display:none;
}

/******* Mobile Navigation Section *******/
.mobile-menu {
	display:none;
}
.dropdown-wrapper {
	margin:0;
	padding:0;
}
.mobile-menu .dropdown-menu-mobile {
	  position:relative;
	  display:none;
	  top: 100%;
	  left: 0;
	  z-index: 1000;
	  float: left;
	  height:0px;
	  margin:0;
	  width:100%;
	  padding: 0;
	  font-size: 1rem;
	  color: #e6e6e6 !important;
	  text-align: left;
	  list-style: none;
	  background-color: #101010;
	  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;
}
.mobile-menu .dropdown-menu-mobile a {
	color:#545454;
	font-weight:600 !important;
	font-size: 1.3em;
	font-family:'Raleway';
	text-align:center;
}
/******* Mobile Navigation Section *******/

/******************************************** DAVIDS MOBILE CODE START *************************************************/
.home-header-section {
	padding-top: 125px;
}
.home-header-section a {
	background: rgb(80, 133, 213);
	padding: 10px 25px !important;
	text-shadow: none;
	color: rgb(255,255,255);
	font-weight: 600;
	font-family: 'font2';
	border-radius: 2.5rem;
	font-size: 18px;
}
.home-header-section a:hover {
	background: rgb(80, 133, 213, 0.8);
	color: rgb(255,255,255);
}
.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;
}






.home-intro {
	padding: 175px 0px 175px 0px; background: linear-gradient(to right, #00000099, #00000070), url(/img/home-slide-1.jpg);
    background-size: cover;      
    background-repeat: no-repeat; background-attachment: fixed;
		background-position: 50% 50%; 
}
.retractable-bg{
	background: linear-gradient(to right, #ffffff00, #ffffff00), url(/img/services/retractable-bg.jpg);
}
.home-intro .intro-content {
	padding: 100px 25px 100px 25px; background: transparent; border-radius: 10px; height: 100%;
}

.home-intro .intro-legend {
	padding: 50px; background: #8d182ad1; color: #fff; border-radius: 5px;
}

.home-intro h1 {
	font-family: inherit; font-size: 25px; letter-spacing: 1px; text-shadow: 1px 1px 1px black;  color:white; 
}

.home-intro h1 span {
	font-size: 45px; color:white; ; font-weight: 600;
}

.home-intro h4 {
	font-family: font3; font-size: 25px; letter-spacing: 1px; color: #fff; padding: 20px 0px 20px 0px;
}

.home-intro  p {
	font-family: font2; font-size: 17px; line-height: 35px;
}

.home-intro .contact-cta{
    background: rgb(80, 133, 213);
    padding: 10px 25px !important;
    text-shadow: none;
    color: rgb(255,255,255);
    font-weight: 600;
    font-family: 'font2';
    border-radius: 2.5rem;
    font-size: 18px;
		
		display:inline-flex; 

		
		
}
.home-intro .contact-cta:hover{
    background: white;
 
    color: rgb(80, 133, 213);;
}





/**/
/**/
/**/

.showcase {
    position: relative;
    height: 97vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.background-video {
    width: 100%;
    height: 900px;
    overflow: hidden;
    object-fit: cover;
}



.video-overlay {
 
        position: absolute;
        padding: 50px 10px 50px 10px;
         /*  background: radial-gradient(circle, rgba(0, 0, 0, 0) 8%, rgba(0, 0, 0, 1) 80%, rgba(0, 0, 0, 1) 100%);*/
		   height: 97.5%;
        margin-top: -0;
        margin-bottom: 0;
        width: 100%;
        top: 50%;
								left:50%;
  opacity: 0;
  transform: translate(-50%, -45%);
  transition:
    opacity 0.8s ease-out,
    transform 0.8s ease-out;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #0000008f;
}
/*.video-overlay:hover {
	background: transparent; transition: 3s;
}*/
.video-overlay .row {
	--bs-gutter-x: 0;
}
.video-overlay h1 {
 font-size: 3rem; color: white;; font-weight: 600; letter-spacing: 2px; text-shadow: 1px 1px 1px #000; text-transform: uppercase; text-align: center;
}
.video-overlay h1 span {
	font-size: 20px; font-family: Arial; font-weight: 600; color: #efefef; letter-spacing: 1px; text-shadow: none;
}
.video-overlay h1 i {
	font-family: font4; letter-spacing: 3px; font-weight: 500; font-size: 40px; color: #736c45;
}
.video-overlay h3 {
	font-family: Montserrat;
    letter-spacing: 1px; position: relative; 
    font-size: 20px; font-weight: 600;
    text-transform: uppercase;
    color: #282828;
}
.video-overlay h3 span {
	color: #B24334;
}
.video-overlay h4 {
	padding: 35px; border-radius: 10px; color: #fff; font-size: 20px; letter-spacing: 2px; width: fit-content;
	background: #B24334; text-align: center; font-family: font11; font-weight: 600; text-transform: uppercase;
}

.video-overlay a {
	width:auto;     display: inline-block;
}

.video-overlay h4:hover {
	box-shadow: 0px 0px 0px 15px #B24334;  border-radius: 0px;
}
.video-overlay .boxer1 {
	padding: 25px;  border-radius: 10px;
}
.video-overlay .boxer2 {
	padding: 15px; 
}

.video-overlay .video-cta{
	padding: 15px;
	font-size: 1.25rem;
	color:white;
	background: rgb(80, 133, 213);
	text-transform: uppercase;
	display: inline-flex; 
	border-radius: 30px;
	font-weight: 700;
	transition:0.35s;
}
.video-overlay .video-cta:hover{
	background: rgb(146 167 199);
	transform: scale(1.05); 
}
/* Activated state */
.video-overlay.show {
  opacity: 1;
  transform: translate(-50%, -50%);
}
@media (max-width:991px){
	
.video-overlay h1 {
    font-size: 2rem;
    color: white;
    font-weight: 600;
    letter-spacing: 2px;
    text-shadow: 1px 1px 1px #000;
    text-transform: uppercase;
    text-align: center;
}
	
	
}


.home-summary{
    position: relative;
    padding: 50px 10px;
    background: #f3f3f3;
    border-radius: 100px;
    margin: 0 70px;
    margin-top: -100px;
 
}

 span.title-header{
    display: inline-block;
    padding: 10px;
    border-radius: 20px;
    background: white;
    border-radius: 10px;
    border: 2px solid lightgray;
    background: transparent;
	
}
 strong.title-header{
	display: inline-block; 
	padding: 10px;
	border-radius: 20px;
	font-size:2.5rem;
	
}
 
.home-summary .container-fluid{
}
.home-summary h2{
	font-size: 2rem;
	font-weight: 700;
	color: rgb(221 0 0 / 80%);
	text-wrap: nowrap;
}
.home-summary i{
    font-size: 1.77rem;
    font-weight: 700;
    color: rgb(221 0 0 / 80%);
    padding: 20px;
    background: white;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 90px;
				border: 4px solid rgb(221 0 0 / 80%);; 
}



.home-summary .summary-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2x2 layout */
  gap: 40px;
  align-items: stretch;
}

.summary-box .sum {
  padding: 25px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.summary-box .sum {
  background: transparent;
  border-radius: 20px;
  transition: transform 0.3s ease;
}

.summary-box .sum:hover {
  transform: translateY(-4px);
}

.summary-box .sum:hover i{
	background: rgb(221 0 0 / 80%);;
	color:white;
	transition:0.4s;
}
.vertical-pos{
	display: flex;
	justify-content: center;
	align-items: ;
	flex-direction:column;
}

@media (max-width: 991px) {
  .home-summary {
    margin: 0 15px;
    border-radius: 40px;
    padding: 40px 20px;
  }
  .home-summary h2{
			text-wrap: wrap;
  }
  .home-summary .summary-box {
    grid-template-columns: 1fr; /* stack */
    gap: 30px;
  }

  .summary-box .sum {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .vertical-pos {
    align-items: center;
  }
}






















.home-services  {
	padding: 100px 0; 
}
.home-services   h2{
	
}
.home-services   span.title{
    display: inline-block;
    padding: 10px;
    border-radius: 20px;
    background: white;
    border-radius: 10px;
    border: 2px solid lightgray;
    background: transparent;
	
}
.home-services   strong.title{
	display: inline-block; 
	padding: 10px;
	border-radius: 20px;
	font-size:2.5rem;
	
}
.home-services   h3{
    font-size: 1.5rem;
    font-weight: 700;
    color: white;
		transition: 0.35s;

}
.home-services   p{
	
}
.home-services .stage {
  display: grid;
  grid-template-columns: 1.1fr 1.4fr; /* left / right balance */
  gap: 60px;
  /*align-items: center;*/
		
		transform: translateY(60px);
		opacity: 0.4;
		transition:0.5s;
}


.home-services .stage a,
.home-services .stage-grid a {
  display: inline-block;
}
.home-services .stage .stage-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 columns */
  gap: 30px;
}


.home-services .stage.show{
		opacity: 1;

	transform: translateY(0);
	
}


.service {
  position: relative;
  padding: 20px;
  border-radius: 20px;
  /*box-shadow: 2px 2px 10px black;*/
  overflow: hidden;
  color: #fff;
  height: 300px;
  width: 300px;

  display: flex;
  flex-direction: column;
  align-items:  flex-start; /* vertical bottom */
		
		transition: 0.35s;
}
.service.service-main{
  height: 500px;
  width: 500px;
}
.service::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
}

/* overlay layer */
.service::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 2;
}

/* content stays above */
.service > * {
  position: relative;
  z-index: 3;
}
.service-visible {
  position: relative;
  z-index: 3;
}
.service-hover {
  position: absolute;
  inset: 0;
  padding: 20px;
  display: flex;
  align-items: flex-end;
  z-index: 3;

  transform: translateY(100%);
  transition: transform 0.35s ;
}
.service:hover .service-hover {
  transform: translateY(0) ;
}
.service:hover   {
  transform: scale(1.05);
  box-shadow: 2px 2px 10px black;
		
}
.service:hover  i {
  color:rgb(221 0 0 / 80%);
		
}
.service:hover  h3 {
  color:rgb(220 231 247);
		
}

 




 .service-main::before {
  background-image: url("/img/homepage/pc-general.jpg");
}

.service-1::before {
		  background-image: url("/img/homepage/pc-sink.jpg");

}

.service-2::before {
  background-image: url("/img/homepage/pc-toilet.jpg");

}

.service-3::before {
  background-image: url("/img/homepage/pc-heater.jpg");

}

.service-4::before {
  background-image: url("/img/homepage/pc-pipe.jpg");

}
.service-5::before {
  background-image: url("/img/homepage/pc-root.JPG");

}
.service-6::before {
  background-image: url("/img/homepage/pc-septic.jpg");

}
.service-7::before {
	  /*background-image: url("/img/homepage/pc-remodel.jpg");*/

  background-image: url("/img/homepage/pc-sump.jpg");

}
.service-8::before {
	  /*background-image: url("/img/homepage/pc-remodel.jpg");*/

  background-image: url("/img/homepage/pc-repair.jpg");

}
.service-9::before {
	  /*background-image: url("/img/homepage/pc-remodel.jpg");*/

  background-image: url("/img/homepage/pc-new-install.jpg");

}


.home-plumb-method {
    background-image: linear-gradient(rgb(0, 0, 0, 0.6), rgb(0, 0, 0, 0.6)), url(/img/plumber-2.jpg);
    min-height: auto;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  padding: 100px 20px;
}

.plumb-header {
  text-align: center;
  margin-bottom: 50px;
		color:white;
}

.plumb-header h3 {
  font-size: 2.4rem;
  font-weight: 700;
}

.plumb-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 30px;
  align-items: stretch;
}

/* method cards */
.method {
  background: white;

  padding: 30px 25px;
  border-radius: 16px;
  text-align: center;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
		

  opacity: 0;
  transform: translateY(25px) scale(0.76);

  transition: opacity 0.6s ease, transform 0.6s ease;
}
.method *{
	
	color:black;;
}

.method h3 {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 12px;
		color:rgb(80, 133, 213);;
}

.method p {
  font-size: 0.95rem;
  line-height: 1.5;
}

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

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

.method:hover{
	transform:translateY(-20px);
}

.method.show{
	opacity: 1;
  transform: translateY(0) scale(1);

}
 










.home-difference {
	 text-align: center;
}
.home-difference .container-fluid {
	padding: 0px;
}
.difference-btn-wrap {
    display: flex;
    justify-content: center;
}

.home-difference .spot1 {
	/*background: linear-gradient(to right, #00000000, #00000000), url(/img/homepage/pool-2.jpg) no-repeat;*/
	background: linear-gradient(to right, #00000000, #00000000), url(/img/homepage/tartan-side-truck.jpg) no-repeat;
    background-size: cover; height: 100%;
    background-position: center center;
}
.home-difference .spot2 {
	padding: 150px 0px 150px 0px;
	background: linear-gradient(to right, #00000000, #00000000), url(/img/homepage/water-1.png) no-repeat;
    background-size: 25%; background-repeat: repeat; margin-left: -24px;
}
.home-difference .spot2 .inner {
    padding: 75px;
    background: #fff;
    margin-left: 100px;
    margin-right: 85px;
    /* box-shadow: 0px 0px 5px 0px #000; */
	box-shadow: -15px 15px 1px rgb(80, 133, 213);
    transition: 0.5s;
    position: relative;
    z-index: 1;
	
}
.home-difference h2 {
    font-size: 2.4rem;
    font-weight: 700;
}
.home-difference h2 span {
    font-size: 2.4rem;
    font-weight: 700;
}
.home-difference p  {
	font-family: font5; font-size: 17px; 
}
.home-difference .service-button {
    background-image: linear-gradient(to right, rgb(177 54 54) 0%, rgb(80, 133, 213)  51%, rgb(80, 133, 213)  100%);
    margin: 10px;
    padding: 15px 20px;
    text-align: center;
    text-transform: uppercase;
    transition: 0.5s;
    background-size: 220% auto;
    color: white;
    box-shadow: 0 0 10px black;
    border-radius: 10px;
    width: auto;
		width: max-content; 
	
	
}
.home-difference .service-button:hover {
    background-position: right center;
    text-decoration: none;	
	
}
.home-difference .service-button:hover a{
	color:white;
	
}
.home-difference a{
	color:white;
	font-weight: 700;
}

.home-difference h4{
	text-align:center;
}

.home-difference:hover .spot2 .inner{
	box-shadow: -25px 25px 1px rgb(177 54 54);
}
.home-difference .video-col {
    position: relative;
    min-height: 600px; /* match visual intent */
    overflow: hidden;
}

.home-difference .video-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
				background: linear-gradient(rgb(0, 0, 0, 0.6), rgb(0 0 0 / 0%)), url(/img/homepage/pc-remodel.jpg);
				background-position: 50% 50%
}

.home-difference .video-bg iframe {
    width: 100%;
    height: 100%;
    pointer-events: none; /* makes it behave like a background */
}
.offer-btn-wrap {
    display: flex;
    justify-content: center;
}



@media (max-width:991px){
	
.home-difference .spot2 .inner {
    padding: 75px 10px;
    background: #fff;
    margin-left: 100px;
    margin-right: 85px;
    /* box-shadow: 0px 0px 5px 0px #000; */
    box-shadow: -10px 10px 1px rgb(80, 133, 213);
    transition: 0.5s;
    position: relative;
    z-index: 1;
}
.home-difference .spot2 {
    padding:  50px 0px 50px 0px;
    background: linear-gradient(to right, #00000000, #00000000), url(/img/homepage/water-1.png) no-repeat;
    background-size: 25%;
    background-repeat: repeat;
    margin-left: 0;
}
.home-difference .spot2 .inner {
    padding: 75px 10px;
    background: #fff;
    margin-left: 31px;
    margin-right: 31px;
    /* box-shadow: 0px 0px 5px 0px #000; */
    box-shadow: -10px 10px 1px rgb(80, 133, 213);
    transition: 0.5s;
    position: relative;
    z-index: 1;
}
}





.reviews3{--ink:#132442;--accent:#e1d98f;--muted:#6b7280;--card:#fff;--bg:#f7f8fb;background: #8db3eb;
    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:600;}
.reviews-head p { 
    color: #f7efa7;
    font-weight: 500;
    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 */
.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;}
.review-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,0,0,.1);border-color:#e8df99;}
.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 */
.review-card .text{
  margin:4px 0 8px; line-height:1.55; color:#2b3241;  font-size:15px;
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
  max-height: calc(1.55em * 4);
}
.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:black;; border:1px dashed var(--accent);
  color:#fff; text-decoration:none; font-weight:700; font-size:13px;
}
.source:hover{filter:brightness(1.02);}

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





.service-intro{
	padding: 125px 20px;
	height: 85vh;
	display: flex;
	justify-content: center;
	align-items: center;
	
background: linear-gradient(0deg, #000000d6 25%, #000000d6 90%), url(/img/plumbing-remodeling.jpg);
        background-position: center center;
        background-size: cover;
	
}
.service-intro *{
color:white;	
	
}
.service-intro h1{
    font-weight: 600;
    font-size: 2.8rem;
    text-align: center;
	
	
}
.service-intro h1 span{
color:rgb(80, 133, 213);	
}

.service-intro h2{
	
    font-weight: 600;
    font-size: 2.2rem;
}
.service-intro h3{
	
	
    font-weight: 600;
    font-size: 2rem;
	
}
.service-intro p{}
.service-intro-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  align-items: stretch; /* important */
}

.intro-link {
  display: block;
  height: 100%;
}

.intro-item {
  background: rgba(255,255,255,0.95);
  border-radius: 16px;
  padding: 22px 15px;
  text-align: center;

  display: flex;
  flex-direction: column;
  justify-content: center; /* vertically centers content */
  align-items: center;
  gap: 12px;

  height: 100%; /* KEY LINE */
  transition: 0.35s ease;
}

.intro-item i {
  font-size: 1.8rem;
  color: rgb(221 0 0 / 85%);
}

.intro-item span {
  font-weight: 600;
  font-size: 0.95rem;
  color: #222;
  line-height: 1.2;
}

.intro-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.25);
}
.intro-link {
  text-decoration: none;
  display: block;
}

.intro-link:focus-visible {
  outline: 3px solid rgb(221 0 0 / 60%);
  border-radius: 18px;
}



.service-body {
  padding: 100px 20px;
}

.service-body .serv-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 450px;
  margin-bottom: 80px;
  box-shadow: 1px 1px 15px rgba(0,0,0,0.15);
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
		
		
	opacity: 0;
	transform: translateY(30px);
transition:1.8s;
}
.service-body .serv-box.reverse {
  direction: rtl;
}

.service-body .serv-box.reverse > * {
  direction: ltr;
}
.service-body .serv-box.show{
		transform: translateY(0px);

	opacity: 1; 
}
.service-body .content-half {
  padding: 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.service-body .content-half h2 {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 15px;
}

.service-body .content-half p {
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 520px;
}

.service-body .serv-cta{
	padding: 10px;
	display: inline-flex;
	justify-content: center;
	background: rgb(177 54 54);
	color:white;
	border-radius: 20px;
	border: 2px solid white;
	width: max-content;
	transition:0.35s;
}


.service-body .serv-cta:hover{
	background: white; 
	border: 2px solid rgb(80, 133, 213);
	transform: scale(1.03);
	color:black;;
}

@media (max-width: 991px) {
  .service-intro {
    height: auto;
    padding: 80px 20px;
  }

  .service-intro-grid {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 40px;
  }
}

@media (max-width: 991px) {
  .service-body .serv-box {
    grid-template-columns: 1fr;
  }

  .service-body .img-half {
    min-height: 260px;
  }

  .service-body .content-half {
    padding: 40px 5px;
  }
		
.service-body {
    padding: 100px 5px;
}
}


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




/**/
/**/
/**/
/**/
.home-page-section-1 {
	padding: 50px 0 30px 0;
    background: rgb(255,255,255);
}
.home-page-section-1 h1 {
	/*font-family: font;*/
	font-size: 3rem;
    text-align: center;
	line-height: 40px;
	color: rgb(221 0 0 / 80%);
}
.home-page-section-1 h4 {
	text-align: center;
    font-size: 1.75rem;
}
.home-page-section-1 i {
	font-size: 60px;
	color: rgb(221 0 0 / 80%);
}
.home-page-section-1 span {
	color: rgb(87, 86, 87);
}
.parallax {
  background-image: linear-gradient(rgb(0,0,0,0.3), rgb(0,0,0,0.3)), url("/img/parallax.jpg");
  min-height: auto;
  background-attachment: fixed;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
}
.home-page-section-2 .container-fluid {
	padding: 125px 0 100px 0;
}
.home-page-section-2 p {
	color: rgb(255,255,255);
    font-size: 15px;
	text-shadow: 1px 1px 1px rgb(0,0,0);
}
.home-page-section-2 span {
	font-size: 20px;
	font-family: 'font';
	text-shadow: 1px 1px 1px rgb(0,0,0);
}
.home-page-section-2 h2 {
	font-size: 27px;
	color: #fff;
	font-weight: 600;
	text-align: center;
	text-shadow: 1px 1px 1px rgb(0,0,0);
}
.home-page-section-2 h3 {
	font-size: 21px;
	color: #fff;
	font-weight: 600;
text-transform: uppercase;
	text-shadow: 1px 1px 1px rgb(0,0,0);
}
.home-page-section-2 strong {
	font-size: 20px;
	text-shadow: 1px 1px 1px rgb(0,0,0);
}
.card {
	max-height: 100%;
	height: 100%;
	color: #fff;
	margin: 0 0 20px;
	border-radius: 1.8rem;
	padding: 10px 10px 0 10px;
	background: rgb(255,255,255);
	border: 6px double rgb(255,255,255);
	visibility: hidden;
}
.card h2 {
	/*font-family: font;*/
	font-size: 2rem;
	color: rgb(129,141,148);
	text-align: center;
}
.card span {
	font-size:1.2rem;
	font-weight:600;
	text-transform: none;
	color: rgba(255,255,255);
}
.card p {
	font-size: 17px;
	font-family: 'font2';
	font-weight:300;
	text-align: center;
	color: rgb(129,141,148);
}
.card hr {
    border-top: 4px solid rgb(221 0 0 / 80%);
    width: 80px;
    opacity: 1;
    padding-bottom: 25px;
    margin: auto;
}
.card .btn {
	font-size: 1.4em;
	text-transform: uppercase;
	background: transparent;
	text-shadow: 1px 1px 1px #444;rgb(126,181,77);
	font-weight: 600;
	position: absolute;
	bottom: 25px;
	border: none;
	padding: 0;
	margin: 0;
	color: rgb(255, 255, 255);
	display: flex;
	flex-direction: row;
	align-items: center;
}
.card .btn span {
	position:relative;
	color: rgb(255, 255, 255);
	text-shadow: 1px 1px 1px #444;rgb(126,181,77);
	left:4px;
	-webkit-transition: all .20s ease;
	-moz-transition: all .20s ease;
	-o-transition: all .20s ease;
	transition: all .20s ease;
}
.card h5 {
	text-align: center;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 1.2rem;
}
.card a.general-cta{
	opacity: 0;
	transform: translateY(20px);
	
	transition:0.5s; 
}


.card:hover .btn {
	background:transparent !important;
	color: rgb(255, 255, 255);
}
.card:hover span {
	left:12px;
}

.card:hover a.general-cta{
	transform: translateY(20px);

	opacity: 1; 
}
.home-page-section-3 {
	padding: 100px 0 100px 0;
    background: rgb(255,255,255);
}
.home-page-section-3 h1 {
	/*font-family: font;*/
	font-size:3rem;
    text-align: center;
	color: rgb(221 0 0 / 80%);
}


.home-page-section-3 h5 {
	font-size: 20px;
	font-weight: 200;
	text-align: center;
}
.home-page-section-3 li {
	color: rgb(129,141,148);
	font-size: 17px;
	font-family: 'font2';
}
.home-page-section-3 p {
	color: rgb(129,141,148);
	font-size: 17px;
	font-family: 'font2';
}
.home-page-section-3 strong {
	color: black;;
	font-size:1.5rem;
}
.home-page-section-3 img {
	border-radius: 0.6rem;
}
.home-referrals .testimonials {
	background: transparent;
	text-align: center;
}
.home-referrals .container {
	padding: 75px 0 75px 0;
}
.testinomials-1 h3 {
    color: rgb(255,255,255) !important;
    font-size: 24px !important;
    font-weight: 600 !important;
}
.testimonials img {
	width: 125px;
	border-radius: 100%;
}
.testinomials-1 h4 {
    color: rgb(255,255,255) !important;
    font-size: 17px !important;
    font-weight: 500 !important;
}
.testinomials-1 p {
    color: rgb(255,255,255) !important;
	font-style: italic;
	font-family:'font2';
    font-size: 18px !important;
    margin-top: 20px;
}
.testinomials-1 p i {
    margin-right: 10px !important;
	margin-left: 10px !important;
    color: rgb(255,255,255) !important;
	font-size: 30px !important;
}
.parallax {
    background-image: linear-gradient(rgb(0,0,0,0.6), rgb(0,0,0,0.6)), url("/img/plumber-2.jpg");
    min-height: auto;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 0 20px;
}
.home-contact {
	background: rgb(255,255,255);
    padding: 75px 0 75px 0;
}
.home-contact h3 {
    font-size: 3rem;
	/*font-family: 'font';*/
	font-weight: 700;
	text-align: center;
	padding-bottom: 40px;
    color: rgb(221 0 0 / 80%);
}
.home-contact span {
	color: rgb(101,140,160);
}
/**** About Section ****/ 
.about-page-section-1 {
	padding: 125px 0 75px 0;
	background: rgb(255,255,255);
}
.about-page-section-1 h1 {
	font-size: 3rem;
	text-align: center;
	padding-bottom: 40px;
	color: rgb(221 0 0 / 80%);
	font-weight: 700;
}
.about-page-section-1 p {
	font-size: 16px;
	text-align: justify;
	font-family: 'font2';
	color: rgb(129,141,148);
}
.about-page-section-1 li {
	font-size: 16px;
	font-family: 'font2';
	color: rgb(129,141,148);
}
.about-page-section-1 strong {
	color: rgb(221 0 0 / 80%);
	font-family: 'font2';
}
/**** Service Page Section ****/
.serv1 {
	padding: 100px 0 75px 0;
	background: rgb(255,255,255);
}
.serv1 h1 {
	font-family: 'font';
	color: rgb(221 0 0 / 80%);
	font-size: 3rem;
	padding-bottom: 40px;
	text-align: center;
}
.serv1 p {
	font-size: 16px;
	font-family: 'font2';
	color: rgb(129,141,148);
	text-align: justify;
}
.serv1 button {
	border-radius: 1.6rem;
	border: 1px solid rgb(255,255,255);
	background: rgb(221 0 0 / 80%);
	font-size: 14px;
}
.serv1 button:hover {
	background: rgb(221 0 0 / 80%);
}
.serv1 img {
	border-radius: 0.6rem;
}
.serv1 .modal-dialog {
	max-width: 1200px;
	top: 130px;
	margin: 1.75rem auto;
}
.serv2 {
	padding: 75px 0 75px 0;
	background: rgb(249,249,249);
}
.serv2 h1 {
	font-family: 'font';
	color: rgb(221 0 0 / 80%);
	font-size: 3rem;
	padding-bottom: 40px;
	text-align: center;
}
.serv2 p {
	font-size: 16px;
	font-family: 'font2';
	color: rgb(129,141,148);
	text-align: justify;
}
.serv2 button {
	border-radius: 1.6rem;
	border: 1px solid rgb(255,255,255);
	background: rgb(221 0 0 / 80%);
	font-size: 14px;
}
.serv2 button:hover {
	background: rgb(221 0 0 / 80%);
}
.serv2 img {
	border-radius: 0.6rem;
}
.serv2 .modal-dialog {
	max-width: 1200px;
	top: 130px;
	margin: 1.75rem auto;
}
.serv3 {
	padding: 75px 0 75px 0;
	background: rgb(255,255,255);
}
.serv3 h1 {
	font-family: 'font';
	color: rgb(221 0 0 / 80%);
	font-size: 3rem;
	padding-bottom: 40px;
	text-align: center;
}
.serv3 p {
	font-size: 16px;
	font-family: 'font2';
	color: rgb(129,141,148);
	text-align: justify;
}
.serv3 button {
	border-radius: 1.6rem;
	border: 1px solid rgb(255,255,255);
	background: rgb(221 0 0 / 80%);
	font-size: 14px;
}
.serv3 button:hover {
	background: rgb(221 0 0 / 80%);
}
.serv3 img {
	border-radius: 0.6rem;
}
.serv3 .modal-dialog {
	max-width: 1200px;
	top: 130px;
	margin: 1.75rem auto;
}
.serv4 {
	padding: 75px 0 75px 0;
	background: rgb(249,249,249);
}
.serv4 h1 {
	font-family: 'font';
	color: rgb(221 0 0 / 80%);
	font-size: 3rem;
	padding-bottom: 40px;
	text-align: center;
}
.serv4 p {
	font-size: 16px;
	font-family: 'font2';
	color: rgb(129,141,148);
	text-align: justify;
}
.serv4 button {
	border-radius: 1.6rem;
	border: 1px solid rgb(255,255,255);
	background: rgb(221 0 0 / 80%);
	font-size: 14px;
}
.serv4 button:hover {
	background: rgb(221 0 0 / 80%);
}
.serv4 img {
	border-radius: 0.6rem;
}
.serv4 .modal-dialog {
	max-width: 1200px;
	top: 130px;
	margin: 1.75rem auto;
}
.serv5 {
	padding: 100px 0 100px 0;
	background: rgb(245,245,245);
}
.serv5 h1 {
	/*font-family: 'font';*/
	font-weight: 700;

	color: rgb(221 0 0 / 80%);
	font-size: 3rem;
	padding-bottom: 40px;
	text-align: center;
}
.serv5 p {
	font-size: 16px;
	font-family: 'font2';
	color: rgb(129,141,148);
	text-align: justify;
}
.serv5 button {
	border-radius: 1.6rem;
	border: 1px solid rgb(255,255,255);
	background: rgb(221 0 0 / 80%);
	font-size: 14px;
}
.serv5 button:hover {
	background:rgb(221 0 0 / 80%);
}
.serv5 img {
	border-radius: 0.6rem;
}
.serv6 {
	padding: 100px 0 100px 0;
	background: rgb(245,245,245);
}
.serv6 h1 {
	font-family: 'font';
	color: rgb(221 0 0 / 80%);
	font-size: 3rem;
	padding-bottom: 40px;
	text-align: center;
}
.serv6 p {
	font-size: 16px;
	padding-top: 20px;
	font-family: 'font2';
	color: rgb(129,141,148);
	text-align: justify;
}
.serv6 i {
	font-size: 20px;
	color: rgb(255,255,255);
}
.serv6 button {
	border-radius: 1.6rem;
	border: 1px solid rgb(255,255,255);
	background: rgb(221 0 0 / 80%);
	font-size: 14px;
}
.serv6 button:hover {
	background: rgb(221 0 0 / 80%);
}
.serv6 img {
	border-radius: 0.6rem;
}
.serv6 .box{
    box-shadow: 1px 1px 8px white;
    width: auto;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 1px 1px 8px #ddd;
}
.serv6 span{
    transition: 200ms;
    font-weight: 600;
    font-size: 18px;
}
.serv6 .bg-dark {
    background-color: rgb(38,38,38)!important;
}
.serv6 .bg-dark:hover {
    background-color: rgb(221 0 0 / 80%) !important;
}
.serv6 .content{
    overflow: hidden;
    max-height: 0px;
    transition: 300ms ease-in;
}
.serv6 .content_2{
    overflow: hidden;
    max-height: 0px;
    transition: 300ms ease-in;
}
.serv6 .content_3{
    overflow: hidden;
    max-height: 0px;
    transition: 300ms ease-in;
}
.serv6 .content_4{
    overflow: hidden;
    max-height: 0px;
    transition: 300ms ease-in;
}
.serv6 .content_5{
    overflow: hidden;
    max-height: 0px;
    transition: 300ms ease-in;
}
.serv6 .content_6{
    overflow: hidden;
    max-height: 0px;
    transition: 300ms ease-in;
}
.serv6 .header{
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.serv6 .header_2{
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
.serv6 .header_3{
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
.serv6 .header_4{
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
.serv6 .header_5{
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
.serv6 .header_6{
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
/* Gallery Page Start */
.gallery-page {
	padding: 75px 0 50px 0;
	background: rgb(249,249,249);
}
.gallery-page h1 {
	font-size: 3rem;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
	color: rgb(101,140,160);
}
/* Gallery Page End */
/* Reviews Page Start */
.referrals-page-section-1 {
	background: rgb(255,255,255);
	padding: 125px 0 50px 0;
}
.referrals-page-section-1 h1 {
	color: rgb(221 0 0 / 80%);
	font-size: 3rem;
	text-align: center;
	/*font-family: 'font';*/
		font-weight: 700;

}
.referrals-page-section-1 p {
	color: rgb(129,141,148);
	font-size: 17px;
	font-family: 'font2';
	text-align: center;
}
.referrals-page-section-1 span {
	font-weight: 600 !important;
	text-transform: uppercase;
	color: rgb(221 0 0 / 80%);
}
.review-gallery {
	padding: 75px 0 75px 0;
	background: rgb(38,38,38);
}
.review-gallery h2{
	color: rgb(221 0 0 / 80%);
	font-size: 3rem;
	padding-bottom: 40px;
	text-align: center;
	font-family: 'font';
}
/*Reviews Page End */
.contact-page-1 {
	background: rgb(255,255,255);
	padding: 88px 0 88px 0;
}
.contact-page-1 h1 {
	/*font-family: 'font';*/
	font-weight: 700;

    font-size: 3rem;
    color:rgb(221 0 0 / 80%);
	text-align: center;
}
.contact-page-1 p {
	color: rgb(129,141,148);
	font-size: 17px;
	padding-bottom: 40px;
	text-align: center;
}
.contact-page-1 iframe{
	height: 550px;
	
	border-radius: 20px; 
}
/******************************************** DAVIDS MOBILE CODE END *************************************************/

.view-gallery-btn {
	position:relative;
	display: inline-block;
	background: #b34141;
	padding: 5px 30px;
	color: #fff;
	font-weight: 600;
}

#login-page .btn-primary.disabled, .btn-primary:disabled {
	background-color:#1f1f1f;
}

#login-page .about-header-section {
    text-align: center;
    padding: 0;
    background: linear-gradient(to bottom, rgba(19, 19, 19, 0.81), rgba(4, 4, 4, 0.81)), url(../img/backgrounds/service-page-two-header-bg.jpg) center center no-repeat;
    background-size: cover;
    position: relative;
}
#login-page .about-header-section {
	height:100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}
#login-page .about-header-section form {
	background:#fff;
	padding: 30px;
	margin:auto;
	text-align: left;
	box-shadow: 0px 0px 20px 1px #000;
}

#login-page #form-login {
	padding:30px 0 50px;
}
#login-page #form-login .btn {
	width:100%;
	margin: 0 0 15px;
	box-shadow: none;
}
#login-page #form-login .btn-secondary {
	padding:0;
	text-align:inherit;
	color: inherit;
	background-color: transparent;
	width:inherit;
	border:none;
}
#login-page #form-login .btn-secondary:hover {
	background-color:transparent !important;
	color:#585858;
}
#login-page .btn-primary {
	border:none;
	color:#fff;
	background-color:#252525;
}

#login-page input {
	padding:6px 10px;
	margin: 0 0 15px;
	width: 100%;
}
body#login-page {
	visibility:visible;
}
#login-page .login-form-container {
	position: relative;
	overflow: hidden;
	padding: 0;
	/* height: inherit; */
}
#login-page #form-login {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.logout-btn {
	position:relative;
	display:inline-block;
	color:#fff;
	font-weight: 700;
	padding:6px 30px;
	background: #b34141;
}
#image-uploads .upload-container {
	padding: 50px 0 !important;
}
#image-uploads .form-control {
	margin-left:10px;
}


/*******************  Page Loader *************************/

/* This only works with JavaScript, 
if it's not present, don't show loader */
.no-js #loader { display: none;  }
.js #loader { display: block; position: absolute; left: 100px; top: 0; z-index:99999; }
.se-pre-con {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 99999;
	background: url(/images/loader-64x/Preloader_2.gif) center no-repeat #fff;
}



/*******************  Referrals Owl Carousel *************************/
.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;
}


/*******************  Home Page Service Cards *************************/
#referrals .referrals-section {
    background: #0a0a0a;
    color: #a5a5a5;
}

#referrals .card .btn {
	position:inherit;
	width: 100%;
	text-align: left;
	margin: 0;
	display: block;
	padding: 16px 20px;
}
#referrals .card {
    position: relative;
    max-height: 100%;
    height: 100%;
    margin:inherit;
    padding: inherit;
    background: transparent;
}
#referrals .card-header {
	padding: 0;
}
.home-service-section {
	overflow: hidden;
}
#home .inner-content-section {
	background: linear-gradient(to left, rgb(255, 255, 255) 50%, rgba(27, 27, 27, 0)), url(../img/home-image-1.jpg) 0 no-repeat;
	padding: 2em 0 3em !important;
	overflow: hidden;
	background-size: inherit;
}
.pre-footer-section {
	padding:0 !important;
	overflow:;
}
.pre-footer-section div[class*='col-']:last-child {
	background: url(/img/home-image-2.jpg) bottom no-repeat;
	background-size:cover;
}
.pre-footer-section .hours {
	display:flex;
	color: #fff;
	flex-direction:column;
	justify-content:center;
	padding:120px;
	background: #1d1d1d;
}
.pre-footer-section div[class*='col-']:last-child {
	padding:165px;
}
.pre-footer-section .hours p {
	display:flex;
	padding:0 200px 0 0;
	flex-direction:row;
	justify-content:space-between;
}
.pre-footer-section a {
	/* background:#252525; */
	margin: 40px 0 0;
	color:#fff;
	font-size: 20px;
	font-weight:700;
}
.pre-footer-section a:hover {
	color:#8a8a8a;
}

/*******************  Linearicons *************************/
.lnr {
  display: inline-block;
  fill: currentColor;
  width: 1em;
  height: 1em;
  vertical-align: -0.2em;
  cursor: pointer;
}

.lnr-chevron-right {
  color: #232323;
  /* We can use "color" for setting the color
  of the SVG because we set its "fill" to
  "currentColor" */
  font-size: 22px;
  /* We can use "font-size" for changing the size
  of the SVG because its width and height were
  set 1em.
  To get crisp results, use sizes that are
  a multiple of 20; because Linearicons was
  designed on a 20 by 20 grid. */
}

.lnr-star {
	font-size:25px !important;
	position:relative;
	top: -12px;
}

/* ========================================================== */
/* 			            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;
}
#image-uploads .badge {
	font-size:1.2em;
}
#image-uploads form {
	display:flex;
	justify-content:space-between;
}
#image-uploads #upload-preview .btn {
	background-color:#d84a4a;
	color:#fff;
}
#image-uploads .btn {
	padding:6px 20px;
	margin:0 10px;
	outline: none !important;
	background-color: transparent;
	border-color: #929292;
	/* color: #333; */
	border-radius: 0;
}
#image-uploads .btn:hover {
	background-color:#2d2d2d;
	color:#fff;
}

#image-uploads .btn-primary.disabled,
#image-uploads .btn-primary.disabled span,
.btn-primary:disabled,
.btn-primary:disabled span {
	color:#fff;
	border: none;
	cursor: not-allowed;
}
.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;
}
.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;
}

.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;
}


/********* Set Timeout Function FadeDiv Styling **********/
.fadeDiv {
	position:fixed;
	display: inline-block;
	/* width:100%; */
	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;
	/* background:red; */
	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%;
	padding-top: 1em;
	display: flex;
	justify-content: center;
	align-items: center;
	/* padding-right: 40px; */
}

.overlay {
	height: 100%;
	width: 100%;
	background: #ffffffbf;
}

#myBtn {
    display: block; /* Hidden by default */
    width: 50px;
    height: 50px;
    position: fixed; /* Fixed/sticky position */
    top:100%; /* Place the button at the bottom of the page */
    right: 30px; /* Place the button 30px from the right */
    z-index: 99; /* Make sure it does not overlap */
    border: none; /* Remove borders */
    outline: none; /* Remove outline */
    background-color: #000000; /* Set a background color */
    color: #ffffff;
    cursor: pointer; /* Add a mouse pointer on hover */
    font-size: 14px;
    padding-top: 0; /* Some padding */
    border-radius: 0px; /* Rounded corners */
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    transition: all .3s ease;
}
#myBtn i {
	color: white;
}
#myBtn:hover {
    background-color: #424242; /* Add a dark-grey background on hover */
    color:#fff;
}

/* ========================================================== */
/* 			            Custom Navbar	                      */
/* ========================================================== */

.top-header-animate {
	background: rgb(255,255,255);
}
.top-header-animate .dropdown-toggle {
	color:#0a0a0a;
	font-size: 16px;
}
.top-header-animate .navbar-brand {
	font-size: 1.5em;
}
.top-header-animate a,
.top-header-animate a,
.top-header-animate i,
.top-header-animate {
	
}
.header-animate {
	/*padding: 78px 0 0 !important;*/
}
.header-animate a {
	color:rgba(255,255,255) !important;
	font-size: 18px !important;
}
.header-animate a:before {
	background:#222 !important;
}
.body-wrapper {
	position:relative;
	height:100%;
	width:100%;
	background: white;
	top: 0;
	left: 0;
	-webkit-transition-property: all;
	-webkit-transition-duration: .20s;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-property: all;
	transition-duration: .20s;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.body-wrapper-animate {
	margin-left:-400px;
	-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;
}
.sidebar-flyout {
    position: fixed;
    background: linear-gradient(rgb(25, 25, 25), rgba(0, 0, 0, 0.95)), url(/img/backgrounds/adjusting-lawn-sprinkler.jpg) -30em 0 no-repeat !important;
    background-size: cover;
    z-index: 4;
    height: 100%;
    width: 400px;
    top: 0;
    right: 0;
    margin-right: -400px;
    background: #101010;
    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;
}
.sidebar-flyout ul li a .block-overlay {
	opacity:1;
	-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;
	display: none;
}
.sidebar-flyout ul li a:hover .block-overlay {
	opacity:0;
}
.sidebar-flyout h2 {
	position: relative;
	color: white;
	line-height: 32px;
	font-size: 1.5em;
}
.sidebar-flyout h3 {
	font-size:1.5em;
	margin-left: 50px;
	margin-top: 1em;
	text-transform:uppercase;
	color: #e6e6e6;
}
.sidebar-flyout h3 img {
	width:8%;
}
.sidebar-flyout ul {
	list-style:none;
	color: #ffffff;
	margin: 30px 0 0;
	padding: 0 0 30px;
	overflow-y: scroll;
	position: relative;
	height: 100vh;
}
.sidebar-flyout ul::-webkit-scrollbar {
	width: 0 !important;
}
.sidebar-flyout ul li a {
	display: block;
	padding: 10px 50px;
	position: relative;
	align-items:center;
	height:100%;
	width:inherit;
	text-decoration: none;
}
.sidebar-flyout ul li a img {
    max-width: 100%;
    height: auto;
    width: 100%;
}
.sidebar-flyout-animate {
	margin-right: 0;
}
.sidebar-flyout .lnr {
	color: white;
	font-size: 1em;
}
.sidebar-flyout .services-button {
	position:absolute;
	padding: 0;
	margin: 0;
	top: 18px;
	right: 20px;
}
.sidebar-flyout ul li a {
	color: #e6e6e6;
	font-weight: 400;
}



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;
}
body#image-upload-page {
	visibility:visible;
}

.navbar-scroll {
	padding: 85px 0 0;
	position: fixed;
	background: /*rgb(80, 133, 213)*/ rgb(177 54 54);
	width: 100%;
	z-index: 4;
	-webkit-transition: all .30s ease;
	-moz-transition: all .30s ease;
	-o-transition: all .30s ease;
	transition: all .30s ease;
}
.navbar-scroll .container {
	background: rgb(60,36,17,0);
	border-bottom-left-radius: 1.5rem;
	border-bottom-right-radius: 1.5rem;
}



.navbar-scroll .header-nav{
    background: rgb(177 54 54);
    padding: 5px 40px;
    border-bottom-left-radius: 1.5rem;
    border-bottom-right-radius: 1.5rem;
    text-align: center;
}
.navbar-scroll .header-nav a.menu-link {
    margin: 0 21px;
    padding: 6px 0px;
    font-weight: 600;
    font-size: 1.25rem;
    color: rgb(255,255,255);
    font-family: 'Montserrat';
}
.navbar-scroll .header-nav a.menu-link:hover {
		color:black;
}
.navbar-scroll .header-nav .filler{
	
 
		padding: 15px 0;
		transition:0.3s;
		height:100%;
}

 
 
#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 21px;
  padding: 6px 0px;
  font-weight: 600;
  font-size: 1.25rem;
  color: rgb(255,255,255);
    font-family: 'Montserrat';
}
.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: rgb(255,255,255);
}
.navbar-light .navbar-nav li a {
	position:relative;
}
.navbar-collapse {
	height:100%;
}
.mobile-top-header {
	display:none !important;
}

/* ========================================================== */
/* 			            GALLERY / PROJECTS                    */
/* ========================================================== */

.projects .about-header-section h1 {
	display:inline-flex;
	justify-content:center;
	align-items:center;
}
.projects .about-header-section .header-logout-btn {
	font-size:22px;
	display:block;
	margin-left:20px;
	color:#ca3535;
}

#delete-msg {
	position:relative;
	text-align:center;
	margin:0 0 2em;
}
#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;
}
.projects-section {
	position:relative;
	overflow:hidden;
}
#project-1 .projects-section img {
	transform:scale(1.08,1.08)
}
.projects-section .mosaic-row {
	position: absolute;
    width: 100%;
    height: auto;
    top: 0;
}
.projects-section .mosaic-row div[class*='col-'] {
	position: absolute;
    top: 0;
    right: 0;
}
.projects-section a img {
	transform: scale(1.06,1.06);
	-webkit-transition: all .30s ease;
	-moz-transition: all .30s ease;
	-o-transition: all .30s ease;
	transition: all .30s ease;
}
.projects-section a:hover img {
	transform:scale(1.3,1.3);
}
.projects-section a .block-overlay {
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:#08080891;
	opacity:0;
	z-index:1;
	-webkit-transition: all .30s ease;
	-moz-transition: all .30s ease;
	-o-transition: all .30s ease;
	transition: all .30s ease;
}
.projects-section a .block-overlay p {
	color:#f18907;
	font-size:1.3em;
	font-weight:100;
}
.projects-section a:hover .block-overlay {
	background-color:rgba(247, 247, 247, 0.97);
	opacity:1;
}
.projects-section div[class*='col-'] {
	padding:0;
	position: relative;
	overflow: hidden;
}
.gallery-a {
    padding: 6% 0%;
    text-align: center;
    background: white;
}
#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;
}
.project-upload #portfolio li:before {
	position:absolute;
	content:'Delete Image';
	/* width:100%; */
	/* height:50px; */
	display:inline-block;
	/* top:0; */
	color: #fff;
	z-index:3;
	font-size: 2em;
}
#portfolio li a img {
	display:block;
   position: absolute;
   top: -9999px;
   bottom: -9999px;
   left: -9999px;
   right: -9999px;
   margin: auto;
   width: 100%;
   height: 100%;
   transform:scale(1,1);
}
.project-upload #portfolio li:hover .block-overlay {
	background-color:#000000cc;
}
#portfolio li:hover .block-overlay {
	background-color:#000000cc;
}
#portfolio li:hover input {
	left: 0;
}
#portfolio .block-overlay {
	background: #13131333;
	z-index: 1;
	-webkit-transition: all .30s ease;
	-moz-transition: all .30s ease;
	-o-transition: all .30s ease;
	transition: all .30s ease;
}

/* ========================== Gallery ZoomIn Effect ================================ */

.mfp-ready .mfp-figure {
  opacity: 0;
  margin-left:-100px;
}

.mfp-zoom-in {
  /* start state */
  /* animate in */
  /* animate out */
}
.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 PAGE                          */
/* ========================================================== */
.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;
}

.bottom-section .pic1 {
    background-image: url("/img/backgrounds/acunit2.jpg");
    background-size: cover;
    background-position: 0% 82%;
    text-align: center;
}
/* ========================================================== */
/* 			           FOOTER		                          */
/* ========================================================== */

.footer-section .vms-link-wrapper img {
	width: 50%;
}
.footer-section .vms-link-wrapper a {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.footer-section {
	padding: 0 0 10px;
	background: rgb(38,38,38);
	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: 1.82rem;
	font-family: 'font2';
	font-weight: 600;
	text-decoration: underline;
	color: rgb(255, 255, 255);
}
.service-cities .hours{
	font-size: 1.5rem;
}

.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 #444;
	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;
}



/* ======================================== */
/* === Laptop CSS Section ================= */
/* ======================================== */
@media screen and (max-width : 1520px) {
	/*** Don't place anything here, unless absolutely necessary ***/
	
	
	
.logo-header img {
    width: 120px;
}

.home-services .stage .stage-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

}

/* ======================================== */
/* === Tablet CSS Section ================= */
/* ======================================== */
@media screen and (max-width: 1024px) {
	
}

/* ======================================== */
/* === Mobile CSS Section ================= */
/* ======================================== */
@media screen and (max-width: 991px) {
	
.top-header img{
	max-width: 150px; 
}


.home-intro {
	padding: 75px 0px 75px 0px; background: linear-gradient(to right, #00000099, #00000070), url(/img/home-slide-1.jpg);
    background-size: cover;      
    background-repeat: no-repeat; background-attachment: fixed;
		background-position: 50% 50%; text-align: center;
}
.retractable-bg{
	background: linear-gradient(to right, #ffffff00, #ffffff00), url(/img/services/retractable-bg.jpg);
}
.home-intro .intro-content {
	padding: 50px 10px; background: transparent; border-radius: 10px; height: 100%;
}

.home-intro .intro-legend {
	padding: 50px 10px; background: #8d182ad1; color: #fff; border-radius: 5px;
}

.home-intro h1 {
	font-family: inherit; font-size: 1.25rem; letter-spacing: 1px; text-shadow: 1px 1px 1px black;  color:white; 
}

.home-intro h1 span {
	font-size: 2rem; color:white; ; font-weight: 600;
}

.home-intro h4 {
	font-family: font3; font-size: 25px; letter-spacing: 1px; color: #fff; padding: 20px 0px 20px 0px;
}

.home-intro  p {
	font-family: font2; font-size: 17px; line-height: 35px;
}

.home-intro .contact-cta{
    background: rgb(80, 133, 213);
    padding: 10px 25px !important;
    text-shadow: none;
    color: rgb(255,255,255);
    font-weight: 600;
    font-family: 'font2';
    border-radius: 2.5rem;
    font-size: 18px;
}
.home-intro .contact-cta:hover{
    background: white;
 
    color: rgb(80, 133, 213);;
}


  .home-services {
    padding: 60px 20px;
  }

  .home-services .stage {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }

  .home-services strong.title {
    font-size: 2rem;
  }

  .service.service-main {
    width: 100%;
    height: 360px;
    max-width: 100%;
  }

  .home-services .stage .stage-grid {
    display: flex;
    flex-direction: column;
    gap: 25px;
    align-items: center;
  }

  .service {
    width: 100%;
    height: 260px;
  }

.home-page-section-1 {
	padding: 30px 0 30px 0;
	background: white;
}
.home-page-section-1 h1 {
	color: rgba(101,140,160);
	text-shadow: 2px 2px 10px #fff;
	font-size: 2rem;
	line-height: 40px;
	font-family: 'font';
}
.card {
    max-height: 100%;
    color: #fff;
    top: 0px;
    position: relative;
    max-height: 100%;
    margin: 0 0 20px;
    border-radius: 1.5rem;
    padding: 18px 10px;
    background: rgba(255,255,255);
    border: 4px solid rgb(101,140,160);
    visibility: hidden;
    height: 100%;
		display:flex; justify-content: center; align-items: center; flex-direction:column;
}
.card h2 {
	font-size:1.5rem;
	font-family: 'font';
	color: rgb(101,140,160);
}
.card span {
	font-size:1.5rem;
	font-weight:600;
	line-height: 20px;
	text-transform: none;
	color: rgba(12,12,12);
}
.card p {
	top: 5px;
	font-size:14px;
	font-weight:400;
	color: rgb(12,12,12);
}
.card .btn {
	font-size: 1rem;
	text-transform: uppercase;
	background: transparent;
	font-weight: 600;
	position: absolute;
	bottom: 15px;
	border: none;
	padding: 0;
	margin: 0;
	color: rgb(135,170,188);
	display: flex;
	flex-direction: row;
	align-items: center;
}
.card .btn span {
	position:relative;
	color: rgb(135,170,188);
	left:4px;
	-webkit-transition: all .20s ease;
	-moz-transition: all .20s ease;
	-o-transition: all .20s ease;
	transition: all .20s ease;
}
.card:hover .btn {
	background:transparent !important;
	color: rgb(167, 197, 212);
}
.card:hover span {
	left:12px;
}
.home-page-section-2 {
	background: rgb(86,87,86);
	padding: 30px 0 30px 0 !important;
}
.home-page-section-2 h2 {
	font-size: 1.5rem;
	color: rgba(135,170,188);
	font-family: 'font';
}
.home-page-section-2 p {
	font-size: 14px;
	color: rgb(255,255,255);
	line-height: 25px;
}
.btn-primary {
    color: rgb(255, 255, 255);
    background-color: rgb(135,170,188);
	font-size: 14px;
    border-color: rgb(150,150,150);
}
.btn-primary:hover {
    color: rgb(255, 255, 255);
    background-color: rgb(167, 197, 212);
    border-color: rgb(150,150,150);
}
.home-page-section-3 {
	padding: 75px 0 75px 0;
    background: rgb(255,255,255);
}
.home-page-section-3 h1 {
	font-family: font;
	font-size: 2rem;
    text-align: center;
	text-transform: uppercase;
	color:rgb(246,177,24);
	line-height: 40px;
    font-weight: 600;
}

.home-page-section-3 h2 {
	font-family: font;
	font-size: 2rem;
    text-align: center;
	text-transform: uppercase;
	color:rgb(246,177,24);
	line-height: 40px;
    font-weight: 600;
}

.home-page-section-3 h5 {
	font-size: 20px;
	font-weight: 200;
	text-align: center;
}
.home-page-section-3 span {
	color: rgb(135,170,188);
}
.home-page-section-3 img {
	border-radius: 0.6rem;
}
blockquote {
font-size: 0.9rem;
text-align: center;
line-height: 20px;
text-shadow: 0px 0px 10px rgb(46,66,91);
color: rgba(255,255,255);
font-weight: 600;
}
cite {
display: block;
text-align: center;
font-family: Verdana, Arial, sans-serif;
margin-top: 1rem;
font-size: 16px;
color: #FFFFFF;
font-style: normal;
}
blockquote q {
font-family: Georgia, serif;
font-style: italic;
letter-spacing: .1rem;
}
blockquote q span { 
will-change: opacity, filter;
opacity: 0;
filter: blur(0px);
}
q {
quotes: "“" "”" "‘" "’";
}
q:before {
content: open-quote;
margin-right: .8rem;
display: none;
}
q:after {
content: close-quote;
}
q:before, q:after {
color: rgb(101,140,160);
font-size: 4rem;
}
.home-page-section-4 div[class*='col-'] {
padding:0;
position: relative;
overflow: hidden;
}
.home-quote-2 {
	padding: 75px 0 75px 0;
	background: rgb(86,87,86)
}
.home-quote-2 h1 {
	text-align: center;
	font-weight: 600;
	text-transform: uppercase;
	color: rgb(255,255,255);
	font-size: 26px;
}
.home-contact {
	background: rgb(249,249,249);
    padding: 75px 0 75px 0;
}
.home-contact h3:before {
  display: inline-block;
  content: "";
  height: 8px;
  background: rgb(230,230,230);
  position: absolute;
  width: 12%;
  top: 50%;
  margin-top: -4px;
  margin-left: -54px;
}
.home-contact h3 {
	text-align: center;
    font-size: 1.7rem;
    font-weight: 600;
    color: rgb(0,0,0);
    position: relative;
    overflow: hidden;
	text-transform: uppercase;
}
.home-contact span {
	color: rgb(101,140,160);
}

.home-contact h3:after {
  display: inline-block;
  content: "";
  height: 8px;
  background: rgb(230,230,230);
  position: absolute;
  width: 100%;
  top: 50%;
  margin-top: -4px;
  margin-left: 10px;
}
.flat-contact-section {
	padding: 75px 0 100px 0;
	background: linear-gradient(30deg, rgb(135, 170, 188), rgb(167, 197, 212), rgb(135, 170, 188));
	border-top: 5px solid rgb(101,140,160);
	border-bottom: 5px solid rgb(101,140,160);
}
.flat-contact-section h3 {
	font-size: 1.5rem;
	text-align: center;
	color: rgb(255,255,255);
}
.about-page-section-1 {
	padding: 30px 0 30px 0;
	background: rgb(255,255,255);
}
.about-page-section-1 h1 {
	font-size: 1.5rem;
	color: rgb(221 0 0 / 80%);
}
.about-page-section-1 h3 {
	font-size: 1.5rem;
	color: rgba(135,170,188);
	text-align: center;
}
.about-page-section-1 p {
	font-size: 14px;
	color: rgba(12,12,12);
}
.about-page-section-1 span {
	color: rgba(135,170,188);
	font-weight: 600;
	font-size: 1.5rem;
	text-transform: uppercase;
}
.about-page-section-2 {
	background: rgb(38,38,38);
	padding: 30px 0 30px 0;
}
.about-page-section-2 h5 {
	color: rgb(255,255,255);
	text-transform: uppercase;
	font-size: 20px;
	font-weight: 568;
}
.about-page-section-2 a {
	background: rgb(255,255,255);
	color: rgb(0,0,0);
	padding: 6px 13px 6px 13px;
}
/**** Service Page Section ****/
.serv1 {
	padding: 50px 0 50px 0;
	background: rgb(249,249,249);
}
.serv1 h1 {
	text-transform: uppercase;
	font-weight: 600;
	color: rgb(0,0,0);
	font-size: 2rem;
	text-align: center;
}
.serv1 h4 {
	text-align: center;
	font-weight: 600;
	color: rgb(0,0,0);
	font-size: 17px;
	text-transform: uppercase;
}
.serv1 h5 {
	text-align: left;
	font-weight: 500;
	color: rgb(0,0,0);
	font-size: 17px;
}
.serv1 span {
	color: rgb(0,0,0);
}
.serv1 p {
	font-size: 17px;
	color: rgb(0,0,0);
	text-align: center;
}
.serv1 strong {
	font-size: 30px;
	color: rgb(93,179,83);
	text-shadow: 1px 1px 1px #000;
}
.serv2 {
	background: rgb(38,38,38);
	padding: 50px 0 50px 0;
}
.serv2 h1 {
	font-weight: 600;
	text-transform: uppercase;
	color: rgb(255,255,255);
	font-size: 2rem;
	text-align: center;
}
.serv2 h4 {
	text-align: center;
	font-weight: 600;
	color: rgb(255,255,255);
	font-size: 17px;
	text-transform: uppercase;
}
.serv2 h5 {
	text-align: left;
	font-weight: 500;
	color: rgb(255,255,255);
	font-size: 17px;
}
.serv2 p {
	color: rgb(255,255,255);
	text-align: center;
}
.serv2 strong {
	font-size: 30px;
	color: rgb(93,179,83);
	text-shadow: 1px 1px 1px #000;
}




.service-intro h1 {
    font-weight: 600;
    font-size: 2rem;
    text-align: center;
}




.gallery-section-divider {
	overflow:hidden;
	position: relative;
	background: rgb(255, 255, 255);
	padding: 75px 0px 65px 0px;
}
.gallery-section-divider h1 {
	position: relative;
	padding:40px 0 20px;
	/* display: flex; */
	/* flex-direction: row; */
	/* justify-content: space-around; */
}
.gallery-page {
	padding: 30px 0 30px 0;
}
.gallery-page h1 {
	color: rgb(0,0,0);
	font-size: 2rem;
	font-family: 'font';
}
.gallery-page span {
	color: rgb(135,170,188);
	font-size: 2rem;
}
.about-page-section-4 {
	background: rgb(38,38,38);
	padding: 75px 0 50px 0;
}
.about-page-section-4 h1 {
	font-weight: 600;
	text-transform: uppercase;
	color: rgb(255,255,255);
	font-size: 3rem;
	text-align: center;
}
.about-page-section-4 p {
	color: rgb(255,255,255);
	text-align: center;
}
.about-page-section-4 span {
	font-weight: 600 !important;
	text-transform: uppercase;
	color: rgb(255,255,255);
}
.contact-page-3 {
	background: rgb(249,249,249);
	padding: 50px 0 50px 0;
}
.contact-page-3 h2 {
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	padding-top: 25px;
	text-align: center;
}
.contact-page-3 h3 {
    font-size: 2rem;
    font-weight: 600;
    color: rgb(0,0,0);
	text-align: center;
    position: relative;
    overflow: hidden;
	text-transform: uppercase;
}
.contact-page-3 span {
	color: rgb(135,170,188);
}
.contact-page-3 a {
	color: rgb(222, 67, 67);
	font-weight: 700;
	font-size: 17px;
}
.contact-page-3 img {
	max-width: 100px;
}
.contact-page-3 p {
	color: rgb(15,15,15);
	font-size: 14px;
	padding-top: 20px;
	margin: 8px 20px 0 20px;
	text-align: center;
}
.mobile-top-header {
	display:block !important;
	padding: 0 30px 0;
	background: rgb(135,170,188);
	z-index: 4;
	overflow:visible;
}
.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);
}
.btn {
    background: rgb(249,78,1);
    width: 50%;
    padding: 10px 0px;
    color: #ffffff;
    cursor: pointer;
    outline: none;
    border: none;
}
.footer-section {
    padding-top: 30px;
    /* background: #1f1f1f; */
    /* color: white; */
    text-align: center;
}
.footer-section img {
	max-width: 210px;
	padding-bottom: 25px;
}
.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);
}
/** Second Footer **/
.service-cities .footer-title .midcities {
	text-align: center;
}
.service-cities .footer-title .rightcities {
	text-align: center;
}
/** Second Footer **/
/************************* NEW CELL PHONE TEMPLATE DISPLAY STYLING 2020 END ***********************************/

.service-content-section {
    padding: 0 !important;
}

.service-content-section p {
    padding: 0;
    margin: 0;
    background: #fff;
}
.service-content-section div[class*='col-'] {
	padding: 30px 30px;
}

.contact-content-section div[class*='col-']:last-child {
	padding-top:40px;
}

.about-info-section div[class*='col-']:first-child {
    border-right:none;
    border-bottom: 1px solid #b5b5b5;
}
	
.about-header-section {
    background: linear-gradient(to bottom, rgba(2, 2, 2, 0.76), rgba(4, 4, 4, 0.2)), url(../img/slider/slider-bg-2.jpg) bottom left no-repeat;
}

.pre-footer-section .hours {
    padding:50px 20px;
}
.pre-footer-section .hours h1 {
	font-size:34px;
}
.pre-footer-section .hours p {
    padding: 0;
}

.section-divider {
	padding: 40px 10px;
}

.home-service-section {
    padding-bottom: 0 !important;
    background-position: bottom right;
}



.bottom-footer div[class*='col-']:nth-child(3) {
	justify-content:center;
}

.lnr-star {
    font-size: 15px !important;
    position: relative;
    top: -6px;
}

.projects-section .row {
    height: inherit;
}

.projects-section div[class*='col-'] {
    padding: 0;
    position: relative;
}
	


.top-header {
	background: white;
	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;
}

.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;
}
.mobile-menu {
    text-align: center;
    position: fixed;
    height: 100%;
    width: 100%;
    display: block;
    padding-top: 6em;
    /* justify-content: center; */
    /* align-items: center; */
    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;
}

#home .show-form {
	background: white;
	position:relative;
	top:2em;
	left:0;
	opacity: 0;
}

#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;
}
.alert-dismissible .close {
    position: absolute;
    top: 0;
    right: 0;
    padding: .75rem 1.25rem;
    color: #fff;
    outline: none;
    z-index: 3;
}
.alert-dismissible .close span {
	font-size: 35px;
}
    
.section-b .pic {
    width: 90%;
    padding: 30%;
    position: relative;
    left: 26px;
    top: 32px;
}
    
.about-section .overlay {
    background: #a501104f;
    padding: 12% 0%;
}
    
.about-showcase .overlay {
    padding: 9% 0%;
    padding-top: 18%;
}
    
.reviews-a {
    background: white;
    text-align: center;
    padding: 13% 7%;
}
    
.services-section h1 {
    font-size: 2rem; 
}

}
 

@media screen and (max-width: 375px) {
 
    
}