/* ==========================================================================
   Base style definitions
   ========================================================================== */
/* Defaults
-------------------------------------------------- */
/* For devices that do not support html meta viewport (e.g. IE 10 snap mode) */
@-ms-viewport { width: device-width; }
@-o-viewport { width: device-width; }
@viewport { width: device-width; }
img, embed, object, video { max-width: 100%; vertical-align: middle; }
a:hover,
.a:hover {
	text-decoration: underline;
	}
*:focus {
	outline: #3279bf solid 1px;
	box-shadow: 0px 0px 2px 2px #3279bf;
	}
	
.custom-checkbox:focus-within {
	outline: #3279bf solid 1px;
	box-shadow: 0px 0px 2px 2px #3279bf;
}
.custom-radio:focus-within {
	box-shadow: 0px 0px 2px 2px #3279bf;
    border-radius: 10px;
}
a.current {
	color: #4f0100;
	pointer-events: none;
	}
a.current:hover {
	text-decoration: none;
	}
.not-active {
    pointer-events: none;
    cursor: default;
    }
button {
	cursor: pointer;
	}

/* Forms
---------------------------------------- */
legend {
	overflow: hidden;
	}
.legend {
	display: block;
	margin-top: 1ex;
	font-size: 1.6rem;
	font-weight: bold;
	}
fieldset fieldset legend {
	font-size: 1.4rem;
	}
label {
    display: inline-block;
}
label.auto-length {
	width: auto;
}
.inline-label {
	width: auto;
	}
.block-label {
	display: block;
	width: auto;
	margin-bottom: .5ex;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=date]:focus,
input[type=tel]:focus,
input[type=url]:focus,
select:focus,
textarea:focus {
	box-shadow: inset 0px 0px 2px 2px #3279bf;
	}
input[type="radio"],
input[type="checkbox"] {
    display: inline-block;
    margin-right: .3em;
    }
input[disabled] {
	background-color: #eee;
}
.required-field::after {
    content: "*";
    display: inline-block;
    margin-left: .1em;
    font-weight: bold;
    color: red;
    }
/* General Helpers
-------------------------------------------------- */
.center-text {
	text-align: center;
	}
.float-left {
	float: left;
	}
.float-right {
	float: right;
	}
.clear {
	clear: both;
	}
.bold {
	font-weight: bold;
	}
.normal {
	font-weight: normal;
	}
.block {
	display: block;
	}
.inline {
	display: inline;
	}
.width-25 { width: 25%; }
.width-33 { width: 33%; }
.width-50 { width: 50%; }
.width-75 { width: 75%; }
/* Showing and Hiding
---------------------------------------- */
.is-hidden { /* Hide from both screenreaders and browsers */
    display: none !important;
    visibility: hidden;
    }
.is-visible { /* Show element to both screenreaders and browsers */
	display: block !important;
	visibility: visible;
	}
.screen-reader-text { /* Hide only visually, but have it available for screenreaders */
	position: absolute !important;
	display: block;
	visibility: visible;
	overflow: hidden;
	width: 1px;
	height: 1px;
	margin: -1px;
	border: 0;
	padding: 0;
	clip: rect(0px, 0px, 0px, 0px); /* deprecated */
	-webkit-clip-path: polygon(0px 0px, 0px 0px, 0px 0px, 0px 0px);
	        clip-path: polygon(0px 0px, 0px 0px, 0px 0px, 0px 0px);
    white-space: nowrap; /* wrap uses line feeds but LFs are not recognized as spaces by screen readers */
    }
@media print {
	.cui-not-printed { /* Will not appear on printouts */
		display: none;
		}
	}
/* Skip link
---------------------------------------- */
.skip-link {
	display: block;
    height: 1px;
    margin-top: -11px;
    padding: 5px;
    position: absolute;
    left: -99999em;
    overflow: hidden;

	}
.skip-link:focus {
	position: relative;
    left: 0px;
	display: block;
	height: auto;
	float: left;
    width: 100px;
    margin: 0 0 0 3px;
	}
#main {
	outline: none;
	box-shadow: none;
}
[data-code], .code {
	background-color: #eee;
    padding: 0.3ex 2.5em;
    border-radius: 12px;
}
a.thumb-link.pdp-link:focus .product-image{
	outline: #3279bf solid 1px;
	box-shadow: 0px 0px 2px 2px #3279bf;
}