:root {
  color-scheme: light;
  --ink: #606060;
  --link: #407096;
  --rule: #aaa;
  --soft: #dee2e9;
}

* { box-sizing: border-box; }

html { background: #fff; }

body {
  margin: 0;
  color: #fff;
  font: 16px/1.5 Tahoma, Verdana, Arial, Helvetica, sans-serif;
}

a { color: var(--link); text-decoration: underline; }
a:visited { color: #5f487e; }
a:hover { text-decoration: none; }
a:focus-visible { background: #ff9933; color: #000; outline: 2px solid #000; outline-offset: 2px; }

.jump-links {
  position: absolute;
  left: -9999px;
  top: -9999px;
}

.jump-links a:focus {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 10;
  padding: .4rem .65rem;
  background: #ff9933;
  color: #000;
}

.wrapper {
  width: 90%;
  max-width: 1000px;
  min-height: 100vh;
  margin: 0 auto;
  background: #fff;
  color: var(--ink);
}

.site-header {
  margin: 0;
  border-bottom: 3px double var(--rule);
}

.site-title {
  margin: 0;
  padding: .3rem .95rem .2rem;
  color: var(--ink);
  font-size: 2.3rem;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
}

.site-title a { color: inherit; text-decoration: none; }
.site-title a:hover { color: var(--link); text-decoration: underline; }
.tagline { display: block; font-size: .65em; font-weight: 400; color: #707070; }

.header-image {
  height: 150px;
  background: #07153c url('/assets/header.jpg') center / cover no-repeat;
}

.navbar {
  min-height: 33px;
  margin: 0;
  padding: 0;
  border-top: 3px double var(--rule);
  border-bottom: 3px double var(--rule);
  font-size: .9rem;
  font-variant: small-caps;
  font-weight: 700;
}

.navbar ul { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.navbar li { margin: 0; }
.navbar a { display: block; padding: 4px 6px; color: var(--ink); text-decoration: none; }
.navbar a:hover { background: var(--soft); text-decoration: underline; }
.navbar .current { background: #505050; color: #fff; }

.content {
  min-height: 400px;
  margin-top: 20px;
  padding: 0 30px 24px;
}

.home-content { text-align: center; }
.home-content .intro { margin: 0 0 1rem; }
.home-content .membership { margin: 0; }
.section-labels { display: flex; justify-content: center; gap: 1.35rem; margin: 3rem 0 .9rem; font-weight: 700; }
.profiles { margin: 0 auto 1rem; text-align: left; }
.profiles th, .profiles td { border: 1px solid #c6ccd4; padding: 3px; }
.profiles th { background: var(--soft); }
.team { margin-top: 3rem; font-weight: 700; }

h2 { margin: 1.25rem 0; font-size: 1.6rem; font-weight: 400; }

.simple-form { max-width: 420px; margin: 20px 0; }
.simple-form label { display: block; margin-top: .8rem; font-weight: 700; }
.simple-form input[type='text'],
.simple-form input[type='password'],
.simple-form input[type='email'] {
  width: 100%;
  margin-top: .25rem;
  padding: .38rem .45rem;
  border: 1px solid #ddd;
  background: #f0f3f5;
  color: #404040;
  font: inherit;
}
.simple-form input:focus { border-color: var(--link); background: #fff; }
.check-line { display: flex !important; align-items: center; gap: .45rem; font-weight: 400 !important; }
.button {
  margin-top: 1rem;
  padding: .35rem .75rem;
  border: 1px solid #333;
  background: #505050;
  color: #fff;
  font: inherit;
  box-shadow: 2px 2px 2px rgba(0,0,0,.3);
  cursor: pointer;
}
.form-note { display: none; margin-top: 1rem; padding: .7rem; border-left: 4px solid var(--link); background: #f3f3fb; }
.form-note.visible { display: block; }

.profile-card { max-width: 640px; }
.profile-card h2 { margin-bottom: .2rem; }
.profile-card .profile-intro { margin-top: 0; }
.profile-card ul { padding-left: 1.4rem; }
.profile-card li { margin-bottom: .35rem; }
.profile-card table { width: 100%; margin: 1.25rem 0; }
.profile-card th, .profile-card td { border: 1px solid #c6ccd4; padding: 4px; text-align: left; }
.profile-card th { background: var(--soft); }
.profile-card .prepared { margin-top: 1.25rem; }

.site-footer { clear: both; padding: 0 0 8px; }
.site-links { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: .8rem; }
.rss-icon { position: relative; top: 2px; width: 14px; height: 14px; }

@media (max-width: 700px) {
  .wrapper { width: 100%; }
  .site-title { font-size: 2rem; }
  .header-image { height: 110px; }
  .content { padding-inline: 20px; }
  .section-labels { margin-top: 2.25rem; gap: .75rem; }
}

@media (max-width: 430px) {
  .header-image { height: 78px; }
  .section-labels { flex-direction: column; gap: .1rem; }
}
