/* Regular pages, search results and 404. Loaded only on those views. */
.page-shell,
.search-shell,
.error-404-shell {
  min-height: 60vh;
  color: #171a20;
}

.page-shell__container,
.search-shell__container {
  max-width: 1050px;
  padding: 55px 28px 110px;
}

.page-shell__container {
  max-width: 1366px;
  padding-right: 0;
  padding-left: 0;
}

.page-entry,
.search-header,
.search-empty {
  border: 1px solid #e0e3ec;
  border-radius: 10px;
  background: #fff;
}

.page-entry {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.page-entry__breadcrumbs {
  margin-bottom: 22px;
  color: #7d828d;
  font-size: 12px;
}

.page-entry__breadcrumbs p { margin: 0; }
.page-entry__breadcrumbs a { color: #626976; }

.page-entry__title,
.search-header__title {
  margin: 0;
  color: #11151c;
  font-size: clamp(27px, 4vw, 40px);
  line-height: 1.45;
}

.page-entry__header { margin-bottom: 35px; }

.page-entry__content {
  color: #303540;
  font-size: 16px;
  line-height: 2.1;
}

.page-entry__content > * + * { margin-top: 1.25em; }
.page-entry__content ul,
.page-entry__content ol { padding-right: 1.4em; }
.page-entry__content a { color: #075397; text-decoration: underline; }
.page-entry__content img { border-radius: 7px; }
.page-entry__content iframe { max-width: 100%; }

.page-entry__pagination,
.navigation.pagination { margin-top: 35px; }

.page-entry__pagination,
.nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.page-entry__pagination a,
.page-entry__pagination > span,
.nav-links .page-numbers {
  display: inline-flex;
  min-width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px solid #d9dde8;
  border-radius: 5px;
  background: #fff;
  color: #333946;
}

.nav-links .current,
.page-entry__pagination > span {
  border-color: #075397;
  background: #075397;
  color: #fff;
}

.search-header {
  margin-bottom: 24px;
  padding: 35px 40px;
}

.search-header__eyebrow {
  margin-bottom: 7px;
  color: #075397;
  font-size: 13px;
  font-weight: 700;
}

.search-header__count {
  margin: 10px 0 22px;
  color: #777e8a;
  font-size: 13px;
}

.ut-search-form {
  display: flex;
  width: min(100%, 620px);
  gap: 10px;
}

.ut-search-form__field {
  min-width: 0;
  height: 48px;
  flex: 1;
  padding: 0 16px;
  border: 1px solid #d5d9e3;
  border-radius: 6px;
  background: #fff;
  color: #171a20;
  font: inherit;
}

.ut-search-form__field:focus {
  border-color: #075397;
  outline: 2px solid rgba(7, 83, 151, .12);
}

.ut-search-form__submit,
.error-404__home {
  display: inline-flex;
  height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 25px;
  border: 0;
  border-radius: 6px;
  background: #075397;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

.search-results {
  display: grid;
  gap: 14px;
}

.search-results__item {
  padding: 18px;
  border: 1px solid #e0e3ec;
  border-radius: 8px;
  background: #fff;
}

.search-empty {
  padding: 45px;
  text-align: center;
}

.search-empty h2 { margin-bottom: 10px; font-size: 25px; }
.search-empty p { color: #6f7580; }

.error-404 {
  max-width: 760px;
  padding: 80px 28px 120px;
  text-align: center;
}

.error-404__code {
  margin: 0;
  color: #075397;
  font-size: clamp(90px, 20vw, 170px);
  font-weight: 800;
  line-height: 1;
  opacity: .14;
}

.error-404__title {
  margin: -28px 0 12px;
  font-size: clamp(27px, 5vw, 40px);
}

.error-404__description {
  max-width: 600px;
  margin: 0 auto 28px;
  color: #666d79;
  line-height: 2;
}

.error-404__search { display: flex; justify-content: center; }
.error-404__home { margin-top: 14px; background: #171a20; }

@media (max-width: 1180px) {
  .page-shell__container {
    padding-right: 16px;
    padding-left: 16px;
  }
}

@media (max-width: 640px) {
  .search-shell__container { padding: 28px 12px 70px; }

  .page-shell__container { padding: 28px 15px 70px; }

  .page-entry,
  .search-header,
  .search-empty { padding: 25px 18px 32px; }

  .page-entry { padding: 0; }

  .page-entry__header { margin-bottom: 24px; }
  .page-entry__content { font-size: 15px; }
  .ut-search-form { flex-direction: column; }
  .ut-search-form__submit { width: 100%; }
  .error-404 { padding: 55px 16px 80px; }
  .error-404__title { margin-top: -15px; }
}
