html, body {
    font-family: 'Source Sans Pro','Helvetica Neue',Helvetica,Arial,sans-serif;
    width: 100%;
    height: 100vh;
    margin: 0px;
    padding: 0px;
}
select {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+) !important;
    background-repeat: no-repeat !important;
    background-position: 100% 50% !important;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    line-height: 1.42857143 !important;
    padding-right: 15px !important;
}
.page-container {
    background: url(../image/bg-sign-in.png) bottom center/cover no-repeat;
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 730px;
}
header.main-header {
    padding: 6px;
}
header.main-header h1.title {
    font-size: 21px;
    color: #fff;
    font-weight: normal;
    margin: 0px;
}
footer.main-footer {
    color: #333;
    padding: 6px;
    background: rgba(255, 255, 255, .5);
    position: absolute;
    bottom: 0px;
    width: 100%;
}
.sign-in-container {
    position: absolute;
    width: 100%;
    top: 35px;
    bottom: 32px;
}
.sign-in-container .content-wrapper {
    max-width: 1024px;
    width: 1024px;
}
.form-sign-in {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-60%) translateX(-50%);
    max-width: 360px;
    width: 360px;
    margin: 10px auto;
    background-color: white;
    -o-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    -ms-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
}
.form-sign-in h2 {
    color: #3498db;
    font-size: 28px;
}
.form-sign-in > h2, .form-sign-in > div {
    margin: 0px;
    padding: 15px 20px 15px 15px;
    border-left: 5px solid transparent;
    -moz-transition: border-left-color 0.5s, box-shadow 0.5s, background-color 0.5s;
    -o-transition: border-left-color 0.5s, box-shadow 0.5s, background-color 0.5s;
    -webkit-transition: border-left-color 0.5s, box-shadow 0.5s, background-color 0.5s;
    transition: border-left-color 0.5s, box-shadow 0.5s, background-color 0.5s;
}
.form-sign-in > div.focused {
    border-left-color: #3498db;
    background-color: #f0f0f0;
    -o-box-shadow: inset 0 0 3px rgba(0,0,0,.1);
    -ms-box-shadow: inset 0 0 3px rgba(0,0,0,.1);
    -moz-box-shadow: inset 0 0 3px rgba(0,0,0,.1);
    -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,.1);
    box-shadow: inset 0 0 3px rgba(0,0,0,.1);
}
.form-sign-in .input-group {
    border: 1px solid #e0e0e0;
    background-color: #ffffff;
    position: relative;
    display: table;
    border-collapse: separate;
    width: 100%;
}
.form-sign-in .input-group .input-group-addon {
    color: #555;
    background-color: transparent;
    border: none;
    border-right: 0;
}
.form-sign-in .form-control, .form-sign-in .form-control:focus {
    box-shadow: none;
    outline: none;
    background-color: transparent;
    border: none;
}
.form-sign-in select {
    height: 34px !important;
}

/* 錯誤 */
.form-sign-in .form-error-message,
.form-sign-in .form-group .with-errors,
.form-sign-in .form-group .with-errors ul {
    margin: 0px;
    padding: 0px;
}
.form-sign-in .form-error-message {
    border: none;
}
.form-sign-in .form-error-message .alert {
    margin: 15px 20px;
}