/*** Progressive Standard (default) ***/
/*** GLOBAL ***/

.composite_form {
    border-top:1px solid #0170b9;
    width:100%!important;
}

/* STEP TITLE */

.composite_form .multistep {
    border-bottom:1px dotted #0170b9;
}

.composite_form .component_inner {
    padding-bottom:1.5rem!important;
}

.composite_form .component_title_wrapper {
    padding:1rem 0 1rem 0!important;
}

.composite_form .step_title_wrapper {
    margin-bottom:0!important;
}

/* DESCRIPTION */

.composite_form .component_description {
    margin-bottom:0!important;
}

.composite_form .component_description p {
    margin-bottom:0.5rem!important;
}

/* LABELS */

.composite_form .component_section_title .select_label,
.composite_form .component_section_title .selected_option_label {
    display:none!important;
}

/* SELECTIONS */

.composite_form .component_selections {
    padding-top:0!important;
    display:flex;
    flex-direction:column;
}

.composite_form select {
    margin:0 0 0 0!important;
    width:100%!important;
}

/* SUMMARY */

.composite_form .summary_content {
    display:flex!important;
    flex-direction:column;
}

.composite_form .summary_content .composited_product_title_wrapper {
    display:flex!important;
    flex-direction:column-reverse;
    flex-wrap: nowrap;
    padding-top:0!important;
    margin-bottom:0!important;
}

.composite_form h4.product_title {
    font-size:100%!important;
    line-height: 1.2!important;
    padding-top: 1rem!important;
    text-align:left;
    justify-self:flex-start!important;
    margin-bottom:0!important;
}

.composite_form .clear_component_options_wrapper {
    margin-bottom:0!important;
    text-align: right;
    line-height: 1.2;
    padding-top: 4px;
    justify-self:flex-end!important;
}

.composite_form .reset_variations,
.composite_form .clear_component_options {
    color:#e60000!important;
    font-size:80%!important;
    text-transform:uppercase!important;
    font-weight:bold!important;
    opacity:1!important;
    float:right!important;
    margin-top:0!important;
}

.composite_form .reset_variations::before,
.composite_form .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;
}

.composite_form .composited_product_details_wrapper {
    display:flex!important;
    flex-direction:row;
    flex-wrap:nowrap;
}

.composite_form .composited_product_images {
    margin:0.5rem 0.5rem 0.5rem 0!important;
    flex-basis:20%!important;
    float:none!important;
}

.composite_form .component_data {
    flex-basis:80%;
    padding:0 0 0 0!important;
    float:none!important;
}

.composite_form .details.component_data p {
    margin-bottom:0.5rem!important;
}

.composite_form .in-stock {
    display:none;
}

/* MESSAGES */

.composite_form .component_message {
    flex-basis:100%!important;
    margin-top:0.5rem!important;
}

.composite_form .validation_message {
    border-top:0!important;
    margin-top:0!important;
    background-color:#d6f4ff!important;
}

/* THUMBNAIL OPTIONS */

.composite_form .component_option_thumbnail {
    margin:0!important;
}

.composite_form .thumbnail_image {
    padding:0!important;
    width:25%!important;
    float:left!important;
}

.composite_form .thumbnail_image img {
    padding:0.2rem 0.5rem 0 0!important;
}

.composite_form .thumbnail_description,
.composite_form .thumbnail_buttons {
    padding:0!important;
    float:left!important;
    text-align:left!important;
    width:75%!important;
}

.composite_form .thumbnail_title {
    line-height:1.2!important;
    text-align:left;
}

.composite_form .radio_button_input {
    padding:0 0.5rem 0 0!important;
    vertical-align:top!important;
}

.composite_form .radio_button_title,
.composite_form .radio_button_price {
    margin:0 0 0 0!important;
}

.composite_form .composite_button {
    display:flex!important;
}

.composite_form .composite_button button img {
    display:none!important;
}

.composite_form .variations {
    border-bottom:0!important;
}

.composite_form .variations .label {
    margin:0!important;
}

.composite_form .component_pagination {
    padding:0 0 0 0!important;
}


/*** Stacked (Single Standard) ***/

.composite_form.single.standard .component_tooltip {
    display:none!important;
}


/** Stepped (Paged) ***/

.composite_form .paged .page_button {
    font-size:100%!important;
    line-height:1!important;
}

.composite_form .paged .composite_navigation_inner {
    padding:0.5rem 0 0.5rem 0!important;
}

.composite_form .paged .component_inner {
    padding-bottom: 1rem!important;
}

/*** Componentized ***/

.composite_form.componentized {
    padding:1rem 0 1rem 0!important;
}

.composite_form.componentized .composite_wrap {
    padding-bottom:1rem!important;
}

.composite_form.componentized ul.summary_elements {
    display:flex!important;
    flex-direction:column;
}

.composite_form.componentized ul.summary_elements li {
    width:100%!important;
}

.composite_form.componentized .summary_element_wrapper_outer {
    padding:1rem 0 1rem 0!important;
}

.composite_form.componentized .summary_element_wrapper_inner {
    padding:0!important;
    border-width:0!important;
}

.composite_form.componentized .summary_element_title {
    width:100%;
}

.composite_form.componentized .summary_element_title h3 {
    text-align:left!important;
}

.composite_form.componentized .summary_element_image {
    width:25%!important;
    margin:0 0 0 0!important;
    float:left!important;
}

.composite_form.componentized .composite_summary .summary_element_image img.summary_element_content {
    width:100%!important;
    margin-top:0!important;
    margin-bottom:0!important;
    padding:0 0.5rem 0.5rem 0!important;
}

.composite_form.componentized .summary_element_selection {
    width:75%!important;
    float:left;
}

.composite_form.componentized .summary_element_selection span {
    margin-top:0!important;
    text-align:left!important;
    line-height:1.2!important;
}

.composite_form.componentized .summary_element_button {
    width:75%!important;
    float:left;
    text-align:left;
    margin-top:1rem!important;
}

.composite_form.componentized .component_option_thumbnails_container {
    display:flex!important;
    flex-direction:row;
    flex-wrap:wrap;
}

.composite_form.componentized .component_option_thumbnails_container li {
    flex-basis:100%!important;
    margin:0 0 0 0!important;
    padding:0 0 1.5rem 0!important;
}