body {
    line-height: 1.6;
    margin: 0 auto;
    color: var(--text-primary);
    background: var(--bg-main);
}

h1, h2, h3, h4 {
    color: var(--text-title);
    font-weight: 600;
    margin-bottom: 1rem;
    line-height: 1.2;
}
h1 {
}
h2 {
}
h3 {
}
h4 {
}

.container-main {
}

header {
    background: var(--bg-header);
    border-bottom: 1px solid var(--border);
    min-width: 340px;
    padding: 1rem 1rem;
    margin-bottom: 1rem;
}
header h1 {
    font-size: 1rem;
    margin-bottom: 0;
    color: var(--text-secondary);
}
.container-header {
    max-width: 1000px;
    margin: auto;
}

.container-content {
}

.container-content .section {
    overflow:hidden
}
.container-content .section #home_section_1,
.container-content .section #home_section_2,
.container-content .section #home_section_3,
.container-content .section #home_section_4,
.container-content .section #home_section_5,
.container-content .section #home_section_6,
.container-content .section #home_section_7,
.container-content .section #home_section_8,
.container-content .section #home_section_9 {
    padding: 0 1rem;
}
.container-content .section #home_section_4,
.container-content .section #home_section_5 {
    background: var(--bg-main-alternative);
}
.container-content .section .home_section_1,
.container-content .section .home_section_2,
.container-content .section .home_section_3,
.container-content .section .home_section_4,
.container-content .section .home_section_5,
.container-content .section .home_section_6,
.container-content .section .home_section_7,
.container-content .section .home_section_8,
.container-content .section .home_section_9 {
    max-width: 1000px;
    min-width:320px;
    padding: 2rem 0;
    margin: auto;
    transition: var(--transition);
}
.container-content .section .home_section_1 {
    text-align: center;
    font-size: 1.6em;
}
.container-content .section .home_section_3 {
}
.container-content .section .home_section_3 .widecards {
    text-align: center;
}
.container-content .section #page_section_1,
.container-content .section #page_section_2,
.container-content .section #page_section_3 {
    padding: 0 1rem;
}
.container-content .section .page_section_1,
.container-content .section .page_section_2,
.container-content .section .page_section_3 {
    max-width: 800px;
    min-width:320px;
    padding: 2rem 0;
    margin: auto;
    transition: var(--transition);
}
.container-content .section .page_section_2 {
    max-width: 600px;
}
.container-content .section .page_section_2 .widecards {
    text-align: center;
}

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

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

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

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

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

.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: 1rem;
}
.container-content ul ul,
.container-footer ul ul,
.container-content ol ol,
.container-footer ol ol {
    padding-left: 2rem;
    margin-bottom: 1rem;
}
.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: 1rem;
}

.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 {
    color: var(--text-secondary);
    padding: 0px;
    text-align: center;
    clear: both;
}

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

.anchor {
    scroll-margin-top: 100px;
}
strong {
    font-weight: bold;
}
em {
    font-style: italic;
}

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

a:hover,
a:active,
button:hover,
button: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);
    border-radius: 12px;
    line-height: inherit;
}

.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: 16px 30px;
    text-decoration: none;
    border: 0px;
    font-size: inherit;
    font-weight: 600;
    letter-spacing: inherit;
    margin: 0.5em;
    cursor: pointer;
    border-radius: 12px;
    line-height: inherit;
}
.container-content .btn-secondary,
.container-footer .btn-secondary {
    background:  var(--bg-button-secondary) !important;
    color: var(--text-button-secondary) !important;
    border: 2px solid  var(--border-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,
.container-content .labels
{
    display: inline-block;
    min-width: 200px;
}

form .input
{
    display: inline-block;
    text-align:left;
    min-width:200px;
    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;
}