@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital');
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400..700');
@import url('https://fonts.googleapis.com/css2?family=Parisienne&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

* {
    margin: 0;
    padding: 0;
    font-family: "Montserrat", sans-serif;
    box-sizing: border-box;
}

:root {
    --blue: #192e46;
    --opp: #FFF;
    --highlight: #9d7f5d;
}

body {
    color: #000;
    width: 100%;
}

#topbar {
    height: 40px;
    width: 100%;
    background-color: var(--blue);
    position: sticky;
    top: 0;
    display: flex;
    color: var(--opp);
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

#topbar a {
    color: var(--opp);
}

#topbar img {
    height: 30px;
    width: auto;
    padding-left: 150px;
}

#headerBG {
    background-image: url('img/BLFS_BG.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

#menu_wrapper {
    height: 100px;
    width: 100%;
    display: flex;
    position: sticky;
    top: 40px;
    z-index: 999;
    background-color: #fff;
}

#site_id_img {
    height: 100%;
    width: 256px;
}

#site_id_img img {
    height: 80px;
    width: auto;
    padding: 10px 0 10px 50px;
}

#mainNav {
    display: flex;
    flex: 2 0 0;
    width: auto;
    align-items: center;
    justify-content: center;
}

#mainNav ul {
    display: flex;
    gap: 20px;
    list-style: none;
}

#mainNav ul li a {
    text-decoration: none;
    color: var(--blue);
    font-size: 1.5em;
    font-weight: 350;
}

#mainNav ul li a:hover {
    color: var(--highlight);
}

#bgImage {
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    height: 530px;
    width: 100%;
    position: relative;
}

#hero_content {
    position: absolute;
    top: 20px;
    left: 70px;
    width: 55%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

#subMenu {
    display: flex;
    gap: 20px;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 18px 0;
    flex-wrap: wrap;
}

#subMenu a,
#subMenu p {
    display: flex;
    text-decoration: none;
    font-size: 1em;
    font-weight: 550;
    color: var(--blue);
}

#subMenu a:hover {
    color: var(--highlight);
}

#search_bar {
    margin-left: 20px;
}

input[type='submit'],
input[type='text'],
select {
    padding: 5px;
}

#homepage_message {
    width: 60%;
    min-height: 220px;
    background-color: rgba(255, 255, 255, .8);
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

#homepage_message h1 {
    color: var(--blue);
    font-weight: 350;
    font-size: 2em;
    margin: 0;
    line-height: 1.2em;
}

#homepage_message h2 {
    color: var(--blue);
    font-weight: 350;
    font-size: 1em;
    margin: 20px 0px;
    line-height: 1.2em;
}

.phoneUnderline {
    text-decoration: underline !important;
}

.phoneUnderline::before {
    margin-left: 100px;
    font-weight: 650;
}

#post_gallery_home {
    width: 100%;
    height: auto;
}

.post_list {
    height: 450px;
    width: 100%;
    display: block;
}

.post_thumbnail {
    width: 100%;
    height: 450px;
    background-position: center;
    background-size: cover;
}

#mainCont {
    width: 100%;
    background-color: var(--blue);
    color: #FFF;
    display: flex;
}
#hero_button_container {
    display:flex;
    align-items: center;
    justify-content: center;
    gap:20px;
}
.action_button {
    background-color:var(--blue);
    border-radius:5px;
    padding:15px;
}
.action_button a {
    text-decoration: none;
    color:#FFF;
    padding:15px;
}

.left_image_align,
.right_image_align,
.imgAlign,
.textAlign {
    height: 450px;
    margin: 0;
}

.textAlign {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.textAlign p,
.textAlign h2 {
    margin: 0 10%;
    line-height: 1.5em;
}

.textAlign h2 {
    font-size: 2em;
    font-weight: 350;
}

.left_image_align .imgAlign {
    float: left;
    width: 50%;
    height: 100%;
}

.left_image_align .textAlign {
    float: right;
    width: 50%;
    background-color: var(--blue);
    color: #FFF;
}

.right_image_align .imgAlign {
    float: right;
    width: 50%;
    height: 100%;
}

.right_image_align .textAlign {
    float: left;
    width: 50%;
    background-color: var(--blue);
    color: #FFF;
}

.textAlign a {
    color: #FFF;
    text-decoration: none;
}

#footer-menu {
    background-color: var(--opp);
    color: var(--blue);
    width: 100%;
    margin: 0;
    padding: 0;
}

#footer-menu-columns {
    display: flex;
    align-content: center;
    justify-content: center;
}

.footer-menu-list {
    padding: 20px;
}

.footer-menu-list a {
    color: var(--blue);
    text-decoration: none;
}

.footer-menu-list ul li {
    list-style: none;
    margin: 20px 0;
}

#post-bg-img {
    width: 100%;
    aspect-ratio: 16/5;
    background-size: cover;
    background-repeat: no-repeat;
}

#post-title {
    text-align: center;
    padding: 50px;
}

#post-title h1 {
    font-weight: 300;
}

#quote {
    flex: 0 0 30%;
    padding: 50px;
    background-color: var(--opp);
    border-bottom: solid thin var(--blue);
    border-top: solid thin var(--blue);
    align-self: stretch;
    align-items: center;
    display: flex;
}

#quote h4 {
    font-size: 1em;
    font-weight: 350;
    line-height: 2em;
    font-style: italic;
    color: var(--blue);
}

#category_title,
#category_subtitle {
    text-align: center;
    font-weight: 350;
}

#cat_desc h2 {
    margin: 20px;
}

.cat_desc p {
    margin: 40px;
    line-height: 1.25em;
    font-size: 1.25em;
}

#cat_desc_cont {
    background-color: var(--opp);
    color: var(--blue);
}
#property_locator {
    width:100%;
    height:auto;
}
#map {
    width:100%;
    height:450px;
}