/*
-----------------------------------------------
imarketsolutions.com 
Stylesheet: ppc.css
Created: 03/03/2017
Organization:	iMarket Solutions
----------------------------------------------- */


/* --


---------------------------------------------
---------------------------------------------
             TABLE OF CONTENTS
---------------------------------------------
---------------------------------------------

    1. GENERAL UTILITY
      1a. UNIVERSAL RESET
      1b. GRID & COLUMN LAYOUT 
      1c. TYPOGRAPHY
      1d. IMAGES
      1e. LINKS 
      1f. TABLES  
      1g. FORMS
      1h. ERRORS & CONFIRMATIONS
      1i. COLUMN LAYOUT
      1j. UTILITY CLASSES
    2. MASTHEAD
      2a. MASTHEAD LEFT (LOGO & TAGLINE)
      2b. MASTHEAD CENTER
      2c. MASTHEAD RIGHT (PHONE # & GEO LANGUAGE)
      2d. BANNER TAGLINE
      2e. MASTHEAD MEDIA QUERIES
    3. TOP CONTENT
      3a. PHONE & AFFILIATIONS
    4. MAIN CONTENT
    5. SIDEBAR CONTENT
    6. LOWER CONTENT
    7. FOOTER 


---------------------------------------------
---------------------------------------------

-- **/



/*  
---------------------------------------------
         1. BEGIN GENERAL UTILITY
---------------------------------------------



---------------------------
1a. UNIVERSAL RESET 
--------------------------- 
*/


body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {margin: 0;padding: 0;}

*, *:before, *:after {box-sizing: border-box;-webkit-box-sizing: border-box; -moz-box-sizing: border-box;}

fieldset, a img { border: 0 solid transparent; }

html, body {height:100%;}

body {
    font: 62.5%/1.8em "Open Sans", Arial,'Helvetica Neue',Helvetica,sans-serif;
	background: #FFF;
	text-align: left;
	min-width:320px;
}

body.mceContentBody {min-width:0;background: #FFF;}

#container-all {	overflow:hidden;position:relative;}

.width-limiter {max-width:1000px; margin:0 auto;width:97%;}


@media all and (max-width: 800px) {	
	/*prevent automatic landscape orientation zoom on iOS devices */
	html {-webkit-text-size-adjust: 100%;}
	.width-limiter {width:100%;}
}

/* 
-------------------------------
1b. GRID & COLUMN LAYOUT 
------------------------------- 
*/

.ims-grid-one, .ims-col-one {width: 8.3333%;}
.ims-grid-two, .ims-grid-1-6, .ims-col-two, .ims-col-1-6 {width: 16.6666%;}
.ims-grid-three, .ims-grid-1-4, .ims-col-three, .ims-col-1-4 {width: 25%;}
.ims-grid-four, .ims-grid-1-3, .ims-col-four, .ims-col-1-3 {width: 33.3333%;}
.ims-grid-five, .ims-col-five {width: 41.6666%;}
.ims-grid-six, .ims-grid-1-2, .ims-col-six, .ims-col-1-2 {width: 50%;}
.ims-grid-seven, .ims-col-seven {width: 58.3333%;}
.ims-grid-eight, .ims-grid-2-3, .ims-col-eight, .ims-col-2-3 {width: 66.6666%;}
.ims-grid-nine, .ims-grid-3-4, .ims-col-nine, .ims-col-3-4 {width: 75%;}
.ims-grid-ten, .ims-grid-5-6, .ims-col-ten, .ims-col-5-6 {width: 83.3333%;}
.ims-grid-eleven, .ims-col-eleven {width: 91.6666%;}
.ims-grid-twelve, .ims-grid-1, .ims-col-twelve, .ims-col-1 {width: 100%;}

[class*='ims-grid-'] {
  display:inline-block;
  margin-right: -3px;
  vertical-align:top;
}

[class*='ims-col-'] {
  display:block;
  margin:0 auto;
}


/* Grid gutter values */
[class*='ims-grid-'] {padding-right: 15px;}
[class*='ims-grid-']:last-of-type {padding-right: 0;}
.ims-grid-force-pad:last-of-type {padding-right: 15px;}

.ims-pad-grid {padding:15px 0 15px 15px}
.ims-pad-grid [class*='ims-grid-']:last-of-type {padding-right: 15px;}




@media all and (max-width: 570px) {	
	[class*='ims-grid-'] {
        width:100%; 
        padding-right: 0;
    }
	.ims-grid-force-pad:last-of-type {
        padding-right: 0;
    }
	.ims-pad-grid [class*='ims-grid-'] {
        padding-right: 15px;
    }
	[class*='ims-col-'] {
        width:100%; 
    }
}


/* 
-------------------------------
1c. TYPOGRAPHY 
------------------------------- 
*/


h1, h2, h3, h4, h5, h6 {
	color:#1B3C6D;
	font-weight:bold;
	line-height: 1.15em;
	margin: 1.2em 0 0.7em;
}

p, li {line-height:1.6em;}

p {margin-bottom: 1.3em;}

address {
	font-size: 1.2em;
	font-style: normal;
	margin-bottom: 1.5em;
}

blockquote {
	margin: 0 .6em;
}

iframe {
	border:none;
	position: relative;
	z-index:1;
}

blockquote p { margin-bottom: 0.75em; }
blockquote .source { font-size: 1.2em; }
ul, ol { margin: 0 0 1.8em 3.6em; color:#000000;}
ul ul, ul ol, ol ul, ol ol { margin-bottom: 0; }
li li, li p { font-size: 1em; }

dl { margin: 0 0 1.8em 0; }
dt {font-size: 1.3em;font-weight: bold;}
dd {font-size: 1.3em;margin: 0 0 1.5em 3.6em;}

dd ul, dd ol { margin-left: 0; }
dd * { font-size: 1em; }
.publication_name { font-style: italic; }
.footnote { font-size: 1.1em; }


/*----- LAYOUTS - TYPOGRAPHY ----- */

h1,h2,h3,h4,h5,h6,p,li {transition:all 0.3s ease;}

h1 {font-size: 3em;}
h2 {font-size: 2.5em;}
h3 {font-size: 1.9em;}
h4 {font-size: 1.7em;}
h5 {font-size: 1.6em;}
h6 {font-size: 1.5em;}
p, li {font-size: 1.5em;}

@media all and (max-width: 1025px) {	
	h1 {font-size: 2.8em;}
	h2 {font-size: 2.3em;}
	h3 {font-size: 1.8em;}
	h4 {font-size: 1.6em;}
	h5 {font-size: 1.5em;}
	h6 {font-size: 1.4em;}
	p, li {font-size: 1.4em;}
}

@media all and (max-width: 800px) {	
	h1 {font-size: 2.5em;}
	h2 {font-size: 2.2em;}
	h3 {font-size: 1.7em;}
	h4 {font-size: 1.5em;}
	h5 {font-size: 1.4em;}
	h6 {font-size: 1.3em;}
	p, li {font-size: 1.3em; line-height:1.4em;}
}

@media all and (max-width: 570px) {	
	h1 {font-size: 2.4em;}
	h2 {font-size: 2.1em;}
	h3 {font-size: 1.8em;}
	h4 {font-size: 1.6em;}
	h5 {font-size: 1.4em;}
	h6 {font-size: 1.3em;}
}


/* 
-------------------------------
1d. IMAGES
------------------------------- 
*/


a img { border: 0; }
p.last { margin-top: 3em; }

.image-left, .image-right, .image-center {
	font-size: 1.2em;
	line-height: 0;
}

.image-left, .image-right {
	max-width: 50%;
    width: auto;
}

.image-left {
	float: left;
	margin: 0;
	padding: 0 2em 0.75em 0;
}

.image-right {
	float: right;
	margin: 0;
	padding: 0 0 0.75em 2em;
}

.image-center {
	max-width: 90%;
	margin: 0 auto 1.8em auto;
	text-align: center;
}

.image-left img, .image-right img, .image-center img {
	display:block;
	width:auto;
    max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.caption {
	font-size: 1.3em;
	line-height: 1.6364em;
	text-align: center;
}

img {
    max-width: 100%;
    width: auto;
    height: auto;
}


/*----- LAYOUTS - IMAGES ----- */
@media all and (max-width: 570px) {	
	.image-left, .image-right {
	  float:none;
	  max-width: 90%;
	  margin: 0 auto; 
	  padding: 0 0 10px;
	}
}


/* 
-------------------------------
1e. LINKS 
------------------------------- 
*/

a:link,
a:visited {
	color: #1B3C6D;
	text-decoration: underline;
	outline: none;
}

a:hover,
a:active  {
	text-decoration: none;
	color: #000;
}


/* 
-------------------------------
1f. TABLES 
------------------------------- 
*/


table { margin: 0 auto 1.8em auto; }

caption {
	font-size: 1.2em;
	font-style: italic;
	text-align: center;
	padding: 0 0 0.6em 0;
	margin: 0 auto;
}

td, th {
  font-size: 1.2em;
  line-height: 1em;
  padding: 0.5em 9px 0.25em;
}

th {
	font-weight: bold;
	border: 0;
}

tfoot td { line-height: 1.5em; }

tfoot ul {
	margin: 0;
	list-style: none;
}

tfoot li { font-size: 1em; }



/* 
-------------------------------
1g. FORMS 
------------------------------- 
*/


.populate {
	color:#6d6d6d;
}

.populate:focus {
	color:#000000;
}

form fieldset ul li {
	padding: 3px 0;
}

form fieldset input[type="text"],
form fieldset textarea,
form fieldset select {
  border:1px solid #CECECE;
  border-radius: 5px 5px 5px 5px;
  font-family: Arial,Helvetica,sans-serif;
  padding:5px;
}

form fieldset select {
  padding:4px;
}

label,
input[type="radio"],
input[type="checkbox"],
input[type="submit"],
button {
 cursor:pointer;
 color: #fff;
}

label,
input[type="submit"],
button {
	-webkit-appearance:none;
}

input[type="submit"], button, div.cta-button {
  background: #FBCF00;
  border: medium none;
  border-radius: 5px;
  box-shadow: 0 5px 0 rgb(255, 192, 0);
  color: #fff;
  font-family: open sans;
  font-size: 1.3em;
  font-weight: bold;
  padding: 2px 0;
  text-shadow: 2px 2px 4px rgb(218, 138, 0);
  text-transform: uppercase;
  width: 100%;
}


input[type="submit"]:hover,
input[type="submit"]:active,
button:hover,
button:active,
div.cta-button:hover {
  background: #424242;
  color: #FBCF00;
}


#ppc-contact-form {
  background: #999999;
  border-radius: 5px;
  padding: 0 0 20px 0;
}

.ppc-contact #ppc-contact-form {
  background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
  border-radius: 1em;
  color: #1B3C6D;
  height: 360px;
  margin: 0;
  position: absolute;
  right: 0;
  top: 40px;
  width: 100%;
}

#ppc-contact-form h2 {
  background: #424242 none repeat scroll 0 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  color: #fff;
  font-size: 2.45em;
  line-height: 1.6em;
  margin: 0 0 10px;
  padding: 10px;
  text-align: center;
}
#ppc-contact-form form {
	margin: 0 auto;
	max-width: 100%;
    padding: 0 20px;
}

#ppc-contact-form p#required-note {
  font-size: 1.1em;
  font-style: italic;
  margin: 0 0.6em;
  text-align: center;
}

#ppc-contact-form form input, 
#ppc-contact-form form textarea {
  font-size: 1em;
  width: 100%;
}

#ppc-contact-form form textarea {
  height: 30px;
}

#ppc-contact-form form input[type="submit"] {
  border-radius: 0.3em;
  display: block;
  font-size: 1.2em;
  margin: 0.3em auto 0.5em;
}

#ppc-contact-form form ul {
  list-style-type: none;
  margin: 3px auto;
    text-align: center;
}



/* 
-------------------------------
1h. ERRORS & CONFIRMATIONS
------------------------------- 
*/



/* --- form errors ---- */

/* highlight fields marked as error */
input.error,
select.error,
textarea.error {
	border: 1px solid red !important;
}

/* --- error container styling ---- */

#error-container,
.error-container {
	background: #ffa0a0; /* Old browsers */
	/* IE9 SVG, needs conditional override of 'filter' to 'none' */
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmYTBhMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmOWMyYzIiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top,  #ffa0a0 0%, #f9c2c2 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffa0a0), color-stop(100%,#f9c2c2)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #ffa0a0 0%,#f9c2c2 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #ffa0a0 0%,#f9c2c2 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #ffa0a0 0%,#f9c2c2 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #ffa0a0 0%,#f9c2c2 100%); /* W3C */
/*	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffa0a0', endColorstr='#f9c2c2',GradientType=0 ); /* IE6-8 */
	border-top:10px solid #D60000;
	color: #353535;
	text-shadow: 0 1px 0 #fff;
}

.confirmation-container {
	background: #abeaab; /* Old browsers */
	/* IE9 SVG, needs conditional override of 'filter' to 'none' */
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2FiZWFhYiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNiZmZmYmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top,  #abeaab 0%, #bfffbf 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#abeaab), color-stop(100%,#bfffbf)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #abeaab 0%,#bfffbf 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #abeaab 0%,#bfffbf 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #abeaab 0%,#bfffbf 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #abeaab 0%,#bfffbf 100%); /* W3C */
/*	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#abeaab', endColorstr='#bfffbf',GradientType=0 ); /* IE6-8 */
	border-top:10px solid #008000;
	color: #343434;
	text-shadow: 0 1px 0 #fff;
}


#error-container {
  border-radius: 0 0 7px 7px !important;
  box-shadow: 0 1px 3px #000000 !important;
  color: #353535 !important;
  height: 50%;
  margin-bottom: 1.8em !important;
  padding: 1.8em 1.8em 2.5em !important;
  position: fixed;
  right: 0 !important;
  top: 0 !important;
  z-index: 3000 !important;
  right: 5% !important;
  width: 30% !important;
}

#error-container h3, 
#error-container h2 {
  background: none repeat scroll 0 0 transparent !important;
  border: medium none !important;
  color: #e51937 !important;
  font-family: Arial,"Helvetica Neue",Helvetica,sans-serif !important;
  font-size: 2.4em !important;
  font-style: normal !important;
  font-weight: bold !important;
  margin: 0 !important;
  padding: 0 25px 0 0 !important;
  position: relative !important;
  text-shadow: none;
  text-transform: capitalize;
  top: 0 !important;
  width: 100% !important;
}

#error-container ul {
  display: block !important;
  height: 80% !important;
  margin: 10px !important;
  overflow-x: hidden !important;
  overflow-y: scroll !important;
  text-align: left !important;
}

#error-container li {
	color:#000000 !important;
	min-height: 0 !important;
	list-style-image: none !important;
	font-weight:normal !important;
	padding: 1px 0 !important;
}

#error-container li:before {
  color: #565656 !important;
  content: "\00BB" !important; /* » */
  font-size: 1.3em !important;
  font-style: normal !important;
  font-weight: normal !important;
  line-height: 1em !important;
  padding: 0 5px 0 0 !important;
  text-shadow: none !important;
}

/* close error container input */
input.close-modal-popup {
	background: none repeat scroll 0 0 #BC1010;
	border: none !important;
	border-radius: 6px !important;
	box-shadow: 0 1px 1px #999 !important;
	color: #FFFFFF !important;
	cursor: pointer !important;
	font-size: 1.8em !important;
	height: 30px !important;
	margin: 1px 5px !important;
	padding: 0 0 0 1px !important;
	position: absolute !important;
	right: 3px !important;
	top: 3px !important;
	width: 30px !important;
	-webkit-appearance:none;
	 z-index: 100;
}

input.close-modal-popup:hover,
input.close-modal-popup:active {
	background:#676767 !important;
	box-shadow: none !important;
} 

/*----- LAYOUTS - ERRORS & CONFIRMATIONS ----- */

@media all and (max-width: 1025px) {	
	#error-container {
		width:40% !important;
		right: 2.5% !important;
	}
}

@media all and (max-width: 800px) {	
	#error-container {
		border-radius: 0 0 0 7px !important;
		width:50% !important;
		right: 0 !important;
	}
}

@media all and (max-width: 570px) {	
	#error-container {
		border-radius: 0 !important;
		height:75% !important;
	  	width: 100% !important;
	}
}





/* 
-------------------------------
1i. COLUMN LAYOUT 
------------------------------- 
*/

fieldset.onecol ul,
fieldset.twocol ul,
fieldset.threecol ul,
ul.twocol, 
ul.threecol {
  overflow: hidden;
  padding: 0 0 0 1.5em;
}

fieldset.twocol ul li,
ul.twocol li {
	float: left;
	width: 50%;
}

fieldset.threecol ul li,
ul.threecol li {
	float: left;
	width: 33%;
}



/* 
-------------------------------
1j. UTILITY CLASSES
------------------------------- 
*/

.clear { clear: both; }
.clear-left { clear: left; }
.clear-right { clear: right; }

.hide { display: none; }
.show { display: block; }

.align-center {text-align:center;}
.align-right {text-align:right;}
.align-left {text-align:left;}

.float-left { float: left; }
.float-right { float: right; }


/* Honeypot Validation */
li.company_name_required {
  display:none;
}

/*Checkmark Bullets */
ul.checkmarks li {
  list-style-image: url("/assets/templates/main/images/bullets/bullet-checkmark.png");
}

ul.twocol.checkmarks, 
ul.threecol.checkmarks {
  padding: 0 0 0 2.5em;
}

/** Two column list ul **/
.two-column-list li {
    display: inline-block;
    width: 50%;
    margin: auto -2px;
    padding: 2px 10px 2px 20px;
    position: relative;
    vertical-align: top;
}

.two-column-list li::before {
    content: '\25cf';
    position: absolute;
    left: 0;
    top: 0;
    line-height: 2;
}

/** Coupon styling **/
div li.coupon {
    background-color: #004e9a;
    border-radius: 10px;
    list-style: outside none none;
    margin: 5px auto 10px -30px;
    max-width: 350px;
    padding: 10px;
    text-align: center;
}

div li.coupon > span {
    border: 3px dashed #ffffff;
    color: #ffffff;
    display: block;
    padding: 20px 10px;
    text-shadow: 1px 1px 2px #000000;
}

div li.coupon::before {
    content: none;
}

@media all and (max-width: 570px) {
    div li.coupon {
        margin: 5px auto 10px;
    }
}

/* 
-------------------------------
1b. GRID & COLUMN LAYOUT 
------------------------------- 
*/

ul.affiliations {
    list-style-type: none;
    margin: 0;
    padding: 0;
    text-align:center;
}
ul.affiliations li {
  display: inline-block;
  margin-right: -3px;
  max-width: 250px;
  padding: 12px;
  vertical-align: middle;
}
ul.affiliations li a {
    color: #000;
    display:block;
    text-decoration: none;
}
ul.affiliations li img {
    border: medium none;
    display:block;
    width:100%;
}
ul.affiliations li span {
    left: -999em;
    position: absolute;
}
ul.affiliations li span.visible {
  display: block;
  font-size: 1.1em;
  font-weight: bold;
  line-height:1.1em;
  left: auto;
  padding: 5px;
  position: static;
  text-align: center;
}



/* 
-------------------------------------------
              2. MASTHEAD
------------------------------------------- 
*/

#container-masthead {
    background: #F6F6F6;
}

#masthead [class*="ims-grid-"] {
    padding: 20px 10px;
    vertical-align: middle;
}


/* 
-----------------------------------
2a. MASTHEAD LEFT (LOGO & TAGLINE)
----------------------------------- 
*/


.tagline {
    text-align: right;
    font-size: 17px;
    margin-bottom: 0;
}


/* 
-----------------------------------------
2b. MASTHEAD CENTER
----------------------------------------- 
*/



/* 
-----------------------------------------
2c. MASTHEAD RIGHT (PHONE # & GEOLANGUAGE)
----------------------------------------- 
*/


#masthead .phone-number {
    margin-bottom: 0;
}

.phone-number {
    font-size: 40px;
    font-weight: bold;
    line-height: 1;
    margin: auto auto;
}

.phone-number a, 
.phone-number a:active,
.phone-number a:visited,
.phone-number a:hover,
.phone-number span.gc-cs-link {
    text-decoration: none;
    color: #000;
}

#masthead .phone-number a {
    color: #1B3C6D;
    font-size: 48px;
}

.service-area-callout {
    font-weight: bold;
    font-style: italic;
    color: #1B3C6D;
    margin-bottom: 0;
}

.phone-text {
	margin-bottom: 0;
	font-weight: bold;
	color: #1B3C6D;
}


/*
OPTIONAL PHONE NUMBER ICON
*/


/**********

#masthead .phone-number a {
	position: relative;
	padding-left: 20px;
}

#masthead .phone-number a::before {
    content: '';
    background-image: url('');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 60px;
    height: 100%;
    position: absolute;
    left: -40px;
    top: 0;
}

**********/



/* 
-----------------------------------------
2d. BANNER TAGLINE
----------------------------------------- 
*/


#container-banner {
    background: #1B3C6D;
    text-align: center;
    padding: 10px;
}

.banner-heading {
    margin: auto auto;
    color: #efefef;
}

@media all and (max-width: 570px) {
    .banner-heading {
        display: none;
    }
    
    #container-banner {
        padding: 5px;
    }

}

/* 
-----------------------------------------
2e. MASTHEAD MEDIA QUERIES
----------------------------------------- 
*/


@media all and (max-width: 1025px) {
    .phone-number,
    #masthead .phone-number a {
        font-size: 38px;
    }
}

@media all and (max-width: 800px) {
    #masthead-left,
    #masthead-right {
        width: 40%;
    }
    
    #masthead-center {
        width: 20%;
    }
    
    .phone-number,
    #masthead .phone-number a {
        font-size: 32px;
    }
}

@media all and (max-width: 700px) {
    
    #masthead {
        padding: 20px 10px;
    }
    
    #masthead #masthead-left,
    #masthead #masthead-right {
        display: block;
        margin: auto auto;
        padding: 0;
        width: 100%;
        text-align: center;
    }
    
    #masthead-center {
        position: absolute;
        width: 0px;
        left: -9999em;
    }
    
    .tagline {
        text-align: center;
    }
    
    .service-area-callout {
        display: none;
    }
}


/* 
-----------------------------------------
3. TOP CONTENT
----------------------------------------- 
*/


#container-top-content {
	background-image: url("images/bg-content.jpg"); 
	background-size: cover;
	background-attachment: fixed;
    padding: 30px 10px;
}

#top-content {
    background-color: rgba(255, 255, 255, 0.85);
    border-radius: 4px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
    box-sizing: border-box;
    padding: 40px 30px 20px;
    text-align: center;
}

.page-title {
    margin-top: 0;
}

.ppc-list li {
    font-size: 1.8em;
    font-weight: bold;
    line-height: 1;
    padding: 4px 0 0 15px;
    position: relative;
    list-style: none;
}

.ppc-list li::before {
    content: url('images/ppc-li.png');
    position: absolute;
    top: 0;
    left: auto;
    line-height: 1.3;
    margin-left: -25px;
}

#ppc-list-wrap,
#contact-form-wrap {
    display: inline-block;
    vertical-align: top;
    margin: auto -2px;
}

#ppc-list-wrap {
    width: calc(100% - 620px);
    text-align: left;
    padding-right: 20px;
}

#contact-form-wrap {
    width: 620px;
}

#ppc-offer-image {
    height: 275px;
    padding-right: 0;
    border-radius: 6px;
    background-image: url("images/offer-images/electrical-tech.jpg");
    background-repeat: no-repeat;
    background-size: cover; 
    background-position: center;
    position: relative;
    right: 10px;
}


@media all and (max-width: 1050px) {
    
    #ppc-contact-form h2 {
        font-size: 16px;
    }
    
    #ppc-list-wrap,
    #contact-form-wrap {
        width: 50%;
    }
    
    #ppc-contact-form {
        width: 100%;
        max-width: 350px;
    }
    
    #ppc-offer-image {
        position: absolute;
        width: 0;
    }
    
    #ppc-contact-form form input, 
    #ppc-contact-form form textarea {
        font-size: 12px;
    }
    
}

@media all and (max-width: 800px) {

    #container-top-content {
        padding: 20px 10px;
    }
    
    #top-content {
        padding: 20px;
    }
    

}

@media all and (max-width: 570px) {
        
    #ppc-list-wrap,
    #contact-form-wrap {
        width: 100%;
        display: block;
        margin: auto auto 30px;
        padding: 0 0;
    }
    
    ul.ppc-list {
        margin: auto auto;
    }
    
    li.coupon {
        margin: 10px auto;
    }


    #ppc-list-wrap {
        text-align: center;
    }
}

/* 
-----------------------------------------
3a. PHONE & AFFILIATIONS
----------------------------------------- 
*/

.affiliations-phone-wrap {
    margin: 20px auto auto;
    padding: 20px 10px 0;
}


.affiliations-phone-wrap [class*="ims-grid-"] {
    vertical-align: middle;
}

#affiliations-wrap-left,
#affiliations-wrap-right,
#phone-wrap {
    display: inline-block;
    margin: auto -2px;
    vertical-align: middle;
}

#phone-wrap h2 {
    font-weight: normal;
    font-size: 20px;
    margin: auto auto 5px;
}

#phone-wrap {
    width: 280px;
}

#affiliations-wrap-left,
#affiliations-wrap-right {
    width: calc(50% - 140px);
}

@media all and (max-width: 800px) {

    #affiliations-wrap-left,
    #affiliations-wrap-right {
        width: 0;
        position: absolute;
    }
    
    #phone-wrap {
            width: 100%;
            display: block;
            margin: auto auto;
            padding: 10px;
    }

}

@media all and (max-width: 570px) {
    
    #contact-form-wrap {
        margin-bottom: 0;
    }
    
    .affiliations-phone-wrap {
        margin-top: 0;
    }
    
}
/* 
-----------------------------------------
4. MAIN CONTENT
----------------------------------------- 
*/

#container-main-content {
    padding: 40px 10px;
    text-align: center;
}

#upper-main-wrap > h2 {
    margin-top: 0;
}

#upper-main-wrap {
    overflow: hidden;
    text-align: left;
}

/* if sidebar is active */
.two-col-page #upper-main-wrap {
    width: 66.6666%;
    display: inline-block;
    margin-right: -3px;
    vertical-align: top;
    padding-right: 15px;
}


@media all and (max-width: 570px) {
    .two-col-page #upper-main-wrap { 
        width: 100%;
        padding-right: 0;
    }
    
    .two-column-list li {
        width: 100%;
        margin: auto auto;
        display: block;
    }
}

/* 
-----------------------------------------
5. SIDEBAR CONTENT
----------------------------------------- 
*/


#upper-main-sidebar {
    background: #F2F2F2;
    text-align: center;
    padding: 40px 30px;
    max-width: 380px;
}

#upper-main-sidebar > h3 {
    margin-top: 0;
}

.review {
    position: relative;
    padding-top: 30px;
    margin-top: 30px;
}

.review::before {
    content: '';
    background-image: url('/offer/ppc/images/stars/stars-dark-blue.png'); 
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    max-width: 100%;
    width: 200px;
    height: 20px;
    top: 0px;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
}

p.quote {
    margin-bottom: 10px;
}

p.source {
    font-style: italic;
}

/* 
-----------------------------------------
7. LOWER CONTENT
----------------------------------------- 
*/


#lower-main-wrap {
    text-align: left;
}

.two-col-page #lower-main-wrap {
    margin-top: 20px;
}

/* 
-----------------------------------------
8. FOOTER CONTENT
----------------------------------------- 
*/


#container-footer {
    padding: 30px 10px;
    text-align: center;
    background: #F2F2F2;
}

#container-footer .logo {
    margin: auto auto 20px;
    display: block;
}

#footer-logo-wrap {
    max-width: 500px;
    margin: auto auto 50px auto;
}

p.address {
    margin-bottom: 0;
}