/* ===== top bar company search: rich dropdown (vanilla JS, no jQuery UI) ===== */
/* the panel's z-index has to stay below the fixed header's 1030: it is absolute
   and scrolls with the page, so at 1060 it painted over the bar */
.tl-search-anchor { position: relative; }
.tl-search-panel { display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 1020; background: #fff; border: 1px solid #ddd; border-radius: 4px !important; box-shadow: 0 4px 12px rgba(0, 0, 0, .15); max-height: 70vh; overflow-y: auto; -webkit-overflow-scrolling: touch; text-align: left; }
.tl-search-panel.tl-search-open { display: block; }
.tl-sr { border-bottom: 1px solid #eee; padding: 8px 12px; cursor: pointer; }
.tl-sr:last-child { border-bottom: none; }
.tl-sr-active, .tl-sr:hover { background: #f5f8fa; }
.tl-sr-main { display: flex; align-items: center; text-decoration: none; color: #333; }
.tl-sr-main:hover, .tl-sr-main:focus { text-decoration: none; color: #333; }
.tl-sr-logo { width: 36px; height: 28px; object-fit: contain; margin-right: 10px; flex: 0 0 auto; }
.tl-sr-body { min-width: 0; flex: 1 1 auto; }
.tl-sr-name { display: block; font-size: 14px; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tl-sr-name strong { font-weight: 700; }
.tl-sr-meta { display: block; font-size: 12px; color: #777; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tl-sr-sep { margin: 0 5px; color: #bbb; }
.tl-sr-meta .tl-sr-rating { font-size: 11px; padding: 1px 5px; font-weight: 700; border-radius: 3px !important; color: #fff; opacity: .8; }
/* self-contained rating colors (landing pages do not load main.css) */
.tl-sr-rating.aa_rating { background-color: #257C00 !important; }
.tl-sr-rating.a_rating { background-color: #3F7E00 !important; }
.tl-sr-rating.b_rating { background-color: #5BA829 !important; }
.tl-sr-rating.c_rating { background-color: #9ACD32 !important; }
.tl-sr-rating.d_rating { background-color: #EDD614 !important; }
.tl-sr-rating.e_rating { background-color: #FFBA00 !important; }
.tl-sr-rating.f_rating { background-color: #FF7800 !important; }
.tl-sr-links { display: block; margin: 6px 0 0 46px; }
.tl-sr-links a { display: inline-block; font-size: 12px; line-height: 1.4; padding: 3px 9px; margin: 0 6px 4px 0; border: 1px solid #ddd; border-radius: 12px !important; color: #31708f; background: #fff; text-decoration: none; }
.tl-sr-links a:hover, .tl-sr-links a:focus { background: #eef6fb; border-color: #31708f; text-decoration: none; }
.tl-sr-links a.tl-sr-link-jobs { color: #3F7E00; }
.tl-sr-links a.tl-sr-link-jobs:hover, .tl-sr-links a.tl-sr-link-jobs:focus { background: #f0f7e8; border-color: #3F7E00; }
.tl-sr-count { font-weight: 700; }
.tl-search-empty { padding: 12px; color: #777; font-size: 13px; }
.tl-search-heading { padding: 8px 12px 4px; color: #999; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }

/* ===== mobile search overlay (the magnifier itself is .tl-bar-search) ===== */
.mobile-search-overlay { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 2000; background: rgba(0, 0, 0, .45); border-radius: 0 !important; }
.mobile-search-overlay.mobile-search-open { display: block; }
.mobile-search-bar { display: flex; align-items: center; background: #fff; padding: 10px 12px; box-shadow: 0 2px 6px rgba(0, 0, 0, .2); border-radius: 0 !important; }
.mobile-search-bar .search_box { flex: 1 1 auto; height: 44px; font-size: 16px; }
.mobile-search-close { flex: 0 0 auto; width: 44px; height: 44px; margin-left: 8px; background: transparent; border: none; font-size: 28px; line-height: 1; color: #6B7A96; }
.mobile-search-results.tl-search-panel { position: static; border: none; border-radius: 0 !important; box-shadow: none; max-height: calc(100vh - 64px); background: #fff; }
.mobile-search-results .tl-sr { padding: 12px; }
.mobile-search-results .tl-sr-main { min-height: 44px; }
.mobile-search-results .tl-sr-links a { padding: 7px 12px; margin: 0 8px 6px 0; font-size: 13px; }
body.mobile-search-noscroll { overflow: hidden; }

