/* Reset ================================================================================= */

/* Tools */
.hidden       { display:block !important; border:0 !important; margin:0 !important; padding:0 !important; font-size:0 !important; line-height:0 !important; width:0 !important; height:0 !important; overflow:hidden !important; }
.nobr         { white-space:nowrap !important; }
.wrap         { white-space:normal !important; }
.a-left       { text-align:left !important; }
.a-center     { text-align:center !important; }
.a-right      { text-align:right !important; }
.v-top        { vertical-align:top; }
.v-middle     { vertical-align:middle; }
.f-left       { float:left !important; }
.f-right      { float:right !important; }
.f-none       { float:none !important; }
.f-fix        { float:left; width:100%; }
.no-display   { display:none; }
.no-margin    { margin:0 !important; }
.no-padding   { padding:0 !important; }
.no-bg        { background:none !important; }
/* ======================================================================================= */

.clickable{
	cursor:pointer;
}

input[type="text"].no-display, input[type="password"].no-display, input[type="date"].no-display, input[type="datetime"].no-display, input[type="email"].no-display, input[type="number"].no-display, input[type="search"].no-display, input[type="tel"].no-display, input[type="time"].no-display, input[type="url"].no-display, textarea.no-display{
	display:none;
}

.alert-box{
	margin:0;
	padding:10px;
}

.row form .row .column, .row form .row .columns{
	padding:0 15px;
}

/* Forms */

/* Form Elements */

form {
	margin:0;
}

fieldset{
	margin:0;
	padding:0;
	border:none;
}

.messages,
.messages ul,
.form-list {
	list-style:none;
	margin:0;
}

.form-list.form-alt{
	overflow:hidden;
	margin-bottom:10px;
	padding-left:2px;
}

.form-list.form-alt li{
	clear:both;
}

.login-checkout-register input,
.login-checkout-register label {
	display:block;
	float:left;
	margin:0;
	padding:0;
}

.login-checkout-register input {
	margin:4px 6px 0 0;
}

.login-checkout-register label {
	width:90%;
}

.input-text.qty{
	text-align:center;
}

input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea {
    margin:0;
    width:100%;
    height:auto;
    padding:6px;
    transition:none;
    border-radius:0;
    box-shadow:none;
    font-family:inherit;
    display:inline-block;
    text-transform:none !important;
}

/*.validation-error .validation-failed:focus,*/
input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, textarea:focus{
	border-color:#49a7cf;
}

.input-box{
	margin-bottom:10px;
}

.validation-error .validation-failed {
	border:1px solid #c00;
}

.validation-advice,
.validation-error .validation-advice {
	color: #CC0000;
	text-align: right;
	font-size: 0.8em;
	text-transform: uppercase;
}

	label.inline{
		margin:0;
		line-height:normal;
	}

p.required{
	margin:0;
	font-size:14px;
}

/* Search Auto Complete */

	#search_autocomplete,
	#topCartContent {
		position:absolute;
		right:0;
		z-index: 1000;
		width:300px;
		background:#fff;
		border:1px solid #000;
		border-top:none;
	}

	#search_autocomplete {
		left:0;
		top:38px !important;
		right:auto;
		width:200px !important;
		border-top:1px solid #000;
	}

		#search_autocomplete li{
			float:none;
			padding:0 10px;
			line-height:36px;
		}

		#search_autocomplete li span.amount {
			padding-right:10px;
			display:inline-block;
		}

/* End Search Auto Complete */

#cartHeader{
	cursor:pointer;
}

/* Misc Product Details Page */

.box-reviews{
	word-wrap:break-word;
}

.box-content dd{
	margin-bottom:40px;
}

/* End Misc Product Details Page */

/* Layered Nav */

	.narrow-by-list {
		/*overflow:hidden;*/
		margin-bottom:0;
		border: 1px solid #e0e0e0;
	}

	.narrow-by-list table{
		margin:0;
		width:100%;
	}

	#narrow-by-list thead,
	#narrow-by-list tfoot{
		background:none;
	}

	table.narrow-by-list,
	table#narrow-by-list{
		width:100%;
	}

	table.narrow-by-list tbody tr td,
	table#narrow-by-list tbody tr td{
		vertical-align:top;
	}

		table.narrow-by-list tbody tr > td,
		table#narrow-by-list tbody tr > td{
			padding:0;
			border-right:solid 1px #e0e0e0;
		}
		
		table.narrow-by-list tbody tr > td:last-child,
		table#narrow-by-list tbody tr > td:last-child{
			border-right: none;
		}

			table.narrow-by-list tbody tr td tbody tr td,
			table#narrow-by-list tbody tr td tbody tr td{
				border:none;
			}

		table.narrow-by-list tbody tr td table,
		table.narrow-by-list tbody tr,
		table#narrow-by-list tbody tr td table,
		table#narrow-by-list tbody tr{
			border:none;
		}

	.layered_nav_column {
		padding:0;
		margin:0;
		border-right:1px solid #373737;
	}

	.layered_nav_column table {
		border:none;
		margin:0;
		padding:0;
		width:100%;
	}

		.layer-material{
			float:none;
			min-width:155px;
		}

		.layer-frame-color{
			min-width:155px;
		}

	#layer-shape {
		min-width:120px;
	}

	.layered_nav_column th,
	#layered_nav_column th {
		padding:10px 0 10px 10px;
		text-transform:uppercase;
	}

		.layered_nav_column .block-grid a,
		#layered_nav_column .block-grid a {
			padding:5px;
		}

		.layered_nav_column .block-grid.two-up,
		.layered_nav_column .block-grid.three-up {
			margin:0;
		}

			.layered_nav_column .block-grid{
				padding-left:20px;
			}

			.layered_nav_column .block-grid li a{
				padding:0;
				font-size:16px;
			}

				.layered_nav_column .block-grid li a:hover{
					color:#000;
				}
				.m-filter-css-checkboxes a:hover span.box{
					border-color:#000;
				}

		.layered_nav_column .block-grid.one-up>li {
			padding-bottom:5px;
		}

		.layered_nav_column td label,
		.layered_nav_column td input {
			float:left;
		}

		#layer-frame-color .block-grid.two-up>li:nth-child(2n+1),
		#layer-lens-color .block-grid.two-up>li:nth-child(2n+1) {
			clear: both;
		}

		#layer-lens-color .block-grid.one-up>li,
		#layer-frame-color .block-grid.one-up>li {
			width: 50%;
			padding: 0 0 5px;
		}

		.layered_nav_column .block-grid,
		#layered_nav_column .block-grid{
			padding:5px 10px;
		}

		.layered_nav_column .block-grid li,
		#layered_nav_column .block-grid li{
			height:16px;
			line-height:16px;
			margin-bottom:8px;
		}

		.m-filter-css-checkboxes a span.box{
			width:14px;
			height:14px;
			line-height:14px;
			text-align:center;
			float:left;
			display:block;
			position:relative;
			margin-right:10px;
			border:solid 1px #000;
		}

			.m-filter-css-checkboxes a.m-checkbox-checked span.box{
				padding:0;
			}

		.layered_nav_column .block-grid .m-disabled a{
			color:#000;
			cursor:default;
		}

		.m-filter-css-checkboxes .m-disabled a span.box{
			border-color:#000;
		}

		.sorter .custom.dropdown a,
		.pager .custom.dropdown a{
			font-size:16px;
		}

		ul.pagination{
			margin:0;
			line-height:26px;
			min-height:28px;
			text-align:center;
		}

		ul.pagination li a,
		ul.pagination li,
		ul.pagination li.current{
			color:#FFF;
			padding:0;
			font-size:16px;
		}

			ul.pagination li a:hover{
				color:#000;
				background:none;
			}

			ul.pagination li{
				margin:0 8px 0 0;
			}

			ul.pagination li.current{
				color:#e0e0e0;
			}

			ul.pagination li.arrow a{
				font-size:10px;
				color:#000;
			}

		.toolbar{
			padding-top:10px;
		}

		.currently {
	        border:1px solid #e0e0e0;
	        padding:10px 0 0 0;
	        overflow:hidden;
	        margin-bottom:20px;
	    }

	    .currently p,
	    .currently ol{
	        margin-bottom:0;
	    }

		.shopping-list{
			float:left;
		}

		.shopping-list ul{
			margin:0;
		}

		.shopping-list li,
		.shopping-list li a,
		.shopping-list li a.btn-remove,
		.shopping-list li span{
			font-size:14px;
		}

		.shopping-list li{
			margin:0 20px 10px 0;
			line-height:35px;
		}
	    .shopping-list li span.value{
		    display:inline-block;
		    margin-right:20px;
	    }

/* End Layered Nav */

/* CART SPECIFIC */

/* Checkout */

#shopping-cart-table img {
	max-width: none;
}

#shopping-cart-table {
	width:100%;
	margin-bottom:20px;
	border-collapse: collapse;
}

#checkoutSteps{
	margin-left:0;
	list-style:none;
}

	#checkoutSteps .section {
		position:relative;
	}

	#opc-payment .step-title,
	#payment-progress-opcheckout .complete,
	#payment-progress-opcheckout {
		display:none;
	}

	#shopping-cart-table thead tr th,
	#shopping-cart-table tfoot tr td,
	#shopping-cart-table tr td {
		padding:10px;
		font-size:16px;
		font-weight:normal;
		text-transform: uppercase;
	}

		th.center{
			text-align:center;
		}

	#shopping-cart-table tbody tr:nth-child(even) {
		background:#efefef;
	}
	#shopping-cart-table tbody tr:nth-child(odd) {
		background:#fff;
	}

	#shopping-cart-table h2{
		font-size:22px;
		margin:0;
		padding:5px 0;
		letter-spacing:.01em;
	}

	#shopping-cart-table h3{
		margin:0;
		padding:0;
		font-size:16px;
	}

	#iframe-warning {
		color:#FFF;
		background: #c00;
		text-transform: uppercase;
		padding: 5px;
	}

	#shopping-cart-table ul{
		margin:0;
	}

	.cart-collaterals .checkout-types{
		float:right;
	}

	#shopping-cart-table .button-group li .button:after,
	.cart-collaterals .checkout-types li .button:after{
		margin-left:20px;
	}

	#shopping-cart-table .button-group li:nth-child(odd),
	.cart-collaterals .checkout-types.button-group li:nth-child(odd){
		margin-right:20px;
	}

	#shopping-cart-table a.edit,
	#shopping-cart-table a.btn-remove,
	.shopping-list .btn-remove{
		font-size:16px;
		text-transform:uppercase;
	}

	.cart-actions .btn-empty:after,
	.cart-actions .btn-update:after,
	#shopping-cart-table a.edit:after,
	#shopping-cart-table a.btn-remove:after,
	.shopping-list a.btn-remove:after,
	#compare-items a.btn-remove:after {
		font-size:10px;
		speak: none;
		font-style: normal;
		font-weight: normal;
		font-variant: normal;
		text-transform: none;
		line-height: 1;
		padding-left:10px;
		-webkit-font-smoothing: antialiased;
	}

	.cart-actions .btn-empty:hover,
	.cart-actions .btn-update:hover,
	#shopping-cart-table a.edit:hover,
	#shopping-cart-table a.btn-remove:hover,
	.shopping-list a.btn-remove:hover,
	#shopping-cart-table a.edit:hover:after,
	#shopping-cart-table a.btn-remove:hover:after,
	.shopping-list a.btn-remove:hover:after,
	#compare-items a.btn-remove:hover:after{
		cursor:pointer;
	}

	#discount-coupon-form #coupon_code,
	#giftcard-form #giftcard_code{
		height:40px;
		font-size:18px;
		line-height:40px;
		width:100%;
	}

	.check-gc-status{
		cursor:pointer;
		font-size:14px;
		margin:5px 0 20px 0;
		display:inline-block;
		text-transform:uppercase;
	}

#shopping-cart-totals-table td,
#shopping-cart-totals-table td strong{
	font-size:16px;
	font-weight:normal;
}

#co-shipping-form .alert-box.secondary,
#co-billing-form .alert-box.secondary,
.alert-box.note-msg {
	font-weight: 400;
	text-transform: uppercase;
	text-align: center;
	margin-top: 5px;
	background: #C00;
	font-weight:normal;
	color: #fff;
	letter-spacing: 0.02em;
}

/* CHECKOUT STEP STYLES */

	/* DEFAULT STEP */
	.section .step-title{
		padding:20px;
		letter-spacing:.01em;
		text-transform:uppercase;
		background:#000;
		overflow:hidden;
		margin-bottom:5px;
		position:relative;
	}
	.section .step-title h2 {
		margin:0;
		padding:0;
		color:#1E1E1E;
		font-size:26px;
		letter-spacing:.01em;
	}
		.section .step-title span.edit{
			display:none;
		}

		.section.allow .step-title span.edit{
			float:right;
			display:block;
		}
			.section .step-title .icon-edit{
				font-size:12px;
			}

	/* CURRENT STEP */
	.section.allow.active .step-title h2 {
		color:#FFF;
	}
	.section.allow.active .step-title{
		background:#000;
	}

	/* PAST STEP */
	.section.allow .step-title {
		background:#efefef;
	}
	.section.allow .step-title h2 {
		color:#1E1E1E;
	}
		.section.allow .step-title a,
		.section.allow .step-title a:after{
			color:#1E1E1E;
		}
		.section.allow .step-title a:hover,
		.section.allow .step-title a:hover:after{
			color:#FFF;
		}

	.form-list li {
		margin:0;
		padding:0;
	}

		li.control label{
			padding-top:6px;
		}

	.form-list .button.login {
		width:auto;
	}

	span.required{
		color:#7cc24f;
	}

	.form-list .default-address-container,
	.form-list .default-address-container li{
		margin:0;
		padding:0;
		list-style:none;
	}

	.form-list .default-address-container{
		padding-top:25px;
	}

.step h4{
	font-size:20px;
	text-transform:uppercase;
}

.step dd ul{
	margin:0;
	list-style:none;
}

.button-group.shipping-method li {
	margin-right:10px;
}
	.button-group.shipping-method li input,
	.button-group.shipping-method li label{
		display:inline-block;
	}

.buttons-set{
	overflow:hidden;
	padding-bottom:25px;
}

.step .buttons-set .button.right,
.step .buttons-set .button.back{
	width:25%;
}

.please-wait img {
	display:inline-block;
	width:16px;
}

.please-wait {
	display: block;
	margin: 0 auto;
	background: #000;
	padding: 10px;
	position: absolute;
	text-align: center;
	top: 50%;
	left: 50%;
	margin-top: -22px;
	margin-left: -90px;
	text-transform: uppercase;
	border:2px solid #373737;
	font-weight:400;
	font-size:18px;
	line-height: 18px;
	width: auto;
	height: auto;
}


#checkoutSteps .section{
	clear:both;
	overflow:hidden;
	clear:both;
	overflow:hidden;
}

	#checkoutSteps .section form .collapse label{
		padding-right:10px;
	}

	#checkoutSteps .section form label{
		line-height:32px;
	}
		#checkoutSteps .section form .control label,
		#checkoutSteps .section form #reward_placer label,
		#checkoutSteps .section form #checkout-payment-method-load label{
			line-height:normal;
		}
		#checkoutSteps .section form .control.billing label{
			line-height:32px;
		}

		.checkout-onepage-payment-additional-giftcardaccount p{
			font-size:14px;
			padding-top:18px;
		}

#col-right-opcheckout .opc-block-progress {
	border: 1px solid #2E2E2E;
}

#col-right-opcheckout .positivessl-seal {
	padding: 10px 0;
}

.opc-progress-container h4{
	padding:0 10px 10px;
	text-transform:uppercase;
	border-bottom:1px solid #2E2E2E;
}
.opc-progress-container .block-content dl div{
	overflow:hidden;
	padding:0 0 5px 10px;
}
.opc-progress-container .block-content dt:before{

}
.opc-progress-container dl dd{
	clear:both;
	padding-left:10px;
}
.opc-progress-container dl dd address{
	font-style:normal;
	line-height:1.2em;
}


#remember-me-box{
	padding:5px 0;
}

#login-form .button-group label,
#form-validate .button-group label,
.newsletter-signup-label,
.checkbox-label{
	padding:6px 0 0 2px;
	display:inline-block;
}

#login-form .button-group.column,
#login-form .button-group.columns{
	text-align:right;
}

#login-form .link-tip{
	display:inline-block;
	margin:6px 0 0 6px;
}

#billing-buttons-container,
#shipping-buttons-container{
	padding-top:20px;
}

.my-account{
	margin-bottom:40px;
}

.addresses-list ol{
	list-style:none;
}

a.edit-address{
	display:block;
	margin-top:20px;
}

/* Store credit */
.storecredit .account-balance { margin:0 0 20px; padding:0 0 10px; border:1px dotted #efefef }
.storecredit .account-balance .price { font-weight:bold; }
.giftcard-redeem { padding-bottom:20px; }
.giftcard-redeem .input-box { margin-right:5px; }

/* Gift card */
.giftcardaccount { position:relative; z-index:1; padding-top:1px; }
.giftcard-status .messages,
.giftcardaccount .messages { margin-bottom:10px; }
.giftcardaccount p { margin:15px 0; font-size:12px; }
.giftcardaccount .fieldset { margin:0; }
.giftcardaccount .btn-only { margin:0 0 15px; }

/* Gift Card Status Check */
.giftcard-status .gift-card-info,
.giftcard-status p.error-msg,
.giftcardaccount #giftcard_balance_lookup .gift-card-info,
.giftcardaccount #giftcard_balance_lookup p.error-msg { margin:10px 0 20px; }
.gift-card-info { margin:10px 0; padding:10px 10px 5px; border:1px dashed #d9d9d9; background:#fcf7f5; }
.gift-card-info p { font-size:12px; margin:0 0 5px; }
.gift-card-info .giftcard-number { font-weight:bold; }
.gift-card-info .form-list label {}
.gift-card-info .btn-only { padding-left:0; }

#gc-please-wait { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; -moz-opacity:0.8; opacity:0.8; }

/* Gift Card product */

.giftcard-amount-form { margin:0 0 10px; }
.giftcard-amount-form label { width:120px; text-align:left; padding-right:5px; }
.giftcard-amount-form .form-list .input-text {  }
.giftcard-amount-form .form-list select { width:150px; }
.giftcard-amount-form .form-list .input-box { padding-right:20px; margin-right:9px; }
.giftcard-amount-form .form-list .input-box .v-fix { white-space:nowrap; }
.giftcard-amount-form .form-list .input-box p.notice { float:left; padding:0; clear:left; width:55px; margin:5px -100px 0 0; white-space:nowrap; font-size:11px; position:relative; z-index:1; }
.giftcard-amount-form .form-list .input-box p.notice span { margin-right:5px; display:block; }
.giftcard-send-form { background:#fff; z-index:2; position:relative; border-top:1px solid #ddd; padding-top:20px; }
.giftcard-send-form label { width:120px; text-align:left; padding-right:5px; padding-bottom:5px; }
.giftcard-send-form .field label { padding-bottom:0; }
.giftcard-send-form .field .input-text { width:249px !important; }

