textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {   
    -webkit-box-shadow: none;
   	outline: none;
}

/*
::-webkit-scrollbar {    
    -webkit-appearance: none;
    width: 7px;
    height: 7px;    
}
::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0,0,0,.5);
    -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}
*/

@font-face {
    font-family: 'open_sansregular';
    src: url('../fonts/opensans-regular-webfont.woff2') format('woff2'),
         url('../fonts/opensans-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'open_sansbold';
    src: url('../fonts/opensans-bold-webfont.woff2') format('woff2'),
         url('../fonts/opensans-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

body {
    background: #E9EAEC;
    background-size: cover;
    padding: 50px 0px 30px 0px;
    font-family: 'open_sansregular', Arial, "微軟正黑體", PMingLiU, sans-serif;    
    font-size: 100%;
}

.footer-copyright {
    position: absolute;    
    bottom: 10;
    width: 100%;
    right: 0;    
    text-align: center;    
    font-size: 1.2em;
    font-weight: 700;
}

.spacer5 { height: 5px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer10 { height: 10px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer15 { height: 15px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer20 { height: 20px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer25 { height: 25px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer30 { height: 30px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer35 { height: 35px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer40 { height: 40px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer45 { height: 45px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer50 { height: 50px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer100 { height: 100px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer200 { height: 200px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }

.h-divider {
    margin-top:5px;
    margin-bottom:5px;
    height:1px;
    width:100%;
    border-top:1px solid gray;
}

.mandatory-field {
    color: red !important;
    font-weight: 700 !important;
}

.warning {
    color: red !important;
}

.exclamation{
    color: red !important;
}

.header-username {
    color: white !important;
    font-size: 0.8em;
    padding-top: 7px;   
    padding-left: 7px;
}

.header-lang {
    color: white !important;
    font-size: 0.8em;
    padding-top: 7px;   
    padding-right: 7px;
}

.btnLogout{
    background-color: #FCE8EA;    
    height: 40px;    
    color: #2E3235;
    border-radius: 0px;    
}

.btnLogout:hover{
    background-color: #FF7E7D;
}

.btnReport{
    background-color: #FCE8EA;    
    height: 40px;    
    color: #2E3235;
    border-radius: 0px;    
}

.btnReport:hover{
    background-color: #FF7E7D;
}

.btnMaintenance{
    background-color: #FCE8EA;    
    height: 40px;    
    color: #2E3235;
    border-radius: 0px;    
}

.btnMaintenance:hover{
    background-color: #FF7E7D;
}

.btnHome{
    background-color: #FCE8EA;    
    height: 40px;    
    color: #2E3235;
    border-radius: 0px;
    font-weight: 700;    
}

.btnHome:hover{
    background-color: #FF7E7D;
}

.btnChangePassword {
    background-color: #FCE8EA;    
    height: 40px;    
    color: #2E3235;
    border-radius: 0px; 
}

.btnChangePassword:hover{
    background-color: #FF7E7D;
}

.modal70 > .modal-dialog {
    width:70% !important;
}

.tableLastRefresh{
    padding-left: 0px !important;
    font-size: 10px !important;
}

/* 
   Speech Bubbles
   Usage: Apply a class of .speech-bubble and .speech-bubble-DIRECTION
   <div class="speech-bubble speech-bubble-top">Hi there</div>
*/
 
.speech-bubble {
    position: relative;
    background-color: #292929;

    padding: 10px;  
    width: 200px;
    min-height: 20px;
    /*line-height: 150px; *//* vertically center */

    color: white;
    /*text-align: center;*/
    border-radius: 10px;

    font-family: sans-serif;
}
 
.speech-bubble:after {
    content: '';
    position: absolute;

    width: 0;
    height: 0;

    border: 15px solid;
}
 
 
/* Position the Arrow */
 
.speech-bubble-top:after {
  border-bottom-color: #292929;
 
  left: 50%;
  bottom: 100%;
  margin-left: -15px;   
}
.speech-bubble-right:after {
  border-left-color: #292929;
 
  left: 100%;
  top: 50%;
  margin-top: -15px;    
}
 
.speech-bubble-bottom:after {
  border-top-color: #292929;
 
  top: 100%;
  left: 50%;
  margin-left: -15px;   
}
 
.speech-bubble-left:after {
  border-right-color: #292929;
 
  top: 50%;
  right: 100%;
  margin-top: -15px;    
}

.loading_dim {
    display: none;
    background: rgba(0,0,0,.5);
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 1000;
}

.loading {
    display: none;
    background: url('../img/loading.png') no-repeat center;	
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 1100;
}

.loading {
	-webkit-animation:spin 1.5s linear infinite;
	-moz-animation:spin 1.5s linear infinite;
	animation:spin 1.5s linear infinite;
}

#back-to-top {
    position: fixed;
    background-color: #000;
    opacity: 0.6;
    bottom: 100px;
    right: 20px;
    z-index: 1000000;
    width: 44px;
    height: 44px;
    border-radius: 4px;
    text-align: center;
    cursor: pointer;
    display: none;
}

#back-to-top i {
    font-size: 22px;
    color: white;
    line-height: 40px;
}

.input-group-addon.primary {
    color: rgb(255, 255, 255);
    background-color: rgb(50, 118, 177);
    border-color: rgb(40, 94, 142);
}
.input-group-addon.success {
    color: rgb(255, 255, 255);
    background-color: rgb(92, 184, 92);
    border-color: rgb(76, 174, 76);
}
.input-group-addon.info {
    color: rgb(255, 255, 255);
    background-color: rgb(57, 179, 215);
    border-color: rgb(38, 154, 188);
}
.input-group-addon.warning {
    color: rgb(255, 255, 255);
    background-color: rgb(240, 173, 78);
    border-color: rgb(238, 162, 54);
}
.input-group-addon.danger {
    color: rgb(255, 255, 255);
    background-color: rgb(217, 83, 79);
    border-color: rgb(212, 63, 58);
}

:not(.mobile) #back-to-top:hover, :not(.tablet) #back-to-top:hover {
    opacity: 0.8; 
}

@-moz-keyframes spin { 100% { 
	-moz-transform:rotate(360deg); 
	}
}
@-webkit-keyframes spin { 100% { 
	-webkit-transform:rotate(360deg); 
	}
}
@keyframes spin { 100% {
	-webkit-transform:rotate(360deg);
	transform:rotate(360deg);
	}
}

@media all and (max-width:540px) {
    .btn-block-xs-only {
        display: block;
        width: 100%;
    }
}

form input[type=text],
form input[type=password] {
  background: #fff;
  border: 1px solid #ccc;  
  outline: none;
  border-radius: 0px;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.changelanguage{
    color: #ffffff;
}

.changelanguage:hover{
    color: #ffffff;
    text-decoration: none;
}

@media print {
    .notprintable {
       visibility: hidden;
    }
}