/*
CHANGELOG

Version 11.0.25
1/15/20 (MKM): Added font & color settings for mobile site alert;
4/24/19 (MKM):
    Fixed issue with btn-buynow from yesterday's update (not all of them use an a tag, some use inputs)
    Removed border at the top of the footer
    Removed margin at the bottom of product list

4/23/19 (MKM):
    Added left/right sidebar styling for homepage sidebar on slideshow
    Fixed visited styling for .btn-buynow

*/


/*
    GENERAL
    NAVIGATION
    PRODUCTS
    VIDEO

*/



/* ------------------------------------------------------GENERAL------------------------------------------------ */
body {
	font-size: 15px;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
}

h1 {
    font-size:1.7em;
    line-height: 1.2em;
    margin:0 0 10px;
    padding:15px 0 5px;
}

h2 {
    font-size:1.5em;
    line-height:1.2em;
    margin:0 0 10px;
    padding:0 0 5px;
}
h3 {
    font-size:1.3em;
    line-height:1.2em;
    margin:0 0 10px;
    padding:0 0 5px;
}
h4 {
    font-size:1.2em;
    line-height:1.0em;
    margin:0 0 5px;
    padding:0 0 5px;
}
h5 {
    font-size:1.1em;
    line-height:1.0em;
    margin:0 0 5px;
    padding:0 0 5px;
}

.btn:visited, .btn:active {
    color:white !important;
}

strong {
    font-weight:700;
}

.radio {
    margin-left:20px;
}

.checkbox {
    margin-left:20px;
}



.green {
	color: #7BB044 !important;
}

.green:hover {
	color: #7BB044;
}

.bg-green {
	background-color: #7BB044;
}



.text-white {
	color: #FFF !important;
}

.text-white:hover {
	color: #FFF;
}

ul.nav-locations {
	padding: 0;
	margin-top: 6px;
	margin-bottom: 0;
}

.nav-locations li {
	list-style-type: none;
	display: inline-block;
}

.nav-locations li:after {
	content: '•';
	color: #CCC;
	margin-left: 10px;
	margin-right: 3px;
}

.nav-locations li:last-child:after {
	content: '';
}

.nav-locations li a {
	color: #888;
}

.input-group {
	border-radius: 0;
	border: none;
}

#search .form-control {
	border-radius: 0;
	border: 1px solid #373737;
	font-size: 16px;
}

.btn-dark {
	border-radius: 0;
	background-color: #373737;
	color: #FFF;
}

.btn-dark:hover,
.btn-dark:focus,
.btn-dark:active {
	background-color: #373737;
	color: #FFF;
}

.sidebar {
    padding-top:20px;
}

.city-description img {
    max-width:25%;
    height:auto;
    margin:10px 20px;
}

.container-wide {
    padding:0 30px;
}

.top-alert {
    margin-bottom:0px;
}

.top-alert h1, .top-alert h2, .top-alert h3, .top-alert h4, .top-alert h5, .top-alert p {
    margin:0;
}


@media (max-width: 1199.98px) {
    .alert-light {
        background-color:#eee;
    }

    .top-alert h1, .top-alert h2, .top-alert h3, .top-alert h4, .top-alert h5 {
        font-size:1em;
    }
}

.line {
    margin: 0 0 1em;
    line-height: 2em;
    padding: 0;
    font-size: 1.5em;
    position: relative;
    overflow: hidden;
    text-align: center;
    text-transform: uppercase;

    margin-bottom: 0px;

}

.line:before {
    content: " ";
    position: absolute;
    top: 50%;
    margin-left: -36em;
    height: 2px;
    width: 35em;
    background: rgba(0,0,0,0.0);
}

.line:after {
    content: " ";
    position: absolute;
    top: 50%;
    margin-left: 1em;
    height: 2px;
    width: 35em;
    background: rgba(0,0,0,0.0);
}

.py-5 {
    padding:10px 0px;
}

.col-centered{
    display: inline-block;
    float: none;
}

#home-page-slides {
    margin-top:-4px;
}

#footer .social {
    font-size:30px;
    margin-right:15px;
}


/* ---------------------------------------------------------------NAVIGATION--------------------------------------------------------- */

.very-top-bar {
	padding: 8px 0px 5px;
}

.very-top-bar p {
	margin:0;
    font-weight:bold;
}



.top-bar {
	padding-top: 20px;
	padding-bottom: 20px;
}

.navbar {
	margin-bottom: 0;
	/* padding-bottom: 1rem; */
	min-height: 1px;
	text-align: center;
	/* box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.08); */

}

ul.nav.navbar-nav {
    border-top:1px solid #AAA;
    border-bottom:1px solid #AAA;
    padding-bottom:10px;
}

.nav {
	padding: 0;
}


.main-link {
    font-weight:bold;
}
@media (max-width: 1199.98px) {
	a.nav-logo {
		margin: auto;
		text-align: center;
		margin-bottom: .5rem;
        max-width:300px;
	}

	.top-bar {
		padding-top: 10px;
		padding-bottom: 7px;
	}

	.nav-logo img {
		width: 250px;
	}
}

@media (max-width: 991.98px) {
	.nav-logo img {
		width: 230px;
	}
}

@media (max-width: 767.98px) {
	.nav-logo img {
		width: 200px;
	}
}

@media (max-width: 575.98px) {
	.nav-logo img {
		width: 185px;
	}
}


/* MOBILE X NAV ANIMATION */

#mobile-menu {
	width: 26px;
	height: 22px;
	top: 14px;
	left: .75rem;
	position: absolute;
	transition: .5s ease-in-out;
	cursor: pointer;
}

#mobile-menu span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: #373737;
	opacity: 1;
	left: 0;
	transform: rotate(0deg);
	transition: .25s ease-in-out;
}

#mobile-menu span:nth-child(1) {
	top: 0px;
}

#mobile-menu span:nth-child(2),#mobile-menu span:nth-child(3) {
	top: 9px;
}

#mobile-menu span:nth-child(4) {
	top: 18px;
}

#mobile-menu.open span:nth-child(1) {
	top: 15px;
  width: 0%;
  left: 50%;
}

#mobile-menu.open span:nth-child(2) {
	transform: rotate(45deg);
}

#mobile-menu.open span:nth-child(3) {
	transform: rotate(-45deg);
}

#mobile-menu.open span:nth-child(4) {
	top: 15px;
	width: 0%;
	left: 50%;
}

@media (min-width: 1200px) {
	#mobile-menu {
		display: none;
	}
}

@media (min-width: 1200px) {
	#cart {
		display: none;
	}
}

@media (max-width: 1199.98px) {
	#cart {
		font-size: 2.4rem;
		top: 6px;
		right: .75rem;
		position: absolute;
		transition: .5s ease-in-out;
		cursor: pointer;
	}
}

.nav-tabs > .active > a,
.nav-tabs > .active > a:hover,
.nav-tabs > .active > a:focus {
  cursor: default;
  background-color:  transparent;
}


@media (max-width: 640px) {
  .nav-tabs li {
	  float:none;
	  display: block !important;
  }
  .nav-tabs li a {
	  border:none;
	  border-top:1px solid #ccc;
	  display: block !important;
	  text-align:center;
  }
  .nav-tabs li.active a{
	  border:none;
	  border-top:1px solid #ccc;
	 font-weight:bold;
  }
}

.tab{
    text-align: center;
    position: relative;
    z-index: 1;
}
.tab:before{
    content: "";
    width: 100%;
    height: 1px;
    background: #cdcdcd;
    position: absolute;
    top: 22px;
    left: 0;
    z-index: -1;
}
.tab .nav-tabs{
    display: inline-block;
    border: 1px solid #cdcdcd;
    background: #f9f9f9;
    border-radius: 50px;
    text-align: center;
    padding: 0 20px;
}
.tab .nav-tabs li{
    float: none;
    display: inline-block;
    position: relative;
}
.tab .nav-tabs li:after{
    content: "";
    width: 1px;
    height: 30px;
    background: #c4c4c4;
    position: absolute;
    top: 50%;
    right: 0;
    font-size: 1em;
    transform: rotate(0deg) translateY(-50%);
}
.tab .nav-tabs li:last-child:after{
    width: 0;
    height: 0;
}
.tab .nav-tabs li a{
    font-size: 0.9em;
    font-weight: 700;
    color: #999;
    border: none;
}
.tab .nav-tabs li a:hover{
    background: transparent;
    border: none;
}
.tab .nav-tabs li.active a,
.tab .nav-tabs li.active a:focus,
.tab .nav-tabs li.active a:hover{
    border: none;
    background: none;
}

@media only screen and (max-width: 480px){
    .tab:before{
        width: 0;
        height: 0;
    }
    .tab .nav-tabs{ padding: 0; }
    .tab .nav-tabs li{
        width: 100%;
        text-align: center;
        border-bottom: 1px solid #e9e9e9;
    }
    .tab .nav-tabs li:last-child{
        border-bottom: none;
    }
    .tab .nav-tabs li:after{
        width: 0;
        height: 0;
    }
}

.mobile-tab {
    margin:10px 0px;
}
.dropdown-menu {
    left: 50%; right: auto; text-align: center; transform: translate(-50%, 0);
}

#coupon-club {
    padding:20px; text-align:center; clear:both; margin-top:20px;
}

.footer-button {
    margin-bottom:15px;
}

.footer-button-link {
    text-align:center; display:block;  padding: 10px; background:#fff; border:1px solid #ccc; border-radius:0px; text-decoration:none;
}
.footer-links {
    padding:20px;
}
.footer-links ul {
    padding-left:0px;
}
.footer-links li {
    list-style:none;
}

.sidebar-links-container {
    padding-top:3px; height:100%;
}
.home-sidebar a.link {
    padding:10% 10px 10% 20px;
    color:white;
    border-bottom:1px solid #fff;
    text-transform:uppercase;
    margin:0 -30px 0 0;
}

.home-sidebar a:hover {
    text-decoration:underline;
}

.sidebar-left { padding-right:0px; }

.sidebar-left .sidebar-links-container {
    padding-left:16px;
}

.sidebar-right { padding-left:0px; }

.sidebar-right .sidebar-links-container {
    padding-right:16px;
}

.sidebar-padding-left {
    padding-left:0px; padding-top:3px;
    padding-right:30px;
}

.sidebar-padding-right {
    padding-left:30px;
    padding-right:0px; padding-top:3px;
}

@media (min-width: 960px) and (max-width: 1420px) {
	.home-sidebar a.link {
        padding:8.5% 5px 10% 15px;
        font-size:13px;
    }
}

@media (max-width: 1200px) {
	.sidebar-padding-left {
        padding-left:20px;
    }

    .sidebar-padding-right {
    padding-right:20px; padding-top:3px;
    }
}

.event-buttons .row-fluid {
    padding:20px 0px;
    margin-bottom:40px;
}

.event-buttons a, .event-buttons a:active, .event-buttons a:visited {

	text-align: center;

	padding:5px 0px 0px;
	margin:15px 0px;
	background-color: #FFFFFF;
    text-transform:uppercase;
    padding-bottom:8px;
    font-weight:normal;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.small-button-margin {
    padding:0px 5px;
}
.small-button-margin a,.small-button-margin a:active, .small-button-margin a:hover  {
    margin:5px 0px;
}

.event-buttons a:hover {
	text-decoration:none;
}

/* ----------------------------------------------------PRODUCTS------------------------------------------------ */
.product-container {
    padding:10px 30px;
}

.product-slideshow {
    margin-top:20px;
}
.prodinfo .product-title {
    font-size:2em;
    margin-top:20px;
    margin-bottom:0px;
}

.prodinfo .breadcrumbs {
    font-size:0.9em;
    margin-bottom:10px;
}

.prodinfo h3 {
    margin-bottom:0px;
}

.prodinfo p {
    font-weight: 400;
}

.prodinfo table {
    font-size:0.9em;
}

.product-row {
    margin-right:15px; margin-left:15px;
}

.unavailable-product {
    opacity:0.4;
}

div.products-list {
	padding:30px 0;
	margin-bottom:0px;
}

div.products-list div.product {
	padding: 0px 0px 5px 0px;
	width: 222px;
	height: 343px;
	overflow: hidden;
	margin: 0 auto 20px;
	position: relative;
	-webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, .3);
	-moz-box-shadow: 1px 1px 3px rgba(0, 0, 0, .3);
	box-shadow: 1px 1px 3px rgba(0, 0, 0, .3);
	border-radius:10px;
	-moz-border-radius:10px;
	-webkit-border-radius: 10px;
}

div.products-list div.product-responsive {
	padding: 0px 0px 5px 0px;
	width:95%;
	margin: 0 auto 20px;
	position: relative;
	-webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, .3);
	-moz-box-shadow: 1px 1px 3px rgba(0, 0, 0, .3);
	box-shadow: 1px 1px 3px rgba(0, 0, 0, .3);
	border-radius:10px;
	-moz-border-radius:10px;
	-webkit-border-radius: 10px;
	overflow:hidden;
}

div.products-list  div.product-image {
	width: 220px;
	height: 270px;
	margin-bottom: 2px;
	border-radius: 10px 10px 0px 0px;
	-moz-border-radius: 10px 10px 0px 0px;
	-webkit-border-radius: 10px 10px 0px 0px;
}

div.products-list  div.product-image-responsive {
	margin-bottom: 2px;
	border-radius: 10px 10px 0px 0px;
	-moz-border-radius: 10px 10px 0px 0px;
	-webkit-border-radius: 10px 10px 0px 0px;
}

div.products-list  div.product-image img {
	border-radius: 10px 10px 0px 0px;
	-moz-border-radius: 10px 10px 0px 0px;
	-webkit-border-radius: 10px 10px 0px 0px;
}

div.product-image a {
	display:block; width:220px; height:308px;
}

div.products-list  div.product-image img {
	max-width: 225px;
}

div.products-list div.product-name {
	text-align:center;
	padding:0px 20px;
	height:36px;
	overflow:hidden;
}

div.products-list div.product-name a {
	font-family:"Arial", sans serif; !important;
 	text-transform:uppercase;
	font-size:14px;
	line-height:16px;
}

div.products-list div.product-price {
	margin-left:15px;
	font-family:"Arial", sans serif; !important;
	font-weight:normal;
	font-size:20px;
	bottom: 0px;
	width: 200px;
	left:10px;
}

div.products-list div.product-price-responsive {
	margin:0 auto;
	font-family:"Arial", sans-serif !important;

	font-size:17px;
	bottom: 0px;
	width: 90%;
	max-width:200px;
}

div.products-list div.product-price a {
	margin-top:-5px;
}

.img-container {
	border:1px solid #eee;
}

.img-container img {
	width: 100%;
}

.btn-buynow, .btn-buynow:visited, .btn-buynow:active, a.btn-buynow, a.btn-buynow:visited, a.btn-buynow:active {
  margin-bottom:5px;
  text-transform:uppercase;
  background-image: none;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.03);
  -webkit-font-smoothing: antialiased;
  -webkit-box-shadow:none;
  box-shadow:none;
  padding:2px 8px;
}


div.products-list .triangle {
	width:0px;
	height:0px;
	position:absolute;
	top:0px;
	right:0px;
	border-left:60px solid transparent;

}

div.products-list .local-triangle {
	width:0px;
	height:0px;
	position:absolute;
	top:0px;
	right:0px;
	border-top:85px solid rgba(0,0,0,0.7);
	border-left:85px solid transparent;

}

div.products-list .marketing-banner {
	width:100%;
	height:30px;
	position:absolute;
	bottom:100px;
	padding:5px;
	font-weight:bold;
	opacity:0.85;
}

div.products-list .onsale a {
	width:35px;
	height:35px;
	position:absolute;
	top:5px;
	right:5px;

}

div.products-list .buy-now-overlay {
	position:absolute;
	top:40%;
	left:50%;
	opacity:0;
}

div.products-list .buy-now-overlay a{
	position:relative;
	left:-50%;
}

.img-container:hover .buy-now-overlay  {
	opacity:1;
}

div.products-list .restricted-banner {
	opacity: 75%; background-color: #999; position: absolute; top:84%; font-size:13px;
}





@media (max-width: 1500px) {
	div.products-list .restricted-banner {
		top:81%;
	}
}

@media (max-width: 1400px) {
	div.products-list .restricted-banner {
		top:79%;
	}
}

@media (max-width: 1300px) {
	div.products-list .restricted-banner {
		top:76%;
	}
}

@media (max-width: 1100px) {
	div.products-list .restricted-banner {
		top:73%;
	}
}

@media (max-width: 991px) {
	div.products-list .restricted-banner {
		top:84%;
	}
}  

div.products-list .local-only a {
	width:55px;
	height:55px;
	position:absolute;
	top:9px;
	right:9px;
}

div.products-list .price-banner {
	background-color:#fff;
    padding:10px 0px;
}

div.products-list .big-banner {
	padding:36px 0px;
}
div.products-list .product-larger-bottom-margin {
	margin-bottom:20px;
}
div.products-list .product-smaller-bottom-margin {
	margin-bottom:20px;
}
@media (min-width: 992px) {
	.product-smaller-bottom-margin {
		margin-bottom:10px;
	}
    .price-banner {
		padding:5px 0px;
	}
}
@media (max-width: 991.99px) {
	div.products-list .big-banner {
		padding:10px 0px;
	}
}

div.products-list .product-title {
    font-size:14px; line-height:16px; font-weight:bold; text-align:center; padding-top:5px; height:22px; overflow:hidden;
}

.local-only-box {
	border-radius:5px;
	padding:10px;
	margin:10px;
}

.colorbox {
	height:10px;
	width:10px;
	display:inline-block;
	margin:5px 10px 0px 0px;
}

#productimage {
	border-radius:10px;
	-moz-border-radius:10px;
}

div.product_image {
	position: relative;
	margin-right: 30px;
	margin-bottom: 25px;
}

div.product_image div.height {
	position: absolute;
	height: 80%;
	top: 10%;
	left: 100%;
	width: 21px;
	margin-left: 9px;
	background: url(/assets/img/v_middle.png) repeat-y;
}
div.product_image div.height img.top {
	position: absolute;
	bottom: 100%;
	left: 0;
}
div.product_image div.height img.bottom {
	position: absolute;
	top: 100%;
	left: 0;
}
div.product_image div.height div.value {
	height: 30px;
	line-height: 30px;
	position: absolute;
	top: 50%;
	margin-bottom: 30px;
	margin-left: -4px;
	text-align: center;
	width: 21px;
}

div.product_image div.width {
	position: absolute;
	width: 80%;
	left: 10%;
	top: 100%;
	height: 21px;
	margin-top: 4px;
	background: url(/assets/img/h_middle.png) repeat-x;
}
div.product_image div.width img.left {
	position: absolute;
	right: 100%;
	top: 0;
}
div.product_image div.width img.right {
	position: absolute;
	left: 100%;
	top: 0;
}
div.product_image div.width div.value {
	height: 21px;
	line-height: 21px;
	position: absolute;
	left: 50%;
	margin-left: -25px;
	text-align: center;
	width: 50px;
}

.highlighted_row {
    background-color:#FFFCC1;
}

.upgrade_radio {
    transform: scale(1.5);
    padding:3px 5px 0px 0px;
}

.upgrade_label {
    margin-left:5px;
}

.availability {
    font-size:13px;
    color: #aaa;
}

/* ------------------------------------------------------VIDEO------------------------------------------------ */
.video-responsive {
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
    margin-bottom:20px;
}
.video-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

/* --------------------------------------------------REWARDS-------------------------------------------------- */
.rewardspoints {
	font-size: 50px;
	font-weight:bold;
	text-align:center;
	border:1px solid #ccc;
	padding:20px;
	margin-top:20px;
}

.rewardspoints-checkout {
	font-size: 20px;
	font-weight:bold;
	text-align:center;
	border-radius: 15px; border:1px solid #333;
}


.rewardstext-checkout {
	color: #333;
	font-size: 18px;
	text-align:left;
}

.rewards-big-headers {
	font-size: 38px;
}

.rewards-text {
	margin-left:23px;
}

.rewards-links {
	text-decoration: underline;
}

.rewards-offers h3 {
				text-align:center;
				text-transform:uppercase;
				font-weight:bold;
				font-size:20px;

			}
			.rewards-graphic {
				padding:10px 10px;
				text-align:center;
			}
			.rewards-graphic img{
				margin:0 auto;
				height:100px;
			}
			.rewards-box {
				background-color:#eee;
				border-radius:10px;
				margin:10px;
				padding:10px;
			}

			.rewards-box p {
				text-align:center;
			}

.underline { border-bottom:1px solid #333;
	padding:0px;
	margin:0px 20px 10px;
}
.big-points {
	font-size:60px;
	line-height:55px;
}
.total {
	border:1px solid #ddd;
	border-radius:10px;
	padding:20px;
}
.rewards-points-label {
	font-size:13px;
	text-align:center;
	line-height:13px;
	margin:0;
	padding:0;
	color:#777;
}

.rewards-disclaimer {
	font-size:11px;
	font-style:italic;
}

div.error {
	color: #FF0000;
}

form.validate-form div.error input, form.validate-form div.error select, form.validate-form div.error textarea {
    border: 1px solid #b94a48
}
