/*-----------Header0, language bar jsp-------------------------------------

#header0ContentWrapper{
  background-color: #080414;
  }

  #header0Wrapper{
    background-color: #080414 !important;
    padding-bottom: 35px; /* made the language bar wider
  }

/*----------------------------------------------------------------------------*/

/*-----------Header1, topheader.jsp, ((logo, cart, login))----------------- */

#header1Wrapper {
  background-color: #222 !important;
  color: #080414 !important;
  height: 50px;
  /* height: 58px; /*pushed the navbar up close to the cart and the login
        padding-top: 3px;*/
}

/* sides of topheader.jsp ((logo, cart, login))*/

#cartCount {
  background-color: #005dab;
}

#cartInfo .glyphicon-shopping-cart {
  color: white !important;
  /* cart color*/
}

#loginDropdownMenuLink {
  color: white !important;
  /*Login link color*/
  font-size: 0.8125rem !important;
  font-weight: 400;
}

#header1 {
  padding-top: 0px;
}

#header1ContentWrapper .level-one-nav-item a:link,
#header1ContentWrapper .level-one-nav-item a:visited {
  text-decoration: none;
}

#header1ContentWrapper .level-one-nav-item a:hover,
#header1ContentWrapper .level-one-nav-item a:active,
#header1ContentWrapper .level-one-nav-item a:focus {
  outline-color: rgb(77, 144, 254);
  outline-offset: -2px;
  outline-width: 1px;
  outline-style: solid;
  color: #fff;
}

#header1ContentWrapper .level-one-nav-item a.dropdown-item:hover,
#header1ContentWrapper .level-one-nav-item a.dropdown-item:active,
#header1ContentWrapper .level-one-nav-item a.dropdown-item:focus {
  outline-color: rgb(77, 144, 254);
  outline-offset: -2px;
  outline-width: 1px;
  outline-style: solid;
  color: #000000;
}

#header1ContentWrapper .dropdown-toggle::after {
  display: none;
}

#header1ContentWrapper .dropdown-header-portals {
  color: #000;
}

#pageContainer {
  margin-top: -50px;
}

#loginInfo,
#cartInfo {
  line-height: initial;
}

#loginInfo.d-none {
  display: flex !important;
}

.cartInfo-nav,
.loginMenu-nav {
  float: left;
  margin-right: 6em;
}

#variableContentBlockPG0145 {
  margin-bottom: -3px;
}

/* @media (min-width: 992px) {
        .secondary-nav {
          top: 40% !important;
        }
      } */

@media (min-width: 1200px) {
  .secondary-nav {
    right: 1em !important;
  }
}

.loginMenu-nav .headerStudentLoginDropdownLink.dropdown-toggle {
  border-right: none !important;
  border-left: none !important;
}

/*--------------------------------------------------
      .nav-link{
        color: white !important;
        text-align: center !important;
      }--------------------------*/
#globalNavigationBar {
  display: none;
}

/* Catalog blurb for scrapers (course_list_with_cta); not visitor-facing. */
#pageCourseProfile #courseProfileNotes {
  display: none !important;
}

/* change the color of the center of the navbar that is now aligned to the right*/
/*-------------------------Global nav, globalNavigationEmbeddable.jsp ------------------------------*/
#header3Container {
  display: flex;
  /* justify-content: center; */
  background-color: #005dab !important;
  height: 50px;
  text-align: center !important;
}

/* align nav items to the right */

#header3Wrapper {
  /*padding-bottom: 10px;    space between global nav and the body content*/
  background-color: #005dab !important;
  height: 50px;
  text-align: center !important;
  margin-top: -1px;
}

.nav-item {
  font-size: 0.9375rem !important;
  /* global nav item font size */
  font-weight: 400;
  padding-top: 5px;
  padding-bottom: 5px;
  font-family: "Open Sans", sans-serif;
  color: red;
}

#header3 .nav-item:hover {
  border-radius: 2px;
  background-color: #0f76d0;
}

.navbar-light .navbar-nav .nav-link {
  color: orange !important;
  font-family: "Open Sans", sans-serif;
}

/* Color of navbar items/links */

#header3container.navbar-light .navbar-nav .nav-link {
  color: white;
  font-family: "Open Sans", sans-serif;
}

/*----------------------------------------------------------------------------------*/

/*----------------------Footer, bottomNavigation.jsp------------------------------------------------------*/

footer {
  background-color: #222;
  padding: 20px;
}

#footer-info {
  line-height: 12.5rem;
}

#footer2Sub2 {
  height: 160px;
  /*footer 1 sub 1 height**/
  padding-top: 20px;
}

#footer1Wrapper {
  height: 120px;
  /*Whole footer height **/
}

#mdc-footer-section .btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}

#mdc-footer-section .btn-xs,
.btn-group-xs>.btn {
  padding: 1px 5px;
  font-size: 0.75rem;
  line-height: 1.5;
  border-radius: 3px;
}

.mdc-footer-bottom.hidden-print .line-right {
  display: inline-block !important;
  padding-right: 5px !important;
  padding-left: 5px !important;
}

/*----- CE public site footer (dark shell) -----*/
/* Link/social rhythm inspired by Codecademy; colors stay MDC corporate. */
footer.ce-footer,
footer#mdc-footer-section.ce-footer {
  --ce-footer-bg: #121417;
  --ce-footer-text: #ffffff;
  --ce-footer-muted: #9aa3ad;
  /* Soft secondary text (contact / social); column links use --ce-footer-text */
  --ce-footer-link: rgba(255, 255, 255, 0.72);
  --ce-footer-accent: var(--mdc-light-blue, #9acdfe);
  --ce-footer-primary: var(--mdc-blue, #0f76d0);
  --ce-footer-rule: rgba(255, 255, 255, 0.14);
  background-color: var(--ce-footer-bg);
  color: var(--ce-footer-text);
  padding: 0;
  margin-top: 0;
  border: 0;
}

.ce-footer__inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 3rem 1.25rem 2rem;
}

.ce-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: flex-start;
  justify-content: space-between;
  padding: 2rem 0 0.5rem;
}

@media (min-width: 768px) {
  .ce-footer__brand {
    flex-direction: row;
    align-items: center;
  }
}

.ce-footer__brand-home {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.ce-footer__brand-logo {
  display: block;
  height: 2.5rem;
  width: auto;
  max-width: 11rem;
  /* Light logo asset on dark footer */
  filter: brightness(0) invert(1);
}

.ce-footer__brand-name {
  color: var(--ce-footer-text);
  font-size: 1.05rem;
  font-weight: 700;
}

.ce-footer__brand-social {
  text-align: left;
}

@media (min-width: 768px) {
  .ce-footer__brand-social {
    text-align: right;
  }
}

.ce-footer__brand-social-label {
  margin: 0 0 0.35rem;
  color: var(--ce-footer-accent);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
}

.ce-footer__columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem 2rem;
  padding: 1.5rem 0 2rem;
}

@media (min-width: 768px) {
  .ce-footer__columns {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 992px) {
  .ce-footer__columns {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1200px) {
  .ce-footer__columns {
    grid-template-columns: repeat(5, 1fr);
  }
}

/* Column titles: accent so they read apart from white link text */
footer.ce-footer .ce-footer__col-heading,
footer#mdc-footer-section.ce-footer .ce-footer__col-heading {
  margin: 0 0 0.75rem;
  color: var(--ce-footer-accent);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
}

.ce-footer__col-section--stacked {
  margin-top: 1.25rem;
}

.ce-footer__list {
  margin: 0;
  padding: 0;
}

.ce-footer__list li {
  margin: 0.25rem 0;
  font-size: 0.875rem;
  line-height: 1.5;
}

/* Column nav links: white, no underline; underline on hover/focus.
   High-specificity :link/:visited beats Destiny/global a underlines. */
footer.ce-footer .ce-footer__list a,
footer.ce-footer .ce-footer__list a:link,
footer.ce-footer .ce-footer__list a:visited,
footer#mdc-footer-section.ce-footer .ce-footer__list a,
footer#mdc-footer-section.ce-footer .ce-footer__list a:link,
footer#mdc-footer-section.ce-footer .ce-footer__list a:visited {
  display: inline-block;
  color: var(--ce-footer-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
  transition: text-decoration-color 0.15s ease;
}

footer.ce-footer .ce-footer__list a:hover,
footer.ce-footer .ce-footer__list a:focus,
footer#mdc-footer-section.ce-footer .ce-footer__list a:hover,
footer#mdc-footer-section.ce-footer .ce-footer__list a:focus {
  color: var(--ce-footer-text);
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

footer.ce-footer .ce-footer__list a:focus-visible,
footer#mdc-footer-section.ce-footer .ce-footer__list a:focus-visible {
  outline: 2px solid var(--ce-footer-primary);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Icon-only social row — white icons, accent on hover (no underline) */
.ce-footer__social {
  margin: 0;
  padding: 0.25rem 0 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem;
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .ce-footer__brand-social .ce-footer__social {
    justify-content: flex-end;
  }
}

.ce-footer__social li {
  margin: 0;
  display: inline-block;
}

footer.ce-footer .ce-footer__social-link,
footer.ce-footer .ce-footer__social-link:link,
footer.ce-footer .ce-footer__social-link:visited,
footer#mdc-footer-section.ce-footer .ce-footer__social-link,
footer#mdc-footer-section.ce-footer .ce-footer__social-link:link,
footer#mdc-footer-section.ce-footer .ce-footer__social-link:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-right: 0.25rem;
  color: var(--ce-footer-text);
  background: transparent;
  border: none;
  border-radius: 0.25rem;
  text-decoration: none;
  transition: color 0.15s ease, background-color 0.15s ease;
}

footer.ce-footer .ce-footer__social-link:hover,
footer.ce-footer .ce-footer__social-link:focus,
footer#mdc-footer-section.ce-footer .ce-footer__social-link:hover,
footer#mdc-footer-section.ce-footer .ce-footer__social-link:focus {
  color: var(--ce-footer-accent);
  text-decoration: none;
  background-color: rgba(15, 118, 208, 0.16);
}

footer.ce-footer .ce-footer__social-link:focus-visible,
footer#mdc-footer-section.ce-footer .ce-footer__social-link:focus-visible {
  outline: 2px solid var(--ce-footer-primary);
  outline-offset: 2px;
}

.ce-footer__social-icon {
  width: 1rem;
  height: 1rem;
  display: block;
}

.ce-footer__social-fallback {
  font-size: 0.75rem;
  font-weight: 600;
}

.ce-footer__contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.75rem;
  margin: 0;
  padding: 0.75rem 0;
  border-top: 1px solid var(--ce-footer-rule);
  color: var(--ce-footer-muted);
  font-size: 0.8125rem;
  line-height: 1.4;
}

footer.ce-footer .ce-footer__contact-heading,
footer#mdc-footer-section.ce-footer .ce-footer__contact-heading {
  color: var(--ce-footer-accent);
  font-weight: 700;
}

.ce-footer__contact-office {
  color: var(--ce-footer-muted);
  font-weight: 400;
}

.ce-footer__contact-sep {
  color: var(--ce-footer-muted);
  font-weight: 400;
  user-select: none;
}

footer.ce-footer .ce-footer__contact a,
footer.ce-footer .ce-footer__contact a:link,
footer.ce-footer .ce-footer__contact a:visited,
footer#mdc-footer-section.ce-footer .ce-footer__contact a,
footer#mdc-footer-section.ce-footer .ce-footer__contact a:link,
footer#mdc-footer-section.ce-footer .ce-footer__contact a:visited {
  color: var(--ce-footer-text);
  text-decoration: none;
}

footer.ce-footer .ce-footer__contact a:hover,
footer.ce-footer .ce-footer__contact a:focus,
footer#mdc-footer-section.ce-footer .ce-footer__contact a:hover,
footer#mdc-footer-section.ce-footer .ce-footer__contact a:focus {
  color: var(--ce-footer-text);
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

footer.ce-footer .ce-footer__contact a:focus-visible,
footer#mdc-footer-section.ce-footer .ce-footer__contact a:focus-visible {
  outline: 2px solid var(--ce-footer-primary);
  outline-offset: 2px;
  border-radius: 2px;
}

.ce-footer__contact-hours {
  color: var(--ce-footer-muted);
}

.ce-footer__legal {
  padding-top: 1.5rem;
  border-top: 1px solid var(--ce-footer-rule);
}

.ce-footer__legal-top {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}

@media (min-width: 768px) {
  .ce-footer__legal-top {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

.ce-footer__legal-links {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  color: var(--ce-footer-muted);
  font-size: 0.8rem;
}

.ce-footer__legal-links li {
  margin: 0;
}

.ce-footer__legal-copy {
  color: var(--ce-footer-muted);
}

footer.ce-footer .ce-footer__legal-links a,
footer.ce-footer .ce-footer__legal-links a:link,
footer.ce-footer .ce-footer__legal-links a:visited,
footer#mdc-footer-section.ce-footer .ce-footer__legal-links a,
footer#mdc-footer-section.ce-footer .ce-footer__legal-links a:link,
footer#mdc-footer-section.ce-footer .ce-footer__legal-links a:visited {
  color: var(--ce-footer-text);
  text-decoration: none;
}

footer.ce-footer .ce-footer__legal-links a:hover,
footer.ce-footer .ce-footer__legal-links a:focus,
footer#mdc-footer-section.ce-footer .ce-footer__legal-links a:hover,
footer#mdc-footer-section.ce-footer .ce-footer__legal-links a:focus {
  color: var(--ce-footer-text);
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

footer.ce-footer .ce-footer__legal-links a:focus-visible,
footer#mdc-footer-section.ce-footer .ce-footer__legal-links a:focus-visible {
  outline: 2px solid var(--ce-footer-primary);
  outline-offset: 2px;
  border-radius: 2px;
}

.ce-footer__powered-by {
  display: inline-block;
  line-height: 0;
  border-radius: 0.35rem;
  overflow: hidden;
  text-decoration: none;
}

.ce-footer__powered-by img {
  display: block;
  width: 110px;
  height: auto;
  max-height: 46px;
}

.ce-footer__equal-access {
  margin: 0;
  color: var(--ce-footer-muted);
  font-size: 0.75rem;
  line-height: 1.5;
}

/* Inline link in paragraph: always underline (WCAG 1.4.1 / WebAIM). */
footer.ce-footer .ce-footer__equal-access a,
footer.ce-footer .ce-footer__equal-access a:link,
footer.ce-footer .ce-footer__equal-access a:visited,
footer#mdc-footer-section.ce-footer .ce-footer__equal-access a,
footer#mdc-footer-section.ce-footer .ce-footer__equal-access a:link,
footer#mdc-footer-section.ce-footer .ce-footer__equal-access a:visited {
  color: var(--ce-footer-text);
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

footer.ce-footer .ce-footer__equal-access a:hover,
footer.ce-footer .ce-footer__equal-access a:focus,
footer#mdc-footer-section.ce-footer .ce-footer__equal-access a:hover,
footer#mdc-footer-section.ce-footer .ce-footer__equal-access a:focus {
  color: var(--ce-footer-accent);
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

footer.ce-footer .ce-footer__equal-access a:focus-visible,
footer#mdc-footer-section.ce-footer .ce-footer__equal-access a:focus-visible {
  outline: 2px solid var(--ce-footer-primary);
  outline-offset: 2px;
  border-radius: 2px;
}

.navbar-dark .navbar-nav .nav-link {
  color: white;
}

/*----------------------------------------------------------------------------------*/
#nav1,
#nav4,
#nav5,
#nav6,
#nav7 {
  color: white;
}

#searchBreadcrumb {
  padding-top: 10px;
  padding-bottom: 10px;
}

.level-one-nav {
  list-style-type: none;
  padding: 0;
  overflow: hidden;
  font-size: 0.875rem;
}

.level-one-nav-item {
  float: left;
  font-size: 0.875rem;
}

.level-one-nav-item>a {
  display: block;
  color: white;
  padding: 12px 0px;
  text-decoration: none;
  font-size: 0.875rem;
}

.level-one-nav-item>a .first {
  border-left: 1px solid #454b51;
}

.level-one-nav-item:hover ul>li {
  display: block;
  position: relative;
}

.navbar-nav .nav-link {
  padding-left: 15px;
  padding-right: 15px;
}

/* ----------------------------------------------------------------------------------------- */
/* CSS for the #header2Wrapper section - site-masthead equivalent to mdc.edu */
.w-layout-grid {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 1fr;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: auto auto;
  grid-template-rows: auto auto;
  grid-row-gap: 16px;
  grid-column-gap: 16px;
}

.mdc-main-header-section {
  position: relative;
  height: auto;
  max-width: 100%;
  background-image: -webkit-gradient(linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.3)),
      to(transparent)),
    url("//www.mdc.edu/img/cepd-background-01.jpg");
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.3), transparent),
    url("//www.mdc.edu/img/cepd-background-01.jpg");
  background-position: 0px 0px, 50% 50%;
  background-size: auto, cover;
  background-repeat: repeat, no-repeat;
}

.mdc-main-header-section.homev2 {
  position: static;
  display: block;
  height: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  background-image: -webkit-gradient(linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.3)),
      to(transparent)),
    url("//www.mdc.edu/img/cepd-background-01.jpg");
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.3), transparent),
    url("//www.mdc.edu/img/cepd-background-01.jpg");
}

/* .mdc-main-header-section.homev1 {
        height: 300px;
        background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.3)), color-stop(0%, rgba(0, 0, 0, 0.35)), color-stop(55%, transparent)), url('../images/mdc-home-banner-001.jpg');
        background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.35) 0%, transparent 55%), url('../images/mdc-home-banner-001.jpg');
        background-position: 0px 0px, 50% 50%;
        background-size: auto, cover;
        background-repeat: repeat, no-repeat;
      } */

.mdc-first-header-container {
  max-width: 1170px;
}

.mdc-header-grid {
  margin-top: 0px;
  -ms-grid-columns: 1fr 0.5fr;
  grid-template-columns: 1fr 0.5fr;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
}

.mdc-school-name-wrapper {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  text-align: left;
  text-decoration: none;
}

.mdc-school-name {
  position: static;
  left: 0%;
  top: auto;
  right: 0%;
  bottom: 0%;
  z-index: 5;
  display: block;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  padding: 12px 10px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  font-family: "Open Sans", sans-serif;
  color: #fff;
  font-size: 2rem;
  line-height: 2.25rem;
  font-weight: 700;
  text-align: left;
  letter-spacing: -1px;
  text-transform: none;
}

/* From the components.css of ce-test */
.w-container {
  margin-left: auto;
  margin-right: auto;
  /* max-width: 940px; */
}

.w-container:before,
.w-container:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}

.w-container:after {
  clear: both;
}

.w-container .w-row {
  margin-left: -10px;
  margin-right: -10px;
}

.w-inline-block {
  max-width: 100%;
  display: inline-block;
}

/* END of components.css */

@media screen and (max-width: 479px) {
  .mdc-main-header-section {
    height: auto;
  }

  .mdc-main-header-section.homev2 {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .mdc-school-name {
    padding-right: 10px;
    padding-left: 10px;
    font-size: 1.5625rem;
    line-height: 1.875rem;
    letter-spacing: -1px;
  }
}

@media screen and (max-width: 991px) {
  .mdc-header-grid {
    padding-right: 10px;
    padding-left: 10px;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
  }

  .mdc-school-name {
    text-align: center;
  }

  /* From components.css */
  .w-container {
    max-width: 728px;
  }
}

/* ----------------------------------------------------------------------------------------- */
/* ---------------------------------   Heading Styling  ------------------------------------ */
body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  font-family: "Open Sans", sans-serif;
  color: #333;
  font-size: 0.875rem;
  line-height: 1.4375rem;
}

.mdc-container .headerText {
  padding-right: 20px;
  font-family: "Open Sans", sans-serif;
  font-size: 4.375rem;
  line-height: 5.625rem;
  font-weight: 700;
  letter-spacing: -2px;
}

.mdc-container .subHeaderText {
  padding-top: 35px;
  font-family: Oswald, sans-serif;
  color: #fff;
  font-size: 1.875rem;
  line-height: 2.1875rem;
  font-weight: 200;
  text-align: center;
  letter-spacing: 15px;
}

h1 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 2.1875rem;
  line-height: 2.5rem;
  font-weight: 700;
  letter-spacing: -1px;
}

h2 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 1.6875rem;
  line-height: 2rem;
  font-weight: 700;
  letter-spacing: -0.5px;
}

h3 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 1.4375rem;
  line-height: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.5px;
}

.mdc-container .infoTitle {
  margin-bottom: 20px;
  padding-top: 0px;
  padding-bottom: 10px;
  border-bottom: 1px solid #9acdfe;
  color: #9acdfe;
  font-size: 1.5625rem;
  line-height: 1.5625rem;
  font-weight: 300;
  text-align: center;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.mdc-container .infoSubTitle {
  display: block;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #9acdfe;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1.5625rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
}

h4 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 1.125rem;
  line-height: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.5px;
}

.body {
  font-family: "Open Sans", sans-serif;
}

/* ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

.w-layout-grid {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 1fr;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: auto auto;
  grid-template-rows: auto auto;
  grid-row-gap: 16px;
  grid-column-gap: 16px;
}

body {
  font-family: "Open Sans", sans-serif;
  color: #333;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

h3 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 1.4375rem;
  line-height: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.5px;
}

p {
  margin-bottom: 10px;
  font-family: "Open Sans", sans-serif;
  line-height: 1.4375rem;
  font-weight: 400;
}

.ce-area-header-container {
  max-width: 1170px;
}

.ce-top-banner-wrapper {
  width: 100%;
  height: auto;
  max-width: 100%;
  -o-object-fit: fill;
  object-fit: fill;
}

.ce-top-banner-img {
  position: static;
  height: 300px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 100% 50%;
  object-position: 100% 50%;
}

.ce-topcontent-section {
  padding-bottom: 50px;
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
}

.ce-program-container {
  max-width: 1170px;
  margin-right: auto;
  margin-bottom: 55px;
  margin-left: auto;
}

.ce-program-grid {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 1fr;
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  -ms-grid-columns: 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  -ms-grid-rows: 1fr auto auto auto;
  grid-template-rows: 1fr auto auto auto;
}

.ce-programareas-card {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: visible;
  width: auto;
  height: auto;
  max-height: 100%;
  max-width: 100%;
  padding: 8px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  border-style: solid;
  border-width: 1px;
  border-color: rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  -webkit-transition: box-shadow 250ms ease-in-out,
    -webkit-transform 250ms ease-in-out;
  transition: box-shadow 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
  transition: transform 250ms ease-in-out, box-shadow 250ms ease-in-out;
  transition: transform 250ms ease-in-out, box-shadow 250ms ease-in-out,
    -webkit-transform 250ms ease-in-out;
  color: #333;
  text-align: left;
  text-decoration: none;
  -o-object-fit: fill;
  object-fit: fill;
}

.ce-programareas-card:hover {
  position: relative;
  box-shadow: 1px 1px 8px 0 rgba(0, 0, 0, 0.25);
  -webkit-transform: translate(0px, -2px);
  -ms-transform: translate(0px, -2px);
  transform: translate(0px, -2px);
}

.ce-programareas-image {
  width: 100%;
  height: auto;
  max-height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.ce-programareas-title {
  position: static;
  left: 0%;
  top: auto;
  right: 0%;
  bottom: 0%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 13px 10px 10px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background-color: #fff;
  font-family: "Open Sans", sans-serif;
  color: #005daa;
  font-size: 1.1875rem;
  line-height: 1.4375rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: -0.5px;
  text-decoration: none;
  -o-object-fit: contain;
  object-fit: contain;
}

.ce-programareas-title:hover {
  background-color: transparent;
  color: #0f76d0;
}

.ce-program-stream-container {
  max-width: 1170px;
  margin-top: 15px;
  margin-bottom: 0px;
  padding-bottom: 65px;
}

.ce-program-stream-section {
  font-family: "Open Sans", sans-serif;
}

.ce-program-stream-topbanner {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
  object-fit: cover;
}

.ce-program-stream-topbanner-container {
  margin-bottom: 0px;
}

.mdc-program-stream-aoi-conatiner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 25px;
  margin-bottom: 15px;
  padding-top: 10px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom: 1px solid #ccc;
}

.mdc-program-stream-title {
  font-family: "Open Sans", sans-serif;
  font-size: 1.6875rem;
  line-height: 2rem;
  letter-spacing: -0.5px;
}

.cta-button-small {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 6px;
  margin-right: 0px;
  margin-left: auto;
  padding: 12px 25px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  -webkit-box-flex: 0;
  -webkit-flex: 0 auto;
  -ms-flex: 0 auto;
  flex: 0 auto;
  border-radius: 5px;
  background-color: #005daa;
  -webkit-transition: all 350ms ease-in-out;
  transition: all 350ms ease-in-out;
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  text-decoration: none;
}

.cta-button-small:hover {
  border-radius: 12px;
  background-color: #0f76d0;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.25);
  -webkit-transform: translate(0px, -3px);
  -ms-transform: translate(0px, -3px);
  transform: translate(0px, -3px);
  color: #fff;
}

.cta-button-small.catalog {
  margin-bottom: 8px;
}

.cta-button-small.search {
  margin-top: 7px;
  padding: 10px 15px;
  font-size: 0.875rem;
}

.course-catalog-button-text {
  padding-left: 10px;
}

.ce-stream-grid-1col {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 1fr;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: 1fr auto;
  grid-template-rows: 1fr auto;
}

.ce-program-stream-card {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: visible;
  width: 100%;
  height: auto;
  max-height: 100%;
  max-width: 100%;
  padding: 8px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  border-style: solid;
  border-width: 1px;
  border-color: rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  -webkit-transition: box-shadow 250ms ease-in-out,
    -webkit-transform 250ms ease-in-out;
  transition: box-shadow 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
  transition: transform 250ms ease-in-out, box-shadow 250ms ease-in-out;
  transition: transform 250ms ease-in-out, box-shadow 250ms ease-in-out,
    -webkit-transform 250ms ease-in-out;
  color: #333;
  text-align: left;
  text-decoration: none;
  -o-object-fit: cover;
  object-fit: cover;
}

.ce-program-stream-card:hover {
  position: relative;
  box-shadow: 1px 1px 8px 0 rgba(0, 0, 0, 0.25);
  -webkit-transform: translate(0px, -2px);
  -ms-transform: translate(0px, -2px);
  transform: translate(0px, -2px);
}

.ce-program-stream-image {
  width: 250px;
  height: auto;
  max-height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.ce-program-stream-content-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-left: 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

.body {
  font-family: "Open Sans", sans-serif;
  color: #333;
}

.ce-stream-grid-2col {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 1fr;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
}

.ce-stream-title {
  margin-top: 15px;
  margin-bottom: 10px;
  font-family: "Open Sans", sans-serif;
  color: #333;
  font-size: 1.3125rem;
  line-height: 1.5625rem;
  font-weight: 700;
  letter-spacing: -0.5px;
  text-decoration: none;
}

.ce-stream-title:hover {
  color: #0f76d0;
}

.body-2 {
  font-family: Lato, sans-serif;
}

.ce-main-header-section {
  height: auto;
  max-width: 100%;
  margin-top: auto;
  margin-bottom: auto;
  padding-top: 35px;
  padding-bottom: 35px;
  background-image: url("../images/cepd-background-01-p-500.jpeg");
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}

.ce-main-header-container {
  display: block;
  max-width: 1170px;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.search {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0px;
  margin-left: 0px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.mdc-school-name-wrapper {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  text-align: left;
  text-decoration: none;
}

.mdc-search-input {
  width: 85%;
  max-width: 100%;
  margin: 8px 10px 8px 0px;
  padding-top: 0px;
  padding-bottom: 0px;
  border-radius: 4px;
  line-height: 1.5rem;
}

.mdc-school-name {
  position: static;
  left: 0%;
  top: auto;
  right: 0%;
  bottom: 0%;
  z-index: 5;
  display: block;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  padding: 12px 10px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  font-family: "Open Sans", sans-serif;
  color: #fff;
  font-size: 1.75rem;
  line-height: 2.0625rem;
  font-weight: 700;
  text-align: left;
  letter-spacing: -1px;
  text-transform: none;
}

.mdc-search-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: 1170px;
  margin-bottom: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.mdc-header-grid {
  margin-top: 0px;
  -ms-grid-columns: 1fr 0.5fr;
  grid-template-columns: 1fr 0.5fr;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
}

.download-button-icon {
  width: 18px;
}

.ce-global-navbar-link {
  height: 50px;
  padding-top: 15px;
  border-right: 1px solid #454b50;
  border-left: 1px solid #454b50;
  font-family: "Open Sans", sans-serif;
  color: #fff;
}

.ce-global-navbar-drop-link {
  margin-top: 0px;
  margin-bottom: 0px;
  padding: 3px 20px;
  font-family: "Open Sans", sans-serif;
  font-size: 0.9375rem;
}

.ce-global-navbar-drop-link:hover {
  background-color: #f5f5f5;
}

.ce-mdc-logo-img {
  height: 50px;
  padding-top: 5px;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}

.ce-global-navbar-text {
  margin-top: 0px;
  margin-bottom: 0px;
  padding: 3px 20px 3px 10px;
  font-family: "Open Sans", sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
}

.ce-global-navbar-text:hover {
  padding-left: 10px;
  background-color: transparent;
}

.ce-global-navbar-menu {
  position: relative;
  height: 50px;
}

.ce-navbar {
  z-index: 1;
  overflow: visible;
  height: 50px;
  background-color: #222;
}

.ce-navigation-container {
  height: 50px;
  max-width: 1170px;
}

.ce-global-navbar-drop-text {
  font-family: "Open Sans", sans-serif;
  color: #fff;
  font-size: 0.875rem;
}

.ce-global-navbar-dropdown-list {
  border: 0px none #000;
  background-color: #e0d5d5;
}

.ce-global-navbar-dropdown-list.w--open {
  padding-top: 8px;
  padding-bottom: 8px;
  border-style: none;
  border-width: 1px;
  border-color: #ddd;
  background-color: #fff;
  box-shadow: 0 1px 8px 0 rgba(0, 0, 0, 0.14);
}

.mdc-brand {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.ce-global-navbar-dropdown-toggle {
  height: 50px;
  padding-top: 15px;
  padding-right: 20px;
  border-left: 1px none #454b50;
}

.ce-global-navbar-dropdown {
  border-left: 1px solid #454b50;
}

.ce-local-navigation-section {
  z-index: 0;
  background-color: #005eaa;
}

.ce-local-navigation-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: 1170px;
  margin-right: auto;
  margin-left: auto;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.ce-local-nav-menu {
  display: block;
  margin-right: auto;
  margin-left: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "Open Sans", sans-serif;
}

.ce-local-nav-link {
  margin-top: 3px;
  margin-bottom: 3px;
  padding: 10px 25px;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  font-family: "Open Sans", sans-serif;
  color: #fff;
}

.ce-local-nav-link:hover {
  margin-top: 3px;
  margin-bottom: 3px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 5px;
  background-color: #0c76cf;
}

.mdc-main-title-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  margin-bottom: 15px;
  padding-top: 5px;
  padding-bottom: 5px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  border-bottom: 1px solid #ccc;
}

.mdc-main-title {
  margin-top: 5px;
  margin-bottom: 5px;
  padding-top: 0px;
  padding-bottom: 0px;
  color: #333;
  font-size: 2.1875rem;
  letter-spacing: -1px;
}

.ce-camps-header-container {
  max-width: 1170px;
  margin-top: 15px;
  margin-bottom: 30px;
}

.ce-summercamp-sticky-section {
  position: -webkit-sticky;
  position: sticky;
  top: 0px;
  z-index: 10;
  width: 100%;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  background-color: #fff;
}

.ce-summercamps-sitcky-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: 1170px;
  margin-right: auto;
  margin-left: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.quick-access-container {
  border-bottom: 1px solid hsla(0, 0%, 60%, 0.7);
  background-color: transparent;
}

.quick-access-link {
  margin-top: auto;
  margin-bottom: auto;
  padding: 10px;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  align-self: stretch;
  background-color: transparent;
  color: #333;
  text-decoration: none;
}

.quick-access-link:hover {
  background-color: #ececec;
  color: #0f76d0;
}

.quick-link-text {
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
}

.quick-link-text:hover {
  color: #005daa;
  font-weight: 600;
}

.ce-summercamps-campus-location {
  width: 50%;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}

.ce-summercamp-course-grid {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 1fr;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
}

.ce-sumercamps-info-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 5px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
}

.ce-summercamps-info-container {
  margin-bottom: 5px;
}

.ce-summercamps-program-section {
  margin-top: 0px;
  margin-bottom: 0px;
  padding-top: 35px;
  padding-bottom: 35px;
}

.ce-summercamps-program-section.odd-section {
  background-color: transparent;
}

.ce-summercamps-campus-location-address {
  font-size: 0.8125rem;
  line-height: 1.25rem;
  text-align: right;
}

.ce-summercamps-campus-title {
  width: 50%;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}

.ce-camps-content-container-2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: 1170px;
  margin-top: 5px;
  padding: 5px 15px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom: 1px solid #ddd;
  background-color: #005daa;
  color: #fff;
}

.ce-summercamps-campus-title-text {
  margin-top: 10px;
  font-size: 1.6875rem;
}

.ce-sumercamps-info-bold {
  padding-right: 5px;
  font-weight: 700;
}

.ce-summercamps-contet-container {
  max-width: 1170px;
  margin-top: 30px;
}

.ce-summercamp-text-link {
  color: #333;
}

@media screen and (max-width: 991px) {
  .ce-top-banner-img {
    -o-object-fit: cover;
    object-fit: cover;
  }

  .ce-topcontent-section {
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
  }

  .ce-program-grid {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: 1fr auto auto auto;
    grid-template-rows: 1fr auto auto auto;
  }

  .ce-programareas-image {
    width: 100%;
    height: 100%;
  }

  .ce-program-stream-container {
    margin-top: 0px;
  }

  .ce-program-stream-topbanner {
    min-height: 300px;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .mdc-program-stream-aoi-conatiner {
    padding-right: 10px;
    padding-left: 10px;
  }

  .ce-stream-grid-1col {
    padding-right: 10px;
    padding-left: 10px;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr auto;
    grid-template-rows: 1fr auto;
  }

  .ce-stream-grid-2col {
    padding-right: 10px;
    padding-left: 10px;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr auto;
    grid-template-rows: 1fr auto;
  }

  .mdc-school-name {
    text-align: center;
  }

  .mdc-search-container {
    width: 65%;
  }

  .mdc-header-grid {
    padding-right: 10px;
    padding-left: 10px;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
  }

  .ce-global-navbar-link {
    background-color: #222;
  }

  .ce-global-navbar-drop-link {
    background-color: #222;
    color: #9d9d9d;
  }

  .ce-global-navbar-drop-link:hover {
    background-color: transparent;
    color: #fff;
  }

  .ce-menu-button {
    height: 50px;
    padding-top: 15px;
  }

  .ce-menu-button:hover {
    background-color: #333;
  }

  .ce-menu-button:active {
    background-color: #333;
  }

  .ce-menu-button.w--open {
    background-color: #333;
  }

  .ce-mdc-logo-img {
    padding-bottom: 5px;
    padding-left: 10px;
  }

  .ce-global-navbar-menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    background-color: #222;
  }

  .ce-menu-icon {
    color: #fff;
    font-size: 1.5625rem;
    line-height: 1.5625rem;
  }

  .ce-global-navbar-dropdown-list {
    z-index: auto;
    border: 0px none #000;
    background-color: #fff;
  }

  .ce-global-navbar-dropdown-list.w--open {
    background-color: #222;
    color: #9d9d9d;
  }

  .ce-global-navbar-dropdown-list.w--open:hover {
    color: #fff;
  }

  .ce-global-navbar-dropdown-toggle {
    display: inline-block;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .ce-global-navbar-dropdown {
    width: 100%;
    background-color: #222;
  }

  .ce-local-nav-menu {
    background-color: #005eaa;
  }

  .ce-local-menu-button {
    display: block;
    margin: 3px 10px 3px auto;
    padding-top: 10px;
    padding-bottom: 10px;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
  }

  .ce-local-menu-button:hover {
    border-style: none;
    border-width: 1px;
    border-color: #fff;
    background-color: #0c76cf;
  }

  .ce-local-menu-button.w--open {
    background-color: #0c76cf;
  }

  .ce-local-nav-button-icon {
    color: #fff;
    font-size: 1.5625rem;
  }

  .mdc-main-title-container {
    padding-right: 10px;
    padding-left: 10px;
  }

  .ce-summercamp-course-grid {
    padding-right: 10px;
    padding-left: 10px;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr auto;
    grid-template-rows: 1fr auto;
  }

  .ce-camps-content-container-2 {
    padding-right: 10px;
    padding-left: 10px;
  }
}

.ce-button-wrapper {
  display: block;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}

@media screen and (max-width: 767px) {
  .ce-top-banner-img {
    -o-object-position: 80% 50%;
    object-position: 80% 50%;
  }

  .ce-topcontent-section {
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
  }

  .ce-program-grid {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: 1fr auto auto auto auto auto;
    grid-template-rows: 1fr auto auto auto auto auto;
  }

  .ce-stream-grid-1col {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr auto auto auto auto auto;
    grid-template-rows: 1fr auto auto auto auto auto;
  }

  .ce-program-stream-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .ce-program-stream-image {
    width: 100%;
  }

  .ce-stream-grid-2col {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr auto auto auto auto auto;
    grid-template-rows: 1fr auto auto auto auto auto;
  }

  .quick-access-container {
    display: block;
  }

  .ce-summercamp-course-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr auto auto auto auto auto;
    grid-template-rows: 1fr auto auto auto auto auto;
  }
}

@media screen and (max-width: 479px) {
  .ce-program-grid {
    grid-row-gap: 12px;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr auto auto auto auto auto auto auto auto auto auto auto;
    grid-template-rows: 1fr auto auto auto auto auto auto auto auto auto auto auto;
  }

  .ce-programareas-card {
    overflow: visible;
    height: auto;
  }

  .ce-programareas-image {
    height: auto;
  }

  .ce-programareas-title {
    margin-bottom: 0px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1rem;
  }

  .ce-program-stream-topbanner.tech {
    -o-object-position: 0% 50%;
    object-position: 0% 50%;
  }

  .ce-program-stream-topbanner.business {
    -o-object-position: 65% 50%;
    object-position: 65% 50%;
  }

  .cta-button-small {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-right: auto;
    margin-left: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 0.9375rem;
  }

  .cta-button-small.catalog {
    display: none;
  }

  .ce-stream-grid-1col {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr auto;
    grid-template-rows: 1fr auto;
  }

  .ce-program-stream-card {
    height: auto;
  }

  .ce-stream-grid-2col {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr auto;
    grid-template-rows: 1fr auto;
  }

  .mdc-school-name {
    padding-right: 10px;
    padding-left: 10px;
    font-size: 1.5625rem;
    line-height: 1.875rem;
    letter-spacing: -1px;
  }

  .mdc-search-container {
    width: 100%;
    margin-bottom: 0px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .ce-menu-button:active {
    background-color: #333;
  }

  .mdc-main-title-container {
    padding-bottom: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    text-align: left;
  }

  .mdc-main-title {
    margin-bottom: 10px;
  }

  .ce-summercamps-sitcky-menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .quick-access-container {
    display: inline;
    margin-right: auto;
    margin-left: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    text-align: center;
  }

  .ce-summercamps-campus-location {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    -ms-grid-row-align: stretch;
    align-self: stretch;
    text-align: left;
  }

  .ce-summercamp-course-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr auto;
    grid-template-rows: 1fr auto;
  }

  .ce-summercamps-campus-location-address {
    text-align: center;
  }

  .ce-summercamps-campus-title {
    width: 100%;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
  }

  .ce-camps-content-container-2 {
    margin-right: auto;
    margin-left: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .ce-summercamps-campus-title-text {
    text-align: center;
  }
}

/* ------CSS for Streams Landing page -------- */

.mdc-streampage-container {
  display: block;
  overflow: visible;
  height: 100%;
  max-height: 100%;
  max-width: 1170px;
  margin-top: 25px;
  margin-bottom: 25px;
  padding-top: 0px;
  padding-bottom: 0px;
}

.mdc-streampage-description {
  margin-bottom: 0px;
  padding: 30px;
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  line-height: 1.5625rem;
  font-weight: 400;
}

.mdc-streampage-image {
  position: static;
  width: 100%;
  max-height: 100%;
  border-style: solid;
  border-width: 1px;
  border-color: #f5f7fc;
  -o-object-fit: fill;
  object-fit: fill;
  -o-object-position: 0% 50%;
  object-position: 0% 50%;
}

.mdc-streampage-image.right {
  -o-object-position: 100% 50%;
  object-position: 100% 50%;
}

.mdc-streampage-desc-container {
  background-color: #f5f7fc;
}

.mdc-streampage-image-container {
  overflow: hidden;
  width: auto;
  height: 100%;
  max-height: 300px;
  max-width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
}

@media screen and (max-width: 991px) {
  .mdc-streampage-container {
    display: block;
    padding-right: 0px;
    padding-left: 0px;
  }

  .mdc-streampage-image {
    width: auto;
    height: 100%;
    min-height: 300px;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
  }

  .mdc-streampage-image-container {
    width: auto;
    height: 100%;
    min-height: 300px;
    -o-object-fit: cover;
    object-fit: cover;
  }
}

@media screen and (max-width: 479px) {
  .mdc-streampage-image.right {
    -o-object-position: 80% 50%;
    object-position: 80% 50%;
  }

  .mdc-streampage-image.left {
    -o-object-position: 30% 50%;
    object-position: 30% 50%;
  }

  .mdc-streampage-image-container {
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
  }
}

/* --------------------------------- */
#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c37224-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c37228-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c3722c-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c37230-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c37234-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c37238-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c3723c-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c37240-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c37244-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c37248-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c3724c-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c37250-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c37254-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c37258-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c3725c-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_4ce98413-3a07-b1e0-ba1d-b60567c37260-4aa75a2e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-e3c6395e-89d5-5085-4e91-a6cf7f5b3dd5-dfb950c1 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_28f5c929-aa04-3991-1ad1-b4e052cb9eb3-dfb950c1 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-ca370e89-52d1-2e1a-f602-00d251e4e230-dfb950c1 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_578b6287-e5fc-c909-dbef-cf24fe161e7c-dfb950c1 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_7762db14-6aa7-502d-e201-7131ee7323c3-dfb950c1 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_60ab049d-8d8d-863f-32ce-e3db95cad019-dfb950c1 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-d346fc2e-405f-9ce6-6e51-643d779931eb-dfb950c1 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_44ac9788-4bcd-3939-553f-6b2f26ae65ec-dfb950c1 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_2888e23a-1869-74ce-0feb-140c5c3ff8de-dfb950c1 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-aade3f00-acdc-90e5-2151-8d04ed545164-dfb950c1 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_5112dd93-d2ea-a559-7b19-9e356f1d6982-19210121 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_0791e4a0-9f83-6cb1-dc1d-3917ad606cf6-19210121 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-f46bd0f8-ca7b-9ada-36d7-cd5e005069d1-1291e74f {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_1c14ad07-d337-6e78-a7c3-af1480944d9b-1291e74f {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_551f5f28-09ce-d33e-8bf4-e2ae686e06ae-1291e74f {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_0cb502fa-340b-edfb-8985-ba0a6316ad64-1291e74f {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_9771af67-2a43-b4f8-c046-46f0f53d9f2c-1291e74f {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_9d02884c-8fd1-73cf-e9cf-1c512683ca2c-1291e74f {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_8bf58c9a-d408-ac62-0cfa-496488185eee-1291e74f {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_1f8fe827-3847-053e-c5ed-f186400b399b-1291e74f {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_224fbb35-2a73-e79f-6360-6a18b1e83d63-1291e74f {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_2c8b1d80-8c5f-454b-0333-1250b3213235-1291e74f {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_7cc66b94-c62f-5d2a-0099-55df43dcb742-e7ddc244 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_7cc66b94-c62f-5d2a-0099-55df43dcb747-e7ddc244 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
  -ms-grid-row-align: center;
  align-self: center;
}

#w-node-_45e32ef3-3232-6ab8-d686-196d7e258b88-e625a030 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-eb866c5b-87cf-d532-7aab-a00b849f1fd3-e625a030 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_6a888678-0ed9-466e-97d7-b6eddcbe0c25-03e44d24 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_36241eff-d2fc-949c-093e-e99eeaf3f644-03e44d24 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_62ee314c-0e35-31dd-5a11-43701cfbcc31-03e44d24 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_101274ef-129e-59dd-3487-d9d1d58f591f-03e44d24 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-e9fa3f79-13d6-bcdd-86b4-ca162c4f6a9a-edf65e6c {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_351f08cf-cbc0-0467-3b79-68ce77ff9a37-edf65e6c {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_75352a21-acce-536d-988a-c908abc425e1-edf65e6c {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-b9d7cc7d-18dc-2474-7e1e-abee3ad05f9e-edf65e6c {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_7c7eed34-e820-797c-f13b-097bebd4e546-edf65e6c {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-f345d2d2-d388-352f-294e-a0838b24a8d3-edf65e6c {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-c9a9c9d9-ed1e-7c44-3a62-1a2fa5ed8246-edf65e6c {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_244cf641-cba7-2cb9-e00a-8c4fd53b12c6-02ce43b1 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_244cf641-cba7-2cb9-e00a-8c4fd53b12cb-02ce43b1 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
  -ms-grid-row-align: center;
  align-self: center;
}

#w-node-_6a888678-0ed9-466e-97d7-b6eddcbe0c25-272c6c4e {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_6a888678-0ed9-466e-97d7-b6eddcbe0c25-bf00f7ea {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-c27bea59-5c57-654d-07bd-39e8f0a90a7a-bf00f7ea {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_60d297e4-c694-692f-3748-490b52dd595b-bf00f7ea {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_210cd699-1585-a226-5b66-35a0d597341a-bf00f7ea {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_97803828-4234-8e43-932a-d495ed42a196-bf00f7ea {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-ac155906-f3a4-0c40-7a1d-37fafede112e-bf00f7ea {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_6a888678-0ed9-466e-97d7-b6eddcbe0c25-760e64c2 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-f1912aba-10f8-c226-b8e4-cbd75297fe7b-760e64c2 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-d4a6dc64-195b-ae52-e923-86a4c86cd39d-760e64c2 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_6a888678-0ed9-466e-97d7-b6eddcbe0c25-9993ec97 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-ae2b5f2e-d763-a5e1-26e9-fb013a21804f-9993ec97 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-dc73b20c-25a9-1600-c6d8-0750495b952a-9993ec97 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_6a888678-0ed9-466e-97d7-b6eddcbe0c25-d6c34106 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-f1912aba-10f8-c226-b8e4-cbd75297fe7b-d6c34106 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-d4a6dc64-195b-ae52-e923-86a4c86cd39d-d6c34106 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_93341175-55e8-2312-55e2-55ea9e2a94b3-d6c34106 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_840dfacb-f395-f9ff-0b82-15021c60963f-d6c34106 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_526f24f7-0fd0-dfc4-0b5a-328a313b9992-88eb93ab {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
}

#w-node-_526f24f7-0fd0-dfc4-0b5a-328a313b9997-88eb93ab {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
  -ms-grid-row-align: center;
  align-self: center;
}

@media screen and (max-width: 991px) {
  #w-node-_7cc66b94-c62f-5d2a-0099-55df43dcb747-e7ddc244 {
    -ms-grid-column-align: center;
    justify-self: center;
  }

  #w-node-_244cf641-cba7-2cb9-e00a-8c4fd53b12cb-02ce43b1 {
    -ms-grid-column-align: center;
    justify-self: center;
  }

  #w-node-_526f24f7-0fd0-dfc4-0b5a-328a313b9997-88eb93ab {
    -ms-grid-column-align: center;
    justify-self: center;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_4ce98413-3a07-b1e0-ba1d-b60567c3725c-4aa75a2e {
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    -ms-grid-row-align: stretch;
    align-self: stretch;
  }
}

/* Begin KK Modifications to CSS */

/*Override mdc.css*/
@media (max-width: 1100px) {
  .navbar-collapse.collapse.show {
    display: inherit !important;
  }

  .navbar-collapse.collapse.secondary {
    display: none !important;
  }

  .navbar-collapse.collapse.secondary.show {
    display: block !important;
  }

  .navbar-nav {
    /* float: none !important; */
    margin: inherit !important;
  }

  .navbar-collapse {
    border-top: none;
    box-shadow: none !important;
  }


}

#header1 ul a:link {
  text-decoration: inherit !important;
}

@media only screen and (max-width: 40em) {

  .table-reformat td,
  th {
    display: revert !important;
  }
}

/* Navbar Breakpoints */

/* @media (min-width: 992px) {
        .secondary-nav {
            top: 40% !important;
        }
      } */

@media (min-width: 1200px) {
  .functionNav {
    right: 20px;
  }

  div#loginNameWrapper {
    width: auto;
    margin-right: 20px;
  }

  div#logoutLinkWrapper {
    padding-right: 0px;
  }
}

@media (min-width: 1120px) {
  /* .secondary-nav {
          right: 0;
        } */

  .functionNav {
    display: flex;
    position: absolute;
    top: 0;
    /* right: 20px; */
  }

  .mobileNav {
    display: none;
  }

  .level-one-nav {
    display: block;
    margin-left: 70px;
  }

  .level-one-nav-item>a {
    border-right: 1px solid #454b51;
  }

  #navbarNav {
    display: block;
    margin-left: 80px;
  }

  /* Hover dropdown menu functionality */
  #header1 .level-one-nav-item:hover .dropdown-menu {
    position: absolute;
    transform: translate3d(0px, 52px, 0px);
    top: 0px;
    left: 0px;
    will-change: transform;
  }

  #header1 .loginButton:hover .dropdown-menu {
    position: absolute;
    will-change: transform;
    top: 0px;
    left: 0px;
    display: block;
  }

  #header1 .loginButton:hover .headerStudentLoginDropdownLink {
    color: #777777 !important;
    pointer-events: none;
  }

  div#collapseLoginMenuOptions {
    transform: translate3d(-128px, 19px, 0px) !important;
  }

  a#loginDropdownMenuLink:hover {
    text-decoration: none;
  }

  .level-one-nav li {
    position: relative;
    /* height: 95vh; */
  }

  .level-one-nav:hover,
  .level-one-nav:focus-within {
    height: 95vh;
    z-index: 1;
  }

  .navbarFirst {
    border-left: 1px solid #454b51;
  }

  .dropdownListItemsHeader {
    font-weight: bold;
  }

  #portals {
    padding-left: 10px;
  }

  .loginButton {
    padding-left: 25px;
    padding-top: 14px;
    position: relative;
    height: 47px;
  }

  .shoppingCart {
    padding-top: 13px;
  }
}

@media (hover: hover) and (min-width: 1120px) {
  .navbarHeaders {
    pointer-events: none;
  }

  #header1 .level-one-nav-item:hover .dropdown-menu {
    display: block;
  }

  .level-one-nav .show {
    height: auto;
  }
}

@media (hover: none) and (pointer: fine) and (min-width: 1120px) {
  .level-one-nav .show {
    height: 95vh;
  }
}

@media (min-width: 1120px) and (max-width: 1199.98px) {
  .navbarHeaders {
    padding-left: 8px;
    padding-right: 8px;
  }

  .functionNav {
    right: -30px;
  }

  div#loginNameWrapper {
    width: auto;
    margin-right: 20px;
  }

  div#logoutLinkWrapper {
    padding-right: 0px;
  }
}

@media (min-width: 1120px) {
  .mobileMenu {
    border-radius: 0px 0px 3px 3px;
    box-shadow: 0 6px 12px rgb(0 0 0 / 18%);
    border: 1px solid rgba(0, 0, 0, 0.15);
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 1119.98px) {
  .level-one-nav {
    z-index: 1;
    background-color: #222;
    margin-top: 47px;
  }

  .mobileNav {
    position: absolute;
    height: 40px;
    right: 65px;
    top: 3px;
    z-index: 2;
    background: rgb(51, 51, 51);
  }

  .mobileMenu {
    position: inherit !important;
    transform: none !important;
    background-color: #222;
    border: none;
  }

  .dropdownListItems {
    color: #9d9d9d;
    margin-left: 10px;
  }

  .functionNav {
    background: #222;
    display: block;
    justify-content: center;
  }

  .navbarHeaders>a {
    text-align: left;
  }

  #header1Container {
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
  }

  #navbarNav {
    background-color: #222;
    border-top: 0.1px solid #3b3b3b;
  }

  .logoSection {
    left: 25px;
    z-index: 2;
  }

  .dropdownListItemsHeader {
    color: white;
    font-weight: bold;
  }

  .dropdown-menu.mobileMenu {
    border: none;
    margin: none !important;
    padding: none !important;
  }

  #header1 {
    z-index: 2;
  }

  #header1ContentWrapper {
    height: 50px;
    margin-left: 15px;
  }

  a#loginDropdownMenuLink {
    display: none;
  }

  div#collapseLoginMenuOptions {
    display: block;
    left: -22px;
    background: #222;
    padding-top: 0;
    border-top: 1px solid rgb(51 51 51);
  }

  #collapseLoginMenuOptions a.dropdown-item {
    color: white;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .shoppingCart {
    position: absolute;
    width: 100%;
    background: #222;
    padding-bottom: 10px;
    border-top: 1px solid rgb(51 51 51);
    padding-bottom: 58px;
    padding-top: 15px;
    height: 115px;
  }

  .loginButton {
    position: absolute;
    margin-top: 50px;
    width: 100%;
  }

  div#cartInfo {
    text-align: left;
    padding-left: 17px;
    padding-top: 5px;
  }

  .dropdown.headerStudentLoginContainer {
    margin-left: 17px;
    width: 100%;
    top: 10px;
  }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) {
  .level-one-nav {
    z-index: 1;
    background-color: #222;
    margin-top: 47px;
  }

  .mobileNav {
    position: absolute;
    height: 40px;
    right: 40px;
    top: 3px;
    z-index: 2;
    background: rgb(51, 51, 51);
  }

  .mobileMenu {
    position: inherit !important;
    transform: none !important;
    background-color: #222;
    border: none;
  }

  .dropdownListItems {
    color: #9d9d9d;
    margin-left: 10px;
  }

  .functionNav {
    background: #222;
    display: block;
    justify-content: center;
  }

  .navbarHeaders {
    text-align: left;
  }

  #header1Container {
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
  }

  #navbarNav {
    background-color: #222;
    border-top: 0.1px solid #3b3b3b;
  }

  .logoSection {
    left: 25px;
    z-index: 2;
  }

  .dropdownListItemsHeader {
    color: white;
    font-weight: bold;
  }

  .dropdown-menu.mobileMenu {
    border: none;
    margin: none !important;
    padding: none !important;
  }

  #header1 {
    z-index: 2;
  }

  #header1ContentWrapper {
    height: 50px;
    margin-left: 15px;
  }

  a#loginDropdownMenuLink {
    display: none;
  }

  div#collapseLoginMenuOptions {
    display: block;
    left: -22px;
    background: #222;
    padding-top: 0;
    border-top: 1px solid rgb(51 51 51);
  }

  #collapseLoginMenuOptions a.dropdown-item {
    color: white;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .shoppingCart {
    position: absolute;
    width: 100%;
    background: #222;
    padding-bottom: 10px;
    border-top: 1px solid rgb(51 51 51);
    padding-bottom: 56px;
    padding-top: 10px;
  }

  .loginButton {
    position: absolute;
    margin-top: 55px;
    width: 100%;
  }

  div#cartInfo {
    text-align: left;
    padding-left: 17px;
    padding-top: 5px;
  }

  .dropdown.headerStudentLoginContainer {
    width: 100%;
    margin-left: 17px;
  }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
  .level-one-nav {
    z-index: 1;
    background-color: #222;
    margin-top: 47px !important;
  }

  .mobileNav {
    position: absolute;
    height: 40px;
    right: 40px;
    top: 3px;
    z-index: 3;
    background: rgb(51, 51, 51);
  }

  .mobileMenu {
    position: inherit !important;
    transform: none !important;
    background-color: #222;
    border: none;
  }

  .dropdownListItems {
    color: #9d9d9d;
    margin-left: 10px;
  }

  .navbarHeaders {
    text-align: left;
  }

  #header1Container {
    padding: 0;
    margin: 0;
    width: 100%;
    max-width: none;
  }

  #navbarNav {
    background-color: #222;
    border-top: 0.1px solid #3b3b3b;
  }

  .logoSection {
    left: 20px;
    z-index: 3;
  }

  .dropdown-menu.mobileMenu {
    border: none;
    margin: none !important;
    padding: none !important;
  }

  #header1 {
    z-index: 2;
  }

  .shoppingCart {
    position: absolute;
    width: 100%;
    background: #222;
    padding-bottom: 10px;
    border-top: 1px solid rgb(51 51 51);
    padding-bottom: 56px;
    padding-top: 10px;
  }

  .loginButton {
    position: absolute;
    margin-top: 50px;
    width: 100%;
  }

  a#loginDropdownMenuLink {
    display: none;
  }

  div#collapseLoginMenuOptions {
    display: block;
    left: -22px;
    padding-top: 0;
    border-top: 1px solid rgb(51 51 51);
    background: #222;
  }

  #collapseLoginMenuOptions a.dropdown-item {
    color: white;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  div#cartInfo {
    text-align: left;
    margin-left: 16px;
    padding-top: 5px;
  }

  .dropdown.headerStudentLoginContainer {
    margin-left: 17px;
    width: 100%;
    top: 10px;
  }

  #header1ContentWrapper {
    margin-left: 15px;
  }

  div.geeks #course_cards_section_small .gc-card-item-small {
    max-width: 100%;
  }
}

.loginMenu-nav .headerStudentLoginDropdownLink.dropdown-toggle {
  border-right: none !important;
  border-left: none !important;
}

.searchButton {
  padding-left: 30px;
  position: relative;
  height: 47px;
  margin-top: 5px;
}

#header1 {
  position: relative;
}

.navbar {
  padding: 0px;
  position: absolute;
  width: 100%;
}

.dropdown-toggle::after {
  content: none;
}

.dropdown-menu {
  border: none;
  margin: none;
}

#navbarNav {
  border-top: none;
}

/* Secondary Navbar CSS */

/*--Global CSS for Secondary Nav--*/

.secondary-nav-icon>a {
  color: white;
}

a#secondarynav1,
a#secondarynav2,
a#secondarynav3,
a#secondarynav4,
a#secondarynav5,
a#secondarynav6 {
  color: white !important;
  text-decoration: none;
}

.navbarIcon {
  color: white;
  width: 24px;
  transform: scale(1.5, 1);
}

.navbarSecondaryIcon {
  color: white;
  width: 24px;
  transform: scale(1.5, 1);
}

.secondary-nav-button {
  height: 40px;
}

#navbarContainer {
  display: flex;
}

#courseSearch {
  border-radius: 4px;
}

#courseSearchSubmit {
  border: none;
  background-color: #005dab;
  border-radius: 4px;
}

#courseSearchIcon {
  color: white;
}

.navbarHeaders:focus {
  outline-color: rgb(77, 144, 254);
  outline-offset: -2px;
  outline-width: 1px;
  outline-style: solid;
}

li.level-one-nav-item.nav-item:hover>a {
  background-color: #1b1e20;
}

li.level-one-nav-item.nav-item>a {
  color: white;
}

a.dropdown-item.dropdownListItems:hover {
  background-color: #1b1e20;
  color: white;
}

div#collapseLoginMenuOptions a.dropdown-item:hover {
  color: white;
  background-color: #1b1e20;
}

/*--Secondary Nav Breakpoints--*/

@media (min-width: 1200px) {
  #secondaryNavbarNav.navbar-collapse.collapse.secondary {
    display: flex !important;
  }

  .secondary-nav-class {
    display: block;
  }

  div#header3 {
    display: flex;
    top: -9px;
    left: 100px;
    background: transparent;
    z-index: 0;
  }

  #header3 .dropdown-item {
    width: auto;
  }

  .secondaryNavUL {
    display: flex;
    padding-left: 103px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  #secondaryNavbarNav.navbar-collapse.collapse.secondary {
    display: flex !important;
  }

  .secondary-nav-class {
    display: block;
  }

  div#header3 {
    display: flex;
    top: -9px;
    left: 100px;
    background: transparent;
    z-index: 0;
  }

  #header3 .dropdown-item {
    width: auto;
  }

  .secondaryNavUL {
    display: flex;
    padding-left: 14px;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .secondary-nav-button {
    position: absolute;
    right: 54px;
    top: 4px;
  }

  .secondary-navigation {
    display: flex;
    background: #005dab;
    z-index: 1;
  }

  .navbar-nav .dropdown-menu {
    position: relative;
    margin: none;
  }

  .secondary-nav-class {
    left: 0;
  }

  #header3Container .navbar-nav {
    margin: 43px 0 0 0 !important;
  }

  .secondaryNavUL {
    padding-left: 0px;
    width: 100%;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  .secondary-nav-button {
    position: absolute;
    right: 25px;
    top: 4px;
  }

  .secondary-navigation {
    display: flex;
    background: #005dab;
    z-index: 1;
  }

  .navbar-nav .dropdown-menu {
    position: relative;
    margin: none;
  }

  .secondary-nav-class {
    left: 0;
  }

  #header3Container .navbar-nav {
    margin: 43px 0 0 0 !important;
  }

  .navbar-collapse.collapse.show {
    display: block !important;
  }

  .secondaryNavUL {
    padding-left: 0px;
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .secondary-nav-button {
    position: absolute;
    right: 25px;
    top: 4px;
  }

  .secondary-navigation {
    display: flex;
    background: #005dab;
    z-index: 1;
  }

  .navbar-nav .dropdown-menu {
    position: relative;
    margin: none;
  }

  .secondary-nav-class {
    left: 0;
  }

  #header3Container .navbar-nav {
    margin: 43px 0 0 0 !important;
  }

  .secondaryNavUL {
    padding-left: 0px;
    width: 100%;
  }
}

.level-one-nav {
  margin-top: -3px;
  border-top: 1px solid rgb(51 51 51);
}

/*             SearchBar CSS             */

/*--        Course Searchbar CSS       --*/

/*--Course Search Bar Breakpoints --*/

@media (min-width: 992px) {
  #courseSearch {
    margin-left: -30px;
    margin-right: 10px;
  }

  #courseSearchSubmit {
    margin-right: 100px;
    width: 60px;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  #courseSearch {
    margin-left: 90px;
    margin-right: 10px;
  }

  #courseSearchSubmit {
    margin-right: 100px;
    width: 60px;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  #courseSearch {
    margin-left: 90px;
    margin-right: 10px;
  }

  #courseSearchSubmit {
    margin-right: 100px;
    width: 60px;
  }
}

@media (min-width: 450px) and (max-width: 575.98px) {
  #courseSearch {
    margin-left: 90px;
    margin-right: 10px;
  }

  #courseSearchSubmit {
    margin-right: 100px;
    width: 60px;
  }
}

@media (max-width: 449.98px) {
  #courseSearch {
    margin-left: 20px;
    margin-right: 10px;
  }

  #courseSearchSubmit {
    margin-right: 20px;
    width: 60px;
  }
}

/*--        Global Searchbar CSS       --*/

/*--Global Searchbar Breakpoints--*/

/*Footer Nav*/
@media (min-width: 768px) and (max-width: 990.98px) {

  #mdc-footer-section .col-md-4,
  #mdc-footer-section .col-md-3,
  #mdc-footer-section .col-md-2 {
    flex: auto;
    max-width: none;
    margin-right: 50px;
  }
}

@media (max-width: 990.98px) {
  #mdc-footer-section button.btn.btn-default {
    margin-top: 12px;
  }
}

/* Logged In CSS */

@media (min-width: 768px) and (max-width: 1119.98px) {
  div#loginNameWrapper {
    width: 100%;
    text-align: left;
    background: #222;
    position: absolute;
    padding-left: 16px;
    padding-bottom: 20px;
    padding-top: 10px;
    border-top: 0.1px solid #3b3b3b;
    top: 10px;
  }

  div#logoutLinkWrapper {
    background: #222;
    float: none;
    position: absolute;
    max-width: 100%;
    padding-top: 10px;
    width: 100%;
    border-top: 0.1px solid #3b3b3b;
    padding-bottom: 20px;
    top: 52px;
    text-align: left;
    padding-left: 15px;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  div#loginNameWrapper {
    width: 100%;
    text-align: left;
    background: #222;
    position: absolute;
    padding-left: 16px;
    padding-bottom: 20px;
    padding-top: 10px;
    border-top: 0.1px solid #3b3b3b;
    top: 10px;
  }

  div#logoutLinkWrapper {
    background: #222;
    float: none;
    position: absolute;
    max-width: 100%;
    padding-top: 10px;
    width: 100%;
    border-top: 0.1px solid #3b3b3b;
    padding-bottom: 20px;
    top: 52px;
    text-align: left;
    padding-left: 15px;
  }
}

@media (max-width: 575.98px) {
  div#loginInfo {
    position: absolute;
    width: 100%;
    top: -5px;
  }

  div#loginNameWrapper {
    width: 100%;
    text-align: left;
    background: #222;
    position: absolute;
    padding-left: 16px;
    padding-bottom: 20px;
    padding-top: 10px;
    border-top: 0.1px solid #3b3b3b;
    top: 10px;
  }

  #loginInfo.d-none {
    display: flex !important;
  }

  div#logoutLinkWrapper {
    background: #222;
    float: none;
    position: absolute;
    max-width: 100%;
    padding-top: 10px;
    width: 100%;
    border-top: 0.1px solid #3b3b3b;
    padding-bottom: 20px;
    top: 52px;
    text-align: left;
    padding-left: 15px;
  }

  a.headerStudentLoginLogoutLink {
    padding-right: 20px;
  }
}

#logoutLinkWrapper::before {
  content: none;
}

/*Fixed Footer Functionality CSS */
html,
body {
  height: 100%;
  overflow-x: hidden;
}

body {
  margin: 0;
  padding: 0;
  background-color: #fff;
}

#top {
  position: absolute;
}

h1,
p {
  margin: 0;
  padding: 0.3em 0;
}

#footerContainer {
  margin-top: auto;
}

/* Heading Modifications */
#mainContentContainer h1 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: -1.5px;
}

#mainContentContainer h2 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 1.6875rem;
  line-height: 2rem;
  font-weight: 700;
  letter-spacing: -0.5px;
}

#mainContentContainer h3 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 1.4375rem;
  line-height: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.5px;
}

#mainContentContainer h4 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 1.125rem;
  line-height: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.5px;
}

.card .glyphicon {
  margin-top: 3px;
}

/* Program Card CSS Stylings */

a.ce-program-stream-card:hover {
  text-decoration: none;
  color: #333;
}

#mainContentContainer h3.courseSectionTitle {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 1.25rem;
  line-height: 1.5625rem;
  font-weight: 700;
}

/*Course Name CSS */

div#pageHeader .courseCode,
div#pageHeader .nameAndCodeSeparator,
div#pageHeader .sectionCode,
div#pageHeader .title {
  font-size: 2.1875rem;
  line-height: 2.1875rem;
}

div#pageHeader h1 {
  line-height: 3.125rem;
}

@media (max-width: 991.98px) {
  div#pageHeader h1 {
    line-height: 3.125rem;
  }
}

/* QA/ADA designated changes */

a {
  color: #005dab;
}

/*fix for View Details not showing */

.fade:not(.show) {
  opacity: inherit;
  background: rgba(0, 0, 0, 0.5);
}

.modal-dialog.modal-lg {
  margin-top: 55px;
}

/* Summer Camp Fix */
.ce-summercamp-sticky-section.wf-section {
  top: -50px;
}

/* Corporate Portal CSS */
footer#footer {
  display: none;
}

div#adminPortalMenu #nav1,
div#adminPortalMenu #nav4,
div#adminPortalMenu #nav5,
div#adminPortalMenu #nav6,
div#adminPortalMenu #nav7 {
  color: #005dab;
}

span.input-group-append {
  z-index: 0;
}

/*-- Corporate Portal Navbar Breakpoints --*/

@media (min-width: 1200px) {
  div#schoolHeaderLogoWrapper.corp-nav {
    margin-left: -8px;
  }

  div#navbarNav.corp-nav {
    margin-left: 67px;
  }

  .functionNav.corp-nav {
    top: 10px;
    position: fixed;
    margin-right: 2px;
  }

  li.level-one-nav-item.nav-item.corp-nav>a {
    padding-left: 12px;
    padding-right: 12px;
  }

  .oneceBookbird {
    display: none;
  }

  div#capGroupInfoHeader {
    margin-right: 7px;
  }

  .loginButtonCorp {
    margin-top: 7px;
  }

  div#loginInfo a.headerLogoutLink {
    padding-left: 3px;
  }

  div#loginInfo span.labelWithSeparator {
    padding-left: 5px;
  }

  .loginButtonCorp {
    margin-top: 7px;
    margin-left: 15px;
  }
}

@media (min-width: 1120px) and (max-width: 1199.98px) {
  .functionNav.corp-nav {
    right: -60px;
    top: 10px;
  }

  div#schoolHeaderLogoWrapper.corp-nav {
    margin-left: -80px;
    transform: scale(0.8);
  }

  div#navbarNav.corp-nav {
    margin-left: -18px;
  }

  li.level-one-nav-item.nav-item.corp-nav>a {
    padding-left: 8px;
    padding-right: 8px;
  }

  .oneceBookbird {
    display: none;
  }

  div#capGroupInfoHeader {
    margin-right: 5px;
  }

  .loginButtonCorp {
    margin-top: 7px;
  }

  div#loginInfo a.headerLogoutLink {
    padding-left: 3px;
  }

  div#loginInfo span.labelWithSeparator {
    padding-left: 5px;
  }

  .loginButtonCorp {
    margin-top: 7px;
    margin-left: 15px;
  }
}

@media (min-width: 768px) and (max-width: 1119.98px) {
  .shoppingCartCorp {
    position: absolute;
    width: 100%;
    background: #222;
    padding-bottom: 70px;
    padding-top: 5px;
  }

  .loginButtonCorp {
    position: absolute;
    margin-top: 60px;
    width: 100%;
    padding-left: 15px;
  }

  a#loginDropdownMenuLink {
    display: none;
  }

  div#collapseLoginMenuOptions {
    display: block;
    left: -22px;
    padding-top: 0;
    border-top: 1px solid rgb(51 51 51);
    background: #222;
  }

  #collapseLoginMenuOptions a.dropdown-item {
    color: white;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  div#cartInfo {
    text-align: left;
    padding-top: 5px;
  }

  .dropdown.headerStudentLoginContainer {
    margin-left: 17px;
    width: 100%;
    top: 10px;
  }

  .groupInfoCorp {
    border-top: 1px solid rgb(51 51 51);
  }

  .oneceBookbird {
    width: 15px;
  }

  div#capGroupInfoHeader {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  div#loginInfo span.labelWithSeparator {
    margin-left: 5px;
  }

  div#loginInfo a.headerLogoutLink {
    margin-left: 5px;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  .shoppingCartCorp {
    position: absolute;
    width: 100%;
    background: #222;
    padding-bottom: 70px;
    padding-top: 5px;
  }

  .loginButtonCorp {
    position: absolute;
    margin-top: 60px;
    width: 100%;
    padding-left: 15px;
  }

  a#loginDropdownMenuLink {
    display: none;
  }

  div#collapseLoginMenuOptions {
    display: block;
    left: -22px;
    padding-top: 0;
    border-top: 1px solid rgb(51 51 51);
    background: #222;
  }

  #collapseLoginMenuOptions a.dropdown-item {
    color: white;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  div#cartInfo {
    text-align: left;
    padding-top: 5px;
  }

  .dropdown.headerStudentLoginContainer {
    margin-left: 17px;
    width: 100%;
    top: 10px;
  }

  .groupInfoCorp {
    border-top: 1px solid rgb(51 51 51);
  }

  .oneceBookbird {
    width: 15px;
  }

  div#capGroupInfoHeader {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  div#loginInfo span.labelWithSeparator {
    margin-left: 5px;
  }

  div#loginInfo a.headerLogoutLink {
    margin-left: 5px;
  }
}

@media (max-width: 575.98px) {
  .shoppingCartCorp {
    position: absolute;
    width: 100%;
    background: #222;
    padding-bottom: 70px;
    padding-top: 5px;
  }

  .loginButtonCorp {
    position: absolute;
    margin-top: 60px;
    width: 100%;
    padding-left: 15px;
  }

  a#loginDropdownMenuLink {
    display: none;
  }

  div#collapseLoginMenuOptions {
    display: block;
    left: -22px;
    padding-top: 0;
    border-top: 1px solid rgb(51 51 51);
    background: #222;
  }

  #collapseLoginMenuOptions a.dropdown-item {
    color: white;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  div#cartInfo {
    text-align: left;
    margin-left: 16px;
    padding-top: 5px;
  }

  .dropdown.headerStudentLoginContainer {
    margin-left: 17px;
    width: 100%;
    top: 10px;
  }

  .groupInfoCorp {
    border-top: 1px solid rgb(51 51 51);
  }

  .oneceBookbird {
    width: 15px;
  }

  div#capGroupInfoHeader {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  div#loginInfo span.labelWithSeparator {
    margin-left: 5px;
  }

  div#loginInfo a.headerLogoutLink {
    margin-left: 5px;
  }
}

/*Corp fix for the menu */
@media (max-width: 991.98px) {
  div#adminPortalMenu {
    display: block !important;
  }
}

/*Program Stream Banner Positioning */

@media (max-width: 991.98px) {
  /*left classes*/

  img.ce-program-stream-topbanner.left10 {
    object-position: 10% 90%;
  }

  img.ce-program-stream-topbanner.left20 {
    object-position: 20% 80%;
  }

  img.ce-program-stream-topbanner.left30 {
    object-position: 30% 70%;
  }

  /*right classes*/

  img.ce-program-stream-topbanner.right10 {
    object-position: 90% 10%;
  }

  img.ce-program-stream-topbanner.right20 {
    object-position: 80% 20%;
  }

  img.ce-program-stream-topbanner.right30 {
    object-position: 70% 30%;
  }

  /*Specific stream Top Banner Classes*/
  img.ce-program-stream-topbanner.business {
    object-position: 90% 10%;
  }

  img.ce-program-stream-topbanner.tech {
    object-position: 10% 90%;
  }

  img.mdc-streampage-image {
    width: 100%;
  }

  /*Streampage Left*/
  img.mdc-streampage-image.left10 {
    object-position: 10% 90%;
  }

  img.mdc-streampage-image.left20 {
    object-position: 20% 80%;
  }

  img.mdc-streampage-image.left30 {
    object-position: 30% 70%;
  }

  /*Streampage Right*/
  img.mdc-streampage-image.right10 {
    object-position: 90% 10%;
  }

  img.mdc-streampage-image.right20 {
    object-position: 80% 20%;
  }

  img.mdc-streampage-image.right30 {
    object-position: 70% 30%;
  }
}

/* footer accredation fix */
li.footer-accredation {
  display: inline-block;
  padding-left: 5px;
}

/*Certificate Fixes*/
.card.card-body.sectionHeader>h2 {
  font-weight: 400 !important;
}

/*Program Home Integration */
.ce-programareas-card {
  text-decoration: none !important;
}

@media (min-width: 768px) {
  #siteContent {
    margin-top: 0px !important;
  }
}

div#contentModule5 .row .col-lg-4 {
  display: none;
}

.ce_top_banner_image {
  object-fit: cover;
  height: 300px;
  width: 100%;
}

.ce_top_content_wrapper {
  padding: 20px;
  background-color: #f8f8f8;
  /* margin-bottom: 20px; */
}

.ce_top_content_wrapper>h2 {
  font-weight: 700;
}

.ce-home {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .ce-home {
    max-width: 540px;
  }

  @media (min-width: 768px) {
    .ce-home {
      max-width: 720px;
    }
  }

  @media (min-width: 992px) {
    .ce-home {
      max-width: 960px;
    }
  }
}

@media (min-width: 1200px) {
  .ce-home {
    max-width: 1170px;
  }
}

#contentHeader,
.contentHeader {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 5px;
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .ce-home {
    margin-top: 0px;
  }
}

@media (max-width: 767px) {
  .ce-home {
    margin-top: 0px;
  }
}

.ce_top_banner {
  width: 100%;
  margin-bottom: 20px;
}

.ce_top_banner_image {
  object-fit: cover;
  height: 300px;
  width: 100%;
}

/*Corporate Training*/
/* #contentModule1 {
  display: flex;
}

.contentmodule1_left {
  float: left;
  margin-right: 25px;
}
@media (min-width: 1200px) {
  .contentmodule1_image {
    float: right;
    height: 400px;
  }
}

@media (max-width: 1199.98px) {
  .contentmodule1_image {
    width: 100%;
    margin-top: 30px;
  }
  #contentModule1 {
    flex-direction: column;
  }
} */

.mdc-ce-corporate-hero-title {
  font-size: 2.5rem;
}

.contact_us {
  margin-top: 6px;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 8px;
  padding-bottom: 8px;
}

h2.mdc-ce-corporate-subtitles.centered {
  text-align: center;
}

.mdc-ce-corporate-clients-section.wf-section {
  margin-top: 60px;
}

@media (max-width: 767px) {
  .mdc-ce-corporate-client-logo-grid {
    padding-right: 30px;
    padding-left: 30px;
  }
}

@media (max-width: 991.98px) {
  .mdc-ce-corporate-client-logo-grid {
    padding-right: 60px;
    padding-left: 60px;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    -ms-grid-rows: auto auto auto;
    grid-template-rows: auto auto auto;
  }

  .mdc-ce-corporate-clients-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    overflow: visible;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 15px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: transparent;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .mdc-ce-corporate-client-logo-grid {
    padding-right: 60px;
    padding-left: 60px;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    -ms-grid-rows: auto auto auto;
    grid-template-rows: 2fr 1fr 2fr;
  }

  .client-logo-wrapper {
    margin-right: auto;
    margin-left: auto;
  }

  img.corporate--client-logo {
    display: block;
    /*     width: 50%; */
    margin-right: auto;
    margin-bottom: 10px;
    margin-left: auto;
  }
}

@media (min-width: 992px) {
  .mdc-ce-corporate-client-logo-grid {
    padding-top: 20px;
    padding-bottom: 20px;
    grid-column-gap: 10px;
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    display: flex;
    align-items: center;
  }
}

@media (max-width: 767px) {
  .corporate--client-logo {
    width: 70%;
  }
}

.client-logo-wrapper {
  width: 90%;
  max-width: 100%;
  display: flex;
  align-items: center;
}

.corporate--client-logo {
  display: block;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

#contentModuleArea2 {
  background-color: #f8f8f8;
  display: flex;
  padding-top: 30px;
  padding-bottom: 30px;
}

.contentmodule2_left {
  float: left;
}

.contentmodule2_image {
  object-fit: cover;
}

@media (min-width: 992px) {
  .contentmodule2_image {
    float: left;
    height: 350px;
  }

  .contentmodule2_right {
    margin-top: 50px;
    margin-left: 30px;
    float: left;
  }

  div#innercontentModule2 {
    margin: auto;
  }
}

@media (max-width: 991.98px) {
  .contentmodule2_image {
    width: 100%;
    margin-top: 30px;
    height: 430px;
  }

  #contentModuleArea2 {
    flex-direction: column;
  }

  div#innercontentModule2 {
    margin: auto;
  }

  .contentmodule2_right {
    margin-top: 480px;
    margin-left: 20px;
  }
}

/* @media (min-width: 767px) and (max-width: 991.98px) {
    .contentmodule2_image {
      float: left;
      height: 350px;
    }
    .contentmodule2_right {
      margin-top: 50px;
      margin-left: 20px;
      float: left;
    }
    div#innercontentModule2 {
      margin: auto;
    }
  } */

.corporateprogramsection {
  display: flex;
  margin-top: 30px;
  margin-bottom: 30px;
}

@media (min-width: 991.98px) {
  #managementandleadershipsection {
    width: 33%;
    margin-right: 10px;
  }

  #technologysection {
    width: 33%;
    margin-left: 10px;
    margin-right: 10px;
  }

  #languagesection {
    width: 33%;
    margin-left: 10px;
  }

  img.mdc-ce-corporate-program-image {
    width: 100%;
  }

  mdc-ce-corporate-program-subtitle {
    font-size: 0.875rem;
    font-weight: 700;
  }
}

@media (max-width: 991.98px) {
  #managementandleadershipsection {
    margin-bottom: 30px;
  }

  #technologysection {
    margin-bottom: 30px;
  }

  #languagesection {
    margin-bottom: 30px;
  }

  img.mdc-ce-corporate-program-image {
    width: 100%;
  }

  mdc-ce-corporate-program-subtitle {
    font-size: 0.875rem;
    font-weight: 700;
  }

  .corporateprogramsection {
    flex-direction: column;
  }
}

div#siteContent {
  margin-top: 0px;
}

footer#mdc-footer-section {
  margin-top: 0px;
}

#contactModule {
  background-color: #f8f8f8;
  display: flex;
  padding-top: 50px;
  padding-bottom: 50px;
}

.ct-contact-text-link {
  font-family: "Open Sans", sans-serif;
  color: #333;
  line-height: 1.4375rem;
  text-decoration: none;
}

.ct-contact-text-link:hover {
  text-decoration: none;
}

.contactModule_placeholder {
  border-style: solid;
  border-width: 1px;
  border-color: #ddd;
  border-radius: 8px;
  background-color: #fff;
  height: 300px;
}

div#innercontactModule {
  display: flex;
}

@media (max-width: 991.98px) {
  .contactModule_left {
    margin-bottom: 30px;
  }

  div#innercontactModule {
    flex-direction: column;
  }

  .contactModule_placeholder {
    height: auto;
    width: 100%;
  }
}

@media (min-width: 992px) {
  .contactModule_left {
    float: left;
    margin-right: 50px;
    margin-top: auto;
    margin-bottom: auto;
  }
}

i.fas.fa-phone-flip {
  color: #005daa;
  margin-right: 5px;
}

i.fas.fa-envelope {
  color: #005daa;
  margin-right: 5px;
}

/*About Our Company CSS*/

#aboutModule1 {
  margin-bottom: 50px;
}

.aboutBanner {
  object-position: 90% 10%;
}

#aboutModule2 {
  margin-bottom: 30px;
}

#inneraboutModule2 {
  padding-top: 25px;
  padding-right: 15px;
  padding-bottom: 25px;
  padding-left: 15px;
}

@media (max-width: 1200px) {
  #aboutModule2 {
    background-color: #f8f8f8;
  }
}

@media (min-width: 1200px) {
  #inneraboutModule2 {
    background-color: #f8f8f8;
  }
}

@media (max-width: 767.98px) {
  img.aboutmodule1_image {
    width: 100%;
  }

  .aboutmodule1_left {
    margin-bottom: 20px;
  }

  .aboutmodule2_left {
    margin-left: 15px;
    margin-right: 15px;
    margin-bottom: 20px;
  }

  .aboutmodule2_right {
    margin-left: 15px;
    margin-right: 15px;
  }
}

@media (min-width: 768px) {
  #aboutModule1 {
    display: flex;
  }

  .aboutmodule1_left {
    width: 50%;
    margin-right: 10px;
  }

  .aboutmodule1_right {
    width: 50%;
    margin-left: 10px;
  }

  .aboutmodule1_image {
    max-width: 100%;
    height: auto;
  }

  #inneraboutModule2 {
    display: flex;
  }

  .aboutmodule2_left {
    width: 50%;
    margin-right: 10px;
    margin-left: 15px;
  }

  .aboutmodule2_right {
    width: 50%;
    margin-left: 10px;
    margin-right: 15px;
  }
}

@media (max-width: 991.98px) {
  .mdc-campus-location-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto auto;
  }

  .mdc-main-title-container.locations {
    padding-right: 0px;
    padding-left: 0px;
  }
}

@media (min-width: 992px) {
  .mdc-campus-location-grid {
    padding-top: 10px;
    gap: 30px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

img.mdc-campus-location-img {
  max-width: 100%;
}

.mdc-campus-location-title {
  padding-top: 10px;
  padding-bottom: 5px;
  font-family: "Open Sans", sans-serif;
  color: rgb(0, 93, 170);
  font-size: 1.25rem;
  line-height: 1.5625rem;
  font-weight: 700;
  letter-spacing: -0.5px;
  text-decoration: none;
}

.ce-about-locations-section.wf-section.ce-home {
  padding-bottom: 75px;
  padding-left: 0px;
  padding-right: 0px;
}

a.mdc-campus-location-phone {
  color: #333;
}

a.mdc-campus-location-phone:hover {
  color: rgb(15, 118, 208);
  text-decoration: none;
}

div#about_top_banner {
  margin-bottom: 0px;
}

.ce-home.about {
  padding-left: 0px;
  padding-right: 0px;
}

main#mainContent .about {
  padding-left: 0px;
  padding-right: 0px;
}

.mdc-campus-location-card>a.ce-text-link {
  color: #005dab;
}

.mdc-campus-location-card>a.ce-text-link:hover {
  text-decoration: underline;
  color: #005dab;
  cursor: pointer;
}

/*Instructor Bio CSS*/

img.mdc-header-faculty-logo {
  max-width: 80%;
  margin: auto;
}

.mdc-header-logo-container {
  padding-bottom: 20px;
  margin-bottom: 15px;
  border-bottom: 1px solid rgb(200, 209, 215);
}

img.mdc-instructor-img {
  margin: auto;
  border-radius: 10px;
  width: 235px;
  margin-top: 20px;
}

.mdc-instructor-name {
  text-align: center;
  padding-top: 10px;
  padding-bottom: 10px;
  font-family: "Open Sans", sans-serif;
  font-size: 1.5625rem;
  font-weight: 700;
  letter-spacing: -0.5px;
}

.mdc-instructor-card-content {
  margin-top: 20px;
  margin-bottom: 15px;
}

.mdc-instructor-subtitle {
  margin-top: 15px;
  margin-bottom: 0px;
  font-size: 1rem;
  font-weight: 700;
}

.mdc-instructor-email-link {
  margin-top: auto;
  margin-bottom: 0px;
  transition-property: color;
  transition-duration: 350ms;
  transition-timing-function: ease-in-out;
  color: rgb(51, 51, 51);
  font-weight: 400;
  text-decoration: none;
}

.mdc-instructor-email-link:hover {
  color: rgb(15, 118, 208);
  font-weight: 400;
  text-decoration: underline;
}

h2[id^="labelinstructorContract"] {
  display: none;
}

div[id^="instructorContract"]>.modal-dialog>.modal-content>.modal-header {
  background-color: transparent;
  border-bottom: none;
  padding: 0;
  position: absolute;
  right: 0px;
  top: 5px;
  z-index: 1;
}

div[id^="instructorContract"]>.modal-dialog>.modal-content>.modal-header>button {
  margin-right: 5px;
  margin-top: -10px;
}

div[id^="instructorContract"]>.modal-dialog>.modal-content>.modal-body {
  padding-bottom: 0;
}

div[id^="instructorContract"]>.modal-dialog>.modal-content>.modal-footer {
  border-top: none;
  padding-top: 5px;
}

@media (max-width: 767.98px) {
  .w-layout-grid.mdc-instructor-card-info {
    display: block;
  }
}

@media (min-width: 992px) {
  img.mdc-header-faculty-logo {
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  div#w-node-_311629a8-5380-c9e4-c857-66005624baba-12a92064 {
    border-right: 1px solid rgb(200, 209, 215);
    padding-right: 20px;
  }
}

/*Summer Banner*/
.ce-summer-container.w-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 30px;
  margin-bottom: 10px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  background-color: rgba(255, 255, 255, 0.38);
}

.ce-summer-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 75%;
  margin-right: auto;
  margin-left: auto;
  padding: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  border-style: solid;
  border-width: 1px;
  border-color: #ccc;
}

.ce-summer-title {
  padding-top: 10px;
  padding-bottom: 5px;
  font-family: "Open Sans", sans-serif;
  font-size: 1.6875rem;
  line-height: 1.875rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: -0.5px;
  overflow: hidden;
}

.ce-summer-term-text {
  margin-bottom: 15px;
  text-align: center;
}

button.btn.btn-primary.ce-summer-button {
  width: 120px;
  margin: auto;
  border-radius: 5px;
}

@media (min-width: 992px) {
  .ce-summer-wrapper {
    width: 50%;
  }
}

@media (max-width: 991.98px) {
  .ce-summer-wrapper {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  main#mainContentProgramHome {
    padding-left: 0;
    padding-right: 0;
  }

  div#siteContent {
    padding-left: 0;
    padding-right: 0;
  }
}

#contentHeader .languagesOfDeliveryContainer {
  display: none;
}

/**
*
*
*   MDC Mini Bootstrap Extension Proposal
*
*
**/

/*-----------MDC Root colors for buttons and details-------------------------------------*/

:root {
  --mdc-dark-blue: #005daa;
  --mdc-blue: #0f76d0;
  --mdc-light-blue: #9acdfe;
  --mdc-grey-light: #eeee;
  --mdc-grey-dark: #243540;
  --mdc-mid-grey: #dddddd;
  --mdc-grey: #f8f8f8;
  --mdc-yellow: #ffca04;
  --mdc-grey-yellow: #ddae00;
}

div[chunk] {
  display: inline;
}

.variable-content {
  margin-bottom: 0px !important;
}

/* -------- Fonts ------*/

.mdc-container a:visited,
.mdc-container a:link,
.mdc-container a:hover {
  color: black;
}

.mdc-container a.title-link {
  text-decoration: none !important;
}

.mdc-container a.blue-Hover {
  color: black;
}

.mdc-container a.blue-hover:hover {
  color: var(--mdc-blue) !important;
}

.mdc-container .title-link:hover {
  color: var(--mdc-dark-blue) !important;
}

.mdc-container .text-light-blue {
  color: var(--mdc-light-blue) !important;
}

.mdc-container .line-through {
  text-decoration: line-through !important;
}

.mdc-container .text-blue,
.mdc-container .text-primary {
  color: var(--mdc-blue) !important;
}

.mdc-container .text-dark-blue,
.mdc-container .text-dark-primary {
  color: var(--mdc-dark-blue) !important;
}

/* --------Headings ------*/
#mainContentContainer .mdc-container h1,
#mainContentContainer .mdc-container h2,
#mainContentContainer .mdc-container h3,
#mainContentContainer .mdc-container h4,
#mainContentContainer .mdc-container h5 {
  font-family: "Open Sans", sans-serif;
}

#mainContentContainer .mdc-container h1 {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 2.8125rem;
}

#mainContentContainer .mdc-container h2 {
  font-size: 2.1875rem;
  line-height: 2.375rem;
  font-weight: 700;
  letter-spacing: -0.5px;
}

#mainContentContainer .mdc-container .mdc-header-banner h1 {
  font-size: 2.5rem;
}

#mainContentContainer .mdc-container h3 {
  font-size: 1.6875rem;
  line-height: 2rem;
  font-weight: 700;
}

#mainContentContainer .mdc-container h4 {
  font-size: 1.375rem;
  line-height: 1.5625rem;
}

#mainContentContainer .mdc-container h5 {
  font-size: 1.125rem;
  line-height: 1.375rem;
}

.mdc-container p {
  font-size: 0.875rem;
  line-height: 1.4375rem;
  margin-bottom: 10px;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
}

.mdc-container p.p-small {
  margin-top: 20px;
  margin-bottom: 0px;
  font-size: 0.75rem;
  line-height: 1.125rem;
}

.mdc-container .ptitle {
  display: block;
  width: 100%;
  margin-top: 0px;
  margin-bottom: 0px;
  font-size: 1rem;
  font-weight: 700;
  text-align: left;
}

.mdc-container .pricing-container {
  margin-bottom: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
  align-items: center;
  grid-template-rows: auto;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ddd;
  background-color: hsla(0, 0%, 97.65%, 1);
}

/*============Container-----------*/

.mdc-container {
  font-size: 0.875rem;
  font-family: "Open Sans" sans-serif;
}

.mdc-container.contained {
  font-size: 0.875rem;
  font-family: "Open Sans" sans-serif;
}

@media (min-width: 576px) {
  .mdc-container.contained {
    max-width: 540px;
  }

  @media (min-width: 768px) {
    .mdc-container.contained {
      max-width: 720px;
    }
  }

  @media (min-width: 992px) {
    .mdc-container.contained {
      max-width: 960px;
    }
  }
}

@media (min-width: 1200px) {
  .mdc-container.contained {
    max-width: 1170px;
  }
}

/*------ MDC-HEADER-BANNER -------*/

.mdc-container .mdc-header-banner {
  position: relative;
  height: 300px;
  background-position: 0px 0px, 100% 50%;
  background-size: auto, cover;
  background-repeat: repeat, no-repeat;
  padding: 10px;
  margin-bottom: 40px;
}

.mdc-container .mdc-header-banner>h1 {
  bottom: 10px;
  left: 10px;
  position: absolute;
  padding-bottom: 0px;
}

.mdc-container .mdc-banner-title {
  color: #02d1fa;
  font-size: 1.875rem;
  margin-top: 10px;
  margin-bottom: 10px;
  line-height: 2rem;
  font-weight: 700;
  letter-spacing: -0.5px;
}

.mdc-container .mdc-banner-one {
  position: relative;
  background-position: 40px center;
  background-size: cover;
  border-radius: 10px;
  background-repeat: no-repeat !important;
}

.mdc-container .iframe {
  height: 350px;
  width: 100% !important;
}

@media (max-width: 1200px) {
  .mdc-container .iframe {
    height: 440px;
    width: 100% !important;
  }
}

@media (max-width: 820px) {
  .mdc-container .iframe {
    padding: 0px;
    margin: 0px;
    height: 400px;
    width: 100% !important;
  }
}

@media (max-width: 780px) {
  .mdc-container .iframe {
    padding: 0px;
    margin: 0px;
    height: 420px;
    width: 100% !important;
  }
}

@media (max-width: 540px) {
  .mdc-container .iframe {
    height: 280px;
    width: 100% !important;
  }
}

@media (max-width: 415px) {
  .mdc-container .iframe {
    padding: 0px;
    height: 240px;
    width: 100% !important;
  }
}

/*-----------Text ------------------------------------*/

.mdc-container .mdc-h4 {
  letter-spacing: -0.5px;
  font-weight: 600;
  font-size: 1.125rem;
  margin-top: 25px;
}

.mdc-container .mdc-h3 {
  font-size: 1.5625rem;
  letter-spacing: -0.5px;
}

.mdc-container .mdc-h2-hero {
  margin-top: 10px;
  margin-bottom: 20px;
  padding-top: 10px;
  padding-bottom: 15px;
  border-style: none none solid;
  border-width: 1px;
  border-color: #ddd;
  font-family: "Open Sans", sans-serif;
  font-size: 2.1875rem;
}

.mdc-container .mdc-card-title {
  margin-top: 0px;
  margin-bottom: 15px;
  padding-top: 0px;
  color: #005eaa;
  font-size: 1.5625rem;
  line-height: 1.875rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: -0.5px;
}

.mdc-container .mdc-subtitle {
  margin-bottom: 5px;
  color: #9acdfe !important;
  font-size: 1.125rem;
  text-transform: uppercase;
}

/*----------- Blue colored H2 ------------------------------------*/

.mdc-container .mdc-blue-h2 {
  color: #005eaa;
  font-size: 1.875rem;
  font-family: Arial, Helvetica, sans-serif;
}

/*----------- Images ------------------------------------*/

.mdc-container img.img-cover {
  object-fit: cover !important;
}

.mdc-container img.img-contain {
  object-fit: contain !important;
}

.mdc-container .card-img {
  width: 250px;
  height: auto;
  max-width: none;
  object-fit: cover;
}

/*------------ horizontal Card =--------------------------------*/

/*----------- Vertical cards ------------------------------------*/

.mdc-container .card.mdc-card {
  margin-right: 5px;
  margin-left: 5px;
}

.mdc-container .card-body {
  padding: 0.5rem;
}

.mdc-container .card.mdc-card-no-hover {
  margin-right: 5px;
  margin-left: 5px;
}

@media (max-width: 770px) {
  .mdc-container .card-group {
    flex-direction: column;
  }

  .mdc-container .card-img {
    width: 100%;
    height: 220px;
  }
}

@media (min-width: 766px) {
  .mdc-container .h-card {
    display: inline-flex;
    flex-wrap: nowrap;
  }
}

@media (max-width: 766px) {
  .mdc-container .card-group {
    width: 100%;
  }

  .mdc-container .card-img {
    display: inline-flex;
    flex-wrap: nowrap;
  }
}

/*----------- Vertical card shadows with movement ------------------------------------*/

.mdc-container .card.mdc-card:hover {
  transform: translateY(-2px);
  box-shadow: 1px 1px 8px 1px rgba(0, 0, 0, 0.15);
  transition: all 0.3s;
}

/*----------- Responsive buttons (usually for buttons) ------------------------------------*/

.mdc-container .btn {
  border-radius: 5px !important;
  padding: 12px 25px;
  font-size: inherit;
  float: none;
  white-space: nowrap !important;
}

.mdc-container .btn-primary {
  background-color: var(--mdc-dark-blue) !important;
  color: white !important;
  white-space: nowrap !important;
}

.mdc-container .btn-yellow {
  background-color: var(--mdc-yellow) !important;
  color: black !important;
  white-space: nowrap !important;
}

.mdc-container .btn-primary i {
  color: white !important;
}

.mdc-container .nav-link {
  color: black !important;
  cursor: pointer;
  padding: 10px 20px;
  border-radius: 10px 10px 0 0 !important;
}

.mdc-container .nav-link.active,
.mdc-container .nav-link.active:focus {
  color: white !important;
  background-color: var(--mdc-dark-blue) !important;
}

.mdc-container .nav-link.active:hover {
  color: white !important;
}

/*----------- Hover effect for buttons ------------------------------------*/

.mdc-container .btn-primary.three-d:hover {
  background-color: var(--mdc-blue) !important;
  transform: translateY(-3px);
  color: white !important;
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.25);
  transition: all 0.3s ease;
  border-radius: 12px !important;
}

.mdc-container .btn-yellow.three-d:hover {
  background-color: var(--mdc-grey-yellow) !important;
  color: black !important;
  white-space: nowrap !important;
}

.mdc-container .btn-yellow.three-d.active {
  background-color: #ddae00 !important;
  color: black !important;
  white-space: nowrap !important;
}

/*----------- Static non-shadow buttons -----------------*/

.mdc-container .btn-primary.mdc-btn-static {
  background-color: var(--mdc-blue);
  align-items: center;
  margin: auto;
  float: none;
  border-radius: 2px;
}

/*----------- TABS ------------------------------------*/

/*----------- Underline tab --------*/

.mdc-container .tab-underline {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
  font-size: small;
  color: rgba(0, 0, 0, 0.743);
}

.mdc-container .tabcontent {
  display: none;
}

.mdc-container .tabcontent.selected {
  display: block;
}

.mdc-container .tab-underline button {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 8px 10px;
  transition: 0.3s;
  border-bottom: 1px solid #ccc;
}

.mdc-container .tab-underline button:hover {
  background-color: #9acefea1;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

.mdc-container .tablinks.active {
  background-color: #9acdfe;
}

/*----------- Utils ------------------------------------*/

.mdc-container .rounded {
  border-radius: 10px !important;
}

.mdc-container a.no-decoration {
  text-decoration: none !important;
}

.mdc-container a.btn.no-decoration {
  text-decoration: none !important;
}

.mdc-container .bg-light {
  background-color: var(--mdc-grey-light) !important;
}

.mdc-container .bg-blue {
  background-color: var(--mdc-light-blue) !important;
}

.mdc-container .bg-grey {
  background-color: var(--mdc-grey) !important;
}

.mdc-container .bg-mid-grey {
  background-color: var(--mdc-mid-grey) !important;
}

.jumbotron .bg-light {
  background-color: var(--mdc-grey-light) !important;
}

.mdc-container .bg-dark {
  background-color: var(--mdc-grey-dark) !important;
  border-radius: 15px !important;
}

.mdc-container.bg-grey-dark {
  background-color: var(--mdc-grey-dark) !important;
}

.mdc-container .text-black {
  color: black !important;
}

/*----------- Media ------------------------------------*/

.mdc-container .small-image {
  max-width: 120px;
  width: 100%;
  height: 100%;
  max-height: 100%;
  display: inline-block;
  object-fit: contain;
  object-position: top;
}

.mdc-static-image {
  padding: 0;
  height: auto;
  max-height: 300px;
  min-height: 300px;
  object-fit: cover;
  width: 100%;
  object-position: 50% 0%;
}

.mdc-static-image-two {
  padding: 0;
  height: auto;
  max-height: 300px;
  min-height: 300px;
  object-fit: cover;
  width: 100%;
  object-position: 50% 0%;
}

@media (max-width: 1200px) {
  #siteContent {
    max-width: 100%;
    margin: 0;
  }

  .container {
    max-width: 100%;
  }

  .btn-primary .mdc-btn {
    margin: 20px 20px auto;
    text-align: center;
    white-space: initial;
  }
}

@media (max-width: 5750px) {
  .mdc-static-image {
    height: 250px;
  }
}

@media (max-width: 575px) {
  .mdc-static-image {
    display: none !important;
  }
}

/****** APRENDE *******/

:root {
  --color-primary: #db0f3c;
  --color-secondary: #405973;
  --color-dark: #040e1c;
  --color-soft: rgba(211, 218, 232, 0.25);
  --color-muted: rgba(64, 89, 115, 0.5);
  --color-white: #fafafa;
  --color-action: #25d366;
}

/*  Tipografia */

div.aprende h1,
div.aprende h2,
div.aprende h3,
div.aprende h4,
div.aprende h5,
div.aprende h6 {
  font-family: "Roboto Condensed" !important;
  color: var(--color-dark);
}

#mainContentContainer div.aprende h1 {
  font-size: 2.625rem;
}

#mainContentContainer div.aprende h2 {
  font-size: 2rem;
  line-height: 140%;
}

#mainContentContainer div.aprende h3 {
  font-size: 1.5rem;
}

#mainContentContainer div.aprende h4 {
  font-size: 1.25rem;
  line-height: 140% !important;
}

#mainContentContainer div.aprende h5 {
  font-size: 1.125rem;
}

#mainContentContainer div.aprende p {
  font-size: 1rem;
  font-family: "Open Sans";
  color: var(--color-dark);
}

#mainContentContainer div.aprende a:link {
  text-decoration: none;
}

/* Tipografia Sizes */

div.aprende .txt-xxs {
  font-size: 0.75rem !important;
}

div.aprende .txt-xs {
  font-size: 0.875rem !important;
}

div.aprende .txt-normal {
  font-size: 1rem;
}

/* Tipografia colores */

div.aprende .txt-primary {
  color: var(--color-primary);
}

div.aprende .txt-secondary {
  color: var(--color-secondary) !important;
}

div.aprende .txt-dark {
  color: var(--color-dark);
}

div.aprende .txt-white {
  color: var(--color-white) !important;
}

div.aprende .txt-muted {
  color: var(--color-muted);
}

div.aprende .txt-no-bold {
  font-weight: 400 !important;
}

div.aprende .txt-semi-bold {
  font-weight: 600 !important;
}

div.aprende .txt-bold {
  font-weight: 700 !important;
}

div.aprende .txt-bold-underline {
  font-weight: 700 !important;
  text-decoration: underline;
}


div.aprende .background-secondary {
  background-color: var(--color-secondary);
}

div.aprende .background-dark {
  background-color: var(--color-dark) !important;
}

div.aprende .background-soft {
  background-color: var(--color-soft);
}

div.aprende .background-ligth {
  background-color: var(--color-white);
}

/* Formulario */

div.aprende .form {
  margin-top: 20px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  background-color: rgb(255, 255, 255);
  border-radius: 16px;
  box-shadow: 0px 8px 20px 0px rgba(7, 14, 28, 0.3);
  color: #040e1c;
}

div.aprende form input:first-of-type {
  margin-top: 15px;
}

div.aprende input,
div.aprende select {
  height: 48px;
  border-radius: 8px;
  border: 1px solid rgba(64, 89, 115, 0.2);
  background: #f7f7f7f1;
  padding: 10px;
  margin-bottom: 10px;
}

div.aprende input::placeholder {
  color: var(--color-muted);
}

div.aprende select {
  color: var(--color-muted);
}

div.aprende select option {
  color: var(--color-secondary);
}

/* Buttons */

div.aprende .button {
  text-align: center;
  display: inline-block;
  padding: 15px 20px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
}

div.aprende .button-primary {
  background-color: var(--color-primary);
  color: #ffffff;
  border: none;
  cursor: pointer;
}

div.aprende .button-action {
  background-color: var(--color-action);
  color: black;
  border: none;
  cursor: pointer;
}

div.aprende .button-outline {
  background-color: white;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  cursor: pointer;
}

div.aprende .button-secondary {
  background-color: var(--color-soft);
  color: var(--color-secondary);
  border: 1px solid var(--color-secondary);
  cursor: pointer;
}

/* Base Card */

div.aprende a.aprende-link {
  font-weight: 600;
  text-decoration: underline !important;
  color: var(--color-primary);
}

/* Bse Card */
div.aprende div.aprende-base-card {
  border-radius: 16px;
  text-align: start;
  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  position: relative;
}

div.aprende div.aprende-base-card img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 15px 15px 0 0;
}

/* Mini-banner */

div.aprende div.mini-banner {
  margin-bottom: 16px;
  padding: 20px;
  display: grid;
  grid-template-columns: 1fr 8fr;
  border-radius: 15px;
}

/* Banner  */

div.aprende section.banner {
  padding: 36px 16px;
}

/* Hero Image degraded */

div.aprende section.aprende-container div.aprende_hero div img.img_hero_degraded {
  mask-image: linear-gradient(to top, transparent -9%, black 75%);
}

/* Responsive */
@media screen and (min-width: 790px) {
  div.aprende section.banner {
    padding: 48px 16px;
  }

  #mainContentContainer div.aprende h1 {
    font-size: 3.75rem;
  }

  div.aprende section.aprende-container div.aprende_hero div img.img_hero_degraded {
    mask-image: linear-gradient(to right, transparent -1%, black 75%);
  }

  div.aprende .txt-sm {
    font-size: 1.25rem !important;
  }

  div.aprende .txt-md {
    font-size: 2rem !important;
  }

  div.aprende .txt-xmd {
    font-size: 2.125rem !important;
  }

  div.aprende .txt-lg {
    font-size: 2.25rem !important;
  }

  div.aprende .txt-xl {
    font-size: 2.5rem !important;
  }

  div.aprende .txt-xxl {
    font-size: 2.625rem !important;
  }
}

/* HIDE THE OLD NAVBAR  */
div#headerWrapper {
  /* Not yet  */
  /* display: none !important; */
}

/* Hide the second blue navbar */
div#header3Wrapper {
  /* Not yet  */
  /* display: none !important; */
}


/* Legacy mdc-new-navbar megamenu styles removed — .mdcnav CSS is appended
   from apps/playground/static/mdc-megamenu.css via Process CSS (Public View). */

/* DROPDOWNS DE CSS DE HOME.HTML view in development or in production */

.playground.dropdown-menu {
  background-color: black !important;
}

.playground.dropdown-item {
  color: white;
  text-decoration: none !important;
}

.playground.dropdown-item:hover {
  font-weight: bold;
  color: green;
  background-color: black !important;
}

/* THEME GEEKS */
/* Collapsed text truncation (reusable pattern) */
div.geeks .collapsed-text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
}

div.geeks .collapsed-text.is-expanded {
  -webkit-line-clamp: unset;
}

div.geeks .collapsed-text-toggle {
  background: none;
  border: 0;
  padding: 0;
  margin-top: 0.25rem;
  color: var(--mdc-blue);
  font-size: 0.875rem;
  text-decoration: underline;
  cursor: pointer;
}

div.geeks .collapsed-text-toggle:focus {
  outline: 2px solid var(--mdc-blue);
  outline-offset: 2px;
}

/* Variables globales.
   Figma palette: MDC file XDvdz5z2zuw1OQ6aTmHiHU, node 2604:6596 (Colors).
   Steps below are the only copy of that scale. Legacy tokens above this block
   (--mdc-dark-blue #005daa, --mdc-grey, --mdc-yellow) stay for older components. */
:root {
  --mdc-palette-white: #ffffff;
  --mdc-palette-purple: #3470e8;
  --mdc-palette-charcoal: #303238;

  --mdc-palette-primary-50: #e6eff7;
  --mdc-palette-primary-100: #b0cde5;
  --mdc-palette-primary-200: #8ab5d8;
  --mdc-palette-primary-300: #5493c6;
  --mdc-palette-primary-400: #337ebb;
  --mdc-palette-primary-500: #005eaa;
  --mdc-palette-primary-600: #00569b;
  --mdc-palette-primary-700: #004379;
  --mdc-palette-primary-800: #00345e;
  --mdc-palette-primary-900: #002747;

  --mdc-palette-light-blue-light: #f5faff;
  --mdc-palette-light-blue-light-hover: #f0f8ff;
  --mdc-palette-light-blue-light-active: #e0f0ff;
  --mdc-palette-light-blue-normal: #9acdfe;
  --mdc-palette-light-blue-normal-hover: #8bb9e5;
  --mdc-palette-light-blue-normal-active: #7ba4cb;
  --mdc-palette-light-blue-dark: #749abf;
  --mdc-palette-light-blue-dark-hover: #5c7b98;
  --mdc-palette-light-blue-dark-active: #455c72;
  --mdc-palette-light-blue-darker: #364859;

  --mdc-palette-light-grey-50: #fbfbfb;
  --mdc-palette-light-grey-100: #f3f3f3;
  --mdc-palette-light-grey-200: #ededed;
  --mdc-palette-light-grey-300: #e4e4e4;
  --mdc-palette-light-grey-400: #dfdfdf;
  --mdc-palette-light-grey-500: #d7d7d7;
  --mdc-palette-light-grey-600: #c4c4c4;
  --mdc-palette-light-grey-700: #999999;
  --mdc-palette-light-grey-800: #767676;
  --mdc-palette-light-grey-900: #5a5a5a;

  --mdc-palette-grey-50: #e9e9ea;
  --mdc-palette-grey-100: #bbbbbd;
  --mdc-palette-grey-200: #9a9b9d;
  --mdc-palette-grey-300: #6c6d70;
  --mdc-palette-grey-400: #4f5154;
  --mdc-palette-grey-500: #232529;
  --mdc-palette-grey-600: #202225;
  --mdc-palette-grey-700: #191a1d;
  --mdc-palette-grey-800: #131417;
  --mdc-palette-grey-900: #0f1011;

  --mdc-color-primary: var(--mdc-palette-primary-500);
  --mdc-color-secondary: var(--mdc-palette-light-blue-normal);
  --mdc-color-dark: var(--mdc-palette-grey-500);
  --mdc-color-gray: #666;
  --mdc-color-light: #f8f8f8;
  --Blue-Gradient-3: linear-gradient(290deg, rgb(154 205 254 / 25%) 0%, rgb(200 227 252 / 83%) 100%)
}
/* Tipografía base */
div#mainContentContainer div.geeks h1,
div#mainContentContainer div.geeks h2,
div#mainContentContainer div.geeks h3,
div#mainContentContainer div.geeks h4,
div#mainContentContainer div.geeks h5,
div#mainContentContainer div.geeks h6,
div#mainContentContainer div.geeks p,
div#mainContentContainer div.geeks li {
  font-family: "Plus Jakarta Sans", sans-serif !important;
}

/* Familias tipográficas */
div.geeks .txt-public {
  font-family: "Public Sans", sans-serif !important;
}

div.geeks .container-styled {
    border-radius: 25px;
    background: #fff;
}

div.geeks .col-styled {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 25px;
  border: 1px solid #e5e7eb;
  background: #fff;
}

div.geeks .card-scroll {
  max-height: 350px;
  border-radius: 15px;
  position: relative;
}

div.geeks .finder-simple-container .card-scroll:focus,
div.geeks .finder-simple-container .card-scroll:focus-visible,
div.geeks .finder-dynamic-container .card-scroll:focus,
div.geeks .finder-dynamic-container .card-scroll:focus-visible {
  outline: none;
}

div.geeks .finder-simple-container .col-styled:focus-within,
div.geeks .finder-dynamic-container .col-styled:focus-within {
  border: 1px solid #005eaa;
  border-radius: 25px;
  outline: 2px solid #005eaa;
  outline-offset: 0;
}

div.geeks .scroll-vertical {
  overflow-y: auto;
}

/* Course finder images */
div.geeks .left-scroll-image {
  object-fit: contain;
  padding: 0 15px;
  height: 300px;
  margin: auto;
}

div.geeks .side-image {
  object-fit: contain;
  padding: 0 15px;
  height: 250px;
  margin: auto;
}

/* Course finder interactive elements moved to specific finder classes */
/* .transparent-blue and related styles removed - unused after course finder refactoring */

div.geeks .button-pill {
  text-align: center;
  width: 35px;
  height: 25px;
  border-radius: 20px;
  background: rgba(0, 94, 170, 0.1);
  backdrop-filter: blur(3px);
}

/* Navigation and state controls */
div.geeks .back-button {
  border-radius: 10px;
  border: 1px solid #005eaa;
  background: rgba(0, 94, 170, 0.1);
  padding: 10px 15px;
  margin: 10px 0;
}

div.geeks .show_content {
  display: flex !important;
}

div.geeks .not_show_content {
  display: none !important;
}

/* Course finder responsive styles */
@media screen and (min-width: 768px) {
  div.geeks .side-image {
    object-fit: contain;
    padding: 0 15px;
    height: auto;
    margin: auto;
  }

  div.geeks .left-scroll-image {
    object-fit: contain;
    padding: 0 15px;
    height: 300px;
    margin: auto;
    display: block;
  }
}

/* ===== ONLINE ADMISSION BUTTON COMPONENT STYLES ===== */
/* Moved from iet-courses.css */

/* Online admission form background with triple circles */
div.geeks .background-triple-circles {
  z-index: 10000 !important;
  background: url("https://storage.googleapis.com/mdc-website/online_admission_form/online_form.svg") !important;
  background-size: 487px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* Online admission responsive styles */
@media screen and (min-width: 768px) {
  div.geeks .background-triple-circles {
    z-index: 10000 !important;
    background: url("https://storage.googleapis.com/mdc-website/online_admission_form/online_form.svg") !important;
    background-repeat: no-repeat !important;
  }
}

/* ===== CERTIFICATE TWO IMAGES COMPONENT STYLES ===== */
/* Moved from construction-trades-institute.css */

/* Certificate geometry background - desktop only */

/* Certificate vector backgrounds */
div.geeks .vector {
  border-radius: 0;
  width: auto;
  background-image: url("https://storage.googleapis.com/mdc-website/cti/simple_rectangle.svg") !important;
  background-size: auto;
  background-position: 16px 24px;
  background-repeat: no-repeat !important;
}

/* Certificate responsive backgrounds */
@media screen and (min-width: 768px) {
  /* Certificate geometry background - desktop only */
  div.geeks .background-geometry {
    background: url("https://storage.googleapis.com/mdc-website/cti/geometry.svg");
    background-repeat: no-repeat;
    background-position: top right;
  }
}

@media screen and (min-width: 900px) {
  div.geeks .vector {
    border-radius: 0;
    width: auto;
    background-color: none;
    background-image: url("https://storage.googleapis.com/mdc-website/ged/one_bg.svg") !important;
    background-size: 509px;
    background-position: right;
    background-repeat: no-repeat !important;
  }
}

div.geeks .txt-jakarta {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

/* Encabezados */
#mainContentContainer div.geeks h1 {
  font-size: 2.1875rem;
  font-weight: 400;
  line-height: 2.8125rem;
}

#mainContentContainer div.geeks h2 {
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 2.1875rem;
}

#mainContentContainer div.geeks h3 {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

#mainContentContainer div.geeks p {
  font-size: 1rem;
}

#mainContentContainer div.geeks a:link {
  text-decoration: none;
}

#mainContentContainer div.geeks li {
  line-height: 1.5625rem;
}

#mainContentContainer div.geeks .container {
  max-width: 1200px !important;
}


/* Pesos tipográficos */
div.geeks .bold-300 {
  font-weight: 300 !important;
}

div.geeks .bold-400 {
  font-weight: 400 !important;
}

div.geeks .bold-500 {
  font-weight: 500 !important;
}

div.geeks .bold-600 {
  font-weight: 600 !important;
}

div.geeks .bold-700 {
  font-weight: 700;
}

/* Decoración de texto */
div.geeks a.underline {
  text-decoration: underline !important;
}

/* Keyboard focus para enlaces de cursos en certificados */
.certificate-courses-list a:focus-visible {
  outline: 2px solid #015eaa;
  outline-offset: 2px;
  border-radius: 2px;
  background-color: rgba(1, 94, 170, 0.1);
}

.certificate-courses-list a:focus {
  outline: none;
}

.certificate-courses-list a:focus:not(:focus-visible) {
  outline: none;
  background-color: transparent;
}

/* Tamaños de texto */
div.geeks .txt-xs {
  font-size: 0.75rem !important;
  line-height: 1.6 !important;
}

div.geeks .txt-s {
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
}

div.geeks .txt-sm {
  font-size: 1rem !important;
  line-height: 1.6 !important;
}

div.geeks .txt-md {
  font-size: 1.125rem !important;
  line-height: 1.6 !important;
}

div.geeks .txt-l {
  font-size: 1.25rem !important;
  line-height: 1.6 !important;
}

div.geeks .txt-lg {
  font-size: 1.875rem !important;
  line-height: 1.6 !important;
}

div.geeks .txt-xlg {
  font-size: 2.1875rem !important;
  line-height: 1.6 !important;
}

/* Colores de texto */
div.geeks .txt-gray {
  color: var(--mdc-color-gray) !important;
}

div.geeks .txt-dark {
  color: var(--mdc-color-dark) !important;
}

div.geeks .txt-muted {
  color: #92989f !important;
}

div.geeks .txt-primary {
  color: var(--mdc-color-primary) !important;
}

/* Anchos responsivos */
div.geeks .w-responsive {
  width: 100%;
}

div.geeks .w-sm-responsive {
  width: 100%;
}

div.geeks .w-l-responsive {
  width: 100%;
}

div.geeks .w-xl-responsive {
  width: 100%;
}

div.geeks .w-xs-responsive {
  width: 100%;
}

/* Botones */
div.geeks a#play-button,
div.geeks .video-play-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70px;
  height: 70px;
  cursor: pointer;
}

div.geeks .video-play-overlay {
  font-size: 4.375rem;
  line-height: 4.375rem;
  color: #ffffff;
  pointer-events: none;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

div.geeks .button {
  border: none;
  border-radius: 20px;
  font-weight: 400;
  font-size: 0.875rem;
  font-family: "Public Sans", sans-serif;
  line-height: normal;
  padding: 9px 30px;
  text-align: center;
  transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease;
  cursor: pointer;
}

div.geeks .button:hover {
  transform: scale(1.05);
}

div.geeks .button-primary {
  background: linear-gradient(90deg, #005eaa 0%, #3470e8 100%);
  color: white !important;
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

div.geeks .button-primary:hover {
  color: white !important;
}

div.geeks a.btn-soldout[aria-disabled="true"] {
  background: var(--mdc-grey-light) !important;
  color: var(--mdc-grey-dark) !important;
  cursor: not-allowed !important;
  transform: none !important;
  pointer-events: none !important;
}

div.geeks a.btn-soldout[aria-disabled="true"]:hover {
  transform: none !important;
}

div.geeks .button-transparent {
  border: 1px solid #005eaa;
  background: rgba(0, 94, 170, 0.1);
  color: var(--mdc-color-primary);
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

div.geeks .button-outline {
  color: var(--mdc-color-primary) !important;
  border: 1px solid #E5E7EB;
  background: #FFF;
  box-shadow: 0px 4px 4px 0px rgba(229, 231, 235, 0.55) !important;
}

div.geeks .btn-link {
  color: rgba(0, 94, 170, 1);
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-transform: uppercase;
}

div.geeks .location-email:hover {
  color: var(--mdc-color-primary) !important;
  text-decoration: underline !important;
}

/* Badges y stamps */
div.geeks .stamp {
  line-height: 1.25rem;
  /* text-align: center; */
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
}

div.geeks .stamp-small {
  width: 227px;
  padding: 10px;
  border-radius: 20px;
  border: 1px solid #e5e7eb;
}

div.geeks .stamp-medium {
  width: 255px;
  padding: 10px;
  border-radius: 20px;
  border: 1px solid #e5e7eb;
}

div.geeks .stamp-gray,
div.geeks .stamp-md-gray {
  width: 100%;
  padding: 8px 15px;
  border-radius: 15px;
  border: 1px solid #cfd3d4;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

div.geeks .stamp-gray:focus-within,
div.geeks .stamp-md-gray:focus-within {
  border-color: #008cff;
  box-shadow: 0 0 0 3px rgba(0, 140, 255, 0.2);
}

div.geeks .stamp-empty {
  height: 28px;
  padding: 0;
  border: none;
  background: #f1f2f300;
}

div.geeks .stamp-empty:focus {
  outline: none;
  box-shadow: none;
}

/* scholarships_form Sex radios sit in a stamp box beside Date of Birth */
div.geeks .scholarship-sex-options {
  display: flex;
  align-items: center;
  min-height: 28px;
}

div.geeks .scholarship-sex-required.stamp-gray .custom-control {
  min-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  div.geeks #scholarship-form > .d-flex.flex-md-row > .form-group.stamp.stamp-gray {
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
    width: auto;
  }
}

/* Stamp selects — native <select> is visually hidden; custom listbox matches stamp fields */
div.geeks .stamp.stamp-select {
  position: relative;
  overflow: visible;
  z-index: 1;
}

div.geeks .stamp.stamp-select.is-open,
div.geeks .stamp.stamp-select:focus-within {
  z-index: 40;
}

/* Later flex rows (e.g. Address under Country) paint after this row and would
   cover the listbox. Promote the row that contains the open stamp. */
div.geeks *:has(> .stamp.stamp-select.is-open),
div.geeks *:has(> .stamp.stamp-select:focus-within) {
  position: relative;
  z-index: 40;
}

/* .card-shadow backdrop-filter flattens the menu into an in-flow stacking
   context, so later footer headings (e.g. "Connect with MDC") paint on top.
   Promote the card while the listbox is open so it stacks above the footer. */
div.geeks .card-shadow:has(.stamp.stamp-select.is-open),
div.geeks .card-shadow:has(.stamp.stamp-select:focus-within) {
  position: relative;
  z-index: 20;
}

/* Scholarship (and other) Bootstrap modals clip absolute listboxes otherwise. */
div.geeks .modal-content:has(.stamp.stamp-select.is-open),
div.geeks .modal-body:has(.stamp.stamp-select.is-open) {
  overflow: visible;
}

div.geeks .stamp-select-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

div.geeks .stamp-select-dropdown {
  width: 100%;
  position: static;
}

div.geeks .stamp-select-trigger.stamp-empty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 28px;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

div.geeks .stamp-select-trigger.stamp-empty:focus {
  outline: none;
  box-shadow: none;
}

div.geeks .stamp-select-value {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}

div.geeks .stamp-select-trigger .fas.fa-chevron-down {
  flex-shrink: 0;
  font-size: 0.7rem;
  color: #6b7280;
  transition: transform 0.2s ease;
}

div.geeks .stamp.stamp-select.is-open .stamp-select-trigger .fas.fa-chevron-down {
  transform: rotate(180deg);
}

/* Panel matches stamp outer box (width + border + radius + field background) */
div.geeks .stamp-select-menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.4rem);
  width: 100%;
  max-height: 240px;
  overflow-y: auto;
  margin: 0;
  padding: 0.35rem 0;
  border-radius: 15px;
  border: 1px solid #cfd3d4;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
  font-family: "Plus Jakarta Sans", sans-serif;
  z-index: 50;
}

div.geeks .stamp.stamp-select.is-open > .stamp-select-menu {
  display: block;
}

div.geeks .stamp-select-option {
  display: block;
  width: 100%;
  border: none;
  background: transparent;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  color: #222;
  text-align: left;
  padding: 0.55rem 15px;
  white-space: normal;
  cursor: pointer;
}

div.geeks .stamp-select-option:hover,
div.geeks .stamp-select-option:focus,
div.geeks .stamp-select-option.is-active {
  outline: none;
  background: #e8f4ff;
  color: #005eaa;
}

div.geeks .stamp-select-option[aria-selected="true"] {
  background: #d9ecff;
  color: #005eaa;
  font-weight: 500;
}

/* No-JS fallback: keep native select readable inside stamp */
div.geeks .stamp select.stamp-empty:not(.stamp-select-native) {
  width: 100%;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1.41 0.59L6 5.17 10.59 0.59 12 2l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.15rem center;
  background-size: 0.75rem;
  padding-right: 1.25rem;
}

div.geeks .stamp-blur {
  padding: 9px 18px;
  width: 162px;
  font-size: 1rem !important;
  color: var(--mdc-color-dark);
  border-radius: 25px;
  background: linear-gradient(358deg,
      #9acdfe -79.19%,
      rgba(255, 255, 255, 0.1) 160.61%);
  box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.5);
  backdrop-filter: blur(5px);
}

div.geeks .stamp-primary {
  background: var(--mdc-color-primary);
  color: white;
  font-size: 0.8125rem !important;
  border-radius: 10px;
  padding: 3px 11px;
}

/* Mapas y ubicaciones */
div.geeks iframe.locations-map {
  border: 0;
  display: none;
  border-radius: 30px;
  width: 600px;
  min-height: 440px;
}

div.geeks ul.locations-list {
  list-style-type: none;
  gap: 5px;
}

/* Cards — hover lift/scale only on desktop; mobile keeps partner-logo at rest color */
div.geeks .card-hover-shadow {
  cursor: default;
  width: 100%;
  max-width: 558px;
  padding: 4px;
  margin: 0 auto;
  border-radius: 30px;
  background: rgba(229, 231, 235, 0.1);
}

div.geeks .card-hover-hero {
  width: 100%;
  margin: 0 auto;
  border: 1px solid transparent;
  border-radius: 30px;
}

div.geeks .card-body.hover-body {
  border-radius: 0px 25px 25px 0px;
  background: none;
}

div.geeks .card-hover-shadow:focus {
  outline: none;
}

div.geeks .card-hover-shadow:focus-visible {
  outline: 3px solid #005eab;
  outline-offset: 2px;
}

@media (min-width: 768px) {
  div.geeks .card-hover-shadow {
    cursor: pointer;
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  }

  div.geeks .card-hover-hero,
  div.geeks .card-body.hover-body {
    transition: inherit;
  }

  div.geeks .card-hover-shadow:hover,
  div.geeks .card-hover-shadow:focus-visible {
    transform: scale(1.1);
    box-shadow: 0px 4px 8px 0px rgba(229, 231, 235, 0.5);
    background: rgba(229, 231, 235, 0.35);
    backdrop-filter: blur(5px);
  }

  div.geeks .card-hover-shadow:hover .card-hover-hero,
  div.geeks .card-hover-shadow:focus-visible .card-hover-hero {
    border: 1px solid #e2e3e3;
  }

  div.geeks .card-hover-shadow:hover .hover-body,
  div.geeks .card-hover-shadow:focus-visible .hover-body {
    background: radial-gradient(57.23% 63.58% at 96.41% 100%,
        rgba(154, 205, 254, 0.9) 0%,
        rgba(200, 227, 252, 0) 100%);
  }
}

/* Clearance so scaled cards / focus outline do not overlap the top heading */
div.geeks #hover_cards_layout .hover-cards-top-heading {
  transform: translateY(-6px);
}

/* syllabus-card styles moved to accordions.css */

div.geeks .card-choose {
  min-height: 267px;
  padding: 20px;
  border-radius: 25px;
  border: 1px solid #E5E7EB;
}

div.geeks .card-choose-centered {
  text-align: center;
}

div.geeks .card-bleed {
  z-index: 10000;
  top: 119px;
  left: 65px;
  object-fit: cover;
}

div.geeks .bleed-corner {
  top: -23px;
  object-fit: cover;
  right: 31px;
}


div.geeks .card-offers {
  min-height: 346px;
  width: 366px;
  padding: 20px;
  border-radius: 25px;
  border: 1px solid #E5E7EB;
  background: linear-gradient(180deg, rgba(154, 205, 254, 0.20) 0%, rgba(154, 205, 254, 0.00) 100%);
}

div.geeks .card-offers .card-img-top {
  object-fit: cover;
  width: 105px;
  height: 105px;
  border-radius: 100%;
  border: #9ACDFE 1px solid;
  padding: 10px;
}

div.geeks .card-transparent {
  border-radius: 30px;
  border: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.5);
  backdrop-filter: blur(5px);
  padding: 20px 15px;
  max-width: 375px;
}

div.geeks .card-modal {
  border-radius: 30px;
  border: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.5);
  backdrop-filter: blur(5px);
  padding: 20px 15px;
  max-width: 375px;
}

div.geeks .card-modal {
  min-width: 375px;
  top: 20px;
  right: 40px;
}

div.geeks .card-modal ul {
  padding: 15px;
  list-style: none;
  border-radius: 15px;
  background: #fff;
}


div.geeks .card-neon-shadow {
  border-radius: 20px;
  background: rgba(52, 112, 232, 0.1);
  backdrop-filter: blur(5px);
  padding: 7px;
  margin: 0;
}

div.geeks .card-neon {
  min-width: 100%;
  min-height: 109px;
  border-radius: 15px;
  border: 1px solid #005eaa;
  background: #303238;
  backdrop-filter: blur(5px);
  color: white;
  margin: 0;
}

div.geeks .card-empty {
  width: 100%;
  height: 62px;
  border-radius: 15px;
  border: 1px solid #CFD3D4;
  background: transparent;
  color: #222;
  margin: 0;
}

div.geeks .card-empty .btn:hover {
  color: #1a1a1a !important;
}

div.geeks .card-empty .btn:focus,
div.geeks .card-empty .btn:focus-visible {
  outline: none;
  box-shadow: none;
}

div.geeks .card-empty:focus-within {
  border-color: #005eaa;
  border-radius: 15px;
  outline: 2px solid #005eaa;
  outline-offset: 2px;
}

div.geeks .card-shadow {
  background: rgba(229, 231, 235, 0.35);
  box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.5);
  backdrop-filter: blur(5px);
  border-radius: 30px;
  padding: 4px;
}

div.geeks .card-hero {
  margin: 1px;
  border: 1px solid #E5E7EB;
  border-radius: 30px;
}

div.geeks .card-neon-shadow-v2 {
  width: 258px;
  border-radius: 20px;
  background: rgba(35, 41, 53, 0.1);
  backdrop-filter: blur(5px);
  padding: 7px;
  margin: 0;
}

div.geeks .card-neon-v2 {
  height: 190px;
  border-radius: 15px;
  border: 1px solid #005eaa;
  background: #303238;
  backdrop-filter: blur(5px);
  color: white;
  margin: 0;
}

div.geeks .card-enroll-blue {
  border-radius: 28px;
  border: none;
  position: relative;
  background: linear-gradient(126deg, #FFF 3.63%, rgb(155 206 255 / 42%) 111.66%);
  box-shadow: 0px 4px 4px 0px rgba(229, 231, 235, 0.45);
}

/* Pseudoelemento para el borde con degradado */
div.geeks .card-enroll-blue::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 28px;
  padding: 1px;
  background: linear-gradient(to bottom, #9ACDFE 0%, transparent 100%);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}

/* Fix para evitar que las cards del carousel se estiren verticalmente cuando una se expande */
/* Solo aplica en modo carousel, NO afecta al modo grid */
div.geeks #mdc-enroll-box[data-layout="carousel"] .carousel-custom-container {
  align-items: flex-start !important;
}

/* Asegurar que cada card individual mantenga su propia altura en carousel */
div.geeks #mdc-enroll-box[data-layout="carousel"] .carousel-custom-container > div {
  align-self: flex-start !important;
}

/* Centrar contenido cuando hay 1 o 2 tarjetas */
div.geeks #mdc-enroll-box[data-layout="carousel"] .carousel-custom-container:has(.carousel-card-wrapper:only-child),
div.geeks #mdc-enroll-box[data-layout="carousel"] .carousel-custom-container:has(.carousel-card-wrapper:nth-child(2):last-child) {
  justify-content: center;
}

/* Estilos para los botones de navegación del carousel de precios */
div.geeks #mdc-enroll-box[data-layout="carousel"] .carousel-control-prev,
div.geeks #mdc-enroll-box[data-layout="carousel"] .carousel-control-next {
  background: none;
  border: none;
  opacity: 1;
  transition: transform 0.2s ease;
}

div.geeks #mdc-enroll-box[data-layout="carousel"] .carousel-control-prev:hover,
div.geeks #mdc-enroll-box[data-layout="carousel"] .carousel-control-next:hover {
  transform: scale(1.2);
}

div.geeks #mdc-enroll-box[data-layout="carousel"] .carousel-control-prev:hover i,
div.geeks #mdc-enroll-box[data-layout="carousel"] .carousel-control-next:hover i {
  color: #939393 !important;
}

/* Atenuar cards filtradas en carousel (UX suave, no desaparecer) */
div.geeks .carousel-custom-container .card[data-hidden="true"] {
  opacity: 0.3;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* Geeks Icons *//* Geeks Icons */

/* wrap-collapse-icon styles moved to accordions.css */

/* accordion syllabus interaction styles moved to accordions.css */

div.geeks .mini-stamp-white {
  padding: 0 15px 0 0;
  background-color: white;
  border-radius: 9px;
}

div.geeks .shopping-cart-wrap {
  border-radius: 0 0 30px 30px;
}

/*
  Destiny hoists <div class="wrap-collapse-enroll"> out of the More/Less
  <button> (div is not valid button content), leaving a dead pill sibling.
  Only the wrap inside .toggle-collapse-text is the real control.
*/
div.geeks .shopping-cart-wrap > .wrap-collapse-enroll {
  display: none !important;
}

div.geeks .shopping-cart-wrap .toggle-collapse-text {
  border-radius: 50px;
}

div.geeks .shopping-cart-wrap .toggle-collapse-text:focus,
div.geeks .shopping-cart-wrap .toggle-collapse-text:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #005eaa;
}

div.shopping-cart-wrap .wrap-collapse-enroll i {
  cursor: pointer;
}

div.shopping-cart-wrap button[aria-expanded="true"] .wrap-collapse-enroll {
  background-color: #246ec7;
  border: 0.5px solid #005EAA;
  color: #fff;
}

div.shopping-cart-wrap button[aria-expanded="false"] .wrap-collapse-enroll {
  background-color: #e5eef6;
  border: 0.5px solid #005EAA;
}

div.shopping-cart-wrap button[aria-expanded="true"] .wrap-collapse-enroll i.enroll_icon {
  color: white;
}

div.shopping-cart-wrap button[aria-expanded="false"] .wrap-collapse-enroll i.enroll_icon {
  color: #246ec7;
}


div.geeks .icon-container {
  border: 1px solid #80808038;
  background: white;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  padding: 7px;
}

div.geeks div.enroll-icon-bg {
  border: 1px solid #e5e7eb;
  margin-right: 5px;
  display: flex;
  justify-content: center;
  width: 25px;
  border-radius: 50%;
  height: 25px;
}

/* Fondos y backgrounds */
div.geeks .background-dark {
  background-color: var(--mdc-color-dark) !important;
}

div.geeks .background-muted {
  background: rgba(229, 231, 235, 0.35) !important;
}

div.geeks .background-light-blue {
  background: rgba(154, 205, 254, 0.11) !important;
}


div.geeks .background-linear-top-light-blue {
  background: linear-gradient(180deg, rgba(154, 205, 254, 0.20) 0%, rgba(154, 205, 254, 0.00) 100%);
}

div.geeks .background-linear-bottom-light-blue {
  background: linear-gradient(186deg, rgba(154, 205, 254, 0.00) 0%, rgba(154, 205, 254, 0.20) 100%)
}

div.geeks .background-linear-focus {
  background: linear-gradient(180deg, rgba(154, 205, 254, 0.30) 0%, rgba(154, 205, 254, 0.00) 122%);
}

div.geeks .bg-radial-yellow {
  background: radial-gradient(60.98% 21.88% at 49.75% 0%, rgb(255 212 0 / 27%) 0%, rgba(255, 212, 0, 0.00) 100%) !important;
}

/* Blue counterpart of bg-radial-yellow (--mdc-blue) for non-summercamps sections */
div.geeks .bg-radial-blue {
  background: radial-gradient(60.98% 21.88% at 49.75% 0%, rgb(15 118 208 / 18%) 0%, rgba(15, 118, 208, 0.00) 100%) !important;
}


div.geeks .background-linear-light {
  background: linear-gradient(180deg, #EFEFEF 0%, #FFF 100%);
}

/* background-radial moved to accordions.css */

div.geeks .background-figures {
  background: url("https://storage.googleapis.com/mdc-website/4geeks-cursos/figures.svg");
  background-size: 228px;
  background-repeat: no-repeat;
}

div.geeks .background-mobile-figures {
  background: url("https://storage.googleapis.com/mdc-website/4geeks-cursos/mobile-figure.svg");
  background-size: 143px;
  background-repeat: no-repeat;
}

div.geeks .background-figures-v2 {
  background: url("https://storage.googleapis.com/mdc-website/4geeks-cursos/v2-mobile.svg");
  background-size: 351px;
  background-repeat: no-repeat;
}

div.geeks .background-linear-gray-blue {
  border-radius: 30px;
  background: url("https://storage.googleapis.com/mdc-website/technology-programs/tech.svg"), radial-gradient(115% 28% at -39% 22%, rgb(100 179 255 / 90%) -17%, rgba(200, 227, 252, 0) 87%);
  background-size: cover, cover;
  background-repeat: no-repeat, no-repeat;
}

/* .background-ellipse removed - unused CSS class (dead code) */

div.geeks .background-rigth-svg {
  background: none;
}

/* Dropdown y navegación */
div.geeks .fas.fa-chevron-down {
  transition: transform 0.5s;
}

div.geeks .dropdown.show .fas.fa-chevron-down {
  transform: rotate(180deg);
}

div.geeks .dropdown-toggle {
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
}

div.geeks .dropdown-toggle:hover {
  border-bottom: none !important;
}

div.geeks .dropdown-menu.show {
  width: 100% !important;
  background: rgb(217, 217, 217) !important;
}

/* Video y multimedia - MOVED TO videos.css */

div.geeks .three-images {
width: auto;
}

/* Mobile image styling for three-images hero */
div.geeks .three-images-mobile {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* Offer Section - Custom list items */
div.geeks .offer-section .list-unstyled li {
  border-radius: 20px;
  border: 1px solid #E5E7EB;
  background: rgba(255, 255, 255, 0.70);
  padding: 8px 16px;
  list-style: none;
  display: inline-block;
  width: auto;
  text-align: center;
}

/* Mobile Offer Styles */
div.geeks .mobile-circle-bg {
  position: absolute;
  top: 0; /* Lo anclamos a la parte superior */
  left: 50%;
  transform: translateX(-50%); /* Solo centramos horizontalmente */
  z-index: 1;
  width: 85vw; /* Ancho fluido basado en el viewport */
  max-width: 320px; /* Pero con un límite para no ser demasiado grande */
  height: auto; /* La altura se ajustará automáticamente */
}

div.geeks .mobile-circle-bg img {
  width: 100%;
  height: auto;
  object-fit: contain;
}


div.geeks .mobile-offer-content {
  position: relative;
  z-index: 2;
  padding: 60px 20px;
}

div.geeks .mobile-offer-list li {
  border-radius: 20px;
  border: 1px solid #E5E7EB;
  background: rgba(255, 255, 255, 0.70);
  padding: 8px 12px;
  list-style: none;
  margin-bottom: 8px;
  font-size: 0.9rem;
  display: inline-block;
  width: auto;
  text-align: center;
}

div.geeks .mobile-more-btn {
  background: #005dab;
  color: white !important;
  border-radius: 20px;
  padding: 8px 20px;
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
  margin-top: 15px;
}

div.geeks .mobile-more-btn:hover {
  background: #004a91;
  color: white !important;
  text-decoration: none;
}

div.geeks .mobile-more-btn i {
  transition: transform 0.3s ease;
}

div.geeks .mobile-more-btn.expanded i {
  transform: rotate(180deg);
}

/* Ajuste para pantallas muy pequeñas */
@media (max-width: 375px) {
  div.geeks .mobile-circle-bg {
    width: 280px;
    height: 280px;
  }

  div.geeks .mobile-offer-content {
    padding: 50px 15px;
  }
}

@media screen and (min-width: 768px) {
  div.geeks .card-transparent {
    position: relative;
  }

  div.geeks .card-modal.centered {
    position: static;
    margin: auto;
  }

  div.geeks div.video {
    padding: 25px 65px;
    border-radius: 30px;
    background: linear-gradient(69deg, #005eaa 44.86%, #9acdfe 108.44%);
  }
}



/* Video styles MOVED TO videos.css */

/* Estilo para la imagen que actúa como botón de reproducción */
div.geeks #play-image {
  width: inherit;
  max-width: 518px;
  cursor: pointer;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

div.geeks #play-image:hover {
  transform: scale(1.02);
  opacity: 0.9;
}

/* Apagamos el outline SOLO para el clic del ratón --ADA Compliance / NO modificar -- */
div.geeks input:focus:not(:focus-visible),
div.geeks select:focus:not(:focus-visible),
div.geeks textarea:focus:not(:focus-visible),
div.geeks button:focus:not(:focus-visible),
div.geeks a.button:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

/* Encendemos el outline para la navegación por teclado --ADA Compliance / NO modificar -- */
div.geeks input:focus-visible,
div.geeks select:focus-visible,
div.geeks textarea:focus-visible,
div.geeks button:focus-visible,
div.geeks a.button:focus-visible {
  outline: 3px solid #005dab;
  outline-offset: 2px;
}

/* Button Transparent - ADA Compliance - White outline for visibility */
div.geeks a.button.button-transparent:focus-visible {
  outline: 3px solid #FFFFFF;
  outline-offset: 2px;
}

/* Carrusel */
div.geeks .carousel-indicators {
  margin-top: 3%;
  position: static;
}

div.geeks .carousel-indicators li {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50%;
  border: 2px solid white;
  position: relative;
}

div.geeks .carousel-indicators li::after {
  content: "";
  width: 4px;
  height: 4px;
  background-color: white;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}

div.geeks .carousel-indicators li.active {
  background-color: gray;
  border-color: white;
}

div.geeks .carousel-indicators li.active::after {
  opacity: 1;
}

div.geeks .carousel-control-prev,
div.geeks .carousel-control-next {
  align-self: flex-end;
}

div.geeks .carousel-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  outline: none;
  transition: box-shadow 0.2s;
}

div.geeks .carousel-nav-btn:hover,
div.geeks .carousel-nav-btn:focus-visible {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.9);
  outline: none;
}

/* Efectos y animaciones */
div.geeks .highlight {
  position: relative;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
  background-color: #007bff;
  transition: transform 0.3s ease-in-out !important;
}

div.geeks .highlight::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
  animation: shine 2s forwards;
}

div.geeks .highlight {
  animation: zoom 0.3s forwards !important;
}

div.geeks .breadcrumb-item.active {
  color: #464a4d;
}


div.geeks .breadcrumb-item a {
  position: relative;
  padding: 10px 0px;
  margin: -10px 0px;
  min-width: 44px;
  display:inline-flex;
  justify-content: center;
  box-sizing: content-box;
}

/* ADA fix: separator "/" must meet 4.5:1 contrast on #D7D7D7 background.
   content: "/" / "" hides it from screen readers (CSS alt text syntax). */
div.geeks .breadcrumb-item + .breadcrumb-item::before {
  color: #595959;
  content: "/" / "";
}

div.geeks .breadcrumb-item a:focus {
  outline: none;
}

/* Asymmetric focus ring: inset on top/bottom (avoids clip), loose on sides (does not crowd text).
   outline-offset cannot be set per-side, so use a positioned ::after instead. */
div.geeks .breadcrumb-item a:focus-visible {
  outline: none;
}

div.geeks .breadcrumb-item a:focus-visible::after {
  content: "";
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: -6px;
  right: -6px;
  border: 2px solid #005dab;
  border-radius: 8px;
  pointer-events: none;
}

/* Match the native breadcrumb background on full-width nav container. */
div.geeks .breadcrumb-full-width-bg {
  background-color: var(--bs-breadcrumb-bg, var(--mdc-grey-light));
}

/* Ensure a single background tone: container controls the color. */
div.geeks .breadcrumb-full-width-bg .breadcrumb {
  background-color: transparent;
}

@keyframes shine {
  to {
    left: 100%;
  }
}

@keyframes zoom {
  to {
    transform: scale(1.05);
  }
}

/* Modal */
/* Modal */
/* Megamenu is sticky at z-index 9999 and covers Bootstrap modals (1050).
   Drop the scholarship dialog just below the bar. */
body:has(.mdcnav) div.geeks #scholarships_form .modal-dialog {
  margin-top: calc(var(--mdc-nav-h, 72px) + 10px);
}

div.geeks .modal-header {
  background: #fff;
  color: var(--mdc-color-dark);
  border-radius: 30px;
  border-bottom: none;
}

div.geeks .modal-content {
  border-radius: 30px;
  border: 1px solid #e5e7eb;
  background: #fff;
  box-shadow: 0px 4px 4px 0px rgba(91, 91, 91, 0.5);
  border: none;
}

div.geeks .modal-footer {
  border-top: none;
}

div.geeks .modal-close-button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e5eef6;
  color: #266bd7;
  border-radius: 50%;
  height: 40px;
  width: 40px;
  margin-top: 1px;
  border: none;
  font-size: 1.25rem;
  font-weight: 500;
}

/* Custom Geeks */
div.geeks hr.geeks-hr {
  width: 100px;
  height: 2px;
  border: none;
  background-color: rgba(154, 205, 254, 1);
  margin: 0 0 8px 0;
}

div.geeks hr.geeks-hr.geeks-hr-center { margin-left: auto ; margin-right: auto}


div.geeks a:hover {
  cursor: pointer;
}

div.geeks .custom-text {
  font-size: 0.875rem !important;
  color: #666 !important;
  font-weight: 300 !important;
  letter-spacing: 0cm !important;
  line-height: 1 !important;
}

div.geeks .hide-details {
  background: radial-gradient(58.68% 34.36% at 0% 49.06%, rgba(154, 205, 254, 0.45) 0%, rgba(154, 205, 254, 0.00) 100%);
  width: 100%;
  height: auto;
  border: 1px solid #E5E7EB;
  border-radius: 25px;
}

div.geeks .badge {
  border: 1px solid #E5E7EB;
  border-radius: 15px;
  padding: 8px 15px;
  font-size: 1.25rem;
  font-weight: 700;
  margin-left: 5px;
}

div.geeks a.gray-link {
  color: rgba(102, 102, 102, 1) !important;
}

/* why_choose_mdc_minimal Component */
div.geeks .table-bordered {
  border-radius: 15px;
  overflow: hidden;
}

/* credibility_strip — post-hero key-facts cards (Figma Card 10083:9302 + body 10083:9304)
   Beat #mainContentContainer div.geeks p (1rem) with ID + !important */
div.geeks .credibility-strip {
  background-color: var(--mdc-grey);
  padding: 8.75rem 0;
}

div.geeks .credibility-strip-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin: 0;
  padding: 0;
}

/* Height must stay content-driven: a flex-basis here would size the block axis
   while the list is a column (< 768px). */
div.geeks .credibility-strip-item {
  width: 100%;
  max-width: 300px;
  min-width: 0;
  display: flex;
}

/* Card — Figma: px 16, py 30, gap 20, radius 25, border #e5e7eb, shadow 0 4 4 */
div.geeks .credibility-strip-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1.875rem 1rem;
  background-color: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 25px;
  box-shadow: 0 4px 4px 0 rgba(229, 231, 235, 0.25);
}

/* Body — Figma 10083:9304: gap 15, centered, word-break */
div.geeks .credibility-strip-card-body {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.9375rem;
  text-align: center;
  word-break: break-word;
}

#mainContentContainer div.geeks .credibility-strip-value {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 2.1875rem !important;
  font-weight: 700;
  line-height: 2.1875rem !important;
  letter-spacing: 0;
  color: #222 !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  text-box: trim-both cap alphabetic;
}

#mainContentContainer div.geeks .credibility-strip-label {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 400;
  line-height: 1.25rem !important;
  letter-spacing: 0;
  color: #666 !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  text-box: trim-both cap alphabetic;
}

@media screen and (min-width: 768px) {
  div.geeks .credibility-strip-list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
  }

  div.geeks .credibility-strip-item {
    flex: 0 1 300px;
  }
}

/* credibility_modes — mixed post-hero glance (count / constellation / pulse) */
div.geeks .credibility-modes {
  padding: 2.5rem 0 3rem;
  background-color: var(--mdc-palette-light-grey-50);
}

div.geeks .credibility-modes__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

div.geeks .credibility-modes__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.75rem;
  min-width: 0;
}

div.geeks .credibility-modes__value-row {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

#mainContentContainer div.geeks .credibility-modes__count,
#mainContentContainer div.geeks .credibility-modes__suffix {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: clamp(2.75rem, 8vw, 4rem) !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: -0.02em;
  color: var(--mdc-palette-primary-500) !important;
  margin: 0 !important;
  padding: 0 !important;
}

div.geeks .credibility-modes__phrase {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  max-width: 16rem;
}

#mainContentContainer div.geeks .credibility-modes__phrase-lead {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 500;
  line-height: 1.3 !important;
  color: var(--mdc-palette-grey-400) !important;
  margin: 0 !important;
  opacity: 0;
  transform: translateY(0.4rem);
  transition: opacity 0.45s ease-out, transform 0.45s ease-out;
}

div.geeks .credibility-modes__phrase-viewport {
  position: relative;
  width: 100%;
  height: clamp(2.5rem, 7vw, 3.5rem);
  overflow: hidden;
  opacity: 0;
  transform: translateY(0.55rem);
  transition: opacity 0.5s ease-out 0.12s, transform 0.5s ease-out 0.12s;
}

div.geeks .credibility-modes__phrase-track {
  display: flex;
  flex-direction: column;
  align-items: center;
  will-change: transform;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

#mainContentContainer div.geeks .credibility-modes__phrase-value,
#mainContentContainer div.geeks p.credibility-modes__phrase-value {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 clamp(2.5rem, 7vw, 3.5rem);
  height: clamp(2.5rem, 7vw, 3.5rem);
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: clamp(2.5rem, 7vw, 3.5rem) !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: -0.02em;
  color: var(--mdc-palette-primary-500) !important;
  margin: 0 !important;
  text-transform: lowercase;
}

/* Single-value phrase (no rotator): entrance fade */
#mainContentContainer div.geeks p.credibility-modes__phrase-value {
  opacity: 0;
  transform: translateY(0.55rem);
  transition: opacity 0.5s ease-out 0.12s, transform 0.5s ease-out 0.12s;
}

#mainContentContainer div.geeks .credibility-modes.is-active .credibility-modes__phrase-lead,
#mainContentContainer div.geeks .credibility-modes.is-active .credibility-modes__phrase-viewport,
#mainContentContainer div.geeks .credibility-modes.is-active p.credibility-modes__phrase-value {
  opacity: 1;
  transform: translateY(0);
}
div.geeks .credibility-modes__pulse {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 8rem;
  min-height: 4.5rem;
  padding: 0.5rem 1.25rem;
}

div.geeks .credibility-modes__pulse-ring {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  border: 2px solid var(--mdc-palette-light-blue-normal);
  opacity: 0;
  transform: scale(0.85);
}

div.geeks .credibility-modes.is-active .credibility-modes__pulse-ring {
  animation: credibility-modes-pulse 2.4s ease-out infinite;
}

#mainContentContainer div.geeks .credibility-modes__pulse-value {
  position: relative;
  z-index: 1;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: clamp(2rem, 5vw, 2.75rem) !important;
  font-weight: 700;
  line-height: 1.1 !important;
  letter-spacing: -0.02em;
  color: var(--mdc-palette-primary-500) !important;
  margin: 0 !important;
}

#mainContentContainer div.geeks .credibility-modes__label {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 400;
  line-height: 1.35 !important;
  color: var(--mdc-palette-grey-400) !important;
  margin: 0 !important;
  max-width: 16rem;
}

@keyframes credibility-modes-pulse {
  0% {
    opacity: 0.55;
    transform: scale(0.9);
  }
  70% {
    opacity: 0;
    transform: scale(1.2);
  }
  100% {
    opacity: 0;
    transform: scale(1.2);
  }
}

@media screen and (min-width: 768px) {
  div.geeks .credibility-modes {
    padding: 3.25rem 0 3.5rem;
  }

  div.geeks .credibility-modes__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 1.5rem;
    align-items: start;
  }

  div.geeks .credibility-modes__item + .credibility-modes__item {
    border-left: 1px solid var(--mdc-palette-light-grey-400);
    padding-left: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  #mainContentContainer div.geeks .credibility-modes__phrase-lead,
  #mainContentContainer div.geeks .credibility-modes.is-active .credibility-modes__phrase-viewport,
  #mainContentContainer div.geeks p.credibility-modes__phrase-value {
    opacity: 1;
    transform: none;
    transition: none;
  }

  div.geeks .credibility-modes__phrase-track {
    transition: none;
  }

  div.geeks .credibility-modes.is-active .credibility-modes__pulse-ring,
  div.geeks .credibility-modes__pulse-ring {
    animation: none;
    opacity: 0.45;
    transform: scale(1);
  }
}

div.geeks .card-minimal {
  border: 1px solid #E5E7EB;
  border-radius: 25px;
  width: 100%;
  max-width: 283px;
  display: flex;
  box-shadow: 0px 4px 4px 0px rgba(229, 231, 235, 0.25);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 15px 18px;
  position: relative;
  margin: 10px;
}

div.geeks .icon-minimal {
  width: 75px;
  margin: 0 auto;
  position: absolute;
  top: -45px;
}

div.geeks .card-minimal h3 {
  letter-spacing: -1px !important;
  line-height: 1.25rem;
}

/* .background-linear-bottom-light-blue duplicate removed - keeping 186deg version for desktop */

/* Duplicate .scroll-vertical removed - keeping first definition */

div.geeks .back-button {
  border-radius: 10px;
  border: 1px solid #005eaa;
  background: rgba(0, 94, 170, 0.1);
  padding: 10px 15px;
  margin: 10px 0;
}


/* why_choose_mdc_minimal responsive styles */
@media screen and (min-width: 768px) {
  div.geeks .card-minimal {
    width: calc(33.333% - 20px);
  }

  /* Duplicate .left-scroll-image media query removed - keeping first media query definition */
}

/* program_cards_expandable Component */
div.geeks .program-card-expandable {
  display: flex;
  overflow: hidden;
  opacity: 1;
  max-height: 14rem;
  /* Room for the 5px pill ring and hover scale */
  padding-top: 8px;
  padding-bottom: 8px;
  transition: none;
}

div.geeks .program-cards-expandable-ready .program-card-expandable {
  transition:
    opacity 0.35s ease,
    max-height 0.45s ease,
    margin-bottom 0.45s ease,
    padding-top 0.45s ease,
    padding-bottom 0.45s ease;
}

div.geeks .program-cards-expandable-ready .program-card-expandable:not(.program-card-expandable-hidden) {
  overflow: visible;
}

div.geeks .program-card-expandable-hidden {
  opacity: 0;
  max-height: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  pointer-events: none;
  overflow: hidden;
}

div.geeks .program-card-pill {
  border: 1px solid #e4e6eb;
  border-radius: 25px;
  padding: 10px 20px 10px 12px;
  gap: 14px;
  box-shadow:
    0 0 0 5px #f5f6f7,
    0 4px 12px rgba(0, 0, 0, 0.06);
  background: #f8f9f9;
  /* Match 3-line titles (e.g. Arts / Personal / Enrichment): padding + 3 * line-height */
  min-height: calc(20px + (1rem * 1.3 * 3));
  height: 100%;
  width: 100%;
  text-decoration: none;
  color: inherit;
  position: relative;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

div.geeks a.program-card-pill:hover,
div.geeks a.program-card-pill:focus {
  text-decoration: none;
  color: inherit;
}

div.geeks a.program-card-pill:hover {
  transform: scale(1.1);
  z-index: 2;
  box-shadow:
    0 0 0 5px #f5f6f7,
    0 4px 8px 0 rgba(229, 231, 235, 0.5);
}

div.geeks a.program-card-pill:focus-visible {
  outline: none;
  transform: scale(1.06);
  z-index: 2;
  box-shadow:
    0 0 0 5px #005eaa,
    0 4px 12px rgba(0, 0, 0, 0.06);
}

div.geeks a.program-card-pill[aria-disabled="true"] {
  pointer-events: none;
  cursor: default;
}

div.geeks .program-card-pill-title,
div.geeks .program-card-pill h3 {
  margin: 0 !important;
  color: #1F2937 !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

div.geeks .program-card-pill-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 18px;
  border: 2px solid #e5e7eb;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

div.geeks .program-card-pill-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
  background: #ffffff;
  flex-shrink: 0;
}

div.geeks .program-cards-expandable-grid {
  justify-content: center;
  align-items: stretch;
}

div.geeks .program-cards-expandable-toggle {
  color: #005eaa;
  font-weight: 600;
  text-decoration: none;
  background: none;
  cursor: pointer;
  font-size: 1rem;
  gap: 0.75rem;
  border-radius: 9999px;
  padding: 2px 4px;
}

div.geeks .program-cards-expandable-toggle:hover {
  color: #005eaa;
  text-decoration: none;
}

div.geeks button.program-cards-expandable-toggle:focus-visible {
  outline: 3px solid #005dab;
  outline-offset: 2px;
  border-radius: 9999px;
}

div.geeks .program-cards-expandable-toggle-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 1.75rem;
  flex-shrink: 0;
  border-radius: 9999px;
  border: 1px solid #005eaa;
  background: #e5eff6;
  color: #005eaa;
  transition: background-color 0.35s ease, color 0.35s ease;
}

div.geeks .program-cards-expandable-toggle[aria-expanded="true"] .program-cards-expandable-toggle-icon-wrap {
  background: #005eaa;
  color: #fff;
}

div.geeks .program-cards-expandable-toggle-icon {
  display: inline-block;
  position: relative;
  top: 1px;
  color: inherit;
  font-size: 1.25rem;
  line-height: 1;
  margin: 0;
  transition: transform 0.35s ease, top 0.35s ease;
}

div.geeks .program-cards-expandable-toggle[aria-expanded="true"] .program-cards-expandable-toggle-icon {
  transform: rotate(180deg);
  top: -1px;
}

/* horizontal_card_right_image Component */
div.geeks a.location-email.custom-text:hover {
  color: var(--mdc-color-primary) !important;
}

div.geeks .bg-option-2 {
  background: url("https://storage.googleapis.com/mdc-website/applied-ai-v2/rectangle.svg");
  background-size: 180px;
  background-repeat: no-repeat;
  background-position-y: bottom;
}

div.geeks .bg-option-3 {
  background: url("https://storage.googleapis.com/mdc-website/applied-ai-v2/rectangle.svg");
  background-size: 180px;
  background-repeat: no-repeat;
  background-position-y: bottom;
}


@media screen and (min-width: 768px) {
  div.geeks .bg-option-2 {
    background: url("https://storage.googleapis.com/mdc-website/mdc-adult-education/group-1.svg") !important;
    background-size: 351px;
    background-repeat: no-repeat !important;
  }
}

/* hover_cards_layout — desktop icons stay muted gray at rest; color on hover/focus */
div.geeks .card-hover-shadow .hover-image {
  filter: brightness(0) saturate(100%) invert(90%) sepia(4.43%) saturate(145.23%) hue-rotate(181.75deg) brightness(100%) contrast(99.19%);
  transition: filter 0.3s ease-in-out;
}

@media (min-width: 768px) {
  div.geeks .card-hover-shadow:hover .hover-image,
  div.geeks .card-hover-shadow:focus-visible .hover-image {
    filter: none;
  }

  div.geeks .card-hover-shadow:hover .hover-image[src*="compass2.svg"],
  div.geeks .card-hover-shadow:focus-visible .hover-image[src*="compass2.svg"] {
    content: url("https://storage.googleapis.com/mdc-website/geeks-cursos/compass-hover.svg");
  }

  div.geeks .card-hover-shadow:hover .hover-image[src*="cyborg.svg"],
  div.geeks .card-hover-shadow:focus-visible .hover-image[src*="cyborg.svg"] {
    content: url("https://storage.googleapis.com/mdc-website/geeks-cursos/cyborg-hover.svg");
  }

  div.geeks .card-hover-shadow:hover .hover-image[src*="ribon2.svg"],
  div.geeks .card-hover-shadow:focus-visible .hover-image[src*="ribon2.svg"] {
    content: url("https://storage.googleapis.com/mdc-website/geeks-cursos/ribon-hover.svg");
  }

  div.geeks .card-hover-shadow:hover .hover-image[src*="check.svg"],
  div.geeks .card-hover-shadow:focus-visible .hover-image[src*="check.svg"] {
    content: url("https://storage.googleapis.com/mdc-website/hover_cards_layout/check_blue.svg");
  }
}

/* campus_location_map_two_images Component */
div.geeks .campus-info-left {
  border-radius: 25px;
  border: 1px solid #E5E7EB;
  background: #FFF;
  box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.50);
  backdrop-filter: blur(5px);
}

div.geeks .border-campus-info {
  padding: 7px;
  border-radius: 30px;
  background: rgba(229, 231, 235, 0.35);
}

/* left_video_yellow_gradient Component - MOVED TO videos.css */

@media screen and (min-width: 900px) {
  div.geeks .campus-info-left {
    border-radius: 25px;
    border: 1px solid #E5E7EB;
    background: #FFF radial-gradient(58.68% 34.36% at 0% 49.06%, rgba(154, 205, 254, 0.45) 0%, rgba(154, 205, 254, 0.00) 100%);
    box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.50);
    backdrop-filter: blur(5px);
  }

  div.geeks .border-campus-info {
    align-self: center;
    padding: 7px;
    border-radius: 30px;
    background: rgba(229, 231, 235, 0.35);
  }
}

div.geeks li.dashed {
  border-bottom: 0.5px dashed #9acdfe;
}

/* Third duplicate of .button-pill (with flex) removed - using specific finder classes instead */

div.geeks .custom-border-top {
  border-top: 1px solid #e5e7eb !important;
}

div.geeks .color-box {
    width: 120px;
    height: 50px;
    margin-right: 15px;
    flex: 0 0 auto;
    object-fit: contain;
}

div.geeks .partner-logo {
  margin-left: 10px;
  padding: 8px 13px;
  border-radius: 25px;
  border: 1px solid #e5e7eb;
  background: #fff;
  box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.5);
}

div.geeks .success-icon {
  position: absolute;
  bottom: -40px;
  right: -4px;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  border: 4px solid rgb(52 112 232 / 30%);
  object-fit: cover;
}

div.geeks .success-wrap-icon {
  position: absolute;
  bottom: -47px;
  left: 126px;
  background-color: #005eaa;
  color: white;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

div.geeks .tag-geeks {
  border-radius: 15px;
  background: #25BF6C;
  color: white;
  display: inline-block;
  padding: 2px 12px;
}

div.geeks .tag-geeks-slider {
  border-radius: 15px;
  background: #25BF6C;
  color: white;
  width: 50%;
  padding: 0;
}

div.geeks .slider-container {
  overflow: hidden;
  width: 16%;
  max-width: calc(100% - 200px);
  position: relative;
}

div.geeks .slider {
  display: flex;
  animation: marquee-scroll 20s linear infinite;
  width: calc(120px * 10);
}

div.geeks .chips-translate {
  background: #f6f7f8;
  float: right;
  border-radius: 15px;
}

div.geeks .chip {
  color: #545454 !important;
  border-radius: 10px;
}

div.geeks .chip.active {
  background: #005499;
  color: #f6f7f8 !important;
}

div.geeks .chip:hover {
  background: #1385e2dc;
  color: #f6f7f8 !important;
}

/* Estilos para el componente course_cards_section */
div.geeks .course-tabs {
  border-radius: 15px;
  border: 0.5px solid #9ACDFE;
  background: rgba(229, 231, 235, 0.35);
  box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.50);
  backdrop-filter: blur(2px);
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
  padding: 5px;
  overflow: hidden;
}

div.geeks .left-scroll-image {
  padding: 0 15px;
  object-fit: contain;
}


/* SUMMERCAMPS COMMON STYLES */
div.geeks .link-summer {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 10px;
  transition: all 0.3s ease;
  box-sizing: border-box;
  color: #002652;
}

div.geeks .link-summer:hover {
  background: #9ACDFE;
  box-shadow: 0px 2px 2px 0px rgba(154, 205, 254, 0.20);
  transform: scale(1.05);
}

div.geeks .link-summer.active {
  background: #9ACDFE;
  box-shadow: 0px 2px 2px 0px rgba(154, 205, 254, 0.20);
  transform: scale(1.05);
  font-weight: 600;
  z-index: 1;
}

div.geeks .nav-summer-bleed {
  width: 100%;
}

div.geeks .locations-summer {
  max-width: 609px;
  padding: 5px 10px;
  border-radius: 15px;
  border: 0.5px solid #9ACDFE;
  background: rgba(229, 231, 235, 0.35);
  box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.50);
  backdrop-filter: blur(2px);
}

div.geeks .course-tab-btn {
  background: none;
  border: none;
  padding: 10px 25px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #0066cc;
  border-radius: 25px;
  transition: all 0.3s ease;
  cursor: pointer;
}

div.geeks .course-tab-btn.active {
  background-color: #9ACDFE;
  color: #0066cc;
  font-weight: 600;
  border-radius: 10px;
}

/* PRICES  */

div.geeks .prices-course-card {
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
  border-radius: 25px;
  border: none;
  position: relative;
  background: linear-gradient(to top, #b7dcff4f -20%, rgb(255 255 255) 100%);
  box-shadow: 0px 2px 2px 0px rgb(229 231 235);
  backdrop-filter: blur(5px);
}

div.geeks .prices-course-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 25px;
  padding: 1px;
  background: linear-gradient(to bottom, #8ac6ff 0%, transparent 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}

div.geeks .prices-course-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

div.geeks .card-img-container {
  position: relative;
  height: 180px;
  overflow: hidden;
}

div.geeks .card-img-top {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

div.geeks .course-age-badge {
  position: absolute;
  top: 15px;
  right: 15px;
  background-color: rgba(255, 255, 255, 0.9);
  color: #0066cc;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 20px;
}

div.geeks .card-body {
  padding: 1.5rem;
}

div.geeks .card-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.8rem;
  color: #333;
  line-height: 1.4;
}

div.geeks .scholarship-badge {
  display: inline-block;
  background-color: #25BF6C;
  color: white;
  font-size: 0.75rem;
  padding: 0 10px;
  border-radius: 10px;
  margin-bottom: 1rem;
}

div.geeks .scholarship-badge-placeholder {
  height: 24px;
  margin-bottom: 1rem;
  visibility: hidden;
}

div.geeks .course-date-info {
  padding: 0 10px;
  border-radius: 25px;
  border: 1px solid #E5E7EB;
  background: #FFF;
  color: #666;
  font-size: 0.85rem;
  margin-bottom: 0.8rem;
  display: flex;
  align-items: center;
}

div.geeks .course-date-info i {
  margin-right: 5px;
  color: #0066cc;
}

div.geeks .course-price {
  font-size: 1.4rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 1rem;
}

div.geeks .price-label {
  font-size: 0.9rem;
  font-weight: normal;
  color: #666;
}

div.geeks #loadMoreBtn {
  border: 1px solid #E5E7EB;
  background: #FFF;
  padding: 10px 30px;
  color: #0066cc;
  border-radius: 30px;
  font-weight: 500;
  transition: all 0.3s ease;
  box-shadow: 0px 4px 4px 0px rgba(229, 231, 235, 0.55);
}

div.geeks #loadMoreBtn:hover {
  background-color: #9ACDFE;
  color: #005fbe;
  box-shadow: 0px 4px 4px 0px rgba(154, 205, 254, 0.55);
}

div.geeks #loadMoreBtn:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(0, 102, 204, 0.2);
}

div.geeks .course-card-item {
  transition: opacity 0.4s ease, transform 0.4s ease;
  max-height: 370px;
}

div.geeks .course-card-item:hover {
  cursor: pointer;
}

div.geeks .course-card-item.fade-in {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.5s forwards;
}

/* Course list with CTA */
div.geeks .course-list-cta-row {
  /* Stretch so the CTA column is tall enough for sticky travel while the page scrolls */
  align-items: stretch;
}

div.geeks .course-list-cta-count {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0;
  color: inherit;
}

div.geeks .course-list-cta-count-num {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  color: var(--mdc-color-primary, #005eaa);
  letter-spacing: -0.02em;
}

div.geeks .course-list-cta-count-label {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.3;
  color: #6b7280;
}

div.geeks .course-list-cta-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  /* Room for :focus-visible outline (2px + 2px offset) */
  padding: 4px;
}

div.geeks .course-list-cta-item {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  width: 100%;
  text-align: left;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
  padding: 0.75rem 1rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  cursor: pointer;
  /* Native <button> does not inherit Geeks heading/body font */
  font-family: "Plus Jakarta Sans", sans-serif;
}

div.geeks .course-list-cta-item:hover {
  border-color: #9acdfe;
  box-shadow: 0 4px 12px rgba(0, 102, 204, 0.08);
}

div.geeks .course-list-cta-item:focus-visible {
  outline: 2px solid #0066cc;
  outline-offset: 2px;
  position: relative;
  z-index: 1;
}

div.geeks .course-list-cta-item.is-active {
  border-color: #0066cc;
  background: linear-gradient(to right, #f0f7ff 0%, #ffffff 70%);
  box-shadow: 0 4px 14px rgba(0, 102, 204, 0.12);
}

div.geeks .course-list-cta-thumb {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  border-radius: 12px;
  overflow: hidden;
  background: #f3f4f6;
}

div.geeks .course-list-cta-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

div.geeks .course-list-cta-item-body {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
  flex: 1;
}

div.geeks .course-list-cta-item-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

div.geeks .course-list-cta-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

div.geeks .course-list-cta-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.72rem;
  color: #4b5563;
  background: #f3f4f6;
  border-radius: 999px;
  padding: 0.2rem 0.55rem;
  white-space: nowrap;
}

div.geeks .course-list-cta-badge-label {
  font-weight: 600;
  color: #0066cc;
}

div.geeks .course-list-cta-col-cta {
  align-self: stretch;
  /* Keep the sticky stack at natural height (Bootstrap .d-flex would otherwise stretch it) */
  align-items: flex-start;
  flex-direction: column;
}

/* Zero-height marker just above the sticky stack — used to detect pin */
div.geeks .course-list-cta-pin-sentinel {
  width: 100%;
  height: 1px;
  margin: 0;
  padding: 0;
  pointer-events: none;
  visibility: hidden;
}

div.geeks .course-list-cta-sticky {
  display: flex;
  flex-direction: column;
  width: 100%;
  /* CTA (+ optional heading clone) stays in view while the list scrolls */
  position: sticky;
  top: 1rem;
}

div.geeks .course-list-cta-sticky-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-0.5rem);
  pointer-events: none;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    transform 0.3s ease,
    max-height 0.3s ease,
    margin-bottom 0.3s ease,
    visibility 0s linear 0.3s;
}

div.geeks .course-list-cta-sticky.is-pinned .course-list-cta-sticky-heading {
  margin-bottom: 1rem;
  max-height: 14rem;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
  transition:
    opacity 0.3s ease,
    transform 0.3s ease,
    max-height 0.3s ease,
    margin-bottom 0.3s ease,
    visibility 0s linear 0s;
}

@media (prefers-reduced-motion: reduce) {
  div.geeks .course-list-cta-sticky-heading,
  div.geeks .course-list-cta-sticky.is-pinned .course-list-cta-sticky-heading {
    transition: none;
    transform: none;
  }
}

/* Same typography as header h2 (#mainContentContainer div.geeks h2); margin only */
div.geeks .course-list-cta-sticky-heading-title {
  margin: 0 0 0.5rem;
}

div.geeks .course-list-cta-panel {
  display: flex;
  width: 100%;
}

div.geeks .course-list-cta-card-wrap {
  display: flex;
  width: 100%;
}

div.geeks .course-list-cta-card-wrap[hidden] {
  display: none !important;
}

div.geeks .course-list-cta-card {
  display: flex;
  flex-direction: column;
  width: 100%;
}

div.geeks .course-list-cta-card .card-img-container {
  flex: 0 0 auto;
  height: 180px;
}

div.geeks .course-list-cta-card .card-body {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
}

div.geeks .course-list-cta-card:hover {
  transform: none;
}

div.geeks .course-list-cta-card .course-list-cta-meta {
  margin: 0.5rem 0 0.75rem;
}

div.geeks .course-list-cta-card-desc-wrap {
  margin-bottom: 1rem;
}

div.geeks .course-list-cta-card-desc {
  font-size: 0.9rem;
  color: #4b5563;
  line-height: 1.5;
  margin-bottom: 0;
}

div.geeks .course-list-cta-card .card-body .button {
  margin-top: auto;
}

/* Mobile: the selector list is hidden and every course renders as its large card */
@media (max-width: 991.98px) {
  /* !important needed to beat Bootstrap's .d-flex on the column */
  div.geeks .course-list-cta-col-list {
    display: none !important;
  }

  div.geeks .course-list-cta-sticky {
    position: static;
  }

  div.geeks .course-list-cta-sticky.is-pinned .course-list-cta-sticky-heading,
  div.geeks .course-list-cta-sticky-heading {
    display: none !important;
  }

  div.geeks .course-list-cta-panel {
    min-height: 0;
    flex-direction: column;
    gap: 1.25rem;
  }

  div.geeks .course-list-cta-card-wrap {
    min-height: 0;
  }

  div.geeks .course-list-cta-card-wrap[hidden] {
    display: flex !important;
  }

  div.geeks .course-list-cta-card .card-img-container {
    flex: 0 0 auto;
    height: 180px;
  }
}

div.geeks .mini-stamp-white-container {
  padding-left: 0;
  max-width: 70%;
}

div.geeks .mini-stamp-white {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border-radius: 15px;
  margin-right: 10px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
}

div.geeks .course-date-text {
  margin-left: 6px;
  font-size: 0.8rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  display: inline-block;
}

div.geeks .shopping-cart-wrap {
  padding: 10px 0;
  position: relative;
  z-index: 1;
}

div.geeks .custom-border-top {
  position: relative;
  z-index: 1;
  border-top: 1px solid rgba(154, 205, 254, 0.5) !important;
}

div.geeks .card-enroll-blue:hover {
  transform: translateY(-4px);
  box-shadow: 0px 8px 15px rgba(154, 205, 254, 0.25);
  transition: all 0.3s ease;
}

div.geeks .card-enroll-blue:hover::before {
  opacity: 0.8;
  background: linear-gradient(to bottom, #9ACDFE 20%, transparent 100%);
}

div.geeks .bottom {
  margin-bottom: 70px;
}

/* HERO SECTION - .vector class refactored to specific hero classes */

div.geeks .vector-version-one {
  border-radius: 0 70px 70px 0;
  width: 591px;
  background-color: #eff5fe;
  background-image: url("https://storage.googleapis.com/mdc-website/geeks-cursos/hero-up.svg"),
    url("https://storage.googleapis.com/mdc-website/4geeks-cursos/cubo.svg"),
    url("https://storage.googleapis.com/mdc-website/geeks-cursos/hero-d.svg");
  background-size: auto, 34% 139px;
  background-position: top, bottom, bottom;
  background-repeat: no-repeat, repeat, no-repeat;
}

/* .vector.one_image refactored to .hero-one-image */

div.geeks .bg-navbar-summer {
  height: 220px;
  background-image: url("https://storage.googleapis.com/mdc-website/summercamps/navbar-sumer-sm.svg");
  background-position-x: center;
  z-index: 100;
}

div.geeks .custom-container {
  padding: 50px 20px;
}

div.geeks .mobile-background {
  background: radial-gradient(58.79% 56.57% at 52.89% 87.14%, rgba(154, 205, 254, 0.90) 5%, rgba(200, 227, 252, 0.00) 65%);
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* CERTIFICATE ENROLLMENT */
div.geeks .certificate-card-body {
  position: relative;
  border-radius: 20px;
  padding: 24px 20px;
  background: linear-gradient(to bottom, #b7dcff4f -20%, rgb(255 255 255) 100%);
  box-shadow: 0px 2px 2px 0px rgb(229 231 235);
}

div.geeks .certificate-card-body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 20px;
  padding: 1px;
  background: linear-gradient(to bottom, #8ac6ff 0%, transparent 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}


div.geeks .certificate-description {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--mdc-color-gray);
  margin-bottom: 12px;
}

div.geeks .certificate-notice {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--mdc-color-gray);
  margin-bottom: 20px;
}

div.geeks .certificate-badge-scholarship {
  background-color: #27bf6c;
  color: #FFFFFF;
  padding: 4px 16px;
  border-radius: 20px;
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 600;
  margin-bottom: 16px;
}

div.geeks .certificate-price {
  text-align: center;
  padding: 10px 0;
}

div.geeks .certificate-price .price-amount {
  font-size: 2.25rem;
  color: var(--mdc-color-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}


div.geeks .certificate-info {
  border-radius: 8px;
  padding: 16px;
}

div.geeks .certificate-info p {
  font-size: 0.8125rem;
  line-height: 1.8;
  color: var(--mdc-color-gray);
  margin-bottom: 8px;
}

div.geeks .certificate-info p:last-child {
  margin-bottom: 0;
}


div.geeks .certificate-courses-container {
  position: relative;
  border-radius: 20px;
  background: linear-gradient(to bottom, #b7dcff4f -20%, rgb(255 255 255) 100%);
  box-shadow: 0px 2px 2px 0px rgb(229 231 235);
}

div.geeks .certificate-courses-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 20px;
  padding: 1px;
  background: linear-gradient(to bottom, #8ac6ff 0%, transparent 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}

div.geeks .certificate-accordion-card {
    border-radius: 15px !important;
    border: 1px solid #E5E7EB;
    background: #FFF;
    box-shadow: 0 2px 2px 0 rgb(229 231 235 / 86%);
}

div.geeks .certificate-accordion-card:focus-within {
    outline: 2px solid #347ebb;
    outline-offset: 2px;
}

div.geeks .certificate-accordion-card .btn:focus {
    outline: none;
    box-shadow: none;
}

div.geeks .certificate-accordion-card .btn:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 0px;
}

div.geeks .certificate-accordion-card .btn:focus:not(:focus-visible) {
    outline: none;
}

/* Botón de acordeón fusionado (texto + ícono) */
div.geeks .certificate-accordion-button-full {
    background: transparent;
    border: none;
}

div.geeks .certificate-accordion-button-full:hover {
    background: transparent;
}

div.geeks .certificate-accordion-header h2 {
  margin: 0;
}

div.geeks .certificate-accordion-button {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  padding: 0;
  font-size: 1.125rem;
  font-weight: 600;
  background: transparent;
  border: none;
  text-align: left;
}


div.geeks .certificate-accordion-button i {
  font-size: 0.875rem;
  transition: transform 0.3s ease;
}

div.geeks .certificate-accordion-button[aria-expanded="true"] i {
  transform: rotate(180deg);
}

div.geeks .certificate-courses-count {
   font-size: 0.8125rem !important;
   background-color: #f0f0f0;
   border-radius: 15px;
}

div.geeks .certificate-accordion-header-simple {
  background-color: white;
  padding: 16px 20px;
  border-bottom: 1px solid #E5E7EB;
}



div.geeks .certificate-accordion-header {
  background-color: white !important;
}

div.geeks .certificate-courses-list li a {
  border-bottom: 1px solid #347ebb;
    color: #004085 !important;
    font-weight: 600;
  display: block;
}

div.geeks .certificate-courses-list li a:focus,
div.geeks .certificate-courses-list li a:focus-visible {
  outline: none;
}

div.geeks .certificate-courses-list li {
  padding: 6px 8px;
  margin-bottom: 4px;
  border-radius: 6px;
}

div.geeks .certificate-courses-list li:focus-within {
  outline: 2px solid #347ebb;
  outline-offset: 2px;
}


/* Media Queries para Certificate Enrollment */
@media (max-width: 991px) {
  div.geeks .certificate-title {
    font-size: 1.375rem;
  }

  div.geeks .certificate-price .price-amount {
    font-size: 2rem;
  }
}

@media (max-width: 767px) {
  div.geeks .certificate-card-body {
    padding: 20px 16px;
  }

  div.geeks .certificate-title {
    font-size: 1.25rem;
  }

  div.geeks .certificate-price .price-amount {
    font-size: 1.75rem;
  }

  div.geeks .certificate-accordion-button {
    font-size: 1rem;
  }

  div.geeks .certificate-courses-list {
    padding: 16px;
  }
}

/* Media Queries */
@media screen and (min-width: 900px) {
  div.geeks .three-images {
    width: auto;
    background-image: url("https://storage.googleapis.com/mdc-website/center-corporate-solutions/group.png") !important;
    background-position: right;
    background-repeat: no-repeat !important;
    background-size: contain;
  }

  div.geeks .nav-summer-bleed {
    width: 100%;
    bottom: -20px;
  }

  div.geeks .locations-summer {
    gap: 8px;
    max-width: 632px;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    height: 30px;
    padding: 21px 0;
    border-radius: 15px;
    border: 0.5px solid #9ACDFE;
    background: rgba(229, 231, 235, 0.35);
    box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.50);
    backdrop-filter: blur(2px);
  }

  div.geeks .custom-container {
    padding: 85px 0px;
  }
}

@media screen and (min-width: 768px) {
  div.geeks .simple-images-carousel-top-padding {
    padding-top: 200px;
  }

  div.geeks .mobile-background {
    background: none;
  }

  div.geeks .bottom {
    margin-bottom: 0;
  }

  /* .vector.one_image media query refactored to .hero-one-image */

  div.geeks .bg-navbar-summer {
    height: 165px;
    background-image: url("https://storage.googleapis.com/mdc-website/summercamps/navbar-sumer-xl.svg");
    background-position-x: center;
    background-size: cover;
  }

  div.geeks .bg-radial-yellow {
    background: radial-gradient(34.98% 400px at 51.75% 0%, rgb(255 212 0 / 20%) 0%, rgba(255, 212, 0, 0.00) 100%) !important;
    background-repeat: no-repeat;
  }

  div.geeks .bg-radial-blue {
    background: radial-gradient(34.98% 400px at 51.75% 0%, rgb(15 118 208 / 14%) 0%, rgba(15, 118, 208, 0.00) 100%) !important;
    background-repeat: no-repeat;
  }

  div.geeks .hero-custom-br {
    border-radius: 28px 0 0 28px;
  }


  div.geeks .tag-geeks-slider {
    border-radius: 15px;
    background: #25BF6C;
    color: white;
    width: 30%;
    padding: 0;
  }

  div.geeks .card-empty {
    width: 25%;
    height: 62px;
    border-radius: 15px;
    border: 1px solid #CFD3D4;
    background: transparent;
    color: #222;
    margin: 0;
  }

  div.geeks .success-cases-inner {
    height: 250px;
  }

  div.geeks .bleed {
    margin-bottom: -44px;
    margin-top: 90px;
  }

  div.geeks .hero_border_radius {
    border-radius: 30px;
  }

  div.geeks .background-linear-top-light-blue {
    background: linear-gradient(180deg, rgba(154, 205, 254, 0.20) 0%, rgba(154, 205, 254, 0.00) 100%);
  }

  div.geeks .background-linear-bottom-light-blue {
    background: linear-gradient(186deg, rgba(154, 205, 254, 0.00) 0%, rgba(154, 205, 254, 0.20) 100%)
  }

  div.geeks .background-linear-gray-blue {
    background: linear-gradient(111deg, #f4f5f8 60%, rgb(198, 226, 251));
  }

  div.geeks .background-soft-gray {
    background-color: #F3F6F8 !important;
  }

  div.geeks .background-soft-blue {
    background-color: rgb(209, 232, 252);
  }

  div.geeks .background-gray {
    background-color: #D7D7D7;
  }

  div.geeks .background-primary {
    background-color: var(--mdc-color-primary) !important;
  }

  div.geeks .background-linear-light {
    background: linear-gradient(180deg, #EFEFEF 0%, #FFF 100%);
  }

  div.geeks .background-ellipse-v2 {
    background: url("https://storage.googleapis.com/mdc-website/geeks-cursos/ellipse-v2.svg");
    background-size: 600px;
    background-repeat: no-repeat;
    background-position: -276px -225px;
  }

  /* background-radial media query moved to accordions.css */

  div.geeks .stamp-md-gray {
    width: 75%;
    padding: 8px 15px;
    border-radius: 15px;
    border: 1px solid #cfd3d4;
  }

  div.geeks .card-enroll-blue {
    /* border-radius: 21px; */
    border: none;
    position: relative;
    background: linear-gradient(126deg, #FFF 3.63%, rgb(155 206 255 / 42%) 111.66%);
    box-shadow: 0px 4px 4px 0px rgba(229, 231, 235, 0.45);
  }

  div.geeks .card-enroll-blue::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 20px 20px 0px 0px;
    padding: 1px;
    background: linear-gradient(to bottom, #9ACDFE 0%, transparent 100%);
    -webkit-mask:
      linear-gradient(#fff 0 0) content-box,
      linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
  }

  div.geeks .icon-container {
    border: 1px solid #80808038;
    background: white;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    padding: 5px;
  }

  div.geeks .stamp-blur {
    font-size: 1.125rem !important;
  }

  #mainContentContainer div.geeks h1 {
    font-size: 2.8125rem;
    font-weight: 400;
    line-height: 2.8125rem;
  }

  #mainContentContainer div.geeks h2 {
    font-size: 2.1875rem;
    font-weight: 400;
    line-height: 2.1875rem;
  }

  div.geeks .background-rigth-svg {
    background: radial-gradient(90% 50% at 100% 50%,
        rgba(154, 205, 254, 0.9) 0%,
        rgba(200, 227, 252, 0) 100%);
    background-size: 200% 100%;
    background-repeat: no-repeat;
  }

  div.geeks .background-left-svg {
    background: radial-gradient(142% 54% at -13% 54%, rgba(154, 205, 254, 0.9) -17%, rgba(200, 227, 252, 0) 87%);
    background-size: 36% 88%;
    background-repeat: no-repeat;
  }

  /* .background-ellipse media query removed - unused CSS class (dead code) */

  div.geeks .background-mobile-figures {
    background: none;
  }

  div.geeks .slider-container {
    overflow: hidden;
    width: 29%;
    max-width: calc(100% - 200px);
    position: relative;
  }

  div.geeks .w-xs-responsive {
    width: 25%;
  }

  div.geeks .w-sm-responsive {
    width: 40%;
  }

  div.geeks .w-responsive {
    width: 50%;
  }

  div.geeks .w-l-responsive {
    width: 75%;
  }

  div.geeks .w-xl-responsive {
    width: 90%;
  }
}

@media (max-width: 991px) {
  div.geeks .prices-course-card-item {
    margin-bottom: 1.5rem;
  }
}

@media (max-width: 767.98px) {
  .desktop-only {
    display: none !important;
  }
}

@media (max-width: 767px) {

  div.geeks .course-tabs {
    flex-wrap: wrap;
    border-radius: 10px;
  }

  div.geeks .course-tab-btn {
    padding: 8px 15px;
    margin: 5px;
    font-size: 0.85rem;
  }
}

/* content-video styles MOVED TO videos.css */

/* Estilos para el mapa de campus */
div.geeks .campus-location-map-container {
  background-color: #fff;
  padding: 20px 0;
}

div.geeks .campus-location-map-container .section-title {
  text-align: center;
  margin-bottom: 30px;
}

div.geeks .campus-location-map-container .section-title h2 {
  font-size: 1.75rem;
  color: #333;
  margin-bottom: 10px;
}

div.geeks .campus-location-map-container .section-title hr {
  width: 80px;
  height: 3px;
  background-color: #3498db;
  margin: 0 auto;
  border: none;
}

div.geeks .campus-location-map-container .campus-container {
  border-radius: 20px;
  overflow: hidden;
  margin: 0 auto;
  max-width: 1000px;
}

div.geeks .campus-location-map-container .desktop-view {
  display: flex;
  align-items: stretch;
}

div.geeks .campus-location-map-container .mobile-view {
  display: none;
}

div.geeks .campus-location-map-container .locations-panel {
  align-self: center;
  border-radius: 20px;
  width: 60%;
  padding: 20px;
  background-color: #f8f9fa;
}

div.geeks .campus-location-map-container .map-panel {
  margin-left: 15px;
  align-self: stretch;
  width: 60%;
  display: flex;
}

div.geeks .campus-location-map-container .campus-item {
  padding: 7px 0;
  cursor: pointer;
  font-weight: 500;
  text-align: left;
  border-radius: 8px;
  outline: none;
}

div.geeks .campus-location-map-container .campus-item:focus-visible {
  outline: 3px solid #005dab !important;
  outline-offset: 2px;
  border-radius: 8px !important;
  box-shadow: 0 0 0 4px rgba(0, 93, 171, 0.15) !important;
}

div.geeks .campus-location-map-container .campus-item.active {
  font-weight: 700;
}

div.geeks .campus-location-map-container .campus-item.active:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

div.geeks .campus-location-map-container .campus-item.active:focus-visible .campus-details {
  outline: 3px solid #005dab !important;
  outline-offset: 2px;
  border-radius: 25px !important;
  box-shadow: 0 0 0 4px rgba(0, 93, 171, 0.15) !important;
}

div.geeks .campus-location-map-container .campus-item.active>.campus-title {
  display: none;
}

div.geeks .campus-location-map-container .campus-details {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  padding: 6px 6px 6px 15px;
  border-radius: 25px;
  border: 1px solid #E5E7EB;
  background: #FFF radial-gradient(58.68% 34.36% at 0% 49.06%, rgba(154, 205, 254, 0.45) 0%, rgba(154, 205, 254, 0.00) 100%);
  box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.50);
  backdrop-filter: blur(5px);
  text-align: left;
  font-size: 0.875rem;
  margin-top: 10px;
  font-weight: 400;
  display: flex;
  flex-direction: row;
  cursor: default;
}

div.geeks .campus-location-map-container .campus-details-info {
  flex: 1;
}

div.geeks .campus-details-info-container {
  font-family: "Plus Jakarta Sans";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.125rem;
}

div.geeks .mini-radial-background {
  border-radius: 15px;
  background: #FFF radial-gradient(58.68% 34.36% at 0% 49.06%, rgba(154, 205, 254, 0.45) 0%, rgba(154, 205, 254, 0.00) 100%);
  backdrop-filter: blur(5px);
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

div.geeks .campus-location-map-container .campus-details-image {
  max-width: 200px;
  border-radius: 25px;
  margin-left: 10px;
}

#mainContentContainer div.geeks .campus-location-map-container a.campus-address,
#mainContentContainer div.geeks .campus-location-map-container a.campus-email,
#mainContentContainer div.geeks .campus-location-map-container a.campus-phone {
  display: block;
  margin-bottom: 5px;
  text-decoration: underline !important;
}

div.geeks .campus-location-map-container .campus-address:hover,
div.geeks .campus-location-map-container .campus-email:hover,
div.geeks .campus-location-map-container .campus-phone:hover {
  color: #316fe4 !important;
}

div.geeks .campus-location-map-container .campus-address:focus:not(:focus-visible),
div.geeks .campus-location-map-container .campus-email:focus:not(:focus-visible),
div.geeks .campus-location-map-container .campus-phone:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

div.geeks .campus-location-map-container .campus-address:focus-visible,
div.geeks .campus-location-map-container .campus-email:focus-visible,
div.geeks .campus-location-map-container .campus-phone:focus-visible {
  outline: 3px solid #005eab;
  outline-offset: 2px;
  border-radius: 6px;
  color: #005eab !important;
}

div.geeks .campus-location-map-container .map-container {
  flex: 1 1 auto;
  height: auto;
  /* Keeps the map usable when very few campuses shrink the locations panel */
  min-height: 320px;
  width: 100%;
}

/* Absolute positioning lets the iframe fill a container whose height comes from flex stretch */
div.geeks .campus-location-map-container .map-iframe {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 20px;
  width: 100%;
  height: 100%;
  border: none;
}

div.geeks .campus-location-map-container .campus-more-info {
  display: inline-block;
  background-color: rgba(0, 94, 170, 0.10);
  color: #005EAA;
  padding: 4px 15px;
  font-size: 0.875rem;
  border-radius: 20px;
  text-decoration: none;
  border: 1px solid #005EAA;
  cursor: pointer;
  transition: all 0.3s ease;
}

div.geeks .campus-location-map-container .campus-more-info:hover {
  transform: scale(1.07);
  transition: all 0.3s ease;
}

div.geeks .campus-location-map-container .campus-image {
  width: 100%;
  object-fit: cover;
  border-radius: 25px;
  margin-bottom: 15px;
}

/* Estilos para móvil */
@media (max-width: 767px) {
  div.geeks .campus-location-map-container .desktop-view {
    display: none;
  }

  div.geeks .campus-location-map-container .mobile-view {
    display: block;
    padding: 0 15px;
  }

  div.geeks .campus-location-map-container .mobile-campus-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  div.geeks .campus-location-map-container .mobile-campus-item {
    padding: 6px 0;
    border-bottom: none;
    font-weight: 500;
    cursor: pointer;
    color: #555;
    border-radius: 8px;
    outline: none;
  }

  div.geeks .campus-location-map-container .mobile-campus-item:focus-visible {
    outline: 3px solid #005dab !important;
    outline-offset: 2px;
    border-radius: 8px !important;
    box-shadow: 0 0 0 4px rgba(0, 93, 171, 0.15) !important;
  }

  div.geeks .campus-location-map-container .mobile-campus-item.active:focus-visible {
    outline: none !important;
    box-shadow: none !important;
  }

  div.geeks .campus-location-map-container .mobile-campus-item.active:focus-visible .mobile-campus-details {
    outline: 3px solid #005dab !important;
    outline-offset: 2px;
    border-radius: 25px !important;
    box-shadow: 0 0 0 4px rgba(0, 93, 171, 0.15) !important;
  }

  div.geeks .campus-location-map-container .mobile-campus-item:last-child {
    border-bottom: none;
  }

  div.geeks .campus-location-map-container .mobile-campus-title {
    font-size: 1rem;
    margin: 0;
    padding: 0;
  }

  div.geeks .campus-location-map-container .mobile-campus-details {
    display: none;
    background-color: white;
    border-radius: 25px;
    padding: 15px;
    margin-top: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  }

  div.geeks .campus-location-map-container .mobile-campus-name {
    color: black;
    font-weight: 700;
    font-size: 1.125rem;
    margin-bottom: 10px;
  }

  div.geeks .campus-location-map-container .mobile-campus-item.active .mobile-campus-title {
    display: none;
  }

  div.geeks .campus-location-map-container .mobile-campus-item.active .mobile-campus-details {
    display: block;
  }
}


/* Estilos para el spinner de carga */
div.geeks .map-loading-spinner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  border-radius: 20px;
}

div.geeks .map-container {
  position: relative;
  width: 100%;
  height: 100%;
}

div.geeks .map-iframe {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 20px;
  position: relative;
  z-index: 5;
}

div.geeks .blue-dots::marker {
  color: var(--mdc-color-primary);
}

div.geeks li.dashed-gray {
  border-bottom: 0.5px dashed #999;
}

div.geeks .bleed {
  margin-bottom: -68px !important;
}

/* left_video_bicolor Component - MOVED TO videos.css */

/* Styles for shifts-schedules component */
div.geeks .age-filters-container {
  border-radius: 20px;
  border: 0.5px solid #9ACDFE;
  background: rgba(229, 231, 235, 0.35);
  box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.50);
  backdrop-filter: blur(2px);
  padding: 5px;
}

div.geeks .age-filter {
  border-radius: 16px;
  padding: 4px 16px;
  color: #005EAA;
  border: none;
  transition: all 0.3s ease;
  font-size: 0.875rem;
}

div.geeks .age-filters-row {
  margin-left: -4px;
  margin-right: -4px;
}

div.geeks .age-filters-row .filter-item {
  padding-left: 4px;
  padding-right: 4px;
}

div.geeks .age-filter.active {
  background: #9ACDFE;
  color: #005EAA;
  box-shadow: 0px 2px 2px 0px rgba(154, 205, 254, 0.20);
}


div.geeks .age-filter:hover {
  transform: translateY(-2px);
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

div.geeks .schedule-heading {
  font-size: 1rem;
  color: #333;
  border-radius: 20px;
  border: 1px solid #E5E7EB;
  padding: 8px 15px;
  margin: 0 auto;
  display: inline-block;
}

div.geeks .bg-shift-am {
  background: linear-gradient(176deg, #FFF 32%, rgb(255 234 129 / 57%) 100%)
}

div.geeks .bg-shift-pm {
  background: linear-gradient(90deg, #FFF -24%, rgba(154, 205, 254, 0.50) 100%);
}

div.geeks .bg-shift-full {
  background: linear-gradient(40deg, #FFF -88.68%, rgba(255, 255, 255, 0.50) 13.38%, rgba(167, 92, 211, 0.30) 93.05%)
}

div.geeks .schedule-cards {
  /* height: 100%; */
  border-radius: 30px;
  border: 1px solid #E5E7EB;
  background: rgba(229, 231, 235, 0.35);
  padding: 40px 15px 0px;
  margin-top: 15px;
}

div.geeks .age-badge {
  display: inline-block;
  padding: 2px 13px;
  border-radius: 15px;
  background: #FFF;
  box-shadow: 0px 2px 2px 0px #E5E7EB inset;
  color: #005EAA;
  font-size: 0.8125rem;
  border: 1px solid #E5E7EB;
}

div.geeks .course-card-item {
  transition: all 0.3s ease;
}

div.geeks .course-card-item:hover {
  transform: translateY(-5px);
}

div.geeks .line-height-normal {
  line-height: normal !important;
}

div.geeks .show-more-btn {
  color: #005EAA;
  padding: 5px 25px;
  border: 0;
  border-radius: 20px;
  background: #FFFFFF;
  box-shadow: 0px 4px 6px 0px rgba(146, 146, 146, 0.25);
}

div.geeks .show-less-btn {
  color: #005EAA;
  padding: 5px 25px;
  border: 0;
  border-radius: 20px;
  background: #FFFFFF;
  box-shadow: 0px 4px 6px 0px rgba(146, 146, 146, 0.25);
}

/* Base skeleton class with animation */
div.skeletons .ssc {
  position: relative;
  background-color: #e2e2e2;
  overflow: hidden;
}

div.skeletons .ssc::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg,
      rgba(255, 255, 255, 0) 0,
      rgba(255, 255, 255, 0.2) 20%,
      rgba(255, 255, 255, 0.5) 60%,
      rgba(255, 255, 255, 0));
  animation: shimmer 2s infinite;
}

@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}

/* Circle (like avatar) */
div.skeletons .ssc-circle {
  height: 50px;
  width: 50px;
  border-radius: 50%;
  background-color: #e2e2e2;
  display: inline-block;
  position: relative;
  overflow: hidden;
}

div.skeletons .ssc-circle::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg,
      rgba(255, 255, 255, 0) 0,
      rgba(255, 255, 255, 0.2) 20%,
      rgba(255, 255, 255, 0.5) 60%,
      rgba(255, 255, 255, 0));
  animation: shimmer 2s infinite;
}

/* Headline */
div.skeletons .ssc-head-line {
  height: 24px;
  margin: 10px 0;
  width: 70%;
  border-radius: 2px;
  background-color: #e2e2e2;
  position: relative;
  overflow: hidden;
}

div.skeletons .ssc-head-line::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg,
      rgba(255, 255, 255, 0) 0,
      rgba(255, 255, 255, 0.2) 20%,
      rgba(255, 255, 255, 0.5) 60%,
      rgba(255, 255, 255, 0));
  animation: shimmer 2s infinite;
}

/* Line */
div.skeletons .ssc-line {
  height: 12px;
  margin: 10px 0;
  width: 100%;
  border-radius: 2px;
  background-color: #e2e2e2;
  position: relative;
  overflow: hidden;
}

div.skeletons .ssc-line::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg,
      rgba(255, 255, 255, 0) 0,
      rgba(255, 255, 255, 0.2) 20%,
      rgba(255, 255, 255, 0.5) 60%,
      rgba(255, 255, 255, 0));
  animation: shimmer 2s infinite;
}

/* Square Box */
div.skeletons .ssc-square {
  height: 100px;
  width: 100px;
  background-color: #e2e2e2;
  position: relative;
  overflow: hidden;
}

div.skeletons .ssc-square::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg,
      rgba(255, 255, 255, 0) 0,
      rgba(255, 255, 255, 0.2) 20%,
      rgba(255, 255, 255, 0.5) 60%,
      rgba(255, 255, 255, 0));
  animation: shimmer 2s infinite;
}

/* Divider (hr) */
div.skeletons .ssc-hr {
  height: 1px;
  margin: 10px 0;
  background-color: #e2e2e2;
  position: relative;
  overflow: hidden;
}

div.skeletons .ssc-hr::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg,
      rgba(255, 255, 255, 0) 0,
      rgba(255, 255, 255, 0.2) 20%,
      rgba(255, 255, 255, 0.5) 60%,
      rgba(255, 255, 255, 0));
  animation: shimmer 2s infinite;
}

/* Card */
div.skeletons .ssc-card {
  border-radius: 5px;
  background-color: #fff;
  padding: 15px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 15px;
}

/* Width variations */
div.skeletons .w-25 {
  width: 25% !important;
}

div.skeletons .w-50 {
  width: 50% !important;
}

div.skeletons .w-75 {
  width: 75% !important;
}

div.skeletons .w-100 {
  width: 100% !important;
}

/* Height variations */
div.skeletons .h-100 {
  height: 100px !important;
}

div.skeletons .h-150 {
  height: 150px !important;
}

div.skeletons .h-200 {
  height: 200px !important;
}

div.skeletons .h-250 {
  height: 250px !important;
}

/* Simple Images Carousel Styles */
div.geeks .simple-images-carousel-background {
  background: rgba(154, 205, 254, 0.10);
}

div.geeks .simple-images-carousel-top-padding {
  padding-top: 125px;
}

div.geeks .simple-images-carousel-container {
  width: 100%;
  position: relative;
  overflow: hidden;
}

div.geeks .simple-images-carousel-fade-left,
div.geeks .simple-images-carousel-fade-right {
  position: absolute;
  top: 0;
  width: 150px;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}

div.geeks .simple-images-carousel-fade-left {
  left: 0;
  background: linear-gradient(to right,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 0.9) 20%,
      rgba(255, 255, 255, 0) 100%);
}

div.geeks .simple-images-carousel-fade-right {
  right: 0;
  background: linear-gradient(to left,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 0.9) 20%,
      rgba(255, 255, 255, 0) 100%);
}

div.geeks .simple-images-carousel-track {
  display: flex;
  animation: simple-images-scroll 40s linear infinite;
}


div.geeks .simple-images-carousel-track:hover {
  animation-play-state: paused;
}

div.geeks .simple-images-carousel-item {
  flex: 0 0 280px;
  width: 280px;
  padding: 10px 10px;
  border-radius: 25px;
  border: 1px solid #E5E7EB;
  background: #FFF;
  backdrop-filter: blur(5px);
}

div.geeks .slider-nav-inline {
  display: inline-flex;
  align-items: start;
}

div.geeks .custom-carousel-btn {
  position: static;
  width: 40px;
  height: 40px;
  margin-left: 4px;
  margin-right: 0;
  box-shadow: none;
}

div.geeks .carousel-btn-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f6fa;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

div.geeks .custom-carousel-btn .fas,
div.geeks #horizontal_cards_carousel .custom-carousel-btn .fas {
  color: var(--mdc-color-gray, #666);
  font-size: 1.125rem;
  transition: color 0.15s ease;
}

div.geeks .custom-carousel-btn:hover .fas,
div.geeks #horizontal_cards_carousel .custom-carousel-btn:hover .fas {
  color: var(--mdc-color-gray, #666);
}

div.geeks .custom-carousel-btn:hover .carousel-btn-circle,
div.geeks #horizontal_cards_carousel .custom-carousel-btn:hover .carousel-btn-circle {
  background: #fff;
}

div.geeks .custom-carousel-btn:focus {
  outline: none;
}

div.geeks .custom-carousel-btn:focus:not(:focus-visible) .carousel-btn-circle {
  outline: none;
}

div.geeks .custom-carousel-btn:focus-visible .carousel-btn-circle,
div.geeks #horizontal_cards_carousel .custom-carousel-btn:focus-visible .carousel-btn-circle {
  outline: 2px solid #005eab;
  outline-offset: 2px;
}

div.geeks .custom-carousel-btn:focus-visible .fas,
div.geeks #horizontal_cards_carousel .custom-carousel-btn:focus-visible .fas {
  color: #005eab;
}

div.geeks {
  position: relative;
}

div.geeks .blue-dots-indicators li.active {
  background-color: #A9C7F2 !important;
  border: 1px solid #0963E3 !important;
  position: relative;
}

div.geeks .blue-dots-indicators li {
  background-color: #A9C7F2 !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  margin: 0 5px !important;
  border: none !important;
}

div.geeks .blue-dots-indicators li.active::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #0963E3;
}

div.geeks .simple-images-carousel-card {
  position: relative;
  width: 100%;
}

div.geeks .simple-images-carousel-card img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

div.geeks .simple-images-carousel-card-title {
  margin-top: 12px;
  text-align: center;
}

/* Keyframes for marquee component */
@keyframes marquee-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Keyframes for simple images carousel */
@keyframes simple-images-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(calc(-280px * var(--carousel-items)));
  }
}

/* Keyframes for box carousel */
@keyframes box-carousel-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(calc(-211px * var(--carousel-items)));
  }
}

div.geeks .summercamp-actions .actions {
  position: fixed;
  top: 90vh;
  left: 0;
  background: linear-gradient(to bottom, transparent 0%, #c5dff9 50%);
  z-index: 1000;
}

/* Estilos dinámicos para el modal */
div.geeks #fullDayRegisterModal .modal-content {
  border-width: 4px;
  border-style: solid;
}

div.geeks #fullDayRegisterModal .modal-content.bg-dark {
  background-color: #343a40 !important;
}

div.geeks #fullDayRegisterModal .modal-content.border-am {
  border-color: #f7edb1;
}

div.geeks #fullDayRegisterModal .modal-content.border-pm {
  border-color: #aed3f8;
}

div.geeks #fullDayRegisterModal .modal-content.border-full {
  border-color: #eac6ff;
}

div.geeks #fullDayRegisterModal .close {
  color: white;
  opacity: 0.75;
}

div.geeks #fullDayRegisterModal .close:hover {
  opacity: 1;
  color: white;
}

div.geeks #fullDayRegisterModal .modal-footer {
  flex-wrap: wrap;
  gap: 0.5rem;
}

div.geeks #fullDayRegisterModal #fullDayRegisterModalConfirm {
  white-space: normal;
  text-align: center;
  max-width: 100%;
}

/* Shared kids/teens student-details notice modal (price_cards_section) */
div.geeks .student-details-notice-modal .modal-content.bg-dark {
  background-color: #343a40 !important;
}

div.geeks .student-details-notice-modal .close {
  color: white;
  opacity: 0.75;
}

div.geeks .student-details-notice-modal .close:hover {
  opacity: 1;
  color: white;
}

div.geeks .student-details-notice-modal .modal-footer {
  flex-wrap: wrap;
  gap: 0.5rem;
}

div.geeks .student-details-notice-modal .modal-footer .btn-light {
  white-space: normal;
  text-align: center;
  max-width: 100%;
}


/* Box Carousel Styles */
div.geeks .box-carousel-container {
    overflow: hidden;
    position: relative;
}


/* Mobile specific adjustments for success carousel */
@media (max-width: 767px) {
  div.geeks .success-card-content {
    min-height: 200px;
    padding: 0.75rem !important;
  }
}

div.geeks .box-carousel-track {
    display: flex;
    animation: box-carousel-scroll 40s linear infinite;
    height: 145px;
}

div.geeks .box-carousel-item {
    /* border: 1px solid #E5E7EB; */
    width: 191px;
    height: 145px;
    flex-shrink: 0;
}

div.geeks .box-carousel-card {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
}

div.geeks .box-carousel-card img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

div.geeks .box-carousel-fade-left,
div.geeks .box-carousel-fade-right {
    display: none; /* Hidden by default, shown on desktop via HTML structure */
}
/* Desfase para el segundo carrusel en móvil */
@media (max-width: 767.98px) {
    div.geeks .box-carousel-container:nth-child(2) .box-carousel-track {
        animation-delay: -10s;
    }
}

/* Success Carousel Styles */
div.geeks .success-card-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

div.geeks .success-profile-img {
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 15px rgba(0, 157, 255, 0.8);
}

div.geeks .success-profile-img-mobile {
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 10px rgba(0, 157, 255, 0.8);
}

div.geeks .success-company-logo {
  max-height: 40px;
  max-width: 120px;
  object-fit: contain;
}

div.geeks .success-company-logo-mobile {
  max-height: 30px;
  max-width: 80px;
  object-fit: contain;
}

div.geeks .success-linkedin-overlay {
  position: absolute;
  bottom: -2px;
  left: -2px;
  background-color: #0366C7;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

div.geeks .success-linkedin-overlay-mobile {
  position: absolute;
  bottom: -2px;
  left: -2px;
  background-color: #0366C7;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

div.geeks .success-linkedin-icon {
  object-fit: contain;
}

div.geeks .success-linkedin-icon-mobile {
  object-fit: contain;
}

/* Profile positioning with bleed effect */
div.geeks .success-profile-absolute {
  position: absolute;
  bottom: -30px;
  right: -9px;
  z-index: 20;
}

div.geeks .success-profile-absolute-mobile {
  position: absolute;
  bottom: -22px;
  right: -9px;
  z-index: 20;
}


/* VIDEOS COMPONENT CSS - Refactored with specific classes */

/* right_video Component */
div.geeks div.video-right {
  margin-top: -20px;
  padding: 25px;
  border-radius: 30px;
  background: linear-gradient(69deg, #005eaa 44.86%, #9acdfe 108.44%);
}

/* left_video Component */
div.geeks div.video-left {
  margin-top: -20px;
  padding: 25px;
  border-radius: 30px;
  background: linear-gradient(69deg, #005eaa 44.86%, #9acdfe 108.44%);
}

div.geeks div.content-video {
  /* height: 355px; */
  display: flex;
  z-index: 1000;
  position: relative;
}

div.geeks .content-video.right {
  justify-content: flex-end;
  margin-left: -63px;
}

div.geeks .content-video.left {
  justify-content: flex-start;
  margin-right: -63px;
}

div.geeks iframe.youtube_embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  border-radius: 15px !important;
  object-fit: cover !important;
}

div.geeks .video-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  /* Relación de aspecto 16:9 */
  overflow: hidden;
  border-radius: 15px;
}

/* Estilo para la imagen que actúa como botón de reproducción */
div.geeks #play-image {
  width: inherit;
  max-width: 518px;
  cursor: pointer;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

div.geeks #play-image:hover {
  transform: scale(1.02);
  opacity: 0.9;
}

/* ADA Compliance - Keyboard focus for video images */
div.geeks #play-image:focus-visible {
  outline: 3px solid #005dab !important;
  outline-offset: 4px;
  border-radius: 15px !important;
  box-shadow: 0 0 0 4px rgba(0, 93, 171, 0.15) !important;
}

/* left_video_yellow_gradient Component */
div.geeks div.video_gradient {
  margin-top: -20px;
  padding: 25px;
  border-radius: 30px;
  background: linear-gradient(90deg, rgb(255 212 0 / 19%) -10%, rgba(154, 205, 254, 0.8) 110%);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* left_video_bicolor Component */
div.geeks .bicolor-one {
  background: linear-gradient(358deg, #9ACDFE -79.19%, rgba(255, 255, 255, 0.10) 160.61%);
  border-radius: 25px 25px 0px 0px
}

div.geeks .bicolor-two {
  background-color: #E8E8E8;
  border-radius: 0px 0px 25px 25px
}

div.geeks .bicolor-responsive {
  padding: 35px 25px;
}

/* Media Queries */
@media screen and (min-width: 768px) {
  div.geeks div.video-right {
    padding: 25px 65px;
    border-radius: 30px;
    background: linear-gradient(69deg, #005eaa 44.86%, #9acdfe 108.44%);
  }

  div.geeks div.video-left {
    padding: 25px 65px;
    border-radius: 30px;
    background: linear-gradient(69deg, #005eaa 44.86%, #9acdfe 108.44%);
  }

    div.geeks div.video-certificate {
    padding: 25px 65px;
    border-radius: 30px;
    background: var(--Blue-Gradient-3, linear-gradient(90deg, rgba(154, 205, 254, 0.30) 0%, rgba(200, 227, 252, 0.20) 100%));
  }

  div.geeks div.content-video,
  div.geeks .order-md-2.content-video,
  div.geeks .order-md-1.content-video {
    height: auto;
  }

  div.geeks div.video_gradient {
    padding: 25px 80px;
    border-radius: 30px;
    background: linear-gradient(90deg, rgb(255 212 0 / 19%) -10%, rgba(154, 205, 254, 0.8) 110%);
    margin: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  div.geeks .bicolor-responsive {
    padding: 10px 75px;
  }
}

/* Video responsive styles - Reset margins on mobile */
@media (max-width: 767px) {
  div.geeks div.content-video,
  div.geeks .order-md-2.content-video,
  div.geeks .order-md-1.content-video {
    margin-left: 0;
    margin-right: 0;
  }

  div.geeks iframe.youtube_embed,
  div.geeks .video-container {
    border-radius: 10px !important;
  }
}

@media screen and (min-width: 900px) {
  div.geeks div.video-right {
    padding: 25px 66px 28px 55px !important;
    border-radius: 30px;
    background: linear-gradient(69deg, #005eaa 44.86%, #9acdfe 108.44%);
  }

  div.geeks div.video-left {
    padding: 23px 37px 31px 84px !important;
    border-radius: 30px;
    background: linear-gradient(69deg, #005eaa 44.86%, #9acdfe 108.44%);
  }
}

/* ===== ACCORDION COMPONENT STYLES ===== */
/* Refactored from mdcstyles9.1.2.css for better organization */

/* ===== ACCORDION CARDS ===== */
div.geeks div.card.syllabus-card {
  border-radius: 25px !important;
  border: 1px #e5e7eb solid !important;
  background: #fff !important;
  box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.25) !important;
}

/* accordion_static: inside disc bullets (Destiny Public View resets orphan li) */
div.geeks #accordion_static div.card.syllabus-card > ul.accordion-static-badge-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

div.geeks #accordion_static div.card.syllabus-card > ul.accordion-static-badge-list > li,
div.geeks #accordion_static div.card.syllabus-card > li {
  display: list-item;
  list-style-type: disc !important;
  list-style-position: inside;
  padding-left: 0;
  margin: 0;
}

/* ===== ACCORDION KEYBOARD FOCUS (ADA Compliance) ===== */
/* Suppress the default button outline — the card container handles the ring */
div.geeks div.card.syllabus-card button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Show a clean focus ring around the whole card when navigating by keyboard */
div.geeks div.card.syllabus-card:has(button:focus-visible) {
  outline: 3px solid #005dab !important;
  outline-offset: 2px;
  border-radius: 25px !important;
  box-shadow: 0 0 0 4px rgba(0, 93, 171, 0.15) !important;
}

/* ===== ACCORDION BACKGROUNDS ===== */
div.geeks .background-rectangular {
  background: white;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

div.geeks .background-radial {
  background: url("https://storage.googleapis.com/mdc-website/4geeks-cursos/circle.svg") no-repeat;
}

/* ===== ACCORDION COLLAPSE ICONS ===== */
div.geeks .wrap-collapse-icon,
div.geeks .wrap-collapse-enroll {
  position: relative;
  background-color: #e5eef6;
  padding: 0;
  border-radius: 16px;
  height: 22px;
  width: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #246ec7;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

div.geeks .wrap-collapse-icon i,
div.geeks .wrap-collapse-enroll i {
  font-size: 0.75rem !important;
  cursor: pointer;
}

/*
  accordion_plus_minus: Destiny's course HTML sanitizer strips empty <i class="fas">
  (the plus/minus glyph), so the wrapper stays at #e5eef6 with no mark.
  Draw the mark with pseudo-elements and drive open/closed from the sibling
  button's aria-expanded — works with already-deployed Destiny markup.
*/
div.geeks .parent_collapse > .wrap-collapse-icon,
div.geeks .course-directory-accordion__chev {
  position: relative;
}

div.geeks .parent_collapse > .wrap-collapse-icon:not(:has(> i)),
div.geeks .course-directory-accordion__chev {
  font-size: 0;
}

div.geeks .parent_collapse > .wrap-collapse-icon:not(:has(> i))::before,
div.geeks .parent_collapse > .wrap-collapse-icon:not(:has(> i))::after,
div.geeks .course-directory-accordion__chev::before,
div.geeks .course-directory-accordion__chev::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background-color: currentColor;
  border-radius: 1px;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

div.geeks .parent_collapse > .wrap-collapse-icon:not(:has(> i))::before,
div.geeks .course-directory-accordion__chev::before {
  width: 10px;
  height: 2px;
}

div.geeks .parent_collapse > .wrap-collapse-icon:not(:has(> i))::after,
div.geeks .course-directory-accordion__chev::after {
  width: 2px;
  height: 10px;
  transition: opacity 0.2s ease-in-out;
}

div.geeks .parent_collapse:has(> button[aria-expanded="true"]) > .wrap-collapse-icon,
div.geeks .parent_collapse > .wrap-collapse-icon.is-expanded,
div.geeks .course-directory-accordion__section[open] .course-directory-accordion__chev {
  background-color: #015eaa;
  color: #fff;
}

div.geeks .parent_collapse:has(> button[aria-expanded="true"]) > .wrap-collapse-icon:not(:has(> i))::after,
div.geeks .parent_collapse > .wrap-collapse-icon.is-expanded:not(:has(> i))::after,
div.geeks .course-directory-accordion__section[open] .course-directory-accordion__chev::after {
  opacity: 0;
}

/*
  price_cards_section More/Less: Destiny strips empty <i class="fas enroll_icon">
  from the enroll card template (often the only surviving card when a course has
  one cohort), so the pill stays at #e5eef6 with no chevron and no motion.
  Draw a caret on the wrapper and drive open/closed from aria-expanded.
*/
div.geeks .toggle-collapse-text .wrap-collapse-enroll:not(:has(> i)) {
  font-size: 0;
}

div.geeks .toggle-collapse-text .wrap-collapse-enroll:not(:has(> i))::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 46%;
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
  pointer-events: none;
  transition: transform 0.3s ease-in-out, top 0.3s ease-in-out;
}

div.geeks .btn[aria-expanded="true"] .wrap-collapse-enroll:not(:has(> i))::before,
div.geeks .toggle-collapse-text .wrap-collapse-enroll.is-expanded:not(:has(> i))::before {
  top: 54%;
  transform: translate(-50%, -50%) rotate(225deg);
}

/* ===== ACCORDION EXPANDED STATES ===== */
div.geeks .syllabus_wrap[aria-expanded="true"] .wrap-collapse-icon,
div.geeks .btn[aria-expanded="true"] .wrap-collapse-enroll {
  background-color: #246ec7;
  color: #fff;
}

div.geeks .syllabus_wrap[aria-expanded="true"] .fa-arrow-right {
  color: white !important
}

div.geeks .syllabus_wrap[aria-expanded="false"] .wrap-collapse-icon,
div.geeks .btn[aria-expanded="false"] .wrap-collapse-enroll {
  background-color: #e5eef6;
}

div.geeks .syllabus_wrap[aria-expanded="true"] i.syllabus_icon::before {
  color: white !important;
}

div.geeks .syllabus_wrap[aria-expanded="false"] i.syllabus_icon::before {
  color: #246ec7;
}

/* ===== ACCORDION RESPONSIVE STYLES ===== */
@media screen and (min-width: 768px) {
  div.geeks .background-radial {
    background: url("https://storage.googleapis.com/mdc-website/4geeks-cursos/circle.svg");
    background-repeat: no-repeat;
  }

  div.geeks .background-rectangular {
    background: linear-gradient(to bottom, rgb(194 224 251 / 55%) -100%, rgba(200, 227, 252, 0) 100%);
    background-size: 100% 100%;
    background-repeat: no-repeat;
  }
}

/* ===== COURSE FINDER COMPONENT STYLES ===== */
/* Refactored from duplicated classes for better organization */

/* ===== COURSE FINDER TAB (PILL) ===== */
div.geeks .finder-simple-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  border-radius: 12px;
  border: 6px solid color-mix(in srgb, var(--mdc-light-blue) 40%, transparent);
  background: #ffffff;
  gap: 8px;
  padding: 10px 20px;
  background: #FFF;
  backdrop-filter: blur(5px);
  font-family: "Open Sans", sans-serif;
  color: #374151;
  font-size: 0.875rem;
  font-weight: 500;
  box-shadow: 0 0 0px var(--mdc-light-blue);
}
div.geeks .finder-simple-tab-icon {
  width: 1.25rem;
  height: 1.25rem;
  object-fit: contain;
}
div.geeks .finder-simple-tab span {
  font-size: 1.1rem;   /* o el tamaño que quieras, ej: 1.125rem, 1.25rem */
  font-weight: 400;
}
div.geeks .finder-simple-tab .finder-simple-tab-icon.fas {
  font-size: 1rem;
  color: #005eaa;
}

/* ===== COURSE FINDER CONTAINERS ===== */
div.geeks .finder-simple-container,
div.geeks .finder-dynamic-container {
  border-radius: 25px;
  background: #fff;
}

/* ===== COURSE FINDER LIST SPACING ===== */
div.geeks .finder-simple-container .list-group,
div.geeks .finder-dynamic-container .list-group {
  padding-top: 0.5rem;
}

/* ===== COURSE FINDER ITEMS ===== */
div.geeks .finder-simple-item,
div.geeks .finder-dynamic-item {
  border-radius: 25px;
  border: 1px solid #e5e7eb;
  background: #fff;
  box-shadow: 0px 2px 2px 0px rgba(229, 231, 235, 0.25);
}

/* Finder menu links - blue link color and underline */
div.geeks .finder-simple-item a.txt-dark,
div.geeks .finder-dynamic-item a.txt-dark {
  color: #005eaa !important;
  text-decoration: underline;
}
div.geeks .finder-simple-item a.txt-dark:hover,
div.geeks .finder-dynamic-item a.txt-dark:hover {
  color: #004080 !important;
}

div.geeks .finder-simple-item:hover,
div.geeks .finder-dynamic-item:hover {
  border: 1px solid #005eaa;
  background: rgba(0, 94, 170, 0.1);
  cursor: pointer;
}

div.geeks .finder-simple-item:focus-within,
div.geeks .finder-dynamic-item:focus-within {
  border: 1px solid #005eaa;
  background: rgba(0, 94, 170, 0.1);
  outline: 2px solid #005eaa;
  outline-offset: 0;
}

div.geeks .finder-simple-item a.txt-dark:focus,
div.geeks .finder-dynamic-item a.txt-dark:focus,
div.geeks .finder-simple-item a.txt-dark:focus-visible,
div.geeks .finder-dynamic-item a.txt-dark:focus-visible {
  outline: none;
}

div.geeks .finder-simple-item:hover .finder-simple-arrow,
div.geeks .finder-dynamic-item:hover .finder-dynamic-arrow {
  border-radius: 25px;
  border: 0.5px solid #005eaa;
  background: #005eaa;
  backdrop-filter: blur(3px);
}

div.geeks .finder-simple-item:focus-within .finder-simple-arrow,
div.geeks .finder-dynamic-item:focus-within .finder-dynamic-arrow {
  border-radius: 25px;
  border: 0.5px solid #005eaa;
  background: #005eaa;
  backdrop-filter: blur(3px);
}

div.geeks .finder-simple-item:hover .finder-simple-arrow i.fas.fa-chevron-right,
div.geeks .finder-dynamic-item:hover .finder-dynamic-arrow i.fas.fa-chevron-right {
  color: white;
}

div.geeks .finder-simple-item:focus-within .finder-simple-arrow i.fas.fa-chevron-right,
div.geeks .finder-dynamic-item:focus-within .finder-dynamic-arrow i.fas.fa-chevron-right {
  color: white;
}

/* ===== COURSE FINDER ARROWS ===== */
div.geeks .finder-simple-arrow,
div.geeks .finder-dynamic-arrow {
  display: flex;
  text-align: center;
  width: 35px;
  height: 25px;
  border-radius: 20px;
  background: rgba(0, 94, 170, 0.1);
  backdrop-filter: blur(3px);
  justify-content: center;
  align-items: center;
}

div.geeks .finder-simple-arrow i.fas.fa-chevron-right,
div.geeks .finder-dynamic-arrow i.fas.fa-chevron-right {
  font-size: 0.75rem;
  line-height: 1;
}

/* ===== HERO COMPONENT STYLES ===== */
/* ===== HERO ONE IMAGE ===== */
div.geeks .hero-one-image {
  border-radius: 0;
  width: auto;
  background-image: url("https://storage.googleapis.com/mdc-website/cti/simple_rectangle.svg");
  background-size: auto;
  background-position: 16px 24px;
  background-repeat: no-repeat !important;
}

/* ===== HERO SYLLABUS MODAL ===== */
div.geeks .hero-syllabus-modal {
  border-radius: none;
  width: auto;
  background-color: none;
  background-image: url("https://storage.googleapis.com/mdc-website/adult-education/geo.svg") !important;
  background-size: 509px;
  background-position: right;
  background-repeat: no-repeat !important;
}

/* ===== HERO TWO IMAGES ===== */
div.geeks .hero-two-images {
  width: auto;
  background-size: contain;
  background-position: right;
  background-image: url("https://storage.googleapis.com/mdc-website/adult-education/geo.svg");
  background-repeat: no-repeat;
}

/* ===== HERO RESPONSIVE STYLES ===== */
@media screen and (min-width: 900px) {
  div.geeks .hero-one-image {
    border-radius: 0;
    width: auto;
    background-color: transparent;
    background-image: url("https://storage.googleapis.com/mdc-website/ged/one_bg.svg") !important;
    background-size: 509px;
    background-position: right;
    background-repeat: no-repeat !important;
    background-size: contain;
  }

  div.geeks .hero-syllabus-modal {
    border-radius: none;
    width: auto;
    background-color: none;
    background-image: url("https://storage.googleapis.com/mdc-website/adult-education/hero_two_images.svg");
    background-size: 36% 88%;
    background-repeat: no-repeat;
  }

  div.geeks .hero-two-images {
      width: auto;
      background-image: url("https://storage.googleapis.com/mdc-website/adult-education/hero_two_images.svg");
      background-position: right;
      background-size: contain;
      background-repeat: no-repeat;
  }
}

/* --------------------------------- */
/* Optional Certificate Badge Component */
/* --------------------------------- */
div.geeks .optional-certificate-badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 10px;
  background: #FFF;
  backdrop-filter: blur(5px);
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  transition: all 0.3s ease;
  white-space: nowrap;
  box-shadow: 0 0 0 5px rgba(104, 106, 210, 0.20);
}

div.geeks .optional-certificate-badge::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 10px;
  padding: 1px;
  background: linear-gradient(to right, rgba(104, 106, 210, 0.6) 0%, transparent 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}

div.geeks .optional-certificate-badge-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

div.geeks .optional-certificate-badge-icon img,
div.geeks .optional-certificate-badge-icon svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

div.geeks .optional-certificate-badge-text {
  position: relative;
  z-index: 1;
  line-height: 1.2;
}

div.geeks .optional-certificate-badge:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 0 5px rgba(104, 106, 210, 0.30), 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Size variants */
div.geeks .optional-certificate-badge.small {
  padding: 6px 14px;
  font-size: 0.875rem;
  gap: 6px;
}

div.geeks .optional-certificate-badge.small .optional-certificate-badge-icon {
  width: 18px;
  height: 18px;
}

div.geeks .optional-certificate-badge.large {
  padding: 14px 26px;
  font-size: 1.125rem;
  gap: 10px;
}

div.geeks .optional-certificate-badge.large .optional-certificate-badge-icon {
  width: 28px;
  height: 28px;
}

/* Color variants */
div.geeks .optional-certificate-badge.primary {
  box-shadow: 0 0 0 5px rgba(0, 93, 170, 0.20);
}

div.geeks .optional-certificate-badge.primary:hover {
  box-shadow: 0 0 0 5px rgba(0, 93, 170, 0.30), 0 4px 8px rgba(0, 0, 0, 0.1);
}

div.geeks .optional-certificate-badge.secondary {
  box-shadow: 0 0 0 5px rgba(104, 106, 210, 0.20);
}

div.geeks .optional-certificate-badge.secondary:hover {
  box-shadow: 0 0 0 5px rgba(104, 106, 210, 0.30), 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Responsive adjustments */
@media screen and (max-width: 767px) {
  div.geeks .optional-certificate-badge {
    padding: 8px 16px;
    font-size: 0.875rem;
    gap: 6px;
  }

  div.geeks .optional-certificate-badge-icon {
    width: 20px;
    height: 20px;
  }

  div.geeks .optional-certificate-badge.large {
    padding: 10px 20px;
    font-size: 1rem;
  }
}




div.geeks .gc-section {
  background: transparent; /* no radial yellow */
}

div.geeks .gc-section-small {
  background: transparent;
}

div.geeks .gc-section-small .gc-card-small::before {
  background: none;           /* quita el gradiente */
  border: 2px solid #e5e7eb;  /* gris */
  padding: 0;                 /* evita el efecto del pseudo */
}
div.geeks .gc-section-small .gc-cards-row {
  column-gap: 16px;  /* separación horizontal */
  row-gap: 16px;     /* separación vertical */
}

div.geeks .gc-card-item-small {
  margin-bottom: 0; /* el gap ya da la separación */
  max-width: 260px;
}

div.geeks .gc-section-small .gc-container {
  border-radius: 28px;
  padding: 32px 24px;
}

div.geeks .gc-header-small .geeks-hr {
  margin: 12px auto;
}

div.geeks .gc-heading-small {
  font-size: 1.75rem;
  line-height: 1.15;
}

div.geeks .gc-sub-small {
  max-width: 720px;
}

div.geeks .gc-card.gc-card-small {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  min-height: 72px;
  background: #ffffff;
  border: 1px solid var(--mdc-grey);
  box-shadow: 0 6px 18px rgba(14, 30, 37, 0.06);
}

div.geeks .gc-section-small .finder-simple-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 20px;
  background: #FFF;
  backdrop-filter: blur(5px);
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  transition: all 0.3s ease;
  white-space: nowrap;
  border: 2px solid rgba(104, 106, 210, 0.20);
  box-shadow: 0 0 0 5px rgba(104, 106, 210, 0.20);

}
div.geeks .gc-section-small .finder-simple-tab-icon {
  color: rgba(168, 104, 210, 1) !important;/* tu color */
}

div.geeks .gc-section-small .gc-container {
  background: linear-gradient(
    264deg, #eaf3ff 0%, #ffffff 70%)
}

div.geeks #course_cards_section_small {
  border: 2px solid var(--mdc-grey);
}

div.geeks .gc-thumb {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  border-radius: 12px;
  overflow: hidden;
  background: #f5f7fb;
  border: 2px solid var(--mdc-light-blue);
}

div.geeks .gc-img-small {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

div.geeks .gc-body-small {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

div.geeks .gc-title-small {
  font-size: 0.625rem;
  line-height: 1.2;
  font-weight: 600;
  color: #1f2a44;
}

div.geeks .gc-link-small {
  font-size: 0.625rem;
  color: #3b82f6;
  text-decoration: none;
}

div.geeks .gc-link-small:hover {
  text-decoration: underline;
}

div.geeks .gc-title-link-small {
  display: block;
  width: 100%;
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 300;
  color: #3b82f6;
  text-decoration: underline !important;
}

div.geeks .gc-title-link-small:hover,
div.geeks .gc-title-link-small:focus-visible {
  text-decoration: underline;
}

div.geeks .gc-title-link-small:focus,
div.geeks .gc-title-link-small:focus-visible {
  outline: none;
}

div.geeks .gc-card.gc-card-small:focus-within {
  outline: 3px solid var(--mdc-light-blue);
  outline-offset: 2px;
}


div.geeks .gc-card {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(14, 30, 37, 0.06);
  border: none; /* Remove default border */
  min-height: 360px;
  display: flex;
  flex-direction: column;
  position: relative; /* Needed for the ::before pseudo-element */
  background: linear-gradient(to top, #b7dcff94 -20%, rgb(255 255 255) 100%);
}

div.geeks .certificate-card {
  border-radius: 25px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(14, 30, 37, 0.06);
  border: 1px solid #E5E7EB;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  position: relative; /* Needed for the ::before pseudo-element */
}

div.geeks .gc-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 20px;
  padding: 1px;
  background: linear-gradient(to bottom, #8ac6ff 100%, transparent 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}

div.geeks .gc-card-item .gc-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  height: 100%;
}

div.geeks .gc-img-wrap {
  padding: 5px;
  position: relative;
  width: 100%;
  overflow: hidden;
}

div.geeks .gc-img {
  width: 100%;
}

div.geeks .judo-img {
  height: 140px;
  width: 100%;
  object-fit: cover;
  border-radius: 15px;
}

div.geeks .judo-img-wrap {
    padding: 5px;
    position: relative;
    width: 100%;
    overflow: hidden;
}

div.geeks .gc-badge {
    position: absolute;
    top: 10px;
    right: 12px;
    color: #005EAA;
    font-size: 0.6875rem;
    padding: 0px 10px;
    font-weight: 600;
    border-radius: 25px;
    background: #FFF;
    box-shadow: 0 2px 2px 0 #E5E7EB inset;
}

div.geeks .certificate-badge {
    color: #005EAA;
    font-size: 0.6875rem;
    padding: 0px 10px;
    font-weight: 600;
    border-radius: 25px;
    background: #FFF;
    box-shadow: 0 2px 2px 0 #E5E7EB inset;
}



/* Fade-in animation */
div.geeks .gc-fade-in {
  opacity: 0;
  transform: translateY(6px);
  animation: gcFadeIn 400ms ease forwards;
}

@keyframes gcFadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* course_cards_section_basic — layout: carousel */
div.geeks .gc-cards-carousel {
  width: 100%;
}

div.geeks .gc-cards-carousel-viewport {
  overflow: hidden;
  width: 100%;
}

div.geeks .gc-cards-carousel-track {
  display: flex;
  align-items: stretch;
  gap: 1rem;
  transition: transform 0.45s ease-in-out;
  will-change: transform;
}

div.geeks .gc-cards-carousel-slide {
  flex: 0 0 100%;
  max-width: 100%;
  min-width: 0;
}

@media (min-width: 768px) {
  div.geeks .gc-cards-carousel-slide {
    /* 3 slides + 2 gaps (1rem each) */
    flex: 0 0 calc((100% - 2rem) / 3);
    max-width: calc((100% - 2rem) / 3);
  }
}

div.geeks .gc-cards-carousel-nav[hidden] {
  display: none !important;
}

div.geeks .gc-cards-carousel-btn {
  position: relative;
  width: auto;
  background: transparent;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  color: #a3a3a3;
  font-size: 18px;
  line-height: 1;
}

div.geeks .gc-cards-carousel-btn:hover:not(:disabled),
div.geeks .gc-cards-carousel-btn:focus-visible:not(:disabled) {
  color: #333;
}

div.geeks .gc-cards-carousel-btn:disabled {
  opacity: 0.35;
  cursor: default;
}

div.geeks .gc-cards-carousel-btn:focus-visible {
  outline: 2px solid #005eaa;
  outline-offset: 2px;
}

/* Responsive tweaks */
@media (max-width: 768px) {
  div.geeks .gc-img-wrap { height: 160px; }
  div.geeks .gc-section-small .gc-container { padding: 24px 16px; }
}

@media (max-width: 576px) {
  div.geeks .gc-img-wrap { height: 140px; }
  div.geeks .gc-heading-small { font-size: 1.5rem; }
}

div.geeks .main-related-img {
  max-width: 100%;
  height: 100%;
  border-radius: 18px;
  object-fit: cover;
}

div.geeks .related-primary-wrap {
border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgb(14 30 37 / 13%);
  border: none; /* Remove default border */
  min-height: 360px;
  display: flex;
  position: relative; /* Needed for the ::before pseudo-element */
  background: linear-gradient(to bottom, #b7dcff4f -20%, rgb(255 255 255) 100%);
}

div.geeks .related-primary-card {
  padding: 5px;
}

div.geeks .related-primary-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 20px;
  padding: 1px;
  background: linear-gradient(to bottom, #8ac6ff 0%, transparent 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}

/* Fix primary (spotlight) card layout on small screens */
@media (max-width: 767.98px) {
  /* Stack columns explicitly and allow full width */
  div.geeks .related-primary-card > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  /* Let the main image size naturally so content isn't clipped */
  div.geeks .main-related-img {
    height: 140px;
    width: 100%;
    display: block;
  }

  /* Allow the wrapper to grow with content on mobile */
  div.geeks .related-primary-wrap {
    min-height: auto;
  }
}

div.geeks .flip-card {
    width: 100%;
    height: 335px;
    perspective: 1000px;
    cursor: pointer;
    border-radius: 25px;
    background: transparent;
}

/* Focus styles for keyboard accessibility */
div.geeks .flip-card:focus {
    outline: none;
}

div.geeks .flip-card:focus-visible {
    outline: 3px solid #0056b3;
    outline-offset: 4px;
    box-shadow: 0 0 0 4px rgba(0, 86, 179, 0.2);
}

div.geeks .flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s;
    transform-style: preserve-3d;
}

div.geeks .flip-card.flipped .flip-card-inner {
    transform: rotateY(180deg);
}

div.geeks .flip-card-front, div.geeks .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    border-radius: 25px;
    backface-visibility: hidden;
    border-radius: 10px;
    padding: 20px;
}

div.geeks .flip-card-front {
    background-color: transparent;
    display: flex;
    flex-direction: column;
    border-radius: 25px;
    justify-content: space-between;
    border: 1px solid  #E4E4E4;

}

div.geeks .flip-card-back {
    background-color: #FFF;
    transform: rotateY(180deg);
    border-radius: 25px;
    border: 1px solid  #E4E4E4;

}

div.geeks .partner-badge {
    position: absolute;
    top: 15px;
    left: 20px;
    padding: 3px 14px;
    font-size: 0.75rem;
    border-radius: 10px;
    border: 0.5px solid #9ACDFE;
    background: rgba(154, 205, 254, 0.20);
}

div.geeks .partner-logo-front {
    margin: auto;
}

div.geeks .flip-text {
    position: absolute;
    font-weight: 700;
    bottom: 15px;
    right: 25px;
    font-size: 0.875rem;
    color: #005EAA;
}

div.geeks .partner-logo-back {
    max-width: 40%;
    max-height: 100px;
    margin-right: 15px;
}

div.geeks .pathways-container {
    position: relative;
}



div.geeks .pathway-step::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 15px;
    bottom: -15px;
    width: 2px;
}

div.geeks .pathway-step::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 5px;
    width: 15px;
    height: 15px;
}


div.geeks .pathway-step {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 15px;
}

div.geeks .pathway-step ul {
    list-style-position: inside;
    padding-left: 0;
    margin: 15px 0;
}

div.geeks .pathway-step ul li {
    margin-bottom: 5px;
}


    div.geeks .pathway-step-number {
    background: #fff;
    border-radius: 100%;
    border: 1px solid #8f909229;
    box-shadow: 0 2px 2px 0 rgba(229, 231, 235, 0.50);
    color: #005EAA;
    font-size: 1.0625rem;
    font-weight: 500;
    margin-bottom: 10px;
    padding: 13px 15px;
}
@media screen and (min-width: 768px) {
        div.geeks .pathway-step {
        position: relative;
        padding: 40px 0 10px 60px; /* Adjusted padding-left */
        margin-bottom: 25px;
        display: flex;
        flex-direction: column;
        justify-content: start;
        align-items: start;
        text-align: left;
    }
        div.geeks .pathway-step::before {
        content: '';
        position: absolute;
        left: 30px; /* Adjusted left */
        top: 15px;
        bottom: -15px;
        width: 2px;
        border-left: 1px dashed #7cc4f8;
    }

    div.geeks .pathway-step::after {
        content: '';
        position: absolute;
        left: 23px; /* Adjusted left */
        top: 5px;
        width: 15px;
        height: 15px;
        border-radius: 50%;
        background-color: #005eaa;
        border: 3px solid #fff; /* To make it look like it's on top of the line */
    }

        div.geeks .pathway-step-number {
        background: #fff;
        position: absolute;
        left: -30px;
        top: 20px;
        font-size: 1.0625rem;
        color: #005EAA;
        font-weight: 500;
        border-radius: 100%;
        padding: 13px 15px;
        box-shadow: 0 2px 2px 0 rgba(229, 231, 235, 0.50);
        border: 1px solid #8f909229;
    }
}


div.geeks .certificate-course-group {
  border-radius: 10px;
  border: 1px solid  #E4E4E4;
  background: #FFF;
}

div.geeks .certificate-course-group-title {
  padding: 10px;
  font-size: 1rem;
  font-weight: 600;
  color: #005EAA;
  border-radius: 10px;
  border: 4px solid rgb(229, 239, 246);
  background: #FFF;
}


/* STICKY CALL BAR COMPONENT */
div.geeks .sticky-call-bar {
  backdrop-filter: blur(5px);
  background: rgba(154, 205, 254, 0.30);
  border-radius: 16px;
  box-shadow: 0 4px 4px 0 rgba(229, 231, 235, 0.50);
  margin: 0 auto;
  max-width: 600px;
  padding: 5px;
  transition: bottom 0.3s ease-in-out, top 0.3s ease-in-out, padding 0.3s ease-in-out, border-radius 0.3s ease-in-out, max-width 0.3s ease-in-out;
  z-index: 1000;
}

/* Sticky Call Bar Icon Wrapper */
div.geeks .sticky-call-bar-icon-wrapper {
  border-radius: 15px;
  border: 1px solid #E5E7EB;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  transition: all 0.3s ease;
}

div.geeks .sticky-call-bar-icon-wrapper:hover {
  border-color: #005EAA;
  box-shadow: 0 2px 8px rgba(0, 94, 170, 0.15);
}

div.geeks .sticky-call-bar-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #005EAA;
  text-decoration: none;
  transition: color 0.3s ease;
}

div.geeks .sticky-call-bar-icon:hover {
  color: #004080;
}

div.geeks .sticky-call-bar-icon svg {
  width: 24px;
  height: 24px;
}

div.geeks .sticky-call-bar-icon-img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

div.geeks .sticky-call-bar-link {
    text-decoration: none;
    display: block;
    color: inherit;
}

div.geeks .sticky-call-bar-link:hover {
    text-decoration: none;
}

div.geeks .sticky-call-bar-link:focus {
    outline: none;
}

div.geeks .sticky-call-bar-link:focus-visible {
    outline: 3px solid #005EAA;
    outline-offset: 6px;
    border-radius: 16px;
}

div.geeks .sticky-call-bar-content {
    padding: 16px 24px;
    border-radius: 13px;
    background: white;
    transition: padding 0.3s ease-in-out, border-radius 0.3s ease-in-out, max-width 0.3s ease-in-out;
    cursor: pointer;
}

div.geeks .sticky-call-bar.is-sticky {
    max-width: 100%;
    border-radius: 0;
    padding: 8px 16px;
}

div.geeks .sticky-call-bar.is-sticky .sticky-call-bar-content {
    border-radius: 12px;
    max-width: 600px;
    margin: 0 auto;
    padding: 12px 20px;
}

div.geeks .sticky-call-bar .btn-call {
    padding: 5px 15px;
    border-radius: 20px;
    background: #E0F0FF;
    box-shadow: 0 4px 4px 0 rgba(229, 231, 235, 0.50);
    backdrop-filter: blur(5px);
    text-decoration: none;
    color: #005EAA;
    font-weight: 600;
    white-space: nowrap;
}

div.geeks .sticky-call-bar .btn-call:hover {
    font-weight: 700;
    background: #D0E7FF;
}

/* Mobile: occupy own space, no bleeding */
@media (max-width: 767px) {
    div.geeks .sticky-call-bar {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        width: auto !important;
        margin: 20px 16px;
        max-width: calc(100% - 32px);
    }

    div.geeks .sticky-call-bar.is-sticky {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        margin: 0;
        max-width: 100%;
        width: 100% !important;
        border-radius: 0;
        padding: 8px 16px;
    }

    div.geeks .sticky-call-bar-content {
        padding: 12px 16px;
    }

    div.geeks .sticky-call-bar.is-sticky .sticky-call-bar-content {
        max-width: 100%;
        padding: 10px 16px;
    }
}


/* Discounts Component Styles */
div.geeks .discount-card {
    width: 400px;
    max-width: 100%;
    border-radius: 28px;
    border: none;
    position: relative;
    background: linear-gradient(126deg, #FFF 3.63%, rgb(155 255 188) 111.66%);
    box-shadow: 0px 4px 4px 0px rgba(229, 231, 235, 0.45);
}

/* Pseudoelemento para el borde con degradado verde */
div.geeks .discount-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 28px;
    padding: 1px;
    background: linear-gradient(to bottom, #25BF6C 0%, transparent 100%);
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    mask-composite: exclude;
    pointer-events: none;
}

div.geeks .discount-badge {
    background-color: #25BF6C;
    color: #FFFFFF;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 500;
    display: inline-block;
}

div.geeks .discount-heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: #000000;
    line-height: 1.3;
}

div.geeks .discount-subheading {
    font-size: 0.875rem;
    font-weight: 400;
    color: #6c757d;
}

div.geeks .discount-description {
    font-size: 0.875rem;
    font-weight: 400;
    color: #333333;
    line-height: 1.5;
}

div.geeks .discount-highlight {
    font-weight: 700;
    color: #666;
}

div.geeks .discount-btn {
    background-color: #25BF6C;
    color: #FFFFFF;
    border: none;
    padding: 10px 24px;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    display: inline-block;
    transition: background-color 0.3s ease;
}

div.geeks .discount-btn:hover {
    background-color: #1fa55a;
    color: #FFFFFF;
    text-decoration: none;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    div.geeks .discount-card {
        width: 100%;
        max-width: 326px;
        margin: 0 auto;
    }

    div.geeks .discount-heading {
        font-size: 1.25rem;
    }

    div.geeks .discount-subheading,
    div.geeks .discount-description {
        font-size: 0.8125rem;
    }
}

/* Modal Overlay Styles */
.discount-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.discount-modal-overlay.discount-modal-visible {
    opacity: 1;
}

.discount-modal-container {
    position: relative;
    animation: slideInUp 0.4s ease-out;
}

.discount-modal-content {
    transform: scale(0.9);
    transition: transform 0.3s ease-out;
}

.discount-modal-visible .discount-modal-content {
    transform: scale(1);
}

/* Botón de cerrar */
.discount-close-btn {
    position: absolute;
    top: -10px;
    right: -10px;
    background-color: #fff;
    border: 2px solid #25BF6C;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10000;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.discount-close-btn:hover {
    background-color: #25BF6C;
    color: #fff;
    transform: rotate(90deg);
}

.discount-close-btn svg {
    width: 20px;
    height: 20px;
}

.discount-close-btn:hover svg path {
    stroke: #fff;
}

/* Animación de entrada */
@keyframes slideInUp {
    from {
        transform: translateY(50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Responsive para modal */
@media (max-width: 767px) {
    .discount-modal-container {
        padding: 0 15px;
    }
}


div.geeks .img_hero_stream {
  padding: 12px 12px 2px 12px;
}

div.geeks .hero_stream_tag {
  box-shadow: 0 4px 4px 0 rgba(229, 231, 235, 0.50);
  border-radius: 0 50px 50px 0;
  background-color: #e0f0ff;
  border: 3px solid #9bcdfe;
  width: 40%;
  text-align: center;
}

div.geeks .hero_stream_tag_mobile {
  background-color: white;
  border-radius: 50px;
  border: 5px solid #9bcdfe;
  box-shadow: 0 4px 4px 0 rgba(229, 231, 235, 0.50);
  text-align: center;
  width: 80%;
  padding: 5px;
  margin: auto;
}


/* HERO CERTIFICATE LANDING PAGE STYLES
 * Themes: blue (default, CE home Figma 742/805) | light (certificate landings).
 * Upper = video + Figma radial (535 / 651). Lower = solid #005eaa (207 / 154).
 */
div.geeks .hero-certificate-container {
	--hero-certificate-blue: #005eaa;
	--hero-certificate-upper-h: 535px;
	--hero-certificate-lower-h: 207px;
	position: relative;
	width: 100vw;
	max-width: 100vw;
	height: 742px;
	min-height: 742px;
	overflow: hidden;
	text-align: center;
	background-color: var(--hero-certificate-blue);
}

div.geeks .hero-certificate-bg-img,
div.geeks .hero-certificate-bg-video {
	width: 100%;
	height: var(--hero-certificate-upper-h);
	max-height: var(--hero-certificate-upper-h);
	object-fit: cover;
	object-position: center center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	pointer-events: none;
}

/*
 * Background video is YAML-driven; landing page CSS often zooms/crops the poster
 * image. Lock video layout here so editors never need CSS changes for video.
 */
div.geeks .hero-certificate-container .hero-certificate-bg-video {
	border: 0;
	width: 100% !important;
	height: var(--hero-certificate-upper-h) !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-height: var(--hero-certificate-upper-h) !important;
	top: 0 !important;
	left: 0 !important;
	right: auto !important;
	object-fit: cover !important;
	object-position: center center !important;
	transform: none !important;
	transform-origin: center center !important;
}

@media (prefers-reduced-motion: reduce) {
	div.geeks .hero-certificate-bg-video,
	div.geeks .hero-certificate-container.hero-certificate-reduced-motion .hero-certificate-bg-video {
		display: none !important;
	}
}

/* No background_video.mobile_url: show background_image on small viewports. */
@media (max-width: 768px) {
	div.geeks .hero-certificate-container.hero-certificate-video-desktop-only .hero-certificate-bg-video,
	div.geeks .hero-certificate-container.hero-certificate-image-only-mobile .hero-certificate-bg-video {
		display: none !important;
	}
}

div.geeks .hero-certificate-badge-top {
	position: absolute;
	width: 100%;
	display: flex;
	justify-content: center;
	top: 32px;
	z-index: 4;
}

div.geeks .hero-certificate-tag-container {
	margin-bottom: 0;
}

div.geeks .hero-certificate-tag-text {
	background: #e0f0ff;
	border: 3px solid #9ACDFE;
	color: #005eaa;
	padding: 6px 32px;
	border-radius: 25px;
	display: inline-block;
	font-weight: 600;
	font-size: 1.25rem;
}

/*
 * Figma 940:6689 / 1251:7568 — radial overlay ONLY on the video band.
 * Light/translucent at top (video shows through) → solid #005eaa at bottom.
 */
div.geeks .hero-certificate-gradient {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--hero-certificate-upper-h);
	z-index: 2;
	pointer-events: none;
	background: radial-gradient(
		ellipse 160% 100% at 50% 0%,
		rgba(154, 205, 254, 0.2) 0%,
		rgba(77, 150, 212, 0.25) 32%,
		rgba(39, 122, 191, 0.275) 48%,
		rgba(0, 94, 170, 0.3) 65%,
		rgba(0, 94, 170, 1) 100%
	);
}

div.geeks .hero-certificate-container[data-bg-url] {
	background-image: var(--hero-bg-image, none);
}

div.geeks .hero-certificate-content {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	padding: 0 56px 25px;
	box-sizing: border-box;
	pointer-events: none;
}

div.geeks .hero-certificate-content-upper {
	width: 100%;
	display: flex;
	justify-content: center;
	/* Heading sits on the opaque blue end of the upper gradient (Figma y≈502). */
	margin-bottom: 10px;
}

div.geeks .hero-certificate-content-lower {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: calc(var(--hero-certificate-lower-h) - 25px);
	justify-content: flex-start;
	padding-top: 0;
	box-sizing: border-box;
}

/* Beat global geeks h1 { Plus Jakarta !important } — Figma uses Archivo ExtraLight. */
div#mainContentContainer div.geeks h1.hero-certificate-heading,
div.geeks h1.hero-certificate-heading {
	font-family: "Archivo", sans-serif !important;
	font-weight: 200 !important;
	font-size: 79px !important;
	line-height: 80px !important;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #fff;
	margin: 0;
	text-align: center;
	max-width: 1168px;
	white-space: nowrap;
}

@media (max-width: 1199.98px) and (min-width: 768px) {
	div#mainContentContainer div.geeks h1.hero-certificate-heading,
	div.geeks h1.hero-certificate-heading {
		font-size: clamp(2.75rem, 6.2vw, 79px) !important;
		line-height: 1.05 !important;
		white-space: normal;
		padding: 0 16px;
	}

	div.geeks .hero-certificate-subheading {
		font-size: clamp(1.25rem, 2.4vw, 30px);
		line-height: 1.15;
		padding: 0 16px;
	}
}

div.geeks .hero-certificate-subheading {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 400;
	font-size: 30px;
	line-height: 32px;
	color: #fff;
	margin: 0 0 35px;
	text-align: center;
	max-width: 684px;
}

div.geeks .hero-certificate-buttons {
	display: flex;
	flex-direction: row;
	gap: 24px;
	justify-content: center;
	width: 100%;
	margin: 0;
	pointer-events: auto;
}

div.geeks .hero-certificate-enroll-btn {
	min-width: 180px;
	padding: 10px 0;
	font-size: 1rem;
}

/* Frosted search pill (Figma 940:6695 / 940:6696 / 940:6697). */
div.geeks .hero-certificate-search {
	width: 386px;
	max-width: 100%;
	margin: 0 auto;
}

div.geeks .hero-certificate-search-inner {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 46px;
	padding: 6px 8px 6px 20px;
	border-radius: 30px;
	border: 0;
	background: rgba(229, 231, 235, 0.25);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	box-sizing: border-box;
}

div.geeks .hero-certificate-search-input {
	flex: 1;
	border: 0;
	outline: none;
	background: transparent;
	color: #fff;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 18px;
	min-width: 0;
}

div.geeks .hero-certificate-search-input::placeholder {
	color: #fff;
	opacity: 1;
}

div.geeks .hero-certificate-search-btn {
	flex-shrink: 0;
	width: 50px;
	height: 34px;
	padding: 0;
	border-radius: 25px;
	border: 1px solid #e5e7eb;
	background: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

div.geeks .hero-certificate-search-btn:hover {
	background: rgba(255, 255, 255, 0.35);
}

/* Searchbar: move keyboard focus ring from input/button onto the pill container */
div.geeks .hero-certificate-search-input:focus,
div.geeks .hero-certificate-search-input:focus-visible,
div.geeks .hero-certificate-search-btn:focus,
div.geeks .hero-certificate-search-btn:focus-visible {
	outline: none;
	box-shadow: none;
}

div.geeks .hero-certificate-search-inner:has(:focus-visible) {
	outline: 3px solid #FFFFFF;
	outline-offset: 2px;
}

@media (max-width: 767.98px) {
	div.geeks .hero-certificate-container {
		--hero-certificate-upper-h: 651px;
		--hero-certificate-lower-h: 154px;
		height: 805px;
		min-height: 805px;
	}

	div.geeks .hero-certificate-gradient {
		background: radial-gradient(
			ellipse 180% 100% at 50% 0%,
			rgba(154, 205, 254, 0.1) 0%,
			rgba(77, 150, 212, 0.2) 26%,
			rgba(39, 122, 191, 0.25) 40%,
			rgba(0, 94, 170, 0.3) 53%,
			rgba(0, 94, 170, 1) 100%
		);
	}

	div.geeks .hero-certificate-content {
		padding: 0 13px 12px;
	}

	div.geeks .hero-certificate-content-upper {
		margin-bottom: 20px;
	}

	div.geeks .hero-certificate-content-lower {
		min-height: calc(var(--hero-certificate-lower-h) - 12px);
		padding-top: 0;
	}

	div#mainContentContainer div.geeks h1.hero-certificate-heading,
	div.geeks h1.hero-certificate-heading {
		font-size: 55px !important;
		line-height: 50px !important;
		white-space: normal;
		max-width: 349px;
	}

	div.geeks .hero-certificate-subheading {
		font-size: 20px;
		line-height: 22px;
		max-width: 255px;
		margin: 0 0 35px;
	}

	div.geeks .hero-certificate-search {
		width: 335px;
	}

	div.geeks .hero-certificate-buttons {
		align-self: stretch;
	}
}

/*
 * Light theme — certificate program landings (e.g. ios-developer).
 * Full-bleed image, soft blue wash from the bottom, darker title/copy, CTA.
 * Overrides the blue (CE home) Figma layout above.
 */
div.geeks .hero-certificate-container.hero-certificate-theme-light {
	height: auto;
	min-height: 825px;
	background-color: transparent;
}

div.geeks .hero-certificate-theme-light .hero-certificate-bg-img,
div.geeks .hero-certificate-theme-light .hero-certificate-bg-video {
	width: 100%;
	height: 100%;
	min-height: 825px;
	max-height: none;
}

div.geeks .hero-certificate-container.hero-certificate-theme-light .hero-certificate-bg-video {
	height: 100% !important;
	min-height: 100% !important;
	max-height: none !important;
}

div.geeks .hero-certificate-theme-light .hero-certificate-gradient {
	top: auto;
	bottom: 0;
	height: 70%;
	background:
		radial-gradient(
			ellipse 100% 60% at 50% 100%,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 0.7) 50%,
			transparent 70%
		),
		linear-gradient(180deg, rgba(255, 255, 255, 0.001) 5%, #d5eeff 60%);
}

div.geeks .hero-certificate-theme-light .hero-certificate-content {
	padding: 48px 56px 28px;
	justify-content: flex-end;
}

div.geeks .hero-certificate-theme-light .hero-certificate-content-upper {
	margin-bottom: 12px;
}

div.geeks .hero-certificate-theme-light .hero-certificate-content-lower {
	min-height: 0;
}

div#mainContentContainer div.geeks .hero-certificate-theme-light h1.hero-certificate-heading,
div.geeks .hero-certificate-theme-light h1.hero-certificate-heading {
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-weight: 500 !important;
	font-size: 2.5rem !important;
	line-height: 1.2 !important;
	letter-spacing: normal;
	text-transform: none;
	color: #000 !important;
	max-width: none;
	white-space: normal;
}

div.geeks .hero-certificate-theme-light .hero-certificate-subheading {
	font-size: 1.15rem;
	line-height: 1.4;
	color: #222;
	margin: 0 0 20px;
	max-width: none;
}

div.geeks .hero-certificate-theme-light .hero-certificate-buttons {
	margin-top: 8px;
}

@media (max-width: 1199.98px) and (min-width: 768px) {
	div#mainContentContainer div.geeks .hero-certificate-theme-light h1.hero-certificate-heading,
	div.geeks .hero-certificate-theme-light h1.hero-certificate-heading {
		font-size: clamp(2rem, 4vw, 2.5rem) !important;
		line-height: 1.2 !important;
		padding: 0;
	}

	div.geeks .hero-certificate-theme-light .hero-certificate-subheading {
		font-size: 1.15rem;
		line-height: 1.4;
		padding: 0;
	}
}

@media (max-width: 767.98px) {
	div.geeks .hero-certificate-container.hero-certificate-theme-light {
		height: auto;
		min-height: 485px;
	}

	div.geeks .hero-certificate-theme-light .hero-certificate-bg-img,
	div.geeks .hero-certificate-theme-light .hero-certificate-bg-video {
		min-height: 420px;
		max-height: 600px;
	}

	div.geeks .hero-certificate-theme-light .hero-certificate-content {
		padding: 48px 13px 24px;
	}

	div.geeks .hero-certificate-theme-light .hero-certificate-content-upper {
		margin-bottom: 12px;
	}

	div#mainContentContainer div.geeks .hero-certificate-theme-light h1.hero-certificate-heading,
	div.geeks .hero-certificate-theme-light h1.hero-certificate-heading {
		font-size: 2.25rem !important;
		line-height: 1.2 !important;
		max-width: none;
	}

	div.geeks .hero-certificate-theme-light .hero-certificate-subheading {
		font-size: 1.15rem;
		line-height: 1.4;
		max-width: none;
		margin: 0 0 20px;
	}
}

div.geeks div.video-certificate {
    padding: 25px 25px;
    border-radius: 30px;
    background: var(--Blue-Gradient-3, linear-gradient(90deg, rgba(154, 205, 254, 0.30) 0%, rgba(200, 227, 252, 0.20) 100%));
}

/* HERO GRADIENT RIGHT STYLES */
div.geeks .hero-gradient-right-container {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	min-height: 550px;
	overflow: hidden;
}

div.geeks .hero-gradient-right-bg-img {
	width: 100%;
	height: 100%;
	min-height: 420px;
	max-height: 600px;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

div.geeks .hero-gradient-right-gradient {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
    background: linear-gradient(90deg, #f8fcfe 24%, rgba(205, 235, 255, 0.01) 65%);
	z-index: 2;
    display: flex;
    align-items: center;
}

div.geeks .hero-gradient-right-content {
	position: relative;
	z-index: 3;
}

div.geeks .hero-gradient-right-heading {
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 12px;
    color: #000;
}

div.geeks .hero-gradient-right-subheading {
	font-size: 1.25rem;
	color: #222;
	margin-bottom: 16px;
}

div.geeks .hero-gradient-right-description {
    margin-bottom: 24px;
    padding-left: 0;
}

div.geeks .hero-gradient-right-description-item {
    font-size: 1.1rem;
    margin-bottom: 8px;
}

div.geeks .hero-gradient-right-buttons {
	display: flex;
	flex-direction: row;
	gap: 24px;
	margin-top: 8px;
}

div.geeks .hero-gradient-right-enroll-btn {
	min-width: 180px;
	padding: 12px 24px;
	font-size: 1.1rem;
}

/* horizontal_card_centered - full-width band; inner .container centers content */
div.geeks .hcc-centered {
  width: 100%;
  box-sizing: border-box;
  padding-top: 55px;
  padding-bottom: 55px;
}
/* theme dark (default when theme omitted or not "light") */
div.geeks .hcc-centered.hcc-theme-dark {
  background-color: #1a1a1a;
  color: #fff;
}
div.geeks .hcc-centered.hcc-theme-dark .txt-gray {
  color: rgba(255, 255, 255, 0.8);
}
div.geeks .hcc-centered.hcc-theme-dark .text-muted {
  color: rgba(255, 255, 255, 0.6);
}
/* Keyboard focus: white outline on dark band (global blue is invisible) */
div.geeks .hcc-centered.hcc-theme-dark button:focus-visible,
div.geeks .hcc-centered.hcc-theme-dark a.button:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 2px;
}
/* theme light: soft gray wash (#E5E7EB at 35%) */
div.geeks .hcc-centered.hcc-theme-light {
  background: rgba(229, 231, 235, 0.35);
  color: inherit;
}
div.geeks .hcc-centered .hcc-logos {
  width: 100%;
}
div.geeks .hcc-centered .hcc-logo-slot {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Edge logos flush with why_choose_mdc first/last .card-choose outer edges */
div.geeks .hcc-centered .hcc-logo-slot:first-child {
  justify-content: flex-start;
}
div.geeks .hcc-centered .hcc-logo-slot:last-child {
  justify-content: flex-end;
}
div.geeks .hcc-centered .hcc-logo {
  height: 60px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 767.98px) {
  div.geeks .hcc-centered .hcc-logos {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
  }
  div.geeks .hcc-centered .hcc-logo-slot {
    flex: 0 1 auto;
    margin-left: 0 !important;
    justify-content: center;
  }
  div.geeks .hcc-centered .hcc-logo {
    height: 48px;
    max-width: 140px;
  }
}
div.geeks .hcc-centered .geeks-hr.geeks-hr-center {
  background-color: var(--mdc-dark-blue) !important;
}

/* -------------------------------------------------------------------------- */
/* soft_cta — end-of-page low-commitment advisor / request-info band           */
/* -------------------------------------------------------------------------- */

div.geeks .soft-cta {
  width: 100%;
  box-sizing: border-box;
  background-color: #f3f4f6;
  padding: 64px 0;
}

div.geeks .soft-cta-inner {
  max-width: 720px;
}

div.geeks .soft-cta-heading {
  margin: 0 0 12px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.25;
  color: #1f2937;
}

div.geeks .soft-cta-sub {
  margin: 0 0 28px;
  max-width: 36rem;
  font-family: "Public Sans", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  color: #6b7280;
}

div.geeks .soft-cta-actions {
  gap: 12px;
  width: 100%;
}

div.geeks .soft-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 9px 30px;
  border-radius: 20px;
  font-family: "Public Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: normal;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

div.geeks .soft-cta-btn:hover {
  transform: scale(1.05);
  text-decoration: none;
}

div.geeks .soft-cta-btn:focus-visible {
  outline: 3px solid #3470e8;
  outline-offset: 2px;
}

div.geeks .soft-cta-btn-primary {
  border: none;
  background: linear-gradient(90deg, #005eaa 0%, #3470e8 100%);
  color: #ffffff !important;
}

div.geeks .soft-cta-btn-primary:hover {
  color: #ffffff !important;
}

div.geeks .soft-cta-btn-secondary {
  border: 1px solid #005eaa;
  background: transparent;
  color: #005eaa !important;
}

div.geeks .soft-cta-btn-secondary:hover {
  background: rgba(0, 94, 170, 0.1);
  color: #005eaa !important;
}

@media (max-width: 575.98px) {
  div.geeks .soft-cta {
    padding: 48px 0;
  }

  div.geeks .soft-cta-heading {
    font-size: 1.5rem;
  }

  div.geeks .soft-cta-btn {
    width: 100%;
  }
}

/* -------------------------------------------------------------------------- */
/* horizontal_card_left_text - text left, multiple images right (grid)        */
/* -------------------------------------------------------------------------- */

div.geeks #horizontal_card_left_text a{
  margin: 0.5rem;
  background-color: rgba(154, 205, 254, 0.5);
  border: 1px solid var(--mdc-color-primary);
}

div.geeks #horizontal_card_left_text.hclt-container {
  position: relative;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}



div.geeks #horizontal_card_left_text .hclt-heading {
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.25;
  color: var(--mdc-grey-dark, #2a2a2a);
  margin: 0.5rem;
}

/* Align blue rule with heading/text left edge (both use 0.5rem). */
div.geeks #horizontal_card_left_text .hclt-left > hr.geeks-hr {
  margin-left: 0.5rem;
}

div.geeks #horizontal_card_left_text .hclt-text {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--mdc-grey, #555);
  margin: 0.5rem;
  padding-bottom: 1rem;
}

div.geeks #horizontal_card_left_text .hclt-logo {
  max-width: 120px;
  height: auto;
  margin: 0.5rem;
}

/* Optional decorative shape top-left (light blue) */


div.geeks #horizontal_card_left_text .hclt-left,
div.geeks #horizontal_card_left_text .hclt-right {
  position: relative;
  z-index: 1;
}

/* Grid of images (2 columns, separators) */
div.geeks #horizontal_card_left_text .hclt-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border-radius: 8px;
  overflow: hidden;
}

div.geeks #horizontal_card_left_text .hclt-grid-item {
  position: relative;
  padding: 1rem 1.25rem;
  border-right: 1px solid rgba(0, 0, 0, 0.08);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

div.geeks #horizontal_card_left_text .hclt-grid-item:nth-child(2n) {
  border-right: none;
  border-left: 1px solid rgba(0, 0, 0, 0.08);
}

div.geeks #horizontal_card_left_text .hclt-grid-item:nth-last-child(-n+2) {
  border-bottom: none;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

@media (max-width: 575px) {
  div.geeks #horizontal_card_left_text .hclt-grid {
    grid-template-columns: 1fr;
  }
  div.geeks #horizontal_card_left_text .hclt-grid-item {
    border-right: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  }
  div.geeks #horizontal_card_left_text .hclt-grid-item:last-child {
    border-bottom: none;
  }
}

div.geeks #horizontal_card_left_text .hclt-grid-img {
  max-width: 120px;
  object-fit: contain;
  margin-bottom: 0.5rem;
}

div.geeks #horizontal_card_left_text .hclt-grid-title {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--mdc-grey-dark, #2a2a2a);
  margin-bottom: 0.25rem;
}

div.geeks #horizontal_card_left_text .hclt-grid-desc {
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--mdc-grey, #555);
}

/* Training partners grid: mobile expand/collapse toggle.
   Collapsed shows the partner logo with a "+" button (soft blue);
   expanded swaps to the description with a "-" button (solid blue).
   Shared behavior lives here so the preview (which only loads mdcstyles)
   matches deployed landings. */
/* Figma: 32×21 horizontal pill (longer axis is horizontal) */
div.geeks #horizontal_card_left_text .hclt-grid-toggle {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 32px;
  height: 21px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  z-index: 2;
  background: rgba(154, 205, 254, 0.5);
  color: var(--mdc-color-primary, #005eaa);
  transition: background-color 0.2s ease, color 0.2s ease;
}

div.geeks #horizontal_card_left_text .hclt-grid-toggle:hover {
  background: rgba(154, 205, 254, 0.75);
}

div.geeks #horizontal_card_left_text .hclt-grid-toggle:focus-visible {
  outline: 2px solid var(--mdc-color-primary, #005eaa);
  outline-offset: 2px;
}

div.geeks #horizontal_card_left_text .hclt-grid-toggle-icon {
  font-size: 0.75rem;
  line-height: 1;
}

/* Expanded state: solid blue button with white minus icon */
div.geeks #horizontal_card_left_text .hclt-grid-item[data-hclt-expanded="true"] .hclt-grid-toggle {
  background: var(--mdc-color-primary, #005eaa);
  color: #fff;
}

div.geeks #horizontal_card_left_text .hclt-grid-item[data-hclt-expanded="true"] .hclt-grid-toggle:hover {
  background: #004b88;
}

/* Mobile only: show one panel at a time, toggled by the button.
   Desktop keeps logo + title/description visible together. */
@media (max-width: 767.98px) {
  div.geeks #horizontal_card_left_text .hclt-grid {
    overflow: visible;
  }
  div.geeks #horizontal_card_left_text .hclt-grid-item {
    padding-top: 2.5rem;
    min-height: 80px;
  }
  div.geeks #horizontal_card_left_text .hclt-grid-expanded {
    display: none !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  div.geeks #horizontal_card_left_text .hclt-grid-item[data-hclt-expanded="true"] .hclt-grid-collapsed {
    display: none !important;
  }
  div.geeks #horizontal_card_left_text .hclt-grid-item[data-hclt-expanded="true"] .hclt-grid-expanded {
    display: flex !important;
  }
}


/* Mobile Styles for Hero Gradient Right */
@media (max-width: 767.98px) {
    div.geeks .hero-gradient-right-container {
         /* Allow container to grow if content is large, though min-height usually handles it */
         height: auto;
         min-height: 800px; /* Taller on mobile to show image */
    }

    div.geeks .hero-gradient-right-bg-img {
        object-position: top center;
    }

    div.geeks .hero-gradient-right-gradient {
        /* Gradient Bottom to Top (0deg): Solid at bottom, transparent at top */
        background: linear-gradient(0deg, #f8fcfe 45%, rgba(205, 235, 255, 0.8) 54%, rgba(205, 235, 255, 0.01) 69%);
        align-items: flex-end; /* Align content to bottom */
        padding-bottom: 40px;
    }

    div.geeks .hero-gradient-right-content .col-md-7 {
        display: flex;
        flex-direction: column;
        align-items: center; /* Center content horizontally */
    }

    div.geeks .hero-gradient-right-heading {
        text-align: center;
        font-size: 2rem;
    }

    div.geeks .hero-gradient-right-subheading {
        text-align: center;
    }

    div.geeks .hero-gradient-right-description {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    div.geeks .hero-gradient-right-description-item {
        width: fit-content;
        text-align: left; /* Keep checkmark left of text */
    }

    div.geeks .hero-gradient-right-buttons {
        justify-content: center;
    }
}

@media (min-width: 768px){
  div.geeks #horizontal_card_left_text.hclt-container::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 181px;
    height: 370px;
    border-radius: 0 400px 400px 0;
    background: rgba(200, 227, 252, 0.3);
    overflow: hidden;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 0;
  }
  div.geeks #horizontal_card_left_text .hclt-left {
    padding-left: 3rem;

  }
}

/* Horizontal Carousel Learn More Link Styles */
div.geeks a.horizontal-carousel-learn-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    width: fit-content;
    color: var(--mdc-color-gray, #666) !important;
    text-decoration: none !important;
    transition: color 0.15s ease;
}

div.geeks a.horizontal-carousel-learn-more .horizontal-carousel-learn-more-label {
    text-decoration: underline;
}

div.geeks a.horizontal-carousel-learn-more .horizontal-carousel-learn-more-icon {
    flex-shrink: 0;
    display: block;
    width: 10px;
    height: 10px;
}

div.geeks a.horizontal-carousel-learn-more:hover {
    color: #316fe4 !important;
}

div.geeks a.horizontal-carousel-learn-more:focus {
    outline: none;
}

div.geeks a.horizontal-carousel-learn-more:focus-visible {
    outline: 2px solid #005eab;
    outline-offset: 2px;
    border-radius: 4px;
    color: #005eab !important;
}

/* Meet The Coaches Expandable */
div.geeks .meet-the-coaches-expandable .meet-the-coaches-cards-row {
  overflow-x: auto;
  flex-wrap: nowrap;
  gap: 0;
  justify-content: center;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
  padding-bottom: 4px;
}

div.geeks .meet-the-coaches-expandable .meet-the-coaches-cards-row:active {
  cursor: grabbing;
}

div.geeks .meet-the-coaches-expandable .meet-the-coaches-cards-row::-webkit-scrollbar {
  display: none;
}

div.geeks .meet-the-coaches-expandable .meet-the-coaches-card-group {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex-shrink: 0;
}

div.geeks .meet-the-coaches-expandable .meet-the-coaches-card-group.is-active {
  border-radius: 25px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(1, 94, 170, 0.12);
}

div.geeks .meet-the-coaches-expandable .expandable-program-card {
  padding: 0 !important;
  overflow: hidden;
  flex-shrink: 0;
  width: 273px !important;
  min-width: 273px;
  max-width: 273px;
  height: 273px;
  min-height: 273px;
  border-radius: 25px;
  border: none;
  background: transparent !important;
  cursor: pointer;
  transition: box-shadow 0.2s ease;
}

/* Override global .card-offers circular thumbnail if legacy markup is cached */
div.geeks .meet-the-coaches-expandable .expandable-program-card img.expandable-card-image,
div.geeks .meet-the-coaches-expandable .expandable-card-image {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 25px !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

div.geeks .meet-the-coaches-expandable .card-offers .card-img-top {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

div.geeks .meet-the-coaches-expandable .meet-the-coaches-card-group.is-active .expandable-card-image {
  border-radius: 25px 0 0 25px !important;
}

div.geeks .meet-the-coaches-expandable .expandable-program-card.expandable-card-active {
  box-shadow: none;
  margin-right: 0 !important;
}

div.geeks .meet-the-coaches-expandable .meet-the-coaches-card-group.is-active .expandable-program-card {
  border-radius: 25px 0 0 25px;
}

div.geeks .meet-the-coaches-expandable .expandable-program-card:focus:not(:focus-visible) {
  outline: none;
}

div.geeks .meet-the-coaches-expandable .expandable-program-card:focus-visible {
  outline: 3px solid #005dab;
  outline-offset: 2px;
}

div.geeks .meet-the-coaches-expandable .expandable-card-visual {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 25px;
  background-color: #F5FAFF;
}

div.geeks .meet-the-coaches-expandable .meet-the-coaches-card-group.is-active .expandable-card-visual {
  border-radius: 25px 0 0 25px;
}

div.geeks .meet-the-coaches-expandable .expandable-card-image {
  display: block;
}

div.geeks .meet-the-coaches-expandable .expandable-card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 44%;
  pointer-events: none;
  z-index: 5;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.4) 50%,
    rgba(255, 255, 255, 0.78) 100%
  );
}

/* Reuse div.geeks .badge; only position over the coach photo */
div.geeks .meet-the-coaches-expandable .expandable-card-visual > .badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  margin-left: 0;
  z-index: 10;
  font-size: 0.9375rem;
  border: 1px solid #9ACDFE;
  background-color: rgba(255, 255, 255, 0.85);
}

div.geeks .meet-the-coaches-expandable .expandable-card-detail,
div.geeks .meet-the-coaches-expandable .expandable-detail-panel {
  display: none;
  box-sizing: border-box;
  flex: 0 0 auto;
  flex-shrink: 0;
  width: 380px;
  min-width: 320px;
  max-width: 420px;
  min-height: 273px;
  padding: 0;
  margin: 0;
  border-radius: 0 25px 25px 0;
  border: none;
  background: #F5FAFF;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}

div.geeks .meet-the-coaches-expandable .expandable-card-detail-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  min-height: 273px;
  padding: 28px 32px 28px 28px;
  box-sizing: border-box;
}

/* No learn-more link: anchor description to the bottom of the detail panel */
div.geeks .meet-the-coaches-expandable .expandable-card-detail-body:not(:has(.expandable-card-detail-cta)) {
  justify-content: flex-end;
}

#mainContentContainer div.geeks .meet-the-coaches-expandable .expandable-card-detail-body:not(:has(.expandable-card-detail-cta)) .expandable-card-detail-text {
  margin-bottom: 0;
}

#mainContentContainer div.geeks .meet-the-coaches-expandable p.expandable-card-detail-text,
#mainContentContainer div.geeks .meet-the-coaches-expandable .expandable-card-detail .card-text {
  margin: 0 0 1.25rem;
  font-size: 0.875rem !important;
  line-height: 1.65;
  color: #3d4654;
  font-weight: 400;
}

div.geeks .meet-the-coaches-expandable .expandable-card-detail-cta {
  margin-top: auto;
  padding-top: 0.25rem;
}

div.geeks .meet-the-coaches-expandable .expandable-card-detail-cta .gray-link {
  font-weight: 600;
  color: #015eaa;
}

div.geeks .meet-the-coaches-expandable .meet-the-coaches-card-group.is-active .expandable-card-detail,
div.geeks .meet-the-coaches-expandable .meet-the-coaches-card-group.is-active .expandable-detail-panel,
div.geeks .meet-the-coaches-expandable .meet-the-coaches-cards-row.has-active-panel .expandable-detail-panel:not(.d-none) {
  display: flex !important;
}

div.geeks .meet-the-coaches-expandable .expandable-card-detail.d-none,
div.geeks .meet-the-coaches-expandable .expandable-detail-panel.d-none {
  display: none !important;
}

div.geeks .meet-the-coaches-expandable .meet-the-coaches-cards-row.has-active-panel {
  justify-content: flex-start;
}

@media (max-width: 768px) {
  div.geeks .meet-the-coaches-expandable .meet-the-coaches-cards-row {
    align-items: center;
    justify-content: center !important;
  }

  div.geeks .meet-the-coaches-expandable .meet-the-coaches-cards-row.has-active-panel {
    justify-content: center !important;
    align-items: center;
  }

  div.geeks .meet-the-coaches-expandable .meet-the-coaches-card-group {
    flex-direction: column;
    width: min(273px, calc(100vw - 32px));
    max-width: min(273px, calc(100vw - 32px));
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center;
  }

  div.geeks .meet-the-coaches-expandable .expandable-program-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 273px !important;
    height: 273px;
    min-height: 273px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Full-bleed photo: background on visual guarantees edge-to-edge width */
  div.geeks .meet-the-coaches-expandable .expandable-card-visual {
    width: 100% !important;
    height: 100%;
    min-height: 273px;
    border-radius: 25px 25px 0 0;
    background-color: #F5FAFF;
    background-image: var(--coach-photo);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
  }

  div.geeks .meet-the-coaches-expandable .meet-the-coaches-card-group.is-active .expandable-card-visual {
    border-radius: 25px 25px 0 0;
  }

  div.geeks .meet-the-coaches-expandable .expandable-card-image {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0 !important;
    opacity: 0;
  }

  div.geeks .meet-the-coaches-expandable .expandable-card-detail,
  div.geeks .meet-the-coaches-expandable .expandable-detail-panel {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0;
    margin: 0;
    border-radius: 0 0 25px 25px;
    border: none;
  }

  div.geeks .meet-the-coaches-expandable .expandable-card-detail-body {
    min-height: 0;
    padding: 28px 24px 32px;
  }
}

/* Testimonials carousel light — dark Success cases style (Figma HiredCases) */
div.geeks .testimonials-carousel-light {
  /* Theme tokens (dark default; --light overrides below) */
  --tcl-bg: #232529;
  --tcl-heading: #fff;
  --tcl-rule: #005eaa;
  --tcl-description: #92989f;
  --tcl-shell-bg: rgba(52, 112, 232, 0.1);
  --tcl-card-bg: #303238;
  --tcl-card-border: #005eaa;
  --tcl-text: #fff;
  --tcl-program: #fff;
  --tcl-quote: #fff;
  --tcl-nav-idle: #92989f;
  --tcl-nav-active-bg: #303238;
  --tcl-nav-active-text: #fff;
  --tcl-nav-active-border: #92989f;
  --tcl-focus-ring: #fff;
  --tcl-dot: #92989f;
  --tcl-dot-active: #fff;
  --tcl-avatar-ph: linear-gradient(145deg, #005eaa 0%, #3470e8 100%);

  background-color: var(--tcl-bg);
  overflow-x: clip;
  color: var(--tcl-text);
}

div.geeks .testimonials-carousel-light--light {
  --tcl-bg: #f8f8f8;
  --tcl-heading: #232529;
  --tcl-rule: #005eaa;
  --tcl-description: #666;
  --tcl-shell-bg: rgba(0, 94, 170, 0.08);
  --tcl-card-bg: #fff;
  --tcl-card-border: #d7e4f2;
  --tcl-text: #232529;
  --tcl-program: #005eaa;
  --tcl-quote: #464a4d;
  --tcl-nav-idle: #666;
  --tcl-nav-active-bg: #fff;
  --tcl-nav-active-text: #005eaa;
  --tcl-nav-active-border: #005eaa;
  --tcl-focus-ring: #005eaa;
  --tcl-dot: #c2c8cc;
  --tcl-dot-active: #005eaa;
  --tcl-avatar-ph: linear-gradient(145deg, #9acdfe 0%, #005eaa 100%);
}

div.geeks .testimonials-carousel-light--light .testimonials-carousel-light__card {
  box-shadow: 0 4px 18px rgba(36, 53, 64, 0.08);
}

div.geeks .testimonials-carousel-light__inner {
  position: relative;
  padding-top: 60px;
  padding-bottom: 70px;
}

div.geeks .testimonials-carousel-light__header {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  margin-bottom: 30px;
  text-align: center;
}

div.geeks .testimonials-carousel-light__title-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  width: 100%;
}

div.geeks .testimonials-carousel-light__heading {
  color: var(--tcl-heading);
  font-weight: 300;
  font-size: 1.875rem;
  line-height: 2rem;
  margin: 0;
}

div.geeks .testimonials-carousel-light__rule {
  display: block;
  width: 100px;
  height: 2px;
  background-color: var(--tcl-rule);
  border: 0;
}

div.geeks .testimonials-carousel-light__description {
  color: var(--tcl-description);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  max-width: 52rem;
}

div.geeks .testimonials-carousel-light__nav-group {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  align-items: center;
  gap: 15px;
}

div.geeks .testimonials-carousel-light__nav {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid transparent;
  background: transparent;
  color: var(--tcl-nav-idle);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

div.geeks .testimonials-carousel-light__nav:hover,
div.geeks .testimonials-carousel-light__nav:focus-visible {
  border-color: var(--tcl-nav-active-border);
  color: var(--tcl-nav-active-text);
  background-color: var(--tcl-nav-active-bg);
  outline: none;
}

div.geeks .testimonials-carousel-light__nav:focus-visible {
  outline: 2px solid var(--tcl-focus-ring);
  outline-offset: 2px;
}

div.geeks .testimonials-carousel-light__track {
  position: relative;
  z-index: 0;
}

div.geeks .testimonials-carousel-light__viewport {
  display: flex;
  gap: 20px;
  min-width: 0;
  overflow-x: auto;
  overflow-y: visible;
  /* Room for avatar bleed below the card. */
  padding: 8px 4px 56px;
  scroll-padding-inline: 4px;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  outline: none;
}

div.geeks .testimonials-carousel-light__viewport::-webkit-scrollbar {
  display: none;
}

div.geeks .testimonials-carousel-light__viewport:focus {
  outline: none;
}

div.geeks .testimonials-carousel-light__viewport:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 2px var(--tcl-bg),
    0 0 0 4px var(--tcl-focus-ring);
}

div.geeks .testimonials-carousel-light__slide {
  flex: 0 0 100%;
  max-width: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  min-width: 0;
  box-sizing: border-box;
}

div.geeks .testimonials-carousel-light__card-shell {
  border-radius: 20px;
  background: var(--tcl-shell-bg);
  backdrop-filter: blur(5px);
  padding: 6px;
  height: 100%;
  max-width: 275px;
  margin-inline: auto;
}

div.geeks .testimonials-carousel-light__card {
  position: relative;
  background: var(--tcl-card-bg);
  border: 1px solid var(--tcl-card-border);
  border-radius: 15px;
  padding: 25px 15px 40px;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 180px;
  overflow: visible;
  color: var(--tcl-text);
}

div.geeks .testimonials-carousel-light__body {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
  padding-right: 72px;
}

div.geeks .testimonials-carousel-light__meta {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

div.geeks .testimonials-carousel-light__name {
  color: var(--tcl-text);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.125rem;
}

div.geeks .testimonials-carousel-light__program {
  color: var(--tcl-program);
  font-weight: 300;
  font-size: 0.875rem;
  line-height: 1rem;
  opacity: 0.92;
}

div.geeks .testimonials-carousel-light__quote {
  color: var(--tcl-quote);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.35;
  margin: 0;
}

div.geeks .testimonials-carousel-light__avatar-wrap {
  position: absolute;
  right: 0;
  bottom: -34px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 110px;
  padding: 5px;
  border-radius: 60px;
  background: var(--tcl-shell-bg);
  backdrop-filter: blur(5px);
  box-sizing: border-box;
}

div.geeks .testimonials-carousel-light__avatar {
  width: 100px;
  height: 100px;
  border-radius: 50px;
  object-fit: cover;
  display: block;
}

div.geeks .testimonials-carousel-light__avatar--placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--tcl-avatar-ph);
  color: #fff;
  font-size: 2rem;
}

div.geeks .testimonials-carousel-light__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  margin-top: 8px;
  min-height: 16px;
}

div.geeks .testimonials-carousel-light__dot {
  width: 14px;
  height: 14px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: var(--tcl-dot);
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

div.geeks .testimonials-carousel-light__dot.is-active {
  width: 16px;
  height: 16px;
  background-color: transparent;
  box-shadow: inset 0 0 0 1.5px var(--tcl-dot-active);
}

div.geeks .testimonials-carousel-light__dot.is-active::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--tcl-dot-active);
  transform: translate(-50%, -50%);
}

div.geeks .testimonials-carousel-light__dot:focus-visible {
  outline: 2px solid var(--tcl-focus-ring);
  outline-offset: 3px;
}

@media (min-width: 768px) {
  div.geeks .testimonials-carousel-light__inner {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  div.geeks .testimonials-carousel-light__header {
    margin-bottom: 58px;
  }

  div.geeks .testimonials-carousel-light__heading {
    font-size: 2.1875rem;
    line-height: 2.1875rem;
  }

  div.geeks .testimonials-carousel-light__nav-group {
    display: flex;
  }

  /* 2 cards; each step advances one. 20px = one gap. */
  div.geeks .testimonials-carousel-light__slide {
    flex: 0 0 calc((100% - 20px) / 2);
    max-width: calc((100% - 20px) / 2);
  }

  div.geeks .testimonials-carousel-light__card-shell {
    max-width: none;
    margin-inline: 0;
  }

  div.geeks .testimonials-carousel-light__viewport {
    padding-bottom: 60px;
  }
}

@media (min-width: 992px) {
  /* 3 cards; 40px = two gaps. */
  div.geeks .testimonials-carousel-light__slide {
    flex: 0 0 calc((100% - 40px) / 3);
    max-width: calc((100% - 40px) / 3);
  }
}

@media (min-width: 1200px) {
  /* 4 cards (Figma desktop); 60px = three gaps. */
  div.geeks .testimonials-carousel-light__slide {
    flex: 0 0 calc((100% - 60px) / 4);
    max-width: calc((100% - 60px) / 4);
  }
}

@media (max-width: 767.98px) {
  div.geeks .testimonials-carousel-light__nav-group {
    display: none;
  }

  div.geeks .testimonials-carousel-light__viewport {
    gap: 16px;
    padding: 4px 2px 56px;
    justify-content: flex-start;
  }

  div.geeks .testimonials-carousel-light__body {
    padding-right: 64px;
    gap: 24px;
  }
}

/* Trending courses carousel — curated compact course cards */
/* Trending courses carousel — Figma ContentHeading + Highlight Slider */
div.geeks .trending-courses-carousel {
  position: relative;
}

div.geeks .trending-courses-carousel-panel {
  width: 100%;
  margin: 0 auto;
  border-radius: 20px;
  border: 1px solid #dfdfdf;
  padding: 0 5px 5px;
  background: linear-gradient(180deg, rgba(154, 205, 254, 0.2) 0%, rgba(154, 205, 254, 0) 100%);
  box-shadow: 0 4px 4px 0 rgba(229, 231, 235, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

div.geeks .trending-courses-carousel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 15px 15px;
}

div.geeks .trending-courses-carousel-heading {
  margin: 0;
  color: #666;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 18px;
  font-weight: 500;
  line-height: 20px;
}

div.geeks .trending-courses-carousel-nav-group {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  flex-shrink: 0;
}

div.geeks .trending-courses-carousel-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid transparent;
  background: transparent;
  color: #666;
  cursor: pointer;
  border-radius: 20px;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

div.geeks .trending-courses-carousel-nav:disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

div.geeks .trending-courses-carousel-nav:focus {
  outline: none;
}

div.geeks .trending-courses-carousel-nav:focus-visible {
  outline: 2px solid var(--mdc-blue, #0f76d0);
  outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
  div.geeks .trending-courses-carousel-nav:hover:not(:disabled) {
    background: #fff;
    border-color: #e4e4e4;
    box-shadow: 0 2px 2px 0 rgba(229, 231, 235, 0.5);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    color: var(--mdc-dark-blue, #005eaa);
  }
}

div.geeks .trending-courses-carousel-nav-icon {
  display: block;
}

div.geeks .trending-courses-carousel-viewport {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding: 0 10px 16px;
  scrollbar-width: none;
}

div.geeks .trending-courses-carousel-viewport::-webkit-scrollbar {
  display: none;
}

div.geeks .trending-courses-carousel-viewport:focus {
  outline: none;
}

div.geeks .trending-courses-carousel-viewport:focus-visible {
  outline: 2px solid var(--mdc-blue, #0f76d0);
  outline-offset: 4px;
  border-radius: 12px;
}

div.geeks .trending-courses-carousel-card {
  position: relative;
  display: flex;
  flex: 0 0 465px;
  width: 465px;
  min-width: 465px;
  max-width: 465px;
  scroll-snap-align: start;
  padding: 6px;
  border-radius: 15px;
  background: rgba(229, 231, 235, 0.35);
  box-shadow: 0 2px 2px 0 rgba(229, 231, 235, 0.5);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  color: inherit;
}

div.geeks .trending-courses-carousel-card-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
  padding: 10px 10px 20px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, 0.2);
}

div.geeks .trending-courses-carousel-image-wrap {
  position: relative;
  width: 100%;
  height: 181px;
  border-radius: 10px;
  overflow: hidden;
  background: linear-gradient(145deg, #eef4fb, #e3ecf7);
}

div.geeks .trending-courses-carousel-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}

div.geeks .trending-courses-carousel-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  width: 100%;
}

div.geeks .trending-courses-carousel-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  width: 100%;
}

div.geeks .trending-courses-carousel-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 25px;
  width: 100%;
}

div.geeks .trending-courses-carousel-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 10px;
  background: #25bf6c;
  color: #fff;
  font-family: "Public Sans", sans-serif !important;
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  white-space: nowrap;
}

#mainContentContainer div.geeks .trending-courses-carousel-title {
  margin: 0;
  width: 100%;
  color: #222;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 20px;
  font-weight: 700;
  line-height: 22px;
}

#mainContentContainer div.geeks .trending-courses-carousel-description {
  margin: 0;
  width: 100%;
  color: #666;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
}

div.geeks a.trending-courses-carousel-learn-more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #005eaa;
  font-family: "Public Sans", sans-serif !important;
  font-size: 14px;
  font-weight: 400;
  line-height: normal;
  text-decoration: none !important;
}

div.geeks a.trending-courses-carousel-learn-more .trending-courses-carousel-learn-more-label {
  text-decoration: underline;
}

div.geeks a.trending-courses-carousel-learn-more:hover,
div.geeks a.trending-courses-carousel-learn-more:focus {
  color: #005eaa;
}

div.geeks a.trending-courses-carousel-learn-more:hover .trending-courses-carousel-learn-more-label,
div.geeks a.trending-courses-carousel-learn-more:focus .trending-courses-carousel-learn-more-label {
  text-decoration: underline;
}

div.geeks a.trending-courses-carousel-learn-more:focus-visible {
  outline: 2px solid var(--mdc-blue, #0f76d0);
  outline-offset: 3px;
  border-radius: 2px;
}

div.geeks a.trending-courses-carousel-learn-more .trending-courses-carousel-learn-more-icon {
  display: block;
  flex-shrink: 0;
}

@media (max-width: 575.98px) {
  div.geeks .trending-courses-carousel-panel {
    min-height: 0;
    border-radius: 16px;
  }

  div.geeks .trending-courses-carousel-header {
    padding: 16px 10px 12px;
  }

  div.geeks .trending-courses-carousel-card {
    flex-basis: 88%;
    width: 88%;
    min-width: 88%;
    max-width: 88%;
    scroll-snap-align: center;
  }

  div.geeks .trending-courses-carousel-viewport {
    gap: 12px;
    padding-left: 6px;
    padding-right: 6px;
  }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  div.geeks .trending-courses-carousel-card {
    flex-basis: 380px;
    width: 380px;
    min-width: 380px;
    max-width: 380px;
  }
}

/* ===== MEDIA CORNER RADIUS =====
   Content imagery across components. Icons, partner/client logos and full-bleed
   hero backgrounds are intentionally left square.
   Audit: desarrollo/audit_image_radius/audit_image_radius.py */

/* hero_one_image */
div.geeks #hero_one_image .mobile-background img {
  border-radius: 25px;
}

/* hero_three_images */
div.geeks #hero_three_images img {
  border-radius: 25px;
}

/* hero_one_image_centered_right */
div.geeks #hero_one_image_centered_right img {
  border-radius: 25px;
}

/* hero_streams_one_image */
div.geeks .img_hero_stream {
  border-radius: 25px;
}

/* certificate_two_images */
div.geeks .side-image {
  border-radius: 25px;
}

/* left_video, left_video_bicolor, left_video_certificate, left_video_yellow_gradient,
   right_video and the horizontal_card_left_image_bordered thumbnail */
div.geeks .content-video img {
  border-radius: 25px;
}

/* horizontal_card_left_image_bordered, horizontal_card_right_image_bordered,
   horizontal_card_right_image */
div.geeks #horizontal_card_left_image_bordered img,
div.geeks #horizontal_card_right_image_bordered img,
div.geeks #horizontal_card_right_image img {
  border-radius: 25px;
}

/* horizontal_card_right_text — stat card thumbnails are small, keep a tighter radius */
div.geeks .hcrt-top-image {
  border-radius: 12px;
}

/* finder_simple, finder_dynamic */
div.geeks #finder_simple img:not(.finder-simple-tab-icon),
div.geeks #finder_dynamic img {
  border-radius: 25px;
}

/* navbar_summer */
div.geeks .navbar-summer-image {
  border-radius: 25px;
}

/* offer — third column only; the first/mobile columns hold a decorative circle */
div.geeks #offer .offer-section > .col-lg-4:nth-child(3) img {
  border-radius: 25px;
}

/* course_directory_accordion — Open Door Version 4 single-column accordion */
div.geeks .course-directory-accordion {
  --cda-title: #222222;
  --cda-body: var(--mdc-color-gray, #666666);
  --cda-hair: #e4e4e4;
  --cda-blue: var(--mdc-dark-blue, #005eaa);
  --cda-blue-deep: #004e8c;
  --cda-wash: #eaf3fb;
  --cda-underline: #9acdfe;
}

#mainContentContainer div.geeks .course-directory-accordion__header {
  margin: 0 0 28px;
  max-width: 60ch;
  text-align: left;
}

#mainContentContainer div.geeks .course-directory-accordion__header h2 {
  margin: 0 0 8px;
  font-size: clamp(26px, 3vw, 32px);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.15;
  color: var(--cda-title);
}

#mainContentContainer div.geeks .course-directory-accordion__header p {
  margin: 0;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--cda-body);
}

div.geeks .course-directory-accordion__list {
  border-top: 1px solid var(--cda-hair);
}

div.geeks .course-directory-accordion__section {
  border-bottom: 1px solid var(--cda-hair);
}

div.geeks .course-directory-accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 4px;
  cursor: pointer;
  list-style: none;
  font-size: 16px;
  font-weight: 700;
  color: var(--cda-title);
}

div.geeks .course-directory-accordion__summary::-webkit-details-marker {
  display: none;
}

div.geeks .course-directory-accordion__summary:focus-visible {
  outline: 2px solid var(--cda-blue);
  outline-offset: 3px;
}

div.geeks .course-directory-accordion__lead {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

div.geeks .course-directory-accordion__title {
  color: var(--cda-title);
}

div.geeks .course-directory-accordion__count {
  flex: 0 0 auto;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--cda-body);
}

div.geeks .course-directory-accordion__chev {
  flex: 0 0 auto;
}

div.geeks .course-directory-accordion__body {
  padding: 0 4px 26px 50px;
}

#mainContentContainer div.geeks .course-directory-accordion__group-title {
  margin: 12px 0 4px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--cda-blue-deep);
}

div.geeks .course-directory-accordion__group:first-child .course-directory-accordion__group-title {
  margin-top: 0;
}

div.geeks .course-directory-accordion__items {
  list-style: none;
  margin: 0;
  padding: 0;
}

div.geeks .course-directory-accordion__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 0;
  border-bottom: 1px solid var(--cda-hair);
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--cda-title);
}

div.geeks .course-directory-accordion__link,
div.geeks .course-directory-accordion__missing {
  min-width: 0;
}

div.geeks .course-directory-accordion__link {
  color: inherit;
  text-decoration: none;
  background-image: linear-gradient(var(--cda-underline), var(--cda-underline));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 1px;
  border-radius: 2px;
  transition: color 0.15s, background-size 0.15s;
}

div.geeks .course-directory-accordion__link:hover {
  color: var(--cda-blue-deep);
  background-size: 100% 1px;
}

div.geeks .course-directory-accordion__link:focus-visible {
  outline: 2px solid var(--cda-blue);
  outline-offset: 3px;
}

div.geeks .course-directory-accordion__missing {
  color: #8a4b08;
}

div.geeks .course-directory-accordion__badge {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--cda-wash);
  color: var(--cda-blue-deep);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.3;
  white-space: nowrap;
  text-transform: uppercase;
}

@media (max-width: 640px) {
  div.geeks .course-directory-accordion__body {
    padding-left: 36px;
  }

  div.geeks .course-directory-accordion__lead {
    flex-wrap: wrap;
    gap: 4px 14px;
  }
}

/* ==========================================================================
   CE home — hero_search_sentence / sought_programs_board /
   seasonal_recommendations / learning_campus_pass / course_desk_calendar /
   campus_station_board / program_areas_bookshelf / voices_wall
   Fields from --mdc-palette-*: primary-500, light-grey-50, light-blue-light,
   light-blue-normal, grey-500. Soft Geeks surface (radii 15/20/25, ice splash)
   while keeping editorial metaphors — not card-shadow wrappers.
   Summer-camps keeps --mdc-yellow; that accent is outside this scale.
   Search and the programs register share one inset so their text lines up.
   ========================================================================== */

div.geeks {
  --ce-home-rail: 4.75rem;
  --ce-home-rail-type: 0.9375rem;
  --ce-home-rail-tracking: 0.14em;
  --ce-home-pad-top: 48px;
  --ce-home-pad-right: 24px;
  --ce-home-pad-bottom: 48px;
  --ce-home-pad-left: var(--ce-home-rail);
  --ce-home-measure: 1120px;
  --ce-home-radius-sm: 15px;
  --ce-home-radius-md: 20px;
  --ce-home-radius-lg: 25px;
  --ce-home-focus: #3470e8;
  --ce-home-focus-on-dark: var(--mdc-palette-light-blue-normal);
  --ce-home-edge: #E5E7EB;
  --ce-home-splash-ice: color-mix(in srgb, var(--mdc-palette-light-blue-normal) 32%, transparent);
  /* Shared section kicker chrome (hero-search-sentence reference). */
  --ce-home-kicker-font: "Plus Jakarta Sans", sans-serif;
  --ce-home-kicker-size: 16px;
  --ce-home-kicker-weight: 600;
  --ce-home-kicker-tracking: 0.25em;
  --ce-home-kicker-gap: 12px;
}

/* Beat #mainContentContainer div.geeks p (1rem). Color stays per component. */
div#mainContentContainer div.geeks p.hero-search-sentence__kicker,
div.geeks .hero-search-sentence__kicker,
div#mainContentContainer div.geeks p.sought-programs-board__kicker,
div.geeks .sought-programs-board__kicker,
div#mainContentContainer div.geeks p.program-areas-bookshelf__kicker,
div.geeks .program-areas-bookshelf__kicker,
div#mainContentContainer div.geeks p.course-desk-calendar__kicker,
div.geeks p.course-desk-calendar__kicker,
div#mainContentContainer div.geeks p.voices-wall__kicker,
div.geeks .voices-wall__kicker,
div#mainContentContainer div.geeks p.campus-station-board__kicker,
div.geeks .campus-station-board__kicker {
  margin: 0;
  font-family: var(--ce-home-kicker-font);
  font-size: var(--ce-home-kicker-size) !important;
  font-weight: var(--ce-home-kicker-weight) !important;
  letter-spacing: var(--ce-home-kicker-tracking);
  text-transform: uppercase;
}

div.geeks .hero-search-sentence {
  --hss-navy: var(--mdc-palette-primary-500);
  --hss-navy-deep: #06336a;
  --hss-navy-lift: #1a6bb8;
  --hss-accent: var(--mdc-palette-light-blue-normal);
  --hss-accent-hover: var(--mdc-palette-light-blue-normal-hover);
  --hss-white: var(--mdc-palette-white);
  --hss-on-navy-muted: #cfe3f7;
  /* Hint copy only — keep well below typed input (full white). */
  --hss-placeholder: #e3effb;
  --hss-muted: var(--mdc-palette-light-blue-normal);
  --hss-field-h: 52px;
  --hss-submit-w: 52px;
  --hss-pill-radius: 999px;
  --hss-field-radius: 14px;
  --hss-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  /* Deep navy well — space-dark but tinted to match the blue sky */
  --hss-field-surface: #071022;
  --hss-field-surface-lift: #0c1830;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  /* B · Midnight aurora — night base + static aurora blobs */
  background: #020a22;
  color: var(--hss-white);
  /* Match CE home measure inset (same as program-areas-bookshelf). */
  padding: var(--ce-home-pad-top) var(--ce-home-pad-right) var(--ce-home-pad-bottom) var(--ce-home-pad-left);
}

/* Soft star field (masked so edges fade) */
div.geeks .hero-search-sentence::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, 0.18) 1px, transparent 1.2px);
  background-size: 26px 26px;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent);
  opacity: 0.35;
}

/* Film grain overlay */
div.geeks .hero-search-sentence::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.09;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Decorative aurora blobs */
div.geeks .hero-search-sentence__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

div.geeks .hero-search-sentence__aurora {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  z-index: 0;
  opacity: 0.85;
}

div.geeks .hero-search-sentence__aurora--1 {
  width: 620px;
  height: 620px;
  background: #0b5cff;
  right: -120px;
  top: -160px;
}

div.geeks .hero-search-sentence__aurora--2 {
  width: 520px;
  height: 520px;
  background: #00a6ff;
  right: 18%;
  bottom: -260px;
  opacity: 0.55;
}

div.geeks .hero-search-sentence__aurora--3 {
  width: 460px;
  height: 460px;
  background: #2a3cff;
  left: -200px;
  top: 30%;
  opacity: 0.45;
}

div.geeks .hero-search-sentence__langs {
  position: absolute;
  top: 14px;
  right: var(--ce-home-pad-right);
  z-index: 2;
  display: flex;
  align-items: stretch;
  height: 32px;
  border: 1px solid color-mix(in srgb, var(--hss-white) 70%, transparent);
  border-radius: var(--ce-home-radius-sm);
  overflow: hidden;
  background: var(--hss-navy);
  /* Soft lift — A1 glass edge without changing fill */
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 12px 28px -14px rgba(0, 10, 50, 0.7);
}

div.geeks .hero-search-sentence__lang {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  padding: 0 10px;
  border: 0;
  background: transparent;
  color: var(--hss-white);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: none;
}

div.geeks .hero-search-sentence__lang + .hero-search-sentence__lang {
  border-left: 1px solid color-mix(in srgb, var(--hss-white) 70%, transparent);
}

div.geeks .hero-search-sentence__lang:hover,
div.geeks .hero-search-sentence__lang:focus-visible {
  background: color-mix(in srgb, var(--hss-white) 16%, transparent);
  color: var(--hss-white);
  text-decoration: none;
}

div.geeks .hero-search-sentence__lang.is-current,
div.geeks .hero-search-sentence__lang[aria-current="page"] {
  background: var(--hss-white);
  color: var(--hss-navy);
}

div.geeks .hero-search-sentence__lang:focus-visible {
  outline: 3px solid var(--ce-home-focus-on-dark);
  outline-offset: 2px;
}

div.geeks .hero-search-sentence__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
  gap: 48px 64px;
  align-items: center;
  max-width: var(--ce-home-measure);
  min-width: 0;
  margin: 0 auto;
}

div.geeks .hero-search-sentence__main {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}

div.geeks .hero-search-sentence__promo {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  padding: 5px 14px 5px 5px;
  border-radius: var(--hss-pill-radius);
  border: 0;
  background: color-mix(in srgb, var(--hss-white) 10%, transparent);
  color: var(--hss-white);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 14px 32px -16px rgba(0, 10, 50, 0.75);
  transition: transform 0.3s var(--hss-ease), box-shadow 0.3s var(--hss-ease), background-color 0.25s ease;
}

div.geeks .hero-search-sentence__promo:hover,
div.geeks .hero-search-sentence__promo:focus-visible {
  color: var(--hss-white);
  text-decoration: none;
  background: color-mix(in srgb, var(--hss-white) 16%, transparent);
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 18px 36px -16px rgba(0, 10, 50, 0.85);
}

div.geeks .hero-search-sentence__promo:focus-visible {
  outline: 3px solid var(--ce-home-focus-on-dark);
  outline-offset: 2px;
}

div.geeks .hero-search-sentence__promo-badge {
  flex: 0 0 auto;
  padding: 4px 10px;
  border-radius: var(--hss-pill-radius);
  background: var(--hss-accent);
  color: var(--hss-navy);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    0 2px 6px rgba(0, 20, 70, 0.28);
}

div.geeks .hero-search-sentence__promo-label {
  min-width: 0;
}

div.geeks .hero-search-sentence__promo-chevron {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  transition: transform 0.3s var(--hss-ease);
}

div.geeks .hero-search-sentence__promo:hover .hero-search-sentence__promo-chevron,
div.geeks .hero-search-sentence__promo:focus-visible .hero-search-sentence__promo-chevron {
  transform: translateX(3px);
}

div.geeks .hero-search-sentence__kicker {
  color: var(--hss-accent);
}

div.geeks .hero-search-sentence__panel[hidden],
div.geeks .hero-search-sentence__stats[hidden],
div.geeks .hero-search-sentence__calls[hidden] {
  display: none !important;
}

div.geeks .hero-search-sentence__panel {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}

div#mainContentContainer div.geeks h1.hero-search-sentence__prompt,
div.geeks h1.hero-search-sentence__prompt {
  display: flex;
  flex-direction: column;
  gap: 0.08em;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-weight: 500 !important;
  font-size: clamp(2rem, 4.2vw, 3.25rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em;
  text-transform: none;
  color: var(--hss-white);
  margin: 0;
  max-width: 18ch;
  text-shadow: 0 18px 50px rgba(0, 15, 60, 0.45);
}

div.geeks .hero-search-sentence__prompt-lead,
div.geeks .hero-search-sentence__prompt-trail {
  display: block;
}

div.geeks .hero-search-sentence__prompt--branded .hero-search-sentence__prompt-lead {
  font-weight: 700;
  background: linear-gradient(90deg, var(--hss-white) 0%, var(--hss-accent) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  /* Keep descenders (g/y) from clipping under gradient paint */
  padding-bottom: 0.1em;
  margin-bottom: -0.1em;
  filter: drop-shadow(0 10px 28px rgba(40, 140, 255, 0.28));
}

div.geeks .hero-search-sentence__prompt--branded .hero-search-sentence__prompt-trail {
  font-weight: 700;
  color: var(--hss-white);
}

div.geeks .hero-search-sentence__sub {
  margin: 0;
  max-width: 46ch;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--hss-on-navy-muted);
}

div.geeks .hero-search-sentence__form {
  margin: 0;
}

/* Search coach v4 inside the hero (searchbar coach_live, CE home):
   suggestions list under the field, in the hero's own colors. */
div.geeks .hero-search-sentence__form--coach {
  position: relative;
}

div.geeks .hero-search-sentence__form--coach .hero-search-sentence__suggest {
  position: absolute;
  z-index: 40;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  margin: 0;
  padding: 8px;
  list-style: none;
  background: var(--hss-white, #fff);
  color: #0b2540;
  border-radius: var(--hss-field-radius, 14px);
  box-shadow:
    0 2px 4px rgba(0, 20, 70, 0.08),
    0 30px 60px -20px rgba(0, 15, 60, 0.55);
  font-family: "Plus Jakarta Sans", sans-serif;
  text-align: left;
}

div.geeks .hero-search-sentence__form--coach .hero-search-sentence__suggest[hidden] {
  display: none;
}

/* The hero clips its overflow; while the list is open it may hang over
   the next section. */
div.geeks .hero-search-sentence:has(.hero-search-sentence__suggest:not([hidden])) {
  overflow: visible;
  z-index: 20;
}

div.geeks .hero-search-sentence__form--coach .coach-live-combo__label {
  padding: 6px 12px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #5b6b7d;
}

div.geeks .hero-search-sentence__form--coach .coach-live-combo__option {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 16px;
  cursor: pointer;
}

div.geeks .hero-search-sentence__form--coach .coach-live-combo__option[aria-selected="true"],
div.geeks .hero-search-sentence__form--coach .coach-live-combo__option:hover {
  background: #e8f1fa;
  color: #00427c;
}

div.geeks .hero-search-sentence__field {
  --hss-prev-slot: 0px;
  --hss-submit-slot: var(--hss-submit-w);
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 0;
  height: var(--hss-field-h);
  border: 0;
  border-radius: var(--hss-field-radius);
  overflow: hidden;
  background: var(--hss-field-surface);
  /* Soft edge glow so the dark field reads against the dark hero */
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    inset 0 1px 3px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(140, 200, 255, 0.22),
    0 0 20px 2px rgba(80, 170, 255, 0.28),
    0 28px 56px -24px rgba(0, 8, 40, 0.95),
    0 10px 20px -12px rgba(0, 10, 50, 0.55);
  transition: box-shadow 0.3s var(--hss-ease);
}

div.geeks .hero-search-sentence__field:has(.hero-search-sentence__prev) {
  --hss-prev-slot: 40px;
}

div.geeks .hero-search-sentence__input,
div.geeks .hero-search-sentence__ghost {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  padding: 0;
}

div.geeks .hero-search-sentence__input {
  flex: 1;
  min-width: 0;
  height: var(--hss-field-h);
  border: 0;
  border-radius: 0;
  padding: 0 12px;
  background: transparent;
  color: var(--hss-white);
  caret-color: var(--hss-white);
}

/* Native search clear (X) → white eraser */
div.geeks .hero-search-sentence__input::-webkit-search-decoration {
  -webkit-appearance: none;
}

div.geeks .hero-search-sentence__input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 1.375rem;
  height: 1.375rem;
  margin-left: 6px;
  margin-right: 2px;
  cursor: pointer;
  background-color: var(--hss-white);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21'/%3E%3Cpath d='M22 21H7'/%3E%3Cpath d='m5 11 9 9'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21'/%3E%3Cpath d='M22 21H7'/%3E%3Cpath d='m5 11 9 9'/%3E%3C/svg%3E") center / contain no-repeat;
}

div.geeks .hero-search-sentence__input::placeholder {
  color: var(--hss-placeholder);
  opacity: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: opacity 160ms ease-out;
}

/* Dim on focus so the rotating example reads as replaceable, not typed text. */
div.geeks .hero-search-sentence__input:focus::placeholder,
div.geeks .hero-search-sentence__input:focus-visible::placeholder {
  opacity: 0.42;
}

div.geeks .hero-search-sentence__input.is-placeholder-animating::placeholder {
  color: transparent;
  -webkit-text-fill-color: transparent;
  opacity: 0;
}

div.geeks .hero-search-sentence__ghost {
  position: absolute;
  left: calc(var(--hss-prev-slot) + 12px);
  top: 0;
  bottom: 0;
  right: var(--hss-submit-slot);
  display: flex;
  align-items: center;
  box-sizing: border-box;
  overflow: hidden;
  color: var(--hss-placeholder);
  pointer-events: none;
  white-space: nowrap;
}

div.geeks .hero-search-sentence__ghost[hidden] {
  display: none;
}

div.geeks .hero-search-sentence__ghost-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

div.geeks .hero-search-sentence__caret {
  flex: 0 0 2px;
  width: 2px;
  height: 1.15em;
  margin-left: 3px;
  background: var(--hss-white);
  animation: hero-search-sentence-caret-blink 1.06s step-end infinite;
}

div.geeks .hero-search-sentence__caret.is-solid {
  animation: none;
  opacity: 1;
}

@keyframes hero-search-sentence-caret-blink {
  0%,
  49% {
    opacity: 1;
  }
  50%,
  100% {
    opacity: 0;
  }
}

div.geeks .hero-search-sentence__prev {
  flex: 0 0 var(--hss-prev-slot);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--hss-prev-slot);
  min-width: 44px;
  height: var(--hss-field-h);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--hss-on-navy-muted);
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
}

div.geeks .hero-search-sentence__prev:hover,
div.geeks .hero-search-sentence__prev:focus-visible {
  background: transparent;
  color: var(--hss-white);
}

div.geeks .hero-search-sentence__prev .fa-arrow-left {
  display: inline-block;
  transform-origin: center;
  transition: transform 160ms ease-out;
}

div.geeks .hero-search-sentence__prev:hover .fa-arrow-left,
div.geeks .hero-search-sentence__prev:focus-visible .fa-arrow-left {
  transform: scale(1.12);
}

div.geeks .hero-search-sentence__input:focus,
div.geeks .hero-search-sentence__input:focus-visible,
div.geeks .hero-search-sentence__prev:focus,
div.geeks .hero-search-sentence__prev:focus-visible {
  outline: none;
  box-shadow: none;
}

/* Keep extruded submit relief; field container owns the focus ring */
div.geeks .hero-search-sentence__submit:focus,
div.geeks .hero-search-sentence__submit:focus-visible {
  outline: none;
}

div.geeks .hero-search-sentence__field:focus-within {
  background: var(--hss-field-surface-lift);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    inset 0 1px 3px rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(140, 200, 255, 0.32),
    0 0 0 4px rgba(140, 200, 255, 0.22),
    0 0 28px 4px rgba(80, 170, 255, 0.36),
    0 32px 64px -24px rgba(0, 8, 40, 0.95),
    0 12px 24px -12px rgba(0, 10, 50, 0.6);
}

div.geeks .hero-search-sentence__submit {
  flex: 0 0 var(--hss-submit-w);
  width: var(--hss-submit-w);
  min-width: 44px;
  min-height: 44px;
  height: var(--hss-field-h);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--hss-accent);
  color: var(--hss-navy);
  font-size: 16px;
  line-height: 1;
  /* Extruded search CTA — same fill, relief via light/shadow */
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 -2px 0 rgba(0, 40, 100, 0.12),
    0 10px 22px -8px rgba(80, 170, 255, 0.65);
  transition: filter 0.25s ease, box-shadow 0.25s var(--hss-ease);
}

div.geeks .hero-search-sentence__submit:hover {
  background: var(--hss-accent-hover);
  filter: brightness(1.04);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.65),
    inset 0 -2px 0 rgba(0, 40, 100, 0.1),
    0 14px 26px -8px rgba(80, 170, 255, 0.8);
}

div.geeks .hero-search-sentence__submit .fa-search {
  display: inline-block;
  transform-origin: center;
  transition: transform 160ms ease-out;
}

div.geeks .hero-search-sentence__submit:hover .fa-search,
div.geeks .hero-search-sentence__submit:focus-visible .fa-search {
  transform: scale(1.12);
}

/* Search field: move keyboard focus ring from input/button onto the field container */
div.geeks .hero-search-sentence__field:has(:focus-visible) {
  outline: 3px solid var(--ce-home-focus-on-dark);
  outline-offset: 3px;
}

div.geeks .hero-search-sentence__chips {
  /* Full inner measure so the marquee sits in the middle of the hero, not only the left column */
  grid-column: 1 / -1;
  justify-self: stretch;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  margin-top: 18px;
  margin-inline: auto;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 12%,
    #000 88%,
    transparent 100%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 12%,
    #000 88%,
    transparent 100%
  );
}

div.geeks .hero-search-sentence__chips-track {
  display: flex;
  width: max-content;
  will-change: transform;
}

div.geeks .hero-search-sentence__chips-track.is-marquee {
  animation: hero-search-chips-marquee 48s linear infinite;
}

div.geeks .hero-search-sentence__chips:hover .hero-search-sentence__chips-track.is-marquee,
div.geeks .hero-search-sentence__chips:focus-within .hero-search-sentence__chips-track.is-marquee {
  animation-play-state: paused;
}

div.geeks .hero-search-sentence__chips-set {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
  padding-inline-end: 14px;
  font-size: 13px;
  font-weight: 600;
  color: color-mix(in srgb, var(--hss-white) 80%, transparent);
}

div.geeks .hero-search-sentence__chip-sep {
  flex-shrink: 0;
  padding-right: 14px;
  color: var(--hss-accent);
}

div.geeks .hero-search-sentence__chip {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding-right: 14px;
  color: inherit;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: 0;
  text-decoration: none;
  white-space: nowrap;
  text-shadow: 0 8px 18px rgba(0, 10, 50, 0.35);
  transition: color 0.2s ease, transform 0.2s var(--hss-ease), text-shadow 0.2s ease;
}

div.geeks .hero-search-sentence__chip:hover,
div.geeks .hero-search-sentence__chip:focus-visible {
  color: var(--hss-white);
  text-decoration: none;
  transform: translateY(-2px);
  text-shadow: 0 12px 22px rgba(0, 10, 50, 0.5);
}

div.geeks .hero-search-sentence__chip:focus-visible {
  outline: 3px solid var(--ce-home-focus-on-dark);
  outline-offset: 2px;
}

@keyframes hero-search-chips-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  div.geeks .hero-search-sentence__chips {
    -webkit-mask-image: none;
    mask-image: none;
  }

  div.geeks .hero-search-sentence__chips-track,
  div.geeks .hero-search-sentence__chips-track.is-marquee {
    animation: none;
    width: 100%;
  }

  div.geeks .hero-search-sentence__chips-set {
    flex-wrap: wrap;
    justify-content: center;
    padding-inline-end: 0;
  }

  div.geeks .hero-search-sentence__promo,
  div.geeks .hero-search-sentence__chip,
  div.geeks .hero-search-sentence__call,
  div.geeks .hero-search-sentence__call-item,
  div.geeks .hero-search-sentence__call-chevron,
  div.geeks .hero-search-sentence__promo-chevron,
  div.geeks .hero-search-sentence__submit {
    transition: none !important;
    transform: none !important;
    filter: none !important;
  }
}

div.geeks .hero-search-sentence__stats {
  display: flex;
  flex-direction: column;
  gap: 0;
}

div.geeks .hero-search-sentence__stat {
  padding: 12px 0;
  border-top: 2px solid var(--hss-accent);
}

div.geeks .hero-search-sentence__stat:last-child {
  border-bottom: 2px solid var(--hss-accent);
}

div.geeks .hero-search-sentence__stat-value {
  margin: 0;
  font-family: "Archivo", sans-serif;
  font-weight: 200;
  font-size: 32px;
  line-height: 1;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  color: var(--hss-accent);
}

div.geeks .hero-search-sentence__stat-label {
  margin: 6px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hss-white);
}

div.geeks .hero-search-sentence__calls {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}

div.geeks .hero-search-sentence__call-group {
  display: flex;
  flex-direction: column;
  gap: 0;
}

div.geeks .hero-search-sentence__call {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  margin: 0;
  padding: 14px 16px 14px 14px;
  border: 0;
  border-radius: var(--hss-pill-radius);
  background: color-mix(in srgb, var(--hss-white) 10%, transparent);
  color: var(--hss-white);
  text-align: left;
  text-decoration: none;
  font: inherit;
  cursor: pointer;
  /* Mid plane: glass edge + cast shadow (A1/A2), no tilt */
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 18px 36px -22px rgba(0, 8, 40, 0.85),
    0 6px 14px -10px rgba(0, 10, 50, 0.45);
  transition:
    background-color 0.25s ease,
    box-shadow 0.3s var(--hss-ease),
    transform 0.3s var(--hss-ease);
}

/* Keep the toggle above the sliding items so they emerge from under it. */
div.geeks .hero-search-sentence__call--toggle {
  position: relative;
  z-index: 2;
}

div.geeks a.hero-search-sentence__call:hover,
div.geeks a.hero-search-sentence__call:focus-visible,
div.geeks .hero-search-sentence__call--toggle:hover,
div.geeks .hero-search-sentence__call--toggle:focus-visible,
div.geeks .hero-search-sentence__call--toggle[aria-expanded="true"] {
  color: var(--hss-white);
  text-decoration: none;
  background: color-mix(in srgb, var(--hss-white) 18%, transparent);
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 0 0 1px rgba(160, 210, 255, 0.22),
    0 28px 48px -24px rgba(0, 8, 40, 0.92),
    0 10px 18px -10px rgba(0, 10, 50, 0.55);
}

div.geeks .hero-search-sentence__call:focus-visible {
  outline: 3px solid var(--ce-home-focus-on-dark);
  outline-offset: 2px;
}

div.geeks .hero-search-sentence__call-main {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

div.geeks .hero-search-sentence__call-icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  color: var(--hss-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 10px 16px rgba(0, 10, 50, 0.55));
}

div.geeks .hero-search-sentence__call-icon svg {
  width: 26px;
  height: 26px;
}

div.geeks .hero-search-sentence__call-chevron {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: var(--hss-pill-radius);
  background: var(--hss-white);
  color: var(--hss-navy);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    inset 0 -2px 0 rgba(10, 76, 180, 0.12),
    0 10px 20px -10px rgba(0, 10, 50, 0.7);
  transition: transform 0.3s var(--hss-ease), box-shadow 0.3s var(--hss-ease);
}

div.geeks .hero-search-sentence__call-chevron svg {
  width: 16px;
  height: 16px;
}

div.geeks a.hero-search-sentence__call:hover .hero-search-sentence__call-chevron,
div.geeks a.hero-search-sentence__call:focus-visible .hero-search-sentence__call-chevron,
div.geeks .hero-search-sentence__call--toggle:hover .hero-search-sentence__call-chevron,
div.geeks .hero-search-sentence__call--toggle:focus-visible .hero-search-sentence__call-chevron {
  transform: translateX(3px);
  box-shadow:
    inset 0 -2px 0 rgba(10, 76, 180, 0.12),
    0 14px 24px -10px rgba(0, 10, 50, 0.8);
}

div.geeks .hero-search-sentence__call--toggle[aria-expanded="true"] .hero-search-sentence__call-chevron {
  /* Expand affordance only — counterclockwise from the right-pointing chevron */
  transform: rotate(-90deg);
}

div.geeks .hero-search-sentence__call-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

div.geeks .hero-search-sentence__call-label {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--hss-white);
}

div.geeks .hero-search-sentence__call-help {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--hss-on-navy-muted);
}

div.geeks .hero-search-sentence__call-items {
  display: grid;
  grid-template-rows: 0fr;
  position: relative;
  z-index: 1;
  opacity: 0;
  transform: translateY(-14px);
  pointer-events: none;
  transition:
    grid-template-rows 0.4s var(--hss-ease),
    opacity 0.32s ease,
    transform 0.4s var(--hss-ease);
}

div.geeks .hero-search-sentence__call-items.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

div.geeks .hero-search-sentence__call-items[hidden] {
  display: none;
}

div.geeks .hero-search-sentence__call-items-panel {
  overflow: hidden;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  background: transparent;
  padding: 10px 6px 0;
}

div.geeks .hero-search-sentence__call-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 16px 22px;
  border: 0;
  border-radius: var(--hss-pill-radius);
  background: color-mix(in srgb, var(--hss-white) 10%, transparent);
  color: var(--hss-white);
  text-align: left;
  text-decoration: none;
  /* Glass edge only — no dark cast shadow (it clipped into a band on aurora). */
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
  transition:
    background-color 0.25s ease,
    box-shadow 0.3s var(--hss-ease),
    transform 0.3s var(--hss-ease);
}

div.geeks .hero-search-sentence__call-item:hover,
div.geeks .hero-search-sentence__call-item:focus-visible {
  color: var(--hss-white);
  text-decoration: none;
  background: color-mix(in srgb, var(--hss-white) 18%, transparent);
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 0 0 1px rgba(160, 210, 255, 0.22);
}

div.geeks .hero-search-sentence__call-item:focus-visible {
  outline: 3px solid var(--ce-home-focus-on-dark);
  outline-offset: 2px;
}

div.geeks .hero-search-sentence__call-item-label {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--hss-white);
}

div.geeks .hero-search-sentence__call-item-help {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--hss-on-navy-muted);
}

/* Temporary description-search results. Top layer dialog; the hero stays put. */
div.geeks .hero-search-sentence__results:not([open]) {
  display: none;
}

div.geeks .hero-search-sentence__results[open] {
  width: min(44rem, calc(100vw - 2rem));
  max-height: min(86vh, 48rem);
  margin: auto;
  padding: 0;
  overflow: auto;
  border: 0;
  border-top: 4px solid var(--hss-accent);
  border-radius: var(--ce-home-radius-lg);
  background: var(--hss-white);
  color: var(--hss-navy);
  box-shadow: 0 18px 50px color-mix(in srgb, var(--hss-navy) 24%, transparent);
}

div.geeks .hero-search-sentence__results::backdrop {
  background: color-mix(in srgb, var(--hss-navy) 62%, transparent);
}

div.geeks .hero-search-sentence__results-head {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 16px 12px 24px;
  background: var(--hss-white);
}

div.geeks .hero-search-sentence__results-heading {
  min-width: 0;
}

div#mainContentContainer div.geeks p.hero-search-sentence__results-kicker,
div.geeks .hero-search-sentence__results-kicker {
  margin: 0 0 6px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--hss-accent);
}

div#mainContentContainer div.geeks h2.hero-search-sentence__results-title,
div.geeks h2.hero-search-sentence__results-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em;
  color: var(--hss-navy);
  overflow-wrap: anywhere;
}

div.geeks .hero-search-sentence__results-close {
  flex: 0 0 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--ce-home-radius-sm);
  background: transparent;
  color: var(--hss-navy);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

div.geeks .hero-search-sentence__results-close:hover,
div.geeks .hero-search-sentence__results-close:focus-visible {
  background: color-mix(in srgb, var(--hss-accent) 18%, transparent);
  color: var(--hss-navy);
}

div.geeks .hero-search-sentence__results-close:focus-visible {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div#mainContentContainer div.geeks p.hero-search-sentence__results-status,
div.geeks .hero-search-sentence__results-status {
  margin: 0;
  padding: 0 24px 8px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--mdc-palette-grey-500);
}

div.geeks .hero-search-sentence__results-status:empty {
  display: none;
}

div.geeks .hero-search-sentence__results-body {
  padding: 0 24px 8px;
}

div#mainContentContainer div.geeks p.hero-search-sentence__results-notice,
div.geeks .hero-search-sentence__results-notice,
div#mainContentContainer div.geeks p.hero-search-sentence__results-understood,
div.geeks .hero-search-sentence__results-understood {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 0 0 12px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  line-height: 1.4;
  color: var(--mdc-palette-grey-700);
}

div.geeks .hero-search-sentence__results-notice[hidden],
div.geeks .hero-search-sentence__results-understood[hidden],
div.geeks .hero-search-sentence__coach[hidden],
div.geeks .hero-search-sentence__coach-options[hidden],
div.geeks .hero-search-sentence__results-foot[hidden] {
  display: none !important;
}

div.geeks .hero-search-sentence__understood-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mdc-palette-grey-500);
}

div.geeks .hero-search-sentence__understood-chip {
  padding: 3px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--hss-accent) 30%, var(--hss-white));
  font-size: 13px;
  font-weight: 700;
  color: var(--hss-navy);
}

/* Coach: a short message and up to 4 options that run a new search. */
div.geeks .hero-search-sentence__coach {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 12px;
  padding: 14px 16px;
  border-radius: var(--ce-home-radius-sm);
  background: color-mix(in srgb, var(--hss-accent) 18%, var(--hss-white));
}

div.geeks .hero-search-sentence__coach-avatar {
  flex: 0 0 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--hss-navy);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: var(--hss-white);
}

div#mainContentContainer div.geeks p.hero-search-sentence__coach-message,
div.geeks .hero-search-sentence__coach-message {
  margin: 4px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  line-height: 1.45;
  color: var(--hss-navy);
}

div.geeks .hero-search-sentence__coach-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}

div.geeks .hero-search-sentence__coach-option {
  min-height: 40px;
  margin: 0;
  padding: 8px 16px;
  border: 1.5px solid var(--hss-navy);
  border-radius: 999px;
  background: var(--hss-white);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--hss-navy);
  cursor: pointer;
}

div.geeks .hero-search-sentence__coach-option:hover,
div.geeks .hero-search-sentence__coach-option:focus-visible {
  background: var(--hss-navy);
  color: var(--hss-white);
}

div.geeks .hero-search-sentence__coach-option:focus-visible,
div.geeks .hero-search-sentence__result-cta:focus-visible,
div.geeks .hero-search-sentence__result-title a:focus-visible,
div.geeks .hero-search-sentence__results-login:focus-visible {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div.geeks .hero-search-sentence__results-list[hidden] {
  display: none !important;
}

div.geeks .hero-search-sentence__results-list {
  display: grid;
  gap: 0;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}

/* Result card, in the style of the CE home program cards. */
div.geeks .hero-search-sentence__result {
  position: relative;
  padding: 18px 0 20px;
  border-top: 1px solid color-mix(in srgb, var(--hss-navy) 10%, transparent);
  background: var(--hss-white);
}

div.geeks .hero-search-sentence__result:first-child {
  border-top: 0;
  padding-top: 4px;
}

div#mainContentContainer div.geeks p.hero-search-sentence__result-tags,
div.geeks .hero-search-sentence__result-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 8px;
}

div.geeks .hero-search-sentence__tag {
  padding: 3px 8px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--hss-accent) 22%, var(--hss-white));
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hss-navy);
}

div.geeks .hero-search-sentence__tag--best {
  background: #e3f3e8;
  color: #1d6b38;
}

div.geeks .hero-search-sentence__tag--near {
  background: #fff1d6;
  color: #7a4f00;
}

div#mainContentContainer div.geeks h3.hero-search-sentence__result-title,
div.geeks h3.hero-search-sentence__result-title {
  position: relative;
  margin: 0 0 6px;
  padding-top: 12px;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--hss-navy);
}

/* The short blue bar over the title, as on the CE home cards. */
div.geeks h3.hero-search-sentence__result-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 28px;
  height: 3px;
  border-radius: 2px;
  background: var(--hss-navy);
}

div.geeks .hero-search-sentence__result-title a {
  color: inherit;
  text-decoration: none;
}

div.geeks .hero-search-sentence__result-title a:hover {
  text-decoration: underline;
}

div#mainContentContainer div.geeks p.hero-search-sentence__result-description,
div.geeks .hero-search-sentence__result-description {
  margin: 0 0 10px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--mdc-palette-grey-700);
}

div.geeks .hero-search-sentence__result-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  color: var(--hss-navy);
}

div.geeks .hero-search-sentence__result-facts li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: var(--hss-accent);
  vertical-align: middle;
}

div.geeks .hero-search-sentence__result-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--hss-navy);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--hss-white) !important;
  text-decoration: none !important;
}

div.geeks .hero-search-sentence__result-cta::after {
  content: "→";
}

div.geeks .hero-search-sentence__result-cta:hover {
  background: color-mix(in srgb, var(--hss-navy) 85%, black);
}

/* Thinking: a clear "working" label and one live catalog figure at a time
   (counts only, never course names), instead of grey loading bars. */
div.geeks .hero-search-sentence__thinking {
  margin: 4px 0 16px;
  padding: 20px 20px 22px;
  border-radius: var(--ce-home-radius-sm);
  background: color-mix(in srgb, var(--hss-accent) 14%, var(--hss-white));
}

div#mainContentContainer div.geeks p.hero-search-sentence__thinking-label,
div.geeks .hero-search-sentence__thinking-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--hss-navy);
}

div.geeks .hero-search-sentence__thinking-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--hss-navy);
  animation: hero-search-pulse 1.1s ease-in-out infinite;
}

div.geeks .hero-search-sentence__thinking-ellipsis {
  margin-left: -6px;
  animation: hero-search-blink 1.1s steps(2, start) infinite;
}

div#mainContentContainer div.geeks p.hero-search-sentence__thinking-fact,
div.geeks .hero-search-sentence__thinking-fact {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-height: 64px;
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  color: var(--hss-navy);
}

div.geeks .hero-search-sentence__thinking-fact.is-in {
  animation: hero-search-fact-in 400ms ease-out;
}

div.geeks .hero-search-sentence__thinking-value {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

div.geeks .hero-search-sentence__thinking-text {
  font-size: 15px;
  line-height: 1.4;
  color: var(--mdc-palette-grey-700);
}

@keyframes hero-search-pulse {
  0%, 100% { transform: scale(0.8); opacity: 0.5; }
  50% { transform: scale(1.15); opacity: 1; }
}

@keyframes hero-search-blink {
  to { visibility: hidden; }
}

@keyframes hero-search-fact-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  div.geeks .hero-search-sentence__thinking-dot,
  div.geeks .hero-search-sentence__thinking-ellipsis,
  div.geeks .hero-search-sentence__thinking-fact.is-in {
    animation: none;
  }
}

div.geeks .hero-search-sentence__results-foot {
  position: sticky;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  padding: 12px 24px;
  border-top: 1px solid color-mix(in srgb, var(--hss-navy) 12%, transparent);
  background: var(--hss-white);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  color: var(--mdc-palette-grey-500);
}

div.geeks .hero-search-sentence__results-login {
  font-weight: 700;
  color: var(--hss-navy) !important;
}

div.geeks .sought-programs-board {
  --spb-navy: var(--mdc-palette-primary-500);
  --spb-signal: var(--mdc-palette-purple);
  --spb-ground: var(--mdc-palette-light-grey-100);
  --spb-ink: var(--mdc-palette-grey-700);
  --spb-soft: var(--mdc-palette-grey-500);
  --spb-mute: var(--mdc-palette-grey-400);
  --spb-hair: var(--mdc-palette-light-grey-400);
  --spb-white: var(--mdc-palette-white);
  --spb-move: 400ms;
  --spb-stagger: 140ms;
  --spb-ease: cubic-bezier(0, 0, 0.2, 1);
  --spb-control-hover: var(--mdc-palette-light-blue-normal);
  position: relative;
  isolation: isolate;
  background: var(--spb-ground);
  color: var(--spb-ink);
  padding: var(--ce-home-pad-top) var(--ce-home-pad-right) var(--ce-home-pad-bottom) var(--ce-home-pad-left);
}

div.geeks .sought-programs-board__inner {
  position: relative;
  z-index: 1;
  max-width: var(--ce-home-measure);
  min-width: 0;
  margin: 0 auto;
}

div.geeks .sought-programs-board__title-row {
  grid-column: 1;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 12px 16px;
  min-width: 0;
}

div.geeks .sought-programs-board__controls {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  margin: 0 0 0.12em auto;
}

div.geeks .sought-programs-board__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  appearance: none;
  background: var(--spb-white);
  color: var(--spb-navy);
  box-shadow: inset 0 0 0 1px var(--spb-hair);
  cursor: pointer;
}

div.geeks .sought-programs-board__arrow svg {
  display: block;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

div.geeks .sought-programs-board__arrow:hover {
  background: var(--spb-control-hover);
}

div.geeks .sought-programs-board__arrow:focus-visible {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div.geeks .sought-programs-board__arrow:disabled {
  opacity: 0.35;
  cursor: default;
  background: transparent;
}

div.geeks .sought-programs-board__viewport {
  position: relative;
  box-sizing: content-box;
  margin: 40px 0 0;
  overflow: hidden;
  background: transparent;
}

div.geeks .sought-programs-board.is-paged .sought-programs-board__viewport {
  overflow: hidden;
  transition: height var(--spb-move) cubic-bezier(0.22, 1, 0.36, 1);
}

div.geeks .sought-programs-board__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

div.geeks .sought-programs-board__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--ce-home-kicker-gap) 32px;
  align-items: end;
  margin: 0;
}

div.geeks .sought-programs-board__header:has(.sought-programs-board__sub) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 34rem);
  column-gap: 64px;
}

div.geeks .sought-programs-board__kicker {
  grid-column: 1;
  color: var(--spb-mute);
}

div.geeks .sought-programs-board__header:has(.sought-programs-board__sub) .sought-programs-board__title-row {
  grid-column: 1;
}

/* Typography inherits #mainContentContainer div.geeks h2 (contact_form reference). */
div#mainContentContainer div.geeks h2.sought-programs-board__heading,
div.geeks h2.sought-programs-board__heading {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  color: var(--spb-ink);
}

div#mainContentContainer div.geeks p.sought-programs-board__sub,
div.geeks .sought-programs-board__sub {
  grid-column: 2;
  grid-row: 1 / -1;
  align-self: end;
  justify-self: end;
  margin: 0;
  max-width: 56ch;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.0625rem;
  line-height: 1.6;
  text-align: left;
  color: var(--spb-soft);
}

div.geeks .sought-programs-board__list {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
  background: transparent;
}

div.geeks .sought-programs-board__list.is-swap-next .sought-programs-board__item,
div.geeks .sought-programs-board__list.is-swap-prev .sought-programs-board__item {
  animation-duration: var(--spb-move);
  animation-timing-function: var(--spb-ease);
  animation-fill-mode: both;
}

div.geeks .sought-programs-board__list.is-swap-next .sought-programs-board__item {
  animation-name: spb-board-next;
}

div.geeks .sought-programs-board__list.is-swap-prev .sought-programs-board__item {
  animation-name: spb-board-prev;
}

div.geeks .sought-programs-board__list.is-swap-next .sought-programs-board__item:nth-child(3n + 2),
div.geeks .sought-programs-board__list.is-swap-prev .sought-programs-board__item:nth-child(3n + 2) {
  animation-delay: var(--spb-stagger);
}

div.geeks .sought-programs-board__list.is-swap-next .sought-programs-board__item:nth-child(3n) {
  animation-delay: calc(var(--spb-stagger) * 2);
}

div.geeks .sought-programs-board__list.is-swap-prev .sought-programs-board__item:nth-child(3n + 1) {
  animation-delay: calc(var(--spb-stagger) * 2);
}

@keyframes spb-board-next {
  from {
    opacity: 0.6;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes spb-board-prev {
  from {
    opacity: 0.6;
    transform: translateY(-100%);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

div.geeks .sought-programs-board:not(.is-paged) .sought-programs-board__item:nth-child(n + 4),
div.geeks .sought-programs-board__item.is-off {
  display: none !important;
}

div.geeks .sought-programs-board__item {
  margin: 0;
  padding: 4px;
  min-width: 0;
}

div.geeks .sought-programs-board__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 28px 24px;
  color: inherit;
  text-decoration: none;
  background-color: var(--spb-white);
  border: 1px solid var(--ce-home-edge);
  border-radius: var(--ce-home-radius-lg);
  box-shadow: 0 2px 2px 0 color-mix(in srgb, var(--ce-home-edge) 50%, transparent);
  transition: background-color 200ms ease-out, box-shadow 200ms ease-out;
}

div.geeks .sought-programs-board__card:hover,
div.geeks .sought-programs-board__card:focus-visible {
  background-color: color-mix(in srgb, var(--mdc-palette-light-blue-normal) 22%, var(--spb-white));
  background-image: radial-gradient(ellipse 70% 60% at 100% 100%, var(--ce-home-splash-ice), transparent 70%);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 4px 12px color-mix(in srgb, var(--spb-navy) 10%, transparent);
}

div.geeks .sought-programs-board__card:focus-visible {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div.geeks .sought-programs-board__mark {
  display: block;
  width: 48px;
  height: 6px;
  border-radius: 999px;
  background: var(--mdc-palette-primary-700);
}

div.geeks .sought-programs-board__item:nth-child(3n + 2) .sought-programs-board__mark {
  background: var(--mdc-palette-primary-800);
}

div.geeks .sought-programs-board__item:nth-child(3n) .sought-programs-board__mark {
  background: var(--spb-navy);
}

div#mainContentContainer div.geeks h3.sought-programs-board__field,
div.geeks h3.sought-programs-board__field {
  margin: 20px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 800;
  line-height: 1.25 !important;
  letter-spacing: -0.025em;
  color: var(--spb-ink);
}

div#mainContentContainer div.geeks p.sought-programs-board__title,
div.geeks .sought-programs-board__title {
  margin: 8px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.45;
  color: var(--spb-soft);
}

div#mainContentContainer div.geeks p.sought-programs-board__desc,
div.geeks .sought-programs-board__desc {
  margin: 16px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--spb-mute);
}

div.geeks .sought-programs-board__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: 24px;
  padding: 10px 16px;
  min-height: 44px;
  border-radius: var(--ce-home-radius-md);
  background: linear-gradient(90deg, #005eaa 0%, #3470e8 100%);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--spb-white);
}

div.geeks .sought-programs-board__cta svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

div.geeks .sought-programs-board__card:hover .sought-programs-board__cta,
div.geeks .sought-programs-board__card:focus-visible .sought-programs-board__cta {
  filter: brightness(1.06);
}

@media (min-width: 576px) {
  div.geeks .sought-programs-board__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  div.geeks .sought-programs-board__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

div.geeks .seasonal-recommendations {
  --sr-navy: var(--mdc-palette-primary-500);
  --sr-navy-hover: var(--mdc-palette-primary-600);
  --sr-accent: var(--mdc-palette-light-blue-normal);
  --sr-field: var(--mdc-palette-light-blue-light);
  --sr-ink: var(--mdc-palette-grey-500);
  --sr-muted: var(--mdc-palette-grey-400);
  --sr-hair: color-mix(in srgb, var(--mdc-palette-grey-500) 16%, transparent);
  --sr-white: var(--mdc-palette-white);
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 50% 40% at 0% 0%, var(--ce-home-splash-ice), transparent 60%),
    var(--sr-field);
  color: var(--sr-ink);
  padding: 48px 24px;
}

div.geeks .seasonal-recommendations:has(.seasonal-recommendations__tab-input[data-accent="summercamps"]:checked) {
  --sr-accent: var(--mdc-yellow, #ffca04);
}

div.geeks .seasonal-recommendations--has-tabs {
  padding-left: var(--ce-home-rail);
}

div.geeks .seasonal-recommendations__tabs {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: var(--ce-home-rail);
  display: flex;
  flex-direction: column;
  z-index: 2;
}

div.geeks .seasonal-recommendations__tab-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

div.geeks .seasonal-recommendations__tab {
  flex: 1 1 0;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.75rem 0;
  overflow: hidden;
  cursor: pointer;
  user-select: none;
  background: transparent;
  color: var(--sr-navy);
  transition: background-color 200ms cubic-bezier(0.25, 1, 0.5, 1), color 200ms cubic-bezier(0.25, 1, 0.5, 1);
}

div.geeks .seasonal-recommendations__tab-icon {
  flex-shrink: 0;
  font-size: 1.125rem;
  line-height: 1;
}

div.geeks .seasonal-recommendations__tab-text {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: var(--ce-home-rail-type);
  line-height: 1.2;
  letter-spacing: var(--ce-home-rail-tracking);
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

div.geeks .seasonal-recommendations__tab:hover {
  background: color-mix(in srgb, var(--sr-navy) 8%, transparent);
}

div.geeks .seasonal-recommendations__tab-input:checked + .seasonal-recommendations__tab {
  background: var(--sr-accent);
  color: var(--sr-navy);
}

div.geeks .seasonal-recommendations__tab-input:focus-visible + .seasonal-recommendations__tab {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div.geeks .seasonal-recommendations--has-tabs .seasonal-recommendations__panel {
  display: none;
}

div.geeks .seasonal-recommendations--has-tabs:has(.seasonal-recommendations__tab-input:nth-of-type(1):checked) .seasonal-recommendations__panel:nth-child(1),
div.geeks .seasonal-recommendations--has-tabs:has(.seasonal-recommendations__tab-input:nth-of-type(2):checked) .seasonal-recommendations__panel:nth-child(2),
div.geeks .seasonal-recommendations--has-tabs:has(.seasonal-recommendations__tab-input:nth-of-type(3):checked) .seasonal-recommendations__panel:nth-child(3),
div.geeks .seasonal-recommendations--has-tabs:has(.seasonal-recommendations__tab-input:nth-of-type(4):checked) .seasonal-recommendations__panel:nth-child(4) {
  display: block;
}

div.geeks .seasonal-recommendations__inner {
  position: relative;
  z-index: 1;
  max-width: 1120px;
  margin: 0 auto;
}

div.geeks .seasonal-recommendations__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px 48px;
  align-items: end;
  margin: 0 0 32px;
}

div.geeks .seasonal-recommendations__kicker-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin: 0 0 16px;
}

div.geeks .seasonal-recommendations__kicker {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sr-navy);
}

div#mainContentContainer div.geeks h2.seasonal-recommendations__heading,
div.geeks h2.seasonal-recommendations__heading {
  font-family: "Archivo", sans-serif !important;
  font-weight: 200 !important;
  font-size: clamp(1.75rem, 3.2vw, 2.5rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em;
  color: var(--sr-navy);
  margin: 0 0 12px;
}

div.geeks h2.seasonal-recommendations__heading::after {
  content: "";
  display: block;
  width: 100px;
  height: 2px;
  margin-top: 12px;
  background: rgba(154, 205, 254, 1);
}

div.geeks .seasonal-recommendations__sub {
  margin: 0;
  max-width: 46ch;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--sr-ink);
}

div.geeks .seasonal-recommendations__aside {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

div.geeks .seasonal-recommendations__window {
  margin: 0;
  font-family: "Archivo", sans-serif;
  font-weight: 200;
  font-size: 28px;
  line-height: 1;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  color: var(--sr-navy);
}

div.geeks .seasonal-recommendations__all {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sr-navy);
  text-decoration: none;
  border-bottom: 1px solid var(--sr-navy);
}

div.geeks .seasonal-recommendations__all:hover,
div.geeks .seasonal-recommendations__all:focus-visible {
  color: var(--sr-navy);
  border-bottom-color: var(--sr-accent);
}

div.geeks .seasonal-recommendations__all:focus-visible {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div.geeks .seasonal-recommendations__stage {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(240px, 0.85fr);
  gap: 24px;
  align-items: stretch;
}

div.geeks .seasonal-recommendations__stage--solo {
  grid-template-columns: 1fr;
}

div.geeks .seasonal-recommendations__featured {
  position: relative;
  display: block;
  min-height: 360px;
  overflow: hidden;
  color: var(--sr-white);
  text-decoration: none;
  background: var(--sr-navy);
  border-radius: var(--ce-home-radius-lg);
}

div.geeks .seasonal-recommendations__featured:focus-visible {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div.geeks .seasonal-recommendations__featured-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

div.geeks .seasonal-recommendations__featured-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  min-height: 360px;
  padding: 28px 24px 24px;
  background: linear-gradient(
    180deg,
    transparent 20%,
    color-mix(in srgb, var(--sr-navy) 55%, transparent) 52%,
    var(--sr-navy) 100%
  );
}

div.geeks .seasonal-recommendations__featured-field {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 2px 8px;
  background: var(--sr-accent);
  color: var(--sr-navy);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: var(--ce-home-radius-sm);
}

div.geeks .seasonal-recommendations__featured-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--sr-white);
}

div.geeks .seasonal-recommendations__featured-desc {
  margin-top: 8px;
  max-width: 36ch;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  line-height: 1.4;
  color: var(--sr-accent);
}

div.geeks .seasonal-recommendations__featured-cta {
  margin-top: 16px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sr-white);
}

div.geeks .seasonal-recommendations__featured:hover .seasonal-recommendations__featured-cta,
div.geeks .seasonal-recommendations__featured:focus-visible .seasonal-recommendations__featured-cta {
  text-decoration: underline;
  text-underline-offset: 4px;
}

div.geeks .seasonal-recommendations__picks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--sr-hair);
}

div.geeks .seasonal-recommendations__pick {
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
  border-bottom: 1px solid var(--sr-hair);
}

div.geeks .seasonal-recommendations__pick-row {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  min-height: 100%;
  padding: 16px 12px;
  color: inherit;
  text-decoration: none;
  border-radius: var(--ce-home-radius-md);
  transition: background-color 200ms cubic-bezier(0.25, 1, 0.5, 1), color 200ms cubic-bezier(0.25, 1, 0.5, 1);
}

div.geeks .seasonal-recommendations__pick-row--no-photo {
  grid-template-columns: minmax(0, 1fr) auto;
}

div.geeks .seasonal-recommendations__pick-row:hover,
div.geeks .seasonal-recommendations__pick-row:focus-visible {
  background: var(--sr-navy-hover);
  color: var(--sr-white);
}

div.geeks .seasonal-recommendations__pick-row:focus-visible {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div.geeks .seasonal-recommendations__pick-photo {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: var(--ce-home-radius-sm);
}

div.geeks .seasonal-recommendations__pick-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

div.geeks .seasonal-recommendations__pick-field {
  width: fit-content;
  padding: 2px 8px;
  background: var(--sr-accent);
  color: var(--sr-navy);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: var(--ce-home-radius-sm);
}

div.geeks .seasonal-recommendations__pick-row:hover .seasonal-recommendations__pick-field,
div.geeks .seasonal-recommendations__pick-row:focus-visible .seasonal-recommendations__pick-field {
  background: var(--sr-white);
}

div.geeks .seasonal-recommendations__pick-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

div.geeks .seasonal-recommendations__pick-desc {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: var(--sr-muted);
}

div.geeks .seasonal-recommendations__pick-row:hover .seasonal-recommendations__pick-desc,
div.geeks .seasonal-recommendations__pick-row:focus-visible .seasonal-recommendations__pick-desc {
  color: var(--sr-accent);
}

div.geeks .seasonal-recommendations__pick-cta {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sr-navy);
  white-space: nowrap;
}

div.geeks .seasonal-recommendations__pick-row:hover .seasonal-recommendations__pick-cta,
div.geeks .seasonal-recommendations__pick-row:focus-visible .seasonal-recommendations__pick-cta {
  color: var(--sr-accent);
}

div.geeks .learning-campus-pass {
  --lcp-navy: var(--mdc-palette-primary-500);
  --lcp-ice: var(--mdc-palette-light-blue-normal);
  --lcp-white: var(--mdc-palette-white);
  --lcp-perforation: color-mix(in srgb, var(--lcp-ice) 70%, transparent);
  padding: 48px 24px;
}

div.geeks .learning-campus-pass__inner {
  max-width: 880px;
  margin: 0 auto;
}

div.geeks .learning-campus-pass__ticket {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  background: var(--lcp-navy);
  color: var(--lcp-white);
  position: relative;
  border-radius: var(--ce-home-radius-lg);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--lcp-ice) 45%, transparent),
    0 12px 36px color-mix(in srgb, var(--lcp-navy) 28%, transparent),
    0 0 40px color-mix(in srgb, var(--lcp-ice) 18%, transparent);
}

div.geeks .learning-campus-pass__ticket::before,
div.geeks .learning-campus-pass__ticket::after {
  content: "";
  position: absolute;
  left: 60px;
  width: 24px;
  height: 24px;
  background: var(--lcp-white);
  border-radius: 50%;
  z-index: 2;
}

div.geeks .learning-campus-pass__ticket::before {
  top: -12px;
}

div.geeks .learning-campus-pass__ticket::after {
  bottom: -12px;
}

div.geeks .learning-campus-pass__stub {
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px dashed var(--lcp-perforation);
  padding: 24px 8px;
}

div.geeks .learning-campus-pass__stub-label {
  margin: 0;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--lcp-ice);
}

div.geeks .learning-campus-pass__body {
  padding: 32px 32px 24px;
  min-width: 0;
}

div.geeks .learning-campus-pass__kicker {
  margin: 0 0 8px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--lcp-ice);
}

div#mainContentContainer div.geeks h2.learning-campus-pass__heading,
div.geeks h2.learning-campus-pass__heading {
  font-family: "Archivo", sans-serif !important;
  font-weight: 200 !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em;
  color: var(--lcp-white);
  margin: 0 0 16px;
}

div.geeks .learning-campus-pass__destination {
  margin: 0 0 12px;
}

div.geeks .learning-campus-pass__destination-label {
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--lcp-ice);
  margin-bottom: 4px;
}

div.geeks .learning-campus-pass__destination-value {
  display: block;
  font-family: "Archivo", sans-serif;
  font-weight: 400;
  font-size: clamp(1.5rem, 3vw, 2rem);
  letter-spacing: -0.02em;
  color: var(--lcp-ice);
}

div.geeks .learning-campus-pass__desc {
  margin: 0 0 20px;
  max-width: 46ch;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  color: var(--lcp-ice);
}

div.geeks .learning-campus-pass__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 32px;
  margin: 0 0 24px;
}

div.geeks .learning-campus-pass__meta-item {
  margin: 0;
}

div.geeks .learning-campus-pass__meta dt {
  margin: 0 0 4px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--lcp-ice);
}

div.geeks .learning-campus-pass__meta dd {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--lcp-white);
}

div.geeks .learning-campus-pass__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 48px;
  padding: 12px 24px;
  background: linear-gradient(90deg, var(--lcp-white) 0%, color-mix(in srgb, var(--lcp-ice) 35%, var(--lcp-white)) 100%);
  color: var(--lcp-navy);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--ce-home-radius-md);
}

div.geeks .learning-campus-pass__cta:hover {
  filter: brightness(0.96);
}

div.geeks .learning-campus-pass__cta:focus-visible {
  outline: 3px solid var(--ce-home-focus-on-dark);
  outline-offset: 2px;
}

div.geeks .learning-campus-pass__actions {
  display: flex;
  align-items: flex-end;
  gap: 16px;
}

div.geeks .learning-campus-pass__qr {
  display: block;
  flex-shrink: 0;
  margin-left: auto;
  width: 96px;
  height: 96px;
  color: var(--lcp-navy);
  background: var(--lcp-white);
  border-radius: var(--ce-home-radius-sm);
  text-decoration: none;
}

div.geeks .learning-campus-pass__qr svg {
  display: block;
  width: 100%;
  height: 100%;
}

div.geeks .learning-campus-pass__qr:hover {
  filter: brightness(0.96);
}

div.geeks .learning-campus-pass__qr:focus-visible {
  outline: 3px solid var(--ce-home-focus-on-dark);
  outline-offset: 2px;
}

div.geeks .campus-station-board {
  --csb-navy: var(--mdc-palette-primary-500);
  --csb-ice: var(--mdc-palette-light-blue-normal);
  --csb-ink: var(--mdc-palette-grey-500);
  --csb-white: var(--mdc-palette-white);
  --csb-muted: color-mix(in srgb, var(--csb-ice) 88%, var(--csb-white));
  --csb-hair: color-mix(in srgb, var(--csb-ice) 28%, transparent);
  --csb-ref: color-mix(in srgb, var(--csb-white) 42%, transparent);
  --csb-ref-strong: color-mix(in srgb, var(--csb-white) 68%, transparent);
  background:
    radial-gradient(ellipse 45% 35% at 100% 0%, var(--ce-home-splash-ice), transparent 65%),
    var(--csb-ink);
  color: var(--csb-white);
  /* Match CE home measure inset (same as program-areas-bookshelf). */
  padding: var(--ce-home-pad-top) var(--ce-home-pad-right) var(--ce-home-pad-bottom) var(--ce-home-pad-left);
}

div.geeks .campus-station-board__inner {
  max-width: var(--ce-home-measure);
  min-width: 0;
  margin: 0 auto;
}

div.geeks .campus-station-board__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 24px;
  row-gap: var(--ce-home-kicker-gap);
  align-items: start;
  margin: 0 0 16px;
}

div#mainContentContainer div.geeks p.campus-station-board__kicker,
div.geeks .campus-station-board__kicker {
  grid-column: 1;
  color: var(--csb-ice);
}

/* Typography inherits #mainContentContainer div.geeks h2 (contact_form reference). */
div#mainContentContainer div.geeks h2.campus-station-board__heading,
div.geeks h2.campus-station-board__heading {
  color: var(--csb-white);
  margin: 0 !important;
  grid-column: 1;
}

/* Lives above the station list so the map can sit higher.
   Left edge lines up with the vertical road spine (--csb-road-x on __board). */
div#mainContentContainer div.geeks p.campus-station-board__sub,
div.geeks .campus-station-board__sub {
  margin: 0 0 12px;
  padding-left: var(--csb-road-x, 19px);
  max-width: 42ch;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  line-height: 1.45;
  color: var(--csb-muted);
}

div.geeks .campus-station-board__count {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  /* Tall count must not stretch row 1 (that pushed heading/sub down). */
  height: 0;
  overflow: visible;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  text-align: right;
}

div.geeks .campus-station-board__count-line {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.4em;
}

div.geeks .campus-station-board__count-value {
  font-family: "Archivo", sans-serif;
  font-weight: 200;
  font-size: 32px;
  line-height: 1;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  color: var(--csb-ice);
}

div.geeks .campus-station-board__count-label {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--csb-white);
}

@property --csb-glow {
  syntax: "<number>";
  inherits: true;
  initial-value: 0;
}

div.geeks .campus-station-board__stage:has([data-code="AVN"]:is(:hover, :focus-visible)) [data-code="AVN"],
div.geeks .campus-station-board__stage:has([data-code="NTH"]:is(:hover, :focus-visible)) [data-code="NTH"],
div.geeks .campus-station-board__stage:has([data-code="HIA"]:is(:hover, :focus-visible)) [data-code="HIA"],
div.geeks .campus-station-board__stage:has([data-code="WST"]:is(:hover, :focus-visible)) [data-code="WST"],
div.geeks .campus-station-board__stage:has([data-code="MED"]:is(:hover, :focus-visible)) [data-code="MED"],
div.geeks .campus-station-board__stage:has([data-code="WLF"]:is(:hover, :focus-visible)) [data-code="WLF"],
div.geeks .campus-station-board__stage:has([data-code="PAD"]:is(:hover, :focus-visible)) [data-code="PAD"],
div.geeks .campus-station-board__stage:has([data-code="KEN"]:is(:hover, :focus-visible)) [data-code="KEN"],
div.geeks .campus-station-board__stage:has([data-code="HOM"]:is(:hover, :focus-visible)) [data-code="HOM"] {
  --csb-glow: 1;
}

div.geeks .campus-station-board__stage {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 8px 28px;
  align-items: start;
}

div.geeks .campus-station-board__map-wrap {
  min-width: 0;
  /* Same lighter scale as the rest of the board (~14% down). */
  width: 86%;
  max-width: 100%;
}

div.geeks .campus-station-board__map {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

div.geeks .campus-station-board__road {
  fill: none;
  stroke: var(--csb-ref);
  stroke-width: 7;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

div.geeks .campus-station-board__road-label {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  fill: var(--csb-ref);
  pointer-events: none;
}

div.geeks .campus-station-board__rose-arrow {
  fill: none;
  stroke: var(--csb-ice);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

div.geeks .campus-station-board__rose-mark {
  font-family: "Archivo", sans-serif;
  font-weight: 200;
  font-size: 26px;
  letter-spacing: 0.08em;
  fill: var(--csb-ice);
}

div.geeks a.campus-station-board__pin {
  cursor: pointer;
  text-decoration: none;
}

div.geeks .campus-station-board__pin-leader {
  fill: none;
  stroke: var(--csb-ice);
  stroke-width: 2;
  stroke-linecap: round;
  opacity: 0.55;
  pointer-events: none;
}

div.geeks .campus-station-board__pin-hit {
  fill: transparent;
  stroke: color-mix(in srgb, var(--csb-ice) calc(var(--csb-glow, 0) * 22%), transparent);
  stroke-width: 6;
  filter: drop-shadow(0 0 3px color-mix(in srgb, var(--csb-ice) calc(var(--csb-glow, 0) * 28%), transparent));
  transition: stroke 200ms cubic-bezier(0.25, 1, 0.5, 1), filter 200ms cubic-bezier(0.25, 1, 0.5, 1);
}

div.geeks .campus-station-board__pin-dot {
  fill: var(--csb-ink);
  stroke: var(--csb-ice);
  stroke-width: 4;
}

div.geeks .campus-station-board__pin-office,
div.geeks .campus-station-board__office {
  color: var(--csb-ice);
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
}

div.geeks .campus-station-board__office {
  width: 16px;
  height: 16px;
  justify-self: center;
  margin-top: 6px;
}

div.geeks .campus-station-board__pin-code {
  font-family: "Archivo", sans-serif;
  font-weight: 200;
  font-size: 30px;
  letter-spacing: 0.08em;
  fill: var(--csb-ice);
  stroke: var(--csb-ink);
  stroke-width: 12;
  stroke-linejoin: round;
  paint-order: stroke fill;
  filter: drop-shadow(0 0 3px color-mix(in srgb, var(--csb-ice) calc(var(--csb-glow, 0) * 40%), transparent));
  transition: filter 200ms cubic-bezier(0.25, 1, 0.5, 1);
}

div.geeks .campus-station-board__pin-name {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 23px;
  font-weight: 600;
  fill: var(--csb-white);
  stroke: var(--csb-ink);
  stroke-width: 12;
  stroke-linejoin: round;
  paint-order: stroke fill;
  filter: drop-shadow(0 0 3px color-mix(in srgb, var(--csb-ice) calc(var(--csb-glow, 0) * 40%), transparent));
  transition: filter 200ms cubic-bezier(0.25, 1, 0.5, 1);
}

div.geeks a.campus-station-board__pin:focus-visible {
  outline: none;
}

div.geeks .campus-station-board__pin:focus-visible .campus-station-board__pin-dot {
  stroke-width: 6;
  stroke: var(--ce-home-focus-on-dark);
  filter: drop-shadow(0 0 4px var(--ce-home-splash-ice));
}

div.geeks .campus-station-board__place {
  cursor: default;
  outline: none;
}

div.geeks .campus-station-board__place-hit {
  fill: transparent;
  stroke: transparent;
  stroke-width: 2;
}

div.geeks .campus-station-board__place-glyph {
  color: var(--csb-ref);
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
  transition: color 160ms ease;
}

/* Material MdOutlineStadium (Hard Rock): fill paths, not Lucide stroke. */
div.geeks .campus-station-board__place-glyph--filled {
  fill: currentColor;
  stroke: none;
}

div.geeks .campus-station-board__place:is(:hover, :focus-visible) .campus-station-board__place-glyph {
  color: var(--csb-ref-strong);
}

div.geeks .campus-station-board__place:focus-visible .campus-station-board__place-hit {
  stroke: var(--csb-ref-strong);
}

div.geeks .campus-station-board__place-name {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  fill: var(--csb-ref-strong);
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease;
}

div.geeks .campus-station-board__place:hover .campus-station-board__place-name {
  opacity: 1;
  transition-delay: 800ms;
}

div.geeks .campus-station-board__place:focus-visible .campus-station-board__place-name {
  opacity: 1;
  transition-delay: 0ms;
}

div.geeks .campus-station-board__board {
  --csb-road: color-mix(in srgb, var(--csb-ice) 42%, transparent);
  --csb-road-w: 3px;
  --csb-road-x: 19px;
  --csb-road-curve: 32px;
  /* Inner fillet = same arc center as the via elbow (curve − stroke). */
  --csb-road-curve-inner: calc(var(--csb-road-curve) - var(--csb-road-w));
  --csb-hover-fill: color-mix(in srgb, var(--csb-ice) 12%, transparent);
  position: relative;
  min-width: 0;
}

/*
  Road grid: vertical spine is straight. Horizontals run past it to the right.
  Rounding lives only at the approach to the perpendicular — a large-radius
  elbow (like elevated tracks sweeping before a crossing), not pill caps.
  Spine stops at the last elbow’s top so it does not poke past that junction;
  the last item’s ::before draws the curve from there.
*/
div.geeks .campus-station-board__list {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  border-top: 0;
}

div.geeks .campus-station-board__list::before {
  content: "";
  position: absolute;
  left: calc(var(--csb-road-x) - (var(--csb-road-w) / 2));
  top: 0;
  bottom: var(--csb-road-curve);
  z-index: 2;
  width: var(--csb-road-w);
  border-radius: 0;
  background: var(--csb-road);
  pointer-events: none;
}

div.geeks .campus-station-board__item {
  margin: 0;
  padding: 0;
  position: relative;
  border-bottom: 0;
}

/* Curved approach: vertical → horizontal (fillet before the junction). */
div.geeks .campus-station-board__item::before {
  content: "";
  position: absolute;
  left: calc(var(--csb-road-x) - (var(--csb-road-w) / 2));
  bottom: 0;
  z-index: 2;
  width: var(--csb-road-curve);
  height: var(--csb-road-curve);
  box-sizing: border-box;
  border: 0;
  border-left: var(--csb-road-w) solid var(--csb-road);
  border-bottom: var(--csb-road-w) solid var(--csb-road);
  border-bottom-left-radius: var(--csb-road-curve);
  pointer-events: none;
}

/* Straight run continuing past the curve to the right edge. */
div.geeks .campus-station-board__item::after {
  content: "";
  position: absolute;
  left: calc(var(--csb-road-x) - (var(--csb-road-w) / 2) + var(--csb-road-curve));
  right: 0;
  bottom: 0;
  z-index: 2;
  height: var(--csb-road-w);
  border-radius: 0;
  background: var(--csb-road);
  pointer-events: none;
}

div.geeks .campus-station-board__row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 36px 64px minmax(0, 1fr) auto;
  gap: 12px 16px;
  padding: 10px 6px 10px 0;
  color: inherit;
  text-decoration: none;
  background: transparent;
  border-radius: 0;
  align-items: start;
}

/*
  Only the code + copy slide on hover (the station "approach"). The CTA stays
  put so it never overflows the board edge; the dot and hover fill (::before)
  stay anchored to the via/spine.
*/
div.geeks .campus-station-board__code,
div.geeks .campus-station-board__copy {
  transform: translateX(calc(var(--csb-glow, 0) * 14px));
  transition: transform 200ms cubic-bezier(0.25, 1, 0.5, 1);
}

/*
  Hover fill under the vias (roads z-index 2 paint on top). Two pieces share
  --csb-hover-fill and fade together via opacity:

  ::before — main fill. Flush under the via above (top: 0) with a square
  top-left so it joins the pocket piece seamlessly. The right edge is square
  on both corners (the fill runs to the row edge like the horizontal via).
  Only the bottom-left radius is rounded: it shares the elbow’s arc center so
  that edge is colinear with the via below.

  ::after — pocket piece, items 2+ only (the first item has no via above).
  Fills the corner tucked under the previous item’s elbow: a box from the
  spine to the elbow’s end, carved by a radial-gradient whose circle has the
  elbow’s outer arc center (box top-right) and radius (--csb-road-curve), so
  the fill hugs the via’s curve exactly. A convex border-radius can never do
  this — it lives in the opposite quadrant and reads as a “parallel curve”.
*/
div.geeks .campus-station-board__row::before,
div.geeks .campus-station-board__row::after {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  opacity: 0;
  transition: opacity 200ms ease-out;
}

div.geeks .campus-station-board__row::before {
  content: "";
  left: calc(var(--csb-road-x) + (var(--csb-road-w) / 2));
  right: 0;
  top: 0;
  bottom: var(--csb-road-w);
  background: var(--csb-hover-fill);
  border-radius: 0 0 0 var(--csb-road-curve-inner);
}

div.geeks .campus-station-board__item:not(:first-child) .campus-station-board__row::after {
  content: "";
  left: calc(var(--csb-road-x) + (var(--csb-road-w) / 2));
  top: calc(-1 * var(--csb-road-curve));
  width: var(--csb-road-curve-inner);
  height: var(--csb-road-curve);
  background: radial-gradient(
    circle at 100% 0,
    transparent calc(var(--csb-road-curve) - 0.5px),
    var(--csb-hover-fill) calc(var(--csb-road-curve) + 0.5px)
  );
}

div.geeks .campus-station-board__row:hover::before,
div.geeks .campus-station-board__row:hover::after,
div.geeks .campus-station-board__row:focus-visible::before,
div.geeks .campus-station-board__row:focus-visible::after {
  opacity: 1;
}

div.geeks a.campus-station-board__row:focus-visible {
  outline: none;
}

div.geeks a.campus-station-board__row:focus-visible::before {
  outline: 3px solid var(--ce-home-focus-on-dark);
  outline-offset: 2px;
}

div.geeks .campus-station-board__dot {
  justify-self: center;
  width: 11px;
  height: 11px;
  border: 2px solid var(--csb-ice);
  border-radius: 50%;
  background: var(--csb-ice);
  position: relative;
  z-index: 1;
  align-self: start;
  margin-top: 6px;
}

div.geeks .campus-station-board__code {
  font-family: "Archivo", sans-serif;
  font-weight: 200;
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0.08em;
  font-variant-numeric: tabular-nums;
  color: var(--csb-ice);
  align-self: start;
  margin-top: 1px;
}

div.geeks .campus-station-board__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-top: 2px;
}

div.geeks .campus-station-board__detail {
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow: hidden;
  max-height: calc(var(--csb-glow, 0) * 8rem);
  opacity: var(--csb-glow, 0);
  margin-top: calc(var(--csb-glow, 0) * 4px);
  transition: max-height 200ms cubic-bezier(0.25, 1, 0.5, 1), opacity 200ms cubic-bezier(0.25, 1, 0.5, 1), margin-top 200ms cubic-bezier(0.25, 1, 0.5, 1);
}

div.geeks .campus-station-board__name {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

div.geeks .campus-station-board__kind {
  margin-left: 0.35em;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--csb-muted);
}

div.geeks .campus-station-board__hood {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--csb-ice);
}

div.geeks .campus-station-board__address {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12px;
  line-height: 1.35;
  color: var(--csb-muted);
}

div.geeks .campus-station-board__cta {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--csb-ice);
  white-space: nowrap;
  align-self: start;
  margin-top: 5px;
}

div.geeks .course-desk-calendar {
  --cdc-navy: var(--mdc-palette-primary-500);
  --cdc-navy-press: var(--mdc-palette-primary-600);
  --cdc-ice: var(--mdc-palette-light-blue-normal);
  --cdc-field: var(--mdc-palette-light-blue-light);
  --cdc-paper: var(--mdc-palette-white);
  --cdc-ink: var(--mdc-palette-grey-500);
  --cdc-muted: var(--mdc-palette-grey-400);
  --cdc-hair: var(--mdc-palette-light-grey-400);
  --cdc-line: 22px;
  --cdc-rail-pad: 36px;
  background: var(--cdc-field);
  /* Match CE home measure inset (same as program-areas-bookshelf). */
  padding: 72px var(--ce-home-pad-right) 56px var(--ce-home-pad-left);
}

div.geeks .course-desk-calendar__sheet {
  position: relative;
  max-width: var(--ce-home-measure);
  min-width: 0;
  margin: 0 auto;
  padding: 40px 36px 28px;
  background:
    radial-gradient(ellipse 40% 30% at 100% 0%, var(--ce-home-splash-ice), transparent 70%),
    var(--cdc-paper);
  border: 1px solid var(--ce-home-edge);
  border-radius: var(--ce-home-radius-lg);
  box-shadow: 0 2px 2px 0 color-mix(in srgb, var(--ce-home-edge) 50%, transparent);
}

div.geeks .course-desk-calendar__marker {
  position: absolute;
  top: -8px;
  right: 72px;
  left: auto;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  height: 114px;
  margin: 0;
  padding: 23px 0 0;
  border: 0;
  border-radius: 0;
  background: var(--cdc-navy);
  color: var(--cdc-paper);
  pointer-events: none;
}

div.geeks .course-desk-calendar__marker-day {
  font-family: "Archivo", sans-serif;
  font-weight: 600;
  font-size: 2.15rem;
  line-height: 1;
  letter-spacing: -0.03em;
}

div.geeks .course-desk-calendar__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  column-gap: 8px;
  row-gap: 12px;
  align-items: center;
}

div.geeks .course-desk-calendar__intro {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--ce-home-kicker-gap);
  min-width: 0;
  justify-self: start;
}

div#mainContentContainer div.geeks p.course-desk-calendar__kicker,
div.geeks p.course-desk-calendar__kicker {
  color: var(--cdc-muted);
}

/* Typography inherits #mainContentContainer div.geeks h2 (contact_form reference). */
div#mainContentContainer div.geeks h2.course-desk-calendar__heading,
div.geeks h2.course-desk-calendar__heading {
  margin: 0;
  color: var(--cdc-ink);
}

div#mainContentContainer div.geeks p.course-desk-calendar__date,
div.geeks p.course-desk-calendar__date {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin: 0;
}

div#mainContentContainer div.geeks .course-desk-calendar__month,
div.geeks .course-desk-calendar__month {
  font-family: "Archivo", sans-serif !important;
  font-weight: 200 !important;
  font-size: clamp(2.75rem, 6.5vw, 4.5rem) !important;
  line-height: 0.88 !important;
  letter-spacing: -0.045em;
  color: var(--cdc-navy);
}

div.geeks .course-desk-calendar__year {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cdc-muted);
}

div.geeks .course-desk-calendar__date-nav {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px 16px;
  margin: 0;
}

div.geeks .course-desk-calendar__kinds {
  grid-column: 1 / -1;
}

div.geeks .course-desk-calendar__month-arrow,
div.geeks .course-desk-calendar__rail-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--cdc-paper);
  color: var(--cdc-navy);
  box-shadow: inset 0 0 0 1px var(--cdc-hair);
  cursor: pointer;
}

div.geeks .course-desk-calendar__month-arrow svg,
div.geeks .course-desk-calendar__rail-arrow svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

div.geeks .course-desk-calendar__month-arrow:hover,
div.geeks .course-desk-calendar__rail-arrow:hover {
  background: var(--cdc-ice);
}

div.geeks .course-desk-calendar__month-arrow:focus-visible,
div.geeks .course-desk-calendar__rail-arrow:focus-visible {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div.geeks .course-desk-calendar__month-arrow:disabled,
div.geeks .course-desk-calendar__rail-arrow:disabled {
  opacity: 0.35;
  cursor: default;
  background: transparent;
}

div.geeks .course-desk-calendar__rail-arrow {
  flex-basis: 32px;
  width: 32px;
  height: 32px;
}

div.geeks .course-desk-calendar__rail-arrow svg {
  width: 16px;
  height: 16px;
}

div.geeks .course-desk-calendar__kinds {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 0;
}

div.geeks .course-desk-calendar__kind {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 14px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--cdc-navy);
  box-shadow: inset 0 0 0 1px var(--cdc-hair);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: pointer;
}

div.geeks .course-desk-calendar__kind[aria-pressed="true"] {
  background: var(--cdc-navy);
  color: var(--cdc-paper);
  box-shadow: none;
}

div.geeks .course-desk-calendar__kind[data-kind="virtual"][aria-pressed="true"] {
  background: var(--mdc-palette-light-blue-dark);
}

div.geeks .course-desk-calendar__kind:focus-visible {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div.geeks .course-desk-calendar__glyph {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

div.geeks img.course-desk-calendar__glyph--badge {
  display: block;
  object-fit: contain;
  fill: none;
  stroke: none;
}

div.geeks .course-desk-calendar__board {
  display: grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: 20px 28px;
  align-items: start;
  margin-top: 8px;
}

div.geeks .course-desk-calendar__weekdays,
div.geeks .course-desk-calendar__days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}

div.geeks .course-desk-calendar__weekdays span {
  text-align: center;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cdc-muted);
}

div.geeks .course-desk-calendar__day {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  height: 48px;
  min-height: 44px;
  min-width: 44px;
  padding: 4px 2px;
  border: 0;
  border-radius: var(--ce-home-radius-sm);
  background: transparent;
  color: var(--cdc-ink);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
}

div.geeks .course-desk-calendar__day--empty {
  visibility: hidden;
}

div.geeks .course-desk-calendar__day.is-past {
  color: var(--cdc-muted);
}

div.geeks .course-desk-calendar__day.is-today:not(.is-selected):not(.has-inperson):not(.has-virtual) {
  box-shadow: inset 0 0 0 1.5px var(--cdc-navy);
}

div.geeks .course-desk-calendar__day.is-selected:not(.has-inperson):not(.has-virtual) {
  background: var(--cdc-navy);
  color: var(--cdc-paper);
  box-shadow: none;
}

div.geeks .course-desk-calendar__day.is-selected {
  box-shadow: inset 0 0 0 2px var(--cdc-navy);
}

div.geeks .course-desk-calendar__day.has-inperson.is-selected,
div.geeks .course-desk-calendar__day.has-virtual.is-selected {
  box-shadow: inset 0 0 0 2px var(--cdc-paper);
}

div.geeks .course-desk-calendar__day.has-inperson {
  background: var(--cdc-navy);
  color: var(--cdc-paper);
}

div.geeks .course-desk-calendar__day.has-virtual {
  background: var(--mdc-palette-light-blue-dark);
  color: var(--cdc-paper);
}

div.geeks .course-desk-calendar__day.has-inperson.has-virtual {
  background: linear-gradient(
    135deg,
    var(--cdc-navy) 50%,
    var(--mdc-palette-light-blue-dark) 50%
  );
  color: var(--cdc-paper);
}

button.course-desk-calendar__day {
  cursor: pointer;
}

button.course-desk-calendar__day:hover {
  filter: brightness(0.97);
}

button.course-desk-calendar__day:focus-visible {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div.geeks .course-desk-calendar__day-marks {
  display: inline-flex;
  gap: 2px;
}

div.geeks .course-desk-calendar__day-marks .course-desk-calendar__glyph {
  width: 11px;
  height: 11px;
  flex-basis: 11px;
}

div.geeks .course-desk-calendar__kind-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--cdc-navy);
}

div.geeks .course-desk-calendar__head .course-desk-calendar__kind-icon .course-desk-calendar__glyph {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
}

div.geeks .course-desk-calendar__kind-tip {
  position: absolute;
  top: 50%;
  right: calc(100% + 8px);
  z-index: 4;
  padding: 7px 10px;
  border-radius: var(--ce-home-radius-sm);
  background: var(--cdc-navy);
  color: var(--cdc-paper);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0;
  transform: translate(4px, -50%);
  pointer-events: none;
  box-shadow:
    0 1px 0 color-mix(in srgb, var(--cdc-navy) 12%, transparent),
    0 10px 24px color-mix(in srgb, var(--cdc-navy) 20%, transparent);
  transition:
    opacity 160ms ease-out,
    transform 160ms ease-out;
}

div.geeks .course-desk-calendar__kind-tip::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-left-color: var(--cdc-navy);
  transform: translateY(-50%);
}

div.geeks .course-desk-calendar__stop[data-kind="virtual"] .course-desk-calendar__kind-tip {
  background: var(--mdc-palette-light-blue-darker);
}

div.geeks .course-desk-calendar__stop[data-kind="virtual"] .course-desk-calendar__kind-tip::after {
  border-left-color: var(--mdc-palette-light-blue-darker);
}

@media (hover: hover) and (pointer: fine) {
  div.geeks .course-desk-calendar__kind-icon:hover .course-desk-calendar__kind-tip {
    opacity: 1;
    transform: translate(0, -50%);
  }
}

div.geeks .course-desk-calendar__kind-icon:focus-visible .course-desk-calendar__kind-tip {
  opacity: 1;
  transform: translate(0, -50%);
}

div.geeks .course-desk-calendar__stop[data-kind="virtual"] .course-desk-calendar__kind-icon {
  color: var(--mdc-palette-light-blue-darker);
}

div.geeks .course-desk-calendar__stop[data-kind="inperson"]::before {
  box-shadow: 0 0 0 2px var(--cdc-navy);
}

div.geeks .course-desk-calendar__stop[data-kind="virtual"]::before {
  box-shadow: 0 0 0 2px var(--mdc-palette-light-blue-dark);
}

div.geeks .course-desk-calendar__tabs {
  grid-column: 2;
  grid-row: 1 / span 3;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-end;
  align-self: end;
  gap: 6px;
  max-width: 280px;
  margin: 0;
}

div.geeks .course-desk-calendar__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  opacity: 0;
}

div.geeks .course-desk-calendar__tab {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 14px 9px;
  border-radius: var(--ce-home-radius-sm) var(--ce-home-radius-sm) 4px 4px;
  background: var(--cdc-ice);
  color: var(--cdc-navy);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--cdc-navy) 18%, transparent);
}

div.geeks .course-desk-calendar__tab:nth-child(8n + 4) {
  background: var(--mdc-palette-primary-100);
}

div.geeks .course-desk-calendar__tab:nth-child(8n + 6) {
  background: var(--mdc-palette-light-grey-200);
  color: var(--cdc-ink);
}

div.geeks .course-desk-calendar__tab:nth-child(8n + 8) {
  background: var(--mdc-palette-light-blue-dark);
  color: var(--cdc-paper);
}

div.geeks .course-desk-calendar__input:checked + .course-desk-calendar__tab {
  background: var(--cdc-navy);
  color: var(--cdc-paper);
  transform: translateY(-3px);
  box-shadow: 0 8px 0 var(--cdc-paper);
}

div.geeks .course-desk-calendar__input:focus-visible + .course-desk-calendar__tab {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div.geeks .course-desk-calendar__rail {
  min-width: 0;
}

div.geeks .course-desk-calendar__rail-tools {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  margin: 0;
}

div.geeks .course-desk-calendar__today-label,
div.geeks .course-desk-calendar__count {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cdc-navy);
}

div.geeks .course-desk-calendar__rail-nav {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 2px;
}

div.geeks .course-desk-calendar__scroll {
  margin-top: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 16px 32px 12px;
  scroll-behavior: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

div.geeks .course-desk-calendar__scroll::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

@media (hover: hover) and (pointer: fine) {
  div.geeks .course-desk-calendar__scroll {
    cursor: grab;
  }

  div.geeks .course-desk-calendar__scroll.is-grabbing {
    cursor: grabbing;
    user-select: none;
  }
}

div.geeks .course-desk-calendar__progress {
  position: relative;
  height: 6px;
  margin: 4px 32px 8px;
  overflow: hidden;
  border-radius: 99px;
  background: color-mix(in srgb, var(--cdc-ice) 70%, var(--cdc-navy));
}

div.geeks .course-desk-calendar__progress-fill {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    var(--cdc-navy) 0%,
    var(--cdc-navy-press) 100%
  );
  transform-origin: left center;
  transition: width 0.18s ease-out;
}

@media (prefers-reduced-motion: reduce) {
  div.geeks .course-desk-calendar__progress-fill {
    transition: none;
  }
}

div.geeks .course-desk-calendar__progress[hidden] {
  display: none;
}

div.geeks .course-desk-calendar__track {
  position: relative;
  width: max-content;
  min-width: 100%;
}

div.geeks .course-desk-calendar__line {
  position: absolute;
  top: 27px;
  left: 0;
  right: 0;
  height: 2px;
  background: color-mix(in srgb, var(--cdc-ice) 80%, var(--cdc-navy));
  pointer-events: none;
}

div.geeks .course-desk-calendar__line--fill {
  right: auto;
  width: 100%;
  background: var(--cdc-navy);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

div.geeks .course-desk-calendar__playhead {
  position: absolute;
  top: 22px;
  left: 0;
  z-index: 2;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--cdc-navy);
  box-shadow: 0 0 0 4px var(--cdc-paper);
  pointer-events: none;
  transform: translate3d(0, 0, 0);
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

div.geeks .course-desk-calendar__stops {
  display: flex;
  align-items: flex-start;
  gap: 36px;
  width: max-content;
  min-width: 100%;
  margin: 0;
  padding: 40px 8px 0 0;
  list-style: none;
  position: relative;
}

div.geeks .course-desk-calendar__stop {
  position: relative;
  flex: 0 0 200px;
  width: 200px;
  opacity: 1;
  transform: none;
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

div.geeks .course-desk-calendar__scroll.is-entering .course-desk-calendar__stop {
  opacity: 0;
  transform: translateY(14px);
  transition: none;
}

div.geeks .course-desk-calendar__scroll.is-drawn .course-desk-calendar__stop {
  opacity: 0.78;
  transform: none;
}

div.geeks .course-desk-calendar__scroll.is-drawn .course-desk-calendar__stop.is-active {
  opacity: 1;
}

div.geeks .course-desk-calendar__stop::before {
  content: "";
  position: absolute;
  top: -16px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cdc-paper);
  box-shadow: 0 0 0 2px var(--cdc-ice);
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

div.geeks .course-desk-calendar__scroll.is-drawn .course-desk-calendar__stop.is-active::before {
  transform: scale(0.4);
}

div.geeks a.course-desk-calendar__card,
div.geeks a.course-desk-calendar__card:link,
div.geeks a.course-desk-calendar__card:visited,
div.geeks .course-desk-calendar__card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-sizing: border-box;
  width: 100%;
  min-height: 100%;
  padding: 14px 12px 16px;
  color: var(--cdc-ink);
  text-decoration: none;
  background-color: transparent;
  border-radius: var(--ce-home-radius-md);
  transition: background-color 200ms ease-out;
}

div.geeks .course-desk-calendar__head {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

div.geeks .course-desk-calendar__stop.is-active .course-desk-calendar__card {
  background-color: color-mix(in srgb, var(--mdc-palette-light-blue-normal) 22%, var(--cdc-paper));
}

div.geeks .course-desk-calendar__stop:not(.is-active) .course-desk-calendar__card:hover,
div.geeks .course-desk-calendar__stop:not(.is-active) .course-desk-calendar__card:focus-visible {
  background-color: color-mix(in srgb, var(--cdc-navy) 8%, var(--cdc-paper));
}

div.geeks a.course-desk-calendar__card:hover .course-desk-calendar__title,
div.geeks a.course-desk-calendar__card:focus-visible .course-desk-calendar__title {
  color: var(--cdc-navy-press);
}

div.geeks a.course-desk-calendar__card:focus-visible {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div.geeks .course-desk-calendar__when {
  position: relative;
  display: block;
  width: 4.75rem;
  height: 2.7rem;
  overflow: hidden;
  color: transparent;
  font-size: 13px;
  line-height: 1.2;
}

div.geeks .course-desk-calendar__when-year {
  display: block;
  margin-top: 2px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--cdc-muted);
}

div.geeks .course-desk-calendar__when::before {
  content: attr(data-month);
  position: absolute;
  top: 0;
  left: 0;
  color: var(--cdc-navy);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

div.geeks .course-desk-calendar__when::after {
  content: attr(data-day);
  position: absolute;
  top: 0.95rem;
  left: 0;
  color: var(--cdc-ink);
  font-family: "Archivo", sans-serif;
  font-weight: 200;
  font-size: 1.65rem;
  line-height: 1;
  letter-spacing: -0.04em;
}

div.geeks .course-desk-calendar__when--raw {
  width: auto;
  height: auto;
  overflow: visible;
  color: var(--cdc-ink);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
}

div.geeks .course-desk-calendar__when--raw::before,
div.geeks .course-desk-calendar__when--raw::after {
  content: none;
}

div.geeks .course-desk-calendar__title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--cdc-ink);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

div#mainContentContainer div.geeks p.course-desk-calendar__meta,
div.geeks p.course-desk-calendar__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cdc-muted);
}

div#mainContentContainer div.geeks p.course-desk-calendar__note,
div.geeks p.course-desk-calendar__note {
  margin: 4px 0 0;
  max-width: 28ch;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-weight: 600 !important;
  font-style: normal;
  font-size: 0.95rem !important;
  line-height: 1.45 !important;
  color: var(--cdc-muted);
}

div.geeks .course-desk-calendar__stop[hidden],
div.geeks .course-desk-calendar__scroll[hidden],
div.geeks .course-desk-calendar__count[hidden],
div.geeks .course-desk-calendar__note[hidden],
div.geeks .course-desk-calendar__date[hidden],
div.geeks .course-desk-calendar__marker[hidden] {
  display: none !important;
}

@media (max-width: 991.98px) {
  div.geeks .campus-station-board__row {
    grid-template-columns: 36px 64px minmax(0, 1fr) auto;
  }

  div.geeks .campus-station-board__board {
    --csb-road-x: 18px;
  }
}

@media (max-width: 767.98px) {
  div.geeks {
    --ce-home-pad-top: 32px;
    --ce-home-pad-right: 16px;
    --ce-home-pad-bottom: 36px;
    --ce-home-pad-left: 16px;
    --ce-home-kicker-size: 12px;
    --ce-home-kicker-tracking: 0.18em;
  }

  div.geeks .hero-search-sentence {
    --hss-field-h: 48px;
    --hss-submit-w: 48px;
  }

  div.geeks .hero-search-sentence--langs {
    padding-top: 56px;
  }

  div.geeks .hero-search-sentence__langs {
    top: 12px;
  }

  div.geeks .hero-search-sentence__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  div.geeks .hero-search-sentence__main {
    gap: 16px;
  }

  div.geeks .hero-search-sentence__panel {
    gap: 16px;
  }

  div#mainContentContainer div.geeks h1.hero-search-sentence__prompt,
  div.geeks h1.hero-search-sentence__prompt {
    max-width: none;
    font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
  }

  div.geeks .hero-search-sentence__promo {
    font-size: 13px;
  }

  div.geeks .hero-search-sentence__input,
  div.geeks .hero-search-sentence__ghost {
    font-size: 16px;
  }

  div.geeks .hero-search-sentence__stats {
    flex-direction: row;
    gap: 12px;
  }

  div.geeks .hero-search-sentence__stat {
    flex: 1;
    padding: 10px 0;
    border-bottom: 2px solid var(--hss-accent);
  }

  div.geeks .hero-search-sentence__stat-value {
    font-size: 22px;
  }

  div.geeks .hero-search-sentence__stat-label {
    font-size: 10px;
    letter-spacing: 0.04em;
  }

  div.geeks .hero-search-sentence__calls {
    gap: 12px;
  }

  div.geeks .hero-search-sentence__call {
    padding: 12px 12px 12px 10px;
    gap: 12px;
  }

  div.geeks .hero-search-sentence__call-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  div.geeks .hero-search-sentence__call-icon svg {
    width: 24px;
    height: 24px;
  }

  div.geeks .hero-search-sentence__call-chevron {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  div.geeks .hero-search-sentence__call-label {
    font-size: 15px;
  }

  div.geeks .hero-search-sentence__call-help {
    font-size: 12px;
  }

  div.geeks .hero-search-sentence__call-items-panel {
    grid-template-columns: 1fr;
    padding: 10px 0 0;
  }

  div.geeks .sought-programs-board__header,
  div.geeks .sought-programs-board__header:has(.sought-programs-board__sub) {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 16px;
  }

  div.geeks .sought-programs-board__sub {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
    font-size: 0.9375rem;
  }

  div.geeks .sought-programs-board__title-row {
    align-items: center;
    gap: 12px;
  }

  div.geeks .sought-programs-board__viewport {
    margin-top: 28px;
  }

  div.geeks .sought-programs-board__list {
    grid-template-columns: minmax(0, 1fr);
  }

  div.geeks .sought-programs-board__card {
    padding: 22px 18px;
  }

  div.geeks .seasonal-recommendations,
  div.geeks .seasonal-recommendations--has-tabs {
    padding: 36px 16px;
  }

  div.geeks .seasonal-recommendations--has-tabs {
    padding-top: 6.5rem;
  }

  div.geeks .seasonal-recommendations__tabs {
    right: 0;
    bottom: auto;
    width: auto;
    height: 4.25rem;
    flex-direction: row;
  }

  div.geeks .seasonal-recommendations__tab {
    padding: 0.35rem 0.5rem;
    gap: 0.25rem;
  }

  div.geeks .seasonal-recommendations__tab-icon {
    font-size: 1rem;
  }

  div.geeks .seasonal-recommendations__tab-text {
    writing-mode: horizontal-tb;
    transform: none;
    letter-spacing: 0.08em;
    font-size: 0.8125rem;
  }

  div.geeks .seasonal-recommendations__header {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  div.geeks .seasonal-recommendations__aside {
    align-items: flex-start;
  }

  div.geeks .seasonal-recommendations__window {
    font-size: 22px;
  }

  div.geeks .seasonal-recommendations__stage {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  div.geeks .seasonal-recommendations__featured,
  div.geeks .seasonal-recommendations__featured-copy {
    min-height: 280px;
  }

  div.geeks .seasonal-recommendations__pick-row {
    grid-template-columns: 56px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 12px 4px;
  }

  div.geeks .seasonal-recommendations__pick-row--no-photo {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  div.geeks .seasonal-recommendations__pick-photo {
    width: 56px;
    height: 56px;
  }

  div.geeks .seasonal-recommendations__pick-title {
    font-size: 15px;
  }

  div.geeks .learning-campus-pass {
    padding: 36px 16px;
  }

  div.geeks .learning-campus-pass__ticket {
    grid-template-columns: 1fr;
  }

  div.geeks .learning-campus-pass__ticket::before,
  div.geeks .learning-campus-pass__ticket::after {
    left: auto;
    top: 40px;
    bottom: auto;
    width: 24px;
    height: 24px;
  }

  div.geeks .learning-campus-pass__ticket::before {
    left: -12px;
  }

  div.geeks .learning-campus-pass__ticket::after {
    right: -12px;
    left: auto;
  }

  div.geeks .learning-campus-pass__stub {
    border-right: 0;
    border-bottom: 1px dashed var(--lcp-perforation);
    padding: 12px 24px;
  }

  div.geeks .learning-campus-pass__stub-label {
    writing-mode: horizontal-tb;
    transform: none;
  }

  div.geeks .learning-campus-pass__body {
    padding: 24px 20px 20px;
  }

  div.geeks .learning-campus-pass__qr {
    width: 80px;
    height: 80px;
  }

  div.geeks .campus-station-board__header {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 16px;
    margin-bottom: 12px;
  }

  div.geeks .campus-station-board__sub {
    font-size: 13px;
  }

  div.geeks .campus-station-board__count-value {
    font-size: 24px;
  }

  div.geeks .campus-station-board__stage {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  div.geeks .campus-station-board__row {
    grid-template-columns: 32px 52px minmax(0, 1fr) auto;
    gap: 8px 10px;
    padding: 12px 4px 12px 0;
  }

  div.geeks .campus-station-board__board {
    --csb-road-x: 16px;
    --csb-road-curve: 24px;
  }

  div.geeks .campus-station-board__code {
    font-size: 16px;
    letter-spacing: 0.04em;
  }

  div.geeks .campus-station-board__name {
    font-size: 15px;
  }

  div.geeks .campus-station-board__kind {
    font-size: 11px;
  }

  div.geeks .campus-station-board__address {
    font-size: 11px;
  }

  div.geeks .course-desk-calendar {
    padding: 48px var(--ce-home-pad-right) 40px var(--ce-home-pad-left);
  }

  div.geeks .course-desk-calendar__sheet {
    padding: 32px 16px 20px;
  }

  div.geeks .course-desk-calendar__marker {
    right: 48px;
  }

  div.geeks .course-desk-calendar__header {
    grid-template-columns: 1fr;
  }

  div.geeks .course-desk-calendar__intro,
  div.geeks .course-desk-calendar__date-nav {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }

  div.geeks .course-desk-calendar__date-nav {
    justify-self: center;
    margin-top: 4px;
  }

  div.geeks .course-desk-calendar__stop {
    flex-basis: 168px;
    width: 168px;
  }

  div.geeks .course-desk-calendar__scroll {
    padding: 12px 16px 24px;
  }

  div.geeks .course-desk-calendar__board {
    grid-template-columns: 1fr;
  }

}

/* ---- Voices Wall (featured card + free-floating post-it board) ---- */
div.geeks .voices-wall {
  --vw-navy: var(--mdc-palette-primary-500);
  --vw-ice: var(--mdc-palette-light-blue-normal);
  --vw-field: var(--mdc-palette-light-blue-light);
  --vw-ink: var(--mdc-palette-grey-500);
  --vw-muted: var(--mdc-palette-grey-400);
  --vw-white: var(--mdc-palette-white);
  /* Read by initVoicesWall so JS timers match the CSS fade. */
  --vw-fade: 700ms;
  --vw-note-w: 188px;
  --vw-stage-h: 380px;
  --vw-avatar-featured: 56px;
  --vw-avatar-note: 32px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 45% 40% at 100% 100%, var(--ce-home-splash-ice), transparent 65%),
    var(--vw-white);
  color: var(--vw-ink);
  /* Match CE home measure inset (same as program-areas-bookshelf). */
  padding: var(--ce-home-pad-top) var(--ce-home-pad-right) var(--ce-home-pad-bottom) var(--ce-home-pad-left);
}

div.geeks .voices-wall__inner {
  max-width: var(--ce-home-measure);
  min-width: 0;
  margin: 0 auto;
}

div.geeks .voices-wall__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--ce-home-kicker-gap);
  margin: 0 0 24px;
}

div.geeks .voices-wall__kicker {
  color: var(--vw-navy);
}

/* Typography inherits #mainContentContainer div.geeks h2 (contact_form reference). */
div#mainContentContainer div.geeks h2.voices-wall__heading,
div.geeks h2.voices-wall__heading {
  margin: 0;
  color: var(--vw-navy);
}

div.geeks h2.voices-wall__heading::after {
  content: "";
  display: block;
  width: 100px;
  height: 2px;
  margin-top: 12px;
  background: var(--vw-ice);
}

div.geeks .voices-wall__layout {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 32px;
  align-items: stretch;
}

div.geeks .voices-wall__layout--solo {
  grid-template-columns: minmax(0, 1fr);
}

div.geeks .voices-wall__featured {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: var(--vw-stage-h);
  margin: 0;
  overflow: hidden;
  color: var(--vw-white);
  background:
    radial-gradient(ellipse 70% 55% at 100% 0%, color-mix(in srgb, var(--vw-ice) 28%, transparent), transparent 70%),
    var(--vw-navy);
  border-radius: var(--ce-home-radius-lg);
}

div.geeks .voices-wall__featured-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  padding: 28px 28px 24px;
}

div.geeks .voices-wall__featured-mark {
  display: block;
  height: 0.5em;
  font-family: "Archivo", sans-serif;
  font-weight: 200;
  font-size: 6rem;
  line-height: 1;
  color: var(--vw-ice);
}

div.geeks .voices-wall__featured-quote {
  margin: 0;
  padding: 0;
  border: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: var(--vw-white);
}

/* Pins avatar + name + CTA to the card bottom so the quote owns the top. */
div.geeks .voices-wall__featured-byline {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 20px;
}

div.geeks .voices-wall__featured-avatar {
  flex-shrink: 0;
  width: var(--vw-avatar-featured);
  height: var(--vw-avatar-featured);
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--vw-ice);
  background: color-mix(in srgb, var(--vw-ice) 35%, var(--vw-navy));
}

div.geeks .voices-wall__featured-meta {
  min-width: 0;
}

div.geeks .voices-wall__featured-name {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--vw-white);
}

div.geeks .voices-wall__featured-program {
  margin-top: 2px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: var(--vw-ice);
}

div.geeks .voices-wall__featured-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--vw-white);
  text-decoration: none;
  border-radius: var(--ce-home-radius-sm);
}

div.geeks .voices-wall__featured-cta svg {
  width: 18px;
  height: 18px;
  transition: transform 200ms ease-out;
}

div.geeks .voices-wall__featured-cta:hover,
div.geeks .voices-wall__featured-cta:focus-visible {
  color: var(--vw-white);
  text-decoration: underline;
  text-underline-offset: 4px;
}

div.geeks .voices-wall__featured-cta:hover svg,
div.geeks .voices-wall__featured-cta:focus-visible svg {
  transform: translateX(3px);
}

div.geeks .voices-wall__featured-cta:focus-visible {
  outline: 3px solid var(--ce-home-focus-on-dark);
  outline-offset: 3px;
}

div.geeks .voices-wall__featured-cta--static {
  cursor: default;
}

/* Without JS the notes flow as a simple wrap; initVoicesWall adds .is-live. */
div.geeks .voices-wall__board {
  position: relative;
  min-height: var(--vw-stage-h);
}

/* No-JS / pre-live: wrap notes in the pool; hide the empty 2×2 grid. */
div.geeks .voices-wall__board:not(.is-live) .voices-wall__grid {
  display: none;
}

div.geeks .voices-wall__board:not(.is-live) .voices-wall__pool {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 16px;
}

div.geeks .voices-wall__board:not(.is-live) .voices-wall__note:nth-child(n + 7) {
  display: none;
}

div.geeks .voices-wall__board.is-live {
  display: block;
}

div.geeks .voices-wall__board.is-live .voices-wall__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
  min-height: var(--vw-stage-h);
  height: 100%;
}

div.geeks .voices-wall__cell {
  position: relative;
  min-width: 0;
  min-height: 0;
}

/* Park unused notes off-layout but still measurable before mount. */
div.geeks .voices-wall__board.is-live .voices-wall__pool {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

div.geeks .voices-wall__note {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: var(--vw-note-w);
  padding: 16px 16px 14px;
  color: var(--vw-ink);
  text-decoration: none;
  background: var(--vw-white);
  border: 1px solid var(--ce-home-edge);
  border-radius: var(--ce-home-radius-md);
  box-shadow:
    0 2px 2px 0 color-mix(in srgb, var(--ce-home-edge) 50%, transparent),
    0 10px 24px color-mix(in srgb, var(--vw-navy) 8%, transparent);
}

div.geeks .voices-wall__board.is-live .voices-wall__note {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transform: rotate(var(--vw-tilt, 0deg)) scale(0.94);
  transition:
    opacity var(--vw-fade) ease-out,
    transform var(--vw-fade) ease-out,
    visibility 0s linear var(--vw-fade);
}

div.geeks .voices-wall__board.is-live .voices-wall__note.is-shown {
  opacity: 1;
  visibility: visible;
  transform: rotate(var(--vw-tilt, 0deg)) scale(1);
  transition-delay: 0s;
}

/* Buried stack members stay under the top; JS sets inline z-index by depth. */
div.geeks .voices-wall__board.is-live .voices-wall__note.is-buried {
  pointer-events: none;
}

div.geeks .voices-wall__board.is-live .voices-wall__note.is-held {
  z-index: 10;
}

div.geeks .voices-wall__note--link {
  cursor: pointer;
}

div.geeks .voices-wall__note--link:hover,
div.geeks .voices-wall__note--link:focus-visible {
  color: var(--vw-ink);
  text-decoration: none;
  box-shadow:
    0 2px 2px 0 color-mix(in srgb, var(--ce-home-edge) 50%, transparent),
    0 14px 32px color-mix(in srgb, var(--vw-navy) 18%, transparent);
}

div.geeks .voices-wall__note--link:focus-visible {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 3px;
}

div.geeks .voices-wall__note--navy.voices-wall__note--link:hover,
div.geeks .voices-wall__note--navy.voices-wall__note--link:focus-visible {
  color: var(--vw-white);
}

div.geeks .voices-wall__note--navy.voices-wall__note--link:focus-visible {
  outline-color: var(--vw-ice);
}

div.geeks .voices-wall__note--ice {
  background: var(--vw-field);
  border-color: color-mix(in srgb, var(--vw-ice) 55%, transparent);
}

div.geeks .voices-wall__note--sky {
  background: color-mix(in srgb, var(--vw-ice) 42%, var(--vw-white));
  border-color: transparent;
}

div.geeks .voices-wall__note--navy {
  color: var(--vw-white);
  background: var(--vw-navy);
  border-color: transparent;
}

div.geeks .voices-wall__note-quote {
  display: block;
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.005em;
  color: var(--vw-navy);
}

div.geeks .voices-wall__note-by {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

div.geeks .voices-wall__note-avatar {
  flex-shrink: 0;
  width: var(--vw-avatar-note);
  height: var(--vw-avatar-note);
  border-radius: 50%;
  object-fit: cover;
  background: color-mix(in srgb, var(--vw-ice) 40%, var(--vw-white));
}

div.geeks .voices-wall__note--navy .voices-wall__note-avatar {
  border: 1px solid color-mix(in srgb, var(--vw-ice) 55%, transparent);
}

div.geeks .voices-wall__note-byline {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

div.geeks .voices-wall__note-arrow {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: var(--vw-navy);
  transition: transform 200ms ease-out;
}

div.geeks .voices-wall__note--link:hover .voices-wall__note-arrow,
div.geeks .voices-wall__note--link:focus-visible .voices-wall__note-arrow {
  transform: translateX(3px);
}

div.geeks .voices-wall__note--navy .voices-wall__note-arrow {
  color: var(--vw-ice);
}

div.geeks .voices-wall__note-name {
  display: block;
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: inherit;
}

div.geeks .voices-wall__note-program {
  display: block;
  margin: 2px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vw-muted);
}

div.geeks .voices-wall__note--navy .voices-wall__note-quote {
  color: var(--vw-white);
}

div.geeks .voices-wall__note--navy .voices-wall__note-program {
  color: var(--vw-ice);
}

@media (max-width: 767.98px) {
  div.geeks .voices-wall {
    /* Fixed px: notes mount inside half-width cells, so % would shrink twice. */
    --vw-note-w: 148px;
    --vw-stage-h: 340px;
    --vw-avatar-featured: 48px;
    --vw-avatar-note: 28px;
  }

  div.geeks .voices-wall__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  div.geeks .voices-wall__featured {
    min-height: 0;
  }

  div.geeks .voices-wall__featured-copy {
    padding: 24px 20px 22px;
  }

  div.geeks .voices-wall__note {
    padding: 14px 14px 12px;
  }

  div.geeks .voices-wall__note-quote {
    font-size: 14px;
  }
}

/* -------------------------------------------------------------------------- */
/* program_areas_bookshelf — CE home shelf of program areas                    */
/* -------------------------------------------------------------------------- */

div.geeks .program-areas-bookshelf {
  --pab-navy: var(--mdc-palette-primary-500);
  --pab-ice: var(--mdc-palette-light-blue-normal);
  --pab-ground: var(--mdc-palette-light-grey-100);
  --pab-ink: var(--mdc-palette-grey-700);
  --pab-soft: var(--mdc-palette-grey-500);
  --pab-mute: var(--mdc-palette-grey-400);
  --pab-hair: var(--mdc-palette-light-grey-200);
  --pab-white: var(--mdc-palette-white);
  --pab-spine-w: 4.25rem;
  --pab-book-h: 240px;
  --pab-open-w: min(440px, 52vw);
  --pab-move: 360ms;
  --pab-ease: cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  isolation: isolate;
  background: var(--pab-ground);
  color: var(--pab-ink);
  /* Match CE home measure inset without the ice rail strip. */
  padding: var(--ce-home-pad-top) var(--ce-home-pad-right) var(--ce-home-pad-bottom) var(--ce-home-pad-left);
}

div.geeks .program-areas-bookshelf::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 55% 45% at 92% 8%, var(--ce-home-splash-ice), transparent 70%),
    radial-gradient(ellipse 40% 35% at 18% 92%, color-mix(in srgb, var(--pab-ice) 18%, transparent), transparent 65%);
}

div.geeks .program-areas-bookshelf__inner {
  position: relative;
  z-index: 1;
  max-width: var(--ce-home-measure);
  min-width: 0;
  margin: 0 auto;
}

div.geeks .program-areas-bookshelf__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--ce-home-kicker-gap);
  margin: 0 0 1.5rem;
}

div.geeks .program-areas-bookshelf__kicker {
  color: var(--pab-navy);
}

/* Typography inherits #mainContentContainer div.geeks h2 (contact_form reference). */
div#mainContentContainer div.geeks h2.program-areas-bookshelf__heading,
div.geeks h2.program-areas-bookshelf__heading {
  margin: 0;
  color: var(--pab-navy);
}

/* Keep heading→sub tighter than the shared kicker gap. */
div#mainContentContainer div.geeks h2.program-areas-bookshelf__heading + .program-areas-bookshelf__sub,
div.geeks h2.program-areas-bookshelf__heading + .program-areas-bookshelf__sub {
  margin-top: calc(0.4rem - var(--ce-home-kicker-gap));
}

div#mainContentContainer div.geeks p.program-areas-bookshelf__sub,
div.geeks .program-areas-bookshelf__sub {
  margin: 0;
  max-width: 36rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--pab-soft);
}

div.geeks .program-areas-bookshelf__row {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
  gap: 8px;
  min-height: var(--pab-book-h);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

div.geeks .program-areas-bookshelf__item {
  margin: 0;
  flex: 0 0 auto;
  scroll-snap-align: start;
}

div.geeks .program-areas-bookshelf__book {
  display: flex;
  height: var(--pab-book-h);
  width: var(--pab-spine-w);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--ce-home-radius-sm);
  overflow: hidden;
  background: var(--pab-navy);
  color: var(--pab-white);
  font: inherit;
  text-align: left;
  cursor: default;
  box-shadow: inset -1px 0 0 color-mix(in srgb, var(--pab-white) 14%, transparent);
  transition: width var(--pab-move) var(--pab-ease);
}

div.geeks .program-areas-bookshelf__book.is-open {
  width: calc(var(--pab-spine-w) + var(--pab-open-w));
  box-shadow:
    inset -1px 0 0 color-mix(in srgb, var(--pab-white) 14%, transparent),
    0 12px 28px color-mix(in srgb, var(--pab-navy) 18%, transparent);
}

div.geeks .program-areas-bookshelf__book:focus-visible {
  outline: 3px solid var(--ce-home-focus);
  outline-offset: 2px;
}

div.geeks .program-areas-bookshelf__spine {
  position: relative;
  z-index: 2;
  flex: 0 0 var(--pab-spine-w);
  width: var(--pab-spine-w);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 0.9rem 0.35rem;
  gap: 0.5rem;
  background: var(--pab-navy);
  cursor: pointer;
}

div.geeks .program-areas-bookshelf__book.is-open .program-areas-bookshelf__spine {
  background: color-mix(in srgb, var(--pab-navy) 92%, black);
}

div.geeks .program-areas-bookshelf__icon {
  display: block;
  width: 1.65rem;
  height: 1.65rem;
}

/* GCS program-area SVGs use #222 / navy strokes; flatten to white on the navy spine. */
div.geeks .program-areas-bookshelf__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

div.geeks .program-areas-bookshelf__spine-title {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.1;
  color: var(--pab-white);
  max-height: 100%;
  overflow: hidden;
}

div.geeks .program-areas-bookshelf__mark {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--pab-ice) 55%, transparent);
  transition: background 200ms ease;
}

div.geeks .program-areas-bookshelf__book.is-open .program-areas-bookshelf__mark {
  background: var(--pab-ice);
}

div.geeks .program-areas-bookshelf__pages {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  width: 0;
  opacity: 0;
  overflow: hidden;
  color: var(--pab-white);
  transition: opacity 220ms ease 60ms;
  pointer-events: none;
}

div.geeks .program-areas-bookshelf__book.is-open .program-areas-bookshelf__pages {
  width: auto;
  opacity: 1;
  pointer-events: auto;
}

/* Panel-flush readability scrim (separate from the photo bleed). */
div.geeks .program-areas-bookshelf__pages::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--pab-navy) 86%, black) 0%,
      color-mix(in srgb, var(--pab-navy) 72%, transparent) 48%,
      color-mix(in srgb, var(--pab-navy) 58%, transparent) 100%
    ),
    linear-gradient(
      180deg,
      color-mix(in srgb, black 28%, transparent) 0%,
      transparent 42%,
      color-mix(in srgb, black 42%, transparent) 100%
    );
}

div.geeks .program-areas-bookshelf__photo {
  position: absolute;
  /* Bleed past the panel so letterboxed / transparent PNG edges crop away. */
  inset: -8%;
  z-index: 0;
  width: auto;
  height: auto;
  max-width: none;
  display: block;
  object-fit: cover;
  object-position: center;
  background-color: var(--pab-navy);
  pointer-events: auto;
  opacity: 1;
}

div.geeks .program-areas-bookshelf__photo--empty {
  pointer-events: none;
}

div.geeks .program-areas-bookshelf__pages-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: none;
  padding: 1.05rem 1.15rem 1.15rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  box-sizing: border-box;
  /* Let clicks on empty panel chrome reach the photo <img> for preview edit. */
  pointer-events: none;
}

div.geeks .program-areas-bookshelf__pages-inner [data-yaml-path],
div.geeks .program-areas-bookshelf__pages-inner a,
div.geeks .program-areas-bookshelf__pages-inner button {
  pointer-events: auto;
}

div.geeks .program-areas-bookshelf__pages-kicker {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pab-white);
  text-shadow: 0 1px 2px color-mix(in srgb, black 45%, transparent);
}

div.geeks .program-areas-bookshelf__pages-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--pab-white);
  line-height: 1.15;
  text-shadow: 0 1px 3px color-mix(in srgb, black 40%, transparent);
}

div.geeks .program-areas-bookshelf__pages-desc {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--pab-white);
  text-shadow: 0 1px 2px color-mix(in srgb, black 40%, transparent);
  flex: 1;
}

div.geeks .program-areas-bookshelf__streams {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

div.geeks .program-areas-bookshelf__stream {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.85rem;
  border-radius: 999px;
  background: color-mix(in srgb, black 35%, transparent);
  border: 1px solid color-mix(in srgb, var(--pab-white) 42%, transparent);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--pab-white);
  text-decoration: none;
  cursor: default;
}

a.program-areas-bookshelf__stream {
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

a.program-areas-bookshelf__stream:hover,
a.program-areas-bookshelf__stream:focus-visible {
  background: color-mix(in srgb, var(--pab-white) 22%, transparent);
  border-color: color-mix(in srgb, var(--pab-white) 70%, transparent);
  color: var(--pab-white);
  text-decoration: none;
}

a.program-areas-bookshelf__stream:focus-visible {
  outline: 3px solid var(--ce-home-focus-on-dark);
  outline-offset: 2px;
}

div.geeks .program-areas-bookshelf__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  align-self: flex-start;
  margin-top: 0.15rem;
  padding: 0.45rem 0.75rem;
  border-radius: var(--ce-home-radius-sm);
  background: var(--pab-ice);
  color: var(--pab-navy);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
}

div.geeks .program-areas-bookshelf__cta:hover,
div.geeks .program-areas-bookshelf__cta:focus-visible {
  background: var(--pab-white);
  color: var(--pab-navy);
  text-decoration: none;
}

div.geeks .program-areas-bookshelf__cta:focus-visible {
  outline: 3px solid var(--ce-home-focus-on-dark);
  outline-offset: 2px;
}

div.geeks .program-areas-bookshelf__cta svg {
  width: 0.9rem;
  height: 0.9rem;
  stroke: currentColor;
  fill: none;
}

div.geeks .program-areas-bookshelf__progress {
  display: flex;
  gap: 6px;
  margin-top: 0.9rem;
}

div.geeks .program-areas-bookshelf__tick {
  flex: 1;
  height: 3px;
  border-radius: 999px;
  background: var(--ce-home-edge);
  overflow: hidden;
}

div.geeks .program-areas-bookshelf__tick > span {
  display: block;
  height: 100%;
  width: 0;
  background: var(--pab-navy);
}

div.geeks .program-areas-bookshelf__tick.is-active > span {
  width: 100%;
}

div.geeks .program-areas-bookshelf__tick.is-done > span {
  width: 100%;
  transition: none;
}

@media (max-width: 640px) {
  div.geeks .program-areas-bookshelf {
    --pab-book-h: 210px;
    --pab-spine-w: 3.5rem;
    --pab-open-w: min(280px, 72vw);
    padding: 32px 16px 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  div.geeks .sought-programs-board__card,
  div.geeks .sought-programs-board__list,
  div.geeks .sought-programs-board__viewport,
  div.geeks .program-areas-bookshelf__book,
  div.geeks .program-areas-bookshelf__pages,
  div.geeks .program-areas-bookshelf__tick > span,
  div.geeks .course-desk-calendar__card,
  div.geeks .course-desk-calendar__kind-tip,
  div.geeks .seasonal-recommendations__pick-row,
  div.geeks .seasonal-recommendations__tab,
  div.geeks .campus-station-board__row,
  div.geeks .campus-station-board__detail,
  div.geeks .campus-station-board__pin-hit,
  div.geeks .campus-station-board__pin-code,
  div.geeks .campus-station-board__pin-name,
  div.geeks .campus-station-board__place-glyph,
  div.geeks .campus-station-board__place-name,
  div.geeks .campus-station-board__place:hover .campus-station-board__place-name,
  div.geeks .voices-wall__board.is-live .voices-wall__note,
  div.geeks .voices-wall__note-arrow,
  div.geeks .voices-wall__featured-cta svg {
    transition: none;
  }

  div.geeks .sought-programs-board__list.is-swap-next .sought-programs-board__item,
  div.geeks .sought-programs-board__list.is-swap-prev .sought-programs-board__item {
    animation: none;
  }

  div.geeks .campus-station-board__row,
  div.geeks .course-desk-calendar__input:checked + .course-desk-calendar__tab,
  div.geeks .course-desk-calendar__note,
  div.geeks .course-desk-calendar__playhead,
  div.geeks .course-desk-calendar__line--fill,
  div.geeks .course-desk-calendar__stop,
  div.geeks .course-desk-calendar__stop::before {
    transform: none;
    transition: none;
  }

  div.geeks .course-desk-calendar__scroll.is-drawn .course-desk-calendar__stop,
  div.geeks .course-desk-calendar__scroll.is-drawn .course-desk-calendar__stop.is-active {
    opacity: 1;
  }

  div.geeks .hero-search-sentence__caret {
    animation: none;
  }

  div.geeks .hero-search-sentence__call,
  div.geeks .hero-search-sentence__call-chevron,
  div.geeks .hero-search-sentence__call-items {
    transition: none;
  }

  div.geeks .hero-search-sentence__call--toggle[aria-expanded="true"] .hero-search-sentence__call-chevron,
  div.geeks a.hero-search-sentence__call:hover .hero-search-sentence__call-chevron,
  div.geeks .hero-search-sentence__call--toggle:hover .hero-search-sentence__call-chevron {
    transform: none;
  }

  div.geeks .hero-search-sentence__call-items {
    transform: none;
  }
}

/* ==========================================================================
   search_results_page (ticket #1035): results on their own page.
   Layout from Alejandro's preview (band + filters + goal + picks + list),
   look from the CE home (navy, Plus Jakarta Sans, short blue bar on titles).
   ========================================================================== */
div.geeks .search-results-page {
  --srp-navy: var(--mdc-palette-primary-500);
  --srp-accent: var(--mdc-palette-light-blue-normal);
  --srp-ink: var(--mdc-palette-grey-700);
  --srp-soft: var(--mdc-palette-grey-500);
  --srp-hair: color-mix(in srgb, var(--srp-navy) 12%, transparent);
  --srp-white: var(--mdc-palette-white);
  font-family: "Plus Jakarta Sans", sans-serif;
  color: var(--srp-ink);
  background: var(--srp-white);
}

div.geeks .search-results-page [hidden] {
  display: none !important;
}

div.geeks .search-results-page__band {
  background: var(--srp-navy);
  color: var(--srp-white);
  padding: 48px 16px 32px;
}

div.geeks .search-results-page__band-inner,
div.geeks .search-results-page__body {
  max-width: 1180px;
  margin: 0 auto;
}

div#mainContentContainer div.geeks p.search-results-page__kicker,
div.geeks .search-results-page__kicker {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--srp-accent);
}

div#mainContentContainer div.geeks h1.search-results-page__heading,
div.geeks h1.search-results-page__heading {
  margin: 0 0 20px;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em;
  color: var(--srp-white) !important;
}

div.geeks .search-results-page__form {
  display: flex;
  gap: 8px;
  max-width: 720px;
}

div.geeks .search-results-page__input {
  flex: 1;
  min-width: 0;
  height: 52px;
  padding: 0 18px;
  border: 1px solid color-mix(in srgb, var(--srp-white) 40%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--srp-white) 12%, transparent);
  font: inherit;
  font-size: 16px;
  color: var(--srp-white);
}

div.geeks .search-results-page__input::placeholder {
  color: color-mix(in srgb, var(--srp-white) 60%, transparent);
}

div.geeks .search-results-page__input:focus-visible {
  outline: 3px solid var(--srp-accent);
  outline-offset: 2px;
}

div.geeks .search-results-page__submit {
  flex: none;
  height: 52px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  background: var(--srp-accent);
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  color: var(--srp-navy);
  cursor: pointer;
}

div#mainContentContainer div.geeks p.search-results-page__count,
div.geeks .search-results-page__count {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  min-height: 1.5em;
  margin: 18px 0 0;
  font-size: 15px;
  color: color-mix(in srgb, var(--srp-white) 85%, transparent);
}

div.geeks .search-results-page__clear {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-weight: 700;
  color: var(--srp-white);
  text-decoration: underline;
  cursor: pointer;
}

div.geeks .search-results-page__body {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 40px;
  padding: 32px 16px 64px;
}

div.geeks .search-results-page__body:has(.search-results-page__filters[hidden]) {
  grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 860px) {
  div.geeks .search-results-page__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}

/* Filters */
div.geeks .search-results-page__filter {
  margin: 0 0 22px;
  padding: 0;
  border: 0;
}

div.geeks .search-results-page__filter legend {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--srp-soft);
}

div.geeks .search-results-page__chip {
  margin: 0 6px 6px 0;
  padding: 6px 12px;
  border: 1px solid var(--srp-hair);
  border-radius: 999px;
  background: var(--srp-white);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  color: var(--srp-navy);
  cursor: pointer;
}

div.geeks .search-results-page__chip.is-on {
  border-color: var(--srp-navy);
  background: var(--srp-navy);
  color: var(--srp-white);
}

/* Advisor progress */
div.geeks .search-results-page__advisor {
  margin: 0 0 24px;
  padding: 24px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--srp-accent) 14%, var(--srp-white));
}

div.geeks .search-results-page__steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

div.geeks .search-results-page__step {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  color: var(--srp-soft);
}

div.geeks .search-results-page__step::before {
  content: "";
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid var(--srp-hair);
}

div.geeks .search-results-page__step.is-active {
  font-weight: 700;
  color: var(--srp-navy);
}

div.geeks .search-results-page__step.is-active::before {
  border-color: var(--srp-navy);
  background: var(--srp-navy);
  animation: hero-search-pulse 1.1s ease-in-out infinite;
}

div.geeks .search-results-page__step.is-done {
  color: var(--srp-navy);
}

div.geeks .search-results-page__step.is-done::before {
  border-color: var(--srp-navy);
  background: var(--srp-navy);
}

div#mainContentContainer div.geeks p.search-results-page__advisor-fact,
div.geeks .search-results-page__advisor-fact {
  min-height: 1.4em;
  margin: 16px 0 0;
  font-size: 14px;
  color: var(--srp-ink);
}

div.geeks .search-results-page__advisor-fact strong {
  color: var(--srp-navy);
}

/* Goal box */
div.geeks .search-results-page__goal {
  margin: 0 0 32px;
  padding: 24px;
  border: 1px solid var(--srp-hair);
  border-top: 4px solid var(--srp-navy);
  border-radius: 12px;
}

div#mainContentContainer div.geeks p.search-results-page__goal-label,
div.geeks .search-results-page__goal-label,
div.geeks .search-results-page__understood-label {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--srp-soft);
}

div#mainContentContainer div.geeks p.search-results-page__goal-quote,
div.geeks .search-results-page__goal-quote {
  margin: 0 0 14px;
  font-size: clamp(1.4rem, 2.6vw, 1.9rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--srp-navy);
}

div#mainContentContainer div.geeks p.search-results-page__notice,
div.geeks .search-results-page__notice,
div#mainContentContainer div.geeks p.search-results-page__understood,
div.geeks .search-results-page__understood {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  font-size: 14px;
}

div.geeks .search-results-page__understood-label {
  margin: 0;
}

div.geeks .search-results-page__understood-chip {
  padding: 3px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--srp-accent) 30%, var(--srp-white));
  font-size: 13px;
  font-weight: 700;
  color: var(--srp-navy);
}

div.geeks .search-results-page__coach {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 4px 0 12px;
}

div.geeks .search-results-page__coach p {
  margin: 5px 0 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--srp-navy);
}

div.geeks .search-results-page__coach-avatar {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--srp-navy);
  font-size: 12px;
  font-weight: 700;
  color: var(--srp-white);
}

div.geeks .search-results-page__options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

div.geeks .search-results-page__option {
  min-height: 40px;
  padding: 8px 16px;
  border: 1.5px solid var(--srp-navy);
  border-radius: 999px;
  background: var(--srp-white);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  color: var(--srp-navy);
  cursor: pointer;
}

div.geeks .search-results-page__option:hover,
div.geeks .search-results-page__option:focus-visible {
  background: var(--srp-navy);
  color: var(--srp-white);
}

/* Sections and cards */
div#mainContentContainer div.geeks h2.search-results-page__section-title,
div.geeks h2.search-results-page__section-title {
  margin: 0 0 8px;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--srp-soft) !important;
}

div.geeks .search-results-page__picks,
div.geeks .search-results-page__more {
  margin: 0 0 32px;
}

div.geeks .search-results-page__pick-list,
div.geeks .search-results-page__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

div.geeks .search-results-page__card {
  display: flex;
  gap: 16px;
  padding: 22px 0;
  border-top: 1px solid var(--srp-hair);
}

div.geeks .search-results-page__rank {
  flex: none;
  width: 28px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--srp-navy);
}

div.geeks .search-results-page__card-body {
  min-width: 0;
}

div#mainContentContainer div.geeks p.search-results-page__card-area,
div.geeks .search-results-page__card-area {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--srp-soft);
}

div#mainContentContainer div.geeks h3.search-results-page__card-title,
div.geeks h3.search-results-page__card-title {
  position: relative;
  margin: 0 0 6px;
  padding-top: 12px;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--srp-navy);
}

div.geeks h3.search-results-page__card-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 28px;
  height: 3px;
  border-radius: 2px;
  background: var(--srp-navy);
}

div.geeks .search-results-page__card-title a {
  color: inherit;
  text-decoration: none;
}

div.geeks .search-results-page__card-title a:hover {
  text-decoration: underline;
}

div#mainContentContainer div.geeks p.search-results-page__reason,
div.geeks .search-results-page__reason {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--srp-navy);
}

div#mainContentContainer div.geeks p.search-results-page__card-description,
div.geeks .search-results-page__card-description {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--srp-ink);
}

div.geeks .search-results-page__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
  font-size: 13px;
  color: var(--srp-navy);
}

div.geeks .search-results-page__facts li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: var(--srp-accent);
  vertical-align: middle;
}

div#mainContentContainer div.geeks p.search-results-page__actions,
div.geeks .search-results-page__actions {
  margin: 0;
}

div.geeks .search-results-page__cta-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--srp-navy);
  font-size: 14px;
  font-weight: 600;
  color: var(--srp-white) !important;
  text-decoration: none !important;
}

div.geeks .search-results-page__cta-button::after {
  content: "→";
}

div#mainContentContainer div.geeks p.search-results-page__status,
div.geeks .search-results-page__status {
  margin: 0 0 24px;
  font-size: 16px;
  color: var(--srp-soft);
}

div.geeks .search-results-page__status:empty {
  display: none;
}

div.geeks .search-results-page__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  padding: 20px 24px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--srp-accent) 14%, var(--srp-white));
}

div#mainContentContainer div.geeks p.search-results-page__cta-text,
div.geeks .search-results-page__cta-text {
  margin: 0;
  font-size: 15px;
  color: var(--srp-navy);
}

div.geeks .search-results-page__cta-link {
  font-weight: 700;
  color: var(--srp-navy) !important;
}

div.geeks .search-results-page__chip:focus-visible,
div.geeks .search-results-page__submit:focus-visible,
div.geeks .search-results-page__cta-button:focus-visible,
div.geeks .search-results-page__cta-link:focus-visible,
div.geeks .search-results-page__card-title a:focus-visible,
div.geeks .search-results-page__clear:focus-visible {
  outline: 3px solid var(--ce-home-focus, var(--srp-accent));
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  div.geeks .search-results-page__step.is-active::before {
    animation: none;
  }
}

/* =====================================================================
   Search coach live demo (coach_live_hero / coach_live_results, mockups v4).
   Scoped to .coach-live* so no other page changes.
   ===================================================================== */
.coach-live-hero,
.coach-live {
  --cl-navy: #004379;
  --cl-blue: #005eaa;
  --cl-blue-2: #337ebb;
  --cl-sky: #9acdfe;
  --cl-ink: #0b2540;
  --cl-muted: #4a5d72;
  --cl-line: #d8e3ee;
  --cl-bg: #f4f7fb;
  --cl-white: #ffffff;
  --cl-focus: #3470e8;
  --cl-green-bg: #e3f4e8;
  --cl-green: #1d6b3a;
  --cl-shadow: 0 14px 28px rgba(0, 67, 121, 0.06);
  --cl-gutter: 72px;
  color: var(--cl-ink);
  font-size: 16px;
  line-height: 1.5;
}
.coach-live-hero *,
.coach-live * {
  box-sizing: border-box;
}
.coach-live__icon {
  width: 20px;
  height: 20px;
  flex: none;
}
.coach-live-hero a:focus-visible,
.coach-live-hero button:focus-visible,
.coach-live-hero input:focus-visible,
.coach-live a:focus-visible,
.coach-live button:focus-visible,
.coach-live input:focus-visible,
.coach-live [tabindex="-1"]:focus {
  outline: 3px solid var(--cl-focus);
  outline-offset: 3px;
}

/* ---------------- hero (Promo 3) ---------------- */
.coach-live-hero {
  background: linear-gradient(120deg, var(--cl-navy) 0%, var(--cl-blue) 62%, var(--cl-blue-2) 100%);
  color: var(--cl-white);
}
.coach-live-hero__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 110px var(--cl-gutter) 72px;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 64px;
  align-items: start;
}
.coach-live-hero__eyebrow {
  margin: 0 0 24px;
  font-size: 16px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #cfe3f7;
}
.coach-live-hero__title {
  margin: 0 0 32px;
  font-size: clamp(36px, 4.2vw, 54px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--cl-white);
}
.coach-live-hero__title span {
  display: block;
}
.coach-live-hero__title-accent {
  color: var(--cl-sky);
}
.coach-live-hero__form,
.coach-live__form {
  display: flex;
  align-items: stretch;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
  position: relative;
}
.coach-live-combo {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
}
.coach-live-hero__input,
.coach-live__input {
  width: 100%;
  height: 54px;
  border: 0;
  background: transparent;
  color: var(--cl-white);
  font-size: 17px;
  padding: 0 20px;
  border-radius: 14px 0 0 14px;
}
.coach-live-hero__input::placeholder,
.coach-live__input::placeholder {
  color: #dbe9f6;
}
.coach-live-hero__submit,
.coach-live__submit {
  width: 56px;
  min-height: 54px;
  border: 0;
  border-radius: 0 13px 13px 0;
  background: var(--cl-sky);
  color: var(--cl-navy);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.coach-live-combo__list {
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  left: 0;
  right: -56px;
  margin: 0;
  padding: 8px;
  list-style: none;
  background: var(--cl-white);
  color: var(--cl-ink);
  border-radius: 15px;
  box-shadow: 0 18px 40px rgba(0, 35, 70, 0.22);
}
.coach-live-combo__label {
  padding: 6px 12px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cl-muted);
}
.coach-live-combo__option {
  padding: 10px 12px;
  border-radius: 10px;
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
}
.coach-live-combo__option[aria-selected="true"],
.coach-live-combo__option:hover {
  background: #e8f1fa;
  color: var(--cl-navy);
}
.coach-live-hero__lead {
  margin: 28px 0 24px;
  font-size: 17px;
  color: #eaf3fc;
  max-width: 720px;
}
.coach-live-hero__marquee {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.coach-live-hero__marquee a {
  color: #dbe9f6;
  text-decoration: none;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}
.coach-live-hero__marquee a:hover {
  color: var(--cl-white);
  text-decoration: underline;
}
.coach-live-hero__goals-label {
  margin: 4px 0 14px;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #cfe3f7;
}
.coach-live-goal {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 16px 16px 16px;
  margin-bottom: 16px;
  border-radius: 36px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  color: var(--cl-white);
  text-decoration: none;
  min-height: 72px;
}
.coach-live-goal:hover {
  background: rgba(255, 255, 255, 0.16);
  color: var(--cl-white);
  text-decoration: none;
}
.coach-live-goal__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--cl-sky);
  color: var(--cl-navy);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.coach-live-goal__text {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.coach-live-goal__text strong {
  font-size: 18px;
}
.coach-live-goal__text span {
  font-size: 13px;
  color: #dbe9f6;
}
.coach-live-goal__go {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--cl-white);
  color: var(--cl-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.coach-live-hero__popular {
  background: var(--cl-white);
  color: var(--cl-ink);
}
.coach-live-hero__popular-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 24px var(--cl-gutter);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
}
.coach-live-hero__popular-label {
  margin: 0;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cl-muted);
}
.coach-live-hero__popular .coach-live-note {
  flex-basis: 100%;
  margin: 0;
}

/* ---------------- shared bits ---------------- */
.coach-live-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.coach-live-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid var(--cl-blue);
  background: var(--cl-white);
  color: var(--cl-blue);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.coach-live-chip:hover {
  background: #e8f1fa;
  text-decoration: none;
  color: var(--cl-navy);
}
.coach-live-chip.is-active {
  background: var(--cl-blue);
  color: var(--cl-white);
}
.coach-live-chip[disabled] {
  border-color: var(--cl-line);
  color: #8796a6;
  cursor: not-allowed;
  background: var(--cl-white);
}
.coach-live-chip .coach-live__icon {
  width: 16px;
  height: 16px;
}
.coach-live-chip--big {
  font-size: 16px;
  padding: 10px 20px;
}
.coach-live-note {
  font-size: 13px;
  color: var(--cl-muted);
}
.coach-live-kicker {
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cl-blue);
}
/* Small, quiet tag on the sample blocks only (events, FAQ, career
   paths); real results never carry it. */
.coach-live-tag {
  display: inline-block;
  padding: 1px 8px;
  border: 1px dashed #b5c7d9;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: var(--cl-muted);
  background: transparent;
  vertical-align: middle;
}
.coach-live-link {
  background: none;
  border: 0;
  padding: 0;
  min-height: 44px;
  color: var(--cl-blue);
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
  text-align: left;
  font-size: inherit;
}
.coach-live-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 24px;
  border-radius: 999px;
  border: 1px solid var(--cl-blue);
  background: var(--cl-blue);
  color: var(--cl-white);
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.coach-live-btn:hover {
  background: var(--cl-navy);
  color: var(--cl-white);
  text-decoration: none;
}
.coach-live-btn--ghost {
  background: var(--cl-white);
  color: var(--cl-blue);
}
.coach-live-btn--ghost:hover {
  background: #e8f1fa;
  color: var(--cl-navy);
}

/* ---------------- results page ---------------- */
.coach-live {
  background: var(--cl-bg);
}
.coach-live__band {
  background: linear-gradient(120deg, var(--cl-navy) 0%, var(--cl-blue) 62%, var(--cl-blue-2) 100%);
}
.coach-live__band-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 28px var(--cl-gutter) 30px;
}
.coach-live__band-kicker {
  margin: 0 0 16px;
  font-size: 13px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #cfe3f7;
}
.coach-live__body {
  max-width: 1440px;
  margin: 0 auto;
  padding: 36px var(--cl-gutter) 72px;
}
.coach-live__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.coach-live__title {
  margin: 0;
  font-size: 25px;
  font-weight: 700;
  color: var(--cl-navy);
  overflow-wrap: anywhere;
}
.coach-live-coach {
  display: flex;
  gap: 16px;
  padding: 24px 30px;
  margin-bottom: 24px;
  border-radius: 22px;
  border: 1px solid var(--cl-line);
  background: var(--cl-white);
  box-shadow: var(--cl-shadow);
}
.coach-live-coach.is-question {
  border: 2px solid var(--cl-blue);
}
.coach-live-coach__icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--cl-blue);
  color: var(--cl-white);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.coach-live-coach__body {
  flex: 1 1 auto;
  min-width: 0;
}
.coach-live-coach__line {
  margin: 0;
  font-size: 18px;
  color: var(--cl-ink);
}
.coach-live-coach__line.is-fresh,
.coach-live-why.is-fresh {
  animation: coach-live-fade 200ms ease-out;
}
@keyframes coach-live-fade {
  from { opacity: 0.2; }
  to { opacity: 1; }
}
.coach-live-question {
  margin: 20px 0 14px;
  font-size: 22px;
  font-weight: 700;
  color: var(--cl-navy);
}
.coach-live-constraints {
  margin: 12px 0 0;
}
.coach-live-wait__fact {
  margin: 8px 0 12px;
  color: var(--cl-muted);
  font-size: 14px;
  min-height: 21px;
}
.coach-live-wait__bar {
  height: 3px;
  background: #e1eaf3;
  border-radius: 3px;
  overflow: hidden;
  max-width: 420px;
}
.coach-live-wait__bar span {
  display: block;
  height: 100%;
  width: 35%;
  background: var(--cl-blue);
  animation: coach-live-bar 1.4s linear infinite;
}
.coach-live-wait__bar.is-static span {
  animation: none;
  width: 100%;
  opacity: 0.4;
}
@keyframes coach-live-bar {
  from { transform: translateX(-100%); }
  to { transform: translateX(300%); }
}
.coach-live-top {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 32px;
}
.coach-live-top.is-single {
  grid-template-columns: minmax(0, 1fr);
  max-width: 820px;
}
.coach-live-best {
  padding: 30px;
  border-radius: 22px;
  border: 2px solid var(--cl-blue);
  background: var(--cl-white);
  box-shadow: var(--cl-shadow);
  min-width: 0;
}
.coach-live-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}
.coach-live-badge {
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--cl-navy);
  color: var(--cl-white);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.coach-live-status {
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--cl-green-bg);
  color: var(--cl-green);
  font-size: 12px;
  font-weight: 600;
}
.coach-live-best__title {
  margin: 0 0 12px;
  font-size: 29px;
  line-height: 1.2;
  font-weight: 800;
  color: var(--cl-navy);
  overflow-wrap: anywhere;
}
.coach-live-best__title a {
  color: inherit;
  text-decoration: none;
}
.coach-live-best__title a:hover {
  text-decoration: underline;
}
.coach-live-best__desc {
  color: var(--cl-muted);
  margin: 0 0 16px;
}
.coach-live-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.coach-live-pill {
  padding: 6px 12px;
  border-radius: 999px;
  background: #edf3f9;
  font-size: 14px;
  color: var(--cl-muted);
}
.coach-live-pill strong {
  color: var(--cl-navy);
}
.coach-live-pill.is-unknown {
  font-style: italic;
}
.coach-live-why {
  margin: 0 0 20px;
  padding: 16px 18px;
  border-radius: 15px;
  background: #f1f5fa;
}
.coach-live-why[hidden] {
  display: none;
}
.coach-live-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
}
/* "See dates and enroll": one line per open date (date | campus | way of
   taking it), each a link to that campus version's course page. */
.coach-live-dates {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  color: var(--cl-ink);
  border-top: 1px solid #e3ebf3;
}
.coach-live-dates li {
  border-bottom: 1px solid #e3ebf3;
}
.coach-live-dates__link,
.coach-live-dates li > span {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 4px;
  font-size: 15px;
  overflow-wrap: anywhere;
}
.coach-live-dates__link {
  color: var(--cl-blue);
  text-decoration: none;
}
.coach-live-dates__link:hover,
.coach-live-dates__link:focus-visible {
  text-decoration: underline;
}
.coach-live-answer {
  margin: 0 0 12px;
  padding: 16px 18px;
  border-left: 4px solid var(--cl-blue);
  background: #f1f5fa;
  border-radius: 0 15px 15px 0;
  font-size: 17px;
}
.coach-live-event {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 16px;
  margin: 0 0 12px;
}
.coach-live-event dt {
  font-weight: 700;
  color: var(--cl-navy);
}
/* Every date of a real event, each linking to its Luma page. */
.coach-live-event-dates {
  margin: 0 0 12px;
}
.coach-live-event-dates .coach-live-dates {
  margin-top: 4px;
}
.coach-live-event-dates li + li {
  margin-top: 6px;
}
.coach-live-dates__link {
  color: var(--cl-blue);
  font-weight: 600;
}
.coach-live-event dd {
  margin: 0;
}
.coach-live-steps {
  margin: 0 0 12px;
  padding-left: 20px;
}
.coach-live-sim {
  flex-basis: 100%;
  margin-top: 12px;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px dashed #8aa6c2;
  background: #f8fbfe;
  font-size: 14px;
}
.coach-live-also {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.coach-live-section-label {
  margin: 0 0 4px;
  color: var(--cl-muted);
}
.coach-live-row {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 16px 18px;
  border-radius: 15px;
  border: 1px solid var(--cl-line);
  background: var(--cl-white);
  color: var(--cl-ink);
  text-decoration: none;
  text-align: left;
  font-size: inherit;
  cursor: pointer;
  min-height: 64px;
}
.coach-live-row:hover {
  border-color: var(--cl-blue-2);
  text-decoration: none;
  color: var(--cl-ink);
}
.coach-live-row__num {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--cl-line);
  background: #eef3f8;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  color: var(--cl-navy);
}
.coach-live-row__text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.coach-live-row__title {
  color: var(--cl-navy);
  font-size: 16px;
  overflow-wrap: anywhere;
}
.coach-live-row__meta {
  color: var(--cl-muted);
  font-size: 13px;
}
.coach-live-row__text .coach-live-tag {
  align-self: flex-start;
  margin-top: 4px;
}
.coach-live-row__go {
  color: var(--cl-blue);
  flex: none;
}
.coach-live-row.is-nodates {
  background: #fafbfd;
}
.coach-live-help {
  margin: 0;
  padding: 12px 18px;
  border-radius: 15px;
  background: #eaf1f9;
  font-size: 14px;
}
.coach-live-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 32px;
}
.coach-live-nodates {
  margin-bottom: 8px;
}
.coach-live-nodates .coach-live-note {
  margin: 0 0 12px;
}
.coach-live-refine {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  padding-top: 24px;
  border-top: 1px solid var(--cl-line);
}
.coach-live-refine .coach-live-kicker {
  margin: 0;
  color: var(--cl-muted);
}
.coach-live-empty {
  padding: 32px;
  border-radius: 22px;
  background: var(--cl-white);
  border: 1px solid var(--cl-line);
  margin-bottom: 24px;
}
.coach-live-empty__title {
  font-size: 20px;
  font-weight: 700;
  color: var(--cl-navy);
  margin: 0 0 6px;
}

@media (max-width: 1100px) {
  .coach-live-hero,
  .coach-live {
    --cl-gutter: 40px;
  }
  .coach-live-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
    padding-top: 72px;
  }
}
@media (max-width: 900px) {
  .coach-live-top,
  .coach-live-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 600px) {
  .coach-live-hero,
  .coach-live {
    --cl-gutter: 16px;
  }
  .coach-live-hero__inner {
    padding-top: 48px;
    padding-bottom: 40px;
  }
  .coach-live__head {
    flex-direction: column;
    align-items: flex-start;
  }
  .coach-live-coach {
    padding: 20px 16px;
  }
  .coach-live-best {
    padding: 22px 18px;
  }
  .coach-live-best__title {
    font-size: 24px;
  }
  .coach-live-actions .coach-live-btn {
    width: 100%;
  }
  .coach-live-combo__list {
    right: -56px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .coach-live-wait__bar span {
    animation: none;
    width: 100%;
    opacity: 0.4;
  }
  .coach-live-coach__line.is-fresh,
  .coach-live-why.is-fresh {
    animation: none;
  }
}

/* Search coach live demo: waiting stepper (mockup v4 / 10) and font. */
.coach-live-hero,
.coach-live {
  font-family: "Plus Jakarta Sans", "Open Sans", Arial, sans-serif; /* loaded by the geeks theme */
}
.coach-live-hero input,
.coach-live-hero button,
.coach-live input,
.coach-live button,
.coach-live h1,
.coach-live h2,
.coach-live-hero h1 {
  font-family: inherit;
}
.coach-live-wait {
  max-width: 820px;
  padding: 26px 30px 30px;
}
.coach-live-wait__title {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: 700;
  color: var(--cl-navy);
}
.coach-live-steps-wait {
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.coach-live-steps-wait__item {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 15px;
  color: var(--cl-muted);
  transition: color 200ms ease;
}
.coach-live-steps-wait__mark {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--cl-line);
  background: #eef3f8;
  color: var(--cl-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  flex: none;
}
.coach-live-steps-wait__item.is-done .coach-live-steps-wait__mark {
  color: var(--cl-blue);
}
.coach-live-steps-wait__item.is-current {
  color: var(--cl-navy);
  font-weight: 700;
}
.coach-live-steps-wait__item.is-current .coach-live-steps-wait__mark {
  background: var(--cl-blue);
  border-color: var(--cl-blue);
  color: var(--cl-white);
}
.coach-live-wait .coach-live-wait__bar {
  max-width: none;
  margin-bottom: 24px;
}
.coach-live-wait .coach-live-wait__bar span {
  width: 33%;
  animation: none;
  transition: width 400ms ease;
}
.coach-live-figure {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 22px 22px;
  border-radius: 15px;
  background: #eaf2fb;
}
.coach-live-figure[hidden] {
  display: none;
}
.coach-live-figure__value {
  font-size: 34px;
  line-height: 1;
  font-weight: 800;
  color: var(--cl-navy);
  min-width: 64px;
}
.coach-live-figure__text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.coach-live-figure__label {
  font-size: 15px;
  color: var(--cl-ink);
}
.coach-live-figure__source {
  font-size: 12px;
  color: var(--cl-blue);
}
.coach-live-wait__note {
  margin: 16px 0 0;
}
@media (prefers-reduced-motion: reduce) {
  .coach-live-wait .coach-live-wait__bar span,
  .coach-live-steps-wait__item {
    transition: none;
  }
}
.coach-live-tag--field {
  border-style: solid;
  border-color: #cfe0f1;
  background: #f1f6fb;
  color: var(--cl-blue);
}
/* Round 3: Open Door Grant tag, FAQ source and feedback. */
.coach-live-tag--grant {
  border-style: solid;
  border-color: #b9dcc4;
  background: #eef8f1;
  color: #1e6b3a;
  text-decoration: none;
}
a.coach-live-tag--grant:hover,
a.coach-live-tag--grant:focus-visible {
  text-decoration: underline;
}
.coach-live-answer p {
  margin: 0;
}
.coach-live-answer ul {
  margin: 8px 0 0;
  padding-left: 20px;
}
.coach-live-answer.is-pending {
  border-left-color: #8aa6c2;
  color: var(--cl-muted);
  font-size: 15px;
}
.coach-live-faq-source {
  margin: 0 0 12px;
  font-size: 14px;
  color: var(--cl-muted);
}
.coach-live-faq-related ul {
  margin: 0 0 12px;
  padding-left: 20px;
  font-size: 14px;
}
.coach-live-feedback {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
}
.coach-live-feedback__ask {
  font-weight: 600;
}
.coach-live-feedback__thanks {
  flex-basis: 100%;
  margin: 0;
}
/* The geeks theme sets headings to 400 with an id selector
   (#mainContentContainer div.geeks h1); keep the v4 weights on these
   components only. The theme already loads Plus Jakarta Sans. */
.coach-live .coach-live__title {
  font-weight: 700 !important;
  letter-spacing: -0.01em;
}
.coach-live .coach-live-best__title {
  font-weight: 800 !important;
  letter-spacing: -0.01em;
}
.coach-live .coach-live-question {
  font-weight: 700 !important;
}
.coach-live-hero .coach-live-hero__title {
  font-weight: 800 !important;
}
