@charset "UTF-8";
/*!
Theme Name: Jifitness Theme
Theme URI: http://underscores.me/
Author: Jean, Marie
Author URI: https://jifitness-studio.com/
Description: A custom theme for Jifitness
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: jifitness
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Jifitness Theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	        text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #4f4f4f;
	font-family: "Roboto", "Noto Sans TC", "PingFang TC", "Heiti TC", "Microsoft JhengHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	color: #07699E;
	font-weight: 700;
	font-family: "Zen Maru Gothic", "Noto Serif TC", "PingFang TC", "Microsoft JhengHei", "Heiti TC", "PMingLiU", serif;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

.default-card {
	background: #fff;
	padding: 1rem;
	margin-bottom: 2rem;
	border-radius: 1rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.default-card img {
	width: 100%;
	height: 180px;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center 25%;
	   object-position: center 25%;
	border-radius: 0.5rem;
}
@media (min-width: 48em) {
	.default-card {
		width: 220px;
	}
}
@media (min-width: 48em) and (min-width: 64em) {
	.default-card {
		width: 300px;
	}
}
@media (min-width: 48em) and (min-width: 80em) {
	.default-card {
		width: 380px;
	}
}
@media (min-width: 48em) and (min-width: 90em) {
	.default-card {
		width: 420px;
	}
}
@media (min-width: 48em) {
	.default-card img {
		height: 250px;
	}
}
@media (min-width: 48em) and (min-width: 64em) {
	.default-card img {
		height: 300px;
	}
}
@media (min-width: 48em) and (min-width: 80em) {
	.default-card img {
		height: 380px;
	}
}
@media (min-width: 48em) and (min-width: 90em) {
	.default-card img {
		height: 420px;
	}
}

/* Links
--------------------------------------------- */
a {
	color: #4f4f4f;
	text-decoration: none;
}
a:visited {
	color: #4f4f4f;
}
a:hover, a:focus, a:active {
	color: #4f4f4f;
	text-decoration: underline;
}
a:focus {
	outline: thin dotted;
}
a:hover, a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type=button],
input[type=reset],
input[type=submit] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
	border-color: #ccc #bbb #aaa;
}
button:active, button:focus,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:active,
input[type=submit]:focus {
	border-color: #aaa #bbb #bbb;
}

.default-btn {
	background-color: #fff;
	border-radius: 20px;
	border: solid 1px #06547E;
	color: #06547E;
	margin-bottom: 1rem;
	padding: 0.5rem 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	cursor: pointer;
}
.default-btn svg {
	fill: #06547E;
}

.default-btn:visited {
	color: #06547E;
}

.default-btn:hover {
	background: #06547E;
	color: #fff;
	transition: all 0.3s ease-in-out;
	text-decoration: none;
}
.default-btn:hover svg {
	fill: #fff;
}

.default-btn:disabled {
	background: #D2D2D2;
	color: #fff;
	border: none;
	cursor: not-allowed;
}
.default-btn:disabled svg {
	fill: #fff;
}

.site-footer {
	position: relative;
}

.floating-btn {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 999;
	width: 3rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
}
.floating-btn .scroll-top {
	background: #fff;
	border: 1px solid #06547E;
	cursor: pointer;
	transition: all ease 0.3s;
	opacity: 0;
	padding: 0;
	color: #06547E;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
}
.floating-btn .toggle-btn {
	background: #06547E;
	color: #fff;
	padding: 0;
	border-radius: 50%;
	width: 3rem;
	height: 3rem;
	font-size: 1.5rem;
	border: none;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	position: relative;
}
.floating-btn .toggle-btn .bar {
	position: absolute;
	width: 1rem;
	height: 2px;
	background-color: white;
	transition: all 0.3s ease;
}
.floating-btn .toggle-btn .bar1 {
	transform: rotate(0deg);
}
.floating-btn .toggle-btn .bar2 {
	transform: rotate(90deg);
}
.floating-btn .floating-menu {
	display: flex !important;
	flex-direction: column-reverse !important;
	align-items: center;
	gap: 0.75rem;
	margin-top: 1rem;
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	visibility: hidden;
}
.floating-btn .floating-menu.active {
	max-height: 500px;
	opacity: 1;
	visibility: visible;
}
.floating-btn .floating-menu a:last-child {
	writing-mode: vertical-rl;
	color: #06547E;
	padding: 1rem 0.5rem;
	background-color: #fff;
	text-decoration: none;
	border: 1px solid #06547E;
	border-radius: 24px;
	letter-spacing: 0.2rem;
}
.floating-btn .floating-menu a {
	height: -moz-fit-content;
	height: fit-content;
}
.floating-btn .floating-menu svg {
	width: 3rem;
	height: 3rem;
	border-radius: 24px;
	cursor: pointer;
}
@media (min-width: 80em) {
	.floating-btn {
		top: 15rem;
	}
	.floating-btn .toggle-btn {
		display: none;
	}
	.floating-btn .floating-menu {
		display: flex;
		max-height: initial;
		opacity: 1;
		visibility: visible;
	}
}

/* 點開的狀態 */
.floating-btn.active .toggle-btn .bar1 {
	transform: rotate(45deg);
}

.floating-btn.active .toggle-btn .bar2 {
	transform: rotate(-45deg);
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
.blog .site,
.single-post .site,
.archive.category .site,
.archive.date .site,
.archive.author .site,
.archive.tag .site {
	background-color: #FBFCF8;
	display: grid;
	grid-template-columns: auto;
	grid-template-areas: "header" "banner" "main" "sidebar" "footer";
}
.blog .banner,
.single-post .banner,
.archive.category .banner,
.archive.date .banner,
.archive.author .banner,
.archive.tag .banner {
	grid-area: banner;
}
.blog .site-header,
.single-post .site-header,
.archive.category .site-header,
.archive.date .site-header,
.archive.author .site-header,
.archive.tag .site-header {
	grid-area: header;
}
.blog .cotent-container,
.single-post .cotent-container,
.archive.category .cotent-container,
.archive.date .cotent-container,
.archive.author .cotent-container,
.archive.tag .cotent-container {
	grid-area: main;
	overflow: hidden;
	width: 100%;
	padding-left: 1rem;
	padding-right: 1rem;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 30em) {
	.blog .cotent-container,
	.single-post .cotent-container,
	.archive.category .cotent-container,
	.archive.date .cotent-container,
	.archive.author .cotent-container,
	.archive.tag .cotent-container {
		max-width: 480px;
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}
@media (min-width: 48em) {
	.blog .cotent-container,
	.single-post .cotent-container,
	.archive.category .cotent-container,
	.archive.date .cotent-container,
	.archive.author .cotent-container,
	.archive.tag .cotent-container {
		max-width: 768px;
		padding-left: 2rem;
		padding-right: 2rem;
		display: flex;
		gap: 1rem;
	}
	.blog .cotent-container .site-main,
	.single-post .cotent-container .site-main,
	.archive.category .cotent-container .site-main,
	.archive.date .cotent-container .site-main,
	.archive.author .cotent-container .site-main,
	.archive.tag .cotent-container .site-main {
		flex: 0 0 64%;
	}
	.blog .cotent-container .widget-area,
	.single-post .cotent-container .widget-area,
	.archive.category .cotent-container .widget-area,
	.archive.date .cotent-container .widget-area,
	.archive.author .cotent-container .widget-area,
	.archive.tag .cotent-container .widget-area {
		flex: 0 0 36%;
	}
}
@media (min-width: 64em) {
	.blog .cotent-container,
	.single-post .cotent-container,
	.archive.category .cotent-container,
	.archive.date .cotent-container,
	.archive.author .cotent-container,
	.archive.tag .cotent-container {
		max-width: 1024px;
		gap: 1.5rem;
	}
}
@media (min-width: 80em) {
	.blog .cotent-container,
	.single-post .cotent-container,
	.archive.category .cotent-container,
	.archive.date .cotent-container,
	.archive.author .cotent-container,
	.archive.tag .cotent-container {
		max-width: 1280px;
	}
	.blog .cotent-container .widget-area,
	.single-post .cotent-container .widget-area,
	.archive.category .cotent-container .widget-area,
	.archive.date .cotent-container .widget-area,
	.archive.author .cotent-container .widget-area,
	.archive.tag .cotent-container .widget-area {
		flex: 0 0 30%;
	}
}
@media (min-width: 90em) {
	.blog .cotent-container,
	.single-post .cotent-container,
	.archive.category .cotent-container,
	.archive.date .cotent-container,
	.archive.author .cotent-container,
	.archive.tag .cotent-container {
		max-width: 1440px;
		gap: 2.5rem;
	}
}
.blog .site-footer,
.single-post .site-footer,
.archive.category .site-footer,
.archive.date .site-footer,
.archive.author .site-footer,
.archive.tag .site-footer {
	grid-area: footer;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
body {
	padding-top: 64px;
}
@media (min-width: 48em) {
	body {
		padding-top: 80px;
	}
}
@media (min-width: 80em) {
	body {
		padding-top: 120px;
	}
}

/* Hamburger. */
.menu-toggle {
	background-color: transparent;
	border: none;
}
.menu-toggle svg {
	fill: #fff;
	width: 24px;
}

/* Sub menu arrow styles */
.sub-menu-toggle {
	position: relative;
	width: 24px;
	height: 24px;
	border: none;
	background: transparent;
	cursor: pointer;
	padding: 0;
	margin: 0.5rem;
}

.sub-menu-toggle .toggle-icon {
	display: block;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 8px solid currentColor;
	transition: transform 0.3s ease;
	margin: 0 auto;
	color: #fff;
}

/* open mode - arrow turn up */
.sub-menu-toggle[aria-expanded=true] .toggle-icon {
	transform: rotate(180deg);
}

/* ======================== Header menu ======================= */
/* ---------------------------------------.site-header */
.site-header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 999;
	background-color: black;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	transition: background-color 0.3s ease, -webkit-backdrop-filter 0.3s ease;
	transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
	transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease;
}
.site-header.transparent {
	background-color: rgba(255, 255, 255, 0.6);
	-webkit-backdrop-filter: blur(8px);
	        backdrop-filter: blur(8px);
}

.header-custom-logo {
	height: 48px;
	width: 48px;
	margin: 0.5rem;
}
.header-custom-logo svg {
	height: 100%;
	width: 100%;
}

.site-branding {
	display: flex;
	align-items: end;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1440px;
}
.site-branding .site-description {
	margin: 0.5rem;
	padding: 0;
	list-style: none;
	color: #fff;
	font-size: 0.75rem;
}
@media (min-width: 48em) {
	.site-branding {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
		padding-left: 0.5rem;
	}
}

/* ---------------------------------------.main-navigation */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

.main-navigation {
	align-content: center;
	display: block;
}
.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
	font-weight: 400;
}
.main-navigation ul:first-child > li:first-child {
	display: none;
}
.main-navigation a {
	display: block;
	text-decoration: none;
	color: white;
}
.main-navigation a:visited {
	color: white;
}
.main-navigation li a {
	padding: 0.5rem 1rem;
}
.main-navigation li a svg {
	fill: white;
}
.main-navigation .menu-header-container {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	width: 100%;
	background-color: #333;
	transition: background-color 0.3s ease, -webkit-backdrop-filter 0.3s ease;
	transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
	transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease;
}
.main-navigation .menu-header-container > ul {
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 80em) {
	.main-navigation .menu-header-container > ul {
		padding: 0 1rem;
	}
}
.main-navigation .menu-header-container.transparent {
	background-color: rgba(255, 255, 255, 0.6);
	-webkit-backdrop-filter: blur(8px);
	        backdrop-filter: blur(8px);
}

.main-navigation ul ul,
.main-navigation ul ul li,
.main-navigation ul ul li a {
	width: 100%;
}

/* -------------------------------Small menu.(Mobile, Tablet)-------*/
.main-navigation ul ul {
	position: static;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-in-out;
	background-color: #5a5959;
}

.menu-header-container .menu-item-has-children {
	display: grid;
	grid-template-columns: 1fr auto;
}
.menu-header-container .menu-item-has-children .sub-menu {
	grid-column-start: 1;
	grid-column-end: 3;
	font-weight: 200;
}

/* 點擊箭頭展開 */
.menu-header-container .menu-item-has-children .sub-menu-toggle[aria-expanded=true] + ul {
	max-height: 15rem;
}

/* -----------------------------------Laptop, Desktop Menu-------*/
@media (min-width: 80em) {
	.main-navigation ul:first-child > li:first-child {
		display: initial;
	}
	.main-navigation ul:first-child > li:first-child a {
		height: 40px;
	}
	.site-branding {
		padding-left: 1rem;
	}
	.menu-toggle {
		display: none;
	}
	.main-navigation .sub-menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: flex;
		align-items: center;
		gap: 1rem;
	}
	.main-navigation ul ul {
		background-color: #5a5959;
	}
	.main-navigation li {
		position: relative;
	}
	.menu-header-container .menu-item-has-children {
		display: block;
	}
	.main-navigation ul ul {
		position: absolute;
		top: 100%;
		left: 0;
		display: block;
		padding: 0;
		width: -moz-max-content;
		width: max-content;
		z-index: 999;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.3s ease-in-out;
		pointer-events: none;
	}
	.main-navigation li:hover > ul {
		max-height: 15rem;
		pointer-events: auto;
	}
}
@media screen and (min-width: 1440px) {
	.menu-header-container > ul {
		padding: 0;
	}
}
/* ======================== Footer menu ======================= */
.site-footer {
	background-color: #333;
}
.site-footer a {
	color: #fff;
}

.site-footer hr {
	margin-top: 1rem;
	margin-bottom: 1rem;
	border-color: #e5e7eb;
}

.footer-menus {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 1rem;
	padding-bottom: 0;
}

.footer-logo {
	margin-top: 1rem;
	padding-left: 0.5rem;
}
.footer-logo svg {
	height: 5rem;
	width: auto;
}
.footer-logo .site-description {
	margin: 1.5rem 0 0 0;
	color: #fff;
	list-style: none;
	padding: 0;
}

/* ---------------------------------------.menu-social-media-container */
.menu-footer-social-media-container {
	margin-top: 1.75rem;
	padding-left: 0.5rem;
}
.menu-footer-social-media-container #menu-footer-social-media {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
}
.menu-footer-social-media-container img {
	height: 5rem;
	margin: 1.5rem 0;
}
.menu-footer-social-media-container .menu-item-social svg {
	width: 2.5rem;
	height: 2.5rem;
}

.menu-item-social.menu-item-google-form a {
	padding: 0.5rem 1.25rem;
	border: 1px solid #ffffff;
	border-radius: 2rem;
	background-color: transparent;
	text-decoration: none;
	color: #fff;
}

.contact-info {
	color: #fff;
}

.menu-footer-social-media-container ul,
.menu-footer-sitemap-container ul,
.footer-certificate ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ---------------------------------------.menu-footer-sitemap-container */
.menu-footer-sitemap-container {
	margin-top: 1.75rem;
}
.menu-footer-sitemap-container a {
	display: block;
	width: 100%;
	padding: 0.5rem;
	text-decoration: none;
	color: #fff;
}
.menu-footer-sitemap-container a:visited {
	color: #fff;
}
.menu-footer-sitemap-container a:hover {
	text-decoration: underline;
}

.menu-footer-sitemap-container > ul > li {
	font-weight: 600;
}

.menu-footer-sitemap-container > ul > li:not(:last-child) {
	border-bottom: 1px solid #ffffff;
}

.menu-footer-sitemap-container > ul > li > ul > li {
	font-weight: 200;
}

/* 預設收起 */
.menu-footer-sitemap-container ul ul {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-in-out;
}

/* 按鈕 aria-expanded true 時展開 */
.menu-footer-sitemap-container .menu-item-has-children .sub-menu-toggle[aria-expanded=true] + ul {
	max-height: 15rem;
}

.menu-footer-sitemap-container .menu-item-has-children {
	display: grid;
	grid-template-columns: 1fr auto;
}

/* ---------------------------------------.footer-certificate */
.footer-certificate {
	margin-top: 1.75rem;
	padding-left: 0.5rem;
	border-top: 1px solid #fff;
}
.footer-certificate h2 {
	font-size: medium;
	color: #fff;
}
.footer-certificate ul {
	display: flex;
	gap: 1rem;
}
.footer-certificate img {
	height: 5rem;
}

/* ---------------------------------------.site-info */
.site-info {
	padding-bottom: 1rem;
}
.site-info p {
	color: #fff;
	text-align: center;
	margin: 0;
}

@media screen and (min-width: 600px) {
	.footer-menus {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.footer-logo {
		border-right: 1px solid #ffffff;
	}
	.menu-footer-social-media-container {
		margin-top: 1rem;
		padding: 0 0 1rem 1rem;
	}
	.menu-footer-social-media-container #menu-footer-social-media {
		gap: 1.5rem;
		padding-bottom: 0.5rem;
	}
	.menu-footer-sitemap-container {
		grid-column-start: 1;
		grid-column-end: 3;
		height: -moz-max-content;
		height: max-content;
		border-top: 1px solid #ffffff;
		padding-top: 1rem;
		margin-top: 0;
	}
	.menu-footer-sitemap-container > ul {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.menu-footer-sitemap-container #menu-item-85 {
		grid-column-start: 1;
		grid-column-end: 2;
		grid-row-start: 2;
	}
	.menu-footer-sitemap-container .sub-menu-toggle {
		display: none;
	}
	.menu-footer-sitemap-container .menu-item-has-children {
		display: block;
	}
	.menu-footer-sitemap-container ul ul {
		overflow: unset;
		transition: none;
		max-height: none;
	}
	.menu-footer-sitemap-container > ul > li:not(:last-child) {
		border-bottom: 0px;
	}
	.footer-certificate {
		grid-column-start: 1;
		grid-column-end: 3;
	}
}
@media (min-width: 640px) {
	.site-footer hr {
		margin-left: auto;
		margin-right: auto;
	}
}
@media (min-width: 48em) {
	.footer-logo svg,
	.menu-footer-social-media-container img,
	.footer-certificate img {
		height: 6.5rem;
	}
	.menu-footer-social-media-container .menu-item-social svg {
		width: 3rem;
		height: 3rem;
	}
	.menu-item-social.menu-item-google-form a {
		padding: 0.75rem 1.5rem;
	}
}
@media screen and (min-width: 1024px) {
	.footer-menus {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-template-rows: auto 1fr;
		max-width: 1440px;
		margin-left: auto;
		margin-right: auto;
	}
	.footer-logo {
		padding-top: 0.5rem;
		grid-column-start: 1;
		grid-column-end: 2;
		grid-row-start: 1;
		grid-row-end: 3;
	}
	.menu-footer-social-media-container {
		border-right: 1px solid #ffffff;
		padding: 0.5rem 1rem 1rem 1rem;
		grid-column-start: 2;
		grid-column-end: 3;
		grid-row-start: 1;
		grid-row-end: 3;
	}
	.menu-footer-sitemap-container {
		border-top: 0;
		padding-left: 1rem;
		padding-top: 0;
		margin-top: 1rem;
		grid-column-start: 3;
		grid-column-end: 5;
		grid-row-start: 1;
		grid-row-end: 2;
	}
	.menu-footer-sitemap-container ul {
		height: -moz-max-content;
		height: max-content;
	}
	.menu-footer-sitemap-container li {
		width: -moz-max-content;
		width: max-content;
	}
	.footer-certificate {
		padding-left: 1rem;
		margin-bottom: 1rem;
		grid-column-start: 3;
		grid-column-end: 5;
		grid-row-start: 2;
		grid-row-end: 3;
	}
	.site-footer hr {
		margin-top: 0;
		margin-bottom: 1rem;
	}
}
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
	flex-wrap: wrap;
}
.comment-navigation .nav-links .nav-previous,
.comment-navigation .nav-links .nav-next,
.posts-navigation .nav-links .nav-previous,
.posts-navigation .nav-links .nav-next,
.post-navigation .nav-links .nav-previous,
.post-navigation .nav-links .nav-next {
	width: -moz-fit-content;
	width: fit-content;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

.manifesto-heading {
	text-align: center;
	font-size: 1.75rem;
	font-weight: bold;
}
.manifesto-heading span {
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
	margin-top: 0.5rem;
}
@media (min-width: 48em) {
	.manifesto-heading {
		font-size: 2.25rem;
	}
	.manifesto-heading span {
		font-size: 1.75rem;
	}
}

.manifesto-section {
	text-align: center;
	padding: 2rem;
	margin: 0 auto;
}
.manifesto-section h3 {
	font-size: 1.5rem;
	margin: 2rem 0rem 0rem;
	font-weight: bold;
	padding: 0 1rem;
}
.manifesto-section p {
	font-size: 1rem;
	padding: 0 1rem;
	text-align: left;
}
@media (min-width: 30em) {
	.manifesto-section h3 {
		font-size: 2rem;
	}
	.manifesto-section p {
		text-align: center;
	}
}
@media (min-width: 48em) {
	.manifesto-section p {
		font-size: 1.25rem;
	}
}
@media (min-width: 64em) {
	.manifesto-section h3 {
		font-size: 2.25rem;
		margin: 1rem;
	}
	.manifesto-section p {
		font-size: 1.35rem;
		margin: 2rem;
		line-height: 2;
	}
}
.manifesto-section .acf-gallery {
	position: relative;
	height: 300px;
	/* 旋轉角度類別 */
}
@media screen and (min-width: 400px) {
	.manifesto-section .acf-gallery {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
}
@media (min-width: 30em) {
	.manifesto-section .acf-gallery {
		width: initial;
	}
}
@media (min-width: 48em) {
	.manifesto-section .acf-gallery {
		height: 500px;
	}
}
@media (min-width: 64em) {
	.manifesto-section .acf-gallery {
		height: 420px;
		max-width: 1100px;
	}
}
.manifesto-section .acf-gallery .gallery-item {
	width: 200px;
	height: 200px;
	overflow: hidden;
	position: absolute;
}
.manifesto-section .acf-gallery .gallery-item img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}
.manifesto-section .acf-gallery .gallery-item:hover img {
	transform: scale(1.05);
}
.manifesto-section .acf-gallery .blob-1 {
	clip-path: url(#blob-4);
	width: 110px;
	height: 110px;
	top: 0%;
	left: 5%;
}
@media screen and (min-width: 360px) {
	.manifesto-section .acf-gallery .blob-1 {
		left: 10%;
	}
}
@media (min-width: 30em) {
	.manifesto-section .acf-gallery .blob-1 {
		top: 13%;
		z-index: 4;
	}
}
@media (min-width: 48em) {
	.manifesto-section .acf-gallery .blob-1 {
		width: 200px;
		height: 200px;
		top: 18%;
		left: 5%;
	}
}
@media (min-width: 64em) {
	.manifesto-section .acf-gallery .blob-1 {
		width: 220px;
		height: 220px;
		top: 20%;
		left: 10%;
	}
}
.manifesto-section .acf-gallery .blob-2 {
	clip-path: url(#blob-2);
	width: 180px;
	height: 180px;
	top: 0%;
	left: 30%;
	z-index: 3;
}
@media (min-width: 30em) {
	.manifesto-section .acf-gallery .blob-2 {
		z-index: 0;
	}
}
@media (min-width: 48em) {
	.manifesto-section .acf-gallery .blob-2 {
		width: 300px;
		height: 300px;
	}
}
@media (min-width: 64em) {
	.manifesto-section .acf-gallery .blob-2 {
		width: 360px;
		height: 360px;
		left: 25%;
	}
}
.manifesto-section .acf-gallery .blob-3 {
	clip-path: url(#blob-3);
	width: 140px;
	height: 140px;
	top: 40%;
	left: 10%;
	z-index: 4;
}
@media (min-width: 30em) {
	.manifesto-section .acf-gallery .blob-3 {
		left: 28%;
	}
}
@media (min-width: 48em) {
	.manifesto-section .acf-gallery .blob-3 {
		width: 240px;
		height: 240px;
		top: 48%;
	}
}
@media (min-width: 64em) {
	.manifesto-section .acf-gallery .blob-3 {
		width: 260px;
		height: 260px;
		top: 18%;
		left: 55%;
	}
}
.manifesto-section .acf-gallery .blob-4 {
	clip-path: url(#blob-4);
	width: 120px;
	height: 120px;
	top: 58%;
	left: 51%;
}
@media screen and (min-width: 360px) {
	.manifesto-section .acf-gallery .blob-4 {
		left: 45%;
	}
}
@media screen and (min-width: 400px) {
	.manifesto-section .acf-gallery .blob-4 {
		top: 45%;
		left: 58%;
	}
}
@media (min-width: 30em) {
	.manifesto-section .acf-gallery .blob-4 {
		top: 40%;
	}
}
@media (min-width: 48em) {
	.manifesto-section .acf-gallery .blob-4 {
		width: 200px;
		height: 200px;
		left: 60%;
	}
}
@media (min-width: 64em) {
	.manifesto-section .acf-gallery .blob-4 {
		width: 220px;
		height: 220px;
		top: 10%;
		left: 75%;
	}
}

.page-id-38 .manifesto-btn {
	display: none;
}

.page-id-38 .manifesto-text {
	max-height: initial;
}

.ji-small-deco {
	background-image: url("images/ji-deco.webp");
	padding: 3rem;
	background-size: 30%;
	background-repeat: no-repeat;
	background-position: right 15% bottom 0%;
}
@media (min-width: 30em) {
	.ji-small-deco {
		background-size: 20%;
	}
}
@media (min-width: 48em) {
	.ji-small-deco {
		background-size: 15%;
	}
}
@media (min-width: 64em) {
	.ji-small-deco {
		background-size: 10%;
	}
}
@media (min-width: 80em) {
	.ji-small-deco {
		background-size: 10%;
		background-position: right 25% bottom -2%;
	}
}

.core-values-section {
	padding: 1rem;
	text-align: center;
	max-width: 1200px;
	margin: 0 auto;
}
.core-values-section .core-value-heading {
	text-align: center;
	font-size: 1.75rem;
	font-weight: bold;
}
.core-values-section .core-value-heading span {
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
	margin-top: 0.5rem;
}
@media (min-width: 48em) {
	.core-values-section .core-value-heading {
		font-size: 2.25rem;
	}
	.core-values-section .core-value-heading span {
		font-size: 1.75rem;
	}
}
.core-values-section .core-values-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	justify-content: center;
}
.core-values-section .core-value-item {
	width: 100%;
	max-width: 300px;
	height: 450px;
	padding: 5rem 2rem 2rem;
	border-radius: 1rem;
	background-size: cover;
	background-position: center;
	color: white;
	position: relative;
	overflow: hidden;
	text-align: left;
}
.core-values-section .core-value-item::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	z-index: 1;
}
.core-values-section .core-value-item .core-value-icon,
.core-values-section .core-value-item .core-value-title,
.core-values-section .core-value-item .core-value-text {
	position: relative;
	z-index: 2;
}
.core-values-section .core-value-item .core-value-icon {
	width: 80px;
	height: auto;
	margin-bottom: 1rem;
}
.core-values-section .core-value-item .core-value-title {
	font-size: 1.5rem;
	margin: 0 0 0.5rem;
	color: white;
}
.core-values-section .core-value-item .core-value-text {
	font-size: 1rem;
	line-height: 1.6;
}
@media (min-width: 48em) {
	.core-values-section .core-value-item {
		width: 45%;
	}
}
@media (min-width: 80em) {
	.core-values-section .core-value-item {
		width: 300px;
	}
}

.about-deco {
	background-image: url("images/home-blog-bg.webp");
	background-position: center;
	background-repeat: no-repeat;
	padding-bottom: 15rem;
	background-size: 85%;
	background-position: -1% -5%;
}
@media (min-width: 48em) {
	.about-deco {
		background-position: -1% -5%;
		background-size: 79%;
	}
}
@media (min-width: 64em) {
	.about-deco {
		background-position: -1% -2%;
		background-size: 63%;
	}
}
@media (min-width: 80em) {
	.about-deco {
		background-position: -1% -3%;
		background-size: 51%;
	}
}
@media (min-width: 90em) {
	.about-deco {
		background-position: -1% -10%;
		background-size: 71%;
		padding: 12rem;
	}
}

.coaches-section {
	padding: 0 1.5rem 0;
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}
@media (min-width: 30em) {
	.coaches-section {
		padding: 0 2rem;
	}
}
@media (min-width: 48em) {
	.coaches-section {
		padding: 0 2.5rem;
	}
}

.team-heading {
	text-align: center;
	font-size: 1.75rem;
	font-weight: bold;
}
.team-heading span {
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
	margin-top: 0.5rem;
}
@media (min-width: 48em) {
	.team-heading {
		font-size: 2.25rem;
	}
	.team-heading span {
		font-size: 1.75rem;
	}
}

.coach-nav {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 3rem 0;
}
@media (min-width: 48em) {
	.coach-nav {
		flex-direction: row;
		justify-content: center;
		flex-wrap: wrap;
		margin-bottom: 3rem;
	}
}
.coach-nav .coach-nav-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	text-decoration: none;
	width: 100%;
	max-width: 200px;
	cursor: pointer;
}
.coach-nav .coach-nav-item .coach-avatar-svg {
	width: 100%;
	height: auto;
	display: block;
}
.coach-nav .coach-nav-item .coach-nav-label {
	text-align: center;
	font-size: 0.85rem;
	color: #444;
	margin: 0;
	padding: 0;
	line-height: 1.5;
}
.coach-nav .coach-nav-item .coach-nav-label .coach-title {
	font-weight: 600;
}
.coach-nav .coach-nav-item .coach-nav-label .coach-name {
	display: block;
	color: #333;
}
.coach-nav .coach-nav-item .avatar-border {
	transition: opacity 0.3s ease;
	opacity: 0;
}
.coach-nav .coach-nav-item:hover .avatar-border {
	opacity: 1;
}

.coach-profile {
	max-width: 900px;
	margin: 0 auto 2rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}
.coach-profile .coach-layout {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
@media (min-width: 48em) {
	.coach-profile .coach-layout {
		flex-direction: row;
		align-items: flex-start;
		gap: 4rem;
	}
}
@media (min-width: 80em) {
	.coach-profile .coach-layout {
		gap: 5rem;
	}
}
.coach-profile .coach-layout .coach-left {
	flex: 1;
	text-align: center;
}
.coach-profile .coach-layout .coach-left .coach-title {
	font-size: 1rem;
	color: #666;
	margin: 1rem 0 0;
}
.coach-profile .coach-layout .coach-left .coach-name {
	font-size: 1.5rem;
	margin: 0 0 1rem;
}
.coach-profile .coach-layout .coach-left .coach-photo img {
	width: 100%;
	max-width: 300px;
	height: auto;
	border-radius: 0.5rem;
}
.coach-profile .coach-layout .coach-right {
	flex: 2;
}
.coach-profile .coach-layout .coach-right .coach-info {
	font-size: 1rem;
	line-height: 1.7;
	text-align: left;
}
.coach-profile .coach-layout .coach-right .coach-info ul {
	padding: 0 0 0 1rem;
}
.coach-profile .coach-layout .coach-right .coach-info p {
	margin-bottom: 1rem;
}
.coach-profile .coach-layout .coach-right .coach-info ::marker {
	color: #179EC8;
}
@media (min-width: 30em) {
	.coach-profile .coach-layout .coach-right .coach-info {
		padding: 0 3rem;
	}
}
@media (min-width: 48em) {
	.coach-profile .coach-layout .coach-right .coach-info {
		padding: 0rem;
	}
}
.coach-profile .coach-quote-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin: 2rem 0;
	padding: 1rem;
	color: #444;
	background-color: #fff;
	border-radius: 0.75rem;
}
.coach-profile .coach-quote-block .quote-icon {
	width: 40px;
	flex-shrink: 0;
	opacity: 0.7;
	filter: grayscale(100%);
}
.coach-profile .coach-quote-block .quote-icon .quote-icon-img {
	width: 100%;
	height: auto;
	display: block;
}
.coach-profile .coach-quote-block .quote-content {
	flex: 1;
	text-align: center;
}
.coach-profile .coach-quote-block .quote-content .quote-text {
	font-size: 1rem;
	line-height: 1.8;
	margin-bottom: 0.75rem;
	color: #444;
}
.coach-profile .coach-quote-block .quote-content .quote-author {
	font-size: 0.9rem;
	font-weight: 500;
	color: #383838;
}
@media (min-width: 30em) {
	.coach-profile .coach-quote-block {
		flex-direction: column;
		align-items: flex-start;
		padding: 2rem 2rem 1rem;
	}
	.coach-profile .coach-quote-block .quote-content .quote-text {
		text-align: left;
	}
	.coach-profile .coach-quote-block .quote-content .quote-author {
		text-align: right;
		margin-top: 0.5rem;
	}
}
@media (min-width: 48em) {
	.coach-profile .coach-quote-block {
		padding: 2.5rem 4rem 1rem;
	}
	.coach-profile .coach-quote-block .quote-content .quote-text {
		font-size: 1.2rem;
		padding-left: 2rem;
	}
	.coach-profile .coach-quote-block .quote-content .quote-author {
		font-size: 1rem;
		margin-top: 0.5rem;
	}
}
.coach-profile .coach-cert-swiper {
	margin-top: 2rem;
}

.coach-cert-swiper {
	position: relative;
	overflow: hidden;
	padding: 2rem 0;
	padding-left: 0;
	padding-right: 0;
}
.coach-cert-swiper .swiper-wrapper {
	display: flex;
}
.coach-cert-swiper .cert-slide {
	width: 100% !important;
	flex: 0 0 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	overflow: hidden;
	padding-left: 0;
	padding-right: 0;
}
.coach-cert-swiper .cert-slide .cert-content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	background: #fff;
	border-radius: 0.75rem;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	padding: 1rem;
}
.coach-cert-swiper .cert-slide .cert-content .cert-image {
	text-align: center;
}
.coach-cert-swiper .cert-slide .cert-content .cert-image img {
	width: 70%;
	height: auto;
	display: block;
	margin: 0 auto;
	aspect-ratio: 1/1;
	-o-object-fit: cover;
	   object-fit: cover;
}
.coach-cert-swiper .cert-slide .cert-content .cert-text {
	text-align: left;
}
.coach-cert-swiper .cert-slide .cert-content .cert-text .cert-title {
	font-size: 1.125rem;
	font-weight: bold;
	margin: 0rem;
	color: #0072bc;
}
.coach-cert-swiper .cert-slide .cert-content .cert-text .cert-desc {
	font-size: 0.9rem;
	line-height: 1.6;
	color: #333;
}
.coach-cert-swiper .cert-slide .cert-content .swiper-nav {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin-top: 1rem;
	position: static !important;
}
.coach-cert-swiper .cert-slide .cert-content .swiper-nav .swiper-button-prev,
.coach-cert-swiper .cert-slide .cert-content .swiper-nav .swiper-button-next {
	width: 48px;
	height: 48px;
	background: #6a6a6a;
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	cursor: pointer;
	position: static !important;
	transition: background-color 0.3s ease;
}
.coach-cert-swiper .cert-slide .cert-content .swiper-nav .swiper-button-prev::after,
.coach-cert-swiper .cert-slide .cert-content .swiper-nav .swiper-button-next::after {
	content: "";
	font-size: 1.25rem;
}
.coach-cert-swiper .cert-slide .cert-content .swiper-nav .swiper-button-prev:hover,
.coach-cert-swiper .cert-slide .cert-content .swiper-nav .swiper-button-next:hover {
	background-color: #000;
}
.coach-cert-swiper .cert-slide .cert-content .swiper-nav .swiper-button-prev::after {
	content: "←";
}
.coach-cert-swiper .cert-slide .cert-content .swiper-nav .swiper-button-next::after {
	content: "→";
}
@media (min-width: 30em) {
	.coach-cert-swiper .cert-slide .cert-content .cert-image {
		width: 50%;
		height: auto;
		display: block;
		margin: 0 auto;
	}
	.coach-cert-swiper .cert-slide .cert-content .cert-title {
		text-align: center;
	}
}
@media (min-width: 48em) {
	.coach-cert-swiper .cert-slide .cert-content {
		flex-direction: row;
		align-items: center;
		padding: 2rem;
	}
	.coach-cert-swiper .cert-slide .cert-content .cert-image {
		width: 160px;
	}
	.coach-cert-swiper .cert-slide .cert-content .cert-text {
		flex: 1;
		min-width: 0;
		padding-left: 2rem;
	}
	.coach-cert-swiper .cert-slide .cert-content .swiper-nav {
		flex-direction: column;
		justify-content: center;
		margin-left: 1rem;
		gap: 2rem;
	}
}

html {
	scroll-behavior: smooth;
}

.studio-environment-gallery {
	padding: 0 1rem 0;
	max-width: 1200px;
	margin: 0 auto;
}
.studio-environment-gallery .studio-env-heading {
	text-align: center;
	font-size: 1.75rem;
	font-weight: bold;
}
.studio-environment-gallery .studio-env-heading span {
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
	margin-top: 0.5rem;
}
@media (min-width: 48em) {
	.studio-environment-gallery .studio-env-heading {
		font-size: 2.25rem;
	}
	.studio-environment-gallery .studio-env-heading span {
		font-size: 1.75rem;
	}
}
.studio-environment-gallery .gallery-grid {
	-moz-column-count: 1;
	     column-count: 1;
	-moz-column-gap: 1.5rem;
	     column-gap: 1.5rem;
}
@media (min-width: 48em) {
	.studio-environment-gallery .gallery-grid {
		-moz-column-count: 2;
		     column-count: 2;
		margin: 0 4rem;
	}
}
@media (min-width: 64em) {
	.studio-environment-gallery .gallery-grid {
		-moz-column-count: 3;
		     column-count: 3;
	}
}
.studio-environment-gallery .gallery-item {
	position: relative;
	-moz-column-break-inside: avoid;
	     break-inside: avoid;
	margin-bottom: 2rem;
	overflow: hidden;
	border-radius: 10px;
}
.studio-environment-gallery .gallery-item img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 10px;
}
.studio-environment-gallery .gallery-item::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 40%;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
	z-index: 1;
}
.studio-environment-gallery .gallery-item .image-caption {
	position: absolute;
	bottom: 0.5rem;
	left: 0;
	width: 100%;
	padding: 0 1rem;
	font-size: 0.9rem;
	color: #fff;
	text-align: center;
	z-index: 2;
	line-height: 1.4;
}
.studio-environment-gallery .studio-swiper {
	display: block;
}
.studio-environment-gallery .studio-swiper .swiper-slide {
	width: 80%;
	max-width: 320px;
	aspect-ratio: 4/5;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}
.studio-environment-gallery .studio-swiper .swiper-slide img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center;
	   object-position: center;
	display: block;
}
.studio-environment-gallery .studio-swiper .swiper-slide .image-caption {
	position: absolute;
	bottom: 0.5rem;
	left: 0;
	width: 90%;
	padding: 0 1rem;
	font-size: 0.9rem;
	color: #fff;
	text-align: center;
	z-index: 2;
	line-height: 1.4;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent);
}
.studio-environment-gallery .gallery-grid {
	display: none;
}
@media (min-width: 48em) {
	.studio-environment-gallery .studio-swiper {
		display: none;
	}
	.studio-environment-gallery .gallery-grid {
		display: block;
		-moz-column-count: 2;
		     column-count: 2;
	}
}
@media (min-width: 48em) and (min-width: 64em) {
	.studio-environment-gallery .gallery-grid {
		-moz-column-count: 3;
		     column-count: 3;
	}
}

.studio-rates-heading {
	text-align: center;
	font-size: 1.75rem;
	font-weight: bold;
	margin: 3rem 0 0;
}
.studio-rates-heading span {
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
	margin-top: 0.5rem;
}
@media (min-width: 48em) {
	.studio-rates-heading {
		font-size: 2.25rem;
	}
	.studio-rates-heading span {
		font-size: 1.75rem;
	}
}

.facility-features {
	background-color: #f9f9f9;
}
.facility-features .container {
	max-width: 800px;
	margin: 0 auto;
}
.facility-features ul.features-grid {
	padding: 0;
}
.facility-features .features-grid {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	margin: 1rem;
}
@media (min-width: 30em) {
	.facility-features .features-grid {
		margin: 1rem 2rem;
	}
}
@media (min-width: 48em) {
	.facility-features .features-grid {
		grid-template-columns: repeat(4, 1fr);
		margin: 1rem;
	}
}
.facility-features .feature-item {
	background-color: #fff;
	padding: 2rem 1rem 0;
	text-align: center;
	border-radius: 8px;
	transition: background 0.3s ease;
	cursor: default;
}
.facility-features .feature-item .icon {
	height: 40px;
	margin-bottom: 1rem;
}
.facility-features .feature-item .icon img {
	max-height: 100%;
	filter: grayscale(1);
	opacity: 0.6;
	transition: all 0.3s ease;
}
.facility-features .feature-item p {
	font-size: 0.8rem;
	color: #444;
	transition: color 0.3s ease;
}
@media (min-width: 48em) {
	.facility-features .feature-item p {
		font-size: 1rem;
	}
}
.facility-features .feature-item:hover {
	background-color: #333;
}
.facility-features .feature-item:hover .icon img {
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(180deg);
	opacity: 1;
}
.facility-features .feature-item:hover p {
	color: #fff;
}

.contact-section {
	padding: 0rem 0.5rem 2rem;
}
.contact-section .contact-heading {
	text-align: center;
	font-size: 1.75rem;
	font-weight: bold;
}
.contact-section .contact-heading span {
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
	margin: 0.5rem 0 1rem;
}
@media (min-width: 48em) {
	.contact-section .contact-heading {
		font-size: 2.25rem;
	}
	.contact-section .contact-heading span {
		font-size: 1.75rem;
	}
}
.contact-section .contact-wrapper {
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	gap: 1.5rem;
	padding-inline: 0.5rem;
}
@media (min-width: 48em) {
	.contact-section .contact-wrapper {
		flex-direction: row;
		align-items: flex-start;
		padding-inline: 1.5rem;
	}
}
@media (min-width: 64em) {
	.contact-section .contact-wrapper {
		padding-inline: 4rem;
		gap: 1rem;
	}
}
@media (min-width: 80em) {
	.contact-section .contact-wrapper {
		padding-inline: 10rem;
	}
}
.contact-section .contact-left {
	flex: 1;
}
.contact-section .contact-left .contact-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.contact-section .contact-left .contact-list .contact-item {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}
.contact-section .contact-left .contact-list .contact-item .icon {
	width: 1.5rem;
	flex-shrink: 0;
}
.contact-section .contact-left .contact-list .contact-item .icon svg {
	display: block;
	width: 100%;
	height: auto;
}
@media (min-width: 64em) {
	.contact-section .contact-left .contact-list .contact-item .icon {
		width: 1.8rem;
	}
}
.contact-section .contact-left .contact-list .contact-item .info span {
	font-weight: 700;
	font-size: 1rem;
	display: block;
	margin-bottom: 0.4rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #333;
}
@media (min-width: 64em) {
	.contact-section .contact-left .contact-list .contact-item .info span {
		font-size: 1.2rem;
	}
}
.contact-section .contact-left .contact-list .contact-item .info p,
.contact-section .contact-left .contact-list .contact-item .info a {
	font-size: 0.9rem;
	margin: 0;
	line-height: 1.5;
	color: #000;
	text-decoration: none;
}
@media (min-width: 64em) {
	.contact-section .contact-left .contact-list .contact-item .info p,
	.contact-section .contact-left .contact-list .contact-item .info a {
		font-size: 1.1rem;
	}
}
.contact-section .contact-left .contact-list .contact-item .info .line-qrcode {
	width: 5rem;
	margin-top: 0.5rem;
}
@media (min-width: 48em) {
	.contact-section .contact-left {
		flex: 0 1 40%;
	}
}
.contact-section .contact-right {
	flex: 1;
}
.contact-section .contact-right .contact-image-wrapper {
	position: relative;
}
.contact-section .contact-right .contact-image-wrapper img {
	width: 100%;
	border-radius: 0 1rem 0 0;
	display: block;
}
@media (min-width: 64em) {
	.contact-section .contact-right .contact-image-wrapper img {
		margin: 0 1rem 0 2rem;
		width: 95%;
	}
}
.contact-section .contact-right .contact-image-wrapper .contact-slogan {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	text-align: right;
	color: #07699E;
	font-weight: 800;
	font-size: 2rem;
	line-height: 1.3;
	z-index: 2;
	padding: 0.75rem 1.25rem;
	background-color: rgba(255, 255, 255, 0.7);
	border-radius: 0.5rem;
}
.contact-section .contact-right .contact-image-wrapper .contact-slogan p {
	margin: 0;
}
@media (min-width: 48em) {
	.contact-section .contact-right .contact-image-wrapper .contact-slogan {
		display: none;
	}
}
.contact-section .contact-right .contact-slogan-below {
	display: none;
}
@media (min-width: 48em) {
	.contact-section .contact-right .contact-slogan-below {
		display: block;
		position: relative;
		padding: 0 1rem 0 0;
		margin-top: -5rem;
		z-index: 2;
		border-radius: 0 0 1rem 1rem;
		text-align: right;
		font-size: 4rem;
		font-weight: 800;
		color: #07699E;
		line-height: 1.2;
		text-shadow: 5px 3px 0px rgba(255, 255, 255, 0.942);
	}
}
@media (min-width: 48em) and (min-width: 64em) {
	.contact-section .contact-right .contact-slogan-below {
		font-size: 4rem;
	}
}
@media (min-width: 48em) and (min-width: 80em) {
	.contact-section .contact-right .contact-slogan-below {
		font-size: 4.5rem;
	}
}
@media (min-width: 48em) {
	.contact-section .contact-right .contact-slogan-below p {
		margin: 0;
	}
}
@media (min-width: 48em) {
	.contact-section .contact-right {
		flex: 1 1 60%;
		padding-left: 0.5rem;
	}
}

.contact-map-container {
	width: 100%;
	margin-top: 2rem;
}
.contact-map-container #map {
	width: 100%;
	height: 400px;
	border-radius: 0.5rem;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.join-us-heading {
	text-align: center;
	font-size: 1.75rem;
	font-weight: bold;
}
.join-us-heading span {
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
	margin-top: 0.5rem;
}
@media (min-width: 48em) {
	.join-us-heading {
		font-size: 2.25rem;
	}
	.join-us-heading span {
		font-size: 1.75rem;
	}
}

.join-us-section {
	padding: 4rem 1.5rem;
}
.join-us-section .container {
	max-width: 1200px;
	margin: 0 auto;
}
.join-us-section .join-us-content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
@media (min-width: 64em) {
	.join-us-section .join-us-content {
		flex-direction: row;
		align-items: stretch;
		background-color: #07699E;
		border-radius: 1rem;
		overflow: hidden;
		gap: 0;
	}
}
.join-us-section .join-us-content .join-us-image {
	flex: 1 1 50%;
}
.join-us-section .join-us-content .join-us-image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	display: block;
}
.join-us-section .join-us-content .join-us-text-block {
	flex: 1 1 50%;
	text-align: center;
	padding: 0 1rem;
}
@media (min-width: 64em) {
	.join-us-section .join-us-content .join-us-text-block {
		text-align: left;
		color: white;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 3rem;
	}
}
.join-us-section .join-us-content .join-us-text-block .join-us-styling {
	font-size: 1.5rem;
	font-weight: 800;
	color: #0072bc;
	margin-bottom: 1rem;
}
@media (min-width: 30em) {
	.join-us-section .join-us-content .join-us-text-block .join-us-styling {
		font-size: 1.8rem;
	}
}
@media (min-width: 48em) {
	.join-us-section .join-us-content .join-us-text-block .join-us-styling {
		font-size: 2rem;
	}
}
@media (min-width: 64em) {
	.join-us-section .join-us-content .join-us-text-block .join-us-styling {
		font-size: 2.5rem;
		color: white;
	}
}
.join-us-section .join-us-content .join-us-text-block .join-us-body {
	font-size: 1rem;
	line-height: 1.8;
}
@media (min-width: 48em) {
	.join-us-section .join-us-content .join-us-text-block .join-us-body {
		font-size: 1.125rem;
	}
}
.join-us-section .join-us-content .join-us-text-block .join-us-body p {
	margin-bottom: 1.5rem;
}
@media (min-width: 64em) {
	.join-us-section .join-us-content .join-us-text-block .join-us-body p {
		color: white;
	}
}

/* 課程推薦系統樣式 */
.course-recommendation-container {
	max-width: 1200px;
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
	margin-left: auto;
	margin-right: auto;
}
.course-recommendation-container button {
	width: 200px;
	padding: 0.75rem 1rem;
}
.course-recommendation-container .step-1 > button {
	margin-left: auto;
	margin-right: auto;
}

.goal-selection {
	display: grid;
	grid-template-rows: 1fr 1fr;
	gap: 2rem;
}

@media (max-width: 768px) {
	.goal-selection {
		grid-template-columns: 1fr;
	}
}
/* 課程卡片樣式 */
.course-card {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
	padding: 1.5rem;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
}

.course-card img {
	width: 100%;
	height: auto;
	border-radius: 4px;
	-o-object-fit: cover;
	   object-fit: cover;
}

.course-card h3 {
	margin-top: 0;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

/* 按钮状态 */
.next-step {
	transition: all 0.3s ease;
	position: relative;
}

.next-step:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	background-color: #ccc !important;
}

/* 加载动画 */
.spinner {
	display: inline-block;
	animation: spin 1s linear infinite;
	margin-right: 8px;
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}
/* 选项卡片 */
.step-1 .options {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 2rem 0;
}
@media (min-width: 48em) {
	.step-1 .options {
		flex-direction: row;
	}
}

.options {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1rem;
	margin: 2rem 0;
}

.option-content {
	padding: 15px;
	border: 2px solid #ddd;
	border-radius: 8px;
	transition: all 0.3s;
	text-align: center;
	width: 100%;
	height: 100%;
}

.class-delivery-list {
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 1rem;
}

.class-delivery-list > li {
	text-align: left;
}
.class-delivery-list > li::marker {
	color: #179EC8;
}

.option-card.goal-option p {
	margin: 0;
}

.option-card {
	display: block;
	margin-bottom: 15px;
	cursor: pointer;
	width: 100%;
}

.option-card input[type=radio] {
	position: absolute;
	opacity: 0;
}

.option-card input:checked + .option-content {
	border-color: #3b82f6;
	background-color: #eff6ff;
}

@media (min-width: 48em) {
	#recommendation-results {
		display: flex;
		gap: 1rem;
	}
}

.recommendation-card {
	width: 100%;
	border: 2px solid #ddd;
	border-radius: 8px;
	padding: 0 1rem;
	margin-bottom: 1.75rem;
}
.recommendation-card h4 {
	font-size: 1.2rem;
}
.recommendation-card a {
	text-decoration: none;
}
@media (min-width: 48em) {
	.recommendation-card {
		max-width: 360px;
	}
}

/* 错误提示 */
.error {
	color: #dc2626;
	padding: 15px;
	background: #fee2e2;
	border-radius: 8px;
}

/* 加载状态样式 */
.loading-spinner,
.loading-placeholder {
	padding: 2rem;
	text-align: center;
	color: #666;
}

.loading-spinner:after {
	content: "↻";
	display: inline-block;
	animation: spin 1s linear infinite;
	margin-left: 8px;
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}
/* 步骤容器 */
.step {
	display: none;
	padding: 1rem;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.step-actions {
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 2rem;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 48em) {
	.step-actions {
		display: flex;
		justify-content: space-between;
		margin: 2rem 0;
		width: 100%;
	}
}

.step.active {
	display: block;
	animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.registration-process {
	padding-bottom: 2.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.registration-process a {
	width: 200px;
	text-align: center;
	text-decoration: none;
}
@media (min-width: 48em) {
	.registration-process {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(3 1fr);
		gap: 1.5rem;
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	.registration-process h2 {
		grid-column-start: 1;
		grid-column-end: 3;
		text-align: center;
	}
	.registration-process .registration-steps {
		grid-column-start: 1;
		grid-column-end: 3;
		grid-row-start: 2;
		grid-row-end: 3;
	}
	.registration-process a {
		width: 350px;
		margin-left: auto;
		margin-right: auto;
	}
}

.registration-steps {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 2rem;
}
.registration-steps .step-description {
	text-align: center;
}
.registration-steps .step-number {
	height: 5rem;
	width: 5rem;
	background-color: #005a87;
	color: #fff;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
}
.registration-steps .step-number span {
	height: -moz-fit-content;
	height: fit-content;
	margin-top: auto;
	margin-bottom: auto;
}
.registration-steps svg {
	width: 1.5rem;
	height: 1.5rem;
}
@media (min-width: 48em) {
	.registration-steps {
		flex-direction: row;
		width: 100%;
		justify-content: space-around;
	}
	.registration-steps .registration-step {
		width: 220px;
		text-align: center;
	}
	.registration-steps svg {
		rotate: -90deg;
	}
}

.blog .site-main,
.archive.category .site-main,
.archive.date .site-main,
.archive.author .site-main,
.archive.tag .site-main {
	margin-top: 2rem;
}
.blog .site-main a,
.archive.category .site-main a,
.archive.date .site-main a,
.archive.author .site-main a,
.archive.tag .site-main a {
	color: #4f4f4f;
}
.blog .site-main article,
.archive.category .site-main article,
.archive.date .site-main article,
.archive.author .site-main article,
.archive.tag .site-main article {
	margin: 1rem;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	background-color: #f5f5f5;
	border-radius: 10px;
	padding-bottom: 0.2rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
@media (min-width: 80em) {
	.blog .site-main article,
	.archive.category .site-main article,
	.archive.date .site-main article,
	.archive.author .site-main article,
	.archive.tag .site-main article {
		padding-bottom: 0;
	}
}
.blog .site-main article .date,
.archive.category .site-main article .date,
.archive.date .site-main article .date,
.archive.author .site-main article .date,
.archive.tag .site-main article .date {
	padding: 1rem 0;
	margin: 0;
	font-size: smaller;
}
.blog .site-main article a,
.archive.category .site-main article a,
.archive.date .site-main article a,
.archive.author .site-main article a,
.archive.tag .site-main article a {
	text-decoration: none;
}
@media (min-width: 80em) {
	.blog .site-main article a,
	.archive.category .site-main article a,
	.archive.date .site-main article a,
	.archive.author .site-main article a,
	.archive.tag .site-main article a {
		display: flex;
		flex-direction: row;
		gap: 1rem;
	}
}
.blog .site-main article a hr,
.archive.category .site-main article a hr,
.archive.date .site-main article a hr,
.archive.author .site-main article a hr,
.archive.tag .site-main article a hr {
	width: 25px;
	margin: 0;
	height: 2px;
}
.blog .site-main article a .entry-content,
.archive.category .site-main article a .entry-content,
.archive.date .site-main article a .entry-content,
.archive.author .site-main article a .entry-content,
.archive.tag .site-main article a .entry-content {
	padding: 0 1rem;
	margin: 0;
}
.blog .site-main article .entry-header,
.archive.category .site-main article .entry-header,
.archive.date .site-main article .entry-header,
.archive.author .site-main article .entry-header,
.archive.tag .site-main article .entry-header {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	overflow: hidden;
}
@media (min-width: 80em) {
	.blog .site-main article .entry-header,
	.archive.category .site-main article .entry-header,
	.archive.date .site-main article .entry-header,
	.archive.author .site-main article .entry-header,
	.archive.tag .site-main article .entry-header {
		max-height: 300px;
		border-top-right-radius: initial;
		border-bottom-left-radius: 10px;
		flex: 0 0 320px;
	}
}
.blog .site-main article img,
.archive.category .site-main article img,
.archive.date .site-main article img,
.archive.author .site-main article img,
.archive.tag .site-main article img {
	width: 100%;
	height: 15rem;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center 25%;
	   object-position: center 25%;
}
@media (min-width: 80em) {
	.blog .site-main article img,
	.archive.category .site-main article img,
	.archive.date .site-main article img,
	.archive.author .site-main article img,
	.archive.tag .site-main article img {
		height: 100%;
	}
}
.blog .site-main article h2,
.archive.category .site-main article h2,
.archive.date .site-main article h2,
.archive.author .site-main article h2,
.archive.tag .site-main article h2 {
	margin-top: 0;
}

.widget-area {
	padding: 1rem;
}
@media (min-width: 48em) {
	.widget-area {
		border-left: #4f4f4f 1px solid;
	}
}
.widget-area .wp-block-latest-posts__list.wp-block-latest-posts {
	padding-left: 40px;
	list-style: disc;
}
.widget-area ul {
	margin: 0;
}
.widget-area ol {
	padding: 0;
}
.widget-area li::marker {
	color: #179EC8;
}
.widget-area .widget_sticky_posts ul {
	padding: 0;
	list-style: none;
}
.widget-area .widget_sticky_posts li {
	border-bottom: #4f4f4f 1px dotted;
	padding-top: 24px;
}
.widget-area .widget_sticky_posts img {
	width: 100%;
	height: 120px;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center 25%;
	   object-position: center 25%;
	margin-bottom: 24px;
	border-radius: 10px;
}
.widget-area .widget_sticky_posts h3 {
	margin: 0;
}
.widget-area .widget_recent_entries a:hover {
	text-decoration: underline;
}

.cotent-container .nav-links a,
.form-submit input {
	text-decoration: none;
	background-color: #fff;
	border-radius: 20px;
	border: solid 1px #06547E;
	color: #06547E;
	margin-bottom: 1rem;
	padding: 0.5rem 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	cursor: pointer;
}

.cotent-container .nav-links a:hover,
.form-submit input:hover {
	background: #06547E;
	color: #fff;
	transition: all 0.3s ease-in-out;
}

.cotent-container .entry-meta {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 2rem;
}
.cotent-container .nav-links {
	margin-top: 2rem;
	gap: 1.5rem;
}
.cotent-container .wp-block-list {
	margin: 0;
}

.archive.category .site-main {
	margin-top: 0;
}
.archive.category .site-main .page-title {
	margin-left: 1rem;
}

.wp-singular .site-main {
	background-color: #FBFCF8;
}
.wp-singular .site-main .post-thumbnail {
	height: 580px;
	overflow: hidden;
	border-radius: 10px;
}
.wp-singular .site-main .post-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center 40%;
	   object-position: center 40%;
	border-radius: 10px;
}
.wp-singular .site-main .home-class,
.wp-singular .site-main .manifesto-section,
.wp-singular .site-main .modals,
.wp-singular .site-main .home-blog {
	width: 100%;
	padding-left: 1rem;
	padding-right: 1rem;
	margin-left: auto;
	margin-right: auto;
}
.wp-singular .site-main .home-class .post-thumbnail img,
.wp-singular .site-main .manifesto-section .post-thumbnail img,
.wp-singular .site-main .modals .post-thumbnail img,
.wp-singular .site-main .home-blog .post-thumbnail img {
	height: 368px;
	display: block;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center 25%;
	   object-position: center 25%;
}
@media (min-width: 30em) {
	.wp-singular .site-main .home-class,
	.wp-singular .site-main .manifesto-section,
	.wp-singular .site-main .modals,
	.wp-singular .site-main .home-blog {
		max-width: 480px;
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}
@media (min-width: 48em) {
	.wp-singular .site-main .home-class,
	.wp-singular .site-main .manifesto-section,
	.wp-singular .site-main .modals,
	.wp-singular .site-main .home-blog {
		max-width: 768px;
		padding-left: 2rem;
		padding-right: 2rem;
	}
}
@media (min-width: 64em) {
	.wp-singular .site-main .home-class,
	.wp-singular .site-main .manifesto-section,
	.wp-singular .site-main .modals,
	.wp-singular .site-main .home-blog {
		max-width: 1024px;
	}
}
@media (min-width: 80em) {
	.wp-singular .site-main .home-class,
	.wp-singular .site-main .manifesto-section,
	.wp-singular .site-main .modals,
	.wp-singular .site-main .home-blog {
		max-width: 1280px;
	}
}
@media (min-width: 90em) {
	.wp-singular .site-main .home-class,
	.wp-singular .site-main .manifesto-section,
	.wp-singular .site-main .modals,
	.wp-singular .site-main .home-blog {
		max-width: 1440px;
	}
}

/* [Object] Modal
 * =============================== */
.modal {
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	text-align: left;
	background: rgba(0, 0, 0, 0.646);
	transition: opacity 0.25s ease;
}

.modal__bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	cursor: pointer;
}

.modal-state {
	display: none;
}

.modal-state:checked + .modal {
	opacity: 1;
	visibility: visible;
	z-index: 10;
}

.modal-state:checked + .modal .modal__inner {
	top: 0;
}

.modal__inner {
	transition: top 0.25s ease;
	position: absolute;
	top: -20%;
	right: 0;
	bottom: 0;
	left: 0;
	width: 90%;
	margin: auto;
	overflow: auto;
	background: #fff;
	border-radius: 5px;
	padding: 1em 2em;
	height: 65%;
	box-sizing: border-box;
}
.modal__inner h2 {
	font-size: 1.5rem;
}
.modal__inner img {
	margin-top: 2rem;
	width: 100%;
	max-height: 360px;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center top;
	   object-position: center top;
	border-radius: 5px;
}
@media (min-width: 48em) {
	.modal__inner {
		width: 70%;
		height: 60%;
	}
}

.modal__close {
	position: absolute;
	right: 1em;
	top: 1em;
	width: 1.1em;
	height: 1.1em;
	cursor: pointer;
}

.modal__close:after,
.modal__close:before {
	content: "";
	position: absolute;
	width: 2px;
	height: 1.5em;
	background: #ccc;
	display: block;
	transform: rotate(45deg);
	left: 50%;
	margin: -3px 0 0 -1px;
	top: 0;
}

.modal__close:hover:after,
.modal__close:hover:before {
	background: #aaa;
}

.modal__close:before {
	transform: rotate(-45deg);
}

/* testimonial card 
 * =============================== */
.testimonial-card {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	background: rgba(255, 255, 255, 0.5);
}
@media (min-width: 48em) {
	.testimonial-card {
		width: initial;
	}
	.testimonial-card label {
		display: flex;
		gap: 2rem;
	}
}

.testimonial-card__image img {
	width: 100%;
	height: 15rem;
}
@media (min-width: 48em) {
	.testimonial-card__image img {
		height: 100%;
	}
}
@media (min-width: 48em) {
	.testimonial-card__image {
		flex: 0 0 300px;
		max-width: 300px;
		overflow: hidden;
	}
}

.testimonial-card__content {
	padding: 1rem;
}
@media (min-width: 48em) {
	.testimonial-card__content {
		flex: 1;
	}
}
.testimonial-card__content h2, .testimonial-card__content h3 {
	margin-top: 0;
	font-size: 1.25rem;
}
.testimonial-card__content p {
	margin-bottom: 0;
}
@media (min-width: 48em) {
	.testimonial-card__content {
		margin-top: 0;
	}
}
@media (min-width: 80em) {
	.testimonial-card__content {
		width: 550px;
	}
}

.modal__hashtag,
.testimonial-card_hashtag {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.modal__hashtag .hashtag::before,
.testimonial-card_hashtag .hashtag::before {
	content: "#";
}
.modal__hashtag .hashtag,
.modal__hashtag .hashtag:visited,
.testimonial-card_hashtag .hashtag,
.testimonial-card_hashtag .hashtag:visited {
	color: #07699E;
}

/* page background
 * =============================== */
.page-id-223 {
	background-image: url("images/circle-bg.png");
	background-color: #FBFCF8;
	background-position: center;
	background-size: 100%;
	background-repeat: no-repeat;
}
.page-id-223 .site-main {
	background-color: initial;
}

/* modals
 * =============================== */
.modals {
	margin-top: 3rem;
}

.pages-banner-deco {
	width: 100%;
	height: auto;
	display: block;
	-o-object-fit: cover;
	   object-fit: cover;
	margin-top: -1px;
	background-color: #FBFCF8;
}
@media (min-width: 48em) {
	.pages-banner-deco {
		margin-top: -3px;
	}
}

.banner {
	position: relative;
}
.banner .banner-swiper {
	width: 100%;
	position: relative;
}
.banner .banner-swiper .banner-content {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.banner .banner-swiper .banner-content.is-front-page {
	height: 90vh;
}
@media (min-width: 48em) {
	.banner .banner-swiper .banner-content.is-front-page {
		height: 100vh;
	}
}
.banner .banner-swiper .banner-content.is-inner-page {
	height: 40vh;
	min-height: 280px;
}
@media (min-width: 48em) {
	.banner .banner-swiper .banner-content.is-inner-page {
		height: 60vh;
	}
}
.banner .banner-swiper .banner-content::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 30%, rgba(0, 0, 0, 0.2) 65%, rgba(0, 0, 0, 0.5) 100%);
	z-index: 1;
}
.banner .banner-swiper .banner-content img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	z-index: 0;
}
.banner .banner-swiper .banner-content .content-background {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1000px;
	color: white;
	border-radius: 0.5rem;
}
.banner .banner-swiper .banner-content .content-background h1 {
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 1rem;
	color: #fff;
	text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.6);
}
.banner .banner-swiper .banner-content .content-background a {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	border: 1px solid #fff;
	border-radius: 999px;
	color: #fff;
	text-decoration: none;
	transition: background 0.3s ease;
	margin-top: 1rem;
}
.banner .banner-swiper .banner-content .content-background a:hover {
	background-color: rgba(255, 255, 255, 0.2);
}
@media (min-width: 48em) {
	.banner .banner-swiper .banner-content .content-background {
		padding: 3rem 2rem;
	}
	.banner .banner-swiper .banner-content .content-background h1 {
		font-size: 3rem;
	}
	.banner .banner-swiper .banner-content .content-background a {
		padding: 0.5rem 1.25rem;
	}
}
.banner .banner-swiper .banner-content .banner-list {
	list-style: none;
	padding-left: 0;
	margin-top: 1rem;
}
.banner .banner-swiper .banner-content .banner-list li {
	position: relative;
	padding-left: 1.5rem;
	font-size: 1rem;
	line-height: 1.8;
	color: #fff;
	text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.6);
}
.banner .banner-swiper .banner-content .banner-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.7em;
	width: 0.5rem;
	height: 0.5rem;
	background-color: #c9e5f8;
	border-radius: 50%;
}
@media (min-width: 48em) {
	.banner .banner-swiper .banner-content .banner-list li {
		font-size: 1.25rem;
	}
}
.banner .banner-swiper .banner-content .banner-paragraph {
	font-size: 1rem;
	line-height: 1.8;
	color: #fff;
	margin-bottom: 1.5rem;
	text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.6);
}
@media (min-width: 48em) {
	.banner .banner-swiper .banner-content .banner-paragraph {
		font-size: 1.25rem;
	}
}
.banner .banner-swiper .banner-content.is-front-page .content-background {
	text-align: left;
	margin-left: 1.5rem;
	margin-right: auto;
	margin-top: -8rem;
}
@media (min-width: 48em) {
	.banner .banner-swiper .banner-content.is-front-page .content-background {
		margin-left: 5%;
		margin-top: -11rem;
	}
}
.banner .banner-swiper .banner-content.is-inner-page .content-background {
	text-align: center;
	margin: 0 auto;
}
.banner .banner-swiper .banner-content .content-background h1,
.banner .banner-swiper .banner-content .content-background .banner-paragraph,
.banner .banner-swiper .banner-content .content-background .banner-list,
.banner .banner-swiper .banner-content .content-background a {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.banner .banner-swiper .banner-content.swiper-slide-active .content-background h1 {
	animation: fadeInUp 0.6s ease-out 0.1s forwards;
}
.banner .banner-swiper .banner-content.swiper-slide-active .content-background .banner-list {
	animation: fadeInUp 0.6s ease-out 0.3s forwards;
}
.banner .banner-swiper .banner-content.swiper-slide-active .content-background .banner-paragraph {
	animation: fadeInUp 0.6s ease-out 0.3s forwards;
}
.banner .banner-swiper .banner-content.swiper-slide-active .content-background a {
	animation: fadeInUp 0.6s ease-out 0.5s forwards;
}
.banner .banner-swiper .swiper-button-prev,
.banner .banner-swiper .swiper-button-next {
	z-index: 3;
	display: none;
}
.banner .banner-swiper .swiper-pagination-bullet {
	background: white;
	opacity: 0.7;
}
.banner .banner-swiper .swiper-pagination-bullet-active {
	opacity: 1;
}
.banner .scroll-indicator {
	position: absolute;
	bottom: 8rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	font-size: 1rem;
	color: white;
	opacity: 0.8;
	animation: bounceDown 2s infinite;
	pointer-events: none;
}
@media (min-width: 48em) {
	.banner .scroll-indicator {
		font-size: 2.5rem;
		bottom: 9rem;
	}
}

@keyframes fadeInUp {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes bounceDown {
	0%, 100% {
		transform: translateX(-50%) translateY(0);
	}
	50% {
		transform: translateX(-50%) translateY(10px);
	}
}
.page-1-on-1 section {
	padding: 1rem 1rem 3rem;
	max-width: 1200px;
	margin: 0 auto;
}
.page-1-on-1 section:first-of-type h2 {
	color: #07699E;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 0 0.5rem;
}
.page-1-on-1 section:first-of-type .intro-text {
	font-size: 1.0625rem;
	line-height: 1.8;
	margin-bottom: 2rem;
	padding: 0 0.5rem;
}
@media (min-width: 48em) {
	.page-1-on-1 section:first-of-type h2 {
		font-size: 2rem;
		padding: 0 1rem;
	}
	.page-1-on-1 section:first-of-type .intro-text {
		font-size: 1.125rem;
		padding: 0 1rem;
	}
}
@media (min-width: 80em) {
	.page-1-on-1 section:first-of-type h2 {
		font-size: 2.25rem;
		text-align: center;
		padding: 1rem 2rem;
	}
	.page-1-on-1 section:first-of-type .intro-text {
		font-size: 1.2rem;
		padding: 0 3rem;
	}
}
.page-1-on-1 .one-on-one-item {
	position: relative;
	display: flex;
	flex-direction: column;
	margin-bottom: 4rem;
	background: #fff;
	border-radius: 1rem;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
	overflow: visible;
}
@media (min-width: 30em) {
	.page-1-on-1 .one-on-one-item {
		padding: 1rem;
	}
}
@media (min-width: 64em) {
	.page-1-on-1 .one-on-one-item {
		padding: 2rem;
	}
}
.page-1-on-1 .one-on-one-item .image-wrapper {
	position: relative;
	top: -2rem;
	width: 85%;
	margin: 0 auto;
}
.page-1-on-1 .one-on-one-item .image-wrapper img {
	width: 100%;
	border-radius: 0.5rem 0.5rem 0 0;
	-o-object-fit: cover;
	   object-fit: cover;
	display: block;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.page-1-on-1 .one-on-one-item .text-block {
	padding: 0 1.5rem;
}
.page-1-on-1 .one-on-one-item .text-block h3 {
	color: #07699E;
	font-size: 1.3rem;
	margin: 0rem;
}
.page-1-on-1 .one-on-one-item .text-block .class-description {
	font-size: 1rem;
	line-height: 1.8;
}
@media (min-width: 64em) {
	.page-1-on-1 .one-on-one-item .text-block h3 {
		font-size: 1.5rem;
		padding: 0 1rem;
	}
	.page-1-on-1 .one-on-one-item .text-block .class-description {
		font-size: 1.2rem;
		padding: 0 1rem;
	}
}
@media (min-width: 30em) {
	.page-1-on-1 .one-on-one-item {
		flex-direction: row;
		align-items: flex-start;
	}
	.page-1-on-1 .one-on-one-item.reverse {
		flex-direction: row-reverse;
	}
	.page-1-on-1 .one-on-one-item .image-wrapper {
		flex: 1;
		top: -3rem;
		max-width: 360px;
		margin: 0;
	}
	.page-1-on-1 .one-on-one-item .text-block {
		flex: 2;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	.page-1-on-1 .one-on-one-item.reverse .text-block {
		padding-left: 0;
		padding-right: 1rem;
	}
}
.page-1-on-1 .training-rates-heading {
	text-align: center;
	font-size: 1.75rem;
	font-weight: bold;
	margin-top: 4rem;
}
.page-1-on-1 .training-rates-heading span {
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
	margin-top: 0.5rem;
}
@media (min-width: 48em) {
	.page-1-on-1 .training-rates-heading {
		font-size: 2.25rem;
	}
	.page-1-on-1 .training-rates-heading span {
		font-size: 1.75rem;
	}
}

.page-small-group section {
	padding: 1rem;
	max-width: 1200px;
	margin: 0 auto;
}
.page-small-group section:first-of-type h2 {
	color: #07699E;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 0 0.5rem;
}
.page-small-group section:first-of-type .intro-text {
	font-size: 1.0625rem;
	line-height: 1.8;
	margin-bottom: 2rem;
	padding: 0 0.5rem;
}
@media (min-width: 48em) {
	.page-small-group section:first-of-type h2 {
		font-size: 2rem;
		padding: 0 1rem;
	}
	.page-small-group section:first-of-type .intro-text {
		font-size: 1.125rem;
		padding: 0 1rem;
	}
}
@media (min-width: 80em) {
	.page-small-group section:first-of-type h2 {
		font-size: 2.25rem;
		text-align: center;
		padding: 1rem 2rem;
	}
	.page-small-group section:first-of-type .intro-text {
		font-size: 1.2rem;
		padding: 0 3rem;
	}
}
.page-small-group .small-group-item {
	position: relative;
	display: flex;
	flex-direction: column;
	margin-bottom: 4rem;
	background: #fff;
	border-radius: 1rem;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
	overflow: visible;
}
@media (min-width: 30em) {
	.page-small-group .small-group-item {
		padding: 1rem;
	}
}
@media (min-width: 64em) {
	.page-small-group .small-group-item {
		padding: 2rem;
	}
}
.page-small-group .small-group-item .image-wrapper {
	position: relative;
	top: -2rem;
	width: 85%;
	margin: 0 auto;
}
.page-small-group .small-group-item .image-wrapper img {
	width: 100%;
	border-radius: 0.5rem 0.5rem 0 0;
	-o-object-fit: cover;
	   object-fit: cover;
	display: block;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.page-small-group .small-group-item .text-block {
	padding: 0 1.5rem;
}
.page-small-group .small-group-item .text-block h3 {
	color: #07699E;
	font-size: 1.3rem;
	margin: 0rem;
}
.page-small-group .small-group-item .text-block .class-description {
	font-size: 1rem;
	line-height: 1.8;
}
@media (min-width: 64em) {
	.page-small-group .small-group-item .text-block h3 {
		font-size: 1.5rem;
		padding: 0 1rem;
	}
	.page-small-group .small-group-item .text-block .class-description {
		font-size: 1.2rem;
		padding: 0 1rem;
	}
}
@media (min-width: 30em) {
	.page-small-group .small-group-item {
		flex-direction: row;
		align-items: flex-start;
	}
	.page-small-group .small-group-item.reverse {
		flex-direction: row-reverse;
	}
	.page-small-group .small-group-item .image-wrapper {
		flex: 1;
		top: -3rem;
		max-width: 360px;
		margin: 0;
	}
	.page-small-group .small-group-item .text-block {
		flex: 2;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	.page-small-group .small-group-item.reverse .text-block {
		padding-left: 0;
		padding-right: 1rem;
	}
}
.page-small-group .training-rates-heading {
	text-align: center;
	font-size: 1.75rem;
	font-weight: bold;
}
.page-small-group .training-rates-heading span {
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
	margin-top: 0.5rem;
}
@media (min-width: 48em) {
	.page-small-group .training-rates-heading {
		font-size: 2.25rem;
	}
	.page-small-group .training-rates-heading span {
		font-size: 1.75rem;
	}
}
@media (min-width: 30em) {
	.page-small-group .small-group-table {
		margin: 0 3rem;
	}
}
@media (min-width: 48em) {
	.page-small-group .small-group-table {
		margin: 0 10rem;
	}
}
@media (min-width: 64em) {
	.page-small-group .small-group-table {
		margin: 0 20rem;
	}
}

/* headings
 * =============================== */
.home-class-heading,
.home-testimonials-heading,
.home-blog-heading,
.faq-heading {
	text-align: center;
	font-size: 1.75rem;
	font-weight: bold;
}
.home-class-heading span,
.home-testimonials-heading span,
.home-blog-heading span,
.faq-heading span {
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
	margin-top: 0.5rem;
}
@media (min-width: 48em) {
	.home-class-heading,
	.home-testimonials-heading,
	.home-blog-heading,
	.faq-heading {
		font-size: 2.25rem;
	}
	.home-class-heading span,
	.home-testimonials-heading span,
	.home-blog-heading span,
	.faq-heading span {
		font-size: 1.75rem;
	}
}

/* faq
 * =============================== */
.faq-section {
	padding: 0 1rem 4rem;
}

.faq-accordion {
	max-width: 800px;
	margin: 2rem auto 0;
}
.faq-accordion .faq-item {
	border-bottom: 1px solid #ddd;
	padding: 1rem 0;
}
.faq-accordion .faq-item .faq-question {
	width: 100%;
	background: none;
	border: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	padding: 0.5rem 0;
}
.faq-accordion .faq-item .faq-question .faq-text {
	font-size: 1.125rem;
	font-weight: 600;
	color: #1f1f1f;
	text-align: left;
}
.faq-accordion .faq-item .faq-question .faq-icon {
	font-size: 1.5rem;
	color: #07699e;
	transition: transform 0.3s ease;
	flex-shrink: 0;
}
.faq-accordion .faq-item .faq-question.active .faq-icon {
	transform: rotate(45deg);
}
.faq-accordion .faq-item .faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease, padding-top 0.4s ease;
	padding-top: 0;
	color: #666;
	font-size: 1rem;
	line-height: 1.6;
}
.faq-accordion .faq-item.open .faq-answer {
	max-height: 500px;
	padding-top: 0.75rem;
}

/* home-banner-section
 * =============================== */
.home-banner-bg {
	position: relative;
}

.home-banner-wave {
	position: absolute;
	right: 0;
	bottom: 0;
	height: 192px;
	width: 100%;
	background-image: url("images/home-banner-wave.webp");
	background-position: 44% bottom;
	z-index: 5;
}

/* home-manifesto-section
 * =============================== */
.home-manifesto-bg {
	background-color: #f5f5f5;
}

.home-manifesto-bg h3 {
	font-size: 1.5rem;
}
@media (min-width: 30em) {
	.home-manifesto-bg h3 {
		font-size: 2rem;
	}
}

.home-manifesto-bg h2 {
	display: none;
}

.manifesto-text {
	position: static;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-in-out;
}

.manifesto-text.open {
	max-height: 40rem;
}

.manifesto-btn {
	width: 200px;
	margin: 1rem auto;
	padding: 0.75rem 1rem;
	border-radius: 25px;
	text-decoration: none;
}

/* home-class-section
 * =============================== */
.home-class-bg {
	position: relative;
	overflow: hidden;
}

/* Top background */
.bg-top,
.bg-mid,
.bg-bottom {
	position: absolute;
	left: 0;
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	z-index: 0;
}

.bg-top {
	top: 0;
	height: 300px;
	background-image: url("images/home-class-bg-top.webp");
	background-color: #f5f5f5;
}

.bg-mid {
	top: 290px;
	height: 1580px;
	background-image: url("images/home-class-bg-mid.webp");
}
@media (min-width: 48em) {
	.bg-mid {
		height: 920px;
	}
}

.bg-bottom {
	bottom: 0;
	height: 280px;
	background-image: url("images/home-class-bg-bottom.webp");
	background-position: bottom;
	z-index: 1;
}
@media (min-width: 48em) {
	.bg-bottom {
		height: 200px;
	}
}

.home-class {
	position: relative;
	z-index: 2;
	padding-top: 10rem;
	padding-bottom: 12rem;
}
.home-class > h2, .home-class > p {
	color: #fff;
}

.home-class-wrapper {
	margin-top: 3.5rem;
}
.home-class-wrapper .home-class-btns {
	display: flex;
	justify-content: space-around;
	gap: 1rem;
}
.home-class-wrapper .home-class-btns a {
	width: 100%;
	margin-bottom: 0;
}
@media (min-width: 48em) {
	.home-class-wrapper {
		display: flex;
		justify-content: space-between;
		gap: 1rem;
	}
	.home-class-wrapper .home-class-btns {
		display: block;
	}
	.home-class-wrapper .home-class-btns a {
		margin-bottom: 1rem;
	}
}
@media (min-width: 48em) and (min-width: 80em) {
	.home-class-wrapper .home-class-btns {
		display: flex;
		justify-content: space-around;
		gap: 1rem;
	}
}

.home-class-section-btn {
	width: -moz-fit-content;
	width: fit-content;
	margin: 3rem auto;
}
@media (min-width: 64em) {
	.home-class-section-btn {
		display: flex;
		justify-content: space-around;
		gap: 2rem;
	}
	.home-class-section-btn a {
		width: 200px;
		margin-bottom: 0;
	}
}

/* home-testomonials-section
 * =============================== */
.home-testimonials {
	margin-bottom: 5rem;
}

.home-testimonials-btn,
.home-blog-btn {
	width: -moz-fit-content;
	width: fit-content;
	margin: 2rem auto;
}

/* home-blog-section
 * =============================== */
@media (min-width: 48em) {
	.blog-swiper .default-card {
		width: 100%;
	}
}
@media (min-width: 80em) {
	.blog-swiper .default-card img {
		height: 200px;
	}
}

.home-blog {
	padding-top: 4rem;
	max-width: 100%;
	overflow: visible;
}
@media (min-width: 80em) {
	.home-blog {
		display: flex;
		gap: 5rem;
	}
}

.swiper.blog-swiper {
	width: 100%;
	padding-top: 2rem;
	position: relative;
}
@media (min-width: 80em) {
	.swiper.blog-swiper {
		padding-top: 0;
		padding-left: 0;
		width: 60%;
		height: -moz-fit-content;
		height: fit-content;
	}
}

.swiper-slide {
	box-sizing: border-box;
}

.home-blog-left {
	text-align: center;
}
@media (min-width: 80em) {
	.home-blog-left {
		text-align: left;
	}
	.home-blog-left h2 {
		margin-top: 0;
	}
	.home-blog-left span {
		text-align: left;
	}
	.home-blog-left a {
		margin-left: 0;
	}
}

.home-blog-bg {
	background-image: url("images/home-blog-bg.webp");
	background-position: left bottom;
	background-repeat: no-repeat;
	padding-bottom: 10rem;
}
@media (min-width: 80em) {
	.home-blog-bg {
		background-position: -5% 100%;
		background-size: 35%;
	}
}

.blog-btn {
	display: flex;
	gap: 4rem;
	justify-content: center;
}
@media (min-width: 80em) {
	.blog-btn {
		justify-content: start;
	}
}

.blog-next svg,
.blog-prev svg {
	fill: #075b9a;
	height: 36px;
	width: 36px;
	border: #075b9a solid 2.1px;
	border-radius: 50%;
	opacity: 0.5;
	cursor: pointer;
}
.blog-next svg:hover,
.blog-prev svg:hover {
	background-color: #075b9a;
	fill: white;
	opacity: 1;
	transition: all 0.3s ease-in-out;
}

.rental-pricing-section {
	position: relative;
	z-index: 2;
	padding: 1rem;
	max-width: 1200px;
	margin: 0 auto;
	background-color: #FBFCF8;
}
.rental-pricing-section .pricing-table-heading {
	text-align: center;
}
.rental-pricing-section .pricing-table {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}
@media (min-width: 48em) {
	.rental-pricing-section .pricing-table {
		flex-direction: row;
		justify-content: space-between;
	}
}
.rental-pricing-section .pricing-table .venue-block {
	flex: 1;
	border: 1px solid #ddd;
	padding: 1rem;
	border-radius: 10px;
	background-color: #fff;
}
@media (min-width: 30em) {
	.rental-pricing-section .pricing-table .venue-block {
		padding: 2rem;
	}
}
@media (min-width: 64em) {
	.rental-pricing-section .pricing-table .venue-block {
		padding: 3rem;
	}
}
@media (min-width: 80em) {
	.rental-pricing-section .pricing-table .venue-block {
		padding: 4rem;
	}
}
.rental-pricing-section .pricing-table .venue-block .venue-title {
	font-size: 1.5rem;
	margin: 0 0 1rem 0;
	color: #0077b6;
	text-align: center;
}
@media (min-width: 48em) {
	.rental-pricing-section .pricing-table .venue-block .venue-title {
		margin: 0 0 2rem 0;
	}
}
.rental-pricing-section .pricing-table .venue-block .rental-fee-table {
	width: 100%;
	margin-bottom: 3rem;
}
.rental-pricing-section .pricing-table .venue-block .rental-fee-table th,
.rental-pricing-section .pricing-table .venue-block .rental-fee-table td {
	font-size: 1rem;
	text-align: left;
}
.rental-pricing-section .pricing-table .venue-block .equipment-description h4 {
	padding: 0;
	margin: 0;
}
.rental-pricing-section .pricing-table .venue-block .equipment-description .equipment-grid {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
@media (min-width: 64em) {
	.rental-pricing-section .pricing-table .venue-block .equipment-description .equipment-grid {
		flex-direction: row;
		flex-wrap: wrap;
	}
}
.rental-pricing-section .pricing-table .venue-block .equipment-description .equipment-grid .equipment-floor {
	flex: 1 1 45%;
}
.rental-pricing-section .pricing-table .venue-block .equipment-description .equipment-grid .equipment-floor h5 {
	font-size: 1rem;
	margin: 0.5rem 0 0 0.5rem;
	color: #333;
}
.rental-pricing-section .pricing-table .venue-block .equipment-description .equipment-grid .equipment-floor .floor-items {
	font-size: 0.95rem;
	line-height: 1.6;
	text-align: left;
	margin-left: 0.5rem;
}
.rental-pricing-section .pricing-table .venue-block .equipment-description .equipment-grid .equipment-floor .floor-items ul {
	margin: 0;
	padding: 0.5rem 1rem;
}
.rental-pricing-section .pricing-table .venue-block .equipment-description .equipment-grid .equipment-floor .floor-items ::marker {
	color: #179EC8;
}

.mood-section {
	position: relative;
	height: 100vh;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: scroll;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	z-index: 1;
	color: white;
}
.mood-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.285);
	z-index: 1;
}
@media (min-width: 64em) {
	.mood-section {
		background-attachment: fixed;
	}
}
.mood-section .mood-overlay {
	position: relative;
	z-index: 2;
	background: rgba(0, 0, 0, 0.35);
	padding: 2rem 1rem;
	max-width: 90%;
	-webkit-backdrop-filter: blur(2px);
	        backdrop-filter: blur(2px);
	border-radius: 0.5rem;
}
.mood-section .mood-overlay .mood-heading {
	font-size: 1.75rem;
	font-weight: 700;
	margin-bottom: 1rem;
	line-height: 1.3;
	color: white;
}
.mood-section .mood-overlay .quote-en,
.mood-section .mood-overlay .quote-zh {
	font-size: 1rem;
	line-height: 1.6;
	margin-bottom: 0.5rem;
}
@media (min-width: 48em) {
	.mood-section .mood-overlay {
		padding: 3rem 2rem;
	}
	.mood-section .mood-overlay .mood-heading {
		font-size: 2.25rem;
	}
	.mood-section .mood-overlay .quote-en,
	.mood-section .mood-overlay .quote-zh {
		font-size: 1.125rem;
	}
}
@media (min-width: 80em) {
	.mood-section .mood-overlay {
		max-width: 70%;
		padding: 4rem 2.5rem;
	}
	.mood-section .mood-overlay .mood-heading {
		font-size: 2.75rem;
	}
	.mood-section .mood-overlay .quote-en,
	.mood-section .mood-overlay .quote-zh {
		font-size: 1.25rem;
	}
}

.page-1-on-1,
.rental-pricing-section {
	position: relative;
	z-index: 2;
	background-color: #FBFCF8;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}
.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}
.wp-caption img[class*=wp-image-] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
	/*rtl:ignore*/
	float: left;
	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	/*rtl:ignore*/
	float: right;
	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
/*# sourceMappingURL=sass/style.css.map */
