form.checkout * {
    /*font-family: Eurostile, sans-serif;*/
    font-family: Arial, Helvetica;
}
.align-right {
    text-align: right;
}
.error, .help-block {
    color: #a94442;
}
.has-error-wrapper, .has-error input {
    border-color: #a94442 !important;
    border: 1px solid;
}
form .form-row {
    margin-bottom: 20px;
}
form .form-row-first,
form .form-row-last {
    float: left;
    overflow: visible;
    width: 47%;
}
form .form-row-last {
    float: right;
}
form .form-row-wide {
    width: 100%;
}
form .form-row input.input-text,
form .form-row textarea {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    outline: 0;
    width: 100%;
}
form .form-row textarea {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    border: 1px solid #d5d5d5;
    box-shadow: none;
    display: block;
    height: 120px;
    line-height: 1.5em;
}
form .form-row label abbr {
    color: #ff0000;
    cursor: default;
    border: none;
}
.step-title {
    /*font: 15px/15px 'Helvetica', Arial, Helvetica, sans-serif;*/
    font-size: 15px;
    line-height: 15px;
    font-weight: 500;
    /*color: white;*/
    position: relative;
    text-align: left;
    text-transform: uppercase;
    margin: 0 0 40px;
    letter-spacing: 1px;
    margin-bottom: 25px;
}
.step-title span {
    background: white;
    /*color: white;*/
    position: relative;
    z-index: 2;
    padding-right: 7px;
    font-weight: 600;
    letter-spacing: 0;
}
.step-title:after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    top: 50%;
    left: 0;
    position: absolute;
    background: #bbb;
    z-index: 1;
}
input[type="checkbox"] {
    float: left;
}

#ship-to-different-address {
    text-align: left;
}
#ship-to-different-address .checkbox {
    margin-bottom: 15px;
}
label {
    font-weight: 400;
    font-size: 14px;
}
.select2-container {
    width: 100% !important;
}

.order-review {
    margin-top: 8px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 20px 16px 11px;
    border: 1px solid black;
}
.order-review .step-title {
    margin-bottom: 15px;
    float: left;
    width: 100%;
}

.order-review #payment .terms {
    position: relative;
}

.order-review #payment .terms input[type="checkbox"] {
    position: absolute;
    top: 1px;
}
.order-review input[type="submit"] {
    background-color: #224076;
    color: white;
    text-transform: uppercase;
    line-height: 40px !important;
    height: 40px;
    padding: 0 28px !important;
    font-size: 13px !important;
    letter-spacing: 1px;
    border: none;
}
.shop_table_checkout_descr p {
    margin-bottom: 0;
}

.shop_table_checkout_descr {
    border: 1px solid rgb(221, 221, 221);
    padding: 5px;
    margin: 0 0 20px;
}

table th, table td {
    text-align: left;
}

.step-title {
    /*font: 15px/15px 'Helvetica', Arial, Helvetica, sans-serif;*/
    font-weight: 500;
    /*color: white;*/
    position: relative;
    text-align: left;
    text-transform: uppercase;
    margin: 0 0 40px;
    letter-spacing: 1px;
    margin-bottom: 25px;
}

.step-title:after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    top: 50%;
    left: 0;
    position: absolute;
    background: black;
    z-index: 1;
}
#payment {
    text-align: left;
}
input[type="checkbox"]:not(.europeanDelivery) {
    float: left;
    display: block !important;
    -moz-appearance: none;
    -webkit-appearance: none;
    border: 1px solid #d5d5d5;
    width: 12px !important;
    height: 12px !important;
    border-radius: 0 !important;
    padding: 0 !important;
    position: relative;
    margin-right: 10px;
    cursor: pointer;
}
input[type="checkbox"]:focus {
    border-color: #d5d5d5 !important;
    outline: none;
}
input[type="checkbox"]:checked {
    background-color: transparent;
}
input[type="checkbox"]:checked:before {
    content: "";
    position: absolute;
    width: 15px;
    height: 15px;
    background-image: url(/images/check-icon.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    left: 0;
    top: -5px;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    display: block;
    height: 38px;
    padding: 8px 10px;
    background: #fff;
    overflow: hidden;
    line-height: 22px;
    font-size: 13px;
    -webkit-border-radius: 0;
    border-radius: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
    border: 1px solid #D5D5D5;
    /*background-image: url(/images/select-arrow.jpg);*/
    /*background-position: 96% 50%;*/
    /*background-repeat: no-repeat;*/
}
select:focus {
    outline: none;
}
.radio, .checkbox {
    display: block;
    min-height: 20px;
    margin-top: 10px;
    margin-bottom: 10px;
    padding-left: 20px;
}

.pt-3 {
    padding-top: 15px;
}

.pb-3 {
    padding-bottom: 15px;
}

.font-bold {
    font-weight: bold;
}

.cart-wrapper {
    font-family: Arial, Helvetica, serif;
}

.cart-wrapper div {
    box-sizing: border-box;
}

.flex-container {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row wrap;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    width: 100%;
}

.table-container {
    display: block;
    margin: 1em auto;
}

.flex-table {
    border-bottom: solid 1px #d9d9d9;
}

.flex-table:last-of-type {
    border-bottom: none;
}

.flex-row {
    padding: 0.5em 0.5em;
    align-self: center;
}

.header .flex-image {
    display: none;
}

.header .flex-row {
    text-transform: uppercase;
    font-weight: bold;
}

.header .flex-row:nth-of-type(1){
    border-bottom: solid 1px #d9d9d9;
}

.flex-image img {
    max-width: 90px;
}

.flex-total-label {
    flex: 1 1;
    text-transform: uppercase;
    font-weight: bold;
}

.flex-image {
    flex: 1 1;
}
.flex-title {
    flex: 0 0 100%;
}
.flex-price, .flex-qty, .flex-total {
    flex: 0 0 33.33%;
}

.flex-price {
    text-align: left;
}
.flex-qty {
    text-align: center;
}
.flex-total {
    text-align: right;
}

.withdrawal-page {
    padding: 20px 30px;
}

.withdrawal-page h1 {
    margin-bottom: 20px;
}

.withdrawal-page p.intro {
    margin-bottom: 20px;
}

.withdrawal-success {
    color: #3a7d44;
    font-weight: bold;
    padding: 15px;
    border: 1px solid #3a7d44;
    background: #f0fff0;
    margin-bottom: 20px;
}

@media all and (min-width: 768px) {
    .header .flex-row {
        background: none;
    }

    .header .flex-row:nth-of-type(1){
        border-bottom: none;
    }

    .header .flex-image {
        display: block;
    }

    .flex-image {
        flex: 0 0 90px;
    }

    .flex-title {
        flex: 1 1;
    }

    .flex-price, .flex-qty, .flex-total {
        flex: 0 0 70px;
        text-align: right;
    }
}
