
/* This is Atmospheric v1.2 — crafted with love by Jason Schuller @jschuller. Copyright 2014 Circa75 Media, LLC @circa75co. */

/* Setup
*********************************************************************************************/

html,
body {
    width: 100%;
    height: 100%;
}

body {
    font-family: 'Source Sans Pro', "微軟正黑體", sans-serif;
    font-weight: 400;
}

*, *:before, *:after {
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box;
}

/* Typography
*********************************************************************************************/

h1, h2 {    
    font-family: 'Montserrat', "微軟正黑體", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
}

a {
    text-decoration: none;
    transition-duration: 0.25s;
}

p a,
strong {
    font-weight: 700;
}

p a {
    border-bottom: 1px solid;
}

/* Icons
*********************************************************************************************/

@font-face { 
    font-family: "ionicons"; 
    src: url("../fonts/ionicons290d.eot?v=1.4.1"); 
    src: url("../fonts/ionicons290d.eot?v=1.4.1#iefix") format("embedded-opentype"), 
         url("../fonts/ionicons290d.ttf?v=1.4.1") format("truetype"), 
         url("../fonts/ionicons290d.woff?v=1.4.1") format("woff"), 
         url("../fonts/ionicons290d.svg?v=1.4.1#Ionicons") format("svg"); 
    font-weight: normal; 
    font-style: normal; 
}

.icon { 
    display: inline-block; 
    font-family: "ionicons"; 
    speak: none; 
    font-style: normal; 
    font-weight: normal; 
    font-variant: normal; 
    text-transform: none; 
    text-rendering: auto; 
    line-height: 1; 
    -webkit-font-smoothing: antialiased; 
    -moz-osx-font-smoothing: grayscale; 
}

.icon.twitter:before { content: "\f243"; }
.icon.facebook:before { content: "\f231"; }
.icon.email:before { content: "\f10f"; }
.icon.photo:before { content: "\f118"; }
.icon.video:before { content: "\f1f4"; }
.icon.phone:before { content: "\f1e6"; }
.icon.training:before { content: "\f2e3"; }
.icon.edit:before { content: "\f2bf"; }
.icon.submit:before { content: "\f16c"; }
.icon.heart:before { content: "\f141"; }

/* Header
*********************************************************************************************/

#header {
    width: 100%;
    height: 100px;
    line-height: 100px;
    position: fixed;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: 10;
}

/* Header Logo
*********************************************************************************************/

#header #logo {
    background: top left no-repeat;
    background-size: 60px;
    width: 60px;
    height: 101px;
    position: absolute;
    top: 20px;
    left: 40px;
}

.about #header #logo,
.news #header #logo,
.intro #header #logo,
.services #header #logo {
    background-image: url('../images/logo.png');
}

.contact #header #logo {
    background-image: url('../images/logo-dark.png');
    left: 90px;
}

/* Header Menu
*********************************************************************************************/

#header ul {
    position: absolute;
    top: 0;
    right: 40px;
}

#header ul li,
#header ul li a {
    float: left;
    position: relative;
}

#header ul li {
    margin-left: 20px;
}

#header ul li a {
	font-family:Arial, Helvetica, sans-serif;
    font-weight: 700;
    transition-duration: 0.25s;
}

#header ul li.current a::before,
#header ul li a:hover::before {
    background-color: #ffffff;
    border-radius: 50%;
    position: absolute;
    width: 12px;
    height: 12px;
    top: -6px;
    left: 50%;
    margin-left: -6px;
    content: '';
}

.intro #header ul li a, .news #header ul li a,
.services #header ul li a {
    color: #ffffff;
}
.services #header ul li a {
    color: #dcdaff;
}
.intro #header ul li.current a::before,
.intro #header ul li a:hover::before,
.services #header ul li.current a::before,
.services #header ul li a:hover::before {
    border-color: #ffffff;
}

.about #header ul li a,
.contact #header ul li a {
    color: rgba(0, 0, 0, 0.65);
}

.about #header ul li.current a::before,
.about #header ul li a:hover::before,
.contact #header ul li.current a::before,
.contact #header ul li a:hover::before {
    background-color: rgba(0, 0, 0, 0.65);
}

.services #header ul li.current a::before,
.services #header ul li a:hover::before {
	background-color:#dcdaff;
}

/* Sections
*********************************************************************************************/

section {
    width: 100%;
    position: relative;
    overflow: hidden; 
}

section.split .media {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

section.split .copy {
    background-color: #ffffff;
    color: rgba(0, 0, 0, 0.45);
    width: 50%;
    float: left;
    margin-left: 50%;
}

section.split .copy .content {
    float: left;
    padding: 100px;
}

section.split .copy .content h2 {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    font-size: 48px;
    line-height: 48px;
    color: rgba(0, 0, 0, 0.65);
    width: 100%;
    padding-bottom: 33px;
    margin-bottom: 28px;
}

section.split .copy .content p {
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 17px;
}

section.split .copy .content p a {
    color: rgba(0, 0, 0, 0.45);
}

section.split .copy .content blockquote {
    font-size: 28px;
    font-weight: 400;
    line-height: 34px;
    margin-bottom: 24px;
}

/* Intro
*********************************************************************************************/

#intro,
#intro::before,
#intro::after {
    width: 100%;
    height: 100%;
}

#intro::before,
#intro::after {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -2;
    content: '';
}

#intro::before {
    background: url('../images/intro-2.jpg') center center no-repeat;
    background-size: cover;
}

#intro::after {
    background-color: rgba(56, 47, 40, 0.5);
}

/* Intro Text
*********************************************************************************************/

#intro .intro {
    text-align: center;
    position: absolute;
    z-index: 1;
    width: 100%;
}

#intro h1 {
    border-bottom: 2px dashed rgba(255, 255, 255, 0.2);
    font-size: 100px;
    color: #ffffff;
	margin:auto;
    padding-bottom: 48px;
    0margin-bottom: 62px;
	text-shadow: 1px 1px 10px #000;
	letter-spacing:7px;
	width:90%;
}

#intro h1::after {
    background-color: #706ee9;
    border-radius: 50%;
    position: absolute;
    width: 30px;
    height: 30px;
    bottom: 100px;
	border:3px solid #fff;
    left: 50%;
    margin-left: -16px;
    content: '';
}
#intro .etitle {
	font-size:35px;
	letter-spacing:1px;
}
#intro p {
    font-size: 36px;
	letter-spacing:11px;
	text-shadow: 0px 0px 3px #fff, 0px 0px 3px #333, 0px 0px 3px #fff;
    color: #9ceeff;
	margin-top:80px;
}

/* About
*********************************************************************************************/

#about,
#about::before,
#about::after {
    width: 100%;
    height: 100%;
}
#about .media {
    background-image: url('../images/intro-4.jpg');
}

#about .copy {
    height: 100%;
}
#about p:last-of-type {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    padding-bottom: 36px;
    margin-bottom: 37px;
}

#about img {
    width: 75px;
}
#about p {
	color:#666;
	font-size:22px;
	line-height:33px;
	letter-spacing:1px;
}
/* Services
*********************************************************************************************/
#services,
#services::before,
#services::after {
    width: 100%;
    hesight: 140%;
    hesight: 100%\9;
}
#services {
    background-color: rgba(59, 59, 65, 0.7);
}

#services video.embed {
    background-size: cover;
    min-width: 100%; 
    min-height: 100%;
    width: auto; 
    height: auto; 
    position: absolute; 
    right: 0; 
    bottom: 0;
    z-index: -1;
}

#services .content {
    padding: 0 100px;
}

/* Services Columns
*********************************************************************************************/

#services .content .column {
    border-left: 1px solid rgba(255, 255, 255, 0.075);
    width: 33.333333333%;
    float: left;
    padding-top: 100px;
}

#services .content .column:last-of-type {
    border-right: 1px solid rgba(255, 255, 255, 0.075);
}

/* Services Service
*********************************************************************************************/

#services .content .column .service {
    float: left;
    padding: 0 50px 75px;
}

#services .content .column .service h2 {
    border-bottom: 1px solid rgba(255, 255, 255, 0.075);
    font-size: 27px;
    line-height: 30px;
    margin-bottom: 25px;
    padding-bottom: 26px;
    color: rgba(255, 255, 255, 0.95);
	text-shadow: 1px 1px 5px #000;
}

/* Services Item
*********************************************************************************************/

#services .content .column .service .item {
    border-bottom: 1px dashed rgba(255, 255, 255, 0.075);
    color: rgba(255, 255, 255, 0.5);
    width: 100%;
    float: left;
    padding-bottom: 20px;
    margin-bottom: 15px;
}

#services .content .column .service .item:last-of-type {
    border: none;
    padding: 0;
    margin-bottom: 23px;
}

#services .content .column .service .item h3 {
    font-size: 16px;
    line-height: 16px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 12px;
}

#services .content .column .service .item p {
    font-size: 16px;
    line-height: 21px;
    margin-bottom: 16px;
}

#services .content .column .service .item img {
	border:1px solid #ccc;
	padding:2px;
}
#services .content .column .service .item a {
/*	
    border-radius: 10px 2px 2px 10px;
    background-color: rgba(255, 255, 255, 0.95);
    font-size: 12px;
    line-height: 20px;
    height: 20px;
    padding: 0 8px 0 24px;
    margin: 0 2px 0 0;
    display: inline-block;
    position: relative;
	*/
    color: #fff;
}

#services .content .column .service .item a span {
    font-size: 16px;
    position: absolute;
    top: 2px;
    left: 8px;
}

#services .content .column .service .item a span.training {
    font-size: 12px;
    top: 4px;
}

#services .content .column .service .item ul {
	list-style-type:disc;
	margin-left:12px;
	margin-bottom:22px;
	padding-left:12px;
}
/* Contact
*********************************************************************************************/

#contact .media {
    background-image: url('../images/0contact.jpg');
}

#contact p:last-of-type {
    margin-bottom: 37px;
}

/* Contact Form
*********************************************************************************************/

#contact form,
#contact form .row,
#contact form .form-message.success,
#contact form .form-message.error  {
    width: 100%;
    float: left;
    position: relative;
}
#contact .cform {
    background: rgba(0, 0, 0, 0.06) url('../images/form-bk.png') top left no-repeat;
    box-shadow: 0 0 9px rgba(0, 0, 0, 0.7);
	margin-bottom:105px;
    width: 100%;
    float: left;
    position: relative;
    padding: 20px 0 0 20px;
	
}
#contact form {
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.06) url('../images/form-bk2.png') bottom right no-repeat;
    padding: 30px 30px 30px 20px;
}

#contact form .form-message.success,
#contact form .form-message.error {
    color: #ffffff;
    border-radius: 3px;
    height: 30px;
    font-size: 14px;
    line-height: 30px;
    text-align: center;
    margin-bottom: 30px;
}

#contact form .form-message.success {
    background-color: #5a9475;
}

#contact form .form-message.error {
    background-color: #c26650;
}

#contact form .icon.edit:before {
    font-size: 11px;
    color: #909090;
    position: absolute;
    top: 3px;
    left: 0;
}

#contact form input[type="text"],
#contact form input[type="password"],
#contact form input[type="email"],
#contact form textarea {
    background: none;
    border: none;
    border-bottom: 1px dotted rgba(0, 0, 0, 0.075);
    outline: none;
    resize: none;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 16px;
    color: rgba(0, 0, 0, 0.5);
    width: 100%;
    float: left;
    margin: 0 0 20px;
    padding: 0 0 4px 16px;
    position: relative;
}

#contact form input[type="text"]:focus,
#contact form input[type="password"]:focus,
#contact form input[type="email"]:focus,
#contact form textarea:focus {
    color: rgba(0, 0, 0, 0.75);
}

#contact form textarea {
    height: 16px;
    margin-bottom: 6px;
    padding-bottom: 6px;
}

#contact form p.characters {
    border: none;
    border-radius: 9px;
    background-color: rgba(0, 0, 0, 0.025);
    font-size: 12px;
    line-height: 18px;
    color: rgba(0, 0, 0, 0.15);
    float: right;
    padding: 0 8px;
}

#contact form button {
    border-radius: 6px;
    border: none;
    background-color: #c26650;
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    color: #ffffff;
    font-size: 16px;
    line-height: 30px;
    width: 100%;
    height: 40px;
	
    cursor: pointer;
}

#contact form button:hover {
    background-color: #5a9475;
}

/* News
*********************************************************************************************/

#news,
#news::after {
    width: 100%;
    sheight: 550%;
    sheight: 450%\9;
}


#news {
    background: url('../images/pic-3.jpg') center center no-repeat fixed;
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
    background-size: cover;
  position: relative;
    color: #ffffff;
    text-align: center;
    overflow: hidden;
}

#news::after {
    background-color: rgba(0, 0, 0, 0.8);
    width: 100%;
    height: 100%;
    position: absolute;
	z-index:3;
    top: 0;
    left: 0;
    content: '';
}

/* News Text
*********************************************************************************************/

#news .content {
    text-align: center;
    position: relative;
    z-index: 4;
    padding: 0 100px;
    width: 100%;
    top: 0;
}

#news h2 {
    font-size: 48px;
    line-height: 48px;
    margin-bottom: 28px;
	margin-top:106px;
	clear:left;
}



/* News Columns
*********************************************************************************************/

#news .content .column {
    border-left: 1px solid rgba(255, 255, 255, 0.075);
    width: 90%;
    float: left;
}

#news .content .column:last-of-type {
    border-right: 1px solid rgba(255, 255, 255, 0.075);
}

/* Services Service
*********************************************************************************************/

#news .content .column .news {
    float: left;
    padding: 0 50px 75px;
	letter-spacing:1px;
}

#news .content .column .news h2 {
    border-bottom: 1px solid rgba(255, 255, 255, 0.075);
    font-size: 27px;
    line-height: 24px;
    margin-bottom: 25px;
	margin-top:26px;
    padding-bottom: 26px;
    color: rgba(255, 255, 255, 0.95);
	text-shadow: 1px 1px 5px #000;
}
#news .content .column .news h4 {
	font-size:23px;
	font-weight:bold;
	margin:25px 0;
	text-align:left;
}
#news .content .column .news img {
	margin-bottom:33px;
	border:1px solid #fff;
	padding:2px;
}

/* Services Item
*********************************************************************************************/

#news .content .column .news .item {
    border-bottom: 1px dashed rgba(255, 255, 255, 0.075);
    color: rgba(255, 255, 255, 0.8);
    width: 100%;
    float: left;
    padding-bottom: 20px;
    margin-bottom: 15px;
}

#news .content .column .news .item:last-of-type {
    border: none;
    padding: 0;
    margin-bottom: 23px;
}

#news .content .column .news .item h3 {
    font-size: 16px;
    line-height: 16px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 12px;
}

#news .content .column .news .item p {
    font-size: 18px;
    line-height: 25px;
    margin-bottom: 16px;
	text-align:left;
}

/* footer
*********************************************************************************************/
#footer {
	background-color:#bbb;
	border-top:3px solid #aaa;
	padding:10px 22px;
	color:#555;
	text-align:center;
	font-size:13px;
}
#footer .creartive {
	float:right;
}
#footer .creartive a {
	color:#888;
}
#footer .creartive a:hover {
	color:#900;
}

/* Loading Overlay
*********************************************************************************************/

#overlay {
    background-color: #ffffff;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20;
}

#overlay img {
    width: 150px;
    position: absolute;
    top: 100px;
    left: 50%;
    margin-left: -75px;
}

/* Loading Indicator
*********************************************************************************************/

.loading {
    -webkit-animation: fade-in .25s linear;
    -moz-animation: fade-in .25s linear;
    -o-animation: fade-in .25s linear;
    animation: fade-in .25s linear;
}

@-webkit-keyframes fade-in {
    from	{ opacity: 0; }
    to		{ opacity: 1; }
}

@-moz-keyframes fade-in {
    from	{ opacity: 0; }
    to		{ opacity: 1; }
}

@-o-keyframes fade-in {
    from	{ opacity: 0; }
    to		{ opacity: 1; }
}

@keyframes fade-in {
    from	{ opacity: 0; }
    to		{ opacity: 1; }
}

.loading,
.loading div {
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.loading {
    width: 2.5em;
    height: 2.5em;    
    background-color: rgba( 0, 0, 0, .075 );
    position: fixed;
    z-index: 10003;
    top: 50%;
    left: 50%;
    padding: 0.625em;
    margin: -1.25em 0 0 -1.25em; /* 20 */
}

.loading div {
    width: 1.25em;
    height: 1.25em;
    background-color: rgba(255, 255, 255, 0.75);    
    -webkit-animation: loading .5s ease infinite;
    -moz-animation: loading .5s ease infinite;
    -o-animation: loading .5s ease infinite;
    animation: loading .5s ease infinite;
}

@-webkit-keyframes loading {
    from { opacity: .5;	-webkit-transform: scale( .75 ); }
    50%	 { opacity: 1;	-webkit-transform: scale( 1 ); }
    to	 { opacity: .5;	-webkit-transform: scale( .75 ); }
}

@-moz-keyframes loading {
    from { opacity: .5;	-moz-transform: scale( .75 ); }
    50%	 { opacity: 1;	-moz-transform: scale( 1 ); }
    to	 { opacity: .5;	-moz-transform: scale( .75 ); }
}

@-o-keyframes loading {
    from { opacity: .5;	-o-transform: scale( .75 ); }
    50%	 { opacity: 1;	-o-transform: scale( 1 ); }
    to	 { opacity: .5;	-o-transform: scale( .75 ); }
}

@keyframes loading {
    from { opacity: .5;	transform: scale( .75 ); }
    50%	 { opacity: 1;	transform: scale( 1 ); }
    to	 { opacity: .5;	transform: scale( .75 ); }
}
