/* Adjustment-level UI/UX polish for the static Rushmore export. */

:root {
  --ras-font-ui: Gotham, Lato, Arial, sans-serif;
  --ras-font-display: "Chronicle Text G2", Merriweather, Georgia, serif;
  --ras-blue: #083888;
  --ras-navy: #041b43;
  --ras-red: #ea0029;
  --ras-copy: #0b0b0b;
}

html,
body {
  font-family: var(--ras-font-ui);
  font-size: 16px;
  line-height: 1.65;
  color: var(--ras-copy);
}

body,
p,
li,
label,
input,
select,
textarea,
button,
.button,
.hs-button,
.custom-menu-primary a,
.footer-wrapper,
.connect-cont,
.discover-content,
.cm-about-rushmore .about-content {
  font-family: var(--ras-font-ui) !important;
}

p,
li {
  font-size: clamp(16px, 1vw, 18px);
  line-height: 1.65;
}

h1,
.h1,
.banner h1,
.cm-homepage-banner h1 {
  font-family: var(--ras-font-ui) !important;
  font-weight: 250 !important;
  letter-spacing: 0 !important;
}

h2,
.h2,
.cm-about-rushmore h2,
.cm-discover-joy h2,
.cm-connect-with-us h2,
.cm-news-events-wrap .top-header h2,
.section-header h2 {
  color: var(--ras-blue);
  font-family: var(--ras-font-display) !important;
  font-size: clamp(34px, 3.6vw, 52px);
  font-weight: 300 !important;
  line-height: 1.12;
  letter-spacing: 0 !important;
}

h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.main-header .left h2,
.our-campus-group h3,
.cm-image-with-content .cm-section-header h3,
.button-group .button-item .Style2,
.blog-card-topic,
.blog-card-date {
  font-family: var(--ras-font-ui) !important;
  letter-spacing: 0 !important;
}

.our-services-tabs ul li,
.our-services-cont,
.our-services-cont h4,
.our-service-slider.has-content h3,
.link-group.Button a,
span.shapes,
.cm-about-rushmore-inner .circle1 h3,
.cm-about-rushmore-inner .circle2 h3 {
  font-family: var(--ras-font-ui) !important;
  letter-spacing: 0 !important;
}

.blog-card h3,
.hs-blog-post-listing__post-title-link,
.blog-related-posts__title-link {
  font-family: var(--ras-font-display) !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
}

.button,
.hs-blog-post-listing__post-button,
.hs-button,
button,
form .hs-button,
form input[type=submit] {
  font-family: var(--ras-font-ui) !important;
  font-size: clamp(15px, 1vw, 18px) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

form input[type=email],
form input[type=file],
form input[type=number],
form input[type=password],
form input[type=search],
form input[type=tel],
form input[type=text],
form select,
form textarea,
.cm-connect-with-us .hs-input,
div#splash-screen select,
div#splash-screen input {
  font-family: var(--ras-font-ui) !important;
  font-size: 16px;
}

.our-campus-group .tab-group h2 {
  font-family: var(--ras-font-ui) !important;
}

.our-campus-group .left {
  display: grid;
  padding-bottom: clamp(130px, 10vw, 190px);
}

.our-campus-group .circle-wrapper,
.our-campus-group .tab-group {
  grid-area: 1 / 1;
}

.our-campus-group .tab-group {
  align-self: stretch;
  bottom: auto !important;
  left: auto !important;
  margin: 0 !important;
  padding-left: 0 !important;
  pointer-events: none;
  position: relative !important;
  right: auto !important;
  width: 100% !important;
  z-index: 2;
}

.our-campus-group .tab-item {
  inset: 0;
  position: absolute;
}

.our-campus-group .tab-group p {
  font-size: clamp(12px, 0.85vw, 14px) !important;
  left: 50%;
  line-height: 1.45 !important;
  margin: 0 !important;
  max-width: 420px !important;
  position: absolute;
  text-align: center;
  top: 72%;
  transform: translate(-50%, -50%);
  width: 46%;
}

.our-campus-group .tab-group h2 {
  left: 50%;
  margin: 0 !important;
  position: absolute;
  top: 100%;
  transform: translateX(-50%);
  width: max-content;
}

html[lang^="ar"],
html[lang^="ar"] body,
html[lang^="ar"] p,
html[lang^="ar"] li,
html[lang^="ar"] input,
html[lang^="ar"] select,
html[lang^="ar"] textarea,
html[lang^="ar"] button,
html[lang^="ar"] .custom-menu-primary a {
  font-family: Arial, Tahoma, sans-serif !important;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #ea0029;
  outline-offset: 3px;
}

.banner {
  min-height: clamp(360px, 42vw, 560px) !important;
  padding-top: clamp(110px, 12vw, 170px) !important;
}

.banner h1,
.cm-homepage-banner h1 {
  font-size: clamp(42px, 4.8vw, 90px) !important;
  line-height: 1.08 !important;
}

.banner .sub-heading,
.cm-homepage-banner .sub-heading {
  font-size: clamp(18px, 1.85vw, 36px) !important;
}

.cm-homepage-banner .left-inner {
  top: clamp(40px, 8vw, 120px) !important;
}

.cm-news-events-wrap .blog-card {
  min-height: 420px;
  height: auto !important;
  aspect-ratio: 4 / 3;
}

.cm-news-events-wrap .blog-card h3 {
  min-height: 160px;
}

.learning-section .learning-item img,
.learning-section .first-row .learning-item.right-s img,
.learing-second-row.middle .learning-item.large-item.last-child img {
  max-width: 100% !important;
  max-height: 100% !important;
  min-height: 0 !important;
  object-fit: contain;
}

.learning-section .caption {
  padding: 0 8px;
}

div#splash-screen input#parentNumber {
  background-image: none;
}

.splash {
  overscroll-behavior: contain;
}

.splash-content {
  box-sizing: border-box;
}

.close-splash {
  border: 0;
  z-index: 3;
}

div#splash-screen input:focus,
div#splash-screen select:focus,
.cm-connect-with-us .hs-input:focus {
  outline: 2px solid #fff !important;
  outline-offset: 2px;
}

.cm-connect-with-us input.hs-button.primary.large:focus-visible {
  outline: 3px solid #ea0029;
  outline-offset: 4px;
}

.footer-top .hs_cos_wrapper_type_logo img {
  height: auto;
}

@media (max-width: 767px) {
  p,
  li {
    font-size: 16px;
    line-height: 1.62;
  }

  h2,
  .h2,
  .cm-about-rushmore h2,
  .cm-discover-joy h2,
  .cm-connect-with-us h2,
  .cm-news-events-wrap .top-header h2 {
    font-size: clamp(30px, 8.8vw, 40px) !important;
    line-height: 1.15;
  }

  .banner {
    min-height: 420px !important;
    padding-top: 90px !important;
  }

  .banner h1,
  .cm-homepage-banner h1 {
    font-size: clamp(34px, 11vw, 52px) !important;
    line-height: 1.1 !important;
  }

  .cm-homepage-banner {
    min-height: auto !important;
    padding-top: 110px !important;
  }

  .cm-homepage-banner .left-inner {
    top: 0 !important;
  }

  .splash {
    align-items: flex-start !important;
    overflow-y: auto;
    padding: 16px 0;
  }

  .splash-content {
    background-image: none !important;
    background-color: #253060;
    width: calc(100vw - 32px) !important;
    max-width: none !important;
    max-height: none !important;
    padding: 20px !important;
  }

  .splash-content .container {
    width: 100%;
  }

  .exit-top-content {
    padding-right: 44px;
  }

  .exit-top-content .left {
    width: 88px !important;
    flex: 0 0 88px;
  }

  .exit-top-content h2 {
    font-size: 40px !important;
  }

  .exit-content h4 {
    font-size: 18px !important;
    line-height: 1.25;
  }

  .exit-content h2 {
    font-size: 22px !important;
    line-height: 1.25;
  }

  .splash-content p {
    font-size: 15px !important;
  }

  .form-row {
    flex-direction: column;
    gap: 18px;
    margin-bottom: 14px;
  }

  #splash-screen form .tab {
    margin-top: 4px;
  }

  .splash button.btn {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  p.footer-note {
    max-width: none;
    text-align: center;
  }

  .cm-connect-with-us input.hs-button.primary.large {
    width: 100%;
    max-width: 260px;
    border-radius: 999px;
    font-size: 16px;
    background-image: none;
  }

  .cm-news-events-wrap .blog-card {
    min-height: 430px;
    aspect-ratio: auto;
  }

  .cm-news-events-wrap .blog-card h3 {
    min-height: 0;
  }

  .our-campus-group .tab-group p {
    font-size: clamp(9px, 2.45vw, 11px) !important;
    line-height: 1.28 !important;
    top: 73%;
    width: 60%;
  }

  .our-campus-group .tab-group h2 {
    margin-top: 18px !important;
  }

  .our-campus-group .left {
    padding-bottom: 100px !important;
  }
}

@media (max-width: 500px) {
  .cm-header-right-icons .custom-label {
    display: none !important;
  }
}

@media (max-width: 479px) {
  body .cm-header-right-icons ul li a {
    width: 40px !important;
    height: 40px !important;
  }

  .header-right {
    max-width: 96px;
  }

  .header-nav__trigger {
    margin-left: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
