
html, body
{
	height: 100%;
}

body
{
	margin: 0px;
	padding: 0px;
	background: #FFF;
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 11pt;
	font-weight: 300;
	color: #6c6c6c
}
.image.fit img {
	width: 100%;
	height: auto;
}
h1, h2, h3
{
	margin: 0;
	padding: 0;
	font-weight: 600;
	color: #454445;
}

p, ol, ul
{
	margin-top: 0;
}

ol, ul
{
	padding: 0;
	list-style: none;
}

p
{
	line-height: 180%;
}

strong
{
}

a
{
	color: #2C383B;
}

a:hover
{
	text-decoration: none;
}

.container
{
	margin: 0px auto;
	width: 1200px;
}

/*********************************************************************************/
/* Image Style                                                                   */
/*********************************************************************************/

	.image
{
	display: inline-block;
}

.image img
{
	display: block;
	width: 100%;
}

.image-full
{
	display: block;
	width: 100%;
	margin: 0 0 2em 0;
}

.image-left
{
	float: left;
	margin: 0 2em 2em 0;
}

.image-centered
{
	display: block;
	margin: 0 0 2em 0;
}

.image-centered img
{
	margin: 0 auto;
	width: auto;
}

/*********************************************************************************/
/* List Styles                                                                   */
/*********************************************************************************/

	ul.style1
{
	margin: 0;
	padding: 0em 0em 0em 0em;
	overflow: hidden;
	list-style: none;
	color: #6c6c6c
}

ul.style1 li
{
	overflow: hidden;
	display: block;
	padding: 2.80em 0em;
	border-top: 1px solid #D1CFCE;
}

ul.style1 li:first-child
{
	padding-top: 0;
	border-top: none;
}

ul.style1 .image-left
{
	margin-bottom: 0;
}

ul.style1 h3
{
	padding: 1.2em 0em 1em 0em;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	font-size: 1.2em;
	font-weight: 600;
	color: #454445;
}

ul.style1 a
{
	text-decoration: none;
	color: #525252;
}

ul.style1 a:hover
{
	text-decoration: underline;
	color: #525252;
}

ul.style2
{
	margin: 0;
	padding-top: 1em;
	list-style: none;
}

ul.style2 li
{
	border-top: solid 1px #E5E5E5;
	padding: 0.80em 0 0.80em 0;
	font-family: 0.80em;
}

ul.style2 li:before
{
	display: inline-block;
	padding: 4px;
	background: #DB3256;
}

ul.style2 a
{
	display: inline-block;
	margin-left: 1em;
}

ul.style2 li:first-child
{
	border-top: 0;
	padding-top: 0;
}

ul.style2 .icon
{
	color: #FFF;
}

ul.style3
{
	margin: 0;
	padding-top: 1em;
	list-style: none;
}

ul.style3 li
{
	border-top: solid 1px rgba(255,255,255,.2);
	padding: 1em 0 1em 0;
	font-family: 0.80em;
}

ul.style3 li:before
{
	display: inline-block;
	padding: 4px;
	background: #FFF;
}

ul.style3 a
{
	display: inline-block;
	margin-left: 1em;
	font-size: 1em !important;
	color: #FFF;
}

ul.style3 li:first-child
{
	border-top: 0;
	padding-top: 0;
}

ul.style3 .icon
{
	color: #DB3256;
}

/*********************************************************************************/
/* Social Icon Styles                                                            */
/*********************************************************************************/

	ul.contact
{
	margin: 0;
	padding: 2em 0em 0em 0em;
	list-style: none;
}

ul.contact li
{
	display: inline-block;
	padding: 0em 0.30em;
	font-size: 1em;
}

ul.contact li span
{
	display: none;
	margin: 0;
	padding: 0;
}

ul.contact li a
{
	color: #FFF;
}

ul.contact li a:before
{
	display: inline-block;
	background: #3f3f3f;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 20px;
	text-align: center;
	color: #FFFFFF;
}

ul.contact li a.icon-twitter:before
{
	background: #2DAAE4;
}

ul.contact li a.icon-facebook:before
{
	background: #39599F;
}

ul.contact li a.icon-dribbble:before
{
	background: #C4376B;
}

ul.contact li a.icon-tumblr:before
{
	background: #31516A;
}

ul.contact li a.icon-rss:before
{
	background: #F2600B;
}

/*********************************************************************************/
/* Button Style                                                                  */
/*********************************************************************************/

	.button
{
	display: inline-block;
	padding: 1.3em 3em;
	background: #8E8E8E;
	-moz-transition: opacity 0.25s ease-in-out;
	-webkit-transition: opacity 0.25s ease-in-out;
	-o-transition: opacity 0.25s ease-in-out;
	-ms-transition: opacity 0.25s ease-in-out;
	transition: opacity 0.25s ease-in-out;
	letter-spacing: 0.20em;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 600;
	color: #FFF;
}

.button:hover
{
}

.button:active
{
}

.button-big
{
	padding: 1.6em 4em;
	font-size: 1.4em;
	font-weight: 900;
}

/*********************************************************************************/
/* Heading Titles                                                                */
/*********************************************************************************/

	.title
{
	margin-bottom: 3em;
}

.title h2
{
	font-weight: 400;
	font-size: 2.8em;
	color: #323232;
}

.title .byline
{
	letter-spacing: 0.15em;
	text-transform: uppercase;
	font-weight: 400;
	font-size: 1.1em;
	color: #6F6F6F;
}

/*********************************************************************************/
/* Header                                                                        */
/*********************************************************************************/
	
#header-wrapper
{
	padding: 2em 0em;
	background: #FFF;
}

#header
{
	position: relative;
	height: 100px;
}

/*********************************************************************************/
/* Logo                                                                          */
/*********************************************************************************/

#logo
{
	position: flex;
	top: 1.5em;
	left: 0;
	width: 41%;
}

/*********************************************************************************/
/* 公司名稱 Logo 顏色                                                              */
/*********************************************************************************/

#logo h1
{
	display: inline-block;
	font-size: 2.5em;
	text-transform: uppercase;
	font-weight: 700;
	color: #8585ad;
	padding-right: 0.50em;
	float:right;

}

#logo span
{
	position: flex;
	top: 1.4em;
	display: inline-block;
	padding-left: 1.50em;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	font-size: 0.90em;
}

#logo a
{
	text-decoration: none;
	color: #0036ff;
	font-family: "標楷體", "DFKai-SB", "MingLiU", serif;
}

/*********************************************************************************/
/* Menu                                                                          */
/*********************************************************************************/

#menu
{
	position: absolute;
	right: 0;
	top: 1em;
}

#menu ul
{
	display: inline-block;
}

#menu li
{
	display: block;
	float: left;
	text-align: center;
	line-height: 60px;
}

#menu li a, #menu li span
{
	display: inline-block;
	margin-left: 1px;
	padding: 0em 1.5em;
	letter-spacing: 0.10em;
	text-decoration: none;
	font-size: 1em;
	text-transform: uppercase;
	outline: 0;
	color: #212121;
}

#menu li:hover a, #menu li.active a, #menu li.active span
{
}

/*********************************************************************************/
/* 選單按鈕顏色                                                                    */
/*********************************************************************************/

#menu li.current_page_item a
{
	background: #8585ad;
	color: #FFF !important;
}

#menu .icon
{
}

/*********************************************************************************/
/* Banner                                                                        */
/*********************************************************************************/
	
	#banner-wrapper
{
	overflow: hidden;
	padding: 3em 0em;
	background: #197d62;
}

#banner
{
	overflow: hidden;
	width: 1000px;
	padding: 0px 100px;
	text-align: center;
	color: rgba(255,255,255,.7);
}

#banner a
{
	color: rgba(255,255,255,.9);
}

#banner .box-left
{
	float: left;
}

#banner .box-right
{
	float: right;
}

#banner h2
{
	margin: 0em;
	padding: 0em;
	font-weight: 400;
	font-size: 3em;
	color: #555555;
}

#banner span
{
	display: block;
	padding-top: 0.20em;
	text-transform: uppercase;
	font-size: 1.2em;
	color: #A2A2A2;
}

/*********************************************************************************/
/* Page                                                                          */
/*********************************************************************************/

#wrapper
{
	background: #FFF;
}

#page
{
	overflow: hidden;
	padding: 6em 0em;
	border-bottom: 2px solid #E3E3E3;
	text-align: center;
}

#page .button
{
	margin-top: 2em;
}

/*********************************************************************************/
/* Content                                                                       */
/*********************************************************************************/

#content
{
	padding: 0em 7em;
}

/*********************************************************************************/
/* Sidebar                                                                       */
/*********************************************************************************/

	#sidebar
{
	float: right;
	width: 450px;
}

#stwo-col
{
	margin-top: 2em;
}

#stwo-col h2
{
	display: block;
	padding-bottom: 1.5em;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	font-size: 1.2em;
	font-weight: 600;
	color: #454445;
}

#stwo-col .sbox1
{
	float: left;
	width: 210px;
}

#stwo-col .sbox2
{
	float: right;
	width: 210px;
}

/*********************************************************************************/
/* Copyright                                                                     */
/*********************************************************************************/

#copyright
{
	overflow: hidden;
	padding: 5em 0em;
	border-top: 1px solid rgba(255,255,255,0.08);
}

#copyright p
{
	letter-spacing: 0.20em;
	text-align: center;
	text-transform: uppercase;
	font-size: 0.80em;
	color: rgba(255,255,255,0.3);
}

#copyright a
{
	text-decoration: none;
	color: rgba(255,255,255,0.6);
}

/*********************************************************************************/
/* Featured                                                                      */
/*********************************************************************************/

#featured-wrapper
{
	overflow: hidden;
	padding: 6em 0em;
	background: #7bc9ff;
	text-align: center;
}

#featured
{
	overflow: hidden;
}

#featured .major
{
	overflow: hidden;
	margin-bottom: 3em;
	padding-bottom: 2em;
	border-bottom: 1px solid #E8E8E8;
}

#featured .major h2
{
	font-size: 3em;
}

#featured .major .byline
{
	font-size: 1.3em;
}

#featured .title
{
	margin-bottom: 1.5em;
	padding-bottom: 1.5em;
	border-bottom: 1px solid rgba(255,255,255,.1);
}

#featured .title h2
{
	font-size: 1.2em;
}

#featured h2
{
	text-align: center;
	color: #FFF;
}

#featured .icon
{
	position: relative;
	display: inline-block;
	width: 100px;
	height: 100px;
	margin: 0px auto 20px auto;
	line-height:  100px;
	font-size: 3em;
	text-align: center;
	color: #FFF;
}

.column1,  .column2,  .column3,  .column4
{
	width: 282px;
}

.column1,  .column2
{
	float: left;
	margin-right: 24px;
}

.column3
{
	float: left;
}

.column4
{
	float: right;
}

/*********************************************************************************/
/* 更改首頁封面使用圖片及圖片高度及比例大小                                            */
/********************************************************************************/
	#header-featured
	{
		height: 35em;
		background-image: url(images/banner.jpg);
		background-position: center;
		background-size: 100% 100%;
	}


#slider-wrapper
{
	padding: 6em 0em;
	background: #DB3256;
}

#slider
{
	margin: 0em auto 0em auto;
	width: 1200px;
	position: relative;
}

#slider .button
{
}

#slider .button:hover
{
}

#slider .viewer
{
	width: 1000px;
	height: 375px;
	margin: 0 auto;
	overflow: hidden;
}

#slider .viewer .reel
{
	display: none;
	height: 375px;
}

#slider .viewer .reel .slide
{
	position: relative;
	width: 1000px;
	height: 375px;
}

#slider .viewer .reel h2
{
	position: absolute;
	top: 130px;
	left: 0;
	width: 1200px;
	height: 80px;
	line-height: 80px;
	background: #111111;
	text-align: center;
	opacity: 0.85;
	font-weight: normal;
	color: #ffffff;
	font-size: 2.25em;
}

#slider .viewer .reel p
{
	position: absolute;
	top: 210px;
	left: 0;
	width: 1200px;
	height: 40px;
	line-height: 40px;
	background: #0074C6;
	text-align: center;
	opacity: 0.85;
	font-weight: normal;
	color: #ffffff;
	font-size: 1.1em;
}

#slider .icon
{
	font-size: 4em;
	color: #FFF;
}

#slider .previous-button
{
	position: absolute;
	top: 150px;
	left: 0;
}

#slider .next-button
{
	position: absolute;
	top: 150px;
	right: 0;
}

#slider .indicator
{
	margin: 30px auto 0 auto;
}

#slider .indicator ul
{
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: center;
}

#slider .indicator ul li
{
	display: inline-block;
	width: 12px;
	height: 12px;
	text-indent: -9999em;
	background: #c8c8c8;
	margin: 0 2px 0 2px;
	border-radius: 8px;
	border-bottom: solid 1px #ffffff;
	border-top: solid 1px #909090;
}

#slider .indicator ul li.active
{
	background: #505050;
	border-top: solid 1px #505050;
}

/*********************************************************************************/
/* Footer                                                                        */
/*********************************************************************************/


#footer-wrapper
{
	overflow: hidden;
	padding: 6em 0em;
	background: #7bc9ff;
	text-align: center;
}

#footer
{
	overflow: hidden;
}


#footer .title h2
{
	font-size: 1.6em;
	font-weight: 300;
	color: #FFF;
}

#footer .title .byline
{
	display: block;
	padding-top: 1em;
	text-transform: uppercase;
	font-size: 0.80em;
	color: rgba(255,255,255,0.5);
}

#footer .button
{
	margin-top: 2em;
}

#extra
{
	overflow: hidden;
	margin: 0em auto 0em auto;
	padding: 5em 0em 5em 0em;
	text-align: center;
}

#extra h2
{
	margin: 0em;
	padding: 0em;
	font-weight: 400;
	font-size: 2.4em;
	color: #555555;
}

#extra span
{
	display: block;
	padding-top: 0.20em;
	margin-bottom: 3em;
	text-transform: uppercase;
	font-size: 1.2em;
	color: #A2A2A2;
}


#extra .button
{
	margin-top: 2em;
}

#extra2
{
	overflow: hidden;
	padding-bottom: 5em;
}

#extra2 .button
{
	margin-top: 2em;
}

#extra2 .title h2
{
	font-size: 2em;
}

#extra2 .title .byline
{
	font-size: 0.80em;
}

#extra2 #ebox1,
#extra2 #ebox2
{
	width: 560px;
}

#extra2  #ebox1
{
	float: left;
}

#extra2 #ebox2
{
	float: right;
}

/* ===== HERO 區塊 ===== */
.hero {
  background: linear-gradient(135deg,#0f2f55,#174a7c);
  color:#ffffff;
  padding: 80px 20px;
  text-align: center;
}

.hero-inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: left;
}

.hero-title {
  font-size: 34px;
  font-weight: bold;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

.hero-line {
  font-size: 18px;
  line-height: 1.8;
  margin: 8px 0;
}

.hero-line strong {
  color: #4db3ff;
}

table {
	  margin-left:auto; 
	  margin-right:auto;
	}
table, th, td { 
	  border: 5px #FFAC55 dashed;
	  border-collapse: collapse;
	}
th, td {
	  padding: 5px;
	  text-align: left;    
	}
.center {
  text-align: center;
}

/* ===== 產品展示 ===== */

.section-title {
  text-align: center;
  font-size: 28px;
  margin: 60px 0 30px 0;
  letter-spacing: 2px;
}

.photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  padding: 0 40px;
}

.photo-grid img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  border-radius: 6px;
  transition: transform 0.3s ease;
}

.photo-grid img:hover {
  transform: scale(1.03);
}

/* ===== 影片區塊 ===== */

.video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 30px;
  padding: 0 40px 60px 40px;
}

.video-grid video {
  width: 100%;
  border-radius: 6px;
}

/* 圖片外框 */
.photo-grid img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  border: 1px solid #d0d7de;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: transform 0.3s ease;
}

.photo-grid img:hover {
  transform: scale(1.02);
}

/* 影片外框 */
.video-grid video {
  width: 100%;
  border: 1px solid #d0d7de;
  border-radius: 6px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.1);
}

/* ===== Contact Page ===== */
.contact-card{
  background:#fff;
  border:1px solid #e9eef5;
  border-radius:14px;
  box-shadow:0 8px 22px rgba(0,0,0,.06);
  padding:24px;
  margin:20px 0;
}

.contact-card-title{
  margin:0 0 10px 0;
  font-size:22px;
  font-weight:700;
  color:#1f2d3d;
}

.contact-hint{
  margin:0 0 16px 0;
  color:#6b7280;
}

.req{ color:#e11d48; font-weight:700; }

.contact-info{
  display:grid;
  gap:12px;
}

.contact-row{
  display:grid;
  grid-template-columns: 140px 1fr;
  gap:12px;
  padding:10px 0;
  border-top:1px dashed #e5e7eb;
}

.contact-row:first-child{ border-top:none; }

.contact-label{
  color:#374151;
  font-weight:700;
}

.contact-value{
  color:#111827;
  line-height:1.7;
}

.contact-form .contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
}

.field label{
  display:block;
  margin:0 0 8px 0;
  font-weight:700;
  color:#374151;
}

.field input,
.field textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #dbe2ea;
  border-radius:10px;
  padding:12px 12px;
  font-size:16px;
  outline:none;
  background:#fff;
  transition: .15s;
}

.field input:focus,
.field textarea:focus{
  border-color:#4db3ff;
  box-shadow:0 0 0 4px rgba(77,179,255,.18);
}

.field-full{ grid-column: 1 / -1; }

.checkbox{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#374151;
}

.checkbox input{ margin-top:4px; }

.actions{
  text-align:center;
}

.btn-primary{
  display:inline-block;
  border:none;
  border-radius:999px;
  padding:12px 22px;
  font-size:16px;
  font-weight:800;
  color:#fff;
  cursor:pointer;
  background: linear-gradient(135deg, #0f2f55, #174a7c);
  box-shadow:0 10px 22px rgba(23,74,124,.22);
}

.btn-primary:hover{
  transform: translateY(-1px);
}

.contact-note{
  margin:12px 0 0 0;
  color:#6b7280;
  font-size:13px;
}

@media (max-width: 820px){
  .contact-form .contact-grid{ grid-template-columns: 1fr; }
  .contact-row{ grid-template-columns: 1fr; }
}

/* ===== Contact Page ===== */
.contact-card{
  background:#fff;
  border:1px solid #e6e9ef;
  border-radius:14px;
  padding:22px 22px;
  margin:18px 0;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

.contact-card-title{
  margin:0 0 10px 0;
  font-size:20px;
  font-weight:700;
  color:#1f2a44;
}

.contact-hint{ margin:0 0 14px 0; color:#6b7280; }
.req{ color:#ef4444; font-weight:700; }

.contact-info{
  display:grid;
  gap:10px;
}

.contact-row{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:12px;
  padding:10px 0;
  border-top:1px dashed #d7dbe6;
}
.contact-row:first-child{ border-top:none; }

.contact-label{
  color:#334155;
  font-weight:700;
}
.contact-value{ color:#475569; line-height:1.7; }

.contact-form .contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 16px;
}

.contact-form .field label{
  display:block;
  margin:0 0 6px 0;
  font-weight:700;
  color:#334155;
}

.contact-form input,
.contact-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #cfd6e4;
  border-radius:10px;
  padding:10px 12px;
  font-size:15px;
  outline:none;
  transition: .15s;
  background:#fff;
}

.contact-form input:focus,
.contact-form textarea:focus{
  border-color:#3b82f6;
  box-shadow:0 0 0 4px rgba(59,130,246,.15);
}

.field-full{ grid-column:1 / -1; }

.checkbox{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 12px;
  border:1px dashed #cfd6e4;
  border-radius:10px;
  background:#f8fafc;
}
.checkbox input{ width:auto; }

.actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:center;
  padding-top:6px;
}

.btn-primary{
  appearance:none;
  border:none;
  border-radius:999px;
  padding:12px 22px;
  font-weight:800;
  cursor:pointer;
  background:linear-gradient(135deg,#2563eb,#22c55e);
  color:#fff;
  box-shadow:0 10px 22px rgba(37,99,235,.25);
}

.btn-primary:hover{ transform: translateY(-1px); }
.btn-primary:active{ transform: translateY(0px); }

.contact-note{
  margin:0;
  color:#6b7280;
  font-size:13px;
  text-align:center;
}

@media (max-width: 860px){
  .contact-form .contact-grid{ grid-template-columns:1fr; }
  .contact-row{ grid-template-columns:1fr; }
}