:root {
  --background-color: #fafafa;  /* Light mode background */
  --text-color: #333333;        /* Light mode text */
  --header-color: #444444;      /* Light mode header colour */
  --content-background: rgba(255, 255, 255, 0.65); /* Light mode content background */
  --content-border: #dddddd;     /* Light mode content border */
  --jumbotron-background: #f8f9fa; /* Jumbotron background color */
  --my-4-background: #323232;         /* Color for my-4 class */
  --box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Box shadow for cards */
  --primary-green:  #18F689;
  --primary-blue: #3DDCED;
  --primary-darkgrey: #53565A;
  --primary-gradient-bg: linear-gradient(135deg, #18F689, #3DDCED);
  --primary-gradient-gb: linear-gradient(135deg, #3DDCED,  #18F689);
}

html {
  position: relative;
  min-height: 100%;
}

/* Gradient slider track for all browsers */
input[type="range"].sensitivity-gradient {
  accent-color: #000000; /* fallback for thumb */
  /* fallback background for browsers that support it */
  background: linear-gradient(135deg, #3DDCED, #18F689);
}

/* Chrome, Safari, Edge */
input[type="range"].sensitivity-gradient::-webkit-slider-runnable-track {
  height: 8px;
  border-radius: 4px;
  background: linear-gradient(135deg, #3DDCED, #18F689);
}
input[type="range"].sensitivity-gradient::-webkit-slider-thumb {
  accent-color: #3DDCED;
  background: #000; /* Black thumb */
  border: 2px solid #3DDCED;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  margin-top: -4px; /* Centers the thumb vertically on an 8px track */
  cursor: pointer;
  box-shadow: 0 0 2px #18F689;
  transition: border-color 0.2s;
}
input[type="range"].sensitivity-gradient:focus::-webkit-slider-thumb {
  border-color: #18F689;
}

/* Firefox */
input[type="range"].sensitivity-gradient::-moz-range-track {
  height: 8px;
  border-radius: 4px;
  background: linear-gradient(135deg, #3DDCED, #18F689);
}
input[type="range"].sensitivity-gradient::-moz-range-thumb {
  background: #000; /* Black thumb */
  border: 2px solid #3DDCED;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  cursor: pointer;
  box-shadow: 0 0 2px #18F689;
  transition: border-color 0.2s;
}
input[type="range"].sensitivity-gradient:focus::-moz-range-thumb {
  border-color: #18F689;
}

/* IE */
input[type="range"].sensitivity-gradient::-ms-fill-lower {
  background: linear-gradient(135deg, #3DDCED, #18F689);
}
input[type="range"].sensitivity-gradient::-ms-fill-upper {
  background: linear-gradient(135deg, #3DDCED, #18F689);
}
input[type="range"].sensitivity-gradient::-ms-thumb {
  background: #000; /* Black thumb */
  border: 2px solid #3DDCED;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  cursor: pointer;
  box-shadow: 0 0 2px #18F689;
  transition: border-color 0.2s;
}
input[type="range"].sensitivity-gradient:focus::-ms-thumb {
  border-color: #18F689;
}

/* Remove outline for all browsers */
input[type="range"].sensitivity-gradient:focus {
  outline: none;
}

.sensitivity-value-box {
  position: absolute;
  top: 28px;
  left: 0;
  transform: translateX(0);
  background: #fff;
  color: #000;
  border-radius: 12px;
  padding: 2px 12px;
  font-weight: bold;
  font-size: 1rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  pointer-events: none;
  transition: left 0.1s, transform 0.1s;
  z-index: 2;
  border: 1px solid #ddd;
}

/* Gradient border for cards in the 2xN grid */
.card.h-100 {
  border: 4px solid transparent;
  border-image: linear-gradient(135deg, #3DDCED, #18F689) 1;
  border-radius: 1rem;
  /* Optional: for a subtle shadow and background */
  box-shadow: 0 2px 8px rgba(61, 220, 237, 0.08);
  background-clip: padding-box;
}


body {
  background: var(--background-color);
  color: var(--text-color);
  margin-top: 3rem;
  margin-bottom: 60px;
  transition: background-color 0.5s ease, color 0.5s ease; /* Smooth transition */
  background-image: url("/static/main/greenblueback.png");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 130%;
  background-attachment: fixed; /* <-- This keeps the image fixed at the bottom */
}

.dma-nav-grid {
  /* ...existing variables... */
  --dma-grid-img: url('/static/main/DMA_vector_grey_space.png');
  --dma-grid-opacity: 0.14;
  --dma-grid-size: 24px;
  --dma-grid-frequency: 1;

  position: relative;
  background-color: #222;
  /* Remove pattern from here! */
  /* No background-image or opacity here */
  z-index: 0;
}

/* Overlay for grid pattern with transparency */
.dma-nav-grid::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  /* Only the pattern is semi-transparent */
  opacity: var(--dma-grid-opacity);

  /* Diagonal pattern: two layers, one offset */
  background-image:
    var(--dma-grid-img),
    var(--dma-grid-img);
  background-position:
    0 0,
    64px 64px;    /* offset for diagonal effect */
  background-repeat: repeat;
  /* The trick: use a larger background-size for the tile */
  background-size:
    128px 128px,    /* 24px icon + 48px space = 3x spacing */
    128px 128px;

  /* animation */
  animation: grid-wave 8s linear infinite;
}

/* Ensure navbar content is above the pattern */
.dma-nav-grid > * {
  position: relative;
  z-index: 2;
}

/* Keyframes for wave motion: left-to-right, with vertical phase shift */
@keyframes grid-wave {
  0% {
    background-position: 0 0, 64px 64px;
  }
  25% {
    background-position: 32px 32px, 96px 96px;
  }
  50% {
    background-position: 64px 64px, 128px 128px;
  }
  75% {
    background-position: 96px 96px, 160px 160px;
  }
  100% {
    background-position: 128px 128px, 192px 192px;
  }
}


h1, h2, h3, h4, h5, h6 {
  color: var(--header-color);    /* Light mode header colour */
  transition: color 0.5s ease;   /* Smooth transition for headers */
}


ul {
  margin: 0;
}

.bg-steel {
  background-color: #5f788a;
}

.site-header .navbar-nav .nav-link {
  color: #cbd5db;
}

.site-header .navbar-nav .nav-link:hover {
  color: #ffffff;
}

.site-header .navbar-nav .nav-link.active {
  font-weight: 500;
}

.site-header .navbar-nav .dropdown-menu {
  background-color: #5f788a;
  border: none;
}

.site-header .navbar-nav .dropdown-item {
  color: #cbd5db;
}

.site-header .navbar-nav .dropdown-item:hover {
  color: #ffffff;
  background-color: #4e6577;
}

#content {
  width: 100%;
  max-width: 100%; /* Ensure the content does not exceed the full width */
  background: var(--content-background);
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  padding: 10px 20px;
  border: 1px solid var(--content-border);
  border-radius: 10px;
  margin-bottom: 20px;
  margin-top: 20px;
  transition: background-color 0.5s ease, border-color 0.5s ease; /* Smooth transition for background and border */
}

.footer {
  position: absolute;
  bottom: 0;
  width: calc(100% - 250px); /* Adjust for the width of the sidebar */
  height: 60px; /* Set the height of the footer */
  line-height: 60px; /* Vertically center the text */
  background-color: #fafafa00; /* Same color as the navbar */
  color: #fafafa;
  left: 250px; /* Start from the second column */
  text-align: center;
  justify-content: center;
  align-items: center;
}

.footer .text-muted {
  color: var(--text-color) !important;
}

.inbox {
  display: inline-block;              /* so transform works nicely */
  transition: transform 0.2s ease-in-out;    /* or: ease-in-out for extra smoothness */
  transform-origin: center;
}

/* hover only changes the value */
.inbox:hover {
  transform: scale(1.05);
}

.btn {
  background: var(--primary-gradient-gb);
  border: var(--primary-gradient-gb);
  transition: transform 0.2s ease;
}

.btn:hover {
  border-color: #696969;
  background-color: #696969;
  transform: scale(1.05); /* Scale up the element slightly */
}

.btn-primary {
  background: var(--primary-gradient-gb);
  border: var(--primary-gradient-gb);
}

.card {
  justify-content: center;
  margin-top: auto;
  margin-bottom: auto;
  border: 1px solid var(--content-border);
  border-radius: 5px;
  box-shadow: 0 2px 4px var(--box-shadow);
  width: 100%;
}

.card-header {
  background-color: var(--jumbotron-background);
  border-bottom: 1px solid var(--content-border);
  padding: 10px 10px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.card-body {
  padding: 15px;
  background-color: var(--content-background);
}

.form-group {
  margin-bottom: 15px;
}

.form-control-file {
  display: block;
  width: 100%;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.form-control-file:hover {
  border-color: #5f788a;
}

.navbar {
  background-color: #000;
  color: #fff;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 250px;
  display: flex;
  flex-direction: column;
  align-items: center; /* Center items horizontally */
  justify-content: flex-start; /* Align items at the top */
  text-align: left; /* Center text */
  padding-top: 10px; /* Add space at the top */
}

.nav-item.active {
  background: var(--primary-gradient-gb); /* Green background color */
  border-radius: 10px; /* Rounded corners */
  color: #000; /* Text color */
}

.nav-item {
  display: flex; /* Enable flexbox */
  align-items: center; /* Center items vertically */
  transition: transform 0.4s ease;
  align-items: left;
}

.navbar-brand, .nav-sublink {
  color: #fff !important;
  font-size: 1.1rem; /* Increase font size */
  font-weight: bold; /* Make font bold */
  margin-bottom: 10px; /* Add space between items */
  margin-left: 25px;
}

.nav-subitem {
  padding-left: 15px;
  border-radius: 10px; /* Rounded corners */
  color: #fff; /* Text color */
  transition: transform 0.4s ease;
}

.nav-subitem.active {
  padding-left: 30px;
  background: var(--primary-gradient-bg); /* Green background color */
  border-radius: 10px; /* Rounded corners */
  color: #000; /* Text color */
}

.nav-subitem:hover {
  background: var(--primary-gradient-bg); /* Darker background on hover */
  border-radius: 10px; /* Rounded corners */
  text-decoration: none; /* Remove underline */
  transform: scale(1.05); /* Scale up the element slightly */
}

.nav-item:hover {
  background-color: #333; /* Darker background on hover */
  border-radius: 10px; /* Rounded corners */
  transform: scale(1.05);
}

.navbar-brand, .nav-link {
  color: #fff !important;
  font-size: 1.3rem; /* Increase font size */
  font-weight: bold; /* Make font bold */
  margin-bottom: 10px; /* Add space between items */
}

.nav-link.active {
  color: #000 !important;
}

.nav-sublink.active {
  color: #000 !important;
}

.navbar-brand img {
  max-height: 300px;
  margin-bottom: 40px;
}

.navbar-nav {
  text-align: left; /* Align text to the left */
  margin-top: 50px; /* Add margin to lower the navbar buttons */
}

.navbar-nav .nav-item {
  display: block; /* Ensure each nav item occupies the full width */
}

.nav-icon {
  width: 1100%; /* Adjust the width as needed */
  margin-right: 5rem; /* Add some space between the icon and the text */
  margin-left: -1rem; /* Add some space between the icon and the text */
  vertical-align: middle; /* Align the icon vertically with the text */
  flex-shrink: 0; /* Prevent the icon from shrinking */
}

.nav-link {
  display: flex; /* Enable flexbox */
  align-items: center; /* Center items vertically */
  text-align: left; /* Align text to the left */
  white-space: normal; /* Allow text to wrap */
}

.home-link {
  background: linear-gradient(135deg, #3DDCED,  #18F689);
  background-size: 200% 200%;
  background-position: left top;
  color: #000 !important;
  border-radius: 8px;
  padding: 0.5rem 1rem;
  transition: background-position 0.5s ease, transform 0.4s;
}

.home-link:hover {
  background-position: right bottom;
  transform: scale(1.05);
}

.rocket-icon {
  display: inline-block;
  width: 35px;
  height: 35px;
  background-image: url("/static/main/symbols/rocket.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-left: -12px;
}
.rocket-icon.active {
  background-image: url("/static/main/symbols/rocketblack.png");
}

.form-icon {
  display: inline-block;
  width: 50px;
  height: 50px;
  background-image: url("/static/main/symbols/form.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-left: -15px;
}
.form-icon.active {
  background-image: url("/static/main/symbols/formblack.png");
}

.network-icon {
  display: inline-block;
  width: 35px;
  height: 35px;
  background-image: url("/static/main/symbols/network.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-left: -12px;
}
.network-icon.active {
  background-image: url("/static/main/symbols/networkblack.png");
}

.val-icon {
  display: inline-block;
  width: 35px;
  height: 35px;
  background-image: url("/static/main/symbols/val.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-left: -12px;
}
.val-icon.active {
  background-image: url("/static/main/symbols/valblack.png");
}

.container {
  margin-top: 5px;
  margin-bottom: 10px;
  max-width: 85% !important;
  margin-left: 170px; /* Adjust for the width of the sidebar */
}

.rounded-corners {
  border-radius: 15px;
  background-color: #fff;
  padding: 20px;
  box-shadow: 0 4px 8px var(--box-shadow);
}

.switch {
  position: relative;
  display: inline-block;
  width: 60px; /* Increased width */
  height: 34px; /* Increased height */
  transition: transform 0.4s ease;
}

.switch:hover {
  transform: scale(1.05);
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: .25s;
  border-radius: 34px; /* Adjusted border-radius to match new size */
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px; /* Increased height */
  width: 26px; /* Increased width */
  left: 4px; /* You can adjust this for centering */
  bottom: 4px; /* You can adjust this for vertical centering */
  background-color: white;
  transition: .25s;
  border-radius: 50%;
}

input:checked + .slider {
  background: var(--primary-gradient-bg);
}

input:checked + .slider:before {
  transform: translateX(26px); /* Adjusted for new width */
}


.numberbox {
    border: 4px solid transparent;              /* border thickness */
    border-radius: 6px;                          /* optional */
    background:
      linear-gradient(#fff, #fff) padding-box,   /* input background */
      linear-gradient(135deg, #3DDCED, #18F689) border-box; /* gradient border */
    background-clip: padding-box, border-box;
    padding: 0.5rem 0.75rem;                     /* optional */
    width: 15%; 
    margin-left: 1rem;                                
  }
.numberbox :focus { outline: none; }


.wide-card {
  width: 100%; /* Adjust the width as needed */
  margin-top: 10px;
  margin-bottom: 10px;
  border: 1px solid var(--content-border);
  border-radius: 5px;
  box-shadow: 0 2px 4px var(--box-shadow);
}

iframe {
  border: none;
  width: 100%;
  height: 50rem;
  overflow: auto; /* Ensure the iframe is scrollable */
  margin-bottom: 10px;
}


.card-pdf {
  width: auto; /* Adjust the width as needed */
  height: 612px; /* Set a fixed height for the card */
  margin-top: 10px;
  border: 1px solid var(--content-border);
  border-radius: 5px;
  box-shadow: 0 2px 4px var(--box-shadow);
  overflow: hidden; /* Ensure the card does not overflow */
  margin-bottom: 10px;
}

.fullscreen-button {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 10;
}

/* Fullscreen styles */
:fullscreen iframe,
:-webkit-full-screen iframe,
:-moz-full-screen iframe,
:-ms-fullscreen iframe {
  width: 100vw;
  height: 100vh;
}

.logo-img {
  width: 120px; /* Set the desired width */
  height: auto; /* Maintain aspect ratio */
  max-width: 100%; /* Ensure the image scales down with the container */
  padding-top: 35px; /* Add space at the top */
  animation: pulse 2s infinite; /* Apply the pulse animation */
}

@keyframes pulse {
  0% {
      transform: scale(1);
  }
  50% {
      transform: scale(1.1);
  }
  100% {
      transform: scale(1);
  }
}

.DMAlogo-module-img-nav {
  width: 200px !important;
  height: auto;
  max-width: none;
}

.DMAlogoFront-module-img-nav {
  width: 800px !important;
  height: auto;
  max-width: none;
  vertical-align: middle; /* Align the image vertically */
  margin-top: 40px; /* Add space above the image */
  margin-bottom: 40px;
  margin-left: 40px;
}

.base-module-img {
  width: 100%; /* Set the desired width */
  max-width: 100px; /* Set a maximum width */
  height: auto; /* Maintain aspect ratio */
  margin-bottom: -10px; /* Add space below the image */
  margin-top: 100px; /* Add space above the image */
  animation: dropIn 0.3s ease-out, bobbing 2s infinite ease-in-out 1s; /* Apply the animations */
  animation-delay: 0s, 0.9s; /* Delay the bobbing animation */
}

.snakey-img {
  width: 100%; /* Set the desired width */
  max-width: 100px; /* Set a maximum width */
  height: auto; /* Maintain aspect ratio */
  top: 23%; /* Adjust the vertical position */
  left: 45.5%; /* Adjust the horizontal position */
  animation: dropIn 0.4s ease-out, bobbing 2s infinite ease-in-out 1s; /* Apply the animations */
  animation-delay: 0s, 1.2s; /* Delay the bobbing animation */
}

.orange-module-img {
  width: 4.5%; /* Set the desired width */
  max-width: 100px; /* Set a maximum width */
  height: auto; /* Maintain aspect ratio */
  top: 27%; /* Adjust the vertical position */
  left: 43.5%; /* Adjust the horizontal position */
  animation: dropIn 0.65s ease-out, bobbing 2s infinite ease-in-out 1s; /* Apply the animations */
  animation-delay: 0s, 1.7s; /* Delay the bobbing animation */
}

.blue-module-img {
  width: 6.5%; /* Set the desired width */
  max-width: 100px; /* Set a maximum width */
  height: auto; /* Maintain aspect ratio */
  top: 50%; /* Adjust the vertical position */
  left: 53%; /* Adjust the horizontal position */
  animation: dropIn 0.55s ease-out, bobbing 2s infinite ease-in-out 1s; /* Apply the animations */
  animation-delay: 0s, 1.4s; /* Delay the bobbing animation */
}

.green-module-img {
  width: 4.5%; /* Set the desired width */
  max-width: 100px; /* Set a maximum width */
  height: auto; /* Maintain aspect ratio */
  top: 58%; /* Adjust the vertical position */
  left: 42%; /* Adjust the horizontal position */
  animation: dropIn 0.65s ease-out, bobbing 2s infinite ease-in-out 1s; /* Apply the animations */
  animation-delay: 0s, 1.25s; /* Delay the bobbing animation */
}

.red-module-img {
  width: 100%; /* Set the desired width */
  max-width: 100px; /* Set a maximum width */
  height: auto; /* Maintain aspect ratio */
  top: -15%; /* Adjust the vertical position */
  left: 45.5%; /* Adjust the horizontal position */
  animation: dropIn 0.7s ease-out, bobbing 2s infinite ease-in-out 1s; /* Apply the animations */
  animation-delay: 0s, 1.3s; /* Delay the bobbing animation */
}

.base-module-img-nav {
  width: 80%; /* Set the desired width */
  max-width: 100px; /* Set a maximum width */
  height: auto; /* Maintain aspect ratio */
  margin-bottom: -10px; /* Add space below the image */
  margin-top: 100px; /* Add space above the image */
  animation: dropIn 0.3s ease-out, bobbing 2s infinite ease-in-out 1s; /* Apply the animations */
  animation-delay: 0s, 0.9s; /* Delay the bobbing animation */
}

.snakey-img-nav {
  width: 80%; /* Set the desired width */
  max-width: 100px; /* Set a maximum width */
  height: auto; /* Maintain aspect ratio */
  top: 34%; /* Adjust the vertical position */
  left: 11%; /* Adjust the horizontal position */
  animation: dropIn 0.4s ease-out, bobbing 2s infinite ease-in-out 1s; /* Apply the animations */
  animation-delay: 0s, 1.2s; /* Delay the bobbing animation */
}

.orange-module-img-nav {
  width: 40%; /* Set the desired width */
  max-width: 100px; /* Set a maximum width */
  height: auto; /* Maintain aspect ratio */
  top: 35%; /* Adjust the vertical position */
  left: -6%; /* Adjust the horizontal position */
  animation: dropIn 0.65s ease-out, bobbing 2s infinite ease-in-out 1s; /* Apply the animations */
  animation-delay: 0s, 1.7s; /* Delay the bobbing animation */
}

.blue-module-img-nav {
  width: 60%; /* Set the desired width */
  max-width: 100px; /* Set a maximum width */
  height: auto; /* Maintain aspect ratio */
  top: 57%; /* Adjust the vertical position */
  left: 75%; /* Adjust the horizontal position */
  animation: dropIn 0.55s ease-out, bobbing 2s infinite ease-in-out 1s; /* Apply the animations */
  animation-delay: 0s, 1.4s; /* Delay the bobbing animation */
}

.green-module-img-nav {
  width: 40%; /* Set the desired width */
  max-width: 100px; /* Set a maximum width */
  height: auto; /* Maintain aspect ratio */
  top: 63%; /* Adjust the vertical position */
  left: -19%; /* Adjust the horizontal position */
  animation: dropIn 0.65s ease-out, bobbing 2s infinite ease-in-out 1s; /* Apply the animations */
  animation-delay: 0s, 1.25s; /* Delay the bobbing animation */
}

.red-module-img-nav {
  width: 80%; /* Set the desired width */
  max-width: 100px; /* Set a maximum width */
  height: auto; /* Maintain aspect ratio */
  top: 2%; /* Adjust the vertical position */
  left: 11%; /* Adjust the horizontal position */
  animation: dropIn 0.7s ease-out, bobbing 2s infinite ease-in-out 1s; /* Apply the animations */
  animation-delay: 0s, 1.3s; /* Delay the bobbing animation */
}

.position-absolute {
  position: absolute;
}

.jumbotron {
  background: var(--jumbotron-background);
  padding: 1rem 2rem; /* Adjust the padding as needed */
}

.my-4 {
  background: var(--my-4-background);
}

@keyframes dropIn {
  0% {
      transform: translateY(-100%);
      opacity: 0;
  }
  100% {
      transform: translateY(0);
      opacity: 1;
  }
}

@keyframes bobbing {
  0%, 100% {
      transform: translateY(0);
  }
  50% {
      transform: translateY(-5px);
  }
}

.text-center {
  cursor: pointer; /* This changes the pointer to a hand */
  transition: transform 0.4s ease;
}

.text-center:hover {
  transform: scale(1.15);
}

.hidden {
  display: none; /* This class hides the element */
}

.top-right {
  position: absolute; /* Use absolute positioning */
  top: 25px;         /* Move it down from the top */
  right: 20px;          /* Align to the right */
  padding: 10px;     /* Optional: Add some padding */
  z-index: 1000;     /* Ensure it stays on top of other elements */
}

.top-item {
  border-radius: 10px; /* Makes the element circular */
  background-color: #3e3e3e;
  transition: transform 0.4s ease;

  /* Ensure width and height are equal */
  width: 100px; /* Set an appropriate width */
  height: 100px; /* Set the same height */
  padding: 10px; /* Internal spacing */
  box-sizing: border-box; /* Includes padding in the element's total width and height */
  margin-top: 100px;
}

.top-item.active {
  background-color: #323232; /* Green background color */
  border-radius: 10px; /* Rounded corners */
  color: #262626; /* Text color */
}

.top-item:hover {
  background-color: #606060; /* Darker background on hover */
  border-radius: 10px; /* Rounded corners */
  text-decoration: none; /* Remove underline */
  transform: scale(1.05); /* Scale up the element slightly */
}

.top-link {
  color: #ffffff !important;
  font-size: 1.1rem; /* Increase font size */
  font-weight: bold; /* Make font bold */
  margin-bottom: 10px; /* Add space between items */
  margin-left: 10px;
}

.dropdown {
  position: relative;
  display: inline-block;
  border-radius: 10%; /* Rounded corners */
}

.dropdown-content {
  max-height: 0; /* Initially hide the dropdown */
  overflow: hidden; /* Prevent overflow when collapsed */
  position: absolute;
  left: 15px;
  background-color: #888888;
  border-radius: 10px; /* Rounded corners */
  min-width: 120px;
  box-shadow: 0px 8px 16px 0px var(--box-shadow);
  z-index: 1;
  top: 35px; /* Position below the button */
  opacity: 0; /* Set initial opacity for fade effect */
  transition: max-height 1s ease, opacity 1s ease; /* Transition for max-height and opacity */
  text-align: center; /* Center text */
}

.dropdown:hover .dropdown-content {
  max-height: 200px; /* Set a value higher than your content's height */
  opacity: 1; /* Full opacity when shown */
}

.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

.dropdown-content a:hover {
  background-color: #f1f1f1;
}

.dropdown-item {
  color: black; /* Text color */
  text-decoration: none; /* Remove underline from links */
  display: block; /* Make links a block element */
  background-color: transparent; /* Background color */
  width: 100%; /* Make the item take the full width */
  text-align: left; /* Align text to the left */
  padding: 12px 16px; /* Padding for the items */
  border: none; /* Remove border for button */
  cursor: pointer; /* Pointer cursor on hover */
}

/* Hover effect for links and buttons */
.dropdown-item:hover {
  background-color: #f1f1f1; /* Background color on hover */
}

/* Specific styles for the logout button */
form .logout-button {
  padding: 12px 16px; /* Same padding as other items */
  background: transparent; /* Ensure it looks like a link */
  border: none; /* No border */
  color: black; /* Inherit text color */
  width: 100%; /* Full width like other items */
}

/* Hover effect for the logout button */
form .logout-button:hover {
  background-color: #f1f1f1; /* Same hover color as links */
}

.row {
  display: flex;                /* Enable Flexbox */
  flex-wrap: wrap;             /* Allow items to wrap if needed */
  justify-content: center;      /* Center items horizontally */
  align-items: center;          /* Center items vertically (if height is defined) */
  margin: 0;                   /* Reset margin if necessary */
}


/* Table should fit its parent and allow horizontal scroll if needed */
#fuzzyResults table {
  width: 100%;
  max-width: 100%;
  max-height: none; /* Remove any max-height to allow full height */
  height: auto; /* Allow height to adjust based on content */
  overflow-y: visible; /* Allow vertical scrolling if needed */
  height: auto; /* Allow height to adjust based on content */
  table-layout: fixed;
  word-break: break-word;
}
/* Make table rows taller */
.table tr, #fuzzyResults table tr {
  height: 50px; /* Increase as needed for more height */
}

/* For printing: make table twice as tall */
@media print {
  .table tr, #fuzzyResults table tr {
    height: 200px !important;
  }
  #fuzzyResults {
    min-height: 2400px !important;
  }
  body, html {
    height: auto !important;
    min-height: 100%;
  }
}

#meetus-img-dark {
  display: none !important;
}

#flow-img-dark {
  display: none !important;
}

#specs-img-dark {
  display: none !important;
}

#passport-img-dark {
  display: none !important;
}

#why-img-dark {
  display: none !important;
}

/* Ensure dropdown menu for exclude columns is scrollable and does not overflow */
#excludeColumnsDropdown .dropdown-menu {
  max-height: 200px;
  width: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
}

.excluded-col-header {
  color: #bbb !important;
}
.excluded-col-cell {
  color: #bbb !important;
}

/* Ensure excluded columns have a consistent style */
.excluded-col-header {
  color: #bbb !important;
  background-color: #f7f7f7 !important;
}
.excluded-col-cell {
  color: #bbb !important;
  background-color: #f7f7f7 !important;
}

.non-excluded-col-cell {
  color: inherit !important;
  background-color: inherit !important;
}

