/* Shared public website styles, loaded by the public master. */
div.quicknav { text-align: center; }
.home-introduction { padding: 4px 0 8px; text-align: center; }
.home-news { width: fit-content; max-width: 100%; margin-inline: auto; text-align: left; }

.search-input { position: relative; }
.search-input input { padding-right: 48px; }
.search-input button {
    position: absolute; right: 0; top: 0; bottom: 0; width: 44px;
    border: 0; background: transparent; color: inherit; font-size: 24px; cursor: pointer;
}
.search-input button:focus-visible { outline: 2px solid #417398; outline-offset: -3px; }

/* master page search bar */
.mastersearch {
    position: relative;
    display: inline-block;
    width: 280px;
}
.mastersearch input[type=text] {
    background-color: #f1f1f1;
    width: 100%;
    padding: 8px 10px;
    font-size: 15px;
    border: 1px solid #ccc;
}
.mastersearch-items {
    position: absolute;
    border: 1px solid #d4d4d4;
    border-top: none;
    z-index: 9999;
    top: 100%;
    left: 0;
    right: 0;
    text-align: left;
}
.mastersearch-items div {
    padding: 8px 10px;
    cursor: pointer;
    background-color: #fff;
    border-bottom: 1px solid #d4d4d4;
    font-size: 14px;
}
.mastersearch-items div:hover {
    background-color: #e9e9e9;
}
.mastersearch-active {
    background-color: #417398 !important;
    color: #ffffff !important;
}

.master-search-bar { padding: 10px 12px; background-color: #fcf9ef; display: flex; align-items: center; justify-content: center; gap: 8px; }
.master-search-bar .mastersearch { min-width: 0; max-width: 280px; flex: 1 1 280px; }
.master-search-bar .button { padding: 8px 14px; flex-shrink: 0; }

@media (max-width: 600px) {
    .master-search-bar { gap: 0; }
    .master-search-bar .mastersearch { max-width: none; }
    .master-search-bar .button { margin: 0; padding: 8px 4px; }
    .mastersearch input[type=text] { font-size: 16px; padding: 8px; }
}
