/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXX                                                                      XXXX
XXXX                      SITEAPEX STARTER TEMPLATE                       XXXX
XXXX                            MARCH 12, 2013                            XXXX
XXXX                          OSM NETWORKS INC.                           XXXX
XXXX                                                                      XXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/


body {
	margin: 0px;
}
.page {
	max-width: 1390px !important;
	margin: 0px auto;
	margin: 0px auto;
	position: relative;
}
.page_small {
	max-width: 800px !important;
	margin: 0px auto;
	position: relative;
    text-align: center;
}
.page_large {
	max-width: 1800px !important;
	margin: 0px auto;
	position: relative;
}
#wrapper {
    position: relative;
	height: 100%;
	width: 100%;
    overflow: auto;
}

img {
    background: none!important;
}

/*XXXXXXXXXXXXXXXXXXXXXXXXXX  SEARCH  XXXXXXXXXXXXXXXXXXXXXXXXX*/

#searchbar {
    position: relative;
}
#search-box {
    position: relative;
}
#searchbar #sliding-panel-outer {
    display: inline-block;
    overflow: hidden;
    position: relative;
    top: 0;
    right: 25px;
    width: 240px;
    transition: width 0.4s ease;
}
#searchbar #sliding-panel-inner {
    width: 240px;
}
#searchbar .search-label {
    width: 30px;
    height: 30px;
    text-align: center;
    position: absolute;
    right: 0;
    top: 0;
    line-height: 30px;
}
.search-icon {
    background-image: url("../../photos/custom/search_icon.png");
    background-repeat: no-repeat;
    width: 25px;
    height: 25px;
    background-size: contain;    
}
.search-close {
    background-image: url("../../photos/custom/search-close_icon.png");
    background-repeat: no-repeat;
    width: 25px;
    height: 25px;
    background-size: contain;    
}
#searchbar .search-label .search-close,
#searchbar.collapsed .search-label .search-icon {
  display: inline-block;
}
#searchbar .search-label .search-icon,
#searchbar.collapsed .search-label .search-close {
  display: none;
}
#searchbar.collapsed #sliding-panel-outer {
    width: 0px;
}
#search-submit { 
    position: absolute;
    background-image: url("../../photos/custom/search_icon2.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 25px;
    height: 100%;
    border: 0px solid #efefef;
    top: 0;
    background-color: #efefef;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
}
#search-input {
    position: relative;
    width: 180px;
    height: 25px;
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
    border: 1px solid #fff;
    paddingleft: 10px;
    padding: 0px 10px;
}
#search-input:focus {
    outline: none;
    outline-style: none;
}

/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

.header_container {
    position: relative;
    z-index: 9000!important;
    background-color: #fff;
}
.inner_header {
    display: grid;
    padding: 10px 20px;
    grid-template-columns: 1fr 1fr 1fr;
    align-content: center;
    align-items: center;
}
.quote {
    align-items: center;
    justify-content: flex-end;
    display: flex;   
    font-weight: bold;
}
.contact a, .contact a:visited {
    text-decoration: none;
    color: #1f4094;
    font-weight: bold;
}
.contact a:hover {
    text-decoration: none;
    opacity: .8;
}
.contact p, .quote p {
    margin: 0;
}
.quote_button, .quote_button:active {
    background-color: #fdb817;
    color: #000;
    text-decoration: none;
    padding: 8px 20px;
    line-height: inherit;
    display: inline-block;
    border-radius: 6px;
    transition: .4s;
    font-weight: bold;
}
.quote_button:hover {
    transition: .4s;
    opacity: .8;
}
.logo {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    background-image: url("../photos/custom/Logo-red-border.png");
    background-position: center;
    background-size: 325px;
    background-repeat: no-repeat;
    width: 325px;
    height: 212px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .4s;
    top:10px;
}
.logo img {
    max-width: 100%;
    height: auto;
}
.shrink_logo {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    background-image: url("../photos/custom/Logo-red-border.png");
    background-position: center;
    background-repeat: no-repeat;
    width: 100px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .4s;
    background-size: contain;
    top: 5px;
}
.navigation {
    background-color: #DE1219;
    z-index: 4000 !important;
    position: relative;
}
.rotator {
    display: block;
    width: 100%;
    margin-top: -1px;
    background-color: #000;
}
.mobile_rotator { 
    display: none;
}
.social_media {
    padding: 10px 20px;
    align-self: center;
    padding-top: 62px;
} 

.inner_slide_quicklinks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 350px);
    grid-gap: 20px;
    padding: 20px;
}
.quicklink_one, .quicklink_two, .quicklink_three, .quicklink_four, .quicklink_five, .quicklink_six {
    display: flex;
    align-content: center;
    justify-content: flex-end;
    width: 100%;
    height: auto;
    overflow: hidden;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
}
.quicklink_one {
    background-image: url("../photos/custom/quicklinks/plumbing-quicklink.jpg");
}
.quicklink_two{
    background-image: url("../photos/custom/quicklinks/wells-quicklink.jpg");
}
.quicklink_three {
    background-image: url("../photos/custom/quicklinks/water-treatment-quicklink.jpg");
}
.quicklink_four {
    background-image: url("../photos/custom/quicklinks/heating-cooling-quicklink.jpg");
}
.quicklink_five {
    background-image: url("../photos/custom/quicklinks/fireplaces-quicklink.jpg");
}
.quicklink_six {
    background-image: url("../photos/custom/quicklinks/commercial-quicklink.jpg");
}
.quicklink_one_image, .quicklink_two_image, .quicklink_three_image, .quicklink_four_image, .quicklink_five_image, .quicklink_six_image {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
    color: #fff;
    font-weight: bold;
    font-size: 2em;
    text-shadow: 0px 0px 8px #000, 0px 0px 8px #000;
}

.quicklink_one_image {
    background-color: rgba(31,64,148,.3);
}
.quicklink_two_image {
    background-color: rgba(253,184,23,.3);
    /*color: #000;*/
}
.quicklink_three_image {
    background-color: rgba(237,28,36,.3);
}
.quicklink_four_image {
    background-color: rgba(253,184,23,.3);
    /*color: #000;*/
}
.quicklink_five_image {
    background-color: rgba(237,28,36,.3);
}
.quicklink_six_image {
    background-color: rgba(31,64,148,.3);
}

.quicklink_one_text, .quicklink_two_text, .quicklink_three_text, .quicklink_four_text, .quicklink_five_text, .quicklink_six_text {
    display: flex;
    align-content: center;
    justify-content: center;
    flex-direction: column;
    position: absolute;
    height: 100%;
    width: 90%;
    padding: 0% 5%;
    text-align: center;
    transition: ease-in-out .5s;
    opacity: 1;
    right: -50em;
    color: #000;
}
.quicklink_one_text {
    background-color: #1f4094;
    color: #fff;
}
.quicklink_two_text {
    background-color: #fdb817;
}
.quicklink_three_text {
    background-color: #DE1219;
}
.quicklink_four_text {
    background-color: #fdb817;
}
.quicklink_five_text {
    background-color: #DE1219;
}
.quicklink_six_text {
    background-color: #1f4094;
    color: #fff;
}
.quicklink_one:hover > .quicklink_one_text, .quicklink_two:hover > .quicklink_two_text, .quicklink_three:hover > .quicklink_three_text, .quicklink_four:hover > .quicklink_four_text, .quicklink_five:hover > .quicklink_five_text, .quicklink_six:hover > .quicklink_six_text  {
	visibility: visible;
	opacity: 1;
    right: 0;
}
.quicklink_two_text a, .quicklink_three_text a, .quicklink_four_text a, .quicklink_five_text a, .quicklink_two_text a:visited, .quicklink_three_text a:visited, .quicklink_four_text a:visited, .quicklink_five_text a:visited {
    color: #000 !important;
    padding: 6px 10px;
    border: 1px solid #000;
    text-decoration: none;
    border-radius: 6px;
    font-size: 24px;
}
.quicklink_two_text a:hover, .quicklink_three_text a:hover, .quicklink_four_text a:hover, .quicklink_five_text a:hover {
    color: #fff!important;
    padding: 6px 10px;
    border: 1px solid #000;
    background-color: #000;
    text-decoration: none!important;
}
.quicklink_one_text a, .quicklink_six_text a, .quicklink_one_text a:visited, .quicklink_six_text a:visited {
    color: #fff !important;
    padding: 6px 10px;
    border: 1px solid #fff;
    text-decoration: none;
    border-radius: 6px;
    font-size: 24px;
}
.quicklink_one_text a:hover, .quicklink_six_text a:hover {
    color: #000!important;
    padding: 6px 10px;
    border: 1px solid #fff;
    background-color: #fff;
    text-decoration: none!important;
}

.quicklinks_container {
    /*background-image: url("../images/rays-bottom.png");
    background-position: top center;
    background-size: cover;*/
    clip-path: polygon(50% 15%, 100% 0, 100% 100%, 0 100%, 0 0);
    margin-top: -55px;
    position: relative;
}
.inner_quicklinks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 40px;
    grid-row-gap: 40px;
    padding: 100px 20px 20px 20px;
}
.inner_content {
    padding: 160px 20px;
    min-height: 200px;
    overflow: auto;
}
.content_container_home {
    background-image: url("../photos/custom/home_background.jpg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
}   
.inner_content_home {
    padding: 60px 20px 350px 20px;
    min-height: 200px;
    overflow: auto;
}
.content_inner {
    margin-right: 100px;
}
.content {
}
.container {
    padding: 60px 20px;
    min-height: 200px;
    display: grid;
    grid-template-columns: 1fr 300px;    
}
.content_button {
    background-color: #444;
    color: #fff!important;
    text-decoration: none;
    padding: 10px 40px;
    line-height: inherit;
    display: inline-block;
    border-radius: 6px;
    transition: .4s;
}
.content_button:hover {
    box-shadow: 0px 0px 20px rgba(0,0,0,.3);
    transition: .4s;
}
.content_button:active {
    box-shadow: 0px 0px 20px rgba(0,0,0,.5);
    opacity:.6;
}
.sidebar_container {
    min-width: 300px;
    max-width: 300px;
}
.sidebar_space {
    min-width: 300px;
    max-width: 300px;    
}
.sidebar_plugin1, .sidebar_plugin2, .sidebar_plugin3, .sidebar_plugin4, .sidebar_plugin5, .sidebar_plugin6 { 
    display: flex;
    margin-bottom: 60px; 
}
@media (max-width:960px) {
.inner_content {
    padding: 60px 20px;
}      
}
@media (max-width:500px) {
.inner_content_home {
    padding: 60px 20px 120px 20px;
}
}
.services_rotator {
    text-align: center;
    padding: 20px 80px;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: 90%;
    font-size: 1em;
}
.service {
    display: grid;
    grid-template-columns: 40% 60%;
    margin-bottom: 10px;
    background-color: #efefef;
}
.services {
    display: grid;
    grid-template-columns: 100%;
    grid-gap: 20px;
}
.service_one {
    background-color: #1f4094;
    color: #fff;
}
.service_two {
    background-color: #fdb817;
}
.service_three {
    background-color: #DE1219;
    color: #fff;
}
.service_four {
    background-color: #fdb817;
}
.service_five {
    background-color: #DE1219;
    color: #fff;
}
.service_six {
    background-color: #1f4094;
    color: #fff;
}
@media (max-width: 770px) {
.services_rotator {
    font-size: 1.5em;
}    
}
@media (max-width: 500px) {
.services_rotator {
    font-size: 2em;
}    
}
.message_container {
    display: flex;
    background-color: #1f4094;
}
.message {
    color: #fff;
    text-align: center;
    font-weight: bold;
}
.message a, .message a:visited {
    color: #fff;
    text-align: center;
    text-decoration: none;
}
.message a:hover {
    color: #fff;
    text-align: center;
    text-decoration: none;
    opacity: .7;
}
.footer_container {
    background-color: #636466;
    background-image: url("../photos/custom/footer_background.png");
    background-size: 170px;
    background-repeat: no-repeat;
    background-position: bottom left;    
    width: 100%;
}
.footer {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 100px;
    padding: 20px 40px;
    justify-items: center;
    color: #fff;
    align-content: center;
    align-items: center;
}
.footer_logo {
    max-width: 200px;
    height: auto; 
    padding-bottom: 20px;
}
.footer_logo img {
    width: 100%;
    height: auto;
}
.footer_one, .footer_two, .footer_three {
    text-align: center;
}
.footer_three {
    display: flex;
    flex-direction: column;
}
.footer_three p {
    margin: 0px;
    margin-bottom: 8px;
}
.footer a, .footer a:visited {
    color: #fff;
    text-align: center;
    text-decoration: none;  
}
.footer a:hover {
    color: #fff;
    text-align: center;
    text-decoration: none;
    opacity: .7;
}
.footer_button, .footer_button:visited {
    background-color: #fff;
    color: #000000!important;
    text-decoration: none;
    padding: 8px 20px;
    line-height: inherit;
    display: inline-block;
    border-radius: 6px;
    transition: .4s;
    font-weight: bold;    
}
.footer_button:hover {
    opacity: .6;
    text-decoration: none;  
}
.copyright_container {
    background-color: #000;
}
.copyright {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 40px;
    font-size: 12px;
    color: #fff;
}
.copyright_text {
    font-size: 12px;
    color: #fff;
}
.copyright a, .copyright a:visited {
    color: #fff;
    text-decoration: none
}
.copyright a:hover {
    opacity: .6;
}
.copyright p {
    margin: 0;
}
.copyright_social_media {
    text-align: right;
}
.copyright_social_media p {
    margin: 0px;
}
@media (min-width: 1280px){
.inner_content_home {
    padding: 60px 20px 55% 20px
    min-height: 200px;
    overflow: auto;
}
.content_container_home {
    background-image: url("../photos/custom/home_background.jpg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
}    
}
@media (max-width: 960px){
.container {
    grid-template-columns: 1fr;
}   
.sidebar_container {    
    padding-top: 20px;    
}   
.inner_header {
    grid-template-columns: 1fr;
    justify-items: center;    
    height: 100%;
}
.contact {
    width: 100%;
    text-align: center;
}
.logo {
    width: 250px;
    height: 163px;
    background-size: contain;
    text-align: center;
    position: relative;
    left: 0;
    transform: inherit;
    top: 0;
    padding: 10px 0px;
}  
.inner_slide_quicklinks {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 350px);
}    
    
.content_container {
    padding-top: 0px;
}    
.container {
    grid-template-columns: 1fr;
}    
.content_inner {
    margin-right: 0;
    margin-bottom: 20px;
}  
.service {
    display: grid;
    grid-template-columns: 100%;
    margin-bottom: 10px;
    background-color: #efefef;
}     
}

@media (max-width: 600px){    
.rotator {
    display: none;
}
.mobile_rotator {
    display: block;
}       
.footer {
    display: grid;
    grid-template-columns: 1fr;
}
.mobile_rotator {
    background-color: #d7d7d7;
    width: 100%;
    display: block;
}   
.rotator {
    display: none;
}
.inner_quicklinks {
    grid-template-columns: 1fr;
    grid-row-gap: 20px;
}
.quicklinks_container {
    clip-path: polygon(50% 5%, 100% 0, 100% 100%, 0 100%, 0 0);
}

.footer_container {
    background-image: none;
}
.inner_slide_quicklinks {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(6, 350px);
}     
}
@media (max-width: 420px) {
.footer_container {
    background-image: none;
    background-size: 0px;
}
.footer {
    display: grid;
    grid-template-columns: 1fr;
    grid-column-gap: 100px;
    padding: 20px 40px;
    justify-items: center;
    color: #fff;
    align-content: center;
}    
}