/** LOGIN **/
.pointer {
    cursor: pointer;
}

#kc-page-title {
    font-family: robotomedium, sans-serif;
}

#kc-page-subtitle {
    text-align: center;
}

.login-pf-page-header {
    box-shadow: 0 3px 6px #00000029;
}

div.kc-logo-text {
    background-repeat: no-repeat;
    height: 60px;
    width: 160px;
    margin: 0 auto;
    background-size: cover;
}

div.kc-logo-text.teddy {
    background-image: url(../img/header-teddy.svg);
}

div.kc-logo-text.calliope {
    background-image: url(../img/header-calliope.svg);
}

div.kc-logo-text.rinascimento {
    background-image: url(../img/header-rinascimento.svg);
}

div.kc-logo-text.terranova {
    background-image: url(../img/header-terranova.svg);
}

div.kc-logo-text.supplychain {
    background-image: url(../img/header-supplychain.svg);
}

div.kc-footer {
    margin-top: auto;
}

div.kc-footer-text {
    background-repeat: no-repeat;
    height: 60px;
    margin: 0 auto;
    background-position: center;
}

div.kc-footer-text.terranova {
    background-image: url(../img/terranova-footer.svg);
    width: 170px;
}

div.kc-footer-text.teddy {
    background-image: url(../img/teddy-footer.svg);
    width: 100px;
}

div.kc-footer-text.rinascimento {
    background-image: url(../img/rinascimento-footer.svg);
    width: 170px;
}

div.kc-footer-text.calliope {
    background-image: url(../img/calliope-footer.svg);
    width: 170px;
}

div.kc-footer-text.supplychain {
    background-image: url(../img/supplychain-footer.svg);
    width: 170px;
}

div.kc-footer-text.qb24 {
    background-image: url(../img/qb24-footer.svg);
    width: 25px;
}

#kc-header-wrapper {
    font-size: 29px;
    text-transform: uppercase;
    letter-spacing: 3px;
    line-height: 1.2em;
    padding: 18px 10px 10px;
    white-space: normal;
    background: transparent;
    box-shadow: none;
    height: 90px;
}

#kc-footer-wrapper {
    font-size: 23px;
    text-transform: uppercase;
    letter-spacing: 3px;
    line-height: 1.2em;
    padding: 12px 10px 10px;
    white-space: normal;
    display: flex;
    flex-direction: column;
}

#kc-footer-wrapper.teddy {
    background: #003057;
}

#kc-footer-wrapper.supplychain {
    background: #003057;
}

#kc-footer-wrapper.calliope {
    background: #333333;
}

#kc-footer-wrapper.rinascimento {
    background: #333333;
}

#kc-footer-wrapper.terranova {
    background: #000000;
}

.card-pf {
    background: #FFFFFF 0 0 no-repeat padding-box;
    box-shadow: 0 3px 6px #00000029;
    border-radius: 14px;
    border-top: unset;
    padding-right: 30px !important;
    padding-left: 30px !important;
}

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

    min-height: 100vh;
    display: flex;
    flex-direction: column;

}

.pf-c-form__label-text {
    font-family: robotoregular, sans-serif;
}

.pf-c-form-control {
    border: unset;
}

.pf-c-form-control:focus-visible {
    outline: none;
}

.btn-group-lg>.btn,
.btn-lg {
    padding: 10px 10px;
    font-size: 16px;
    line-height: 1.3333333;
    border: unset;
}

.pf-c-button.pf-m-control::after {
    border: unset;
}

.pf-c-button.pf-m-control:hover::after,
.pf-c-button.pf-m-control:active::after,
.pf-c-button.pf-m-control:focus::after {
    border: unset;
}

.pf-c-form-control {
    border-bottom: 2px solid #E9E9F0;
}

.pf-c-form-control:hover,
.pf-c-form-control:focus {
    border-bottom: 2px solid #06c;
}

#password,
#password-new,
#password-confirm {
    border-bottom: unset;
}

#password:hover,
#password:focus,
#password-new:hover,
#password-new:focus,
#password-confirm:hover,
#password-confirm:focus {
    border-bottom: unset;
}

.pf-c-input-group {
    border: unset;
    border-bottom: 2px solid #E9E9F0;
    border-radius: 0;
}

.pf-c-input-group:hover,
.pf-c-input-group:focus-within,
.pf-c-input-group:focus {
    border: unset;
    border-bottom: 2px solid #06c !important;
}

.show-pwd-button,
.hide-pwd-button {
    border: unset !important;
    padding-right: 10px;
    padding-left: 10px;
}

svg {
    width: 21px;
    transform: translateY(3px);
}

.pf-c-button.pf-m-primary {
    height: 50px;
    text-transform: uppercase;
    font-family: robotoregular, sans-serif;
}

.pf-c-button.pf-m-primary.teddy {
    background: #003057 0 0 no-repeat padding-box;
}

.pf-c-button.pf-m-primary.supplychain {
    background: #003057 0 0 no-repeat padding-box;
}

.pf-c-button.pf-m-primary.calliope {
    background: #000000 0 0 no-repeat padding-box;
}

.pf-c-button.pf-m-primary.rinascimento {
    background: #000000 0 0 no-repeat padding-box;
}

.pf-c-button.pf-m-primary.terranova {
    background: #000000 0 0 no-repeat padding-box;
}

a {
    color: #000000;
    font-family: robotoregular, sans-serif;
    letter-spacing: 0.21px;
}

a:hover,
.forgot-password:active,
.forgot-password:focus {
    text-decoration: none;
    outline: none;
}

.login-notes {
    font-family: robotoregular, sans-serif;
    border-top: 1px dashed #E9E9F0;
    margin-top: 55px;
    padding-top: 15px;
}

.login-notes b {
    font-family: robotobold, sans-serif;
}

#kc-header {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 15px;
}

#kc-header-wrapper.teddy {
    background: #ffffff;
}

#kc-header-wrapper.supplychain {
    background: #ffffff;
}

#kc-header-wrapper.calliope {
    background: #333333;
}

#kc-header-wrapper.rinascimento {
    background: #333333;
}

#kc-header-wrapper.terranova {
    background: #ffffff;
}

#kc-info-wrapper {
    background-color: transparent;
}

#faq-url {
    margin-top: 25px;
    text-align: center;
    text-decoration: underline;
}

/** INSERT OTP **/

#reset-login {
    display: none;
}

.try-another-way-separator {
    border-top: 1px dashed #E9E9F0;
    margin-top: 20px;
    padding-top: 15px;
    text-align: center;
}

#try-another-way {
    display: inline-block;
    color: #06c;
    font-family: robotomedium, sans-serif;
    text-decoration: underline;
    font-size: 14px;
}

#try-another-way:hover {
    color: #004a99;
    text-decoration: underline;
}

.alert-warning {
    text-align: center;
}

.alert-warning.py-6p {
    padding-top: 6px;
    padding-bottom: 6px;
}

.totp-codes-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

#kc-totp-secret-key {
    border: 1px solid #E9E9F0;
    padding: 5px 10px;
}

.totp-qr {
    border-right: 2px dashed #E9E9F0;
}

.totp-code {
    padding-left: 10px;
}

.form-group.otp-input-container {
    width: 65%;
    padding: 0 0 0 10px;
}

.otp-input-container label {
    color: #7d98b4;
}

.otp-code-group {
    border-bottom: transparent;
}

.pf-c-input-group.otp-code-group:hover,
.pf-c-input-group.otp-code-group:focus-within,
.pf-c-input-group.otp-code-group:focus {
    border-bottom: 0 solid transparent !important;
}

#otp-code,
#otp-code:hover,
#otp-code:focus,
#otp-code:focus-within {
    height: 38px;
    border: 1px solid #E9E9F0;
    font-size: 13px;
}

#kc-totp-secret-qr-code {
    width: 100px;
    height: 100px;
}

#otp-code[readonly] {
    background-color: transparent;
}

#copy-totp-code {
    border: 1px solid #7d98b4;
    background-color: #dce8fb;
    color: #003058;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    position: relative;
}

#copy-totp-code:hover {
    color: #dce8fb;
    background-color: #003058;
}

.login-pf-page .card-pf p.step-title {
    color: #003057;
    font-weight: 600;
    font-size: 14px;
}

.step2 {
    border-bottom: 1px solid #E9E9F0;
    padding-bottom: 15px;
    margin-bottom: 15px;
    margin-top: 16px;
}

.step2 .step-title {
    margin-bottom: 0;
}

#copy-tooltip {
    visibility: hidden;
    background-color: #333;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 4px 8px;
    position: absolute;
    z-index: 10;
    bottom: 125%;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.3s;
}

/* freccetta verso il bottone */
#copy-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #333 transparent transparent transparent;
}

#copy-tooltip.show {
    visibility: visible;
    opacity: 1;
}

#kc-totp-supported-apps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

#kc-totp-supported-apps a {
    border: 1px solid #E9E9F0;
    padding: 5px 10px;
    border-radius: 5px;
}

#kc-totp-supported-apps img {
    height: 24px;
    width: 24px;
}

.aligned-text {
    text-align: center;
}

#kc-locale {
    top: -7px;
}

#kc-page-title.my-0 {
    margin-top: 0;
    margin-bottom: 0;
}

#kc-page-title.fs-20p {
    font-size: 20px;
}

.login-pf-page .login-pf-header.my-0 {
    margin-top: 0;
    margin-bottom: 0;
}

#kc-content-wrapper.mt-15p {
    margin-top: 15px;
}

.info-text {
    margin-top: 5px;
    margin-bottom: 0;
}

#totp {
    height: 27px;
    font-size: 15px;
    padding-left: 0;
    margin-bottom: 10px;
}

/* Checkbox colors */
input[type="checkbox"] {
    accent-color: #003057
}

.checkbox label,
.radio label {
    font-family: robotoregular, sans-serif;
}

/* BEGIN External doc terms and condition page styles */
#kc-terms-docs-page {
    font-family: robotoregular, sans-serif;
    border-top: #cbcbcb 2px dashed;
}

#kc-terms-docs-page .terms-condition-title {
    border-top: #cbcbcb 2px dashed;
    padding-top: 20px;
}

#kc-terms-docs-page strong {
    font-family: robotobold, sans-serif;
    font-size: 12px;
}

#kc-terms-docs-page .checkbox-label {
    padding-left: 20px;
    margin-bottom: 0;
    font-weight: 400;
    cursor: pointer;
    margin-top: 7px;
    display: flex;
    align-items: flex-start;
    gap: 5px;
}

#kc-terms-docs-page .checkbox-label input[type="checkbox"] {
    margin-top: 3px;
    /*flex-shrink: 0;*/
    cursor: pointer;
}

#kc-terms-docs-page .checkbox-label label {
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    gap: 0;
}

#kc-terms-docs-page .checkbox-label>span:last-child {
    /* flex: 1;*/
}

#kc-terms-docs-page #submitBtn {
    height: 50px;
    text-transform: uppercase;
    font-family: robotoregular, sans-serif;
    background: #003057 0 0 no-repeat padding-box;
    color: white;
    display: block;
    width: 100%;
    padding: 10px 10px;
    font-size: 16px;
    line-height: 1.3333333;
    border: unset;
    margin-top: 30px;
}

#kc-terms-docs-page #submitBtn:disabled {
    opacity: 0.5;
    /* dimmed look */
    cursor: not-allowed;
    filter: grayscale(40%);
}

#kc-terms-docs-page a {
    text-decoration: underline;
}

/* Accordion Styles */
#kc-terms-docs-page .kc-accordion {
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-top: 8px;
    overflow: hidden;
}

#kc-terms-docs-page .kc-accordion-header {
    /*background-color: #f5f5f5;*/
    padding: 4px 5px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
    transition: background-color 0.2s ease;
}

#kc-terms-docs-page .kc-accordion-header .kc-accordion-title {
    flex: 1;
    font-size: 14px;
    line-height: 1.5;
}

#kc-terms-docs-page .kc-accordion-header .kc-accordion-icon {
    margin-left: 12px;
    /*font-size: 12px;*/
    /*font-weight: bold;*/
    transition: transform 0.3s ease;
}

#kc-terms-docs-page .kc-accordion-header.active .kc-accordion-icon {
    transform: rotate(180deg);
}

#kc-terms-docs-page .kc-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

#kc-terms-docs-page .kc-accordion-content.active {
    max-height: 2000px;
}

#kc-terms-docs-page .kc-accordion-body {
    padding: 0 7px;
    background-color: #fff;
}

#kc-terms-docs-page .checkbox-list {
    /*max-height: 405px;*/
    overflow-y: hidden;
    margin: 5px 0;
}

/* END External doc terms and condition page styles */


@media (min-width: 768px) {

    .login-pf-page {
        padding-bottom: 150px;
    }

    body.teddy {
        background-image: url(../img/immagine-teddy.jpg);
        background-size: cover;
    }

    body.supplychain {
        background-image: url(../img/immagine-supplychain.jpg);
        background-size: cover;
    }

    body.calliope {
        background-image: url(../img/img-calliope.jpg);
        background-size: cover;
    }

    body.rinascimento {
        background-image: url(../img/img-rinascimento.jpg);
        background-size: cover;
    }

    body.terranova {
        background-image: url(../img/img-terranova.jpg);
        background-size: cover;
    }

    .card-pf {
        min-width: 600px;
    }

    .card-pf.larger {
        min-width: 700px;
    }

    .card-pf.xxl {
        min-width: 900px;
    }

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

    .login-pf body {
        height: 100%;
    }

    .form-group {
        padding-right: 60px;
        padding-left: 60px;
    }

    #kc-header-wrapper {
        font-size: 29px;
        text-transform: uppercase;
        letter-spacing: 3px;
        line-height: 1.2em;
        padding: 18px 10px 10px;
        white-space: normal;
    }

    #kc-content-wrapper {
        /*max-height: calc(100vh - 350px);*/
        /*overflow: auto;*/
    }

    #kc-footer-wrapper {
        flex-direction: row;
    }

    .kc-footer {
        bottom: 0;
        position: fixed;
        width: 100%;
    }

    #loginTotpStepCodesMobile {
        display: none;
    }

    #kc-terms-docs-page .checkbox-list {
        max-height: 405px;
    }
}

@media (min-width: 1312px) {
    #kc-footer-wrapper {
        padding-right: 200px;
        padding-left: 200px;
        flex-direction: row;
    }
}

@media (min-width: 1700px) {
    #kc-footer-wrapper {
        padding-right: 560px;
        padding-left: 560px;
        flex-direction: row;
    }
}

@media (max-width: 767px) {
    #kc-current-locale-link {
        font-size: 8px !important;
    }


    #kc-terms-docs-page .checkbox-label {
        padding-left: 0;
    }
}

@media (max-width: 1024px) {
    #kc-locale {
        top: 5px;
    }

    #kc-current-locale-link {
        font-size: 8px !important;
    }

    #totp-qr {
        display: none;
    }

    #loginTotpStepCodes {
        display: none;
    }

    .form-group.otp-input-container {
        width: 100%;
        padding-left: 0;
    }

    #copy-totp-code {
        font-size: 13px;
        width: 50px;
        padding-left: 5px;
    }

    .totp-codes-container {
        text-align: left;
    }

    .aligned-text {
        text-align: left;
    }

    .alert-warning {
        text-align: left;
    }

    #kc-totp-supported-apps {
        justify-content: space-around;
    }
}

/* typography*/
@font-face {
    font-family: 'robotobold';
    src: url('../fonts/roboto-bold-webfont.woff2') format('woff2'),
        url('../fonts/roboto-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'robotobold_italic';
    src: url('../fonts/roboto-bolditalic-webfont.woff2') format('woff2'),
        url('../fonts/roboto-bolditalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'robotoitalic';
    src: url('../fonts/roboto-italic-webfont.woff2') format('woff2'),
        url('../fonts/roboto-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'robotolight';
    src: url('../fonts/roboto-light-webfont.woff2') format('woff2'),
        url('../fonts/roboto-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'robotolight_italic';
    src: url('../fonts/roboto-lightitalic-webfont.woff2') format('woff2'),
        url('../fonts/roboto-lightitalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'robotomedium';
    src: url('../fonts/roboto-medium-webfont.woff2') format('woff2'),
        url('../fonts/roboto-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'robotomedium_italic';
    src: url('../fonts/roboto-mediumitalic-webfont.woff2') format('woff2'),
        url('../fonts/roboto-mediumitalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'robotoregular';
    src: url('../fonts/roboto-regular-webfont.woff2') format('woff2'),
        url('../fonts/roboto-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}