/*
Theme Name: PQ (2025)
Theme URI: https://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: https://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here...Remember to change the Version number above! */

@font-face {
    font-family: "Elston";
    font-style: normal;
    font-weight: 700;
    src: url("assets/fonts/elston/ElstonBold.eot?") format("eot"), url("assets/fonts/elston/ElstonBold.woff") format("woff"), url("assets/fonts/elston/ElstonBold.ttf") format("truetype");
}

/* base */
:root {
    --pq-default-transition: all .2s;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    --fl-builder-min-node-size: 0px;
}

@view-transition {
    navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
    animation: fade 0.3s ease both;
}

@keyframes fade {
    from { opacity: 0; }
    to   { opacity: 1; }
}

a, a *, input[type=submit] {
    transition: var(--pq-default-transition) !important;
    -moz-transition: var(--pq-default-transition) !important;
    -webkit-transition: var(--pq-default-transition) !important;
    -o-transition: var(--pq-default-transition) !important;
}

.fl-rich-text > :last-child {
    margin-bottom: 0;
}

.fl-module-box .fl-module-separator {
    width: 100%;
}

.fl-module-rich-text ul {
    padding-left: .8em;
}

.fl-module-rich-text ul li {
    margin-bottom: 5px;
}

.fl-module-rich-text ul li:last-child {
    margin-bottom: 0px;
}

.fl-loop-grid {
    margin-bottom: 0;
}

.fl-page input[type=button]:hover, .fl-responsive-preview-content input[type=button]:hover, .fl-button-lightbox-content input[type=button]:hover, .fl-page input[type=submit]:hover, .fl-responsive-preview-content input[type=submit]:hover, .fl-button-lightbox-content input[type=submit]:hover, .fl-page button[type=submit]:hover, .fl-responsive-preview-content button[type=submit]:hover, .fl-button-lightbox-content button[type=submit]:hover, .fl-page a.fl-button:hover, .fl-responsive-preview-content a.fl-button:hover, .fl-button-lightbox-content a.fl-button:hover, .fl-page a.button:hover, .fl-responsive-preview-content a.button:hover, .fl-button-lightbox-content a.button:hover, .fl-page button.button:hover, .fl-responsive-preview-content button.button:hover, .fl-button-lightbox-content button.button:hover, .fl-page .fl-page-nav-toggle-button .fl-page-nav .navbar-toggle:hover, .fl-responsive-preview-content .fl-page-nav-toggle-button .fl-page-nav .navbar-toggle:hover, .fl-button-lightbox-content .fl-page-nav-toggle-button .fl-page-nav .navbar-toggle:hover {
    background-color: transparent;
}

.fl-builder-content .fl-button:is(a, button), .fl-builder-content a.fl-button:visited {
    padding: 5px 15px;
}

.fl-accordion-button .fl-accordion-button-icon:focus, .fl-accordion-button .fl-accordion-button-icon:active {
    outline: none;
}

/* menu */
#mega-menu-wrap-header #mega-menu-header > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item.menu-item-industry > a.mega-menu-link {
    display: flex;
    align-items: center;
    gap: 5px;
    line-height: 1;
}

#mega-menu-wrap-header #mega-menu-header li.mega-menu-item.menu-item-industry a.mega-menu-link:before {
    content: '';
    display: block;
    width: 25px;
    height: 25px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
    margin: 0;
}


/* heading color highlight */
h1 strong, h2 strong, h3 strong {
    color: var(--fl-global-red-01);
}

/* utilities */
.links-underline a {
    text-decoration: underline;
}

.pq-custom-bullet-01 ul {
    padding-left: 1.5em;
}

.pq-custom-bullet-01 li {
    list-style-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTYgMTYiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jbHMtMiB7CiAgICAgICAgZmlsbDogI2IzMWUzYjsKICAgICAgfQoKICAgICAgLmNscy0zIHsKICAgICAgICBjbGlwLXBhdGg6IHVybCgjY2xpcHBhdGgpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwcGF0aCI+CiAgICAgIDxyZWN0IGNsYXNzPSJjbHMtMSIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBjbGFzcz0iY2xzLTMiIHRyYW5zZm9ybT0ic2NhbGUoMC41KSB0cmFuc2xhdGUoMCwgOCkiIHRyYW5zZm9ybS1vcmlnaW49ImNlbnRlciI+CiAgICA8ZyBpZD0iR3JvdXBfMTUwIiBkYXRhLW5hbWU9Ikdyb3VwIDE1MCI+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzcyIiBkYXRhLW5hbWU9IlBhdGggNzIiIGNsYXNzPSJjbHMtMiIgZD0iTTgsMEMzLjU4LDAsMCwzLjU4LDAsOHMzLjU4LDgsOCw4LDgtMy41OCw4LThTMTIuNDIsMCw4LDBNMTIuNiw0Ljk0bC00LjUsNi43MWMtLjE0LjIxLS4zNy4zNi0uNjIuNC0uMjUuMDQtLjUyLS4wMi0uNzItLjE4bC0zLjItMi40NGMtLjQxLS4zMi0uNDktLjktLjE3LTEuMzEuMzItLjQxLjktLjQ5LDEuMzEtLjE3bDIuNCwxLjg0LDMuOTUtNS44OWMuMjgtLjQzLjg2LS41NSwxLjI5LS4yNi40My4yOC41NS44Ni4yNiwxLjI5LDAsMCwwLDAsMCwwIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4=);
}

.pq-custom-bullet-01 li::marker {
    font-size: 3.6em;
    line-height: .1;
}

/* sticky col */
.sticky-col {
    align-items: start;
}

.sticky-col .fl-col-content {
    position: sticky;
    top: 200px;
}

.list-2-col ul, .list-2-col ol {
    columns: 2;
}

@media (max-width: 767.98px) {
    .list-2-col ul, .list-2-col ol {
        columns: 1;
    }
}

@media (min-width: 768px) {
    .loop-less-than-three-centered .fl-loop-grid:not(:has(.fl-loop-item:nth-child(3))) {
        grid-template-columns: repeat(auto-fit, minmax(0, 33.3%)) !important;
    }
}



/* home */

.home-hero-row .fl-row-content-wrap {
    --home-hero-dots-bg-image: url(/content/uploads/2026/01/hero-dots-bg-v2.png);
    background-repeat: no-repeat;
    background-position: center 20px, center bottom;
    background-size: contain;
    background-blend-mode: darken;
}

.hero-humboldt .home-hero-row .fl-row-content-wrap {
    background-image: var(--home-hero-dots-bg-image),url(/content/uploads/2026/01/hero-trees-bg-v3.jpg);
    padding-bottom: 15vw !important;
}

@media (max-width: 1199.98px) {
    .hero-humboldt .home-hero-row .fl-row-content-wrap {
        padding-bottom: 17vw !important;
    }
}

@media (max-width: 767.98px) {
    .hero-humboldt .home-hero-row .fl-row-content-wrap {
        padding-bottom: 25vw !important;
    }
}

.hero-san-diego .home-hero-row .fl-row-content-wrap {
    background-image: var(--home-hero-dots-bg-image),url(/content/uploads/2026/04/hero-bg-san-diego-county-v2.jpg);
    padding-bottom: 25vw !important;
}

@media (max-width: 767.98px) {
    .hero-san-diego .home-hero-row .fl-row-content-wrap {
        padding-bottom: 30vw !important;
    }
}

.hero-fresno .home-hero-row .fl-row-content-wrap {
    background-image: var(--home-hero-dots-bg-image),url(/content/uploads/2026/04/hero-bg-fresno-county-v2.jpg);
    padding-bottom: 30vw !important;
}

.hero-orange .home-hero-row .fl-row-content-wrap {
    background-image: var(--home-hero-dots-bg-image),url(/content/uploads/2026/04/hero-bg-orange-county.jpg);
    padding-bottom: 19vw !important;
}

@media (max-width: 991.98px) {
    .hero-orange .home-hero-row .fl-row-content-wrap {
        padding-bottom: 24vw !important;
    }
}

@media (max-width: 767.98px) {
    .hero-orange .home-hero-row .fl-row-content-wrap {
        padding-bottom: 30vw !important;
    }
}

.hero-sacramento .home-hero-row .fl-row-content-wrap {
    background-image: var(--home-hero-dots-bg-image),url(/content/uploads/2026/04/hero-bg-sacramento-county-v2.jpg);
    padding-bottom: 21vw !important;
}

@media (max-width: 1499.98px) {
    .hero-sacramento .home-hero-row .fl-row-content-wrap {
        padding-bottom: 26vw !important;
    }
}

/* pricing */

.pq-amount:before {
    display: none !important;
}

.pq-amount::first-letter {
    font-size: 60%;
    vertical-align: super;
}

.pq-cents {
    font-size: 60% !important;
    vertical-align: super;
}

/* tabs */
.fl-tabs .fl-tabs-label:focus {
    outline: none !important;
}

/* cards */

.card-product .btn-with-arrow * {
    transition: var(--pq-default-transition);
}

.card-product:hover .btn-with-arrow p {
    color: var(--fl-global-red-01) !important;
}

.card-product:hover .btn-with-arrow svg .arrow-stroke {
    stroke: var(--fl-global-red-01) !important;
}

.card-product:hover .btn-with-arrow svg .arrow-fill {
    fill: var(--fl-global-red-01) !important;
}

/*feature card*/
figure.feature-icon {
    aspect-ratio: 1;
    background-color: var(--fl-global-red-01);
    padding: 10px;
    border-radius: 50%;
    display: flex;
    align-items: center;
}

figure.feature-icon img {
    width: 40px !important;
    height: 40px !important;
    object-fit: contain;
    max-width: none !important;
}

.card-featured {
    transition: var(--pq-default-transition);
}

@media (max-width: 991.98px) {
    .card-featured, .card-testimonial {
        width: calc(100% - 12px) !important;
    }

    figure.feature-icon img {
        width: 30px !important;
        height: 30px !important;
    }
}

.card-featured:hover {
    box-shadow: 0px 3px 6px 0px rgba(185, 36, 43, 0.6) !important;
}

/*testimonial card */
.card-testimonial {
    background-size: 127px 37px !important;
    background-position: 20px 20px !important;
}

/* Insight card */
.card-insight {
    transition: var(--pq-default-transition);
}
.card-insight:hover {
    background-color: #DBDCDD !important;
}

/* resource card */
.card-resource {
    transition: var(--pq-default-transition);
}

.card-resource figure {
    width: 125px !important;
}

.card-resource img {
    aspect-ratio: 125 / 109;
}

.card-resource:hover {
    box-shadow: 0px 3px 6px 0px rgba(185, 36, 43, 0.6) !important;
}

.card-pq-online .pq-bullets li {
    margin-bottom: 20px;
}

.card-pq-online .additional-features {
    display: none !important;
}

.card-pq-online.additional-features-section .additional-features {
    display: flex !important;
}

/* slider offset */
.slides-with-box-shadow {
    --swiper-navigation-top-offset: calc(50% - 12px - var(--swiper-navigation-size) /2);
}

.slides-with-box-shadow .swiper-wrapper {
    padding-bottom: 10px;
}

/* Accordion Button */
.accordion-btn {
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: bold;
    color: #000000;
    text-decoration: none;
}

.accordion-btn:hover {
    color: #000000;
}

.accordion-btn:before {
    content: "";
    display: inline-block;
    width: 29px;
    height: 15px;
    margin-right: 10px;
    background-image: url("data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 28.6 14.79'%3E%3Cdefs%3E%3CclipPath id='clippath'%3E%3Crect class='cls-1' x='-.31' width='28.91' height='14.79'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='Group_76' data-name='Group 76'%3E%3Cg style='clip-path: url(%23clippath)'%3E%3Cg id='Group_75' data-name='Group 75'%3E%3Cpath id='Path_14' data-name='Path 14' style='fill: none;stroke: %23000;stroke-miterlimit: 10;' d='M.5,0v10.09h21.32'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cpath id='Path_15' data-name='Path 15' d='M20.45,14.79l8.14-4.7-8.14-4.7v9.4Z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* Custom Accordion */
.pq-accordion-w-icon .fl-accordion-button .fl-accordion-button-icon i {
    display: none;
}

.pq-accordion-w-icon .fl-accordion-button .fl-accordion-button-icon {
    aspect-ratio: 1;
    background-color: var(--fl-global-red-01);
    padding: 10px;
    border-radius: 50%;
    opacity: 1;
}

.pq-accordion-w-icon .fl-accordion-button .fl-accordion-button-icon:before {
    content: "";
    display: block;
    width: 30px !important;
    height: 30px !important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.pq-feature-table {
    text-align: center;
    color: var(--fl-global-red-01);
}

@media (max-width: 767.98px) {
    .pq-feature-table {
        hyphens: auto;
        font-size: 12px;
    }
}

.pq-feature-table th, td {
    padding: 5px;
}

.pq-feature-table th:first-child, td:first-child {
    text-align: left;
}

.pq-feature-table th {
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

@media (max-width: 767.98px) {
    .pq-feature-table th {
        font-size: 10px;
    }
}

.pq-feature-table th span {
    display: block;
    color: var(--wp--preset--color--fl-body-text);
}

.pq-feature-table td:first-child {
    color: var(--wp--preset--color--fl-body-text);
}

.pq-feature-table div {
    min-height: 64px;
    display: inline-flex;
    align-items: center;
}

.pq-feature-table tbody tr:nth-child(odd) td {
    background-color: #eaeaea;
}

.pq-feature-table tbody tr:nth-child(odd) td:first-child {
    border-radius: 10px 0 0 10px;
}

.pq-feature-table tbody tr:nth-child(odd) td:last-child {
    border-radius: 0 10px 10px 0;
}

.pq-feature-table .check {
    display: inline-flex;
    background-color: var(--fl-global-red-01);
    line-height: 1;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: #ffffff;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: bold;
}

.pq-feature-table .dash {
    color: #707070;
}

/* Bullets */
.pq-bullets {
    list-style: none;
    padding-left: 0 !important;
}

.pq-bullets li {
    position: relative;
    padding-left: 1.5em;
}

.pq-bullets li::before {
    content: "\2713";
    font-size: 11px;
    font-weight: bold;
    color: #ffffff;
    background-color: var(--fl-global-red-01);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 3px;
}

/* image overflow container */
.pq-image-overflow {
    position: relative;
}

@media (min-width: 768px) {
    .pq-image-overflow .pq-image-container {
        position: absolute;
        bottom: 0;
    }
}

/* features */
.pq-img-border-white img {
    border: 12px solid #fff;
}

.pq-img-border-red img {
    border: 12px solid var(--fl-global-red-01);
}

.pq-2-col-stack .fl-col-group:not(:last-child) {
    margin-bottom: 60px;
}

/* industries */
.pq-icon-white {
    --pq-icon-accent: #ffffff;
    --pq-icon-detail: #ffffff;
}

/* insights */
.single-post .fl-module-fl-post-content h3 {
    font-size: 20px;
}

.single-post .fl-module-fl-post-content h2 {
    font-size: 24px;
}

.single-post .fl-module-fl-post-content h2, .single-post .fl-module-fl-post-content h3 {
    font-family: Roboto, sans-serif;
    font-weight: 700;
    text-transform: none;
}

.single-post .fl-module-fl-post-content h2:not(:first-child), .single-post h3:not(:first-child) {
    margin-top: 30px;
}

/* checkout */
.checkout-review-page {
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
    background-color: #ffffff;
    border-style: solid;
    border-width: 0;
    background-clip: border-box;
    border-color: var(--fl-global-border-gray);
    border-top-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    font-weight: normal;
}

.gravity-theme .checkout-review-page .gpmpn-page-link {
    display: inline;
}

/* Modals */
.pp-modal-content .fl-builder-content > .fl-module-box {
    padding: 40px 20px;
}

.pp-modal-content .gform_button {
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    border-color: #a4243b;
}

.pp-modal-container {
    backdrop-filter: blur(5px);
}