/* Technetium PHP Framework version 2.9
   Author: Tony Leung
   E-mail: info@technetium.info */

@charset "utf-8";

/* html tags */
:root {
	--bs-primary: #8949aa;
	--bs-primary-darker: #a64757;
	--bs-primary-shadow: #f3eff7;
	--bs-secondary: #FF7D93;
	--bs-secondary-darker: #a64757;
	--bs-secondary-shadow: #d5689a;
	--bs-secondary-text: #3D000A;
	--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: #b1b1b1;
	--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: 20rem;
	--wws-holiday-red: #AD001D;
	--wws-foreground: #5F445F;
	--wws-background: #F0EAF4;
}
@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: 14px;
}
html.large {
	font-size: 16px;
}
html.xlarge {
	font-size: 18px;
}
@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-color: rgba(243, 239, 247, 0.05);
	font-family: "proxima-nova", Arial, "Noto Sans TC", "Noto Sans SC", "微軟正黑體", "Microsoft JhengHei", Helvetica, sans-serif;
	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.5rem;
	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 {
	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: var(--bs-primary);
	text-decoration: none;
	outline: none;
	transition-property: color, opacity;
}
a:hover {
	color: var(--bs-primary-darker);
	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;
	font-size: 0.875rem;
}
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-secondary);
}
::-moz-selection {
	background: var(--bs-secondary);
}


/* 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;
	}
}
.btn-secondary {
	color: var(--bs-secondary-text);
}
.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;
}

.address-list {
	padding-left: 1.5em;
	list-style: none;
}
.address-list-item:before {
	content: '\e917';
	width: 1em;
	margin-left: -1.2em;
	margin-right: 0.2em;
	font-family: wws-icons;
	font-size: 1.25em;
	color: var(--bs-primary);
	text-align: center;
	display: inline-block;
}

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: wws-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.2em;
	text-align: center;
	display: inline-block;
}

.skip-transition {
	transition-property: none !important;
}


/* framework components */
.font-size-toggle,
.language-toggle {
	display: flex;
}
.font-size-toggle .btn,
.language-toggle .btn {
	position: relative;
	padding-left: 6px;
	padding-right: 6px;
	border-radius: 0;
	font-weight: 400;
	color: var(--bs-light);
	line-height: 28.5px;
	text-decoration: none;
}
.font-size-toggle .btn:after,
.language-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,
.language-toggle .btn:hover,
.language-toggle .btn.active {
	color: var(--bs-primary);
}
.font-size-toggle .btn:hover:after,
.font-size-toggle .btn.active:after,
.language-toggle .btn:hover:after,
.language-toggle .btn.active:after {
	left: 6px;
	right: 6px;
}
.font-size-toggle .btn[data-font-size="normal"] {
	font-size: 16px !important;
}
.font-size-toggle .btn[data-font-size="large"] {
	font-size: 19px !important;
}
.font-size-toggle .btn[data-font-size="xlarge"] {
	font-size: 22px !important;
}
@media (min-width: 1600px) {
	.font-size-toggle .btn,
	.language-toggle .btn {
		padding-left: 10px;
		padding-right: 10px;
	}
	.font-size-toggle .btn:hover:after,
	.font-size-toggle .btn.active:after,
	.language-toggle .btn:hover:after,
	.language-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: wws-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.75rem 0 0.75rem 1rem ;
	border-radius: calc(0.75rem + 0.75em + 1px);
	background: none;
	font-size: inherit;
}
.search-box .form-control:focus {
	border-color: var(--bs-primary);
}
.search-box .form-control::placeholder {
	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.75rem + 0.75em + 1px);
	border-bottom-right-radius: calc(0.75rem + 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: 32px;
	width: 100%;
	max-width: 1920px;
	min-height: 100%;
	overflow: hidden;
	position: relative;
	margin: 0 auto;
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.05);
	background-color: #FFFFFF;
	display: flex;
	flex-direction: column;
}
.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: 480px) {
	.page-wrapper {
		--logo-size: 42px;
	}
}
@media (min-width: 576px) {
	.page-wrapper {
		--logo-size: 52px;
	}
}
@media (min-width: 992px) {
	.page-wrapper {
		--logo-size: 56px;
	}
}
@media (min-width: 1200px) {
	.page-wrapper {
		--logo-size: 64px;
	}
}

.page-header {
	width: 100%;
	position: fixed;
	box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.1);
	background: var(--bs-white);
	z-index: 9;
}
.page-header .logo {
	height: var(--logo-size);
	margin: 0.75rem 0;
	flex-shrink: 0;
}
.page-header .logo img {
	height: 100%;
	display: block;
}
.page-header .operator {
	height: var(--logo-size);
	margin: 0.75rem 0 0.75rem calc(var(--logo-size) * 0.2);
	padding-top: calc(var(--logo-size) * 0.2);
	flex-shrink: 0;
}
.page-header .operator img {
	height: 100%;
	display: block;
}
.page-header .hgroup,
.page-header .main-nav {
	display: none;
}
.page-header .hgroup .btn {
	font-size: inherit;
}
@media (min-width: 1200px) {
	.page-header {
		position: relative;
		padding-bottom: 1.9375rem;
		box-shadow: none;
		z-index: unset;
	}
	.page-header .hgroup {
		margin-left: auto;
		padding-left: var(--bs-spacing-4);
		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 {
		width: 100%;
		position: absolute;
		display: block;
	}
	.page-header .main-nav > nav,
	.page-header .main-nav > .sticky-wrapper > nav {
		max-width: 1180px;
		position: relative;
		margin-left: auto;
		margin-right: auto;
		border-radius: 1.9375rem;
		background: var(--wws-background);
		display: block;
		z-index: 19 !important;
		transition-property: max-width, border-radius;
	}
	.page-header .main-nav > .is-sticky > nav {
		width: 100% !important;
		max-width: 100% !important;
		left: 50%;
		box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.15);
		border-radius: 0;
		transform: translateX(-50%);
	}
	.main-nav .nav {
		list-style: none;
		display: flex;
		justify-content: space-around;
	}
	.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: 1rem 0.375rem;
		font-size: 1.25rem;
		color: var(--wws-foreground);
		display: block;
	}
	.main-nav .nav > li > a:focus {
		outline: none;
	}
	.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(--wws-background);
		font-size: 1.1875rem;
		color: var(--wws-foreground);
		list-style: none;
		text-align: center;
		display: none;
		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(--wws-foreground);
	}
	.main-nav .nav > li > ul a {
		margin-left: -12px;
		margin-right: -12px;
		padding: 12px;
		color: var(--wws-foreground);
		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: 1600px) {
	.page-header .operator {
		margin-left: calc(var(--logo-size) * 0.75);
	}
	.page-header .hgroup > :not(:last-child) {
		margin-right: 20px;
	}
	.page-header .main-nav > nav,
	.page-header .main-nav > .sticky-wrapper > nav {
		max-width: 1580px;
	}
	.main-nav .nav > li > a {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
}
@media print {
	.page-header {
		position: relative;
	}
	.page-header .hgroup,
	.page-header .main-nav {
		display: none;
	}
}

.mobile-nav-trigger {
	position: relative;
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
	margin-left: auto;
	display: block;
	flex-shrink: 0;
}
.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: width, left;
	-moz-transition-property: width, left;
	transition-property: width, 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: wws-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.25rem;
	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-toggle {
	display: flex;
}
.mobile-nav-footer .language-toggle .btn {
	padding: 0.5rem 1rem;
	border-color: #BABABA;
	font-size: 1rem;
	font-weight: normal;
	flex-basis: 0;
	flex-grow: 1;
}
.mobile-nav-footer .language-toggle .btn:after {
	display: none;
}
.mobile-nav-footer .language-toggle .btn.active {
	background-color: var(--bs-primary);
	color: var(--bs-white);
}
.mobile-nav-footer .language-toggle .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: 1.875em;
	height: 1.875em;
	border-radius: 0.5em;
	background: var(--bs-primary);
	font-size: 1.75rem;
	line-height: 1.875;
	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: 1200px) {
	.mobile-nav-mask,
	.mobile-nav-container {
		display: none;
	}
}
@media print {
	.mobile-nav-trigger {
		display: none;
	}
}

.page-body {
	position: relative;
	padding-top: calc(var(--logo-size) + 1.5rem);
	flex-grow: 1;
}
@media (min-width: 1200px) {
	.page-body {
		padding-top: 0;
	}
}
@media print {
	.page-body {
		padding-top: 0;
	}
}

.page-footer {
	position: relative;
	padding: 3.125rem 0;
	background: var(--bs-primary-shadow);
}
.page-footer .footer-block {
	margin-bottom: 1.75rem;
}
.page-footer .footer-block-title {
	margin-bottom: 1rem;
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--bs-primary);
}
.page-footer .site-map-block {
	display: none;
}
.page-footer .sns-block .nav > li {
	margin: 0;
	padding: 0;
}
.page-footer .sns-block .nav > li:not(:last-child) {
	margin-right: 1.25rem;
}
.page-footer .sns-block .nav > li > a {
	width: 1.5em;
	height: 1.5em;
	border-radius: 0.375em;
	background: var(--bs-secondary);
	font-size: 2rem;
	line-height: 1.5;
	color: #FFFFFF;
	text-align: center;
	display: block;
}
.page-footer .mobile-app-block img {
	display: block;
}
.page-footer .mobile-app-block .app-store-badge {
	display: flex;
}
.page-footer .mobile-app-block .app-store-badge img {
	height: 3rem;
}
.page-footer .mobile-app-block .app-store-badge > :not(:last-child) {
	margin-right: 0.5rem;
}
.page-footer .legal-block {
	padding-top: 20px;
	border-top: 1px solid var(--bs-white);
}
.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-block .nav {
		margin-top: 1rem;
	}
}
@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;
	}
	.page-footer .legal-block .footer-links {
		margin-bottom: 0;
	}
}
@media (min-width: 992px) {
	.page-footer .site-map-block {
		display: block;
	}
	.page-footer .site-map-block .nav {
		margin-bottom: -0.75rem;
	}
	.page-footer .site-map-block .nav a {
		color: inherit;
	}
	.page-footer .site-map-block .nav > li {
		margin-bottom: 0.75rem;
		margin-left: 0;
	}
	.page-footer .site-map-block .nav > li:not(:last-child) {
		margin-right: 60px;
	}
	.page-footer .site-map-block .nav > li > a {
		font-weight: bold;
		display: block;
	}
	.page-footer .site-map-block .nav > li > ul {
		margin: 0.75rem 0 0 0;
		padding: 0;
		list-style: none;
	}
	.page-footer .site-map-block .nav > li > ul > li {
		margin: 0;
		padding: 0;
	}
	.page-footer .legal-block .footer-links {
		width: auto;
	}
}
@media print {
	.page-footer {
		padding: 0;
		background: none;
	}
	.page-footer .site-map-block,
	.page-footer .sns-block,
	.page-footer .mobile-app-block,
	.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: 2.25rem;
	--section-bg: transparent;
	--section-divider-width: calc(100% - 25px);
	--section-divider-color: var(--bs-light);
	--section-title-font-size: 2.25rem;
	--section-title-font-weight: 500;
	--section-title-color: var(--bs-primary);
	--section-subtitle-font-size: 1.375rem;
	--section-subtitle-font-weight: 500;
	--section-subtitle-color: var(--bs-secondary);
	position: relative;
	padding: var(--section-spacer-y) var(--section-spacer-x);
	background-color: var(--section-bg);
}
.section.cont:before {
	content: '';
	width: var(--section-divider-width);
	position: absolute;
	top: 0;
	left: 50%;
	border-top: 1px solid var(--section-divider-color);
	transform: translateX(-50%);
	z-index: -1;
}
.section.with-bg {
	--section-bg: var(--bs-primary-shadow);
}
.section-header {
	margin-bottom: 1.5rem;
}
.section-title {
	font-size: var(--section-title-font-size);
	font-weight: var(--section-title-font-weight);
	color: var(--section-title-color);
}
.section-title .icon {
	font-size: 1.25em;
}
.section-subtitle {
	margin-bottom: 0.625rem;
	font-size: var(--section-subtitle-font-size);
	font-weight: var(--section-subtitle-font-weight);
	color: var(--bs-black);
}
.section-actions {
	margin-top: 1.5rem;
	display: flex;
	flex-direction: column;
}
.section-actions .btn {
	width: 100%;
}
.section-actions .btn:not(:last-child) {
	margin-bottom: 0.75rem;
}
.section-actions .btn:not(.btn-link) {
	box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.15);
}
@media (min-width: 768px) {
	.section {
		--section-divider-width: 510px;
	}
	.section-actions {
		flex-direction: row;
		justify-content: center;
	}
	.section-actions.text-left {
		justify-content: flex-start;
	}
	.section-actions.text-right {
		justify-content: flex-end;
	}
	.section-actions .btn {
		width: auto;
	}
	.section-actions .btn:not(:last-child) {
		margin-bottom: 0;
		margin-right: 1.875rem;
	}
}
@media (min-width: 768px) {
	.section {
		--section-divider-width: calc(720px - var(--bs-gutter));
	}
}
@media (min-width: 992px) {
	.section {
		--section-spacer-x: 0;
		--section-spacer-y: 3.125rem;
		--section-divider-width: calc(960px - var(--bs-gutter));
	}
	.section-actions {
		margin-top: 2.5rem;
	}
}
@media (min-width: 1200px) {
	.section {
		--section-divider-width: calc(1140px - var(--bs-gutter));
	}
}
@media (min-width: 1600px) {
	.section {
		--section-divider-width: calc(1540px - var(--bs-gutter));
	}
}
@media print {
	.section-actions {
		display: none;
	}
}

/* module styles */
.article-block .section-body {
	max-width: 53.5rem;
	margin-left: auto;
	margin-right: auto;
	font-size: 1.1875rem;
}
.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;
	margin-bottom: -1.875rem;
}
.filter .card-body {
	display: flex;
}
.filter .filter-panel-header,
.filter .filter-panel-actions {
	display: none;
}
.filter .filter-panel-trigger {
	margin-bottom: 1.875rem;
	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 .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;
	}
	.filter .filter-panel {
		width: var(--slide-panel-width);
		position: fixed;
		top: 0;
		bottom: 0;
		left: 100%;
		background: var(--bs-white);
		display: flex;
		flex-direction: column;
		z-index: 18;
		-webkit-transition-property: left;
		-moz-transition-property: left;
		transition-property: left;
	}
	.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-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 {
		left: calc(100% - var(--slide-panel-width));
	}
	.filter .filter-panel.opened + .filter-panel-mask {
		opacity: 1;
		z-index: 11;
	}
	body.filter-panel-opened {
		overflow: hidden;
	}
}
.filter-horizontal .card {
	overflow: visible;
	margin: 0;
	padding: 0;
	border: none;
	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 {
	padding: 0 calc(var(--bs-gutter) * 0.5);
}
.filter-horizontal .filter-actions {
	display: none;
}
@media (min-width: 992px) {
	.filter-horizontal .form-group {
		padding-left: calc(var(--bs-gutter) * 0.5);
		padding-right: calc(var(--bs-gutter) * 0.5);
	}
	.filter-horizontal .form-group label {
		display: none;
	}
	.filter-horizontal .filter-panel {
		flex-basis: 50%;
		flex-grow: 1;
		order: 0;
	}
	.filter-horizontal .filter-panel-scroller {
		display: flex;
	}
	.filter-horizontal .filter-panel-scroller .form-group {
		flex-basis: 0;
		flex-grow: 1;
	}
	.filter-horizontal .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 {
	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;
	}
	.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 > .form-group {
		padding-left: calc(var(--bs-gutter) * 0.5);
		padding-right: calc(var(--bs-gutter) * 0.5);
		flex-basis: 0;
		flex-grow: 1;
	}
	.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.cont {
	--section-divider-width: calc(880px - var(--bs-gutter));
}
.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: 'wws-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);
}
@media (max-width: 991px) {
	.form-block .programme-selection-group.card {
		padding: 0;
		display: block;
	}	
}
@media (min-width: 992px) {
	.form-block > .container {
		max-width: 880px;
	}
}

.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: wws-icons;
}

.hero {
	padding-top: 0;
	padding-bottom: 0;
}
.hero .swiper-slide {
	position: relative;
}
.hero .swiper-slide .img-holder {
	height: 168px;
}
@media (min-width: 576px) {
	.hero .swiper-slide .img-holder {
		height: 268px;
	}
}
@media (min-width: 768px) {
	.hero .swiper-slide .img-holder {
		height: 348px;
	}
}
@media (min-width: 992px) {
	.hero .swiper-slide .img-holder {
		height: 420px;
	}
}
@media (min-width: 1200px) {
	.hero .swiper-slide .img-holder {
		height: 560px;
	}
}

.jumbotron {
	position: relative;
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
	background-color: #f9e5dc;
	background-image: repeating-linear-gradient(-55deg, #ffffff, #ffffff 3px, transparent 3px, transparent 16px);
}
.jumbotron:after {
	content: '';
	width: 291px;
	max-width: 30vw;
	height: 347px;
	position: absolute;
	top: calc(100% - 2px);
	right: 0;
	background: url(../images/bg-ornament.png) no-repeat right top / contain;
	z-index: -1;
}
.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: flex-end;
}
.jumbotron-title {
	font-size: 3.75rem;
	font-weight: normal;
	color: var(--bs-primary);
	text-shadow: 0 0 10px var(--bs-white), 0 0 20px var(--bs-white), 0 0 30px var(--bs-white), 0 0 40px var(--bs-white);
}
@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: 20%;
	}
}
@media print {
	.jumbotron {
		padding-top: 30px;
		background: none;
	}
	.jumbotron-image {
		display: none;
	}
	.jumbotron-body {
		position: relative;
	}
}

.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 .location + .location {
	margin-top: 2.5rem;
	padding-top: 2.5rem;
	border-top: 1px solid var(--bs-secondary);
}
.map-block .location-info {
	position: relative;
	padding-left: 2.5rem;
}
.map-block .location-info:before {
	content: '\e917';
	width: 1em;
	position: absolute;
	left: 0;
	font-family: wws-icons;
	font-size: 2.25rem;
	color: var(--bs-secondary);
	line-height: 1.2;
	display: inline-block;
}
.map-block .location-title {
	font-size: 2.25rem;
	color: var(--bs-secondary);
}
.map-block .location-definition dt {
	font-weight: normal;
}
.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: wws-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 {
	font-size: 1.1875rem;
}
.text-block-image {
	margin-bottom: 1.5rem;
	border-radius: 20px;
}
@media (min-width: 576px) {
	.text-block > .container {
		display: flex;
	}
	.text-block > .container:before {
		content: '';
		margin-top: -0.75rem;
		margin-bottom: -0.75rem;
		margin-right: 1rem;
		border-left: 1px solid var(--bs-primary);
	}
	.text-block > .container > * {
		flex-basis: 0;
		flex-grow: 1;
	}
}
@media (min-width: 992px) {
	.text-block {
		--text-block-bg-size: 500px;
	}
	.text-block:before {
		content: '';
		width: var(--text-block-bg-size);
		height: calc(var(--text-block-bg-size) * 1.37);
		position: absolute;
		top: 50px;
		right: 0;
		background-image: url(../../images/bg.png);
		background-position: right top;
		background-repeat: no-repeat;
		background-size: contain;
	}
	.text-block ~ .text-block:before {
		display: none;
	}
	.text-block > .container:before {
		margin-top: -1.5rem;
		margin-bottom: -1.5rem;
		margin-right: 2rem;
	}
	.text-block-image:last-child {
		margin-bottom: 0;
	}
}
@media (min-width: 1200px) {
	.text-block {
		--text-block-bg-size: 600px;
	}
}
@media (min-width: 1600px) {
	.text-block {
		--text-block-bg-size: 800px;
	}
}

/* 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;
}

.section.tab .nav-anchors {
	margin-bottom: -0.5rem;
	font-size: 1.25rem;
	font-weight: 500;
}
.section.tab .nav-anchors .nav-link {
	padding: 0.25rem 0;
	color: var(--bs-primary);
}
.section.tab .nav-anchors .nav-item {
	margin-bottom: 0.5rem;
}
.section.tab .nav-anchors .nav-item:not(:last-child) {
	margin-right: 1.5rem;
	padding-right: 1.5rem;
	border-right: 1px solid var(--bs-primary);
}
@media (min-width: 992px) {
	.section.tab .nav-anchors .nav-item:not(:last-child) {
		margin-right: 2.25rem;
		padding-right: 2.25rem;
	}
}


/* page specific styles */
.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: wws-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;
}

.accordion button[data-toggle="collapse"] {
	white-space: normal;
}