div.checkout_outer {
	margin:0 0 5px 0;
}
div.checkout_outer h2 {
	padding: 14px 20px;
	margin:0 0 0 0;
	background-color:#fff;
	border:1px dotted #aaa;
	cursor:pointer;
}
div.checkout_outer h2 span {
	font-size:15px;
}

/*========= checkout_content =============*/
div.checkout_content {
	background:#fafafa;
	border:1px solid #e0e0e0;
	margin:5px 0 18px 0;
}
div.checkout_content div.not_register {
	float:left;
	width:40%;
	background:#f4f4f4;
	padding:20px 20px 30px;
	border-right:1px solid #ebebeb;
}
div.checkout_content div.not_register p {
	margin-bottom:24px;
}
div.checkout_content form {
	float:left;
	padding:20px;
	width:50%;
}
div.checkout_content form label {
	float:left;
	display: block;
	margin-bottom:12px;
	width:100%;
}
div.checkout_content form label strong {
	color:#666;
	text-transform: uppercase;
	width:25%;
	float:left;
	font-size: 12;
	font-weight: 600;
	padding:4px 0;
}
div.checkout_content form label strong em {
	color:#d4001c;
}
div.checkout_content form label input {
	float:left;
	width:40%;
	padding:0 10px;
	height:35px;
	line-height:34px;
	font-size:12px;
	margin:0;
	background:#fff;
	border:1px solid #ddd;
	/* inner shadow */
	-webkit-box-shadow: inset 0 1px 0 #f0f0f0;
	box-shadow: inset 0 1px 0 #f0f0f0; 
}
div.checkout_content form div.submit input {
	margin-left:25%;
}


/*==================== div.billing_account ======================*/

div.billing_account form {
	background:#fafafa;
	padding:0;
	margin:0;
	width:100%;
}
div.billing_account table {
	width:100%;
	border-collapse: collapse;
}
div.billing_account table td {
	padding:8px 12px;
	margin:0;
	border-bottom:1px solid #ebebeb;
}
div.billing_account table td:first-child {
	border-right:1px solid #ebebeb;
	width:35%;
	text-align:right;
	background:#f4f4f4;
}

div.billing_account table td strong {
	color:#666;
	text-transform: uppercase;
	font-size: 12;
	font-weight: 600;
}
div.billing_account table td strong em {
	color:#d4001c;
}
div.billing_account table td.input input {
	width:50%;
	padding:0 10px;
	height:35px;
	line-height:34px;
	font-size:12px;
	background:#fff;
	border:1px solid #ddd;
	-webkit-box-shadow: inset 0 1px 0 #f0f0f0;
	box-shadow: inset 0 1px 0 #f0f0f0; 
}
div.billing_account table td input.red_btn {
	margin:12px 0;
}

.checkout_flow {
	color: #2f2f2f;
}

.checkout_flow #checkoutnavigation {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 24px;
	padding: 0;
	clear: both;
}

.checkout_flow #checkoutnavigation::after {
	display: none;
}

.checkout_flow #checkoutnavigation li {
	float: none;
	width: auto;
	height: auto;
	min-height: 96px;
	margin: 0;
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 6px;
	border: 1px solid #d8d8d8;
	box-sizing: border-box;
}

.checkout_flow #checkoutnavigation li .number,
.checkout_flow #checkoutnavigation li .title,
.checkout_flow #checkoutnavigation li .description {
	display: block;
}

.checkout_flow #checkoutnavigation li .number {
	font-size: 17px;
	line-height: 1;
	font-weight: 700;
}

.checkout_flow #checkoutnavigation li .title {
	font-size: 14px;
	line-height: 1.25;
	font-weight: 700;
}

.checkout_flow #checkoutnavigation li .description {
	font-size: 12px;
	line-height: 1.45;
	color: #7a7a7a;
}

.checkout_flow #checkoutnavigation li.active {
	background: #fff;
	border-color: #2a2a2a;
	color: #222;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.05);
}

.checkout_flow #checkoutnavigation li.active .description {
	color: #555;
}

.checkout_flow #checkoutnavigation li.inactive {
	background: #f2f2f2;
	border-color: #d4d4d4;
	color: #8a8a8a;
}

.checkout_flow #checkoutnavigation li.inactive .description {
	color: #9a9a9a;
}

.checkout_panel {
	background: #fcfcfc;
	border: 1px solid #e3e3e3;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.04);
	padding: 28px 28px 26px;
	margin-bottom: 22px;
}

.checkout_panel__head {
	margin-bottom: 22px;
}

.checkout_panel__head--split {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.checkout_panel__head h1,
.checkout_panel__head h2 {
	margin: 0;
	font-size: 20px;
	line-height: 1.1;
	text-transform: uppercase;
	color: #313131;
}

.checkout_panel__head p {
	margin: 10px 0 0 0;
	font-size: 15px;
	line-height: 1.65;
	color: #5d5d5d;
}

.checkout_meta_line {
	font-size: 13px !important;
	color: #777 !important;
}

.checkout_split,
.checkout_summary_grid {
	display: grid;
	grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
	gap: 20px;
	align-items: start;
}

.checkout_stack {
	display: grid;
	gap: 18px;
}

.checkout_card {
	background: #fff;
	border: 1px solid #ececec;
	padding: 20px 22px;
}

.checkout_card--wide,
.checkout_card--full {
	grid-column: 1 / -1;
}

.checkout_card h2 {
	margin: 0 0 14px 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	text-transform: uppercase;
	color: #313131;
}

.checkout_card__headerline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.checkout_card__headerline h2 {
	margin: 0;
}

.checkout_card__headerline a,
.checkout_panel__head--split a {
	color: #ed1c24;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.checkout_card__headerline a:hover,
.checkout_panel__head--split a:hover {
	text-decoration: underline;
}

.checkout_address_label,
.checkout_summary_value,
.checkout_legal_copy,
.checkout_payment_selection,
.checkout_shipping_methods {
	font-size: 15px;
	line-height: 1.7;
	color: #555;
}

.checkout_card__action {
	margin-top: 16px;
}

.checkout_comments_box textarea,
.checkout_comments_box input[type=text] {
	width: 100%;
	max-width: 520px;
	box-sizing: border-box;
}

.checkout_acceptance {
	padding: 16px 18px;
	background: #fff;
	border: 1px solid #e3e3e3;
	margin-bottom: 18px;
	font-size: 14px;
	line-height: 1.5;
}

.checkout_acceptance label {
	display: inline;
	float: none;
	width: auto;
	font-size: 14px;
	color: #454545;
}

.checkout_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.checkout_actions--end {
	justify-content: flex-end;
}

.checkout_notice {
	padding: 16px 18px;
	margin-bottom: 20px;
	background: #fff7f7;
	border: 1px solid #f0d4d4;
	font-size: 14px;
	line-height: 1.6;
	color: #6b4b4b;
}

.checkout_notice--duty {
	background: #fafafa;
	border-color: #ececec;
	color: #666;
	margin-top: 18px;
	margin-bottom: 18px;
}

.checkout_payment_information {
	display: grid;
	gap: 10px;
}

.checkout_payment_information__row {
	display: grid;
	grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
	gap: 12px;
	font-size: 14px;
	line-height: 1.5;
	color: #555;
}

.checkout_payment_information__row strong {
	color: #2f2f2f;
}

.checkout_order_list {
	display: grid;
	gap: 14px;
}

.checkout_order_item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) 140px 140px;
	gap: 16px;
	padding: 18px 0;
	border-top: 1px solid #ececec;
	align-items: start;
}

.checkout_order_item:first-child {
	border-top: 0;
	padding-top: 0;
}

.checkout_order_item__qty,
.checkout_order_item__price,
.checkout_order_item__total {
	font-size: 15px;
	line-height: 1.5;
	color: #444;
}

.checkout_order_item__price,
.checkout_order_item__total {
	text-align: right;
}

.checkout_order_item__product {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}

.checkout_order_item__image img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #ececec;
	background: #fff;
}

.checkout_order_item__title {
	font-size: 15px;
	line-height: 1.5;
	color: #2f2f2f;
}

.checkout_order_item__title a {
	color: #ed1c24;
	text-decoration: none;
}

.checkout_order_item__title a:hover {
	text-decoration: underline;
}

.checkout_totals {
	display: flex;
	justify-content: flex-end;
	margin-top: 16px;
	padding-top: 18px;
	border-top: 1px solid #ececec;
}

.checkout_totals table {
	width: auto;
	min-width: 320px;
}

.checkout_totals table td {
	padding: 6px 0 6px 20px;
	font-size: 15px;
	line-height: 1.5;
	color: #444;
	text-align: right;
}

.checkout_shipping_methods table.shippingblock,
.checkout_payment_selection table.paymentblock {
	width: 100% !important;
	border-collapse: collapse;
}

.checkout_shipping_methods table.shippingblock td,
.checkout_payment_selection table.paymentblock td {
	padding: 10px 12px;
	border-top: 1px solid #ececec;
	vertical-align: top;
}

.checkout_shipping_methods table.shippingblock tr:first-child td,
.checkout_payment_selection table.paymentblock tr:first-child td {
	border-top: 0;
}

.checkout_shipping_methods table.shippingblock td.header,
.checkout_payment_selection table.paymentblock td.header {
	background: #fafafa;
	font-weight: 700;
	color: #2f2f2f;
}

.checkout_shipping_methods table.shippingblock td.description,
.checkout_payment_selection table.paymentblock td.payright {
	color: #555;
	font-size: 14px;
	line-height: 1.6;
}

.checkout_shipping_methods table.shippingblock td.price {
	text-align: right;
	white-space: nowrap;
	font-weight: 700;
	color: #2f2f2f;
}

.checkout_payment_selection table.paymentblock td.header h6 {
	font-size: 15px;
	line-height: 1.4;
	text-transform: uppercase;
	color: #2f2f2f;
}

.checkout_payment_selection table.paymentblock td.header.left,
.checkout_payment_selection table.paymentblock td.payleft,
.checkout_shipping_methods table.shippingblock td.radiobutton {
	width: 40px;
	text-align: center;
}

.checkout_legal_copy {
	max-height: 420px;
	overflow: auto;
	padding-right: 10px;
}

.checkout_payment_methods {
	display: grid;
	gap: 16px;
}

.checkout_payment_method {
	background: #fff;
	border: 1px solid #ececec;
	padding: 18px 20px;
}

.checkout_payment_method__choice {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.checkout_payment_method__radio {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-top: 2px;
}

.checkout_payment_method__titlewrap {
	flex: 1 1 auto;
}

.checkout_payment_method__titlewrap h3 {
	margin: 0;
	font-size: 15px;
	line-height: 1.35;
	text-transform: uppercase;
	color: #2f2f2f;
}

.checkout_payment_method__cost {
	display: inline-block;
	margin-top: 4px;
	font-size: 14px;
	font-weight: 700;
	color: #2f2f2f;
}

.checkout_payment_method__description,
.checkout_payment_method__error {
	margin: 14px 0 0 32px;
	font-size: 14px;
	line-height: 1.6;
	color: #555;
}

.checkout_payment_method__error {
	color: #9b2b2f;
}

.checkout_payment_method__fields {
	display: grid;
	gap: 10px;
	margin: 14px 0 0 32px;
}

.checkout_payment_method__fieldrow {
	display: grid;
	grid-template-columns: minmax(160px, 220px) minmax(0, 1fr);
	gap: 12px;
	font-size: 14px;
	line-height: 1.5;
	color: #555;
}

@media only screen and (max-width: 959px) {
	.checkout_flow #checkoutnavigation {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 640px) {
	.checkout_flow #checkoutnavigation {
		grid-template-columns: 1fr;
	}
}

@media only screen and (max-width: 959px) {
	.checkout_split,
	.checkout_summary_grid {
		grid-template-columns: 1fr;
	}

	.checkout_order_item {
		grid-template-columns: 56px minmax(0, 1fr);
	}

	.checkout_order_item__price,
	.checkout_order_item__total {
		text-align: left;
	}

	.checkout_order_item__price::before {
		content: "Einzelpreis: ";
		font-weight: 700;
	}

	.checkout_order_item__total::before {
		content: "Summe: ";
		font-weight: 700;
	}
}

@media only screen and (max-width: 767px) {
	.checkout_panel {
		padding: 20px 18px;
	}

	.checkout_panel__head--split,
	.checkout_card__headerline,
	.checkout_actions {
		flex-direction: column;
		align-items: flex-start;
	}

	.checkout_order_item__product {
		grid-template-columns: 1fr;
	}

	.checkout_payment_information__row {
		grid-template-columns: 1fr;
	}

	.checkout_totals {
		justify-content: stretch;
	}

	.checkout_totals table {
		min-width: 0;
		width: 100%;
	}
}




/* #Media Queries
================================================== */

/* Smaller than standard 960 (devices and browsers) */
@media only screen and (max-width: 959px) {}

/* Tablet Portrait size to standard 960 (devices and browsers) */
@media only screen and (min-width: 768px) and (max-width: 959px) {
	div.checkout_option div.not_register {
		display: block;
		width:97%;
		padding:18px 11px;
		border-bottom:1px solid #e0e0e0;
	}

	div.checkout_option form {
		display: block;
		width:100%;
	}
}

/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 767px) {}

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {
	div.checkout_option div.not_register {
		display: block;
		width:94%;
		padding:18px 12px;
		border-bottom:1px solid #e0e0e0;
	}

	div.checkout_option form {
		display: block;
		width:100%;
	}
}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {
	div.checkout_option div.not_register {
		display: block;
		width:92%;
		padding:18px 11px;
		border-bottom:1px solid #e0e0e0;
	}

	div.checkout_option form {
		display: block;
		width:98%;
	}
}
