body {
   font-family: Arial, sans-serif;
   background-color: #121212;
   margin: 0;
   padding: 0;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
/* height: 100vh;*/
}

.navbar {
   background-color: #333;
   width: 100%;
}

.navbar ul {
   list-style-type: none;
   justify-content: left;
   margin: 0;
   padding: 0;
   display: flex;
}

.navbar li a {
   display: block;
   color: white;
   font-size: 18px;
   text-align: center;
   padding: 14px 36px;
   text-decoration: none;
}

.navbar a.active {
   background-color: red;
   color: white;
}

.navbar li a:hover {
   background-color: #111;
   color: lime;
}

.navbar a.active:hover {
   background-color: darkred;
   color: white;
}

button, .navbar li a {
   transition: background-color 0.3s ease;
}

/*
h1{
   color: red;
   font-size: 6vh;
}
*/

h2 {
   color: white;
   text-align: center;
   font-size: 4vh;
   text-shadow: 
     -1px -1px 0 green,
      1px -1px 0 green,
     -1px  1px 0 green,
      1px  1px 0 green;
}

.setup-container {
   display: flex;
   flex-direction: row;   /* Force side by side */
   justify-content: space-between;
   gap: 20px;
   margin-top: 20px;
}

.setup-steps {
   flex: 65%;
   min-width: 280px;
}

.setup-photo {
   flex: 35%;
   min-width: 220px;
   background: #222;
   border-radius: 8px;
   padding: 10px;
   display: flex;
   justify-content: center;
   align-items: center;
}

.setup-photo img {
   max-width: 100%;
   max-height: 60vh;
   border-radius: 8px;
   box-shadow: 0 0 15px rgba(0,255,0,0.4);
}

.form-container {
   margin: 30px auto 80px auto; /* top, right/left, bottom */
   padding: 30px;
   background: #1a1a1a url('/img/mesh2.jpg') no-repeat center center;
   background-size: cover;
   border-radius: 10px;
   border: 1px solid lime;
   box-shadow: 0 0 20px rgba(0,255,0,0.2);
}

.info-box {
   background-color: #222;
   color: #fff;
   padding: 15px;
   margin-bottom: 20px;
   border-radius: 8px;
   font-size: 14px;
}

.info-box h3 {
   margin-top: 0;
   color: lime;
}

/* CSS for the modal */

.modal {
   display: none;
   position: fixed;
   z-index: 1;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   overflow: auto;
   background-color: rgba(0, 0, 0, 0.5);
}

.modal-content {
   background-color: white;
   margin: 15% auto;
   padding: 20px;
   font-size: 20px;
   border-radius: 5px;
   border: 1px solid Blue;
   width: 50%;
}

.close {
   color: #aaa;
   float: right;
   font-size: 28px;
   font-weight: bold;
   cursor: pointer;
}

.close:hover,
.close:focus {
   color: black;
   text-decoration: none;
   cursor: pointer;
}


details {
   border: 1px solid #aaa;
   border-radius: 4px;
   padding: 0.5em 0.5em 0;
   color: #fff;
}

summary {
   font-weight: bold;
   margin: -0.5em -0.5em 0;
   padding: 0.5em;
}

details[open] {
   padding: 0.5em;
}

details[open] summary {
   border-bottom: 1px solid #aaa;
   margin-bottom: 0.5em;
}

.footer {
   position: fixed;
   left: 0;
   bottom: 0;
   width: 100%;
   background-color: #333;
   color: white;
   font-size: 13px;
   text-align: center;
}

/* Media queries for responsiveness */
@media screen and (max-width: 768px) {
    .navbar li a {
        font-size: 14px;
        padding: 10px 12px;
    }

    .form-container {
        padding: 20px;
        margin: 10px;
    }

    form {
        width: 94%;
    }

    .submitButton {
        width: 100%;
        height: auto;
        padding: 15px;
        font-size: 16px;
    }
}
/* Mobile responsive: stack vertically */
@media (max-width: 768px) {
    .setup-container {
       flex-direction: column;
}

    .setup-photo {
       max-width: 100%;
    }
}