/* todo: remove temp hack!
======================================================== */
.slate .box .family  > .title-bar,
.slate .box > .title-bar {
    background: #596167;
    background-image: none;
}
.slate .box > .box-content {
    -webkit-box-shadow: 0 0;
    -moz-box-shadow: 0 0;
    box-shadow: 0 0;
}


/* home product 
======================================================== */
.product-shelf .product-shelf-item .item-name {
    top:0;
    left:0;
    text-indent:-100%;
    height:0;
    width:0;
    position:absolute;
    overflow:hidden;
}

.product-shelf li.shop_mac {
	width: 273px;
	border-left: none;
	border-top-left-radius: 4px;
}

.product-shelf li.shop_mac a {
	border-top-left-radius: 4px;
}

.product-shelf li.shop_ipad {
	width: 233px;
}

.product-shelf li.shop_iphone {
	width: 233px;
}

.product-shelf li.shop_ipod {
	width: 233px;
	border-right: none;
	border-top-right-radius: 4px;
}

.product-shelf li.shop_ipod a {
	border-top-right-radius: 4px;
}

/*.product-shelf li a:after {
	content: "";
	width: 4px;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: -2px;
	background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,1)));
	background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
	background: -o-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
	background: -ms-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
	background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
}*/

.product-shelf li:first-child a:after {
	content: none;
}

.product-shelf li a.product-shelf-link {
	background-color: #fff;
	/*transition:background-color 0.2s ease-in;
	-o-transition:background-color 0.2s ease-in;
	-ms-transition:background-color 0.2s ease-in;
	-moz-transition:background-color 0.2s ease-in;
	-webkit-transition:background-color 0.2s ease-in;*/
}

.product-shelf li.shop_mac:hover {
	border-left: none;
}

.product-shelf li.shop_ipod:hover {
	border-right: none;
}

.product-shelf li a.product-shelf-link:hover {
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
	background-color: transparent;
	transition:background-color 0.2s ease-in;
	-o-transition:background-color 0.2s ease-in;
	-ms-transition:background-color 0.2s ease-in;
	-moz-transition:background-color 0.2s ease-in;
	-webkit-transition:background-color 0.2s ease-in;
}

/* new marketing buttons
======================================================== */
.button.new-marketing {
    background: #117ed2;
    background: -moz-linear-gradient(top, #37aaea, #117ed2);
    background: -ms-linear-gradient(top, #37aaea, #117ed2);
    background: -o-linear-gradient(top, #37aaea, #117ed2);
    background: -webkit-gradient(linear, left top, left bottom, from(#37aaea), to(#117ed2));
    background: -webkit-linear-gradient(top, #37aaea, #117ed2);
    background: linear-gradient(to bottom, #37aaea, #117ed2);
    border: 1px solid #4c88bc;
    border-radius: 18px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2);
}

.button.new-marketing:hover,
.button.new-marketing:focus {
    background: #0351b7;
    background: -moz-linear-gradient(top, #2f90d5, #0351b7);
    background: -ms-linear-gradient(top, #2f90d5, #0351b7);
    background: -o-linear-gradient(top, #2f90d5, #0351b7);
    background: -webkit-gradient(linear, left top, left bottom, from(#2f90d5), to(#0351b7));
    background: -webkit-linear-gradient(top, #2f90d5, #0351b7);
    background: linear-gradient(to bottom, #2f90d5, #0351b7);
}

.button.new-marketing:active,
.button.new-marketing.active {
    box-shadow: 0 1px 0 #fff, inset 0 0 9px rgba(0, 0, 0, .5);
}

.button.new-marketing.secondary {
    background: #e0e0e0;
    background: -moz-linear-gradient(top, #fff, #e0e0e0);
    background: -ms-linear-gradient(top, #fff, #e0e0e0);
    background: -o-linear-gradient(top, #fff, #e0e0e0);
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
    background: -webkit-linear-gradient(top, #fff, #e0e0e0);
    background: linear-gradient(to bottom, #fff, #e0e0e0);
    border-color: #cfcfcf;
}

.button.new-marketing.secondary:hover > span,
.button.new-marketing.secondary:focus > span {
	background:#c8c8c8;
	background:-webkit-linear-gradient(#fff,#c8c8c8);
	background:-moz-linear-gradient(#fff,#c8c8c8);
	background:linear-gradient(#fff,#c8c8c8);
}

.button.new-marketing.secondary > span {
	color:#666;
	text-shadow:none
}

.button.new-marketing > span {
    background: none;
    border: none;
    color: #fff;
    font-size: 12px;
    line-height: 18px;
    padding: 1px 16px 2px;
    text-shadow: 0 -1px 1px #666;
}

.button.new-marketing.small > span {
    font-size: 11px;
    line-height: 14px;
    padding: 1px 12px 2px;
}

.button.new-marketing.large > span {
    font-size: 13px;
    line-height: 20px;
    padding: 1px 18px 2px;
}

.hero.box a:hover .new-marketing,
.hero.box a:focus .new-marketing {
    background: #0351b7;
    background: -moz-linear-gradient(top, #2f90d5, #0351b7);
    background: -ms-linear-gradient(top, #2f90d5, #0351b7);
    background: -o-linear-gradient(top, #2f90d5, #0351b7);
    background: -webkit-gradient(linear, left top, left bottom, from(#2f90d5), to(#0351b7));
    background: -webkit-linear-gradient(top, #2f90d5, #0351b7);
    background: linear-gradient(to bottom, #2f90d5, #0351b7);
}

.hero.box a:active .new-marketing {
    box-shadow: 0 1px 0 #fff, inset 0 0 9px rgba(0, 0, 0, .5);
}

.hero.box span.button {
	margin-top: 10px;
}

.hero .box-content a.block {
	min-height: 416px;
}

.hero .box-content p.price {
	font-size: 16px;
	color: #333;
	padding-bottom: 10px;
}


/* slate hacks for footerblock
======================================================== */
.slate #primary_main .footerblock > h2,
.slate #navigation .footerblock > h2 {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    background-color: #596167;
    background-image: none;
}
.slate #primary_main .footerblock > h2 > span,
.slate #navigation .footerblock > h2 > span {
    background-color: #596167;
    background-image: none;
    text-shadow: 1px 1px 1px #224272;
}
.slate #primary #primary_main .footerblock .modulecontent,
.slate #navigation .footerblock .modulecontent {
    border: 1px solid #D8D8D8;
    border-top-width: 0;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    background: #fff;
}
.slate #primary #primary_main .footerblock .modulecontent {
    width: 626px;
}
.slate #navigation .footerblock .modulecontent {
    width: 166px;
}
.slate #primary #primary_main .module_btm,
.slate #navigation .module_btm {
    display: none;
}


 /* slate hacks for list-of-links
======================================================== */
.slate .list-of-links h3 a,
.slate .list-of-links h3 span {
    border-top-color: #EFEFEF;
    border-bottom-color: #EFEFEF;
    background-image: none;
}


/* more stores overrides
======================================================== */
#morestores > div {
    border-top: 1px solid #d8d8d8;
}

#morestores .list-of-links:first-child {
    border-top: 0;
}

#morestores .list-of-links ul {
    padding-top: 5px;
}

#morestores .list-of-links:first-child ul {
    padding-top: 0;
}

#morestores .list-of-links ul li > a {
    padding: 5px 0;
}

#morestores .list-of-links:last-child ul li:first-child > a {
    padding-top: 0;
}

#morestores .list-of-links ul li:last-child > a {
    padding-bottom: 3px;
}

#morestores .list-of-links {
    margin: 0 11px 0 12px;
}


/* special deals
======================================================== */
#navigation .modulecontent a img {
    margin: 20px auto 0;
}

.footerblock .modulecontent div#specialdeals-list {
    position: relative;
}

.footerblock .modulecontent div#specialdeals-list .sale-tag {
    height: 42px;
    position: absolute;
    right: 5px;
    top: 0px;
    width: 47px;
}

#navigation .footerblock .modulecontent a, #navigation div.iphonebox .modulecontent a, #secondary .footerblock .modulecontent a {
    line-height: 1.6em;
}

#navigation .footerblock .modulecontent .refurb-box a {
    color: #333333;
}
#navigation .footerblock .modulecontent .refurb-box a:hover {
    color: #0088CC;
    text-decoration: none;
}

.footerblock .modulecontent div.sale-tagged#specialdeals-list ul {
    padding: 0 0 18px 0;
    position: relative;
}

#navigation .footerblock .modulecontent .moduledetail a.superlink,
#secondary .footerblock .modulecontent .moduledetail a.superlink {
    display: block;
    height: 70px;
    width: 59px !important;
    float: right;
    position: relative;
    top: 0 !important;
    left: 12px;
    overflow: hidden;
    clear: left;
}

#navigation .footerblock .modulecontent .moduledetail a.superlink img.fb-macbook,
#secondary .footerblock .modulecontent .moduledetail a.superlink img.fb-macbook {
    margin: 10px 0 0 0;
}

.personalization-block .box-content {
    background: #fff;
}

#navigation .footerblock .modulecontent .moduledetail a.superlink {
    *margin-left: -55px;
    *margin-top: 18px;
}

#navigation .footerblock .modulecontent .moduledetail.superlink:hover h3 b {
    color: #08c;
}



/* promo row tiles (on hover header turns blue)
=============================================================== */
li.tile a:hover h3 {
    color: #08c;
}


/* footerblock
=============================================================== */
.modulecontentwrap.superlink:hover a {
    text-decoration: underline;
}


/* overrides base-ie7.css style. should be removed from that stylesheet
=============================================================== */
body .footerblock #store_details .modulecontentwrap {
    padding-left: 8px;
}

#navigation .footerblock .modulecontent .moduledetail a.superlink {
    margin-left: -13px;
}


/* FIX FOR <rdar://problem/12451425> Whiskey: Home: Staff Picks - horizontal divider extends 1px outside of box
/* Should be fixed in base.css though...
=============================================================== */
.product-grid .product-row {
    width: 627px;
}

.product-grid .product-row li:first-child {
    width: 120px;
}

ul.two-across li + li {
    margin-left: 10px;
}

/* hero takeover
======================================================== */
.hero .box-content {
	font-size: 14px;
}

/* 2012 macbookpro 13rd
======================================================== */
#primary .hero .box-content .macbookprord {
	position: relative;
	min-height: 416px;
}

#primary .hero .box-content  .macbookprord .macbookpro-hero {
	position: absolute;
	top: 38px;
	left: 40px;
}

#primary .hero .box-content .macbookprord .info {
	position: absolute;
	text-align: center;
	top: 90px;
	right: 33px;
}

#primary .hero .box-content .macbookprord .info .macbookpro-title {
	padding-bottom: 10px;
}

#primary .hero .box-content .macbookprord .info .macbookpro-sub {
	padding-bottom: 20px;
}

/* 2013 MacBook Pro
======================================================== */
#primary .hero .box-content .macbookpro-2013-04 {
	overflow: hidden;
	position: relative;;
}

#primary .hero .box-content .macbookpro-2013-04 .hero {
	position: absolute;
	bottom: 5px;
	left: 40px;

}

#primary .hero .box-content .macbookpro-2013-04 .info {
	float: right;
	text-align: center;
	width: 400px;
	padding: 110px 10px 0 0;

}

#primary .hero .box-content .macbookpro-2013-04 .tagline {
	font-size: 17px;
	color: #888;
	line-height: 1.2em;
	padding: 10px 0;

}

/* 2012 ipad mini
======================================================== */
#primary .hero .box-content .ipadmini {
	position: relative;
	min-height: 416px;
}

#primary .hero .box-content .ipadmini .ipad-hero {
	position: absolute;
	bottom: 0;
	right: 0;
}

#primary .hero .box-content .ipadmini .info {
	position: absolute;
	top: 136px;
	left: 5px;
	width: 310px;
	text-align: center;
	font-size: 14px;
}

#primary .hero .box-content .ipadmini .info .ipad-title {
	padding-bottom: 10px;
}

#primary .hero .box-content .ipadmini .announce .info p.price {
	padding: 17px 0 0 0;
	font-size: 14px;
}

.hero.box .ipadmini .ipad-sub {
	padding-bottom: 20px;
}


/* 2012 ipad 3gen
======================================================== */
.hero.box .ipad3gen .ipad-hero {
	position: absolute;
	left: 0;
	bottom: 0;
	padding-bottom: 34px;
}

.hero.box .ipad3gen .info {
	position: relative;
	width: 410px;
	text-align: center;
	padding-top: 64px;
	margin: 0 auto;
	z-index: 1;
}

.hero.box .ipad3gen .ipad-title {
	padding-bottom: 24px;
}

.hero.box .ipad3gen .ipad-sub {
	padding-bottom: 24px;
}


/* 2012 iMac
======================================================== */
.hero.box .imac .imac-hero {
	position: absolute;
	top: 0;
	right: 20px;
}

.hero.box .imac .info {
	position: relative;
	padding-top: 131px;
	left: 15px;
	width: 400px;
	text-align: center;
}

.hero.box .imac .info .imac-title {
	padding-bottom: 14px;
}

.hero.box .imac .info .imac-sub {
	padding-bottom: 12px;
}


.hero.box .imac .info p {
	font-size: 17px;
	padding-bottom: 13px;
}

/* 2013 iMac
======================================================== */
.imac-2012-12 {
	position: relative;
}

.imac-2012-12 .hero {
	position: absolute;
	top: 0;
	right: 20px;
}

.imac-2012-12 .info {
	text-align: center;
	width: 420px;
	position: absolute;
	top: 108px;
	left: 13px;
}

.imac-2012-12 .info p.tagline {
	font-size: 17px;
	color: #999;
	padding: 14px 0 22px 0;
}

.imac-2012-12 .info p + p {
	padding-top: 5px;
}

.imac-2012-12 .info p + p + p {
	padding-bottom: 10px;
}

/* 2012 iPhone 5 cases Promo Row Tiles
======================================================== */
.iphone5-case-2012-12 {
	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(top,  #ffffff 85%, #e2e2e2 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(85%,#ffffff), color-stop(100%,#e2e2e2)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #ffffff 85%,#e2e2e2 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #ffffff 85%,#e2e2e2 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #ffffff 85%,#e2e2e2 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #ffffff 85%,#e2e2e2 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e2e2e2',GradientType=0 ); /* IE6-9 */
	min-height: 250px;
	position: relative;
	
}

.iphone5-case-2012-12 a.block {
	min-height: 250px;
}

.iphone5-case-2012-12 .info {
	width: 220px;
	position: absolute;
	top: 65px;
	left: 30px;
}

.iphone5-case-2012-12 .info p.tagline {
	font-size: 16px;
	line-height: 18px;
	color: #333;
	padding: 20px 0;
}

.iphone5-case-2012-12 .hero {
	position: absolute;
	top: 40px;
	right: 30px;
}


.iphone5-case-2012-12 .info-alt {
	text-align: center;
	padding: 15px 0 0 0;
}

.iphone5-case-2012-12 .info-alt p.tagline {
	font-size: 16px;
	line-height: 18px;
	color: #333;
	padding: 5px 0 10px 0;
}

.iphone5-case-2012-12 .hero-alt {
	position: absolute;
	bottom: 0px;
	left: 85px;
}


/* tile code
======================================================== */
#primary_main .tiles .tile {
	margin: 20px 0 00px 0;
}

.tiles .tile {
	float: left;
	position: relative;
}

.tiles .tile h3 {
	line-height: 15px;

}

.tiles .tile h3 span {
	font-size: 10px;
}


/* new promo tiles (special)
======================================================== */

.tiles .tile .mbp-bg {
	width: 115px;
	min-height: 150px;
}

.tiles .tile .mbp-bg-image {
	position: absolute;
	top: 23px;
	left: 25px;
}

.tiles .tile .imac-bg-image {
	position: absolute;
	top: 8px;
	left: 64px;
}

.tiles .tile .imac-bg {
	width: 150px;
	min-height: 150px;

}

.tiles .tile .macmini-bg {
	min-height: 150px;
}
.tiles .tile .macmini-bg-image {
	position: absolute;
	top: 40px;
	left: 30px;
}

.tiles .tile .appletv-bg {
	min-height: 160px;
}

.tiles .tile .appletv-bg-image {
	position: absolute;
	top: 103px;
	left: 30px;
}

.tiles .tile .ipadcover-bg-image {
	position: absolute;
	top: 50px;
	left: 30px;
}

.tiles .tile .ipadcover-bg {
	min-height: 150px;

}

.tiles .tile .airport-bg {
	min-height: 150px;
}
.tiles .tile .airport-bg-image {
	position: absolute;
	top: 84px;
	left: 28px;
}

.tiles .tile .express-bg {
	min-height: 150px;
}
.tiles .tile .express-bg-image {
	position: absolute;
	top: 80px;
	left: 10px;
}

.tiles .tile .smartcase-bg {
	min-height: 150px;
}
.tiles .tile .smartcase-bg-image {
	position: absolute;
	top: 80px;
	left: 20px;
}

.tiles .tile .ipadmini-bg {
	padding-bottom: 20px;
}

.tiles .tile .ipadrd-bg {
	padding-bottom: 15px;
}

.tiles .tile .minismartcase-bg {
	min-height: 150px;
}
.tiles .tile .minismartcase-bg-image {
	position: absolute;
	top: 70px;
	left: 30px;
}

.tiles .tile .lightning-acc-2012-12 {
	text-align: left;
	margin: 0;
	padding: 0;
	min-height: 180px;
}

#primary_main .tiles .tile .lightning-acc-2012-12 div.image {
	margin-bottom: -25px;
}

/*fix for <rdar://problem/13865567> STAGE: R5: NS: Home Page: Lateral Nav: need rounded corners at bottom*/
div.home-product-shelf div>div:last-of-type {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

/* fix for <rdar://problem/13857173> STAGE: R5: NS: Home Page: Promo Ribbon - extra top/bottom padding */
.product-shelf-ribbon .ribbon {
    padding: 8px 0;
}

p.ribbon,
div.ribbon {
    padding: 0;
}

/* right rail tile adjustment
======================================================== */
.tile h3 { 
	margin: 15px 15px 8px;
	line-height: 1.3em;
}

.tile p {
	margin: 8px 15px;
	line-height:14px;
	color:#666
}

.no-touch .trending-container .widget .slides .tile {
    -webkit-backface-visibility: visible;
}

/* segment banner rounded corner fix
======================================================== */
#segment-banner + div[role="main"] .bento {
    -webkit-border-radius: 4px; 
    -moz-border-radius: 4px; 
    border-radius: 4px; 
    border: 1px solid #dedede \9;   
}

#segment-banner + div[role="main"] .bento:first-child { 
    -webkit-border-radius: 0 0 4px 4px; 
    -moz-border-radius: 0 0 4px 4px; 
    border-radius: 0 0 4px 4px; 
    border: 0;
}