html, body {
    font-family: var(--main-font), sans-serif !important;
}

h1:focus {
    outline: none;
}

h1, h2, h3, h4, h5, h6 {
    margin: unset;
}

h5 {
    line-height: 2rem;
}

a.animated {
    position: relative;
    text-decoration: none;
    color: var(--primary-link-color) !important;
    cursor: pointer;
}

a.animated:focus {
    outline: unset;
}

a.animated::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px;
    width: 0%;
    background-color: var(--primary-link-color);
    transition: width 0.2s ease-in-out;
    z-index: -1;
    pointer-events: none;
}

a.animated:hover::after,
a.animated:focus::after {
    width: 100%;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: var(--error-color);
    font-size: 0.875rem;
}

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-button-container {
    width: 100%;
    display: flex;
    flex-direction: row-reverse;
    justify-content: end;
    gap: 1rem;
}

.form-button-container.small {
    max-width: 600px;
}

.form-button-container.default {
    max-width: 800px;
}

.form-button-container.large {
    max-width: 1000px;
}

.form-button-container.very-large {
    max-width: 1200px;
}

.form-item-container {
    width: 100%;
}

.form-item-container.small {
    max-width: 600px;
}

.form-item-container.default {
    max-width: 800px;
}

.form-item-container.large {
    max-width: 1000px;
}

.form-item-container.very-large {
    max-width: 1200px;
}

.form-item-container .form-item-label {
    width: 100%;
    margin-bottom: 0.25rem;
    font-style: italic;
    font-size: var(--font-size-smaller);
    color: var(--color-text-muted);
}

.form-item-container .form-item-input {
    width: 100%;
}

.form-item-container .form-item-input.flex {
    display: flex;
    flex-flow: nowrap;
    gap: 0px;
}

.form-item-container .form-item-row {
    display: flex;
    flex-flow: nowrap;
    gap: 0px;
}

.form-item-container .form-item-row:has(> :nth-child(2)) > :not(:first-child):not(:last-child) {
    border-radius: 0px !important;
}

.form-item-container .form-item-row:has(> :nth-child(2)) > :first-child {
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

.form-item-container .form-item-row:has(> :nth-child(2)) > :last-child {
    border-top-left-radius: 0px !important;
    border-bottom-left-radius: 0px !important;
}

.remove-left-border-radius {
    border-top-left-radius: 0px !important;
    border-bottom-left-radius: 0px !important;
}

.remove-right-border-radius {
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

.primary-interactive {
    border: 1px solid var(--primary-border-color);
    background-color: var(--primary-background-color);
    color: var(--primary-font-color);
    cursor: pointer;
}

.primary-interactive:hover {
    border-color: var(--primary-border-color-hover);
    background-color: var(--primary-background-color-hover);
    color: var(--primary-font-color-hover);
}

.primary-interactive:active {
    border-color: var(--primary-border-color-active);
    background-color: var(--primary-background-color-active);
    color: var(--primary-font-color-active);
}

.primary-interactive:active:hover {
    border-color: var(--primary-border-color-active-hover);
    background-color: var(--primary-background-color-active-hover);
    color: var(--primary-font-color-active-hover);
}

.primary-interactive:focus {
    border-color: var(--primary-border-color-focus);
}

.secondary-interactive {
    border: 1px solid var(--secondary-border-color);
    background-color: var(--secondary-background-color);
    color: var(--secondary-font-color);
    cursor: pointer;
}

.secondary-interactive:hover {
    border-color: var(--secondary-border-color-hover);
    background-color: var(--secondary-background-color-hover);
    color: var(--secondary-font-color-hover);
}

.secondary-interactive:active {
    border-color: var(--secondary-border-color-active);
    background-color: var(--secondary-background-color-active);
    color: var(--secondary-font-color-active);
}

.secondary-interactive:active:hover {
    border-color: var(--secondary-border-color-active-hover);
    background-color: var(--secondary-background-color-active-hover);
    color: var(--secondary-font-color-active-hover);
}

.secondary-interactive:focus {
    border-color: var(--secondary-border-color-focus);
}

.tabshell-container {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: unset;
    overflow: hidden;
}

.tabshell-container .height-set-100przt {
    height: 100%;
}

.tabshell-container .tabshell-header {
    position: sticky;
    top: 0;
    width: 100%;
    min-height: 48px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--primary-border-color);
    background-color: white;
    color: var(--primary-background-color);
    padding: 0.75rem 1rem;
    padding-bottom: unset;
    gap: 0.25rem;
    overflow: hidden;
}

.tabshell-container .tabshell-header .tabshell-header-item {
    display: flex;
    max-width: 100%;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: break-spaces;
    text-align: center;
    font-size: 0.9rem;
    gap: 0.25rem;
    padding: 0.25rem 1rem;
    border-radius: var(--default-border-radius) var(--default-border-radius) 0rem 0rem;
    border: 1px solid var(--primary-border-color);
    background-color: white;
    color: var(--primary-background-color);
    border-bottom: unset;
    cursor: pointer;
}

.tabshell-container .tabshell-header .tabshell-header-item:hover {
    border-color: var(--primary-border-color-hover);
    background-color: var(--primary-background-color-hover);
    color: var(--primary-font-color-hover);
}

.tabshell-container .tabshell-header .tabshell-header-item.active {
    border-color: var(--primary-border-color-active);
    background-color: var(--primary-background-color-active);
    color: var(--primary-font-color-active);
    cursor: default;
}

.tabshell-container .tabshell-header .tabshell-header-item.tab-validation-error {
    border-color: var(--error-color);
    color: var(--error-color);
}

.tabshell-container .tabshell-header .tabshell-header-item.tab-validation-error:hover {
    background-color: var(--error-background-color);
}

.tabshell-container .tabshell-header .tabshell-header-item i {
    color: inherit;
}

.tabshell-container .tabshell-header .tabshell-header-item .tabshell-header-close-icon {
    width: 18px;
    height: 18px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    text-align: center;
    font-size: 0.75rem;
    color: inherit;
    cursor: pointer;
}

.tabshell-container .tabshell-header .tabshell-header-item .tabshell-header-item-spacer {
    padding-right: 0.25rem;
}

.tabshell-container .tabshell-body-reference {
    position: relative;
    flex: 1;
    overflow: hidden;
}

.tabshell-container .tabshell-body-reference .tabshell-body {
    height: 100%;
    overflow: auto;
}

.tabshell-container .tabshell-body-reference .tabshell-body .tabshell-page {
    min-height: 100%;
    flex-direction: column;
}

.text-small {
    font-size: 0.85rem;
}

.text-italic {
    font-style: italic
}

.text-break-spaces {
    white-space: break-spaces;
}

.element-separator {
    height: 2rem;
}

.small-element-separator {
    height: 1rem;
}

.very-small-element-separator {
    height: 0.5rem;
}

.disable-user-select {
    user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
}

@media (min-width: 800px) {
    .tabshell-container .tabshell-header .tabshell-header-item {
        text-align: left;
        white-space: nowrap;
    }
}

ul {
    list-style: none;
}

p {
    margin: 0;
}

.scroll-margin {
    scroll-margin-top: 150px;
}