/* ============================================================
NAV
============================================================ */
.user-data{
	width: 160px;
	position: absolute;
	top: 70px;
	left: -70%;
	transform: translate(-50%,0);
	background: #ffffff;
	box-shadow: 3px 3px 10px rgba(0, 0, 0, .4);
	border-radius: 5px;
	/* position: relative; */
	display: none;
}

.user-data-container{
	width: 90%;
	position: relative;
	margin: 0 auto;
	padding-top: 20px;
}

.avatar{
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border: 3px solid #333333;
	margin: 0 auto;
	position: relative;
}

.avatar-container{
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	top: 0;
	left: 0;
	overflow: hidden;
}

.avatar img{
	width: 100%;
}

.avatar-camera{
	position: absolute;
	bottom: -5px;
	right: -5px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	text-align: center;
	line-height: 30px;
	font-size: 20px;
	color: #ffffff;
	background: rgba(0, 0, 0, .7);
}

.avatar-camera a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.user-link{
	width: 100%;
	position: relative;
	margin: 0 auto;
	margin-top: 20px;
}

.user-link ul li{
	width: 100%;
	height: 40px;
	text-align: center;
	line-height: 40px;
	color: #222222;
	font-weight: 400;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    font-size: 1em;
    position: relative;
    border-top: 1px solid #cccccc;
}

.user-link ul li a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.user-log{
	width: 100%;
}

.logout .user-log{
	border-top: 1px solid #666666;
	padding-bottom: 10px;
}

.logout-btn{
	margin: 10px auto;
}

.login .user-log{
	border-top: none;
	padding: 2px 0;
}




/* ============================================================
SECTION.UPLOAD
============================================================ */
.upload-attention {
	margin-top: 30px;
}

.upload-attention h3 {
	margin: 2rem 0 0.5rem;
	padding-left: 15px;
    line-height: 1.25rem;
	font-weight: 500;
    position: relative;
}

.upload-attention h3:before{
	content: '';
	width: 6px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-image: linear-gradient(180deg, #47aa9b 0%, #0f5c51 100%);
}

.upload-attention ul li{ 
	margin-left: 1.5rem;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: inherit;
	list-style: decimal;
	line-height: 1.8rem;
}

.upload-attention .cube-btn {
	margin:  20px 0;
}

/* step1 */
.upload-steps-tip{
	width: 90%;
	max-width: 600px;
	position: relative;
	margin: 0 auto 10px;
}

.upload-steps-nums{
	display: flex;
	justify-content: space-between;
	align-content: center;
}

.steps-num{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
}

.steps-circle{
	width: 50px;
	height: 50px;
	border: 4px solid #ffffff;
	box-sizing: border-box;
	border-radius: 50%;
	background: rgb(0,0 ,0, 0.5);
	font-size: 1.5em;
	color: #ffffff;
	font-weight: 600;
	line-height: 40px;
	text-align: center;
	position: relative;
	margin: 0 auto;
}

.steps-info{
	text-align: center;
	color: #19515C;
    font-size: 1rem;
    font-weight: bold;
}

.steps-num.active .steps-circle{
	background: #ffcc00;
	color: #2B2265;
}

.steps-tip-line{
	width: 50%;
	border-top: 5px solid #ffffff;
	position: absolute;
}

.steps-tip-line:nth-child(1){
	top: 22px;
	left: 25px;
}

.steps-tip-line:nth-child(2){
	top: 22px;
	right: 25px;
}

@media all and (max-width: 640px) {
	.steps-circle{
		width: 40px;
		height: 40px;
		font-size: 1.25em;
		line-height: 30px;
	}

	.steps-tip-line:nth-child(1){
		top: 20px;
		left: 20px;
	}

	.steps-tip-line:nth-child(2){
		top: 20px;
		right: 30px;
	}
}

.upload-step1-form {
	width: 100%;
	position: relative;
}

.fillform-row2 {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
}

.fillform-row2 .input-wrap {
	width: 48.5%;
}

.fillform-row2 .input-wrap:first-child {
	margin-right: 2.5%;
}

.input-wrap {
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	position: relative;
	padding: 10px 0;
}
@media all and (max-width: 705px) {
	.input-wrap{
		padding: 20px 0;
	}
}

.input-wrap.show-flex {
	display: flex;
	justify-content: start;
}

.input-wrap a {
	color: #333333;
	font-weight: 500;
	border-bottom: 2px solid #ffcc00;
	transition: .2s linear;
	text-decoration: none;
}

.input-wrap a:hover {
	background: #ffcc00;
}

.input-item{
	margin-bottom: 5px;
}

.input-item h4 {
	margin-top: 1rem;
	color: #333333;
	font-size: 18px;
}

.input-item p {
	color: #cccccc;
	font-size: 14px;
}


.input-item, 
.input-wrap label{
	color: #333333;
	font-size: 1rem;
	font-weight: 500;
	display: block;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
}

.input-wrap label{
	margin: 0 10px;
}

.input-wrap input[type="checkbox"] {
	margin-top: 7px;
	transform: scale(1.5);
}

.input-wrap input[type="checkbox"] + label {
	width: calc(100% - 40px);
	display: inline-block;
	margin-left: 10px;
	cursor: pointer;
}

.input-wrap label em{
	font-size: 1.25rem;
	font-weight: 500;
}

.input-content{
	/* padding: 15px 10px; */
	font-size: 1em;
	color: #000000;
	font-weight: 500;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    /* min-width: 200px; */
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}

.input-content.divide2{
	width: 49%;
}

.input-br {
	width: 48%;
	margin: 1% 1% 1% 0;
	background: rgb(0 0 0 / 10%);
    border-radius: 5px;
    padding: 10px;
    position: relative;
    box-sizing: border-box;
}
.input-br.whitebg{
	background: rgb(255 255 255 / 90%);
	color: #333;
}

.input-br-3{
	width: calc(94%/3);
}

.input-br.divide2{
	width: 49%;
	margin: 0;
	
}
.input-br.divide2:first-child {
	margin: 0 2% 0 0;
}

.input-br.divide3{
	width: 23%;
	margin: 0 1% 0 0;
}

.input-br.divide3:last-child{
	width: 49%;
}

.input-br.divide4 {
	width: calc(93%/4);
    margin: 0 1% 8px 0;
}
@media all and (max-width: 991px) {
	/* mobile will be 3 column */
	.input-br.divide4 {
		width: calc(93%/3);
		margin: 0 1% 8px 0;
	}
}

.input-br.full {
	width: 100%;
	margin: 10px 0;
}

.input-inline{
	display: inline-block;
}

.input-text{
	padding: 10px;
	font-size: 1em;
	color: #666666;
	font-weight: 500;
	border: none;
    box-sizing: border-box;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    width: 100%;
	border-bottom: 1px solid #ffffff;
	background-color: transparent;
}
.input-br.whitebg .input-text{
	border-bottom: 1px solid #ddd;
}

.input-text option {
	background-color: #000;
	color: #fff;
}

.input-br input[type=radio] {
    transform: scale(1.5);
}

.input-br input[type=radio] + label {
	width: calc(100% - 60px);
	height: 100%;
	padding: 4px 0;
	cursor: pointer;
}

.input-br input[type=radio]:checked + label  {
    color: #333333;
}

.input-gender label{
	width: 70px;
	color: #000000;
}

.input-wrap label.input-inline{
	display: inline-block;
}

input::-webkit-input-placeholder{
	color: #666666;
}

form.form-address{
	width: 100%;
	position: relative;
	display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}

.input-address {
	width: 100%;
}

.input-full {
	width: 100%;
}

.input-flex {
	display: flex;
	align-items: center;
}

.pro-spec {
	font-size: 0.875rem;
	color: #cccccc;
	display: block;
}

@media all and (max-width: 480px) {
	.input-br{
		margin: 1% 0;
		width: 100%;
	}
	
	.input-inline{
		width: 48%;
	}
}

.upload-remind ol, 
.upload-remind ol li{
	list-style: decimal;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	margin-left: -0.5em;
}

.upload-remind a{
	padding-bottom: 1px;
	color: #ffffff;
	border-bottom: 1px solid #ffcc00;
	display: inline-block;
}

.upload-btns{
	width: 100%;
	position: relative;
	margin: 0 auto;
}

.upload-back-btn{
	float: left;
}

.upload-next-btn{
	width: calc(100% - 140px);
	float: right;
}

.upload-btns:after{
	content: '';
	display: table;
	clear: both;
}

p.step1-fixed {
	font-size: 1em;
    color: #000000;
    font-weight: 500;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    width: 100%;
    height: 25px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
@media all and (max-width: 480px) {
	.cube-btn.upload-back-btn, 
	.cube-btn.upload-next-btn{
		width: 100%;
		float: none;
		margin: 10px 0;
	}
}


/* step2 */
.upload-step2{
	width: 100%;
	position: relative;
}

.step2-wrap{
	margin: 20px 0;
}

.step2-wrap .upload-remind{
	color: #666666;
}

.upload-step2-period{
	width: 100%;
	max-width: 400px;
}

.upload-step2-period tr td{
	width: 50%;
	text-align: center;
	padding: 10px 0;
	vertical-align: middle;
	font-size: 1em;
	color: #222222;
	font-weight: 500;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    border: 1px solid #999999;
    opacity: .5;
}

.upload-step2-period tr.step2-period-active td{
	opacity: 1;
	border: 2px solid #222222;
	background: #000000;
    color: #ffcc00;
}

.step2-form{
	margin: 20px 0;
	color: #ffffff;
}

.step2-form input[type=radio]{
	width: 20px;
	height: 20px;
	zoom: 1.1;
}

.step2-form label{
	font-size: 1.2em;
	color: #ffcc00;
	font-weight: 500;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
}

.step2-form label p{
	font-size: .85em;
	color: #eeeeee;
	font-weight: 400;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    margin-left: 32px;
    line-height: 1.4em;
}

.runner2-info {
	margin: 30px 0;
}

.runner2-info .runner2-title{
	color: #009688;
    text-align: center;
	position: relative;
}

.runner2-info .runner2-title::before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    top: 15px;
    left: 0;
    background-color: #dedede;
    z-index: 0;
}

.runner2-info .runner2-title span{
	padding: 0 15px;
    font-weight: 500;
    font-size: 1.25rem;
    background-color: #fff;
	position: relative;
    z-index: 1;
}

.bill-wrap {
	width: 100%;
	padding: 20px 30px;
	box-sizing: border-box;
	background: #eeeeee;
	position: relative;
	border-radius: 5px;
}

.bill-container{
	width: 90%;
	position: relative;
	margin: 0 auto;
}

.bill-container table{
	width: 100%;
	position: relative;
	border-collapse: collapse;
}
.bill-container table a {
	color: #ffffff;
	border-bottom: 2px solid #ffcc00;
	transition: .2s linear;
	text-decoration: none;
}

.bill-container table tr td{
	padding: 10px 0;
	color: #fff;
	font-weight: 400;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    font-size: 1.1em;
}
.bill-container table tr:last-child {
	border-top: 3px solid #333333;
}

.bill-container table tr td .store-pay {
    padding: 10px;
	box-sizing: border-box;
	border: 3px solid #454545;
}

.bill-container table tr td .store-pay span{
	padding-bottom: 15px;
	display: block;
	font-size: 14px;
}

.bill-container table tr td .store-pay p{
	letter-spacing: 1px;
}

.bill-container table tr td .store-pay em{
	margin-top: 5px; 
	font-size: 14px; 
	color: #FF5555;
	letter-spacing: 1px;
	display: block;
}

.bill-container table tr td:nth-child(1){
	width: 40%;
}

.bill-container table tr td:nth-child(2){
	text-align: right;
	font-weight: 600;
}

.bill-container table tr td.total{
	text-align: right;
	font-weight: 600;
}

.bill-container table tr td.total h6{
	font-size: 2em;
	color: #FF5555;
}

.bill-container table tr.sum-cost {
	border-top: 1px solid #cccccc;
}

.bill-container table tr:nth-last-child(1) td h6 em{
	font-size: .5em;
	color: #fff;
}

.bill-container table tr td .note{
	font-size: 0.875rem;
	color: #666666;
}

.bill-container ol.remind-little {
	margin: 20px 0 0 -1em;
    padding-top: 20px;
    margin-left: -1em;
    border-top: 1px solid #eeeeee;
}

.bill-container ol.remind-little li {
	list-style: disc;
}

.bill-wrap .row.row-with-line {
	margin: 15px 0;
	padding-bottom: 10px;
	border-bottom: 1px solid #fff;
}

.bill-wrap .row .little-mark {
	width: 47px;
	border-radius: 3px;
	width: 36px;
	font-size: 0.85rem;
	font-weight: 500;
	color: #ffffff;
    background: #FF712B;
	margin-right: 5px;
	padding: 2px 3px;
}

.bill-wrap .row .col {
	display: inline-block;
}

.bill-wrap .row.table-title{
	margin-top: 10px;
	padding: 0 5px;
	box-sizing: border-box;
	background-color: #487C48;
    color: #ffffff;
    font-weight: bold;
}

.bill-wrap .row .col:first-child {
	width: 38%;
	padding: 5px 0;
}

.bill-wrap .row .col.col-full {
	display: block;
	margin-left: 10%;
	padding-top: 20px;
	font-size: 0.875rem;
	color: #666;
}

.bill-wrap .row .col:nth-child(2){
	width: 25%;
	padding: 5px 0;
}

.bill-wrap .row .col:nth-child(3){
	width: 25%;
	padding: 5px 0;
}

.bill-wrap .row .col.product-num select{
	width: 100%;
    height: 2rem;
    line-height: 2rem;
    border: 1px solid #dddddd;
    border-radius: 5px;
}

.bill-wrap .row .col.expand {
	width: 60%;
}

.bill-wrap .row .col.expand input[type=text] {
	width: 100%;
    height: 2rem;
    line-height: 2rem;
    max-width: 270px;
	border: 1px solid #dddddd;
    border-radius: 5px;
}

.bill-wrap .row .col.expand input[type=radio] {
    max-width: 160px;
	transform: scale(1.5);
}

.bill-wrap .row .col.expand span {
	display: inline-block;
    margin: 0 1rem 0rem 0;
}

.bill-wrap button {
	margin: 0 5px;
    padding: 8px 10px;
	color: #000000;
	background: #ffcc00;
    border: 0;
    border-radius: 5px;
	font-weight: 500;
	cursor: pointer;
    transition: all .4s ease-in-out;
}

.bill-wrap button:hover {
	color: #504300;
	background: #ffe16a;
    transition: all .4s ease-in-out;
}

.bill-wrap .row.voucher {
	padding: 0px 10px;
    background: #fff;
    display: flex;
    align-items: center;
}

.bill-wrap .row .col-full h4 {
	padding: 15px 0;
	font-size: 1rem;
	font-weight: normal;
}

.bill-wrap .row .col-full .notice {
	padding: 15px 0;
	font-size: 0.875rem;
	color: #666666;
}

.bill-wrap .row .price {
	color: #487C48;
	font-weight: 500;
}

.bill-wrap .row .col.shrink {
	/* width: 20%; */
}

.bill-wrap .row .store-payment{
	margin-left: 30px;
}

.bill-wrap .row .store-payment ul{
	margin: 20px 0 10px;
}

.bill-wrap .row .store-payment ul li{
	margin: 0;
	list-style: disc;
	font-size: 0.875rem;
	line-height: 1.2rem;
	color: #999999;
}

.bill-wrap .total-fee {
	margin-top: 15px;
	padding: 10px 10px;
	font-weight: 500;
    background: #ffffff;
    color: #FF712B;
}
.bill-wrap .total-fee .col {
	font-size: 1.625rem;
}


/* step3 */
.upload-step3 {
	margin-bottom: 40px;
}

.upload-step3-tab{
	width: 100%;
	background: #ffffff;
	position: relative;
}

.step3-tab-container{
	width: 95%;
	max-width: 700px;
	position: relative;
	margin: 0 auto;
}

.step3-tab-container ul{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: stretch;
}

.step3-tab{
	width: 20%;
	text-align: center;
	color: #222222;
	font-weight: 400;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    font-size: 1.1em;
    padding: 10px 0;
    position: relative;
}

br.w415{
	display: none;
}

@media all and (max-width: 415px) {
	.step3-tab{
		font-size: .9em;
		line-height: 1.2em;
	}

	br.w415{
		display: block;
	}

	.step3-tab-container ul{
		align-items: center;
	}
}

.step3-tab:after{
	content: '';
	display: table;
	position: absolute;
	width: 100%;
	height: 5px;
	bottom: 0;
	left: 0;
	background: #ffcc00;
	opacity: 0;
	transition: .2s linear;
}

.step3-tab:hover.step3-tab:after{
	opacity: 1;
}

.step3-tab a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.step3-tab.active:after{
	content: '';
	display: table;
	position: absolute;
	width: 100%;
	height: 5px;
	bottom: 0;
	left: 0;
	background: #ffcc00;
	opacity: 1;
}

.item-container{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	margin: 30px 0;
	flex-wrap: wrap;
}

ul.list-point li {
	list-style-type: disc;
	line-height: 1.5rem;
}

.widget-wrap {
	display: flex;
	flex-wrap: wrap;
}

.widget-notice { 
	width: calc(50% - 10px);
    margin: 0 10px 0 0;
    padding: 20px;
	box-sizing: border-box;
	/* border: 2px solid rgba(255,255,255,0.16); */
	text-align: center;
	position: relative;
	background-color: #ffffff;
	border-radius: 10px;
    overflow: hidden;
}
@media all and (max-width: 991px) {
	.widget-notice { 
		width: 100%;
		margin: 20px auto;
	}
}

.widget-notice ul {
	margin-left: 1.5rem;
    margin-top: 1rem;
}

.widget-notice ul li{
	list-style-type: decimal;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	text-align: left;
	letter-spacing: 1px;
}

.widget-wrap .icon {
	width: 32px;
}

.widget-notice img{
	
	margin-bottom: -10px;
}

.widget-miles {
	width: calc(25% - 10px);
	padding: 20px 10px;
	box-sizing: border-box;
	text-align: center;
	position: relative;
	background-color: #ffffff;
	border-radius: 10px;
    /* overflow: hidden; */
	position: relative;
}
@media all and (max-width: 991px) {
	.widget-miles {
		width: calc(50% - 10px);
		padding: 10px 10px;
	}
}

.widget-miles:last-of-type{
	margin-left: 10px;
}

.widget-miles p {
	margin: 10px auto 0;
	text-align: center;
}

.widget-miles img {
	margin-bottom: -10px;
}

@media all and (max-width: 480px) {
	.widget-notice img,
	.widget-miles img {
		margin: 10px auto;
		display: block;
	}
}

.widget-miles p span {
	color: #000;
	font-size: 3em;
	display: inline-block;
    padding: 0 10px;
}

.widget-miles .stamp-achieved {
	padding: 6px 24px;
    border-radius: 10px;
    border: 3px solid #ff6600;
    color: #ff6600;
    font-size: 1.25rem;
    position: absolute;
    left: 64px;
    bottom: -20px;
    transform: rotate(-10deg);
	animation: stampPulse 1s ease-in-out infinite alternate;
}
@keyframes stampPulse {
  0% {
    color: #ff6600;
    border-color: #ff6600;
  }
  100% {
    color: #ffb300;
    border-color: #ffb300;
  }
}


.widget-tip {
	margin-top: 60px;
    padding: 30px 30px;
    background-color: #fff;
    border-left: 4px solid #ffcc00;
    box-shadow: 0 10px 20px 0 rgb(0 0 0 / 10%);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    border-radius: 10px;
}

.widget-tip .left {
	width: 40%;
	padding: 20px;
	box-sizing: border-box;
	font-size: 1.5em;
	border-right: 1px solid #ccc;
	text-align: center;
	color: #333;
	font-weight: 500;
}

.widget-tip .right {
	width: 60%;
	padding: 0 20px;
	box-sizing: border-box;
}

@media all and (max-width: 991px) {
	.widget-tip {
		margin-top: 40px;
		padding: 20px 30px;
	}

	.widget-tip .left {
		width: 100%;
		padding: 0 0 20px;
		text-align: left;
		border: 0;
	}

	.widget-tip .right {
		width: 100%;
		padding: 0;
	}
}

.widget-tip ul {
	margin-left: 1.5em;
}
.widget-tip ul li {
	list-style-type: decimal;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
}

.widget-notice::after,
.widget-miles::after {
	content: "";
	width: 6px;
	height: 100%;
	position: absolute;
	left: 0;
	top:0;
	background-image: linear-gradient(180deg, #FFC107 0%, #ffffff 100%);
}

.finish-status.block {
	padding: 5rem 0;
}
.finish-status p {
	text-align: center;
	font-size: 1.2em;
}

.finish-status p a {
	color: #000000;
	position: relative;
}

.finish-status p a:after{
	content: "";
	width: 100%;
	height: 3px;
	background: #ffcc00;
	position: absolute;
	left: 0;
	bottom: -5px;
}

.finish-status .upload-remind {
	padding: 0 0 20px;
}

.card-list-title {
	margin: 40px 0 10px;
	padding-left: 20px;
	font-size: 1.5em;
    position: relative;
    font-weight: 500;
    letter-spacing: 2px;
}

.card-list-title::after {
	content: '';
	width: 6px;
	height: 90%;
	position: absolute;
	left: 2px;
	top: 5px;
	background-image: linear-gradient(180deg, #ffcc00 0%, #F5F2FF 100%);
}

.card-wrap {
	text-align: center;
	display: flex;
	flex-wrap: wrap;
}

.photo-card {
	width: calc(25% - 20px);
    height: 350px;
    margin: 0 20px 20px 0;
	box-sizing: border-box;
	position: relative;
	transition: all 0.4s ease;
	border-radius: 10px;
	overflow: hidden;
	background-color: #ffffff;
}
@media all and (max-width: 991px) {
	.photo-card {
		width: calc(50% - 20px);
		
	}
}
@media all and (max-width: 750px) {
	.photo-card {
		width: 100%;
		margin: 20px auto;
	}
}

.photo-card.empty {
	border: 3px dashed #d7d7d7;
	display: flex;
    justify-content: center;
    align-items: center;
	background-color: #fff;
}

.photo-card a {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
	top: 0;
	opacity: 0;
	transition: all 0.4s ease;
}

.photo-card:hover a {
    opacity: 1;
}

.photo-card.empty:hover {
	cursor: pointer;
	border: 3px dashed #bababa;
	background-color: #eee;
}

.photo-card .btn-overlay {
	background: rgba(0,0,0,0.30);
}

.photo-card .delete{
    padding: 10px;
    position: absolute;
    right: 0;
	top: 0;
	z-index: 3;
	opacity: 0;
}

.photo-card:hover .delete{
	opacity: 1;
	cursor: pointer;
}

.photo-card .btn-overlay .edit{
	text-align: center;
	border: 1px solid;
	padding: 10px;
    width: 100px;
    position: absolute;
    left: 54px;
    color: #ffffff;
    top: 120px;
    border-radius: 3px;
}

.photo-card .cover {
	width: 100%;
	height: 200px;
	overflow: hidden;
    background: #ffcc00;
}
.photo-card .cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.photo-card .text {
	padding: 1rem;
}
.photo-card .riding-date {
	font-size: 14px;
	color: #999999;
	line-height: 1rem;
}

.photo-card .caption {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	text-align: left;
	font-weight: bold;
}

.photo-card .category {
	margin-top: 1rem;
	color: #999999;
}

.photo-card .category > span {
	color: #333;
}

.photo-card .finish-mark {
	width: 60px;
    border: 1px solid #FF9800;
    color: #FF9800;
    border-radius: 5px;
    transform: rotate(-10deg);
    margin-left: 75%;
    margin-top: -20px;
    text-align: center;
    font-size: 13px;
}

.btn-create {
	background: url(../img/icon-add.svg) no-repeat center top;
    width: 100px;
    text-align: center;
	padding-top: 2.3rem;
	color: #999;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
}

.photo-card .coner-ribbon {
	width: 85px;
    text-align: center;
    color: #2B2B2B;
    transform: rotate(-42deg);
	background: #FACC01;
	position: absolute;
    left: -20px;
    top: 10px;
    letter-spacing: 3px;
}


.upload-top {
	width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    margin: 30px 0;
}

.upload-top .upload-info {
	width: 100%;
	max-width: 528px;
}

.upload-top .photos-number {
	text-align: center;
}

.upload-top .photos-number em {
	font-size: 2rem;
	margin: 0 1rem;
}

.upload-left, .upload-right{
	width: 48%;
}

.upload-left .upload-intro {
	padding-left: 1rem;
	padding-bottom: 1rem;
}

.upload-left .upload-intro p,
.upload-right .upload-intro p {
	text-indent: -1rem;
	font-weight: 500;
}

h5.mobile-hint{
	font-size: 1.2em;
	font-weight: 600;
}


.upload-area{
	margin-bottom: 30px;
	position: relative;
	z-index: 1;
}

.upload-drag{
	width: 100%;
	padding-bottom: 66.6667%;
	border: 3px dotted #9E9E9E;
	box-sizing: border-box;
	position: relative;
	background-color: #ebebeb;
}

.upload-drag a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 2;
}

.upload-img{
	position: absolute;
	max-width: 100%;
	max-height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 2;
}

.upload-drag-text{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
}

.upload-drag-text p{
	text-align: center;
	color: #999;
	font-weight: 400;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    font-size: 1em;
}

.upload-drag-text p em{
	font-size: 4em;
}

.upload-file{
	width: 150px;
	padding: 10px 0;
	text-align: center;
}

p.upload-unit{
	margin-bottom: 5px;
	font-weight: 500;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-size: 1.1rem;
	text-align: left;
	color: #333333;
}

p.upload-unit em{
	font-size: 1em;
}

.upload-img-info{
	margin-top: 20px;
	padding-bottom: 30px;
	border-bottom: 1px solid #cccccc;
}

.upload-img-info textarea{
	width: 100%;
	color: #222222;
	font-weight: 400;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    font-size: 1em;
    padding: 10px 5px;
    box-sizing: border-box;
    border: 1px solid #cccccc;
}

.upload-plus{
	width: 100%;
	height: 40px;
	background: #000000;
	color: #ffffff;
	text-align: center;
	line-height: 40px;
	font-size: 1.5em;
	cursor: pointer;
}

.rotate-img {
	text-align: center;
	margin-top: 1rem;
}

.rotate-img .turn-left,
.rotate-img .turn-right {
	width: 32px;
	height: 32px;
	display: inline-block;
	margin: 0 4px;
	padding: 4px;
	border-radius: 3px;
	background-image: url(../img/icon-turnleft.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-color: #333333;
	cursor: pointer;
	transition: all 0.4s ease;
}

.rotate-img .turn-left:hover,
.rotate-img .turn-right:hover {
	background-color: #000000;
} 

.rotate-img .turn-right {
	background-image: url(../img/icon-turnright.svg);
}


/* right */
.upload-info{
	margin-bottom: 20px;
}

.upload-info .input-text{
	width: 100%;
	/* margin-top: 10px; */
}

input.input-text:disabled {
	color: #666;
}

.input-br input[type=radio]:disabled {
	display: none;
}

.input-br input[type=radio]:disabled + label {
	color: #666;
}

.upload-info .input-br label {
	color: #ffffff;
}

.upload-info .input-br.whitebg label {
	color: #333;
}

.upload-info input[type=checkbox]{
	/* width: 20px;
	height: 20px;
	zoom: 1.1;
	vertical-align: middle; */

	position: absolute;
	opacity: 0;
	height: 0;
	width: 0;
}

.upload-info input[type=checkbox] ~ label {
	position: relative;
	display: block;
	padding-left: 30px;
	cursor: pointer;
}

.upload-info input[type=checkbox] + label:before {
	content: '';
	position: absolute;
	top: 50%;
	margin-top: -10px;
	left: 0;
	display: block;
	height: 16px;
	width: 16px;
	/* background-color: #cccccc; */
	border: 2px solid #ccc;
	border-radius: 2px;
}

.upload-info input[type=checkbox] + label:hover:before {
	background-color: #eee;
}

.upload-info input[type=checkbox] + label:after {
	content: '';
	position: absolute;
	left: 7px;
	top: 1px;
	width: 5px;
	height: 10px;
	border: solid #ffcc00;
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
	opacity: 0;
}


.upload-info input:checked + label:after {
	opacity: 1;
}

.mobile-assign{
	color: #222222;
	font-weight: 400;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    font-size: 1em;
}

.upload-info textarea{
	width: 100%;
	color: #222222;
	font-weight: 400;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    font-size: 1em;
    border: 1px solid #cccccc;
    box-sizing: border-box;
    padding: 10px;
    text-align: justify;
}

.upload-remind ol.ol-number li{
	color: #ff0000;
	margin-left: 0;
}

.upload-remind ol.ol-number{
	margin-left: 0;
}

.upload-remind ol.ol-number li em{
	border-bottom: 2px solid #ff0000;
}

.upload-step3-btns{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-content: center;
	align-items: center;
}

.youth-form{
	padding-bottom: 30px;
}


@media all and (max-width: 768px) {
	.item-container{
		display: block;
	}

	.upload-left, .upload-right{
		width: 100%;
	}
}

@media all and (max-width: 480px) {
	.upload-step3-btns{
		display: block;
	}

	.cube-btn.half-width{
		width: 100%;
	}
}

.sub-nav-fixed{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 19;
}

.download-content {
	margin: 30px 0;
	text-align: center;
}

.download-content p {
	margin: 1rem 0;
	text-align: center;
}

.download-content img{
	width: 90%;
	max-width: 720px;
}





/* ============================================================
SECTION.AVATAR CROPPER
============================================================ */
.avatar-cropper-btns{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-content: center;
	align-items: center;
}

@media all and (max-width: 480px) {
	.avatar-cropper-btns{
		display: block;
	}

	.cube-btn.half-width{
		width: 100%;
	}
}


/* ============================================================
SECTION MEMBER
============================================================ */
.member-intro{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-content: center;
	align-items: flex-start;
}

.member-avatar{
	width: 120px;
	height: 120px;
	border-radius: 50%;
	overflow: hidden;
	position: relative;/* 
	background: url('../img/avatar-sample.jpg') no-repeat;
	background-size: cover;
	background-position: center center; */
}

.member-avatar img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.member-avatar a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.member-info{
	width: calc(100% - 150px);
	position: relative;
	border-bottom: 1px solid #cccccc;
}

h3.user-name{
	
	font-size: 1.5em;
	font-weight: 600;
	text-transform: uppercase;
	color: #222222;
	line-height: 1.4em;
	width: calc(100% - 70px);
}

h3.board {
	font-size: 1.5rem;
	line-height: 1.5;
    margin-bottom: 2rem;
    margin-left: -1.5rem;
    padding: 10px 20px;
    display: inline-block;
    width: fit-content;
    transform: rotate(-5deg);
    background-color: #ede4a1;
    color: #547054;
}

h3.board::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-top: 12px solid #EDE4A1;
}

h6.user-jointime{
	color: #999999;
	font-size: .9em;
	font-weight: 400;
	width: calc(100% - 70px);
}

p.user-description{
	color: #666666;
	font-size: 1em;
	font-weight: 400;
	margin: 10px 0;
	width: 100%;
	height: 50px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.member-setting{
	width: 40px;
	height: 40px;
	border: 1px solid #222222;
	box-sizing: border-box;
	color: #222222;
	line-height: 40px;
	text-align: center;
	font-size: 1.5em;
	position: absolute;
	top: 0;
	right: 0;
	transition: .2s linear;
}

.member-setting a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.member-setting:hover{
	color: #ffffff;
	background: #222222;
}

@media screen and (orientation: portrait) {
	.member-setting:hover{
		color: #222222;
		background: none;
	}

}

.membertemp{
	width: 100%;
	position: relative;
	margin: 20px auto;
	display: flex;
	justify-content: space-between;
}

.member-tab{
	min-width: 120px;
	margin-left: 150px;
}

.member-tab ul li{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: 1em;
	color: #222222;
	text-transform: uppercase;
}

.member-tab ul li em{
	font-weight: 600;
	color: #f3c200;
	font-size: 1.1em;
}

.member-tab ul li em a{
	color: #f3c200;
}

.member-sort label{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: .9em;
	color: #222222;
}

.member-sort select{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: .9em;
	color: #222222;
	width: 120px;
	height: 36px;
	border: 1px solid #cccccc;
    background: #ffffff;

    /*移除箭頭樣式*/
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;

	/*改變右邊箭頭樣式*/
	background: url("../img/sort-down.svg") no-repeat 90% center transparent;
	background-size: 12%;
    padding: 0 10px;
}

.member-photos{
	width: 100%;
	position: relative;
	margin: 0 auto;
}

.member-photos ul{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-content: center;
	flex-wrap: wrap;
}

.member-photos ul li{
	width: 32%;
	padding-bottom: 32%;
	position: relative;
	margin: 0.6%;
}

.photo-container{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	overflow: hidden;
}

.photo-container img{
	object-fit: cover;
	object-position: 50% 50%; /* default value: image is centered*/
	height: 100%;
	width: 100%;
}

a.photo-link{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.vote-btn{
	width: 90px;
	height: 90px;
	background: rgba(0, 0, 0, .7);
	position: absolute;
	left: 0;
	bottom: 0;
	text-align: center;
}

.vote-clap{
	width: 36px;
	position: relative;
	margin: 0 auto;
	padding-top: 5px;
	transform: scale(1);
	transition: .2s linear;
}

.vote-clap img{
	width: 100%;
}

.vote-clap-animate{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.vote-clap-animate-run{
	animation: clapVote .65s ease-in-out forwards;
}

.vote-clap-animate img{
	width: 100%;
}

.vote-btn h6{
	font-size: .9em;
	color: #ffcc00;
	font-weight: 500;
	text-align: center;
	margin-top: -2px;
}

.vote-btn p{
	font-size: 1em;
	color: #ffffff;
	font-weight: 400;
	text-align: center;
}

.vote-btn a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.vote-btn:hover .vote-clap{
	transform: rotate(-10deg);
}

.album-icon{
	width: 35px;
	height: 35px;
	background: rgba(0, 0, 0, .7);
	position: absolute;
	left: 0;
	top: 0;
	text-align: center;
	line-height: 35px;
	color: #cccccc;
}

@keyframes clapVote{
	0%{
		transform: scale(1.5);
		opacity: 0;
	}

	50%{
		transform: scale(2.5);
		opacity: 1;
	}

	100%{
		transform: scale(1);
		opacity: 0;
	}
}

.photo-share{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, .7);
	display: none;
	opacity: 0;
}

.photo-share, .share-back{
	z-index: 2;
}

.share-btns{
	width: 100%;
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
	display: flex;
	justify-content: center;
}

.share-btns a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.share-circle{
	width: 60px;
	height: 60px;
	border-radius: 50%;
	color: #ffffff;
	text-align: center;
	line-height: 60px;
	font-size: 2em;
	margin: 10px;
	position: relative;
	opacity: 1;
	transition: .2s linear;
}

.share-circle a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.share-circle:hover{
	opacity: .7;
}

.photoshare-fb{
	background: #3b5998;
}

.photoshare-line{
	background: #00c300;
}

.photoshare-link{
	background: #ffffff;
	color: #222222;
}

.share-back{
	width: 80px;
	height: 30px;
	border-radius: 5000px;
	background: #ffcc00;
	color: #000000;
	text-align: center;
	line-height: 30px;
	text-transform: uppercase;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-size: 1em;
	font-weight: 400;
	position: absolute;
	bottom: 10px;
	right: 10px;
	cursor: pointer;
	transition: .2s linear;
}

.share-back:hover{
	background: #ffffff;
}

@media all and (max-width: 1100px) {
	.member-photos ul li{
		width: 49%;
		padding-bottom: 49%;
		margin: 0.5%;
	}
}


@media all and (max-width: 640px) {
	.member-intro{
		display: block;
	}

	.member-avatar{
		margin: 0 auto;
		margin-bottom: 20px;
	}

	.member-info{
		width: 100%;
	}

	h3.user-name{
		/* text-align: center; */
		width: 100%;
		font-size: 1.2em;
	}

	h6.user-jointime{
		text-align: center;
		width: 100%;
	}

	p.user-description{
		height: 70px;
	    overflow: hidden;
	    display: -webkit-box;
	    -webkit-box-orient: vertical;
	    -webkit-line-clamp: 3;
	}

	.member-tab{
		margin-left: 0;
	}

	.member-sort form{
		text-align: right;
	}

	.share-circle{
		margin: 5px;
	}

	
}

@media all and (max-width: 480px) {
	.vote-btn{
		width: 70px;
		height: 70px;
	}

	.vote-clap{
		width: 25px;
	}

	.vote-btn h6{
		font-size: .8em;
	}

	.vote-btn p{
		font-size: .9em;
	}

	.photo-share, .share-back{
		display: none;
	}
}

/* ============================================================
COLLECTION
============================================================ */
.search-btn{
	position: absolute;
	top: 0;
	right: 0;
	padding: 10px 20px;
	font-size: 1.1em;
	color: #222222;
}

.search-btn a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.collection-tab{
	margin: 20px 0;
}

.ad300250{
	background: #ffffff;
	border: 5px solid #ffcc00;
	box-sizing: border-box;
	/* box-shadow: 5px 5px 0px rgba(0,0,0,.5); */
}

.ad300250-container{
	position: absolute;
	width: 300px;
	height: 280px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.ad300250-container p{
	width: 100%;
	height: 30px;
	text-align: center;
	line-height: 30px;
	color: #999999;
	font-size: .9em;
}

.member-sort.collection{
	margin: 10px 0;
}

@media all and (max-width: 960px){
	.search-btn{
		top: 50px;
		padding: 0;
		width: 50px;
	    height: 50px;
	    text-align: center;
	    line-height: 50px;
	    background: #ffcc00;
	    border-radius: 50%;
	}
}


@media all and (max-width: 700px) {
	.member-photos ul li.ad300250{
		width: 320px;
		height: 300px;
		margin: 20px auto;
	}
}

@media all and (max-width: 640px) {
	.member-sort.collection form {
	    text-align: left;
	}

	
}


.searchpop{
	width: 90%;
	max-width: 900px;
	height: 70vh;
	background: rgba(0, 0, 0, .9);
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	z-index: 2;
	display: none;
}

.searchpop-container{
	width: 90%;
	height: calc(70vh - 60px);
	position: absolute;
	left: 5%;
	top: 30px;
}

.close-btn{
	width: 50px;
	height: 50px;
	position: absolute;
	cursor: pointer;
	top: 0;
	right: 0;
	z-index: 2;
}

.close-line{
	width: 50px;
	height: 2px;
	background: #ffffff;
	position: absolute;
	top: 50%;
	/* left: 50%; */
	transform: translate(-50%, -50%);
}

.close-line:nth-child(1){
	transform: rotate(45deg);
}

.close-line:nth-child(2){
	transform: rotate(-45deg);
}

.searchpop-content{
	position: absolute;
	width: 100%;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
}

.searchpop-sort label{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: .9em;
	color: #ffffff;
}

.searchpop-sort select{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: .9em;
	color: #ffffff;
	width: 120px;
	height: 36px;
	border: 1px solid #cccccc;
    background: #000000;

    /*移除箭頭樣式*/
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;

	/*改變右邊箭頭樣式*/
	background: url("../img/sort-down_w.svg") no-repeat 90% center transparent;
	background-size: 12%;
    padding: 0 10px;
}

.searchpop-input{
	width: 100%;
	position: relative;
	margin: 20px 0;
}

.searchpop-input-css{
	width: 100%;
	height: 50px;
	padding: 0 60px 0 10px;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: 1em;
	line-height: 50px;
	color: #ffffff;
	border: 1px solid #cccccc;
	background: none;
	box-sizing: border-box;
	border-radius: 5px;
}

.searchpop-icon{
	position: absolute;
	width: 50px;
	height: 50px;
	right: 10px;
	top: 0;
	line-height: 50px;
	text-align: center;
	font-size: 1.25em;
	color: #ffffff;
}

.searchpop-icon a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

/* ============================================================
prev-next
============================================================ */
.prev-next{
	width: 100%;
	position: relative;
	margin: 24px auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.collection-direction{
	width: 120px;
	padding: 10px 0;
	border-top: 1px solid #666666;
	border-bottom: 1px solid #666666;
	opacity: 1;
	transition: .2s linear;
	position: relative;
}

.collection-direction:hover{
	opacity: .7;
}

.collection-direction p{
	font-size: 1em;
	vertical-align: middle;
	color: #222222;
}

.collection-direction i{
	vertical-align: middle;
}

.collection-direction a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.collection-prev p{
	text-align: left;
}

.collection-next p{
	text-align: right;
}

.collection-direction.disable{
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
}

.collection-direction.disable p{
	color: #999999;
}

.collection-direction.disable:hover{
	opacity: 1;
}



/* ============================================================
SEARCH RESULT
============================================================ */
.search-result-text{
	width: 100%;
	position: relative;
	margin: 20px auto;
}

.search-result-text p{
	color: #666666;
	font-size: .9em;
	font-weight: 400;
	text-align: left;
}

.search-result-text h3{
	color: #222222;
	font-size: 2em;
	font-weight: 600;
	text-align: left;
	line-height: 1.4em;
}

.search-result-text.sub-nav-fixed{
	background: #f5f5f5;
    margin: 0;
    padding: 10px 0;
    box-shadow: 0px 2px 8px rgba(0,0,0,.3);
}

.search-result-text.sub-nav-fixed p, .search-result-text.sub-nav-fixed h3{
	text-align: center;
}

.search-result-text.sub-nav-fixed h3{
	font-size: 1.5em;
}

/* ============================================================
PICTURE
============================================================ */
.picture-container{
	width: 100%;
	padding-bottom: 66.66667%;
	position: relative;
	margin: 20px auto;
	background: #ffffff;
	overflow: hidden;
}

.album-container{
	padding-bottom: 60px;
	/* margin-bottom: 60px; */
	background: none;
}

.picimg-container{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.picimg-container img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.picture-author{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 30px 0;
}

.author-content{
	width: calc(100% - 180px);
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

.author-avatar{
	width: 90px;
	height: 90px;
	border-radius: 50%;
	overflow: hidden;
	position: relative;
	margin-right: 20px;
}

.author-avatar img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.author-avatar a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.author-text p{
	color: #222222;
}

h3.author-name{
	color: #ffcc00;
	line-height: 1.6em;
	width: auto;
}

.author-name a{
	color: #ffcc00;
}

.picture-vote{
	width: 170px;
}

.picture-vote-btn{
	position: relative;
	left: auto;
	bottom: auto;
	margin-left: calc(170px - 90px);
	margin-bottom: 20px;
}

.picture-circle{
	width: 40px;
	height: 40px;
	font-size: 1.5em;
	line-height: 42px;
	margin: 5px;
}

.picture-share-btns{
	width: 160px;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media all and (max-width: 640px) {
	.picture-author{
		display: block;
	}

	.author-content{
		width: 100%;
	}

	.picture-vote-btn{
		margin: 0;
		float: right;
	}

	.picture-share{
		float: left;
	}

	.picture-vote{
		width: 100%;
		position: relative;
		margin-top: 20px;
	}

	.picture-vote:after{
		content: '';
		display: table;
		clear: both;
	}
}

@media all and (max-width: 480px){
	.author-content{
		/* display: block; */
	}

	.author-avatar{
		width: 100px;
		height: 100px;
		/* margin: 15px auto; */
	}

	/* .author-text, .author-text h3, .author-text p{
		width: 100%;
		text-align: center;
	} */

	.author-text{
		width: calc(80% - 100px);
	}
}

.picture-info{
	width: 100%;
	position: relative;
	margin: 20px auto;
}

.picture-ad{
	width: 320px;
    height: 300px;
    position: relative;
    /* float: right; */
    margin: 10px auto;
}

.picture-intro{
	width: 100%;
	position: relative;
	float: left;
}

.picture-info:after{
	content: '';
	display: table;
	clear: both;
}

.picture-sub{
	font-size: 1em;
	color: #ffbc38;
	font-weight: 500;
}

.picture-title{
	font-size: 2em;
	color: #222222;
	font-weight: 600;
	line-height: 1.8em;
}

.picture-description{
	font-size: 1.1em;
	color: #444444;
	line-height: 1.4em;
	letter-spacing: .05em;
	/* margin: 10px 0; */
}

.picture-description em{
	font-weight: 500;
	color: #111111;
}

.picture-info{
	margin: 10px 0;
}

h6.hashtag{
	font-size: 1.1em;
	font-weight: 400;
	color: #444444;
	margin: 20px 0;
}

h6.hashtag a{
	color: #444444;
	text-decoration: underline;
}

@media all and (max-width: 768px) {
	.picture-ad, .picture-ad{
		float: none;
	}

	.picture-ad{
		width: 100%;
		margin: 20px auto;
	}

	.picture-intro{
		width: 100%;
	}
}


.picture-recommend{
	width: 100%;
	position: relative;
	padding: 20px;
	margin: 50px 0;
	background: #ffffff;
	box-sizing: border-box;
}

h5.recommend-title{
	font-size: 1.25em;
	font-weight: 600;
	border-left: 5px solid #ffcc00;
	padding-left: 10px;
	margin-bottom: 10px;
}

.recommend-content ul{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.recommend-content ul li{
	width: calc(88%/6);
	padding-bottom: calc(88%/6);
	margin: 1%;
	position: relative;
	overflow: hidden;
}

.recommend-content ul li img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	position: absolute;
}

.recommend-content ul li a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

@media all and (max-width: 768px){
	.recommend-content ul li{
		width: calc(94%/3);
		padding-bottom: calc(94%/3);
	}
}

@media all and (max-width: 480px){
	.recommend-content ul li{
		width: calc(96%/2);
		padding-bottom: calc(96%/2);
	}
}


/* ============================================================
ALBUM SLIDE
============================================================ */

.content-album{
	width: 100%;
	position: relative;
	/* margin: 20px auto; */
	border-bottom: 5px solid #000000;
	/* overflow: hidden; */
}

.con-slide{
	width: 100%;
	padding-bottom: 66.66666%;
	position: relative;
	background: #ffffff;
	overflow: hidden;
}

.con-slide{
	width: 100%;
	margin: auto;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.slide-list{
	/* width: 300%; */
	overflow: hidden;
	position: absolute;
}

.album-memo .slide-list{
	position: relative;
}

.slide-list li{
	float: left;
	text-align: center;
	overflow: hidden;
}

.slide-list li img{
	width: 100%;
	position: relative;
	margin: 0 auto;
}

.slide-list li p{
	width: 90%;
	position: relative;
	margin: 20px auto;
	/* overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; */
}

.slide-list:after{
	content: '';
	display: table;
	clear: both;
}


.slide-control{
	position: absolute;
	bottom: -51px;
	right: 0;
	z-index: 2;
}

.slide-prev, .slide-next{
	width: 50px;
	height: 50px;
	font-size: 2em;
	color: #ffffff;
	text-align: center;
	line-height: 50px;
	background: rgba(0, 0, 0, .8);
	float: right;
	margin-left: 5px;
	cursor: pointer;
}

.slide-control:after{
	content: '';
	display: table;
	clear: both;
}

.slide-prev a, .slide-next a{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.slide-page{
	width: 120px;
	height: 50px;
	position: relative;
	text-align: center;
	line-height: 50px;
	color: #ffffff;
	background: rgba(0, 0, 0, .8);
	float: right;
}

.slide-current, .slide-sum{
	display: inline-block;
}

h5.slide-current{
	font-size: 1.7em;
}

h6.slide-sum{
	font-size: 1.2em;
}

.album-memo{
	/* width: calc(100% - 250px); */
	height: auto;
	overflow: hidden;
	position: relative;
	background: #ffffff;
}

.album-item img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}



/* ============================================================
SETTING
============================================================ */
.setting-avatar{
	width: 120px;
	height: 120px;
	border: none;
	margin-bottom: 20px;
}

.setting-camera{
	position: absolute;
	bottom: 0;
	right: 0;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	text-align: center;
	line-height: 50px;
	font-size: 25px;
	color: #ffffff;
	background: rgba(0, 0, 0, .7);
}

.setting-avatar a{
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.avatar-camera a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.setting-profile{
	margin-bottom: 20px;
}

.setting-profile h3.user-name{
	text-align: center;
	width: 100%;
}

.setting-profile h6.user-jointime{
	text-align: center;
	width: 100%;
}

.setting-tab {
	width: 100%;
	/* padding: 10px 0; */
	position: relative;
	margin: 0 auto;
	/* background: #ffffff; */
}


.setting-tab ul{
	width: 100%;
	max-width: 500px;
	position: relative;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}

.setting-tab ul li{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: 1.1em;
	color: #222222;
	width: calc(100%/2);
	position: relative;
	text-align: center;
	border-bottom: 5px solid #222222;
	padding: 10px 0;
	margin: 2px;
	transition: .2s linear;
}

.setting-tab ul li a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.setting-tab ul li:hover{
	border-bottom: 5px solid #ffcc00;
}

.setting-tab ul li.active{
	border-bottom: 5px solid #ffcc00;
}

.setting-tab ul li.active:after{
	content: '▼';
	display: table;
	position: absolute;
	text-align: center;
	color: #ffcc00;
	width: 100%;
    margin-top: 5px;
}

.account-content, .user-content{
	width: 100%;
	max-width: 500px;
	position: relative;
	margin: 20px auto;
}

.setting-wrap{
	margin: 20px 0;
	width: 100%;
	position: relative;
}

.setting-item{
	margin-bottom: 5px;
	color: #666666;
	font-size: 1.15em;
	font-weight: 400;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
}

.setting-content{
	padding: 10px 0;
	font-size: 1em;
	color: #000000;
	font-weight: 500;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    min-width: 200px;
    border-bottom: 1px solid #cccccc;
    position: relative;
}

.passwords-content{
	width: calc(100% - 150px);
	float: left;
	min-width: auto;
}

.mail2-content{
	width: calc(100% - 150px);
	float: left;
	min-width: auto;
}

.area-content, .intro-content{
	width: 100%;
	min-width: auto;
	font-size: 1em;
	color: #222222;
	font-weight: 500;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	background: #f5f5f5;
	box-sizing: border-box;
	display: inline-table;
}

.intro-content{
	border: 1px solid #cccccc;
}

.passwords-btn, .area-btn, .intro-btn, .situation-btn{
	float: right;
	margin: 0;
}

.account-passwords:after, .account-mail:after, .user-area:after, .account-intro:after{
	content: '';
	display: table;
	clear: both;
}

.area-content{
	border-bottom: none;
}

.area-content select{
	width: 100%;
	height: 40px;
	font-size: 1em;
	color: #222222;
	font-weight: 500;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    border: 1px solid #cccccc;
    background: #ffffff;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background: url('../img/sort-down.svg') no-repeat 95% center transparent;
    background-size: 10%;
    padding: 0 10px;
}


.setting-content label {
    color: #666666;
    font-size: 1.15em;
    font-weight: 400;
    margin: 0 10px;
}

.user-situation select{
	width: 100%;
	height: 40px;
	font-size: 1em;
	color: #222222;
	font-weight: 500;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    border: 1px solid #cccccc;
    background: #ffffff;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background: url('../img/sort-down.svg') no-repeat 95% center transparent;
    background-size: 3%;
    padding: 0 10px;
}

.input-text.situation {
    width: 100%;
    height: 45px;
    padding: 0 10px;
}

.situation-content{
	width: calc(100% - 150px);
	float: left;
	min-width: auto;
}

.situation-container:after{
	content: '';
	display: table;
	clear: both;
}

.situation-container{
	margin: 5px 0;
	display: none;
}

.situation-content{
	border-bottom: none;
	color: #ff0000;
}


/* work */
.work-content{
	width: 100%;
	max-width: 900px;
	position: relative;
	margin: 20px auto;
}

h6.all-photo-num{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: 1em;
	color: #222222;
	text-transform: uppercase;
	text-align: right;
	margin-bottom: 5px;
	padding: 0 10px;
	box-sizing: border-box;
}

h6.all-photo-num em{
	font-weight: 600;
	color: #f3c200;
	font-size: 1.1em;
}

.work-sort select{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: .9em;
	color: #222222;
	width: 180px;
	height: 36px;
	border: 1px solid #cccccc;
    background: #ffffff;

    /*移除箭頭樣式*/
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;

	/*改變右邊箭頭樣式*/
	background: url("../img/sort-down.svg") no-repeat 90% center transparent;
	background-size: 7%;
    padding: 0 10px;
}

.work-item{
	width: 100%;
	position: relative;
	padding: 0 0 10px 0;
	margin: 20px 0;
	border-bottom: 1px solid #cccccc;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

li.work-item:nth-child(1){
	border-top: 1px solid #cccccc;
	padding: 20px 0 10px 0;
}

.work-collection{
	width: 100%;
	position: relative;
	margin: 20px auto;
}

.work-item-photo{
	width: 25%;
	padding-bottom: 25%;
	position: relative;
}

.work-item-intro{
	width: 72%;
	position: relative;
}

.picture-title.work-title{
	font-size: 1.5em;
}

.picture-description.work-description{
	margin: 5px 0;
}

br.w370{
	display: none;
}

@media all and (max-width: 480px) {
	/* .work-item {
		display: block;
	}

	.work-item-photo{
		width: 100%;
		padding-bottom: 100%;
	}

	.work-item-intro{
		width: 100%;
		margin-top: 15px;
	} */

	.picture-title.work-title{
		font-size: 1.2em;
	}

	.picture-description.work-description{
		margin: 0;
		letter-spacing: 0;
		font-size: 1em;
	}

	.work-btn{
		margin: 10px 0;
	}
}

@media all and (max-width: 370px) {
	br.w370{
		display: block;
	}
}

.page-num{
	width: 100%;
	position: relative;
	margin: 0 auto;
}

.page-num-container{
	width: 100%;
	position: relative;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}

li.page-num-item{
	width: 45px;
	height: 45px;
	margin: 3px;
	position: relative;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 500;
	font-size: 1.2em;
	color: #222222;
	text-align: center;
	line-height: 45px;
	background: #e2e2e2;
	transition: .2s linear;
}

li.page-num-item a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

li.page-num-item.active{
	background: #ffcc00;
}

li.page-num-item.arrow-left{
	border: 1px solid #222222;
	background: none;
	box-sizing: border-box;
}

li.page-num-item.arrow-right{
	background: #000000;
	color: #ffffff;
}

li.page-num-item.disable{
	background: #999999;
	color: #666666;
	border: none;
}

li.page-num-item:hover{
	background: #ffcc00;
}

li.page-num-item.arrow-left:hover{
	background: none;
}

li.page-num-item.arrow-right:hover{
	background: #000000;
}

li.page-num-item.disable:hover{
	background: #999999;
	color: #666666;
	border: none;
}

@media screen and (orientation: portrait) {
	li.page-num-item:hover{
		background: #e2e2e2;
	}
}

@media all and (max-width: 480px) {
	li.page-num-item:nth-child(6),
	li.page-num-item:nth-child(7){
		display: none;
	}

	li.page-num-item{
		width: 40px;
		height: 40px;
		line-height: 40px;
	}
}

/* edit */
.edit-img{
	border: 1px dotted #999999;
}

.edit-sub{
	float: left;
}

.edit-description{
	font-size: 1em;
	margin: 5px 0;
	float: right;
	letter-spacing: 0;
}

.edit-info:after{
	content: '';
	display: table;
	clear: both;
}

.cube-btn.mobile-half {
    width: 48%;
}


/* edit album */
.drag-intro{
	margin: 5px 0;
}

.drag-intro p{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-size: 1.1em;
    font-weight: 500;
    color: #000000;
}
.edit-drag{
	width: 100%;
	position: relative;
	background: #ffffff;
}

.edit-drag-container{
	width: 96%;
	position: relative;
	margin: 0 auto;
	margin-bottom: 20px;
	padding: 2% 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.edit-album-item{
	width: 31.3333%;
	padding-bottom: 31.3333%;
	margin: 1%;
	position: relative;
	cursor: move;
}

.edit-album-img{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.edit-album-img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* .edit-album-item a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
} */

.popup-edit{
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, .9);
	z-index: 10;
	opacity: 0;
	display: none;
}

.popup-edit-container{
	width: 90%;
	max-width: 600px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: #ffffff;
}

.popup-edit-content{
	width: 90%;
	position: relative;
	margin: 5% auto;
}

.popup-edit-0{
	display: none;
}

.popup-img{
	width: 100%;
	padding-bottom: 50%;
	position: relative;
}

.popup-img img{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}


.popup-intro p {
    color: #222222;
    font-weight: 400;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    font-size: 1.1em;
}

.popup-intro textarea {
    width: 100%;
    color: #222222;
    font-weight: 400;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    font-size: 1em;
    padding: 10px 5px;
    box-sizing: border-box;
    border: 1px solid #cccccc;
}

.popup-btns{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.popup-btns .cube-btn{
	margin: 1%;
}

/* ============================================================
CONTACT
============================================================ */
.mail-form{
	width: 90%;
	max-width: 800px;
	position: relative;
	margin: 20px auto;
	background: #ffffff;
}

.mail-form-contaoner{
	width: 90%;
	position: relative;
	margin: 0 auto;
	padding: 5% 0;
}

.mail-form-wrap{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    position: relative;
	color: #222222;
}

.mail-item label, .contact-item{
	color: #666666;
	font-size: 1.1em;
	margin-right: 10px;
}

.mail-item-inline input{
	min-width: 160px;
}

.mail-item{
	margin: 10px 0;
	margin-right: 20px;
	display: flex;
    justify-content: space-between;
    align-items: center;
}

.mail-agree{
	align-items: flex-start;
}

.mail-item-inline{
	display: inline-block;
}

.mail-item input{
	width: calc(100% - 175px);
}

.mail-item-contact input{
	width: calc(100% - 120px);
}

.mail-item input.agree-check{
	width: 20px;
    zoom: 1.5;
}

.mail-select{
	width: calc(100% - 120px);
    height: 45px;
    padding: 0 10px;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background: url('../img/sort-down.svg') no-repeat 96% center transparent;
    background-size: 2.5%;
}

.mail-content{
	width: 100%;
	padding: 15px 10px;
    font-size: 1em;
    color: #000000;
    font-weight: 500;
    border: 1px solid #cccccc;
    box-sizing: border-box;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
}

.mail-item-out{
	display: block;
}

.mail-thx{
	text-align: center;
	font-size: 1.1em;
    color: #222222;
    font-weight: 500;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
}

.refund-all, .bank-related{
	display: none;
}

.contact-br{
	padding: 10px 0;
	margin: 0;
}

@media all and (max-width: 640px){
	.mail-item-inline{
		display: block;
	}

	.mail-item input{
		width: calc(100% - 60px);
	}

	.mail-item{
		border-bottom: 1px solid #cccccc;
    	padding-bottom: 15px;
	}

	.mail-item input.agree-check{
		width: 50px;
	    zoom: 1.5;
	}
}



/* ============================================================
Marquee
============================================================ */
.cp_wrapper {
	position: fixed;
    width: 100%;
    left: 0;
    z-index: 99;
}

section#marquee{
	isolation: isolate;
}

section > .marquee {
	padding: 6px;
	font-size: clamp(16px, 16vw, 16px);
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	color: #ffffff;
    box-sizing: border-box;
    background: #454545;
}

.marquee{
	--translate-3d-x: -5%;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.marquee::before {
	display: block;
	white-space: pre;
	content: attr(data-text) " " attr(data-text) " " attr(data-text) " " attr(data-text) " " attr(data-text)  " " attr(data-text) " " attr(data-text) " " attr(data-text) " " attr(data-text) " " attr(data-text) " " attr(data-text) " " attr(data-text) " " attr(data-text) " " attr(data-text) " " attr(data-text)  " " attr(data-text) " " attr(data-text) " " attr(data-text) " " attr(data-text) " " attr(data-text);
	width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
	transform: translate3d(var(--translate-3d-x, -2%), 0, 0);
	will-change: transform;
}

@media (prefers-reduced-motion: no-preference) {
	.marquee::before {
		animation: marquee 20s linear infinite;
	}
	.marquee--reverse::before {
		animation-direction: reverse;
	}
}

@keyframes marquee {
	0% {
		transform: translate3d(var(--translate-3d-x, -2%), 0, 0);
	}
	100% {
		transform: translate3d(calc(var(--translate-3d-x) - 5% - 1px), 0, 0);
	}
}

@media(max-width:991px){
	section#marquee{
		/* padding-bottom:var(--padding-sectionY, 50px); */
	}
	section > .marquee {
		bottom:0;
		font-size: clamp(14px, 14vw, 16px);
	}
}




/* ============================================================
INDEX
============================================================ */
h2 {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 500;
  margin: 1rem 0;
  text-align: center;
  color: #6E5A40; 
  position: relative;
}
@media (max-width: 991px) {
  h2 {
    font-size: 2.25rem;
  }
}

h2 span {
  font-size: inherit;
}

h2.with-grass1,
h2.with-grass2,
h2.with-grass3 {
  width: 320px;
  margin: 0 auto;
  padding: 40px 50px 20px;
  box-sizing: border-box;
  color: #fff;
  position: relative;
  background-repeat: no-repeat;
  background-size: 60%;
}

h2.with-grass1 {
  background-image: url("../img/deco_grass1.png");
  background-position: right top;
}

h2.with-grass2 {
  background-image: url("../img/deco_grass2.png");
  background-position: left top;
}

h2.with-grass3 {
  background-image: url("../img/deco_grass3.png");
  background-position: right top;
}

#kv-wrap {
    position: relative;
    height: 100vh;
    overflow: hidden;
    background-color: #007f6a;
}

#kv-wrap .ng-logo {
    width: 20%;
    max-width: 240px;
    min-width: 140px;
    top: 50px;
    left: 50px;
    position: absolute;
    z-index: 2;
}

#kv-wrap .bg {
    width: 100%;
    height: 100%;
    background-image: url(../img/kv_bg_vir.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

#kv-wrap .container {
    width: 100%;
    height: 100%;
    max-width: initial;
    z-index: 2;
}

#kv-wrap .scroll-btn {
    display: block;
    width: 120px;
    height: 50px;
    position: absolute;
    font-size: 0.875em;
    bottom: 15px;
    left: calc(50% - 60px);
    color: #fff;
    text-align: center;
    background: url(../img/down_arrow.svg) no-repeat bottom;
    z-index: 2;
}

@media all and (max-width: 1400px) {
    #kv-wrap {
        height: 100vh;
    }
}

@media all and (max-width: 991px) {
    #kv-wrap {
        background-image: url(../img/kv_bg_vir_mo.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
    }

    #kv-wrap .ng-logo {
        top: 30px;
        left: 30px;
    }

    #kv-wrap .bg {
        background-image: none;
    }
}

@media all and (max-width: 1600px) {
    #kv-wrap .ng-logo {
        max-width: 200px;
    }
}

.bigtitle {
    width: 90%;
    height: 80%;
    max-width: 1400px;
    box-sizing: border-box;
    margin: 90px auto 0;
    color: #fff;
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.bigtitle img {
    filter: drop-shadow(6px 6px 12px rgba(0, 0, 0, 0.7));
}

.bigtitle .logotype-role {
    width: 70%;
    position: relative;
    margin-top: 60px;
}

.bigtitle .logotype-role img {
    width: 100%;
}

.bigtitle .logotype-text {
    width: 55%;
    text-align: center;
    position: absolute;
    left: 40%;
    top: 50%;
}

.bigtitle .logotype-text img.t1 {
    width: 70%;
}

.bigtitle .logotype-text img.t2 {
    width: 100%;
    margin: 10px 0;
}

.bigtitle .logotype-text img.t3 {
    width: 100%;
}

.bigtitle .logotype-text .text-wrap {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.bigtitle .logotype-text .text-wrap .inner {
    width: 50%;
	margin-right: 2%;
}

.bigtitle .logotype-text .text-wrap img.virtual {
    width: 48%;
	margin: 10px 0;
}

@media all and (max-width: 991px) {
    .bigtitle {
        width: 100%;
        height: 60vh;
        margin: 20vh auto 0;
    }

    .bigtitle .logotype-role {
        width: 130%;
        max-width: 640px;
        margin: 0 auto;
        padding-left: 40px;
    }

    .bigtitle .logotype-text {
        width: 80%;
        margin: 50px auto 0;
        left: 10%;
    }
}

.event-host {
    width: 100%;
    max-width: 520px;
    text-align: left;
    position: absolute;
    left: 40px;
    bottom: 30px;
    z-index: 3;
}

@media all and (max-width: 991px) {
    .event-host {
        width: 60%;
        left: 20px;
        bottom: 10px;
    }
}

.event-host ul {
    display: flex;
    flex-wrap: wrap;
}

.event-host ul li img {
    width: 70%;
}

.event-host ul li p {
    padding-bottom: 8px;
    font-size: 0.75rem;
    letter-spacing: 1px;
    font-weight: normal;
    color: #ffffff;
}


/* === Index Overview === */
#overview {
  background-color: #FFF7E4;
  background-image: url(../img/deco_cloud.png);
  background-position: left top;
  background-size: 30%;
  background-repeat: no-repeat;
  position: relative;
}

#overview .screen-container {
  position: relative;
  z-index: 3;
}

#overview::after {
  content: '';
  width: 100%;
  height: 220px;
  background-image: url(../img/bg_ground.png);
  background-repeat: repeat-x;
  background-size: 100%;
  background-position: center bottom;
  position: absolute;
  bottom: -20px;
  left: 0;
  z-index: 1;
}

#overview .loudspeaker {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

#overview .loudspeaker h2 {
  width: 25%;
  margin-bottom: 0;
  font-size: 2rem;
  color: #487C48;
  display: inline-block;
}

@media (max-width: 750px) {
  #overview .loudspeaker h2 {
    width: 100%;
    text-align: left;
  }
}

#overview .loudspeaker h2 img {
  margin-bottom: -10px;
  width: 48px;
}

#overview .loudspeaker .announce {
  width: 75%;
  padding: 10px 20px;
  background-color: #EDE4A1;
  border-radius: 30px 30px 30px 0;
  position: relative;
  font-size: 1.125rem;
}

@media (max-width: 750px) {
  #overview .loudspeaker .announce {
    width: 100%;
  }
}

#overview .loudspeaker .announce::after {
  content: '';
  position: absolute;
  left: -20px;
  bottom: 0;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 0 20px 20px;
  border-color: transparent transparent #E0E768 transparent;
  transform: rotate(0deg);
}

#overview .loudspeaker .marquee-container {
  overflow: hidden;
  width: 100%;
  height: 60px;
}

#overview .loudspeaker .swiper-slide p {
  height: 50px;
  margin: 0;
  padding: 10px;
  color: #333333;
  font-size: 1.25rem;
  line-height: 2rem;
  font-family: NotoSansTC;
  font-weight: bold;
}

@media (max-width: 991px) {
  #overview .loudspeaker .swiper-slide p {
    padding: 10px 0;
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

#overview .race-goal {
  padding: 60px 60px;
}

@media (max-width: 991px) {
  #overview .race-goal {
    padding: 10px 20px;
  }
}

#overview .race-goal p {
  margin: 1rem 0;
  color: #6E5A40;
  letter-spacing: 1px;
  font-size: 1.125rem;
  line-height: 1.75rem;
  text-align: justify;
}

@media (max-width: 991px) {
  #overview .race-goal p {
    font-size: 1rem;
  }
}

#overview .race-goal p em {
  color: #487C48;
  font-size: 1.5rem;
  font-weight: bold;
}

@media (max-width: 991px) {
  #overview .race-goal p em {
    font-size: 1.125rem;
  }
}

#overview .race-goal img {
  height: 80px;
  margin: 10px;
  text-align: right;
}
@media (max-width: 991px) {
  #overview .race-goal img {
    height: 40px;
  }
}

.race-goal .btn-secondary {
  width: fit-content;
  margin: 20px auto;
  display: block;
}

#overview .race-intro-wrap {
  display: flex;
  flex-wrap: wrap;
}

#overview .race-intro-wrap .pic {
  width: 50%;
}

@media (max-width: 991px) {
  #overview .race-intro-wrap .pic {
    width: 100%;
    margin: 20px auto 0;
  }
}

#overview .race-intro-wrap .pic img {
  width: 100%;
}

#overview .race-intro-wrap .text {
  width: 50%;
}
@media (max-width: 991px) {
  #overview .race-intro-wrap .text {
    width: 100%;
    margin: 0px auto 20px;
  }
}

#overview .race-intro-wrap .text h4 {
  margin-top: 1rem;
  color: #487C48;
  letter-spacing: 1px;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5rem;
}

#overview .race-intro-wrap .text p {
  color: #6E5A40;
  letter-spacing: 1px;
  font-size: 1.125rem;
  line-height: 1.5rem;
}



/* === Index Theme Animal === */
#theme {
  background-color: #487c48;
  background-image: url("../img/deco_leaf1.png"), url("../img/deco_leaf2.png");
  background-position: left top, right top;
  background-size: 24%, 24%;
  background-repeat: no-repeat, no-repeat;
}

@media (max-width: 991px) {
  #theme {
    background-size: 32%, 32%;
  }
}

#theme .screen-container{
  max-width: 1200px;
  overflow: visible;
}

#theme .screen-container h2 {
  color: #fff;
}

#theme .screen-container p.explanation {
	color: #fff;
}

#theme .animal-wrap {
  padding: 60px 80px;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-items: center;
  background-image: url("../img/bg_frame.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
}

@media (max-width: 991px) {
  #theme .animal-wrap {
    margin-bottom: 90px;
    padding: 20px;
    background-color: #326233;
    border-radius: 40px;
  }
}



#theme .animal-wrap .animal-pic {
  width: calc(50% - 40px);
  margin-left: 40px;
  position: relative;
}

@media (max-width: 991px) {
  #theme .animal-wrap .animal-pic {
    width: 100%;
    margin: 0 auto;
    padding: 30px;
    box-sizing: border-box;
  }
}

#theme .animal-wrap .animal-pic h4 {
  color: #ffcc00;
  font-size: 1.5rem;
  font-weight: bold;
}

@media (max-width: 991px) {
  #theme .animal-wrap .animal-pic h4 {
    font-size: 1.5rem;
  }
}

#theme .animal-wrap .animal-pic h4 span {
  margin-left: 0.5rem;
  color: #fff;
  font-size: 1.25rem; /* 20px */
  font-weight: 500;
  font-style: italic;
}

@media (max-width: 991px) {
  #theme .animal-wrap .animal-pic h4 span {
    font-size: 1rem; /* 16px */
  }
}

#theme .animal-wrap .animal-pic img {
  width: 80%;
  margin: 20px auto 0;
}

#theme .animal-wrap .animal-text {
  width: 50%;
  margin: 0 auto;
  text-align: left;
}

@media (max-width: 991px) {
  #theme .animal-wrap .animal-text {
    width: 90%;
  }
}

#theme .animal-wrap .animal-text h4 {
  color: #fff;
  font-size: 2.25rem; /* 36px */
  font-weight: bold;
}

#theme .animal-wrap .animal-text p {
  margin: 1rem 0;
  color: #fff;
  letter-spacing: 2px;
  font-size: 1.125rem; /* 18px */
  text-align: justify;
}

@media (max-width: 991px) {
  #theme .animal-wrap .animal-text p {
    font-size: 1rem; /* 16px */
    letter-spacing: 1px;
  }
}

#theme .know-more {
  width: 90%;
  margin: -20px auto 60px;
  display: block;
}

@media (max-width: 991px) {
  #theme .know-more {
    margin: 0 auto 60px;
    max-width: 620px;
  }
}

#theme .know-more p {
  max-width: 620px;
  margin: 0 auto;
  letter-spacing: 1px;
  font-size: 1.125rem; /* 18px */
  color: #6E5A40;
}

#theme .know-more a {
  margin: 0 10px 0 0;
}

#theme .know-more a:first-of-type {
  margin-left: 0;
}

.souvenir-zone {
	margin: 20px auto;
}

.souvenir-zone .tabs ul {
  width: 100%;
  display: flex;
  justify-content: center;
}

.souvenir-zone .tabs ul li {
  min-width: 200px;
  padding: 10px;
  text-align: center;
}

.souvenir-zone .tabs ul li a{
  font-size: 1.25rem;
  color: #fff;
}

.souvenir-zone .tabs ul li.active {
  background: #fff;
  border-radius: 10px 10px 0 0;
}

.souvenir-zone .tabs ul li.active a {
  color: #487c48;
  font-weight: bold;
  
}

.souvenir-zone .product-wrap {
  padding-bottom: 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.souvenir-zone .product-set {
  width: calc(50% - 60px);
  margin: 30px;
  text-align: center;
}

@media (max-width: 991px) {
  .souvenir-zone .product-set {
    width: 100%;
  }
}

.souvenir-zone .product-set img {
  width: 100%;
  margin: 0 auto;
}

.souvenir-zone .product-catalog {
  width: calc(50% - 40px);
  margin: 20px 20px;
}

@media (max-width: 991px) {
  .souvenir-zone .product-catalog {
    width: 100%;
    margin: 0 10px;
  }
}

.souvenir-zone .product-catalog table {
  width: 100%;
}

.souvenir-zone .product-catalog table tr:first-child {
  font-weight: 500;
  color: #fff;
}

.souvenir-zone .product-catalog table tr td {
  padding: 10px;
  text-align: center;
  line-height: 1.2rem;
  background: #EFEFEF;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

@media (max-width: 991px) {
  .souvenir-zone .product-catalog table tr td {
    font-size: 0.875rem; /* 14px */
  }
}


.souvenir-zone .product-catalog table tr td.item {
  background: #296B5B;
  color: #fff;
}

.souvenir-zone .btn-secondary {
  margin: 0 auto;
}

.souvenir-wrap {
	padding: 20px;
	background: #fff;
    border-radius: 20px;
	display: flex;
	flex-wrap: wrap;
	position: relative;
}

.souvenir-wrap .pic{
	width: calc(50% - 20px);
    margin-right: 20px;
}
@media all and (max-width: 991px){
	.souvenir-wrap .pic{
		width: 100%;
		margin: 0;
	}
}

.souvenir-wrap .pic img{
	width: 100%;
}

.souvenir-wrap .list{
	width: 50%;
}

@media all and (max-width: 991px){
	.souvenir-wrap .list {
		width: 100%;
		margin: 20px 0;
	}
}

.souvenir-wrap .list table {
	width: 100%;
}

.souvenir-wrap .list table tr td {
	padding: 10px;
    text-align: center;
    line-height: 1.2rem;
    background: #efefef;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

.souvenir-wrap .list table tr td.subject1 {
	background-color: #296b5b;
	color: #ffffff;
	font-weight: 500;
}

.souvenir-wrap .list table tr td.subject2 {
	background-color: #00a885;
	color: #ffffff;
	font-weight: 500;
}
.souvenir-wrap .list table tr td.subject3 {
	background-color: #ff7542;
	color: #ffffff;
	font-weight: 500;
}
.souvenir-wrap .list table tr td.subject4 {
	background-color: #dea551;
	color: #ffffff;
	font-weight: 500;
}

.souvenir-wrap .list table td:first-child{
	background-color: #296b5b;
	color: #ffffff;
}
@media all and (max-width: 991px){
	.souvenir-wrap .list table td:first-child {
		width: 40%;
	}
}


/* index event */
#event {
    box-sizing: border-box;
    position: relative;
    z-index: 2;
}

#event .screen-container {
    overflow: visible;
}

#event .screen-container h2 {
    margin-bottom: 1rem;
}

#event .event-wall-wrap {
    width: 100%;
    overflow: hidden;
    border-radius: 30px;
    box-shadow: 0 20px 20px 0 rgba(0, 0, 0, .1);
}

#event .swiper-container {
    width: 100%;
    margin: 0 auto;
	position: relative;
}

/* ===== event card ===== */
#event .event-card {
    padding: 30px 30px 100px;
	box-sizing: border-box;
    overflow: hidden;
    background: #ffffff;
    display: flex;
    flex-wrap: wrap;
}

#event .event-card .cover {
    width: 50%;
    border-radius: 20px;
    overflow: hidden;
}

#event .event-card .cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#event .event-card .intro {
    width: 50%;
    padding: 40px 40px 0;
    box-sizing: border-box;
}

#event .event-card .intro p {
    margin-top: 0.5rem;
    font-size: 1rem;
    line-height: 1.5rem;
    text-align: justify;
    color: #666666;
}

#event .event-card .intro p.title {
    font-size: 1.5rem;
    line-height: 30px;
    color: #000000;
    font-weight: 500;
    text-align: left;
	letter-spacing: 1px;
}

#event .event-card .intro a {
    width: 100%;
    margin: 20px 0 0;
    padding: 0;
    display: block;
    line-height: 50px;
    text-align: center;
    font-size: 18px;
    letter-spacing: 2px;
    color: #487c48;
    background: #FFFFFF;
    border: 2px solid #487c48;
    border-radius: 30px;
    transition: 0.3s ease;
}

#event .event-card .intro a:hover {
    background: #487c48;
    border: 2px solid #487c48;
    color: #FFFFFF;
    transition: 0.3s ease;
}

/* ===== RWD ===== */
@media (max-width: 991px) {
    #event .event-card {
        padding: 20px 20px 100px;
    }

    #event .event-card .cover {
        width: 100%;
    }

    #event .event-card .intro {
        width: 100%;
        padding: 15px 0 0;
    }
}


/* ===== RWD ===== */
@media (max-width: 991px) {
    #sponsor .screen-container ul {
        width: 100%;
    }

    #sponsor .screen-container ul li {
        width: calc(50% - 20px);
        margin: 0 5px;
    }

    #sponsor .screen-container ul li.narrow,
    #sponsor .screen-container ul li.slim {
        width: 120px;
    }

    #sponsor .screen-container ul li.wider {
        width: 160px;
    }
}




.index-title {
	position: relative;
	padding-bottom: 0.5rem;
	background: url(../img/title-line.svg) bottom center no-repeat;
}

.index-title h3{
	font-size: 1.5em;
	color: #ffffff;
	text-align: center;
	position: relative;
	z-index: 1;
	letter-spacing: 4px;
}

/* Related Activity */
.activity-wrap {
	display: flex;
	flex-wrap: wrap;
}
@media all and (max-width: 991px){
	.activity-wrap {
		margin: 40px auto;
	}
}

.activity-wrap .cover {
	width: calc(45% - 40px);
	height: 360px;
	margin-right: 40px;
	overflow: hidden;
	position: relative;
}
@media all and (max-width: 991px){
	.activity-wrap .cover {
		width: 100%;
		height: initial;
		margin: 0;
	}
}

.activity-wrap .cover img {
	width: calc(100% - 20px);
	margin-left: 20px;
    margin-top: 20px;
	object-fit: cover;
    object-position: center;
}
@media all and (max-width: 991px){
	.activity-wrap .cover img {
		width: 100%;
		margin: 20px 0 0;
	}
}

.activity-wrap .des{
	width: 50%;
	padding-top: 50px;
}
@media all and (max-width: 991px){
	.activity-wrap .des{
		width: 100%;
		padding-top: 20px;
	}
}

.activity-wrap .des p {
	margin-bottom: 1rem;
	color: #ffffff;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
}

.activity-wrap .des p.caption {
	color: #98B63D;
	font-size: 1.5rem;
	font-weight: bold;
}

.activity-wrap .cube-btn{
	margin: 20px 0;
}

/* === Index News === */
#news {
    position: relative;
    z-index: 2;
    background-color: #487c48;
}

#news h3.board {
  margin: 20px 90px 0 0px;
  transform: rotate(-8deg);
  position: absolute;
  left: 20%;
  top: 0;
}

#news .news-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}

/* titles */

#news .news-wrap h2 {
    width: 100%;
    margin: 0.5rem 0 1.5rem;
    color: #ffffff;
    text-align: center;
}

#news .news-wrap h3 {
    width: 100%;
    text-align: center;
    color: #8BE0EE;
    letter-spacing: 10px;
}


/* right zone */
#news .zone-right-all {
    width: calc(50% - 20px);
    margin: 0 10px;
    overflow: hidden;
    border-radius: 30px;
    box-shadow: 0 12px 12px 0 rgba(177,230,255,0.37);
}

@media (max-width: 991px) {
    #news .zone-right-all {
        width: 90%;
        max-width: 600px;
        margin: 10px auto;
        border-radius: 10px;
    }
}

/* grid */
#news .grid-row {
    width: 100%;
    height: 240px;
    overflow: hidden;
    position: relative;
    display: flex;
}
@media (max-width: 991px) {
    #news .grid-row {
        height: 200px;
    }
}

#news .grid-row.expand {
    height: 400px;
}
@media (max-width: 991px) {
    #news .grid-row.expand {
        height: 200px;
    }
}

#news .grid-col {
    width: 50%;
    height: 240px;
    overflow: hidden;
    position: relative;
}
@media (max-width: 991px) {
    #news .grid-col {
        height: 200px;
    }
}

#news .news-wrap p {
    width: 100%;
    padding: 0 24px;
    box-sizing: border-box;
    color: #ffffff;
    position: absolute;
    bottom: 24px;
    left: 0;
    z-index: 3;
    text-align: justify;
    font-size: 1.125rem;
    font-weight: 500;
}
@media (max-width: 991px) {
    #news .news-wrap p {
        padding: 0 16px;
        font-size: 0.875rem;
        line-height: 1.125rem;
    }
}

/* link & hover */
#news .news-wrap a {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    display: block;
    background-color: transparent;
}

#news .news-wrap a:hover .icon-play {
    transform: scale(1.3);
    transition: 0.3s ease;
}

#news .news-wrap a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: 0.3s ease;
    z-index: 1;
}

#news .news-wrap a img:hover {
    transform: scale(1.2);
}

/* play icon */
#news .icon-play {
    width: 60px;
    height: 60px;
    position: absolute;
    z-index: 2;
    left: calc(50% - 30px);
    top: calc(50% - 30px);
    background-image: url(../img/icon/icon-play.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: 0.3s ease;
}



/* === Index QA === */
#qanda {
  min-height: initial;
  padding: 80px 0 90px;
  background-image: url("../img/deco_leaf3.png"), url("../img/deco_leaf4.png");
  background-color: #487c48;
  background-repeat: no-repeat, no-repeat;
  background-size: 30%, 30%;
  background-position: left bottom, right bottom;
  position: relative;
  overflow: hidden;
}

.screen-container p.explanation {
	text-align: center;
    color: #ffffff;
	margin: 0 auto 20px;
}

.screen-container p.explanation.limited {
	max-width: 720px;
}

@media (max-width: 991px) {
  #qanda {
    padding: 0 0 90px;
    background-position: left bottom, right center;
    background-size: 80%, 60%;
  }
}

#qanda::before {
  content: "";
  width: 120%;
  height: 88%;
  background-image: url("../img/bg_frame2.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  left: -10%;
  top: 7%;
  z-index: 0;
}

#qanda .creen-container {
  padding: 0;
  position: relative;
  z-index: 3;
  text-align: center;
}

#qanda h3.board {
  margin: 20px 90px 0 0px;
  transform: rotate(-8deg);
  position: absolute;
  left: 20%;
  top: -10px;
}

#qanda h2 {
  margin: 0 auto;
  color: #ffffff;
  letter-spacing: 1px;
  font-size: 3rem;
}

#qanda .qa-wrap {
  max-width: 920px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}

#qanda .qa-card {
  width: calc(33.3333333333% - 30px);
  min-height: 180px;
  padding: 20px 30px;
  box-sizing: border-box;
  border-radius: 20px;
  text-align: left;
  background-color: #5E9361;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
  position: relative;
  animation: qaCardLight 6s ease-in-out infinite;
}
@keyframes qaCardLight {
    0%, 26% {
        background-color: #2CAEA1;
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
    }

    33%, 100% {
        background-color: #5E9361;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
    }
}

#qanda .qa-card:nth-child(1) {
  animation-delay: 0s;
}

#qanda .qa-card:nth-child(2) {
  animation-delay: 2s;
}

#qanda .qa-card:nth-child(3) {
  animation-delay: 4s;
}

#qanda .qa-card p {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: 1.25rem; 
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 1px;
}

#qanda .qa-card .cta-text {
  min-width: 110px;
  margin: 0;
  padding: 4px 12px;
  border: 0;
  border-radius: 18px;
  background-color: rgba(255, 255, 255, 0.3);
  color: #ffffff;
  font-size: 0.875rem; /* px2rem(14px) */
  line-height: 1.2;
  letter-spacing: 1px;
  position: relative;
}

#qanda .qa-card a {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  #qanda .qa-card {
    animation: none;
    background-color: #5E9361;
  }
}

@media (max-width: 991px) {
  #qanda::before {
    width: 150%;
    height: 92%;
    left: -25%;
    top: 5%;
  }

  #qanda::after {
    width: 55%;
    opacity: 0.28;
    right: -12%;
  }

  #qanda .qa-wrap {
    width: calc(100% - 24px);
  }

  #qanda .qa-card {
    width: 100%;
    max-width: 360px;
    min-height: initial;
  }

  #qanda .qa-card p {
    font-size: 1.625rem; /* px2rem(26px) */
  }
}


/* index sponsor */
#sponsor .screen-container {
	padding: 30px 0;
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
}

#sponsor .screen-container h3 {
	margin: 0px auto;
	font-size: 1.5rem;
    line-height: 1.5;
    font-weight: 500;
    position: relative;
    color: #8f8766;
}

#sponsor .screen-container ul {
	width: 100%;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: center;
}
@media all and (max-width: 991px){
	#sponsor .container ul{
		width: 100%;
	}
}

#sponsor .screen-container ul.justifyTop{
	align-items: flex-start;
}

#sponsor .screen-container ul li {
	/*  first & all */
	width: calc(25% - 20px);
	max-width: 240px;
	margin: 10px 10px;
	text-align: left;
}
@media all and (max-width: 991px){
	#sponsor .container ul li{
		width: calc(50% - 20px);
		margin: 10px 10px;
	}
}

#sponsor .screen-container ul li.slim {
	max-width: 160px;

}
@media all and (max-width: 991px){
	#sponsor .screen-container ul li.slim {
		width: 90px;
	}
}

#sponsor .screen-container ul li.narrow {
	max-width: 180px;
}
@media all and (max-width: 991px){
	#sponsor .screen-container ul li.narrow {
		width: 120px;
	}
}

#sponsor .screen-container ul li.wider {
	max-width: initial;
	width: 260px;
}
@media all and (max-width: 991px){
	#sponsor .screen-container ul li.wider  {
		width: 180px;
	}
}

#sponsor .screen-container ul li img {
	width: 100%;
}





/* index section -  competition groups */
.competition {
	width: 100%;
	max-width: 660px;
	margin: 0 auto;
}

.competition .group {
	width: 100%;
	height: 200px;
	color: #ffffff;
	text-align: center;
	border: 5px solid #facc01;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
	box-sizing: border-box;
	background: url(../img/comp-group1.jpg) center;
	background-size: cover;
	position: relative;
	transition: all 0.4 ease-in;
}

.competition .group:hover {
	opacity: 0.9;
}

.group h4 {
	color: #ffffff;
	margin: 4rem 0 0.5rem;
    font-size: 2.5rem;
}

.group p {
	color: #ffffff;
}

.group .special-mark {
	background: #facc01;
	color: #000000;
	font-size: 1rem;
	position: absolute;
	left: 0;
	top: 8%;
    padding: 2px 8px;
	font-weight: 500;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
}

.block-link {
	width: 100%;
    height: 100%;
    z-index: 1;
    top: 0;
    left: 0;
    display: block;
    position: absolute;
}

.competition p {
	margin-top: 1rem;
}

@media all and (max-width: 480px) {
	
	.competition .group {
		height: 140px;
	}

	.group h4 {
		margin: 2rem 0 0.5rem;
		font-size: 1rem;
	}

	.group p,
	.group .special-mark { 
		font-size: 0.75rem;
	}
}

/* ============================================================
PAGES
============================================================ */
.top-banner{
	width: 100%;
	/* height: 100px; */
	padding-top: 70px;
	/* background-image: url(../img/top_banner.jpg);
	background-repeat: no-repeat;
	background-size: cover; */
}
@media all and (max-width: 750px) {
	.top-banner{
		padding-top: 100px;
	}
}

.top-banner.tour {
	padding-top: 100px;
	padding-bottom: 40px;
	background-image: url(../img/top_banner_tour.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

@media all and (max-width: 750px) {
	.top-banner.tour::after{
		content: '';
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
        left: 0;
        z-index: 0;
		background-image: linear-gradient(180deg, rgba(28,109,53,1) 0%, rgba(51,142,86,0.30) 100%);
	}
}
.top-banner.tour .screen-container {
	position: relative;
	z-index: 2;
}


ul.list-decimal {
	padding-left: 1.5em;
}

ul.list-decimal li {
	list-style: decimal;
	margin-bottom: 20px;
}



/* ============================================================
RULES
============================================================ */
.rules-title {
	display: inline-block;
}

.rules-title h3 {
	text-align: left;
	color: #222222;
	font-size: 1.5em;
	display: inline;
	position: relative;
	z-index: 2;
}

.rules-title-long:before {
	left: 23%;
}

@media all and (max-width: 640px) {
	.rules-title h3 {
		font-size: 1.2em;
		line-height: 1.25em;
		font-weight: bold;
	}
}

.rules-title-short:before {
	left: 25px;
}

.rules-container{
	margin: 0 0 50px;
	font-size: 1.12rem; /* 18px */
}

.rules-container a {
	color: #000;
	border-bottom: 2px solid #ffcc00;
	font-weight: 500;
	transition: all 0.2s ease;
}

.rules-container ul {
	margin-left: 1.5rem;
}

.rules-container ul li{
	margin: 0.5rem 0;
	list-style: decimal;
	letter-spacing: 1px;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-size: 1.12rem; /* 18px */
}

.rules-container ul.list-dot li{
	list-style: disc;
}

.rules-container ul li em{
	color: #487C48;
	font-weight: bold;
}

.rules-container ul li a:hover {
	background: #ffcc00;
	color: #000000;
	transition: all 0.2s ease;
}

h4.sub-title-mention {
	margin: 40px auto 10px;
	font-size: 1.5rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
}

table.delivery-fee  {
	margin: 10px 0;
}

table.delivery-fee tr:first-child td {
	background-color: #6E5A40;
	color: #ffffff;
}

table.delivery-fee tr td {
	padding: 10px 20px;
	background-color: #8F8766;
	color: #ffffff;
	border-bottom: 1px solid #FFF7E4;
	border-right: 1px solid #FFF7E4;
}


.rules-container .notice-box {
	margin-bottom: 30px;
}

.notice-box .title{
	padding: 10px 20px;
	font-size: 1.25rem;
	line-height: 1.25rem;
	color: #ffffff;
	letter-spacing: 1px;
	font-weight: 500;
	background-image: linear-gradient(102deg, #0f5c51 0%, #47aa9b 100%);
	border-radius: 5px 5px 0 0 ;
}

.notice-box .content{
	padding: 10px 20px;
	box-sizing: border-box;
	background: #ffffff;
	border-radius: 0 0 5px 5px;
}

.desktop-only{
	display: inline-block;
}

.mobile-only{
	display: none;
}

@media all and (max-width: 768px) {
	h5.rules-title{
		display: block;
	}

	.rules-table{
		display: block;
	}

	.table-wrap {
		display: block;
	}
	
	.rules-table-left,
	.rules-table-right {
		width: 100%;
		border: 0;
	}

	.desktop-only{
		display: none;
	}

	.mobile-only{
		display: block;
	}
}

ul.list-number > li {
	list-style: decimal;
	font-weight: 500;
}

.submission-tr {
	margin-top: 1rem;
    font-weight: normal;
	font-size: 1.12rem; /* 18px */
}

.submission-tr em{
	font-size: 24px;
    font-weight: 500;
	font-size: inherit;
}

.submission-tr a {
	color: #000;
	border-bottom: 2px solid #ffcc00;
	font-weight: 500;
	transition: all 0.2s ease;
	font-size: inherit;
}

.submission-tr a:hover {
	background: #ffcc00;
	color: #000000;
	transition: all 0.2s ease;
}

.submission-tr:last-of-type{
	margin-bottom: 4rem;
}

table.prize-set tr td{
	padding: 10px 20px;
	box-sizing: border-box;
    background-color: #ffffff;
    border-bottom: 1px solid #e0f0dc;
    border-right: 1px solid #e0f0dc;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	position: relative;
	font-size: inherit;
}

table.prize-set tr td:first-child{
	width: 40%;
	font-size: 1.25rem;
	font-weight: 500;
}

table.prize-set tr td em{
	color: #ff7f07;
}

table.prize-set tr td .little-note {
	font-size: 1rem;
	font-weight: normal;
}

@media all and (max-width: 750px) {
	table.prize-set tr td{
		padding: 5px 5px;
		font-size: 0.875rem;
	}
	table.prize-set tr td:first-child{
		font-size: 1rem;
		font-weight: bold;
		word-break: break-all;
	}
	table.prize-set tr td em{
		display: block;
	}
	table.prize-set tr td .little-note {
		font-size: 0.875rem;
	}
}

.sell-out{
	position: absolute;
    left: -30px;
    top: 15px;
    color: #ff0000;
    border: 1px solid #ff0000;
    padding: 0 6px;
    transform: rotate(-12deg);
	font-style: normal;
}
.sell-out-big{
	position: absolute;
    left: -80px;
    top: 15px;
    color: #ff0000;
    border: 1px solid #ff0000;
    padding: 0 6px;
    transform: rotate(-12deg);
	font-style: normal;
	font-size: 24px;
}

@media all and (max-width: 750px) {
	.sell-out{
		left: -10px;
	}
	
	.sell-out-big{
		left: 0px;
		top: -30px;
	}
}

.submission-process-wrap {
	margin: 10px 0 40px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.submission-process-wrap .process {
	width: 160px;
	height: 160px;
	margin: 10px;
	padding: 20px 20px 0;
	box-sizing: border-box;
	border-radius: 100%;
	color: #ffffff;
	background: #8F8766;
	text-align: center;
	box-shadow: 0 5px 14px 0 rgba(255,255,255,0.33);
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
}
@media all and (max-width: 991px) {
	.submission-process-wrap .process {
		width: 135px;
		height: 135px;
		margin: 5px;
		padding: 20px 8px 0;
		font-size: 0.875rem;
	}
}

.submission-process-wrap .process img {
	width: 30%;
	margin-bottom: 10px;
}

.submission-process-wrap .arrow {
	width: 5%;
	max-width: 20px;
	text-align: center;
	filter: drop-shadow(1px 2px 3px rgba(30, 108, 105, 0.8));
}

table.rules-table-in{
	width: 100%;
	position: relative;
}

table.rules-table-in tr td{
	width: 28%;
	border-top: 1px solid #cccccc;
	border-left: 1px solid #cccccc;
	padding: 5px 10px;
	box-sizing: border-box;
	background: #ffffff;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
}

table.rules-table-in tr td:nth-child(1){
	width: 10%;
	background: #eaeaea;
}

table.rules-table-in tr td:nth-last-child(1){
	border-right: 1px solid #cccccc;
}

table.rules-table-in tr:nth-last-child(1) td{
	border-bottom: 1px solid #cccccc;
}

@media all and (max-width: 480px) {
	table.rules-table-in tr td{
		width: 22%;
		padding: 3px 5px;
	}

	table.rules-table-in tr td:nth-child(1){
		width: 7%;
	}

	table.rules-table-in tr td{
	    font-size: .9em;
	}
}

ul.list-square, ul.list-square li{
	list-style: square;
}

.space-bottom {
	margin: 0 0 1rem;
}

.info-center {
	margin: 0 0 10px;
	text-align: center;
	color: #fff;
}




/* ============================================================
SHORTLIST
============================================================ */
.shortlist-container{
	margin: 20px 0;
}

.shortlist-container .tip {
	margin-top: 15px;
	padding: 5px 15px;
	background: #E8E8E8;
	color: #666666;
	border-left: 5px solid #B0B0B0;
	font-size: 0.875em;
	display: block;
    width: fit-content;
}

.shortlist-container p {
	text-align: left;
	margin-bottom: 1rem;
}

.photo-wall-wrap .tabs a {
	width: calc(100%/10);
	color: #666666;
}

.photo-wall-wrap .tabs ul {
	/* border-bottom: 1px solid #D6D6D6; */
	background: #ffffff;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

/* for winner */
.past-winners {
	display: flex;
	justify-content: center;
}

.past-winners .year-tag {
    margin: 10px 5px;
    padding: 10px 20px;
	background: #dddddd;
	border-radius: 5px;
	color: #999999;
	font-weight: 500;
	transition: all 0.4s ease;
}

.past-winners .year-tag:hover {
	background: #ffcc00;
	color: #333333;
	transition: all 0.4s ease;
}

.past-winners .year-tag.active {
	background: #000000;
	color: #ffcc00;
}

.past-winners .year-tag.active:hover {
	background: #000000;
	color: #ffcc00;
}

.photo-wall-wrap.final-winner .tabs ul {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto 20px;
}

.tab-limited {
	width: 90%;
    max-width: 1100px;
	margin: auto;
	padding-bottom: 80px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.photo-wall-wrap .tabs ul li {
	margin-right: 15px;
    padding: 10px;
}

.photo-wall-wrap .tabs ul li.active {
	border-bottom: 4px solid #ffcc00;
}

.photo-wall-wrap .tabs ul li.active a {
	color: #000000;
	font-weight: 700;
}

.photo-wall-wrap .tabs >  div {
	min-height: 560px;
	margin-top: 20px;
}

.photo-wall {
	display: flex;
	flex-wrap: wrap;
}

.photo-wall img {
	width: 100%;
	height: auto;
	display: block;
	transition: all 0.2s ease;
	background: #ffcc00;
}

.photo-wall img:hover {
	border: 5px solid #ffcc00;
	box-sizing: border-box;
	transform: scale(1.3);
	cursor: pointer;
}

.modal-content a {
	width: 100%;
	max-width: 400px;
	height: 44px;
	line-height: 44px;
	display: block;
	margin: 30px auto;
	background: #ffcc00;
	color: #000000;
	font-weight: 500;
	text-align: center;
}

.modal-content.zoom-mode {
	display: flex;
	flex-wrap: wrap;
}

.detail-photo-wrap {
	width: calc(80% - 50px);
	margin-right: 30px;
	background-color: #333333;
}

.detail-photo {
	width: 100%;
	/* min-height: 600px; */
	min-height: 80vh;
	text-align: center;
    background-size: contain;
    background-repeat: no-repeat;
	background-position: center;
}

.detail-text-wrap {
	width: 20%;
}

.detail-title,
.detail-author {
	/* width: calc(50% - 18px); */
    margin: 20px 0;
}

.detail-title span,
.detail-author span {
	color: #666666;
}

.detail-title span:first-child,
.detail-author span:first-child {
	border-left: 5px solid #ffcc00;
	padding-left: 10px;
}

.detail-title span:last-child,
.detail-author span:last-child {
	padding-left: 5px;
	color: #000000;
	font-weight: 500;
}

.detail-desc {
	color: #666666;
	padding-bottom: 2em;
}
.detail-desc > span:first-child {
	margin: 30px 0 10px;
    display: block;
}

.detail-desc p {
	color: #000000;
	text-align: left;
}

.modal-content.rule-mode h3 {
	text-align: center;
	line-height: 1.5rem;
}

ul.prize-rule {
	margin: 1rem 0;
	padding-left: 1.5rem;
}
ul.prize-rule li{
	margin: 0.5rem 0;
	list-style: decimal;
}

/* override modal */
body .blocker {
	padding: 0;
}

body .modal {
	max-width: 1000px;
	padding: 15px;
	margin-top: 80px;
	color: #333333;
}
@media all and (max-width: 728px) {
	body .modal {
		margin-top: 80px;
	}
}

body .modal.narrow {
	max-width: 640px;
	padding: 30px;
	box-sizing: border-box;
}

body .modal a.close-modal {
    width: 32px;
    height: 32px;
}
@media all and (max-width: 1024px) {
	.photo-wall-wrap .tabs a {
		width: calc(100%/8);
	}
	.detail-photo {
		height: 500px;
	}
}

@media all and (max-width: 840px) {
	.photo-wall-wrap .tabs a {
		width: calc(100%/5);
	}
	.photo-wall-wrap .tabs ul li {
		margin-bottom: 10px;
		margin-right: 0;
	}
	.photo-wall-wrap .tabs ul li.active {
		background: #ffffff;
	}

	.detail-photo-wrap,
	.detail-text-wrap{
		width: 100%;
		margin: 0;
	}

	.detail-photo {
		min-height: 400px;
	}
}

@media all and (max-width: 640px) {
	.photo-wall-wrap .tabs a {
		width: calc(100%/4);
	}
	.detail-photo {
		height: 280px;
		min-height: initial;
	}
}


/* ============================================================
Prizes
============================================================ */
.prizes-content .tabs ul {
	display: flex;
	justify-content: center;
}

.prizes-content .tabs > ul li a {
	margin: 10px 10px;
    padding: 8px 20px;
    color: #ffffff;
    font-weight: 500;
    font-size: 1.1rem;
    display: block;
    border-radius: 5px;
	background-color: rgb(0 0 0 / 0.4);
}

.prizes-content .tabs > ul li.active a {
	background-color: #ffcc00;
    color: #000000;
}

.prizes-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.prizes-wrap .box{
	margin: 10px;
	padding: 20px 20px;
	box-sizing: border-box;
	border-radius: 10px;
	background-color: #fff;
	box-shadow: 0 6px 16px 0 rgb(0 0 0 / 10%);
}

.prizes-wrap .box ul {
	padding-left: 1.5rem;
	display: block;
}

.prizes-wrap .box ul li{
	list-style-type: disc;
}

.prizes-wrap .box ul li a{
	color: #487C48;
	font-weight: bold;
}

.prizes-wrap .box.divide1{
	width: calc(100% - 20px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.prizes-wrap .box.divide1 .pic{
	width: 50%;
	position: relative;
	z-index: 1;
}

.prizes-wrap .box.divide1 .pic.small img {
	max-width: 320px;
	margin: 0 auto;
	display: block;
}

.prizes-wrap .box.divide1 .pic.sellout::after{
	content: '完售';
    position: absolute;
    left: calc(50% - 40px);
    top: 43%;
    color: #ff0000;
    border: 2px solid #ff0000;
    background: rgb(220 220 220 / 38%);
    padding: 4px 12px;
    font-size: 30px;
    transform: rotate(-12deg);
    font-style: normal;
    z-index: 3;
    filter: drop-shadow(1px 4px 4px white);
}

.prizes-wrap .box.divide1 .pic img{
	width: 100%;
}

.prizes-wrap .box.divide1 .des{
	width: 50%;
	padding: 15px;
	box-sizing: border-box;
}
@media all and (max-width: 991px) {
	.prizes-wrap .box.divide1 .pic,
	.prizes-wrap .box.divide1 .des{
		width: 100%;
		margin: 10px auto;
	}
}

.prizes-wrap .box .des a{
	font-weight: normal;
}

.prizes-wrap .box.divide3{
	width: calc(100%/3 - 20px);
}

.prizes-wrap .box.divide3 .pic img{
	width: 100%;
    margin: 0 auto;
    display: block;
}
@media all and (max-width: 991px) {
	.prizes-wrap .box.divide3{
		width: 100%;
		height: auto;
	}
	.prizes-wrap .box.divide3 .pic img{
		width: 100%;
		max-width: 480px;
	}
}

.prizes-wrap .box .souvenir{
	font-size: 1.5rem;
	font-weight: 700;
	color: #333;
}

.prizes-wrap .box .price {
	font-size: 0.875rem;
	margin-bottom: 10px;
}

.prizes-set{
	margin-bottom: 20px;
	padding: 20px 25px;
	background-color: #fff;
	box-shadow: 0 6px 16px 0 rgb(0 0 0 / 10%);
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-radius: 10px;
}

.prizes-set-plan {
	width: 54%;
	position: relative;
}
@media all and (max-width: 991px) {
	.prizes-set-plan {
		width: 100%;
	}
}

.prizes-set-photo {
	width: calc(25% - 80px);
    margin: 0 40px;
}
@media all and (max-width: 991px) {
	.prizes-set-photo {
		width: 100%;
        max-width: 240px;
        margin: 20px auto 0;
	}
}

.prizes-set-price {
	width: 15%;
	
}
@media all and (max-width: 991px) {
	.prizes-set-price {
		width: 100%;
	}
}

.prizes-set-price .btn-secondary {
	margin: 0;
}
@media all and (max-width: 991px) {
	.prizes-set-price .btn-secondary{
		max-width: 240px;
		margin: 20px auto 0;
	}
}

.prizes-set-price .btn-secondary{
	width: 100%;
    padding: 10px 20px;
	position: relative;
}

.prizes-set-price a{
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	border: 0;
	background: none;
	position: absolute;
	display: block;
}

.prizes-set-price a:hover{
	background: none;
}

.prizes-set-plan span{
	padding-right: 15px;
	font-weight: 500;
	font-size: 1.75rem;
}
@media all and (max-width: 414px) {
	.prizes-set-plan span{
		padding-right: 0;
	}
}

.prizes-set-plan span .ps{
	font-size: 1rem;
}
@media all and (max-width: 414px) {
	.prizes-set-plan span .ps{
		display: block;
	}
}

.prizes-set-plan em{
	color: #ff7f07;
	padding: 0 30px 0 0;
	font-size: 1.75rem;
	font-weight: 500;
}
@media all and (max-width: 414px) {
	.prizes-set-plan em{
		display: block;
	}
}

.prizes-set-plan p {
	margin: 0.5rem 0 1rem;
}

@media all and (max-width: 991px) {
	.prizes-set-plan p{
		font-size: 0.875rem;
	}
}


.modal-content.tshirt-spec h4,
.modal-content.lucky-spec h4{
	color: #333333;
	text-align: center;
}

.modal-content.tshirt-spec ul,
.modal-content.lucky-spec ul{
	margin-left: 2.5rem;
	margin-top: 1rem;
}

.modal-content.tshirt-spec ul li,
.modal-content.lucky-spec ul li{
	color: #333333;
	list-style-type: disc;
}
.modal-content.lucky-spec ul{
	max-width: 730px;
}

.modal-content.tshirt-spec > p{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.modal-content.tshirt-spec > h5{
	font-size: 1rem;
	text-align: center;
}

.modal-content.tshirt-spec img{
	width: 50%;
	margin: 20px auto;
}
@media all and (max-width: 991px) {
	.modal-content.tshirt-spec img{
		width: 100%;
		max-width: 480px;
	}
}

.modal-content.tshirt-spec img.size-mark {
	max-width: 360px;
}

.modal-content h4 {
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.5;
	color: #333333;
	text-align: center;
	margin-bottom: 8px;
}
@media all and (max-width: 991px) {
	.modal-content h4 {
		font-size: 2rem;
		line-height: 2.25rem;
	}
}

.modal-content > p {
	line-height: 1.5rem;
	color: #000000;
	text-align: justify;
}

.modal-content .btn-primary {
	display: block;
	margin: 20px auto 0;
}

.modal-content .btn-primary:hover {
	color: #333333;
}

.modal-content.qa-feedback h4 {
	color: #ffffff;
	text-shadow: 0 2px 4px rgba(0, 0, 0, .3);
}

.modal-content.qa-feedback p {
	text-align: center;
	color: #ffffff;
	text-shadow: 0 2px 4px rgba(0, 0, 0, .3);
}



/* countdown-timer */
.countdown-timer{
	margin: 20px auto;
}

.countdown-timer h4{
	margin: 50px 0 10px;
	text-align: center;
}

.countdown-timer h4 span{
	color: #ffcc00;
}

.countdown-timer .time{
	width: 100%;
	max-width: 480px;
    margin: 0 auto;
    padding: 10px 0;
    font-weight: 500;
    background-color: #1e4817;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media all and (max-width: 991px) {
	.countdown-timer .time{
		padding: 10px 10px;
		box-sizing: border-box;
		font-size: 0.875rem;
	}
}

.countdown-timer .time img{
	width: 40px;
    height: 40px;
    margin: 10px;
    padding: 10px;
    background: #ffffff;
    border-radius: 50px;
	animation: pulseScale 1.2s ease-in-out infinite;
}

@media all and (max-width: 991px) {
	.countdown-timer .time img{
		width: 30px;
		margin: 10px 0;
		height: 30px;
		padding: 5px;
	}
}
@keyframes pulseScale {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}

.countdown-timer div em{
	width: 48px;
    text-align: center;
	padding: 0 10px;
	font-size: 2.5rem;
    color: #ffcc00;
}
@media all and (max-width: 991px) {
	.countdown-timer div em{
		width: 40px;
		padding: 0 5px;
		font-size: 1.5rem;
	}
}


/* ============================================================
Lucky Draw
============================================================ */
.lucky .screen-container{
	padding: 20px 0 60px;
}
.lucky .screen-container > h4{
	margin-bottom: 10px;
	text-align: left;
	color: #144676;
}

.lucky .screen-container > h4 ~ p{
	padding-bottom: 10px;
	padding-left: 4px;
	font-size: 1.25rem;
}

.lucky .screen-container table.winner {
	width: 100%;
	max-width: 920px;
	border-collapse: collapse;
}

.lucky .screen-container table.winner tr td {
	padding: 5px;
    border-right: 1px solid #444;
    border-bottom: 1px solid #444;
    background-color: #fff;
    color: #000000;
    text-align: center;
    font-weight: 500;
    letter-spacing: 2px;
}

.lucky .screen-container table.winner tr td:first-child{
	width: 33%;
}

.lucky .screen-container table.winner tr td.item {
	background-color: #ffcc00;
    color: #000000;
}

ul.luckydraw-step {
    margin: 1rem 0;
    margin-left: 0.5rem;
	padding-left: 40px;
    border-left: 5px solid #37FBFF;
}

ul.luckydraw-step li {
	list-style: decimal;
	line-height: 1.8rem;
    letter-spacing: 1px;
}

ul.luckydraw-step li em{
	color: #144676;
	font-weight: 700;
}

.luckydraw-step button.cube-btn {
	margin: 10px 10px;
    padding: 0px 0px;
    height: 40px;
    width: 200px;
    line-height: 40px;
    border: 0;
    background-color: #ffcc00;
    color: #000000;
    font-weight: 500;
    font-size: 1rem;
}

.luckydraw-step button.cube-btn:hover{
	cursor: pointer;
	background: #FFDA46;
	border: 0;
}

@media all and (max-width: 991px) {
	.hashtag-wrap {
		flex-direction: column
	}
	.hashtag-wrap button {
		width: 80%;
		margin-top: 10px;
	}
}

.lucky-card-wrap {
	display: flex;
	flex-wrap: wrap;
}

.lucky-card {
	width: calc(100%/3 - 20px);
	margin: 10px;
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
	background-color: #fff;
	border-radius: 10px;
}

@media all and (max-width: 991px) {
	.lucky-card {
		width: 100%;
		max-width: 320px;
		margin: 10px auto;
	}
}

.lucky-card .cover img{
	width: 100%;
	border-radius: 20px;
}

.lucky-card h5{
	margin: 10px 0;
	font-size: 1.25rem;
	text-align: center;
}

.lucky-card p {
	text-align: center;
	color: #144676;
	font-size: 0.875rem;
}

.lucky-card a {
	padding: 10px;
	color: #2196F3;
	transition: all 0.4s ease;
	/* border-bottom: 1px solid #ffcc00; */
	letter-spacing: 2px;
	display: inline-block;
}

.lucky-card a:hover {
	color: #ffcc00;
	transition: all 0.4s ease;
}

.lucky-notice {
	padding: 15px;
}

.lucky-notice > p {
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 1.25rem;
}

.lucky-notice ul{
	margin-left: 1.5rem;
}

.lucky-notice ul li {
	list-style: decimal;
	margin-bottom: 0.5rem;
}

.ig-wall-content {
	margin-top: 20px;
	padding: 10px;
	background-color: #fff;
	border-radius: 10px;
}

.ig-wall-content p {
	margin: 15px 0;
	font-weight: 500;
	font-size: 1.5rem;
	text-align: center;
}

.ig-wall-content .ig-photo {
	padding-bottom: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.ig-wall-content .ig-photo img{
	width: calc(25% - 25px);
    margin: 10px;
}

.lucky-draw-notice {
   margin-top: 30px;
}

.lucky-draw-notice h5{
	font-weight: bold;
}

.lucky-draw-notice ul {
	padding-left: 1.5rem;
}

.lucky-draw-notice ul li {
	list-style-type: decimal;
	line-height: 1.8rem;
    letter-spacing: 1px;
}


/* ============================================================
Route Map
============================================================ */
.route-wrap .tabs ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.route-wrap .tabs ul li {
	margin-right: 15px;
	margin-bottom: 15px;
}

.route-wrap .tabs ul li > a {
	padding: 5px 20px;
    color: #ffffff;
    font-weight: 500;
    font-size: 1.1rem;
    display: block;
    border-radius: 5px;
	background-color: rgb(41 174 197);
}
@media all and (max-width: 991px) {
	.route-wrap .tabs ul li > a {
		padding: 5px 5px;
		font-size: 1rem;
	}
}

.route-wrap .tabs ul li.active > a {
	background-color:#ffcc00;
	color: #000000;
}

.route-wrap .tabs >  div {
	min-height: 560px;
	margin-top: 20px;
}

.route-mention {
	margin-bottom: 1rem;
    text-align: justify;
}

.route-mention span em {
	font-size: 0.875em;
	color: #666;
	padding-left: 1em;
}

.route-wall-list {
	margin-bottom: 40px;
	display: flex;
	flex-wrap: wrap;
}

.route-wall-list .route-box {
	width: calc(25% - 20px);
	margin: 10px;
	padding-bottom: 60px;
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	transition: all 0.3s ease;
	position: relative;
}

@media all and (max-width: 1200px) {
	.route-wall-list .route-box {
		width: calc(33% - 20px);
	}
}

@media all and (max-width: 991px) {
	.route-wall-list .route-box {
		width: calc(50% - 20px);
	}
}

@media all and (max-width: 750px) {
	.route-wall-list .route-box {
		width: 100%;
	}
}

.route-wall-list .route-box:hover{
	transform: scale(1.05);
	transform-origin: center;
	box-shadow: 0 10px 14px 0 rgba(165,165,165,0.40);
	transition: all 0.3s ease;
}

.route-wall-list .route-box::after{
	content: 'MORE';
	border-bottom: 1px solid #ffffff;
	text-align: right;
	letter-spacing: 2px;
	position: absolute;
	bottom: 10px;
	right: 10px;
}

.route-wall-list .route-box a {
	padding: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
    top: 0;
    border: 0;
}

.route-wall-list .route-box img {
	width: 100%;
	background: #ffffff;
}

.route-wall-list .route-box h4 {
	padding: 10px;
	font-size: 1.25rem;
	font-weight: 500;
}

.route-wall-list .route-box p {
	margin:0 10px;
	padding-left: 30px;
	background-size: contain;
	color: #666666;
	font-size: 0.875rem;
	letter-spacing: 1px;
}

.route-wall-list .route-box p.cate {
	margin-top: 15px;
	background-image: url(../img/icon/icon-tag-gray.svg);
	background-position: left center;
	background-repeat: no-repeat;
}

.route-wall-list .route-box p.distance {
	background-image: url(../img/icon/icon-distance-gray.svg);
	background-position: left center;
	background-repeat: no-repeat;
}

.route-wall-list .route-box p.climb{
	background-image: url(../img/icon/icon-climb-gray.svg);
	background-position: left center;
	background-repeat: no-repeat;
	
}

.route-wall-list .route-box p a {
	text-align: center;
}

.route-wall-list .route-box p a:hover {
	font-weight: 500;
	color: #333333;
}

.route-expert-wrap {
	margin: 20px auto;
	padding: 20px 40px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	background-color: #ffffff;
	box-shadow: 0 8px 12px 0 rgb(0 0 0 / 10%);
	border-radius: 10px;
}

.route-expert-wrap .expert-avatar{
	width: 200px;
	height: 200px;
	margin-right: 40px;
	border-radius: 50%;
	overflow: hidden;
}

@media all and (max-width: 991px) {
	.route-expert-wrap {
		flex-direction: column;
		align-content: center;
	}
	.route-expert-wrap .expert-avatar{
		width: 180px;
		height: 180px;
		margin: 0 auto;
	}
}

.route-expert-wrap .expert-avatar img {
	width: 100%;
	max-width: 320px;
}

.route-expert-wrap .expert-text{
	width: calc(80% - 240px);
}

@media all and (max-width: 991px) {
	.route-expert-wrap .expert-text{
		width: 100%;
		margin: 20px auto;
	}
}

.route-expert-wrap .expert-text h3{
	font-size: 1rem;
	line-height: 1rem;
	color: #999;
	letter-spacing: 2px;
}

.route-expert-wrap .expert-text h4{
	margin: 5px 0 20px;
	font-size: 1.5rem;
	color: #487C48;
	letter-spacing: 1px;
	font-weight: 500;
}

.caption-warp {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-bottom: 1px solid #fff;
}

@media all and (max-width: 991px) {
	.caption-warp {
		flex-direction: column-reverse;
		align-items: flex-end;
		justify-content: flex-end;
	}
}

.caption-warp .left {
	width: calc(100% - 250px);
}

@media all and (max-width: 991px) {
	.caption-warp .left {
		width: 100%;
	}

	.caption-warp .download{
		width: 120px;
		margin: 20px 0 -20px 0;
		padding: 5px;
		font-size: 0.875rem;
	}
}

.caption-warp .download img{
	width: 24px;
	margin-bottom: -6px;
    padding-right: 6px;
}

@media all and (max-width: 991px) {
	.caption-warp .download img{
		width: 20px;
		margin-bottom: -3px;
		padding-right: 0;
	}
}

.caption-warp .download:hover img{
	filter: invert(14%) sepia(11%) saturate(0%) hue-rotate(178deg) brightness(55%) contrast(83%);
	transition: all 0.3s ease;
}

.caption-warp h3 {
	font-size: 1.1rem;
	line-height: 1.1rem;
	color: #999;
	letter-spacing: 3px;
}

.caption-warp h2 {
	font-size: 2rem;
	font-weight: bold;
	color: #111;
	text-align: left;
}

.route-intro-text {
	margin: 20px 0;
}

.route-intro-text ul {
	margin-left: 1.5rem;
}

.route-intro-text ul li {
	margin: 0.5rem;
	list-style: disc;
}

.route-intro-text ul li a {
	color: #ffffff;
	border-bottom: 1px solid #ffcc00;
	transition: all 0.3s ease;
}

.route-intro-text ul li a:hover {
	color: #000000;
	background-color: #ffcc00;
	transition: all 0.3s ease;
}

.route-embed-map{
	width: 100%;
	padding-left: 10px;
	background-color: #ffffff;
	box-sizing: border-box;
	height: 600px;
	overflow-x: scroll;
	overflow-y: hidden;
}

.route-embed-map iframe {
	width:100%;
	height:100%;
}


/* ============================================================
page theme common use
============================================================ */
.swiper-button-next, 
.swiper-button-prev{   
    padding: 10px; 
	box-sizing: border-box;
    color: #fff !important;
    background-color: #256EC9;
    border-radius: 50%;
}

.swiper-button-next::after , 
.swiper-button-prev::after {
	font-size: 20px !important;
}

.swiper-button-next {
    right: calc(50% - 140px)  !important;
    top: initial !important;
    bottom: 30px !important;
}

.swiper-button-prev {
    left: calc(50% - 140px) !important;
    top: initial !important;
    bottom: 30px !important;
}
@media all and (max-width: 750px) {
	.swiper-button-next {
		right: 10px !important;
	}
	.swiper-button-prev {
		left: 10px !important;
	}
}

.swiper-pagination-bullets {
    bottom: 40px !important;
    z-index: 7;
}

.swiper-pagination-bullet {
    width: 14px;
    height: 14px;
    opacity: 1;
    border: 3px solid #256EC9;
    background-color: rgba(255,255,255, 0);
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
	width: 14px;
    height: 14px;
	border: 3px solid #256EC9;
	background-color: #256EC9;
	opacity: 1;
}




/* ============================================================
About Page
============================================================ */
.about-intro {
    height: 100vh;
    margin: 0 auto;
    padding-top: 120px;
    position: relative;
    background-image: url(../img/bg_about.jpg);
    background-size: cover;
    background-position: center;
}

.about-intro .about-front {
    max-width: 540px;
    padding: 60px;
    box-sizing: border-box;
    background: #487C48;
    color: #fff;
    border-radius: 30px;
    position: relative;
}

.about-intro .about-front h2 {
    margin: 0;
    padding-left: 0;
    text-align: left;
    color: #fff;
}

.about-intro .about-front .headline {
    width: 300px;
    margin-bottom: 10px;
    position: absolute;
    right: -70px;
    top: 20px;
}

.about-intro .about-front p {
    margin: 1rem 0;
    font-size: 1.125rem; /* 18px */
    line-height: 1.8rem;
    text-align: justify;
    color: #fff;
}

.about-intro .about-front p.little-note {
    font-size: 1rem; /* 16px */
    line-height: 1.6rem;
}

.about-intro .about-front p.little-note a {
    font-size: inherit;
    color: #ffcc00;
    border-bottom: 1px solid #ffcc00;
}

.about-intro .about-front img {
    width: 100%;
    margin: 1rem 0;
}

/* @include width-991 響應式斷點 */
@media (max-width: 991px) {
    .about-intro {
        height: 100vh;
        padding-top: 100px;
        align-content: flex-start;
        background-image: url(../img/bg_about_mo.jpg);
    }
    
    .about-intro .about-front {
        width: 90%;
        height: initial;
        margin: 0 auto;
        padding: 20px;
    }

    .about-intro .about-front p {
        margin-bottom: 0.5rem;
        font-size: 0.875rem; /* 14px */
        line-height: 1.3rem;
    }
}


/* ==========================================
   .about-recap 區塊
   ========================================== */
.about-recap { 
    position: relative;
    background-color: #487C48;
    background-image: url(../img/deco_leaf1.png), url(../img/deco_leaf2.png);
    background-position: left center, right top;
    background-size: 24%, 24%;
    background-repeat: no-repeat, no-repeat;
}

.about-recap .screen-container {  
    padding: 40px 0 60px;
    display: flex;
    flex-wrap: wrap;
}

.about-recap .screen-container h2 {
    color: #fff;
}

.about-recap .box-wrap {
    width: 100%;
    min-height: 400px;
    margin: 0px auto;
    padding: 20px 20px 40px;
    box-sizing: border-box;
    color: #ffffff;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.about-recap .box-wrap .milestone {
    width: calc(100% / 3 - 40px);
    height: 290px;
    margin: 20px;
    padding: 20px;
	box-sizing: border-box;
    border-radius: 30px;
    background-color: #0A4A47;
    text-align: center;
}

.about-recap .box-wrap .milestone .icon {
    display: block;
    margin: 0 auto 15px;
}

.about-recap .box-wrap .milestone h3 {
    font-size: 1.25rem; 
	line-height: 1.5;
    color: #ffffff;
    margin: 1rem 0;
}

.about-recap .box-wrap .milestone h3 span {
    font-size: 0.875rem; /* 14px */
}

.about-recap .box-wrap .milestone h4 {
    font-size: 1.5rem; /* 24px */
    display: inline-flex;
    align-items: flex-end;
    justify-content: center;
    gap: 4px;
}

.about-recap .box-wrap .milestone em {
    width: auto;
    font-size: 3rem; /* 48px */
    line-height: 3rem;
    color: #ffcc00;
    display: inline-block;
}

.about-recap .box-wrap .list-title {
    margin: 1rem auto;
    font-size: 1.5rem; /* 24px */
    color: #ffffff;
}

.about-recap .box-wrap > ul {
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 2;
    width: 960px;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.about-recap .box-wrap > ul > li {
    width: calc(100% / 6 - 10px);
    margin: 5px;
    background-color: #fff;
    box-shadow: 0 0 30px rgba(0, 0, 0, .5);
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    transition: all 0.4s ease-in-out;
}

.about-recap .box-wrap > ul > li:hover {
    border: 5px solid #ffcc00;
    transition: all 0.4s ease-in-out;
}

.about-recap .box-wrap > ul > li img {
    width: 100%;
    display: block;
    margin: 0 auto;
    object-fit: cover;
}

.about-recap .left-wrap {
    width: 20%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.about-recap .left-wrap h2 {
    width: 50px;
    margin-top: -10px;
    line-height: 64px;
    color: #ffffff;
    font-weight: normal;
}

.about-recap .left-wrap div {
    width: 80px;
}

.about-recap .left-wrap div img {
    margin-left: 10px;
    margin-top: 60px;
}

.about-recap .recap-timeline {
    width: 80%;
}

.about-recap .recap-timeline ul {
    width: 100%;
    padding-left: 20px;
    padding-bottom: 50px;
    border-left: 3px solid transparent;
    border-image: repeating-linear-gradient(to bottom, #ffffff 0 8px, transparent 8px 16px) 1;
}

.about-recap .recap-timeline ul li {
    width: 100%;
    max-width: 450px;
	margin: 10px 0;
    padding: 10px 10px;
    box-sizing: border-box;
    font-size: 1.125rem; /* 18px */
    font-weight: 500;
    background: #ffffff;
    border-radius: 10px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.about-recap .recap-timeline ul li.with-video {
    max-width: 720px;
}

.about-recap .recap-timeline ul li.with-video iframe {
    width: 100%;
    min-height: 360px;
}

.about-recap .recap-timeline ul li::after {
    content: '';
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-radius: 100%;
    position: absolute;
    top: 40px;
    left: -29px;
}

.about-recap .recap-timeline ul li span {
    margin-right: 7px;
    font-size: 1rem; /* 16px */
    display: inline-block;
}

.about-recap .recap-timeline ul li i {
    content: "";
    width: 32px;
    height: 32px;
    background: url(../img/icon/arrow.svg);
    background-size: contain;
    transition: all 0.4s ease-in-out;
}

.about-recap .recap-timeline ul li:hover i {
    background: url(../img/icon/arrow-hover.svg);
    background-size: contain;
    transition: all 0.4s ease-in-out;
}

.about-recap .recap-timeline ul li img {
    width: 100%;
    max-width: 100px;
    border-radius: 10px;
}

.about-recap .recap-timeline ul li > a {
    width: 100%;
    height: 100%;
    position: absolute;
    text-align: center;
    border: 0;
    display: flex;
    align-items: center;
    background: none;
    color: #296B5B;
}

.about-recap .video {
    width: 700px;
}

.about-recap .video .youtube-wrap {
    height: 0;
    position: relative;
    padding-top: 30px;
    padding-bottom: 56.25%;
    overflow: hidden;
}

.about-recap .video .youtube-wrap iframe,
.about-recap .video .youtube-wrap object,
.about-recap .video .youtube-wrap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* @include width-991 與 @include width-375 響應式斷點補充 */
@media (max-width: 991px) {
    .about-recap .box-wrap .milestone {
        width: 100%;
        margin: 20px 0;
    }
    .about-recap .box-wrap .milestone em {
        width: auto;
        font-size: 2.5rem; /* 40px */
        line-height: 2.5rem;
    }
    .about-recap .box-wrap > ul {
        width: 100%;
    }
    .about-recap .box-wrap > ul > li {
        width: calc(100% / 3 - 10px);
        margin: 5px;
    }
    .about-recap .left-wrap {
        width: 100%;
    }
    .about-recap .left-wrap h2 {
        width: 100%;
        margin: 0;
        text-align: left;
    }
    .about-recap .left-wrap div {
        width: 100%;
        height: 40px;
    }
    .about-recap .left-wrap div img {
        transform: rotate(-270deg);
        transform-origin: 0 0;
        margin: -28px 0 0 320px;
        display: block;
    }
    .about-recap .recap-timeline {
        width: 100%;
    }
    .about-recap .recap-timeline ul {
        width: calc(100% - 10px);
        margin-left: 10px;
    }
    .about-recap .recap-timeline ul li.with-video iframe {
        min-height: 300px;
        margin-top: 10px;
    }
    .about-recap .recap-timeline ul li span {
        margin-right: 4px;
        font-size: 0.875rem; /* 14px */
    }
}

@media (max-width: 375px) {
    .about-recap .box-wrap > li {
        width: calc(100% / 2 - 10px);
    }
}


/* ============================================================
WINNERS
============================================================ */
.winner-outside {
	background-image: linear-gradient(90deg, #FFCC00 50%, #FFFFFF 50%);
	padding: 40px 0;
}

.winner-1 {
	width: 90%;
	max-width: 1100px;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.winner-1 .winner-intro {
	width: 35%;
	margin-left: 3%;
}

.winner-photo {
	position: relative;
	background: #333333;
}

.winner-1 .winner-photo {
	width: 60%;
	background: none;
}

.winner-photo img {
	width: 100%;
	display: block;
	transition: all 0.4s ease;
	min-height: 150px;
}

.winner-photo.absent{
	padding: 26px 0;
}

.winner-photo.portrait img {
	width: 50%;
	margin: auto;
}

.winner-1 .winner-photo.portrait img {
	width: 60%;
	margin-right: 50px;
}

.winner-1:hover .winner-photo img {
	box-shadow: 0 10px 35px 0 rgba(0,0,0,0.32);
}

.winner-2,
.winner-3 {
	width: calc(50% - 20px);
    margin: 60px 10px 30px;
	padding: 20px;
	box-sizing: border-box;
	background: #ffffff;
	box-shadow: 0 5px 35px 0 rgba(0,0,0,0.12);
	transition: all 0.4s;
	position: relative;
}

.winner-nice {
	width: calc(33% - 18px);
    margin: 20px 10px;
	padding: 20px;
	box-sizing: border-box;
	background: #ffffff;
	box-shadow: 0 5px 35px 0 rgba(0,0,0,0.12);
	transition: all 0.4s;
	position: relative;
}

.winner-2:hover,
.winner-3:hover,
.winner-nice:hover {
	box-shadow: 0 5px 35px 0 rgba(0,0,0,0.32);
	cursor: pointer;
}

.winner-nice.absent:hover{
	box-shadow: 0 5px 35px 0 rgba(0,0,0,0.12);
	cursor: none;
}

.winner-intro .title {
	margin-top: 15px;
	font-size: 1.5em;
	font-weight: 700;
	color: #000000;
	text-align: left;
}

.winner-intro .author {
    margin: 20px 0;
    padding-left: 10px;
    display: inline-block;
	border-left: 5px solid #ffcc00;
	width: calc(100% - 92px);
}

.winner-intro .desc {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	white-space: normal;
}

.winner-intro .zoom {
    color: #666666;
    font-size: 0.875em;
    text-align: right;
    background: url(../img/zoom-len.svg) no-repeat;
    background-position: left;
    background-size: contain;
    width: 70px;
    transition: all 0.4s;
    display: inline-block;
}

.winner-1:hover .winner-intro .zoom ,
.winner-2:hover .winner-intro .zoom ,
.winner-3:hover .winner-intro .zoom, 
.winner-nice:hover .winner-intro .zoom {
	color: #ffcc00;
	background: url(../img/zoom-len-yellow.svg) no-repeat;
	background-position: left;
    background-size: contain;
}

.winner-1 .winner-intro .zoom {
	margin: 15px 0;
	display: block;
}

.winner-intro .zoom img {
	width: 20px;
    margin-bottom: -5px;
    margin-right: 5px;
}

.winner-flag {
	width: 90px;
	height: 100px;
	padding-top: 26px;
	box-sizing: border-box;
	position: absolute;
	right: 20px;
	top: -35px;
	text-align: center;
    font-weight: bold;
	font-size: 1.25em;
}

.winner-flag.no1 {
	background: url(../img/flag-winner-1.svg) no-repeat;
	color: #4D3D00;
	right: 10px;
}

.winner-flag.no2 {
	background: url(../img/flag-winner-2.svg) no-repeat;
	color: #525252;
	right: 0;
}

.winner-flag.no3 {
	background: url(../img/flag-winner-3.svg) no-repeat;
	color: #733715;
	right: 0;
}

.winner-flag.nice {
	background: #ffcc00;
	width: 80px;
    height: 80px;
    padding-top: 25px;
	border-radius: 100%;
	color: #635109;
	right: -10px;
}
a.modal-fade.winner-detail {
	display: block;
	width: 100%;
	height: 100%;
    position: absolute;
	top: 0;
	left: 0;
    z-index: 1;
}

@media all and (max-width: 768px) {
	.winner-1 {
		display: block;
		padding: 20px;
		box-sizing: border-box;
		background: #ffffff;
		box-shadow: 0 5px 35px 0 rgba(0,0,0,0.12);
		transition: all 0.4s;
	}

	.winner-1 .winner-photo {
		width: 100%;
	}
	
	.winner-1 .winner-intro {
		width: 100%;
		margin-left: 0;
	}

	.winner-1 .winner-intro .zoom {
		margin: 15px 0 15px auto;
	}

	.tab-limited {
		display: block;
	}

	.winner-2,
	.winner-3,
	.winner-nice { 
		width: 100%;
		margin: 60px auto 30px;
		padding: 20px;
		box-sizing: border-box;
		background: #ffffff;
		box-shadow: 0 5px 35px 0 rgba(0,0,0,0.12);
	}
}

.lang-en.runner-up {
    /* display: inline-block !important; */
    margin-top: -10px;
	padding: 0 15px;
    font-size: 16px;
    line-height: 1em;
}
.lang-en.runner-up p {
	margin-top: -35px;
    padding: 0 15px;
	text-align: center;
}
/* ============================================================
MOBILE
============================================================ */
.mobile-banner{
	width: 100%;
	position: relative;
	margin: 20px auto;
}

.mobile-banner-main{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.mobile-banner-cricle{
	width: 100%;
	padding-bottom: 100%;
	border-radius: 50%;
	background: #ffcc00;
	position: absolute;
	left: -30%;
	top: 50%;
	transform: translate(0, -50%);
}

.mobile-title{
	width: 46%;
	max-width: 500px;
	position: relative;
	margin: 2%;
}

.mobile-product{
	width: 46%;
	max-width: 500px;
	position: relative;
	margin: 2%;
}

.mobile-product img{
	width: 100%;
	padding-top: 35px;
}

.mobile-title h2{
	font-size: 2em;
	color: #000000;
	text-align: left;
	font-weight: 600;
	line-height: 1.8em;
}

.mobile-title h5{
	font-size: 1.25em;
	color: #000000;
	text-align: left;
	font-weight: 400;
	line-height: 1.4em;
}

@media all and (max-width: 768px) {
	.mobile-banner-main{
		display: block;
	}

	.mobile-product{
		width: 80%;
		margin: 0 auto;
	}

	.mobile-title{
		width: 90%;
		margin: 0 auto;
		padding: 50px 0 30px 0;
	}

	.mobile-banner-cricle{
		left: 50%;
		top: -30%;
		transform: translate(-50%, 0);
	}

	.mobile-title h2, .mobile-title h5{
		text-align: center;
	}
}

@media all and (max-width: 480px){
	.mobile-title h2{
		font-size: 1.5em;
	}

	.mobile-title h5{
		font-size: 1em;
	}
}


.mobile-intro-container{
	width: 100%;
	position: relative;
	margin: 50px auto;
}

.mobile-info{
	width: 100%;
	position: relative;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.mobile-info.reverse{
	flex-direction: row-reverse;
}

.mobile-text{
	width: 50%;
	position: relative;
}

.mobile-text-100, .mobile-text-100center {
	width: 100%;
	margin: 30px 0;
}

.mobile-pic{
	width: 50%;
	position: relative;
}

.mobile-pic-100{
	width: 100%;
	margin-bottom: 30px;
}

.mobile-text.mobile-screen{
	width: 40%;
}

.mobile-pic.mobile-screen{
	width: 30%;
	margin: 2%;
}

.mobile-text-container{
	width: 80%;
	position: relative;
	margin: 0 auto;
	padding: 50px 0;
}

.mobile-text h3{
	color: #333333;
	font-size: 1.5em;
	font-weight: 600;
	text-align: left;
	line-height: 1.5em;
}

.mobile-text p{
	color: #222222;
	font-size: 1em;
	font-weight: 400;
	text-align: justify;
}

.mobile-pic img{
	width: 100%;
}

.mobile-num{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.mobile-num-item{
	width: 50%;
	position: relative;
	margin: 15px 0;
}

.mobile-text-100center h3, .mobile-text-100center p{
	text-align: center;
}

@media all and (max-width: 1100px){
	.mobile-num{
		flex-wrap: wrap;
	}

	.mobile-num-item{
		width: 50%;
	}
} 

@media all and (max-width: 480px){
	.mobile-num-item{
		width: 100%;
	}
}

.mobile-num-item h5{
	font-size: 1.3em;
	color: #f3c200;
	font-weight: 600;
	text-align: left;
}

.mobile-num-item p{
	font-size: 1em;
	color: #333333;
	font-weight: 400;
	text-align: left;
}

h4.mobile-gift{
	font-size: 1.5em;
	line-height: 1.5em;
	font-weight: 600;
	color: #222222;
	text-align: center;
}

p.mobile-price{
	color: #333333;
	font-size: 1.1em;
	font-weight: 500;
	text-align: center;
}

p.mobile-price em{
	font-size: 1.25em;
	color: #ff0000;
	font-weight: 600;
}

p.mobile-memo{
	font-size: .95em;
	color: #333333;
	text-align: center;
}

p.mobile-feature{
	font-size: 1em;
	color: #333333;
	text-align: center;
	margin-top: 20px;
}

.mobile-list{
	width: 90%;
	max-width: 440px;
	position: relative;
	margin: 10px auto;
}

ul.mobile-list, 
ul.mobile-list li{
	list-style: disc;
}

.mobile-gift-pic{
	width: 80%;
	max-width: 500px;
	position: relative;
	margin: 20px auto;
}

.mobile-gift-pic img{
	width: 100%;
}

@media all and (max-width: 768px) {
	.mobile-info{
		display: block;
	}

	.mobile-text, .mobile-pic{
		width: 100%;
	}

	.mobile-text.mobile-screen{
		width: 100%;
	}

	.mobile-pic.mobile-screen{
		width: 100%;
		max-width: 350px;
		position: relative;
		margin: 0 auto;
	}

	.mobile-text-container{
		width: 90%;
	}
}


/* ============================================================
ADVERTISEMENT
============================================================ */
.ad-tip{
	color: #999999;
	font-size: 0.8em;
	text-align: center;
	text-transform: uppercase;
}

/* 300 */
.ad-300250, .ad-300600{
	width: 300px;
	position: relative;
	margin: 20px auto;
}

/* 970 */
.ad-970250{
	width: 970px;
	position: relative;
	margin: 50px auto;
}

.ad-300250 .ad-content{
	width: 300px;
	height: 250px;
	position: relative;
	overflow: hidden;
}

.ad-300600 .ad-content{
	width: 300px;
	height: 600px;
	position: relative;
	overflow: hidden;
}

.ad-970250 .ad-content{
	width: 970px;
	height: 250px;
	position: relative;
	overflow: hidden;
}

.ad-content picture{
	width: 100%;
}

@media all and (max-width: 1100px){
	.ad-970250{
		width: 300px;
		margin: 20px auto;
	}

	.ad-300600 .ad-content{
		width: 300px;
		height: 250px;
	}
}

/* ============================================================
aw-winner
============================================================ */
.aw-winner-content{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.aw-win>a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 3;
}

.aw-win-1{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.aw-win-pic{
	position: relative;
} 

.aw-win-pic img{
	width: 100%;
	position: relative;
	z-index: 2;
}

.aw-win-album{
	background: #333333;
}

.aw-award-item{
	width: 100%;
	max-width: 200px;
	height: 40px;
	position: relative;
	padding: 0 7px;
	box-sizing: border-box;
	background-image: linear-gradient(to right, rgba(255, 204, 0, 1.0), rgba(255, 204, 0, 0));
	margin-bottom: 10px;
}

.aw-award-item h3{
	font-size: 1.2em;
	color: #000000;
	line-height: 40px;
}

.aw-win-text{
	position: relative;
}

.aw-win-text h2{
	color: #000000;
	font-size: 2em;
	font-weight: 700;
}

.aw-win-text h4{
	color: #222222;
	font-size: 1.3em;
	font-weight: 500;
	margin: 5px 0;
}

.aw-win-text p{
	color: #333333;
	font-size: 1em;
	font-weight: 400;
}

.aw-win-text a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.aw-pic-logo {
	width: 100px;
	position: absolute;
	bottom: 10px;
	right: 15px;
}

.aw-pic-logo img{
	width: 100%;
}

.aw-win-pic-1{
	width: 65%;
	position: relative;
}

.aw-win-pic-1:before{
	content: '';
	display: table;
	width: 100%;
	padding-bottom: 66.6667%;
	background: #ffcc00;
	position: absolute;
	bottom: -5%;
	right: -2.5%;
	z-index: 1;
}

.aw-win-text-1{
	width: 30%;
}

.aw-win-2{
	width: 55%;
	position: relative;
	margin: 100px 0;
}

.aw-win-pic-2{
	width: 100%;
	position: relative;
	/* margin-left: 15%; */
	z-index: 1;
}

.aw-win-text-2{
	width: 100%;
	/* position: absolute;
	bottom: -30px;
	left: 0; */
	background: rgba(245,245,245,.8);
	z-index: 2;
	padding: 0 20px 0 0;
	font-size: 13px;
}

.aw-win-3{
	width: 40%;
	position: relative;
}

.aw-win-pic-3{
	width: 100%;
	position: relative;
	z-index: 1;
}

.aw-win-text-3{
	width: 100%;
	/* position: absolute;
	bottom: -30px;
	right: 0; */
	position: relative;
	/* background: rgba(245,245,245,.8); */
	z-index: 2;
	padding: 0 20px 0 0;
	font-size: 13px;
}

.aw-win-4, .aw-win-5, .aw-win-6{
	width: 32%;
	position: relative;
}

.aw-win-text-4, .aw-win-text-5, .aw-win-text-6{
	position: relative;
	font-size: 13px;
}

.aw-win-2.aw-win-0{
	margin: 0 auto;
}

.aw-win-3.aw-win-00{
	width: 55%;
    margin-left: 22.5%;
    position: relative;
    margin-top: 50px;
    padding-top: 50px;
    border-top: 1px solid #999999;
}

@media all and (max-width: 768px){
	.aw-winner-content{
		display: block;
	}

	.aw-win-pic-1{
		width: 100%;
		position: relative;
	}

	.aw-win-text-1{
		width: 100%;
		margin-top: 50px;
	}

	.aw-win-2, .aw-win-3,
	.aw-win-4, .aw-win-5, .aw-win-6{
		width: 100%;
	}

	.aw-win-2{
		margin: 50px 0;
	}

	.aw-win-3, .aw-win-4, .aw-win-5, .aw-win-6{
		margin-bottom: 50px;
	}

	.aw-win-3.aw-win-00{
		width: 100%;
		margin-left: 0;
	}
}

/* ============================================================
SLIDER
============================================================ */
.slider{
	width: 100%;
	/* height: 500px; */
	position: relative;
	margin: 0 auto;
	overflow-x: hidden;
	/* margin-top: -30px; */
	padding-bottom: 66.67%;
}

.slider-btn-all{
	position: absolute;
    top: 0;
    left: 0;
}

.slider-btn{
	/* width: 100%; */
	float: left;
	/* margin-left: 100px; */
	position: relative;
}

.slider-btn img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	vertical-align: bottom;
}



/*control*/
.slider-control-aw{
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}

.slider-prev, .slider-next{
	width: 50px;
	height: 50px;
	font-size: 2em;
	color: #ffffff;
	text-align: center;
	line-height: 50px;
	background: rgba(0, 0, 0, .8);
	float: right;
	margin-left: 5px;
	cursor: pointer;
}

.slider-control:after{
	content: '';
	display: table;
	clear: both;
}

.slider-prev a, .slider-next a{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/* ============================================================
award tag
============================================================ */
.pic-award-tag{
	width: 100%;
    max-width: 300px;
    text-align: center;
    padding: 5px 5px;
    box-sizing: border-box;
    background: #9a0a0a;
    border-radius: 5px;
    margin: 10px 0;
}

.pic-award-tag h5{
	color: #ffffff;
	font-size: 1.15em;
	font-weight: 500;
}

.pic-award-tag h5 em{
	font-size: .8em;
	font-weight: 400;
}

.pic-award-icon{
	width: 5%;
	min-width: 60px;
	position: absolute;
	top: 0;
	left: 15px;
	background: rgba(255, 204, 0, .8);
	color: #ffffff;
	text-align: center;
	padding: 10px 0;
	font-size: 2em;
}

.pic-award-tag.pic-up{
	font-size: 13px;
    position: absolute;
    background: rgba(154, 10, 10, .8);
    max-width: 250px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

@media all and (max-width: 768px){
	.pic-award-tag.pic-up{
		display: none;
	}
}


/* ============================================================
SECTION.TOUR
============================================================ */
.screen-container.tour {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

p.tour-subtitle {
	text-align: center;
}

h3.title-tour {
	margin: 0 0 2rem;
	padding-bottom: 1rem;
	font-size: 2rem;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    position: relative;
	line-height: 3rem;
}

h3.title-tour::after {
    content: "";
    width: 60px;
    height: 5px;
    position: absolute;
    left: calc(50% - 30px);
    bottom: 0;
    background-color: #ffcc00;
}

.tour-apply-box {
	width: 30%;
	padding: 30px;
	box-sizing: border-box;
	background-image: linear-gradient(25deg, rgba(0,0,0,0.00) 1%, #000000 81%);
	border: 2px solid rgba(255,255,255,0.16);
	box-shadow: 0 2px 84px 0 rgba(0,0,0,0.50);
	border-radius: 10px;
}
@media all and (max-width: 991px){
	.tour-apply-box {
		width: 100%;
		margin: 30px auto;
	}
}

.tour-apply-box h3 {
    margin: 10px 0 0;
	font-size: 1.5rem;
	line-height: 2rem;
}

.tour-apply-box .reminder{
	color: #ffcc00;
}

.tour-apply-box img{
	width: 100%;
}

.tour-headline {
	width: 70%;
}
@media all and (max-width: 991px){
	.tour-headline {
		width: 100%;
	}
}

.tour-headline h3 {
	margin: 2rem 0 0.5rem;
    padding-left: 15px;
    font-size: 1.25rem;
    line-height: 1.25rem;
    font-weight: normal;
    color: #7DFFA8;
    position: relative;
}

.tour-headline h3:first-of-type {
	margin: 0 0 0.5rem;
}

.tour-headline h3:before {
    content: '';
    width: 6px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
	background-image: linear-gradient(180deg, #B9FFD1 4%, #4BF685 97%);
	box-shadow: 0 2px 84px 0 rgba(0,0,0,0.50), inset 0 1px 33px 0 rgba(255,255,255,0.48);
}

.tour-headline ul li {
    margin-left: 1.5rem;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    font-weight: 400;
    font-size: 1em;
    color: #ffffff;
    list-style: disc;
    line-height: 1.8rem;
}

.tour-headline ul.list-number li {
    list-style: decimal;
}

.tour-area {
	display: flex;
	background-color: #666666;
	align-items: center;
}

.tour-area .left {
	width: 35%;
	text-align: right;
}

.tour-area .left img {
	width: 100%;
	max-width: 180px;
}

.tour-area .right {
	width: 65%;
	padding: 30px;
}

table.tour-set {
	width: 100%;
}

table.tour-set tr td{
	padding: 10px 20px;
    background-color: #666666;
    border-bottom: 1px solid #333333;
    border-right: 1px solid #333333;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	text-align: center;
}

table.tour-set tr td:first-child {
	font-weight: 500;
	letter-spacing: 2px;
}

/* ============================================================
index POPUP
============================================================ */
.popup-index{
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, .7);
	z-index: 100;
}

.popup-index-container{
	width: 90%;
	max-width: 720px;
	border-radius: 10px;
	background: #ffffff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	overflow-y: scroll;
    /* height: 90vh; */
}

.popup-index-content{
	width: 90%;
	position: relative;
	margin: 0 auto;
	padding: 30px 0; 
}

.popup-index-content h2{
	font-size: 3rem;
	line-height: 3rem;
	text-align: center;
	color: #ffcc00;
	margin-bottom: 10px;
}

.popup-index-content h4{
	font-size: 1rem;
	margin-bottom: 0.5rem;
	color: #333333;
	text-align: justify;
	
}

.popup-index-container p {
	margin: 1rem 0;
	color: #333333;
	text-align: left;
}

.popup-index-container p a,
.popup-index-container ul li a{
	padding-bottom: 1px;
	color: #333333;
	font-weight: bold;
	border-bottom: 2px solid #ffcc00;
}

.popup-index-container ul {
	text-align: left;
}

.popup-index-container ul li {
	margin: 0.5rem 0;
	color: #333333;
	text-align: left;
}

.popup-index-container ul li em{
	color: #896221;
    font-weight: bold;
}

.popup-index-container .lucky-gift {
	display: flex;
	flex-wrap: wrap;
}

.popup-index-container .lucky-gift img{
	width: calc(100%/3);
}
@media all and (max-width: 991px){
	.popup-index-container .lucky-gift img {
		width: 50%;
	}
}

.break-lines{
	display: block;
}

@media all and (max-width: 991px){
	.break-lines{
		display: inline-block;
	}
}

.break-lines-mo {
	display: inline-block;
}
@media all and (max-width: 991px){
	.break-lines-mo{
		display: block;
	}
}


.popup-index-content .shortlist-gift {
	width: 100%;
}

.popup-index-content ul.list-num li{
	list-style-type: decimal;

}

.popup-index-content ul.list-dot {
	margin-left: 1.5rem;
}

.popup-index-content ul.list-dot li{
	margin-bottom: 1rem;
	list-style-type: disc;
}

.popup-index-content ul.list-dot li p {
	font-weight: bold;
}
.popup-index-btn{
	max-width: 200px;
	height: 45px;
	background: #ffcc00;
	position: relative;
	margin: 10px auto;
	text-align: center;
	line-height: 45px;
	color: #000000;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	border-radius: 5px;
	cursor: pointer;
}

.scrollfixed{
	overflow: hidden;
}



/* === Animals on Page === */
.showing-set1 {
    width: 18%;
    max-width: 240px;
    height: 120px;
    position: absolute;
	right: -60px;
    top: 180px;
    z-index: 2;
    opacity: 0;
    animation: EnterStage 1s ease 0s 1 forwards;
}

.showing-set1 img {
    width: 100%;
}

@media (max-width: 1400px) {
    .showing-set1 {
        top: 300px;
        max-width: 110px;
    }
}

@media (max-width: 991px) {
    .showing-set1 {
        top: 480px;
    }
}

@media (max-width: 750px) {
    .showing-set1 {
        top: 580px;
    }
}

@keyframes EnterStage {
    0% {
        opacity: 0;
        right: -60px;
    }
    100% {
        opacity: 1;
        right: 0;
    }
}



/* ============================================================
Q&A
============================================================ */
.page-qna {
    background-color: #487C48;
    background-image: url(../img/bg_forest_dark.jpg) ; 
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100%;
	position: relative;  
	overflow-x: hidden ;
}

#qna-start {
    overflow: hidden;
}

#qna-start .screen-container {
    padding: 150px 0 90px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
}

#qna-start .screen-container h2 {
    width: 100%;
    margin: -20px 0 0;
    color: #fff;
    display: block;
}

#qna-start .screen-container h3 {
    margin-left: -100px;
}

#qna-start .screen-container p.opening {
	max-width: 720px;
	margin: 0 auto;
	padding: 20px;
	color: #fff;
	text-align: center;
}

#qna-start .screen-container .box {
    width: calc(33% - 40px);
    height: 380px;
    margin: 20px;
}

.box .card-question,
.box .card-tips {
    padding: 20px;
    box-sizing: border-box;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 20px 20px 0 rgba(0,0,0,0.10);
    position: relative;
    overflow: hidden;
}

.box .card-question .que {
    font-size: 1rem; /* 16px */
    line-height: 1.375rem; /* 22px */
    text-align: justify;
}

.box .card-question .que img {
    margin-bottom: 1rem;
    display: block;
}

.box .card-question .ans-all a {
    margin: 20px 0;
    padding: 10px 10px;
    text-align: center;
    line-height: 1.5rem;
    border-radius: 100px;
    color: #333333;
    border: 2px solid #C7D1A0;
    display: block;
    transition: all 0.4s ease-in-out;
}

.box .card-question .ans-all a:hover {
    background-image: linear-gradient(90deg, #F3FFC4 0%, #99B000 100%);
    transition: all 0.4s ease-in-out;
}

.box .card-question button {
    outline: 0;
    border: 0;
}

.box .card-question button.show-tips {
    width: 70px;
    height: 70px;
    background: url(../img/btn-tip.svg) no-repeat;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 3;
	border: 0;
}

.box .card-tips button.show-question {
    width: 70px;
    height: 70px;
    background: url(../img/btn-back.svg) no-repeat;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 3;
	border: 0;
}

.box .card-question .btn-primary {
    margin: 20px auto;
    display: block;
}

.box .card-question.who-am-i {
    padding: 0;
}

.box .card-question.who-am-i img {
    width: 100%;
    object-fit: cover;
}

.box .card-tips img {
    display: block;
    margin: 0 auto;
}

.box .card-tips p {
    margin-top: 1rem;
    text-align: justify;
    letter-spacing: 1px;
}

/* #qna-start 響應式斷點 */
@media (max-width: 991px) {
    #qna-start .screen-container .box {
        width: calc(50% - 40px);
        max-width: 330px;
    }
}

@media (max-width: 750px) {
    #qna-start .screen-container {
        padding: 60px 0 90px;
    }

    #qna-start .screen-container .box {
        width: 100%;
        margin: 20px auto;
    }
}

#ans-right, 
#ans-wrong {
    width: 480px;
    background: url(../img/popup-bg.jpg) no-repeat center top;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 40px;
    padding-bottom: 60px;
}



/* ============================================================
! IMPORTANT
============================================================ */
.sub-nav-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 19;
    box-shadow: 0 2px 10px rgba(0,0,0,.3)
}

