@media only screen and (max-width : 1600px) and (min-width : 1401px) {
  body {
    font-size: 17px;
  }
  #container #content .imgright {
    width: 32%;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link {
    font-size: 1.333em !important;
    line-height: 2.917em !important;
    height: 3em !important;
    padding: 0 1em 0 1em !important;
    border-bottom: 0.3em solid #39b54a !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:hover {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    font-size: 1.333em !important;
    padding: 0px 1.333em 0px 1.333em !important;
    line-height: 2.083em !important;
  }
  #footer .footerinfo {
    width: 92%;
  }
  .footerlogos {
    width: 92%;
  }
  .page-template-front-page #container #content {
    width: 92%;
  }
  #homeservices .content {
    width: 92%;
  }
  #homeservices .homeservices {
    width: 92%;
  }
  #homecta .homecta {
    width: 92%;
  }
  #container {
    width: 92%;
  }
}
@media only screen and (max-width : 1400px) and (min-width : 1249px) {
  body {
    font-size: 16px;
  }
  #container #content .imgright {
    width: 32%;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link {
    font-size: 1.333em !important;
    line-height: 2.917em !important;
    height: 3em !important;
    padding: 0 1em 0 1em !important;
    border-bottom: 0.3em solid #39b54a !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:hover {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    font-size: 1.333em !important;
    padding: 0px 1.333em 0px 1.333em !important;
    line-height: 2.083em !important;
  }
  #footer .footerinfo {
    width: 92%;
  }
  .footerlogos {
    width: 92%;
  }
  .page-template-front-page #container #content {
    width: 92%;
  }
  #homeservices .content {
    width: 92%;
  }
  #homeservices .homeservices {
    width: 92%;
  }
  #homecta .homecta {
    width: 92%;
  }
  #container {
    width: 92%;
  }
  #branding .slogan {
    font-size: 3em;
  }
}
@media only screen and (max-width : 1248px) and (min-width : 1141px) {
  body {
    font-size: 15px;
  }
  #container #content .imgright {
    width: 32%;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link {
    font-size: 1.333em !important;
    line-height: 2.917em !important;
    height: 3em !important;
    padding: 0 1em 0 1em !important;
    border-bottom: 0.3em solid #39b54a !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:hover {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    font-size: 1.333em !important;
    padding: 0px 1.333em 0px 1.333em !important;
    line-height: 2.083em !important;
  }
  #footer .footerinfo {
    width: 92%;
  }
  .footerlogos {
    width: 92%;
  }
  .page-template-front-page #container #content {
    width: 92%;
  }
  #homeservices .content {
    width: 92%;
  }
  #homeservices .homeservices {
    width: 92%;
  }
  #homecta .homecta {
    width: 92%;
  }
  #container {
    width: 92%;
  }
  #homeservices .homeservices .textwidget .brief {
    font-size: 1.333em;
  }
  .page-template-front-page h2 {
    font-size: 2.667em;
  }
  #branding .slogan {
    font-size: 2.667em;
  }
}
@media only screen and (max-width : 1140px) and (min-width : 1025px) {
  body {
    font-size: 14px;
  }
  #container #content .imgright {
    width: 32%;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link {
    font-size: 1.333em !important;
    line-height: 2.917em !important;
    height: 3em !important;
    padding: 0 1em 0 1em !important;
    border-bottom: 0.3em solid #39b54a !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:hover {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    font-size: 1.333em !important;
    padding: 0px 1.333em 0px 1.333em !important;
    line-height: 2.083em !important;
  }
  #footer .footerinfo {
    width: 92%;
  }
  .footerlogos {
    width: 92%;
  }
  .page-template-front-page #container #content {
    width: 92%;
  }
  #homeservices .content {
    width: 92%;
  }
  #homeservices .homeservices {
    width: 92%;
  }
  #homecta .homecta {
    width: 92%;
  }
  #container {
    width: 92%;
  }
  #homeservices .homeservices .textwidget .brief {
    font-size: 1.333em;
  }
  .page-template-front-page h2 {
    font-size: 2.667em;
  }
  #footer .footerinfo ul li.location a.phone {
    font-size: 1.667em;
  }
  #footer .footerinfo ul li.serving h3 {
    font-size: 1.667em;
  } 
  .sidebarform h3 {
    font-size: 1.667em;
  }
  #testimonials .testimonials {
    width: 92%;
  }
  #branding .slogan {
    font-size: 2.444em;
  }
}
@media only screen and (max-width : 1024px) and (min-width : 901px) {
  body {
    font-size: 13px;
  }
  #container #content .imgright {
    width: 32%;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link {
    font-size: 1.333em !important;
    line-height: 2.917em !important;
    height: 3em !important;
    padding: 0 1em 0 1em !important;
    border-bottom: 0.3em solid #39b54a !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:hover {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    font-size: 1.333em !important;
    padding: 0px 1.333em 0px 1.333em !important;
    line-height: 2.083em !important;
  }
  #footer .footerinfo {
    width: 92%;
  }
  .footerlogos {
    width: 92%;
  }
  .page-template-front-page #container #content {
    width: 92%;
  }
  #homeservices .content {
    width: 92%;
  }
  #homeservices .homeservices {
    width: 92%;
  }
  #homecta .homecta {
    width: 92%;
  }
  #container {
    width: 92%;
  }
  #homeservices .homeservices .textwidget .brief {
    font-size: 1.333em;
  }
  .page-template-front-page h2 {
    font-size: 2.667em;
  }
  #homeservices .homeservices li h3 {
    font-size: 1.667em;
  }
  #footer .footerinfo ul li.location a.phone {
    font-size: 1.556em;
  }
  #footer .footerinfo ul li.serving h3 {
    font-size: 1.556em;
  }
  .sidebarform h3 {
    font-size: 1.667em;
  }
  #testimonials .testimonials {
    width: 92%;
  }
  #branding .slogan {
    font-size: 2em;
  }
}
@media only screen and (max-width : 900px) and (min-width : 801px) {
  body {
    font-size: 12px;
  }
  #container #content .imgright {
    width: 32%;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link {
    font-size: 1.333em !important;
    line-height: 2.917em !important;
    height: 3em !important;
    padding: 0 1em 0 1em !important;
    border-bottom: 0.3em solid #39b54a !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:hover {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    font-size: 1.333em !important;
    padding: 0px 1.333em 0px 1.333em !important;
    line-height: 2.083em !important;
  }
  #footer .footerinfo {
    width: 92%;
  }
  .footerlogos {
    width: 92%;
  }
  .page-template-front-page #container #content {
    width: 92%;
  }
  #homeservices .content {
    width: 92%;
  }
  #homeservices .homeservices {
    width: 92%;
  }
  #homecta .homecta {
    width: 92%;
  }
  #container {
    width: 92%;
  }
  #homeservices .homeservices .textwidget .brief {
    font-size: 1.333em;
  }
  .page-template-front-page h2 {
    font-size: 2.667em;
  }
  #homeservices .homeservices li h3 {
    font-size: 1.667em;
  }
  #footer .footerinfo ul li.location a.phone {
    font-size: 1.444em;
  }
  #footer .footerinfo ul li.serving h3 {
    font-size: 1.444em;
  }
  .sidebarform h3 {
    font-size: 1.667em;
  }
  #testimonials .testimonials {
    width: 92%;
  }
  #branding .slogan {
    font-size: 1.667em;
  }
}
@media only screen and (max-width : 800px) {
  body {
    font-size: 16px;
  }
  #container {
    width: 92%;
  }
  #content {
    width: 100%;
    margin: 0 0 3em 0;
  }
  #sidebar {
    width: 100%;
  }
  #container #content .imgright {
    width: 32%;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link {
    font-size: 1.333em !important;
    line-height: 2.917em !important;
    height: 3em !important;
    padding: 0 1em 0 1em !important;
    border-bottom: 0.3em solid #39b54a !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:hover {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {
    border-bottom: 0.3em solid #009245 !important;
  }
  #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    font-size: 1.333em !important;
    padding: 0px 1.333em 0px 1.333em !important;
    line-height: 2.083em !important;
  }
  #footer .footerinfo {
    width: 92%;
  }
  .footerlogos {
    width: 92%;
  }
  .footerlogos ul {
    gap: 2em 0;
    grid-template-columns: 33% 34% 33%;
  }
  .footerlogos ul li img {
    max-width: 90% !important;
  }
  .page-template-front-page #container #content {
    width: 92%;
  }
  #homeservices .content {
    width: 92%;
  }
  #homeservices .homeservices {
    width: 92%;
    gap: 2.667em 3%;
    grid-template-columns: 48.5% 48.5%;
  }
  #homecta .homecta {
    width: 92%;
  }
  #homeservices .homeservices .textwidget .brief {
    font-size: 1.333em;
  }
  .page-template-front-page h2 {
    font-size: 2.667em;
  }
  #homeservices .homeservices li h3 {
    font-size: 1.667em;
  }
  #footer .footerinfo ul li.location a.phone {
    font-size: 1.333em;
  }
   #footer .footerinfo ul li.serving h3 {
    font-size: 1.333em;
  }
  .sidebarform h3 {
    font-size: 1.667em;
  }
  #testimonials .testimonials {
    width: 92%;
  }
  #homecta .homecta li {
    display: table;
    width: 100% !important;
  }
  #homecta .homecta li.left {
    padding: 3em 3em;
  }
  #footer .footerinfo ul li {
    display: table;
    width: 100% !important;
  }
  #footer:before {
    position: relative;
    top: inherit;
  }
  #footer:after {
    position: relative;
    bottom: inherit;
  }
  #footer .footerinfo ul li.logo img {
    margin: 0 auto;
  }
  #footer .footerinfo ul li.location {
    text-align: center;
    padding: 2em 0 2em 0;
  }
  #footer .footerinfo ul li .fa-solid {
    margin: 0 auto 0.25em auto;
  }
  #footer .footerinfo ul li.location a.phone {
    margin: 0 auto 0.125em auto;
  }
  #footer .footerinfo ul li.location .address {
    text-align: center;
  }
  #footer .footerinfo ul li.serving {
    text-align: center;
    padding: 1em 0;
  }
  #footer .footerinfo ul li.serving h3 {
    margin: 0 auto 0.125em auto;
  }
  #footer .footerinfo ul .ratings .social {
    float: none;
    margin: 0 auto 0.5em auto;
  }
  #footer .footerinfo ul li.ratings {
    padding: 2em 0 2em 0;
  }
  #footer .footerinfo ul .ratings .recognize {
    text-align: center;
  }
  #branding .slogan {
    font-size: 1.667em;
  }
  #branding .logo {
    float: none;
    margin: 0 auto;
  }
  #branding .logo span {
    color: #000;
  }
  #branding .slogansmall {
    float: none;
    margin: 0 auto 0 auto;
    position: relative;
    bottom: inherit;
    right: inherit;
    line-height: 1.222em;
  }
  #branding .slogansmall img {
    display: table;
    margin: 0.5em auto 0 auto;
  }
  #branding .slogan {
    margin: 9em auto 0 auto;
    line-height: 1.222em;
  }
  #branding .slogan img {
    display: table;
    margin: 0.5em auto 0 auto;
  }
  .page-template-front-page #container #content .video {
    width: 100%;
  } 
  #container #content .estimator {
   width: 100%;
  }
 .page-template-front-page #container #content .estimator {
   width: 100%;
  }
  #topbar .phone {
   font-size: 0.667em !important;
  }
}
@media only screen and (max-width : 690px) {
  #container #content .imgright {
    width: 100%;
	margin: 0 0 1.5em 0;
  }
  #container #content .imgrightsteps {
    width: 100%;
	margin: 0 0 1.5em 0;
	font-size: 1em;
  }
  .contact .address {
    width: 100%;
    margin: 0 0 2em 0;
  }
  .contact .hours {
    width: 100%;
    margin: 0 0 2em 0;
  }
  #homeservices .homeservices {
    display: table;
  }
  #homeservices .homeservices li {
    margin: 0 0 1em 0;
  }
  #homecta .homecta .left .wpcf7 table tr td {
    width: 100%;
    float: left;
  }
  #topbar {
    font-size: 2.667em;
  }
  .page-template-front-page h2 {
    font-size: 2em;
  }
  .page-template-front-page #container #content {
    font-size: 1.111em;
  }
  #homeservices .content {
    font-size: 1.111em;
    text-align: center;
  }
  #testimonials .testimonials {
    font-size: 1.111em;
  }
  #homecta .homecta li.left {
    padding: 2em;
  }
  #branding .slogan {
    margin: 3em auto 0 auto;
  }
  .desktopheader {
    display: none !important;
  }
  .mobileheader {
    display: table;
    width: 100%;
    background: #fff;
    position: fixed;
    z-index: 999;
    top: 0;
  }
  .mobileheader ul {
    display: table;
    width: 100%;
  }
  .mobileheader #logo {
    width: 30%;
    display: table-cell;
    vertical-align: middle;
    padding: 0.5em 1em;
  }
  .mobileheader ul #slogan {
    width: 40%;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
  }
  .mobileheader ul #hamburgermenu {
    width: 30%;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    background: none;
  }
  .mobileheader .call {
    float: left;
    width: 50%;
    border-bottom: 2px solid #fff;
  }
  .mobileheader .call a {
    width: 100%;
    display: table;
    padding: 1em;
    color: #fff;
    background: #000;
    font-size: 1.2em;
    font-weight: 600;
    text-align: center;
  }
  .mobileheader .text {
    float: left;
    width: 50%;
    border-bottom: 2px solid #fff;
  }
  .mobileheader .text a {
    width: 100%;
    display: table;
    padding: 1em;
    color: #fff;
    background: #39b54a;
    font-size: 1.2em;
    font-weight: 600;
    text-align: center;
  }
  .mobileheader ul #logo img {
    display: table;
    margin: 0;
    height: 5em;
    width: auto;
  }
  #menu {
    display: none;
  }
  #header {
    margin: 115px 0 0 0;
  }
  #mega-menu-wrap-main-menu .mega-menu-toggle.mega-menu-open + #mega-menu-main-menu {
    top: 73px;
  }
  .page-template-front-page .mobilebanner {
    margin: 160px 0 0 0;
  }
.mobilebanner {
    margin: 160px 0 0 0;
  }
 .mobilebanner {
    display: table;
	width: 100%;
  }
 .mobilebanner {
  display: table;
  width: 100%;
  padding: 4%;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0)0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.8)100%), url('images/homebanner.webp');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
.mobilebanner .slogan {
  clear: both;
  display: table;
  width: 100%;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 1.667em;
  font-weight: 700;
  font-style: italic;
  letter-spacing: -0.02em;
  color: #fff;
  text-align: center;
  line-height: 1.333em;
  text-shadow: 0.125em 0.125em 0.25em rgba(0, 0, 0, 1);
}
.mobilebanner .slogan img {
  display: table;
  vertical-align: middle;
  width: 25%;
  margin: 1em auto 0 auto;
}
.mobilebanner .slogansmall {
  display: table;
  width: auto;
  margin: 0 auto 0 auto;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 1.556em;
  font-weight: 700;
  font-style: italic;
  letter-spacing: -0.02em;
  color: #fff;
  text-align: center;
  line-height: 1.333em;
  text-shadow: 0.125em 0.125em 0.25em rgba(0, 0, 0, 1);
}
.mobilebanner .slogansmall img {
  display: table;
  vertical-align: middle;
  width: 2.5em;
  margin: 0 auto;
}
.alignleft {
  width: 100%;
  margin: 0 0 1.5em 0;
}
.alignright {
  width: 100%;
  margin: 0 0 1.5em 0;
}
.alignnone {
  float: none;
  margin: 1.5em auto;
  display: table;
  max-width: 100%;
}
.aligncenter {
  float: none;
  margin: 1.5em auto;
  display: table;
  max-width: 100%;
}
#container #content ul.twocols li {
  width: 100%;
}
.contact .map iframe {
  display: table;
  width: 100%;
  padding: 0 0 2px 0;
}
}
@media only screen and (max-width : 480px) {
  #container #content .threeimgs li {
    width: 100%;
    margin: 0 0 1em 0;
  }
  #container #content .imgright {
    width: 100%;
    margin: 0 0 1em 0;
  }
  #container #content ul {
    float: left;
    width: 100%;
  }
  #container #content h1 {
    font-size: 2.444em;
  }
  #container #content h2 {
    font-size: 2em;
  }
  #container #content h3 {
    font-size: 1.667em;
  }
  #container #content h4 {
    font-size: 1.333em;
  }
  #topbar .phone {
    display: table;
    text-align: center;
    line-height: 1em;
    width: 100%;
    padding: 0.25em;
  }
  #topbar .social {
    display: table;
    text-align: center;
    width: 100%;
    padding: 0.25em;
  }
}