
    /* This file is auto-generated from a `scss` file with the same name */

.videobgwrapper{overflow:hidden;position:absolute;z-index:0;width:100%;height:100%;top:0;left:0;pointer-events:none;border-radius:inherit}.videobgframe{position:absolute;width:101%;height:100%;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);object-fit:fill}#dm video.videobgframe{margin:0}@media (max-width:767px){.dmRoot .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:80vh}}@media (min-width:1025px){.dmRoot .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:45vh}}@media (min-width:768px) and (max-width:1024px){.responsiveTablet .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:45vh}}#dm [data-show-on-page-only]{display:none!important}#dmRoot div.stickyHeaderFix div.site_content{margin-top:0!important}#dmRoot div.stickyHeaderFix div.hamburger-header-container{position:relative}
    



    :root {
  --color_1: rgba(26, 26, 26, 1);
  --color_2: rgba(182, 27, 0, 1);
  --color_3: rgba(239,239,239,1);
  --color_4: rgba(255, 255, 255, 1);
  --color_5: rgba(255, 203, 8, 1);
}

img[width][height] {
  height: auto;
}

  body[data-page-alias="home"] #dm [data-show-on-page-only="home"] {
    display: block !important;
  }




    


    




    


    


    .font-size-60, .size-60, .size-60 > font { font-size: 60px !important; }




  .dmDesktopBody:not(.editGrid) [data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) [data-anim-extended] {
    visibility: hidden;
  }

  .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-extended] {
    visibility: hidden !important;
  }


  #dmRoot:not(.editGrid) .flex-element [data-anim-extended] {
    visibility: hidden;
  }



    @font-face {
  font-family: "Roboto Fallback";
  src: local('Arial');
  ascent-override: 92.6709%;
  descent-override: 24.3871%;
  size-adjust: 100.1106%;
  line-gap-override: 0%;
 }@font-face {
  font-family: "Montserrat Fallback";
  src: local('Arial');
  ascent-override: 84.9466%;
  descent-override: 22.0264%;
  size-adjust: 113.954%;
  line-gap-override: 0%;
 }@font-face {
  font-family: "Poppins Fallback";
  src: local('Arial');
  ascent-override: 92.326%;
  descent-override: 30.7753%;
  line-gap-override: 8.793%;
  size-adjust: 113.7274%;
}@font-face {
  font-family: "Epilogue Fallback";
  src: local('Arial');
  ascent-override: 70.2338%;
  descent-override: 20.8923%;
  size-adjust: 112.4814%;
  line-gap-override: 0%;
 }@font-face {
  font-family: "Oswald Fallback";
  src: local('Arial');
  ascent-override: 145.0682%;
  descent-override: 35.1423%;
  size-adjust: 82.2372%;
  line-gap-override: 0%;
 }


/* ==========================================================================
   MODERN HOMEPAGE OVERRIDES - Desktop
   Clean, professional contractor styling
   ========================================================================== */

/* --- Fix: Override animation visibility:hidden so content actually shows --- */
.dmDesktopBody:not(.editGrid) [data-anim-desktop]:not([data-anim-desktop='none']),
.dmDesktopBody:not(.editGrid) [data-anim-extended] {
  visibility: visible !important;
}

.dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-desktop]:not([data-anim-desktop='none']),
.dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-extended] {
  visibility: visible !important;
}

#dmRoot:not(.editGrid) .flex-element [data-anim-extended] {
  visibility: visible !important;
}

/* --- Hero Section: Full-bleed background image with dark overlay --- */
#f558a501 {
  position: relative;
  min-height: 520px;
  max-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url('/Resources/images/pexels-photo-2219024-2880w.jpeg') center 40% / cover no-repeat;
  overflow: hidden;
}

#f558a501::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

#f558a501 > * {
  position: relative;
  z-index: 2;
}

/* Hero text styling */
#f558a501 h1 {
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
  margin-bottom: 16px;
}

#f558a501 h2 {
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* Hero CTA button - hide icon, center text */
#f558a501 .dmButtonLink .iconBg {
  display: none !important;
}

#f558a501 .dmButtonLink {
  margin-top: 24px;
  padding: 14px 40px !important;
  border-radius: 6px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

#f558a501 .dmButtonLink .text {
  padding: 0 !important;
}

#f558a501 .dmButtonLink:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(182, 27, 0, 0.4);
}

/* --- Proudly Serving Banner (#e0a7377e) --- */
#e0a7377e {
  background: var(--color_2) !important;
  padding: 28px 20px !important;
  text-align: center;
}

#e0a7377e h3 {
  font-size: 20px;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* --- Service Cards Section (#aeebe002) --- */
#aeebe002 {
  padding: 60px 20px !important;
}

/* Individual service card groups */
#ee88c3c5,
#fe5b685c,
#a5def077,
#1b66f918 {
  background: var(--color_4);
  border-radius: 12px;
  padding: 32px 24px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-align: center;
}

#ee88c3c5:hover,
#fe5b685c:hover,
#a5def077:hover,
#1b66f918:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
}

/* Service card icon SVG coloring */
#ee88c3c5 .graphicWidget svg,
#fe5b685c .graphicWidget svg,
#a5def077 .graphicWidget svg,
#1b66f918 .graphicWidget svg {
  fill: var(--color_2);
  max-width: 64px;
  max-height: 64px;
  margin-bottom: 12px;
  transition: transform 0.3s ease;
}

#ee88c3c5:hover .graphicWidget svg,
#fe5b685c:hover .graphicWidget svg,
#a5def077:hover .graphicWidget svg,
#1b66f918:hover .graphicWidget svg {
  transform: scale(1.1);
}

/* Service card titles */
#ee88c3c5 h4,
#fe5b685c h4,
#a5def077 h4,
#1b66f918 h4 {
  color: var(--color_1) !important;
  margin: 8px 0 16px;
  font-weight: 700;
}

#ee88c3c5 h4 span,
#fe5b685c h4 span,
#a5def077 h4 span,
#1b66f918 h4 span {
  color: var(--color_1) !important;
}

/* Service card buttons */
#ee88c3c5 .dmButtonLink,
#fe5b685c .dmButtonLink,
#a5def077 .dmButtonLink,
#1b66f918 .dmButtonLink {
  padding: 10px 28px !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

#ee88c3c5 .dmButtonLink .iconBg,
#fe5b685c .dmButtonLink .iconBg,
#a5def077 .dmButtonLink .iconBg,
#1b66f918 .dmButtonLink .iconBg {
  display: none !important;
}

#ee88c3c5 .dmButtonLink .text,
#fe5b685c .dmButtonLink .text,
#a5def077 .dmButtonLink .text,
#1b66f918 .dmButtonLink .text {
  padding: 0 !important;
}

#ee88c3c5 .dmButtonLink:hover,
#fe5b685c .dmButtonLink:hover,
#a5def077 .dmButtonLink:hover,
#1b66f918 .dmButtonLink:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(182, 27, 0, 0.3);
}

/* --- Mission Section (#a3acdc8a) --- */
#a3acdc8a {
  padding: 60px 40px !important;
}

#a3acdc8a h3 {
  font-size: 28px;
  margin-bottom: 16px;
}

#a3acdc8a p {
  font-size: 17px;
  line-height: 1.7;
  max-width: 640px;
}

#a3acdc8a .graphicWidget svg {
  fill: var(--color_2);
  opacity: 0.85;
  max-width: 120px;
  max-height: 120px;
}

/* --- Military Discount Section (#9e1ba701) --- */
#9e1ba701 {
  padding: 48px 20px !important;
  text-align: center;
  border-top: 4px solid var(--color_5);
  border-bottom: 4px solid var(--color_5);
}

#9e1ba701 h5 {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--color_5) !important;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

#9e1ba701 h5 span {
  color: var(--color_5) !important;
}

#9e1ba701 h6 {
  font-size: 18px !important;
  margin-bottom: 20px;
}

#9e1ba701 .dmButtonLink {
  padding: 12px 36px !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#9e1ba701 .dmButtonLink:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(182, 27, 0, 0.3);
}

/* --- Services List Section (#67587662) --- */
#67587662 {
  padding: 50px 40px !important;
}

#67587662 .defaultList.bullet li {
  padding: 6px 0;
  font-size: 16px;
  line-height: 1.6;
}

#67587662 h3 {
  margin-top: 24px;
  font-style: italic;
}

/* --- Social Proof / Why Choose Us (#1c52ab08) --- */
#1c52ab08 {
  padding: 50px 40px !important;
}

#1c52ab08 h3 {
  margin-bottom: 20px;
}

#1c52ab08 p {
  font-size: 16px;
  line-height: 1.65;
}

/* --- General Overrides: Better section spacing --- */
.flex-element.section {
  padding: 40px 20px;
}

/* --- General Overrides: All buttons get consistent styling --- */
.dmButtonLink {
  padding: 12px 32px !important;
  border-radius: 6px !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  font-weight: 600 !important;
}

.dmButtonLink:hover {
  transform: translateY(-2px);
}

/* --- "Our Recent Work" Section --- */
#dsr-recent-work {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

#dsr-recent-work .dsr-work-item img {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

#dsr-recent-work .dsr-work-item img:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.5);
}

#dsr-recent-work a[href*="gallery"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(182, 27, 0, 0.3);
}

/* --- General: Smooth scrolling --- */
html {
  scroll-behavior: smooth;
}
