/*#region Shopping Cart Background & Icons When Loading Shopping Cart*/
.loading-shopping-cart
{
    position: fixed;
    z-index: 1000;
    display: none;
    width: 20%;
    min-width: 290px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(0, 0, 0, 0.47);
}

.loading-cart-icon
{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 3%;
}

/**/
.loading-cart-img
{
    display: block;
    width: 20%;
    margin-left: auto;
    margin-right: auto;
}

.loading-cart-text
{
    text-align: center;
    color: lightskyblue;
    font-family: 'Open Sans';
    font-size: 22px;
    font-weight: bold;
    margin-top: 1em;
}

#theaterLighting
{
    display: none;
    position: fixed;
    z-index: 200;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.67);
}


#completeShoppingCart
{
    position: fixed;
    visibility: hidden;
    z-index: 1200;
}


.shopping-cart-wrapper
{
    position: relative;
    border-radius: 1em;
    z-index: 1201;
    background-color: white;
}

/*#endregion*/

/*#region Shopping Cart Header*/
.shopping-cart-top-border
{
    width: 100%;
    display: block;
    background-color: black;
    border-top-left-radius: 1em;
    border-top-right-radius: 1em;
    padding-top: 1em;
    padding-bottom: 1em;
}

.shopping-cart-top-border-flex
{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-content: center;
}

.shopping-cart-top-border-flex-wrapper
{
    display: block;
    width: 95%;
    margin-left: auto;
    margin-right: auto;
}

.shopping-cart-top-border-flex-steps-wrapper
{
    width: 15%;
}

.shopping-cart-top-border-flex-steps
{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}


.checkout-steps
{
    color: white;
    font-family: 'Open Sans';
    font-size: 14px;
    font-weight: bold;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
    border: 1px solid whitesmoke;
    border-radius: 2px;
}

.co-title
{
    font-family: 'Open Sans';
    font-size: 18px;
    font-weight: bold;
    color: white;
    text-align: center;
}

.return-to-catalog-button-div
{
    width: 15%;
}

.return-to-catalog-button
{
    background-color: navy;
    color: white;
    font-family: 'Open Sans';
    font-size: 14px;
    width: 100%;
    text-align: center;
    border: none;
    border-radius: .5em;
    padding-top: .5em;
    padding-bottom: .5em;
    transition: background-color .5s;
}

.return-to-catalog-button:hover
{
    background-color: crimson;
    cursor: pointer;
}

.cart-update
{
    background-color: navy;
    color: gray;
    font-family: 'Open Sans';
    font-size: 14px;
    width: 100%;
    text-align: center;
    border: none;
    border-radius: .5em;
    padding-top: .5em;
    padding-bottom: .5em;
}

.will-update
{
    color: white;
}

.will-update:hover
{
    background-color: crimson;
    cursor: pointer;

}

/*#endregion*/


/*#region Shopping Cart Middle & Contents*/

.process-information
{
    position: fixed;
    z-index: 3000;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(0 0 0 / 0.84);
    width: 20%;
    min-width: 290px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 15px;
    padding-right: 15px;
    border-radius: .5em;

}

.process-information-text
{
    font-family: 'Open Sans';
    font-size: 16px;
    color: whitesmoke;
    text-align: center;
}


.shopping-cart-flex-row-items-container
{
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    padding: 1em;
}

.shopping-cart-items
{
    overflow: auto;
    display: block;
    height: auto;
}

#id-shopping-cart-title
{
    display: block;
}

.qty-input-box
{
    font-family: 'Open Sans';
    font-size: 16px;
}

/*#endregion*/

/*#region Individual Shopping Cart Items in Flex Row */
#id-colpart1
{
    width: 10%;
}

.cart-part-number
{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.cart-part-number-title
{
    font-family: 'Open Sans';
    font-size: 12px;
    text-align: center;
}

.cart-part-number-item-number
{
    font-size: 16px;
    text-align: center;
    color: #000a7e;
}

.cart-part-number-oem-title
{
    margin-top: .5em;
    font-size: 12px;
    text-align: center;
}

.cart-part-number-oem-number
{
    font-size: 12px;
    text-align: center;
}

#id-colpart2
{
    width: 20%;
    align-self: center;
}

#id-colpart2-part
{
    font-family: 'Open Sans';
    font-size: 16px;
    align-self: center;
}

#id-colpart3
{
    width: 35%;
    font-family: 'Open Sans';
    font-size: 16px;
    font-weight: bold;
    align-self: center;
    justify-content: center;
}

#id-colpart4
{
    width: 15%;
    font-family: 'Open Sans';
    font-size: 16px;
    align-self: center;
    justify-content: center;
    text-align: center;
}

.price-savings-flex
{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.comp-price-title
{
    font-size: 12px;
}

.comp-price-price
{
    font-size: 14px;
    text-decoration: line-through;
}

.new-price-title
{
    font-size: 14px;
}

.new-price-price
{
    font-size: 16px;
    color: red;
}

.save-message
{
    font-size: 15px;
    font-weight: bold;
    color: mediumblue;
}

#id-colpart5
{
    width: 10%;
    align-self: center;
    justify-content: center;
    text-align: center;
}

#id-colpart6
{
    width: 15%;
    font-family: 'Open Sans';
    font-size: 16px;
    align-self: center;
    justify-content: center;
    text-align: center;
}

#id-colpart7
{
    width: 5%;
    align-self: center;
}

.item-image-cart-thumbnail
{
    align-self: center;
    width: 80%;
}

.image-trashcan-icon
{
    width: 80%;
}

.image-trashcan-icon:hover
{
    cursor: pointer;
    border: thin;
}

/*#endregion*/

/*#region Footer Area Of Shopping Cart*/
.bottom-cart-footer
{
    display: block;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    background-color: seagreen;
    border-bottom-right-radius: 1em;
    border-bottom-left-radius: 1em;
}

.footer-flex-row
{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
}

.discount-line-flex
{
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    margin-top: 15px;
}

.discount-teaser
{
    font-family: 'Open Sans', 'sans-serif';
    font-size: 15px;
    font-weight: normal;
    text-align: center;
    color: whitesmoke;
    width: 75%;
    margin-right: auto;
    margin-left: auto;
}

.discount-disclaimer
{
    font-size: 13px;
    font-weight: normal;
    color: black;
    text-align: center;
    margin-top: 10px;
}

.discount-amount
{
    font-family: 'Open Sans', 'sans-serif';
    width: 25%;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    color: black;
    margin-right: auto;
    margin-left: auto;
}

.bottom-cart-footer-button
{
    display: block;
    width: 15%;
    margin-right: auto;
    margin-left: auto;
    padding: .5em;
    background-color: navy;
    color: white;
    font-family: 'Open Sans';
    font-size: 14px;
    border: none;
    border-radius: .5em;
    transition: background-color .5s;
}

.bottom-cart-footer-button:hover
{
    background-color: crimson;
    cursor: pointer;
}

.bottom-cart-footer-inner
{
    margin-left: 1em;
    margin-right: 1em;
    padding-top: 2em;
    padding-bottom: 2em;
}

.checkout-button-col
{
    width: 25%;
    align-self: center;
    justify-content: center;
}

#id-checkout-button
{
    width: 40%;
    padding: .5em;
    background-color: navy;
    font-family: 'Open Sans';
    font-size: 14px;
    color: white;
    text-align: center;
    border-radius: .5em .5em;
    align-self: center;
}

.share-button-col
{
    width: 25%;
    align-self: center;
    padding-top: 2em;
    padding-bottom: 2em;
    justify-content: center;
}

#id-share-cart-button
{
    width: 40%;
    padding: .5em;
    background-color: navy;
    font-family: 'Open Sans';
    font-size: 14px;
    color: white;
    text-align: center;
    border-radius: .5em .5em;
    align-self: center;
}

.print-button-col
{
    width: 25%;
    padding-top: 2em;
    padding-bottom: 2em;
}

.bottom-cart-footer-total-col
{
    width: 25%;
    justify-content: center;
    align-self: center;
}

.bottom-cart-footer-total-discounted
{
    width: 25%;
    justify-content: center;
    align-self: center;
    text-decoration: line-through;
}

#id-order-total
{
    font-family: 'Open Sans';
    font-weight: bold;
    font-size: 18px;
    text-align: center;
    align-self: center;
}

/*#endregion*/

/*#region Customer Bill To Form*/
.flex-row-col2
{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1em;
}

.form-checkout-wrapper
{
    display: block;
    margin-right: auto;
    margin-left: auto;
    width: 90%;
    overflow: auto;
    padding-left: 30px;
    padding-right: 30px;
    padding-top: .75%;
    padding-bottom: .75%;
    margin-top: 10px;
    margin-bottom: 10px;
    background-color: lightgray;
    border: 2px solid black;
}

.required-field
{
    color: darkred;
}

.required-field-notice
{
    margin-top: -20px;
    display: block;
    width: 40%;
    margin-left: auto;
    margin-right: auto;
}

.required-field-notice-text
{
    font-family: 'Open Sans';
    margin-top: 0px;
    font-size: 12px;
    color: maroon;
    text-align: center;
}

.ship-to-form
{
    display: block;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.ship-to-form-field-div
{
    display: block;
    width: 45%;
}

.ship-to-form-label
{
    display: block;
    font-family: 'Open Sans';
    color: black;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: .25em;
}

.ship-to-input-field
{
    width: 95%;
    font-family: 'Open Sans';
    font-size: 16px;
    color: rgb(18, 18, 18);
    height: 28px;
    border: 1px solid #767676;
    border-radius: .25em;
    padding-left: 8px;
}

.ship-to-input-field:focus
{
    outline: none;
    box-shadow: 0 0 20px #9ecaed;
}

.co-select
{
    width: 98%;
    padding-left: 8px;
    height: 28px;
    font-size: 16px;
    font-family: 'Open Sans';
    border: 1px solid #767676;
    border-radius: .25em;
}

.state-zip-flex
{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

#id-zip-div
{
    margin-right: 12px;
}

#id-state-label
{
    width: 45%;
}

#id-state-div
{
    margin-right: .5em;
}

/*#endregion*/

/*#region Required Bill Form Fields*/
.form-required-fields
{
    font-family: 'Open Sans';
    color: maroon;
    font-size: 10px;
    text-align: center;
    margin-top: 3px;
}

#id-name-req-field
{
    display: block;
    visibility: hidden;
}

#id-country-req-field
{
    visibility: hidden;
}

#id-addrs-req-field
{
    visibility: hidden;
}

#id-add2-req-field
{
    visibility: hidden;
}

#id-email-req-field
{
    visibility: hidden;
}

#id-email2-req-field
{
    visibility: hidden;
}

#id-city-req-field
{
    visibility: hidden;
}

#id-state-req-field
{
    visibility: hidden;
}

#id-zip-req-field
{
    visibility: hidden;
}

#id-phone-req-field
{
    visibility: hidden;
}

#id-phone2-req-field
{
    visibility: hidden;
}

/*#endregion*/


/*#region Extra Notes Dude*/
.ship-to-form-extra-notes
{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.form-textarea
{
    resize: none;
    width: 100%;
}

#notetxt
{
    font-family: 'Open Sans';
    font-size: 16px;
}

.vehicle-type-flex
{
    display: flex;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;
}

.vehicle-form-label
{
    font-family: 'Open Sans';
    font-size: 14px;
    font-weight: 600;
}

.vehicle-input-field
{
    height: 22px;
    font-family: 'Open Sans';
    font-size: 14px;
    font-weight: 300;
    margin-left: 5px;
}

/*#endregion*/
/*#region Payment Form CSS*/
.payment-form-wrapper
{
    width: 40%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.payment-flex-row
{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.exp-date-label
{
    display: block;
    font-family: 'Open Sans';
    color: black;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: .25em;
}

.cc-type-select
{
    font-family: 'Open Sans';
    font-size: 16px;
    height: 32px;
    border: 1px solid #767676;
    border-radius: .25em;
}

.csv-input-field
{
    width: 100%;
    height: 28px;
    font-family: 'Open Sans';
    font-size: 16px;
    color: rgb(18, 18, 18);
    border: 1px solid #767676;
    border-radius: .25em;
}

#id-cc-other-info
{
    visibility: hidden;
}

#id-cc-num-req-field
{
    visibility: hidden;
}

.wat-iz-it
{
    margin-left: .5em;
}

.it-iz-this
{
    display: none;
    visibility: hidden;
    font-size: 10px;
    font-weight: normal;
    width: 100px;
    background-color: gray;
    color: white;
    text-align: center;
    border-radius: 3px;
}

#id-sel-cc-pick-month
{
    width: 100%;
    padding-left: .5em;
}

#id-sel-cc-pick-year
{
    width: 100%;
    padding-left: .5em;
}

#id-exp-month
{
    width: 40%;
}

#id-exp-year
{
    width: 25%;
}

#id-csv
{
    width: 20%;
}

#cccsv
{
    width: 100%;
    padding-left: 8px;
}

/*#endregion*/

/*#region Confirm Order*/
.confirm-billing-info-wrapper
{
    display: block;
    width: 100%;
    margin-bottom: 1em;
}

.confirm-billing-info-flex-row
{
    display: flex;
    flex-direction: row;
}

#confirm-bill-flex-col1
{
    width: 50%;
}

#confirm-bill-flex-col2
{
    width: 50%;
}

.billship-to-orderno-info
{
    font-family: 'Open Sans';
    font-size: 18px;
}

.billship-to-title
{
    font-family: 'Open Sans';
    font-size: 18px;
    font-weight: bold;
}

.billship-name-info
{
    font-family: 'Open Sans';
    font-size: 14px;
}

.order-confirm-table
{
    width: 100%;
}

.order-table-head
{
    font-family: 'Open Sans';
    font-size: 16px;
    font-weight: bold;
}

.order-table-items
{
    font-family: 'Open Sans';
    font-size: 16px;
    font-weight: normal;
}

.bottom-totals
{
    margin-top: 1em;
}

.totals-table-wrapper
{
    display: block;
    width: 30%;
    margin-left: auto;
}

.totals-table
{
    width: 100%;
}

.totals-label-cells
{
    font-family: 'Open Sans', 'sans-serif';
    font-size: 16px;
    font-weight: normal;
    text-align: right;
}

.totals-currency-cells
{
    font-family: 'Open Sans', 'sans-serif';
    font-size: 16px;
    font-weight: bold;
    text-align: right;
}

.discount-message
{
    margin-top: 20px;
    font-family: 'Open Sans', 'sans-serif';
    font-size: 14px;
    font-weight: bold;

}

.order-messages-wrapper
{
    font-family: 'Open Sans', 'sans-serif';
    font-size: 13px;
    text-align: left;
    margin-top: 1.5em;
}

/*#endregion */