@import url("//fonts.googleapis.com/css?family=Noto+Sans:400,700,400italic,700italic,700bold&subset=latin,latin-ext");

@font-face {
    font-family: 'Id3 Icons';
    src: url(../lib/id3/fonts/ICONS.ttf) format('truetype'), url(../lib/id3/fonts/ICONS.woff2) format("woff");
}

.login-pf body, body {
    background: #ffffff;
}

.id3-icons {
    font-family: 'Id3 Icons';
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
}

[class^="icon-"]:before, [class*=" icon-"]:before {
    font-family: 'Id3 Icons';
    font-style: normal;
    font-size: 20px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    speak: none;
}

/* reset patternfly styles to get a clean canvas */

.login-pf {
    background: none;
}
.card-pf {
    box-shadow: unset;
    margin: unset;
    border-top: unset;
    padding: unset;
}

.login-pf-page .card-pf {
    padding: unset;
    margin-bottom: unset;
}

.login-pf-page .btn-primary {
    margin: unset;
}

.login-pf-page .login-pf-header {
    flex-direction: unset;
}

.login-pf-page .login-pf-header h1 {
    text-align: unset;
}

p {
    margin: unset;
}

.alert {
    border: unset;
    padding:unset;
    position: unset;
    margin: unset;
    border-radius: unset;
}

.alert-error {
   background-color: unset;
}

.alert-success {
    background-color: unset;
}

.alert-info {
    background-color: unset;
}

.btn {
    border-color: unset;
}

.form-horizontal .form-group {
    margin-left: unset;
    margin-right: unset;
}

.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
    padding-right: unset;
    padding-left: unset;
}

@media (min-width: 768px) {
    .login-pf-page .card-pf {
        padding: unset;
    }
    .login-pf-page .login-pf-header {
        margin-bottom: unset;
    }
}

@media (max-width: 480px) {
}
/* end reset */

/* General layout */

.main-section, .login-pf body, body {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.card-pf {
    flex-grow: 1;
}

footer {
    padding: 0px 17px;
    height: 50px;
    box-shadow: inset 0 2px 0 0 #ff0037;
    display: flex;
    align-items: center;
    color: #757575;
}

header {
    padding: 0px 7px;
    height: 90px;
    box-shadow: inset 0 -2px 0 0 #ff0037;
    display: flex;
    align-items: center;
}

#kc-content {
    padding: 0px 18px 0px 22px;
}

.login-pf-page .login-pf-header {
    margin-bottom: 23px;
}

.login-pf-page .form-control {
    height: 44px;
}

.form-control, .form-control:hover, .form-control:focus {
    border-width: 1px;
    border-radius: 2px;
    box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.2), inset 0 0 0 0.5px rgba(0, 0, 0, 0.2), inset 0 0 0 1px #f2f2f2;
}

.form-control:hover, .form-control:focus{
    border-color: #e4e5e3;
}

.form-group.login-pf-settings {
    margin-bottom: 33px;
    font-size: 10px;
}

a {
    color: #ff0037;
}

a:focus, a:hover {
    color: #ff0037;
    text-decoration: none;
}

.show-hide-password {
    width: fit-content;
    float: right;
    color: #717171;
}

.show-hide-password  > a {
    color: #717171;
}

.btn-primary {
    height: 42px;
    background-color: #ff0037;
    color: #ffffff;
    background-image:none;
    width: 100%;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active:focus,
.btn-primary:active {
    border-color: #ff0037;
    background-color: #ff0037;
}

.btn-primary:disabled {
    background-color: #ff0037;
    color: #ffffff;
    opacity: 0.25;
}

.btn-primary:focus {
    outline: 0px;
}

.btn:disabled {
    background-color: rgb(122,167,188);
    border-color: rgb(122,167,188);
    background-image: none;
    color: #ffffff;
}

.subtitle {
    display: none;
}

input:active {
    transform: scale(0.98);
}
input:focus {
    outline: 0px;
}

.backToLogin {
    font-size: 15px;
    text-decoration: underline;
    color: #777;
}

.login-pf-page {
    padding-top: 0px;
}

.alert-error {
    text-align: left;
    padding: 5px;
    color: #ff0037;
}

.alert-success {
    color: #48790a;
}

.alert-info {
    color: #44bbff;
}

.alert {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 14px;
}

.alert > .type {
    display: none;
}
/* fonts */
body {
    font-family:'Noto Sans';
    font-size: 12px;
    color: #727272;
}

label {
    font-size: 12px;
    font-weight: bold;
    color: #717171;
}

.form-control {
    font-size: 14px;
    line-height: 1.57;
    
}

.form-control::placeholder {
    color: #b6b6b6;
}

.h3, h3 {
    font-size: 28px;
    margin-bottom: 17;
}

.btn {
    font-size: 15px;
}

label {
    margin-bottom: 12px;
}

/* end general layout */

/* login */
.welcome > h1 {
    font-family: Arial;
    font-size: 30px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #ff0037;
    margin-top: 0px;
    margin-bottom: 8px;
}

.welcome > h2 {
    padding: 0px 17px 0px 0px;
    font-family: Arial;
    font-size: 18px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #000;
    margin-top: 0px;
    margin-bottom: 38px;
}
.login .alert {
    margin-top: -30px;
    margin-bottom: -17px;
}

.login .alert-error {
    margin-top: 0px;
    margin-bottom: 0px;
}
/* end login */

/* forgot password */
#kc-reset-password-form .form-group {
    grid-area: input;
}

#kc-reset-password-form .form-group.login-pf-settings {
    grid-area: submit;
}

#kc-reset-password-form #kc-form-options {
    grid-area: cancel;
    margin-bottom: 33px;
}

#kc-reset-password-form {
    display: grid;
    align-items: center;
    grid-column-gap: 20px;
    grid-template-areas: "input input input input"
                         ". . cancel submit";
}

#download-app-info {
    text-align: center;
    margin-bottom: 8px;
}

#app-download-links {
    display: flex;
    padding: 10px;
}

#app-download-links a {
    padding: 10px;
}

.login-reset-password  #kc-info {
    display: none;
}

.pf-c-form__helper-text.pf-m-error {
    color: #ff0037;
    font-size: 14px;
    display: none;
    padding-top: 5px;
}

.form-control.input-error,
.form-control.input-error:focus,
.form-control.input-error:hover {
    border-color: #a94442;
}

/* end forgot password */

/* password update */

.login-passwd-update  .alert-warning {
    display: none;
}

.login-passwd-update .form-horizontal > .form-group:nth-last-child(2) {
    margin-bottom: 33px;
}

.login-passwd-update .alert {
    margin-bottom: 20px;
}
/* end pasword update */

/* Tablet/desktop */

@media (min-width:481px)  {
    /* General layout */
    .login-pf-page .login-pf-header {
        margin-bottom: 89px;
    }
    .login #kc-content {
        padding: 0px 103px 0px 79px;
       max-width: unset;
    }
    .welcome {
        max-width: 600px;
    }

    #kc-content {
        max-width: 340px;
        margin: auto;
    }

    .welcome {
        grid-area: subsection;
    }

    #kc-form {
        min-width: 340px;
        grid-area: form;
    }

    .welcome > h1 {
        font-size: 50px;
    }

    .welcome > h2 {
        font-size: 40px;
    }

    .alert {
        grid-area: form;
    }

    #sub-section {
        grid-area: subsection;
    }
    
    .form-horizontal {
        grid-area: form;
    }

    .download-app {
        grid-area: download-app;
    }

    .login #kc-content-wrapper {
        display: grid;
        grid-template-areas: "subsection form" ". form" ". download-app";
        grid-template-columns: 2.5fr 1fr;
    }

    /* end general layout */
 }

 @media (max-width: 900px) and (orientation: landscape) {
    .main-section {
        height: unset;
    }
}

.hidden {
  visibility: hidden;
}
