@charset "utf-8";

body{
	font-family:"微軟正黑體", Geneva, sans-serif;
	overflow-x:hidden;
}

.backtop{
	position:fixed;
	z-index:99;
	width:40px;
	height:40px;
	right:100%;
	top:100%;
	margin-top:-130px;
	margin-right:-70px;
	padding:5px;
	background-color:rgba(255, 255, 255, 0.4);
	text-align:center;
	color:#3E3A39;
	font-size:1.3rem;
	border-radius:50%;
	cursor:pointer;
	-webkit-transition: background 0.3s; /* Safari */ 
	transition: background 0.3s;
}
.backtop:hover{ background-color:rgba(60, 60, 60, 0.7); color:#fff;}

@media (min-width:992px){
	.backtop{ margin-top:-70px; margin-right:-62px;}
}


/*==========header css==========*/

.fadeInRight{
  -webkit-animation: fadeInRight 0.4s; /* Safari 4+ */
  -moz-animation:    fadeInRight 0.4s; /* Fx 5+ */
  -o-animation:      fadeInRight 0.4s; /* Opera 12+ */
  animation:         fadeInRight 0.4s; /* IE 10+, Fx 29+ */
}


/*========================================================
                     main css
=========================================================*/
.view_lg{ display:none;}
@media (min-width:992px){
	.view_sm{ display:none;}
	.view_lg{ display:block;}
}

/*========================================================
                     top_banner
=========================================================*/

.top_link_section{ width:100%; position:absolute; top:0; left:0; z-index:90; padding:40px;}
.top_link_section .site_logo{ max-width:10%;}
@media (min-width:992px){
	.top_link_section{ padding:40px 100px;}
	.top_link_section .site_logo{ max-width:4%;}
}

.top_banner_section{ position:relative; overflow:hidden; }
.top_banner_section img{ width:100%;}
.top_banner_section .boat{ position:absolute; top:0; left:0; width:100%; z-index:10;}
.top_banner_section .title_block{ 
	position:absolute; 
	z-index: 11;
	top:50%; 
	left:50%; 
	transform:translate(-50%,-50%);  
	width:58%;
	text-align: center;
	overflow:hidden;
	padding:35px 0;
}
.top_banner_section .title_block .title{ padding-bottom:15px;}
.top_banner_section .bg{ line-height:0;}
.top_banner_section .bg video{ width:200%; text-align:center; object-fit:cover; /*height:auto;*/ min-height:100vh;}

@media (min-width: 992px) {
	.top_banner_section{ }
	.top_banner_section .title_block{ width:23%;}
	.top_banner_section .title_block .title{ padding-bottom:7%;}
	.top_banner_section .bg video{ width:100%;}
}

/*-------------------------樹葉效果-------------------------*/
.home_banner_petal1{
	position: absolute; 
	width: 40px;
	opacity: 0;

	animation-name:leaf1;
	animation-duration:4s;
	animation-iteration-count: infinite;
}

.home_banner_petal2{
	position: absolute; 
	width: 36px;
	opacity: 0;

	animation-name:leaf2;
	animation-duration:6s;
	animation-iteration-count: infinite;
	animation-delay:1s;
}
.home_banner_petal3{
	position: absolute; 
	width: 36px;
	opacity: 0;

	animation-name:leaf3;
	animation-duration:7s;
	animation-iteration-count: infinite;
	animation-delay:1s;
}

.home_banner_petal1 img,
.home_banner_petal2 img,
.home_banner_petal3 img{ width:100%; height:auto; }


@media (min-width:992px){
	.home_banner_petal1{ width:32px;}
	.home_banner_petal2{ width:25px;}
	.home_banner_petal3{ width:30px;}
}


@keyframes leaf1{
	0% { left:10vw; top:3vh; opacity:0;}
	10%{ opacity:1;}
	50%{ left:24vw; top:35vh; -webkit-transform:rotate(180deg);}
	90%{ opacity:1;}
	100%{ left:35vw; top:70vh; opacity:0;}
}

@keyframes leaf2{
	0% { left:32vw; top:3vh; opacity:0;}
	10%{ opacity:1;}
	50%{ left:45vw; top:20vh; -webkit-transform:rotate(90deg);}
	90%{ opacity:1;}
	100%{ left:60vw; top:65vh; opacity:0;}
}

@keyframes leaf3{
	0% { left:60vw; top:20vh; opacity:0;}
	10%{ opacity:1;}
	50%{ left:75vw; top:45vh; -webkit-transform:rotate(90deg);}
	90%{ opacity:1;}
	100%{ left:90vw; top:70vh; opacity:0;}
}

/*@keyframes leaf4{
	0% {left: 85vw;top: 30vh; opacity:0;}
	10%{ opacity:1; }
	50%{left: 90vw;top: 58vh;-webkit-transform: rotate(180deg);}
	90%{ opacity:1; }
	100% {left: 75vw;top: 80vh; opacity:0;}
}*/


/*-------------------------流水效果-------------------------*/

.water_effect{ 
	position: absolute;
	bottom:0;
	top:0;
	width: 100%;
	height: 100%;
 }
.water_effect img{
	width: 100%;
	height: 100%;
	mix-blend-mode: soft-light;
	filter: blur(.05vw);
}

/*-------------------------陽光效果-------------------------*/
.sunshine_effect{ 
	position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; 
    overflow: hidden;
 }
.sunshine_effect img{
	width: 100%;
	height: auto;
	mix-blend-mode: screen;
	filter: blur(.05vw);
	opacity:0.6;
	-webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
}


/*========================================================
                     內頁設定
=========================================================*/
.top_block{}
.top_block img{ width:100%;}
.top_block .container-fluid{ padding:14% 20px;}
@media (min-width:992px){ .top_block .container-fluid{ padding:60px 100px;}}
@media (min-width:1920px){ .top_block .container-fluid{ padding:80px 100px;}}

.anime_block{ position:relative; color:#fff; margin-top:-1px;}
.anime_block .container-fluid{ position:absolute; top:0; left:0; width:100%; z-index:15;}
.anime_block .text_block .title{ max-width:90%; padding-bottom:20px; margin:0 auto; display:block;}
.anime_block .text_block .text p{ letter-spacing:2px; font-size:0.8rem; line-height:2; text-align:center;}
.anime_block .cover{ position:absolute; top:0; left:0; width:100%; z-index:10;}
.anime_block .pictext{ position:absolute; right:10px; bottom:10px; color:#fff; z-index:12; font-size:0.5rem; letter-spacing:1px;}

.block1{ color:#000;}
.block3 .pictext{ color:#666;}
.block4{ color:#000;}
.block4 .pictext{ color:#666;}
.block5 .sunshine_effect img{ transform:scaleX(-1);}

.map_block .build{ position:absolute; bottom:38%; left:42%; width:8%; z-index:15; overflow:hidden; background-color:#d3663f;}
.map_block .build span:nth-child(1),
.map_block .build span:nth-child(2),
.map_block .build span:nth-child(3),
.map_block .build span:nth-child(4) {
    content: "";
    display: block;
    position: absolute;
    background-color: #FFFFFF;
}
.map_block .build span:nth-child(1) { width:2px; left:0; bottom:0; animation: move1 2000ms infinite ease;}
.map_block .build span:nth-child(2) { height:2px; left:0 ;top:0; animation: move2 2000ms infinite ease;}
.map_block .build span:nth-child(3) { width:2px; right:0; top:0; animation: move3 2000ms infinite ease;}
.map_block .build span:nth-child(4) { height:2px; right:0; bottom:0; animation: move4 2000ms infinite ease;}
@keyframes move1 {
    0% { height: 100%; bottom: 0; }
    54% { height: 0; bottom: 100%; }
    55% { height: 0; bottom: 0; }
    100% { height: 100%; bottom: 0; }
}
@keyframes move2 {
    0% { width: 0; left: 0; }
    50% { width: 100%; left: 0; }
    100% { width: 0; left: 100%; }
}
@keyframes move3 {
    0% { height: 100%; top: 0; }
    54% { height: 0; top: 100%; }
    55% { height: 0; top: 0; }
    100% { height: 100%; top: 0; }
}
@keyframes move4 {
    0% { width: 0; right: 0; }
    55% { width: 100%; right: 0; }
    100% { width: 0; right: 100%; }
}



@media (min-width:992px){ 
	.anime_block .text_block .title{ max-width:55%; padding-bottom:30px; margin:0;}
	.anime_block .text_block .text p{ font-size:1.2rem; text-align:left;}
	.anime_block .pictext{ right:2%; bottom:2%; font-size:0.8rem;}
	/*.block1 .pictext{ right:2%; bottom:2%;}*/
}
@media (min-width:1440px){ 
	.anime_block .text_block .title{ max-width:35%;}
}


/*光束效果*/
.aerial_light_wrapper{ 
	position:absolute; 
	bottom: 26%;
	left: 38.3% !important;
	transform:translate(-50%,0); 
	width:0.5%; 
	height:40%; 
}
.aerial_light_col{
	position:absolute; 
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(218, 241, 247,0.6), rgba(218, 241, 247,0.1));
	border-radius: 0 0 10px 10px;
	animation: flash 2s linear infinite;
}

.aerial_light_content{ position:relative; width:100%; height:100% }
.aerial_light{
	position: absolute;
	top: 100%;
	width: 1px;
	height: 1px;
	background-color: #daf1f7;
	
}
.aerial_light:before {
  content: "";
  position: absolute;
  width: 1px;
  height: 1px;
  border-radius: 50%;
  margin-top: -2px;
  background: rgba(255, 251, 177, 1);
  box-shadow: 0 0 15px 3px #daf1f7,0 0 10px 2px #daf1f7,0 0 15px 3px #daf1f7,0 0 5px 1px #fff,0 0 15px 3px #fff,0 0 10px 2px #fff;
}

.aerial_light1{left:0; animation: light 1.8s linear infinite; animation-delay: -1s;}
.aerial_light2{left:20%; animation: light 3.8s linear infinite; animation-delay: -2s;}
.aerial_light3{left:40%; animation: light 2.8s linear infinite; animation-delay: -3s;}
@keyframes flash {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
  	opacity: 0;
  }
}

@keyframes light {
  0% {
    opacity: 1;
    margin-top: 0%;
  }
  12% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
  	margin-top: -1600%;
    opacity: 0;
  }
}

@media (min-width:992px){
	.aerial_light_wrapper{ 
		position:absolute; 
		bottom: 35%;
        left: 29.3% !important;
		transform:translate(-50%,0); 
		width:0.4%; 
		height:40%; 
	}
}

/*========================================================
                         contact
=========================================================*/

.contact_section{ background:url(../img/contact_bgs.jpg) bottom center no-repeat; background-size:cover; position:relative;}
.contact_section .container-fluid{ position:relative; z-index:50;}
.info_block{ padding:7% 0;}
.info_block .title{ max-width:75%; margin:0 auto; padding-bottom:10%;}
.info_block .build_logo{ max-width:55%; margin:0 auto;}
.info_block .text{ max-width:70%; margin:0 auto;}

.form_block{ color:#3C3736;}
.form_block .text_block{ padding-bottom:30px; text-align:center;}
.form_block .text_block .title{ max-width:60%; margin:0 auto; padding-bottom:15px;}
.form_block .text_block .text p{ font-size:0.8rem; letter-spacing:0.2rem;}

/*--表單樣式----*/
#form1{
	/*font-size:0.8rem;*/
	padding-bottom:55%;
}
#form1 .form-group{
	margin-bottom:22px;
	text-align:left;
}
#form1 label {
    padding-bottom:5px;
	letter-spacing:1px;
}
#form1 .form-control {
    border-radius:0;
    border:none;
	background-color:#fff;
	padding:12px;
}

#form1 input, #form1 textarea {
    color: #111;
}
#form1 .btn-send {
    display: inline-block;
    padding:5px;
    color: #fff;
    background-color:#988574;
	color:#fff;
    border-radius:0;
	max-width:100%;
	margin:0 auto;
}
#form1 .btn-send:hover {
    background-color:#7e6a58;
}
#form1 select {
    color: #333333;
    width: 100%;
    /*height: 38px;
    padding: 4px 5px;*/
    font-size: 1rem;
	background-color:#fff;
	text-align:center;
	
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-image: url(../img/arrow.png);
    background-repeat: no-repeat;
    background-position: center right;
    background-size: 34px auto;
}
#form1 select option { color:#111;}
#form1 .check-group label{ color:#4D4D4D;}
#form1 .check-group a{ color:#4D4D4D; padding:0 8px; font-weight:bold; text-decoration:none;}

/*webkit瀏覽器專用*/
#form1 ::-webkit-input-placeholder { color:#c4af97; }
/*Firefox 4-18瀏覽器專用*/
#form1 input::-moz-placeholder { color:#c4af97; }
/*Firefox 19+瀏覽器專用*/
#form1 input::-moz-placeholder{color:#c4af97;}
/*IE10瀏覽器專用*/
#form1 :-ms-input-placeholder{ color:#c4af97;}


.footer_block{ padding:10px 0 40px 0;}
.footer_block img{ margin:0 auto; max-width:90%;}

/*--表單送出彈跳----*/
.swal-modal{ background:rgba(255,255,255,0.9); border-radius:20px;}
.swal-title{ color:#716256;}
.swal-text{ color:#4d4c4c;}
.swal-footer{ text-align:center;}
.swal-button{ background-color:#c4af97; color:#000; border-radius:0;}
.swal-icon--success:after, .swal-icon--success:before,.swal-icon--success__hide-corners{ background:transparent;}
.swal-icon--success,.swal-icon--success__line{ border-color:#c4af97;}

/*--google recaptcha 隱藏----*/
.grecaptcha-badge{ 
	visibility:hidden;
}


@media (min-width:992px){
	.contact_section{ background:url(../img/contact_bg.jpg) bottom center no-repeat; background-size:cover;}
	.info_block{ padding:60px 0 0 0;}
	.info_block .title{ max-width:36%; padding-bottom:5%;}
	.info_block .build_logo{ max-width:22%;}
	.info_block .text{ max-width:50%; margin:0 auto;}
	
	.form_block{ padding:0 5%;}
	.form_block .text_block .title{ max-width:30%; padding-bottom:30px;}
	.form_block .text_block .text p{ font-size:1.2rem;}
	#form1{ /*font-size:1rem;*/ padding-bottom:18%;}
	#form1 .btn-send { max-width:300px;}
	#form1 .check-group label{ color:#7F8080;}
	#form1 .check-group a{ color:#7F8080;}
}
@media (min-width:1440px){
	.form_block{ padding:0 15%;}
}

/*========================================================
                  隱私權聲明
=========================================================*/
.fancybox-container {z-index: 9999999;}
.modal-body{ overflow-y:auto; padding:20px;}
.modal-header{ border-bottom:none;}
.modal-body h2{ text-align:center; margin-bottom:20px;}
.modal-body p span{ font-weight:bold; font-size:1.1rem;}
.modal-dialog{ margin-bottom:80px;}

@media (min-width:576px){
	.modal-body{ padding:20px 40px;}
	.modal-dialog{ max-width:1000px;}
}
@media (min-width:1024px){
	.modal-body{ padding:20px 80px;}
	.modal-dialog{ max-width:1200px; margin-bottom:0;}
}
/*========================================================
                     選單
=========================================================*/
.icon_Community a.js-btn-icon_Community {
    text-align: center;
    width: 50px;
    line-height: 47px;
    border-radius: 100px;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 0;
    cursor: pointer;
    color: #fff;
    background: #000;
    font-size: 22px;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.5);
    height: 50px;
    pointer-events: auto;
	overflow: hidden;
    font-family: "微軟正黑體", Arial, Verdana, Helvetica, sans-serif;
}

.js-btn-icon_Community:hover,
.js-btn-icon_Community:focus {
    color: #fff;
    background-color: #276850;
    border-color: #276850;
}

.js-icon_Community .icon_li {
    position: relative;
    left: -100px;
}
.icon_li_img {
        max-width: 50px;
        width: 100%;
        height: auto;
        display: block;
        position: absolute;
        left: 0;
        z-index: 1;
    }
.js-icon_Community.active .icon_li {
    left: 0;
    pointer-events: auto;
}

.js-icon_Community .icon_li:nth-child(1) {
    transition: all 0.1s ease-out;
    -moz-transition: all 0.1s ease-out;
    -o-transition: all 0.1s ease-out;
    -webkit-transition: all 0.1s ease-out;
}

.js-icon_Community .icon_li:nth-child(2) {
    transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    -webkit-transition: all 0.3s ease-out;
}

.js-icon_Community .icon_li:nth-child(3) {
    transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    -webkit-transition: all 0.5s ease-out;
}


.icon_li a:hover .icon{
 animation: go 3s linear infinite;
}
@keyframes go {
  10% {
    transform: rotate(15deg);
  }
  20% {
    transform: rotate(-10deg);
  }
  30% {
    transform: rotate(5deg);
  }
  40% {
    transform: rotate(-5deg);
  }
  50%,100% {
    transform: rotate(0deg);
  }
}  

@media (max-width: 991.98px){
    .icon_Community {
        width: 100%;
        position: fixed;
        left: auto;
        bottom: 0;
        z-index: 999998;
        pointer-events: none;
		background-color: rgba(60, 60, 60, 0.7);
		padding: 11px 0 14px 0;
    }
    .icon_Community_ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
    }
    .icon_Community_ul .icon_li {
        width: 33.33%;
        border-right: 1px solid #fff;
    }
    .icon_Community_ul .icon_li:last-child {
        border-right: none;
    }
	 .icon_Community_ul .icon_name {
        font-size: 0.8rem;
  		padding-top: 5px;
		display: inline-block;
    }
    .icon_img {
        display: block;
        /*background-color: rgba(60,60,60,0.7);*/
        overflow: hidden;
        text-align: center;
        color: #fff;
        position: relative;
        /*padding: 9px 0;*/
        text-decoration: none;
		transition:all .3s;
    }
 .icon_Community a{
	  color: #fff;
	  text-decoration:none;
	  font-size:11px;
 }
 .icon_Community a img{
	  display: block;
	  margin: 0 auto;
	  width: 22px;
 }
 .icon_Community a:hover{
	  /*background-color: rgba(60,60,60,1);*/
	  color:#d9be74;
 }
 .icon_Community a:hover img{
	  animation: go 3s linear infinite;
 }
}

@media (min-width: 992px){
    .icon_Community {
        position: fixed;
        left: 23px;
        bottom: 26%;
        z-index: 9998;
        pointer-events: none;
    }
    .icon_Community_ul {
        list-style: none;
        padding: 0;
        flex-direction: column;
        align-items: flex-start;
        display: flex;
        margin-bottom: 96px;
    }
    .icon_img {
        background-color:rgba(255,255,255,0.9);
        border: none;
        overflow: hidden;
        text-align: center;
        margin-bottom: 6px;
        width: 40px;
        text-decoration: none;
        border-radius: 100px;
        color: #fff;
        transition: all 0.3s ease;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .icon_img.active {
        width: 142px;
    }
    .icon_img.active .icon_name {
        text-indent: 0;
        opacity: 1;
    }
    .icon_img:hover {
        text-decoration: none;
        width: 142px;
		background-color: rgba(60,60,60,0.7);
    }
    .icon_img:before {
        opacity: 0;

    }
    .icon_img .icon {
        color: #3E3A39;
        font-size: 18px;
        width: 40px;
        line-height: 50px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        left: 0;
        z-index: 1;
    }
    .icon_img:hover .icon {
        text-decoration: none;
		color: #fff;
    }
    .icon_img:hover .icon_name {
        opacity: 1;
        text-indent: 0;
    }
    .icon_name {
        position: relative;
        line-height: 40px;
        padding-right: 0;
        padding-left: 20px;
        transition: all 0.3s ease;
        opacity: 0;
        text-decoration: none;
        color: #fff;
        white-space: nowrap;
        border-radius: 100px;
        overflow: hidden;
        font-family: Arial, "Microsoft JhengHei", sans-serif;
    }
}

