:root {
    --font-xs: 0.75rem;
    --font-sm: 0.875rem;
    --font-md: 1rem;
    --font-lg: 1.25rem;
    --font-xl: 1.5rem;
    --font-xxl: 2rem;
    
    box-sizing: border-box;
    font-size: calc(0.71em + 1vw);
}

.text-xs { font-size: var(--font-xs); }
.text-sm { font-size: var(--font-sm); }
.text-md { font-size: var(--font-md); }
.text-lg { font-size: var(--font-lg); }
.text-xl { font-size: var(--font-xl); }
.text-xxl { font-size: var(--font-xxl); }

.form-check        {
    padding-left: 1.5em !important;
}
.form-check-input {
    width: 1em;
    height: 1em;
    border-radius: 5px;
    margin-top: 0.1em !important;
    margin-left: -1.5em !important;
}

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

@media (min-width: 50em) {
    :root {
        font-size: 1.2em;
    }
}

html, body {
    height: 100%;
}

html {
    background-color: lightgray;
    display: table;
    margin: 0 auto;
}

body {
    display: table-cell;
    vertical-align: middle;
    line-height: 1.0875;
    font-family: arial, helvetica, sans-serif;
    margin: 0;
    padding: 0;
    max-width: 950px;
    display: flex;
    flex-direction: column;
}

@media(min-width: 576px) and (max-width: 767px) {
    body {
        max-width: 560px;
        min-width: 560px;
    }
}

@media(min-width: 768px) and (max-width: 991px) {
    body {
        max-width: 750px;
        min-width: 750px;
    }
}

@media(min-width: 992px) {
    body {
        min-width: 950px;
    }
}

@media(max-width: 567px) {
    :root {
        font-size: 1rem;
    }
    h2 {
        font-size: 1.5rem;
    }
    .col, .col-12 {
        padding-left: 0.3em;
        padding-right: 0.2em;
    }
}

@media(max-width: 410px) {
    :root {
        font-size: 1rem;
    }
    h2 {
        font-size: 1.5rem;
    }
    .col, .col-12 {
        padding-left: 0.3em;
        padding-right: 0.2em;
    }
}

div.margin-top-bottom {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

div.padding-top-bottom {
    padding-top: 1em;
    padding-bottom: 1em;
}

div.col p {
    margin: 0;
}

body.modal-open {
    padding-right: 0 !important;
}

.body-content {
    width: 100%;
    padding: 0;
    margin: 0;
    flex: 1 0 auto;
}

form {
    margin: 0;
    padding: 0;
}

header {
    padding: 0;
    min-height: 80px;
    border-radius: 0.5em;
    margin: 0;
}

header div.heading-blue-strip {
    height: 2.2em;
    max-height: 35px;
    padding: 0;
    margin-bottom: 0.3em;
    background-color: #1b365d;
}

div.body-content div.heading-light-blue-strip {
    height: 0.5em;
    padding: 0;
    background-color: #199bd7;
}

.logo {
    height: 35px;
    width: 95px;
    top: 40px;
    left: 0.192em;
    margin: 0;
    margin-left: 0.5em;
}

.bkgimg {
    background: url(../images/ltdlogo.png) no-repeat scroll 0 0 transparent;
}

.stepback-form {
    margin: 0;
    padding: 0;
}

.container {
    display: flex;
    padding-left: 0.5em;
    padding-right: 0.5em;
    width: 100%;
    margin: 0;
    flex-direction: column;
}

.main {
    display: flex;
    width: 100%;
    padding: 0;
    border-radius: 0.5em;
    flex-direction: column;
}

footer {
    width: 100%;
    height: 6.25em;
    color: #fff;
    padding: 0;
    background-color: #1b365d;
    flex-shrink: 0;
}

footer p {
    padding-left: 0.5em;
    padding-top: 0.5em;
}

.step-heading {
    display: flex;
    padding: 0.5em;
    width: 100%;
}

h2 {
    margin-top: 0;
}

span.emphasize {
    font-style: italic;
}

.mw-4 {
    max-width: 4em;
}

.separationMargin {
    padding-top: 1em;
    padding-bottom: 0.5em;
    margin: 0;
}

.padLeft {
    padding-left: 1.1em;
}

.acctxt {
    text-indent: -1000em;
    display: flex;
}

.flex>*+* {
    margin-top: 0;
    margin-left: 1.5em;
}

.validation-summary-errors {
    font-weight: bold;
    color: #cd0a0a;
    background: #fbbfbf;
    padding: 0.5em;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 0.1em;
    margin-right: 0.1em;
    border-radius: 0.5em;
}

.form-control {
    font-size: 1rem;
}

input[type=text] {
    border-radius: 0.3em;
}

body.waiting * {
    cursor: progress;
}

input.has-error, input.has-error:focus {
    border-color: red;
    box-shadow: 0 0 0 .2rem rgba(255, 0, 0, .25)
}

select.has-error {
    border-color: red;
}

select.has-error:focus {
    border-color: red;
    box-shadow: 0 0 0 .2rem rgba(255, 0, 0, .25)
}

.btn.disabled, .btn:disabled {
    opacity: .35;
}

.gap-1 {
    gap: 0.25em
}
.gap-2 {
    gap: 0.5em
}
.gap-3 {
    gap: 1em
}
.gap-4 {
    gap: 1.25em
}