/* stylelint-disable no-descending-specificity */

/* stylelint-disable selector-class-pattern */

/**
 * This file contains the styling for the plugin.
 *
 * Please do not make alterations to this file as you
 * will loose them when updating the plugin.
 *
 * This file contents are outlined below.
 *
 * 1. Grid system
 * 2. Containers
 * 3. Elements
 * 4. Floatbox
 * 5. Floating totals box
 * 6. Validation errors
 * 7. Lightbox
 * 8. Datepicker and Timepicker
 * 9. Checkbox and Radio button
 * 10. Checkbox and Radio button custom styles
 * 11. Checkbox and Radio button swatches
 * 12. Product element
 * 13. Tooltip
 * 14. Cart and Order styles
 * 15. Various styles
 * 16. Theme fixes
 *
 * @package Extra Product Options/CSS
 * @version 6.0
 */

/* 1. Grid system */

:root {
    --tcgaprow: 15px;
    --tcgapcolumn: 15px;
    --tcinnergaprow: calc(var(--tcgaprow) / 2);
    --tcinnergapcolumn: calc(var(--tcgapcolumn) / 2);
    --tcgap: var(--tcgaprow) var(--tcgapcolumn);
    --tcinnergap: var(--tcinnergaprow) var(--tcinnergapcolumn);
    --tcinlinesize: 3em;
    --flex-items: 1;
    --swatch-border-radius: 0;
    --swatch-border-color: transparent;
    --swatch-active-border-color: inherit;
    --text-swatch-border-color: inherit;
    --text-swatch-border-width: 1px;
    --text-swatch-active-border-width: 1px;
    --swatch-border-width: 2px;
    --swatch-active-border-width: 2px;
}

.tm-extra-product-options .tc-container,
.tc-container {
    display: block;
    width: 100%;
    padding: 0 var(--tcgapcolumn);
    margin: 0;
}

.tm-extra-product-options .tc-row,
.tc-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    margin: 0;
    gap: var(--tcgap);
}

.tm-extra-product-options .tc-element-inner-wrap .tc-row {
    gap: var(--tcinnergap);
}

.tc-row>*,
.tmcp-field-wrap-inner>*,
.tc-label-wrap>*,
.tm-epo-element-label>* {
    -webkit-box-ordinal-group: 11;
    -ms-flex-order: 10;
    order: 10;
}

.tc-section-inner-wrap>.tc-row {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.tm-extra-product-options .tc-cell,
.tc-extra-product-options .tmcp-field-wrap label.tc-cell,
.tc-cell {
    position: relative;
    padding: 0;
    min-height: 1px;
    overflow: visible;
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.tm-extra-product-options .cpf-type-dynamic .tc-cell,
.tc-extra-product-options .cpf-type-dynamic .tmcp-field-wrap label.tc-cell,
.cpf-type-dynamic .tc-cell,
.cpf-type-dynamic.tc-cell {
    min-height: 0;
}

.cpf-section.tc-cell {
    margin: 0;
}

.cpf-section.section-disabled {
    display: none;
}

.tc-container.nopadding {
    padding-left: 0;
    padding-right: 0;
}

.nomargin .tc-cell {
    margin: 0;
}

.tc-row .cpf-section.tc-row {
    margin: 0;
}

.tm-extra-product-options .tc-row.tc-col-12,
.tm-extra-product-options .tc-row.tc-col-12 .tc-row.tc-col-12 {
    margin: 0 -1em;
    min-width: 100% !important;
    max-width: 100%;
    overflow: visible;
    position: relative;
}

.tm-extra-product-options .tc-col,
.tm-extra-product-options .tc-cell.tc-col,
.tc-cell.tc-col,
.tc-col {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0;
    flex: 1 1 0;
    max-width: 100%;
}

.tm-extra-product-options .tc-col-auto,
.tm-extra-product-options .tc-cell.tc-col-auto,
.tc-cell.tc-col-auto,
.tc-col-auto {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
}

.tm-extra-product-options .tc-col-0,
.tm-extra-product-options .tc-cell.tc-col-0,
.tc-cell.tc-col-0,
.tc-col-0 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 0%;
    flex: 0 0 0%;
    max-width: 0%;
}

.tm-extra-product-options .tc-col-1,
.tm-extra-product-options .tc-cell.tc-col-1,
.tc-cell.tc-col-1,
.tc-col-1 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 8.3334%;
    flex: 0 0 8.3334%;
    max-width: 8.3334%;
}

.tm-extra-product-options .tc-col-1-5,
.tm-extra-product-options .tc-cell.tc-col-1-5,
.tc-cell.tc-col-1-5,
.tc-col-1-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 12.5%;
    flex: 0 0 12.5%;
    max-width: 12.5%;
}

.tm-extra-product-options .tc-col-2,
.tm-extra-product-options .tc-cell.tc-col-2,
.tc-cell.tc-col-2,
.tc-col-2 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 16.6667%;
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
}

.tm-extra-product-options .tc-col-2-5,
.tm-extra-product-options .tc-cell.tc-col-2-5,
.tc-cell.tc-col-2-5,
.tc-col-2-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
}

.tm-extra-product-options .tc-col-3,
.tm-extra-product-options .tc-cell.tc-col-3,
.tc-cell.tc-col-3,
.tc-col-3 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}

.tm-extra-product-options .tc-col-4,
.tm-extra-product-options .tc-cell.tc-col-4,
.tc-cell.tc-col-4,
.tc-col-4 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.3334%;
    flex: 0 0 33.3334%;
    max-width: 33.3334%;
}

.tm-extra-product-options .tc-col-4-5,
.tm-extra-product-options .tc-cell.tc-col-4-5,
.tc-cell.tc-col-4-5,
.tc-col-4-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 37.5%;
    flex: 0 0 37.5%;
    max-width: 37.5%;
}

.tm-extra-product-options .tc-col-5,
.tm-extra-product-options .tc-cell.tc-col-5,
.tc-cell.tc-col-5,
.tc-col-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 41.6667%;
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
}

.tm-extra-product-options .tc-col-6,
.tm-extra-product-options .tc-cell.tc-col-6,
.tc-cell.tc-col-6,
.tc-col-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

.tm-extra-product-options .tc-col-7,
.tm-extra-product-options .tc-cell.tc-col-7,
.tc-cell.tc-col-7,
.tc-col-7 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 58.3334%;
    flex: 0 0 58.3334%;
    max-width: 58.3334%;
}

.tm-extra-product-options .tc-col-7-5,
.tm-extra-product-options .tc-cell.tc-col-7-5,
.tc-cell.tc-col-7-5,
.tc-col-7-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 62.5%;
    flex: 0 0 62.5%;
    max-width: 62.5%;
}

.tm-extra-product-options .tc-col-8,
.tm-extra-product-options .tc-cell.tc-col-8,
.tc-cell.tc-col-8,
.tc-col-8 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 66.6667%;
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
}

.tm-extra-product-options .tc-col-9,
.tm-extra-product-options .tc-cell.tc-col-9,
.tc-cell.tc-col-9,
.tc-col-9 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
}

.tm-extra-product-options .tc-col-10,
.tm-extra-product-options .tc-cell.tc-col-10,
.tc-cell.tc-col-10,
.tc-col-10 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3334%;
    flex: 0 0 83.3334%;
    max-width: 83.3334%;
}

.tm-extra-product-options .tc-col-10-5,
.tm-extra-product-options .tc-cell.tc-col-10-5,
.tc-cell.tc-col-10-5,
.tc-col-10-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 87.5%;
    flex: 0 0 87.5%;
    max-width: 87.5%;
}

.tm-extra-product-options .tc-col-11,
.tm-extra-product-options .tc-cell.tc-col-11,
.tc-cell.tc-col-11,
.tc-col-11 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 91.6667%;
    flex: 0 0 91.6667%;
    max-width: 91.6667%;
}

.tm-extra-product-options .tc-col-12,
.tm-extra-product-options .tc-cell.tc-col-12,
.tc-cell.tc-col-12,
.tc-col-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

.tcwidth {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--tcgapcolumn)));
    flex: 0 0 calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--tcgapcolumn)));
    max-width: calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--tcgapcolumn)));
}

.tcwidth-1 {
    --flex-items: 100;
}

.tcwidth-2 {
    --flex-items: 50;
}

.tcwidth-3 {
    --flex-items: calc(100 / 3);
}

.tcwidth-4 {
    --flex-items: 25;
}

.tcwidth-5 {
    --flex-items: 20;
}

.tcwidth-6 {
    --flex-items: calc(100 / 6);
}

.tcwidth-7 {
    --flex-items: calc(100 / 7);
}

.tcwidth-8 {
    --flex-items: calc(100 / 8);
}

.tcwidth-9 {
    --flex-items: calc(100 / 9);
}

.tcwidth-10 {
    --flex-items: 10;
}

.tcwidth-11 {
    --flex-items: calc(100 / 11);
}

.tcwidth-12 {
    --flex-items: calc(100 / 12);
}

.tcwidth-12-5 {
    --flex-items: calc(100 / 12.5%);
}

.tcwidth-13 {
    --flex-items: calc(100 / 13);
}

.tcwidth-14 {
    --flex-items: calc(100 / 14);
}

.tcwidth-15 {
    --flex-items: calc(100 / 15);
}

.tcwidth-16 {
    --flex-items: calc(100 / 16);
}

.tcwidth-17 {
    --flex-items: calc(100 / 17);
}

.tcwidth-18 {
    --flex-items: calc(100 / 18);
}

.tcwidth-19 {
    --flex-items: calc(100 / 19);
}

.tcwidth-20 {
    --flex-items: 5;
}

.tcwidth-21 {
    --flex-items: calc(100 / 21);
}

.tcwidth-22 {
    --flex-items: calc(100 / 22);
}

.tcwidth-23 {
    --flex-items: calc(100 / 23);
}

.tcwidth-24 {
    --flex-items: calc(100 / 24);
}

.tcwidth-25 {
    --flex-items: 4;
}

.tcwidth-26 {
    --flex-items: calc(100 / 26);
}

.tcwidth-27 {
    --flex-items: calc(100 / 27);
}

.tcwidth-28 {
    --flex-items: calc(100 / 28);
}

.tcwidth-29 {
    --flex-items: calc(100 / 29);
}

.tcwidth-30 {
    --flex-items: calc(100 / 30);
}

.tcwidth-31 {
    --flex-items: calc(100 / 31);
}

.tcwidth-32 {
    --flex-items: calc(100 / 32);
}

.tcwidth-33 {
    --flex-items: calc(100 / 33);
}

.tcwidth-34 {
    --flex-items: calc(100 / 34);
}

.tcwidth-35 {
    --flex-items: calc(100 / 35);
}

.tcwidth-36 {
    --flex-items: calc(100 / 36);
}

.tcwidth-37 {
    --flex-items: calc(100 / 37);
}

.tcwidth-37-5 {
    --flex-items: calc(100 / 37.5%);
}

.tcwidth-38 {
    --flex-items: calc(100 / 38);
}

.tcwidth-39 {
    --flex-items: calc(100 / 39);
}

.tcwidth-40 {
    --flex-items: calc(100 / 40);
}

.tcwidth-41 {
    --flex-items: calc(100 / 41);
}

.tcwidth-42 {
    --flex-items: calc(100 / 42);
}

.tcwidth-43 {
    --flex-items: calc(100 / 43);
}

.tcwidth-44 {
    --flex-items: calc(100 / 44);
}

.tcwidth-45 {
    --flex-items: calc(100 / 45);
}

.tcwidth-46 {
    --flex-items: calc(100 / 46);
}

.tcwidth-47 {
    --flex-items: calc(100 / 47);
}

.tcwidth-48 {
    --flex-items: calc(100 / 48);
}

.tcwidth-49 {
    --flex-items: calc(100 / 49);
}

.tcwidth-50 {
    --flex-items: 2;
}

.tcwidth-51 {
    --flex-items: calc(100 / 51);
}

.tcwidth-52 {
    --flex-items: calc(100 / 52);
}

.tcwidth-53 {
    --flex-items: calc(100 / 53);
}

.tcwidth-54 {
    --flex-items: calc(100 / 54);
}

.tcwidth-55 {
    --flex-items: calc(100 / 55);
}

.tcwidth-56 {
    --flex-items: calc(100 / 56);
}

.tcwidth-57 {
    --flex-items: calc(100 / 57);
}

.tcwidth-58 {
    --flex-items: calc(100 / 58);
}

.tcwidth-59 {
    --flex-items: calc(100 / 59);
}

.tcwidth-60 {
    --flex-items: calc(100 / 60);
}

.tcwidth-61 {
    --flex-items: calc(100 / 61);
}

.tcwidth-62 {
    --flex-items: calc(100 / 62);
}

.tcwidth-62-5 {
    --flex-items: calc(100 / 62.5%);
}

.tcwidth-63 {
    --flex-items: calc(100 / 63);
}

.tcwidth-64 {
    --flex-items: calc(100 / 64);
}

.tcwidth-65 {
    --flex-items: calc(100 / 65);
}

.tcwidth-66 {
    --flex-items: calc(100 / 66);
}

.tcwidth-67 {
    --flex-items: calc(100 / 67);
}

.tcwidth-68 {
    --flex-items: calc(100 / 68);
}

.tcwidth-69 {
    --flex-items: calc(100 / 69);
}

.tcwidth-70 {
    --flex-items: calc(100 / 70);
}

.tcwidth-71 {
    --flex-items: calc(100 / 71);
}

.tcwidth-72 {
    --flex-items: calc(100 / 72);
}

.tcwidth-73 {
    --flex-items: calc(100 / 73);
}

.tcwidth-74 {
    --flex-items: calc(100 / 74);
}

.tcwidth-75 {
    --flex-items: calc(100 / 75);
}

.tcwidth-76 {
    --flex-items: calc(100 / 76);
}

.tcwidth-77 {
    --flex-items: calc(100 / 77);
}

.tcwidth-78 {
    --flex-items: calc(100 / 78);
}

.tcwidth-79 {
    --flex-items: calc(100 / 79);
}

.tcwidth-80 {
    --flex-items: calc(100 / 80);
}

.tcwidth-81 {
    --flex-items: calc(100 / 81);
}

.tcwidth-82 {
    --flex-items: calc(100 / 82);
}

.tcwidth-83 {
    --flex-items: calc(100 / 83);
}

.tcwidth-84 {
    --flex-items: calc(100 / 84);
}

.tcwidth-85 {
    --flex-items: calc(100 / 85);
}

.tcwidth-86 {
    --flex-items: calc(100 / 86);
}

.tcwidth-87 {
    --flex-items: calc(100 / 87);
}

.tcwidth-87-5 {
    --flex-items: calc(100 / 37.5%);
}

.tcwidth-88 {
    --flex-items: calc(100 / 88);
}

.tcwidth-89 {
    --flex-items: calc(100 / 89);
}

.tcwidth-90 {
    --flex-items: calc(100 / 90);
}

.tcwidth-91 {
    --flex-items: calc(100 / 91);
}

.tcwidth-92 {
    --flex-items: calc(100 / 92);
}

.tcwidth-93 {
    --flex-items: calc(100 / 93);
}

.tcwidth-94 {
    --flex-items: calc(100 / 94);
}

.tcwidth-95 {
    --flex-items: calc(100 / 95);
}

.tcwidth-96 {
    --flex-items: calc(100 / 96);
}

.tcwidth-97 {
    --flex-items: calc(100 / 97);
}

.tcwidth-98 {
    --flex-items: calc(100 / 98);
}

.tcwidth-99 {
    --flex-items: calc(100 / 99);
}

.tcwidth-100 {
    --flex-items: 1;
}

/* 2. Containers */

.tc-extra-product-options {
    visibility: hidden;
}

.tc-extra-product-options.tc-show,
.tc-extra-product-options.tc-show-override {
    display: block;
    clear: both;
    visibility: visible;
}

.tc-extra-product-options.tc-show-hidden {
    display: block;
    clear: both;
    visibility: hidden !important;
}

.tm-extra-product-options,
.tm-extra-product-options .tm-extra-product-options-fields,
.tm-extra-product-options .tc-element-container,
.tm-extra-product-options .tmcp-ul-wrap,
.tm-extra-product-options .tmcp-field,
.tm-extra-product-options .tm-epo-field,
.tm-extra-product-options li.tmcp-field-wrap,
.tm-extra-product-options .tmcp-field-wrap-inner,
.tm-extra-product-options .tc-cell,
.tm-extra-product-options .tc-row,
.tm-collapse,
.tm-collapse-wrap,
.tc-epo-label,
.tm-show-picker-value,
.tm-bsbb,
.tm-bsbb-all,
.tm-bsbb-all *,
.tc-container,
.tc-row,
.tc-cell,
.tm-box,
.flasho,
.flasho div,
.tm-button,
.tm-epo-style,
.tc-lightbox img,
.tm-extra-product-options .tc-image {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.tm-extra-product-options {
    max-width: 100%;
    width: 100%;
}

.tm-extra-product-options .tmcp-ul-wrap {
    overflow: visible;
    max-width: 100%;
    width: 100%;
    margin-bottom: 0;
}

.tm-extra-product-options .tc-element-container {
    overflow: visible;
    margin-bottom: 0;
}

.tm-extra-product-options .tm-extra-product-options-fields,
.tm-extra-product-options .tmcp-ul-wrap {
    clear: both;
    list-style: none outside none;
    margin: 0;
    padding: 0;
}

.tm-extra-product-options .tc-repeater-element,
.tc-repeater-delete,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap .tmcp-field-wrap-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: var(--tcinnergap);
    max-width: 100%;
}

.tc-element-container {
    gap: var(--tcgap);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.tc-field-label-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0 var(--tcinnergapcolumn);
    max-width: 100%;
    width: 100%;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap li.tmcp-field-wrap .tc-field-label-wrap {
    display: grid;
    grid-template-columns: auto auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap .tc-field-label-wrap {
    grid-template-columns: 1fr auto;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap li.tmcp-field-wrap .tc-field-label-wrap.no-price {
    grid-template-columns: auto;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap .tc-field-label-wrap.no-price {
    grid-template-columns: 1fr;
}

.tm-extra-product-options .cpf-type-select .tm-epo-field-label {
    display: grid;
    grid-template-columns: auto auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap.fullwidth-ul .tm-epo-field-label {
    grid-template-columns: 1fr auto;
}

.tm-extra-product-options .cpf-type-select li.tmcp-field-wrap .tc-field-label-wrap.no-desc .tm-epo-field-label {
    grid-template-columns: auto;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap .tc-field-label-wrap.no-desc .tm-epo-field-label,
.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap li.tmcp-field-wrap .tc-field-label-wrap.desc-inline .tm-epo-field-label {
    grid-template-columns: 1fr;
}

.tm-extra-product-options .tc-repeater-element,
.tc-repeater-delete {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.tm-extra-product-options .tc-repeater-element {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    max-width: 100%;
}

.tm-extra-product-options .tc-repeater-element .tmcp-ul-wrap {
    -webkit-box-flex: 1 !important;
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
    -ms-flex-preferred-size: 0 !important;
    flex-basis: 0 !important;
    width: auto !important;
}

.tc-repeater-delete {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    width: auto;
    padding: 0;
}

.tc-price-wrap {
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(1ch / 2);
}

.tm-extra-product-options .tmcp-ul-wrap+.tmcp-ul-wrap {
    margin: 0.5em 0 0 0;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap .tmcp-field-wrap-inner {
    width: 100%;
    list-style: none outside none !important;
    position: relative;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap:not(.fullwidth-ul) li.tmcp-field-wrap .tmcp-field-wrap-inner,
.tm-extra-product-options .cpf-type-radio ul.tmcp-ul-wrap:not(.fullwidth-ul) li.tmcp-field-wrap .tmcp-field-wrap-inner,
.tm-extra-product-options .cpf-type-checkbox ul.tmcp-ul-wrap:not(.fullwidth-ul) li.tmcp-field-wrap .tmcp-field-wrap-inner {
    width: auto;
}

.tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap .tmcp-field-wrap-inner .tc-price-wrap {
    justify-self: flex-end;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap {
    padding: 0;
    margin: 0;
}

.tc-epo-element-product-li-container {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap:last-child {
    margin: 0;
}

.tc-totals-form {
    clear: both;
    display: none;
    width: 100%;
}

.tc-totals-form.tc-show {
    display: block;
}

.tm-epo-totals {
    clear: both;
    padding-bottom: 1em;
    padding-top: 1em;
}

.tm-epo-totals:empty {
    display: none;
}

.tc-epo-totals.hidden,
.tc-extra-product-options.hidden {
    display: none;
}

html .tc-extra-product-options .tc-hidden.tc-cell,
.tc-hidden,
.tm-hidden,
.tm-extra-product-options .tc-mode-text .tc-input-wrap,
.tm-extra-product-options .tc-mode-color .tc-input-wrap,
.tm-extra-product-options .tc-mode-images .tc-input-wrap,
.tm-extra-product-options .tc-mode-color input.use_images,
.tm-extra-product-options .tc-mode-images input.use_images {
    display: none !important;
}

.tm-box,
.tm-collapse {
    border: 1px solid rgba(0, 0, 0, 0.035);
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.01)), color-stop(50%, rgba(0, 0, 0, 0.01)), color-stop(50%, rgba(0, 0, 0, 0.02)), to(rgba(0, 0, 0, 0.01)));
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.01) 0%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.02) 50%, rgba(0, 0, 0, 0.01) 100%);
    margin: 0;
    width: 100%;
    max-width: 100%;
}

.tm-box {
    padding: var(--tcgap);
}

.tm-collapse {
    padding: 0;
}

.tm-extra-product-options .cpf-section.tc-cell.tm-owl-slider-section .tm-box .tc-row {
    padding-bottom: var(--tcgap);
}

.tm-arrow {
    cursor: pointer;
    height: 1em;
    text-align: center;
    width: 1em;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-ordinal-group: 101;
    -ms-flex-order: 100;
    order: 100;
}

.tm-extra-product-options .tc-epo-label .tm-arrow {
    margin-left: auto;
}

.tm-toggle {
    padding-right: 2em;
    position: relative;
    cursor: pointer;
}

.tm-collapse .tm-toggle {
    clear: both;
}

.tc-row.tm-collapse {
    gap: 0;
}

.tm-collapse>.tc-cell {
    margin-bottom: 0;
}

.tm-collapse-wrap {
    float: left;
    padding: calc(var(--tcgaprow) / 2) var(--tcgapcolumn);
    overflow: visible;
    width: 100%;
}

.tc-totals-form dl.tm-extra-product-options-totals {
    margin-left: 0;
    margin-right: 0;
}

dl.tm-extra-product-options-totals {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    line-height: 1.5;
}

dl.tm-extra-product-options-totals dt,
dl.tm-extra-product-options-totals dd {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    max-width: 100%;
    width: auto;
    text-align: unset;
    display: initial;
    border: 0;
    padding: 0;
}

dl.tm-extra-product-options-totals dd {
    padding-bottom: var(--tcinnergaprow);
}

.tm-extra-product-options .tm-box .tm-section-label,
.tm-extra-product-options .tm-collapse .tm-section-label,
.tm-extra-product-options .tm-box .tc-epo-label.tm-section-label,
.tm-extra-product-options .tm-collapse .tc-epo-label.tm-section-label {
    margin: 0;
    position: relative;
    border: 0;
    outline: 0;
    width: 100%;
}

.tm-extra-product-options .tm-collapse .tm-section-label,
.tm-extra-product-options .tm-collapse .tc-epo-label.tm-section-label {
    padding: calc(var(--tcgaprow) / 2) var(--tcgapcolumn);
}

.tm-extra-product-options .tm-collapse .tm-section-description {
    padding: calc(var(--tcgaprow) / 2) var(--tcgapcolumn);
}

.tm-extra-product-options .tm-toggle.tm-section-label:focus {
    outline: 2px solid;
}

.tc-styled-variations {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    max-width: 100%;
}

/* 3. Elements */

/* Required indicator */

.tm-epo-required {
    color: #f00;
}

.tmcp-field-wrap .tm-epo-required {
    position: static;
    left: auto;
    top: auto;
}

/* Element containers and labels */

label.tm-epo-field-label {
    -ms-flex-item-align: center;
    align-self: center;
    margin: 0;
}

.tc-epo-element-product-thumbnailmultiple label.tm-epo-field-label,
.tc-epo-element-product-thumbnail label.tm-epo-field-label,
.tc-mode-images label.tm-epo-field-label,
.tc-mode-color label.tm-epo-field-label {
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.tc-left,
.tc-above,
.tc-top {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.tc-right,
.tc-below,
.tc-bottom {
    -webkit-box-ordinal-group: 100;
    -ms-flex-order: 99;
    order: 99;
}

.tc-first {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
}

.tm-extra-product-options ul.tm-extra-product-options-fields li::before,
.tm-extra-product-options ul.tm-extra-product-options-fields li::after,
.tm-extra-product-options ul.tmcp-ul-wrap li::before,
.tm-extra-product-options ul.tmcp-ul-wrap li::after {
    display: none;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-checkbox li.tmcp-field-wrap label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-radio li.tmcp-field-wrap label {
    margin: 0;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-checkbox li.tmcp-field-wrap .tm-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-radio li.tmcp-field-wrap .tm-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-variations li.tmcp-field-wrap .tm-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-product li.tmcp-field-wrap.tc-epo-element-product-radio .tm-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-product li.tmcp-field-wrap.tc-epo-element-product-checkbox .tm-label {
    padding: 0 !important;
    margin: 0 !important;
    display: inline !important;
    vertical-align: middle;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-checkbox li.tmcp-field-wrap .tm-label.tc-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-radio li.tmcp-field-wrap .tm-label.tc-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-variations li.tmcp-field-wrap .tm-label.tc-label {
    vertical-align: initial;
    -ms-flex-item-align: center;
    align-self: center;
}

.tc-label-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    max-width: 100%;
    gap: 0 var(--tcinnergapcolumn);
}

.fullwidth-ul .tc-label-inner:not(.tc-mode-text .tc-label-inner) {
    display: grid;
    grid-template-columns: auto auto 1fr;
}

.fullwidth-ul .tc-label-inner.desc-inline:not(.tc-mode-text .tc-label-inner),
.fullwidth-ul .tc-label-inner.no-desc:not(.tc-mode-text .tc-label-inner) {
    grid-template-columns: auto 1fr;
}

.tc-mode-text .tc-label-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.tc-mode-color .tc-label-inner:not(.tc-mode-text .tc-label-inner),
.tc-mode-images .tc-label-inner:not(.tc-mode-text .tc-label-inner) {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.fullwidth-ul .tc-mode-color .tc-label-inner:not(.tc-mode-text .tc-label-inner),
.fullwidth-ul .tc-mode-images .tc-label-inner:not(.tc-mode-text .tc-label-inner) {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: var(--tcinnergaprow) 0;
}

.tc-mode-color .radio-image-label,
.tc-mode-images .radio-image-label,
.tc-mode-color .checkbox-image-label,
.tc-mode-images .checkbox-image-label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: var(--tcinnergap);
}

.tc-label-text {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    max-width: 100%;
    gap: 0 var(--tcinnergapcolumn);
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-checkbox li.tmcp-field-wrap .tm-label:empty,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-radio li.tmcp-field-wrap .tm-label:empty,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-variations li.tmcp-field-wrap .tm-label:empty {
    padding: 0 !important;
}

.tm-extra-product-options .tm-extra-product-options-field {
    clear: both;
    padding: 0;
}

.tm-extra-product-options .tm-extra-product-options-field.tc-normal-mode {
    margin: 0 0 1em;
}

.tm-extra-product-options .tc-active .tc-label-text,
.tm-extra-product-options li.tmcp-field-wrap.tc-active .price.tc-price .amount,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-radio li.tmcp-field-wrap label input[type="radio"]:checked~.tc-label,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-extra-product-options-checkbox li.tmcp-field-wrap label input[type="checkbox"]:checked~.tc-label {
    font-weight: 700;
    background: none !important;
}

.tc-extra-product-options .tmcp-field-wrap label,
.tm-epo-variation-section .tmhexcolorimage-li-nowh label,
.tm-epo-variation-section .tmhexcolorimage-li label {
    padding: 0;
    float: none;
    max-width: 100%;
    width: auto;
    overflow-wrap: break-word;
}

.tm-extra-product-options .tmcp-field-wrap label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 100%;
    min-width: 0;
    /* So that select boxes don't overflow. */
    gap: var(--tcinnergap);
}

.tm-extra-product-options .tmcp-field-wrap label:not(.fullwidth) {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
}

.tm-extra-product-options .cpf-type-variations .tmcp-field-wrap label.fullwidth select,
.tc-extra-product-options .cpf-type-product .tmcp-field-wrap label.fullwidth select,
/* For custom select box wrappers */

.tc-extra-product-options .cpf-type-select .tmcp-field-wrap label.fullwidth select,
.tc-extra-product-options .cpf-type-select .tmcp-field-wrap label.fullwidth>*,
.tc-extra-product-options .cpf-type-selectmultiple .tmcp-field-wrap label.fullwidth select,
.tc-extra-product-options .cpf-type-time .tmcp-field-wrap label.fullwidth .tm-epo-field,
.tc-extra-product-options .cpf-type-date .tmcp-field-wrap label.fullwidth .tm-epo-field,
.tc-extra-product-options .cpf-type-textfield .tmcp-field-wrap label.fullwidth .tm-epo-field {
    width: 100%;
}

.tc-extra-product-options .cpf-type-textarea .tmcp-field-wrap label.fullwidth .tm-epo-field {
    width: 100% !important;
    /* Disable user manually changing width. */
}

.tm-extra-product-options .tc-images-container .tmcp-field-wrap label,
.tm-extra-product-options .tc-colors-container .tmcp-field-wrap label,
.tm-epo-variation-section .tmhexcolorimage-li-nowh label,
.tm-epo-variation-section .tmhexcolorimage-li label {
    cursor: pointer;
    width: 100%;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tc-colors-container li.tmcp-field-wrap.tc-mode-startcolor,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap.tc-mode-startimages,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap.tc-mode-startcolor {
    text-align: initial;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tc-colors-container li.tmcp-field-wrap.tc-mode-endcolor,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap.tc-mode-endcolor,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap.tc-mode-endimages {
    text-align: initial;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tc-colors-container li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tc-colors-container li.tmcp-field-wrap.tc-mode-color .tc-field-label-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap.tc-mode-images .tc-field-label-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tc-images-container li.tmcp-field-wrap.tc-mode-color .tc-field-label-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: var(--tcinnergap);
}

/* Divider element */

.tm-extra-product-options .tc-cell hr {
    margin: var(--tcgaprow) 0;
}

.tm-extra-product-options .tm_divider {
    border-style: solid;
    border-width: 1px;
    margin: var(--tcgaprow) 0;
    clear: both;
}

.tm-extra-product-options .cpf-element .tm_divider.tc-cell {
    margin: var(--tcgaprow) 0;
}

.tm-extra-product-options .tm_padding {
    padding: var(--tcgaprow) 0;
}

.tm-extra-product-options .cpf-element .tm_padding.tc-cell {
    margin-left: var(--tcgapcolumn);
    margin-right: var(--tcgapcolumn);
}

/* Textarea element */

.tm-extra-product-options textarea.tm-epo-field {
    height: auto;
    width: 100%;
    max-width: 100%;
}

/* Textfield element */

.tm-extra-product-options .tmcp-textfield.tm-epo-field {
    width: auto;
    max-width: 100%;
}

/* Checkboxes and radio button elements */

.tm-extra-product-options .tm-epo-field.tmcp-checkbox,
.tm-extra-product-options .tm-epo-field.tmcp-radio {
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle;
    position: relative;
    width: auto;
    float: none;
    top: 1px;
}

.tm-extra-product-options .tc-epo-label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    float: none;
    width: 100%;
    margin-bottom: 0;
    gap: var(--tcinnergap);
}

.tm-extra-product-options .tc-epo-label.tm-section-label {
    margin: 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.tc-section-label-text {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.float-editbox .section_popup .tm-section-label {
    display: none;
}

/* Select box element */

.tm-epo-field.tmcp-select {
    width: 100%;
    max-width: 100%;
    display: initial;
}

.tc-repeater-element .tm-epo-field.tmcp-select,
.tc-repeater-element .tm-epo-field.tmcp-selectmultiple {
    width: 100%;
}

/* Upload element */

.tm-extra-product-options input.tm-epo-field.tmcp-upload {
    width: 100%;
    font-size: inherit;
}

.tc-extra-product-options .tmcp-field-wrap .cpf-upload-text {
    width: 100%;
    display: inline-block;
    text-align: center;
}

.tc-upload-preview {
    display: grid;
    margin: 1em 0;
    width: 100%;
    gap: 1em;
    grid-template-columns: minmax(100px, -webkit-max-content);
    grid-template-columns: minmax(100px, max-content);
    grid-template-rows: 1fr;
}

.tc-upload-preview:empty {
    display: none;
}

.tc-upload-preview.multiple {
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
}

.tc-upload-file {
    border-radius: 5px;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin: 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.tc-upload-preview.multiple .tc-upload-file {
    max-height: 100%;
    min-height: 100px;
}

.tc-upload-image {
    position: relative;
    border: 1px solid;
    padding: 2%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.7);
    min-width: 100%;
    min-height: 100px;
}

.tc-upload-preview.multiple .tc-upload-image {
    min-height: 100%;
}

.woocommerce .tc-upload-preview img {
    height: auto;
    max-width: 100%;
    width: auto;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.woocommerce .tc-upload-preview.multiple img {
    height: 96%;
    width: 96%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
    max-height: 100%;
    position: absolute;
}

.tc-file-size {
    position: absolute;
    color: #fff;
    font-size: 0.625em;
    top: calc(2% + 0.5078125em);
    left: calc(2% + 0.5078125em);
    background: rgba(0, 0, 0, 0.5);
    padding: 0 3px;
    z-index: 1;
}

.tc-file-ext-overlay {
    background: rgba(0, 0, 0, 0.2);
    width: 96%;
    height: 96%;
    position: absolute;
    border-radius: 5px 12px 5px 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    left: 2%;
    top: 2%;
}

.tc-file-ext {
    position: absolute;
    padding: 2px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    min-width: 30%;
    text-align: center;
    text-transform: uppercase;
    font-size: 0.825em;
}

.tc-file-name {
    max-width: 94%;
    position: absolute;
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
    bottom: 0;
    font-size: 0.625em;
    padding: 0.25em 0.5em;
    text-overflow: ellipsis;
    overflow: hidden;
    max-height: 2em;
    line-height: 2;
}

.tc-upload-remove {
    cursor: pointer;
    position: absolute;
    right: 2%;
    top: 2%;
    font-size: 1em;
    width: 1.625em;
    height: 1.625em;
    font-family: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    color: #fff;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.5);
    background-image: none;
    -webkit-box-shadow: 0 0 0 0 hsl(0deg 0% 100% / 0%);
    box-shadow: 0 0 0 0 hsl(0deg 0% 100% / 0%);
    z-index: 2;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.tc-upload-remove:hover,
.tc-upload-remove:focus {
    -webkit-box-shadow: 0 0 0 0.125em rgb(255 255 255 / 90%);
    box-shadow: 0 0 0 0.125em rgb(255 255 255 / 90%);
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
}

.tc-upload-remove svg {
    width: 100%;
    height: 100%;
    font-size: inherit;
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
    line-height: inherit;
}

.cpf-upload-container-basic,
.cpf-upload-container {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.tc-max-file-size {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
}

.tc-extra-product-options .tmcp-field-wrap label.cpf-upload-container-basic .cpf-upload-wrap {
    display: block !important;
    position: relative;
    vertical-align: middle;
    cursor: pointer;
}

.tc-extra-product-options .tmcp-field-wrap label.cpf-upload-container .cpf-upload-wrap {
    border: 1px solid;
    display: block !important;
    font-size: 1em;
    height: auto;
    overflow: hidden;
    padding: 0.5em 1em;
    position: relative;
    vertical-align: middle;
    margin: 0 0.5em 0 0;
    cursor: pointer;
}

.cpf-upload-container [type="file"] {
    cursor: inherit;
    display: block;
    font-size: 0.01px;
    min-height: 100%;
    min-width: 100%;
    opacity: 0;
    position: absolute;
    right: 0;
    text-align: right;
    top: 0;
}

.cpf-upload-container+small::before,
.cpf-upload-container-basic+small::before {
    content: "";
    display: block;
}

.tm-filename {
    display: block;
    -ms-flex-item-align: center;
    align-self: center;
}

.tm-filename:empty {
    display: none;
}

.tc-upload-messages {
    padding: var(--tcgaprow) 0;
}

.tc-upload-message {
    font-size: 1.2em;
    margin-bottom: var(--tcgap);
}

/* Range picker element */

.tm-extra-product-options .cpf-type-range .tc-epo-label {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.tmcp-ul-wrap.tmcp-elements.tm-extra-product-options-range {
    clear: both;
    position: relative;
}

.tm-range-picker {
    margin: 1em 14px;
    max-width: 100%;
    width: auto;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
}

.tm-range-picker.noui-show-tooltip {
    margin: calc(1em + 22px) 14px;
}

.tm-range-picker.pips,
.tm-range-picker.noui-show-tooltip.pips {
    margin: calc(50px - 1em) 14px 50px 14px;
}

.tm-range-picker .noui-tooltip {
    line-height: 1;
    font-size: 10px;
}

.tc-extra-product-options .tm-show-picker-left,
.tc-extra-product-options .tm-show-picker-tleft,
.tc-extra-product-options .tm-show-picker-right,
.tc-extra-product-options .tm-show-picker-tright {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
}

.tc-extra-product-options .tm-show-picker-left .tm-range-picker,
.tc-extra-product-options .tm-show-picker-tleft .tm-range-picker,
.tc-extra-product-options .tm-show-picker-right .tm-range-picker,
.tc-extra-product-options .tm-show-picker-tright .tm-range-picker {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.tc-extra-product-options .tm-show-picker-left .tm-show-picker-value,
.tc-extra-product-options .tm-show-picker-tleft .tm-show-picker-value,
.tc-extra-product-options .tm-show-picker-right .tm-show-picker-value,
.tc-extra-product-options .tm-show-picker-tright .tm-show-picker-value {
    position: relative;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    border: 1px solid;
    border-radius: 5px;
    padding: 0 1em;
    display: inline-block;
    max-width: 20%;
    min-width: 4em;
    text-align: center;
    line-height: normal;
}

.tc-extra-product-options .tm-show-picker-left .tm-show-picker-value,
.tc-extra-product-options .tm-show-picker-tleft .tm-show-picker-value {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
}

.tc-extra-product-options .tm-show-picker-left .tc-price-wrap,
.tc-extra-product-options .tm-show-picker-tleft .tc-price-wrap,
.tc-extra-product-options .tm-show-picker-right .tc-price-wrap,
.tc-extra-product-options .tm-show-picker-tright .tc-price-wrap {
    -webkit-box-ordinal-group: 10;
    -ms-flex-order: 9;
    order: 9;
}

.tm-extra-product-options .tmcp-ul-wrap.tmcp-elements.tm-extra-product-options-range .tm-range-picker-value {
    display: inline-block;
    float: right;
    margin-left: 0;
    margin-top: -3px;
    position: absolute;
    right: 0;
    text-align: center;
    top: 1em;
    vertical-align: top;
    width: 19%;
}

input.tm-show-picker-value-edit {
    max-width: 100%;
    width: 4em;
    text-align: center;
    padding: 0;
    border: 1px solid;
    margin: 0;
}

.tm-show-picker-value-edit-wrap {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.tc-extra-product-options .tm-show-picker-left .tm-show-picker-value-edit-wrap,
.tc-extra-product-options .tm-show-picker-tleft .tm-show-picker-value-edit-wrap,
.tc-extra-product-options .tm-show-picker-right .tm-show-picker-value-edit-wrap,
.tc-extra-product-options .tm-show-picker-tright .tm-show-picker-value-edit-wrap {
    max-width: 20%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    position: relative;
    text-align: center;
    top: 0;
    font-size: 0.8em;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    -ms-flex-item-align: center;
    align-self: center;
}

.tc-extra-product-options .tm-show-picker-left .tm-show-picker-value-edit-wrap,
.tc-extra-product-options .tm-show-picker-tleft .tm-show-picker-value-edit-wrap {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
}

/* Variation element */

.tm-extra-product-options .tc-epo-label.tm-has-undo-button {
    padding-right: 2em;
}

.tm-epo-reset-variation,
.tm-extra-product-options .tm-epo-reset-radio {
    text-align: center;
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
    width: 1em;
    height: 1em;
    line-height: 1;
    padding: 0.2em;
    border: 2px solid;
    color: inherit;
    -webkit-box-sizing: content-box !important;
    box-sizing: content-box !important;
    background: rgba(255, 255, 255, 0.8);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 10000;
}

.round .tm-epo-reset-variation,
.round .tm-epo-reset-radio {
    border-radius: 5px;
}

.square .tm-epo-reset-variation,
.square .tm-epo-reset-radio {
    border-radius: 0;
}

.circle .tm-epo-reset-variation,
.circle .tm-epo-reset-radio {
    border-radius: 100%;
}

.thinline .tm-epo-reset-variation,
.thinline .tm-epo-reset-radio {
    border-width: 1px;
    border-radius: 0;
}

.shadow .tm-epo-reset-variation,
.shadow .tm-epo-reset-radio {
    border-width: 1px;
    border-radius: 0;
}

.tm-epo-reset-variation .tcfa,
.tm-epo-reset-radio .tcfa {
    font-size: 0.8em;
    position: relative;
}

.tm-epo-variation-section .reset_variations {
    clear: both;
    display: block;
    width: 100%;
    position: static;
    visibility: hidden;
}

/* Element prices */

.tm-extra-product-options .tmcp-field-wrap .tc-price {
    font-size: 1em !important;
    width: auto !important;
    display: inline-block !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tc-extra-product-options .tmcp-field-wrap .price.tc-price,
.after-amount,
.before-amount {
    font-size: 1em !important;
    background: none !important;
}

.tc-extra-product-options .tmcp-field-wrap .price.tc-price .amount {
    font-size: 1em !important;
    display: inline !important;
    background: none !important;
    white-space: nowrap;
}

.tm-extra-product-options .tmcp-field-wrap .tc-chars+.tc-price .amount {
    margin-left: 0;
}

.tm-extra-product-options .tc-images-container .tmcp-field-wrap .amount {
    margin-left: 0;
}

.tm-extra-product-options .amount.hidden,
.tm-extra-product-options .tmcp-field-wrap .price.amount.hidden,
.tm-extra-product-options .tmcp-field-wrap .tc-price.hidden,
.tm-extra-product-options .before-amount.hidden,
.tm-extra-product-options .after-amount.hidden,
.tm-extra-product-options .tmperiod.hidden {
    display: none !important;
}

.tm-extra-product-options .cpf-type-textarea .tmcp-field-wrap .amount,
.tm-extra-product-options .cpf-type-textfield .tmcp-field-wrap .amount {
    margin-left: 0;
}

/* Final Totals box */

.tm-extra-product-options-totals .price.amount.options,
.tm-extra-product-options-totals .price.amount.fees,
.tm-extra-product-options-totals .price.amount.subscription-fee {
    font-size: 1.25em;
}

.tm-extra-product-options-totals .amount {
    background: none;
}

.tm-extra-product-options-totals .amount.options,
.tm-extra-product-options-totals .amount.fees,
.tm-extra-product-options-totals .amount.subscription-fee {
    font-weight: 700;
}

.tm-extra-product-options-totals .amount.final {
    font-size: 1.5em;
    font-weight: 700;
}

.tm-extra-product-options-totals .price.amount {
    display: inline-block !important;
    width: auto;
    margin: 0;
}

.tm-unit-price,
.tm-fee-totals,
.tm-final-totals,
.tm-options-totals,
.tm-subscription-fee {
    padding: 0;
    margin: 0;
    border: 0 none;
    float: none;
}

.tm-extra-product-options .tmcp-field-wrap .tc-price del {
    font-size: 75% !important;
    margin: 0 !important;
}

.tm-extra-product-options .tmcp-field-wrap .price:empty {
    display: none !important;
}

/* Quantity selector */

.tc-quantity-right .tm-quantity,
.tc-quantity-left .tm-quantity {
    -ms-flex-item-align: center;
    align-self: center;
}

.tm-extra-product-options .cpf-type-checkbox .tc-quantity-right .tm-quantity,
.tm-extra-product-options .cpf-type-checkbox .tc-quantity-left .tm-quantity,
.tm-extra-product-options .cpf-type-radio .tc-quantity-right .tm-quantity,
.tm-extra-product-options .cpf-type-radio .tc-quantity-left .tm-quantity {
    -ms-flex-item-align: unset;
    align-self: unset;
}

.cpf-type-textfield .tc-quantity-right .tm-quantity,
.cpf-type-textfield .tc-quantity-left .tm-quantity {
    -ms-flex-item-align: initial;
    align-self: initial;
}

.tc-quantity-wrapper {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
}

.tc-row.tc-quantity-right,
.tc-row.tc-quantity-left {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.tc-quantity-right .tm-quantity,
.tc-quantity-bottom .tm-quantity {
    -webkit-box-ordinal-group: 100;
    -ms-flex-order: 99;
    order: 99;
}

.tc-quantity-left .tm-quantity,
.tc-quantity-top .tm-quantity {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
}

.tm-extra-product-options ul.tmcp-ul-wrap .tc-row.tc-quantity-top,
.tm-extra-product-options ul.tmcp-ul-wrap .tc-row.tc-quantity-bottom {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.tc-row.tc-quantity-top .tm-quantity,
.tc-row.tc-quantity-bottom .tm-quantity {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

.tm-quantity {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.tm-extra-product-options-radio .tm-quantity,
.tm-extra-product-options-checkbox .tm-quantity {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.tm-quantity input.tm-qty {
    margin: 0;
    max-width: 100%;
    min-width: 3em;
    width: 4em;
    text-align: center;
    padding: 0.25em;
    line-height: 1;
}

.tm-quantity-alt input.tm-qty-alt {
    margin: 0;
    max-width: 100%;
    min-width: 50px;
    text-align: center;
    width: 5em !important;
    font-size: 100%;
    display: inline-block !important;
    padding: 0.358em 1em;
}

.tc-extra-product-options .cpf-type-product .tc-epo-element-product-li-container .tc-epo-element-product-container .single_add_to_cart_product,
.single_add_to_cart_product {
    vertical-align: baseline;
    float: none;
}

.tc-row.tc-quantity-right .tc-cell,
.tc-row.tc-quantity-left .tc-cell,
.tm-quantity.tm-bottom {
    margin-bottom: 0;
}

/* Description */

.tm-description p:last-child {
    margin-bottom: 0 !important;
}

.tm-description {
    clear: both;
}

.tm-section-description {
    margin: 0;
}

/* 4. Floatbox */

.fl-overlay {
    background: #f5f5f5;
    position: fixed;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 101000;
}

.flasho {
    background: #fff;
    color: #000;
    border: 1px solid #fff;
    left: 0;
    position: absolute;
    top: 0;
    z-index: 101001;
    -webkit-box-shadow: 0 0 1px 4px rgba(0, 0, 0, 0.1), 0 0 50px 13px rgba(0, 0, 255, 0.05);
    box-shadow: 0 0 1px 4px rgba(0, 0, 0, 0.1), 0 0 50px 13px rgba(0, 0, 255, 0.05);
    max-height: 100%;
    border-radius: 0;
    max-width: 100%;
    overflow: hidden;
    display: grid;
    grid-template-rows: minmax(1em, auto) minmax(33%, 1fr) minmax(1em, auto);
    gap: var(--tcgaprow) 0;
    padding: var(--tcgap);
}

.float-editbox {
    position: relative;
    overflow: auto;
    overflow-x: hidden;
    overflow-y: auto;
}

.flasho .header {
    line-height: 2;
    width: 100%;
    border-bottom: 1px solid #ecf0f1;
    padding-bottom: var(--tcgaprow);
}

.flasho .header h3 {
    color: #63728b;
    font-size: 22px;
    font-weight: 400;
    line-height: 28px;
    margin: 0;
    letter-spacing: 1px;
}

.flasho .footer {
    margin: 0;
    padding: 0;
    text-align: right;
}

.flasho .footer .inner {
    border-top: 1px solid #ecf0f1;
    padding-top: var(--tcgaprow);
}

.tm-section-pop {
    display: none;
}

.tm-section-pop-up {
    height: 80%;
    left: 10% !important;
    position: fixed !important;
    top: 10% !important;
    width: 80%;
}

#tm-section-pop-up>.tc-epo-label.tm-section-label {
    display: none;
}

.tm-section-pop-up.single .tc-cell.section_popup {
    width: 100% !important;
    max-width: 100%;
    --flex-items: 1 !important;
}

.tm-section-pop-up.single .tc-cell.section_popup .tm-section-pop {
    padding-top: 1em;
    padding-bottom: 1em;
}

.tm-extra-product-options.tm-section-pop-up.single .footer .inner .tm-button.button.button-secondary.button-large.floatbox-cancel,
.tc-extra-product-options .tm-section-pop-up.single .footer .inner .tm-button.button.button-secondary.button-large.floatbox-cancel {
    float: none;
}

.noanimated {
    -webkit-animation-fill-mode: none !important;
    animation-fill-mode: none !important;
    opacity: 1 !important;
    z-index: auto !important;
    position: static !important;
    -webkit-transform: none !important;
    transform: none !important;
}

/* 5. Floating totals box */

.tm-floating-box {
    width: auto;
    height: auto;
    padding: 1em;
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.99);
    z-index: 99999;
    max-height: 100%;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 20vw;
    gap: var(--tcgap);
    line-height: normal;
    border: 2px solid rgba(0, 0, 0, 0.05);
}

.tm-floating-box .tc-row,
.tm-floating-box .tm-extra-product-options-totals {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    max-width: 100%;
}

.tm-floating-box.right {
    left: auto;
    right: 0;
}

.tm-floating-box.left {
    right: auto;
    left: 0;
}

.tm-floating-box.bottom {
    bottom: 0;
    top: auto;
}

.tm-floating-box.top {
    top: 0;
    bottom: auto;
}

.tm-fb {
    font-size: 12px;
    line-height: 18px;
    max-height: 200px;
    max-width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 0;
}

.tm-fb dt {
    margin: 0;
    padding: 0;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
}

.tm-fb dd {
    margin: 0 0 var(--tcinnergaprow) 0;
    padding: 0;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
}

.tm-fb-title {
    font-weight: 700;
}

.tm-fb-value {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: var(--tcinnergap);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.tm-fb-value>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
}

.tm-floating-box-alt .tm-floating-box {
    background: none;
    padding: 0;
    position: static;
    max-width: 100%;
    border: 0;
}

.tm-floating-box-nks .tm-floating-box {
    bottom: 0 !important;
    left: 0 !important;
    padding: 5%;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    width: 100%;
}

.tm-floating-box-nks .tm-fb {
    max-height: 90% !important;
    max-width: 90% !important;
}

.tc-row.tm-fb-labels {
    border-bottom: 1px solid;
    font-weight: 700;
    margin-bottom: 1.65em;
    padding: 0 0 1em 0;
}

.tc-row.tm-fb-labels .tm-fb-price,
.tc-row.tm-fb-data .tm-fb-price {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.tc-row.tm-fb-labels .tm-fb-quantity,
.tc-row.tm-fb-data .tm-fb-quantity {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.tc-img-floating .tmhexcolorimage.tc-center .tc-image,
.tc-img-floating .tc-image {
    max-width: calc(var(--tcinlinesize) * 2) !important;
    margin: 0;
    max-height: calc(var(--tcinlinesize) * 2) !important;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.tc-img-floating .tmhexcolorimage.tc-center .tc-image {
    padding-top: calc((var(--tcinlinesize) * 2) - (2px * 2)) !important;
}

.tc-img-floating .tm-transparent-swatch .tc-image {
    border-style: dotted;
    border-color: inherit;
}

/* 6. Validation errors */

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap label.tm-error,
.tm-extra-product-options ul.tmcp-ul-wrap+.tm-error,
.tm-extra-product-options .tc-element-container>.tm-error {
    color: #f00;
    display: block !important;
    font-size: 80%;
    font-weight: 700;
    padding: 0 !important;
    margin: 1em 0 !important;
}

.tm-extra-product-options .tc-cell.tm-error {
    color: #f00;
    display: block;
    font-size: 80%;
    font-weight: 700;
    margin: 1em 0 !important;
}

.tm-epo-field.tmcp-textfield.tm-error,
.tm-epo-field.tmcp-textarea.tm-error {
    border: 1px solid #c0392b;
    color: #e74c3c;
    outline: 0;
}

/* 7. Lightbox */

.tc-transition {
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

.tc-lightbox {
    background: rgba(0, 0, 0, 0.5) none repeat scroll 0 0;
    height: auto !important;
    left: 50% !important;
    max-height: 100% !important;
    max-width: 100% !important;
    position: fixed;
    text-align: center;
    top: 50% !important;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    width: auto !important;
    z-index: 100100;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    display: block;
    padding: 0;
}

.tc-lightbox-image-wrap {
    position: relative;
}

.tc-lightbox-wrap {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 1em;
    height: 1em;
    left: auto;
    top: auto;
    font-size: 1.5em;
}

.tc-lightbox-button {
    background: rgba(0, 0, 0, 0.2) none repeat scroll 0 0;
    top: 0;
    color: #fff;
    font-size: 1em !important;
    padding: 0;
    position: absolute;
    right: 0;
    z-index: 2;
    opacity: 0.5;
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
    margin: auto;
    bottom: 0;
    left: 0;
}

.circle .tc-lightbox-button {
    border-radius: 100%;
}

.round .tc-lightbox-button {
    border-radius: 5px;
}

.tc-lightbox-wrap:hover .tc-lightbox-button {
    opacity: 1;
}

.tc-lightbox img {
    border: 0 none;
    cursor: -webkit-zoom-out;
    cursor: zoom-out;
    display: block;
    height: auto;
    line-height: 0;
    margin: 0;
    padding: 0;
    position: relative;
    width: auto;
}

.tc-lightbox-button-close {
    background: rgba(255, 255, 255, 0.3) none repeat scroll 0 0;
    color: #000 !important;
    float: left;
    height: 2em;
    line-height: 2;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 2em;
    z-index: 2;
    cursor: pointer;
}

@-webkit-keyframes tc-lightbox-zoomin {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-50%) translateY(-50%) scale(0.3);
        transform: translateX(-50%) translateY(-50%) scale(0.3);
    }
    50% {
        opacity: 1;
    }
}

@keyframes tc-lightbox-zoomin {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-50%) translateY(-50%) scale(0.3);
        transform: translateX(-50%) translateY(-50%) scale(0.3);
    }
    50% {
        opacity: 1;
    }
}

.tc-lightbox-zoomin {
    -webkit-animation-name: tc-lightbox-zoomin;
    animation-name: tc-lightbox-zoomin;
}

@-webkit-keyframes tc-lightbox-zoomout {
    0% {
        opacity: 1;
        -webkit-transform: translateX(-50%) translateY(-50%) scale(1);
        transform: translateX(-50%) translateY(-50%) scale(1);
    }
    50% {
        opacity: 0;
        -webkit-transform: translateX(-50%) translateY(-50%) scale(0.3);
        transform: translateX(-50%) translateY(-50%) scale(0.3);
    }
    100% {
        opacity: 0;
    }
}

@keyframes tc-lightbox-zoomout {
    0% {
        opacity: 1;
        -webkit-transform: translateX(-50%) translateY(-50%) scale(1);
        transform: translateX(-50%) translateY(-50%) scale(1);
    }
    50% {
        opacity: 0;
        -webkit-transform: translateX(-50%) translateY(-50%) scale(0.3);
        transform: translateX(-50%) translateY(-50%) scale(0.3);
    }
    100% {
        opacity: 0;
    }
}

.tc-lightbox-zoomout {
    -webkit-animation-name: tc-lightbox-zoomout;
    animation-name: tc-lightbox-zoomout;
}

/* 8. Datepicker and Timepicker*/

.tm-static {
    position: static;
}

.tmcp-date-select {
    max-width: 100%;
}

.tm-epo-field.tmcp-date {
    min-height: 2.5em !important;
    height: auto;
}

.tc-extra-product-options .cpf-type-date .tmcp-field-wrap label:not(.fullwidth) .tm-epo-field.tmcp-date {
    width: auto !important;
}

.tm-epo-datepicker-label-container,
.tm-epo-timepicker-label-container {
    display: inline-block !important;
    vertical-align: baseline;
    position: relative;
    max-width: 100%;
}

.tm-extra-product-options .tm-epo-datepicker,
.tm-extra-product-options .tm-epo-timepicker {
    display: inline-block !important;
    line-height: normal !important;
    margin: 0 !important;
    max-width: 100% !important;
    padding-right: 2.5em !important;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.tc-epo-label.tc-left+.tc-element-container .tm-epo-datepicker-label-container,
.tc-epo-label.tc-right+.tc-element-container .tm-epo-datepicker-label-container {
    margin-top: 0;
}

/* datepicker skin */

.tm-extra-product-options .tm-extra-product-options-date .ui-tm-datepicker-trigger,
.tm-extra-product-options .tm-extra-product-options-time .ui-tm-datepicker-trigger {
    font-family: tc-fontawesome, sans-serif !important;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
    background: transparent none repeat scroll 0 0 !important;
    border-width: 0;
    color: inherit !important;
    cursor: pointer;
    display: inline-block;
    font-size: inherit !important;
    line-height: inherit !important;
    margin: 0;
    padding: 0 !important;
    position: absolute;
    right: 0;
    top: 0;
    height: 100% !important;
}

.tm-extra-product-options .tm-extra-product-options-date .ui-tm-datepicker-trigger:hover,
.tm-extra-product-options .tm-extra-product-options-date .ui-tm-datepicker-trigger:active,
.tm-extra-product-options .tm-extra-product-options-date .ui-tm-datepicker-trigger:focus,
.tm-extra-product-options .tm-extra-product-options-time .ui-tm-datepicker-trigger:hover,
.tm-extra-product-options .tm-extra-product-options-time .ui-tm-datepicker-trigger:active,
.tm-extra-product-options .tm-extra-product-options-time .ui-tm-datepicker-trigger:focus {
    background: none repeat scroll 0 0 transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.tm-extra-product-options .tm-extra-product-options-date .ui-tm-datepicker-trigger::before {
    content: "\f073";
    padding: calc(0.75em - 2px);
    border-width: 0 0 0 1px;
    border-style: solid;
}

.tm-extra-product-options .tm-extra-product-options-time .ui-tm-datepicker-trigger::before {
    content: "\f017";
    padding: calc(0.75em - 2px);
    border-width: 0 0 0 1px;
    border-style: solid;
}

.tm-datepicker {
    margin: 2px 0 0 0;
    z-index: 101002 !important;
    width: auto !important;
    height: auto !important;
    padding: 0;
}

.tm-datepicker a {
    text-decoration: none;
}

.tm-ui-dp,
.tm-ui-dp-overlay {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.tm-ui-dp-header.ui-widget-header {
    line-height: 2;
    background: none;
    border: 0 none;
    color: inherit;
    font-weight: 700;
}

.tm-ui-dp {
    max-width: 98%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    text-shadow: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.tm-ui-dp:focus {
    outline: 0;
}

.tm-ui-dp-container {
    min-width: 300px;
    overflow: hidden;
    text-align: center;
    font-size: 16px;
}

.tm-datepicker-small .tm-ui-dp-container {
    font-size: 12px;
    min-width: 240px;
}

.tm-datepicker-medium .tm-ui-dp-container {
    font-size: 16px;
    min-width: 330px;
}

.tm-datepicker-large .tm-ui-dp-container {
    font-size: 20px;
    min-width: 400px;
}

.tm-datepicker.tm-datepicker-top .tm-ui-dp-title,
.tm-datepicker.tm-datepicker-bottom .tm-ui-dp-title {
    font-size: 1.125em;
}

.tm-datepicker.tm-datepicker-bottom .tm-ui-dp-container,
.tm-datepicker.tm-datepicker-top .tm-ui-dp-container {
    min-width: 100% !important;
}

.tm-ui-dp-wrap,
.tm-ui-dp-overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.tm-ui-dp-wrap {
    z-index: 99998;
}

.tm-ui-dp-overlay {
    z-index: 1;
    background: rgba(0, 0, 0, 0.7);
}

.tm-datepicker-top .tm-ui-dp,
.tm-datepicker-bottom .tm-ui-dp {
    width: 100%;
    max-width: 100%;
}

.tm-ui-dp-main-cell-inner {
    position: relative;
    height: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tm-ui-dp-main-wrap {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.tm-ui-dp-ui {
    display: inline-block;
    vertical-align: middle;
    width: 100%;
}

.tm-ui-dp-main {
    width: auto;
}

.tm-ui-dp-main table {
    width: 100%;
    height: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    margin: 0;
    background: none;
    border: 0;
}

.tm-ui-dp-main-table {
    height: 100%;
    width: 100%;
    display: table;
    table-layout: fixed;
}

.tm-ui-dp-main-row {
    white-space: nowrap;
    display: table-row;
}

.tm-ui-dp-main-cell {
    line-height: 1.875;
    text-align: center;
    width: 14.2857%;
    height: 16.6666%;
    position: relative;
    display: table-cell;
    vertical-align: middle;
    cursor: pointer;
}

.tm-ui-dp-main-cell.ui-datepicker-unselectable,
.tm-ui-dp-main-cell.ui-state-disabled {
    cursor: default;
}

.tm-ui-dp-main-cell .tm-ui-dp-main-cell-inner {
    overflow: visible;
}

.tm-ui-dp-main-cell-content {
    position: relative;
    z-index: 2;
    padding: 5px;
}

.tm-datepicker .tm-ui-dp-main-wrap {
    padding: 0.5em;
}

.tm-datepicker .tm-ui-dp-main-header th {
    font-size: 0.6875em;
    font-weight: 400;
    line-height: 2.225;
    text-align: center;
    border: 0;
}

.tm-datepicker .tm-ui-dp-main-cell-content {
    font-size: 0.8125em;
}

.tm-ui-dp-inner-container,
.tm-ui-dp-main-wrap,
.tm-ui-dp-main-content {
    position: relative;
}

.tm-datepicker.tm-datepicker-bottom,
.tm-datepicker.tm-datepicker-top {
    bottom: 0 !important;
    height: 100% !important;
    left: 0 !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 none !important;
}

.tm-datepicker.tm-datepicker-bottom .tm-ui-dp {
    bottom: 0;
    top: auto;
}

.tm-datepicker.tm-datepicker-top .tm-ui-dp {
    top: 0;
    bottom: auto;
}

.tm-datepicker .ui-tm-datepicker-prev,
.tm-datepicker .ui-tm-datepicker-next,
.tm-datepicker.tm-datepicker-bottom .ui-tm-datepicker-prev,
.tm-datepicker.tm-datepicker-top .ui-tm-datepicker-prev,
.tm-datepicker.tm-datepicker-bottom .ui-tm-datepicker-next,
.tm-datepicker.tm-datepicker-top .ui-tm-datepicker-next {
    display: none !important;
}

.tm-ui-dp-title {
    position: relative;
    font-size: 1em;
}

.tm-ui-dp-title .tm-ui-dp-month,
.tm-ui-dp-title .tm-ui-dp-year {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 2em;
    white-space: nowrap;
}

.tm-ui-dp-title-button {
    width: 50%;
    display: inline-block;
    white-space: nowrap;
    vertical-align: top;
    position: relative;
    height: 2em;
}

.tm-ui-dp-button-prev {
    left: 0;
}

.tm-ui-dp-button-next {
    right: 0;
}

.tm-ui-dp-button {
    margin: 0;
    position: absolute;
    top: 0;
    width: 2em;
    overflow: hidden;
    display: block;
    text-decoration: none;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: top;
    height: 2em;
    line-height: 2;
    color: #4eccc4;
    text-transform: uppercase;
    padding: 0;
}

.tm-ui-dp-button .tm-ui-dp-button-arrow,
.tm-ui-dp-month,
.tm-ui-dp-year {
    cursor: pointer;
}

.tm-datepicker .tm-ui-dp-button-arrow {
    color: #4eccc4;
    font-size: 1em;
    line-height: 2;
    overflow: hidden;
    width: 2em;
}

.tm-ui-dp-button-arrow::before {
    display: block;
}

.tm-ui-dp-buttonpane {
    display: block;
    overflow: hidden;
    padding: 0 0.5em 0.5em;
    text-align: right;
    width: 100%;
}

.tm-ui-dp-btn-wrap {
    display: block;
    float: right;
    position: relative;
    vertical-align: top;
    z-index: 5;
}

.tm-ui-dp-btn {
    height: 2.5em;
    line-height: 2.5;
    padding: 0 1em;
    text-transform: uppercase;
    cursor: pointer;
    display: block;
    overflow: hidden;
    text-decoration: none;
    text-overflow: ellipsis;
    vertical-align: top;
    white-space: nowrap;
}

.tm-ui-dp-button-disabled {
    opacity: 0.3;
    cursor: default;
}

/* datepicker skins */

/* epo black skin */

.tm-ui-skin-epo-black .tm-ui-dp-container {
    font-family: Helvetica, Arial, sans-serif !important;
    border: 1px solid #000 !important;
    -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);
    background: #000 none repeat scroll 0 0;
    background: rgba(0, 0, 0, 0.9) none repeat scroll 0 0;
    color: #fff;
}

/* normal cell text*/

.tm-ui-skin-epo-black .tm-ui-dp-main-cell .ui-state-default {
    color: #ecf0f1;
}

.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-other-month .ui-state-default {
    color: #777;
}

/* selected day */

.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-current-day,
.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-current-day:hover {
    background-color: #1abc9c;
}

.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-current-day .ui-state-default,
.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-current-day:hover .ui-state-default {
    color: #fff;
}

.tm-ui-skin-epo-black .tm-ui-dp-main-cell:hover {
    background-color: #fff;
}

.tm-ui-skin-epo-black .tm-ui-dp-main-cell:hover .ui-state-default {
    color: #000;
}

/* unselectable cell text*/

.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-unselectable .ui-state-default,
.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-state-disabled .ui-state-default {
    color: #222;
}

/* disabled and unselectable cell*/

.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-datepicker-unselectable,
.tm-ui-skin-epo-black .tm-ui-dp-main-cell.ui-state-disabled {
    background-color: #000;
    background-color: rgba(255, 255, 255, 0.02);
}

.tm-ui-skin-epo-black .tm-ui-dp-btn {
    color: #1abc9c;
}

.tm-ui-skin-epo-black .tm-ui-dp-btn:hover {
    color: #fff;
}

.tm-ui-skin-epo-black .tm-ui-dp-button-arrow,
.tm-ui-skin-epo-black .tm-ui-dp-button-arrow.tm-ui-dp-button-disabled:hover {
    color: #1abc9c;
}

.tm-ui-skin-epo-black .tm-ui-dp-button-arrow:hover {
    color: #fff;
}

.tm-ui-skin-epo-black .tm-ui-dp-main-header {
    color: #1abc9c;
    border-bottom: 1px solid #1abc9c;
}

/* epo white skin */

.tm-ui-skin-epo.tm-datepicker .tm-ui-dp-main-wrap {
    padding: 0;
}

.tm-ui-skin-epo .tm-ui-dp-container {
    font-family: Helvetica, Arial, sans-serif !important;
    border: 1px solid #ddd !important;
    -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);
    background: #fff none repeat scroll 0 0;
    color: #2c3e50;
}

/* normal cell text*/

.tm-ui-skin-epo .tm-ui-dp-main-cell .ui-state-default {
    color: #2c3e50;
    background: none;
    border: 0 none;
}

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-tm-datepicker-other-month .ui-state-default {
    color: #aaa;
}

/* current day cell text*/

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-tm-datepicker-current-day .ui-state-default {
    color: #0a0;
}

/* normal cell text in other month */

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-other-month .ui-state-default {
    color: #95a5a6;
}

/* selected day */

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-current-day,
.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-current-day:hover {
    background-color: #9b59b6;
}

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-current-day .ui-state-default,
.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-current-day:hover .ui-state-default {
    color: #fff;
}

/* cell hover */

.tm-ui-skin-epo .tm-ui-dp-main-cell:hover {
    background-color: #ecf0f1;
}

.tm-ui-skin-epo .tm-ui-dp-main-cell:hover .ui-state-default {
    color: #000;
}

/* unselectable cell text*/

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-unselectable .ui-state-default,
.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-state-disabled .ui-state-default {
    color: #eee;
}

/* disabled and unselectable cell*/

.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-datepicker-unselectable,
.tm-ui-skin-epo .tm-ui-dp-main-cell.ui-state-disabled {
    background-color: #fff;
}

.tm-ui-skin-epo .tm-ui-dp-btn {
    color: #2c3e50;
}

.tm-ui-skin-epo .tm-ui-dp-btn:hover {
    color: #8e44ad;
}

.tm-ui-skin-epo .tm-ui-dp-button-arrow,
.tm-ui-skin-epo .tm-ui-dp-button-arrow.tm-ui-dp-button-disabled:hover {
    color: #2c3e50;
}

.tm-ui-skin-epo .tm-ui-dp-button-arrow:hover {
    color: #34495e;
}

.tm-ui-skin-epo .tm-ui-dp-main-header {
    background: #f9f9f9 none repeat scroll 0 0;
    border-bottom: 1px solid #eee;
    border-top: 1px solid #eee;
    color: #7f8c8d;
    padding: 0.25em 0;
}

.tm-ui-skin-epo .tm-ui-dp-title {
    padding: 0.5em 0;
}

.ui-tm-timepicker-div .tm-ui-widget-header,
.ui-tm-timepicker-div .ui_tpicker_time_label,
.tm-timepicker .tm-ui-dp-current {
    display: none;
}

.tm-timepicker .ui-tm-timepicker-div .ui-slider-handle {
    border-radius: 100%;
    background: #ecf0f1;
    border: 1px solid #bdc3c7;
    cursor: default;
    height: 1.2em;
    position: absolute;
    width: 1.2em;
    z-index: 2;
}

.tm-timepicker .ui-tm-timepicker-div .ui-slider-handle.ui-state-hover {
    background: #fff;
}

.ui-tm-timepicker-div .ui-slider {
    position: relative;
}

.ui-tm-timepicker-div .ui-slider.ui-slider-horizontal {
    border-color: #aaa;
    -o-border-image: none;
    border-image: none;
    border-radius: 0;
    border-style: solid;
    border-width: 0 0 1px;
    height: 1px;
    margin: 1em 0;
    padding: 0.2em 0 0;
}

.ui-tm-timepicker-div .ui-slider.ui-slider-horizontal .ui-slider-handle {
    margin-left: -0.6em;
    top: -0.3em;
}

.ui-tm-timepicker-div .ui-widget-header {
    margin-bottom: 8px;
}

.ui-tm-timepicker-div dl {
    text-align: left;
    margin: 0;
}

.ui-tm-timepicker-div dl dt {
    clear: left;
    float: left;
    margin: 0.725em 0 0;
    padding: 0;
}

.ui-tm-timepicker-div dl dd {
    display: block;
    margin: 0 1em 0.5em 30%;
    padding: 1px 0;
    float: none;
}

.ui-tm-timepicker-div td {
    font-size: 90%;
}

.ui-tpicker-grid-label {
    background: none;
    border: none;
    margin: 0;
    padding: 0;
}

.ui-tm-timepicker-div .ui_tpicker_unit_hide {
    display: none;
}

.ui-tm-timepicker-div .ui_tpicker_time .ui_tpicker_time_input {
    background: none;
    color: inherit;
    border: none;
    outline: none;
    border-bottom: 0 none;
    width: 95%;
}

.ui-tm-timepicker-div .ui_tpicker_time .ui_tpicker_time_input:focus {
    border-bottom-color: #aaa;
}

.ui-tm-timepicker-rtl {
    direction: rtl;
}

.ui-tm-timepicker-rtl dl {
    text-align: right;
}

.ui-tm-timepicker-rtl dl dt {
    float: right;
    clear: right;
}

.ui-tm-timepicker-rtl dl dd {
    margin: 0 30% 0.5em 1em;
}

/* Shortened version style */

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine {
    padding-right: 2px;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine .ui_tpicker_time,
.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dt {
    display: none;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine .ui_tpicker_time_label {
    display: block;
    padding-top: 2px;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl {
    text-align: right;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl dd,
.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl dd>div {
    display: inline-block;
    margin: 0;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl dd.ui_tpicker_minute::before,
.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl dd.ui_tpicker_second::before {
    content: ":";
    display: inline-block;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl dd.ui_tpicker_millisec::before,
.ui-tm-timepicker-div.ui-tm-timepicker-oneLine dl dd.ui_tpicker_microsec::before {
    content: ".";
    display: inline-block;
}

.ui-tm-timepicker-div.ui-tm-timepicker-oneLine .ui_tpicker_unit_hide,
.ui-tm-timepicker-div.ui-tm-timepicker-oneLine .ui_tpicker_unit_hide::before {
    display: none;
}

.ui-tm-timepicker-div {
    padding: 1em 1em 0;
}

.tm-ui-tp-title {
    padding: 0.5em 0;
}

/* 9. Checkbox and Radio button */

.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-radiostart,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-radioend,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-radio,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-color,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-image,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-text,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-element-ul-checkbox,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-element-ul-radio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
    float: none;
    max-width: none;
    width: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    gap: var(--tcgap);
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
}

.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-radiostart li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-radioend li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-radio li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-color li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-image li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-variation-ul-text li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-element-ul-checkbox li.tmcp-field-wrap,
.tm-extra-product-options ul.tmcp-ul-wrap.tm-element-ul-radio li.tmcp-field-wrap {
    padding: 0;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    margin: 0;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tm-auto-row {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    width: auto;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap.tm-auto-row,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap.tm-auto-row {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--tcgapcolumn)));
    flex: 0 1 calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--tcgapcolumn)));
    width: auto;
    max-width: calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--tcgapcolumn)));
    --flex-items: 4;
}

.tm-extra-product-options ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap.tm-auto-row.tc-mode-startcolor,
.tm-extra-product-options ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap.tm-auto-row.tc-mode-endcolor,
.tm-extra-product-options ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap.tm-auto-row.tc-mode-startimages,
.tm-extra-product-options ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap.tm-auto-row.tc-mode-endimages {
    width: 100%;
}

.tc-label-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--tcinnergap);
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.fullwidth-ul .tc-label-wrap {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
}

.fullwidth-ul .tc-label-inner .tc-price-wrap {
    justify-self: flex-end;
}

.fullwidth-ul .tc-mode-color .tc-label-inner .tc-price-wrap,
.fullwidth-ul .tc-mode-images .tc-label-inner .tc-price-wrap {
    justify-self: center;
}

.tc-input-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.tc-mode-images .tc-label-wrap,
.tc-mode-color .tc-label-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    gap: var(--tcinnergap);
}

.tc-mode-images .tc-inline-description,
.tc-mode-color .tc-inline-description {
    text-align: center;
}

.tc-inline-description:empty {
    display: none;
}

.radio-image-label,
.checkbox-image-label {
    display: block;
    text-align: center;
    line-height: 1.5;
    width: 100%;
}

.tc-label.tm-label .radio-image-label,
.tc-label.tm-label .checkbox-image-label {
    display: inline;
    margin-right: 0.5em;
}

.tc-label.tm-label .radio-image-label:empty,
.tc-label.tm-label .checkbox-image-label:empty {
    margin-right: 0;
}

.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startcolor .tc-label-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endcolor .tc-label-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startimages .tc-label-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endimages .tc-label-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: var(--tcinnergap);
}

.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startcolor .fullwidth .tc-label-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endcolor .fullwidth .tc-label-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startimages .fullwidth .tc-label-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endimages .fullwidth .tc-label-wrap {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startcolor .tc-epo-style-wrapper,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startcolor .tc-input-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endcolor .tc-epo-style-wrapper,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endcolor .tc-input-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startimages .tc-epo-style-wrapper,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-startimages .tc-input-wrap,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endimages .tc-epo-style-wrapper,
.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap.tc-mode-endimages .tc-input-wrap {
    display: none;
}

li.tmcp-field-wrap.tm-per-row.is-separator {
    -webkit-box-flex: 0 !important;
    -ms-flex: 0 0 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

.tm-extra-product-options .is-separator .tc-label-wrap.tc-separator {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0;
    flex: 1 1 0;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.is-separator .tc-label.tc-separator-label {
    padding: 0 !important;
    width: 100%;
}

.tm-extra-product-options .is-separator .tc-tooltip {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 0;
    flex: 0 1 0;
    margin: 0;
}

/* 10. Checkbox and Radio button custom styles */

.tc-epo-style-wrapper+.tmhexcolorimage,
.tc-epo-style-wrapper+.tc-label-wrap .tmhexcolorimage:first-child {
    margin: 0 0.5em;
    vertical-align: middle;
}

.tc-epo-style-wrapper .tc-input-wrap .tm-epo-field {
    position: absolute !important;
    top: calc(var(--tc-radio-size) / 2);
    left: calc(var(--tc-radio-size) / 2);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    opacity: 0;
}

.tc-active .tc-epo-style-wrapper .tm-epo-style::after {
    opacity: 1;
}

.tc-epo-style-wrapper {
    height: auto;
    width: auto;
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1em;
    -webkit-transform: translate(0%, 50%);
    transform: translate(0%, 50%);
    top: calc(var(--tc-radio-size) / -2);
    letter-spacing: 0;
    word-spacing: 0;
    -webkit-font-kerning: none;
    font-kerning: none;
    font-family: none;
    --tc-radio-size: 1.5em;
    --tc-radio-font-size: 1em;
}

.tm-epo-style {
    position: relative;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: transparent none repeat scroll 0 0;
    border: 1px solid;
    cursor: pointer;
    height: var(--tc-radio-size);
    line-height: 1;
    margin: 0;
    padding: 0;
    width: var(--tc-radio-size);
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    font-size: var(--tc-radio-font-size);
}

.tm-epo-style::after {
    content: "\f00c";
    background: transparent none repeat scroll 0 0;
    font-family: tc-fontawesome, sans-serif !important;
    font-weight: 900;
    height: 1em !important;
    opacity: 0;
    display: inline-block !important;
    text-align: center !important;
    width: 1em !important;
    color: inherit !important;
    font-size: inherit !important;
    bottom: auto !important;
    line-height: 1 !important;
}

.tc-epo-style-wrapper.tc-radio .tm-epo-style::after {
    content: "\f111";
}

.tm-epo-style:hover::after {
    opacity: 0.5;
}

.tm-epo-style.circle,
.tm-epo-style.circle2 {
    border-radius: 100%;
}

.tm-epo-style.round,
.tm-epo-style.round2 {
    border-radius: 5px;
}

.tm-epo-style.circle2,
.tm-epo-style.round2,
.tm-epo-style.square2 {
    border-width: 2px;
}

.tc-epo-style-wrapper.square .tm-epo-style::after {
    font-size: 0.6em !important;
}

.tc-epo-style-wrapper.circle2 .tm-epo-style::after,
.tc-epo-style-wrapper.round2 .tm-epo-style::after,
.tc-epo-style-wrapper.square2 .tm-epo-style::after {
    font-size: 0.5em !important;
}

/* 11. Checkbox and Radio button swatches */

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-epo-text-wrapper {
    padding: var(--tcinnergap);
    gap: var(--tcgap);
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-epo-text-wrapper label {
    cursor: pointer;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 100%;
    flex: 1 1 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.tc-epo-text-label-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--tcinnergap);
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-mode-color,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-mode-images,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-mode-text {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    min-width: var(--tcinlinesize);
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-mode-images .tmcp-field-wrap-inner,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-mode-color .tmcp-field-wrap-inner {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-mode-text .tmcp-field-wrap-inner {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    width: auto;
}

.tc-epo-text-wrapper input[type="checkbox"].tm-epo-field,
.tc-epo-text-wrapper input[type="radio"].tm-epo-field {
    visibility: hidden;
    position: absolute;
    display: inline !important;
}

.tmhexcolorimage {
    display: block;
    height: 100% !important;
    max-height: 100% !important;
    max-width: 100% !important;
    width: 100%;
}

.tm-floating-box .tmhexcolorimage {
    min-width: 50px !important;
    min-height: 50px !important;
}

.tm-floating-box .radio-image-label,
.tm-floating-box .checkbox-image-label {
    text-align: initial;
}

.tmhexcolorimage.tc-center .tc-image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: auto !important;
    height: auto !important;
    padding-top: calc(100% - (2px * 2)) !important;
    max-width: calc(100% - (2px * 2)) !important;
    vertical-align: middle;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    min-width: min(var(--tcinlinesize), calc(100% - (2px * 2)));
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap input.use_images+label {
    display: inline-block;
    padding: 0 !important;
    max-width: 100%;
    border: 0 solid;
    position: relative;
    line-height: 0;
    margin: 0 !important;
    height: auto !important;
    background: none !important;
}

.tc-image {
    border-width: 2px;
    border-style: solid;
    border-color: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
    padding: 0;
    pointer-events: none !important;
    height: auto;
    max-width: 100%;
}

.tm-extra-product-options .tc-active .tc-image {
    border-style: solid;
}

.tc-image.tc-image-inline,
.tc-image-inline {
    position: relative;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: transparent none repeat scroll 0 0;
    border: 2px solid transparent;
    cursor: pointer;
    height: var(--tcinlinesize);
    line-height: 1;
    margin: 0;
    padding: 0;
    width: auto;
    min-width: var(--tcinlinesize);
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    font-size: 1em;
}

.tc-epo-style-space::after {
    content: "\00a0";
    display: inline;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    position: relative;
    margin-left: calc(-1ch / 2);
    font-family: sans-serif;
}

.tc-center .tc-epo-style-space::after {
    display: none;
}

.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap .tmhexcolorimage-inline {
    width: auto !important;
    padding: 0 !important;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    margin: 0;
    -webkit-transform: translate(0, 50%);
    transform: translate(0, 50%);
    top: calc(var(--tcinlinesize) / -2);
    position: relative;
    height: auto !important;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1em;
}

.tm-extra-product-options ul.tmcp-elements li.tmcp-field-wrap .tc-image-inline {
    max-height: var(--tcinlinesize) !important;
    -ms-flex-item-align: start;
    align-self: flex-start;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.tm-extra-product-options .tmcp-field-wrap.tc-mode-text {
    border-style: solid;
    cursor: pointer;
    border-color: var(--text-swatch-border-color);
    border-width: var(--text-swatch-border-width);
    border-radius: var(--swatch-border-radius);
}

.tc-image,
.tm-extra-product-options .tmcp-field-wrap .tc-label-wrap .tc-image {
    border-color: var(--swatch-border-color);
    border-width: var(--swatch-border-width);
    border-radius: var(--swatch-border-radius);
}

.tm-extra-product-options .tmcp-field-wrap.tc-active.tc-mode-text,
.tm-extra-product-options .tmcp-field-wrap.tc-active .tc-label-wrap .tc-image {
    border-color: var(--swatch-active-border-color);
    border-width: var(--swatch-active-border-width);
}

.tm-extra-product-options .tmcp-field-wrap.tc-active.tc-mode-text {
    outline-width: 1px;
    outline-style: solid;
    outline-color: var(--swatch-active-border-color);
    border-width: var(--text-swatch-active-border-width);
}

.tm-extra-product-options .tmcp-field-wrap.tc-mode-text.round,
.round .tc-image,
.round.tc-image,
.tm-extra-product-options .tmcp-field-wrap.round .tc-label-wrap .tc-image {
    --swatch-border-radius: 5px;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.circle .tc-image,
.circle.tc-image,
.tm-extra-product-options .tmcp-field-wrap.circle .tc-label-wrap .tc-image {
    --swatch-border-radius: 100%;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.tm-extra-product-options .tmcp-field-wrap.tc-mode-text.circle {
    --swatch-border-radius: 18px;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.tm-extra-product-options .tmcp-field-wrap.tc-mode-text.square,
.square .tc-image,
.square.tc-image,
.tm-extra-product-options .tmcp-field-wrap.square .tc-label-wrap .tc-image {
    --swatch-border-radius: 0;
    --swatch-border-width: 2px;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.tm-extra-product-options .tmcp-field-wrap.tc-mode-text.shadow,
.shadow .tc-image,
.shadow.tc-image,
.tm-extra-product-options .tmcp-field-wrap.shadow .tc-label-wrap .tc-image {
    --swatch-border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.tm-extra-product-options .tmcp-field-wrap.tc-active.shadow.tc-mode-text,
.tm-extra-product-options .tmcp-field-wrap.tc-active.shadow .tc-label-wrap .tc-image {
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.5);
}

.tm-extra-product-options .tmcp-field-wrap.tc-mode-text.thinline,
.thinline .tc-image,
.thinline.tc-image,
.tm-extra-product-options .tmcp-field-wrap.thinline .tc-label-wrap .tc-image {
    --swatch-border-radius: 0;
    --swatch-border-width: 1px;
    border-style: groove;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.tm-extra-product-options .tmcp-field-wrap .tc-label-wrap .tc-image.tm-transparent-swatch,
.tm-transparent-swatch .tc-image,
.tm-extra-product-options .tmcp-field-wrap .tc-label-wrap .tm-transparent-swatch .tc-image {
    border-style: dotted;
    border-color: inherit;
}

.tm-extra-product-options input.use_images+label+.amount {
    display: block;
    text-align: center;
}

.radio-image-label-inline,
.checkbox-image-label-inline {
    display: inline;
}

.tc-label.tm-label .radio-image-label+.tmhexcolorimage,
.tc-label.tm-label .checkbox-image-label+.tmhexcolorimage {
    vertical-align: middle;
}

.tm-hide-label+.radio-image-label,
.tm-hide-label+*+.radio-image-label,
.tm-hide-label+.checkbox-image-label,
.tm-hide-label+*+.checkbox-image-label {
    display: none !important;
}

/* 12. Product element */

.tm-extra-product-options .tmcp-ul-wrap.tm-extra-product-options-product {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: var(--tcgap);
}

.tm-extra-product-options-product>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    max-width: 100%;
}

li.tc-epo-element-product-holder {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.tc-epo-element-product-container-wrap:empty {
    margin: 0;
}

.tc-epo-element-product-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
}

.tc-epo-element-product-container-left,
.tc-epo-element-product-container-right,
.tc-epo-element-product-container-full {
    padding: 0;
    margin: 0;
}

.tc-epo-element-product-container-cart {
    display: grid;
    gap: var(--tcgap);
}

.tc-epo-element-product-container-cart>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    max-width: 100%;
    margin: 0 !important;
}

.cpf-type-product-thumbnailmultiple .tc-epo-element-product-container-cart>.stock {
    text-align: center;
}

.tc-extra-product-options-inline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: var(--tcgap);
}

.tc-extra-product-options-inline>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    max-width: 100%;
}

.tc-extra-product-options-inline:not(:has(.tc-extra-product-options)) {
    display: none;
}

.tc-epo-element-product-container-wrap .product-title,
.tc-epo-element-product-container-wrap .product-price,
.tc-epo-element-product-container-wrap .product-description,
.tc-epo-element-product-container-wrap .product-meta,
.tc-epo-element-product-container-wrap .tc-extra-product-options-inline {
    margin: 0;
    padding: 0;
}

.cpf-type-product-thumbnailmultiple .tc-epo-element-product-container-wrap .tm-quantity,
.cpf-type-product-thumbnailmultiple .tc-epo-element-product-container-wrap .tm-quantity-alt {
    max-width: none;
    text-align: center;
}

/* The first selector is to take into account some Elementor configurations. */

.woocommerce div.product .tm-extra-product-options .tc-epo-element-product-container-wrap .tc-epo-element-product-container-cart .tm-quantity-alt .quantity,
.tm-extra-product-options .tc-epo-element-product-container-wrap .tc-epo-element-product-container-cart .tm-quantity-alt .quantity {
    float: none;
    display: inline-block !important;
    font-size: inherit;
    margin: 0;
}

.tm-extra-product-options .cpf-type-product-radio ul.tmcp-ul-wrap.tm-element-ul-product>li.tc-epo-element-product-li-container,
.tm-extra-product-options .cpf-type-product-dropdown ul.tmcp-ul-wrap.tm-element-ul-product>li.tc-epo-element-product-li-container {
    padding: 0;
    margin: 0;
    list-style: none outside none !important;
    position: relative;
}

.tm-extra-product-options .cpf-type-product-radio ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>.tmcp-field-wrap-inner>.tc-field-label-wrap,
.tm-extra-product-options .cpf-type-product-checkbox ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>.tmcp-field-wrap-inner .tc-field-label-wrap {
    gap: var(--tcinnergap);
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product>li.tc-epo-element-product-li-container,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tc-epo-element-product-li-container {
    padding: var(--tcgaprow) 0;
    max-width: 100%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    list-style: none outside none !important;
    position: relative;
    margin: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tc-epo-element-product-li-container {
    padding: var(--tcgap);
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap label,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap label {
    cursor: pointer;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap .tm-epo-field.tmcp-radio,
.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap .tc-epo-style-wrapper,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>.tmcp-field-wrap-inner>label .tm-epo-field.tmcp-checkbox,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>.tmcp-field-wrap-inner>label .tc-epo-style-wrapper,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>label .tm-epo-field.tmcp-checkbox,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>label .tc-epo-style-wrapper {
    display: none;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
    margin: 0;
    float: none;
    max-width: none;
    width: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap {
    max-width: 100%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    margin: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    gap: 0;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>.tmcp-field-wrap-inner,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>.tmcp-field-wrap-inner {
    max-width: 100%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    margin: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>.tmcp-field-wrap-inner>.tm-epo-field-label,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>.tmcp-field-wrap-inner>.tm-epo-field-label {
    text-align: center;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap .tm-epo-reset-radio {
    right: var(--tcgapcolumn);
    top: var(--tcgaprow);
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap img.wp-post-image,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap img.wp-post-image {
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
    width: auto;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>.tmcp-field-wrap-inner>label .tc-label-wrap,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>.tmcp-field-wrap-inner>label .tc-label-wrap,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>label .tc-label-wrap {
    display: block;
}

.tm-extra-product-options .cpf-type-product-thumbnail ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>.tmcp-field-wrap-inner>.tm-epo-field-label,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>.tmcp-field-wrap-inner>label.tm-epo-field-label,
.tm-extra-product-options .cpf-type-product-thumbnailmultiple ul.tmcp-ul-wrap.tm-element-ul-product>li.tmcp-field-wrap>label.tm-epo-field-label {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.tc-epo-element-variable-product {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: var(--tcgap);
}

.tc-epo-element-variable-product>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    max-width: 100%;
}

table.tc-epo-element-variations {
    margin: 0 !important;
}

.woocommerce table.tc-epo-element-variations {
    margin-bottom: 1em;
    border: 0;
    width: 100%;
}

.woocommerce table.tc-epo-element-variations td,
.woocommerce table.tc-epo-element-variations th {
    border: 0;
    vertical-align: top;
    line-height: 2;
}

.woocommerce table.tc-epo-element-variations label {
    font-weight: 700;
}

.woocommerce table.tc-epo-element-variations select {
    max-width: 100%;
    min-width: 75%;
    display: inline-block;
    margin-right: 1em;
}

.woocommerce table.tc-epo-element-variations td.label {
    padding-right: 1em;
}

.woocommerce .tc-epo-element-variable-product .woocommerce-variation-description p {
    margin-bottom: 1em;
}

.woocommerce .tc-epo-element-variable-product .tc-epo-element-variable-reset-variations {
    visibility: hidden;
    font-size: 0.83em;
}

.woocommerce .tc-epo-element-variable-product .wc-no-matching-variations {
    display: none;
}

.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-product-hidden,
.tm-extra-product-options ul.tmcp-ul-wrap li.tmcp-field-wrap.tc-product-hidden .tmcp-field-wrap-inner {
    display: none;
}

.tc-product-image {
    margin: 0;
}

/* 13. Tooltip */

#tm-tooltip {
    font-size: 0.875em;
    text-align: center;
    text-shadow: 0 1px rgba(0, 0, 0, 0.5);
    line-height: 1.5;
    color: var(--tooltip-color);
    background: var(--tooltip-background-color);
    border-radius: 5px;
    position: absolute;
    z-index: 145400;
    padding: 15px;
    pointer-events: none;
    bottom: auto !important;
    top: auto;
    left: auto;
    right: auto;
    border: 1px solid var(--tooltip-border-color);
    --tooltip-background-color: rgba(0, 0, 0, 0.8);
    --tooltip-border-color: rgba(255, 255, 255, 0.5);
    --tooltip-color: #fff;
}

#tm-tooltip p:last-child {
    margin-top: 0;
    margin-bottom: 0;
}

#tm-tooltip::after {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid var(--tooltip-background-color);
    content: "";
    position: absolute;
    left: 50%;
    bottom: -9px;
    margin-left: -10px;
}

#tm-tooltip::before {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid var(--tooltip-border-color);
    content: "";
    position: absolute;
    left: 50%;
    bottom: -10px;
    margin-left: -10px;
}

#tm-tooltip.top::after {
    border-top-color: transparent;
    border-bottom: 10px solid var(--tooltip-background-color);
    top: -19px;
    bottom: auto;
}

#tm-tooltip.top::before {
    border-top-color: transparent;
    border-bottom: 10px solid var(--tooltip-border-color);
    top: -20px;
    bottom: auto;
}

#tm-tooltip.left::after {
    left: 10px;
    margin: 0;
}

#tm-tooltip.right::after {
    right: 10px;
    left: auto;
    margin: 0;
}

#tm-tooltip img {
    max-width: 100%;
}

#tm-tooltip.tc-error {
    --tooltip-background-color: #ff4500;
    --tooltip-border-color: rgba(255, 255, 255, 0.5);
    --tooltip-color: #fff;
}

.tc-tooltip {
    color: #2980b9;
    cursor: help;
    font-size: 1em;
    margin: 0;
}

.tc-epo-style-space.tc-tooltip {
    line-height: inherit !important;
}

.tc-icontooltipleft {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
}

.tc-icontooltipright {
    -webkit-box-ordinal-group: 100;
    -ms-flex-order: 99;
    order: 99;
}

/* 14. Cart and Order styles */

.woocommerce #content table.cart img.epo-option-image,
.woocommerce table.cart img.epo-option-image,
.woocommerce-page #content table.cart img.epo-option-image,
.woocommerce-page table.cart img.epo-option-image,
.epo-option-image {
    max-height: 100px;
    max-width: 70% !important;
    height: auto !important;
    width: auto !important;
    display: block;
}

.woocommerce-mini-cart img.epo-upload-image,
.woocommerce #content table.cart img.epo-upload-image,
.woocommerce table.cart img.epo-upload-image,
.woocommerce-page #content table.cart img.epo-upload-image,
.woocommerce-page table.cart img.epo-upload-image,
.epo-upload-image {
    max-height: none !important;
    max-width: 70% !important;
    width: auto !important;
    height: 100% !important;
}

dl.variation dt.tc-hidden-variation {
    margin: 0;
}

.tc-row.tm-cart-row {
    border-color: #eee;
    border-radius: 0;
    border-style: none none dotted;
    border-width: 0 0 1px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: var(--tcgap);
}

.tm-cart-row-header {
    font-weight: 700;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 2;
}

.tc-row.tm-cart-row:last-child {
    border: 0 none;
}

.tc-row.tm-cart-row .tc-cell.cpf-name {
    font-weight: 700;
}

.tc-row.tm-cart-row .tc-cell.cpf-price,
.tc-row.tm-cart-row .tc-cell.cpf-total-price {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.tc-row.tm-cart-row .tc-cell.cpf-quantity {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

dl.variation.tc-epo-metadata,
.woocommerce .wc-item-meta {
    word-break: break-word;
}

dl.variation.tc-epo-metadata .tc-name,
dl.variation.tc-epo-metadata .tc-value,
.woocommerce .wc-item-meta .tc-name .woocommerce .wc-item-meta .tc-value {
    white-space: pre-wrap;
}

dl.variation.tc-epo-metadata .tc-hidden-variation {
    display: none;
}

.cpf-img-on-cart img {
    position: static !important;
    height: auto !important;
    width: auto !important;
    max-height: 3em;
    -o-object-fit: cover;
    object-fit: cover;
}

.cpf-data-on-cart::before {
    content: "\f14a";
    font-family: tc-fontawesome, sans-serif;
    font-weight: 900;
    font-size: 1em;
    vertical-align: middle;
    position: absolute;
}

.cpf-data-on-cart>.cpf-data-value {
    margin: 0 1.5em;
}

.cpf-img-on-cart .cpf-data-on-cart::before {
    content: "";
    display: none;
}

.cpf-data-on-cart {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 0.5em;
    width: 100%;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
}

.cpf-img-on-cart {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: calc(100% - var(--tcgapcolumn));
    gap: var(--tcgap);
}

.cpf-data-on-cart:last-of-type,
.cpf-img-on-cart:last-of-type {
    border-bottom: 0;
    margin-bottom: 0;
}

.cpf-img-on-order {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: calc(100% - var(--tcgapcolumn));
    gap: var(--tcgap);
}

.cpf-img-on-order img {
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: unset !important;
    max-height: unset !important;
}

.cpf-img-on-order>* {
    display: block;
}

.woocommerce #content table.cart img.epo-option-image,
.woocommerce table.cart img.epo-option-image,
.woocommerce-page #content table.cart img.epo-option-image,
.woocommerce-page table.cart img.epo-option-image,
.woocommerce-mini-cart .cpf-img-on-cart .epo-option-image,
.woocommerce-checkout-review-order .cpf-img-on-cart .epo-option-image,
.woocommerce-order-details .cpf-img-on-cart .epo-option-image,
.epo-option-image,
.cpf-img-on-order>* {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.woocommerce-mini-cart .cpf-img-on-cart img {
    max-width: 50px !important;
}

.cpf-color-on-cart {
    width: 1em;
    height: 1em;
    display: inline-block;
    border: 1px solid;
    vertical-align: middle;
    position: relative;
    top: -1px;
}

td.product-name a.tm-cart-edit-options,
.tm-cart-edit-options {
    display: block;
    font-size: 0.7em;
    font-style: italic;
    font-weight: 700;
}

.tm-epo-cart-option-mobile {
    display: none;
}

.shop_table tbody tr.tm-epo-cart-row {
    height: auto;
}

.woocommerce table.shop_table .tm-epo-cart-row td {
    border-top: 1px dashed rgba(0, 0, 0, 0.1);
}

.tm-epo-cart-option-label,
.tm-epo-cart-option-value.tm-epo-cart-no-label {
    font-weight: 700;
}

.woocommerce table.shop_table .tm-epo-cart-row-product td {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.woocommerce table.shop_table .tm-epo-cart-row-product+.tm-epo-cart-row td {
    border-top: 0 none;
}

.woocommerce table.shop_table_responsive tr.tm-epo-cart-row td::before,
.woocommerce-page table.shop_table_responsive tr.tm-epo-cart-row td::before {
    display: none !important;
}

.tc-price-in-cart,
.tc-quantity-in-cart {
    font-size: smaller;
}

.tc-associated-table-product .tc-associated-table-product-indent {
    padding-left: 2em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.tc-associated-table-product .tc-associated-table-product-price::after {
    font-family: tc-fontawesome, sans-serif;
    font-size: 1em;
    content: "\f3be";
    font-weight: 900;
    margin: 0 0.5em;
    padding: 0;
    opacity: 0.3;
    display: inline-block;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.tc-associated-table-product .tc-associated-table-product-indent * {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.tc-associated-table-product-name {
    font-weight: 700;
    -webkit-box-ordinal-group: 2 !important;
    -ms-flex-order: 1 !important;
    order: 1 !important;
}

/* 15. Various styles */

.tm-dpd-label {
    display: block;
    font-size: 80%;
}

.tm-animated {
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
}

.tc-chars {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    font-size: x-small;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    width: 100%;
    max-width: 100%;
    gap: calc(1ch / 2);
}

.tm-button {
    border-radius: 3px;
    border-style: solid;
    border-width: 1px;
    cursor: pointer;
    display: inline-block;
    font-size: 13px !important;
    margin: 0;
    height: 30px;
    line-height: 28px !important;
    padding: 0 12px 2px !important;
    text-decoration: none;
    white-space: nowrap;
    background: none repeat scroll 0 0 #f7f7f7;
    border-color: #ccc;
    -webkit-box-shadow: 0 1px 0 #fff inset, 0 1px 0 rgba(0, 0, 0, 0.08);
    box-shadow: 0 1px 0 #fff inset, 0 1px 0 rgba(0, 0, 0, 0.08);
    color: #555;
    vertical-align: top;
}

.tm-button:hover {
    background: none repeat scroll 0 0 #fafafa;
    border-color: #999;
    color: #222;
}

.tc-hide-add-to-cart-button {
    display: none !important;
}

.tc-clearfix::after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    overflow: hidden;
}

.tm-preloader-img {
    position: absolute !important;
    z-index: 2;
    opacity: 0.6;
}

button.tmicon {
    display: inline-block;
    left: auto !important;
    position: relative;
    right: auto !important;
    overflow: hidden;
    width: 30px !important;
    height: 30px !important;
    line-height: 30px !important;
    font-size: 14px;
    text-align: center;
    cursor: pointer;
    vertical-align: middle;
    margin: 0;
    padding: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    background: none;
    border: none;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

button.tmicon.delete {
    color: #ff4500;
    border-radius: 100%;
}

button.tmicon.delete:hover {
    color: #fff;
    background: #ff4500;
}

.pointereventsoff {
    pointer-events: none;
}

.tm-hide {
    visibility: hidden !important;
    padding: 0 !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    min-width: 0 !important;
    opacity: 0 !important;
}

.tm-show {
    display: block !important;
}

.tm-extra-product-options .tc-row.tm-show,
.tc-row.tm-show {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}

@-webkit-keyframes appear {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes appear {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.appear {
    -webkit-animation-name: appear;
    animation-name: appear;
}

.tc-tabs {
    width: 100%;
}

.tc-tabs.tc-cell {
    margin-bottom: 0;
}

.has-scroll-arrows.tc-tab-headers {
    padding: 0;
    max-width: calc(100% - 4em - 1px) !important;
    left: 2em;
}

.tc-tabs-wrap .tc-row .tc-cell:last-of-type {
    margin-bottom: 0;
}

.tc-tab-headers-wrap {
    position: relative;
}

.tc-scroll-left-arrow,
.tc-scroll-right-arrow {
    position: absolute;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: none;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    width: 1em;
    text-align: center;
    height: 100%;
    top: 0;
    z-index: 2;
}

.tc-scroll-left-arrow.scroll-arrow-show,
.tc-scroll-right-arrow.scroll-arrow-show {
    display: block;
    border: 1px solid;
    height: 100%;
    width: calc(2em + 1px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.tc-scroll-left-arrow {
    left: 0;
}

.tc-scroll-right-arrow {
    right: 0;
}

.tc-scroll-left-arrow::before,
.tc-scroll-right-arrow::before {
    line-height: 1;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    padding: 0;
    margin: 0;
    position: absolute;
    left: 0;
    right: 0;
}

.tc-scroll-left-arrow::before {
    content: "\25C0";
}

.tc-scroll-right-arrow::before {
    content: "\25B6";
}

.tc-tab-headers {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-line-pack: center;
    align-content: center;
    gap: 1em;
    margin: 0;
    padding: 0;
    overflow: hidden !important;
    position: relative;
    width: 100%;
    min-height: 1px;
}

.tab-header {
    font-weight: 400;
    cursor: pointer;
    white-space: nowrap;
    padding: var(--tcgap);
    position: relative;
    margin: 0;
}

.tab-header.open {
    border-width: 1px 1px 0 1px;
    border-style: solid;
}

.tab-header.open::before,
.tab-header.open::after {
    content: "";
    display: block;
    position: absolute;
    border-bottom: 1px solid;
    bottom: 0;
    height: 0;
    width: 999em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.tab-header.open::before {
    right: 100%;
}

.tab-header.open::after {
    left: 100%;
}

.tc-tab-content.tcwidth-100 {
    padding: var(--tcgap);
    border-width: 0 1px 1px 1px;
    border-style: solid;
}

.tc-tab-header {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.tab-header.open,
.tab-header.open:focus {
    font-weight: 700;
}

/* 16. Theme fixes */

/* nielsen theme fix */

.tc-extra-product-options .sbHolder .sbSelector {
    background-color: #fff;
    height: 35px;
    padding: 5px 10px;
}

/* Aurum theme fix */

.tc-images-container .replaced-checkboxes+label::before,
.tc-images-container .replaced-radio-buttons+label::before,
.replaced-checkboxes+label.tm-epo-style::before,
.replaced-radio-buttons+label.tm-epo-style::before {
    display: none;
}

/* Salient minimal form fix */

body[data-form-style="minimal"] .tc-extra-product-options .minimal-form-input label {
    pointer-events: auto !important;
}

/* Woomart theme quick shop view fix */

.has-options .quick-shop-wrapper .woocommerce-variation-add-to-cart {
    display: block !important;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
}

/* Elementor and theme fixes */

.thb-product-main-row .summary form.cart,
.woocommerce .oxy-woo-element div.product.tm-has-options .woocommerce-variation-add-to-cart,
.tm-has-options .fullwidth-button .cart:not(.variations_form),
.tm-has-options .fullwidth-button .woocommerce-variation-add-to-cart.variations_button,
.single-product div.product.tm-has-options form.cart,
.single-product div.product.tm-has-options .single-button-wrapper,
.single-product div.product.tm-has-options .entry-summary form.cart:not(.variations_form):not(.grouped_form),
.single-product div.product.tm-has-options .variations_button,
.woocommerce div.product.elementor.tm-has-options form.cart.variations_form .woocommerce-variation-add-to-cart,
.woocommerce div.product.elementor.tm-has-options form.cart:not(.grouped_form):not(.variations_form),
.woocommerce .oxy-woo-element div.product.tm-variations-only .woocommerce-variation-add-to-cart,
.tm-variations-only .fullwidth-button .cart:not(.variations_form),
.tm-variations-only .fullwidth-button .woocommerce-variation-add-to-cart.variations_button,
.single-product div.product.tm-variations-only form.cart,
.single-product div.product.tm-variations-only .single-button-wrapper,
.single-product div.product.tm-variations-only .entry-summary form.cart:not(.variations_form):not(.grouped_form),
.single-product div.product.tm-variations-only .variations_button,
.woocommerce div.product.elementor.tm-variations-only form.cart.variations_form .woocommerce-variation-add-to-cart,
.woocommerce div.product.elementor.tm-variations-only form.cart:not(.grouped_form):not(.variations_form) {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    max-width: 100%;
}