/* -------------------------------------------------------------
/
/ Service Champions Core
/ Core CSS for Service Champions.
/
/ champs-core.css
/
/ -------------------------------------------------------------*/

/* Reserved area for global CSS */

/* -------------------------------------------------------------
/
/
/ Animation Settings
/
/
/ -------------------------------------------------------------*/

/* All animations */

.animate__animated.animate__fadeIn {
  --animate-duration: 1.5s;
}

/* -------------------------------------------------------------
/
/
/ Champs Font Families
/
/
/ -------------------------------------------------------------*/

body {
	font-family: "Roboto";
	overflow-x: hidden; /* This is mainly for the truck that moves in from off-screen; may need to adjust the selection of this if it causes problems elsewhere */
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Montserrat";
}
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {
	color: #249CF2;
}

/* -------------------------------------------------------------
/
/
/ Champs Heading Sizes and Colors
/
/
/ -------------------------------------------------------------*/

h1 {
	font-size: 40px;
	margin: 0 0 20px 0;
	color: #184A75;
	font-weight: 700;
}
h2 {
	font-size: 35px;
	margin: 0 0 20px 0;
	color: #000;
	font-weight: 700;
}
h3 {
	font-size: 30px;
	margin: 0 0 20px 0;
	font-weight: 700;
	color: #000;
}
h4 {
	font-size: 25px;
	margin: 0 0 15px 0;
	font-weight: 600;
	color: #000;
}
h5 {
	font-size: 20px;
	margin: 0 0 15px 0;
	line-height: 1.6em;
	font-weight: 600;
	color: #000;
}
h6 {
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 10px 0;
	font-weight: 700;
	color: #000;
}

.home h3 {
	color: #000;
}

/* -------------------------------------------------------------
/ Standard Page Heading Sizes
/ -------------------------------------------------------------*/

.standard-page h1 {
	font-size: 30px;
	line-height: 1.6em;
}
.standard-page h2 {
	font-size: 25px;
	font-weight: 600;
	line-height: 1.5em;
}
.standard-page h3 {
	font-size: 20px;
	font-weight: 600;
	color: #000;
}
.standard-page h4 {
	font-size: 20px;
	font-weight: 600;
}

/* -------------------------------------------------------------
/
/
/ Champs Element Colors
/
/
/ -------------------------------------------------------------*/

body { 
	color: #555;
}

body main#content p a,
body main#content p a:active,
body main#content p a:visited,
body main#content li a,
body main#content li a:active,
body main#content li a:visited,
body p a,
body li a,
body span a {
	color: #184A75;
	transition: .3s all;
}

body main#content p a:hover,
body main#content li a:hover,
body p a:hover,
body li a:hover,
body span a:hover {
	color: #DD2315;
}


/* Announcement banner color */

.reflex-header-announcement-banner {
	background: #DD2416;
}

/* Mobile menu button color */

.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before {
	background-color:#fff;
}
#header.fixed .hamburger-inner,
#header.fixed .hamburger-inner::after,
#header.fixed .hamburger-inner::before {
	background-color: #184973;
}

/* Mobile menu background color */

@media(max-width:999px) {
	nav.reflex {
		background: #1A4D7C;
	}
}

/* Return to top button */

.reflex-rtt {
	background: rgba(0,0,0,0.5);
}
.reflex-rtt:hover {
	background: #DD2315;
}

/* Standard buttons */

.reflex-btn a {
	border-radius: 4px;
	bottom:0;
	transition: .3s all;
	padding: 20px 30px;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 15px;
	letter-spacing: 1px;
}
.reflex-btn.small a {
	font-size: 13px;
	padding: 15px 20px;
}



/* Standard button with gradient hover effect */

.reflex-btn.hvr-gradient a {
	overflow:hidden;
	background: #DD2315;
}
.reflex-btn.hvr-gradient a:hover {
	box-shadow:0 2px 5px rgba(0,0,0,.2);
	bottom:5px;
	background: #DD2315;
}
.reflex-btn.hvr-gradient a::before {
    content: "";
    display: block;
    top: 0;
    bottom: 0;
    position: absolute;
    width: 90px;
    left: -80%;
    -webkit-transform: skewX(-30deg);
    -moz-transform: skewX(-30deg);
    -ms-transform: skewX(-30deg);
    transform: skewX(-30deg);
    background: -webkit-linear-gradient(left,rgba(255,255,255,0) 0%,rgba(255,255,255,.56) 50%,rgba(255,255,255,0) 100%);
    background: -moz-linear-gradient(left,rgba(255,255,255,0) 0%,rgba(255,255,255,.56) 50%,rgba(255,255,255,0) 100%);
    background: linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,.56) 50%,rgba(255,255,255,0) 100%);
    -webkit-transition: 0ms ease all;
    -moz-transition: 0ms ease all;
    transition: 0ms ease all;
    opacity: .5;
}
.reflex-btn.hvr-gradient a:hover::before {
	left:110%;
	transition: 800ms ease all;
	opacity: .2;
}

/* -------------------------------------------------------------
/
/
/ Header
/ - Champs customizations
/ - Header customizations based off of BeCLINIC theme
/ - https://ld-wp73.template-help.com/beclinic/skin_7/
/
/
/ -------------------------------------------------------------*/

header#header {
	position: fixed;
	background: rgba(255,255,255,0.15);
}
header#header.fixed {
	background: rgba(255,255,255,0.9);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid #184973;
	box-shadow: none;
}

/* 1/12/21 edit */

header#header .reflex-container {
	max-width: 2000px;
}
@media(min-width:1200px) {
	header#header .reflex-container {
		padding-left: 15px;
		padding-right: 15px;
	}
}

/* -------------------------------------------------------------
/
/
/ Header Text Colors Configuration
/
/
/ -------------------------------------------------------------*/

/* Default header colors */
.reflex-header-top-menu,
.reflex-header-top-menu a,
nav.reflex ul > li > a  {
	color: #fff;
	transition: .25s all;
}

/* Fixed header colors */
header#header.fixed .reflex-header-top-menu,
header#header.fixed .reflex-header-top-menu a,
header#header.fixed nav.reflex ul > li > a  {
	color: #184973;
}
header#header.fixed .reflex-header-top-menu {
	border-color: rgba(31, 75, 114, 0.25);
}
header#header.fixed .champs-header-grid .phone {
	border-color: rgba(31, 75, 114, 0.25);
}
header#header.fixed .champs-header-grid .socials {
	border-color: rgba(31, 75, 114, 0.25);
}


/* -------------------------------------------------------------
/
/
/ Header Top Menu Area
/ - Champs customizations
/ - Top bar with slogans, phone number, and socials
/
/
/ -------------------------------------------------------------*/

.reflex-header-top-menu {
	border-bottom: 1px solid rgba(255,255,255,0.2);
	padding: 0;
	transition: .25s all;
}
.champs-header-grid {
	width: 100%;
	display: flex;
	align-items: stretch;
}
.champs-header-grid .block {
	width: 50%;
	display: flex;
	align-items: stretch;
	padding: 0;
	margin: 0;
}
.champs-header-grid .block:first-of-type {
	justify-content: flex-start;
}
.champs-header-grid .block:last-of-type {
	justify-content: flex-end;
}

/* Header grid cell paddings */

.champs-header-grid .phone,
.champs-header-grid .slogan,
.champs-header-grid .socials,
.champs-header-grid .links {
	padding-top: 15px;
	padding-bottom: 15px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

/* Header grid cell borders & widths */

.champs-header-grid .phone {
	border-right: 1px solid rgba(255,255,255,0.2);
	width: 60%;
}
.champs-header-grid .slogan {
	border: none;
	width: 40%;
}
.champs-header-grid .links {
	border: none;
	width: auto;
}
.champs-header-grid .socials {
	border-left: 1px solid rgba(255,255,255,0.2);
	width: auto;
}

/* Styles for individual header grid cells */

.champs-header-grid .phone {
	text-align: center;
	transition: .25s border-color;
	display: block;
}
.champs-header-grid .phone a {
	margin: 0 10px 0 0;
	font-size: 24px;
	font-family: "montserrat";
	text-decoration: none;
	color: #fff;
}
.champs-header-grid .slogan {
	text-align: left;
	padding-left: 35px;
}
.champs-header-grid .socials {
	text-align: right;
	padding-left: 20px;
}
.champs-header-grid .socials a {
	transition: .25s all;
	text-decoration: none;
}
.champs-header-grid .socials a:hover,
header#header.fixed .champs-header-grid .socials a:hover {
	color: #249CF2;
	text-decoration: none;
}
.champs-header-grid .socials a {
	transition: .25s all;
}
.champs-header-grid .socials a i {
	font-size: 18px;
	margin: 0 10px 0 0;
}
.champs-header-grid .socials a:hover,
header#header.fixed .champs-header-grid .socials a:hover {
	color: #249CF2;
}
.champs-header-grid .links {
	transition: .25s border-color;
	padding-right: 20px;
}
.champs-header-grid .links ul {
	width: 100%;
	list-style: none;
	display: flex;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
}
.champs-header-grid .links ul li {
	display: flex;
	margin: 0 20px 0 0;
}
.champs-header-grid .links ul li:last-child {
	margin: 0;
}
.champs-header-grid .links a {
	font-size: 16px;
}
.champs-header-grid .links a i {
	margin: 0 5px 0 0;
}
.champs-header-grid .links a:hover {
	text-decoration: none;
	color: #249CF2;
}

/* -------------------------------------------------------------
/
/
/ Header Identity Area
/ - Champs Customizations
/ - This area includes the logo, navigation menu, and a CTA button
/
/
/ -------------------------------------------------------------*/

.reflex-header-id-area {
	width: 100%;
	padding: 0;
}
.reflex-header-id-area .logo {
	width: 18%;
	max-width: 225px; /* Added 1/12/21 when reflex-container width was uncapped */
	text-align: center;
	order: 1;
	padding: 10px 0;
}
.reflex-header-id-area .logo img {
	width: 100%;
	height: auto;
}
.reflex-header-id-area .reflex-header-nav {
	/* Removing position: relativie from .reflex-header-nav to defer position: relative to .reflex-header */
	position: static;
	width: 60%;
	order: 2;
}
.reflex-header-id-area .cta-btn {
	width: 15%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	order: 3;
}
.reflex-header-id-area .cta-btn .reflex-btn a {
	font-size: 12px;
	font-weight: bold;
	text-transform: uppercase;
	background: #DD2315;
	border-radius: 4px;
	padding: 20px 30px;
	letter-spacing: 1px;
	transition: .25s all;
}
.reflex-header-id-area .cta-btn .reflex-btn a:hover {
}
.reflex-header-id-area .mobile-menu {
	display: none;
}

/* -------------------------------------------------------------
/
/
/ Desktop Navigation Menu
/ - Champs Customizations
/
/
/ -------------------------------------------------------------*/

/* Menu items for <= 1120px viewports */
nav.reflex ul > li.mobile {
	display: none;
}

@media(min-width:1000px) {

/* -------------------------------------------------------------
/
/ Desktop Navigation Menu
/ - Navigation Bar
/ - Champs Customizations
/
/ -------------------------------------------------------------*/

	nav.reflex ul {
		background: none;
		justify-content: space-between;
	}
	/* Prevent navigation menu items from growing to fill available space */
	nav.reflex ul > li {
		flex-grow: 0;
	}
	nav.reflex ul > li > a {
		border-right: none;
		padding: 35px 0;
		color: #fff;
		font-size: 16px;
		position: relative;
		justify-content: flex-start;
	}
	nav.reflex ul > li > a:hover {
		background: none;
	}
	/* 
	Disabled in 1/12/21 edit
	nav.reflex a.top-level-link::after {
		display: block;
		width: 100%;
		height: 3px;
		background: #fff;
		position: absolute;
		left: 0;
		bottom: 0;
		content: '';
		opacity: 0;
		transition: .25s opacity;
		margin: 0 5px;
	}
	*/
	header#header.fixed nav.reflex a.top-level-link::after {
		background: #DD2616;
	}
	nav.reflex li:hover a.top-level-link::after,
	nav.reflex a.top-level-link.active {
		opacity: 1;
	}
	nav.reflex ul > li > a i {
		margin: 0 0 0 5px;
	}

/* -------------------------------------------------------------
/
/ Desktop Navigation Menu
/ - Drop Down Sub-Menus
/ - Champs customizations
/
/ ------------------------------------------------------------*/

	/* Add rotating arrows to nav menu in 1/12/21 edit */
	nav.reflex li.drop-down-menu::after {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		text-align: center;
		content: '\f0d7';
		font-weight: 900;
		font-family: "Font Awesome 5 Free";
		font-size: 30px;
		color: #249CF2;
		transition: .5s all;
	}
	nav.reflex li.drop-down-menu:hover::after {
		transform: rotate(180deg);
	}
	nav.reflex li.drop-down-menu > ul li a {
		padding: 15px 10px;
		border: none;
		font-size: 16px;
		background: #fff;
		color: #777;
		transition: .25s all;
	}
	nav.reflex li.drop-down-menu > ul li a:hover,
	header#header.fixed nav.reflex li.drop-down-menu > ul li a:hover {
		color: #DD2616;
	}

/* -------------------------------------------------------------
/
/ Desktop Navigation Menu
/ - Drop Down Grid Menus
/ - New style for Service Champions
/
/ ------------------------------------------------------------*/

	nav.reflex li > ul.grid-menu {
		position: absolute;
		width: 1200px;
		margin-left: auto;
		margin-right: auto;
		left: 0;
		right: 0;
	}
	nav.reflex .grid-menu h6 {
		color: #555;
		margin: 0;
		padding: 0;
		font-weight: normal;
	}
	nav.reflex .grid-menu h5 a {
		text-decoration: none;
		color: #1A4D7C;
		font-weight: 700;
		transition: .25s color;
	}
	nav.reflex .grid-menu h5 a:hover {
		color: #DD2315;
	}
	nav.reflex .grid-menu h5 a::after {
		display: block;
		width: 0;
		height: 3px;
		background: #DD2315;
		content: '';
		transition: .35s width;
		transition-delay: 0.25s;
	}
	nav.reflex .grid-menu h5 a:hover::after {
		width: 100%;
		transition-delay: 0.25s;
	}
	nav.reflex .grid-menu > ul i {
		color: #1A4D7C;
	}
	nav.reflex .grid-menu .reflex-img-hover-box i {
		color: #fff;
	}
	nav.reflex .grid-menu .reflex-img-hover-box .reflex-btn a {
		padding: 10px 20px;
	}

} /* End media query */

/* -------------------------------------------------------------
/
/ Mobile Menu
/ - 1st Level Links
/
/ -------------------------------------------------------------*/

@media(max-width:999px) { /* override 1024px */

	nav.reflex ul li a,
	nav.reflex a.top-level-link,
	header#header.fixed nav.reflex a.top-level-link {
		display: flex;
		justify-content: space-between;
		align-items: center;
		text-decoration: none;
		font-size: 16px;
		color: #fff;
		border-bottom: 1px solid rgba(255,255,255,0.1);
		margin: 0;
		padding: 0 15px 0 15px;
		width: 100%;
		height: 60px;
	}
	nav.reflex li.drop-down-menu > ul li a,
	header#header.fixed nav.reflex li.drop-down-menu > ul li a {
		color: #fff;
	}

	/* Add submenu toggle buttons as pseudo elements since Bryan had us get rid of the chevrons on desktop */

	nav.reflex .reflex-submenu-toggle {
		transition: .25s all;
		background: rgba(255,255,255,0.1);
		border-radius: 4px;
		padding: 10px 17px;
	}
	nav.reflex .reflex-submenu-toggle::before {
		transition: .25s all;
		content: '\f078';
		font-weight: 900;
		font-family: 'Font Awesome 5 Free';
		transform: none;
	}
	nav.reflex .rotate::before {
		transform: rotate(180deg);
	}

} /* End media query */

/* -------------------------------------------------------------
/
/ Mobile Menu
/ - Menu items for <= 1120px viewports
/
/ -------------------------------------------------------------*/

@media(max-width:999px) {
	nav.reflex ul > li.mobile {
		display: block;
	}
}

/* -------------------------------------------------------------
/
/ CTA Banner
/ - CTA banner on homepage and other pages
/
/ ------------------------------------------------------------*/

.reflex-cta-banner {
	background: #249CF2;
}
.reflex-cta-banner .reflex-btn a {
	background: #fff;
	color: #000;
}
.reflex-cta-banner .reflex-btn a:hover {
	color: #fff;
}
.reflex-cta-banner h3 {
	color: #fff;
	font-weight: 400;
}
@media(min-width:1025px) {
	.reflex-cta-banner h3 {
		font-size: 30px;
	}
}

/* -------------------------------------------------------------
/
/
/ Reflex Accordion
/ - A simple accordion
/
/
/ -------------------------------------------------------------*/

/* Accordion title bars */
.reflex-accordion .title {
	font-family: "Montserrat";
	font-weight: 600;
	font-size: 14px;
	color:#000;
}
/* Numbered accordion title */
.reflex-accordion.numbered .title span {
	width: 50px;
	padding: 20px 0 20px 0;
	margin: 0 20px 0 0;
	text-align: center;
	background: #51ACFB;
}
/* The open/close symbol */
.reflex-accordion .title:hover,
.reflex-accordion .section.open .title{
	background: #51ACFB;
	color: #000;
}
/* WP Bakery */
.vc_tta-container {
	margin-top: 30px;
}
.vc_tta-panel-title a span {
	font-family: "Montserrat";
	font-weight: 600;
	font-size: 14px;
	color:#000;
}
.vc_active .vc_tta-panel-heading,
.vc_tta-panel-heading:hover {
	background: #51ACFB !important;
	color: #000;
}
.vc_tta-panel-heading .vc_tta-controls-icon::after,
.vc_tta-panel-heading .vc_tta-controls-icon::before {
	border-color: #000 !important;
	color: #000 !important;
}

/* -------------------------------------------------------------
/
/
/ Homepage Styles
/ - Core Homepage Styles
/
/
/ -------------------------------------------------------------*/

/* Headline with box effect behind it */

.champs-box-headline {
	height: 150px;
	padding: 0;
	margin: 0 0 60px 0;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	position: relative;
	text-align: center;
}
.champs-box-headline h2,
.champs-box-headline h3 {
	font-weight: bold;
	z-index: 1;
	position: relative;
	flex-basis: 100%;
	color: #fff;
}
.champs-box-headline h4 {
	color: #fff;
}
.champs-box-headline *:last-child {
	margin: 0;
}

/* Text box with left-aligned icon */

.icon-with-text {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin: 0 0 30px 0;
}
.icon-with-text i {
	color: #249CF2;
	font-size: 45px;
	width: auto;
	text-align: left;
	min-width: 75px;
}
.icon-with-text .text {
	width: auto;
	padding: 0 0 0 30px;
}

/* Icon with big phone number */

.champs-icon-with-phone-number {
	display: inline-block;
	font-size:35px;
	font-weight: bold;
	margin:0 0 30px 0;
	text-decoration: none;
}
.champs-icon-with-phone-number * {
	transition: .25s color;
}
.champs-icon-with-phone-number div {
	display: flex;
	justify-content: flex-start;
	align-items:center;
}
.champs-icon-with-phone-number a,
.champs-icon-with-phone-number a:active,
.champs-icon-with-phone-number a:visited {
	text-decoration: none;
	color: #fff;
}
.champs-icon-with-phone-number a:hover {
	color: #249CF2;
}
.champs-icon-with-phone-number i {
	color: #fff;
	background:#249CF2;
	width:60px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius:30px;
	margin:0 15px 0 0;
	transition: .5s background, .5s transform;

}
.champs-icon-with-phone-number:hover i {
	background: #fff;
	color: #249CF2;
}


/* -------------------------------------------------------------
/
/
/ Homepage Styles
/ - Top Banner
/ - This is referred to as a slider in the CSS, but this site uses a static banner.
/
/
/ -------------------------------------------------------------*/

.home-slider {
	height: auto;
	min-height: 0;
	background: #1A4D7C url('../img/bellbros_home_header_bg.jpg');
	background-size: cover;
	background-position: center;
	color:#fff;
	/* Adjust for overlapping slider boxes, below */
	padding-bottom:100px;
}
.home-slider .slide .reflex-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.home-slider .slide-content {
	width:50%;
}
.home-slider .slide-img {
	align-self:stretch;
	position: relative;
	width:50%;
	background: url('../img/bell_techs.png');
	background-repeat:no-repeat;
	background-size: contain;
	background-position: bottom right;
	transition: none;
}
.home-slider .slide-content {
	padding: 100px 0 100px 0;
}
.home-slider h1 {
	font-size:70px;
	font-weight: bold;
	line-height: 1em;
	flex-basis:100%;
	color: #fff;
}
.home-slider h1 sup {
	font-weight: 400;
	font-size: 20px;
}
.home-slider h1 span {
	color:#249CF2;
}
.home-slider p {
	flex-basis:100%;
	font-size: 20px;
	margin:0 0 30px 0;
}
.home-slider .reflex-btn a {
	background:#DD2315;
	padding:25px 50px;
	text-transform: uppercase;
	letter-spacing: 2px;
}

/* -------------------------------------------------------------
/
/
/ Homepage Slider Boxes
/ - Set of 3 boxes that overlap the bottom of the slider
/
/
/ -------------------------------------------------------------*/

 /* Overlap the slider */

.home-slider-boxes {
	margin: -100px 0 0 0;
}

/* Individual box styles */

.home-slider-boxes .block {
	display: flex;
	align-items: stretch;
	box-shadow: none;
	transition: 0.5s box-shadow;
}
.home-slider-boxes .block:hover {
	box-shadow: 0px 8px 59px 0px rgba(6,30,52,0.1);
	z-index: 2;
}
.home-slider-boxes .block a {
	display: flex;
}
.home-slider-boxes .block a,
.home-slider-boxes .block a:hover,
.home-slider-boxes .block a:active,
.home-slider-boxes .block a:visited {
	text-decoration: none;
	color: #fff;
}

.home-slider-boxes a .box {
	background: #249CF2;
	padding: 45px;
	color: #fff;
}
.home-slider-boxes a .box i {
	font-size: 35px;
	margin: 0 0 15px 0;
}
.home-slider-boxes a .box h4 {
	margin-bottom: 20px;
	color: #fff;
	font-weight: 700;
}
.home-slider-boxes ul li {
	display: flex;
	justify-content: space-between;
	padding:15px 0 10px 0;
	border-bottom:1px solid rgba(255,255,255,0.75);
}
.home-slider-boxes .big-phone-number a,
.home-slider-boxes .big-phone-number a:active,
.home-slider-boxes .big-phone-number a:hover,
.home-slider-boxes .big-phone-number a:visited {
	color: #fff;
	text-decoration: none;
}
.home-slider-boxes .reflex-btn a {
	background: none;
	border: 1px solid #fff;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #fff;
	text-decoration: none;
	padding: 15px 30px;
}
.home-slider-boxes .reflex-btn a:hover {
	background: #DD2416;
	border-color: #DD2416;
	color: #fff;
	text-decoration: none;
}
.home-slider-boxes .big-phone-number {
	font-size: 35px;
}

/* -------------------------------------------------------------
/
/
/ Homepage Services Slider
/ - 3+ slides each showing an image and supporting text
/ - As seen in the Plumbing theme: http://prohauz.bold-themes.com/plumbing/;
/
/
/ -------------------------------------------------------------*/

.home-services-slider {
}
.home-services-slider {
	padding: 45px 0 90px 0;
}
.home-services-slider .services-slide .block {
	display: flex;
	justify-content: flex-start;
	align-content: center;
	flex: 1;
	flex-wrap: wrap;
}
/* The image portion of each service slide */
.home-services-slider .services-slide .block:first-of-type {
	height: 400px;
}
/* The images for each service slide */
.home-services-slider .services-slide:nth-of-type(1) .block:first-of-type {
	background: url('../img/bell-services-slide-01.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.home-services-slider .services-slide:nth-of-type(2) .block:first-of-type {
	background: url('../img/bell-services-slide-02.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.home-services-slider .services-slide:nth-of-type(3) .block:first-of-type {
	background: url('../img/bell-services-slide-03.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
/* The text portion of each service slide */
.home-services-slider .services-slide .block:last-of-type {
	padding: 0 30px 0 60px;
}
.home-services-slider .services-slide .block:last-of-type h3,
.home-services-slider .services-slide .block:last-of-type h5 {
	flex-basis: 100%;
}
/* Icons with text in the text portion of each service slide */
.home-services-slider .services-slide .icon-with-text:last-of-type {
	margin: 0;
}
/* Typography settings for the home services slides */
.home-services-slider .services-slide h3 {
	color: #111;
	margin: 0 0 30px 0;
	font-weight: bold;
}
.home-services-slider .services-slide h3 span {
	color: #249CF2;
}
.home-services-slider .services-slide p a,
.home-services-slider .services-slide p a:active,
.home-services-slider .services-slide p a:visited {
	color: #249CF2;
}
.home-services-slider .services-slide p a:hover {
	color: #DE2416;
}
/* Slick slider settings for the home services slider */
.home-services-slider .reflex-slider-controls i {
	background: #249CF2;
}
.home-services-slider .reflex-slider-controls i:hover {
	background: #000;
}
.home-services-slider .slick-dots li.slick-active button::before {
	color: #249CF2;
}
.home-services-slider .slick-dots li:hover button::before {
	color: #249CF2;
}

/* -------------------------------------------------------------
/ Homepage World's Best Technicians
/ - Large full-width feature section with a gradient bg.
/ -------------------------------------------------------------*/

.home-technicians {
	width: 100%;
	background: #aaa;
	padding: 120px 0 180px 0;
	position: relative;
	background-image: linear-gradient(to right, rgba(24, 74, 117, 0.90) 40%, rgba(24, 74, 117, 0.40) 60%), url("../img/bell-home-technicians.jpg");
	background-position: top right;
	background-size: cover;
}
.home-technicians h2,
.home-technicians h4,
.home-technicians li,
.home-technicians p {
	color: #fff;
}
.home-technicians h2 sup {
	font-weight: 400;
	font-size: 13px;
}

/* -------------------------------------------------------------
/
/ Homepage Counters
/ - Large section with headline, animated numbers, and overlapping boxes.
/
/ -------------------------------------------------------------*/

.home-counters {
	background: #194A75 url('../img/sc_bg_01.jpg');
	background-size: cover;
	padding: 120px 0 180px 0;
	color: #fff;
}
.home-counters.second-set {
	background: #194A75 url('../img/sc_bg_03.jpg');
	background-size: cover;
	background-position: center;
}
/* The counter headline */
.home-counters h2 {
	text-align: center;
	font-size: 60px;
	font-weight: bold;
}
.home-counters h2 span {
	color: #249CF2;
}
.home-counters .counter {
	font-family: "Montserrat";
	font-size: 90px;
	margin: 0;
	color: rgba(255,255,255,0.75);
	font-weight: 100;
}
.home-counters .counter strong {
	color: rgba(255,255,255,1);
	font-weight: 700;
}
.home-counters .counter-label {
	font-size: 18px;
}

/* 2nd set of homepage counters */

.home-counters.second-set h2 {
	font-size: 35px;
	line-height: 1.5em;
}
.home-counters.second-set h4 {
	font-size: 25px;
}
.home-counters.second-set .counter {
	font-size: 45px;
}
.home-counters.second-set .counter i {
	font-size: 35px;
}

/* -------------------------------------------------------------
/
/ Homepage Counter Boxes
/ - A set of boxes that overlap the counters.
/ - There are two sets of these: offer boxes and counter boxes.
/
/ -------------------------------------------------------------*/

/* The overlap effect */
.home-counter-boxes {
	width: 100%;
	background: url('../img/cross_grid.png');
	margin: -120px 0 0 0;
	background-position: center 120px;
	background-repeat: no-repeat;
	z-index: 10;
	position: relative;
}
/* Subtle shadow under boxes */
.home-counter-boxes .reflex-grid {
	box-shadow: 0 10px 20px -10px rgba(0,0,0,.25);
}
/* Styles for the first set of counter boxes */
.home-counter-boxes.first-set .block {
	background: #eee;
	min-height: 300px;
	padding: 30px;
	position: relative;
}
.home-counter-boxes.first-set .block::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.65);
	z-index: 1;
	transition: 1s all;
}
.home-counter-boxes.first-set h6 {
	color: #fff;
	z-index: 2;
	position: relative;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.35);
}
.home-counter-boxes.first-set p.offer-title {
	font-family: "Montserrat";
	position: relative;
	font-size: 30px;
	font-weight: bold;
	color: #fff;
	margin: 0 0 15px 0;
	z-index: 2;
	line-height: 1.3em;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.35);
}
.home-counter-boxes.first-set .block p.offer-title span {
	color: #249CF2;
}
.home-counter-boxes.first-set .reflex-btn {
	z-index: 2;
	position: absolute;
	bottom: 20px;
}
/* Individual counter box backgrounds */
.home-counter-boxes.first-set .block:nth-of-type(1) {
	background: #333 url('../img/offer3.jpg');
	background-size: cover;
	background-position: center;
}
.home-counter-boxes.first-set .block:nth-of-type(2) {
	background: #333 url('../img/offer2.jpg');
	background-size: cover;
	background-position: center;
}
.home-counter-boxes.first-set .block:nth-of-type(3) {
	background: #333 url('../img/offer1.jpg');
	background-size: cover;
	background-position: center;
}
/* Styles for the second set of counter boxes */
.home-counter-boxes.second-set {
	background: none;
}
.home-counter-boxes.second-set .block {
	height: 240px; /* Should be twice the negative overlap margin above */
	position: relative;
	padding: 30px;
	background: #249CF2;
	color: #fff;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.15);
}
.home-counter-boxes.second-set .block:nth-of-type(even)::after {
	z-index: 1;
	position: absolute;
	display: block;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.15);
}
.home-counter-boxes.second-set .block * {
	z-index: 2;
	position: relative;
}
.home-counter-boxes.second-set .block i {
	width: 70px;
	height: 70px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	color: #249CF2;
	font-size: 35px;
	text-shadow: none;
	position: relative;
	margin: -65px 0 30px 0;
}
.home-counter-boxes.second-set h5 {
	text-transform: uppercase;
	font-weight: bold;
	color: #fff;
}
.home-counter-boxes.second-set a,
.home-counter-boxes.second-set a:hover,
.home-counter-boxes.second-set a:active,
.home-counter-boxes.second-set a:visited {
	color: #fff;
	text-decoration: none;
}

/* -------------------------------------------------------------
/
/
/ Homepage Content Area 1
/ - Section with headline and icons with text
/
/
/ -------------------------------------------------------------*/

.home-content-area-1 {
	padding: 90px 0 90px 0;
}
.home-content-area-1 h3 {
	font-weight: bold;
}
.home-content-area-1 h3 a,
.home-content-area-1 h3 a:visited,
.home-content-area-1 h3 a:active {
	color: #249CF2;
	text-decoration: none;
}
.home-content-area-1 h3 a:hover {
	color: #249CF2;
	text-decoration: underline;
}

/* -------------------------------------------------------------
/
/
/ Homepage Content Area 2
/ - Area with accordion and video
/
/
/ -------------------------------------------------------------*/

.home-content-area-2 {
	padding: 90px 0 90px 0;
	background: #efefef;
}
.home-content-area-2 .block {
	display: flex;
	align-items: center;
	justify-items: center;
	flex-wrap: wrap;
}
.home-content-area-2 .block h3 {
	flex-basis: 100%;
}
.home-content-area-2 h3 {
	font-weight: bold;
}

/* -------------------------------------------------------------
/
/
/ Homepage Reviews
/ - Large section with reviews slider
/
/
/ -------------------------------------------------------------*/

.home-reviews {
	background: #194A75 url('../img/sc_bg_04.jpg');
	background-size: cover;
	background-position: center;
	padding: 90px 0 90px 0;
	color: #fff;
}
.home-reviews h2 {
	font-size: 60px;
}
.home-reviews h2 span {
	color: #249CF2;
}

/* The reviews slider */

.home-reviews .slick-slider {
	width: 100%;
	margin: 45px 0 0 0;
}

/* Reviews slider navigation styles */

.home-reviews .slick-dots li button::before {
	color: #fff;
}
.home-reviews .slick-dots li.slick-active button::before {
	color: #249CF2;
}
.home-reviews .slick-dots li:hover button::before {
	color: #249CF2;
}
.slick-slider .slick-prev::before,
.slick-slider .slick-prev:focus::before,
.slick-slider .slick-next::before,
.slick-slider .slick-next:focus::before {
	color: #fff;
}
.home-reviews .slick-prev:hover::before,
.home-reviews .slick-next:hover::before {
	color: #fff;
}

/* Review slide styles */

.home-reviews .review p {
	font-size: 20px;
}
.home-reviews .reviewer,
.home-reviews .reviewer span {
	display: block;
}
.home-reviews .reviewer i {
	font-size: 18px;
	margin-right: 5px;
	color: #ffcc00;
}
.home-reviews .reviewer span {
	font-size: 16px;
	margin: 20px 0 0 0;
}
.home-reviews .reviewer strong {
	text-transform: uppercase;
}


/* -------------------------------------------------------------
/
/
/ Homepage Content Area 3
/ - Large section with body copy and technician photo side-by-side
/
/
/ -------------------------------------------------------------*/

.home-content-area-3 {
	background: url('../img/cross_grid.png');
	background-position: top center;
	background-repeat: no-repeat;
	padding: 60px 0 0 0;
}
.home-content-area-3 h3 {
	font-weight: bold;
}
.home-content-area-3 h4 {
	margin-bottom: 30px;
}
/* The text column */
.home-content-area-3 .block:first-of-type {
	padding: 120px 60px 120px 0;
}
/* The image column */
.home-content-area-3 .block:last-of-type {
	margin: 60px 0 0 0;
	background: url('../img/background_transparent_02.png');
	background-size: contain;
	background-position: center bottom;
	background-repeat: no-repeat;
}
.home-content-area-3 .champs-icon-with-phone-number {
	margin: 15px 0 30px 0;
}
.home-content-area-3 .champs-icon-with-phone-number a,
.home-content-area-3 .champs-icon-with-phone-number a:active,
.home-content-area-3 .champs-icon-with-phone-number a:visited {
	text-decoration: none;
	color: #000;
}
.home-content-area-3 .champs-icon-with-phone-number a:hover {
	color: #249CF2;
}
.home-content-area-3 .champs-icon-with-phone-number:hover i {
	background: #000;
	color: #fff;
}


/* -------------------------------------------------------------
/
/
/ Homepage Recent Posts
/ - Large section with body copy and technician photo side-by-side
/
/
/ -------------------------------------------------------------*/

.home-recent-posts {
	margin: 0;
	padding: 90px 0 90px 0;
	background: #eee;
}
.home-recent-posts h3,
.home-recent-posts h4 {
	font-weight: bold;
}
.home-recent-posts ul {
	width: 100%;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: stretch;
}
.home-recent-posts li {
	background: #fff;
	display: block;
	flex-basis: 23%;
	margin: 0;
}
.home-recent-posts .rpwwt-widget ul li {
	padding: 0;
	margin: 0;
}
.home-recent-posts .rpwwt-widget ul li img {
	max-width: none !important; /* Override individual img id settings */
	border: none;
	width: 100%;
	height: auto;
}
.home-recent-posts .rpwwt-widget .rpwwt-post-title {
	background: none;
}
.home-recent-posts .rpwwt-widget .rpwwt-post-title {
	padding: 30px 30px 15px 30px;
}
.home-recent-posts .rpwwt-post-excerpt {
	padding: 0 30px 30px 30px;
}
.home-recent-posts .rpwwt-post-excerpt a {
	margin: 15px 0 0 0;
	display: block;
	text-align: center;
	font-size: 13px;
	padding: 15px 20px;
	background: #DD2315;
	border-radius: 4px;
	transition: .3s all;
	text-transform: uppercase;
	font-weight: bold;
	letter-spacing: 1px;
	color: #fff;
}

.home-recent-posts .rpwwt-post-excerpt a:hover {
	color: #fff;
	background: #184A75;
}

/* -------------------------------------------------------------
/
/
/ Homepage Google margin-top: 
/ - A Google Map iFrame that is overlapped by the 2nd set of counter boxes
/
/
/ -------------------------------------------------------------*/

.home-google-map {
	width: 100%;
	z-index: 1;
	margin: -120px 0 0 0; /* Should be half the height of the second set of counter boxes */
	background: #ccc;
	display: block;
	position: relative;
}
.home-google-map #map {
	width: 100%;
	height: 600px;
	background: #ccc;
	display: block;
	z-index: 1;
}

/* -------------------------------------------------------------
/
/
/ Footer Styles
/
/
/ -------------------------------------------------------------*/

footer {
	background: #184A75;
	padding: 90px 0 30px 0;
}
footer h4 {
	text-transform: uppercase;
}
footer .first-footer-row {
	margin-bottom: 45px;
	padding-bottom: 45px;
	border-bottom: 1px solid rgba(255,255,255,0.25);
}
footer .second-footer-row {
	margin-bottom: 45px;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(255,255,255,0.25);
}
footer .first-footer-row .footer-logo {
	padding: 0 30px 0 0;
}
footer .first-footer-row .footer-logo div,
foorer .first-footer-row .footer-logo img {
	width: 100%;
	height: 100px;
	background: rgba(0,0,0,0.25);
}
footer .first-footer-row h5 {
	color: #fff;
	font-weight: bold;
}
footer .first-footer-row ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
footer .first-footer-row li a {
	text-decoration: underline;
	color: #fff;
}
footer .contact i,
footer .contact a {
	font-size: 30px;
}
footer .contact i {
	font-size: 30px;
	margin: 0 10px 0 0;
	color: rgba(255,255,255,0.5);
	transition: .5s all;
}
footer .contact a {
	color: #fff;
	text-decoration: none;
	transition: .5s color;
}
footer .contact a:hover {
	color: #249CF2;
}
footer .socials {
	text-align: right;
}
footer .socials i {
	font-size: 30px;
	margin: 0 10px 0 0;
	color: rgba(255,255,255,0.5);
	transition: .5s all;
	text-align: right;
}
footer .socials i:hover {
	color: #fff;
}
footer .second-footer-row .cta-buttons .buttons {
	display: flex;
	justify-content: flex-start;
}
footer .second-footer-row .cta-buttons .reflex-btn {
	margin: 0 15px 0 0;
}
footer .legal p, footer .legal a {
	font-size: 13px;
	color: rgba(255,255,255,0.5);
}
footer .legal a:hover {
	color: #fff;
}

/* -------------------------------------------------------------
/
/
/ WordPress Reflex Title Bar
/
/
/ -------------------------------------------------------------*/

.reflex-title-bar .reflex-container {
	height: 180px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
body:not(.home) .reflex-content .reflex-title-bar h3 {
	color: #fff;
	margin: 0;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 30px;
	letter-spacing: 1px;
}
.reflex-title-bar h3 {
}
.reflex-title-bar h3 a,
.reflex-title-bar h3 a:visited {
	color: #fff;
	text-decoration: none;
	transition: .25s all;
}
.reflex-title-bar h3 a:hover,
.reflex-title-bar h3 a:active {
	color: rgba(255,255,255,0.75);
}
.reflex-title-bar .truck {
	width: 300px;
	transition: 2s all;
	position: relative;
	right: 0;
}
.reflex-title-bar .truck.mini {
	transform: scale(0.5);
	right: -300px;
}
.reflex-title-bar .truck p {
	color: rgba(255,255,255,0.5);
	margin: 0;
}


/* -------------------------------------------------------------
/
/
/ Services Template Styles
/
/
/ -------------------------------------------------------------*/

/* -------------------------------------------------------------
/ Service Icon Boxes
/ -------------------------------------------------------------*/

.service-icons {
	width: 100%;
	padding: 120px 0;
	background: url('../img/cross_grid.png');
	background-position: center top;
	background-repeat: no-repeat;
}
.service-icons h1,
.service-icons h5 {
	text-align: center;
}
.service-icons .reflex-grid {
	padding: 60px 0;
}
.service-icons .reflex-grid .block {
	text-align: center;
}
.service-icons .block i {
	color: #249CF2;
	font-size: 45px;
	margin: 0 0 15px 0;
	transition: .5s all;
}
.service-icons .block:hover i {
	color: #000;
}

/* -------------------------------------------------------------
/ Service Icon Styles for WP Bakery
/ -------------------------------------------------------------*/

.vc_section.service-icons h1 {
	font-size: 40px;
	line-height: 1.3em;
}
.vc_section .icon-row {
	padding: 30px 0;
}
.vc_section.vc_section-has-fill.service-icons {
	padding: 120px 0 90px 0 !important;
}
.service-icons .vc_icon_element.vc_icon_element-outer.vc_icon_element-align-center {
	margin-bottom: 10px;
}
.service-icons .vc_icon_element.vc_icon_element-outer .vc_icon_element-inner .vc_icon_element-icon::before {
	color: #249CF2;
	font-size: 45px;
}

/* -------------------------------------------------------------
/ Service Grid
/ - Full-width 2-column service grid with text and an image
/ -------------------------------------------------------------*/

.service-grid {
	width: 100%;
	background: #F9F9F9;
}
.service-grid.nobg {
	background: none;
}
.service-grid .img {
	background: #ccc;
	min-height: 400px;
}
.service-grid .text {
	padding: 120px 60px;
}
.service-grid h2 {
	font-size: 24px;
	line-height: 1.1em;
	color: #194A75;
}
.service-grid ul,
ul.big-checkmarks {
	list-style: none;
	margin: 0;
	padding: 0;
}
.service-grid ul:not(:last-child) {
	margin-bottom: 20px;
}
.service-grid ul li,
ul.big-checkmarks li {
	font-family: "Montserrat";
	font-weight: 600;
	color: #000;
	font-size: 16px;
	margin: 0 0 10px 0;
}
.home-technicians ul.big-checkmarks li {
	color: #fff;
	font-weight: normal;
}
.service-grid ul li::before,
ul.big-checkmarks li::before {
	color: #249CF2;
	font-family: "Font Awesome 5 Free";
	font-weight: 800;
	content: '\f00c';
	font-size: 20px;
	margin: 0 10px 0 0;
}
.home-technicians ul.big-checkmarks li::before {

}
.service-grid ul li:last-child {
	margin: 0;
}

/* -------------------------------------------------------------
/ Service Grid Styles for WP Bakery
/ -------------------------------------------------------------*/

.service-grid h2.vc_custom_heading {
	font-weight: bold;
	line-height: 1.4em;
}
.service-grid h5.vc_custom_heading {
	line-height: 1.4em;
}
.vc_section.vc_section-has-fill.service-icons {
	padding: 120px 0 20px 0 !important;
}
.service-grid .vc_column-inner {
	min-height: 400px !important;
	padding: 60px 60px !important;
}
.service-grid .wpb_content_element:last-child {
	margin: 0;
}
.service-grid .bg-align-left .vc_column-inner {
	background-position: left !important;
}
.service-grid .bg-align-right .vc_column-inner {
	background-position: right !important;
}

.service-grid .bg-align-center .vc_column-inner {
	background-position: center !important;
}

/* -------------------------------------------------------------
/ Service Grid Images
/ -------------------------------------------------------------*/

.service-grid .img.service-a {
	background: url('../img/services/service-grid-bg-1.jpg');
	background-size: cover;
	background-position: center;
}
.service-grid .img.service-b {
	background: url('../img/services/service-grid-bg-2.jpg');
	background-size: cover;	
	background-position: center;
}
.service-grid .img.service-c {
	background: url('../img/services/service-grid-bg-3.jpg');
	background-size: cover;	
	background-position: center;
}
.service-grid .img.service-d {
	background: url('../img/services/service-grid-bg-4.jpg');
	background-size: cover;
	background-position: center;
}
.service-grid .img.window-replacement-quotes {
	background: url('../img/services/service-grid-replacement-window-quotes.jpg');
	background-size: cover;
	background-position: center;
}
.service-grid .img.plumbing {
	background: url('../img/services/service-grid-trusted-plumber.jpg');
	background-size: cover;
	background-position: center;
}
.service-grid .img.peaceofmind {
	background: url('../img/services/service-grid-peaceofmind.jpg');
	background-size: cover;
	background-position: center;
}
.service-grid .img.reputation {
	background: url('../img/services/service-grid-reputation.jpg');
	background-size: cover;
	background-position: center;
}

/* -------------------------------------------------------------
/ Service Feature
/ - Large full-width feature section with a gradient bg,
/ - text, and an accordion FAQ
/ -------------------------------------------------------------*/

.service-feature {
	width: 100%;
	background: #aaa;
	padding: 240px 0 120px 0;
	position: relative;
	background-image: linear-gradient(to right, rgba(228, 239, 244, 1) 40%, rgba(228, 239, 244, 0) 60%), url("../img/services/service-feature-bg.jpg");
	background-position: top;
	background-size: cover;
}
.service-feature.ac-repair {
	background-image: linear-gradient(to right, rgba(228, 239, 244, 0.9) 40%, rgba(228, 239, 244, 0) 60%), url("../img/services/service-feature-ac-repair.jpg");
	background-position: top;
	background-size: cover;
}
.service-feature.replacement-windows {
	background-image: linear-gradient(to right, rgba(228, 239, 244, 0.9) 40%, rgba(228, 239, 244, 0) 60%), url("../img/services/window-feature-bg.jpg");
	background-position: top;
	background-size: cover;
}
.service-feature::after {
	content: '';
	display: block;
	width: 100%;
	height: 200px;
	position: absolute;
	top: 0;
	left: 0;
	background: url('../img/cross_grid.png');
	background-position: center top;
	background-repeat: no-repeat;
}
.service-feature .reflex-accordion {
	margin-top: 30px;
}
.service-feature h2 {
	font-size: 30px;
	line-height: 1.4em;
	color: #194A75;
}

/* -------------------------------------------------------------
/ Service Feature Styles for WP Bakery
/ -------------------------------------------------------------*/

.vc_section.service-feature h2 {
	font-weight: bold;
}
.vc_section.vc_section-has-fill.service-feature {
	padding-top: 240px !important;
	padding-bottom: 120px !important;
}
.vc_section.vc_section-has-fill.service-feature::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(228, 239, 244, 0.9) 40%, rgba(228, 239, 244, 0) 60%);
}
.vc_section.vc_section-has-fill.service-feature.reverse::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(228, 239, 244, 0) 30%, rgba(228, 239, 244, 0.9) 50%);
}

/* -------------------------------------------------------------
/ Service Cards
/ - Multi-column layout with service cards
/ -------------------------------------------------------------*/

.service-cards {
	background: #F9F9F9;
	padding: 120px 0;
}
.service-cards h2 {
	color: #194A75;
}
.service-cards h2,
.service-cards h5 {
	text-align: center;
}
.service-cards .reflex-grid {
	margin-top: 60px;
}
.service-cards .block {
	border: 1px solid #DCDCDC;
	background: #fff;
	transition: .5s all;
	box-shadow: none;
}
.service-cards .block:hover {
	box-shadow: 0 10px 20px -10px rgba(0,0,0,.2);
}
.service-cards .img {
	min-height: 200px;
	width: 100%;
	background: #ccc;
}
.service-cards .img img {
	width: 100%;
	height: auto;
	z-index: 1;
	position: relative;
}
.service-cards i {
	color: #fff;
	background: #184A75;
	width: 70px;
	height: 70px;
	font-size: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: -35px 0 0 30px;
	transition: .5s all;
	position: relative;
	z-index: 2;
}
.service-cards i:hover {
	background: #DD2416;
}
.service-cards .text {
	width: 100%;
	padding: 30px;
}
.service-cards .text h5 {
	text-align: left;
	font-weight: 700;
	line-height: 1em;
}

/* -------------------------------------------------------------
/ Service Cards WP Bakery Styles
/ -------------------------------------------------------------*/

.service-cards .vc_icon_element {
	margin: -35px 0 20px 0;
}
.service-cards .wpb_single_image.wpb_content_element {
	margin: 0;
}
.service-cards .wpb_content_element {
	margin: 0 0 20px 0
}
.service-cards .wpb_content_element:last-child {
	margin: 0;
}

/* -------------------------------------------------------------
/ Standard Services Page
/ - Base page used for individual service pages
/ -------------------------------------------------------------*/

.standard-service .service-section {
	padding: 60px 0;
	background: #fff;
}
.standard-service .service-section:first-of-type {
	padding: 30px 0 60px 0;
}
.standard-service .service-section:nth-of-type(even) {
	background: #F9F9F9;
}
.standard-service .service-section.pattern-top {
	width: 100%;
	padding: 120px 0;
	background: url('../img/cross_grid.png');
	background-position: center top;
	background-repeat: no-repeat;
}

/* -------------------------------------------------------------
/
/
/ Special Offers Template Styles
/
/
/ -------------------------------------------------------------*/

main.special-offers {
	background: #F9F9F9;
	padding: 60px 0 0 0;
}

/* -------------------------------------------------------------
/ Special Offer Box
/ -------------------------------------------------------------*/

.champs-offer {
	margin: 0 0 60px 0;
}
.champs-offer .reflex-grid {
	border: 1px solid #DCDCDC;
	background: #fff;
	transition: .5s all;
}
.champs-offer .reflex-grid:hover {
	box-shadow: 0 10px 20px -10px rgba(0,0,0,.2);
}
.champs-offer .img {
	background: #ccc;
}
.champs-offer .text {
	padding: 60px 30px;
}
.champs-offer h4 a,
.champs-offer h4 a:hover,
.champs-offer h4 a:visited,
.champs-offer h4 a:active {
	color: #000;
	text-decoration: none;
}
.champs-offer p.terms {
	font-size: 14px;
	color: #999;
}

/* -------------------------------------------------------------
/ Special Offer Images
/ -------------------------------------------------------------*/

.champs-offer .img {
	min-height: 300px;
}

/* -------------------------------------------------------------
/ Full-Width Featured Offer
/ -------------------------------------------------------------*/

.champs-featured-offer {
	width: 100%;
	padding: 120px 0;
	margin: 0 0 60px 0;
	background-image: linear-gradient(to right, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 75%), url("../img/special-offers/featured-offer.jpg");
	background-position: right;
}
.champs-featured-offer h6,
.champs-featured-offer h1,
.champs-featured-offer h5 {
	color: #fff;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.25);
	margin: 0 0 15px 0;
}
.champs-featured-offer h1 {
	font-size: 60px;
}
.champs-featured-offer .reflex-btn {
	margin: 60px 0 0 0;
}


/* -------------------------------------------------------------
/
/
/ Service Area Template Styles
/
/
/ -------------------------------------------------------------*/

/* -------------------------------------------------------------
/ Full-Width Google Maps
/ -------------------------------------------------------------*/

.champs-google-map {
	width: 100%;
	z-index: 1;
	margin: 0;
	background: #ccc;
	display: block;
	position: relative;
}
.champs-google-map #map {
	width: 100%;
	height: 600px;
	background: #ccc;
	display: block;
	z-index: 1;
}
.county-map {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

/* -------------------------------------------------------------
/ Contact Card Overlapping Map
/ -------------------------------------------------------------*/

.reflex-grid.map-card {
	height: 600px;
	margin: -600px 0 0 0;
	padding: 60px 0;
	z-index: 2;
	position: relative;
}
.reflex-grid.map-card .block:first-of-type {
	background: #fff;
	padding: 30px;
	box-shadow: 0 10px 20px -10px rgba(0,0,0,.2);
}
.reflex-grid.map-card p a {
	font-weight: bold;
	color: #184A75;
	transition: .5s all;
	text-decoration: none;
}
.reflex-grid.map-card p a:hover {
	color: #DD2315;
}

/* -------------------------------------------------------------
/ Service Area County Blocks
/ -------------------------------------------------------------*/

.reflex-grid.counties .block {
	width: 100%;
	flex-basis: 100%;
	border-top: 1px solid #184A75;
	margin: 45px 0 0 0;
	padding: 45px 0 0 0;
}
.reflex-grid.counties .block:first-of-type {
	padding-top: 0;
	margin-top: 0;
	border-top: none;
}
.reflex-grid.counties .block h5 {
	text-transform: uppercase;
}
.reflex-grid.counties .block ul {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}
.reflex-grid.counties .block li {
	background: #E4EFF4;
	border-radius: 2px;
	padding: 5px 30px;
	margin: 0 5px 5px 0;
}

/* -------------------------------------------------------------
/
/
/ About Us Template Styles
/
/
/ -------------------------------------------------------------*/

/* -------------------------------------------------------------
/ About Feature
/ - Large full-width feature section with a gradient bg,
/ - text, and an accordion FAQ
/ -------------------------------------------------------------*/

.about-feature {
	width: 100%;
	background: #aaa;
	padding: 120px 0 120px 0;
	position: relative;
	background-image: linear-gradient(to right, rgba(228, 239, 244, 0) 40%, rgba(228, 239, 244, 1) 60%), url("../img/about-us/about-feature-bg.jpg");
	background-position: center;
	background-size: cover;
}
.about-feature .reflex-accordion {
	margin-top: 30px;
}

/* -------------------------------------------------------------
/
/
/ Book Online (Contact Us) Template Styles
/
/
/ -------------------------------------------------------------*/

.reflex-content.book-online {
	background: #F9F9F9;
}
.reflex-grid.contact-us .block {
	flex-basis: auto;
}
.contact-us .block.form {
	width: 65%;
	order: 2;
}
.contact-us .block.contact-info {
	width: 35%;
	text-align: left;
	order: 1;
}
.contact-us h5 {
	color: #184A75;
}

/* -------------------------------------------------------------
/
/
/ WordPress Page Styles
/
/
/ -------------------------------------------------------------*/

ul {
	list-style: disc;
	margin: 0 0 20px 40px;
}
#sidebar .widget-area h3 {
	font-size: 25px;
	color: #222;
}

/* -------------------------------------------------------------
/
/
/ WordPress Blog Styles
/
/
/ -------------------------------------------------------------*/

/* -------------------------------------------------------------
/ Blog Footer Pagination Numbers
/ .wp-pagenavi
/ -------------------------------------------------------------*/

.wp-pagenavi {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.wp-pagenavi span,
.wp-pagenavi a {
	border-radius: 4px;
	padding: 5px 10px;
	border: 1px solid;
	margin: 0 5px 5px 0;
}
.wp-pagenavi span {
	background: #fff;
	color: #DE2315;
	border-color: #DE2315;
}
.wp-pagenavi span.current {
	color: #fff;
	background: #DE2315;
	border-color: #DE2315;
}
.wp-pagenavi span.extend,
.wp-pagenavi span.pages {
	border-color: #184A75;
	color: #184A75;
	opacity: 0.75;
}
.wp-pagenavi a {
	color: #fff;
	background: #184A75;
	border-color: #184A75;
	transition: .25s all;
	opacity: 1;
	text-decoration: none;
}
.wp-pagenavi a:hover {
	opacity: 0.75;
}

/* -------------------------------------------------------------
/ Featured Images
/ -------------------------------------------------------------*/

.reflex-featured-img {
	position: relative;
	width: 100%;
	height: auto;
	border: 1px solid #184A73;
	background: #184A73;
}
.reflex-featured-img img {
	display: block;
	width: 100%;
	height: auto;
	opacity: 1;
	transition: .5s all;
}
.reflex-featured-img img:hover {
	opacity: 0.8;
}

/* -------------------------------------------------------------
/ Recent Posts With Thumbnails Widget
/ -----------------------------------------------------------*/

.rpwwt-widget a {
	text-decoration: none;
	display: block;
	color: #184A75;
}
.rpwwt-widget a:hover {
	color: #DD2315;
}
.rpwwt-widget .rpwwt-post-title {
	width: 100%;
	display: block;
	font-weight: 700;
	font-family: "Montserrat";
	font-size: 18px;
	text-decoration: none;
	margin: 0;
	background: #eee;
	padding: 15px;
}
.rpwwt-widget .rpwwt-post-title * {
	margin: 0;
}
.rpwwt-widget ul li img {
	border-bottom: 5px solid #184A75;
	transition: .5s all;
	margin: 0;
}
.rpwwt-widget ul li a:hover img {
	border-color: #DD2315;
}

/* -------------------------------------------------------------
/ Entry Meta
/ -------------------------------------------------------------*/

.entry-meta {
	text-transform: uppercase;
	font-weight: 600;
	font-family: "Montserrat";
}

/* -------------------------------------------------------------
/ Article Content Block (Blog Page)
/ -------------------------------------------------------------*/

.article-content {
	padding: 0 0 45px 0;
	margin: 0 0 45px 0;
	border-bottom: 2px solid #eee;
}
.article-content .entry-title a {
	text-decoration: none;
	color: #222;
	transition: .5s all;
}
.article-content .entry-title a:hover {
	color: #184A75;
}

/* -------------------------------------------------------------
/ Entry Links (Previous & Next Post Buttons)
/ -------------------------------------------------------------*/

.entry-links {
	display: flex;
}
.entry-links .reflex-btn {
	margin: 0 10px 0 0;
}

