/* Runtime replacements for original Elementor and Jet controls. */
.elementor-location-header .elementor-nav-menu--dropdown.coap-menu-open{display:block!important}
.elementor-location-header .menu-item-has-children.coap-sub-open>.sub-menu{display:block!important;visibility:visible!important;opacity:1!important;transform:none!important;position:static!important}
@media (min-width:1025px){.elementor-location-header .elementor-nav-menu--main .menu-item-has-children.coap-sub-open>.sub-menu{position:absolute!important}}
.elementor-main-swiper.coap-carousel-ready .swiper-wrapper{display:block!important;transform:none!important;height:auto!important}
.elementor-main-swiper.coap-carousel-ready .swiper-slide{width:100%!important;transform:none!important}
.elementor-main-swiper.coap-carousel-ready .swiper-slide[hidden]{display:none!important}
.elementor-widget-testimonial-carousel .elementor-swiper-button{cursor:pointer}
.elementor-widget-testimonial-carousel .swiper-pagination-bullet{cursor:pointer}
.coap-native-calendar{font-family:Inter,Arial,sans-serif;color:#102e50;max-width:1200px;margin-inline:auto}
.coap-calendar-tabs{display:flex;justify-content:center;gap:14px;margin:0 0 32px}
.coap-calendar-tabs button{border:0;border-radius:2px;background:#af0712;color:white;padding:13px 25px;text-transform:uppercase;font-size:15px;font-weight:600;cursor:pointer}
.coap-calendar-tabs button[aria-selected=false]{background:#1b466d}
.coap-calendar-filters{border:0;display:flex;flex-wrap:wrap;gap:18px 28px;justify-content:center;align-items:center;margin:0 auto 28px;padding:0}
.coap-calendar-filters legend{text-align:center;font-size:20px;font-weight:700;margin:0 auto 12px}
.coap-calendar-filters label{display:inline-flex;gap:8px;align-items:center;font-size:14px;cursor:pointer}
.coap-calendar-filters label span{display:inline-block;width:13px;height:13px;background:#d5b833}
.coap-calendar-filters .coap-filter-winter{background:#45aed0}.coap-calendar-filters .coap-filter-spring{background:#6ba37d}.coap-calendar-filters .coap-filter-summer{background:#a60c17}.coap-calendar-filters .coap-filter-all{background:#293b4b}
.coap-calendar-month-title{display:flex;align-items:center;justify-content:center;gap:30px;background:#102d4c;color:white;font-size:24px;padding:13px}
.coap-calendar-month-title a{color:white;text-decoration:none;font-size:30px;line-height:1}
.coap-calendar-grid{border-collapse:collapse;table-layout:fixed;width:100%;font-size:14px}
.coap-calendar-grid th{background:#244b6c;color:#fff;padding:12px;border:1px solid #ddd}
.coap-calendar-grid td{vertical-align:top;width:14.28%;height:125px;border:1px solid #d9d9d9;padding:6px;background:white}
.coap-calendar-grid td.day-pad{color:#aaa;background:#f4f4f4}
.coap-day-number{display:block;text-align:right;font-weight:600}
.coap-calendar-event{display:block;border-radius:3px;padding:5px;margin-top:5px;background:#e8f3f7;border-left:3px solid #45aed0;color:#102d4c;font-size:11px;line-height:1.25;text-decoration:none}
.coap-calendar-event[data-quarter=fall]{background:#faf5dc;border-color:#d5b833}.coap-calendar-event[data-quarter=spring]{background:#e5f0e8;border-color:#6ba37d}.coap-calendar-event[data-quarter=summer]{background:#f6e5e5;border-color:#a60c17}
.coap-calendar-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.coap-calendar-card{border:1px solid #d7ba4a;border-radius:9px;padding:18px 20px;min-height:110px;background:#fff}
.coap-calendar-card[data-quarter=winter]{border-color:#52b3d1}.coap-calendar-card[data-quarter=spring]{border-color:#79aa89}.coap-calendar-card[data-quarter=summer]{border-color:#a60c17}
.coap-calendar-card time{display:block;font-size:13px;color:#444}.coap-calendar-card h3{font-size:18px;line-height:1.2;margin:8px 0 0;color:#192a39}
.coap-original-calendar-section{padding:45px 30px 90px;background:#fff}.coap-original-calendar-inner{max-width:1200px;margin:auto}
.coap-native-calendar.is-compact .coap-calendar-filters{display:none}.coap-native-calendar.is-compact .coap-calendar-month{display:none}.coap-native-calendar.is-compact .coap-calendar-card:nth-child(n+4){display:none}
.jet-listing-grid__item.coap-event-fall .elementor-element-c1706ca{border-color:#d7b638}.jet-listing-grid__item.coap-event-winter .elementor-element-c1706ca{border-color:#49b4d3}.jet-listing-grid__item.coap-event-spring .elementor-element-c1706ca{border-color:#6ba37d}
[data-quarter][hidden],[data-calendar-panel][hidden]{display:none!important}
.coap-original-form-section{max-width:1100px;margin:80px auto;padding:38px 28px;border-top:1px solid #ddd}
.coap-original-form-section h2{text-align:center;color:#b20b17}
@media(max-width:767px){.coap-calendar-month{display:none}.coap-calendar-list{display:grid!important;grid-template-columns:1fr;gap:12px}.coap-calendar-tabs{display:none}.coap-calendar-filters{justify-content:flex-start}.coap-original-calendar-section{padding:30px 18px 65px}.coap-native-calendar.is-compact .coap-calendar-card:nth-child(n+4){display:block}.elementor-location-header .elementor-nav-menu--dropdown:not(.coap-menu-open){display:none!important}}

.coap-calendar-month-filter{display:flex;align-items:center;gap:16px;justify-content:center;margin:0 0 26px;font-size:16px;color:#222}.coap-calendar-month-filter input{font:inherit;padding:8px;border:1px solid #ddd}
@media(max-width:767px){.coap-calendar-month-filter{display:block;text-align:left;margin:20px 0}.coap-calendar-month-filter input{display:block;margin-top:10px;width:100%;max-width:250px}.coap-calendar-filters{display:grid;grid-template-columns:1fr 1fr;gap:16px}.coap-calendar-filters legend{text-align:left;margin:0 0 15px}.coap-calendar-card{min-height:90px}.coap-calendar-card h3{font-size:17px}}
/* The child theme zeroed the last paragraph's margin; Hello Elementor keeps 0.9em. */
.elementor p:last-child{margin-bottom:.9em}
/* Calendar proportions and filters follow the original desktop and phone layouts. */
.coap-original-calendar-inner,.coap-native-calendar{max-width:1076px}
.coap-original-calendar-section{padding-top:32px;padding-bottom:64px}
.coap-calendar-tabs{margin-bottom:20px}
.coap-calendar-tabs button[aria-selected=false]{background:#666}
.coap-calendar-filters{justify-content:space-between;margin-bottom:14px;gap:12px}
.coap-calendar-filters legend{width:100%;text-align:left;font-size:14px;font-weight:400;margin:0 0 8px;color:#222}
.coap-calendar-filters label{font-size:16px;font-weight:400;gap:5px}
.coap-calendar-filters label:has(input[value=all]){display:none}
.coap-calendar-filters input{position:absolute;opacity:0;width:1px;height:1px}
.coap-calendar-filters input:focus-visible+span{outline:2px solid #102d4c;outline-offset:3px}
.coap-calendar-filters label:has(input[value=fall]){order:1}
.coap-calendar-filters label:has(input[value=spring]){order:2}
.coap-calendar-filters label:has(input[value=summer]){order:3}
.coap-calendar-filters label:has(input[value=winter]){order:4}
.coap-calendar-filters .coap-filter-summer{background:#292929}
.coap-calendar-month-filter{justify-content:flex-start;margin-bottom:12px;font-size:14px}
.coap-calendar-month-filter input{border:0;padding:0;max-width:160px}
.coap-calendar-month-title{background:#fff;color:#222;justify-content:flex-end;gap:24px;font-size:14px;padding:0 0 8px;height:30px}
.coap-calendar-month-title strong{order:-1;margin-right:auto;text-decoration:underline}
.coap-calendar-month-title a{color:#333;font-size:20px}
.coap-calendar-grid th{background:#fff;color:#222;border:1px solid #bcbcbc;padding:11px}
.coap-calendar-grid td{height:160px;border-color:#bcbcbc;background:#fff}
.coap-calendar-grid td.day-pad{background:#fff;color:#777}
.coap-day-number{font-weight:400;color:#333}
@media(max-width:767px){
  .coap-original-calendar-section{padding:30px 28px 60px}
  .coap-calendar-filters{display:flex;flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:34px}
  .coap-calendar-filters legend{margin-bottom:8px}
  .coap-calendar-filters label{font-size:16px}
  .coap-calendar-filters label:has(input[value=fall]){order:1}
  .coap-calendar-filters label:has(input[value=winter]){order:2}
  .coap-calendar-filters label:has(input[value=spring]){order:3}
  .coap-calendar-filters label:has(input[value=summer]){order:4}
  .coap-calendar-month-filter{margin-bottom:32px}
  .coap-calendar-card{min-height:86px;padding:15px 16px}
  .coap-calendar-card h3{font-weight:700}
}
@media(min-width:768px){.coap-calendar-month-filter{margin-bottom:34px}.coap-original-calendar-section{padding-bottom:71px}}
@media(max-width:767px){.coap-original-calendar-section{padding:30px 22px 32px}.coap-calendar-month-filter{margin-bottom:81px}.coap-calendar-list{gap:0}.coap-calendar-card{padding:27px 16px;min-height:108px}}
@media(max-width:767px){.coap-calendar-card h3{font-size:18px}}
@media(max-width:767px){.coap-original-calendar-section{padding-bottom:40px}}
@media(max-width:1024px){
  .elementor-location-header .elementor-nav-menu--dropdown.coap-menu-open{position:fixed!important;left:0!important;width:100vw!important;height:auto!important;max-height:calc(100vh - 180px)!important;overflow-y:auto!important;z-index:99999!important;background:#fff;box-shadow:0 8px 15px #0003}
  .elementor-location-header .elementor-nav-menu--dropdown.coap-menu-open>.elementor-nav-menu{display:block!important}
}
@media(max-width:1024px){.elementor-location-header .elementor-nav-menu--dropdown.coap-menu-open{transform:none!important}}
/* Preserve the original Elementor heading wrapping in narrow split banners. */
.elementor .elementor-heading-title{overflow-wrap:normal}
/* Restore native Elementor list indentation and bullets inside captured page sections. */
main .elementor ul:not([class]){padding-left:40px;list-style:disc;margin:0}
main .elementor ul:not([class]) ul:not([class]){padding-left:40px;list-style:circle;margin:0}
main .elementor ul:not([class])>li{position:static;padding-left:0;margin-top:0}
main .elementor ul:not([class])>li+li{margin-top:0}
main .elementor ul:not([class])>li::before{display:none}
/* Native upcoming cards use Jet's original outer padding and width. */
.elementor-8 .elementor-element-1517c08 .jet-listing-grid__items{width:1012px;max-width:100%;margin:-16px auto 20px}
.elementor-8 .elementor-element-1517c08 .jet-listing-grid__item{padding:16px}
@media(max-width:767px){.elementor-8 .elementor-element-1517c08 .jet-listing-grid__items{width:auto;margin:0 auto 20px}}
.elementor-8 .elementor-element-1517c08 .jet-listing-grid__items{width:calc(100% + 32px);max-width:none;margin-left:-16px;margin-right:-16px}
@media(max-width:767px){.elementor-8 .elementor-element-1517c08 .jet-listing-grid__items{width:calc(100% + 32px);max-width:none;margin-left:-16px;margin-right:-16px}}
@media(max-width:767px){.elementor-8 .elementor-element-1517c08 .jet-listing-grid__items{margin-top:22px}}
.coap-month-input-wrap{position:relative;display:inline-flex;align-items:center;min-width:160px}
.coap-month-placeholder{position:absolute;left:2px;top:50%;transform:translateY(-50%);pointer-events:none;color:#555;background:#eee;font-size:14px;padding:4px 7px}
.coap-calendar-month-filter input{color:transparent;position:relative;z-index:1;background:transparent;min-width:160px;height:30px}
.coap-calendar-month-filter input:focus{color:#222}
.coap-calendar-card{border-width:2px;border-radius:12px}
.coap-calendar-card h3{color:#171717}
.coap-calendar-card time{color:#555}
@media(max-width:767px){.coap-calendar-month-filter{font-weight:400}.coap-calendar-card{border-radius:12px}}
@media(min-width:768px){.coap-original-calendar-section{padding-bottom:60px}}
@media(max-width:767px){.coap-original-calendar-section{padding-bottom:32px}}
/* The original kit uses natural letter spacing and wrapping; the child theme adds both globally. */
.elementor :is(h1,h2,h3,h4,h5,h6,p){letter-spacing:normal;text-wrap:wrap}
@media(max-width:767px){.elementor-8 .elementor-element-1517c08 .jet-listing-grid__items{margin-top:-16px}}
/* The original mobile calendar has a 10px outer card gutter and a narrow inner stroke. */
@media(max-width:767px){
  .coap-original-calendar-section{padding-top:66px;padding-bottom:34px}
  .coap-calendar-filters{gap:21px;margin:0 10px 26px}
  .coap-calendar-month-filter{margin:0 10px 30px}
  .coap-month-input-wrap{display:flex;margin-top:14px}
  .coap-calendar-card{position:relative;border:0;border-radius:0;padding:27px 27px 27px 31px;min-height:108px;--card-color:#d5b833}
  .coap-calendar-card::before{content:"";position:absolute;inset:10px;border:1px solid var(--card-color);border-left-width:4px;border-radius:12px;pointer-events:none}
  .coap-calendar-card[data-quarter=winter]{--card-color:#52b3d1}
  .coap-calendar-card[data-quarter=spring]{--card-color:#79aa89}
  .coap-calendar-card[data-quarter=summer]{--card-color:#292929}
  .coap-calendar-card h3{font-size:17.6px;line-height:1;margin:16px 0 0;color:#111}
  .coap-calendar-month-filter input::-webkit-calendar-picker-indicator{opacity:0}
}

/* The original header stays in view after scrolling. Sticky positioning retains its flow height. */
.elementor-location-header{position:sticky;top:0;z-index:1000}
.elementor-location-header .elementor-menu-toggle[aria-expanded="true"] .elementor-menu-toggle__icon--open{display:none!important}
.elementor-location-header .elementor-menu-toggle[aria-expanded="true"] .elementor-menu-toggle__icon--close{display:block!important}
@media(max-width:1024px){
  .elementor-location-header .elementor-nav-menu--dropdown.coap-menu-open{border-radius:28px!important;margin-top:0!important}
}
@media(min-width:1025px){
  .elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
  .elementor-location-header .elementor-nav-menu--main .elementor-item:focus-visible{color:#a90912!important}
}

/* Two visible testimonials on wide screens, one on phones. */
.elementor-main-swiper.coap-carousel-ready .swiper-wrapper{display:flex!important;gap:10px}
.elementor-main-swiper.coap-carousel-ready .swiper-slide{flex:0 0 calc((100% - 10px)/2);width:calc((100% - 10px)/2)!important}
@media(max-width:767px){.elementor-main-swiper.coap-carousel-ready .swiper-slide{flex-basis:100%;width:100%!important}}

/* Preserve the compact registration page until a visitor activates a registration CTA. */
.elementor-151 .coap-original-form-section{display:none}
.coap-register-open .elementor-151 .coap-original-form-section{display:block}
.elementor-151 .coap-original-form-section:target h2:focus{outline:2px solid #102d4c;outline-offset:5px}

/* Anonymous instructor sign-in uses the same site header and footer as the original gate. */
.coap-instructor-gate{min-height:242px;padding:62px 20px 50px;background:#fff;color:#242424}
.coap-instructor-gate__inner{max-width:500px;margin:auto}
.coap-instructor-gate p{margin:0 0 15px;line-height:1.5}
.coap-instructor-gate .login-username,.coap-instructor-gate .login-password{margin:0 0 12px}
.coap-instructor-gate label{display:block;font-weight:600}
.coap-instructor-gate input[type="text"],.coap-instructor-gate input[type="password"]{width:100%;padding:8px;border:1px solid #666;border-radius:3px}
.coap-instructor-gate input[type="submit"]{background:#a90912;color:#fff;border:0;border-radius:9px;padding:11px 20px;font-weight:700;cursor:pointer}

/* Calendar filter spacing follows the original desktop and mobile states. */
.coap-calendar-filters{border:0!important}
@media(min-width:768px){
  .coap-calendar-tabs{margin-bottom:50px}
  .coap-calendar-month-filter{margin-bottom:23px}
  .coap-calendar-month-filter .coap-month-placeholder{display:none}
  .coap-calendar-month-filter input{opacity:0}
  .coap-calendar-month-filter:focus-within input{opacity:1}
  .coap-original-calendar-section{padding-bottom:41px}
}
@media(max-width:767px){
  .coap-original-calendar-section{padding-top:39px}
  .coap-calendar-filters{gap:27px;margin-bottom:26px}
  .coap-calendar-filters legend{border:0;margin-bottom:15px}
  .coap-calendar-month-filter{margin-bottom:30px}
}

/* Lay out the approved instructor Gravity Form with the original application's field rhythm. */
.elementor-3178 #gform_2 .gform_fields{row-gap:14px;column-gap:10px}
.elementor-3178 #gform_2 .gsection{margin:12px 0 0;padding:0 0 8px;border-bottom:1px solid #e5e5e5}
.elementor-3178 #gform_2 .gsection_title{font-size:16px;font-weight:700;text-transform:uppercase;line-height:1.3;margin:0}
.elementor-3178 #gform_2 .gfield_label{font-size:16px;font-weight:400;margin-bottom:8px}
.elementor-3178 #gform_2 .gfield_required{color:#a90912}
.elementor-3178 #gform_2 textarea{height:165px;min-height:165px;resize:vertical}
@media(max-width:767px){.elementor-3178 #gform_2 .gform_fields{row-gap:14.5px}}
@media(min-width:768px){
  .elementor-3178 #gform_2 :is(#field_2_2,#field_2_3,#field_2_8,#field_2_9,#field_2_18,#field_2_19,#field_2_20,#field_2_21,#field_2_33,#field_2_34,#field_2_35,#field_2_36,#field_2_37,#field_2_38,#field_2_46,#field_2_47,#field_2_48,#field_2_49,#field_2_50,#field_2_51,#field_2_59,#field_2_60,#field_2_61,#field_2_62,#field_2_64,#field_2_65,#field_2_67,#field_2_68,#field_2_69,#field_2_70,#field_2_72,#field_2_73,#field_2_75,#field_2_76,#field_2_77,#field_2_78,#field_2_80,#field_2_81){grid-column:span 6}
  .elementor-3178 #gform_2 :is(#field_2_5,#field_2_6,#field_2_7,#field_2_14,#field_2_15,#field_2_16,#field_2_22,#field_2_23,#field_2_24,#field_2_29,#field_2_30,#field_2_31,#field_2_42,#field_2_43,#field_2_44){grid-column:span 4}
}

/* Year 1's three course headings and career cards inherit extra theme margins. */
.elementor-143 .elementor-element-e160574 > .e-con > .elementor-widget-text-editor:first-child p{margin-bottom:14.4px!important}
.elementor-143 .elementor-element-04e032b .elementor-widget-icon-box p{margin-bottom:0!important}
@media(min-width:768px){.elementor-143 .elementor-main-swiper.coap-carousel-ready .swiper-wrapper{min-height:255px}}
.elementor-145 :is(.elementor-element-df83efc,.elementor-element-e63ba57,.elementor-element-f4b3971) p,
.elementor-147 :is(.elementor-element-c91c33c,.elementor-element-8b8e007,.elementor-element-f639924) p,
.elementor-149 :is(.elementor-element-6c37181,.elementor-element-da16d3b,.elementor-element-370ca93) p{margin-bottom:14.4px!important}
.elementor-145 .elementor-element-f09c286 .elementor-widget-icon-box p,
.elementor-147 .elementor-element-2fef15c .elementor-widget-icon-box p,
.elementor-149 .elementor-element-206af7a .elementor-widget-icon-box p{margin-bottom:0!important}
.elementor-149 .elementor-element-3835400 p[data-start="3784"][data-end="3819"]{margin-bottom:0!important}
@media(max-width:767px){
  .elementor-143 .elementor-main-swiper.coap-carousel-ready .swiper-wrapper{min-height:335px}
  .elementor-143 .elementor-element-c90e9be .no-margin p,
  .elementor-145 .elementor-element-ad3e2a9 .no-margin p,
  .elementor-147 .elementor-element-b4f3070 .no-margin p{margin-bottom:0!important}
  .elementor-143 .elementor-element-080c270,
  .elementor-147 .elementor-element-527da32,
  .elementor-149 .elementor-element-071fe61{min-height:422px}
  .elementor-145 .elementor-element-13190b5{min-height:442px}
}

/* Keep the live list's filter and month controls on the original desktop row. */
@media(min-width:768px){
  .coap-native-calendar:not(.is-compact){display:grid;grid-template-columns:70% 30%}
  .coap-native-calendar:not(.is-compact) .coap-calendar-tabs,
  .coap-native-calendar:not(.is-compact) [data-calendar-panel]{grid-column:1/-1}
  .coap-native-calendar:not(.is-compact) .coap-calendar-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:12px 0;margin:0 0 49px}
  .coap-native-calendar:not(.is-compact) .coap-calendar-filters legend{grid-column:1/-1;margin:0;border:0!important}
  .coap-native-calendar:not(.is-compact) .coap-calendar-filters label:has(input[value=fall]){grid-column:1;grid-row:2}
  .coap-native-calendar:not(.is-compact) .coap-calendar-filters label:has(input[value=winter]){grid-column:2;grid-row:2}
  .coap-native-calendar:not(.is-compact) .coap-calendar-filters label:has(input[value=spring]){grid-column:3;grid-row:2}
  .coap-native-calendar:not(.is-compact) .coap-calendar-filters label:has(input[value=summer]){grid-column:4;grid-row:2}
  .coap-native-calendar:not(.is-compact) .coap-calendar-month-filter{display:block;margin:0 0 49px;padding-left:10px;font-weight:400}
  .coap-native-calendar:not(.is-compact) .coap-month-input-wrap{display:block;margin-top:15px}
  .coap-native-calendar:not(.is-compact) .coap-month-placeholder{display:inline-block}
  .coap-original-calendar-section:has(.coap-native-calendar:not(.is-compact)){padding-bottom:51px}
  .coap-native-calendar:not(.is-compact) .coap-calendar-card{border-width:1px;border-left-width:5px;border-radius:15px;min-height:110px}
  .coap-native-calendar:not(.is-compact) .coap-calendar-card h3{font-size:20px;font-weight:700;line-height:1.05;color:#171717}
}

/* COAP phone overflow correction 20261006: scoped to archived resource pages. */
@media (max-width: 767px) {
 .elementor-1661 .elementor-element.elementor-element-652655d { --padding-left: 16px; --padding-right: 16px; }
 .elementor-1671 .elementor-element.elementor-element-21f200b { --margin-left: 16px; --margin-right: 16px; --width: calc(100% - 32px); width: calc(100% - 32px); max-width: calc(100% - 32px); }
 .elementor-1671 .elementor-element.elementor-element-0fcf760 { --e-con-grid-template-columns: minmax(0, 1fr); overflow-wrap: anywhere; }
 .elementor-705 h1.elementor-heading-title,
 .elementor-1671 .elementor-heading-title { overflow-wrap: anywhere; }
}

/* Keyboard navigation and narrow-phone heading correction. */
.elementor-location-header .elementor-nav-menu a:focus-visible{outline:2px solid currentColor!important;outline-offset:-3px!important;transition:none!important}
.elementor-location-header .elementor-menu-toggle:focus-visible{outline:2px solid #a90912!important;outline-offset:3px!important}
@media(max-width:360px){.elementor-8 .elementor-element.elementor-element-8d8d4cc .elementor-heading-title{overflow-wrap:anywhere;}}

/* Restore authored balanced text after the archived-layout typography reset. */
.elementor .text-balance:is(h1,h2,h3,h4,h5,h6,p),
.elementor .text-balance :is(h1,h2,h3,h4,h5,h6,p){text-wrap:balance}

/* Preserve whole words on the narrowed phone resource layouts. */
@media(max-width:767px){
 .elementor-1671 .elementor-element.elementor-element-0fcf760{--width:100%;width:100%;--padding-left:0px;--padding-right:0px}
 .elementor-1671 .elementor-heading-title,.elementor-705 h1.elementor-heading-title{overflow-wrap:normal}
 .elementor-1671 .elementor-element.elementor-element-0fcf760 .elementor-heading-title{font-size:clamp(34px,calc(12vw - 3.6px),43.2px)}
}
@media(max-width:360px){.elementor-1671 .elementor-element.elementor-element-df224ec{--padding-left:0px;--padding-right:0px}}

/* Keep native LMS course-status tabs within narrow account screens. */
@media(max-width:767px){.coap-lms-content .masterstudy-enrolled-courses-tabs__blocks{flex-wrap:wrap;row-gap:12px}}

/* Original curriculum and resource visual parity corrections. */
/* Preserve original icon-list intrinsic widths and word boundaries. */
main .elementor .elementor-icon-list-item,
main .elementor .elementor-icon-list-item *{overflow-wrap:normal}
/* Preserve the original accreditation value-list word boundaries. */
.elementor-157 .elementor-widget-text-editor li,
.elementor-157 .elementor-widget-text-editor li *{overflow-wrap:normal}
/* The dual page reuses Year1 card widgets; preserve their original margins. */
.elementor-1049 .elementor-element-e160574 > .e-con > .elementor-widget-text-editor:first-child p{margin-bottom:14.4px!important}
.elementor-1049 .elementor-element-04e032b .elementor-widget-icon-box p{margin-bottom:0!important}
/* Original scholarship paragraph margins do not scale with title font size. */
.elementor-153 .elementor-widget-text-editor p:last-child{margin-bottom:14.4px}
/* The slash break is needed only below the original heading's safe width. */
.elementor-705 h1.elementor-heading-title wbr{display:none}
@media(max-width:361px){.elementor-705 h1.elementor-heading-title wbr{display:inline}}
/* Preserve authored circles/checks instead of flex-compressing their glyphs. */
main .elementor .elementor-icon-list-icon,
main .elementor .elementor-icon-list-icon svg{flex-shrink:0}

/* Honor the original authored no-margin paragraphs. */
.elementor .no-margin p{margin-bottom:0}

/* Accessible text links and minimum contact/date-picker control targets. */
/* Accessible contact links without changing visible typography. */
.elementor-location-footer .elementor-icon-list-item a[href^="tel:"],
.elementor-location-footer .elementor-icon-list-item a[href^="mailto:"]{min-height:24px}
/* Preserve datepicker icon artwork with a usable control target. */
.gform_wrapper .gform-datepicker-toggle{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important}
/* Distinguish links in form instructions beyond color alone. */
.gform_wrapper .gfield_html a{text-decoration:underline!important;text-underline-offset:2px}

/* Keep the required-material notice red with sufficient text contrast. */
.elementor-1671 .elementor-widget-text-editor span[style*="color: #ff0000"],
.elementor-1671 .elementor-widget-text-editor span[style*="color:#ff0000"]{color:#a90912!important}
/* Identify body-text links by more than color. */
main .elementor-widget-text-editor p a{text-decoration:underline!important;text-underline-offset:2px}

/* FAQ icons retain the original size when a question wraps on phones. */
main .elementor .e-n-accordion-item-title-icon,
main .elementor .e-n-accordion-item-title-icon svg{flex-shrink:0}

/* Keep the native month segments clear when keyboard users edit the filter. */
.coap-month-input-wrap:focus-within .coap-month-placeholder{visibility:hidden}
.coap-month-input-wrap:focus-within{outline:2px solid #b8000a;outline-offset:2px}

/* Contain the CEU heading entrance motion within its original banner. */
.elementor-1661 .elementor-element-600d943{overflow-x:clip}

/* Identify upcoming-event cards when keyboard users move into the list. */
.elementor-1267 a.elementor-element-c1706ca:focus-visible{outline:3px solid #a30c10!important;outline-offset:3px!important}

/* Contain registration entrance motion within its original information section. */
.elementor-151 .elementor-element-ecb2f83{overflow-x:clip}

/* Contain scholarship entrance motion within its original sections. */
.elementor-153 .elementor-element-6e2d1b1,.elementor-153 .elementor-element-55a3710{overflow-x:clip}

/* Contain original entrance motion in the affected hero and course sections. */
.elementor-8 .elementor-element-689682d,.elementor-143 .elementor-element-253a48a,.elementor-143 .elementor-element-71a6d7a,.elementor-145 .elementor-element-4e233b8,.elementor-145 .elementor-element-0d9a87a,.elementor-147 .elementor-element-467eafa,.elementor-147 .elementor-element-fafeaf7,.elementor-149 .elementor-element-6c94b02,.elementor-149 .elementor-element-3835400,.elementor-1049 .elementor-element-253a48a,.elementor-1049 .elementor-element-71a6d7a,.elementor-157 .elementor-element-a289042{overflow-x:clip}

/* Keep the original CEU heading above the decorative photo overlay. */
.elementor-1661 .elementor-element-3517e03{position:relative;z-index:2}

/* Match live's colored season boxes and visible checked state. */
.coap-calendar-filters input+span{position:relative;background:#CCB33E}
.coap-calendar-filters input+span.coap-filter-winter{background:#4EA7C1}
.coap-calendar-filters input+span.coap-filter-spring{background:#6A9E7D}
.coap-calendar-filters input+span.coap-filter-summer{background:#2E2E2E}
.coap-calendar-filters input:checked+span::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}
.coap-calendar-list>[data-calendar-filter-empty]{grid-column:1/-1}
.coap-calendar-empty[hidden]{display:none!important}
.coap-month-input-wrap:has(input[value]:not([value=""])) .coap-month-placeholder{display:none}
.coap-calendar-month-filter input[value]:not([value=""]){color:#222}

/* Keep the inherited month picker visible when it is not focused. */
.coap-calendar-month-filter input{opacity:1}
.coap-calendar-month-filter .coap-month-placeholder{display:inline-block}
.coap-calendar-month-filter .coap-month-input-wrap:has(input[value]:not([value=""])) .coap-month-placeholder{display:none}
.coap-calendar-filters input+span{border-radius:2px}

/* Month selection belongs with the view controls, above the season filters. */
.coap-native-calendar:not(.is-compact){display:block}
.coap-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 16px;margin:0 0 24px;background:#f5f7f9;border:1px solid #e2e7ec;border-radius:8px}
.coap-calendar-toolbar .coap-calendar-tabs{margin:0;gap:8px;justify-content:flex-start}
.coap-calendar-toolbar .coap-calendar-tabs button{padding:11px 16px;font-size:13px;border-radius:4px;min-height:44px}
.coap-calendar-month-control{display:flex;align-items:center;gap:12px}
.coap-native-calendar:not(.is-compact) .coap-calendar-toolbar .coap-calendar-month-filter{display:flex;align-items:center;gap:10px;margin:0;padding:0;color:#263b4e;font-size:14px;font-weight:600}
.coap-calendar-toolbar .coap-calendar-month-filter input{position:static;opacity:1;color:#263b4e;background:#fff;border:1px solid #b8c4cf;border-radius:5px;padding:8px 10px;width:180px;min-width:0;max-width:none;height:44px;margin:0;font-size:14px;font-weight:400}
.coap-calendar-toolbar .coap-calendar-month-filter input::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer}
.coap-calendar-month-clear{border:0;background:transparent;color:#a90913;padding:8px 0;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px}
.coap-calendar-month-clear[hidden]{display:none!important}
.coap-calendar-toolbar :is(input,button):focus-visible{outline:2px solid #a90913;outline-offset:3px}
.coap-native-calendar:not(.is-compact) .coap-calendar-filters{margin:0 0 24px;padding:0 4px;justify-content:flex-start;gap:18px 40px}
@media(max-width:767px){
 .coap-calendar-toolbar{padding:12px;margin-bottom:24px;gap:12px}
 .coap-calendar-toolbar .coap-calendar-tabs{display:none}
 .coap-calendar-month-control{width:100%;gap:10px}
 .coap-native-calendar:not(.is-compact) .coap-calendar-toolbar .coap-calendar-month-filter{flex:1;justify-content:space-between;gap:10px}
 .coap-calendar-toolbar .coap-calendar-month-filter input{width:170px;min-width:0;flex:1;max-width:190px}
 .coap-native-calendar:not(.is-compact) .coap-calendar-filters{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin-bottom:28px}
 .coap-native-calendar:not(.is-compact) .coap-calendar-filters legend{margin-bottom:14px}
}
@media(min-width:768px) and (max-width:900px){.coap-calendar-toolbar{gap:12px;padding:12px}.coap-calendar-toolbar .coap-calendar-tabs button{padding:11px 12px}.coap-calendar-toolbar .coap-calendar-month-filter input{width:160px}}
.coap-calendar-toolbar .coap-calendar-month-clear{background:transparent!important;color:#a90913!important;border:0!important;border-radius:4px!important;padding:8px 4px!important;font-size:14px!important;font-weight:500!important;line-height:1.3;flex:none;box-shadow:none}
.coap-calendar-toolbar .coap-calendar-month-clear:hover{background:#f0e5e6!important}
.coap-calendar-toolbar .coap-calendar-tabs button{background:#b8000a!important;color:#fff!important}
.coap-calendar-toolbar .coap-calendar-tabs button[aria-selected=false]{background:#626262!important}
@media(max-width:767px){.coap-calendar-month-control,.coap-calendar-toolbar .coap-calendar-month-filter{min-width:0}.coap-calendar-toolbar .coap-calendar-month-filter input{width:0}}

.coap-calendar-toolbar .coap-month-field{position:relative;display:block;width:180px;min-width:0;flex:1}
.coap-calendar-toolbar .coap-calendar-month-filter .coap-month-field input{width:100%;box-sizing:border-box}
.coap-month-hint{position:absolute;left:11px;right:36px;top:50%;transform:translateY(-50%);z-index:2;pointer-events:none;color:#586b7a;font-size:14px;font-weight:400;white-space:nowrap;overflow:hidden}
.coap-month-field:has(input:not([value=""])) .coap-month-hint,.coap-month-field:focus-within .coap-month-hint{display:none}
.coap-calendar-toolbar .coap-month-field input[value=""]{color:transparent}
.coap-calendar-toolbar .coap-month-field input:focus{color:#263b4e}
@media(max-width:767px){.coap-calendar-toolbar .coap-month-field{width:0;max-width:190px}}
@media(min-width:768px) and (max-width:900px){.coap-calendar-toolbar .coap-month-field{width:160px}}

/* A single compact control panel, with icon views and season chips. */
.coap-calendar-controls{background:#f7f9fb;border:1px solid #e2e7ec;border-radius:10px;margin:0 0 24px;overflow:visible}
.coap-calendar-controls .coap-calendar-toolbar{border:0;border-radius:0;background:transparent;margin:0;padding:12px 14px}
.coap-calendar-controls .coap-calendar-tabs{gap:4px;background:#e9edf2;padding:3px;border-radius:7px}
.coap-calendar-controls .coap-calendar-tabs button{display:inline-flex;align-items:center;justify-content:center;width:42px;min-height:40px;height:40px;padding:0!important;border-radius:5px;border:0;transition:background .15s,color .15s}
.coap-calendar-controls .coap-calendar-tabs button[aria-selected=false]{background:transparent!important;color:#526476!important}
.coap-calendar-controls .coap-calendar-tabs button[aria-selected=false]:hover{background:#dce3ea!important;color:#263b4e!important}
.coap-calendar-controls .coap-calendar-tabs svg{display:block;width:20px;height:20px;flex-shrink:0}
.coap-native-calendar:not(.is-compact) .coap-calendar-controls .coap-calendar-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;margin:0;padding:12px 14px;border-top:1px solid #e2e7ec!important}
.coap-calendar-controls .coap-calendar-filters legend{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.coap-calendar-controls .coap-calendar-filters label{display:inline-flex;gap:8px;align-items:center;justify-content:center;grid-column:auto!important;grid-row:auto!important;order:0!important;min-height:38px;padding:7px 13px;border:1px solid #dce3ea;border-radius:6px;background:#fff;color:#465a6d;font-size:14px;line-height:1.2;transition:background .15s,border-color .15s}
.coap-calendar-controls .coap-calendar-filters label:has(input[value=all]){display:none}
.coap-calendar-controls .coap-calendar-filters label:hover{background:#edf2f6;border-color:#b7c5d1}
.coap-calendar-controls .coap-calendar-filters label:has(input:checked){background:#eaf0f5;border-color:#8398ac;color:#20364b}
.coap-calendar-controls .coap-calendar-filters label:focus-within{outline:2px solid #a90913;outline-offset:2px}
.coap-calendar-controls .coap-calendar-filters input+span{width:13px;height:13px;flex:none}
@media(max-width:767px){
 .coap-calendar-controls .coap-calendar-toolbar{padding:12px}
 .coap-native-calendar:not(.is-compact) .coap-calendar-controls .coap-calendar-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}
 .coap-calendar-controls .coap-calendar-filters label{min-width:0;justify-content:flex-start;padding:9px 12px}
}
@media(prefers-reduced-motion:reduce){.coap-calendar-controls :is(button,label){transition:none}}
.coap-calendar-card h3 a { color: inherit; text-decoration: none; }
.coap-calendar-card h3 a:hover { color: var(--cb-accent); text-decoration: underline; }
.coap-calendar-card { position: relative; }
.coap-calendar-card h3 a::after { content: ""; position: absolute; inset: 0; }
