    :root {
        --primary-color: #2C6937;
        --background-color: #f0f0f0;
        --font-color: #141414;
        /* --primary-color: var(--primary-color);*/
        --logo-url: url('esg.jpeg');
    }

    body {
        background: var(--logo-url)  no-repeat center center fixed;
        background-size: cover; /* Cobrir o fundo */
        /* background-color: var(--background-color); */
        font-family: Arial, sans-serif;
        color: var(--font-color)!important;
    }
    .kcButtonClass{
        float: right;
        background-color: var(--primary-color);
        border-color: var(--primary-color);
        color: #ffffff;
        border-radius: 6px !important;    
        padding: 11px !important;   
    }

    .title {
        margin-bottom: 15px;
        font-size: 16px;
        color: #ffffff;
    }

    .title-header-info {
        font-size: 16px;
        color: #ffffff;
        text-align: center;
        transform: translateY(-10px);
        margin-bottom: 20px;
    }

    .title-header-info2 {
        margin-bottom: 20px;
        font-size: 16px;
        color: #ffffff;
    }

    #kc-header, #kc-content {
        margin-left: auto;
        margin-right: auto;
    }

    #kc-header {
        width: 90%;
        font-size: 22px;
        text-align: center;
        font-weight: 300;
        color: #ffff;
        margin-bottom: 30px;
    }

    #kc-content {
        background: rgba(251, 251, 251, 1);
        padding: 30px;
        border-radius: 8px;
        width: 400px;
        margin: 0 auto;
    }

    #kc-logo{
        width: 150px;
        height: auto;
    }

    #kc-logo-wrapper {
        text-align: center;
        position: relative;
        transform: translateY(-10px);
    }

    #kc-logo-wrapper img {
        max-width: 100%;
        height: auto; 
        margin-bottom: 20px;
        background: transparent !important;
    }


    @media (max-width: 768px) {
        #kc-content {
            width: 90%;
        }
    }

    @media (min-width: 769px) {
        #kc-content {
            width: 450px;
        }
    }

    .password-container {
        margin-top: 15px;
        margin-bottom: 20px;
    }

    #kc-login {
        /* float: right; */
        align-items: center !important;
        justify-content: center !important;
        display: flex !important;
    }

    #kc-error-message p {
        margin: 0;
    }

    .checkbox {
        margin-bottom: 0px;
    }

    .remember-me-checkbox label {
        padding-left: 0px;        
    }

    .register .register-field {
        margin-bottom: 15px;
    }

    .register .register-button-container {
        margin-top: 20px;
    }

    .reset-password .reset-password-field {
        margin-bottom: 15px;
    }

    .update-password .update-password-field {
        margin-bottom: 15px;
    }

    .update-password .update-password-button-container {
        margin-top: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .config-totp .config-totp-button-container {
        margin-top: 15px;
    }

    .totp .totp-button-container {
        margin-top: 15px;
        color: var(--font-color)!important;
    }

    .update-profile .update-profile-field {
        margin-top: 15px;
    }

    .update-profile .update-profile-button-container {
        margin-top: 20px;
    }

    .template .language-picker {
        position: relative;
        margin: 0 auto;
        margin-top: 30px;
        margin-bottom: 20px;
        width: 160px;
    }

    .template .language-picker .form-group {
        white-space: nowrap;
        display: inline-block;
        margin-bottom: 0;
        vertical-align: middle;
    }

    .template .language-picker .language-picker-dropdown-label i {
        vertical-align: middle;
        margin-right: 7px;
        margin-left: -7px;
        color: #9ca2af;
    }

    .template .language-picker select.form-control {
        border-color: #afb0b3;
        background: transparent;
        display: inline-block;
        width: auto;
        vertical-align: middle;
    }

    .btn-primary {
        background-color: var(--primary-color);
        border-color: var(--primary-color);
        color: #ffffff; 
        border-radius: 6px; 
        padding: 10px 20px; 
        font-size: 12px;
        font-weight: bold;
        text-align: center;
        cursor: pointer; 
        width: 100%; 
    }

    .btn-primary:hover {
        background-color: var(--primary-color);
        border-color: var(--primary-color);
    }

    .btn-primary:focus{
        background-color: var(--primary-color);
        border-color: var(--primary-color);
        border: 1.2px solid #000000;
    }

    .btn-default {
        background-color: #f5f5f5; 
        border-color: #ddd; 
        color: #141414; 
        border-radius: 6px; 
        padding: 10px 20px; 
        font-size: 16px; 
        text-align: center; 
        cursor: pointer;
        width: 100%; 
    }

    .btn-default:hover {
        background-color: #e0e0e0;
        border-color: #ccc; 
    }

    .btn-flat {
        border-radius: 6px;
    }

    .otpButtonClass {
        background-color: var(--primary-color);
        border-color: var(--primary-color);
        color: #ffffff;
        border-radius: 6px;
        font-size: 14px;
        text-align: center;
        cursor: pointer;
        width: 15%; 
        height: 38px;
        float: right;
        margin-left: 5px;
    }

    .kcInputClass{
        width: 100% !important;
        border-radius: 6px;
        width: 100% !important;
        border-radius: 6px;
        border: 1px solid #D8D8D8;
        height: 34px;
        padding: 6px 12px;
    }

    .backButton {
        min-width: 115px !important;
        width: auto;
        max-width: 20rem;
        margin-top: 0 !important;
        text-align: center;
        border-radius: 6px !important;
        font-size: 14px !important;
        cursor: pointer;
        margin-right: 2%;
    }

    .kcFormOptionsWrapperClass {
        display: flex;
        justify-content: center;
        align-items: center;
        /* margin-top: 20px; */
    }

    .btn-primary-login-otp {
        width: 48%;  
    }

    .kcFormClassLoginOTP{
        display: flex;
        flex-direction: column;
        gap: 2rem;
        padding: 1rem;
        box-sizing: border-box;
    }

    .separator{
        margin-top: 15px !important;
        margin-bottom: 15px !important;
    }

    .language{
        border-radius: 6px;
        color: rgba(255, 255, 255, 0.8);
    }

    .pf-c-button.pf-m-control {
        border-color: rgba(230, 230, 230, 0.5);
    }

    .pf-c-button{
        position: absolute;
        height: 100%;
        background: none;
        right: 2%;
        border: none;
    }

    .kcInputPwdClass{
        display: flex !important;
        position: relative;
    }

    .img-footer{
        object-fit: cover;
        max-height: 65px;
        width: 100%;
        max-width: 100%;
        display: inline-block;
        margin: auto;
        @media screen and (max-width: 900px) {
        width: 10%;
        }
        @media screen and (max-width: 500px) {
        width: 20%;
        margin: auto;
        }
        @media screen and (min-width: 1000px) {
        width: 10%;
        height: 80%;
        margin: auto;
        padding-top: 1rem;
        }
    }

    .footer-top{
        margin-top: 5rem;
        text-align: center;    
    }

    .color-text{
        color: var(--primary-color) !important;
    }

    .d-flex.btns {
        display: flex;
        justify-content: flex-end;
        gap: 10px;
        padding: 3rem 5rem;
        > * {
            font-size: clamp(10px, 0.8rem, 1.2em);
            border: 2px solid #ffffff;
            border-radius: 20px;
        }
    }

    .kc-lang-switcher {
        display: flex;
        gap: 0;
        border: 2px solid white;
        border-radius: 20px;
        overflow: hidden;
    }

    .lang-btn {
        padding: 8px 16px;
        border: none;
        cursor: pointer;
        font-size: 14px;
        background: transparent;
        text-decoration: none;
        transition: all 0.3s;
        flex: 1; 
        text-align: center;
        color: #f7f7f7;
    }

    .lang-btn:hover {
        background-color: rgba(0, 0, 0, 0.1);
    }

    .lang-btn.active {
        background-color: #f7f7f7;
        color: var(--primary-color);
    }

    .invalidPage{
        justify-content: center;
        display: flex;
        align-items: center;
        margin-top: 20px;
    }

    .kc-feedback-text{
        color: #ffff;
        /* #fffff */
    }

    .alert-warning{
        /*background-color: transparent !important; */
        /*border-color: var(--primary-color) !important;*/
        text-align: center;
    }

    a {
        color: var(--primary-color);
    }

    a:hover, a:active, a:focus {
        outline: none;
        text-decoration: none;
        color: var(--primary-color);
    }

    .btn-primary:active, .btn-primary.hover .btn:focus  {
        background-color:var(--primary-color) !important;
    }

    .alignButton{
        align-items: center !important;
        justify-content: center !important;
        display: flex !important;
    }

    .mt-pass{
        margin-top: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .contact-lines {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0.5rem;
        color: white;
        font-size: 1.1rem;
        margin: 0.2rem 0;
    }

    .contact-lines a {
        color: white !important;
    }

    .contact-lines:hover a {
        color: #f0f0f0 !important; 
    }

    .icon {
        width: 1.5rem;
        height: 1.5rem;
        vertical-align: middle;
    }

    .contact-wrapper {
        margin-bottom: 1rem;
    }

    .contact-title {
        font-weight: 500;
        margin-bottom: 0.5rem;
        color: white;
    }

    .black-label {
        color: black;
    }

    .reset-password-message-field {
        margin-bottom: 20px;
    }

    input#otp.kcInputClass {
        -webkit-appearance: none;
        -moz-appearance: textfield;
        appearance: none;
        background-image: none !important;
    }

    .adjust-button-otp {
        margin-bottom: 15px !important;
    }

    .kcFormOptionsWrapperOtpClass{
        display: flex;
        align-items: center;
    }

    .kcFormOptionsWrapperOtpClass > span{
    flex: 1 1 auto;
    min-width: 0;
    }

    .kcFormOptionsWrapperOtpClass .btn{
    display:block;
    width:100%;
    white-space:nowrap; 
    overflow:hidden;
    text-overflow:ellipsis;
    }

    .backButtonOtp{ 
        min-width: 115px !important;
        width: auto;
        max-width: none;
        margin-top: 0 !important;
        text-align: center;
        border-radius: 6px !important;
        font-size: 14px !important;
        cursor: pointer;
        margin-right: 2%;
        max-width:none;
    }

    .button-align-center{
        display:flex !important;
        justify-content:center !important;
    }

    .align-info{
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .logout-fix{
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        display: flex !important;
        margin-bottom: 20px !important;
    }

    .logout-margin-fix{
        margin-top: 3px !important;
    }

    .align-items-logout{
        align-items: center;
        justify-content: center;
        display: flex;
    }

    .align-items-logout-back{
        align-items: center;
        justify-content: center;
        display: flex;
        margin-top: 5px;  
    }