/**
* 2007-2019 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author DMConcept <support@dmconcept.fr>
*  @copyright 2015 DMConcept
*  @license   http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*
* Don't forget to prefix your containers with your own identifier
* to avoid any conflicts with others containers.
*/

/********************
      PRODUCT
********************/
#image-block{
	margin-bottom: 10px;
}

.pb-left-column #thumbs_list{
	width: 200px;
}

.pb-left-column #image-block #view_full_size .span_link{
	z-index: 5000;
}

.pb-left-column #image-block img{
	background: none !important;
}

#product-modal,
#configuratorPreviewModalConfirmation{
    z-index: 0;
}
#product-modal.in,
#configuratorPreviewModalConfirmation.in{
    z-index: 999999999999;
}
#configuratorPreviewModalConfirmation{
    max-width: 100vw;
}
#configuratorPreviewModalConfirmation .modal-dialog{
    max-width: 90vw;
    margin: 0 5vw;
}
#configuratorPreviewModalConfirmation .modal-content{
    width: 100%;
}

/********************
    CONFIGURATOR
********************/
.configurator-visualisation{
    position: sticky;
    top: 175px;
    margin-bottom: 100px;
    z-index: 1;
}
.configurator-content{
    padding-left: 20px;
}
.configurator-content .product-information {
    background: #F9F9F9;
    padding: 25px 20px 20px;
}
#product .product-container .configurator-content .h1{
    font-weight: 500;
    font-size: 26px;
    line-height: 30px;
    color: #3E3E40;
    margin-bottom: 5px;
}
#product .product-container .configurator-content .required-header{
    text-align: right;
    margin-bottom: 30px;
}
#configurator_preview_container {
    position: relative;
    margin: 20px -20px -20px;
}
#configurator_preview{
    z-index : 6000;
}
#configurator_preview.loading:not(.scroll-to-fixed-fixed) {
	position: relative !important;
}
@media(max-width: 992px) {
	#configurator_preview_clear::before, #configurator_preview_clear::after {
		content: " ";
		display: table;
	}
	#configurator_preview_clear::after {
		clear: both;
	}
	#configurator_preview_clear::before, #configurator_preview_clear::after {
		content: " ";
		display: table;
	}
}

.total_price_sticky{
    background: rgba(0, 0, 0, 0.03);
    box-shadow: 0px 4px 40px rgb(0 0 0 / 15%);
    border-radius: 5px 0 0 5px;
    font-weight: normal;
    font-size: 18px;
    line-height: 30px;
    color: #000;
    white-space: nowrap;
    position: sticky;
    top: 85%;
    z-index: 2;
    display: flex;
    transform: translateX(-100%);
    margin-left: -33px;
    margin-top: -50px;
    padding: 10px 20px;
    width: fit-content;
}
.total_price_sticky .total_price_label{
    margin-left: 10px;
}

#configurator_preview{
    width: 100%;
}

#configurator_block .error-step p {
	font-weight: bold;
	color: #f13340;
}

#configurator_block .info_text p{
    color:#232323;
    margin-top: -10px;
}

#configurator_block .info-step p {
	font-weight: bold;
	color: #2fb5d2;
}

#configurator_block .step_list label.title {
    margin-bottom: 15px;
    display: block;
    text-align: left;
    clear: both;
}

#configurator_block .step_list label .step_title {
    font-weight: bold;
    font-size: 16px;
    line-height: 20px;
    color: #3E3E40;
    margin-bottom: 0;
    padding: 0 0 7px 0;
    text-transform: uppercase;
}

#configurator_block .step_list label .step_title .material-icons {
    margin-left:-30px;
}

#configurator_block input[type=number]::-webkit-outer-spin-button
#configurator_block input[type=number]::-webkit-outer-spin-button, 
#configurator_block input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: inner-spin-button !important;
}


.dmicons:after{
    content: "";
    background: url(../img/icon/chevron_up.png) no-repeat center;
    display: block;
    position: absolute;
    z-index: 1;
    width: 12px;
    height: 8px;
    right: 0;
    top: 10px;
    transition-duration: .2s;
}
.title.collapsed .dmicons:after{
    transform: rotateX(180deg);
}

#configurator_block .step_group.grey-background .option-content{
    background: #EEEEEE;
    border: 1px solid #E6E6E6;
    border-radius: 2px;
    padding: 15px 10px;
}

.configurator-top-block .product-cover{
    max-width: 100%;
}
.configurator-top-block .images-container .product-images {
    grid-template-columns: repeat(3, 1fr);
}

#configurator_block sup{
    font-weight: bold;
    color: #f13340;
    font-size: 17px;
    top: -3px;
}

#configurator_block .display-step-amount {
    background-color: #3BB231;
    border-radius: 3px;
    color: #fff;
    display: block;
    float: right;
    font-weight: 400;
    font-size: 13px;
    line-height: 16px;
    padding: 2px;
    margin: 4px 20px 0 0;
    position: relative;
    min-width: 80px;
    text-align: center;
}

#configurator_block .page-heading{
	margin-top: 0;
}

#configurator_block .page-heading .required{
    text-transform: none;
    font-size: 14px;
    font-weight: normal;
}

#configurator_block .step_list div > span{
    top: 0;
}

#configurator_block .step_list div.radio{
    width: 14px;
    height: 14px;
    margin-right: 5px;
}
#configurator_block .step_list div.radio span{
    width: 14px;
    height: 14px;
    background-image: url(../img/radio.png);
    background-position: 0;
    top: 1px;
}
#configurator_block .step_list div.radio span input[type="radio"]{
    width: 14px;
    height: 14px;
    border: none;
    background: transparent;
    display: block;
}
#configurator_block .step_list div.radio:hover span,
#configurator_block .step_list div.radio.hover span,
#configurator_block .step_list div.radio.focus span,
#configurator_block .step_list div.radio.active span,
#configurator_block .step_list div.radio span.checked{
    background-image: url(../img/radio-checked.png);
}

#configurator_block .step_group.radio-choice .step_options {
    margin-right: 0;
    gap: 10px 40px;
}
.configurator-visualisation .texture-preview{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 20px;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
}
.configurator-visualisation .texture-preview img{
    width: 90%;
    height: auto;
}
.configurator-visualisation .texture-preview .texture-name{
    background-color: white;
    text-align: center;
}

#configurator_block .info,
#configurator_block .info-fb{
    cursor: pointer;
    padding: 0;
    margin-left: 10px;
}

#configurator_block .step_options{
    display: flex;
    flex-wrap: wrap;
}

#configurator_block .option_block{
    cursor: pointer;
    margin: 0 15px 20px 0;
    position: relative;
    text-align: center;
}
#configurator_block .step_group:not(.material) .step_options > div:nth-child(3n+3){
    margin-right: 0;
}
#configurator_block .step_group.material .step_options > div:nth-child(4n+4){
    margin-right: 0;
}
#configurator_block .step_group.material .step_options > div{
    margin-bottom: 10px;
}
#product .product-container #configurator_block .material .option_block.colortexture .option_block_content .option_img .option_name{
    white-space: normal;
}

#configurator_block .option_block .configurator-zoom{
	position: absolute;
	background: #000;
	top: 0;
	right: 0;
	color: #fff;
	font-size: 16px;
	padding: 4px 5px;
	cursor: pointer;
	display: none;
}

#configurator_block .option_block:hover .configurator-zoom{
	display: block;
}

#configurator_block .option_block.color:hover .configurator-zoom{
	display: none;
}

#configurator_block .custom .quantity_wanted input{
    max-width: 175px;
}

#configurator_block .quantity_wanted input.qty-inline{
	margin: 0;
	display: inline-block;
}

#configurator_block .option label{
    font-weight: normal;
    font-size: 14px;
    line-height: 20px;
    color: #2B2B2B;
	cursor: pointer;
    margin-bottom: 0;
}

#configurator_block .option .quantity_wanted{
    display: inline-block;
    position: relative;
    top: 10px;
	margin: 0;
}

#configurator_block .label.totalprice {
	font-size: 92%;
}

#configurator_block .option_block .label.totalprice {
	margin-top: 15px;
}

#configurator_block .option_block.custom.selected .label.totalprice {
	margin-top: 11px;
}

#configurator_block .option_block.colortexture .label.totalprice {
	max-width: 113px;
}

#configurator_block .option_block .option_block_content{
	position: relative;
	margin: 0 auto;
}
#configurator_block .option_block .option_block_content .option_name{
    font-size: 13px;
    text-align: left;
    white-space: nowrap;
    padding: 0 10px;
}

#configurator_block .option_block .option_block_content .option_content{
    padding: 0 10px;
}
#configurator_block .option_block .option_block_content .option_content,
#configurator_block .option_block .option_block_content .option_content p{
    font-weight: normal;
    font-size: 12px;
    line-height: 15px;
    color: #000000;
    margin: 0;
    text-align: left;
}
#configurator_block .option_block .option_block_content .option_content .description-padding-top{
    margin-top: 5px;
}
#configurator_block .option_block .option_block_content .option_content p .description-padding-bottom{
    display: block;
    margin-bottom: 6px;
}
#configurator_block .option_block .option_block_content .label{
    display: block;
    margin-left: 0;
    margin-top: 15px;
}

#configurator_block .option_block .option_block_content .label:empty {
    display: none;
}

#configurator_block .option_group .label{
	padding: 3px;
}

#configurator_block .option_block.colortexture .option_block_content .label{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: auto;
    margin: 0;
    z-index: 1;
    background: white;
    padding-right:26px;
    font-weight: bold;
    font-size: 12px;
}
#configurator_block .option_block.colortexture .option_block_content .label.amount{
    font-weight: bold;
    font-size: 14px;
    line-height: 20px;
    color: #000000;
    text-align: left;
    padding: 10px;
}

#configurator_block .step_group .table .row-title{
    display: block;
    text-align: right;
}

#configurator_block .step_group .table .col-title{
    display: block;
    text-align: left;
}

#configurator_block .step_group .table thead > tr > td,
#configurator_block .step_group .table tbody > tr > td.table-cell{
    text-align: center;
    /*remove padding from bootstrap in order to have centered-text*/
    padding-left: 8px;
    vertical-align: middle;
    line-height: 9px;
}

#configurator_block .step_group td.selected{
    background-color: #ddf9e1;
    color: #35b33f;
}

#configurator_block .step_group td.table-cell{
    cursor: pointer;    
}

#configurator_block .option_block.selected .option_block_content{
   /* border: #46a74e solid 1px;
    -moz-box-shadow: inset 0px 0px 20px -10px #656565;
    -webkit-box-shadow: inset 0px 0px 20px -10px #656565;
    -o-box-shadow: inset 0px 0px 20px -10px #656565;
    box-shadow: inset 0px 0px 20px -10px #656565;
    filter:progid:DXImageTransform.Microsoft.Shadow(color=#656565, Direction=NaN, Strength=20);*/
}

#configurator_block .option_block.selected .option_block_content::after {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAOCAYAAADNGCeJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAC6SURBVHgBpdDRDcIgEAbgO/riY0foCOirfagjOIoTqBMZdYC++qYjsEcTTo6IEcR6pX8C5AJ8uRzAjLTn1WF9WRKfXCMUhgFC2ofaAu0qKEgKvbpaTO4sBxGBsZY2iovupOv2qrs50G37MMpBzVDhnQj7MMgSiGvloN6djb90j3OgBPKYWyZ6lIBSiIM8r0G57hB0dEF4DLgE8n94+wWmGYPemAT8B0XYGCiBvrAcKIWy2CdIALUU4jwBYzmtR7K2DW8AAAAASUVORK5CYII=);
    border-radius: 30px;
    color: #3BB331;
    content: " ";
    display: block;
    font-family: "FontAwesome";
    font-size: 25px;
    position: absolute;
    top: -11px;
    right: -11px;
    z-index: 1;
    height: 30px;
    width: 30px;
    background-repeat: no-repeat;
    border: 2px solid;
    background-color: white;
    background-position: center center;
}

.form-group.form-ok.quantity_wanted input.qty{
    background: none;
    background-color: #ddf9e1;
    /*padding: 3px 5px;*/
}

.form-group.form-error.quantity_wanted  input.qty{
    background: none;
    background-color: #fff1f2;
    padding: 3px 5px;
}

#configurator_block .option_block{
    border-radius: 2px;
}
#configurator_block .option_block.colortexture .option_block_content{
    height: 280px;
    width: 100%;
}
#configurator_block .option_block.colortexture{
    border: 1px solid #E6E6E6;
}
#configurator_block .option_block.selected{
    border: 1px solid #3BB331;
    outline: 1px solid #3BB331;
    background: #fff;
}
#configurator_block .option_block:hover .option_block_content{
    background: #fff;
}

#configurator_block .option_block.colortexture img{
	width: 100%;
	height: 100px;
}
#configurator_block .option_block.texture .option_img .option_image{
    width: 100%;
    height: 130px;
    padding: 10px 25px 20px;
}
#configurator_block .material .option_block.texture .option_img .option_image{
    width: 0;
    height: auto;
    padding: 0;
}
#configurator_block .option_block.texture .option_img img{
    height: auto;
    max-height: 100%;
    width: auto;
    max-width: 100%;
}
#configurator_block .material .option_block.texture .option_img img{
    max-width: 100px;
    position: absolute;
    top: 0;
}

#configurator_block .option_block.custom{
    min-height: 175px;
    width: 125px;
}

#configurator_block .option_block .option_img > img{
    width: 100%;
}

#configurator_block .option_block.colortexture .option_img{
	width: 100px;
	height: 100%;
    background: #EEEEEE;
    transition: .3s;
}
#configurator_block .option_block.colortexture.selected .option_img,
#configurator_block .option_block.colortexture:hover .option_img{
    background: #fff;
}

#configurator_block .option_block.custom .option_img{
	height: 120px;
	overflow: hidden;
}

#configurator_block .option_block.custom .option_block_content{
        border: 1px solid #d6d4d4; 
}

#configurator_block .step-color-texture .option_block, 
#configurator_block .step-color-texture .option_block .option_img {
    min-height: auto;
}
#configurator_block .step-color-texture .option_block{
    width: 150px;
}
#configurator_block .step-color-texture .option_block .option_img {
    width: 100%;
}
#configurator_block .material .step-color-texture .option_block{
    width: 100%;
    max-width: 100px;
}
#configurator_block .material .step-color-texture .option_block .option_img {
    width: 100%;
    max-width: 100px;
}

#configurator_block .option_block img{
    margin: 0 auto;
	max-height: 100%;
}

#configurator_block div.checker{
    display: inline-block;
}

#configurator_block .step_options hr{
    border-style: dashed none none;
}

#configurator_block .step_options.collapsing,
#configurator_block .step_options.in{
    padding-left: 25px;
}

#configurator_block .step_options.in{
    border-left: 2px solid #0074df;
}

/********************
    PREVIEW
********************/
#configurator_block > .col-md-3{
    position: static;
}
#configurator_preview .dl-horizontal dt{
    text-align: left;
    width: 125px;
}
#configurator_preview .dl-horizontal dd{
    margin-left: 130px;
}
#configurator_preview .dl-final-price dt{
    margin-top: 4px;
}
#configurator_preview #final_price,
#configurator_preview #old_price{
    font-weight: bold;
    font-size: 18px;
	display: inline-block;
}
#configurator_preview #old_price{
	text-decoration: line-through;
}
#configurator_preview .list-group {
    max-height: 300px;
    overflow: auto;
}
@media(max-width: 992px) {
    #configurator_preview #configurator-progress { display:none; }
    #configurator_preview .list-group { max-height: 100px; }
    #configurator_preview .list-group .list-group-item { padding:0px 10px; }
    #configurator_preview .list-group .list-group-item strong { display:inline-block; }
}
#configurator_preview .list-group-item strong{
    /*text-transform: uppercase;*/
}
#configurator_preview .advantage{
	color: #b53930;
}
#configurator_preview dt.advantage{
	white-space: normal;
	margin-top: -5px;
}

#configurator_preview { 
    background: #fff;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#configurator_preview .configuration-elements{
    width: 100%;
}
#configurator_preview .configuration-elements .page-subheading{
    text-transform: uppercase;
    padding: 16px 20px 14px;
    background: #D6D6D6;
    margin-bottom: 22px;
    font-weight: bold;
    font-size: 24px;
    line-height: 30px;
    color: #3E3E40;
}
#configurator_preview .configuration-elements .selected-items{
    padding: 0 20px;
    margin-bottom: 23px;
}
#configurator_preview .configuration-elements .selected-items a{
    font-size: 14px;
    line-height: 22px;
    color: #3E3E40;
}

#configuratorPreviewModalConfirmation{
    background-color: rgba(0, 0, 0, 0.5);
}
#configurator_preview .dl-final-price{
    display: flex;
    flex-direction: column;
    margin-bottom: 21px;
}
#configurator_preview .dl-final-price dt,
#configurator_preview .dl-final-price dd {
    display:inline-block;
    width: 100%;
    text-align:right;
    margin:0;
}
#configurator_preview .dl-final-price dt{
    font-weight: normal;
    font-size: 16px;
    line-height: 20px;
    color: #757575;
    margin-bottom: 8px;
}
#configurator_preview .dl-final-price dd#final_price{
    font-weight: bold;
    font-size: 40px;
    line-height: 50px;
    color: #3E3E40;
}
.modal-backdrop.modal-backdrop--custom{
    background-color: transparent!important;
}
/********************
    PRICES BLOCK
********************/
.button.configure_link {
	font: 700 17px/21px Arial, Helvetica, sans-serif;
	color: #fff;
	text-shadow: 1px 1px rgba(0, 0, 0, 0.2);
	padding: 0;
	border: 1px solid;
	border-color: #0079b6 #006fa8 #012740 #006fa8; 
	margin: 0 7px 10px;}
.button.configure_link span {
    border: 1px solid;
    border-color: #06b2e6;
    padding: 10px 14px;
    display: block;
    background: #009ad0;
    background: -moz-linear-gradient(top, #009ad0 0%, #007ab7 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #009ad0), color-stop(100%, #007ab7));
    background: -webkit-linear-gradient(top, #009ad0 0%, #007ab7 100%);
    background: -o-linear-gradient(top, #009ad0 0%, #007ab7 100%);
    background: -ms-linear-gradient(top, #009ad0 0%, #007ab7 100%);
    background: linear-gradient(to bottom, #009ad0 0%, #007ab7 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#009ad0', endColorstr='#007ab7',GradientType=0); }
.button.configure_link:hover {
    border-color: #01314e #004b74 #0079b6 #004b74; }
.button.configure_link:hover span {
	filter: none;
	background: #0084bf; }

#buy_block .configure_link{
    width: 80%;
    text-align: center;
    display: block;
    margin: 15px auto;
}

.our_price_display .from_price{
    display: block;
}

#quantity-configurator-label {
    display: block;
    margin: 0 12px 0 0;
    font-size: 16px;
    font-weight: normal;
    line-height: 20px;
    color: #757575;
}
.configurator-qty {
    display: block; 
    width: 90px;
    height: 60px;
    background: #F9F9F9;
    border: 1px solid #EEEEEE;
    border-radius: 2px;
}
.configurator-qty .bootstrap-touchspin {
    float: none;
    display: grid;
    grid-template-columns: 1fr 1fr; 
    grid-template-rows: 1fr 1fr; 
    gap: 0px 0px; 
    grid-template-areas: 
      "input qty-up"
      "input qty-down"; 
}
.configurator-qty #quantity-configurator{
    font-weight: 300;
    font-size: 18px;
    line-height: 22px;
    color: #223C52;
    text-align: center;
    width: 60px;
    height: 60px;
    background: transparent;
    border: none;
    grid-area: input;
}
.configurator-qty .bootstrap-touchspin .input-group-btn{
    height: 30px;
    width: 30px;
}
.configurator-qty .bootstrap-touchspin .input-group-btn:first-of-type{
    grid-area: qty-down;
}
.configurator-qty .bootstrap-touchspin .input-group-btn:last-of-type{
    grid-area: qty-up;
}
.configurator-qty .bootstrap-touchspin.input-group .input-group-btn > .btn{
    background: transparent;
    padding: 0;
    font-weight: bold;
    font-size: 18px;
    line-height: 22px;
    text-align: center;
    color: #223C52;
    height: 30px;
    width: 30px;
}
.configurator-qty .bootstrap-touchspin .input-group-btn:first-of-type > .btn{
    padding-bottom: 10px;
}
.configurator-qty .bootstrap-touchspin .input-group-btn:last-of-type > .btn{
    padding-top: 10px;
}

.configurator-qty .form-group { 
    margin-bottom:0;
}
.configurator-add {
    flex-grow: 1;
    width: 100%;
    max-width: 310px;
    margin-left: 20px;
}
.configurator-add button {
    height: 60px;
    outline: none;
    border: none;
    width: 100%;
    border-radius: 2px;
    transition: all .3s ease-in-out;
}
.configurator-add button:hover {
    background: #000;
    border: none;
    color: #fff;
}
.configurator-add #current_configurator_to_cart svg{
    fill: #fff;
    margin: 0 20px -5px 0;
}
#configurator_preview_buttons{
    display: flex;
    width: 100%;
    flex-direction: column;
    border-top: 1px solid #EEEEEE;
    padding-top: 35px;
}
#form_add_configurator_to_cart{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/********************
    CONFIRM TO CART MODAL   
********************/
#form_add_configurator_to_cart_modal .modal-footer {
    display: flex;
    justify-content: space-between;
}
#form_add_configurator_to_cart_modal .modal-footer #add_configurator_to_cart_modal{
    color: #fff;
    background-color: #000;
    margin-left: 20px;
    padding: 1rem 20px!important;
}
/********************
    CART SUMMARY
********************/
#order .cart_description ul.configurator li strong{
    color: #525252;
}

/********************
    LOADER
********************/
.loading{
	position: relative;
}

.loading:before{
	content: "";
	display: block;
	background-color: rgb(255, 255, 255);
	background-color: rgba(255, 255, 255, 0.5);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9000;
	background-image: url("../img/loader.gif");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto;
}

/********************
    PROGRESS BAR
********************/
#configurator-progress{
    height: 80px;
    margin: 25px auto;
    position: relative;
    width: 80px;
}
#configurator-progress:after{
	content: "";
	background: url('../img/progress-bg.png') no-repeat 0px 0px / 100px 100px;
	display: block;
	position: absolute;
	z-index: 1;
	width: 100px;
	height: 100px;
	top: -10px;
	left: -10px;
}
#configurator-progress strong,
#configurator-progress canvas{
	position: relative;
	z-index: 2;
	color: #8b7f76;
	text-shadow: 0px 1px 30px rgba(250, 245, 239, 0.5);
}
#configurator-progress strong{
    font-size: 25px;
    left: 0;
    position: absolute;
    text-align: center;
    top: 29px;
    width: 100%;
}

/********************
    TABS
********************/
#configurator-tabs {
    text-align: center;
    margin-bottom:20px;
    display: none;
}

#configurator-tabs li:hover,
#configurator-tabs li:active,
#configurator-tabs li:focus {
    text-decoration: none;
}

#configurator-tabs li {
    background: #eee none repeat scroll 0 0;
    color: #333;
    cursor: pointer;
    display: inline-block;
    /*float: left;*/
    line-height: 45px;
    padding: 0;
    text-align: center;
    border-right: 1px solid #cfcfcf;
    border-bottom: 1px solid #fff;
}

#configurator-tabs li:last-child {
    border:none;
    border-radius: 0 7px 7px 0;
}

#configurator-tabs li:first-child {
    border-radius: 7px 0 0 7px;
}

#configurator-tabs li:only-child { 
    border-radius: 7px 7px 7px 7px;
}

#configurator-tabs li[data-selected=true] {
    text-shadow: 1px 1px rgba(0, 0, 0, 0.2);
    background: #0088C2;
    color:white;
}
#configurator-tabs li[disabled] {
    opacity: 0.5;
    cursor: default;
}
#configurator_block.tabs {
    margin:0;
    background: none;
}

.accordion-opened { border-color: #3276b1; }
.configurator-tab-page { cursor: pointer; font-weight: 600; font-size: 15px; }
.accordion-opened .configurator-tab-page { background: #3276b1; color: #fff; }
.configurator-tab-page i { transform: rotate(90deg); }
.accordion-opened .configurator-tab-page i { transform: rotate(-90deg); }
.configurator-accordions-actions { text-align: center; margin: 1rem; }

#configurator_block label span.label-default {
    /*border:1px solid rgba(0,0,0,.15);*/
    border-radius: 3px;
    font-size: 11px;
    font-weight: bold;
    background: #2fb5d2;
    color:white;
    display:inline-block;
    margin-left:5px;
    padding: 0 3px !important;
}

#configurator_block h1 span {
    text-transform: none;
    font-weight: normal;
    font-size: 0.9375rem;
    display: inline-block;
    float: right;
    height: 1.5rem;
    line-height: 1.6rem;
}

#configurator_block .form-group.form-error .form-control, .form-group.form-ok .form-control {
    padding-right: 30px;
}

#configurator_block .form-group.form-ok input, .form-group.form-ok textarea {
    border: 1px solid #46a74e;
    margin:0;
    border:none;
    color: #35b33f;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAYAAAAi2ky3AAAAiElEQVQokaXPwQ3DMAgF0D9LVugKhItlxvBOHQBbynBeITm0qSKRpOAg/dvnCYDBYZXCml6j+wCAucnCTVauuZMmeobsqbmHLzPIHpXyK7FKIU1TFJmbLLb0+dlgMeTw8xFzIQDANXdT/GJuBABIE51iFzlFotgt4sVcyD8shFxhQ4jF8tu7swGui+otf3QUOQAAAABJRU5ErkJggg==) 98% no-repeat #ddf9e1;
}

#configurator_block .quantity_wanted.form-group.form-ok input:focus,
#configurator_block .quantity_wanted.form-group.form-error input:focus{
    outline: 0;
}

#configurator_block .form-group.form-error input, .form-group.form-error textarea {
    border: 1px solid #f13340;
    color: #f13340;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAj0lEQVQokZWRsQ2AMAwEvVLsFuEUzMIKzMIKrMBO6JkAGiJMYiOI5CaXK3Imug5SP4E7oeCAdWw4RJdd8gHWDSkPjeTxclmmll3OnRBYNwusXEuGj4SUB0+OBqLL/YeP8kP6KruSSb6GolPbrRcF+yW5Mljn4NEarirc4xUiCobUTw2s673yAsE6u+EKN9IJydM/ZmaVOVAAAAAASUVORK5CYII=) 98% no-repeat #fff1f2;
}

#configurator_block .input-group-addon {
    padding: 6px 12px;
    font-size: 13px;
    font-weight: normal;
    line-height: 1;
    text-align: center;
    background-color: #eeeeee;
    border: 1px solid #d6d4d4;
    border-radius: 0px;
    color: #777;
}

#configurator_block .option_input.form-group {
    height: auto;
}

#configurator_block .step_group.form-group {
    height: auto;
}

#configurator_block input {
    background: white;
    border: 1px solid #d6d4d4;
}

#configurator_block .color, .custom-checkbox input[type="checkbox"] + span.color {
    width:100px;
    height:auto;
}

#configurator_block .hidden {
    display: none;
}

#configurator_block .option_block.option_group.colortexture.color.selected {
    border: 1px solid #46a74e;
}

#configurator_block .option_block.option_group.colortexture.color.selected .option_block_content{
    border: none;
    border-bottom: 1px solid #46a74e;
}

#configurator_block .color:hover {
	outline: 0;
	border: 0px solid;
	margin-top: 5px;
}

#configurator_block .color,#configurator_block .custom-checkbox input[type="checkbox"] + span.color {
    border:inherit;
}

#configurator_block .step_group {
    padding-bottom:10px;
    position: relative;
}

#configurator_block .step_group.info-on-this-step {
    border-color: #2fb5d2;
}

#configurator_block .step_group.error-on-this-step {
    border-color: #f13340;
}

#configurator_block .step_group.info-on-this-step label.title .step_title .material-icons,
#configurator_block .step_group.error-on-this-step label.title .step_title .material-icons {
    color: white;
}

#configurator_block .step_group {
    margin-bottom: 25px;
}

#add_configurator_to_cart { padding: .5rem .7rem; }
#add_configurator_to_cart i { margin-right: 0; }
#add_configurator_to_cart span { font-size: .9rem; }
#tab-action-next-preview { margin-top: 1rem; }


/* CONFIGURATOR STEP ERROR */
.configurator_step_error { background: url(../img/icon/form-error.png) no-repeat; width: 14px; display: inline-block; height: 14px; margin-right: 5px; }


/* UPLOAD - WEBCAM */
.step_group .uploader-webcam-block { position:relative; }
.step_group .uploader-webcam-block .uplaoder-webcam-actions { position:absolute; width:100%; text-align:center; bottom:25px; z-index:10; }
.step_group .uploader-webcam-block .uplaoder-webcam-actions .uploader-webcam-picture-btn { font-size: 40px; border-radius: 50%; padding: 10px 30px; }

.step_group .uploader-webcam-block.preview-on .uplaoder-webcam-actions .uploader-webcam-picture-btn { display:none; }
.step_group .uploader-webcam-block .webcam-preview { position: absolute; left: 0; width: 100%; }
.step_group .uploader-webcam-block.preview-on .uplaoder-webcam-actions .btn { padding: 5px 20px; font-size: 30px; }

.step_group .uploader-webcam-block.preview-off .uplaoder-webcam-actions .btn { display:none; }
.step_group .uploader-webcam-block.preview-off .uplaoder-webcam-actions .uploader-webcam-picture-btn { display:inline-block; }
.step_group .uploader-thumb { max-height: 50px; padding: 0 10px 0; }


/* UPLOAD - PROGRESS */
.step_group .configurator-progress { height: .5rem; background: #f6f6f6; margin-top: .5rem; }
.step_group .configurator-progress .progress-bar { height: .5rem; background: #0087ff; }
.step_group .configurator-progress.configurator-upload-finished .progress-bar { background: #b1df9e; }
.step_group .alert-success .configurator-progress.configurator-upload-finished { display: none; }


/* STEP PRODUCTS */
.option_block .option_block_content .product-name {
    height: 80px;
    overflow: hidden;
    display: block;
    font-size: 13px;
}

/* VIEWER 2D */
.dmviewer2d-dropzone { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 99999 !important; }
.dmviewer2d-dropzone-item { border-radius: 50%; display: block; position: absolute; border: rgba(0,100,200,0.5) dotted 1px; background: rgba(0,100,200,0.05); }
.dmviewer2d-dropzone-item img { vertical-align: top; }
.dmviewer2d-dropzone-item-hover, .dmviewer2d-dropzone-item-selected { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.dmviewer2d-dropzone-hover { background: rgba(255,0,0,0.2) }
.dmviewer2d-step-dropzone .option_block .option_img { overflow: initial !important; }
.dmviewer2d-step-dropzone .option_block .option_img .ui-draggable.ui-draggable-dragging { z-index: 10000; width: 18px !important; }
.dmviewer2d-step-dropzone .quantity_wanted { display: none !important; }

.hide-btn {
    display: none !important;
}

/* QUANTITY */
#configurator_block .option_block .quantity_wanted{
	margin-bottom: 0;
    border-top: 1px solid #E6E6E6;
    background: white;
    border-bottom-right-radius: 2px;
    border-bottom-left-radius: 2px;
}
#configurator_block .option_block .quantity_wanted .input-group {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 10px;
    z-index: 1;
}
#configurator_block .option_block .quantity_wanted .input-group input.form-control{
    display: block;
    background: #F9F9F9;
    border: 1px solid #EEEEEE;
    border-radius: 2px;
    width: 50px;
    height: 30px;
    padding: 5px 10px;
    margin: 0 10px;
    font-weight: normal;
    font-size: 18px;
    line-height: 20px;
    color: #223C52;
    text-align: center;
}
#configurator_block .option_block.selected .quantity_wanted .input-group input.form-control{
    border: 2px solid #3BB231;
    outline: 1px solid #3BB231;
    color: #3BB231;
}
#configurator_block .option_block .quantity_wanted .input-group .input-group-btn{
    width: 24px;
    height: 24px;
    border-radius: 100%;
}
#configurator_block .option_block .quantity_wanted .configurator-quantity-minus,
#configurator_block .option_block .quantity_wanted .configurator-quantity-plus{
    margin: 0;
    padding: 0;
    width: 24px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
	background: #000000;
    transition: .2s;
}
#configurator_block .option_block .quantity_wanted .configurator-quantity-minus:focus,
#configurator_block .option_block .quantity_wanted .configurator-quantity-plus:focus{
    outline: none;
}
#configurator_block .option_block .quantity_wanted .configurator-quantity-minus svg,
#configurator_block .option_block .quantity_wanted .configurator-quantity-plus svg{
	fill: #fff;
    transition: .2s;
}
#configurator_block .option_block .quantity_wanted .configurator-quantity-minus svg{
	margin-top: 1px;
}
#configurator_block .option_block:not(.selected) .quantity_wanted .configurator-quantity-minus{
	background: #EEEEEE;
}
#configurator_block .option_block:not(.selected) .quantity_wanted .configurator-quantity-minus svg{
	fill: #223C52;
}
#configurator_block .option_block .quantity_wanted .configurator-quantity-minus:hover,
#configurator_block .option_block .quantity_wanted .configurator-quantity-plus:hover{
	background: #194185;
}
#configurator_block .option_block:not(.selected) .quantity_wanted .configurator-quantity-minus:hover{
	background: #EEEEEE;
}

.quantity_wanted input::-webkit-outer-spin-button,
.quantity_wanted input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    -webkit-appearance: none;
    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}
.quantity_wanted input[type=number] {
    -moz-appearance:textfield; /* Firefox */
}
.btn-configurator {
    color: #000 !important;
    background: #ddd;
}

.configurator-ral-list li{
    float: left;
    width: 100px;
    padding: 10px;
}

.configurator-ral-attribute{
    width: 80px;
    height: 50px;
    cursor: pointer;
}

#configurator_block input[readonly=readonly] {
    background-color: #f6f6f6;
    cursor: pointer;
}

#configurator_block .btn-configurator-ral {
    cursor: pointer;
    background: #2fb5d2;
    color: white;
    font-weight: bold;
}

/* BADGE REDUCTION */
.badge-reduction {
    background-color: #f39d72;
    font-weight: 700;
    padding: .3125rem .4375rem;
    text-transform: uppercase;
    color: #fff;
    font-size: 1rem;
}

#product .product-container #configurator_block .material .color{
    width: auto;
    height: auto;
}
#product .product-container #configurator_block .material .option_block.colortexture .option_block_content{
    height: 100px;
    border: none;
}
#product .product-container #configurator_block .material .option_block.colortexture .option_block_content .option_img{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
#product .product-container #configurator_block .material .option_block.colortexture .option_block_content .option_img .option_name{
    text-align: center;
    color: #fff;
    position: relative;
}
#product .product-container #configurator_block .material .option_block.option_group.colortexture.color.selected{
    border: none;
}
#product .product-container #configurator_block .material .option_block.option_group.colortexture.color:hover{
    margin-top: 0;
    box-shadow: none;
}
#product .product-container #configurator_block .material .option_block.option_group.colortexture.color.selected .option_block_content{
    border-bottom: none;
}

#product .product-container #configurator_block .material-color .option_block.selected .option_block_content::after{
    display: none;
}
#configurator_block .material.material-color .step-color-texture .option_block {
    max-width: 40px;
}
#product .product-container #configurator_block .material.material-color .option_block.colortexture .option_block_content {
    height: 40px;
}
#product .product-container #configurator_block .material.material-color .option_block.colortexture .option_block_content .option_img .option_name {
    position: absolute;
    bottom: -18px;
    color: #000;
    font-size: 12px;
    font-weight: 300;
    padding: 0;
    text-align: center;
    width: 100%;
}
#configurator_block .step_group.material.material-color .step_options > div {
    margin-right: 10px;
    margin-bottom: 20px;
}
#configurator_block .step_group.material.material-color .step_options > div:nth-child(4n+4) {
    margin-right: 10px;
}

.configurator-visualisation.no-modular{
    position: unset;
}

.configurator-top-block #product-description-long,
.configurator-top-block .images-container{
    clear: both;
}
.configurator-top-block .product-features{
    margin: 0;
}
#configurator_block .material .option_block .option_block_content .option_content,
#configurator_block .material .option_block .option_block_content .option_content p{
    display: none;
}

/**************************/
/*                        */
/*          RWD           */
/*                        */
/**************************/
@media (min-width: 768px){
    .configurator-top-block #product-description-short,
    .configurator-top-block .product-features{
        padding-left: 30px;
    }
    .configurator-top-block #product-description-long{
        padding-right: 30px;
    }
}

@media (min-width: 992px) and (max-width: 1199px){
    #configurator_block .step_group:not(.material) .step_options > div:nth-child(3n+3) {
        margin-right: 15px;
    }
    #quantity-configurator-label{
        position: absolute;
        left: 10px;
        top: -25px;
    }
}

@media screen and (max-width: 991px){
    #configurator_block .step_options {
        gap: 5px;
    }

    #configurator_preview .configuration-elements .page-subheading {
        padding: 11px 15px 9px;
        font-size: 18px;
        line-height: 20px;
        margin-bottom: 12px;
    }
    #configurator_preview .configuration-elements .selected-items {
        padding: 0 15px;
        margin-bottom: 13px;
    }
    #configurator_preview .configuration-elements .selected-items a {
        font-size: 13px;
        line-height: 18px;
    }
    #configurator_preview_buttons {
        padding: 6px 10px 0;
        flex-direction: row;
        flex-wrap: wrap;
    }
    #configurator_preview .dl-final-price dt {
        font-size: 13px;
    }
    #configurator_preview .dl-final-price dd#final_price {
        font-size: 24px;
        line-height: 30px;
    }
    #configurator_preview .qty-mobile-text{
        display: flex;
        align-items: flex-end;
        justify-content: center;
        font-weight: 400;
        font-size: 14px;
        line-height: 20px;
        color: #757575;
        flex-basis: 40%;
    }
    #configurator_preview .dl-final-price {
        flex-basis: 100%;
        margin-bottom: 0;
    }
    #configurator_preview .buttons_container{
        flex-basis: 100%;
        margin-top: 11px;
    }
    #product .product-actions form#form_add_configurator_to_cart {
        flex-direction: row;
        flex-wrap: wrap;
    }
    #product .product-actions form#form_add_configurator_to_cart .configurator-add {
        margin-left: 0;
        margin-top: 10px;
    }
}

@media (min-width: 768px) and (max-width: 991px){
    #configurator_block .step-color-texture .option_block {
        flex-basis: calc(50% - 2.5px);
        max-width: calc(50% - 2.5px);
        margin-right: 0;
    }
}


@media screen and (max-width: 767px){
    div[id*="configurator-layer"] {
        transform: scale(0.6);
    }
    .configurator-visualisation {
        top: 88px;
        margin-bottom: 0;
        z-index: 2;
        margin: 0 -15px;
        box-shadow: 0px 4px 20px rgba(0, 0, 0, .15);
    }
    .page-product .configurator-visualisation #image-block,
    .page-product .configurator-visualisation .product-cover{
        margin-bottom: 0;
    }
    .mobile-bottom-box{
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 8px;
        background-color: #3BB231;
    }
    #viewer2d-download-preview button{
        color: #fff;
        font-size: 12px;
        background: none;
        border: none;
        padding: 0;
    }
    .total_price_sticky{
        box-shadow: none;
        transform: none;
        position: unset;
        font-weight: 400;
        font-size: 12px;
        line-height: 20px;
        color: #fff;
        margin: 0;
        padding: 0;
    }
    .total_price_sticky .total_price_label{
        font-weight: 700;
    }
    .configurator-content {
        padding-left: 0;
        margin: 0 -15px;
    }
    .configurator-content .product-information {
        padding: 20px 15px 0;
    }
    #product .product-container .configurator-content .h1 {
        font-weight: 700;
        font-size: 16px;
        line-height: 20px;
        margin-bottom: 10px;
    }
    #configurator_block .step_list label .step_title {
        padding: 0;
        font-weight: 700;
        font-size: 14px;
        line-height: 20px;
    }
    #product .product-container .configurator-content .required-header {
        margin-bottom: 10px;
    }
    #configurator_block .step_list label.title {
        margin-bottom: 5px;
    }
    #configurator_block .step_group.grey-background .option-content {
        padding: 10px 9px 0;
    }
    .dmicons:after {
        top: 7px;
    }
    #configurator_block .option label {
        font-size: 13px;
    }
    #configurator_block .step_group.radio-choice .step_options > div {
        margin-bottom: 10px;
    }
    #configurator_block .step-color-texture .option_block {
        flex-basis: calc(33% - 3px);
        max-width: calc(33% - 3px);
        margin: 0;
    }
    #configurator_preview_container {
        margin: 20px -15px 0;
    }
    #configurator_preview .dl-final-price {
        flex-basis: 60%;
    }
    #quantity-configurator-label{
        display: none;
    }
    #product .product-actions form#form_add_configurator_to_cart .configurator-qty{
        flex-basis: 40%;
        border: none;
        background: #fff;
    }
    #product .product-actions form#form_add_configurator_to_cart .configurator-qty .bootstrap-touchspin {
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1;
    }
    .configurator-qty .bootstrap-touchspin.input-group .input-group-btn > .btn {
        font-size: 30px;
        line-height: 0;
    }
    .configurator-qty .bootstrap-touchspin .input-group-btn:first-of-type > .btn {
        padding-bottom: 7px;
    }
    .configurator-qty .bootstrap-touchspin .input-group-btn:last-of-type > .btn {
        padding-top: 0;
    }
    .configurator-qty #quantity-configurator{
        background: #F9F9F9;
        border: 1px solid #EEEEEE;
        border-radius: 2px;
        width: 65px;
        height: 50px;
    }
    #product .product-actions form#form_add_configurator_to_cart .configurator-add{
        flex-basis: 60%;
        margin-top: 0;
    }
    #product .product-actions form#form_add_configurator_to_cart .configurator-add button {
        height: 50px;
        padding: 0!important;
    }

}

#configurator_block .step_group.radio-choice #collapse_option_color .step_options {
    gap: 10px 20px;
    width: 460px;
}
#configurator_block .step_group.radio-choice #collapse_option_color .option_block.custom {
    min-height: unset;
    width: 100px;
    margin: 0;
    border: 1px solid transparent;
    outline: 1px solid transparent;
}
#configurator_block .step_group.radio-choice #collapse_option_color .option_block.custom:hover,
#configurator_block .step_group.radio-choice #collapse_option_color .option_block.custom.selected {
    border: 1px solid #3BB331;
    outline: 1px solid #3BB331;
    background-color: #fff;
}
#configurator_block .step_group.radio-choice #collapse_option_color .option_block.custom .option_block_content {
    border: none;
    width: 100%;
    text-align: center;
}
#configurator_block .step_group.radio-choice #collapse_option_color .option_block.custom .option_block_content .option_img{
    height: auto;
}
#configurator_block .step_group.radio-choice #collapse_option_color .option_block.custom .option_block_content .option_name{
    display: block;
    white-space: normal;
    text-align: center;
    font-size: 12px;
}
#configurator_block .step_group.radio-choice #collapse_option_color .option_block.custom .option_block_content .radio,
#configurator_block .step_group.radio-choice #collapse_option_color .option_block.custom .option_block_content input[type="radio"]{
    display: none;
}
@media (max-width: 1349px) {
    #configurator_block .step_group.radio-choice #collapse_option_color .step_options {
        width: 100%;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    #configurator_block .step_group.radio-choice #collapse_option_color .option_block.custom{
        width: 92px;
    }
    #configurator_block #collapse_option_color .option_block img{
        max-width: 92px;
        max-height: 92px;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    #configurator_block .step_group.radio-choice #collapse_option_color .option_block.custom{
        width: 92px;
    }
    #configurator_block #collapse_option_color .option_block img{
        max-width: 92px;
        max-height: 92px;
    }
}
@media (max-width: 767px) {
    #form_add_configurator_to_cart_modal .modal-footer {
        flex-direction: column;
    }
    #form_add_configurator_to_cart_modal .modal-footer #add_configurator_to_cart_modal {
        margin-left: 0;
        margin-top: 20px;
        font-size: 14px;
    }
}
@media screen and (max-width: 390px){
    #configurator_block .step-color-texture .option_block {
        flex-basis: calc(50% - 2.5px);
        max-width: calc(50% - 2.5px);
    }
    #configurator_block .step_group.radio-choice #collapse_option_color .option_block.custom{
        max-width: 28%;
    }
    #configurator_block .step_group.radio-choice #collapse_option_color .option_block img {
        width: 100%;
        height: auto;
    }
}

/**************************/
/*                        */
/*  CONFIGURATOR LAYERS   */
/*                        */
/**************************/
.configurator-visualisation #image-block {
    /*touch-action: none;*/
}

.configurator-visualisation button.rotate {
    display: block !important;
}

div[id*="configurator-layer"]{
    position: absolute !important;
    touch-action: none;
}
div[id*="configurator-layer"] .configurator-layer-element::after{
    content: '';
    display: block;
    width: 18px;
    height: 100px;
    background: url(../img/kreski.png) no-repeat center;
    z-index: 0;
    position: absolute;
}
div[id*="configurator-layer"] img.configurator-layer-img{
    position: relative;
    z-index: 1;
}

/* Sofy */

div[id*="configurator-layer"].sofa-25-fl .configurator-layer-element::after{
    top: 0;
    right: -18px;
}
div[id*="configurator-layer"].sofa-25-fr .configurator-layer-element::after{
    top: 0;
    left: -18px;
}
div[id*="configurator-layer"].sofa-25-bb .configurator-layer-element::before,
div[id*="configurator-layer"].sofa-25-f-bb .configurator-layer-element::before,
div[id*="configurator-layer"].sofa-25-s-bb .configurator-layer-element::before{
    content: '';
    display: block;
    width: 18px;
    height: 100px;
    background: url(../img/kreski.png) no-repeat center;
    z-index: 0;
    position: absolute;
    top: 0;
    left: -18px;
}
div[id*="configurator-layer"].sofa-25-bb .configurator-layer-element::after,
div[id*="configurator-layer"].sofa-25-f-bb .configurator-layer-element::after,
div[id*="configurator-layer"].sofa-25-s-bb .configurator-layer-element::after{
    top: 0;
    right: -18px;
}

/* Elementy */

div[id*="configurator-layer"].corner-unit-e{
    width: 115px;
    height: 115px;
    display: flex;
}
div[id*="configurator-layer"].right-position.corner-unit-e {
    justify-content: flex-end;
}
div[id*="configurator-layer"].corner-unit-e img{
    width: 118px;
    height: 119px;
}

div[id*="configurator-layer"].laptop-table-pl{
    width: 42px;
} 
div[id*="configurator-layer"].laptop-table-pl img{
    z-index: 9999;
}

div[id*="configurator-layer"].right-position .configurator-layer-element::after{
    top: 0;
    right: -18px;
}
div[id*="configurator-layer"].right-position.longchair-lr .configurator-layer-element::after,
div[id*="configurator-layer"].right-position.ottoman-otmr .configurator-layer-element::after,
div[id*="configurator-layer"].right-position.right-armrest .configurator-layer-element::after{
    display: none;
}
div[id*="configurator-layer"].right-position.corner-unit-e .configurator-layer-element::after,
div[id*="configurator-layer"].right-position.corner-unit-em .configurator-layer-element::after{
    top: unset;
    transform: rotate(90deg);
}
div[id*="configurator-layer"].right-position.corner-unit-e .configurator-layer-element::after{
    right: 46px;
    bottom: -58px;
}
div[id*="configurator-layer"].right-position.corner-unit-em .configurator-layer-element::after{
    right: 40px;
    bottom: -58px;
}

div[id*="configurator-layer"].left-position .configurator-layer-element::after{
    top: 0;
    left: -18px;
}

div[id*="configurator-layer"].right-position.armchair-1-bb-el .configurator-layer-element::after,
div[id*="configurator-layer"].left-position.armchair-1-bb-el .configurator-layer-element::after,
div[id*="configurator-layer"].right-position.armchair-15-bb-el .configurator-layer-element::after,
div[id*="configurator-layer"].left-position.armchair-15-bb-el .configurator-layer-element::after{
    top: 14px;
}

div[id*="configurator-layer"].left-position.longchair-ll .configurator-layer-element::after,
div[id*="configurator-layer"].left-position.ottoman-otml .configurator-layer-element::after,
div[id*="configurator-layer"].left-position.left-armrest .configurator-layer-element::after{
    display: none;
}
div[id*="configurator-layer"].left-position.corner-unit-e .configurator-layer-element::after,
div[id*="configurator-layer"].left-position.corner-unit-em .configurator-layer-element::after{
    top: unset;
    transform: rotate(90deg);
}
div[id*="configurator-layer"].left-position.corner-unit-e .configurator-layer-element::after{
    left: 46px;
    bottom: -58px;
}
div[id*="configurator-layer"].left-position.corner-unit-em .configurator-layer-element::after{
    left: 40px;
    bottom: -58px;
}
div[id*="configurator-layer"].left-position.corner-unit-e {
    justify-content: flex-start;
}

div[id*="configurator-layer"].ready-set .configurator-layer-element::after{
    display: none;
}

.configurator-visualisation #image-block div:not(#view_full_size) {
  top: 0;
  left: 0;
}
.configurator-visualisation button.rotate {
  position: absolute;
  top: -10px;
  right: -10px;
  border: 0;
  background-color: transparent;
  cursor: pointer;
  color: #194184;
  z-index: 10000;
}
@media (pointer:coarse) {
    .configurator-visualisation button.rotate {
        display: block;
        top: -20px;
        right: -25px;
    }
}
@media (pointer:none) {
    .configurator-visualisation button.rotate {
        display: block;
        top: -20px;
        right: -25px;
    }
}
@media (pointer:fine) {
    .configurator-visualisation button.rotate {
        display: none;
    }
    .configurator-visualisation .ui-draggable:hover button.rotate {
        display: block;
    }
}
.configurator-visualisation button.rotate svg {
  fill: currentColor;
}
