/*
Theme Name: Ethics
Description: Custom Divi child theme for the CPA Ethics Online website.
Version: 1.0.0
Author: Smith Consulting LLC
Author URI: https://www.smithcon.us/
Template: Divi
Text Domain: ethics
*/


/* You can add your own CSS styles here. Use !important to overwrite styles if needed. */

/* Make body and html take full height */
@font-face {
    font-family: 'Fira Sans Condensed';
    src: url('fonts/firasanscondensed/FiraSansCondensed-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Fira Sans Condensed';
    src: url('fonts/firasanscondensed/FiraSansCondensed-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Fira Sans Condensed';
    src: url('fonts/firasanscondensed/FiraSansCondensed-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lato';
    src: url('fonts/lato/Lato-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lato';
    src: url('fonts/lato/Lato-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lato';
    src: url('fonts/lato/Lato-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Lato';
    src: url('fonts/lato/Lato-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

html,
body {
  min-height: 100%;
  margin: 0;
  padding: 0;
}
body{
  color:var(--color-text);
}

#page-container,
#et-boc {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

#et-main-area {
  flex: 1;
  display: flex;
  flex-direction: column;
}

#main-content {
  flex: 1;
}

footer.et-l--footer {
  margin-top: auto;
  flex-shrink: 0;
}

strong {
    font-weight: 600 !important;
}

/*--------------------------------------------------------------
# CSS Variables
--------------------------------------------------------------*/

:root {

  /* Fonts */
  --typography-font-headings: 'Fira Sans Condensed',Helvetica,Arial,Lucida,sans-serif;
  --typography-font-body: 'Lato',Helvetica,Arial,Lucida,sans-serif;

  /* Brand Colors */
  --color-primary: #103c73; 
  --color-primary-light: #306eba;
  --color-primary-medium: #2d65aa; /* blue */
  --color-accent: #2baba0; /* green*/
  --color-gold: #f4c242;
  --color-light-gray: #cccccc;
  --color-red: #f20000;
  --color-blue: #2d65aa;
  --color-dk-blue: #103C73; 
  --color-med-blue: #306eba;
  --color-lt-blue: #C7D7EF; 
  --color-green: #2baba0;


  /* Typography */
  --color-heading-blue: #2E628D;
  --color-heading: #484848;
  --color-text: #444444;
  --color-white: #ffffff;

  /* Borders */
  --border-light: #d5d5d5;
  --border-medium: #cccccc;

  /* Backgrounds */
  --bg-light: #f8f9fa;
  --bg-white: #ffffff;

  /* Buttons */
  --btn-primary-bg: var(--color-accent);
  --btn-primary-hover: #22919B;

  --btn-secondary-bg: transparent;
  --btn-secondary-border: var(--color-white);
  --btn-secondary-hover-bg: rgba(255,255,255,.12);

  --border-radius: 4px;

  /* Effects */
  --transition: all .25s ease;
  --shadow-sm: 0 2px 6px rgba(0,0,0,.08);
  --shadow-md: 0 8px 18px rgba(0,0,0,.12);

  /* Padding */
  --space-xs: .5rem;   /* 8px */
  --space-sm: .75rem;  /* 12px */
  --space-md: 1rem;    /* 16px */
  --space-lg: 2rem;    /* 32px */
  --space-xl: 3rem;    /* 48px */
  --space-xxl: 5rem;   /* 80px */
}

/*--------------------------------------------------------------
# Headings
--------------------------------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.3;
  color:var(--color-heading);
  margin-top: 0;
}

h1, .et_pb_wc_title h1 {
  font-size: 2.125rem;
  font-weight: 700;
  padding-top: 0;
  padding-bottom: 1rem;
}

h2 {
  font-size: 1.75rem;
  font-weight: 600;
  padding-bottom: 1rem;
}

h3 {
  font-size: 1.375rem;
  font-weight: 600;
  padding-bottom: 0.75rem;
}

h4,
h5,
h6 {
  font-size: 1rem ;
  font-weight: 600 !important;
  padding-bottom: 0.5rem;
}

/* ---------------------------------------------------------
   SITE LOGO / HEADER BRANDING
   --------------------------------------------------------- */
#menu-row {
    display: flex;
    align-items: center;
    padding: 18px 0 !important;
    width: 90%;
    max-width: 1280px;
    box-sizing: border-box;
}

.util-row {
    background-color: #274a76;
    padding: 0 !important;
    width: 100%;
    max-width: 100% !important;
    margin: 0 auto;
}

.cpa-header-brand {
    flex: 1 1 auto;
    min-width: 0;
}

#site-logo {
    margin-bottom: 0;
}

#site-logo h2 {
    margin: 0;
    padding: 0;
    color: #264361;
    line-height: 1.05;
    letter-spacing: -0.025em;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-weight: 400;
    font-size: clamp(2.1rem, 1.475rem + 0.75vw, 2.5rem) !important;
}

#site-logo h4 {
    margin: 0;
    padding: 0;
    color: #6f8499;
    font-size: 17px;
    line-height: 1.15;
    letter-spacing: 0.3px;
    font-family: var(--typography-font-body);
}

#site-logo h2,
#site-logo h4 {
    text-transform: none;
}

/* ---------------------------------------------------------
   MAIN MENU AND LOGIN/LOGOUT BUTTON
   --------------------------------------------------------- */
.cpa-header-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    min-width: 0;
}

#txcpa-main-menu {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: 0;
}

#txcpa-main-menu .et_pb_menu_inner_container {
    width: 100%;
}

#txcpa-main-menu .et_pb_menu__wrap {
    justify-content: flex-end;
}

.cpa-header-login {
    flex: 0 0 auto;
    margin-bottom: 0 !important;
}

.cpa-header-login .et_pb_text_inner {
    line-height: 1;
}

.cpa-header-login .cpa-login-logout-link {
    margin: 0 !important;
    white-space: nowrap;
}

/* Main desktop menu typography */
#menu-main-menu li,
.et_mobile_menu li {
    font-family: var(--typography-font-headings);
    text-transform: uppercase;
    letter-spacing: 0.015em;
}

#menu-main-menu li a,
.et_mobile_menu li a {
    color: #555;
    font-size: 17px;
    font-weight: 500;
    text-transform: uppercase;
}
/* ---------------------------------------------------------
   Utility links
   --------------------------------------------------------- */
.util-links {
    color: var(--color-white);
    padding: 5px 0 !important;
    width: 90%;
    max-width: 1280px !important;
    margin: 0 auto;
}
.util-links ul {
    list-style: none;
    padding: 0 !important;
    line-height: 1;
}
.util-links li {
    display: inline-block;
    padding-bottom: 3px;
}
.util-links a {
    color: var(--color-white) !important;
    font-family: var(--typography-font-headings);
    padding: 3px 10px;
    font-weight: 500;
    font-size: 0.9em;
}


/* ---------------------------------------------------------
   TABLET
   Logo, Logout button and mobile menu on one row.
   --------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 980px) {
    #menu-row {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        width: 98%;
        padding: 15px 0 !important;
    }

    .cpa-header-brand {
        flex: 1 1 auto;
        width: auto !important;
        min-width: 0;
        margin-right: 20px !important;
        margin-bottom: 0 !important;
    }

    #site-logo {
        width: auto;
        margin-bottom: 0;
    }

    .cpa-header-actions {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: flex-end;
        width: auto !important;
        min-width: 0;
        margin-bottom: 0 !important;
        gap: 14px;
    }

    /* Place Logout before the menu icons and hamburger. */
    .cpa-header-login {
        order: 1;
        flex: 0 0 auto;
        width: auto !important;
        margin: 0 !important;
    }

    #txcpa-main-menu {
        order: 2;
        flex: 0 0 auto;
        width: auto;
        margin: 0;
    }

    #txcpa-main-menu .et_pb_menu_inner_container,
    #txcpa-main-menu .et_pb_menu__wrap {
        width: auto;
    }

    #txcpa-main-menu .et_pb_menu__wrap {
        flex-wrap: nowrap;
        justify-content: flex-end;
    }

    #txcpa-main-menu .et_mobile_nav_menu {
        margin: 0;
    }

    .cpa-header-login .cpa-login-logout-link {
        padding: 0.65em 0.85em !important;
        margin: 0 !important;
        font-size: 13px !important;
        white-space: nowrap;
    }

    /* Wider dropdown aligned with the right side of the menu. */
    #txcpa-main-menu .et_mobile_menu {
        left: auto;
        right: 0;
        width: 420px;
        min-width: 420px;
        max-width: calc(100vw - 30px);
        top: calc(100% + 10px);
    }
}

/* ---------------------------------------------------------
   PHONE
   Logo and Logout button above full-width menu.
   --------------------------------------------------------- */
@media (max-width: 767px) {
    #menu-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        width: 98%;
        column-gap: 12px;
        row-gap: 12px;
    }

    .cpa-header-brand {
        grid-column: 1;
        grid-row: 1;
        width: auto !important;
        min-width: 0;
        margin: 0 !important;
    }

    #site-logo {
        width: auto;
        margin-bottom: 0;
    }

    #site-logo h4 {
        font-size: 17px;
    }

    /*
     * Allows the login module and menu module to occupy
     * different rows of the outer header grid.
     */
    .cpa-header-actions {
        display: contents;
    }

    .cpa-header-login {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        justify-self: end;
        width: auto !important;
        margin: 0 !important;
    }

    .cpa-header-login .cpa-login-logout-link {
        padding: 0.6em 0.75em !important;
        margin: 0 !important;
        font-size: 12px !important;
        white-space: nowrap;
    }

    #txcpa-main-menu {
        position: relative;
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100% !important;
        max-width: 100%;
        margin: 0 !important;
    }

    #txcpa-main-menu .et_pb_menu_inner_container,
    #txcpa-main-menu .et_pb_menu__wrap {
        width: 100%;
    }

    #txcpa-main-menu .et_pb_menu__wrap {
        flex-wrap: nowrap;
        justify-content: flex-end;
    }

    #txcpa-main-menu .et_mobile_nav_menu {
        margin: 0;
    }

    /* Opened phone menu uses the full header width. */
    #txcpa-main-menu .et_mobile_menu {
        left: 0;
        right: auto;
        width: 100%;
        min-width: 100%;
        max-width: none;
    }
}
/*--------------------------------------------------------------
# Buttons and Links
--------------------------------------------------------------*/

/* Primary buttons */
.button-primary,
.et_pb_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.single_add_to_cart_button,
.forminator-ui#forminator-module-101150.forminator-design--default .forminator-button-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  color: var(--color-white);
  border-radius: var(--border-radius);

  font-family: inherit;
  font-weight: 600 !important;
  line-height: 1.2;

  text-decoration: none;
  cursor: pointer;
}
.et_pb_button {
    position: relative;
}

.et_pb_button::after {
    top: 50%;
    transform: translateY(-50%);
    right: 0.3em;
}

.button-primary:hover,
.et_pb_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.single_add_to_cart_button:hover {
  background-color: var(--btn-primary-hover);
  border-color: var(--btn-primary-hover);
  color: var(--color-white);

  box-shadow: var(--shadow-md);
  transform: translateY(-1px);

  text-decoration: none;
}


/* Outline buttons */
.button-outline,
.et_pb_button.button-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;

  padding: 0.9rem 1.8rem;

  background-color: var(--btn-secondary-bg);
  color: var(--color-white);

  border: 3px solid var(--btn-secondary-border);
  border-radius: var(--border-radius);

  font-family: inherit;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  text-decoration: none;
  cursor: pointer;

  box-shadow: none;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.button-outline:hover,
.et_pb_button.button-outline:hover {
  background-color: var(--btn-secondary-hover-bg);
  border-color: var(--color-white);
  color: var(--color-white);

  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);

  text-decoration: none;
}

/*
 * Add an arrow only to custom non-Divi buttons.
 * Divi buttons use Divi's own icon system.
 */
.button-primary:not(.et_pb_button)::after,
.button-outline:not(.et_pb_button)::after {
  content: "›";
  font-size: 1.45rem;
  font-weight: 400;
  line-height: 1;
}

/* Keyboard focus */
.button-primary:focus-visible,
.button-outline:focus-visible,
.et_pb_button:focus-visible,
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.single_add_to_cart_button:focus-visible {
  outline: 3px solid var(--color-gold);
  outline-offset: 3px;
}

/* Disabled WooCommerce buttons */
.woocommerce .button:disabled,
.woocommerce .button.disabled,
.woocommerce .button:disabled[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Text links */
a {
  color: var(--color-primary-medium);
  text-decoration: none;
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease;
}

a:hover {
  color: var(--color-primary);
}

/* Links within paragraph text remain visibly identifiable */
p a {
  color: var(--color-primary-light);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

p a:hover {
  color: var(--color-primary);
  text-decoration: underline;
}

/* OVERRIDE DIVI TABLE STYLES 
--------------------------------------- */

.entry-content table:not(.variations) {
    border: 1px solid  var(--border-medium);
    line-height: 1.4;
    font-size: 0.94em;
}

.entry-content thead th,.entry-content tr th {
    color: inherit !important;
}

.entry-content tr td {
    border-top: 1px solid var(--border-medium) !important;
}

/*MISCELLANEOUS STYLING
 -------------------------------------------------*/


/*blog author round image with border*/

.pa-blog-author .et_pb_main_blurb_image img {
   border-radius: 100px;
   border: 2px solid #d2007f;
   padding: 2px;
}

/* ---------------------------------------------------------
   HERO SECTIONS
   --------------------------------------------------------- */
/* ---------------------------------------------------------
   HERO BACKGROUND IMAGES
   --------------------------------------------------------- */
#my-hero {
    --hero-image: url("/newsite1/wp-content/uploads/accountant-desk-1400w.webp");

    background-image:
        linear-gradient(
            348deg,
            rgba(7, 74, 124, 0.87) 0%,
            rgba(35, 168, 175, 0.9) 100%
        ),
        var(--hero-image);

    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Interior hero background 1 */
#my-hero.hero-interior.bg1 {
    --hero-image: url("/newsite1/wp-content/uploads/online-cpe-at-home-1400.webp");
}

/* Interior hero background 2 */
#my-hero.hero-interior.bg2 {
    --hero-image: url("/newsite1/wp-content/uploads/online-cpe-at-home2-1400.webp");
}

/* 1280px images */
@media (max-width: 1280px) {
    #my-hero {
        --hero-image: url("/newsite1/wp-content/uploads/accountant-desk-1280w.webp");
    }

    #my-hero.hero-interior.bg1 {
        --hero-image: url("/newsite1/wp-content/uploads/online-cpe-at-home-1280.webp");
    }

    #my-hero.hero-interior.bg2 {
        --hero-image: url("/newsite1/wp-content/uploads/online-cpe-at-home2-1280.webp");
    }
}

/* 980px images */
@media (max-width: 980px) {
    #my-hero {
        --hero-image: url("/newsite1/wp-content/uploads/accountant-desk-980w.webp");
    }

    #my-hero.hero-interior.bg1 {
        --hero-image: url("/newsite1/wp-content/uploads/online-cpe-at-home-980.webp");
    }

    #my-hero.hero-interior.bg2 {
        --hero-image: url("/newsite1/wp-content/uploads/online-cpe-at-home2-980.webp");
    }
}

/* 740px images */
@media (max-width: 767px) {
    #my-hero {
        --hero-image: url("/newsite1/wp-content/uploads/accountant-desk-740w.webp");
    }

    #my-hero.hero-interior.bg1 {
        --hero-image: url("/newsite1/wp-content/uploads/online-cpe-at-home-740.webp");
    }

    #my-hero.hero-interior.bg2 {
        --hero-image: url("/newsite1/wp-content/uploads/online-cpe-at-home2-740.webp");
    }
}
#my-hero.hero-interior {
    padding: 7% 0;
}

/* Keep the hero content aligned with the site content width. */
#my-hero .row-1 {
    width: 80%;
    max-width: 1080px;
}

/* All hero text */
#my-hero .hero-text,
#my-hero .hero-text p,
#my-hero .hero-text h1 {
    color: var(--color-white);
}

/* Hero heading */
#my-hero .hero-text h1 {
    margin: 0;
    padding: 0 0 1rem;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.2;
    text-shadow: 0.08em 0.08em 0.08em rgba(16, 60, 115, 0.23);
}
#my-hero.hero-interior .hero-text h1 {
    text-align: center;
}

/* Hero paragraph text */
#my-hero .hero-text p {
    font-size: 18px;
    font-size: clamp(15px, calc(13.33px + 0.417vw), 20px);
    font-weight: 500;
    line-height: 1.5;
    text-shadow: 0.08em 0.08em 0.08em rgba(0, 0, 0, 0.2);
}

/* Home-page hero */
/*#my-hero.hero-home .row-1 {
    padding: 60px 0;
}*/

/* Interior-page hero with title only */
#my-hero.hero-interior .row-1 {
    padding: 95px 0;
}

#my-hero.hero-interior .hero-text,
#my-hero.hero-interior .hero-text h1 {
    text-align: center;
}

#my-hero.hero-interior .hero-text h1 {
    padding-bottom: 0;
}

/* Optional positioning for the Divi Button module. */
#my-hero .hero-button {
    margin-top: 0.75rem;
}

/* ---------------------------------------------------------
   RESPONSIVE HERO SETTINGS
   --------------------------------------------------------- */
@media (min-width: 1600px) {
    #my-hero .row-1 {
        max-width: 1280px;
    }

    #my-hero .hero-text h1 {
        font-size: 44px;
    }

    #my-hero .hero-text p {
        font-size: 20px;
    }

}

@media (max-width: 980px) {
    #my-hero .row-1 {
        width: 85%;
    }

    #my-hero.hero-home .row-1 {
        padding: 0;
    }

    #my-hero.hero-interior .row-1 {
        padding: 75px 0;
    }

    #my-hero .hero-text h1 {
        font-size: 38px;
    }

    #my-hero .hero-text p {
        line-height: 1.4;
    }
}

@media (max-width: 767px) {
    #my-hero .row-1 {
        width: 90%;
    }

    #my-hero .hero-text h1 {
        font-size: 34px;
    }
    
    #my-hero.hero-interior .row-1 {
        padding: 60px 0;
    }
}

/* DEFAULT COURSE PRODUCT DISPLAY
-------------------------------------*/
.subtitle {
    display: block;
    margin: 0;
    padding-bottom: 1em;
    font-family: inherit;
    font-size: 29px;
    font-weight: 600;
    color: var(--color-heading);
    line-height: 1.2;
}
.exp-note {
    display: block;
    margin-top: -26px;
    font-size: .95rem;
    font-style: italic;
    color: #666;
}

.course-desc {
  border-top: 2px solid var(--color-blue);
  padding-top: 0;
}

.ethics-product-terms {
  margin: 0 0 2rem;
}

.ethics-product-term {
  margin-bottom: 1rem;
}

.ethics-product-term:last-child {
  margin-bottom: 0;
}

.ethics-product-term__name {
  margin: 0 0 0.25rem;
  padding: 0;
  font-weight: 700;
}

.ethics-product-term__description p {
  margin: 0;
  padding: 0;
}
.buyit {
  padding-top: 0;
}
.buyit .et_pb_column {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.buyit .et_pb_module {
  margin: 0 !important;
}

.buyit .et_pb_wc_price,
.buyit .et_pb_wc_add_to_cart {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto;
}

#product-detail {
  padding-bottom: 0;
}

.buyit .et_pb_wc_price .price {
  font-size: 22px !important;
  color: #595959 !important;
  font-weight: 600;
}
.woocommerce-page .buyit button.button {
  padding-top: 3px;
  padding-bottom: 3px;
}

.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-error  {
    background: #b81c23 !important;
}

.woocommerce .woocommerce-error li,
.woocommerce-page .woocommerce-error li {
    max-width: 1080px;
    margin-left: auto !important;
    margin-right: auto !important;
    font-weight: bold;
}

.cpa-already-enrolled-message {
  color: #B61F27;
}

ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
  margin: 0 0 1em;
}
.cpa-order-course-ready {
  margin-bottom:  2em;
}

/* Hide coupon prompt on checkout */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    display: none !important;
}

/*--------------------------------------------------------------
# Course Format Checklist on product page
--------------------------------------------------------------*/

.course-format-heading {
    margin-bottom: 1rem;
}

.course-format-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;

    margin: 0;
    padding: 0;

    list-style: none;
}

.course-format-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.course-format-icon {
    display: inline-flex;
    flex: 0 0 1.6rem;
    align-items: center;
    justify-content: center;

    width: 1.6rem;
    height: 1.6rem;
    margin-top: 0.1rem;

    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;

    border-radius: 50%;
}

.course-format-item.is-included .course-format-icon {
    background-color: #2caba0;
}

.course-format-item.is-not-included .course-format-icon {
    background-color: #b42318;
}

.course-format-content {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.course-format-name {
    color: #444;
    font-size: 1rem;
    line-height: 1.35;
}

.course-format-description {
    color: #666;
    font-size: 0.9rem;
    line-height: 1.45;
}

.course-format-description p {
    margin: 0;
}

/* product highlights appear under the price and add to cart button */

.course-highlights {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem;
    margin: 10px 0 2rem;
    font-size: .9rem;
    color: var(--color-blue);
    font-weight: 800;
}

.course-highlights > span {
    white-space: nowrap;
}

.course-highlights .sep {
    color: var(--color-blue);
    font-weight: 700;
}

/* Course overview jump links */

.course-jump-links p {
  font-weight: 600;
  margin-bottom: 10px;
}
.course-jump-links ul li {
  line-height: 1.8;
}

/* OVERRIDING WP BLOCK STYLING
-------------------------------------*/

#left-area .entry-content ol.wp-block-list.detail-info-list {
  list-style-position: outside;
  padding: 0 20px;
  line-height: 1.6;
}
#left-area .entry-content ol.wp-block-list.detail-info-list > li {
  padding-bottom: 5px;
}

#left-area .entry-content ol.detail-info-list li ul {
  padding: 2px 0 2px 20px;
}
/* list styling */

#left-area ol, .entry-content ol {
  list-style-position: outside;
  line-height: 1.5;
  margin-left: 20px;
}
#left-area ol li, .entry-content ol li {
  padding: 0 0 5px 5px;
}
#left-area ul, .entry-content ul {
  line-height: 1.5;
}

#left-area ul li, .entry-content ul li {
  padding: 0 0 5px 5px;
}

.wp-block-separator {
  border-color: var(--color-light-gray);
}



.course-review-form {
  border-top: 2px solid var(--border-medium);
}

.course-review-form.woocommerce #respond input#submit {
    background: #2caba0 !important;
}

/* Course Material links */

.course-materials {
  background: #f3f3f3;
  padding: 20px;
}
.required-course-materials {
  margin-bottom: 30px;
}
.course-materials a[href$=".pdf" i]::before {
    content: "\e092";
    font-family: "ETmodules";
    font-size: 20px;
    line-height: 1;
    margin-right: 8px;
}

.course-materials iframe {
    width: 100%;
    max-width: 900px;
    aspect-ratio: 16 / 9;
    height: auto;
}



/* Forminator: hide number input increment/decrement controls */
.forminator-ui input[type="number"]::-webkit-inner-spin-button,
.forminator-ui input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/*--------------------------------------------------------------
# Forminator
--------------------------------------------------------------*/

.forminator-ui input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Hide fields used only for stored evaluation metadata. */
.forminator-ui .hidden {
    display: none;
}

.forminator-ui.forminator-design--default .forminator-repeater-field {
  background: transparent !important;
  box-shadow: none !important;
  padding-top: 10px !important;
}

/* Course survey: rated questions inline like the old Drupal webform */
.forminator-ui #group-1 .forminator-field-number .forminator-field {
  display: flex;
  align-items: center;
  gap: 12px;
}

.forminator-ui #group-1 .forminator-field-number .forminator-label {
  margin: 0;
  flex: 0 1 auto;
}

#forminator-module-101150.forminator-ui.forminator-custom-form-101150.forminator-design--default .forminator-label {
  font-size: 17.5px;
}

#forminator-module-101150.forminator-ui.forminator-custom-form-101150.forminator-design--default .forminator-description {
  font-size: 15px;
}

#forminator-module-101150.forminator-ui.forminator-custom-form-101150.forminator-design--default .forminator-grouped-fields .forminator-label{
    font-size: 16px !important;
}

.forminator-ui #group-1 .forminator-field-number .forminator-input {
    width: 35px !important;
    min-width: 35px;
    flex: 0 0 35px;
    padding: 3px;
}

@media (max-width: 600px) {
    .forminator-ui #group-1 .forminator-field-number .forminator-field {
        display: block;
    }

    .forminator-ui #group-1 .forminator-field-number .forminator-label {
        margin-bottom: 8px;
    }
}

/*not sure what this is*/
.cpa-in-progress-label {
  font-size: 0.92em;
  color: var(--color-accent);
  font-weight: bold;
}

/*==================================
   ethics.sitenvy.com 
   custom plugin css
===================================*/
.cpa-ethics-course-navigation {
    padding-top: 1rem;
}
.cpa-ethics-question-nav__item {
    margin-right: 7px;
    margin-bottom: 5px;
    padding: 0 !important;
}

.cpa-ethics-question-nav__item.is-answered .cpa-ethics-question-nav__button,
.cpa-ethics-question-nav__item.is-answered .cpa-ethics-question-nav__link {
    background: var(--color-lt-blue);
    border-color: var(--color-lt-blue);
    font-weight: normal;
}
.cpa-ethics-question-nav__item.is-unanswered a.cpa-ethics-question-nav__link {
  border: 2px solid red;
}

.cpa-ethics-question-form {
  padding-left: 10px;
}

.cpa-ethics-question-text {
  margin: 0;
}

.cpa-ethics-question-number {
  margin: 0;
}

.cpa-ethics-answer {
  position: relative;
}

.cpa-ethics-answer {
    align-items: center;
}

.cpa-ethics-answer__control {
    line-height: 1;
    padding-top: 2px;
}

/*.cpa-ethics-answer buttons and eval form buttons*/
.cpe_course-template-default input[type="radio"] {
    appearance: auto;
    -webkit-appearance: auto;
    width: 21px;
    height: 21px;
    border: 2px solid #666;
    border-radius: 50%;
    background: #fff;
    flex: 0 0 21px;
}

.cpa-ethics-answer input[type="radio"]:checked {
    border-width: 2px;
}

.cpa-ethics-answer input[type="radio"]:checked::before {
    content: "";
    display: block;
    width: 11px;
    height: 11px;
    margin: 3px;
    border-radius: 50%;
    background: currentColor;
}

.cpa-ethics-answer-list {
    padding: 0 20px;
}

.cpa-ethics-answer__body {
    display: flex;
    line-height: 1.4;
}

.cpa-ethics-answer-letter {
    display: block;
    margin-right: 6px;
}

.cpa-ethics-question-feedback {
    line-height: 1.35;
    background: #f0f0f0;
    color: #2b2b2b;
}

.cpa-ethics-question-feedback p {
  padding-top: 3px;
}

.cpa-ethics-question-feedback.is-correct {
    border-left: 4px solid var(--color-accent); 
}

.cpa-ethics-question-feedback.is-incorrect {
    border-left: 4px solid var(--color-red);
}

.cpa-ethics-answer.is-correct::before,
.cpa-ethics-question-result.is-correct .cpa-ethics-question-result__status::before {
    content: "✓";
    font-size: 1.55em;
    font-weight: 700;
    line-height: 1;
    position: absolute;
    left: -27px;
    color: var(--color-accent);
}

.cpa-ethics-answer.is-incorrect::before,
.cpa-ethics-question-result.is-incorrect .cpa-ethics-question-result__status::before {
    content: "×";
    font-size: 2em;
    font-weight: 700;
    line-height: 1;
    position: absolute;
    bottom: 50%;
    left: -27px;
    height: 20px;
    width: 20px;
    color: var(--color-red);
}
.cpa-ethics-question-action {
    background-color: var(--color-blue);
    color: #fff ;
    padding: 0.7rem 1rem;
    border: 0;
    border-radius: var(--border-radius);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: none;
    text-shadow: none ;
}
.cpa-ethics-assessment-button {
    background: var(--color-green);
    font-weight: bold;
    font-size: 0.92em;
}

.cpa-ethics-quiz-results {
    background: var(--color-blue);
    padding: 10px;
    color: #fff;
    font-weight: bold;
    font-size: 1.2rem;
}

.cpa-ethics-quiz-results h2 {
    color: #fff;
}

.cpa-ethics-question-result {
    border-width: 2px;
    border-top-color: var(--color-med-blue);
    color: #565656;
}

.cpa-ethics-question-result h3 {
    font-size: 22px;
}
.cpa-ethics-question-result__question {
    line-height: 1.4;
}
.cpa-ethics-question-result__question::after {
    display: block;
    content: "";
    width: 200px;
    height: 1px;
    background-color: #ccc;
    margin-top: 20px;
    margin-bottom: 15px;
}

.cpa-ethics-question-result.is-incorrect .cpa-ethics-question-result__status,
.cpa-ethics-question-result.is-correct .cpa-ethics-question-result__status {
    font-size: 1.2rem;
    margin-left: 30px;
    position: relative;
}

.cpa-ethics-question-result.is-incorrect .cpa-ethics-question-result__status {
    color: var(--color-red);
}

.cpa-ethics-question-result.is-correct .cpa-ethics-question-result__status {
    color: var(--color-green);
}
p.cpa-ethics-question-result__response {
    padding-bottom: 0;
}
.cpa-ethics-question-result__response strong,
.cpa-ethics-question-result__feedback strong {
    color: var(--color-heading);
    font-size: 1.05em;
}

/*===========================
      My Profile page
===========================*/
/*
#profile-row,
#profile-row > .et_pb_column,
.cpa-profile-tabs {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.cpa-profile-tabs {
  display: flex;
  align-items: stretch;
  border: 0 none;
}

.cpa-profile-tabs .et_pb_tabs_controls {
  flex: 0 0 250px;
  display: block;
  width: 250px;
  min-width: 0;
  background-color: #fff;
}

.cpa-profile-tabs .et_pb_tabs_controls::after {
  border: 0 none;
}

.cpa-profile-tabs .et_pb_tabs_controls li {
  float: none;
  display: block;
  width: 100%;
  border-right: 0;
  background: #fff;
}

.cpa-profile-tabs .et_pb_all_tabs {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  padding-left: 40px;
}

.cpa-profile-tabs .et_pb_tab,
.cpa-profile-tabs .et_pb_tab_content,
.cpa-ethics-my-courses,
.cpa-ethics-course-history-group {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.cpa-ethics-course-history-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.cpa-ethics-course-history-table {
  width: 100%;
}
*/
/* Stack the tabs before the content becomes too narrow. 
@media (max-width: 980px) {
  .cpa-profile-tabs {
    display: block;
  }

  .cpa-profile-tabs .et_pb_tabs_controls {
    width: 100%;
    max-width: 100%;
  }

  .cpa-profile-tabs .et_pb_all_tabs {
    width: 100%;
    padding-left: 0;
  }
}*/
#profile-row .ul.et_pb_tabs_controls {
    background: #fafafa !important;
}
#profile-row .et_pb_tabs_controls li.et_pb_tab_active {
    background: #1e5184;
}
#profile-row .et_pb_tabs_controls li.et_pb_tab_active a {
    color: #fff !important;
}
.cpa-ethics-course-history-card {
    margin-bottom: 1em;
    padding: 5px 10px;
}
.cpa-ethics-signed-in {
    font-size: 0.93em;
    font-style: italic;
    color: #888;
}

.cpa-ethics-profile-fields {
  line-height: 1.5;
}

.cpa-ethics-profile-fields .form-row,
.cpa-ethics-license-fields {
  margin-bottom: 30px;
  padding-bottom: 0;
}

.cpa-ethics-profile-fields p.form-row.cpa-ethics-license-row {
  margin-bottom: 12px !important;
}

.cpa-ethics-profile-information label,
.cpa-ethics-profile-information input,
span.description,
.cpa-ethics-profile-information select {
  display: block;
}

.cpa-ethics-profile-information label,
.cpa-ethics-license-fields legend {
  font-weight: bold;
  line-height: 1.35;
}

label[for="cpa_license_1"],
span.description,
p.description {
  font-size: 0.9rem;
  line-height: 1.3em;
  font-weight: bold;
  color: #686868;
}

p.description {
  margin-bottom: 1em;
}

.cpa-ethics-profile-information input {
  width: 350px;
  max-width: 100%;
  padding: 10px;
  margin-bottom: 5px;
  box-sizing: border-box;
  font-size: 1em;
}

select#cpa_birth_month {
  max-width: 100%;
  padding: 6px;
  font-size: 1rem;
}

span.required {
  color: red;
}

button.cpa-ethics-add-license {
  padding: 7px;
  font-weight: bold;
  color: #444;
  background: #f5f5f5;
  border: 1px solid #888;
}

.cpa-ethics-assessment-button {
  display: inline-block;
  padding: 0.7em 1em !important;
  margin-right: 1.5em;
  margin-bottom: 1.5em;
  color: #fff;
  background: var(--color-green);
  border: 2px solid var(--color-green);
  border-radius: 3px;
  box-shadow: none;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1;
  letter-spacing: 0.02em;
  text-decoration: none;
  text-transform: uppercase !important;
  transition: all 300ms ease 0ms;
}

.cpa-ethics-assessment-button:hover {
  padding: 0.7em 1em !important;
  color: #fff;
  background: var(--color-green);
  border: 2px solid var(--color-green);
  box-shadow: rgba(0, 0, 0, 0.12) 0 8px 18px 0;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  text-decoration: none;
  text-transform: uppercase !important;
  transform: translateY(-1px);
}

.cpa-ethics-my-courses section {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #ccc;
}

.cpa-ethics-course-history-card dd {
  margin-bottom: 5px;
  line-height: 1.3;
}

/* Evaluation public review opt-in checkbox */
.cpa-ethics-review-consent {
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
}

.cpa-ethics-review-consent input[type="checkbox"] {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  margin: 2px 0 0;
  accent-color: #333;
}

.cpa-ethics-review-consent label {
  margin: 0;
}

.cpa-ethics-evaluation p {
  padding-bottom: 1em;
  color: #222;
  line-height: 1.4;
}

fieldset.cpa-ethics-review-section {
  padding: 20px;
  margin-bottom: 1em;
  border: 2px solid #c3c3c3;
}

.cpa-ethics-review-section legend {
  padding-right: 5px;
  padding-left: 5px;
  color: #333;
  font-size: 1.5em;
  font-weight: bold;
}
/* =========================================================
   CPA ETHICS COURSE PROGRESS
   Site-specific styling for the Divi child theme
   ========================================================= */


/* ---------------------------------------------------------
   DIVI COURSE SIDEBAR
   --------------------------------------------------------- */

.cpe_course-template-default #main-content .container:before,
.cpe_course_content-template-default #main-content .container:before {
    display: none;
}

.cpe_course-template-default #sidebar,
.cpe_course_content-template-default #sidebar {
    padding-left: 0;
}

.cpe_course-template-default #sidebar .et_pb_widget,
.cpe_course_content-template-default #sidebar .et_pb_widget {
    margin-bottom: 24px;
}

.cpe_course-template-default #sidebar .widget_block > p:empty,
.cpe_course_content-template-default #sidebar .widget_block > p:empty {
    display: none;
}


/* ---------------------------------------------------------
   COMPACT SIDEBAR PROGRESS BLOCK
   --------------------------------------------------------- */

.cpe_course-template-default .cpa-ethics-course-context,
.cpe_course_content-template-default .cpa-ethics-course-context {
    margin: 0 0 24px;
    padding: 0;
    overflow: hidden;
    border: 1px solid #cccccc;
    border-radius: 5px;
    background: #ffffff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
}

/* Convert the existing "Course outline" label into the header. */

.cpe_course-template-default .cpa-ethics-course-context__label,
.cpe_course_content-template-default .cpa-ethics-course-context__label {
    display: block;
    margin: 0;
    padding: 12px 15px;
    order: -2;
    background: #103c73;
    color: #ffffff;
    font-size: 0;
    font-weight: 700;
    line-height: 1.25;
}

.cpe_course-template-default .cpa-ethics-course-context__label::after,
.cpe_course_content-template-default .cpa-ethics-course-context__label::after {
    content: "Course Progress";
    font-size: 20px;
}

/* Course title */

.cpe_course-template-default .cpa-ethics-course-context__course,
.cpe_course_content-template-default .cpa-ethics-course-context__course {
    margin: 0;
    padding: 14px 15px;
    order: -1;
    border-bottom: 1px solid #dddddd;
    background: #f7f7f7;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
}

.cpe_course-template-default .cpa-ethics-course-context__course a,
.cpe_course_content-template-default .cpa-ethics-course-context__course a {
    color: #103c73;
    text-decoration: none;
}

.cpe_course-template-default .cpa-ethics-course-context__course a:hover,
.cpe_course-template-default .cpa-ethics-course-context__course a:focus,
.cpe_course_content-template-default .cpa-ethics-course-context__course a:hover,
.cpe_course_content-template-default .cpa-ethics-course-context__course a:focus {
    color: #2d65aa;
    text-decoration: underline;
}

/* Course-item list */

.cpe_course-template-default .cpa-ethics-course-context__list,
.cpe_course_content-template-default .cpa-ethics-course-context__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cpe_course-template-default .cpa-ethics-course-context__item,
.cpe_course_content-template-default .cpa-ethics-course-context__item {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #e2e2e2;
}

.cpe_course-template-default .cpa-ethics-course-context__item:last-child,
.cpe_course_content-template-default .cpa-ethics-course-context__item:last-child {
    border-bottom: 0;
}

.cpe_course-template-default .cpa-ethics-course-context__row,
.cpe_course_content-template-default .cpa-ethics-course-context__row {
    display: block;
    padding: 11px 14px 10px;
    line-height: 1.35;
}

.cpe_course-template-default .cpa-ethics-course-context__row > a,
.cpe_course-template-default .cpa-ethics-course-context__row > span:first-child,
.cpe_course_content-template-default .cpa-ethics-course-context__row > a,
.cpe_course_content-template-default .cpa-ethics-course-context__row > span:first-child {
    display: block;
    color: #103c73;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}

.cpe_course-template-default .cpa-ethics-course-context__row > a:hover,
.cpe_course-template-default .cpa-ethics-course-context__row > a:focus,
.cpe_course_content-template-default .cpa-ethics-course-context__row > a:hover,
.cpe_course_content-template-default .cpa-ethics-course-context__row > a:focus {
    color: #2d65aa;
    text-decoration: underline;
}

/* Status shown beneath the item title */

.cpe_course-template-default .cpa-ethics-course-context .cpa-ethics-status,
.cpe_course_content-template-default .cpa-ethics-course-context .cpa-ethics-status {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.3;
}

/* Completed */

.cpe_course-template-default .cpa-ethics-course-context .cpa-ethics-status--complete,
.cpe_course_content-template-default .cpa-ethics-course-context .cpa-ethics-status--complete {
    color: #238f84;
    font-weight: 600;
}

.cpe_course-template-default .cpa-ethics-course-context .cpa-ethics-status--complete > span,
.cpe_course_content-template-default .cpa-ethics-course-context .cpa-ethics-status--complete > span {
    display: inline-flex;
    width: 18px;
    height: 18px;
    margin-right: 5px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #2caba0;
    color: #ffffff;
    font-size: 12px;
    line-height: 1;
}

/* Current item */

.cpe_course-template-default .cpa-ethics-course-context__item.is-current,
.cpe_course_content-template-default .cpa-ethics-course-context__item.is-current {
    border-left: 4px solid #2caba0;
    background: #eef8f7;
}

.cpe_course-template-default .cpa-ethics-course-context__item.is-current .cpa-ethics-course-context__row,
.cpe_course_content-template-default .cpa-ethics-course-context__item.is-current .cpa-ethics-course-context__row {
    padding-left: 10px;
}

.cpe_course-template-default .cpa-ethics-course-context__item.is-current .cpa-ethics-course-context__row > a,
.cpe_course-template-default .cpa-ethics-course-context__item.is-current .cpa-ethics-course-context__row > span:first-child,
.cpe_course_content-template-default .cpa-ethics-course-context__item.is-current .cpa-ethics-course-context__row > a,
.cpe_course_content-template-default .cpa-ethics-course-context__item.is-current .cpa-ethics-course-context__row > span:first-child {
    font-weight: 700;
    text-decoration: none;
}

.cpe_course-template-default .cpa-ethics-course-context .cpa-ethics-status--in-progress,
.cpe_course_content-template-default .cpa-ethics-course-context .cpa-ethics-status--in-progress {
    color: #103c73;
    font-weight: 700;
}

/* Locked */

.cpe_course-template-default .cpa-ethics-course-context__item.is-locked,
.cpe_course_content-template-default .cpa-ethics-course-context__item.is-locked {
    background: #fafafa;
}

.cpe_course-template-default .cpa-ethics-course-context__item.is-locked .cpa-ethics-course-context__row > span:first-child,
.cpe_course_content-template-default .cpa-ethics-course-context__item.is-locked .cpa-ethics-course-context__row > span:first-child {
    color: #777777;
    opacity: 1;
}

.cpe_course-template-default .cpa-ethics-course-context .cpa-ethics-status--locked,
.cpe_course_content-template-default .cpa-ethics-course-context .cpa-ethics-status--locked {
    color: #888888;
    opacity: 1;
}

/* ---------------------------------------------------------
   FULL COURSE CONTENT BOX
   --------------------------------------------------------- */

.cpa-ethics-course-outline--full ul.cpa-ethics-course-outline__list {
    line-height: 1.3 !important;
    padding-left: 0 !important;
    list-style-type: none !important;
}
.cpa-ethics-course-outline__list li {
    padding: 0 !important;
}

.single-cpe_course .cpa-ethics-course-outline--full {
    margin: 30px 0;
    overflow: hidden;
    border: 1px solid #cccccc;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.07);
}

.single-cpe_course .cpa-ethics-course-outline--full > h2 {
    margin: 0;
    padding: 20px 26px;
    background: #103c73;
    color: #ffffff;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
}

/* Top-level items */

.single-cpe_course .cpa-ethics-course-outline--full >
.cpa-ethics-course-outline__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.single-cpe_course .cpa-ethics-course-outline--full >
.cpa-ethics-course-outline__list >
.cpa-ethics-course-outline__item {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #cccccc;
}

.single-cpe_course .cpa-ethics-course-outline--full >
.cpa-ethics-course-outline__list >
.cpa-ethics-course-outline__item:last-child {
    border-bottom: 0;
}

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-course-outline__row {
    display: block;
    padding: 15px 20px 15px;
    line-height: 1.35;
}

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-course-outline__row > a,
.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-course-outline__row > span:first-child {
    display: block;
    color: #103c73;
    font-size: 21px;
    font-weight: 700;
    text-decoration: none;
}

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-course-outline__row > a:hover,
.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-course-outline__row > a:focus {
    color: #2d65aa;
    text-decoration: underline;
}

/* Full-box statuses */

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-status {
    display: block;
    font-size: 16px;
    line-height: 1.3;
}

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-status--complete {
    color: #238f84;
}

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-status--complete > span {
    display: inline-flex;
    width: 20px;
    height: 20px;
    margin-right: 6px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #2caba0;
    color: #ffffff;
    font-size: 13px;
    line-height: 1;
}

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-status--in-progress {
    color: #103c73;
}

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-status--locked {
    color: #888888;
    opacity: 1;
}

/* Current full-outline item */

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-course-outline__item.is-current >
.cpa-ethics-course-outline__row {
    border-left: 5px solid #2caba0;
    background: #eef8f7;
    padding-left: 21px;
}

/* Locked full-outline item */

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-course-outline__item.is-locked >
.cpa-ethics-course-outline__row {
    background: #fafafa;
}

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-course-outline__item.is-locked >
.cpa-ethics-course-outline__row > span:first-child {
    color: #777777;
    opacity: 1;
}

/* Child course options */

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-course-outline__list
.cpa-ethics-course-outline__list {
    margin: 0 26px 18px;
    padding: 0 0 0 18px;
    border-left: 3px solid #d5e8e6;
    list-style: none;
}

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-course-outline__list
.cpa-ethics-course-outline__list
.cpa-ethics-course-outline__item {
    margin: 0;
    border-top: 1px solid #e3e3e3;
}

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-course-outline__list
.cpa-ethics-course-outline__list
.cpa-ethics-course-outline__row {
    padding: 10px 12px;
}

.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-course-outline__list
.cpa-ethics-course-outline__list
.cpa-ethics-course-outline__row > a,
.single-cpe_course .cpa-ethics-course-outline--full
.cpa-ethics-course-outline__list
.cpa-ethics-course-outline__list
.cpa-ethics-course-outline__row > span:first-child {
    font-size: 17px;
}
/*.cpa-ethics-course-outline__item.cpa-ethics-course-outline__item--content.is-available a {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;

}
.cpa-ethics-course-outline__item.cpa-ethics-course-outline__item--content.is-available .cpa-ethics-course-outline__row {
    padding-bottom: 18px;
}*/

/* ---------------------------------------------------------
   TABLET AND MOBILE
   --------------------------------------------------------- */

@media (max-width: 980px) {
    .single-cpe_course #sidebar {
        padding-left: 0;
    }

    .single-cpe_course .cpa-ethics-course-context {
        margin-top: 30px;
    }
}

@media (max-width: 600px) {
    .single-cpe_course .cpa-ethics-course-outline--full > h2 {
        padding: 16px 18px;
        font-size: 25px;
    }

    .single-cpe_course .cpa-ethics-course-outline--full
    .cpa-ethics-course-outline__row {
        padding: 16px 18px 14px;
    }

    .single-cpe_course .cpa-ethics-course-outline--full
    .cpa-ethics-course-outline__row > a,
    .single-cpe_course .cpa-ethics-course-outline--full
    .cpa-ethics-course-outline__row > span:first-child {
        font-size: 18px;
    }

    .single-cpe_course .cpa-ethics-course-outline--full
    .cpa-ethics-course-outline__list
    .cpa-ethics-course-outline__list {
        margin-right: 18px;
        margin-left: 18px;
    }
}

/* =========================================================
   PRODUCT PAGE REVIEWS
   ========================================================= */

.woocommerce #single-prod-review #reviews #comments h3.product-reviews-heading {
    font-size: 20px;
    text-transform: uppercase;
    color: #a7a7a7;
    text-align: center;
    margin-bottom: 0 !important;
}

#single-prod-review .et_pb_divider.reviews-divider {
    position: relative;
    margin: 0 0 30px;
}

#single-prod-review .et_pb_divider.reviews-divider:before {
    content: "";
    width: 70px;
    height: 1px;
    border-top: 3px solid #CE150E;
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 10;
    transform: translateX(-50%);
}

#single-prod-review h4.product-reviews-subtitle {
    text-align: center;
    font-size: 28px;
    text-transform: capitalize;
    color: #001F68;
}

.woocommerce #single-prod-review #reviews #comments ol.commentlist li,
.woocommerce-page #single-prod-review #reviews #comments ol.commentlist li {
    margin-bottom: 15px !important;
}

#single-prod-review li.comment .comment-text .description {
    font-style: italic;
    font-weight: 600;
    font-size: 17px;
    position: relative;
    text-align: center;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p {
    padding-bottom: 0 !important;
}

/* ---------------------------------------------------------
   HOME PAGE — ETHICS COURSES BY STATE
   --------------------------------------------------------- */

.ethics-states-list ul {
    list-style: none;
    padding-left: 0;
}
.ethics-states-list {
    columns: 2;
    column-gap: 50px;
    margin: 20px 0 0;
    padding: 0 !important;
    list-style: none;
}

.ethics-states-list li {
    break-inside: avoid;
    margin: 0 0 12px;
    padding: 0;
}

.ethics-states-list a {
    display: inline-block;
    color: #2d65aa;
    font-size: 17px;
    font-size: clamp(15px, calc(1.93px + 1.333vw), 19px);  
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
}

.ethics-states-list a:hover,
.ethics-states-list a:focus {
    color: #103c73;
    text-decoration: underline;
}

/* Bigger text on smaller screens */

@media (max-width: 980px) {
    .ethics-states-list a {
        font-size: 19px;
    }
}
/* for listing states left to right
.ethics-states-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 50px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.ethics-states-list li {
    margin: 0;
    padding: 0;
}

.ethics-states-list a {
    display: inline-block;
    color: #2d65aa;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
}

.ethics-states-list a:hover,
.ethics-states-list a:focus {
    color: #103c73;
    text-decoration: underline;
}

@media (max-width: 767px) {
    .ethics-states-list {
        grid-template-columns: 1fr;
    }
} */

/* ---------------------------------------------------------
   ONLINE COURSE CATALOG
   --------------------------------------------------------- */

.ethics-course-catalog {
    margin-top: 20px;
}

/* ---------------------------------------------------------
   STATE FILTER
   --------------------------------------------------------- */

.ethics-course-catalog__filters {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
}

.ethics-course-catalog__filter-label {
    margin: 0;
    color: var(--color-dk-blue);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
}

.ethics-course-catalog__state-filter {
    min-width: 220px;
    padding: 10px 38px 10px 12px;
    border: 1px solid var(--border-medium);
    border-radius: 4px;
    background-color: #ffffff;
    color: #333333;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.3;
    cursor: pointer;
}

.ethics-course-catalog__state-filter:hover {
    border-color: var(--color-dk-blue);
}

.ethics-course-catalog__state-filter:focus {
    border-color: var(--color-dk-blue);
    outline: 2px solid rgba(16, 60, 115, 0.18);
    outline-offset: 1px;
}


/* Mobile */
@media (max-width: 767px) {

    .ethics-course-catalog__filters {
        display: block;
        margin-bottom: 20px;
    }

    .ethics-course-catalog__filter-label {
        display: block;
        margin-bottom: 6px;
    }

    .ethics-course-catalog__state-filter {
        width: 100%;
        min-width: 0;
    }
}

/* ---------------------------------------------------------
   DESKTOP TABLE
   --------------------------------------------------------- */

.ethics-course-catalog table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--border-medium);
    background: #ffffff;
}

.ethics-course-catalog th,
.ethics-course-catalog td {
    padding: 16px 18px;
    border: 1px solid var(--border-medium);
    vertical-align: middle;
    text-align: left;
}

.ethics-course-catalog thead th {
    background: var(--color-dk-blue);
    color: #fff !important;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
}

.ethics-course-catalog tbody td {
  padding: 6px 18px;
}

.ethics-course-catalog tbody td{
    font-size: 0.96em;
}

.ethics-course-catalog tbody td.ethics-course-catalog__title {
  font-family: var(--typography-font-headings);
  font-size: 18px;
}

.ethics-course-catalog__formats ul {
    line-height: 1.25;
    list-style: disc outside ;
    padding: 0 0 0 15px;
}

.ethics-course-catalog__formats ul li {
    padding: 0 0 5px;
}

.ethics-course-catalog tbody tr:hover {
    background: #f8fafc;
}


/* Course title */

.ethics-course-catalog td:first-child a {
    color: var(--color-blue);
    font-weight: 600;
    text-decoration: none;
}

.ethics-course-catalog td:first-child a:hover,
.ethics-course-catalog td:first-child a:focus {
    color: var(--color-dk-blue);
    text-decoration: underline;
}


/* CPE credits column */

.ethics-course-catalog th:nth-child(4),
.ethics-course-catalog td:nth-child(4) {
    text-align: center;
}


/* Price */

.ethics-course-catalog th:nth-child(5),
.ethics-course-catalog td:nth-child(5) {
    white-space: nowrap;
}


/* Select link/button */

.ethics-course-catalog td:last-child {
    text-align: center;
}

.ethics-course-catalog td:last-child a {
    display: inline-block;
    padding: 8px 18px;
    border: 1px solid var(--color-green);
    border-radius: 4px;
    color: var(--color-green);
    font-weight: 600;
    text-decoration: none;
}

.ethics-course-catalog td:last-child a:hover,
.ethics-course-catalog td:last-child a:focus {
    background: var(--color-green);
    color: #ffffff;
}


/* ---------------------------------------------------------
   FORMAT LIST
   --------------------------------------------------------- */

.ethics-course-catalog .course-format-list {
    margin: 0;
    padding-left: 20px;
}

.ethics-course-catalog .course-format-list li {
    margin: 0 0 3px;
    padding: 0;
}

.ethics-course-catalog .course-format-list li:last-child {
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   MOBILE — SWITCH TABLE ROWS TO CARDS
   --------------------------------------------------------- */

@media (max-width: 767px) {
    .ethics-course-catalog table,
    .ethics-course-catalog thead,
    .ethics-course-catalog tbody,
    .ethics-course-catalog tr,
    .ethics-course-catalog th,
    .ethics-course-catalog td {
        display: block;
        width: 100%;
    }

    #ethics-course-catalog-1.ethics-course-catalog table {
        border: 0;
        background: transparent;
    }

    .ethics-course-catalog thead {
        display: none;
    }

    .ethics-course-catalog tbody tr {
        margin-bottom: 18px;
        padding: 18px;
        border: 2px solid var(--color-blue);
        border-radius: 6px;
        background: #ffffff;
    }

    .ethics-course-catalog tbody td {
        padding: 6px 0;
        border: 0 !important;
        text-align: left !important;
    }

    .ethics-course-catalog tbody td:first-child {
        padding-top: 0;
        font-size: 1.3rem;
        font-family: var(--typography-font-headings);
    }

    .ethics-course-catalog tbody td:last-child {
        padding-top: 12px;
    }

    .ethics-course-catalog tbody td:last-child a {
        width: 100%;
        text-align: center;
    }

    .ethics-course-catalog .course-format-list {
        margin-top: 3px;
    }

    /* CPE Credits cell */
    .ethics-course-catalog tbody td:nth-child(4) {
        display: flex;
        align-items: baseline;
        gap: 4px;
        text-align: left !important;
    }

    .ethics-course-catalog tbody td:nth-child(4)::after {
        content: " CPE Credits";
    }
    .ethics-course-catalog__row[hidden],
    .ethics-course-catalog__no-results[hidden] {
      display: none !important;
    }
    .ethics-course-catalog td:last-child a {
        display: inline-block;
        padding: 8px 18px;
        background: var(--color-green);
        border: 1px solid var(--color-green);
        border-radius: 4px;
        color: #fff;
        font-weight: 600;
        text-decoration: none;
    }

    .ethics-course-catalog td:last-child a:hover,
    .ethics-course-catalog td:last-child a:focus {
        background: #fff;
        color: var(--color-green);
    }
}

/* Live course testimonial */
.live-course-review {
    position: relative;
    max-width: 800px;
    margin: 2rem auto;
    padding: 2rem 2rem 2rem 2.5rem;
    background: var(--bg-light);
    border-left: 5px solid var(--color-green);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-sm);
}

.live-course-review::before {
    content: "\201C";
    position: absolute;
    top: 0.25rem;
    left: 0.75rem;
    color: var(--color-green);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 4rem;
    line-height: 1;
    opacity: 0.3;
}

.live-course-review blockquote {
    margin: 0;
    padding: 0;
    border: 0;
}

.live-course-review blockquote p {
    margin: 0;
    padding: 0;
    color: var(--color-text);
    font-size: clamp(17px, calc(15.33px + 0.417vw), 22px);
    font-style: italic;
    font-weight: 500;
    line-height: 1.55;
}

.live-course-review figcaption {
    margin-top: 1rem;
    color: #686868;
    font-size: 0.9rem;
    font-weight: 600;
    text-align: right;
}

@media (max-width: 767px) {
    .live-course-review {
        padding: 1.5rem 1.25rem 1.5rem 2rem;
    }

    .live-course-review::before {
        left: 0.5rem;
        font-size: 3rem;
    }
}
/* Add to the child theme style.css. Product imagery only; course content,
   certificates, site logos, and payment-method logos are unaffected. */
.woocommerce div.product div.images,
.woocommerce .woocommerce-product-gallery,
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .et_shop_image,
.et_pb_shop .et_shop_image,
.et_pb_wc_images,
.woocommerce table.shop_table .product-thumbnail,
.woocommerce .woocommerce-mini-cart-item img,
.wc-block-cart-item__image,
.wc-block-components-order-summary-item__image,
.wc-block-components-product-image,
.wc-block-grid__product-image,
.wc-block-mini-cart-items__row .wc-block-components-product-image,
.wp-block-woocommerce-product-image,
.wp-block-woocommerce-product-image-gallery {
    display: none !important;
}

/* Remove the standard product page's unused gallery column. */
.woocommerce div.product div.summary {
    width: 100%;
    float: none;
}

/* Remove the image gutter in the block-based order summary. */
.wc-block-components-order-summary-item__description {
    padding-left: 0;
}


/* Footer typography and colors */

#footer .et_pb_text {
    font-size: 0.9em !important;
    line-height: 1.5;
}

#footer .et_pb_text,
#footer .et_pb_text p,
#footer .et_pb_text a,
#footer .et_pb_text a:visited {
    color: #f2f2f2 !important;
}

#footer .et_pb_text p {
    font-size: inherit;
    margin: 0;
    padding-bottom: 0;
}
#footer .et_pb_text p a {
    text-decoration: none !important;
}

#footer .et_pb_text a:hover,
#footer .et_pb_text a:focus-visible {
    color: #fff !important;
}

/* About 20px between the two rows */
#footer .f-row-1 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

#footer .f-row-2 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

#footer .f-row-1 .et_pb_text {
    margin-bottom: 0 !important;
}

/* Place the second row's modules side by side */
#footer .f-row-2 > .et_pb_column {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 20px;
}

#footer .f-row-2 .et_pb_text {
    flex: 0 1 auto;
    width: auto !important;
    margin: 0 !important;
}

#footer .f-row-2 .et_pb_text:first-child {
    text-align: left;
}

#footer .f-row-2 .et_pb_text:last-child {
    text-align: right;
}

/* Center the legal links */
#footer .f-links {
    text-align: center;
}

a.cpa-ethics-obfuscated-contact {
    color: var(--color-text);
    text-decoration: none;
}

/* Account navigation is available after the learner signs in. */
body:not(.logged-in) .cpa-logged-in-only {
    display: none !important;
}
body:not(.logged-in) .util-links li:has(> .cpa-logged-in-only) {
    display: none !important;
}
