:root {
    --lnf-light: hsl(230, 100%, 79%); /* LNF light background color */
    --lnf-mid: hsl(230, 60%, 40%); /* LNF medium color (custom to blog) */
    --lnf-dark: hsl(230, 100%, 21%); /* LNF header color */
    --lnf-placeholder: hsla(230, 100%, 21%, 0.5); /* LNF placeholder color */
    --lnf-footer-bg: rgb(8, 56, 0);
    --lnf-footer-accent: rgb(124, 199, 112);
    --lnf-font: 'Inter', sans-serif;
    --lnf-site-padding-top: 30px;
    /* --lnf-logo-color--friends: var(--lnf-light); */
    --lnf-logo-color--friends: white;
}

html {
    text-rendering: optimizeLegibility;
}

body {
    color: #333;
}

main h1, main h1 strong,
main h2, main h2 strong,
main h3, main h3 strong,
main h4, main h4 strong,
main h5, main h5 strong,
main h6, main h6 strong
{
    line-height: 1.2;
    margin: .75em 0 .75em;
    font-weight: 800;
}

@media screen and (min-width: 768px){
    h1.title-h1 {
        font-size: 80px;
    }

    .paragraph h1 {
        font-size: 64px;
    }

    .paragraph h2 {
        font-size: 40px;
    }

    .paragraph h3 {
        font-size: 24px;
    }

    .paragraph h4 {
        font-size: 20px;
    }
}

a {
    color: var(--lnf-dark);
}

.bg-color-light {
    background: var(--lnf-light);
}

.title-h1 {
    color: var(--lnf-dark);
    font-size: 2.5rem;
    padding-top: 1rem;
}

.title-h3 {
    color: var(--lnf-dark);
}

.bg-color-light,
.lnf-text-primary,
.button.lnf-text-primary {
    color: var(--lnf-dark);
}

.bg-color-light .paragraph-2x {
    /* font-weight: 900; */
    color: var(--lnf-dark);
    font-size: 1.5rem;
    margin: 2rem 0;
    opacity: .5;
}

.button.button-style-primary {
    background: var(--lnf-dark);
    color: white;
    border-radius: 99px;
    box-shadow: 2px 2px var(--lnf-light), 5px 5px 0 var(--lnf-dark);
}

.button.button-style-secondary {
    /* background: var(--lnf-light); */
    /* color: white; */
    /* border-radius: 99px; */
    /* box-shadow: 2px 2px var(--lnf-light), 5px 5px 0 var(--lnf-dark); */
}

footer.bg-color-custom.dark {
    background-color: var(--lnf-footer-bg);
    color: var(--lnf-footer-accent);
    color: white;
}

footer.bg-color-custom.dark .button.button-style-primary {
    background: var(--lnf-footer-accent);
    border-width: 0;
    box-shadow: 3px 3px var(--lnf-footer-bg), 4px 4px 0 var(--lnf-footer-accent);
    color: black;
    font-family: Inter;
    font-weight: 900;
    width: 100%;
}

footer.bg-color-custom.dark h4 {
    color: var(--lnf-footer-accent);
}

input[type="text"],
input[type="email"],
input#email {
    border-radius: 99px;
}

input#email.form-white,
input#email.form-white::placeholder {
    background: white;
    font-family: var(--lnf-font) !important;
    color: black;
}

#posts-blog {
    background-color: var(--lnf-light);
    background-color: var(--lnf-dark);
    background-color: white;
    color: var(--lnf-dark);
}

.posts h2 {
    color: white;
    color: var(--lnf-dark);
}

.space-hero.max-width-sm {
    max-width: 1000px;
}

.space-hero.max-width-sm .title-h4 {
    /* text-align: left; */
    line-height: 120%;
    font-size: 1.375rem;
}

/* Custom styling of blog title */
.lnf-blog-title {
    color: var(--lnf-dark);
    margin-top: 4rem;
    display: block;
}

.lnf-blog-title--blog {
    color: white;
}

.header-main nav.padding {
    padding-top: var(--lnf-site-padding-top);
}

/* Increase mobile menu top padding to clear LNF logo */
.header-space {
    padding-top: 100px !important;
}

/* Override logo SVG style to differentiate color of "Friends" 
on homepage and post page due to conflicting background colors */
.lnf-body-home path[fill="#94a5ff"] {
    fill: var(--lnf-logo-color--friends);
}

/* LNF Featured Posts */
.lnf-section-featured-posts {
    margin-bottom: 8rem;
}

/* Fix utility class from theme */
.margin-auto-center {
    margin-left: auto !important;
    margin-right: auto !important;
}

.header-main.active {
    --lnf-logo-color--friends: var(--lnf-light);
}
.header-main.active ul.header-listed li {
    font-weight: bold;
    text-align: center;
}

.header-main.active ul.header-social {
    display: flex !important;
    justify-content: center;
}

input.form-white::placeholder {
    color: var(--lnf-placeholder) !important;
}

/* Utility */
.flex {
    display: flex;
}

.grow {
    flex-grow: 1;
}

.w-full {
    width: 100%;
}

.max-w-sm {
    max-width: 24rem;
}

.items-center {
    align-items: center;
}

.justify-center {
    justify-content: center;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.gap-4 {
    gap: 1rem;
}

@media screen and (max-width: 768px){
    .ltmd\:flex-col {
        flex-direction: column;
    }
}
