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

.component_option_thumbnail_container .thumbnail_buttons {
  padding: 0 0 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_option_thumbnail {
  margin: 5px;
  box-shadow: none !important;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  position: relative;
}

.component_option_thumbnail.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.component_option_thumbnail.disabled button.component_option_thumbnail_select {
  pointer-events: none;
}
.component_option_thumbnail.appended {
  opacity: 0;
}
.component_option_thumbnail.loading button.component_option_thumbnail_select, .component_option_thumbnail.selected button.component_option_thumbnail_select {
  pointer-events: none;
  opacity: 0.5;
}
.component_option_thumbnail.selected:not(.loading) {
  position: relative;
}
.component_option_thumbnail.selected:not(.loading) button {
  position: relative;
  text-indent: -999em;
}
.component_option_thumbnail.selected:not(.loading) button:after {
  font-family: 'FontAwesomeCP';
  content: '\e80a';
  text-indent: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

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

.component_option_thumbnail_container.hidden {
  display: none;
}

.refresh_component_options .component_option_thumbnail.disabled {
  opacity: 1;
}
.refresh_component_options .thumbnail_image, .refresh_component_options .thumbnail_description, .refresh_component_options .thumbnail_buttons {
  position: relative;
}
.refresh_component_options .thumbnail_image > *, .refresh_component_options .thumbnail_description > *, .refresh_component_options .thumbnail_buttons > * {
  visibility: hidden;
}
.refresh_component_options .thumbnail_image:before, .refresh_component_options .thumbnail_description:before, .refresh_component_options .thumbnail_buttons:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.05);
  background-clip: content-box;
  z-index: 98;
}
.refresh_component_options .thumbnail_image h5, .refresh_component_options .thumbnail_description h5, .refresh_component_options .thumbnail_buttons h5 {
  overflow: hidden;
}
.refresh_component_options .thumbnail_image:before {
  padding: 7px 8px 0;
}
.refresh_component_options .thumbnail_description:before {
  padding: 1em 8px;
}
.refresh_component_options .thumbnail_buttons {
  width: 80px;
  margin: 0 auto;
}
.refresh_component_options .thumbnail_buttons:before {
  padding: 0 0 0.75em;
}

.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 {
  display: table;
  opacity: 1;
  position: relative;
}

.component label.component_option_radio_button_select {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  z-index: 100;
  cursor: pointer;
  margin: 0;
}

.component_option_radio_button.disabled label.component_option_radio_button_select {
  cursor: not-allowed;
}

.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;
  vertical-align: middle;
  padding: 0 20px 0 0;
}

.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;
}

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

.paged .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 .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 .component_summary .content {
  overflow: visible;
}

.component.selection-align--center .component_summary .content:not(.bundle_form), .component.relocated-selection-align--center .relocated .component_summary .content:not(.bundle_form) {
  text-align: center;
}

.component.selection-align--center .composited_product_images, .component.selection-align--center .details, .component.relocated-selection-align--center .relocated .composited_product_images, .component.relocated-selection-align--center .relocated .details {
  float: none !important;
  margin: 0 auto 1.5rem !important;
}

.component.selection-align--center .quantity, .component.relocated-selection-align--center .relocated .quantity,
.single-product div.product form.cart .component.selection-align--center .quantity,
.single-product div.product form.cart .component.relocated-selection-align--center .relocated .quantity {
  float: none;
}

.component.selection-align--center table.variations td, .component.relocated-selection-align--center .relocated table.variations td {
  text-align: center;
}

.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;
  outline: 0;
}

.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.5rem;
}

p.composited_product_title {
  font-weight: bold;
}

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

.clear_component_options:before {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-right: 0.75em;
  font-family: 'FontAwesomeCP' !important;
  content: '\e817' !important;
  font-size: 0.8em;
  vertical-align: 0.06em !important;
}

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

.component .component_wrap > p.stock, .component .component_wrap > .woocommerce-variation p.stock, .component .component_wrap > span.price, .component .component_wrap > .single_variation .price, .component .component_wrap > .single_variation .woocommerce-variation-description p:first-child,
.single-product .component div.product .component_wrap > span.price, .single-product .component div.product .component_wrap > .single_variation .price {
  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_button button.disabled {
  opacity: 0.5;
}

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

.composite_form .component_title_toggled {
  display: inline-block;
  position: relative;
  line-height: 1em;
  margin-bottom: 1rem;
  cursor: pointer;
}
.composite_form .component_title_toggled.inactive {
  opacity: 0.6;
  cursor: not-allowed;
}
.composite_form .component_title_toggled .component_title_text {
  font-size: 0.8em;
  padding-left: 1.1em;
  vertical-align: middle;
}
.composite_form .component_title_toggled .component_title_text:before {
  font-family: 'FontAwesomeCP';
  font-size: 0.8em;
  content: '\e808';
  position: absolute;
  top: 54%;
  left: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.composite_form .aria_button, .widget_composite_summary .aria_button {
  line-height: inherit;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  -webkit-filter: none !important;
          filter: none !important;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
}

.composite_form .component.closed .component_title_toggled .component_title_text:before {
  content: '\e809';
}

.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-top: 0.5em;
}

.validation_message li:first-of-type {
  margin-top: 0;
}

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

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

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

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

.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: 1.2em;
}

.composite_form .composite_navigation .next:after {
  font-family: 'FontAwesomeCP';
  content: '\e80c';
  position: absolute;
  top: 50%;
  margin-top: 0.08em;
  right: -1.2em;
  line-height: 1;
  font-size: 0.75em;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.composite_form .composite_navigation.paged .prev {
  float: left;
  margin-left: 1.2em;
}

.composite_form .composite_navigation .prev:before {
  font-family: 'FontAwesomeCP';
  content: '\e80b';
  position: absolute;
  top: 50%;
  margin-top: 0.08em;
  left: -1.2em;
  line-height: 1;
  font-size: 0.75em;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.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;
}

.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     */
/*---------------*/
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 li.summary_element h3 {
  font-size: 1.1rem;
}
.composite_summary li.summary_element .summary_element_tap a {
  display: inline-block;
}
.composite_summary li.summary_element h3, .composite_summary li.summary_element .summary_element_select_wrapper {
  margin: 0 0 0.625em;
}
.composite_summary li.summary_element .summary_element_select_wrapper {
  display: inline-block;
}
.composite_summary li.summary_element .selected .summary_element_tap a {
  display: none;
}
.composite_summary li.summary_element .selected .summary_element_select_wrapper {
  opacity: 0.5;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
}
.composite_summary li.summary_element .selected .summary_element_select_wrapper:before {
  content: '\2026';
  font-size: 0.88rem;
}
.composite_summary li.summary_element .selected .summary_element_select_wrapper:after {
  font-family: 'FontAwesomeCP';
  content: '\e815';
  font-size: 12px;
  position: relative;
  bottom: 1px;
}
.composite_summary li.summary_element span.summary_element_content, .composite_summary .woocommerce-page #content div.product span.summary_element_content {
  font-size: 0.88rem;
}
.composite_summary .summary_element_wrapper {
  box-shadow: none !important;
  opacity: 1;
}
.composite_summary .summary_element_wrapper.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.composite_summary .summary_element_wrapper.disabled .summary_element_select {
  pointer-events: none;
  text-decoration: none;
}
.composite_summary .summary_element_wrapper.selected .summary_element_select {
  opacity: 0.5;
  text-decoration: none;
}
.composite_summary .summary_element_wrapper.selected .summary_element_select.button {
  pointer-events: none;
}
.composite_summary .summary_element_wrapper.selected .summary_element_select:not(.button) {
  cursor: not-allowed;
}

/*----------------------*/
/*   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_select {
  font-size: 0.88rem;
}
.composite_summary .summary_element_data .summary_element_content {
  display: block;
  margin-top: 0.625em;
}
.composite_summary .summary_element_button {
  margin-top: 1.25em;
}
.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 0 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.summary_widget_hidden {
  visibility: hidden;
  position: fixed;
  top: 100vh !important;
}
.widget_composite_summary .widget_composite_summary_error .composite_message .woocommerce-info {
  margin: 0 0 30px;
}
.widget_composite_summary .widget_composite_summary_error .validation_message li + li {
  display: none;
}
.widget_composite_summary .widget_composite_summary_content > div:after {
  content: '';
  display: table;
  clear: both;
}

/* Default position */
.widget_composite_summary.widget_position_default {
  opacity: 1;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.widget_composite_summary.widget_position_default.summary_widget_inactive {
  opacity: 0;
}
.widget_composite_summary.widget_position_default li.summary_element {
  text-align: left;
  width: 100% !important;
}
.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 {
  clear: both;
  text-align: right;
}
.widget_composite_summary.widget_position_default .summary_element_price .summary_element_content {
  margin-top: 1.25em;
}
.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, .widget_composite_summary.widget_position_default .price ins {
  font-weight: 700;
}
.widget_composite_summary.widget_position_default .widget_composite_summary_content {
  font-weight: 400;
}

/* Fixed position */
.widget_composite_summary.widget_position_fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0;
  margin: 0 !important;
  z-index: 10000;
  font-size: 0.88rem;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  background: #fff !important;
}
.widget_composite_summary.widget_position_fixed .widget-title {
  display: none;
}
.widget_composite_summary.widget_position_fixed .widget_composite_summary_error {
  display: none;
}
.widget_composite_summary.widget_position_fixed .widget_composite_summary_error .composite_message {
  padding-top: 30px;
}
.widget_composite_summary.widget_position_fixed .widget_composite_summary_content {
  padding: 0 2em;
  margin: 0.5em 0;
}
.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 {
  width: calc( 80% - 1em );
  margin: 0 1em 0 0;
  float: left;
  position: relative;
}
.widget_composite_summary.widget_position_fixed .widget_composite_summary_elements_wrapper {
  margin: 0 2em;
  overflow: hidden;
}
.widget_composite_summary.widget_position_fixed ul.summary_elements {
  margin: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: no-wrap;
          flex-wrap: no-wrap;
}
.widget_composite_summary.widget_position_fixed .widget_composite_summary_elements {
  padding: 0 !important;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.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 {
  padding: 20px 0;
  float: right;
  width: 20%;
}
.widget_composite_summary.widget_position_fixed .widget_composite_summary_ui_wrapper > div {
  margin: 0;
}
.widget_composite_summary.widget_position_fixed .widget_composite_summary_availability p, .widget_composite_summary.widget_position_fixed .widget_composite_summary_price p, .widget_composite_summary.widget_position_fixed .composite_message .woocommerce-info {
  margin-bottom: 1.2rem;
}
.widget_composite_summary.widget_position_fixed .summary_elements li.summary_element {
  margin-bottom: 0;
}
.widget_composite_summary.widget_position_fixed .summary_element_image {
  display: none;
}
.widget_composite_summary.widget_position_fixed .composite_button {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}
.widget_composite_summary.widget_position_fixed .composite_button .composite_add_to_cart_button {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
          flex-grow: 1;
}
.widget_composite_summary.widget_position_fixed .summary_carousel_button {
  padding: 10px 5px;
  position: absolute;
  top: 50%;
  line-height: 1;
  font-size: 0.75em;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.widget_composite_summary.widget_position_fixed .summary_carousel_button.disabled {
  display: none;
}
.widget_composite_summary.widget_position_fixed .summary_carousel_button.inactive {
  opacity: 0.3;
}
.widget_composite_summary.widget_position_fixed .summary_carousel_button.inactive button {
  cursor: not-allowed;
}
.widget_composite_summary.widget_position_fixed .summary_carousel_button:after {
  font-family: 'FontAwesomeCP';
  line-height: 1;
  font-size: 1.5em;
}
.widget_composite_summary.widget_position_fixed .summary_carousel_button.next {
  right: 0.75em;
}
.widget_composite_summary.widget_position_fixed .summary_carousel_button.next:after {
  content: '\e80c';
}
.widget_composite_summary.widget_position_fixed .summary_carousel_button.prev {
  left: 0.75em;
}
.widget_composite_summary.widget_position_fixed .summary_carousel_button.prev:after {
  content: '\e80b';
}

@media screen and (max-width: 767px) {
  .widget_composite_summary.widget_position_fixed {
    display: none !important;
  }
}
/*-----------------------------------*/
/*   Component Options Pagination    */
/*-----------------------------------*/
.component .component_pagination:not(.component_options_append) {
  padding: 0 0 1.618em 0;
  font-size: 0.88em;
  text-align: right;
}

.component .component_pagination.component_options_append {
  padding: 1.618em 0 0 0;
}

.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;
}

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

.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_filters_section_title {
  position: relative;
}

.component_filter .component_filter_title {
  position: relative;
}
.component_filter .component_filter_name {
  cursor: pointer;
  position: relative;
  padding-left: 1.4em;
}
.component_filter .component_filter_name:before {
  font-family: 'FontAwesomeCP';
  content: '\e808';
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  opacity: 1;
}
.component_filter.closed .component_filter_name:before {
  content: '\e809';
  opacity: 0.5;
}

.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: 1em;
}

.component .component_filter_options {
  padding: 0.75em 0 0.75em 0;
}

.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 a.reset_component_filters, .component_filters a.reset_component_filter {
  display: none;
  opacity: 0;
  margin-left: 1em;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  font-size: 0.8em;
  position: absolute;
  top: 57%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.component_filters.filtered a.reset_component_filters, .component_filters .active a.reset_component_filter {
  display: inline-block;
  opacity: 0.5;
}
.component_filters.filtered a.reset_component_filters:after, .component_filters .active a.reset_component_filter:after {
  font-family: 'FontAwesomeCP';
  content: '\e817';
  position: relative;
  top: -1px;
}

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

/*-------------*/
/*   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: cp-spin .75s linear infinite;
          animation: cp-spin .75s linear infinite;
}

.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: cp-spin .75s linear infinite;
          animation: cp-spin .75s linear infinite;
}

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

/*-----------------*/
/*   Animations    */
/*-----------------*/
@-webkit-keyframes cp-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes cp-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.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%;
}

.full_width .columns-6 ul.component_option_thumbnails_container li.component_option_thumbnail_container {
  width: 13.7%;
}

.full_width .columns-7 ul.component_option_thumbnails_container li.component_option_thumbnail_container {
  width: 11.2%;
}

.full_width .columns-8 ul.component_option_thumbnails_container li.component_option_thumbnail_container {
  width: 9.4%;
}

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

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

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

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

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

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

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

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

/* Components */
.composite_form.small_width.paged:not(.componentized) .multistep {
  -webkit-transition: -webkit-transform 0.20s ease-out;
  transition: -webkit-transform 0.20s ease-out;
  transition: transform 0.20s ease-out;
  transition: transform 0.20s ease-out, -webkit-transform 0.20s ease-out;
}
.composite_form.small_width.paged:not(.componentized) .multistep.faded {
  opacity: 1;
}
.composite_form.small_width.paged:not(.componentized) .multistep.faded-out {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition-timing-function: ease-in;
          transition-timing-function: ease-in;
}
.composite_form.small_width.paged:not(.componentized) .multistep.faded-in {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition-timing-function: ease-in;
          transition-timing-function: ease-in;
}

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

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

/* Summary */
.small_width ul.component_option_thumbnails_container li.component_option_thumbnail_container {
  width: 100%;
  margin-bottom: 1em;
}
.small_width .summary_element_image {
  width: 60%;
  margin: 0 auto;
}

.composite_summary.force_vertical li.summary_element {
  text-align: left;
  width: 100% !important;
}
.composite_summary.force_vertical li.summary_element:after {
  content: '';
  display: table;
  clear: both;
}
.composite_summary.force_vertical .summary_element_data {
  overflow: hidden;
}
.composite_summary.force_vertical .summary_element_title {
  width: 100%;
}
.composite_summary.force_vertical .summary_element_price .summary_element_content {
  margin-top: 0.625em;
  font-weight: 700;
}
.composite_summary.force_vertical .summary_element_image {
  width: 100px;
  float: left;
  margin-right: 16px;
}
.composite_summary.force_vertical .summary_element_image img.summary_element_content {
  margin: 7px auto 0;
}
.composite_summary.force_vertical .summary_element_button {
  clear: both;
  text-align: center;
}

/*---------------------------------------*/
/*   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_option_thumbnail .image {
  float: left;
  width: 100px;
  padding: 8px;
}
.legacy_width .component_option_thumbnail_container .thumbnail_buttons {
  padding: 0.75em 0;
  clear: both;
}
.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;
}
