
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: "Lato-Regular.ttf";
    background-color: #fafcf6;
}

/* Header elements */
header {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 4px;
    place-items: center;
    text-indent: 0;         /* Removes first line indentation */
    white-space: normal;    /* Ensures text wraps normally */
}
header img {
    max-width: 200px;
}
.header-subtitle {
    font-size: 0.8em;
    font-weight: 400;
    padding-left: 1em;
}
header nav {
    padding: 0.5em 0;
}
nav {
    text-align: center;
}
nav ul {
    list-style-type: none;
    grid-column: span 2;
    font-weight: 500;
}
nav ul li {
    display: inline-block;
    margin: 0 1em;
    padding: 1em;
}
nav a {
    all: unset;
    cursor: pointer;
    padding: 0.5em 1em; 
    border-radius: 3px;
}
nav a:hover {
    background-color: #f5fce9;
}
#features-bg {
    background-image: url('power_plant_bg.png');
    background-repeat: no-repeat;
    width: 70vw;
    height: 300px;
    /* Other styles... */
}

/* The spanning top bar element */
#topbar {
    background-color: #e7f6d1;
    font-weight: 600;
    -webkit-box-shadow: 0px -3px 13px 0px #000000; 
    box-shadow: 0px -3px 13px 0px #000000;
    padding: 0.5em 0 0.5em 0.5em;
}
#topbar-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 4px;
    padding: 1em;
}
.topbar-button {
    margin: 0;
    padding: 0.5em;
    background-color: #e79707;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-radius: 5px;
}
#topbar img {
    float: left;
    width: 100px;
}

/* The primary big-text copy section */
#main-copy {
    text-align: center;
    border-bottom: 1px solid #374921;
    padding: 0 0 2em;
}
#main-copy img {
    width: 300px;
    margin-top: 2em;
}
#main-copy h1 {
    margin-top: 1em;
    margin-bottom: 0.5em;
}

/* The feature copy section */
#features {
    padding: 3em 0 6em;
    width: 50vw;
    margin: 0 auto;
}
#features-bg-wrapper {
    background-image: url('power_plant_gradient.png');
    background-repeat: no-repeat;
    background-size: 100vw;
}
#features ul {
    list-style-image: url('icon.png');
    margin-bottom: 0.5em;
}

#features li {
    background: url("icon.png") no-repeat left top; 
    padding: 0.5em 0 0.5em 2em;
    list-style: none;
    margin: 0;
    position: relative;
    left: -2em;
}

/* The bottom bar secondary nav section */
#bottom-bar {
    background-color: #e7f6d1;
    font-weight: 600;
    padding: 2em;
    text-align: center;
}
#bottom-bar p {
    font-weight: 400;
}

/* form stuff */
#contact {
    padding-top: 1em;
}
#contact-form {
    max-width: 600px;
    margin: 0 auto;
}
.form-field {
    margin-bottom: 1.25rem;
}
.form-field label {
    display: block;
    margin-bottom: 0.4rem;
    font-weight: 600;
}
.form-field input,
.form-field textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #aaa;
    border-radius: 4px;
    font: inherit;
}
.form-field textarea {
    resize: vertical;
}
.form-field input:focus,
.form-field textarea:focus {
    outline: 2px solid #333;
    outline-offset: 2px;
}
#submit-button {
    padding: 0.75rem 1.5rem;
    border: 0;
    border-radius: 4px;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
}
#submit-button:disabled {
    cursor: wait;
    opacity: 0.6;
}
#form-status {
    min-height: 1.5em;
    margin-top: 1rem;
}

/* Globals */
.align-right {
    text-align: right;
}


/* media queries */
@media screen and (max-width: 480px) {
    /* Mobile styles go here */
    #contact {
        padding-left: 0.5em;
        padding-right: 0.5em;
    }
    #features {
        padding: 2em 0 4em;
        width: 90vw;
        margin: 0 auto;
    }
}
@media screen and (max-width: 1024px) {
    /* Mobile styles go here */
    #features {
        padding-bottom: 1em;
    }
}

@media screen and (max-width: 1280px) {
    /* Mobile styles go here */
    #features-bg-wrapper {
         background-image: none;
         border-width: 1em 0 0;
         border-style: solid;
         border-color:#374921;
    }
    #features {
        padding: 3em 0 6em;
        width: 80vw;
        margin: 0 auto;
    }
}

