body {
    background-color: #428db3;
    /*background-color: #66a9c8;*/
    /*background-image: url('../bg.jpeg');*/
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto 100vh; /* Matches mobile screen height as well */
    background-attachment: fixed;
    color: white;
    min-height: 100vh; /* Ensures body is at least the viewport height */
    margin: 0;
    font-family: sans-serif;
}

p {
    color: white;
}

a {
    color: #ffd697;
    text-decoration: none; /* Remove underlining */
    display: inline-block;
    padding: 10px;
    background-color: rgba(0,0,0,0.6);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 5px;
}

h3 {
    color: white;
}

.text-outline-stroke {
    color: black;
    /*color: white;
    text-shadow: 
      -1px -1px 0 black, 
      1px -1px 0 black, 
      -1px 1px 0 black, 
      1px 1px 0 black;*/
  }
  

.content-frame {
    background-color: rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 20px;
    display: inline-block;
    margin-top: 20px;
    max-width: 80%; 
    box-sizing: border-box;
}

.metadata-container {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    background-color: rgba(0, 0, 0, 0.301);
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 5px;
    box-sizing: border-box;
}

.metadata-column {
    width: 400px;
    max-width: 90%; /* Ensures it fits on smaller screens */
    border: 1px solid #ccc;
    padding: 10px;
    background-color: rgba(0, 0, 0, 0.6);
    box-sizing: border-box;
}

table {
    background-color: rgba(255, 255, 255, 0.068);
    width: 100%;
    border-collapse: collapse;
    overflow-x: auto;
}

th, td {
    border: 1px solid #ccc;
    padding: 8px;
    text-align: left;
    color: white; 
}

.banner {
    max-width: 90%;
}

#downloadBtn {
    background-color: rgba(255, 255, 255, 0.8);
    color: black;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
}

#downloadBtn:disabled {
    opacity: 1; /* Ensures it's not transparent */
    background-color: rgba(0, 0, 0, 0.8);
    color: gray;
    cursor: not-allowed;
}

.bottom_text {
    text-align: left;
    max-width: 600px;
    margin: 0 auto;
}

/* Mobile-responsive adjustments */
@media (max-width: 600px) {
    .content-frame, .metadata-container, .metadata-column, .bottom_text {
        width: 100%;
        max-width: 100%;
        padding: 10px;
    }

    #downloadBtn, #imageInput {
        width: 100%;
        box-sizing: border-box;
    }
}
