/**
 * Technetium PHP Framework
 * @version 3.0
 * @author Tony Leung <tony.leung@cruzium.com>
 * @copyright Copyright (c) 2023 Cruzium Digital
 * @license https://opensource.org/license/gpl-3-0/ GPL-3.0-only
 *
 * This stylesheet contains custom styles for individual sites.
 */

@charset "utf-8";

/* variables */
:root {
	--bs-primary: #7BAFDE;
	--bs-primary-darker: #5697D1;
	--bs-primary-lighter: #A0C9EB;
	--bs-primary-shadow: #567A9B;
	--bs-secondary: #F598A4;
	--bs-secondary-darker: #E77B89;
	--bs-secondary-lighter: #F8B6C1;
	--bs-secondary-shadow: #AB6A72;
	--bs-success: #9DC957;
	--bs-success-shadow: #6E8C3D;
	--bs-warning: #EBAE76;
	--bs-warning-shadow: #A47952;
	--bs-danger: #DD5251;
	--bs-danger-shadow: #9A3939;
	--bs-info: #5094A5;
	--bs-info-shadow: #386773;
	--bs-purple: #C57CDD;
	--bs-dark: #606060;
	--bs-dark-darker: #484848;
	--bs-dark-lighter: #909090;
	--bs-light: #BABABA;
	--bs-light-darker: #BCBEC0;
	--bs-light-lighter: #F0F0F0;
	--bs-black: #000000;
	--bs-white: #FFFFFF;
	--bs-gutter: 30px;
	--bs-spacing-4: 1.5rem;
	--bs-spacing-5: 2.5rem;
	--wcag-focus-outline: 3px solid var(--bs-black);
	--wcag-focus-shadow: 0 0 0 3px var(--bs-black);
	--slide-panel-width: 320px;
}
body .web {
	display: none;
	visibility: hidden;
}

body .mobile {
	display: initial;
	visibility: initial;
}

@media(min-width: 576px)
{

	body .web {
		display: initial !important;
		visibility: visible !important;
	}

	body .mobile {
		display: none !important;
		visibility: hidden !important;
	}
}

/* html tags */
*,
*:before,
*:after {
	transition-property: none;
	transition-duration: 0.2s;
	transition-timing-function: linear;
}
html {
	font-size: 15px;
}
html.normal {
	font-size: 12px;
}
html.large {
	font-size: 15px;
}
html.xlarge {
	font-size: 18px;
}
@media (min-width: 768px) {
	html {
		font-size: 19px;
	}
	html.normal {
		font-size: 16px;
	}
	html.large {
		font-size: 19px;
	}
	html.xlarge {
		font-size: 22px;
	}
}
body {
	font-family: "Noto Sans TC", "Noto Sans SC", sans-serif;
	font-size: 1rem;
	color: var(--bs-black);
}
p:last-child,
address:last-child {
	margin-bottom: 0;
}
ul {
	padding-left: 1em;
}
dl {
	margin:0 0 1rem 0;
	display:flex;
	flex-wrap:wrap;
}
dl > dt {
	width:25%;
	margin:0 0 0.5rem 0;
	padding-right:calc(var(--bs-gutter) * 0.5);
	font-weight:bold;
	flex-basis:25%;
}
dl > dd {
	margin-bottom:0.5rem;
	padding-left:calc(var(--bs-gutter) * 0.5);
	flex-basis:75%;
}
dl > dt:last-of-type,
dl > dd:last-of-type {
	margin-bottom:0;
}
a {
	transition-property: border-color, background-color, color, opacity;
}
a:focus {
	outline: var(--wcag-focus-outline);
}
img {
	max-width: 100%;
}


/* framework components */
.box {
	padding:1.25rem;
	border-radius:0.625rem;
	background:#F7F7F7;
}
.box > hr {
	margin:1.25rem -1.25rem;
	border-top:1px solid #EEEEEE;
}
.box-shadowed {
	overflow:hidden;
	-webkit-box-shadow:0 0 8px 0 rgba(0,0,0,0.3);
	-moz-box-shadow:0 0 8px 0 rgba(0,0,0,0.3);
	box-shadow:0 0 8px 0 rgba(0,0,0,0.3);
}
.box-primary {
	border:1px solid var(--bs-primary);
	background:var(--bs-white);
}
.box-primary > hr {
	border-top-color:var(--bs-primary);
}
.box-primary .col-vr-left:before,
.box-primary .col-vr-right:after,
.box-primary .col-sm-vr-left:before,
.box-primary .col-sm-vr-right:after,
.box-primary .col-md-vr-left:before,
.box-primary .col-md-vr-right:after,
.box-primary .col-lg-vr-left:before,
.box-primary .col-lg-vr-right:after,
.box-primary .col-xl-vr-left:before,
.box-primary .col-xl-vr-right:after,
.box-primary .col-xxl-vr-left:before,
.box-primary .col-xxl-vr-right:after,
.box-primary .col-print-vr-left:before,
.box-primary .col-print-vr-right:after {
	border-right-color:var(--bs-primary);
}
.box-warning {
	border:1px solid var(--bs-warning);
	background:#FDF8EB;
}
.box-warning > hr {
	border-top-color:var(--bs-warning);
}
.box-warning .col-vr-left:before,
.box-warning .col-vr-right:after,
.box-warning .col-sm-vr-left:before,
.box-warning .col-sm-vr-right:after,
.box-warning .col-md-vr-left:before,
.box-warning .col-md-vr-right:after,
.box-warning .col-lg-vr-left:before,
.box-warning .col-lg-vr-right:after,
.box-warning .col-xl-vr-left:before,
.box-warning .col-xl-vr-right:after,
.box-warning .col-xxl-vr-left:before,
.box-warning .col-xxl-vr-right:after,
.box-warning .col-print-vr-left:before,
.box-warning .col-print-vr-right:after {
	border-right-color:var(--bs-warning);
}
@media (min-width:992px) {
	.box {
		padding:1.875rem;
	}
	.box > hr {
		margin:1.875rem -1.875rem;
	}
}

.btn-3d {
	min-width: calc(3rem + 4em);
	position: relative;
	padding: 0 0 0.2rem 0;
	border: none;
	background: transparent !important;
}
.btn-3d:before {
	content: '';
	position: absolute;
	top: calc(1.35rem + 1px);
	bottom: 0;
	left: 0;
	right: 0;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-bottom-left-radius: inherit;
	border-bottom-right-radius: inherit;
}
.btn-3d > span {
	position: relative;
	padding: 0.4rem 1.5rem;
	border: 1px solid transparent;
	border-radius: inherit;
	display: block;
}
.btn-3d:hover:before {
	top: calc(1.15rem + 1px);
}
.btn-3d:hover > span {
	top: -0.2rem;
}
.btn-3d:focus {
	box-shadow: none !important;
}
.btn-3d:focus:before {
	top: calc(1.45rem + 1px);
}
.btn-3d:focus > span {
	top: 0.1rem;
	box-shadow: var(--wcag-focus-shadow);
}
.btn-3d.btn-primary:before {
	background-color: var(--bs-primary-shadow);
}
.btn-3d.btn-primary > span {
	background-color: var(--bs-primary);
}
.btn-3d.btn-outline-primary:before {
	background-color: var(--bs-primary-shadow);
}
.btn-3d.btn-outline-primary > span {
	border-color: var(--bs-primary);
	background-color: var(--bs-white);
	color: var(--bs-primary);
}
.btn-3d.btn-secondary:before {
	background-color: var(--bs-secondary-shadow);
}
.btn-3d.btn-secondary > span {
	background-color: var(--bs-secondary);
}
.btn-3d.btn-outline-secondary:before {
	background-color: var(--bs-secondary-shadow);
}
.btn-3d.btn-outline-secondary > span {
	border-color: var(--bs-secondary);
	background-color: var(--bs-white);
	color: var(--bs-secondary);
}
.btn-3d.btn-success:before {
	background-color: var(--bs-success-shadow);
}
.btn-3d.btn-success > span {
	background-color: var(--bs-success);
}
.btn-3d.btn-outline-success:before {
	background-color: var(--bs-success-shadow);
}
.btn-3d.btn-outline-success > span {
	border-color: var(--bs-success);
	background-color: var(--bs-white);
	color: var(--bs-success);
}
.btn-3d.btn-warning:before {
	background-color: var(--bs-warning-shadow);
}
.btn-3d.btn-warning > span {
	background-color: var(--bs-warning);
}
.btn-3d.btn-outline-warning:before {
	background-color: var(--bs-warning-shadow);
}
.btn-3d.btn-outline-warning > span {
	border-color: var(--bs-warning);
	background-color: var(--bs-white);
	color: var(--bs-warning);
}
.btn-3d.btn-danger:before {
	background-color: var(--bs-danger-shadow);
}
.btn-3d.btn-danger > span {
	background-color: var(--bs-danger);
}
.btn-3d.btn-outline-danger:before {
	background-color: var(--bs-danger-shadow);
}
.btn-3d.btn-outline-danger > span {
	border-color: var(--bs-danger);
	background-color: var(--bs-white);
	color: var(--bs-danger);
}
.btn-3d.btn-info:before {
	background-color: var(--bs-info-shadow);
}
.btn-3d.btn-info > span {
	background-color: var(--bs-info);
}
.btn-3d.btn-outline-info:before {
	background-color: var(--bs-info-shadow);
}
.btn-3d.btn-outline-info > span {
	border-color: var(--bs-info);
	background-color: var(--bs-white);
	color: var(--bs-info);
}
.btn-square {
	min-width: calc(2rem + 1.5em + 2px);
	padding: 1rem;
	border-radius: 0.5rem;
}

.dhc-brand {
	margin-bottom: 1.5rem;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.dhc-brand > img {
	max-width: 100px;
	margin-bottom: 0.75rem;
}
@media (min-width: 576px) {
	.dhc-brand {
		text-align: left;
		flex-direction: row;
	}
	.dhc-brand > img {
		margin-bottom: 0;
		margin-right: 0.75rem;
		align-self: flex-start;
	}
}

.font-size-toggle {
	display: flex;
	align-items: flex-end;
}
.font-size-toggle .btn {
	position:relative;
	padding:2px 6px;
	border-radius:0;
	font-weight:500;
	color:var(--bs-light-darker);
	line-height:28.5px;
	text-decoration:none;
}
.font-size-toggle .btn:after {
	content:'';
	position:absolute;
	bottom:3px;
	left:50%;
	right:50%;
	border-top:1px solid var(--bs-secondary);
	transition-property:left, right;
}
.font-size-toggle .btn:hover,
.font-size-toggle .btn.active {
	color:var(--bs-secondary);
}
.font-size-toggle .btn:hover:after,
.font-size-toggle .btn.active:after {
	left:6px;
	right:6px;
}
.font-size-toggle .btn[data-font-size="normal"] {
	font-size:16px;
}
.font-size-toggle .btn[data-font-size="large"] {
	font-size:19px;
}
.font-size-toggle .btn[data-font-size="xlarge"] {
	font-size:22px;
}
@media (min-width:1400px) {
	.font-size-toggle .btn {
		padding-left:10px;
		padding-right:10px;
	}
	.font-size-toggle .btn:hover:after,
	.font-size-toggle .btn.active:after {
		left:10px;
		right:10px;
	}
}

.form-title {
	margin-bottom: 1.5rem;
	font-size: 1.8rem;
}
.form-actions {
	margin-top: 2rem;
	display: flex;
}
.form-actions-stacked {
	display:flex;
	flex-direction:column;
	align-items:center;
}
.form-actions-stacked .btn:not(.btn-link) {
	width:100%;
}
.form-actions-stacked .btn + .btn {
	margin-top:1.25rem;
}
@media (max-width:767px) {
	.form-actions {
		flex-direction:column;
	}
	.form-actions .btn {
		width:100%;
	}
	.form-actions .btn + .btn {
		margin-top:0.75rem;
	}
}
@media (min-width:768px) {
	.form-actions:not(.form-actions-stacked) .btn:not(:last-child) {
		margin-right:1.875rem;
	}
}

.password-group {
	position:relative;
}
.password-group .btn-reveal {
	position:absolute;
	top:0;
	bottom: 0;
	right:0;
	padding:0.375rem 1rem;
	border:none;
	background:none;
	font-size:1.25em;
	color:var(--bs-primary);
	line-height:1;
}
.password-group .btn-reveal:before {
	width:1.25em;
	font-family:yldhc-icons;
	text-align:center;
	display:inline-block;
}
.password-group [type=password] + .btn-reveal:before {
	content:'\e924';
}
.password-group [type=text] + .btn-reveal:before {
	content:'\e925';
}

.signature-group > [type=text] {
	position: absolute;
	visibility: hidden;
}
.signature-group > .canvas-container {
	width: auto !important;
	height: auto !important;
	overflow: hidden;
	position: relative;
	padding-bottom: 40%;
	border: 1px solid var(--bs-primary);
	border-radius: calc(0.75em + 0.75rem + 2px);
}
.signature-group > .canvas-container > canvas {
	width: 100% !important;
	height: 100% !important;
}
.signature-group > .canvas-container > .btn-reset {
	width: calc(2.15rem + 2px);
	position: absolute;
	bottom: 0.5rem;
	right: 0.5rem;
	padding: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.signature-group > .canvas-container > .btn-reset:before {
	content: '\e93c';
	font-family: 'yldhc-icons';
	font-weight: normal;
	line-height: 1;
}

.appointment-container .appointment-title {
	margin-bottom: 1.5rem;
	font-size: 1.7rem;
	font-weight: 700;
	color: var(--bs-dark-darker);
}
.appointment-container .appointment-section + .appointment-section {
	margin-top:2.5rem;
	padding-top:2.5rem;
	border-top:1px solid #DDDDDD;
}
.appointment-container .appointment-section-title {
	font-size:1rem;
	font-weight:bold;
	color: var(--bs-primary);
}
.appointment-container .appointment-qr {
	max-width:80%;
	margin:0 auto var(--bs-spacing-4) auto;
	text-align:center;
}
.appointment-container .appointment-qr figure {
	max-width:300px;
	display:inline-block;
}
.appointment-container dl dt {
	font-weight:500;
	color:var(--bs-primary);
	text-align:right;
}
.appointment-container dl big {
	font-size:2rem;
	font-weight:bold;
	line-height:1.78125rem;
}
.appointment-container .form-actions {
	margin-top:2.5rem;
}
@media (min-width:992px) {
	.appointment-container .appointment-qr {
		max-width:100%;
	}
}

.message-box {
	width:200%;
	border-width:1px 0;
	border-style:solid;
	border-color:#DDDDDD;
	display:flex;
	transition-property:margin;
}
.message-box .message-list {
	width:calc(50% + 1px);
	position:relative;
	border-right:1px solid #DDDDDD;
}
.message-box .message-list ul {
	margin:-1px 0;
}
.message-box .message-body {
	flex-basis:0;
	flex-grow:1;
}
.message-box .btn-back {
	margin-top:1.5rem;
	padding:0;
	color:var(--bs-primary);
}
.message-box .btn-back .icon {
	font-size:1em;
}
.message-box.opened {
	margin-left:calc(-100% - 1px);
}
@media (min-width:576px) {
	.message-box .btn-back {
		margin-left:1.5rem;
	}
}
@media (min-width:768px) {
	.message-box {
		width:100%;
		min-height:calc(100vh - 181px);
		transition-property:none;
	}
	.message-box .message-list {
		width:33.333333%;
		max-width:420px;
	}	
	.message-box .message-list ul {
		width:100%;
		overflow:auto;
		position:absolute;
		top:0;
		bottom:0;
	}	
	.message-box .btn-back {
		display:none;
	}
	.message-box.opened {
		margin-left:0;
	}
}

dl.col-2-10 > dt {
	flex-basis:16.666667%;
}
dl.col-2-10 > dd {
	flex-basis:83.333333%;
}
dl.col-3-9 > dt {
	flex-basis:25%;
}
dl.col-3-9 > dd {
	flex-basis:75%;
}
dl.col-4-8 > dt {
	flex-basis:33.333333%;
}
dl.col-4-8 > dd {
	flex-basis:66.666667%;
}
dl.col-5-7 > dt {
	flex-basis:41.666667%;
}
dl.col-5-7 > dd {
	flex-basis:58.333333%;
}
dl.col-6-6 > dt {
	flex-basis:50%;
}
dl.col-6-6 > dd {
	flex-basis:50%;
}
dl.title-left > dt {
	text-align:left;
}
dl.title-right > dt {
	text-align:right;
}
@media (min-width:576px) {
	dl.col-sm-2-10 > dt {
		flex-basis:16.666667%;
	}
	dl.col-sm-2-10 > dd {
		flex-basis:83.333333%;
	}
	dl.col-sm-3-9 > dt {
		flex-basis:25%;
	}
	dl.col-sm-3-9 > dd {
		flex-basis:75%;
	}
	dl.col-sm-4-8 > dt {
		flex-basis:33.333333%;
	}
	dl.col-sm-4-8 > dd {
		flex-basis:66.666667%;
	}
	dl.col-sm-5-7 > dt {
		flex-basis:41.666667%;
	}
	dl.col-sm-5-7 > dd {
		flex-basis:58.333333%;
	}
	dl.col-sm-6-6 > dt {
		flex-basis:50%;
	}
	dl.col-sm-6-6 > dd {
		flex-basis:50%;
	}
	dl.title-sm-left > dt {
		text-align:left;
	}
	dl.title-sm-right > dt {
		text-align:right;
	}
}
@media (min-width:768px) {
	dl.col-md-2-10 > dt {
		flex-basis:16.666667%;
	}
	dl.col-md-2-10 > dd {
		flex-basis:83.333333%;
	}
	dl.col-md-3-9 > dt {
		flex-basis:25%;
	}
	dl.col-md-3-9 > dd {
		flex-basis:75%;
	}
	dl.col-md-4-8 > dt {
		flex-basis:33.333333%;
	}
	dl.col-md-4-8 > dd {
		flex-basis:66.666667%;
	}
	dl.col-md-5-7 > dt {
		flex-basis:41.666667%;
	}
	dl.col-md-5-7 > dd {
		flex-basis:58.333333%;
	}
	dl.col-md-6-6 > dt {
		flex-basis:50%;
	}
	dl.col-md-6-6 > dd {
		flex-basis:50%;
	}
	dl.title-md-left > dt {
		text-align:left;
	}
	dl.title-md-right > dt {
		text-align:right;
	}
}
@media (min-width:992px) {
	dl.col-lg-2-10 > dt {
		flex-basis:16.666667%;
	}
	dl.col-lg-2-10 > dd {
		flex-basis:83.333333%;
	}
	dl.col-lg-3-9 > dt {
		flex-basis:25%;
	}
	dl.col-lg-3-9 > dd {
		flex-basis:75%;
	}
	dl.col-lg-4-8 > dt {
		flex-basis:33.333333%;
	}
	dl.col-lg-4-8 > dd {
		flex-basis:66.666667%;
	}
	dl.col-lg-5-7 > dt {
		flex-basis:41.666667%;
	}
	dl.col-lg-5-7 > dd {
		flex-basis:58.333333%;
	}
	dl.col-lg-6-6 > dt {
		flex-basis:50%;
	}
	dl.col-lg-6-6 > dd {
		flex-basis:50%;
	}
	dl.title-lg-left > dt {
		text-align:left;
	}
	dl.title-lg-right > dt {
		text-align:right;
	}
}
@media (min-width:1200px) {
	dl.col-xl-2-10 > dt {
		flex-basis:16.666667%;
	}
	dl.col-xl-2-10 > dd {
		flex-basis:83.333333%;
	}
	dl.col-xl-3-9 > dt {
		flex-basis:25%;
	}
	dl.col-xl-3-9 > dd {
		flex-basis:75%;
	}
	dl.col-xl-4-8 > dt {
		flex-basis:33.333333%;
	}
	dl.col-xl-4-8 > dd {
		flex-basis:66.666667%;
	}
	dl.col-xl-5-7 > dt {
		flex-basis:41.666667%;
	}
	dl.col-xl-5-7 > dd {
		flex-basis:58.333333%;
	}
	dl.col-xl-6-6 > dt {
		flex-basis:50%;
	}
	dl.col-xl-6-6 > dd {
		flex-basis:50%;
	}
	dl.title-xl-left > dt {
		text-align:left;
	}
	dl.title-xl-right > dt {
		text-align:right;
	}
}
@media (min-width:1600px) {
	dl.col-xxl-2-10 > dt {
		flex-basis:16.666667%;
	}
	dl.col-xxl-2-10 > dd {
		flex-basis:83.333333%;
	}
	dl.col-xxl-3-9 > dt {
		flex-basis:25%;
	}
	dl.col-xxl-3-9 > dd {
		flex-basis:75%;
	}
	dl.col-xxl-4-8 > dt {
		flex-basis:33.333333%;
	}
	dl.col-xxl-4-8 > dd {
		flex-basis:66.666667%;
	}
	dl.col-xxl-5-7 > dt {
		flex-basis:41.666667%;
	}
	dl.col-xxl-5-7 > dd {
		flex-basis:58.333333%;
	}
	dl.col-xxl-6-6 > dt {
		flex-basis:50%;
	}
	dl.col-xxl-6-6 > dd {
		flex-basis:50%;
	}
	dl.title-xxl-left > dt {
		text-align:left;
	}
	dl.title-xxl-right > dt {
		text-align:right;
	}
}

ul.checklist {
	margin-bottom: -0.5rem;
	margin-left: calc(var(--bs-gutter) * -0.5);
	margin-right: calc(var(--bs-gutter) * -0.5);
	padding: 0;
	text-align: left;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
ul.checklist > li {
	position:relative;
	margin-bottom:1.5rem;
	padding-left: calc(var(--bs-gutter) * 0.5);
	padding-right: calc(var(--bs-gutter) * 0.5);
	flex-basis: 100%;
}
ul.checklist.column-1 > li {
	flex-basis: 100%;
}
ul.checklist.column-2 > li {
	flex-basis: 50%;
}
ul.checklist.column-3 > li {
	flex-basis: 33.333333%;
}
ul.checklist.column-4 > li {
	flex-basis: 25%;
}
ul.checklist.column-5 > li {
	flex-basis: 20%;
}
ul.checklist.column-6 > li {
	flex-basis: 16.666667%;
}
@media (min-width: 576px) {
	ul.checklist.column-sm-1 > li {
		flex-basis: 100%;
	}
	ul.checklist.column-sm-2 > li {
		flex-basis: 50%;
	}
	ul.checklist.column-sm-3 > li {
		flex-basis: 33.333333%;
	}
	ul.checklist.column-sm-4 > li {
		flex-basis: 25%;
	}
	ul.checklist.column-sm-5 > li {
		flex-basis: 20%;
	}
	ul.checklist.column-sm-6 > li {
		flex-basis: 16.666667%;
	}
}
@media (min-width: 768px) {
	ul.checklist.column-md-1 > li {
		flex-basis: 100%;
	}
	ul.checklist.column-md-2 > li {
		flex-basis: 50%;
	}
	ul.checklist.column-md-3 > li {
		flex-basis: 33.333333%;
	}
	ul.checklist.column-md-4 > li {
		flex-basis: 25%;
	}
	ul.checklist.column-md-5 > li {
		flex-basis: 20%;
	}
	ul.checklist.column-md-6 > li {
		flex-basis: 16.666667%;
	}
}
@media (min-width: 992px) {
	ul.checklist.column-lg-1 > li {
		flex-basis: 100%;
	}
	ul.checklist.column-lg-2 > li {
		flex-basis: 50%;
	}
	ul.checklist.column-lg-3 > li {
		flex-basis: 33.333333%;
	}
	ul.checklist.column-lg-4 > li {
		flex-basis: 25%;
	}
	ul.checklist.column-lg-5 > li {
		flex-basis: 20%;
	}
	ul.checklist.column-lg-6 > li {
		flex-basis: 16.666667%;
	}
}
@media (min-width: 1200px) {
	ul.checklist.column-xl-1 > li {
		flex-basis: 100%;
	}
	ul.checklist.column-xl-2 > li {
		flex-basis: 50%;
	}
	ul.checklist.column-xl-3 > li {
		flex-basis: 33.333333%;
	}
	ul.checklist.column-xl-4 > li {
		flex-basis: 25%;
	}
	ul.checklist.column-xl-5 > li {
		flex-basis: 20%;
	}
	ul.checklist.column-xl-6 > li {
		flex-basis: 16.666667%;
	}
}
@media (min-width: 1400px) {
	ul.checklist.column-xxl-1 > li {
		flex-basis: 100%;
	}
	ul.checklist.column-xxl-2 > li {
		flex-basis: 50%;
	}
	ul.checklist.column-xxl-3 > li {
		flex-basis: 33.333333%;
	}
	ul.checklist.column-xxl-4 > li {
		flex-basis: 25%;
	}
	ul.checklist.column-xxl-5 > li {
		flex-basis: 20%;
	}
	ul.checklist.column-xxl-6 > li {
		flex-basis: 16.666667%;
	}
}
ul.checklist-angle-right > li,
ul.checklist-bars > li,
ul.checklist-boxes-stacked > li,
ul.checklist-octagon > li,
ul.checklist-signal > li {
	padding-top: 0.125rem;
	padding-bottom: 0.125rem;
	padding-left: calc(var(--bs-gutter) * 0.5 + 2.25rem);
}
ul.checklist-angle-right > li:before,
ul.checklist-bars > li:before,
ul.checklist-boxes-stacked > li:before,
ul.checklist-octagon > li:before,
ul.checklist-signal > li:before {
	content: '';
	width: 1.75rem;
	height: 1.75rem;
	position: absolute;
	top: 0;
	left: calc(var(--bs-gutter) * 0.5);
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
ul.checklist-angle-right > li:before {
	background-image: url("data:image/svg+xml,%3Csvg width='24' height='34' viewBox='0 0 24 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.00358 0L24 17.0028L8.00358 34L0 25.5014L8.00358 17.0028L0 8.50427L8.00358 0Z' fill='%23BCBEC0'/%3E%3C/svg%3E%0A");
}
ul.checklist-bars > li:before {
	background-image: url("data:image/svg+xml,%3Csvg width='31' height='31' viewBox='0 0 31 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30.5012 11.4375H0V19.2827H30.5012V11.4375Z' fill='%23BCBEC0'/%3E%3Cpath d='M30.5012 22.8691H0V30.7144H30.5012V22.8691Z' fill='%23BCBEC0'/%3E%3Cpath d='M30.5012 0H0V7.84524H30.5012V0Z' fill='%23BCBEC0'/%3E%3C/svg%3E%0A");
}
ul.checklist-boxes-stacked > li:before {
	background-image: url("data:image/svg+xml,%3Csvg width='35' height='31' viewBox='0 0 35 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.6125 17.0576H0V30.9999H15.6125V17.0576Z' fill='%23BCBEC0'/%3E%3Cpath d='M34.7082 17.0576H19.0957V30.9999H34.7082V17.0576Z' fill='%23BCBEC0'/%3E%3Cpath d='M24.5539 0H8.94141V13.9423H24.5539V0Z' fill='%23BCBEC0'/%3E%3C/svg%3E%0A");
}
ul.checklist-octagon > li:before {
	background-image: url("data:image/svg+xml,%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.66655 0.0909388L23.3334 0L33 9.67023V23.3358L23.3334 33L9.66655 32.9091L0 23.2995V9.7066L9.66655 0.0909388Z' fill='%23A0C9EB'/%3E%3C/svg%3E%0A");
}
ul.checklist-signal > li:before {
	background-image: url("data:image/svg+xml,%3Csvg width='35' height='35' viewBox='0 0 35 35' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.3412 11.3447H12.6582V34.7453H21.3412V11.3447Z' fill='%23BCBEC0'/%3E%3Cpath d='M34.0013 0.993164H25.3184V34.7451H34.0013V0.993164Z' fill='%23BCBEC0'/%3E%3Cpath d='M8.68296 22.0928H0V34.7513H8.68296V22.0928Z' fill='%23BCBEC0'/%3E%3C/svg%3E%0A");
}


.nav-opener {
	width:1.5em;
	height:1.5em;
	position:relative;
	margin-left:0.5em;
	padding:0;
	border:none;
	background:none;
	display:inline-block;
}
.nav-opener:focus,
.nav-opener:focus:not(:focus-visible) {
	outline:var(--wcag-focus-outline);
}
.nav-opener span {
	width:100%;
	height:100%;
	position:relative;
	display:block;
}
.nav-opener span:before,
.nav-opener span:after {
	content:'';
	position:absolute;
	background:#00000F;
	-webkit-transition-property:-webkit-transform;
	-moz-transition-property:-moz-transform;
	transition-property:transform;
}
.nav-opener span:before {
	width:1em;
	height:2px;
	top:calc(50% - 1px);
	left:calc(50% - 0.5em);
}
.nav-opener span:after {
	width:2px;
	height:1em;
	top:calc(50% - 0.5em);
	left:calc(50% - 1px);
}
.opened > .nav-opener span:after,
[aria-expanded=true] > .nav-opener span:after {
	-webkit-transform:scaleY(0);
	-moz-transform:scaleY(0);
	transform:scaleY(0);
}


/* website framework */
.page-header {
	width: 100%;
	position: fixed;
	z-index: 9;
}
.page-header .search {
	position: relative;
}
.page-header .search .form-control {
	max-width: 250px;
	padding: 0.25rem calc(1rem + 20px) 0.25rem 0.75rem;
	font-size: 0.8rem;
	border-color: #F598A4;
	border-radius: 60px;
	background-color: var(--bs-white);
	color: #F598A4;
}
.page-header .search .form-control::placeholder {
	color: #F598A4;
	opacity: 1;
}
.page-header .search .form-control::-ms-input-placeholder {
	color: #F598A4;
}
.page-header .search .btn-search {
	background-color: transparent;
	position: absolute;
	width: 20px;
	height: 20px;
	right: 0.75rem;
	top: calc(50% - 10px);
	padding: 0;
}
.page-header .search .btn-search svg {
	position: absolute;
	width: 20px;
	height: 20px;
	top: 0;
	left: 0;
}
.page-header .language-toggle {
	display: flex;
}
.page-header .language-toggle > a {
	font-weight: 500;
	font-size: 0.8rem;
	padding: 0px 0px;
	margin: 0px 8px;
	border-bottom: 1px solid transparent;
	color: var(--bs-light-darker);
	display: inline-block;
}
.page-header .language-toggle > a:hover {
	color: var(--bs-secondary);
	text-decoration: none;
}
.page-header .language-toggle > a.active {
	border-bottom-color: var(--bs-secondary);
	color: var(--bs-secondary);
}
.page-header .hgroup {
	display: inline-flex;
	align-items: center;
	align-self: flex-end;
}
.page-header .hgroup > :not(:last-child) {
	margin-right: 0.75rem;
}
.page-header .nav1 {
	--logo-size: 35px;
	padding: 0;
	box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0.06);
	background: #FFFFFF;
}
.page-header .nav1 > .container {
	align-items: center;
}
.page-header .nav1 .logo {
	height: var(--logo-size);
	margin-left: 1rem;
}
.page-header .nav1 .operator {
	height: calc(var(--logo-size) * 0.5);
	margin-left: calc(var(--logo-size) * 0.5);
}
.page-header .nav1 .logo img,
.page-header .nav1 .operator img {
	height: 100%;
	display: block;
}
.page-header .nav1 .hgroup {
	display: none;
}
.page-header .nav1 .vertical-line {
	border-left: 1px solid lightgrey;
	content: "";
	font-size: 1rem;
	height: 1rem;
	padding: 8px;
}
.page-header .nav1 .font-size {
	font-weight: 500;
	padding: 0px 0px;
	margin: 0px 8px;
	cursor: pointer;
	border-bottom: 1px solid transparent;
	line-height: 1;
	color: #BCBEC0 !important;
}
.page-header .nav1 .font-size.font-size--active {
	color: #F598A4 !important;
	border-bottom: 1px solid #F598A4;
}
.page-header .nav1 .nav-btn {
	background-color: #F598A4;
	width: 72px;
	height: 72px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.page-header .nav1 .nav-btn svg {
	fill: white;
	height: 30px;
	width: 30px;
}
.page-header .mobile-nav {
	display: none;
}
@media (max-width: 1199px) {
	.page-header .mobile-nav {
		width: 100%;
		height: 0px;
		overflow: hidden;
		position: fixed;
		top: 0;
		background-color: var(--bs-white);
		color: inherit;
		display: block;
		z-index: 1029;
		transition: height 0.5s;
	}
	.page-header .mobile-nav > .inner {
		height: 100%;
		padding: calc(72px + 1rem) 2rem 2rem 2rem;
		display: flex;
		flex-direction: column;
	}
	.page-header .mobile-nav > .inner > * {
		width: 100%;
	}
	.page-header .mobile-nav .close-btn {
		width: auto;
		position: absolute;
		top: 36px;
		right: 36px;
		padding: 0.5rem;
		border: none;
		border-radius: 0;
		background: none;
		font-size: 2rem;
		font-weight: 400;
		color: #F598A4;
		line-height: 1;
		text-shadow: 0 1px 0 #fff;
		opacity: 0.5;
		transform: translate(50%,-50%);
	}
	.page-header .mobile-nav .language-toggle > a {
		color: var(--bs-black);
	}
	.page-header .mobile-nav .language-toggle > a:hover,
	.page-header .mobile-nav .language-toggle > a.active {
		color: var(--bs-secondary);
	}
	.page-header .mobile-nav .mobile-menu {
		overflow: auto;
		margin-top: 1rem;
		flex-grow: 1;
	}
	body.mm-opened {
		overflow: hidden;
	}
	body.mm-opened .page-header .mobile-nav {
		height: 100%;
	}
}
@media (min-width: 576px) {
	.page-header .nav1 {
		--logo-size: 55px;
	}
}
@media (min-width: 992px) {
	.page-header .nav1 .logo {
		margin-left: 0;
	}
}
@media (min-width:1200px) {
	.page-header .nav1 {
		padding-top: 1rem;
		padding-bottom: 2.5rem;
	}
	.page-header .nav1 .hgroup {
		display: flex;
	}
	.page-header .nav1 .login .btn {
		padding: 0.25rem 0.75rem;
		font-size: 0.8rem;
	}
	.page-header .nav1 .login .btn .icon {
		font-size: 1.25em;
	}
	.page-header .nav1 .login .dropdown-menu {
		margin-top: 3px;
		padding: 0.5rem 0;
		box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
		border: none;
		border-radius: 1rem;
		background: #E6E7E8;
		z-index: 1010;
	}
	.page-header .nav1 .login .dropdown-item {
		padding: 0.25rem 1rem;
		color: var(--bs-dark-darker);
	}
	.page-header .nav1 .login .dropdown-item:hover,
	.page-header .nav1 .login .dropdown-item:focus {
		background: none;
		color: var(--bs-black);
	}
	.page-header .nav1 .login .dropdown-item .icon {
		width: 1.25em;
		font-size: 1.15em;
		text-align: center;
		display: inline-block;
	}
}
.page-header .nav2 {
	display: none;
}
@media (min-width:1200px) {
	.page-header .nav2 {
		width: 100%;
		position: absolute;
		top: calc(55px + 2rem);
		padding: 0;
		display: block;
	}
	.page-header #main-menu {
		height: 3rem;
		margin: 0 -2rem;
		padding: 0 1.5rem;
		box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0.06);
		border-radius: 1.5rem;
		background-color: #7BAFDE;
	}
	.page-header #main-menu .nav {
		height: 100%;
		flex-wrap: nowrap;
		justify-content: space-around;
	}
	.page-header #main-menu > ul > li > a {
		height: 100%;
		color: white;
		padding: 0 12px 0.125rem 12px;
		text-align: center;
		font-size: 1rem;
		font-weight: bold;
		line-height: 1.1;
		white-space: normal;
		display: flex;
		align-items: center;
	}
	.page-header #main-menu > ul > li > a:hover {
		background-color: var(--bs-primary-lighter);
		color: var(--bs-black);
	}
	.page-header #main-menu > ul > li.active > a {
		color: var(--bs-black);
	}
	.page-header #main-menu .dropdown-toggle:after {
		display: none;
	}
	.page-header #main-menu .dropdown-menu {
		width: auto;
		min-width: 100%;
		right: auto;
		margin-top: 0;
		padding: 0.5rem 0;
		box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
		border: none;
		border-radius: 0 0 1rem 1rem;
		background-color: #E6E7E8;
		text-align: center;
	}
	.page-header #main-menu .dropdown-menu > li > a {
		padding: 0.5rem 1rem;
		font-size: 1rem;
		color: var(--bs-dark-darker);
		line-height: 1.5;
		white-space: nowrap;
	}
	.page-header #main-menu .dropdown-menu > li:hover > a,
	.page-header #main-menu .dropdown-menu > li.active > a {
		color: var(--bs-black);
	}
	.page-header #main-menu .dropdown:hover > .dropdown-menu {
		display: block;
	}
	.page-header #main-menu > ul > li:last-child > .dropdown-menu {
		left: auto;
		right: 0;
	}
}
@media (min-width: 1400px) {
	.page-header #main-menu > ul > li > a {
		padding-left: 15px;
		padding-right: 15px;
	}
}

.page-body {
	position: relative;
	padding-top: 72px;
}
@media (min-width:1200px) {
	.page-body {
		padding-top: calc(3.5rem + 55px);
	}
}

.page-footer .site-map {
	background-color: #E6E7E8;
	padding-top: 2.25rem;
	padding-bottom: 2.25rem;
	color: black;
}
.page-footer .site-map .row {
	padding-top: 0;
	padding-bottom: 0;
}
.page-footer .site-map-title {
	margin-bottom: 0.25rem;
	font-size: 1.75rem;
	font-weight: bold;
	color: var(--bs-primary);
}
.page-footer .site-map-block {
	margin-top: 1.5rem;
	flex-basis: 100%;
	flex-grow: 0;
}
.page-footer .site-map-block a {
	color: inherit;
}
.page-footer .site-map-block > h3 {
	margin-bottom: 0.625rem;
	font-size: 1.25rem;
	font-weight: bold;
	color: var(--bs-primary);
}
.page-footer .site-map-block > ul {
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}
.page-footer .site-map-block > ul > li {
	margin-bottom: 0.625rem;
}
.page-footer .site-map-block > ul > li:last-child {
	margin-bottom: 0;
}
.page-footer .app-download-block {
	margin-left: auto;
}
.page-footer .app-download-block > h3 {
	font-size: 1rem;
	font-weight: normal;
	color: var(--bs-primary);
	display: flex;
	align-items: center;
}
.page-footer .app-download-block > ul {
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
}
.page-footer .app-download-block > ul > li {
	margin-bottom: 0;
}
.page-footer .app-download-block > ul > li + li {
	margin-left: 0.5rem;
}
.page-footer .app-download-block .app-icon {
	width: 4rem;
	margin-right: 0.5rem;
	border-radius: 1rem;
}
.page-footer .app-download-block .app-store-badge {
	height: 2rem;
}
.page-footer .sns-block {
	display: flex;
	align-items: center;
}
.page-footer .sns-block > h3 {
	margin: 0;
	font-size: 1rem;
	font-weight: normal;
	color: var(--bs-primary);
}
.page-footer .sns-block > ul {
	margin: 0 0 0 0.75rem;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
}
.page-footer .sns-block > ul > li {
	margin-bottom: 0;
}
.page-footer .sns-block > ul > li + li {
	margin-left: 0.75rem;
}
.page-footer .sns-block > ul > li > a {
	width: 2em;
	height: 2em;
	border-radius: 50%;
	background: var(--bs-primary);
	color: var(--bs-white);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.page-footer .sns-block > ul > li > a:hover {
	text-decoration: none;
}
@media (min-width: 768px) {
	.page-footer .app-download-block .app-store-badge {
		height: 1.625rem;
	}
	.page-footer .app-download-block > ul > li + li {
		margin-left: 0.5rem;
	}
	.page-footer .sns-block > ul {
		margin-left: auto;
	}
}

.page-footer .legal-block {
	padding: 1.5rem 0;
	background: var(--bs-primary);
	color: white;
}
.page-footer .legal-block .foot-links {
	margin-left: -1rem;
	margin-right: -1rem;
	justify-content:center;
}
.page-footer .legal-block .foot-links > li {
	margin-bottom: 0.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
}
.page-footer .legal-block .foot-links > li > a {
	padding: 0;
	color: inherit;
}
.page-footer .legal-block .copyright {
	margin-top: 0.5rem;
	text-align: center;
}
@media (min-width: 576px) {
	.page-footer .site-map-block {
		flex-basis: 50%;
	}
}
@media (min-width: 768px) {
	.page-footer .site-map-block {
		flex-basis: 33.333333%;
	}
}
@media (min-width: 992px) {
	.page-footer .site-map-block {
		flex-basis: 25%;
	}
}
@media (min-width: 1200px) {
	.page-footer .site-map-block {
		flex-basis: 20%;
	}
	.page-footer .legal-block .foot-links > li {
		margin-bottom: 0;
	}
	.page-footer .legal-block > .container {
		display: flex;
	}
	.page-footer .legal-block .copyright {
		margin-top: 0;
		margin-left: auto;
	}
}

.section {
	position: relative;
	padding: 3rem 0;
}
.section-body {
	margin-left: auto;
	margin-right: auto;
}
.section-title {
	font-size: 1.85rem;
	font-weight: 900;
}
.section-icon {
	font-size: 4rem;
}
.section-actions:not(:first-child) {
	margin-top: 1.75rem;
}
.section-actions:not(:last-child) {
	margin-bottom: 1.75rem;
}
@media (min-width: 1200px) {
	.section {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
}

a#skip_to_main {
	display: block;
	transform: translateY(-72px);
}
@media (min-width: 1200px) {
	a#skip_to_main {
		transform: translateY(calc(-55px - 3.5rem));
	}
}


/* component styles */
.section.activity-grid .card {
	position: relative;
	padding: 0;
	border: none;
	border-radius: 0.75rem;
}
.section.activity-grid .card-image {
	width: 100%;
}
.section.activity-grid .card-body {
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	padding: 1rem;
	background: linear-gradient(10deg, rgba(123,175,222,0.75) 20%, rgba(123,175,222,0.05) 75%);
	color: var(--bs-white);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.section.activity-grid .card-title {
	margin-bottom: 0;
	color: inherit;
	line-height: 1.2;
}

.section.activity-list .card {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	flex-direction: column;
	align-items: initial;
}
.section.activity-list .card-header {
	padding: 0.75rem 2rem;
	border-bottom: none;
	border-radius: 0;
	background: var(--bs-secondary);
	color: var(--bs-white);
}
.section.activity-list .card-title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: bold;
	color: var(--bs-white);
}
.section.activity-list .card-body {
	padding: 0;
	flex-basis: auto;
}
.section.activity-list .activity-item {
	padding: 1.75rem 2rem;
	border-bottom: 1px solid var(--bs-light-darker);
}
.section.activity-list .card:not(:last-child) .activity-item:last-child {
	border-bottom: none;
}
.section.activity-list .activity-title {
	margin-bottom: 1.25rem;
	font-size: 1.75rem;
	font-weight: 500;
	display: flex;
}
.section.activity-list .activity-title .icon {
	margin-right: 0.5rem;
	font-size: 1.25em;
	line-height: 1.2;
}
.section.activity-list .activity-body {
	margin-bottom: 1.75rem;
	padding-left: 2.25rem;
}
.section.activity-list .activity-body dt {
	color: var(--bs-primary);
}
.section.activity-list img.activity-badge {
	max-width: 8rem;
}
.section.activity-list img.activity-badge + img.activity-badge {
	margin-left: 0.75rem;
}
.section.activity-list .activity-item .form-actions {
	justify-content: flex-end;
}
.section.activity-list .activity-item .form-actions .btn {
	white-space: nowrap;
}
.section.activity-list .legend {
	margin-top: 1.75rem;
	padding-left: 2rem;
	padding-right: 2rem;
}
@media (max-width: 767px) {
	.section.activity-list .card-header,
	.section.activity-list .activity-item,
	.section.activity-list .legend {
		padding-left: calc(var(--bs-gutter) * 0.5);
		padding-right: calc(var(--bs-gutter) * 0.5);
	}
	.section.activity-list .activity-body {
		padding-left: 0;
	}
}
@media (max-width: 575px) {
	.section.activity-list .card {
		margin-left: calc(var(--bs-gutter) * -0.5);
		margin-right: calc(var(--bs-gutter) * -0.5);
	}
}

.section.banner_carousel {
	padding-top: 0;
	padding-bottom: 0;
	max-width: 2160px;
	margin-right: auto;
	margin-left: auto;
}
.banner_carousel--item {
	height: 300px;
	position: relative;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.banner_carousel--item > .container {
	height: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.banner_carousel--logo {
	width: auto !important;
	height: 20%;
	position: absolute;
	top: 4%;
	left: 0;
	opacity: 0.6;
}
.banner_carousel--title {
	color: var(--bs-white);
	text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	font-weight: 900;
	font-size: 2.2rem;
	line-height: 1;
}
.banner_carousel--title + .banner_carousel--btn {
	margin-top: 1.5rem;
}
@media (min-width: 576x) {
	.banner_carousel--item {
		height: 330px;
	}
}
@media (min-width: 768x) {
	.banner_carousel--item {
		height: 360px;
	}
}
@media (min-width: 992px) {
	.banner_carousel--item {
		height: 400px;
	}
}
@media (min-width: 1200px) {
	.banner_carousel--item {
		height: 465px;
	}
}

.section.calendar .filter,
.section.calendar .legend {
	padding-top: 0;
	padding-bottom: 0;
}
.section.calendar-wrapper {
	position:relative;
}
.section.calendar-wrapper.loading:after {
	content:'';
	width:100%;
	height:100%;
	position:absolute;
	background:rgba(255,255,255,0.5) url(../../images/ajax-double-ring.svg) no-repeat center / 5rem;
	z-index:9;
}
@media (max-width:991px) {
	.section.calendar .filter form {
		margin-bottom:0;
	}
	.section.calendar .filter .filter-panel-trigger,
	.section.calendar .legend {
		display:none;
	}
}
@media (min-width:992px) {
	.section.calendar .filter,
	.section.calendar .legend {
		padding-bottom:var(--bs-spacing-4);
	}
	.section.calendar .filter-horizontal .filter-panel {
		flex-basis:50%;
		flex-grow:0;
	}
}

.section.calendar-category .pagination {
	margin-bottom: 1.25rem;
	justify-content: flex-start;
}
.section.calendar-category .pagination-title {
	min-width: 7.5em;
	margin: 0 0.25rem;
	font-size: 1.625rem;
	font-weight: bold;
	color: var(--bs-primary);
	text-align: center;
}
.section.calendar-category .pagination .btn-prev,
.section.calendar-category .pagination .btn-next {
	padding: 0.25rem;
	border: none;
	background: none;
	font-size: 2.5rem;
	color: var(--bs-primary);
	line-height: 1;
}
.section.calendar-category .pagination .btn-prev:hover,
.section.calendar-category .pagination .btn-next:hover {
	color: var(--bs-primary-darker);
}
.section.calendar-category .pagination .btn-prev:before,
.section.calendar-category .pagination .btn-next:before {
	font-family: 'yldhc-icons';
	line-height: 1;
}
.section.calendar-category .pagination .btn-prev:before {
	content: '\e912';
}
.section.calendar-category .pagination .btn-next:before {
	content: '\e90f';
}
.section.calendar-category .pagination .btn-prev:disabled,
.section.calendar-category .pagination .btn-next:disabled {
	color: #BABABA;
}
.section.calendar-category .card {
	border: none;
	border-radius: 0;
}
.section.calendar-category .card-header {
	padding: 0;
	border: none;
	border-radius: 0;
	background: none;
}
.section.calendar-category .card-title {
	--card-title-padding-x: calc(var(--bs-gutter) * 0.5);
	--card-title-padding-y: 0.75rem;
	margin: 0;
	padding: var(--card-title-padding-y) var(--card-title-padding-x);
	background-color: var(--bs-secondary);
	font-size: 1.125rem;
	font-weight: bold;
	color: var(--bs-white);
}
.section.calendar-category .card-title.btn {
	width: 100%;
	position: relative;
	border-radius: 0;
	text-align: left;
	display: flex;
	align-items: center;
	z-index: 1;
}
.section.calendar-category .card-title.btn > .arrow {
	width: 1.5em;
	height: 1.5em;
	position: relative;
	margin-left: auto;
}
.section.calendar-category .card-title.btn > .arrow:before,
.section.calendar-category .card-title.btn > .arrow:after {
	content: '';
	width: 100%;
	height: 30%;
	position: absolute;
	top: 50%;
	left: 50%;
	background: var(--bs-white);
	transform: translate(-50%,-50%);
	transition-property: width;
}
.section.calendar-category .card-title.btn > .arrow:after {
	transform: translate(-50%,-50%) rotate(90deg);
}
.section.calendar-category .card-title.btn[aria-expanded=true] > .arrow:after {
	width: 0;
}
.section.calendar-category .card .list-group {
	border: none;
	border-radius: 0;
}
.section.calendar-category .list-group-item {
	padding: 0;
	border: none;
}
.section.calendar-category .list-group-item:not(:last-child) {
	border-bottom: 1px solid #DDDDDD;
}
.section.calendar-category .list-group-item-action {
	position: relative;
	padding: 1rem calc(var(--bs-gutter) * 0.5 + 2.25rem) 1rem calc(var(--bs-gutter) * 0.5);
	color: var(--bs-black);
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}
.section.calendar-category .list-group-item-action:after {
	content: '\e90f';
	position: absolute;
	top: 50%;
	right: 1rem;
	margin-top: 0.0625em;
	font-family: 'yldhc-icons';
	font-size: 2rem;
	color: var(--bs-primary);
	line-height: 1;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition-property: -webkit-transform;
	-moz-transition-property: -moz-transform;
	transition-property: transform;
}
.section.calendar-category .list-group-item-action .course-info {
	margin: 0 -0.5rem;
	display: flex;
	flex-wrap: wrap;
}
.section.calendar-category .list-group-item-action .course-info > * {
	padding: 0 0.5rem;
}
.section.calendar-category .list-group-item-action .course-title {
	margin-bottom: 0.25rem;
	font-size: 1.25rem;
	flex-basis: 100%;
}
.section.calendar-category .list-group-item-action .course-meta {
	position: relative;
	padding-left: calc(0.5rem + 1.25em);
}
.section.calendar-category .list-group-item-action .course-meta .icon {
	width: 1em;
	position: absolute;
	top: 0.375em;
	left: 0.5rem;
	color: var(--bs-primary);
	text-align: center;
	display: inline-block;
}
.section.calendar-category .list-group-item-action .course-badges {
	margin-left: auto;
	padding-left: 1rem;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
}
.section.calendar-category .list-group-item-action .course-badge {
	height: 3rem;
}
.section.calendar-category .list-group-item-action .course-badge +  .course-badge {
	margin-top: 0.5rem;
}
.section.calendar-category .list-group .list-group .list-group-item:not(:last-child) {
	border-bottom: 1px solid #DDDDDD;
}
@media (max-width: 575px) {
	.section.calendar-category .card-header,
	.section.calendar-category .list-group {
		width: auto;
		margin-left: calc(var(--bs-gutter) * -0.5);
		margin-right: calc(var(--bs-gutter) * -0.5);
	}
	.section.calendar-category .list-group .list-group {
		margin-left: 0;
		margin-right: 0;
	}
}
@media (min-width: 576px) {
	.section.calendar-category .card-title {
		--card-title-padding-x: 1.5rem;
	}
	.section.calendar-category .list-group-item-action {
		padding-left: 1.5rem;
		padding-right: 3.75rem;
	}
	.section.calendar-category .list-group-item-action:after {
		right: 1.5rem;
	}

}
@media (min-width: 992px) {
	.section.calendar-category .pagination-title {
		min-width: 9em;
		margin-left: 1.25rem;
		margin-right: 1.25rem;
		padding-left: 2rem;
		padding-right: 2rem;
	}
	.section.calendar-category .card-title {
		--card-title-padding-x: 2rem;
	}
	.section.calendar-category .list-group-item-action {
		padding-left: 2em;
		padding-right: 5.5rem;
		flex-direction: row;
	}
	.section.calendar-category .list-group-item-action:after {
		right: 2rem;
		font-size: 2.5rem;
	}
	.section.calendar-category .list-group-item-action .course-badges {
		flex-direction: row;
	}
	.section.calendar-category .list-group-item-action .course-badge {
		height: 3.625rem;
	}
	.section.calendar-category .list-group-item-action .course-badge +  .course-badge {
		margin-top: 0;
		margin-left: 0.5rem;
	}
}

.cards-calendar .card {
	margin-left: auto;
	margin-right: auto;
	padding: 5px 15px 15px 15px;
	border-width: 12px 1px 1px 1px;
	border-style: solid;
	border-color: var(--bs-primary);
	background: var(--bs-white);
	display: flex;
	flex-direction: column;
}
.cards-calendar .card .event-title {
	margin:0;
	font-size:1.25rem;
	color:var(--bs-dark);
	order:3;
}
.cards-calendar .card .event-date {
	width:100%;
	padding-bottom:15px;
	border-bottom:1px solid var(--bs-primary);
	font-size:1.25rem;
	font-weight:500;
	color:var(--bs-primary);
	text-align:center;
	text-transform:uppercase;
}
.cards-calendar .card .event-date .event-date-day {
	font-size:5.25rem;
	line-height:1.2;
}
.cards-calendar .card .event-time {
	margin:1rem 0 0.625rem 0;
	font-size:1rem;
	font-weight:500;
	color:var(--bs-primary);
}
.cards-calendar .card .event-venue {
	margin-top:0.625rem;
	order:4;
}
.cards-calendar .card .event-remark {
	margin-top:0.625rem;
	order:5;
}
.cards-calendar a.card:before {
	display:none;
}
@media (max-width:991px) {
	.cards-calendar .section-body > .row {
		margin-left:-6px;
		margin-right:-6px;
	}
	.cards-calendar .section-body > .row > [class*=col] {
		padding-left:6px;
		padding-right:6px;
	}
	.cards-calendar .card {
		border-radius:8px;
	}
}
@media (max-width: 575px) {
	.cards-calendar .card {
		max-width: 280px;
	}
}
@media (min-width:992px) {
	.cards-calendar .card {
		padding:10px 20px 20px 20px;
		border-top-width:30px;
	}
	.cards-calendar .card .event-title {
		font-size:1.625rem;
	}
	.cards-calendar .card .event-date {
		padding-bottom:20px;
		font-size:1.375rem;
	}
	.cards-calendar .card .event-date .event-date-day {
		font-size:7.5rem;
	}
	.cards-calendar .card .event-time {
		margin-top:20px;
		font-size:1.375rem;
	}
}

.section.directory .contact-box {
	padding: 1.875rem 0.625rem;
	border-top: 1px solid #BABABA;
}
.section.directory .contact-box:last-child {
	border-bottom: 1px solid #BABABA;
}
.section.directory .contact-box:nth-child(2n) {
	background: #F7F7F7;
}
.section.directory .contact-box dl dt {
	font-weight: normal;
	color: var(--bs-primary);
	text-align: right;
}
.section.directory .contact-box dl dt[data-type=contact-info],
.section.directory .contact-box dl dt[data-type=contact-info] + dd {
	display: none;
}
.section.directory .contact-box .btn-contact-info {
	margin-left: calc(25% + var(--bs-gutter) * 0.5);
}
.section.directory .contact-box aside {
	width: 100%;
	display: none;
	align-items: center;
}
.section.directory .contact-box aside:before {
	content: '';
	width: calc(25% + var(--bs-gutter) * 0.5);
}
.section.directory .contact-box aside > :not(:last-child) {
	margin-right: 1rem;
}
.section.directory .contact-box .voucher-badge {
	width: 6.5rem;
	display: block;
}
.section.directory .contact-box.show-contact-info aside,
.section.directory .contact-box.show-contact-info dl dt[data-type=contact-info],
.section.directory .contact-box.show-contact-info dl dt[data-type=contact-info] + dd {
	display: block;
}
.section.directory .contact-box.show-contact-info aside {
	display: flex;
}
@media (max-width: 575px) {
	.section.directory .contact-box {
		margin-left: calc(var(--bs-gutter) * -0.5);
		margin-right: calc(var(--bs-gutter) * -0.5);
		padding-left: calc(var(--bs-gutter) * 0.5);
		padding-right: calc(var(--bs-gutter) * 0.5);
	}
}
@media (min-width:1200px) {
	.section.directory .contact-box aside {
		display: flex;
		flex-direction: column;
	}
	.section.directory .contact-box aside:before {
		display: none;
	}
	.section.directory .contact-box aside > :not(:last-child) {
		margin-bottom: 1.25rem;
		margin-right: 0;
	}
	.section.directory .contact-box .voucher-badge {
		width:7.5rem;
	}
}

.section.event-block .card {
	padding: 0;
	flex-direction: column;
}
.section.event-block .card-header {
	width: 100%;
}
.section.event-block .card-header .card-title {
	margin-bottom: 0;
}
.section.event-block .card-body {
	width: 100%;
	padding: 1.25rem;
	flex-basis: auto;
}
.section.event-block .card-actions {
	text-align: center;
}
.section.event-block .course-badges {
	display: flex;
	justify-content: center;
}
.section.event-block .course-badge {
	width: 8rem;
}
.section.event-block .course-badge + .course-badge {
	margin-left: 0.5rem;
}

.section.filter form {
	max-width:none;
	margin-bottom:-1rem;
}
.section.filter .card-body {
	display:flex;
}
.section.filter .filter-panel-header,
.section.filter .filter-panel-actions {
	display:none;
}
.section.filter .filter-panel-trigger {
	margin-bottom:1.875rem;
	margin-left:auto;
	padding:0 calc(var(--bs-gutter) * 0.5);
}
.section.filter .filter-panel-trigger .btn {
	width: calc(3.5rem + 2px);
	height: calc(3.5rem + 2px);
	padding: 1rem 0.5rem;
	border-radius: 0.5rem;
	font-size: 1.5rem;
	line-height: 1.5rem;
}
.section.filter .filter-panel-trigger .icon {
	margin:0;
}
.section.filter .form-control {
	height:calc(3.5rem + 2px);
	padding-top:1rem;
	padding-bottom:1rem;
	border-color:var(--bs-secondary);
	border-radius: calc(1.75rem + 1px);
	background-color:var(--bs-white) !important;
	line-height:1.5;
}
.section.filter .keyword {
	position:relative;
}
.section.filter .keyword .form-control {
	padding-right:4.5625rem;
}
.section.filter .keyword .btn {
	position:absolute;
	top:0;
	bottom: 0;
	right:0;
	padding:0.5rem 1.5rem;
	font-size:2rem;
	color:var(--bs-secondary);
	line-height:1;
}
.section.filter .keyword .btn .icon {
	margin:0;
}
.filter-panel .form-check + .form-check,
.filter-panel .form-check-label + .form-check {
	margin-top: 0.25rem;
}
@media (max-width:991px) {
	.section.filter .filter-panel {
		width:var(--slide-panel-width);
		position:fixed;
		top:0;
		bottom:0;
		left:100%;
		background:var(--bs-white);
		display:flex;
		flex-direction:column;
		z-index:18;
		-webkit-transition-property:left;
		-moz-transition-property:left;
		transition-property:left;
	}
	.section.filter .filter-panel-header {
		min-height:4.8rem;
		padding:1.5rem 0.5rem;
		display:flex;
		align-items:center;
		justify-content:center;
	}
	.section.filter .filter-panel-header > * {
		padding:0 0.5rem;
	}
	.section.filter .filter-panel-header .filter-panel-title {
		margin: 0;
		font-size:1.5rem;
	}
	.section.filter .filter-panel-header .filter-panel-close {
		position:absolute;
		left:0.75rem;
	}
	.section.filter .filter-panel-header .filter-panel-close .btn {
		margin:-0.5rem;
		padding:0.5rem;
		border:none;
		font-size:1.5rem;
		color:var(--bs-primary);
	}
	.section.filter .filter-panel-header .filter-panel-close .btn .icon {
		margin:0;
	}
	.section.filter .filter-panel-scroller {
		overflow:auto;
		padding:0 1.5rem;
		flex-basis:0;
		flex-grow:1;
	}
	.section.filter .filter-panel-scroller > .form-group {
		margin-bottom:1.875rem;
	}
	.section.filter .filter-panel-scroller > .form-group > label {
		margin-bottom:1.875rem;
		margin-left:-1.5rem;
		margin-right:-1.5rem;
		padding:1.25rem 1.5rem;
		background:#F7F7F7;
		font-weight:normal;
		color:#909090;
		display:block;
	}
	.section.filter .filter-panel-actions {
		margin-top:auto;
		box-shadow:0 -0.25rem 0.625rem rgba(0, 0, 0, 0.05);
		padding:1.5rem;
		display:block;
	}
	.section.filter .filter-panel-actions .btn {
		width:100%;
		box-shadow:0 0.25rem 0.625rem rgba(0, 0, 0, 0.15);
	}
	.section.filter .filter-panel-actions .btn + .btn {
		margin-top:0.625rem;
	}
	.section.filter .filter-panel-mask {
		width:100%;
		height:100%;
		position:fixed;
		top:0;
		left:0;
		background:rgba(0,0,0,0.5);
		opacity:0;
		z-index:-1;
		-webkit-transition-property:opacity, z-index;
		-moz-transition-property:opacity, z-index;
		transition-property:opacity, z-index;
	}
	.section.filter .filter-panel.opened {
		left:calc(100% - var(--slide-panel-width));
	}
	.section.filter .filter-panel.opened + .filter-panel-mask {
		opacity:1;
		z-index:11;
	}
	body.filter-panel-opened {
		overflow:hidden;
	}
}
.section.filter-horizontal .card {
	overflow:visible;
	margin:0;
	padding:0;
	border:none;
	flex-direction:column;
	align-items:normal;
}
.section.filter-horizontal .card-header {
	margin-bottom:1.5em;
	padding:0;
	border-bottom:none;
	background:none;
}
.section.filter-horizontal .card-body {
	min-height:0;
	margin-left:calc(var(--bs-gutter) * -0.5);
	margin-right:calc(var(--bs-gutter) * -0.5);
	padding:0;
	flex-basis:auto;
}
.section.filter-horizontal .filter-keyword {
	flex-basis:50%;
	flex-grow:1;
}
.section.filter-horizontal .filter-keyword .form-group {
	padding:0 calc(var(--bs-gutter) * 0.5);
}
.section.filter-horizontal .filter-actions {
	display:none;
}
@media (min-width:992px) {
	.section.filter-horizontal .form-group {
		padding-left:calc(var(--bs-gutter) * 0.5);
		padding-right:calc(var(--bs-gutter) * 0.5);
	}
	.section.filter-horizontal .form-group label {
		display:none;
	}
	.section.filter-horizontal .filter-keyword {
		order:1;
	}
	.section.filter-horizontal .filter-panel {
		flex-basis:50%;
		flex-grow:1;
		order:0;
	}
	.section.filter-horizontal .filter-panel-scroller {
		display:flex;
	}
	.section.filter-horizontal .filter-panel-scroller .form-group {
		flex-basis:0;
		flex-grow:1;
	}
	.section.filter-horizontal .filter-panel-trigger {
		display:none;
	}
	.section.filter-horizontal .filter-actions {
		padding-left:calc(var(--bs-gutter) * 0.5);
		padding-right:calc(var(--bs-gutter) * 0.5);
		white-space:nowrap;
		order:2;
		display:block;
	}
	.section.filter-horizontal .filter-actions .btn {
		border-radius:calc(0.75em + 1rem + 1px);
		line-height:1.78125rem;
	}
	.section.filter-horizontal .keyword {
		flex-basis:0;
		flex-grow:1;
	}
	.section.filter-horizontal .keyword .form-control {
		padding-right:calc(5.71875rem + 0.25em);
	}
	.section.filter-horizontal .keyword .btn {
		padding-top:0.75rem;
		padding-bottom:0.75rem;
		border-radius:calc(1.75rem + 1px);
		background:var(--bs-secondary);
		color:var(--bs-white);
		line-height:1.1875rem;
	}
	.section.filter-horizontal .keyword .btn svg {
		width: 2rem;
		height: 2rem;
		fill: var(--bs-white);
	}
	.section.filter-horizontal .keyword .btn svg path {
		fill: inherit;
	}
}
.section.filter-vertical .card {
	margin:0;
	border-color:var(--bs-primary);
}
.section.filter-vertical .card-header {
	border-bottom:none;
	background-color:var(--bs-primary);
}
.section.filter-vertical .card-title {
	margin-bottom: 0;
	font-size:1.1875rem;
	font-weight:500;
	color:var(--bs-white);
}
.section.filter-vertical .card-body {
	padding:1.875rem 1.25rem;
	flex-direction:row;
}
.section.filter-vertical .filter-actions .btn {
	width:100%;
	font-size:1.1875rem
}
.section.filter-vertical .filter-actions .btn + .btn {
	margin-top:0.75rem;
}
.section.filter-vertical .form-group > label {
	color: var(--bs-primary);
}
.section.filter-vertical .keyword .form-control {
	border-color: var(--bs-primary);
}
.section.filter-vertical .keyword .btn {
	color: var(--bs-primary);
}
@media (max-width:991px) {
	.section.filter-vertical .card {
		overflow:visible;
		padding:0;
		border:none;
	}
	.section.filter-vertical .card-header {
		display:none;
	}
	.section.filter-vertical .card-body {
		margin-left:calc(var(--bs-gutter) * -0.5);
		margin-right:calc(var(--bs-gutter) * -0.5);
		padding:0;
	}
	.section.filter-vertical .card-body > .form-group {
		padding-left:calc(var(--bs-gutter) * 0.5);
		padding-right:calc(var(--bs-gutter) * 0.5);
		flex-basis:0;
		flex-grow:1;
	}
	.section.filter-vertical .filter-actions {
		display:none;
	}
}
@media (min-width:992px) {
	.section.filter-vertical .card-body {
		flex-direction:column;
	}
	.section.filter-vertical .filter-panel-trigger {
		display:none;
	}
	.section.filter-vertical .form-control {
		height:calc(1.5em + 1rem + 2px);
		padding-top:0.5rem;
		padding-bottom:0.5rem;
		border-radius:calc(0.75em + 0.5rem + 1px);
		font-size:1rem;
	}
	.section.filter-vertical .keyword .form-control {
		padding-right: 2.75rem;
	}
	.section.filter-vertical .keyword .btn {
		padding:0.5rem 0.75rem;
		border-radius:calc(0.75em + 0.5rem + 1px);
		font-size:1rem;
	}
}

@media (min-width:1200px) {
	.section.form-block .section-body {
		width:85%;
	}
}

.health-index-chart .section-title {
	font-size:1.25rem;
	font-weight:bold;
	color: var(--bs-primary);
}
.health-index-chart .section-title:after {
	display:none;
}

.health-index-summary .last-measurement {
	margin-bottom:1.25rem;
	display:flex;
	align-items:flex-start;
}
.health-index-summary .last-measurement .icon {
	width:4rem;
	height:4rem;
	margin-right:1.25rem;
	border:2px solid var(--bs-primary);
	border-radius:0.625rem;
	font-size:2.75rem;
	color:var(--bs-primary);
	display:flex;
	flex-shrink: 0;
	align-items:center;
	justify-content:center;
}
.health-index-summary .last-measurement .title {
	margin-bottom:0.25rem;
	font-size: 1.25rem;
	font-weight:700;
	color: var(--bs-primary);
}
.health-index-summary .health-indice-table {
	font-size:1.375rem;
	color:#606060;
}
.health-index-summary .health-indice-table th,
.health-index-summary .health-indice-table td {
	border-top-color:#DDDDDD;
	background:none;
	padding:1rem 0;
	vertical-align:middle;
}
.health-index-summary .health-indice-table tr:last-child th,
.health-index-summary .health-indice-table tr:last-child td {
	border-bottom-color:#DDDDDD;
}
.health-index-summary .health-indice-table th:not(:first-child),
.health-index-summary .health-indice-table td:not(:first-child) {
	padding-left:0.375rem;
}
.health-index-summary .health-indice-table th:not(:last-child),
.health-index-summary .health-indice-table td:not(:last-child) {
	padding-right:0.375rem;
}
.health-index-summary .health-indice-table td.value {
	font-size:3rem;
	font-weight:600;
	line-height:3.5rem;
	text-align:right;
}
.health-index-summary .health-indice-table td.unit,
.health-index-summary .health-indice-table td.guide {
	width:1%;
	white-space:nowrap;
}
.health-index-summary .health-alert {
	padding:0;
	border:none;
	color:var(--bs-danger);
	display:flex;
}
.health-index-summary .health-alert:before {
	content:'\e923';
	width:auto;
	height:auto;
	position:relative;
	margin:0 0.25em 0 0;
	font-family:yldhc-icons;
}

.image_text--image {
	display: block;
}
.image_text--image + .image_text--image {
	margin-top: 1.5rem;
}
@media (min-width: 768px) and (max-width: 991px) {
	.image_text--image {
		max-width: 550px;
	}
}
@media (max-width: 991px) {
	.image_text--image {
		max-height: 400px;
		margin-left: auto;
		margin-right: auto;
	}
	.image_text--image_container + .image_text--text--container {
		margin-top: 1.5rem;
	}
}

.section.legend .section-body {
	border: 1px solid var(--bs-secondary);
	border-radius: 1rem;
}
.section.legend .section-title {
	margin:0;
	padding:0.75rem 1.25rem;
	font-size:1rem;
	font-weight:normal;
	color:var(--bs-dark-darker);
	line-height: 1.5;
}
.section.legend .section-title:after {
	display:none;
}
.section.legend .legend-list {
	padding: 0.75rem 0.75rem 0 0.75rem;
	border-top: 1px solid var(--bs-secondary);
	display: flex;
	flex-wrap: wrap;
	flex-basis: 0;
	flex-grow: 1;
}
.section.legend .legend-item {
	margin-bottom: 0.75rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	display:flex;
}
.section.legend .legend-item .graphic {
	font-size: 1.25rem;
	line-height: 1;
	flex-shrink: 0;
}
.section.legend .legend-item .graphic:before {
	content: '\e917';
	font-family: 'yldhc-icons';
}
.section.legend .legend-item .graphic + .label {
	margin-left:0.625rem;
}
@media (min-width: 992px) {
	.section.legend .section-body {
		border-radius: 1.875rem;
		display: flex;
		align-items: center;
	}
	.section.legend .section-title {
		max-width: 250px;
		padding: 0 1.875rem;
		text-align: center;
	}
	.section.legend .legend-list {
		padding: 1.25rem 1.375rem 0 1.375rem;
		border-top: none;
		border-left: 1px solid var(--bs-secondary);
		flex-basis: 0;
		flex-grow: 1;
	}
	.section.legend .legend-item {
		margin-bottom: 1.25rem;
	}
}

.main_banner {
	height: 15rem;
	padding-top: 0;
	padding-bottom: 0;
	background-color: var(--bs-light-darker);
}
.main_banner > .container {
	height: 100%;
	display: flex;
	align-items: center;
}
.main_banner--title {
	margin: 0;
	font-size: 2.5rem;
	font-weight: bold;
	color: var(--bs-white);
	line-height: 1.2;
	text-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
}
@media (min-width: 480px) {
	.main_banner > .container {
		justify-content: flex-end;
	}
}
@media (min-width: 1200px) {
	.main_banner {
		height: 365px;
	}
}

.nsp-appointment-list .table-toolbar {
	margin-bottom:1.25rem;
}
.nsp-appointment-list .table-toolbar .btn {
	padding:1rem 2rem;
	border-color:#BABABA;
	border-radius:calc(1rem + 1.5em + 1px);
	background-color:var(--bs-white);
	font-size:1.1875rem;
	font-weight:normal;
	flex-basis:0;
	flex-grow:1;
}
.nsp-appointment-list .table-toolbar .btn:hover,
.nsp-appointment-list .table-toolbar .btn.active {
	border-color:var(--bs-secondary);
	background-color:var(--bs-secondary);
	color:var(--bs-white);
}
.nsp-appointment-list .table-toolbar .btn-next,
.nsp-appointment-list .table-toolbar .btn-prev {
	padding:0;
	border:none;
	border-radius:0;
	font-size:2rem;
	color:var(--bs-primary);
	flex-grow:0;
}
.nsp-appointment-list .table-toolbar .btn-next:hover,
.nsp-appointment-list .table-toolbar .btn-next.active,
.nsp-appointment-list .table-toolbar .btn-prev:hover,
.nsp-appointment-list .table-toolbar .btn-prev:active {
	background-color:transparent;
	color:var(--bs-primary);
}
.nsp-appointment-list .table-toolbar-chunk {
	display:flex;
	justify-content:space-between;
}
.nsp-appointment-list .table-toolbar-chunk + .table-toolbar-chunk {
	margin-top:0.75rem;
}
.nsp-appointment-list .table-toolbar-chunk > :not(:first-child) {
	margin-left:0.75rem;
}
.nsp-appointment-list .table-toolbar-title {
	min-width:7.5em;
	font-size:2rem;
	font-weight:bold;
	color:var(--bs-primary);
	text-align:center;
}
.nsp-appointment-list .table-toolbar + .table-responsive {
	margin-top:0;
}
.nsp-appointment-list .table h4 {
	margin-bottom:0.5rem;
}
.nsp-appointment-list .table tbody td {
	border-top-color:#BABABA;
}
.nsp-appointment-list .table tbody tr.detail td {
	border-top:none;
}
.nsp-appointment-list .table tbody tr:nth-child(4n+3) {
	background-color:#F7F7F7;
}
.nsp-appointment-list .table .btn-expand {
	padding:0;
	border:0;
	font-size:1.75rem;
	line-height:1.78125rem;
	color:var(--bs-primary);
}
.nsp-appointment-list .table .btn-expand:before {
	content:'\e911';
	font-family:yldhc-icons;

}
.nsp-appointment-list .table .btn-expand.active:before {
	content:'\e910';
}
.nsp-appointment-list .no-records {
	min-height:15rem;
	display:flex;
	align-items:center;
	justify-content:center;
}
@media (min-width:576px) {
	.nsp-appointment-list .table-toolbar-title {
		min-width:9em;
	}
}
@media (min-width:768px) {
	.nsp-appointment-list .table-toolbar {
		display:flex;
		align-items:center;
		justify-content:space-between;
	}
	.nsp-appointment-list .table-toolbar-chunk + .table-toolbar-chunk {
		margin-top:0;
	}
}
@media (min-width:992px) {
	.nsp-appointment-list .table-toolbar-chunk > :not(:first-child) {
		margin-left:1.25rem;
	}
}

.section.tabs:after {
	content: '';
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	border-top: 1px solid #E6E7E8;
}
.section.tabs .nav-pills {
	display: none;
}
.section.tabs .form-control {
	height: calc(3.5rem + 2px);
	padding-top: 1rem;
	padding-bottom: 1rem;
	border-color: var(--bs-secondary);
	border-radius: calc(1.75rem + 1px);
	background-color: var(--bs-white);
	line-height: 1.5;
}
@media (min-width: 576px) {
	.section.tabs:after {
		width: calc(540px - var(--bs-gutter));
		left: 50%;
		transform: translateX(-50%);
	}
}
@media (min-width: 768px) {
	.section.tabs:after {
		width: calc(720px - var(--bs-gutter));
	}
	.section.tabs .nav-pills {
		display: flex;
	}
	.section.tabs .form-control {
		display: none;
	}
}
@media (min-width: 992px) {
	.section.tabs:after {
		width: calc(960px - var(--bs-gutter));
	}
}
@media (min-width: 1200px) {
	.section.tabs:after {
		width: calc(1140px - var(--bs-gutter));
	}
}
@media (min-width: 1400px) {
	.section.tabs:after {
		width: calc(1250px - var(--bs-gutter));
	}
}

.section.text-block .section-title {
	margin-bottom: 1.5rem;
}
.section.text-block article ol {
	padding: 0;
	list-style: none;
	counter-reset: ol;
}
.section.text-block article ol > li {
	position: relative;
	margin-bottom: 1em;
	margin-left: 3em;
	padding-top: 0.25em;
	padding-bottom: 0.25em;
}
.section.text-block article ol > li:before {
	content: counter(ol);
	width: 2em;
	height: 2em;
	position: absolute;
	top: 0;
	left: -3em;
	border-radius: 50%;
	background: #E6E7E8;
	display: flex;
	align-items: center;
	justify-content: center;
	counter-increment: ol;
}
.section.text-block article.with-icon .section-title {
	display: flex;
	align-items: center;
}
.section.text-block article.with-icon .section-title:before {
	content: '';
	width: 3.5rem;
	height: 3.5rem;
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 1rem;
	display: block;
	flex-shrink: 0;
	align-self: flex-start;
}
.section.text-block article.with-icon .section-title-icon-circle:before {
	background-image: url("data:image/svg+xml,%3Csvg width='87' height='87' viewBox='0 0 87 87' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M43.5 0C19.4719 0 0 19.4719 0 43.5C0 67.5281 19.4719 87 43.5 87C67.5281 87 87 67.5281 87 43.5C87 19.4719 67.5281 0 43.5 0ZM43.5 63.2117C32.613 63.2117 23.7883 54.387 23.7883 43.5C23.7883 32.613 32.613 23.7883 43.5 23.7883C54.387 23.7883 63.2117 32.613 63.2117 43.5C63.2117 54.387 54.387 63.2117 43.5 63.2117Z' fill='%23F8B6C1'/%3E%3C/svg%3E%0A");
}
@media (min-width: 768px) {
	.section.text-block article.with-icon {
		padding-left: 4.5rem;
		padding-right: 4.5rem;
	}
	.section.text-block article.with-icon .section-title {
		margin-left: -4.5rem;
	}
	.section.text-block article.with-icon .section-title:before {
		width: 4.5rem;
		height: 4.5rem;
	}
}
@media (min-width: 992px) {
	.section.text-block article.with-icon {
		padding-left: 5.5rem;
		padding-right: 5.5rem;
	}
	.section.text-block article.with-icon .section-title {
		margin-left: -5.5rem;
	}
}
@media (min-width: 1200px) {
	.section.text-block article:not(.with-icon) {
		max-width: 85%;
		margin-left: auto;
		margin-right: auto;
	}
}

.workout-calendar {
	border-width: 1px 0;
	border-style: solid;
	border-color: #DDDDDD;
	display: flex;
}
.workout-calendar .workout-day {
	min-height: calc(6.5rem + 1.5em + 3px);
}
.workout-calendar .workout-day:not(:first-child) {
	border-top:1px solid #DDDDDD;
}
.workout-calendar .workout-day-header {
	overflow:hidden;
	border-radius:0.625rem 0 0 0.625rem;
	display:flex;
	flex-direction:column;
}
.workout-calendar .workout-day-header .workout-day {
	width:10rem;
	padding:0.625rem 0;
	display:flex;
}
.workout-calendar .workout-day-header .workout-day-inner {
	border-radius: 0.5rem;
	background:var(--bs-secondary);
	color:var(--bs-white);
	text-align:center;
	flex-basis:0;
	flex-grow:1;
	display:flex;
	flex-direction:column-reverse;
	justify-content:center;
}
.workout-calendar .workout-day-header .date {
	font-size:1.75rem;
	font-weight:600;
	line-height:1.1875;
}
.workout-calendar .workout-day-header .dow {
	font-size:0.875rem;
	font-weight:500;
}
.workout-calendar .workout-day-body {
	overflow:auto;
	flex-basis:0;
	flex-grow:1;
}
.workout-calendar .workout-day-body-scroller {
	min-width:100%;
	display:table;
}
.workout-calendar .workout-day-body-scroller .workout-day {
	padding:0.3125rem;
	white-space:nowrap;
}
.workout-calendar .workout-entry-container {
	display:flex;
}
.workout-calendar .workout-entry {
	margin:0.3125rem;
	display:inline-block;
}
.workout-calendar .workout-entry-btn {
	width:100%;
	padding:0.75rem;
	border:1px solid #DDDDDD;
	border-radius:0.625rem;
	background:#F7F7F7;
	color:var(--bs-primary);
	text-align:center;
}
.workout-calendar .workout-entry-header {
	display:flex;
	align-items:center;
}
.workout-calendar .workout-entry-body > * {
	margin-top:0.25rem;
}
.workout-calendar .workout-entry-icon {
	font-size:3.5rem;
	align-self:flex-start;
}
.workout-calendar .workout-entry-icon .icon {
	width:3.5rem;
	height:3.5rem;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	display:block;
}
.workout-calendar .workout-entry-title {
	max-width:8em;
	overflow:hidden;
	font-size:1.25rem;
	font-weight:500;
	line-height:1.625rem;
	text-align:left;
	text-overflow:ellipsis;
}
.workout-calendar .workout-entry-icon + .workout-entry-title {
	margin-left:0.25em;
}
.workout-calendar .workout-entry-duration {
	font-weight:500;
}
.workout-calendar .workout-entry-remark {
	color:#909090;
}
.workout-calendar-toolbar {
	display:flex;
	flex-wrap: wrap;
	align-items:center;
}
.workout-calendar-toolbar:not(:first-child) {
	margin-top:1.875rem;
}
.workout-calendar-toolbar:not(:last-child) {
	margin-bottom:1.875rem;
}
.workout-calendar-toolbar > :not(:last-child) {
	margin-right:1.875rem;
}
.workout-calendar-toolbar .form-control {
	width:auto;
	min-width:0;
}
/*@media (min-width:1200px) {
	.workout-calendar {
		flex-direction:column;
	}
	.workout-calendar .workout-day-header {
		border-radius:0.625rem 0.625rem 0 0;
		flex-direction:row;
	}
	.workout-calendar .workout-day-header .workout-day {
		flex-basis:14.285714%;
	}
	.workout-calendar .workout-day-body {
		min-height:500px;
		border-width:0 1px 1px 1px;
		border-radius:0 0 0.625rem 0.625rem;
		display:flex;
	}
	.workout-calendar .workout-day-body-scroller .workout-day {
		width:14.285714%;
		display:table-cell;
	}
	.workout-calendar .workout-day-body-scroller .workout-day:not(:first-child) {
		border-top:none;
		border-left:1px solid #DDDDDD;
	}
	.workout-calendar .workout-entry-container {
		flex-direction:column;
	}
	.workout-calendar .workout-entry-body > * {
		margin-top:0.625rem;
	}
}
@media (min-width:1200px) and (max-width:1599px) {
	.workout-calendar .workout-entry-header {
		flex-direction:column;
	}
	.workout-calendar .workout-entry-icon {
		align-self:center;
	}
	.workout-calendar .workout-entry-title {
		text-align:center;
	}
	.workout-calendar .workout-entry-icon + .workout-entry-title {
		margin-top:0.25em;
		margin-left:0;
	}
}
@media (min-width:1600px) {
	.workout-calendar .workout-entry-header {
		flex-direction:row;
	}
	.workout-calendar .workout-entry-title {
		text-align:left;
	}
	.workout-calendar .workout-entry-icon + .workout-entry-title {
		margin-left:0.375rem;
	}
}*/

form[name=workout] input[name=exercise] + .icon {
	width:1em;
	position:relative;
	top:0.05em;
	margin:-0.84375rem;
	font-size:3.75rem;
	display:block;
}
form[name=workout] input[name=exercise] + .img-holder {
	width: 4.0625rem;
	height: 4.0625rem;
	position: relative;
	margin: -1rem;
	display: block;
}
.workout-exercise-custom {
	max-width:480px;
	margin:var(--bs-spacing-4) auto;
	display:flex;
	align-items:center;
	justify-content:center;
}
.workout-exercise-custom > * + * {
	margin-left:var(--bs-spacing-4);
}
.workout-exercise-custom label {
	margin:0;
	white-space:nowrap;
}
.workout-exercise-custom input[type=radio] {
	position:absolute;
	opacity:0;
}
.workout-exercise-custom-control {
	position:relative;
}
.workout-exercise-custom-control .form-control {
	min-width:0;
	padding-left:calc(1.5em + 3.25rem);
}
.workout-exercise-custom-preview {
	width:calc(1.5em + 2rem + 1px);
	overflow:hidden;
	position:absolute;
	top:1px;
	bottom:1px;
	left:1px;
	border-radius:50% 0 0 50%;
	z-index:9;
}
.workout-exercise-custom-preview > * {
	width:100%;
	height:100%;
	position:absolute;
}
.workout-exercise-custom-preview input[type=file] {
	opacity:0;
	cursor:pointer;
	z-index:9;
}
.workout-exercise-custom-preview .icon {
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:8;
}
.workout-exercise-custom-preview .icon.loading {
	background-image:url(../../images/ajax-double-ring.svg);
	background-size:2.5rem;
}
.workout-exercise-custom-preview .icon.empty:before {
	content:'\e93a';
	font-size:1.375em;
	color:#DDDDDD;
}


/* angularjs-based module styles */
.consultation-appointment-list .appointment-container,
.message-box .message-container {
	padding:1.5rem 0;
}
@media (min-width:576px) {
	.consultation-appointment-list .appointment-container,
	.message-box .message-container {
		padding-left:1.5rem;
		padding-right:1.5rem;
	}
}


/* page-specific styles */
.enrolled-course-list .card {
	overflow: visible;
	padding-bottom: 1.5rem;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: var(--bs-light);
	border-radius: 0;
}
.enrolled-course-list .card:first-child {
	padding-top: 1.5rem;
	border-top-width: 1px;
}
.enrolled-course-list .card-header {
	margin-bottom: 1rem;
	padding: 0;
	border: none;
	border-radius: 0;
	background: none;
}
.enrolled-course-list .card-body {
	padding: 0;
}
.enrolled-course-list .card-body > :not(:last-child) {
	margin-bottom: 0.25rem;
}
.enrolled-course-list .card-actions {
	padding-top: 1rem;
	text-align: center;
}
.enrolled-course-list .event-date {
	padding: 0.625rem 1rem;
	border-radius: 0.5rem;
	background: var(--bs-dark);
	color: var(--bs-white);
	display: flex;
	flex-direction: column;
	align-items: center;
}
.enrolled-course-list .event-date-day {
	font-size: 1.625rem;
	font-weight: 600;
	line-height: 1.2;
	order: 2;
}
.enrolled-course-list .event-date-dow {
	font-size: 0.875rem;
	font-weight: 500;
}
.enrolled-course-list .event-time {
	font-size: 1.25rem;
	font-weight: 600;
}
.enrolled-course-list .event-title {
	margin: 0;
	font-size: 1.375rem;
	font-weight: 500;
	line-height: 1.5;
}
@media (max-width: 575px) {
	.enrolled-course-list .card {
		padding-left: 0;
		padding-right: 0;
		flex-direction: column;
	}
	.enrolled-course-list .card-header {
		width: 100%;
	}
	.enrolled-course-list .card-body {
		flex-basis: auto;
	}
}
@media (min-width: 576px) {
	.enrolled-course-list .card-header + .card-body {
		margin-left: 1.5rem;
	}
}
@media (min-width: 992px) {
	.enrolled-course-list .card {
		flex-direction: row;
		align-items: flex-start;
	}
	.enrolled-course-list .card-body {
		flex-grow: 1;
	}
	.enrolled-course-list .card-actions {
		width: auto;
		margin-left: auto;
		padding: 0;
	}
	.enrolled-course-list .card-actions .btn {
		white-space: nowrap;
	}
	.enrolled-course-list .card-body + .card-actions {
		margin-left: 1.5rem;
	}
	.enrolled-course-list .event-date {
		width: 11.5rem;
	}
}

.service_content .service_content--container {
	text-align: justify;
	padding-bottom: 3.6rem;
}
.service_content .service_content--container .service_content--title {
	font-weight: bold;
	font-size: 1.2rem;
}
.service_content .service_content--container .service_content--content {
	padding: 3rem 2rem;
}
.service_content .service_content--container .service_content--gray-box {
	height: 100%;
	padding: 1rem;
	background: #E6E7E8;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.service_content .service_content--example--title {
	color: white;
	background-color: #7BAFDE;
	padding: 1rem 2rem;
}
.service_content .service_content--example--content {
	border: 2px solid #7BAFDE;
	padding: 1rem 2rem;
	background: var(--bs-white);
}

.volunteer-form .btn-submit {
	width: auto;
	color: white;
	font-size: 1.2rem;
	font-weight: bold;
	position: absolute;
	border: none;
	border-radius: 0;
	background-color: transparent;
	padding: 0px;
	bottom: -1.7rem;
	right: -1.5rem;
	pointer-events: none;
}
.volunteer-form .btn-submit span {
	position: absolute;
	top: 60%;
	left: 65%;
	transform: translate(-50%, -50%);
}
.volunteer-form .btn-submit path {
	pointer-events: all;
}
