/* ===========================
   Global Styles
=========================== */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
}

header {
    text-align: center;
}

.header-image {
    width: 100%;
    max-height: 200px;
    object-fit: cover;
}

nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #333;
    overflow: hidden;
}

nav li {
    display: inline-block;
}

nav a {
    color: white;
    display: block;
    padding: 10px 20px;
    text-decoration: none;
}

nav a:hover {
    background-color: #555;
}

/* ===========================
   About Me Image Float
=========================== */
.float-image {
    float: right;
    margin: 10px;
    width: 40%;
}

main h1, main h2 {
    text-align: left;
}

/* Clear floats */
footer {
    clear: both; /* updated per assignment */
    text-align: center;
    padding: 10px;
    background-color: #f0f0f0;
}

/* ===========================
   Form Styles - Large Screens
=========================== */
form {
    width: 90%;
    margin: 20px auto;
}

fieldset {
    width: 90%;
    padding: 5px;
    margin-right: 10px;
    margin-bottom: 10px;
    position: relative;
}

label {
    display: block;
    position: absolute;
    width: 30%;
    padding: 5px;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="date"],
select,
textarea {
    display: block;
    position: relative;
    left: 30%;
    width: 60%;
    padding: 5px;
    margin-bottom: 10px;
    box-sizing: border-box;
}

input[type="radio"] {
    display: inline-block;
    position: inherit;
    left: 0;
    width: auto;
}

label.radio {
    display: inline-block;
    position: inherit;
}

input[type="submit"],
input[type="reset"] {
    display: block;
    float: left;
    width: 40%;
    padding: 10px;
    margin: 0 5% 10px 5%;
    text-align: center;
    font-size: 1em;
}

/* ===========================
   Form Focus & Validation
=========================== */
input:focus,
select:focus,
textarea:focus {
    border: 2px solid #4CAF50;
    outline: none;
}

input:valid,
select:valid,
textarea:valid {
    border: 2px solid green;
}

input:invalid,
select:invalid,
textarea:invalid {
    border: 2px solid red;
}

/* ===========================
   Responsive / Mobile Styles
=========================== */
@media screen and (max-width: 768px) {
    .float-image {
        float: none;
        width: 100%;
        margin: 0 0 10px 0;
    }

    form {
        width: 100%;
        font-size: large;
    }

    fieldset {
        width: 100%;
        padding: 5px;
        margin: 0;
    }

    label {
        display: block;
        position: inherit;
        width: 90%;
        height: 50px;
    }

    input[type="text"],
    input[type="tel"],
    input[type="email"],
    input[type="date"],
    select,
    textarea {
        display: block;
        position: inherit;
        width: 90%;
        height: 50px;
        padding: 5px;
        left: 0;
    }

    input[type="submit"],
    input[type="reset"] {
        float: none;
        width: 90%;
        margin: 10px 0;
        font-size: 1.2em;
    }
}
