/*!
 * Bootstrap v3.3.6 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

h1.underline,
h4.underline {
  border-bottom: 1px solid #bcbcbc;
  padding-bottom: 21px;
}

@media (max-width: 767px) {
  
  .text_center-mobile {
    text-align: center;
  }
}


.btn-lg-home {
  padding: 20px 40px;
  font-size: 15px;
}


.btn-info-home {
  color: #fff;
  border-color: #fff;
  background: transparent;
}

.btn-info-home:hover {
  color: #000;
  border-color: #000;
  background: #fff;
}

.btn-info-home:active {
  color: #000;
  border-color: #000;
  background: #fff;
}

.btn-info-home:focus {
  color: #000;
  border-color: #000;
  background: #fff;
}


.breadcrumb > li a {
  color: #302ce1;
  padding: 2px 4px;
}
.breadcrumb > li a:hover {
  color: #302ce1;
}


.pagination > li > a,
.pagination > li > span {
  background-color: transparent;
  border: 0px;
  margin-left: 10px;
  width: 40px;
  height: 40px;
  text-align: center;
}


.pagination > li:first-child > a:hover,
.pagination > li:first-child > span:hover {
  background: none;
}


.pagination > li:last-child > a:hover,
.pagination > li:last-child > span:hover {
  background: none;
}


.pagination > li > a:hover,
.pagination > li > a:focus,
.pagination > li > span:hover,
.pagination > li > span:focus {
  background-color: transparent;
  border-color: transparent;
}


.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > a:focus,
.pagination > .active > span,
.pagination > .active > span:hover,
.pagination > .active > span:focus {
  border-color: transparent;
  border-radius: 50%;
  border: solid 1px;
}

.logo-container {
  height: 51px;
  width: 187px;
  margin-left: 9px;
}


.fixed-top {
  border-width: 0;
}


.static-top {
  border-width: 0;
  margin-bottom: 0;
}


.navbar-default {
  border-color: transparent;
}


.homelink,
a.homelink:hover,
a.homelink:focus {
  color: #fff;
  text-decoration: none;
}


.register-bar {
  clear: both;
}


.fixed-top.navbar {
  min-height: 67px;
}

.fixed-top.navbar .navbar-collapse {
  max-height: 510px;
  box-shadow: none;
  border-top: none;
  padding-top: 8px;
}

.fixed-top.navbar .form-inline {
  border: none;
  margin-left: 0;
  margin-right: 0;
}

.fixed-top.navbar .form-inline .form-control {
  font-size: 1em;
}


.static-top.navbar .navbar-collapse {
  max-height: 510px;
  box-shadow: none;
  border-top: none;
}


.static-top.navbar .form-inline {
  border: none;
  margin-left: 0;
  margin-right: 0;
}

.static-top.navbar .form-inline .form-control {
  font-size: 1em;
}

@media (min-width: 992px) {
  
  .fix-navbar .register-bar {
    display: none;
  }
}


.fixed-top.navbar > .container > .row > div {
  float: none !important;
  display: inline-block;
  vertical-align: bottom;
}


.static-top.navbar > .container > .row > div {
  float: none !important;
  display: inline-block;
  vertical-align: bottom;
}


.fixed-top.navbar .menu-bar > .navbar-nav > li > a {
  font-family: 'Segoe UI Semibold', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 1em;
  font-weight: bold;
}


.fixed-top.navbar .menu-bar > .navbar-nav > .divider-vertical {
  height: 21px;
  margin: 0 4px;
  margin-top: 14.5px;
  border-right: 1px solid #fff;
  border-left: 1px solid #666;
}


.static-top.navbar .menu-bar > .navbar-nav > li > a {
  font-family: 'Segoe UI Semibold', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 1em;
  font-weight: bold;
}


.static-top.navbar .menu-bar > .navbar-nav > .divider-vertical {
  height: 21px;
  margin: 0 4px;
  margin-top: 14.5px;
  border-right: 1px solid #fff;
  border-left: 1px solid #666;
}


.fixed-top .navbar-brand {
  font-size: 2.11em;
  font-family: 'Segoe UI Light', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #232222;
  position: relative;
}

@media (max-width: 1200px) {
  
  .fixed-top .navbar-brand {
    position: initial;
  }
}


.fixed-top .navbar-header {
  padding-top: 8px;
}


.static-top .navbar-brand {
  font-size: 2.11em;
  font-family: 'Segoe UI Light', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #232222;
  position: relative;
}

@media (max-width: 1200px) {
  
  .static-top .navbar-brand {
    position: initial;
  }
}


.fixed-top.navbar-dark {
  background-color: #232222;
  border-color: transparent;
}

.fixed-top.navbar-dark .navbar-brand {
  color: #fff;
}

.fixed-top.navbar-dark .divider-vertical {
  border-right-color: #fff;
  border-left-color: #111;
}


.static-top.navbar-dark {
  background-color: #ffffff;
  border-color: transparent;
  -webkit-box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
  -moz-box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
  box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
}

.static-top.navbar-dark .navbar-brand {
  color: #fff;
}

.static-top.navbar-dark .divider-vertical {
  border-right-color: #fff;
  border-left-color: #111;
}


.navbar-dark .navbar-nav > li > a {
  color: #000;
}

.navbar-dark .navbar-nav > li > a:hover {
  color: #fff;
  background-color: #302ce1;
  /*border-bottom: 4px solid #2F5FEF;
    padding-bottom: 10px;*/
}

.navbar-dark .navbar-nav > li > a:focus {
  color: #fff;
  background-color: #302ce1;
  border: 1px dashed black !important;
  outline: 1px dashed #ffffff;
}

@media (max-width: 1199px) {
  
  .navbar-dark .navbar-nav > li > a:hover {
    color: #fff;
    background-color: #302ce1;
    /*border-bottom: 4px solid #2F5FEF;
    padding-bottom: 6px;*/
  }
}


.menu-bar .shopping_link {
  position: relative;
}

.menu-bar .shopping_link .cart_amount {
  border-radius: 100%;
  height: 17px;
  width: 17px;
  position: absolute;
  bottom: 6px;
  right: -6px;
  background-color: #2f5fef;
  text-align: -webkit-center;
  line-height: 17px;
  font-size: 9px;
  padding-left: 1.9px;
  color: #fff;
}

.menu-bar .shopping_link .cart_amount:hover {
  color: #fff;
}

@media (max-width: 1199px) {
  
  .fixed-top .navbar-collapse .nav > .divider-vertical {
    display: none;
  }
}

@media (max-width: 1199px) {
  
  .static-top .navbar-collapse .nav > .divider-vertical {
    display: none;
  }
}

@media (max-width: 767px) {
  
  .fixed-top.navbar > .container > .row > div {
    display: block;
  }
  
  .navbar-header {
    position: relative;
  }
}

@media (max-width: 767px) {
  
  .static-top.navbar > .container > .row > div {
    display: block;
  }
  
  .navbar-header {
    position: relative;
  }
}


.card {
  -webkit-box-shadow: 0 0px 0px transparent;
  box-shadow: 0 0px 0px transparent;
}




body {
  padding-top: 0px;
  
  margin: 0;
  height: 100%;
}

@media (max-width: 767px) {
  
  body {
    padding-top: 0px;
  }
}


.layer_down {
  height: 50px;
  background: url('layer_down.png') no-repeat bottom center;
  position: absolute;
  bottom: 0;
  z-index: 900;
  width: 100%;
}


.layer_up {
  height: 40px;
  background: url('layer_up.png') no-repeat bottom center;
  position: relative;
  z-index: 20;
}


.section-margin {
  margin: 21px 0;
}


.section-inline-search {
  background-size: cover;
}

.section-inline-search .row > div {
  margin-top: 100px;
}

.section-inline-search .row > div h1 {
  color: #fff;
}

@media screen and (max-width: 600px) {
  
  .section-inline-search .row > div h1 {
    font-size: 16vw;
  }
}

.section-inline-search .row > div .form-inline .row .input-group {
  margin-right: 21px;
}

.section-inline-search .row > div .form-inline .row .input-group .input-group-text {
  background-color: #fff;
  border-right: none;
}

.section-inline-search .row > div .form-inline .row .input-group .form-control {
  height: 60px;
  border-left: none;
  box-shadow: none;
}

.section-inline-search .row > div .form-inline .row .input-group .form-control:focus {
  box-shadow: none;
  border-right: none;
  border-color: #ccc;
}


.wrapper {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  -moz-transition: width 0.3s ease-out;
  -o-transition: width 0.3s ease-out;
  -webkit-transition: width 0.3s ease-out;
  transition: width 0.3s ease-out;
}


.wrapper .contained {
  position: relative;
  height: 400px;
  padding-bottom: 56.25%;
}


.wrapper .contained > svg {
  margin-top: -100px;
  position: absolute;
  display: block;
}


.contained .row {
  margin-top: 80px;
}


footer {
  position: relative;
  color: #22221e;
}

footer .footer-top {
  width: 100%;
  min-height: 130px;
  background-color: #232222;
  display: flex;
  align-items: center;
}

footer .footer-top h3,
footer .footer-top h4 {
  color: #fff;
}

footer .footer-top .list-social-links {
  margin-top: 25px;
  margin-bottom: 12.5px;
}

@media screen and (max-width: 991px) {
  
  footer .footer-top h3,
  footer .footer-top .list-social-links {
    text-align: center;
  }
}

footer .footer-bottom {
  width: 100%;
  min-height: 68px;
  background-color: #d2d2ce;
  font-size: 14px;
  display: flex;
  align-items: center;
}

footer .footer-bottom p {
  margin: 0;
  color: #fff;
}

footer .footer-bottom h4 {
  margin-top: 0;
  color: #fff;
}

footer .footer-bottom ul {
  list-style-type: none;
  margin: 0;
}

footer .footer-bottom ul li a,
footer .footer-bottom ul li a:hover,
footer .footer-bottom ul li a:focus,
footer .footer-bottom ul li a:active,
footer .footer-bottom ul li a.active {
  font-size: 15px;
  color: #fff;
}


.list-social-links {
  list-style-type: none;
  padding-left: 0;
}

.list-social-links li {
  display: inline-block;
  margin: 0 10px;
}

.list-social-links li a,
.list-social-links li a:hover,
.list-social-links li a:focus,
.list-social-links li a:active,
.list-social-links li a.active {
  color: #fff;
}

@media screen and (max-width: 993px) {
  
  .section-landing h1 {
    font-size: 65px;
  }
  
  .section-landing h2 {
    letter-spacing: normal;
    margin-left: -3px;
  }
}


.user-icon {
  width: 16px;
  height: 16px;
  display: inline-block;
  margin-right: 7px;
}


.article-title-container {
  border-top: solid 1px #bcbcbc;
  border-bottom: solid 1px #bcbcbc;
  padding-left: 15px;
  padding-top: 28px;
  padding-bottom: 28px;
}


.article-title {
  margin-left: -35px;
}

.article-title > span {
  margin-left: 3px;
}

.article-title > span .article-author {
  font-weight: bold;
  color: #2f5fef;
}


.article-content {
  margin-top: 15px;
}

.article-content > p {
  text-align: justify;
}

@media screen and (max-width: 993px) {
  
  .article-title {
    margin-left: 0;
    text-align: center;
  }
  
  .article-author {
    text-align: center;
  }
}


.section-search .header-search {
  padding-top: 40px;
  padding-bottom: 40px;
  margin-bottom: 40px;
  background-color: #eeeeee;
}

.section-search .header-search img {
  max-width: 350px;
}

@media screen and (max-width: 600px) {
  
  .section-search .header-search h1 {
    font-size: 13vw;
  }
}


.section-search .title-search {
  font-size: 26px;
  font-weight: bold;
}


.section-search input {
  border-style: none;
  padding-left: 10px;
  height: 60px;
}


.section-search .media .media-left > img {
  max-width: 240px;
}


.section-search .media .media-body {
  padding-left: 20px;
}

.section-search .media .media-body > a {
  text-decoration: none;
  font-weight: bold;
}

.section-search .media .media-body .media-heading {
  margin-top: 5px;
  margin-bottom: 20px;
}


.cards-container {
  margin-top: 84px;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 991px) {
  
  .cards-container {
    flex-direction: column;
  }
}


.carousel-custom .carousel-inner > .carousel-item {
  margin-right: auto;
  margin-left: auto;
}

.carousel-custom .carousel-inner > .carousel-item .carousel-caption {
  display: flex;
  align-items: center;
  top: 5%;
  left: 5%;
  right: 5%;
}

@media screen and (min-width: 768px) {
  
  .carousel-custom .carousel-inner > .carousel-item .carousel-caption {
    left: 5%;
    right: 5%;
  }
}


.carousel-custom .carousel-indicators li {
  border-color: #232222;
}


.table.table-forms td {
  padding: 15px 8px;
}


.table.table-forms tbody tr:first-child td {
  border-top: none;
}


.poll {
  background-color: #eeeeee;
  border-top: 7px solid #0b80d0;
  position: relative;
  padding-left: 15px;
  padding-right: 15px;
}

.poll .poll-header {
  display: flex;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -webkit-box-align: center;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #bcbcbc;
  padding-bottom: 5px;
}

.poll .poll-header h4 {
  font-weight: bold;
  display: inline-block;
}

.poll .poll-content {
  padding-top: 25px;
}

.poll .poll-content p {
  font-size: 14px;
}

.poll .poll-content form {
  border-bottom: 1px solid #bcbcbc;
  padding-bottom: 10px;
}

.poll .poll-content .poll-buttons {
  padding-top: 20px;
  padding-left: 11px;
}

.poll .poll-content .poll-buttons .btn {
  padding: 4px 14px;
  font-size: 14px;
}

.poll .poll-content .poll-buttons .btn-default,
.poll .poll-content .poll-buttons .btn-secondary {
  color: #000;
  border-color: #000;
}

.poll .poll-content .poll-buttons .btn-default:hover,
.poll .poll-content .poll-buttons .btn-secondary:hover {
  color: #000;
  border-color: #000;
}

.poll .poll-tags {
  padding-top: 10px;
}

.poll .poll-tags h4 {
  border-bottom: 1px solid #bcbcbc;
  padding-bottom: 10px;
}

.poll .poll-tags .tag {
  display: inline-block;
  background-color: #e1e1e1;
  color: #232222;
  padding: 5px 14px;
  margin: 5px 0px;
  text-transform: uppercase;
  font-size: 13px;
}


.nav-sidebar {
  padding-left: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.nav-sidebar .nav > li > a {
  padding: 4px 20px;
  color: #2f5fef;
  border-right: 2px solid #eeeeee;
}

.nav-sidebar .nav > li > a:hover,
.nav-sidebar .nav > li > a:focus {
  color: #232222;
  text-decoration: none;
  background-color: transparent;
  border-right: 2px solid #555555;
}

.nav-sidebar .nav > li > a:before {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\e250';
  margin-right: 7px;
}

.nav-sidebar .nav > .active > a {
  color: #232222;
  text-decoration: none;
  background-color: transparent;
  border-right: 2px solid #555555;
  font-weight: bold;
}

.nav-sidebar .nav > .active > a:before {
  content: '\e252';
}

.nav-sidebar .nav > .active:hover > a,
.nav-sidebar .nav > .activefocus > a {
  font-weight: bold;
}

.nav-sidebar .nav > .active > ul.nav {
  display: block;
}

.nav-sidebar .nav ul.nav {
  display: none;
}

.nav-sidebar .nav .nav > li > a {
  padding-top: 1px;
  padding-bottom: 1px;
  padding-left: 30px;
}

.nav-sidebar .nav .nav > .active,
.nav-sidebar .nav .nav > .active:hover,
.nav-sidebar .nav .nav > .active:focus {
  font-weight: bold;
}

.nav-sidebar .nav .nav .nav > li > a {
  padding-top: 1px;
  padding-bottom: 1px;
  padding-left: 60px;
}

.nav-sidebar .nav .nav .nav > li > a:before {
  content: '';
}

.nav-sidebar .nav .nav .nav > .active,
.nav-sidebar .nav .nav .nav > .active:hover,
.nav-sidebar .nav .nav .nav > .active:focus {
  font-weight: bold;
}


#navbar .dropdown-menu {
  margin-top: 8px;
}


#navbar .dropdown-search {
  padding-top: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 9px;
}

#navbar .dropdown-search #q {
  min-width: 200px;
}

@media (max-width: 1199px) {
  
  #navbar .dropdown-search .input-group-btn {
    vertical-align: top;
  }
  
  #navbar .dropdown-search #search-filter {
    width: 100%;
    text-align: left;
    padding-left: 25px;
  }
  
  #navbar .dropdown-search.dropdown-menu > li:hover,
  #navbar .dropdown-search .dropdown-menu > li:hover {
    color: white;
    background-color: transparent;
  }
}


.tabs-header {
  padding-bottom: 9.5px;
  margin: 42px 0 21px;
}


.help-block.error,
label.col-form-label.required:before,
.crmEntityFormView .cell div.info.required label:after,
.crmEntityFormView .cell div.info div.validators,
.crmEntityFormView .validator-text,
.crmEntityFormView .rank-order-cell .validator-text,
.crmEntityFormView .constant-sum-cell .validator-text,
.crmEntityFormView .stack-rank-cell .validator-text {
  color: #a94442;
}

@media screen and (-ms-high-contrast: active) {
  
  .navbar-default .navbar-toggler .navbar-toggler-icon {
    background-color: #888;
  }
  
  .navbar-dark .navbar-toggler .navbar-toggler-icon {
    background-color: #fff;
  }
}


.pr-color {
  color: #2f5fef;
}


.blue_border {
  padding-bottom: 10px;
  border-bottom: 7px solid #0b80d0;
}


.page_section {
  position: relative;
  background-size: cover;
  color: #000;
}

.page_section .row {
  padding-top: 40px;
  padding-bottom: 100px;
}

.page_section .row.sidebar-home {
  padding-bottom: 0;
}

.page_section h1 {
  font-size: 32px;
}

.page_section h2 {
  color: #666666;
  font-size: 40px;
}

.page_section h3 {
  font-size: 66px;
  font-family: 'Segoe UI Light', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.page_section p {
  padding-top: 5px;
}

.page_section .btn {
  margin-top: 50px;
}

.page_section .form-search .btn {
  padding: 4px 12px;
  margin-top: 1px;
}

.page_section .section-landing-heading p,
.page_section .section-landing-sub-heading p {
  border-top: 0;
}


.form-search .btn {
  border: 1px solid #ccc;
}


.form-search .btn-default:hover,
.form-search .btn-secondary:hover {
  border-color: #ccc;
}


.form-search .dropdown-submenu {
  right: -2px;
}


.form-search .dropdown-menu {
  margin-top: 0px;
}


.dropdown-search.dropdown-menu > li:hover {
  background-color: transparent;
}


#navbar .form-search .dropdown-menu {
  margin-top: 0px;
}


.section-diagonal-left {
  -webkit-transform: skew(0deg, -1.3deg);
  -ms-transform: skew(0deg, -1.3deg);
  transform: skew(0deg, -1.3deg);
  overflow: hidden;
  margin-top: -60px;
  margin-bottom: -20px;
}

.section-diagonal-left .section-diagonal-left-content {
  -webkit-transform: skew(0deg, 1.3deg);
  -ms-transform: skew(0deg, 1.3deg);
  transform: skew(0deg, 1.3deg);
  background-size: cover;
  margin-top: -70px;
}

.section-diagonal-left .section-diagonal-left-content:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  z-index: -1;
  background-color: #fff;
}


.section-diagonal-right {
  -webkit-transform: skew(0deg, 1.3deg);
  -ms-transform: skew(0deg, 1.3deg);
  transform: skew(0deg, 1.3deg);
  overflow: hidden;
  margin-top: 60px;
  margin-bottom: -20px;
}

.section-diagonal-right.home-section {
  margin-top: -60px;
}

.section-diagonal-right .section-diagonal-right-content {
  -webkit-transform: skew(0deg, -1.3deg);
  -ms-transform: skew(0deg, -1.3deg);
  transform: skew(0deg, -1.3deg);
  background-size: cover;
  margin-top: -70px;
}

.section-diagonal-right .section-diagonal-right-content:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.8;
  z-index: -1;
  background-color: #2f5fef;
}


.section-diagonal-left .row,
.section-diagonal-right .row {
  padding-top: 125px;
}


.section-diagonal-left .col-lg-5,
.section-diagonal-right .col-lg-5 {
  float: none;
  margin: 0 auto;
}


.section-diagonal-left p,
.section-diagonal-right p {
  border-top: none;
}


.section-landing {
  background: linear-gradient(transparent, transparent);
  background-size: cover;
}

.section-landing .row > div {
  margin-top: 80px;
}

.section-landing .row > div .section-landing-heading {
  font-size: 4rem;
  color: #fff;
}

@media screen and (max-width: 600px) {
  
  .section-landing .row > div .section-landing-heading {
    font-size: 16vw;
  }
}

.section-landing .row > div .section-landing-sub-heading {
  margin-top: 0;
  margin-bottom: 50px;
  font-size: 1.5rem;
  color: #fff;
  font-weight: Semibold;
}

@media screen and (max-width: 600px) {
  
  .section-landing .row > div .section-landing-sub-heading {
    font-size: 4vw;
  }
}


.section-sub-landing {
  background-size: cover;
}


.section-default {
  background-size: cover;
}

@media screen and (max-width: 767px) {
  
  .section-default:before {
    content: ' ';
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    background: -moz-linear-gradient(
      top,
      transparent 0%,
      rgba(0, 0, 0, 0.59) 41%,
      rgba(0, 0, 0, 0.62) 43%,
      black 100%
    );
    
    background: -webkit-linear-gradient(
      top,
      transparent 0%,
      rgba(0, 0, 0, 0.59) 41%,
      rgba(0, 0, 0, 0.62) 43%,
      black 100%
    );
    
    background: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0, 0, 0, 0.59) 41%,
      rgba(0, 0, 0, 0.62) 43%,
      black 100%
    );
    
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 );
    
  }
}

.section-default .row {
  padding-bottom: 150px;
}


.section-knowledge {
  margin-bottom: 40px;
}


.content-home .btn {
  margin-top: 0;
}


.content-home .card {
  background-color: transparent;
  border: 0;
  box-shadow: none;
}

.content-home .card p {
  border: 0;
}


.content-home .card-header {
  display: none;
}


.content-home .list-group-item {
  padding: 20px 0;
  font-size: 20px;
  background-color: transparent;
  border: 0;
  border-top: 1px solid #ddd;
}

.content-home .list-group-item img {
  margin-right: 25px;
}


.content-home a.list-group-item,
.content-home .list-group-item a.title {
  color: #232222;
}

.content-home a.list-group-item:hover,
.content-home a.list-group-item:focus,
.content-home .list-group-item a.title:hover,
.content-home .list-group-item a.title:focus {
  color: #232222;
  text-decoration: underline;
  background-color: transparent;
}


.content-home .title,
.content-home .description {
  display: block;
}


.content-home .title {
  font-size: 24px;
  font-family: 'Segoe UI Light', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}


.content-home .description {
  display: block;
  font-size: 14px;
}


.sidebar-home {
  background-color: #eeeeee;
  border-top: 7px solid #0b80d0;
  margin-top: 36px;
  position: relative;
}

.sidebar-home h3 {
  font-size: 18px;
}

.sidebar-home .card {
  background-color: transparent;
  border: 0;
  box-shadow: none;
}

.sidebar-home .card-header {
  padding-left: 0;
  background-color: transparent;
  border: 0;
}

.sidebar-home .card-title {
  font-size: 14px;
  color: #2f5fef;
  font-family: 'Segoe UI Semibold', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.sidebar-home .list-group-item {
  padding-left: 0;
  font-size: 14px;
  background-color: transparent;
  border: 0;
}

.sidebar-home .list-group-item:hover,
.sidebar-home .list-group-item:focus {
  text-decoration: underline;
  background-color: transparent;
}

.sidebar-home .list-group-item .date {
  visibility: hidden;
}


.section-landing-search {
  min-height: 250px;
  background: url(homehero.jpg) no-repeat 0 25%;
  background-size: cover;
}


.section-landing-forums {
  min-height: 250px;
  background-size: cover;
}


.section-knowledge .list-group a.list-group-item {
  color: #2f5fef;
}


.section-knowledge .card-title {
  color: #000;
}


.page_section.section-landing .row {
  padding-bottom: 60px;
}


.page_section.section-landing .row > div {
  margin-top: 0px;
}


ul.tree,
ol.tree {
  color: #2f5fef;
}


.tree ul,
.tree ol,
.tree ul ul,
.tree ol ul,
.tree ol ol ul,
.tree ol ul ul,
.tree ul ol ul,
.tree ul ul ul {
  list-style-type: disc;
  color: #2f5fef;
}



.adx_forms_font_calibri {
  font-family: Calibri;
}


.adx_forms_font_new_roman {
  font-family: Times New Roman;
}


.adx_forms_font_helvetica {
  font-family: 'Helvetica', sans-serif;
}


html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  height: 100%;
  margin: 0;
}

.wrapper-body {
  min-height: calc(100% - 132px);
  margin-bottom: 0px;
}

.footer .push {
  height: 43px;
}

.footer {
  margin-top: 0px;
}

.page-copy {
  margin-top: 0px;
  margin-bottom: 0px;
}

.navbar-brand {
  line-height: 37px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: unset;
}

body,
legend {
  color: #000000;
}

.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus {
  background-color: #f2f2f2;
  color: #302ce1;
}

.btn-default,
.btn-secondary {
  color: #302ce1;
  background-color: white;
  border-color: #302ce1;
}

.btn-default:hover,
.btn-default:active,
.btn-default.active,
.btn-default:focus,
.btn-default.focus,
.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary.active,
.btn-secondary:focus,
.btn-secondary.focus {
  color: #302ce1;
  background-color: #f2f2f2;
  border-color: #302ce1;
}

.btn-primary {
  color: white;
  background-color: #302ce1;
  border-color: #302ce1;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary.active,
.btn-primary:active:hover,
.btn-primary.active:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.btn-primary:focus,
.btn-primary.focus {
  color: white;
  background-color: #5c59e7;
  border-color: #5c59e7;
}

.navbar-dark .navbar-toggler {
  border: 1px solid #302ce1;
}

.navbar-dark .navbar-toggler:hover {
  background-color: #4642e4;
}

.navbar-dark .navbar-toggler:focus {
  border: 1px solid black;
  background-color: #4642e4;
}

.navbar-dark .navbar-nav .show.dropdown-menu {
  background-color: #302ce1;
}

.navbar-dark .navbar-nav .show.dropdown-menu > li > a {
  color: #fff;
}

.navbar-dark .navbar-nav > .dropdown > a.show .navbar-dark .navbar-nav > .dropdown > a.show:hover,
.navbar-dark .navbar-nav > .dropdown > a.show:focus {
  background-color: #302ce1;
  color: #fff;
}

.navbar-dark .navbar-nav .show.dropdown-menu > li > a:hover,
.navbar-dark
  .navbar-nav
  .show.dropdown-menu
  > li
  > a:focus
  .navbar-dark
  .navbar-nav
  .show.dropdown-menu
  > .active
  > a,
.navbar-dark .navbar-nav .show.dropdown-menu > .active > a:hover,
.navbar-dark .navbar-nav .show.dropdown-menu > .active > a:focus {
  background-color: #ffffff;
  color: #302ce1;
}

.nav > li > a:hover,
.nav > li > a:focus {
  background-color: #f2f2f2;
}

.nav .show.dropdown-menu {
  background-color: #ffffff;
}

.nav .show.dropdown-menu > li > a {
  color: black;
}

.nav > .dropdown > a .nav > .dropdown > a:hover,
.nav > .dropdown > a:focus {
  background-color: #f2f2f2;
}

.nav .show.dropdown-menu > .active > a,
.nav .show.dropdown-menu > .active > a:hover,
.nav .show.dropdown-menu > .active > a:focus,
.nav .show.dropdown-menu > li > a:hover,
.nav .show.dropdown-menu > li > a:focus {
  background-color: #f2f2f2;
  color: black;
}

#filterDropdownId > .dropdown-menu > li > a:focus {
  border: 1px solid;
}

#filterDropdownId > a:focus {
  border: 1px solid;
}

.crmEntityFormView,
.entitylist {
  background-color: #ffffff;
  color: #000000;
  border: 1px solid #f2f2f2;
}

.sectionPrimaryColor {
  background-color: #302ce1;
  color: #ffffff;
}

.sectionPrimaryColor h1,
.sectionPrimaryColor h2,
.sectionPrimaryColor h3,
.sectionPrimaryColor h4,
.sectionPrimaryColor h5,
.sectionPrimaryColor h6 {
  color: #ffffff;
}

.sectionPrimaryColor .crmEntityFormView h1,
.sectionPrimaryColor .crmEntityFormView h2,
.sectionPrimaryColor .crmEntityFormView h3,
.sectionPrimaryColor .crmEntityFormView h4,
.sectionPrimaryColor .crmEntityFormView h5,
.sectionPrimaryColor .crmEntityFormView h6 {
  color: #000000;
}

.sectionPrimaryColor .entitylist h1,
.sectionPrimaryColor .entitylist h2,
.sectionPrimaryColor .entitylist h3,
.sectionPrimaryColor .entitylist h4,
.sectionPrimaryColor .entitylist h5,
.sectionPrimaryColor .entitylist h6 {
  color: #000000;
}

.sectionFixedStyle {
  color: #000000;
}

a {
  color: #302ce1;
}

a:not(.btn) {
  text-decoration: underline;
}

[role='navigation'] a,
[role='contentinfo'] a,
.toolbar a,
a.list-group-item {
  text-decoration: none;
}

a:hover,
a:focus {
  color: #302ce1;
  text-decoration: underline;
}

.breadcrumb > .active {
  color: #000000;
  font-weight: bold;
}

p {
  font-size: 16px;
}

h1 {
  font-size: 36px;
  font-weight: bold;
  margin-left: 0px;
  margin-right: 0px;
}

h2 {
  font-size: 28px;
  font-weight: 600;
}

h3 {
  font-size: 24px;
  font-weight: 600;
}

.page-header {
  border-bottom: 0px;
}

.navbar-brand {
  padding: 8px;
}

.static-top.navbar-dark .navbar-brand {
  font-size: 24px;
  font-weight: bold;
  font-family: unset;
}

.static-top.navbar-dark .navbar-brand a {
  color: black;
  text-decoration: none;
}
.help-block {
  color: black;
}

.skip-to-content a {
  padding: 10px 20px;
  position: absolute;
  top: -43px;
  left: 0px;
  color: #ffffff;
  border-radius: 2px;
  background: #742774;
  -webkit-transition: top 1s ease-out;
  transition: top 1s ease-out;
  z-index: 100;
  font-family: Segoe UI;
  font-size: 14px;
}

.skip-to-content a:focus {
  position: absolute;
  left: 0px;
  top: 0px;
  outline: none;
  color: #ffffff;
  -webkit-transition: top 0.1s ease-in;
  transition: top 0.1s ease-in;
}

@media screen and (-ms-high-contrast: active) {
  .nav-tabs > li.active > a,
  .nav-tabs > li.active > a:hover,
  .nav-tabs > li.active > a:focus {
    border-bottom: 0px;
  }

  .nav-tabs > li > a {
    border: 0px;
  }

  .navbar-dark .navbar-nav .show.dropdown-menu > li > a:hover,
  .navbar-dark
    .navbar-nav
    .show.dropdown-menu
    > li
    > a:focus
    .navbar-dark
    .navbar-nav
    .show.dropdown-menu
    > .active
    > a,
  .navbar-dark .navbar-nav .show.dropdown-menu > .active > a:hover,
  .navbar-dark .navbar-nav .show.dropdown-menu > .active > a:focus {
    border: 1px solid;
  }

  .facet-list-group-item {
    margin: 1px;
    border: 0px;
  }
}

.frenchAccessibilityLink {
  float: right;
  width: 297px;
  height: 24px;
  font-family: Segoe UI;
  font-size: 18px;
  line-height: 21px;
  text-decoration-line: underline;
  color: #2c33d8;
}


.pva-floating-style {
  position: fixed;
  bottom: 0px;
  right: 0px;
  margin-right: 16px;
  margin-bottom: 18px;
  z-index: 9999;
}


.visible-lg-block {
  display: flex !important;
  align-items: center;
}


h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 21px;
  margin-bottom: 10.5px;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 10.5px;
  margin-bottom: 10.5px;
}



.nav-item .dropdown-toggle::after {
  border-top: 0.2em solid;
  border-right: 0.2em solid transparent;
  border-bottom: 0;
  border-left: 0.2em solid transparent;
}

.custom-container {
  flex-wrap: wrap !important;
}

.custom-sitetitle {
  text-wrap: wrap;
}

.custom-navbar-toggler {
  margin-left: auto;
}

a:not(.btn):hover {
  text-decoration: underline !important;
}

/* CEUFast public site visual foundation */
:root {
  --cf-navy: #002b5c;
  --cf-navy-2: #001f46;
  --cf-ink: #071a3a;
  --cf-muted: #52627d;
  --cf-line: #dbe3ef;
  --cf-soft: #f5f8fc;
  --cf-gold: #f7a92a;
  --cf-green: #2e9f64;
  --cf-blue: #1262d5;
  --cf-purple: #9156dc;
  --cf-shadow: 0 12px 28px rgba(7, 26, 58, 0.12);
}

html,
body {
  background: #fff;
  color: var(--cf-ink);
  font-family: "Segoe UI", Arial, sans-serif;
}

.wrapper-body,
.page-copy {
  margin: 0;
}

.cf-shell {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
}

.cf-site-header {
  background: linear-gradient(90deg, #002452 0%, #00366f 58%, #002452 100%);
  border-bottom: 1px solid rgba(247, 169, 42, 0.55);
  color: #fff;
  position: relative;
  z-index: 20;
}

.cf-header-inner {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.cf-logo {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #fff;
  text-decoration: none !important;
  white-space: nowrap;
}

.cf-logo-image {
  display: block;
  width: auto;
  height: 38px;
  max-width: 235px;
  object-fit: contain;
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.9)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
}

.cf-footer-logo .cf-logo-image {
  height: 42px;
}

.cf-logo:hover,
.cf-logo:focus {
  color: #fff;
  text-decoration: none !important;
}

.cf-logo-mark {
  display: grid;
  grid-template-columns: repeat(2, 12px);
  grid-template-rows: repeat(2, 12px);
  gap: 2px;
}

.cf-logo-mark i {
  display: block;
  border-radius: 3px;
  background: #d8e6f4;
}

.cf-logo-mark i:first-child {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  background: var(--cf-gold);
}

.cf-logo-mark i:nth-child(2) {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

.cf-logo-mark i:nth-child(3) {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  background: #5d8cc3;
}

.cf-logo-text {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 29px;
  font-weight: 700;
  line-height: 1;
}

.cf-logo-text span {
  color: var(--cf-gold);
  font-style: italic;
}

.cf-logo-text small {
  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
}

.cf-menu-button {
  display: none;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: transparent;
  color: #fff;
  border-radius: 6px;
  width: 42px;
  height: 38px;
}

.cf-nav {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}

.cf-nav a {
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 68px;
  padding: 0 15px;
  font-weight: 700;
  text-decoration: none !important;
  border-bottom: 4px solid transparent;
}

.cf-nav a:hover,
.cf-nav a:focus,
.cf-nav a.is-active {
  color: #fff;
  border-bottom-color: var(--cf-gold);
}

.cf-nav .cf-user-link,
.cf-account-menu {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.cf-nav em {
  min-width: 18px;
  height: 18px;
  border: 1px solid var(--cf-gold);
  border-radius: 999px;
  color: var(--cf-gold);
  font-size: 11px;
  font-style: normal;
  line-height: 16px;
  text-align: center;
}

.cf-user-link .fa-circle-user {
  color: #f6d9a6;
  font-size: 26px;
}

.cf-site-header .fa-solid::before,
.cf-site-header .fa-regular::before,
.cf-page .fa-solid::before,
.cf-page .fa-regular::before,
.cf-site-footer .fa-solid::before,
.cf-site-footer .fa-regular::before {
  display: inline-block;
  min-width: 1em;
  font-family: "Segoe UI Symbol", "Arial Unicode MS", Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.fa-arrow-up-right-from-square::before,
.fa-up-right-from-square::before { content: "\2197"; }
.fa-bars::before { content: "\2630"; }
.fa-book-open::before { content: "\25A3"; }
.fa-bookmark::before { content: "\25D6"; }
.fa-building::before { content: "\25A6"; }
.fa-cart-shopping::before { content: "\25FC"; }
.fa-chart-line::before { content: "\2197"; }
.fa-check::before { content: "\2713"; }
.fa-chevron-down::before { content: "\2304"; }
.fa-circle-check::before { content: "\2713"; }
.fa-circle-info::before { content: "i"; }
.fa-circle-question::before { content: "?"; }
.fa-circle-user::before,
.fa-user::before { content: "\25C9"; }
.fa-comment-dots::before,
.fa-message::before { content: "\25A3"; }
.fa-credit-card::before { content: "\25AD"; }
.fa-ellipsis-vertical::before { content: "\22EE"; }
.fa-envelope::before { content: "\2709"; }
.fa-file-lines::before { content: "\25A4"; }
.fa-gear::before { content: "\2699"; }
.fa-graduation-cap::before { content: "\25B1"; }
.fa-hand-holding-medical::before { content: "\271A"; }
.fa-home::before { content: "\2302"; }
.fa-id-card-clip::before { content: "\25A4"; }
.fa-lock::before { content: "\25A0"; }
.fa-magnifying-glass::before,
.fa-search::before { content: "\2315"; }
.fa-map-signs::before { content: "\21B1"; }
.fa-person-walking::before { content: "\25B7"; }
.fa-shield-halved::before { content: "\25D2"; }
.fa-user-nurse::before { content: "\271A"; }
.fa-users::before { content: "\25C9"; }
.fa-wheelchair::before { content: "\267F"; }

.cf-account-menu {
  position: relative;
}

.cf-account-menu .cf-user-link {
  border: 0;
  border-bottom: 4px solid transparent;
  background: transparent;
  color: #fff;
  min-height: 68px;
  padding: 0 15px;
  font-weight: 700;
}

.cf-account-menu .cf-user-link:hover,
.cf-account-menu .cf-user-link:focus,
.cf-account-menu.is-open .cf-user-link {
  border-bottom-color: var(--cf-gold);
}

.cf-user-name {
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cf-account-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 10px;
  z-index: 50;
  min-width: 210px;
  padding: 8px;
  border: 1px solid var(--cf-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--cf-shadow);
}

.cf-account-dropdown a {
  display: block;
  min-height: 0;
  padding: 10px 12px;
  border: 0;
  border-radius: 6px;
  color: var(--cf-ink);
}

.cf-account-dropdown a:hover,
.cf-account-dropdown a:focus {
  background: #eef4fb;
  color: var(--cf-ink);
}

.cf-hero {
  min-height: 194px;
  background:
    linear-gradient(90deg, rgba(0, 37, 82, 0.98) 0%, rgba(0, 50, 105, 0.92) 57%, rgba(0, 42, 90, 0.78) 100%),
    url("/Healthcare.jpg") center right / cover no-repeat;
  color: #fff;
  border-bottom: 1px solid rgba(7, 26, 58, 0.2);
}

.cf-hero-inner {
  min-height: 194px;
  display: flex;
  align-items: center;
  gap: 28px;
}

.cf-hero-rule {
  width: 5px;
  height: 118px;
  border-radius: 999px;
  background: var(--cf-gold);
}

.cf-kicker {
  margin: 0 0 8px;
  color: var(--cf-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.12em;
}

.page-copy .cf-hero h1,
.cf-hero h1 {
  margin: 0 0 8px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.05;
  text-shadow: 0 2px 12px rgba(0, 18, 46, 0.42);
}

.page-copy .cf-hero p:not(.cf-kicker),
.cf-hero p:not(.cf-kicker) {
  margin: 0;
  color: #f5f8ff;
  font-size: 18px;
  line-height: 1.55;
  text-shadow: 0 1px 8px rgba(0, 18, 46, 0.36);
}

.cf-main {
  background: linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
  padding: 24px 0 28px;
}

.cf-panel,
.cf-course-card,
.cf-plan-card {
  background: #fff;
  border: 1px solid var(--cf-line);
  border-radius: 8px;
  box-shadow: var(--cf-shadow);
}

.cf-panel h2,
.cf-course-card h3,
.cf-plan-card h2,
.cf-faq h2 {
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
}

.cf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 18px;
  border-radius: 4px;
  font-weight: 700;
  text-decoration: none !important;
  border: 1px solid transparent;
  cursor: pointer;
}

.cf-btn-primary {
  background: linear-gradient(180deg, #003b7a 0%, #00265a 100%);
  color: #fff !important;
}

.cf-btn-orange {
  background: linear-gradient(180deg, #f6a02d 0%, #e97817 100%);
  border-color: #d66b12;
  color: #fff !important;
}

.cf-btn-secondary {
  background: #fff;
  border-color: #0a4389;
  color: #002b5c !important;
}

.cf-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.cf-panel-heading h2 {
  margin: 0;
  font-size: 17px;
}

.cf-panel-heading a,
.cf-panel a {
  color: #004fb0;
  font-weight: 700;
  text-decoration: none;
}

.cf-card-icon,
.cf-plan-icon {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 25px;
}

.cf-blue {
  background: #dfeaff;
  color: #1c61db;
}

.cf-green {
  background: #ddf2df;
  color: #2d9b58;
}

.cf-purple {
  background: #ebdcff;
  color: #8c52d8;
}

.cf-gold {
  background: #fff0d8;
  color: #f0a020;
}

.cf-catalog-layout {
  display: grid;
  grid-template-columns: 275px minmax(0, 1fr);
  gap: 28px;
}

.cf-filter-panel {
  padding: 20px;
  align-self: start;
}

.cf-filter-panel label {
  display: block;
  margin: 18px 0 8px;
  color: var(--cf-ink);
  font-weight: 700;
}

.cf-filter-panel input,
.cf-filter-panel select,
.cf-results-bar select {
  width: 100%;
  min-height: 40px;
  border: 1px solid #ccd7e4;
  border-radius: 6px;
  background: #fff;
  color: var(--cf-ink);
  padding: 8px 12px;
}

.cf-input-wrap {
  position: relative;
}

.cf-input-wrap span {
  position: absolute;
  right: 12px;
  top: 12px;
  color: var(--cf-muted);
}

.cf-filter-panel .cf-btn {
  width: 100%;
  margin-top: 16px;
}

.cf-trust-note {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--cf-line);
  color: var(--cf-muted);
}

.cf-trust-note span {
  color: var(--cf-gold);
  font-size: 26px;
}

.cf-trust-note p {
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.4;
}

.cf-results-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.cf-results-bar label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
}

.cf-results-bar select {
  width: 150px;
}

.cf-course-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.cf-course-card {
  position: relative;
  min-height: 210px;
  padding: 20px 18px 18px;
}

.cf-course-card h3 {
  margin: -48px 68px 5px 66px;
  font-size: 18px;
  line-height: 1.12;
}

.cf-course-card p {
  color: var(--cf-ink);
  font-size: 15px;
  line-height: 1.35;
}

.cf-course-card .cf-meta {
  margin: 0 0 18px 66px;
  color: #003b7a;
}

.cf-course-hours {
  position: absolute;
  top: 22px;
  right: 18px;
  min-width: 36px;
  padding: 5px 6px;
  border-radius: 6px;
  background: #fff0d8;
  color: #a45f00;
  font-weight: 700;
  line-height: 1.05;
  text-align: center;
}

.cf-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--cf-muted);
  font-size: 14px;
}

.cf-pagination {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 18px;
}

.cf-pagination a,
.cf-pagination span {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #002b5c;
  text-decoration: none;
  font-weight: 700;
}

.cf-pagination .is-active {
  background: #002b5c;
  color: #fff;
}

.cf-currency-toggle {
  width: max-content;
  margin-left: auto;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid var(--cf-line);
  border-radius: 7px;
  padding: 7px 10px;
  box-shadow: 0 6px 18px rgba(7, 26, 58, 0.08);
}

.cf-currency-toggle strong {
  background: #002b5c;
  color: #fff;
  border-radius: 4px;
  padding: 4px 12px;
}

.cf-plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.cf-plan-card {
  position: relative;
  padding: 30px 28px 20px;
}

.cf-featured-plan {
  border: 2px solid var(--cf-gold);
}

.cf-ribbon {
  position: absolute;
  left: -2px;
  right: -2px;
  top: -2px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px 8px 0 0;
  background: var(--cf-gold);
  color: #002b5c;
  font-weight: 800;
  font-size: 13px;
}

.cf-featured-plan .cf-plan-icon {
  margin-top: 8px;
}

.cf-plan-icon {
  margin: -56px auto 16px;
  border: 5px solid #f2f5f9;
}

.cf-plan-card h2 {
  margin: 0 0 7px;
  font-size: 20px;
}

.cf-plan-card > p {
  margin: 0 0 14px;
  color: var(--cf-muted);
  font-size: 14px;
}

.cf-price {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--cf-line);
}

.cf-price strong {
  color: #061a3f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
}

.cf-price em {
  margin-left: auto;
  padding: 4px 9px;
  background: #fff0d8;
  border: 1px solid #f3c678;
  border-radius: 4px;
  color: #8b5a11;
  font-size: 12px;
  font-style: normal;
}

.cf-plan-card ul {
  list-style: none;
  padding: 0;
  margin: 16px 0 22px;
}

.cf-plan-card li {
  position: relative;
  margin: 0 0 10px;
  padding-left: 26px;
  color: var(--cf-ink);
}

.cf-plan-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--cf-gold);
  color: #fff;
  font-size: 11px;
  line-height: 15px;
  text-align: center;
}

.cf-plan-card .cf-btn {
  width: 100%;
  min-height: 38px;
}

.cf-safe-note {
  display: flex;
  justify-content: center;
  gap: 9px;
  margin: 12px 0 0 !important;
  color: #6b7893 !important;
  font-size: 13px !important;
}

.cf-plans-lower {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(280px, 1fr);
  gap: 20px;
  margin-top: 24px;
}

.cf-why {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr);
  gap: 20px;
  align-items: center;
  padding: 24px;
  background: #f2f7fc;
}

.cf-why-main {
  display: flex;
  gap: 18px;
  align-items: center;
}

.cf-why-main > span {
  color: #0f4a9a;
  font-size: 42px;
}

.cf-why h2,
.cf-why p {
  margin: 0;
}

.cf-why p {
  color: var(--cf-muted);
  font-size: 14px;
}

.cf-faq h2 {
  margin: 0 0 10px;
  font-size: 18px;
}

.cf-faq details {
  background: #fff;
  border: 1px solid var(--cf-line);
  border-radius: 5px;
  margin-bottom: 4px;
  padding: 9px 12px;
}

.cf-faq summary {
  cursor: pointer;
  font-weight: 600;
}

.cf-faq p {
  margin: 8px 0 0;
  color: var(--cf-muted);
  font-size: 14px;
}

.cf-alert {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  min-height: 44px;
  margin-bottom: 14px;
  padding: 8px 18px;
  border: 1px solid #a9c1e7;
  border-radius: 7px;
  background: #f7fbff;
  color: #0049ad;
}

.cf-alert p {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}

.cf-dashboard-grid {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 20px;
}

.cf-dashboard-sidebar,
.cf-dashboard-main {
  display: grid;
  align-content: start;
  gap: 16px;
}

.cf-dashboard-main .cf-quick-actions {
  align-self: start;
}

.cf-dashboard-email-confirmation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 16px;
  border-color: #f2c94c;
  background: #fffbeb;
}

.cf-dashboard-email-confirmation h2 {
  margin: 0 0 6px;
  font-size: 18px;
}

.cf-dashboard-email-confirmation p {
  margin: 0;
}

.cf-dashboard-email-confirmation .cf-form-message {
  margin-top: 8px;
}

.cf-dashboard-sidebar .cf-panel,
.cf-dashboard-main .cf-panel,
.cf-dashboard-bottom .cf-panel {
  padding: 18px;
}

.cf-status-heading {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.cf-status-heading h2,
.cf-dashboard-sidebar h2,
.cf-quick-actions h2,
.cf-dashboard-bottom h2 {
  margin: 0 0 12px;
  font-size: 17px;
}

.cf-status-heading span {
  height: 24px;
  padding: 3px 10px;
  border-radius: 999px;
  background: #d7f3de;
  color: #247842;
  font-size: 13px;
  font-weight: 700;
}

.cf-mini-list {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px 10px;
  margin: 14px 0;
}

.cf-mini-list dt,
.cf-mini-list dd {
  margin: 0;
  color: var(--cf-ink);
  font-size: 14px;
}

.cf-mini-list dt {
  color: var(--cf-muted);
}

.cf-subscription-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.cf-subscription-list article {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.8fr);
  gap: 14px;
  padding: 12px;
  border: 1px solid var(--cf-line);
  border-radius: 8px;
  background: #f7fbff;
}

.cf-subscription-list strong {
  display: block;
  color: #002b5c;
  font-size: 15px;
  font-weight: 800;
}

.cf-subscription-list p {
  margin: 4px 0 0;
  color: var(--cf-muted);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.cf-subscription-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.cf-subscription-meta span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.cf-subscription-meta small {
  color: var(--cf-muted);
  font-size: 12px;
  font-weight: 700;
}

.cf-subscription-meta b {
  color: var(--cf-ink);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.cf-progress-summary {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 12px 0;
}

.cf-progress-ring {
  width: 62px;
  height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: conic-gradient(#39a96b 0 38%, #1262d5 38% 65%, #dfe7f0 65% 100%);
  color: #061a3f;
  font-size: 18px;
  font-weight: 700;
}

.cf-progress-ring::before {
  content: "";
  position: absolute;
}

.cf-action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.cf-action-grid a {
  min-height: 78px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 0 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--cf-line);
  border-radius: 7px;
  color: var(--cf-ink);
  text-decoration: none;
}

.cf-action-grid .cf-card-icon {
  grid-row: 1 / 3;
}

.cf-action-grid small {
  color: var(--cf-muted);
}

.cf-dashboard-two {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 20px;
}

.cf-learning-list,
.cf-completed-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.cf-learning-list article {
  display: grid;
  grid-template-columns: 86px 1fr 40px auto;
  gap: 12px;
  align-items: center;
}

.cf-learning-list img {
  width: 86px;
  height: 58px;
  object-fit: cover;
  border-radius: 6px;
}

.cf-learning-list h3,
.cf-completed-list h3 {
  margin: 0 0 3px;
  color: #002b5c;
  font-size: 15px;
  font-weight: 800;
}

.cf-learning-list p,
.cf-completed-list p {
  margin: 0 0 5px;
  color: var(--cf-muted);
  font-size: 13px;
}

.cf-learning-list span {
  display: block;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: #dfe7f0;
}

.cf-learning-list i {
  display: block;
  height: 4px;
  background: #36a35d;
}

.cf-learning-list em {
  color: var(--cf-ink);
  font-size: 13px;
  font-style: normal;
}

.cf-completed-list article {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--cf-line);
}

.cf-completed-list article:last-child {
  border-bottom: 0;
}

.cf-dashboard-bottom {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(280px, 1fr);
  gap: 20px;
  margin-top: 16px;
}

.cf-absorb-panel {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 16px;
  align-items: center;
  background: #f7fbff;
  border-color: #9dc3ef;
}

.cf-ok {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #d7f3de;
  color: #247842;
}

.cf-absorb-panel strong {
  color: #16843f;
}

.cf-absorb-panel p,
.cf-help-panel p {
  margin: 3px 0 12px;
  color: var(--cf-muted);
}

.cf-absorb-logo {
  color: #302060;
  font-size: 30px;
  white-space: nowrap;
}

.cf-absorb-logo span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 50px;
  margin-right: 5px;
  background: linear-gradient(135deg, #00a3e1 0 45%, #f7a92a 45% 70%, #df2f86 70% 100%);
  color: transparent;
}

.cf-help-panel a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 7px;
  padding: 10px;
  border: 1px solid var(--cf-line);
  border-radius: 6px;
  color: var(--cf-ink);
}

.cf-site-footer {
  background: linear-gradient(90deg, #002452 0%, #00366f 58%, #002452 100%);
  color: #fff;
  position: relative;
}

.cf-page {
  min-height: auto;
}

.wrapper-body {
  min-height: auto !important;
}

.footer .push {
  display: none;
  height: 0;
}

.cf-main {
  padding-block: clamp(18px, 2.4vw, 28px);
}

.cf-footer-social,
.cf-footer-main,
.cf-footer-bottom {
  display: flex;
}

.cf-footer-social {
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.cf-footer-social-links {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cf-footer-social-links a {
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-size: 15px;
}

.cf-footer-social-links a:hover,
.cf-footer-social-links a:focus {
  border-color: var(--cf-gold);
  background: rgba(255, 185, 51, 0.15);
  color: #fff;
}

.cf-footer-tagline {
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-weight: 700;
}

.cf-footer-utility {
  display: flex;
  gap: 24px;
}

.cf-footer-main {
  display: grid;
  grid-template-columns: 1.45fr repeat(3, 1fr);
  gap: 32px;
  padding: 18px 0 18px;
}

.cf-footer-main p {
  max-width: 210px;
  color: rgba(255, 255, 255, 0.86);
  line-height: 1.6;
}

.cf-footer-main h2 {
  margin: 0 0 10px;
  color: var(--cf-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
}

.cf-footer-main nav,
.cf-footer-main nav a {
  display: grid;
  gap: 7px;
}

.cf-site-footer a {
  color: #fff;
  text-decoration: none !important;
}

.cf-footer-bottom {
  min-height: 34px;
  align-items: center;
  justify-content: flex-start;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.cf-footer-bottom p {
  margin: 0;
  font-size: 14px;
}

.cf-footer-bottom div {
  display: flex;
  gap: 24px;
}

.cf-footer-admin-mark {
  position: absolute;
  right: 22px;
  bottom: 16px;
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  opacity: 0.52;
  transition: opacity 160ms ease, transform 160ms ease, background-color 160ms ease;
}

.cf-footer-admin-mark:hover,
.cf-footer-admin-mark:focus {
  background: rgba(255, 255, 255, 0.08);
  opacity: 0.95;
  transform: translateY(-1px);
}

.cf-footer-admin-mark img {
  display: block;
  width: 28px;
  height: 28px;
}

@media (max-width: 1100px) {
  .cf-course-grid,
  .cf-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cf-action-grid,
  .cf-why {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cf-dashboard-two,
  .cf-dashboard-bottom,
  .cf-plans-lower {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .cf-shell {
    width: min(100% - 28px, 1240px);
  }

  .cf-menu-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .cf-nav {
    flex-basis: 100%;
    display: none !important;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-bottom: 12px;
  }

  .cf-nav.show,
  .cf-nav.collapsing {
    display: flex !important;
  }

  .cf-nav a {
    min-height: 44px;
    border-left: 0 !important;
    border-bottom-width: 1px;
    border-bottom-color: rgba(255, 255, 255, 0.12);
  }

  .cf-header-inner {
    flex-wrap: wrap;
  }

  .cf-catalog-layout,
  .cf-dashboard-grid,
  .cf-alert,
  .cf-absorb-panel {
    grid-template-columns: 1fr;
  }

  .cf-dashboard-email-confirmation {
    flex-direction: column;
    align-items: stretch;
  }

  .cf-course-grid,
  .cf-plan-grid,
  .cf-footer-main {
    grid-template-columns: 1fr;
  }

  .cf-learning-list article {
    grid-template-columns: 72px 1fr;
  }

  .cf-learning-list img {
    width: 72px;
  }

  .cf-learning-list em,
  .cf-learning-list .cf-btn {
    grid-column: 2;
    justify-self: start;
  }

  .cf-subscription-list article,
  .cf-subscription-meta {
    grid-template-columns: 1fr;
  }

  .cf-footer-social,
  .cf-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    padding: 14px 0;
  }
}

@media (max-width: 560px) {
  .cf-hero-inner {
    gap: 16px;
  }

  .cf-hero-rule {
    height: 96px;
  }

  .cf-hero h1 {
    font-size: 34px;
  }

  .cf-hero p:not(.cf-kicker) {
    font-size: 16px;
  }

  .cf-results-bar,
  .cf-footer-utility {
    align-items: flex-start;
    flex-direction: column;
  }

  .cf-action-grid,
  .cf-why {
    grid-template-columns: 1fr;
  }
}

.cf-home-welcome {
  min-height: auto;
  display: flex;
  align-items: center;
  padding: clamp(34px, 5vw, 64px) 0;
  background: #173764;
  color: #fff;
  text-align: center;
}

.cf-home-welcome h1 {
  margin: 0 0 4px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
}

.cf-home-welcome p {
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-weight: 700;
}

.cf-home-departments {
  padding: clamp(22px, 3vw, 34px) 0 clamp(24px, 3.2vw, 38px);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.86)),
    radial-gradient(circle at 50% 70%, rgba(210, 222, 236, 0.65), transparent 38%),
    #f4f6f8;
}

.cf-department-heading {
  margin: 0 0 clamp(14px, 2vw, 22px);
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.1;
  text-align: center;
}

.cf-department-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
  gap: clamp(14px, 1.6vw, 22px);
}

.cf-department-card {
  min-height: 210px;
  aspect-ratio: 1.18 / 1;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: clamp(16px, 1.7vw, 24px);
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(7, 26, 58, 0.18);
  color: #173764;
  text-align: center;
  text-decoration: none !important;
}

.cf-department-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #eaf0f7, #ffffff) center / cover no-repeat;
  filter: saturate(0.9);
}

.cf-department-card-nursing::before {
  background-image: url("/Healthcare.jpg");
}

.cf-department-card-aides::before {
  background-image: url("/Education-5.jpg");
}

.cf-department-card-therapy::before {
  background-image: url("/Therapy-Professionals.jpg");
}

.cf-department-card-other::before {
  background-image: url("/Courses.jpg");
}

.cf-department-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.48), rgba(255,255,255,0.7));
  transition: background 0.2s ease;
}

.cf-department-card:hover::after,
.cf-department-card:focus::after {
  background: rgba(255,255,255,0.42);
}

.cf-department-card > * {
  position: relative;
  z-index: 1;
}

.cf-department-card .fa-solid {
  display: none;
  margin-bottom: 8px;
  font-size: clamp(34px, 3.6vw, 48px);
}

.cf-department-card strong {
  display: block;
  width: 100%;
  max-width: 92%;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(19px, 1.2vw, 23px);
  line-height: 1.12;
  overflow-wrap: normal;
  text-wrap: balance;
  white-space: normal;
}

.cf-department-card small {
  width: 100%;
  max-width: 240px;
  margin-top: 8px;
  color: #173764;
  font-size: clamp(12px, 0.9vw, 14px);
  font-weight: 700;
  line-height: 1.3;
  text-wrap: balance;
}

.cf-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.75fr);
  gap: 22px;
}

.cf-detail-main,
.cf-detail-side,
.cf-search-panel,
.cf-table-panel,
.cf-empty-state,
.cf-form-preview,
.cf-order-summary,
.cf-cart-item,
.cf-cta-panel {
  padding: 22px;
}

.cf-detail-main img {
  width: 100%;
  max-height: 310px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 20px;
}

.cf-detail-main h2,
.cf-detail-side h2,
.cf-search-panel h2,
.cf-table-panel h2,
.cf-empty-state h2,
.cf-form-preview h2,
.cf-order-summary h2,
.cf-cart-item h2,
.cf-cta-panel h2 {
  margin: 0 0 12px;
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
}

.cf-detail-main p,
.cf-form-preview p,
.cf-order-summary p,
.cf-cart-item p,
.cf-cta-panel p,
.cf-muted-note {
  color: var(--cf-muted);
  line-height: 1.6;
}

.cf-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.cf-commerce-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.85fr);
  gap: 22px;
}

.cf-cart-item {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 20px;
  align-items: start;
}

.cf-cart-item img {
  width: 130px;
  height: 130px;
  object-fit: cover;
  border-radius: 8px;
}

.cf-cart-item ul {
  margin: 12px 0 0;
  padding-left: 18px;
}

.cf-payment-methods {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid var(--cf-line);
  border-radius: 8px;
  background: #f7fbff;
}

.cf-payment-methods-title {
  margin: 0 0 10px;
  color: var(--cf-ink);
  font-weight: 800;
}

.cf-payment-method-note {
  margin: -4px 0 12px;
  color: var(--cf-muted);
  font-size: 0.92rem;
}

.cf-payment-method-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cf-payment-method-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 6px 11px;
  border: 1px solid #c7d7ef;
  border-radius: 6px;
  background: #fff;
  color: var(--cf-ink);
  font-size: 0.85rem;
  font-weight: 800;
}

.cf-license-editor {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--cf-line);
  border-radius: 8px;
  background: #f7fbff;
}

.cf-license-editor-header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
}

.cf-license-editor h3,
.cf-license-editor p {
  margin: 0;
}

.cf-license-editor h3 {
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
}

.cf-license-editor p {
  margin-top: 5px;
  color: var(--cf-muted);
  font-weight: 600;
  line-height: 1.45;
}

.cf-add-license-button {
  flex: 0 0 auto;
  min-height: 38px;
  white-space: nowrap;
}

.cf-add-license-button .fa-solid {
  margin-right: 6px;
}

.cf-license-list {
  display: grid;
  gap: 12px;
}

.cf-license-entry {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #d6e2ef;
  border-radius: 8px;
  background: #fff;
}

.cf-license-entry.is-hidden {
  display: none;
}

.cf-license-entry-title strong {
  color: var(--cf-ink);
  font-family: var(--cf-sans);
  font-size: 14px;
}

.cf-license-entry-fields {
  display: grid;
  grid-template-columns: minmax(160px, .9fr) minmax(220px, 1.25fr) minmax(160px, 1fr);
  gap: 12px;
}


/* Staged checkout flow. */
.cf-checkout-page[data-checkout-step="account"] .cf-billing-section,
.cf-checkout-page[data-checkout-step="account"] .cf-checkout-payment-intro,
.cf-checkout-page[data-checkout-step="account"] #cfBraintreeCheckout,
.cf-checkout-page[data-checkout-step="payment"] #cfCheckoutAccountForm {
  display: none;
}

.cf-checkout-account-confirmation,
.cf-checkout-payment-intro,
.cf-summary-card {
  border: 1px solid var(--cf-line);
  border-radius: 8px;
  background: #f7fbff;
}

.cf-checkout-account-confirmation,
.cf-checkout-payment-intro {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  justify-content: space-between;
  margin: 18px 0 22px;
  padding: 16px;
}

.cf-checkout-account-confirmation h3,
.cf-checkout-payment-intro h3,
.cf-summary-card h3 {
  margin: 0 0 8px;
  color: var(--cf-ink);
  font-family: var(--cf-sans);
  font-size: 1rem;
}

.cf-checkout-account-confirmation p,
.cf-checkout-payment-intro p,
.cf-summary-card p {
  margin: 0;
}

.cf-checkout-inline-link {
  align-self: center;
  color: var(--cf-blue);
  font-weight: 800;
  text-decoration: none;
}

.cf-checkout-inline-link:hover,
.cf-checkout-inline-link:focus {
  text-decoration: underline;
}

.cf-summary-card {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding: 14px;
}

.cf-total-list dt:last-of-type,
.cf-total-list dd:last-of-type {
  padding-top: 10px;
  border-top: 1px solid var(--cf-line);
  color: var(--cf-ink);
  font-size: 1.05rem;
  font-weight: 900;
}

.cf-summary-account-name {
  color: var(--cf-ink);
  font-weight: 900;
}

.cf-summary-account-email {
  color: var(--cf-muted);
  overflow-wrap: anywhere;
}

@media (max-width: 720px) {
  .cf-checkout-account-confirmation,
  .cf-checkout-payment-intro {
    display: grid;
  }
}
.cf-order-summary .cf-btn {
  width: 100%;
  margin-top: 10px;
}

.cf-checkout-account-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.cf-checkout-account-actions .cf-btn {
  min-width: 180px;
}

.cf-form-grid {
  display: grid;
  gap: 14px;
  margin: 18px 0;
}

.cf-form-grid label {
  display: grid;
  gap: 7px;
  color: var(--cf-ink);
  font-weight: 700;
}

.cf-form-grid input,
.cf-form-grid select,
.cf-form-grid textarea,
.cf-inline-form input {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #ccd7e4;
  border-radius: 6px;
  background: #fff;
  color: var(--cf-ink);
}

.cf-form-grid textarea {
  min-height: 130px;
  resize: vertical;
}

.cf-inline-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
}

.cf-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 22px;
}

.cf-info-grid .cf-panel {
  display: block;
  padding: 22px;
  color: var(--cf-ink);
  text-decoration: none !important;
}

.cf-info-grid h2 {
  margin: 14px 0 8px;
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
}

.cf-info-grid p {
  margin: 0;
  color: var(--cf-muted);
  line-height: 1.5;
}

.cf-link-list {
  display: grid;
  gap: 10px;
}

.cf-link-list a {
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--cf-line);
  color: #004fb0;
  font-weight: 700;
  text-decoration: none;
}

.cf-data-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 14px;
}

.cf-data-table th,
.cf-data-table td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--cf-line);
  color: var(--cf-ink);
  text-align: left;
}

.cf-data-table th {
  background: #f3f7fb;
  font-weight: 800;
}

.cf-steps {
  margin: 0;
  padding-left: 22px;
}

.cf-steps li {
  margin-bottom: 10px;
  color: var(--cf-ink);
}

.cf-cta-panel {
  text-align: center;
}

.cf-absorb-hero {
  background:
    linear-gradient(90deg, rgba(0, 43, 92, .92), rgba(0, 63, 124, .72)),
    linear-gradient(135deg, rgba(255,255,255,.12) 25%, transparent 25%) 0 0 / 84px 84px,
    linear-gradient(225deg, rgba(255,255,255,.08) 25%, transparent 25%) 0 0 / 84px 84px,
    var(--cf-navy);
}

.cf-tabs {
  display: grid;
  gap: 18px;
}

.cf-tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid var(--cf-line);
  background: #eef2f6;
}

.cf-tab-list button {
  min-height: 48px;
  padding: 0 22px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--cf-ink);
  font-weight: 800;
}

.cf-tab-list button.is-active {
  border-bottom-color: var(--cf-gold);
  background: #fff;
  color: var(--cf-navy);
}

.cf-tab-panel {
  min-width: 0;
}

.cf-support-grid,
.cf-single-plan-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .9fr);
  gap: 22px;
}

.cf-profile-card {
  padding: 24px;
}

.cf-profile-card h2 {
  margin: 14px 0;
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
}

.cf-form-message {
  margin: 0;
  color: var(--cf-muted);
  font-weight: 700;
}

.cf-form-message.is-success {
  color: #16703a;
}

.cf-form-message.is-error {
  color: #a73226;
}

.cf-process-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.cf-process-strip span {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 10px 12px;
  border: 1px solid var(--cf-line);
  border-radius: 8px;
  background: #fff;
  color: var(--cf-ink);
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(7, 26, 58, 0.08);
}

.cf-process-strip strong {
  display: inline-grid;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--cf-navy);
  color: #fff;
}

.cf-department-picker {
  padding: 24px;
}

.cf-department-picker h2,
.cf-department-picker p {
  margin-top: 0;
}

.cf-mini-department-grid {
  display: grid;
  gap: 12px;
}

.cf-mini-department-grid a,
.cf-absorb-tile {
  display: grid;
  grid-template-columns: 36px 1fr;
  column-gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--cf-line);
  border-radius: 8px;
  background: #fff;
  color: var(--cf-ink);
  text-decoration: none !important;
}

.cf-mini-department-grid span,
.cf-absorb-tile > span {
  grid-row: span 2;
  color: #004fb0;
  font-size: 24px;
  text-align: center;
}

.cf-mini-department-grid small,
.cf-absorb-tile small {
  color: var(--cf-muted);
}

.cf-annual-plan {
  max-width: none;
}

.cf-catalog-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  margin-bottom: 18px;
}

.cf-catalog-toolbar label {
  display: grid;
  gap: 6px;
  color: var(--cf-ink);
  font-weight: 800;
}

.cf-catalog-toolbar select {
  width: 100%;
  min-width: 150px;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid #ccd7e4;
  border-radius: 6px;
  background: #fff;
}

.cf-catalog-toolbar label:nth-of-type(2),
.cf-catalog-toolbar label:nth-of-type(3),
.cf-catalog-toolbar label:nth-of-type(4),
.cf-catalog-toolbar label:nth-of-type(5),
.cf-catalog-toolbar label:nth-of-type(6),
.cf-catalog-toolbar label:nth-of-type(7),
.cf-catalog-toolbar label:nth-of-type(8),
.cf-catalog-toolbar label:nth-of-type(9) {
  min-width: 150px;
  max-width: 210px;
}

.cf-category-rail {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.cf-category-rail a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid var(--cf-line);
  border-radius: 8px;
  background: #fff;
  color: var(--cf-ink);
  font-weight: 800;
  text-decoration: none;
}

.cf-category-rail a.is-active {
  border-color: #004fb0;
  box-shadow: 0 0 0 2px rgba(0, 79, 176, .12);
}

.cf-category-rail span {
  min-width: 28px;
  padding: 1px 8px;
  border-radius: 999px;
  background: #eaf2fb;
  color: #004fb0;
  text-align: center;
}

.cf-course-list {
  display: grid;
  gap: 18px;
}

.cf-course-row {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid var(--cf-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--cf-shadow);
}

.cf-course-row img {
  width: 110px;
  height: 86px;
  object-fit: cover;
  border-radius: 4px;
}

.cf-course-thumb {
  display: block;
  line-height: 0;
}

.cf-course-title-link {
  color: inherit;
  text-decoration: none;
}

.cf-course-title-link:hover,
.cf-course-title-link:focus {
  color: var(--cf-blue);
  text-decoration: underline;
}

.cf-course-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 122px;
}

.cf-course-row-title {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}

.cf-course-row h2 {
  margin: 0;
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
}

.cf-course-row-title button {
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  color: var(--cf-muted);
}

.cf-course-meter {
  height: 5px;
  margin: 8px 0;
  border-radius: 999px;
  background: #e1e5eb;
}

.cf-course-summary {
  margin: 0;
  color: var(--cf-text);
  line-height: 1.45;
}

.cf-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.cf-tag-row span {
  padding: 4px 10px;
  border-radius: 999px;
  background: #0f2f5f;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.cf-rich-text {
  color: var(--cf-text);
  line-height: 1.6;
}

.cf-rich-text p,
.cf-rich-text ul,
.cf-rich-text ol {
  margin: 0 0 14px;
}

.cf-rich-text strong {
  color: var(--cf-ink);
}

.cf-rich-text img {
  max-width: 150px;
  height: auto;
  margin: 4px 12px 8px 0;
}

.cf-rich-text ol,
.cf-rich-text ul {
  padding-left: 24px;
}

.cf-rich-text li {
  margin-bottom: 4px;
}

.cf-course-description-panel {
  position: relative;
  margin-top: 10px;
  border-top: 1px solid #eef2f6;
  background: #fff;
}

.cf-course-description-content {
  max-height: 116px;
  overflow: hidden;
  padding: 12px 0 28px;
  font-size: 14px;
}

.cf-course-description-panel::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 30px;
  left: 0;
  height: 44px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff);
}

.cf-course-description-panel.is-expanded .cf-course-description-content {
  max-height: none;
}

.cf-course-description-panel.is-expanded::after {
  display: none;
}

.cf-description-toggle {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  height: 26px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #c6d5e7;
  border-radius: 4px;
  background: #edf2f7;
  color: var(--cf-blue);
  font-size: 12px;
  font-weight: 800;
}

.cf-course-description-panel.is-expanded .cf-description-toggle {
  position: relative;
  margin-top: 4px;
}

.cf-course-description-panel.is-expanded .cf-description-toggle .fa-chevron-down {
  transform: rotate(180deg);
}

.cf-course-description-panel.is-static .cf-course-description-content {
  max-height: none;
  padding-bottom: 0;
}

.cf-course-description-panel.is-static::after,
.cf-course-description-panel.is-static .cf-description-toggle {
  display: none;
}

.cf-absorb-tile-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 20px;
}

.cf-absorb-tile {
  min-height: 94px;
  background: #61728f;
  color: #fff;
}

.cf-absorb-tile small,
.cf-absorb-tile > span {
  color: #fff;
}

.cf-onboarding-note,
.cf-transcript-profile {
  display: flex;
  gap: 18px;
  align-items: center;
}

.cf-transcript-profile {
  justify-content: space-between;
  margin-bottom: 18px;
  padding: 24px;
}

.cf-avatar {
  display: inline-grid;
  flex: 0 0 96px;
  width: 96px;
  height: 96px;
  place-items: center;
  border-radius: 50%;
  background: #c9ced5;
  color: #fff;
  font-size: 48px;
}

.cf-transcript-profile dl {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 8px 12px;
  flex: 1;
  margin: 0;
}

.cf-transcript-profile dt {
  color: var(--cf-muted);
  font-weight: 800;
}

.cf-credit-summary {
  padding: 24px;
}

.cf-credit-number {
  margin: 14px 0 4px;
  color: var(--cf-orange);
  font-size: 42px;
  font-weight: 900;
}

.cf-credit-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.cf-credit-list .cf-credit-year {
  margin: 22px 0 2px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--cf-border);
  color: var(--cf-navy);
  font-size: 1.25rem;
}

.cf-credit-list .cf-credit-year:first-child {
  margin-top: 4px;
}

.cf-credit-list article {
  display: grid;
  grid-template-columns: minmax(80px, max-content) 1fr;
  gap: 4px 16px;
  padding: 14px 0;
  border-top: 1px solid var(--cf-border);
}

.cf-credit-list strong {
  color: var(--cf-orange);
  font-size: 24px;
  line-height: 1;
}

.cf-credit-list span {
  font-weight: 800;
}

.cf-credit-list small {
  grid-column: 2;
  color: var(--cf-muted);
}

.cf-status-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eef7df;
  color: #55731f;
  font-weight: 800;
}

.cf-profile-form {
  margin-top: 18px;
}

.cf-form-span-2 {
  grid-column: 1 / -1;
}

.cf-form-message {
  min-height: 24px;
  margin: 14px 0 0;
  font-weight: 800;
}

.cf-form-message.is-success {
  color: #27632a;
}

.cf-form-message.is-error {
  color: #9f1c1c;
}

.cf-payment-box {
  margin-top: 28px;
  border-top: 1px solid var(--cf-border);
  padding-top: 24px;
}

.cf-payment-header {
  margin-bottom: 18px;
}

.cf-wallet-row {
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
}

.cf-wallet-button:empty {
  display: none;
}

.cf-card-form {
  display: grid;
  gap: 16px;
}

.cf-card-form label {
  display: grid;
  gap: 8px;
  color: var(--cf-ink);
  font-weight: 800;
}

.cf-payment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.cf-hosted-field {
  display: block;
  min-height: 40px;
  border: 1px solid var(--cf-border);
  border-radius: 6px;
  background: #fff;
  padding: 8px 12px;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.cf-hosted-field.braintree-hosted-fields-focused {
  border-color: var(--cf-blue);
  box-shadow: 0 0 0 3px rgba(0, 78, 160, 0.16);
}

.cf-hosted-field.braintree-hosted-fields-invalid {
  border-color: #9f1c1c;
}

/* Power Pages generated account pages, including /SignIn. */
.nav-account,
.page-copy .nav-tabs.nav-account,
ul.nav.nav-tabs.nav-account {
  display: flex;
  flex-wrap: wrap;
  width: min(1120px, calc(100% - 40px));
  margin: 34px auto 0;
  padding: 16px 16px 0;
  border: 1px solid var(--cf-line);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background:
    linear-gradient(90deg, rgba(0, 37, 82, 0.98) 0%, rgba(0, 50, 105, 0.94) 64%, rgba(0, 42, 90, 0.88) 100%),
    url("/Healthcare.jpg") center right / cover no-repeat;
  box-shadow: 0 12px 26px rgba(7, 26, 58, 0.1);
}

.nav-account::before,
.page-copy .nav-tabs.nav-account::before,
ul.nav.nav-tabs.nav-account::before {
  content: "CEUFast Account Access";
  display: block;
  flex: 0 0 100%;
  margin: 4px 0 14px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.15;
  text-shadow: 0 2px 12px rgba(0, 18, 46, 0.4);
}

.nav-account > li,
.page-copy .nav-tabs.nav-account > li {
  margin: 0 6px 0 0;
}

.nav-account > li > a,
.page-copy .nav-tabs.nav-account > li > a,
.page-copy .nav-tabs.nav-account .nav-link {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 11px 18px;
  border: 0 !important;
  border-radius: 6px 6px 0 0 !important;
  background: rgba(255, 255, 255, 0.12);
  color: #f5f8ff !important;
  font-weight: 800;
  text-decoration: none !important;
}

.nav-account > li.active > a,
.nav-account > li > a.active,
.page-copy .nav-tabs.nav-account > li.active > a,
.page-copy .nav-tabs.nav-account .nav-link.active {
  background: #fff !important;
  color: var(--cf-navy) !important;
  box-shadow: inset 0 -3px 0 var(--cf-gold);
}

.nav-account + .tab-content,
.page-copy .nav-tabs.nav-account + .tab-content,
.login-heading-section,
.register-heading-section,
.external-login,
.local-login,
.redeem-invitation,
.login-form {
  width: min(1120px, calc(100% - 40px));
  margin-left: auto;
  margin-right: auto;
}

.nav-account + .tab-content,
.page-copy .nav-tabs.nav-account + .tab-content {
  padding: 28px 0 52px;
}

#loginForm,
#registerForm,
#RedeemByLogin,
#RedeemByInvitation,
.external-login,
.local-login,
.redeem-invitation,
.login-form form {
  max-width: 620px;
  margin: 0 auto;
}

.login-heading-section h1,
.login-heading-section h2,
.register-heading-section h1,
.register-heading-section h2,
.external-login h1,
.external-login h2,
.local-login h1,
.local-login h2,
.redeem-invitation h1,
.redeem-invitation h2,
.login-form h1,
.login-form h2,
.page-copy h1,
.page-copy h2 {
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
}

.login-heading-section h1,
.login-heading-section h2,
.register-heading-section h1,
.register-heading-section h2,
.external-login h1,
.external-login h2,
.local-login h1,
.local-login h2,
.redeem-invitation h1,
.redeem-invitation h2,
.login-form h1,
.login-form h2 {
  margin: 0 0 18px;
  font-size: 34px;
  line-height: 1.18;
}

.external-login,
.local-login,
.redeem-invitation,
#loginForm,
#registerForm,
.login-form form,
.login-form .form-horizontal {
  padding: 30px;
  border: 1px solid var(--cf-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--cf-shadow);
}

.external-login .form-control,
.local-login .form-control,
.redeem-invitation .form-control,
#loginForm .form-control,
#registerForm .form-control,
.login-form .form-control,
.login-form .form-horizontal .form-control {
  min-height: 44px;
  border: 1px solid #cfd9e8;
  border-radius: 6px;
  box-shadow: none;
}

.external-login .form-control:focus,
.local-login .form-control:focus,
.redeem-invitation .form-control:focus,
#loginForm .form-control:focus,
#registerForm .form-control:focus,
.login-form .form-control:focus,
.login-form .form-horizontal .form-control:focus {
  border-color: var(--cf-blue);
  box-shadow: 0 0 0 3px rgba(18, 98, 213, 0.16);
}

.external-login .btn,
.local-login .btn,
.redeem-invitation .btn,
#loginForm .btn,
#registerForm .btn,
.provider-list .btn,
.login-form .btn,
.login-form .form-horizontal .btn {
  min-height: 46px;
  padding: 10px 20px;
  border: 1px solid #002b5c !important;
  border-radius: 6px !important;
  background: linear-gradient(180deg, #003b7a 0%, #00265a 100%) !important;
  color: #fff !important;
  font-weight: 900;
  text-decoration: none !important;
}

.external-login .btn:hover,
.local-login .btn:hover,
.redeem-invitation .btn:hover,
#loginForm .btn:hover,
#registerForm .btn:hover,
.provider-list .btn:hover,
.login-form .btn:hover,
.login-form .form-horizontal .btn:hover {
  background: var(--cf-navy-2) !important;
  color: #fff !important;
}

@media (max-width: 640px) {
  .nav-account,
  .page-copy .nav-tabs.nav-account,
  ul.nav.nav-tabs.nav-account,
  .nav-account + .tab-content,
  .page-copy .nav-tabs.nav-account + .tab-content,
  .login-heading-section,
  .register-heading-section,
  .external-login,
  .local-login,
  .redeem-invitation,
  .login-form {
    width: min(100% - 24px, 1120px);
  }

  .nav-account::before,
  .page-copy .nav-tabs.nav-account::before,
  ul.nav.nav-tabs.nav-account::before {
    font-size: 28px;
  }

  .external-login,
  .local-login,
  .redeem-invitation,
  #loginForm,
  #registerForm,
  .login-form form,
  .login-form .form-horizontal {
    padding: 22px;
  }
}

/* CEUFast refinement pass: shared pattern, density, account, and profile layout. */
.cf-site-header,
.cf-site-footer {
  background:
    linear-gradient(90deg, rgba(0, 36, 82, 0.98) 0%, rgba(0, 54, 111, 0.94) 58%, rgba(0, 36, 82, 0.98) 100%),
    linear-gradient(135deg, rgba(255,255,255,.1) 25%, transparent 25%) 0 0 / 84px 84px,
    linear-gradient(225deg, rgba(255,255,255,.07) 25%, transparent 25%) 0 0 / 84px 84px,
    var(--cf-navy);
}

.cf-site-header {
  border-radius: 0 0 8px 8px;
}

.cf-site-footer {
  margin-bottom: 8px;
  border-radius: 0 0 8px 8px;
  overflow: hidden;
}

.cf-footer-social-links a {
  font-family: Arial, sans-serif;
  font-weight: 800;
  line-height: 1;
}

.cf-home-page .cf-home-welcome {
  padding: 0;
  text-align: left;
}

.cf-home-page .cf-home-welcome .cf-hero-inner {
  min-height: clamp(164px, 18vw, 212px);
}

.cf-home-page .cf-home-welcome h1 {
  margin: 0 0 8px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.05;
  text-shadow: 0 2px 12px rgba(0, 18, 46, 0.42);
}

.cf-home-page .cf-home-welcome p:not(.cf-kicker) {
  margin: 0;
  color: #f5f8ff;
  font-family: Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.55;
  text-shadow: 0 1px 8px rgba(0, 18, 46, 0.36);
}

.cf-two-plan-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  max-width: 980px;
  margin-inline: auto;
}

.cf-aides-plan {
  border: 2px solid #3a9b58;
}

.cf-aides-plan .cf-plan-icon {
  margin-top: 8px;
}

.cf-aides-plan .cf-ribbon {
  background: #d8f1dd;
  color: #1d6d39;
}

.cf-catalog-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  align-items: start;
  margin-bottom: 14px;
}

.cf-toolbar-filter-group,
.cf-toolbar-view-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: end;
}

.cf-toolbar-filter-group > span {
  flex: 0 0 100%;
  color: var(--cf-ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.cf-toolbar-view-group {
  margin-left: auto;
}

.cf-catalog-toolbar label {
  gap: 5px;
  font-size: 13px;
  line-height: 1.2;
}

.cf-catalog-toolbar select {
  min-height: 38px;
  padding: 7px 10px;
  font-size: 14px;
}

.cf-catalog-toolbar label:nth-of-type(n) {
  min-width: auto;
  max-width: none;
}

.cf-toolbar-filter-group label {
  min-width: 112px;
}

.cf-toolbar-filter-group label:first-of-type,
.cf-toolbar-filter-group label:nth-of-type(4) {
  min-width: 150px;
}

.cf-toolbar-view-group label {
  min-width: 112px;
}

.cf-toolbar-view-group label:first-child {
  min-width: 150px;
}

.cf-category-rail a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-height: 44px;
  max-height: 44px;
  padding: 8px 12px;
}

.cf-category-rail .cf-category-name {
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 0;
  background: transparent;
  color: var(--cf-ink);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cf-category-rail .cf-category-count {
  min-width: 30px;
  padding: 3px 8px;
}

.cf-category-rail .cf-clear-categories {
  grid-template-columns: 1fr;
}

.cf-results-bar {
  margin-bottom: 10px;
}

.cf-results-bar > div {
  display: grid;
  gap: 3px;
}

.cf-selected-catalog {
  color: #52617a;
  font-size: 13px;
  font-weight: 700;
}

.cf-course-list {
  gap: 14px;
}

.cf-course-row {
  grid-template-columns: 98px minmax(0, 1fr) 112px;
  gap: 14px;
  align-items: start;
  padding: 12px 14px;
}

.cf-course-row img {
  width: 98px;
  height: 74px;
}

.cf-course-row h2 {
  font-size: 17px;
  line-height: 1.18;
}

.cf-course-row .cf-meta {
  margin: 0;
  color: #263b5e;
  font-size: 13px;
  line-height: 1.35;
}

.cf-course-glance {
  display: -webkit-box;
  margin: 8px 0 0;
  overflow: hidden;
  color: #4f5d72;
  font-size: 13px;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.cf-course-glance strong {
  margin-right: 4px;
  color: var(--cf-ink);
  font-weight: 900;
}

.cf-course-meter {
  height: 4px;
  margin: 6px 0;
}

.cf-course-description-panel {
  margin-top: 8px;
}

.cf-course-description-content {
  max-height: 112px;
  padding: 10px 0 26px;
  font-size: 13px;
  line-height: 1.42;
}

.cf-rich-text {
  font-size: 13px;
  line-height: 1.42;
}

.cf-rich-text p,
.cf-rich-text ul,
.cf-rich-text ol {
  margin-bottom: 9px;
}

.cf-tag-row {
  gap: 6px;
  margin-top: 8px;
}

.cf-tag-row-top {
  margin: 6px 0 2px;
}

.cf-tag-row span {
  padding: 4px 8px;
  font-size: 11px;
  line-height: 1.2;
  white-space: normal;
}

.cf-tag-row strong {
  color: #d9e8ff;
  font-weight: 900;
}

.cf-course-actions {
  gap: 8px;
  min-width: 108px;
}

.cf-course-actions .cf-btn {
  min-height: 32px;
  padding: 6px 10px;
  font-size: 13px;
}

.nav-account,
.page-copy .nav-tabs.nav-account,
ul.nav.nav-tabs.nav-account {
  max-width: 980px;
  border-color: #002b5c;
  background:
    linear-gradient(90deg, rgba(0, 37, 82, 0.98) 0%, rgba(0, 50, 105, 0.94) 64%, rgba(0, 42, 90, 0.9) 100%),
    linear-gradient(135deg, rgba(255,255,255,.1) 25%, transparent 25%) 0 0 / 84px 84px,
    linear-gradient(225deg, rgba(255,255,255,.07) 25%, transparent 25%) 0 0 / 84px 84px,
    var(--cf-navy);
}

.nav-account + .tab-content,
.page-copy .nav-tabs.nav-account + .tab-content {
  width: min(980px, calc(100% - 40px));
  padding: 24px;
  border: 1px solid #002b5c;
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: #f7faff;
  box-shadow: var(--cf-shadow);
}

.page-copy .tab-content > .row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  margin-right: 0;
  margin-left: 0;
}

.page-copy .tab-content > .row > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.page-copy .tab-content > .row > [class*="col-"]:has(.external-login) {
  order: 1;
  flex: 0 1 100%;
}

.page-copy .tab-content > .row > [class*="col-"]:has(.local-login) {
  order: 2;
  flex: 0 1 700px;
}

.external-login,
.local-login,
.redeem-invitation,
#loginForm,
#registerForm,
.login-form form,
.login-form .form-horizontal {
  border-color: #002b5c;
  overflow: hidden;
}

.external-login h1,
.external-login h2,
.local-login h1,
.local-login h2,
.redeem-invitation h1,
.redeem-invitation h2,
.login-form h1,
.login-form h2 {
  margin: -30px -30px 22px;
  padding: 16px 20px;
  background:
    linear-gradient(90deg, rgba(0, 43, 92, .96), rgba(0, 63, 124, .88)),
    linear-gradient(135deg, rgba(255,255,255,.1) 25%, transparent 25%) 0 0 / 72px 72px,
    var(--cf-navy);
  color: #fff !important;
  font-size: 26px;
}

.provider-list .btn,
.external-login .btn,
.local-login .btn {
  background: linear-gradient(180deg, #003b7a 0%, #00265a 100%) !important;
  border-color: #002b5c !important;
}

.cf-profile-template-page .cf-profile-generated-layout,
.cf-profile-template-page .cf-profile-page-copy {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

.cf-profile-template-page .cf-profile-full-width-host {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 0 0 100% !important;
  float: none !important;
  clear: both !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cf-profile-generated-hidden,
.cf-profile-page-copy > #mainContent ~ *,
#ContentContainer_MainContent_MainContent_ContentBottom_ProfileFormView,
#ContentContainer_MainContent_MainContent_ContentBottom_ProfileFormView fieldset,
#ContentContainer_MainContent_MainContent_ContentBottom_MarketingOptionsPanel,
#ContentContainer_MainContent_MainContent_ContentBottom_MarketingOptionsPanel fieldset,
#ProfileFormView,
#ProfileFormView fieldset,
#WebResource_RecordWall,
#ProfileFormView_EntityName,
#ProfileFormView_EntityID,
fieldset:has(#ProfileFormView),
fieldset:has(#WebResource_RecordWall),
fieldset:has(#ContentContainer_MainContent_MainContent_ContentBottom_MarketingOptionsPanel),
.cf-profile-template-page input[type="submit"][value="Update"],
.cf-profile-template-page input[type="button"][value="Update"],
.cf-profile-template-page button[value="Update"],
#NextButton {
  display: none !important;
}

.cf-profile-template-page #mainContent.cf-profile-generated-hidden,
.cf-profile-template-page .cf-profile-page.cf-profile-generated-hidden,
.cf-profile-template-page .page-copy > *:has(#mainContent).cf-profile-generated-hidden {
  display: block !important;
  visibility: visible !important;
}

.cf-profile-template-page #mainContent .cf-profile-workspace {
  display: grid !important;
}

.cf-profile-email-alert-region {
  padding-top: clamp(12px, 2vw, 20px);
  padding-bottom: 0;
  background: #fff;
}

.cf-profile-email-alert-region:has(#cfProfileEmailAlertHost:empty) {
  display: none;
}

#cfProfileEmailAlertHost:empty {
  display: none;
}

.cf-profile-email-alert {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  margin: 0;
  padding: 16px 20px;
  border: 1px solid #8ed7e8;
  border-radius: 8px;
  background: #d9f7ff;
  color: #00384d;
  font-family: var(--cf-sans);
  font-size: 16px;
  font-weight: 700;
}

.cf-profile-email-alert p,
.cf-profile-email-alert .alert {
  margin: 0;
}

.cf-profile-email-alert .cf-profile-confirm-email-action {
  flex: 0 0 auto;
  width: auto;
  min-width: 150px;
  color: #fff !important;
}

.cf-profile-account-topbar-region {
  padding-top: clamp(18px, 3vw, 34px);
  padding-bottom: 0;
  background: #fff;
}

.cf-profile-account-topbar,
.cf-profile-account-column {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-content: start;
}

.cf-profile-account-topbar:empty {
  display: none;
}

.cf-profile-account-column:empty {
  min-height: 160px;
  border: 1px dashed rgba(0, 43, 92, .22);
  border-radius: 8px;
  background: #fff;
}

.cf-profile-account-topbar .cf-profile-generated-topbar {
  display: grid;
  grid-template-columns: minmax(210px, .38fr) minmax(0, 1.35fr) minmax(150px, .27fr);
  gap: 14px;
  align-items: stretch;
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cf-profile-account-topbar .cf-profile-generated-topbar > * {
  margin: 0 !important;
}

.cf-profile-account-topbar .cf-generated-update-action {
  display: flex;
  align-items: stretch;
}

.cf-profile-account-topbar .cf-generated-update-action .btn,
.cf-profile-account-topbar .cf-generated-update-action button,
.cf-profile-account-topbar .cf-generated-update-action input[type="submit"] {
  width: 100%;
  min-height: 46px;
}

.cf-profile-account-column .cf-profile-generated-topbar,
.cf-profile-account-topbar .cf-profile-generated-topbar,
.cf-profile-account-topbar .panel,
.cf-profile-account-topbar .list-group,
.cf-profile-account-topbar .well,
.cf-profile-generated-topbar .panel,
.cf-profile-generated-topbar .list-group,
.cf-profile-generated-topbar .well {
  width: 100%;
  border: 1px solid #002b5c;
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--cf-shadow);
  overflow: hidden;
}

.cf-profile-generated-topbar .list-group,
.cf-profile-generated-topbar .nav,
.cf-profile-generated-topbar ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
  align-items: center;
  margin: 0;
  padding: 12px;
}

.cf-profile-generated-topbar .list-group-item,
.cf-profile-generated-topbar .nav a,
.cf-profile-generated-topbar a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 6px !important;
  color: var(--cf-ink);
  font-weight: 800;
  text-align: center;
}

.cf-profile-generated-topbar a[href$="/profile/"],
.cf-profile-generated-topbar a[href$="/profile"],
.cf-profile-generated-topbar a[href*="/profile/"],
.cf-profile-generated-topbar .list-group-item[href$="/profile/"],
.cf-profile-generated-topbar .list-group-item[href$="/profile"],
.cf-profile-generated-topbar .list-group-item[href*="/profile/"],
.cf-profile-generated-topbar .cf-profile-plain-link {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  justify-content: flex-start;
}

.cf-profile-generated-topbar img {
  max-width: 74px;
  max-height: 74px;
}

.cf-profile-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: 22px;
  align-items: start;
  box-sizing: border-box;
  width: min(1180px, calc(100% - 48px));
  max-width: 1180px;
  margin-inline: auto;
  padding: clamp(18px, 2.4vw, 30px);
  border: 1px solid rgba(255, 184, 45, .38);
  border-radius: 14px;
  background:
    linear-gradient(90deg, rgba(0, 43, 92, .97), rgba(0, 63, 124, .9)),
    linear-gradient(135deg, rgba(255,255,255,.1) 25%, transparent 25%) 0 0 / 72px 72px,
    var(--cf-navy);
  box-shadow: 0 22px 44px rgba(7, 26, 58, .2);
  overflow: hidden;
}

.cf-profile-workspace-single {
  grid-template-columns: minmax(0, 940px);
  justify-content: center;
}

.cf-profile-workspace > *,
.cf-profile-workspace .cf-panel,
.cf-profile-side-stack,
.cf-profile-side-stack > * {
  min-width: 0;
  max-width: 100%;
}

.cf-profile-page .cf-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cf-profile-side-stack {
  display: grid;
  gap: 16px;
  align-content: start;
  align-self: start;
}

.cf-profile-info-box {
  padding: 18px;
}

.cf-profile-info-box h2 {
  margin: 0 0 10px;
  font-size: 20px;
}

.cf-profile-info-box p {
  margin: 0;
  color: var(--cf-muted);
  line-height: 1.55;
}

.cf-contact-preference-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 18px 28px;
  align-items: center;
  margin-top: 14px;
}

.cf-contact-preference-list label {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin: 0;
  white-space: nowrap;
  font-family: var(--cf-sans);
  font-size: 15px;
  font-weight: 800;
  color: var(--cf-ink);
}

.cf-contact-preference-list input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--cf-navy);
}

.cf-contact-preferences-inline {
  padding: 18px;
  border: 1px solid var(--cf-line);
  border-radius: 8px;
  background: #f7fbff;
}

.cf-contact-preferences-inline h3,
.cf-contact-preferences-inline p {
  margin: 0;
}

.cf-contact-preferences-inline p {
  margin-top: 6px;
  color: var(--cf-muted);
}

.cf-required-label,
.cf-optional-label {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.cf-required-label {
  color: #9f1c1c;
}

.cf-optional-label {
  color: #66758f;
}

.cf-profile-form-actions {
  display: grid;
  gap: 10px;
  justify-items: start;
  margin-top: 22px;
}

.cf-profile-form-actions .cf-btn {
  min-width: 220px;
}

.cf-profile-form-actions .cf-form-message {
  margin: 0;
}

.cf-profile-page .cf-mini-list dd {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.cf-profile-side-actions {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.cf-profile-side-actions .cf-btn {
  width: 100%;
}

.cf-profile-side-actions .cf-form-message {
  margin: 0;
}

@media (max-width: 1180px) {
  .cf-two-plan-grid {
    grid-template-columns: 1fr;
  }

  .cf-profile-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .cf-profile-side-stack {
    grid-column: auto;
  }
}

@media (max-width: 860px) {
  .cf-course-row,
  .cf-profile-workspace,
  .cf-profile-account-topbar .cf-profile-generated-topbar,
  .cf-profile-page .cf-form-grid,
  .cf-license-entry-fields {
    grid-template-columns: 1fr;
  }

  .cf-license-editor-header {
    display: grid;
  }

  .cf-contact-preference-list {
    flex-wrap: wrap;
  }

  .cf-course-row img {
    width: 100%;
    height: 150px;
  }
}

.chat-widget,
[class*="chat-widget"] {
  bottom: 72px;
}

@media (max-width: 1100px) {
  .cf-department-grid,
  .cf-info-grid,
  .cf-absorb-tile-grid,
  .cf-process-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cf-department-card {
    aspect-ratio: 1.55 / 1;
  }
}

@media (max-width: 860px) {
  .cf-detail-layout,
  .cf-commerce-layout,
  .cf-cart-item,
  .cf-support-grid,
  .cf-single-plan-layout,
  .cf-course-row {
    grid-template-columns: 1fr;
  }

  .cf-inline-form {
    grid-template-columns: 1fr;
  }

  .cf-payment-grid {
    grid-template-columns: 1fr;
  }

  .cf-course-row img {
    width: 100%;
    height: 180px;
  }

  .cf-transcript-profile {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 560px) {
  .cf-department-grid,
  .cf-info-grid,
  .cf-absorb-tile-grid,
  .cf-process-strip {
    grid-template-columns: 1fr;
  }

  .cf-department-card {
    aspect-ratio: 1.45 / 1;
    min-height: 185px;
  }

  .cf-home-welcome {
    min-height: 145px;
  }
}

/* Account sign-in final override: one centered card, provider sign-in in the header, local sign-in inside the card. */
body:has(.nav-account) .page-copy {
  width: min(100% - 36px, 900px);
  margin: 44px auto 64px;
}

body:has(.nav-account) .nav-account,
body:has(.nav-account) .page-copy .nav-tabs.nav-account,
body:has(.nav-account) ul.nav.nav-tabs.nav-account {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 18px 20px 0;
  border: 3px solid var(--cf-navy);
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
  background:
    linear-gradient(90deg, rgba(0, 36, 82, 0.99) 0%, rgba(0, 54, 111, 0.95) 62%, rgba(0, 36, 82, 0.99) 100%),
    linear-gradient(135deg, rgba(255,255,255,.1) 25%, transparent 25%) 0 0 / 84px 84px,
    linear-gradient(225deg, rgba(255,255,255,.07) 25%, transparent 25%) 0 0 / 84px 84px,
    var(--cf-navy);
  box-shadow: 0 18px 42px rgba(7, 26, 58, 0.16);
}

body:has(.nav-account) .nav-account::before,
body:has(.nav-account) .page-copy .nav-tabs.nav-account::before,
body:has(.nav-account) ul.nav.nav-tabs.nav-account::before {
  margin: 0 0 18px;
  font-size: clamp(34px, 4vw, 48px);
}

body:has(.nav-account) .nav-account > li > a,
body:has(.nav-account) .page-copy .nav-tabs.nav-account > li > a,
body:has(.nav-account) .page-copy .nav-tabs.nav-account .nav-link {
  border-radius: 8px 8px 0 0 !important;
}

body.cf-login-tabs-enhanced .nav-account > li > a.cf-external-account-tab,
body.cf-login-tabs-enhanced .page-copy .nav-tabs.nav-account > li > a.cf-external-account-tab {
  color: #f5f8ff !important;
}

body:has(.nav-account) .nav-account + .tab-content,
body:has(.nav-account) .page-copy .nav-tabs.nav-account + .tab-content {
  width: 100%;
  max-width: 900px;
  min-height: 600px;
  margin: 0 auto;
  padding: clamp(22px, 3vw, 34px);
  border: 3px solid var(--cf-navy);
  border-top: 0;
  border-radius: 0 0 18px 18px;
  background:
    linear-gradient(180deg, rgba(248, 251, 255, 0.98) 0%, rgba(255, 255, 255, 1) 100%),
    #fff;
  box-shadow: 0 18px 42px rgba(7, 26, 58, 0.16);
}

body:has(.nav-account) .tab-content .row:has(.external-login),
body:has(.nav-account) .tab-pane .row:has(.external-login),
body:has(.nav-account) .page-copy .tab-content .row:has(.external-login) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 22px;
  align-items: stretch;
  margin-right: 0;
  margin-left: 0;
}

body:has(.nav-account) .tab-content .row:has(.external-login) > [class*="col-"],
body:has(.nav-account) .tab-pane .row:has(.external-login) > [class*="col-"],
body:has(.nav-account) .page-copy .tab-content .row:has(.external-login) > [class*="col-"] {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  padding-right: 0;
  padding-left: 0;
}

body.cf-login-tabs-enhanced .tab-content .row > [class*="col-"]:has(.local-login),
body.cf-login-tabs-enhanced .tab-pane .row > [class*="col-"]:has(.local-login),
body.cf-login-tabs-enhanced .cf-external-login-pane > [class*="col-"] {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  padding-right: 0;
  padding-left: 0;
}

body:has(.nav-account) .tab-content .row:has(.external-login) > [class*="col-"]:has(.external-login),
body:has(.nav-account) .tab-pane .row:has(.external-login) > [class*="col-"]:has(.external-login),
body:has(.nav-account) .page-copy .tab-content .row:has(.external-login) > [class*="col-"]:has(.external-login) {
  order: 1;
}

body:has(.nav-account) .tab-content .row:has(.external-login) > [class*="col-"]:has(.local-login),
body:has(.nav-account) .tab-pane .row:has(.external-login) > [class*="col-"]:has(.local-login),
body:has(.nav-account) .page-copy .tab-content .row:has(.external-login) > [class*="col-"]:has(.local-login) {
  order: 2;
}

body:has(.nav-account) .external-login,
body:has(.nav-account) .local-login,
body:has(.nav-account) #loginForm {
  width: 100%;
  max-width: none;
  margin-right: auto;
  margin-left: auto;
  border: 2px solid rgba(0, 36, 82, 0.42);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(7, 26, 58, 0.1);
}

body.cf-login-tabs-enhanced .cf-external-login-pane:not(.active):not(.show):not(.in),
body.cf-login-tabs-enhanced .redeem-invitation {
  display: none !important;
}

body:has(.nav-account) .local-login #loginForm,
body:has(.nav-account) .local-login .form-horizontal,
body:has(.nav-account) .external-login .form-horizontal {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body:has(.nav-account) .external-login h1,
body:has(.nav-account) .external-login h2,
body:has(.nav-account) .local-login h1,
body:has(.nav-account) .local-login h2 {
  margin: -30px -30px 22px;
  padding: 16px 22px;
  border-bottom: 1px solid rgba(255, 184, 45, 0.48);
  background:
    linear-gradient(90deg, rgba(0, 36, 82, .98), rgba(0, 61, 122, .9)),
    linear-gradient(135deg, rgba(255,255,255,.1) 25%, transparent 25%) 0 0 / 72px 72px,
    var(--cf-navy);
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
}

body:has(.nav-account) .external-login .provider-list,
body:has(.nav-account) .external-login form,
body:has(.nav-account) .external-login .form-horizontal {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-start;
}

body:has(.nav-account) .external-login .btn,
body:has(.nav-account) .external-login button,
body:has(.nav-account) .external-login input[type="submit"],
body:has(.nav-account) .local-login .btn,
body:has(.nav-account) #loginForm .btn {
  min-width: min(100%, 240px);
  border-color: var(--cf-navy) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #003b7a 0%, #002452 100%) !important;
  color: #fff !important;
}

body:has(.nav-account) .external-login .btn:hover,
body:has(.nav-account) .external-login button:hover,
body:has(.nav-account) .external-login input[type="submit"]:hover,
body:has(.nav-account) .local-login .btn:hover,
body:has(.nav-account) #loginForm .btn:hover {
  background: linear-gradient(180deg, #004a91 0%, #002b5c 100%) !important;
  color: #fff !important;
}

body:has(.nav-account) .external-login .btn:focus,
body:has(.nav-account) .external-login button:focus,
body:has(.nav-account) .external-login input[type="submit"]:focus,
body:has(.nav-account) .local-login .btn:focus,
body:has(.nav-account) #loginForm .btn:focus,
body:has(.nav-account) .form-control:focus {
  outline: 3px solid rgba(255, 184, 45, 0.45);
  outline-offset: 2px;
}

@media (max-width: 640px) {
  body:has(.nav-account) .page-copy {
    width: min(100% - 24px, 900px);
    margin-top: 28px;
  }

  body:has(.nav-account) .nav-account,
  body:has(.nav-account) .page-copy .nav-tabs.nav-account,
  body:has(.nav-account) ul.nav.nav-tabs.nav-account,
  body:has(.nav-account) .nav-account + .tab-content,
  body:has(.nav-account) .page-copy .nav-tabs.nav-account + .tab-content {
    width: 100%;
    max-width: 100%;
  }

  body:has(.nav-account) .external-login h1,
body:has(.nav-account) .external-login h2,
body:has(.nav-account) .local-login h1,
body:has(.nav-account) .local-login h2 {
    font-size: 22px;
  }
}

body.cf-login-header-provider .page-copy {
  width: min(100% - 36px, 900px);
  margin: 44px auto 64px;
}

body.cf-login-header-provider .nav-account,
body.cf-login-header-provider .page-copy .nav-tabs.nav-account,
body.cf-login-header-provider ul.nav.nav-tabs.nav-account {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 18px;
}

body.cf-login-header-provider .nav-account > li,
body.cf-login-header-provider .page-copy .nav-tabs.nav-account > li {
  float: none !important;
  margin: 0;
}

body.cf-login-header-provider .nav-account > li.cf-external-provider-tab {
  display: flex;
  align-items: flex-end;
}

body.cf-login-header-provider .cf-external-provider-tab .provider-list,
body.cf-login-header-provider .cf-external-provider-tab .provider-list ul,
body.cf-login-header-provider .cf-external-provider-tab form,
body.cf-login-header-provider .cf-external-provider-tab .form-horizontal {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cf-login-header-provider .cf-external-provider-tab .provider-list li {
  list-style: none;
  margin: 0;
}

body.cf-login-header-provider .cf-external-provider-tab a,
body.cf-login-header-provider .cf-external-provider-tab .btn,
body.cf-login-header-provider .cf-external-provider-tab button,
body.cf-login-header-provider .cf-external-provider-tab input[type="submit"] {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 18px !important;
  border: 2px solid rgba(255, 184, 45, 0.9) !important;
  border-radius: 8px 8px 0 0 !important;
  background: #fff !important;
  color: var(--cf-navy) !important;
  font-weight: 900 !important;
  line-height: 1.1;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

body.cf-login-header-provider .nav-account + .tab-content,
body.cf-login-header-provider .page-copy .nav-tabs.nav-account + .tab-content {
  min-height: 0;
}

body.cf-login-header-provider .tab-content .cf-login-local-row,
body.cf-login-header-provider .tab-pane .cf-login-local-row {
  display: block !important;
  margin: 0;
}

body.cf-login-header-provider .cf-login-local-row > [class*="col-"] {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  padding-right: 0;
  padding-left: 0;
}

body.cf-login-header-provider .external-login,
body.cf-login-header-provider .redeem-invitation,
body.cf-login-header-provider #RedeemByLogin,
body.cf-login-header-provider #RedeemByInvitation {
  display: none !important;
}

body.cf-login-header-provider .local-login,
body.cf-login-header-provider #loginForm {
  margin: 0 auto;
}

body.cf-login-header-provider .local-login h1,
body.cf-login-header-provider .local-login h2 {
  margin: -30px -30px 22px;
}

@media (max-width: 640px) {
  body.cf-login-header-provider .nav-account,
  body.cf-login-header-provider .page-copy .nav-tabs.nav-account,
  body.cf-login-header-provider ul.nav.nav-tabs.nav-account {
    gap: 8px;
  }

  body.cf-login-header-provider .cf-external-provider-tab a,
  body.cf-login-header-provider .cf-external-provider-tab .btn,
  body.cf-login-header-provider .cf-external-provider-tab button,
  body.cf-login-header-provider .cf-external-provider-tab input[type="submit"] {
    min-height: 44px;
    padding: 10px 12px !important;
  }
}

/* Account sign-in layout correction: rounded header, one-column content, hidden invitation. */
body.cf-login-account-page {
  --cf-account-width: min(1120px, calc(100% - 40px));
}

body.cf-login-account-page .page-copy {
  width: var(--cf-account-width) !important;
  max-width: var(--cf-account-width) !important;
  margin: 44px auto 64px !important;
}

body.cf-login-account-page .nav-account,
body.cf-login-account-page .page-copy .nav-tabs.nav-account,
body.cf-login-account-page ul.nav.nav-tabs.nav-account {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 12px;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto 28px !important;
  padding: 28px !important;
  border: 3px solid var(--cf-navy) !important;
  border-radius: 20px !important;
  background:
    linear-gradient(90deg, rgba(0, 36, 82, 0.99) 0%, rgba(0, 54, 111, 0.95) 62%, rgba(0, 36, 82, 0.99) 100%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%) 0 0 / 84px 84px,
    linear-gradient(225deg, rgba(255, 255, 255, 0.07) 25%, transparent 25%) 0 0 / 84px 84px,
    var(--cf-navy) !important;
  box-shadow: 0 18px 42px rgba(7, 26, 58, 0.16);
  box-sizing: border-box;
}

body.cf-login-account-page .nav-account::before,
body.cf-login-account-page .page-copy .nav-tabs.nav-account::before,
body.cf-login-account-page ul.nav.nav-tabs.nav-account::before {
  flex: 0 0 100%;
  margin: 0 0 12px !important;
  color: #fff;
  font-size: 42px;
  line-height: 1.12;
}

body.cf-login-account-page .nav-account > li,
body.cf-login-account-page .page-copy .nav-tabs.nav-account > li {
  float: none !important;
  margin: 0 !important;
}

body.cf-login-account-page .nav-account > li > a,
body.cf-login-account-page .page-copy .nav-tabs.nav-account > li > a,
body.cf-login-account-page .page-copy .nav-tabs.nav-account .nav-link {
  min-height: 48px;
  border: 2px solid rgba(255, 184, 45, 0.72) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #f5f8ff !important;
}

body.cf-login-account-page .nav-account > li.active > a,
body.cf-login-account-page .nav-account > li > a.active,
body.cf-login-account-page .page-copy .nav-tabs.nav-account > li.active > a,
body.cf-login-account-page .page-copy .nav-tabs.nav-account .nav-link.active {
  background: #fff !important;
  color: var(--cf-navy) !important;
  box-shadow: inset 0 -4px 0 var(--cf-gold);
}

body.cf-login-account-page .nav-account .cf-hidden-account-tab,
body.cf-login-account-page .nav-account a[href*="Redeem"],
body.cf-login-account-page .nav-account a[data-target*="Redeem"],
body.cf-login-account-page .nav-account a[data-bs-target*="Redeem"] {
  display: none !important;
}

body.cf-login-account-page .nav-account > li:has(a[href*="Redeem"]),
body.cf-login-account-page .nav-account > li:has(a[data-target*="Redeem"]),
body.cf-login-account-page .nav-account > li:has(a[data-bs-target*="Redeem"]) {
  display: none !important;
}

body.cf-login-account-page .nav-account + .tab-content,
body.cf-login-account-page .page-copy .nav-tabs.nav-account + .tab-content,
body.cf-login-account-page .page-copy > .tab-content {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

body.cf-login-account-page .cf-login-account-row,
body.cf-login-account-page .page-copy .tab-content .row:has(.local-login),
body.cf-login-account-page .page-copy .tab-content .row:has(.external-login),
body.cf-login-account-page .page-copy .tab-pane .row:has(.local-login),
body.cf-login-account-page .page-copy .tab-pane .row:has(.external-login) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 24px;
  align-items: start;
  width: 100%;
  max-width: 100%;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.cf-login-account-page .cf-login-account-row > [class*="col-"],
body.cf-login-account-page .page-copy .tab-content .row:has(.local-login) > [class*="col-"],
body.cf-login-account-page .page-copy .tab-content .row:has(.external-login) > [class*="col-"],
body.cf-login-account-page .page-copy .tab-pane .row:has(.local-login) > [class*="col-"],
body.cf-login-account-page .page-copy .tab-pane .row:has(.external-login) > [class*="col-"] {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.cf-login-account-page .cf-login-local-column,
body.cf-login-account-page .page-copy .row:has(.local-login) > [class*="col-"]:has(.local-login) {
  order: 1 !important;
}

body.cf-login-account-page .cf-login-external-column,
body.cf-login-account-page .page-copy .row:has(.external-login) > [class*="col-"]:has(.external-login) {
  order: 2 !important;
}

body.cf-login-account-page .local-login,
body.cf-login-account-page .external-login,
body.cf-login-account-page .login-form,
body.cf-login-account-page #loginForm {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 30px !important;
  border: 2px solid rgba(0, 36, 82, 0.42) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 12px 26px rgba(7, 26, 58, 0.1) !important;
  box-sizing: border-box;
}

body.cf-login-account-page .local-login #loginForm,
body.cf-login-account-page .local-login .form-horizontal,
body.cf-login-account-page .external-login .form-horizontal {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cf-login-account-page .external-login h1,
body.cf-login-account-page .external-login h2,
body.cf-login-account-page .local-login h1,
body.cf-login-account-page .local-login h2 {
  margin: -30px -30px 22px !important;
  padding: 16px 22px !important;
  border-bottom: 1px solid rgba(255, 184, 45, 0.48);
  background:
    linear-gradient(90deg, rgba(0, 36, 82, 0.98), rgba(0, 61, 122, 0.9)),
    linear-gradient(135deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%) 0 0 / 72px 72px,
    var(--cf-navy);
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
  line-height: 1.2;
}

body.cf-login-account-page .external-login .provider-list,
body.cf-login-account-page .external-login form,
body.cf-login-account-page .external-login .form-horizontal {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-start;
}

body.cf-login-account-page .redeem-invitation,
body.cf-login-account-page #RedeemByLogin,
body.cf-login-account-page #RedeemByInvitation {
  display: none !important;
}

@media (max-width: 640px) {
  body.cf-login-account-page {
    --cf-account-width: min(100% - 24px, 1120px);
  }

  body.cf-login-account-page .page-copy {
    margin-top: 28px !important;
  }

  body.cf-login-account-page .nav-account,
  body.cf-login-account-page .page-copy .nav-tabs.nav-account,
  body.cf-login-account-page ul.nav.nav-tabs.nav-account {
    padding: 20px !important;
    border-radius: 16px !important;
  }

  body.cf-login-account-page .nav-account::before,
  body.cf-login-account-page .page-copy .nav-tabs.nav-account::before,
  body.cf-login-account-page ul.nav.nav-tabs.nav-account::before {
    font-size: 34px;
  }

  body.cf-login-account-page .local-login,
  body.cf-login-account-page .external-login,
  body.cf-login-account-page .login-form,
  body.cf-login-account-page #loginForm {
    padding: 22px !important;
  }

  body.cf-login-account-page .external-login h1,
  body.cf-login-account-page .external-login h2,
  body.cf-login-account-page .local-login h1,
  body.cf-login-account-page .local-login h2 {
    margin: -22px -22px 18px !important;
    padding: 14px 18px !important;
    font-size: 22px;
  }
}

/* Account access refinement: centered local/register form with admin provider in the header. */
body.cf-login-account-page {
  --cf-account-width: min(760px, calc(100% - 40px));
}

body.cf-login-account-page .page-copy {
  width: var(--cf-account-width) !important;
  max-width: var(--cf-account-width) !important;
  margin: 34px auto 64px !important;
}

body.cf-login-account-page .nav-account,
body.cf-login-account-page .page-copy .nav-tabs.nav-account,
body.cf-login-account-page ul.nav.nav-tabs.nav-account {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto 22px !important;
  padding: 28px !important;
  justify-content: center;
}

body.cf-login-account-page .nav-account::before,
body.cf-login-account-page .page-copy .nav-tabs.nav-account::before,
body.cf-login-account-page ul.nav.nav-tabs.nav-account::before {
  font-size: 40px;
  text-align: center;
}

body.cf-login-account-page.cf-account-register-mode .nav-account::before,
body.cf-login-account-page.cf-account-register-mode .page-copy .nav-tabs.nav-account::before,
body.cf-login-account-page.cf-account-register-mode ul.nav.nav-tabs.nav-account::before {
  content: "Account Registration";
}

body.cf-login-account-page.cf-account-signin-mode .cf-local-account-tab-item,
body.cf-login-account-page.cf-account-register-mode .cf-local-account-tab-item,
body.cf-login-account-page.cf-account-register-mode .cf-register-account-tab-item,
body.cf-login-account-page.cf-account-register-mode .cf-admin-provider-tab {
  display: none !important;
}

.cf-password-help {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px 10px;
  align-items: start;
  width: 100%;
  margin: -4px 0 16px;
  padding: 10px 12px;
  border: 1px solid #d8e3f2;
  border-radius: 8px;
  background: #f7fbff;
  color: var(--cf-muted);
  font-size: 13px;
  line-height: 1.35;
}

.cf-password-help strong {
  display: block;
  color: var(--cf-ink);
}

.cf-password-help p {
  margin: 0;
}

.cf-password-match-message.is-error {
  grid-column: 1 / -1;
  margin-top: 2px;
  color: #9f1c1c;
  font-weight: 900;
}

.cf-validation-shell {
  padding: clamp(26px, 4vw, 46px) 0;
}

.cf-validation-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
  gap: 22px;
  align-items: start;
  padding: 28px;
  border: 1px solid var(--cf-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--cf-shadow);
}

.cf-validation-intro,
.cf-certificate-validation-form,
.cf-validation-result,
.cf-validation-message {
  grid-column: 1;
}

.cf-certificate-reference {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.cf-reference-certificate {
  display: grid;
  gap: 12px;
  min-height: 240px;
  padding: 18px;
  border: 1px solid #cfd9e8;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff 0%, #f7fbff 100%);
  color: var(--cf-ink);
  box-shadow: 0 10px 22px rgba(7, 26, 58, .08);
}

.cf-reference-logo {
  color: var(--cf-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 900;
  letter-spacing: 0;
}

.cf-reference-certificate mark {
  align-self: end;
  justify-self: end;
  padding: 6px 8px;
  border: 2px solid var(--cf-gold);
  border-radius: 6px;
  background: #fff7e1;
  color: var(--cf-navy);
  font-weight: 900;
}

.cf-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

@media (max-width: 760px) {
  .cf-validation-panel {
    grid-template-columns: 1fr;
  }

  .cf-certificate-reference {
    grid-column: 1;
    grid-row: auto;
  }
}

body.cf-login-account-page .cf-admin-provider-tab {
  display: flex !important;
  align-items: stretch;
}

body.cf-login-account-page .cf-admin-provider-tab form,
body.cf-login-account-page .cf-admin-provider-tab .provider-list,
body.cf-login-account-page .cf-admin-provider-tab .form-horizontal {
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cf-login-account-page .cf-admin-provider-tab button,
body.cf-login-account-page .cf-admin-provider-tab input[type="submit"],
body.cf-login-account-page .cf-admin-provider-tab a.btn,
body.cf-login-account-page .cf-admin-provider-tab .btn {
  min-height: 48px !important;
  padding: 11px 18px !important;
  border: 2px solid rgba(255, 184, 45, 0.9) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--cf-navy) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  box-shadow: inset 0 -4px 0 var(--cf-gold);
}

body.cf-login-account-page .cf-login-external-moved-column,
body.cf-login-header-provider .external-login,
body.cf-login-header-provider .cf-external-provider-source {
  display: none !important;
}

body.cf-login-account-page .cf-login-account-row,
body.cf-login-account-page .page-copy .tab-content .row:has(.local-login),
body.cf-login-account-page .page-copy .tab-pane .row:has(.local-login),
body.cf-login-account-page .page-copy .tab-content .row:has(#registerForm),
body.cf-login-account-page .page-copy .tab-pane .row:has(#registerForm) {
  display: flex !important;
  justify-content: center !important;
  width: 100%;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.cf-login-account-page .cf-login-local-column,
body.cf-login-account-page .cf-login-account-row > [class*="col-"],
body.cf-login-account-page .page-copy .tab-content .row:has(.local-login) > [class*="col-"],
body.cf-login-account-page .page-copy .tab-pane .row:has(.local-login) > [class*="col-"],
body.cf-login-account-page .page-copy .tab-content .row:has(#registerForm) > [class*="col-"],
body.cf-login-account-page .page-copy .tab-pane .row:has(#registerForm) > [class*="col-"] {
  float: none !important;
  width: 100% !important;
  max-width: 620px !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.cf-login-account-page .local-login,
body.cf-login-account-page .login-form,
body.cf-login-account-page #registerForm {
  width: 100% !important;
  max-width: 620px !important;
  margin: 0 auto !important;
}

body.cf-login-account-page .local-login .form-horizontal .form-group,
body.cf-login-account-page #loginForm .form-group,
body.cf-login-account-page #registerForm .form-group,
body.cf-login-account-page .login-form .form-group {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  margin: 0 0 18px !important;
}

body.cf-login-account-page .local-login .form-horizontal .control-label,
body.cf-login-account-page #loginForm .control-label,
body.cf-login-account-page #registerForm .control-label,
body.cf-login-account-page .login-form .control-label {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  text-align: left !important;
}

body.cf-login-account-page .local-login .form-horizontal [class*="col-"],
body.cf-login-account-page #loginForm [class*="col-"],
body.cf-login-account-page #registerForm [class*="col-"],
body.cf-login-account-page .login-form [class*="col-"] {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.cf-login-account-page .local-login .checkbox,
body.cf-login-account-page #loginForm .checkbox,
body.cf-login-account-page .login-form .checkbox {
  margin: 0 !important;
}

body.cf-login-account-page .local-login .form-action-container,
body.cf-login-account-page #loginForm .form-action-container,
body.cf-login-account-page #registerForm .form-action-container,
body.cf-login-account-page .login-form .form-action-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

@media (max-width: 640px) {
  body.cf-login-account-page {
    --cf-account-width: min(100% - 24px, 760px);
  }

  body.cf-login-account-page .nav-account,
  body.cf-login-account-page .page-copy .nav-tabs.nav-account,
  body.cf-login-account-page ul.nav.nav-tabs.nav-account {
    padding: 20px !important;
  }

  body.cf-login-account-page .nav-account::before,
  body.cf-login-account-page .page-copy .nav-tabs.nav-account::before,
  body.cf-login-account-page ul.nav.nav-tabs.nav-account::before {
    font-size: 32px;
  }

  body.cf-login-account-page .cf-admin-provider-tab,
  body.cf-login-account-page .cf-admin-provider-tab form,
  body.cf-login-account-page .cf-admin-provider-tab button,
  body.cf-login-account-page .cf-admin-provider-tab input[type="submit"],
  body.cf-login-account-page .cf-admin-provider-tab a.btn,
  body.cf-login-account-page .cf-admin-provider-tab .btn {
    width: 100%;
  }
}

/* Account access final split: public local login and hidden admin provider path. */
body.cf-login-account-page.cf-account-admin-mode {
  --cf-account-width: min(620px, calc(100% - 40px));
}

body.cf-login-account-page.cf-account-admin-mode .nav-account::before,
body.cf-login-account-page.cf-account-admin-mode .page-copy .nav-tabs.nav-account::before,
body.cf-login-account-page.cf-account-admin-mode ul.nav.nav-tabs.nav-account::before {
  content: "Admin Login";
}

body.cf-login-account-page.cf-account-admin-mode .nav-account > li,
body.cf-login-account-page.cf-account-admin-mode .page-copy .nav-tabs.nav-account > li,
body.cf-login-account-page.cf-account-admin-mode .cf-login-local-column,
body.cf-login-account-page.cf-account-admin-mode #registerForm,
body.cf-login-account-page.cf-account-signin-mode .cf-login-external-column,
body.cf-login-account-page.cf-account-signin-mode [id$="_ExternalLogin"],
body.cf-login-account-page.cf-account-signin-mode form[action*="/Account/Login/ExternalLogin"],
body.cf-login-account-page.cf-account-register-mode .cf-login-external-column,
body.cf-login-account-page.cf-account-register-mode [id$="_ExternalLogin"],
body.cf-login-account-page.cf-account-register-mode form[action*="/Account/Login/ExternalLogin"] {
  display: none !important;
}

body.cf-login-account-page.cf-account-signin-mode .cf-admin-provider-tab,
body.cf-login-account-page.cf-account-signin-mode .cf-external-provider-tab {
  display: none !important;
}

body.cf-login-account-page.cf-account-admin-mode .cf-login-external-column {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 460px !important;
  margin: 0 auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.cf-login-account-page.cf-account-signin-mode .cf-login-local-column {
  display: block !important;
  flex: 0 1 620px !important;
  max-width: 620px !important;
  margin: 0 auto !important;
}

body.cf-login-account-page.cf-account-register-mode .cf-login-register-column {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.cf-login-account-page.cf-account-register-mode .page-copy .nav-tabs.nav-account + .tab-content,
body.cf-login-account-page.cf-account-register-mode .page-copy .tab-content {
  display: grid !important;
  justify-items: center !important;
}

body.cf-login-account-page.cf-account-register-mode .cf-login-account-row,
body.cf-login-account-page.cf-account-register-mode .page-copy .tab-content .row:has(#Register),
body.cf-login-account-page.cf-account-register-mode .page-copy .tab-pane .row:has(#Register) {
  display: flex !important;
  justify-content: center !important;
  width: 100%;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.cf-login-account-page.cf-account-register-mode .page-copy .tab-content .row:has(#Register) > [class*="col-"],
body.cf-login-account-page.cf-account-register-mode .page-copy .tab-pane .row:has(#Register) > [class*="col-"] {
  float: none !important;
  width: 100% !important;
  max-width: 560px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.cf-login-account-page .cf-login-local-column > form,
body.cf-login-account-page .cf-login-register-column > form,
body.cf-login-account-page .cf-login-external-column > form,
body.cf-login-account-page #Register {
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
}

body.cf-login-account-page.cf-account-register-mode #Register:not(:has(.portal-form)) {
  padding: 30px !important;
  border: 2px solid rgba(0, 36, 82, 0.22) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 14px 30px rgba(7, 26, 58, 0.11) !important;
}

body.cf-login-account-page .cf-login-local-column > form .portal-form,
body.cf-login-account-page .cf-login-register-column > form .portal-form,
body.cf-login-account-page .cf-login-external-column > form > div {
  width: 100% !important;
  padding: 30px !important;
  border: 2px solid rgba(0, 36, 82, 0.22) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 14px 30px rgba(7, 26, 58, 0.11) !important;
}

body.cf-login-account-page .cf-login-local-column .portal-form > .row,
body.cf-login-account-page .cf-login-register-column .portal-form > .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  margin: 0 0 18px !important;
}

body.cf-login-account-page .cf-login-local-column .portal-form > .row > [class*="col-"],
body.cf-login-account-page .cf-login-local-column .portal-form > .row > [class*="offset-"],
body.cf-login-account-page .cf-login-register-column .portal-form > .row > [class*="col-"],
body.cf-login-account-page .cf-login-register-column .portal-form > .row > [class*="offset-"] {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.cf-login-account-page .cf-login-local-column .col-form-label,
body.cf-login-account-page .cf-login-register-column .col-form-label,
body.cf-login-account-page #Register .control-label,
body.cf-login-account-page #Register label {
  width: 100% !important;
  padding: 0 !important;
  text-align: left !important;
}

body.cf-login-account-page .cf-login-local-column .form-control,
body.cf-login-account-page .cf-login-register-column .form-control,
body.cf-login-account-page #Register .form-control {
  width: 100%;
  min-height: 48px;
}

body.cf-login-account-page .cf-login-local-column .portal-form > .row:last-child > div,
body.cf-login-account-page .cf-login-register-column .portal-form > .row:last-child > div,
body.cf-login-account-page #Register .form-action-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

body.cf-login-account-page .cf-login-local-column .portal-form > .row:last-child .btn,
body.cf-login-account-page .cf-login-register-column .portal-form > .row:last-child .btn,
body.cf-login-account-page .cf-login-register-column #SubmitButton {
  min-height: 46px;
}

body.cf-login-account-page #Register .form-group,
body.cf-login-account-page #Register .row,
body.cf-login-account-page .cf-login-register-column .form-group {
  width: 100%;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.cf-login-account-page #Register [class*="col-"],
body.cf-login-account-page #Register [class*="offset-"] {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.cf-login-account-page .cf-register-captcha-row,
body.cf-login-account-page #Register .form-group:has(input[id*="aptcha"]),
body.cf-login-account-page #Register .form-group:has(input[name*="aptcha"]),
body.cf-login-account-page #registerForm .form-group:has(input[id*="aptcha"]),
body.cf-login-account-page #registerForm .form-group:has(input[name*="aptcha"]) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  justify-items: start;
  gap: 7px;
  max-width: 360px;
  margin: 2px auto 22px !important;
}

body.cf-login-account-page .cf-register-captcha-image,
body.cf-login-account-page #Register img,
body.cf-login-account-page #registerForm img {
  display: block;
  max-width: min(100%, 240px);
  height: auto;
  margin: 0;
}

body.cf-login-account-page .cf-register-captcha-link,
body.cf-login-account-page #Register .cf-register-captcha-row a,
body.cf-login-account-page #registerForm .cf-register-captcha-row a {
  display: inline-flex;
  width: fit-content;
  color: var(--cf-blue);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
}

body.cf-login-account-page .cf-register-captcha-link:hover,
body.cf-login-account-page #Register .cf-register-captcha-row a:hover,
body.cf-login-account-page #registerForm .cf-register-captcha-row a:hover {
  text-decoration: underline;
}

body.cf-login-account-page .cf-register-captcha-input,
body.cf-login-account-page #Register input[id*="aptcha"],
body.cf-login-account-page #Register input[name*="aptcha"],
body.cf-login-account-page #registerForm input[id*="aptcha"],
body.cf-login-account-page #registerForm input[name*="aptcha"] {
  width: min(100%, 280px) !important;
  min-height: 42px !important;
  font-size: 18px;
}

body.cf-login-account-page .cf-register-captcha-label,
body.cf-login-account-page #Register label[for*="aptcha"],
body.cf-login-account-page #registerForm label[for*="aptcha"] {
  margin: 0 !important;
  color: var(--cf-ink);
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.25;
}

body.cf-login-account-page.cf-registration-profile-enhanced {
  --cf-account-width: min(920px, calc(100% - 40px));
}

body.cf-login-account-page.cf-registration-profile-enhanced #Register,
body.cf-login-account-page.cf-registration-profile-enhanced .cf-login-register-column > form {
  max-width: 840px !important;
}

body.cf-login-account-page .cf-register-profile-fieldset {
  width: 100%;
  margin: 4px 0 22px;
  padding: 18px;
  border: 1px solid #d8e3f2;
  border-radius: 8px;
  background: #f7fbff;
}

body.cf-login-account-page .cf-register-profile-fieldset legend {
  width: auto;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.2;
}

body.cf-login-account-page .cf-register-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

body.cf-login-account-page .cf-register-profile-field {
  display: grid;
  gap: 6px;
  margin: 0 !important;
  color: var(--cf-ink);
  font-weight: 900;
}

body.cf-login-account-page .cf-register-profile-label {
  display: block;
  line-height: 1.25;
}
body.cf-login-account-page .cf-register-profile-help {
  display: block;
  color: #526174;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}


body.cf-login-account-page .cf-register-profile-span-2 {
  grid-column: 1 / -1;
}

body.cf-login-account-page .cf-register-profile-control {
  width: 100% !important;
  min-height: 46px !important;
  border: 1px solid #cfd9e8;
  border-radius: 6px;
  background: #fff;
  color: var(--cf-ink);
  font-size: 16px;
  font-weight: 500;
}

body.cf-login-account-page .cf-registration-email-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0, 24, 55, 0.58);
}

body.cf-login-account-page .cf-registration-email-dialog {
  width: min(100%, 460px);
  padding: 26px;
  border-radius: 8px;
  background: #fff;
  color: var(--cf-ink);
  box-shadow: 0 22px 60px rgba(7, 26, 58, 0.28);
}

body.cf-login-account-page .cf-registration-email-dialog h2 {
  margin: 0 0 10px;
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  line-height: 1.15;
}

body.cf-login-account-page .cf-registration-email-dialog p {
  margin: 0 0 18px;
  color: var(--cf-muted);
  font-size: 17px;
  line-height: 1.45;
}

body.cf-login-account-page .cf-registration-email-dialog .cf-btn {
  width: 100%;
  justify-content: center;
}

@media (max-width: 720px) {
  body.cf-login-account-page .cf-register-profile-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
body.cf-login-account-page .cf-login-account-row {
  justify-content: center !important;
  justify-items: center !important;
}

body.cf-login-account-page .cf-login-panel-column,
body.cf-login-account-page .cf-login-local-column,
body.cf-login-account-page .cf-login-register-column,
body.cf-login-account-page .cf-login-external-column {
  margin-right: auto !important;
  margin-left: auto !important;
}

body.cf-login-account-page.cf-account-standalone-mode .page-copy {
  display: grid !important;
  justify-items: center !important;
}

body.cf-login-account-page.cf-account-standalone-mode .cf-account-standalone-panel {
  width: 100% !important;
  max-width: 620px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.cf-login-account-page.cf-account-standalone-mode .cf-account-centered-form,
body.cf-login-account-page.cf-account-standalone-mode .cf-account-standalone-panel > form,
body.cf-login-account-page.cf-account-standalone-mode .page-copy form[action*="/SignIn"],
body.cf-login-account-page.cf-account-standalone-mode .page-copy form[action*="/Account/Login/ForgotPassword"],
body.cf-login-account-page.cf-account-standalone-mode .page-copy form[action*="/Account/Login/ResetPassword"],
body.cf-login-account-page.cf-account-standalone-mode .page-copy form[action*="/Account/Login/ChangePassword"],
body.cf-login-account-page.cf-account-standalone-mode .page-copy form[action*="/Account/Manage/ChangePassword"] {
  width: 100% !important;
  max-width: 620px !important;
  margin: 0 auto !important;
  padding: 30px !important;
  border: 2px solid rgba(0, 36, 82, 0.22) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 14px 30px rgba(7, 26, 58, 0.11) !important;
  box-sizing: border-box;
}

body.cf-login-account-page.cf-account-standalone-mode .cf-account-centered-form .form-group,
body.cf-login-account-page.cf-account-standalone-mode .cf-account-centered-form .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  width: 100%;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.cf-login-account-page.cf-account-standalone-mode .cf-account-centered-form [class*="col-"],
body.cf-login-account-page.cf-account-standalone-mode .cf-account-centered-form [class*="offset-"] {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.cf-login-account-page.cf-account-standalone-mode .cf-account-centered-form .control-label,
body.cf-login-account-page.cf-account-standalone-mode .cf-account-centered-form .col-form-label,
body.cf-login-account-page.cf-account-standalone-mode .cf-account-centered-form label {
  width: 100% !important;
  padding: 0 !important;
  text-align: left !important;
}

body.cf-login-account-page.cf-account-standalone-mode .cf-account-centered-form .form-control {
  width: 100% !important;
  min-height: 48px;
}
body.cf-login-account-page .login-heading-section {
  margin: 0 0 20px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid rgba(0, 36, 82, 0.14);
  background: transparent !important;
  color: var(--cf-ink) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px !important;
  line-height: 1.15;
  text-align: center;
}

body.cf-login-account-page .cf-returning-user {
  width: min(100%, 620px);
  margin: 18px auto 0;
  border: 1px solid rgba(0, 54, 115, 0.2);
  border-radius: 12px;
  background: #f7fbff;
  box-sizing: border-box;
  overflow: hidden;
}

body.cf-login-account-page .cf-returning-user-toggle {
  position: relative;
  display: grid;
  gap: 3px;
  width: 100%;
  padding: 17px 20px;
  border: 0;
  background: transparent;
  color: var(--cf-blue-dark);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

body.cf-login-account-page .cf-returning-user-toggle::after {
  content: "+";
  position: absolute;
  justify-self: end;
  color: var(--cf-blue);
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

body.cf-login-account-page .cf-returning-user-toggle[aria-expanded="true"]::after {
  content: "−";
}

body.cf-login-account-page .cf-returning-user-toggle strong {
  padding-right: 30px;
  color: var(--cf-ink);
  font-size: 17px;
  line-height: 1.25;
}

body.cf-login-account-page .cf-returning-user-toggle span {
  padding-right: 30px;
  color: var(--cf-muted);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

body.cf-login-account-page .cf-returning-user-form {
  display: grid;
  gap: 10px;
  padding: 0 20px 20px;
  border-top: 1px solid rgba(0, 54, 115, 0.12);
}

body.cf-login-account-page .cf-returning-user-form[hidden] {
  display: none !important;
}

body.cf-login-account-page .cf-returning-user-form > p:first-child {
  margin: 16px 0 2px;
  color: var(--cf-muted);
  font-size: 14px;
  line-height: 1.45;
}

body.cf-login-account-page .cf-returning-user-form label {
  margin: 0;
  color: var(--cf-ink);
  font-size: 14px;
  font-weight: 800;
}

body.cf-login-account-page .cf-returning-user-form .form-control {
  width: 100%;
  min-height: 46px;
}

body.cf-login-account-page .cf-returning-user-submit {
  min-height: 46px;
  margin-top: 4px;
}

body.cf-login-account-page .cf-returning-user-submit:disabled {
  cursor: wait;
  opacity: 0.72;
}

body.cf-login-account-page .cf-returning-user-status {
  min-height: 20px;
  margin: 2px 0 0;
  color: var(--cf-muted);
  font-size: 14px;
  line-height: 1.4;
}

body.cf-login-account-page .cf-returning-user-status.is-success {
  color: #146c43;
}

body.cf-login-account-page .cf-returning-user-status.is-error {
  color: #a61b1b;
}

body.cf-login-account-page .cf-returning-user-trap {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

body.cf-login-account-page.cf-account-admin-mode .cf-login-external-column .login-heading-section {
  border-bottom: 0;
  margin-bottom: 16px !important;
}

body.cf-login-account-page.cf-account-admin-mode .cf-login-external-column form,
body.cf-login-account-page.cf-account-admin-mode .cf-login-external-column .provider-list,
body.cf-login-account-page.cf-account-admin-mode .cf-login-external-column .form-horizontal {
  display: grid !important;
  justify-items: stretch;
  gap: 14px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cf-login-account-page.cf-account-admin-mode .cf-login-external-column button,
body.cf-login-account-page.cf-account-admin-mode .cf-login-external-column input[type="submit"],
body.cf-login-account-page.cf-account-admin-mode .cf-login-external-column a.btn,
body.cf-login-account-page.cf-account-admin-mode .cf-login-external-column .btn {
  width: 100%;
  min-height: 48px !important;
  border: 1px solid var(--cf-navy) !important;
  border-radius: 8px !important;
  background: var(--cf-navy) !important;
  color: #fff !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

@media (max-width: 640px) {
  .cf-footer-admin-mark {
    right: 14px;
    bottom: 12px;
    width: 30px;
    height: 30px;
  }

  .cf-footer-admin-mark img {
    width: 24px;
    height: 24px;
  }

  body.cf-login-account-page .cf-login-local-column > form .portal-form,
  body.cf-login-account-page .cf-login-register-column > form .portal-form,
  body.cf-login-account-page .cf-login-external-column > form > div {
    padding: 22px !important;
  }

  .cf-password-help {
    grid-template-columns: 1fr;
  }

  body.cf-login-account-page.cf-account-register-mode .cf-login-register-column,
  body.cf-login-account-page .cf-login-register-column > form,
  body.cf-login-account-page #Register {
    max-width: 100% !important;
  }
}

/* Home offer banner. */
.cf-home-offer-banner {
  padding: clamp(28px, 4vw, 52px) 0;
  border-bottom: 1px solid rgba(0, 43, 92, 0.14);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(245, 248, 252, 0.96) 54%, rgba(234, 241, 250, 0.94) 100%),
    linear-gradient(135deg, rgba(19, 54, 109, 0.08) 25%, transparent 25%) 0 0 / 88px 88px;
}

.cf-home-offer-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(18px, 4vw, 42px);
  align-items: center;
}

.cf-home-offer-copy {
  max-width: 760px;
}

.cf-home-offer-copy .cf-kicker {
  margin: 0 0 8px;
  color: var(--cf-gold);
}

.cf-home-offer-copy h1 {
  margin: 0;
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 5vw, 66px);
  line-height: 1.02;
}

.cf-home-offer-copy p:not(.cf-kicker) {
  max-width: 640px;
  margin: 14px 0 0;
  color: #334766;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 700;
  line-height: 1.45;
}

.cf-home-offer-actions {
  display: grid;
  gap: 12px;
  min-width: min(100%, 240px);
}

.cf-home-offer-summary {
  display: grid;
  gap: 12px;
  min-width: min(100%, 260px);
  align-content: center;
  padding: 20px;
  border: 1px solid rgba(255, 184, 45, 0.45);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.cf-home-offer-summary strong {
  color: var(--cf-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 4vw, 56px);
  line-height: 1;
}

.cf-home-offer-summary span,
.cf-home-offer-summary small {
  color: rgba(255, 255, 255, 0.92);
  font-weight: 700;
  line-height: 1.35;
}

.cf-home-offer-summary small {
  color: rgba(255, 255, 255, 0.78);
}

.cf-home-offer-actions .cf-btn {
  justify-content: center;
  width: 100%;
}

@media (max-width: 860px) {
  .cf-home-offer-inner {
    grid-template-columns: 1fr;
  }

  .cf-home-offer-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
}

@media (max-width: 560px) {
  .cf-home-offer-actions {
    grid-template-columns: 1fr;
  }
}

/* Home page sales and requirements banners. */
.cf-home-offer-banner {
  padding: clamp(24px, 4vw, 48px) 0 clamp(18px, 3vw, 30px);
  border-bottom: 0;
  background:
    linear-gradient(180deg, rgba(247, 250, 255, 0.98), rgba(239, 245, 252, 0.96)),
    #f5f8fc;
}

.cf-home-offer-inner {
  padding: clamp(28px, 5vw, 58px);
  border: 1px solid rgba(0, 43, 92, 0.18);
  border-radius: 22px;
  background:
    linear-gradient(90deg, rgba(0, 43, 92, 0.98) 0%, rgba(19, 54, 109, 0.95) 56%, rgba(0, 63, 124, 0.9) 100%),
    linear-gradient(135deg, rgba(255,255,255,.1) 25%, transparent 25%) 0 0 / 90px 90px,
    var(--cf-navy);
  box-shadow: 0 22px 48px rgba(7, 26, 58, 0.22);
}

.cf-home-offer-copy h1,
.cf-home-offer-copy p:not(.cf-kicker) {
  color: #fff;
}

.cf-home-offer-copy .cf-kicker {
  color: var(--cf-gold);
}

.cf-home-offer-actions .cf-btn-secondary {
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.cf-home-offer-image-wrap {
  display: flex;
  justify-content: center;
}

.cf-home-offer-image-link {
  display: block;
  width: min(100%, 1040px);
  overflow: hidden;
  border: 1px solid rgba(0, 43, 92, 0.16);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(7, 26, 58, 0.18);
}

.cf-home-offer-image {
  display: block;
  width: 100%;
  height: auto;
}

.cf-home-compliance-banner {
  padding: 0 0 clamp(30px, 4vw, 54px);
  background: #f4f6f8;
}

.cf-state-course-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 620px), 1fr));
  gap: clamp(18px, 2vw, 26px);
}

.cf-state-course-image-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 1.8vw, 24px);
  align-items: stretch;
}

.cf-state-course-image-card {
  display: block;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 43, 92, 0.16);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(7, 26, 58, 0.14);
  text-decoration: none !important;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cf-state-course-image-card:hover,
.cf-state-course-image-card:focus {
  border-color: var(--cf-gold);
  box-shadow: 0 22px 46px rgba(7, 26, 58, 0.2);
  transform: translateY(-2px);
}

.cf-state-course-image-card img {
  display: block;
  width: 100%;
  height: auto;
}

.cf-state-course-card {
  --cf-state-bg: none;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(165px, 0.62fr);
  grid-template-rows: minmax(0, 1fr) auto;
  gap: clamp(10px, 1.35vw, 18px);
  min-height: 390px;
  aspect-ratio: 1.5 / 1;
  overflow: hidden;
  padding: clamp(16px, 2.15vw, 26px);
  border: 1px solid rgba(0, 43, 92, 0.16);
  border-radius: 16px;
  background:
    radial-gradient(circle at 26% 22%, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.82) 58%, rgba(244, 248, 252, 0.92) 100%),
    #fff;
  box-shadow: 0 18px 40px rgba(7, 26, 58, 0.14);
  color: var(--cf-ink);
  text-decoration: none !important;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cf-state-course-card::before {
  content: "";
  position: absolute;
  inset: 14px auto auto 28px;
  width: min(52%, 360px);
  height: 200px;
  background: var(--cf-state-bg) center / contain no-repeat;
  filter: grayscale(1);
  opacity: 0.24;
  pointer-events: none;
  z-index: 0;
}

.cf-state-course-card::after {
  content: "";
  position: absolute;
  left: -9%;
  right: -9%;
  bottom: -82px;
  height: 164px;
  border-top: 8px solid var(--cf-gold);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  background:
    linear-gradient(135deg, rgba(0, 43, 92, 0.98), rgba(0, 68, 123, 0.96)),
    var(--cf-navy);
  pointer-events: none;
  z-index: 0;
}

.cf-state-course-card > * {
  position: relative;
  z-index: 1;
}

.cf-state-course-card:hover,
.cf-state-course-card:focus {
  border-color: var(--cf-gold);
  box-shadow: 0 22px 46px rgba(7, 26, 58, 0.2);
  transform: translateY(-2px);
}

.cf-state-course-card-ny {
  --cf-state-bg: url('/NY-Requirements-State-Outline.png');
}

.cf-state-course-card-pa {
  --cf-state-bg: url('/PA-Requirements-State-Outline.png');
}

.cf-state-course-copy {
  display: grid;
  align-content: start;
  justify-items: center;
  min-width: 0;
  text-align: center;
}

.cf-state-course-title,
.cf-state-course-subtitle,
.cf-state-course-script {
  display: block;
}

.cf-state-course-title {
  color: var(--cf-navy);
  font-family: Georgia, "Times New Roman", serif;
  max-width: 100%;
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: 0.035em;
  overflow-wrap: normal;
}

.cf-state-course-card-pa .cf-state-course-title {
  font-size: clamp(21px, 2.3vw, 34px);
  letter-spacing: 0.015em;
}

.cf-state-course-rule {
  width: min(100%, 360px);
  height: 3px;
  margin: 7px 0 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cf-navy), var(--cf-navy) 47%, transparent 47%, transparent 53%, var(--cf-navy) 53%, var(--cf-navy));
}

.cf-state-course-rule::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  margin: -3px auto 0;
  border-radius: 999px;
  background: var(--cf-gold);
}

.cf-state-course-subtitle {
  color: var(--cf-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 1.8vw, 28px);
  font-weight: 900;
  line-height: 1;
}

.cf-state-course-script {
  margin-top: -1px;
  color: #e97817;
  font-family: "Segoe Script", "Brush Script MT", cursive;
  font-size: clamp(24px, 2.65vw, 38px);
  font-weight: 700;
  line-height: 1;
}

.cf-state-course-copy > p {
  max-width: 330px;
  margin: 8px 0 0;
  color: #40526f;
  font-size: clamp(11.5px, 0.9vw, 13px);
  font-weight: 800;
  line-height: 1.3;
}

.cf-state-course-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: min(100%, 340px);
  margin-top: 14px;
}

.cf-state-course-benefits > span {
  display: grid;
  justify-items: center;
  gap: 6px;
  padding-inline: 4px;
  color: var(--cf-navy);
  font-size: 9.5px;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
}

.cf-state-course-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 3px solid var(--cf-navy);
  border-radius: 999px;
  background: var(--cf-navy);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 10px 14px 0 -7px var(--cf-gold);
}

.cf-state-course-panel {
  align-self: start;
  min-width: 0;
  padding: clamp(12px, 1.25vw, 16px);
  border: 1px solid rgba(0, 43, 92, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 24px rgba(7, 26, 58, 0.13);
}

.cf-state-course-skyline {
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 58px;
  margin-bottom: 10px;
  padding: 6px 8px 0;
  background: var(--cf-state-bg) center / contain no-repeat;
}

.cf-state-course-skyline span {
  display: block;
  flex: 1 1 0;
  max-width: 20px;
  min-width: 9px;
  border-radius: 2px 2px 0 0;
  background: linear-gradient(180deg, #305c8e, var(--cf-navy));
}

.cf-state-course-skyline span:nth-child(1) {
  height: 34%;
}

.cf-state-course-skyline span:nth-child(2) {
  height: 54%;
}

.cf-state-course-skyline span:nth-child(3) {
  height: 76%;
}

.cf-state-course-skyline span:nth-child(4) {
  height: 46%;
}

.cf-state-course-skyline span:nth-child(5) {
  height: 64%;
}

.cf-state-course-skyline span:nth-child(6) {
  height: 38%;
}

.cf-state-course-panel p {
  margin: 0 0 9px;
  color: var(--cf-navy);
  font-size: 11.5px;
  font-weight: 900;
  line-height: 1.25;
}

.cf-state-course-panel ul {
  display: grid;
  gap: 8px;
  padding: 12px 0 0;
  margin: 0;
  border-top: 2px solid rgba(239, 166, 35, 0.45);
  list-style: none;
}

.cf-state-course-panel li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 7px;
  color: var(--cf-navy);
  font-size: 10.8px;
  font-weight: 900;
  line-height: 1.25;
}

.cf-state-course-panel li::before {
  content: "";
  width: 13px;
  height: 13px;
  margin-top: 1px;
  border-radius: 999px;
  background: var(--cf-gold);
  box-shadow: inset 0 0 0 4px #fff;
}

.cf-state-course-cta {
  grid-column: 1 / -1;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: min(100%, 430px);
  padding: 8px 16px 9px;
  border-radius: 999px 999px 10px 10px;
  background: linear-gradient(180deg, #f6b037, #e59019);
  box-shadow: 0 10px 20px rgba(7, 26, 58, 0.22);
  color: var(--cf-navy);
  font-size: 11.5px;
  font-weight: 800;
  line-height: 1.15;
}

.cf-state-course-cta strong {
  font-weight: 900;
}

.cf-state-course-cta-icon {
  position: relative;
  flex: 0 0 auto;
  width: 30px;
  height: 22px;
  border: 3px solid var(--cf-navy);
  border-radius: 5px;
  background: #fff;
}

.cf-state-course-cta-icon::after {
  content: "";
  position: absolute;
  left: 7px;
  right: 7px;
  bottom: -7px;
  height: 3px;
  border-radius: 999px;
  background: var(--cf-navy);
}

.cf-home-about-links {
  padding: 0 0 clamp(28px, 4vw, 48px);
  background: #f4f6f8;
}

.cf-home-about-links-inner {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(0, 43, 92, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
}

.cf-home-about-links h2 {
  margin: 0;
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
}

.cf-home-about-links a {
  color: var(--cf-navy);
  font-weight: 800;
  text-decoration: none !important;
}

.cf-home-about-links a:hover,
.cf-home-about-links a:focus {
  color: var(--cf-gold-dark);
}

@media (max-width: 860px) {
  .cf-home-about-links-inner {
    grid-template-columns: 1fr;
  }

  .cf-state-course-grid {
    grid-template-columns: 1fr;
  }

  .cf-state-course-image-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .cf-state-course-image-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .cf-home-offer-inner,
  .cf-state-course-card {
    border-radius: 14px;
  }

  .cf-state-course-card {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .cf-state-course-card::before {
    width: 78%;
    height: 190px;
    opacity: 0.18;
  }

  .cf-state-course-benefits {
    grid-template-columns: 1fr;
  }

  .cf-state-course-cta {
    justify-self: stretch;
    flex-wrap: wrap;
    border-radius: 14px;
  }
}

/* CEUFast About page */
.cf-about-page {
  background: linear-gradient(180deg, #f5f8fc 0%, #ffffff 42%, #eef4fb 100%);
}

.cf-about-hero .cf-hero-inner {
  min-height: clamp(260px, 28vw, 390px);
}

.cf-about-main {
  padding: clamp(30px, 4vw, 58px) 0 clamp(46px, 5vw, 76px);
}

.cf-about-lede {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
  gap: clamp(16px, 2vw, 24px);
  align-items: stretch;
  margin-bottom: clamp(18px, 2.5vw, 30px);
}

.cf-about-lede-copy,
.cf-about-card,
.cf-about-accreditation,
.cf-about-values article,
.cf-about-cta {
  border: 1px solid rgba(0, 43, 92, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--cf-shadow);
}

.cf-about-lede-copy {
  padding: clamp(24px, 3vw, 42px);
}

.cf-about-lede-copy h2,
.cf-about-card h2,
.cf-about-accreditation h2,
.cf-about-cta h2 {
  margin: 0 0 12px;
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.05;
}

.cf-about-lede-copy h2 {
  max-width: 720px;
  font-size: clamp(35px, 4vw, 58px);
}

.cf-about-lede-copy p,
.cf-about-card p,
.cf-about-accreditation p,
.cf-about-values p,
.cf-about-cta p {
  color: var(--cf-muted);
  font-size: clamp(16px, 1.22vw, 19px);
  line-height: 1.55;
}

.cf-about-stat-grid {
  display: grid;
  gap: 14px;
}

.cf-about-stat-grid div {
  display: grid;
  align-content: center;
  min-height: 128px;
  padding: 22px;
  border: 1px solid rgba(0, 43, 92, 0.14);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(0, 54, 115, 0.94), rgba(0, 87, 150, 0.9)),
    radial-gradient(circle at 18% 20%, rgba(255, 255, 255, 0.18), transparent 32%),
    linear-gradient(135deg, rgba(13, 58, 111, 0.96), rgba(0, 43, 92, 0.94));
  box-shadow: var(--cf-shadow);
  color: #fff;
}

.cf-about-stat-grid strong {
  display: block;
  color: var(--cf-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1;
}

.cf-about-stat-grid span {
  display: block;
  margin-top: 8px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
}

.cf-about-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  margin-bottom: clamp(18px, 2.5vw, 30px);
}

.cf-about-card {
  position: relative;
  overflow: hidden;
  min-height: 340px;
  padding: clamp(24px, 3vw, 38px);
}

.cf-about-card::after {
  content: "";
  position: absolute;
  right: -72px;
  bottom: -82px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: rgba(239, 166, 35, 0.12);
}

.cf-about-card-icon {
  display: inline-grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 18px;
  border-radius: 16px;
  background: rgba(35, 106, 214, 0.12);
  color: var(--cf-blue);
  font-size: 25px;
}

.cf-about-mission-card .cf-about-card-icon {
  background: rgba(52, 168, 83, 0.13);
  color: var(--cf-green);
}

.cf-about-accreditation {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(340px, 1.1fr);
  gap: clamp(22px, 3vw, 42px);
  align-items: center;
  margin-bottom: clamp(18px, 2.5vw, 30px);
  padding: clamp(24px, 3.5vw, 44px);
}

.cf-about-accreditation-list {
  display: grid;
  gap: 14px;
}

.cf-about-accreditation-list div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  column-gap: 14px;
  align-items: start;
  padding: 16px;
  border: 1px solid rgba(0, 43, 92, 0.1);
  border-radius: 14px;
  background: #f7fbff;
}

.cf-about-accreditation-list span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(239, 166, 35, 0.18);
  color: var(--cf-gold-dark);
}

.cf-about-accreditation-list strong {
  color: var(--cf-ink);
  font-size: 17px;
}

.cf-about-accreditation-list p {
  margin: 4px 0 0;
  font-size: 14px;
}

.cf-about-timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: clamp(18px, 2.5vw, 30px);
}

.cf-about-timeline-item {
  position: relative;
  padding: 22px 18px 20px;
  border-left: 4px solid var(--cf-gold);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(7, 26, 58, 0.09);
}

.cf-about-timeline-item span {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--cf-blue);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 800;
}

.cf-about-timeline-item h3,
.cf-about-values h3 {
  margin: 0 0 8px;
  color: var(--cf-ink);
  font-size: 18px;
}

.cf-about-timeline-item p {
  margin: 0;
  color: var(--cf-muted);
  font-size: 14px;
  line-height: 1.45;
}

.cf-about-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 22px);
  margin-bottom: clamp(22px, 3vw, 36px);
}

.cf-about-values article {
  padding: 24px;
}

.cf-about-values span {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(52, 168, 83, 0.14);
  color: var(--cf-green);
}

.cf-about-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(24px, 3.5vw, 42px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(239, 245, 252, 0.96)),
    radial-gradient(circle at 92% 12%, rgba(239, 166, 35, 0.16), transparent 26%),
    linear-gradient(135deg, #ffffff, #f4f8fd);
}

.cf-about-cta-actions {
  display: grid;
  gap: 10px;
  min-width: 210px;
}

.cf-team-lede {
  align-items: stretch;
}

.cf-team-section {
  margin-top: clamp(26px, 4vw, 48px);
}

.cf-team-section-header {
  max-width: 780px;
  margin-bottom: 18px;
}

.cf-team-section-header h2 {
  margin: 0 0 10px;
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  line-height: 1.08;
}

.cf-team-section-header p:not(.cf-kicker) {
  margin: 0;
  color: var(--cf-muted);
  font-size: 17px;
  line-height: 1.55;
}

.cf-team-featured-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.cf-team-profile,
.cf-team-bio {
  border: 1px solid rgba(0, 43, 92, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 28px rgba(7, 26, 58, 0.08);
}

.cf-team-profile {
  padding: 24px;
}

.cf-team-profile-head,
.cf-team-bio summary {
  display: flex;
  gap: 14px;
  align-items: center;
}

.cf-team-profile-head {
  margin-bottom: 18px;
}

.cf-team-avatar {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(239, 166, 35, 0.32);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(239, 166, 35, 0.18), rgba(255, 255, 255, 0.94)),
    #ffffff;
  color: var(--cf-navy);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
}

.cf-team-avatar-small {
  width: 44px;
  height: 44px;
  font-size: 14px;
}

.cf-team-profile h3,
.cf-team-bio strong {
  margin: 0;
  color: var(--cf-ink);
  font-size: 20px;
  line-height: 1.2;
}

.cf-team-profile-head p,
.cf-team-summary-copy span {
  margin: 5px 0 0;
  color: var(--cf-blue);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
  text-transform: uppercase;
}

.cf-team-profile > p,
.cf-team-bio-body p {
  margin: 0 0 14px;
  color: var(--cf-muted);
  font-size: 15px;
  line-height: 1.58;
}

.cf-team-profile > p:last-child,
.cf-team-bio-body p:last-child {
  margin-bottom: 0;
}

.cf-team-profile h4,
.cf-team-bio-body h4 {
  margin: 18px 0 8px;
  color: var(--cf-ink);
  font-size: 15px;
}

.cf-team-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 20px;
  color: var(--cf-muted);
  font-size: 14px;
  line-height: 1.45;
}

.cf-team-directory {
  padding-bottom: 10px;
}

.cf-team-bio-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cf-team-bio {
  overflow: hidden;
}

.cf-team-bio summary {
  min-height: 78px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
}

.cf-team-bio summary::-webkit-details-marker {
  display: none;
}

.cf-team-bio summary::after {
  content: "+";
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 26px;
  height: 26px;
  margin-left: auto;
  border-radius: 999px;
  background: rgba(0, 43, 92, 0.08);
  color: var(--cf-navy);
  font-weight: 900;
}

.cf-team-bio[open] summary {
  border-bottom: 1px solid rgba(0, 43, 92, 0.1);
  background: #f7fbff;
}

.cf-team-bio[open] summary::after {
  content: "-";
}

.cf-team-summary-copy {
  display: grid;
  min-width: 0;
}

.cf-team-bio-body {
  padding: 18px;
}

@media (max-width: 980px) {
  .cf-about-lede,
  .cf-about-accreditation,
  .cf-about-cta {
    grid-template-columns: 1fr;
  }

  .cf-about-timeline,
  .cf-about-values,
  .cf-team-featured-grid,
  .cf-team-bio-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .cf-about-grid,
  .cf-about-timeline,
  .cf-about-values,
  .cf-team-featured-grid,
  .cf-team-bio-list {
    grid-template-columns: 1fr;
  }

  .cf-about-card {
    min-height: 0;
  }

  .cf-about-cta-actions {
    min-width: 0;
  }

  .cf-team-profile,
  .cf-team-bio-body {
    padding: 18px;
  }

  .cf-team-profile-head,
  .cf-team-bio summary {
    align-items: flex-start;
  }
}

/* CEUFast Accreditations page */
.cf-accreditation-page {
  background: linear-gradient(180deg, #f6f9fd 0%, #ffffff 40%, #eef5fb 100%);
}

.cf-accreditation-hero .cf-hero-inner {
  min-height: clamp(260px, 28vw, 380px);
}

.cf-accreditation-main {
  padding: clamp(30px, 4vw, 58px) 0 clamp(46px, 5vw, 76px);
}

.cf-accreditation-lede,
.cf-accreditation-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: center;
  margin-bottom: clamp(18px, 2.5vw, 30px);
  padding: clamp(24px, 3.5vw, 44px);
  border: 1px solid rgba(0, 43, 92, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--cf-shadow);
}

.cf-accreditation-lede h2,
.cf-accreditation-card h2,
.cf-accreditation-approvals h2,
.cf-accreditation-cta h2 {
  margin: 0 0 12px;
  color: var(--cf-ink);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.08;
}

.cf-accreditation-lede h2 {
  max-width: 780px;
  font-size: clamp(34px, 4vw, 56px);
}

.cf-accreditation-lede p,
.cf-accreditation-card p,
.cf-accreditation-card li,
.cf-accreditation-approvals p,
.cf-accreditation-cta p {
  color: var(--cf-muted);
  font-size: clamp(16px, 1.14vw, 18px);
  line-height: 1.55;
}

.cf-accreditation-page a {
  color: var(--cf-blue);
  font-weight: 800;
}

.cf-accreditation-page a:hover,
.cf-accreditation-page a:focus {
  color: var(--cf-blue-dark);
}

.cf-accreditation-proof-grid {
  display: grid;
  gap: 14px;
}

.cf-accreditation-proof-grid div {
  min-height: 116px;
  padding: 20px;
  border: 1px solid rgba(0, 43, 92, 0.14);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(0, 54, 115, 0.94), rgba(0, 87, 150, 0.9)),
    linear-gradient(135deg, rgba(13, 58, 111, 0.96), rgba(0, 43, 92, 0.94));
  color: #fff;
}

.cf-accreditation-proof-grid strong {
  display: block;
  color: var(--cf-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 3.2vw, 48px);
  line-height: 1;
}

.cf-accreditation-proof-grid span {
  display: block;
  margin-top: 8px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
}

.cf-accreditation-categories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  margin-bottom: clamp(18px, 2.5vw, 30px);
}

.cf-accreditation-card {
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid rgba(0, 43, 92, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--cf-shadow);
}

.cf-accreditation-card ul {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
  padding-left: 20px;
}

.cf-accreditation-card p:last-child,
.cf-accreditation-card li:last-child {
  margin-bottom: 0;
}

.cf-accreditation-icon {
  display: inline-grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 18px;
  border-radius: 16px;
  background: rgba(35, 106, 214, 0.12);
  color: var(--cf-blue);
  font-size: 25px;
}

.cf-accreditation-approvals {
  margin-bottom: clamp(22px, 3vw, 36px);
  padding: clamp(24px, 3.5vw, 44px);
  border: 1px solid rgba(0, 43, 92, 0.12);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--cf-shadow);
}

.cf-accreditation-approvals-intro {
  max-width: 860px;
  margin-bottom: clamp(18px, 2.5vw, 28px);
}

.cf-accreditation-approval-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cf-accreditation-approval-list a,
.cf-accreditation-approval-list div {
  display: grid;
  gap: 6px;
  min-height: 126px;
  padding: 18px;
  border: 1px solid rgba(0, 43, 92, 0.1);
  border-radius: 14px;
  background: #f7fbff;
  text-decoration: none;
}

.cf-accreditation-approval-list a:hover,
.cf-accreditation-approval-list a:focus {
  border-color: rgba(0, 87, 150, 0.34);
  background: #eef7ff;
}

.cf-accreditation-approval-list span {
  color: var(--cf-gold-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cf-accreditation-approval-list strong {
  color: var(--cf-ink);
  font-size: 17px;
  line-height: 1.25;
}

.cf-accreditation-approval-list small {
  color: var(--cf-muted);
  font-size: 14px;
  line-height: 1.4;
}

.cf-accreditation-cta {
  grid-template-columns: minmax(0, 1fr) auto;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(239, 245, 252, 0.96)),
    linear-gradient(135deg, #ffffff, #f4f8fd);
}

.cf-accreditation-cta-actions {
  display: grid;
  gap: 10px;
  min-width: 210px;
}

@media (max-width: 980px) {
  .cf-accreditation-lede,
  .cf-accreditation-cta {
    grid-template-columns: 1fr;
  }

  .cf-accreditation-categories,
  .cf-accreditation-approval-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .cf-accreditation-card,
  .cf-accreditation-approvals,
  .cf-accreditation-lede,
  .cf-accreditation-cta {
    border-radius: 14px;
  }

  .cf-accreditation-cta-actions {
    min-width: 0;
  }
}
