/* Base Styles */
body, h1, form, label, input, p {
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Arial', sans-serif;
    background-color: white; /* Light background color for contrast */
    display: flex;
    justify-content: center;
    align-items: flex-start; /* Align items to the top */
    min-height: 100vh; /* Allow scrolling */
    margin: 0;
    overflow-y: auto; /* Enable vertical scrolling */
}

.main-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px; /* Space between image and form */
    max-width: 1200px; /* Maximum width of the container */
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
}

.image-container {
    max-width: 600px; /* Limit max width for the container */
    width: 100%; /* Allow it to scale */
    margin-top: 20px; /* Add top margin to ensure visibility */
}

.image-container img {
    width: 100%; /* Make the image responsive */
    height: auto; /* Maintain aspect ratio */
    border-radius: 10px; /* Rounded corners */
    object-fit: cover; /* Ensure it covers the area if needed */
}

.form-container {
    background: white; /* Background color of the form container */
    padding: 20px; /* Padding inside the form container */
    border-radius: 10px;
    max-width: 400px; /* Maximum width of the form container */
    width: 100%;
    text-align: center;
}

#header h1 {
    font-size: 2.54em; /* Font size for the header */
    color: black;
    margin-top: 1;
    margin-bottom: 2px;
    font-weight: 700;
}

#header p {
    font-size: 0.9em; /* Font size for subtitle */
    color: #666; /* Slightly lighter color */
    margin-bottom: 30px; /* Space between subtitle and form */
}

form {
    display: flex;
    flex-direction: column;
    gap: 8px; /* Decreased space between form fields */
}

.input-wrapper {
    position: relative;
    margin-bottom: 15px; /* Space between input fields */
}

label {
    font-size: 0.8em; /* Smaller font size for labels */
    color: #333; /* Darker color for labels */
    margin-bottom: 2px; /* Reduced space between label and input field */
    text-align: left;
    font-weight: 700;
}

input[type="text"],
input[type="email"],
input[type="password"] {
    padding: 8px; /* Reduced padding for smaller input fields */
    padding-right: 40px; /* Space for the icon */
    border-radius: 5px;
    font-size: 1em; /* Smaller font size for input fields */
    width: 100%;
    box-sizing: border-box;
    background-color: white; /* Background color of input fields */
    outline: none; /* Remove default outline */
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus {
    border-color: none; /* Hide border color on focus */
}

.input-icon {
    position: absolute;
    right: 25px; /* Adjust to fit within input field */
    top: 50%;
    transform: translateY(-50%);
    width: 16px; /* Adjust size of the icon */
    height: 8px;
    pointer-events: none; /* Prevent icon from blocking input clicks */
}

input[type="submit"] {
    padding: 10px; /* Adjust padding for the submit button */
    font-size: 0.8em; /* Smaller font size for the button */
    color: white;
    background-color: #485670;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.3s;
}

input[type="submit"]:hover {
    background-color: blue;
    transform: translateY(-2px);
}

input[type="submit"]:active {
    transform: translateY(0);
}

input[type="checkbox"] {
    margin-right: 8px;
}

#message {
    margin-top: 15px;
    font-size: 0.8em; /* Font size for messages */
    color: #f00d06;
}

a {
    color: #485670; /* Color for the link */
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.form-container .login-link {
    margin-top: 15px;
}

/* Responsive Styles */
@media (max-width: 1200px) {
    .main-container {
        flex-direction: column; /* Stack image and form vertically */
        align-items: center; /* Center align items */
    }

    .image-container img {
        width: 100%; /* Make the image responsive */
        max-width: 400px; /* Limit the max width */
    }

    .form-container {
        max-width: 90%; /* Use more width on smaller screens */
    }
}

@media (max-width: 768px) {
    #header h1 {
        font-size: 2em; /* Decrease header font size */
    }

    #header p {
        font-size: 0.8em; /* Decrease subtitle font size */
    }

    input[type="submit"] {
        padding: 12px; /* Increase padding on smaller screens */
        font-size: 1em; /* Adjust button font size */
    }
}

@media (max-width: 480px) {
    #header h1 {
        font-size: 1.5em; /* Further decrease header font size */
    }
    .image-container{
        margin-top: 50px;
    }

    input[type="text"],
    input[type="email"],
    input[type="password"] {
        padding: 12px; /* Increase padding for inputs */
    }

    input[type="submit"] {
        font-size: 1.2em; /* Increase button font size */
    }

    label {
        font-size: 0.9em; /* Increase label font size */

    }
}
