/* 100life brand refresh - added by Codex 2026-10-07 */
:root {
  --life-navy: #172B4D;
  --life-rose: #B64A72;
  --life-gold: #C8A85A;
  --life-cream: #F7F4EF;
  --life-ink: #2B2B2B;
  --life-soft: #FFFFFF;
  --life-line: rgba(23, 43, 77, 0.12);
}

body {
  background: var(--life-cream);
  color: var(--life-ink);
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.75;
}

a {
  color: var(--life-navy);
}

a:hover,
a:focus {
  color: var(--life-rose);
  text-decoration: none;
}

.wrapper,
.container,
.main,
.main2 {
  background: transparent;
}

.navbar,
.header,
.navbar-default,
.navbar-inverse {
  background: var(--life-soft);
  border-color: var(--life-line);
  box-shadow: 0 8px 22px rgba(23, 43, 77, 0.08);
}

.navbar a,
.header a {
  color: var(--life-navy) !important;
}

.navbar .active a,
.navbar li.active > a,
.nav > li > a:hover,
.nav > li > a:focus {
  background: rgba(182, 74, 114, 0.08) !important;
  color: var(--life-rose) !important;
}

.btn-primary,
.btn-info,
.btn-success {
  background: var(--life-navy);
  border-color: var(--life-navy);
  color: #fff;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(23, 43, 77, 0.16);
}

.btn-primary:hover,
.btn-info:hover,
.btn-success:hover {
  background: var(--life-rose);
  border-color: var(--life-rose);
}

.panel,
.well,
.alert,
.list-group,
.card,
.content,
.main-content,
.contents,
#main,
#contents,
.container .row > div {
  border-radius: 14px;
}

.panel,
.well,
.content,
.main-content,
#main,
#contents {
  background: var(--life-soft);
  border: 1px solid var(--life-line);
  box-shadow: 0 12px 30px rgba(23, 43, 77, 0.08);
}

.panel-heading,
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  background: linear-gradient(90deg, var(--life-navy), #233B63);
  border-color: var(--life-navy);
  color: #fff;
}

h1,
h2,
h3,
h4 {
  color: var(--life-navy);
  letter-spacing: 0;
  font-weight: 700;
}

h2 {
  border-bottom: 2px solid var(--life-gold);
  padding-bottom: 0.35em;
}

h3 {
  color: var(--life-rose);
}

.alert-info,
.alert-success {
  background: #fff;
  border: 1px solid rgba(200, 168, 90, 0.42);
  color: var(--life-ink);
}

.alert-info:before,
.alert-success:before {
  color: var(--life-gold);
}

.breadcrumb,
.breadcrumb a {
  color: var(--life-navy);
}

.table > thead > tr > th,
.table > tbody > tr > th {
  background: rgba(23, 43, 77, 0.05);
  color: var(--life-navy);
}

.table > tbody > tr > td {
  border-color: rgba(23, 43, 77, 0.08);
}

.thumbnail,
a.thumbnail,
.dl-card,
.menu-card,
.link-card {
  border: 1px solid rgba(23, 43, 77, 0.10);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(23, 43, 77, 0.08);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  background: #fff;
}

.thumbnail:hover,
a.thumbnail:hover,
.dl-card:hover,
.menu-card:hover,
.link-card:hover {
  transform: translateY(-2px);
  border-color: rgba(182, 74, 114, 0.35);
  box-shadow: 0 14px 28px rgba(23, 43, 77, 0.12);
}

.glyphicon {
  color: var(--life-gold);
}

@media (max-width: 767px) {
  body {
    background: #fbfaf7;
  }

  .container,
  .main,
  .main2,
  #main,
  #contents {
    padding-left: 14px;
    padding-right: 14px;
  }

  .panel,
  .well,
  .content,
  .main-content,
  #main,
  #contents {
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(23, 43, 77, 0.07);
  }

  h2 {
    font-size: 22px;
  }

  h3 {
    font-size: 18px;
  }
}
/* end 100life brand refresh */

/* 100life brand refresh refinement - added by Codex 2026-10-07 */
.navbar.navbar-default,
.navbar-default.hidden-xs,
.btn-theme {
  background: #fff !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(23, 43, 77, 0.10) !important;
  box-shadow: 0 8px 24px rgba(23, 43, 77, 0.08) !important;
}

.navbar-default .navbar-nav > li > a {
  color: var(--life-navy) !important;
  font-weight: 700;
  padding-top: 16px;
  padding-bottom: 16px;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  background: rgba(182, 74, 114, 0.08) !important;
  color: var(--life-rose) !important;
}

.content02 {
  background: transparent !important;
}

.linkcard {
  margin-top: 18px;
  margin-bottom: 26px;
}

.linkcard .linkcard-items {
  border: 1px solid rgba(23, 43, 77, 0.10) !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 26px rgba(23, 43, 77, 0.08) !important;
  overflow: hidden;
}

.linkcard .linkcard-items a,
.linkcard .linkcard-items .panel-body {
  color: var(--life-navy) !important;
}

.linkcard .linkcard-items i.glyphicon,
.linkcard .linkcard-items .glyphicon {
  color: var(--life-rose) !important;
}

.linkcard .linkcard-items:hover {
  transform: translateY(-2px);
  border-color: rgba(200, 168, 90, 0.55) !important;
  box-shadow: 0 14px 30px rgba(23, 43, 77, 0.13) !important;
}

h2 {
  background: var(--life-navy) !important;
  color: #fff !important;
  border: 0 !important;
  border-left: 5px solid var(--life-gold) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  box-shadow: 0 8px 20px rgba(23, 43, 77, 0.12);
}

.panel h2,
.content02 h2 {
  margin-top: 18px;
}

.panel-default > .panel-heading {
  background: var(--life-navy) !important;
  background-image: none !important;
  color: #fff !important;
  border-color: var(--life-navy) !important;
}

.btn-default.dropdown-toggle {
  border-color: rgba(23, 43, 77, 0.16) !important;
  color: var(--life-navy) !important;
  border-radius: 6px !important;
}
/* end 100life brand refresh refinement */

/* 100life brand high-specificity overrides - added by Codex 2026-10-07 */
html body #wrapper .navbar.navbar-default,
html body #wrapper .navbar.navbar-default.hidden-xs {
  background: #ffffff !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(23, 43, 77, 0.10) !important;
  box-shadow: 0 8px 24px rgba(23, 43, 77, 0.08) !important;
}
html body #wrapper .navbar.navbar-default .navbar-nav > li > a {
  color: #172B4D !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
html body #wrapper .navbar.navbar-default .navbar-nav > .active > a,
html body #wrapper .navbar.navbar-default .navbar-nav > .active > a:hover,
html body #wrapper .navbar.navbar-default .navbar-nav > li > a:hover,
html body #wrapper .navbar.navbar-default .navbar-nav > li > a:focus {
  background: rgba(182, 74, 114, 0.08) !important;
  background-image: none !important;
  color: #B64A72 !important;
}
html body #wrapper .content02 h2,
html body #wrapper h2 {
  background: #172B4D !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 0 !important;
  border-left: 5px solid #C8A85A !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  text-shadow: none !important;
  box-shadow: 0 8px 20px rgba(23, 43, 77, 0.12) !important;
}
html body #wrapper .linkcard .linkcard-items i.glyphicon,
html body #wrapper .linkcard .linkcard-items .glyphicon {
  color: #B64A72 !important;
  text-shadow: none !important;
}
html body #wrapper .linkcard .linkcard-items .panel-body {
  color: #172B4D !important;
}
/* end 100life brand high-specificity overrides */

/* 100life page polish - added by Codex 2026-10-07 */
html body {
  background: #F7F4EF !important;
}

html body #wrapper {
  background: linear-gradient(180deg, #FFFFFF 0, #FFFFFF 128px, #F7F4EF 128px) !important;
}

html body #wrapper > .container,
html body #wrapper .content02 {
  max-width: 1040px;
}

html body #wrapper .content02 {
  padding-top: 28px !important;
  padding-bottom: 42px !important;
}

html body #wrapper .breadcrumb {
  background: rgba(255, 255, 255, 0.72) !important;
  border-top: 1px solid rgba(23, 43, 77, 0.06) !important;
  border-bottom: 1px solid rgba(23, 43, 77, 0.06) !important;
  margin-bottom: 0 !important;
}

html body #wrapper .linkcard {
  margin: 8px -7px 32px !important;
}

html body #wrapper .linkcard > [class*="col-"] {
  padding-left: 7px !important;
  padding-right: 7px !important;
}

html body #wrapper .linkcard .linkcard-items {
  margin-bottom: 14px !important;
  min-height: 164px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(23, 43, 77, 0.08) !important;
  box-shadow: 0 12px 28px rgba(23, 43, 77, 0.07) !important;
}

html body #wrapper .linkcard .linkcard-items a,
html body #wrapper .linkcard .linkcard-items .panel-body {
  min-height: 164px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 24px 16px !important;
  text-align: center !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

html body #wrapper .linkcard .linkcard-items i.glyphicon,
html body #wrapper .linkcard .linkcard-items .glyphicon {
  display: block !important;
  font-size: 56px !important;
  line-height: 1 !important;
  margin: 0 !important;
}

html body #wrapper .linkcard .linkcard-items:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(200, 168, 90, 0.62) !important;
  box-shadow: 0 18px 34px rgba(23, 43, 77, 0.12) !important;
}

html body #wrapper .content02 > .panel,
html body #wrapper .panel.panel-default:not(.linkcard-items) {
  border: 1px solid rgba(23, 43, 77, 0.10) !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 34px rgba(23, 43, 77, 0.08) !important;
  overflow: hidden !important;
}

html body #wrapper .content02 h2 {
  margin: 0 0 14px !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}

html body #wrapper .panel-body {
  padding: 22px 24px !important;
}

html body #wrapper .panel-body p,
html body #wrapper .panel-body li,
html body #wrapper .panel-body div {
  line-height: 1.85 !important;
}

html body #wrapper h3 {
  color: #B64A72 !important;
  font-size: 19px !important;
  line-height: 1.55 !important;
  margin: 28px 0 12px !important;
  padding-left: 12px !important;
  border-left: 4px solid #C8A85A !important;
}

html body #wrapper ol,
html body #wrapper ul {
  padding-left: 1.4em;
}

html body #wrapper .panel-body ol {
  background: #FBFAF7 !important;
  border: 1px solid rgba(23, 43, 77, 0.08) !important;
  border-radius: 8px !important;
  padding: 16px 20px 16px 2.2em !important;
}

html body #wrapper .panel-body img {
  max-width: 220px !important;
  height: auto !important;
  border-radius: 8px !important;
}

html body #wrapper .text-right {
  color: rgba(43, 43, 43, 0.72) !important;
  font-size: 12px !important;
}

@media (max-width: 767px) {
  html body #wrapper {
    background: #FBFAF7 !important;
  }

  html body #wrapper .content02 {
    padding-top: 16px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  html body #wrapper .linkcard {
    margin-left: -5px !important;
    margin-right: -5px !important;
  }

  html body #wrapper .linkcard > [class*="col-"] {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  html body #wrapper .linkcard .linkcard-items,
  html body #wrapper .linkcard .linkcard-items a,
  html body #wrapper .linkcard .linkcard-items .panel-body {
    min-height: 128px !important;
  }

  html body #wrapper .linkcard .linkcard-items a,
  html body #wrapper .linkcard .linkcard-items .panel-body {
    padding: 18px 8px !important;
    font-size: 14px !important;
    gap: 9px !important;
  }

  html body #wrapper .linkcard .linkcard-items i.glyphicon,
  html body #wrapper .linkcard .linkcard-items .glyphicon {
    font-size: 38px !important;
  }

  html body #wrapper .panel-body {
    padding: 18px 16px !important;
  }

  html body #wrapper .content02 h2 {
    font-size: 16px !important;
    padding: 10px 12px !important;
  }
}
/* end 100life page polish */

/* 100life card click-area fix - added by Codex 2026-10-07 */
html body #wrapper .linkcard .linkcard-items a,
html body #wrapper .linkcard .linkcard-items .panel-body {
  width: 100% !important;
}
/* end 100life card click-area fix */

/* 100life accordion heading contrast fix - added by Codex 2026-10-07 */
html body #wrapper .panel-heading,
html body #wrapper .panel-heading a,
html body #wrapper .panel-heading a:hover,
html body #wrapper .panel-heading a:focus,
html body #wrapper .panel-title,
html body #wrapper .panel-title a,
html body #wrapper [role="tab"],
html body #wrapper [role="tab"] a {
  color: #FFFFFF !important;
  text-shadow: none !important;
}
/* end 100life accordion heading contrast fix */

/* 100life topics first on member home - added by Codex 2026-10-08 */
html body #wrapper .content02 {
  display: flex !important;
  flex-direction: column !important;
}

html body #wrapper .content02 > h2:nth-of-type(2) {
  order: 1 !important;
}

html body #wrapper .content02 > .row {
  order: 2 !important;
}

html body #wrapper .content02 > h2:nth-of-type(1) {
  order: 3 !important;
  margin-top: 22px !important;
}

html body #wrapper .content02 > .panel.panel-default {
  order: 4 !important;
}

html body #wrapper .content02 > footer,
html body #wrapper .content02 > #page-top,
html body #wrapper .content02 > br {
  order: 90 !important;
}
/* end 100life topics first on member home */