body{
    margin: 0;
    padding: 0;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    min-width: 300px;
    overflow-x: hidden;
    height: 100%;
}

#loginHold {position: relative; height: 100vh; background-color: #ffffff;}
#loginHold .loginHold-inner {position: relative; height: calc(100% - 40px); padding: 20px 0; text-align: center; font-size: 0; z-index: 100;}
#loginHold .loginHold-inner::before {content: ""; display: inline-block; height: 100%; width: 0; vertical-align: middle;}
#loginHold .loginCont {
    display: inline-block;
    width: 100%;
    max-width: 300px;
    vertical-align: middle;
    -webkit-box-shadow: 0 0 20px 5px rgba(0,0,0,0.18);
    box-shadow: 0 0 20px 5px rgba(0,0,0,0.18);
    min-height: calc(50vh + 100px);
    background-color: #ffffff;
    text-align: center;
    font-size: 0;
    position: relative;
    padding: 0 0 50px 0;
}

#loginHold .loginCont::before {content: ""; display: inline-block; height: calc(50vh + 100px); width: 0; vertical-align: middle;}
#loginHold .loginCont-inner {position: relative; padding: 20px; display: inline-block; width: calc(100% - 40px); vertical-align: middle;}

#loginHold .epi-input > .epi-table > .epi-cell {background-color: transparent;}
#loginHold .epi-input input {background-color: transparent;}
#loginHold .epi-input.single-line.labeled label {color: #aaa;}
#loginHold .epi-input .epi-cell {
    border-color: #CDCDCD;
    -webkit-transition: border-bottom-color 250ms ease-out;
    -moz-transition: border-bottom-color 250ms ease-out;
    -o-transition: border-bottom-color 250ms ease-out;
    transition: border-bottom-color 250ms ease-out;
}

#loginHold .epi-input div.epi-cell.active {border-color: #515151;}
#loginHold .epi-input.single-line.labeled.focus.focused label {color: #515151;}
#loginHold .epi-input.show-password .show-password-icon {background-color: transparent;}
#loginHold .epi-button {padding: 10px 20px;}

#loginHold .epi-input.error div.epi-cell.active {border-color: #ff5153 !important;}
#loginHold .epi-input.error.single-line.labeled.focus.focused label {color: #ff5153;}
#loginHold .epi-input.error div.epi-cell {border-color: #ff5153;}
#loginHold .epi-input.error.single-line.labeled label {color: #ff5153;}

#loginHold .loginHold-bg {position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; font-size: 0;}
#loginHold .loginHold-bg::before {content: ""; display: inline-block; vertical-align: middle; width: 0; height: 100%;}
#loginHold .loginHold-bg-inner {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    height: 50%;
    width: 100%;
    background-image: url('../images/login-background.jpg');
    background-size: cover;
    background-position: 50% bottom;
    min-height: 300px;
}

#loginHold .loginHold-bg-hold {position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.8;}
#loginHold .loginCont-footer {position: absolute; bottom: 0; left: 0; width: 100%;}
#loginHold .loginCont-footer-inner {position: relative; padding: 15px 20px; text-align: left; font-size: 0;}
#loginHold .loginCont-footer-link {display: inline-block; font-size: 13px; color: #aaa; text-decoration: none;}
#loginHold .loginCont-footer-link.right {float: right;}
#loginHold .loginCont-footer-link:hover {text-decoration: underline;}
#loginHold .login-btn-hold {margin-top: 40px;}

#loginHold .loginCont-logo {position: relative; text-align: center; font-size: 0; margin-bottom: 40px;}
#loginHold .loginCont-logo-inner {padding-top: 20px; width: 50px; height: 50px; display: inline-block;}
#loginHold .loginCont-logo-text {
    display: block;
    text-align: center;
    font-size: 18px;
    margin-top: 10px;
    padding: 0 20px;
    color: #aaa;
}
#loginHold .loginCont-version-text {
    display: block;
    text-align: center;
    font-size: 13px;
    margin-top: 0px;
    padding: 0 20px;
    color: #aaa;
}

#loginHold .loginCont-logo-text.error {font-size: 13px; color: #ff5153;}
#loginHold .loginCont-logo .loginCont-logo-inner.error .epi-svg svg {fill: #ff5153 !important;}
#loginHold .loginCont-logo .loginCont-logo-inner .epi-svg svg.epicdev-logo-spaced {fill: #aaa !important;}
#loginHold .loginCont-logo .loginCont-logo-inner.error {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -23px;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -o-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    opacity: 0;
}

#loginHold .loginCont-logo.error .loginCont-logo-inner.error {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 1;
}

#loginHold .loginCont-logo.error .loginCont-logo-inner.logo {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -o-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    opacity: 0;
}

#loginHold .pageFooter {position: absolute; bottom: 0; left: 0; width: 100%; z-index: 100;}
#loginHold .pageFooter-inner {position: relative; text-align: right; font-size: 0; padding: 0 50px 15px 50px;}
#loginHold .pageFooter-link {display: inline-block; font-size: 13px; color: #aaa;}
#loginHold .pageFooter-link:hover {text-decoration: underline;}

@media (min-width: 1450px){
    #loginHold .loginCont {max-width: 350px;}
    #loginHold .loginCont-logo-inner {width: 70px; height: 70px;}
    #loginHold .loginCont-logo-text {font-size: 22px;}
    #loginHold .login-btn-hold {margin-top: 70px;}
    #loginHold .loginCont-logo {margin-bottom: 70px;}
}

@media (max-width: 400px){
    #loginHold .login-btn-hold {margin-top: 30px;}
    #loginHold .loginCont-logo {margin-bottom: 30px;}
    #loginHold .loginCont-logo-text.error {font-size: 13px;}
    #loginHold .loginCont-logo-inner {padding-top: 0;}
    #loginHold .epi-input.show-password .show-password-icon {display: none;}
}