html {
	font-size: 16px;
}

body {
	font-size: inherit;
}

div.shop-grid-wrapper {
	padding: 0px 15px;
	margin-bottom: 40px;
}

div.shop-grid-headline {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

div.shop-headline {
	max-width: 700px;
	margin-top: 40px;
}

div.shop-headline h3 {
	font-weight: 550;
    margin-bottom: 30px;
    font-size: 1.5rem;
}

div.shop-headline p {
	font-weight: 400;
	font-size: 1rem;
}

div.shop-breadcrumbs {
	margin-top: 15px;
}

div.shop-breadcrumbs p {
	font-size: 0.875rem;
}

div.shop-breadcrumbs p a {
	color: inherit;
}

div.shop-breadcrumbs p a:hover {
	text-decoration: underline;
	cursor: pointer;
}

/* GRID CONTROLLER LINE */
div.grid-controller {
	max-width: 1200px;
	width: 100%;
	position: relative;
	margin: 0 auto;
	border-bottom: 1px solid #dfdfdf;
	padding-bottom: 20px;
	margin-bottom: 20px;
	margin-top: 40px;
}

a.controller-btn {
    color: #111;
    background: #f5f5f5;
    border: 1px solid #f5f5f5;
    font-size: .89rem;
    line-height: 1.3333333333;
    height: 2.5rem;
    padding: 0 1.5rem;
	border-radius: 64px;
    transition-property: opacity,transform;
    transition-duration: 250ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.4, 1);
    font-weight: 500;
}

svg.shop-controller-icon {
	display: inline-block;
	height: 1.5rem;
	width: 1.5rem;
	vertical-align: middle;
	fill: currentColor;
	transition-property: transform,fill;
	transition-duration: 250ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.4, 1);
}

/* GRID */
div.product-grid-box {
	margin-top: 0px;
	background: transparent;
}

/* RELATED NICHES GRID */
div.shop-related-niches {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

div.related-niches-headline h3 {
	font-weight: 550;
    margin-bottom: 30px;
    font-size: 1.5rem;
}

div.related-niche-item {
	margin-right: 20px;
	margin-bottom: 20px;
}

div.related-niche-item a {
	font-weight: 400;
	font-size: .89rem;
	color: inherit;
	width: 100%;
    margin-top: 15px;
}

div.related-niche-item a:hover {
	text-decoration: underline;
	cursor: pointer;
}

div.related-niches-grid a.related-grid-link {
	width: 100%;
	position: relative;
	display: block;
}

div.related-niches-grid a.related-grid-link:hover + a {
	text-decoration: underline;
}

/* RECENTLY REVIEWED PRODUCT GRID */

div.recently-viewed-container {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}

div.recently-viewed-headline h3 {
	font-weight: 550;
    margin-bottom: 30px;
    font-size: 1.5rem;
}

div.recently-viewed-headline h3::after {
    display: block;
    width: 100px;
    height: 3px;
    margin: 20px 0px;
    content: "";
    background: #000;
}

div.recently-viewed-carousel {
    max-width: 100vw;
    overflow-x: auto;
    grid-gap: 20px;
    /*padding: 20px;*/
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap/*-ms-flex-wrap:wrap;flex-wrap:wrap;*/;
}

div.recently-viewed-carousel div.grid-item {
	flex-shrink: 0;
	margin-bottom: 0px;
}

div.recently-viewed-carousel div.grid-item:after {
	display: none;
}

a.activity-button {
	text-align: center;
}

div.activity-box-description {
	height: 100%;
}

div.home-page-activity div.activity-box h3 {
	font-size: 1.375rem;
}

div.grid-container {
	overflow-x: hidden;
}

div.product-of-the-day-box-wrapper {
	padding: 0px 15px;
}

@media screen and (max-width: 1023px) {
	div.carousel-body {
		padding: 0px 15px;
		margin-bottom: 0rem;
	}

	div.carousel-slide div.carousel-text {
		padding-left: 15px;
	}

	div.home-carousel div.arrow {
		background: rgb(0 0 0 / 27%);
	}

	div.home-carousel div.arrow:active, div.home-carousel div.arrow:hover {
	 	background: rgba(0,0,0,0.5);
	}

	div.grid-item {
		max-width: 30%;
	}

	div.grid-item:nth-child(1) {
		margin-right: 1.5%;
	}

	div.grid-item-image img {
		margin: 0 auto;
	}

	div.activity-box-wrapper {
		-webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
	}

	div.footer-links {
		-ms-flex-wrap: wrap;
        flex-wrap: wrap;
	}

}

@media screen and (max-width: 768px) {
	
	div.carousel-slide div.carousel-text {
		padding-left: 0px;
		margin-top: 15px;
		text-align: center;
	}

	div.carousel-slide, div.product-of-the-day {
		-webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column;
	} 

	div.home-carousel div.right-arrow {
		transform: translate(-45px, -50%);
	} 

	div.home-carousel div.left-arrow {
		transform: translate(5px, -50%);
	}

	div.product-grid-box {
		padding: 30px 15px;
	} 

	div.grid-item {
		max-width: 47%;
	}

	div.grid-item:nth-child(1) {
		margin-right: 1.5%;
	}

	div.top-products-box div.top-product-row {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-flow: column;
		        flex-flow: column;
	}

	div.top-product-row div.top-product:nth-child(1) {
		margin-right: 0px;
		margin-bottom: 15px;
	}

	div.top-product-row div.top-product {
		max-width: initial;
	}

	div.top-product-row div.mw-42p {
		max-width: initial;
	}

	body div.top-product-row div.top-product {
		padding: 150px 15px;
	}

	div.top-product-row div.top-promo-box {
		height: auto;
		padding: 150px 0px;
	}

	div.product-of-the-day-description {
		order: 2;
	}

	div.product-of-the-day-image {
		order: 1;
	}

	div.product-of-the-day-description {
		max-width: 480px;
		margin: 0 auto;
	}

	div.product-of-the-day-image {
		max-width: initial;
	}

	div.product-of-the-day-image img {
		margin: 0 auto;
	} 

	a.product-of-the-day-button {
		justify-content: center;
	    align-items: center;
	    margin: 25px auto;
	    display: block;
	}

	div.home-page-activity div.activity-box h3 {
		font-size: 1.275rem;
		text-align: center;
	}

	div.footer-company-info {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}

	div.footer-payment-options svg {
		height: 30px;
	}

}

@media screen and (max-width: 480px) {

	div.home-carousel {
		padding: 2.275rem 0rem;
	}    
	
	div.nav-bottom-line p:not(div.nav-delivery p) {
		display: none;
	}  

	div.nav-bottom-line div.nav-delivery p {
		font-size: 0.75rem;
		line-height: 1.25;
	}

	body div.nav div.nav-logo img, body div.nav div.nav-logo svg {
		max-width: 60px;
	}

	div.carousel-slide div.carousel-text h3 {
		font-size: 2rem;
	}

	div.carousel-text p {
		font-size: 1rem;
	}

	div.grid-item-info p {
		font-size: 13px;
	}

	div.grid-item-info {
		margin-bottom: 10px;
		height: 100%;
	}

	div.item-price {
		-webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: end;
        height: 100%;
	} 

	body div.top-product-row div.top-product {
		padding: 100px 15px;
	}

	div.top-product-row div.top-promo-box {
		height: auto;
		padding: 100px 0px;
	}

	div.home-page-activity div.activity-box h3 {
		font-size: 1.175rem;
	}

	div.home-page-activity div.activity-box div.activity-box-description p {
		font-size: 1rem;
	}

	div.newsletter-box {
		padding: 30px 15px;
	}

}
