/* OSG Additional CSS — cleaned September 12, 2026.
 * INSTALL: Appearance > Customize > Additional CSS.
 * Replace ALL existing Additional CSS with this entire file, then Publish.
 * Includes one copy of the main job-board layout and shared search controls.
 * Keeps the supplied logo/header styles and inherits fonts from the theme.
 * Only the current OSU-Cascades listing receives the yellow highlight.
 */

/* 1. Readability for job listings, directories, and forms */
.entry-content .job-type.full-time { color: #2f6b00 !important; }
.entry-content .job-type:not(.full-time) { color: #8b3a00 !important; }
.entry-content .text-muted { color: #514b5b !important; }
.entry-content .alert-info,
.entry-content .alert-info a { color: #075b66 !important; }
.entry-content .leaflet-bar a { color: #333333 !important; }
.entry-content .select2-selection__choice__remove { color: #333333 !important; }
.entry-content a.monthly-day-event { color: #000000 !important; }

.entry-content .jm-ui-button {
  background-color: #1559ed !important;
  border-color: #1559ed !important;
  color: #ffffff !important;
}

.entry-content .jm-ui-button span { color: #ffffff !important; }

@media (max-width: 767px) {
  .single-job_listing .entry-header .page-title {
    font-size: clamp(1.8rem, 7.2vw, 2.25rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.025em;
  }
}

/* 2. Optimized OSG logo */
#osg-branded-menu img.osg-logo {
  content: url("https://i0.wp.com/oregonsecurityguide.com/wp-content/uploads/2026/05/OSGLogo.png?w=520&quality=85&strip=all");
  display: block;
  width: 260px;
  height: 260px;
  max-width: 100%;
  min-width: 0;
  aspect-ratio: 1;
  object-fit: contain;
  image-rendering: auto;
}

@media (max-width: 680px) {
  #osg-branded-menu img.osg-logo {
    width: 184px;
    height: 184px;
  }
}

/* Preserve the existing masthead arrangement for the current OSU feature. */
@supports selector(:has(a)) {
  #osg-branded-menu .osg-masthead:has(.osg-job-button[href="https://oregonsecurityguide.com/job/osu-cascades-campus-safety-officer-bend/"]) {
    grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.4fr);
  }

  @media (max-width: 900px) {
    #osg-branded-menu .osg-masthead:has(.osg-job-button[href="https://oregonsecurityguide.com/job/osu-cascades-campus-safety-officer-bend/"]) {
      grid-template-columns: minmax(0, 1fr);
    }
  }
}

/* 3. Compact featured job — one layout for desktop and mobile */
#osg-branded-menu .osg-header .osg-masthead .osg-feature {
  --osg-feature-radius: 8px;
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  overflow: visible;
  color: #ffffff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto 1fr;
  gap: 0 20px;
  align-items: start;
  width: 100%;
  min-width: 0;
  max-width: none;
  padding: 18px;
  border: 1px solid #39442a;
  border-left: 4px solid #b5ed24;
  border-radius: var(--osg-feature-radius);
  background: #172011;
  box-shadow: none;
}

/* Remove the decorative employer tile, preserving the job-link overlay. */
#osg-branded-menu .osg-header .osg-masthead .osg-feature::before {
  content: none;
  display: none;
  background-image: none;
}

#osg-branded-menu .osg-header .osg-masthead .osg-feature .osg-feature-label {
  grid-column: 1;
  grid-row: 1;
  margin: 0 0 7px;
  color: #c4ee75;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

#osg-branded-menu .osg-header .osg-masthead .osg-feature .osg-job-title {
  grid-column: 1;
  grid-row: 2;
  margin: 0 0 7px;
  color: #f5f7f1;
  font-family: inherit;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  text-shadow: none;
  overflow-wrap: anywhere;
}

#osg-branded-menu .osg-header .osg-masthead .osg-feature .osg-job-meta {
  grid-column: 1;
  grid-row: 3;
  margin: 0;
  color: #c5cebd;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

#osg-branded-menu .osg-header .osg-masthead .osg-feature .osg-job-bottom {
  position: static;
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  transform: none;
  overflow: visible;
}

#osg-branded-menu .osg-header .osg-masthead .osg-feature .osg-job-pay {
  color: #f5f7f1;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

#osg-branded-menu .osg-header .osg-masthead .osg-feature .osg-job-button {
  position: static;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 44px;
  max-width: 100%;
  padding: 10px 16px;
  border: 1px solid #b5ed24;
  border-radius: 5px;
  background: #b5ed24;
  color: #18200d;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  white-space: normal;
  transform: none;
}

@media (max-width: 680px) {
  #osg-branded-menu .osg-header .osg-masthead .osg-feature {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    gap: 0;
    width: auto;
    max-width: calc(100% - 36px);
    margin: 0 18px 16px;
    padding: 16px;
  }

  #osg-branded-menu .osg-header .osg-masthead .osg-feature .osg-job-bottom {
    grid-column: 1;
    grid-row: 4;
    align-self: stretch;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px 12px;
    margin-top: 12px;
  }
}

@media (max-width: 380px) {
  #osg-branded-menu .osg-header .osg-masthead .osg-feature .osg-job-bottom {
    flex-direction: column;
    align-items: stretch;
  }

  #osg-branded-menu .osg-header .osg-masthead .osg-feature .osg-job-button {
    width: 100%;
  }
}

#osg-branded-menu .osg-header .osg-masthead .osg-feature :is(.osg-feature-label, .osg-job-title, .osg-job-meta) {
  min-width: 0;
}

#osg-branded-menu .osg-header .osg-masthead .osg-feature .osg-feature-label { display: block; }

#osg-branded-menu .osg-header .osg-masthead .osg-feature .osg-feature-label::before,
#osg-branded-menu .osg-header .osg-masthead .osg-feature .osg-feature-label::after {
  content: none;
  display: none;
}

/* Retain the current feature's keyboard focus and whole-card link behavior.
 * The overlay is enabled only when the job button is the card's sole link.
 */
@supports selector(:has(a)) {
  #osg-branded-menu .osg-header .osg-masthead .osg-feature:has(.osg-job-button[href="https://oregonsecurityguide.com/job/osu-cascades-campus-safety-officer-bend/"]):not(:has(a:not(.osg-job-button))) .osg-job-button::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: var(--osg-feature-radius);
    cursor: pointer;
  }

  #osg-branded-menu .osg-header .osg-masthead .osg-feature:has(.osg-job-button:focus-visible) {
    outline: 3px solid #b8f53d;
    outline-offset: 4px;
  }

  @media (hover: hover) {
    #osg-branded-menu .osg-header .osg-masthead .osg-feature:has(.osg-job-button[href="https://oregonsecurityguide.com/job/osu-cascades-campus-safety-officer-bend/"]):hover {
      border-color: #b8f53d;
      box-shadow: 0 0 0 1px #b8f53d;
    }

    #osg-branded-menu .osg-header .osg-masthead .osg-feature:has(.osg-job-button[href="https://oregonsecurityguide.com/job/osu-cascades-campus-safety-officer-bend/"]):hover .osg-job-button {
      background: #d0ff76;
      border-color: #d0ff76;
      color: #15200d;
    }
  }
}

/* 4. Main Oregon job-board layout — page 4119 only */
body.page-id-4119 #main {
  background:#f6f7f3;
}

body.page-id-4119 #post-4119 .entry-header {
  margin-bottom:24px;
}

body.page-id-4119 #post-4119 .page-title {
  color:#151a13;
  font-size:clamp(28px,4vw,42px);
  line-height:1.16;
  letter-spacing:-.025em;
}

body.page-id-4119 #ez-toc-container {
  display:none;
}

#post-4119 .osg-jobs-hub {
  --osgj-accent:#b1ef00;
  --osgj-ink:#182015;
  --osgj-muted:#4b5747;
  --osgj-line:#d8dfd2;
  --osgj-paper:var(--wp--preset--color--white,#fff);
  color:var(--osgj-ink);
  font-size:16px;
  line-height:1.6;
}

#post-4119 .osg-jobs-hub * {
  box-sizing:border-box;
}

#post-4119 .osg-jobs-hub h2,#post-4119 .osg-jobs-hub h3 {
  color:var(--osgj-ink);
  line-height:1.25;
  letter-spacing:-.015em;
  margin:0 0 12px;
}

#post-4119 .osg-jobs-hub h2 {
  font-size:clamp(23px,3vw,30px);
}

#post-4119 .osg-jobs-hub h3 {
  font-size:20px;
}

#post-4119 .osg-jobs-hub p {
  margin:0 0 16px;
}

#post-4119 .osg-jobs-hub a {
  color:#355313;
  text-decoration:underline;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}

#post-4119 .osg-jobs-hub a:hover {
  color:#182b04;
}

#post-4119 .osg-jobs-hub a:focus-visible,#post-4119 .osg-jobs-hub summary:focus-visible,#post-4119 .osg-jobs-hub input:focus-visible,#post-4119 .osg-jobs-hub select:focus-visible {
  outline:3px solid #5f8f00;
  outline-offset:3px;
}

#post-4119 .osgj-hero {
  padding:clamp(22px,4vw,34px);
  border-radius:16px;
  background:linear-gradient(115deg,#11170d,#26331b);
  border-top:4px solid var(--osgj-accent);
  color:#edf2e8;
}

#post-4119 .osgj-hero .osgj-kicker {
  color:var(--osgj-accent);
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin:0 0 10px;
}

#post-4119 .osgj-hero h2 {
  font-size:clamp(26px,4vw,38px);
  color:#fff;
  max-width:760px;
}

#post-4119 .osgj-hero p {
  max-width:770px;
  color:#e0e8d9;
}

#post-4119 .osgj-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:20px;
}

#post-4119 .osgj-actions a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 18px;
  border-radius:8px;
  background:var(--osgj-accent);
  border:1px solid var(--osgj-accent);
  color:#152000;
  font-weight:700;
  text-decoration:none;
  line-height:1.4;
}

#post-4119 .osgj-actions a:hover {
  background:#c7ff3f;
  border-color:#c7ff3f;
  color:#152000;
}

#post-4119 .osgj-actions a.osgj-secondary {
  color:#fff;
  background:transparent;
  border-color:#91a57b;
}

#post-4119 .osgj-actions a.osgj-secondary:hover {
  background:#344729;
}

#post-4119 .osgj-hero .osgj-hiring {
  font-size:14px;
  margin:18px 0 0;
  color:#dce6d3;
}

#post-4119 .osgj-hero .osgj-hiring a {
  color:#d2ff88;
  font-weight:600;
}

#post-4119 .osgj-browse {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:18px 0 28px;
}

#post-4119 .osgj-browse details {
  background:var(--osgj-paper);
  border:1px solid var(--osgj-line);
  border-radius:10px;
  min-width:0;
  align-self:start;
}

#post-4119 .osgj-browse summary {
  padding:15px 18px;
  font-weight:700;
  cursor:pointer;
  color:#1c2b12;
  min-height:54px;
}

#post-4119 .osgj-browse summary::marker {
  color:#547d0b;
}

#post-4119 .osgj-browse details[open] summary {
  border-bottom:1px solid var(--osgj-line);
}

#post-4119 .osgj-link-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  padding:12px;
  gap:6px;
}

#post-4119 .osgj-link-grid a {
  display:flex;
  align-items:center;
  min-height:44px;
  padding:9px 10px;
  border-radius:6px;
  line-height:1.4;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  background:#f3f6ef;
}

#post-4119 .osgj-link-grid a:hover {
  background:#e7f3d4;
  color:#233d04;
}

#post-4119 .osg-job-search {
  scroll-margin-top:24px;
  background:var(--osgj-paper);
  padding:clamp(18px,3vw,28px);
  border:1px solid var(--osgj-line);
  border-radius:14px;
  margin:0 0 20px;
}

#post-4119 .osg-job-search>p {
  color:var(--osgj-muted);
}

#post-4119 .osg-job-search div.job_listings {
  margin-bottom:0;
}

#post-4119 .osg-job-search ul.job_listings {
  border:0;
  padding:0;
  margin:18px 0 0;
}

#post-4119 .osg-job-search ul.job_listings li.job_listing {
  margin:0 0 12px;
  border:1px solid #dce2d6;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}

#post-4119 .osg-job-search ul.job_listings li.job_listing>a {
  color:#182015;
  text-decoration:none;
  background:#fff;
  padding:18px;
}

#post-4119 .osg-job-search ul.job_listings li.job_listing>a:hover {
  background:#f5faed;
}

#post-4119 .osg-job-search ul.job_listings li.job_listing .position h3 {
  font-size:18px;
  line-height:1.35;
  margin:0 0 5px;
  color:#213a0e;
}

#post-4119 .osg-job-search ul.job_listings li.job_listing .company,#post-4119 .osg-job-search ul.job_listings li.job_listing .location,#post-4119 .osg-job-search ul.job_listings li.job_listing .meta {
  color:#4b5943;
  font-size:14px;
  line-height:1.5;
}

#post-4119 .osg-job-search img.company_logo {
  object-fit:contain;
  background:#fff;
  border:1px solid #e0e6da;
  border-radius:7px;
  padding:3px;
}

#post-4119 .osg-job-search .job-manager-pagination {
  padding:12px 0;
}

#post-4119 .osgj-note {
  font-size:13px;
  color:var(--osgj-muted);
  margin-top:16px;
}

#post-4119 .osgj-alert {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px;
  background:#eaf4dc;
  border:1px solid #c8dda9;
  border-radius:12px;
  margin:22px 0 36px;
}

#post-4119 .osgj-alert h2 {
  font-size:22px;
  margin-bottom:6px;
}

#post-4119 .osgj-alert p {
  font-size:15px;
  margin:0;
  color:#405333;
}

#post-4119 .osgj-alert>a {
  flex-shrink:0;
  font-weight:700;
  background:#263c15;
  color:#fff;
  text-decoration:none;
  border-radius:7px;
  padding:12px 16px;
  min-height:46px;
}

#post-4119 .osgj-section {
  margin:34px 0;
}

#post-4119 .osgj-cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

#post-4119 .osgj-card {
  padding:23px;
  background:var(--osgj-paper);
  border:1px solid var(--osgj-line);
  border-radius:12px;
  min-width:0;
}

#post-4119 .osgj-card .osgj-step {
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
  color:#56733e;
  margin-bottom:12px;
}

#post-4119 .osgj-card p {
  color:var(--osgj-muted);
  font-size:15px;
}

#post-4119 .osgj-card ul {
  margin:0;
  padding-left:19px;
}

#post-4119 .osgj-card li {
  margin:9px 0;
  font-size:15px;
}

#post-4119 .osgj-apply {
  background:var(--osgj-paper);
  border:1px solid var(--osgj-line);
  border-radius:12px;
  padding:24px;
}

#post-4119 .osgj-checks {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 28px;
  margin:0;
  padding-left:22px;
}

#post-4119 .osgj-checks li {
  padding-left:3px;
  margin:0;
  color:#405036;
  font-size:15px;
}

#post-4119 .osgj-official-list {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

#post-4119 .osgj-official-list li {
  padding:18px;
  border-left:3px solid #94b46c;
  background:#eef2e8;
  border-radius:0 8px 8px 0;
}

#post-4119 .osgj-official-list a {
  font-weight:700;
}

#post-4119 .osgj-official-list span {
  display:block;
  color:#4a5940;
  font-size:14px;
  margin-top:6px;
}

#post-4119 .osgj-employers {
  padding:28px;
  border-radius:14px;
  background:#182212;
  color:#e7efde;
  margin:36px 0 0;
}

#post-4119 .osgj-employers h2 {
  color:#fff;
}

#post-4119 .osgj-employers p {
  max-width:760px;
  color:#e0e8d9;
}

@media(max-width:760px) {
  #post-4119 .osgj-cards {
    grid-template-columns:1fr;
  }

  #post-4119 .osgj-official-list {
    grid-template-columns:1fr;
  }

  #post-4119 .osgj-checks {
    grid-template-columns:1fr;
  }

  #post-4119 .osgj-alert {
    align-items:flex-start;
    flex-direction:column;
  }

  #post-4119 .osgj-alert>a {
    width:100%;
    text-align:center;
  }
}

@media(max-width:560px) {
  #post-4119 .osgj-browse {
    grid-template-columns:1fr;
    gap:8px;
    margin:12px 0 20px;
  }

  #post-4119 .osgj-browse summary {
    padding:12px 16px;
    min-height:48px;
  }

  #post-4119 .osgj-actions a {
    flex:1 1 140px;
  }

  #post-4119 .osgj-card,#post-4119 .osgj-apply,#post-4119 .osgj-employers {
    padding:20px;
  }

  #post-4119 .osg-job-search ul.job_listings li.job_listing>a {
    padding:15px;
  }
}

@media(max-width:560px) {
  #post-4119 .osg-job-search {
    padding:14px;
  }
}

/* 5. Shared search controls for the main board and city job pages */
#main div.job_listings form.job_filters {
  background:#f1f5ec;
  border:1px solid #d5dfca;
  border-radius:10px;
  overflow:visible;
  font-family:inherit;
  font-size:16px;
  line-height:1.6;
  max-width:100%;
  box-sizing:border-box;
}

#main div.job_listings form.job_filters .search_jobs {
  padding:18px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

#main div.job_listings form.job_filters .search_jobs:before,#main div.job_listings form.job_filters .search_jobs:after {
  display:none;
}

#main div.job_listings form.job_filters .search_jobs>div {
  float:none;
  width:auto;
  padding:0;
  min-width:0;
}

#main div.job_listings form.job_filters .search_keywords>label,#main div.job_listings form.job_filters .search_location>label,#main div.job_listings form.job_filters .search_categories>label {
  display:block;
  margin-bottom:6px;
  font-size:13px;
  font-weight:700;
  color:#2b3c21;
}

#main div.job_listings form.job_filters .search_keywords > input[type="text"],
#main div.job_listings form.job_filters .search_location > input[type="text"],
#main div.job_listings form.job_filters .search_categories > select:not(.select2-hidden-accessible) {
  width:100%;
  min-height:46px;
  background:#fff;
  color:#182015;
  border:1px solid #aebda1;
  border-radius:7px;
  padding:10px 12px;
  font-size:16px;
  font-family:inherit;
}

#main div.job_listings form.job_filters input::placeholder {
  color:#626d5b;
  opacity:1;
}

#main div.job_listings form.job_filters .search_jobs>.search_remote_position,#main div.job_listings form.job_filters .search_jobs>.search_categories,#main div.job_listings form.job_filters .search_jobs>.search_submit,#main div.job_listings form.job_filters .search_jobs>.filter_by_tag {
  grid-column:1/-1;
}

#main div.job_listings form.job_filters .search_jobs>div:empty {
  display:none;
}

#main div.job_listings form.job_filters .search_remote_position label {
  color:#36472b;
  font-size:14px;
}

#main div.job_listings form.job_filters .search_submit input {
  width:100%;
  min-height:46px;
  background:#263c15;
  color:#fff;
  border:1px solid #263c15;
  border-radius:7px;
  font-weight:700;
  font-family:inherit;
  font-size:16px;
}

#main div.job_listings form.job_filters .search_submit input:hover {
  background:#3a551f;
}

#main div.job_listings form.job_filters .select2-container {
  width:100%!important;
  color:#182015;
}

#main div.job_listings form.job_filters .select2-selection {
  min-height:46px;
  border:1px solid #aebda1;
  border-radius:7px;
  background:#fff;
}

#main div.job_listings form.job_filters .filter_by_tag {
  font-size:13px;
  color:#435436;
  max-height:190px;
  overflow:auto;
}

#main div.job_listings form.job_filters .filter_by_tag a {
  display:inline-block;
  margin:4px;
  padding:5px 8px;
  border-radius:5px;
  background:#fff;
  border:1px solid #d5dfca;
  font-size:13px!important; /* Override the tag cloud’s inline size. */
  line-height:1.5;
  text-decoration:none;
}

#main div.job_listings form.job_filters ul.job_types {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:14px 18px;
  margin:0;
  border-top:1px solid #d5dfca;
  background:#fff;
}

#main div.job_listings form.job_filters ul.job_types li {
  float:none;
  border:0;
  padding:0;
  margin:0;
  list-style:none;
}

#main div.job_listings form.job_filters ul.job_types label {
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  font-size:13px;
  line-height:1.4;
  color:#34462a;
  background:#f1f5ec;
  border:1px solid #dce5d3;
  border-radius:6px;
  cursor:pointer;
  min-height:38px;
}

#main div.job_listings form.job_filters input[type=checkbox] {
  accent-color:#42631c;
}

#main div.job_listings form.job_filters .showing_jobs {
  font-size:14px;
  padding:12px 18px;
  color:#405332;
  background:#f7faf3;
}

#main div.job_listings form.job_filters * {
  box-sizing:border-box;
}

#main div.job_listings form.job_filters a {
  color:#355313;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}

#main div.job_listings form.job_filters :is(input,select,button,a):focus-visible {
  outline:3px solid #5f8f00;
  outline-offset:3px;
}

@media(max-width:560px) {
  #main div.job_listings form.job_filters .search_jobs {
    grid-template-columns:1fr;
    padding:14px;
  }

  #main div.job_listings form.job_filters ul.job_types {
    padding:12px;
    gap:6px;
  }

  #main div.job_listings form.job_filters ul.job_types label {
    padding:7px 8px;
  }

}

/* Keep remote-only controls aligned and selected categories readable. */
#main div.job_listings form.job_filters .search_remote_position {
  display:flex;
  align-items:center;
  gap:8px;
}

#main div.job_listings form.job_filters .search_remote_position input,
#main div.job_listings form.job_filters .search_remote_position label {
  margin:0;
}

#main div.job_listings form.job_filters .select2-selection__choice {
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}

#main div.job_listings form.job_filters .select2-selection:focus-visible,
#main div.job_listings form.job_filters .select2-container--focus .select2-selection {
  outline:3px solid #5f8f00;
  outline-offset:3px;
}

/* The plugin uses .active for selected tags. */
#main div.job_listings form.job_filters .filter_by_tag a:hover {
  background:#e7f3d4;
  border-color:#90ad69;
}

#main div.job_listings form.job_filters .filter_by_tag a.active,
#main div.job_listings form.job_filters .filter_by_tag a.active:hover {
  background:#263c15;
  border-color:#263c15;
  color:#fff;
  text-decoration:none;
}

/* Hide the empty tag row until the plugin has supplied tags. */
@supports selector(:has(*)) {
  #main div.job_listings form.job_filters .filter_by_tag:has(> .filter_by_tag_cloud:empty) {
    display:none;
  }
}

/* 6. Yellow listing highlight: current OSU-Cascades promotion only.
 * When the featured job changes, replace the OSU URL in this section.
 * This controls appearance; job data and search filtering are untouched.
 */
#main div.job_listings ul.job_listings li.job_listing,
#main div.job_listings ul.job_listings li.job_listing > a {
  background:#fff !important;
}

#main div.job_listings ul.job_listings li.job_listing > a:hover {
  background:#f5f7f2 !important;
}

#main div.job_listings ul.job_listings li.job_listing > a[href="https://oregonsecurityguide.com/job/osu-cascades-campus-safety-officer-bend/"],
#main div.job_listings ul.job_listings li.job_listing > a[href="https://oregonsecurityguide.com/job/osu-cascades-campus-safety-officer-bend/"]:hover {
  background:#fff6c9 !important;
}

@supports selector(:has(a)) {
  #main div.job_listings ul.job_listings li.job_listing:has(> a[href="https://oregonsecurityguide.com/job/osu-cascades-campus-safety-officer-bend/"]) {
    background:#fff6c9 !important;
    border-left:4px solid #d6a900;
  }
}