/* single-page progressive blocks and navigation */

.component {
	position: relative;
}

.component .component_description, .component .component_title, .component .component_content, .component .component_options {
	transition: opacity 0.3s;
	-webkit-transition: opacity 0.3s;
	-moz-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
}

.component .component_options, .component .component_content {
	padding-left: 20px;
}

.multistep.blocked > * {
	opacity: 0.5;
}

.multistep.blocked .block_component {
	position: absolute;
	height: 100%;
	width: 100%;
	opacity: 1;
	z-index: 1000;
	text-align: center;
}

.multistep.active .block_component {
	display: none;
}

/* thumbnails */

.component_option_thumbnail_container {
	display: inline-block;
	width: 100%;
}

.component_option_thumbnail_container .thumbnail_description {
	padding: 10px;
}

.component_option_thumbnail_container .thumbnail_description .price {
	font-size: 1.0em !important;
}

.component_option_thumbnail {
	float: left;
	cursor: pointer;
	margin: 10px 20px 10px 0px;
	position: relative;
	padding: 2px;
	box-shadow: 0px 0px 2px 2px rgba( 220, 220, 220, 0.6 );
	transition: all 0.25s;
	-webkit-transition: all 0.25s;
	-moz-transition: all 0.25s;
	-o-transition: all 0.25s;
	transition-property: box-shadow, opacity;
	-webkit-transition-property: box-shadow, opacity;
	-moz-transition-property: box-shadow, opacity;
	-o-transition-property: box-shadow, opacity;
	-webkit-backface-visibility: hidden;
}

.component_option_thumbnail_none .image {
	text-align: center;
	background: rgba( 255, 255, 255, 0.95 );
}

.component_option_thumbnail_none span {
	display: inline-block;
	width: 20px;
	height: 5px;
	background: #e2e2e2;
	box-shadow: 0px 0px 3px 0px #eee;
	position: relative;
	top: 28%;
}

.component_option_thumbnail:hover  {
	box-shadow: 0px 0px 2px 3px rgba( 210, 210, 210, 0.9 );
}

.component.disabled .component_option_thumbnail:hover, .component_option_thumbnail.disabled:hover {
	box-shadow: 0px 0px 2px 2px rgba( 220, 220, 220, 0.6 );
}

.component_option_thumbnail.selected, .component.disabled .component_option_thumbnail.selected:hover, .component_option_thumbnail.disabled.selected:hover {
	box-shadow: 0px 0px 2px 4px rgba( 170, 210, 240, 0.8 );
	transition: all 0.25s;
	-webkit-transition: all 0.25s;
	-moz-transition: all 0.25s;
	-o-transition: all 0.25s;
	transition-property: box-shadow, opacity;
	-webkit-transition-property: box-shadow, opacity;
	-moz-transition-property: box-shadow, opacity;
	-o-transition-property: box-shadow, opacity;
}

.component_option_thumbnail .image {
	width: 60px;
	height: 60px;
}

.component.disabled .component_option_thumbnail, .component_option_thumbnail.disabled {
	cursor: default;
	opacity: 0.5;
}

.component_option_thumbnail img {
	margin: 0;
}

/* components */

.css_clear_component_options {
	clear: both;
}

.component, .composite_data {
	padding-bottom: 20px;
}

.component:after, .composite_data:after {
	content: '.';
	visibility: hidden;
	display: block;
	height: 0;
	clear: both;
}

.component.progressive {
	padding-bottom: 40px;
}

.component, .multistep {
	padding-top: 10px;
}

.component_options {
	margin-top: 10px;
	margin-bottom: 20px;
}

.component .details {
	overflow: hidden;
}

.component .composited_product_images {
	float: left;
	margin-bottom: 10px;
}
.component .composited_product_images a {
	margin-right: 20px;
	margin-top:	4px;
	display: block;
}

.component .composited_product_images img {
	width: 80px;
}

.component .component_summary {
	overflow: hidden;
	height: 100%;
}

.component .component_summary .content {
	overflow: hidden;
}

.component .component_description {

	margin-bottom: 20px;
}

.component.disabled .reset_variations {
	visibility: hidden!important;
}

.component .variations .reset_variations::before, .component .clear_component_options::before {
	display: block;
	height: 0;
	content: ".";
	visibility: hidden;
}

.component .variations select, .component .component_options_select {
	margin-bottom: 8px;
}

.component .component_wrap .price, .component .component_wrap p.stock {
	margin-top: 10px;
	margin-bottom: 10px;
}

.composite_form .composite_button button.disabled {
	opacity: 0.5;
}

/* navigation */

.composite_form .composite_navigation .invisible {
	visibility: hidden;
}

.composite_form .composite_navigation.paged {
	padding-bottom: 10px;
	padding-top: 10px;
}

.composite_form .composite_navigation.paged:after {
	content: '.';
	visibility: hidden;
	display: block;
	height: 0;
	clear: both;
}

.composite_form .composite_navigation.paged .next {
	float: right;
}

.composite_form .composite_navigation.paged .prev {
	float: left;
}

.composite_form .composite_navigation.progressive {
	position: absolute;
	bottom: 0px;
	text-align: center;
	z-index: 1001;
	display: block;
	width: 100%;
	font-size: 1.2em;
	margin-bottom: 0px;
}

/* pagination */

.composite_form .composite_pagination {
	margin-bottom: 10px;
	margin-top: 15px;
}

.composite_form .composite_pagination ul {
	margin: 0;
}

.composite_form .composite_pagination ul li {
	display: inline-block;
}

.composite_form .composite_pagination ul li:after {
	content: ">";
	margin: 0 10px;
}

.composite_form .composite_pagination ul li:last-child:after {
	content: "";
}

.composite_form .composite_pagination .current_element_index, .composite_form .composite_pagination .current_element_title {
	font-weight: bold;
}

.composite_form .composite_pagination .element_index:after {
	content: ".";

}

/* review */

.composite_data .review {
	margin-bottom: 20px;
}

.composite_data .review dd {
	margin-left: 10px;
	margin-bottom: 5px;
}

/* various */

.component_summary .quantity, .woocommerce div.product .composite_data div.quantity, .woocommerce-page div.product .composite_data div.quantity, .woocommerce #content div.product .composite_data div.quantity, .woocommerce-page #content div.product .composite_data div.quantity {
	float: left;
	margin: 0 4px 0 0;
}

.component_summary .quantity_hidden {
	display: none !important;
}

/* extensions & core css compatibility */

.component_summary .product-addon, .composite_data .product-addon {
	margin: 0;
	padding: 10px 0;
}

.single-product div.product .component_summary .variations_button {
	padding-top: 0px;
	border-top: none;
}
