html
{ height: 100%;}

*
{ margin: 0;
  padding: 0;}

body
{ font: normal .80em 'trebuchet ms', arial, sans-serif;  
  background: #FFF;
  color: #555;}

p
{ padding: 0 0 20px 0;
  line-height: 1.7em;}

img
{ border: 0;}

h1, h2, h3, h4, h5, h6 
{ color: #362C20;
  letter-spacing: 0em;
  padding: 0 0 5px 0;}

h1, h2, h3
{ font: normal 170% 'century gothic', arial;
  margin: 0 0 15px 0;
  padding: 15px 0 5px 0;
  color: #000;}

h2
{ font-size: 160%;
  padding: 9px 0 5px 0;
  color: #009FBC;}

h3
{ font-size: 140%;
  padding: 5px 0 0 0;}

h4, h6
{ color: #009FBC;
  padding: 0 0 5px 0;
  font: normal 110% arial;
  text-transform: uppercase;}

h5, h6
{ color: #888;
  font: normal 95% arial;
  letter-spacing: normal;
  padding: 0 0 15px 0;}

a, a:hover
{ outline: none;
  text-decoration: underline;
  color: #00C6F0;}

a:hover
{ text-decoration: none;}

blockquote
{ margin: 5px 0; 
  padding: 10px 20px 0 20px;
  border: 1px solid #E5E5DB;
  background: #FFF;}

ul
{ margin: 2px 0 22px 17px;}

ul li
{ list-style-type: circle;
  margin: 0 0 6px 0; 
  padding: 0 0 4px 5px;
  line-height: 1.5em;}

ol
{ margin: 8px 0 22px 20px;}

ol li
{ margin: 0 0 11px 0;}

.left
{ float: left;
  width: auto;
  margin-right: 10px;}

.right
{ float: right; 
  width: auto;
  margin-left: 10px;}

.center
{ display: block;
  text-align: center;
  margin: 20px auto;}

#main, #logo, #menubar, #site_content, #footer
{ margin-left: auto; 
  margin-right: auto;}

#header
{ background: #CCC;
  border-bottom: 1px solid #CCC;
  height: 186px;}
  
#banner
{  background: transparent url(../img/style/banner.jpg) no-repeat;
  width: 860px;
  height: 180px;
  margin-bottom: 20px;
  border: 10px solid #DDD;}

#logo
{ width: 880px;
  position: relative;
  height: 140px;
  background: #F5F5F5;}

#logo #logo_text 
{ position: absolute; 
  top: 10px;
  left: 0;}

#logo h1, #logo h2
{ font: normal 300% 'century gothic', arial, sans-serif;
  border-bottom: 0;
  text-transform: none;
  margin: 0 0 0 9px;}

#logo_text h1, #logo_text h1 a, #logo_text h1 a:hover 
{ padding: 22px 0 0 0;
  color: #323232;
  letter-spacing: 0.1em;
  text-decoration: none;}

#logo_text h1 a .logo_colour
{ color: #00C6F0;}

#logo_text a:hover .logo_colour
{ color: #DDD;}

#logo_text h2
{ font-size: 120%;
  padding: 4px 0 0 0;
  color: #999;}

#menubar
{ width: 980px;
  height: 45px;
  padding-right: 5px;
  background: #DDD;
  border-top: 1px solid #CCC;} 

ul#menu
{ float: right;
  margin: 0;}

ul#menu li
{ float: left;
  padding: 0 0 0 4px;
  list-style: none;
  margin: 4px 2px 0 2px;}

ul#menu li a
{ font: normal 100% 'trebuchet ms', sans-serif;
  display: block; 
  float: left; 
  height: 20px;
  padding: 6px 20px 5px 20px;
  text-align: center;
  color: #FFF;
  text-decoration: none;
  background: #BBB;} 

ul#menu li.selected a
{ height: 20px;
  padding: 6px 20px 5px 11px;}

ul#menu li.selected
{ margin: 4px 4px 0 13px;
  background: #00C6F0;}

ul#menu li.selected a, ul#menu li.selected a:hover
{ background: #00C6F0;
  color: #FFF;}

ul#menu li a:hover
{ color: #323232;}

#site_content
{ width: 880px;
  overflow: hidden;
  margin: 20px auto 0 auto;
  padding: 0 0 10px 0;} 

#sidebar_container
{ float: left;
  width: 224px;}

.sidebar_top
{ width: 222px;
  height: 14px;
  background: transparent url(../img/style/side_top.png) no-repeat;}

.sidebar_base
{ width: 222px;
  height: 14px;
  background: url(../img/style/side_base.png) no-repeat;}

.sidebar
{ float: right;
  width: 222px;
  padding: 0;
  margin: 0 0 16px 0;}

.sidebar_item
{ background: url(../img/style/side_back.png) repeat-y;
  padding: 0 15px;
  width: 192px;}

.sidebar li a.selected
{ color: #444;} 

.sidebar ul
{ margin: 0;} 

#content
{ text-align: justify;
  width: 620px;
  padding: 0 0 0 5px;
  float: right;}
  
#content ul
{ margin: 2px 0 22px 0px;}

#content ul li, .sidebar ul li
{ list-style-type: none;
  background: url(../img/style/bullet.png) no-repeat;
  margin: 0 0 0 0; 
  padding: 0 0 4px 25px;
  line-height: 1.5em;}

#footer
{ width: 100%;
  font-family: 'trebuchet ms', sans-serif;
  font-size: 100%;
  height: 80px;
  padding: 28px 0 5px 0;
  text-align: center; 
  background: #CCC;
  border-top: 1px solid #AAA;
  color: #FFF;}

#footer p
{ line-height: 1.7em;
  padding: 0 0 10px 0;}

#footer a
{ color: #FFF;
  text-decoration: none;}

#footer a:hover
{ color: #00C6F0;
  text-decoration: none;}

.search
{ color: #5D5D5D; 
  border: 1px solid #BBB; 
  width: 134px; 
  padding: 4px; 
  font: 100% arial, sans-serif;}

.form_settings
{ margin: 15px 0 0 0;}

.form_settings p
{ padding: 0 0 4px 0;}

.form_settings span
{ float: left; 
  width: 200px; 
  text-align: left;}
  
.form_settings input, .form_settings textarea
{ padding: 5px; 
  width: 299px; 
  font: 100% arial; 
  border: 1px solid #E5E5DB; 
  background: #FFF; 
  color: #47433F;}
  
.form_settings .submit
{ font: 100% arial; 
  border: 0; 
  width: 99px; 
  margin: 0 0 0 212px; 
  height: 33px;
  padding: 2px 0 3px 0;
  cursor: pointer; 
  background: #3B3B3B; 
  color: #FFF;}

.form_settings textarea, .form_settings select
{ font: 100% arial; 
  width: 299px;}

.form_settings select
{ width: 310px;}

.form_settings .checkbox
{ margin: 4px 0; 
  padding: 0; 
  width: 14px;
  border: 0;
  background: none;}

.separator
{ width: 100%;
  height: 0;
  border-top: 1px solid #D9D5CF;
  border-bottom: 1px solid #FFF;
  margin: 0 0 20px 0;}
  
table
{ margin: 10px 0 30px 0;}

table tr th, table tr td
{ background: #3B3B3B;
  color: #FFF;
  padding: 7px 4px;
  text-align: left;}
  
table tr td
{ background: #E5E5DB;
  color: #47433F;
  border-top: 1px solid #FFF;}


.container {
    display: flex;
    align-items: center;
}

.text {
    flex: 1;
    padding: 0px;
}

.image {
    flex: 1;
    padding: 20px;
}

/* Nascondi il paragrafo inizialmente */
.toggle-paragraph {
  display: none;
padding: 20px;
}


/*Menu a tendina*/
.menu {
    position: relative;
    display: inline-block;
}

#menu-list {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    padding: 7px;
    list-style-type: none;
    border: 1px solid #ccc;
    width: 120px; 
    margin: 15px; 
}

#menu-list li {
    margin: 5px 0;
}

#menu-list li a {
  min-width: 220px;      /* aumenta se serve */
  min-height: fit-content;
  display: block;
  padding: 8px 16px;
  white-space: nowrap;
  box-sizing: border-box;
}

#menu-list {
  min-width: 220px;      /* opzionale, per forzare la larghezza del menu */
  min-height: fit-content;
}

#menu-button {
    cursor: pointer;
    display: block;
}

/* Stile per il menu quando è in stato di focus */
.menu:focus #menu-list {
    display: block;
}

/* Cambia il display quando passi il mouse sopra il pulsante del menu */
.menu:hover #menu-list {
    display: block;
}

/* Stile del contenitore a due colonne */
.col-container {
    column-count: 2;
    column-gap: 20px;
}

/* Stile delle colonne */
.col-container p {
    margin: 0; /* Rimuove i margini predefiniti dai paragrafi */
}

/* sitemap grafo */
.sitemap-graph {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  margin: 40px 0 20px 0;
  position: relative;
}
.sitemap-node {
  background: #f0f8ff;
  border: 2px solid #00c6f0;
  border-radius: 12px;
  padding: 12px 18px;
  text-align: center;
  min-width: 120px;
  font-weight: bold;
  position: relative;
  z-index: 2;
  box-shadow: 0 2px 8px #00c6f033;
}
.sitemap-node a {
  text-decoration: none;
  color: #0077aa;
}
.sitemap-link {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 700px) {
  .sitemap-graph { flex-direction: column; gap: 20px; }
}

.sitemap-graph {
  position: relative;
  margin: 40px auto 20px auto;
}
.sitemap-node {
  background: #f0f8ff;
  border: 2px solid #00c6f0;
  border-radius: 12px;
  padding: 14px 26px;
  text-align: center;
  min-width: 140px;
  font-weight: bold;
  position: absolute;
  z-index: 2;
  box-shadow: 0 2px 8px #00c6f033;
  font-size: 1.08em;
  white-space: nowrap;
}
.sitemap-node a {
  text-decoration: none;
  color: #0077aa;
}
@media (max-width: 700px) {
  .sitemap-graph { width: 98vw; min-width: 0; }
}

body.darkmode {
  background: #181c24 !important;
  color: #e0e6ef !important;
}
body.darkmode a { color: #7ecfff !important; }
body.darkmode #menu, body.darkmode #menu-list, body.darkmode .sitemap-node {
  background: #23283a !important;
  border-color: #7ecfff !important;
}
body.darkmode #footer {
  background: #23283a !important;
  color: #e0e6ef !important;
}
body.darkmode,
body.darkmode #main,
body.darkmode #header,
body.darkmode #logo,
body.darkmode #logo_text {
  background: #181c24 !important;
  color: #e0e6ef !important;
}

body.darkmode #logo_text h1,
body.darkmode #logo_text h2,
body.darkmode h1,
body.darkmode h2,
body.darkmode h3,
body.darkmode h4,
body.darkmode h5,
body.darkmode h6 {
  color: #7ecfff !important;
}

body.darkmode #sidebar,
body.darkmode .sidebar {
  background: #23283a !important;
  color: #e0e6ef !important;
}

body.darkmode #sidebar a,
body.darkmode .sidebar a{
  color: #7ecfff !important;
}

body.darkmode #menubar,
body.darkmode #menu,
body.darkmode #menu-list {
  background: #23283a !important;
  color: #e0e6ef !important;
}

body.darkmode #menubar a {
  color: #7ecfff !important;
}

body.darkmode #sidebar_container {
  background: #23283a !important;
}

body.darkmode .sidebar_item {
  background: #23283a !important;
  color: #e0e6ef !important;
}

body.darkmode .sidebar_item a {
  color: #7ecfff !important;
}

body.darkmode .sidebar_top,
body.darkmode .sidebar_base {
  background: #23283a !important;
}

body.darkmode blockquote {
  background: #23283a !important;
  color: #e0e6ef !important;
  border-left: 4px solid #7ecfff !important;
}
body.darkmode blockquote a,
body.darkmode blockquote button {
  color: #7ecfff !important;
  background: #181c24 !important;
  border-color: #7ecfff !important;
}

body.darkmode ul#menu li a,
body.darkmode ul#menu li.selected a,
body.darkmode ul#menu li a:hover {
  background: #23283a !important;
  color: #7ecfff !important;
  border: none !important;
}

body.darkmode ul#menu li.selected {
  background: #005b7a !important;
}

body.darkmode #darkmode-toggle {
  background: #23283a !important;
  color: #7ecfff !important;
  border: 1px solid #7ecfff !important;
}

.lang-it, .lang-en, .lang-fr {
  display: none;
}
