


/* Reuse polished commodity styling */
#crypto-widget.commodity-widget-polished {
  display: flex;
  justify-content: space-between;
  background: #203142;
  color: #eee;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  font-family: "Poppins", sans-serif;
  max-width: 900px;
  margin: 20px auto 40px;
}
#crypto-widget .commodity-item {
  flex: 1;
  text-align: center;
  padding: 16px;
  border-right: 1px solid rgba(255,255,255,0.1);
  transition: background 0.3s ease;
}
#crypto-widget .commodity-item:last-child {
  border-right: none;
}
#crypto-widget .commodity-item:hover {
  background: rgba(255,255,255,0.05);
}
#crypto-widget .commodity-name {
  font-size: 1.2rem;
  font-weight: 600;
  color: #eeeeee;
  margin-bottom: 8px;
}
#crypto-widget .commodity-ticker {
  font-size: 0.9rem;
  color: #888;
  margin-bottom: 12px;
}
#crypto-widget .commodity-price {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}


  .commodity-icon,
  .crypto-icon {
    width: 32px;
    height: 32px;
    display: block;
    margin: 0 auto 8px;
  }



      .ticker-item {
        display: inline-block;
        position: relative;
        opacity: 100%;
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
      }

      .ticker-item.squish-up {
        transform: translateY(-100%);
        opacity: 0;
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
      }

      .ticker-item.new {
        position: absolute;
        bottom: -100%;
        transform: translateY(100%);
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
        opacity: 0;
      }

      .ticker-item.new.slide-up {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
      }

      .ticker-item.green {
        color: #27ae60;
        opacity: 100%;
        transition: opacity 0.5s ease-in-out;
      }
      .ticker-item:hover {
        transform: scale(0.98);
        pointer-events: auto;
        filter: grayscale(30%);
        cursor: pointer;
        text-decoration: underline;
      }

      .ticker-item.red {
        color: #e74c3c;
        opacity: 100%;
        transition: opacity 0.5s ease-in-out;
      }

      .ticker-item {
        display: inline-block;
      }
      .ticker-item.fade-out {
        opacity: 0;
        transform: translateY(-100%);
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
      }
      .ticker-item.slide-in {
        opacity: 1;
        transform: translateY(-100%);
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
      }
  
      .ticker-item {
          padding: 0 10px;
          display: inline-block;
          white-space: nowrap;
          opacity: 1;
          transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
      }
        }
      .ticker-item.slide-out {
          transform: translateY(100%);
          opacity: 0;
          transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
      }
      .ticker-item.slide-in {
          transform: translateY(-100%);
          opacity: 0;
          transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
      }
      .ticker-item.active {
          transform: translateY(0);
          opacity: 1;
          transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
      }

      .green {
          color: #27ae60;
      }
      .red {
          color: #e74c3c;
      }
      .price {
          transition: color 1s ease-in-out;
      }
      .flash-digit {
          color: white;
      }
      [style*="color: white"] {
          margin: 0;
          padding: 0;
          display: inline;
      }

      .ticker-item {
        display: inline-block;
        position: relative;

        transition: transform 0.5s ease, opacity 1s ease, width 0.5s ease,
          margin 0.5s ease;
        white-space: nowrap;
      }

      .ticker-item.slide-out {
        transform: translateY(-100%);
        opacity: 0;
      }

      .ticker-item.slide-in {
        transform: translateY(100%);
        opacity: 0;
        position: absolute;
        top: 0;
      }

      .ticker-item.active {
        transform: translateY(0);
        opacity: 1;
        transition: opacity 1s ease;
      }

      .ticker-item.green {
        color: #27ae60;
      }

      .ticker-item.red {
        color: #e74c3c;
      }

      #ticker-content {
        display: flex;
        align-items: center;
        gap: 10px;
        overflow: hidden;
        position: relative;
      }
  
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }

      body {
        font-family: "Poppins", sans-serif;
        color: #333;
        background-color: #203142;
      }
      html {
        scroll-behavior: smooth;
      }
      /* Header */
      header {
        background: #1c2e40;
        color: white;
        padding: 20px 40px;
        z-index: 100;
        display: flex;
        width: 100%;
        height: 80px;
        position: fixed;
        opacity: 95%;
        justify-content: space-between;
        align-items: center;
      }
      header img {
        opacity: 100%;
      }

      header h1 {
        font-size: 2.5rem;
        font-weight: 600;
        opacity: 100%;
      }

      header nav a {
        color: white;
        margin-left: 20px;
        opacity: 100%;
        text-decoration: none;
        font-size: 1rem;
      }

      header nav a:hover {
        color: #3498db;
      }

      /* Hero Section */
      .hero {
        position: relative;
        height: 100vh;
        background: url("https://cdn.glitch.global/9fe4240b-3a36-4444-89dc-a0058647b258/lowresbg.jpg?v=1740350277124")
          no-repeat center center/cover;
        display: flex;
        transition: background 0.5s ease;
        justify-content: center;
        align-items: center;
        color: white;
        text-align: center;
        padding: 0 20px;
      }
      /* When high-res image is ready, remove the blur and change the background */
      .hero.full-res {
        background: url("https://cdn.glitch.global/9fe4240b-3a36-4444-89dc-a0058647b258/stormfront-bg.jpg?v=1729269152146")
          no-repeat center center/cover;
        filter: blur(0);
      }

      .hero::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5); /* This darkens the image */
        z-index: 1;
      }

      .hero div {
        position: relative;
        z-index: 2; /* Ensures the text stays above the overlay */
      }

      .hero h2 {
        font-size: 3.5rem;
        font-weight: 600;
      }

      .hero p {
        font-size: 1.25rem;
        margin: 20px 0;
      }

      .cta-btn {
        background-color: #3498db;
        color: white;
        padding: 15px 30px;
        text-transform: uppercase;
        font-weight: bold;
        border-radius: 5px;
        cursor: pointer;
        transition: background-color 0.3s ease;
      }

      .cta-btn:hover {
        background-color: #2980b9;
      }

      /* Ticker Section */
      .ticker {
        position: relative;
        width: 100%;
        height: 50px;
        background: #1c2e40;
        padding: 10px 0;
        font-size: 20px;
        color: white;
        overflow: hidden;

        white-space: nowrap;
      }

      .ticker-content {
        display: flex;
        width: max-content;
        font-size: 0px;
      }

      .ticker-item {
        margin-right: 30px;
        font-size: 20px;
        display: flex;
        transition: color 0.4s ease-in-out;
        transition: opacity 0.4s ease-in-out;
        color: inherit;
        align-items: center;
      }

      .ticker-item span {
        margin-left: 0px;
        font-size: 20px;
      }

      .ticker-item.green {
        color: #27ae60;
      }

      .ticker-item.red {
        color: #e74c3c;
      }

      @keyframes ticker-scroll {
        0% {
          transform: translateX(100%);
        }
        100% {
          transform: translateX(-100%);
        }
      }


  /* Hover-badge on your %-cells */
  #sheet-panel .pct-change {
    position: relative;
    cursor: pointer;
  }
  #sheet-panel .pct-change:hover::after {
    content: "Why?";
    position: absolute;
    top: -1.4em;    /* adjust up/down */
    right: 0;       /* align to right edge */
    background: rgba(255,255,255,0.95);
    color: #3498db;
    font-size: 0.75rem;
    padding: 2px 6px;
    border-radius: 3px;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    pointer-events: none;
  }

  /* the pop-over box */
  #why-popover {
    display: none;
    position: absolute;
    z-index: 10000;
    max-width: 300px;
    padding: 10px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    font-size: 0.9rem;
    line-height: 1.4;
  }
  #why-popover #why-close {
    position: absolute;
    top: 4px; right: 6px;
    border: none;
    background: transparent;
    font-size: 16px;
    cursor: pointer;
  }

/* Polished Commodity Widget Styling */
.commodity-widget-polished {
  display: flex;
  justify-content: space-between;
  background: #203142;
  color: #eee;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  font-family: "Poppins", sans-serif;
  max-width: 900px;
  margin: 0 auto;
}
  
.commodity-widget-polished .commodity-item {
  flex: 1;
  text-align: center;
  padding: 16px;
  border-right: 1px solid rgba(255,255,255,0.1);
  transition: background 0.3s ease;
}
.commodity-widget-polished .commodity-item:last-child {
  border-right: none;
}
.commodity-widget-polished .commodity-item:hover {
  background: rgba(255,255,255,0.05);
}
.commodity-widget-polished .commodity-name {
  font-size: 1.2rem;
  font-weight: 600;
  color: #eeeeee;
  padding-bottom: 12px;
  margin-bottom: 8px;
}
.commodity-widget-polished .commodity-ticker {
  font-size: 0.9rem;
  color: #888;
  margin-bottom: 12px;
}
.commodity-widget-polished .commodity-price {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}
  
  /* ─────────────────────────────────────────────────────────────────────
   Two-Tone Commodity & Crypto Panels
   ──────────────────────────────────────────────────────────────────── */
.commodity-widget-polished {
  position: relative;
  overflow: hidden;
  /* dark top 45%, crisp white bottom 55% */
  background: linear-gradient(
    to bottom,
    #203142 45%,
    #ffffff 45%
  );
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  display: flex;
  padding: 0;        /* we’ll handle padding per-item */
  color: #eee;       /* base color for dark half */
}

/* each item “card” */
.commodity-widget-polished .commodity-item {
  flex: 1;
  padding: 24px 16px;
  text-align: center;
  background: transparent; /* so the gradient shows through */
  position: relative;
  z-index: 1;
}

/* subtle vertical dividers */
.commodity-widget-polished .commodity-item:not(:last-child) {
  border-right: 1px solid rgba(0,0,0,0.1);
}

/* make text flip automatically:
   – white on the dark half
   – dark on the white half
   via mix-blend-mode */
.commodity-widget-polished .commodity-item * {
  mix-blend-mode: difference;
}

/* restore icon brightness (they’ll invert on the dark half) */
.commodity-widget-polished img {
  mix-blend-mode: normal;
}

/* if you’d rather explicitly set dark text on the white half,
   you can override like this: */
/*
.commodity-widget-polished {
  color: #203142;
}
*/
/* Dark 65% → White 35% */
.commodity-widget-polished {
  background: linear-gradient(
    to bottom,
    #203142 40%,
    #ffffff 40%
  );
}

/* Keep all your text auto-inverting except prices */
.commodity-widget-polished .commodity-item * {
  mix-blend-mode: difference;
}

/* Icons stay normal */
.commodity-widget-polished img {
  mix-blend-mode: normal;
}

  .commodity-price {
    padding-top: 10px;
    
  }
/* Force dollar values & tickers back to dark on white */
.commodity-widget-polished .commodity-price,

.commodity-widget-polished .commodity-ticker {
  color: #203142 !important;
  mix-blend-mode: normal;
}



  /* Carousel container */
  #featured-article .article-carousel {
    position: relative;
    height:160px;
  }
  /* Each slide */
  #featured-article .carousel-slide {
    position:absolute;
    top:0; left:0;
    width:100%; height:100%;
    padding:16px 24px;
    box-sizing:border-box;
    display:flex; flex-direction:column; justify-content:center; align-items:center;
    background: rgba(0,0,0,0.1);
    border-radius:8px;
    opacity:0; transition: opacity 1s ease-in-out;
    text-align:center;
  }
  #featured-article .carousel-slide.active {
    opacity:1;
  }
  /* Headline */
  #featured-article .carousel-slide h4 {
    margin:0 0 8px;
    font-size:1.25rem;
    line-height:1.3;
    color:#fff;
  }
  /* Description */
  #featured-article .carousel-slide p {
    margin:0;
    font-size:0.95rem;
    line-height:1.4;
    color:#ddd;
    max-width:90%;
  }
  /* Dots nav */
  #featured-article .carousel-dots {
    position:absolute; bottom:12px; left:50%;
    transform:translateX(-50%);
    display:flex; gap:8px;
  }
  #featured-article .carousel-dots .dot {
    width:10px; height:10px;
    border-radius:50%;
    background:rgba(255,255,255,0.4);
    cursor:pointer;
    transition: background 0.3s;
  }
  #featured-article .carousel-dots .dot.active {
    background:#3498db;
  }
  
  /* make the gold/silver/platinum icons small and uniform */
#commodity-widget .commodity-item img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  margin-bottom: 8px;  /* optional spacing */
}
#crypto-widget .commodity-item img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  margin-bottom: 8px;
}

  @media (max-width: 768px) {
  /* Stack precious-metals & crypto widgets vertically, tighten up padding */
  .commodity-widget-polished,
  #crypto-widget.commodity-widget-polished {
    flex-direction: column;
    padding: 16px;             /* a bit less than desktop */
  }
  .commodity-widget-polished .commodity-item,
  #crypto-widget .commodity-item {
    flex: none;                /* don’t try to share the row */
    padding: 8px 4px;          /* smaller touch targets */
    border-right: none;        /* remove the vertical separators */
    margin-bottom: 8px;        /* space between stacked items */
    font-size: 0.9rem;         /* scale down slightly */
  }

  /* DataTables: smaller font & tighter cells */
  table.dataTable th,
  table.dataTable td {
    padding: 4px 6px !important;  /* override the default */
    font-size: 0.75rem !important;
  }
  #gainers_wrapper,
  #losers_wrapper {
    margin-bottom: 1rem;       /* give some breathing room */
  }
  /* Optionally shrink the panel header too */
  #market-movers.panel h2 {
    font-size: 1.4rem;
  }
}

  @media (max-width: 768px) {
  /* Make both precious-metals and crypto widgets span 100% of their parent */
  #commodity-widget,
  #crypto-widget {
    flex: none;               /* don’t try to share a flex:1 slot */
    width: 100%;              /* full width */
    max-width: 100%;          /* ignore that old 900px cap */
    box-sizing: border-box;   /* include padding in that 100% */
    margin: 0;                /* remove any centering */
  }

  /* If you also stacked them vertically (instead of one atop the other),
     you might want to override their container: */
  .commodity-widget-polished {
    flex-direction: column;   /* stack items rather than row */
  }
}
  
  .commodity-change{
    
    font-weight: bold;
  }


        /* Panel Container */
  #market-movers.panel {
    background: #203142;
    color: #eee;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5);
    padding: 24px;
    font-family: "Poppins", sans-serif;
    max-width: 100%;
    margin: auto;
  }
  #market-movers h2 {
    color: #fff;
    font-size: 2rem;
    text-align: center;
    margin-bottom: 4px;
  }

  /* Columns */
  .movers-columns {
    display: flex;
    gap: 4px;
  }
  .movers-column {
    flex: 1;
  }
  .movers-column h3 {
    font-size: 1.25rem;
    color: #3498db;
    border-bottom: 1px solid rgba(52,152,219,0.4);
    padding-bottom: 4px;
    margin-bottom: 12px;
  }

  /* List & Rows */
  .movers-list {
    list-style: none;
    margin: 0;
      font-size: 1.3rem;
    padding: 0;
  }
  .movers-list li {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;

    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
  }
  .movers-list li:nth-child(even) {
    background: rgba(255,255,255,0.05);
        font-size: 1.1rem;
  }

  /* Symbol & Name */
  .movers-list .symbol {
    font-weight: 700;
    color: #fff;
    font-size: 1.1rem;
    margin-right: 12px;
  }
  .movers-list .name {
    color: #ccc;
    font-size: 0.95rem;
  }

  /* Price & Change */
  .movers-list .price {
    text-align: right;
    font-weight: 600;
        font-size: 1.5rem;
    margin-right: 16px;
  }
  .movers-list .change {
    font-weight: 700;
    text-align: right;
  }
  .movers-list .change.positive {
    color: #27ae60;
  }
  .movers-list .change.negative {
    color: #e74c3c;
  }

  @media (max-width: 768px) {
    #market-movers.panel {
      padding: 16px;
    }
    #market-movers h2 {
      font-size: 1.5rem;
    }
    .movers-column h3 {
      font-size: 2rem;
    }
    .movers-list li {
      grid-template-columns: 1fr auto auto;
      row-gap: 6px;
      display: grid;
      grid-template-areas:
        "symbol price"
        "name change";
      grid-template-columns: 1fr auto;
    }
    .movers-list .symbol { grid-area: symbol; }
    .movers-list .name   { grid-area: name; }
    .movers-list .price  { grid-area: price; }
    .movers-list .change { grid-area: change; }
    .movers-list .name { margin: 0; }
  }
        
        #gainers-list li:nth-child(odd),
#losers-list li:nth-child(odd) {
  background: rgba(52,152,219,0.1);
}
        /* prepend a rocket to the first movers-column title */
.movers-column:nth-of-type(1) h3::before {
  content: "📈 ";
}

/* prepend a down-triangle to the second movers-column title */
.movers-column:nth-of-type(2) h3::before {
  content: "📉 ";
}

  /* at widths ≤768px, stack left + right panels vertically */
  @media (max-width: 768px) {
    #dashboard {
      flex-direction: column;
    }
    /* make each child full-width */
    #dashboard > div {
      flex: none;
      width: 100%;
      margin-top: 16px;  /* spacing between rows */
    }
    /* remove extra top-margin on the very first panel */
    #dashboard > div:first-child {
      margin-top: 0;
    }
  }


      
      /* Services Section */
      .services {
        padding: 60px 40px;
        background: white;
      }

      .services h2 {
        text-align: center;
        font-size: 2.5rem;
        margin-bottom: 40px;
      }

      .service-container {
        display: flex;
        justify-content: space-between;
        text-align: center;
        flex-wrap: wrap;
      }

      /* About Us Section */
      .about {
        padding: 60px 40px;
        background-color: #f0f0f0;
      }

      .about h2 {
        text-align: center;
        font-size: 2.5rem;
        margin-bottom: 20px; /* Reduce margin */
      }

      .about-container {
        display: flex;
        align-items: flex-start; /* Align image with the top of the text */
        justify-content: space-between;
        flex-wrap: wrap;
      }

      .about-text {
        width: 60%; /* Adjust width to take more space on desktop */
        margin-right: 20px;
      }

      .about-text h3 {
        font-size: 1.75rem;
        margin-bottom: 20px;
      }

      .about-text p {
        font-size: 1rem;
        line-height: 1.6;
      }

      .about-img {
        width: 35%; /* Make image smaller for inline alignment */
      }

      .about-img img {
        width: 100%;
        height: auto;
        border-radius: 10px;
        object-fit: cover; /* Ensure the image covers the area well */
        /* Make the image more horizontal */
      }

      /* Responsive Design for About Section */
      @media (max-width: 1024px) {
        .about-text,
        .about-img {
          width: 100%;
          margin-right: 0;
        }

        .about-container {
          flex-direction: column;
          align-items: center;
        }

        .about-text {
          margin-bottom: 20px; /* Add space between text and image */
        }
      }

      @media (max-width: 768px) {
        .about h2 {
          font-size: 2rem;
        }

        header {
          padding-left: 10px;
          padding-top: 28px;
        }

        .about-text h3 {
          font-size: 1.5rem;
        }

        .about-text p {
          font-size: 0.95rem;
        }
      }

      @media (max-width: 768px) {
        header h1 {
          font-size: 2rem;
        }

        .hero h2 {
          font-size: 2.5rem;
        }

        .service,
        .portfolio-item {
          width: 100%;
        }

        .about h2,
        .portfolio h2,
        .contact h2 {
          font-size: 2rem;
        }
      }

      @media (max-width: 480px) {
        header nav a {
          font-size: 0.85rem;
        }

        .cta-btn {
          padding: 10px 20px;
          font-size: 0.85rem;
        }

        .hero h2 {
          font-size: 2rem;
        }

        .about h2,
        .portfolio h2,
        .contact h2 {
          font-size: 1.75rem;
        }
      }

      .hamburger-menu {
        display: none;
        background: none;
        border: none;
        font-size: 1.5rem;
        cursor: pointer;
        z-index: 1000;
        color: white;
      }

      #navbar {
        display: flex;
        z-index: 2000;
      }

      .dropdown-menu {
        display: none;
        background-color: #1c2e40;
        position: fixed;
        top: 80px;
        right: 20px;
        border-radius: 8px;

        z-index: 9999;
        padding: 10px 0;
      }

      .dropdown-menu a {
        display: block;
        color: white;
        padding: 10px 20px;

        text-decoration: none;
      }

      .dropdown-menu a:hover {
        background-color: #2980b9;
      }

      @media (max-width: 768px) {
        #navbar {
          display: none;
        }
        .hamburger-menu {
          display: block;
           z-index: 2000;
        }
      }
      

      @media only screen and (max-width: 768px) and (orientation: landscape) {
        header {
          display: none;
        }
      }
  :root {
    --bg: #f4f7fa;
    --panel: #ffffff;
    --dark: #2d3e50;
    --blue: #3498db;
    --green: #1abc9c;
    --red: #e74c3c;
    --light: #fafbfc;
    --highlight: #ecf1f5;
    --transition: 0.2s ease;
  }

  /* Panel */
  #sheet-panel {
    background: var(--panel);
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    padding: 1rem;
    max-width: 1000px;
    margin: 2rem auto;
    font-family: 'Poppins',sans-serif;
  }

  .panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .75rem;
  }
  .panel-header h2 {
    margin: 0;
    font-size: 1.5rem;
    color: var(--dark);
  }
  #mm-search {
    padding: .4rem .8rem;
    font-size: .9rem;
    border: 1px solid var(--blue);
    border-radius: 20px;
    width: 180px;
    transition: all var(--transition);
  }
  #mm-search:focus {
    outline: none;
    border-color: var(--green);
    box-shadow: 0 0 4px var(--green);
  }

  /* layout */
  .mm-container { display: flex; gap:1rem; }
  .mm-panel {
    flex:1;
    background: var(--light);
    border-radius:8px;
    overflow:hidden;
  }
  .mm-panel h3 {
    margin:0;
    padding:.5rem;
    background: var(--dark);
    color: var(--panel);
    font-size:1rem;
    text-align:center;
  }

  /* hide default filter */
  .dataTables_filter { display:none; }

  /* table */
  table.dataTable {
    border-collapse: separate!important;
    border-spacing: 0;
    width:100%!important;
    font-size:.8rem;
  }
  table.dataTable thead th {
    position: sticky;
    top:0;
    background:var(--dark)!important;
    color:var(--panel)!important;
    padding:.4rem;
    font-weight:600;
    z-index:2;
  }
  table.dataTable tbody tr:nth-child(odd)  { background: var(--panel); }
  table.dataTable tbody tr:nth-child(even) { background: var(--highlight); }
  table.dataTable tbody tr:hover           { background: var(--blue)10; }
  table.dataTable td {
    padding:.4rem;
    text-align:center;
    vertical-align:middle;
  }

  /* left-align & truncate Company */
  table.dataTable td:nth-child(2) {
    text-align:left;
    max-width:120px;
     font-size:0.8rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

      
        /* left-align & truncate Company */
  table.dataTable td:nth-child(1) {

     font-size:1.1rem;

  }
  /* coloring */
  .positive { color: var(--green); font-weight:600; }
  .negative { color: var(--red);   font-weight:600; }

  @media(max-width:768px){
    .panel-header { flex-direction:column; gap:.5rem }
    #mm-search { width:100%; max-width:none; }
    .mm-container { flex-direction:column; }
  }

  .breaking-news-bar {
    position: fixed;
    top: 80px; left: 0; right: 0;
    background: linear-gradient(135deg, #1c2e40 0%, #203142 100%);
    color: white;
    z-index: 70;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    border-bottom: 2px solid #3498db;
    transform: translateY(-100%);
    opacity: 0;
    transition: transform .4s ease-in-out, opacity .4s ease-in-out;
    font-family: "Poppins", sans-serif;
    overflow: hidden;
  }
  .breaking-news-bar.show {
    transform: translateY(0);
    opacity: 1;
  }
  .news-content {
    display: flex;
    align-items: center;
    padding: 12px 20px;
  }
  
  
  .breaking-label {
    background: #e74c3c;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: .75rem;
    font-weight: bold;
    text-transform: uppercase;
    margin-right: 15px;
    animation: pulse-red 2s infinite;
  }
  @keyframes pulse-red { 0%,100%{opacity:1;}50%{opacity:.7;} }
  .news-ticker {
    flex:1;
    overflow:hidden;
    white-space:nowrap;
    -webkit-mask-image: linear-gradient(to right,transparent 0,black 5%,black 95%,transparent 100%);
    mask-image:         linear-gradient(to right,transparent 0,black 5%,black 95%,transparent 100%);
  }
  .news-ticker-content {
    display:inline-block;
    padding-left:0;
    animation: scroll-left 70s linear infinite;
  }
@keyframes scroll-left {
  0%   { transform: translateX(0); }
  /* only move left by one copy’s width (i.e. 50% of the doubled content) */
  100% { transform: translateX(-50%); }
}
  .news-item {
    display:inline-block;
    margin-right:40px;
    font-size:.95rem;
  }
  .news-headline { font-weight:500; margin-right:10px; }
  .stock-info {
    display:inline-flex;
    align-items:center;
    background:rgba(255,255,255,0.1);
    padding:2px 8px;
    border-radius:12px;
    margin-left:8px;
  }
  .stock-ticker { font-weight:bold; margin-right:6px; }
  .stock-change { font-weight:bold; }
  .stock-change.positive { color:#27ae60; }
  .stock-change.negative { color:#e74c3c; }
  .news-close {
    background:none; border:none; color:white;
    font-size:1.2rem; cursor:pointer; margin-left:15px;
  }
  .news-loading {
    display:flex; align-items:center; justify-content:center; padding:15px;
  }
  .loading-spinner {
    width:16px; height:16px;
    border:2px solid rgba(255,255,255,0.3);
    border-top:2px solid white;
    border-radius:50%;
    animation:spin 1s linear infinite;
    margin-right:10px;
  }
  @keyframes spin { to{transform:rotate(360deg);} }
  @media (max-width:768px) {
    .news-item { margin-right:15px; font-size:.85rem; }
    .breaking-label { font-size:.7rem; padding:3px 8px; }
    .stock-ticker,.stock-change { font-size:.8rem; }
  }
  @media only screen and (max-width:768px) and (orientation:landscape) {
    .breaking-news-bar { display:none; }
  }
  
  @media (max-width: 768px) {
  /* slow it way down on phones */
  .news-ticker-content {
    /* was 60s — make it 120s (or whatever feels right) */
    animation-duration: 200s !important;
  }

  /* shrink the text a bit */
  .news-item {
    font-size: 9px !important; 
    margin-right: 20px;       /* tighten up the spacing too */
  }
}
.breaking-news-bar {
  transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out;
  will-change: transform, opacity;
}

.breaking-news-bar.hidden {
  transform: translateY(-100%);
  opacity: 0;
}

      /* Ensure the iframe takes full width */
      #chartIframe {
        width: 100%;
        border: none;
      }
  
      /* Ensure text inside service cards wraps correctly */
      .service,
      .card-front p,
      .card-back p {
        word-wrap: break-word;
        overflow-wrap: break-word;
      }

      .service-card {
        transition: background 0.7s ease;
      }
      .service-card:hover {
        background: #f0f0f0;
        transition: background 0.7s ease;
      }

      /* For smaller screens, stack service cards vertically and center them */
      @media (max-width: 780px) {
        .services-container {
          flex-direction: column;
          align-items: center;
        }
        .service-card {
          width: 90%;
          padding: 20px;
          border-radius: 10px;
          margin-bottom: 20px;
          transition: background 0.7s ease;
        }
        .service-card:hover {
          background: #f0f0f0;
          transition: background 0.7s ease;
        }
      }

      /* Services Section Styling */
      .our-services {
        padding: 60px 20px;
        background: white;
        padding-top: 0px;
        text-align: center;
      }

      .our-services h2 {
        font-size: 2.5rem;
        margin-bottom: 0px;
      }

      .services-container {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 20px;
      }

      #services {
        background-image: url("https://cdn.glitch.global/9fe4240b-3a36-4444-89dc-a0058647b258/Elegant_white_background_with_shiny_lines_generated.jpg?v=1738985748171"); /* Replace with the path to your image */
        background-size: cover; /* Ensures the image scales nicely */
        background-position: center center; /* Centers the image */
      }

      /* Service Card Styling */
      .service-card {
        perspective: 1000px;
        width: 30%;
        max-width: 400px;
        min-height: 300px; /* Ensures consistent size */
      }

      /* Mobile Fixes - Stack at 780px or less */
      @media (max-width: 780px) {
        .services-container {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          width: 100%;
          padding: 20px 0;
        }

        .service-card {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          text-align: center;
          background: #1a2b47; /* Ensures full blue background */
          color: #fff; /* White text for contrast */
          width: 90%;
          max-width: 400px;
          padding: 25px;
          border-radius: 12px; /* Smooth corners */
          box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
          margin: 15px 0;

          position: relative;
        }

        .service-card img {
          width: 60px;
          height: auto;
          margin-bottom: 12px;
          filter: brightness(0) invert(1);
          transition: invert 1.5s ease-in-out; /* Makes sure icons stay visible */
        }

        .service-card:hover img {
          filter: invert(0);
          transition: invert 1.5s ease-in-out;
        }
        .service-card h3 {
          font-size: 1.2rem;
          font-weight: bold;
          margin-bottom: 10px;
          background: none; /* Removes unnecessary extra backgrounds */
          text-align: center;
        }

        .service-card p {
          font-size: 0.95rem;
          color: #e0e0e0; /* Light text for readability */
          line-height: 1.5;
          width: 80%;
          max-width: 300px;
        }
      }
      /* New Service Cards CSS */
      /* --- New Service Cards CSS – Updated for Seamless 3D Flip --- */

      /* Container for the cards */
      .services-container {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
        padding: 0 20px;
      }

      /* Service card wrapper: remove the background here so the flip effect applies to the full card */
      .service-card {
        width: 30%;
        max-width: 400px;
        min-height: 300px;
        background: #1c2e40;
        perspective: 1000px;
        border: 4px solid #446655;
        border-radius: 8;
        overflow: hidden;
      }

      /* Inner container that flips */
      .card-inner {
        position: relative;
        width: 100%;

        height: 100%;
        transition: transform 0.8s ease-in-out;
        transform-style: preserve-3d;
      }

      /* Flip the entire inner container on hover */
      .service-card:hover .card-inner {
        transform: rotateY(180deg);
      }

      /* Both faces of the card */
      .card-front,
      .card-back {
        position: absolute;
        width: 100%;
        height: 100%;
        padding: 20px;
        box-sizing: border-box;
        backface-visibility: hidden;
        display: flex;

        flex-direction: column;
        align-items: center;
        justify-content: center;
      }

      /* Front face: blue background that now rotates with the card */
      .card-front {
        background: transparent;
        transition: background 1.5s ease;
        color: #ffffff;
      }

      /* Back face: light background with a subtle border and smooth transitions */
      .card-back {
        background: transparent;

        color: #333333;
        height: 100%;
        transform: rotateY(180deg);
        text-align: center;
        transition: background 1s ease-in-out, border 0.8s ease-in-out;
      }

      /* Image and text styles */
      .card-front img,
      .card-back img {
        width: 80px;
        height: auto;
        margin-bottom: 15px;
      }
      .card-front h3,
      .card-back h3 {
        margin-bottom: 10px;
        text-align: center;
      }
      .card-front p,
      .card-back p {
        font-size: 1rem;
        text-align: center;
        line-height: 1.4;
        margin: 0 auto;
      }

      /* Responsive adjustments for smaller screens */
      @media (max-width: 780px) {
        .service-card {
          width: 90%;
        }
        .card-front,
        .card-back {
          padding: 15px;
        }
        .card-front h3,
        .card-back h3 {
          font-size: 1.2rem;
        }
        .card-front p,
        .card-back p {
          font-size: 0.9rem;
        }
      }

      /* Link Styling */
      .card-back a {
        color: #1478ab;
        text-decoration: underline;
        font-weight: bold;
      }

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

      #navlogo {
        filter: brightness(100%);

        transition: filter 0.5s ease-in-out;
      }
      #navlogo:hover {
        filter: brightness(90%);
      }

      @keyframes fadeInLeft {
        from {
          opacity: 0;
          transform: translateY(-20px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      /* All ticker items start with zero opacity */
      .ticker-item {
        opacity: 0;
      }

      /* When the "appear" class is added, run the fadeInLeft animation */
      .ticker-item.appear {
        animation: fadeInLeft 0.8s ease-out forwards;
      }

      .floating-refresh-btn {
        position: absolute; /* Positioned relative to the ticker container */
        top: 50%; /* Centered vertically */
        right: 10px; /* Small margin on the right */
        transform: translateY(-50%); /* Perfect vertical alignment */
        z-index: 10; /* Ensures it overlaps the ticker */
        background-color: #0a4b7d; /* Darker blue */
        color: white; /* Text color */
        border: none;
        border-radius: 8px; /* Rounded rectangle shape */
        padding: 10px 20px; /* More padding for the rectangle */
        font-size: 14px; /* Slightly larger font */
        font-weight: bold;
        cursor: pointer;
        box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2); /* Subtle shadow for depth */
        transition: background-color 0.3s ease, transform 0.2s ease;
        display: flex;
        align-items: center;
        gap: 5px; /* Spacing between the text and arrow */
      }

      .floating-refresh-btn:hover {
        background-color: #205e8e; /* Even darker blue on hover */
        transform: translateY(-50%) scale(1.05); /* Slight zoom effect */
      }

      .floating-refresh-btn span {
        font-size: 18px; /* Arrow size */
        display: inline-block;
      }


        #flash {
          animation: flashGrow 4s ease-in-out infinite,
            flashGlow 2s ease-in-out infinite;
        }

        @keyframes flashGlow {
          0%,
          100% {
            opacity: 80%;
          }
          50% {
            opacity: 50%;
          }
        }

        @keyframes flashGrow {
          0%,
          100% {
            scale: 0.95;
          }
          60% {
            scale: 1.05;
          }
        }

        /* Overlay covering the iframe */
        #chartOverlay {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background: rgba(0, 0, 0, 0.75);
          display: flex;
          justify-content: center;
          align-items: center;
          z-index: 69;
        }

        /* Overlay content styling */
        #chartOverlay .overlay-content {
          text-align: center;
          color: #fff;
          padding: 20px;
          max-width: 90%;
          background: rgba(0, 0, 0, 0.5);
          border-radius: 8px;
        }

        #chartOverlay .overlay-icon {
          font-size: 48px;
          margin-bottom: 15px;
        }

        #chartOverlay button {
          margin-top: 15px;
          padding: 8px 16px;
          background: #3498db;
          border: none;
          border-radius: 4px;
          color: #fff;
          cursor: pointer;
        }

        .fx-ticker-item {
          padding: 0 30px;
          display: flex;
          gap: 10px;
          white-space: nowrap;
          transform: scale(1);
          transition: transform 0.3s ease-out;
        }

        .fx-ticker-item:hover {
          transform: scale(0.95);
        }
        .fx-ticker-container {
          padding-left: 50px;
          padding-right: 20px;
          margin-top: 0px;
          display: flex;
        }
        .fx-ticker-content {
          display: flex;
          animation: scrollTicker 30s linear infinite; /* Adjust speed here */
        }
        @keyframes scrollTicker {
          0% {
            transform: translateX(100%);
          }
          100% {
            transform: translateX(-100%);
          }
        }

        .invert {
          filter: invert(90%);
        }

        @keyframes fadeIn {
          from {
            opacity: 0;
          }
          to {
            opacity: 1;
          }
        }

        /* Apply fade-in animation to ticker items with a class, e.g. .fade-in */
        .ticker-item.fade-in {
          animation: fadeIn 1s ease-out forwards;
        }

      /* Wrapper around the whole team section */
      .team-wrapper {
        /* Slightly darker gray for contrast */
        padding: 50px;
        background-image: url("https://cdn.glitch.global/9fe4240b-3a36-4444-89dc-a0058647b258/Elegant_white_background_with_shiny_lines_generated.jpg?v=1738985748171"); /* Replace with the path to your image */
        background-size: cover; /* Ensures the image scales nicely */
        background-position: center center; /* Centers the image */

        border-radius: 15px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        margin: 20px auto;
        max-width: 95%;
        text-align: center;
      }
      /* Special case: Remove background for the 5th team member */
      .team-member:nth-child(5) {
        background: none;
        box-shadow: none;
        padding: 0;
        border: 0px solid #fff;
      }

      /* Team Grid */
      .team {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        justify-content: space-around;
      }

      /* Each Team Member Card */
      .team-member {
        background: white;
        padding: 30px;
        border-radius: 15px;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
        width: 30%;
        text-align: center;
        transition: transform 0.3s ease-in-out;
      }

      .team-member:hover {
        transform: translateY(-5px); /* Slight hover lift effect */
      }

      /* Profile Image */
      .team-photo {
        width: 150px;
        height: 150px;
        margin: 0 auto 20px;
        border-radius: 50%;
        overflow: hidden;
        position: relative;
      }

      /* Default border (no animation) */
      .team-photo::before {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 50%;
        border: 4px solid transparent; /* No border by default */
        transition: border-color 0.5s ease-in-out, border-width 0.5s ease-in-out;
      }

      /* Blue ring appears and animates on hover */
      .team-member:hover .team-photo::before {
        border-color: rgba(38, 56, 73, 0.7); /* Medium blue */
        border-width: 8px;
      }

      /* Image inside the circle */
      .team-photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 50%;
      }

      /* Team Member Text */
      .team-member h4 {
        font-size: 1.25rem;
        font-weight: bold;
        margin-bottom: 8px;
      }

      .team-member .position {
        font-size: 1rem;
        color: #666;
        margin-bottom: 10px;
      }

      .team-member p {
        font-size: 1rem;
        color: #333;
      }
      @media (max-width: 768px) {
        .team-member:nth-child(5) {
          display: none;
        }
      }

      /* Responsive for Mobile */
      @media (max-width: 1024px) {
        .team {
          flex-direction: column;
          align-items: center;
          align: center;
          margin-left: auto;
          margin-right: auto;
        }

        .team-member {
          width: 90%;
        }
        .team-photo {
          width: 120px; /* Smaller image container on mobile */
          height: 120px;
          align: center;
          margin: 0 auto 15px;
        }
        .team-photo img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }

      #logoonly {
        filter: brightness(40%);

        width: 350px;
        margin: 0 auto 20px;
        border-radius: 0%;
        overflow: hidden;
        display: none;
      }
      @media screen and (min-width: 768px) {
        #logoonly {
          display: flex;
        }
      }

      .about-container {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
      }

      .team {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        justify-content: space-between;
        width: 100%;
      }

      .team-member {
        text-align: center;
        border: 5px solid #566879;
      }

      .team-photo {
        width: 150px;
        height: 150px;
        margin: 0 auto 20px;
        border-radius: 50%;
        overflow: hidden;
        background-color: #e0e0e0;
      }

      .team-photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      .team-member h4 {
        font-size: 1.25rem;
        font-weight: 600;
        margin-bottom: 10px;
      }

      .team-member .position {
        font-size: 1rem;
        color: #666;
        margin-bottom: 10px;
      }

      .team-member p {
        font-size: 1rem;
        color: #333;
      }

      .about {
        padding: 60px 20px;
        background-color: #f5f5f5;
      }
      .about-title {
        text-align: center;
        font-size: 2.5rem;
        margin-bottom: 40px;
      }
      .about-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 40px;
        flex-wrap: wrap;
      }
      .about-text {
        flex: 1;
        min-width: 200px;
      }
      .about-heading {
        font-size: 2rem;
        margin-bottom: 20px;
      }
      .about-paragraph {
        font-size: 1.5rem;
        line-height: 1.6;
        margin-bottom: 20px;
      }
      .about-img {
        flex: 1;
        min-width: 100px;
        text-align: center;
      }
      .about-img img {
        max-width: 80%;
        height: auto;
        border-radius: 10px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
      }
      @media (max-width: 768px) {
        .about-container {
          flex-direction: column;
          align-items: center;
        }
        .about-title {
          font-size: 2rem;
        }
        .about-heading {
          font-size: 1.75rem;
        }
        .about-paragraph {
          font-size: 1.5rem;
        }
      }

      /* Contact Section */
      .contact {
        padding: 60px 40px;
        background: #2c3e50;
        color: white;
      }

      .contact h2 {
        text-align: center;
        font-size: 2.5rem;
        margin-bottom: 40px;
      }

      .contact-container {
        display: flex; /* Flexbox for side-by-side alignment */
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap; /* Allow wrapping for responsiveness */
        gap: 10px; /* Reduced gap for closer spacing */
      }

      .contact-form {
        width: 100%;
        max-width: 40%; /* Increased width for better balance */
        margin-bottom: 20px;
        background: #34495e; /* Slight contrast background */
        padding: 20px;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
      }

      .contact-form input,
      .contact-form textarea {
        width: 100%;
        padding: 15px;
        margin-bottom: 20px;
        border: none;
        border-radius: 5px;
        background: #ecf0f1; /* Light background for inputs */
        color: #2c3e50;
      }

      .contact-form textarea {
        resize: none; /* Prevent resizing */
      }

      .contact-form button {
        width: 100%;
        padding: 15px;
        background-color: #3498db;
        border: none;
        color: white;
        font-weight: bold;
        cursor: pointer;
        border-radius: 5px;
        transition: background-color 0.3s ease;
      }

      .contact-form button:hover {
        background-color: #2980b9;
      }

      .contact-info {
        width: 100%;
        max-width: 55%; /* Wider for better proportion */
        padding: 20px;
        background: #34495e; /* Matching background */
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
      }

      .contact-info p {
        margin-bottom: 15px; /* Reduced spacing for compact look */
        font-size: 1.1rem;
        line-height: 1.6;
      }

      .contact-info a {
        color: #3498db;
        text-decoration: none;
      }

      .contact-info a:hover {
        color: #2980b9;
      }

      /* Responsive adjustments */
      @media (max-width: 768px) {
        .contact-container {
          flex-direction: column; /* Stack vertically on smaller screens */
        }

        .contact-form,
        .contact-info {
          max-width: 100%; /* Full width on smaller screens */
        }
      }
      textarea {
        font-family: inherit;
        font-size: 0.8em;
      }

      /* Footer */
      footer {
        background: #111;
        color: white;
        text-align: center;
        padding: 20px;
        font-size: 0.9rem;
      }

      footer p {
        margin-bottom: 0;
      }

      /* Responsive Design */
      @media (max-width: 1024px) {
        .service,
        .portfolio-item {
          width: 45%;
        }

        .about-container,
        .contact-container {
          flex-direction: column;
        }

        .about-text,
        .about-img,
        .contact-info {
          width: 100%;
          margin-bottom: 40px;
        }
      }

      /* Underline the article title on hover */
      .article-info h4 a:hover {
        text-decoration: underline;
      }
      /* Change cursor to pointer for clickable elements */
      .article-thumbnail:hover,
      .article-info h4 a:hover,
      .article-info .description:hover {
        cursor: pointer;
      }


      .explore-more {
        padding: 40px 20px;
        background-color: #f7f7f7;
        text-align: center;
      }
      .explore-more h3 {
        font-size: 2em;
        color: #444;
        margin-bottom: 20px;
      }
      .articles-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
        max-width: 1200px;
        margin: 0 auto;
      }
      .article-card {
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 8px;
        overflow: hidden;
        text-align: left;
        transition: transform 0.3s ease;
      }
      .article-card:hover {
        transform: translateY(-5px);
      }
      .article-thumbnail {
        width: 100%;
        height: 140px;
        position: relative;
        overflow: hidden;
      }
      .article-thumbnail img {
        display: block;
        width: 100%;
        height: 100%;
        box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.7);
        object-fit: cover;
        transition: transform 0.3s ease, box-shadow 0.5s ease;
      }

      .article-thumbnail:hover img {
        transform: scale(1.05);
        box-shadow: 0px 4px 15px rgba(0, 0, 0, 0);
      }

      .article-info {
        padding: 15px;
      }
      .article-info h4 {
        margin: 0 0 10px;
        font-size: 1.2em;
        color: #333;
      }
      .article-info h4 a {
        text-decoration: none;
        color: inherit;
      }
      .article-info .description {
        font-size: 0.9em;
        color: #666;
        margin-bottom: 10px;
      }
      .meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 0.8em;
        color: #999;
      }
      .meta .author {
        display: flex;
        align-items: center;
      }
      .meta .author img {
        width: 30px;
        height: 30px;
        border-radius: 50%;
        margin-right: 8px;
        object-fit: cover;
      }
    


      .btn-group {
        margin-bottom: 20px;
      }

      .btn-group button {
        padding: 10px 20px;
        margin-right: 5px;
        cursor: pointer;
        background-color: #3498db;
        color: white;
        border: none;
        border-radius: 4px;
        transition: background-color 0.3s ease;
      }

      .btn-group button:hover {
        background-color: #2980b9;
      }
      
      @media (max-width: 768px) {
  /* Shrink the outer Market Movers box */
  #sheet-panel {
    padding: 7px !important;       /* was 16px (1rem) */
    margin: 7px auto !important;   /* reduce top/bottom spacing */
  }
  /* Tighter gap between the two inner panels */
  .mm-container {
    gap: 6px !important;           /* was 1rem */
  }
}
@media (max-width: 768px) {
  /* Shrink the outer dashboard container around Market Movers + widgets */
  #dashboard {
    padding: 8px !important;   /* was 16px */
    gap: 4px !important;       /* was 6px, tightens panels closer */
  }
}
/* ———————————————————————————————————————————————————————————————
   🔁 Unify Crypto with Precious‐Metals Panel
   ——————————————————————————————————————————————————————————————— */

/* Step 1: Kill off the old #crypto-widget styles */
#crypto-widget.commodity-widget-polished {
  all: unset;
}

/* Step 2: Re-apply the exact same “two-tone” look you built for #commodity-widget */
#crypto-widget.commodity-widget-polished {
  position: relative;
  overflow: hidden;
  display: flex;
  /* dark top 40%, crisp white bottom 60% */
  background: linear-gradient(
    to bottom,
    #203142 50%,
    #ffffff 50%
  );
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  padding: 0;              /* we’ll pad each item individually */
  color: #eee;             /* base color for the dark half */
  font-family: "Poppins", sans-serif;
  max-width: 900px;
  margin: 20px auto 40px;
}

/* Step 3: Make each coin slot match the metals slots exactly */
#crypto-widget.commodity-widget-polished .commodity-item {
  flex: 1;
  text-align: center;
  padding: 24px 16px;
  background: transparent; /* let the gradient show through */
  position: relative;
  z-index: 1;
  border-right: 1px solid rgba(0,0,0,0.1);
}
#crypto-widget.commodity-widget-polished .commodity-item:last-child {
  border-right: none;
}

/* auto-invert text on the dark half, except icons */
#crypto-widget.commodity-widget-polished .commodity-item * {
  mix-blend-mode: difference;
}
#crypto-widget.commodity-widget-polished img {
  mix-blend-mode: normal;
}

/* force the price & ticker back to dark on the white half */
#crypto-widget.commodity-widget-polished .commodity-price,
#crypto-widget.commodity-widget-polished .commodity-ticker {
  color: #203142 !important;
  mix-blend-mode: normal;
}

/* Step 4: Make the coin‐prices the exact same size as the metals —
   but let them scale if you have a really big number like Bitcoin */
#crypto-widget.commodity-widget-polished .commodity-price {
  /* matches your metals at ~1.6rem, but will shrink/grow between 1.2–1.8rem */
  font-size: clamp(1.2rem, 4vw, 1.8rem);
  font-weight: 700;
  line-height: 1;
}

      @media (max-width: 768px) {
  /* Keep the two-tone panels side-by-side and allow horizontal scroll */
  .commodity-widget-polished {
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    overflow-x: auto;
    padding: 0;              /* let each item maintain its own padding */
  }

  /* Give each “card” a minimum width so they don’t collapse */
  .commodity-widget-polished .commodity-item {
    flex: 0 0 28%;           /* roughly three items per row */
    min-width: 150px;        /* or whatever you want your narrowest card to be */
    margin: 0 8px;           /* space between cards */
  }

@media (max-width: 768px) {
  /* Kill the auto-invert on mobile */
  .commodity-widget-polished .commodity-item * {
    mix-blend-mode: normal !important;

  }
  
  .commodity-name {
        color: #203142 !important;  /* choose whatever dark color you want */
    
  }
}

  /* Ensure crypto panel uses the same rules */
  #crypto-widget.commodity-widget-polished {
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    overflow-x: auto;
  }
  #crypto-widget.commodity-widget-polished .commodity-item {
    flex: 0 0 28%;
    min-width: 150px;
    margin: 0 8px;
  }
}
@media (max-width: 768px) {
  /* 1) Remove the “two-tone” wrapper completely */
  .commodity-widget-polished,
  #crypto-widget.commodity-widget-polished {
    background: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    display: block !important;
  }

  /* 2) Turn each item into its own full-width two-tone card */
  .commodity-widget-polished .commodity-item,
  #crypto-widget.commodity-widget-polished .commodity-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 12px;               /* space between cards */
    padding: 12px 16px;
    box-sizing: border-box;
    background: linear-gradient(
      to bottom,
      #ffffff 40%,
      #ffffff 40%
    );
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  }

  /* 3) Scale icons & text so nothing overflows */
  .commodity-widget-polished .commodity-item img,
  #crypto-widget.commodity-widget-polished .commodity-item img {
    width: 24px;
    height: 24px;
    margin-right: 8px;
    flex-shrink: 0;
  }
  .commodity-widget-polished .commodity-item .commodity-name,
  #crypto-widget.commodity-widget-polished .commodity-item .commodity-name {
    font-size: 1rem;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .commodity-widget-polished .commodity-item .commodity-price,
  #crypto-widget.commodity-widget-polished .commodity-item .commodity-price {
    font-size: 1.1rem;
    flex-shrink: 0;
    margin-left: 8px;
    white-space: nowrap;
  }
  .commodity-widget-polished .commodity-item .commodity-change,
  #crypto-widget.commodity-widget-polished .commodity-item .commodity-change {
    font-size: 0.9rem;
    flex-shrink: 0;
    margin-left: 6px;
  }
  .commodity-widget-polished .commodity-item .commodity-ticker,
  #crypto-widget.commodity-widget-polished .commodity-item .commodity-ticker {
    font-size: 0.8rem;
    flex-shrink: 0;
    margin-left: 6px;
    opacity: 0.7;
  }
}

      .btn-group {
        margin-bottom: 20px;
      }

      .btn-group button {
        padding: 10px 20px;
        margin-right: 5px;
        cursor: pointer;
        background-color: #3498db;
        color: white;
        border: none;
        border-radius: 4px;
        transition: background-color 0.3s ease;
      }

      .btn-group button:hover {
        background-color: #2980b9;
      }
      
      @media (max-width: 768px) {
  /* Shrink the outer Market Movers box */
  #sheet-panel {
    padding: 7px !important;       /* was 16px (1rem) */
    margin: 7px auto !important;   /* reduce top/bottom spacing */
  }
  /* Tighter gap between the two inner panels */
  .mm-container {
    gap: 6px !important;           /* was 1rem */
  }
}
@media (max-width: 768px) {
  /* Shrink the outer dashboard container around Market Movers + widgets */
  #dashboard {
    padding: 8px !important;   /* was 16px */
    gap: 4px !important;       /* was 6px, tightens panels closer */
  }
}
/* ———————————————————————————————————————————————————————————————
   🔁 Unify Crypto with Precious‐Metals Panel
   ——————————————————————————————————————————————————————————————— */

/* Step 1: Kill off the old #crypto-widget styles */
#crypto-widget.commodity-widget-polished {
  all: unset;
}

/* Step 2: Re-apply the exact same “two-tone” look you built for #commodity-widget */
#crypto-widget.commodity-widget-polished {
  position: relative;
  overflow: hidden;
  display: flex;
  /* dark top 40%, crisp white bottom 60% */
  background: linear-gradient(
    to bottom,
    #203142 50%,
    #ffffff 50%
  );
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  padding: 0;              /* we’ll pad each item individually */
  color: #eee;             /* base color for the dark half */
  font-family: "Poppins", sans-serif;
  max-width: 900px;
  margin: 20px auto 40px;
}

/* Step 3: Make each coin slot match the metals slots exactly */
#crypto-widget.commodity-widget-polished .commodity-item {
  flex: 1;
  text-align: center;
  padding: 24px 16px;
  background: transparent; /* let the gradient show through */
  position: relative;
  z-index: 1;
  border-right: 1px solid rgba(0,0,0,0.1);
}
#crypto-widget.commodity-widget-polished .commodity-item:last-child {
  border-right: none;
}

/* auto-invert text on the dark half, except icons */
#crypto-widget.commodity-widget-polished .commodity-item * {
  mix-blend-mode: difference;
}
#crypto-widget.commodity-widget-polished img {
  mix-blend-mode: normal;
}

/* force the price & ticker back to dark on the white half */
#crypto-widget.commodity-widget-polished .commodity-price,
#crypto-widget.commodity-widget-polished .commodity-ticker {
  color: #203142 !important;
  mix-blend-mode: normal;
}

/* Step 4: Make the coin‐prices the exact same size as the metals —
   but let them scale if you have a really big number like Bitcoin */
#crypto-widget.commodity-widget-polished .commodity-price {
  /* matches your metals at ~1.6rem, but will shrink/grow between 1.2–1.8rem */
  font-size: clamp(1.2rem, 4vw, 1.8rem);
  font-weight: 700;
  line-height: 1;
}

      @media (max-width: 768px) {
  /* Keep the two-tone panels side-by-side and allow horizontal scroll */
  .commodity-widget-polished {
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    overflow-x: auto;
    padding: 0;              /* let each item maintain its own padding */
  }

  /* Give each “card” a minimum width so they don’t collapse */
  .commodity-widget-polished .commodity-item {
    flex: 0 0 28%;           /* roughly three items per row */
    min-width: 150px;        /* or whatever you want your narrowest card to be */
    margin: 0 8px;           /* space between cards */
  }

@media (max-width: 768px) {
  /* Kill the auto-invert on mobile */
  .commodity-widget-polished .commodity-item * {
    mix-blend-mode: normal !important;

  }
  
  .commodity-name {
        color: #203142 !important;  /* choose whatever dark color you want */
    
  }
}

  /* Ensure crypto panel uses the same rules */
  #crypto-widget.commodity-widget-polished {
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    overflow-x: auto;
  }
  #crypto-widget.commodity-widget-polished .commodity-item {
    flex: 0 0 28%;
    min-width: 150px;
    margin: 0 8px;
  }
}
@media (max-width: 768px) {
  /* 1) Remove the “two-tone” wrapper completely */
  .commodity-widget-polished,
  #crypto-widget.commodity-widget-polished {
    background: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    display: block !important;
  }

  /* 2) Turn each item into its own full-width two-tone card */
  .commodity-widget-polished .commodity-item,
  #crypto-widget.commodity-widget-polished .commodity-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 12px;               /* space between cards */
    padding: 12px 16px;
    box-sizing: border-box;
    background: linear-gradient(
      to bottom,
      #ffffff 40%,
      #ffffff 40%
    );
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  }

  /* 3) Scale icons & text so nothing overflows */
  .commodity-widget-polished .commodity-item img,
  #crypto-widget.commodity-widget-polished .commodity-item img {
    width: 24px;
    height: 24px;
    margin-right: 8px;
    flex-shrink: 0;
  }
  .commodity-widget-polished .commodity-item .commodity-name,
  #crypto-widget.commodity-widget-polished .commodity-item .commodity-name {
    font-size: 1rem;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .commodity-widget-polished .commodity-item .commodity-price,
  #crypto-widget.commodity-widget-polished .commodity-item .commodity-price {
    font-size: 1.1rem;
    flex-shrink: 0;
    margin-left: 8px;
    white-space: nowrap;
  }
  .commodity-widget-polished .commodity-item .commodity-change,
  #crypto-widget.commodity-widget-polished .commodity-item .commodity-change {
    font-size: 0.9rem;
    flex-shrink: 0;
    margin-left: 6px;
  }
  .commodity-widget-polished .commodity-item .commodity-ticker,
  #crypto-widget.commodity-widget-polished .commodity-item .commodity-ticker {
    font-size: 0.8rem;
    flex-shrink: 0;
    margin-left: 6px;
    opacity: 0.7;
  }
}


      .contact-container {
        display: flex;
        flex-wrap: nowrap; /* Forces all three sections to stay in one row */
        justify-content: space-between;
        align-items: stretch;
        gap: 15px;
      }

      .contact-form,
      .contact-map,
      .contact-info {
        flex: 1;
        min-width: 30%;
      }

      @media (max-width: 1024px) {
        .contact-container {
          flex-wrap: wrap !important;
          /* Ensures a clean stack on smaller screens */
        }
      }

      @media (max-width: 1024px) {
        .contact-container {
          flex-wrap: wrap !important; /* Forces single line */
        }
      }

      /* Footer Styling */
      footer {
        background: #111;
        color: white;
        text-align: center;
        padding: 20px;
        font-size: 0.9rem;
      }

      .ticker-item {
        transition: opacity 0.5s ease;
      }

      .fade {
        opacity: 0;
        transition: opacity 0.5s ease;
      }
