/*-----------------------*/
/*   Thumbnails Loop     */
/*-----------------------*/
.component_option_thumbnail_container .thumbnail_description {
  padding: 1em 1em 0.75em;
}

.woocommerce ul.component_option_thumbnails_container li.component_option_thumbnail_container .thumbnail_description .price {
  font-size: 0.9em !important;
  display: block;
  margin-bottom: 0.5em;
}

.component_option_thumbnail_container .thumbnail_description .title {
  padding: 0;
  margin-top: 0;
  font-size: 1em;
}

.component .component_option_thumbnail {
  margin: 5px;
  box-shadow: 0px 0px 2px 2px rgba(200, 200, 200, 0);
  opacity: 1;
  -webkit-transition: box-shadow 0.2s, opacity 0.2s;
  transition: box-shadow 0.2s, opacity 0.2s;
  position: relative;
}

.component a.component_option_thumbnail_tap {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  z-index: 10;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
}

.component_option_thumbnail.disabled a.component_option_thumbnail_tap {
  cursor: default;
}

.component_option_thumbnail:hover {
  box-shadow: 0px 0px 2px 2px rgba(200, 200, 200, 0.4);
}

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

.component_option_thumbnail.selected, .component.disabled .component_option_thumbnail.selected:hover, .component_option_thumbnail.disabled.selected:hover {
  box-shadow: 0px 0px 2px 2px rgba(200, 200, 200, 0.9);
}

.component_option_thumbnail .image {
  padding: 7px 8px 0;
}

.component_option_thumbnail.disabled {
  opacity: 0.5;
}

.component_option_thumbnail_container.hidden {
  display: none;
}

.refresh_component_options .component_option_thumbnail {
  opacity: 0;
}

.component_option_thumbnail.appended {
  opacity: 0;
}

.refresh_component_options .no_compat_results {
  visibility: hidden;
}

/*-----------------------------*/
/*   Thumbnails Loop Layout    */
/*-----------------------------*/
ul.component_option_thumbnails_container {
  margin: 0;
  padding: 0;
}

ul.component_option_thumbnails_container li.component_option_thumbnail_container {
  text-align: center;
  float: left;
  margin: 0 3.5% 1.618em 0;
  padding: 0;
  position: relative;
  margin-left: 0;
  list-style: none;
}

ul.component_option_thumbnails_container li.component_option_thumbnail_container.first, ul.component_option_thumbnails_container li.component_option_content_container {
  clear: both;
}

ul.component_option_thumbnails_container li.component_option_thumbnail_container.last {
  margin-right: 0;
}

ul.component_option_thumbnails_container li.component_option_thumbnail_container img {
  margin-bottom: 0px;
}

.component_option_thumbnail img {
  margin: 0 auto;
}

ul.component_option_thumbnails_container li.component_option_thumbnail_container, ul.component_option_thumbnails_container li.component_option_content_container {
  width: 100%;
}

/*---------------------*/
/*   Radio Buttons     */
/*---------------------*/
.woocommerce ul.component_option_radio_buttons_container li.component_option_radio_button_container .radio_button_description .price {
  font-size: 0.9em !important;
  display: block;
  margin-bottom: 1em;
}

.component_option_radio_button_container .radio_button_description .title {
  padding: 0;
  margin-top: 1em;
  margin-bottom: 1em;
  font-size: 1em;
}

.component .component_option_radio_button {
  margin-left: 3px;
  display: table;
  opacity: 1;
  position: relative;
}

.component a.component_option_radio_button_tap {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  z-index: 10;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
}

.component_option_radio_button.disabled a.component_option_radio_button_tap {
  cursor: default;
}

.component_option_radio_button.disabled {
  opacity: 0.5;
}

.component_option_radio_button_container.hidden {
  display: none;
}

.blocked_content .no_compat_results {
  visibility: hidden;
}

ul.component_option_radio_buttons_container {
  margin: 0;
  padding: 0;
}

ul.component_option_radio_buttons_container li.component_option_radio_button_container {
  text-align: left;
  float: left;
  margin: 0;
  padding: 0;
  list-style: none;
}

.component_option_radio_button_container .radio_button_input {
  display: table-cell;
  padding-left: 5px;
  vertical-align: middle;
  width: 40px;
}

.component_option_radio_button_container .radio_button_description {
  display: table-cell;
  vertical-align: middle;
}

ul.component_option_radio_buttons_container li.component_option_content_container {
  clear: both;
}

ul.component_option_radio_buttons_container li.component_option_radio_button_container, ul.component_option_radio_buttons_container li.component_option_content_container {
  width: 100%;
}

/*------------------*/
/*   Components     */
/*------------------*/
.composite_form .component_data.woocommerce-error {
  width: 100% !important;
  margin-top: 1.618em;
  margin-bottom: 0;
}

.multistep {
  opacity: 1;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}

.multistep.faded {
  opacity: 0;
}

.multistep.invisible {
  visibility: hidden;
}

.multistep.invisible div {
  -webkit-transition: none !important;
  transition: none !important;
}

.component.options-style-dropdowns .component_option_thumbnails_container {
  display: none !important;
}

.component.options-style-dropdowns .component_options_select_wrapper {
  display: block !important;
  margin-left: 2px;
}

.composite_form .multistep_index:after {
  content: '. ';
}

.composite_form:not(.paged) .component .component_inner {
  padding-bottom: 3rem;
}

.composite_form:not(.paged) .composite_wrap {
  padding-top: 2rem;
}

.component_wrap:after, .composite_wrap:after, .component:after, .composite_data:after, .cp_clearfix:after, .component .composited_product_details_wrapper:after {
  content: '';
  display: table;
  clear: both;
}

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

.component .composited_product_images,
.woocommerce-page div.product div.composited_product_images, .woocommerce-page #content div.product div.composited_product_images, .woocommerce div.product div.composited_product_images, .woocommerce #content div.product div.composited_product_images {
  float: left;
  width: 20%;
  margin: 0;
}

.component .composited_product_images figure {
  margin: 0;
}

.component .composited_product_images img {
  width: 100%;
  height: auto;
  display: block;
}

.component .composited_product_images a.placeholder_image[data-rel="photoSwipe"] {
  cursor: default;
}

.component:not(.selection_thumbnail_hidden) .composited_product_details_wrapper .details {
  float: right;
  width: 80%;
  padding: 0 0 0 1.5em;
}

.summary-add-to-cart-form-composite .component:not(.selection_thumbnail_hidden) .composited_product_details_wrapper .details {
  padding: 0 0 0 2em;
}

.component .component_description {
  margin-bottom: 1.618em;
}

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

.component .composited_product_title_wrapper {
  padding-top: 1.618em;
}

.component.paged.options-style-thumbnails .composited_product_title_wrapper {
  padding-top: 0;
}

.component.static .composited_product_title_wrapper[data-show_title="no"] {
  display: none;
}

p.component_section_title, h4.composited_product_title {
  margin: 0 0 0.5em;
  padding: 0;
}

.composited_product_title_wrapper p:last-child, .composited_product_title_wrapper h4:last-child {
  margin: 0 0 1.5em;
}

p.composited_product_title {
  font-weight: bold;
}

.component .clear_component_options {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
}

.component .woocommerce-error .clear_component_options {
  margin-bottom: 0;
}

.component .component_options_select {
  margin: 0;
  display: block;
  min-width: 200px;
  max-width: 100%;
}

.component .component_wrap p.stock, .component .component_wrap span.price, .component .component_wrap .single_variation .price, .component .component_wrap .woocommerce-variation-description p:first-child,
.single-product .component div.product .component_wrap p.stock, .single-product .component div.product .component_wrap span.price, .single-product .component div.product .component_wrap .single_variation .price, .single-product .component div.product .component_wrap .woocommerce-variation-description p:first-child {
  margin: 1em 0 0;
}

.component .component_wrap > p:first-child, .component .component_wrap > span:first-child,
.single-product div.product .component .component_wrap > p:first-child, .single-product div.product .component .component_wrap > span:first-child {
  margin-top: 0;
}

.component .component_wrap span.price,
.single-product .component .component_wrap span.price {
  display: block;
}

.component .component_wrap * + .quantity_button .quantity,
.single-product .component div.product .component_wrap * + .quantity_button .quantity {
  margin: 1.5em 0 0 0;
}

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

.component span.toggle_component_wrapper {
  text-transform: lowercase;
}

.component.toggled .component_title {
  display: inline-block;
  position: relative;
}

.composite_form .step_title_wrapper {
  padding-right: 1em;
  margin-top: 0;
  margin-bottom: 1em;
}

.composite_form .component.toggled .step_title_wrapper {
  margin-bottom: 1rem;
}

.component a.toggle_component {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
}

.component.toggled .component_title.inactive {
  opacity: 0.6;
}

.component a.toggle_component .toggle_component_text {
  display: none;
}

.component.open a.toggle_component:after, .component.closed a.toggle_component:after {
  font-family: 'FontAwesomeCP';
  content: '\e808';
  float: right;
  position: relative;
  left: 2px;
}

.component.closed a.toggle_component:after {
  content: '\e809';
  top: 1px;
}

.progressive.active a.toggle_component {
  opacity: 0.6;
}

.component.static .component_options, .component.static p.component_section_title {
  display: none;
}

/*------------------*/
/*   Messages       */
/*------------------*/
.composite_form .component_message.top .woocommerce-info {
  margin-bottom: 1.618em;
}

.composite_form .component_message.bottom .woocommerce-info {
  margin-bottom: 0 !important;
}

.component.options-style-thumbnails .component_message.bottom .woocommerce-info, .component.paged:not(.options-style-thumbnails) .component_message.bottom .woocommerce-info, .component.progressive .component_message.bottom .woocommerce-info {
  margin-top: 2em;
}

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

.validation_message li {
  margin-bottom: 0.5em;
}

.validation_message li:last-of-type {
  margin-bottom: 0;
}

/*------------------*/
/*   Navigation     */
/*------------------*/
.cp-no-js .composite_navigation {
  display: none;
}

.composite_form .composite_navigation {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.composite_form .composite_navigation.hidden {
  display: none;
}

.composite_form .composite_navigation a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
}

.composite_form .composite_navigation.progressive .invisible {
  display: none;
}

.composite_form .composite_navigation .page_button {
  max-width: 40%;
  font-size: 1.2em;
  position: relative;
  font-weight: bold;
}

.composite_navigation .page_button.inactive {
  color: #aaa;
  cursor: default;
}

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

.composite_navigation .page_button.hidden {
  display: none;
}

.composite_navigation.progressive .page_button, .composite_navigation.componentized .page_button {
  font-size: 1.3em;
}

.composite_navigation.paged .composite_navigation_inner {
  padding: 0 0 2em 0;
}

.composite_navigation.paged.bottom .composite_navigation_inner {
  padding: 3em 0 0 0;
}

.composite_navigation.paged.movable .composite_navigation_inner {
  padding: 2em 0 2em 0;
}

.composite_navigation.top.paged .composite_navigation_inner {
  padding: 0 0 1.618em 0;
}

.composite_form .composite_navigation, .composite_navigation .composite_navigation_inner {
  margin: 0;
}

.composite_form .composite_navigation.top {
  display: none;
}

.composite_form .composite_navigation_inner:after {
  content: '';
  display: table;
  clear: both;
}

.composite_form .composite_navigation.paged .next {
  float: right;
  text-align: right;
  margin-right: 25px;
}

.composite_form .composite_navigation .next:after {
  font-family: 'FontAwesomeCP';
  font-weight: bold;
  content: '\e80c';
  position: absolute;
  top: 50%;
  right: -24px;
  line-height: 15px;
  font-size: 15px;
  margin-top: -6px;
  padding-left: 15px;
}

.composite_form .composite_navigation.paged .prev {
  float: left;
  margin-left: 25px;
}

.composite_form .composite_navigation .prev:before {
  font-family: 'FontAwesomeCP';
  content: '\e80b';
  position: absolute;
  top: 50%;
  left: -24px;
  line-height: 15px;
  font-size: 15px;
  margin-top: -6px;
  padding-right: 15px;
}

.composite_form .composite_navigation.progressive {
  text-align: center;
  margin-bottom: 0px;
  padding: 15px 0 15px 0;
}

.composite_form .composite_navigation.progressive .next:after {
  content: '\e80c';
  margin-top: -7px;
}

/*------------------*/
/*   Pagination     */
/*------------------*/
.composite_form .composite_pagination {
  margin-bottom: 2em;
  margin-top: 1em;
  overflow: hidden;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.composite_form .composite_pagination a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
}

.composite_form .composite_pagination ul {
  margin: 0;
}

.composite_form .composite_pagination ul li {
  display: inline-block;
  float: left;
  padding: 0 15px 0 10px;
  margin: 0 29px 5px 0;
  position: relative;
  height: 44px;
  line-height: 44px;
  background: #f5f5f5;
}

.composite_form .composite_pagination ul li:before, .composite_form .composite_pagination ul li:after {
  left: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.composite_form .composite_pagination ul li:after {
  border-color: rgba(136, 183, 213, 0);
  border-left-color: #f5f5f5;
  border-width: 22px;
  margin-top: -22px;
}

.composite_form .composite_pagination ul li:before {
  left: -22px;
  top: 50%;
}

.composite_form .composite_pagination ul li:before {
  border-color: rgba(136, 183, 213, 0);
  border-top-color: #f5f5f5;
  border-bottom-color: #f5f5f5;
  border-width: 22px;
  margin-top: -22px;
}

.composite_form .composite_pagination ul li.pagination_element_current {
  background: #fff;
}

.composite_form .composite_pagination ul li.pagination_element_current:after {
  border-left-color: #fff;
}

.composite_form .composite_pagination ul li.pagination_element_current:before {
  border-top-color: #fff;
  border-bottom-color: #fff;
}

.composite_form .composite_pagination ul li:first-child:before {
  display: none;
}

.composite_pagination .element_index {
  color: #aaa;
  font-weight: bold;
}

.composite_pagination .element_index:after, .composite_summary .step_index:after, .component_title .step_index:after {
  content: '.';
}

.composite_pagination .element_link {
  display: inline-block;
  line-height: 40px;
  padding: 0;
  margin: 0;
  font-weight: bold;
}

.composite_pagination .element_link.inactive {
  color: #aaa;
  cursor: default;
}

.composite_pagination .pagination_element_current .element_link {
  color: #484c51;
}

/*---------------*/
/*   Summary     */
/*---------------*/
.composite_summary li.summary_element h3 {
  font-size: 1em;
  margin: 0;
}

.composite_summary li.summary_element span.summary_element_content, .woocommerce-page #content div.product span.summary_element_content {
  font-size: 0.88em;
}

span.summary_element_content span.content_product_title {
  display: block;
}

span.summary_element_content ul.content_product_meta {
  font-size: 0.88em;
  padding: 0.5em 0 0 0;
  margin: 0;
  list-style: none;
}

span.summary_element_content ul.content_product_meta li.meta_element {
  display: block;
  margin: 0.5em 0 0 0;
  padding: 0;
}

span.summary_element_content ul.content_product_meta span.meta_element_sep {
  display: none;
}

span.summary_element_content span.content_bundle_title {
  margin-bottom: 0.5em;
}

.composite_summary .summary_element_wrapper {
  box-shadow: 0px 0px 2px 1px rgba(200, 200, 200, 0);
  -webkit-transition: box-shadow 0.2s, opacity 0.2s;
  transition: box-shadow 0.2s, opacity 0.2s;
}

.composite_summary .summary_element_wrapper:hover {
  box-shadow: 0px 0px 2px 1px rgba(200, 200, 200, 0.4);
}

.composite_summary .summary_element_wrapper.disabled:hover {
  box-shadow: 0px 0px 2px 1px rgba(200, 200, 200, 0);
}

.composite_summary .summary_element_wrapper.selected, .composite_summary .summary_element_wrapper.disabled.selected:hover {
  box-shadow: 0px 0px 2px 1px #c8c8c8;
}

.composite_data.multistep .composite_summary .summary_element_wrapper.selected {
  box-shadow: 0px 0px 2px 1px rgba(200, 200, 200, 0);
}

.composite_summary .summary_element_wrapper.disabled {
  opacity: 0.5;
}

/*----------------------*/
/*   Summary Layout     */
/*----------------------*/
.composite_summary .summary_element_wrapper {
  overflow: hidden;
}

.composite_summary .summary_element_wrapper_inner {
  padding: 12px;
  position: relative;
  border: 1px solid transparent !important;
}

.composite_summary ul.summary_elements {
  margin: 0 0 1.618em 0;
}

.composite_summary a.summary_element_tap {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
}

.composite_summary .summary_element_data .summary_element_content {
  display: block;
  margin-top: 0.625em;
}

.composite_summary .summary_element_image img.summary_element_content {
  margin: 0.625em auto 0;
}

.composite_summary .summary_element_data .summary_element_content:after {
  content: '';
  display: table;
  clear: both;
}

.composite_summary .summary_element_data:first-of-type .summary_element_content {
  margin-top: 0px;
}

.composite_summary li.summary_element {
  margin: 0 1% 8px 0;
  float: left;
  text-align: center;
}

.composite_summary li.summary_element.hidden {
  display: none;
}

.composite_summary li.summary_element.first {
  clear: both;
}

.composite_summary li.summary_element.last {
  margin-right: 0;
}

.composite_summary li.summary_element {
  width: 100%;
}

.composite_summary .summary_element_wrapper_outer {
  padding: 5px;
}

/*---------------------*/
/*   Widget Layout     */
/*---------------------*/
.widget_composite_summary .composite_button {
  float: right;
}

.widget_composite_summary .widget_composite_summary_availability, .widget_composite_summary .widget_composite_summary_price {
  text-align: right;
}

.widget_composite_summary .composite_button button {
  float: left;
}

.widget_composite_summary.cp-no-js {
  display: none;
}

.widget_composite_summary .composite_message .woocommerce-info {
  margin: 0 0 30px;
}

/* Default position */
.widget_composite_summary.widget_position_default li.summary_element {
  text-align: left;
  width: 100% !important;
}

.widget_composite_summary.widget_position_default li.summary_element h3 {
  font-size: 0.95em;
}

.widget_composite_summary.widget_position_default li.summary_element:after {
  content: '';
  display: table;
  clear: both;
}

.widget_composite_summary.widget_position_default .summary_element_data {
  overflow: hidden;
}

.widget_composite_summary.widget_position_default .summary_element_title {
  width: 100%;
}

.widget_composite_summary.widget_position_default .summary_element_title h3 {
  line-height: inherit;
}

.widget_composite_summary.widget_position_default .summary_element_price {
  float: right;
}

.widget_composite_summary.widget_position_default .summary_element_price .summary_element_content {
  margin-top: 0.625em;
}

.widget_composite_summary.widget_position_default .summary_element_image {
  float: left;
  margin-right: 10px;
}

.widget_composite_summary.widget_position_default .summary_element_image img.summary_element_content {
  max-width: 50px;
  margin: 0.625em auto 0;
}

.widget_composite_summary.widget_position_default .price {
  font-weight: 700;
}

.widget_composite_summary.widget_position_default .widget_composite_summary_content {
  font-weight: 400;
}

.widget_composite_summary .widget_composite_summary_content > div:after {
  content: '';
  display: table;
  clear: both;
}

/* Fixed position */
.widget_composite_summary.widget_position_fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff !important;
  padding: 2em 0em;
  margin: 0 !important;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  z-index: 10000;
}

@media screen and (max-width: 767px) {
  .widget_composite_summary.widget_position_fixed {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .widget_composite_summary.widget_position_fixed .widget-title {
    display: none;
  }

  .widget_composite_summary.widget_position_fixed .widget_composite_summary_content {
    padding: 0 2em;
  }

  .widget_composite_summary.widget_position_fixed .widget_composite_summary_content:after {
    content: '';
    display: table;
    clear: both;
  }

  .widget_composite_summary.widget_position_fixed .widget_composite_summary_details_wrapper {
    overflow: scroll;
    width: 66.6%;
    float: left;
  }

  .widget_composite_summary.widget_position_fixed .widget_composite_summary_elements ul.summary_elements {
    margin: 0;
  }

  .widget_composite_summary.widget_position_fixed .widget_composite_summary_elements .summary_element_image img {
    max-height: 100px;
    width: auto;
  }

  .widget_composite_summary.widget_position_fixed .widget_composite_summary_ui_wrapper {
    overflow: scroll;
    float: right;
    width: 33.4%;
  }

  .widget_composite_summary.widget_position_fixed .widget_composite_summary_ui_wrapper > div {
    margin: 0 1px 0 2em;
  }

  .widget_composite_summary.widget_position_fixed .summary_elements li.summary_element {
    margin-bottom: 0;
  }

  .widget_composite_summary.widget_position_fixed .columns-2 .summary_elements li.summary_element {
    width: 49.4%;
  }

  .widget_composite_summary.widget_position_fixed .columns-3 .summary_elements li.summary_element {
    width: 32.6%;
  }

  .widget_composite_summary.widget_position_fixed .columns-4 .summary_elements li.summary_element {
    width: 24.2%;
  }

  .widget_composite_summary.widget_position_fixed .columns-5 .summary_elements li.summary_element {
    width: 19.1%;
  }

  .widget_composite_summary.widget_position_fixed .columns-6 .summary_elements li.summary_element {
    width: 15.8%;
  }

  .widget_composite_summary.widget_position_fixed .columns-7 .summary_elements li.summary_element {
    width: 13.4%;
  }

  .widget_composite_summary.widget_position_fixed .columns-8 .summary_elements li.summary_element {
    width: 11.6%;
  }
}
/*-----------------------------------*/
/*   Component Options Pagination    */
/*-----------------------------------*/
.component .component_pagination:not(.component_options_append) {
  padding: 0 0 1.618em 0;
  font-size: 0.875em;
}

.component .component_pagination.component_options_append {
  padding: 1.618em 0 0 0;
  font-size: 0.875em;
}

.component .component_pagination ul {
  list-style: none;
}

.component .component_pagination li {
  display: inline-block;
}

.component .component_pagination .component_pagination_element {
  padding: 2px 5px;
  margin: 2px 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
}

.component .component_pagination .index {
  margin-right: 15px;
}

.component .component_pagination .current {
  font-weight: bold;
  color: #aaa;
  cursor: default;
}

.component .component_options_append {
  text-align: center;
}

.component_options_append .button,
.single-product div.product form.cart .component_options_append .button {
  float: none;
}

/*--------------------------------*/
/*   Component Options Sorting    */
/*--------------------------------*/
.component .component_ordering {
  padding-bottom: 1.618em;
}

/*----------------------------------*/
/*   Component Options Filtering    */
/*----------------------------------*/
.component .component_filters {
  padding-bottom: 1.618em;
}

.component .component_filter {
  padding-top: 5px;
  font-size: 0.85em;
}

.component div.component_filter:first-of-type {
  padding-top: 5px;
}

.component .component_filters ul {
  margin: 0;
}

.component .component_filters ul li {
  display: inline-block;
  padding-right: 10px;
}

.component .component_filter_content {
  margin: 10px 0 10px 0;
}

.component .component_filter_title {
  display: inline-block;
  position: relative;
  padding-right: 18px;
}

.component .component_filter_reset {
  display: inline-block;
  margin-left: 5px;
}

.component .component_filter_option a.toggle_filter_option {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
}

.component .component_filter_option a.toggle_filter_option:before {
  font-family: 'FontAwesomeCP';
  content: '\e80a';
  padding-right: 5px;
  opacity: 0.2;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.component .component_filter_option a.toggle_filter_option:hover:before {
  opacity: 0.5;
}

.component .component_filter_option.selected a.toggle_filter_option:before {
  opacity: 1;
}

.component_filters span.reset_component_filters_wrapper {
  font-size: 0.85em;
  text-transform: lowercase;
  margin-left: 7px;
}

.component_filters a.reset_component_filters, .component_filters a.reset_component_filter {
  opacity: 0;
  cursor: default;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.component_filters.filtered a.reset_component_filters, .component_filters .active a.reset_component_filter {
  opacity: 0.5;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
}

.component_filters.filtered a.reset_component_filters:hover, .component_filters .active a.reset_component_filter:hover {
  opacity: 1;
}

.component_filter span.reset_component_filter_wrapper {
  font-size: 0.9em;
  text-transform: lowercase;
}

.component_filter span.toggle_component_filter_wrapper {
  text-transform: lowercase;
}

.component_filter a.toggle_component_filter {
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
}

.component_filter a.toggle_component_filter .toggle_component_filter_text {
  display: none;
}

.component_filter.open a.toggle_component_filter:after, .component_filter.closed a.toggle_component_filter:after {
  font-family: 'FontAwesomeCP';
  content: '\e808';
  font-size: 1.2em;
  float: right;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.component_filter.closed a.toggle_component_filter:after {
  content: '\e809';
}

/*-------------*/
/*   Blocks    */
/*-------------*/
.woocommerce .composite_form > .blockUI.blockOverlay:before {
  height: 30px;
  width: 30px;
  margin-left: -15px;
  margin-top: -15px;
  line-height: 30px;
  font-size: 30px;
  display: inline-block;
  position: fixed;
  top: 50%;
  left: 50%;
  content: "";
  background: url("../../images/loader.svg") center center;
  text-align: center;
  color: rgba(0, 0, 0, 0.75);
  -webkit-animation: fa-spin .75s linear infinite;
          animation: fa-spin .75s linear infinite;
}

.composite_form .component {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.composite_form .component.hidden {
  display: none;
}

.component .component_inner, .component .component_selections, .component .component_selections_inner {
  position: relative;
}

.multistep .component_selections > div, .component .component_selections_inner {
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.multistep.blocked .component_selections > div, .composite_form .component.disabled .component_selections_inner {
  opacity: 0.5;
}

.multistep.blocked .block_component, .component.disabled .component_selections_inner .block_component_selections_inner, .form_input_blocker.blocked {
  position: absolute;
  height: 100%;
  width: 100%;
  opacity: 1;
  z-index: 1000;
  text-align: center;
}

.component.disabled .component_selections_inner .block_component_selections_inner {
  cursor: pointer;
}

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

/*---------------------*/
/*   Status Messages   */
/*---------------------*/
.composite_status {
  z-index: 10000;
  display: none;
  position: fixed;
  bottom: 30px;
  right: 60px;
  text-align: right;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.composite_status .wrapper {
  position: absolute;
  width: 500px;
  height: 90px;
  overflow: hidden;
  bottom: 0;
  right: 0;
}

.composite_status.active {
  display: block;
}

.composite_status.visible {
  opacity: 1;
}

.composite_status ul.messages {
  position: absolute;
  width: 100%;
  bottom: 0;
  right: 30px;
  margin: 0;
}

.composite_status ul.messages li {
  -webkit-transition: height 0.35s;
  transition: height 0.35s;
  height: 30px;
  opacity: 0.5;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.composite_status ul.messages li.old {
  height: 0px;
}

.composite_status ul.messages li:last-of-type {
  opacity: 1;
}

.woocommerce .composite_status .wrapper:after {
  height: 20px;
  width: 20px;
  font-size: 20px;
  line-height: 20px;
  position: absolute;
  bottom: 7px;
  right: 0;
  display: block;
  content: "";
  background: url("../../images/loader.svg") center center;
  text-align: center;
  opacity: 0.55;
  -webkit-animation: fa-spin .75s linear infinite;
          animation: fa-spin .75s linear infinite;
}

.composite_status span.content {
  font-size: 0.95em;
  font-weight: 300;
  color: rgba(0, 0, 0, 0.45);
}

/*-----------------*/
/*   Animations    */
/*-----------------*/
.multistep, .composite_price, .composite_message, .composite_availability, .composite_button, .composite_form .component_message {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.component .component_content, .component_summary .content {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.component .component_options {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.component.options-style-thumbnails .component_options {
  overflow: hidden;
}

.multistep:before, .composite_price:before, .composite_message:before, .composite_availability:before, .composite_button:before, .composite_form .component_message:before, .component .component_content:before, .component_summary .content:before {
  content: '';
  display: table;
  clear: both;
}

.multistep:after, .composite_price:after, .composite_message:after, .composite_availability:after, .composite_button:after, .composite_form .component_message:after, .component .component_content:after, .component_summary .content:after {
  content: '';
  display: table;
  clear: both;
}

.component .component_content.updating {
  overflow: hidden;
}

/*------------*/
/*   Other    */
/*------------*/
.single-product div.product .component .component_summary {
  border-bottom: none;
}

.composite_wrap .composite_message .woocommerce-info {
  margin: 0 0 30px;
}

.composite_form .composite_availability p.stock,
.single-product .composite_form .composite_availability p.stock {
  margin: 0 0 30px;
}

.composite_form .composite_price p.price,
.single-product .composite_form .composite_price p.price {
  margin: 0 0 30px;
  line-height: 1em;
}

.widget_composite_summary .quantity {
  float: left;
  margin-right: .5em;
}

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

/*-----------------------------------*/
/*   Extensions & Core CSS Compat    */
/*-----------------------------------*/
.summary-add-to-cart-form-composite {
  clear: both;
}

.summary-add-to-cart-form-composite:before {
  display: table;
  content: '';
  clear: both;
}

.composite_form {
  margin: 0 4px;
  /* parent .product element overflow:hidden; workaround */
  position: relative;
  overflow-anchor: none;
}

.composite_form button {
  vertical-align: middle;
}

.component_summary .product-addon, .composite_data .product-addon {
  margin: 0;
  padding: 0.75em 0;
}

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

/* Integration: Variations */
.composite_form table.variations .required {
  border-bottom: 0 !important;
  color: red;
}

.composite_form table.variations,
.single-product div.product .composite_form table.variations {
  margin: 0;
}

.composite_form table.variations td, .composite_form table.variations th {
  display: list-item;
  padding: 0;
  list-style: none;
  background-color: transparent;
}

.composite_form .cart .variations select,
.single-product div.product .composite_form .cart .variations select {
  margin: 0;
}

.composite_form table.variations td.value,
.single-product div.product .composite_form table.variations td.value {
  margin: 0;
  padding: 0.25em 0 0;
}

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

.component .cart .variations, .component .cart .variations tr, .component .cart .variations td {
  border: 0;
}

.component .cart .variations td.label {
  padding: 1em 0 0;
}

.component .cart .variations tr:first-child td.label {
  padding: 0;
}

.component .cart .variations a.reset_variations {
  margin: 1em 0 0;
  display: inline-block;
  visibility: visible !important;
}

.composite_form:not(.paged) .composite_data .product-addon:first-of-type {
  padding-top: 3em;
}

.composite_form:not(.paged) .composite_data .product-addon + .composite_wrap {
  padding-top: 0;
}

/*---------------------------------*/
/*    Full Width Responsive CSS    */
/*---------------------------------*/
/* Thumbnails Loop */
/* Responsive Columns */
.full_width .columns-2 ul.component_option_thumbnails_container li.component_option_thumbnail_container {
  width: 48.2%;
}

.full_width .columns-3 ul.component_option_thumbnails_container li.component_option_thumbnail_container {
  width: 30.9%;
}

.full_width .columns-4 ul.component_option_thumbnails_container li.component_option_thumbnail_container {
  width: 22.3%;
}

.full_width .columns-5 ul.component_option_thumbnails_container li.component_option_thumbnail_container {
  width: 17.1%;
}

/* summary elements loop */
.full_width .columns-2 .summary_elements li.summary_element {
  width: 49.4%;
}

.full_width .columns-3 .summary_elements li.summary_element {
  width: 32.6%;
}

.full_width .columns-4 .summary_elements li.summary_element {
  width: 24.2%;
}

.full_width .columns-5 .summary_elements li.summary_element {
  width: 19.1%;
}

.full_width .columns-6 .summary_elements li.summary_element {
  width: 15.8%;
}

.full_width .columns-7 .summary_elements li.summary_element {
  width: 13.4%;
}

.full_width .columns-8 .summary_elements li.summary_element {
  width: 11.6%;
}

/*----------------------------------*/
/*    Small Width Responsive CSS    */
/*----------------------------------*/
/* Thumbnails Loop */
.small_width ul.component_option_thumbnails_container li.component_option_thumbnail_container {
  width: 100%;
  margin-bottom: 1em;
}

/* Pagination */
.composite_form.small_width .composite_pagination {
  display: none;
}

/* Navigation */
.composite_form.small_width .composite_navigation.top {
  display: block;
}

/* Summary */
.small_width .composite_summary li.summary_element, .composite_summary.force_vertical li.summary_element {
  text-align: left;
  width: 100% !important;
}

.small_width .composite_summary li.summary_element:after, .composite_summary.force_vertical li.summary_element:after {
  content: '';
  display: table;
  clear: both;
}

.small_width .composite_summary .summary_element_data, .composite_summary.force_vertical .summary_element_data {
  overflow: hidden;
}

.small_width .composite_summary .summary_element_title, .composite_summary.force_vertical .summary_element_title {
  width: 100%;
}

.small_width .composite_summary .summary_element_price .summary_element_content, .composite_summary.force_vertical .summary_element_price .summary_element_content {
  margin-top: 0.625em;
  float: right;
}

.small_width .composite_summary .summary_element_image, .composite_summary.force_vertical .summary_element_image {
  float: left;
  margin-right: 16px;
}

.small_width .composite_summary .summary_element_image img.summary_element_content, .composite_summary.force_vertical .summary_element_image img.summary_element_content {
  max-width: 84px;
  margin: 7px auto 0;
}

.small_width .composite_summary .price, .composite_summary.force_vertical .price {
  float: right;
  font-weight: 700;
}

/*---------------------------------------*/
/*   Compatibility non Responsive CSS    */
/*---------------------------------------*/
/* Thumbnails Loop */
.legacy_width ul.component_option_thumbnails_container li.component_option_thumbnail_container {
  width: 100%;
  margin-bottom: 1em;
}

.legacy_width .component .component_option_thumbnail {
  margin-right: 20px;
}

.legacy_width .component_option_thumbnail .image {
  float: left;
  width: 100px;
  padding: 8px;
}

.legacy_width .component_option_thumbnail_container .thumbnail_description {
  text-align: left;
  overflow: hidden;
  padding: 8px 12px 8px 8px;
}

.legacy_width .component_option_thumbnail_container .thumbnail_description .title {
  margin-top: 5px;
}
