.blog-post {
    margin-bottom: 45px;
}

.blog-post .blog-layout {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.blog-post .blog-main {
    flex: 1 1 0;
    min-width: 0;
}

.blog-post .blog-sidebar {
    flex: 0 0 330px;
}

.blog-post .blog-meta {
    margin: -4px 0 18px;
    color: #888;
    font-size: 13px;
    line-height: 150%;
}

.blog-post .blog-intro {
    font-size: 16px;
    line-height: 175%;
    color: #555;
}

.blog-post .blog-main p,
.blog-post .blog-main li {
    line-height: 175%;
}

.blog-post .blog-main h2 {
    margin-top: 34px;
    margin-bottom: 12px;
}

.blog-post .blog-main h3 {
    margin-top: 24px;
    margin-bottom: 8px;
}

.blog-post .blog-main ul,
.blog-post .blog-main ol {
    margin-bottom: 18px;
}

.blog-post .blog-main li {
    margin-top: 8px;
}

.blog-post .blog-toc,
.blog-post .blog-cta,
.blog-post .blog-callout,
.blog-post .blog-faq,
.blog-post .sidebar-panel {
    border: 1px solid #d6d6d6;
    background: #f7f7f4;
    padding: 18px 20px;
    margin: 24px 0;
}

.blog-post .blog-toc h2,
.blog-post .sidebar-panel h2 {
    margin-top: 0;
}

.blog-post .blog-toc ul,
.blog-post .related-list {
    margin: 0;
    padding-left: 18px;
}

.blog-post .blog-toc a,
.blog-post .related-list a,
.blog-post .service-links a {
    color: #005398;
    text-decoration: none;
}

.blog-post .blog-toc a:hover,
.blog-post .related-list a:hover,
.blog-post .service-links a:hover {
    color: #ed1c24;
    text-decoration: none;
}

.blog-post .blog-cta {
    border-left: 6px solid #ed1c24;
    background: #ebebe0;
}

.blog-post .blog-cta p {
    margin-bottom: 10px;
}

.blog-post .blog-button,
.blog-post input.blog-button[type=submit] {
    display: inline-block;
    min-height: 32px;
    margin-top: 8px;
    padding: 7px 14px;
    border: 1px solid #a10f15;
    background: #ed1c24;
    color: #fff;
    font-family: Oswald, sans-serif;
    font-size: 15px;
    line-height: 120%;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
}

.blog-post .blog-button:hover {
    color: #fff;
    background: #c9131a;
    text-decoration: none;
}

.blog-post .blog-image {
    margin: 24px 0;
}

.blog-post .blog-image img,
.blog-post .sidebar-image img {
    display: block;
    width: 100%;
    height: auto;
}

.blog-post .blog-image figcaption {
    margin-top: 7px;
    color: #777;
    font-size: 12px;
    line-height: 150%;
}

.blog-post .blog-table {
    width: 100%;
    margin: 22px 0;
    border-collapse: collapse;
}

.blog-post .blog-table th,
.blog-post .blog-table td {
    padding: 10px;
    border: 1px solid #d6d6d6;
    text-align: left;
    vertical-align: top;
}

.blog-post .blog-table th {
    background: #ebebe0;
    color: #000;
    font-family: Oswald, sans-serif;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.blog-post .blog-faq details {
    padding: 12px 0;
    border-top: 1px solid #d6d6d6;
}

.blog-post .blog-faq details:first-of-type {
    border-top: 0;
}

.blog-post .blog-faq summary {
    cursor: pointer;
    color: #005398;
    font-weight: 700;
}

.blog-post .blog-sidebar form {
    width: 100%;
}

.blog-post .blog-sidebar input[type=text],
.blog-post .blog-sidebar textarea {
    width: 100%;
    max-width: 100%;
}

.blog-post .blog-sidebar textarea {
    height: 100px;
}

.blog-post .service-links {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.blog-post .service-links li {
    margin: 0;
    padding: 8px 0;
    border-top: 1px solid #ddd;
}

.blog-post .service-links li:first-child {
    border-top: 0;
}

.blog-post .sidebar-contact p {
    margin-bottom: 8px;
}

@media (max-width: 991px) {
    .blog-post .blog-layout {
        display: block;
    }

    .blog-post .blog-sidebar {
        margin-top: 30px;
    }
}

@media (max-width: 500px) {
    .blog-post .blog-toc,
    .blog-post .blog-cta,
    .blog-post .blog-callout,
    .blog-post .blog-faq,
    .blog-post .sidebar-panel {
        margin-left: 10px;
        margin-right: 10px;
        padding: 15px;
    }

    .blog-post .blog-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}
