.cart{font-size:16px}
@media (max-width:1600px) {.cart {font-size:16px}}
@media (max-width:1550px){.cart{font-size:15.5px}}
@media (max-width:1500px){.cart{font-size:15px}}
@media (max-width:1450px){.cart{font-size:14.5px}}
@media (max-width:1400px){.cart{font-size:14px}}
@media (max-width:1350px){.cart{font-size:13.5px}}
@media (max-width:1300px){.cart{font-size:13px}}
@media (max-width:1250px){.cart{font-size:12.5px}}
@media (max-width:1200px){.cart{font-size:12px}}
@media (max-width:1100px){.cart{font-size:11px}}
@media (max-width:990px){.cart{font-size:17px}}
@media (max-width:700px){.cart{font-size:14px}}
@media (max-width:600px){.cart{font-size:13px}}

.container {
	max-width:1400px;
	min-width:300px;
	margin: 0 auto 5em auto;
	position:relative;
	box-sizing:border-box;
}

.cart {
  margin: 2.6em 0 0 0px;
}

.cart__header {
    color: #2b1b35;
		font-size: 2.1em;
		margin: 2.7em 0 2.3em 0;
}

.cart__content {
    position:relative;
}

.cart__item {
	display:inline-block;
	vertical-align:top;
	width:66%;
}

.item {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	margin: 0 0 2.5em;
	padding: 0 20px;
}

.item .left__side {
	width:61%;
	padding:0 1% 0 0;
	display: flex;
	box-sizing:border-box;
	align-items:center;
}

.item .left__side .image {
	display: table-cell;
	vertical-align: middle;

	width:31%;
}

.item .left__side .image img {
	display:block;
	width:100%;
}

.item .left__side .name {
	font-size:1.2em;
	display: table-cell;
	vertical-align: middle;
	padding:0 0 0 7%;
	width:93%;
	font-weight: bold;
	color: #2b1b35;
}

.right__side {
	width:39%;
	display: flex;
	box-sizing:border-box;
	align-items:center;
	position:relative;
}

.right__side .price {
	font-size:1.2em;
	text-align:right;
    width:34%;
    display: table-cell;
	vertical-align: middle;
}

.quantity {
	width:40%;
    position:relative;
    margin-right: 50px;
}

.jq-number, .jq-number__field {
	width:100%;
}

.jq-number__field input::-webkit-inner-spin-button,
.jq-number__field input::-webkit-outer-spin-button {
	margin: 0; /* в каких-то браузерах присутствует отступ */
	-webkit-appearance: none;
}

.quantity input {
	width:100%;
	display:block;
	border:1px solid #e1e1e1;
	background:#fff;
	border-radius:50px;
	text-align:center;
	color: #0049bc;
	font-size:1em;
	padding:0.9em 0;
    transition:.2s ease;
    -moz-appearance:textfield;
}

.quantity input:focus, .quantity:hover input {
	border-color:#0049bc;
}

.quantity .jq-number__spin {
	position:absolute;
	top:0;
	bottom:0;
	width:3em;
	cursor:pointer;
}

.quantity .jq-number__spin.minus {
	left:0;
}

.quantity .jq-number__spin.plus {
	right:0;
}

.quantity .jq-number__spin:after {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    line-height: 1.8em;
    color: #0049bc;
    font-size: 1.7em;
}

.quantity .jq-number__spin.minus:after {
	content:'–';
	line-height:1.6em;
}

.quantity .jq-number__spin.plus:after {
	content:'+';
}

.right-side .quantity, .right-side .price {
	display: table-cell;
	vertical-align: middle;
}

.close {
    cursor: pointer;
    width: 20px;
    height: 20px;
    position: absolute;
    right: -20px;
    top: 50%;
    margin: -10px 0 0 0;
}

.close span {
    display: block;
    background-color: #2b1b35;
    width: 16px;
    height: 2px;
}

.close span:nth-child(1) {
    transform:rotate(45deg) translate(8px, 5.3px);
}

.close span:nth-child(2) {
    transform: rotate(-45deg) translate(-4px, 6px);
}

.total {
    font-size:1em;
	text-align:right;
	border-top:1px solid #e9e9e9;
    padding: 1.6em 12% 0 0;
    margin: 1.9em 0 4.8em 0;
}

.total .price {
	display:inline-block;
	margin-left:2%;
}

.aside {
	position:absolute!important;
	right:0;
	top:0;
	width: 31%;
	margin: 0 0 0 2.5%;
}

aside.right-content {
	background:#f1f6ff;
	padding:2.2em 2.4em;
	box-sizing:border-box;
}

aside.right-content .total-block {
	position:relative;
	font-size:1em;
	margin:0 0 0.4em;
}

aside.right-content .total-block .title {
	padding-right:100px;
	box-sizing: border-box;
}

aside.right-content .total-block .title a {
	border-bottom:1px dashed #0049bc;
	color:#0049bc;
	transition:.2s ease;-webkit-transition:.2s ease;-moz-transition:.2s ease;-o-transition:.2s ease;
}

aside.right-content .total-block .title a:hover {
	color:inherit;
	border-color:transparent
}

aside.right-content .total-block .price, aside.right-content .total-block .total-value {
	position:absolute;
	right:0;
	text-align:right;
	top:0px;
}

aside.right-content .total-block.final {
	border-top:1px solid #bbcef1;
	margin:1.9em 0 1.4em;
	padding:1.8em 0 0 0;
}

aside.right-content .total-block.final .price {
	top:1.8em;
}

aside.right-content .total-block.final .text-info {
    font-size: 0.93em;
	text-transform: uppercase;
}

aside.right-content .buttons a {
	padding: 0.9em 0;
	text-align: center;
	display: block;
	border: 1px solid #0049bc;
	background: #0049bc;
	color: #fff;
	border-radius: 100px;
	box-sizing: border-box;
    text-transform: uppercase;
    font-size: 0.95em;
	cursor:pointer;
	border:1px solid transparent;
	transition:.2s ease;-webkit-transition:.2s ease;-moz-transition:.2s ease;-o-transition:.2s ease;
	margin:20px 0 0 0;
}
aside.right-content .buttons a:hover {
	color:#0049bc;
	background:transparent;
	border-color:#e1e1e1;
}
.cart__empty {
    max-width:680px;
	margin:0 auto;
	text-align: center;
}

.cart__empty__icon {
    width: 4.5em;
    height: 4.5em;
    background: url(../images/cart-empty-ico.svg) no-repeat center center;
        background-size: auto;
    content: '';
    display: block;
    margin: 0 auto 1em auto;
    background-size: cover;
}

.cart__empty__choices {
    margin: 0 0 3em;
    display: inline-block;
    vertical-align: top;
    font-size: 1.2em;
}

.cart__empty__choices__header {
    text-align: center;
    margin: 0 0 1.4em;
    font-size: 1em;

}

.cart__empty__choices ul {
    width: 45%;
    display: inline-block;
    font-size: 0.8em;
    list-style: none;
}

.cart__empty__choices li {
    position: relative;
    padding: 0 0 0 2em;
    margin: 0 0 1.4em;
}

.name a {
	color: #2b1b35;
}

@media only screen and (min-width: 991px) {
    .cart__empty__choices > ul:nth-child(3) {
        margin-left: 9%;
    }
}
@media only screen and (max-width: 1150px) {
    .cart__empty__choices > ul:nth-child(3) {
        margin-left: 0;
        width: 100%;
        margin-top: 0;
    }
    .cart__empty__choices > ul:nth-child(2) {
        margin: 0 0 0 0;
        width: 100%;
        padding: 0;
    }
}

@media only screen and (max-width: 990px) {
	.container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.cart {
	    margin-top: 4em;
	}

	.cart__content {
		position:relative;
	}

	.cart__item {
		padding: 0;
		display: block;
    width: 100%;
	}

	.right__side .price {
		width: 45%;
	}

	.quantity {
		margin-right: 0;
	}

	.close {
		right: 0;
	}

	.aside {
		display: block;
		position: relative!important;
		width: 100%!important;
		margin: 0;

		position: relative!important;
    top: auto!important;
    left: auto!important;
    right: auto!important;
    transform: none!important;
    height: auto!important;
    width: auto!important;
	}

	.buttons {
		display: flex;
		justify-content: space-between;
	}

	.total {
		display: none;
	}
}

@media only screen and (max-width: 500px) {
	.cart__content {
		margin-bttom: 110px;
	}

	.item {
		position: relative;
	}

	.item .left__side {
		width: 70px;
	  padding: 0 1% 0 0;
	  display: block;
	}

	.item .left__side .name {
		display: block;
		padding: 0;
		width: auto;
		position: absolute;
		top: 0;
		left: 100px;
	}

	.right__side {
		width: 100%;
		display: block;
		box-sizing: border-box;
		align-items: center;
		position: relative;
		margin: 43px 0 0 24px;
	}

	.quantity {
		display: inline-block;
		vertical-align: middle;
	}

	.right__side .price {
		display: inline-block;
		vertical-align: middle;
	}

	aside.right-content {
		padding: 20px;
	}

	.buttons {
		display: block;
	}
}
