/* Variables, Mixins
-------------------------------------------------------------- */
:root {
  --main-blue: #0b8ecc;
  --main-blue-hover: #3aafe6;
  --main-blue-dark: #007eba;
  --main-blue-dark-border: #0673a7;
  --main-blue-light: #3fc0fd;
  --main-lime: #72ffab;
  --main-green: #22b783;
  --main-orange: #f56b2c;
  --main-meta-data-color: #6d7b86;
  --main-silver: #949ba6;
  --main-red: #f9394b;
  --custom-program-header-color: #203766;
  --custom-program-primary-color: #a90733;
  --custom-program-secondary-color: #0b8ecc;
  --custom-program-tertiary-color: #2dadb9;
}

/* Make sure text decoration won't interfere with font ascenders and descenders */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Some elements should have the pointer cursor */
button, label, select, summary, [role='button'], [role='option'] {
  cursor: pointer;
}

/* And some should have the not-allowed cursor */
:disabled, [aria-disabled='true'], label:has(> input:disabled), label:has(+ input:disabled) {
  cursor: not-allowed;
}

/* Anchored elements should have some extra padding */
:target {
  scroll-padding-block-start: 2rem;
}

/* Focused elements should also */
:focus {
  scroll-padding-block-end: 8vh;
}

/* Ensure a nice focus indicator */
:root {
  --focus-outline-size: max(2px, 0.08em);
  --focus-outline-style: solid;
  --focus-outline-offset: 0.2em;
  --focus-outline-color: #0E6B99;
}

:not(.ask-ark) :is(a, button, input:not([type="radio"]), textarea, select, summary, [role="button"]):focus-visible {
  outline: var(--focus-outline-size) var(--focus-outline-style) var(--focus-outline-color) !important;
  outline-offset: var(--focus-outline-offset, var(--focus-outline-size)) !important;
  z-index: 100;
}

input[type="radio"] {
  outline: none;
}

input[type="radio"]:focus-visible:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  outline: var(--focus-outline-size) var(--focus-outline-style) var(--focus-outline-color) !important;
  outline-offset: var(--focus-outline-offset, var(--focus-outline-size)) !important;
}

.ql-editor:focus-within, .ql-editor:focus-visible {
  outline: var(--focus-outline-size) var(--focus-outline-style) var(--focus-outline-color) !important;
  outline-offset: var(--focus-outline-offset, var(--focus-outline-size)) !important;
  border-radius: inherit;
}

.jwplayer {
  --focus-outline-size: 0;
}

*:focus-visible:has(.wsp-tooltip-contain) .wsp-tooltip {
  display: block;
}

/* Prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::after, *::before {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

@media (prefers-contrast: more), (prefers-contrast: less) {
  :root {
    --main-blue: #0075b3;
    --main-blue-hover: #0074ab;
    --main-blue-dark: #005894;
    --main-blue-dark-border: #0673a7;
    --main-red: #8b0000;
    --main-green: #007f4b;
    --main-orange: #c73d00;
    --main-silver: #666d78;
    --main-meta-data-color: #35434e;
    --focus-outline-color: #094462;
  }
  .--theme-lt {
    --main-meta-data-color: #5e6c77;
  }
  .--theme-md {
    --main-blue: #0065a3;
    --main-blue-hover: #00659c;
  }
  .drop-announcer__text > a {
    color: var(--main-blue-dark);
  }
  #free-resources {
    background-color: #0b8ecc !important;
  }
  .ask-ark {
    --muted-foreground: #454a4c;
  }
  footer p.copyright {
    color: rgba(255, 255, 255, 0.7);
  }
  .wspfilter__list {
    --main-blue: var(--main-blue-dark);
  }
  .who-for-icons strong.am, .industry-icons strong.am {
    background: #0D4A48;
  }
  .who-for-icons strong.cf, .industry-icons strong.cf {
    background: #860411;
  }
  .who-for-icons strong.er, .industry-icons strong.er {
    background: #0C485A;
  }
  .ark-button__placeholder {
    color: #4d575f;
  }
  .wsp-file-download {
    color: #162025;
  }
  .wh-assignment__go-icon {
    opacity: .6;
  }
  .tabs-section__tabs--inline li a {
    opacity: .7;
  }
  .syllabus__header-aside {
    color: #bbc5cb;
  }
  #wpdcom button.wpd-prim-button {
    background-color: var(--main-blue) !important;
  }
  #wpdcom .wpd-comment-header, #wpdcom .wpd-comment-footer .wpd-reply-button {
    color: #424242 !important;
  }
  #wpdcom .wpd-comment-date {
    font-size: 14px !important;
  }
  #wpdcom div.wpd-up {
    color: var(--custom-group-accent-color, var(--main-green)) !important;
  }
  #wpdcom .wpdiscuz-readmore {
    color: var(--custom-group-color, var(--main-blue)) !important;
  }
  #wpdcom button[type="button"].wpdiscuz-sort-button, #wpdcom button[type="button"].wpdiscuz-sort-buttons {
    color: #5e5e5e !important;
  }
  #wpdcom .wpd-comment-footer button {
    color: #414141 !important;
  }
  #wpdcom .wpd-comment-footer button i {
    color: #414141 !important;
  }
  #wpdcom .wpd-comment-footer .wpd-vote-up svg, #wpdcom .wpd-comment-footer .wpd-vote-down svg, #wpdcom .wpd-comment-footer .wpd-reply-button svg {
    fill: #5e5e5e !important;
  }
  #wpdcom .wpd-comment-footer .wpd-toggle .wpd-view-replies {
    color: var(--main-meta-data-color) !important;
  }
  #wpdcom .wpd-comment .wpd-comment-text p, #wpdcom .wpd-comment .wpd-reply .wpd-comment-text p {
    font-size: 16px !important;
  }
  #wpdcom .wpd-blog-subscriber .wpd-comment-author, #wpdcom .wpd-blog-subscriber .wpd-comment-author a, #wpdcom .wpd-blog-post_author .wpd-comment-author, #wpdcom .wpd-blog-post_author .wpd-comment-author a, #wpdcom .wpd-blog-administrator .wpd-comment-author, #wpdcom .wpd-blog-administrator .wpd-comment-author a, #wpdcom .wpd-blog-guest .wpd-comment-author, #wpdcom .wpd-blog-guest .wpd-comment-author a {
    color: var(--custom-group-color, var(--main-blue)) !important;
    letter-spacing: inherit !important;
    font-weight: normal !important;
  }
  #wpdcom .wpd-blog-wsp-instructional-author .wpd-comment-author, #wpdcom .wpd-blog-wsp-instructional-author .wpd-comment-author a {
    color: var(--custom-group-accent-color, var(--main-green)) !important;
    letter-spacing: inherit !important;
    font-weight: normal !important;
  }
  #wpdcom .wpd-comment .wpd-comment-status .wpd-unapproved {
    color: #603701 !important;
  }
  #wpdcom .wpd-comment :where(.wpd-comment-right, .wpd-comment-header) {
    border-color: var(--main-meta-data-color) !important;
  }
  .wspl-banner__crumbs {
    color: #fff;
  }
  .--text-dk, .wspl-block--cyan .--text-white {
    color: #0a4165;
  }
  .deep-dive strong, .yellow-block-link strong {
    color: #ba3000;
  }
  .content-aside h6 {
    color: #bf3500;
  }
  .wspl-form__labelAnimate .unhappyMessage {
    font-size: .8em;
  }
  #ad-ppt-lc {
    background-color: #ff704f;
  }
  #ad-ppt-lc form button {
    background-color: #d13c16 !important;
  }
  .wsp-page-exit__link, .wh-module__note a, .whAlert--na a {
    color: var(--main-blue-dark);
    text-decoration: underline;
  }
  .wsp-page-exit__link:hover, .wh-module__note a:hover, .whAlert--na a:hover {
    text-decoration: none;
  }
  .wh-module__note-date {
    opacity: 1;
  }
  .lms-view-toggle > button:not(.sort) > * {
    opacity: .7;
  }
  .lms-view-toggle > button.active > *, .lms-view-toggle > button:hover > * {
    opacity: 1;
  }
  .wspl-groupbutton.disabled {
    opacity: .7;
    pointer-events: none;
    cursor: not-allowed;
  }
  .question-list .date {
    color: var(--main-meta-data-color);
  }
  .syllabus .lesson-block > a.to-lesson {
    position: relative;
  }
  .wh-header__tabs.tabs-section__tabs {
    overflow: visible;
  }
}
