.home-search {
    position: relative;
    background-color:  #418fde; /* image sky color */
    background-image: url("/application/themes/falvey_2018/images/falvey_reading_room_blue.jpg");
    /* background-image: url("/application/themes/falvey_2018/images/stthomas_large_lightblue.jpg"); */
    background-size: cover;
    background-position-x: center;
    /* background-position-y: center; */
}
.home-search .searchbox {
    box-shadow: 0 3px 3px hsla(63, 100%, 15%, 0.3); /* brand-green */
}
.home-search .searchbox-wrapper {
    padding: 0.5rem;
}
.home-search .container {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.home-search .falvey-header {
    background-color: rgba(0, 31, 91, 0.7);
}
.home-search #search:focus {
    border-bottom-color:  #ff8200;
}
.home-search .advanced-link {
    display: none;
}
.home-search .search-tabs a {
    padding: 0.5rem 1rem 0.4rem;
    color: #000;
}
.home-search .alert {
    margin-bottom: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 15px;
    color:  #222;
    background-color:  #fed141;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);
}
.home-search h2 {
    color: #fff;
    text-shadow: 0 1px 0 #222, 0 1px 2px #000;
}

.ask-group {
    display: block;
    padding-top: 1rem;
    text-align: center;
    color: #fff;
    background-color:  #001f5b;
}
.ask-group .label {
    display: block;
    margin-bottom: 0.5rem;
}
.ask-button {
    display: inline-block;
    width: 4.5rem;
    height: 3rem;
    border: 0;
    font-size: 1em;
    line-height: 3rem;
    color: #fff;
    background-color: transparent;
    cursor: pointer;
}
.ask-button:hover {
    background-color: #fff;
    color:  #001f5b;
}

.nav-grid {
    flex: 0 1 75%;
    max-width: 1200px;
    margin: 0 0.5rem;
}
.nav-grid .card,
.nav-grid .card:visited {
    margin: 0;
    margin-bottom: 0.5rem;
    font-family: var(--family-gotham);
    font-size: 14px;
    text-align: center;
    white-space: nowrap;
    color: #000;
}
.nav-grid .card .fa,
.nav-grid .card .far {
    display: none;
}
.nav-grid .home-about {
    display: block;
    box-sizing: border-box;
    width: 30%;
    min-width: 200px;
    margin-top: 0;
    padding: 0.5rem 1rem;
    font-size: small;
    text-align: center;
    color: #000;
    box-shadow: none;
}
.sub-grid {
    flex: 0 1 100%;
    margin-bottom: 0.5rem;
}
.sub-grid:last-child {
    margin-right: 0;
}
.sub-grid a {
    color: #000;
}
.main {
    position: relative;
    display: block;
    flex: 0 1 100%;
    min-height: 2rem;
    margin-right: 1rem;
    background-color: #fff;
    overflow: hidden;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.5);
    outline: 1px solid #fff;
}
.main:last-child {
    margin-left: 0;
    margin-right: 0;
}
.main img {
    position: absolute;
    display: none;
    min-width: 100%;
    min-height: 100%;
    max-width: none;
}
.main .overlay {
    color:  #222;
    background-color: rgba(255, 255, 255, 0.8);
}
.main:hover .overlay {
    background-color: #fff;
}

.hours {
    padding: 1rem;
    padding-bottom: 0;
    font-size: 13px;
    color:  #4a4a4a;
    background-color: #fff;
}
.hours h2 {
    margin-top: 0;
    font-size: 1.25rem;
    text-align: center;
    color: #000;
    text-shadow: none;
}
.hours .time {
    color:  #418fde;
}
.hours a {
    font-size: 1rem;
    font-weight: bold;
}

.page-template-home3 .container {
    padding: 0;
}

.news {
    margin-bottom: 1rem;
    overflow-x: auto;
}

.events,
.profiles {
    padding: 1rem;
}
.events h2 a {
    color:  #222;
}
.profiles h2 a {
    color:  #222;
}
.profiles > a {
    display: inline-block;
    padding: 0.5rem;
    font-size: 1rem;
    color:  #6e6e6e;
}
.librarian {
    display: flex;
    margin-bottom: 1rem;
    padding: 0.5rem 1rem;
    border: 1px solid #dcdcdc;
    border-bottom-width: 3px;
    color:  #4a4a4a;
    background-color: #fff;
}
.librarian:hover {
    text-decoration: none;
}
.librarian img {
    max-width: 100px;
    max-height: 100px;
}
.librarian-info {
    margin-left: 1rem;
}
.librarian-name,
.librarian-tags {
    font-weight: normal;
}
.librarian-tags {
    margin: 0;
    font-size: 11px;
    color:  #6e6e6e;
    text-transform: uppercase;
}

.news > p > a {
    color:  #7c878e;
}
.ccm-block-rss-displayer-wrapper {
    max-width: 1200px;
    margin: auto;
    margin-bottom: 2rem;
}
.front-block-rss-displayer-item {
    position: relative;
    display: block;
    margin: 0.5rem;
    color: #fff;
    background-size: cover;
    background-position: center center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
.front-block-rss-displayer-item .blue-overlay {
    display: inline-block;
    box-sizing: border-box;
    width: 100%;
    padding: 0 1rem;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.6);
    text-transform: uppercase;
}
.front-block-rss-displayer-item h3 {
    margin-bottom: 0;
    font-weight: 500;
    text-align: left;
    color: #fff;
    text-shadow: 0 1px 0 #000;
    transition: text-shadow 0.6s ease 0s;
}
.front-block-rss-displayer-item .date {
    display: block;
    margin: 0.5rem;
    font-size: small;
    text-align: right;
    letter-spacing: 2px;
    color: #fff;
}
.ccm-block-rss-displayer-item-summary {
    font-size: small;
    color: #333;
}
#EventData .EventDate {
    font-size: small;
    font-weight: normal;
    color: #707070;
}

/* Sidebar ======================================================================= */

.sidebar-toggle {
    display: block;
    margin-top: 0;
    margin-bottom: 0.5rem;
    padding: 0.6rem 0.75rem 0.4rem;
    color: rgba(0, 0, 0, 0.9);
    text-align: center;
    background-color:  #a3c8ee;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 3px 3px hsla(210, 70%, 15%, 0.3);
    vertical-align: bottom;
}
.sidebar-toggle::before {
    float: left;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0c9";
}
@media (min-width: 20rem) {
    .sidebar-toggle .text {
        display: inline;
    }
}

.sidebar {
    font-family: var(--family-gotham);
    font-size: small;
    color:  rgba(0, 0, 0, 0.8);
}

.optional {
    font-family: var(--family-gotham);
    font-size: small;
    color:  rgba(0, 0, 0, 0.8);
}
.sidebar {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-top: 1px solid rgba(0, 0, 0, 0.3);
    background-color:  #a3c8ee;
    box-shadow: 0 3px 3px hsla(210, 70%, 15%, 0.3);
}
.guides .sidebar p {
    padding-left: 1rem;
    padding-right: 1rem;
}
.sidebar a {
    color: #000;
}
.sidebar a:hover {
    background-color: #fff;
}
.sidebar p a {
    text-decoration: underline;
}
.sidebar ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.sidebar ul ul {
    margin-left: 1rem;
}
.sidebar li a {
    display: block;
    margin-left: -10rem;
    padding: 0.5rem 1rem;
    padding-left: 11rem;
}
.sidebar .nav-path-selected,
.sidebar .nav-selected {
    color: #000;
    background-color: #fff;
}
.sidebar .nav > .nav-path-selected {
    outline: 1px solid  #001f5b;
    overflow: hidden;
}
.sidebar .nav-path-selected a {
    color: #000;
}
/* don't highlight top level selected item with no sub menu */
.sidebar .nav-path-selected a:hover {
    background-color: undefined;
}
.sidebar .nav-selected > a {
    font-weight: bold;
    text-decoration: none;
    background-color: undefined;
}
.sidebar .nav > .nav-selected a:only-child {
    background-color: #fff;
}
.sidebar .nav-path-selected > a {
    text-decoration: underline;
}
.anchor_autonav {
    margin-bottom: 0.5rem;
    padding-left: 0.5rem;
}
.anchor_autonav h3 {
    margin: 1rem 0;
}
.vcard img {
    display: block;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.sidebar #bz-promo-widget {
    box-sizing: border-box;
    width: 100% !important;
}
.optional {
    padding: 1rem;
}

body .anchor_autonav ul li {
    padding: 0;
}

/* old styles
*/
.libraryh3lp-tab a,
.to-top-btn {
    position: fixed;
    right: 1rem;
    bottom: 0;
    display: flex !important;
    align-items: center;
    gap: 0.5rem;
    padding-inline: 0.75rem 1rem;
    padding-block: 0.5rem;
    font-family: "Gotham", sans-serif;
    font-size: 0.75rem;
    line-height: 1.15;
    color: white;
    text-decoration: none;
    background-color: #00205b;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    box-shadow: 0 0 1px 1px rgb(255 255 255 / 0.3);
}
.libraryh3lp-tab .fa {
    font-size: 0.675rem;
    color: #b5bd00;
}

.to-top-btn {
    right: 5rem; /* new */
    right: 10.75rem;
    bottom: -6rem;
    z-index: 90;
    transition: bottom 300ms;
}
.to-top-btn.is-active {
    bottom: 1rem; /* new */
    bottom: 0;
}

/* new styles
.libraryh3lp-tab a,
.to-top-btn {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 100;
    box-sizing: border-box;
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    width: max-content;
    padding-inline: 0.875rem;
    font-size: 1.25rem;
    color: white;
    text-decoration: none;
    background-color: #00205b;
    border: 2px solid white;
    border-radius: 9999px;
    box-shadow: 0 3px 3px rgb(0 0 0 / 0.15);

    &:visited {
        color: white;
    }

    &:hover, &:focus, &:active {
        color: #00205b;
        text-decoration: none;
        background-color: white;
        border-color: #00205b;
    }

    & .fa {
        width: 1.5rem;
        margin-top: -2px;
        text-align: center;
    }
}

.libraryh3lp-tab a:hover .sr-only,
.libraryh3lp-tab a:focus .sr-only,
.to-top-btn:hover .sr-only,
.to-top-btn:focus .sr-only {
    position: absolute;
    top: -2.1rem;
    right: 0;
    width: fit-content;
    height: auto;
    padding-inline: 12px;
    padding-block: 5px;
    font-family: "Gotham", sans-serif;
    font-size: 0.75rem;
    white-space: nowrap;
    color: white;
    background-color: #00205b;
    border-radius: 1px;
    box-shadow: 0 1px 3px rgb(0 0 0 / 0.15);

    /* no-sr-only * /
    overflow: visible;
    clip: auto;

    &::after {
        content: " ";
        position: absolute;
        right: 22px;
        bottom: -5px;
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid #00205b;
    }
}

aside .libraryh3lp {
    margin-top: 1rem;
}
.libraryh3lp-tab iframe {
    width: 100% !important; /* override inline style * /
}
*/

[data-appointlet-organization="library"] {
    display: block;
    margin: auto;
    margin-bottom: 1rem;
}

/* tablesorter =================================================================== */
.tablesorter th {
    border-right: 1px solid  #7c878e;
}
.tablesorter td {
    border-right: 1px solid  #7c878e;
}
.tablesorter .header {
    font-weight: 500;
    color: #000;
    cursor: pointer;
}
.tablesorter .header::after {
    float: right;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    color:  #6e6e6e;
    content: "\f0dc";
}
.tablesorter .headerSortDown,
.tablesorter .headerSortUp {
    font-weight: bold;
    text-decoration: underline;
}
.tablesorter .headerSortDown::after {
    color: #000;
    content: "\f0dd";
}
.tablesorter .headerSortUp::after {
    color: #000;
    content: "\f0de";
}
.bigLetter {
    font-family: Georgia, serif;
    font-size: 250%;
    margin: 0;
    padding: 0;
}
