 ::-moz-selection {
    background: #7bca14;
  }
  ::selection {
    background: #7bca14;
  }
  ::-webkit-selection {
    background: #7bca14;
  }
  ::-moz-selection {
    background: #7bca14;
  }
  body.b-logueo{
    background: url(/assets/bg-ebb397bc50d924a014992f17828b00230f0c9bd8ab80b68e8051eef5cf273e90.jpg) no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
    font-family: Trebuchet MS,Trebuchet MS,sans-serif;
    margin: 0;
  }
  
  #logo{
    width: 100%;
    z-index: 99;
  }
  #logo img{
    display: block;
    margin: 0 auto;
    padding-top:  40px;
    padding-bottom: 72px;
  }
  
  @media (max-width: 767px) {
    #logo img{
      padding-bottom: 50px;   
    }
  }
  
  .page {
    display: flex;
    flex-direction: column;
    height: 100%;
    place-content: center;
    width: 100%;
  }
  .espacio{
    margin-top:  250px;
  }
  
  @media (max-width: 767px) {
    .page {
      height: auto;
      margin-bottom: 20px;
      padding-bottom: 20px;
    }
  }
  .container-reg, .container-log, .container-respass{
    display: flex;
    margin: 0 auto;
  }
  .container-respass{
    width: 670px;
    height: 400px;
  }
  .container-reg{
    width: 700px;
    height: 760px;
  }
  .container-log {
    height: 480px;
    width: 640px;
  }
  @media (max-width: 767px) {
    .container-log {
      flex-direction: column;
      height: 630px;
      width: 384px;
    }
    .container-reg {
        flex-direction: column;
        height: 760px;
        width: 400px;
    }
    .container-reg .right{
      max-height: unset !important;
    }
    .container-respass {
        flex-direction: column;
        height: 400px;
        width: 384px;
    }
  }
  .left {
    background: white;
    height: calc(100% - 40px);
    top: 20px;
    position: relative;
    width: 50%;
  }
  @media (max-width: 767px) {
    .left {
      height: 100%;
      left: 20px;
      width: calc(100% - 40px);
      max-height: 245px;
    }
  
    .login {
      margin: 40px 40px 80px !important;
    }
    .ttl-res-pass{
        margin: 40px 40px 90px !important;
    }
  }
  .login , .ttl-res-pass{
    font-size: 45px;
    font-weight: 900;
    margin: 50px 40px 40px;
    line-height: 44px;
  }
  .eula {
    color: #999;
    font-size: 14px;
    line-height: 1.5;
    margin: 40px;
  
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .right {
    background: #042b48;
    box-shadow: 0px 0px 40px 16px rgba(0,0,0,0.22);
    color: #F1F1F2;
    position: relative;
    /*width: 54%;*/
    width: 74%;
  
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 0px;
  }
  @media (max-width: 767px) {
    .right {
      flex-shrink: 0;
      height: 100%;
      width: 100%;
      max-height: 400px;
    }
  
    #registro{
      max-height: none !important; 
    }
  }
  .form {
    width: 100%;
    padding: 20px  45px;
    /*position: absolute;*/
  }
  label {
    color:  #e1e1e3;
    display: inline-block;
    font-size: 14px;
    height: 16px;
    margin-top: 20px;
    margin-bottom: 5px;
  }
  .lab-white, label.email.required{
    color:  #e1e1e3 !important;
  }
  input {
    background: transparent;
    border: 0;
    color: #f2f2f2;
    font-size: 20px;
    height: 30px;
    line-height: 30px;
    outline: none !important;
    width: 100%;
  }
  input::-moz-focus-inner { 
    border: 0; 
  }
  #submit,  #submit-registro, #submit-reco{
    color: #fff;
    /*margin-top: 40px;*/
    transition: color 300ms;
    background: #7bca14;
    width: 95%;
    margin: 0 auto;
    display: block;
    height: 50px;
    border-radius: 25px;
    cursor: pointer;
    margin-top: 15px;
  }
  #submit:focus {
    color: #f2f2f2;
  }
  #submit:active {
    color: #d0d0d2;
  }
  
  .submit-bcg{
    margin-top:  20px;
  }
  .submit-bcg a{
    display: block;
    text-align: center;
    color: #fff;
    margin-top: 5px;
    font-size: 12px;
  }
  
  #submit-reco{
    width: auto !important;
  }
  .keep-sesion{   text-align: center; padding-top: 10px;   }
  .keep-sesion input, .keep-sesion label{
    display: inline;
    vertical-align: middle;
  }
  .keep-sesion input[type="checkbox"]{
    width: auto;
  }

  /*Formulario de recuperacion de contrasena*/
  .form-reco-pass{
    display: none;
  }
  
  /* Campos */
  input[type="text"],input[type="email"],input[type="password"], input[type="tel"]{
    border-bottom: 1px solid white;
    opacity: 0.8;
  }
  input[type="text"]:focus,input[type="email"]:focus,input[type="password"]:focus, input[type="tel"]:focus{
    opacity: 1;
    border-bottom: 2px solid white; 
  }
  
  /*Recaptcha*/
  .recaptcha{
    margin-top: 25px;
  }

  
  #btn-login{
    display: none;
  }
  /*Ancho Registro*/
  .ancho{
    width: 800px;
  }
  
  /*Creditos*/
  .by{
    color: #fff;
    font-size: 13px;
    position: fixed;
    bottom: 5px;
    right: 10px;
  }
  
  @media (max-width: 1080px) {
    .by{
      position: static;
      text-align: right;
      padding-right: 5px;
      padding-bottom: 5px;
    }
  }

.min_pass_length{
    display: inline-block;
    font-size: 11px;
}

/*Notificaciones devise*/
.devise-notifi p, .notice{
    color: #fff;
    text-align: center;
}
.devise-notifi .alert, .devise-notifi .notice, .devise-notifi .recaptcha_error{
  display: inline-block;
  background-color:purple;
  text-align: center;
  margin-top: 40px;
  padding: 10px 20px;
}
.devise-notifi .col{
  text-align: center;
}


/*Panel Permisos*/
.panel-permisos{
  margin-top: 40px;
  margin-bottom: 30px;
}
.panel-permisos input[type=checkbox] {
  width: auto;
}
.panel-permisos label, .panel-permisos input[type=checkbox] { 
  display: inline;
  vertical-align: middle;
}
/*Errores en el registro*/
.container-reg #error_explanation{
    margin-top: 15px;
}
.container-reg #error_explanation h2, .container-reg #error_explanation > ul > li{
    font-size: 14px;
}


/*Inicio de sesion*/
#cont-pass{
  color: #fff !important;
  position: relative;
}

#show-pass{
  position: absolute;
  top: 0px;
  right: 10px;
  cursor: pointer;
  font-size: 16px;
}

#show-pass:active, .btn-active{
  color: #7bca14
}
