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

/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

body {
	margin: 0px;
}
.page {
	max-width: 1120px !important;
	margin: 0px auto;
}
.page_small {
	max-width: 900px !important;
	margin: 0px auto;
}
#wrapper {
    width: 100%;
    height: auto;
    z-index: 1000 !important;
    box-shadow: 3px 3px 8px 0 rgba(0,0,0,.15);    
    background-color: #fff;
}
img {
    max-width:100%;
	height:auto !important;
}

/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
            TOPBAR GRID
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

.topbar-wrapper{
    background-color: #000;
}
.topbar-wrapper p {
	padding: 0px;
	margin: 0px;
}
.topbar{
    display: flex;   
    justify-content: flex-end;
    padding: 5px 20px;
    color: #fff;
}
.topbar a, .topbar a:visited {
    color: #fff!important;
    text-decoration: none!important;
}
.topbar a:hover {
    opacity: .8!important;
}
.social_media {
}
.contact_info_phone {
    margin-left: auto; 
    display: flex;
}
.contact_info_email {
    padding-left: 20px;
    display: flex;
}
@media (max-width:600px) {
.topbar-wrapper p {
    display: none;
}
.contact_info_email {
    padding-left: 10px;
    margin-right: -10px;
}    
}

/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                HEADER
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

#outer_header {
	position: relative;
	width: 100%;
	z-index: 5000 !important;
    background-color: #fff;
    box-shadow: 0px 0px 8px rgba(0,0,0,.25);
}
#inner_header {
	padding: 10px 0px;
    margn: 0px;
    display: flex;
    align-items: center;
}
.header_logo {
    width: 200px;
    height: auto;
    left: 40px;
    padding-left: 20px;
	transform: trasnlateY(-50%); 
	-webkit-transition:all .5s ease;
    -moz-transition:all .5s ease;
    -o-transition:all .5s ease;
    transition:all .5s ease;    
}
.header_logo p {
    margin: 0; padding: 0;
}
.header_logo-shrink {
    width: 125px;
    height: auto;
    left: 40px;
    padding-left: 20px;
	transform: trasnlateY(-50%); 
	-webkit-transition:all .5s ease;
    -moz-transition:all .5s ease;
    -o-transition:all .5s ease;
    transition:all .5s ease;    
}
#header_topnav {    
    width: auto;
    margin-left: auto;
}
@media (max-width:768px) {
#inner_header {
    flex-direction: column;
    padding: 10px 0px 0px 0px;
}
.header_logo {
    width: 200px;
    height: auto;
    left: 0px;
    padding-left: 0px;
    padding-bottom: 10px;
    margin: 0px auto;
}
.header_logo p {
    margin: 0; padding: 0;
}
.header_logo-shrink {
    width: 125px;
    left: 0px;
    padding-left: 0px;  
}
#header_topnav {   
    width: 100%;
    margin-left: 0;
}    
}

/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                ROTATOR
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/
.rotator { 
    display: block;
    background-color: #000;
}
/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
          PROCESSS GRID
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

.process_wrapper {
    background-color: #4e4943;
}
.process {
    max-width: 1120px;
    margin: 0px auto;
    padding: 0px 20px;
    display: grid;
    grid-template-columns: 1fr 20px 1fr 20px 1fr;  
    grid-gap: 20px;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-family: 'Lora', serif;
	color: #fff;
	font-size: 24px;
	line-height: 30px;
}
.step1 a, .step2 a, .step3 a {
    color: #fff;
    text-decoration: none;
}
.step1 a:hover, .step2 a:hover, .step3 a:hover {
    opacity: .8;
}
.divider {
    background-image: url("../images/divider.png");
    background-repeat: no-repeat;
    background-size: 20px;
    height: 20px;
}
@media (max-width:1024px) {
.step3 {
    margin: 0px 2%;
}
}
@media (max-width:420px) {
.process_wrapper {
    display: none;
}
}

/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                CONTENT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

.home_content {
    display: flex;   
    justify-content: center;
    align-content: center;
    text-align: center;
    padding: 40px 20px;
}
.content {
    /*display: flex;   
    justify-content: center;
    align-content: center;
    text-align: left;
    padding: 40px 20px;*/
    display: block;
    padding: 40px 20px;
}
.content_wrapper {
    
}
.content_2column {
    padding: 40px 20px;
    display: grid;
    grid-template-columns: 1fr 225px;
    grid-template-areas: "content_text sidebar";
    justify-content: center;
    column-gap: 40px;
}
.content_text {
    grid-template-area: content_area;
}
.sidebar {
}
.sidebar_plugin1 {
    background-color: #e5dbcf;
}
.sidebar_plugin2 {}
@media (max-width: 766px) {
.sidebar {
    display: none;
}
.content_2column {
    grid-template-columns: 1fr;
    grid-template-areas: "content_text";
}    
}
@media  (max-width:420px) {
.home_content {
    padding: 20px;
}
}

/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
            SERVICES GRID
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

#outer_quicklinks_container {
	position: relative;
	width: 100%;
	z-index: 600;
}
#inner_quicklinks_container {
	min-height: 50px;
	padding: 0px 20px;
	margin: 0px auto 0px auto;
	z-index: 600;
}
.links_services {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}
.links_services ul {
    list-style-type: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    height: 100%;
    width: 100%;
}
.links_services li {
    display: flex;
    flex-grow: 1;
    height: 100%;
}
.links_services a {
    height: 250px;
    padding: 10% 5% 0 5%;
    width: 90%;
    background-color: #e5dbcf;
    transition: .4s; 
}
.links_services a:hover {
    text-decoration: none;
    box-shadow: 0px 0px 15px rgba(0,0,0,.5);
    transition: .4s;
}
a, li, ul {
    padding: 0;
    margin: 0;
}

#quicklink_one, #quicklink_two, #quicklink_three, #quicklink_four {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position:relative;
	float:left;
	width:100%;
	margin-left:4%;
	margin-right:4%;
	min-height:30px;
	text-align:center;
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: 0;   
    opacity: 1;
    background-color: #e5dbcf;
}

#quicklink_one_title, #quicklink_two_title, #quicklink_three_title, #quicklink_four_title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;  
    width: 100%;
	min-height: 20px;
	font-size: 17px;
	line-height: 28px;
	font-weight: 600;
	font-family: 'Open Sans', sans-serif;
	color: #fff;
	text-align: center;
    transition: .4s;
}
#quicklink_one_title a, #quicklink_two_title a, #quicklink_three_title a, #quicklink_four_title a, #quicklink_one_title a:hover, #quicklink_two_title a:hover, #quicklink_three_title a:hover, #quicklink_four_title a:hover, #quicklink_one_title a:visited, #quicklink_two_title a:visited, #quicklink_three_title a:visited, #quicklink_four_title a:visited {
    color: #000;
    text-decoration: none;
}

@media (max-width: 768px) {
.links_services {
    flex-wrap: wrap;
}
.links_services ul {
    width: 50%;
    padding-bottom: 30px;
}    
}

@media (max-width:420px) {
.links_services ul {
    width: 100%;
    padding-bottom: 30px;
}   
.why-wrapper {
    padding: 20px 0px !important;
}    
}    

/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
             WHY GRID
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

.why-wrapper{
    display: flex;   
    justify-content: center;
    padding: 60px 20px;    
    max-width: 1120px;
    margin: 0px auto;
}
.why {
    background-color: #4e4943;
    color: #fff;
    /*width: 40%;*/
    padding: 20px;
    width: 100%;
    text-align: center;
}
.why a {
    color: #fff;
    padding: 6px 10px;
    margin-top: 10px;
    border: 2px solid #fff;
    text-decoration: none;
    text-transform: uppercase;
    display: inline-block;    
}
.why a:hover {
    color: #000!important;
    background-color: #fff;
    border: 2px solid #fff;
}
/*
.why_image{ 
    background-image: url("../photos/custom/team.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position:center center;
    width: 60%;
}
*/
@media (max-width:1024px) {
.why-wrapper{
    padding: 20px 0px;    
}
}
    
/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
             WORK GRID
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

.work-wrapper{
    display: flex;  
    flex-wrap: wrap;
    max-width: 1120px;    
    margin: 0px auto;    
    padding: 20px;    
    text-align: left;
    color: #fff;
}
.work_title {
    text-align: center;
}
.work_one { 
    background-color: #e5dbcf;
    padding: 20px;
    margin-bottom: 20px;
}
.work_two { 
    background-color: #e5dbcf;
    padding: 20px;
    margin-bottom: 20px;    
}
.work_three { 
    background-color: #e5dbcf;
    padding: 20px;
    margin-bottom: 20px;    
}

/*XXXXXXXXXXXXXXXXX WHAT WE DO XXXXXXXXXXXXXXXXXXXXX*/

#work_wrapper {
    position: relative;
	width: 100%;
	z-index: 700;
    background-image: url("../images/services_background.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom center;
}
#inner_work {
	min-height: 50px;
    padding: 0px 20px;
	margin: 0px auto 0px auto;
}
#inner_work p {
    padding: 0px; 
    margin: 0px;
}
.links {
    margin: 0;
    padding: 0;
    display: flex;    
    align-items: center;
}
.links ul {
    list-style-type: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    height: 100%;
    width: 100%;
}
.links li {
    display: flex;
    flex-grow: 1;
    height: 100%;
}
.links a {
    color: #fff;
    padding: 6px 10px;
    margin-top: 10px;
    border: 2px solid #fff;
    text-decoration: none;
    text-transform: uppercase;
    display: inline-block;
	width: max-content;
}
.links a:hover {
    color: #000!important;
    background-color: #fff;
    border: 2px solid #fff;
}
#work_title {
    width: 80%;
    text-align: center;
    color: #000000;
    padding-bottom: 20px;
    margin: 0px auto;
}
#work_one, #work_two, #work_three  {
    margin-left: 2%;
    margin-right: 2%;
    flex-grow: 1;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.15);
}
#work_one  {
    background-image:url("../photos/custom/MerrillHouse-1.1.jpg");
}
#work_two {
    background-image:url("../photos/custom/PEC-Victorian-1.3.jpg");
}
#work_three {
    background-image:url("../photos/custom/poolside-1-3.jpg");
}
#work_one_link, #work_two_link, #work_three_link {
    color: #fff;
    height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px;
    opacity: 0
}
#work_one_link:hover, #work_two_link:hover, #work_three_link:hover {
    opacity: 1;
    background-color: rgba(7,80,164,.75) 
}
@media (max-width:1024px) {
#work_one_link, #work_two_link, #work_three_link {
    opacity: 1;
    background-color: rgba(7,80,164,.75);
}   
#work_one_link, #work_two_link, #work_three_link {
    opacity: 1;
}    
}
@media (max-width:900px) { 
#work_one_link, #work_two_link, #work_three_link {
    height: 165px;
    background-color: rgba(7,80,164,.75);
    opacity: 1;
}      
.testimonials-wrapper {
    padding: 20px 0px 0px 0px;
}
.links a {
    width: max-content;
}
}
@media (max-width:767px) {
.links {
    flex-direction: column;
}
#work_one, #work_two, #work_three {
    margin: 0px 0px 20px 0px;
    background-color: rgba(7,80,164,.75);
    opacity: 1;
}  
.links a {
    width: max-content;
}
}

/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
         TESTIMONIALS GRID
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

.testimonials-wrapper{
    display: flex;   
    justify-content: center;
    padding: 60px 20px;    
    max-width: 1120px;
    margin: 0px auto;
}
.clients {
    background-color: #4e4943;
    color: #fff;
    width: 40%;
    padding: 20px;
}
.clients a {
    color: #fff;
    padding: 6px 10px;
    margin-top: 10px;
    border: 2px solid #fff;
    text-decoration: none;
    text-transform: uppercase;
    display: inline-block;
}
.clients a:hover {
    color: #000!important;
    background-color: #fff;
    border: 2px solid #fff;
}
.testimonials { 
    background-color: #efe9e2;
    width: 56%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content:space-between;
    padding: 20px;
}
.testimonials_icon {
    background-image: url("../images/Testimonials_icon.png");
    background-size: contain;
    background-position: center;
    width: 100%;
    height: 62px;
    background-repeat: no-repeat;
    margin-bottom: 20px;
}
.testimonials_plugin{
    width: 100%;
}
 .testimonials_plugin_mobile {
    width: 100%;
	 display: none;
}
@media  (max-width:768px) {
.testimonials_plugin{
    width: 100%;
	display: none;
}
 .testimonials_plugin_mobile {
    width: 100%;
	 display: contents;
}
}
@media  (max-width:420px) {
.testimonials-wrapper {
    flex-wrap: wrap;
    padding: 0px;   
    display: none;
}
.clients, .testimonials {
        width: 100%;    
}  
}
/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              LOGO GRID
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

.logo_wrapper {
    background-color: #000;
}
.logo_container {
    max-width: 1120px;
    margin: 0px auto;
    display: flex; 
    justify-content: space-evenly;
    align-items: center;
}
.logo1, .logo2, .logo3, .logo4 {
}
@media  (max-width:420px) {
.logo1, .logo2, .logo3, .logo4 {
    margin: 0px 4%;
}
}

/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
            FOOTER GRID
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

.footer-wrapper {
    background-color: #e5dbcf;      
    color: #000 !important;
}
.footer{
    display: grid;
    justify-content: center;
    align-content: center;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 40px;
    padding: 20px;
}
.contact {
    color: #000;
}
.job {
    border-top: 2px solid #000;
    padding-top: 30px;
    margin-top: 40px;
}
.job a {
    color: #000;
    padding: 6px 10px;
    margin-top: 10px;
    border: 2px solid #000;
    text-decoration: none;
    text-transform: uppercase;
    display: inline-block;
}
.job a:hover {
    color: #fff!important;
    background-color: #000;
    border: 2px solid #000;
}
.form {
    color: #000;
}
.footer_plugin {
}
@media (max-width:770px) {
.footer{
    grid-template-columns: 1fr 1fr;
}
.footer_plugin {
    display: none;
}
}
@media  (max-width:420px) {
.footer{
    grid-template-columns: 1fr;
}
.form {
    padding-top: 20px;
    border-top: 2px solid #000;
    margin-top: -10px;
}    
}

/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
           COPYRIGHT GRID
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

.copyright-wrapper {
    background-color: #4e4943;       
}
.copyright{
    display: grid;   
    max-width: 1120px;    
    grid-template-columns: 1fr;
    grid-template-areas: "news facebook";
    justify-content: center;
    column-gap: 20px;
    margin: 0px auto;    
    padding: 5px 30px;    
    align-items: center;
    text-align: center;
    font-size: 16px;
}
.copyright a {color: #fff!important; text-decoration: none;}
.copyright a:hover {color: #fff!important; text-decoration: underline;}




/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
         MOBILE NAV CONCEPT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

/*** These three styles were edited to support the sliding side menu. Feb 14, 2020. SMH ***/
#mobile_nav {
	float:right;
	width: 275px;
	right: -275px;
	background-color: #ffffff;
	position: fixed;
	height: 100vh;
	z-index: 6000 !important;
    display: block;
	transition: all .5s ease;
}
.mobile_nav_open { right:0px !important; box-shadow: -3px 0px 5px 0px rgba(0,0,0,0.10);}
#mobile_nav_button, #mobile_nav_button2 {
    width: 24px;
    height: 24px;
    position: absolute;
    right: 20px;
    display: block;
    cursor: pointer;
    z-index:100;
}
#mobile_nav_button2 { display:none;}
.open {
	background-image: url("../images/menu-24px.svg");
	background-repeat: no-repeat;
}
.close {
	background-image: url("../images/close-24px.svg");
	background-repeat: no-repeat;
}
#navigation {
	padding: 20px;
}
@media  (max-width:768px) {
	#mobile_nav { display: block;}    
	#mobile_nav_button2 { display: block;}
}