

:root {

    --max-width: 900px;
    --min-width: 250px;

    --theme: #00395d;
    --theme-transparent: #00395d6b;
    --body-background: #e6f0f9;
    --body-background-transparent: #e6f0f96b;

    --primary: #006eff;
    --primary-dark: #171768;
    --primary-text: #f0f0f0;
    --primary-transparent: #1717686b;

    --secondary: #b1b1b1;
    --secondary-dark: #282828;
    --secondary-text: #282828;
    --secondary-transparent: #b1b1b16b;

    --accent: #ff9100;
    --accent-dark: #ff4400;
    --accent-text: #ff4400;
    --accent-transparent:  #0000006b;

    --solid-dark: var(--theme);
    --solid-light: var(--body-background);
    --transparent-dark: var(--theme-transparent)!important;
    --transparent-light: var(--body-background-transparent);

    --background-gradient: linear-gradient(-90deg,var(--accent) 0%,var(--accent-dark) 98%);


    --light-link: linear-gradient(to bottom,white,#efefef);
    --light-link-hover: linear-gradient(to bottom,white 0%,#efefef 80%);
    --light-link-border: #cecece;
    --light-link-border-hover: #cecece;

    --dark-link: linear-gradient(to bottom,var(--primary),var(--primary-dark));
    --dark-link-hover: linear-gradient(to bottom,var(--primary) 0% ,var(--primary-dark) 80%);
    --dark-link-border: var(--primary-dark);
    --dark-link-border-hover: var(--primary-dark);


    --transparent-btn: linear-gradient(to bottom,#ffffff33 0%,#efefef00 80%);
    --transparent-btn-hover: linear-gradient(to bottom,#ffffff5c 0%,#efefef1a 80%);

    --button-shadow:  rgba(0, 0, 0, 0.10) 0 3px 6px, rgba(0, 0, 0, 0.17) 0 3px 6px;
    --button-shadow-hover: rgba(0, 0, 0, 0.19) 0 14px 28px, rgba(0, 0, 0, 0.16) 0 10px 10px;


    --header-font: 'Montserrat', Arial, sans-serif;
    --subheader-font: 'Montserrat', Arial, sans-serif;
    --body-font: 'Raleway', Arial, sans-serif;
    --accent-font: 'Permanent Marker', cursive, Arial, sans-serif;

    --card-border: 1px solid var(--light-link-border);

}

body {
    background-color: #E6F0F9;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: #797E88;
    --bs-gutter-x: 1.5rem;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    color: #2E3033;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
}

.card {
    background-color: #FFFFFF;
}

.btn {
    font-size: 1.2em;
}

.button, .btn.button, .btn.button:hover, .btn.button:focus {
    background-color: #03A9F4;
    color: #FFFFFF;
    font-size: 1.2em;
}

.add-to-cart-btn {
    white-space: nowrap;
}

.gift-card-details .price.before-button {
    white-space: nowrap;
}

.menu {
    background-color: #00354C;
    color: #FFFFFF;
}

.menu a, .navbar-toggler-icon {
    color: #FFFFFF;
}

.navbar {
    padding-top: 0;
    padding-bottom: 0;
}

.navbar-toggler {
    border-color: #FFFFFF;
    background-color: #FFFFFF;
}

.navbar-collapse ul {
    width: 100%;
    justify-content: flex-end;
}

.navbar-collapse.collapse.show ul,
.navbar-collapse.collapsing ul {
    padding-top: 15px !important;
    width: 100%;
    justify-content: center !important;
    flex-wrap: wrap;
}

.menu img {
    width: min(50vw, 200px);
    height: auto !important;
}

.header-image-size-page {
    margin-bottom: 30px !important;
    max-width: calc(1200px - var(--img-width-adjustment)) !important;
    width: calc(100% - var(--img-width-adjustment)) !important;
    background-color: #FFFFFF;
    border-radius: var(--bs-border-radius);
    padding: calc(var(--bs-gutter-x) * .5) !important;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
}

.card, .card-header {
    padding: 0;
}

.card img {
    border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
}

.card-container {
    padding: calc(var(--bs-gutter-x) * .5) !important;
}

h5.card-title {
    font-size: 1.4em;
}

p.card-text {
    margin-bottom: 8px;
}
p.card-text span {
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.item-actions, .detail-actions {
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: space-between;
}

.card-body > span.price {
    display: inline-block;
    font-size: 1.15em;
}

.card-body > span.price:nth-child(1) {
    margin-top: 0;
    margin-bottom: 2px;
}

.card-body > span.price:nth-child(2) {
    margin-top: 0;
    margin-bottom: 6px;
}

.card-body > span.price:nth-child(3) {
    margin-top: 0;
    margin-bottom: 10px;
}

.item-actions form,
.item-actions .btn.button
{
    width: 100%;
}

p.card-text a {
    text-decoration: none;
    padding-left: 3px;
    color: inherit;
}

p.card-text a:hover {
    text-decoration: underline;
}

.container.gift-cards {
    padding-top: 50px;
    padding-left: 0;
    padding-right: 0;
}


.item-actions .btn.price {
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    font-size: 1.2em;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    text-wrap: nowrap;
}

.item-actions .btn.price:hover {
    cursor: default;
}

.item-actions:has(.price) a.btn.button {
    width: -webkit-fill-available;
}

.item-actions:has(.price) {
    gap: 10px;
}

.button {
    position: relative;
    overflow: hidden;
    box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0);
    transition: all 2000ms cubic-bezier(0.19, 1, 0.22, 1);
}

.button:hover, .button:active {
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.3);
}

.button::before {
    background-image: linear-gradient(112deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
    content: "";
    width: 80px;
    position: absolute;
    top: -20px;
    height: calc(100% + 40px);
    transform: translateX(-200%);
    transition: all 1000ms cubic-bezier(0.19, 1, 0.22, 1);
}

.button:hover::before {
    transform: translateX(200%);
    transition: all 2000ms cubic-bezier(0.19, 1, 0.22, 1);
}

.navbar li {
    position: relative;
    display: block;
}

.navbar li::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    border-bottom: 1px solid white;
    width: 100%;
    transition: all 600ms cubic-bezier(0.19, 1, 0.22, 1);
    transform-origin: center;
    transform: scaleX(0%);
}

.navbar li:hover::after {
    transform: scaleX(100%);
    transition: all 1000ms cubic-bezier(0.19, 1, 0.22, 1);
}


.details, .content-container {
    background-color: #FFFFFF;
    --width-adjustment: calc(var(--bs-gutter-x));
    margin-top: 40px !important;
    margin-bottom: 50px !important;
    max-width: calc(1200px - var(--width-adjustment)) !important;
    width: calc(100% - var(--width-adjustment)) !important;
    border-radius: var(--bs-border-radius);
    padding: calc(var(--bs-gutter-x) * .5) !important;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
}


.details {
    display: flex;
}

.details .detail-img {
    margin-bottom: 20px;
}

.details .detail-img img {
    width: 100%;
    border-radius: var(--bs-border-radius);
}

.details .detail-img.before-title,
.details .detail-img.after-title {
    max-width: 640px;
}

.details .detail-img.after-title {
    margin-top: 20px;
}

.details .detail-img.inline-right {
    margin-top: 20px;
    margin-bottom: 0;
}

.details .item-actions {
    justify-content: flex-start;
    gap: 10px;
}

.details .btn.price {
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    font-size: 1.2em;
}

.details .btn.price:hover {
    cursor: default;
}

.details div.price {
    font-size: 1.2em;
}

.details .price.after-title {
    margin-top: 0;
    margin-bottom: 10px;
}

.details div.price {
    display: block;
}

.details p {
    margin-bottom: 10px;
}

.details .price.after-description {
    margin-bottom: 15px;
    display: block;
}

@media (min-width: 801px) {
    .details .detail-img.inline-right {
        margin-top: 0;
    }

    .details .button {
        width: 250px !important;
    }

    .details .detail-img.inline-left img {
        width: 100%;
        border-radius: var(--bs-border-radius);
    }
}

/*Cart Index Page Styles*/
.cart-ic-container img {

}

.cart-ic-container div.wrapper {
    width: auto;
    margin-right: 20px;
}

.cart-ic-container.checkout #cart-form {
    margin-top: 10px;
}

.cart-ic-container.checkout #cart-form > b > b > div.form-actions.text-right > button:nth-child(1) {
    margin-bottom: 10px;
}

/*Hides left columns and creates 1 on checkout page*/
.cart-ic-container.checkout .gc-title > td:nth-child(1),
.cart-ic-container.checkout div.checkout-summary > table > tfoot > tr > th:nth-child(1),
.cart-ic-container.checkout table.table.table-bordered.table-striped.outer-cart-table > thead > tr > th:nth-child(2) {
    display: none;
}

.cart-ic-container.checkout:not(.desktop) div.checkout-summary > table > thead > tr > th:nth-child(1) {
    display: none;
}

.cart-ic-container.checkout div.checkout-summary > table > thead > tr > th:nth-child(1) {
    border-radius: 5px 5px 0 0;
    padding-top: 10px;
    color: transparent;
    font-size: 1px;
}

.cart-ic-container.checkout div.checkout-summary > table > tbody > tr > td {
    border-radius: 0;
}


.cart-ic-container.checkout div.checkout-summary > table > thead > tr > th:nth-child(1):before {
    content: 'Order Summary';
    color: rgb(51,49,49);
    font-size: 21px;
    line-height: 150%;
    font-weight: bold;
    width: 100%;
    margin-bottom: 20px;
    margin-top: 10px;
}

.cart-ic-container.checkout div.checkout-summary > table > thead > tr > th:nth-child(1):after {
    content: '.';
    float: right;
    font-size: 16px;
    min-width: 30px!important;
    background-image: url('https://dzmarketing.flywheelsites.com/wp-content/themes/wp-bootstrap-4/dz-mktg-files/icons/shopping-cart.png');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    filter: opacity(0.5);
}

.cart-ic-container.checkout .gc-items > td > table > tbody > tr:not(:last-child) > td {
    display: none;
}

.cart-ic-container.checkout .gc-items > td {
    padding: 0;
}

.cart-ic-container.checkout .gc-items > td > table > tbody > tr:last-child > td {
    border-radius: 0!important;
    border: none!important;
}


/*Footer Total Price Cell*/
.cart-ic-container.checkout div.checkout-summary > table > tfoot > tr:not(:nth-child(2)) > th:last-child {
    border-radius: 0 0 5px 5px;
    border-bottom: 1px solid #888888;
    border-left: 1px solid #888888;
    border-right: 1px solid #888888;
    border-top: 3px solid #888888;
    background: #4a4a4a;
    color: white;
    text-align: right;
}

#cart-form > b > b > div.pull-right {
    float: left;
    margin-top: 10px;
}
#cart-form > b > b > div.pull-right * {
    font-size: 13px;
}

.cart-ic-container.checkout div.checkout-summary > table > tfoot > tr:not(:nth-child(2)) > th:last-child:before {
    content: 'Total Order Cost:';
    float: left;
}

.cart-ic-container.checkout div.checkout-summary > table > tfoot > tr:nth-child(2) {
    display: none;
}

.cart-ic-container.checkout .gc-title > td:nth-child(2) br {
    display: none;
}
.cart-ic-container.checkout .gc-title > td:nth-child(2) small {
    display: block;
}


.cart-ic-container.checkout div.checkout-container table.table-bordered {
    box-shadow: none;
}

.cart-ic-container.checkout div.checkout-container table.table-bordered > thead > tr > th {
    border-radius: 5px 5px 0 0!important;
    border-top: 1px solid #b5b5b5;
    border-left: 1px solid #b5b5b5;
    border-right: 1px solid #b5b5b5;
}

.cart-ic-container.checkout div.checkout-container .table-bordered,
.cart-ic-container.checkout div.checkout-container .table-bordered * {
    drop-shadow: none;
    box-shadow: none;
    border: none;
    border-collapse: separate;
}

.cart-ic-container.checkout .inner-cart-table * {
    margin-bottom: 0;
    border: none;
}

.cart-ic-container.checkout .inner-cart-table *[colspan] {
    border-left: 1px solid #b5b5b5;
    border-right: 1px solid #b5b5b5;
}

.cart-ic-container.checkout .inner-cart-table *[colspan="2"] {
    padding-top: 10px;
    border-top: 1px solid #6b6b6b;
    border-bottom: 1px solid #b5b5b5;
}

.cart-ic-container.checkout:not(.desktop) .inner-cart-table tr:first-child *[colspan="2"] {
    padding-top: 10px;
    border-top: 1px solid #b5b5b5;
    border-bottom: 1px solid #b5b5b5;
    border-radius: 5px 5px 0 0;
    width: 100%;
    background: #fafafa;
}

.cart-ic-container.checkout .inner-cart-table tr:not(:first-child) *[colspan="2"] {
    border-top: 1px solid #b5b5b5;
}

.cart-ic-container.checkout .inner-cart-table *[colspan="2"] strong {
    padding-bottom: 10px;
    display: block;
    font-size: 18px;
    line-height: 25px;
}

.cart-ic-container.checkout .inner-cart-table *[colspan="2"] small {
    line-height: 17px;
    color: grey;
}

.cart-ic-container.checkout .inner-cart-table *[colspan="5"] {
    display: none;
}

.cart-ic-container.checkout .inner-cart-table *[colspan="5"] + td:before,
.cart-ic-container.checkout .inner-cart-table *[colspan="5"] + td {
    content: 'Item Price: ';
    font-size: 12px;
    padding-top: 10px;
    padding-bottom: 10px;
    color: black;
    font-weight: 500;
    background: #ffffff;
}

.cart-ic-container.checkout .inner-cart-table *[colspan="5"] + td:before {
    float: left;
    position: absolute;
    top: 0;
    left: 10px;
    display: inline;
}

.cart-ic-container.checkout .inner-cart-table *[colspan="5"] + td {
    position: relative;
    text-align: right;
}

.cart-ic-container.checkout .gc-items > * {
    background: transparent!important;
}

.cart-ic-container.checkout .gc-items br {
    display: none;
}

/*All Form Top Fields*/
.cart-ic-container.checkout #cart-form > b > b > fieldset > div:nth-child(2) {
    border-top: var(--card-border);
    border-left: var(--card-border);
    border-right: var(--card-border);
    border-radius: 5px 5px 0 0!important;
    margin-top: 20px;
}

/*How did you hear about us group*/
.cart-ic-container.checkout #cart-form > b > b > div.control-group {
    border-radius: 5px 5px 5px 5px!important;
    border: var(--card-border)!important;
}


.cart-ic-container:not(.checkout) hr {
    display: none;
}

.cart-ic-container:not(.checkout) .cart-container {
    display: inline-block;
    width: 100%;
}

.cart-ic-container:not(.checkout) .cart-item {

}

.cart-ic-container:not(.checkout) .cart-total {
    padding: 10px;
    background: var(--solid-dark);
    color: var(--solid-light);
    margin-top: 20px;
    margin-bottom: 20px;
    border-radius: 5px;
    font-size: 16px;
}

.cart-ic-container:not(.checkout) .cart-total .cart-total-value {
    float: right;
    padding-right: 10px;
}

.cart-ic-container:not(.checkout) .cart-total .cart-total-text {
    padding-left: 10px;
}


.cart-ic-container:not(.checkout) .cart-item {
    border-radius: 5px;
    border: var(--card-border);
    margin-top: 10px;
    margin-bottom: 10px;
    background: white;
}

.cart-ic-container.desktop:not(.checkout) .cart-img {

}

.cart-ic-container:not(.checkout) .cart-img img {

}

.cart-ic-container.mobile:not(.checkout) .cart-img {

}

.cart-ic-container:not(.checkout) .cart-details {

}

.cart-ic-container:not(.checkout).mobile .cart-details {

}

.cart-ic-container:not(.checkout).mobile .cart-product-prices {
    padding-bottom: 0!important;
}

.cart-ic-container:not(.checkout).mobile .btn-group.pull-right {
    width: calc(100% - 140px);
}
.cart-ic-container:not(.checkout).mobile .btn-group.pull-right .btn {
    width: 100%;
}

.cart-ic-container:not(.checkout) .cart-head h3 {
    font-size: 1rem;
    line-height: 1.25rem;
    margin-top: 10px;
    margin-bottom: 10px;
    padding-right:30px;
}

.cart-ic-container:not(.checkout) .cart-head p {
    font-size: 12px;
    margin-bottom: 10px;
}


.cart-ic-container:not(.checkout) .cart-product-actions {
    display: flex;
    justify-content: space-between;
    flex-grow: 1;
    margin-top: 10px;
}
.cart-ic-container:not(.checkout) .cart-product-actions > button {
    width: 49%;
    margin-bottom: 5px;
    margin-top: 5px;
}



.cart-ic-container:not(.checkout) span.initial-price:before {content: 'Price:';}
.cart-ic-container:not(.checkout) span.initial-price {border-top: none}

.cart-ic-container:not(.checkout) span.discount:before {content: 'Discount:';}
.cart-ic-container:not(.checkout) span.discount {border-top: 1px dashed #aeaeae;}

.cart-ic-container:not(.checkout) span.subtotal:before {content: 'Subtotal:';}
.cart-ic-container:not(.checkout) span.subtotal {border-top: var(--card-border);}

.cart-ic-container:not(.checkout) span.tax:before {content: 'Tax:';}
.cart-ic-container:not(.checkout) span.tax {border-top: 1px dashed #aeaeae;}

.cart-ic-container:not(.checkout) span.final-price:before {content: 'Item Price:';}
.cart-ic-container:not(.checkout) span.final-price {border-top: 2px double #aeaeae; font-weight: bold;}


.cart-ic-container:not(.checkout) .cart-product-name {
    font-weight: bold;
    font-size: 16px;
    background: #efefef;
    padding: 10px;
}
.cart-ic-container:not(.checkout) .cart-product {
    border-radius: 5px;
    border: var(--card-border);
    margin-top: 10px;
}


.cart-ic-container:not(.checkout) .cart-product-prices > span {
    display: block;
    text-align: right;
    display: flex;
    justify-content: space-between;
    border-color: #aeaeae;
    border-size: 1px;
    padding-top: 3px;
}


.cart-ic-container:not(.checkout) .cart-product-prices > span:before {
    font-size: 12px;
    align-self: flex-end;
    margin-top: 1px;
}

.cart-ic-container:not(.checkout) .cart-product-prices {
    padding: 0 10px 10px 10px;
    justify-content: space-between;
    flex-grow: 1;
    margin-top: 10px;
}

.cart-ic-container:not(.checkout) .cart-product-list.single-product .cart-product-prices {
    padding: 0;
    border-top: var(--card-border);
    /* padding-bottom: 20px; */
    font-size: 12px;
    color: #3c3b3b;
}

.cart-ic-container:not(.checkout) span.final-price,
.cart-ic-container:not(.checkout) span.final-price:before {
    color: black;
    font-size: 14px;
}

.cart-ic-container:not(.checkout) .cart-product-list.single-product .cart-product {
    border: none;
}

.cart-ic-container:not(.checkout) .cart-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    text-align: right;
}

.cart-ic-container:not(.checkout) .cart-actions button {
    float: right;
    padding: 5px;
    border-radius: 3px;
}

.cart-ic-container:not(.checkout):not(.mobile) .cart-actions button.personalize-btn {
    min-width: 150px;
}

.cart-ic-container:not(.checkout) .cart-actions button.personalize-btn {
    color: #313131;
    border: 1px solid #313131;
    background: white;
}

.cart-ic-container:not(.checkout) .cart-actions button.remove-btn {
    background: #efefef;
    border: 1px solid #313131;
    color: #313131;
}


.cart-ic-container:not(.checkout) .cart-head-info {
    position: relative;
}
.cart-ic-container:not(.checkout) .cart-trash {
    background-image: url('https://dzmarketing.flywheelsites.com/wp-content/themes/wp-bootstrap-4/dz-mktg-files/icons/trash.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 1.2rem;
    width: 1.2rem;
    position: absolute;
    top: 0;
    right: 0;
}

.cart-ic-container:not(.checkout).mobile .cart-trash {
    top: 0;
    right: 0;
    height: 1.25rem;
    width: 1.25rem;
}

.cart-ic-container.mobile:not(.checkout) .cart-item {
    display: block;
}

.cart-ic-container.mobile:not(.checkout) .cart-actions {
    display: block;
    width: 100%;
    height: 100%;
}

.cart-ic-container:not(.checkout) .cart-item {
    border: 1px solid #393939;
    box-sizing: border-box;
    overflow: hidden;
}

.cart-ic-container.mobile:not(.checkout) .cart-item {
    padding-bottom: 15px;
    margin-bottom: 20px;
}

.cart-ic-container.mobile:not(.checkout) .cart-actions button.personalize-btn {
    float: left;
}

.cart-ic-container.mobile:not(.checkout) .cart-actions button.remove-btn {
    float: right;
}

.cart-ic-container:not(.checkout) .cart-product-list.multiple-products {
    margin-bottom: 20px;
}



.cart-ic-container:not(.checkout) .btn-group.pull-left .btn {
    padding: 10px;
    font-size: 12px;
    border: var(--card-border);
}

.cart-ic-container:not(.checkout) .btn-group.pull-left .btn i {
    display: none;
}

.cart-ic-container:not(.checkout) .btn-group.pull-right .btn {
    padding: 10px 20px;
    background: var(--primary);
    color: white;
}

.cart-ic-container:not(.checkout):not(.mobile) .btn-group.pull-right .btn {
    min-width: 150px;
}

.cart-ic-container:not(.checkout) .btn-group.pull-right .btn i {
    filter: brightness(100);
}


.cart-ic-container:not(.checkout) span.price:before {
    content: 'Item Price:';
    font-size: 14px;
}

.cart-ic-container:not(.checkout) span.price {
    font-size: 14px;
    font-weight: bold;
    margin-top: 5px;
    padding-bottom: 10px;
    border-bottom: var(--card-border);
}

.cart-ic-container span.price {
    white-space: nowrap;
}

.cart-ic-container:not(.checkout).mobile span.price {
    border-bottom: 0 !important;
}






/* checkout page styles */

/*Main Container*/
.cart-ic-container.checkout.desktop div.checkout-container {
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    justify-content: space-between;
}

.cart-ic-container.checkout:not(.desktop) div.checkout-container {
    display: flex;
    flex-wrap: wrap;
}

.cart-ic-container.checkout div.checkout-container > b {
    display: none;
}

.cart-ic-container.checkout div.checkout-container::before {
    display: none;
}

.cart-ic-container.checkout div.checkout-container h2 {
    font-size: 1.5rem;
    line-height: 1.5rem;
    padding-bottom: 0;
    margin-bottom: 0;
}

.cart-ic-container.checkout:not(.desktop) div.checkout-container h2 {
    font-size: 1.2rem;
    line-height: 1.2rem;
    padding-bottom: 0;
    margin-bottom: 0;
}

.cart-ic-container.checkout:not(.desktop) #cart-form legend,
.cart-ic-container.checkout:not(.desktop) #cart-form legend b,
.cart-ic-container.checkout:not(.desktop) #cart-form .control-group:before {
    font-family: var(--header-font);
    font-size: 1.2rem !important;
    line-height: 1.35rem;
}

.cart-ic-container.checkout:not(.desktop) div.checkout-container .checkout-payment h2 {
    margin-bottom: 20px;
    margin-top: 10px;
    border-top: var(--card-border);
    padding-top: 20px;
}

/*Order Info Heading and hr line*/
.cart-ic-container.checkout.desktop > div > div > div > h2,
.cart-ic-container.checkout.desktop > div > div > div > hr {
    /*display: none;*/
}

.cart-ic-container.checkout > div > div > div > hr {
    filter: none;
    height: 0;
    border: 1px solid #6666668e;
}

.cart-ic-container.checkout.desktop div.checkout-container > table {
    display: flex;
}
.checkout-payment {
    margin-top: 30px;
}

/*Order Details Table*/
.cart-ic-container.checkout.desktop div.checkout-summary {
    margin-top: 30px;
    order: 2;
}

/* Target mobile screens */
@media (max-width: 767px) {

    .cart-ic-container.checkout.desktop div.checkout-container > form,
    .cart-ic-container.checkout.desktop div.checkout-container div.checkout-payment {
        order: 2;
    }
    .cart-ic-container.checkout.desktop div.checkout-summary {
        order: 1;
    }
}

.cart-ic-container.checkout:not(.desktop) div.checkout-container div.checkout-summary {
    order: 1;
    flex-basis: 100%;
    width: 100%;
}

.cart-ic-container.checkout:not(.desktop) div.checkout-container > form,
.cart-ic-container.checkout:not(.desktop) div.checkout-container div.checkout-payment {
    order: 2;
    flex-basis: 100%;
    width: 100%;
}

/*Secure Payment Form*/
.cart-ic-container.checkout.desktop div.checkout-container > form,
.cart-ic-container.checkout.desktop div.checkout-container div.checkout-payment {
    min-width: 300px;
    order: 1;
}


.cart-ic-container.checkout #cart-form input {
    color: black !important;
    font-weight: 500;
    min-height: 35px;
}

/*All non-credit card inputs*/
.cart-ic-container.checkout #cart-form input:not(#expiryYear):not(#expiryMonth):not(#expirtyYear.w20p):not(#cvv),
.cart-ic-container.checkout #cart-form select {
    border: var(--card-border);
    height: 40px;
}

.form-group-elements .control-group {
    margin-bottom: 10px;
}

#cart-form > b > b > fieldset > div.control-group {
    background: white;
    margin-top: 0;
    margin-bottom: 0;
    padding: 5px 20px;
    color: #333131;
    border-left: 1px solid #b5b5b5;
    border-right: 1px solid #b5b5b5;
}
#cart-form > b > b > div.control-group {
    background: white;
    margin-top: 0;
    margin-bottom: 0;
    padding: 5px 20px;
    color: #333131;
    border-left: 1px solid #b5b5b5;
    border-right: 1px solid #b5b5b5;
}

#cart-form > fieldset > b > b > .form-group-elements {
    background: white;
    padding-top: 5px;
    padding-left: 20px;
    padding-right: 20px;
    color: #333131;
    padding-bottom: 30px !important;
    border-top: var(--card-border);
    border-left: var(--card-border);
    border-right: var(--card-border);
    border-bottom: var(--card-border);
    border-radius: 5px;
    margin-top: 20px;
    margin-bottom: 0;
}

#cart-form > b > b > div.control-group {
    border: 1px solid #b5b5b5;
    border-radius: 5px;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-top: 20px;
}

#cart-form > b > b > div.control-group #source_question {
    height: 40px;
}

#cart-form > b > b > hr {
    display: none;
}

.cart-ic-container.checkout #cart-form legend,
.cart-ic-container.checkout #cart-form legend b,
.cart-ic-container.checkout #cart-form .control-group:before {
    font-family: var(--header-font) !important;
}

#cart-form > fieldset > b > b div.sub-title {
    font-family: var(--header-font);
    font-size: 150%;
    line-height: 150%;
    font-weight: bold;
    width: 100%;
    border-bottom: 1px solid #dcdbdb;
    margin-bottom: 20px;
    margin-top: 10px;
}

#cart-form > b > b > fieldset > div:nth-child(2) {
    margin-top: 20px;
    border-top: 1px solid #b5b5b5;
    border-radius: 5px 5px 0 0;
}

#cart-form > b > b > fieldset > div:nth-child(2):before {
    content: 'Billing Information';
    font-size: 150%;
    line-height: 150%;
    font-weight: bold;
    width: 100%;
    border-bottom: 1px solid #dcdbdb;
    margin-bottom: 20px;
    margin-top: 20px;
}


/*Slash between expiration date*/
#cart-form > fieldset > b > b > div:nth-child(1) > div:not(input) {
    color: transparent;
}

/*CC Help Text*/
#cart-form > fieldset > div:nth-child(3) > div > span {
    color: white;
}

/*How did you hear about us group*/
.cart-ic-container #cart-form > b > b > div.control-group {
    margin-bottom: 10px;
}

/*Card type wrapper*/
.cart-ic-container.checkout #cart-form > fieldset > div:nth-child(3) > div {
    padding-top: 5px;
}

/*Card help text*/
.cart-ic-container.checkout #cart-form > fieldset > div:nth-child(3) > div > span {
    padding-bottom: 10px;
    margin-left: 10px;
}

/*CVV Help Block*/
.cart-ic-container.checkout #cart-form > fieldset > b > b > div:nth-child(2) > div > span {
    display: none;
}

.cart-ic-container.checkout #cart-form > fieldset > div:nth-child(3) {
    border-radius: 0.1px 0.1px 0.1px 0.1px !important;
    border-left: var(--card-border);
    border-right: var(--card-border);
}

.blue-form-elements-box {
    background: var(--primary);
    color: white;
    font-weight: bolder !important;
    margin-bottom: 0;
    margin-top: 0;
    padding: 15px 20px 25px;
    border-radius: 5px;
    border: var(--card-border);
}
.blue-form-elements-box .control-group {
    border: none !important;
}

/*Credit card info fields*/
.cart-ic-container.checkout #cart-form > fieldset > div:nth-child(2),
.cart-ic-container.checkout #cart-form > fieldset > div:nth-child(3),
.cart-ic-container.checkout #cart-form > fieldset > b > b > div:nth-child(1),
.cart-ic-container.checkout #cart-form > fieldset > b > b > div:nth-child(2) {
    background: var(--primary);
    color: white;
    font-weight: bolder !important;
    margin-bottom: 0;
    margin-top: 0;
    padding-left: 20px;
    padding-right: 20px;
}

/*Card Number (first)*/
.cart-ic-container.checkout #cart-form > fieldset > div:nth-child(2) {
    padding-top: 15px;
    margin-top: 0;
    border-radius: 5px 5px 0 0;
    border-top: var(--card-border);
    border-left: var(--card-border);
    border-right: var(--card-border);
}

/*CVV (last)*/
.cart-ic-container.checkout #cart-form > fieldset > b > b > div:nth-child(2) {
    width: calc(100% - 180px);
    padding-bottom: 30px;
    height: auto;
    padding-left: 0;
    border-radius: 0 0 5px 0;
    border-bottom: var(--card-border);
    border-right: var(--card-border);
}

/*CVV wrapper*/
.cart-ic-container.checkout #cart-form > fieldset > b > b > div:nth-child(2) > div {
    display: flex;
    flex-wrap: wrap;
}

/*CVV input field*/
.cart-ic-container.checkout #cart-form > fieldset > b > b > div:nth-child(2) > div > input {
    max-width: 75px;
}

/*Expiration Date*/
.cart-ic-container.checkout #cart-form > fieldset > b > b > div:nth-child(1) {
    max-width: 180px;
    padding-bottom: 30px;
    height: auto;
    display: flex;
    border-radius: 0 0 0 5px;
    border-bottom: var(--card-border);
    border-left: var(--card-border);
}

.cart-ic-container.checkout #cart-form > fieldset > b > b > div:nth-child(1) label[for="expiry"] {
    min-width: 10px;
}

/*Expiration Date Inputs*/
.cart-ic-container.checkout #cart-form > fieldset > b > b > div:nth-child(1) input {
    max-width: 50px;
}


/*Expiration date and CVV wrappers*/
.cart-ic-container.checkout #cart-form > fieldset > b > b > div:nth-child(1) label,
.cart-ic-container.checkout #cart-form > fieldset > b > b > div:nth-child(1) div.controls {
    align-self: flex-start;
}


/*Container for exp date, cvv, cardholder info*/
.cart-ic-container.checkout #cart-form > fieldset > b > b {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

/*Cardholder first name, last name, email*/
.cart-ic-container.checkout #cart-form > fieldset > b > b > div:not(:nth-child(1)):not(:nth-child(2)) {
    width: 100%;
}

/*Cardholder first name*/
.cart-ic-container.checkout #cart-form > fieldset > b > b > div:nth-child(3) {
    margin-top: 20px;
}

/*Email*/
.cart-ic-container.checkout #cart-form > fieldset > b > b > div:nth-child(5) {
    margin-bottom: 0;
}

.cart-ic-container.checkout #cart-form > b > b > fieldset > legend {
    display: none;
}


.cart-ic-container.checkout .form-horizontal .control-group {
    display: flex;
    flex-wrap: wrap;
    text-align: left !important;
    float: none;
}

.cart-ic-container.checkout .form-horizontal .control-label {
    font-size: 100%;
    flex-basis: 100%;
    text-align: left !important;
    float: none;
}

.cart-ic-container.checkout .form-horizontal .controls {
    margin-left: 0;
    width: 100%;
    display: flex;

}

.cart-ic-container.checkout .form-horizontal input,
.cart-ic-container.checkout .form-horizontal select {
    width: 100% !important;
    min-height: 30px;
}

.cart-ic-container.checkout .form-horizontal input + span.help-block {
    margin-left: 10px;
}

.cart-ic-container.checkout .form-horizontal span.help-block {
    font-size: 10px;
    line-height: 12px;
    margin-top: 0;

}

.cart-ic-container.checkout:not(.desktop) #cart-form legend:first-of-type {
    border-bottom: none;
    margin-bottom: 15px;
}

.cart-ic-container.checkout #cart-form legend,
.cart-ic-container.checkout #cart-form legend > *,
.cart-ic-container.checkout legend {
    font-weight: bold !important;
    margin-bottom: 0;
    font-size: 21px;
    margin-top: 6px;
}

.cart-ic-container.checkout #cart-form label.control-label strong.small {
    font-family: var(--header-font) !important;
    width: 100% !important;
    min-width: 100%;
    max-width: 100%;
}

.cart-ic-container.checkout #cart-form label.control-label strong.small br {
    display: none;
}

.cart-ic-container.checkout #cart-form .form-actions {
    margin-bottom: 20px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    background: transparent;
    padding: 0;
}


.cart-ic-container.checkout.desktop #cart-form .form-actions {
    margin-bottom: 10px;
    padding-top: 0 !important;
    padding-bottom: 10px;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    border: 0;
    margin-top: 0;
}

.cart-ic-container.checkout #cart-form button#submit_payment {
    min-width: 100% !important;
    padding: 10px;
    background: var(--primary);
    color: white;
}

.cart-ic-container.checkout div#add-checkout-items {
    padding-top: 10px;
    margin-bottom: 20px;
}

.cart-ic-container.checkout div#add-checkout-items {
    padding-top: 10px;
    margin-bottom: 20px;
}

.cart-ic-container.checkout div.checkout-item {
    background: white;
    border-top: var(--card-border);
    border-left: var(--card-border);
    border-right: var(--card-border);
    padding: 10px;
}

.cart-ic-container.checkout div.checkout-item:first-child {
    border-radius: 5px 5px 0 0;
}

.cart-ic-container.checkout div.checkout-total {
    background: #e7e7e7;
    border: var(--card-border);
    border-radius: 0 0 5px 5px;
    padding: 10px;
    font-size: 0.75rem;
}

.cart-ic-container.checkout .checkout-summary > div,
.cart-ic-container.checkout .checkout-summary > h2 {
    margin: auto;
    display: block !important;
}

.cart-ic-container.checkout .checkout-total {
    display: flex;
    justify-content: space-between;
    height: 100% !important;
}

.cart-ic-container.checkout .checkout-summary .checkout-item {
    position: relative;
}

.cart-ic-container.checkout .checkout-summary .item_name {
    font-size: 0.9rem;
    font-weight: 600;
}

.cart-ic-container.checkout .checkout-summary .item_value {
    font-size: 0.75rem;
    background: var(--primary);
    padding: 10px 5px 0 5px;
    margin-right: 10px;
    font-weight: 500;
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 0 0 5px 5px;
    color: white;
}

.cart-ic-container.checkout .checkout-summary .checkout-total {
    position: relative;
}

.cart-ic-container.checkout .checkout-summary .checkout-total div:last-child {
    font-size: 0.75rem;
    background: var(--primary-dark);
    padding: 10px 5px 0 5px;
    margin-right: 10px;
    font-weight: 500;
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 0 0 5px 5px;
    color: white;
    margin-top: -1px;
}

.cart-ic-container.checkout .checkout-summary .checkout-item:not(:first-child) .item_value {
    margin-top: -1px;
}

.cart-ic-container.checkout .checkout-summary .item_description {
    font-size: 0.7rem;
    line-height: 1.15rem;
}

.cart-ic-container.checkout .checkout-summary ul.terms {
    padding-top: 10px;
    /* width: 100%; */
    text-indent: 0; /* key property */
    margin-left: 1rem; /* key property */
    display: block;
}

.cart-ic-container.checkout .checkout-summary li {
    font-size: 0.75rem;
    width: 100%;
    line-height: 1rem;
    padding-top: 2.5px;
}

body.desktop form#payment-option-form {
    margin: 0 !important;
}

.cart-ic-container.checkout div.cg-recap {
    border: 1.5px solid #adadad;
    border-radius: 5px !important;
    margin-top: 20px;
}

.cart-ic-container.checkout form#cart-form fieldset {
    min-inline-size: auto !important;
}

#paypal-express-button-container {
    display: block;
    width: 100%;
    margin-top: 10px;
}