body {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    font-size: 18px;
    line-height: 1.6;
    margin: 0 auto;
    color: var(--text-primary);
    background: var(--bg-main);
}

h1, h2, h3, h4 {
    font-weight: 600;
    line-height: 1.3;
    /* margin-top: 2rem; */
    margin-bottom: 1rem;
    clear: both;
}

header {
    text-align: center;
    background: linear-gradient(to right, var(--header-footer-bg-left) 1%, var(--header-footer-bg-right) 50%);
    min-width: 360px;
    padding-top: 1px;
    padding-bottom: 40px;
    padding-left: 24px;
    padding-right: 24px;
}

header p {
  font-size: 1.2em;
}

.container-main {
  margin-left: 250px;
/*  background: var(--bg-container-main); */
}

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

.container-content {
  max-width: 1000px;
  margin: auto;
  padding: 20px;
  min-width:360px;
}

.container-content .section {
  background: var(--bg-container);
  padding: 2rem 1rem;
  /* padding-top: 0px; */
  margin-bottom: 1rem;
  border-radius: 8px;
  box-shadow: 4px 4px 8px rgba(0,0,0,0.2);
  overflow:hidden
}

footer {
  margin: auto;
  padding: 30px 0px;
  background: linear-gradient(to right, var(--header-footer-bg-left) 1%, var(--header-footer-bg-right) 50%);
  min-width:360px;
}

.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: 20px;
  text-align: left;
}

footer .card {
  padding: 20px;
  padding-top: 0px;
  border-radius: 8px;
  background-color: var(--footer-bg-card);
  box-shadow: 4px 4px 8px rgba(0,0,0,0.3);
  overflow:hidden
}

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

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

.container-content,
.container-footer {
/*  letter-spacing: 0.05em;
  line-height: 1.3em; */
}

.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;
    }

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

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

.odd_row_in_list {
	background-color: #f0f0f0;
	height: 1.6em;
} 
.even_row_in_list {
	background-color: #fdfdfd;
	height: 1.6em;
} 
.header_in_list {
	background-color: #909090;
	height: 1.6em;
} 
.header_in_list th {
	color: #f0f0f0;
} 
 */
/* --------------------------------------------------------------------------------------------------------
 * 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;
}

.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 {
	text-decoration: underline;
}
.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]  {
  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,
.container-content .btn-glowing,
.container-footer .btn-glowing {
  display: inline-block;
  padding: 10px 20px;
  text-decoration: none;
  border: 0px;
  border-radius: 5px;
  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,
.container-content .btn-glowing,
.container-footer .btn-glowing {
  background:  var(--bg-button-primary) !important;
  color: var(--text-button-primary) !important;
}

.container-content .btn-glowing,
.container-footer .btn-glowing {
    animation: glowing 1s infinite; /* name, duration, repetition */
    /* Smooth transitions for hover effects */
    transition: background-color 0.3s ease, transform 0.3s ease;
}
@keyframes glowing {
    /* Use small rotational and positional changes for a gentle shake */
    0%, 100% {box-shadow: 0 0px 0px rgba(1, 254, 254, 1); }
    50% {box-shadow: 0 0px 30px rgba(1, 254, 254, 1); }
}
.container-content .btn-glowing:hover,
.container-footer .btn-glowing:hover {
  color: rgba(255, 255, 255, 1);/*SCRITTA*/
  background: rgb(17, 77, 112); /*bottone ATTIVO*/
  box-shadow: 0 0px 30px rgba(1, 254, 254, 1);/*bottone ATTIVO ALONE*/
  border-color: #ffffff; /* new - colore bordo */
  animation: none; /* Stop the continuous wobble */
  transform: scale(1.05); /* Optional: Make it pop slightly on hover */
}

/* 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;
  border-radius: 5px;
  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;
  box-shadow: 0 0 0 2px #2684ff66;
}

form input[type=password],
form input.password
{
  padding: 5px;
  border: 2px solid #cccccc;
  border-radius: 5px;
  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;
  box-shadow: 0 0 0 2px #2684ff66;
}

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;
  border-radius: 5px;
  width:100%;
  min-height: 200px;
  font-size: inherit;
  letter-spacing: inherit;
}

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

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

.anchor {
  scroll-margin-top: 40px;
}
.tableDemo td {
    padding: 4px;
    margin: 4px;
    border-radius: 12px;
    display: inline-block;
}