﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification\ 
for details on configuring this project to bundle and minify static web assets. */
body {
    padding-top: 50px;
    padding-bottom: 20px;
}

/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

/* Carousel */
.carousel-caption p {
    font-size: 20px;
    line-height: 1.4;
}

/* Make .svg files in the carousel display properly in older browsers */
.carousel-inner .item img[src$=".svg"] {
    width: 100%;
}

/* QR code generator */
#qrCode {
    margin: 15px;
}

/* Targeted contrast improvements for specific link contexts */
/* White/light backgrounds where dark green improves contrast */
/* Exclude links with btn class */
a:not(.btn):hover,
a:not(.btn):focus,
.g-bg-white a:not(.btn):hover,
.g-bg-white a:not(.btn):focus,
article a:not(.btn):hover,
article a:not(.btn):focus {
    color: #4D811D;
}

a.u-pagination-v1-5--active, 
a.u-pagination-v1-5:hover, 
a.u-pagination-v1-5:focus {
    color: #fff;    
}

.tab-content {
    border-left: 1px solid #eee;
    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;
    margin-bottom: 15px;
    padding: 10px;
}

.navbar-brand:focus {
    outline: 2px solid #0066cc;
    outline-offset: 2px;
    border-radius: 4px;
}

#homepage-search-textbox:focus {
    color: #555566f7;
    background-color: #fffffe;
}

/* These are now handled in the targeted section above */

.nav-item > a {
    color: #fff;
    background-color: #595959;
}

.nav-item > a:hover {
    background-color: #404040;
    color: #fff;
}

.nav-item > a:focus {
    background-color: #333333;
    color: #fff;
    outline: 2px solid #fff;
    outline-offset: -2px;
}

.nav-item {
    padding-right: 2px;
}

.modal-content {
    border-radius: .5rem
}

dd {
    margin-left: 20px !important;
}

html {
    overflow-y: scroll;
}

.narrow-header {
    margin-left: 20px !important;
}

.bg-lightgray {
    background-color: #eee;
}

.bg-grayblue {
    background-color: #3C7392;
}

.g-bg-primary.g-color-white a {
    color: white;
}

a:not(.btn):focus {
    text-decoration: underline;
    outline: 2px solid #0066cc;
    outline-offset: 1px;
}

.blogCard {
    border-radius: 10px;
    padding: 2.25rem 2.75rem;
}
.ImageFloatRight {
    float: none;
    padding-bottom: 15px;
    padding-left: 15px;
    max-height: 100px;
    max-width: 300px;
}

/* Hide/rearrange for smaller screens */
@media screen and (max-width: 767px) {
    /* Hide captions */
    .carousel-caption {
        display: none;
    }


    div.blogPost div.latestBlogPost {
        width: 100%;
    }

    div.blogPost div.moreBlogPosts {
        width: 100%;
        max-width: 100%;
    }

    div.blogPost div.moreBlogPosts a {
        position: static;
        left: 0;
        top: 0;
        margin-top: 0;
    }
   
}
@media (min-width: 576px) {

    .ImageFloatRight {
        padding-left: 15px;
        padding-right: 15px;
        float: right;
        
    }
}

.hidden-page-heading {
    color: #fff;
    font-size: .1em;

}

.skip-link {
    position: absolute;
    left: -9999px;
    z-index: 999;
    padding: 1em;
    background-color: #000;
    color: #fff;
    text-decoration: none;
}

.skip-link:focus {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 4px;
    z-index: 999;
    color: #fff;
    background-color: #000;
    text-decoration: underline;
    outline: 2px solid #fff;    
    outline-offset: 2px;
}

.skip-link:hover {
    color: #fff;
    text-decoration: underline;
    background-color: #000;
}


/* Ensure header and footer links maintain their specific styles */
.header-links:hover,
.header-links:focus {
    color: #fffffe;
    background-color: #00000001;
}

.footer-links:hover,
.footer-links:focus {
    color: #fffffe;
    background-color: #00000001;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Restore focus visibility for all interactive elements */
button:focus,
input:focus,
select:focus,
textarea:focus,
[role="button"]:focus,
[tabindex]:not([tabindex="-1"]):focus {
    outline: 2px solid #0066cc !important;
    outline-offset: 2px !important;
}

/* Special handling for buttons to ensure visibility */
.btn:focus,
.btn-primary:focus,
.btn-secondary:focus,
.btn-success:focus,
.btn-danger:focus,
.btn-warning:focus,
.btn-info:focus,
.btn-light:focus,
.btn-dark:focus {
    outline: 2px solid #0066cc !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25) !important;
}

/* Ensure button links maintain proper text color on focus */
a.btn:focus,
a.btn:hover,
a.btn-primary:focus,
a.btn-primary:hover {
    color: #fff;
    text-decoration: none;
}

/* Ensure modal buttons have focus indicators */
.modal-footer button:focus {
    outline: 2px solid #fff !important;
    outline-offset: 2px !important;
}

/* Modal close button specific focus style */
.modal-header button:focus,
.modal-header .close:focus {
    outline: 2px solid #fff !important;
    outline-offset: -0.5rem !important;
}

/* Blog page link focus fix */
.blogCard a:focus,
.blogCard a:hover {
    color: #fff !important;
    outline: 2px solid #fff !important;
    outline-offset: 2px !important;
}

/* Links on dark backgrounds should stay light */
.g-bg-primary a:hover:not(.btn),
.g-bg-primary a:focus:not(.btn),
.g-bg-dark a:hover:not(.btn),
.g-bg-dark a:focus:not(.btn),
.g-bg-gray-dark-v1 a:hover:not(.btn),
.g-bg-gray-dark-v1 a:focus:not(.btn),
.g-bg-gray-dark-v2 a:hover:not(.btn),
.g-bg-gray-dark-v2 a:focus:not(.btn) {
    color: #ffff66 !important;
}

/* Fix search button focus indicators for better contrast */
.g-bg-black button.btn-primary:focus,
.g-bg-black .btn-primary:focus {
    outline: 2px solid #fff !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 0.3rem rgba(255, 255, 255, 0.5) !important;
}

/* Search results page button focus indicators */
.g-bg-gray-light-v4 button:focus,
button.btn:focus {
    outline: 2px solid #0066cc !important;
    outline-offset: 2px !important;
}

/* Sort By button focus indicator fix */
select:focus,
.form-control:focus {
    border-color: #0066cc !important;
    outline: 2px solid #0066cc !important;
    outline-offset: 0 !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25) !important;
}
