/* Homepage organization training section only; Bootstrap owns the columns. */
.cce-home-training {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 3.5rem 0 3rem;
    color: #111;
    font-family: "Open Sans", Arial, sans-serif;
    background:
        linear-gradient(166deg, var(--cce-primary-red) 0 3%, transparent 3.1%),
        linear-gradient(350deg, var(--cce-primary-red) 0 3%, transparent 3.1%),
        radial-gradient(ellipse at 0 48%, color-mix(in srgb, var(--cce-primary-red) 7%, transparent), transparent 46%),
        radial-gradient(ellipse at 100% 38%, #f1f2f3, transparent 52%), #fff;
}
.cce-home-training::before,
.cce-home-training::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    width: 65%;
    height: 12rem;
    border-radius: 50%;
    transform: rotate(-12deg);
}
.cce-home-training::before {
    top: 25%;
    left: -42%;
    background: linear-gradient(100deg, color-mix(in srgb, var(--cce-primary-red) 18%, transparent), transparent);
}
.cce-home-training::after {
    top: 16%;
    right: -35%;
    background: linear-gradient(100deg, #eceef0, transparent);
}
.cce-home-training > .container { position: relative; }
.cce-home-training__header { text-align: center; margin-bottom: 2.5rem; }
.cce-home-training__header h1 {
    margin: 0;
    color: #111;
    font: 700 clamp(1.75rem, 3vw, 2.5rem)/1.25 "Open Sans", Arial, sans-serif;
    letter-spacing: normal;
}
.cce-home-training__header h1::after {
    content: "";
    display: block;
    width: 160px;
    max-width: 50%;
    height: 4px;
    margin: 1.5rem auto;
    background: var(--cce-primary-red);
}
.cce-home-training__header h5 {
    margin: 0;
    font: 700 .875rem/1.5 "Open Sans", Arial, sans-serif;
    letter-spacing: .08em;
}
.cce-home-training__column { display: flex; min-width: 0; margin-bottom: 1.5rem; }
.cce-home-training__card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    padding: 2rem;
    border: 1px solid #f0f0f0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}
.cce-home-training__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    margin-bottom: 1.25rem;
}
.cce-home-training__logo img { display: block; max-width: 100%; width: auto; height: auto; max-height: 96px; }
.cce-home-training__card h2 {
    margin: 0 0 1rem;
    color: #111;
    text-align: center;
    font: 700 1.5rem/1.35 "Open Sans", Arial, sans-serif;
}
.cce-home-training__card p { margin: 0 0 1.5rem; text-align: center; font: 400 1rem/1.6 "Open Sans", Arial, sans-serif; }
.cce-home-training__list { list-style: none; width: fit-content; max-width: 100%; padding: 0; margin: 0 auto 2rem; }
.cce-home-training__list li + li { margin-top: .875rem; }
.cce-home-training__list h6 { margin: 0; color: #111; font: 600 1.125rem/1.55 "Open Sans", Arial, sans-serif; }
.cce-home-training__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    width: 100%;
    min-height: 72px;
    margin-top: auto;
    padding: .875rem 1rem;
    border: 1px solid transparent;
    border-radius: 14px;
    background: var(--cce-primary-red);
    color: #fff;
    font: 700 .875rem/1.5 "Open Sans", Arial, sans-serif;
    text-shadow: none;
    white-space: normal;
    text-decoration: none;
}
.cce-home-training__cta .ahalogo,
.cce-home-training__cta .rdlogo { flex: 0 0 20px; background-repeat: no-repeat; background-size: contain; }
.cce-home-training__cta .rtext { min-width: 0; }
.cce-home-training__cta:hover { background: var(--cce-primary-red); color: #fff; text-decoration: underline; }
.cce-home-training__cta:focus-visible { color: #fff; outline: 3px solid #111; outline-offset: 4px; text-decoration: underline; }
@media (max-width: 991.98px) {
    .cce-home-training__cards { max-width: 710px; margin-right: auto; margin-left: auto; }
}
@media (max-width: 575.98px) {
    .cce-home-training { padding: 2.5rem 0 2rem; }
    .cce-home-training__header { margin-bottom: 1.75rem; }
    .cce-home-training__cards { margin-right: -15px; margin-left: -15px; }
    .cce-home-training__card { padding: 1.5rem; }
    .cce-home-training__card h2 { font-size: 1.25rem; }
    .cce-home-training__list h6 { font-size: 1rem; }
    .cce-home-training__cta { min-height: 96px; padding: .875rem .75rem; }
    .cce-home-training::before, .cce-home-training::after { opacity: .5; }
}
@media (max-width: 359.98px) {
    .cce-home-training__card { padding: 1.125rem; }
    .cce-home-training__logo { min-height: 80px; }
}

/* The full-width card shares the organization cards' grid and surface. */
.cce-home-training__professional-content { margin-bottom: 2rem; }
.cce-home-training__professional-intro { align-self: center; }
.cce-home-training__professional-intro h2 { text-align: left; font-size: 2rem; }
.cce-home-training__professional-intro p { text-align: left; margin-bottom: 0; }
.cce-home-training__professional-courses { border-left: 1px solid #d8dade; padding-left: 2rem; }
.cce-home-training__professional-list { list-style: none; padding: 0; margin: 0; }
.cce-home-training__professional-list li + li { border-top: 1px solid #d8dade; }
.cce-home-training__professional-list h6 {
    margin: 0;
    padding: .625rem 0;
    color: #111;
    font: 600 1.125rem/1.55 "Open Sans", Arial, sans-serif;
    overflow-wrap: break-word;
}
.cce-home-training__professional-list li:first-child h6 { padding-top: 0; }
.cce-home-training__professional-list li:last-child h6 { padding-bottom: 0; }
.cce-home-training__professional .fa-certificate { flex-shrink: 0; }
@media (max-width: 991.98px) {
    .cce-home-training__professional-intro { margin-bottom: 1.5rem; }
    .cce-home-training__professional-courses { border-left: 0; padding-left: 15px; }
}
@media (max-width: 575.98px) {
    .cce-home-training__professional-intro h2 { font-size: 1.5rem; }
    .cce-home-training__professional-list h6 { font-size: 1rem; }
    .cce-home-training__professional-content { margin-bottom: 1.5rem; }
}
