/* 
    orange: f58220 - #f5821F
    blue: 1b489b #19469D

*/

:root {
    --primary: #19469D;
    --accent: #f5821F;
    --truewhite: #fff;
    --trueblack: #000;
  }

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

body {
    color: #333;
    background-color: var(--truewhite);
    font-size: 1em;
    line-height: 1.2;
    font-family: Arial, Helvetica, sans-serif;
}


a {
    /* padding: 3px; */
    /* font-size: 1.25em; */
    /* text-align: center; */
    color: var(--primary);
    /* background-color: var(--accent); */
    /* border-radius: 8px;
    text-decoration: none;
    cursor: pointer; */
}

a:hover {
    color: #f5821F;;
    /* background-color: #87471a ; */
}

a:active {
    color: #777;
    /* background-color: #333 ; */
}

.wrapper {
    display: grid;
    /* gap: .5em; */
    grid-template-columns: 1fr;
    grid-template-rows: min-content 50vh auto min-content;
    grid-template-areas: "header"
                          "hero"
                          "main"
                          "footer";
}

header {
    grid-area: header;
    /* display: flex; */
    padding: 10px;
    /* justify-content: center;
    align-items: center; */
    color: var(--truewhite);
    background-color: var(--primary);

}

.header-title {
    font-size: 2em;
    text-align: center;
    color: #fff;

}

.hero {
    grid-area: hero;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: var(--truewhite);
    /* background-color: rgb(130, 129, 129); */
    /* background: url("../img/housecabin.jpg"); */
}

.banner-image {
    min-width: 350px;
    width: 100%;
    height: 100%;
    object-fit: cover;

}

/************************************
   HERO IMAGE OVERLAY - ELEMENTS
*************************************/

/* USE https://cssgradient.io to create these quickly */
.hero-fade {
    display: grid;
    grid-area: hero;
    width: 100%;
    background: rgb(255,255,255);
    background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,2) 100%);
}

.hero-form {
    grid-area: hero;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* min-width: 350px; */
    width: 100%;
    /* background-color: rgba(255, 255, 255, 0.7); */
}

.hero-form h1 {
    padding: .5em;
    color: var(--trueblack);
    font-size: 2em;
    filter: drop-shadow(0px 0px 8px #fff);
}

.hero-form h2 {
    padding: .5em;
    font-size: 1.3em;
    color: var(--trueblack);
    text-align: center;

}

.hero-form-group {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: center;
    align-items: center;
    width: 50vw;

    /* background-color: rgba(255, 255, 255, 0.7); */
}

/* .hero-form input[type=text] {
    margin-bottom: 1em;
    padding: .5em;
    min-width: 350px;
    width: 50vw;
    color: #333;
    font-size: 1.2em;
    border: 1px solid #333;
    filter: drop-shadow(0px 0px 12px #000);
}  */

.hero-form .input_valid {
    margin: 0 auto 1em auto;
    display:block;
    padding: .5em;
    width: 50vw;
    color: #333;
    background-color: #fff;
    font-size: 1.2em;
    border: 1px solid #333;
    /* filter: drop-shadow(0px 0px 12px #000); */
} 

.hero-form .input_invalid {
    margin: 0 auto 1em auto;
    display:block;
    padding: .5em;
    width: 50vw;
    color: #333;
    background-color: rgb(237, 185, 133);
    font-size: 1.2em;
    border: 1px solid rgb(243, 102, 0);
    /* filter: drop-shadow(0px 0px 12px #000); */
} 

.btn_complete,
.btn_disabled,
.btn_enabled {
    padding: .4em;
    width: 200px;
    margin:0 auto;
    display:block;
    color: var(--truewhite);
    background-color: var(--accent);
    font-size: 1.25em;
    border: none;
    cursor: pointer;
    filter: drop-shadow(0px 0px 12px #000);

} 

.btn_disabled {
    color: #444;
    background-color: #888;
    cursor: not-allowed;
    /* filter: drop-shadow(0px 0px 12px #000); */
} 

.btn_complete:hover,
.btn_enabled:hover {
    color: #000;
    background-color: rgb(220, 156, 100);
} 

.btn_complete:active,
.btn_enabled:active {
    color: #888;
    background-color:#333;
}

.hero-form .form-results {
    padding: 10px;
    color: #000;
    /* background-color: #f5821F; */
    background-color: rgba(255, 255, 255, 0.8 );
    font-size: 1.2em;
}

.email-error {
    padding: 1.5em;
    /* min-width: 350px; */
    width: 50vw;
    font-size: 1.3em;
    text-align: center;
    font-weight: bolder;
    background-color: #fff;
    opacity: .8;
}

.complete-box {
    padding: 1.2em;
    /* min-width: 350px; */
    width: 35vw;
    font-size: 1.4em;
    text-align: center;
    font-weight: bolder;
    background-color: #fff;
    opacity: .8;
}

/************************************
   MAIN CONTENT OR ARTICLE ELEMENTS
*************************************/

.main {
    grid-area: main;
    padding: 3em;
    background-color: var(--truewhite);
    /* background-color: #333; */
}

.blog {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: min-content  min-content  auto;
    /* background-color: aliceblue; */
    width: 100%;
}

.blog p {
    margin-bottom: 1em;
    color: var(--trueblack);
    font-size: 1.35em;
    line-height: 1.2;
}

.blog .blog-date {
    margin-bottom: .25em;
    color: #333;
    font-size: 1.2;
    font-style: italic;
}

.blog .blog-title {
    margin-bottom: 3px;
    color: var(--primary);
    font-size: 2em;
}

.blog .sect1 {
    margin-left: 5px;
}

.blog .sect2 {
    margin-left: 10px;
}

.blog h3 {
    margin-top: 15px;
    margin-bottom: 5px;

    color: var(--accent);
    font-size: 1.45em;
    line-height: 1.2;
}

.blog-content h4 {
    margin-top: 15px;
    margin-bottom: 5px;
    margin-left: 10px;
    color: #333;
    font-size: 1.25em;
    line-height: 1.2;
}

.blog-content ol{
    margin-left: 35px;
    color: var(--trueblack);
    font-size: 1.15em;
    line-height: 1.2;
}

/* .blog-content p {
    margin-left: 45px;
} */



/**********************
   FOOTER ELEMENTS
***********************/

footer {
    grid-area: footer;
    padding: 2em;
    color: var(--truewhite);
    background-color: var(--primary);
    font-size: 1.2em;
}

.footer-content {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
}

.footer-txt {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
    text-align: center;
}

.bio {
    display: grid;
    grid-template-columns: auto 1fr min-content;
    padding: 1em;
} 

.signature {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;

}

.signature strong {
    font-weight: bolder;
}

.signature img {
    margin-bottom: 10px;
    width: 160px;
    height: 160px;
}

.logo {
    align-self: end;
}

.logo img {
    width: 180px;
    height: 94px;
}


/**********************
   MEDIA QUERIES
***********************/

@media only screen and (max-width: 700px) {
 
    .banner-image {
        display: none;
        /* min-width: 350px;
        width: 100%;
        height: 100%;
        object-fit: cover; */
    
    }

    .bio {
        grid-template-columns: 1fr;
        gap: 20px;
        grid-template-rows: auto 1fr min-content;
    } 

    .logo {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .hero-form .input_invalid,
    .hero-form .input_valid {
        width: 90vw;
    } 
    

}