:root {
    --primary: #0062cc;
    --secondary: #2c3e50;
    --light: #f8f9fa;
    --dark: #343a40;
    --accent: #17a2b8;
        }
      /*
    .gradient-text {
      background: linear-gradient(to right, #3b82f6, #6366f1);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    */
    .gradient-text {
      background: linear-gradient(to right, #4b5563, #374151, #1f2937); /* gray-600 → gray-700 → gray-900 */
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    /* Modal Styles */
    .modal-simple {
        display: none;
        position: fixed;
        z-index: 100;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        overflow: auto;
        background-color: rgba(0,0,0,0.9);
    }
    
    .modal-content-simple {
        margin: auto;
        display: block;
        max-width: 80%;
        max-height: 80%;
        margin-top: 5%;
    }
    
    #modalCaption {
        margin: auto;
        display: block;
        width: 80%;
        max-width: 700px;
        text-align: center;
        color: white;
        padding: 10px 0;
        height: 150px;
    }
    
    .close-modal {
        position: absolute;
        top: 15px;
        right: 35px;
        color: #f1f1f1;
        font-size: 40px;
        font-weight: bold;
        transition: 0.3s;
        cursor: pointer;
    }
    
    .close-modal:hover,
    .close-modal:focus {
        color: #bbb;
        text-decoration: none;
        cursor: pointer;
    }


    .card-icon {
      font-size: 2rem;
      color: #3b82f6;
      margin-bottom: 1rem;
    }
    .highlight-box {
            background-color: var(--secondary);
            color: white;
            padding: 40px;
            border-radius: 8px;
            text-align: center;
            margin: 50px 0px 0px 0px;
    }

    .highlight-box p span {
      display: none;
    }
        

    .offscreen {
                position: absolute;
                left: -9999px;
                top: -9999px;
                width: 1px;
                height: 1px;
                overflow: hidden;
                white-space: nowrap;
    }


    @media (max-width:379px) {
      .highlight-box p {
        font-size: 1.5rem;
      }     
      .highlight-box p span {
        display: block;
      }
  
    }

  /*
  Dynamically truncates text to a maximum number of characters (e.g. 100),
  Appends an ellipsis (…) only if the text was too long,
  Works responsively across screen sizes. 
  */

  .truncate {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }


  /* button to alternate between two styles — say, blue and red backgrounds:*/
  /* The button will pulse between two colors and change its border radius */
  /* The animation will alternate between the two styles */
  /* The button will have a smooth transition effect */
  /* The button will have a bold font and a cursor pointer */
  /* The button will have padding and no border */
  /* The button will have a background color of blue by default */

  .animated-button {
    padding: 10px 20px;
    border: none;
    color: white;
    font-weight: bold;
    cursor: pointer;
    animation: pulse-style 2s infinite alternate;
  }

.cta-button-container {
  display: flex;
  width: 100%;
  gap: 20px;
  flex-wrap: wrap; /* Optional: allows wrapping if space runs out */
}

.cta-button-container button,  .cta-button-container a{
  flex: 1;
  /*margin: 0 30px;*/   /* Increased horizontal spacing between buttons */
  padding: 10px 0;
  background-color: var(--secondary);
  color: white;
}

.cta-button-container button:hover,  .cta-button-container a:hover{
  background-color: #142c44; /* Darker shade for hover effect */
  transition: background-color 0.3s ease;
}

.cta-button-container button:first-child {
  margin-left: 0;
}

.cta-button-container button:last-child {
  margin-right: 0;
}

.flag-button {
  
  background-repeat: no-repeat;
  background-position:  10px center;
  background-size: 40px 100%; /* Adjust width and height */
  background-repeat: no-repeat;
}

/* Responsive stacking below 780px */
@media (max-width: 1179px) {
  .cta-button-container {
    flex-direction: column;
    gap: 16px; /* vertical spacing between stacked buttons */
  }
}

  @keyframes pulse-style {
    0% {
      background-color: #003385;
      transform: scale(1);
      /*border-radius: 5px;*/
    }
    100% {
      background-color: #2C3E50;
      transform: scale(1.1);
      /*border-radius: 20px;*/
    }
  }
