/* Quitamos el color azul en chrome*/
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

/*input:-webkit-autofill {
    -webkit-text-fill-color: #000;
}*/

* {
	margin: 0px; 
	padding: 0px; 
	box-sizing: border-box;
}

body, html {
	height: 100%;
	font-family: 'Work Sans', sans-serif !important;
}

a {
    /*color: #999;*/
}
a:hover {
    color: #333;
}

input {
	outline: none;
    border: none;
    border-color:#ccc !important;
}

input[type="submit"],
button {
	outline: none !important;
	border: none;
	background: transparent;
}

input[type="submit"]:hover,
button:hover {
	cursor: pointer;
}

.container {
    padding: 0 !important;
    margin: 0 !important;  
    width: 100%;  
    min-height: 100vh;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background: #fff;
}

.login {
    width: 100%;
    background: #fff;  
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    flex-direction: row-reverse;
}

.login-form {
    width: 420px;
    min-height: 100vh;
    display: block;
    background-color: #fff;
    padding: 50px;
    margin: auto;
    position:relative;
}

.login-form p{
    font-weight:bold;
    padding-top:10px;
}

.welcome-page .login-form {
    min-height:0;
    padding:0 50px;
}

.login-form h1 {
    font-size: 2.5rem;
    line-height: 3rem;
    display: block;
    margin-bottom:0;
}

#selectLanguageForm {
    position: absolute;
    bottom: 5vh;
    width: calc(100% - 100px);
    min-width: calc(100% - 30vw);
    box-sizing: border-box;
}

.login-header {    
    margin: 0 0 10px 0;
    border-bottom: 1px solid #eee;
}

.login-more {
    width: calc(100% - 420px);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: 1;
}

.login-more::before {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    /*background: rgba(0,0,0,0.1);*/
    z-index: 999;
}

.login-form-logo {
    /*width: 66.66%;*/
    max-width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    margin: 0 auto 25px;
}

.login-input {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    width: 100%;
    /*height: 80px;*/
    height: 69px;
    position: relative;
    border-bottom: 1px solid #ccc;
    /*margin-bottom: 10px;*/
    margin-bottom: 3px;
}

.label-input {
    display: block;
    position: absolute;
    pointer-events: none;
    width: 100%;
    left: 0;
    top: 23px;
    color: rgba(0, 0, 0, 0.54);
    padding: 0;
    /*font-size: 1.45rem;*/
    font-size: 1.16rem;
    font-weight: 400;
    line-height: 1;
    text-align: left;
}

.form-input {
    display: block;
    width: 100%;
    background: transparent;
    /*font-size: 2rem;*/
    font-size: 1.6rem;
    color: #555;
    line-height: 1.2;
    padding: 0;
}

input.form-input {
    height: 100%;
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
}

.focus-input {
    position: absolute;
    display: block;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    top: -1px;
    left: -1px;
    pointer-events: none;
    border-bottom: 2px solid #333;
    visibility: hidden;
    opacity: 0;
    /*-webkit-transition: left 0.28s ease, width 0.28s ease;
    -o-transition: left 0.28s ease, width 0.28s ease;
    -moz-transition: left 0.28s ease, width 0.28s ease;
    transition: left 0.28s ease, width 0.28s ease;*/
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
    /*-webkit-transform: scaleX(1.1) scaleY(1.3);
    -moz-transform: scaleX(1.1) scaleY(1.3);
    -ms-transform: scaleX(1.1) scaleY(1.3);
    -o-transform: scaleX(1.1) scaleY(1.3);
    transform: scaleX(1.1) scaleY(1.3);*/
}

.form-input:focus + .focus-input {
    visibility: visible;
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
}


.form-input:focus {
    /*height: 40px;*/
    height: 34px;
}

/*.form-input:focus + .focus-input + .label-input {
    top: 14px;
    font-size: 13px;
}*/

.text {
    /*height: 40px !important;*/
    height: 34px !important;
}

.combo {
    height: 34px !important;
    border: none;
    padding-left: 0;
    padding-right: 0;
    margin-left: -4px;
    margin-right: -4px;
    width:102%;
}

/*.text + .focus-input + .label-input {
    top: 14px;
    font-size: 13px;
}*/

.login-info {
    margin: 22px 0 0 0;
    display:flex;
}

.login-checkbox {    
    width: 57%;
}
.login-forgot {
    width: 43%;
    text-align:right;
}

.login-forgot a{
    font-size: 1.16rem;
    display: inherit;
    line-height: 1.8rem;
}

.form-checkbox {
    display: none;
}

.label-checkbox {
    font-weight: normal;
    /*font-size: 1.45rem;*/
    font-size: 1.16rem;
    color: rgba(0, 0, 0, 0.54);
    line-height: 1.6;
    display: block;
    position: relative;
    padding-left: 26px;
    cursor: pointer;
    overflow: hidden;
}

.label-checkbox::before {
    content: "\2705";
    filter: grayscale(100%);
    font-size: 20px;
    color: transparent;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    width: 18px;
    height: 18px;
    overflow: hidden;
    border-radius: 2px;
    background: #fff;
    border: 1px solid #ccc;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

.form-checkbox:checked + .label-checkbox::before {
  /*color: #3c6;*/
    color: #555;
}

.container-form-btn {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.login-form-btn,
.boton {
    /*font-size: 1.85rem;*/
    font-size: 1.48rem;
    color: #555;
    line-height: 2.75;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
    margin: 18px 0 0;
    min-width: 100%;
    min-height: 40px;
    border-radius: 5px;
    border: 1px solid #ccc !important;
    text-transform: uppercase;
    background: #fff;
    position: relative;
    z-index: 1;
    -webkit-transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
    -o-transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
    -moz-transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
    transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

.login-form-btn:hover, 
.login-form-btn:focus,
.boton:hover,
.boton:focus {
    background-color: rgba(0,0,0,.08);
}

.welcome-page,
.error-page,
.grants{
    margin: 10vh auto;
    width: 50%;    
}

.welcome-page,
.error-page {
    text-align:center;
}

.welcome-page .boton {
    width:120px !important;
}

.error-page .page-header{
    margin:0;
    border:none;
}

.error-page h1 {
    background:url('../img/ErrorPage.png') no-repeat center top;
    background-size:100px 100px;
    height:140px;
    padding-top:115px;
}

.error-info {
    font-size:20px;
    color:#333;
}

.error-des {
    margin:5px 0 0;
    color:#555;
}

/*Cuando la imagen de background no exsite*/
.no-image .login-form {
    margin: auto;
    /*padding-top: 30vh;*/
}

.no-image .login-form-logo {
    /*width: 66.66%;
    width: 100%;*/
    margin-bottom: 10px;
}

.no-image .login-more {
    display: none;
}

/* Error-validación */
.alert {
    margin-top:20px;
    margin-bottom:0;
}

.alert-danger {
    color:#c00;
    border:none;
    background:none;
    padding:0;
    text-align:left;
}

.alert-success {
    color: #390;
    border: none;
    background: none;
    padding: 0;
    text-align: left;
}

.alert ul {
    list-style:none;
}
.alert ul li{
    padding:5px 0;
}

/* Logout */
.navbar-header {
    width:100%;
}
.logout {
    float: right;
    font-size: 14px;
    color: #999;
    line-height: 1.2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 20px;
    margin: 15px 0;
    border-radius: 5px;
    border: 1px solid #ccc !important;
    text-transform: uppercase;    
    position: relative;
    z-index: 1;
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
}

.logout:hover,
.logout:focus {
    color: #fff;
    background-color: #bbb;
    border: 1px solid #bbb !important;
    text-decoration: none;
}

img.icon {
    max-height:68px;
}

/* Welcome to Identity */
.page-header {
    margin-top: -10vh !important;
}

h1.welcome img {
    margin: 0 auto 5vh;
    max-width:420px;
}

h1.welcome span {
    display:block;
    /*text-align:left;*/
}

a.enlace {
    font-weight:300;    
}

.grants .alert {
    position:static;
    text-align:center;
}


/* Navbar header */
.navbar {
    background: #fafafa;
    border-color: #fafafa;
    box-shadow: 0px 2px 4px -1px rgba(0,0,0,0.2), 0px 4px 5px 0px rgba(0,0,0,0.14), 0px 1px 10px 0px rgba(0,0,0,0.12);
}
.navbar-header .icon {
    padding: 10px 0 8px;
    -webkit-filter: drop-shadow(0 0 1px #fff);
    filter: drop-shadow(0 0 1px #fff);
    box-sizing: border-box;
    /*max-height: 58px;
    padding: 5px;
    background: #fff;
    margin: 5px 0;
    */
}

@media (max-width: 1023px) {
    .login-form {
        width: 75%;
        max-width: 420px;
        margin: auto;
        padding-left: 6vw;
        padding-right: 6vw;
    }

    #selectLanguageForm {
        width: calc(100% - 15vw);
    }

    /*.no-image .login-form {
        padding-top: 10vh;
    }*/

    .login-more {
        display: none;
    }

    .welcome-page,
    .error-page,
    .grants {
        width: 75%;
    }

    .container > .navbar-header,
    .container-fluid > .navbar-header,
    .container > .navbar-collapse,
    .container-fluid > .navbar-collapse {
        margin: 0;
    }

    .navbar-header .icon {
        max-width: 66.66%;
        padding: 10px 0;
    }

    .row {
        margin-right: 15px;
        margin-left: 15px;
    }
}

@media (max-width: 767px) {
    .login-form {
        width: 100%;
        padding:7vh 15vw;        
    }

    #selectLanguageForm {
        width: calc(100% - 30vw);
    }

    .login-form-logo {
        /*width: 100%;*/
        margin-bottom: 25px;
    }

    .login-more {
        display: none;
    }
}

@media (max-width: 576px) {
    .welcome-page,
    .error-page,
    .grants {
        width: 90%;
    }
    .login-form h1 {
        font-size: 2rem;
    }

    h1 .welcome img {
        max-width:100%;
    }
}

@media (max-height: 800px) {
  .login-form {
    /*padding-top: 15vh !important;*/
  }
}

@media (min-height: 800px) and (max-width: 560px) {
    .login-form {
        /*padding-top: 15vh !important;*/
    }
}

@media (max-height: 567px) {
    #selectLanguageForm {
        position: static;
        width: 100%;
    }
}
