/* 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/Quicksand_Bold.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'font2';
	src:url('../fonts/Quicksand_Book.otf') format('opentype');
	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; 
}

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


.home-faqs {
	padding: 100px 0px 100px 0px;
}

.home-faqs h2 {
	font-family: font2; font-weight: 600; font-size: 40px; margin-bottom: 50px; color: #c40000;  text-align: center;
}

.home-faqs a {
	font-weight: 600; color: #c40000;
}

/* Minimal, namespaced styling (optional) */

  #hsf-faq {
		margin-top: 100px;
	}

  #hsf-faq .hsf-accordion__trigger{
    width:100%;
    text-align:left;
    background:#F9E5E5;
    border:1px solid #e2e6ee;
    border-radius:8px;
    padding:12px 16px;
    font-weight:600; font-size: 20px; font-family: font2;
    cursor:pointer;
  }
  #hsf-faq .hsf-accordion__trigger[aria-expanded="true"]{
    background:#c40000; color: #fff;
    border-color:#c40000;
  }
  #hsf-faq .hsf-accordion__panel{
    padding:12px 16px 4px 16px;
    border-left:3px solid #D65C5C;
    margin:8px 0 20px 6px; font-family: font2;
    background:#fff;
    border-radius:6px;
  }
  #hsf-faq ul{margin:8px 0 0 20px;}
  #hsf-faq li{margin:4px 0;}


.home-reviews {
	padding: 100px 0px 100px 0px;     background: linear-gradient(to right, #ffffff7d, #ffffff7d), url(/img/fire-suppression-01.jpg);
    background-size: cover;
    background-attachment: fixed;
    height: 100%;
    background-repeat: no-repeat;
}

/* Minimal, namespaced styles */
  #hsr-reviews { max-width: 820px; margin: 24px auto; font-family: font2; }
  .hsr__title { margin-bottom:25px; font-weight: 600; font-size: 35px;  color: #c40000;}
  .hsr__viewport { position: relative; min-height: 180px; }
  .hsr__slide { transition: opacity .35s ease; }
  .hsr__header { display:flex; align-items:center; gap:.5rem; margin-bottom:.35rem; }
  .hsr__author { font-size:1.05rem; font-weight: 600; text-decoration: underline; }
  .hsr__stars { color:#FFD97A; letter-spacing:2px; font-size:25px; text-shadow: 1px 1px 1px #000;}
  .hsr__text { margin:.25rem 0 .5rem 0; }
  .hsr__link a { text-decoration: underline; color: #c40000; font-weight: 600; }
  .hsr__controls { display:flex; justify-content:center; gap:.5rem; margin-top:.5rem; }
  .hsr__btn { background:#f5f7fb; border:1px solid #e1e6ef; padding:.35rem .6rem; border-radius:6px; cursor:pointer; }
  .hsr__btn:hover { background:#eaf3ff; border-color:#c9ddff; }
  .hsr__dots { display:flex; justify-content:center; gap:.35rem; margin-top:.5rem; }
  .hsr__dot { width:10px; height:10px; border-radius:50%; border:0; background:#E8D5D6; cursor:pointer; }
  .hsr__dot.is-active { background:#c40000; }

.dropdown {
  float: left; position: relative;
}

.dropdown .dropbtn {
  font-size: 16px; border: none; outline: none; color: white; padding: 14px 16px; background-color: inherit;font-family: inherit; margin: 0;
}

.navbar a:hover, .dropdown:hover .dropbtn {
  background-color: red;
}

.dropdown-one {
  cursor: pointer; display: none; position: absolute; background-color: #f9f9f9; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

.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: black;
    padding: 12px 16px;
    display: block;
    text-align: left;
}

.dropdown-one .dItem:hover, .dropdown-two a:hover {
    background-color: #ddd;
}

.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 Section ================= */
/* ======================================== */
.top-header {
	position: fixed; width: 100%;	z-index: 1;	padding: 10px 0 10px 0;	background: rgb(255,255,255);	z-index: 9;	-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(2) a {
	font-weight: 600; font-family: 'font2'; color: rgb(120,120,120);
}
.top-header div[class*='col-']:nth-child(2) a:hover {
	color: rgb(120,120,120);
}
.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 {
	font-weight: 600; font-family: 'font2'; color: rgb(120,120,120);
}
.top-header div[class*='col-']:nth-child(3) a:hover {
	color: rgb(120,120,120);
}
.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 {
	font-weight: 600; font-family: 'font2'; color: rgb(120,120,120);
}
.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.portal-btn {
	padding: 10px; background: rgb(43,74,141); border: 5px solid rgb(0,0,0); font-size: 15px; font-family: font2; font-weight: 600; text-align: center; text-transform: capitalize; 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;
}

/******* Mobile Navigation Section *******/
.navbar-sidebar {
	display:none;
}
.dropdown-wrapper {
	margin:0;	padding:0;
}
.navbar-sidebar .dropdown-menu-mobile {
	position:relative; display:none; top: 0; left: 0; z-index: 1000; float: left; height:0px; margin:0; width:100%; padding: 0; font-size: 18px; color: #e6e6e6 !important; text-align: left; list-style: none; background-color: rgb(200,200,200); border: 0; visibility: hidden; border-radius: 0; transform:scale(1,0); -webkit-transition: all .30s ease; -moz-transition: all .30s ease; -o-transition: all .30s ease; transition: all .30s ease;
}
.dropdown-menu-animate {
	display:inline-block !important; transform:scale(1,1) !important;	padding:25px 0 !important; height:auto !important; visibility: visible !important;
}
.navbar-sidebar .dropdown-menu-mobile a {
	color: rgb(75,75,75);	font-weight:600 !important;	font-size: 1.3em;	text-align:left;
	
	
	    font-weight: 900;
    font-family: 'font2';
    color: rgb(10, 10, 10);
	
}
.navbar-sidebar {
	padding-top: 84px; height: 100%; width: 200px; background-color: rgb(250,250,250); position: fixed!important;	z-index: 1;	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;
}

.nav-link{
    font-weight: 900;
    font-family: 'font2';
    color: rgb(10, 10, 10);
	color: black;
}
.main, #main {
	transition:margin-left .4s;
}
.modal {
	z-index: 3;	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:600px;
}
.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: 900; font-family: 'font2'; color: rgb(10,10,10);
}
.bar-block.center .bar-item {
	text-align:center;
}
.block {
	display:block; width:100%;
}
/******* Mobile Navigation Section *******/

/******************************************** DAVIDS MOBILE CODE START *************************************************/
.bg-primary {
	background: rgb(83,82,82) !important;
}
.home-header-section {
	/*padding-top: 200px;*/
	padding-top: 130px;
}
.home-header-section h5 {
	font-family: 'font2'; color: rgb(255,255,255); font-size: 65px; font-weight: 900;
}
.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(87, 86, 87); 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(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;
}
.home1 {
	padding: 75px 0 75px 0; background: rgb(255,255,255);
}
.home1 .pad {
	padding-top: 45px;
}
.home1 h1 {
	font-family: 'font2';	font-size: 35px; text-align: left; font-weight: 900; color: rgb(196,0,0);
}
.home1 p {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: justify;	color: rgb(90,90,90);
}
.home1 img {
	border-radius: 3px;
}
.home2 {
	background: rgb(249,249,249); padding: 75px 0 75px 0;
}
.home2 .box1 {
	background: rgb(255,255,255);	box-shadow: 0 0 29px 0 rgba(68, 88, 144, 0.12); border-radius: 3px;
}
.home2 .box2 {
	padding: 15px 25px 10px 25px;
}
.home2 h2 {
	font-family: 'font2';	font-size: 18px; font-weight: 900; color: rgb(196,0,0);	text-align: left;
}
.home2 p {
	font-size: 15px; font-family: 'font2'; font-weight: 900; text-align: left; color: rgb(90,90,90);
}
.home3 {
	background: rgb(255,255,255); padding: 75px 0 75px 0;
}
.home3 img {
	border-radius: 3px;
}
.home3 .pad {
	padding-top: 15px;
}
.home3 h2 {
	font-family: 'font2';	font-size: 35px; text-align: left; font-weight: 900; color: rgb(196,0,0);
}
.home3 p {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: justify;	color: rgb(90,90,90);
}
.home4 {
	background: rgb(249,249,249); padding: 75px 0 75px 0;
}
.home4 h3 {
	text-align: center; padding-bottom: 40px; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 40px;
}
.about1 {
	padding: 75px 0 75px 0; background: rgb(255,255,255);
}
.about1 .pad {
	padding-top: 15px;
}
.about1 h1 {
	font-family: 'font2';	font-size: 35px; text-align: left; font-weight: 900; color: rgb(196,0,0);
}
.about1 p {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: justify;	color: rgb(90,90,90);
}
.about1 h5 {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: justify;	color: rgb(90,90,90); line-height: 27px; padding-top: 25px;
}
.about1 img {
	border-radius: 3px;
}



.service-header .container {
	padding: 200px 0 125px 0;
}
.parallax {
	background-image: linear-gradient(rgb(0,0,0,0), rgb(0,0,0,0)), url("/img/home-slide-1.jpg"); min-height: auto; background-attachment: fixed; background-position: top; background-repeat: no-repeat; overflow: hidden; background-size: cover;
}
.service-header h1 {
	font-family: 'Montserrat'; font-weight: 600; color: rgb(255,255,255); font-size: 3rem; text-align: center; text-shadow: 2px 2px 1px rgb(12,12,12);
}
.service-header p {
	font-size: 22px; font-weight: 600; color: rgb(255,255,255); text-align: center; font-family: 'Montserrat'; text-shadow: 2px 2px 1px rgb(12,12,12);
}
.service-header span {
	color: rgb(246,177,24);
}
.service-header ul {
	list-style: none;
}
.service-header a.btn1, .service-header a.btn2, .service-header a.btn3, .service-header a.btn4, .service-header a.btn5, .service-header a.btn6, .service-header a.btn7 {
	display: block; position: relative; padding: 10px 40px; margin: 0 0 4px; left: 0; text-decoration: none; border-radius: 10px; font-size: 24px; color: rgb(255,255,255);
}
.service-header a.btn1 {
	background: linear-gradient(to right, rgb(12,12,12) 65%, rgba(12,12,12,0)), url(../img/card1.jpg) 0 no-repeat; background-size: cover;
}
.service-header a.btn2 {
	background: linear-gradient(to right, rgb(12,12,12) 65%, rgba(12,12,12,0)), url(../img/card2.jpg) 0 no-repeat; background-size: cover;
}
.service-header a.btn3 {
	background: linear-gradient(to right, rgb(12,12,12) 65%, rgba(12,12,12,0)), url(../img/card3.jpg) 0 no-repeat; background-size: cover;
}
.service-header a.btn4 {
	background: linear-gradient(to right, rgb(12,12,12) 65%, rgba(12,12,12,0)), url(../img/card4.jpg) 0 no-repeat; background-size: cover;
}
.service-header a.btn5 {
	background: linear-gradient(to right, rgb(12,12,12) 65%, rgba(12,12,12,0)), url(../img/card5.jpg) 0 no-repeat; background-size: cover;
}
.service-header a.btn6 {
	background: linear-gradient(to right, rgb(12,12,12) 65%, rgba(12,12,12,0)), url(../img/card6.jpg) 0 no-repeat; background-size: cover;
}
.service-header a.btn7 {
	background: linear-gradient(to right, rgb(12,12,12) 65%, rgba(12,12,12,0)), url(../img/card7.jpg) 0 no-repeat; background-size: cover;
}
.service1 {
	background: rgb(255,255,255); padding: 75px 0 75px 0;
}
.service1 h1 {
	text-align: center; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 40px;
}
.service1 h5 {
	color: rgb(90,90,90); text-align: center; line-height: 27px; font-size: 17px; font-weight: 900; font-family: 'font2'; padding-bottom: 40px;
}
.service1 p {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: justify;	color: rgb(90,90,90);
}
.service1 h2 {
	text-align: left; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 35px; padding-top: 40px;
}
.service1 strong {
	color: rgb(0,0,0);
}
.service2 {
	background: rgb(245,245,245); padding: 75px 0 75px 0;
}
.service2 h3 {
	text-align: center; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 40px;
}
.service2 p {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: justify;	color: rgb(90,90,90);
}
.service2 img {
	width: 100%; height: 100%; border-radius: 0.8rem;
}
.service2 a.learn-more {
	font-size: 1rem; font-family: 'font2'; font-weight: 900; text-align: justify;	color: white; background: rgb(196,0,0);
	display: inline-block;
	padding:15px;
	
	border: 2px solid black;
	
	transition: 0.4s; 
}
.service2 a.learn-more:hover {
	color: black; background: white;
 
	
}



/**** Standardized Hartford Sprinkler Service Page Template ****/

.hs-service-hero {
	position: relative;
	min-height: 720px;
	padding: 170px 20px 120px 20px;
	display: flex;
	align-items: center;
	background:
		linear-gradient(120deg, rgba(0,0,0,0.82), rgba(0,0,0,0.48)),
		url("/img/home-slide-1.jpg");
	background-size: cover;
	background-position: top center;
	background-attachment: fixed;
	overflow: hidden;
}

.hs-service-hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 15% 20%, rgba(246,177,24,0.18), transparent 28%),
		radial-gradient(circle at 85% 80%, rgba(196,0,0,0.32), transparent 34%);
	z-index: 1;
	pointer-events: none;
}

.hs-service-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0,0,0,0.12), rgba(0,0,0,0.72));
	z-index: 1;
}

.hs-service-hero .container {
	position: relative;
	z-index: 2;
}

.hs-service-hero-content span,
.hs-service-heading span,
.hs-service-split-content span,
.hs-service-science-card span,
.hs-service-roi-card span {
	display: inline-block;
	margin-bottom: 14px;
	color: rgb(246,177,24);
	font-family: 'Montserrat';
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.hs-service-hero-content h1 {
	margin-bottom: 24px;
	color: #fff;
	font-family: 'Montserrat';
	font-size: clamp(2.65rem, 6vw, 5rem);
	font-weight: 900;
	line-height: 1.05;
	text-shadow: 2px 2px 12px rgba(0,0,0,0.45);
}

.hs-service-hero-content p {
	max-width: 760px;
	color: rgba(255,255,255,0.92);
	font-size: 18px;
	line-height: 1.8;
	font-family: 'font2';
	font-weight: 800;
}

.hs-service-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

.hs-service-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 24px;
	background: rgb(196,0,0);
	color: #fff !important;
	border: 2px solid rgb(196,0,0);
	border-radius: 10px;
	font-family: 'Montserrat';
	font-weight: 900;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: 0.3s ease;
	box-shadow: 0 14px 30px rgba(196,0,0,0.25);
}

.hs-service-btn:hover {
	background: #fff;
	color: rgb(196,0,0) !important;
	transform: translateY(-3px);
	box-shadow: 0 20px 42px rgba(0,0,0,0.24);
}

.hs-service-btn-outline {
	background: transparent;
	border-color: #fff;
	color: #fff !important;
	box-shadow: none;
}

.hs-service-btn-outline:hover {
	background: #fff;
	color: rgb(12,12,12) !important;
}

.hs-service-hero-card {
	padding: 34px;
	background: rgba(255,255,255,0.94);
	border-radius: 20px;
	border-top: 7px solid rgb(196,0,0);
	box-shadow: 0 24px 65px rgba(0,0,0,0.38);
}

.hs-service-hero-card h2 {
	margin-bottom: 18px;
	color: rgb(196,0,0);
	font-family: 'Montserrat';
	font-size: 1.75rem;
	font-weight: 900;
	text-align: center;
}

.hs-service-hero-card ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hs-service-hero-card li {
	position: relative;
	padding: 10px 0 10px 30px;
	color: rgb(60,60,60);
	font-family: 'font2';
	font-size: 16px;
	font-weight: 900;
	border-bottom: 1px solid rgba(0,0,0,0.08);
}

.hs-service-hero-card li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 17px;
	width: 11px;
	height: 11px;
	background: rgb(196,0,0);
	border-radius: 50%;
	box-shadow: 0 0 0 5px rgba(196,0,0,0.12);
}


/**** Shared Sections ****/

.hs-service-intro,
.hs-service-options,
.hs-service-cost,
.hs-service-faq {
	padding: 90px 0;
	background: #fff;
}

.hs-service-options,
.hs-service-faq {
	background: rgb(245,245,245);
}

.hs-service-heading {
	max-width: 980px;
	margin: 0 auto 48px auto;
	text-align: center;
}

.hs-service-heading h2,
.hs-service-split-content h2,
.hs-service-science-card h2,
.hs-service-roi-card h2,
.hs-service-final h2 {
	color: rgb(196,0,0);
	font-family: 'font2';
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 900;
	line-height: 1.12;
	margin-bottom: 20px;
	position: relative;
	padding-bottom: 18px;
}

.hs-service-heading h2:after,
.hs-service-split-content h2:after,
.hs-service-science-card h2:after,
.hs-service-roi-card h2:after,
.hs-service-final h2:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 90px;
	height: 4px;
	background: rgb(196,0,0);
	border-radius: 30px;
	transform: translateX(-50%);
}

.hs-service-split-content h2:after,
.hs-service-science-card h2:after {
	left: 0;
	transform: none;
}

.hs-service-heading p,
.hs-service-split-content p,
.hs-service-science-card p,
.hs-service-roi-card p,
.hs-service-cost-grid p,
.hs-service-faq-grid p,
.hs-service-final p {
	font-size: 17px;
	line-height: 1.85;
	font-family: 'font2';
	font-weight: 800;
	color: rgb(80,80,80);
}

.hs-service-value-grid,
.hs-service-options-grid,
.hs-service-cost-grid,
.hs-service-faq-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.hs-service-value-card,
.hs-service-option-card,
.hs-service-cost-grid div,
.hs-service-faq-grid div {
	padding: 30px;
	background: #fff;
	border-radius: 18px;
	border-top: 6px solid rgb(196,0,0);
	box-shadow: 0 16px 40px rgba(0,0,0,0.09);
	transition: 0.3s ease;
}

.hs-service-value-card:hover,
.hs-service-option-card:hover,
.hs-service-cost-grid div:hover,
.hs-service-faq-grid div:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 55px rgba(0,0,0,0.14);
}

.hs-service-value-card h3,
.hs-service-option-card h3,
.hs-service-cost-grid h3,
.hs-service-faq-grid h3,
.hs-service-science-grid h3 {
	color: rgb(196,0,0);
	font-family: 'Montserrat';
	font-size: 1.25rem;
	font-weight: 900;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.hs-service-value-card p,
.hs-service-option-card p {
	font-size: 16px;
	line-height: 1.75;
	font-family: 'font2';
	font-weight: 800;
	color: rgb(80,80,80);
	margin-bottom: 0;
}


/**** Split Section ****/

.hs-service-split {
	padding: 95px 0;
	background:
		radial-gradient(circle at top left, rgba(196,0,0,0.08), transparent 35%),
		linear-gradient(135deg, rgb(255,255,255), rgb(245,245,245));
}

.hs-service-split-content {
	padding: 40px;
	background: rgba(255,255,255,0.92);
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(0,0,0,0.1);
}

.hs-service-image-frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 18px;
	border: 6px solid #fff;
	box-shadow: 0 22px 55px rgba(0,0,0,0.22);
}


/**** Science Section ****/

.hs-service-science {
	padding: 95px 0;
	background: rgb(12,12,12);
}

.hs-service-science-card {
	padding: 40px;
}

.hs-service-science-card h2,
.hs-service-science-card p {
	color: #fff;
}

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

.hs-service-science-grid div {
	padding: 28px;
	background: #fff;
	border-radius: 16px;
	border-left: 6px solid rgb(196,0,0);
	box-shadow: 0 15px 35px rgba(0,0,0,0.28);
	transition: 0.3s ease;
}

.hs-service-science-grid div:hover {
	transform: translateY(-5px);
}

.hs-service-science-grid i {
	color: rgb(196,0,0);
	font-size: 32px;
	margin-bottom: 14px;
}

.hs-service-science-grid p {
	font-size: 15px;
	line-height: 1.65;
	font-family: 'font2';
	font-weight: 800;
	color: rgb(80,80,80);
}


/**** ROI ****/

.hs-service-roi {
	padding: 100px 0;
	background:
		linear-gradient(rgba(0,0,0,0.76), rgba(0,0,0,0.76)),
		url("/img/home-slide-1.jpg");
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
}

.hs-service-roi-card {
	padding: 50px;
	background: rgba(255,255,255,0.95);
	border-radius: 22px;
	box-shadow: 0 22px 60px rgba(0,0,0,0.28);
}

.hs-service-roi-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 30px;
}

.hs-service-roi-grid div {
	padding: 18px;
	background: rgb(196,0,0);
	color: #fff;
	border-radius: 12px;
	font-family: 'Montserrat';
	font-weight: 900;
	text-align: center;
	text-transform: uppercase;
}


/**** Final CTA ****/

.hs-service-final {
	padding: 95px 20px;
	background:
		linear-gradient(rgba(0,0,0,0.78), rgba(0,0,0,0.78)),
		url("/img/home-slide-1.jpg");
	background-size: cover;
	background-position: center;
	text-align: center;
}

.hs-service-final h2,
.hs-service-final p {
	color: #fff;
}

.hs-service-final h2:after {
	background: rgb(246,177,24);
}

.hs-service-final p {
	max-width: 900px;
	margin: 0 auto 18px auto;
}


/**** Page-Specific Modifier ****/

.hs-fire-alarm-hero {
	background:
		linear-gradient(120deg, rgba(0,0,0,0.82), rgba(0,0,0,0.48)),
		url("/img/serv2.jpg");
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
}


/**** Responsive ****/

@media(max-width: 991px) {
	.hs-service-hero {
		min-height: auto;
		padding: 135px 20px 80px 20px;
		background-attachment: scroll;
	}

	.hs-service-value-grid,
	.hs-service-options-grid,
	.hs-service-cost-grid,
	.hs-service-faq-grid,
	.hs-service-roi-grid {
		grid-template-columns: 1fr;
	}

	.hs-service-science-grid {
		grid-template-columns: 1fr;
	}

	.hs-service-split-content,
	.hs-service-science-card,
	.hs-service-roi-card {
		padding: 30px 22px;
	}

	.hs-service-image-frame {
		margin-top: 28px;
	}

	.hs-service-heading p,
	.hs-service-split-content p,
	.hs-service-science-card p,
	.hs-service-roi-card p,
	.hs-service-final p {
		text-align: left;
	}

	.hs-service-heading {
		text-align: center;
	}
}

@media(max-width: 575px) {
	.hs-service-hero-content h1 {
		font-size: 2.25rem;
	}

	.hs-service-hero-actions a,
	.hs-service-btn {
		width: 100%;
	}

	.hs-service-hero-card {
		padding: 26px 20px;
	}
}


.ref1 {
	background: rgb(255,255,255); padding: 75px 0 75px 0;
}
.ref1 h1 {
	text-align: center; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 40px;
}
.ref1 h5 {
	color: rgb(90,90,90); text-align: center; line-height: 27px; font-size: 17px; font-weight: 900; font-family: 'font2'; padding-bottom: 40px;
}
.ref1 .pad {
	padding-top: 35px;
}
.ref1 .box {
	border: 3px solid rgb(50,50,50); border-radius: 3px; padding: 25px 40px;
}
.ref1 h2 {
	text-align: left; font-weight: 900; font-family: 'font2'; font-size: 30px; color: rgb(196,0,0);
}
.ref1 p {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: justify;	color: rgb(90,90,90);
}

.service-general {
	background: rgb(255,255,255); padding: 180px 0 75px 0;
}
.service-general h1 {
	text-align: center; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 40px;
}
.service-general h5 {
	color: rgb(90,90,90); text-align: center; line-height: 27px; font-size: 17px; font-weight: 900; font-family: 'font2'; padding-bottom: 40px;
}
.service-general p {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: justify;	color: rgb(90,90,90);
}
.service-general h2 {
	text-align: left; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 35px; padding-top: 40px;
}
.service-general strong {
	color: rgb(0,0,0);
}


.map iframe {
	width: 100%; height: 450px; margin-bottom: -7px;
}
.area1 {
	padding: 75px 0 75px 0; background: rgb(255,255,255);
}
.area2 {
	padding: 75px 0 75px 0; background: rgb(250,250,250);
}
.area1 h1{
	font-size: 2.7rem; font-family: font2; font-weight: 800; color: rgb(196,0,0);

}
.area1 h2, .area2 h2 {
	font-size: 2.5rem; font-family: font2; font-weight: 800; color: rgb(196,0,0);
}
.area1 h4, .area2 h4 {
	font-size: 1.5rem; font-family: font2; font-weight: 700; color: rgb(75,75,75);
}
.area1 p, .area2 p {
	font-size: 18px; text-align: justify; color: rgb(12,12,12);
}
.area1 iframe, .area2 iframe {
	width: 100%; height: 100%; border: 0; border-radius: 0.8rem;
}
.hartford-county{
	padding: 75px 0 75px 0; background: rgb(255,255,255);

}
.hartford-county h1{
	font-size: 2.5rem; font-family: font2; font-weight: 800; color: rgb(196,0,0);

}
.hartford-county h2{
	font-size: 2.5rem; font-family: font2; font-weight: 800; color: rgb(196,0,0);

}

.hartford-county h3{
	font-size: 1.5rem; font-family: font2; font-weight: 700; color: rgb(75,75,75);

}
.hartford-county p{
	font-size: 18px; text-align: justify; color: rgb(12,12,12);

}
.hartford-county li p span{
	font-size: 1.2rem; font-weight: 600; text-decoration: underline; 

}
.hartford-county iframe{
	width: 100%; height: 100%; border: 0; border-radius: 0.8rem;

}
.review1 {
	padding: 50px 0 50px 0; background: rgb(255,255,255);
}
.review1 img {
	width: 100%; height: 100%;
}
.gallery1 {
	padding: 75px 0 75px 0; background: rgb(255,255,255);
}
.gallery1 h1 {
	font-size: 3rem; font-family: font2; font-weight: 700; text-align: center; color: rgb(196,0,0);
}
.gallery2 {
	padding: 75px 0 75px 0; background: rgb(250,250,250);
}

.company-directory {
	padding: 75px 0 75px 0; background: rgb(255,255,255);
}
.company-directory  h1 {
	font-size: 2.5rem; font-family: font2; font-weight: 700; text-align: center; color: rgb(196,0,0);
}
.company-directory  h2 {
	font-size: 2.5rem; font-family: font2; font-weight: 700; text-align: center; color: rgb(196,0,0);
}
.company-directory .box {
	padding: 35px 20px 35px 20px;
	margin: 20px;
	height: 300px;
    background: rgb(255,255,255);
    box-shadow: 10px 10px 29px 10px rgba(68, 88, 144, 0.12);
    border-radius: 15px;
		text-align: center;
	
}
.company-directory .box h1 {
	font-size: 1.6rem; font-family: font2; font-weight: 700; text-align: center; color: rgb(196,0,0);
}
.company-directory .box h2 {
	font-size: 1.75rem; font-family: font2; font-weight: 700; text-align: center; color: rgb(196,0,0);
}
.company-directory .box p {
	font-size: 14px; font-family: font2; font-weight: 700; text-align: center; color: rgb(0,0,0);
}
.company-directory .box h3 {
	font-size: 2rem; font-family: font2; font-weight: 700; text-align: center; color: rgb(196,0,0);
}

/*.company-directory .box:hover {
	padding: 75px 0 75px 0; background: rgb(196,0,0);
	border-radius: 25px;
    box-shadow: 0 0 29px 0 rgba(68, 88, 144, 0.12);
}*/


.contact1 {
	background: rgb(255,255,255); padding: 75px 0 75px 0;
}
.contact1 h1 {
	text-align: center; padding-bottom: 40px; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 40px;
}
.contact1 h2 {
	text-align: center; padding-bottom: 10px; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 23px;
}


/*FAQ Page*/
.faq {
	padding: 240px 0 75px 0;
background: white;
background-size: cover; 
}
.faq h1 {
	font-size: 2.7rem;
	font-weight: 800;
	padding-bottom: 15px;
	color:  black;
	text-align: center;
	
	
}
.faq h2 {
	font-size: 1.3rem;
	font-weight: 800;
	padding-bottom: 5px;
	color:  black;
	text-align: center;
}
.faq .box{
  width: auto;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
}
.faq span{
  transition: 200ms;
  font-weight: 600;
  font-size: 1.1rem;
}
.faq .bg-dark {
  background-color: rgb(190,160,71); !important;
}
.faq .bg-dark:hover {
  background-color:rgb(190,160,71); !important;
}
.faq .content, .faq .content_2, .faq .content_3, .faq .content_4, .faq .content_5,
.faq .content_6, .faq .content_7, .faq .content_8, .faq .content_9, .faq .content_10, .faq .content_11, .faq .content_12 {
    overflow: hidden;
    max-height: 0px;
    transition: 300ms ease-in;
    background: rgb(255,255,255);
    border: 1px solid black !important;
    display: block;
    height: 100%;
}
.faq .header, .faq .header_2, .faq .header_3, .faq .header_4, .faq .header_5,
.faq .header_6, .faq .header_7, .faq .header_8, .faq .header_9, .faq .header_10, .faq .header_11, .faq .header_12 {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
	text-transform: capitalize;
}
/*FAQ Page END*/


/**** Process Page ****/ 
.process {
	padding: 100px 0 100px 0;
	background: rgb(255,255,255);
}
.process .process-card{
	
    max-height: 100%;
    height: 100%;
    color: #fff;
    margin: 0 0 0px;
    border-radius: 5px;
    padding: 7px;
    background: rgb(255,255,255);
    visibility: visible;
    box-shadow: 0 0 29px 0 rgba(68, 88, 144, 0.12);
	
}
.process h1 {
	font-family: 'font';
	font-size: 35px;
	text-align: center;
	font-weight: 900;
    color: black;
}
.process h2 {
	font-family: 'font';
	font-size: 25px;
	text-align: center;
	font-weight: 900;
	padding-bottom: 30px;
	color: rgb(110,110,110);
}
.process h3.card-title {
	font-family: 'font';
	font-size: 1.3rem;;
	text-align: center;
	font-weight: 900;
	padding-bottom: 10px;
	color: rgb(194,3,16);

}
.process h5 {
	font-family: 'font';
	font-size: 25px;
	text-align: center;
	font-weight: 900;
	padding-bottom: 30px;
	color: rgb(110,110,110);
}
.process p {
	font-size: 19px;
	text-align: justify;
	font-family: 'font';
	color: rgb(110,110,110);
}
.process li {
	font-size: 19px;
	font-family: 'font';
	color: rgb(110,110,110);
}
.process strong {
	color: rgb(194,3,16);
	font-family: 'font';
}

.process .process-cta{
	background: black;
	color: white;
	border: 2px solid black;
	border-radius: 5px;
	font-weight: 600;
	text-transform: uppercase;
	display: inline-flex;
	padding: 15px; 
}
.process .process-cta:hover{
	background: white;
	color: black;;
}



/******************************************** DAVIDS MOBILE CODE END *************************************************/

/*******************  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;
}

/*******************  Home Page Service Cards *************************/
.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 {
	margin: 40px 0 0;	color:#fff;	font-size: 20px; font-weight:700;
}
.pre-footer-section a:hover {
	color:#8a8a8a;
}

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

/********* Set Timeout Function FadeDiv Styling **********/
.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: right; align-items: center; padding-top: 30px;
}
.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;
}

/* ========================================================== */
/* 			            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;
}
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;
}
.navbar-scroll {
	padding: 77px 0 0; position: fixed;	background: rgb(196,0,0); width: 100%;	z-index: 8;	-webkit-transition: all .30s ease; -moz-transition: all .30s ease; -o-transition: all .30s ease; transition: all .30s ease;
}
.navbar-scroll .container {
	background: rgb(60,36,17,0); border-bottom-left-radius: 1.5rem;	border-bottom-right-radius: 1.5rem;
}
#projects .navbar-scroll {
	background:#fdfdfd;	position:relative !important;
}
#projects .navbar-scroll li a {
	color:#333;
}
#projects .navbar-scroll .navbar-brand {
	color:#252525;
}
#projects .navbar-light .lnr {
	color:#222;
}
.navbar-light .lnr {
	color: #fdfdfd;	font-size: 1.5em;	position: absolute;	top: 6px;	right: 10px;
}
.navbar-light .navbar-brand {
	color: #e8e8e8; font-size: 20px; font-family: 'Montserrat', sans-serif;
}
.navbar-brand {
	font-size:2.5em; font-weight:700;	text-transform:uppercase;
}
.navbar-brand:focus, .navbar-brand:hover {
	color:#f3f3f3 !important;
}
.navbar-light .navbar-nav .nav-link {
	margin: 0 20px; padding: 6px 0px; font-weight: 900; font-size: 17px; 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: rgb(255,255,255);
}
.navbar-light .navbar-nav li a {
	position:relative;
}
.navbar-collapse {
	height:100%;
}
.mobile-top-header {
	display:none !important;
}

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

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

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

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

/* ========================================================== */
/* 			           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(17,17,17);	color: rgb(255, 255, 255); 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: 15px;
}
.footer-section .service-cities p {
	margin:0 0 3px;
}
.service-cities {
	margin-bottom:1em;
}
.service-cities h5 {
	line-height:8px;
}
.service-cities h4 {
	font-size: 20px; font-family: 'font2'; font-weight: 600; text-decoration: underline; color: rgb(255, 255, 255);
}
.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;
}
/* === Laptop CSS Section ================= */
@media screen and (max-width : 1440px) {
	/*** Don't place anything here, unless absolutely necessary ***/
}
/* === Tablet CSS Section ================= */
@media screen and (max-width: 1024px) {
	
}
/* === Mobile CSS Section ================= */
/*@media screen and (max-width: 768px) {*/
@media screen and (max-width: 991px) {
/******************************************** DAVIDS MOBILE CODE START *************************************************/
.home-header-section {
	padding-top: 80px;
}
.home-header-section h5 {
	font-family: 'font2'; color: rgb(255,255,255); font-size: 40px; font-weight: 900;
}
.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(87, 86, 87); 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(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;
}
.home1 {
	padding: 50px 0 50px 0; background: rgb(255,255,255);
}
.home1 .pad {
	padding-top: 0px;
}
.home1 h1 {
	font-family: 'font2';	font-size: 35px; text-align: center; font-weight: 900; color: rgb(196,0,0);
}
.home1 p {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: center;	color: rgb(90,90,90);
}
.home1 img {
	border-radius: 3px;
}
.home2 {
	background: rgb(249,249,249); padding: 75px 0 75px 0;
}
.home2 .box1 {
	background: rgb(255,255,255);	box-shadow: 0 0 29px 0 rgba(68, 88, 144, 0.12); border-radius: 3px;
}
.home2 .box2 {
	padding: 15px 25px 10px 25px;
}
.home2 h2 {
	font-family: 'font2';	font-size: 18px; font-weight: 900; color: rgb(196,0,0);	text-align: left;
}
.home2 p {
	font-size: 15px; font-family: 'font2'; font-weight: 900; text-align: left; color: rgb(90,90,90);
}
.home3 {
	background: rgb(255,255,255); padding: 75px 0 75px 0;
}
.home3 img {
	border-radius: 3px;
}
.home3 .pad {
	padding-top: 15px;
}
.home3 h2 {
	font-family: 'font2';	font-size: 35px; text-align: left; font-weight: 900; color: rgb(196,0,0);
}
.home3 p {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: justify;	color: rgb(90,90,90);
}
.home4 {
	background: rgb(249,249,249); padding: 75px 0 75px 0;
}
.home4 h3 {
	text-align: center; padding-bottom: 40px; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 40px;
}
.about1 {
	padding: 50px 0 50px 0; background: rgb(255,255,255);
}
.about1 .pad {
	padding-top: 0px;
}
.about1 h1 {
	font-family: 'font2';	font-size: 35px; text-align: center; font-weight: 900; color: rgb(196,0,0);
}
.about1 p {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: center;	color: rgb(90,90,90);
}
.about1 h5 {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: center;	color: rgb(90,90,90); line-height: 27px; padding-top: 25px;
}
.about1 img {
	border-radius: 3px;
}
.service1 {
	background: rgb(255,255,255); padding: 75px 0 75px 0;
}
.service1 h1 {
	text-align: center; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 40px;
}
.service1 h5 {
	color: rgb(90,90,90); text-align: center; line-height: 27px; font-size: 17px; font-weight: 900; font-family: 'font2'; padding-bottom: 40px;
}
.service1 p {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: center;	color: rgb(90,90,90);
}
.service1 h2 {
	text-align: center; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 35px; padding-top: 40px;
}
.service1 strong {
	color: rgb(0,0,0);
}
.ref1 {
	background: rgb(255,255,255); padding: 50px 0 50px 0;
}
.ref1 h1 {
	text-align: center; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 40px;
}
.ref1 h5 {
	color: rgb(90,90,90); text-align: center; line-height: 27px; font-size: 17px; font-weight: 900; font-family: 'font2'; padding-bottom: 40px;
}
.ref1 .pad {
	padding-top: 35px;
}
.ref1 .box {
	border: 3px solid rgb(50,50,50); border-radius: 3px; padding: 25px 40px;
}
.ref1 h2 {
	text-align: left; font-weight: 900; font-family: 'font2'; font-size: 30px; color: rgb(196,0,0);
}
.ref1 p {
	font-size: 17px; font-family: 'font2'; font-weight: 900; text-align: justify;	color: rgb(90,90,90);
}
.map iframe {
	width: 100%; height: 300px; margin-bottom: -7px;
}
.gallery1 {
	padding: 75px 0 75px 0; background: rgb(255,255,255);
}
.gallery1 h1 {
	font-size: 3rem; font-family: font2; font-weight: 700; text-align: center; color: rgb(196,0,0);
}
.gallery2 {
	padding: 75px 0 75px 0; background: rgb(250,250,250);
}
.contact1 {
	background: rgb(255,255,255); padding: 75px 0 75px 0;
}
.contact1 h1 {
	text-align: center; padding-bottom: 40px; font-weight: 900; font-family: 'font2'; color: rgb(196,0,0); font-size: 40px;
}

.hartford-county iframe{
	width: 100%; height: 400px; border: 0; border-radius: 0.8rem;

}
/******************************************** DAVIDS MOBILE CODE END *************************************************/
.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; 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);
}
.service-cities .footer-title .midcities {
	text-align: center;
}
.service-cities .footer-title .rightcities {
	text-align: center;
}
.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;	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;
}
.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;
}
.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;
}

}

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

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

.company-directory {
	padding: 75px 0 75px 0; background: rgb(255,255,255);
}

.company-directory  h2 {
	font-size: 2.5rem; font-family: font2; font-weight: 700; text-align: center; color: rgb(196,0,0);
}
.company-directory .box {
	padding: 35px 20px 35px 20px;
	margin: 20px; 
    background: rgb(255,255,255);
    box-shadow: 10px 10px 29px 10px rgba(68, 88, 144, 0.12);
    border-radius: 15px;
		text-align: center;
	
}
.company-directory .box h1 {
	font-size: 1.6rem; font-family: font2; font-weight: 700; text-align: center; color: rgb(196,0,0);
}
.company-directory .box p {
	font-size: 12px; font-family: font2; font-weight: 700; text-align: center; color: rgb(0,0,0);
}
.company-directory .box h3 {
	font-size: 2rem; font-family: font2; font-weight: 700; text-align: center; color: rgb(196,0,0);
}
				
				
}