/**
 * Theme Name:     Twenty Twenty Child
 * Author:         the WordPress team
 * Template:       twentytwenty
 * Text Domain:	   twenty-twenty-child
 * Description:    Our default theme for 2020 is designed to take full advantage of the flexibility of the block editor. Organizations and businesses have the ability to create dynamic landing pages with endless layouts using the group and column blocks. The centered content column and fine-tuned typography also makes it perfect for traditional blogs. Complete editor styles give you a good idea of what your content will look like, even before you publish. You can give your site a personal touch by changing the background colors and the accent color in the Customizer. The colors of all elements on your site are automatically calculated based on the colors you pick, ensuring a high, accessible color contrast for your visitors.
 */

:root {
    --color-blue-200: #59CEEE;
	--color-blue-500-25: #1D5BD040;
    --color-blue-500: #1D5BD0;
    --color-blue-900: #000066;
    --color-red-500: #E04A56;

    --color-white: #FFFFFF;
    --color-gray-100: #F5F5F5;
	--color-gray-200: #EEEEEE;
	--color-gray-250: #D8D8D8;
    --color-gray-300: #C8C8C8;
	--color-gray-350: #B2B2B2;
    --color-gray-500: #555555;
    --color-black: #000000;

    --color-primary-1: var(--color-blue-200);
    --color-primary-2: var(--color-blue-500);
    --color-primary-3: var(--color-red-500);
    --color-secondary: var(--color-blue-900);

	--fs-5xl: 60px;
	--fs-4xl: 48px;
	--fs-3xl: 36px;
	--fs-2xl: 30px;
	--fs-xl: 24px;
	--fs-lg: 22px;
	--fs-ml: 20px;
	--fs-md: 18px;
	--fs-sm: 16px;
	--fs-xs: 14px;
	--fs-2xs: 12px;

	--font-family: 'Poppins', 'Noto Sans TC', Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
  	--fw-bold: bold;
	
	font-weight: 400;
	letter-spacing: 0;

	font-synthesis: none;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

}
@media screen and ( max-width: 768px ) {
	:root {
		--fs-5xl: 40px;
		--fs-4xl: 36px;
		--fs-3xl: 30px;
		--fs-2xl: 26px;
		--fs-xl: 24px;
		--fs-lg: 22px;
		--fs-ml: 20px;
		--fs-md: 18px;
		--fs-sm: 16px;
		--fs-xs: 14px;
		--fs-2xs: 12px;
	}
}
* {
	box-sizing: border-box;
}

/* Colors ------------------------------------ */

a {
	color: var(--color-primary-2);
}

blockquote {
	border-color: var(--color-primary-2);
}

button,
.button,
.faux-button,
.wp-block-button__link,
.wp-block-file .wp-block-file__button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	background-color: var(--color-primary-2);
}
#site-content {
	overflow: initial;
}
.section-content {
	overflow: hidden;
}
.section-content.enable-sticky {
	overflow: initial;
}
/* change primary color - button outline  */
.is-style-outline .wp-block-button__link:not(.has-text-color) {
  color: var(--color-primary-2);
}
/* change primary color - button fill  */
button:not(.toggle), .button, .faux-button, .wp-block-button__link, .wp-block-file .wp-block-file__button, input[type="button"], input[type="reset"], input[type="submit"], .bg-accent, .bg-accent-hover:hover, .bg-accent-hover:focus, :root .has-accent-background-color, .comment-reply-link, #site-content #infinite-handle span button, #site-content #infinite-handle span button:hover, #site-content #infinite-handle span button:focus {
	color: var(--color-primary-2);
}
/* change primary color - text and link accent  */
.color-accent, 
.color-accent-hover:hover, 
.color-accent-hover:focus, 
:root .has-accent-color, 
.has-drop-cap:not(:focus):first-letter, 
.wp-block-button.is-style-outline, 
a {
  color: var(--color-primary-2);
}
 
/* change primary color - quote block */
blockquote, 
.border-color-accent, 
.border-color-accent-hover:hover, 
.border-color-accent-hover:focus {
  border-color: var(--color-primary-2);
}

pre, fieldset, input, textarea, table, table *, hr {
	border-color: var(--color-gray-250);
}
.header-footer-group, body:not(.overlay-header) #site-header .toggle, .menu-modal .toggle {
	text-decoration: none;
}
.header-footer-group, body:not(.overlay-header) #site-header .toggle, .menu-modal .toggle {
	color: var(--color-secondary);
}
.header-footer-group {
	color: var(--color-black);
}
body:not(.overlay-header) #site-header .toggle:hover, .menu-modal .toggle:hover {
	color: var(--color-primary-2);
}
body:not(.overlay-header) .primary-menu ul {
	background-color: var(--color-white)
}

/* BLOCK COLOR */
.has-primary-light-blue-background-color { background-color: var(--color-blue-200) !important; }
.has-primary-light-blue-color { color: var(--color-blue-200) !important; }
.has-primary-blue-background-color { background-color: var(--color-blue-500) !important; }
.has-primary-blue-color { color: var(--color-blue-500) !important; }
.has-primary-red-background-color { background-color: var(--color-red-500) !important; }
.has-primary-red-color { color: var(--color-red-500) !important; }
.has-secondary-blue-background-color { background-color: var(--color-blue-900) !important; }
.has-secondary-blue-color { color: var(--color-blue-900) !important; }
.has-white-background-color { background-color: var(--color-white) !important; }
.has-white-color { color: var(--color-white) !important; }
.has-gray-background-color { background-color: var(--color-gray-500) !important; }
.has-gray-color { color: var(--color-gray-500) !important; }
.has-black-background-color { background-color: var(--color-black) !important; }
.has-black-color { color: var(--color-black) !important; }

/* COLOR */

.color-accent,
.color-accent-hover:focus,
.color-accent-hover:hover {
	color: var(--color-primary-2);
}

/* BACKGROUND COLOR */

.bg-accent,
.bg-accent-hover:focus,
.bg-accent-hover:hover {
	background-color: var(--color-primary-2);
}

/* BORDER COLOR */

.border-color-accent,
.border-color-accent-hover:focus,
.border-color-accent-hover:hover {
	border-color: var(--color-primary-2);
}

/* FILL COLOR */

.fill-children-accent,
.fill-children-accent * {
	fill: var(--color-primary-2);
}

.social-icons a {
	background: var(--color-primary-2);
}
.footer-social a {
	background-color: var(--color-primary-2);
}
/* CUSTOM COLORS */

:root .has-accent-color {
	color: var(--color-primary-2);
}

:root .has-accent-background-color {
	background-color: var(--color-primary-2);
	color: #fff;
}

/* Block Typography Classes ------------------ */
.has-drop-cap:not(:focus)::first-letter {
	color: var(--color-primary-2);
}
/* Block: Button ----------------------------- */
.wp-block-button.is-style-outline {
	color: var(--color-primary-2);
}
.wp-block-buttons>.wp-block-button {
	flex-grow: 1;
}
.wp-block-button .wp-block-button__link:where(.is-style-outline),
.wp-block-button:where(.is-style-outline)>.wp-block-button__link {
	padding: 0.6em 1em 0.5em;
}
.wp-block-button__link {
	display: block;
}
.is-style-outline .wp-block-button__link {

}
/* Block: Pullquote -------------------------- */
.wp-block-pullquote::before {
	color: var(--color-primary-2);
}
/* COMMENT FOOTER */
.comment-reply-link {
	background-color: var(--color-primary-2);
}

/**
 * Reset
*/
header, section {
	padding: 0 !important;
}
.section-inner, .section-inner.medium {
	width: 100%;
	max-width: none;
}
h1, h2, h3, h4, h5, h6, .faux-heading {
	letter-spacing: 0;
}
h1, .heading-size-1 {
	font-weight: 700;
}
h1,
.heading-size-1,
h2,
.heading-size-2,
h3,
.heading-size-3 {
	margin: 0;
}

h4,
.heading-size-4,
h5,
.heading-size-5,
h6,
.heading-size-6 {
	margin: 0;
}
.entry-content h1, .entry-content h2, .entry-content h3 {
	margin: 0;
}

hr {
	margin: 1em auto;
}
/**
 * Custom Style
*/
/* general */
body {
	font-family: var(--font-family);
}
a {
	text-decoration: none;
}
.primary-menu a:hover, .primary-menu a:focus, .primary-menu .current_page_ancestor {
	text-decoration: none;
}

/* color set */
.text-primary-1 { color: var(--color-primary-1); }
.text-primary-2 { color: var(--color-primary-2); }
.text-primary-3 { color: var(--color-primary-3); }
.text-secondary { color: var(--color-secondary); }

/* text */
.text-center {
	text-align: center;
}

/* layout */
.container {
	max-width: 1120px;
	margin: 0 auto;
	padding: 80px 30px;
}
.section-content {
	background-color: var(--color-gray-100);
}
.section-secondary {
	background-color: var(--color-gray-200);
	overflow: hidden;
}
.section-inner + .section-inner {
	margin-top: 80px;
}
.container:has(.top-card) {
	padding-top: 0;
}
.post-meta-wrapper {
	max-width: 1100px;
}
.has-side-content {
	display: flex;
	gap: 80px;
}
.container.has-side-content {
	max-width: 1600px;
}
.container.has-side-content .entry-content {
	flex-grow: 1;
}
.container.has-side-content .entry-content .entry-content-inner,
.container.has-side-content .entry-content .dec-tape {
	max-width: none !important;
}
@media screen and ( max-width: 768px ) {
	.has-side-content {
		flex-direction: column;
	}
}
/* bg */
section:has(.sec-bg) {
	position: relative;
}
.sec-bg {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.sec-bg img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* btn */
.btn-circle {
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-primary-2);
	color: var(--color-white);
	border-radius: 50%;
	padding: 0;
}
.btn-circle .icon-play {
	margin-left: 2px;
}
.btn-primary {
	display: inline-block;
	background-color: var(--color-primary-2);
	color: var(--color-white);
	font-weight: bold;
	font-size: var(--fs-xl);
	padding: 10px 40px 8px;
	border-radius: 999px;
}
.btn-primary .icon-next {
	margin-left: 8px;
}
.btn-circle .icon-next,
.btn-primary .icon-next {
	display: inline-block;
	transition: all 0.4s ease;
}
.post-card:hover .icon-next {
	transform: translateX(8px);
}
.btn-primary:hover .icon-next {
	transform: translateX(8px);
}
.btn-primary.btn-event {
	background-color: var(--color-primary-1);
	padding: 16px 60px 12px;
	font-size: var(--fs-2xl);
}
/* title dec */
.dec-tape {
	position: relative;
	display: block;
	width: 100%;
	margin: 16px auto 16px;
	height: 10px;
}
.dec-tape::before {
	content: '';
	position: absolute;
	display: block;
	width: 32px;
	height: 10px;
	background-color: var(--color-primary-2);
	top: 0px;
	left: -16px;
}
.side-content > .dec-tape {
	margin-top: 0;
}
.section-title {
	margin-bottom: 24px;
}
.section-title.center {
	width: fit-content;
	margin: 0 auto 24px;
}
/* side menu */
.side-content {
	width: 320px;
	max-width: fit-content;
	flex-shrink: 0;
}
.side-menu {
	margin: 0;
	list-style: none;
	background-color: white;
	padding: 24px 16px;
	position: sticky;
	top: 60px;
}
.side-menu ul {
	margin: 8px 0 0 0;
	padding-left: 12px;
	list-style: none;
}
.side-menu ul a {
	border-left: 4px solid var(--color-primary-2);
}
.side-menu li {
	margin: 0;
}
.side-menu > li > a {
	font-weight: bold;
}
.side-menu > li > a:hover,
.side-menu > li > a.active {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.side-menu a {
	display: block;
	padding: 6px 12px 6px 12px;
}
.side-menu ul a:hover,
.side-menu ul a.active {
	background-color: var(--color-primary-2);
	color: white;
}
/* table */
table, .entry-content table {
	margin: 0 0 2em 0;
	background-color: var(--color-white);
	border: 0;
	border-top: 2px solid var(--color-primary-2);
	border-right: 1px solid var(--color-gray-200);
	border-bottom: 1px solid var(--color-gray-200);
	border-left: 0px solid var(--color-gray-200);
}
table td, table th {
	padding: 16px 24px;
	border: 0;
	border-top: 1px solid var(--color-gray-200);
	border-left: 1px solid var(--color-gray-200);
}

table tbody tr th {
	width: 200px;
}
table * {
	margin: 0;
}
table * + * {
	margin-top: 1em;
}
table a:hover {
	text-decoration: underline !important;
	text-underline-offset: 3px;
}
.table-notes {
	border-color: var(--color-primary-2);
	color: var(--color-gray-500);
}
.table-event {
	margin-top: 0;
	border-color: var(--color-primary-1);
	color: var(--color-gray-500);
}
.note-content {
	margin-top: 2em;
}
/* menu */
#site-header {
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.16);
}
#site-header .container {
	padding-top: 0;
	padding-bottom: 0;
}
.site-logo img {
	max-height: 55px;
}
.primary-menu {
	display: flex;
}
.primary-menu li {
	font-size: var(--fs-md);
	margin: 0;
}
.primary-menu li a {
	padding: 34px 1em 26px 1em;
}
html[lang='en-US'] .primary-menu li a {
	font-size: var(--fs-sm);
}
html[lang='en-US'] .primary-menu > li > a {
	width: min-content;
	height: 100%;
	display: flex;
	align-items: center;
}
.primary-menu .current-menu-item > a,
.primary-menu .current-post-ancestor > a,
.primary-menu li:hover > a,
.primary-menu li a:hover,
.primary-menu .current-menu-parent > a {
	background-color: var(--color-primary-2);
	color: var(--color-white) !important;
	text-decoration: none !important;
}
.nav-toggle .toggle-inner {
	padding: 0
}
.nav-toggle .toggle-icon, .nav-toggle svg {
    height: auto;
    width: auto;
}
.header-toggles .toggle {
	color: var(--color-secondary);
}
.header-toggles .toggle:hover {
	color: var(--color-primary-2);
}
body:not(.overlay-header) .primary-menu > li > .icon {
	display: none;
}
.primary-menu .sub-menu {
	top: 100%;
	border-radius: 0;
	border-top: 2px solid var(--color-primary-2);
	padding: 0;
	transform: translateX(-0.6rem);
	box-shadow: 0 0px 2px rgba(0, 0, 0, 0.16);
	left: 0;
	right: auto;
	pointer-events: none;
}
.primary-menu .menu-item:hover .sub-menu {
	pointer-events: initial;
}
.primary-menu .sub-menu a {
	color: var(--color-black) !important;
	padding: 16px 24px;
}
.primary-menu .current-menu-item .sub-menu a {
	background: var(--color-white);
	color: var(--color-black) !important;
}
.primary-menu .current-menu-item .sub-menu a:hover,
.primary-menu .sub-menu .current-menu-item a,
.primary-menu .sub-menu li.current-post-ancestor a,
.primary-menu .sub-menu li.current-menu-parent a {
	background-color: var(--color-primary-2);
	color: var(--color-white) !important;
}
.primary-menu .sub-menu li:first-child a {
	padding-top: 20px;
}
.primary-menu .sub-menu li + li {
	border-top: 1px solid var(--color-gray-200);
}
.primary-menu .sub-menu::before, .primary-menu .sub-menu::after {
	content: none;
}
.header-inner .header-navigation-wrapper .toggle {
	padding: 1em;
}
.language-switcher {
	margin: 0;
	padding: 0;
	list-style: none;
}
.language-switcher li {
	padding: 0;
	margin: 0;
}
.language-switcher li.current-lang {
	display: none;
}
.language-switcher li a {
	font-weight: 700;
	white-space: nowrap;
	color: var(--color-secondary);
	padding: 1em;
	display: block;
}
.language-switcher li a:hover {
	color: var(--color-primary-2)
}
.language-wrap {
	display: flex;
	align-items: center;
	padding: 1rem 2.5rem;
}
.mobile-language-switcher a {
	padding: 0.5em;
}
body.touch-enabled .primary-menu > li.menu-item-has-children > a {
	padding-right: 1em;
	margin-right: 0;
}
.primary-menu .sub-menu li.menu-item-has-children > ul,
.primary-menu .sub-menu li.menu-item-has-children:hover > ul {
    right: auto;
    left: 100%;
    top: 0px;
}
.primary-menu .sub-menu .icon {
	color: black;
	transform: rotate(-135deg) translateX(4px);
}
.primary-menu .sub-menu li.menu-item-has-children:hover .icon {
	color: white;
}
@media screen and ( max-width: 960px ) {
	.menu-modal .toggle.close-nav-toggle {
		padding-right: 24px;
	}
	.toggle-icon {
		font-size: 24px;
	}
}
@media (min-width: 700px) {
    .modal-menu > li > a, .modal-menu > li > .ancestor-wrapper > a {
        font-size: 2.4rem;
        padding: 2.5rem 30px;
    }
}
/* page */
h1.entry-title.page-title {
	text-align: left;
	font-size: var(--fs-5xl);
	color: var(--color-secondary);
	margin: 0;
}
/* Archive ----------------------- */
.archive-list {
	display: flex;
	flex-direction: column;
	gap: 80px;
}
.archive-list .archive-inner {
	order: 99;
}
/* .archive-list .archive-inner[data-term^="articles-"],
.archive-list .archive-inner[data-term^="press-releases"] {
	order: 1;
}
.archive-list .archive-inner[data-term^="event-records"] {
	order: 100;
} */
.archive-header {
	position: relative;
}

.archive-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.archive-bg img {
	position: absolute;
	inset: 0;
	left: 40%;
	width: 60%;
	height: 100%;
	object-fit: cover;
}
.archive-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 0));
}
.archive-header-inner {
	position: relative;
}
.archive-header-inner .intro-text {
	text-align: left;
	margin: 0;
}
.archive-title {
	text-align: left;
	font-size: var(--fs-5xl);
	color: var(--color-secondary);
}
.archive-title p {
	margin-bottom: 0;
}
.archive-title-inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 24px;
}
.single-project .archive-header-inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
}
.archive-header-inner .project-icon {
	width: 140px;
	height: auto;
}
@media (max-width: 768px) {
    .single-project .archive-header-inner {
		flex-direction: column-reverse;
		align-items: center;
	}
}
/* Post -------------------------- */
/* post card list */
.post-card-list {
	display: flex;
	margin: 24px 0;
}
.post-card {
	position: relative;
	padding: 24px;
	background-color: var(--color-white);
	border-top: 2px solid var(--color-primary-2);
	height: 300px;
	transition: all 0.4s ease;
}
.entry-header {
	position: relative;
	height: 100%;
}
.post-card .entry-header {
	background-color: transparent;
}
.entry-bg {
	position: absolute;
	inset: 0;
}
.entry-bg::after {
	content: '';
	position: absolute;
	inset: 0;
}
.post-card.has-thumbnail .entry-bg::after {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.7));
}
.chart.post-card.has-thumbnail .entry-bg::after {
	content: none;
}
.chart.post-card.has-thumbnail .entry-bg {
	margin: 100px 80px 70px 25px;
}
.chart.post-card.has-thumbnail .entry-bg img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left;
}
.single-chart .entry-bg::after {
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.entry-bg img {
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	inset: 0;
	object-fit: cover;
}
.entry-header-inner {
	position: relative;
	height: 100%;
}

.entry-categories {
	margin: 0;
}
.entry-categories-inner {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 4px 6px;
	color: var(--color-primary-2);
}
.entry-categories-inner > span {
	position: relative;
	bottom: -1px;
}
.post-card.has-thumbnail .entry-categories-inner > span {
	color: var(--color-white);
}
.post-categories, .post-tags {
	list-style: none;
	margin: 0;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 4px 6px;
}

.post-categories li, .post-tags li {
	display: inline-block;
	margin: 0;
	line-height: 1;
}
html[lang='en-US'] .entry-categories-inner {
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}
html[lang='en-US'] .post-categories,
html[lang='en-US'] .post-tags,
html[lang='en-US'] .post-categories li,
html[lang='en-US'] .post-tags li {
	display: inline;
}
html[lang='en-US'] .post-categories li:after,
html[lang='en-US'] .post-tags li:after {
	content: ', ';
}
html[lang='en-US'] .post-categories li:last-of-type:after,
html[lang='en-US'] .post-tags li:last-of-type:after {
	content: none;
}
html[lang='en-US'] .entry-categories-inner > span {
	padding: 0 5px;
}
html[lang='en-US'] .post-card .post-tags {
	display: inline-flex;
}
.entry-categories a, .post-tags a {
	border: 0;
	font-size: var(--fs-xs);
	font-weight: 400;
	margin: 0;
	color: var(--color-primary-2);
}
.entry-categories a:hover, .post-tags a:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}
.singular:not(.overlay-header) .entry-header .entry-categories-inner a {
	color: var(--color-primary-2);
}
.post-card.has-thumbnail .entry-header .entry-categories-inner a,
.post-card.has-thumbnail .entry-header .entry-categories-inner li,
.post-card.has-thumbnail .entry-categories-inner {
	color: var(--color-white);
}
.chart.post-card.has-thumbnail .entry-header .entry-categories-inner a,
.chart.post-card.has-thumbnail .entry-header .entry-categories-inner li,
.chart.post-card.has-thumbnail .entry-categories-inner {
	color: var(--color-primary-2);
}
.entry-title {
	text-align: left;
}
.post-card .entry-title {
	margin: 8px 0;
	font-size: var(--fs-lg);
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
    text-overflow: ellipsis;
}

.post-card .entry-title a {
	color: var(--color-black) !important;
	text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0% 93%;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    transition: background-size .3s;
}
.post-card.has-thumbnail .entry-title {
	color: var(--color-white);
}
.post-card.has-thumbnail .entry-title a {
	color: var(--color-white) !important;
}
.chart.post-card.has-thumbnail .entry-title {
	color: var(--color-black);
}
.chart.post-card.has-thumbnail .entry-title a {
	color: var(--color-black) !important;
}
/* .post-card:hover {
	background-color: var(--color-primary-2);
	color: var(--color-white) !important;
}
.post-card:hover .entry-title a {
	color: var(--color-white) !important;
} */

.entry-title a:focus, .entry-title a:hover {
	text-decoration: none;
	text-underline-offset: 3px;
	background-size: 100% 2px;
}
.secondary-info-list {
	list-style: none;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.entry-secondary-info {
	margin: 0;
	padding-left: calc( 1em + 4px );
	font-size: var(--fs-sm);
	color: var(--color-gray-500);
	margin-right: 16px;
}
.entry-secondary-info > span[class^='icon-'] {
	margin-right: 4px;
	margin-left: calc(-1em - 4px);
	width: 1em;
	display: inline-block;
	text-align: center;
}
.entry-secondary-info span {
	display: inline-block;
}
.entry-secondary-info a {
	display: inline-block;
	color: var(--color-gray-500) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
	overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: text-bottom;
    font-size: 12px;
    max-width: 24em;
}
.entry-secondary-info a span {
	text-decoration: underline;
	text-underline-offset: 2px;
}
.post-card .entry-secondary-info {
	position: absolute;
	left: 0;
	bottom: 0;
	font-weight: 400;
}
.post-card .btn-circle {
	position: absolute;
	right: 0;
	bottom: 0;
}
.post-card .btn-circle {
	color: var(--color-white) !important;
}
.post-card.has-thumbnail .entry-categories-inner a,
.post-card.has-thumbnail .entry-title a,
.post-card.has-thumbnail .entry-secondary-info {
	color: var(--color-white);
}
.chart.post-card.has-thumbnail .entry-categories-inner a,
.chart.post-card.has-thumbnail .entry-title a,
.chart.post-card.has-thumbnail .entry-secondary-info {
	color: var(--color-gray-500);
}
/* post card list grid */
.post-card-list-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
@media screen and ( max-width: 768px ) {
	.post-card-list-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}
/* post list */
.post-list {
	display: flex;
	flex-direction: column;
	gap: 32px;
}
.post-list .entry-date {
	font-size: var(--fs-2xs);
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0 0 4px;
}
.post-list .entry-date::after {
	content: '';
	display: block;
	flex-grow: 1;
	height: 1px;
	background-color: var(--color-gray-200);
	margin-left: 12px;
}
.post-list .entry-title {
	margin: 8px 0 4px;
}
.post-list .entry-title a {
	color: var(--color-secondary);
}
.post-list .entry-excerpt {
	color: var(--color-gray-500);
	font-size: var(--fs-sm);
	margin-bottom: 0;
}
@media screen and ( max-width: 768px ) {
	.post-list .entry-excerpt {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.single .post-list .entry-excerpt {
		padding: 0;
		border-color: var(--color-white);
		border-style: solid;
		border-width: 8px 12px;
	}
}
/* focus list */
.focus-list {
	display: flex;
	align-items: stretch;
	gap: 16px;
	margin: 0px 0 24px;
}
.focus-list.swiper-slide {
	margin: 0;
	gap: 0;
	display: block;
	aspect-ratio: 10 / 3.94;
}
.focus-list.swiper-slide .post-card > .thumbnail-image,
.focus-list.swiper-slide .post-card > .thumbnail-image img {
	position: absolute;
	height: 100%;
	width: 100%;
	object-fit: contain;
	inset: 0;
}
.focus-list.swiper-slide .post-card > .thumbnail-image img {
	height: 90%;
}
.focus-list.swiper-slide .entry-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: rgba(255, 255, 255, 0.20);
	backdrop-filter: blur(8px);
}
.focus-list.swiper-slide .post-card > .thumbnail-image::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to top, rgba(255, 255, 255, 10) 10%, rgba(255, 255, 255, 0) 50%);
}
.focus-list-wrap .focus-list:nth-of-type(even){
	flex-direction: row-reverse;
}
.focus-list .post-card {
	flex-grow: 1;
}
.focus-list > .post-card {
	height: auto;
	min-height: 400px;
	padding: 0px 30px 30px;
	display: flex;
	flex-direction: column;
}
.focus-list.swiper-slide > .post-card {
	height: 100%;
}
.focus-list > .post-card.type-event {
	padding: 0px 30px 30px;
}
.focus-list > .post-card.has-thumbnail {
	max-height: calc(90vh + 16px);
}
.focus-list > .post-card.has-thumbnail .entry-bg::after {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 50%);
}
.focus-list > .post-card .entry-header {
	display: flex;
	align-items: flex-end;
	flex-grow: 1;
}
.focus-list > .post-card .entry-header-inner {
	height: fit-content;
}
.focus-list > .post-card .entry-title {
	font-size: var(--fs-3xl);
	padding-right: 80px;
	margin-bottom: 0;
}
.focus-list > .post-card .entry-categories {
	display: inline-block;
}
.focus-list > .post-card .entry-secondary-info {
	position: relative;
	display: inline-block;
	border-left: 1px solid var(--color-gray-300);
	margin-left: 8px;
	padding-left: 2em;
}
.focus-list > .post-card .post-tags {
	position: relative;
	top: 0;
	align-items: flex-start;
	margin-bottom: 12px;
}
.focus-list > .post-card .post-tags li::after {
	content: none;
}
.focus-list > .post-card .post-tags li a {
	display: block;
	background-color: var(--color-primary-2);
	color: var(--color-white);
	padding: 16px 11px 12px 12px;
	font-size: var(--fs-md);
	font-weight: bold;
	letter-spacing: 1px;
}
.focus-list > .post-card .btn-circle {
	bottom: 3px;
}
.focus-list .focus-side {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 320px;
	width: 38%;
}
.focus-list .focus-side .post-card {
	height: 240px;
	max-height: 45vh;
}
.focus-list .focus-side .post-card .entry-title {
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media screen and ( max-width: 768px ) {
	.focus-list {
		flex-direction: column;
	}
	.focus-list > .post-card .entry-title {
		padding-right: 0;
		padding-bottom: 50px;
	}
	.focus-list > .post-card.has-thumbnail .entry-bg::after {
		background: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.15) 100%);
	}
	.focus-list .focus-side {
		flex-direction: row;
		width: 100%;
	}
	.focus-list .focus-side .post-card {
		flex-grow: 1;
	}
}
@media screen and ( max-width: 500px ) {
	.focus-list > .post-card {
		min-height: 300px;
	}
	.focus-list .focus-side {
		flex-direction: column;
		min-width: auto;
	}
	.focus-list .focus-side .post-card {
		height: 300px;
		max-height: none;
	}
}
/* event */
.focus-list > .post-card.event-card {
	padding-top: 30px;
	border-color: var(--color-primary-1);
}
.focus-list > .post-card.event-card.has-thumbnail {
	height: 90vh;
	max-height: 480px;
}
.focus-list > .post-card.event-card .entry-bg {
	right: 38%;
}
.focus-list > .post-card.event-card .entry-header {
	align-items: stretch;
}
.focus-list > .post-card.event-card.has-thumbnail .entry-header {
	margin-left: calc(62% + 30px);
}
.focus-list > .post-card.event-card .entry-header .entry-header-inner {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	height: 100%;
    justify-content: space-between;
}
.focus-list > .post-card.event-card.has-thumbnail .entry-title a {
	color: var(--color-black) !important;
}
.focus-list > .post-card.event-card .entry-secondary-info {
	border-left: none;
	margin-left: 0;
	padding-left: 1.5em;
	color: var(--color-primary-1);
	font-size: var(--fs-sm);
}
.focus-list > .post-card.event-card .event-date {
	font-size: var(--fs-5xl);
	font-weight: bold;
	color: var(--color-primary-1);
	line-height: 1;
    padding-left: 2px;
}
.focus-list > .post-card.event-card .btn-circle {
	background-color: var(--color-primary-1);
}
.focus-list > .post-card.event-card .entry-excerpt {
	color: var(--color-gray-500);
	margin-top: 0.5em;
}
.focus-list > .post-card .event-date {
	font-size: var(--fs-5xl);
	font-weight: bold;
	color: var(--color-white);
	background-color: var(--color-primary-1);
	line-height: 1;
	padding: 12px;
}
.focus-list > .post-card.event-card .event-date {
	background-color: transparent;
}
/* card color */
/* .category-media-coverage .dec-tape::before {
	background-color: var(--color-primary-3);
}
.category-media-coverage .post-card .btn-circle,
.category-media-coverage .focus-list > .post-card .btn-circle,
.category-media-coverage .focus-list > .post-card .post-tags li a,
.category-media-coverage .swiper-pagination-bullet-active {
	background-color: var(--color-primary-3);
}
.category-media-coverage .post-card,
.category-media-coverage .focus-list > .post-card {
	border-color: var(--color-primary-3);
}
.category-media-coverage .archive-title-inner a,
.category-media-coverage .entry-categories a {
	color: var(--color-primary-3);
} */
/* 
.category-international-engagement .dec-tape::before {
	background-color: var(--color-secondary);
}
.category-international-engagement .post-card .btn-circle,
.category-international-engagement .focus-list > .post-card .btn-circle,
.category-international-engagement .focus-list > .post-card .post-tags li a,
.category-international-engagement .swiper-pagination-bullet-active {
	background-color: var(--color-secondary);
}
.category-international-engagement .post-card,
.category-international-engagement .focus-list > .post-card {
	border-color: var(--color-secondary);
}
.category-international-engagement .archive-title-inner a,
.category-international-engagement .entry-categories a {
	color: var(--color-secondary);
} */

.post-type-archive-event .dec-tape::before {
	background-color: var(--color-primary-1);
}
.post-type-archive-event .post-card .btn-circle,
.post-type-archive-event .focus-list > .post-card .btn-circle,
.post-type-archive-event .focus-list > .post-card .post-tags li a,
.post-type-archive-event .swiper-pagination-bullet-active {
	background-color: var(--color-primary-1);
}
.post-type-archive-event .post-card,
.post-type-archive-event .focus-list > .post-card {
	border-color: var(--color-primary-1);
}
.post-type-archive-event .archive-title-inner a,
.post-type-archive-event .entry-categories a {
	color: var(--color-primary-1);
}


/* single */
h1.entry-title {
	font-size: var(--fs-3xl);
	margin-top: 12px;
}
.single h1.entry-title {
	margin: 12px 0 50px;
}
.single-chart h1.entry-title {
	margin-bottom: 24px;
}
.single-chart .entry-header p {
	/* font-size: var(--fs-lg); */
}
.single .entry-header-inner {
	padding-bottom: 12px;
}
.single .section-content .container,
.single .section-secondary .container {
	padding-top: 80px;
	padding-bottom: 80px;
}
.single .section-content .container:has(.top-card) {
	padding-top: 0;
}
.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
	max-width: 800px;
	width: 100%;
	font-size: var(--fs-ml);
}
.single-chart .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
	max-width: 1240px;
}
.single article:not(.post-card) > header .entry-bg::after {
	background: linear-gradient(to right, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 0) 100%),
				linear-gradient(to top, rgba(255, 254, 255, 0.3) 0%, rgba(255, 255, 255, 0) 25%);
}
.single article:not(.post-card) > header .entry-bg img {
	left: 40%;
	width: 60%;
}
.single .entry-excerpt {
	background-color: var(--color-white);
	padding: 30px 36px 24px;
	letter-spacing: 0.05em;
	line-height: 1.5;
	font-weight: 500;
}
.single .entry-excerpt p {
	margin-bottom: 0;
}
.single .entry-content * + p {
	margin-top: 1em;
}
.single .entry-content h1 {
	font-size: 30px;
}
.single .entry-content h2 {
	font-size: 24px;
}
.single .entry-content h3 {
	font-size: 20px;
}
.single .entry-content h4 {
	font-size: 18px;
}
.single .entry-content h5 {
	font-size: 16px;
}
.single .entry-content h6 {
	font-size: 14px;
}
.single .youtube-card {
	margin-bottom: 80px;
}
.single .spotify-card {
	margin-top: 80px;
	margin-bottom: 80px;
}
/* single event */
.single-event:not(:has(.event_category-press-releases)) .entry-image {
	width: 100%;
	height: auto;
	margin: 0 auto;
	background-color: var(--color-gray-100);
}
.single-event:not(:has(.event_category-press-releases)) .entry-image img {
	width: auto;
	height: auto;
	margin: 0 auto;
}
.single-event:not(:has(.event_category-press-releases)) h1.single-title,
.single-event:not(:has(.event_category-press-releases)) h2.single-title {
	max-width: 800px;
	margin: 0 auto 24px;
	font-size: 4.8rem !important;
}
.single-event:not(:has(.event_category-press-releases)) .table-event {
	margin-bottom: 80px;
}
.event-btns {
	display: flex;
	align-items: center;
	justify-content: center;
}
.section-google-map iframe {
	height: 70vh;
	max-height: 500px;
}
.section-google-map p {
	margin-bottom: 0;
}
@media screen and ( max-width: 768px ) {
	.single-event:not(:has(.event_category-press-releases)) h1.single-title,
	.single-event:not(:has(.event_category-press-releases)) h2.single-title {
		font-size: 2.4rem !important;
	}
	.single-event:not(:has(.event_category-press-releases)) table.table-event tbody tr th {
		width: 110px;
	}
	.single-event:not(:has(.event_category-press-releases)) table.table-event td,
	.single-event:not(:has(.event_category-press-releases)) table.table-event th {
		padding: 8px 13px;
	}
}
/* comment */
.comment-reply-title {
	font-size: var(--fs-lg);
	text-align: left;
}

/* project */
.section-project {
	overflow: hidden;
}
.section-project .sec-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(245, 245, 245, 0.8), rgba(245, 245, 245, 0.25));
}
.section-project .sec-bg img {
	opacity: 0;
	transition: all 0.6s ease;
}
.section-project .sec-bg img.active {
	opacity: 1;
}
.section-project .container {
	padding-top: 70px;
}
.project-swiper {
	position: relative;
	max-width: 720px;
	margin: 0 auto;
}
.project-swiper .swiper-pagination {
	text-align: center;
	bottom: -24px;
}
.project-swiper .swiper-slide {
	opacity: 0.75;
}
.project-swiper .swiper-slide-active {
	opacity: 1;
}
.project-card {
	background: rgba(255, 255, 255, 0.75);
	/* backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px); */
	padding: 40px 60px;
	max-width: 720px;
	margin: 0 auto;
}

.project-card h3 {
	text-align: center;
	font-size: var(--fs-5xl);
	color: var(--color-primary-2);
	margin-bottom: 12px;
}

.project-card h4 {
	text-align: center;
	font-size: var(--fs-3xl);
}
.project-card .project-intro {
	color: var(--color-gray-500);
	text-align: justify;
}
.project-card .project-intro hr {
	border-color: var(--color-gray-500);
	border-style: dotted;
}
.list-step-inline {
	display: flex;
	list-style: none;
	margin: 0px auto;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px 0;
}
.list-step-inline li {
	margin: 0;
	line-height: 1;
}
.list-step-inline li + li::before {
	content: '\e907';
	font-family: 'icomoon' !important;
	display: inline-block;
	margin: 0 10px;
	font-size: 0.75em;
}
.project-top-card {
	max-width: none;
	border-top: 2px solid var(--color-primary-2);
    background-color: var(--color-white);
	padding: 40px 60px;
}
.project-top-card h3 {
	font-size: var(--fs-xl);
	margin-bottom: 12px;
}
.project-content {
}
.project-list.swiper-wrapper {
	align-items: center;
}

@media screen and ( max-width: 768px ) {
	.project-swiper {
		width: calc(100% + 40px);
		margin-left: -20px;
	}
	.project-card {
		padding: 40px 30px;
	}
	.project-top-card {
		padding: 30px 30px;
	}
}
/* author list */
.author-list {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 48px 24px;
	margin-top: 24px;
}
.author-list .author {
	color: var(--color-black);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.author-list .author img {
	border-radius: 50%;
	max-width: 120px;
	aspect-ratio: 1 / 1;
    object-fit: cover;
}
.author-list .author h4 {
	font-size: var(--fs-ml);
	margin-top: 12px;
	margin-bottom: 6px;
}
.author-list .author h5 {
	font-size: var(--fs-xs);
	font-weight: 500;
	max-width: 8em;
}
@media screen and ( max-width: 768px ) {
	.author-list {
		grid-template-columns: repeat(3, 1fr);
		gap: 48px 24px;
	}
}
@media screen and ( max-width: 500px ) {
	.author-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 48px 24px;
	}
}
/* author */
.author-card {
	display: flex;
	align-items: stretch;
	border-top: 2px solid var(--color-primary-2);
	background-color: var(--color-white);
}
.author-pics {
	list-style: none;
	margin: 0;
}
.author-pics li {
	margin: 0;
}
.social-media-list {
	display: flex;
	gap: 0.5em;
	font-size: var(--fs-lg);
}
.author-pic-wrap {
	position: relative;
	height: 500px;
	aspect-ratio: 1 / 1;
	max-width: 50%;
	overflow: hidden;
	min-width: 500px;
}
.author-pics img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.author-info {
	position: relative;
	padding: 24px 32px;
}
.author-info .author-portrait {
	border-radius: 50%;
	width: 120px;
	height: 120px;
	border: 3px solid var(--color-white);
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.6);
}
.author-job-title {
	color: var(--color-primary-2);
	font-size: var(--fs-md);
}
.author-title {
	font-size: var(--fs-2xl);
	margin: 6px 0 8px;
}
.intro-wrap {
	margin-top: 36px;
}
.intro-title {
	font-size: var(--fs-ml);
}
@media screen and ( max-width: 768px ) {
	.author-card {
		flex-direction: column;
	}
	.author-pic-wrap {
		height: auto;
		width: 100%;
		max-width: 100%;
		min-width: auto;
	}
}
/* swiper */
.post-swiper {
	position: relative;
}
.post-swiper::before, .post-swiper::after {
	content: '';
	position: absolute;
	height: 300px;
	top: 0;
	width: calc(50vw - 530px);
	z-index: 10;
	pointer-events: none;
}
.post-swiper::before {
	left: calc(-50vw + 530px);
	background: linear-gradient(to right, rgba(245, 245, 245, 1), rgba(245, 245, 245, 0));
}
.post-swiper::after {
	right: calc(-50vw + 530px);
	background: linear-gradient(to left, rgba(245, 245, 245, 1), rgba(245, 245, 245, 0));
}
.section-secondary .post-swiper::before {
	background: linear-gradient(to right, rgba(238, 238, 238, 1), rgba(238, 238, 238, 0));
}
.section-secondary .post-swiper::after {
	background: linear-gradient(to left, rgba(238, 238, 238, 1), rgba(238, 238, 238, 0));
}
.post-swiper .swiper-pagination {
	max-width: 1060px;
    margin: 0 auto;
    right: 0px;
	left: 2px;
    padding: 0;
	bottom: -36px;
}
.swiper-pagination {
	text-align: right;
	padding: 0 16px;
}
.swiper-pagination-bullet {
	border-radius: 0;
	width: 16px;
	height: 4px;
	transition: all 0.4s ease;
}
.swiper-pagination-bullet-active {
	width: 32px;
	background-color: var(--color-primary-2);
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 2px;
}
.swiper-button-next, .swiper-button-prev {
	color: var(--color-primary-2);
	transition: all 0.4s ease;
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
	right: -50px;
}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
	left: -50px;
}
.swiper-button-next:hover, .swiper-rtl .swiper-button-prev:hover {
	transform: translateX(8px);
}
.swiper-button-prev:hover, .swiper-rtl .swiper-button-next:hover {
	transform: translateX(-8px);
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
	opacity: 0;
}
@media screen and ( max-width: 768px ) {
	.swiper-pagination-bullet {
		width: 8px;
	}
	.swiper-pagination-bullet-active {
		width: 32px;
	}
	.swiper-button-next, .swiper-button-prev {
		top: 0;
	}
	.swiper-button-next, .swiper-rtl .swiper-button-prev {
		right: 15px;
	}
	.swiper-button-prev, .swiper-rtl .swiper-button-next {
		left: 15px;
	}
}
/* about */
.logo-list {
	list-style: none;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 60px 40px;
	justify-content: space-evenly;
}
.logo-list li {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 33%;
	max-width: 240px;
	font-size: var(--fs-xs);
}

.logo-list li img {
	max-height: 50px;
	width: auto;
	margin-bottom: 20px;
}
.logo-list li h5 {
	font-size: var(--fs-xs);
	margin-bottom: 6px;
	text-align: center;
}
.logo-list li p {
	font-size: var(--fs-xs);
}
.logo-list .logo-link:hover {
	opacity: 0.75;
}
.img-intro-list {
	list-style: none;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 40px;
	max-width: 770px;
	margin: 0px auto 0;
}
.img-intro-list li {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 40px;
	position: relative;
	padding: 40px 0;
}
.img-intro-list li + li::before {
	content: '';
	position: absolute;
	display: block;
	width: 90px;
	height: 6px;
	border-radius: 99px;
	inset: -20px 0 auto 0;
	background-color: var(--color-primary-2);
	margin: auto;
}
.img-intro-list li img {
	width: 166px;
}
.img-intro-list li h3 {
	font-size: var(--fs-2xl);
	margin-bottom: 6px;
}
.img-intro-list li p {
	margin-bottom: 0;
}
.bulletin-list {
	list-style: none;
	margin: 0;
	display: flex;
	flex-direction: column;
	max-width: 620px;
	margin: 0 auto;
}
.bulletin-list li {
	margin: 0;
	padding: 0;
}
.bulletin-list li a {
	border-top: 2px solid var(--color-primary-2);
	background-color: var(--color-white);
	color: var(--color-black);
	padding: 24px 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.bulletin-list li a h4 {
	font-size: var(--fs-lg);
}
.bulletin-list li a span {
	color: var(--color-primary-2);
	font-size: var(--fs-lg);
}
.bulletin-list li a:hover {
	background-color: var(--color-primary-2);
	color: var(--color-white);
}
.bulletin-list li a:hover span {
	color: var(--color-white);
}
@media screen and ( max-width: 768px ) {
	.logo-list {
		flex-wrap: wrap;
	}
	.logo-list li {
		width: 100%;
		max-width: 400px;
	}
	.img-intro-list li {
		flex-direction: column;
	}
	.img-intro-list li h3 {
		text-align: center;
	}
}
/* search bar */
.filter-form {
	position: relative;
	width: fit-content;
	margin-bottom: 80px;
}
.filter-form .filter-title-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.filter-form .filter-title-wrap .btn-submit {
	padding: 6px 16px 4px;
	border-radius: 99px;
	color: #FFFFFF;
}
.filter-form .filter-title-wrap .btn-submit:hover,
.filter-form .filter-title-wrap .btn-submit:focus {
	text-decoration: none;
}
.filter-form .filter-title-wrap .btn-submit span {
	display: inline-block;
	transition: all 0.4s ease;
}
.filter-form .filter-title-wrap .btn-submit:hover span,
.filter-form .filter-title-wrap .btn-submit:focus span {
	transform: translateX(4px);
}
.filter-list {
	list-style: none;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}
.filter-list li {
	margin: 0;
}
.filter-item {
	position: relative;
}
.filter-item input[type="checkbox"] {
	display: inline;
	width: auto;
	position: absolute;
    opacity: 0;
    cursor: pointer;
}
.filter-item input[type="checkbox"] + label {
	background-color: var(--color-white);
	padding: 2px 6px;
	margin: 0;
	font-size: var(--fs-sm);
	cursor: pointer;
	transition: all 0.4s ease;
	border: 2px solid transparent;
}
.filter-item input[type="checkbox"] + label:hover {
	border-color: var(--color-primary-2);
}
.filter-item input[type="checkbox"]:checked + label {
	background-color: var(--color-primary-2);
	color: var(--color-white);
}
/* search */
.filter-search input[type="search"] {
	padding: 8px 40px 8px 16px;
	border: 1px solid transparent;
	border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
	width: 100%;
	max-width: 240px;
	height: 100%;
}
.filter-search {
	position: relative;
}
.input-clear {
	position: absolute;
	background: transparent;
	box-sizing: content-box;
	width: 12px;
	height: 12px;
	padding: 8px;
	top: 8px;
	right: 8px;
	opacity: 0.3;
}
.input-clear:hover {
	opacity: 1;
}
/* selector */
.filter-list.filter-select-list {
	margin-bottom: 2em;
}
/* The container must be positioned relative: */
.filter-select {
	position: relative;
	min-width: 240px;
}

.filter-select select {
	display: none; /*hide original SELECT element: */
}

.select-selected {
	background-color: var(--color-white);
}

/* Style the arrow inside the select element: */
.select-selected:after {
	position: absolute;
	font-family: 'icomoon';
	content: "\e907";
	font-size: 12px;
	top: 16px;
	right: 16px;
	transform: rotate(90deg);
}

/* Point the arrow upwards when the select box is open (active): */
.select-selected.select-arrow-active:after {
	transform: rotate(-90deg);
}

/* style the items (options), including the selected item: */
.select-items div,.select-selected {
	padding: 8px 40px 8px 16px;
	border: 1px solid transparent;
	border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
	cursor: pointer;
	font-size: 1.6rem;
}

/* Style items (options): */
.select-items {
	position: absolute;
	background-color: var(--color-white);
	top: 100%;
	left: 0;
	right: 0;
	z-index: 99;
}

/* Hide the items when the select box is closed: */
.select-hide {
	display: none;
}

.select-items div:hover, .same-as-selected {
	background-color: rgba(0, 0, 0, 0.1);
}

/* filter tags */
.filter-tags {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	width: 100%;
	gap: 8px;
}
.filter-tags .filter-tag {
	position: relative;
}
.filter-tags .filter-tag .filter-tag-input {
	height: 0;
	border: 0;
	min-width: auto;
	display: inline;
    width: auto;
    position: absolute;
    opacity: 0;
    cursor: pointer;
}
.filter-tags .filter-tag .filter-tag-label {
	margin: 0;
	background-color: var(--color-white);
	color: var(--color-primary-2);
    padding: 2px 6px;
    margin: 0;
    font-size: var(--fs-sm);
    cursor: pointer;
    transition: all 0.4s ease;
    border: 2px solid transparent;
}
.filter-tags .filter-tag .filter-tag-input:checked + .filter-tag-label {
    background-color: var(--color-primary-2);
    color: var(--color-white);
}

/* search form */
.search-form {
	margin: 1em 0 -0.8rem -0.8rem;
}
/* footer */
.footer-top-visible .footer-nav-widgets-wrapper, .footer-top-hidden #site-footer {
	margin-top: 0;
}
#site-footer {
	padding: 0;
	margin: 0;
	border-top: 1px solid var(--color-secondary) !important;
}
#site-footer .container {
	padding-top: 40px;
	padding-bottom: 40px;
	align-items: center;
}
#site-footer .section-credits a {
	font-size: var(--fs-sm);
}
#site-footer .section-credits a {
	color: #fff;
}
#site-footer p {
	line-height: inherit;
}
.footer-logo {
	max-height: 60px;
	max-width: 620px;
	width: auto;
}
.social-media-list {
	list-style: none;
	display: flex;
	margin: 0;
}
.social-media-list li {
	margin: 0;
}
.social-media-list a {
	color: var(--color-secondary);
}
#site-footer .social-media-list a:hover {
	text-decoration: none;
	color: var(--color-primary-2);
}
#site-footer .section-credits .container {
	padding-top: 20px;
	padding-bottom: 20px;
	position: relative;
}
#site-footer .section-credits {
	background-color: var(--color-secondary);
}
#site-footer .footer-copyright {
	display: block;
	text-align: center;
	color: var(--color-white);
	font-size: var(--fs-sm);
	font-weight: 400;
}
.footer-credits {
	flex-grow: 1;
	justify-content: center;
}
.to-the-top {
	position: absolute;
	right: 30px;
	bottom: 10px;
	background-color: transparent;
	border: 2px solid var(--color-white);
	color: var(--color-white) !important;
	transition: all 0.4s ease;
}
.to-the-top:hover, .to-the-top:focus {
	text-decoration: none !important;
}
.to-the-top .icon-next {
	transform: rotate(-90deg);
}
.to-the-top:hover .icon-next {
	transform: translateY(-6px) rotate(-90deg);
}
@media screen and ( max-width: 768px ) {
	.footer-logo {
		width: 100%;
	}
	#site-footer .section-inner {
		flex-direction: column;
		gap: 16px;
	}
}

/* download */
.tcan-download-box {
	display: flex;
	align-items: center;
	box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.16);
	background-color: white;
}
.tcan-download-box .download-img {
	width: 20%;
	max-width: 160px;
	padding: 10px;
}
.tcan-download-box .download-img img {
	box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.16);
}
.tcan-download-box .download-box-content {
	padding: 10px;
	padding-left: 0;
	text-align: center;
	flex-grow: 1;
}
.tcan-download-box .download-box-content p {
	margin: 0.25em 0 0.5em;
}

@media screen and (max-width: 440px){
	.tcan-download-box {
		flex-direction: column;
	}
	.tcan-download-box .download-img {
		width: auto;
	}
	.tcan-download-box .download-box-content {
		padding-left: 10px;
		padding-bottom: 20px;
	}
	.tcan-download-box .download-box-content p {
		padding: 0 20px;
		font-size: 16px;
	}
}
/* popup */
.popup-wrap {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    overflow-x: hidden;
    overflow-y: auto;
    z-index: 200;
    background: rgba(230, 230, 230, 0.70);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: opacity 0.6s ease;
    opacity: 0;
    pointer-events: none;
}
.popup-wrap.active {
    opacity: 1;
    pointer-events: initial;
}
.popup-block {
    position: absolute;
    max-width: 900px;
    padding: 60px 30px 60px;
    margin: 0 auto;
    top: 0;
    left: 0;
    right: 0;
	bottom: 0;
    transition: all 0.6s ease;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
	display: flex;
	align-items: center;
}
.popup-block.active {
    opacity: 1;
    pointer-events: initial;
}
.popup-card {
    width: 100%;
    position: relative;
    border-radius: 12px;
    background-color: white;
}
.card-content {
    padding: 40px 60px 40px;
}
.popup-close-btn {
    position: absolute;
	border: 0;
	padding: 0;
	height: 24px;
	width: 24px;
	border-radius: 50%;
	top: 12px;
    right: 12px;
	text-align: center;
    background: transparent !important;
}
.popup-close-btn::before,
.popup-close-btn::after {
	content: "";
	display: block;
	margin: auto;
	width: 16px;
	height: 2px;
	background-color: var(--color-gray-500);
	border-radius: 4px;
	position: absolute;
	transform-origin: center center;
	left: -8px;
    right: -8px;
	top: 0;
    bottom: 0;
    transition: all 0.4s ease;
}
.popup-close-btn::before {
	transform: rotate(45deg);
}
.popup-close-btn::after {
    transform: rotate(-45deg);
}
.popup-close-btn:hover::before {
    transform: rotate(0deg);
}
.popup-close-btn:hover::after {
	transform: rotate(0deg);
}
@media screen and (max-width: 1440px){
	.popup-block {
		padding: 30px 30px;
	}
}
@media screen and (max-width: 440px){
	.popup-block {
		padding: 20px 20px;
	}
	.card-content {
		padding: 40px 30px 20px;
	}
}
/* form */
.form-item {
	margin-bottom: 1em;
}
input[type="submit"].btn-primary {
	display: inline-block;
	background-color: var(--color-primary-2);
	color: var(--color-white);
	font-weight: bold;
	font-size: var(--fs-lg);
	padding: 10px 40px 8px;
	border-radius: 999px;
	margin-top: 1em;
}
.wpcf7-spinner {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	margin: 1em auto;
}
.wpcf7 form.sent > * {
	display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
	display: block;
}
.wpcf7 form p {
	margin-bottom: 0;
}
.download-privacy-wrap {
	font-size: 12px;
	text-align: left;
	border: 1px solid var(--color-gray-250);
	border-radius: 5px;
	padding: 12px 16px;
	max-height: 150px;
	overflow-y: scroll;
	margin-bottom: 12px;
}
.download-privacy-wrap > ol {
	margin-bottom: 0;
}
.download-form-wrap a.download-link {
	display: inline-block;
	font-size: var(--fs-md);
	margin-top: .65em;
}
.download-form-wrap a.download-link:hover {
	text-decoration: underline;
}
@media screen and (max-width: 440px){
	input[type="submit"].btn-primary {
		font-size: var(--fs-md);
		white-space: normal;
	}
}

/* case */
.post-type-archive-case #site-header {
	
}
.post-type-archive-case .container {
	max-width: 1480px;
}
.post-type-archive-case .archive-header {
	background-color: #0A0A0A;
}
.post-type-archive-case .archive-header .container {
	padding: 160px 30px;
}
.post-type-archive-case .archive-bg img {
	left: 0;
	width: 100%;
	object-position: 50% 80%;
}
.post-type-archive-case .archive-bg::after {
    background: linear-gradient(to right, rgba(10, 10, 10, .65) 40%, rgba(10, 10, 10, 0)),
				linear-gradient(to top, rgba(10, 10, 10, 1) 0%, rgba(10, 10, 10, 0) 30%);
}
.case-template-default.single article.has-thumbnail:not(.post-card) > header .entry-bg::after {
	background: linear-gradient(to right, rgba(10, 10, 10, 1) 40%, rgba(10, 10, 10, 0));
}
.post-type-archive-case .archive-header-inner .intro-text {
	color: var(--color-white);
}
.post-type-archive-case .archive-title,
.case-template-default.single h1.entry-title {
	color: var(--color-white);
}
.post-type-archive-case .section-content {
	/* background-color: #0A0A0A; */
}
.post-type-archive-case .filter-title-wrap .text-secondary {
	/* color: var(--color-white); */
}
.post-type-archive-case .post-card-list-grid {
	grid-template-columns: repeat(2, 1fr);
}
.post-type-archive-case .post-card {
	height: 450px;
}
.post-type-archive-case .post-card .entry-title {
	font-size: var(--fs-2xl);
}

@media screen and ( max-width: 768px ) {
	.post-type-archive-case .post-card-list-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* chart */
.post-type-archive-chart .post-card-list-grid {
	grid-template-columns: repeat(2, 1fr);
}
.post-type-archive-chart .post-card {
}
@media screen and ( max-width: 768px ) {
	.post-type-archive-chart .post-card-list-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}
.project-list {
	margin-top: 2em;
}
.project-list.post-tags {
	width: 100%;
	position: relative;
	top: 0;
	align-items: flex-start;
	margin-bottom: 12px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.project-list.post-tags li {
	width: 100%;
}
.project-list.post-tags li::after {
	content: none;
}
.project-list.post-tags li a {
	display: block;
	background-color: var(--color-primary-2);
	color: var(--color-white);
	padding: 38px 48px 36px 48px;
	font-size: var(--fs-lg);
	font-weight: bold;
	letter-spacing: 1px;
	text-align: center;
}
@media screen and ( max-width: 768px ) {
	.project-list.post-tags {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* download list */
.download-list {
	margin: 2em 0 0 0;
	list-style: none;
	font-size: var(--fs-lg);
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
}
.download-list li {
	padding: 0;
	margin: 0;
}
.download-list a {
	position: relative;
	padding: 0.6em 1.25em 0.5em;
	border: 2px solid var(--color-blue-500);
	background-image: linear-gradient(to right, var(--color-blue-500) 50%, transparent 50%);
	background-size: 200%;
	background-position: 100%;
	transition: all 0.4s ease;
}
.download-list a:hover {
	text-decoration: underline;
	color: var(--color-white);
	background-position: 0%;
}
.download-list a i {
	margin-right: 0.5em;
}