#page-container {
max-width: 1140px;
margin: auto;
box-shadow: 0 0 16px rgba(0,0,0,0.03),0 0 60px rgba(0,0,0,0.02), 0 0 3px rgba(0,0,0,0.1);
overflow: hidden;
} body.elementor-editor-active header#header {
position: relative;
}
body.elementor-editor-active {
margin-top: 0;
}
@media screen and (max-width: 860px) {
header#header { position: fixed; z-index: 999; width: 100%; }
#main-content-container { }
}
header#header #logo {
max-width: 15em !important;
line-height: 0;
}
header#header #logo img {
padding: 0;
min-width: 150px;
max-width: 250px;
}
#header-row { padding: 1.8em 20px; }
#nav-container {
display: flex;
display: -ms-flexbox;
display: -webkit-flex;
justify-content: space-around;
-webkit-justify-content: space-around;
flex-direction: column;
-webkit-flex-direction: column;
}
#contact-widget-container {
width: 100%;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
justify-content: flex-end;
}
#contact-widget-container #top-right-widget {
margin-left: 1.5em;
} #title-row { }
@media screen and (min-width: 420px) and (max-width: 1024px) { 
.home-map .elementor-widget-wrap {
display: grid;
grid-template-columns: 50% 50%;
grid-template-rows: 50% 50%;
}
.home-map .elementor-widget-wrap .elementor-widget-image {
grid-row-start: 1;
grid-row-end: 3;
grid-column-start: 2;
grid-column-end: 3;
}
.home-map .elementor-widget-wrap .elementor-widget-heading {
align-self: end;
}
} footer#footer img.image {
max-width: 200px !important;
}
footer#footer #footer-services-ribbon {
padding: 0 50px;
opacity: 0.7;
line-height: 1;
}
@media screen and (max-width: 390px) {
footer#footer #footer-services-ribbon ul {
flex-direction: column;
-webkit-flex-direction: column;
justify-content: center;
-webkit-justify-content: center;
}
footer#footer #footer-services-ribbon ul li {
font-size: 1.5em;
border-right: 0 !important;
border-bottom: 2px solid #eee;
}
footer#footer #footer-services-ribbon ul li:last-of-type {
border-bottom: 0;
}
}
footer#footer #footer-services-ribbon ul {
display: flex;
display: -ms-flexbox;
display: -webkit-flex;
justify-content: space-around;
-webkit-justify-content: space-around;
}
footer#footer #footer-services-ribbon ul li {
border-right: 1px solid #ccc;
flex: auto;
text-align: center;
padding: 0.4em;
max-width: 10em;
width: 100%;
margin: auto;
}
footer#footer #footer-services-ribbon ul li:last-of-type {
border-right: 0;
}
footer#footer #footer-contact-section { padding: 30px; }
footer#footer #footer-contact-section .columns {
display: flex;
display: -ms-flexbox;
display: -webkit-flex;
justify-content: center;
-webkit-justify-content: center;
flex-direction: column;
-webkit-flex-direction: column;
}
footer#footer .widget { margin-bottom: 10px; }
.contact-widget > div { margin-bottom: 10px; }
.contact-widget > div:last-of-type { margin-bottom: 0; }
footer#footer .copyright { padding: 20px 0 5px; }
footer#footer .copyright .credit { text-align: right; }
footer#footer .copyright .credit a { text-decoration: none; }
.address-widget i.fa,
.contact-widget i.fa { margin-right: 5px; }
.contact-widget,
.icon-widget { white-space: nowrap; } span.address {
display: block;
}
footer#footer .widget {
margin-bottom: 10px;
}
footer#footer ul.menu li {
margin: 0;
}
footer#footer ul.menu li a {
display: inline-block;
padding: 5px 0;
}
footer#footer .credit { opacity: 0.6; } .elementor-image-gallery .gallery dl.gallery-item { margin-top: 0 !important; }
.elementor-image-gallery .gallery dl.gallery-item .gallery-icon { line-height: 0 !important; }
.elementor-image-gallery .gallery dl.gallery-item img { border: 0 !important; padding: 5px; }
.gallery {
display: flex;
display: -ms-flexbox;
display: -webkit-flex;
justify-content: space-between;
-webkit-justify-content: space-between;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
align-items: center;
-webkit-align-items: center;
}
dl.gallery-item {
flex: auto;
min-width: 80px;
padding: 10px;
margin: 0;
}
dl.gallery-item img { border: 0 !important; }  @media only screen and (max-width:39.9375em) { #logo img { max-width: 250px; }
#header-row, 
#header-row .columns { padding: 20px 0; } #header-row .columns, #top-right, #logo {
justify-content: center;
-webkit-justify-content: center; 
text-align: center;
}
#menu-row nav.menu a { text-align: center; }	
.address-container { display: initial; }
footer .social-widget { 
justify-content: center;
-webkit-justify-content: center;
}
footer#footer #footer-services-ribbon {
padding: 0 10px;
}
footer#footer #footer-contact-section {
padding: 30px;
}
footer, footer#footer .copyright, 
footer#footer .copyright .credit { text-align: center; }
} @media only screen and (min-width:40em) and (max-width:63.9375em) {
} @media only screen and (min-width:64em) {
}