hr.hr-text {
    position: relative;
    border: none;
    height: 1px;
    background: #999;
}

    hr.hr-text::before {
        content: attr(data-content);
        display: inline-block;
        background: #fff;
        font-weight: bold;
        font-size: 0.85rem;
        color: #999;
        border-radius: 30rem;
        padding: 0.2rem 2rem;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

hr.dashed {
    border-top: 2px dashed #999;
}

hr.dotted {
    border-top: 2px dotted #999;
}

hr.solid {
    border-top: 2px solid #999;
}

/* Vertical input group */
.vertical-input-group .input-group:first-child {
    padding-bottom: 0;
}

    .vertical-input-group .input-group:first-child * {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

.vertical-input-group .input-group:last-child {
    padding-top: 0;
}

    .vertical-input-group .input-group:last-child * {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }

.vertical-input-group .input-group:not(:last-child):not(:first-child) {
    padding-top: 0;
    padding-bottom: 0;
}

    .vertical-input-group .input-group:not(:last-child):not(:first-child) * {
        border-radius: 0;
    }

.vertical-input-group .input-group:not(:first-child) * {
    border-top: 0;
}


.navbar-default {
    position: fixed;
    width: 100%;
    margin: 0 0 405px 0;
}

/* Address Block*/
.vertical-input-group-full-width {
    padding: 0;
}

    .vertical-input-group-full-width .form-control {
        border-radius: 0;
    }


    .vertical-input-group-full-width input {
        border-right: 0;
        border-left: 0;
    }

        .vertical-input-group-full-width input:first-child {
            border-top: 0;
        }

    .vertical-input-group-full-width .input-group:last-child * {
        border-radius: 0.35rem !important;
    }

/* hack for state combobox being treated as a last child */
/* unless rounded-left specifically set on the class - e.g. country company picker
*/
.input-group .dxbs-combobox .form-control:not(.rounded-left) {
    border-radius: 0 !important;
}

/* DevExpress bootstrap 'fixes' */
/* allows DX controls to shrink without forcing to multiple lines  (TODO: revisit for better wrapping on small screens, apply only for xs?) */
.input-group .dxbs-textbox, .input-group .dxbs-memo, .input-group .dxbs-button-edit, .input-group .dxbs-spin-edit, .input-group .dxbs-dropdown-edit {
    width: 100px;
}
/* remove curve from top of item - e.g. to make a button fit nicely in a card footer */
.border-radius-top-0, .border-radius-top-0:hover, .border-radius-top-0 .card {
    border-top-right-radius: 0 !important;
    border-top-left-radius: 0 !important;
}

.border-radius-bottom-0, .border-radius-bottom-0:hover, .border-radius-bottom-0 .card {
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.input-group > .btn-group > .input-group-prepend {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
/* grid view headers, black */
.dxgvHSDC a {
    color: black;
    font-weight: 500;
}
/* wraps table cell text to multi line */
/*.multiline-column {
    white-space: normal !important;
}*/
.no-border {
    border: 0 !important;
}

.no-background {
    background: none !important;
}
/* DX: fix panel UI */
.dxpnlControl {
    font: 1rem -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
}

.dropdown-menu {
    font-size: 1rem !important;
}
/* cascade border down to card inside a grid, but not loading panel*/
.border-0 > .card {
    border: 0px !important;
}
/* Add border back to the loading panel */
.dxbs-lp.card {
    border: 1px solid #e3e6f0 !important;
    border-radius: 0.35rem !important;
}
/* DX Tab - blue tabs */
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
    color: white !important;
    background-color: #0060A4;
    border-bottom-width: 0px;
}

.nav-tabs {
    border-bottom: 2px solid #0060A4;
}

.custom-tab {
    padding-top: 0 !important;
}

.addresschange-btn {
    border-top: 0;
    display: inline;
}
/* custom checkbox styling */
.custom-switch {
    padding-left: 3rem !important;
    margin-right: 0 !important;
    height: auto;
}

    .custom-switch .custom-control-label {
        width: 100%;
    }

        .custom-switch .custom-control-label::after {
            background-color: #000000;
        }

.custom-control-input:disabled ~ .custom-control-label::after {
    background-color: #b7b9cc;
}

.input-group-prepend .custom-switch {    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group-append .custom-switch {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.custom-control-input:disabled ~ .custom-control-label {
    color: #000000 !important;
}
/* Green 'checked' checkboxes */
.custom-control-input:checked ~ .custom-control-label::before {
    background-color: rgb(28, 200, 138);
    border-color: #b7b9cc;
}

.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(28, 200, 138, 0.38);
}
/* Override the devexpress fontawesome spinner with the Bootstrap one (small variant)) */
.fa.fa-sync::before,
.fa.fa-refresh::before {
    content: "" !important;
    color: #0062cc !important;
    display: inline-block;
    width: 1rem;
    height: 1rem;
    vertical-align: text-bottom;
    border: solid currentColor;
    border-width: 0.2em;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spinner-border .75s linear infinite;
    animation: spinner-border .75s linear infinite;
}

.progress-lg > .progress {
    height: 2rem !important;
}


/* Trying to fix the issue with DevExpress not correctly rounding corners on input groups (they put in a hidden input that seems to break bootstrap */
.input-group > .dxbs-textbox > div > input.form-control,
.input-group > .dxbs-memo > div > input.form-control,
.input-group > .dxbs-button-edit > div:not(.input-group) > input.form-control,
.input-group > .dxbs-spin-edit > div:not(.input-group) > input.form-control,
.input-group > .dxbs-dropdown-edit > div:not(.input-group-append):not(.input-group-prepend):not(.dxbs-dropdown-area):not(.dxbs-ddmodal):not(.dxbs-ddmodal-back):not(.dxbs-out-of-range-warn):not(.dxbs-ld):not(.dxbs-lp):not(.input-group) > input.form-control,
.input-group > .dxbs-button-edit > .input-group > div:not(.input-group-append):not(.input-group-prepend) > input.form-control,
.input-group > .dxbs-spin-edit > .input-group > div:not(.input-group-append):not(.input-group-prepend) > input.form-control,
.input-group > .dxbs-dropdown-edit > .input-group > div:not(.input-group-append):not(.input-group-prepend):not(.dxbs-dropdown-area):not(.dxbs-ddmodal):not(.dxbs-ddmodal-back):not(.dxbs-out-of-range-warn):not(.dxbs-ld):not(.dxbs-lp) > input.form-control,
.input-group > .dxbs-tagbox > .form-control {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group > .dxbs-textbox:not(:last-of-type) > div > input.form-control,
.input-group > .dxbs-memo:not(:last-of-type) > div > input.form-control,
.input-group > .dxbs-button-edit:not(:last-of-type) > div:not(.input-group) > input.form-control,
.input-group > .dxbs-spin-edit:not(:last-of-type) > div:not(.input-group) > input.form-control,
.input-group > .dxbs-dropdown-edit:not(:last-of-type) > div:not(.input-group-append):not(.input-group-prepend):not(.dxbs-dropdown-area):not(.dxbs-ddmodal):not(.dxbs-ddmodal-back):not(.dxbs-out-of-range-warn):not(.dxbs-ld):not(.dxbs-lp):not(.input-group) > input.form-control,
.input-group > .dxbs-button-edit:not(:last-of-type) > .input-group > div:not(.input-group-append):not(.input-group-prepend) > input.form-control,
.input-group > .dxbs-spin-edit:not(:last-of-type) > .input-group > div:not(.input-group-append):not(.input-group-prepend) > input.form-control,
.input-group > .dxbs-dropdown-edit:not(:last-of-type) > .input-group > div:not(.input-group-append):not(.input-group-prepend):not(.dxbs-dropdown-area):not(.dxbs-ddmodal):not(.dxbs-ddmodal-back):not(.dxbs-out-of-range-warn):not(.dxbs-ld):not(.dxbs-lp) > input.form-control,
.input-group > .dxbs-tagbox:not(:last-of-type) > .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/**/

/* workaround for issue where devexpress inserts a hidden input into button/input groups, which breaks bootstrap selecting first child (which is then the hidden input and not the correct item)*/
/*.btn-group > .btn:first-of-type {
    border-top-left-radius: 0.35rem;
    border-bottom-left-radius: 0.35rem;
}*/


/* overlay div to show over everything when we are processing a submission or whole page process that takes a while (DO NOT use this because you are lazy and want to lock the whole page for a single control to refresh) */
.page-lock-overlay {
    display: block;
    visibility: visible;
    position: absolute;
    z-index: 2147483646;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    filter: alpha(opacity=0);
    opacity: 0;
}

/* Slightly more readable tag box */
.dxbs-tagbox .dxbs-tag {
    font-size: 85% !important;
    font-weight: 400 !important;
    padding-top: 0.15em !important;
    padding-bottom: 0.15em !important;
    padding-right: 0.4em !important;
    padding-left: 0.4em !important;
}

.dxbs-tag-remove-btn {
    font-weight: 900 !important;
}


.credit-card {
    height: 32px;
    padding-top: 3px;
    padding-bottom: 3px;
}

.cc-visa {
    background-image: url('../content/images/CC/visa.jpg');
    background-repeat: no-repeat;
    background-size: contain;
}

.cc-amex {
    background-image: url('../content/images/CC/amex.jpg');
    background-repeat: no-repeat;
    background-size: contain;
}

.cc-mastercard {
    background-image: url('../content/images/CC/mastercard.png');
    background-repeat: no-repeat;
    background-size: contain;
}

.cc-discover {
    background-image: url('../content/images/CC/discover.jpg');
    background-repeat: no-repeat;
    background-size: contain;
}

.border-left-warning-highlight {
    border-left: 0.75rem solid #f6c23e !important;
    padding-left: 0px;
}


/* Force a xs layout */
.xs-layout .col-sm-12,
.xs-layout .col-sm-11,
.xs-layout .col-sm-10,
.xs-layout .col-sm-9,
.xs-layout .col-sm-8,
.xs-layout .col-sm-7,
.xs-layout .col-sm-6,
.xs-layout .col-sm-5,
.xs-layout .col-sm-4,
.xs-layout .col-sm-3,
.xs-layout .col-sm-2,
.xs-layout .col-sm-1,
.xs-layout .col-md-12,
.xs-layout .col-md-11,
.xs-layout .col-md-10,
.xs-layout .col-md-9,
.xs-layout .col-md-8,
.xs-layout .col-md-7,
.xs-layout .col-md-6,
.xs-layout .col-md-5,
.xs-layout .col-md-4,
.xs-layout .col-md-3,
.xs-layout .col-md-2,
.xs-layout .col-md-1,
.xs-layout .col-lg-12,
.xs-layout .col-lg-11,
.xs-layout .col-lg-10,
.xs-layout .col-lg-9,
.xs-layout .col-lg-8,
.xs-layout .col-lg-7,
.xs-layout .col-lg-6,
.xs-layout .col-lg-5,
.xs-layout .col-lg-4,
.xs-layout .col-lg-3,
.xs-layout .col-lg-2,
.xs-layout .col-lg-1,
.xs-layout .col-xl-12,
.xs-layout .col-xl-11,
.xs-layout .col-xl-10,
.xs-layout .col-xl-9,
.xs-layout .col-xl-8,
.xs-layout .col-xl-7,
.xs-layout .col-xl-6,
.xs-layout .col-xl-5,
.xs-layout .col-xl-4,
.xs-layout .col-xl-3,
.xs-layout .col-xl-2,
.xs-layout .col-xl-1 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

/* allow dropdown to grow larger than combobox */
.dx_listbox_50 {
    min-width: 500px !important;
}

.italicGreyDropdownItem {
    font-style: italic;
    color: lightgray;
}


@media (max-width: 767px) {
    /* Make the DX combobox dropdowns take the whole width on smaller screens*/
    .dx_listbox {
        width: calc(100vw - 2rem) !important;
        max-width: calc(100vw - 2rem) !important;
        min-width: calc(100vw - 2rem) !important;
        position: fixed;
        left: 1rem !important;
    }
}


/* used wth auto height on the custom-switch so that the text part of a control doesnt get set to 100% height */
/* appear redundent now and actually messes with memo fields*/
/*.input-group-prepend > .input-group-text {
    height: 38px;
}*/


/* for grouping similar controls (e.g. checkboxes) as it looks awful is a lot are together */
.checkbox-group .row:not(:first-of-type) .form-control {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.checkbox-group .row:not(:last-of-type) .form-control {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
