
        body {
            display: flex;
            flex-direction: column;
            min-height: 100vh;
            margin: 0;
            font-family: sans-serif; /* Add a default font */
        }

        main {
            flex: 1;
            padding: 20px;
        }

footer {
    background-color: #f0f0f0;
    padding: 5px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    position: fixed;
    bottom: 0;
    width: 100%;
    flex-direction: column;
    align-items: center;
}

        .upload-form {
            display: flex;
            flex-direction: column;
            gap: 10px;
            width: 100%; /* Form takes full width of footer */
            align-items: center; /* Center form elements horizontally */
        }
        
        .file-input-container {
            display: flex;
            align-items: center;
            width: 100%; /* Input container takes full width */
            justify-content: center; /* Center the label/button */
        }

        .file-input-container label { /* Style the label as the button */
            background-color: #007bff; /* Example color */
            color: white;
            padding: 10px 20px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            text-align: center;
            font-size: 1em;
            justify-content: center; /* Center the buttons */
        }

        .file-input-container input[type="file"] {
            display: none; /* Hide the actual file input */
        }

        .name-inputs {
            display: flex;
            flex-direction: column;
            gap: 5px;
            width: 100%; /* Name inputs take full width */
        }

        .name-inputs input[type="text"] {
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 5px;
            font-size: 1em;
            box-sizing: border-box; /* Include padding and border in width */
        }

        button[type="submit"] {
            background-color: #007bff; /* Example color */
            color: white;
            padding: 10px 20px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 1em;
            width: 100%; /* Submit button takes full width */
            justify-content: center; /* Center the buttons */
        }
                #instructionsButton {
            background-color: #f0ad4e; /* Example color (orange) */
            color: white;
            padding: 10px 20px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 1em;
            margin-right: 10px; /* Space between buttons */
        }

        #instructionsModal {
            display: none; /* Hidden by default */
            position: fixed;
            top: 50%;
            left: 40%;
            transform: translate(-50%, -40%);
            background-color: white;
            padding: 5px;
            border-radius: 5px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
            z-index: 1001; /* Above other content */
        }

        #instructionsModal .close {
            position: absolute;
            top: 10px;
            right: 10px;
            cursor: pointer;
        }
        #uploadProgressModal {
            display: none; /* Hidden by default */
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: white;
            padding: 20px;
            border-radius: 5px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
            z-index: 1002; /* Above other content (and instructions modal) */
            text-align: center; /* Center the message */
        }
        


        /* Portrait Styles */
        @media (orientation: portrait) {
            .file-input-container label,
            .name-inputs input[type="text"],
            button[type="submit"] {
                font-size: 1em; /* Larger font size in portrait */
            }
    #instructionsButton,
    .file-input-container label,
    button[type="submit"] {
        font-size: 1em; /* Larger font size in portrait */
    }            
        }
        #galleryNameInput {
            display: none; /* Initially hidden */
            width: 100%;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 5px;
            font-size: 1em;
            box-sizing: border-box;
        }

        /* Portrait Styles */
        @media (orientation: portrait) {
            #galleryNameInput {
                font-size: 1em; /* Larger font size in portrait */
            }
            #instructionsButton,
            .file-input-container label,
            button[type="submit"] {
                font-size: 1em; /* Larger font size in portrait */
            }

            #instructionsModal {
                font-size: 1em; /* Larger font size for modal content */
                           top: 50%;
            left: 40%;
            transform: translate(-30%, -50%);
            background-color: white;
            padding: 5px;
            }
            
        }


        /* Larger Portrait Styles (width > 900px) - Optional */
        @media (orientation: portrait) and (min-width: 900px) {

        
            #instructionsButton,
            .file-input-container label,
            button[type="submit"] {
                transform: scale(0.0);
                font-size: 1em; /* Even larger font size */
            }
  
            
            .file-input-container label,
            .name-inputs input[type="text"],
            button[type="submit"] {
                transform: scale(0.0);
                font-size: 1em; /* Even larger font size */
            }
            #galleryNameInput {
                font-size: 1em; /* Even larger font size */
            }            
        }
        

        #uploadButton { /* Style for the initial upload button */
            display: block; /* Initially visible */
        }

        .confirmation-buttons { /* Style for the "Cancel" and "OK" buttons container */
            display: none; /* Initially hidden */
            flex-direction: row; /* Arrange buttons horizontally */
            justify-content: space-between; /* Space buttons evenly */
            width: 90%; /* Full width */
        }

        .confirmation-buttons button {
            padding: 10px 20px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 1em;
        }

        .confirmation-buttons button.cancel {
            background-color: #dc3545; /* Red for cancel */
            color: white;
            width: 30%; /* Full width */
        }

        .confirmation-buttons button.ok {
            background-color: #28a745; /* Green for OK */
            color: white;
            width: 30%; /* Full width */            
        }
