:root {
    --pf-global--link--Color: #cc0000;
    --pf-global--link--Color--hover: #7f0000;
    --pf-global--link--Color--light: #f7747f;
    --pf-global--link--Color--light--hover: #f22b3c;
    --pf-global--link--Color--dark: #cc0000;
    --pf-global--link--Color--dark--hover: #7f0000;
    --pf-global--active-color--100: #cc0000;
    --pf-global--active-color--200: #f4bec7;
    --pf-global--active-color--300: #f7747f;
    --pf-global--active-color--400: #f22b3c;
    --pf-global--primary-color--100: #cc0000;
    --pf-global--primary-color--200: #7f0000;
    --pf-global--primary-color--light-100: #f7747f;
    --pf-global--primary-color--dark-100: #cc0000;
    background: white;
}

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

.login-pf #kc-header-wrapper {
    padding: 5px 10px 0px;
}

.login-pf .info {
    color: #72767b;
}

/*** --------------------  Customization ------------------------- ***/  

/******* FONTS DECLARATION ********/

@font-face {
    font-family: "OpenSansCondensed";
    src: url('../fonts/OpenSans_Condensed-Bold.ttf');
    font-weight: 800;
  }

@font-face {
    font-family: "OpenSansCondensed";
    src: url('../fonts/OpenSans_Condensed-Regular.ttf');
    font-weight: 400;
}

@font-face {
    font-family: "OpenSansCondensed";
    src: url('../fonts/OpenSans_Condensed-SemiBold.ttf');
    font-weight:600;
 }

/* Body */

.login-pf body {
    background: white;
    position: relative;
    font-family: "OpenSansCondensed";
    background-image: linear-gradient(0deg, #fff 65%,#f9f9f9 35%);
}
 

.login-pf-page {
    padding-top:35px;
    min-height:100%;
    background-image: url('../img/top-bg.png'), url('../img/bottom-bg.png');
    background-repeat: no-repeat, no-repeat;
    background-position: top left, bottom right;
}

.login-pf .logo {
    background-image: url('../img/logo.svg');
    background-repeat: no-repeat;
    background-position: center center;
    width: 143px;
    height: 102px;
    margin-bottom: 5rem;
}

/* Heading */

h1{
    margin:0;
}

#kc-page-title {
    font-size: 35px;
    font-weight: 600;
    color:#d52120;
    text-align: center;
    margin: 0 0 50px 0;
}

.logo-place{
    margin-left:370px;
}

@media (max-width: 768px){
    .logo-place{
        margin-left:auto;
    }
}

/* Delimitation Container */

.containing {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 1200px){
    .containing {
        width: 1170px!important;
    }
}

@media (min-width: 992px){
    .containing {
        width: 970px!important;
    }
}

@media (min-width: 768px){
    .containing {
        width: 750px;
    }
}

/*Card*/

h2.out-card{
    position: absolute;
    top: -85px;
    left: 0;
    width: 100%;
}
 
.login-pf .card-pf {
    margin-bottom: 20px !important;
    position: relative;
    border-radius: 5px;
    border:1px solid #fff;
    box-shadow: 0 2px 23px 0 #e4e6e9;
    background-color: #fff;
    max-width: 715px;
    padding: 3rem;
}

.pf-c-form__label-text{
    font-size: 20px;
    font-weight: 600;
    color: #502b1e;
    margin-bottom: 10px;
}

.form-group.last{
    margin-bottom:15px;
}

#kc-form-buttons{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#kc-form-buttons .pf-c-button.pf-m-block,
#kc-form-buttons .pf-c-button.pf-m-primary {
    background-color: #d52120;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    width:auto;
    font-family: "OpenSansCondensed" !important;
    border-radius: 20px;
    padding: 10px 25px;
}

#kc-form-buttons .pf-c-button.btn-default{
    border-color: #bbb;
    background-color: #f1f1f1;
    color: #4d5258;
    width:auto;
    font-family: "OpenSansCondensed" !important;
    border-radius: 20px;
    padding: 10px 25px;
    font-size: 15px;
    font-weight: 600;
}


.form-group .pf-c-form-control, .pf-c-form-control:hover, .pf-c-form-control:focus{
    height: 55px;
    font-family: "OpenSansCondensed" !important;
    font-size: 18px;
    color: #868686 !important;
    border-radius: 5px;
    border: solid 1px #e7e7e7;
    background-color: #fff !important;
}

.pf-c-form-control:focus{
    font-family: "OpenSansCondensed";
    outline-color: #d52120;
}


input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active{
    font-family: "OpenSansCondensed";
    box-shadow: 0 0 0 30px white inset !important;
    -webkit-box-shadow: 0 0 0 30px white inset !important;
}

.login-pf a {
    color: #d52120;
    font-size:16px;
}

.login-pf a:hover {
    color: #d30031;
}

#kc-info-wrapper, #kc-content{
    background: none;
    font-size: 16px;
}

#kc-content{
    margin-top: 0;
}

.mentions {
    position: absolute;
    bottom: -45px;
    width: auto;
    font-size: 16px;
    color: #868686;
}

.footer {
    padding: 90px 0;
}

.footer ul.menu {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.footer ul.menu li{
    font-size: 20px;
    font-weight: bold;
    flex: auto;
    text-align: center;
}

.footer ul.menu li a{
    font-size: 20px;
    font-weight: bold;
    color: #000000;
}

@media (max-width: 768px){

    #kc-header-wrapper{
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .login-pf .logo {
        margin-bottom: 0;
    }
    .login-pf-page{
        background-size: 40%,40%;
    }

    .login-pf .card-pf{
        margin: 0 15px;
    }

    .footer {
        padding: 40px 0 90px 0;
    }

    .footer ul.menu{
        display: flex;
        flex-direction: column!important;
    }
}

/* Error message */

.alert-error {
    font-family: "OpenSansCondensed";
}

.pf-c-alert{
    margin-bottom: 30px!important;
    font-family: "OpenSansCondensed";
    font-size: 16px;
}

.pf-c-alert .pf-c-alert__title{
    font-size: 16px;
}

/*Buttons list rset password */
.password-reset-btns{
    display:flex;
    flex-direction: row!important;
    justify-content:center;
    align-items: center;
}

.password-reset-btns .pf-c-button:first-child{
    margin-right:3rem;
}

/*Checkbox align */
.checkbox.terms-check label {
    display:flex;
    flex-direction: row;
    align-items: center;
}

.checkbox.terms-check label input{
    margin-bottom: 5px;
}