* {
    padding: 0;
    margin: 0;
    font-family: 'Montserrat', Helvetica, sans-serif;
}

:root {
    --blue: 0, 113, 185;
    --gray: 150, 192, 183;
    --orange: 252, 81, 48;
    --lightblack: rgba(0, 0, 0, 0.502);
    --radius: 6px;
}

body {
    max-width: 100%;
    overflow-x: hidden;
}

#banner {
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: rgba(var(--gray), 0.459);
    font-size: 1rem;
    display: flex;
    justify-content: space-between;
}

#close {
    background-color: rgba(var(--gray), 0.459);
    cursor: pointer;
}

header {
    background-color: #fff;
    border-bottom: 2px solid rgba(0, 0, 0, 0.5);
    box-shadow: #0071B9 0 0 10px;
    display: flex;
    padding: 1rem;
    align-items: center;
    justify-content: center;
    position: relative;
}

#logo {
    height: 175px;
    margin: 0 auto;
    object-fit: contain;
}

#join {
    font-size: 16pt;
    border: 2px solid rgba(0, 0, 0, 0.5);
    border-radius: 0.5rem;
    background-color: rgb(var(--blue));
    color: #f0ffff;
    padding: 0.25rem 0.75rem;
    text-shadow: #96C0B7 0 0 10px;
    position: absolute;
    top: 1rem;
    right: 5.5rem;
    text-decoration: none;
}

#join:hover {
    color: rgb(var(--blue));
    background-color: rgb(var(--gray));
}

#menu {
    font-size: 1.5rem;
    border: 2px solid #00000080;
    border-radius: 0.5rem;
    background-color: rgb(var(--orange));
    color: rgb(var(--blue));
    padding: 0.25rem 0.75rem;
    position: absolute;
    top: 1rem;
    right: 1rem;
}

#menu::before {
    content: "\2630";
}

#menu.open::before {
    content: "\2715";
}

#menu:hover {
    cursor: pointer;
}

#navigation {
    display: none;
    /* transition: transform 0.3s ease-in-out; */
    position: absolute;
    font-size: 1.5rem;
    border: 5px solid var(--lightblack);
    border-radius: 0.5rem;
    padding: 0.25rem 0.75rem;
    top: 4rem;
    right: 0rem;
    background-color: rgb(var(--blue));
}

#navigation.open {
    display: block;
    /* transform: translateX(-1rem);
    transition: transform 0.3s ease-in-out; */
    animation: closeMenu 0.3s ease-in-out;
}

@keyframes closeMenu {
    0% {
        display: block;
    }

    1% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(-1rem);
    }
}

#navigation a {
    display: block;
    color: #000000;
    text-decoration: none;
    padding: .5rem;
    justify-content: right;
}

#navigation a:hover {
    background-color: rgba(var(--gray), 0.314);
    color: rgb(var(--orange));
}

.socials img {
    width: 25px;
    border: 2px solid var(--lightblack);
    border-radius: 0.5rem;
    background-color: var(--lightblack);
}

#social-head {
    display: none;
    position: absolute;
    top: 1rem;
    right: 1rem;
}

body {
    overflow-x: hidden;
}

#weather-banner {
    background-color: rgba(var(--blue), 0.459);
    margin: 1rem;
    padding: .5rem;
    justify-content: space-around;
    align-items: center;
    display: flex;
    flex-direction: row;
    border-radius: var(--radius);
}

#ten-day {
    display: none;
}

#hero {
    position: relative;
}

#hero img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

#hero-text {
    position: absolute;
    top: 10%;
    left: 10%;
    background-color: rgba(var(--gray), 0.314);
    border-radius: var(--radius);
    font-size: smaller;
}

#events-banner {
    background-color: rgba(var(--blue), 0.459);
    text-align: center;
    margin: 1rem;
    padding: .5rem;
    border-radius: var(--radius);
}

#past-events {
    background-color: rgba(var(--blue), 0.459);
    text-align: center;
    margin: 1rem;
    padding: .5rem;
    border-radius: var(--radius);
}

#board {
    background-color: rgba(var(--blue), 0.459);
    text-align: center;
    margin: 1rem;
    padding: .5rem;
    border-radius: var(--radius);
}

#discover-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 2rem;
}

#discover-sidebar {
    background-color: rgba(var(--gray), 0.502);
    margin-bottom: 1rem;
    color: rgb(var(--blue));
    border-radius: var(--radius);
}

#discover-sidebar div {
    padding: 1rem;
    border: rgb(var(--orange)) 2px solid;
    margin: 1rem;
    border-radius: 0.5rem;
    height: fit-content;
}

#discover-sidebar * {
    padding: .5em;
}

#discoverVisits {
    margin-top: 1rem;
    margin-bottom: 1rem;
    text-align: center;
}

#discover-events {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

#discover-population {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

#discover-population-num {
    font-weight: bold;
}

#discover-content {
    display: flex;
    flex-direction: column;
}

#discover-content img {
    width: 100%;
    margin-bottom: 1rem;
    border-radius: var(--radius);
}

#join-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 1rem;
}

.wf1 input:required {
    border-left: solid 10px rgb(var(--orange));
}

.wf1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 1rem;
    width: 100%;
}

.wf1 legend {
    font-weight: bold;
    font-size: 1.5rem;
    text-align: center;
    padding: .5rem;
    color: rgb(var(--blue));
}

.wf1 fieldset {
    border: var(--lightblack) 2px solid;
    border-radius: var(--radius);
    max-width: 1500px;
}

.wf1 label {
    display: flex;
    flex-direction: column;
    padding-top: 2rem;
    font-size: 1.25rem;
}

.wf1 input[type="text"],
.wf1 input[type="email"],
.wf1 input[type="tel"],
.wf1 select,
.wf1 textarea,
.wf1 input[type="submit"] {
    padding: .75rem;
    border-radius: var(--radius);
    margin-top: .5rem;
    max-width: 800px;
    width: 80%;
}

.wf1 select {
    width: 83%;
}

.wf1 input[type="submit"] {

    background-color: rgb(var(--blue));
    color: #f0fff0;
    width: 100%;
    font-size: 1.25rem;
    font-weight: bold;
}

.wf1 div {
    padding-top: 1rem;
}

#membershipInfo {
    max-width: 400px;
    padding: 1rem;
}

#membershipInfo h2 {
    text-align: center;
}

#membershipInfo div {
    border: var(--lightblack) 2px solid;
    border-radius: var(--radius);
    padding: 1rem;
    margin: 1rem;
}

#npMem {
    background-color: rgb(var(--gray));
}

#bronzeMem {
    background-color: rgba(var(--blue), 0.459);
}

#silverMem {
    background-color: rgba(var(--gray), 0.502);
}

#goldMem {
    background-color: rgba(var(--orange), 0.459);
}

#thankyou {
    text-align: center;
    padding: 2rem;
    font-size: 2em;
}

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

.board {
    width: 100%;
}

.member-section {
    width: 90%;
}

#directory-buttons button {
    padding: 1rem;
    margin-top: 1rem;
    font-size: 1.25rem;
    background-color: rgb(var(--blue));
    color: rgb(var(--gray));
    border-radius: var(--radius);
    border: var(--lightblack) 2px solid;
}

#directory-buttons button:hover {
    background-color: rgba(var(--gray), 0.314);
    color: rgb(var(--blue));
    cursor: pointer;
}

.board {
    align-items: center;
}

.member-card {
    display: flex;
    flex-direction: column;
    border: var(--lightblack) 2px solid;
    border-radius: var(--radius);
    padding: 1rem;
    margin: 1rem;
    align-items: center;
}

.member-card:hover {
    background-color: rgba(var(--gray), 0.314);
    transform: scale(1.01);
    transition: transform 0.25s ease-in-out;
}

#spotlight {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}

#spotlight-card {
    height: 375px;
}

.spotlight-logo {
    max-width: 200px;
}

.gridView {
    display: grid;
    justify-items: center;
    text-align: center;
}

.listView {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.listView .member-card {
    flex-direction: column;
    align-items: start;
}

.listView .member-card * {
    padding: 0.25em;
}

.listView .member-card a {
    display: block;
    width: 90%;
}

.listView img {
    display: none;
}

.member-logo {
    height: auto;
    max-width: 150px;
    border-radius: 50%;
}

footer {
    background-color: rgb(var(--blue));
    color: #fff;
    text-align: center;
    font-size: 12pt;
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
}

#footer-nav {
    display: flex;
    align-items: center;
}

#social-foot {
    display: flex;
    align-items: center;
}

footer a {
    color: #f0ffff;
    text-decoration: none;
    padding: 1rem;
}

.year {
    justify-self: center;
}