/* Keep original approved source geometry. Do not apply new design defaults. */
[data-anim-desktop],[data-anim-tablet],[data-anim-mobile],[data-anim-extended]{visibility:visible!important}
.andy-submenu-open > ul{display:block!important;visibility:visible!important;opacity:1!important}


/* Andy Howard's original 8-image "What's bugging you?" Duda gallery:
   the original flash (1s, .1-.8s stagger) plus its fade-in combo.
   Existing source CSS provides the native 1.06 hover zoom-out effect.
   Do not change image geometry, original links, or image artwork. */
@keyframes andyOriginalGalleryFlash {
  0%, 50%, 100% { opacity: 1; }
  25%, 75% { opacity: 0; }
}
@keyframes andyOriginalGalleryEntrance {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion:reduce) {
  #dm [id="1373827987"][data-andy-original-gallery-restored] ,
  #dm [id="1373827987"][data-andy-original-gallery-restored] .thumbnailInnerWrapper {
    animation: none !important;
  }
}

/* Duda source browser measured the original pest tile at scale(1.06)
   on hovered links, transitioning in 0.2s ease-out. Restore only the
   already recovered homepage gallery; other Duda galleries stay intact. */
#dm [id="1373827987"][data-andy-original-gallery-restored="true"] .photoGalleryThumbs:hover .image-container,
#dm [id="1373827987"][data-andy-original-gallery-restored="true"] .photoGalleryThumbs:focus-within .image-container {
  transform: scale(1.06) !important;
  transition: transform .2s ease-out !important;
}


/* Owner-approved tablet responsive refinements — 2026-11-03.
   Staging migration adjustment, not a new desktop/mobile visual system.
   The preserved original tablet DOM is retained, but at >=768 through
   1024 CSS pixels its content sections flow as useful single columns. */
@media (min-width:768px) and (max-width:1024px) {
  html.andy-approved-tablet #dm .dmBody .dmRespColsWrapper {
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
  }
  html.andy-approved-tablet #dm .dmBody .dmRespColsWrapper > .dmRespCol {
    display:block !important;
    box-sizing:border-box !important;
    float:none !important;
    clear:both !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    flex:0 0 100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  /* Duda's independent photo-gallery grid remains intact: no blanket
     overrides on .photogallery-column, cards or thumbnail grid cells. */
  html.andy-approved-tablet #dm [id="1373827987"][data-andy-original-gallery-restored="true"] .image-container {
    background-position:50% 50% !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  /* Source-exact eight image fallback: don't depend on the Duda gallery JS
     painting each background before tablet CSS becomes visible. Runtime
     recovery still owns the original stagger and 1.06 hover animation.
     The same original media is painted on each linked overlay. */
  html.andy-approved-tablet #dm [id="1373827987"] .image-container:has(img[src$="cockroaches-lg-600x600-1280w.png"]),
  html.andy-approved-tablet #dm [id="1373827987"] .image-container a.has-link:has(img[src$="cockroaches-lg-600x600-1280w.png"]) {
    background-image:url('/Resources/images/cockroaches-lg-600x600-1280w.png') !important;
    background-position:center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
  }

  html.andy-approved-tablet #dm [id="1373827987"] .image-container:has(img[src$="ants-1332x1332-1280w.png"]),
  html.andy-approved-tablet #dm [id="1373827987"] .image-container a.has-link:has(img[src$="ants-1332x1332-1280w.png"]) {
    background-image:url('/Resources/images/ants-1332x1332-1280w.png') !important;
    background-position:center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
  }

  html.andy-approved-tablet #dm [id="1373827987"] .image-container:has(img[src$="spiders-1332x1332-1280w.png"]),
  html.andy-approved-tablet #dm [id="1373827987"] .image-container a.has-link:has(img[src$="spiders-1332x1332-1280w.png"]) {
    background-image:url('/Resources/images/spiders-1332x1332-1280w.png') !important;
    background-position:center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
  }

  html.andy-approved-tablet #dm [id="1373827987"] .image-container:has(img[src$="bedbug-1332x1332-1280w.png"]),
  html.andy-approved-tablet #dm [id="1373827987"] .image-container a.has-link:has(img[src$="bedbug-1332x1332-1280w.png"]) {
    background-image:url('/Resources/images/bedbug-1332x1332-1280w.png') !important;
    background-position:center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
  }

  html.andy-approved-tablet #dm [id="1373827987"] .image-container:has(img[src$="termites-1332x1332-1280w.png"]),
  html.andy-approved-tablet #dm [id="1373827987"] .image-container a.has-link:has(img[src$="termites-1332x1332-1280w.png"]) {
    background-image:url('/Resources/images/termites-1332x1332-1280w.png') !important;
    background-position:center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
  }

  html.andy-approved-tablet #dm [id="1373827987"] .image-container:has(img[src$="rodents-1280w.png"]),
  html.andy-approved-tablet #dm [id="1373827987"] .image-container a.has-link:has(img[src$="rodents-1280w.png"]) {
    background-image:url('/Resources/images/rodents-1280w.png') !important;
    background-position:center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
  }

  html.andy-approved-tablet #dm [id="1373827987"] .image-container:has(img[src$="mosquitos-1332x1332-1280w.png"]),
  html.andy-approved-tablet #dm [id="1373827987"] .image-container a.has-link:has(img[src$="mosquitos-1332x1332-1280w.png"]) {
    background-image:url('/Resources/images/mosquitos-1332x1332-1280w.png') !important;
    background-position:center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
  }

  html.andy-approved-tablet #dm [id="1373827987"] .image-container:has(img[src$="fleas-1280w.png"]),
  html.andy-approved-tablet #dm [id="1373827987"] .image-container a.has-link:has(img[src$="fleas-1280w.png"]) {
    background-image:url('/Resources/images/fleas-1280w.png') !important;
    background-position:center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
  }

  /* The original tablet drawer row had 30px 40px padding, leaving only
     232px inside a 312px drawer. Mobile uses 80px 20px 15px, yielding
     a 272px link column. Match its actual enclosing row geometry. */
  html.andy-approved-tablet #dm .layout-drawer .middleDrawerRow {
    padding:80px 20px 15px !important;
    box-sizing:border-box !important;
  }
  html.andy-approved-tablet #dm .layout-drawer .middleDrawerRow > .dmRespColsWrapper,
  html.andy-approved-tablet #dm .layout-drawer .middleDrawerRow > .dmRespColsWrapper > .dmRespCol {
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }
  /* Make the tablet drawer follow the source mobile menu's fixed, narrow
     side-drawer treatment and smaller item spacing. */
  html.andy-approved-tablet #dm .layout-drawer {
    width:min(312px,80vw) !important;
    max-width:80vw !important;
    box-sizing:border-box !important;
    overflow-y:auto !important;
  }
  html.andy-approved-tablet #dm #hamburger-header-container {
    height:75px !important;
  }
  html.andy-approved-tablet #dm #layout-drawer-hamburger {
    width:40px !important;
    height:40px !important;
    padding:13px 9px !important;
    top:17.5px !important;
    right:10px !important;
    left:auto !important;
  }
  html.andy-approved-tablet #dm .layout-drawer .andy-tablet-mobile-menu {
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    left:0 !important;
    top:0 !important;
    font-size:16px !important;
  }
  html.andy-approved-tablet #dm .layout-drawer .andy-tablet-mobile-menu
    .unifiednav__container_sub-nav > li > a.unifiednav__item {
    padding:5px 12px !important;
    min-height:42px !important;
    box-sizing:border-box !important;
  }
  html.andy-approved-tablet #dm .layout-drawer .andy-tablet-mobile-menu
    .unifiednav__container.unav-top > li > a.unav-top-item {
    min-height:46px !important;
    box-sizing:border-box !important;
    padding:5px 12px !important;
  }
  /* Nov 4 fidelity repair: tablet now renders the real archived MOBILE
     drawer. Its original CSS is gated to <=767px; mirror the source mobile
     colors and typography here while preserving tablet-only page content. */
  html.andy-approved-tablet #dm .layout-drawer[data-andy-mobile-drawer-source="true"] {
    background-color:rgba(160,35,33,1) !important;
    color:#fff !important;
    display:flex !important;
    flex-direction:column !important;
  }
  /* The original mobile first drawer row is a true 0px spacer. Duda's
     tablet CSS resurrected it as 29px and shifted all links downward. */
  html.andy-approved-tablet #dm .layout-drawer[data-andy-mobile-drawer-source="true"]
    > .dmRespRow:first-child {
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
  }
  /* Tablet's old menu adds 12px/15px padding to this cloned nav;
     the actual mobile nav uses padding:0. */
  html.andy-approved-tablet #dm .layout-drawer[data-andy-mobile-drawer-source="true"]
    nav.main-navigation {
    padding:0 !important;
  }
  html.andy-approved-tablet #dm .layout-drawer[data-andy-mobile-drawer-source="true"]
    nav.main-navigation,
  html.andy-approved-tablet #dm .layout-drawer[data-andy-mobile-drawer-source="true"]
    nav.main-navigation .unifiednav__container {
    background-color:transparent !important;
  }
  html.andy-approved-tablet #dm .layout-drawer[data-andy-mobile-drawer-source="true"]
    nav.main-navigation .unifiednav__container.unav-top > li > a.unav-top-item {
    color:rgba(255,255,255,1) !important;
    font-size:16px !important;
    font-weight:700 !important;
    text-decoration:none !important;
  }
  html.andy-approved-tablet #dm .layout-drawer[data-andy-mobile-drawer-source="true"]
    nav.main-navigation .unifiednav__container.unav-top > li > a.dmNavItemSelected {
    color:rgba(255,204,51,1) !important;
    font-weight:400 !important;
  }
  html.andy-approved-tablet #dm .layout-drawer[data-andy-mobile-drawer-source="true"]
    nav.main-navigation .unifiednav__container_sub-nav .unifiednav__item {
    color:rgba(239,239,239,1) !important;
    font-size:16px !important;
    font-weight:700 !important;
  }
  html.andy-approved-tablet #dm .layout-drawer[data-andy-mobile-drawer-source="true"]
    nav.main-navigation .unav-top-item .nav-item-text,
  html.andy-approved-tablet #dm .layout-drawer[data-andy-mobile-drawer-source="true"]
    nav.main-navigation .unifiednav__container_sub-nav .nav-item-text {
    color:inherit !important;
    font-weight:inherit !important;
  }
  html.andy-approved-tablet #dm .layout-drawer[data-andy-mobile-drawer-source="true"]
    .dmRespRow[id="1610987705"] {
    margin-top:auto !important;
    padding:0 20px 40px !important;
  }
  html.andy-approved-tablet #dm .layout-drawer[data-andy-mobile-drawer-source="true"]
    .dmRespRow[id="1610987705"] a.inlineBindingLink {
    color:#fff !important;
    font-weight:700 !important;
  }
  html.andy-approved-tablet #dm #layout-drawer-hamburger {
    color:rgba(255,204,51,1) !important;
    background-color:transparent !important;
  }
  html.andy-approved-tablet #dm #layout-drawer-hamburger .hamburger__slice {
    background-color:rgba(255,204,51,1) !important;
  }
  /* The original homepage calls this CTA "View All Specials"; other
     source pages can have "View All Services". Mark exact matches only. */
  html.andy-approved-tablet #dm .dmBody
    a.dmButtonLink[data-andy-approved-tablet-center="true"] {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:max-content !important;
    max-width:100% !important;
    float:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }
}
/* Desktop-only Services dropdown: 30px padding on each original
   first-level submenu link. Keep submenu scrollable on short screens. */
@media (min-width:1025px) {
  #dm .dmHeaderContainer nav.main-navigation
    li[data-sub-nav-menu="true"] > ul.unifiednav__container_sub-nav > li > a.unifiednav__item {
    box-sizing:border-box !important;
    padding:30px !important;
  }
  #dm .dmHeaderContainer nav.main-navigation
    li[data-sub-nav-menu="true"] > ul.unifiednav__container_sub-nav {
    max-height:calc(100dvh - 155px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
  }
}
