/* Shared visual system for public pages and all role portals. */
.academy-ui {
  --red:#4e9138;
  --dark:#26343b;
  --gray:#f6f8f5;
  --text:#536068;
  --border:#e2e8df;
  --radius:7px;
  --radius-sm:5px;
  --shadow-sm:0 2px 8px #173a1105;
  --shadow:0 6px 24px #173a1108;
  --shadow-lg:0 12px 32px #173a1110;
  --bs-primary:#4e9138;
  --bs-primary-rgb:78,145,56;
  --bs-link-color:#477b36;
  --bs-link-hover-color:#315c23;
  font-family:Arial,Helvetica,sans-serif;
  background:#fff;
  color:var(--text);
  line-height:1.65
}
.academy-ui h1,.academy-ui h2,.academy-ui h3,.academy-ui h4,.academy-ui h5 {
  color:#26343b;
  letter-spacing:-.025em
}
.academy-ui h1 {
  font-weight:300
}
.academy-ui h2 {
  font-weight:400
}
.academy-ui a {
  color:#477b36
}
.academy-ui .text-danger,.academy-ui .text-primary {
  color:#477b36!important
}
.academy-ui .border-danger {
  border-color:#94c77c!important
}
.academy-ui .bg-danger,.academy-ui .bg-primary {
  background-color:#4e9138!important
}
.academy-ui .bg-light {
  background-color:#f6f8f5!important
}
.academy-ui .btn {
  font-family:inherit;
  font-size:13px;
  font-weight:600;
  border-radius:24px;
  padding:10px 21px;
  background:none;
  box-shadow:none;
  line-height:1.45;
  transition:background .18s,transform .18s
}
.academy-ui .btn-sm {
  font-size:12px;
  padding:7px 14px
}
.academy-ui .btn-lg {
  font-size:14px;
  padding:12px 24px
}
.academy-ui .btn-danger,.academy-ui .btn-primary,.academy-ui .btn-success {
  background:#65bd45!important;
  color:#16311c!important;
  border:1px solid #65bd45!important
}
.academy-ui .btn-danger:hover,.academy-ui .btn-primary:hover,.academy-ui .btn-success:hover {
  background:#4c9c33!important;
  color:#fff!important
}
.academy-ui .btn-outline-danger,.academy-ui .btn-outline-primary,.academy-ui .btn-outline-success {
  background:transparent!important;
  border:1px solid #7dbb61!important;
  color:#365e2c!important
}
.academy-ui .btn-outline-danger:hover,.academy-ui .btn-outline-primary:hover,.academy-ui .btn-outline-success:hover {
  background:#eff8e9!important
}
.academy-ui .btn-secondary,.academy-ui .btn-dark {
  background:#213e54;
  color:#fff;
  border:1px solid #213e54
}
.academy-ui .btn-outline-secondary {
  color:#536068;
  background:#fff;
  border:1px solid #cfd8cb
}
.academy-ui .btn-warning {
  background:#fff0c9;
  color:#705513;
  border:1px solid #e9d294
}
.academy-ui .btn-info {
  background:#e8f2f7;
  color:#285d78;
  border:1px solid #b7d4e3
}
.academy-ui .btn:disabled {
  opacity:.6
}
.academy-ui .btn-close {
  background-color:transparent
}
.academy-ui .card {
  border-radius:7px;
  box-shadow:none;
  border:1px solid #e1e7dd!important;
  background:#fff;
  padding:0
}
.academy-ui .card.shadow,.academy-ui .card.shadow-sm {
  box-shadow:0 4px 20px #173a1105!important
}
.academy-ui .card:hover {
  transform:none
}
.academy-ui .card-body {
  padding:24px
}
.academy-ui .card-header {
  padding:18px 24px;
  border-bottom:1px solid #e6ebe2;
  background:#fafbf9
}
.academy-ui .card-footer {
  padding:15px 24px;
  background:#fafbf9;
  border-top:1px solid #e6ebe2
}
.academy-ui .card p {
  max-height:none;
  overflow:visible
}
.academy-ui .card-img-top {
  border-radius:6px 6px 0 0
}
.academy-ui .badge {
  border-radius:4px;
  font-weight:600;
  letter-spacing:.01em;
  padding:5px 8px
}
.academy-ui .badge.bg-danger,.academy-ui .badge.bg-primary,.academy-ui .badge.bg-success {
  background:#edf6e7!important;
  color:#477b36!important
}
.academy-ui .badge.bg-secondary {
  background:#edf0ed!important;
  color:#626e64
}
.academy-ui .badge.bg-warning {
  background:#fff2d3!important;
  color:#775a1b!important
}
.academy-ui .form-control,.academy-ui .form-select {
  border:1px solid #d8e1d3;
  border-radius:5px;
  padding:11px 13px;
  background-color:#fff;
  color:#334238;
  font-size:14px;
  box-shadow:none;
  line-height:1.6
}
.academy-ui .form-control:focus,.academy-ui .form-select:focus {
  border-color:#75ae59;
  box-shadow:0 0 0 3px #74ad591a
}
.academy-ui .form-control-sm,.academy-ui .form-select-sm {
  font-size:12px;
  padding:7px 10px
}
.academy-ui .form-label {
  font-size:12px;
  color:#435348;
  font-weight:600
}
.academy-ui .form-check-input:checked {
  background-color:#4e9138;
  border-color:#4e9138
}
.academy-ui input[type=range] {
  accent-color:#65bd45
}
.academy-ui .input-group-text {
  border-color:#d8e1d3;
  background:#f4f7f0;
  color:#61735a;
  font-size:13px
}
.academy-ui .alert {
  border-radius:6px;
  font-size:13px
}
.academy-ui .alert-danger {
  background:#fff3f1;
  border:1px solid #edcdc6;
  color:#913d31
}
.academy-ui .alert-success {
  background:#f0f8eb;
  border:1px solid #d7e7ca;
  color:#3a6a2a
}
.academy-ui .alert-info {
  background:#eff5f8;
  border:1px solid #d3e3ed;
  color:#335e76
}
.academy-ui .table {
  --bs-table-color:#425147;
  --bs-table-bg:#fff;
  --bs-table-border-color:#e5eadd;
  font-size:13px
}
.academy-ui .table th {
  background:#f5f7f2;
  color:#4f6346;
  font-size:11px;
  letter-spacing:.045em;
  font-weight:600;
  padding:14px 15px;
  border-bottom:1px solid #dce5d5
}
.academy-ui .table td {
  vertical-align:middle;
  padding:14px 15px
}
.academy-ui .table-dark {
  --bs-table-bg:#edf3e7;
  --bs-table-color:#3f5b33;
  --bs-table-border-color:#dae4d2
}
.academy-ui .table-hover>tbody>tr:hover>* {
  --bs-table-accent-bg:#f7faf3;
  --bs-table-color-state:#354d2d
}
.academy-ui .table-responsive {
  border-radius:6px
}
.academy-ui .list-group-item {
  border-color:#e5ebdf;
  padding:15px 18px;
  font-size:13px;
  color:#48574c
}
.academy-ui .list-group-item.active {
  background:#eff7e8;
  color:#3e6d2e;
  border-color:#d9e8cf
}
.academy-ui .accordion-item {
  border:1px solid #e2e8dc;
  border-radius:5px;
  overflow:hidden;
  background:#fff
}
.academy-ui .accordion-button {
  font-size:14px;
  color:#344a39;
  background:#fff;
  border-radius:0;
  box-shadow:none
}
.academy-ui .accordion-button:not(.collapsed) {
  background:#f5f9f0;
  color:#3e712d;
  box-shadow:none
}
.academy-ui .accordion-button:focus {
  box-shadow:inset 0 0 0 2px #9ac982
}
.academy-ui .accordion-body {
  background:#fff
}
.academy-ui .nav-tabs {
  border-bottom:1px solid #dfe6d9
}
.academy-ui .nav-tabs .nav-link {
  color:#697562;
  border:0;
  border-radius:0;
  font-size:13px;
  padding:15px 18px
}
.academy-ui .nav-tabs .nav-link.active {
  border-bottom:2px solid #65bd45;
  color:#33482c;
  background:transparent
}
.academy-ui .nav-pills .nav-link.active {
  background:#eaf4e2;
  color:#3c6b2d
}
.academy-ui .progress {
  background:#e9efe3;
  border-radius:20px;
  height:8px
}
.academy-ui .progress-bar {
  background:#65bd45
}
.academy-ui .page-link {
  color:#4c7d38;
  border-color:#dfe7d9
}
.academy-ui .page-item.active .page-link {
  background:#65bd45;
  border-color:#65bd45;
  color:#17341b
}
.academy-ui .modal-content {
  border:1px solid #dfe6d9;
  border-radius:9px;
  box-shadow:0 18px 70px #10283e30
}
.academy-ui .modal-header {
  border-color:#e6ebdf
}
.academy-ui .modal-footer {
  border-color:#e6ebdf
}
.academy-ui .dropdown-menu {
  border-color:#e2e8dc;
  border-radius:6px;
  font-size:13px;
  box-shadow:0 6px 25px #163b1110
}
.academy-ui .dropdown-item:active {
  background:#4e9138
}
.academy-ui :is(a,button,input,select,textarea):focus-visible {
  outline:3px solid #8ab573;
  outline-offset:3px
}
/* Public content pages */
.academy-public:not(.page-index):not(.page-class)>section.container {
  padding-top:52px!important;
  padding-bottom:65px!important;
  min-height:50vh
}
.academy-public:not(.page-index):not(.page-class)>section.container>div.text-center:first-child h1 {
  font-size:40px;
  font-weight:300!important;
  margin-bottom:15px
}
.academy-public:not(.page-index):not(.page-class)>section.container>div.text-center:first-child p {
  font-size:14px
}
.academy-public .classes-wrapper {
  max-width:1240px;
  padding-top:45px!important;
  padding-bottom:65px!important
}
.academy-ui .classes-hero {
  background:#f5f8f1;
  border:1px solid #e7eddf;
  border-radius:8px;
  padding:42px 30px;
  color:#52604c
}
.academy-ui .classes-hero h1,.academy-ui .classes-hero h2 {
  font-weight:300!important;
  color:#263e2c!important
}
.academy-ui .classes-hero p {
  font-size:14px
}
.academy-ui .class-card {
  border:1px solid #e0e7d9!important;
  border-bottom:3px solid #a9cd91!important;
  border-radius:6px!important;
  box-shadow:none!important
}
.academy-ui .class-card:hover {
  box-shadow:0 8px 22px #173a110c!important;
  transform:translateY(-3px)
}
.academy-ui .class-cover-img {
  height:205px;
  border-radius:5px 5px 0 0
}
.academy-ui .class-card .btn {
  border-radius:22px!important
}
.academy-ui .class-card h3,.academy-ui .class-card h4,.academy-ui .class-card h5 {
  font-size:18px;
  line-height:1.4
}
.academy-ui .class-description-beautiful {
  padding:0;
  background:none;
  border:0;
  box-shadow:none;
  font-size:14px;
  line-height:1.9;
  color:#536068
}
.academy-ui .class-description-beautiful p {
  margin-bottom:20px
}
.academy-ui .class-description-beautiful p:first-child:first-letter {
  font-size:inherit;
  font-weight:inherit;
  color:inherit;
  float:none
}
.academy-public:is(.page-login,.page-register,.page-forgot_password,.page-reset_password) {
  background:radial-gradient(ellipse at 15% 12%,#edf5e7,transparent 48%),#fafbf8
}
.academy-public:is(.page-login,.page-register,.page-forgot_password,.page-reset_password)>.container {
  margin-top:55px!important;
  margin-bottom:65px!important
}
.academy-public:is(.page-login,.page-register,.page-forgot_password,.page-reset_password)>.container>.card {
  box-shadow:0 12px 45px #2447150a!important;
  border-top:3px solid #87bc6b!important
}
.academy-public:is(.page-login,.page-register,.page-forgot_password,.page-reset_password) .card-body {
  padding:35px!important
}
.academy-public:is(.page-login,.page-register,.page-forgot_password,.page-reset_password) h2 {
  font-size:27px;
  font-weight:300!important
}
.academy-public:is(.page-login,.page-register,.page-forgot_password,.page-reset_password) h2 i {
  display:none
}
.academy-public .academy-footer {
  background:#29312e
}
.academy-public .footer-faqs {
  background:#313b33;
  border-color:#53614c
}
.academy-public .footer-faqs .accordion-item {
  background:#fff
}
.academy-public .footer-faqs h2 {
  color:#d6e7cd
}
.academy-public .footer-col a {
  color:#e1e9dc
}
.academy-public .main-header .nav-link {
  color:#3a454a!important
}
/* Portal: retain the role navigation and every menu item. */
.academy-portal {
  background:#f7f9f5
}
.academy-portal .portal-sidebar {
  background:#fff;
  color:#4d5e49;
  border-right:1px solid #e2e9dc;
  box-shadow:none
}
.academy-portal .portal-sidebar-brand {
  background:#fff;
  color:#2e4833;
  border-bottom:1px solid #e4eadf;
  font-weight:500;
  font-size:19px;
  height:76px;
  gap:12px
}
.academy-portal .portal-sidebar-brand i {
  color:#6eaf50
}
.academy-portal .portal-sidebar-brand:hover {
  background:#f7faf3;
  color:#34522b
}
.academy-portal .portal-sidebar-user {
  border-bottom:1px solid #e9ede4;
  padding:24px 18px;
  color:#364b3c
}
.academy-portal .portal-sidebar-user small {
  color:#86917f;
  font-size:11px
}
.academy-portal .portal-sidebar-avatar {
  color:#5b9740;
  background:#eff6e7;
  border-radius:50%;
  width:40px;
  height:40px
}
.academy-portal .portal-sidebar-nav {
  padding:17px 12px 25px
}
.academy-portal .portal-sidebar-nav a {
  font-size:12px;
  font-weight:500;
  color:#596a54;
  min-height:42px;
  border-radius:5px;
  margin:3px 0;
  padding:10px 12px;
  gap:12px
}
.academy-portal .portal-sidebar-nav a i {
  color:#7e9e6b;
  font-size:15px
}
.academy-portal .portal-sidebar-nav a:hover {
  background:#f5f8ef;
  color:#36572a
}
.academy-portal .portal-sidebar-nav a.active {
  background:#edf5e5;
  color:#365e26;
  box-shadow:inset 3px 0 #65bd45
}
.academy-portal .portal-sidebar-nav a.active i {
  color:#579b3a
}
.academy-portal .portal-sidebar-divider {
  border-color:#e7edde;
  margin:16px 8px
}
.academy-portal .portal-sidebar-count {
  background:#edf5e5;
  color:#4e7b38;
  font-size:10px
}
.academy-portal .portal-announcements {
  background:#f5f8f1
}
.academy-portal .portal-announcements a small,.academy-portal .portal-announcement-empty {
  color:#85927c
}
.academy-portal .portal-content {
  padding:35px 38px 65px;
  min-height:100vh;
  background:#f7f9f5
}
.academy-portal .portal-content>.container {
  max-width:1440px
}
.academy-portal .portal-content>section>h1,.academy-portal .portal-content>section>h2,.academy-portal .portal-content>.container>h2 {
  font-weight:300!important;
  font-size:30px;
  margin-bottom:28px
}
.academy-portal .portal-content h2 i,.academy-portal .portal-content h3 i {
  color:#6c9c53
}
.academy-portal .portal-content>.container {
  padding-top:15px!important
}
.academy-portal .portal-content>.container.py-5 {
  padding-top:20px!important
}
.academy-portal .portal-content .bg-dark {
  background:#213e54!important
}
.academy-portal .portal-content .card-header.bg-danger,.academy-portal .portal-content .card-header.bg-primary {
  background:#edf4e6!important;
  color:#3d612e!important
}
.academy-portal .portal-content .card-header.text-white h5 {
  color:#3d612e!important
}
.academy-portal .portal-sidebar-toggle,.academy-portal .portal-mobile-logout {
  background:#fff;
  color:#456238;
  border:1px solid #dfe8d7;
  box-shadow:0 2px 10px #19301108
}
.academy-portal .sonit-admin-nav {
  background:#213e54!important
}
.academy-portal .sonit-admin-nav a {
  color:#fff
}
.academy-portal .logout-modal-brand-icon {
  background:#eaf3e3;
  color:#518b38
}
.academy-portal .logout-modal-accent {
  background:#65bd45
}
.academy-portal .logout-modal-icon {
  background:#edf6e5;
  color:#53973a;
  border-color:#f5f9ef;
  box-shadow:none
}
.academy-portal .logout-confirm-btn {
  background:#65bd45;
  color:#18351d;
  border:1px solid #65bd45;
  box-shadow:none
}
.academy-portal .logout-confirm-btn:hover {
  background:#4d9e33;
  color:#fff
}
.academy-portal .builder-lesson:hover,.academy-portal .builder-lesson.active {
  background:#eaf4e3;
  color:#3a642b
}
.academy-portal .lesson-link:hover,.academy-portal .lesson-link.active {
  background:#edf5e6;
  color:#3c672e
}
.academy-portal .lesson-link.active {
  box-shadow:inset 3px 0 #65bd45
}
.academy-portal .question-dot.current {
  border-color:#65bd45;
  color:#477b36
}
.academy-portal .answer-choice:has(input:checked) {
  border-color:#7db660;
  background:#f1f8eb
}
.academy-portal .sonit-chat-shell #chatMessages .bg-primary {
  background:#4e9138!important
}
.academy-portal .fc .fc-button-primary {
  background:#31533d;
  border-color:#31533d
}
.academy-portal .fc .fc-button-primary:not(:disabled).fc-button-active {
  background:#4e9138;
  border-color:#4e9138
}
.academy-portal .fc-event {
  border-color:#6fa852;
  background:#edf5e5;
  color:#3d642c
}
/* Course detail: reference-inspired layout, backed by the original data. */
.academy-public.page-class {
  background:#fff
}
.course-detail {
  background:linear-gradient(#f7f8f6 0 390px,#fff 390px)
}
.course-heading-band {
  padding:24px 0 18px
}
.course-breadcrumb {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:11px;
  color:#7d877c
}
.course-breadcrumb a {
  font-weight:600;
  color:#4c5c46
}
.course-breadcrumb i {
  font-size:8px
}
.course-detail-grid {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);
  column-gap:35px;
  row-gap:0;
  padding-bottom:65px
}
.course-introduction {
  padding:8px 0 35px;
  min-width:0
}
.course-provider {
  display:flex;
  align-items:center;
  gap:20px;
  font-size:11px;
  margin-bottom:16px;
  color:#334a3b
}
.course-provider span {
  border:1px solid #97cb7d;
  padding:0 8px;
  color:#53764a
}
.course-introduction h1 {
  font-size:36px;
  font-weight:300;
  line-height:1.25;
  margin-bottom:16px;
  color:#435347
}
.course-short-description {
  font-size:13px;
  line-height:1.8;
  margin:0 0 22px;
  max-width:650px
}
.course-delivery-labels {
  display:flex;
  font-size:11px;
  gap:0
}
.course-delivery-labels span {
  display:flex;
  gap:10px;
  align-items:center;
  padding:12px 18px;
  border:1px solid #dfe5d9;
  border-bottom:0;
  background:#fff;
  border-radius:5px 5px 0 0;
  font-weight:600
}
.course-delivery-labels span+span {
  background:#f0f3ed;
  margin-left:-1px
}
.course-delivery-labels i {
  font-size:21px;
  color:#697c60
}
.course-enrollment {
  border:1px solid #dfe5d9;
  background:#fff;
  border-radius:0 5px 5px 5px;
  padding:22px 24px;
  scroll-margin-top:105px
}
.course-enrollment .eyebrow {
  font-size:9px;
  letter-spacing:.12em;
  margin:0 0 13px
}
.course-enrollment>p:not(.eyebrow) {
  font-size:12px;
  margin-bottom:15px!important
}
.course-enrollment .btn {
  width:auto!important;
  font-size:12px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-right:8px;
  margin-bottom:6px
}
.course-enrollment form {
  display:flex;
  gap:13px;
  align-items:flex-end;
  flex-wrap:wrap
}
.course-enrollment form>.mb-2 {
  flex:1;
  min-width:200px
}
.course-enrollment .form-select {
  font-size:12px
}
.course-enrollment label {
  font-size:11px
}
.course-dates {
  font-size:11px;
  margin-top:16px;
  color:#67765f
}
.course-dates summary {
  cursor:pointer;
  padding:5px 0;
  color:#4c7140
}
.course-dates[open] summary {
  margin-bottom:10px
}
.class-cohort-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:#f4f7ef;
  padding:9px 12px;
  border:1px solid #e1e8d9;
  border-radius:4px
}
.class-cohort-summary span {
  font-size:10px
}
.course-visual {
  background:#f4f6f1;
  align-self:start;
  overflow:hidden;
  border-radius:6px;
  margin-top:0
}
.course-visual .class-hero-image {
  height:315px;
  margin:0!important;
  display:block;
  max-height:none
}
.course-visual .class-hero-image img {
  height:100%;
  width:100%;
  object-fit:cover;
  border-radius:0!important;
  box-shadow:none!important
}
.course-facts {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:23px 12px;
  gap:8px;
  background:#f5f7f2
}
.course-facts>div {
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:2px
}
.course-facts i {
  font-size:21px;
  color:#4c6443;
  margin-bottom:7px
}
.course-facts strong {
  font-size:16px;
  color:#3c5134;
  font-weight:500;
  line-height:1.2
}
.course-facts span {
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#74816b
}
.course-information {
  grid-column:1;
  grid-row:2;
  min-width:0;
  padding-top:5px
}
.course-anchor-nav {
  display:flex;
  gap:25px;
  border-bottom:1px solid #e3e9dd;
  margin-bottom:28px
}
.course-anchor-nav a {
  padding:14px 0;
  font-size:12px;
  color:#57654f;
  font-weight:600;
  border-bottom:2px solid transparent
}
.course-anchor-nav a:hover,.course-anchor-nav a.active {
  border-bottom-color:#65bd45;
  color:#345d27
}
.course-overview,.course-curriculum,.course-group-options {
  scroll-margin-top:100px
}
.course-overview h2,.course-curriculum>h2 {
  font-size:26px;
  font-weight:300;
  margin-bottom:20px
}
.course-overview .eyebrow {
  font-size:9px;
  letter-spacing:.13em
}
.course-curriculum {
  padding-top:15px
}
.course-curriculum>.card {
  border:0!important;
  box-shadow:none!important
}
.course-curriculum>.card>.card-header {
  display:none
}
.course-curriculum>.card>.card-body {
  padding:0
}
.course-detail .course-module {
  border:1px solid #e2e7dc;
  border-radius:3px;
  margin-bottom:10px!important
}
.course-detail .course-module .accordion-button {
  border-radius:0;
  padding:16px 18px;
  box-shadow:none!important;
  font-size:12px;
  gap:10px
}
.course-module .accordion-button:after {
  display:none
}
.course-module .accordion-button .badge {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid #83bc63!important;
  border-radius:50%!important;
  color:#55913b!important;
  background:#f8fcf4!important;
  padding:0!important;
  font-size:13px
}
.course-module .accordion-button .text-muted.small {
  font-size:10px;
  font-weight:400
}
.course-module .accordion-button i.fa-chevron-down {
  font-size:11px;
  color:#65a347!important;
  background:#f0f5eb;
  border-radius:3px;
  padding:5px
}
.course-detail .course-module .list-group-item {
  padding:15px 20px;
  font-size:12px
}
.course-side-information {
  grid-column:2;
  grid-row:2;
  min-width:0;
  background:#f7f8f5;
  padding:25px 22px;
  border-radius:0 0 6px 6px;
  align-self:stretch
}
.course-side-information>.mt-4 {
  margin-top:0!important;
  padding:0 0 28px;
  border-bottom:1px solid #e1e8d9;
  margin-bottom:20px
}
.course-side-information h5,.course-group-options h5 {
  font-size:14px;
  font-weight:600;
  color:#354a35!important
}
.course-side-information>.card {
  background:transparent;
  border:0!important;
  box-shadow:none!important;
  border-bottom:1px solid #e1e8d9!important;
  border-radius:0;
  margin-bottom:22px!important
}
.course-side-information>.card>.card-body {
  padding:5px 0 22px
}
.course-side-information .card-header {
  padding:0 0 15px;
  background:none!important;
  border:0
}
.course-side-information .teacher-card {
  font-size:11px;
  margin-top:18px;
  flex-wrap:wrap;
  gap:5px
}
.course-side-information .teacher-card strong {
  font-size:12px
}
.course-side-information .teacher-card img {
  width:44px;
  height:44px;
  margin-right:7px!important
}
.course-side-information .teacher-card .badge {
  font-size:9px
}
.course-side-information p {
  font-size:12px
}
.course-side-information .list-group-item {
  background:transparent;
  padding:13px 0;
  font-size:12px
}
.course-side-information .badge {
  font-size:9px
}
.course-side-information .badge.bg-light {
  background:#fff!important;
  border-color:#e1e8d9!important;
  padding:7px 10px!important;
  font-weight:400
}
.course-side-information .card-body.text-center img {
  max-width:170px!important;
  width:100%
}
.course-group-options {
  padding-top:20px
}
.course-group-options>.card>.card-body {
  padding:22px
}
.active-cohort-card {
  border:1px solid #e0e7d7;
  border-radius:4px;
  overflow:hidden
}
.active-cohort-title {
  display:flex;
  justify-content:space-between;
  gap:10px;
  background:#f5f8f1;
  padding:13px 15px;
  border-bottom:1px solid #e1e8d9;
  font-size:13px
}
.active-cohort-title strong,.active-cohort-title small {
  display:block
}
.active-cohort-title small {
  font-size:11px;
  color:#7e8a75;
  margin-top:3px
}
.active-cohort-title .badge {
  font-size:9px;
  align-self:center
}
.active-cohort-card>.mb-3 {
  padding:14px 15px 0;
  font-size:13px
}
.active-cohort-card>hr {
  margin:0 15px 12px;
  border-color:#dce4d4
}
.course-group-options .small {
  font-size:11px
}
.course-bottom-cta {
  padding:90px 0;
  text-align:center;
  background:linear-gradient(100deg,#eff5e8eF,#f4f8f0ed),url('images/learning.jpg') center/cover
}
.course-bottom-cta h2 {
  font-size:40px;
  line-height:1.25;
  font-weight:300;
  color:#334632;
  margin-bottom:18px
}
.course-bottom-cta h2 span {
  color:#5c9345
}
.course-bottom-cta p:not(.eyebrow) {
  font-size:13px
}
.course-bottom-cta .btn {
  margin-top:12px
}
@media(min-width:992px) {
  .course-visual {
    margin-top:-67px;
    border-radius:0
  }
  .course-side-information {
    margin-top:-15px
  }
  .course-introduction {
    min-height:365px
  }
  .course-detail-grid {
    column-gap:36px
  }
  .course-detail .container {
    max-width:1240px
  }
}
@media(max-width:1199px) {
  .academy-portal .portal-content {
    padding:28px 24px 55px
  }
  .course-introduction h1 {
    font-size:31px
  }
  .course-enrollment {
    padding:18px
  }
  .course-visual .class-hero-image {
    height:300px
  }
  .course-detail-grid {
    column-gap:25px
  }
  .course-side-information {
    padding:22px 18px
  }
}
@media(max-width:991px) {
  .course-detail-grid {
    grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
    column-gap:22px
  }
  .course-visual .class-hero-image {
    height:275px
  }
  .course-introduction h1 {
    font-size:28px
  }
  .course-introduction {
    padding-bottom:25px
  }
  .course-short-description {
    font-size:12px
  }
  .course-delivery-labels span {
    padding:10px;
    font-size:10px;
    gap:7px
  }
  .course-delivery-labels i {
    font-size:17px
  }
  .course-enrollment .btn {
    font-size:11px;
    padding:9px 15px
  }
  .course-facts {
    gap:3px;
    padding:18px 7px
  }
  .course-facts span {
    font-size:8px
  }
  .course-side-information {
    padding:20px 15px
  }
  .course-anchor-nav {
    gap:18px
  }
  .course-anchor-nav a {
    font-size:11px
  }
  .academy-portal .portal-content {
    padding:85px 22px 45px!important
  }
  .academy-portal .portal-sidebar-toggle,.academy-portal .portal-mobile-logout {
    top:15px;
    bottom:auto;
    height:54px
  }
  .academy-public:not(.page-index):not(.page-class)>section.container {
    padding-top:35px!important
  }
}
@media(max-width:767px) {
  .course-detail {
    background:linear-gradient(#f7f8f6 0 620px,#fff 620px)
  }
  .course-heading-band {
    padding:22px 0 12px
  }
  .course-breadcrumb {
    font-size:10px;
    gap:8px
  }
  .course-breadcrumb span {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
  }
  .course-detail-grid {
    display:flex;
    flex-direction:column;
    padding-bottom:35px
  }
  .course-introduction {
    order:0;
    padding-top:8px;
    padding-bottom:20px
  }
  .course-provider {
    font-size:10px;
    margin-bottom:13px
  }
  .course-introduction h1 {
    font-size:32px;
    margin-bottom:15px
  }
  .course-short-description {
    font-size:13px
  }
  .course-delivery-labels span {
    font-size:11px;
    padding:12px
  }
  .course-enrollment {
    padding:20px
  }
  .course-enrollment .btn {
    font-size:12px
  }
  .course-enrollment .btn-outline-secondary {
    margin-top:5px
  }
  .course-dates {
    margin-top:12px
  }
  .course-visual {
    order:1;
    margin-bottom:20px;
    border:1px solid #e4e9dd;
    width:100%;
    border-radius:6px
  }
  .course-visual .class-hero-image {
    height:240px
  }
  .course-information {
    order:2;
    width:100%
  }
  .course-side-information {
    order:3;
    width:100%;
    padding:24px;
    margin-top:20px;
    border-radius:6px
  }
  .course-anchor-nav {
    gap:22px;
    margin-bottom:25px;
    overflow:auto
  }
  .course-anchor-nav a {
    white-space:nowrap;
    font-size:11px
  }
  .course-overview h2,.course-curriculum>h2 {
    font-size:25px
  }
  .course-detail .class-description-beautiful {
    font-size:13px
  }
  .course-group-options>.card>.card-body {
    padding:17px
  }
  .active-cohort-title {
    flex-wrap:wrap;
    font-size:12px
  }
  .course-bottom-cta {
    padding:65px 0
  }
  .course-bottom-cta h2 {
    font-size:33px
  }
  .course-detail .course-module .accordion-button {
    padding:14px 12px
  }
  .course-module .accordion-button .badge {
    width:31px;
    height:31px;
    flex-shrink:0
  }
  .course-side-information .teacher-card {
    flex-wrap:nowrap
  }
  .course-side-information>.card:last-child {
    border-bottom:0!important;
    margin-bottom:0!important
  }
  .academy-public:not(.page-index):not(.page-class)>section.container>div.text-center:first-child h1 {
    font-size:31px
  }
  .academy-public .classes-wrapper {
    padding:25px 20px!important
  }
  .academy-ui .classes-hero {
    padding:30px 18px
  }
  .academy-ui .classes-hero h1 {
    font-size:32px
  }
  .academy-ui .card-body {
    padding:20px
  }
  .academy-public:is(.page-login,.page-register,.page-forgot_password,.page-reset_password)>.container {
    margin-top:30px!important;
    margin-bottom:40px!important
  }
  .academy-public:is(.page-login,.page-register,.page-forgot_password,.page-reset_password) .card-body {
    padding:25px!important
  }
  .academy-portal .portal-content {
    padding:80px 16px 40px!important
  }
  .academy-portal .portal-content>.container {
    padding-right:0;
    padding-left:0
  }
  .academy-portal .portal-content h2 {
    font-size:26px
  }
  .academy-ui .table {
    font-size:12px
  }
  .academy-ui .table td,.academy-ui .table th {
    padding:12px
  }
  .academy-ui .btn {
    font-size:12px;
    padding:9px 17px
  }
  .academy-ui .modal-dialog {
    margin:15px
  }
  .academy-ui .card-header {
    padding:16px 20px
  }
  .academy-portal .portal-sidebar {
    background:#fff
  }
  .academy-portal .portal-sidebar-brand {
    height:70px
  }
  .academy-portal .lesson-layout,.academy-portal .course-builder {
    gap:20px
  }
}
@media print {
  .academy-ui .portal-sidebar,.academy-ui .portal-sidebar-toggle,.academy-ui .portal-mobile-logout {
    display:none!important
  }
  .academy-ui .portal-content {
    margin:0;
    padding:0!important;
    background:#fff
  }
  .academy-ui .card {
    box-shadow:none!important
  }
}
/* Finishing details for existing page-specific components. */
.academy-ui .hero-search input {
  padding-left:43px
}
.academy-ui .classes-hero:after {
  background:#e4efd9;
  pointer-events:none
}
.academy-ui .classes-hero .classes-hero-content {
  position:relative;
  z-index:1
}
.academy-ui .sonit-header-box,.academy-ui .sonit-title-box {
  background:#f0f6e9;
  border:1px solid #dce8d1;
  border-radius:7px;
  box-shadow:none;
  padding:30px
}
.academy-ui .sonit-header-box h2,.academy-ui .sonit-title-box h2 {
  font-weight:300!important;
  color:#354d32!important
}
.academy-ui .sonit-avatar {
  border-color:#8dbb72;
  box-shadow:none
}
.academy-ui .sonit-avatar-icon {
  color:#70a650
}
.academy-ui .student-class-card {
  border:1px solid #dfe7d7;
  border-bottom:3px solid #a9cc91;
  border-radius:6px;
  box-shadow:none
}
.academy-ui .student-class-card:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 25px #2645160a
}
.academy-ui .student-class-title {
  color:#365431;
  font-size:16px;
  font-weight:600
}
.academy-ui .student-class-body {
  padding:23px
}
.academy-ui .variant-pill {
  font-size:10px;
  border-radius:5px;
  background:#edf5e6!important;
  color:#476b35!important;
  border-color:#a8c694!important;
  gap:5px
}
.academy-ui .pending-payment-card {
  border:1px solid #dce7d2;
  border-left:3px solid #78ad5d;
  box-shadow:none;
  border-radius:6px
}
.academy-ui .pending-payment-icon {
  background:#edf5e5;
  color:#5c9441
}
.academy-ui .pending-payment-actions a {
  color:#4b7737;
  border-color:#a0c286;
  border-radius:20px
}
.academy-ui .pending-payment-actions a:hover {
  background:#edf5e5;
  color:#36572a
}
.academy-portal>footer.bg-danger {
  background:#29352f!important
}
.academy-ui .user-pagination .active>.page-link {
  background:#65bd45;
  border-color:#65bd45;
  color:#18361b
}
.academy-ui .user-pagination .page-link {
  color:#4d773b
}
.academy-ui .user-pagination .page-link:hover {
  background:#edf5e5;
  color:#37582b;
  border-color:#b0c89d
}
.academy-ui .user-actions .btn-danger,.academy-ui .btn-danger[name*=delete],.academy-ui .btn-danger[data-bs-target*=delete] {
  background:#fcf0ed!important;
  color:#9e4c3f!important;
  border:1px solid #e4b8af!important
}
.academy-public.page-verify_certificate>.container {
  margin-top:55px!important
}
.academy-public.page-verify_certificate .card {
  border-top:3px solid #87bc6b!important
}
.academy-ui .footer-faq-title:after {
  background:#8dc76d!important
}
.academy-ui .footer-faqs {
  padding:0;
  background:none
}
.academy-ui .footer-faq-item summary {
  font-size:12px
}
.academy-ui .course-overview,.academy-ui .course-curriculum,.academy-ui .course-group-options {
  padding-left:0;
  padding-right:0
}
.academy-ui .class-description-beautiful p {
  font-size:14px;
  line-height:1.9
}
.academy-ui .course-overview {
  padding-top:0;
  padding-bottom:15px
}
.academy-ui .course-visual .class-hero-image img {
  object-fit:contain;
  background:#f0f3ed
}
.course-anchor-nav a[aria-current] {
  border-bottom-color:#65bd45;
  color:#345d27
}
.academy-ui.academy-cv {
  background:#f5f8f1
}
.academy-cv .wrap {
  border:1px solid #e0e7d7;
  border-top:3px solid #83b868;
  border-radius:7px;
  box-shadow:0 8px 35px #173a1108
}
.academy-cv .wrap h1 {
  font-weight:300;
  font-size:32px;
  margin-bottom:25px
}
.academy-cv .wrap h3 {
  font-weight:500;
  font-size:18px;
  border-color:#e3eadc
}
.academy-cv .wrap input,.academy-cv .wrap textarea,.academy-cv .wrap select {
  border:1px solid #dce5d5;
  border-radius:5px;
  padding:12px;
  font-family:Arial,sans-serif;
  color:#3d5038;
  background:#fff
}
.academy-cv .wrap input:focus,.academy-cv .wrap textarea:focus {
  outline:2px solid #a4c88e;
  outline-offset:1px
}
.academy-cv .wrap button {
  background:#65bd45;
  color:#18361b;
  border:1px solid #65bd45;
  border-radius:22px;
  padding:10px 20px;
  font-size:12px;
  font-weight:600
}
.academy-cv .wrap .block {
  border-color:#e1e8d9;
  border-radius:6px;
  background:#fafcf7
}
.academy-cv .wrap button[onclick*=remove] {
  background:#fcf0ed;
  color:#9e4c3f;
  border-color:#e4b8af
}
@media(max-width:767px) {
  .academy-ui .class-description-beautiful p {
    font-size:13px
  }
  .academy-ui .course-overview {
    padding:0 0 15px
  }
  .academy-ui .sonit-header-box {
    padding:24px 18px
  }
  .academy-ui .student-class-body {
    padding:20px
  }
  .academy-cv .wrap {
    margin:20px 15px;
    padding:22px
  }
  .academy-ui .course-side-information {
    padding:24px
  }
  .academy-ui .course-curriculum {
    padding-top:15px
  }
  .academy-public.page-verify_certificate>.container {
    margin-top:30px!important
  }
}
.academy-ui .course-module .accordion-button[aria-expanded=true] i.fa-chevron-down {
  transform:rotate(180deg)
}
.academy-ui .class-card .public-cohort-box {
  border-color:#dfe7d7;
  border-radius:5px
}
.academy-ui .class-card .public-cohort-heading {
  background:#f4f8ef;
  border-color:#e0e8d7
}
.academy-ui .class-card .public-cohort-heading strong {
  color:#3d5534
}
.academy-ui .course-enrollment .btn,.academy-ui .main-header .btn {
  white-space:normal
}
.academy-ui .alert {
  max-width:100%
}
.academy-ui .sonit-title-box span {
  border-color:#a4c78e
}
.academy-ui .sonit-title-icon {
  color:#619947
}
/* Reveal homepage skills in manageable groups without changing course links. */
.academy-ui .home-skill-link[hidden],.home-skills-controls[hidden],.home-skills-buttons [hidden] {
  display:none!important
}
.home-skills-controls {
  text-align:center;
  margin:24px auto 0
}
.home-skills-status {
  font-size:11px;
  color:#7a896e;
  margin:0 0 12px
}
.home-skills-buttons {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap
}
.home-skills-less {
  border:0;
  background:transparent;
  color:#65884d;
  font-size:12px;
  padding:10px 4px;
  min-height:42px;
  text-decoration:underline;
  text-underline-offset:4px
}
.home-skills-less:hover {
  color:#365b27
}
.home-skills-more {
  min-height:42px
}
/* Readable typography and contrast across the academy. */
.academy-ui {
  font-size:16px;
  line-height:1.7
}
.academy-ui .small,.academy-ui small {
  font-size:14px
}
.academy-ui .eyebrow {
  font-size:12px;
  letter-spacing:.12em
}
.academy-ui .btn {
  font-size:15px
}
.academy-ui .btn-sm {
  font-size:14px
}
.academy-ui .btn-lg {
  font-size:16px
}
.academy-ui .btn.btn-brand {
  background:#65bd45;
  border-color:#65bd45;
  color:#17351b
}
.academy-ui .btn.btn-brand:hover {
  background:#4f9d36;
  border-color:#4f9d36;
  color:#fff
}
.academy-ui .form-control,.academy-ui .form-select {
  font-size:16px
}
.academy-ui .form-label {
  font-size:14px
}
.academy-ui .form-control-sm,.academy-ui .form-select-sm {
  font-size:14px
}
.academy-ui .badge {
  font-size:12px
}
.academy-ui .table {
  font-size:14px
}
.academy-ui .table th {
  font-size:13px
}
.academy-ui .list-group-item {
  font-size:15px
}
.academy-ui .alert {
  font-size:15px
}
.academy-ui .nav-tabs .nav-link {
  font-size:15px
}
.academy-ui .page-link {
  font-size:14px
}
.academy-public .main-header .nav-link {
  font-size:14px;
  padding:9px 8px
}
.academy-public .main-header .btn {
  font-size:13px;
  padding:9px 13px
}
.academy-public .nav-search {
  font-size:13px
}
.academy-public .hero-notice {
  font-size:13px
}
.academy-public .hero-description {
  font-size:17px;
  line-height:1.8
}
.academy-public .hero-question {
  font-size:15px
}
.academy-public .learning-strip span {
  font-size:13px;
  color:#64715e
}
.academy-public .learning-strip strong {
  font-size:18px
}
.academy-public .learning-intro p {
  font-size:16px
}
.academy-public .split-copy p:not(.eyebrow) {
  font-size:16px;
  line-height:1.85
}
.academy-public .academy-search input {
  font-size:15px
}
.academy-public .collage-label {
  font-size:13px
}
.academy-ui .home-skill-copy strong {
  font-size:15px
}
.academy-ui .home-skill-copy small {
  font-size:13px;
  color:#66785a
}
.academy-ui .home-skill-link {
  min-height:90px
}
.academy-ui .home-skills-status {
  font-size:14px;
  color:#65755b
}
.academy-ui .home-skills-less {
  font-size:14px
}
.academy-public .academy-footer p,.academy-public .academy-footer li,.academy-public .footer-bottom {
  font-size:14px
}
.academy-public .academy-footer h5 {
  font-size:17px
}
/* Headings on the navy background must override the shared dark heading rule. */
.academy-ui .certification-section {
  color:#e4edf3
}
.academy-ui .certification-section h2,.academy-ui .certification-section h3 {
  color:#fff
}
.academy-ui .certification-section h2 {
  font-size:36px
}
.academy-ui .certification-section .eyebrow {
  color:#b1e28f;
  font-size:12px
}
.academy-ui .certification-section>.container>p:not(.eyebrow) {
  font-size:16px;
  color:#e4edf3
}
.academy-ui .certification-grid h3 {
  font-size:22px;
  font-weight:400;
  margin-bottom:13px
}
.academy-ui .certification-grid p {
  font-size:16px;
  line-height:1.85;
  color:#e0e9f0
}
.academy-ui .certification-grid i {
  color:#a4d97b
}
.academy-ui .certification-section .btn.btn-brand {
  background:#85cd5e;
  border-color:#85cd5e;
  color:#15311c;
  font-size:15px
}
.academy-ui .course-short-description {
  font-size:16px
}
.academy-ui .course-provider {
  font-size:14px
}
.academy-ui .course-delivery-labels span {
  font-size:14px
}
.academy-ui .course-enrollment .eyebrow {
  font-size:11px
}
.academy-ui .course-enrollment>p:not(.eyebrow) {
  font-size:15px
}
.academy-ui .course-enrollment .btn {
  font-size:14px
}
.academy-ui .course-enrollment .form-select,.academy-ui .course-enrollment label {
  font-size:14px
}
.academy-ui .course-dates {
  font-size:14px
}
.academy-ui .class-cohort-summary span {
  font-size:13px
}
.academy-ui .course-facts span {
  font-size:12px
}
.academy-ui .course-facts strong {
  font-size:20px
}
.academy-ui .course-anchor-nav a {
  font-size:15px
}
.academy-ui .course-overview .eyebrow {
  font-size:11px
}
.academy-ui .class-description-beautiful p {
  font-size:16px;
  line-height:1.85
}
.academy-ui .course-detail .course-module .accordion-button {
  font-size:15px
}
.academy-ui .course-module .accordion-button .text-muted.small {
  font-size:13px
}
.academy-ui .course-detail .course-module .list-group-item {
  font-size:14px
}
.academy-ui .course-side-information h5,.academy-ui .course-group-options h5 {
  font-size:17px
}
.academy-ui .course-side-information p,.academy-ui .course-side-information .list-group-item {
  font-size:14px
}
.academy-ui .course-side-information .teacher-card,.academy-ui .course-side-information .teacher-card strong {
  font-size:14px
}
.academy-ui .course-side-information .teacher-card small {
  font-size:13px
}
.academy-ui .course-side-information .badge {
  font-size:12px
}
.academy-ui .course-group-options .small,.academy-ui .active-cohort-title small {
  font-size:13px
}
.academy-ui .active-cohort-title {
  font-size:15px
}
.academy-ui .active-cohort-title .badge {
  font-size:11px
}
.academy-ui .course-bottom-cta p:not(.eyebrow) {
  font-size:16px
}
.academy-ui .course-breadcrumb,.academy-ui .catalog-breadcrumb {
  font-size:13px
}
.academy-portal .portal-sidebar-nav a {
  font-size:14px
}
.academy-portal .portal-sidebar-user small {
  font-size:13px
}
.academy-portal .portal-sidebar-count {
  font-size:12px
}
.academy-portal .portal-announcements a {
  font-size:13px
}
.academy-portal .portal-announcements a small {
  font-size:12px
}
.academy-ui .student-class-title {
  font-size:18px
}
.academy-ui .variant-pill {
  font-size:13px
}
.academy-ui .user-actions .btn {
  font-size:13px
}
.academy-ui .user-page-size {
  font-size:14px
}
.academy-ui .student-class-info {
  font-size:14px
}
@media(min-width:992px) and (max-width:1199px) {
  .academy-public .nav-search {
    display:none
  }
}
@media(max-width:991px) {
  .academy-public .main-header .nav-link {
    font-size:16px
  }
  .academy-public .main-header .btn {
    font-size:15px
  }
  .academy-public .learning-strip strong {
    font-size:16px
  }
  .academy-public .learning-strip span {
    font-size:12px
  }
  .academy-ui .course-delivery-labels span {
    font-size:13px
  }
  .academy-ui .course-enrollment .btn {
    font-size:14px
  }
  .academy-ui .course-anchor-nav {
    gap:17px
  }
  .academy-ui .course-anchor-nav a {
    font-size:14px
  }
}
@media(max-width:767px) {
  .academy-public .hero-description {
    font-size:16px
  }
  .academy-public .hero-notice {
    font-size:12px;
    line-height:1.5
  }
  .academy-public .hero-question {
    font-size:15px
  }
  .academy-public .collage-label {
    font-size:12px
  }
  .academy-ui .home-skill-copy strong {
    font-size:14px
  }
  .academy-ui .home-skill-copy small {
    font-size:12px
  }
  .academy-ui .home-skill-link {
    padding:15px 11px;
    min-height:88px
  }
  .academy-ui .certification-section h2 {
    font-size:30px
  }
  .academy-ui .certification-grid h3 {
    font-size:21px
  }
  .academy-ui .certification-grid p {
    font-size:16px
  }
  .academy-ui .course-short-description {
    font-size:15px
  }
  .academy-ui .course-facts span {
    font-size:11px
  }
  .academy-ui .course-anchor-nav a {
    font-size:13px
  }
  .academy-ui .class-description-beautiful p {
    font-size:16px
  }
  .academy-ui .course-side-information .teacher-card {
    flex-wrap:wrap
  }
  .academy-ui .course-detail .course-module .accordion-button {
    font-size:14px
  }
  .academy-ui .table td,.academy-ui .table th {
    font-size:13px
  }
}
/* Sonit Learn identity and a search field available at every screen size. */
.academy-public .main-header .navbar-brand img {
  height:48px;
  width:195px;
  max-width:195px
}
.academy-public .main-header .nav-search {
  display:flex;
  align-items:center;
  gap:8px;
  padding:5px 6px 5px 13px;
  flex:1 1 230px;
  max-width:290px;
  min-width:0;
  margin:0 auto 0 8px;
  background:#f7f9f4;
  border:1px solid #dce6d4;
  border-radius:7px
}
.academy-public .main-header .nav-search input {
  font-size:16px;
  line-height:1.5;
  width:100%;
  min-width:0;
  padding:5px 0;
  border:0;
  color:#35512d;
  background:transparent;
  outline:none
}
.academy-public .nav-search input::placeholder {
  color:#74846b;
  font-size:14px
}
.academy-public .nav-search button {
  border:0;
  border-radius:5px;
  background:#edf4e6;
  color:#577c40;
  display:grid;
  place-items:center;
  min-width:36px;
  min-height:36px;
  font-size:15px
}
.academy-public .nav-search:focus-within {
  border-color:#83ad64;
  box-shadow:0 0 0 3px #83ad6415
}
.academy-portal .portal-sidebar-brand img {
  width:190px;
  height:auto;
  max-width:100%
}
.academy-ui input[type=search] {
  font-size:16px!important
}
.academy-public .main-header>.container {
  row-gap:10px
}
@media(min-width:992px) and (max-width:1199px) {
  .academy-public .main-header>.container {
    flex-wrap:wrap
  }
  .academy-public .main-header .navbar-brand {
    order:0
  }
  .academy-public .main-header .navbar-collapse {
    order:1;
    margin-left:auto
  }
  .academy-public .main-header .nav-search {
    display:flex;
    order:2;
    flex-basis:100%;
    max-width:none;
    margin:0
  }
}
@media(max-width:991px) {
  .academy-public .main-header .navbar-brand {
    order:0;
    margin-right:auto
  }
  .academy-public .main-header .navbar-toggler {
    order:1
  }
  .academy-public .main-header .nav-search {
    display:flex;
    order:2;
    flex:1 1 100%;
    width:100%;
    max-width:none;
    margin:0
  }
  .academy-public .main-header .navbar-collapse {
    order:3;
    flex-basis:100%
  }
  .academy-public .main-header .navbar-brand img {
    height:42px;
    width:173px;
    max-width:173px
  }
  .academy-public .main-header {
    padding-top:10px;
    padding-bottom:10px!important
  }
  .academy-public .main-header .nav-search input {
    font-size:16px
  }
  .academy-public .nav-search input::placeholder {
    font-size:15px
  }
  .academy-ui input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),.academy-ui select,.academy-ui textarea {
    font-size:16px!important
  }
}
/* Delivery selectors share the enrollment panel. */
.academy-ui .course-delivery-button {
  display:flex;
  gap:10px;
  align-items:center;
  padding:12px 18px;
  border:1px solid #dfe5d9;
  border-bottom:0;
  background:#f0f3ed;
  border-radius:5px 5px 0 0;
  font:inherit;
  font-size:14px;
  font-weight:600;
  color:inherit;
  cursor:pointer;
  margin-right:-1px
}
.academy-ui .course-delivery-button[aria-pressed="true"] {
  background:#fff;
  color:#435347
}
.academy-ui .course-delivery-button:hover:not(:disabled) {
  background:#e7efdf
}
.academy-ui .course-delivery-button:focus-visible {
  outline:2px solid #62bb46;
  outline-offset:-3px
}
.academy-ui .course-delivery-button:disabled {
  cursor:default;
  opacity:.6
}
@media(max-width:575px) {
  .academy-ui .course-delivery-button {
    padding:10px;
    font-size:13px
  }
}
/* Compact mobile drawer with navigation anchored to the top. */
@media(max-width:991px) {
  .academy-public .main-header #mainNavbar {
    --bs-offcanvas-width:min(360px,90vw);
    justify-content:flex-start;
    top:0;
    bottom:auto;
    height:auto;
    max-height:100dvh;
    padding:0 18px 18px;
    background:#fff;
    border-left:1px solid #dfe5d9;
    border-radius:0 0 0 20px;
    box-shadow:-12px 0 40px #26343b20;
    overflow-y:auto;
    overscroll-behavior:contain;
    z-index:1045
  }
  .academy-public #mainNavbar .offcanvas-header {
    flex-shrink:0;
    padding:18px 0 14px;
    margin:0 0 8px;
    border-bottom:1px solid #e8ece5
  }
  .academy-public #mainNavbar .navbar-nav {
    flex-shrink:0;
    margin:0;
    padding:0
  }
  .academy-public #mainNavbar .nav-link {
    padding:9px 10px;
    border-radius:8px;
    font-size:15px
  }
  .academy-public #mainNavbar .nav-link:hover {
    background:#f0f5eb
  }
  .academy-public #mainNavbar .nav-item.d-lg-none {
    padding-left:0!important;
    padding-right:0!important
  }
  .academy-public #mainNavbar .nav-item .btn {
    padding:8px 12px;
    font-size:14px
  }
  .academy-public #mainNavbar .mobile-menu-extras {
    flex-shrink:0;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid #e8ece5
  }
  .academy-public #mainNavbar .mobile-menu-social-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 12px;
    margin-bottom:14px;
    background:#f5f7f3;
    border-radius:10px
  }
  .academy-public #mainNavbar .mobile-menu-social-label {
    margin:0;
    font-size:13px;
    font-weight:600;
    color:#536068
  }
  .academy-public #mainNavbar .mobile-menu-socials {
    display:flex;
    gap:8px
  }
  .academy-public #mainNavbar .mobile-menu-socials > * {
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border:1px solid #e2e8df;
    border-radius:8px;
    background:#fff;
    color:#3f6334;
    font-size:16px
  }
  .academy-public #mainNavbar .mobile-menu-extras > .btn {
    display:block;
    padding:9px 12px;
    border-radius:10px;
    font-size:14px
  }
  .academy-public #mainNavbar .mobile-menu-extras > .btn + .btn {
    margin-top:8px
  }
  .academy-public .main-header .offcanvas-backdrop {
    position:fixed;
    height:100dvh
  }
}
@media(min-width:992px) {
  .academy-public #mainNavbar {
    display:flex;
    flex-grow:0;
    justify-content:flex-end
  }
}
