@charset "UTF-8";
/*
-----------------------------------
    0. 變數
    1. 全文檢索
    2. 網站導覽頁
    3. 錯誤訊息頁
    4. 隱私權政策
-----------------------------------
*/
/*===============================
    變數
================================*/
:root {
  --fontFamily: NotoSans, "PingFangTC", Microsoft JhengHei, "微軟正黑體", "Helvetica", "sans-serif";
  /*語意化顏色變數*/
  --color-gray-100: #f1f6fa;
  --color-gray-200: #f4f4f4;
  --color-gray-300: #ecf2f9;
  --color-gray-400: #ebeff2;
  --color-gray-500: #e3e8ed;
  --color-gray-600: #e1e1e1;
  --color-gray-700: #9fa4ac;
  --color-gray-800: #6c6c6c;
  --color-gray-900: #3d4e66;
  --color-black: #1f2429;
  --color-primary-darker: #00658c;
  --color-primary-dark: #006d97;
  --color-primary: #007eae;
  --color-primary-light: #c3eeff;
  --color-primary-lighter: #f0fbff;
  --color-secondary: #edf6ff;
  --color-secondary-light: #f3f9ff;
  --color-success: #00b428;
  --color-success-dark: #049624;
  --color-info: #1b61c0;
  --color-info-dark: #1654a8;
  --color-warning: #ffc700;
  --color-warning-light: #fff6e6;
  --color-warning-lighter: #fffaec;
  --color-danger: #ed0408;
  --color-text-primary: #007eae;
  --color-text-darkblue: #113563;
  --color-text-default: var(--color-gray-900);
  --color-text-light: var(--color-gray-700);
  --color-text-dark: var(--color-gray-800);
  --color-bg-primary: #f1f6fa;
  --color-bg-light: #ecf2f9;
  --color-bg-dark: #ebeff2;
  --color-border-default: var(--color-gray-600);
  --color-border-light: var(--color-gray-500);
  --color-linear: linear-gradient(to bottom, #f7fafd 0%, #eafbff 69%);
  --color-lakeblue: #daf7f7;
  --outlineBrown: #AE8800;
}

/*===============================
    全文檢索
================================*/
.search-container {
  margin-top: 1.5rem;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  grid-auto-rows: min-content 1fr;
  grid-template-areas: "block aside" "result aside";
  gap: 24px;
  align-items: start;
  width: 100%;
}

.search-block,
.search-result,
.search-aside {
  min-width: 0;
}

.search-block {
  grid-area: block;
  padding: 1rem;
  box-sizing: border-box;
  border-radius: 8px;
  background-color: var(--color-gray-100);
}

.search-result {
  grid-area: result;
  margin-top: -0.5rem;
}

.search-aside {
  grid-area: aside;
}

.search-input {
  display: flex;
  gap: 16px;
  align-items: flex-end;
  white-space: nowrap;
}
.search-input > .form-group {
  flex: 1;
}
.search-input .form-control::placeholder {
  color: var(--color-text-default);
}
.search-input button[type=reset] {
  flex: 0 0 92px;
}
.search-input .advanced-search-toggle[aria-expanded=true] .icon {
  transform: rotate(180deg);
}

.advanced-search {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.advanced-search .options-row {
  display: flex;
  gap: 30px;
}
.advanced-search .options-row .form-group:has(select) {
  flex-basis: 200px;
}
.advanced-search .date-range-group {
  width: 100%;
  display: flex;
  gap: 16px;
}
.advanced-search .date-range-group .form-group {
  flex: 1;
}
.advanced-search .date-range-group .function {
  padding: 0.625rem 0;
  box-sizing: border-box;
  align-items: flex-end;
  font-size: 1rem;
  font-weight: 500;
}

.search-prompt .prompt-label {
  flex-shrink: 0;
  color: var(--color-text-default);
  font-size: 1rem;
  font-weight: 500;
}
.search-prompt .prompt-content {
  flex-grow: 1;
}
.search-prompt .prompt-content a {
  color: var(--color-info);
  font-size: 1rem;
  cursor: pointer;
  text-decoration: none;
}

.search-result-prompt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  box-sizing: border-box;
}
.search-result-prompt p {
  font-size: 1.25rem;
}
.search-result-prompt p span {
  font-weight: 500;
}
.search-result-prompt .select-row {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-text-default);
  white-space: nowrap;
}
.search-result-prompt .select-row .form-group {
  flex: 0 0 160px;
  min-width: 0;
  gap: 0;
}

.search-result-list .search-result-item {
  padding: 1rem;
  box-sizing: border-box;
  border-bottom: 1px dashed var(--color-border-light);
}
.search-result-list .search-result-item > div {
  display: flex;
  gap: 16px;
}
.search-result-list .search-result-item .item-num {
  flex-shrink: 0;
  width: 2.125rem;
  height: 2.125rem;
  padding: 0.375rem;
  box-sizing: border-box;
  background-color: #ffc800;
  border-radius: 4px;
  color: var(--color-black);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.375;
  text-align: center;
}
.search-result-list .search-result-item .result-info .row {
  display: flex;
  gap: 14px;
}
.search-result-list .search-result-item .result-info .row + .row {
  margin-top: 1rem;
  box-sizing: border-box;
}
.search-result-list .search-result-item .result-info .label {
  flex: 0 0 80px;
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-text-default);
  line-height: 1.375;
}
.search-result-list .search-result-item .result-info .value {
  font-size: 1rem;
  color: var(--color-text-default);
  line-height: 1.375;
}
.search-result-list .search-result-item .result-info .value a {
  color: var(--color-info);
}

.accordion .accordion-item:has(.accordion-button:not(.active)) + .accordion-item {
  margin-top: 0.625rem;
}
.accordion .accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0.625rem;
  box-sizing: border-box;
  border-radius: 8px;
  background-color: var(--color-bg-primary);
}
.accordion .accordion-header span {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-primary-dark);
}
.accordion .accordion-button {
  width: 1.5rem;
  height: 1.5rem;
  background-color: transparent;
  border: none;
  background-image: url(../images/icon_expand_blue.png);
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
}
.accordion .accordion-button.active {
  background-image: url(../images/icon_collapse_blue.png);
}
.accordion .accordion-collapse {
  width: 100%;
}
.accordion .accordion-body {
  width: 100%;
  padding: 0.625rem;
  box-sizing: border-box;
}
.accordion .accordion-body:has(.category) {
  padding: 0;
}

.search-aside-container .category a {
  color: var(--color-text-default);
  font-size: 1rem;
}
.search-aside-container .category a span {
  color: var(--color-danger);
}
.search-aside-container .category > li {
  padding: 0.625rem;
  box-sizing: border-box;
  border-bottom: 1px dashed var(--color-border-light);
}
.search-aside-container .category > li:last-child {
  border-bottom: none;
}
.search-aside-container .category > li > a {
  font-size: 1.125rem;
  font-weight: 500;
}
.search-aside-container .category > li ul li {
  margin-top: 0.625rem;
}
.search-aside-container .timeline-box {
  width: 100%;
}
.search-aside-container .timeline-box .timeline-radio-group {
  margin-bottom: 0.625rem;
}
.search-aside-container .timeline-box .timeline-radio-group legend.sr-only {
  width: 1px;
}

@media screen and (max-width: 1199px) {
  .search-container {
    grid-template-columns: 1fr;
    grid-template-areas: "block" "aside" "result";
    gap: 10px;
  }
  .search-result {
    margin-top: 0;
  }
}
@media screen and (max-width: 991px) {
  .search-input {
    flex-direction: column;
    align-items: normal;
    white-space: normal;
  }
  .search-input .button,
  .search-input button[type=reset] {
    flex: 1;
    width: 100%;
  }
  .advanced-search .options-row {
    flex-direction: column;
    gap: 16px;
  }
  .advanced-search .options-row .form-group:has(select) {
    flex-basis: auto;
  }
  .advanced-search .date-range-group {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
  .advanced-search .date-range-group .form-group {
    width: 100%;
  }
  .advanced-search .file-format .field > div {
    flex-direction: column;
  }
  .search-prompt {
    flex-wrap: wrap;
  }
  .search-result-prompt {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .search-result-prompt .select-row {
    flex-wrap: wrap;
  }
  .search-result-list .search-result-item .result-info .label {
    flex: 0 0 auto;
  }
}
/*===============================
    網站導覽頁
================================*/
.shortcut-key {
  font-size: 1.125rem;
  margin-top: 1.5rem;
}

.sitemap-group {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 1.5rem;
}

.sitemap-item {
  width: 100%;
}
.sitemap-item .sitemap-head {
  padding: 0.625rem;
  box-sizing: border-box;
  background-color: var(--color-primary-light);
  text-align: center;
}
.sitemap-item .sitemap-head a {
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--color-text-darkblue);
  word-break: break-all;
}
.sitemap-item .sitemap-body ul li {
  padding: 0.625rem;
  box-sizing: border-box;
}
.sitemap-item .sitemap-body ul li a {
  font-size: 1rem;
  font-weight: 400;
  color: var(--color-text-default);
  text-align: left;
}

/*===============================
    錯誤訊息頁
================================*/
.error-block {
  padding: 3rem 4.5rem;
  box-sizing: border-box;
  border-radius: 16px;
  background-color: var(--color-bg-primary);
}
.error-block .error-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  text-align: left;
  max-width: 631px;
  margin: 0 auto;
}
.error-block .error-info > img {
  width: 4rem;
  height: 4rem;
  object-fit: contain;
  line-height: 0;
}
.error-block .error-block-head {
  width: 100%;
  font-size: 1.375rem;
  font-weight: 500;
  text-align: left;
  color: var(--color-text-default);
}
.error-block .error-block-body {
  width: 100%;
  font-size: 1.125rem;
  font-weight: 500;
  text-align: left;
  color: var(--color-text-default);
}
.error-block .error-block-body a {
  color: var(--color-info);
  text-decoration: underline;
}
.error-block .btn-back {
  text-align: center;
  margin-top: 2.5rem;
  box-sizing: border-box;
}
.error-block .btn-back a {
  width: 120px;
}
@media screen and (max-width: 767px) {
  .error-block {
    padding: 1.5rem;
  }
}

/*===============================
    隱私權政策
================================*/
.policy-block {
  margin-top: 1.5rem;
}
.policy-block ul li + li {
  margin-top: 1.5rem;
}
@media screen and (max-width: 1199px) {
  .policy-block {
    margin-top: 1rem;
  }
}/*# sourceMappingURL=style.css.map */