html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

body {
    font-family: DINish, "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: var(--grey-color-text);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6, a {
    color: var(--primary-color);
}

a:hover {
    color: var(--primary-color-dark);
}

.flex-link {
    display: flex;
    text-decoration: none;
}

    .flex-link .icon {
        display: inline-flex;
    }

.icon-m0:before {
    margin: 0;
}

.h1, h1 {
    font-size: 3rem;
}

.h2, h2 {
    font-size: 1.875rem;
}

.h3, h3 {
    font-size: 1.625rem;
}

.h4, h4 {
    font-size: 1.5rem;
}

.h5, h5 {
    font-size: 1.125rem;
}

p {
    font-size: 0.875rem;
    margin-bottom: 0.875em;
}

label, .col-form-label {
    font-size: 0.875rem;
}

label.required:after, legend.required::after {
    content: '*';
    color: var(--secondary-color);
}

#content-wrapper {
    background-color: #f6f6f6;
    flex: 1;
    display: flex;
    flex-direction: column;
}

#content {
    flex: 1;
}

.container, .container-fluid {
    --bs-gutter-x: var(--spacer);
}

.bl-p, .bl-px {
    padding-right: var(--spacer);
    padding-left: var(--spacer);
}

.bl-p, .bl-py {
    padding-top: var(--spacer);
    padding-bottom: var(--spacer);
}

.bl-g, .bl-gx {
    --bs-gutter-x: var(--spacer);
}

.bl-g, .bl-gy {
    --bs-gutter-y: var(--spacer);
}

input::placeholder {
    color: #999999 !important;
    font-family: DINish, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.form-check-input:checked {
    background-color: var(--grey-color);
    border-color: var(--grey-color);
}

.form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.25);
    border-color: var(--grey-color);
}

.form-control, .form-select, .form-check-input, .input-group-text {
    --bs-border-color: var(--grey-color-border);
    border-color: var(--grey-color-border);
}

.form-control, .form-select, .form-control-plaintext, .input-group-text {
    color: var(--grey-color-text);
    font-size: 0.875rem;
    font-family: DINish, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.disabled-icon {
    opacity: 0.4;
    filter: grayscale(100%);
}

.disabled {
    opacity: 0.4;
    pointer-events: none;
}

.no-license-trigger {
    position: relative;
}

    .no-license-trigger::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 10;
        background: rgba(0, 0, 0, 0);
        cursor: not-allowed;
    }

@media (max-width: 576px) {
    .bl-g, .bl-gx {
        --bs-gutter-x: 10px;
    }

    .bl-g, .bl-gy {
        --bs-gutter-y: 10px;
    }

    .container {
        padding: 10px;
    }

    .footer-wrapper .container {
        padding-right: 40px;
        padding-left: 40px;
    }
}

@media (min-width: 768px) {
    .col-md-20 {
        flex: 0 0 auto;
        width: 20%;
    }
}

@media (min-width: 992px) {
    .col-lg-20 {
        flex: 0 0 auto;
        width: 20%;
    }
}
