
:root{
  --pasco-blue:#1768b5; --pasco-blue-dark:#07549d; --pasco-blush:#eee3e4;
  --pasco-black:#080808; --pasco-white:#fff; --pasco-border:#ded6d7;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#0b0b0b;background:#fff}
a{color:var(--pasco-blue);text-underline-offset:2px}
img{max-width:100%;height:auto}.container{max-width:1180px}
.skip-link{position:absolute;left:-9999px;top:0;z-index:99999;background:#fff;color:#000;padding:.75rem 1rem}
.skip-link:focus{left:.5rem;top:.5rem}
.btn-primary{background:var(--pasco-blue);border-color:var(--pasco-blue)}
.btn-dark{background:#050505;border-color:#050505}
.site-header{background:#fff}.header-main{padding:18px 0 14px}
.brand img{width:330px;max-width:100%}.header-actions{display:flex;justify-content:flex-end;gap:.45rem}
.header-search{width:270px;margin-top:18px;margin-left:auto;position:relative}
.header-search .form-control{border:0;background:var(--pasco-blush);border-radius:999px;padding-left:2.1rem;height:34px}
.header-search i{position:absolute;left:.8rem;top:.62rem;color:var(--pasco-blue)}
.desktop-nav{background:var(--pasco-blue)}
.desktop-nav .navbar{padding:0}.desktop-nav .nav-link{color:#fff!important;font-size:.82rem;font-weight:700;text-transform:uppercase;padding:.8rem 1rem!important}
.desktop-nav .dropdown-menu{border:0;border-radius:0;box-shadow:0 8px 18px rgba(0,0,0,.15)}
.mobile-tools{display:none;background:var(--pasco-blue);padding:.65rem 0}
.mobile-tools .form-control{border-radius:999px;border:0}.mobile-menu-btn{color:#fff;border:0;background:transparent;font-weight:700}
.offcanvas{background:var(--pasco-blue);color:#fff}.offcanvas .btn-close{filter:invert(1)}
.offcanvas .nav-link,.offcanvas .dropdown-item{color:#fff;font-size:1.12rem;font-weight:700;text-transform:uppercase; text-wrap: pretty;}
.offcanvas .dropdown-menu{position:static!important;transform:none!important;background:#0f5da5;border:0}
.offcanvas-contact{font-weight:700;font-size:1rem}.offcanvas-contact a{color:#fff}
.home-page .hero{background:#fff}.home-page .hero-inner{min-height:505px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.home-page .hero-photo{align-self:flex-end;width:49%;max-height:475px;object-fit:contain;object-position:center bottom}
.home-page .hero-quote{width:42%;align-self:center;text-align:center;color:var(--pasco-blue);font-size:2rem;line-height:1.28;padding:1rem}
.home-page .hero-quote strong{font-weight:800}.home-page .signature{font-family:cursive;color:#000;font-size:3.2rem;margin-top:1.2rem;line-height:1}
.home-page .signature-name{font-size:1rem;color:#000;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.help-section,.locations-section,.page-band{background:var(--pasco-blush)}
.home-page .help-section{padding:42px 0 52px}.section-title{font-size:2.5rem;font-weight:800;text-align:center;margin-bottom:32px}
.home-page .help-card{background:#fff;border-radius:7px;min-height:155px;text-decoration:none;color:#050505;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;text-align:center;font-weight:800;font-size:1.05rem}
.home-page .help-card i{font-size:2.25rem;color:var(--pasco-blue);margin-bottom:18px}.help-card:hover,.help-card:focus{outline:3px solid var(--pasco-blue);outline-offset:2px}
.home-page .charity{background:var(--pasco-blue);color:#fff;padding:55px 0}.charity h2{font-size:2.5rem;font-weight:800}.charity-card{display:flex;align-items:center;gap:24px}.charity-mark{width:210px;height:210px;display:grid;place-items:center;font-weight:900;text-align:center}
.charity-photo{width:100%;border-radius:6px;aspect-ratio:16/9;object-fit:cover}
.home-page .locations-section{padding:48px 0 60px}.home-page .location-card{background:#fff;border-radius:7px;overflow:hidden;height:100%}.location-card img{width:47%;height:100%;min-height:180px;object-fit:cover}.location-copy{padding:15px;font-size:.83rem}.location-copy h3{font-size:1.15rem;font-weight:800;margin:0 0 4px}
.home-page .mailing{background:var(--pasco-blue);color:#fff;border-radius:6px;padding:20px;text-align:center;margin-top:28px}
.home-page .photo-month{min-height:400px;background:linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.15)),url('/new/assets/images/potm-green-key-beach.jpg') center/cover;color:#fff;padding:22px}
.site-footer{background:var(--pasco-blue);color:#fff;padding:42px 0}.site-footer a{color:#fff;text-decoration:none}.site-footer h2{font-size:.9rem;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.footer-logo{max-width:145px}
.call-box{background:#fff;color:#111;padding:18px;text-align:center;border-radius:5px;font-size:1.2rem;font-weight:800}.footer-bottom{background:var(--pasco-blush);padding:18px 0;font-size:.72rem}
.license-page .page-hero{background:var(--pasco-blush);padding:46px 0 0}.license-page .page-title{font-size:2.8rem;font-weight:800;margin-bottom:28px}
.license-page .renew-card{background:#fff;border-radius:7px;padding:22px;height:100%}.renew-card h2{font-size:1.8rem;font-weight:800}.license-page .video-placeholder{background:#0b4f8e;min-height:300px;border-radius:7px;display:grid;place-items:center;color:#fff;text-align:center;padding:2rem}
.video-placeholder i{font-size:4rem}.license-page .license-tabs{margin-top:54px}.license-tabs .nav-link{border:0;color:var(--pasco-blue);font-size:1.2rem;font-weight:800;padding:1rem 1.6rem}
.license-tabs .nav-link.active{color:#111;background:#fff;border-radius:7px 7px 0 0}
.license-page .tab-content-wrap{background:#fff;padding:34px 0 45px}.tab-content-wrap h2{font-size:2rem;font-weight:800}
.license-page .checklist{font-size:.92rem}.checklist h3{font-size:1rem;font-weight:800}.license-page .veteran-note{background:var(--pasco-blue);color:#fff;border-radius:5px;padding:13px;text-align:center;margin-top:24px}
.license-page .additional{background:var(--pasco-blush);padding:50px 0 65px}.accordion-item{border-color:#d8d1d2}.accordion-button{font-weight:800;font-size:1.05rem}.accordion-button:not(.collapsed){background:var(--pasco-blue);color:#fff}.accordion-button:not(.collapsed)::after{filter:brightness(0) invert(1)}

.offcanvas-body .social a { color: inherit; }
.offcanvas-body .header-actions { display: flex; justify-content: flex-start;}

.print-btn{margin:24px auto 0;display:block}
@media(max-width:991.98px){
 .header-main{padding:14px 0}.brand img{width:270px}.header-actions,.header-search,.desktop-nav{display:none}.mobile-tools{display:block}
 .home-page .hero-inner{min-height:530px;position:relative;align-items:flex-end}.home-page .hero-photo{width:64%;margin-left:-12%;max-height:500px}
 .home-page .hero-quote{width:50%;font-size:1.55rem;padding:.5rem;align-self:center}.home-page .signature{font-size:2.4rem}
 .license-page .page-title{font-size:2.2rem}.license-page .license-tabs{overflow-x:auto;flex-wrap:nowrap}.license-tabs .nav-link{white-space:nowrap}
}
@media(max-width:575.98px){
 .brand img{width:250px}.mobile-tools .search-wrap{width:66%}
.home-page .hero .container {
    padding-left: 0;
    padding-right: 0;
}

.home-page .hero-inner {
    position: relative;
    display: block;
    height: 540px;
    min-height: 0;
    overflow: hidden;
}

/* Mike */
    .home-page .hero-photo {
        position: absolute;
        left: -33%;
        bottom: 0;
        width: 102%;
        max-width: none;
        max-height: none;
        height: auto;
        margin: 0;
        z-index: 1;
    }

/* Quote */
    .home-page .hero-quote {
        position: absolute;
        top: 10%;
        right: 2%;
        width: 60%;
        margin: 0;
        padding: 0 .5rem;
        font-size: 1.35rem;
        line-height: 1.45;
        text-align: right;
        z-index: 2;
        text-wrap: pretty;
    }

/* Signature image */
.home-page .hero-quote .signature {
    margin-top: 1.25rem;
    line-height: 1;
}

.home-page .hero-quote .signature img {
    width: 145px;
    max-width: 90% !important;
}

/* Mike Fasano / Pasco County / Tax Collector */
.home-page .signature-name {
    margin-top: .25rem;
    font-size: .78rem;
    line-height: 1.3;
}
 
 .home-page .help-section{padding-top:22px}.section-title{font-size:2rem;margin-bottom:20px}
 .home-page .help-card{min-height:145px;font-size:1rem}.charity-card{align-items:flex-start}.charity h2{font-size:2rem}
 .location-card img{width:45%}.location-copy{font-size:.72rem;padding:10px}.home-page .photo-month{min-height:300px}
 .license-page .page-hero{padding-top:28px}.license-page .page-title{font-size:2rem}.license-page .video-placeholder{min-height:210px}.license-page .license-tabs{margin-top:28px}
 .license-tabs .nav-link{font-size:1rem;padding:.9rem 1rem}.license-page .tab-content-wrap{padding:25px 0}.tab-content-wrap h2{font-size:1.55rem}
 .license-page .additional{padding-top:35px}.additional .section-title{font-size:2rem}
}
@media print{.site-header,.site-footer,.footer-bottom,.additional,.print-btn{display:none!important}}

/* ==========================================================
   LEGACY / STANDARD SUBPAGE CONTENT
   Keeps existing MODX resource markup on-brand.
   ========================================================== */
.page-content { padding: 3rem 0 4rem; }
.page-content > .container > :first-child { margin-top: 0; }
.page-content { font-size: 1rem; line-height: 1.6; }
.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6 { color:var(--pasco-black);font-weight:700;line-height:1.15;margin:1.75em 0 .65em; }
.page-content h1{font-size:clamp(2rem,4vw,2.75rem)} .page-content h2{font-size:clamp(1.65rem,3vw,2.15rem)} .page-content h3{font-size:1.5rem}.page-content h4{font-size:1.25rem}.page-content h5{font-size:1.1rem}.page-content h6{font-size:1rem}
.page-content p{margin-bottom:1rem}.page-content ul,.page-content ol{padding-left:1.5rem;margin-bottom:1.25rem}.page-content li+li{margin-top:.35rem}
.page-content a:not(.btn){color:var(--pasco-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.page-content a:not(.btn):hover{color:var(--pasco-blue-dark);text-decoration-thickness:2px}
.page-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:5px solid var(--pasco-blue);background:var(--pasco-blush);font-size:1.1rem}.page-content hr{margin:2rem 0;border-color:var(--pasco-border);opacity:1}
.page-content table{width:100%;margin-bottom:1.5rem;border-collapse:collapse}.page-content th{background:var(--pasco-blue);color:#fff;font-weight:700;text-align:left}.page-content th,.page-content td{padding:.75rem 1rem;border:1px solid #d6d6d6;vertical-align:top}.page-content tbody tr:nth-child(even){background:#f7f7f7}
.page-content label{font-weight:700;margin-bottom:.35rem}.page-content input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]),.page-content select,.page-content textarea{width:100%;padding:.65rem .8rem;border:1px solid #767676;border-radius:.25rem;background:#fff;color:#111}.page-content input:focus,.page-content select:focus,.page-content textarea:focus{outline:3px solid rgba(23,104,181,.3);outline-offset:2px;border-color:var(--pasco-blue)}
.page-content button:not(.accordion-button):not(.nav-link),.page-content input[type=submit],.page-content input[type=button],.page-content input[type=reset]{border:1px solid var(--pasco-blue);border-radius:.25rem;padding:.6rem 1rem;background:var(--pasco-blue);color:#fff;font-weight:700}
.page-content button:not(.accordion-button):not(.nav-link):hover,.page-content input[type=submit]:hover{background:var(--pasco-blue-dark)}


/* ==========================================================
   V3: SITE-WIDE LEGACY CONTENT SYSTEM
   Designed to brand existing MODX content without requiring
   changes to the resource markup.
   ========================================================== */

.subpage-header {
    background: #eae1e1;
    padding: 2rem 0;
}
.subpage-header .page-title {
    margin: 0;
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 800;
    line-height: 1.1;
}

/* Standard content wrapper */
.page-content {
    padding: 3rem 0 4rem;
}
.page-content > .container > :first-child {
    margin-top: 0;
}

/* Headings + Bootstrap heading utility classes */
.page-content h1, .page-content .h1,
.page-content h2, .page-content .h2,
.page-content h3, .page-content .h3,
.page-content h4, .page-content .h4,
.page-content h5, .page-content .h5,
.page-content h6, .page-content .h6 {
    color: #080808;
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: .75rem;
}
.page-content h1, .page-content .h1 { font-size: clamp(2rem, 4vw, 2.75rem); }
.page-content h2, .page-content .h2 { font-size: clamp(1.65rem, 3vw, 2.15rem); }
.page-content h3, .page-content .h3 { font-size: 1.5rem; }
.page-content h4, .page-content .h4 { font-size: 1.25rem; }
.page-content h5, .page-content .h5 { font-size: 1.1rem; }
.page-content h6, .page-content .h6 { font-size: 1rem; }

/* Content sections: JS adds .content-section-heading to every H1/H2
   except the first H1/H2 in [[*content]]. This is more reliable than
   :first-child with legacy paragraphs/images/empty editor markup. */
.page-content .content-section-heading {
    border-top: 1px solid #cfc5c5;
    padding-top: 2rem;
    margin-top: 2.75rem;
}

/* Text and inline semantics */
.page-content p { margin: 0 0 1rem; }
.page-content strong, .page-content b { font-weight: 700; }
.page-content em, .page-content i { font-style: italic; }
.page-content small { font-size: .875em; }
.page-content mark { padding: .1em .25em; background: #fff1a8; }
.page-content del, .page-content s { text-decoration: line-through; }
.page-content ins { text-decoration: underline; }
.page-content abbr[title] { text-decoration: underline dotted; cursor: help; }
.page-content sub, .page-content sup { line-height: 0; }
.page-content address { margin-bottom: 1.25rem; font-style: normal; }

/* Links */
.page-content a:not(.btn) {
    color: var(--pasco-blue);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.page-content a:not(.btn):hover {
    color: var(--pasco-blue-dark);
    text-decoration-thickness: 2px;
}

/* Lists */
.page-content ul, .page-content ol {
    margin: 0 0 1.25rem;
    padding-left: 1.5rem;
}
.page-content ul { list-style: disc; }
.page-content ol { list-style: decimal; }
.page-content ul ul { list-style: circle; }
.page-content ul ul ul { list-style: square; }
.page-content li { margin-bottom: .35rem; }
.page-content dl { margin-bottom: 1.5rem; }
.page-content dt { font-weight: 800; }
.page-content dd { margin: 0 0 .75rem 1rem; }

/* Media */
.page-content img, .page-content svg, .page-content video, .page-content canvas {
    max-width: 100%;
    height: auto;
}
.page-content iframe {
    display: block;
    max-width: 100%;
    border: 0;
}
.page-content figure { margin: 1.5rem 0; }
.page-content figcaption { margin-top: .5rem; color: #555; font-size: .9rem; }

/* Quotations / code */
.page-content blockquote {
    margin: 1.5rem 0;
    padding: 1rem 1.25rem;
    border-left: 5px solid var(--pasco-blue);
    background: var(--pasco-blush);
}
.page-content blockquote > :last-child { margin-bottom: 0; }
.page-content q { quotes: "“" "”" "‘" "’"; }
.page-content pre {
    overflow-x: auto;
    padding: 1rem;
    border-radius: .25rem;
    background: #f3f3f3;
}
.page-content code, .page-content kbd, .page-content samp {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
.page-content code { color: #8b1832; }
.page-content kbd { padding: .15rem .35rem; background: #111; color: #fff; border-radius: .2rem; }

/* Rules */
.page-content hr {
    margin: 2rem 0;
    border: 0;
    border-top: 1px solid #cfc5c5;
    opacity: 1;
}

/* Tables */
.page-content table {
    width: 100%;
    margin-bottom: 1.5rem;
    border-collapse: collapse;
}
.page-content caption {
    padding: .6rem 0;
    color: #333;
    font-weight: 700;
    text-align: left;
}
.page-content th {
    background: var(--pasco-blue);
    color: #fff;
    font-weight: 700;
    text-align: left;
}
.page-content th, .page-content td {
    padding: .75rem 1rem;
    border: 1px solid #d6d6d6;
    vertical-align: top;
}
.page-content tbody tr:nth-child(even) { background: #f7f7f7; }

/* Forms */
.page-content fieldset {
    margin-bottom: 1.5rem;
    padding: 1.25rem;
    border: 1px solid #cfcfcf;
}
.page-content legend {
    float: none;
    width: auto;
    padding: 0 .35rem;
    font-size: 1.25rem;
    font-weight: 800;
}
.page-content label { display: inline-block; margin-bottom: .35rem; font-weight: 700; }
.page-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
.page-content select,
.page-content textarea {
    width: 100%;
    padding: .65rem .8rem;
    border: 1px solid #767676;
    border-radius: .25rem;
    background: #fff;
    color: #111;
}
.page-content textarea { min-height: 8rem; resize: vertical; }
.page-content input:focus,
.page-content select:focus,
.page-content textarea:focus,
.page-content button:focus,
.page-content a:focus {
    outline: 3px solid rgba(23,104,181,.35);
    outline-offset: 2px;
}
.page-content button,
.page-content input[type="submit"],
.page-content input[type="button"],
.page-content input[type="reset"] {
    border: 1px solid var(--pasco-blue);
    border-radius: .25rem;
    padding: .6rem 1rem;
    background: var(--pasco-blue);
    color: #fff;
    font-weight: 700;
}
.page-content button:hover,
.page-content input[type="submit"]:hover,
.page-content input[type="button"]:hover {
    background: var(--pasco-blue-dark);
}

/* Disclosure elements */
.page-content details {
    margin-bottom: 1rem;
    border: 1px solid #d8d1d2;
    border-radius: .25rem;
    background: #fff;
}
.page-content summary {
    padding: .8rem 1rem;
    cursor: pointer;
    color: var(--pasco-blue-dark);
    font-weight: 800;
}
.page-content details[open] > :not(summary) {
    margin-left: 1rem;
    margin-right: 1rem;
}

/* Mobile-only sibling navigation */
.mobile-sibling-nav {
    display: none;
    background: #eae1e1;
    padding: 2rem 0;
}
.mobile-sibling-nav h2 { margin: 0 0 1rem; font-size: 1.35rem; font-weight: 800; }
.mobile-sibling-nav .sibling-menu { margin: 0; padding: 0; list-style: none; }
.mobile-sibling-nav .sibling-menu li { border-top: 1px solid #cfc5c5; }
.mobile-sibling-nav .sibling-menu li:last-child { border-bottom: 1px solid #cfc5c5; }
.mobile-sibling-nav .sibling-menu a {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem .25rem;
    color: #111;
    font-weight: 700;
    text-decoration: none;
}
.mobile-sibling-nav .sibling-menu a::after {
    content: "\f054";
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    color: var(--pasco-blue);
}
.mobile-sibling-nav .sibling-menu .active > a,
.mobile-sibling-nav .sibling-menu .current > a {
    color: var(--pasco-blue-dark);
}
@media (max-width: 991.98px) {
    .mobile-sibling-nav { display: block; }
    .subpage-header { padding: 1.5rem 0; }
    .page-content { padding: 2rem 0 2.5rem; }
}


/* ==========================================================
   PASCO MODALS
   ========================================================== */

.pasco-modal .modal-dialog {
    max-width: 900px;
}

.pasco-modal .modal-content {
    border: 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 45px rgba(0, 0, 0, .25);
}

.pasco-modal .modal-header {
    position: relative;
    display: block;
    padding: 2rem 4.5rem 2rem 2rem;
    background: var(--pasco-blue);
    color: #fff;
    border: 0;
    text-align: center;
}

.pasco-modal .modal-title {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 5vw, 3.75rem);
    font-weight: 800;
    line-height: 1.05;
}

.pasco-modal .modal-subtitle {
    margin: .4rem 0 0;
    font-size: clamp(1.25rem, 3vw, 2rem);
    font-weight: 700;
}

.pasco-modal .btn-close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    margin: 0;
    padding: .75rem;
    filter: brightness(0) invert(1);
    opacity: 1;
}

.pasco-modal .modal-body {
    padding: 2.5rem;
    font-size: 1.1rem;
}

.pasco-modal .modal-body > :last-child {
    margin-bottom: 0;
}

.pasco-modal .modal-footer {
    padding: 0 2.5rem 2.5rem;
    border: 0;
    gap: .75rem;
}

.pasco-modal .modal-footer .btn {
    min-width: 170px;
    font-weight: 700;
}

.pasco-modal label {
    font-weight: 700;
    margin-bottom: .35rem;
}

.pasco-modal .form-control {
    min-height: 46px;
}

.pasco-modal textarea.form-control {
    min-height: 130px;
}

.pasco-modal .form-text {
    font-size: .85rem;
}

@media (max-width: 575.98px) {
    .pasco-modal {
        --bs-modal-margin: .75rem;
    }

    .pasco-modal .modal-header {
        padding: 1.5rem 3.5rem 1.5rem 1rem;
    }

    .pasco-modal .modal-title {
        font-size: 2rem;
    }

    .pasco-modal .modal-body {
        padding: 1.5rem;
    }

    .pasco-modal .modal-footer {
        padding: 0 1.5rem 1.5rem;
    }

    .pasco-modal .modal-footer .btn {
        width: 100%;
    }
}
