a {
    color: #007bff;
    text-decoration: none;
    background-color: transparent;
}

a:hover {
    color: #0056b3;
    text-decoration: underline;
}

a:not([href]),
a:not([href]):hover {
    color: inherit;
    text-decoration: none;
}

label {
    display: inline-block;
    margin-bottom: .5rem;
}

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

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

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

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

small, .small {
    font-size: 80%;
    font-weight: 400;
}

hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, .1);
    color: inherit;
    opacity: 1;
}

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
    --bs-gutter-x: 30px;
}

@media (min-width: 1400px) {
    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        max-width: 1140px;
    }
}

.row {
    --bs-gutter-x: 30px;
}

.col,
.col-auto,
[class^="col-"]:not([class^="col-form-label"]),
[class*=" col-"]:not([class*=" col-form-label"]) {
    position: relative;
    padding-right: calc(var(--bs-gutter-x, 30px) * .5);
    padding-left: calc(var(--bs-gutter-x, 30px) * .5);
}

.row > :where(:not(.col):not([class*="col-"])) {
    flex-shrink: 1;
    width: auto;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
    margin-top: 0;
}

.form-group {
    margin-bottom: 1rem;
}

.btn {
    --bs-btn-border-radius: .25rem;
    --bs-btn-focus-box-shadow: 0 0 0 .2rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
}

.btn-lg {
    --bs-btn-border-radius: .3rem;
}

.btn-sm {
    --bs-btn-border-radius: .2rem;
}

.btn-primary {
    --bs-btn-bg: #007bff;
    --bs-btn-border-color: #007bff;
    --bs-btn-hover-bg: #0069d9;
    --bs-btn-hover-border-color: #0062cc;
    --bs-btn-focus-shadow-rgb: 38, 143, 255;
    --bs-btn-active-bg: #0062cc;
    --bs-btn-active-border-color: #005cbf;
    --bs-btn-disabled-bg: #007bff;
    --bs-btn-disabled-border-color: #007bff;
}

.btn-secondary {
    --bs-btn-bg: #6c757d;
    --bs-btn-border-color: #6c757d;
    --bs-btn-hover-bg: #5a6268;
    --bs-btn-hover-border-color: #545b62;
    --bs-btn-focus-shadow-rgb: 130, 138, 145;
    --bs-btn-active-bg: #545b62;
    --bs-btn-active-border-color: #4e555b;
    --bs-btn-disabled-bg: #6c757d;
    --bs-btn-disabled-border-color: #6c757d;
}

.form-control {
    height: calc(1.5em + .75rem + 2px);
    color: #495057;
    border-radius: .25rem;
}

textarea.form-control,
select.form-control[size],
select.form-control[multiple] {
    height: auto;
}

.mt-n2 {
    margin-top: -.5rem !important;
}

.text-justify {
    text-align: justify !important;
}

@media (min-width: 576px) {
    .text-sm-start {
        text-align: left !important;
    }

    .text-sm-end {
        text-align: right !important;
    }

    .text-sm-center {
        text-align: center !important;
    }
}

@media (min-width: 768px) {
    .text-md-start {
        text-align: left !important;
    }

    .text-md-end {
        text-align: right !important;
    }

    .text-md-center {
        text-align: center !important;
    }
}

@media (min-width: 992px) {
    .text-lg-start {
        text-align: left !important;
    }

    .text-lg-end {
        text-align: right !important;
    }

    .text-lg-center {
        text-align: center !important;
    }
}

@media (min-width: 1200px) {
    .text-xl-start {
        text-align: left !important;
    }

    .text-xl-end {
        text-align: right !important;
    }

    .text-xl-center {
        text-align: center !important;
    }
}

.form-control:focus {
    color: #495057;
    border-color: #80bdff;
    box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25);
}

.form-check {
    position: relative;
    display: block;
    min-height: 0;
    padding-left: 1.25rem;
    margin-bottom: 0;
}

.form-check .form-check-input {
    float: none;
    margin-left: -1.25rem;
}

.form-check-input {
    position: absolute;
    width: auto;
    height: auto;
    margin-top: .3rem;
    vertical-align: baseline;
    background: none;
    border: 0;
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
    -webkit-print-color-adjust: economy;
    print-color-adjust: economy;
}

.form-check-input:focus,
.form-check-input:checked,
.form-check-input:checked[type=radio],
.form-check-input:checked[type=checkbox] {
    background: none;
    border: 0;
    box-shadow: none;
}

.form-check-label {
    margin-bottom: 0;
}

.card {
    --bs-card-spacer-y: 1.25rem;
    --bs-card-spacer-x: 1.25rem;
    --bs-card-cap-padding-y: .75rem;
    --bs-card-cap-padding-x: 1.25rem;
    --bs-card-border-radius: .25rem;
    --bs-card-inner-border-radius: calc(.25rem - 1px);
}

.modal {
    --bs-modal-border-radius: .3rem;
    --bs-modal-inner-border-radius: calc(.3rem - 1px);
}

.list-group {
    --bs-list-group-border-radius: .25rem;
}

.dropdown-menu {
    --bs-dropdown-border-radius: .25rem;
    --bs-dropdown-inner-border-radius: calc(.25rem - 1px);
    --bs-dropdown-item-padding-x: 1.5rem;
    --bs-dropdown-link-active-bg: #007bff;
}
