@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@100;200;300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;700;900&display=swap");

/* All */
body {
	background: #6d8180;
}
.webapp {
	padding: 0;
	margin: 0;
	overflow: auto;
	height: auto;
}

.webapp .container {
	font-size: 16px;
	max-width: 768px;
	overflow: auto;
	font-family: "Roboto", "Noto Sans TC", sans-serif;
}

@media (max-width: 576px) {
	.webapp .container {
		font-size: 15px;
	}
}

* {
	touch-action: pan-x;
	touch-action: pan-y;
}

a:link,
a:hover,
a:active,
a:focus {
	text-decoration: none;
}

/* Header
===============================================================*/

header .title-webapp {
	float: left;
	font-size: 2em;
	font-weight: 700;
	margin: 0 0.3em 0 0;
	color: #fff;
	text-shadow: 1px 1px 6px #000;
}

@media (max-width: 768px) {
	header .title-webapp {
		font-size: 2em;
		text-shadow: 1px 1px 4px #000;
	}
}

header .title-webapp img {
	width: 200px;
	transition: all 0.3s;
}

@media (max-width: 768px) {
	header .title-webapp img {
		width: 140px;
		transition: all 0.3s;
	}
}
@media (max-width: 576px) {
	header .title-webapp img {
		width: 120px;
		transition: all 0.3s;
	}
}
@media (max-width: 415px) {
	header .title-webapp img {
		width: 100px;
		transition: all 0.3s;
	}
}

.nav-webapp img {
	width: 1.6em;
}

.navbar {
	padding: 0;
	margin: 0;
}

.navbar .container-fluid {
	padding: 0;
	margin: 0 0 0.5em 0;
}

.navbar-nav {
	border-radius: 0.8em;
}

@media (max-width: 768px) {
	.navbar-nav {
		background: #fff;
		border: 0px solid #138d87;
		box-shadow: 0 0 6px 2px rgba(99, 99, 99, 0.3);
	}

	.navbar-tri {
		position: absolute;
		top: -0.6em;
		right: 0.8em;
		width: 0;
		height: 0;
		border-left: 0.5em solid transparent;
		border-right: 0.5em solid transparent;
		border-bottom: 0.6em solid #fff;
	}

	.navbar-toggler:focus ~ svg {
		transform: rotate(180);
	}
}

/* WebApp General
    ===============================================================*/

.webapp {
	margin: 0;
	padding: 0;
	height: auto;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

@media (max-width: 576px) {
	.webapp {
		min-height: auto;
		background-size: cover;
	}
}


.main-package {
	margin: 0 0 1em 0;
}

/* Page
===============================================================*/

.page-content {
	max-width: 768px;
	margin: 0 auto 2em auto;
}

.page-content a:link {
	text-decoration: none;
}

.page-content .page-title {
	color: #383838;
	font-size: 1.7em;
	text-align: left;
	font-weight: 400;
	margin: 0 0 .2em 0;
	border-bottom: 0px solid #c5c5c5;
}

.page-content .page-title a:link {
	text-decoration: none;
}

.page-content .page-title h3 small {
	color: #383838;
	font-size: 0.8em;
}

.page-content .page-title small {
	color: #383838;
	font-weight: 400;
	font-size: 0.5em;
}

.page-content .page-area {
	border-bottom: 0px solid #bcb59c;
	background: rgb(255, 255, 255, 0.6);
	padding: .65em;
	line-height: 1.4em;
	border-radius: 1.5em;
	box-shadow: 0px 0px 0.7em #c7c5c3;
}

.page-area .btn-primary {
	padding: 0.38em 0.55em;
}

@media (max-width: 576px) {
	.page-content .page-area {
		font-size: 0.85rem;
	}

	.page-content .page-area small {
		display: block;
		line-height: 1.4em;
	}

	.page-content .page-area input,
	.page-content .page-area select,
	.page-content .page-area button {
		font-size: 1em;
	}

	.page-content .page-area h5 {
		font-size: 0.9rem;
	}
}

.page-content .page-area h6 {
	margin: 1.5em 0 0.5em 0;
	font-weight: 500;
}


/* footer */

footer {
	border-top: 0em solid #f9d530;
	border-bottom: 0em solid #056b68;
	background: #6d8180;
	color: #c2c2c2;
	margin: 0;
	padding: 0em 0 1em 0;
	font-size: 0.9rem;
}

footer h6 {
	color: #fff;
	font-size: 0.9rem;
}

footer h6 small {
	color: #c2c2c2;
	font-size: 0.7rem;
}

footer a:link,
footer a:visited {
	color: #f0f0f0;
	text-decoration: underline;
}

footer a:hover,
footer a:active {
	text-decoration: none;
}

@media (max-width: 576px) {
	footer a {
		font-size: 0.7rem;
		line-height: 2em;
		padding: 0;
	}
	footer .cs {
		font-size: 0.7rem;
	}
}

/* Vocabulary Card */

.vcard-package-box ul li a.vcard {
	position: relative;
	font-size: 0.95rem;
	font-weight: 500;
	padding: 3.3rem 1.2rem 0 1.2rem;
	line-height: 1.2em;
	color: #42403f;
}

.vcard-package-box ul li a.vcard small {
	position: absolute;
	display: block;
	font-family: consolas;
	width: 90px;
	border: 0px solid #000;
	bottom: 1.3em;
	font-size: 0.6rem;
	font-weight: 400;
	color: #4d4d4d;
}
/* vc Header */
.vc-content .vc-header {
	padding: 0.2em .5em .5em 0.5em;
}
.vc-content .vc-theme {
	color: #22a095;
	font-size: 1.5em;
	font-weight: 500;
	line-height: 1em;
}
.vc-content .vc-theme .vc-theme-en {
	color: #424242;
	font-size: 0.75em;
	display: inline-block;
	font-weight: 400;
}
.vc-content .vc-date {
	position: absolute;
	text-align: right;
	font-size: 0.5em;
	line-height: 1em;
	top: 0;
	right: 0;
	padding: .8em;
	border-radius: 1em;
	background: rgb(54, 54, 54, .4);
	color: #fff;
}

/* v-card */
.vc-content .vc-card {
	position: relative;
	padding: 0;
}

.vc-content .vc-card .vc-card-bg {
	width: auto;
	min-height: 42rem;
	margin: 0 auto;
	padding: 4rem 3rem 3rem 3rem;
	background-size: contain;
	background-repeat: no-repeat;
	transition: all 0.3s;
}

.vc-content .vc-card .vc-card-img {
	border-radius: 1em;
	box-shadow: 2px 2px 5px rgb(0, 0, 0, 0.3);
}

.vc-content .vc-card .vc-card-list {
	position: absolute;
	top: 10%;
	font-size: 1.4rem;
	text-shadow: 1px 1px 2px #e95098;
	color: #e95098;/*中文字部分*/
	font-weight: 400;
	line-height: 1em;
}

.vc-content .vc-card .vc-card-list .row {
	padding-bottom: 1rem;
}

.vc-content .vc-card .vc-card-list a:link,
.vc-content .vc-card .vc-card-list a:visited {
	text-decoration: underline;
	color: #e95098;/*單頁單字列客製*/
}

.vc-content .vc-card .vc-card-list a:hover,
.vc-content .vc-card .vc-card-list a:active {
	text-decoration: none;
	color: #eb6da5;/*單頁單字列客製*/
}

.vc-content .vc-card .vc-card-list .vc-en {
	font-weight: 700;
	font-size: 2.2rem;
	line-height: 1em;
	text-align: right;
	padding-left: 1.5em;
}

.vc-content .vc-card .vc-card-list .vc-ch {
	padding-left: 0;
	padding-right: 3em;
	line-height: 1.4em;
}

/* vc Nav */
.vc-content .vc-card .vc-nav {
	position: absolute;
	width: 78%;
	left: 11%;
	bottom: 6rem;
}

.vc-content .vc-card .btn-nav {
	font-size: 0.8rem;
	border-radius: 1.5rem;
	padding: 0.6rem 0.7rem;
	background: rgba(39, 39, 39, 0.7);
	color: #c7c7c7;
}

.vc-content .btn-nav:hover {
	color: #fff;
	background: rgba(39, 39, 39, 0.9);
}

.vc-content .vc-card .vc-nav .isDisabled {
	position: relative;
	cursor: not-allowed;
	background: rgba(39, 39, 39, 0.5);
	color: #9c9c9c;
}
.vc-content .vc-card .vc-nav .isDisabled:hover {
	position: relative;
	cursor: not-allowed;
	background: rgba(39, 39, 39, 0.5);
	color: #9c9c9c;
}

.vc-content .vc-hash {
	margin-top: 1em;
	text-align: right;
	font-size: 0.8em;
}
.vc-content .vc-hash a {
	color: #3a3a3a;
	margin: 0.2rem;
	font-size: 0.85rem;
}
.vc-content .vc-hash a:link,
.vc-content .vc-hash a:visited {
	text-decoration: underline;
}

.vc-content .vc-hash a:hover,
.vc-content .vc-hash a:active {
	text-decoration: none;
}

@media (max-width: 768.1px) {
	.vc-content .vc-card {
		padding: 0.5rem 0.5rem;
	}

	.vc-content .vc-card .vc-card-bg {
		padding: 3.5rem 1rem 1rem 1rem;
		min-height: 560px;
		max-width: 580px;
		border: 0px solid #000;
		transition: all 0.3s;
	}
	/* vc Card */
	.vc-content .vc-card .vc-card-list {		
		font-size: 1.4em;
		text-shadow: 2px 2px 3px #000;
		color: #fff;
		font-weight: 700;
		line-height: 1.4em;
	}

	.vc-content .vc-card .vc-card-list .vc-en {
		font-size: 2rem;
		line-height: 1.15em;
		text-align: right;
	}
	/* vc Nav */
	.vc-content .vc-card .vc-nav {
		bottom: 6em;
		width: 80%;
	}

	.vc-content .vc-card .btn-nav {
		font-size: 0.8em;
		border-radius: 1.5em;
		padding: 0.6em 0.7em;
		background: rgba(39, 39, 39, 0.7);
		color: #c7c7c7;
	}
}

@media (max-width: 576px) {
	.vcard-package-box ul li a.vcard {
		font-size: 0.9em;
		padding: 3.2em 0.5em 0 0.5em;
		line-height: 1.15em;
	}
	.vcard-package-box ul li a.vcard small {
		width: 84px;
		bottom: 0.9em;
	}
	/* vc Header */
	.vc-content .vc-header {
		padding: 0.2em 0.2em 0em 0.2em;
	}
	.vc-content .vc-theme {
		font-size: 1.3em;
		padding-bottom: 0;
	}
	.vc-content .vc-theme .vc-theme-en {
		font-size: 0.8rem;
		line-height: 1em;
	}
	.vc-content .vc-date {
		position: absolute;
		top: 0em;
		right: 1em;
	}

	/* vc Card */
	.vc-content .vc-card {
		padding: 0.5em 0;
	}

	.vc-content .vc-card .vc-card-bg {
		margin: 0 auto;
		padding: 2.5rem 1rem 1rem 1rem;
		min-height: 350px;
		max-width: 350px;
		transition: all 0.3s;
	}

	.vc-content .vc-card .vc-card-list {		
		font-size: 1em;
		text-shadow: 2px 2px 3px #000;
		color: #fff;
		font-weight: 400;
		line-height: 1em;
	}

	.vc-content .vc-card .vc-card-list .row {
		padding: 0 0 0.65em 0;
	}

	.vc-content .vc-card .vc-card-list .vc-en {
		font-weight: 700;
		font-size: 1.5em;
		line-height: 1em;
		text-align: right;
	}
	/* vc Nav */
	.vc-content .vc-card .vc-nav {
		width: 86%;
		left: 7%;
		bottom: 12%;
	}

	.vc-content .vc-card .btn-nav {
		font-size: 0.5rem;
		padding: 0.2rem 0.55rem;
	}

	.vc-content .vc-hash {
		margin-top: .5rem;
		font-size: 0.7em;
	}
}
