/**
 * Sticky Message Header
 */

/** new css for casedetailsv3.cfm **/

/* ========================================
   Modern Case Details Styles
   Add this to your existing style.css file
   ======================================== */

/* =============================================================================
   Accessibility Enhancement - h4-styled class
   
   This class allows h2 elements to maintain the visual appearance of h4
   while following proper heading hierarchy for accessibility compliance
   (WCAG 1.3.1 - Info and Relationships)
   
   12/14/2025
   ============================================================================= */

/* Match the sidebar h4 styling for h2 elements with h4-styled class */
#wrapper > section > div > aside nav > h2.h4-styled {
    color: #333;
    font-size: 10px;
    font-weight: bold;
    margin-top: 0;
    padding-left: 8px;
    text-transform: uppercase;
    text-shadow: 0 1px 0 #eee;
    text-shadow: 0 1px 0 rgba(255,255,255,0.3);
}

/* General h4-styled class (if needed elsewhere) */
.h4-styled {
    font-size: 13px;
    color: #444;
    font-weight: normal;
    margin: 1em 0;
}
/* =============================================================================
   Accessibility Enhancement - h4-styled class end
   ============================================================================= */

/* =============================================================================
   Screen Reader Only Class - Accessibility Enhancement
   
   This class visually hides content while keeping it accessible to screen readers.
   Used for form labels that should be read by assistive technology but not shown visually.

   12/14/2025
   ============================================================================= */

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Optional: Allow the element to be focusable when navigated to via keyboard */
.sr-only.focusable:active,
.sr-only.focusable:focus {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
}
/* =============================================================================
   Screen Reader Only Class - Accessibility Enhancement end
   ============================================================================= */

/* Case Header Styles */
.case-header {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.case-info-wrapper {
    display: table;
    width: 100%;
}

.case-details-left {
    display: table-cell;
    vertical-align: top;
    width: 70%;
}

.case-progress-right {
    display: table-cell;
    vertical-align: top;
    width: 30%;
    text-align: right;
}

.case-info h3 {
    color: #333;
    margin-top: 0;
    font-size: 24px;
    font-weight: bold;
}

.case-details {
    line-height: 1.6;
    color: #666;
}

.case-details strong {
    color: #333;
    margin-right: 5px;
}

/* Property Details Section */
.property-details-section {
    position: relative;
}

.edit-button-section {
    margin-top: 20px;
    text-align: left;
}

/* Status Badge Styles */
.status-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
}

.status-badge.status-active,
.status-badge.status-in-progress {
    background: #e1f5fe;
    color: #0277bd;
    border: 1px solid #81d4fa;
}

.status-badge.status-completed {
    background: #e8f5e8;
    color: #2e7d32;
    border: 1px solid #a5d6a7;
}

.status-badge.status-on-hold,
.status-badge.status-pending {
    background: #fff3e0;
    color: #ef6c00;
    border: 1px solid #ffcc02;
}

.status-badge.status-dropped {
    background: #ffebee;
    color: #c62828;
    border: 1px solid #ef9a9a;
}

/* Progress Circle */
.progress-circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: conic-gradient(#4caf50 0deg, #4caf50 calc(var(--progress, 0) * 3.6deg), #e0e0e0 calc(var(--progress, 0) * 3.6deg));
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: 0 auto;
}

.progress-circle::before {
    content: '';
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
}

.progress-text {
    z-index: 1;
    text-align: center;
    font-weight: bold;
    color: #333;
}

.progress-text span {
    display: block;
    font-size: 10px;
    color: #666;
    font-weight: normal;
}

/* Tab Navigation */
.tab-navigation {
    margin-bottom: 20px;
    border-bottom: 1px solid #ddd;
}

.tab-nav {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
}

.tab-nav li {
    margin-right: 2px;
}

.tab-nav li a {
    display: block;
    padding: 12px 20px;
    background: #f8f9fa;
    color: #666;
    text-decoration: none;
    border: 1px solid #ddd;
    border-bottom: none;
    border-radius: 5px 5px 0 0;
    transition: all 0.3s ease;
}

.tab-nav li a:hover {
    background: #e9ecef;
    color: #333;
}

.tab-nav li.active a {
    background: #fff;
    color: #333;
    border-bottom: 1px solid #fff;
    margin-bottom: -1px;
    font-weight: bold;
}

/* Tab Content */
.tab-content {
    display: none;
    padding: 20px 0;
}

.tab-content.active {
    display: block;
}

/* Data Tables */
.data-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.data-table td {
    padding: 8px 12px;
    border-bottom: 1px solid #eee;
    vertical-align: top;
}

.data-table td:first-child {
    width: 40%;
    font-weight: normal;
}

.data-table td:last-child {
    color: #333;
}

/* Stats Box */
.stats-box {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 20px;
}

.stat-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #e9ecef;
}

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

.stat-number {
    font-size: 18px;
    font-weight: bold;
    color: #333;
}

.stat-label {
    color: #666;
    font-size: 12px;
}

/* Activity List */
.activity-list {
    max-height: 200px;
    overflow-y: auto;
}

.activity-item {
    display: flex;
    align-items: flex-start;
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}

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

.activity-icon {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #4caf50;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    margin-right: 10px;
    flex-shrink: 0;
}

.activity-text {
    flex: 1;
    font-size: 12px;
    color: #333;
}

.activity-text small {
    display: block;
    color: #666;
    font-size: 10px;
    margin-top: 2px;
}

.no-activity {
    color: #999;
    font-style: italic;
    text-align: center;
    padding: 20px;
}

/* Progress Timeline */
.progress-timeline {
    position: relative;
    padding-left: 30px;
}

.progress-timeline::before {
    content: '';
    position: absolute;
    left: 14px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #e0e0e0;
}

.timeline-item {
    position: relative;
    margin-bottom: 30px;
}

.timeline-marker {
    position: absolute;
    left: -22px;
    top: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
    color: #666;
}

.timeline-item.completed .timeline-marker {
    background: #4caf50;
    color: white;
}

.timeline-item.current .timeline-marker {
    background: #2196f3;
    color: white;
}

.timeline-content h4 {
    margin: 0 0 5px 0;
    color: #333;
    font-size: 14px;
}

.timeline-content .date {
    margin: 0;
    color: #666;
    font-size: 12px;
}

.timeline-content .current-step {
    margin: 0;
    color: #2196f3;
    font-size: 12px;
    font-weight: bold;
}

/* Action Buttons List */
.action-buttons-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.button-block {
    width: 100%;
    text-align: left;
    box-sizing: border-box;
}

.button-block span {
    margin-right: 8px;
}

/* Enhanced Message Styles */
.message {
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 5px;
    border-left: 4px solid;
}

.message.success {
    background: #e8f5e8;
    border-left-color: #4caf50;
    color: #2e7d32;
}

.message.warning {
    background: #fff3e0;
    border-left-color: #ff9800;
    color: #ef6c00;
}

.message.error {
    background: #ffebee;
    border-left-color: #f44336;
    color: #c62828;
}

.message h4 {
    margin: 0 0 10px 0;
    font-weight: bold;
}

.message p {
    margin: 0 0 10px 0;
}

.message p:last-child {
    margin-bottom: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .tab-nav {
        flex-wrap: wrap;
    }
    
    .tab-nav li {
        margin-bottom: 2px;
    }
    
    .tab-nav li a {
        padding: 8px 12px;
        font-size: 12px;
    }
    
    .case-info {
        text-align: center;
    }
    
    .progress-circle {
        margin: 20px auto;
    }
    
    .data-table td:first-child {
        width: 50%;
    }
    
    .action-buttons-list .button {
        padding: 10px;
        font-size: 12px;
    }
}

/* Loading States */
.loading {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Hover Effects */
.case-header:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    transition: box-shadow 0.3s ease;
}

.button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
}

.activity-item:hover {
    background: #f8f9fa;
    border-radius: 3px;
    margin: 0 -5px;
    padding: 8px 5px;
    transition: all 0.3s ease;
}

/* Custom Scrollbar for Activity List */
.activity-list::-webkit-scrollbar {
    width: 6px;
}

.activity-list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.activity-list::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

.activity-list::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Print Styles */
@media print {
    .action-buttons,
    .tab-navigation,
    .button {
        display: none !important;
    }
    
    .tab-content {
        display: block !important;
        page-break-inside: avoid;
    }
    
    .case-header {
        box-shadow: none;
        border: 1px solid #000;
    }
    
    .progress-circle {
        border: 2px solid #000;
    }
    
    .timeline-marker {
        border: 1px solid #000;
    }
}

/* Accessibility Improvements */
.button:focus,
.tab-nav a:focus {
    outline: 2px solid #2196f3;
    outline-offset: 2px;
}

.tab-nav a[aria-selected="true"] {
    background: #fff;
    border-bottom-color: #fff;
}

/* Animation for tab transitions */
.tab-content {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.tab-content.active {
    opacity: 1;
    transform: translateY(0);
}

/* Enhanced button styles that work with existing framework */
.button.button-block {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
}

/* Status-specific styling */
.status-locked {
    background: #ffebee !important;
    border-color: #f44336 !important;
}

.status-approved {
    background: #e8f5e8 !important;
    border-color: #4caf50 !important;
}

/* Timeline enhancements */
.timeline-item:last-child::after {
    display: none;
}

.timeline-item::after {
    content: '';
    position: absolute;
    left: -15px;
    top: 35px;
    width: 2px;
    height: 20px;
    background: #e0e0e0;
}

.timeline-item.completed::after {
    background: #4caf50;
}

.timeline-item.current::after {
    background: #2196f3;
}

/* Mobile-first responsive adjustments */
@media (min-width: 480px) {
    .case-info h3 {
        font-size: 28px;
    }
    
    .progress-circle {
        width: 100px;
        height: 100px;
    }
    
    .progress-circle::before {
        width: 80px;
        height: 80px;
    }
    
    .progress-text {
        font-size: 16px;
    }
}

@media (min-width: 768px) {
    .tab-nav li a {
        padding: 15px 25px;
    }
    
    .action-buttons-list {
        gap: 15px;
    }
    
    .case-header {
        padding: 30px;
    }
}

/* Dark mode support (optional) */
@media (prefers-color-scheme: dark) {
    .case-header {
        background: #2d2d2d;
        border-color: #555;
        color: #fff;
    }
    
    .case-info h3,
    .case-details strong {
        color: #fff;
    }
    
    .case-details {
        color: #ccc;
    }
    
    .tab-nav li a {
        background: #3d3d3d;
        color: #ccc;
        border-color: #555;
    }
    
    .tab-nav li.active a {
        background: #2d2d2d;
        color: #fff;
    }
    
    .data-table td {
        border-color: #555;
        color: #ccc;
    }
    
    .stats-box {
        background: #3d3d3d;
        border-color: #555;
    }
}

/** end new css for casedetailsv3.cfm **/

#note {
    position: absolute;
    z-index: 101;
    top: 0;
    left: 0;
    right: 0;
    background: #fde073;
    text-align: center;
    line-height: 2.5;
    overflow: hidden; 
    -webkit-box-shadow: 0 0 5px black;
    -moz-box-shadow:    0 0 5px black;
    box-shadow:         0 0 5px black;
}

/**
 * Sticky Footer
 */

* {
    margin: 0;
}
html, body {
    height: 100%;
}
#wrapper {
    min-height: 100%;
    height: auto !important;
    height: 100%;
    margin: 0 auto -50px; /* the bottom margin is the negative value of the footer's height */
}
footer, #push {
    height: 50px; /* #push must be the same height as footer */
}

/**
 * Base Styles
 */

body {
    font: normal normal normal 12px/16px 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, Verdana, sans-serif;
    overflow: -moz-scrollbars-vertical;
    background: #8ec2da;
}

.no-border {
    border: none !important;
    -moz-border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    -khtml-border-radius: 0 !important;
    border-radius: 0 !important;
}

.no-padding {
    padding: 0 !important;
}

.no-margin {
    margin: 0 !important;
}

nav > ul {
    padding: 0;
}

/**
 * Text Styles
 */

a {
    color: #0066ff;
    outline: none;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

abbr, acronym {
    font-size: 85%;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted black;
    cursor: help;
}

abbr[title], acronym[title], dfn[title] {
    border-bottom: 1px dotted #CCC;
    cursor: help;
}

code, kbd, samp, pre, tt, var, .code {
    font-family: Monaco, 'Panic Sans', 'Lucida Console', 'Courier New', Courier, monospace, sans-serif;
}

h1 {
    font-size:20px;  
}
h2 {
    font-size:18px; 
}
h3 {
    font-size:20px;  
}
h4 {
    font-size: 13px;
}
h5 {
    font-size: 12px;
}
h6 {
    font-size: 11px;
}
h1,h2,h3,h4,h5,h6,p {
    margin:1em 0;
}
h1,h2,h3 {
    color: #000;
}
h4,h5, h6 {
    color: #444;
    font-weight: normal;
}
h6, p {
    /*color: #676767;*/ color: #000000;
}
h1,h2,h3,b,strong,caption,th,thead,dt,legend{
    font-weight:bold; 
}

ul, ol {
    padding-left: 2em;
}

li ul, li ol, ul ul, ol ol, dl dd {
    margin-bottom: 0px;
    margin-left: 0px;
    margin-top: 0px;
}

small, sup, sub {
    font-size: 90%;
}

.code {
    background-color: #EAEFF4;
    color: #069;
    overflow: auto;
    padding: 2px 6px;
}


.al {
    text-align: left !important;
}
.ar {
    text-align: right !important;
}
.ac {
    text-align: center !important;
}
.fl {
    float: left !important;
}
.fr {
    float: right !important;
}

/**
 * Login
 */
body.login {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
    overflow: auto;
}
.login-box {
    width: 350px;
    margin: 15px auto 0 auto;
    position: static;
}
.login-box form {
    border-bottom:1px solid #DDDDDD;
    margin:10px 0;
}
.login-box ul {
    list-style-type: none;
    padding: 0;
}
.login-box.main-content {
    min-height: 0;
}

/**
 * Promo
 */
#promo {
    border-bottom: 1px solid #000;
    background: #f9d835;
    background: -webkit-gradient(linear, left top, left bottom, from(#f9d835), to(#f3961c));
    background: -moz-linear-gradient(top, #f9d835, #f3961c);
    -pie-background: linear-gradient(top, #f9d835, #f3961c);
    padding: 10px 0;
}

#promo p {
    color: #fff;
    margin: 0;
    line-height: 26px;
    text-shadow: 0 1px 0 #000;
}

#promo .close {
    color: #e83;
    font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, Verdana, sans-serif;
    font-size: 10px;
    font-weight: bold;
    padding: 1px 5px;
    text-shadow: 0 1px 1px #fff;
    text-decoration: none;
}

/**
 * Header
 */
#wrapper > header {
    background: #434343;
    background: -moz-linear-gradient(top,  #434343,  #191919);
    background: -webkit-gradient(linear, left top, left bottom, from(#434343), to(#191919));
    -pie-background: linear-gradient(top,  #434343,  #191919);
    -moz-box-shadow: rgba(0,0,0,0.3) 0px 1px 2px;
    -webkit-box-shadow: rgba(0,0,0,0.3) 0px 1px 2px;
    -khtml-box-shadow: rgba(0,0,0,0.3) 0px 1px 2px;
    -pie-box-shadow: #bbb -2px 1px 2px;
    box-shadow: rgba(0,0,0,0.3) 0px 1px 2px;
    margin-bottom: 20px;
    position: fixed;
    top: 0px;
    width: 100%;
    z-index: 999;
    zoom: 1;
}
#wrapper > header h1 {
    color: #fff;
    font-family: "Lucida Grande", "Lucida Sans Unicode", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;
    font-size: 16px;
    line-height: 40px;
    margin-top: 0;
    margin-bottom: 0;
    text-shadow: 0px 1px 1px #000;
}

#wrapper > header h1 a {
    color: #fff;
    text-decoration: none;
}

#wrapper > header nav {
    background: transparent url(../images/line_vert.png) repeat-y top left;
}

#wrapper > header nav ul {
    padding: 0;
}

#wrapper > header nav > ul {
    padding-left: 10px;
}

#wrapper > header nav > ul > li {
    display: block;
    float: left;
    position: relative;
}

#wrapper > header nav > ul > li a {
    color: #eee;
    display: block;
    font-size: 13px;
    line-height: 40px;
    padding: 0 10px;
    text-decoration: none;
    text-shadow: 0 1px 1px rgba(0,0,0,0.5);
}

#wrapper > header nav > ul li:hover > a {
    color: #fff;
}

#wrapper > header nav > ul > li:hover:not(.action) > a {
    background: #555;
    background: -moz-linear-gradient(top,  #555,  #222);
    background: -webkit-gradient(linear, left top, left bottom, from(#555), to(#222));
    -pie-background: linear-gradient(top,  #555,  #222);
}

#wrapper > header nav > ul > li:hover:not(.action) > ul > li > a {
    -pie-background: #191919;
}

#wrapper > header nav > ul > li.active > a {
    background: #191919 !important;
    color: #fff;
    font-weight: bold;
}

#wrapper > header nav > ul > li.action {
    border: 1px solid #444;
    border: 1px solid rgba(255,255,255,0.07);
    border-bottom: 1px solid rgba(255,255,255,0.15);
    margin-top: 6px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    -khtml-border-radius: 4px;
    border-radius: 4px;
    margin-right: 4px;
}

#wrapper > header nav > ul > li.action > a.button {
    color: #fff;
    font-size: 10px;
    font-weight: bold;
    line-height: 16px;
    padding: 4px 10px;
    border: 1px solid #111;
}

#wrapper > header nav > ul > li > a span.arrow-down {
    background: transparent url(../images/arrows.png) no-repeat 0 -103px;
    display: inline-block;
    height: 6px;
    margin-left: 8px;
    width: 10px;
}

#wrapper > header nav > ul > li:hover > a span.arrow-down {
    background: transparent url(../images/arrows.png) no-repeat -10px -103px;
}


#wrapper > header nav > ul ul {
    background: #191919;
    -moz-border-radius: 0 0 5px 5px;
    -webkit-border-bottom-left-radius: 5px;
    -webkit-border-bottom-right-radius: 5px;
    -khtml-border-radius: 0 0 5px 5px;
    border-radius: 0 0 5px 5px;
    display: none;
    padding-bottom: 5px;
    position: absolute;
    width: 150px;
    z-index: 999;
    -moz-box-shadow: 0 2px 2px #777;
    -webkit-box-shadow: 0 2px 2px #777;
    -khtml-box-shadow: 0 2px 2px #777;
    box-shadow: 0 2px 2px #777;
}

#wrapper > header nav > ul li:hover ul {
    display: block;
}

#wrapper > header nav > ul ul li a {
    padding: 0 10px;
    line-height: 30px;
}

#wrapper > header nav > ul ul li a:hover {
    background: #434343;
    -pie-background: #434343;
}

#wrapper > header form input[type=text] {
    background: #777;
    border: 1px solid #191919;
    margin-top: 7px;
    -moz-box-shadow: 0 1px 0 #ddd;
    -moz-box-shadow: 0 1px 0 rgba(255,255,255,0.3);
    -webkit-box-shadow: 0 1px 0 #ddd;
    -webkit-box-shadow: 0 1px 0 rgba(255,255,255,0.3);
    -khtml-box-shadow: 0 1px 0 #ddd;
    -khtml-box-shadow: 0 1px 0 rgba(255,255,255,0.3);
    box-shadow: 0 1px 0 rgba(255,255,255,0.3);
}

#wrapper > header form input[type=text]:hover {
    background: #888;
}

#wrapper > header form input[type=text]:focus {
    background: #eee;
}

/**
 * Content
 */
#wrapper > section {
    padding-top: 60px;
}

.has-promo #wrapper > section {
    padding-top: 110px;
}

.main-section {
    background: #afd4e6;
    background: rgba(255,255,255,0.3);
    margin-bottom: 20px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px;
}

.main-section .content {
    padding: 20px 20px 20px 0;
}

.main-section .content h3:first-child {
    margin-top: 0;
}

.main-content {
    background: #fff;
    -moz-box-shadow: 0 0 3px #555;
    -moz-box-shadow: 0 0 3px rgba(0,0,0,0.5);
    -webkit-box-shadow: 0 0 3px #555;
    -webkit-box-shadow: 0 0 3px rgba(0,0,0,0.5);
    -khtml-box-shadow: 0 0 3px #555;
    -khtml-box-shadow: 0 0 3px rgba(0,0,0,0.5);
    box-shadow: 0 0 3px rgba(0,0,0,0.5);
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px;
    min-height: 420px;
    position: relative;
    z-index: 1;
}

.main-content > header {
    background: #eee;
    background: -moz-linear-gradient(top,  #fafafa,  #e1e1e1);
    background: -webkit-gradient(linear, left top, left bottom, from(#fafafa), to(#e1e1e1));
    -pie-background: linear-gradient(top,  #fafafa,  #e1e1e1);
    border-bottom: 1px solid #999;
    -moz-border-radius: 5px 5px 0 0;
    -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -khtml-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
    padding: 15px 30px;
    -moz-box-shadow: 0 1px 1px #bbb;
    -moz-box-shadow: 0 1px 1px rgba(0,0,0,0.2);
    -webkit-box-shadow: 0 1px 1px #bbb;
    -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2);
    -khtml-box-shadow: 0 1px 1px #bbb;
    -khtml-box-shadow: 0 1px 1px rgba(0,0,0,0.2);
    -pie-box-shadow: none;
    box-shadow: 0 1px 1px rgba(0,0,0,0.2);
}

.main-content > header h2 {
    font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;
    font-weight: normal;
    font-size: 18px;
    margin: 0;
    text-shadow: 0 1px 0 #fff;
}

.main-content > header h4 {
    margin: 0;
}
/*
.main-content > header .help {
    background: #f93;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -khtml-border-radius: 3px;
    border-radius: 3px;
    color: #fff;
    font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, Verdana, sans-serif;
    font-size: 9px;
    font-weight: bold;
    padding: 1px 5px;
    text-shadow: 0 1px 1px #000;
    text-decoration: none;
}
*/
.main-content > header .avatar {
    background: #fff url(../images/user_32.png) no-repeat center center;
    -moz-box-shadow: 0 0 3px #777;
    -webkit-box-shadow: 0 0 3px #777;
    -khtml-box-shadow: 0 0 3px #777;
    box-shadow: 0 0 3px #777;
    display: block;
    float: left;
    height: 60px;
    margin-right: 10px;
    width: 60px;
}

.main-content > header .tags {
    background: transparent url(../images/icons/tag_blue.png) no-repeat 0 0;
    float: left;
    margin: 0;
    padding-left: 20px;
}

.main-content > header .tags a {
    font-size: 9px;
}

.main-content > header .view-switcher {
    font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;
    font-size: 18px;
    text-shadow: 0 1px 0 #fff;
    position: relative;
    z-index: 1;
}

.main-content > header .view-switcher > h2 > a {
    background: transparent url(../images/arrow-updown.png) no-repeat center center;
    display: inline-block;
    text-indent: -999em;
    width: 10px;
    height: 17px;
}

.main-content > header .view-switcher ul {
    background: #dedeff;
    border: 1px solid #999;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px;
    -moz-box-shadow: 0 0 3px #888;
    -moz-box-shadow: 0 0 3px rgba(0,0,0,0.3);
    -webkit-box-shadow: 0 0 3px #888;
    -webkit-box-shadow: 0 0 3px rgba(0,0,0,0.3);
    -khtml-box-shadow: 0 0 3px #888;
    -khtml-box-shadow: 0 0 3px rgba(0,0,0,0.3);
    box-shadow: 0 0 3px #888;
    box-shadow: 0 0 3px rgba(0,0,0,0.3);
    display: none;
    list-style-type: none;
    padding: 10px 20px;
    position: absolute;
    z-index: 999;
    margin: -10px -20px;
    top: -12px;
    left: -1px;
    min-width: 160px;
}

.main-content > header .view-switcher ul li {
    font-size: 12px;
}

.main-content > header .view-switcher ul li.separator {
    border-bottom: 1px solid #999;
    margin: 10px 0;
}

.main-content > header .view-switcher ul li a {
    color: #222;
    display: block;
    font-size: 18px;
    line-height: 40px;
    margin: 0 -20px;
    padding: 0 20px;
    text-decoration: none;
}

.main-content > header .view-switcher ul li a:hover {
    background: #afd4e6;
}

.main-content > header .action-buttons {
    position: relative;
    top: -4px;
    z-index: 999;
}

.main-content > section {
    padding: 20px 30px;
    -moz-border-radius: 0 0 5px 5px;
    -webkit-border-bottom-left-radius: 5px;
    -webkit-border-bottom-right-radius: 5px;
    -khtml-border-radius: 0 0 5px 5px;
    border-radius: 0 0 5px 5px;
}

.main-content > section.container_6 {
    padding: 20px;
}

.main-content > section hgroup {
    margin-top: 10px;
}

.main-content > section hgroup h2 {
    padding-top: 10px;
    margin: 0 0 3px 0;
    line-height: 1.3em;
    text-transform: uppercase;
}

.main-content > section hgroup h4 {
    line-height: 1.4em;
    margin: 0 0 30px;
}

.main-content > section .other-options h3 {
    color: #555;
    border-bottom: 1px dotted #999;
    padding-bottom: 5px;
}

.main-content > section .other-options ul {
    list-style-type: none;
    padding: 0;
}

.main-content > section .other-options h4 {
    margin-bottom: 0;
}

.main-content > section .other-options h4 + p {
    margin-top: 0;
}

/**
 * List View
 */

.list-view {
    border-top: 1px solid #ddd;
    font-size: 12px;
    margin-left: -30px;
    margin-right: -30px;
}

.list-view > li {
    border-bottom: 1px solid #ddd;
    padding: 10px 30px 10px 55px;
    position: relative;
    zoom: 1;
}

.list-view > li.contact {
    background: transparent url(../images/icons/vcard.png) no-repeat 30px 10px;
}

.list-view > li.company {
    background: transparent url(../images/icons/building.png) no-repeat 30px 10px;
}

.list-view > li.note {
    background: transparent url(../images/icons/note.png) no-repeat 30px 10px;
}

.list-view > li.tick {
    background: transparent url(../images/icons/tick.png) no-repeat 30px 10px;
}

.list-view > li.calendar {
    background: transparent url(../images/icons/calendar.png) no-repeat 30px 10px;
}

.list-view > li.reports {
    background: transparent url(../images/icons/chart_bar.png) no-repeat 30px 10px;
}

.list-view > li:hover {
    background-color: #fafafa;
}

.list-view > li.current {
    background-color: #f1f1f1;
}

.list-view > li .more {
    background: #bcf url(../images/arrow-right.png) no-repeat center center;
    display: block;
    width: 16px;
    height: 100%;
    position: absolute;
    right: 0px;
    top: 0px;
    text-align: center;
    text-decoration: none;
    text-indent: -999em;
    visibility: hidden;
}

.list-view > li .more:hover {
    cursor: pointer;
}

.list-view > li:hover .more {
    visibility: visible;
}

.list-view > li.current .more {
    background-image: url(../images/arrow-left.png);
    visibility: visible;
}

.list-view > li .timestamp {
    color: #555;
    float: right;
    font-size: 9px;
}

.list-view > li a {
    font-weight: bold;
}

.list-view > li p {
    color: #111;
    margin: 0;
}

.list-view > li .entry-meta {
    color: #555;
}

.list-view > li .avatar {
    border: 1px solid #ddd;
    float: left;
    height: 32px;
    margin-right: 4px;
    width: 32px;
}

.list-view > li .avatar img {
    width: 32px;
    height: 32px;
}

/**
 * Grid View
 */
.grid-view li {
    background: #fff;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    -khtml-border-radius: 4px;
    border-radius: 4px;
    -moz-box-shadow: 0 0 3px #777;
    -moz-box-shadow: 0 0 3px rgba(0,0,0,0.8);
    -webkit-box-shadow: 0 0 3px #777;
    -webkit-box-shadow: 0 0 3px rgba(0,0,0,0.8);
    -khtml-box-shadow: 0 0 3px #777;
    -khtml-box-shadow: 0 0 3px rgba(0,0,0,0.8);
    box-shadow: 0 0 3px #777;
    box-shadow: 0 0 3px rgba(0,0,0,0.8);
    float: left;
    margin: 5px;
    padding: 5px;
    position: relative;
    width: 180px;
}

.grid-view > li .more {
    background: #bcf url(../images/arrow-right.png) no-repeat center center;
    -moz-border-radius: 0 3px 3px 0;
    -webkit-border-top-right-radius: 3px;
    -webkit-border-bottom-right-radius: 3px;
    -khtml-border-radius: 0 3px 3px 0;
    border-radius: 0 3px 3px 0;
    display: block;
    width: 16px;
    height: 100%;
    position: absolute;
    right: 0px;
    top: 0px;
    text-align: center;
    text-decoration: none;
    text-indent: -999em;
    visibility: hidden;
}

.grid-view > li .more:hover {
    cursor: pointer;
}

.grid-view > li:hover .more {
    visibility: visible;
}

.grid-view > li.current .more {
    background-image: url(../images/arrow-left.png);
    visibility: visible;
}

.grid-view li .timestamp {
    position: absolute;
    bottom: 0;
    right: 15px;
    display: block;
    font-size: 9px;
}

.grid-view li .name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.grid-view li .entry-meta {
    font-size: 9px;
}

.grid-view li .avatar {
    border: 1px solid #ddd;
    float: left;
    height: 60px;
    margin-right: 4px;
    width: 60px;
}

.grid-view > li .avatar img {
    width: 60px;
    height: 60px;
}

/**
 * Grid View and List View Common CSS
 */
.listing {
    list-style-type: none;
    padding: 0;
}

.listing > li.contact .avatar {
    background: transparent url(../images/user_32.png) no-repeat center center;
}

.listing > li.company .avatar {
    background: transparent url(../images/users_business_32.png) no-repeat center center;
}

/**
 * Preview Pane for the list view
 */

.preview-pane {
    position: relative;
    z-index: 0;
}

.preview-pane .preview {
    background: #fcfcfc;
    display: block;
    top: 0;
    left: -370px;
    padding: 20px;
    position: absolute;
    height: 350px;
    width: 310px;
    -moz-border-radius: 0 5px 5px 0;
    -webkit-border-top-right-radius: 5px;
    -webkit-border-bottom-right-radius: 5px;
    -khtml-border-radius: 0 5px 5px 0;
    border-radius: 0 5px 5px 0;
    -moz-box-shadow: 0 2px 2px #777;
    -webkit-box-shadow: 0 2px 2px #777;
    -khtml-box-shadow: 0 2px 2px #777;
    box-shadow: 0 2px 2px #777;
}

.preview-pane .preview > h3:first-child, .preview-pane .preview > h4:first-child {
    margin-top: 0;
}

/**
 * Styles for ul
 */
.profile-info {
    list-style-type: none;
    padding: 0;
}

.profile-info li {
    padding-left: 24px;
    line-height: 2em;
}

.profile-info li span {
    color: #777;
    float: right;
    font-size: 9px;
}

.profile-info li.email {
    background: transparent url(../images/icons/email.png) no-repeat 0 50%;
}

.profile-info li.contact {
    background: transparent url(../images/icons/user.png) no-repeat 0 50%;
}

.profile-info li.mobile {
    background: transparent url(../images/icons/phone.png) no-repeat 0 50%;
}

.profile-info li.phone {
    background: transparent url(../images/icons/telephone.png) no-repeat 0 50%;
}

.profile-info li.calendar-day {
    background: transparent url(../images/icons/calendar_view_day.png) no-repeat 0 50%;
}

.profile-info li.building {
    background: transparent url(../images/icons/building.png) no-repeat 0 50%;
}

.profile-info li.house {
    background: transparent url(../images/icons/house.png) no-repeat 0 50%;
}

/**
 * Sidebar
 */

#wrapper > section > div > aside nav {
    padding: 10px 0;
    margin-right: -20px;
}

#wrapper > section > div > aside nav > ul {
    display: block;
}

#wrapper > section > div > aside nav > h4 {
    color: #333;
    font-size: 10px;
    font-weight: bold;
    margin-top: 0;
    padding-left: 8px;
    text-transform: uppercase;
    text-shadow: 0 1px 0 #eee;
    text-shadow: 0 1px 0 rgba(255,255,255,0.3);
}

#wrapper > section > div > aside nav > ul > li {
    float: left;
    width: 100%;
}

#wrapper > section > div > aside nav > ul > li a {
    color: #333;
    display: block;
    font-size: 11px;
    padding: 5px 4px 5px 8px;
    text-decoration: none;
    text-shadow: 0 1px 1px #fff;
    text-shadow: 0 1px 0 rgba(255,255,255,0.3);
    -moz-border-radius: 4px 0 0 4px;
    -webkit-border-top-left-radius: 4px;
    -webkit-border-bottom-left-radius: 4px;
    -khtml-border-radius: 4px 0 0 4px;
    border-radius: 4px 0 0 4px;
    line-height: 16px;
}

#wrapper > section > div > aside nav > ul > li > a:hover {
    background: #9ecbe0;
    background: rgba(255,255,255,0.15);
}

#wrapper > section > div > aside nav > ul > li.active > a {
    background: #afd4e6;
    background: rgba(255,255,255,0.3);
    color: #111;
    font-weight: bold;
}

#wrapper > section > div > aside nav > ul > li a h5, #wrapper > section > div > aside nav > ul > li a h6 {
    line-height: 140%;
    margin: 0;
}

#wrapper > section > div > aside nav > ul > li a h5 {
    margin-bottom: 3px;
}

#wrapper > section > div > aside nav > ul > li a h6 {
    font-size: 9px;
    text-shadow: none;
}

#wrapper > section > div > aside nav.global > ul > li > a span {
    background: #def;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -khtml-border-radius: 3px;
    border-radius: 3px;
    float: right;
    font-size: 9px;
    font-weight: normal;
    padding: 0 4px;
    margin-right: 2px;
}

#wrapper > section > div > aside nav.subnav {
    background: transparent url(../images/line.png) repeat-x top left;
}

#wrapper > section > div > aside nav.recent > ul > li {
}

#wrapper > section > div > aside nav > ul > li a.nav-icon {
    background-position: 5px 50%;
    background-repeat: no-repeat;
    padding-left: 25px;
}
.icon-book {
    background-image: url(../images/icons/book.png) !important;
}
.icon-house {
    background-image: url(../images/icons/house.png) !important;
}
.icon-note {
    background-image: url(../images/icons/note.png) !important;
}
.icon-tick {
    background-image: url(../images/icons/tick.png) !important;
}
.icon-time {
    background-image: url(../images/icons/time.png) !important;
}
.icon-folder {
    background-image: url(../images/icons/folder.png) !important;
}
.icon-reports {
    background-image: url(../images/icons/chart_bar.png) !important;
}
.icon-funding {
    background-image: url(../images/icons/money.png) !important;
}
.icon-contacts {
    background-image: url(../images/icons/user.png) !important;
}

.icon-training {
    background-image: url(../images/icons/award_star_gold_3.png) !important;
}

.icon-outreach {
    background-image: url(../images/icons/television.png) !important;
}

.icon-support {
    background-image: url(../images/icons/help.png) !important;
}

.icon-application_view {
    background-image: url(../images/icons/application_view_icons.png) !important;
}

.icon-application_home {
    background-image: url(../images/icons/application_home.png) !important;
}



/**
 * Footer
 */
body > footer {
    background: #222;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #111), color-stop(0.1, #434343), color-stop(1, #222));
    background: -moz-linear-gradient(top,  #111 0%,  #434343 10%, #222 100%);
    -pie-background: linear-gradient(top,  #111 0%,  #434343 10%, #222 100%);
    color: #ddd;
    font-size: 10px;
    text-shadow: 0 1px 1px #000;
    height: 50px;
}
    #footer-inner > div {
        margin-top: 17px;
    }

/**
 * Elements
 */

/* the overlayed element */
.apple_overlay {
    
    /* initially overlay is hidden */
    display:none;
    
    /* growing background image */
    background-image:url(../images/overlay/white.png);
    
    /* 
        width after the growing animation finishes
        height is automatically calculated
    */
    width:640px;        
    
    /* some padding to layout nested elements nicely  */
    padding:35px;

    /* a little styling */    
    font-size:11px;
}

/* default close button positioned on upper right corner */
.apple_overlay .close {
    background-image:url(../images/close-icon.png);
    position:absolute; right:14px; top:14px;
    cursor:pointer;
    height:30px;
    width:30px;
}

.apple_overlay.black {
    background-image:url(../images/overlay/transparent.png);        
    color:#fff;
}

	
.highlightvalues {
    background:none repeat scroll 0 0 #DDEEFF /*#DDEEFF*/; 
	border-radius:5px 5px 5px 5px;  
	font-size:12px; 
	margin-right:2px; 
	padding: 0 4px
}

.highlightvalues2 {
    background:none repeat scroll 0 0 #DDEEFF /*#DDEEFF*/; 
	border-radius:5px 5px 5px 5px;  
	font-size:12px; 
    margin-left:150px;
	padding: 6px
}

.highlightvaluesRed {
    background:none repeat scroll 0 0 #FFCCCC /*#DDEEFF*/;    
	border-radius:5px 5px 5px 5px;  
	font-size:14px; 
	margin-right:2px; 
	padding: 8px
}

.highlightvaluesRed2 {
    background:none repeat scroll 0 0 #FFCCCC /*#DDEEFF*/;    
	border-radius:5px 5px 5px 5px;  
	font-size:16px; 
	margin-right:2px; 
	padding: 15px;
}


.highlightvaluesGreen {
    background:none repeat scroll 0 0 #98fb98 /*#DDEEFF*/;    
	border-radius:5px 5px 5px 5px;  
	font-size:16px; 
	margin-right:2px; 
	padding: 15px;
}

.highlightlegend {
    background:none repeat scroll 0 0 #E9E9E9; 
	border-radius:5px 5px 5px 5px;  
	font-size:12px; 
	margin-right:2px; 
	padding: 0 4px
}



/* =================================================================
   ACCESSIBILITY CSS FIXES
   For WCAG 2.0 AA Compliance - Roadmap Items 1.4.3, 2.1.1, 2.4.7
   ================================================================= */

/* -----------------------------------------------------------------
   1.4.3 CONTRAST (MINIMUM) - Button Color Fixes
   Ensures 4.5:1 contrast ratio for text on buttons
   ----------------------------------------------------------------- */

/* Secondary/Disabled Buttons - Increase contrast */
.button-gray:disabled,
.button-gray[disabled],
button:disabled,
button[disabled] {
    background-color: #666666 !important; /* Darker gray for better contrast */
    color: #ffffff !important;
    border-color: #555555 !important;
}

/* Orange buttons - ensure sufficient contrast */
.button-orange {
    background-color: #D87000 !important; /* Darker orange for 4.5:1 contrast */
    color: #ffffff !important;
}

.button-orange:hover {
    background-color: #B85F00 !important;
}

/* Yellow/Warning elements - increase contrast */
.message.warning {
    background-color: #F0AD4E !important;
    color: #000000 !important; /* Black text for contrast */
    border-color: #D89C3D !important;
}

/* Ensure link colors meet contrast requirements - EXCEPT navigation and buttons */
/* NO visited link color changes - keeping original design */
.main-content a:not(.button):not(.button-blue):not(.button-gray):not(.button-green):not(.button-red):not(.button-orange),
.datatable a:not(.button):not(.button-blue):not(.button-gray):not(.button-green):not(.button-red):not(.button-orange),
article a:not(.button):not(.button-blue):not(.button-gray):not(.button-green):not(.button-red):not(.button-orange),
.content a:not(.button):not(.button-blue):not(.button-gray):not(.button-green):not(.button-red):not(.button-orange),
p a:not(.button):not(.button-blue):not(.button-gray):not(.button-green):not(.button-red):not(.button-orange) {
    color: #0056b3 !important; /* Darker blue for better contrast */
}

/* -----------------------------------------------------------------
   TABLE LINK CONTRAST FIX
   Ensures links in dark table rows have sufficient contrast
   ----------------------------------------------------------------- */

/* Links in alternating dark table rows - exclude buttons */
.datatable tbody tr:nth-child(even) a:not(.button):not(.button-blue):not(.button-gray):not(.button-green):not(.button-red):not(.button-orange),
.datatable tr.alt a:not(.button):not(.button-blue):not(.button-gray):not(.button-green):not(.button-red):not(.button-orange),
table tbody tr:nth-child(even) a:not(.button):not(.button-blue):not(.button-gray):not(.button-green):not(.button-red):not(.button-orange),
tr.alt a:not(.button):not(.button-blue):not(.button-gray):not(.button-green):not(.button-red):not(.button-orange) {
    color: #0066CC !important; /* Brighter blue for dark backgrounds */
    font-weight: 500 !important; /* Slightly bolder for visibility */
}

/* Hover state for table links on dark rows - exclude buttons */
.datatable tbody tr:nth-child(even) a:not(.button):hover,
.datatable tr.alt a:not(.button):hover,
table tbody tr:nth-child(even) a:not(.button):hover,
tr.alt a:not(.button):hover {
    color: #3399FF !important; /* Even brighter on hover */
    text-decoration: underline !important;
}

/* -----------------------------------------------------------------
   2.1.1 KEYBOARD / 2.4.7 FOCUS VISIBLE - Enhanced Focus Indicators
   Makes keyboard focus clearly visible for all interactive elements
   ----------------------------------------------------------------- */

/* Global focus style - highly visible outline */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus {
    outline: 3px solid #0066CC !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.3) !important;
}

/* Button focus states */
.button:focus,
.button-gray:focus,
.button-blue:focus,
.button-green:focus,
.button-red:focus,
.button-orange:focus {
    outline: 3px solid #0066CC !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.3) !important;
}

/* Form input focus - additional visual indicator */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
    border: 2px solid #0066CC !important;
    background-color: #F0F8FF !important; /* Light blue background */
    outline: 2px solid #0066CC !important;
    outline-offset: 1px !important;
}

/* Checkbox and radio focus */
input[type="checkbox"]:focus,
input[type="radio"]:focus {
    outline: 3px solid #0066CC !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.3) !important;
}

/* Link focus in navigation and tables */
nav a:focus,
.datatable a:focus {
    outline: 3px solid #0066CC !important;
    outline-offset: 2px !important;
    background-color: rgba(0, 102, 204, 0.1) !important;
}

/* -----------------------------------------------------------------
   ADDITIONAL WCAG 2.0 REQUIREMENTS
   Screen reader only class and semantic heading styles
   ----------------------------------------------------------------- */

/* Screen reader only class - for accessible labels */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border-width: 0 !important;
}

/* Heading hierarchy fix - h2 styled as h4 */
.h4-styled {
    font-size: 10px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    color: #333 !important;
    text-shadow: 1px 1px 0px #fff !important;
    letter-spacing: 0.1em !important;
    margin: 0 0 10px 0 !important;
}

/* -----------------------------------------------------------------
   FORM LABEL AND HELPER TEXT CONTRAST
   Ensures labels and small helper text have sufficient contrast
   ----------------------------------------------------------------- */

/* Form labels - ensure dark enough for contrast */
label {
    color: #333333 !important;
}

/* Required field asterisk */
label em {
    color: #CC0000 !important; /* Dark red for visibility */
}

/* Helper text in labels */
label small {
    color: #555555 !important; /* Dark gray for better contrast */
}

/* Ensure form labels don't get link color styling */
label a {
    color: #0056b3 !important;
}

/* -----------------------------------------------------------------
   HIGH CONTRAST MODE SUPPORT
   Ensures elements remain visible in Windows High Contrast Mode
   ----------------------------------------------------------------- */

@media (prefers-contrast: high) {
    /* Ensure all interactive elements have borders in high contrast */
    button,
    .button,
    input,
    select,
    textarea {
        border: 2px solid currentColor !important;
    }
    
    /* Make focus indicators even more prominent */
    *:focus {
        outline: 4px solid !important;
        outline-offset: 3px !important;
    }
}

/* -----------------------------------------------------------------
   REDUCED MOTION SUPPORT
   Respects user preference for reduced motion
   ----------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* =================================================================
   END ACCESSIBILITY CSS FIXES
   ================================================================= */
