/**
 * Legacy base styles from astra-child style.css.
 * These will be replaced as the new design is implemented.
 */

:root {
    --dark-green: #173a2a;
    --medium-green: #426839;
    --light-green: #5b9b33;
}

/*
 * Astra's global text and link colors. On the old site these came from the
 * Customizer (astra-settings: text-color --ast-global-color-3 = #2F3B40,
 * link-color #406739, link-h-color #acacab) and were printed by Astra's
 * dynamic CSS on every page. Low-specificity on purpose, matching Astra's
 * cascade position — components that set their own colors still win.
 */
body {
    color: #2F3B40;
}
a {
    color: #406739;
}
a:hover,
a:focus {
    color: #acacab;
}

p:empty {
    display: none;
}

a:focus {
    outline: none;
}

h1, h2 {
    color: #406739;
}

h1 {
    font-family: "Assistant", sans-serif;
    font-weight: 200;
    font-size: 35px;
}

.woocommerce-message:focus-visible {
    outline: none;
}

/* The old site accented info notices with the brand green, not Woo's blue. */
.woocommerce-info {
    border-top-color: #406739;
}

/*
 * Customizer "Additional CSS" ported from astra-child (custom_css post 865371).
 * The Customizer stores that CSS per theme, so none of it loaded once barkley
 * became the active theme. Astra-specific rules (.ast-*) were dropped; the rest
 * is carried over verbatim.
 */

.woocommerce-cart-form .variation-Partof {
    color: #00000080;
    font-size: .9em;
}
body .woocommerce form .thwcfe-input-field-wrapper.form-row > label {
    position: relative !important;
    opacity: 1 !important;
    font-size: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.menu-item span {
    white-space: nowrap;
}
.woocommerce form .form-row #payment label {
    position: relative;
    opacity: 1;
    font-size: 1em;
    padding: 0;
    line-height: 1.3em;
    font-weight: normal;
}
@media screen and (max-width: 921px) {
    .woocommerce table.shop_table_responsive tr.cart-discount, .woocommerce-page table.shop_table_responsive tr.cart-discount {
        display: table-row;
    }
    .woocommerce table.shop_table_responsive tbody tr.cart-discount th, .woocommerce-page table.shop_table_responsive tbody tr.cart-discount th {
        display: table-cell;
    }
    .woocommerce table.shop_table_responsive tr.cart_item td::before {
        content: attr(data-title) ": ";
        padding-right: 3px;
        float: none;
    }
}

.woocommerce-Addresses {
    gap: 0;
}
.woocommerce .woocommerce-Addresses .woocommerce-Address-title {
    margin-bottom: 0;
    justify-content: flex-start;
}
.woocommerce-Addresses .woocommerce-Address-title h3 {
    padding: 0 1em;
}
.woocommerce-Addresses .woocommerce-Address-title a.edit:before {
    margin-top: 0;
    position: relative;
    top: 10px;
}

@media screen and (max-width: 767px) {
    .menu-item span {
        white-space: normal;
    }
    .woocommerce-Addresses .woocommerce-Address {
        flex: none;
        max-width: 100%;
    }
}

.elementor-shortcode .cwginstock-subscribe-form .panel-body input[type=email] {
    margin-bottom: 0;
}

@media screen and (max-width: 768px) {
    .elementor-shortcode .cwginstock-subscribe-form .panel-body {
        flex-direction: column;
    }
    .elementor-shortcode input.cwgstock_button {
        padding: 0 10px;
    }
}

.play-icon-wrapper {
    position: relative;
    cursor: pointer;
}
.play-icon-wrapper .play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 48px;
    color: white;
    background: rgba(0, 0, 0, 0.5);
    padding: 15px;
    z-index: 10;
}
.play-icon-wrapper:hover .play-icon {
    color: #849684; /* Optional hover effect */
}

@media screen and (max-width: 490px) {
    #filter-cards #ce-store-products .product {
        width: 100%;
    }
}

.product-box-course .product-box-content > span {
    font-size: 17px;
}

.learndash-wrapper .ld-focus .ld-focus-header .sfwd-mark-complete .learndash_mark_complete_button, .learndash-wrapper .ld-focus .ld-focus-header .sfwd-mark-complete::after {
    color: white !important;
}
.learndash-wrapper .ld-focus .ld-focus-header .sfwd-mark-complete .learndash_mark_complete_button {
    background-color: #426839 !important;
}

body .learndash .wpProQuiz_questionListItem label,
body .learndash label {
    color: #0F172A;
}

.elementor-kit-147 button.e-floating-bars__close-button {
    box-shadow: none;
}

/*
 * ------------------------------------------------------------------
 * Global styles ported from astra-child style.css (the child theme's
 * main stylesheet, which stopped loading at theme switch). Only the
 * Astra-header/footer and .ast-* rules were left behind; everything
 * below styles content, forms, buttons and Elementor product layouts
 * that render identically under the Barkley theme.
 * Asset paths (fonts/, images/) resolve inside css-legacy/.
 * ------------------------------------------------------------------
 */

@font-face {
    font-family: 'Assistant';
    src: url('fonts/Assistant-ExtraBold.eot');
    src: url('fonts/Assistant-ExtraBold.eot?#iefix') format('embedded-opentype'),
    url('fonts/Assistant-ExtraBold.woff2') format('woff2'),
    url('fonts/Assistant-ExtraBold.woff') format('woff'),
    url('fonts/Assistant-ExtraBold.ttf') format('truetype'),
    url('fonts/Assistant-ExtraBold.svg#Assistant-ExtraBold') format('svg');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Assistant';
    src: url('fonts/Assistant-ExtraLight.eot');
    src: url('fonts/Assistant-ExtraLight.eot?#iefix') format('embedded-opentype'),
    url('fonts/Assistant-ExtraLight.woff2') format('woff2'),
    url('fonts/Assistant-ExtraLight.woff') format('woff'),
    url('fonts/Assistant-ExtraLight.ttf') format('truetype'),
    url('fonts/Assistant-ExtraLight.svg#Assistant-ExtraLight') format('svg');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Assistant';
    src: url('fonts/Assistant-Bold.eot');
    src: url('fonts/Assistant-Bold.eot?#iefix') format('embedded-opentype'),
    url('fonts/Assistant-Bold.woff2') format('woff2'),
    url('fonts/Assistant-Bold.woff') format('woff'),
    url('fonts/Assistant-Bold.ttf') format('truetype'),
    url('fonts/Assistant-Bold.svg#Assistant-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Assistant';
    src: url('fonts/Assistant-SemiBold.eot');
    src: url('fonts/Assistant-SemiBold.eot?#iefix') format('embedded-opentype'),
    url('fonts/Assistant-SemiBold.woff2') format('woff2'),
    url('fonts/Assistant-SemiBold.woff') format('woff'),
    url('fonts/Assistant-SemiBold.ttf') format('truetype'),
    url('fonts/Assistant-SemiBold.svg#Assistant-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Assistant';
    src: url('fonts/Assistant-Light.eot');
    src: url('fonts/Assistant-Light.eot?#iefix') format('embedded-opentype'),
    url('fonts/Assistant-Light.woff2') format('woff2'),
    url('fonts/Assistant-Light.woff') format('woff'),
    url('fonts/Assistant-Light.ttf') format('truetype'),
    url('fonts/Assistant-Light.svg#Assistant-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

.red-slash {
    position: relative;
}
.red-slash svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + 20px);
    height: calc(100% + 20px);
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    overflow: visible;
}

.red-slash svg path {
    stroke: red;
    stroke-width: 9;
    fill: none;
    opacity: 1;
    stroke-dasharray: 1500 1500;
}

.instructor-only {
    display: none !important;
}
.is-instructor .instructor-only {
    display: block !important;
}

.green-half-title .elementor-heading-title {
    width: 50vw;
    position: relative;
    margin-left: -50vw;
    left: 50%;
    background: #5a9b33;
    color: #fff !important;
    padding: 15px;
    border-radius: 0 5px 5px 0;
    box-shadow: 2px 2px 6px 0 #333;
    text-align: right;
    padding-right: 72px;
    font-weight: 500 !important;
    text-shadow: 1px 1px 4px #333;
    margin-bottom: 50px;
}
.fnp-only {
    display: none;
}

@media screen and (max-width: 1199px) {
    .green-half-title .elementor-heading-title {
        width: 100%;
        margin: 0;
        left: 0;
        text-align: center;
        padding-right: 20px;
        border-radius: 5px;
    }
}

@media screen and (max-width: 768px) {
    .green-half-title .elementor-heading-title {
        width: 100%;
        margin: 0;
        left: 0;
        text-align: center;
        padding-right: 20px;
        border-radius: 5px;
        font-size: 20px !important;
    }

    body:not(.elementor-editor-active) .product-title-green-box-relative-full {
        position: relative;
        top: auto;
        margin-top: 35px !important;
    }
}

@media screen and (min-width: 1025px) {
    body:not(.elementor-editor-active) .product-title-green-box {
        position: absolute;
        width: 100%;
        top: 125px;
    }
    body:not(.elementor-editor-active) .product-title-green-box-left {
        top: 80px;
    }
    body:not(.elementor-editor-active) .product-title-green-box.product-title-green-box-top {
        top: -12px !important;
    }
    body:not(.elementor-editor-active) .product-title-green-box.product-title-green-box-relative {
        position: relative;
        width: 50%;
        top: auto !important;
    }
    body:not(.elementor-editor-active) .product-title-green-box.product-title-green-box-relative-75 {
        position: relative;
        width: 75%;
        top: auto !important;
    }
    body:not(.elementor-editor-active) .product-title-green-box.product-title-green-box-relative-full {
        position: relative;
        width: 100%;
        top: auto !important;
    }
}

.read-more-content {
    max-height: 125px;
    overflow: hidden;
    transition: max-height .3s linear;
}
.read-more-content.visible {
    max-height: 1000px;
}
.read-more-content .read-more-separator {
    background-image: linear-gradient(to bottom, transparent, #D6E2CC);
    height: 100px;
    max-height: 100px;
    width: 100%;
    position: absolute;
    bottom: 0;
    transition: max-height .3s linear;
}
.read-more-content.visible .read-more-separator {
    max-height: 0;
}

.woocommerce-js h2,
.woocommerce-js div.product .product_title,
.woocommerce-js div.product form.cart div.quantity,
.woocommerce-js div.product form.cart .button {
    margin-bottom: 0;
}

/*
 * Astra's global button skin. On the old site these colors came from the
 * Customizer (astra-settings: button-bg-color #5b9b33, hover #7a7a7a) and were
 * printed by Astra's dynamic CSS on every page — they are not in any child
 * theme file, so they have to be restated here.
 */
button,
.button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button {
    color: #ffffff;
    background-color: #5b9b33;
    border: 0;
}
button:hover,
.button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
    color: #ffffff;
    background-color: #7a7a7a;
}

button,
.button,
.woocommerce-js button.button {
    box-shadow: 3px 3px 7px #666;
    outline: none;
    transition: all .3s;
}

button:hover,
.button:hover,
.woocommerce-js button.button:hover {
    box-shadow: none;
}

.woocommerce button.button {
    font-size: 15px;
    min-width: 110px;
    padding: 12px 24px;
    font-weight: 700;
    min-height: 44px;
}

/*
 * Astra's global typography. The old site set body copy and the h1–h6 scale
 * from the Customizer (Assistant 400, body 16px/1.2em; headings 48/38/30/24/
 * 21/17 desktop, stepping down at 921px and 544px) via Astra's dynamic CSS.
 * The barkley theme's own base styles use a larger modern scale (18px body,
 * ~50px h3) which leaks into any non-Elementor markup — WooCommerce templates,
 * LearnDash, Gravity Forms — so the Astra values are restated here. Values
 * copied from the prod astra-theme-css-inline-css block.
 */
body,
button,
input,
select,
textarea {
    font-family: 'Assistant', sans-serif;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.2em;
}
h1, .entry-content :where(h1) { font-size: 48px; font-size: 3rem;      font-weight: 400; font-family: 'Assistant', sans-serif; line-height: 1.4em; }
h2, .entry-content :where(h2) { font-size: 38px; font-size: 2.375rem;  font-weight: 400; font-family: 'Assistant', sans-serif; line-height: 1.3em; }
h3, .entry-content :where(h3) { font-size: 30px; font-size: 1.875rem;  font-weight: 400; font-family: 'Assistant', sans-serif; line-height: 1.3em; }
h4, .entry-content :where(h4) { font-size: 24px; font-size: 1.5rem;    font-weight: 400; font-family: 'Assistant', sans-serif; line-height: 1.2em; }
h5, .entry-content :where(h5) { font-size: 21px; font-size: 1.3125rem; font-weight: 400; font-family: 'Assistant', sans-serif; line-height: 1.2em; }
h6, .entry-content :where(h6) { font-size: 17px; font-size: 1.0625rem; font-weight: 400; font-family: 'Assistant', sans-serif; line-height: 1.25em; }
@media (max-width: 921px) {
    h1, .entry-content :where(h1) { font-size: 40px; }
    h2, .entry-content :where(h2) { font-size: 32px; }
    h3, .entry-content :where(h3) { font-size: 26px; }
    h4, .entry-content :where(h4) { font-size: 20px; font-size: 1.25rem; }
    h5, .entry-content :where(h5) { font-size: 17px; font-size: 1.0625rem; }
    h6, .entry-content :where(h6) { font-size: 15px; font-size: 0.9375rem; }
}
@media (max-width: 544px) {
    h1, .entry-content :where(h1) { font-size: 36px; }
    h2, .entry-content :where(h2) { font-size: 28px; }
    h3, .entry-content :where(h3) { font-size: 22px; }
    h4, .entry-content :where(h4) { font-size: 18px; font-size: 1.125rem; }
    h5, .entry-content :where(h5) { font-size: 15px; font-size: 0.9375rem; }
    h6, .entry-content :where(h6) { font-size: 14px; font-size: 0.875rem; }
}

/*
 * Astra's flow spacing. Tailwind's preflight (@layer base in the theme's css/
 * shared bundle) zeroes every element's margin/padding and strips list markers;
 * on the old site Astra's base CSS supplied them, so paragraphs in the legacy
 * Elementor product templates ran together, lists lost bullets/indent, and QA
 * flagged it across the DRT / Home Study / textbook pages. Restored for the
 * legacy content surfaces only — Elementor templates, Woo product tabs,
 * LearnDash, Gravity Forms — NOT globally, so the redesigned block components
 * keep the preflight-clean slate they were built on. Being unlayered, these
 * rules beat the @layer base preflight at any specificity.
 * Values copied from astra/assets/css/minified/main.min.css (4.12.0).
 */
:where(.elementor, .woocommerce-Tabs-panel, .learndash-wrapper, .gform_wrapper, .entry-content, .terms_popup_form) p {
    margin-bottom: 1em;
}
:where(.elementor, .woocommerce-Tabs-panel, .learndash-wrapper, .entry-content) :is(ol, ul) {
    margin: 0 0 1.5em 3em;
}
:where(.elementor, .woocommerce-Tabs-panel, .learndash-wrapper, .entry-content) ul {
    list-style: disc;
}
:where(.elementor, .woocommerce-Tabs-panel, .learndash-wrapper, .entry-content) ol {
    list-style: decimal;
}
:where(.elementor, .woocommerce-Tabs-panel, .learndash-wrapper, .entry-content) li > :is(ol, ul) {
    margin-bottom: 0;
    margin-left: 1.5em;
}
.entry-content :where(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 20px;
}

/*
 * Astra hard-set 700; the UA default is the RELATIVE `bolder`, which from a
 * 300-weight parent (the Elementor "Course Overview" headings) only reaches
 * 400 — so <b> text inside them rendered not-bold (QA: Course Highlights
 * specialty name).
 */
b,
strong {
    font-weight: 700;
}

/*
 * Astra's text-input base. Astra's main.css gave every text-like input a 1px
 * #ddd border and its dynamic CSS the 12px 16px padding / 4px radius; the
 * preflight zeroes borders and padding, so a bare input in a legacy template
 * collapsed to floating placeholder text (QA: the CE Store search box "is
 * almost nonexistent"). Same legacy-surface scoping as the flow spacing; any
 * class- or id-level rule (#search_keywords, Woo's .input-text) still wins.
 */
:where(.elementor, .woocommerce-Tabs-panel, .learndash-wrapper, .gform_wrapper, .entry-content) :is(input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="tel"], input[type="date"], textarea) {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 12px 16px;
    font-size: 16px;
    line-height: 24px;
    color: #475569;
    background-color: #fafafa;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

/*
 * Astra's button base for Gravity Forms. Astra's dynamic CSS gave every
 * <button>/[type=submit] 20px 30px padding, 20px/500 type and a 4px radius;
 * the rules above restate only the colours and the preflight zeroes the rest,
 * so a form's Submit rendered as a text-sized sliver (QA: the LearnDash
 * course-evaluation Submit). GF's own theme sets no button padding. Scoped to
 * .gform_wrapper — Woo, Elementor, LearnDash and the redesign blocks all size
 * their buttons already.
 * ponytail: widen the :where() list if another legacy surface shows a bare button.
 */
:where(.gform_wrapper) :is(button, input[type="submit"], input[type="button"], input[type="reset"]) {
    padding: 20px 30px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1em;
    border-radius: 4px;
}

/*
 * Astra's content-width constraint. On the old site every Elementor Theme
 * Builder template (the ~90 legacy product layouts, course archives) rendered
 * inside `.ast-container { max-width: 1960px; padding: 0 20px; margin: auto }`,
 * so their sections composed against a 1920px centered column. This theme
 * renders the template as a direct child of <body>, so on wide screens the
 * layouts stretched edge-to-edge — QA: the DRT "See our other products" ribbon
 * hugging the left viewport edge, and "alignment problems throughout the site".
 * Absolute full-bleed bands (.product-title-green-box top bands) are unaffected:
 * with no positioned ancestor they resolve against the viewport, same as they
 * did inside Astra's static container.
 */
.elementor-location-single,
.elementor-location-archive {
    max-width: 1960px;
    margin-inline: auto;
    padding-inline: 20px;
}

/*
 * Astra's Elementor-button integration. Astra's dynamic CSS restyles every
 * Elementor button (all elementor-size-* variants) with the Customizer's
 * global button settings — 20px/500 type, 20px 30px padding, #5b9b33 with
 * #7a7a7a hover — which is why the ~90 Elementor product templates look the
 * way they do. Selectors and breakpoints copied from the prod
 * astra-theme-css-inline-css block.
 */
.elementor-widget-button .elementor-button {
    border-style: solid;
    text-decoration: none;
    border-width: 0;
}
body .elementor-button.elementor-size-sm,
body .elementor-button.elementor-size-xs,
body .elementor-button.elementor-size-md,
body .elementor-button.elementor-size-lg,
body .elementor-button.elementor-size-xl,
body .elementor-button {
    padding: 20px 30px;
    font-size: 20px;
    font-size: 1.25rem;
}
.elementor-widget-button .elementor-button {
    border-color: #5b9b33;
    background-color: #5b9b33;
    font-weight: 500;
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1em;
}
.wp-block-button .wp-block-button__link,
.elementor-widget-button .elementor-button {
    color: #ffffff;
}
.elementor-widget-button .elementor-button:hover,
.elementor-widget-button .elementor-button:focus {
    color: #ffffff;
    background-color: #7a7a7a;
    border-color: #7a7a7a;
}
@media (max-width: 921px) {
    .elementor-widget-button .elementor-button.elementor-size-sm,
    .elementor-widget-button .elementor-button.elementor-size-xs,
    .elementor-widget-button .elementor-button.elementor-size-md,
    .elementor-widget-button .elementor-button.elementor-size-lg,
    .elementor-widget-button .elementor-button.elementor-size-xl,
    .elementor-widget-button .elementor-button {
        padding: 14px 28px;
    }
}
@media (max-width: 544px) {
    .elementor-widget-button .elementor-button.elementor-size-sm,
    .elementor-widget-button .elementor-button.elementor-size-xs,
    .elementor-widget-button .elementor-button.elementor-size-md,
    .elementor-widget-button .elementor-button.elementor-size-lg,
    .elementor-widget-button .elementor-button.elementor-size-xl,
    .elementor-widget-button .elementor-button {
        padding: 12px 24px;
    }
}

#multi-step-login button {
    background-color: #005a19;
    color: #ffffff;
    font-size: 15px;
}
.uwp-password-wrap .input-group #password {
    border-top-right-radius: 7px;
    border-bottom-right-radius: 7px;
    padding-right: 50px;
    background: transparent !important;
}
.uwp-password-wrap .input-group span {
    position: absolute;
    height: 100%;
    background: transparent;
    border: 0;
    z-index: 9;
}

.gform_legacy_markup_wrapper .ginput_container_password button.gform_show_password {
    height: 50px;
    box-shadow: none;
    right: 1px !important;
}
.gform_legacy_markup_wrapper .ginput_container_password button.gform_show_password span {
    margin-bottom: 0;
}
.gform_legacy_markup_wrapper .ginput_container_password button.gform_show_password span:before {
    color: #333;
}
@media screen and (min-width: 642px) {
    .gform_legacy_markup_wrapper .ginput_container_password button.gform_show_password {
        top: -15px;
    }
}

/** Lists (with green numbers/dots) */
ol.green-list,
ul.green-list,
.green-list ol,
.green-list ul,
.single-product #tab-description ol,
.single-product #tab-description ul
{
    list-style-position: outside;
    padding-left: 40px;
}
ol.green-list li,
.green-list ol li,
.single-product #tab-description ol li
{
    padding-left: 20px;
    margin-bottom: 1em;
}
ul.green-list li,
.green-list ul li,
.single-product #tab-description ul li
{
    margin-bottom: 0.3em;
}
ol.green-list li::marker,
ul.green-list li::marker,
.green-list ol li::marker,
.green-list ul li::marker,
.single-product #tab-description ol li::marker,
.single-product #tab-description ul li::marker {
    font-weight: bold;
    font-size: 1em;
    color: #5B8D33;
}
ul.green-list li::marker,
.green-list ul li::marker,
.single-product #tab-description ul li::marker {
    font-size: 0.8em;
}
ol.green-list ol li,
.green-list ol ol li,
.single-product #tab-description ol ol li {
    counter-increment: list1;
}
ol.green-list ol li::marker,
.green-list ol ol li::marker,
.single-product #tab-description ol ol li::marker {
    content: counter(list1, lower-alpha) ")";
}
ol.green-list ol,
.green-list ol ol,
.single-product #tab-description ol ol {
    margin-top: 1em;
}
ul.green-list,
.green-list ul,
.single-product #tab-description ul:not(.elementor-icon-list-items) {
    column-count: 1;
}
.green-list ul.column-1,
.green-list ul.column-1 ul,
.green-list ul.column-1 ul ul {
    column-count: 1 !important;
}
ul.green-list.column-2,
.green-list.column-2 ul,
.single-product #tab-description ul.column-2 {
    column-count: 2;
}
ul.green-list li,
.green-list ul li,
.single-product #tab-description ul:not(.elementor-icon-list-items) li {
    break-inside: avoid;
}

@media screen and (max-width: 767px) {
    ul.green-list.column-2,
    .green-list.column-2 ul,
    .single-product #tab-description ul.column-2 {
        column-count: 1;
    }
}

/** NEW FORMS **/
/* FORM */
.woocommerce div.product span.price, .woocommerce div.product p.price {
    margin-bottom: 0;
}
select {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    border: none;
}
/*
 * Astra's select arrow, copied verbatim from the prod astra inline CSS. The
 * appearance:none reset above assumed Astra was painting this SVG chevron on
 * every select; without it, selects outside a <form> (the Product Comparison
 * tier pickers, which the `body form select` restyle below never matches)
 * rendered as blank white pills (QA). Selects the arrow-icon restyle below
 * DOES match simply paint their own arrow over this one, unchanged.
 */
select,
.select2-container .select2-selection--single {
    background-image: url("data:image/svg+xml,%3Csvg class='ast-arrow-svg' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' x='0px' y='0px' width='26px' height='16.043px' fill='%232F3B40' viewBox='57 35.171 26 16.043' enable-background='new 57 35.171 26 16.043' xml:space='preserve' %3E%3Cpath d='M57.5,38.193l12.5,12.5l12.5-12.5l-2.5-2.5l-10,10l-10-10L57.5,38.193z'%3E%3C/path%3E%3C/svg%3E");
    background-size: .8em;
    background-repeat: no-repeat;
    background-position-x: calc(100% - 10px);
    background-position-y: center;
    padding-right: 2em;
}
form textarea {
    border: 2px solid #8e9d8e !important;
    border-radius: 7px;
    background: #fff !important;
    font-size: 18px !important;
    padding: 20px !important;
    position: relative !important;
}
body.woocommerce .elementor-product-simple form.cart {
    display: block !important;
    text-align: right !important;
}
body.woocommerce .elementor-add-to-cart--align-left .elementor-product-simple form.cart {
    text-align: left !important;
}
body.woocommerce .elementor-add-to-cart--align-left .elementor-product-simple form.cart button {
    margin-left: 0 !important;
}

body.woocommerce .elementor-product-simple form.cart > * {
    float: none !important;
}
body .bsui .form-control:not([type=checkbox]), input.input-text, .elementor-shortcode input.cwgstock_email, .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):not(.select2-search__field):not(.chosen-search-input) {
    width: 100%;
    border: 2px solid #8e9d8e !important;
    border-radius: 7px;
    height: 50px;
    padding: 0 20px;
    background: #fff !important;
    font-size: 18px;
}
.woocommerce-js div.product form.cart .variations select,
.gform_wrapper select,
.select2-container--default .select2-selection--single,
body form select,
body .wdm-billing-input .select2-container--default .select2-selection--single,
.barkley-events-list select{
    border: 2px solid #8e9d8e !important;
    border-radius: 7px;
    height: 50px !important;
    padding:  0 40px 0 20px !important;
    background: #fff url(/wp-content/uploads/2020/11/select-icon.png) no-repeat calc(100% - 12px) 50% !important;
    font-size: 18px !important;
    background-size: 14px !important;
}
.gform_wrapper select, .select2-container--default .select2-selection--single, body form select, body .wdm-billing-input .select2-container--default .select2-selection--single {
    width: auto !important;
}
body.woocommerce .elementor-product-simple input.qty {
    border-radius: 7px;
}
/* Astra printed this (its CLS placeholder rule); keeps - input + on one line. */
.woocommerce-js .quantity {
    display: inline-flex;
    align-items: center;
}
.woocommerce .quantity .minus {
    border: 0;
    color: #406739;
    font-size: 45px;
    position: relative;
    top: -3px;
}
.woocommerce .quantity .plus {
    border: 0;
    color: #406739;
    font-size: 30px;
    position: relative;
    font-weight: bold;
}
body .elementor-product-simple .gform_legacy_markup_wrapper ul.gform_fields li.gfield {
    padding-right: 0;
}
body .elementor-product-simple .gform_wrapper {
    text-align: left;
}
.gform_legacy_markup_wrapper .gform_footer {
    margin-top: 0;
}

@media screen and (max-width: 1024px) {
    body.woocommerce .elementor-add-to-cart-tablet--align-center .elementor-product-simple form.cart {
        text-align: center !important;
    }
    .woocommerce-js div.product form.cart div.quantity {
        margin-right: 0;
    }
    body.woocommerce .center-with-padding-tablet.elementor-add-to-cart--align-left.elementor-add-to-cart-tablet--align-right .elementor-product-simple form.cart {
        text-align: center !important;
        margin-left: 120px;
    }
}

.graduation-month,
.graduation-year {
    width: 16%;
    display: inline-block;
}
body .gform_wrapper .graduation-month select.small.gfield_select+div.chosen-container-single[style],
body .gform_wrapper .graduation-year select.small.gfield_select+div.chosen-container-single[style] {
    width: 100%!important;
}
.gf-graduation-date select {
    min-width: 100px;
}

.gform_wrapper .chosen-container {
    font-size: inherit;
}

.gform_wrapper .chosen-container-single .chosen-single {
    border: 2px solid #8e9d8e;
    border-radius: 7px !important;
    height: 50px;
    padding: 0 20px;
    background: #fff url(/wp-content/uploads/2020/11/select-icon.png) no-repeat calc(100% - 12px) 50% !important;
    font-size: 18px;
    background-size: 14px !important;
    line-height: 48px;
    color: #333;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b,
.gform_wrapper .chosen-container-single .chosen-single div {
    display: none;
}

/* Certification review courses */
.full-title.no-ml {
    margin-left: 0;
}
select#specialty-filter {
    min-width: 165px;
}
.barkley-events-list select {
    width: calc((100% / 3) - 3px);
}
@media screen and (max-width: 570px) {
    select#specialty-filter,
    .barkley-events-list select {
        width: 100%;
    }
}

/* Form error clean */
.validation_error {
    display: none !important;
}
.gform_legacy_markup_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
    max-width: 100% !important;
}
.gform_legacy_markup_wrapper li.gfield.gfield_error {
    background-color: transparent;
    border-bottom: 0;
    border-top: 0;
    margin-bottom: 0 !important;
    padding-bottom: 0;
    padding-top: 0;
}
.gform_legacy_markup_wrapper .field_description_below .gfield_description {
    padding-top: 0;
}

/** TEXTBOOKS waitlist **/
.cwginstock-subscribe-form .panel-body {
    padding: 0;
}
.elementor-shortcode input.cwgstock_email {
    margin-bottom: 0;
}

/* LEARNDASH */
body .learndash-wrapper .ld-table-list .ld-table-list-header,
body .learndash-wrapper .ld-item-list-actions .ld-expand-button,
body .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading h3 a,
body .learndash-wrapper .ld-course-status .ld-status.ld-status-complete,
body .learndash-wrapper .ld-button,
body .learndash-wrapper .ld-breadcrumbs .ld-status.ld-status-complete,
body .learndash-wrapper .ld-breadcrumbs .ld-status.ld-status-progress,
body .learndash-wrapper .ld-focus-header .ld-user-menu .ld-user-menu-items a,
body #learndash-tooltips .ld-tooltip,
body .learndash-wrapper .ld-tertiary-background,
body .learndash-wrapper .btn-join,
body .learndash-wrapper #btn-join,
body .learndash-wrapper .learndash_mark_complete_button,
body .learndash-wrapper .ld-primary-background.ld-status,
body .learndash-wrapper #learndash_mark_complete_button,
body .learndash-wrapper .learndash_mark_complete_button {
    color: #fff !important;
}
.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name {
    align-items: center;
}
.learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab {
    box-shadow: none;
}
.learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab:hover:after {
    background: #426839;
}
.learndash-wrapper .ld-content-actions .learndash_timer {
    display: none !important;
}

/* MULTIMEDIA TITLE FIX */
@media screen and (max-width: 1200px) and (min-width: 1025px) {
    .elementor .elementor-section.title-tablet .elementor-element .elementor-heading-title {
        font-size: 1.8vw;
    }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
    .elementor .elementor-section.title-tablet .elementor-element .elementor-heading-title {
        font-size: 2vw;
    }
}
/**/

/* Test tab */
.elementor-alert .elementor-alert-title {
    padding-right: 15px;
}

/* eBook resetting */
.ebook-template button {
  box-shadow: none !important;
}
.ebook-template .toolbarField.pageNumber {
  height: auto;
  font-size: 12px;
  line-height: 16px;
  box-shadow: none;
  padding: 4px 7px;
  border-radius: 2px;
}


@media screen and (max-width: 767px) {
    body.woocommerce .elementor-product-simple form.cart {
        text-align: center !important;
    }
    .gform_wrapper select, .select2-container--default .select2-selection--single, body form select, body .wdm-billing-input .select2-container--default .select2-selection--single {
        padding: 0 24px 0 12px !important;
    }
}

@media screen and (max-width: 767px) {
    .gform_wrapper select,
    .select2-container--default .select2-selection--single,
    body form select,
    body .wdm-billing-input .select2-container--default .select2-selection--single,
    .barkley-events-list select {
        font-size: 14px !important;
        margin: 3px 0;
    }
    .eael-advance-tabs .eael-tabs-nav > ul li {
        width: 100% !important;
        border-radius: 0 !important;
    }
    .password_input_container input {
        padding: 0 45px 0 20px !important;
    }
    .woocommerce form.woocommerce-checkout #professional_level_field span.woocommerce-input-wrapper,
    .account-nav-tabs .woocommerce form #professional_level_field span.woocommerce-input-wrapper {
        flex-direction: column;
    }
    .account-nav-tabs .woocommerce form .form-row#professional_level_field label.checkbox {
        width: 100%;
        margin: 3px 0 !important;
    }
}

/** BOXES BELOW TITLE LW AND LC **/
.boxes-below-title .boxes-below-title-column {
    grid-template-columns: 31% 69%;
}
.boxes-below-title > .elementor-element {
	height: 100%;
}
.boxes-below-title > .elementor-element .elementor-widget-container {
	display: flex;
	align-items: center;
}
.boxes-below-title-left .elementor-widget-container:after {
    content: '';
    position: absolute;
    left: calc(100% - 8px);
    display: block;
    width: 25px;
    height: 40px;
    background-color: transparent;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 9;
}
.boxes-below-title p {
    margin: 0 !important;
}

@media screen and (max-width: 767px) {
    .boxes-below-title .boxes-below-title-column {
        grid-template-columns: 100%;
    }
    .boxes-below-title-left .elementor-widget-container:after {
        top: calc(50% + 8px);
        left: calc(50% - 8px);
        rotate: 90deg;
    }
}

/*PNP-PC*/
.template-pnp-pc .boxes-below-title .boxes-below-title-column {
    border-color: #C4278C !important;
    background-color: #C4278C !important;
}
.template-pnp-pc .boxes-below-title>.elementor-element .boxes-below-title-left .elementor-widget-container {
    background-color: #DE34A2 !important;
}
.template-pnp-pc .boxes-below-title-right .elementor-widget-container p {
    color: #DE34A2 !important;
}
.template-pnp-pc .boxes-below-title-left .elementor-widget-container:after {
    background-image: url(images/arrows-pink.svg);
}
/*FNP*/
.template-fnp .boxes-below-title .boxes-below-title-column {
    border-color: #0C3163 !important;
    background-color: #0C3163 !important;
}
.template-fnp .boxes-below-title>.elementor-element .boxes-below-title-left .elementor-widget-container {
    background-color: #144C95 !important;
}
.template-fnp .boxes-below-title-right .elementor-widget-container p {
    color: #144C95 !important;
}
.template-fnp .boxes-below-title-left .elementor-widget-container:after {
    background-image: url(images/arrows-blue.svg);
}
/*AGPCNP*/
.template-agpcnp .boxes-below-title .boxes-below-title-column {
    border-color: #470505 !important;
    background-color: #470505 !important;
}
.template-agpcnp .boxes-below-title>.elementor-element .boxes-below-title-left .elementor-widget-container {
    background-color: #741312 !important;
}
.template-agpcnp .boxes-below-title-right .elementor-widget-container p {
    color: #741312 !important;
}
.template-agpcnp .boxes-below-title-left .elementor-widget-container:after {
    background-image: url(images/arrows-red.svg);
}
/*AGACNP*/
.template-agacnp .boxes-below-title .boxes-below-title-column {
    border-color: #3d7918 !important;
    background-color: #3d7918 !important;
}
.template-agacnp .boxes-below-title>.elementor-element .boxes-below-title-left .elementor-widget-container {
    background-color: #5B9B33 !important;
}
.template-agacnp .boxes-below-title-right .elementor-widget-container p {
    color: #5B9B33 !important;
}
.template-agacnp .boxes-below-title-left .elementor-widget-container:after {
    background-image: url(images/arrows-green.svg);
}
/*PMHNP*/
.template-pmhnp .boxes-below-title .boxes-below-title-column {
    border-color: #563186 !important;
    background-color: #563186 !important;
}
.template-pmhnp .boxes-below-title>.elementor-element .boxes-below-title-left .elementor-widget-container {
    background-color: #7A5AA5 !important;
}
.template-pmhnp .boxes-below-title-right .elementor-widget-container p {
    color: #7A5AA5 !important;
}
.template-pmhnp .boxes-below-title-left .elementor-widget-container:after {
    background-image: url(images/arrows-purple.svg);
}
/*PNP-AC*/
.template-pnp-ac .boxes-below-title .boxes-below-title-column {
    border-color: #BE6E38 !important;
    background-color: #BE6E38 !important;
}
.template-pnp-ac .boxes-below-title>.elementor-element .boxes-below-title-left .elementor-widget-container {
    background-color: #FF964F !important;
}
.template-pnp-ac .boxes-below-title-right .elementor-widget-container p {
    color: #FF964F !important;
}
.template-pnp-ac .boxes-below-title-left .elementor-widget-container:after {
    background-image: url(images/arrows-orange.svg);
}

/*CERTIFICATION*/
.template-certification .boxes-below-title-left .elementor-widget-container p {
    font-size: 20px !important;
}
.template-certification .boxes-below-title-right .elementor-widget-container p {
    font-size: 17px !important;
}
.template-certification .boxes-below-title-left .elementor-widget-container:after {
    background-image: url(images/arrows-brown.svg);
}
