.s50 {min-width:50px;}
.s100 {min-width:100px;}
.s200 {min-width:200px;}
.s300 {min-width:300px;}
.s400 {min-width:400px;}
.s500 {min-width:500px;}
.s600 {min-width:600px;}

.s10w,.s20w,.s30w,.s40w,.s50w,
.s60w,.s70w,.s80w,.s90w,.s100w { 
    position: relative; 
	display: inline-block; 
	}

.s10w { width: 10%;}
.s20w { width: 20%;}
.s30w { width: 30%;}
.s40w { width: 40%;}
.s50w { width: 50%;}
.s60w { width: 60%;}
.s70w { width: 70%;}
.s80w { width: 80%;}
.s90w { width: 90%;}
.s100w { width: 100%;}

/****************************
# FORM
*****************************/
input[type="file"],
input[type="password"],
input[type="search"],
input[type="text"],
textarea, select { 
	position: relative;
	padding: 4px;
	margin: 2px;
	height: 40px;
	font-size: 14px;
	line-height: 20px;
	vertical-align: middle; 	
	border: 1px solid #DDDDDD;
	background-color: #FFFFFF;
	}
input[type="file"] { 
	padding: 0px;
	margin: 2px;
	}
textarea { 
	min-width: 100%;
	max-width: 100%;
	min-height: 40px;
	padding: 4px; 
	}

input[readonly] { 
	color: #666666;
	background-color: #EEEEEE;
	}

input[type="password"]:focus,
input[type="text"]:focus,
textarea:focus,
select:focus  {
	border: #35a5e5 0.8px solid;
	box-shadow: 0 0 3px rgba(81, 203, 238, 0.8);
	-webkit-box-shadow: 0 0 3px rgba(81, 203, 238, 0.8);
	-moz-box-shadow: 0 0 3px rgba(81, 203, 238, 0.8);
	}
	
form label.error { 
    position: relative;
	display: inline-block; 
	/*display: none;*/ 
	color: #D90000;
	font-size: 14px;
	font-style: italic;
	margin-left: 5px
	}
/****************************
# BUTTONS 按鍵
*****************************/	
.search { 
    position: relative; 
	display: inline-block; 
	float: right;
	width: 100%; 
	margin: 2px;
	padding: 0px;
	}

.d2 form { background: #FFFFFF; }
.d2 input[type="text"] {
    position: relative; 
	display: inline-block; 
	float: right; 
	width: 100%;
	height: 38px;
	margin: 0px;
	padding-left: 5px;
	padding-right: 65px;
	border: none;
	outline: none;
	background: #FFFFFF;
	border: 1px solid #EEEEEE;
	}
.d2 a.btn-sm,
.d2 input[type="submit"] {
	position: absolute;
	top: 0px;
	right: 0px;
	width: 60px;
	height: 38px;
	line-height: 38px;
	margin: 0px;
	padding: 0px 5px;
	cursor: pointer;
	border: none;
	outline: none;
	color: #ffffff;
	background: #000000;	
	}
.d2 input[type="submit"]:before {
	font-size: 18px;
	color: #ffffff;
	}
/************************
Button Group Classes
************************/
.btn-block { 
    position: relative; 
	display: block;
	width: 100%; 
	}
.btn-group { 
    position: relative; 
	display: block;
	width: 100%; 
	}
/************************
Button Sizes
************************/
.tabs-sm, .tabs-lg, .tabs-xs {
    position: relative;
    display: block;
    width: 100%;
    padding: 0 5px;
    }
.tabs-btn {
    position: relative;
    margin-bottom: 1px;
    width: 100%;
    color: #fff;
    overflow: hidden;
}	

.tabs-btn label {
    position: relative;
    display: block;
    padding: 0 0 0 1em;
    font-weight: 600;
    line-height: 3;
    cursor: pointer;
}
.tabs-btn label::after {
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    width: 3em;
    height: 3em;
    line-height: 3;
    text-align: center;
    -webkit-transition: all .35s;
    transition: all .35s;
}

.btn_add,
.btn_remove {
	width: 40px;
	height: 40px;
	}

.tabs-btn input {
    position: absolute;
    opacity: 0;
    z-index: -1;
}
.tabs-btn input:checked ~ .tab-content {
    max-height: 10em;
}
.tabs-btn input[type=checkbox] + label::after {
    content: "+";
}
.tabs-btn input[type=checkbox]:checked + label::after {
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
}
.tabs-btn input[type=radio] + label::after {
    content: "\25BC";
}
.tabs-btn input[type=radio]:checked + label::after {
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
}

.tabs-btn .tab-content {
    max-height: 0;
    overflow: hidden;
    color: #000000;

	background: rgba(255, 255, 255, 0.9); 
    -webkit-transition: max-height .35s;
    transition: max-height .35s;
}
.tabs-btn .tab-content p { margin: 1%; }

/************************/
.btn-sm, .btn-lg, .btn-xs {
 	position: relative;
    display: inline-block;
	outline: none;
    cursor: pointer;
    text-decoration: none;
    word-break: break-all;
    box-sizing: border-box;	

	font-weight: 500;
	line-height: 1.2rem;
    text-align: center;
	
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 0px;	
	border: 0px solid #FFFFFF;
	overflow: hidden;
	vertical-align: middle;
	transition: all 0.5s;
	}
/*****************************/	
.btn-lg {
    font-size: 16px;	
	margin: 4px 2px;
    padding: 0px 30px;
    height: 40px;     
	line-height: 40px;
	}
.btn-sm {
	font-size: 12px;
	margin: 2px 2px;
    padding: 0px 15px;
    height: 36px;
	line-height: 36px;
	}
.btn-xs {
	font-size: 12px;
	margin: 2px 1px;
    padding: 0px 5px;	
	height: 20px;
	line-height: 20px;
	}
/************************
Button Colors
************************/
.btn-c1 { color: #FFFFFF; background: #000000; }
.btn-c1:hover,
.btn-c1:active { color: #ffffff; background: #000000; }

.btn-c2 { color: #000000; background: #ffffff; border: 1px solid #CCCCCC; }
.btn-c2:hover,  
.btn-c2:active { color: #000000; background: #ffffff; }

.btn-c3 { color: #ffffff; background: #63bcfc ; }
.btn-c3:hover,
.btn-c3:active { color: #ffffff; background: #27608d; }

.btn-c4 { color: #ffffff; background: #5cb85c; }
.btn-c4:hover,
.btn-c4:active { color: #ffffff; background: #347634; }

.btn-c5 { color: #ffffff; background: #FF0000; }
.btn-c5:hover, 
.btn-c5:active { color: #ffffff; background: #9D0000; }

.btn-c6 { color: #ffffff; background: #f0ad4e; }
.btn-c6:hover,
.btn-c6:active { color: #ffffff; background: #C57810; }

.btn-c7 { color: #ffffff; background: #d9534f; }
.btn-c7:hover,
.btn-c7:active { color: #ffffff; background: #8A211E; }

.btn-c8 { color: #ffffff; background: #f0ad4e; }
.btn-c8:hover,
.btn-c8:active { color: #ffffff; background: #8A211E; }
/*
.btn-c1:hover,
.btn-c1:active { color: #000000; background: #f0f0f0; 
	-webkit-box-shadow:0px 0px 5px #e5e5e5;
    -moz-box-shadow:0px 0px 5px #e5e5e5;
    box-shadow:0px 0px 5px #e5e5e5;	
	}
*/
/************************/
a.animBtn:link, a.animBtn:visited {
    position: relative;
    display: block;
    width: 180px;
    margin: 30px auto 0;
    padding: 14px 15px;
    border: 2px solid #fff;
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    overflow: hidden;
    letter-spacing: .08em;
    text-shadow:0 1px 1px rgba(0,0,0,0.2);
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}
a.animBtn:link:after, a.animBtn:visited:after {
    content: "";
    position: absolute;
    background: none repeat scroll 0 0 #fff;
    height: 0%;
    left: 50%;
    top: 50%;
    width: 100%;
    z-index: -1;
    -webkit-transition: all .3s ease 0s;
    -moz-transition: all .3s ease 0s;
    -o-transition: all .3s ease 0s;
    transition: all .3s ease 0s;
}
a.animBtn:link:hover, a.animBtn:visited:hover {
    color: #333;
    text-shadow: none;
}
a.animBtn:link:hover:after, a.animBtn:visited:hover:after {
    height: 420%;
}

a.animBtn.themeA:after {
    -moz-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
    -ms-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
a.animBtn.themeB:after {
    -moz-transform: translateX(-50%) translateY(-50%) rotate(45deg);
    -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
a.animBtn.themeC:after {
    opacity: .5;
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}
a.animBtn.themeC:hover:after {
    height: 140%;
    opacity: 1;
}
a.animBtn.themeD:after {
    width: 0%;
    border-radius: 50%;
    opacity: .5;
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}
a.animBtn.themeD:hover:after {
    height: 450%;
    width: 110%;
    opacity: 1;
}
/************************
C-MESSAGE
************************/
.c-message{
    position: fixed;
	top: 20px;
    right: 5px;
    padding-left:50px;
    padding-right:20px;
    min-height: 40px;
    line-height: 40px;
    background: #fff;
    width: 300px;
    color: #666;
    box-shadow: 0 2px 4px rgba(0,0,0,.12), 0 0 6px rgba(0,0,0,.04);
    z-index:9999;
}

.c-message-icon{
    position: absolute;
	top: 0;
	left: 0;
	color: #fff;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
}

.c-message--success{ background:#13CE66; }
.c-message--error{ background:#FF4949; }
.c-message--info{ background:#20A0FF; }
.c-message--warning{ background:#F7BA2A; }

.c-message--close{
    position: absolute;
    display: block;
	top: 0;
	right: 10px;
	height: 40px;
    color: #111111;
    text-decoration: none;
    cursor: pointer;
    font-size: 30px;
    background:#13CE66;
    line-height: 34px;
}
.c-message-close:hover{ color:#666; }

@keyframes messageFadeInDown {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    } 100% {
        -webkit-transform: none;
        transform: none
    }
}
.c-message.message-InDown {
    -webkit-animation-duration: .6s;
    animation-duration: .6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
    -webkit-animation-name: messageFadeInDown;
    animation-name: messageFadeInDown;
}
@keyframes messageFadeOutUp {
    0% {
        opacity: 1
    } 100% {
        opacity: 0;
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}
.c-message.message-OutUp {
    -webkit-animation-duration: .6s;
    animation-duration: .6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
    -webkit-animation-name: messageFadeOutUp;
    animation-name: messageFadeOutUp
}