/* Mobile menu: hide submenus by default */
@media (max-width: 1024px) {
    #mobile-nav .mobile-menu>li.menu-item-has-children>ul.sub-menu {
        display: none !important;
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    /* Show submenu when parent has been opened */
    #mobile-nav .mobile-menu>li.menu-item-has-children.is-open>ul.sub-menu {
        display: block !important;
    }

    /* Remove bullets/indentation from submenu */
    #mobile-nav .mobile-menu ul.sub-menu,
    #mobile-nav .mobile-menu ul.sub-menu li {
        list-style: none !important;
    }

    /* Make the Services link a positioning container */
    #mobile-nav .mobile-menu>li.menu-item-has-children>a {
        position: relative;
        display: block;
        padding-right: 45px;
    }

    /* Expand arrow */
    #mobile-nav .mobile-menu>li.menu-item-has-children>a::after {
        content: "";
        position: absolute;
        right: 15px;
        top: 50%;
        width: 9px;
        height: 9px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform: translateY(-65%) rotate(45deg);
        transition: transform 0.25s ease;
    }

    /* Rotate arrow when submenu is open */
    #mobile-nav .mobile-menu>li.menu-item-has-children.is-open>a::after {
        transform: translateY(-35%) rotate(225deg);
    }
}

@media (max-width: 1080px) {
    nav.primary {
        display: none;
    }

    .menu-toggle {
        display: block;
    }

    .area-cols {
        grid-template-columns: 1fr 1fr;
    }

    .final-top {
        grid-template-columns: 1fr;
    }

    .final-grid {
        grid-template-columns: 1fr 1fr;
    }

    .faq-contact {
        grid-template-columns: 1fr 1fr;
    }

    .cta-strip {
        padding: 30px;
    }

    .track-wrap {
        grid-template-columns: 1fr;
    }

    .about-teaser {
        grid-template-columns: 1fr;
    }

    .biz-grid {
        grid-template-columns: 1fr;
    }

    .about-teaser img {
        height: 260px;
    }

    .hero-card {
        padding: 34px;
    }

    .hero-top {
        grid-template-columns: 1fr;
    }

    .hero-photo {
        min-height: 280px;
        order: -1;
    }

    .mini-quote {
        grid-template-columns: 1fr 1fr;
    }

    .mini-quote .btn-primary {
        grid-column: 1/-1;
    }

    .process-row {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 36px;
    }

    .process-row::before {
        display: none;
    }

    .p-node:nth-child(even) {
        margin-top: 0;
    }

    .svc-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .blog-grid {
        grid-template-columns: 1fr 1fr;
    }

    .why-grid {
        grid-template-columns: 1fr 1fr;
    }

    .trust-strip .wrap {
        grid-template-columns: repeat(3, 1fr);
    }

    .tiers {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .veh-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .feature-row {
        grid-template-columns: 1fr;
    }

    .feature-row.reverse .f-media,
    .feature-row.reverse .f-text {
        order: 0;
    }

    .cta-dark {
        grid-template-columns: 1fr;
        text-align: left;
        padding: 36px;
    }

    .cta-dark::before {
        display: none;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, 160px);
    }

    .foot-grid-6 {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .foot-grid-6>div:first-child {
        grid-column: 1/-1;
    }

    .foot-cta-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .gallery-grid a.big {
        grid-row: span 1;
    }

    .qfc-lightbox-image-wrap {
        width: calc(100% - 110px);
    }

    .services-dark {
        padding: 36px 24px;
        border-radius: 20px;
    }

    .svc-hero .wrap {
        grid-template-columns: 1fr;
    }

    .svc-hero-photo {
        height: 260px;
        order: -1;
    }

    .finder-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .svc-detail-grid {
        grid-template-columns: 1fr;
    }

    .svc-detail-badges {
        grid-template-columns: repeat(2, 1fr);
    }

    .svc-detail-features {
        grid-template-columns: 1fr;
    }

    .quicknav-wrap {
        top: 0;
    }

    .all-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .why-photo-grid {
        grid-template-columns: 1fr;
    }

    .why-photo {
        height: 280px;
    }

    .photo-steps {
        grid-template-columns: repeat(2, 1fr)
    }

    .tier-grid {
        grid-template-columns: 1fr;
    }

    .tier-card.featured {
        transform: none;
    }

    .quote-full-grid {
        grid-template-columns: 1fr;
    }

    .svc-hero .wrap {
        grid-template-columns: 1fr;
    }

    .svc-hero-card {
        order: -1;
    }

    .cap-bar-item {
        min-width: 45%;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }

    .intro-split {
        grid-template-columns: 1fr;
    }

    .intro-media {
        height: 280px;
        order: -1;
    }

    .speed4-grid {
        grid-template-columns: 1fr 1fr;
    }

    .cta-strip {
        padding: 30px;
    }

    .fits-grid {
        grid-template-columns: 1fr;
    }

    .fits-side {
        position: static;
    }

    .cta-strip {
        padding: 30px;
    }

    .whyus-split {
        grid-template-columns: 1fr;
    }

    .whyus-media {
        height: 300px;
    }

    .process4-row {
        grid-template-columns: 1fr 1fr;
        row-gap: 36px;
    }

    .process4-row::before {
        display: none;
    }

    .quote-full-grid {
        grid-template-columns: 1fr;
    }

    .related-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .page-nav-inner {
        justify-content: unset;
    }

    .ab-hero-grid {
        grid-template-columns: 1fr;
        gap: 56px;
        padding: 64px 0 100px;
    }

    .ab-ticket {
        max-width: 520px;
        transform: none;
    }

    .ab-story-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .ab-story-left {
        position: static;
    }

    .ab-team-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ab-tcard:nth-child(even) {
        margin-top: 0;
    }

    .ab-steps {
        grid-template-columns: 1fr 1fr;
        row-gap: 44px;
    }

    .ab-steps::before {
        display: none;
    }

    .ab-quote-card {
        grid-template-columns: 1fr;
    }

    .ab-contact-row {
        grid-template-columns: 1fr 1fr;
    }

    .ab-mv {
        grid-template-columns: 1fr;
    }

    .ab-bento {
        grid-template-columns: repeat(2, 1fr);
    }

    .ab-b.s2,
    .ab-b.s3,
    .ab-b.s4 {
        grid-column: span 1;
    }

    .ab-b.s4 {
        grid-column: span 2;
    }

    .ab-val-row {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
        height: 450px;
    }

    .ab-sec {
        padding: 55px 0;
    }

    .hero-coverage .hero-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .answer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .answer-item:nth-child(2) {
        border-right: none;
    }

    .answer-item:nth-child(-n+2) {
        border-bottom: 1px solid var(--line);
    }

    .overview,
    .price-wrap {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .loc-grid {
        grid-template-columns: 1fr 1fr;
    }

    .speed-grid,
    .fleet-grid,
    .process-row.process-cards {
        grid-template-columns: 1fr 1fr;
    }

    #routes .svc-grid {
        grid-template-columns: 1fr 1fr;
    }

    .proof-grid {
        grid-template-columns: 1fr 1fr;
    }

    #service_area .quote-full-grid {
        grid-template-columns: 1fr;
    }

    .ind-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ind-split {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .ind-split.rev .ind-panel {
        order: 0;
    }

    .ind-sub {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    body {
        padding-bottom: 70px;
    }

    .mobile-sticky {
        display: flex;
    }

    section {
        padding: 52px 0;
    }

    .area-cols {
        grid-template-columns: 1fr;
    }

    .final-grid {
        grid-template-columns: 1fr;
    }

    .faq-contact {
        grid-template-columns: 1fr;
    }

    .cta-dark-body {
        grid-template-columns: 1fr;
    }

    .newsletter {
        flex-direction: column;
        align-items: stretch;
        text-align: left;
    }

    .newsletter .nl-text {
        flex: 1 1 auto;
    }

    .newsletter form {
        width: 100%;
        flex: 1 1 auto;
    }

    .newsletter form input {
        min-width: 0;
        width: 100%;
    }

    .newsletter p,
    .newsletter form .btn {
        width: 100%;
    }

    .topbar {
        display: none;
    }

    .topbar-left a:nth-child(2) {
        display: none;
    }

    .topbar-social {
        display: none;
    }

    .grid-3,
    .grid-2,
    .veh-grid,
    .grid-4 {
        grid-template-columns: 1fr;
    }

    .trust-strip .wrap {
        grid-template-columns: repeat(2, 1fr);
        padding: 22px 16px;
    }

    .trust-block {
        border-right: none;
    }

    .tiers {
        grid-template-columns: 1fr 1fr;
    }

    .process-row {
        grid-template-columns: 1fr 1fr;
    }

    .svc-grid {
        grid-template-columns: 1fr;
    }

    .blog-grid {
        grid-template-columns: 1fr;
    }

    .blog-post {
        min-height: 380px;
    }

    .why-grid {
        grid-template-columns: 1fr;
    }

    .mini-quote {
        grid-template-columns: 1fr;
    }

    .foot-grid {
        grid-template-columns: 1fr 1fr;
    }

    .foot-grid>div:first-child {
        grid-column: 1/-1;
    }

    .gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(3, 130px);
    }

    .qfc-lightbox {
        padding: 10px;
    }

    .qfc-lightbox-image-wrap {
        width: 100%;
        height: calc(100% - 100px);
        padding: 10px;
    }

    .qfc-lightbox-close {
        top: 12px;
        right: 12px;

        width: 42px;
        height: 42px;
    }

    .qfc-lightbox-prev,
    .qfc-lightbox-next {
        width: 42px;
        height: 42px;

        font-size: 15px;
    }

    .qfc-lightbox-prev {
        left: 8px;
    }

    .qfc-lightbox-next {
        right: 8px;
    }

    .qfc-lightbox-footer {
        bottom: 12px;
    }

    .qfc-lightbox-caption {
        display: none;
    }

    .hero-card {
        padding: 24px;
        border-radius: 18px;
    }

    .f-media {
        height: 200px;
    }

    .btn-tel {
        display: none;
    }

    #mobile-nav a {
        padding: 14px 10px;
    }

    a.btn.btn-light {
        color: #202329 !important;
    }

    .finder-grid {
        grid-template-columns: 1fr 1fr;
    }

    .svc-detail-badges {
        grid-template-columns: 1fr 1fr;
    }

    .finder-panel {
        padding: 22px;
        margin-top: -30px;
    }

    .all-services-grid {
        grid-template-columns: 1fr;
    }

    .why-list {
        grid-template-columns: 1fr;
    }

    .photo-steps {
        grid-template-columns: repeat(1, 1fr);
    }

    .quote-full {
        padding: 28px;
    }

    .quote-full-form {
        padding: 22px;
    }

    .hero-chips {
        max-width: 100%;
        gap: 8px;
        margin-top: 24px;
        padding-top: 20px;
    }

    .hero-chips span {
        padding: 8px 13px;
        font-size: 13px;
        white-space: normal;
    }

    .cap-bar-item {
        min-width: 100%;
    }

    .page-nav-wrap {
        top: 0;
    }

    .aeo-block {
        padding: 22px;
    }

    .speed4-grid {
        grid-template-columns: 1fr;
    }

    .whyus-stats {
        flex-wrap: wrap;
    }

    .whyus-stats div {
        flex: 1 1 33%;
    }

    .process4-row {
        grid-template-columns: 1fr;
    }

    .grid-3,
    .grid-2,
    .veh-grid,
    .grid-4 {
        grid-template-columns: 1fr;
    }

    .quote-full {
        padding: 28px;
    }

    .quote-full-form {
        padding: 22px;
    }

    .related-grid {
        grid-template-columns: 1fr 1fr;
    }

    .page-nav-inner {
        justify-content: unset;
    }

    .ab-sec {
        padding: 70px 0;
    }

    .ab-wrap {
        padding: 0 20px;
    }

    .ab-stat-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ab-stat:nth-child(3) {
        padding-left: 0;
        border-left: 0;
    }

    .ab-stat:nth-child(n+3) {
        border-top: 1px solid var(--line);
        margin-top: 18px;
    }

    .ab-val-row {
        flex-direction: column;
        height: auto;
    }

    .ab-val {
        min-height: 200px;
        flex: none !important;
    }

    .ab-val:hover {
        flex: none;
    }

    .ab-chap {
        grid-template-columns: 54px 1fr;
        gap: 14px;
    }

    .ab-chap-n {
        font-size: 40px;
    }

    .ab-mv-card {
        padding: 32px 26px;
    }

    .ab-process,
    .ab-banner {
        margin: 0 8px;
        border-radius: 30px;
    }

    .ab-steps {
        grid-template-columns: 1fr;
    }

    .ab-bento {
        grid-template-columns: 1fr;
    }

    .ab-b.s2,
    .ab-b.s3,
    .ab-b.s4 {
        grid-column: span 1;
    }

    .ab-b {
        min-height: 200px;
    }

    .ab-q-left,
    .ab-q-right {
        padding: 36px 24px;
    }

    .ab-row2 {
        grid-template-columns: 1fr;
    }

    .ab-final-box {
        padding: 56px 24px;
        border-radius: 30px;
    }

    .ab-contact-row {
        grid-template-columns: 1fr;
    }

    .ab-story-img .badge {
        right: 10px;
    }

    .ab-team-grid {
        grid-template-columns: 1fr;
    }

    .ab-val-row {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 14px;
    }

    .hero.hero-coverage {
        padding: 36px 0 48px;
    }

    .hero-coverage .hero-stats {
        grid-template-columns: 1fr 1fr;
    }

    .hero-coverage .hero-cta .btn {
        width: 100%;
    }

    .hero-coverage .hero-card {
        padding: 22px;
    }

    .answer-grid {
        grid-template-columns: 1fr;
    }

    .answer-item,
    .answer-item:nth-child(2) {
        border-right: none;
        border-bottom: 1px solid var(--line);
        padding: 18px 4px;
    }

    .answer-item:last-child {
        border-bottom: none;
    }

    .loc-grid,
    .speed-grid,
    .fleet-grid,
    .process-row.process-cards,
    #routes .svc-grid,
    .proof-grid,
    .price-list {
        grid-template-columns: 1fr;
    }

    .industry-row {
        padding: 20px;
    }

    .cta-strip.cta-strip-orange {
        padding: 30px 22px;
    }

    .cta-strip-orange .actions,
    .cta-strip-orange .actions .btn {
        width: 100%;
    }

    #service_area .quote-full-panel,
    #service_area .quote-full-form {
        padding: 28px 20px;
    }

    #service_area .qform .row2 {
        grid-template-columns: 1fr;
    }

    .ind-grid,
    .cov-grid {
        grid-template-columns: 1fr;
    }

    .ind-panel {
        padding: 22px;
    }

    section#get-quote.ind-sec {
        padding-top: 52px;
    }
}

@media (max-width: 520px) {
    .ab-team-grid {
        grid-template-columns: 1fr;
    }

    .ab-tcard {
        aspect-ratio: 4/4.4;
    }

    .ab-hero h1 .ol {
        -webkit-text-stroke-width: 1.5px;
    }

    .ab-ticket::before,
    .ab-ticket::after {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ab-rv {
        opacity: 1;
        transform: none;
    }

    .ab-mq-track,
    .ab-tk-line i {
        animation: none !important;
    }
}