@charset "UTF-8";
/* ==========================================================================
   【全域共通】母版型樣式覆寫
   ========================================================================== */
/*-- bootstrap --*/
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
  padding-right: 20px;
  padding-left: 20px;
}

@media (min-width: 1440px) {
  .container {
    max-width: 1400px;
  }
}
.main {
  padding-top: 0;
  padding-bottom: 0;
}

.node__content {
  margin-top: initial;
}

.navbar {
  padding-top: 0;
  padding-bottom: 0;
}

.navbar-toggler {
  width: 40px;
  height: 40px;
}

.navbar-toggler-right {
  order: initial;
}

.navbar-brand {
  padding: 0;
  font-size: 1em;
}

.nav-link {
  color: var(--color-link);
}

.nav-link:hover, .nav-link:focus {
  color: var(--color-hover-word);
}

@media (max-width: 1199px) {
  .nav-dropdown {
    border: 0;
  }
}
.dropdown-item.active, .dropdown-item:active {
  background-color: transparent;
}

.dropdown-item.active a, .dropdown-item:active a {
  color: initial;
}

.dropdown-item:focus, .dropdown-item:hover {
  background-color: transparent;
}

.dropdown-item a.active {
  color: var(--color-link);
}

@media (min-width: 1200px) {
  .dropdown-item {
    padding: 0 10px;
  }
}
@media (max-width: 767px) {
  nav.menu--main {
    margin-left: 0;
    padding-bottom: 20px;
  }
}
.sidebar nav .nav {
  margin: 0;
}

.row {
  --bs-gutter-x:40px;
  margin-right: 0;
  margin-left: 0;
}

.row > * {
  padding-right: 0;
  padding-left: 0;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.site-footer .content {
  font-size: 1rem;
}

.site-footer .block {
  border: 0;
  margin: initial;
  padding: initial;
}

.site-footer .row {
  margin-right: initial;
  margin-left: initial;
}

@media (max-width: 767px) {
  .site-footer .block {
    padding-left: 0;
    margin: 0;
  }
}
@media (min-width: 992px) {
  .site-footer .block {
    margin-top: 0;
    padding-top: 0;
  }
}
.site-footer__top h2 {
  border-bottom: 0;
  line-height: 2;
  color: var(--color-white);
}

@media (min-width: 851px) {
  .site-footer__top .region {
    width: initial;
  }
}
@media (min-width: 560px) and (max-width: 850px) {
  .site-footer__top .region:nth-child(2n) {
    padding: initial;
  }
}
.table-responsive {
  overflow-x: initial;
}

.table-responsive thead > tr {
  background-color: var(--color-white-600);
}

.block-page-title-block h1 {
  padding-left: 0;
}

.navbar-toggler-icon {
  height: 40px;
  width: 40px;
  background-image: url("../images/icon--hamburg.svg");
}

.alert-wrapper, .success-wrapper {
  z-index: 99;
}

.pagination {
  justify-content: center;
  gap: 8px;
}

.page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background-color: transparent;
}

.page-link {
  font-size: 14px;
}

.page-link {
  font-weight: 500;
}

.page-link {
  line-height: 1.6;
}

.page-link {
  color: var(--color-white-700);
  border: 0;
  border-radius: 5em;
}

.page-link:hover, .page-link:focus {
  background-color: inherit;
  color: var(--color-white-700);
  box-shadow: none;
}

.page-item .page-link {
  color: var(--color-white-700);
  font-size: 14px;
}

.page-item.active .page-link {
  background-color: var(--color-green-400);
  color: var(--color-white-700);
}

.page-item:first-child .page-link, .page-item:last-child .page-link {
  border-radius: 5em;
}

.form-control {
  width: initial;
  max-width: 100%;
}

.btn-primary, .btn-primary:hover {
  background-color: var(--color-primary);
  border: 0;
}

.node table {
  border: 1px solid var(--color-link);
}

.node td {
  border: 1px solid var(--color-link);
}

.node th {
  border: 1px solid #fff;
}

.node th, .node thead th, .node tbody th {
  background-color: var(--color-link);
  border: 1px solid var(--color-white);
}

@media (min-width: 560px) {
  .node .field--type-image {
    float: none;
    margin: initial;
  }
}
/*-- webform --*/
form.webform-submission-form {
  display: flex;
  flex-direction: column;
}

form.webform-submission-form .webform-actions {
  order: 10;
  align-self: center;
}

/*-- neticrm_base --*/
.nb-nav-item.dropdown {
  justify-content: space-between;
}

@media (min-width: 1200px) {
  .form-container, form.form-container, form.views-exposed-form, form[id*=views-exposed-form] {
    gap: initial;
  }
}
.node .node__content {
  font-size: initial;
}

.node blockquote {
  box-shadow: initial;
  background-color: transparent;
  border: initial;
}

.node p, .node div {
  word-break: initial;
}

@media (min-width: 1200px) {
  .node .node__content {
    font-size: initial;
  }
}
/*-- neticrm share --*/
.netivism-share-container {
  gap: 20px;
}

ul.netivism-share-list {
  gap: 20px;
}

ul.netivism-share-list .netivism-share-item .netivism-share-icon {
  font-size: 24px;
}

ul.netivism-share-list .netivism-share-item .netivism-share-btn {
  color: #000;
  background-color: transparent;
}

ul.netivism-share-list .netivism-share-btn {
  width: 24px;
  height: 24px;
  color: #000;
}

ul.netivism-share-list .nsi-line .netivism-share-btn {
  border-radius: 5px;
}

ul.netivism-share-list .nsi-webpage-link {
  order: -1;
}

ul.netivism-share-list .nsi-webpage-link .netivism-share-btn {
  border-radius: 5em;
  background-color: #000;
}

ul.netivism-share-list .nsi-webpage-link .netivism-share-icon {
  font-size: 12px;
  color: #fff;
}

i.social-icon {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

i.social-icon.icon--facebook {
  background-image: url("../images/icon--facebook.svg");
}

i.social-icon.icon--line {
  background-image: url("../images/icon--line.svg");
}

i.social-icon.icon--x-twitter {
  background-image: url("../images/icon--x-twitter.svg");
}

/* ==========================================================================
   【全域共通】 layout 基本樣式
   ========================================================================== */
:root {
  --color-primary: #597333;
  --color-secondary: #86B534;
  --color-primary-dark: #2F4E37;
  --color-primary-light: #1ea0ff;
  --color-primary-lighter: #d9e6ff;
  --color-body: #27272A;
  --color-body-bg: #fff;
  --color-body-bg2: #F7F6EE;
  --color-link:#07080C;
  --color-hover-word:#597333;
  --color-black: #27272A;
  --color-white: #fff;
  --color-gray: #757170;
  --color-green-100:#faf3e7;
  --color-green-200:#BACE8B;
  --color-green-300:#8FAC4B;
  --color-green-400:#86B534;
  --color-green-500:#6AA037;
  --color-green-600:#597333;
  --color-green-700:#435F49;
  --color-green-800:#2F4E37;
  --color-white-100: #f2f2f2;
  --color-white-200: #d9d9da;
  --color-white-300: #c0c0c0;
  --color-white-400: #B4B4B6;
  --color-white-500: #838385;
  --color-white-600: #4c4c4c;
  --color-white-700: #27272a;
  --color-white-800: #1f2024;
  --color-white-900: #07080c;
  --font-size-h1:56px;
  --font-size-h2:48px;
  --font-size-h3:40px;
  --font-size-h4:32px;
  --font-size-h5:24px;
  --font-size-h6:20px;
  --font-size-p:16px;
  --margin-p:16px;
  --bs-gutter-x: 40px;
  --col-gap-flex-grid: 20px;
  --color-crm-special-contribute-info-link:#6AA037;
  --color-crm-special-contribute-primary:#6AA037;
}

body {
  font-family: "Noto Sans TC", "微軟正黑體", "Microsoft JhengHei", "STHeiti", Arial, "Helvetica", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-black);
  background-color: var(--color-body-bg, #fff);
}

@media (min-width: 1440px) {
  .container-xxl {
    padding-left: 0;
    padding-right: 0;
    max-width: 1360px;
  }
}
@media (min-width: 1700px) {
  .container-xxl {
    padding-left: 0;
    padding-right: 0;
    max-width: 1600px;
  }
}
/*----====  page  ====----*/
/*----  header  ----*/
header.header {
  width: 100%;
  background: var(--color-body-bg2);
  border-bottom: 0;
  pointer-events: none;
}

header.header .header-inner {
  position: relative;
  padding: 0;
  pointer-events: auto;
}

@media (max-width: 1199px) {
  .toolbar-fixed header.header {
    top: 40px;
  }
}
@media (min-width: 1200px) and (max-width: 1439px) {
  header.header {
    padding: 0 20px;
  }
}
body.path-admin header.header {
  position: relative;
  top: 0;
}

body.toolbar-fixed .page-wrapper {
  position: relative;
}

.site-logo {
  padding: 0;
  flex: 1;
}

.site-logo-img {
  height: auto;
  max-height: 52px;
}

@media (min-width: 1200px) {
  .site-logo {
    flex: none;
  }
}
#navbar-main {
  background-color: var(--color-body-bg2);
  padding: 12px 10px 12px 15px;
}

@media (min-width: 1200px) {
  #navbar-main {
    padding: 20px 20px;
  }
}
@media (min-width: 1440px) {
  #navbar-main {
    padding: 20px 50px;
  }
}
@media (max-width: 575px) {
  .menu--main > .nav {
    max-height: calc(100vh - 180px);
    overflow: auto;
    flex-wrap: nowrap;
  }
}
@media (max-width: 1199px) {
  .menu--main {
    margin-top: 20px;
  }
}
.scrolled #navbar-main {
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}

nav.navbar {
  padding: 5px 12px;
}

@media (min-width: 1200px) {
  nav.navbar .navbar-collapse {
    column-gap: 1vw;
  }
}
@media (min-width: 1440px) {
  nav.navbar .navbar-collapse {
    column-gap: 2vw;
  }
}
.navbar-form {
  flex-shrink: 0;
}

/*----  header-form  ----*/
.region-header-form {
  position: relative;
}

@media (max-width: 1199px) {
  .region-header-form {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 20px;
    align-items: center;
  }
  .region-header-form .blk-search-form {
    flex: 1;
  }
}
@media (max-width: 575px) {
  .region-header-form {
    justify-content: space-between;
  }
}
/*----  highlighted  ----*/
/*----  featured-top  ----*/
.featured-top {
  position: relative;
  background-color: #F7F6EE;
  padding: 24px 0 20px;
}

@media (min-width: 1200px) {
  .featured-top {
    padding: 48px 0 40px;
  }
}
.featured-top {
  margin-bottom: 5.3dvw;
}

.featured-top:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -5.3dvw;
  left: 0;
  width: 100%;
  height: 5.3dvw;
  background: url(../images/deco-feature-top-bottom.svg) no-repeat top center/100%;
}

.featured-top .container {
  padding-left: 0;
  padding-right: 0;
  max-width: initial;
}

.featured-top .blk-page-title + nav {
  margin-top: 32px;
}

.section-as-feature-top {
  position: relative;
  background-color: var(--color-body-bg2);
  padding: 24px 0 20px;
  width: 100dvw;
  position: relative;
  left: initial;
  right: initial;
  margin-inline: calc(50% - 50dvw);
}

@media (min-width: 1200px) {
  .section-as-feature-top {
    padding: 48px 0 40px;
  }
}
.section-as-feature-top > .layout__region {
  margin-inline: auto;
  max-width: 1200px;
}

.section-as-feature-top {
  margin-bottom: 5.3dvw;
}

.section-as-feature-top:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -5.3dvw;
  left: 0;
  width: 100%;
  height: 5.3dvw;
  background: url(../images/deco-feature-top-bottom.svg) no-repeat top center/100%;
}

/*----  layout-main-wrapper  ----*/
/*----  main  ----*/
main.main-content {
  min-height: 600px;
}

/*----  sidebar_first  ----*/
/*----  tabs section  ----*/
.tabs-section {
  position: relative;
  background-color: #FEFDF7;
  padding: 60px 0 40px;
}

.tabs-section .block-title {
  display: none;
}

@media (min-width: 1200px) {
  .tabs-section {
    padding: 80px 0 60px;
  }
  .tabs-section .block-tabs {
    margin-inline: auto;
    max-width: 936px;
  }
}
.tabs-section {
  margin-top: 3.33dvw;
}

.tabs-section:before {
  top: -3.33dvw;
  height: 3.33dvw;
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  z-index: -1;
  background: url(../images/deco-tabs-section-top.svg) no-repeat center top/100%;
}

@media (max-width: 767px) {
  .tabs-section {
    padding-inline: 20px;
  }
}
.tabs-section + footer.site-footer:before {
  background-color: #fefdf7;
}

/*----  footer  ----*/
footer.site-footer {
  position: relative;
  padding-top: 40px;
  padding-bottom: 30px;
  background: var(--color-green-600);
  color: var(--color-white);
}

@media (min-width: 1200px) {
  footer.site-footer {
    padding-top: 60px;
    padding-bottom: 40px;
  }
}
footer.site-footer {
  margin-top: 6.45dvw;
}

footer.site-footer:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  z-index: -1;
  top: -6.45dvw;
  height: 6.45dvw;
  background: url(../images/deco-foter-top.svg) no-repeat center bottom -2px/100%;
}

@media (max-width: 575px) {
  footer.site-footer {
    margin-top: 11.7dvw;
  }
  footer.site-footer:before {
    top: -11.7dvw;
    height: 11.7dvw;
    background: url(../images/deco-foter-top-mobile.svg) no-repeat center bottom -2px/100%;
  }
}
footer.site-footer a {
  color: var(--color-white);
}

footer.site-footer a:hover, footer.site-footer a:focus {
  color: var(--color-white);
  opacity: 0.8;
}

footer.site-footer .region.row {
  --bs-gutter-x: 0;
  margin: 0;
}

footer.site-footer .site-footer__top {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media (min-width: 1200px) {
  footer.site-footer .site-footer__top {
    gap: 40px;
    padding-bottom: 30px;
  }
}
footer.site-footer .region-footer-first > .block + .block {
  margin-top: 24px;
}

footer.site-footer .site-footer__bottom {
  padding-top: 30px;
  border-top: 1px solid var(--color-green-700);
  margin-top: 20px;
}

footer.site-footer .blk-footer-copyright {
  font-size: 13px;
}

footer.site-footer .blk-footer-copyright {
  font-weight: 400;
}

footer.site-footer .blk-footer-copyright {
  line-height: 1.6;
}

footer.site-footer .blk-footer-copyright {
  opacity: 0.85;
}

footer.site-footer .blk-footer-menu .nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  padding: 0;
  margin: 0;
  list-style: none;
}

footer.site-footer .blk-footer-menu .nav-link {
  padding: 0;
  color: var(--color-white);
}

footer.site-footer .blk-footer-menu .nav-link {
  font-size: 14px;
}

footer.site-footer .blk-footer-menu .nav-link {
  font-weight: 400;
}

footer.site-footer .blk-footer-menu .nav-link {
  line-height: 1.6;
}

@media (min-width: 768px) {
  footer.site-footer .region-footer-fifth {
    display: grid;
    grid-template-columns: 5fr 6fr;
    align-items: center;
  }
}
@media (min-width: 992px) {
  footer.site-footer .blk-footer-menu {
    order: 1;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  footer.site-footer .site-footer__top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  footer.site-footer .region-footer-third {
    grid-column: 1/-1;
  }
}
@media (min-width: 1200px) {
  footer.site-footer .site-footer__top {
    display: grid;
    grid-template-columns: 5fr 4fr 4fr;
    gap: 0;
    padding-bottom: 10px;
  }
  footer.site-footer .site-footer__top:after {
    content: none;
  }
  footer.site-footer .region-footer-first > .block + .block {
    margin-top: 20px;
  }
  footer.site-footer .region-footer-second {
    align-self: start;
  }
  footer.site-footer .region-footer-third {
    align-self: start;
  }
  footer.site-footer .site-footer__bottom {
    padding-top: 40px;
  }
  footer.site-footer .region-footer-fifth > .block + .block {
    margin-top: 0;
  }
}
/*--  navbar-top  --*/
@media (min-width: 767px) {
  .region-header-form {
    width: 100%;
  }
}
#search-toggler {
  border: none;
  background: transparent;
}

/*--  messages  --*/
.messages__wrapper {
  padding: 1em;
  margin: 1em 0;
  border: 1px solid var(--color-white-800);
  background-color: #d9e6ff;
  border-radius: 8px;
  color: #2F4E37;
}

.messages__wrapper em {
  font-style: normal;
}

.messages__wrapper a, .messages__wrapper a:hover {
  color: #2F4E37;
}

.block-page-title-block {
  text-align: left;
  margin-bottom: 30px;
}

.block-page-title-block h1 {
  font-size: 30px;
}

.block-page-title-block h1 {
  font-weight: 500;
}

.block-page-title-block h1 {
  line-height: 1.2;
}

.block-page-title-block h1 {
  margin-bottom: 0;
}

/*--  site footer  --*/
/*--  site footer bottom 頁尾底部  --*/
.full-width {
  width: 100dvw;
  position: relative;
  left: initial;
  right: initial;
  margin-inline: calc(50% - 50dvw);
}

@media (min-width: 768px) {
  .md-full-width {
    width: 100dvw;
    position: relative;
    left: initial;
    right: initial;
    margin-inline: calc(50% - 50dvw);
  }
}
@media (min-width: 992px) {
  .lg-full-width {
    width: 100dvw;
    position: relative;
    left: initial;
    right: initial;
    margin-inline: calc(50% - 50dvw);
  }
}
@media (min-width: 1200px) {
  .xl-full-width {
    width: 100dvw;
    position: relative;
    left: initial;
    right: initial;
    margin-inline: calc(50% - 50dvw);
  }
}
@media (min-width: 1200px) {
  .for-mobile {
    display: none !important;
  }
}
.for-desktop {
  display: none !important;
}

@media (min-width: 1200px) {
  .for-desktop {
    display: block !important;
  }
}
.view ul.pagination {
  margin-top: 30px;
  flex-wrap: wrap;
}

@media (min-width: 1200px) {
  .view ul.pagination {
    margin-top: 60px;
  }
}
.rteleft {
  text-align: left;
}

.rteright {
  text-align: right;
}

.rtecenter {
  text-align: center;
}

.rtejustify {
  text-align: justify;
}

.rteindent1 {
  margin-left: 40px;
}

.rteindent2 {
  margin-left: 80px;
}

.rteindent3 {
  margin-left: 120px;
}

.rteindent4 {
  margin-left: 160px;
}

.rteindent5 {
  margin-left: 200px;
}

@media (min-width: 1200px) {
  h1 {
    font-size: 56px;
  }
  h1 {
    font-weight: 600;
  }
  h1 {
    line-height: 1.2;
  }
  h1 {
    letter-spacing: 0.56px;
  }
  h2 {
    font-size: 48px;
  }
  h2 {
    font-weight: 600;
  }
  h2 {
    line-height: 1.2;
  }
  h2 {
    letter-spacing: 0.48px;
  }
  h3 {
    font-size: 40px;
  }
  h3 {
    font-weight: 600;
  }
  h3 {
    line-height: 1.2;
  }
  h3 {
    letter-spacing: 0.4px;
  }
  h4 {
    font-size: 32px;
  }
  h4 {
    font-weight: 600;
  }
  h4 {
    line-height: 1.3;
  }
  h4 {
    letter-spacing: 0.32px;
  }
  h5 {
    font-size: 24px;
  }
  h5 {
    font-weight: 600;
  }
  h5 {
    line-height: 1.4;
  }
  h5 {
    letter-spacing: 0.24px;
  }
  h6 {
    font-size: 20px;
  }
  h6 {
    font-weight: 600;
  }
  h6 {
    line-height: 1.4;
  }
  h6 {
    letter-spacing: 0.2px;
  }
}
p {
  font-family: "Noto Sans TC", "微軟正黑體", "Microsoft JhengHei", "STHeiti", Arial, "Helvetica", sans-serif;
  word-break: break-word;
}

p:last-child {
  margin-bottom: 0;
}

a {
  color: var(--color-green-600);
  text-decoration: underline;
}

a:hover {
  color: var(--color-hover-word);
}

blockquote {
  position: relative;
  background-color: transparent;
}

blockquote {
  font-size: 18px;
}

blockquote {
  font-weight: 500;
}

blockquote {
  line-height: 1.5;
}

/* ==========================================================================
   【Components】各類組件
   ========================================================================== */
/*----====  Components  ====----*/
/*-- 列表 --*/
.masonry-list .view-content {
  display: block;
  column-gap: 20px;
}

.masonry-list .entity-row-inner {
  break-inside: avoid;
  margin-bottom: 40px;
}

@media (min-width: 768px) {
  .masonry-list.masonry-md-col-2 .view-content {
    column-count: 2;
  }
  .masonry-list.masonry-md-col-3 .view-content {
    column-count: 3;
  }
  .masonry-list.masonry-md-col-4 .view-content {
    column-count: 4;
  }
}
@media (min-width: 992px) {
  .masonry-list.masonry-lg-col-2 .view-content {
    column-count: 2;
  }
  .masonry-list.masonry-lg-col-3 .view-content {
    column-count: 3;
  }
  .masonry-list.masonry-lg-col-4 .view-content {
    column-count: 4;
  }
}
@media (min-width: 1200px) {
  .masonry-list.masonry-xl-col-2 .view-content {
    column-count: 2;
  }
  .masonry-list.masonry-xl-col-3 .view-content {
    column-count: 3;
  }
  .masonry-list.masonry-xl-col-4 .view-content {
    column-count: 4;
  }
}
@media (max-width: 767px) {
  .grid-list .entity-row {
    margin-bottom: 30px;
  }
}
@media (min-width: 768px) {
  .grid-list .view-content {
    display: grid;
    row-gap: 40px;
  }
  .grid-list.grid-md-col-2 .view-content {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-list.grid-md-col-3 .view-content {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-list.grid-md-col-4 .view-content {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 992px) {
  .grid-list.grid-lg-col-2 .view-content {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-list.grid-lg-col-3 .view-content {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-list.grid-lg-col-4 .view-content {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 1200px) {
  .grid-list.grid-xl-col-2 .view-content {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-list.grid-xl-col-3 .view-content {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-list.grid-xl-col-4 .view-content {
    grid-template-columns: repeat(4, 1fr);
  }
}
.flex-grid .view-content {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--col-gap-flex-grid, 0);
}

@media (min-width: 768px) {
  .flex-grid.grid-md-col-2 .entity-row {
    flex: 0 0 calc((100% - var(--col-gap-flex-grid, 0) * (2 - 1)) / 2);
  }
  .flex-grid.grid-md-col-3 .entity-row {
    flex: 0 0 calc((100% - var(--col-gap-flex-grid, 0) * (3 - 1)) / 3);
  }
  .flex-grid.grid-md-col-4 .entity-row {
    flex: 0 0 calc((100% - var(--col-gap-flex-grid, 0) * (4 - 1)) / 4);
  }
}
@media (min-width: 992px) {
  .flex-grid.grid-lg-col-2 .entity-row {
    flex: 0 0 calc((100% - var(--col-gap-flex-grid, 0) * (2 - 1)) / 2);
  }
  .flex-grid.grid-lg-col-3 .entity-row {
    flex: 0 0 calc((100% - var(--col-gap-flex-grid, 0) * (3 - 1)) / 3);
  }
  .flex-grid.grid-lg-col-4 .entity-row {
    flex: 0 0 calc((100% - var(--col-gap-flex-grid, 0) * (4 - 1)) / 4);
  }
}
@media (min-width: 1200px) {
  .flex-grid.grid-xl-col-2 .entity-row {
    flex: 0 0 calc((100% - var(--col-gap-flex-grid, 0) * (2 - 1)) / 2);
  }
  .flex-grid.grid-xl-col-3 .entity-row {
    flex: 0 0 calc((100% - var(--col-gap-flex-grid, 0) * (3 - 1)) / 3);
  }
  .flex-grid.grid-xl-col-4 .entity-row {
    flex: 0 0 calc((100% - var(--col-gap-flex-grid, 0) * (4 - 1)) / 4);
  }
}
.accordion-list .entity-row {
  border-top: 1px solid rgba(7, 8, 12, 0.15);
}

.accordion-list .entity-row:last-child {
  border-bottom: 1px solid rgba(7, 8, 12, 0.15);
}

.accordion-list .entity-row-inner {
  padding: 20px 0;
}

.accordion-list .entity-title {
  color: #27272A;
}

.accordion-list .entity-title {
  font-size: 20px;
}

.accordion-list .entity-title {
  font-weight: 600;
}

.accordion-list .entity-title {
  line-height: 1.4;
}

.accordion-list .entity-title {
  letter-spacing: 0.2px;
}

.accordion-list .entity-title {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
  outline: none;
}

.accordion-list .entity-title:focus-visible {
  outline: 2px solid #597333;
  outline-offset: 2px;
}

.accordion-list .entity-title:after {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  width: 24px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(0);
  transition: transform 0.25s ease;
  filter: brightness(0);
  flex-shrink: 0;
}

.accordion-list .is-open .entity-title:after {
  transform: rotate(180deg);
}

.accordion-list .entity-body, .accordion-list .entity-info {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.6;
  color: #27272A;
}

.accordion-list .entity-body[hidden], .accordion-list .entity-info[hidden] {
  display: none;
}

.view-content ~ .more-link {
  text-align: center;
  margin-top: 40px;
}

.view-content ~ .more-link a {
  font-size: 16px;
}

.view-content ~ .more-link a {
  font-weight: 600;
}

.view-content ~ .more-link a {
  line-height: 1.5;
}

.view-content ~ .more-link a {
  display: inline-flex;
  text-decoration: none;
  align-items: center;
  justify-content: center;
  border: 2px solid transparent;
  border-radius: 5em;
  padding: 12px 20px;
  gap: 4px;
  transition: all 0.3s;
  color: var(--color-green-800);
}

.view-content ~ .more-link a:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../images/icon--arrow-right-darkgreen.svg") no-repeat center;
  background-size: contain;
  vertical-align: middle;
}

.view-content ~ .more-link a:hover {
  gap: 8px;
  border-color: var(--color-green-800);
}

/*-- Tabs --*/
.block-tabs .block-tabs__tablist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 40px;
}

.block-tabs .block-tabs__tab {
  -webkit-appearance: none;
          appearance: none;
  cursor: pointer;
  background-color: #fff;
  border: 2px solid #86b534;
  border-radius: 12px;
  color: #27272A;
  padding: 4px 20px;
}

.block-tabs .block-tabs__tab {
  font-size: 16px;
}

.block-tabs .block-tabs__tab {
  font-weight: 600;
}

.block-tabs .block-tabs__tab {
  line-height: 1.5;
}

.block-tabs .block-tabs__tab {
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.block-tabs .block-tabs__tab:hover {
  background-color: rgba(134, 181, 52, 0.12);
}

.block-tabs .block-tabs__tab:focus-visible {
  outline: 2px solid rgba(134, 181, 52, 0.5);
  outline-offset: 2px;
}

.block-tabs .block-tabs__tab.is-active {
  background-color: #86b534;
  border-color: #86b534;
  color: #27272A;
}

.block-tabs .tab-block .block-title {
  display: none;
}

@media (max-width: 767px) {
  .block-tabs .block-tabs__tablist {
    gap: 8px;
    margin-bottom: 24px;
  }
  .block-tabs .block-tabs__tab {
    padding: 4px 14px;
  }
  .block-tabs .block-tabs__tab {
    font-size: 14px;
  }
  .block-tabs .block-tabs__tab {
    font-weight: 600;
  }
  .block-tabs .block-tabs__tab {
    line-height: 1.5;
  }
}
/*-- PreviousNext --*/
.prevnext-container {
  display: flex;
  gap: 24px;
  justify-content: center;
  align-items: center;
  margin-block: 30px;
}

.prevnext-container a {
  text-align: center;
  display: inline-flex;
  color: var(--color-white);
  background-color: var(--color-green-400);
  text-decoration: none;
  padding: 12px;
  width: 88px;
  border-radius: 5em;
}

.prevnext-container a:hover {
  background-color: var(--color-green-800);
}

.prevnext-container a {
  font-size: 16px;
}

.prevnext-container a {
  font-weight: 600;
}

.prevnext-container a {
  line-height: 1.5;
}

.prevnext-container a {
  justify-content: center;
}

/*-- Cards --*/
@media (min-width: 768px) {
  .stat-cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 28px;
  }
}
.stat-card .card-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.stat-card .card-title {
  font-size: 16px;
}

.stat-card .card-title {
  font-weight: 600;
}

.stat-card .card-title {
  line-height: 1.6;
}

.stat-card .card-title {
  letter-spacing: 0.16px;
}

.stat-card .card-info {
  position: relative;
}

.stat-card .counter {
  font-size: 32px;
}

.stat-card .counter {
  font-weight: 600;
}

.stat-card .counter {
  line-height: 1.3;
}

.stat-card .counter {
  letter-spacing: 0.32px;
}

.stat-card .counter-unit {
  position: absolute;
  bottom: 0.5em;
  right: 0;
  transform: translateX(150%);
}

.stat-card .counter-unit {
  font-size: 20px;
}

.stat-card .counter-unit {
  font-weight: 900;
}

.stat-card .counter-unit {
  line-height: 1;
}

@media (max-width: 767px) {
  .stat-card {
    width: 50%;
  }
}
@media (min-width: 1200px) {
  .stat-card {
    width: 20%;
  }
  .stat-card .card-inner {
    padding-bottom: 40px;
    border-bottom: 1.5px solid rgba(149, 119, 65, 0.5);
  }
  .stat-card .card-title {
    font-size: 24px;
  }
  .stat-card .card-title {
    font-weight: 600;
  }
  .stat-card .card-title {
    line-height: 1.4;
  }
  .stat-card .card-title {
    letter-spacing: 0.24px;
  }
  .stat-card .counter {
    font-size: 48px;
  }
  .stat-card .counter {
    font-weight: 600;
  }
  .stat-card .counter {
    line-height: 1.5;
  }
  .stat-card .counter-unit {
    font-size: 24px;
  }
  .stat-card .counter-unit {
    font-weight: 600;
  }
  .stat-card .counter-unit {
    line-height: 1;
  }
}
.slide-cards {
  position: relative;
  width: 100%;
}

.slide-cards .slide-cards-inner {
  display: flex;
  gap: 40px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  cursor: grab;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.slide-cards .slide-cards-inner::-webkit-scrollbar {
  display: none;
}

.slide-cards .slide-cards-inner.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  scroll-behavior: auto;
  -webkit-user-select: none;
          user-select: none;
}

.slide-cards .slide-cards-inner.is-dragging a, .slide-cards .slide-cards-inner.is-dragging img {
  pointer-events: none;
}

.slide-cards .slide-cards-inner > * {
  scroll-snap-align: start;
}

.slide-cards .slide-cards-btn {
  position: absolute;
  top: -84px;
  right: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background-color: #86b534;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.slide-cards .slide-cards-btn:before {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url("../images/icon--arrow-right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) invert(1);
}

.slide-cards .slide-cards-btn:disabled {
  opacity: 0.5;
  cursor: default;
}

.slide-cards .slide-cards-btn--prev {
  right: 64px;
}

.slide-cards .slide-cards-btn--prev:before {
  transform: rotate(180deg);
}

@media (max-width: 767px) {
  .slide-cards .slide-cards-btn {
    top: auto;
    bottom: -64px;
    right: calc(50% - 56px);
  }
  .slide-cards .slide-cards-btn--prev {
    right: auto;
    left: calc(50% - 56px);
  }
}
.slide-cards:has(.slide-cards-btn--prev:disabled):has(.slide-cards-btn--next:disabled) .slide-cards-inner {
  justify-content: center;
}

.slide-cards:has(.slide-cards-btn--prev:disabled):has(.slide-cards-btn--next:disabled) .slide-cards-btn {
  display: none;
}

.general-card {
  border: 1px solid var(--color-white-300);
  border-radius: 18px;
}

.general-card .entity-row-inner {
  padding: 16px;
  display: grid;
  gap: 16px;
  grid-auto-rows: auto;
}

.general-card .entity-cover img, .general-card .entity-img img {
  border-radius: 12px;
  aspect-ratio: 352/198;
  object-fit: cover;
}

.general-card .entity-title {
  margin-bottom: 0;
}

.general-card .entity-title {
  font-size: var(--font-size-h6);
}

.general-card .entity-title {
  font-weight: 600;
}

.general-card .entity-title {
  line-height: 1.4;
}

.general-card .entity-title {
  letter-spacing: 0.2px;
}

.general-card .entity-title a {
  text-decoration: none;
  color: var(--color-white-800);
}

.general-card .entity-date {
  color: var(--color-white-700);
  margin-top: -16px;
}

.general-card .entity-date {
  font-size: 14px;
}

.general-card .entity-date {
  font-weight: 500;
}

.general-card .entity-date {
  line-height: 1.6;
}

.general-card .entity-meta {
  display: flex;
  align-items: center;
  gap: 8px;
}

.general-card .entity-meta ul {
  list-style: none;
  display: flex;
  flex-direction: row;
  gap: 8px;
}

.general-card .list-group-item {
  padding: 4px;
  border-radius: 4px;
  border: 1px solid var(--color-white-700);
  background-color: transparent;
}

.general-card .list-group-item {
  font-size: 12px;
}

.general-card .list-group-item {
  font-weight: 600;
}

.general-card .list-group-item {
  line-height: 1.5;
}

.general-card .entity-link a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: var(--color-green-600);
  transition: all 0.3s;
}

.general-card .entity-link a:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../images/icon--arrow-right-green.svg") no-repeat center;
  background-size: contain;
}

.general-card .entity-link a:hover {
  gap: 8px;
}

.general-card:hover {
  border: 2px solid var(--color-green-400);
}

.general-card:hover .entity-title a {
  color: var(--color-green-600);
}

.book-card {
  border: 1px solid var(--color-white-300);
  border-radius: 18px;
}

.book-card .entity-row-inner {
  padding: 16px;
}

.book-card .entity-title {
  margin-bottom: 0;
}

.book-card .entity-title {
  font-size: var(--font-size-h6);
}

.book-card .entity-title {
  font-weight: 600;
}

.book-card .entity-title {
  line-height: 1.4;
}

.book-card .entity-title {
  letter-spacing: 0.2px;
}

.book-card .entity-title a {
  text-decoration: none;
  color: var(--color-white-800);
}

.book-card .entity-date {
  color: var(--color-white-700);
}

.book-card .entity-date {
  font-size: 14px;
}

.book-card .entity-date {
  font-weight: 500;
}

.book-card .entity-date {
  line-height: 1.6;
}

.book-card .entity-date {
  margin-bottom: 16px;
}

.book-card .entity-cover img {
  aspect-ratio: 89/134;
  object-fit: cover;
  width: 100%;
  display: block;
  border-radius: 12px;
}

.book-card:hover {
  border: 2px solid var(--color-green-400);
}

.book-card:hover .entity-title a {
  color: var(--color-green-600);
}

.news-row .entity-row-inner {
  display: grid;
  border-bottom: 1px solid #D0D0D1;
  padding-block: 16px;
}

.news-row .entity-date {
  grid-area: date;
}

.news-row .entity-title {
  grid-area: title;
  margin-bottom: 0;
}

.news-row .entity-title {
  font-size: var(--font-size-h6);
}

.news-row .entity-title {
  font-weight: 600;
}

.news-row .entity-title {
  line-height: 1.4;
}

.news-row .entity-title {
  letter-spacing: 0.2px;
}

.news-row .entity-title a {
  text-decoration: none;
  color: var(--color-white-800);
}

.news-row .entity-link {
  grid-area: link;
  align-content: center;
}

.news-row .entity-link a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: var(--color-green-600);
  transition: all 0.3s;
}

.news-row .entity-link a:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../images/icon--arrow-right-green.svg") no-repeat center;
  background-size: contain;
}

.news-row .entity-link a:hover {
  gap: 8px;
}

.news-row .entity-link a {
  font-size: 0;
}

.news-row .entity-link a:after {
  font-size: 24px;
}

.news-row .entity-meta {
  grid-area: meta;
  display: flex;
  gap: 8px;
  align-items: center;
}

.news-row .entity-meta ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 0 8px;
}

.news-row .list-group-item {
  padding: 4px;
  border-radius: 4px;
  border: 1px solid var(--color-white-700);
  background-color: transparent;
}

.news-row .list-group-item {
  font-size: 12px;
}

.news-row .list-group-item {
  font-weight: 600;
}

.news-row .list-group-item {
  line-height: 1.5;
}

.news-row .list-group-item {
  margin-top: 8px;
}

@media (max-width: 767px) {
  .news-row .entity-row-inner {
    grid-template-areas: "date link" "title link" "meta link";
    grid-template-columns: auto 30px;
    column-gap: 12px;
  }
}
@media (min-width: 768px) {
  .news-row .entity-row-inner {
    grid-template-areas: "date title link" ". meta link";
    grid-template-columns: 90px auto 30px;
    column-gap: 36px;
  }
  .news-row .entity-meta {
    grid-column: 2/3;
  }
  .news-row .entity-link {
    grid-row: 1/3;
  }
}
.promote-card .entity-row-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 16px;
  padding: 16px;
  border: 1px solid var(--color-white-300);
}

.promote-card .entity-title {
  font-size: 20px;
}

.promote-card .entity-title {
  font-weight: 600;
}

.promote-card .entity-title {
  line-height: 1.4;
}

.promote-card .entity-title {
  letter-spacing: 0.2px;
}

.promote-card .entity-title {
  margin-bottom: 6px;
}

.promote-card .entity-title a {
  color: var(--color-white-700);
  text-decoration: none;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.promote-card .entity-title a:hover {
  color: var(--color-green-600);
}

.promote-card .entity-tag a {
  display: block;
  padding: 2px 4px;
  border-radius: 4px;
  background-color: var(--color-green-600);
  color: var(--color-white);
}

.promote-card .entity-tag a {
  font-size: 12px;
}

.promote-card .entity-tag a {
  font-weight: 600;
}

.promote-card .entity-tag a {
  line-height: 1.5;
}

.promote-card .entity-cata {
  align-self: flex-start;
  padding: 2px 4px;
  border-radius: 4px;
  border: 1px solid var(--color-white-600);
  color: var(--color-white-600);
}

.promote-card .entity-cata {
  font-size: 12px;
}

.promote-card .entity-cata {
  font-weight: 600;
}

.promote-card .entity-cata {
  line-height: 1.5;
}

.promote-card .entity-cata {
  margin-bottom: 16px;
}

.promote-card .entity-body {
  color: var(--color-white-700);
}

.promote-card .entity-body {
  font-size: 16px;
}

.promote-card .entity-body {
  font-weight: 400;
}

.promote-card .entity-body {
  line-height: 1.5;
}

.promote-card .entity-body {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 4px;
}

.promote-card .entity-chapter .list-group,
.promote-card .entity-ta .list-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-bottom: 0;
}

.promote-card .entity-chapter .list-group-item,
.promote-card .entity-ta .list-group-item {
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-white-700);
}

.promote-card .entity-chapter .list-group-item,
.promote-card .entity-ta .list-group-item {
  font-size: 14px;
}

.promote-card .entity-chapter .list-group-item,
.promote-card .entity-ta .list-group-item {
  font-weight: 600;
}

.promote-card .entity-chapter .list-group-item,
.promote-card .entity-ta .list-group-item {
  line-height: 1.6;
}

.promote-card .entity-chapter .list-group-item:before,
.promote-card .entity-ta .list-group-item:before {
  content: "#";
}

.promote-card .entity-ta {
  margin-bottom: 16px;
}

.promote-card .entity-link {
  margin-top: auto;
}

.promote-card .entity-link a {
  font-size: 14px;
}

.promote-card .entity-link a {
  font-weight: 600;
}

.promote-card .entity-link a {
  line-height: 1.6;
}

.promote-card .entity-link a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: var(--color-green-600);
  transition: all 0.3s;
}

.promote-card .entity-link a:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../images/icon--arrow-right-green.svg") no-repeat center;
  background-size: contain;
}

.promote-card .entity-link a:hover {
  gap: 8px;
}

.promote-card:hover .entity-row-inner {
  border: 2px solid var(--color-green-400);
}

.promote-card:hover .entity-title, .promote-card:hover .entity-title a {
  color: var(--color-green-600);
}

.corp-volunteering-card .entity-row-inner {
  border-radius: 16px;
  padding: 16px;
  border: 1px solid var(--color-white-300);
}

.corp-volunteering-card .entity-head {
  display: grid;
  grid-template-columns: 1fr auto;
  margin-bottom: 20px;
}

.corp-volunteering-card .entity-title {
  font-size: 20px;
}

.corp-volunteering-card .entity-title {
  font-weight: 600;
}

.corp-volunteering-card .entity-title {
  line-height: 1.4;
}

.corp-volunteering-card .entity-title {
  letter-spacing: 0.2px;
}

.corp-volunteering-card .entity-title {
  margin-bottom: 6px;
  grid-column: 1;
}

.corp-volunteering-card .entity-title, .corp-volunteering-card .entity-title a {
  color: var(--color-white-700);
}

.corp-volunteering-card .entity-tag {
  grid-column: 2;
  align-content: center;
}

.corp-volunteering-card .entity-tag a {
  display: block;
  padding: 2px 4px;
  border-radius: 4px;
  background-color: var(--color-green-600);
  color: var(--color-white);
}

.corp-volunteering-card .entity-tag a {
  font-size: 12px;
}

.corp-volunteering-card .entity-tag a {
  font-weight: 600;
}

.corp-volunteering-card .entity-tag a {
  line-height: 1.5;
}

.corp-volunteering-card .entity-cata {
  grid-column: 1;
}

.corp-volunteering-card .entity-cata span {
  display: inline-block;
  padding: 2px 4px;
  border-radius: 4px;
  border: 1px solid var(--color-white-600);
  color: var(--color-white-600);
}

.corp-volunteering-card .entity-cata span {
  font-size: 12px;
}

.corp-volunteering-card .entity-cata span {
  font-weight: 600;
}

.corp-volunteering-card .entity-cata span {
  line-height: 1.5;
}

.corp-volunteering-card .entity-body {
  margin-bottom: 16px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.corp-volunteering-card .entity-link a {
  color: var(--color-white-600);
}

.corp-volunteering-card .entity-link a {
  font-size: 14px;
}

.corp-volunteering-card .entity-link a {
  font-weight: 600;
}

.corp-volunteering-card .entity-link a {
  line-height: 1.6;
}

.corp-volunteering-card .entity-link a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: var(--color-green-600);
  transition: all 0.3s;
}

.corp-volunteering-card .entity-link a:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../images/icon--arrow-right-green.svg") no-repeat center;
  background-size: contain;
}

.corp-volunteering-card .entity-link a:hover {
  gap: 8px;
}

.corp-volunteering-card:hover .entity-row-inner {
  border: 2px solid var(--color-green-400);
}

.corp-volunteering-card:hover .entity-title, .corp-volunteering-card:hover .entity-title a {
  color: var(--color-green-600);
}

/*-- Buttons --*/
/*-- Icons --*/
a.icon-link {
  position: relative;
  display: inline-block;
  font-size: 0;
}

a.icon-link:before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  background-size: contain;
  background-repeat: no-repeat;
}

a.icon-link.icon--facebook:before {
  background-image: url("../images/icon--facebook.svg");
}

a.icon-link.icon--ig:before {
  background-image: url("../images/icon--ig.svg");
}

a.icon-link.icon--youtube:before {
  background-image: url("../images/icon--youtube.svg");
}

a.icon-link.icon--twitter:before {
  background-image: url("../images/icon--twitter.svg");
}

a.icon-link.icon--arrow-right:before {
  background-image: url("../images/icon--arrow-right.svg");
}

a.icon-link.icon--user:before {
  background-image: url("../images/icon--user.svg");
}

.dark .icon-link.icon--facebook:before {
  background-image: url("../images/icon--facebook-dark.svg");
}

.dark .icon-link.icon--ig:before {
  background-image: url("../images/icon--ig-dark.svg");
}

.dark .icon-link.icon--youtube:before {
  background-image: url("../images/icon--youtube-dark.svg");
}

.dark .icon-link.icon--twitter:before {
  background-image: url("../images/icon--twitter-dark.svg");
}

.dark .icon-link.icon--arrow-right:before {
  background-image: url("../images/icon--arrow-right-dark.svg");
}

.dark .icon-link.icon--user:before {
  background-image: url("../images/icon--user-dark.svg");
}

button.icon-btn {
  border: 0;
  background-color: transparent;
  padding: 0;
  font-size: 0;
}

button.icon-btn:before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
}

button.icon-btn.icon--search:before {
  background-image: url("../images/icon--search.svg");
}

button.icon-btn.icon--close:before {
  background-image: url("../images/icon--close.svg");
}

/*-- 可收合元件 --*/
.sow-collapse .sow-collapse-body {
  overflow: hidden;
  transition: max-height 0.3s linear;
}

.sow-collapse .collapse-toggler-wrap {
  display: flex;
  justify-content: center;
}

.sow-collapse .collapse-toggler {
  display: flex;
  align-items: center;
  column-gap: 6px;
  justify-self: center;
  font-weight: 600;
  color: var(--color-green-800);
}

.sow-collapse .collapse-toggler:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../images/icon--toggle-chevron-down-darkgreen.svg") no-repeat center/contain;
  vertical-align: middle;
  transition: transform 0.3s ease-in-out;
}

.sow-collapse.unzip .collapse-toggler:after {
  transform: rotate(180deg);
}

/* --- [Components] Paragraphs ------------------------------------------------- */
.paragraph--type--info-card {
  position: relative;
  cursor: pointer;
}

.paragraph--type--info-card .card-overlay-link {
  position: absolute;
  inset: 0;
  z-index: 3;
}

.paragraph--type--info-card .card-title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.paragraph--type--info-card .card-title-link:hover, .paragraph--type--info-card .card-title-link:focus {
  color: inherit;
  text-decoration: none;
}

/* --- [Components] Menus ------------------------------------------------- */
nav.menu--main a {
  color: var(--color-white-800);
  text-decoration: none;
}

nav.menu--main .nav:after {
  content: none;
}

nav.menu--main .nav-item {
  position: relative;
}

nav.menu--main .nav-dropdown {
  list-style: none;
  padding-left: 0;
}

nav.menu--main .dropdown {
  display: flex;
  align-items: center;
}

nav.menu--main .dropdown > a, nav.menu--main .dropdown > span {
  flex: 1;
}

nav.menu--main .dropdown > .nav-dropdown {
  width: 100%;
}

nav.menu--main .menu-toggle {
  display: inline-flex;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 24px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: inherit;
  vertical-align: middle;
}

nav.menu--main .menu-toggle:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url("../images/icon--toggle-chevron-down.svg") no-repeat center/contain;
  transform-origin: center;
  transition: transform 0.2s ease;
}

@media (min-width: 1200px) {
  nav.menu--main .menu-toggle {
    width: 18px;
    flex: 0 0 19px;
  }
}
@media (min-width: 1440px) {
  nav.menu--main .menu-toggle {
    width: 24px;
    flex: 0 0 25px;
  }
}
nav.menu--main .is-open > span, nav.menu--main .is-open > a {
  color: var(--color-primary);
}

nav.menu--main :is(a, span).active {
  color: var(--color-green-600);
}

@media (max-width: 1199px) {
  nav.menu--main .nav-dropdown {
    display: none;
  }
  nav.menu--main .dropdown {
    flex-wrap: wrap;
  }
  nav.menu--main .dropdown.is-open > .nav-dropdown {
    display: block;
  }
  nav.menu--main .dropdown.is-open > .menu-toggle:before {
    transform: rotate(180deg);
  }
  nav.menu--main .dropdown-item {
    background-color: transparent;
  }
  nav.menu--main .menu-lv-0-item {
    border-bottom: 1px solid var(--color-white-400);
  }
  nav.menu--main .menu-lv-0-item > a, nav.menu--main .menu-lv-0-item > span {
    font-size: 18px;
  }
  nav.menu--main .menu-lv-0-item > a, nav.menu--main .menu-lv-0-item > span {
    font-weight: 700;
  }
  nav.menu--main .menu-lv-0-item > a, nav.menu--main .menu-lv-0-item > span {
    line-height: 1.5;
  }
  nav.menu--main .menu-lv-0-item > a, nav.menu--main .menu-lv-0-item > span {
    color: var(--color-white-800);
  }
  nav.menu--main .menu-lv-0-item.is-open {
    padding-bottom: 12px;
  }
  nav.menu--main .menu-lv-1-item {
    padding: 8px 24px;
  }
  nav.menu--main .menu-lv-1-item > a, nav.menu--main .menu-lv-1-item > span {
    font-size: 16px;
  }
  nav.menu--main .menu-lv-1-item > a, nav.menu--main .menu-lv-1-item > span {
    font-weight: 600;
  }
  nav.menu--main .menu-lv-1-item > a, nav.menu--main .menu-lv-1-item > span {
    line-height: 1.5;
  }
  nav.menu--main .menu-lv-1-item > a, nav.menu--main .menu-lv-1-item > span {
    color: var(--color-white-600);
  }
  nav.menu--main .menu-lv-2-item > a, nav.menu--main .menu-lv-2-item > span {
    color: var(--color-white-600);
  }
  nav.menu--main li.menu-lv-1-item > a, nav.menu--main li.menu-lv-1-item > span {
    flex: initial;
  }
  nav.menu--main ul.menu-lv-2 {
    margin-block: 4px 4px;
  }
  nav.menu--main li.menu-lv-2-item {
    padding-left: 0;
  }
  nav.menu--main li.active > a, nav.menu--main li.active > span {
    color: var(--color-green-600);
  }
}
@media (min-width: 1200px) {
  nav.menu--main .nav {
    gap: 4px;
  }
  nav.menu--main .menu-toggle {
    pointer-events: none;
  }
  nav.menu--main .nav-item.dropdown:hover > .menu-toggle:before,
  nav.menu--main .nav-item.dropdown:focus-within > .menu-toggle:before {
    transform: rotate(180deg);
  }
  nav.menu--main .nav-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 185px;
    padding: 12px 0;
    margin: 0;
    background: #fff;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    list-style: none;
    z-index: 1000;
  }
  nav.menu--main .nav-dropdown > li {
    list-style: none;
  }
  nav.menu--main .nav-dropdown > li > span,
  nav.menu--main .nav-dropdown > li > a {
    display: block;
    padding: 10px 16px;
  }
  nav.menu--main .nav-dropdown > li > span,
  nav.menu--main .nav-dropdown > li > a {
    font-size: 14px;
  }
  nav.menu--main .nav-dropdown > li > span,
  nav.menu--main .nav-dropdown > li > a {
    font-weight: 600;
  }
  nav.menu--main .nav-dropdown > li > span,
  nav.menu--main .nav-dropdown > li > a {
    line-height: 1.6;
  }
  nav.menu--main .nav-dropdown > li > span,
  nav.menu--main .nav-dropdown > li > a {
    text-decoration: none;
    border-radius: 6px;
    white-space: nowrap;
  }
  nav.menu--main .nav-dropdown > li > a:hover, nav.menu--main .nav-dropdown > li > a:focus {
    background: #f2f2f2;
    color: #27272A;
  }
  nav.menu--main .dropdown:hover > .nav-dropdown,
  nav.menu--main .dropdown:focus-within > .nav-dropdown {
    display: block;
  }
  nav.menu--main .menu-lv-0-item > a, nav.menu--main .menu-lv-0-item > span {
    font-size: 18px;
  }
  nav.menu--main .menu-lv-0-item > a, nav.menu--main .menu-lv-0-item > span {
    font-weight: 700;
  }
  nav.menu--main .menu-lv-0-item > a, nav.menu--main .menu-lv-0-item > span {
    line-height: 1.5;
  }
  nav.menu--main .menu-item--5.dropdown:hover > .nav-dropdown, nav.menu--main .menu-item--5.dropdown:focus-within > .nav-dropdown {
    display: grid;
  }
}
@media (min-width: 1440px) {
  nav.menu--main .nav {
    gap: 24px;
  }
}
@media (min-width: 1200px) {
  nav.menu--main li.menu-item--5 .menu-lv-1 .menu-toggle {
    display: none;
  }
  nav.menu--main li.menu-item--5 .menu-lv-1 .dropdown {
    display: block;
  }
  nav.menu--main li.menu-item--5 > .nav-dropdown {
    left: 0;
    right: auto;
    width: max-content;
    min-width: 0;
    padding: 24px 0;
    gap: 8px;
    grid-template-columns: repeat(4, max-content);
  }
  nav.menu--main li.menu-item--5 > .nav-dropdown > li.menu-lv-1-item {
    position: static;
  }
  nav.menu--main li.menu-item--5 > .nav-dropdown > li.menu-lv-1-item .nb-dropdown-toggle {
    display: none;
  }
  nav.menu--main li.menu-item--5 > .nav-dropdown > li.menu-lv-1-item > a,
  nav.menu--main li.menu-item--5 > .nav-dropdown > li.menu-lv-1-item > span {
    display: block;
    padding: 0 12px 12px;
    font-family: "Noto Sans TC", "微軟正黑體", "Microsoft JhengHei", "STHeiti", Arial, "Helvetica", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    color: #597333;
    border-radius: 0;
    white-space: nowrap;
  }
  nav.menu--main li.menu-item--5 > .nav-dropdown > li.menu-lv-1-item > a:hover, nav.menu--main li.menu-item--5 > .nav-dropdown > li.menu-lv-1-item > a:focus,
  nav.menu--main li.menu-item--5 > .nav-dropdown > li.menu-lv-1-item > span:hover,
  nav.menu--main li.menu-item--5 > .nav-dropdown > li.menu-lv-1-item > span:focus {
    background: transparent;
    color: #597333;
  }
}
@media (min-width: 1200px) {
  nav.menu--main li.menu-item--5 .menu-lv-1-item:hover, nav.menu--main li.menu-item--5 .menu-lv-1-item.focus {
    background: transparent;
  }
  nav.menu--main li.menu-item--5:hover > .nav-dropdown, nav.menu--main li.menu-item--5:focus-within > .nav-dropdown {
    display: grid;
  }
  nav.menu--main li.menu-item--5 .menu-lv-2.nav-dropdown {
    display: block;
    position: static;
    transform: none;
    padding: 0;
    min-width: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
  }
  nav.menu--main li.menu-item--5 .menu-lv-2.nav-dropdown a {
    font-size: 14px;
    font-weight: 600;
    color: #27272A;
    white-space: nowrap;
  }
  nav.menu--main li.menu-item--5 .menu-lv-2.nav-dropdown a:hover, nav.menu--main li.menu-item--5 .menu-lv-2.nav-dropdown a:focus {
    background: #f2f2f2;
  }
  nav.menu--main li.menu-item--5 .menu-lv-2-item {
    text-align: left;
    padding: 0;
  }
}
.blk-header-social nav.menu--footer-social .nav-link {
  color: var(--color-white-700);
}

.featured-top ul.nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.featured-top ul.nav a {
  background-color: #fff;
  border: 2px solid #86b534;
  border-radius: 12px;
  color: #27272A;
  padding: 4px 20px;
}

.featured-top ul.nav a {
  font-size: 16px;
}

.featured-top ul.nav a {
  font-weight: 600;
}

.featured-top ul.nav a {
  line-height: 1.5;
}

.featured-top ul.nav a {
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.featured-top ul.nav a:hover {
  background-color: rgba(134, 181, 52, 0.12);
}

.featured-top ul.nav a:focus-visible {
  outline: 2px solid rgba(134, 181, 52, 0.5);
  outline-offset: 2px;
}

.featured-top ul.nav a.active {
  background-color: #86b534;
  border-color: #86b534;
  color: #27272A;
}

.menu--top-menu .nav {
  align-items: center;
}

.menu--top-menu a.icon-link:before {
  width: 24px;
  height: 24px;
}

nav.menu--footer a {
  font-size: 14px;
  text-decoration: underline;
}

nav.menu--footer-social .nav {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 0;
  margin: 0;
  list-style: none;
}

nav.menu--footer-social .nav-item {
  display: block;
}

nav.menu--footer-social .nav-link {
  display: inline-block;
  padding: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
}

nav.menu--footer-social .nav-link:before {
  width: 28px;
  height: 28px;
}

/* --- [Components] Blocks ------------------------------------------------- */
.block-page-title-block, .blk-page-title {
  text-align: center;
}

.block-page-title-block h1, .blk-page-title h1 {
  color: var(--color-white-800);
}

@media (min-width: 1200px) {
  .block-page-title-block h1, .blk-page-title h1 {
    font-size: 40px;
  }
  .block-page-title-block h1, .blk-page-title h1 {
    font-weight: 600;
  }
  .block-page-title-block h1, .blk-page-title h1 {
    line-height: 1.2;
  }
  .block-page-title-block h1, .blk-page-title h1 {
    letter-spacing: 0.4px;
  }
}
.block-search form {
  justify-content: center;
  border-radius: 12px;
  gap: 20px;
}

.block-search .form-type-search {
  margin-bottom: 0 !important;
}

.block-search input[type=search], .block-search input[type=text] {
  border-radius: 12px;
  padding: 8px 12px 8px 40px;
  max-width: calc(100dvw - 55px);
  border: 0;
  background: url("../images/icon--search.svg") no-repeat left 10px center, rgba(7, 8, 12, 0.05) !important;
}

@media (min-width: 1200px) {
  .block-search {
    display: none;
    position: absolute;
    right: 0;
    z-index: 1;
    top: 50px;
  }
  .block-search #search-block-form {
    padding: 20px;
    background-color: #fff;
    box-shadow: 2px 3px 6px #969696;
  }
  .block-search input[type=search], .block-search input[type=text] {
    max-width: 300px;
    border: 1.5px solid var(--color-gray, #757170);
    background: url("../images/icon--search.svg") no-repeat left 10px center, #fff !important;
  }
  .block-search.show {
    display: block;
  }
}
.block-search .form-actions {
  display: none;
  align-self: center;
}

.block-content > .field--name-field-link,
.block-content > .more-link {
  text-align: center;
  margin-top: 24px;
}

.block-content > .field--name-field-link a,
.block-content > .more-link a {
  font-size: 16px;
}

.block-content > .field--name-field-link a,
.block-content > .more-link a {
  font-weight: 600;
}

.block-content > .field--name-field-link a,
.block-content > .more-link a {
  line-height: 1.5;
}

.block-content > .field--name-field-link a,
.block-content > .more-link a {
  display: inline-flex;
  text-decoration: none;
  align-items: center;
  justify-content: center;
  border: 2px solid transparent;
  border-radius: 5em;
  padding: 12px 20px;
  gap: 4px;
  transition: all 0.3s;
  color: var(--color-green-800);
}

.block-content > .field--name-field-link a:after,
.block-content > .more-link a:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../images/icon--arrow-right-darkgreen.svg") no-repeat center;
  background-size: contain;
  vertical-align: middle;
}

.block-content > .field--name-field-link a:hover,
.block-content > .more-link a:hover {
  gap: 8px;
  border-color: var(--color-green-800);
}

.block-content a.button {
  font-weight: 600;
  line-height: 1.5;
  display: inline-flex;
  color: var(--color-white);
  background-color: var(--color-green-400);
  text-decoration: none;
  padding: 12px 20px;
  border-radius: 5em;
}

.block-content a.button:hover {
  background-color: var(--color-green-800);
}

.blk-floating-donate {
  position: fixed;
  bottom: max(25vh, 100px);
  right: 20px;
  z-index: 9999;
}

.blk-floating-donate .donate-button {
  display: grid;
  position: relative;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  background-color: #DFAD08;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  grid-template-rows: repeat(10, 1fr);
  transition: all 0.2s ease-in-out;
}

.blk-floating-donate .btn-icon {
  position: absolute;
  top: -33px;
}

.blk-floating-donate .btn-link-text {
  color: #07080C;
  grid-row: 7/9;
  font-size: 16px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease-in-out;
  column-gap: 3px;
}

.blk-floating-donate .btn-link-text span {
  display: block;
}

.blk-floating-donate .btn-link-text:after {
  content: "";
  width: 1em;
  height: 1em;
  display: block;
  background: url("../images/icon--arrow-right-black.svg") no-repeat center/cover;
}

.blk-floating-donate:hover .donate-button {
  background-color: #FFC43A;
}

.blk-floating-donate:hover .btn-link-text {
  column-gap: 6px;
}

@media (max-width: 767px) {
  .blk-floating-donate {
    display: none;
  }
}
@media (max-height: 600px) {
  .blk-floating-donate {
    transform: scale(0.8);
  }
}
.mobile-donate-btn {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 12px;
  border-radius: 9999px;
  background-color: #F8AD00;
  color: #07080C;
  text-decoration: none;
}

.mobile-donate-btn {
  font-size: 14px;
}

.mobile-donate-btn {
  font-weight: 600;
}

.mobile-donate-btn {
  line-height: 1.6;
}

.mobile-donate-btn {
  transition: background-color 0.2s ease-in-out;
}

.mobile-donate-btn:hover, .mobile-donate-btn:focus {
  background-color: #FFC43A;
  color: #07080C;
  text-decoration: none;
}

.mobile-donate-btn__arrow {
  display: block;
  width: 12px;
  height: 12px;
  background: url("../images/icon--arrow-right-black.svg") no-repeat center/contain;
}

@media (max-width: 1199px) {
  .mobile-donate-btn {
    display: inline-flex;
    margin-right: 8px;
  }
}
.simple-popup-blocks-global .spb-popup-main-wrapper {
  border: 0;
  padding: 20px;
  margin-top: 0;
  transform: translateY(-50%);
}

.simple-popup-blocks-global .spb-controls {
  right: -30px;
  top: -30px;
}

.simple-popup-blocks-global .spb-controls button {
  border-radius: 5em;
  background-color: transparent;
  padding: 0;
  margin: 0;
}

.simple-popup-blocks-global .spb_close {
  border: 0;
  color: #fff;
  font-size: 24px;
}

@media (max-width: 575px) {
  .simple-popup-blocks-global .spb-popup-main-wrapper {
    width: calc(100vw - 60px) !important;
    margin-left: initial !important;
    left: 30px;
  }
}
.blk-startup-popup {
  display: none;
}

.blk-footer-logo img {
  max-width: 232px;
  height: auto;
}

.blk-footer-intro {
  font-size: 14px;
}

.blk-footer-intro {
  font-weight: 400;
}

.blk-footer-intro {
  line-height: 1.6;
}

.blk-footer-intro {
  max-width: 330px;
}

.blk-footer-intro p {
  font-size: 14px;
}

.blk-footer-contact {
  font-size: 14px;
}

.blk-footer-contact {
  font-weight: 400;
}

.blk-footer-contact {
  line-height: 1.8;
}

.blk-footer-contact p {
  margin: 0;
}

.blk-footer-contact a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.blk-footer-copyright p {
  font-size: 12px;
}

.blk-subscribe form, .blk-top-subscribe form {
  display: flex;
  gap: 8px;
  align-items: stretch;
}

.blk-subscribe input[type=text], .blk-top-subscribe input[type=text] {
  flex: 1;
  min-width: 0;
  padding: 10px 14px;
  border: 0;
  border-radius: 6px;
  background-color: var(--color-white);
  color: var(--color-black);
}

.blk-subscribe input[type=text]::placeholder, .blk-top-subscribe input[type=text]::placeholder {
  color: rgba(0, 0, 0, 0.4);
}

.blk-subscribe button[type=submit], .blk-top-subscribe button[type=submit] {
  padding: 10px 20px;
  border: 0;
  border-radius: 6px;
  background-color: var(--color-green-400);
  color: var(--color-white);
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.2s;
}

.blk-subscribe button[type=submit]:hover, .blk-subscribe button[type=submit]:focus, .blk-top-subscribe button[type=submit]:hover, .blk-top-subscribe button[type=submit]:focus {
  background-color: var(--color-green-800);
}

.blk-subscribe .block-content {
  max-width: 330px;
}

.blk-subscribe:before {
  content: "訂閱電子報";
  display: block;
  margin-bottom: 12px;
}

.blk-subscribe:before {
  font-size: 14px;
}

.blk-subscribe:before {
  font-weight: 600;
}

.blk-subscribe:before {
  line-height: 1.6;
}

.blk-subscribe input[type=text] {
  font-size: 14px;
}

.blk-subscribe input[type=text] {
  font-weight: 400;
}

.blk-subscribe input[type=text] {
  line-height: 1.4;
}

.blk-subscribe button[type=submit] {
  font-size: 14px;
}

.blk-subscribe button[type=submit] {
  font-weight: 700;
}

.blk-subscribe button[type=submit] {
  line-height: 1.4;
}

.blk-top-subscribe .form-desc {
  margin-bottom: 20px;
}

.blk-top-subscribe .form-wrap {
  margin-inline: auto;
  max-width: 500px;
  line-height: 1.5;
}

.blk-top-subscribe input[type=text] {
  width: 100%;
  font-weight: 600;
  line-height: 1.5;
}

.blk-top-subscribe input[type=text]::placeholder {
  font-weight: 600;
  line-height: 1.5;
}

.blk-top-subscribe button[type=submit] {
  flex-shrink: 0;
  flex-basis: 80px;
  font-weight: 600;
  line-height: 1.5;
}

.unit-banner img {
  border-radius: 12px;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 5/2;
}

.unit-banner .page-title {
  text-align: center;
}

.unit-banner .page-title {
  font-size: 40px;
}

.unit-banner .page-title {
  font-weight: 600;
}

.unit-banner .page-title {
  line-height: 1.2;
}

.unit-banner .page-title {
  letter-spacing: 0.4px;
}

.unit-banner .page-title {
  margin-top: 16px;
  margin-bottom: 0;
}

.unit-banner .entity-cover + .hide-after-cover {
  display: none;
}

@media (max-width: 1199px) {
  .unit-banner {
    padding-inline: 20px;
  }
}
@media (max-width: 575px) {
  .unit-banner {
    padding-inline: 0;
  }
  .unit-banner img {
    border-radius: 12px;
    width: 100%;
  }
}
@media (min-width: 1200px) {
  .unit-banner {
    margin-inline: auto;
    max-width: 1200px;
  }
  .unit-banner .page-title {
    margin-top: 24px;
  }
  .unit-banner .page-title {
    font-size: 40px;
  }
  .unit-banner .page-title {
    font-weight: 600;
  }
  .unit-banner .page-title {
    line-height: 1.2;
  }
  .unit-banner .page-title {
    letter-spacing: 0.4px;
  }
}
.blk-node-meta .entity-row-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 14px;
}

.blk-node-meta .entity-date {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  flex-shrink: 0;
}

.blk-node-meta .entity-whatwedo,
.blk-node-meta .entity-volunteer,
.blk-node-meta .entity-chapter,
.blk-node-meta .entity-tag,
.blk-node-meta .entity-whatwedo .item-list,
.blk-node-meta .entity-volunteer .item-list,
.blk-node-meta .entity-chapter .item-list,
.blk-node-meta .entity-tag .item-list {
  display: contents;
}

.blk-node-meta .list-group {
  list-style: none;
  display: contents;
  margin-bottom: 0;
}

.blk-node-meta .list-group-item {
  background-color: transparent;
  padding: 4px;
  display: flex;
  justify-content: center;
  font-size: 12px;
  border-radius: 4px;
  border: 1px solid var(--color-white-600);
  word-break: keep-all;
}

.blk-choose-support .block-title {
  text-align: center;
  color: var(--color-white-800);
}

.blk-choose-support .block-title {
  font-size: var(--font-size-h3);
}

.blk-choose-support .block-title {
  font-weight: 600;
}

.blk-choose-support .block-title {
  line-height: 1.2;
}

.blk-choose-support .block-title {
  letter-spacing: 0.4px;
}

.blk-choose-support .block-title {
  margin-bottom: 40px;
}

.blk-choose-support .view-filters {
  margin-bottom: 40px;
}

.blk-choose-support .view-filters .form-item {
  margin-bottom: 0;
}

.blk-choose-support .view-filters .form-item > input,
.blk-choose-support .view-filters .form-actions {
  display: none;
}

.blk-choose-support .view-filters .bef-links ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.blk-choose-support .view-filters .bef-link {
  display: inline-flex;
  align-items: center;
  border: 2px solid var(--color-green-400);
  border-radius: 5em;
  padding: 4px 16px;
  color: var(--color-white-700);
  text-decoration: none;
  transition: all 0.3s;
}

.blk-choose-support .view-filters .bef-link {
  font-size: 16px;
}

.blk-choose-support .view-filters .bef-link {
  font-weight: 600;
}

.blk-choose-support .view-filters .bef-link {
  line-height: 1.5;
}

.blk-choose-support .view-filters .bef-link--selected {
  background-color: var(--color-green-400);
  border-color: var(--color-green-400);
}

.blk-choose-support form {
  justify-content: center;
}

.blk-choose-support .view-content {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
}

.blk-choose-support .entity-row {
  border: 1px solid var(--color-white-300);
  border-radius: 16px;
}

.blk-choose-support .entity-row-inner {
  height: 100%;
  padding: 16px;
  display: grid;
  gap: 16px;
  grid-template-rows: auto auto auto 1fr;
  grid-template-areas: "img" "title" "body" "link";
}

.blk-choose-support .entity-img {
  grid-area: img;
}

.blk-choose-support .entity-img img {
  width: 100%;
  display: block;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: 12px;
}

.blk-choose-support .entity-title {
  grid-area: title;
  color: var(--color-white-700);
}

.blk-choose-support .entity-title {
  font-size: var(--font-size-h6);
}

.blk-choose-support .entity-title {
  font-weight: 600;
}

.blk-choose-support .entity-title {
  line-height: 1.4;
}

.blk-choose-support .entity-title {
  letter-spacing: 0.2px;
}

.blk-choose-support .entity-title {
  margin-bottom: 0;
}

.blk-choose-support .entity-body {
  grid-area: body;
  color: var(--color-white-700);
}

.blk-choose-support .entity-body {
  font-size: 16px;
}

.blk-choose-support .entity-body {
  font-weight: 400;
}

.blk-choose-support .entity-body {
  line-height: 1.5;
}

.blk-choose-support .entity-body p {
  margin-bottom: 0;
}

.blk-choose-support .entity-link {
  grid-area: link;
  align-self: end;
}

.blk-choose-support .entity-link a {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-green-400);
  border-radius: 5em;
  padding: 12px 20px;
  color: var(--color-white);
  text-decoration: none;
  transition: all 0.3s;
}

.blk-choose-support .entity-link a {
  font-size: 16px;
}

.blk-choose-support .entity-link a {
  font-weight: 600;
}

.blk-choose-support .entity-link a {
  line-height: 1.5;
}

.blk-choose-support .entity-link a:hover {
  background-color: var(--color-green-600);
}

.blk-choose-support .entity-row:hover {
  border: 2px solid var(--color-green-400);
}

.blk-choose-support .entity-row:hover .entity-title {
  color: var(--color-green-600);
}

@media (min-width: 992px) {
  .blk-choose-support .view-content {
    grid-template-columns: repeat(3, 1fr);
  }
  .blk-choose-support .entity-row:first-child {
    grid-column: 1/-1;
  }
  .blk-choose-support .entity-row:first-child .entity-row-inner {
    column-gap: 36px;
    grid-template-columns: 48% 1fr;
    grid-template-rows: 1fr auto auto auto 1fr;
    grid-template-areas: "img ." "img title" "img body" "img link" "img .";
    row-gap: 0;
  }
  .blk-choose-support .entity-row:first-child .entity-img img {
    height: 100%;
    aspect-ratio: 16/9;
  }
  .blk-choose-support .entity-row:first-child .entity-title {
    font-size: var(--font-size-h4);
  }
  .blk-choose-support .entity-row:first-child .entity-title {
    font-weight: 600;
  }
  .blk-choose-support .entity-row:first-child .entity-title {
    line-height: 1.3;
  }
  .blk-choose-support .entity-row:first-child .entity-title {
    letter-spacing: 0.32px;
  }
  .blk-choose-support .entity-row:first-child .entity-title {
    margin-bottom: 12px;
  }
  .blk-choose-support .entity-row:first-child .entity-body {
    margin-bottom: 16px;
  }
}
.blk-closing-soon-cta h5 {
  margin-bottom: 10px;
}

.view-display-id-b_chapter_promote .view-content {
  gap: 20px;
}

.view-display-id-b_chapter_corp_volunteer .view-content {
  gap: 20px;
}

/* ==========================================================================
   Node
   ========================================================================== */
/* --- 共通樣式 ------------------------------------------------- */
.node .field--name-body h2 {
  font-size: var(--font-size-h2);
  line-height: 1.2;
}

.node .field--name-body h3 {
  font-size: var(--font-size-h3);
  line-height: 1.2;
}

.node .field--name-body h4 {
  font-size: var(--font-size-h4);
  line-height: 1.3;
}

.node .field--name-body h5 {
  font-size: var(--font-size-h5);
  line-height: 1.4;
}

.node .field--name-body h6 {
  font-size: var(--font-size-h6);
  line-height: 1.4;
}

.node .field--name-body h2, .node .field--name-body h3, .node .field--name-body h4, .node .field--name-body h5, .node .field--name-body h6, .node .field--name-body p {
  margin-bottom: var(--margin-p);
}

.node .field--name-body p {
  word-break: break-word;
}

.node .field--name-body p:last-child {
  margin-bottom: 0;
}

.node .field--name-body ul, .node .field--name-body ol {
  margin-block: var(--margin-p);
}

.node .field--name-body a {
  color: #597333;
}

.node .field--name-body a:not(.button) {
  text-decoration: underline;
}

.node .field--name-body a.button {
  font-weight: 600;
  line-height: 1.5;
  display: inline-flex;
  color: var(--color-white);
  background-color: var(--color-green-400);
  text-decoration: none;
  padding: 12px 20px;
  border-radius: 5em;
}

.node .field--name-body a.button:hover {
  background-color: var(--color-green-800);
}

.node .field--name-body img {
  margin-top: 10px;
  margin-bottom: 10px;
  margin-right: 10px;
}

.node .field--name-body img.align-left {
  margin-right: 10px;
}

.node .field--name-body img.align-center {
  margin-right: auto;
  margin-left: auto;
}

.node .field--name-body img.align-right {
  margin-left: 10px;
}

.node .field--name-body figure {
  width: 100%;
}

.node .field--name-body figure.caption img {
  width: 100%;
  height: auto;
}

.node .field--name-body figcaption {
  text-align: justify;
  color: var(--color-gray);
  padding: 0 15px;
}

.node .field--name-body figcaption {
  font-size: 16px;
}

.node .field--name-body figcaption {
  font-weight: normal;
}

.node .field--name-body figcaption {
  line-height: 1.2;
}

.node .field--name-body figcaption {
  letter-spacing: 0.32px;
}

.node .field--name-body figcaption:before {
  content: "";
  display: inline-block;
  vertical-align: text-bottom;
  margin-right: 10px;
  height: 1.2em;
  width: 15px;
}

.node .field--name-body blockquote {
  padding-left: 20px;
  padding-block: 0;
  border-left: 4px solid var(--color-green-500);
  color: var(--color-green-700);
}

.node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-links .field__label, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-files .field__label, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-upload .field__label {
  color: var(--color-white-700);
}

.node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-links .field__label, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-files .field__label, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-upload .field__label {
  font-size: 16px;
}

.node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-links .field__label, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-files .field__label, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-upload .field__label {
  font-weight: 600;
}

.node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-links .field__label, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-files .field__label, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-upload .field__label {
  line-height: 1.5;
}

.node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-links a, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-files a, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-upload a {
  color: var(--color-green-600);
}

.node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-links a, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-files a, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-upload a {
  font-size: 14px;
}

.node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-links a, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-files a, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-upload a {
  font-weight: 600;
}

.node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-links a, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-files a, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-upload a {
  line-height: 1.6;
}

.node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-links a, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-files a, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-upload a {
  display: inline-flex;
  align-items: center;
}

.node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-links {
  margin-bottom: 12px;
}

.node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-links a:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../images/icon--related-link-darkgreen.svg") no-repeat center/contain;
  vertical-align: middle;
  margin-left: 4px;
}

.node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-field-files a:after, .node:not(:where(.node--type-promote, .node--type-corp-volunteer)) .field--name-upload a:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../images/icon--file-download-darkgreen.svg") no-repeat center/contain;
  vertical-align: middle;
  margin-left: 4px;
}

body:where(.node--type-page):not(.path-frontpage) .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  body:where(.node--type-page):not(.path-frontpage) .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
body:where(.node--type-page):not(.path-frontpage) article.node--type-page {
  margin-inline: auto;
  max-width: 800px;
}

body:where(.node--type-news,
.node--type-weblog,
.node--type-report,
.node--type-publication,
.node--type-reportartical,
.node--type-promote,
.node--type-volunteer) .layout-main-wrapper {
  padding-block: 30px 40px;
}

@media (min-width: 1200px) {
  body:where(.node--type-news,
  .node--type-weblog,
  .node--type-report,
  .node--type-publication,
  .node--type-reportartical,
  .node--type-promote,
  .node--type-volunteer) .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
body:where(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical) .region-featured-top {
  display: grid;
  grid-template-areas: "title title" "meta share";
  margin-inline: auto;
  max-width: 800px;
}

body:where(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical) .block-page-title-block {
  grid-area: title;
  text-align: left;
}

body:where(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical) .blk-node-meta {
  grid-area: meta;
}

body:where(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical) .region-featured-top .block-netivism-share {
  grid-area: share;
  align-content: end;
}

body:where(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical) .netivism-share-container {
  justify-content: flex-end;
}

body:where(.node--type-report, .node--type-express) .featured-top .netivism-share-container {
  justify-content: flex-end;
}

body:where(.node--type-report, .node--type-express) .region-featured-top {
  margin-inline: auto;
  max-width: 1000px;
}

article:is(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical,
.general-article) .node__content {
  margin-inline: auto;
  max-width: 800px;
}

article:is(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical,
.general-article) .node__meta {
  display: grid;
  grid-template-columns: 1fr 120px;
  padding-top: 50px;
}

article:is(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical,
.general-article) .node__meta .block-netivism-share {
  grid-column: 2/3;
}

article:is(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical,
.general-article) .node__meta ul.netivism-share-list {
  margin-bottom: 0;
}

article:is(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical,
.general-article) .node__tags {
  display: flex;
  gap: 4px;
}

article:is(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical,
.general-article) .node__tags .field {
  margin-bottom: 0;
}

article:is(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical,
.general-article) .node__tags a {
  word-break: keep-all;
  background-color: transparent;
  padding: 2px 4px;
  display: flex;
  justify-content: center;
  font-size: 12px;
  border-radius: 4px;
  border: 1px solid var(--color-white-600);
}

article:is(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical,
.general-article) .node__footer {
  padding-top: 28px;
  margin-top: 28px;
  border-top: 1px solid var(--color-green-300);
}

article:is(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical,
.general-article) .node__footer .field {
  margin-bottom: 12px;
}

article:is(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical,
.general-article) .field--name-field-related-chapter-multiple {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

article:is(.node--type-news,
.node--type-weblog,
.node--type-publication,
.node--type-reportartical,
.general-article) .field--name-field-wha-we-do-cat {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

body:where(.node--type-volunteer) main.main-content {
  min-height: initial;
}

article:is(.node--type-news) .field--name-field-news-file .field__label {
  color: var(--color-white-700);
}

article:is(.node--type-news) .field--name-field-news-file .field__label {
  font-size: 16px;
}

article:is(.node--type-news) .field--name-field-news-file .field__label {
  font-weight: 600;
}

article:is(.node--type-news) .field--name-field-news-file .field__label {
  line-height: 1.5;
}

article:is(.node--type-news) .field--name-field-news-file a {
  color: var(--color-green-600);
}

article:is(.node--type-news) .field--name-field-news-file a {
  font-size: 14px;
}

article:is(.node--type-news) .field--name-field-news-file a {
  font-weight: 600;
}

article:is(.node--type-news) .field--name-field-news-file a {
  line-height: 1.6;
}

article:is(.node--type-news) .field--name-field-news-file a {
  display: inline-flex;
  align-items: center;
}

article:is(.node--type-volunteer,
.node--type-chapter) {
  margin-inline: auto;
  max-width: 1000px;
}

article:is(.node--type-volunteer,
.node--type-chapter) .node__content {
  display: grid;
  gap: 30px;
}

@media (min-width: 992px) {
  article:is(.node--type-volunteer,
  .node--type-chapter) .node__content {
    gap: 60px;
    grid-template-columns: 5fr max-content;
  }
}
article:is(.node--type-volunteer,
.node--type-chapter) .contact-info > .field__label {
  margin-bottom: 16px;
}

article:is(.node--type-volunteer,
.node--type-chapter) .contact-info > .field__label {
  font-size: 20px;
}

article:is(.node--type-volunteer,
.node--type-chapter) .contact-info > .field__label {
  font-weight: 600;
}

article:is(.node--type-volunteer,
.node--type-chapter) .contact-info > .field__label {
  line-height: 1.4;
}

article:is(.node--type-volunteer,
.node--type-chapter) .contact-info > .field__label {
  letter-spacing: 0.2px;
}

article:is(.node--type-volunteer,
.node--type-chapter) .group-contact-fields .field__label {
  font-weight: bold;
}

article:is(.node--type-volunteer,
.node--type-chapter) .group-contact-fields .field__label:after {
  content: "：";
}

article:is(.node--type-volunteer,
.node--type-chapter) .collapse-toggler-wrap {
  grid-column: 1/-1;
}

@media (max-width: 1023px) {
  article:is(.node--type-chapter) .node__content {
    display: flex;
    flex-direction: column;
  }
  article:is(.node--type-chapter) .node__content .contact-info {
    order: -1;
  }
}
article:is(.node--type-corp-volunteer,
.node--type-promote) {
  margin-inline: auto;
  max-width: 800px;
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links {
  text-align: center;
  background-color: #fefdf7;
  padding-block: 40px 30px;
  position: relative;
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links > h3 {
  color: var(--color-white-800);
  margin-bottom: 12px;
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links > h3 {
  font-size: 24px;
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links > h3 {
  font-weight: 600;
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links > h3 {
  line-height: 1.2;
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links .field__items {
  margin-top: 40px;
  margin-inline: auto;
  max-width: 300px;
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links .field__item {
  display: flex;
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: 9999px;
  background-color: var(--color-green-400);
  color: var(--color-white);
  text-decoration: none;
  white-space: nowrap;
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links a {
  font-size: 16px;
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links a {
  font-weight: 600;
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links a {
  line-height: 1.5;
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links a {
  transition: background-color 0.3s, border-color 0.3s;
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links a:hover, article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links a:focus {
  background-color: var(--color-green-800);
  border-color: var(--color-green-800);
}

article:is(.node--type-corp-volunteer,
.node--type-promote) .field--chapter-links:before {
  content: "";
  position: absolute;
  left: 0;
  top: -3.5dvw;
  display: block;
  width: 100%;
  height: 3.5dvw;
  background: url(../images/deco-field-links-top.svg) no-repeat center bottom/100%;
}

@media (min-width: 768px) {
  article:is(.node--type-corp-volunteer,
  .node--type-promote) .field--chapter-links {
    padding-block: 80px 60px;
    margin-top: 5vw;
  }
  article:is(.node--type-corp-volunteer,
  .node--type-promote) .field--chapter-links > h3 {
    font-size: 40px;
  }
}
article.node--type-promote .field__label {
  color: var(--color-white-700);
}

article.node--type-promote .field__label {
  font-size: 16px;
}

article.node--type-promote .field__label {
  font-weight: 600;
}

article.node--type-promote .field__label {
  line-height: 1.5;
}

article.node--type-promote .field__label {
  padding-right: 0;
}

article.node--type-promote .field__label:after {
  content: ":";
  display: inline-block;
  margin-left: 4px;
}

article.node--type-promote .field--name-field-model {
  margin-bottom: 0;
}

article.node--type-about {
  margin-inline: auto;
  max-width: 800px;
}

article.node--type-about .field--name-body {
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--color-green-300);
}

article.node--type-about .field__label {
  color: var(--color-white-700);
}

article.node--type-about .field__label {
  font-size: 16px;
}

article.node--type-about .field__label {
  font-weight: 600;
}

article.node--type-about .field__label {
  line-height: 1.5;
}

article:is(.node--type-report,
.node--type-express) {
  margin-inline: auto;
  max-width: 1000px;
}

article:is(.node--type-report,
.node--type-express) .node__content {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

@media (min-width: 768px) {
  article:is(.node--type-report,
  .node--type-express) .node__content {
    display: grid;
    gap: 60px;
    grid-template-columns: 376px auto;
  }
}
article:is(.node--type-report,
.node--type-express) .article-cover {
  grid-column: 1/2;
  grid-row: 1/2;
}

article:is(.node--type-report,
.node--type-express) .article-cover img {
  border-radius: 12px;
}

article:is(.node--type-report,
.node--type-express) .article-body {
  grid-column: 2/3;
  grid-row: 1/2;
  display: grid;
  grid-auto-rows: max-content;
  gap: 32px 12px;
}

article:is(.node--type-report,
.node--type-express) .article-body .field__label {
  color: var(--color-white-800);
}

article:is(.node--type-report,
.node--type-express) .article-body .field__label {
  font-size: 20px;
}

article:is(.node--type-report,
.node--type-express) .article-body .field__label {
  font-weight: 600;
}

article:is(.node--type-report,
.node--type-express) .article-body .field__label {
  line-height: 1.4;
}

article:is(.node--type-report,
.node--type-express) .article-body .field__label {
  letter-spacing: 0.2px;
}

article:is(.node--type-report,
.node--type-express) .article-body .field__label {
  margin-bottom: 12px;
}

@media (min-width: 992px) {
  article:is(.node--type-report,
  .node--type-express) .article-body:has(.field--name-field-files) {
    grid-template-columns: 1fr 135px;
  }
}
article:is(.node--type-report,
.node--type-express) .field--name-field-files {
  align-self: center;
  justify-self: end;
}

article:is(.node--type-report,
.node--type-express) .field--name-field-files a {
  display: inline-flex;
  color: var(--color-white);
  background-color: var(--color-green-400);
  text-decoration: none;
  padding: 12px;
  width: 132px;
  border-radius: 5em;
}

article:is(.node--type-report,
.node--type-express) .field--name-field-files a:hover {
  background-color: var(--color-green-800);
}

article:is(.node--type-report,
.node--type-express) .field--name-field-files a {
  text-align: center;
  justify-content: center;
}

article:is(.node--type-report,
.node--type-express) .field--name-field-files a:after {
  background: url("../images/icon--file-download-white.svg") no-repeat center/contain;
}

article:is(.node--type-report,
.node--type-express) .field--name-field-files .field__item {
  margin-bottom: 10px;
}

@media (max-width: 1023px) {
  article:is(.node--type-report,
  .node--type-express) .field--name-field-files {
    justify-self: center;
  }
}
article:is(.node--type-report,
.node--type-express) :is(.field--name-field-reportartical-ref,
.field--name-field-weblog-ref) {
  grid-column: 1/-1;
}

article:is(.node--type-report,
.node--type-express) :is(.field--name-field-reportartical-ref,
.field--name-field-weblog-ref) .field__item {
  padding-block: 12px;
}

article:is(.node--type-report,
.node--type-express) :is(.field--name-field-reportartical-ref,
.field--name-field-weblog-ref) .field__item:not(:last-child) {
  border-bottom: 1px solid var(--color-white-200);
}

article:is(.node--type-report,
.node--type-express) :is(.field--name-field-reportartical-ref,
.field--name-field-weblog-ref) a {
  display: flex;
  position: relative;
  color: var(--color-white-600);
}

article:is(.node--type-report,
.node--type-express) :is(.field--name-field-reportartical-ref,
.field--name-field-weblog-ref) a {
  font-size: 16px;
}

article:is(.node--type-report,
.node--type-express) :is(.field--name-field-reportartical-ref,
.field--name-field-weblog-ref) a {
  font-weight: 600;
}

article:is(.node--type-report,
.node--type-express) :is(.field--name-field-reportartical-ref,
.field--name-field-weblog-ref) a {
  line-height: 1.5;
}

article:is(.node--type-report,
.node--type-express) :is(.field--name-field-reportartical-ref,
.field--name-field-weblog-ref) a {
  padding-right: 2em;
}

article:is(.node--type-report,
.node--type-express) :is(.field--name-field-reportartical-ref,
.field--name-field-weblog-ref) a:after {
  content: "";
  display: block;
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  background: url("../images/icon--arrow-right-green.svg") no-repeat center/contain;
  vertical-align: middle;
  margin-left: 4px;
  transition: transform 0.3s;
}

article:is(.node--type-report,
.node--type-express) :is(.field--name-field-reportartical-ref,
.field--name-field-weblog-ref) a:hover:after {
  transform: translateX(4px) translateY(-50%);
}

article:is(.node--type-report,
.node--type-express) .article-footer {
  grid-row: 2/3;
  grid-column: 1/-1;
}

/* ==========================================================================
   【CRM】civicrm 相關
   ========================================================================== */
/* --- [Page] 訂閱電子報 ------------------------------------------------- */
body:is(.page--civicrm-profile-create, .page--civicrm-profile-edit) .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  body:is(.page--civicrm-profile-create, .page--civicrm-profile-edit) .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
body:is(.page--civicrm-profile-create, .page--civicrm-profile-edit) #printer-friendly {
  display: none;
}

body:is(.page--civicrm-profile-create, .page--civicrm-profile-edit) main.main-content {
  margin-inline: auto;
  max-width: 800px;
}

body.page--civicrm-profile-edit .crm-container form input[type=text], body.page--civicrm-profile-edit .crm-container form select.form-select {
  border: 0;
  border-bottom: 2px solid #9E9E9E;
  color: #424242;
  line-height: 1.5;
  width: 16rem;
}

body.page--civicrm-profile-edit .crm-container form .crm-form-select {
  position: relative;
}

body.page--civicrm-profile-edit .crm-container form .crm-form-select:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  margin: 18px 5px 0 0;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #555;
  pointer-events: none;
}

body.page--civicrm-profile-edit .crm-container form select.form-select {
  padding-right: 24px;
  background-image: none;
}

/* --- [Page] 活動資訊頁 ------------------------------------------------- */
body.page--civicrm-event-info .layout-main-wrapper {
  padding-bottom: 30px;
}

@media (min-width: 1200px) {
  body.page--civicrm-event-info .layout-main-wrapper {
    padding-bottom: 60px;
  }
}
body.page--civicrm-event-info .layout-main-wrapper:has(.event-footer) {
  padding-bottom: 0;
}

body.page--civicrm-event-info .layout-main-wrapper:has(.event-footer) + .site-footer:before {
  background: url(../images/deco-foter-top.svg) no-repeat center bottom -2px/100%, #FEFDF7;
}

@media (max-width: 575px) {
  body.page--civicrm-event-info .layout-main-wrapper:has(.event-footer) + .site-footer:before {
    background: url(../images/deco-foter-top-mobile.svg) no-repeat center bottom -2px/100%, #FEFDF7;
  }
}
body.page--civicrm-event-info #printer-friendly {
  display: none;
}

body.page--civicrm-event-info .messages-wrap {
  background-color: var(--color-body-bg2);
}

body.page--civicrm-event-info .messages {
  margin-inline: auto;
  max-width: 880px;
  margin-bottom: 0;
}

#printer-friendly:has(+ .crm-event-wrapper) {
  display: none;
}

.crm-event-wrapper, .event-chapter-events {
  margin-inline: auto;
  max-width: 800px;
}

.crm-event-wrapper .unit-banner img {
  aspect-ratio: 2/1;
}

.crm-event-wrapper :where(.event-body) p:has(img) {
  text-align: center;
}

.crm-event-wrapper :where(.event-body) img {
  margin-block: 10px;
}

.crm-event-wrapper :where(.event-body) img:only-child {
  margin-inline: 0;
}

.crm-event-wrapper .event-content {
  padding-block: 40px;
}

.crm-event-wrapper .event-footer {
  position: relative;
  width: 100dvw;
  position: relative;
  left: initial;
  right: initial;
  margin-inline: calc(50% - 50dvw);
  background-color: #FEFDF7;
  padding-block: 60px 60px;
  margin-top: 3.33dvw;
}

.crm-event-wrapper .event-footer:before {
  top: -3.33dvw;
  height: 3.33dvw;
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  z-index: -1;
  background: url(../images/deco-tabs-section-top.svg) no-repeat center top/100%;
}

@media (max-width: 767px) {
  .crm-event-wrapper .event-footer {
    padding-inline: 20px;
  }
}
.crm-event-wrapper .netivism-share-list i:is(.fa-facebook, .fa-line) {
  color: #000;
}

/* 活動標題 */
.crm-event-wrapper .event-title {
  margin-block: 0 40px;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-white-800);
}

@media (min-width: 768px) {
  .crm-event-wrapper .event-title {
    font-size: 40px;
  }
}
/* --- 資訊列 ------------------------------------------------------------
   上緣一條綠線，左側為活動資訊 + 標籤，右側為報名鈕 + 分享。
   ---------------------------------------------------------------------- */
.crm-event-wrapper .event-brief {
  margin-block-end: 40px;
}

.crm-event-wrapper .event-meta {
  display: grid;
  gap: 24px;
}

@media (min-width: 768px) {
  .crm-event-wrapper .event-meta {
    grid-template-columns: 1fr min-content;
  }
}
.crm-event-wrapper .event-meta-main {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  border-block-start: 1px solid var(--color-green-300);
  padding-block-start: 24px;
}

.crm-event-wrapper .event-meta-aside {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

@media (min-width: 768px) {
  .crm-event-wrapper .event-meta-aside {
    flex: 0 0 auto;
    align-items: flex-end;
  }
}
/* 活動時間／地點／類型 */
.crm-event-wrapper .event-facts {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.crm-event-wrapper .event-fact {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-white-900);
}

.crm-event-wrapper .event-fact .event-fact-label {
  font-weight: 500;
}

.crm-event-wrapper .event-fact abbr {
  text-decoration: none;
  border: 0;
}

/* 標籤 chips */
.crm-event-wrapper .event-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.crm-event-wrapper .event-tag {
  margin: 0;
  padding: 2px 4px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
  border: 1px solid var(--color-white-600);
  color: var(--color-white-600);
}

.crm-event-wrapper .event-tag.event-tag--primary {
  border-color: var(--color-green-600);
  background-color: var(--color-green-600);
  color: #fff;
}

/* 報名鈕與剩餘名額 */
.crm-event-wrapper .event-cta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: stretch;
}

@media (min-width: 768px) {
  .crm-event-wrapper .event-cta {
    align-items: center;
  }
}
/* 報名鈕
   civicrm.css 有一條 `.crm-container a.button.crm-register-button`（0,3,1），
   權重高過單純的 `.crm-event-wrapper .event-register-button`（0,2,0），
   會把底色蓋成靛藍、圓角歸零。這裡照它的結構把權重拉到 (0,4,1) 搶回來，
   不用 !important 以免之後更難覆寫。 */
.crm-container a.button.crm-register-button.event-register-button,
.crm-container a.button.event-register-button.event-gate-button,
.crm-event-wrapper .event-register-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  width: 120px;
  margin: 0;
  border: 0;
  border-radius: 9999px;
  background-color: var(--color-green-400);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.crm-container a.button.crm-register-button.event-register-button:hover, .crm-container a.button.crm-register-button.event-register-button:focus,
.crm-container a.button.event-register-button.event-gate-button:hover,
.crm-container a.button.event-register-button.event-gate-button:focus,
.crm-event-wrapper .event-register-button:hover,
.crm-event-wrapper .event-register-button:focus {
  background-color: var(--color-green-800);
  color: #fff;
  text-decoration: none;
}

.crm-container a.button.crm-register-button.event-register-button span,
.crm-container a.button.event-register-button.event-gate-button span,
.crm-event-wrapper .event-register-button span {
  display: inline;
}

/* 報名鈕：尚未開放 / 已截止的 disabled 狀態
   是 <span> 不是 <a>（無連結），外觀與可點的報名鈕一致但灰底、不可點。
   選擇器同樣拉到高權重，蓋過 civicrm.css 的 .crm-container ....button 規則。 */
.crm-container .crm-event-wrapper .event-register-button.is-disabled,
.crm-event-wrapper .event-register-button.is-disabled {
  background-color: var(--color-white-300);
  color: #fff;
  cursor: not-allowed;
  pointer-events: none;
}

.crm-container .crm-event-wrapper .event-register-button.is-disabled:hover, .crm-container .crm-event-wrapper .event-register-button.is-disabled:focus,
.crm-event-wrapper .event-register-button.is-disabled:hover,
.crm-event-wrapper .event-register-button.is-disabled:focus {
  background-color: var(--color-white-300);
}

/* 會員專屬活動、未登入時的兩顆導引鈕（加入會員 / 先登入）
   共用報名鈕的綠色膠囊外觀，但文字較長，需放開固定寬度讓 pill 依內容撐開。
   兩顆直排、手機等寬撐滿、桌機依內容置中，跟原本 .event-cta 的直排節奏一致。 */
.crm-event-wrapper .event-cta--member-gate,
.crm-event-wrapper .event-cta--member-invalid {
  width: 100%;
}

@media (min-width: 768px) {
  .crm-event-wrapper .event-cta--member-gate,
  .crm-event-wrapper .event-cta--member-invalid {
    width: auto;
  }
}
/* 覆寫報名鈕的固定寬度：兩顆導引鈕文字較長，需撐滿（手機）或依內容撐開（桌機）。
   選擇器權重（0,4,1）對齊上方 pill 基底規則，才蓋得過去。 */
.crm-container a.button.event-register-button.event-gate-button,
.crm-event-wrapper .event-gate-button {
  width: 100%;
  white-space: nowrap;
  text-align: center;
}

@media (min-width: 768px) {
  .crm-container a.button.event-register-button.event-gate-button,
  .crm-event-wrapper .event-gate-button {
    width: auto;
    min-width: 120px;
  }
}
/* 「已是會員，請先登入」用外框次要樣式，與主要的「加入會員」綠底鈕做出主次區別。
   同樣拉到（0,4,1）蓋過 pill 基底的綠底。 */
.crm-container a.button.event-register-button.event-gate-button--login,
.crm-event-wrapper .event-gate-button--login {
  background-color: transparent;
  color: var(--color-green-400);
  border: 1px solid var(--color-green-400);
}

.crm-container a.button.event-register-button.event-gate-button--login:hover, .crm-container a.button.event-register-button.event-gate-button--login:focus,
.crm-event-wrapper .event-gate-button--login:hover,
.crm-event-wrapper .event-gate-button--login:focus {
  background-color: var(--color-green-400);
  color: #fff;
}

.crm-event-wrapper .event-seats,
.crm-event-wrapper .event-closed {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-white-600);
  text-align: center;
}

/* 分享 icons
   內容是 netivism_share_block（跟 node--general-article 用的是同一個 block），
   圖示與間距已由 _override.scss 的 `.netivism-share-container` 統一設定，
   這裡只負責在資訊列裡的對齊，不重覆定義圖示樣式。 */
.crm-event-wrapper .event-share ul.netivism-share-list {
  margin-bottom: 0;
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .crm-event-wrapper .event-share ul.netivism-share-list {
    justify-content: flex-end;
  }
}
/* --- 活動公告（summary） ---------------------------------------------- */
.crm-event-wrapper .event-notice {
  margin-block-start: 24px;
  padding: 20px;
  border-radius: 8px;
  background-color: var(--color-body-bg2);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--color-green-700);
}

/* --- 活動說明內文 ------------------------------------------------------
   內容由編輯器產出，標題／清單／表格的樣式沿用全站文章排版。
   ---------------------------------------------------------------------- */
.crm-event-wrapper .event-body {
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-white-700);
}

.crm-event-wrapper .event-body > :first-child {
  margin-block-start: 0;
}

.crm-event-wrapper .event-body > :last-child {
  margin-block-end: 0;
}

.crm-event-wrapper .event-body p {
  margin-block: 0 16px;
}

/* --- 費用表 ------------------------------------------------------------ */
.crm-event-wrapper .event-fees {
  margin-block-start: 40px;
}

.crm-event-wrapper .event-fees-title,
.crm-event-wrapper .event-contact-title {
  margin-block: 0 16px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-white-800);
}

.crm-event-wrapper .event-fees-table {
  width: 100%;
  border-collapse: collapse;
}

.crm-event-wrapper .event-fees-table td {
  padding: 12px 0;
  border-block-end: 1px solid var(--color-white-300);
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-white-700);
}

.crm-event-wrapper .event-fees-table .event-fees-amount {
  text-align: end;
  font-weight: 600;
  white-space: nowrap;
}

/* --- 地圖／聯絡資訊 ---------------------------------------------------- */
.crm-event-wrapper .event-map,
.crm-event-wrapper .event-contact {
  margin-block-start: 40px;
}

.crm-event-wrapper .event-contact-body {
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-white-700);
}

/* 頁尾報名鈕：獨立一列置中 */
.crm-event-wrapper .event-cta--bottom {
  margin-block-start: 40px;
  align-items: center;
}

/* --- 所屬分會相關活動（頁尾 views block） ---------------------------------
   對應樣板：views-view-fields--crm-event.html.twig（crm_event view 層級共用）
   資料由 sow_cust_civicrm_pageRun() render 後指派給 EventInfo.tpl。

   設計稿：置中標題 +  精簡列表，列與列之間 1px 分隔線。
   ------------------------------------------------------------------------ */
/* 單列內容 - 通用 */
.crm-event-row {
  padding-block: 16px;
  border-bottom: 1px solid var(--color-white-200);
}

.crm-event-row:first-child {
  padding-top: 0;
}

.crm-event-row .entity-row-inner {
  display: flex;
  align-items: center;
  gap: 24px;
}

.crm-event-row .chapter-event-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.crm-event-row .chapter-event-title {
  margin: 0;
  color: var(--color-white-800);
}

.crm-event-row .chapter-event-title {
  font-size: 18px;
}

.crm-event-row .chapter-event-title {
  font-weight: 600;
}

.crm-event-row .chapter-event-title {
  line-height: 1.6;
}

.crm-event-row .chapter-event-title a {
  color: inherit;
  text-decoration: none;
}

.crm-event-row .chapter-event-title a:hover {
  color: var(--color-green-600);
}

.crm-event-row .chapter-event-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.crm-event-row .chapter-event-type {
  display: inline-flex;
  align-items: center;
  padding: 4px;
  border: 1px solid var(--color-white-700);
  border-radius: 4px;
  color: var(--color-white-800);
}

.crm-event-row .chapter-event-type {
  font-size: 12px;
}

.crm-event-row .chapter-event-type {
  font-weight: 600;
}

.crm-event-row .chapter-event-type {
  line-height: 1.5;
}

.crm-event-row .chapter-event-date {
  color: var(--color-white-700);
}

.crm-event-row .chapter-event-date {
  font-size: 14px;
}

.crm-event-row .chapter-event-date {
  font-weight: 600;
}

.crm-event-row .chapter-event-date {
  line-height: 1.5;
}

.crm-event-row .chapter-event-more {
  flex: 0 0 auto;
}

.crm-event-row .chapter-event-more a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: var(--color-green-600);
  transition: all 0.3s;
}

.crm-event-row .chapter-event-more a:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../images/icon--arrow-right-green.svg") no-repeat center;
  background-size: contain;
}

.crm-event-row .chapter-event-more a:hover {
  gap: 8px;
}

.crm-event-row .chapter-event-more a {
  font-size: 0;
  white-space: nowrap;
}

.crm-event-row .chapter-event-more a:after {
  font-size: 24px;
}

@media (max-width: 767px) {
  .crm-event-row .entity-row-inner {
    flex-wrap: wrap;
    gap: 12px;
  }
  .crm-event-row .chapter-event-more {
    margin-left: auto;
  }
}
.event-chapter-events {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.event-chapter-events .event-chapter-events-title {
  margin: 0;
  text-align: center;
  color: var(--color-white-800);
}

.event-chapter-events .event-chapter-events-title {
  font-size: 32px;
}

.event-chapter-events .event-chapter-events-title {
  font-weight: 600;
}

.event-chapter-events .event-chapter-events-title {
  line-height: 1.3;
}

.event-chapter-events .event-chapter-events-title {
  letter-spacing: 0.32px;
}

/* --- [Page] 活動報名表單 ------------------------------------------------- */
.page--civicrm-event-register main.main-content {
  padding-block: 40px;
  margin-inline: auto;
  max-width: 870px;
}

.page--civicrm-event-register #printer-friendly {
  display: none;
}

.page--civicrm-event-register .crm-container fieldset {
  padding-block: 20px;
}

.page--civicrm-event-register .event_info_link-section {
  text-align: center;
}

.page--civicrm-event-register .iCal_links-section {
  margin-top: 10px;
  display: flex;
  gap: 10px 20px;
  justify-content: center;
}

/* --- [Page] 特殊募款頁 ------------------------------------------------- */
.page--civicrm-contribute-transact:not(.civicrm-contribute-sp) .block-page-title-block {
  margin-top: 3em;
}

.page--civicrm-contribute-transact:not(.civicrm-contribute-sp) main.main-content {
  padding-block: 40px;
  margin-inline: auto;
  max-width: 870px;
}

.page--civicrm-contribute-transact:not(.civicrm-contribute-sp) .crm-custom-data-view {
  display: none !important;
}

.page--civicrm-contribute-transact .intro_text-section a, .page--civicrm-contribute-transact .contribution_footer_text-section a {
  color: var(--color-green-600);
  text-decoration: underline;
}

.page--civicrm-contribute-transact #printer-friendly {
  display: none;
}

.page--civicrm-contribute-transact .contrib-type-btn div.selected {
  background-color: var(--color-green-500);
}

.page--civicrm-contribute-transact .custom-block > label {
  color: var(--color-green-800);
}

.page--civicrm-contribute-transact .price-set-btn div.active, .page--civicrm-contribute-transact .price-set-btn div:hover, .page--civicrm-contribute-transact .price-set-btn div.active span.description, .page--civicrm-contribute-transact .price-set-btn div:hover span.description {
  color: var(--color-green-600);
}

.page--civicrm-contribute-transact .contrib-step .crm-section > .label {
  color: var(--color-green-800);
}

.page--civicrm-contribute-transact .contrib-step a.button {
  justify-content: center;
  align-items: center;
  padding: 0;
}

.page--civicrm-contribute-transact .contrib-step-1 .next-step {
  display: flex;
  justify-content: flex-end;
}

.page--civicrm-contribute-transact .contrib-step-2 .price-selected-info {
  border-color: var(--color-green-800);
}

.page--civicrm-contribute-transact .contrib-step-2 .info-is-recur {
  background-color: var(--color-green-800);
}

/* --- [Override] 覆寫 civicrm.css (共通)------------------------------------------------- */
.path-civicrm .crm-container div.messages, .path-civicrm .crm-container div.status {
  background-color: var(--color-green-300);
}

.path-civicrm .crm-container .msg-event-full .seat-msg {
  color: var(--color-primary-dark);
}

.path-civicrm .crm-button-type-upload button, .path-civicrm .crm-button-type-upload input[type=button], .path-civicrm .crm-button-type-upload .button, .path-civicrm .crm-button-type-upload a.button:link, .path-civicrm .crm-button-type-upload a.button:visited, .path-civicrm .crm-button-type-upload .form-submit, .path-civicrm .crm-button-type-next .form-submit, .path-civicrm .crm-button-type-done .form-submit, .path-civicrm .crm-container .form-submit[name*=_upload_], .path-civicrm .crm-container #register-me, .path-civicrm .crm-container a.button.crm-register-button {
  background-color: var(--color-green-500);
}

.path-civicrm .crm-button-type-upload button:hover, .path-civicrm .crm-button-type-upload button:focus, .path-civicrm .crm-button-type-upload input[type=button]:hover, .path-civicrm .crm-button-type-upload input[type=button]:focus, .path-civicrm .crm-button-type-upload .button:hover, .path-civicrm .crm-button-type-upload .button:focus, .path-civicrm .crm-button-type-upload .form-submit:hover, .path-civicrm .crm-button-type-upload .form-submit:focus, .path-civicrm .crm-button-type-next .form-submit:hover, .path-civicrm .crm-button-type-next .form-submit:focus, .path-civicrm .crm-button-type-done .form-submit:hover, .path-civicrm .crm-button-type-done .form-submit:focus, .path-civicrm .crm-container #register-me:hover, .path-civicrm .crm-container #register-me:focus, .path-civicrm .crm-container a.button.crm-register-button:hover, .path-civicrm .crm-container a.button.crm-register-button:focus {
  color: #fff;
  background-color: var(--color-green-800);
}

/* --- [Page] 付款頁 ------------------------------------------------- */
.page--civicrm-contribute-payment form:has(> .crm-block.crm-payment-main-form-block) > #crm-submit-buttons {
  display: flex;
  justify-content: center;
}

/* ==========================================================================
   【Pages】主要頁面
   ========================================================================== */
/* --- [Page] 首頁 ------------------------------------------------- */
@media (min-width: 1200px) {
  .path-frontpage footer.site-footer:before {
    background-color: #fefdf7;
  }
}
.path-frontpage:not(.urol--admin) nav.tabs {
  display: none;
}

.section-front-carousel {
  background-color: var(--color-body-bg2);
}

.section-front-carousel .view-content {
  max-width: 1200px;
  margin: 0 auto;
}

.section-front-carousel ul.slick-dots {
  position: relative;
  bottom: initial;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  gap: 12px;
  padding: 25px;
  margin: 0;
  list-style: none;
  z-index: 1;
}

.section-front-carousel .slick-dots li button:before {
  opacity: 0.5;
  content: "";
  top: 6px;
  left: 6px;
  width: 8px;
  height: 8px;
  border-radius: 16px;
  background-color: #6AA037;
  display: block;
}

.section-front-carousel .slick-dots li.slick-active {
  width: 36px;
}

.section-front-carousel .slick-dots li.slick-active button:before {
  width: 36px;
  opacity: 1;
  background-color: var(--color-green-600);
}

.section-front-carousel .slick-list {
  overflow: hidden;
}

.section-front-carousel .entity-cover img {
  border-radius: 20px;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-front-carousel .entity-cover.mobile {
  padding-inline: 20px;
}

.section-front-carousel .entity-cover.desktop {
  display: none;
}

@media (min-width: 768px) {
  .section-front-carousel .entity-cover.mobile {
    display: none;
  }
  .section-front-carousel .entity-cover.desktop {
    display: block;
  }
}
@media (min-width: 1200px) {
  .section-front-carousel {
    padding-inline: 0;
    padding-top: 45px;
  }
  .section-front-carousel .entity-cover {
    border-radius: 20px;
  }
}
.section-front-carousel + .section-decoration {
  background: url("../images/deco-front-1.svg") no-repeat top center/100%;
}

@media (min-width: 768px) {
  .section-front-carousel + .section-decoration {
    height: min(19.37vw, 279px);
  }
}
@media (max-width: 767px) {
  .section-front-carousel + .section-decoration {
    background: url("../images/deco-front-1-mobile.svg") no-repeat top center/100%;
    height: 60px;
  }
}
.section-front-intro {
  position: relative;
  padding: 23px 0 60px;
  background-color: #fff;
  overflow: hidden;
}

@media (min-width: 768px) {
  .section-front-intro {
    padding: 67px 0 120px;
  }
}
.section-front-intro > .layout__region {
  position: relative;
  z-index: 1;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 40px;
}

.section-front-intro .block-content {
  display: grid;
  align-content: center;
  align-items: start;
}

.section-front-intro .block-content .grp1 {
  text-align: center;
}

@media (max-width: 767px) {
  .section-front-intro .block-content {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }
}
@media (min-width: 768px) {
  .section-front-intro .block-content {
    column-gap: 40px;
    grid-template-columns: minmax(200px, 2fr) 3fr;
    grid-template-rows: auto auto 1fr;
  }
  .section-front-intro .block-content .grp1 {
    align-self: center;
    text-align: center;
  }
}
.section-front-intro .field--name-field-subtitle {
  align-self: end;
  color: var(--color-white-800);
  position: relative;
  padding-bottom: 66px;
}

.section-front-intro .field--name-field-subtitle {
  font-size: 16px;
}

.section-front-intro .field--name-field-subtitle {
  font-weight: 700;
}

.section-front-intro .field--name-field-subtitle {
  line-height: 1.5;
}

.section-front-intro .field--name-field-subtitle:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 1px;
  height: 60px;
  background-color: #597333;
}

.section-front-intro .field--name-field-blk-title {
  font-size: 32px;
}

.section-front-intro .field--name-field-blk-title {
  font-weight: 600;
}

.section-front-intro .field--name-field-blk-title {
  line-height: 1.3;
}

.section-front-intro .field--name-field-blk-title {
  letter-spacing: 0.32px;
}

.section-front-intro .field--name-field-blk-title {
  color: var(--color-white-700);
  margin-top: 4px;
}

@media (min-width: 768px) {
  .section-front-intro .field--name-field-blk-title {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: 0.4px;
  }
}
.section-front-intro .field--name-body {
  text-align: center;
}

.section-front-intro .field--name-body {
  font-size: 16px;
}

.section-front-intro .field--name-body {
  font-weight: 500;
}

.section-front-intro .field--name-body {
  line-height: 1.6;
}

.section-front-intro .field--name-body {
  color: var(--color-white-800);
  margin-top: 16px;
}

.section-front-intro .field--name-body p {
  margin: 0;
}

.section-front-intro .field--name-field-cards {
  grid-area: cards;
  align-self: center;
}

.section-front-intro .cards-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 40px;
}

@media (max-width: 767px) {
  .section-front-intro .cards-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
.section-front-intro .info-card .card-inner {
  display: grid;
  grid-template-columns: auto 20px;
  grid-auto-flow: row dense;
  gap: 12px;
}

.section-front-intro .info-card .card-cover {
  width: 100%;
  aspect-ratio: 320/213;
  border-radius: 12px;
  overflow: hidden;
  background-color: #fff;
  grid-column: 1/-1;
}

.section-front-intro .info-card .card-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.section-front-intro .info-card .card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: #27272A;
  grid-column: 1;
}

.section-front-intro .info-card .card-title:before {
  content: "";
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 50%;
}

.section-front-intro .info-card .card-info {
  font-size: 16px;
  line-height: 1.5;
  color: #27272A;
  grid-column: 1/-1;
}

.section-front-intro .info-card .card-info p {
  margin: 0;
}

.section-front-intro .info-card .card-link {
  margin-top: 4px;
  grid-column: 2;
}

.section-front-intro .info-card .card-link a.icon-link {
  font-size: 0;
  position: absolute;
}

.section-front-intro .info-card .card-link a.icon-link:before {
  width: 20px;
  height: 20px;
  display: block;
  background: url("../images/icon--arrow-right-lightgreen.svg") no-repeat center/contain;
}

.section-front-intro .info-card:first-child .card-title:before {
  background: url("../images/Icon--card-deco-1.svg") no-repeat center/contain;
}

.section-front-intro .info-card:nth-child(2) .card-title:before {
  background: url("../images/Icon--card-deco-2.svg") no-repeat center/contain;
}

.section-front-intro .info-card:nth-child(3) .card-title:before {
  background: url("../images/Icon--card-deco-3.svg") no-repeat center/contain;
}

.section-front-intro .info-card:nth-child(4) .card-title:before {
  background: url("../images/Icon--card-deco-4.svg") no-repeat center/contain;
}

.section-front-intro .card-cover {
  position: relative;
}

.section-front-intro .card-cover:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(143, 172, 75, 0) 0%, #8fac4b 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.section-front-intro .card-cover:after {
  content: "";
  position: absolute;
  z-index: 2;
  background: no-repeat center/contain;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.section-front-intro .info-card:hover .card-title {
  color: #597333;
}

.section-front-intro .info-card:hover .card-cover:before {
  opacity: 1;
}

.section-front-intro .info-card:hover .card-cover:after {
  opacity: 1;
  transform: translateY(0);
  background-image: url("../images/deco-card-hover0.svg");
  right: 4%;
  bottom: 15%;
  width: 20%;
  aspect-ratio: 60/75;
}

@media (min-width: 768px) {
  .section-front-intro + .section-decoration {
    background: url("../images/deco-front-2.svg") no-repeat bottom center/100%;
    height: min(5.3vw, 77px);
  }
}
@media (max-width: 767px) {
  .section-front-intro + .section-decoration {
    background: url("../images/deco-front-2-mobile.svg") no-repeat bottom center/100%;
    height: 61px;
  }
}
.section-front-results {
  padding: 24px 40px;
  background-color: #8fac4b;
}

.section-front-results > .layout__region {
  max-width: 1360px;
  margin: 0 auto;
}

.section-front-results .block-content-stat {
  padding: 60px 40px;
}

.section-front-results .block-content.content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.section-front-results .field--name-field-blk-title h2.block-title {
  margin: 0;
  text-align: center;
  color: #fff;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 0.4px;
}

@media (max-width: 767px) {
  .section-front-results .field--name-field-blk-title h2.block-title {
    font-size: 30px;
  }
}
.section-front-results .field--name-body {
  text-align: center;
}

.section-front-results .field--name-body {
  font-size: 16px;
}

.section-front-results .field--name-body {
  font-weight: 500;
}

.section-front-results .field--name-body {
  line-height: 1.6;
}

.section-front-results .field--name-body p {
  margin: 0;
}

.section-front-results .stat-cards {
  width: 100%;
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
}

@media (min-width: 768px) {
  .section-front-results .stat-cards {
    column-gap: 16px;
    row-gap: 28px;
  }
}
@media (min-width: 1440px) {
  .section-front-results .stat-cards {
    justify-content: space-between;
  }
}
@media (max-width: 767px) {
  .section-front-results .stat-cards {
    column-gap: 18px;
    row-gap: 20px;
  }
}
.section-front-results .stat-card .card-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.section-front-results .stat-card .card-icon {
  order: 1;
  width: 100%;
  max-width: 250px;
  height: 85px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}

.section-front-results .stat-card .card-icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.section-front-results .stat-card .card-info {
  order: 2;
  color: #fff;
}

.section-front-results .stat-card .card-info {
  font-size: 48px;
}

.section-front-results .stat-card .card-info {
  font-weight: 600;
}

.section-front-results .stat-card .card-info {
  line-height: 1.5;
}

.section-front-results .stat-card .card-info {
  text-align: center;
}

.section-front-results .stat-card .card-title {
  order: 3;
  color: #fff;
}

.section-front-results .stat-card .card-title {
  font-size: 24px;
}

.section-front-results .stat-card .card-title {
  font-weight: 600;
}

.section-front-results .stat-card .card-title {
  line-height: 1.4;
}

.section-front-results .stat-card .card-title {
  letter-spacing: 0.24px;
}

.section-front-results .stat-card .card-title {
  text-align: center;
}

@media (min-width: 768px) {
  .section-front-results .stat-card {
    flex: 0 1 calc((100% - 64px) / 5);
    max-width: 250px;
    width: auto;
  }
}
@media (max-width: 767px) {
  .section-front-results .stat-card {
    width: calc((100% - 18px) / 2);
  }
  .section-front-results .stat-card:nth-child(5) {
    width: 100%;
  }
  .section-front-results .stat-card .card-info {
    font-size: 36px;
  }
  .section-front-results .stat-card .card-title {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .section-front-results {
    padding: 16px 0;
  }
  .section-front-results .block-content-stat {
    padding: 40px 20px;
    border-radius: 20px;
  }
}
@media (min-width: 768px) {
  .section-front-results + .section-decoration {
    background: url("../images/deco-front-3.svg") no-repeat top center/100%, #F7F6EE;
    height: min(10.4vw, 150px);
  }
}
@media (max-width: 767px) {
  .section-front-results + .section-decoration {
    background: url("../images/deco-front-3-mobile.svg") no-repeat top center/100%, #F7F6EE;
    height: 60px;
  }
}
.section-front-donation {
  padding: 60px 0;
  background-color: #F7F6EE;
}

.section-front-donation > .layout__region {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 40px;
}

@media (max-width: 767px) {
  .section-front-donation > .layout__region {
    padding: 0 20px;
  }
}
.section-front-donation .block-content.content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}

@media (max-width: 767px) {
  .section-front-donation .block-content.content {
    align-items: stretch;
    gap: 40px;
  }
}
.section-front-donation .field--name-field-blk-title {
  position: relative;
  width: 100%;
}

.section-front-donation .field--name-field-blk-title h2.block-title {
  margin: 0;
  text-align: center;
  font-weight: 600;
  font-size: 36px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: #597333;
}

@media (max-width: 767px) {
  .section-front-donation .field--name-field-blk-title h2.block-title {
    font-size: 30px;
    text-align: left;
    min-height: 48px;
    display: flex;
    align-items: center;
  }
}
@media (max-width: 767px) {
  .section-front-donation .slide-cards-btn {
    top: -88px;
    bottom: auto;
    right: 0;
    left: auto;
  }
  .section-front-donation .slide-cards-btn--prev {
    right: 64px;
    left: auto;
  }
}
.section-front-donation .slide-cards .info-card {
  position: relative;
  background-color: transparent;
  color: #27272A;
}

.section-front-donation .slide-cards .info-card .card-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto auto;
  grid-template-areas: "cover cover" "title link" "info  info";
  column-gap: 8px;
  row-gap: 4px;
}

.section-front-donation .slide-cards .info-card .card-inner > .card-link {
  grid-area: link;
}

.section-front-donation .slide-cards .info-card .card-inner > .card-info {
  grid-area: info;
}

.section-front-donation .slide-cards .info-card .card-cover {
  grid-area: cover;
  position: relative;
  width: 100%;
  aspect-ratio: 440/247;
  border-radius: 20px;
  overflow: hidden;
  background-color: #fff;
  margin-bottom: 12px;
}

.section-front-donation .slide-cards .info-card .card-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.section-front-donation .slide-cards .info-card .card-cover:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(143, 172, 75, 0) 0%, #8fac4b 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.section-front-donation .slide-cards .info-card .card-cover:after {
  content: "";
  position: absolute;
  z-index: 2;
  background: no-repeat center/contain;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.section-front-donation .slide-cards .info-card:hover .card-cover:before {
  opacity: 1;
}

.section-front-donation .slide-cards .info-card:hover .card-cover:after {
  opacity: 1;
  transform: translateY(0);
  background-image: url("../images/deco-card-hover1.svg");
  right: 4%;
  bottom: 4%;
  width: 20%;
  aspect-ratio: 127/103;
}

.section-front-donation .slide-cards .info-card:hover .card-title {
  color: #597333;
}

.section-front-donation .slide-cards .info-card .card-title {
  grid-area: title;
  display: block;
  align-self: center;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: #27272A;
  padding: 0;
  transition: color 0.3s ease;
}

.section-front-donation .slide-cards .info-card .card-title:before {
  content: none;
}

.section-front-donation .slide-cards .info-card .card-info {
  grid-area: info;
  font-size: 16px;
  line-height: 1.5;
  color: #27272A;
}

.section-front-donation .slide-cards .info-card .card-info p {
  margin: 0;
}

.section-front-donation .slide-cards .info-card .card-link {
  grid-area: link;
  align-self: center;
}

.section-front-donation .slide-cards .info-card .card-link a.icon-link {
  font-size: 0;
  display: inline-block;
}

.section-front-donation .slide-cards .info-card .card-link a.icon-link:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-image: url("../images/icon--arrow-right-lightgreen.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: none;
}

@media (min-width: 768px) {
  .section-front-donation + .section-decoration {
    background: url("../images/deco-front-4.svg") no-repeat top center/100%, #F7F6EE;
    height: min(3.125vw, 45px);
  }
}
@media (max-width: 767px) {
  .section-front-donation + .section-decoration {
    background: url("../images/deco-front-4-mobile.svg") no-repeat top center/100%, #F7F6EE;
    height: 24px;
  }
}
.section-front-news .block-inner {
  margin-inline: auto;
  max-width: 1000px;
}

@media (min-width: 768px) {
  .section-front-news {
    padding: 80px 40px;
  }
}
.section-front-news .block-tabs .block-tabs__tab {
  border-radius: 12px;
}

@media (max-width: 767px) {
  .section-front-news {
    padding: 40px 20px;
  }
  .section-front-news .block-tabs__tablist {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    margin-inline: -20px;
    padding-inline: 20px;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .section-front-news .block-tabs__tablist::-webkit-scrollbar {
    display: none;
  }
  .section-front-news .block-tabs__tab {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .section-front-news .news-row .entity-date {
    font-size: 14px;
  }
  .section-front-news .news-row .entity-date {
    font-weight: 600;
  }
  .section-front-news .news-row .entity-date {
    line-height: 1.6;
  }
  .section-front-news .news-row .entity-title {
    font-size: 18px;
  }
  .section-front-news .news-row .entity-title {
    font-weight: 600;
  }
  .section-front-news .news-row .entity-title {
    line-height: 1.6;
  }
}
@media (min-width: 768px) {
  .section-front-news + .section-decoration {
    background: url("../images/deco-front-5.svg") no-repeat top center/100%, #fff;
    height: min(6.597vw, 95px);
  }
}
@media (max-width: 767px) {
  .section-front-news + .section-decoration {
    background: url("../images/deco-front-5-mobile.svg") no-repeat top center/100%, #fff;
    height: 60px;
  }
}
.section-front-join {
  background-color: #fefdf7;
  padding: 60px 0 100px;
}

@media (max-width: 767px) {
  .section-front-join {
    padding: 40px 0 60px;
  }
}
@media (min-width: 1200px) {
  .section-front-join .block-content {
    margin-inline: auto;
    max-width: 1100px;
  }
}
.section-front-join > .layout__region {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 40px;
}

@media (max-width: 767px) {
  .section-front-join > .layout__region {
    padding: 0 20px;
  }
}
.section-front-join .block-content.content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

@media (max-width: 767px) {
  .section-front-join .block-content.content {
    align-items: stretch;
    gap: 40px;
  }
}
.section-front-join .field--name-field-blk-title {
  text-align: center;
  font-weight: 600;
  font-size: 36px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: #597333;
}

@media (max-width: 767px) {
  .section-front-join .field--name-field-blk-title {
    font-size: 30px;
    text-align: left;
    min-height: 48px;
    display: flex;
    align-items: center;
  }
}
.section-front-join .cta-cards {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2px;
  border-radius: 8px;
  overflow: hidden;
}

.section-front-join .cta-cards > .slide-cards-inner {
  display: contents;
}

@media (max-width: 767px) {
  .section-front-join .cta-cards {
    display: block;
    border-radius: 0;
    overflow: visible;
  }
  .section-front-join .cta-cards > .slide-cards-inner {
    display: flex;
    gap: 2px;
  }
}
.section-front-join .cta-cards .info-card {
  position: relative;
  height: 499px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  color: #fff;
}

@media (max-width: 767px) {
  .section-front-join .cta-cards .info-card {
    height: 438px;
    border-radius: 8px;
  }
}
.section-front-join .cta-cards .info-card:before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1;
  pointer-events: none;
}

.section-front-join .cta-cards .info-card .card-cover {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: 0;
  background-color: transparent;
  aspect-ratio: auto;
  pointer-events: none;
}

.section-front-join .cta-cards .info-card .card-cover img {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.section-front-join .cta-cards .info-card .card-cover:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 68%;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(143, 172, 75, 0) 0%, #8fac4b 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.section-front-join .cta-cards .info-card .card-cover:after {
  content: "";
  position: absolute;
  top: 53%;
  right: -4%;
  width: 35%;
  aspect-ratio: 128/61;
  z-index: 2;
  background: url("../images/deco-join-leaf.svg") no-repeat center/contain;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.section-front-join .cta-cards .info-card:hover .card-cover:before {
  opacity: 1;
}

.section-front-join .cta-cards .info-card:hover .card-cover:after {
  opacity: 1;
  transform: translateY(0);
}

.section-front-join .cta-cards .info-card .card-inner {
  position: static;
  display: contents;
}

.section-front-join .cta-cards .info-card .card-title,
.section-front-join .cta-cards .info-card .card-info,
.section-front-join .cta-cards .info-card .card-link {
  position: relative;
  z-index: 2;
}

.section-front-join .cta-cards .info-card .card-info {
  margin-top: 4px;
}

.section-front-join .cta-cards .info-card .card-link {
  margin-top: 20px;
}

.section-front-join .cta-cards .info-card .card-title {
  font-weight: 600;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: #fff;
}

.section-front-join .cta-cards .info-card .card-title:before {
  content: none;
}

.section-front-join .cta-cards .info-card .card-info {
  font-size: 16px;
  line-height: 1.5;
  color: #fff;
}

.section-front-join .cta-cards .info-card .card-info p {
  margin: 0;
}

.section-front-join .cta-cards .info-card .card-link {
  margin-top: 0;
}

.section-front-join .cta-cards .info-card .card-link a.icon-link {
  font-size: 0;
}

.section-front-join .cta-cards .info-card .card-link a.icon-link:before {
  width: 24px;
  height: 24px;
  filter: brightness(0) invert(1);
}

@media (max-width: 767px) {
  .section-front-join .cta-cards .slide-cards-btn {
    top: -88px;
    bottom: auto;
    right: 0;
    left: auto;
  }
  .section-front-join .cta-cards .slide-cards-btn--prev {
    right: 64px;
    left: auto;
  }
}
@media (min-width: 768px) {
  .section-front-join + .section-decoration {
    background: url("../images/deco-front-6.svg") no-repeat bottom center/100%, #f7f6ee;
    height: min(5.486vw, 79px);
  }
}
@media (max-width: 767px) {
  .section-front-join + .section-decoration {
    background: url("../images/deco-front-6-mobile.svg") no-repeat bottom center/100%, #f7f6ee;
    height: 40px;
  }
}
.section-front-video {
  background-color: #f7f6ee;
  padding: 60px 20px;
}

.section-front-video .block-title {
  font-size: 40px;
}

.section-front-video .block-title {
  font-weight: 600;
}

.section-front-video .block-title {
  line-height: 1.2;
}

.section-front-video .block-title {
  letter-spacing: 0.4px;
}

.section-front-video .block-title {
  color: var(--color-green-600);
  margin-bottom: 24px;
}

@media (max-width: 767px) {
  .section-front-video .block-title {
    font-size: 30px;
    min-height: 48px;
    display: flex;
    align-items: center;
  }
}
.section-front-video .video-card .card-cover {
  border-radius: 20px;
  overflow: hidden;
}

.section-front-video .video-card .card-title {
  font-size: 18px;
}

.section-front-video .video-card .card-title {
  font-weight: 600;
}

.section-front-video .video-card .card-title {
  line-height: 24px;
}

.section-front-video .video-card .card-title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-top: 12px;
}

@media (max-width: 767px) {
  .section-front-video .slide-cards-btn {
    top: -72px;
    bottom: auto;
    right: 0;
    left: auto;
  }
  .section-front-video .slide-cards-btn--prev {
    right: 64px;
    left: auto;
  }
}
@media (min-width: 768px) {
  .section-front-video {
    padding: 60px 40px;
  }
}
@media (min-width: 1200px) {
  .section-front-video .block-content > .field--name-field-link {
    margin-top: 50px;
  }
}
@media (min-width: 768px) {
  .section-front-video + .section-decoration {
    background: url("../images/deco-front-7.svg") no-repeat bottom center/100%, #f7f6ee;
    height: min(13.889vw, 200px);
  }
}
@media (max-width: 767px) {
  .section-front-video + .section-decoration {
    background: url("../images/deco-front-7-mobile.svg") no-repeat bottom center/100%, #f7f6ee;
    height: 102px;
  }
}
.section-front-branch {
  background-color: #fefdf7;
  padding: 20px 40px 80px;
  position: relative;
}

.section-front-branch .block-inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.section-front-branch .block-title {
  color: #597333;
  font-size: 40px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.4px;
  text-align: center;
  margin: 0 0 16px;
  position: relative;
}

.section-front-branch .block-title:before {
  content: "";
  position: absolute;
  width: 156px;
  height: 156px;
  background-image: url("../images/icon--bird1.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  top: -73px;
  left: calc(40% - 250px);
  pointer-events: none;
}

.section-front-branch .view-header {
  text-align: center;
  margin-bottom: 40px;
  color: #27272A;
  font-size: 16px;
  line-height: 1.6;
}

.section-front-branch .view-header .field--name-body p {
  margin: 0;
}

.section-front-branch .entity-row {
  border-top: 1px solid rgba(7, 8, 12, 0.15);
}

.section-front-branch .entity-row:last-child {
  border-bottom: 1px solid rgba(7, 8, 12, 0.15);
}

.section-front-branch .entity-row-inner {
  padding: 20px 0;
}

.section-front-branch .entity-title {
  color: #27272A;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.2px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
  outline: none;
}

.section-front-branch .entity-title:focus-visible {
  outline: 2px solid #597333;
  outline-offset: 2px;
}

.section-front-branch .entity-title:after {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  width: 24px;
  height: 24px;
  display: block;
  text-align: center;
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(0);
  transition: transform 0.25s ease;
  filter: brightness(0);
  flex-shrink: 0;
}

.section-front-branch .entity-row.is-open .entity-title:after {
  transform: rotate(180deg);
}

.section-front-branch .entity-info {
  margin-top: 12px;
  font-size: 16px;
  line-height: 1.6;
  color: #27272A;
}

.section-front-branch .entity-info[hidden] {
  display: none;
}

.section-front-branch .entity-info > div {
  margin-bottom: 2px;
}

.section-front-branch .entity-info .field-address {
  text-decoration: underline;
}

.section-front-branch .entity-info .entity-link {
  margin-top: 12px;
}

.section-front-branch .entity-info .entity-link a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #597333;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  text-decoration: none;
}

.section-front-branch .entity-info .entity-link a:after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url("../images/icon--arrow-right-darkgreen.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

@media (min-width: 768px) {
  .section-front-branch .view-content {
    row-gap: 0;
    column-gap: 40px;
  }
  .section-front-branch .entity-row:nth-last-child(-n+2) {
    border-bottom: 1px solid rgba(7, 8, 12, 0.15);
  }
}
@media (min-width: 1200px) {
  .section-front-branch .entity-row:nth-last-child(-n+4) {
    border-bottom: 1px solid rgba(7, 8, 12, 0.15);
  }
}
@media (max-width: 767px) {
  .section-front-branch {
    padding: 20px 20px 60px;
  }
  .section-front-branch .block-title {
    font-size: 32px;
  }
  .section-front-branch .block-title:before {
    width: 100px;
    height: 100px;
    top: -50px;
    left: calc(50% - 140px);
  }
  .section-front-branch .entity-row {
    margin-bottom: 0;
  }
}
/* --- [Page] Page 404 ------------------------------------------------- */
body.page-unavailable .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  body.page-unavailable .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
body.page-unavailable main.main-content {
  margin-inline: auto;
  max-width: 600px;
  text-align: center;
}

body.page-unavailable main.main-content > section {
  display: flex;
  align-items: center;
  justify-content: center;
}

body.page-unavailable .block-system-main-block .content {
  font-size: var(--font-size-h3);
  font-weight: 500;
}

/* --- [Page] User ------------------------------------------------- */
body:is(.unit-user, .unit-users) .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  body:is(.unit-user, .unit-users) .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
body:is(.unit-user, .unit-users) .block-page-title-block {
  text-align: center;
  margin: 40px 20px 40px;
}

body:is(.unit-user, .unit-users) nav.tabs {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 24px;
}

body:is(.unit-user, .unit-users) nav.tabs ul:is(.nav-tabs, .nav-pills) {
  border: 0;
  gap: 20px;
}

body:is(.unit-user, .unit-users) nav.tabs ul:is(.nav-tabs, .nav-pills) a {
  border: 2px solid var(--color-green-400);
  color: var(--color-white-700);
  border-radius: 12px;
  padding: 12px;
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
}

body:is(.unit-user, .unit-users) nav.tabs ul:is(.nav-tabs, .nav-pills) a.active {
  background-color: var(--color-green-300);
  border-color: var(--color-green-300);
  color: var(--color-white-700);
}

body:is(.unit-user, .unit-users) nav.tabs ul:is(.nav-tabs, .nav-pills) a:hover {
  background-color: var(--color-green-300);
  border-color: var(--color-green-300);
}

@media (max-width: 575px) {
  body:is(.unit-user, .unit-users) nav.tabs ul:is(.nav-tabs, .nav-pills) {
    gap: 20px 10px;
  }
  body:is(.unit-user, .unit-users) nav.tabs ul:is(.nav-tabs, .nav-pills) a {
    padding: 10px 15px;
  }
}
body:is(.unit-user, .unit-users) nav.tabs:after {
  content: "";
  display: block;
  width: 100%;
  max-width: 500px;
  height: 1px;
  background-color: var(--color-green-400);
  margin-top: 28px;
}

body:is(.unit-user, .unit-users) nav.tabs li:has(a.nav-link--user-register) {
  order: -1;
}

@media (max-width: 575px) {
  body:is(.unit-user, .unit-users) nav.tabs ul.nav.primary a.nav-link {
    padding: 12px 10px;
  }
}
body:is(.unit-user, .unit-users) nav.tabs .nav-item:has(a[href$=edit]) {
  order: 1;
}

body:is(.unit-user, .unit-users) nav.tabs .nav-item:has(a[href$=contributions]) {
  order: 3;
}

body:is(.unit-user, .unit-users) nav.tabs .nav-item:has(a[href$=events]) {
  order: 4;
}

body:is(.unit-user, .unit-users) nav.tabs .nav-item:has(a[href$=history]) {
  order: 5;
}

body:is(.unit-user, .unit-users) nav.tabs .nav-item:has(a[href$=accounts]) {
  order: 6;
}

body:is(.unit-user, .unit-users) nav.tabs .nav-item:has(a[href$=tfa]) {
  order: 7;
}

body:is(.unit-user, .unit-users) nav.tabs .nav-item:has(a[href*=devel]) {
  order: 8;
}

body:is(.unit-user, .unit-users) nav.tabs .nav-item:has(a[href*=logout]) {
  order: 9;
}

body:is(.unit-user, .unit-users) main.main-content {
  margin-inline: auto;
  max-width: 870px;
}

body:is(.unit-user, .unit-users) article.profile {
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
}

body:is(.unit-user, .unit-users) article.profile .profile-summary {
  order: -1;
  margin-bottom: 30px;
}

body:is(.unit-user, .unit-users) article.profile > .form-item:first-child h4.label {
  display: inline;
}

body:is(.unit-user, .unit-users) article.profile > .form-item:first-child, body:is(.unit-user, .unit-users) article.profile > .form-item:first-child h4.label {
  font-size: 24px;
}

body:is(.unit-user, .unit-users) article.profile a {
  color: var(--color-green-600);
  text-decoration: underline;
}

body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) {
  margin-inline: auto;
  max-width: 500px;
}

body:is(.unit-user, .unit-users) #openid-connect-login-form, body:is(.unit-user, .unit-users) .openid-connect-accounts-form {
  margin-inline: auto;
  max-width: 545px;
}

body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) input[type=text], body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) input[type=password], body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) input[type=email], body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) input[type=tel],
body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=text],
body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=password],
body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=email],
body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=tel], body:is(.unit-user, .unit-users) .openid-connect-accounts-form input[type=text], body:is(.unit-user, .unit-users) .openid-connect-accounts-form input[type=password], body:is(.unit-user, .unit-users) .openid-connect-accounts-form input[type=email], body:is(.unit-user, .unit-users) .openid-connect-accounts-form input[type=tel] {
  padding: 12px;
  border-radius: 12px;
  border: 0;
  background-color: rgba(0, 0, 0, 0.05);
  min-height: 48px;
}

body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) input[type=text]::placeholder, body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) input[type=password]::placeholder, body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) input[type=email]::placeholder, body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) input[type=tel]::placeholder,
body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=text]::placeholder,
body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=password]::placeholder,
body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=email]::placeholder,
body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=tel]::placeholder, body:is(.unit-user, .unit-users) .openid-connect-accounts-form input[type=text]::placeholder, body:is(.unit-user, .unit-users) .openid-connect-accounts-form input[type=password]::placeholder, body:is(.unit-user, .unit-users) .openid-connect-accounts-form input[type=email]::placeholder, body:is(.unit-user, .unit-users) .openid-connect-accounts-form input[type=tel]::placeholder {
  color: var(--color-white-300);
  font-weight: 600;
}

body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) input[type=text]:focus, body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) input[type=password]:focus, body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) input[type=email]:focus, body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) input[type=tel]:focus,
body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=text]:focus,
body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=password]:focus,
body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=email]:focus,
body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=tel]:focus, body:is(.unit-user, .unit-users) .openid-connect-accounts-form input[type=text]:focus, body:is(.unit-user, .unit-users) .openid-connect-accounts-form input[type=password]:focus, body:is(.unit-user, .unit-users) .openid-connect-accounts-form input[type=email]:focus, body:is(.unit-user, .unit-users) .openid-connect-accounts-form input[type=tel]:focus {
  background-color: rgba(0, 0, 0, 0.05);
  box-shadow: none;
  outline: 2px solid var(--color-green-400);
  outline-offset: -2px;
}

body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) .form-item,
body:is(.unit-user, .unit-users) #openid-connect-login-form .form-item, body:is(.unit-user, .unit-users) .openid-connect-accounts-form .form-item {
  margin-bottom: 24px;
}

body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass, .user-form, .civicrm-user-profile) .form-item label,
body:is(.unit-user, .unit-users) #openid-connect-login-form .form-item label, body:is(.unit-user, .unit-users) .openid-connect-accounts-form .form-item label {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--color-white-700);
  margin-bottom: 4px;
}

body:is(.unit-user, .unit-users) #crm-container fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

body:is(.unit-user, .unit-users) #crm-container legend {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--color-white-700);
  margin-bottom: 16px;
  padding: 0;
  width: auto;
  border: 0;
}

body:is(.unit-user, .unit-users) #crm-container .crm-section.form-item {
  margin-bottom: 24px;
}

body:is(.unit-user, .unit-users) #crm-container .crm-section.form-item > .label {
  float: none;
  width: auto;
  line-height: 1.6;
  margin-bottom: 4px;
  text-align: left;
}

body:is(.unit-user, .unit-users) #crm-container .crm-section.form-item > .label label {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--color-white-700);
  margin-bottom: 0;
}

body:is(.unit-user, .unit-users) #crm-container .crm-section.form-item > .content,
body:is(.unit-user, .unit-users) #crm-container .crm-section.form-item > .edit-value.content {
  margin-left: 0;
  width: 100%;
}

body:is(.unit-user, .unit-users) #crm-container .crm-section.form-item .crm-form-elem {
  width: 100%;
}

body:is(.unit-user, .unit-users) #crm-container input[type=text],
body:is(.unit-user, .unit-users) #crm-container input.form-text,
body:is(.unit-user, .unit-users) #crm-container select,
body:is(.unit-user, .unit-users) #crm-container select.form-select {
  width: 100%;
  max-width: 100% !important;
  padding: 12px;
  border-radius: 12px;
  border: 0;
  background-color: rgba(0, 0, 0, 0.05);
  min-height: 48px;
  font-size: 16px;
  color: var(--color-white-700);
}

body:is(.unit-user, .unit-users) #crm-container input[type=text]:focus,
body:is(.unit-user, .unit-users) #crm-container input.form-text:focus,
body:is(.unit-user, .unit-users) #crm-container select:focus,
body:is(.unit-user, .unit-users) #crm-container select.form-select:focus {
  background-color: rgba(0, 0, 0, 0.05);
  box-shadow: none;
  outline: 2px solid var(--color-green-400);
  outline-offset: -2px;
}

body:is(.unit-user, .unit-users) #crm-container select,
body:is(.unit-user, .unit-users) #crm-container select.form-select {
  height: 48px;
  -webkit-appearance: none;
          appearance: none;
  background-image: url("../images/icon--toggle-chevron-down-darkgreen.svg");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
  padding-right: 44px;
}

body:is(.unit-user, .unit-users) #crm-container input.dateplugin,
body:is(.unit-user, .unit-users) #crm-container input.dateplugin[readonly],
body:is(.unit-user, .unit-users) #crm-container input.dateplugin[readonly]:focus,
body:is(.unit-user, .unit-users) #crm-container input.hasDatepicker[readonly] {
  cursor: pointer;
  border: 0 !important;
  background-color: rgba(0, 0, 0, 0.05) !important;
}

body:is(.unit-user, .unit-users) #crm-container input.dateplugin {
  background-position: right 16px center;
}

body:is(.unit-user, .unit-users) #crm-container .crm-marker {
  margin-left: 2px;
}

body:is(.unit-user, .unit-users) form.civicrm-user-profile .civicrm-user-profile > h3 {
  display: none;
}

body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass) .form-actions {
  text-align: center;
  margin-bottom: 0;
}

body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass) .form-actions input[type=submit] {
  border: 0;
  border-radius: 5em;
  background-color: var(--color-green-400);
  color: var(--color-white);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  padding: 12px 20px;
}

body:is(.unit-user, .unit-users) form:is(.user-login-form, .user-register-form, .user-pass) .form-actions input[type=submit]:hover {
  background-color: var(--color-green-800);
}

body:is(.unit-user, .unit-users) #openid-connect-login-form {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 40px;
  margin-bottom: 50px;
  padding-top: 40px;
  border-top: 1px solid var(--color-white-200);
}

body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=submit] {
  display: flex;
  align-items: center;
  gap: 8px;
  width: auto;
  border: 2px solid var(--color-green-600);
  border-radius: 5em;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: left 20px center;
  background-size: 24px 24px;
  color: var(--color-green-600);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  padding: 12px 20px 12px 52px;
}

body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=submit]:hover {
  background-color: var(--color-green-100);
}

body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=submit][name=google] {
  background-image: url("../images/icon--login-google.svg");
}

body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=submit][name=line] {
  background-image: url("../images/icon--login-line.svg");
}

body:is(.unit-user, .unit-users) #openid-connect-login-form input[type=submit][name=facebook] {
  background-image: url("../images/icon--login-facebook.svg");
}

body:is(.unit-user, .unit-users) #openid-connect-login-form > div:has(input[name=google]) {
  order: 1;
}

body:is(.unit-user, .unit-users) #openid-connect-login-form > div:has(input[name=line]) {
  order: 2;
}

body:is(.unit-user, .unit-users) #openid-connect-login-form > div:has(input[name=facebook]) {
  order: 3;
}

@media (max-width: 575px) {
  body:is(.unit-user, .unit-users) #openid-connect-login-form {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
}
body:is(.unit-user, .unit-users) .block-system-breadcrumb-block {
  display: none;
}

body:is(.unit-user, .unit-users) .table thead {
  background-color: #212121;
  color: #fff;
}

body:is(.unit-user, .unit-users) .table tr {
  background-color: transparent;
}

body:is(.unit-user, .unit-users) .table tr td {
  border-color: #212121;
}

body:is(.unit-tfa) main.main-content {
  margin-inline: auto;
  max-width: 870px;
}

/* 個人資料編輯頁：姓名已填就鎖成唯讀（由 custom.js 的 applyReadonlyFields 掛上）
   ——只是視覺提示，實際的鎖定在 input 的 readonly 屬性 */
#civicrm-user-profile input.is-readonly {
  background-color: #F7F6EE;
  color: #757170;
  cursor: not-allowed;
}

#civicrm-user-profile .readonly-note {
  display: inline-block;
  margin-left: 0.5em;
  color: #757170;
  font-size: 0.875em;
}

.view-user-event .view-content td a {
  color: var(--color-green-600);
  text-decoration: underline;
}

/* --- [Node] 關於荒野 ------------------------------------------------- */
body.node--type-about .layout-main-wrapper {
  padding-block: 30px 40px;
}

@media (min-width: 1200px) {
  body.node--type-about .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
/* --- [Page] 理事長的話 ------------------------------------------------- */
.page--chairman .layout-main-wrapper {
  padding-top: 20px;
}

@media (min-width: 768px) {
  .page--chairman .layout-main-wrapper {
    padding-top: 40px;
  }
}
.view-display-id-p_about_chairman .entity-row {
  border: 1px solid var(--color-white-300);
  border-radius: 18px;
}

.view-display-id-p_about_chairman .entity-row-inner {
  padding: 16px;
  display: grid;
  gap: 16px;
  grid-auto-rows: auto;
}

.view-display-id-p_about_chairman .entity-cover img {
  aspect-ratio: 16/9;
  object-fit: cover;
  width: 100%;
  display: block;
  border-radius: 12px;
}

.view-display-id-p_about_chairman .entity-title {
  font-size: var(--font-size-h6);
  line-height: 1.4;
  margin-bottom: 0;
}

.view-display-id-p_about_chairman .entity-body {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.view-display-id-p_about_chairman .entity-link a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: var(--color-green-600);
  transition: all 0.3s;
}

.view-display-id-p_about_chairman .entity-link a:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../images/icon--arrow-right-green.svg") no-repeat center;
  background-size: contain;
}

.view-display-id-p_about_chairman .entity-link a:hover {
  gap: 8px;
}

.view-display-id-p_about_chairman .entity-row:hover {
  border: 2px solid var(--color-green-400);
}

.view-display-id-p_about_chairman .entity-row:hover .entity-title, .view-display-id-p_about_chairman .entity-row:hover .entity-title a {
  color: var(--color-green-600);
}

@media (min-width: 768px) {
  .view-display-id-p_about_chairman .view-content {
    gap: 24px;
  }
}
/* --- [Page] 全台荒野(分會列表) ------------------------------------------------- */
.page-view-chapter .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 768px) {
  .page-view-chapter .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
.view-display-id-p_about_chapters .view-content {
  gap: 24px;
}

@media (min-width: 1200px) {
  .view-display-id-p_about_chapters .view-content {
    gap: 24px;
  }
}
/* --- [Page] 中長期專案 ------------------------------------------------- */
.page--project .layout-main-wrapper {
  padding-block: 30px 40px;
}

@media (min-width: 1200px) {
  .page--project .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
.page--project article:where(.node) {
  margin-inline: auto;
  max-width: 800px;
}

/* --- [Page] 分會 ------------------------------------------------- */
body.node--type-chapter footer.site-footer:before {
  background: url(../images/deco-foter-top.svg) no-repeat center bottom -2px/100%, #FEFDF7;
}

@media (max-width: 575px) {
  body.node--type-chapter footer.site-footer:before {
    background: url(../images/deco-foter-top-mobile.svg) no-repeat center bottom -2px/100%, #FEFDF7;
  }
}
/* --- [Page] 全台荒野(分會介紹) ------------------------------------------------- */
.view-display-id-p_about_chapters .entity-info {
  display: grid;
  gap: 10px;
}

/* --- [Page] 企業志工 (分類) ------------------------------------------------- */
.page-view-corp-volunteer .layout__region {
  margin-inline: auto;
  max-width: 1000px;
}

@media (min-width: 1200px) {
  .page-view-corp-volunteer .layout-main-wrapper {
    padding-top: 40px;
    margin-bottom: 60px;
  }
}
.view-display-id-b_volunteer_head .view-content {
  margin-inline: auto;
  max-width: 1000px;
}

.view-display-id-b_volunteer_head .block-content {
  display: grid;
  row-gap: 24px;
}

.view-display-id-b_volunteer_head .entity-img img {
  aspect-ratio: 50/23;
  object-fit: cover;
  width: 100%;
  border-radius: 12px;
  display: block;
}

.view-display-id-b_volunteer_head .entity-body h2 {
  font-size: var(--font-size-h2);
  line-height: 1.2;
}

.view-display-id-b_volunteer_head .entity-body h3 {
  font-size: var(--font-size-h3);
  line-height: 1.2;
}

.view-display-id-b_volunteer_head .entity-body h4 {
  font-size: var(--font-size-h4);
  line-height: 1.3;
}

.view-display-id-b_volunteer_head .entity-body h5 {
  font-size: var(--font-size-h5);
  line-height: 1.4;
}

.view-display-id-b_volunteer_head .entity-body h6 {
  font-size: var(--font-size-h6);
  line-height: 1.4;
}

.view-display-id-b_volunteer_head .entity-body h2, .view-display-id-b_volunteer_head .entity-body h3, .view-display-id-b_volunteer_head .entity-body h4, .view-display-id-b_volunteer_head .entity-body h5, .view-display-id-b_volunteer_head .entity-body h6, .view-display-id-b_volunteer_head .entity-body p {
  margin-bottom: var(--margin-p);
}

.view-display-id-b_volunteer_head .entity-body p {
  word-break: break-word;
}

.view-display-id-b_volunteer_head .entity-body p:last-child {
  margin-bottom: 0;
}

.view-display-id-b_volunteer_head .entity-body ul, .view-display-id-b_volunteer_head .entity-body ol {
  margin-block: var(--margin-p);
}

.view-display-id-b_volunteer_head .entity-body a {
  color: #597333;
}

.view-display-id-b_volunteer_head .entity-body a:not(.button) {
  text-decoration: underline;
}

.view-display-id-b_volunteer_head .entity-body a.button {
  font-weight: 600;
  line-height: 1.5;
  display: inline-flex;
  color: var(--color-white);
  background-color: var(--color-green-400);
  text-decoration: none;
  padding: 12px 20px;
  border-radius: 5em;
}

.view-display-id-b_volunteer_head .entity-body a.button:hover {
  background-color: var(--color-green-800);
}

.view-display-id-b_volunteer_head .entity-body img {
  margin-top: 10px;
  margin-bottom: 10px;
  margin-right: 10px;
}

.view-display-id-b_volunteer_head .entity-body img.align-left {
  margin-right: 10px;
}

.view-display-id-b_volunteer_head .entity-body img.align-center {
  margin-right: auto;
  margin-left: auto;
}

.view-display-id-b_volunteer_head .entity-body img.align-right {
  margin-left: 10px;
}

.view-display-id-b_volunteer_head .entity-body figure {
  width: 100%;
}

.view-display-id-b_volunteer_head .entity-body figure.caption img {
  width: 100%;
  height: auto;
}

.view-display-id-b_volunteer_head .entity-body figcaption {
  text-align: justify;
  color: var(--color-gray);
  padding: 0 15px;
}

.view-display-id-b_volunteer_head .entity-body figcaption {
  font-size: 16px;
}

.view-display-id-b_volunteer_head .entity-body figcaption {
  font-weight: normal;
}

.view-display-id-b_volunteer_head .entity-body figcaption {
  line-height: 1.2;
}

.view-display-id-b_volunteer_head .entity-body figcaption {
  letter-spacing: 0.32px;
}

.view-display-id-b_volunteer_head .entity-body figcaption:before {
  content: "";
  display: inline-block;
  vertical-align: text-bottom;
  margin-right: 10px;
  height: 1.2em;
  width: 15px;
}

.view-display-id-b_volunteer_head .entity-body blockquote {
  padding-left: 20px;
  padding-block: 0;
  border-left: 4px solid var(--color-green-500);
  color: var(--color-green-700);
}

.view-display-id-b_volunteer_head .views-row {
  position: relative;
}

.view-display-id-b_volunteer_head .entity-edit-link {
  position: absolute;
  right: 5px;
  top: 5px;
  display: none;
}

.view-display-id-b_volunteer_head .views-row:hover .entity-edit-link {
  display: block;
}

.view-display-id-p_volunteering .view-inner {
  margin-inline: auto;
  max-width: 1200px;
}

.view-display-id-p_volunteering .view-header {
  text-align: center;
  margin-bottom: 24px;
}

.view-display-id-p_volunteering .view-header h3 {
  color: var(--color-white-600);
}

.view-display-id-p_volunteering .view-header h3 {
  font-size: 24px;
}

.view-display-id-p_volunteering .view-header h3 {
  font-weight: 600;
}

.view-display-id-p_volunteering .view-header h3 {
  line-height: 1.4;
}

.view-display-id-p_volunteering .view-header h3 {
  letter-spacing: 0.24px;
}

.view-display-id-p_volunteering .view-header h3 {
  margin-bottom: 0;
}

.view-display-id-p_volunteering .view-filters {
  margin-bottom: 40px;
}

.view-display-id-p_volunteering form.views-exposed-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.view-display-id-p_volunteering .fieldset--inline-legend {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 0;
  justify-content: center;
  border-bottom: 1px solid var(--color-white-200);
  padding-bottom: 12px;
}

.view-display-id-p_volunteering .fieldset--inline-legend:not(:first-child) {
  padding-top: 12px;
  border-bottom: 0;
}

.view-display-id-p_volunteering .fieldset-legend {
  flex-shrink: 0;
  color: var(--color-white-600);
}

.view-display-id-p_volunteering .fieldset-legend {
  font-size: 14px;
}

.view-display-id-p_volunteering .fieldset-legend {
  font-weight: 400;
}

.view-display-id-p_volunteering .fieldset-legend {
  line-height: 1.5;
}

.view-display-id-p_volunteering .form-checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.view-display-id-p_volunteering .form-check {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 0;
  margin-bottom: 0 !important;
  min-height: initial;
}

.view-display-id-p_volunteering .form-check input[type=checkbox] {
  -webkit-appearance: none;
          appearance: none;
  float: none;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  border: 0;
  border-radius: 4px;
  background-color: var(--color-green-200);
  cursor: pointer;
}

.view-display-id-p_volunteering .form-check input[type=checkbox]:checked {
  background: var(--color-green-500) url("../images/icon--check-white.svg") no-repeat center;
}

.view-display-id-p_volunteering .form-check label {
  color: var(--color-white-900);
  white-space: nowrap;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
}

.view-display-id-p_volunteering .form-check label {
  font-size: 18px;
}

.view-display-id-p_volunteering .form-check label {
  font-weight: 600;
}

.view-display-id-p_volunteering .form-check label {
  line-height: 1.6;
}

.view-display-id-p_volunteering .form-actions {
  align-self: center;
  margin-bottom: 0 !important;
}

.view-display-id-p_volunteering .form-actions .form-submit {
  display: inline-flex;
  align-items: center;
  padding: 12px 20px;
  border: 0;
  border-radius: 5em;
  background-color: var(--color-green-400);
  color: var(--color-white);
  transition: background-color 0.3s;
}

.view-display-id-p_volunteering .form-actions .form-submit {
  font-size: 16px;
}

.view-display-id-p_volunteering .form-actions .form-submit {
  font-weight: 600;
}

.view-display-id-p_volunteering .form-actions .form-submit {
  line-height: 1.5;
}

.view-display-id-p_volunteering .form-actions .form-submit:hover {
  background-color: var(--color-green-800);
}

@media (min-width: 1200px) {
  .view-display-id-p_volunteering .views-header {
    margin-bottom: 28px;
  }
  .view-display-id-p_volunteering .view-filters {
    margin-bottom: 70px;
  }
  .view-display-id-p_volunteering .view-content {
    gap: 24px;
  }
  .view-display-id-p_volunteering .fieldset--inline-legend {
    margin-inline: auto;
  }
}
/* --- [Page] 企業志工 (node) ------------------------------------------------- */
body.node--type-corp-volunteer footer.site-footer:before {
  background-color: #fefdf7;
}

/* --- [Page] 荒野志工 (列表) ------------------------------------------------- */
.page-view-volunteer .layout__region {
  margin-inline: auto;
  max-width: 1000px;
}

@media (min-width: 1200px) {
  .page-view-volunteer .layout-main-wrapper {
    padding-top: 40px;
    margin-bottom: 60px;
  }
}
.view-display-id-p_volunteer .view-content {
  gap: 24px;
}

.view-display-id-p_volunteer .entity-img img {
  aspect-ratio: 16/9;
  object-fit: cover;
  width: 100%;
  display: block;
  border-radius: 12px;
}

/* --- [Page] 志工群組 (node) ------------------------------------------------- */
/* --- [Page] 出版品 (列表) ------------------------------------------------- */
.page-view-publication .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  .page-view-publication .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
.view-display-id-p_publication {
  margin-inline: auto;
  max-width: 1200px;
}

.view-display-id-p_publication .views-exposed-form {
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

.view-display-id-p_publication .views-exposed-form .form-item {
  margin-bottom: 0 !important;
}

.view-display-id-p_publication .views-exposed-form label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.view-display-id-p_publication .views-exposed-form .form-select {
  width: 200px;
  height: 48px;
  padding: 8px 12px;
  border: 0;
  border-radius: 12px;
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--color-white-900);
}

.view-display-id-p_publication .views-exposed-form .form-select {
  font-size: 16px;
}

.view-display-id-p_publication .views-exposed-form .form-select {
  font-weight: 400;
}

.view-display-id-p_publication .views-exposed-form .form-select {
  line-height: 1.5;
}

.view-display-id-p_publication .views-exposed-form .form-select {
  background-image: url("../images/icon--toggle-chevron-down.svg");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 24px;
}

.view-display-id-p_publication .views-exposed-form .form-actions {
  margin-bottom: 0 !important;
}

.view-display-id-p_publication .views-exposed-form .form-actions .form-submit {
  display: inline-flex;
  align-items: center;
  width: auto;
  padding: 12px 20px;
  border: 0;
  border-radius: 5em;
  background-color: var(--color-green-400);
  color: var(--color-white);
  transition: background-color 0.3s;
}

.view-display-id-p_publication .views-exposed-form .form-actions .form-submit {
  font-size: 16px;
}

.view-display-id-p_publication .views-exposed-form .form-actions .form-submit {
  font-weight: 600;
}

.view-display-id-p_publication .views-exposed-form .form-actions .form-submit {
  line-height: 1.5;
}

.view-display-id-p_publication .views-exposed-form .form-actions .form-submit:hover {
  background-color: var(--color-green-800);
}

.view-display-id-p_publication .view-content {
  gap: 24px;
}

/* --- [Page] 荒野快報 (node) ------------------------------------------------- */
/* --- [Page] 荒野快報 (views page) ------------------------------------------------- */
body.page-view-express .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  body.page-view-express .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
.view-display-id-p_weblog {
  margin-inline: auto;
  max-width: 1200px;
}

.view-display-id-p_weblog .views-exposed-form {
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

.view-display-id-p_weblog .views-exposed-form .form-item {
  margin-bottom: 0 !important;
}

.view-display-id-p_weblog .views-exposed-form label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.view-display-id-p_weblog .views-exposed-form .form-select {
  width: 200px;
  height: 48px;
  padding: 8px 12px;
  border: 0;
  border-radius: 12px;
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--color-white-900);
}

.view-display-id-p_weblog .views-exposed-form .form-select {
  font-size: 16px;
}

.view-display-id-p_weblog .views-exposed-form .form-select {
  font-weight: 400;
}

.view-display-id-p_weblog .views-exposed-form .form-select {
  line-height: 1.5;
}

.view-display-id-p_weblog .views-exposed-form .form-select {
  background-image: url("../images/icon--toggle-chevron-down.svg");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 24px;
}

.view-display-id-p_weblog .views-exposed-form .form-actions {
  margin-bottom: 0 !important;
}

.view-display-id-p_weblog .views-exposed-form .form-actions .form-submit {
  display: inline-flex;
  align-items: center;
  width: auto;
  padding: 12px 20px;
  border: 0;
  border-radius: 5em;
  background-color: var(--color-green-400);
  color: var(--color-white);
  transition: background-color 0.3s;
}

.view-display-id-p_weblog .views-exposed-form .form-actions .form-submit {
  font-size: 16px;
}

.view-display-id-p_weblog .views-exposed-form .form-actions .form-submit {
  font-weight: 600;
}

.view-display-id-p_weblog .views-exposed-form .form-actions .form-submit {
  line-height: 1.5;
}

.view-display-id-p_weblog .views-exposed-form .form-actions .form-submit:hover {
  background-color: var(--color-green-800);
}

.view-display-id-p_weblog .view-content {
  gap: 24px;
}

/* --- [Page] 成果快報快報 (views page) ------------------------------------------------- */
body.page-view-report .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  body.page-view-report .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
.view-display-id-p_report {
  margin-inline: auto;
  max-width: 1200px;
}

.view-display-id-p_report .view-content {
  gap: 24px;
}

/* --- [Page] 推廣邀約 (node) ------------------------------------------------- */
.view-display-id-b_promote_head .view-content {
  margin-inline: auto;
  max-width: 1000px;
}

.view-display-id-b_promote_head .block-content {
  display: grid;
  row-gap: 24px;
}

.view-display-id-b_promote_head .block-tabs .block-tabs__tab {
  border-radius: 12px;
  padding: 4px 12px;
}

.view-display-id-b_promote_head .entity-img img {
  aspect-ratio: 50/23;
  object-fit: cover;
  width: 100%;
  border-radius: 12px;
  display: block;
}

.view-display-id-b_promote_head .entity-body h3 {
  font-size: 24px;
}

.view-display-id-b_promote_head .entity-body h3 {
  font-weight: 600;
}

.view-display-id-b_promote_head .entity-body h3 {
  line-height: 1.4;
}

.view-display-id-b_promote_head .entity-body h3 {
  letter-spacing: 0.24px;
}

.view-display-id-b_promote_head .entity-body h3 {
  color: var(--color-white-800);
}

@media (min-width: 1200px) {
  .view-display-id-b_promote_head .entity-body h3 {
    margin-bottom: 24px;
  }
}
.view-display-id-b_promote_head .views-row {
  position: relative;
}

.view-display-id-b_promote_head .entity-edit-link {
  position: absolute;
  right: 5px;
  top: 5px;
  display: none;
}

.view-display-id-b_promote_head .views-row:hover .entity-edit-link {
  display: block;
}

.view-display-id-p_promote .view-inner {
  margin-inline: auto;
  max-width: 1200px;
}

.view-display-id-p_promote .view-header {
  text-align: center;
  margin-bottom: 24px;
}

.view-display-id-p_promote .view-header h3 {
  color: var(--color-white-600);
}

.view-display-id-p_promote .view-header h3 {
  font-size: 24px;
}

.view-display-id-p_promote .view-header h3 {
  font-weight: 600;
}

.view-display-id-p_promote .view-header h3 {
  line-height: 1.4;
}

.view-display-id-p_promote .view-header h3 {
  letter-spacing: 0.24px;
}

.view-display-id-p_promote .view-header h3 {
  margin-bottom: 0;
}

.view-display-id-p_promote .view-filters {
  margin-bottom: 40px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--color-green-300);
}

.view-display-id-p_promote form.views-exposed-form {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
}

@media (min-width: 1200px) {
  .view-display-id-p_promote form.views-exposed-form {
    gap: 24px;
  }
}
.view-display-id-p_promote .form-item {
  margin-bottom: 0 !important;
}

.view-display-id-p_promote .form-select {
  width: 240px;
  height: 48px;
  padding: 8px 12px;
  border: 0;
  border-radius: 12px;
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--color-white-900);
}

.view-display-id-p_promote .form-select {
  font-size: 16px;
}

.view-display-id-p_promote .form-select {
  font-weight: 400;
}

.view-display-id-p_promote .form-select {
  line-height: 1.5;
}

.view-display-id-p_promote .form-select {
  background-image: url("../images/icon--toggle-chevron-down.svg");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 24px;
}

.view-display-id-p_promote .form-actions {
  align-self: center;
  margin-bottom: 0 !important;
}

.view-display-id-p_promote .form-actions .form-submit {
  display: inline-flex;
  align-items: center;
  padding: 12px 20px;
  border: 0;
  border-radius: 5em;
  background-color: var(--color-green-400);
  color: var(--color-white);
  transition: background-color 0.3s;
}

.view-display-id-p_promote .form-actions .form-submit {
  font-size: 16px;
}

.view-display-id-p_promote .form-actions .form-submit {
  font-weight: 600;
}

.view-display-id-p_promote .form-actions .form-submit {
  line-height: 1.5;
}

.view-display-id-p_promote .form-actions .form-submit:hover {
  background-color: var(--color-green-800);
}

.view-display-id-p_promote .view-content {
  row-gap: 24px;
}

@media (min-width: 1200px) {
  .view-display-id-p_promote .views-header {
    margin-bottom: 28px;
  }
  .view-display-id-p_promote .view-filters {
    margin-bottom: 70px;
  }
  .view-display-id-p_promote .view-content {
    gap: 24px;
  }
}
/* --- [Page] 我們在做的事(分類) ------------------------------------------------- */
.page-view-whatwedo .featured-top {
  margin-bottom: 13.75dvw;
}

.page-view-whatwedo .featured-top:after {
  bottom: -13.7dvw;
  background: url("../images/deco-front-1.svg") no-repeat top center/100%;
  height: 13.7dvw;
}

@media (min-width: 1200px) {
  .page-view-whatwedo .featured-top {
    padding-bottom: 0;
  }
}
.view-id-whatwedo.view-display-id-default {
  margin-inline: auto;
  max-width: 1000px;
}

.view-id-whatwedo.view-display-id-default .collapse-toggler-wrap {
  margin-top: 28px;
}

/* --- [Page] 最新動態/訊息公告 ------------------------------------------------- */
.page-view-news .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  .page-view-news .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
.view-id-news.grid-list {
  margin-inline: auto;
  max-width: 1200px;
}

.view-id-news.grid-list .view-content {
  gap: 24px;
}

/* --- [Page] 快報文章(views) ------------------------------------------------- */
.page-view-weblog .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  .page-view-weblog .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
.view-display-id-p_blog {
  margin-inline: auto;
  max-width: 1200px;
}

.view-display-id-p_blog .view-content {
  gap: 24px;
}

/* --- [Page] 財務徵信(分類) ------------------------------------------------- */
.page-vocabulary-finance .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  .page-vocabulary-finance .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
.page-vocabulary-finance .region-featured-top {
  margin-inline: auto;
  max-width: 800px;
}

.page-vocabulary-finance .blk-featuredtop-desc {
  margin-top: 20px;
}

@media (min-width: 768px) {
  .page-vocabulary-finance .blk-featuredtop-desc {
    margin-top: 40px;
  }
}
.view-finance.view-display-id-default {
  margin-inline: auto;
  max-width: 680px;
}

.view-finance.view-display-id-default .view-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.view-finance.view-display-id-default .entity-row {
  border: 1px solid var(--color-white-300);
  border-radius: 16px;
  transition: border-color 0.2s ease;
}

.view-finance.view-display-id-default .entity-row:hover {
  border-color: var(--color-green-400);
}

.view-finance.view-display-id-default .entity-row-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
}

.view-finance.view-display-id-default .entity-title {
  flex: 1 1 auto;
  min-width: 0;
  word-break: break-word;
  color: var(--color-white-800);
}

.view-finance.view-display-id-default .entity-title {
  font-size: 18px;
}

.view-finance.view-display-id-default .entity-title {
  font-weight: 600;
}

.view-finance.view-display-id-default .entity-title {
  line-height: 1.4;
}

.view-finance.view-display-id-default .entity-title {
  letter-spacing: 0.2px;
}

.view-finance.view-display-id-default .entity-title a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.view-finance.view-display-id-default .entity-file {
  flex: 0 0 auto;
}

.view-finance.view-display-id-default .entity-file a {
  display: inline-flex;
  color: var(--color-white);
  background-color: var(--color-green-400);
  text-decoration: none;
  padding: 10px 16px;
  border-radius: 5em;
}

.view-finance.view-display-id-default .entity-file a:hover {
  background-color: var(--color-green-800);
}

.view-finance.view-display-id-default .entity-file a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.view-finance.view-display-id-default .entity-file a {
  font-size: 15px;
}

.view-finance.view-display-id-default .entity-file a {
  font-weight: 600;
}

.view-finance.view-display-id-default .entity-file a {
  line-height: 1.5;
}

.view-finance.view-display-id-default .entity-file a:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url("../images/icon--file-download-white.svg") no-repeat center/contain;
}

.view-finance.view-display-id-default .entity-row:hover .entity-title,
.view-finance.view-display-id-default .entity-title a:hover,
.view-finance.view-display-id-default .entity-title a:focus-visible {
  color: var(--color-green-600);
}

@media (min-width: 768px) {
  .view-finance.view-display-id-default .entity-row-inner {
    gap: 28px;
  }
  .view-finance.view-display-id-default .entity-title {
    font-size: 20px;
  }
  .view-finance.view-display-id-default .entity-title {
    font-weight: 600;
  }
  .view-finance.view-display-id-default .entity-title {
    line-height: 1.4;
  }
  .view-finance.view-display-id-default .entity-title {
    letter-spacing: 0.2px;
  }
  .view-finance.view-display-id-default .entity-file a {
    padding: 12px 20px;
  }
  .view-finance.view-display-id-default .entity-file a {
    font-size: 16px;
  }
  .view-finance.view-display-id-default .entity-file a {
    font-weight: 600;
  }
  .view-finance.view-display-id-default .entity-file a {
    line-height: 1.5;
  }
}
/* --- [Page] 加入荒野相關頁 ------------------------------------------------- */
body:is(.page--register, .page--join, .page--joinvolunteer, .page--job) .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  body:is(.page--register, .page--join, .page--joinvolunteer, .page--job) .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
body:is(.page--register, .page--join, .page--joinvolunteer, .page--job) article.node--type-page {
  margin-inline: auto;
  max-width: 800px;
}

.block-views-blockjob-b-recruit {
  margin-inline: auto;
  max-width: 800px;
  margin-top: 60px;
}

.block-views-blockjob-b-recruit .block-title {
  font-size: var(--font-size-h4);
  text-align: center;
  margin-bottom: 16px;
}

/* --- [Page] 捐款支持 (node)------------------------------------------------- */
.page--donate .layout-main-wrapper, .page-node-100020 .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  .page--donate .layout-main-wrapper, .page-node-100020 .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
.page--donate article.node--type-page, .page-node-100020 article.node--type-page {
  margin-inline: auto;
  max-width: 800px;
}

.page--donate .region-main-bottom, .page-node-100020 .region-main-bottom {
  margin-top: 3.33dvw;
  position: relative;
  background-color: #FEFDF7;
}

.page--donate .region-main-bottom:before, .page-node-100020 .region-main-bottom:before {
  top: -3.33dvw;
  height: 3.33dvw;
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  z-index: -1;
  background: url(../images/deco-tabs-section-top.svg) no-repeat center top/100%;
}

@media (max-width: 767px) {
  .page--donate .region-main-bottom, .page-node-100020 .region-main-bottom {
    padding-inline: 20px;
    justify-content: center;
  }
}
.page--donate .site-footer:before, .page-node-100020 .site-footer:before {
  background-color: #FEFDF7;
}

.blk-choose-support {
  width: 100dvw;
  position: relative;
  left: initial;
  right: initial;
  margin-inline: calc(50% - 50dvw);
  padding-block: 40px 28px;
}

@media (min-width: 1200px) {
  .blk-choose-support {
    padding-block: 80px 28px;
  }
}
.view-display-id-b_support {
  margin-inline: auto;
  max-width: 1200px;
}

/* --- [Page] 搜尋結果頁 ------------------------------------------------- */
.unit-search .block-system-main-block {
  margin-inline: auto;
  max-width: 912px;
}

.unit-search .layout-main-wrapper {
  padding-top: 6vw;
}

.unit-search main .search-form .form-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.unit-search main .search-form .form-type-search label {
  display: none;
}

.unit-search main .search-form .form-type-search {
  margin-bottom: 0 !important;
}

.unit-search main .search-form input[type=search] {
  border-radius: 5em;
  padding: 13px 30px 13px 54px;
  background: url("../images/icon--search.svg") no-repeat 15px center, #fff !important;
}

.unit-search main .search-form input.form-submit {
  display: none;
}

.unit-search main .search-form .search-help-link {
  display: none;
}

.unit-search form.google-cse + h2 {
  margin-block: 40px 20px;
  font-size: 32px;
  text-align: center;
}

.unit-search .gsc-wrapper, .unit-search .gsc-above-wrapper-area {
  max-width: initial;
}

.unit-search .gsc-results.gsc-webResult a.gs-title {
  color: #597333;
}

.unit-search .gsc-results.gsc-webResult a.gs-title b {
  color: #86b534;
}

.unit-search .gsc-results.gsc-webResult a.gs-title:hover {
  text-decoration: none;
}

.unit-search .gsc-results .gsc-cursor-box {
  border: 0;
}

.unit-search .gsc-results .gsc-cursor {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.unit-search .gsc-results .gsc-cursor .gsc-cursor-page {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white-700);
  font-size: 14px;
  width: 40px;
  height: 40px;
  padding: 0;
  background-color: transparent;
  border-radius: 5em;
}

.unit-search .gsc-results .gsc-cursor .gsc-cursor-page:hover {
  text-decoration: none;
}

.unit-search .gsc-results .gsc-cursor .gsc-cursor-current-page {
  background-color: var(--color-green-400);
  color: var(--color-white-700);
}

.unit-search .gcsc-more-maybe-branding-root, .unit-search .gcsc-find-more-on-google-root {
  display: none;
}

/* --- [Page]  榮耀與肯定(大事記)------------------------------------------------- */
.page-view-award .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  .page-view-award .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
.page-view-award .main {
  margin-inline: auto;
  max-width: 1000px;
}

@media (min-width: 1440px) {
  .page-view-award .main {
    padding-inline: 0;
  }
}
@media (min-width: 768px) {
  .page-view-award .main > .row {
    display: grid;
    grid-template-areas: "rail main .";
    grid-template-columns: 60px 1fr 100px;
  }
  .page-view-award .main > .row:after {
    content: none;
  }
  .page-view-award .main main {
    grid-area: main;
  }
  .page-view-award .main .sidebar_first {
    grid-area: rail;
    width: initial;
  }
}
.view-award .view-content {
  display: flex;
  flex-direction: column;
  margin: 0;
}

.view-award {
  --award-rail-w: 40px;
  --award-line-top: 34px;
}

.view-award .award-group {
  display: flex;
  gap: 12px;
  align-items: stretch;
  position: relative;
}

.view-award .award-group:before {
  content: "";
  position: absolute;
  display: block;
  top: var(--award-line-top);
  left: calc(var(--award-rail-w) / 2 - 1px);
  width: 2px;
  height: calc(100% - var(--award-line-top));
  background-color: var(--color-white-600);
}

.view-award .award-group:last-child:before {
  display: none;
}

.view-award .award-timeline {
  flex: 0 0 var(--award-rail-w);
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.view-award .award-timeline__node {
  position: absolute;
  display: block;
  top: 4px;
  width: 26px;
  height: 22px;
  background: url("../images/icon--award-leaf.svg") no-repeat center/contain;
}

.view-award .award-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-bottom: 40px;
}

.view-award .award-year {
  margin: 0;
  color: var(--color-white-700);
}

.view-award .award-year {
  font-size: 24px;
}

.view-award .award-year {
  font-weight: 600;
}

.view-award .award-year {
  line-height: 1.3;
}

.view-award .award-year {
  letter-spacing: 0.24px;
}

.view-award .award-year {
  scroll-margin-top: 80px;
}

.view-award .award-cards {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.view-award .award-card {
  padding: 12px;
  border: 1px solid var(--color-white-300);
  border-radius: 12px;
  transition: border-color 0.2s ease;
}

.view-award .award-card:hover {
  border-color: var(--color-green-400);
}

.view-award .entity-row-inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.view-award .entity-date {
  color: var(--color-white-800);
}

.view-award .entity-date {
  font-size: 18px;
}

.view-award .entity-date {
  font-weight: 600;
}

.view-award .entity-date {
  line-height: 1.4;
}

.view-award .entity-date {
  letter-spacing: 0.2px;
}

.view-award .entity-title {
  color: var(--color-white-700);
  text-decoration: none;
}

.view-award .entity-title {
  font-size: 16px;
}

.view-award .entity-title {
  font-weight: 600;
}

.view-award .entity-title {
  line-height: 1.6;
}

.view-award .entity-body {
  margin-top: 8px;
  color: var(--color-white-700);
}

.view-award .entity-body {
  font-size: 16px;
}

.view-award .entity-body {
  font-weight: 400;
}

.view-award .entity-body {
  line-height: 1.6;
}

.view-award .entity-body :is(p, h2, h3, h4, h5, h6) {
  margin: 0;
}

.view-award .entity-body > * + * {
  margin-top: 12px;
}

.view-award .entity-body img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid var(--color-white-200);
}

.view-award .entity-body a {
  color: var(--color-green-600);
  text-decoration: underline;
}

@media (min-width: 768px) {
  .view-award {
    --award-rail-w: 128px;
    --award-line-top: 45px;
  }
  .view-award .award-group {
    gap: 16px;
  }
  .view-award .award-timeline__node {
    top: 10px;
    width: 32px;
    height: 26px;
  }
  .view-award .award-year {
    font-size: var(--font-size-h4);
  }
  .view-award .award-year {
    font-weight: 600;
  }
  .view-award .award-year {
    line-height: 1.3;
  }
  .view-award .award-year {
    letter-spacing: 0.32px;
  }
  .view-award .award-year {
    scroll-margin-top: 100px;
  }
  .view-award .award-card {
    padding: 16px;
    border-radius: 16px;
  }
  .view-award .entity-date {
    font-size: 20px;
  }
  .view-award .entity-date {
    font-weight: 600;
  }
  .view-award .entity-date {
    line-height: 1.4;
  }
  .view-award .entity-date {
    letter-spacing: 0.2px;
  }
  .view-award .views-field-title a {
    font-size: 18px;
  }
  .view-award .views-field-title a {
    font-weight: 600;
  }
  .view-award .views-field-title a {
    line-height: 1.6;
  }
}
.award-card {
  max-width: 648px;
}

.award-card .entity-link a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: var(--color-green-600);
  transition: all 0.3s;
}

.award-card .entity-link a:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../images/icon--arrow-right-green.svg") no-repeat center;
  background-size: contain;
}

.award-card .entity-link a:hover {
  gap: 8px;
}

/* --- 側欄年份選單 block（AwardYearBlock，sow_cust 產生）------------- */
.block-sow-award-year {
  position: sticky;
  top: 0;
  z-index: 2;
  margin-bottom: 20px;
  padding-block: 12px;
  background-color: var(--color-body-bg);
}

.block-sow-award-year:has(> .block-inner [data-award-year-nav][hidden]) {
  display: none;
}

.block-sow-award-year .award-year-nav {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-inline: 2px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.block-sow-award-year .award-year-nav::-webkit-scrollbar {
  display: none;
}

.block-sow-award-year .award-year-nav__link {
  flex: 0 0 auto;
  scroll-snap-align: start;
  color: var(--color-green-500);
  text-decoration: none;
}

.block-sow-award-year .award-year-nav__link {
  font-size: 16px;
}

.block-sow-award-year .award-year-nav__link {
  font-weight: 600;
}

.block-sow-award-year .award-year-nav__link {
  line-height: 1.6;
}

.block-sow-award-year .award-year-nav__link {
  transition: color 0.2s ease;
}

.block-sow-award-year .award-year-nav__link:hover, .block-sow-award-year .award-year-nav__link.is-active {
  color: var(--color-green-700);
  text-decoration: underline;
}

@media (min-width: 768px) {
  .block-sow-award-year {
    --award-nav-sticky-top: 120px;
    top: var(--award-nav-sticky-top);
    margin-bottom: 0;
    padding-block: 0;
    background-color: transparent;
  }
  .block-sow-award-year .award-year-nav {
    flex-direction: column;
    gap: 24px;
    overflow-x: visible;
    padding-inline: 0;
    max-height: calc(100vh - var(--award-nav-sticky-top) - 20px);
    overflow-y: auto;
    scrollbar-width: none;
  }
  .block-sow-award-year .award-year-nav::-webkit-scrollbar {
    display: none;
  }
  .block-sow-award-year .award-year-nav__link {
    font-size: 18px;
  }
  .block-sow-award-year .award-year-nav__link {
    font-weight: 600;
  }
  .block-sow-award-year .award-year-nav__link {
    line-height: 1.6;
  }
}
/* --- [Page] 電子報訂閱 ------------------------------------------------- */
.page--newsletter .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  .page--newsletter .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
.view-display-id-p_newsletter {
  margin-inline: auto;
  max-width: 680px;
}

.view-display-id-p_newsletter .view-header {
  margin-bottom: 40px;
}

.view-display-id-p_newsletter .view-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.view-display-id-p_newsletter .entity-row {
  border: 1px solid var(--color-white-300);
  border-radius: 16px;
  transition: border-color 0.2s ease;
}

.view-display-id-p_newsletter .entity-row:hover {
  border-color: var(--color-green-400);
}

.view-display-id-p_newsletter .entity-row-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-content: center;
  align-items: center;
  gap: 8px 16px;
  padding: 16px;
}

.view-display-id-p_newsletter .entity-date {
  grid-column: 1;
  grid-row: 1;
  color: var(--color-white-700);
}

.view-display-id-p_newsletter .entity-date {
  font-size: 14px;
}

.view-display-id-p_newsletter .entity-date {
  font-weight: 500;
}

.view-display-id-p_newsletter .entity-date {
  line-height: 1.6;
}

.view-display-id-p_newsletter .entity-title {
  grid-column: 1;
  grid-row: 2;
  word-break: break-word;
  color: var(--color-white-800);
  margin-bottom: 0;
}

.view-display-id-p_newsletter .entity-title {
  font-size: 18px;
}

.view-display-id-p_newsletter .entity-title {
  font-weight: 600;
}

.view-display-id-p_newsletter .entity-title {
  line-height: 1.4;
}

.view-display-id-p_newsletter .entity-title {
  letter-spacing: 0.2px;
}

.view-display-id-p_newsletter .entity-link {
  grid-column: 2;
  grid-row: 1/-1;
  align-self: center;
}

.view-display-id-p_newsletter .entity-link a {
  display: inline-flex;
  color: var(--color-white);
  background-color: var(--color-green-400);
  text-decoration: none;
  padding: 12px;
  border-radius: 5em;
}

.view-display-id-p_newsletter .entity-link a:hover {
  background-color: var(--color-green-800);
}

.view-display-id-p_newsletter .entity-link a {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  font-size: 0;
  border-radius: 100px;
}

.view-display-id-p_newsletter .entity-link a:after {
  font-size: 16px;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url("../images/icon--arrow-right.svg") no-repeat center/contain;
}

.view-display-id-p_newsletter .entity-row:hover .entity-title {
  color: var(--color-green-600);
}

@media (min-width: 768px) {
  .view-display-id-p_newsletter .entity-row-inner {
    gap: 8px 28px;
  }
  .view-display-id-p_newsletter .entity-title {
    font-size: 20px;
  }
  .view-display-id-p_newsletter .entity-title {
    font-weight: 600;
  }
  .view-display-id-p_newsletter .entity-title {
    line-height: 1.4;
  }
  .view-display-id-p_newsletter .entity-title {
    letter-spacing: 0.2px;
  }
  .view-display-id-p_newsletter .entity-link a {
    padding: 12px;
  }
}
/* --- [Page] 活動報名 (views page) ------------------------------------------------- */
.page-view-crm-event .layout-main-wrapper {
  padding-block: 20px 30px;
}

@media (min-width: 1200px) {
  .page-view-crm-event .layout-main-wrapper {
    padding-block: 40px 60px;
  }
}
.page-view-crm-event .region-main-bottom {
  margin-top: 3.33dvw;
  position: relative;
  background-color: #FEFDF7;
}

.page-view-crm-event .region-main-bottom:before {
  top: -3.33dvw;
  height: 3.33dvw;
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  z-index: -1;
  background: url(../images/deco-tabs-section-top.svg) no-repeat center top/100%;
}

@media (max-width: 767px) {
  .page-view-crm-event .region-main-bottom {
    padding-inline: 20px;
    justify-content: center;
  }
}
.page-view-crm-event .site-footer:before {
  background-color: #FEFDF7;
}

.view-display-id-p_crm_events, .view-display-id-p_event_closing {
  margin-inline: auto;
  max-width: 1200px;
}

.view-display-id-p_crm_events .view-content, .view-display-id-p_event_closing .view-content {
  gap: 24px;
}

.crm-event-card {
  height: 100%;
  border: 1px solid var(--color-white-300);
  border-radius: 16px;
  background-color: var(--color-white);
  overflow: hidden;
  transition: box-shadow 0.3s, border-color 0.3s;
}

.crm-event-card a {
  text-decoration: none;
  color: var(--color-white-800);
}

.crm-event-card:hover {
  border: 2px solid var(--color-green-400);
}

.crm-event-card:hover .entity-title a {
  color: var(--color-green-600);
}

.crm-event-card .entity-row-inner {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
  padding: 16px;
}

.crm-event-card .entity-cover {
  border-radius: 12px;
  overflow: hidden;
}

.crm-event-card .entity-cover img {
  display: block;
  width: 100%;
  aspect-ratio: 2/1;
  object-fit: cover;
}

.crm-event-card .entity-cover-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 2/1;
  background: url("../images/default-img.png") center center/cover, var(--color-green-100);
}

.crm-event-card .entity-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 12px;
}

.crm-event-card .entity-title {
  margin-bottom: 0;
  color: var(--color-white-700);
}

.crm-event-card .entity-title {
  font-size: 20px;
}

.crm-event-card .entity-title {
  font-weight: 600;
}

.crm-event-card .entity-title {
  line-height: 1.4;
}

.crm-event-card .entity-title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.crm-event-card .entity-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: var(--color-white-700);
}

.crm-event-card .event-type {
  font-size: 12px;
}

.crm-event-card .event-type {
  font-weight: 500;
}

.crm-event-card .event-type {
  line-height: 1.5;
}

.crm-event-card .event-date {
  font-size: 14px;
}

.crm-event-card .event-date {
  font-weight: 500;
}

.crm-event-card .event-date {
  line-height: 1.6;
}

.crm-event-card .event-type + .event-date {
  padding-left: 8px;
  border-left: 1px solid var(--color-white-400);
}

.crm-event-card .entity-flags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-top: auto;
}

.crm-event-card .entity-flag {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 4px 12px 4px 6px;
  border-radius: 4px;
  background-color: #f9b109;
  color: var(--color-white);
}

.crm-event-card .entity-flag {
  font-size: 12px;
}

.crm-event-card .entity-flag {
  font-weight: 600;
}

.crm-event-card .entity-flag {
  line-height: 1.5;
}

.crm-event-card .entity-flag::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex: 0 0 16px;
}

.crm-event-card .entity-flag--recommend::before {
  background-image: url("../images/icon--pin-outline-white.svg");
}

.crm-event-card .entity-flag--countdown::before {
  background-image: url("../images/icon--time-white.svg");
}

.crm-event-card .entity-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px 16px;
  padding-top: 16px;
  border-top: 1px solid var(--color-white-200);
}

.crm-event-card .entity-chapter {
  display: inline-flex;
  align-items: center;
  padding: 2px 4px;
  border-radius: 4px;
  background-color: var(--color-green-600);
  color: var(--color-white);
}

.crm-event-card .entity-chapter {
  font-size: 12px;
}

.crm-event-card .entity-chapter {
  font-weight: 600;
}

.crm-event-card .entity-chapter {
  line-height: 1.5;
}

.crm-event-card .entity-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}

.crm-event-card .entity-tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 4px;
  border: 1px solid var(--color-white-600);
  border-radius: 4px;
  color: var(--color-white-600);
}

.crm-event-card .entity-tag {
  font-size: 12px;
}

.crm-event-card .entity-tag {
  font-weight: 600;
}

.crm-event-card .entity-tag {
  line-height: 1.5;
}

.block-views-exposed-filter-blockcrm-event-p-crm-events {
  padding-block: 24px;
  background-color: var(--color-body-bg2);
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .block-inner {
  margin-inline: auto;
  max-width: 1200px;
  padding-inline: 20px;
}

@media (min-width: 1200px) {
  .block-views-exposed-filter-blockcrm-event-p-crm-events .block-inner {
    padding-inline: 0;
  }
}
.block-views-exposed-filter-blockcrm-event-p-crm-events form.views-exposed-form,
.block-views-exposed-filter-blockcrm-event-p-crm-events form[id*=views-exposed-form] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

@media (min-width: 1200px) {
  .block-views-exposed-filter-blockcrm-event-p-crm-events form.views-exposed-form,
  .block-views-exposed-filter-blockcrm-event-p-crm-events form[id*=views-exposed-form] {
    flex-wrap: nowrap;
    gap: 24px;
  }
}
.block-views-exposed-filter-blockcrm-event-p-crm-events .form-item {
  flex: 1 1 100%;
  min-width: 0;
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .block-views-exposed-filter-blockcrm-event-p-crm-events .form-item {
    flex: 1 1 calc(50% - 6px);
  }
}
@media (min-width: 1200px) {
  .block-views-exposed-filter-blockcrm-event-p-crm-events .form-item {
    flex: 1 1 0;
  }
}
.block-views-exposed-filter-blockcrm-event-p-crm-events .form-control,
.block-views-exposed-filter-blockcrm-event-p-crm-events .form-select {
  width: 100%;
  height: 48px;
  padding: 8px 12px;
  border: 0;
  border-radius: 12px;
  background-color: var(--color-white);
  color: var(--color-white-900);
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .form-control,
.block-views-exposed-filter-blockcrm-event-p-crm-events .form-select {
  font-size: 16px;
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .form-control,
.block-views-exposed-filter-blockcrm-event-p-crm-events .form-select {
  font-weight: 400;
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .form-control,
.block-views-exposed-filter-blockcrm-event-p-crm-events .form-select {
  line-height: 1.5;
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .form-control:focus,
.block-views-exposed-filter-blockcrm-event-p-crm-events .form-select:focus {
  outline: 2px solid var(--color-green-400);
  outline-offset: -2px;
  box-shadow: none;
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .form-control {
  font-size: 16px;
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .form-control {
  font-weight: 600;
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .form-control {
  line-height: 1.5;
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .form-control::placeholder {
  color: var(--color-white-300);
  filter: none;
  opacity: 1;
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .form-select {
  padding-right: 44px;
  background-image: url("../images/icon--toggle-chevron-down.svg");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 24px;
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .form-actions {
  flex: 1 1 100%;
  margin-bottom: 0 !important;
}

@media (min-width: 1200px) {
  .block-views-exposed-filter-blockcrm-event-p-crm-events .form-actions {
    flex: 0 0 auto;
  }
}
.block-views-exposed-filter-blockcrm-event-p-crm-events .form-actions .form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 20px;
  border: 0;
  border-radius: 5em;
  background-color: var(--color-green-400);
  color: var(--color-white);
  transition: background-color 0.3s;
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .form-actions .form-submit {
  font-size: 16px;
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .form-actions .form-submit {
  font-weight: 600;
}

.block-views-exposed-filter-blockcrm-event-p-crm-events .form-actions .form-submit {
  line-height: 1.5;
}

@media (min-width: 1200px) {
  .block-views-exposed-filter-blockcrm-event-p-crm-events .form-actions .form-submit {
    width: auto;
  }
}
.block-views-exposed-filter-blockcrm-event-p-crm-events .form-actions .form-submit:hover {
  background-color: var(--color-green-800);
}

.blk-closing-soon-cta {
  width: 100dvw;
  position: relative;
  left: initial;
  right: initial;
  margin-inline: calc(50% - 50dvw);
  padding-block: 40px 28px;
}

@media (min-width: 1200px) {
  .blk-closing-soon-cta {
    padding-block: 80px 28px;
  }
}