html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  margin: 0px;
  padding: 0px;
  font-family: 'Inter', system-ui, sans-serif;
  background-color: #222;
  color: #222;
  display: block;
}

.wrapper {
  width: 100%;
  max-width: 1200px;
  padding: 2rem;
  padding-top: 0px;
  box-sizing: border-box;
  background-color: #22222200;
  position: relative;
  z-index: 10;
  overflow-x: hidden;
  margin: 0 auto;
}

.section-a {
  width: 100%;
  max-width: 1200px;
  margin-top: 20px;
  padding-top: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 0.2rem;
  color: #ffffff;
  box-sizing: border-box;
  background-color: #e6007a;
  position: relative;
  z-index: 10;
}

.section {
  width: 100%;
  max-width: 1200px;
  margin-top: 20px;
  padding-top: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 2rem;
  color: #ffffff;
  box-sizing: border-box;
  background-color: #2c2c2c;
  position: relative;
  z-index: 10;
}

.news {
  width: 100%;
  max-width: 1200px;
  margin-top: 20px;
  padding-top: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 0rem;
  color: #ffffff;
  box-sizing: border-box;
  background-color: #2c2c2c;
  position: relative;
  z-index: 10;
}

.section--bg > * {
  position: relative;
  z-index: 1;
}

.news a,
.section a {
  color: #ffffff;
  text-decoration: underline;
}

.section-a p a {
  color: #ffffff;
  text-decoration: underline;
}

main {
  padding: 0rem 0;
}

h1, h2, h3 {
  margin-top: 0;
}

h1 {
  font-size: 1rem;
  font-weight: normal;
}

h1 a {
  color: #ffffff;
  text-decoration: underline;
}

.site-header {
  background-color: transparent;
  overflow: hidden;
  margin-bottom: 0rem;
}

.logo {
  background-color: #33333300;
  padding-top: 50px;
  padding-bottom: 30px;
  padding-left: 2rem;
  padding-right: 2rem;
  text-align: center;
  position: relative;
  z-index: 10;
}

.logo img {
  width: 100%;
  max-width: 510px;
  height: auto;
  display: block;
  margin: 0 auto;
}

nav {
  background-color: #44444400;
  padding: 1rem;
  position: sticky;
  top: 0;
  z-index: 1000;
  border-radius: 5px;
}

.main-nav {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  margin: 0;
  padding: 0;
}

.main-nav a {
  color: #fff;
  text-decoration: none;
  font-weight: 300;
}

.main-nav a:hover {
  border-bottom: 2px solid #ffffff;
}

.main-nav a.active {
  color: #ffffff;
  border-bottom: 2px solid #e6007a;
}

.card-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
  margin-top: 2rem;
}

.validator-card {
  width: 300px;
  text-align: center;
  z-index: 1000;
}

.node-status-table {
  width: 100%;
  text-align: center;
  align-items: center;
  vertical-align: middle;
  padding-top: .0rem;
  padding-bottom: .0rem;
  font-size: 1rem;
}

.node-status-cell {
  display: flex;
  align-items: center;      /* sorgt für vertikale Zentrierung */
  justify-content: center;
  text-align: center;
  height: auto;             /* keine feste Höhe */
  margin-bottom: .0rem;
}

.node-status-text {
  position: relative;
  cursor: pointer;
}




/* Status-Tabelle - kompakteres Layout */
.node-status-table {
  border: 2px solid #222;
  margin: 0;
}

.node-status-table tr {
  line-height: 1.0; /* Reduzierter Zeilenabstand */
}

.node-status-table td {
  padding-left: 1rem;
  margin: 0;
  vertical-align: middle;
}

/* Status-Punkt und Label in einer Linie */
.status-item {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 1px 0;
}

.status-point {
  margin-right: 10px;
}

.status-label {
  color: #999;
  font-size: small;
}





.node-status-text:hover .hint-tooltip {
  display: block;
}

.validator-card-info-network {
  background: #222;
  text-align: center;
  align-items: center;
  color: #ffffff;
}

.validator-status-active {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 40%, #39ff14 60%, #0f0 100%);
  box-shadow: 0 0 8px #39ff14, 0 0 2px #0f0;
  margin-right: 4px;
}

.validator-status-waiting {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 40%, #ffcc00 60%, #ff9900 100%);
  box-shadow: 0 0 8px #ffcc00, 0 0 2px #ff9900;
  margin-right: 4px;
}

td .validator-status-text, 
td .validator-identity-text,
td .validator-governance-text {
  display: inline-flex;
  align-items: center;
}

td .validator-status-text + .info-icon, 
td .validator-identity-text + .info-icon,
td .validator-governance-text + .info-icon {
  position: relative;
  right: auto;
  display: inline-flex;
  vertical-align: middle;
  margin-left: 5%;
}

.node-status-text {
  font-weight: 600;
  color: #ffffff;
}

.validator-card-w3f {
  background: 
  linear-gradient(90deg, #8b5cf6ff 0%, #06b6d4 100%);
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: .5rem;
  padding-top: .5rem;
  text-align: center;
  position: relative; /* Für das Pseudo-Element */
}

/* Checkmark-Icon mit Schatten */
.validator-card-w3f::before {
  content: '';
  position: absolute;
  top: -0.5rem;
  left: 7%;
  width: 40px;
  height: 40px;
  background: url('IMG/icons/path1.png') no-repeat;
  background-size: contain;
  filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.70));
  z-index: 1000;
}

.center-link-info {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.info-icon {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  width: 18px;
  height: 18px;
  background: url('IMG/icons/info.svg') no-repeat center center;
  background-size: contain;
  position: absolute;
  right: .5rem;
  margin-left: 0.2rem;
}

.info-icon.dark {
  background: url('IMG/icons/info_dark.svg') no-repeat center center;
}

.validator-card-screen-default {
  background: #fff5fb;
  border-top: 3px solid #FFF5FB;
  padding-top: 0.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 0.5rem;
  text-align: center;
  margin-bottom: 0.0rem;
  z-index: 1000;
  height: 200px;
  position: relative;
}












/* VFDB Info-Screens */
#w3f-vfdb, #identity-vfdb, #wallet-vfdb, #nominate-vfdb, #validator-vfdb, #claiming-vfdb, #governance-vfdb {
  display: none;
}

/* Grundlegende Stile für alle Begriffe */
.term-element {
  white-space: pre-line;
  color: #e6007a;
  text-align: center;
  transition: opacity 1s ease;
  max-width: 80%;
  padding: 10px;
  border-radius: 4px;
  padding-bottom: 3.85rem;
}

/* Keyword: Größer und hervorgehoben */
.term-keyword {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
  text-shadow: 1px 1px 3px rgba(255,255,255,0.6);
}

/* Definition: Mittlere Größe und kursiv */
.term-definition {
  font-size: 1.4rem;
  font-style: italic;
  margin-bottom: 0.5rem;
  color: #444;
  text-shadow: 1px 1px 1px rgba(255,255,255,0.5);
}

/* Solution: Mittel-groß */
.term-solution {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #333;
  text-shadow: 1px 1px 1px rgba(255,255,255,0.5);
}

/* Action: Größer und mit mehr Betonung */
.term-action {
  font-size: 1.4rem;
  font-weight: 800;
  color: #e6007a;
  text-shadow: 1px 1px 3px rgba(255,255,255,0.6);
}

/* Titel-Animation */
#polkadot-title {
  transition: opacity 1s ease;
}

.info-content {
    text-align: center;
    line-height: 1.5;
}

.info-content hr {
    width: 100%;
    height: 1px;
    border: none;
    background: radial-gradient(
        ellipse at center,
        #e6007a 0%, 
        #e6007a 10%, 
        transparent 100%
    );
    margin: 8px auto;
}

.info-box{
  display: flex;
  align-items: center;
  justify-content: center; /* also centers horizontally */
  min-height: 200px; /* set a specific height */
}

.validator-card-screen {
  background:   linear-gradient(to bottom, 
    #222 0%, 
    #222 98%,
    #333 100%, 
    transparent 0%
  );
  padding-top: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 0.5rem;
  text-align: center;
  font-size: .8rem;
  margin-bottom: 0.0rem;
  z-index: 20;
  min-height: 200px;
  position: relative;
  border-top: 0 solid #E6097A;
  transition: border-top-width 0.2s;
}

.validator-card-screen ul {
  list-style: none;
  padding-left: 1.5rem;
  padding-bottom: 1.5rem;
}

.validator-card-screen ul li {
  padding-bottom: .3rem;
  position: relative;
  color: #ffffff; /* Farbe für den Text */
}

.validator-card-screen ul li::before {
  content: "•"; /* Unicode-Bullet */
  color: #E6097A; /* Farbe für die Bullets */
  position: absolute;
  left: -1em;
}

.validator-card-screen::before {
  content: '';
  position: absolute;
  top: 3.3rem;
  left: 50%;
  transform: translateX(-50%);
  width: 64px;
  height: 64px;
  background: url('IMG/crypto-currencies/polkadot.png') no-repeat;
  background-size: contain;
  
  opacity: 0.4 !important;
  z-index: -1;
}

.step-guide {
    text-align: left;
    margin-left: 0.5rem;
}

.step-item {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}

.step-icon {
    width: 24px;
    min-width: 24px;
    margin-right: 12px;
    display: flex;
    justify-content: center;
}

.step-text {
    line-height: 1.2;
    display: flex;
    align-items: center;
}



.step-icon img {
    width: 18px;
    height: 18px;
}

.screen-timer {
  display: block;
  position: relative;
  height: 3px;
  background-color: #222222;
  padding: 0;
  margin: 5px 0;
  text-align: left;
  border-top: 0 solid #E6097A;
  width: 0;
}

.screen-timer {
  margin-top:1rem; 
  color:#e6007a; 
  font-size: .875rem;
  padding-bottom: .3rem;
}

#polkadot {
  display: block;
  z-index: 10;
}

#w3f, #subscan, #wallet, #nominate, #validator, #identity, #claiming, #governance {
  display: none;
}


.validator-card-top {
  background: #fff5fb;
  padding-top: 0.rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 1.2rem;
  text-align: center;
  margin-top: 0rem;
  margin-bottom: 0rem;
  z-index: 1000;
  border-bottom: 3px solid #22222200;
}

.validator-card-top img {
  padding-top: 1rem;
  width: 64px;
  height: 64px;
  padding-bottom: 1rem;
}

.validator-card-info-a {
  background: #222;
  padding-top: 0.8rem;
  padding-bottom: 0.4rem;
  text-align: center;
  align-items: center;
  color: #ffffff;
  border-bottom: 3px solid transparent;
}

.validator-card-info-a img {
  width: 20px;
  height: auto;
  display: inline-block;
  margin-right: .5rem;
  border: 1px solid #dadada;
}



.validator-card h3 {
  margin-bottom: 0.5rem;
  color: #000000;
}

.validator-card p {
  margin: 0.3rem 0;
  font-size: 0.95rem;
}

.server-detail {
  color:#fff;
  font-size: 0.8rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: .5rem;
}

.network-detail {
  color:#fff;
  font-size: 0.8rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: .5rem;
}

.voting-card {
  width: 300px;
  text-align: center;
  z-index: 1000;
}

.voting-card-top-polkadot {
  background: #E6007A;
  padding: 1.5rem;
  text-align: center;
  margin-bottom: .3rem;
  z-index: 1000;
}

.voting-card-top-polkadot img {
  padding-top: 1rem;
  width: 64px;
  height: 64px;
  margin-bottom: 1rem;
}

.voting-card-top-kusama {
  background: #000000;
  padding: 1.5rem;
  text-align: center;
  margin-bottom: .3rem;
  z-index: 1000;
}

.voting-card-top-kusama img {
  padding-top: 1rem;
  width: 64px;
  height: 64px;
  margin-bottom: 1rem;
}

.voting-card-top-methodology {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  text-align: center;
  margin-top: 1.2rem;
  z-index: 1000;
  background: 
    linear-gradient(90deg,
    #319B8E 0%,     
    #319B8E 20%,    
      #9b59b6 20%,    
      #9b59b6 40%,    
      #1518e7 40%,    
      #1518e7 60%,    
      #5dade2 60%,    
      #5dade2 80%,    
      #6c5ce7 80%,    
      #6c5ce7 100%
    ),
    #2C2C2C;
  background-size: 100% 10%, 100% 100%;
  background-position: bottom, bottom;
  background-repeat: no-repeat;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}

.voting-card-info-a {
  background: #f3f3f3;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
  text-align: center;
  align-items: center;
  color: #000000;
  border-bottom: 3px solid transparent;
}

.voting-card-info-a img {
  width: 20px;
  height: auto;
  display: inline-block;
  padding-right: .5rem;
}

.voting-card h3 {
  margin-bottom: 0.5rem;
  color: #ffffff;
}

.voting-card p {
  margin: 0.3rem 0;
  font-weight: 500;
}

.voting-card-top-polkadot:hover,
.voting-card-top-kusama:hover, 
.voting-card-top-methodology:hover
 {
  transform: scale(1.03);
  transition: transform 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6);
  cursor: pointer;
}

.wallet-display {
  margin-top: 1rem;
  margin-bottom: .5rem;
  font-size: 0.8rem;
  color: #222;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-align: center;
}

.wallet-display-ref {
  margin-top: 0rem;
  font-size: 0.95rem;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: left;
  gap: 0.5rem;
  text-align: center;
}

.w3f-display {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 4px;
  color: #ffffff;
  font-size: 0.8rem;
  background-color: #222;
  background-image:
    linear-gradient(rgba(0,0,0,0.8), rgba(0,0,0,0.8)),
    url('IMG/w3f/dn.png');
  background-size: cover;      /* oder contain, je nach gewünschter Darstellung */
  background-repeat: no-repeat;
  background-position: center;
}


.copy-button {
  background: none;
  border: none;
  color: #e6007a;
  cursor: pointer;
  font-size: 0.8rem;
  padding: 0;
  transition: transform 0.2s ease;
}

.copy-button:hover {
  transform: scale(1.2);
}

.copy-button-kusama {
  background: none;
  border: none;
  color: #ffffff;
  cursor: pointer;
  font-size: 0.8rem;
  padding: 0;
  transition: transform 0.2s ease;
}

.copy-button-kusama:hover {
  transform: scale(1.2);
}

.ref-table-container {
  overflow-x: auto;
  margin-top: 2rem;
}

.ref-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.ref-table thead tr {
  background-color: #e6007b;
  color: #ffffff;
}

.ref-table th,
.ref-table td {
  border: 1px solid #999;
  padding: 0.8rem;
  text-align: left;
}

.ref-table a {
  color: #ffffff;
  text-decoration: underline;
}

.ref-table a:hover {
  text-decoration: none;
}

.link a {
  color: #333;
  text-decoration: underline;
}

.link a:hover {
  color:#E6007A;
}

.link-detail a {
  color: #dadada;
  text-decoration: underline;
}

.link-detail a:hover {
  color:#E6007A;
}

.button {
  display: inline-block;
  margin-top: 1.5rem;
  padding: 0.6rem 1.2rem;
  background-color: #e6007a;
  color: #fff;
  text-decoration: none !important;
  border-radius: 6px;
  font-weight: bold;
  transition: 
    transform 0.1s ease;
}

.button:hover {
  background-color: #c7006a;
  color: #ffffff;
  text-decoration: none;
  transform: scale(1.05);
  box-shadow: 1px 4px 8px #222;
}

.pre-footer {
  width: 100%;
  max-width: 1200px;
  padding-bottom: .2rem;
  color: #ffffff;
  box-sizing: border-box;
  background-color: transparent;
  position: relative;
  z-index: 10;
}

footer {
  background-color: transparent;
  color: #ffffff;
  text-align: center;
  padding-bottom: .2rem;
  margin-top: 4rem;
  font-size: 0.8rem;
}

footer a {
  color: #ffffff;
  text-decoration: none;
  margin: 0 0.5rem;
  transition: color 0.2s ease;
}

footer a:hover {
  color: #fff;
  border-bottom: 1px solid #ffffff;
}

.sub-footer {
  color: #aaaaaa;
  padding: 0.1rem;
  position: relative;
  z-index: 10;
  margin-top: 3rem;
  border-top: 1px solid #2C2B2B;
}

.sub-footer p {
  font-style: italic;
}

.sub-footer a {
  color: #aaaaaa;
  text-decoration: none;
  margin: 0 0.5rem;
  transition: color 0.2s ease;
}

.sub-footer a:hover {
  color: #aaaaaa;
  border-bottom: 1px solid #aaaaaa;
}

.social-icons {
  margin-top: 0rem;
  padding-bottom: .5rem;
  display: flex;
  justify-content: center;
  gap: .7rem;
  background-color: transparent;
}

.social-icons a {
  display: inline-block;
  width: 35px;
  height: 35px;
  background-color: #444;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0.4rem;
  text-decoration: none;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.85);
  transition: transform 0.9s ease;
}

.social-icons a:hover {
  text-decoration: none;
  border: none;
  transition: transform 0.2s ease;
  box-shadow: 0 8px 8px rgba(0, 0, 0, 0.85);
  transform: scale(1.2);
}

.social-icons img {
  width: 35px;
  height: 35px;
  margin: 0 0.4rem;
  vertical-align: middle;
  position: relative;
  z-index: 10;
  text-decoration: none;
}

.circle-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

.policy {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #f0f0f0;
  margin-top: 2rem;
  font-weight: 300;
}

.policy h2, .policy h3, .policy h4 {
  color: #ffffff;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  font-weight: 500;
  border-bottom: 1px solid #e6007a;
  padding-bottom: 0.2rem;
}

.policy ul {
  list-style: disc;
  margin-left: 1.5rem;
  margin-bottom: 1.5rem;
}

.policy ul li {
  margin-bottom: 0.4rem;
}

.policy .table-responsive {
  overflow-x: auto;
  margin: 1.5rem 0;
}

.policy table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  color: #e0e0e0;
  background-color: #2a2a2a;
  border: 1px solid #444;
}

.policy th,
.policy td {
  border: 1px solid #444;
  padding: 0.5rem 0.75rem;
  text-align: left;
  vertical-align: top;
}

.policy th {
  background-color: #e6007a;
  color: #ffffff;
  font-weight: 600;
}

.policy tr:nth-child(even) {
  background-color: #333;
}

.policy a {
  color: #ffffff;
  text-decoration: underline;
}

.policy a:hover {
  text-decoration: none;
  color: #fff;
}

.section-ref {
  width: 100%;
  max-width: 1200px;
  margin-top: 20px;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  color: #ffffff;
  box-sizing: border-box;
  background-color: #2c2c2c;
  position: relative;
  z-index: 10;
}

.section-ref h2, .section-ref h3 {
  color: #ffffff;
  border-bottom: 1px solid #e6007a;
  margin-top: 0rem;
  margin-bottom: 0rem;
  font-weight: 500;
  padding-bottom: 0rem;
}

.vote-table table {
  table-layout: auto;
  width: 100%;
  border-collapse: collapse;
}

.vote-table th {
  white-space: nowrap;
  padding-right: 0.5rem;
  vertical-align: top;
}

.proposer-row {
  padding-top: 1rem;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  margin-bottom: 0.5rem;
}

.scroll-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.9rem;
  padding: 0 0.5rem;
  margin-top: 0rem;
  /*border-top: 1px solid #444;*/
}

.scroll-top svg {
  stroke: #ffffff;
  transition: transform 0.3s ease;
}

.scroll-top svg:hover {
  transform: translateY(-3px);
  stroke: #fff;
}

.scroll-top a {
  display: inline-block;
  color: #ffffff;
  background-color: transparent;
  border: none;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.scroll-top a:hover {
  transform: scale(1.2);
  color: #fff;
}

.scroll-back {
  text-align: right;
  margin-top: 0rem;
}

.scroll-back a {
  display: inline-block;
  color: #ffffff;
  background-color: transparent;
  border: none;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.scroll-back a:hover {
  transform: scale(1.2);
  color: #fff;
}

.ref-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0rem;
  padding: 0 0.5rem;
  font-size: 0.9rem;
}

.scroll-top svg,
.scroll-back svg {
  stroke: #ffffff;
  transition: transform 0.3s ease;
}

.scroll-top svg:hover,
.scroll-back svg:hover {
  transform: translateX(-3px);
}

.centered-cell {
  text-align: center !important;
}

th.sortable {
  cursor: pointer;
  position: relative;
}

th.sortable::after {
  content: "▴▾";
  position: absolute;
  bottom: 0.4rem;
  left: 50%;
  transform: translateX(-50%);
  color: #ffffff;
  font-size: 0.9rem;
  opacity: 0.5;
  /*transition: transform 0.3s ease;*/
  pointer-events: none;
}

th.sortable.sort-up::after {
  content: "▴";
  transform: rotate(0deg);
  opacity: 1;
  left: 50%;
  transform: translateX(-50%);
}

th.sortable.sort-down::after {
  content: "▾";
  transform: rotate(0deg);
  opacity: 1;
  left: 50%;
  transform: translateX(-50%);
}

.vote-aye {
  color: #00ff99;
  font-weight: bold;
}

.vote-nay {
  color: #ff5555;
  font-weight: bold;
}

.vote-abstain {
  color: #ffee00;
  font-weight: bold;
}

.color-indicator-category1 {
  margin-right: 0.5em;
  color: #319B8E; 
  font-size: 1em; 
}

.color-indicator-category2 {
  margin-right: 0.5em;
  color: #9b59b6; 
  font-size: 1em; 
}

.color-indicator-category3 {
  margin-right: 0.5em;
  color: #1518e7; 
  font-size: 1em; 
}

.color-indicator-category4 {
  margin-right: 0.5em;
  color: #5dade2; 
  font-size: 1em; 
}

.color-indicator-category5 {
  margin-right: 0.5em;
  color: #6c5ce7; 
  font-size: 1em; 
}

.ref-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; 
}

.ref-table thead tr:first-child th {
  padding-bottom: 1.5rem; 
}

.ref-table th,
.ref-table td {
  font-size: 0.9rem; 
}

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; 
}

.ref-table {
  width: 100%;
  min-width: 900px; 
}


.news-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 2rem 0;
  padding-bottom: 2rem;
}

.news-card {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  background-color: #2c2c2c;
  padding: 1rem;
}

.news-card img {
  margin-top: .5rem;
  width: 300px;
  height: auto;
  object-fit: scale-down;
  border-radius: 0.3rem;
}

.news-text {
  flex: 1;
  color: #ffffff;
  font-size: 0.95rem;
  line-height: 1.6;
}

.news-text h2, .news-text h3 {
  color: #ffffff;
  border-bottom: 1px solid #e6007a;
  margin-top: 0rem;
  margin-bottom: 0rem;
  font-weight: 500;
  padding-bottom: 0rem;
  margin-top: 0;
}

.news-text p:last-child {
  margin-bottom: 0;
}

.news-text a {
  color: #f0f0f0;
  text-decoration: underline;
}

.news-text a:hover {
  text-decoration: none;
  color: #fff;
}


.hint-text {
  position: relative;
  cursor: pointer;
}

.hint-tooltip {
  display: none;
  position: absolute;
  left: 0%;
  bottom: 100%;
  transform: translateX(-50%) translateY(-8px); 
  background: #2222221e;
  color: #fff;
  padding: 6px 12px;
  border-radius: 4px;
  width: 260px;           
  white-space: normal;
  z-index: 9999;
  font-size: .75rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.35);
}


.hint-text:hover .hint-tooltip {
  display: block;
}

.server-details-table {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
  font-size: 0.8rem;
  color: #999;
  font-style: normal;
}

.server-details-table td {
    padding: 6px 6px;
    border-bottom: 1px solid #333;
    vertical-align: middle;
    text-align: left;
}

.server-details-table img {
  vertical-align: middle;
  margin-right: 1rem;
}

.network-details-table {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
  font-size: 0.8rem;
  color: #999;
  font-style: normal;
}

.network-details-table td {
    padding: 6px 6px;
    border-bottom: 1px solid #333;
    vertical-align: middle;
    text-align: left;
}

.network-details-table a {
  color: #999;
  text-decoration: underline;
}

.news-badge {
  position: absolute;
  top: -15px;
  right: -15px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #e6007a;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  box-shadow: 1px 4px 4px rgba(0,0,0,0.65);
}

.news-badge.internal {
  background-image: url('../assets/IMG/logo/lion.svg');
  background-color: #333;
  background-size: 60% 60%;
  background-repeat: no-repeat;
  background-position: center;
}

.news-badge.polkadot {
  background-image: url('../assets/IMG/crypto-currencies/polkadotWhite.svg');
  background-color: #e6007a;
  background-size: 60% 60%;
  background-repeat: no-repeat;
  background-position: center;
}






.slider-container {
  max-width: 540px;
  margin-top: 0rem;
  margin: 0rem auto;
  position: relative;
  /* background-color: #00ff99; */
}

.slider {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  height: 350px;
}

.slide {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  opacity: 0;
  transition: opacity 0.6s;
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
}

.slide.active {
  opacity: 1;
  pointer-events: auto;
  z-index: 2;
}

.slide-icon {
  font-size: 3rem;
  margin-top: 0rem;
  margin-bottom: 1rem;
  filter: drop-shadow(0 0 8px #e6007a88);
}

.slide-img {
  width: 64px; 
  /* height: 64px; */
  margin-top: 1rem;
  margin-bottom: 2rem;
  object-fit: contain;
  filter: drop-shadow(0 0 6px #000000); /* Optional magenta Glow */
}

.slide-title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 0.7rem;
  letter-spacing: 1px;
}

.slide-text {
  font-size: 1.15rem;
  margin-bottom: 1.2rem;
}

.slide-link, .button {
  color: #fff;
  background: #e6007a;
  border-radius: 6px;
  padding: 0.5em 1.2em;
  text-decoration: none;
  font-weight: bold;
  font-size: 1rem;
  transition: background 0.2s;
  display: inline-block;
  margin-top: 0.5em;
}

.slide-link:hover, .button:hover {
  background: #b8005e;
}

.slider-controls {
  position: absolute;
  bottom: 0px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.slider-controls button {
  background: #e6007a;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 38px;
  height: 38px;
  font-size: 1.5rem;
  cursor: pointer;
  pointer-events: auto;
  box-shadow: 0 2px 8px #222;
  transition: background 0.2s;
}

.slider-controls button:hover {
  background: #b8005e;
}

.slider-dots {
  text-align: center;
  margin-top: 1.2rem;
}

.slider-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 4px;
  border-radius: 50%;
  background: #444;
  cursor: pointer;
  transition: background 0.2s;
}

.slider-dot.active {
  background: #e6007a;
}

.wallet-address-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.wallet-address {
    font-family: 'Roboto Mono', monospace; /* Monospace-Schrift für bessere Lesbarkeit */
    font-size: 0.85rem;
    margin: 0;
    padding: 0;
    color: #ffffff;
    background: transparent;
    border: none;
    letter-spacing: 1px;
    line-height: 1.6;
}









.fearGreed-card {
  width: 300px;
  text-align: center;
  z-index: 1000;
}

.fearGreed-card-title {
  background: #222;
  text-align: center;
  align-items: center;
  color: #ffffff;
  height: 2.5rem;
}

.fearGreed-card-table {
  width: 100%;
  text-align: center;
  align-items: center;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 1rem;
  display: flex;
  justify-content: center;
}



.fearGreed-card-table td {
  padding-top: 0.5rem; 
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 0.5rem;
  color: #fff
}

.fearGreed-card-screen-default {
  background: #fff5fb;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 0rem;
  text-align: center;
  margin-bottom: 0rem;
  z-index: 1000;
  height: auto;
  min-height: 284px;

  position: relative;

  background: 
    linear-gradient(rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.095)),
    url('https://cfgi.io/images/cfgi/dark/DOT-CFGI-1d.png') no-repeat;
  filter: brightness(1.0) contrast(1.1);
  background-size: cover, cover;
  background-position: center -51px; /* Bereits 60px von oben abgeschnitten */
  
  /* Zusätzliche Eigenschaften für bessere Kontrolle */
  overflow: hidden; /* Verhindert, dass abgeschnittene Teile sichtbar werden */
}

.fearGreed-card-info-a {
  background: #222;
  padding-top: 0.0rem;
  padding-bottom: 0.4rem;
  text-align: center;
  align-items: center;
  color: #ffffff;
  border-bottom: 3px solid transparent;
  margin-top: 0rem; /* Ensure no top margin */
}


.fearGreed-detail {
  color:#fff;
  font-size: 0.8rem;
}

.fearGreed-details-table table {
  margin: 0 auto;
  text-align: left;
}

.fearGreed-details-table td {
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.fearGreed-details-table {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.fearGreed-details-table table {
  margin: 0 auto;
  text-align: left;
}

.fearGreed-details-table td {
  padding: 0.5rem;
  color: #ffffff;
}





@media (max-width: 768px) {
  body {
    padding: 0;
  }

  .logo {
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
  }

  .logo img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
  }

  .wrapper {
    padding: 1rem;
    max-width: 100%;
    box-sizing: border-box;
  }

  .news,
  .section {
    padding: 1rem;
  }

  .card-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    margin-top: 2rem;
    width: 100%;
  }
  
  .validator-card {
    width: 100%;
    max-width: 360px;
  }
  
  .main-nav {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }

  nav {
    padding: 1rem 0.5rem;
  }

  .button {
    width: 50%;
    box-sizing: border-box;
  }

  footer {
    font-size: 0.85rem;
  }

  .ref-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed; 
  }
  
  .table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; 
  }
  
  .ref-table {
    width: 100%;
    min-width: 900px; 
  }

  .news-card {
    flex-direction: column;
    align-items: center;
    padding: 0.5rem;
  }
  .news-card img {
    width: 100%;
    max-width: 400px;
    max-height: 250px;
  }
  .news-text {
    font-size: 0.9rem;
    line-height: 1.5;
    padding: 0 0.5rem;
  }
  .news-text h2,
  .news-text h3 {
    font-size: 1.2rem;
  }
}

@media (max-width: 480px) {
  .news-container {
    gap: 1.5rem;
  }
  .news-card img {
    max-height: 200px;
  }
  .news-text {
    font-size: 0.85rem;
  }
}

@media (max-width: 1024px) and (min-width: 769px) {
  .news-card {
    gap: 1.5rem;
  }
  .news-card img {
    width: 250px;
  }
}

.circle {
  position: absolute;
  border: 2px solid #E6007A;
  border-radius: 50%;
  background-color: transparent;
  opacity: 0;
  animation: grow 5s linear forwards;
  z-index: 0;
}

@keyframes grow {
  0% {
    opacity: 0;
    width: 1mm;
    height: 1mm;
    transform: translate(-50%, -50%);
  }
  20% {
    opacity: 1;
    width: 3mm;
    height: 3mm;
    transform: translate(-50%, -50%);
  }
  40% {
    width: 5mm;
    height: 5mm;
    transform: translate(-50%, -50%);
  }
  60% {
    width: 7mm;
    height: 7mm;
    transform: translate(-50%, -50%);
  }
  80% {
    width: 8mm;
    height: 8mm;
    transform: translate(-50%, -50%);
  }
  100% {
    width: 9mm;
    height: 9mm;
    opacity: 0;
    transform: translate(-50%, -50%);
  }
}

/* Glossary Section Styling (folgt vonFlandern Design-Pattern) */
.glossary-container {
  margin-top: 1rem;
}

.glossary-term {
  background: rgba(255, 255, 255, 0.02);
  border-left: 3px solid #333333;
  padding: 1rem;
  margin-bottom: 1rem;
  border-radius: 0 4px 4px 0;
  transition: border-left-color 0.3s ease;
}

.glossary-term:hover {
  border-left-color: #e6007a;
}

.glossary-term-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.5rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.glossary-term-header strong {
  font-size: 1.05rem;
  color: #ffffff;
  flex: 1;
  min-width: 200px;
}

.glossary-more-link {
  color: #e6007a;
  text-decoration: none !important;
  font-size: 0.85rem;
  font-weight: 500;
  padding: 0.3rem 0.6rem;
  border: 1px solid #e6007a;
  border-radius: 4px;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.glossary-more-link:hover {
  background-color: #e6007a;
  color: #ffffff;
  transform: translateX(2px);
  text-decoration: none !important;
}

.glossary-definition {
  color: #cccccc;
  line-height: 1.6;
}

.glossary-meta {
  border-top: 1px solid #444444;
  padding-top: 1rem;
  text-align: center;
}

/* Responsive Design für mobile Geräte */
@media (max-width: 768px) {
  .glossary-term-header {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .glossary-more-link {
    order: -1;
    margin-bottom: 0.5rem;
  }
}









#polkadot, #polkadot-vfdb h3 {
  color: #222;
}

/* Flüssiger Übergang zwischen Validatoren */
#polkadot, #polkadot-vfdb {
  transition: 
  background 0s ease-in-out, 
  border-top 0s ease-in-out;
}

/* Hauptlogo - schwebt über der Fläche */
.validator-card-screen-default::before {
  content: '';
  position: absolute;
  top: 3.35rem;
  left: 50%;
  transform: translateX(-50%);
  width: 64px;
  height: 64px;
  background: url('IMG/crypto-currencies/polkadot.png') no-repeat;
  background-size: contain;
  z-index: 2;
  opacity: 1;
  transition: opacity 1.5s ease;
}

/* Schatten - dreht sich synchron mit dem Hauptlogo */
.validator-card-screen-default::after {
  content: '';
  position: absolute;
  top: calc(3.35rem + 9px);
  left: calc(50% + 10px);
  transform: translateX(-50%);
  width: 64px;
  height: 64px;
  background: url('IMG/crypto-currencies/polkadot_dark.png') no-repeat;
  background-size: contain;
  z-index: 1;
  opacity: 0.35;
  transition: all 1.5s ease 1.5s, filter 1.5s ease; /* Filter separat animieren */
  /* Schatten-Effekte mit starkem Blur (schwebendes Logo) */
  filter: blur(5px) brightness(0.1) saturate(1) contrast(0.8);
  transform: translateX(-50%) scale(1.0);
}

/* Animation: Logo UND Schatten drehen sich synchron */
.validator-card-screen-default.rotate-logo::before {
  animation: rotateLogo 1.5s ease forwards;
}

.validator-card-screen-default.rotate-logo::after {
  animation: rotateLogoShadow 1.5s ease forwards;
}

/* Rückwärts-Animation mit animation-direction: reverse */
.validator-card-screen-default.rotate-logo-back::before {
  animation: rotateLogo 1.5s ease forwards;
  animation-direction: reverse;
}

.validator-card-screen-default.rotate-logo-back::after {
  animation: rotateLogoShadow 1.5s ease forwards;
  animation-direction: reverse;
}

/* Ausblenden: Logo wird transparent, Schatten wandert und verschwindet */
.hide-polkadot-icon::before {
  opacity: 0.25;
}

/* Ausblenden: Logo wird transparent, Schatten wandert und Blur verkleinert sich */
.hide-polkadot-icon::after {
  top: 3.35rem;
  left: 50%;
  opacity: 0;
  transition: all 1.5s ease, filter 1.5s ease; /* Filter mit animieren */
  /* Schatten wird schärfer, da Logo näher zur Fläche */
  filter: blur(0px) brightness(0.6) saturate(0.2) contrast(0.8);
}

/* Einblenden: Logo wird wieder sichtbar, Schatten wandert zurück */
.show-polkadot-icon::before {
  opacity: 1;
  transition: opacity 1.5s ease;
}

.show-polkadot-icon::after {
  top: calc(3.35rem + 9px);
  left: calc(50% + 10px);
  opacity: 0.35;
  transition: all 1.5s ease, filter 1.5s ease; /* Filter mit animieren */
  /* Schatten wird wieder unschärfer, da Logo wieder schwebt */
  filter: blur(5px) brightness(0.1) saturate(1) contrast(0.8);
}

/* Polkadot VFDB Animation - gleiche Logik */
#polkadot-vfdb.validator-card-screen-default::before {
  content: '';
  position: absolute;
  top: 3.35rem;
  left: 50%;
  transform: translateX(-50%);
  width: 64px;
  height: 64px;
  background: url('IMG/crypto-currencies/polkadot.png') no-repeat;
  background-size: contain;
  z-index: 2;
  opacity: 1;
  transition: opacity 1.5s ease;
}

#polkadot-vfdb.validator-card-screen-default::after {
  content: '';
  position: absolute;
  top: calc(3.35rem + 9px);
  left: calc(50% + 10px);
  transform: translateX(-50%);
  width: 64px;
  height: 64px;
  background: url('IMG/crypto-currencies/polkadot_dark.png') no-repeat;
  background-size: contain;
  z-index: 1;
  opacity: 0.35;
  transition: all 1.5s ease 1.5s, filter 1.5s ease; /* Filter separat animieren */
  filter: blur(5px) brightness(0.1) saturate(1) contrast(0.8);
  transform: translateX(-50%) scale(1.0);
}

#polkadot-vfdb.validator-card-screen-default.rotate-logo::before {
  animation: rotateLogo 1.5s ease forwards;
}

#polkadot-vfdb.validator-card-screen-default.rotate-logo::after {
  animation: rotateLogoShadow 1.5s ease forwards;
}

#polkadot-vfdb.validator-card-screen-default.rotate-logo-back::before {
  animation: rotateLogo 1.5s ease forwards;
  animation-direction: reverse;
}

#polkadot-vfdb.validator-card-screen-default.rotate-logo-back::after {
  animation: rotateLogoShadow 1.5s ease forwards;
  animation-direction: reverse;
}

#polkadot-vfdb.hide-polkadot-icon::before {
  opacity: 0.25;
}

#polkadot-vfdb.hide-polkadot-icon::after {
  top: 3.35rem;
  left: 50%;
  opacity: 0;
  transition: all 1.5s ease, filter 1.5s ease; /* Filter mit animieren */
  /* Schatten wird schärfer */
  filter: blur(0px) brightness(0.6) saturate(0.2) contrast(0.8);
}

#polkadot-vfdb.show-polkadot-icon::before {
  opacity: 1;
  transition: opacity 1.5s ease;
}

#polkadot-vfdb.show-polkadot-icon::after {
  top: calc(3.35rem + 9px);
  left: calc(50% + 10px);
  opacity: 0.35;
  transition: all 1.5s ease, filter 1.5s ease; /* Filter mit animieren */
  /* Schatten wird wieder unschärfer */
  filter: blur(5px) brightness(0.1) saturate(1) contrast(0.8);
}



/* Keyframe-Animationen */
@keyframes rotateLogo {
  0% { transform: translateX(-50%) rotate(0deg); }
  100% { transform: translateX(-50%) rotate(60deg); }
}

@keyframes rotateLogoShadow {
  0% { 
    transform: translateX(-50%) rotate(0deg);
  }
  100% { 
    transform: translateX(-50%) rotate(60deg);
  }
}








