:root {
    --nav-background: #2a2f38;
    font-family: sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
  border: none;
}

body {
    margin: 0;
    padding: 0;
}

header {
    display: flex;
    justify-content: center;
    background-color: var(--nav-background);
    height: 75px;
}

nav {
    width: 75%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-logo {
    width: 75px;
    height: 50px;
}

nav ul {
    text-decoration: none;
}

nav ul li{
    display: inline-block;
    color: white;
    margin-left: 30px;
    margin-right: 30px;
    padding-bottom: 5px;
    padding-top: 5px;
    border-bottom: 3px solid transparent;
    font-weight: bold;
}

nav ul li:hover{
    cursor: pointer;
    color: orange;
    border-bottom: 3px solid orange;
}

.main-head-background {
    width: 100%;
    height: auto;
}

.founder-banner {
  background: 
    linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)),
    url('/static/images/banner.png') no-repeat center center;
  background-size: cover;
  
  height: 400px; /* Adjust based on your site design */
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.banner-content {
  height: 100%;
  width: 90%; /* Keeps text away from the very edge */
  max-width: 1200px;
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* Pins name to top, tagline to bottom */
  padding: 40px 0; /* Adjust this for your "breathing room" */
  text-align: center;
  color: #ffffff;
}

.brand-name {
  font-family: 'Inter', sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 2px;
  margin: 0;
  text-shadow: 0 0 15px rgba(0, 212, 255, 0.5); /* Matching the node glow */
  padding-top: 10px;
}

.tagline {
  font-family: 'JetBrains Mono', monospace; /* Gives it that 'Lab/Technical' feel */
  font-size: 1.2rem;
  letter-spacing: 4px;
  opacity: 0.9;
}

.solution-lineup {
  margin-top: 100px;
  width: 75%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
}

.about-card {
  width: 300px;
  height: 200px;
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}

.card {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 300px;
  height: 200px;
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}

.about-title {
  padding-left: 10px;
  font-family: 'JetBrains Mono', monospace;
  margin-bottom: 10px;
}

.about-summary {
  padding-left: 10px;
  padding-right: 10px;
  font-size: 14px;
  /* font-family: 'JetBrains Mono', monospace; */
}

.solution-logo {
  height: 75px;
  width: 75px;
  border: 1px solid black;
  border-radius: 50%;
}

.solution-title-home {
  font-family: 'JetBrains Mono', monospace;
  padding-left: 10px;
}

/* About page */
.about-tag {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
  text-align: center;
  font-size: 2.5rem;
  padding-top: 20px;
  /* font-family: 'JetBrains Mono', monospace; */
}

.about-content {
  width: 60%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.about-content p {
  /* font-family: 'JetBrains Mono', monospace; */
  padding: 10px;
  padding-left: 20px;
  padding-right: 20px;
}

.about-bold-last {
  padding-bottom: 30px !important;
  margin-bottom: 100px;
}


/* footer */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
main {
  flex: 1;
}

footer {
  background-color: #2a2f38;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  width: 100%;
  height: 50px;
}


.copyright, .links {
  color: white;
  text-align: center;
}

.links a:hover {
    color: orange;
}

/* Solutions page */
.solution {
  display: flex;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  width: 75%;
  height: 500px;
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.solution-left {
  padding: 20px;
  flex: 1;
}

.solution-right {
  padding: 20px;
  flex: 1;
}

.solution-title, .solution-subtitle {
  font-family: 'JetBrains Mono', monospace;
  padding-bottom: 10px;
  border-bottom: lightgray solid 1px;
}

/* contact page */
.contact {
  width: 50%;
  height: 700px;
  padding-top: 20px;
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}

.contact-title {
  border-bottom: 1px solid lightgray;
  padding: 10px;
  font-size: 1.5rem;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

form {
  display: flex;
  flex-direction: column;
  padding: 10px;
}

.form-top {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

#name, #email {
  height: 30px;
  width: 49%;
  margin: 10px;
  padding: 5px;
  border: 1px solid lightgray;
  border-radius: 4px;
  color: gray;
}

#subject {
  height: 30px;
  margin: 10px;
  padding: 5px;
  border: 1px solid lightgray;
  border-radius: 4px;
  color: gray;
}

#message {
  height: 300px;
  margin: 10px;
  padding: 5px;
  border: 1px solid lightgray;
  border-radius: 4px;
  color: gray;
}

.form-confirmation {
  display: flex;
  align-items: flex-start;
}

#confirm {
  margin-top: 16px;
  width: 20px;
  height: 20px;
  margin-right: 5px;
  cursor: pointer;
}

.form-submit {
  height: 50px;
  width: 25%;
  background-color: #2a2f38;
  color: white;
  font-weight: bold;
  border-radius: 4px;
  border: none;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  cursor: pointer;
}

.form-submit:hover {
  background-color: orange;
}

/* solution expo */
.solution-artical {
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  width: 75%;
  min-height: 800px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.description {
  margin-top: 15px;
}

/* login */
.login {
  background: 
    linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)),
    url('/static/images/banner.png') no-repeat center center;
  background-size: cover;
  
  height: 100vh; /* Adjust based on your site design */
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.login-container {
  width: 600px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5%;
  background-color: white;
}

.login-form {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.username {
  margin-top: 75px !important;
}

.password {
  margin-bottom: 75px !important;
}

.login-submit {
  margin-bottom: 20px;
}


/* Mobile Responsiveness */
@media (max-width: 768px) {
  .brand-name { font-size: 1.8rem; }
  .tagline { font-size: 0.9rem; letter-spacing: 2px; }
  .founder-banner { height: 300px; }
}