/**** The following items are specific to the inclusion of the Semantic UI components in the address and payment section ****/
.grid, .grid .column, .ui.header, .ui.segment {
    box-sizing: border-box;
}

.ui.basic.card {
    box-shadow: none;
}

input[type="number"][step="0"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

input[type="number"][step="0"] {
    -moz-appearance:textfield;
}

#address-div .content, #payment-method-div input, #payment-method-div label, #payment-method-div p {
    font-size: 0.9rem;
    height: unset;
}
#address-div .card .content:nth-child(2) {
    line-height: 1.4;
}

#payment-method-div .card:first-of-type {
    margin-top: unset;
}

#address-div .card, #payment-method-div .card {
    margin-block: 1rem !important;
}

/* The checked dot wasn't centered in the checkbox circle */
.ui.checkbox label::before {
    margin-left: -1px;
    margin-top: -1px;
}

/* ************  END inclusion of Semantic UI-related items  ********************** */

table.addresses {
    margin: 25px;
    width: 100%;
    max-width: 800px;
}

table.shopping-cart {
    margin-top: 1.5em;
}

table.shopping-cart th {
    color: #000;
    padding-block: 10px !important;
    text-align: left;
}

table.shopping-cart td {
    padding: 0 5px 0 5px;
    min-width:70px;
    border-top: none;
}

table.shopping-cart td.empty {
    border: 0;
    border-bottom: 0;
}

table.shopping-cart .right {
    text-align: right;
}

table.shopping-cart .center {
    text-align: center;
}

table.shopping-cart th.remove, table.shopping-cart td.remove {
    width: 50px;
}

table.shopping-cart tr.item td {
    border-top: 1px solid lightgray;
    border-bottom: 1px solid lightgray;
    padding: 10px 0 10px 0;
}

table.shopping-cart .items-header {
    background-color: #EBEBEB;
    padding: 10px 0 10px 0;
}

table.shopping-cart th.ralign {
    text-align: right;
    padding-right: 7px;
    font-weight: bold;
}

#checkout-header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    margin-block-end: 1.25rem;
}
#checkout-header div {
    text-align:center;
}
#checkout-header > div:nth-of-type(1) {
    width: 25%;
    margin-left: 5%;
}
#checkout-header > div:nth-of-type(2) {
    width: 30%;
    margin: 0 7.5% 0 7.5%;
}
#checkout-header > div:nth-of-type(3) {
    width: 25%;
}

/* Cart footer-specific styling */
.cart-footer td {
    font-weight: bold;
    text-align: right;
    padding-block: 6px !important;
}
.cart-footer tr td:nth-of-type(1) {
    width:90%;
    padding-right:5px;
}
.cart-footer tr td:nth-of-type(2) {
    width:10%;
}

.address-card {
    background-color: #EBEBEB;
    border-radius: 5px;
    padding: 10px 20px 10px 20px;
    margin-bottom: 10px;
    min-height: 100px !important;
}


#cust_info_form ul li, #address_form ul li, #card_form ul li {
    position: relative;
    float: left;
    width: 280px;
}

#errors {
    padding-top: 10px;
    padding-bottom: 15px;
    color: darkred;
    font-weight: bold;
}

.address-buttons {
    margin: 0 0 0.7em 0;
}

#payment-button-div {
    min-height: 80px;
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
            flex-direction:column;
    -webkit-align-content:center;
    -ms-flex-line-pack:center;
            align-content:center;
    -webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
            align-items:center;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

#order_processing_buttons {
    min-height: 5rem;
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}