/* CSS for Mobile Device
=====================================================================*/

/* 
ZOOM FIXES 
The original CSS from the cutups was not responsive enough.
The css "zoom" rule was used to overcome this, but then it was found that zoom is not supported in Firefox.
All the "zoom" rules have been changed into transforms here for Firefox to emulate zooming. 
In the future this could be changed to not use zoom or transforms at all, and not target specific browsers.
*/

/* Zoom rules common to all levels  */
@media screen and (min-width:1024px) and (max-width: 1460px) {
	 @-moz-document url-prefix() {
		html {
			transform-origin: 0 0;
			overflow-x: hidden;
		}
	 }
}
@media screen and (-ms-high-contrast:none) and (min-width:1024px) and (max-width: 1460px) {
	html { /* IE */
		transform-origin: 0 0;
		overflow-x: hidden;
	}
} 

/* Zoom 1401 to 1460: 95% */
@media screen and (min-width:1401px) and (max-width: 1460px) {
    html {
        zoom: 0.95;
    }
    @-moz-document url-prefix() {
        html {
            transform: scale(0.95);
            width: calc(100%/0.95);
        }
    }
    /* The zoom adds white gaps on each side of the page for this full screen image. 
        This fixes those gaps by making the height of the error section slightly higher than the original height, so then the backgorund image can fill in. */
    .error-wrapper {
        height: 70vw;
    }
} 
@media screen and (-ms-high-contrast:none) and (min-width:1401px) and (max-width: 1460px) {
	html { /* IE */
		zoom: 1.00;
		transform: scale(0.95);
		width: calc(100%/0.95);
    }
}

/* Zoom 1321 to 1400: 90% */
@media screen and (min-width:1321px) and (max-width: 1400px) {
    html {
        zoom: 0.90;
    }
    @-moz-document url-prefix() {
        html {
            transform: scale(0.90);
            width: calc(100%/0.90);
        }
    }

    .error-wrapper {
        height: 75vw;
    }
} 
@media screen and (-ms-high-contrast:none) and (min-width:1321px) and (max-width: 1400px) {
	html { /* IE */
		zoom: 1.00;
		transform: scale(0.90);
		width: calc(100%/0.90);
    }
}

/* Zoom 1251 to 1320: 85% */
@media screen and (min-width:1251px) and (max-width: 1320px) {
    html {
        zoom: 0.85;
    }
    @-moz-document url-prefix() {
        html {
            transform: scale(0.85);
            width: calc(100%/0.85);
        }
    }

    .error-wrapper {
        height: 80vw;
    }
} 
@media screen and (-ms-high-contrast:none) and (min-width:1251px) and (max-width: 1320px) {
	html { /* IE */
		zoom: 1.00;
		transform: scale(0.85);
		width: calc(100%/0.85);
    }
}

/* Zoom 1181 to 1250: 80% */
@media screen and (min-width:1181px) and (max-width: 1250px) {
    html {
        zoom: 0.80;
    }
    @-moz-document url-prefix() {
        html {
            transform: scale(0.80);
            width: calc(100%/0.80);
        }
    }

    .error-wrapper {
        height: 85vw;
    }
} 
@media screen and (-ms-high-contrast:none) and (min-width:1181px) and (max-width: 1250px) {
	html { /* IE */
		zoom: 1.00;
		transform: scale(0.80);
		width: calc(100%/0.80);
    }
}


/* Zoom 1111 to 1180: 75% */
@media screen and (min-width:1111px) and (max-width: 1180px) {
    html {
        zoom: 0.75;
    }
    @-moz-document url-prefix() {
        html {
            transform: scale(0.75);
            width: calc(100%/0.75);
        }
    }

    .error-wrapper {
        height: 90vw;
    }
}
@media screen and (-ms-high-contrast:none) and (min-width:1111px) and (max-width: 1180px) {
	html {/* IE */
		zoom: 1.00;
		transform: scale(0.75);
		width: calc(100%/0.75);
    }
}

/* Zoom 1024 to 1110: 70% */
@media screen and (min-width:1024px) and (max-width: 1110px) {
    html {
        zoom: 0.70;
    }
    @-moz-document url-prefix() {
        html {
            transform: scale(0.70);
            width: calc(100%/0.70);
        }
    }

    .error-wrapper {
        height: 95vw;
    }
}
@media screen and (-ms-high-contrast:none) and (min-width:1024px) and (max-width: 1110px) {
	html {/* IE */
		zoom: 1.00;
		transform: scale(0.70);
		width: calc(100%/0.70);
    }
}

/* Zoom text size adjustments 1024 to 1100 */
@media screen and (min-width:1024px) and (max-width: 1110px) {
	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
		-webkit-text-size-adjust: 80% !important; 
	} 
	#featured h1 {
		-webkit-text-size-adjust: 50% !important; 
	}
}

/* end zoom fixes */

/*
@media screen and (min-width:921px) and (max-width: 980px) { html {zoom: .6 } }
@media screen and (min-width:831px) and (max-width: 920px) { html {zoom: .55 } }
@media screen and (min-width:770px) and (max-width: 830px) { html {zoom: .5 } }
*/

@media screen and (min-width:1024px) and (max-width: 1460px) {
    .mega-menu {
        width: 1560px;
    }
} 

/* BREAKPOINT 1 */
@media screen and (max-width: 1023px) {
    body {
        min-width: 300px;
    }
	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
		-webkit-text-size-adjust: 100% !important; 
	}
	#featured h1 {
		-webkit-text-size-adjust: 100% !important; 
	}
	#main-header,
	#main-footer {
        width:auto;
        padding:0;
        height:auto;
        background: none;
        margin:0;
        min-width: 0;
    }
    #main-header.flex-header {
        border-bottom: 0px;
    }
    .mobile-tablet,
    #tablet_mode {
        display: block;
    }
    #nav-login a strong,
    #nav-popup li a.nav-banner, #nav-popup li a.nav-banner:link, #nav-popup li a.nav-banner:visited,
    .link-more,
    #footer-bottom .wrapper,
    #carousel,
    #nav-tabs-additional {
        display: none;
    }
 
    /* Adjust on checkout the typehaed */
    #form-new .twitter-typeahead {
        width: 100%;
    }
    #rental-content {
        width: 100%;
    }
    #nav-login {
        right:10px;
    }
    #nav-login li {
    	margin:0 0 0 10px;
    }
    /* Wrapper is shared in the header and body*/
    .wrapper {
        min-width:0;
        width:auto;
        padding:0 10px;
        height:auto;
    }
    /* Switch header main wrapper to flexbox so we can align with flex rather than floats */
    .flex-header .wrapper {
        display: flex;
        flex-wrap: wrap;
        align-items: center; /* vertically center */
        justify-content: space-between;
    }
    .flex-header #form-search .tt-menu {
        max-width: 95vw;
    }
    /* Promotion is the first item in the header */
    #promo-header h3 {
        top: 0;
        left: 10px;
        font-size: 12px;
    }
    #promo-header p {
    	padding:0 25% 0 25%;
    	font-size:13px;
    }
    #promo-header {
    	height: auto;
    	padding:20px 0;
    }
    #button-search {
        width:25px;
    	height: 25px;
    	float:right;
    	background: url(../images/icon-search.png) no-repeat 50% 2px;
    	background-size:20px 20px;
    	text-indent:-9999px;
    	margin:35px 0 0 0;
    }
    /* In checkout give a fixed height. */
    #header-main {
    	height: 64px;
    }
    /* Fix issue caused by fixed height header */
    .flex-header #header-main {
        height: auto;
    }
    /* Logo shared between checkout and the rest of the site */
    #logo {
        width:68px;
        height:46px;
        background-size: 68px 46px;
        margin:8px 30px 0 0;
    } 
    /* Outside of checkout remove the margin in mobile - using flexbox instead */
    .flex-header #logo {
        margin: 0 0 0 0;
        position: relative;
	top: 1px;
    } 
	.mega-menu {
		top:64px;
	}
    .flex-header #nav-main {
        margin: 0 0 0 0;
        min-height: 64px;
        height: auto;
        display: flex;
        align-items: center;
        width: 26px;
    }
    .flex-header .shar-collection-link a {
        margin-top: 0px;
    }
    /* Hide the "items" text */
    .flex-header .cart-item-label {
        display: none;
    }
    /* Wrap item search to a separate row */
    #form-search, #form-search[style] {
        position: static;
        width: 100%;
        float: none;
        display: flex;
        justify-content: center;
        align-items: center;
        border-bottom: 0px;
        height: auto;
        background-color: #F4EEE7;
        padding: 10px;
        margin: 0 -10px 0 -10px;
        min-height: 36px;
        border-bottom: 1px solid #ccc;
    }
    #header-main.sticky {
        position: fixed;
        top: 0px;
        z-index: 1000;
        background-color: white;
        width: 100%;
        box-sizing: border-box;
    }
    #header-main .mega-menu {
        max-height: calc(100vh - 121px);
        overflow-y: scroll;
        z-index: 10001; /* stay above the scroll to top */
    }
    #header-main .mega-menu-wrapper {
        padding-bottom: 150px; /* make room for safari mobile bottom bar */
    }
    #header-main.sticky .mega-menu {
        max-height: calc(100vh - 64px);
        z-index: 10001; /* stay above the scroll to top */
        padding-bottom: 100px;
  
    }
    #header-main .tt-menu {
        max-height: calc(75vh);
        overflow-y: scroll;
    }
    #form-search .search-container {
        position: relative; /* This allows absolute positioning of the search button */
        min-height: 32px;
        max-width: 100%;
        width: 450px;
        background-color: white;
    }
    /* Move magnifying glass to the right side rather than left side */
    #form-search .button {
        position: absolute;
        right: 10px;
        top: 3px;
        z-index: 1;
    }
    #form-search.sticky .button {
        right: 10px;
    }
    #form-search .clear-search-term,
    #form-search .clear-search-term[style] {
        display: none !important;
    }
    /* This works together with the input to give the illusion of one big textbox */
    #form-search .search-container span.twitter-typeahead {
        background-color: white;
        height: 32px; /* match below */
        max-width: 95vw;
    }
    #form-search .input {
        /* Since we are moving the magnifying glass, bring the input over from 15 to 5 to fill the gap it used to be in */
        left: 10px !important;
        line-height: 32px; /* bring up from 25 to 32 */
        height: 32px;
        max-width: 90vw;
        background-color: white;
    }
    .mega-menu-wrapper {
        box-sizing:border-box;
        width:100%;
    	padding-left:10px;
    	padding-right:10px;
    }
    #nav-popup {
        min-height: 48px;
    }
    .sec-mega-menu-wrapper {
        width: calc(100vw - 278px);
        height:470px;
    }
    .sec-mega-menu {
    	left:210px;
        width:500px;
    }
    #mini-cart:before {
	    right:0;
	}
    #hero-image {
    	margin:0 0 5px 0;
	}
    #hero-image .mobile {
        text-align:center;
    }
    #featured {
		padding:30px;
	}
	#featured h1 {
		font-size:40px;
		right:30px;
		top:30px;
	}
	#list-featured li {
		width:28%;
		margin-right:3%;
	}
    #list-featured li.small {
        width: 27%;
        margin-top: 65px;
        margin-right: 3%;
    }
    #list-featured li:first-child a img {
        max-height:500px;
    }
	#list-featured li:first-child {
		width:30%;
		margin-right:3%;
        margin-bottom:0px;
	}
	#list-featured li:nth-child(3n) {
		margin-right:0;
	}
	#list-featured li:last-child {
		margin-right: 0;
        text-align:center;
	}
	#trending h2 {
		font-size:30px;
		margin:0 0 30px 0;
	}
	#list-trending li {
	    margin:0 4% 4% 0;
	    float:left;
	    width:48%;
	}
	#list-trending li:nth-child(2n) {
	    margin-right: 0;
	}
	#list-recommended li {
		width:23%;
		margin-right:2%;
	}
	#list-recommended li:last-child {
		margin-right: 0;
	}
	#connected h2 span {
		width:40%;
	}
	#list-connected li {
		width:31%;
		margin-right:3%;
	}
	#list-connected li:last-child {
		margin-right: 0;
	}
	#form-newsletter {
		width:23%;
		height:23%;
		margin-right:2%;
		padding-bottom:15px;
	}
	#form-newsletter h3 {
		font-size:11px;
		margin-top:15px;
	}
	#form-newsletter h3 span {
		font-size:20px;
	}
	#form-newsletter p {
		font-size:10px;
		margin:15px 10px;
	}
	#form-newsletter .input {
		width:90%;
		height:25px;
	}
	#form-newsletter .button {
		font-size:12px;
	}
	#list-connected {
		width:75%;
		float:left;
	}
	#list-connected li p {
		font-size:14px;
	}
	#category-intro h1 {
		font-size:40px;
	}
	#promo-category li {
		width:31%;
		height: 30%;
		margin:0 3.5% 0 0;
	}
    #promo-category.two-tile li {
        width: 49%;
        margin: 0 2% 0 0;
    }
	#promo-category li:last-child {
		margin:0;
	}
	.shop-category h2, #shop-best-seller h2 {
		font-size:40px;
	}
	.shop-category h2 span, #shop-best-seller h2 span {
		font-size:25px;
	}
	#list-category li,
	#list-category li:nth-child(5n) {
		width:18%;
		margin:0 2% 2% 0;
		height:290px;
	}
    #list-category:not(.display-flex) li:nth-child(5n) {
        margin-right:0;
    }
	#list-category li:nth-child(5n) {
		margin-right:0;
	}
    #list-category:not(.display-flex) li:nth-child(6n) {
        margin:0 2% 2% 0;
    }
	#list-best-seller {
		float:none;
		width:100%;
	}
	#list-best-seller li,
	#list-best-seller li:nth-child(2n) {
		width:23%;
		height:23%;
		margin:0 2% 2% 0;
	}
	#list-best-seller li:last-child {
		margin-right:0;
	}
	#best-seller {
		float:none;
	}
	#best-seller img {
		width:100%;
	}
	#title-category {
		font-size:40px;
	}
	#sidebar {
		width:21%;
	}
	#title-filter p,
	.title-main-sidebar {
		font-size:14px;
	}
	.form-sidebar .input {
		width:70%;
		margin-left:2%;
	}
	#link-clear {
		font-size:12px;
	}
	#main-content {
		width:77%;
	}
    .list-product {
        display: flex;
        flex-wrap: wrap;
    }
	.list-product li {
		width:29%;
		padding:25px 2%;
		height: auto; /* 600px left gaps - but we still need room for best seller text */
        margin-bottom: 30px;
	}
    .list-product li .price {
        margin-bottom: 15px; /* Reduce the margin under the price to make room for the ratings. */

    }
   .list-product li:nth-child(3n) {
		border-right:none;
	}
	.list-color {
	    list-style: none;
	    margin:0 0 20px 0;
	    height:21px;
	}
	.list-product .list-color li,
	.list-color li {
	    width:14px;
	    height:14px;
	    padding:1px;
	    margin:0 5px 0 0;
	}
	.list-product .list-color li a,
	.list-color li a {
	    width:14px;
	    height: 14px;
	}
	.list-product .list-color li.page-color {
		padding:2px 0 0 0;
	}
    /* The 'parent pick' or 'best seller' paragrap, put it on its own line in mobile. */
    .cart-option p.best {
        display: block;
    }
    .cart-option p.best:empty {
        display: none;
    }
    .button-cart, .button-cart:link, .button-cart:visited, .button-cart:hover {
        width:100%;
        float:none !important;
        display: block;
        margin: 10px 0 10px 0; 
    }
	.cart-option p {
		float:none;
		padding:0;
	}
    .cart-option {
        margin: 0 0 5px;
    }
    .button-quick-view, .button-quick-view:link, .button-quick-view:visited, .button-quick-view:hover {
        width:158px;
        height:33px;
        line-height: 33px;
        font-size:14px;
        top:200px;
        margin-left:-80px;
    }
	#featured-product {
		padding:20px;
	}
	#list-featured-product li {
		width:31%;
		margin:0 3% 0 0;
	}
	#list-featured-product li:last-child {
		margin-right:0;
	}
	#slideshow-product {
		width:60%;
	}
	#product-info {
		width:37%;
	}
	#title-product-detail {
		font-size:22px;
	}
	#breadcrumbs {
		font-size:14px;
        line-height: 1.5em; /* Fix text being too close together vertically when it spans multiple lines. */
	}
	#product-info .price {
		font-size:20px;
	}
	.list-size li {
		width: 88px;
		height: 34px;
		margin: 0 7px 7px 0;
	}
	.list-size li a, .list-size li a:link, .list-size li a:visited {
		height:34px;
		font-size:14px;
		line-height: 34px;
	}
	#form-product .input {
		width: 46px;
		height: 46px;
	}
	#form-product .button,
    #button-trial {
		width: 180px;
		height: 50px;
		font-size: 16px;
	}
	#product-info .price {
		font-size:18px;
	}
	.title-product {
		font-size:14px;
	}
	.list-additional li {
		height:215px;
	}
	#carousel-additional {
		width:90%;
		margin:0 auto;
	}
	#carousel-additional .flex-prev {
		left:-20px;
	}
	#carousel-additional .flex-next {
		right:-20px;
	}

	#product-description {
		width:60%;
		padding:0;
	}
	#tabs-additional .ui-tabs-panel {
		display: block !important;
		background: none;
		padding:0;
	}
	.content-tabs {
		padding:20px;
		background: #fff;
		display: none;
		margin-top:-1px;
		position: relative;
		z-index: 10;
	}
	.content-tabs.open {
		display: block;
	}
	.tabs-mobile {
		padding:20px 0;
		border-bottom:1px solid #ccc;
		text-align: center;
		text-transform: uppercase;
	}
	.tabs-mobile.open + .content-tabs {
		display: block;
	}
	.content-tabs:hover {
		display: block;
	}

	.tabs-mobile.open {
		color:#265e6f;
		background: url(../images/hover-tabs.png) no-repeat 50% 40px;
		background-size:150px 11px;
	}
	.box-product h2 {
		font-size:40px;
	}
	.box-product h2 span {
		font-size:26px;
	}
	.list-product-suggest li {
		width:21%;
		margin:0 5% 0 0;
	}
	.list-product-suggest li:last-child {
		margin:0;
	}
	#nav-tabs-review {
		width:75%;
		margin-left:25%;
	}
	.box-review {
		padding:30px 0;
	}
	.review-bio {
		width:20%;
	}
	.review-detail {
		width:75%;
	}
	#cart-content {
		width:71%;
        min-height: unset;
	}
    .cart-top-buttons {
        float: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 10px;
    }
    #form-main-cart #button-checkout-express-bottom {
        min-height: 60px;
        height: auto;
        line-height: normal;
    }
    #title-table-cart {
        margin-top: 10px;
    }
    #title-table-cart .title-description {
        width: 70%;
        padding: 0;
    }
	#title-table-cart .title-price,
	#title-table-cart .title-quantity {
		width:15%;
		text-align: center;
	}
	.cart-edit li {
		margin:0 10px 0 0;
		padding:0 10px 0 0;
		font-size:14px;
	}
    .image-cart,
    .image-saved {
        width: 150px; /* no longer use percentages here to fix an issue with alignment for price and quantity */
        margin: 0 10px 0 0;
    }
	.mini-cart-content {
		width: 47%; 
	}
	.price-cart,
	.row-cart aside {
		width:14%;
		text-align: center;
	}
	#cart-sidebar {
		width:26%;
	}
	#order-summary {
		padding:15px;
	}
	#cart-container {
		margin:0 0 30px 0;
	}
	#cart-later {
		padding:15px;
	}
    #cart-later .price-saved {
        position: static;
        margin-left: 20%;
    }
	.box-saved .mini-cart-content {
		width: 80%; /* thumbnnail is 20% */
	}
	#form-main-cart .button-cart {
		width:130px;
		height:40px;
		font-size:13px;
	}
    /* Display checkout button and total at the top of the cart like the invision design. */
    #form-main-cart .mobile-summary-total {
        display: block;
        font-size: 16px;
        
    }
    #form-main-cart .summary-total-row {
        display: flex;
        justify-content: space-between;
        padding-bottom: 10px;
    }
    #form-main-cart .summary-total-label p {
        display: inline-block;
        width: 125px;
    }
    .image-saved {
        width: 18%;
        margin: 0 2% 0 0;
    } 
	.box-product.cart {
		width:100%;
	}
	.box-product.cart .list-product-suggest li {
		width:22%;
		margin:0 4% 0 0;
	}
	.box-product.cart .list-product-suggest li:last-child {
		margin:0;
	}
	#order-summary h4 {
		font-size:18px;
	}
	.row-summary {
		font-size:13px;
	}
    .row-summary .link-help {
        margin-top: 6px
    }

	#text-free-shipping {
		height: auto;
		font-size:13px;
		padding: 10px 0 10px 50px;
		background: #fff url(../images/icon-free.png) no-repeat 15px 17px;
		background-size: 27px 27px;
		line-height: 1.6;
	}
	#confidence-container {
		padding:15px 10px 120px 10px;
	}
	#confidence-container h4 span {
		font-size:24px;
	}
    /* Fix an issue when the paragraph overlaps the background image, the paragraph background color is blank. */
    #confidence-container p {
        background-color: rgba(255, 255, 255, 0.75);
    }
	#search-popup {
		width:100%;
		height:100%;
		position: fixed;
		background: rgba(255,255,255,0.9);
		z-index: 1000;
		overflow-y: scroll;
	}
	#form-search-popup {
		border-bottom:1px solid #ccc;
		padding:10px;
		margin:0 0 15px 0;
	}
	#form-search-popup .input {
		border:none;
		background: none;
		width:80%;
		background: none;
		outline: none;
	}
	#form-search-popup .button {
		width:25px;
	    height: 25px;
	    float:right;
	    border:none;
	    background: url(../images/icon-search.png) no-repeat 50% 2px;
	    background-size:20px 20px;
	    text-indent: -9999px;
	    outline: none;
	    margin:0;
	}
	.list-search {
		list-style: none;
		margin:0 0 15px 0;
		padding:10px;
	}
	.list-search li {
		font-weight: 300;
		margin:0 0 10px 0;
	}
	.list-search li strong {
		font-weight: medium;
	}
	.box-search {
		margin:0 0 15px 0;
	}
	.box-search h3 {
		text-transform: uppercase;
		border-bottom:1px solid #ccc;
		padding:0 0 5px 10px;
	}
	.list-search-product {
		list-style: none;
		margin:0 0 15px 0;
		padding:10px 0;
	}
	.list-search-product li {
		padding:10px
	}
	.list-search-product li img {
		width:20%;
		float:left;
	}
	.search-content {
		width:75%;
		float:right;
	}
	.search-content h4 {
		font-size:15px;
		font-weight: medium;
		margin:0 0 10px 0;
	}
	.search-content p {
		font-weight: 300;
	}
	.search-content p a,
	.search-content p a:link,
	.search-content p a:visited {
		color:#232323;
	}
	#checkout-content {
		width:71%;
	}
	#checkout-sidebar {
		width:26%;
	}
	#form-login {
		width:100%;
		border:none;
	}
	#form-login .input, #form-new .input, #form-register .input {
		width:90%;
	}
	#form-login .button, #form-register .button {
		margin:0 15px 0 0;
	}
	#form-login ul li {
		float:none;
		margin:0 0 10px 0;
	}
	#new-customer {
		left:auto;
		width:100%;
		top:auto;
		position: relative;
	}
	#form-new {
		padding-top:30px;
	}
	#form-new label.label-newsletter {
		width:90%;
	}
	#new-customer {
		border-bottom:1px solid #ccc;
		padding-bottom:30px;
	}
	#list-checkout li {
		width:25%;
		float:left;
	}
	#shipping-address {
		padding:30px 0;
	}
	#form-new .select {
		width:90%;
	}
	#form-new .input,
	#form-new #shipping-address .input,
	#form-new #shipping-address .input.large {
		width:86%;
		padding:0 2%;
	}
	.name-group {
		width:100%;
		float:none;
		margin:0;
	}
	#form-new #shipping-address .note {
		display: block;
		margin:-5px 0 0 0;
	}
    #form-new .button, #form-delivery .button, #form-payment .button, #button-order-submit-section .button {
        width: 100%;
    }
    /* Generic form styling for Hubspot forms (1023 and below) */
    .form-generic label,
    .form-generic input,
    .form-generic select,
    .form-generic textarea,
    .form-generic button {
        /* Make buttons on generic form buttons the width of the whole page. */
        width: 80%;
    }
    .form-generic input[type=radio] {
        width: auto;
    }
    #item-order h4 {
        font-size:16px;
    }
	#item-order ul li img {
		width:100%;
		height: auto;
		float:none;
		margin:0 0 15px 0;
	}
    #item-order ul li div {
        width: 100%;
    }
	#form-delivery ul li div {
		width:90%;
	}
	#checkout-sidebar {
		margin:0 0 30px 0;
	}
	.payment-content, .billing-content {
		width:90%;
	}
	#step-checkout {
		width:auto;
        min-width: 0;
	}
	#main-header.checkout {
		height: 60px;
	}
	#nav-checkout {
		margin:15px 0 0 0;
	}
	#sidebar-confirmation {
		width:22%;
	}
	#content-confirmation {
		width:75%;
	}
	#sidebar-confirmation h3 {
		font-size:14px;
	}
	#form-survey .left,
	#form-survey .right {
		float: none;
	}
	#form-survey .textarea {
		width:96%;
		padding-left:2%;
		padding-right:2%;
	}
	#sidebar-summary {
		width:21%;
		padding-left:2%;
		padding-right:2%;
		display: block;
		float:left;
		margin:0;
	}
	.row-content-summary {
		width:100%;
		margin:0;
	}
	#content-summary {
		width:72%;
		display: block;
		float:right;
	}
	#order-summary-checkout {
		display: block;
	}
	.box-content-summary img {
		width:15%;
		height: auto;
		margin-right:2%;
	}
	.description-content-summary {
		width:60%;
	}
	.stock-summary {
		width:20%;
	}
	#form-login-container #form-login {
		width:47%;
		padding-left: 0;
		padding-right:3%;
	}
	#form-login-container #form-register {
		width:46%;
		padding-left:3%;
	}
	#form-login-container #form-login .input, #form-login-container #form-register .input {
		width:96%;
		padding:0 2%;
	}
	#form-register .checkbox {
		float:left;
	}
	#form-register label.newsletter {
		width:90%;
		float:left;
		margin-left:2%;
		margin-bottom:20px;
	}
	#form-register br {
		clear: both;
	}
	#form-login-container {
		margin-bottom:50px;
	}
	#myaccount-sidebar {
		width:20%;
		margin-bottom:30px;
	}
	#nav-myaccount li a, #nav-myaccount li a:link, #nav-myaccount li a:visited {
		font-size:13px;
	}
	#myaccount-content {
		width:77%;
		margin-bottom:50px;
	}
	.box-myaccount {
		display: block;
	}
	.sidebar-myaccount {
		width:20%;
		float:left;
		display: block;
	}
	.content-myaccount {
		width:77%;
		display:block;
		float:right;
	}
	.box-content-myaccount {
		margin:0;
	}
	.sidebar-myaccount aside {
		padding:15px;
	}
	.order-date {
		font-size:13px;
	}
	.box-content-myaccount .description-content-summary {
		width:60%;
		margin-bottom:10px;
	}
	.button-buy, .button-buy:link, .button-buy:visited {
		display: block;
		float:none;
		clear:both;
		margin:0 0 0 17%;
	}
	#beginning-left,
	#beginning-right {
		float:none;
		margin:0 auto 30px auto;
	}
	.image-beginning {
		width:20%;
	}
	.compare-beginning {
		width:76%;
	}
	.box-compare {
		width:46%;
		margin:0 2% 2% 0;
	}
    /* Bring back more link */
    .box-compare .link-more {
        display: inline-block;
        background-position-y: center;
    }
	#view-all {
		margin:0 0 40px 0;
	}
	#form-result-group {
	    position: relative;
	    left:auto;
	    margin:0 0 20px 0;
	}
	#form-result-group div {
	    width:30%;
	    margin-right:3%;
	}
	#form-result .select,
	#form-result .select.small {
	    width:100%;
	}
	#form-result .input {
	    width:96%;
	    padding:0 1%;
	}
	.recipent,
	#list-recipent .recipent:nth-child(3n) {
	    width:38%;
	    padding:4%;
	    margin:0 5% 5% 0;
	    display: inline-block;
	    float:none;
	    vertical-align: top;
	    height:252px;
	}
	.recipent.add {
	    width:46%;
	    padding:0;
	}
    .loyalty-page {
        width: 75%;
    }
    .loyalty-card {
        width: 40%;
        min-width: 0px;
        float: left;
    }
    .loyalty-copy {
        margin-bottom: 15px;
    }
    .recipent.add a {
        height: 280px;
        padding: 4%;
        border: 1px solid #cde0e5;
    }
	#list-recipent .recipent:nth-child(2n) {
	    margin-right:0;
	}
	.recipent.add a span {
		margin-top:20px;
	}
	.image-digital {
		width:20%;
		margin:0 3% 0 0;
	}
	.content-digital {
		width:72%;
	}
	.button-open, .button-open:link, .button-open:visited {
		float:left;
		display: block;
		margin:15px 0 0 0;
	}
	.box-digital {
		position: relative;
	}
	#form-private,
	#form-public {
		width:80%;
		float:none;
		padding:30px 10%;
		border:none;
		border-bottom:1px solid #ccc;
	}
	#form-public {
		border:none;
	}
	.form-header {
		height: auto;
		margin:0 0 20px 0;
	}
	#form-private, #form-public {
		width:100%;
		padding:20px 0;
	}
	.form-teacher .input {
		width:96%;	
		padding:0 2%;
	}
	.form-teacher .button {
		width:100%;
		margin:0 0 15px 0;
	}
	.form-teacher .link-forgot, .form-teacher .link-forgot:link, .form-teacher .link-forgot:visited {
		display: block;
		text-align: center;
		margin:0 0 25px 0;
	}
	.button-register, .button-register:link, .button-register:visited {
		width:100%;
	}
	#form-search-library {
		padding: 15px;
	}
	#form-search-library div {
		width:99%;
	}
	#form-search-library .input {
		width:71%;
		padding:0 1%;
	}
	#form-search-library .button {
		float:right;
	}
	#nav-learn li a {
		font-size: 14px;
	}
	.list-video li {
		width:32%;
		margin:0 2% 0 0;
	}
	.list-video li:last-child {
		margin:0;
	}
	.box-article img {
		width:20%;
		margin:0 4% 0 0;
	}
	.content-article {
		width:76%;
	}
	.button-view-more, .button-view-more:link, .button-view-more:visited {
		margin-bottom:40px;
	}
	.title-services strong {
		font-size:20px;
	}
	.title-services em {
		font-size:20px;
	}
	.title-services span {
		top:8px;
	}
	.services-content {
		padding:30px;
	}
	.services-content img {
		width:30%;
		margin:0 3% 0 0;
	}

	#box-address,
	#box-nav-footer {
		float:none;
		width:25%;
		margin:0;
	}
	#box-footer-container {
		position: absolute;
		z-index: 10;
		top:0;
		right:0;
		width:60%;
	}
	.box-footer {
		width:48%;
		margin-right:2%;
	}
	#nav-social {
		float:none;
		position: absolute;
		bottom:-60px;
		width:340px;
		left:50%;
		margin-left:-170px;
	}
	#box-address {
		padding-left:45px;
		background-size:30px 39px;
		margin-bottom:35px;
	}
	#box-address ul li a {
		text-transform: none;
	}
	#box-nav-footer ul li {
		margin-bottom:10px;
	}
	#footer-top {
		padding-bottom:80px;
	}
	#footer-bottom {
		background: #fbf8f9;
	}
	#nav-footer-checkout li {
		width:32%;
		margin:0;
	}
	#list-checkout { 
		width:100%;
	}
    form.form-ui.email-signup-form {
        width: 100%;
        box-sizing:border-box;
        padding: 0 0 0 5%;
    }
    #nav-popup li a, 
    #nav-popup li a:link, 
    #nav-popup li a:visited {
        padding-left:10px;
    }
    .contact-us table {
        max-width: 600px;
    }

    /* Fix text overlapping in product suggestion container on mobile view. */
    .product-suggest-container .title-product {
        width: auto;
    }

    .review-container {
        width: 100%;
        box-sizing:border-box;
    }
    #myaccount-content.create-account,
    .create-account .name-group {
        width: 100%;
    }
    #list-category li,
	#list-category li:nth-child(5n) {
		height:230px;
	}

    /* Start Teacher Rental List */
    .rental-teacher .button-cart, 
    .rental-teacher .button-cart:link, 
    .rental-teacher .button-cart:visited, 
    .rental-teacher .button-cart:hover {
        height: 60px;
        width: 248px;
        margin: 0;
    }
    .school-product .product-info {
        float: none;
        margin-bottom: 40px;
        width: auto;
    }
    .school-product .add-to-cart-buttons {
        float: none;
        justify-content: normal;
        width: auto;
    }
    /* End Teacher Rental List */
    
}

/* Once we get to a resolution where all the links don't fit, reduce the size. */
@media screen and (max-width: 931px) {
    .tooltip-popup-message {
        right: -10px;
        left: unset;
    }
    .shar-collection-link {
        display: none;
    }
    .error-wrapper {
        height: 75vw;
    }
}

/* Phones. */
@media screen and (max-width: 769px) {
    html {
        zoom: 1;
    }
    @-moz-document url-prefix() {
        html {
            transform: scale(1.00);
        }
    }
	body {
		font-size:14px;
	}
	.mobile {
		display: block;
	}
    .shar-points-desktop,
    .price-cart-desktop,
    .aside-desktop {
        display: none;
    }
    .shar-points-mobile,
    .price-cart-mobile,
    .aside-mobile {
        display: block;
    }

    /* Added custom navigation for custom styling of slider controls in mobile */
    .custom-navigation  {
        margin-top: 30px;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
    }
    .custom-navigation .flex-prev,
    .custom-navigation .flex-next {
        min-width: 14px;
    }
    .custom-navigation .flex-disabled {
        background-position: 0 -24px;
    }
    /* Increase size of slider buttons on mobile to make them easier for users to interact with */
    .custom-navigation ol.flex-control-nav {
        margin: 0;
    }
    .custom-navigation .custom-controls-container {
        margin-left: 10px;
        margin-right: 10px;
    }
    .custom-navigation .flex-control-paging {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: scroll;
        max-width: 80vw;
    }
    .custom-navigation ol.flex-control-nav li {
        position: relative;
        list-style-type: none;
        display: inline-block;
        width: 20px;
        height: 20px;
        min-width: 20px;
        max-width: 20px;
        border: 1px solid #ccc;
        border-radius: 100%;
        background: #fff;
        margin-left: 10px;
        margin-right: 10px;
    }
    .custom-navigation ol.flex-control-nav li a {
        display: inline-block;
        text-indent: -9999px; /* hide the numbers */
        width: 10px;
        height: 10px;
        background: #fff;
        position: absolute;
        top: 5px;
        left: 5px;
        border-radius: 100%; /* show a circle instead */
    }
    .custom-navigation ol.flex-control-nav li a:before {
        /* Increase clickable area of the links */
        content: '';
        position: absolute;
        width: 22px;
        height: 22px;
        top: -6px;
        left: -5px;
    }
    .custom-navigation ol.flex-control-nav li a.flex-active {
        background: #232323; /* fill in the circle */
        -webkit-transition: all 0.2s ease;
        transition: all 0.2s ease;
    }

    /* Remove gray overlay appearing on mobile devices */
    #mobile-flexslider .mz-thumb:hover:not(.mz-thumb-selected) img {
        filter: none !important;
    }
    .custom-navigation a.flex-prev,
    .custom-navigation a.flex-next {
        visibility: hidden; /* hide initially and make visible with JavaScript if they need to be shown */
    }
    /* Switch from using float to using flex for finer control over positioning*/
    #mobile-flexslider .slides {
        display: flex;
        float: none;
    }
    /* Vertically center */
    #mobile-flexslider .slides li {
        float: none;
        display: flex !important;
        justify-content: center;
    }
    /* 768px and below generic form styling */
    .form-generic {
        margin-left: 0px;
    }
    .form-generic input,
    .form-generic select,
    .form-generic textarea,
    .form-generic button,
    .form-generic input[type="text"],
    .form-generic input[type="email"],
    .form-generic .hs-button {
        width: 96%;
        padding: 0 2%;
    }
    .form-generic input[type=radio] {
        width: auto;
    }
    
    /* Change the iframes in the flex slider to match image heights. */
    .mobile.product-media.flexslider iframe {
        width: 90vw; /* use nearly the width of the device for the videos */
        height: calc(90vw * .56); /* maintain 16/9 aspect ratio */
        z-index: 1000; /* Fix issue caused by grayed out fix */
    }
    #mobile-flexslider.flexslider iframe {
        margin-top: calc(100vw * .2);
    }
    .jplayer-container {
        max-width: 100vw;
    }
    .sidebar-footer {
        bottom: 0;
        position: absolute;
        width: 100%;
    }
	#promo-header {
		padding:15px 0;
	}
    .hide-in-mobile,
	#promo-header h3,
	#nav-main .icon-learn,
	#nav-main .icon-teach,
    #nav-main .icon-rent,
	#nav-main li:last-child,
	#nav-login #icon-login,
	#box-address p,
	#box-address ul li:first-child,
	.nav-footer,
	#mini-cart:before,
	#sidebar,
	#title-filter,
	.list-color,
	.toolbar.bottom p,
	#title-table-cart,
	#nav-checkout li a span,
	.button-order,
	.button-order:link,
	.button-order:visited,
	#nav-myaccount,
    #tablet_mode {
		display: none;
	}
    #form-main-cart .row-cart aside a {
        display: inline-block;
        margin-left: 5px;
    }
	#promo-header p {
		padding:0;
	}
	.flex-header #nav-login {
		position: relative;
		right:auto;
		top:auto;
		float:right;
		margin: 0; /* using flex not margin to align */
	}
    .flex-header #nav-main {
        order: 1;
        position: static;
        float: none;
    }
    .flex-header #logo {
        order: 2;
        position: static;
        float: none;
    }
    .flex-header #nav-login {
        order: 3;
        position: static;
        float: none;
    }
    .flex-header #form-search {
        order: 4;
        position: static;
        float: none;
    }
    .flex-header + .wrapper {
        margin-top: 5px;
    }
    .price-cart:before {
        content: 'Price: ';
        font-weight:bold;
    }
    .quantity-label {
        display: inline-block;
        font-weight: bold;
    }
	#icon-cart a {
	    background: url(../images/icon-cart-mobile.png) no-repeat;
	    background-size:26px 26px;
	}
	#nav-login li a, #nav-login li a:link, #nav-login li a:visited {
		color:#232323;
	}
	#nav-main li a.link-shop, #nav-main li a.link-shop:link, #nav-main li a.link-shop:visited  {
		text-indent: -9999px;
	}
    #nav-main li.icon-popup,
    #nav-main li.icon-popup.open {
        background-size: 26px 21px;
    }
    .flex-header #nav-main li.icon-popup,
    .flex-header #nav-main li.icon-popup.open {
        background-position: left center;
    }
    #logo {
        position: absolute;
        margin: 0;
        
        top: 8px;
        left: 70px;
    }
    .flex-header #logo {
        position: absolute;
        left: calc(50% - 34px);
        top: 9px;
    }
	#mini-cart {
		top:64px;
		width:100%;
	}
	#list-mini-cart li img {
		width:20%;
	}
	.content-mini-cart {
		width:75%;
	}
	.mega-menu {
		width:100%;
		top:64px;
		display: none;
        position:absolute;
	}
	#nav-popup li {
		border-bottom:1px solid #ccc;
	}
    #nav-main #nav-popup li.icon-learn,
    #nav-main #nav-popup li.icon-teach,
    #nav-main #nav-popup li.icon-rent,
    #nav-main #nav-popup li:last-child {
        display: block;
    }
	#nav-main #nav-popup li.icon-collection {
		background: url(../images/icon-shar.png) no-repeat;
    	background-size:34px 34px;
	}
	#nav-main #nav-popup li.icon-login {
		background: url(../images/icon-login-mobile.png) no-repeat;
    	background-size:34px 34px;
	}
    #nav-main #nav-popup li.icon-learn,
    #nav-main #nav-popup li.icon-teach,
    #nav-main #nav-popup li.icon-rent,
    #nav-main #nav-popup li.icon-collection,
    #nav-main #nav-popup li.icon-login {
        background-position: 18px 15px;
        padding-left: 35px;
    }
	#nav-main #nav-popup li.icon-collection a span {
		text-transform: none;
		margin:0;
		padding:0;
		font-size:38px;
	}
	#nav-popup {
		width:100%;
	}
	#nav-popup li.sec-popup a {
		background: url(../images/icon-arrow-blue.png) no-repeat right 20px top 23px;
		background-size: 7px 12px;
	}
    #nav-popup li.sec-popup.open a span {
		background: none;
	}
	.sec-mega-menu {
		position: relative;
		top:auto;
		left:auto;
	}
	.mega-menu-wrapper {
		padding:0;
	}
	#nav-popup li a, #nav-popup li a:link, #nav-popup li a:visited {
		padding:15px 23px;
	}
	.sec-mega-menu-wrapper {
		width:100%;
		height:auto;
		background: #fff;
		margin:0;
	}
	.nav-sec-popup {
		width:100%;
		float:none;
	}
	.sec-mega-menu {
		width:100%;
		padding:0;
		border-top:1px solid #ccc;
	}
	.sec-mega-menu-wrapper {
		float:none;
		padding:0;
	}
	#nav-main .nav-sec-popup li {
		margin:0 30px;
	}
	#nav-popup li.sec-popup .nav-sec-popup li a {
		background: none;
	}
	#nav-popup li .nav-sec-popup li a {
		padding:15px 0 15px 5px;
	}
	#nav-popup li.sec-popup .nav-sec-popup li:last-child {
		display: block;
	}
	#nav-popup li.sec-popup .nav-sec-popup:last-child li:last-child {
		border:none;
	}
	#featured h1 {
		position: relative;
		top:auto;
		right:auto;
		text-align: center;
		font-size:24px;
		margin:0 0 20px 0;
	}
	#featured h1 span {
		font-size:28px;
	}
	#featured {
		padding:20px 15px;
	}
	#list-featured li:first-child {
		width:auto;
		float:none;
		margin:0 0 20px 0;
	}
	#list-featured li.small {
		margin-top:0;
		width:42%;
		float:left;
	}
    #list-featured li:nth-child(3).small {
        float: right;
    }
	#list-featured li {
		width:auto;
		float:none;
		margin:0 0 20px 0;
	}
	#list-featured li:nth-child(4n) {
		clear:both;
	}
	#list-trending li {
		float:none;
		margin:0 0 20px 0;
		width:100%;
	}
	#recommended {
		overflow: scroll;
		width: 100%;
	}
	#list-recommended {
		width:600px;
	}
	#list-recommended li {
		width:140px;
		margin-right:10px;
	}
	#title-recommended {
		margin-top:35px;
	}
	#trending {
		margin:0 0 30px 0;
	}
	#title-recommended h2 {
		font-size:26px;
	}
	#title-recommended div p,
	#list-recommended li h3 {
		font-size:13px;
	}
	#connected h2 {
		font-size:20px;
	}
	#connected h2 span {
		font-size:34px;
	}
	#form-newsletter {
		width:255px;
		height:255px;
		margin:0 5px 0 0;
		padding:0;
	}
	#connected {
		margin:0 0 30px 0;
	}
    #connected-outer-container {
		overflow-x: scroll;
        margin: 0 10px;
    }
    #connected-outer-container::-webkit-scrollbar,
    #container-category::-webkit-scrollbar {
        -webkit-appearance: none;
        height: 6px;
    }
    #connected-outer-container::-webkit-scrollbar-thumb,
    #container-category::-webkit-scrollbar-thumb {
        border-radius: 20px;
        background-color: #ccc;
        -webkit-box-shadow: 0 0 1px #ccc;
    }
    #connected-outer-container::-webkit-scrollbar-track,
    #container-category::-webkit-scrollbar-track {
        -webkit-box-shadow: inset 0 0 1px #232323;
        border-radius: 10px;
    }
	#list-connected {
		width:780px;
		float:left;
	}
	#list-connected li {
		width:255px;
		margin:0 5px 0 0;
        height: 320px;
	}
	#connected-container {
		width:1040px;
	}
	#form-newsletter h3 {
		margin-top:40px;
	}
    #box-address {
        width: auto;
        margin: 0;
        padding-bottom: 15px;
        border-bottom: 1px solid #ccc;
        background-position-x: calc(50% - 64px);
    }
	#category-intro h1 {
		font-size:30px;
		margin:0 0 20px 0;
	}
    #promo-category {
        text-align:center;
    }
    #promo-category li,
    #promo-category.two-tile li {
        width: 100%;
        float: none;
        margin: 0 0 20px 0;
    }
	.shop-category h2, #shop-best-seller h2 {
		font-size:30px;
	}
	#container-category {
		width:100%;
		overflow-x: scroll;
		margin:0 0 20px 0;
	}
    #list-category {
        display: inline-block;
        white-space: nowrap;
        height: 260px;
        overflow-y: hidden;
    }
	#list-category li,
	#list-category li:nth-child(6n),
	#list-category li:nth-child(5n) {
		float:none;
		display: inline-block;
		width:200px;
		margin:0 10px 0 0 !important;
	}
    #list-category.brands {
        margin-bottom: 20px;
        border: none;
        height: 170px;
        overflow-y: hidden;
    }
    #list-category.display-flex {
        display:inline-block;

    }
	#list-category li h3 {
		font-size: 12px;
	}
	#list-best-seller li, #list-best-seller li:nth-child(2n) {
		width:48%;
		margin:0 4% 4% 0;
	}
	#list-best-seller li:nth-child(2n) {
		margin-right:0;
	}
	#link-best-seller {
		width:230px;
		height: 40px;
		font-size:15px;
		line-height: 40px;
		right:15px;
		bottom:15px;
	}
	#title-category {
		font-size:30px;
		background-size:200px 15px;
	}
	#main-content {
		width:100%;
		float:none;
	}
	.page-container {
		display: block;
		float:none;
		clear:both;
	}
	.group-filter {
		width:100%;
		float:none;
	}
	.link-dropdown, .link-dropdown:link, .link-dropdown:visited {
		width:70%;
		padding-left:2%;
	}
	.button-option {
		height: 38px;
		border: 1px solid #ccc;
		border-radius: 3px;
		float: right;
		width:25%;
		text-indent: -9999px;
		background: url(../images/icon-option.png) no-repeat 50% 8px;
		background-size: 21px 21px;
	}
    .filter-mobile a {
        color: white;
        position: absolute;
        top: 10px;
        right: 10px;
        font-size: 20px;
        text-decoration: none;
    }
	#sidebar.active {
		position: fixed;
		top:0;
		left:0;
		width:100%;
		background: #fff;
		z-index: 100;
		display: block;
        height: 100%;
	}
	.filter-mobile {
		background: #265e6f;
		padding:15px 0;
	}
	.filter-mobile h4 {
		text-align: center;
		color:#fff;
		font-weight: 300;
		font-size:14px;
	}
	.filter-mobile h4 strong {
		font-weight: 500;
		text-transform: uppercase;
	}
	.sort-mobile {
		padding:20px 15px;
	}
	.sort-mobile h4 {
		font-size:14px;
		font-weight: 300;
		margin:0 0 10px 0;
	}
	.filter-container {
		overflow-x: scroll;
		padding-bottom:15px;
	}
	.list-filter {
		list-style: none;
		display: inline-block;
		margin:0;
		white-space: nowrap;
	}
	.list-filter li {
		display: inline-block;
	}
    .list-filter li input[type=radio] {
        display: none;
    }
	.list-filter li a,
    .list-filter li label {
		height:38px;
		border:1px solid #ccc;
		border-radius:2px;
		display: block;
		line-height: 38px;
		padding:0 15px;
		color:#232323;
		text-decoration: none;
		font-weight: 300;
		font-size:13px;
        cursor: pointer;
	}
	.list-filter li.active a,
    .list-filter input:checked + label{
		border:1px solid #265e6f;
		color:#265e6f;
        font-weight:500;
	}
	.button-clear-filter, .button-clear-filter:link, .button-clear-filter:visited {
		width:50%;
		height:50px;
		background: #265e6f;
		float:left;
		line-height: 50px;
		text-align: center;
		font-size:13px;
		text-transform: uppercase;
		color:#fff;
		text-decoration: none;
	}
	.button-apply-filter, .button-apply-filter:link, .button-apply-filter:visited {
		width:49%;
		height:50px;
		background: #265e6f;
		float:right;
		line-height: 50px;
		text-align: center;
		font-size:13px;
		text-transform: uppercase;
		color:#fff;
		text-decoration: none;
	}
	.group-filter {
		margin:0 0 15px 0;
	}
	.list-filter-selected {
		list-style: none;
		margin:0;
		display: flex; /* Instead of float use flex for mobile */
        flex-wrap: wrap;
	}
	.list-filter-selected li {
		height:30px;
		margin:0 10px 10px 0;
	}
	.list-filter-selected li a {
		border:1px solid #265e6f;
		border-radius: 2px;
		font-size:11px;	
		text-decoration: none;
		float:left;
		height: 30px;
		line-height: 30px;
		padding:0 25px 0 10px;
		background: url(../images/icon-x.png) no-repeat right 7px top 12px;
		background-size: 8px 8px;
	}
	.link-clear-all, .link-clear-all:link, .link-clear-all:visited {
		float:left;
		margin:8px 0 0 5px;
		font-size:11px;
		color:#232323;
	}
	.page-container {
		margin-top:20px;
	}
	.page-container p {
		border:none;
	}
	.page-content {
		float:right;
	}
	.toolbar {
		border: none;
	}
	.list-product li, .list-product li:nth-child(3n) {
		border:none;
		width:48%;
		margin:0 4% 4% 0;
		padding:0;
	}
    .list-product li:nth-child(2n) {
        margin-right:0;
    }
	.list-product .list-color li, .list-color li, 
	.list-product .list-color li:nth-child(3n), .list-product .list-color li:nth-child(2n)
	.list-color li:nth-child(3n),
	.list-color li:nth-child(2n) {
		width: 14px;
		height: 14px;
		padding: 1px;
		margin: 0 5px 0 0;
	}
	.list-product .list-color li.page-color {
		padding:0;
	}
	.color-mobile {
		font-size:11px;
		font-weight: 300;
		height:20px;
	}
	.toolbar.bottom .page-container .page-content .list-page {
		display: block;
	}
	.toolbar.bottom .page-container .page-content strong {
		display: none;
	}
	.toolbar.bottom .page-content {
		float:none;
		margin:0 auto;
		width:95px;
	}
	#featured-container {
		overflow-x: scroll;
		width:100%;
		padding:0 0 10px 0;
	}
	#list-featured-product {
		width:470px;
	}
	#list-featured-product li {
		width:145px;
		margin:0 15px 0 0;
	}
	#slideshow-product {
		width:100%;
		float:none;
	}
	#product-info {
		width:100%;
		position: relative;
		top:auto;
		right:auto;
	}
	#title-product-detail {
		font-size:20px;
	}
	#product-description {
		width:100%;
	}
	.product-suggest-container {
		width:100%;
		padding:0 0 10px 0;
		overflow: scroll;
	}
	.list-product-suggest {
		width:580px;
	}
	.list-product-suggest li {
		width:130px;
		margin:0 15px 0 0;
	}
	.box-product h2 {
		font-size:34px;
	}
	#title-review h2, #title-question h2 {
		font-size:16px;
	}
	#nav-tabs-review {
		width:100%;
		margin:0;
	}
    #nav-tabs-review li {
        width: 20%;
        margin: 0;
        text-align: center;
        padding: 0 5px;
        box-sizing: border-box;
        height: auto;
    }
    #nav-tabs-review li a, #nav-tabs-review li a:link, #nav-tabs-review li a:visited {
        padding-right: 0;
        padding-left: 0;
        font-size: 11px;
        display: inline-block;
        height: auto;
    }
    #title-review h2 span {
        font-size: 30px;
    }
	#review-header .button-review, #review-header .button-review:link, #review-header .button-review:visited {
		width:100%;
		float:none;
		display: block;
		margin:0 0 10px 0;
	}
	#question-header .button-review, #question-header .button-review:link, #question-header .button-review:visited {
		width:100%;
		float:none;
		display: block;
		margin:0;
	}
	#review-header .star-rate {
		text-align: center;
		width: 100%;
	}
	#review-header .star-rate span {
		float:none;
		display: block;
		margin:0;
		padding:5px 0 0 0;
		font-size:12px;
	}
	#review-header .star-rate img {
		float:none;
	}
	.review-bio,
	.review-detail {
		width:100%;
		float:none;
	}
	.review-bio {
		position: relative;
		margin:0 0 15px 0;
	}
	.review-bio p {
		position: absolute;
		top:0;
		right:0;
		text-align: left;
		line-height: 1.7;
	}
	.review-bio p strong {
		display: block;
	}
	.review-bio h4 {
		font-size:16px;
		margin:0 0 10px 0;
	}
	.review-bio ul {
		border:none;
		margin:0;
	}
	.review-detail .star-rate a, .review-detail .star-rate a:link, .review-detail .star-rate a:visited {
		float:right;
	}
	.response-review {
		padding:15px 20px;
	}
	.helpful h4 {
		font-size:15px;
		float:none;
		margin:0 0 5px 0;
	}
	.button-review, .button-review:link, .button-review:visited {
		width:90%;
		margin:0 auto 10px auto;
		display: block;
		float:none;
	}
	.button-more, .button-more:link, .button-more:visited {
		width:90%;
		margin:0 auto 10px auto;
		float:none;
		display: block;
		clear:both;
	}
	#review-footer p,
	#question-footer p {
		float:none;
		text-align: center;
	}
    #review-footer .button-review {
        margin-top: 20px;

    }
	#title-question h2 {
		margin-bottom:-10px;
	}
	#title-review, #title-question {
		border:none;
		margin:0 0 20px 0;
	}
	#main-title {
		font-size:20px;
		margin:0 0 15px 0;
	}
	#cart-content {
		width:100%;
	}
	#cart-sidebar {
		width:100%;
		position: relative;
		top:auto;
		right:auto;
	}
    .row-cart {
        margin-left: auto;
        margin-right: auto;
        max-width: 425px;
    }
    .image-cart {
        min-width: 140px;
        margin-right: 10px;
    }
	.mini-cart-content {
		min-width: 160px; /* 100% - left image - margin */
	    line-height: 1.7em;
    }
    .price-cart-mobile {
        min-width: 160px;
        text-align: left;
        margin-bottom: 0px;
    }
    .shar-points-mobile .cart-points {
        text-align: left;
        margin-bottom: 0px;
    }
	.price-saved {
        text-align: left;
        font-weight: normal;
        margin-bottom: 20px;
	}
    .price-saved:before {
        content: "Price: ";
        font-weight:bold;
    }
	.row-cart {
		position: relative;
		padding-bottom:120px;
	}
    #form-main-cart .row-cart aside .input {
        width: 30px;
        height: 30px;
        border: 1px solid #ccc;
    }
    .update-button.btn-link {
        font-size: 13px;
        line-height: normal;
    }
    #form-main-cart .row-cart aside .input:before {
        content: "Qty: ";
        font-weight: bold;
    }
    #form-main-cart .row-cart aside,
    #form-main-cart .box-saved .input {
        position: absolute;
        left: 160px; /* Match width of left image + margin. */
        bottom: 60px; 
        text-align: left;
    }
	#form-main-cart .box-saved .input {
		float:none;
		text-align: center;
		bottom:105px;
	}
    .row-cart aside {
        width: 50%; /* up to 50% to fit Qty: the textbox and the update link */
    }
    /* Cart edit links: Change | Remove | Save for Later */
    .cart-edit {
        position: absolute;
        left: 0px;
        bottom: 15px;
        width: 100%;
        display: flex;
        align-content: space-evenly;
        padding: 0px;
        margin: 0px;
    }
	.cart-edit li {
		display: inline-block;
		text-align: center;
		padding:0;
		margin:0;
        width: 100%;
	}
    .cart-edit li a, .cart-edit li a:link, .cart-edit li a:visited {
        font-size: 13px;
    }

    /* Cart later */
	#title-cart-later {
		border:none;
	}
	.box-saved,
	#cart-later .box-saved:last-child {
		position: relative;
		padding-bottom:100px; /* Reduce from 180 to 100 */
	}
	.box-saved {
		padding-top:15px;
	}
	#form-main-cart .button-cart {
		width:100%;
		position: absolute;
		left:0;
		bottom:20px;
	}
	.box-saved .cart-edit {
		bottom:70px;
	}
	#nav-tabs-review {
		padding:0;
	}
	#checkout-content,
	#checkout-sidebar {
		width:100%;
		float:none;
	}
	#form-login .button, #form-register .button {
		width:100%;
		float:none;
	}
    /* Fixes for express checkout buttons in mobile. */
    .express-checkout-buttons input {
        line-height: 1.5em !important;
        width: 125px !important;
    }
    .express-checkout-buttons a {
        margin-top: 0px !important;
        line-height: 1.5em;
    }
    /* Change the form to be full screen in mobile view. */
    .modal-content.modal-content-express, .form-login-express#form-login {
        width: 100%;
        height: 100%;
    }

    .button-close-popup {
        /* If the close button does happen to overlap, make sure it blurs out the text behind it. */
        background-color: rgba(255,255,255,0.75);
    }

    .form-login-express .title-login {
        /* Make room for the close button. */
        margin-right: 20px;
    }

    .express-checkout-buttons input {
        /* Put some more space between buttons and links. */
        width: 120px;
    }

    .express-checkout-buttons a {
        margin-left: 20px !important;
    }
    /* end fixes */
	#link-forgot, #link-create-account {
		float:none;
		margin:20px 0 0 0;
		display: block;
	}
	#item-order ul li img {
		width:80%;
	}
	#item-order ul li {
		text-align: center;
	}
	#nav-checkout li a, #nav-checkout li a:link, #nav-checkout li a:visited {
		height: 25px;
	}
	#main-header.checkout {
		height: 60px;
	}
	#main-header.checkout #logo {
		left:15px;
	}
	#nav-checkout li {
		margin:0 0 0 20px;
	}
	#list-checkout li {
		font-size:12px;
		padding:36px 0 0 0;
	}
	#list-checkout li span {
		top:12px;
	}
	#list-checkout {
		height:60px;
		width:100%;
	}
	#checkout-sidebar {
		margin:0 0 30px 0;
	}
    #form-login .input, #form-new .input, #form-register .input,
    #form-new .input, #form-new #shipping-address .input, #form-new #shipping-address .input.large {
        width:96%;
        padding:0 2%;
    }
	#form-new .select {
		width:100%;
	}
	#box-delivery p {
		font-size:13px;
		line-height: 1.6;
	}
	#box-delivery {
		margin-bottom:25px;
	}
	.title-delivery {
		font-size:18px;
		margin-bottom:15px;
	}
	#form-delivery ul li h4, #form-delivery ul li p {
		font-size:13px;
	}
	#form-delivery ul li {
		margin:0 0 15px 0;
	}
	#form-delivery ul li p.info {
		padding-left:15px;
	}
	.card img {
		width:50px;
		margin-right:10px;
	}
	#form-payment .input,
	#form-payment .input.small {
		width:96%;
		padding:0 2%;
	}
	.payment-date {
		width:48%;
		margin:0 4% 4% 0;
	}
    .payment-date + .payment-date {
        margin-right: 0;
    }
	#form-payment .select {
		width:100%;
	}
	.payment-date .link-help {
		float:none;
		display: inline-block;
        margin-right: 0px;
	}
    /* Payment forget section */
    .payment-forget {
        /* Fix issue with text not wrapping causing problems in mobile */
        white-space: normal;
        display: flex;
        align-items: center;
        margin-bottom: 10px;
    }
    .payment-forget input {
        display: block;
        margin-top: 0;
        margin-bottom: 0;
    }
    #form-payment ul .payment-forget label {
        display: block;
        margin-bottom: 0px;
        padding-left: 5px;
        padding-right: 30px; /* fix wrap issue */
    }
    /* end payment forget section */
    #form-payment .input.gift {
        width: 55%;
        padding: 0 2%;
    }
	#checkout-content {
		margin-bottom:30px;
	}
	.box-review-checkout p {
		font-size:13px;
		line-height: 1.7;
	}
	.box-review-checkout img {
		width:20%;
		margin-right: 20px;
		margin-bottom:20px;
	}
	#order-summary .button-order {
		display: block;
	}
	#step-checkout {
		height:60px;
	}
	#step-checkout h1 {
		font-size:18px;
		line-height: 60px;
	}
	#confirmation {
		padding:25px 0;
	}
	#confirmation h2 {
		font-size:18px;
		margin:0 0 20px 0;
	}
	#confirmation p {
		width:80%;
	}
	#sidebar-confirmation {
		width:95%;
		float:none;
		margin:0 auto 20px auto;
	}
	#sidebar-confirmation img {
		width:100%;
	}
	#content-confirmation {
		width:100%;
		float:none;
	}
	#form-survey h3 {
		font-size:18px;
	}
	#form-survey h3 span {
		font-size:18px;
		display: block;
	}
	#form-survey p {
		font-size:18px;
	}
	#form-survey .button {
		float:none;
		width:100%;
	}
	#form-survey {
		margin:0 0 30px 0;
	}
	#content-confirmation h2 {
		font-size:18px;
	}
	#sidebar-summary {
		width:96%;
		float:none;
	}
	#content-summary {
		width:100%;
		float:none;
	}
	.stock-summary {
		width:auto;
		display: block;
		text-align: left;
		float:none;
		margin:0 0 0 20%;
	}
	.description-content-summary {
		width:80%;
		float:none;
		padding-left:20%;
		margin:0 0 10px 0;
	}
	.box-content-summary img {
		position: absolute;
		margin:0;
		left:10px;
	}
	#form-login-container #form-login,
	#form-login-container #form-register {
		padding:0;
		width:100%;
		float:none;
		border:none;
	}
	#form-login-container #form-login {
		padding-top:30px;
	}
	#form-login-container #form-login .button, #form-login-container #form-register .button {
		width:100%;
	}
	#form-login-container #form-login {
		border-bottom:1px solid #ccc;
		margin-bottom:30px;
		padding-bottom:30px;
	}
	#myaccount-sidebar,
	#myaccount-content {
		width:100%;
		float:none;
	}
	#myaccount-sidebar {
		border:none;
	}
	#title-listing {
		font-size:20px;
	}
	#form-myaccount .select {
		border:1px solid #ccc;
		border-radius:2px;
		height:40px;
		width:100%;
	}
	#myaccount-content h2 {
		font-size:15px;
	}
	.sidebar-myaccount,
	.content-myaccount {
		float:none;
		width:100%;
	}
	.sidebar-myaccount {
		margin:0 0 20px 0;
	}
	.button-buy, .button-buy:link, .button-buy:visited {
		margin:0;
		width:100%;
	}
	#button-view-more {
		width:100%;
	}
	.box-myaccount {
		margin-bottom:30px;
	}
	.box-content-myaccount .description-content-summary {
		width:80%;
	}
	#beginning-left,
	#beginning-right {
		width:100%;
		height: auto;
	}
	#beginning-right {
		padding-top:40px;
		padding-bottom:50px;
		background: #fbf2e9 url(../images/leaf.png) no-repeat right 20px bottom 20px
	}
	.title-beginning h2 {
		font-size:18px;
	}
	.title-beginning h2 span {
		font-size:20px;
	}
	.image-beginning {
		width:100%;
		float:none;
	}
	.image-beginning img {
		width: 100%;
	}
	.compare-beginning {
		width:100%;
		float:none;
	}
	.compare-beginning p {
		margin-right:0;
	}
	.box-compare {
		width:100%;
		margin:0;
		float:none;
		margin:0 0 30px 0;
	}
	#view-all {
		margin-top:-20px;
	}
	#beginning-right h2 {
		font-size:34px;
	}
	#beginning-right p {
		font-size:15px;
		margin-right:30px;
		margin-left: 30px;
	}
	#content-confirmation #order-summary {
		width:94%;
		padding:3%;
		float:none;
	}
	#box-question {
		margin-top:20px;
	}
	#form-result-group div {
		width:100%;
		float:none;
		margin:0 0 20px 0;
	}
	#form-result .button {
		width:100%;
		float:none;
		margin:0 0 15px 0;
	}
	#form-result .input {
		width:98%;
	}
	#form-result .link-clear {
		text-align: center;
		display: block;
	}
	.recipent,
	#list-recipent .recipent:nth-child(3n),
	#list-recipent .recipent:nth-child(2n) {
		width:92%;
		padding:4%;
		height: auto;
		margin:0 0 15px 0;
		float:none;
	}
	.recipent.add {
		width:100%;
		float:none;
		height: auto;
	}
	.recipent.add a {
		width:96%;
		padding:30px 2%;
		height: auto;
	}
	.edit-recipent {
		position: relative;
		left:auto;
		bottom: auto;
	}
	.recipent p {
		margin:0 0 20px 0;
	}
	.image-digital {
		float:none;
		margin:0 0 15px 0;
		width:100%;
		text-align: center;
	}
	.content-digital {
		width:100%;
		float:none;
	}
	.button-open, .button-open:link, .button-open:visited {
		float:none;
		width:100%;
	}
	.button-view-more, .button-view-more:link, .button-view-more:visited {
		width:100%;
	}
	#sidebar.learn {
		display: block;
		float:none;
		width: 100%;
		margin:0 0 30px 0;
	}
	#nav-tabs-video li {
		margin-right:15px;
	}
	.list-video li {
		width:100%;
		margin:0 0 20px 0;
		float:none;
	}
	.list-video li img {
		width:100%;
	}
	.button-full, .button-full:link, .button-full:visited {
		width:100%;
	}
	#intro-article h2 {
		font-size:24px;
	}
	.box-article img {
		width:100%;
		margin:0 10px 10px 0; /* Fix thumbnails running right next to content. */
	}
	.content-article {
		width:100%;
		float:none;
	}
	.title-services strong,
	.title-services em {
		float:none;
		display: block;
	}
	.services-content img {
		width:100%;
		float:none;
		margin:0 0 15px 0;
	}
	.services-content {
		padding:15px;
	}

	#nav-footer-checkout li {
		border-bottom:1px solid #ccc;
		width:100%;
		margin:0;
		display: block;
		height:60px;
		line-height: 60px;
	}
	#nav-footer-checkout {
		margin-top:-35px;
		margin-bottom:-60px;
	}
	#footer-bottom {
		background: #f7f1f3;
	}
	#box-nav-footer {
		width:100%;
	}
	#box-footer-container {
		position: relative;
		top:auto;
		right:auto;
	}
	#box-address ul li {
		margin:0 0 10px 0;
	}
	#box-nav-footer ul li,
	#box-nav-footer ul li:last-child {
		margin:0;
		padding:15px 0;
		border-bottom:1px solid #ccc;
		text-align: center;
	}
	#box-nav-footer ul li a,
	#box-nav-footer ul li em {
		display: inline-block;
	}
	#box-footer-container {
		width:100%;
		float:none;
	}
	.box-footer {
		float:none;
		width:100%;
	}
	.box-footer h4 {
		text-align: center;
		padding:20px 0;
		border-bottom:1px solid #ccc;
		margin:0;
		text-decoration: underline;
	}
	.box-footer h4 span {
		background:url(../images/icon-arrow.png) no-repeat 100% 4px;
		background-size: 7px 12px;
		padding:0 12px 0 0;
	}
	.box-footer h4:hover + .nav-footer {
		display: block;
	}
	.nav-footer:hover {
		display: block;
	}
	.nav-footer {
		padding:15px 0 0 0;
		margin:0;
	}
	#nav-social li {
		margin-left:10px;
	}
	#nav-social {
		width:290px;
		margin-left:-145px;
	}
    #footer-top {
        text-align:center;
    }
    #nav-popup #back-to-categories {
        display: none;
    }
    #nav-popup #back-to-categories a {
        background: url(../images/icon-arrow-blue-left.png) no-repeat left 20px top 25px;
        background-size: 8px 12px;
        padding-left:33px;
        font-weight:bold;
        font-size:16px;
    }
    #nav-popup li.sec-popup a.open {
        background-image:none;
    }
    #nav-popup li .nav-sec-popup li a {
        font-weight: 500;
    }
    #nav-main #nav-popup li.icon-collection a span {
        font-family: 'Tangerine', cursive;
        font-weight: 700;
    }
    #nav-main #nav-popup li.icon-collection a {
        padding: 19px 23px 7px;
    }
    #container-popup-cart, .popup-container, .modal-container {
        width: 100% !important;
        height: 100%;
        margin: 0;
        top: 0;
        left: 0;
        box-sizing: border-box;
    }
    /* Responsive modal - make it full screen. */
    #popup-cart, .modal {
        padding: 0px;
        margin: 0px;
        background-color: white;
        box-sizing: border-box;
    }
    #container-popup-cart, .modal-content {
        width: 100%;
        height: 100%;
        background-color: white;
        margin: 0px;
        padding: 20px;
        box-sizing: border-box;
    }
    /* end responsive modal*/
    #content-added-cart {
        width:100%;
    }
    #container-popup-cart #button-checkout,
    #container-popup-cart #button-checkout:link,
    #container-popup-cart #button-checkout:visited,
    #container-popup-cart .button-checkout-express {
        width: 100%;
        margin-bottom: 30px;
    }
    #box-added-cart {
        text-align: center;
        border-bottom: 0;
        margin: 0;
    }
    #box-added-cart img {
        float:none;
        margin:0 0 10px 0;
    }
    #carousel-additional-popup {
        width:90%;
        margin: 0 auto;
    }
    #product-image {
        height:auto;
        width:auto;
        display: none;
    }
    /* Remove borders appearing to the right of thumbnails on mobile. */
    .mz-thumb img {
        box-shadow: none !important;
    }
    .review-container {
        padding:0;
    }
    .review-container .product-info {
        float:none;
        width:100%;
        margin-right:0;
        margin-bottom:25px;
    }
    .review-container .reviewer-info {
        float: none;
        width: 100%;
        margin-left: 0%;
    }
    #title-login, #title-reset-sent, #title-main {
        font-size:25px;
    }
    .iama-label {
        display: block;
        margin-bottom: 10px;
        width: 80px;
        text-align: left;
    }
    .classification-label {
        display: inline-block;
        margin-left: 20px;
        margin-bottom:5px;
        width: 80px;
        text-align: left;
    }
    .form-ui.email-signup-form .two-columns .column {
        width: 100%;
        padding: 0 5%;
        box-sizing: border-box;
    }
    .mobile.product-media .sound-link img {
        height: 50px;
        width: 50px;
        margin: auto;
    }
    .mobile.product-media .sound-link a {
        width: 75px;
        height: 75px;
        margin: 10px;
        text-align: center;
    }
    .mega-menu-wrapper {
        height:auto;
    }
    #box-nav-footer ul li.icon-shar,
    #box-nav-footer ul li.icon-catalog,
    #box-nav-footer ul li.icon-phone {
        margin: 0;
        height:auto;
    }
    #box-nav-footer ul li a,
    #box-nav-footer ul li.icon-shar a, 
    .icon-phone em {
        line-height:24px;
        height:24px;
        padding-top:4px;
        
    }

    /* Fix the guitar getting cut off. */
    ul li.icon-shar a {
        background-size: 28px 28px;
    }

    /* In mobile hide the "let's chat" message. */
    .LPMcontainer {
        display: none !important;
    }

    /* Remove logic trying to move and size the quick view/choose options modal. */
    .quickview-modal#container-popup-cart {
        width: 100%;
        margin-left: 0px;
    }
    .quickview-modal #slideshow-product {
        margin: 0;
        width: 100%;
    }
    .quickview-modal #form-product {
        margin: 0;
    }
    .quickview-modal #title-product-detail {
        max-width: calc(100% - 35px); /* Make room for the X in mobile */
        padding: 10px 0px 10px 10px;
    }
    .quickview-modal .product-details-base-info,
    .quickview-modal .product-info {
        margin: 0; /* Remove extra margin note needed in mobile */
    }
    .quickview-modal#container-popup-cart {
        padding: 0;
    }
    .quickview-modal  #mobile-flexslider {
        max-width: calc(100vw - 20px);
        margin-left: auto;
        margin-right: auto;
    }
    .flexslider .slides li a, /* for regular product detail too */
    .quickview-modal .flexslider .slides li a {
        display: block;
    }
    .flexslider .slides img,
    .quickview-modal .flexslider .slides img {
        /* Center the image within the slide */
        display: block;
        width: auto;
        margin-left: auto;
        margin-right: auto;
    }
    .quickview-modal #product-info {
        margin: 0;
        width: auto;
        padding: 20px;
        display: block;
        float: none;
    }
    /* Hide the quick view button all together. Only way to get to quick view is from 'edit details' on the cart page. */
    .button-quick-view, .button-quick-view:link, .button-quick-view:visited {
        display: none !important;
    }
    #sidebar .list-filter label {
        padding: 0 15px;
        line-height: 38px;
    }
    .image-link {
        height: auto;
        display: block;
        margin: 0;
    }
    .style-selector-container .list-color {
        display: block;
    }
    .in-home-trial,
    .in-home-trial table {
        width: 100%;
    }
    /* Put some space anytime a new heading starts.*/
    #review h2,
    #question h2,
    h2.product-suggest-title {
        margin-top: 35px !important;
    }

    .error-wrapper {
        height: 90vw;
    }
    .error-wrapper .button-cart:link, 
    .error-wrapper .button-cart:visited, 
    .error-wrapper .button-cart:hover {
        width: 50%;
        margin-top: 15px;
    }

    .error-404-text,
    .error-500-text {
        padding: 10px;
    }

    .error-404-text h2,
    .error-500-text h2 {
        font-size: 22px;
    }

    .error-404-text p,
    .error-500-text p {
        padding-top: 8px;
        padding-bottom: 8px;
    }
    .tooltip-popup-message {
        right: unset;
        left: -135px;
    }
    #taxes .tooltip-popup-message {
        position: relative;
        max-width: 97vw;
        left: -222px;
    }
    #sidebar-nav {
        height: calc(100% - 228px);
        overflow-y: scroll;
    }
	.magic360-container {
        width: auto;
        height: 300px;
    }
    .magic360-container a img, 
    .magic360-container a.Magic360 {
        max-height: 300px;
        vertical-align: top !important;
        width: auto !important;
    }
    #nav-tabs-review li a.selected {
        padding-bottom: 15px;
    }
}


@media screen and (max-width: 767px) {

    #form-search.sticky .button {
        right: 20px;
    }
    /* There is a bug exiting full screen with magic 360 in mobile */
    .Magic360-button.fullscreen {
        display: none;
    }
    /* note: Tooltip positioning should no longer be here! */
    .static-content .ship-rates-table, .static-content .ship-rates-table table {
        border-spacing: 3px;
    }
    .security-privacy-table,
    .security-privacy-table table,
    .contact-us table,
    .in-home-trial,
    .in-home-trial table,
    .in-home-trials-form-table,
    .in-home-trials-form-table table{
        width: 100%;
    }
    .in-home-trial *,
    .in-home-trials-form-table * {
        max-width: 100%;
    }
    .inner-blocks > * {
        display: block;
        width: 100%;
        margin: 10px 0;
    }
    .in-home-trials-form-table tbody tr td {
        display: initial;
    }
    .in-home-trials-form-table,
    .in-home-trials-form-table tbody,
    .in-home-trials-form-table tbody tr {
        display: block;
    }
    .in-home-trials-form-table input[type=text], 
    .in-home-trials-form-table input[type=email],
    .in-home-trials-form-table input[type=submit]{
        width: 100% !important;
        box-sizing: border-box !important;
    }
    /* This belongs in the smallest breakpoint.*/
    .list-product li {
        margin-bottom: 30px;
    }
    /* Start Teacher Rental List */
    .school-products-list {
        display: block;
    }
    .school-product {
        width: auto;
        display:block;
        margin-top: 30px;
    }
    .school-product .product-image {
        float: none;
        width: auto;
        margin: 0 0 40px 0; 
    }
    .school-product .product-details {
        width: 100%;
        float: none;
    }
    .rental-teacher .rental-details {
        padding:0;
    }
    .rental-teacher .school-fields {
        min-width:inherit;
        width:auto;
    }
    .school-products-heading h5 {
        width: 100%;
        font-size: 23px;
    }
    .school-products-heading {
        display:block;
    }
    .rental-teacher .button-add-all, 
    .rental-teacher .button-add-all:link, 
    .rental-teacher .button-add-all:visited, 
    .rental-teacher .button-add-all:hover {
        margin: 25px 0 10px;
    }

    /* End Teacher Rental List */
}

@media screen and (max-width: 640px) {
    .list-product li {
        /*height: 515px;*/ /* Adjusted to fix whitespace at this breakpoint. */
    }
    .loyalty-card {
        width: 90%;
    }
    .loyalty-page {
        width: 100%;
    }
}