.checkout header#header
{
border-top: .25rem solid #231f20;
}

#header-checkout
{
min-height: 4rem;
max-width: 62.5rem;
margin: 0 auto;
padding: 0 .5rem;
display: grid;
align-items: center;
}

#nrs-logo
{
margin: 0 auto;
}

#checkoutContainer
{
max-width: 62.5rem;
margin: 0 auto;
padding: 0 1rem;
}

.checkout-page-wrapper
{
padding-top: 2rem;
}

.checkout-form-container
{
margin-bottom: 2rem;
}

.order-summary
{
border: 1px solid #ccc;
border-radius: .25rem;
}

.order-summary-title
{
padding: .5rem;
border-bottom: .0625rem solid #ccc;
background-color: #efefef;
font-size: 1.125rem;
font-weight: 700;
border-radius: .25rem .25rem 0 0;
}

.order-summary-title a
{
float: right;
font-weight: 400;
text-decoration: none;
font-size: .875rem;
margin-top: .25rem;
}

.order-summary p
{
border-bottom: .0625rem dotted #ccc;
padding: .5rem;
margin: 0;
}

.order-summary p:last-of-type
{
border-bottom: none;
}

.order-summary p.order-summary-total {
border-bottom: .0625rem solid #ccc;
font-weight: 700;
}

.order-summary-savings
{
text-align: center;
color: #c00;
font-weight: 700;
}

.order-summary p span
{
float: right;
}

.order-summary-note
{
font-size: .875rem;
text-align: center;
}

.affirm-as-low-as {
    text-align:center;
    font-size: .875rem;
    padding: .5rem;
}

#basketButtonsBottom
{
margin-top: 1.5rem;
}

#basketButtonsBottom .btn
{
width: 100%;
}

.order-summary-product
{
display: grid;
grid-gap: .5rem;
grid-template-columns: .8fr 3fr;
padding: .5rem;
border-bottom: .0625rem dotted #ccc;
}

.order-summary-image
{
display: block;
max-width: 100%;
height: auto;
}

.order-summary-details
{
line-height: 1.4;
}

.order-summary-details a
{
font-weight: 700;
}

.order-summary-details strong
{
float: right;
}

.order-summary-details strong del
{
font-weight: normal;
}

.order-summary-details strong span
{
color: #c00;
}

.order-summary-more-products
{
text-align: center;
padding: .5rem;
border-bottom: .0625rem dotted #ccc;
font-style: italic;
}

.order-summary-more-products:hover 
{
	cursor: pointer;
}

.ShippingGroup {
padding: 1rem;
margin-top: .5rem;
background-color: #f6f6f6;
border-radius: .375rem;
}

.ShippingGroup.tbdNotice
{
background-color: #fff;
border: .0625rem solid #efefef;
}

.ShippingGroup.tbdNotice p
{
margin: 0;
}

.ShippingGroup.tbdNotice p strong {
color: #C00;
}

.ShippingGroup p:last-of-type
{
margin-bottom: 0;
}

label[for="shippingNotes"]
{
display: block;
margin: 2rem 0 .375rem;
font-family: proxima-nova-extra-condensed,sans-serif;
font-weight: 600;
font-style: normal;
line-height: 1;
font-size: 2.25rem;
}

#shippingNotes, #BBNotes {
width: 100%;
height: 5rem;
padding: .5rem;
}

.paymentGroup.giftCardBB
{
padding: 1.5rem 1.5rem 0;
margin-bottom: 1rem;
background-color: #fff;
}


#BBNotes + span
{
font-size: .875rem;
}

.giftCardBBsearch > li:last-of-type
{
margin-bottom: 0;
}

#paymentMethodContentBBorGC
{
padding: 1rem 0;
border-bottom: .125rem solid #eee;
}

.textarea-cc-disclaimer
{
font-size: 0.8125rem;
margin: .25rem 0 .5rem;
font-style: italic;
}

.gcbb-detail-wrapper
{
display: grid;
gap: 1rem;
grid-template-columns: 2fr 1fr;
margin-bottom: 1rem;
}

.gcbb-notes-prompt
{
font-size: .875rem;
display: block;
margin-bottom: 1rem;
}

.gcbb-notes-wrapper, .gcbb-notes-prompt.go-away
{
display: none;
}

.gcbb-notes-wrapper.active
{
display: block;
}

#BBorGCAppliedCards table
{
width: 100%;
margin: 2rem 0;
/* border: 1px solid red; */
}


#BBorGCAppliedCards tr
{
border-bottom: .0625rem solid #eee;
}

#BBorGCAppliedCards th
{
font-size: .875rem;
}

#BBorGCAppliedCards th, #BBorGCAppliedCards td
{
padding: .375rem .375rem .375rem 0;
}

#bbCCPaymentMsg
{
padding: 1rem;
background-color: #efefef;
background-color: rgba(239,239,239,.5);
border: .1875rem solid #f1c21b;
border-radius: .375rem;
display: grid;
grid-template-columns: auto auto;
grid-gap: 1rem;
align-items: center;
margin-bottom: 2rem;
}

#bbCCPaymentMsg i
{
display: block;
font-size: 2.6rem;
color: #f1c21b;
}

#bbCCPaymentMsg p
{
margin: 0;
}




.paymentInfo legend
{
font-family: proxima-nova-extra-condensed, sans-serif;
font-weight: 600;
font-style: normal;
margin: 0;
line-height: 1;
font-size: 1.5rem;
text-transform: uppercase;
margin-bottom: .5rem;
}

.gift-card-bb-link
{
margin: 1.5rem 0 1.75rem;
}

.paymentGroup
{
border-bottom: .125rem solid #eee;
padding: .5rem 0 1rem;
/* background-color: pink; */
}

.paymentGroup:last-of-type
{
border-bottom: none;
padding-bottom: 0;
padding-top: 1rem;
}

#creditCardIcons {
position: relative;
top: .4rem;
padding-left: .5rem;
}

.paymentMethodContent
{
padding: 1.5rem 1.5rem 0;
}

.paymentMethodContent li:last-of-type
{
margin-bottom: 0;
}

.cc_expmonth_container
{
display: grid;
column-gap: 1rem;
grid-template-columns: 1fr 1fr;
}

.cc_expmonth_container label
{
grid-column: 1/-1;
}

label[for="cc_sec_code"]
{
display: block;
}

#cc_sec_code
{
width: 6rem;
}

#payPalPaymentIcon {
	position: relative;
	top: .5rem;
	padding-left: .25rem;
	max-width: 6.25rem;
}

#applePayPaymentIcon {
	position: relative;
	top: 0.5rem;
	padding-left: 0.25rem;
	max-width: 4.375rem;
}

#googlePayPaymentIcon {
	position: relative;
	top: 0.5rem;
	padding-left: 0.25rem;
	max-width: 3.75rem;
}


#paymentMethodContentAF.paymentMethodContent
{
padding-top: 0;
}

.reviewOrder > div
{
margin-top: 2rem;
}

.reviewOrder > div:first-of-type
{
margin-top: 1rem;
}

.checkout-address-review, .checkout-shipping-method-wrapper
{
line-height: 1.4;
}

.checkout-subsection-header
{
border-bottom: .125rem solid #eee;
padding-bottom: .25rem;
margin-bottom: .25rem;
}

.checkout-subsection-header strong
{
font-family: proxima-nova-extra-condensed, sans-serif;
font-weight: 600;
font-style: normal;
margin: 0;
line-height: 1;
font-size: 1.5rem;
text-transform: uppercase;
}

.checkout-subsection-header a
{
float: right;
}

.cartItem
{
display: grid;
grid-gap: .75rem;
border-bottom: .125rem solid #eee;
padding: 1rem 0;
}

.cartItem.more-item, .order-summary-product.more-item  {
    display: none;
}

.cartItem:last-of-type
{
border-bottom: none;
}

.CartItemImage a
{
display: block;
}

.CartItemImage img
{
max-width: 100%;
height: auto;
}

.CartItemQuantity
{
font-size: .875rem;
}

.CartItemQuantity input {
text-align: center;
padding: .25rem;
width: 3.5rem;
}

.CartItemDescription p, .CartItemDescription > div
{
margin: 0;
font-size: .875rem;
line-height: 1.4;
}

.CartItemDescription p:first-child
{
font-size: 1rem;
}

.CartItemDescription a.popupAjax {
color: #c00;
}

.CartItemUnitSubtotal
{
font-weight: 700;
}

.CartItemUnitSubtotal del
{
color: #666;
font-weight: 400;
}

.CartItemUnitSubtotal span
{
color: #c00
}

.cart-item-gift-card-disclaimer
{
grid-column: 1/-1;
font-size: .875rem;
padding: 1rem;
line-height: 1.4;
background-color: #eee;
background-color: rgba(238,238,238,.5);
border-radius: .1875rem;
margin-bottom: 1rem;
}

#nl-signup-wrapper, #links-wrapper, #social-media-wrapper
{
display: none;
}

.you-save, .CartItemUnitSubtotal em
{
color: #666;
font-weight: 400;
font-style: normal;
font-size: .75rem;
text-align: right;
}

.CartItemDescription p:first-child::after
{
content: "";
display: block;
margin: .5rem 0;
height: 0.0625rem;
width: 100%;
max-width: 4rem;
border-top: .125rem solid #eee;
}


.wallet-notice
{
display: grid;
grid-gap: .75rem;
grid-template-columns: auto 1fr;
max-width: 30rem;
margin: 1.5rem 1.5rem 2rem;
align-items: center;
}

.wallet-notice i
{
font-size: 2.25rem;
color: #005380;
}

.wallet-notice p
{
font-style:italic;
margin: 0;
line-height: 1.5;
}

#shippingNoticeTransitTimes
{
padding: 1rem;
display: grid;
gap: .375rem;
grid-template-columns: auto 1fr;
align-items: start;
margin: .5rem auto
}

#shippingNoticeTransitTimes i
{
font-size: 1.25rem;
margin-top: .2rem;
color: #27aae1;
}

#shippingNoticeTransitTimes p
{
margin: 0;
}

#shippingNoticeTransitTimes p em
{
color: #005380;
}

.inline-tbd-message
{
margin-top: 1rem;
border-radius: .375rem;
background-color: #f6f6f6;
padding: 1rem;
}

.ShippingGroup .inline-tbd-message
{
border-radius: .125rem;
background-color: #fff;
}

.inline-tbd-message p:first-of-type, .inline-tbd-message p:last-of-type
{
margin: 0;
}

.nrs-default-form .inline-tbd-message ol
{
list-style: decimal;
margin: 1rem;
padding-left: 1.25rem;
}

.nrs-default-form .inline-tbd-message ul
{
margin: 1rem;
padding-left: 1.25rem;
}

.nrs-default-form .inline-tbd-message ul li
{
margin-bottom: .375rem;
}

/* Basket / cart specific ruls */
#basketContainer
{
max-width: 62.5rem;
margin: 1rem auto 0;
padding: 0 1rem;
}

.basket-wrapper
{
margin-top: 2rem;
}

#basketContainer h2
{
margin-bottom: .5rem;
}

#basketContainer #mayAlsoLike
{
margin: 2rem 0;
}

.basket-wrapper #basketButtonsBottom
{
margin-top: .75rem;
}

.basket-wrapper #basket-checkout-top
{
margin-top: 1rem;
}

.basket-wrapper #basket-checkout-top .btn
{
width: 100%;
}

.basket-wrapper .CartItemDescription p:first-child::after, .basket-wrapper .CartItemDescription p:last-child::before, .quantity-button-wrapper::before
{
content: "";
display: block;
margin: .5rem 0;
height: .125rem;
width: 100%;
max-width: 4rem;
border-top: .125rem solid #eee;
}

.quantity-button-wrapper::before
{
grid-column: 1 / -1;
}

.cart-item-removed
{
grid-column: 1/-1;
margin: 1rem 0 1rem .5rem;
display: grid;
gap: .375rem;
grid-template-columns: auto 1fr;
align-items: center;
}

.cart-item-removed i
{
color: #f1c21b;
font-size: 1.25rem;
}

.cart-item-removed p
{
margin: 0;
}

.cart-item-removed a
{
text-decoration: underline
}

.quantity-button-wrapper
{
display: inline-grid;
grid-template-columns: auto 1fr auto;
gap: .25rem;
align-items: center;
margin-bottom: .375rem;
/* margin-top: .5rem; */
}

.quantity-button-wrapper input
{
width: 2.5rem;
height: 2rem;
padding: .25rem;
border: .125rem solid #ddd;
font-size: 1rem;
text-align: center;
border-radius: .375rem;
}

button.quantity-btn
{
border: none;
background-image: none;
background-color: transparent;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
display: grid;
align-content: center;
justify-content: center;
font-size: 1.5rem;
font-weight: 700;
color: #444;
margin: 0;
padding: 0 0 .25rem 0;
background-color: #eee;
border-radius: .1875rem;
height: 1.75rem;
width: 1.75rem;
overflow: hidden;
cursor: pointer;
}

.quantity-btn:active, .quantity-btn:hover
{
color: #005380;
background-color: #ddd
}

.quantity-btn:disabled
{
color: #999;
cursor: not-allowed;
}

button.quantity-btn.remove-item
{
padding: 0;
}

button.quantity-btn.remove-item svg
{
width: 1.25rem;
height: 1.25rem;
fill: currentColor;
pointer-events: none;
}

.CartItemQuantity > a
{
display: inline-block;
}


#basketContainer.empty .basket-wrapper {
	margin-top: 0;
}

.empty-cart p {
	font-size: 1.125rem;
	margin: .5rem 0 1rem;
}

.empty-cart .btn {
	min-width: 12rem;
}

.empty-cart.conditional-show {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0s 0.5s;
}

.empty-cart.conditional-show.open {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.5s ease, visibility 0s;
}

/*.empty-cart {
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
	padding: 2rem 1.5rem;
}

.empty-cart.conditional-show {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0s 0.5s;
}

.empty-cart.conditional-show.open {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.5s ease, visibility 0s;
}

.empty-cart-icon {
	font-size: 3rem;
	color: #d1d5db;
	flex-shrink: 0;
	line-height: 1;
	margin-top: 0.25rem;*/ /* nudges icon to align with title baseline */
/*}

.empty-cart-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;*/ /* keeps button from stretching full width */
/*}

.empty-cart-title {
	margin: 0 0 0.375rem;
	font-size: 1.375rem;
	font-weight: 600;
	color: #111827;
}

.empty-cart-text {
	margin: 0 0 1.25rem;
	color: #6b7280;
	font-size: 0.9375rem;
}


.empty-cart-button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}*/

.boat-discount-message
{
display: grid;
gap: .5rem;
grid-template-columns: 4rem 1fr;
align-items: center;
margin: 2rem 1rem;
}

.boat-discount-message svg
{
width: 100%;
height: auto;
fill: #5e7f1f;
rotate: -10deg;
}

.boat-discount-message p
{
margin: 0;
}

@media screen and (min-width: 24rem) {

	.cartItem
	{
	grid-template-columns: .75fr 1.5fr 1fr;
	}
	
	.basket-wrapper .cartItem
	{
	/* grid-template-columns: 1fr 1.5fr .5fr 1fr; */
	grid-template-columns: 1fr 2fr .8fr;
	}
	
	/* 
.basket-wrapper .CartItemQuantity
	{
	text-align: center;
	}
 */
	
	.CartItemUnitSubtotal
	{
	text-align: right;
	}
	
}

@media screen and (min-width: 40rem) {

	.checkout-address-review-wrapper
	{
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 2rem;
	}
	
	

}

@media screen and (min-width: 48rem) {

	.basket-wrapper
	{
	display: grid;
	grid-gap: 2rem;
	grid-template-columns: 2fr 1fr;
	align-items: start;
	border-bottom: .125rem solid #eee;
	padding-bottom: 2rem;
	}
	
	#basket-checkout-top
	{
	display: none;
	}
	
	.checkout-page-wrapper
	{
	display: grid;
	grid-gap: .5rem;
	grid-template-columns: 2fr 1fr;
	align-items: start;
	padding-bottom: 2rem;
	}
	
	.order-summary-wrapper
	{
	position: sticky;
	top: 2rem;
	}
	
	.boat-discount-message
	{
	margin-bottom: 0;
	}

}


@media screen and (min-width: 56rem) {

	.checkout-page-wrapper
	{
	grid-gap: 2rem;
	}
	
	.basket-wrapper .cartItem
	{
	grid-template-columns: 1.5fr 2fr .8fr;
	}
	
}