/* latin-ext */
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-display: swap;
    src: url(/fonts/S6uyw4BMUTPHjxAwXjeu.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-display: swap;
    src: url(/fonts/S6uyw4BMUTPHjx4wXg.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.no-style-ul-container ul {
    list-style-type: none;
    padding: 0

}


.showPasswordIcon {
    margin-left: -30px;
    cursor: pointer;
}


.link-like-button {
    background: none !important;
    border: none;
    padding: 0 !important;
    color: -webkit-link;
    text-decoration: underline;
    cursor: pointer;
    font-size: 16px;
    font-family: 'Lato', system-ui;
}


.hidden {
    transition: opacity .15s;
    display: none !important;
    opacity: 0;
}


.logo-home {
    margin: 16px 0 0 24px;
}

.right-buttons {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    max-width: 320px
}

.right-buttons .grid {
    text-align: right
}

.logged-user-profile-picture {
    text-align: center
}

.logged-user-profile-picture img {
    height: 110px;
    width: 110px;
    border-radius: 50%;
    object-fit: cover;
}

.header-login-info {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
}

.single-sign-on {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    height: 44px;
    margin: 32px 0;
    border-bottom: 2px solid #ccc;
}

.single-sign-on a {
    text-decoration: none;
}


input:disabled {
    background-color: #ccc;
}


.main-form {
    display: flex;
    flex-flow: column nowrap;
}


.button-submit-secondary {
    cursor: pointer;
}

.button-submit-secondary button.positive {
    background-color: #2328eb;
    height: 46px;
    border: none;
    border-radius: 8px;
    color: white;
    font-size: 16px;
    cursor: pointer;
    min-width: 120px;
}

.button-submit-secondary button.positive:hover {
    background-color: #252af5;
}

.button-submit-secondary button.negative {
    background-color: white;
    height: 46px;
    border: none;
    border-radius: 8px;
    color: #FD2625;
    border: solid 1px #FD2625;
    font-size: 16px;
    cursor: pointer;
    min-width: 120px;
}

.button-submit-secondary button.negative.btn-disabled {
    color: white;
    border: none;
}

.button-submit-secondary button.negative:hover {
    background-color: #b9b5b514;
}

.other-methods {
    color: #131313;
    font-size: 16px;
}

.other-methods-buttons {
    margin-top: 12px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
}

.other-methods-buttons button {
    background: #ffffff;
    box-shadow: 0px 4px 8px rgba(51, 51, 51, 0.16);
    border-radius: 4px;
    border: none;
}

.google-button {
    width: 185px;
    height: 40px;
    color: rgba(0, 0, 0, 0.54);
    margin-right: 24px;
}

.azure-button {
    width: 40px;
    height: 40px;
}


.icon {
    position: relative;
    top: -10px;
}

.logged-out iframe {
    display: none;
    width: 0;
    height: 0;
}


ul.list-group.grants {
    padding-left: 0;
}

.page-consent form {
    margin-top: 60px
}

.page-consent .client-logo {
    float: left;
}

.page-consent .client-logo img {
    width: 80px;
    height: 80px;
}

.consent-buttons {
    margin-top: 45px;
}

.page-consent .consent-form .consent-scopecheck {
    display: inline-block;
    margin-right: 5px;
}

.page-consent .consent-form .consent-description {
    margin-left: 25px;
}

.page-consent .consent-form .consent-description label {
    font-weight: normal;
}

.page-consent .consent-form .consent-remember {
    padding-left: 16px;
}

.grants .page-header {
    margin-bottom: 10px;
}

.field-validation-error {
    color: #fb7185;
    font-size: 0.8rem;
    margin-top: 0.6rem;
}

    .field-validation-error span {
        color: inherit;
    }

.validation-summary-errors {
    color: #fb7185;
}

    .validation-summary-errors ul {
        list-style: none;
        padding-inline: 0;
        padding-block: 4px;
    }

.grants {
    list-style-type: none;
}

.grants .grant {
    margin-top: 0;
    padding-top: 8px;
    padding-bottom: 8px;
}

.grants .grant img {
    width: 100px;
    height: 100px;
}

.grants .grant .clientname {
    font-size: 140%;
    font-weight: bold;
}

.grants .grant .granttype {
    font-size: 120%;
    font-weight: bold;
}

.grants .grant .created {
    font-size: 120%;
    font-weight: bold;
}

.grants .grant .expires {
    font-size: 120%;
    font-weight: bold;
}

.grants .grant li {
    list-style-type: none;
    display: inline;
}

.grants .grant li:after {
    content: ", ";
}

.grants .grant li:last-child:after {
    content: "";
}

.btn-grant {
    width: 95%;
    min-width: 95%;
    max-width: 95%;

}

.grid {
    margin: 1em;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 2px;
    counter-reset: div;
}

.col-1 {
    grid-column: auto/span 1;
}

.col-2 {
    grid-column: auto/span 2;
}

.col-3 {
    grid-column: auto/span 3;
}

.col-4 {
    grid-column: auto/span 4;
}

.col-5 {
    grid-column: auto/span 5;
}

.col-6 {
    grid-column: auto/span 6;
}

.col-8 {
    grid-column: auto/span 8;
}

.col-9 {
    grid-column: auto/span 9;
}

.col-10 {
    grid-column: auto/span 10;
}

.col-12 {
    grid-column: auto/span 12;
}

.row-2 {
    grid-row: auto/span 2;
}

a.nostyle:link {
    text-decoration: inherit;
    color: inherit;
    cursor: pointer;
}

a.nostyle:visited {
    text-decoration: inherit;
    color: inherit;
    cursor: pointer;
}

.table-link {
    margin: 0 0 20px 0;

}

.alert {
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 20px;
    position: relative;
}

.alert.alert-success {
    background: color(display-p3 0.012 0.596 0.145 / 0.087);
    color: color(display-p3 0.19 0.5 0.32);
    display: flex;
    justify-content: space-between;
}

.alert.alert-danger {
    background: color(display-p3 0.792 0.008 0.008 / 0.075);
    color: color(display-p3 0.744 0.234 0.222)
}

.alert-warning {
    color: color(display-p3 0.15 0.44 0.84);
    background: color(display-p3 0.012 0.506 0.914 / 0.087);

}

@media only screen and (max-width: 768px) {

    .grecaptcha-badge {
        right: -152px
    }

}

.profile-wrapper {
    display: flex;
    justify-content: center;
}

.profile-picture {
    max-height: 110px;
    max-width: 100%;
    border-radius: 50%;
}

.blink-text {
    animation: blinker 0.8s linear infinite;
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}


*, *::before, *::after {
    box-sizing: border-box;
}

* {
    margin: 0;
}

input, button, textarea, select {
    font: inherit;
}


html {
    font-family: "Lato", sans-serif;
    height: 100%;
}

body {
    background-color: rgb(253, 253, 252);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    height: 100%;
}

main {
    padding-inline: 32px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

    main .container {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-block: 8px;
    }

        main .container .inner-body {
            max-width: 400px;
            width: 100%;
        }

            main .container .inner-body.adjust-vertical {
                transform: translateY(-50px);
            }

            main .container .inner-body .main-title {
                font-size: 1.25rem;
                line-height: 1.75rem;
                text-align: center;
                font-weight: 500;
                margin-bottom: 25px;
            }

            main .container .inner-body section {
                padding-inline: 1px;
            }


@media only screen and (max-width: 667px) {

    main {
        padding: 1rem;
    }

        main .container .inner-body.adjust-vertical {
            transform: none;
        }

        main .container .inner-body .main-title {
            margin-bottom: 20px;
        }
}

header {
    display: flex;
    justify-content: space-between;
    padding-inline: 1rem;
    padding-block: 2rem;

}

    header img {
        width: 132px;
    }

header select {
    border: none;
    outline: none;
    font-size: 14px;
}

.input-group {
    margin-bottom: 12px;
    display: flex;
    flex-flow: column nowrap;
    font-size: 16px;
    position: relative;
}

    .input-group i {
        color: #a8a29e;
        cursor: pointer;
        position: absolute;
        top: 18px;
        right: 24px;
    }

.input-field {
    height: 48px;
    border: 0.5px solid #CCCCCC;
    border-radius: 8px;
    padding-left: 24px;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, box-shadow;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s;
}

    .input-field:focus-visible {
        outline: 2px solid transparent;
        outline-offset: 2px;
        box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05), 0 0 #0000, 0 0 0 1px hsl(240 5% 64.9%), 0 0 0 #fff;
    }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
}

.password-issues {
    display: flex;
    flex-flow: row;
    justify-content: end;
    margin-bottom: 26px;


}

button {
    width: 100%;
    height: 40px;
    border: none;
    border-radius: 8px;
    color: white;
    font-size: 14px;
    cursor: pointer;
    transition-property: opacity, color, background, border-color, text-decoration-color, fill, stroke, box-shadow;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s;
    background: linear-gradient(180deg, #343a40 0%, #212529 100%);
    box-shadow: 0px 0px 1px 1px rgba(255, 255, 255, 0.08) inset, 0px 1px 1.5px 0px rgba(0, 0, 0, 0.32), 0px 0px 0px 0.5px #343a40;
    text-shadow: 0px 1px 1.5px rgba(0, 0, 0, 0.16);
}

button.close{
    box-shadow: none;
    position: absolute;
    width: 20px;
    height: 20px;
    right: 0;
    top: 0;
    padding: 0;
    background: transparent;
}

button.close span {
    border: none;
    color: #000;
    font-size: 16px;
}

button span {
        color: #FDFDFC;
}

button:hover:not(.btn-disabled) {
    opacity: 0.95;
}

button.btn-disabled {
    background: #DAD9D6;
    cursor: not-allowed;
    box-shadow: 0px 0px 1px 1px rgba(255, 255, 255, 0.08) inset, 0px 1px 1.5px 0px rgba(0, 0, 0, 0.32), 0px 0px 0px 0.5px #DAD9D6;
}

button:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05), 0 0 #0000, 0 0 0 1px hsl(240 5% 64.9%), 0 0 0 #fff;
}

.signup-button {
    text-shadow: none;
    color: #8D8D86;
    height: 32px;
    background: linear-gradient(180deg, #F1F0EF 0%, #E9E8E6 100%);
    box-shadow: none;
}

.button-submit {
    margin-top: 2.5rem;
}

.muted-text {
    color: #BCBBB5;
    font-size: 14px;
}

a {
    color: #BCBBB5;
    cursor: pointer;
    font-size: 14px;
}

div.body-anchor a {
    color: #BCBBB5;
    cursor: pointer;
    font-size: 16px;
}

.button-links {
    display: flex;
    justify-content: end;
    margin-top: 14px;
}

.back-links {
    display: flex;
    justify-content: start;
    margin-top: 14px;
}

.footer {
    width: 100%;
    text-align: center;
    text-wrap: pretty;
    padding-block: 1rem;

}

.business-select-container {
    display: flex;
    flex-direction: column;
    max-height: 50vh;
    gap: 8px;
    overflow-y: auto;
    padding: 2px;
    scrollbar-color: #BCBBB5 transparent;
    scrollbar-width: thin;
}

    .business-select-container .business {
        padding: 12px;
        border-radius: 8px;
        border: 0.5px solid #CCCCCC;
        background: #ffffff;
        height: 60px;
        cursor: pointer;
        transition-property: background, box-shadow, height, opacity;
        transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        transition-duration: .15s;
        grid-template-columns: 90px 1fr 20px;
        grid-gap: 4px;
    }

        .business-select-container .business:hover {
            background-color: #F9F9F8;
        }

        .business-select-container .business.selected {
            background-color: #F9F9F8;
            outline-offset: 2px;
            outline: 2px solid transparent;
        }

        .business-select-container .business.not-selected {
            opacity: 0;
            height: 0;
        }

            .business-select-container .business.selected i {
                display: block;
                animation: fadeInOutAnimation 0.8s cubic-bezier(.4, 0, .2, 1) infinite alternate;
            }


        .business-select-container .business img {
            max-width: 90px;
            height: 23px;
            vertical-align: middle;
            margin-right: 5px
        }

        .business-select-container .business label {
            cursor: pointer;
            margin-bottom: 0;
        }


        .business-select-container .business i {
            display: none;
        }

        .business-select-container .business input {
            display: none;
        }

.custom-checkbox-container {
    cursor: pointer;
    display: grid;
    grid-template-columns: 30px 1fr 20px;
    line-height: 20px;
    align-items: center;
}

.custom-checkbox-container span {
    font-weight: 400;
    font-size: 14px;
}

    .custom-checkbox-container .scope-info {
        font-weight: 600;
    }

input[type="checkbox"] {
    width: 15px;
    height: 15px;
    accent-color: black;
}


#search-business-input-text {
    width: 100%;
}

.separator {
    width: 100%;
    height: 1px;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

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

.tab-container {
    display: flex;
    justify-content: center;
    background-color: #E2E1DE;
    padding: 4px;
    border-radius: 8px;
    width: fit-content;
    height: 36px;
}

.tab-link {

    width: max-content;
    cursor: pointer;
    padding: 4px 12px;
    background: #E2E1DE;
    border-radius: 6px;
    margin-right: 5px;
    text-decoration: none;
    color: black;
    transition-property: background;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s;
}

.tab-link:last-child {
    margin-right: 0;
}

.tab-link.active {
    background: #FDFDFC;
}

label {
    font-weight: 400;
    line-height: 20px;
    font-size: .875rem;
    margin-bottom: .5rem;
    color: rgb(99, 99, 94);
}

@keyframes fadeInOutAnimation {
    0%, 100% {
        opacity: 0.1;
    }
    50% {
        opacity: 1;
    }
}

input[type="file"] {
    display: none;
}


select {
    appearance: none;
    cursor: pointer;
    background: transparent;
    color: rgb(33, 32, 28)
}

.upload-label-wrapper{
    display: flex;
    align-items: center;
}

.file-label {
    border: 0.5px solid #CFCECA;
    padding: 4px 12px;
    cursor: pointer;
    width: fit-content;
    font-weight: 400;
    border-radius: 6px;
    line-height: 16px;
    box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
    transition-property: background;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s;
    margin-top: 10px;
}

    .file-label:hover {
        background: #F1F0EF;
    }

.custom-select {
    position: relative;
}

    .custom-select select {
        width: 100%;
        cursor: pointer;
    }

    .custom-select i {
        position: absolute;
        top: 16px;
        right: 12px;
    }

.manage-nav {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    gap: 4px;
    justify-content: center;
}

.header-login-info {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 16px;
}


@media only screen and (max-width: 350px) {

    .born-logo img{
        width: 80px;
    }

}

.born-logo {
    flex: 1;
}

.super-user {
}

.loading {
    display: flex;
    justify-content: center;
}

.spinner-wrapper {
    height: 16px;
    width: 16px;
}

.spinner {
    position: relative;
    top: 50%;
    left: 50%;
    height: 20px;
    width: 20px;
}

.bar {
    animation: spin 1.2s linear infinite;
    background: rgba(255, 255, 255, 0.65);
    border-radius: 6px;
    height: 8%;
    left: -10%;
    position: absolute;
    top: -3.9%;
    width: 24%;
}

.bar:nth-child(1) {
    animation-delay: -1.2s;
    transform: rotate(0.0001deg) translate(146%);
}

.bar:nth-child(2) {
    animation-delay: -1.1s;
    transform: rotate(30deg) translate(146%);
}

.bar:nth-child(3) {
    animation-delay: -1s;
    transform: rotate(60deg) translate(146%);
}

.bar:nth-child(4) {
    animation-delay: -0.9s;
    transform: rotate(90deg) translate(146%);
}

.bar:nth-child(5) {
    animation-delay: -0.8s;
    transform: rotate(120deg) translate(146%);
}

.bar:nth-child(6) {
    animation-delay: -0.7s;
    transform: rotate(150deg) translate(146%);
}

.bar:nth-child(7) {
    animation-delay: -0.6s;
    transform: rotate(180deg) translate(146%);
}

.bar:nth-child(8) {
    animation-delay: -0.5s;
    transform: rotate(210deg) translate(146%);
}

.bar:nth-child(9) {
    animation-delay: -0.4s;
    transform: rotate(240deg) translate(146%);
}

.bar:nth-child(10) {
    animation-delay: -0.3s;
    transform: rotate(270deg) translate(146%);
}

.bar:nth-child(11) {
    animation-delay: -0.2s;
    transform: rotate(300deg) translate(146%);
}

.bar:nth-child(12) {
    animation-delay: -0.1s;
    transform: rotate(330deg) translate(146%);
}

@keyframes spin {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0.15;
    }
}

.language-select {
    display: flex;
    align-items: center;
}

.language-selector i {
    font-size: 14px;
}

.return-message {
    margin-bottom: 4px;
    text-wrap: pretty;
}

.permission-group {
    margin-bottom: 12px;

}

    .permission-group .title {
        font-size: .875rem;
        font-weight: 600;
        line-height: 1;
        margin-bottom: 12px;
    }

.btn-grant.deny {
    background: linear-gradient(180deg, #E54D2E 0%, #D13415 100%);
    box-shadow: 0px 0px 1px 1px rgba(255, 255, 255, 0.08) inset, 0px 1px 1.5px 0px rgba(0, 0, 0, 0.32), 0px 0px 0px 0.5px #E54D2E;
}
    .btn-grant.deny.btn-disabled {
        background: #DAD9D6 !important;
        box-shadow: 0px 0px 1px 1px rgba(255, 255, 255, 0.08) inset, 0px 1px 1.5px 0px rgba(0, 0, 0, 0.32), 0px 0px 0px 0.5px #DAD9D6 !important
    }

h1, h2, h3, h4, h5, h6, p, span {
    color: rgb(33, 32, 38);
    font-size: inherit;
}

h2 {
    font-weight: 500;
    margin-bottom: .75rem;
    margin-top: 4rem;
}

p {
    opacity: .85;
    line-height: 1.65;
}

.pdf-container {
    max-height: 600px;
    min-height: 600px;
    width: 50vh;
    overflow: auto;
    border: 1px solid #ccc;
    padding: 10px;
}

.pdf-page {     
    margin-bottom: 10px;
}

.pdf-area {
    display: flex;
    justify-content: center;
}

.pdf-area-2 {
    display: inline-table;
    justify-content: center;
}

.pdf-download-fallback{
    text-align: center;
    padding: 10px
}


.tos-disclaimer{
    margin-top: 20px;
}

.tos-display-container {
    width: 100%;
    overflow-y: auto;
    max-height: 50vh;
    word-wrap: break-word;
}