/**
 * Shared styles - moved from inline styles in templates
 * WCAG 2.4.1 skip link and common form/layout utilities
 */

/* Skip to main content link - WCAG 2.4.1 Bypass Blocks */
.skip-link {
    position: absolute;
    left: -9999px;
    z-index: 9999;
    padding: 0.5em 1em;
    background: #fff;
    border: 2px solid #000;
}
.skip-link:focus {
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}

/* Property card search form (propertyCardSearch.tpl) */
#tax_card_form .form-table {
    border: 2px #003a00 solid;
    background-color: #F7F7F7;
}
#tax_card_form .form-cell {
    padding: 10px;
}
#tax_card_form .message-error {
    color: #DB330B; /* WCAG 2.1 AA: 4.5:1 on white */
}
#tax_card_form .search-submit {
    width: 125px;
}

/*
 * SC 1.4.3 — shared where county *_base.css omits rules (styles.css loads after @import).
 * Pay: docs/COLOR_CONTRAST_FIXES.md (bg image on .basic). Search: WTPAvery Workflow 20-03.
 */
/* Index CMS: phone/payment line (index.php .payment-phone-note or legacy <font color="red">) */
font[color="red"],
font[color="#ff0000" i],
font[color="#f00" i],
.payment-phone-note {
    color: #DB330B;
}

form#payment_form div input.basic,
form#payment_form div input.LV_valid_field,
form#payment_form div select.basic,
div#main form#payment_form div input.basic,
div#main form#payment_form div input.LV_valid_field,
div#main form#payment_form div select.basic {
    background-image: none;
    background-color: #ffffff;
    color: #1a1a1a;
}

#disclaimer-textarea,
.disclaimer-textarea {
    background-image: none !important;
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    position: relative;
    z-index: 1;
}

.smarty-no-suggestions,
.smarty-tag-text,
.smarty-tag-check {
    background-color: #f0f0f0;
    color: #1a1a1a;
}

#tableInstructions .search-instructions-table input,
#tableInstructions .search-instructions-table select,
#tableInstructions .search-instructions-table label,
#tableInstructions .search-label,
#tableInstructions #searchField,
#tableInstructions .search-select-by,
#tableInstructions .search-select-short,
#tableInstructions .search-select-record,
#tableInstructions .search-field-width,
#tableInstructions .search-btn,
#tableLegend input[type="button"],
#tableLegend .cart-view-btn {
    background-color: #ffffff;
    background-image: none;
    position: relative;
    z-index: 2;
    color: #1a1a1a;
}
#tableInstructions .search-instructions-table select,
#tableInstructions #searchField {
    color: #1a1a1a;
    border: 1px solid #4a4a4a;
}
#tableInstructions .search-btn,
#tableLegend .cart-view-btn {
    border: 1px solid #4a4a4a;
}
#tableInstructions .search-instructions-table td span,
#tableInstructions .search-example-spacing {
    background-color: #ffffff;
    background-image: none;
    position: relative;
    z-index: 2;
    color: #1a1a1a;
}
#tableLegend #cartCount,
#tableLegend .cart-count-spacing {
    background-color: #ffffff;
    background-image: none;
    position: relative;
    z-index: 2;
    color: #1a1a1a;
}

/* Live chat trigger — SC 1.4.3, 1.4.11, 2.4.7 (same family as .hit-list-add-btn; readable on dark body + white #main) */
.live-chat-trigger {
    color: #003d6b;
    background-color: #ffffff;
    border: 1px solid #595959;
    border-radius: 2px;
    padding: 8px 12px;
    box-sizing: border-box;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
    position: fixed;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 10000;
    font: inherit;
    min-height: 44px;
    min-width: 44px;
}
.live-chat-trigger img {
    display: block;
}
.live-chat-trigger:hover {
    border-color: #1a1a1a;
    background-color: #f0f0f0;
}
.live-chat-trigger:active {
    border-color: #1a1a1a;
    background-color: #e5e5e5;
}
.live-chat-trigger:focus,
.live-chat-trigger:focus-visible {
    outline: 2px solid #005a9c;
    outline-offset: 2px;
}
.live-chat-trigger-right {
    left: auto;
    right: 0;
}

/* County/site header image (main.tpl) */
.img-county-header {
    width: 220px;
    height: 54px;
}

/* Last updated text (main.tpl) */
.last-updated {
    font-size: small;
    top: 166px;
    width: 367px;
}

/* Footer powered-by / GeoTrust icon wrapper (main templates) */
.footer-powered-by-wrap {
    width: 115px;
    display: inline;
    position: relative;
    left: 35px;
    top: -10px;
}

/* Haywood theme layout */
body.haywood-theme {
    background-color: #617795;
}
#body.haywood-theme {
    background-color: white;
    max-width: 1000px;
}
#header.haywood-header {
    background: url(../images/haywoodlogo.jpg) no-repeat;
}
#links.haywood-links {
    position: relative;
    text-align: center;
    right: 50px;
    padding: 0;
    top: 60px;
    font-size: 24pt;
    border: black 1px solid;
    width: 100%;
    height: 50px;
    background-color: #8592AF;
}
#links.haywood-links a {
    position: relative;
    font-size: 13pt;
    top: 5px;
    padding: 0;
}
#links.haywood-links a.haywood-cart-link {
    left: -40px;
    padding: 15px;
}
#links.haywood-links .cart-icon {
    position: relative;
    top: 4px;
}
#footer.haywood-footer {
    clear: both;
    width: 100%;
    background-color: white;
    text-align: center;
}
#cards_accepted.haywood-cards-accepted {
    background-color: white;
    width: 100%;
}

/* Search instructions / cart box (search.tpl, search_BIS.tpl) */
.search-instructions-table {
    border: 2px #003a00 solid;
    height: 150px;
    width: 500px;
}
.search-cart-cell {
    border: 2px #003a00 solid;
    width: 200px;
    vertical-align: top;
    padding: 5px;
    text-align: left;
    margin-bottom: 10px;
}
.search-cart-cell-wide {
    width: 240px;
}
.search-cart-properties {
    border: 2px #003a00 solid;
    padding: 10px;
    width: 170px;
    overflow: auto;
    min-height: 75px; /* WCAG 1.4.4: allow growth when text resized */
}
.search-cart-properties-wide {
    width: 210px;
    min-height: 75px;
    overflow: auto;
}
.table-legend-placeholder {
    width: 150px;
    height: 100px;
}
.search-cart-table-offset {
    position: relative;
    left: -15px;
}
.loading-overlay {
    display: none;
    z-index: 100;
    position: absolute;
}
.confirm-dialog-table {
    border: 1px #000 solid;
    background-color: #FFFFFF;
}
.confirm-dialog-table.confirm-dialog-table-size {
    width: 400px;
    height: 200px;
}
.confirm-dialog-header {
    border-bottom: 1px #000 solid;
    background-color: #D6E4EF;
    height: 10px;
}

/* Payment / submit pages */
.payment-confirmation-heading {
    font-size: 16pt;
    color: #DB330B; /* WCAG 2.1 AA: 4.5:1 on white */
}
.discount-notice {
    font-weight: bold;
    font-size: 14px;
}
.payment-amount-input {
    width: 75px;
    text-align: right;
}
.payment-message {
    color: #DB330B; /* WCAG 2.1 AA: 4.5:1 on white */
    font-weight: bold;
}
.bridge-payment-message {
    padding-top: 5px;
    padding-left: 0;
}
.example-text-float {
    float: right;
    position: relative;
    top: -55px;
    left: 70px;
}
.search-submit-buttons input[type="submit"] {
    width: 125px;
}
.search-submit-buttons input[type="button"] {
    width: 125px;
}

/* nc_index.tpl search form */
#tax_card_form .search-form-outer {
    border: 2px #003a00 solid;
}
#tax_card_form .search-form-inner {
    background-color: #F7F7F7;
}
#tax_card_form .form-label-cell {
    font-size: 13px;
    padding-left: 5px;
}
#tax_card_form .form-label-cell-top {
    font-size: 13px;
    padding-left: 5px;
    padding-top: 5px;
}
#tax_card_form .search-submit-row {
    padding-top: 10px;
    padding-bottom: 5px;
}
#tax_card_form .search-submit-row input[type="submit"] {
    width: 125px;
}
#tax_card_form .nc-cart-cell {
    border: 2px #003a00 solid;
    vertical-align: top;
    padding: 5px;
}
#tax_card_form .nc-cart-properties {
    border: 2px #003a00 solid;
    padding: 10px;
}
#tax_card_form .nc-cart-properties-inner {
    overflow: auto;
}

/* hits.php / BISSearchClass: hit list add-to-cart — SC 1.4.3, 1.4.11, 2.4.7 (loaded with county mains; base.css is not) */
.hit-list-cart-btn {
    width: 100px;
    box-sizing: border-box;
    color: #1a1a1a;
    background-color: #ffffff;
    border: 1px solid #595959;
}
.hit-list-cart-btn-hidden {
    display: none;
}
.hit-list-add-btn {
    color: #1a1a1a;
    background-color: #ffffff;
    border: 1px solid #595959;
    border-radius: 2px;
    padding: 2px;
    cursor: pointer;
    box-sizing: border-box;
    vertical-align: middle;
    text-align: center;
}
.hit-list-add-btn img {
    display: block;
}
.hit-list-add-btn:hover {
    border-color: #1a1a1a;
    background-color: #f0f0f0;
}
.hit-list-add-btn:active {
    border-color: #1a1a1a;
    background-color: #e5e5e5;
}
.hit-list-add-btn:focus,
.hit-list-add-btn:focus-visible,
.hit-list-cart-btn:focus,
.hit-list-cart-btn:focus-visible {
    outline: 2px solid #005a9c;
    outline-offset: 2px;
}
.hit-list-cart-disabled-img {
    box-sizing: border-box;
    vertical-align: middle;
    padding: 2px;
    border: 1px solid #767676;
    border-radius: 2px;
    background-color: #ffffff;
}

/* Search results: first-column cell (role=button) — SC 1.4.3, 1.4.11, 2.4.7; covers counties without div#main or entity_base tweaks */
div#main table#hit_list tbody td.hit-list-row-open,
table#hit_list tbody td.hit-list-row-open {
    color: #1a1a1a;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px #595959;
}
div#main table#hit_list tbody td.hit-list-row-open:hover,
table#hit_list tbody td.hit-list-row-open:hover {
    box-shadow: inset 0 0 0 2px #1a1a1a;
}
div#main table#hit_list tbody td.hit-list-row-open a,
table#hit_list tbody td.hit-list-row-open a {
    color: #003d6b;
    text-decoration: underline;
    text-underline-offset: 2px;
}
div#main table#hit_list tbody td.hit-list-row-open:focus,
div#main table#hit_list tbody td.hit-list-row-open:focus-visible,
table#hit_list tbody td.hit-list-row-open:focus,
table#hit_list tbody td.hit-list-row-open:focus-visible {
    outline: 2px solid #005a9c;
    outline-offset: 2px;
}
/* qtip / row-click cells: explicit body text where county CSS omits it */
div#main table#hit_list tbody td.click_event_added,
div#main table#hit_list tbody td[data-hasqtip],
table#hit_list tbody td.click_event_added,
table#hit_list tbody td[data-hasqtip] {
    color: #1a1a1a;
}

/* DataTables pagination (span.paginate_button / .paginate_active, role=button) — SC 1.4.3, 1.4.11, 2.4.7 */
div#main div.dataTables_paginate span.paginate_button,
div#main div.dataTables_paginate span.paginate_active,
div.dataTables_paginate span.paginate_button,
div.dataTables_paginate span.paginate_active {
    box-sizing: border-box;
    display: inline-block;
    border-radius: 2px;
    border: 1px solid #595959;
    color: #1a1a1a;
    line-height: 30px;
    margin: 0 3px;
    padding: 4px 10px;
    vertical-align: middle;
}
div#main div.dataTables_paginate span.paginate_button,
div.dataTables_paginate span.paginate_button {
    cursor: pointer;
    background-color: #ffffff;
}
div#main div.dataTables_paginate span.paginate_button:hover,
div.dataTables_paginate span.paginate_button:hover {
    border-color: #1a1a1a;
    background-color: #f0f0f0;
}
div#main div.dataTables_paginate span.paginate_button:active,
div.dataTables_paginate span.paginate_button:active {
    border-color: #1a1a1a;
    background-color: #e5e5e5;
}
div#main div.dataTables_paginate span.paginate_active,
div.dataTables_paginate span.paginate_active {
    cursor: default;
    background-color: #e8e8e8;
    font-weight: 600;
}
div#main div.dataTables_paginate span.paginate_button:focus,
div#main div.dataTables_paginate span.paginate_button:focus-visible,
div#main div.dataTables_paginate span.paginate_active:focus,
div#main div.dataTables_paginate span.paginate_active:focus-visible,
div.dataTables_paginate span.paginate_button:focus,
div.dataTables_paginate span.paginate_button:focus-visible,
div.dataTables_paginate span.paginate_active:focus,
div.dataTables_paginate span.paginate_active:focus-visible {
    outline: 2px solid #005a9c;
    outline-offset: 2px;
}
