/*========================================================================*/
/*===== Vars  */
/*========================================================================*/
:root {
    --bs-primary: #0075BF;
    --btn-primary-color: #FFF;
    --btn-primary-bg: #0075BF;
    --btn-primary-bg-hover: #00548A;
    --btn-primary-outline-color: #0075BF;
    --btn-primary-outline-color-hover: #00548A;
    --btn-primary-outline-border: #0075BF;
    --btn-primary-outline-border-hover: #00548A;
    --btn-primary-outline-bg: #FFF;
    --btn-primary-outline-bg-hover: #E5F5FF;
    --btn-secondary-color: #000;
    --btn-secondary-bg: #0075BF;
    --btn-secondary-bg-hover: #003558;
    --btn-light-bg: #DDD;
    --btn-light-bg-hover: #4E5552;
    --btn-dark-bg: #000;
    --btn-dark-bg-hover: #666;
    --color-light: #FFF;
    --color-xtlight-gray: #eeeeee;
    --color-light-gray: #D8D8D8;
    --color-medium-gray: #DDD;
    --color-dark-gray: #4E5552;
    --color-dark: #000;
    --color-muted: #7A7A7A;
    --color-highlight: #0075Bf;
    --readonly-font: #495057;
    --readonly-bg: #8d8d8d;
    --readonly-action-bg: #F1F1E6;
    --readable-width-min: 60ch;
    --readable-width-max: 120ch;
    --bs-body-bg: #f8f9fa;
    --bs-body-color: #060606;
    --placeholder-color: #a0a0a0;
    --box-border-color: #DDDDDD;
    --shadow-body-box: 0px 2px 4px 0px rgba(0, 0, 0, .25);
    --shadow-callout: 2px 2px 2px 1px rgba(0, 0, 0, .25);
    --shadow-dark: 2px 2px 2px 1px rgba(0, 0, 0, .75);
    --shadow-photo: 2px 2px 2px 1px rgba(0, 0, 0, .75);
    --shadow-btn: 0px 2px 4px 0px rgba(0, 0, 0, .25);
    --shadow-btn-hover: 2px 2px 0px 0px rgba(0, 0, 0, .75);
    --body-box-bg: #FFF;
    --alert-box-bg: #ffffed;
    --simple-box-bg: #D8D8D8;
    --section-primary-bg: #F6F6F6;
    --new-question-bg: #E7F2FE;
    --footer-menu-section-bg: #FFF;
    --anchor-color: #0075BF;
    --anchor-hover-color: #000;
    --required-indicator: #A94442;
    --validation-error-color: #CD2026;
    --validation-error-bg: #F9DEDE; /*rgba(255, 0, 0, 0);*/
    --nav-success-icon-color: green;
    --nav-error-icon-color: red;
    --nav-disabled-icon-color: rgba(0,0,0,.3);
    --uw-rule-header-bg: #FFF5C0;
    --uw-rule-header-icon: #F2B91D;
}

html {
    font-size: 14px;
    box-sizing: border-box;
}

html, body {
    height: 100%;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.label-tagline {
    color: var(--color-muted);
    font-size: 10pt;
    margin-top: -4px;
}

.label-filler {
    padding: 1rem;
}

.fs-medium {
    font-size: .8rem;
}

.fs-small {
    font-size: .6rem;
}

.fontAwesome {
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
}

.font-weight-bold {
    font-weight: bold;
}
/*========================================================================*/
/*===== Validation  */
/*========================================================================*/
label span,
.required-indicator {
    color: var(--required-indicator) !important;
    font-weight: bold;
    font-size: 1.1rem;
}

.field-validation-error {
    color: var(--validation-error-color) !important;
}

.submitError,
.submitError:hover {
    border-width: 2px;
    border-color: rgba(255,0,0,0.5) !important;
}

.validation-error {
    color: var(--validation-error-color);
}

.input-validation-error {
    border: solid 2px var(--validation-error-color) !important;
    background-color: var(--validation-error-bg) !important;
}

.required-custom-error {
    background-color: rgba(255,0,0,0.05) !important;
}

.input-new-question {
    background-color: var(--new-question-bg) !important;
}

.disabled, .disabledLocked {
    pointer-events: none;
    color: var(--readonly-font);
    background: #F5F5F5;
}

/*========================================================================*/
/*===== Bootstrap Overrides  */
/*========================================================================*/
::placeholder {
    color: var(--placeholder-color) !important;
}

.row {
    padding-top: 1.6rem;
}

.row-nopad {
    padding-top: 0rem !important;
}

/*===== control focus border */
/*input[type=text]:focus,
[type=text].form-control:focus {
    box-shadow: inset 3px 3px 0px #1861ac, 3px 3px 0px #1861ac;
}*/

.section-primary .row:first-of-type,
.section-new-question .row:first-of-type {
    padding-top: 0rem !important;
}

.row-striped:nth-of-type(odd) {
    background-color: var(--color-xtlight-gray);
}

.row-striped:nth-of-type(even) {
    background-color: var(--color-light);
}

.col-12-start-border {
    border: none;
}

@media (min-width: 768px) {
    .col-12-start-border {
        border-left: 2px solid #dee2e6 !important;
    }
}

.text-muted {
    color: var(--color-muted) !important;
}

a.inline-block {
    display: inline-block !important;
}

a {
    text-decoration: none;
    color: var(--anchor-color);
}

    a:hover {
        color: var(--anchor-hover-color);
    }

h1, h2, h3, h4, h5, h6,
.h1Font, .h2Font, .h3Font, .h4Font, .h5Font, .h6Font {
    font-family: 'Source Sans Pro', sans-serif;
}

.h2Font {
    font-size: 2rem;
}

h5, .h5Font {
    font-weight: 600 !important;
}

.color-highlight {
    color: var(--color-highlight) !important;
}

.bg-light {
    background-color: var(--color-light) !important;
}

.bg-xtlight-gray {
    background-color: var(--color-xtlight-gray);
}

.bg-light-gray {
    background-color: var(--color-light-gray);
}

.bg-medium-gray {
    background-color: var(--color-medium-gray);
}

.bg-dark-gray {
    background-color: var(--color-dark-gray);
}

.btn {
    line-height: 2rem;
    height: 3rem;
    min-width: 160px;
    border-radius: 2rem;
    font-weight: normal;
}

.btn-sm {
    line-height: 1.4rem;
    height: 2.0rem;
    min-width: 110px;
    border-radius: 1.75rem;
    font-weight: normal;
    font-size: .75rem;
}

.btn-fixed-width {
    width: 300px;
}

.btn-fixed-width-sm {
    width: 180px;
}

.btn-primary {
    color: var(--btn-primary-color) !important;
    background-color: var(--btn-primary-bg) !important;
    border-color: var(--btn-primary-bg) !important;
    border-width: 2px !important;
}

    .btn-primary:hover,
    .btn-primary:focus {
        border-color: var(--color-medium-gray) !important;
        background-color: var(--btn-primary-bg-hover) !important;
    }

.btn-outline-primary {
    color: var(--btn-primary-outline-color) !important;
    background-color: var(--btn-primary-bg) !important;
    border-color: var(--btn-primary-outline-border) !important;
    background-color: var(--btn-primary-outline-bg) !important;
    border-width: 2px !important;
}

    .btn-outline-primary:hover,
    .btn-outline-primary:focus {
        color: var(--btn-primary-outline-color-hover) !important;
        border-color: var(--btn-primary-outline-border-hover) !important;
        background-color: var(--btn-primary-outline-bg-hover) !important;
    }

.btn-add {
    color: var(--color-light);
    background-color: var(--color-dark) !important;
    border-color: var(--color-dark) !important;
}

    .btn-add:hover {
        color: var(--color-light);
        background-color: var(--btn-dark-bg-hover) !important;
    }

.btn-component-add {
    color: var(--color-dark-gray) !important;
    background-color: var(--btn-light-bg) !important;
    border: solid 2px var(--btn-light-bg) !important;
    border-radius: 0px;
    /*outline: 2px solid var(--bs-body-bg);
    transition: outline-offset 250ms ease*/
}

    .btn-component-add:hover,
    .btn-component-add:focus {
        color: var(--btn-primary-outline-color) !important;
        background-color: var(--color-light) !important;
        border-color: var(--btn-primary-outline-border) !important;
    }

.btn-group > .btn {
    min-width: auto;
    line-height: normal;
    height: auto;
    color: var(--color-dark);
}

    .btn-group > .btn.btn-secondary {
        background-color: var(--btn-light-bg);
    }

        .btn-group > .btn.btn-secondary:hover {
            background-color: var(--btn-light-bg-hover);
            color: var(--color-light);
        }

.btn-vehicle-category {
    display: inline-block;
    padding: 0rem;
    background-size: contain;
    vertical-align: middle;
    padding: 1.5rem;
    text-align: center;
    box-shadow: var(--shadow-btn);
}

    .btn-vehicle-category:hover {
        background-color: var(--color-light-gray);
        box-shadow: var(--shadow-btn-hover);
    }

.vehicle-vehicle,
.vehicle-trailer {
    width: 95px;
    height: 45px;
    background-image: url('../Images/vehicleVehicle.png?v=01');
    background-size: cover;
    vertical-align: middle;
}

.vehicle-trailer {
    background-image: url('../Images/vehicleTrailer.png?v=01');
}
/*========================================================================*/
/*===== Sections  */
/*========================================================================*/
div.section-primary,
div.section-new-question {
    padding: 1.5rem;
    background-color: var(--section-primary-bg);
}

div.section-new-question {
    background-color: var(--new-question-bg);
}

div.item-call-out {
    box-shadow: 0 0 0 1pt var(--color-highlight);
    color: var(--color-highlight);
    padding: .5rem;
    text-align: center;
    border-radius: 5px;
}
/*========================================================================*/
/*===== Page Layout  */
/*========================================================================*/

body {
    position: relative;
    font-family: 'Open Sans', sans-serif;
    display: flex;
    flex-direction: column;
    width: auto;
}

div.body-box,
div.alert-box {
    background-color: var(--body-box-bg);
    box-shadow: var(--shadow-body-box);
    padding: 2rem;
    border-radius: .25rem;
    min-width: var( --readable-width-min);
}

div.alert-box {
    background-color: var(--alert-box-bg);
    border-radius: .75rem;
}

div.alert-box-grid {
    display: grid;
    grid-gap: 10px;
    grid-template-columns: 85px minmax(260px, 1fr);
    box-sizing: border-box;
}

div.simple-card {
    background-color: var(--body-box-bg);
    box-shadow: var(--shadow-body-box);
    padding: .5rem;
    border-radius: .25rem;
}

.max-readable-width {
    max-width: var(--readable-width-max);
}

.content-holder {
    flex: 1 0 auto;
}

/* Logo */
div[class|="companyLogo"] {
    vertical-align: middle;
    background-size: contain;
    background-repeat: no-repeat;
    width: 207px;
    height: 120px;
}

div.companyLogo-DEFAULT {
    background-image: url('../images/CIRU-Finalv2.png');
}

a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

li.nav-item-custom {
    min-width: 85px;
    max-width: 210px;
    text-align: center;
    border-bottom: 5px solid var(--color-light-gray);
}

    li.nav-item-custom.active {
        border-bottom-color: var(--color-highlight);
    }

.nav-link.active {
    color: var(--color-highlight);
    font-weight: bold;
}

li.nav-item-custom:hover {
    border-bottom-color: var(--color-highlight);
}

li.nav-item-custom.disabled:hover {
    border-bottom-color: var(--color-light-gray);
}

.nav-success {
    color: var(--nav-success-icon-color);
}

.nav-error {
    color: var(--nav-error-icon-color);
}

.nav-disabled {
    color: var(--nav-disabled-icon-color);
}

/* Components */
.isDisabled {
    color: currentColor;
    cursor: not-allowed;
    opacity: 0.5;
    text-decoration: none;
}

.tip-text {
    font-size: .8rem !important;
}

ul.text-list {
    list-style: none; /* Remove default bullets */
    line-height: 1.6em;
}

    ul.text-list li::before {
        content: "\2022"; /* Add content: \2022 is the CSS Code/unicode for a bullet */
        color: var(--color-highlight);
        font-weight: bold;
        font-size: 1.6em !important;
        vertical-align: middle;
        display: inline-block;
        width: 1em;
        margin-left: -1em;
    }

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}
/*========================================================================*/
/*===== Componet Layout */
/*========================================================================*/
.namePrefix {
    grid-area: prefix;
}

.nameFirst {
    grid-area: fName;
}

.nameMiddle {
    grid-area: mName;
}

.nameLast {
    grid-area: lName;
}

.nameSuffix {
    grid-area: suffix;
}

div.userNameGrid {
    display: grid;
    grid-gap: 10px;
    grid-template-columns: minmax(180px, 1fr) 65px minmax(200px, 1fr);
    grid-template-areas:
        'fName mName'
        'lName lName';
    box-sizing: border-box;
}

div.userNamePrefixSufixGrid {
    display: grid;
    grid-gap: 10px;
    grid-template-columns: 85px minmax(180px, 1fr) 85px;
    grid-template-areas:
        'prefix fName mName'
        'lName lName suffix';
    box-sizing: border-box;
}

@media (min-width: 768px) {
    div.userNameGrid {
        grid-template-columns: minmax(180px, 1fr) 65px minmax(200px, 1fr);
        grid-template-areas: 'fName mName lName';
    }

    div.userNamePrefixSufixGrid {
        grid-template-columns: 85px minmax(180px, 1fr) 65px minmax(200px, 1fr) 85px;
        grid-template-areas: 'prefix fName mName lName suffix';
    }
}

div.pictureSummaryGrid {
    display: grid;
    grid-gap: 10px;
    grid-template-columns: 85px minmax(460px, 1fr);
    box-sizing: border-box;
}

.card-editable {
    position: relative;
}

.card-view {
    position: relative;
    background-color: var(--bs-body-bg);
    border-radius: .5rem;
}

.edit-widget-holder {
    position: absolute;
    top: .5rem;
    right: .5rem;
    display: block;
    color: var(--color-muted);
}

    .edit-widget-holder a {
        padding: .5rem;
    }

.card-editable:hover .edit-widget-holder {
    display: block;
}

.grid-2-columns,
.grid-3-columns,
.grid-4-columns {
    margin: auto;
    display: grid;
    gap: .5rem;
    grid-template-columns: none;
    grid-auto-flow: row;
    grid-auto-rows: 1fr;
}

.no-gap {
    gap: 0;
}

@media (min-width: 45rem) {
    .grid-2-columns {
        grid-template-columns: 50% 50%;
    }

    .grid-3-columns {
        grid-template-columns: 33% 33% 33%;
    }

    .grid-4-columns {
        grid-template-columns: 25% 25% 25% 25%;
    }
}

.grid-uw-rule {
    margin: auto;
    display: grid;
    gap: .5rem;
    grid-template-columns: 40px auto 60px;
    grid-auto-flow: row;
    grid-auto-rows: 1fr;
}

    .grid-uw-rule > div {
        padding: 1rem;
    }

.uw-rule-header {
    background-color: var(--uw-rule-header-bg);
}

.uw-rule-icon {
    color: var(--uw-rule-header-icon);
}

a.saved-quote {
    display: block;
}

    a.saved-quote .simple-card:hover {
        background-color: var(--color-light-gray) !important;
    }

a.click-row {
    display: block;
    padding: .5rem;
    border: 1px solid var(--box-border-color);
    border-radius: .5rem;
    margin-top: .5rem;
    background-color: var(--color-xtlight-gray);
}

    a.click-row:hover {
        background-color: var(--color-light-gray) !important;
    }

.quoteNumber {
    grid-area: quoteNumber;
}

.quoteDate {
    grid-area: quoteDate;
}

.quoteDesc {
    grid-area: quoteDesc;
}

.grid-saved_quotes {
    margin: auto;
    display: grid;
    gap: .5rem;
    grid-template-columns: 120px 120px auto;
    grid-template-areas:
        'quoteNumber quoteDate quoteDate'
        'quoteDesc quoteDesc quoteDesc';
    box-sizing: border-box;
}

    .grid-saved_quotes > div {
        padding: 0rem;
    }

@media (min-width: 45rem) {
    .grid-saved_quotes {
        grid-template-columns: 160px 120px auto;
        grid-template-areas:
            'quoteNumber quoteDate quoteDesc';
    }
}

.grid-saved_endorsements {
    margin: auto;
    display: grid;
    gap: .5rem;
    grid-template-columns: 90px 120px 120px auto;
    grid-template-areas:
        'endorsementStatus endorsementNumber endorsementDate endorsementDate'
        'endorsementDesc endorsementDesc endorsementDesc endorsementDesc';
    box-sizing: border-box;
}

    .grid-saved_endorsements > div {
        padding: 0rem;
    }

@media (min-width: 45rem) {
    .grid-saved_endorsements {
        grid-template-columns: 90px 160px 120px auto;
        grid-template-areas:
            'endorsementStatus endorsementNumber endorsementDate endorsementDesc';
    }
}

.grid-saved_endorsement-processor {
    margin: auto;
    display: grid;
    gap: .5rem;
    grid-template-columns: 90px 120px 120px auto;
    grid-template-areas:
        'endorsementStatus endorsementNumber endorsementDate endorsementDate'
        'endorsementDesc endorsementDesc endorsementDesc endorsementDesc'
        'endorsementProcessor endorsementProcessor endorsementProcessor endorsementProcessor';
    box-sizing: border-box;
}

    .grid-saved_endorsement-processor > div {
        padding: 0rem;
    }

@media (min-width: 45rem) {
    .grid-saved_endorsement-processor {
        grid-template-columns: 90px 160px 120px auto;
        grid-template-areas:
            'endorsementStatus endorsementNumber endorsementDate endorsementDesc'
            'endorsementProcessor endorsementProcessor endorsementProcessor endorsementProcessor';
    }
}

.endorsementStatus {
    grid-area: endorsementStatus;
}

.endorsementNumber {
    grid-area: endorsementNumber;
}

.endorsementDate {
    grid-area: endorsementDate;
}

.endorsementDesc {
    grid-area: endorsementDesc;
}

.endorsementProcessor {
    grid-area: endorsementProcessor;
}

/*========================================================================*/
/*=====  Quote Page  */
/*========================================================================*/
.bottom-line {
    padding-bottom: .5rem;
    border-bottom: solid 1px var(--color-muted);
}

.vehicle-amount {
    font-size: 2.5rem;
}

    .vehicle-amount::before {
        content: "$";
        vertical-align: text-top;
        font-size: 1.5rem;
    }

.payment {
    color: var(--color-muted);
    font-size: 5rem;
    line-height: 5rem;
}

.payment-cents {
    color: var(--color-muted);
    font-size: 1.6rem;
}

.grid-pay-summary {
    margin: auto;
    display: grid;
    gap: 0;
    grid-auto-flow: row;
    grid-template-columns: 36px 33% 33%;
    line-height: 34px;
}

    .grid-pay-summary > div {
        padding: 6px;
        border-bottom: solid 1px var(--color-muted);
    }


.grid-info-summary {
    margin: auto;
    display: grid;
    gap: 0;
    grid-auto-flow: row;
    grid-template-columns: 2fr 1fr;
    line-height: 34px;
}

    .grid-info-summary > div {
        padding: 6px;
        border-bottom: solid 1px var(--color-muted);
    }

        .grid-info-summary > div.multi-line {
            line-height: 20px;
        }

        .grid-info-summary > div.no-bottom-line {
            border-bottom: solid 0px var(--color-muted) !important;
        }

/*========================================================================*/
/*=====  Boxes */
/*========================================================================*/

.border-top {
    border-top: 1px solid var(--box-border-color);
}

.border-bottom {
    border-bottom: 1px solid var(--body-box-bg);
}

.box-border {
    border: 1px solid var(--box-border-color);
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
    background-color: var(--body-box-bg);
}


.box-simple {
    padding: 1rem;
    border-radius: .5rem;
    background-color: var(--simple-box-bg);
}

.box-sq-corners {
    border-radius: 0;
}

.box-bgcolor-opt1 {
    background-color: var(--alert-box-bg);
}

.box-bgcolor-lightgray {
    background-color: var(--color-xtlight-gray);
}

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}

/*========================================================================*/
/*=====  Odds and Ends */
/*========================================================================*/
.vin-digit {
    width: 30px;
    padding: 6px !important;
    text-transform: uppercase;
}

/*========================================================================*/
/*=====  Sticky footer */
/*========================================================================*/

.footer {
    background-color: var(--bs-body-bg);
    flex-shrink: 0;
    width: 100%;
    white-space: nowrap;
}

.footer-menu-section {
    padding: 1rem 2rem 2rem 2rem;
    background-color: var(--footer-menu-section-bg);
}

a.footer {
    background-color: transparent;
    color: var(--color-muted);
    text-decoration: none;
}

    a.footer:hover {
        color: var(--color-highlight);
    }

.footer-text {
    line-height: 2rem !important;
    font-size: .8rem !important;
}

/*========================================================================*/
/*===== Images  */
/*========================================================================*/
div.img-new-quote {
    background-image: url('../images/NewQuote.png?v=01');
    width: 133px;
    height: 83px;
    background-size: cover;
}

div.img-documents {
    background-image: url('../images/documents.png');
    width: 57px;
    height: 70px;
    background-size: cover;
}

a.carrierAffilation {
    display: inline-block;
    padding: 3px;
    text-decoration: none;
    border: solid 1px transparent;
}

    a.carrierAffilation:hover {
        border: solid 1px var(--color-highlight);
    }

div[class|="carrierAffilationIcon"] {
    display: inline-block;
    height: 50px;
    width: 45px;
    background-image: url('../Images/affiliations.png?v=02');
}

div.carrierAffilationIcon-BBB {
    background-position: 0px 0px;
}

div.carrierAffilationIcon-ASA {
    background-position: -45px 0px;
}

div.carrierAffilationIcon-IIA {
    background-position: -90px 0px;
}

div.carrierAffilationIcon-TC {
    background-position: -135px 0px;
}

div[class|="inlineIcon"] {
    display: inline-block;
    height: 25px;
    width: 35px;
    background-image: url('../Images/inlineIconSprite.png?v=02');
    vertical-align: middle;
    margin-right: 10px;
}

div.inlineIcon-car {
    background-position: 0px 0px;
}

div.inlineIcon-person {
    background-position: 0px -25px;
}

div[class|="paymentIcon"] {
    display: inline-block;
    height: 34px;
    width: 28px;
    background-image: url('../Images/paymentSprite.png?v=03');
    vertical-align: middle;
}

div.paymentIcon-plan {
    background-position: 0px 0px;
}

div.paymentIcon-down-pay {
    background-position: 0px -34px;
}

div.paymentIcon-installment {
    background-position: 0px -68px;
}

div.paymentIcon-due-date {
    background-position: 0px -102px;
}

div.paymentIcon-term {
    background-position: 0px -136px;
}

div.paymentIcon-premium {
    background-position: 0px -170px;
}
/* ================================================
    Summernote overrides 
=================================================== */

.note-toolbar:hover {
    background-color: rgba(27, 110, 194, .7) !important;
}

.note-btn.btn {
    position: relative !important;
    margin-right: 2px !important;
    border-radius: 0px !important;
    padding: 0.225rem 0.55rem 0.225rem 0.55rem !important;
}

    .note-btn.btn:hover {
        background-color: var(--color-medium-gray) !important;
    }

.note-editor .note-toolbar .note-para .note-dropdown-menu, .note-popover .popover-content .note-para .note-dropdown-menu {
    min-width: 240px !important;
}

.note-placeholder {
    color: #d6d6d6 !important;
}

.note-editing-area p {
    margin-bottom: 8px !important;
}
