body {
    font-family: 'Courier New', Courier, monospace;
    line-height: 1.4;
    margin: 0 auto;
    color: var(--text-primary);
    background: var(--bg-main);
    /* transition: all 0.5s ease; */
}

h1, h2, h3, h4 {
    font-weight: 600;
    line-height: 1.3;
    /* margin-top: 1rem;*/
    margin-bottom: 1rem;
    clear: both;
    text-transform: uppercase;
}
h1 {
    color: var(--text-primary);
    font-size: clamp(2.5rem,6vw,5rem);
    line-height: 0.9;
    }
h2 {
    color: var(--text-secondary);
    font-size: 1rem;
}
h3 {
    color: var(--text-primary);
    font-size: 1rem;
}

.container-main {
  max-width: 1000px;
  margin: auto;
}

header {
    background: var(--header-footer-bg);
    min-width: 340px;
    border-bottom: 8px solid var(--border);
    padding-bottom: 2rem;
    margin-bottom: 4rem;
}

header p {
  font-size: 1.2em;
}

.container-header {
  color: var(--header-footer-text);
  text-align: left;
  padding-top: 1rem;
  padding-bottom: 2rem;
  max-width:640px;
}

.container-content {
  min-width:340px;
}

.container-content .section {
  background: var(--bg-container);
  padding: 0px;
  margin-bottom: 4rem;
  overflow:hidden
}

footer {
  margin: auto;
  padding: 30px 0px;
  background: var(--header-footer-bg);
  min-width:340px;
}

.container-footer {
  color: var(--header-footer-text);
  max-width: 1000px;
  margin: auto;
}

footer .cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 0px;
  text-align: left;
  border: 1px solid var(--border);
}
left
footer .card {
  padding: 0px;
  background-color: var(--footer-bg-card);
  overflow:hidden;
  border: 1px solid var(--border);
}

footer .section {
  padding: 20px;
  text-align: left;
}

/* --------------------------------------------------------------------------------------------------------
 * main
 */

.container-content p,
.container-footer p {
      margin-bottom: 1.2rem;
}

.container-content .table-wrapper {
      overflow-x: auto;
    }
.container-content table {
      width: 100%;
      border-collapse: collapse;
/*      margin: 2rem 0; */
      font-size: 16px;
    }
.container-content th, 
.container-content td {
      padding: 0.75rem 1rem;
      text-align: left;
    }
.container-content th {
      font-weight: 600;
    }
/*
*/

.container-content ul,
.container-footer ul,
.container-content ol,
.container-footer ol {
      padding-left: 1.5rem;
      margin-bottom: 1.2rem;
}
.container-content ul ul,
.container-footer ul ul,
.container-content ol ol,
.container-footer ol ol {
      padding-left: 2rem;
      margin-bottom: 1.2rem;
}
.container-content ul ul ul,
.container-footer ul ul ul,
.container-content ol ol ol,
.container-footer ol ol ol {
      padding-left: 2.5rem;
      margin-bottom: 1.2rem;
}

.container-content li,
.container-footer li {
/*     margin: 0px; */
}
    /* Blockquotes */
.container-content blockquote {
      border-left: 4px solid #ddd;
      padding-left: 1rem;
      margin: 1.5rem 0;
      font-style: italic;
    }

.footer-copy {
    padding: 0px;
    text-align: center;
    clear: both;
}

/* --------------------------------------------------------------------------------------------------------
 * other
 */
/* --------------------------------------------------------------------------------------------------------
 * Default
 */

strong {
    font-weight: bold;
}
em {
    font-style: italic;
}

a:link,
a:visited {
  text-decoration: none;
  color: var(--text-link);
}

a:hover,
a:active {
  /* color: inherit;*/
  opacity: 0.5;
}

.info
{
    font-style: italic;
}

.error {
    font-weight : bold;
    color: var(--text-error);
}
.warning {
    font-weight : bold;
    color: var(--text-warning);
}
.erroneous {
    background-color: var(--bg-error);
}
.uncopyable {
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+/Edge */
    user-select: none; /* Standard */
}
.highlight {
    background-color: var(--bg-highlight);
    color: var(--text-highlight);
}
.selected {
    opacity: 0.5;
}
.identifier {
    font-weight: bold;
}

details {
    margin: 1em 0 2em 0;
}
summary {
    font-weight: bold;
}
.ValidBox {
/*    max-height: 300px;*/
    overflow-y: auto;
}
/* --------------------------------------------------------------------------------------------------------
 * specifically for forms
 */

.container-content input[type=submit][disabled],
.container-footer input[type=submit][disabled],
.container-content .btn-primary[disabled] ,
.container-footer .btn-primary[disabled],
.container-content .btn-secondary[disabled] ,
.container-footer .btn-secondary[disabled]  {
  background: var(--bg-button-disabled);
  color: var(--text-button-disabled);
}

.container-content input[type=submit],
.container-footer input[type=submit],
.container-content .btn-primary,
.container-footer .btn-primary,
.container-content .btn-secondary,
.container-footer .btn-secondary {
  display: inline-block;
  padding: 10px 20px;
  text-decoration: none;
  border: 0px;
  font-size: inherit;
  font-weight: 600;
  letter-spacing: inherit;
  margin-right: 1em;
cursor: pointer;
}
.container-content .btn-secondary,
.container-footer .btn-secondary {
  background:  var(--bg-button-secondary) !important;
  color: var(--text-button-secondary) !important;
}

.container-content .btn-primary,
.container-footer .btn-primary {
  background:  var(--bg-button-primary) !important;
  color: var(--text-button-primary) !important;
}

/* 1. Sets the hidden content to be invisible and not take up space */
/* 
Make sure toggle_text.js is included
//Usage
//<span class="more-content" id="extraContent">
//TEXT
//</span>
//<button onclick="toggleText()" id="readMoreBtn">Read More...</button>
*/
.more-content {
    display: none; 
}

/* Button styling for clarity */
.read-more-wrapper button {
    background: none;
    border: none;
    color: var(--text-link);
    cursor: pointer;
    text-decoration: underline;
    font-weight: 600;
    padding: 0;
    margin-top: 10px;
    font-size: inherit;
    display: block; 
}
form .labels
{
    text-align:left;
    min-width:200px;
}

form .input
{
    text-align:left;
    min-width:120px;
    width:100%;
}

form input
{
}

form input[type=text],
form input[type=email] {
  padding: 5px;
  border: 2px solid #cccccc;
  font-size: inherit;
  letter-spacing: inherit;
}
form input[type=text]:hover,
form input[type=text]:focus,
form input[type=email]:hover,
form input[type=email]:focus {
  /* border-color: #3333ff;*/
  outline: none;
}

form input[type=password],
form input.password
{
  padding: 5px;
  border: 2px solid #cccccc;
  font-size: inherit;
  letter-spacing: inherit;
}

form input[type=password]:hover,
form input[type=password]:focus,
form input.password:hover,
form input.password:focus {
  /* border-color: #3333ff;*/
  outline: none;
}

form select
{
    padding:2px;
    font-size:14px;
}

form select:hover,
form select:focus {
  /* border-color: #3333ff;*/
  outline: none;
  box-shadow: 0 0 0 2px #2684ff66;
}

form textarea
{
  padding: 5px;
  border: 2px solid #cccccc;
  width:100%;
  min-height: 200px;
  font-size: inherit;
  letter-spacing: inherit;
}

form textarea:hover,
form textarea:focus {
  /* border-color: #3333ff;*/
  outline: none;
}

/* --------------------------------------------------------------------------------------------------------
 * specifically for news archive in table
 */

.tableDemo td {
    padding: 4px;
    margin: 4px;
    display: inline-block;
}