html { font-size: 100%; line-height: 1.5; }
body { margin:0; font-family: Georgia, serif; color:#222; background:#fff; }
h1,h2,h3,h4,h5,h6 { font-family: 'Segoe UI', sans-serif; margin-top:1rem; }
p, ul, ol, table { margin-bottom:1rem; }

.skip-link {
  position:absolute; top:-40px; left:0; background:#000; color:#fff;
  padding:0.5rem; z-index:100; transition:top 0.3s;
}
.skip-link:focus { top:0; }

nav a:visited { color:#dbdbdb; }
nav .active { font-weight:bold; }


.container { max-width:960px; margin:0 auto; padding:1rem; }
.row { display:flex; flex-wrap:wrap; }
.col { flex:1; padding:0.5rem; }


.thumb { width:8rem; }
.thumb:hover { opacity:0.8; }


details table { width:100%; border-collapse:collapse; }
details th, details td { border:1px solid #ccc; padding:0.5rem; text-align:left; }


form label { font-weight:600; display:block; margin-bottom:0.25rem; }
form input, form textarea { width:100%; font-size:1rem; margin-bottom:0.75rem; }
.form-check-inline { margin-right:1rem; }


.carousel img { max-height:400px; object-fit:cover; }

body,
p,
ul,
ol,
table,
form input,
form textarea,
button,
label {
  font-family: Arial, Helvetica, sans-serif;
}

form input,
form textarea {
  font-family: Arial, Helvetica, sans-serif;
}


.high-contrast body { 
  background:#000;
  color:#ff0; 
  font-size: 1.5rem;
}
.high-contrast h1,
.high-contrast h2,
.high-contrast h3 {
  font-size: 2rem;
}

.high-contrast p,
.high-contrast li {
  font-size: 1.25rem;
}
.high-contrast a { color:#0ff; }


@media print {
  header, nav, footer, .carousel, video, aside { display:none; }
  img { max-width:4cm; height:auto; }
  body { font-size:12pt; }
}



@media (max-width: 768px) {
  .row { flex-direction:column; }
}
@media (min-width: 769px) {
  .row { flex-direction:row; }
}


.navbar {
  position: relative;
  background: #111;
  padding: 0.75rem 1rem;
}
.navbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.navbar a {
  text-decoration: none;
  margin-right: 0.5rem;
}

.navbar a:hover,
.navbar a:focus {
  color: #ffea75;
  text-decoration: none;
}

.hamburger {
  display: none;
  flex-direction: column;
  cursor: pointer;
}
.hamburger span {
  display: block;
  width: 24px;
  height: 3px;
  background: #fff;
  margin: 4px 0;
  transition: transform 0.3s ease;
}

@media (max-width: 768px) {
  
  .navbar .container a {
    display: none;
  }
  
  .hamburger {
    display: flex;
    align-self: flex-start;
    margin-bottom: 0.5rem;
  }
  
  .navbar .container.open a {
    display: block;
    padding: 0.75rem;
    margin: 0;
  }
  
  .navbar .container {
    flex-direction: column;
    align-items: flex-start;
  } 
  
  .navbar {
    padding: 0.5rem 1rem;
  }
  
  .navbar {
    padding-top: 0.6rem !important;
    padding-bottom: 0.25rem !important;
  }
  
  .navbar .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  
  .hamburger span {
    height: 2px;
    margin: 3px 0;
  }
}


.high-contrast .navbar a {
  color: #ff0 !important;        
}
.high-contrast .hamburger span {
  background: #ff0 !important;     
}

.navbar a.external-link {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.high-contrast table.table,
.high-contrast table.table-striped {
  background-color: #000 !important;
  color: #ff0 !important;
  border: 2px solid #ff0;
}

.high-contrast table.table-striped th,
.high-contrast table.table-striped td {
  background-color: #000 !important;
  color: #ff0 !important;
  border: 1px solid #ff0 !important;
}

.high-contrast table.table-striped tbody tr:nth-child(odd),
.high-contrast table.table-striped tbody tr:nth-child(even) {
  background-color: #000 !important;
}

.high-contrast header,
.high-contrast nav,
.high-contrast footer {
  background-color: #000 !important;
}

.high-contrast .form-container {
  background-color: rgba(0, 0, 0, 0.8) !important;
}

.high-contrast body {
  background: #000 !important;
}