/* global*/

html, body {
    font-style: normal;
    font-weight: 100;
    background: #F9FAFB !important;
    max-height:100svh !important;
}

html {
    position: relative;
 /*   height: none !important;*/
  }

body{
    margin-bottom:0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F9FAFB !important;
    min-height: 100vh;
}

h1,h2,h3,h4,h5, h5 {
    margin: 0;
}

p {
    margin-top:20px !important;
    margin-bottom:0; 
}

a, a:hover{
    font-size: 16px;
    text-decoration: underline;
    font-weight: 500;
}

hr{
    border-top: 1px solid #d1d1d1 !important;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

/* cabeçalho da página */

.idcarioca-header{
    padding: 40px 37px 0px 37px;
}

h2{
    color: #0066cc !important;
    text-align: center;
    font-weight: 400;
    font-size: 16px;
    margin-top: 10px !important;
}

.idcarioca-content{
    padding: 0px 37px 0px 37px;
}

/* estrutura da página*/


.box{
    border-radius: 20px;
    /* box-shadow: 0px 2px 7px 0 rgba(1, 72, 92, 0.38); */
    background-color: #F9FAFB !important;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}

.mt-35{
    margin-top:35px !important;
    margin-bottom:0px !important;
}

.mt-20{
    margin-top:20px !important;
    margin-bottom:0px !important;
}

.mt-40{
    margin-top:40px !important;
    margin-bottom:0px !important;
}

.mt-50{
    margin-top:50px !important;
    margin-bottom:0px !important;
}


.mt-60{
    margin-top: 60px !important;
    margin-bottom:0px !important;
}

.mb-10{
    margin-bottom: 10px !important;
}

.mb-20{
    margin-bottom: 20px !important;
}

.mb-30{
    margin-bottom: 30px !important;
}
/* rodape*/

  .footer {
    display: none !important;
  }
  

  .footer p{
    text-align:center;
    font-size:14px;
    color:#fff;
    margin-top:5px !important;
  }
  
/* estilo de títulos*/

h1,h2,h3,h4,h5,h5 {
    font-stretch: normal;
    font-style: normal;
    line-height: 1.59;
    letter-spacing: 0.46px;
    color: #0066cc;
}

h1{
    font-size: 23px;
    font-weight: 500;
}


/* estilo de texto*/

p {
    font-size: 16.5px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.39;
    letter-spacing: normal;
    text-align: left;
    color: #7b7b7b;   
}



/* formulario */


.btn{
    box-shadow: none;
}

.btn-primary, .btn-primary:hover, .btn-primary:active{
    height: 52px !important;
    border-radius: 4px !important;
    font-size:19.5px;
    border:none;
    background-color: #0066cc !important;
    background-image: none;
    color:#fff;
    line-height: 2em;
}

.btn-default, .btn-default:hover, .btn-default:active{
    height: 52px !important;
    border-radius: 4px !important;
    font-size:19.5px;
 /*   text-transform: uppercase;*/
    background-color: #f1f1f1 !important;
    background-image: none;
    color:#7b7b7b;
    line-height: 2em;
}

.btn-link, .btn-link:hover, .btn-link:active{
    text-decoration: none;
    text-transform: none !important; 
    color:#fff !important;
}

.form-group label{
    font-size: 16.5px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 2.21;
    letter-spacing: normal;
    text-align: left;
    color: #7b7b7b;
    margin-top:0px;
    margin-bottom:0px;
}

.form-group input[type="text"], .form-group input[type="password"] {
    border-radius: 4px;
    box-shadow: none;
    transition: none;
    border: solid 1px #f5f5f5;
    background-color: #f5f5f5;
    height: 52px;
    color: #7b7b7b;
    font-size: 16.5px;
    font-weight: 500;
    padding-left: 20px;
}


.checkbox{
    margin-top:10px;
    margin-bottom:0px;
}

.checkbox input[type="checkbox"]{
    margin-top:10px !important;
}

.btn-ico{
    margin: 0 10px 5px 5px;
}


/* extras - css do keycloak */

.login-pf-page, .login-pf-page .login-pf-page-header{
    margin-bottom: 0px !important;
}

.login-pf-page .card-pf{
    padding:0;
}

.card-pf {
   /* max-width: 960px !important;*/
}

#kc-page-title{
    height: 20px !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    font-stretch: normal !important;
    font-style: normal !important;
    line-height: 1.83 !important;
    letter-spacing: 0.4px !important;
    text-align: center !important;
    color: #0066cc !important;
}

#kc-form-buttons{
    margin-top:20px;
}

#kc-info-wrapper{
    font-size: 16.5px;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.39;
    letter-spacing: normal;
    text-align:center;
    color: #7b7b7b;  
}

#kc-terms-text p{
    font-stretch: normal !important;
    font-style: normal !important;
    line-height: 1.59 !important;
    letter-spacing: 0.46px !important;
    color: #0066cc !important;
    font-size: 23px !important;
    font-weight: 500 !important;
    text-align:center;
}

/* mensagens - kc */

.alert-error{
    border: 2px solid #ff0000;
    border-radius: 6px;
    font-size: 16.5px;
    font-weight: bold;
    color: #ff0000;
}

.instruction{
    text-align: center !important;
    margin-bottom: 40px;
}

.alert-success{
    color: #fff;
    font-size: 16.5px;
    border-radius: 6px;
    font-weight: bold;
    background-color:#50b848;
    border-color: #d6e9c6; 
}

.alert .alert-success{
    margin-bottom: 0px !important;
}


.alert-warning{
    border: 2px solid #ec7a08 !important;
    font-size: 16.5px !important;
    border-radius: 6px !important;
    font-weight: bold !important;  
    color: #ec7a08 !important;
}



.instrucao-box{
    background-color: #0066cc;
    height: 52px;
    width: auto;
    border-radius: 8px;
    margin-bottom: 40px;
}

.instrucao-box a{
    color: #fff;
    font-size: 23px;
    line-height: 2em;
}

.instrucao-box a:hover{
    color:#fff;
}

/*required-actions*/
#verify-email p{
    margin-top:10px !important;
    margin-bottom:20px !important;
}

#verify-email h2, #verify-email h3 {
   font-weight: bold !important;
}

#verify-email .servicos-integrados{
    margin-bottom:70px;
    margin-top:62px;
}

/* social providers*/
.govbr{
    align-items: center;
    /* background-color: none !important; */
    /* border: 2px solid #1351b4; */
    background-color: #EBECF0 !important;
    border-radius: 16px;
    color: white !important;
    cursor: pointer;
    display: inline-flex !important;
    font-size: 16.8px;
    font-weight: 600;
    height: 55px !important;
    justify-content: center;
    /* padding: 0px 24px 0 24px; */
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    width: auto;
    margin-bottom:10px !important;
}


.login-govbr .login-pf-social-link a:hover, .login-govbr .login-pf-social-link a:visited, .login-govbr .login-pf-social-link a:active, .login-govbr .login-pf-social-link a:focus{
    background: transparent !important;
}

.login-govbr .zocial{
    background: #f8f8f8 !important;
    background:none !important;
    background-image:none !important;
    border: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    -moz-box-shadow: none !important;
}

.responsive-login-govbr .col-xs-2, .responsive-login-govbr .col-xs-5  {
    padding-left:0px;
    padding-right:0px;
}

.associarconta{
    margin-bottom: 30px;
}

.associarconta p{
    margin-top: 0px !important; 
    color: #0066cc !important;
    font-weight: 400 !important;
    text-align: center;
    font-size: 18px;
}

.associarconta ul{
    font-size: 16.5px;
    text-align: left;
    margin-bottom:30px;
}

.visible-xg{
    display: none;    
}

.col-govbr{
    margin-top:20px;
}

.info-govbr{
    /* margin-bottom: 40px; */
    margin-top: 50px !important;
}

.precisa-ajuda{
    margin-bottom: 30px;
}

/* media queries*/

/* Custom, iPhone Retina */ 
@media only screen and (min-width : 320px) {

    h1{
        font-size: 20px !important;
        text-align: center !important;
        margin-top: 20px !important;
    }

    #verify-email .servicos-integrados{
        margin-top: 30px !important;
    }

}

/* Extra Small Devices, Phones */ 
@media only screen and (min-width : 480px) {
 
    .footer {
           margin-bottom:20px;
    }

    h1{
        font-size: 20px !important;
        text-align: center !important;
        margin-top: 20px !important;
    }

    #verify-email .servicos-integrados{
        margin-top: 30px !important;
    }

}

@media (max-width : 480px) {
    .servicos-integrados img{
        width:140px;
    }
    .box{
    background-color: #F9FAFB !important;
   }
}


/* Small Devices, Tablets */
@media only screen and (min-width : 768px) {

}

/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {

}

/* Large Devices, Wide Screens */
@media only screen and (min-width : 1200px) {
    .box{
        margin-top: 40px;
    }
}

/* media queries */
@media(max-width:991px) {
    .box{
        width:auto !important;
        margin: 0px;
        max-width: 600px;
    }

    .container-fluid{
        padding:0px;
    }
}

@media(min-width : 320px) and (max-width : 767px) {
    .box{
   /*     border:1px solid red;*/
    }

    .container-fluid {
        padding: 0px;
        margin: 0px;
    }

    .idcarioca-content{
        padding:0px;
    }

    .footer{
        margin-bottom:0px;
    }

    body{
        margin-bottom:0px;
    }

}


@media (max-width: 960px) {
 /*   .col-mt-40{
        margin-top:40px;
    }*/
}

@media (max-width: 767px) {
    #kc-header {
        text-align: center;
    }

    .info-govbr{
    /* margin-bottom: 40px; */
    margin-top: 10px !important;
}

    .login-pf body {
        background: #F9FAFB !important;
    }

}




@media (min-width: 991px) {
    .hidden-xg {
        display: none !important;
    }

    .visible-xg{
        display: inline !important;    
    }

    .col-govbr{
        margin-top: 0px !important;
    }

    .info-govbr{
        margin-bottom: 0px !important;
        /* margin-top: 40px !important; */
    }
    
    .precisa-ajuda{
        margin-top: 30px !important;
        margin-bottom: 0px !important;
    }

}

.login-info-text {
    font-size: 16.5px;
    font-weight: 300;
    line-height: 1.39;
    color: #fff !important;
    text-align: left;
}

@media (min-width: 768px) {
  .login-info-text {
    font-size: 18px;
    line-height: 1.5;
  }
}
@media (min-width: 1200px) {
  .login-info-text {
    font-size: 20px;
    line-height: 1.6;
  }
}

