/* Only applies inside the TE Jobs Directory page template. */
body.te-paylocity-directory { overflow-x: clip; }
#te-jobs-directory { padding: 0; }
#te-jobs-directory .te-job-hero {
  box-sizing: border-box;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
body.te-paylocity-directory .lnbTitleBar1,
body.te-paylocity-directory .hypercore-page-title-bar { display: none; }
.te-jobs-directory .job_listings { width: 100%; margin: 0; }
.te-jobs-directory .job_listings ul,
.te-jobs-directory .job_listings li { list-style: none !important; }
/* Neutralize theme checkmark bullets in WP Job Manager's interface. */
.te-jobs-directory .job_listings li::before,
.te-jobs-directory .job_listings li::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
.te-jobs-directory .job_filters {
  padding: 24px;
  border: 1px solid #d9dfe5;
  border-radius: 12px;
  background: #fff;
  margin-bottom: 24px;
}
.te-jobs-directory .job_filters .search_jobs { padding: 0; background: transparent; }
.te-jobs-directory .job_filters input[type="text"],
.te-jobs-directory .job_filters select {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid #b8c3cd;
  border-radius: 6px;
  background: #fff;
  color: #333;
  font-size: 16px;
}
.te-jobs-directory .job_filters input[type="submit"] {
  min-height: 46px;
  padding: 12px 24px;
  margin-top: 12px;
  border: 0;
  border-radius: 24px;
  background: #1676c6;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}
.te-jobs-directory .job_filters .job_types {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  padding: 18px 0 0;
  margin: 18px 0 0;
  border: 0;
  border-top: 1px solid #e1e5e9;
  background: transparent;
}
.te-jobs-directory .job_filters .job_types li {
  float: none;
  margin: 0;
  padding: 0;
  border: 0;
}
.te-jobs-directory .job_types label { display: inline-flex; align-items: center; gap: 7px; font-size: 15px; }
.te-jobs-directory .job_types input[type="checkbox"] { margin: 0; width: 16px; height: 16px; }
.te-jobs-directory .showing_jobs { padding: 12px 0; background: transparent; }
.te-jobs-directory ul.job_listings { margin: 0; padding: 0; border: 0; }
.te-jobs-directory ul.job_listings > li.job_listing {
  margin: 0 0 16px;
  padding: 0;
  border: 1px solid #d9dfe5;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.te-jobs-directory ul.job_listings > li.job_listing > a {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) minmax(130px, 180px);
  grid-template-areas: "logo title meta" "logo location meta";
  gap: 8px 20px;
  align-items: center;
  box-sizing: border-box;
  position: relative;
  min-height: 112px;
  padding: 24px !important;
  text-decoration: none;
}
.te-jobs-directory ul.job_listings > li.job_listing > a:hover,
.te-jobs-directory ul.job_listings > li.job_listing > a:focus-visible { background: #f2f7fc; }
.te-jobs-directory ul.job_listings li.job_listing a img.company_logo {
  grid-area: logo;
  position: static !important;
  float: none !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  object-fit: contain;
  transform: none;
}
.te-jobs-directory ul.job_listings li.job_listing a .position,
.te-jobs-directory ul.job_listings li.job_listing a .location,
.te-jobs-directory ul.job_listings li.job_listing a .meta {
  position: static !important;
  float: none !important;
  box-sizing: border-box;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  clear: none !important;
  text-align: left;
}
.te-jobs-directory ul.job_listings li.job_listing a .position { grid-area: title; }
.te-jobs-directory ul.job_listings li.job_listing a .location { grid-area: location; color: #58616b; font-size: 15px; }
.te-jobs-directory ul.job_listings li.job_listing a .meta { grid-area: meta; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.te-jobs-directory ul.job_listings li.job_listing a .meta li { float: none !important; display: block; width: auto; color: #58616b; font-size: 14px; }
.te-jobs-directory ul.job_listings li.job_listing a .meta .job-type { color: #1768aa; font-weight: 600; }
.te-jobs-directory ul.job_listings li.job_listing a .position h3 { margin: 0 0 6px; padding: 0; font-size: 20px; line-height: 1.3; }
.te-jobs-directory ul.job_listings li.job_listing a .meta { margin: 0; padding: 0; }
.te-jobs-directory ul.job_listings li.job_listing a .meta li { padding: 0; margin: 0 0 4px; }
@media (max-width: 767px) {
  .te-jobs-directory .job_filters { padding: 18px; }
  .te-jobs-directory .job_filters .search_jobs > div { float: none; width: 100%; padding: 0; margin-bottom: 12px; }
  .te-jobs-directory ul.job_listings > li.job_listing > a {
    grid-template-columns: 40px minmax(0, 1fr);
    grid-template-areas: "logo title" "logo location" ". meta";
    gap: 8px 14px;
    padding: 20px !important;
  }
  .te-jobs-directory ul.job_listings li.job_listing a img.company_logo { width: 40px !important; height: 40px !important; }
}
