
.black-text {
  color: black;
}

select {
  background-color: #e0f2fe;    /* Light blue background */
  color: #1d57b5;               /* Deep blue text */
  border: 2px solid #1d57b5;    /* Deep blue border */
  border-radius: 6px;
  padding: 0.5em 1em;
  font-size: .75em;
  transition: box-shadow 0.2s;
}

select:focus {
  outline: none;
  box-shadow: 0 0 0 2px #93c5fd; /* Lighter blue focus ring */
}

result {
  background-color: #e0f2fe;    /* Light blue background */
  color: #1d57b5;               /* Deep blue text */
  border: 2px solid #1d57b5;    /* Deep blue border */
  border-radius: 6px;
  padding: 0.5em 1em;
  font-size: 1em;
  transition: box-shadow 0.2s;
}

button {
  background-color: #e0f2fe;    /* Light blue background */
  color: #1d57b5;               /* Deep blue text */
  border: 2px solid #1d57b5;    /* Deep blue border */
  border-radius: 6px;
  padding: 0.5em 1em;
  font-size: .75em;
  transition: box-shadow 0.2s;
  cursor: pointer;
}

button:focus {
  outline: none;
  box-shadow: 0 0 0 2px #93c5fd; /* Lighter blue focus ring */
}


/* CISA ticker tape of vulns */

     .ticker-container {
      width: 100%;
      background: #1d57b5;
      overflow: hidden;
      white-space: nowrap;
      box-sizing: border-box;
      padding: 0;
      margin: 0;
      border-radius: 8px;
      border: 2px solid #15316c;
    }
   .ticker-container:hover .ticker-content {
     animation-play-state: paused;
    }

    .ticker-content {
      display: inline-block;
      color: #fff;
      font-family: Arial, sans-serif;
      font-size: 1em;
      padding: 0.75em 0;
      animation: ticker 240s linear infinite;
      white-space: nowrap;
    }
    @keyframes ticker {
      0%   { transform: translateX(100%); }
      100% { transform: translateX(-100%); }
    }

/* fixing the boxes */
.image-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;         /* space between images */
  justify-content: flex-start; /* align images left */
  margin-left: 4rem;   /* indent the row */
}
.image-row img {
  width: 8rem;
  height: 13rem;
  object-fit: cover;
  border-radius: 0.75rem;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  transition: transform 0.2s, box-shadow 0.2s, outline 0.2s;
  cursor: pointer;
}
.image-row img:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
  outline: 4px solid #3b82f6; /* blue outline */
  outline-offset: 2px;
}
.pik-row {
  display: flex;
  gap: 1.5rem;
  margin-left: 3rem; /* Adjust as needed for indent */
  margin-top: 2rem;
  justify-content: flex-start;
  flex-wrap: nowrap;
}
.pik-row img {
  width: 90px;   /* Adjust as needed */
  height: 170px;  /* Adjust as needed */
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  transition: transform 0.18s, box-shadow 0.18s, outline 0.18s;
  cursor: pointer;
}
.pik-row img:hover {
  transform: scale(1.06);
  box-shadow: 0 8px 24px rgba(0,0,0,0.22);
  outline: 4px solid #3b82f6; /* Tailwind's blue-500 */
  outline-offset: 2px;
}

/*  closing fixing the boxes */

/* submenu clean up */


        /* Your CSS code here */


.services-dropdown .menu-item-text::after,
.assessments-dropdown .menu-item-text::after {
  content: "";
  display: inline-block;
  width: 12px; /* Adjust as needed */
  height: 12px; /* Adjust as needed */
  background-image: url('arrow.png');
  background-repeat: no-repeat;
  background-position: right; /* Center the arrow within its container */
  background-size: contain; /* Scale the image to fit within the width and height */
  margin-left: 5px; /* Adjust spacing between text and arrow */
  vertical-align: middle; /* Align the arrow vertically with the text */
}
/* Change font color of the "Assessments" dropdown text */
.assessments-dropdown .menu-item-text {
  color: purple; /* Choose your desired color */
}

/* Change font color of all items in the level-3 submenu */
.level-3 a.menu-item {
  color: orange; /* Choose your desired color */
}

/* Optional: Change hover color of level-3 items */
.level-3 a.menu-item:hover {
  color: darkorange; /* Choose your desired hover color */
}

/* You might need to adjust padding on the .menu-item-text itself */
.services-dropdown .menu-item-text,
.assessments-dropdown .menu-item-text {
  padding-right:5px; /* Make space for the arrow */
}




/* end of sub menu clean up */
#chart {
  width: 100%;
  max-width: 870px;
   aspect-ratio: 870 / 538;
   position: relative;
   margin: 5px;
   background: none;
    }

#chart-img, #lineChart {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

#chart1 {
  //width: 870px;
  //height: 538px;
   position: sticky;
   max-width: 100%;
   right: 5px;
   bottom: 5px;
   margin-top: 5px;
   margin-left: 5px;
   flex: 1;
   background:url(https://www.vcspro.net/piks/chart12.png) no-repeat;
    }
#chart3 {
  width: 2570px;
  height: 538px;
   position: sticky;
   max-width: 100%;
   right: 5px;
   bottom: 5px;
   margin-top: 5px;
   margin-left: 5px;
   flex: 1;
   background:url(https://www.vcspro.net/piks/chart4.png) no-repeat;
    }
#grandTotal {
   position: absolute;
   top: 10px;
   left: 10px;
   background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent white background */
   padding: 10px;
   border-radius: 5px;
   font-weight: bold;
 }
.question {
  margin-bottom: 10px;
  padding: 2px 10px; /* Adjust padding as needed */
  text-align: left;
  padding-left: 0px;
  margin: 0;
    }

/* Import Google font - Poppins  for chatbot support*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}


/* chatbot css setup*/
.chatbot-toggler {
  position: fixed;
  bottom: 30px;
  right: 35px;
  outline: none;
  border: none;
  height: 50px;
  width: 50px;
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #724ae8;
  transition: all 0.2s ease;
}
body.show-chatbot .chatbot-toggler {
  transform: rotate(90deg);
}
.chatbot-toggler span {
  color: #fff;
  position: absolute;
}
.chatbot-toggler span:last-child,
body.show-chatbot .chatbot-toggler span:first-child  {
  opacity: 0;
}
body.show-chatbot .chatbot-toggler span:last-child {
  opacity: 1;
}
  .chatbot {
  position: fixed;
  right: 35px;
  bottom: 90px;
  width: 420px;
  background: #fff;
  border-radius: 15px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transform: scale(0.5);
  transform-origin: bottom right;
  box-shadow: 0 0 128px 0 rgba(0,0,0,0.1),
              0 32px 64px -48px rgba(0,0,0,0.5);
  transition: all 0.1s ease;
 // z-index: 9999; /* Set a high z-index value */
}
body.show-chatbot .chatbot {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}
.chatbot header {
  padding: 16px 0;
  position: relative;
  text-align: center;
  color: #fff;
  background: #724ae8;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.chatbot header span {
  position: absolute;
  right: 15px;
  top: 50%;
  display: none;
  cursor: pointer;
  transform: translateY(-50%);
}
header h2 {
  font-size: 1.4rem;
}
.chatbot .chatbox {
  overflow-y: auto;
  height: 510px;
  padding: 30px 20px 100px;
}
.chatbot :where(.chatbox, textarea)::-webkit-scrollbar {
  width: 6px;
}
.chatbot :where(.chatbox, textarea)::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 25px;
}
.chatbot :where(.chatbox, textarea)::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 25px;
}
.chatbox .chat {
  display: flex;
  list-style: none;
}
.chatbox .outgoing {
  margin: 20px 0;
  justify-content: flex-end;
}
.chatbox .incoming span {
  width: 32px;
  height: 32px;
  color: #fff;
  cursor: default;
  text-align: center;
  line-height: 32px;
  align-self: flex-end;
  background: #724ae8;
  border-radius: 4px;
  margin: 0 10px 7px 0;
}
.chatbox .chat p {
  white-space: pre-wrap;
  padding: 12px 16px;
  border-radius: 10px 10px 0 10px;
  max-width: 75%;
  color: #fff;
  font-size: 0.95rem;
  background: #724ae8;
}
.chatbox .incoming p {
  border-radius: 10px 10px 10px 0;
}
.chatbox .chat p.error {
  color: #721c24;
  background: #f8d7da;
}
.chatbox .incoming p {
  color: #000;
  background: #f2f2f2;
}
.chatbot .chat-input {
  display: flex;
  gap: 5px;
  position: absolute;
  bottom: 0;
  width: 100%;
  background: #fff;
  padding: 3px 20px;
  border-top: 1px solid #ddd;
}
.chat-input textarea {
  height: 55px;
  width: 100%;
  border: none;
  outline: none;
  resize: none;
  max-height: 180px;
  padding: 15px 15px 15px 0;
  font-size: 0.95rem;
}
.chat-input span {
  align-self: flex-end;
  color: #724ae8;
  cursor: pointer;
  height: 55px;
  display: flex;
  align-items: center;
  visibility: hidden;
  font-size: 1.35rem;
}
.chat-input textarea:valid ~ span {
  visibility: visible;
}

@media (max-width: 490px) {
  .chatbot-toggler {
    right: 20px;
    bottom: 20px;
  }
  .chatbot {
    right: 0;
    bottom: 0;
    height: 100%;
    border-radius: 0;
    width: 100%;
  }
  .chatbot .chatbox {
    height: 90%;
    padding: 25px 15px 100px;
  }
  .chatbot .chat-input {
    padding: 5px 15px;
  }
  .chatbot header span {
    display: block;
  }
}

/*  down arrow to expand a length reads  */
.expand-card {
      display: flex;
      align-items: flex-start;
      gap: 0.7em;
      margin: 2em 0;
      font-family: 'Inter', Arial, sans-serif;
      cursor: pointer;
      max-width: 600px;
    }
    .expand-arrow {
      width: 32px;
      height: 32px;
      transition: transform 0.2s;
      margin-top: 2px;
      flex-shrink: 0;
    }
    .expand-arrow.rotated {
      transform: rotate(90deg);
    }
    .expand-title {
      font-weight: bold;
      font-size: 1.2em;
      margin: 0;
      flex: 1;
      user-select: none;
      color:#2563eb;
    }
    .expand-desc {
      display: none;
      margin-left: 2.2em;
      margin-top: 0.5em;
      font-size: 1em;
      color: #2563eb;
      max-width: 500px;
      line-height: 1.5;
    }
    .expand-desc.open {
      display: block;
      animation: fadeIn 0.3s;
    }
    @keyframes fadeIn {
      from { opacity: 0;}
      to { opacity: 1;}
    }
/* Base styles for desktop */
body {
  font-size: 20px;
  padding: 2em;
}

/* Adjust for tablets and below */
@media (max-width: 900px) {
  body {
    font-size: 18px;
    padding: 1.5em;
  }
}

/* Adjust for mobile phones */
@media (max-width: 600px) {
  body {
    font-size: 16px;
    padding: 1em;
  }
  h1 {
    font-size: 1.5em;
  }
  .some-large-image {
    width: 100%;
    height: auto;
  }
  .flex {
    flex-direction: column;
    align-items: center;
  }
}
.headline {
  font-size: 2.5vw; /* Scales with viewport width */
}
@media (max-width: 600px) {
  .flex {
    flex-direction: column !important;
    align-items: center !important;
  }
  .flex img {
    margin-bottom: 1em;
    width: 90vw !important;
    height: auto !important;
  }
}

