* {
    background-color:  rgb(20, 17, 17); /* Smoky Black as opposed to pure black*/
    font-family: Arial, Helvetica, sans-serif   !important;
}
header {
    display: flex;
    justify-content: space-between; /* here im ensurring that  logo is on the left, nav on the right */
    align-items: center; 
    padding: 10px;
    width: 100%; 
    position: fixed; /* Fixed position to stay at the top as Imaan suggested I make the nav bar stick to the top */
    top: 0; 
    left: 0; 
    z-index: 1000;
    background-color: rgb(20, 17, 17); 
    /* Subtle drop shadow */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 
}
h1 {
    margin-top: 130px;
}
.Welcome {
    color: ivory;
    justify-content: center;
    display: flex;
    padding: 80px;
}
#text {
    color: green;
    font: 15px;
}
nav {
    display: flex;
    justify-content: flex-end;
}
td {
    width: 110px;
}
a {
    text-decoration: none; 
    white-space: nowrap; 
    display: inline-block;
    max-width: 1000px; 
    margin: 0 auto;
    padding: 0 10px; 
    color: #00FFFF;
}
.External {
    background-color: #333;
}

.Link {
    margin-top: 150px;
    max-width: 1000px;
    width: 300px;
    height: 370px;
    background-color: #333; /* Charcoal grey */
    color: ivory;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease; 
}
.Link:hover {
    transform: scale(1.04);
}
.Linking {
    margin-top: 92px;
    max-width: 1000px;
    width: 300px;
    height: 370px;
    background-color: #333; /* Charcoal grey */
    color: ivory;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease; 
}
.Linking:hover {
    transform: scale(1.03);
}
a:hover 
{
   text-decoration: none; 
}
body {
    margin: 0;
    padding: 0;
    color: limegreen;
    font-family: 'Courier New', Courier, monospace;
}
.Terminal {
    padding: 20px;
    height: 100vh;
    width: 100%;
    background: rgba(20, 17, 17); /* Slight transparency */
    color: limegreen;
    font-size: 1.2em;
    line-height: 1.5em;
    white-space: pre-wrap; /* Makes text auto-wrap on new lines */
    max-width: 1000px; 
    margin: 0 auto;
}
.Terminal span {
    display: block; /* Each message appears on a new line */
}
.Terminal::after {
    content: '_';
    display: inline-block;
    animation: blink 1s steps(1) infinite;
    max-width: 1000px; 
    margin: 0 auto;
}
  
  @keyframes blink {
    50% {
      opacity: 0;
    }
}
  /* Container styling */
  .infoContainer {
    width: 400px;
    height: 440px;
    background-color: #333; /* Charcoal grey */
    color: ivory;
    padding: 20px;
    margin: 10px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease; 
  }
  .infoContainer:hover {
    transform: scale(1.03);
  }
  /* Flex container inside the section html element*/
  section {
    display: flex;
    flex-wrap: wrap; 
    gap: 30px;
    border-radius: 100px; 
    justify-content: center; 
    padding: 0 5px; 
    margin: 0 auto;
  }

  /*  ReadMoreButton styling */
  .readMore {
    margin-top: auto;
    padding: 10px 20px;
    background-color: #2503FD;
    color: ivory;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: background-color 0.3s;
  }
  .readMore:hover {
    background-color: #035603;
  }
  .Wireframes {
    width: 100px;
    margin-top: 10px;
    padding: 10px 20px;
    background-color: #2503FD;
    color: ivory;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: background-color 0.3s;
  }
  .Wireframes:hover {
   background-color: #035603;
  }
  .Theory {
    width: 100px;
    padding: 10px 20px;
    background-color: #2503FD;
    color: ivory;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: background-color 0.3s;
  }
  .Theory:hover{
    background-color: #035603;
  }
  .Styles {
    width: 100px;
    padding: 10px 20px;
    background-color: #2503FD;
    color: ivory;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: background-color 0.3s;
  }
  .Styles:hover {
    background-color: #035603;
  }
  .Essays {
    width: 150px;
    padding: 10px 20px;
    margin-top: 20px;
    margin-bottom: 30px;
    background-color: #2503FD;
    color: ivory;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: background-color 0.3s;
  }
  .Essays:hover {
    background-color: #035603;
  }
  .Stats {
    width: 250px;
    padding: 10px 20px;
    margin-top: 20px;
    margin-bottom: 30px;
    background-color: #2503FD;
    color: ivory;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: background-color 0.3s;
  }
  .Stats:hover {
    background-color: #035603;
  }
  .Stats1 {
    width: 250px;
    padding: 10px 20px;
    margin-top: 150px;
    margin-bottom: 10px;
    background-color: #2503FD;
    color: ivory;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: background-color 0.3s;
  }
  .Stats1:hover {
    background-color: #035603;
  }
  
  .Scroll {
    display: none;
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 55px;
    height: 55px;
    border-radius: 10px;
    background-color: rgb(20, 17, 17); ;
    cursor: pointer;
    transition: background-color 0.3s;
  }
  .Scroll:hover{
    background-color: #035603;
  }
  .ScrollIcon {
    width: 100%; 
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
  }
.Images {
    display: flex;
    flex-wrap: wrap; 
    gap: 50px;
    border-radius: 100px; 
    justify-content: center; 
    padding: 0 10px; 
    margin-top: 20px;
    margin: 0 auto;
}
.Images1 {
    display: flex;
    flex-wrap: wrap; 
    gap: 50px;
    border-radius: 100px; 
    justify-content: center; 
    padding: 0 10px; 
    margin-top: 20px;
    margin: 0 auto;
}
.Chart {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 10px;
}
.Titles {
    background-color: #333; /* Charcoal grey */
    color: ivory;
    max-width: 1000px; 
    margin: 0 auto;
    padding: 0 10px;
}
figure {
    margin: 0;
    padding: 0; 
}

figcaption{
    color: #A0A0A0;
  }
.Section {
    color: ivory;
    max-width: 1000px; 
    margin: 0 auto;
    padding: 0 10px;
    margin-top: 50px;
    margin-bottom: 10px; 
    line-height: 2.0;
} 
.Section1 {
    color: ivory;
    max-width: 1000px; 
    margin: 0 auto;
    padding: 0 10px;
    margin-top: 30px;
    margin-bottom: 10px; 
}

.Description {
    background-color: #333;
    color: ivory;
    max-width: 1000px; 
    margin: 0 auto;
    padding: 0 5px;
    margin-top: 4px;
    margin-bottom: 4px; 
    line-height: 1.3;
}
#phishing {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 10px;
}
circle{
    cursor: pointer;
}
/*  Okay so I added a magnifying glass icon next to each circle of a phishing attack to let users kow thwy can actually zoom in for the drill down feature*/
.Magnify-icon {
    position: absolute;
    font-size: 20px;
    color: steelblue;
    opacity: 0;
    transition: opacity 0.3s ease;
}

circle:hover + .Magnify-icon {
    opacity: 4;
}
#filterOptions .toggle {
    display: block;
    margin-top: 40px;
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 10px;
}
.Toggle-wrapper{
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 10px;
}
#filterOptions .toggle input[type="checkbox"] {
    display: none;
}

#filterOptions .toggle input[type="checkbox"] + span {
    display: inline-block;
    width: 40px;
    height: 20px;
    background: #ccc;
    border-radius: 20px;
    position: relative;
    cursor: pointer;
    transition: background 0.3s;
}
/* Unique colors for each toggle */
#last24Toggle + span {
    background: blue;
    
}
#last48Toggle + span {
    background: orange;
}
#filterOptions .toggle input[type="checkbox"]:checked + span {
    background: #66bb6a;
}

#filterOptions .toggle span:before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: white;
    border-radius: 50%;
    transition: left 0.3s;
}

#filterOptions .toggle input[type="checkbox"]:checked + span:before {
    left: 22px;
}

/* Blinking effect */
.blinking {
    animation: blink-animation 1.5s infinite;
}

@keyframes blink-animation {
    50% {
        opacity: 0;
    }
}

#resetZoom {
    width: 80px;
    height: 50px;
    padding: 10px 20px;
    margin-top: 20px;
    margin-bottom: 30px;
    right: 30px;
    bottom: 30px;
    background-color: #2503FD;
    color: ivory;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: background-color 0.3s;
    margin-top: 20px;
}
.tooltip {
    position: absolute;
    text-align: left;
    width: auto;
    height: auto;
    padding: 6px;
    font: 12px monospace;
    color: ivory;
    background:  #333;;
    border: 0px;
    border-radius: 8px;
    pointer-events: none;
}
.Quiz-container {
    background-color: rgb(20, 17, 17);
    color: ivory;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    max-width: 400px;
    margin: auto;
}
#choices button{
    color: ivory;
    background-color: rgb(20, 17, 17);
    border-radius: 13px;
    padding: 10px 20px;
    margin: 5px 0;
    font-size: 13px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
#next-btn {
    margin-top: auto;
    margin-bottom: 50px;
    padding: 10px 20px;
    background-color: #2503FD;
    color: ivory;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: background-color 0.3s;
}
#ransomware {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 10px;
}

#phishingStats {
    margin-top: 50px;
    width: 100%;
    height: 600px;
    
}
a:hover{
    color: limegreen;
}
.Btn {
    background-color: green;
    border: none; 
    border-radius: 12px; /* Adding  rounded edges to maked it look more appealing to the eye */
    padding: 15px 25px; 
    text-align: center;
    display: inline-block;
    font-size: 18px;
    cursor: pointer;
    transition: background-color 0.3s ease; 
}
.Btns  {
    background-color: white;
    border-radius: 12px;
    padding: 10px 20px;
    display: inline-block;
    cursor: pointer;
}
.Btns:hover {
    background-color: forestgreen;
}

.Btn a {
    color: #00FFFF; 
    text-decoration: none; 
}

.Btn:hover {
    background-color: green; 
}

.Btn a:hover {
    color: limegreen;
}

#logo {
    display: flex;
    align-items: center;
}
.Heading {
    color: ivory;
    max-width: 1000px; 
    margin: 0 auto;
    padding: 0 5px;
    margin-top: 105px; 
}
.Intro {
    color: ivory;
    max-width: 1000px;
    margin: 0 auto;
    margin-top: 110px; 
}
.Sub-heading {
    margin-top: 50px;
    padding: 15px;
    color: #0095F8;
    max-width: 1000px;
    margin: 0 auto;
}


.Strong {
    color: #0095F8;
}
.Index {
    color: lime;
    position: relative;
    font-size: 0.9em;
    text-anchor: end;
    left: 0;
    bottom: 0;
    width: 100%; 
    height: 8%;
    text-align: center;
    background-color:  rgb(20, 17, 17); /* Dark background for contrast */
    padding: 10px 0; 
    z-index: 1000;
    margin-top: 290px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);  
}
.Index1 {
    color: lime;
    position: relative;
    text-anchor: end;
    left: 0;
    bottom: 0;
    width: 100%; 
    height: 8%;
    text-align: center;
    background-color:  rgb(20, 17, 17); /* Dark background for contrast */
    padding: 10px 0; 
    z-index: 1000;
    margin-top: 50px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);  
}
.Icons {
    margin-bottom: 35px;
}
.Icons a img {
    width: 30px;
    height: 30px;
    margin: 0 10px;
    vertical-align: middle;
    transition: transform 0.3s;
}
.Icons a img:hover {
    transform: scale(1.2);
}
/* styles for the menu and hamburger icon */
.Hamburger {
    display: none; 
    font-size: 30px;
    cursor: pointer;
    color: ivory;
}
html {
    scroll-behavior: smooth;
}
/* Default nav styles */
nav {
    display: flex;
    justify-content: flex-end;
    background-color: black;
}
.Sidebar {
    position: fixed;
    top: 20px;
    left: 18px;
    width: 200px;
    background-color: #292626;
    padding: 15px;
    border-radius: 10px;
    margin-top: 80px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}
.Sidebar::before { /*pseudo-element*/
    content: "HACKINGGGG!";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: repeating-linear-gradient(
        to bottom,
        rgba(0, 255, 0, 0.3),
        rgba(0, 255, 0, 0.3) 1.5px,
        transparent 3px,
        transparent 4px
    );
    background-size: 100% 100%;
    animation: scrollingCode 80s linear infinite;
    pointer-events: none; /* Allows you to interact with the sidebar without issues */
    opacity: 0.9; /* Controls how visible the code overlay is */
    z-index: 1; /* Positions overlay above content but below any other elements */
}

@keyframes scrollingCode {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-100%);
    }
}
.Sidebar-content {
    position: relative;
    z-index: 2; 
}
.Sidebar ul {
    list-style-type: none;
    padding: 0;
}
.Sidebar li {
    margin: 8px 0;
}
.Sidebar a {
    text-decoration: wavy;
    color: #0095F8;
    font-weight: bold;
    font-size: 11.5px
}
.Sidebar a:hover{
    color: #077b07;
}
/*Media quries for the Threat Map*/
#phishingStats {
    width: 100%;
    height: 100%;
    max-width: 100%;
    margin: 0 auto;
}

@media (max-width: 1200px) {
    #phishingStats {
        height: 500px;  /* Adjust height for medium screens */
    }
}

@media (max-width: 768px) {
    #phishingStats {
        height: 400px;  /* Adjust height for smaller screens */
    }
}

@media (max-width: 480px) {
    #phishingStats {
        height: 300px;  /* Adjust height for very small screens */
    }
}

/* Mobile-specific styles */
@media (max-width: 1024px) {
    .Hamburger {
        display: block; /* Show hamburger on mobile */
        position: relative;
        top: 10px;
        right: 40px;
    } 
    .Icons {
        display: flex;
        justify-content: center;
        gap: 7px;
    }
    .Icons a img {
        vertical-align: baseline;
        width: 30px;
        height: 30px;
    }
    .Section {
        max-width: 90%;
    }
    nav {
        display: none; /* Hide navigation on mobile by default */
        position: absolute;
        top: 100px;
        right: 0;
        width: 100%;
        background-color: black;
    }

    nav.open {
        display: block; /* Show the nav when toggled, stacked vertically */
    }
    table{
        width: 100%;
        display: block;
        text-align: center;
    }
    tr {
        display: block;
        text-align: center;
    }

    td {
        padding: 20px;
        display: flex;
        width: 100%;
        text-align: center;
    }
    .Sidebar{
        display: none;
    }
    a {
        color: ivory;
        text-decoration: none;
        display: block; 
    }

    a:hover {
        color: limegreen;
    }
}