/* Technetium PHP Framework version 2.9
   Author: Tony Leung
   E-mail: info@technetium.info */

@charset "utf-8";

/* html tags */
:root {
	--bs-primary:#6FB059;
	--bs-primary-darker:#619E4B;
	--bs-primary-shadow:rgba(111,176,89,0.5);
	--bs-secondary:#E37139;
	--bs-secondary-darker:#DE5E1F;
	--bs-info:#5591F5;
	--bs-info-darker:#4184F3;
	--bs-success:#6FB059;
	--bs-success-darker:#619E4B;
	--bs-warning:#EFB738;
	--bs-warning-darker:#EDAE1B;
	--bs-danger:#DD5251;
	--bs-danger-darker:#DA3F3F;
	--bs-black:#000000;
	--bs-white:#FFFFFF;
	--bs-grey:#606060;
	--bs-dark:#3E3A39;
	--bs-light:#BABABA;
	--bs-beige:#F9F0DC;
	--bs-purple:#B550B7;
	--bs-gutter:24px;
	--bs-spacing-4:1.25rem;
	--bs-spacing-5:2.5rem;
	--wcag-focus-outline:2px solid var(--bs-primary-shadow);
	--wcag-focus-shadow:0 0 0 2px var(--bs-primary-shadow);
	--slide-panel-width:320px;
}
@media (min-width:992px) {
	:root {
		--bs-spacing-4:1.875rem;
		--bs-spacing-5:3.75rem;
	}
}
*, *:before, *:after {
	box-sizing:border-box;
	transition-property:none;
	transition-duration:0.15s;
	transition-timing-function:ease-in-out;
}
html {
	height:100%;
	font-size:12px;
}
html.large {
	font-size:14px;
}
html.xlarge {
	font-size:16px;
}
@media (min-width:992px) {
	html {
		font-size:16px;
	}
	html.large {
		font-size:19px;
	}
	html.xlarge {
		font-size:22px;
	}
}
@media print {
	html {
		font-size:16px;
	}
}
body {
	height:100%;
	min-height:100%;
	max-height:999em;
	margin:0;
	padding:0;
	background:#FFFFFF;
	font-family:"proxima-nova", Arial, "Noto Sans TC", "Noto Sans SC", "微軟正黑體", "Microsoft JhengHei", Helvetica, sans-serif;
	font-size:1.1875rem;
	color:var(--bs-dark);
	-webkit-text-size-adjust:none;
}
@media print {
	body {
		min-width:0 !important;
	}
}
aside, footer, header, hgroup, nav, section, artivle, iframe {
	display:block;
}
article {
	margin:0 0 30px 0;
}
article:last-child {
	margin-bottom:0;
}
iframe {
	border:none;
}
pre {
	margin:0 0 1.5em 0;
}
h1, h2, h3, h4, h5, h6 {
	margin-bottom:1.78125rem;
	color:var(--bs-primary);
}
h3 {
	font-size:1.375rem;
}
h4 {
	font-size:1.1875rem;
}
p {
	margin:0 0 1.5em 0;
}
ol, ul {
	margin:0 0 1.5em 0;
	padding-left:1.25em;
}
ol.column-2,
ol.column-3,
ol.column-4,
ul.column-2,
ul.column-3,
ul.column-4 {
	margin-left:calc(var(--bs-gutter) * -0.5);
	margin-right:calc(var(--bs-gutter) * -0.5);
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
ol.column-2 > li,
ol.column-3 > li,
ol.column-4 > li,
ul.column-2 > li,
ul.column-3 > li,
ul.column-4 > li {
	width:calc(100% - var(--bs-gutter) - 1.25em);
	margin-left:calc(var(--bs-gutter) * 0.5 + 1.25em);
	margin-right:calc(var(--bs-gutter) * 0.5);
}
@media (min-width:576px) {
	ol.column-2 > li,
	ol.column-3 > li,
	ol.column-4 > li,
	ul.column-2 > li,
	ul.column-3 > li,
	ul.column-4 > li {
		width:calc(50% - var(--bs-gutter) - 1.25em);
	}
}
@media (min-width:768px) {
	ol.column-3 > li,
	ol.column-4 > li,
	ul.column-3 > li,
	ul.column-4 > li {
		width:calc(33.333333% - var(--bs-gutter) - 1.25em);
	}
}
@media (min-width:992px) {
	ol.column-4 > li,
	ul.column-4 > li {
		width:calc(25% - var(--bs-gutter) - 1.25em);
	}
}
li {
	margin:0 0 0.25em 0;
}
li ol, li ul {
	margin:0.25em 0 0 0;
}
li ol {
	list-style-type:lower-latin;
}
li ol ol {
	list-style-type:lower-roman;
}
dl {
	margin:0 calc(var(--bs-gutter) * -0.5) 1.5em calc(var(--bs-gutter) * -0.5);
	display:flex;
	flex-wrap:wrap;
}
dl > dt {
	margin:0 0 0.8em 0;
	padding:0 calc(var(--bs-gutter) * 0.5);
	font-weight:bold;
	flex-basis:100%;
}
dl > dd {
	margin-bottom:0.8em;
	padding:0 calc(var(--bs-gutter) * 0.5);
	flex-basis:100%;
}
dl > dt:last-of-type,
dl > dd:last-of-type,
dl li {
	margin-bottom: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;
	}
}
h1:first-child, h2:first-child, h3:first-child,
h4:first-child, h5:first-child, h6:first-child {
	margin-top:0;
}
h1:last-child, h2:last-child, h3:last-child,
h4:last-child, h5:last-child, h6:last-child,
p:last-child, pre:last-child,
ol:last-child, ul:last-child, dl:last-child, li:last-child {
	margin-bottom:0;
}
a {
	color:#5591F5;
	text-decoration:none;
	outline:none;
	transition-property:color, opacity;
}
a:hover {
	color:#4184F3;
	text-decoration:none;
}
a:focus {
	outline:var(--wcag-focus-outline);
}
a * {
	cursor:pointer;
}
a[id][name] {
	float:left;
}
h1 a, h1 a:hover, h1 a:focus, h1 a:active,
h2 a, h2 a:hover, h2 a:focus, h2 a:active,
h3 a, h3 a:hover, h3 a:focus, h3 a:active,
h4 a, h4 a:hover, h4 a:focus, h4 a:active,
h5 a, h5 a:hover, h5 a:focus, h5 a:active,
h6 a, h6 a:hover, h6 a:focus, h6 a:active {
	color:inherit;
	text-decoration:inherit;
}
img {
	max-width:100%;
	border:none;
}
article img {
	max-width:100%;
	border-radius:0.625rem;
}
figcaption {
	margin-top:0.5rem;
}
hr, div.hr {
	margin:2.5rem 0;
	border:none;
	border-top:4px dotted var(--bs-primary);
}
sup {
	position:relative;
	top:-4px;
	vertical-align:baseline;
}
sub {
	position:relative;
	top:2px;
	vertical-align:baseline;
}
blockquote {
	margin:12px 0 12px 25px;
	padding:5px 5px 5px 15px;
	border-left:5px solid #333333;
	display:block;
}
code {
	overflow:auto;
	margin:0 0 10px 0;
	padding:10px;
	border:1px solid #DDDDDD;
	background:#FAFAFA;
	display:block;
}
::selection {
	background:var(--bs-primary-darker);
	color:#FFFFFF;
}
::-moz-selection {
	background:var(--bs-primary-darker);
	color:#FFFFFF;
}


/* form elements */
form hr {
	border-top:1px solid #EEEEEE;
}

.form-title {
	font-size:1.625rem;
}

.form-actions {
	display:flex;
}
.form-actions .btn:not(.btn-link) {
	box-shadow:0 0.25rem 0.625rem rgba(0, 0, 0, 0.15);
}
.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;
	}
}

.styled-select {
	position:relative;
}
.styled-select:before {
	content:'';
	width:3.75em;
	height:calc(100% - 2px);
	position:absolute;
	top:1px;
	right:1px;
	border-top-right-radius:calc(0.75em + 1rem);
	border-bottom-right-radius:calc(0.75em + 1rem);
	background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%);
	z-index:2;
}
.styled-select-hidden {
	position:absolute;
	top:0;
	opacity:0;
	z-index:2;
}
.styled-select-placeholder {
	position:relative;
	padding-right:1px;
	background:#F7F7F7 !important;
	z-index:1;
}
.styled-select-hidden.has-error {
	z-index:4;
}
.styled-select-placeholder.has-error {
	z-index:3;
}
.styled-select-hidden:focus + .styled-select-placeholder {
	box-shadow:0 0 0 .2rem var(--bs-primary-shadow);
	z-index:4;
}
.styled-select-caret {
	position:absolute;
	top:calc(50% - 0.25rem);
	right:1.875rem;
	border-top:0.5rem solid var(--bs-primary);
	border-left:0.5rem solid transparent;
	border-right:0.5rem solid transparent;
	z-index:9;
}
.styled-select-placeholder.has-error + .styled-select-caret {
	border-top-color:var(--bs-danger);
}
.styled-select-placeholder.form-control-sm + .styled-select-caret {
	right:1.25rem;
}
.input-group .styled-select {
	flex-grow:1;
}
.input-group .styled-select:not(:first-child) {
	margin-left:-1px;
}
.input-group .styled-select:not(:first-child) .form-control {
	border-top-left-radius:0;
	border-bottom-left-radius:0;
}
.input-group .styled-select:not(:last-child) .form-control {
	border-top-right-radius:0;
	border-bottom-right-radius:0;
}

.alert {
	margin:0 0 1.875rem 0;
	padding:1rem 1.5rem;
	border:none;
	border-radius:0.625rem;
	line-height:1.5em;
}
.alert:last-child {
	margin-bottom:0;
}
.alert a {
	color:inherit;
	text-decoration:underline;
}
.alert-info {
	background-color:var(--bs-info);
	color:var(--bs-white);
}
.alert-success {
	background-color:var(--bs-success);
	color:var(--bs-white);
}
.alert-warning {
	background-color:var(--bs-warning);
	color:var(--bs-white);
}
.alert-danger,
.alert-error {
	background-color:var(--bs-danger);
	color:var(--bs-white);
}


/* shared classes */
.text-2x {
	font-size:2rem;
}

ul.bullet-primary,
ul.bullet-secondary {
	margin-bottom:0;
	padding:0;
	list-style:none;
}
ul.bullet-primary > li,
ul.bullet-secondary > li {
	position:relative;
	margin-bottom:1em;
	padding-left:1.75rem;
}
ul.bullet-primary > li:before,
ul.bullet-secondary > li:before {
	content:'';
	width:0.75rem;
	height:0.75rem;
	position:absolute;
	border-radius:50%;
	top:calc((1.5em - 0.75rem) * 0.5);
	left:calc(0.5em - 0.375rem);
}
ul.bullet-primary > li:before {
	background:var(--bs-primary);
}
ul.bullet-secondary > li:before {
	background:var(--bs-secondary);
}
ul.checklist {
	padding:0;
	list-style:none;
}
ul.checklist:last-child {
	margin-bottom:-1.5em;
}
ul.checklist > li {
	position:relative;
	margin-bottom:1.5em;
	padding-left:1.75em;
}
ul.checklist > li:before {
	content:'\e904';
	width:1em;
	position:absolute;
	left:0;
	font-family:wtsdhc-icons;
	font-size:1.25em;
	line-height:1.25;
}
ul.checklist-primary > li:before {
	color:var(--bs-primary);
}
ul.checklist-secondary > li:before {
	color:var(--bs-secondary);
}
ul.checklist-success > li:before {
	color:var(--bs-success);
}
ul.checklist-warning > li:before {
	color:var(--bs-warning);
}
ul.checklist-danger > li:before {
	color:var(--bs-danger);
}
ul.checklist-info > li:before {
	color:var(--bs-info);
}
ul.checklist.column-2 > li,
ul.checklist.column-3 > li,
ul.checklist.column-4 > li {
	padding-left:calc(1.75em + var(--bs-gutter) * 0.5);
}
ul.checklist.column-2 > li:before,
ul.checklist.column-3 > li:before,
ul.checklist.column-4 > li:before {
	left:calc(var(--bs-gutter) * 0.5);
}

.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);
}

.remark {
	font-size:1rem;
	color:#707070;
	line-height:normal;
}
.remark a {
	color:inherit;
}

.table .action {
	width:1%;
	white-space:nowrap;
}
.table-responsive {
	margin:0 0 30px 0;
}
.table-toolbar {
	margin:0 0 30px 0;
}
.table-toolbar button,
.table-toolbar .button {
	width:auto;
}
.table-toolbar + .datatable,
.table-toolbar + .table-responsive {
	margin-top:-30px;
}
.datatable:last-child,
.table-responsive:last-child,
.table-toolbar:last-child {
	margin-bottom:0;
}

.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;
	}
}

.appointment-container .appointment-title {
	font-size:2rem;
	font-weight:500;
}
.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:1.1875rem;
	font-weight:bold;
}
.appointment-container .appointment-section-title:after {
	content:'';
	width:3.75rem;
	margin-left:0.75rem;
	border-top:0.125rem solid var(--bs-primary);
	display:inline-block;
}
.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);
}
.appointment-container dl big {
	font-size:2rem;
	font-weight:bold;
	line-height:1.78125rem;
}
.appointment-container .form-actions {
	margin-top:2.5rem;
}
@media (min-widht: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;
	}
}

.icon-fw {
	width:1.25em;
	text-align:center;
	display:inline-block;
}

.skip-transition {
	transition-property:none !important;
}


/* framework components */
.font-size-toggle {
	display:flex;
}
.font-size-toggle .btn {
	position:relative;
	padding-left:6px;
	padding-right:6px;
	border-radius:0;
	font-weight:400;
	color:var(--bs-dark);
	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-primary);
	transition-property:left, right;
}
.font-size-toggle .btn:hover,
.font-size-toggle .btn.active {
	color:var(--bs-primary);
}
.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:1600px) {
	.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;
	}
}

.password-group {
	position:relative;
}
.password-group .btn-reveal {
	position:absolute;
	top:0;
	right:0;
	padding:1rem 1.25rem;
	border:none;
	border-radius:0 calc(0.75em + 1rem + 1px) calc(0.75em + 1rem + 1px) 0;
	background:none;
	font-size:1.25em;
	color:var(--bs-primary);
	line-height:1.2;
}
.password-group .btn-reveal:before {
	width:1.25em;
	font-family:wtsdhc-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';
}

.search-box {
	position:relative;
}
.search-box .form-control {
	height:100%;
	padding:0.25rem 0 0.25rem 1rem ;
	border:1px solid var(--bs-dark);
	border-radius:calc(0.25rem + 0.75em + 1px);
	background:none;
	font-size:inherit;
}
.search-box .form-control:focus {
	border-color:var(--bs-primary);
}
.search-box .btn {
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	padding:0 0.75rem;
	border-top-right-radius:calc(0.25rem + 0.75em + 1px);
	border-bottom-right-radius:calc(0.25rem + 0.75em + 1px);
	color:var(--bs-primary);
}
.search-box .btn .icon {
	margin:0;
	font-size:1.5rem;
}
@media (min-width:1600px) {
	.search-box .form-control {
		padding-left:1.5rem;
	}
}


/* website framework */
.page-wrapper {
	--logo-size:2.625rem;
	width:100%;
	min-height:100%;
	overflow:hidden;
	position:relative;
	margin:0 auto;
}
.page-wrapper > .btn[data-toggle=main-content] {
	position:absolute;
	top:1rem;
	left:1rem;
	box-shadow:0 0.25rem 0.625rem rgba(0, 0, 0, 0.15);
	transform:translateY(-100%);
	z-index:-1;
}
.page-wrapper > .btn[data-toggle=main-content]:focus {
	transform:none;
	z-index:29;
}
@media (min-width:576px) {
	.page-wrapper {
		--logo-size:3.75rem;
	}
}
@media (min-width:992px) {
	.page-wrapper {
		--logo-size:3rem;
	}
}
@media (min-width:1600px) {
	.page-header {
		--logo-size:3.75rem;
	}
}

.page-header {
	width:100%;
	position:fixed;
	box-shadow:0 0.25rem 0.625rem rgba(0, 0, 0, 0.15);
	background:var(--bs-white);
	z-index:9;
}
.page-header .logo {
	height:var(--logo-size);
	margin:0.625rem 0;
}
.page-header .logo img {
	height:100%;
	display:block;
}
.page-header .operator {
	height:calc(var(--logo-size) * 0.5);
	margin-left:calc(var(--logo-size) * 0.5);
}
.page-header .operator img {
	height:100%;
	display:block;
}
.page-header .hgroup,
.page-header .main-nav {
	display:none;
}
@media (min-width:992px) {
	.page-header {
		position:relative;
		box-shadow:none;
		z-index:unset;
	}
	.page-header .hgroup {
		margin-left:auto;
		display:flex;
		align-items:center;
	}
	.page-header .hgroup > :not(:last-child) {
		margin-right:15px;
	}
	.page-header .hgroup .search-box {
		max-width:200px;
	}
	.page-header .hgroup .dropdown-menu {
		min-width:100%;
	}
	.page-header .mobile-nav-trigger {
		display:none;
	}
	.page-header .main-nav {
		display:block;
	}
	.page-header .main-nav > nav,
	.page-header .main-nav > .sticky-wrapper > nav {
		position:relative;
		background:var(--bs-primary);
		display:block;
		z-index:19 !important;
	}
	.page-header .main-nav > .is-sticky > nav {
		box-shadow:0 0.25rem 0.625rem rgba(0, 0, 0, 0.15);
	}
	.main-nav .nav {
		padding:0;
		list-style:none;
		display:flex;
		justify-content:space-around;
	}
	.main-nav .nav ul {
		padding:0;
		list-style:none;
		display:none;
	}
	.main-nav .nav li {
		position:relative;
		margin:0;
		padding:0;
	}
	.main-nav .nav a {
		text-decoration:none;
	}
	.main-nav .nav > li > a {
		position:relative;
		padding:0.625rem 0.75rem 1.125rem 0.75rem;
		font-size:1.375rem;
		color:var(--bs-white);
		display:block;
	}
	.main-nav .nav > li > a:focus {
		outline:none;
	}
	.main-nav .nav > li > a:after {
		content:'';
		height:0.25rem;
		position:absolute;
		bottom:0.625rem;
		left:50%;
		right:50%;
		background:var(--bs-white);
		transition-property:left, right;
	}
	.main-nav .nav > li:hover > a:after,
	.main-nav .nav > li.active > a:after,
	.main-nav .nav > li > a[aria-expanded="true"]:after {
		left:0.5rem;
		right:0.5rem;
	}
	.main-nav .nav > li > ul {
		min-width:148px;
		position:absolute;
		left:50%;
		margin:0;
		padding:0 0.75rem;
		box-shadow:0 0 20px rgba(0, 0, 0, 0.1);
		background:var(--bs-white);
		font-size:1.1875rem;
		color:var(--bs-primary);
		text-align:center;
		transform:translateX(-50%);
	}
	.main-nav .nav > li:first-child > ul {
		left:0;
		transform:none;
	}
	.main-nav .nav > li:last-child > ul {
		left:auto;
		right:0;
		transform:none;
	}
	.main-nav .nav > li:hover > ul,
	.main-nav .nav > li > a[aria-expanded="true"] + ul {
		display:block;
	}
	.main-nav .nav > li > ul li:not(:last-child) {
		border-bottom:1px solid var(--bs-primary);
	}
	.main-nav .nav > li > ul a {
		margin-left:-12px;
		margin-right:-12px;
		padding:12px;
		color:var(--bs-primary);
		white-space:nowrap;
		display:block;
	}
	.main-nav .nav > li > ul li:hover > a,
	.main-nav .nav > li > ul li.active > a {
		color:var(--bs-secondary);
	}
}
@media (min-width:992px) and (max-width:1600px) {
	.page-header .hgroup > .btn,
	.page-header .hgroup > .dropdown > .btn {
		padding-left:1rem;
		padding-right:1rem;
	}
}
@media (min-width:1600px) {
	.page-header .hgroup > :not(:last-child) {
		margin-right:20px;
	}
}
@media print {
	.page-header {
		position:relative;
	}
	.page-header .hgroup,
	.page-header .main-nav {
		display:none;
	}
}

.mobile-nav-trigger {
	position:relative;
	margin-left:auto;
	display:block;
}
.mobile-nav-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;
}
.mobile-nav-container {
	width:var(--slide-panel-width);
	height:100%;
	position:fixed;
	top: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;
}
.mobile-nav-header {
	padding:1.5rem;
	display:flex;
	align-items:center;
	flex-wrap:wrap;
}
.mobile-nav-header > a.close {
	margin:-0.625rem 0 -0.625rem auto;
	padding:0.625rem;
	font-size:2.25rem;
	color:var(--bs-primary);
	line-height:1;
	opacity:1;
	order:1;
	-webkit-transition-property:color;
	-moz-transition-property:color;
	transition-property:color;
}
.mobile-nav-header > a.close:before {
	content:'\e906';
	font-family:wtsdhc-icons;
	line-height:1;
}
.mobile-nav-header > a.close:hover {
	color:var(--bs-primary-darker);
	opacity:1;
}
.mobile-nav-header .font-size-toggle {
	order:0;
}
.mobile-nav-header .search-box {
	width:100%;
	margin-top:1.5rem;
	border-color:#BABABA;
	border-radius:1.640625rem;
	flex-shrink:0;
	order:2;
}
.mobile-nav-header .search-box .form-control {
	padding-top:0.75rem;
	padding-bottom:0.75rem;
	border-radius:calc(0.75rem + 0.75em + 1px);
}
.mobile-nav-header .search-box .btn {
	border-top-right-radius:calc(0.75rem + 0.75em + 1px);
	border-bottom-right-radius:calc(0.75rem + 0.75em + 1px);
}
.mobile-nav-header .search-box .btn .icon {
	font-size:1.75rem;
}
.mobile-nav-scroller {
	overflow:auto;
	border-top:1px solid #DDDDDD;
	flex-grow:1;
	display:flex;
	flex-direction:column;
}
.mobile-nav-scroller .nav {
	display:block;
}
.mobile-nav-scroller .nav li {
	margin:0;
	display:flex;
	flex-wrap:wrap;
}
.mobile-nav-scroller .nav a {
	padding:1.125rem 1.75rem;
	color:var(--bs-primary);
	flex-basis:0;
	flex-grow:1;
}
.mobile-nav-scroller .nav .nav-opener {
	width:auto;
	height:auto;
	padding:1.75rem;
	flex-grow:0;
}
.mobile-nav-scroller .nav .nav-opener span:before,
.mobile-nav-scroller .nav .nav-opener span:after {
	background:var(--bs-primary);
}
.mobile-nav-scroller .nav li.active > a {
	color:var(--bs-secondary);
}
.mobile-nav-scroller .nav > li {
	padding:2px;
}
.mobile-nav-scroller .nav > li:not(:last-child) {
	border-bottom:1px solid #DDDDDD;
}
.mobile-nav-scroller .nav > li > a {
	font-size:1.5rem;
	font-weight:500;
}
.mobile-nav-scroller .nav ul {
	width:100%;
	margin:0;
	padding-bottom:0.6666667rem;
	list-style:none;
	opacity:0;
	display:none;
	-webkit-transition-property:opacity;
	-moz-transition-property:opacity;
	transition-property:opacity;
}
.mobile-nav-scroller .nav li.opened > ul {
	opacity:1;
	display:block;
}
.mobile-nav-scroller .nav ul > li > a {
	padding-top:0.5rem;
	padding-bottom:0.5rem;
	font-size:1.333333rem;
}
.mobile-nav-footer {
	margin-top:auto;
	padding:1.5rem;
	background:#F7F7F7;
}
.mobile-nav-footer > *:not(:last-child) {
	margin-bottom:1.25rem;
}
.mobile-nav-footer .language {
	display:flex;
}
.mobile-nav-footer .language .btn {
	padding:0.5rem 1rem;
	border-color:#BABABA;
	font-weight:normal;
	flex-basis:0;
	flex-grow:1;
}
.mobile-nav-footer .language .btn.active {
	background-color:var(--bs-primary);
	color:var(--bs-white);
}
.mobile-nav-footer .language .btn-group {
	width:100%;
	display:flex;
}
.mobile-nav-footer .sns {
	padding:0;
	list-style:none;
	display:flex;
}
.mobile-nav-footer .sns > li {
	margin:0;
}
.mobile-nav-footer .sns > li:not(:last-child) {
	margin-right:1rem;
}
.mobile-nav-footer .sns > li > a {
	width:3.25rem;
	height:3.25rem;
	border-radius:50%;
	background:var(--bs-primary);
	font-size:1.75rem;
	line-height:3.25rem;
	color:#FFFFFF;
	text-align:center;
	display:block;
}
.mobile-nav-footer .footer-links {
	padding:0;
	list-style:none;
	display:flex;
}
.mobile-nav-footer .footer-links li {
	margin:0;
}
.mobile-nav-footer .footer-links li:not(:last-child) {
	margin-right:1rem;
}
.mobile-nav-footer .footer-links a {
	color:inherit;
}
.mobile-nav-footer .copyright,
.mobile-nav-footer .last-revision {
	font-size:1.083333rem;
	color:#909090;
}
body.mm-opened {
	overflow:hidden;
}
body.mm-opened .mobile-nav-mask {
	opacity:1;
	z-index:11;
}
body.mm-opened .mobile-nav-container {
	left:calc(100% - var(--slide-panel-width));
}
@media (min-width:992px) {
	.mobile-nav-mask,
	.mobile-nav-container {
		display:none;
	}
}
@media print {
	.mobile-nav-trigger {
		display:none;
	}
}

.page-content {
	position:relative;
}
@media (max-width:991px) {
	.page-content {
		padding-top:5rem;
	}
}
@media (max-width:576px) {
	.page-content {
		padding-top:50px;
	}
}
@media print {
	.page-content {
		padding-top:0;
	}
}

.page-footer {
	padding:3.75rem 0 1.875rem 0;
	background:var(--bs-beige);
	color:#484848;
}
.page-footer .site-name {
	margin-bottom:1.875rem;
	font-size:1.375rem;
	font-weight:500;
	color:var(--bs-primary);
}
.page-footer .site-map {
	display:none;
}
.page-footer .sns {
	margin-bottom:2.75rem;
}
.page-footer .sns h4 {
	font-size:1.1875rem;
	font-weight:500;
	color:var(--bs-primary);
}
.page-footer .sns .nav > li {
	margin:0;
	padding:0;
}
.page-footer .sns .nav > li:not(:last-child) {
	margin-right:1.25rem;
}
.page-footer .sns .nav > li > a {
	width:2.5rem;
	height:2.5rem;
	padding-top: 0.125rem;
	border-radius:50%;
	background:var(--bs-primary);
	font-size:1.5rem;
	line-height:2.5rem;
	color:#FFFFFF;
	text-align:center;
	display:block;
}
.page-footer .mobile-app {
	margin-bottom:1.875rem;
	display:flex;
}
.page-footer .mobile-app img {
	display:block;
}
.page-footer .mobile-app .app-icon {
	width:5.625rem;
}
.page-footer .mobile-app .app-icon img {
	border-radius:1rem;
}
.page-footer .mobile-app .app-store-badge {
	width:7.5rem;
	margin-left:0.75rem;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}
.page-footer .mobile-app .app-store-badge img {
	width:100%;
}
.page-footer .mobile-app .app-store-badge > :not(:last-child) {
	margin-bottom:8px;
}
.page-footer .legal-block {
	margin:1.875rem 0 1.25rem 0;
	padding-top:20px;
	border-top:1px solid #484848;
}
.page-footer .legal-block .content-block > * {
	margin-bottom:0.625rem;
}
.page-footer .legal-block .wcag-conformance {
	margin-bottom:1rem;
}
.page-footer .legal-block .wcag-conformance img {
	height:2.5rem;
}
.page-footer .legal-block .footer-links {
	margin-bottom:0.625rem;
	padding:0;
	list-style:none;
	display:flex;
}
.page-footer .legal-block .footer-links li {
	margin:0;
}
.page-footer .legal-block .footer-links li:not(:last-child) {
	margin-right:1.75rem;
}
.page-footer .legal-block .footer-links li a {
	color:inherit;
}
.page-footer .back-to-top {
	position:fixed;
	bottom:1rem;
	right:1rem;
	padding:0.5rem;
	border-radius:0.25rem;
	background:var(--bs-primary);
	font-size:1.75rem;
	line-height:2rem;
	color:var(--bs-white);
	display:none;
	transition-property:background-color;
}
.page-footer .back-to-top:hover {
	background:var(--bs-primary-darker);
}
@media (max-width:991px) {
	.page-footer .sns {
		float:left;
		flex-direction:column;
	}
	.page-footer .sns .nav {
		margin-top:1rem;
	}
	.page-footer .mobile-app {
		float:right;
	}
}
@media (min-width:576px) {
	.page-footer .back-to-top {
		bottom:5rem;
	}
}
@media (min-width:768px) {
	.page-footer .legal-block {
		display:flex;
	}
	.page-footer .legal-block .content-block {
		display:flex;
		flex-wrap:wrap;
	}
	.page-footer .legal-block .content-block > * {
		margin-bottom:0;
		}
	.page-footer .legal-block .content-block > :not(:last-child) {
		margin-right:2.5rem;
	}
}
@media (min-width:992px) {
	.page-footer .site-map {
		display:block;
	}
	.page-footer .site-map .nav a {
		color:inherit;
	}
	.page-footer .site-map .nav > li {
		margin-bottom:30px;
		margin-left:0;
	}
	.page-footer .site-map .nav > li:not(:last-child) {
		margin-right:60px;
	}
	.page-footer .site-map .nav > li > a {
		font-size:1.1875rem;
		font-weight:500;
		color:var(--bs-primary);
		display:block;
	}
	.page-footer .site-map .nav > li > ul {
		padding:0;
		list-style:none;
	}
	.page-footer .site-map .nav > li > ul > li {
		margin:1rem 0 0 0;
		padding:0;
	}
	.page-footer .legal-block .footer-links {
		width:auto;
	}
}
@media print {
	.page-footer {
		padding:0;
		background:none;
	}
	.page-footer .site-name,
	.page-footer .site-map,
	.page-footer .sns,
	.page-footer .mobile-app,
	.page-footer .legal-block .footer-links,
	.page-footer .legal-block .last-revision,
	.page-footer .floating-badge,
	.page-footer .back-to-top {
			display:none !important;
	}
	.page-footer .legal-block {
		margin:0;
	}
}

.section {
	--section-spacer-x:0;
	--section-spacer-y:30px;
	position:relative;
	padding:var(--section-spacer-y) var(--section-spacer-x);
}
.section.cont:before {
	content:'';
	width:calc(100% - 30px);
	position:absolute;
	top:0;
	left:50%;
	border-top:1px solid #BABABA;
	transform:translateX(-50%);
	z-index:-1;
}
.section.with-bg {
	background:var(--bs-beige);
}
.section-header {
	margin-bottom:30px;
}
.section-title {
	margin-bottom:1.78125rem;
	font-size:1.625rem;
	font-weight:bold;
	color:var(--bs-primary);
}
.section-title:after {
	content:'';
	width:3.75rem;
	margin-left:0.75rem;
	border-top:0.125rem solid var(--bs-primary);
	display:inline-block;
}
.section-title .icon {
	font-size:1.25em;
}
.section-subtitle {
	margin-bottom:0.625rem;
	font-size:1.375rem;
	font-weight:500;
	color:var(--bs-secondary);
}
.section-actions {
	margin-top:1.5rem;
	display:flex;
}
.section-actions .btn:not(.btn-link) {
	box-shadow:0 0.25rem 0.625rem rgba(0, 0, 0, 0.15);
}
@media (max-width:767px) {
	.section-actions {
		flex-direction:column;
	}
	.section-actions .btn {
		width:100%;
	}
	.section-actions .btn + .btn {
		margin-top:0.75rem;
	}
}
@media (min-width:768px) {
	.section-actions {
		justify-content:center;
	}
	.section-actions.text-left {
		justify-content:flex-start;
	}
	.section-actions.text-right {
		justify-content:flex-end;
	}
	.section-actions .btn:not(:last-child) {
		margin-right:1.875rem;
	}
}
@media print {
	.section-actions {
		display:none;
	}
}


.section.form-block.cont:before {
	max-width:850px;
}
@media (min-width:576px) {
	.section.cont:before {
		width:510px;
	}
}
@media (min-width:768px) {
	.section.cont:before {
		width:690px;
	}
}
@media (min-width:992px) {
	.section {
		--section-spacer-y:60px;
	}
	.section.cont:before {
		width:930px;
	}
	.section.form-block > .container {
		max-width:880px;
	}
	.section-actions {
		margin-top:2.5rem;
	}
}
@media (min-width:1200px) {
	.section.cont:before {
		width:1110px;
	}
}
@media (min-width:1600px) {
	.section.cont:before {
		width:1510px;
	}
}

/* module styles */
.article-block .section-body {
	max-width:53.5rem;
	margin-left:auto;
	margin-right:auto;
}
.article-block .article-meta {
	padding:0;
	font-size:1rem;
	font-weight:600;
	color:#BABABA;
	list-style:none;
	display:flex;
	flex-wrap:wrap;
}
.article-block .article-meta li {
	padding-left:0;
}
.article-block .article-meta li:not(:last-child) {
	margin-right:1.25rem;
}
.article-block .article-title + .article-meta {
	margin-top:-1.15625rem;
}

.article-pagination .btn-article {
	max-width:100%;
	overflow:hidden;
	color:var(--bs-primary);
	display:inline-flex;
	align-items:center;
}
.article-pagination .btn-article > * + * {
	margin-left:1.25rem;
}
.article-pagination .btn-article .icon {
	font-size:2.5rem;
	line-height:1.2;
}
.article-pagination .btn-article .label {
	display:none;
}
@media (min-width:576px) {
	.article-pagination .btn-article .label {
		overflow:hidden;
		font-size:1.375rem;
		font-weight:500;
		display:flex;
		flex-direction:column;
	}
	.article-pagination .btn-article .label small {
		font-size:inherit;
		font-weight:inherit;
	}
	.article-pagination .btn-article .label .title {
		display:none;
	}
}
@media (min-width:768px) {
	.article-pagination .btn-article .label small {
		font-size:85%;
	}
	.article-pagination .btn-article .label .title {
		max-width:100%;
		overflow:hidden;
		text-overflow:ellipsis;
		white-space:nowrap;
		display:block;
	}
}

.calendar .filter,
.calendar .legend {
	padding-top:0;
	padding-bottom:0;
}
.calendar-wrapper {
	position:relative;
}
.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) {
	.calendar .filter form {
		margin-bottom:0;
	}
	.calendar .filter .filter-panel-trigger,
	.calendar .legend {
		display:none;
	}
}
@media (min-width:992px) {
	.calendar .filter,
	.calendar .legend {
		padding-bottom:var(--bs-spacing-4);
	}
	.calendar .filter-horizontal .filter-panel {
		flex-basis:50%;
		flex-grow:0;
	}
}

.cards-calendar .view-toggler {
	margin-bottom:1.25rem;
	justify-content:flex-end;
}
.cards-calendar .view-toggler .nav-item + .nav-item {
	margin-left:0.75rem;
}
.cards-calendar .view-toggler .nav-link {
	width:calc(3rem + 2px);
	height:calc(3rem + 2px);
	padding:0.5rem 0.25rem;
	border:1px solid var(--bs-secondary);
	border-radius:0.5rem;
	font-size:1.5rem;
	color:var(--bs-secondary);
	line-height:1.3;
	text-align:center;
	transition-property:border-color, background-color, color;
}
.cards-calendar .view-toggler .nav-link:hover,
.cards-calendar .view-toggler .nav-link.active {
	background-color:var(--bs-secondary);
	color:var(--bs-white);
}
@media (min-width:992px) {
	.cards-calendar .view-toggler .nav-item + .nav-item {
		margin-left:1.25rem;
	}	
	.cards-calendar .view-toggler .nav-link {
		width:auto;
		height:auto;
		padding:1rem 2rem;
		border-color:#BABABA;
		border-radius:calc(1rem + 1.5em + 1px);
		font-size:inherit;
		color:inherit;
	}
	.cards-calendar .view-toggler .nav-link:hover,
	.cards-calendar .view-toggler .nav-link.active {
		border-color:transparent;
	}
}
.cards-calendar a.card:before {
	display:none;
}
.cards-calendar .grid-view .card {
	max-width:22rem;
	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;
	align-items:normal;
}
.cards-calendar .grid-view .card .event-heading {
	margin-top:0.625rem;
	margin-bottom:0;
	order:3;
	flex-wrap:wrap;
}
.cards-calendar .grid-view .card .event-heading .event-title {
	margin:0 auto 0 0;
	font-size:1.25rem;
	color:var(--bs-dark);
}
.cards-calendar .grid-view .card .event-heading .event-code {
	font-size:1rem;
	color:var(--bs-grey);
	line-height:1.5;
	white-space:nowrap;
}
.cards-calendar .grid-view .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 .grid-view .card .event-date .event-date-day {
	font-size:5.25rem;
	line-height:1.2;
}
.cards-calendar .grid-view .card .event-time {
	margin:1rem 0 0 0;
	font-size:1rem;
	font-weight:500;
	color:var(--bs-primary);
}
.cards-calendar .grid-view .card .event-venue {
	margin-top:0.625rem;
	order:4;
	display:flex;
}
.cards-calendar .grid-view .card .event-venue-dot {
	width:1rem;
	height:1rem;
	margin-top:0.390625rem;
	border-radius:50%;
	display:inline-block;
	flex-shrink:0;
}
.cards-calendar .grid-view .card .event-venue-desc {
	margin-left:0.25em;
}
.cards-calendar .grid-view .card .event-venue-dot + .event-venue-desc {
	margin-left:0.25em;
}
.cards-calendar .grid-view .card .event-remark {
	margin-top:0.625rem;
	order:5;
}
.cards-calendar .grid-view a.card {
	transition-property: box-shadow, transform;
}
.cards-calendar .grid-view a.card:hover {
	transform: scale(1.025);
}
.cards-calendar .grid-view a.card:hover:after {
	display: none;
}
@media (max-width:991px) {
	.cards-calendar .grid-view > .row {
		margin-left:-6px;
		margin-right:-6px;
	}
	.cards-calendar .grid-view > .row > [class*=col] {
		padding-left:6px;
		padding-right:6px;
	}
	.cards-calendar .grid-view .card {
		border-radius:8px;
	}
}
@media (min-width:576px) {
	.cards-calendar .grid-view .card {
		max-width:none;
	}
}
@media (min-width:992px) {
	.cards-calendar .grid-view .card {
		padding:10px 20px 20px 20px;
		border-top-width:30px;
	}
	.cards-calendar .grid-view .card .event-title {
		font-size:1.625rem;
	}
	.cards-calendar .grid-view .card .event-date {
		padding-bottom:20px;
		font-size:1.375rem;
	}
	.cards-calendar .grid-view .card .event-date .event-date-day {
		font-size:7.5rem;
	}
	.cards-calendar .grid-view .card .event-time {
		margin-top:20px;
		font-size:1.375rem;
	}
}
.cards-calendar .list-view .card-cushion {
	padding:1rem 1.5rem;
	border-radius:0.625rem;
	background:var(--bs-grey);
	font-weight:bold;
	color:var(--bs-white);
	text-align:center;
}
.cards-calendar .list-view .card {
	margin-bottom:0;
	padding:1.25rem 1.125rem;
	border:none;
	border-radius:0;
	font-size:1.375rem;
	flex-direction:row;
}
.cards-calendar .list-view .card:before {
	display:none;
}
.cards-calendar .list-view .card:hover {
	box-shadow:none;
}
.cards-calendar .list-view .card + .card {
	border-top:1px solid #E6E6E6;
}
.cards-calendar .list-view .card > * {
	padding-left:0.375rem;
	padding-right:0.375rem;
}
.cards-calendar .list-view .card .event-venue {
	order:0;
}
.cards-calendar .list-view .card .event-body {
	order:1;
}
.cards-calendar .list-view .card .event-remark,
.cards-calendar .list-view .card .event-badge {
	order:4;
}
.cards-calendar .list-view .card .event-body {
	flex-grow:1;
}
.cards-calendar .list-view .card .event-body .event-heading {
	margin:0;
	color:inherit;
	order:1;
}
.cards-calendar .list-view .card .event-body .event-heading .event-title {
	font-size:1.5rem;
	line-height:1.5;
}
.cards-calendar .list-view .card .event-body .event-heading .event-code {
	font-size:1rem;
	color:var(--bs-grey);
	white-space:nowrap;
}
.cards-calendar .list-view .card .event-body .event-time {
	color:#909090;
}
.cards-calendar .list-view .card .event-venue {
	flex-shrink:0;
}
.cards-calendar .list-view .card .event-venue-dot {
	width:1.5rem;
	height:1.5rem;
	margin-top:0.28125rem;
	margin-bottom:0.28125rem;
	border-radius:50%;
	display:block;
}
@media (min-width:768px) {
	.cards-calendar .list-view .card .event-body .event-time {
		width:14rem;
		color:inherit;
	}
}
@media (min-width:992px) {
	.cards-calendar .list-view .card-cushion {
		padding-left:3rem;
		padding-right:3rem;
	}
	.cards-calendar .list-view .card {
		padding-left:2.25rem;
		padding-right:2.25rem;
	}
	.cards-calendar .list-view .card > * {
		padding-left:0.75rem;
		padding-right:0.75rem;
	}
}

.cards-highlight .card {
	border-width:2px;
	border-color:var(--bs-primary);
	align-items:center;
}
.cards-highlight .card-image {
	width:6.5rem;
}
.cards-highlight .card-title {
	font-size:1.25rem;
}
.cards-highlight .card-title strong {
	font-weight:700;
	color:var(--bs-secondary);
}
@media (min-width:992px) {
	.cards-highlight .card-title {
		font-size:1.625rem;
	}
	.cards-highlight .card-image {
		width:140px;
		max-width:80%;
		margin:30px auto 0 auto;
	}
}

.cards-post a.card .card-content {
	max-height:7.5em;
	position:relative;
}
.cards-post a.card .card-content:after {
	content:'';
	height:calc(15px + 0.75em);
	position:absolute;
	inset:6.75em 0 auto 0;
	background:linear-gradient(0deg, rgba(255,255,255,1) 10%, rgba(255,255,255,0) 100%);
}
@media (min-width:992px) {
	.cards-post a.card .card-content:after {
		height:calc(30px + 0.75em);
	}
}

.cards-post .section-body,
.cards-calendar .section-body,
.cards-highlight .section-body {
	margin-bottom:-12px;
}
@media (min-width:992px) {
	.cards-post .section-body,
	.cards-calendar .section-body,
	.cards-highlight .section-body {
		margin-bottom:-24px;
	}
}

.category-switch .section-title {
	margin-bottom:1rem;
	font-size:1.1875rem;
	font-weight:normal;
	color:var(--bs-secondary);
	line-height:1.5;
	white-space:nowrap;
}
.category-switch .section-title:after {
	display:none;
}
.category-switch .btn {
	margin-bottom:1rem;
	border-color:#BABABA;
	font-size:1.1875rem;
	font-weight:normal;
	color:var(--bs-dark);
}
.category-switch .btn:hover,
.category-switch .btn.active {
	border-color:var(--bs-secondary);
	background-color:var(--bs-secondary);
	color:var(--bs-white);
}
@media (max-width:991px) {
	.category-switch .scroller {
		overflow:auto;
	}
	.category-switch .scroller > .row {
		flex-wrap:nowrap;
	}
}
@media (min-width:992px) {
	.category-switch .btn {
		margin-bottom:24px;
	}
	.category-switch .section-body {
		margin-bottom:-24px;
	}
}
@media (min-width:1200px) {
	.category-switch > .container {
		display:flex;
		align-items:flex-start;
	}
	.category-switch .section-title {
		margin-right:40px;
		padding:1rem 0;
	}
	.category-switch .section-body {
		margin-bottom:-24px;
		flex-grow:1;
	}
}

.directory .contact-box {
	padding:1.875rem 0.625rem;
	border-top:1px solid #BABABA;
}
.directory .contact-box:last-child {
	border-bottom:1px solid #BABABA;
}
.directory .contact-box:nth-child(2n) {
	background:#F7F7F7;
}
.directory .contact-box dl dt {
	font-weight:normal;
	color:var(--bs-primary);
	text-align:right;
}
.directory .contact-box dl dt[data-type=contact-info],
.directory .contact-box dl dt[data-type=contact-info] + dd {
	display:none;
}
.directory .contact-box .btn-contact-info {
	margin-left:calc(25% + var(--bs-gutter) * 0.5);
}
.directory .contact-box aside {
	width:100%;
	padding-left:calc(var(--bs-gutter) * 0.5);
	padding-right:calc(var(--bs-gutter) * 0.5);
	display:none;
	align-items:center;
}
.directory .contact-box aside:before {
	content:'';
	width:calc(25% + var(--bs-gutter) * 0.5);
}
.directory .contact-box aside > :not(:last-child) {
	margin-right:1rem;
}
.directory .contact-box .voucher-badge {
	width:6.5rem;
	display:block;
}
.directory .contact-box.show-contact-info aside,
.directory .contact-box.show-contact-info dl dt[data-type=contact-info],
.directory .contact-box.show-contact-info dl dt[data-type=contact-info] + dd {
	display:block;
}
.directory .contact-box.show-contact-info aside {
	display:flex;
}
.directory .contact-box.show-contact-info .btn-contact-info {
	display:none;
}
@media (min-width:768px) and (max-width:991px), (min-width:1200px) {
	.directory .contact-box aside {
		width:auto;
		margin-top:0;
		margin-left:auto;
		display:flex;
		flex-direction:column;
	}
	.directory .contact-box aside:before {
		display:none;
	}
	.directory .contact-box aside > :not(:last-child) {
		margin-bottom:1.25rem;
		margin-right:0;
	}
	.directory .contact-box .voucher-badge {
		width:7.5rem;
	}
}

.error-block .section-icon {
	margin-bottom:1.375rem;
	font-size:6rem;
	color:var(--bs-primary);
	line-height:1;
	opacity:0.7;
}
.error-block .section-title {
	font-size:1.375rem;
	font-weight:normal;
	color:var(--bs-dark);
}
.error-block .section-title:after {
	display:none;
}

.event-block .card {
	margin:0;
	padding:0;
	border:none;
	flex-direction:column;
	flex-wrap:nowrap;
	align-items:normal;
}
.event-block .card-header {
	padding:1.25rem 1.5rem;
	border-bottom:none;
	background:#EAF3E6;
}
.event-block .card-title {
	margin-bottom:0;
	margin-right:1.5rem;
	font-size:2rem;
	color:var(--bs-dark);
}
.event-block .card-body {
	padding:1.25rem 1.5rem;
	background:#F7F7F7;
	flex-basis:auto;
}
.event-block .card-body dl dt {
	font-weight:normal;
	color:var(--bs-primary);
}
@media (max-width:575px) {
	.event-block .card-body dl dt {
		width:calc(var(--bs-gutter) * 0.5 + 1.2em);
		padding-right:0;
		flex-basis:0;
	}
	.event-block .card-body dl dt .label {
		display:none;
	}
	.event-block .card-body dl dd {
		min-width:calc(100% - var(--bs-gutter) * 0.5 - 1.2em);
		margin-left:0;
	}
}
@media (min-width:576px) {
	.event-block .card-header {
		display:flex;
	}
	.event-block .card-header .event-code {
		margin-left:auto;
		padding:0.609375rem 0;
		color:var(--bs-grey);
	}
}
@media (min-width:768px) {
	.event-block .card-header,
	.event-block .card-body {
		padding-left:3.75rem;
		padding-right:3.75rem;
	}
}

.filter form {
	max-width:none;
}
.filter .card-body {
	overflow: visible;
	display:flex;
}
.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:29;
	transition-property:transform;
}
.filter .filter-panel-header {
	min-height:4.8rem;
	padding:1.5rem 0.5rem;
	display:flex;
	align-items:center;
	justify-content:center;
}
.filter .filter-panel-header > * {
	padding:0 0.5rem;
}
.filter .filter-panel-header .filter-panel-title {
	font-size:1.5rem;
}
.filter .filter-panel-header .filter-panel-close {
	position:absolute;
	left:0.75rem;
}
.filter .filter-panel-header .filter-panel-close .btn {
	margin:-0.5rem;
	padding:0.5rem;
	border:none;
	font-size:1.5rem;
	color:var(--bs-primary);
}
.filter .filter-panel-header .filter-panel-close .btn .icon {
	margin:0;
}
.filter .filter-panel-scroller {
	overflow:auto;
	padding:0 1.5rem;
	flex-basis:0;
	flex-grow:1;
}
.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;
}
.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;
}
.filter .filter-panel-actions .btn {
	width:100%;
	box-shadow:0 0.25rem 0.625rem rgba(0, 0, 0, 0.15);
}
.filter .filter-panel-actions .btn + .btn {
	margin-top:0.625rem;
}
.filter .filter-panel-trigger {
	margin-left:auto;
	padding:0 calc(var(--bs-gutter) * 0.5);
}
.filter .filter-panel-trigger .btn {
	width:calc(3.5rem + 2px);
	height:calc(3.5rem + 2px);
	padding:1rem 0.5rem;
	line-height:1.5rem;
}
.filter .filter-panel-trigger .icon {
	margin:0;
}
.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;
}
.filter .filter-panel.opened {
	transform: translateX(-100%);
}
.filter .filter-panel.opened + .filter-panel-mask {
	opacity:1;
	z-index:21;
}
body.filter-panel-opened {
	overflow:hidden;
}
.filter .form-control {
	height:calc(3.5rem + 2px);
	padding-top:1rem;
	padding-bottom:1rem;
	border-color:var(--bs-primary);
	background-color:var(--bs-white) !important;
	font-size:1.166667rem;
	line-height:1.5rem;
}
.filter .keyword {
	position:relative;
}
.filter .keyword .form-control {
	padding-right:4.5625rem;
}
.filter .keyword .btn {
	position:absolute;
	top:0;
	right:0;
	padding:1rem 1.5rem;
	font-size:1.25rem;
	color:var(--bs-primary);
	line-height:1.5rem;
}
.filter .keyword .btn .icon {
	margin:0;
}
@media (max-width: 991px) {
	.filter .card {
		--bs-gutter: 12px;
	}
}
@media (min-width: 992px) {
	.filter .filter-panel:not(.offcanvas-lg) {
		width: auto;
		position: static;
		background: transparent;
		-webkit-transition-property: none;
		-moz-transition-property: none;
		transition-property: none;
	}
	.filter .filter-panel:not(.offcanvas-lg) .filter-panel-header,
	.filter .filter-panel:not(.offcanvas-lg) .filter-panel-scroller > .form-group > label,
	.filter .filter-panel:not(.offcanvas-lg) .filter-panel-actions {
		display:none;
	}
	.filter .filter-panel:not(.offcanvas-lg) .filter-panel-scroller {
		overflow: visible;
		padding-left: 0;
		padding-right: 0;
	}
	.filter .filter-panel:not(.offcanvas-lg) ~ .filter-panel-trigger {
		display: none;
	}
}
.filter-horizontal .card {
	overflow:visible;
	margin:0;
	padding:0;
	border:none;
	background-color:transparent;
	flex-direction:column;
	align-items:normal;
}
.filter-horizontal .card-header {
	margin-bottom:1.5em;
	padding:0;
	border-bottom:none;
	background:none;
}
.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;
}
.filter-horizontal .filter-keyword {
	flex-basis:50%;
	flex-grow:1;
}
.filter-horizontal .filter-keyword .form-group {
	margin-bottom: 0;
	padding:0 calc(var(--bs-gutter) * 0.5);
}
.filter-horizontal .filter-actions {
	display:none;
}
@media (min-width:992px) {
	.filter-horizontal .form-group > label {
		display:none;
	}
	.filter-horizontal .filter-panel {
		--slide-panel-width: 30vw;
	}
	.filter-horizontal .filter-keyword .form-group,
	.filter-horizontal .filter-panel:not(.offcanvas-lg) .form-group {
		margin-bottom:0;
		padding-left:calc(var(--bs-gutter) * 0.5);
		padding-right:calc(var(--bs-gutter) * 0.5);
	}
	.filter-horizontal .filter-panel:not(.offcanvas-lg) {
		flex-basis:50%;
		flex-grow:1;
		order:0;
	}
	.filter-horizontal .filter-panel:not(.offcanvas-lg) .filter-panel-scroller {
		display:flex;
	}
	.filter-horizontal .filter-panel:not(.offcanvas-lg) .filter-panel-scroller .form-group {
		flex-basis:0;
		flex-grow:1;
	}
	.filter-horizontal .filter-panel:not(.offcanvas-lg) + .filter-panel-trigger {
		display:none;
	}
	.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;
	}
	.filter-horizontal .filter-actions .btn {
		border-radius:calc(0.75em + 1rem + 1px);
		line-height:1.78125rem;
	}
	.filter-horizontal .form-control {
		border-radius:calc(0.75em + 1rem + 1px);
		border-color:#BABABA;
	}
	.filter-horizontal .keyword {
		flex-basis:0;
		flex-grow:1;
	}
	.filter-horizontal .keyword .form-control {
		padding-right:calc(5.71875rem + 0.25em);
	}
	.filter-horizontal .keyword .btn {
		border-radius:calc(0.75em + 1rem + 1px);
		background:var(--bs-primary);
		color:var(--bs-white);
		line-height:1.1875rem;
	}
}
.filter-vertical .card {
	margin:0;
	border-color:var(--bs-primary);
}
.filter-vertical .card-header {
	border-bottom:none;
	background-color:var(--bs-primary);
}
.filter-vertical .card-title {
	font-size:1.1875rem;
	font-weight:500;
	color:var(--bs-white);
}
.filter-vertical .card-body {
	overflow: visible;
	padding:1.875rem 1.25rem;
	flex-direction:row;
}
.filter-vertical .filter-actions .btn {
	width:100%;
	padding-top:0.75rem;
	padding-bottom:0.75rem;
	font-size:1.1875rem
}
.filter-vertical .filter-actions .btn + .btn {
	margin-top:0.75rem;
}
@media (max-width:991px) {
	.filter-vertical .card {
		overflow:visible;
		padding:0;
		border:none;
		border-radius:0;
		background-color:transparent;
	}
	.filter-vertical .card-header {
		display:none;
	}
	.filter-vertical .card-body {
		margin-left:calc(var(--bs-gutter) * -0.5);
		margin-right:calc(var(--bs-gutter) * -0.5);
		padding:0;
	}
	.filter-vertical .card-body .filter-keyword {
		padding-left:calc(var(--bs-gutter) * 0.5);
		padding-right:calc(var(--bs-gutter) * 0.5);
		flex-basis:0;
		flex-grow:1;
	}
	.filter-vertical .card-body .filter-keyword .form-group {
		margin: 0;
	}
	.filter-vertical .filter-actions {
		display:none;
	}
}
@media (min-width:992px) {
	.filter-vertical .card-body {
		flex-direction:column;
	}
	.filter-vertical .filter-panel-trigger {
		display:none;
	}
	.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;
	}
	.filter-vertical .keyword .form-control {
		padding-right:2.75rem;
	}
	.filter-vertical .keyword .btn {
		padding:0.5rem 0.75rem;
		border-radius:calc(0.75em + 0.5rem + 1px);
		font-size:1rem;
		color:var(--bs-primary);
	}
}

.form-block .programme-selection-group .card-body {
	padding:1.25rem;
}
.form-block .programme-selection-group .card-meta {
	color:inherit;
}
.form-block .programme-selection-group .card-meta .icon {
	color:var(--bs-primary);
}
.form-block .programme-selection {
	margin-bottom:1rem;
}
.form-block .programme-selection:not(:first-child) {
	margin-top:1rem;
}
.form-block .programme-selection:last-child {
	margin-bottom:0;
}
.form-block .programme-selection-title {
	margin:0;
	font-size:1.1875rem;
	font-weight:500;
	color:var(--bs-primary);
}
.form-block .programme-selection-meta {
	margin-bottom:-0.25em;
	padding:0;
	font-size:1rem;
	font-weight:600;
	list-style:none;
	display:flex;
	flex-wrap:wrap;
}
.form-block .programme-selection-meta li {
	padding-left:0;
}
.form-block .programme-selection-meta li:not(:last-child) {
	margin-right:1.25rem;
}
.form-block .programme-selection-meta .icon {
	color:var(--bs-primary);
}
.form-block .programme-selection-label {
	position:relative;
	padding:1rem;
	border:2px solid var(--bs-light);
	border-radius:1rem;
	display:flex;
	align-items:center;
}
.form-block .programme-selection-label:last-child {
	margin-bottom:0;
}
.form-block .programme-selection-label .programme-selection-info {
	margin-right:1rem;
	flex-grow:1;
}
.form-block .programme-selection-checkbox {
	position:absolute;
	visibility:hidden;
}
.form-block .programme-selection-checkbox + .programme-selection-label {
	cursor:pointer;
}
.form-block .programme-selection-checkbox + .programme-selection-label:after {
	content:'';
	width:1em;
	height:1em;
	border:1px solid var(--bs-light);
	font-size:1.5rem;
	flex-shrink:0;
}
.form-block .programme-selection.active .programme-selection-label,
.form-block .programme-selection-checkbox:checked + .programme-selection-label {
	border-color:var(--bs-secondary);
}
.form-block .programme-selection-checkbox:checked + .programme-selection-label:after {
	content:'\e93c';
	border:none;
	font-family:'wtsdhc-icons';
	color:var(--bs-secondary);
	line-height:1;
}
.form-block .programme-selection-checkbox:disabled + .programme-selection-label,
.form-block .programme-selection-checkbox:disabled + .programme-selection-label .programme-selection-meta .icon {
	color:var(--bs-light);
	cursor:not-allowed;
}
.form-block .programme-selection-input {
	max-width:6rem;
}
.form-block .programme-selection-input .form-control {
	border-color:var(--bs-light);
	border-radius:0.5rem;
	background:var(--bs-white);
}
.form-block .programme-selection-input .styled-select:before {
	display:none;
}
@media (max-width:991px) {
	.form-block .programme-selection-group.card {
		padding:0;
		display:block;
	}	
}

.health-index-chart .section-title {
	font-size:1.375rem;
	font-weight:bold;
}
.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;
	align-items:center;
	justify-content:center;
}
.health-index-summary .last-measurement .title {
	margin-bottom:0.25rem;
	font-weight:700;
}
.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:wtsdhc-icons;
}

.hero {
	padding-top:0;
	padding-bottom:0;
}
.hero .swiper-slide {
	position:relative;
}
.hero .slide-image {
	background-position:center;
	background-size:cover;
}
.hero .slide-image .img-sizer {
	height:200px;
}
.hero .slide-body {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	padding-top:60px;
	padding-bottom:60px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.hero .slide-body > .container > * {
	max-width:80%;
}
.hero .slide-body > .container > :not(:last-child) {
	margin-bottom:8px;
}
.hero .slide-title,
.hero .slide-content {
	text-shadow:0 0 0.75em #FFFFFF;
}
.hero .slide-title {
	font-size:1.666667rem;
	font-weight:bold;
	color:var(--bs-dark);
}
@media (min-width:576px) {
	.hero .slide-image .img-sizer {
		height:300px;
	}
	.hero .slide-title {
		font-size:2.5rem;
	}
}
@media (min-width:768px) {
	.hero .slide-image .img-sizer {
		height:420px;
	}
	.hero .slide-title {
		font-size:3.25rem;
	}
}
@media (min-width:992px) {
	.hero .slide-image .img-sizer {
		height:600px;
	}
	.hero .slide-body > .container > * {
		max-width:60%;
	}
	.hero .slide-body > .container > :not(:last-child) {
		margin-bottom:20px;
	}
}
@media (min-width:1200px) {
	.hero .slide-title {
		font-size:4rem;
	}
}

.jumbotron {
	margin:0;
	padding-top:0;
	padding-bottom:0;
}
.jumbotron-image {
	background-position:center;
	background-size:cover;
}
.jumbotron-image .img-sizer {
	min-height:200px;
}
.jumbotron-body {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	display:flex;
	align-items:center;
}
.jumbotron-title {
	font-size:3rem;
	color:var(--bs-dark);
	letter-spacing:0.05em;
	text-align:right;
}
html[lang^="zh-"] .jumbotron-title {
	letter-spacing:0.2em;
}
@media (min-width:576px) {
	.jumbotron-image .img-sizer {
		padding-bottom:40%;
	}
}
@media (min-width:768px) {
	.jumbotron-image .img-sizer {
		padding-bottom:33.333333%;
	}
}
@media (min-width:992px) {
	.jumbotron-image .img-sizer {
		padding-bottom:25%;
	}
}
@media print {
	.jumbotron {
		padding-top:30px;
		background:none;
	}
	.jumbotron-image {
		display:none;
	}
	.jumbotron-body {
		position:relative;
	}
	.jumbotron-title {
		text-align:left;
	}
}

.legend .section-body {
	border:1px solid #BABABA;
	border-radius:1.875rem;
	display:flex;
	align-items:center;
}
.legend .section-title {
	margin:0;
	padding:0 1.875rem;
	font-size:1.1875rem;
	font-weight:normal;
	color:var(--bs-dark);
}
.legend .section-title:after {
	display:none;
}
.legend .legend-list {
	padding:1.25rem 1.875rem 0 1.875rem;
	border-left:1px solid #BABABA;
	flex-basis:0;
	flex-grow:1;
}
.legend .legend-item {
	margin-bottom:1.25rem;
	display:flex;
}
.legend .legend-item .graphic {
	width:1.25rem;
	height:1.25rem;
	margin-top:0.265625rem;
	border-radius:0.625rem;
}
.legend .legend-item .graphic + .label {
	margin-left:0.625rem;
}
@media (min-width:768px) {
	.legend .legend-list {
		display:flex;
		flex-wrap:wrap;
	}
	.legend .legend-item:not(:last-child) {
		margin-right:5rem;
	}
}

.map-block .section-title:after {
	display:none;
}
.map-block dl dt {
	font-weight:normal;
	color:var(--bs-primary);
	text-align:right;
}
.map-block .map-container {
	min-height:400px;
	margin-bottom:2.5rem;
	padding-bottom:66.666667%;
}
@media (max-width:575px) {
	.map-block .map-container {
		margin-left:calc(var(--bs-gutter) * -1);
		margin-right:calc(var(--bs-gutter) * -1);
	}
}
@media (min-width:992px) {
	.map-block .map-container {
		margin-bottom:0;
	}
}

.notification-modal .modal-footer {
	justify-content:center;
}

.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;
	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:wtsdhc-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;
	}
}

.text-block-image {
	margin-bottom:1.5rem;
	border-radius:20px;
}
@media (min-width:992px) {
	.text-block-image:last-child {
		margin-bottom:0;
	}
}

/* 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;
	}
}

.pep-programme {
	width:200%;
	border-width:1px 0;
	border-style:solid;
	border-color:#DDDDDD;
	display:flex;
	transition-property:margin;
}
.pep-programme .pep-programme-chapter {
	width:calc(50% + 1px);
	position:relative;
	border-right:1px solid #DDDDDD;
}
.pep-programme .pep-programme-chapter-list {
	padding: 0;
	list-style: none;
}
.pep-programme .pep-programme-chapter-list-item {
	margin: 0;
}
.pep-programme .pep-programme-chapter-list-item:not(:last-child) {
	border-bottom: 1px solid #DDDDDD;
}
.pep-programme .pep-programme-chapter-btn {
	width: 100%;
	padding: 1.25rem 0;
	border-radius: 0;
	font-size: 1.375rem;
	text-align: left;
	white-space: normal;
	display: flex;
}
.pep-programme .pep-programme-chapter-btn .pep-programme-chapter-title {
	padding-right: 0.625rem;
}
.pep-programme .pep-programme-chapter-btn .pep-programme-chapter-progress {
	width: 1em;
	height: 1em;
	margin-top: 0.25em;
	margin-left: auto;
	border-radius: 50%;
	background-color: var(--bs-light);
	flex-shrink: 0;
	transition-property: background-color;
}
.pep-programme .pep-programme-chapter-btn.active {
	background-color: #F0F7EE;
}
.pep-programme .pep-programme-chapter-btn.active .pep-programme-chapter-progress {
	background-color: var(--bs-warning);
}
.pep-programme .pep-programme-chapter-btn.disabled,
.pep-programme .pep-programme-chapter-btn[disabled] {
	color: var(--bs-light);
	opacity: 1;
}
.pep-programme .pep-programme-chapter-btn.completed .pep-programme-chapter-progress {
	background-color: var(--bs-success);
}
.pep-programme .pep-programme-body {
	padding: 1.25rem 0;
	flex-basis: 0;
	flex-grow: 1;
}
.pep-programme .pep-programme-body dt {
	color: var(--bs-primary);
}
.pep-programme .pep-programme-body .form-actions {
	margin-top: 40px;
	justify-content: center;
}
.pep-programme .pep-programme-questionnaire .form-group > label {
	margin-bottom: 1rem;
	font-weight: normal;
	color: inherit;
}
.pep-programme.opened {
	margin-left:calc(-100% - 1px);
}
@media (min-width:768px) {
	.pep-programme {
		width:100%;
		min-height:calc(100vh - 181px);
		transition-property:none;
	}
	.pep-programme .pep-programme-chapter {
		width:33.333333%;
		max-width:420px;
	}	
	.pep-programme .pep-programme-chapter-list {
		width:100%;
		overflow:auto;
		position:absolute;
		top:0;
		bottom:0;
	}
	.pep-programme .pep-programme-chapter-btn {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
	.pep-programme .pep-programme-body {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
	.pep-programme.opened {
		margin-left:0;
	}
}

.pep-programme-list {
	max-width: 1020px;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	list-style: none;
}
.pep-programme-list-item + .pep-programme-list-item {
	margin-top: 40px;
}
.pep-programme-list-item-info {
	margin-left: -1rem;
	margin-right: -1rem;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}
.pep-programme-list-item-info > * {
	padding-left: 1rem;
	padding-right: 1rem;
}
.pep-programme-list-item-title {
	font-size: 1.375rem;
	color: var(--bs-dark);
}
.pep-programme-list-item-metas {
	margin: 0 -0.75rem;
	padding: 0;
	color: var(--bs-light);
	list-style: none;
	display: flex;
}
.pep-programme-list-item-metas li {
	margin: 0;
	padding: 0 0.75rem;
}
.pep-programme-list-item-progress {
	height: 5px;
	border-radius: 0;
}
.pep-programme-list-item-info + .pep-programme-list-item-progress {
	margin-top: 10px;
}


/* page specific styles */
.floating-badge {
	width:14.25rem;
	height:14.25rem;
	overflow:hidden;
	position:fixed;
	bottom:2.5rem;
	right:4rem;
	border-radius:50%;
	z-index:15;
	display:none;
}
.floating-badge > a {
	width:8rem;
	height:8rem;
	position:absolute;
	top:calc(50% - 4rem);
	left:calc(50% - 4rem);
	padding:0.75rem;
	border-radius:50%;
	color:var(--bs-white);
	line-height:1.25;
	text-align:center;
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:9;
}
.floating-badge .ring {
	content:'';
	width:100%;
	height:100%;
	position:absolute;
	background:url(../../images/floating-badge-ring.svg) no-repeat center / 100%;
	z-index:8;
	animation-name:FloatingBadgeRingRotation;
	animation-duration:12s;
	animation-timing-function:linear;
	animation-iteration-count:infinite;
}
.floating-badge .circle {
	width:8rem;
	height:8rem;
	position:absolute;
	top:calc(50% - 4rem);
	left:calc(50% - 4rem);
	border:3px solid var(--bs-primary);
	border-radius:50%;
	background-color:var(--bs-primary);
	z-index:7;
	-webkit-transition-property:background-color;
	-moz-transition-property:background-color;
	transition-property:background-color;
}
.floating-badge > a:hover,
.floating-badge > a:focus {
	color:var(--bs-primary);
	outline:none;
}
.floating-badge > a:hover ~ .circle,
.floating-badge > a:focus ~ .circle {
	background-color:var(--bs-white);
}
.floating-badge > a:hover ~ .ring,
.floating-badge > a:focus ~ .ring {
	animation-play-state:paused;
}
@keyframes FloatingBadgeRingRotation {
	0% {
		transform:rotate(0deg);
	}
	100% {
		transform:rotate(360deg);
	}
}
@media (min-width:576px) {
	.floating-badge {
		display:block;
	}
}
@media print {
	.floating-badge {
		display:none;
	}
}

.home .page-footer {
	margin-top:160px;
}
.home .section.with-bg {
	background:none;
}
.home .section.with-bg:before {
	content:'';
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	background:var(--bs-beige);
	z-index:-2;
}
.bean {
	width:233px;
	height:159px;
	position:fixed;
	top:20%;
	background-position:center;
	background-repeat:no-repeat;
	background-size:contain;
	display:none;
	z-index:-1;
	transform:translateX(-50%);
	animation-duration:1s;
	animation-timing-function:linear;
	animation-iteration-count:infinite;
}
.bean.red {
	left:20%;
}
.bean.red[data-animation="0"] {
	background-image:url(../../images/bean-red-1.gif);
}
.bean.red[data-animation="1"] {
	background-image:url(../../images/bean-red-2.gif);
}
.bean.red[data-animation="2"] {
	background-image:url(../../images/bean-red-3.gif);
}
.bean.green {
	left:50%;
}
.bean.green[data-animation="0"] {
	background-image:url(../../images/bean-green-1.gif);
}
.bean.green[data-animation="1"] {
	background-image:url(../../images/bean-green-2.gif);
}
.bean.green[data-animation="2"] {
	background-image:url(../../images/bean-green-3.gif);
}
.bean.yellow {
	left:80%;
}
.bean.yellow[data-animation="0"] {
	background-image:url(../../images/bean-yellow-1.gif);
}
.bean.yellow[data-animation="1"] {
	background-image:url(../../images/bean-yellow-2.gif);
}
.bean.yellow[data-animation="2"] {
	background-image:url(../../images/bean-yellow-3.gif);
}
.bean.no-animation {
	animation-name:none;
}
@media (max-width:991px) {
	.home .page-footer {
		margin-top:120px;
	}
	.bean {
		transform:translateX(-50%) scale(0.75);
		transform-origin:bottom;
	}
}
@media (max-width:767px) {
	.home .page-footer {
		margin-top:96px;
	}
	.bean {
		transform:translateX(-50%) scale(0.6);
	}
}
@media (max-width:575px) {
	.home .page-footer {
		margin-top:64px;
	}
	.bean {
		transform:translateX(-50%) scale(0.4);
	}
}

.social-resource-map {
	--section-spacer-y: 30px;
	height: calc(100vh - 50px);
	padding-top: 0;
	padding-bottom: 0;
}
.social-resource-map dt {
	font-weight: normal;
	color: var(--bs-primary);
}
.social-resource-map .ajax-loading {
	position: absolute;
	inset: 0;
	background-color: rgba(255,255,255,0.75);
	z-index: 9;
}
.social-resource-map-container {
	position: relative;
}
.social-resource-map-container gmp-advanced-marker > img {
	height: 50px;
	transform-origin: bottom;
	transition-property: opacity, transform;
	transition-duration: 0.4s;
}
.social-resource-map-container gmp-advanced-marker.blur > img {
	opacity: 0.5;
}
.social-resource-map-container gmp-advanced-marker.focus {
	z-index: 1;
}
.social-resource-map-container gmp-advanced-marker.focus > img {
	transform: scale(1.25);
}
.social-resource-map-filter {
	position: absolute;
	inset: var(--section-spacer-y) 0 auto 0;
}
.social-resource-map-result dl > dt {
	margin-bottom: var(--bs-spacing-1);
}
.social-resource-map-result dl > dd:not(:last-of-type) {
	margin-bottom: var(--bs-spacing-3);
}
.social-resource-map-result .card-header {
	border-bottom-color: var(--bs-primary);
	background-color: var(--bs-primary);
	color: var(--bs-white);
	display: flex;
	align-items: center;
}
.social-resource-map-result .card-header .close {
	width: 1em;
	font-size: 1rem;
	color: inherit;
	text-align: center;
	text-shadow: none;
	display: inline-block;
	opacity: 1;
}
.social-resource-map-result .card-header .close:hover {
	opacity: 1;
}
.social-resource-map-result .list-group {
	overflow: auto;
	border-width: 0;
}
.social-resource-map-result .list-group-item {
	margin: 0;
	padding: 1rem;
	border-width: 0 0 1px 0;
	display: flex;
}
.social-resource-map-result .list-group-item:last-child {
	border-bottom-width: 0;
}
.social-resource-map-result .list-group-item:hover {
	background-color: #F0F0F0;
}
.social-resource-map-result .list-group-item-icon {
	height: 1.875rem;
	margin-right: var(--bs-spacing-2);
	flex-shrink: 0;
}
.social-resource-map-result .list-group-item-data {
	align-self: center;
}
.social-resource-map-result-trigger {
	position: absolute;
	top: var(--section-spacer-y);
	left: var(--bs-gutter);
}
@media (max-width: 991px) {
	.social-resource-map-result .card {
		padding: 0;
		border-width: 0;
		border-radius: 0;
	}
}
@media (max-width: 575px) {
	.social-resource-map-result > .container {
		padding-left: 0;
		padding-right: 0;
	}
}
@media (min-width: 576px) {
	.social-resource-map {
		height: calc(100vh - var(--logo-size) - 1.25rem);
	}
}
@media (min-width: 992px) {
	.social-resource-map {
		height: calc(100vh - var(--logo-size) - 5.0625rem);
	}
	.social-resource-map-container {
		height: 100%;
		position: absolute;
		inset: 0;
	}
	.social-resource-map-filter {
		width: 500px;
		left: auto;
		right: calc(var(--bs-gutter) * 0.5);
	}
	.social-resource-map-filter .keyword,
	.social-resource-map-filter .filter-panel-trigger .btn {
		z-index: 1;
	}
	.social-resource-map-result {
		width: 360px;
		position: absolute;
		top: var(--section-spacer-y);
		bottom: var(--section-spacer-y);
		left: calc(var(--bs-gutter) * 0.5);
		transform: translateY(calc(100% + var(--section-spacer-y)));
		transition-property: transform;
		transition-duration: 0.4s;
	}
	.social-resource-map-result.show {
		transform: translateY(0px);
	}
	.social-resource-map-result > .container {
		height: 100%;
	}
	.social-resource-map-result .card {
		height: 100%;
		border-color: var(--bs-primary);
	}
	.social-resource-map-result .card-body {
		overflow: auto;
		padding: 0.75rem 1.25rem;
	}
}
@media (min-width: 1200px) {
}
@media (min-width: 1600px) {
	.social-resource-map-filter {
		right: calc(50% - 770px);
	}
	.social-resource-map-result {
		left: calc(50% - 770px);
	}
}

.timeline {
	--bs-gutter:60px;
	display:flex;
	flex-direction:column;
	align-items:center;
}
.timeline-start {
	width:2.5rem;
	height:2.5rem;
	border-radius:50%;
	background:var(--bs-primary);
}
.timeline-connector {
	position:relative;
	padding:1.25rem 0;
}
.timeline-connector:before {
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	left:calc(50% - 0.1875rem);
	border-left:0.375rem dotted var(--bs-primary);
}
.timeline-arrow {
	padding-top:1.875rem;
	padding-bottom:1.875rem;
}
.timeline-arrow:after {
	content:'\e91d';
	font-family:wtsdhc-icons;
	font-size:3.75rem;
	color:var(--bs-primary);
	line-height:1;
}
.timeline-group {
	width:100%;
	position:relative;
	padding:1.25rem 1.5rem;
	border:1px solid #BABABA;
	border-radius:1.25rem;
	background:var(--bs-white);
}
.timeline-group.with-title {
	margin-top:1.825rem;
	padding-top:3.625rem;
}
.timeline-group .card {
	margin:0;
	padding:0;
	border:none;
}
.timeline-group .card-image > img {
	max-height:150px;
	margin:0 auto;
	display:block;
}
.timeline-group .card-title {
	font-size:1.625rem;
}
.timeline-group .card-body ul {
	text-align:left;
}
.timeline-split {
	position:relative;
	margin-top:1.825rem;
}
.timeline-group-title,
.timeline-split-title {
	min-width:18rem;
	position:absolute;
	top:-1.825rem;
	left:50%;
	margin:0;
	padding:1rem 1.5rem;
	border-radius:1.825rem;
	background:var(--bs-primary);
	font-size:1.375rem;
	font-weight:500;
	color:var(--bs-white);
	text-align:center;
	white-space:nowrap;
	z-index:9;
	-webkit-transform:translateX(-50%);
	-moz-transform:translateX(-50%);
	transform:translateX(-50%);
}
.timeline-group-and {
	width:100%;
	position:relative;
	margin:3.75rem 0;
}
.timeline-group-and:before,
.timeline-group-and:after {
	content:'';
	width:3.75rem;
	height:0.5rem;
	position:absolute;
	top:calc(50% - 0.25rem);
	left:calc(50% - 1.875rem);
	background:var(--bs-primary);
}
.timeline-group-and:after {
	-webkit-transform:rotate(90deg);
	-moz-transform:rotate(90deg);
	transform:rotate(90deg);
}
.timeline-group-or {
	width:100%;
	position:relative;
	margin:3.75rem calc(var(--bs-gutter) * 0.5);
}
.timeline-group-or:before {
	content:'';
	position:absolute;
	top:calc(50% - 1px);
	left:2.5rem;
	right:2.5rem;
	border-top:1px solid var(--bs-primary);
}
.timeline-group-or:after {
	content:'或';
	width:3.75rem;
	height:3.75rem;
	position:absolute;
	top:calc(50% - 1.875rem);
	left:calc(50% - 1.875rem);
	border:1px solid var(--bs-primary);
	border-radius:1.875rem;
	background:var(--bs-white);
	color:var(--bs-primary);
	display:flex;
	align-items:center;
	justify-content:center;
}
@media (max-width:991px) {
	.timeline-split > .timeline:first-of-type .timeline-group {
		padding-top:4.8125rem;
	}
	.timeline-split > .timeline:not(:first-of-type) .timeline-group {
		border-top:none;
		border-top-left-radius:0;
		border-top-right-radius:0;
	}
	.timeline-split > .timeline:not(:last-of-type) .timeline-group {
		border-bottom-left-radius:0;
		border-bottom-right-radius:0;
	}
}
@media (min-width:992px) {
	.timeline-split {
		width:calc(100% + var(--bs-gutter));
		margin-left:calc(var(--bs-gutter) * -0.5);
		margin-right:calc(var(--bs-gutter) * -0.5);
		padding-top:4.8125rem;
		display:flex;
	}
	.timeline-split:before {
		content:'';
		width:calc(50% + 0.375rem);
		height:5rem;
		position:absolute;
		top:-0.1875rem;
		left:calc(25% - 0.1875rem);
		border-width:0.375rem 0.375rem 0 0.375rem;
		border-style:dotted;
		border-color:var(--bs-primary);
	}
	.timeline-split > .timeline {
		padding-left:calc(var(--bs-gutter) * 0.5);
		padding-right:calc(var(--bs-gutter) * 0.5);
		flex-basis:0;
		flex-grow:1;
	}
	.timeline-group {
		padding:2.5rem;
	}
	.timeline-group .card {
		padding-left:1.875rem;
		padding-right:1.875rem;
	}
	.timeline-group .card-image {
		margin-bottom:1.25rem;
	}
	.timeline-group .card-body {
		padding:0;
		text-align:center;
	}
	.timeline-group-and,
	.timeline-group-or {
		width:0;
		margin:0;
	}
	.timeline-group-or:before {
		top:2.5rem;
		bottom:2.5rem;
		left:calc(50% - 1px);
		right:auto;
		border-top:none;
		border-left:2px solid var(--bs-primary);
	}
	.timeline-group-or:after {
		border-width:2px;
	}
}

.workout-calendar {
	display:flex;
}
.workout-calendar .workout-day {
	min-height:calc(6.75rem + 1.5em + 3px);
}
.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:6em;
	padding:0.75rem 1rem;
	background:var(--bs-warning);
	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:2rem;
	font-weight:600;
	line-height:1.1875;
}
.workout-calendar .workout-day-header .dow {
	font-size:1rem;
	font-weight:500;
}
.workout-calendar .workout-day-body {
	overflow:auto;
	border-width:1px 1px 1px 0;
	border-style:solid;
	border-color:#DDDDDD;
	border-radius:0 0.625rem 0.625rem 0;
	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.375rem;
	white-space:nowrap;
}
.workout-calendar .workout-day-body-scroller .workout-day:not(:first-child) {
	border-top:1px solid #DDDDDD;
}
.workout-calendar .workout-entry-container {
	display:flex;
}
.workout-calendar .workout-entry {
	margin:0.375rem;
	display:inline-block;
}
.workout-calendar .workout-entry-btn {
	width:100%;
	padding:0.75rem;
	border:1px solid #DDDDDD;
	border-radius:0.625rem;
	background:#FDF8EB;
	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.375rem;
	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;
	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;
	border-color:#BABABA;
	background-color:var(--bs-white);
}
@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;
}
.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);
	background:var(--bs-white);
}
.workout-exercise-custom-preview {
	width:calc(1.5em + 2rem + 1px);
	overflow:hidden;
	position:absolute;
	top:1px;
	bottom:1px;
	left:1px;
	border-right:1px solid var(--bs-primary);
	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;
}
