/* Typography & Text styles */

/* html is set to 62.5% so that all the REM measurements are based on 10px sizing */

html {
  font-size: 62.5%;
}

/* Navbar fissa in alto */

.navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #1E3A5F;
  display: flex;
  justify-content: center;
  padding: 12px 0; 
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  z-index: 1000;
}

/* Navbar-header separata */

.navbar-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #1E3A5F;
  z-index: 1000;
}

/* Rimuovi il background bianco dal header fisso */

.navbar-header .navbar {
  display: flex;
  justify-content: center;
  padding: 12px 0;
}

/* Link della navbar */

.navbar a {
  color: #fff;
  text-decoration: none;
  margin: 0 20px;
  font-weight: 500;
  font-size: 16px;
  transition: color 0.3s, border-bottom 0.3s;
}

/* Hover effect */
.navbar a:hover {
  color: #FFD700;
  border-bottom: 2px solid #FFD700;
}

body {
  font-size: 1.5em;
  line-height: 1.6;
  font-weight: 400;
  font-family: "Roboto", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #222222;
  padding-top: 50px; 
  /* Per evitare che il contenuto sia nascosto sotto la navbar */
}

/* Links */

a {
  font-weight: normal;
  text-decoration: none; 
  color: #C24A1A;
}

a:hover {
  text-decoration: underline;
}

a:focus {
  outline: thin dotted;
}

small {
  font-size: 75%;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 2rem;
  font-weight: 300;
}

h1 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; }
h2 { font-size: 3.0rem; line-height: 1.3;  letter-spacing: -.1rem; }
h3 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; }
h4 { font-size: 1.8rem; line-height: 1.5;  letter-spacing: -.05rem; }
h5 { font-size: 1.5rem; line-height: 1.6;  letter-spacing: 0; }
h6 { font-size: 1.4rem; line-height: 1.6;  letter-spacing: 0; }

/* Paragraphs */

p {
  margin: 0 auto 1.5em auto;
}

/* Layout styles */

/* Full size background image */

html, #container, .inner { 
  background-color: transparent;
}

html {
  background: url(background_chinese.jpg) center center no-repeat fixed;
  background-size: cover;
}

body {
  max-width: 800px;
  margin: 25px auto;
}

/* LIGHT PANELS INSTEAD OF DARK ONES */
header, #content, footer { 
  background: rgba(255,255,255,.92);
  padding: 25px; 
  color: #222222; 
  box-shadow: 0 0 20px rgba(0,0,0,0.08);
  border-radius: 6px;
}

iframe {
  max-width: 100%;
}

/* Menu Links */

ul.main-menu {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  list-style: none;
}

ul.main-menu li a {
  margin-right: 20px;
  font-size: 2.0rem;
  border-bottom: solid transparent 3px;
  color: #444;
}

ul.main-menu li a:hover {
  color: #000;
}

ul.main-menu li a.active {
  color: #000;
  border-bottom-color: #EF6D3D;
}

/* Utility classes */

.hide {
  display: none;
}

.show {
  display: block;
}

.profile {
  display: flex;
  align-items: flex-start;
  gap: 25px;
  margin-bottom: 2em;
}

.profile-photo,
.profile-text {
  flex: 1; /* foto e testo occupano lo stesso spazio */
}

.profile-photo img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transform: scale(1.1);
  transform-origin: center; /* mantiene il centro come punto di ingrandimento */
}

/* Responsive: stack on small screens */

@media (max-width: 700px) {
  .profile {
    flex-direction: column;
    align-items: center;
  }

  .profile-photo img {
    width: 220px;
  }

  .profile-text {
    text-align: left;
  }
}

.profile-vertical {
  text-align: center; /* centra tutto il contenuto */
  margin-bottom: 2em;
}

.profile-vertical .profile-photo img {
  width: 190px;   /* puoi aumentare se vuoi ingrandire */
  max-width: 80%; /* non sfora su schermi piccoli */
  height: auto;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  margin-bottom: 20px; /* spazio tra foto e testo */
}

.profile-vertical .profile-text {
  text-align: left; /* testo allineato a sinistra per leggibilità */
  max-width: 800px; /* opzionale: limita larghezza per paragrafi lunghi */
  margin: 0 auto;
}

#header {
  text-align: center; /* centra tutto */
  margin: 40px 0;     /* spazio sopra e sotto l'intestazione */
}

#header-name {
  font-size: 4rem;     /* aumenta la dimensione del nome */
  font-weight: 700;    /* grassetto */
  color: #EF6D3D;      /* puoi cambiare colore */
  margin-bottom: 15px; /* spazio tra nome e istituto */
}

#header-institute a {
  font-size: 2rem;     /* aumenta dimensione link istituto */
  color: #000000;      /* colore link */
  text-decoration: none;
  margin: 0 8px;       /* spazio tra i link */
}

#header-institute a:hover {
  text-decoration: underline;
}

/* ===== Open Seminar Layout ===== */

.talk-card {
  /*background-color: #eaf6ec;*/        /* verde molto tenue */
  border: 1px solid #cfe8d4;
  border-radius: 8px;
  padding: 14px 18px;
  margin: 14px 0;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 16px;                  /* stessa dimensione per tutto */
  line-height: 1.5;
}

.talk-card .row {
  margin: 4px 0;
}

.talk-card a {
  text-decoration: none;
  font-size: 0.95em;
}

.talk-card a:hover {
  text-decoration: underline;
}

