/* GLOBAL STYLES
-------------------------------------------------- */
/* Padding below the footer and lighter body text */

body {
  padding-top: 3rem;
  padding-bottom: 3rem;
  color: #5a5a5a;
}


/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */

/* Carousel base class */
.carousel {
  margin-bottom: 4rem;
}
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
  bottom: 3rem;
  z-index: 10;
}

/* Declare heights because of positioning of img element */
.carousel-item {
  height: 32rem;
}


/* MARKETING CONTENT
-------------------------------------------------- */

/* Center align the text within the three columns below the carousel */
.marketing .col-lg-4 {
  margin-bottom: 1.5rem;
  text-align: center;
}
/* rtl:begin:ignore */
.marketing .col-lg-4 p {
  margin-right: .75rem;
  margin-left: .75rem;
}
/* rtl:end:ignore */


/* Featurettes
------------------------- */

.featurette-divider {
  margin: 5rem 0; /* Space out the Bootstrap <hr> more */
}

/* Thin out the marketing headings */
/* rtl:begin:remove */
.featurette-heading {
  letter-spacing: -.05rem;
}

/* rtl:end:remove */

/* RESPONSIVE CSS
-------------------------------------------------- */

@media (min-width: 40em) {
  /* Bump up size of carousel content */
  .carousel-caption p {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.4;
  }

  .featurette-heading {
    font-size: 3.125rem;
  }
}

@media (min-width: 62em) {
  .featurette-heading {
    margin-top: 7rem;
  }
}

.canvasjs-chart-credit
{
    display: none !important;
}
/* 輪播暫停/播放鈕（WCAG 2.2.2 Pause, Stop, Hide） */
.carousel-play-pause {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 15;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background-color: rgba(31, 42, 55, 0.76);
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1;
  cursor: pointer;
}
.carousel-play-pause:hover {
  background-color: rgba(31, 42, 55, 0.95);
}
.carousel-play-pause:focus-visible {
  outline: 3px dashed #b26a00;
  outline-offset: 2px;
}

/* 上一張/下一張控制鈕：Bootstrap 預設為半透明白色箭頭（opacity:.5），
   在淺色/多變的輪播圖片背景上對比度不足（WCAG 1.4.11 Non-text Contrast）。
   改為與暫停鈕一致的深色圓底 + 全不透明白色箭頭，對比度穩定不受底圖顏色影響。 */
.carousel-control-prev,
.carousel-control-next {
  opacity: 1;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
  width: 44px;
  height: 44px;
  padding: 10px;
  border-radius: 50%;
  background-color: rgba(31, 42, 55, 0.76);
  background-origin: content-box;
  box-sizing: border-box;
}
.carousel-control-prev:hover .carousel-control-prev-icon,
.carousel-control-next:hover .carousel-control-next-icon {
  background-color: rgba(31, 42, 55, 0.95);
}
.carousel-control-prev:focus-visible,
.carousel-control-next:focus-visible {
  outline: 3px dashed #b26a00;
  outline-offset: 2px;
}

/* 輪播指示點聚焦樣式（使用者實測回饋）：底圖為古文書棕黃、綠色系等多變色彩，
   單色 outline 與底圖顏色相近時難以辨識。改用「白色底環＋深色虛線框」雙層設計，
   深色虛線間隙透出白環，任何底圖上皆有足夠對比（WCAG 2.4.7 / 1.4.11）。 */
.carousel-indicators [data-bs-target]:focus-visible {
  outline: 3px dashed #1f2a37;
  outline-offset: 2px;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 8px rgba(255, 255, 255, 0.92);
}

/* 指示點觸控目標放大（WCAG 2.5.8：最小 24x24）：
   Bootstrap 預設指示點 30x3，12 顆在手機被 flex 壓縮到約 16px 寬；
   固定最小寬度防壓縮（box-sizing:content-box，上下透明 border 撐出
   24px 高的熱區），放不下時換行而非縮小 */
.carousel-indicators {
  flex-wrap: wrap;
}
.carousel-indicators [data-bs-target] {
  width: 24px;
  min-width: 24px;
  flex-shrink: 0;
  height: 4px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
