/*--------------------------------------------------------------
>>> MASTER.CSS TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 General
2.0 Header
3.0 Pages
	3.1 Home Page
4.0	Blog
5.0	Sidebar
6.0	Footer
7.0	Responsive
--------------------------------------------------------------*/

/*--------------------------------------------------------------
1.0 General
--------------------------------------------------------------*/

.inner,
.home-content,
.site-content,
.sticky-contact,
#colophon,
#footer-navigation {
	width: 100%;
	max-width: 1230px;
	margin: 0 auto;
	padding: 0 2%;
}
.site-content {
	background-color: #fff;
}
.page-id-2 .site-content {
	background-color: #29292c;
}

h1, h3 {
   font-family: 'Questrial', sans-serif;
   font-weight: normal;
}
h1, h3 {
   color: #444;
}
h2 {
	color: #c31e26;
	font-weight: normal;
	font-size: 2.1rem;
}
.entry-content h3 {
	font-size: 1.4em;
}
h2.widget-title {
	font-weight: normal;
}
#content {
	padding-top: 1.5em;
}
.entry-content ul,
.entry-content ol {
	margin: 0 0 1em 0;
}
.entry-content ul {
	padding: 0 0 0 1.7em;
}
.entry-content ul li,
.entry-content ol li {
	list-style: none;
	margin-bottom: 0.75em;
}
.entry-content ul li:before {
	content: "\f138";
	font-family: FontAwesome;
	color: #c31e26;
	margin-right: 0.5em;
	margin-left: -1.5em;
}

@media screen and (max-width: 48.5em) { 

	h2 {
		font-size: 1.6rem;
	}
}

/** Style Ordered List Numbers **/

.entry-content ol {
   counter-reset: item;
   margin-left: 2em;
}
.entry-content ol li {
   counter-increment: item;
}
.entry-content ol li:before {
   margin-right: 0.5em;
   margin-left: -2em;
   font-weight: bold;
   content: counter(item);
   background: #c31e26;
   border-radius: 100%;
   color: white;
   width: 1.5em;
   text-align: center;
   display: inline-block;
}

@media screen and (max-width: 48.5em) { 

	.entry-content ol {
	   margin-left: 1.5em;
	}
	.entry-content ol li:before {
	   margin-left: -1.5em;
	   width: 1.2em;
	}
}

/** END Style Ordered List Numbers **/
 
.page-feature-image {
	max-height: 300px;
	overflow: hidden;
}
.page-feature-image img {
	width: 100%;
	height: auto;
}
.page-feature-image {
	margin-bottom: -4.5em;
	position: relative;
	z-index: -9;
	min-height: 75px;
}
.entry-content button {
	border: none;
	padding: 10px 10px;
}
.entry-content button a {
	display: block;
	text-decoration: none;
	margin: -10px -10px;
	padding: 10px 10px;
	background: #fff;
	border: 1px solid #444;
}
.entry-content button a:hover,
.entry-content button:hover a {
	color: #fff;
	background-color: #444;
}

/*--------------------------------------------------------------
2.0 Header
--------------------------------------------------------------*/

#masthead {
	background-color: #29292c;
	padding: 2em 0;
}
.inner {
	overflow: hidden;
}

/** Flex the logo and menu **/

.header-top {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.custom-logo-link,
#contact-navigation {
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;
}

@media screen and (max-width: 48.5em) { 

	.header-top {
	    -webkit-flex-direction: column;
	    -ms-flex-direction: column;
	    flex-direction: column;
	    -webkit-justify-content: flex-start;
	    -ms-flex-pack: start;
	    justify-content: flex-start;
	}
	#site-navigation {
		display: none;
	}
	.custom-logo-link img {
		width: 70%;
		margin: 0 auto;
		display: block;
	}
}

/** END Flex the logo and menu **/

a.freephone {
	display: block;
	float: right;
	margin: 0.25em 0;
	font-size: 1.8rem;
	text-decoration: none;
	color: #444;
}

.header-top {
	margin-bottom: 1em;
}
a.custom-logo-link {
	/** float: left; **/ /** ADDED FEB 19 **/
	display: block;
	width: 30%;
	margin: 0 auto; /** ADDED FEB 19 **/
}
.site-branding {
	width: 70%;
	float: left;
}
@media screen and (max-width: 48.5em) {
	.header-top {
		margin-bottom: 0.5em;
	}
	a.custom-logo-link {
		width: 100%;
	}
	.site-branding {
		width: 100%;
	}
}

/*--------------------------------------------------------------
3.0 Pages
--------------------------------------------------------------*/

/*--------------------------------------------------------------
3.1 Home Page
--------------------------------------------------------------*/

body.page-id-2 {
	background-color: #29292c;
}
body.page-id-2 h1,
body.page-id-2 h2,
body.page-id-2 h3,
body.page-id-2 p {
	color: white;
}
.page-template-page-home .hentry {
	margin: 0 0 0;
}
.page-template-page-home #content {
	padding-bottom: 0;
}
.nooverflow {
	overflow: hidden;
}
.entry-content:before {
	margin-top: -0.2em;
}
.page-template-page-home h1 {
	margin-bottom: 0.5em;
	font-size: 2.6em;
}
.page-template-page-home h1,
.page-template-page-home h2,
.page-template-page-home h3,
.page-template-page-home h4 {
	text-align: center;
}
.page-template-page-home h3 {
	font-size: 1.6rem;
}
.page-template-page-home h4 {
	font-size: 1.4rem;
}
.page-template-page-home .entry-content p.intro {
	font-size: 130%;
}
.page-template-page-home .entry-content p {
	text-align: center;
	font-size: 110%;
	padding: 0 4%;
}
.ddline {
	border-top: 1px solid #c31e26;
	padding-top: 2em;
}
.page-template-page-home .services-summaries h3,
.page-template-page-home .services-summaries p {
	padding: 0 0;
	margin: 0;
}

ul.areas-covered {
	overflow: hidden;
	display: table;
}
ul.areas-covered li {
	float: left;
	color: white;
	margin: 0.5em 2em 1em 0.75em;
	font-size: 1.5rem;
}
.entry-content ul.areas-covered li:before {
	margin-right: 0.25em;
	margin-left: -1.5em;
}

@media screen and (max-width: 48.5em) {

	.page-template-page-home h1 {
		padding-top: 0;
		font-size: 1.6em;
	}
	.page-template-page-home h2,
	.page-template-page-home h3,
	.page-template-page-home h4 {
		font-size: 1.4em;
	}
	.page-template-page-home .entry-content p {
		font-size: 100%;
	}
	ul.areas-covered li {
		float: none;
		color: white;
		margin: 0.5em 1em 0.5em 0.5em;
		font-size: 1.4rem;
	}
	.entry-content ul.areas-covered li:before {
		margin-right: 0.25em;
		margin-left: -1.4em;
	}
	.ddline {
		margin-top: 2em;
		padding-top: 2em!important;
	}
	
}

/** Request a Quote Button **/

.request-quote-button .textwidget {
	text-align: center;
	
}
.request-quote-button button {
	margin: 4em 0;
	box-shadow: 0px 2px 5px rgba(68, 68, 68, 0.6);
}
.request-quote-button button a {
	border: none;
	font-size: 3rem;
	text-transform: none;
	padding: 0.5em 1em;
	color: #c31e26;
}

.entry-content ul.areas-covered {
	margin: 0 auto;	
}

@media screen and (max-width: 48.5em) {
	
	.request-quote-button button a {
		font-size: 2rem;
	}
}

/** Carousel **/

#page .msacwl-carousel-slide {
	border: 1px solid #fff;
}
#page .msacwl-gallery-slider button.slick-next, 
#page .msacwl-gallery-slider button.slick-next:hover, 
#page .msacwl-gallery-slider button.slick-next:focus, 
#page .msacwl-gallery-carousel button.slick-next, 
#page .msacwl-gallery-carousel button.slick-next:hover, 
#page .msacwl-gallery-carousel button.slick-next:focus {
	background-color: #c31e26!important;
}
#page .msacwl-gallery-slider button.slick-prev, 
#page .msacwl-gallery-slider button.slick-prev:hover, 
#page .msacwl-gallery-slider button.slick-prev:focus, 
#page .msacwl-gallery-carousel button.slick-prev, 
#page .msacwl-gallery-carousel button.slick-prev:hover, 
#page .msacwl-gallery-carousel button.slick-prev:focus {
	background-color: #c31e26!important;
}

/** END Carousel **/

/** Section 1 **/

ul.col-2,
ol.col-3 {
	overflow: hidden;
}
ul.col-2 li,
ul.col-3 li,
ol.col-3 li {
	font-size: 110%;
	padding-right: 5%;
	float: left;
}
ul.col-2 li {
	width: 50%;
}
ul.col-3 li {
	width: 33.333%;
}
ol.col-3 li {
	width: 33.333%;
}
@media screen and (max-width: 48.5em) {

	ul.col-2,
	ul.col-3,
	ol.col-3 {
		padding: 0 0 0 2em;
	}
	
	ul.col-2 li,
	ul.col-3 li,
	ol.col-3 li {
		width: 100%;
	}
}

/** Home Services **/

.of-widgets-outer {
	overflow: hidden;
}
.of-widgets-inner {
	max-width: 1230px;
	margin: 0 auto;
	padding: 1.5em 2%;
}
.services-wrap {
	margin-top: -5em;
	z-index: 99999999;
	position: relative;
}
@media screen and (max-width: 48.5em) {
	.services-wrap {
		margin-top: -1em;
	}
}

/** Info Panels **/

.home-widgets-info {
	background: #29292c;
}
.home-widgets-info .of-widgets-inner {
	padding: 3em 2%;
}
.home-widgets-info h3.widget-title {
	color: #fff;
	background: none;
	padding: 0.4em 0 0;
	font-size: 1.6em;
	border-top: 1px solid rgba(255, 255, 255, .25);
}
#home-info h4.widget-title {
	color: #fff;
	font-family: 'Questrial', sans-serif;
	font-weight: normal;
	font-size: 2em;
}
.home-widgets-info .textwidget p:first-of-type {
	margin-bottom: 0;
}
.home-widgets-info .textwidget img {
	display: block;
	margin: 0 auto;
	max-width: 30%;
}
.home-widgets-info p {
	color: #fff;
}
@media screen and (max-width: 48.5em) {
	.home-widgets-info .of-widgets-inner {
		padding: 2em 2% 1em 2%;
	}
	.home-widgets-info p {
		margin: 1em 0 1.5em 0;
	}
}

/** Enquiry Form **/

div.enquire {
	background: #c31e26;
}
.form-outer {
	padding: 0.5em 2%;
	margin: 1em 0;
}
.form-outer, .form-outer h3 {
	color: #fff;
}
.form-outer h3 {
	text-align: center;
	text-transform: uppercase;
	font-size: 2.5em;
	margin-bottom: 0.5em;
}
.form-outer > div {
	margin: 0 -0.5em;
}
.form-outer > div label {
	width: 33.333%;
	float: left;
	padding: 0 0.5em 1em 0.5em;
}
@media screen and (max-width: 48.5em) {
	.form-outer {
		margin: 0.5em 0;
	}
	.form-outer h3 {
		font-size: 1.6em;
		margin-bottom: 0.5em;
	}
	.form-outer > div label {
		width: 100%;
	}
}
.form-outer p {
	text-align: center;
}
.form-outer input[type="submit"] {
	color: #222;
	text-decoration: none;
	background: rgba(255, 255, 255, 0.9);
	padding: 0.5em 0.75em;
	font-size: 1.5rem;
	line-height: 1.5;
	text-transform: uppercase;
	width: 30%;
}
.form-outer input[type="submit"]:hover {
	background: rgba(255, 255, 255, 1.0);
}
div.wpcf7-mail-sent-ok {
	color: #398f14;
}

/** Call Home **/

.call-home {
	text-align: center;
}
.call-home a {
	color: white;
	font-size: 3rem;
	text-decoration: none;
}

/*--------------------------------------------------------------
3.2 Contact
--------------------------------------------------------------*/

.further-info h4,
.further-info p {
	margin: 0.25em 0;
}
.further-info .textwidget {
	margin-bottom: 1em;
}

/*--------------------------------------------------------------
4.0 Posts
--------------------------------------------------------------*/

.post-previews {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1%;
	padding-top: 1em;
}
.post-previews article {
	width: 33.333%;
	padding: 0 1%;
}
.post-previews .post-thumbnail {
	margin-bottom: 0.5em;
}
h2.entry-title {
	font-family: 'Questrial', sans-serif;
	font-size: 1.6em;
	line-height: 1.2;
	margin-bottom: 0.5em;
}
h2.entry-title a {
	text-decoration: none;
}
.post-previews p {
	margin-top: 0;
}
.read-more-but a {
	display: inline-block;
}
.post-previews .entry-content {
	border-bottom: 1px solid #ccc;
}
.single .post-thumbnail {
	margin-bottom: -3.6em;
}
.single header.entry-header {
	position: relative;
	z-index: 2;
	display: inline;
}
.single h1.entry-title {
	background-color: #fff;
	display: inline-block;
	padding: 0.5em 0.75em 0 0;
	margin-bottom: 0.5em;
}
.single .entry-meta {
	font-size: 0.85em;
	background-color: #f1f1f1;
	padding: 0.5em;
}
.single .entry-meta a {
	text-decoration: none;
}
.nav-links {
	border-top: 1px solid #f9f9f9;
	padding: 1em 0;
	overflow: hidden;
}
.nav-previous a,
.nav-next a {
	text-decoration: none;
}
.nav-links a:hover {
	color: #c31e26;
}
.nav-previous a:before {
	content: "\f190";
	font-family: FontAwesome;
	margin-right: 0.5em;
}
.nav-next a:after {
	content: "\f18e";
	font-family: FontAwesome;
	margin-left: 0.5em;
}

/*--------------------------------------------------------------
5.0 Sidebar
--------------------------------------------------------------*/

#secondary {
	padding: 0 0 0 0;
	margin-bottom: 1em;
}
#secondary ul {
	margin: 0;
	padding: 0 0 0 0.75em;
	list-style: none;
}
#secondary li a {
	color: #444;
	display: block;
	text-decoration: none;
	padding: 0.4em 0 0.4em 1.3em;
	line-height: 1.3;
	border-bottom: 1px solid #f1f1f1;
}
#secondary li a:before {
	content: "\f054";
	font-family: FontAwesome;
	width: 1.1em;
	padding: 0.2em 0.5em 0.2em 0;
	margin: 0 0 0 -1.4em;
}
#secondary li a:hover {
	color: #444;
}
h3.widget-title {
	color: #444;
	background-color: #f1f1f1;
	padding: 0.15em 0 0.15em 0.6em;
	margin-bottom: 0.5em;
}
h4.widget-title {
	color: #444;
	padding: 0.25em 0;
	margin-bottom: 0.5em;
	border-bottom: 1px solid #ccc;
}
.search-form input[type="search"] {
	width: 60%;
	padding: 5px;
}
.search-form input[type="submit"] {
	padding: 10px;
	font-size: 1em;
}
search-form .search-submit {
	position: relative;
	top: -5px;
}

/*--------------------------------------------------------------
6.0 Footer
--------------------------------------------------------------*/

div#footer-menu {
	background: #29292c;
	padding: 2em 0;
}
ul#footer-menu {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
	
	margin: 0 -0.5%;
	padding: 0;
	list-style: none;
}
ul#footer-menu li {
	-webkit-order: 0;
	-ms-flex-order: 0;
	order: 0;
	-webkit-flex: 1 1 auto;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	-webkit-align-self: auto;
	-ms-flex-item-align: auto;
	align-self: auto;
	
	margin: 0 0.5%;
}
@media screen and (max-width: 48.5em) {
	ul#footer-menu {
		flex-flow: row wrap;
		align-content: stretch;
	}
	ul#footer-menu li {
		flex: 1 auto;
		margin-bottom: 0.25em;
	}
}
ul#footer-menu li a {
	border: 1px solid rgba(255, 255, 255, .15);
	color: #fff;
	text-decoration: none;
	text-align: center;
	padding: 0.5em 0.1em;
	display: block;
	font-size: 1.2em;
	line-height: 1.2;
}
ul#footer-menu li a:hover {
	border: 1px solid rgba(255, 255, 255, 0.0);
	background-color: rgba(255, 255, 255, .15);
}
#footer-outer {
	background: #444;
}
.site-info {
	text-align: center;
	font-size: 0.8em;
	padding: 0 2%;
}
.site-info,
.site-info a {
	color: rgba(255, 255, 255, 0.5);
	text-decoration: none;
}
.site-info a:hover {
	text-decoration: underline;
}
#colophon {
	padding: 1em 0;
}


/*--------------------------------------------------------------
7.0 Responsive
--------------------------------------------------------------*/

@media screen and (min-width: 48.5em) { /* Everything Bigger than 48.5em */

}

/** Mobile 600px **/

@media screen and (max-width: 48.5em) { /* Everything Smaller than 48.5em */

	#general-navigation,
	#services-navigation {
		display: none;
	}
	
	/** Header **/

	#masthead {
		padding: 1.5em 0 1em 0;
	}
	.logo {
		width: 100%;
		margin-bottom: 0.5em;
	}

	/** Main Menu Flux Fix **/

	.main-navigation ul#main-menu {
		display: none;
	}
	.main-navigation.toggled ul#main-menu {
		display: block;
	}

	/** Sidebar **/

	#secondary {
		border-left: none;
		padding: 0 0 0 0;
	}

	/** Pages **/

	#content {
		padding-top: 2em;
		padding-bottom: 2em;
		margin-top: 0;
	}

	.page-feature-image {
		margin-bottom: 0;
		min-height: 0;
	}

	/** Posts **/

	.post-thumbnail {
		margin-bottom: 0;
	}

	/** Type Styles **/

	h1, h2, h3, h4, h5, h6{
		margin: 0 0 0.2em 0;
		line-height: 1.3;
	}
	p {
		margin: 0 0 0.5em 0;
		line-height: 1.6;
	}
	.entry-content li {
		line-height: 1.3;
		margin-bottom: 0.25em;
	}
	.entry-content ul {
		margin: 0 0 0.5em 0;
	}
	.wp-caption .wp-caption-text {
		margin: 0.2em 0;
	}

}