/* Site-wide responsive layout overrides. */
html, body { max-width: 100%; overflow-x: clip; }
img, svg, video, canvas { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
.banner_wrap, .banner_wrap_mb { display: none; }
.main-banner-grid > [class*='col-'] { display: flex; }
.main-banner-grid a, .mobile-course-links a { display: block; width: 100%; }
.main-banner-grid img, .mobile-course-links img { display: block; width: 100%; height: auto; }
.course-shortcuts, .partner-links { display: flex; flex-wrap: wrap; justify-content: space-between; }
.course-shortcuts a { display: inline-flex; width: 24.65%; min-width: 0; align-items: center; justify-content: center; flex-direction: column; gap: .35rem; padding: 15px 0; border: 1px solid #eee; border-radius: 5px; background: #3366cc; color: #fff; text-align: center; }
.course-shortcuts p { margin: 0; word-break: keep-all; }
.course-shortcuts img { max-height: 2.25rem; }
.partner-links a { display: inline-flex; width: 16.24%; min-width: 0; align-items: center; justify-content: center; padding: 15px 0; border: 1px solid #eee; border-radius: 5px; text-align: center; }
.partner-links img { width: 100%; height: auto; }
.responsive-table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
/* Side banners use only the space outside the 1320px content container. */
@media (min-width: 1640px) {
  .banner_wrap { position: absolute; z-index: 5; display: block; width: 100%; pointer-events: none; }
  .banner_wrap .left, .banner_wrap .right {
    position: absolute;
    top: 6rem;
    width: clamp(9rem, calc(50vw - 676px), 15rem);
    pointer-events: auto;
  }
  .banner_wrap .left { left: 1rem; }
  .banner_wrap .right { right: 1rem; }
  .banner_wrap .bn_1, .banner_wrap .bn_2 { margin-bottom: 1.25rem; }
  .banner_wrap img { display: block; width: 100%; height: auto; }
  #sticky-box { position: relative; top: auto; width: 100%; margin-top: 1.25rem; padding: 1.25rem .625rem !important; }
  #sticky-box p { margin-bottom: .45rem; font-size: .8rem; line-height: 1.4; overflow-wrap: break-word; }
  #sticky-box #big-tx { font-size: 1.15rem; line-height: 1.25; white-space: nowrap; }
  #sticky-box #banks { font-size: .75rem; word-break: keep-all; }
}
@media (max-width: 1199.98px) {
  .mb_gap { display: block; height: 4.5rem; }
}
@media (max-width: 767.98px) {
  .mobile-course-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-bottom: 1rem; }
  .course-shortcuts { display: none; }
  .partner-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
  .partner-links a { width: auto; margin: 0; }
  .class_wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .class_wrap table { min-width: 40rem; }
  #bo_v_con { overflow-wrap: anywhere; }
}