/* #region WP Plugin : Cookie */
.cky-consent-container {
	width: calc(100vw - (var(--spacing-container--sm) * 2)) !important;
	max-width: calc(100vw - (var(--spacing-container--sm) * 2)) !important;
	padding: 0 !important;
	margin: 0 auto !important;
	position: fixed !important;
	z-index: 99 !important;
	top: auto !important;
	right: auto !important;
	bottom: var(--spacing-container--sm) !important;
	left: var(--spacing-container--sm) !important;
	background: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.cky-consent-container .cky-consent-bar {
	--color-background: var(--color-white);
	--color-base: var(--color-teal);

	position: relative !important;
	z-index: 1 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left !important;
	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: var(--spacing-sm) min(var(--spacing-container--sm), var(--spacing-sm)) !important;
	font-family: var(--font-base) !important;
	font-style: var(--font-base-style) !important;
	font-weight: var(--font-base-weight) !important;
	font-size: var(--font-base-size--sm) !important;
	line-height: var(--font-base-line-height) !important;
	letter-spacing: var(--font-base-letter-spacing) !important;
	text-transform: var(--font-base-text-transform) !important;
	color: rgba(var(--color-base), 1) !important;
	background: rgba(var(--color-background), 1) !important;
	box-shadow: none !important;
	border: 0px !important;
	border-radius: 0px !important;
	overflow: hidden !important;
	transition: var(--duration) var(--easing) !important;
}
.cky-notice {
	display: flex;
	flex-direction: column;
	grid-gap: var(--spacing-content);
}
.cky-notice .cky-title,
.cky-notice-group,
.cky-notice-des,
.cky-notice-des * {
	padding: 0 !important;
	font-family: inherit !important;
	font-weight: inherit !important;
	font-style: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
	text-transform: inherit !important;
	letter-spacing: inherit !important;
	color: inherit !important;
}
.cky-notice .cky-title {
	margin: 0 !important;
	font-family: var(--font-heading) !important;
	font-weight: var(--font-heading-weight) !important;
	font-size: var(--font-base-size) !important;
	line-height: var(--font-heading-line-height) !important;
	text-transform: var(--font-heading-text-transform) !important;
	letter-spacing: var(--font-heading-letter-spacing) !important;
	color: inherit !important;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}
.cky-notice .cky-title:empty {
	display: none !important;
}
.cky-notice-group {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	justify-content: flex-start !important;
	grid-gap: var(--spacing-sm) !important;
}
.cky-notice-group > * {
	width: auto !important;
}
.cky-notice-des .cky-policy {
	outline: 0 !important;
	padding: 0 !important;
	display: inline !important;
	font-size: inherit !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	cursor: pointer !important;
	color: currentColor !important;
	opacity: 1 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-decoration: underline !important;
	text-decoration-thickness: var(--text-decoration-thickness) !important;
	text-underline-offset: var(--text-underline-offset) !important;
	transition: var(--duration) var(--easing) !important;
}
.cky-notice-des .cky-policy:hover {
	opacity: var(--opacity) !important;
}
.cky-notice-btn-wrapper {
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	grid-gap: var(--spacing-inline--sm) !important;
}
.cky-notice-btn-wrapper .cky-btn {
	--button-height: 3.8rem;
	--button-spacing-y: 0.4rem;
	--button-spacing-x: 1.4rem;
	--button-border: 0.5px solid;
	--button-border-radius: 0px;
	--button-color-background: rgba(var(--color-teal), 1);
	--button-color-border: rgba(var(--color-teal), 1);
	--button-color-text: rgba(var(--color-white), 1);
	--button-color-background--hover: rgba(var(--color-teal), 1);
	--button-color-border--hover: rgba(var(--color-teal), 1);
	--button-color-text--hover: rgba(var(--color-white), 1);

	flex: unset !important;
	text-decoration: none !important;
	box-shadow: none !important;
	margin: 0 !important;
	position: relative !important;
	z-index: 1 !important;
	display: inline !important;
	text-align: center !important;
	vertical-align: top !important;
	white-space: nowrap !important;
	width: auto !important;
	min-width: 8.6rem !important;
	max-width: none !important;
	height: var(--button-height) !important;
	min-height: 0 !important;
	max-height: none !important;
	padding: var(--button-spacing-y) var(--button-spacing-x) !important;
	border-radius: var(--button-border-radius) !important;
	border: var(--button-border) !important;
	border-color: var(--button-color-border) !important;
	background: var(--button-color-background) !important;
	color: var(--button-color-text) !important;
	font-family: var(--font-button) !important;
	font-style: var(--font-button-style) !important;
	font-weight: var(--font-button-weight) !important;
	font-size: var(--font-button-size) !important;
	line-height: var(--font-button-line-height) !important;
	text-transform: var(--font-button-text-transform) !important;
	letter-spacing: var(--font-button-letter-spacing) !important;
	opacity: 1 !important;
	overflow: visible !important;
	transition: var(--duration) var(--easing) !important;
}
.cky-notice-btn-wrapper .cky-btn:hover {
	border-color: var(--button-color-border--hover) !important;
	background: var(--button-color-background--hover) !important;
	color: var(--button-color-text--hover) !important;
}
.cky-notice-btn-wrapper .cky-btn:not(.cky-btn-accept) {
	--button-color-background: transparent;
	--button-color-border: rgba(var(--color-grey), 1);
	--button-color-text: rgba(var(--color-teal), 1);
	--button-color-background--hover: transparent;
	--button-color-border--hover: rgba(var(--color-grey), 1);
	--button-color-text--hover: rgba(var(--color-teal), 1);
}
.cky-notice-btn-wrapper .cky-btn-accept {
	order: 2 !important;
}
.cky-notice-btn-wrapper .cky-btn-reject {
	order: 1 !important;
}
.cky-notice-btn-wrapper .cky-btn-customize {
	order: 0 !important;
	margin-right: auto !important;
}

@media (min-width: 768px) {
	.cky-consent-container {
		width: 41.3rem !important;
		max-width: calc(50vw - (var(--spacing-container--sm) * 2)) !important;
	}
}
/* #endregion WP Plugin : Cookie */

/* #region WP Plugin : Form */
.wpcf7-form .wpcf7-form-control-wrap {
	position: relative;
	display: block;
	width: 100%;
}
.wpcf7-form .wpcf7-not-valid {
	--input-color-border: rgb(var(--color-error));
}
.wpcf7-form .wpcf7-not-valid-tip {
	display: block;
	font-family: var(--font-base);
	font-style: var(--font-base-style);
	font-weight: var(--font-base-weight);
	font-size: var(--font-base-size);
	line-height: var(--font-base-line-height);
	letter-spacing: var(--font-base-letter-spacing);
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	color: rgb(var(--color-error));
}
.wpcf7-form .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
	margin-top: var(--spacing-2xs);
}
.wpcf7-form .wpcf7-response-output {
	margin: var(--spacing-2xs) 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
.wpcf7-form .ajax-loader {
	display: block;
	margin: 0 auto;
	left: 0;
	right: auto;
	top: calc(100% + var(--spacing-2xs));
}
.wpcf7-form .align-center .ajax-loader {
	left: 0;
	right: 0;
}
.wpcf7-form .wpcf7-list-item {
	margin-left: 0 !important;
}
form.wpcf7-form.submitting {
	cursor: progress;
}
form.wpcf7-form.submitting button[type="submit"] {
	pointer-events: none;
}
/* #endregion WP Plugin : Form */

/* #region WP : Page Navigation */
.wp-pagenavi {
	--wp-pagenavi-gap: 1rem;
	position: relative;
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 100%;
	border: 0;
	background: none;
	color: currentColor;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	grid-gap: var(--wp-pagenavi-gap);
	font-family: var(--font-button);
	font-style: var(--font-button-style);
	font-weight: var(--font-button-weight);
	font-size: var(--font-button-size);
	line-height: 1;
	letter-spacing: var(--font-button-letter-spacing);
	text-transform: var(--font-button-text-transform);
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.wp-pagenavi > span.pages {
	display: none !important;
}
.wp-pagenavi > *:not(.current) {
	color: currentColor !important;
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	opacity: 1 !important;
}
.wp-pagenavi > *:not(.current):hover {
	color: var(--color-link) !important;
}
.wp-pagenavi > *:is(.previouspostslink, .nextpostslink) {
	--font-icon-size: 1.6rem;
	font-size: 0 !important;
	padding: 0 !important;
}
.wp-pagenavi > .previouspostslink {
	justify-content: flex-start;
}
.wp-pagenavi > .nextpostslink {
	justify-content: flex-end;
}
.wp-pagenavi > .previouspostslink::before,
.wp-pagenavi > .nextpostslink::after {
	font-family: var(--font-icon);
	font-style: var(--font-icon-style);
	font-weight: var(--font-icon-weight);
	font-size: var(--font-icon-size);
	line-height: var(--font-icon-line-height);
}
.wp-pagenavi > .previouspostslink::before {
	content: "\e90d";
}
.wp-pagenavi > .nextpostslink::after {
	content: "\e90e";
}

@media (max-width: 991px) {
	.wp-pagenavi > *:is(.previouspostslink, .nextpostslink) {
		width: auto !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
	}
	.wp-pagenavi > .previouspostslink {
		margin-right: auto !important;
	}
	.wp-pagenavi > .nextpostslink {
		margin-left: auto !important;
	}
}
/* #endregion WP : Page Navigation */
