/*
Theme Name: O'Shea Theme
Theme URI: 
Author: 
Author URI: 
Description: Theme for O'Shea
Version: 1.0

/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */

@import url("fonts/fonts.css");

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {

    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    margin: 0;
    outline: 0;
    padding: 0;
    vertical-align: baseline;
           
    -webkit-text-size-adjust: none;
    -webkit-appearance: none;
    
}
:focus {/* remember to define focus styles! */
	outline: 0;
}

img{border:0}

/* WYSIWYG DEFAULTS*/
.entry-content img {
margin: 0 0 1.5em 0;
}
.alignleft, img.alignleft {
margin-right: 1.5em;
display: inline;
float: left;
}
.alignright, img.alignright {
margin-left: 1.5em;
display: inline;
float: right;
}
.aligncenter, img.aligncenter {
margin-right: auto;
margin-left: auto;
display: block;
clear: both;
}
.alignnone, img.alignnone {
/* not sure about this one */
}
.wp-caption {
margin-bottom: 1.5em;
text-align: center;
padding-top: 5px;
}
.wp-caption img {
border: 0 none;
padding: 0;
margin: 0;
}
.wp-caption p.wp-caption-text {
line-height: 1.5;
font-size: 10px;
margin: 0;
}
.wp-smiley {
margin: 0 !important;
max-height: 1em;
}
blockquote.left {
margin-right: 20px;
text-align: right;
margin-left: 0;
width: 33%;
float: left;
}
blockquote.right {
margin-left: 20px;
text-align: left;
margin-right: 0;
width: 33%;
float: right;
}
.gallery dl {}
.gallery dt {}
.gallery dd {}
.gallery dl a {}
.gallery dl img {}
.gallery-caption {}
.size-full {}
.size-large {}
.size-medium {}
.size-thumbnail {}
.clear
{
    display: block;
    clear:both;
}
/*END WYSIWYG DEFAULTS*/

#wpadminbar
{
    position: fixed!important;
}
html,body
{
    position: relative;
}
body
{
    font-family: CooperHewittWeb, helvetica, arial, sans-serif;
    font-weight: normal; 
    font-style:normal; 
    font-size: 16px;
    color: #7a7979;
    background: white;
    overflow-x: hidden;
    line-height: 1.5;
    letter-spacing: inherit;
    -webkit-font-smoothing: antialiased;
}
table
{
    display: table!important;
    table-layout: fixed;
    width: 100%!important;
    height: auto!important;
    min-width: 100%;
    max-width: 100%;
}
table td
{
    vertical-align: top;
    width: auto!important;
    padding-right: 0.5em;   
    padding-left: 0.5em;   
}
table.two-col-table td
{
    padding-right: 0em;   
    padding-left: 0em;   
}
table.two-col-table td:nth-child(1)
{
    padding-right: 2em;   
}
table.two-col-table td:nth-child(2)
{
    padding-left: 2em;   
}
img
{
    max-width: 100%;
    height: auto;
}
table td *
{
    max-width: 100%!important;
}
.widget
{
    list-style: none;
}

p,table,ul,ol
{
    margin-bottom: 10px;
}
ul,ol
{
    list-style-position: inside;
    list-style-type: square;
}
a
{
    text-decoration: none;
    color: #3ea2ee;
}
a:hover
{
    text-decoration: underline;
}
strong
{
    font-weight: bold;
    font-weight: 600;
}
em
{
    font-style: italic;
}

h1,h2,h3,h4,h5,h6
{
    margin-bottom: 20px;
    font-weight: normal;
    color: inherit;
    /*line-height: 1.25;*/
}
h1
{
    font-size: 2.6em;
    font-weight: 200;
}
h2
{
    font-size: 2em;
    font-weight: 200;
}
h3
{
    font-size: 1.5em;
    font-weight: 200;

}
h4
{
    font-size: 1.25em;
    font-weight: 500;
}
h5
{
    font-size: 1.1em;
}
h6
{
    font-size: 0.9em;
    
}

.heading-shadow-1
{
    text-shadow: 0.05em 0.05em 0.05em #0a2f5f;
}
.heading-shadow-2
{
    text-shadow: 0.05em 0.05em 0.05em #d9dee3;
}
.heading-shadow-3
{
    text-shadow: 0.05em 0.05em 0.0em #d9dee3;   
}
.heading-shadow-4
{
    text-shadow: 0.05em 0.05em 0.05em white;
}
.heading-uppercase
{
    text-transform: uppercase;
}
.heading-stroke
{
   -webkit-text-stroke-width: 1px;
   -webkit-text-stroke-color: white;
}
.heading-extra-bold,
.heading-extra-bold.strong,
.heading-extra-bold strong
{
    font-weight: 700;
}
.heading-no-margin
{
    margin-bottom: 0;
}
.heading-small-margin
{
    margin-bottom: 0.5em;
}
.vpadding
{
    padding-top: 50px;
    padding-bottom: 50px;
}
.vpadding-extra-top
{
    padding-top: 100px;
}
.vpadding-extra-bottom
{
    padding-bottom: 125px;
}
.vpadding.blog-wrap
{
    padding-top: 0;
}
.hpadding
{
    padding-left: 50px;
    padding-right: 50px;
}
.set-width
{
    position: relative;
    max-width: 1200px;
    margin: auto;
}
.narrow-width-1000
{
    margin-left: auto;
    margin-right: auto;
    max-width: 1000px;
}
.narrow-width-920
{
    margin-left: auto;
    margin-right: auto;
    max-width: 920px;
}
.narrow-width-850
{
    margin-left: auto;
    margin-right: auto;
    max-width: 850px;
}
.narrow-width-700
{
    margin-left: auto;
    margin-right: auto;
    max-width: 700px;
}
#page
{
    overflow: hidden;
}
#header
{
    background: #02458d url(img/header-bg.png) no-repeat center center;
    height: 100px;
    width: 100%;
    overflow: hidden;
    position: relative;
    border-bottom: 1px solid #a9bdd2;
    position: fixed;
    z-index: 1000;
}
#main
{
    padding-top: 100px;
    /*background: #5f8ab7;*/
}
#footer
{
  
}
#header-inner
{
    height: 100px;
}
#access
{
    /*display: none;*/
}
#header-left-edge
{
    background: url(img/header-left-edge.png) no-repeat center center;
    position: absolute;
    height: 100%;
    width: 60px;
    left: 165px;
}
#header-left-repeat
{
    background: url(img/header-left-repeat.png) repeat-x center center;
    position: absolute;
    height: 100%;
    right: 100%;
    left: -10000px;
    margin-right: -165px;
}
#access
{
    position: absolute;
    left: 225px;
    right: 300px;
    height: 100%;
    text-align: center;
    height: 100%;
    white-space: nowrap;
    overflow: hidden;
}
#access-wrap
{
    display: inline-block;
}
.menu,.menu-item
{
    display: inline;
    
}
#access a
{
    color: white;
    display: inline-block;
    line-height: 100px;
    padding: 0 0.8em;
    transition: background 0.25s;
    font-size: 1.2em;
}
#access a:hover
{
    background: #3ea2ee;
}
#header-logo
{
    position: absolute;
    width: 160px;
    height: 100%;
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}
#header-contact
{
    position: absolute;
    display: block;
    right: 0;
    width: 300px;
    height: 100%;
    background: url(img/icon-phone-white.png) no-repeat left center;
    background-size: 47px auto;
    white-space: nowrap;
    overflow: hidden;
    line-height: 1;
}
#header-phone
{
    position: absolute;
    left: auto;
    right: 0px;
    top: 50%;
    font-size: 1.9em;
    margin-top: -0.75em;
    color: white;
    letter-spacing: 0.035em;
    font-weight: 400;
}
#header-call-to-action
{
    position: absolute;
    left: auto;
    right: 0px;
    top: 50%;
    font-size: 0.9em;
    margin-top: 0.8em;
    color: #a4bed9;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 400;
}
#header a:hover
{
    text-decoration: none;
}
.content
{
    box-sizing: border-box;
    /*image-rendering: crisp-edges;*/
    /*image-rendering: -moz-crisp-edges;*/
    /*image-rendering: -o-crisp-edges;*/
    /*-ms-interpolation-mode: nearest-neighbor;*/
    image-rendering: -webkit-optimize-contrast;
    position: relative;
}
.content-top-shadow:before
{
    content: "";
    display: block;
    position: absolute;
    height: 10px;
    top: 0;
    width: 110%;
    left: -5%;
    box-shadow: inset 0px 3px 5px rgba(0,0,0,0.2);
}
#content-blocks .content-top-shadow:first-child:before
{
    display: none;   
}
#home-banner
{
    background-color: #03468d;
    background-size: auto 100%;;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 20;
}
#home-banner-content
{
    min-height: 750px;
    z-index: 2;
}
#banner-tagline
{
    text-align: center;
    color: white;
    position: absolute;
    width: 100%;
    top: 3%;
    white-space: nowrap;
    overflow: hidden;
}
#banner-top-buttons
{
    text-align: center;
    position: absolute;
    top: 19%;
    width: 570px;
    left: 50%;
    margin-left: -285px;
    box-shadow: 0em 0.75em 1em #3a5a7c;
    border: 1px solid #8bafd5;
    border-radius: 2em;
    overflow: hidden;
    box-sizing: border-box;
}
.banner-top-button
{
    display: block;
    width: 50%;
    float: left;
    font-size: 0.92em;
    height: 3.75em;
    line-height: 3.9em;
    background: #4b84bc;
    box-sizing: border-box;
    color: #ffffff;
    font-weight: 600;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    text-shadow: 0.1em 0.1em 0.1em #0a2f5f;
    transition: all 0.25s;
}
.banner-top-button:after
{
    content: "";
    display: inline-block;
    height: 1.2em;
    width: 1em;
    background: url(img/button-arrow.png) no-repeat top center;
    background-size: contain;
    vertical-align: middle;
    margin-top: -2px;
    margin-left: 10px;
}
.banner-top-button:hover
{
    text-decoration: none;
    background: #3ea2ee;
}
.banner-top-button:nth-child(2)
{
    border-left: 1px solid #8bafd5;
}
#home-primary-outer
{
    position: relative;
}
#home-primary-service-finder
{
    background: #c42f2f;
    min-height: 220px;
}
#home-primary-service-finder-inner
{
    position: relative;
    z-index: 2;
    width: 100%;
    padding-top: 100px;
    padding-bottom: 5px;
}
#home-primary-content
{
    background: #02458d;
    color: white;
}
#home-primary-content-inner
{
    position: absolute;
    width: 100%;
    z-index: 2;
}
#home-primary-content .set-width
{
    padding-top: 50px;
    padding-bottom: 50px;
}
#home-primary-background
{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    left: 0;
    background: url(img/home-hand-bg.png) no-repeat center;
    background-size: 100%;
    opacity: 0.05;
    z-index: 1;
    
        
}
#banner-bottom-buttons
{
    /*height: 160px;*/
    width: 100%;
    text-align: center;
    position: absolute;
    bottom: -50px;
}
.banner-bottom-button
{
    display: inline-block;
    vertical-align: top;
    height: 160px;
    width: 13.5%;
    background: #02458d;
    color: white;
    transition: all 0.25s;
    position: relative;
    margin-bottom: 0.25em;
}
.banner-bottom-image
{
    position: absolute;
    height: 75%;
    width: 100%;
    top: 0;
    left: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
}
.banner-bottom-title-wrap
{
    overflow: hidden;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10%;
    max-height: 2.1em;
}
.banner-bottom-title
{
    display: table;
    width: 100%;
    overflow: hidden;
    font-weight: 400;
    font-size: 0.75em;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-shadow: 0.1em 0.1em 0.1em #0a2f5f;
    box-sizing: border-box;
    height: 3em;
    transition: all 0.25s;
}
.banner-bottom-title span
{
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    padding: 0 0.5em;
    box-sizing: border-box;
}
.banner-bottom-button:hover
{
    background-color: #3ea2ee;
    text-decoration: none;
    margin-top: -30px;
    padding-top: 30px;
}
.content-top-icon
{
    position: absolute;
    left: 0;
    right: 0;
    top: -110px;
    height: 220px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.button
{
    display: inline-block;
    border: 1px solid #3ea2ee;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #3ea2ee;
    font-size: 0.9em;
    padding: 0 2.5em;
    border-radius: 100px; 
    box-sizing: border-box;
    line-height: 3.525em;
    font-weight: 600;
    height: 3.5em;
    margin-bottom: 20px;
    cursor: pointer;
    transition: all 0.25s;
}
.button:hover
{
    text-decoration: none;
    background: #3ea2ee;
    color: white;
}
.content-get-quote
{
    background-color: #dde3e9;
}

.content-get-quote .set-width
{
    margin-top: -2em;
}
form.wpcf7-form
{
    display: block;
    max-width: 700px;
    margin: auto;
    margin-bottom: 20px;
}
.half-left
{
    float: left;
    width: 48.5%;
}
.half-right
{
    float: right;
    width: 48.5%;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form select
{
    font-family: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 1px solid #c5cdd4;
    border-radius: 5px;
    width: 100%;
    font-size: inherit;
    padding: 0.75em;
    
    color:inherit;
    box-sizing: border-box;
    background: white;
    
    margin-bottom: 5px;
}
.wpcf7-form-control-wrap
{
    display: block;
    margin-bottom: 20px;
}
.wpcf7-form select
{
    background: white url(img/dropdown-arrow.png) no-repeat center right 12px;
    background-size: 15px;
}
div.wpcf7-response-output
{
    margin: 0!important;
    padding: 0!important;
    border: 0!important;
    text-align: center;
    color: #02346a;
}
.wpcf7-validation-errors
{
    color: red!important;
}
.wpcf7-submit
{       
    -webkit-appearance: none;
    font-family: inherit;
    display: inline-block;
    border: 1px solid #3ea2ee;
    text-transform: uppercase;
    color: white;
    background: #3ea2ee;
    font-size: 0.9em;
    padding: 0 2.5em;
    border-radius: 100px; 
    box-sizing: border-box;
    line-height: 3.525em;
    font-weight: 700;
    height: 3.5em;
    margin-bottom: 20px;
    cursor: pointer;
    font-style: italic;
    transition: all 0.25s;
}
.wpcf7-submit:hover
{
    background: #02458d;
    border-color: #02458d;
}
.send-button-wrap
{
    text-align: center;
}
.content-testimonials
{
    background-color: #031e3b;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: inset 0px 0px 15px rgba(0,0,0,0.75);
    /*height: 500px;*/
    text-align: center;
}
h1.testimonials-heading
{
    color: #3ea2ee;
    font-style: italic;
    margin-bottom: 1em;
}
.testimonials-container
{
    position: relative;
    margin-bottom: 3em;
}
.testimonials-item
{
    /*display: none;*/
    position: absolute;
    top: 0;
    left: 0%;
    width: 100%;
    transition: transform 0.5s;
    box-sizing: border-box;
    padding: 0 50px;
}
.testimonials-item:after
{
    display: block;
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -20px;
    margin-bottom: -40px;
    border: 20px solid transparent;
    border-top-color: white;
    
}
.testimonials-item:first-child
{
    display: block;
}
.testimonials-item-frame
{
    background: white;
    border-radius: 5px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
    box-sizing: border-box;
    padding: 3em 4em;
    max-width: 700px;
    margin: auto;
}
.testimonials-quote
{
    font-style: italic;
    color: #4f4b4d;
    position: relative;
    margin-bottom: 2.5em;
}
.testimonials-quote > span
{
    display: table;
    width: 100%;
    height: 100%;
}
.testimonials-quote > span > span
{
    display: table-cell;
    vertical-align: middle;
    
    background: url(img/quote-bg.png) no-repeat center center;
    background-size: contain;
    padding-top: 1em;
    padding-bottom: 1em;
    font-size: 1.1em;
    line-height: 1.9;
}
.testimonials-name
{
    color: #02346a;
    font-size: 1.4em;
    font-weight: bold;
    font-style: italic;
    margin-bottom: 0.25em;
}
.testimonials-location
{
    color: #abb4bd;
    font-size: 1.1em;
    font-weight: 600;
    font-style: italic;
}
.testimonials-dots
{
    text-align: center;
}
.testimonials-footer
{
    margin-top: 20px;
}
.testimonials-dot
{
    display: inline-block;
    padding: 10px;
    cursor: pointer;
}
.testimonials-dot span
{
    display: block;
    width: 5px;
    height: 5px;
    border: 2px solid #3ea2ee;
    border-radius: 10px;
}
.testimonials-dot.testimonials-dot-selected span
{
    background: #3ea2ee;
}
#footer
{
    
}
#footer-logos
{
    text-align: center;
    padding-top: 10px;
}
#footer-logos a
{
    display: inline-block;
    width: 23%;
    height: 100px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
        
}
#footer-contact
{
    padding-top: 2em;
    padding-bottom: 1em;
    background: #02458d;
    color: white;
}
#footer-contact-content
{
    background-size: auto 50px;
    background-position: left top;
    background-repeat: no-repeat;
    padding-left: 170px;
    overflow: hidden;
    box-sizing: border-box;
}
#footer-links
{
    padding-top: 2em;
    padding-bottom: 2em;
    background: #02458d;
    border-top: 1px solid #5a80a8;
}
.footer-col
{
    float: left;
    min-height: 1px;
    width: 20%;
    padding-right: 1em;
    box-sizing: border-box;
}
.footer-col-head
{
    height: 20px;
    color: #3ea2ee;
    font-size: 1.4em;
    height: 2em;
    margin-bottom: 1em;
}
#footer-links a
{
    display: block;
    color: white;
    margin-bottom: 0.75em;
    vertical-align: top;
}
#footer-copyright
{
    font-size: 0.85em;
    color: white;
    padding-top: 2em;
    padding-bottom: 1em;
    background: #02458d;
    overflow: hidden;
    text-align: center;
    border-top: 1px solid #5a80a8;
}
.service-finder-wrap
{
    max-width: 97%;
    margin: auto;
}
#service-finder-result-yes
{
    margin-top: 10px;
    color: white;
    font-size: 1.15em;
    font-style: italic;
    text-align: center;
    display: none;
}
#service-finder-result-no
{
    margin-top: 10px;
    color: white;
    font-size: 1.15em;
    font-style: italic;
    text-align: center;
    display: none;
}
.service-finder-left
{
    min-height: 1px;
    width: 62.5%;
    float: left;
    height: 60px;
    display: table;
}
#service-finder-caption
{
    padding-left: 50px;
    color: white;
    font-size: 1.3em;
    font-style: italic;
    background: url(img/service-finder-icon.png) no-repeat left center;
    background-size: 25px;
    line-height: 1.25;
    display: table-cell;
    vertical-align: middle;
}
.service-location-heading
{
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: bold;
}
.service-finder-right
{
    min-height: 1px;
    width: 35%;
    float: right;
    text-align: right;
    margin-bottom: 20px;
}
#service-finder-form
{
    display: inline-block;
    width: 400px;
    max-width: 100%;
    position: relative;
    height: 60px;
}
#service-finder-input
{
    -webkit-appearance: none;
    -moz-appearance: none;
    
    display: block;
    position: absolute;
    
    left: 0;
    top: 0;
    width: 60%;
    height: 100%;
    
    border: 1px solid white;
    border-right: 0;
    border-radius: 30px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    
    font-family: inherit;
    line-height: 60px;
    font-size: 1.1em;
    font-style: italic;
    color:white;;
    
    background: transparent;
    box-sizing: border-box;
    padding: 0 2em;
    
    
}
#service-finder-input::-webkit-input-placeholder {color: white}
#service-finder-input::-moz-placeholder {color: white}
#service-finder-input:-ms-input-placeholder {color: white}
#service-finder-go
{
    -webkit-appearance: none;
    -moz-appearance: none;
    
    display: block;
    position: absolute;
    
    right: 0;
    top: 0;
    width: 40%;
    height: 100%;
    
    background: #3ea2ee;
    border: 1px solid #3ea2ee;
    border-radius: 100px; 
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    
    
    font-family: inherit;
    text-transform: uppercase;
    font-size: 1.1em;
    font-weight: 700;
    font-style: italic;
    line-height: 60px;
    color: white;
    
    /*padding: 0 2.5em;*/
    text-align: center;
    box-sizing: border-box;
    transition: all 0.25s;   
    cursor: pointer;
}
#page-banner
{
    background: #0d4983;
    
    background: -moz-radial-gradient(center, ellipse cover,  rgba(54,150,226,1) 0%, rgba(4,72,145,1) 100%); /* FF3.6-15 */
    background: -webkit-radial-gradient(center, ellipse cover,  rgba(54,150,226,1) 0%,rgba(4,72,145,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: radial-gradient(ellipse at center,  rgba(54,150,226,1) 0%,rgba(4,72,145,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3696e2', endColorstr='#044891',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */

    border-bottom: 5px solid #012246;
    position: relative;
}
#page-banner-image
{
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 450px;
}
.page-banner-content
{
    position: relative;
    text-align: center;
    z-index: 1;
}
.page-banner-content.page-banner-content-bottom
{
    margin-top: -60px;
}
.page-banner-content h1
{
    display: inline-block;
    color: #f1183b;
    font-size: 55px;
    font-style: italic;
    font-weight: bold;
    margin-bottom: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    padding: 0 0.5em;
}
.page-banner-content.page-banner-content-bottom h1
{
    box-shadow: 0 -0.25em 0.25em rgba(1,34,70,0.5);
    background: white;
    padding: 20px 40px;
}
.page-banner-content.page-banner-content-middle h1
{
    text-shadow: 0.05em 0.05em 0.0em white;
}
.page-banner-content.page-banner-content-middle
{
    padding: 50px 0;
}
.page-banner-content h2
{
    color: #3ea2ee;
    font-size: 24px;
    font-weight: bold;
    font-style: italic;
    margin-bottom: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    padding: 0 0.5em;
}
.page-banner-content.page-banner-content-middle h2
{
    color: white;
}
.page-template-page_services .page-banner-content-middle
{
    padding-bottom: 220px;
}
#services-grid
{
    text-align: center;
    letter-spacing: 0;
    margin-bottom: 50px;
}
.services-grid-item
{
    display: inline-table;
    border: 2px solid #3ea2ee;
    box-sizing: border-box;
    width: 210px;
    height: 210px;
    margin: 0.5em;   
    letter-spacing: 0em;
    transition: all 0.25s;
    background-size: auto 40%;
    background-position: center 35%;
    background-repeat: no-repeat;
    vertical-align: top;
}
#services-overview
{
    margin-top: -200px;
    z-index: 2;
}
.page-template-page_services .services-grid-item
{
    background-color: white;
    border: 0;
    box-shadow: 0 0.2em 0.5em rgba(0,0,0,0.25);
}
.page-template-page_services .page-banner-content-bottom
{
    display: none;
}
.services-grid-item:hover
{
    text-decoration: none;
    border-color: #02346a;
    background-color: #02346a;
}
.services-grid-item > .services-grid-title-wrap
{
    display: table-cell;
    vertical-align: middle;
    padding: 10px;
    padding-top: 120px;
}
.services-grid-item .services-grid-title-content
{
    display: block;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 0.8em;
    letter-spacing: 0.1em;
    max-height: 40px;
    overflow: hidden;
}
.page-template-page_services .services-grid-item
{
    height: 400px;
    background-size: 50% auto;
    background-position: center 10%;
    position: relative;
    color: #7a7979;
    font-size: 0.9em;
}
.page-template-page_services .services-grid-item:hover
{
    color: white;
}
.services-grid-info
{
    box-sizing: border-box;
    position: absolute;
    top: 40%;
    bottom: 14%;
    width: 100%;
    left: 0;
    padding: 0 10px;
    overflow: hidden;
}
.page-template-page_services .services-grid-item .services-grid-info-title
{
    display: block;
    font-size: 1.25em;
    margin-bottom: 15px;
    color: #3ea2ee;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 1em;
    letter-spacing: 0.1em;
    max-height: 40px;
    transition: all 0.25s;
}
.page-template-page_services .services-grid-item:hover .services-grid-info-title
{
    color: white;
}
.services-grid-find-more
{
    box-sizing: border-box;
    position: absolute;
    bottom: 5%;
    left: 0;
    width: 100%;
    font-weight: bold;
    font-style: italic;
    text-transform: uppercase;   
}
img.greyscale-image
{
    filter: url("data:image/svg+xml;utf8,&lt;svg xmlns=\'http://www.w3.org/2000/svg\'&gt;&lt;filter id=\'grayscale\'&gt;&lt;feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/&gt;&lt;/filter&gt;&lt;/svg&gt;#grayscale"); /* Firefox 10+, Firefox on Android */
    filter: gray; /* IE6-9 */
    -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
    transition: all 0.25s;
}
img.greyscale-image:hover
{
    filter: url("data:image/svg+xml;utf8,&lt;svg xmlns=\'http://www.w3.org/2000/svg\'&gt;&lt;filter id=\'grayscale\'&gt;&lt;feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/&gt;&lt;/filter&gt;&lt;/svg&gt;#grayscale");
    -webkit-filter: grayscale(0%);
}
#contact-banner
{
    height: 450px;
    background: #3ea2ee;
    position: relative;
    border-bottom: 5px solid #012246;
}
#contact-banner:after
{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
}
#contact-banner iframe
{
    filter: url("data:image/svg+xml;utf8,&lt;svg xmlns=\'http://www.w3.org/2000/svg\'&gt;&lt;filter id=\'grayscale\'&gt;&lt;feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/&gt;&lt;/filter&gt;&lt;/svg&gt;#grayscale"); /* Firefox 10+, Firefox on Android */
    filter: gray; /* IE6-9 */
    -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
    opacity: 0.9;
    margin-top: -50px;
    height: 500px;
    background: white;
    border: 0;
}
.page-template-page_contact #home-primary-service-finder
{
    background: #012246;
}
#contact-primary
{
    background: url(img/bg-hand-icon.png) no-repeat center center;
    background-size: auto 100%;
    border-bottom: 100px solid white;
}
#contact-locations
{
    z-index: 5;
    height: 260px;
    max-width: 1100px;
    margin: auto;
    margin-top: -120px;
    margin-bottom: -60px;
    text-align: center;
}
#contact-locations-inner
{
    height: 260px;
    background: white;
    box-shadow: 0em 0em 1em rgba(0,0,0,0.25);
    
}
.contact-location
{
    display: block;
    width: 25%;
    float: left;
    height: 180px;
    margin-top: 40px;
    overflow: hidden;
    box-sizing: border-box;
    text-align: center;
    border-right: 1px solid #dadada;
    position: relative;
    font-size: 0.9em;
}
.contact-location:last-child
{
    border-right: 0;
}
.contact-location-name
{
    color: #3ea2ee;
    font-style: italic;
    font-weight: bold;
    text-transform: uppercase;
    box-sizing: border-box;
    padding: 0 20px;
    height: 40px;
    overflow: hidden;
    margin-bottom: 20px;
}
.contact-location-address
{
    text-transform: uppercase;
    overflow: hidden;
    height: 60px;
}
.contact-location-phone
{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    color: #02346a;
    font-size: 1.5em;
    height: 30px;
    overflow: hidden;
}
.blog-banner .page-banner-content-middle
{
    padding-bottom: 80px;
}
#blog-header-wrap
{
    
}
.post-title
{
    font-size: 1.7em;
    color: #3ea2ee;
    font-weight: bold;
    font-style: italic;
}
.post-date
{
    font-size: 0.9em;
}
#blog-post-left
{
    width: 40%;
    float: left;
}
#blog-post-right
{
    width: 55%;
    float: right;
}
#post-featured-image
{
    width: 100%;
    height: auto;
}
#post-bottom
{
    position: relative;
    border-top: 1px solid #dadada;
    padding-top: 50px;
}
#post-bottom-mid
{
    text-align: center;
}
#post-bottom-left
{
    position: absolute;
    left: 0;
    top: 60px;
    color: #3ea2ee;
}
#post-bottom-right
{
    position: absolute;
    right: 0;
    top: 60px;
    color: #3ea2ee;
}
#blog-header-wrap
{
    display: inline-block;
    font-weight: bold;
    margin-bottom: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    width: 1000px;
    
    box-shadow: 0 -0.25em 0.25em rgba(1,34,70,0.5);
    background: white;
    padding: 45px 40px;
    position: relative;
}
#blog-header-cats
{
    text-align: left;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.9em;
}
#blog-header-cats
{
    margin-right: 300px;
}
#blog-header-cats a
{
    font-weight: 600;
    color: #7a7979;
}
#blog-header-cats a.current-cat
{
    color: #3ea2ee;
}
#blog-header-cats a,
#blog-header-cats span
{
    display: inline-block;
    margin-right: 20px;
}
#s
{
    font-family: inherit;
    font-size: inherit;
    color: #3ea2ee;
    border: 1px solid #3ea2ee;   
    padding: 10px;
    border-radius: 50px;
    position: absolute;
    right: 40px;
    top: 33px;
    padding-left: 60px;
    background: url(img/search-icon.png) no-repeat 20px center;
    background-size: 24px;
    font-size: 0.95em;
}
#s::-webkit-input-placeholder {
   color: #3ea2ee;
}

#s:-moz-placeholder { /* Firefox 18- */
   color: #3ea2ee;
}

#s::-moz-placeholder {  /* Firefox 19+ */
   color: #3ea2ee;
}

#s:-ms-input-placeholder {  
   color: #3ea2ee;
}
#searchsubmit
{
    display: none;
}
#blog-header-sep
{
    border: 0;   
    border-bottom: 1px solid #dadada;    
    display: block;
    margin-bottom: 30px;   
    margin-top: 0px;
}
.blog-archive-item
{
    box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
    position: relative;
    height: 290px;
    margin-left: 125px;
    background: white;
    margin-bottom: 30px;
}
.blog-archive-item-left
{
    display: block;
    position: absolute;
    height: 250px;
    width: 250px;
    top: 20px;
    left: -125px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
    background-color: white;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(img/thumb-default.png);
    background-size: cover;
}
.blog-archive-item-right
{
    position: absolute;
    right: 40px;
    left: 180px;
    top: 40px;
    bottom: 40px;
    overflow: hidden;
}
.blog-archive-item-content
{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 50px;
    overflow: hidden;
    -webkit-mask-image: -webkit-gradient(linear, left 85%, left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
}
.post-read-post
{
    position: absolute;
    bottom: 0;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.9em;
}
.blog-archive-item .post-title
{
    margin-bottom: 5px;
}


/* Newly Added */
.set-width h3.heading-no-margin{font-size: 2.6em;}
#home-primary-content-inner > p {font-size: 1.25em; }
p.testimonials-heading {color: #3ea2ee; font-style: italic; margin-bottom: 1em; font-size: 2.6em; font-weight: 200; }
