.modal__product .product__image img {
    display: block;
    margin: 0 auto
}

.table .cell_center, .table th {
    text-align: center
}

.table .cell_right {
    text-align: right
}

.h1, .h2, .h3, .h4, .modal .modal__title, .modal__cart .cart__total-count .value, .modal__cart .cart__total-sum .value, .modal__product .product__info .info-line__value, .table th, h1, h2, h3, h4 {
    font-weight: 600
}

.table .cell_nowrap {
    white-space: nowrap
}

.h1 {
    margin-bottom: 1rem
}

.h1, h1 {
    font-size: 1.75rem;
    line-height: 1.75rem
}

.h2 {
    margin-bottom: 1rem
}

.h2, h2 {
    font-size: 1.625rem;
    line-height: 1.625rem
}

.h3 {
    margin-bottom: 1rem
}

.h3, h3 {
    font-size: 1.5rem;
    line-height: 1.5rem
}

.h4 {
    margin-bottom: 1rem
}

.h4, h4 {
    font-size: 1.375rem;
    line-height: 1.375rem
}

.h_red {
    color: #ba0000
}

.modal .modal__title {
    margin-bottom: 1rem;
    padding-bottom: .5rem;
    border-bottom: .0625rem solid #ccc;
    font-size: 1.5rem;
    line-height: 1.5rem
}

.modal__product {
    margin-bottom: 1.5rem
}

.modal__product .product__title {
    margin-bottom: 1rem;
    padding: .25rem 0;
    font-weight: 700;
    color: #404040
}

.modal__product .product__image {
    position: relative;
    margin-bottom: .5rem
}

.modal__product .product__info {
    margin-bottom: 1rem;
    font-family: Comfortaa, cursive;
    letter-spacing: 1px
}

.modal__product .product__info .info-line {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: .125rem;
    padding: .5rem .25rem;
    font-size: .875rem;
    line-height: 1rem
}

.modal__product .product__info .info-line:nth-child(odd) {
    background: #eee
}

.modal__product .product__info .info-line__name, .modal__product .product__info .info-line__value {
    height: .75rem;
    z-index: 1
}

.modal__product .product__info .info-line__name {
    color: #949494
}

.modal__product .product__old-price {
    text-align: right;
    font-size: .875rem;
    line-height: .875rem;
    text-decoration: line-through;
    color: #949494
}

.modal__product .product__price {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: .5rem;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 1.5rem;
    line-height: 1.5rem
}

.modal__product .product__price:before {
    content: "";
    border-bottom: 1px dotted #000;
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: 3px;
    z-index: 0
}

.modal__product .product__price .price, .modal__product .product__price .price-title {
    position: relative;
    z-index: 1;
    background: #fff
}

.modal__product .product__price .price-title {
    font-size: 16px
}

.modal__product .product__price .price__value {
    font-weight: 600;
    color: #011932
}

.modal__product .product__price .price__value-none {
    font-size: 14px
}

.modal__product .product__basket {
    padding: .5rem
}

.modal__product .product__button {
    width: 100%;
    padding: .5rem 1rem;
    border: .0625rem solid #011932;
    background-color: #011932;
    color: #fff;
    border-radius: .125rem;
    transition: all .35s;
    font-size: 1rem;
    line-height: 1rem
}

.modal__product .product__button:not(:last-child) {
    margin-bottom: .5rem
}

.modal__product .product__button:hover {
    background-color: #fff;
    color: #011932
}

.modal__cart {
    margin-bottom: 1.5rem
}

.modal__cart .cart__total-count, .modal__cart .cart__total-sum {
    font-size: 1.125rem;
    line-height: 1.125rem
}

.modal__cart .cart__total-count .value, .modal__cart .cart__total-sum .value {
    margin-left: .5rem
}

.modal__buttons {
    display: -ms-flexbox;
    display: flex
}

.modal__buttons .modal__button:not(:last-child) {
    margin-bottom: .5rem
}

.modal__buttons .modal__button_center {
    margin: 0 auto
}

.form_flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-direction: row;
    flex-direction: row
}

.form__column {
    width: 50%
}

.form__column:nth-child(odd) {
    padding-right: 1rem
}

.form__column:nth-child(2n) {
    padding-left: 1rem
}

.form__row {
    position: relative;
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.form__row:not(:last-child) {
    margin-bottom: 1rem
}

.form__label {
    position: absolute;
    top: -.5rem;
    height: 1rem;
    margin-left: 1rem;
    padding: .125rem .25rem;
    background: #fff;
    font-size: .875rem;
    line-height: .875rem;
    color: #949494
}

.form__input {
    width: 100%;
    outline: 0;
    border: .0625rem solid #ccc;
    padding: .5rem 1rem;
    border-radius: .125rem
}

.form__input_error {
    border: 2px solid red
}

.form__button {
    width: auto;
    padding: .5rem 1rem;
    border: .0625rem solid #011932;
    background-color: #FCAE04;
    color: #000;
    transition: all .35s;
    font-size: 1rem;
    line-height: 1rem
}

.form__button:hover {
    background-color: #fff;
    color: #011932
}

.form__input_md {
    height: 2rem;
    font-size: 1rem;
    line-height: 1rem;
    padding: .5rem 1rem
}

.form__input_xl {
    height: 2.5rem;
    font-size: 1.5rem;
    line-height: 1.5rem;
    padding: .625rem 1.25rem
}

textarea {
    font-family: Open Sans, sans-serif
}

.checkbox-container {
    display: block;
    position: relative;
    padding-left: 1.5rem;
    cursor: pointer;
    font-size: .875rem;
    line-height: 1.25rem;
    text-align: left;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.checkbox-container .checkbox-container__title {
    font-size: .875rem
}

.checkbox-container .checkbox-container__input {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    cursor: pointer
}

.checkbox-container .checkbox-container__checkmark {
    position: absolute;
    top: 0;
    left: 0;
    width: 1.25rem;
    height: 1.25rem;
    background-color: #ccc
}

.checkbox-container .checkbox-container__checkmark:after {
    content: "";
    position: absolute;
    left: .375rem;
    top: .1875rem;
    display: none;
    width: .3125rem;
    height: .5rem;
    border: solid #fff;
    border-width: 0 .1875rem .1875rem 0;
    transform: rotate(45deg)
}

.checkbox-container .checkbox-container__input:checked ~ .checkbox-container__checkmark, .checkbox-container:hover .checkbox-container__input ~ .checkbox-container__checkmark {
    background-color: #ba0000
}

.checkbox-container .checkbox-container__input:checked ~ .checkbox-container__checkmark:after {
    display: block
}

.table-container:not(:last-child) {
    margin-bottom: 1rem
}

.table {
    width: 100%
}

.table .thead-bg_red {
    background: #011932;
    color: #fff
}

.table td, .table th {
    padding: .5rem;
    font-size: .875rem;
    line-height: 1rem;
    border: .0625rem solid #eee
}

.table .cell_middle, .table th {
    vertical-align: middle
}

.cart, .cart .cart__table {
    margin-bottom: 2rem
}

.cart .product__image img {
    margin: 0 auto
}

.cart .product__quantity {
    display: -ms-inline-flexbox;
    display: inline-flex
}

.cart .quantity {
    display: -ms-flexbox;
    display: flex
}

.cart .quantity__button {
    height: 2rem;
    width: 2rem;
    padding: 0;
    margin: 0;
    border: .0625rem solid #949494;
    background-color: #949494;
    color: #fff;
    transition: all .35s;
    font-size: 1rem;
    line-height: 1rem
}

.cart .quantity__button:hover {
    background-color: #011932;
    color: #fff
}

.cart .quantity__input {
    margin: 0 .25rem;
    border: .0625rem solid #949494
}

.cart .cart__form {
    margin-bottom: 2rem
}

.cart .cart__form .payment-type-label {
    line-height: 2rem;
    padding-right: 1rem
}

.cart .cart__form .payment-type-select {
    min-width: 12.5rem
}

.cart .cart__message, .cart .success-order {
    margin: 0 0 1rem
}

@media screen and (max-width: 812px) {
    .table-container {
        overflow-x: auto
    }
}

@media screen and (max-width: 576px) {
    .form__column {
        width: 100%;
        margin-bottom: 1rem;
        padding: 0 !important
    }
}