.te-banner {
    width: 100%;
    padding: 4em 15px;
    color: var(--te-banner-color, #fff);
    background-color: var(--te-banner-background, #081014);
}
.te-banner *, .te-banner *::before, .te-banner *::after { box-sizing: border-box; }
.te-banner--pattern {
    background-image: url('../images/lined-swirl-pattern.svg'), radial-gradient(closest-side at 50% 50%, var(--theme-accent-action, #1b252c) 0%, var(--theme-accent, #030708) 100%);
    background-size: cover, cover;
    background-position: center, center;
    background-repeat: no-repeat, no-repeat;
}
.te-banner__inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: 'image content';
    width: 100%;
    max-width: 1700px;
    margin: 0 auto;
    padding: .8em;
    align-items: center;
}
.te-banner--image-right .te-banner__inner { grid-template-areas: 'content image'; }
.te-banner__media {
    grid-area: image;
    align-self: start;
    min-width: 0;
    padding: 2.5em;
    text-align: center;
}
.te-banner .te-banner__image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    border: 0;
    border-radius: 0;
}
.te-banner__content {
    grid-area: content;
    min-width: 0;
    padding: 2em 2rem;
    font-size: 16px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}
.te-banner .te-banner__content { color: var(--te-banner-color, #fff); }
.te-banner .te-banner__content :where(h1, h2, h3, h4, h5, h6, p, li, a, strong, em, span) { color: inherit; }
.te-banner .te-banner__content h1,
.te-banner .te-banner__content h2,
.te-banner .te-banner__content h3,
.te-banner .te-banner__content h4 {
    font-family: var(--theme-font-lato, inherit);
    font-weight: 900;
    line-height: 1.25;
    padding: 0;
    margin: 0 0 .65em;
}
.te-banner .te-banner__content h1 { font-size: clamp(30px, 3vw, 40px); }
.te-banner .te-banner__content h2 { font-size: clamp(26px, 2.5vw, 34px); }
.te-banner .te-banner__content h3 { font-size: clamp(22px, 2vw, 29px); }
.te-banner .te-banner__content h4 { font-size: clamp(20px, 1.7vw, 25px); }
.te-banner .te-banner__content p { margin: 0 0 1.25em; font-size: inherit; line-height: inherit; }
.te-banner .te-banner__content :where(ul, ol) { margin: 0 0 1.25em; padding-left: 1.5em; }
.te-banner .te-banner__content ul { list-style: disc; }
.te-banner .te-banner__content ol { list-style: decimal; }
.te-banner .te-banner__content li { margin-bottom: .45em; }
.te-banner .te-banner__content a:not(.hypercore-button) { text-decoration: underline; text-underline-offset: 2px; }
.te-banner .te-banner__content .hypercore-button { color: #fff; text-decoration: none; margin-top: .5em; }
.te-banner .te-banner__content :where(svg, fa-icon) { vertical-align: middle; }
.te-banner .te-banner__content .hypercore-button svg { width: 1em; height: 1em; fill: currentColor; }
.te-banner__buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.te-banner .te-banner__content > :last-child { margin-bottom: 0; }
.te-banner--no-image .te-banner__inner { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'content'; }
@media (max-width: 940px) {
    .te-banner { padding: 40px 15px; }
    .te-banner__inner, .te-banner--image-right .te-banner__inner { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'image' 'content'; }
    .te-banner--mobile-content .te-banner__inner { grid-template-areas: 'content' 'image'; }
    .te-banner__media { padding: 0 1rem 1.5rem; }
    .te-banner .te-banner__image { max-width: 600px; }
    .te-banner__content { padding: 1.5rem 1rem; }
    .te-banner--no-image .te-banner__inner { grid-template-areas: 'content'; }
}
@media (max-width: 600px) {
    .te-banner { padding: 30px 12px; }
    .te-banner__inner { padding: 0; }
    .te-banner__media, .te-banner__content { padding-left: 8px; padding-right: 8px; }
}

/* Keep the image inside its banner while the page scrolls past the text. */
@media (min-width: 941px) {
    .te-banner--sticky-image .te-banner__inner { align-items: start; }
    .te-banner--sticky-image .te-banner__media {
        position: sticky;
        top: var(--te-banner-sticky-top, 120px);
        align-self: start;
    }
    .te-banner--sticky-image .te-banner__image {
        width: auto;
        max-width: 100%;
        height: auto;
        max-height: max(100px, calc(100vh - var(--te-banner-sticky-top, 120px) - 6rem));
        max-height: max(100px, calc(100svh - var(--te-banner-sticky-top, 120px) - 6rem));
        object-fit: contain;
    }
}
/* Preserve the previously added banner checklist styling. */
.te-banner.te-banner-checklist .te-banner__content ul:not(.glide__slides) {
    list-style: none;
    padding-left: 33px;
}
.te-banner.te-banner-checklist .te-banner__content ul:not(.glide__slides) li {
    position: relative;
    list-style: none;
    margin-bottom: 12px;
    min-height: 25px;
}
.te-banner.te-banner-checklist .te-banner__content ul:not(.glide__slides) li::before {
    position: absolute;
    content: "";
    top: 0;
    left: -33px;
    width: 25px;
    height: 25px;
    background-image: url("https://www.tecertifiedelectricians.com/wp-content/themes/hypercore-theme-child/dist/images/check-in-circle.svg");
    background-repeat: no-repeat;
    background-size: contain;
    transition: left .3s ease-in-out;
}
