/* ------------------------------- */
/* fake builder overrides */

body.has-options .product-info-main .product-info-price {
    position: sticky;
    top: 0;
    opacity: 0.99999;
}

html.window-loaded-after body.has-options .product-info-main .product-info-price {
    top: -1px;
}

body.has-options .product-info-main .product-info-price {
    background-color: #FFF;
    border-bottom: 1px solid #FFF;
    -webkit-transition: box-shadow 0.5s 0ss, border-bottom 0.5s 0s;
    transition: box-shadow 0.5s 0s, border-bottom 0.5s 0s;
}

.product-info-main.is-pinned .product-info-price.has-sticky {
    border-bottom: 1px solid #EEE;
    box-shadow: 0px 15px 10px -13px rgba(0, 0, 0, 0.3);
    -webkit-transition: box-shadow 0.5s 0ss, border-bottom 0.5s 0s;
    transition: box-shadow 0.5s 0s, border-bottom 0.5s 0s;
    z-index: 3;
}

body.catalog-product-view .product-info-main .product-info-price.has-sticky .price-box.price-final_price {
    top: 0;
    left: 0;
    -webkit-transform: translate(0,0);
    transform: translate(0,0);
    -webkit-transition: transform 0.5s 0s/* , left 0.5s 0ss, top 0.5s 0s */;
    transition: transform 0.5s 0s/* , left 0.5s 0s, top 0.5s 0s */;
}

body.catalog-product-view .product-info-main.is-pinned .product-info-price.has-sticky .price-box.price-final_price {
    position: relative;
    /* top: 0.5rem;
    left: 0.8rem; */
    -webkit-transform: translate(0.8rem,0.5rem);
    transform: translate(0.8rem,0.5rem);
    -webkit-transition: transform 0.5s 0s/* , left 0.5s 0ss, top 0.5s 0s */;
    transition: transform 0.5s 0s/* , left 0.5s 0s, top 0.5s 0s */;
}

html.price-sticky #minicart-wrapper {
    margin-top: 0;
    position: fixed;
    top: 2.5rem;
    right: 1.5rem;
}

@media screen and (min-width: 768px) {

    .product-info-main .product-info-price.has-sticky .price-container.price-final_price .price, 
    .product-info-main .product-info-price.has-sticky .price-box .price-container .price {
        /* -webkit-transition: font-size 0.5s 0s;
        transition: font-size 0.5s 0s; */
    }

    .product-info-main.is-pinned .product-info-price.has-sticky .price-container.price-final_price .price, 
    .product-info-main.is-pinned .product-info-price.has-sticky .price-box .price-container .price {
        /* font-size: 2.4rem;
        -webkit-transition: font-size 0.5s 0s;
        transition: font-size 0.5s 0s; */
    }

    .product-info-main .product-info-price.has-sticky .old-price .price-container.price-final_price .price, 
    .product-info-main .product-info-price.has-sticky .old-price .price-wrapper .price {
        /* -webkit-transition: font-size 0.5s 0s;
        transition: font-size 0.5s 0s; */
    }

    .product-info-main.is-pinned .product-info-price.has-sticky .old-price .price-container.price-final_price .price, 
    .product-info-main.is-pinned .product-info-price.has-sticky .old-price .price-wrapper .price {
        /* font-size: 1.8rem;
        -webkit-transition: font-size 0.5s 0s;
        transition: font-size 0.5s 0s; */
    }

    .product-info-main .product-info-price.has-sticky .price-container.price-final_price .unit-of-measure:not(:empty) {
        /* -webkit-transition: font-size 0.5s 0s;
        transition: font-size 0.5s 0s; */
    }

    .product-info-main.is-pinned .product-info-price.has-sticky .price-container.price-final_price .unit-of-measure:not(:empty) {
        /* font-size: 1.6rem;
        -webkit-transition: font-size 0.5s 0s;
        transition: font-size 0.5s 0s; */
    }

    html.price-sticky .minicart-wrapper .block-minicart {
        right: 60px;
    }
}

@media screen and (max-width: 767px) {

    body.has-options .product-info-main .product-info-price {
        /* border-bottom: 1px solid #EEE; */
    }
    
    .product-info-main.is-pinned .product-info-price.has-sticky {
        padding-bottom: 1rem;
    }

    body.catalog-product-view .product-info-main .product-info-price.has-sticky .price-box.price-final_price {
        padding-bottom: 0;
        /* top: 0;
        left: 0; */
        justify-content: left;
        -webkit-transform: translate(0,0);
        transform: translate(0,0);
        -webkit-transition: transform 0.5s 0s/* , left 0.5s 0ss, top 0.5s 0s */;
        transition: transform 0.5s 0s/* , left 0.5s 0s, top 0.5s 0s */;
    }

    

    body.catalog-product-view .product-info-main.is-pinned .product-info-price.has-sticky .price-box.price-final_price {
        /* padding: 0.3rem 0;
        top: 0.7rem;
        left: 0.1rem;
        justify-content: center;*/
        -webkit-transform: translate(0.1rem,0.7rem);
        transform: translate(0.1rem,0.7rem);
        -webkit-transition: transform 0.5s 0s/* , left 0.5s 0ss, top 0.5s 0s */;
        transition: transform 0.5s 0s/* , left 0.5s 0s, top 0.5s 0s */;
    }

    .product-info-main.is-pinned .product-info-price.has-sticky .price-container.price-final_price .price, 
    .product-info-main.is-pinned .product-info-price.has-sticky .price-box .price-container .price {
        /* font-size: 1.6rem;
        -webkit-transition: font-size 0.5s 0s;
        transition: font-size 0.5s 0s; */
    }

    html.quickcart-enabled.price-sticky .minicart-wrapper.quickcart-wrapper .action.showcart {
        font-size: 1.2rem;
    }

    html.price-sticky #minicart-wrapper {
        top: -5px;
        left: auto !important;
    }
}

/* ----------------- */

body:not(.is-builder) #cd-builder-fake {
    border-top: 1px solid #DDD;
    margin-top: 0;
}

@media screen and (max-width: 767px) {

    body.has-options:not(.is-builder) .page-wrapper,
    body.is-builder-fake.has-options:not(.is-builder) .page-wrapper {
        overflow: unset;
    }

    body:not(.is-builder) #cd-builder-fake {
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
    }
}

body:not(.is-builder) .product-info-main .product-options-wrapper.table-based-options-not-builder {
    margin-top: 90px;
    padding: 0;
    /* border: 1px solid #e3e1e1; */
    /* border-top: 0 none;
    border-bottom: 0 none;
    border-left: 1px solid #DDD;
    border-right: 1px solid #DDD; */
    border: 0 none;
}

body:not(.is-builder) .product-info-main .product-add-form:not(.has-step-circles) .product-options-wrapper.table-based-options-not-builder::before {
    content: '';
    position: absolute;
    top: -92px;
    left: 0;
    display: block;
    width: 140px;
    height: 90px;
    background-image: url('../images/start-here/start-here.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

body:not(.is-builder) #cd-builder-fake.has-step-circles .product-options-wrapper.table-based-options-not-builder {}

body:not(.is-builder) #cd-builder-fake.has-step-circles #product_addtocart_form {
    display: grid !important;
    gap: 0;
    grid-template-rows: 1fr;/* 40px 1fr */
    grid-template-columns: 85px 1fr;
    grid-template-areas: /* "total total" */ "a b" "c c";
}

body:not(.is-builder) #cd-builder-fake.has-step-circles #cd-total {
    display: none;
    /* grid-area: total; */
    /* position: sticky;
    top: 0rem;
    z-index: 2;
    background: #FFF;
    font-weight: 500;
    width: 100%;
    height: 4rem; */
}

body:not(.is-builder) #cd-builder-fake.has-step-circles #cd-total span {
    opacity: 1;
}

body:not(.is-builder) #cd-builder-fake.has-step-circles #cd-steps__navigation-outside {
    grid-area: a;
}

body:not(.is-builder) #cd-builder-fake.has-step-circles .product-options-wrapper.table-based-options-not-builder {
    grid-area: b;
}

body:not(.is-builder) #cd-builder-fake.has-step-circles .product-options-bottom {
    grid-area: c;
	width: 100%;
}

body:not(.is-builder) .product-add-form .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions > .fieldset.hide {
    display: none;
}

body:not(.is-builder) .product-add-form .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions > .fieldset.hide:nth-child(1) {
    display: none;
}

body:not(.is-builder) #cd-builder-fake.has-step-circles .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions > .fieldset:nth-child(1) {
    display: none;
}

@media screen and (min-width: 768px) and (max-width: 920px) {

    body:not(.is-builder) #cd-builder-fake.has-step-circles .product-options-wrapper::before {
        content: '';
        position: absolute;
        top: -92px;
        left: 0;
        display: block;
        width: 140px;
        height: 90px;
        background-image: url('../images/start-here/start-here.png');
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat; 
    }

    body:not(.is-builder) #cd-builder-fake.has-step-circles #product_addtocart_form {
        grid-template-columns: 1fr;
        grid-template-areas: "b b""c c";
    }

    body:not(.is-builder) #cd-builder-fake.has-step-circles #cd-steps__navigation-outside {
        display: none;
    }
}

@media screen and (max-width: 659px) {

    body:not(.is-builder) #cd-builder-fake.has-step-circles #product_addtocart_form {
        display: flex !important;
        flex-wrap: wrap;
    }
}

/* fake builder overrides - table-based-options-not-builder - auto number steps - legend section title */
body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset-section .legend.section-title {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: left;
    text-align: left;
    float: none;
    padding: 1rem 4.5rem 1rem 4.5rem;
    margin: 0 -1px;
    min-height: 50px;
    max-height: 50px;
    line-height: 2rem;
    background-color: #EEE;
    /* border: 1px solid #EEE;
    border-bottom: 0px none; */
    border: 0 none;
    border-bottom: 1px solid #EEE;
    /* border-top-left-radius: 3px;
    border-top-right-radius: 3px; */
    color: #333;
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-size: 18px;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset-section .legend.section-title::before {
    content: attr(data-number);
    background: #333;
    color: #FFF;
    font-weight: 600;
    font-size: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 24px;
    height: 24px;
    position: absolute;
    top: 50%;
    left: 1.2rem;
    right: auto;
    z-index: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    order: 1;
}

@media screen and (max-width: 659px) {

	body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset-section .legend.section-title {
		font-size: 16px;
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
	}
}

/* fake builder overrides - steps circles navigation */
#cd-builder-fake .cd-steps,
.product-info-main #cd-builder-fake #product-options-wrapper {
    position: relative;
    background: #FFF;
    padding: 0;
    width: 100%;
    /* min-height: 400px; */
}

#cd-builder-fake .cd-steps__navigation {
    width: 100%;
    margin-top: 0px;
    padding-bottom: 0rem;
    background: #FFF;
    position: relative;
    box-sizing: border-box;
}

#cd-builder-fake .cd-steps__navigation.outside {
    margin-top: 85px;
    padding-top: 10px;
    padding-bottom: 0;
}

#cd-builder-fake.steps-circles-vertical .cd-steps__navigation.outside {
    padding-top: 0;
}

#cd-builder-fake .cd-steps__navigation.outside.is-sticked ul {
    position: sticky;
    top: -1px;
    z-index: 3;
    /* -webkit-transform: translateY(-100%);
   transform: translateY(-100%); */
}

#cd-builder-fake .cd-steps__navigation ul {
    position: sticky;
    /* relative */
    top: 79px;
    list-style-type: none;
    padding: 0;
    margin: 0 auto;
    font-size: 16px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    box-sizing: border-box;
    background: #FFF;
}

@media screen and (max-width: 767px) {

   .product-info-main.is-pinned  #cd-builder-fake .cd-steps__navigation ul {
        /* padding-top: 2.5rem; */
    }
}

#cd-builder-fake .cd-steps__navigation .cd-steps__li {
    display: block;
    list-style: none;
    line-height: 1.8;
    font-size: 16px;
    position: relative;
    margin-right: 0;
    margin-bottom: 1rem
}

#cd-builder-fake.product-add-form.has-step-circles .cd-steps__navigation.outside li:first-child::after {
    content: '';
    position: absolute;
    top: -84px;
    left: 0;
    display: block;
    width: 140px;
    height: 90px;
    background-image: url('../images/start-here/start-here.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

#cd-builder-fake .cd-steps__navigation a,
.touch-no #cd-builder-fake .cd-steps__navigation a:link,
.touch-no #cd-builder-fake .cd-steps__navigation a:visited,
.touch-no #cd-builder-fake .cd-steps__navigation a:hover,
.touch-no #cd-builder-fake .cd-steps__navigation a:focus,
.touch-no #cd-builder-fake .cd-steps__navigation a:active {
    color: #575757;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#cd-builder-fake .cd-steps__navigation .cd-steps__li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 75px;
    height: 75px;
    min-height: 40px;
    margin: 0 auto;
    position: relative;
    padding: 10px;
    line-height: 1.6rem;
    text-transform: capitalize;
    letter-spacing: -0.5px;
    font-weight: 400;
    font-size: 13px;
    text-align: center;
    text-decoration: none;
    background-color: #FFF;
    border: 1px solid #c6c6c6;
    border-radius: 50%;
    color: #444;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.touch-no #cd-builder-fake .cd-steps__navigation .cd-steps__li a:hover {
    text-decoration: none;
    border-color: #888;
}

@media screen and (min-width: 768px) {}

@media screen and (min-width: 768px) and (max-width: 1024px) {}

@media screen and (min-width: 400px) {

    #cd-builder-fake .cd-steps__navigation .cd-steps__li a {
        font-size: 12px;
        line-height: 1.6rem;
        width: 75px;
        height: 75px;
        min-height: 40px;
    }
}

@media screen and (min-width: 660px) {

    #cd-builder-fake .cd-steps__navigation ul {
        justify-content: left;
    }

    /* temp if step circles are vertical */
    body.catalog-product-view #cd-builder-fake.steps-circles-vertical #product_addtocart_form {
        display: grid !important;
        grid-template-columns: 85px 1fr;
    }

    #cd-builder-fake.steps-circles-vertical .cd-steps__navigation ul {
        position: sticky;
        top: calc(6rem - 6px);
    }

    header.shrink ~ #maincontent #cd-builder-fake.steps-circles-vertical .cd-steps__navigation ul {
        top: 13.8rem;/* 0.5rem */
    }

    #cd-builder-fake.steps-circles-vertical .cd-steps,
    .product-info-main #cd-builder-fake.steps-circles-vertical #product-options-wrapper {
        margin-top: 85px;
    }
}

@media screen and (max-width: 659px) {

    body:not(.is-builder) .product-info-main .product-options-wrapper.table-based-options-not-builde {
      	/* margin-top: 1rem; */
    }

    body:not(.is-builder) #cd-builder-fake.has-step-circles .product-options-wrapper.table-based-options-not-builder {
      	margin-top: 1rem;
    }
}

@media screen and (max-width: 659px) {

    #cd-builder-fake .cd-steps__navigation .cd-steps__li {
        margin-right: 10px;
    }

    /* #cd-builder-fake .cd-steps__navigation li:nth-last-child(2), */
    #cd-builder-fake .cd-steps__navigation li:last-child {
        margin-right: 0;
    }
}

@media screen and (max-width: 321px) {

    /* if iphone5 320px screen */
    #cd-builder-fake .cd-steps__navigation ul {
        padding: 0;
    }

    #cd-builder-fake .cd-steps__navigation .cd-steps__li a {
        width: 65px;
        height: 65px;
        font-size: 11px;
    }
}

/* ------------------------------- */

/* ----------------------------------------------------- */
/* product custom options - overrides */

.product-info-main .product-options-wrapper.table-based-options-not-builder + .product-options-bottom .box-tocart {
    margin-top: 0;
    padding: 2rem 1rem 1rem;
    background: #EEE;
}

body:not(.is-builder) #itoris_dynamicproductoptions .form-list .fields .accept-terms .options-list:not(.itoris-dynamicoptions-list-images) {
    /* grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); */
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .options-list + .no-margin {
    padding-top: 0;/* 1.3rem */
    padding-bottom: 0;
    margin: 0;
    font-style: normal;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .options-list + .no-margin > span {
    margin-top: 1.7rem;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .options-list + .no-margin > span.sale-tag {
    margin-top: 1rem;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .options-list + .no-margin a {
    color: var(--color-link-hover);
    font-style: normal;
    line-height: 1.6rem;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .options-list + .no-margin a.link-jump.has-icon {
    display: inline-flex;/* grid */
    flex-direction: row;
    gap: 5px;
    grid-template-columns: 20px 1fr;
    grid-template-rows: 1fr;
    justify-content: start;
    align-content: center;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .options-list + .no-margin a:hover {
    color: var(--color-link);
    text-decoration: underline;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .options-list + .no-margin a.has-icon:hover {
    text-decoration: none;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .options-list + .no-margin a.link-jump.has-icon .fa {
    position: relative;
    top: 2px;
    font-size: 1.3rem;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .options-list + .no-margin a.link-jump.has-icon span {
    
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .options-list + .no-margin a.link-jump.has-icon:hover span {
    text-decoration: underline;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset table td {
    padding: 0 !important;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset table td.image-option-list {
    padding-bottom: 0 !important;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset table td > div {
    padding: 1rem 0rem 1rem 0rem;
    margin: 0 1.5rem;
    width: calc(100% - 3rem);
    box-sizing: border-box;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset table td.image-option-list > div {
    padding-bottom: 2.5rem;
}

@media screen and (max-width: 767px) {

    body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset table td {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }

    body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset table td > div {
        margin: 0;
        width: 100%;
        box-sizing: border-box;
    }
}

/* zoom anchor - itoris-dynamicoptions-list-images - overrides */

body:not(.is-builder) .fields .hardware-option-list .options-list.itoris-dynamicoptions-list-images .choice .hardware-option-img-a  {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: calc(2.2rem + 10px);
    height: calc(2.2rem + 10px);
    
    font-size: 0px;
    box-sizing: border-box;
    /* background-color: rgba(255,255,255,0); */
}

body:not(.is-builder) .fields .hardware-option-list .options-list.itoris-dynamicoptions-list-images .choice .hardware-option-img-a:hover  {
    /* background-color: rgba(255,255,255,0.6); */
}

body:not(.is-builder) .fields .hardware-option-list .options-list.itoris-dynamicoptions-list-images .choice:not(.option-none) .hardware-option-img-a::before  {
    content: "\f00e";
    font-family: FontAwesome;
    font-size: 2.2rem;
    color: #FFF;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.3), -1px -1px 4px rgba(0,0,0,0.3);
    opacity: 0.5;/* 0 */
    -webkit-transition: all 0.3s 0s;
    transition: all 0.3s 0s;
    
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    padding: 5px;
    pointer-events: none;

    /* position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: calc(2rem + 10px);
    height: calc(2rem + 10px); */
}

.touch body:not(.is-builder) .fields .hardware-option-list .options-list.itoris-dynamicoptions-list-images .choice:not(.option-none) .hardware-option-img-a::before  {
    opacity: 0.9;
    pointer-events: auto;
}

body:not(.is-builder) .fields .hardware-option-list .options-list.itoris-dynamicoptions-list-images .choice:not(.option-none):hover .hardware-option-img-a::before  {
    color: var(--color-darker-purple);
    text-shadow: 1px 1px 4px rgba(255,255,255,0.4), -1px -1px 4px rgba(255,255,255,0.4);
    opacity: 1;
    -webkit-transition: all 0.3s 0s;
    transition: all 0.3s 0s;
    pointer-events: auto;
}

/* itoris-dynamicoptions-list-images - overrides */

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .form-list .fields .options-list.itoris-dynamicoptions-list-images {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
    gap: 1.2rem;
    padding: 0;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .form-list .fields .hardware-option-list .options-list.itoris-dynamicoptions-list-images {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(106px, 1fr));
    gap: 1rem;
    padding: 0;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .form-list .fields .image-option-list .options-list.itoris-dynamicoptions-list-images {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(71px, 1fr));
    gap: 1.2rem;
    padding: 0;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .form-list .fields .image-option-list.larger .options-list.itoris-dynamicoptions-list-images {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 1rem;
}

@media screen and (min-width: 1092px) and (max-width: 1200px) {

    body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .form-list .fields .hardware-option-list .options-list.itoris-dynamicoptions-list-images {
        grid-template-columns: repeat(auto-fill, minmax(103px, 1fr));
        gap: 1rem;
    }
}

@media screen and (min-width: 768px) and (max-width: 1091px) {

    body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .form-list .fields .hardware-option-list .options-list.itoris-dynamicoptions-list-images {
        grid-template-columns: repeat(auto-fill, minmax(86px, 1fr));
        gap: 1rem;
    }
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions table.form-list tr.fields:nth-child(1) td > .field {
    margin-bottom: 0;
}

body:not(.is-builder) #itoris_dynamicproductoptions .form-list .fields > .accept-terms > .field {
    /* padding-top: 0; */
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions table.form-list tr.fields:nth-child(1) td.accept-terms > .fields {
    /* padding-top: 0; */
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions table.form-list tr.fields:not(:nth-child(1)) td > .field {
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding-top: 1rem;
    padding-bottom: 0;
    border-top: 1px solid #EEE;
    border-bottom: 0 none;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions table.form-list tr.fields.has-ecs_cd-hide:nth-child(1) + tr.fields:not(:nth-child(1)) td > .field {
    margin-top: 0;
    border-top: 0 none;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions div.fieldset:nth-child(1) table.form-list tr.fields:nth-child(2) td > .field {
    /* margin: 0;
    padding: 0;
    border-top: 0 none; */
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions table.form-list tr.fields:only-of-type td > .field {
    /* padding-bottom: 0; */
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset table tr:nth-last-child(1) td,
body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset table tr:only-of-type td {
    padding-bottom: 0 !important;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset table tr:nth-last-child(1) td.accept-terms,
body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset table tr:only-of-type td.accept-terms {
    /* padding-bottom: 1rem !important; */
}

#product-options-wrapper:not(.table-based-options-not-builder) .options-list .field.choice > label.admin__field-label > span:first-of-type {
    padding-right: 1rem;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fields .field > label:not(.label) {
    display: inline-block;
    margin-bottom: 1rem;
    padding-top: 0.5rem;
    line-height: 2rem;
    font-size: 1.5rem;
    line-height: 2rem;
    letter-spacing: -0.3px;
    font-weight: 500;
    color: #444;
    cursor: pointer;
}

body:not(.is-builder) #itoris_dynamicproductoptions tr.fields td.accept-terms div.field label {
    /* letter-spacing: 0.5px; */
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions table .fields td.accept-terms .field > label:not(.label) {
    /* display: none;
    opacity: 0;
    pointer-events: none;
    line-height: 1rem;
    margin-bottom: 0;
    padding-top: 0; */
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fields .image-option-list .field .options-list.itoris-dynamicoptions-list-images .choice {
    display: flex;
    flex-direction: column;
    cursor: pointer;
    margin-bottom: 0px;
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fields .field .options-list.itoris-dynamicoptions-list-images .choice,
body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fields .hardware-option-list .field .options-list.itoris-dynamicoptions-list-images .choice {
    display: grid;
    grid-template-rows: min-content min-content;
    grid-template-columns: 1fr;
    justify-content: center;
    cursor: pointer;
    padding-bottom: 5px;
    /* margin-bottom: 5px; */
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fields .hardware-option-list .field .options-list.itoris-dynamicoptions-list-images .choice {
    position: relative;
}

/* body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fields .image-option-list .field .options-list.itoris-dynamicoptions-list-images .choice::before {
    content: " ";
    top: 0px;
    left: 0px;
    pointer-events: none;
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 1;
    background-size: 100% 100%;
    background: transparent url('../images/swatch-fabric-mask-original.png') no-repeat scroll 0px 0px / 101% 101%;
    pointer-events: none;
} */


body:not(.is-builder) #itoris_dynamicproductoptions tr.fields td.read-only div.field .choice {
    pointer-events: none !important;
}

body:not(.is-builder) #itoris_dynamicproductoptions tr.fields td.read-only div.field label.required::after {
    content: '';
}

body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions select {
    margin-bottom: 0;
}

#itoris_dynamicproductoptions .form-list.option-fields-cols-1 .field .control {
    display: flex;
    flex-direction: column;
}

#itoris_dynamicproductoptions .mage-error {
    order: -1;
    margin-bottom: 1rem;
    margin-top: 0;
}

@media screen and (max-width: 659px) {

    body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fields .field > label:not(.label) {
        font-size: 1.4rem;
    }

    body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .form-list .fields .hardware-option-list .options-list.itoris-dynamicoptions-list-images {
        grid-template-columns: repeat(auto-fill, minmax(79px, 1fr));
    }

    body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .form-list .fields .options-list.itoris-dynamicoptions-list-images {
        grid-template-columns: repeat(auto-fill, minmax(68px, 1fr));
        gap: 1rem;
    }

    body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .form-list .fields .image-option-list .options-list.itoris-dynamicoptions-list-images {
        grid-template-columns: repeat(auto-fill, minmax(68px, 1fr));
        gap: 1rem;
    }
}

/* start - hide custom option - .ecs_cd-hide */

body:not(.is-builder) #itoris_dynamicproductoptions li.fields.ecs_cd-hide:not(.ecs_cd-disabled),
body:not(.is-builder) #itoris_dynamicproductoptions tr.fields > td.ecs_cd-hide:not(.ecs_cd-disabled)  {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: -1;
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0 !important;
    margin: 0  !important;
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
    clip-path: inset(0px 0px 99.9% 99.9%);
    background-color: #FFC;
}

body:not(.is-builder) #itoris_dynamicproductoptions li.fields.ecs_cd-hide.ecs_cd-disabled .control,
body:not(.is-builder) #itoris_dynamicproductoptions tr.fields > td.ecs_cd-hide.ecs_cd-disabled .control {
    position: relative;
}

body:not(.is-builder) #itoris_dynamicproductoptions .fields.ecs_cd-hide.ecs_cd-disabled .control::before,
body:not(.is-builder) #itoris_dynamicproductoptions tr.fields > td.ecs_cd-hide.ecs_cd-disabled .control::before {
    content: "";
    position: absolute;
    top: 4px;
    right: 4px;
    width: 30px;
    height: 30px;
    background: #FFF;
    z-index: 1;
}

body:not(.is-builder) #itoris_dynamicproductoptions .fields.ecs_cd-hide.ecs_cd-disabled .control select,
body:not(.is-builder) #itoris_dynamicproductoptions tr.fields > td.ecs_cd-hide.ecs_cd-disabled .control select {
    padding: 0;
    border: 0 none transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: 0;
    pointer-events: none;
}

body:not(.is-builder) #itoris_dynamicproductoptions .fields.ecs_cd-hide.ecs_cd-disabled .control select::-ms-expand,
body:not(.is-builder) #itoris_dynamicproductoptions tr.fields > td.ecs_cd-hide.ecs_cd-disabled .control select::-ms-expand {
    display: none;
}

body:not(.is-builder) #itoris_dynamicproductoptions .fields.ecs_cd-hide.ecs_cd-disabled .control .dpo_dd_mask,
body:not(.is-builder) #itoris_dynamicproductoptions tr.fields > td.ecs_cd-hide.ecs_cd-disabled .control .dpo_dd_mask {
    pointer-events: none;
}

/* end - hide custom option - .ecs_cd-hide */

.sale-tag {
    display: inline-block;
    background: #e4f4e4d4;/* #e4f4e4 */
    color: #0d3e0d;
    font-style: normal;
    font-size: 1.2rem;
    font-family: var(--font-family);
    font-weight: 400;
    line-height: 1.75rem;
    padding: 1rem 1.2rem;
    margin-top: 0.5rem;
    cursor: default;
}

.sale-tag .fa {
    color: #0d3e0dd6;
}

.sale-tag a {
    color: inherit !important;
    text-decoration: underline;
    cursor: pointer;
}

.tooltip-tag,
.warning-tag,
.error-tag,
#itoris_dynamicproductoptions .mage-error  {
    display: inline-block;
    line-height: 1.8rem;
    font-style: normal;
    font-size: 1.2rem;
    font-family: var(--font-family);
    font-weight: 400;
    padding: 1rem 1.2rem;
    margin-top: 0.5rem;
    cursor: default;
}

#itoris_dynamicproductoptions .mage-error  {
    margin-top: 0rem;
}

.tooltip-tag,
.warning-tag {
    background: #FDECD0BD;/* #F9EEDB96 #FFF5DFC4 #FFF5DF #FDF3DD #FBEED3 */
    color: #222;
}

.tooltip-tag .fa,
.warning-tag .fa {
    /* display: none; */
    color: #444;
}

.tooltip-tag a,
.warning-tag a {
    text-decoration: underline;
}

.error-tag,
#itoris_dynamicproductoptions .mage-error {
    background: #FBC6C0D9;
    color: #222;
}

.error-tag .fa,
#itoris_dynamicproductoptions .mage-error .fa {
    display: none;
    color: #444;
}

@media screen and (max-width: 767px) {

    .tooltip-tag,
    .warning-tag,
    .error-tag,
    #itoris_dynamicproductoptions .mage-error  {
        /* line-height: 1.6rem; */
    }
}

/*  image-option-list - show more fabrics */

.show-more .control .options-list.itoris-dynamicoptions-list-images > div,
body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fields .image-option-list.show-more .field .options-list.itoris-dynamicoptions-list-images .choice {
    display:none;
    /* padding: 10px;
    border-width: 0 1px 1px 0;
    border-style: solid;
    border-color: #fff;
    box-shadow: 0 1px 1px #ccc;
    margin-bottom: 5px;
    background-color: #f1f1f1; */
}

.show-more .control .options-list.itoris-dynamicoptions-list-images > div.display,
body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fields .image-option-list.show-more .field .options-list.itoris-dynamicoptions-list-images .choice.display {
	display: flex;
}

.show-more .control {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.show-more .control .loadMoreFabrics {
    display: inline-block;
    margin: 2rem 0px 1rem;
    padding: 0.5rem 1rem;
    text-align: center;
    background-color: #FFF;
    border: 1px solid #DDD;
    border-radius: 3px;
    color: var(--color-link-hover);
    text-decoration: none;
    -webkit-transition: all 600ms ease-in-out;
    transition: all 600ms ease-in-out;
}

.show-more .control .loadMoreFabrics:hover {
    background-color: var(--color-link-hover);
    color: #fff;
    text-decoration: none;
    border-color: var(--color-link-hover);
    border-radius: 3px;
}

/* -------------------- */
/* steps label sticky */

html #cd-builder-fake .cd-steps__panel .cd-steps__label.has-sticky,
body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset-section .legend.section-title.cd-steps__label.has-sticky {
    /* position: -webkit-sticky;
    position: sticky;
    top: -1px;
    z-index: 2; */
}

html #cd-builder-fake .cd-steps__panel .cd-steps__label.has-sticky,
body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset-section .legend.section-title.cd-steps__label.has-sticky {
    margin-bottom: 0rem;
    -webkit-transition: margin-bottom 0.3s 0s;
    transition: margin-bottom 0.3s 0s;
}

html #cd-builder-fake .cd-steps__panel.is-pinned .cd-steps__label.has-sticky,
body:not(.is-builder) .product-options-wrapper.table-based-options-not-builder #itoris_dynamicproductoptions .fieldset-section.is-pinned .legend.section-title.cd-steps__label.has-sticky {
    margin-bottom: 2.5rem;
    -webkit-transition: margin-bottom 0.3s 0s;
    transition: margin-bottom 0.3s 0s;
}

/* -------------------- */
/* steps label subtotal */

/* #cd-builder-fake .cd-steps .cd-steps__label .cd-subtotal-label,
.cd-subtotal.cd-subtotal-label {
    display: block;
    position: absolute;
    top: 50%;
    right: 4.15rem;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.3rem;
    text-align: right;
    text-transform: uppercase;
    color: #111;
    opacity: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none;

    right: 1.6rem;
    top: 3rem;
    padding-top: 1px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4rem;
    color: #000;
}

#cd-builder-fake #product_addtocart_form.add-to-cart-submit .cd-steps .cd-steps__label .cd-subtotal-label,
#cd-builder-fake #product_addtocart_form.add-to-cart-submit-ajax-wait .cd-steps .cd-steps__label .cd-subtotal-label {
    display: none;
}

#cd-builder-fake .cd-steps .is-pinned .cd-steps__label .cd-subtotal-label {
    display: block;
    
    opacity: 1;
    -webkit-transition: opacity 0.5s 0.3s;
    transition: opacity 0.5s 0.3s;
} 

#cd-builder-fake.steps-always-closed .cd-steps .cd-steps__panel--selected .cd-steps__label .cd-subtotal-label {
    right: 3.6rem;
}

#cd-builder-fake .cd-steps .cd-steps__label .cd-subtotal-label:not(:empty)::before,
.cd-subtotal.cd-subtotal-label::before {
    content: "per panel";
    position: absolute;
    top: -1.7rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    line-height: 1.2rem;
    font-size: 11px;
    font-weight: 300;
    color: #555;
    text-transform: lowercase;
    text-align: right;
    white-space: nowrap;
}

@media screen and (min-width: 1024px) {

    #cd-builder-fake .cd-steps .cd-steps__label .cd-subtotal-label {
        font-size: 20px;
    } 

    .product-info-main.cd-size-inputs-invalid #cd-builder-fake .cd-steps .cd-steps__label .cd-subtotal-label::after {
        font-size: 20px;
    }
}

@media screen and (min-width: 768px) and (min-width: 1023px) {

    #cd-builder-fake .cd-steps .cd-steps__label .cd-subtotal-label {
        font-size: 18px;
    } 

    .product-info-main.cd-size-inputs-invalid #cd-builder-fake .cd-steps .cd-steps__label .cd-subtotal-label::after {
        font-size: 18px;
    }
}

@media screen and (max-width: 421px) {
    
    #cd-builder-fake .cd-steps #cd-step-fabric .cd-steps__label .cd-subtotal-label {
        font-size: 17px;
    } 

    .product-info-main.cd-size-inputs-invalid #cd-builder-fake .cd-steps .cd-steps__label .cd-subtotal-label::after {
        font-size: 17px;
    }

    #cd-builder-fake .cd-steps .cd-steps__panel--selected:not(#cd-step-fabric) .cd-steps__label .cd-subtotal-label {
        
    } 
    
    #cd-builder-fake .cd-steps .cd-steps__panel--selected.is-pinned:not(#cd-step-fabric) .cd-steps__label .cd-subtotal-label {
        
    }
} */
/* ---------------- */