*{
    box-sizing: border-box;
}
html{
    font-family: 'Titillium Web', sans-serif;
    background-color: #002337;
    padding: 0;
    color: #ffffff;
    font-size: 75%;
}
body{
    padding: 0;
    font-size: 1.2rem;
}

a{
    color: #BEC3C8;
    outline: none;
    text-decoration: none;
    font-size: 1.1rem;
}
a:hover{
    text-decoration: underline;
}

/**
-------------------------
    SOCIAL
-------------------------
*/
.flx-social-section{
    border-bottom: 1px solid #3F4E55;
}
.flx-social-link-item{
    list-style: none;
    margin-bottom: 1rem;
}
.flx-social-link-item:last-child {
    margin-bottom: 0;
}
.flx-social-list{
    padding:0
}
.flx-social-link{
}
/**
-------------------------
    FORM
-------------------------
*/
input{
    color: #002337;
}

#show-kc-form-login {
    display: none;
    margin: 2rem 0;
}
.flx-input[aria-invalid="true"]{
    border: 2px solid #BB1818;
}

.flx-label{
    display: inline-block;
    width: 100%;
    margin-bottom: 5px;
    font-weight: 700;
}
.flx-input{
     border: none;
    background-color: #e4edf4;
    color:#002337;
    padding: 0.8rem 1rem;
    border-radius: .4rem;
    font-size: 1.8rem;
    display: block;
    width: 100%;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.flx-input:focus{
    border-color: #ff8512;
    outline: 0;
    box-shadow: 0 0 4px #ff8512;
}

.flx-form-group{
    margin:2rem 0;
}
.flx-reset-pwd{
    text-align:right;
    margin: 1rem 0;
}

/**
-------------------------
    BOUTONS
-------------------------
*/
.btn{
    border-radius: .5rem;
    border: none;
    outline:none;
    background-image: none;
    font-size: 1.5em;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    touch-action: manipulation;
    user-select: none;
    text-decoration: none;
    color: #80858a;
}
.btn:hover{
    outline:none;
    text-decoration: none;
}
.btn[readonly], .btn:disabled{
    background-color:#BEC3C8;
    cursor: not-allowed;
}
.btn-s{
    width:100%;
    padding: 0.8rem 1rem 0.6rem;
    font-weight:400;
    font-size: 1.3rem;
}
.btn-lg{
    width:100%;
    padding: 0.8rem 1rem 0.6rem;
}
.btn:active:focus:enabled,
.btn:hover:enabled, .btn:active:enabled {
    text-decoration: none;
    border:none;
    outline:none;
    box-shadow: none;
    transition: transform .3s ease;
    transform:scale(1.01)
}
.btn-default{
    background-color: #BEC3C8;
    color: #3F4E55;
}
.btn-default:active:focus:enabled,
.btn-default:hover:enabled, .btn-default:active:enabled {
    background-color: #BEC3C8;
    color: #3F4E55;
}
.btn-primary,
.btn-primary:active:enabled,.btn-primary:focus:enabled,
.btn-primary:hover:enabled, .btn-primary:visited:enabled,
.btn-primary:active:hover:enabled, .btn-primary.active:hover:enabled, .open .dropdown-toggle.btn-primary:hover, .btn-primary:active:focus:enabled, .btn-primary.active:focus, .open .dropdown-toggle.btn-primary:focus, .btn-primary:active.focus, .btn-primary.active.focus, .open .dropdown-toggle.btn-primary.focus{
    background-color: #ff8512;
    color: #002337;
}

.btn-secondary,
.btn-secondary:active,.btn-secondary:focus,
.btn-secondary:hover:enabled, .btn-secondary:visited,
.btn-secondary:active:hover, .btn-secondary.active:hover,
.btn-secondary:active:focus, .btn-secondary.active:focus,
.btn-secondary:active.focus, .btn-secondary.active.focus{
    background-color: #BEC3C8;
    color: #002337;
}
.btn-info,
.btn-info:active,.btn-info:focus,
.btn-info:hover:enabled, .btn-info:visited,
.btn-info:active:hover, .btn-info.active:hover,
.btn-info:active:focus, .btn-info.active:focus,
.btn-info:active.focus, .btn-info.active.focus{
    background-color: #3F4E55;
    color: #BEC3C8;
}

/**
-------------------------
    LOCALE
-------------------------
*/
#kc-locale {
    position: absolute;
   /* width: 200px;*/
    top: 1.2rem;
    right: 20px;
    text-align: right;
    z-index: 9999;
}
.flx-dropdown{
    position: relative;
}
.flx-dropdown-selected{
    display: block;
}
.open .flx-dropdown-selected{
    background: hsl(209 25% 30% / 1);
}
.flx-dropdown-selected:hover{
    cursor:pointer;
    display:inline-block;
    text-decoration: none;
}
.flx-dropdown-list{
    display:none;
    background: hsl(209 25% 30% / 1);
    list-style: none;
    position: absolute;
    top: 11px;
}
.flx-dropdown-list,
.flx-dropdown-selected{
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 0.4rem;
    padding: 0.1rem 1rem;
}
.open .flx-dropdown-list{
    display:block
}
.flx-dropdown-list-item a {
    color: #BEC3C8;
}

/**
-------------------------
    CARDS
-------------------------
*/
.flx-card,.instruction,#kc-totp-settings {
    padding: 1rem;
    padding-left: 14px;
    margin: 1rem;
    font-size: 1.3rem;
    border-width: 2px;
    border-radius: 0.8rem;
    color: #ffffff;
    text-align: left;
    font-weight: 600;
    display:block;
}
.instruction, #kc-totp-settings {
  border-color: #3F4E55;
  background-color:#3F4E55;
}
.flx-card-title {
    padding-left: 1rem;
}
.flx-card-icon{
    display: inline-block;
    font-size: 2rem;
}
.alert-error, .alert-danger {
    border-color: #BB1818;
    background-color:#BB1818;
}
.alert-success{
    border-color: #61A93F;
    background-color:#61A93F;
}
.alert-warning {
    background-color: #EE7203;
    border-color: #EE7203;
}
.alert-info {
    background-color: #60A5DB;
    border-color: #60A5DB;
}
.alert-info hr, .alert-warning hr, .alert-success hr,.alert-error hr, .alert-danger hr  {
  border-top-color: #ffffff;
}

/**
-------------------------
    TEMPLATE
-------------------------
*/
@keyframes fadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}

#kc-content{
    margin: 2rem 0;
}

#kc-content-wrapper,
.flx-wrapper{
    max-width: 50rem;
    width: 100%;
    min-width:20rem;
    margin: 0 auto;
}

#kc-header {
    margin: 0;
}
#kc-header-wrapper {
    padding: 20px 0 0 0;
    color: white;
}

#flexio-logo{
    background-image: url('../img/logo_flexio.svg');
    background-position: center;
    background-size: contain;
    background-repeat:no-repeat;
    height: 4rem;
    margin: 2.5rem auto 1rem;
    width: auto;
}

#client-logo{
    width: 100%;
    height: 8rem;
    max-height: 6rem;
    display: block;
    margin: 0 auto 2rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    animation: 1s ease-in 0.5s backwards fadeIn;
}
#kc-page-title {
    text-align:center;
    display: inline-block;
    padding: 0;
    color: #BEC3C8;
    margin: 1rem auto 0;
    font-size:1.6rem;
    vertical-align: middle;
    width: 100%;
    font-weight: bold;
}

#kc-totp-settings{
    padding:1rem 3rem;
}

#flx-SSO-add{
    margin-top:3rem;
}
#flx-SSO-add a:hover{
    text-decoration:underline;
}

#flx-customTitle{
    display:none;
}
