body{
	width: 100vw;
	overflow-x: hidden;
	background-color: #e0f0dc;
	color: #333333;
	font-size: 16px;
}

body.bg-gradient{
	background-color: #E0F0DC;
}

body.bg-treetop{
	background-image: url(../img/bg_treetop.jpg);
	background-repeat: no-repeat;
	background-color: #E0F0DC;
    background-size: 100%;
    background-attachment: fixed;
	position: relative;
}
body.bg-darkgreen{
	background-color: #1E6C69;
}

body.bg-lake{
	background-image: url(../img/bg_lake.jpg);
	background-repeat: no-repeat;
	background-color: #3AB3C7;
    background-size: cover;
    background-attachment: fixed;
	position: relative;
}


h1, h2, h3, h4, h5, h6{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
}

h1{
	font-size: 3.4rem;
	font-weight: 500;
	line-height: 4rem;
}

h2 {
    font-size: 2.5rem;
    line-height: 3rem;
    font-weight: 500;
    margin: 1rem 0;
    text-align: center;
    position: relative;
}

h2 span {
    font-size: inherit;
}

h2.with-paper {
    width: 270px;
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
    color: #fff;
    background-image: url(../img/h1_paper.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    position: relative;
}

h2.with-paper::after {
    content: '';
    width: 50px;
    height: 50px;
    position: absolute;
    right: -42px;
    top: -5px;
    z-index: 0;
    background-image: url(../img/h2_leaf2.png);
    background-repeat: no-repeat;
    background-size: contain;
}

h2.with-paper2 {
    width: 270px;
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
    color: #fff;
    background-image: url(../img/h1_paper.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    position: relative;
}
@media all and (max-width: 991px){
	h2.with-paper,
	h2.with-paper2 {
		width: 200px;
	}
}

h2.with-paper2::after {
	content: '';
	width: 60px;
	height: 60px;
	position: absolute;
	left: -40px;
	top: -5px;
	z-index: 0;
	background-image:  url(../img/h2_leaf.png);
	background-repeat:  no-repeat;
	background-size: contain;
}

h2.deco-left {
	margin: 0 auto;
	padding: 10px 0;
	position: relative;
	display: inline-block;
	text-align: center;
}

h2.deco-left ::after {
	content: '';
	width: 60px;
	height: 60px;
	background-image: url(../img/h2_leaf.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: absolute;
	left: -65px;
	top: 0px;
}

h3{
	font-size: 1.2em;
	font-weight: 500;
	line-height: 2.4em;
}

h4{
	font-size: 1.85em;
	font-weight: 500;
}

h5{
	font-size: 1.125em;
	font-weight: 500;
}

h6{
	font-size: 1em;
    font-weight: 500;
}

table {
	border-spacing: 0;
}

p{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	text-align: justify;
	font-size: 1em;
    /* line-height: 1.5em; */
    font-weight: 400;
}

::selection {
    color: #000000;
    background: #ffcc00;
}

.show{
	display: block;
}

.hide{
	display: none;
}

.mobile{
	display: none;
}

.desktop{
	display: block;
}

.clearfix{
	clear: both;
}

section{
	position: relative;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

ol.ol-number, 
ol.ol-number li{
	padding-bottom: 0.5rem;
	list-style: decimal;
	margin-block-start: 0em;
    padding-inline-start: 0;
    color: #222222;
	font-weight: 400;
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
    font-size: 1em;
}

ol.ol-number{
	margin-bottom: 0;
	padding-bottom: 0;
}

.overflownone{
	overflow: hidden;
}

.em-color{
	color: #1E6C69;
}

.em-orange{
	color: #FF712B;
}

.em-bold {
	font-weight: 700;
}



/* ============================================================
LOADING
============================================================ */
.progress {
	position: fixed;
	z-index: 11111;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #f5f5f5;
	color: #61bcc1;
}

.progress-inner {
	position: absolute;
	left: calc(50% - 140px);
	top: calc(50% - 140px);
	width: 280px;
	height: 280px;
	background-color: #ffcc00;
	/*overflow: hidden;*/
}

/* .progress-inner img{
	width: 100%;
} */

.progress-bar {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
}

.progress-text {
	color: #f27740;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-size: 2em;
	font-weight: 700;
	position: absolute;
	z-index: 9999999;
	width: 220px;
	text-align: center;
	top: 70%;
	left: 50%;
	transform: translate(-50%, 0);
}

/* .complete {
	overflow: auto;
} */

.progress-logo {
	-moz-transform: scale(1.02, 1.02);
	-ms-transform: scale(1.02, 1.02);
	-webkit-transform: scale(1.02, 1.02);
	transform: scale(1.02, 1.02);
	position: absolute;
	top: 0;
}

.progress-complete .progress-bar {
	background-color: #f5f5f5;
}

/* ============================================================
NAV
============================================================ */
nav{
	width: 100%;
	height: 60px;
	background-image: linear-gradient(180deg, #00443B 0%, #015C50 100%);
	position: fixed;
	z-index: 99;
	transition: all 0.3s ease;
}

.contest-logo {
	float: left;
	position: relative;
	width: 200px;
    height: 40px;
    margin-top: 8px;
    margin-left: 20px;
	z-index: 2;
	opacity: 1;
}
@media all and (max-width: 750px) {
	.contest-logo {
		width: 150px;
		margin-top: 15px;
		margin-left: 10px;
	}
}

.contest-logo a {
	border: 0;
}

.contest-logo img {
	width: 100%;
	margin-right: 4%;
}

.nav-icons{
	float: right;
	padding: 0 10px;
	position: relative;
}
@media all and (max-width: 640px) {
	.nav-icons {
		padding: 0 8px;
	}
}

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

.nav-icons-container{
	width: calc(100% - 300px);
	float: right;
	margin-right: 20px;
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: row-reverse;
	/* flex-wrap: wrap; */
}
@media all and (min-width: 1400px) {
	.nav-icons-container{
		width: calc(100% - 350px);
		margin-right: 50px;
	}
}

@media all and (max-width: 991px) {
	.nav-icons-container{
		width: calc(100% - 270px);
    	margin-right: 10px;
	}
}

@media all and (max-width: 750px) {
	.nav-icons-container{
		width: calc(100% - 190px);
	}
}

nav:after{
	content: '';
	display: table;
	clear: both;
}

.icon-menu{
	color: #ffffff;
	font-weight: 500;
	text-align: center;
	line-height: 60px;
	letter-spacing: .05em;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	cursor: pointer;
	width: 70px;
	display: none;
}
@media all and (max-width: 991px) {
	.icon-menu{
		display: block;
	}
}

.icon-menu.close{
	color: #ffcc00;
}

.icon-user{
	width: 30px;
	padding-top: 15px;
	/* box-sizing: border-box; */
}

.icon-user img{
	width: 100%;
}

.icon-lang {
	width: 70px;
    margin-top: 14px;
    padding-left: 0;
}

.icon-lang select {
    font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-size: 0.875em;
	color: #ffffff;
	outline: 0;
	border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 3px;
	padding: 5px 2px 5px;
	background: rgba(0, 0, 0, 0.2);
}

.icon-language-element {
	width: 30px;
	height: 30px;
	border: 1px solid #ffffff;
	box-sizing: border-box;
	border-radius: 50%;
	margin-top: 11px;
	transition: .2s linear;
}

.icon-language-text {
	text-align: center;
	line-height: 30px;
	color: #ffffff;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: 14px;
	text-transform: uppercase;
	transition: .2s linear;
}

.nav-icons.icon-language:hover 
.icon-language-element{
	background: #ffffff;
}

.nav-icons.icon-language:hover .icon-language-text{
	color: #000000;
}

@media all and (max-width: 640px) {

	.icon-menu {
		width: auto;
	}
}

.upload-btn{
	width: 120px;
	height: 60px;
	margin-left: 10px;
	line-height: 60px;
	text-align: center;
	color: #000000;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 500;
	font-size: 1.15rem;
	background: #ffcc00;
	transition: .3s ease;
}
@media all and (max-width: 1200px) {
	.upload-btn{
		width: 100px;
	}
}

@media all and (max-width: 375px) {
	.upload-btn{
		margin: 0;
		text-align: center;
		min-width: 56px;
		font-size: 0.875rem;
	}
}

.upload-btn:hover{
	background: #ffffff;
	transition: .3s ease;
}

.menu-direct {
	width: calc(100% - 100px);
}
@media all and (max-width: 991px) {
	.menu-direct {
		display: none;
	}
}

.menu-direct >ul{
	width: 100%;
	display: flex;
	justify-content: flex-end;
}

.menu-direct >ul >li{
	list-style: none;
	position: relative;
}

.menu-direct >ul >li a,
.menu-direct >ul >li p{
	min-width: 100px;
	padding: 16px 10px;
	color: #ffffff;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	display: block;
	font-size: 1.15rem;
	font-weight: 500;
	transition: all 0.5s ease-in-out;
	text-align: center;
	position: relative;
}
@media all and (max-width: 1400px) {
	.menu-direct >ul >li a{
		padding: 16px 5px;
	}
}
@media all and (max-width: 1200px) {
	.menu-direct >ul >li a{
		padding: 16px 0;
	}
}

.menu-direct >ul >li p::after{
	content: '';
	position: absolute;
	right: 10px;
    top: 27px;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-top: 6px solid #ffffff;
    border-bottom: 0;
}

.menu-direct >ul >li p:hover{
	cursor: pointer;
}

.menu-direct >ul >li >ul {
	visibility: hidden; /* hides sub-menu */
	opacity: 0;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	transform: translateY(-2em);
	z-index: -1;
	transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
	background-color: #0f4d4a;
}

.menu-direct >ul >li >ul >li:hover{
	background-color: #1E6C69;
	transition: all 0.5s ease-in-out;
}

.menu-direct >ul >li:focus >ul,
.menu-direct >ul >li:focus-within >ul,
.menu-direct >ul >li:hover >ul {
  visibility: visible; /* shows sub-menu */
  opacity: 1;
  z-index: 1;
  transform: translateY(0%);
  transition-delay: 0s, 0s, 0.3s; /* this removes the transition delay so the menu will be visible while the other styles transition */
}

.menu{
	width: 90%;
	max-width: 600px;
	height: 100vh;
	background: #004f48;
	position: absolute;
	right: -100vw;
	top: 0;
	display: none;
	z-index: 2;
}

.menu >ul{
    width: 80%;
    max-height: calc(100vh - 80px);
	position: absolute;
	top: 80px;
	left: 20%;
}

.menu >ul >li{
	text-align: left;
}

.menu >ul >li a,
.menu >ul >li p{
	padding: 10px 0;
	color: #ffffff;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 500;
    font-size: 1.25rem;
	color: #ffffff;
	text-align: left;
	display: block;
	transition: .2s linear;
}

.menu >ul >li a:hover{
	color: #ffcc00;
}

.menu >ul >li i{
	font-size: 0.6em;
}

.menu >ul >li a.comingsoon{
	color: #888888;
	cursor: default;
}

.menu >ul >li a.comingsoon:hover{
	color: #888888;
}

.menu >ul >li >ul{
	display: none;
	width: 100%;
	background-color: #1E6C69;
    padding-left: 2rem;
}

/* 父選單指示箭頭 */
.has-submenu {
  position: relative;
  cursor: pointer;
}

.has-submenu::after {
  content: "▼"; /* 預設箭頭 */
  position: absolute;
  right: 10px;
  top: 17px;
  font-size: 12px;
  color: #fff;
  transition: transform 0.5s ease;
}

.has-submenu.active::after {
  transform: rotate(180deg); /* 展開時旋轉箭頭 */
}

.menu-share{
	position: absolute;
	bottom: 40px;
	right: 20px;
}

.share-icon{
	display: inline-block;
	color: #ffffff;
	font-size: 1.75em;
	padding: 0 15px;
	vertical-align: middle;
}

.share-icon a{
	color: #ffffff;
	transition: .2s linear;
}

.share-title{
	color: #ffffff;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: 1em;
	text-transform: uppercase;
	padding: 0;
	margin-right: 15px;
}

.fb-share a:hover{
	color: #3b5998;
}

.line-share a:hover{
	color: #00c300;
}

.menu-language{
	position: absolute;
	bottom: 25px;
	left: 25px;
}

@media all and (max-width: 991px) {
	.menu >ul >li{
		font-size: 1.5rem;
		
	}

	.share-title{
		margin-right: 0;
	}

	.menu >ul >li a{
		letter-spacing: 2px;
	}
}

@media all and (max-width: 480px) {
	.menu >ul >li a:hover{
		color: #ffffff;
	}

	.menu >ul >li.menu-yellow a{
		color: #ffcc00;
	}

	.menu >ul >li.menu-yellow a:hover{
		color: #ffcc00;
	}

	.nav-icons-container {
		margin-right: 0;
		z-index: 3;
	}
}

.nav-down{
	animation: navMoveDown .2s 0s forwards linear;
}

.nav-up{
	animation: navMoveUp .2s 0s forwards linear;
}

@keyframes navMoveDown{
	0%{
		top: -61px;
	}

	100%{
		top: 0;
	}
}

@keyframes navMoveUp{
	0%{
		top: 0;
	}

	100%{
		top: -61px;
	}
}

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

.countdown-timer {
	padding: 0;
	font-size: inherit;
	color: #ffffff;
}

ul#countdown {
	position: relative;
    margin: 10px auto 0;
    color: #ffffff;
	font-weight: bold;
	display: flex;
}


ul#countdown li {
	margin: 0 8px 0 0;
	padding: 0;
	/* width: 25%; */
	width: 22px;
	font-size: 18px;
	text-align: center;
}

ul#countdown li .label {
	color: #ffffff;
	font-size: 12px;
	text-transform: uppercase;
	font-weight: normal;
	transform: scale(0.8);
}

.countdown-note {
	width: 120px;
	padding: 5px;
	position: absolute;
	top: 60px;
	left: 0;
	background: #525252;
	color: #ffffff;
	font-size: 0.875rem;
	text-align: center;
	border-radius: 5px;
	box-shadow: 3px 1px 6px 0px rgb(0 0 0 / 50%);
	animation: showUp 10s linear 2s 3;
	opacity: 0;
}

.countdown-note::before {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 6px 12px 6px;
	border-color: transparent transparent #525252 transparent;
	content: '';
	position: absolute;
	top: -12px;
	left: 36px;
}

@keyframes showUp{
	0%{
		opacity: 0;
		top: 60px;
	}
	5%{
		opacity: 1;
		top: 65px;
	}
	50%{
		opacity: 1;
		top: 65px;
	}
	55%{
		opacity: 0;
		top: 60px;
	}
	100%{
		opacity: 0;
		top: 60px;
	}
}


/* ============================================================
SECTION
============================================================ */
.screen-container{
	width: 90%;
	max-width: 1100px;
	position: relative;
	margin: 0 auto;
	padding: 60px 0;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
}

.screen-container.short-ending {
	padding-bottom: 0;
}

.screen-container.narrow{
	max-width: 960px;
	margin: 10px auto;
    padding: 30px;
	box-sizing: border-box;
    background: #ffffff;
    border-radius: 10px;
}

.screen-container.wide{
	max-width: 90%;
}

.screen-container.short{
	padding: 0;
}

.screen-container h2{
	text-align: center;
}

h3.title-style2,
h3.title-with-line {
	font-size: 2rem;
	font-weight: 600;
	text-align: center;
	color: #1E6C69;
	position: relative;
}

h3.title-with-line::after{
	content: "";
	width: 60px;
	height: 5px;
	position: absolute;
	left: calc(50% - 30px);
	bottom: 0;
	background-color: #ffcc00;
}

@media all and (max-width: 991px) {
	h3.title-style2{
		font-size: 1.8rem;
	}
}

p.subtitle-style-one {
	margin: 1rem auto;
	padding-bottom: 18px;
	max-width: 720px;
	text-align: center;
	font-weight: 500;
}

/* ============================================================
ELEMENTS
============================================================ */
.cube-btn{
	width: 250px;
	margin: 20px auto;
	padding: 10px;
	box-sizing: border-box;
	text-align: center;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: 1rem;
	position: relative;
}

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

.cube-btn.yellow{
	background: #ffcc00;
	color: #000000;
	border: 1px solid #ffcc00;
	transition: all .2s ease;
}

.cube-btn.yellow:hover{
	background: #FFDA46;
	border: 1px solid #FFDA46;
	transition: all .2s ease;
}

.cube-btn.yellow.center {
	margin: 20px auto;
}

.cube-btn.black-border{
	background: none;
	color: #000000;
	border: 1px solid #000000;
	box-sizing: border-box;
	transition: .2s linear;
}

.cube-btn.black-border:hover{
	background: #000000;
	color: #ffffff;
}

.cube-btn.white-border{
	background: none;
	color: #ffffff;
	border: 1px solid #ffffff;
	box-sizing: border-box;
	transition: .2s linear;
}

.cube-btn.white-border:hover{
	background: #ffffff;
	color: #000000;
}

.cube-btn.black{
	background: #000000;
	color: #ffffff;
	transition: .2s linear;
}

.cube-btn.black:hover{
	background: #ffffff;
	color: #000000;
}

.btns-half-container{
	width: 100%;
	position: relative;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media screen and (orientation: portrait) {
	.cube-btn.yellow:hover{
		background: #ffcc00;
		color: #000000;
		border: 1px solid #ffcc00;
	}

	.cube-btn.black-border:hover{
		background: none;
		color: #000000;
	}

	.cube-btn.black:hover{
		background: #000000;
		color: #ffffff;
	}
}

.cube-btn.full-width{
	width: 100%;
	letter-spacing: 3px;
}

.cube-btn.short-width{
	width: 120px;
}

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

.cube-btn.disable{
	background: #999999;
	color: #666666;
}

.cube-btn.disable:hover{
	background: #999999;
	color: #666666;
}

.btn-secondary {
    max-width: 240px;
    display: inline-block;
    margin: 20px auto;
    padding: 12px 32px;
    text-align: center;
    letter-spacing: .1em;
    font-weight: 500;
    border-radius: 100px;
    border: 2px solid #fff;
    background: none;
    color: #fff;
    transition: all .4s ease-in-out;
    outline: 0
}

.btn-secondary:hover {
    background: #6ba55d;
    border: 2px solid #6ba55d;
    color: #fff;
    transition: all .4s ease-in-out;
    cursor: pointer
}
.btn-secondary.green {
	border: 2px solid #666;
	background: none;
	color: #6BA55D;
	transition: all 0.4s ease-in-out;
	border: 2px solid #6BA55D;
}
.btn-secondary.green:hover {
	border: 2px solid #6BA55D;
	background: #6BA55D;
	color: #ffffff;
	transition: all 0.4s ease-in-out;
}

/* ============================================================
POPUP
============================================================ */
/* alert */
.popup-all{
	width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: none;
    z-index: 6;
}


.popup-alert, .popup-alert-2{
	width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: none;
    z-index: 6;
}

/* .popup-container{
	width: 80%;
	position: relative;
	margin: 0 auto;
	padding: 20px 0;
} */

.popup-container {
    width: 320px;
    position: absolute;
    margin: 0 auto;
    padding: 20px 40px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 6;
    background-color: #fff;
	border-radius: 10px;
}

.popup-alert::after,
.popup-alert-2::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #00000082;
    z-index: 1;
}

.alert-title{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 600;
	font-size: 1.2em;
	color: #000000;
	text-align: center;
	margin-bottom: 10px;
}

.alert-description, 
.alert-description-2{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 400;
	font-size: 1em;
	color: #222222;
	/* text-align: justify; */
}
.alert-description-2 em {
	color: #FF0000;
}

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

.alert-btns .cube-btn{
	width: 48%;
	margin: 0;
	margin-top: 20px;
}

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

.alert-btns-2 .cube-btn{
	width: 100%;
	margin: 20px 5px 0;
}

/* ============================================================
location-tip
============================================================ */
.location-tip{
	padding: 20px 0;
}

.location-tip p{
	font-size: .95em;
    color: #1E6C69;
    font-weight: 400;
}

.location-tip p a {
    color: #1E6C69;
	transition: .2s linear;
	border: 0;
}

.location-tip p a:hover{
	border-bottom: 1px solid #ffcc00;
}

/* ============================================================
FOOTER
============================================================ */
footer{
	width: 100%;
	position: relative;
	margin: 80px auto 0;
	background-color: #6e5a40;
	/* padding: 25px 0; */ 
	padding: 50px 0; /* for hide sponsor */
}

footer::before {
	content: '';
	width: 100%;
	height: 40px;
	position: absolute;
	left: 0;
	top: -35px;
	background-image: url(../img/bg_footer_top.svg);
	background-repeat: repeat-x;
	background-size: contain;
	background-position: right bottom;
}
@media all and (max-width: 991px) {
	footer::before {
		background-size: cover;
	}
}

.footer-container{
	width: 90%;
	max-width: 1100px;
	position: relative;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-content: center;
}

.footer-logos{
	width: calc(100% - 340px);
	margin-right: 40px;
	position: relative;
	display: flex;
	align-items: center;
	/* justify-content: space-between; */
}
@media all and (max-width: 991px) {
	.footer-logos{
		width: 100%;
	}
}

.footer-ng{
	width: 24%;
	margin-right: 30%;
	position: relative;
}
@media all and (max-width: 991px) {
	.footer-ng{
		width: 35%;
		margin-right: 24%;
	}
}

.footer-boulder{
	width: 26%;
	position: relative;
}
@media all and (max-width: 991px) {
	.footer-boulder{
		width: 38%;
	}
}

.footer-logos img{
	width: 100%;
}

.footer-social{
	width: 300px;
	position: relative;
}

.footer-social-text{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 500;
	font-size: 1em;
	color: #ffffff;
	text-transform: uppercase;
}

.footer-social-icons{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
}

.footer-icon{
	margin-right: 20px;
	font-size: 2.25em;
	opacity: 1;
	transition: .2s linear;
}

.footer-icon:hover{
	opacity: .7;
}

.footer-icon a{
	color: #ffffff;
}

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

	.footer-social{
		margin: 20px 0;
	}
}

@media all and (max-width: 768px) {
	.footer-icon img{
		width: 32px;
	}
}

.footer-copyright{
	width: 100%;
	position: relative;
	margin: 0 auto;
	margin-top: 20px;
	border-top: solid 1px #887255;
}

.copyright-container{
	width: 90%;
	max-width: 1100px;
	position: relative;
	margin: 0 auto;
	padding-top: 30px;
}

.copyright-text{
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 300;
	font-size: .95em;
	color: #ffffff;
	float: left;
}

.copyright-text a {
	color: #ffffff;
	transition: all 0.3s ease;
}
.copyright-text a:hover {
	color: #ffcc00;
}

.copyright-contact{
	width: 80px;
	height: 35px;
	border: 1px solid #ffcc00;
	background: #ffcc00;
	box-sizing: border-box;
	color: #000000;
	text-align: center;
	line-height: 35px;
	position: relative;
	float: left;
	margin-left: 20px;
	margin-top: -10px;
	transition: .2s linear;
	font-family: "Geograph", "Roboto", "Noto Sans TC", sans-serif;
	font-weight: 300;
	font-size: .95em;
}

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

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

.copyright-contact:hover{
	background: none;
	color: #ffffff;
}

@media screen and (orientation: portrait) {
	.copyright-contact:hover{
		background: #ffffff;
		color: #000000;
	}
}

@media all and (max-width: 768px) {
	.copyright-text, .copyright-contact{
		float: none;
	}

	.copyright-contact{
		margin-top: 20px;
		margin-left: 0;
		width: 100%;
	}
}





/* ============================================================
GO TOP
============================================================ */

#gotop{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 80px 80px;
	border-color: transparent transparent rgba(255, 204, 0, .8) transparent;
	z-index:9;
	position: fixed;
	right: 0;
	bottom: 0;
	cursor: pointer;
	
	display:none;
	-o-transition: .2s linear;
	-webkit-transition: .2s linear;
	-moz-transition: .2s linear;
	transition:  .2s linear;
	z-index: 5;
	text-align: center;
}

#gotop i{
	font-size: 2em;
	color: #222222;
	/* width: 52px; */
	text-align: center;
	line-height: 52px;
	text-align: center;
	-o-transition: .2s linear;
	-webkit-transition: .2s linear;
	-moz-transition: .2s linear;
	transition:  .2s linear;
	text-align: center;
	position: fixed;
    bottom: 0;
    right: 10px;
}



/* ============================================================
RWD
============================================================ */
@media all and (max-width: 1440px) {
	
}

@media all and (max-width: 1366px){
	
}

@media all and (max-width: 1280px){
	
}

@media all and (max-width: 1024px) {
	
}

@media all and (max-width: 960px) {
	
}

@media screen and (orientation: portrait) {
	

}

@media all and (max-width: 768px) {
	
}

@media all and (max-width: 640px) {
	
}

@media all and (max-width: 480px) {
	
}


@media all and (max-width: 320px){
	
}

