:root{
	--avatar-unavailable-bg-color: rgba(224,224,224,0.5);
	--avatar-unavailable-bg-rgb-color: rgba(224,224,224);
	--avatar-unavailable-border-color:rgb(180,180,180);
	--avatar-unavailable-image-filter: contrast(0.3) brightness(1.5);

	--avatar-selected-color: blue;
	--avatar-selected-style: solid;
	--avatar-selected-width: 4px;

	--avatar-highlight-color: lime;
	--avatar-highlight-style: solid;
	--avatar-highlight-width: 4px;

	--pin-width:26px;
	--pin-height:36px;
	--pin-shadow-transform:matrix(.374, .313, -.451, .539, 25.4, 13.4);
}

html, body {
	height:auto!important;
	width:auto!important;
}

html body div.floorplan{
	position:relative!important;
	-webkit-user-select: none;
	z-index:9;
	display:block!important;
	margin:0 auto;
	max-width: 100%;
}

body.single-floorplan .floorplan-header{
	display:none;
}

html body .floorplan>.svgs{
	max-height:0;
	max-width:0;
}

html body .floorplan .map{
    border: 1px solid rgba(145,151,162,.15);
	position:relative;
	-webkit-user-select: none;
	overflow: hidden;	
}

html body .floorplan .floorplans-noscript{
	text-align: center;
	display:none;
}

html body .floorplan .wp-block-floorplans-container{
	position:relative;
	display:inline-block;
	transform: translateZ(0);
	transform-origin:0 0;
}

html body .floorplan .wp-block-floorplans-container .wp-block-floorplans-element .avatar,
html body .floorplan .wp-block-floorplans-container,
html body .floorplan .fp3df-labels{
	/*backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	filter: blur(0px);
	backface-visibility: hidden;
	-webkit-font-smoothing: subpixel-antialiased;
	*/
	-webkit-font-smoothing: subpixel-antialiased!important;
}

html body .floorplan .wp-block-floorplans-container img{
	-ms-interpolation-mode: bicubic;
	image-rendering: optimizeQuality;
	image-rendering: -webkit-optimize-contrast;
}

html body .floorplan .wp-block-floorplans-container>img{
	pointer-events:none;
	user-select: none; 
	max-width:none;
	margin:0!important;
}

html body .floorplan .wp-block-floorplans-container>img:not([src]){
	visibility:hidden;
}

html body .floorplan .wp-block-floorplans-container .wp-block-floorplans-element{
	pointer-events:none;
	visibility: visible;
	position:absolute;
	display:inline-block;
	top:0px;
	left:0px;
	min-height:0px!important;
	outline-style:none;
}

html body .wp-block-floorplans-element .avatar{
	pointer-events:auto;
	border:solid 1px rgb(238, 17, 71);
	background-color: rgba(247, 141, 167);
	box-sizing:border-box!important;
	position: relative;
	transform-origin: top left;
	height:100%;
	width:100%;
}

html body .floorplan .wp-block-floorplans-container .wp-block-floorplans-element input{
	position: absolute;
	top: 0;
	left: 0;
	width: 0px;
	z-index: -1;
	display: none;
}

h3.floorplan-header{
	margin:0;
	text-align:left;
}

h3.floorplan-header.inst:after{
	content: ' (' attr(data-inst) ')';
}

/*shapes*/

.wp-block-floorplans-element .avatar.stand{
	border:double 4px rgb(238, 17, 71);
	border-top:1px dashed;
}

.wp-block-floorplans-element .avatar.stand,
.wp-block-floorplans-element .avatar.area{
	background-color: rgba(247, 141, 167, 0.5);
}

.wp-block-floorplans-element .avatar.area{
	border-style:dashed;
}

.wp-block-floorplans-element .avatar.area{
	border-style:dashed;
}

.wp-block-floorplans-element .avatar.circle{
	border-radius:50%;
}

.wp-block-floorplans-element .avatar.seat{
	border-radius:10%;
	border-bottom-left-radius:30%;
	border-bottom-right-radius:30%;
}

.wp-block-floorplans-element .avatar.seat div{
	display: block;
	box-sizing: border-box;
	border: solid 1px;
	border-top: 0;
	border-color: inherit;
	height: 86%;
	margin: 0 14%;
	border-bottom-left-radius: 25%;
	border-bottom-right-radius: 25%;
}


/*labels*/
.fp3df-labels div,
.wp-block-floorplans-element .label,
.wp-block-floorplans-element .description{
	box-sizing:border-box;
	display:none;
	position:absolute!important;
	z-index:9;
	pointer-events:none;
	width:auto!important;
	height:auto!important;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin-right: -999999px;
	max-width:200%;
	text-align:center;
	font-size: .9em;
	color:#444;
}

.fp3df-labels p,
.wp-block-floorplans-element .label p{
	text-align:center;
	vertical-align: middle;
	white-space: nowrap;
	display: table-cell;
	cursor:default;
	margin:0;
}

.fp3df-labels div,
.wp-block-floorplans-container .wp-block-floorplans-element .label.shw,
.wp-block-floorplans-container .wp-block-floorplans-element .description.shw{
	display:table;
}

/*inputs*/

.floorplan label{
	padding:0;
	vertical-align: unset!important;
}




/*outline*/

.floorplan .wp-block-floorplans-container .wp-block-floorplans-element .avatar:before,
.floorplan .wp-block-floorplans-container .wp-block-floorplans-element .avatar:after{
	content: "";
	position: absolute;
	pointer-events: none;
	right: -9px;
	left: -9px;
	top: -9px;
	bottom: -9px;
	z-index:9;
	opacity:0;
	transition: opacity .2s linear;
	border-color: var( --avatar-selected-color );
	border-style: var( --avatar-selected-style );
	border-width: var( --avatar-selected-width );
	border-radius: 14px;
}


.floorplan .avatar.pin{
	border:none;
	width: var(--pin-width);
	height:var(--pin-height);
	background:transparent;
}

.floorplan .wp-block-floorplans-container .wp-block-floorplans-element .avatar.pin:before{
	background-color: var( --avatar-highlight-color );
	transform: scale( 1.3 );
	translate: 1.5px 2px;
}

.floorplan .wp-block-floorplans-container .wp-block-floorplans-element .avatar.pin:after{
	background-color: var( --avatar-selected-color );
}

.floorplan .wp-block-floorplans-container .wp-block-floorplans-element .avatar.pin:before,
.floorplan .wp-block-floorplans-container .wp-block-floorplans-element .avatar.pin:after{	
	clip-path: path("m21 .5c-11.5.00202-20.5 8.83-20.5 20.5 0 5.27 2.65 9.71 5.42 13.3 2.71 3.55 5.51 6.94 7.27 9.45 1.78 2.53 3.18 5.02 3.91 6.97l.002.0039v.002c.406 1.07.692 1.83 1.02 2.72v.0039l.002.002c.157.423.302.933.703 1.5.401.567 1.29 1.13 2.16 1.13h.004c.881-.0026 1.76-.569 2.16-1.13.399-.566.545-1.07.701-1.49l.002-.002v-.002c.326-.876.615-1.65 1.02-2.73l.002-.002c.000254-.000678-.000254-.0013 0-.002.741-1.96 2.14-4.44 3.91-6.97 1.76-2.51 4.56-5.9 7.27-9.45 2.77-3.63 5.42-8.06 5.42-13.3 0-11.7-8.96-20.5-20.5-20.5-.0013-2e-7-.0026 0-.0039 0zm0 3h.0039c10 .00195 17.5 7.34 17.5 17.5 0 4.26-2.2 8.1-4.81 11.5-2.67 3.49-5.45 6.86-7.34 9.55-1.88 2.67-3.39 5.31-4.27 7.64v.002l-.002.002c-.405 1.08-.693 1.85-1.02 2.74v-.0039c-.0286.0762-.03.0689-.0566.137-.0261-.0667-.0288-.058-.0566-.133l.0039.0059c-.329-.895-.62-1.67-1.03-2.74l-.002-.0059c-.876-2.34-2.39-4.97-4.27-7.64-1.89-2.69-4.68-6.06-7.34-9.55-2.61-3.42-4.81-7.26-4.81-11.5 0-10.2 7.46-17.5 17.5-17.5z");
	left: -8px;
	top: -8px;
	bottom: -12px;
	border:none;
	border-radius:0;
	pointer-events:none;
}

.floorplan .wp-block-floorplans-container .wp-block-floorplans-element .avatar.pin .rendition{
	pointer-events:none;
}



.floorplan .wp-block-floorplans-container .wp-block-floorplans-element .avatar.stand:after{
	right: -12px;
	left: -12px;
	top: -9px;
	bottom: -12px;
}
	
.floorplan .wp-block-floorplans-container .wp-block-floorplans-element .avatar:before{
	right: -18px;
    left: -18px;
    top: -18px;
    bottom: -18px;
	border-color: var( --avatar-highlight-color );
	border-style: var( --avatar-highlight-style );
	border-width: var( --avatar-highlight-width );
	border-radius: 22px;
}

.floorplan .wp-block-floorplans-container .wp-block-floorplans-element .avatar.stand:before{
	right: -21px;
    left: -21px;
    top: -18px;
    bottom: -21px;
}




.floorplan .wp-block-floorplans-container .wp-block-floorplans-element.notrans .avatar:before,
.floorplan .wp-block-floorplans-container .wp-block-floorplans-element.notrans .avatar:after{
	transition:none;
}


.floorplan .wp-block-floorplans-container .wp-block-floorplans-element.highlight .avatar:before {
	opacity:1;
}


.floorplan.checkbox .wp-block-floorplans-container .wp-block-floorplans-element.checked .avatar:after,
.floorplan.radio .wp-block-floorplans-container .wp-block-floorplans-element.checked .avatar:after{
	opacity:1;
}



.floorplan.fp3d .mask{
	position:absolute;
	top:0;
	left:0;
	z-index:99;
	width:100%;
	height:100%;
	opacity:0;
	background:#fff;
	transition:opacity 800ms;
}

/*list view*/

.floorplan.list h2{
	font-size:90%;
	letter-spacing:2px;
	border-bottom:solid 1px #888;
}

.floorplan.list h3{
	font-size:100%;
	font-style:italic;
	margin:5px 0;
}

.floorplan.list ul{
	display:table;
	padding: 0;
	margin: 0;
	border-collapse: separate;
	border-spacing: 6px;
	width: 100%;
	table-layout: fixed;
}

.floorplan.list li{
	display: table-row;
	width: 100%;
}

.floorplan.list li div{
	display:table-cell;
	padding: 0 0 2px 10px;
	text-align: right;
	white-space:nowrap;
	line-height: 100%;
	font-size:90%;
}

.floorplan.list li .name{
	margin-left: 10px;
	padding:0 4px;
	min-height:5px;
	font-size:80%;
	border: solid 1px;
	text-align: center;
	white-space: normal;
}

.floorplan.list li .name.transparent{
	background-color: rgba(123, 220, 181, 0) !important;
    background-size: 8px 8px;
    background-image: repeating-linear-gradient(45deg, rgb(68, 76, 247) 0px, rgb(68, 76, 247) 1px, rgba(229, 229, 247, 0) 0px, rgba(229, 229, 247, 0) 51%);
}

.floorplan.list li .description{
	white-space: normal;
	text-align: left;
}

/*preview page*/

section.preview .previewtools{
	font-size: 90%;
	margin-bottom: 0px;
}

section.preview .previewtools>div{
	margin-bottom: 20px;
}

section.preview .previewtools>div:first-of-type{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

section.preview .previewtools>div:not(:first-child){
	display: flex;
    justify-content: flex-end;
}

section.preview .previewtools>div select{
	width: auto;
	padding-right: 25px;
}

section.preview .previewtools>div>div{
	white-space: nowrap;
}

section.preview .previewtools>div>div:not(:first-child){
	padding-left: 15px;
	border-left: 1px solid;
}

/**/

.dragshield{
	position: fixed;
	left: 0px;
	top: 0px;
	bottom: 0px;
	right: 0px;
	z-index: 999;
}


body.single-floorplan figure.wp-block-post-featured-image{
	display:none;
}

html body .floorplan .toolscntr{
	box-sizing: border-box;
	position:absolute;
	display:flex;
	justify-content: flex-end;
	align-items: flex-end;
    padding: 20px;
	width:100%;
	height:100%;
	z-index:99;
	pointer-events:none;
	background:none;
}

html body .floorplan.fullscr .toolscntr{
	padding:40px;
}

html body .floorplan .tools{
	position:sticky;
	bottom:20px;
	right:20px;
	transform-origin: bottom right;
	min-width:36px;
	height:36px;
	background-color:#33cc33;
	border-radius:18px;
	text-align:right;
	pointer-events:all;
}


html body .floorplan.touch .tools{
	transform:scale(10vw);
}

html body .floorplan .tools button{
	position:relative;
	width:36px;
	height:36px;
	padding:0;
	margin-left:-41px;
	border-radius:18px;
	vertical-align: top;
	background:none;
	transition:margin-left 400ms;
	border:none;
	outline:none;
}

html body .floorplan .tools button.open{
	background-color:#33cc33;
}

html body .floorplan .tools button:hover{
	box-shadow: 1px 3px 6px #aaa;
	background-color:#38dc38;
}

html body .floorplan .tools button.iso{
	display:none;
}


html body .floorplan .tools.open button{
	margin-left:0px;
}

html body .floorplan .toolscntr svg{
	width:36px!important;
	height:36px!important;
	fill:#fff;
	pointer-events:none;
	display:block;
}

.floorplan .tools button svg.off{
	display:none;
}

.floorplan .tools button.true svg.on{
	display:none;
}

.floorplan .tools button.true svg.off{
	display:block;
}

.floorplan .tools.open button.open svg.on{
	display:none;
}

.floorplan .tools.open button.open svg.off{
	display:block;
}

.floorplan .tools button:hover:before{
	background:red;
}

.floorplan .tools button.open:before,
.floorplan .tools.open button:before{
	position:absolute;
	top:-36px;
	left:0;
	transform: translate(calc(-50% + 18px), 0%);
	text-align:center;
	font-size: 12px;
    background:#666;
	padding:0 5px;
	border-radius:4px;
	white-space:nowrap;
	text-shadow: 0 0 1px black;
	color: #fff;
	line-height: 24px;
}

.floorplan .tools button.open:hover:before,
.floorplan .tools.open button:hover:before{
	content:attr(data-title);
}

.floorplan .tools.open button.open:hover:before,
.floorplan .tools.open button.true:hover:before{
	content:attr(data-titleon);
}

html body .floorplan .helpbox {
	display:none;
	position:absolute;
	z-index:999;
    right: 0px;
    bottom: 48px;
	background:#f4f4f4;
	text-shadow: 0px 0px 0px #fff;
	color:#666;
	border:2px solid #666;
	border-radius:6px;
	padding:5px 0;
	flex-flow: row wrap;
	justify-content:space-between;
	width:150px;
}

html body .floorplan .helpbox p{
	flex-grow: 1;
	margin:0;
	padding:6px;
	font-size:14px;
	display:block;
	text-align:center;
	display:none;
}

html body .floorplan .helpbox.shw {
	display:flex;
}

html body .floorplan.touch:not(.view)  .helpbox.shw p.tchinp,
html body .floorplan.fp3d .helpbox.shw p.d3,
html body .floorplan .helpbox.shw p:not([class]){
	display:block;
}

html body .floorplan .helpbox svg{
	display:none;
}

.floorplan:not(.touch) .helpbox svg.mouse{
	display:block;
	fill:#088;
	margin: 0 auto;
}

.floorplan.touch .helpbox svg.touch{
	display:block;
	margin: 0 auto;
	fill:none;
	stroke:#888;
}

.floorplan.touch .helpbox p.d3 svg{
	min-width:50px;
}


html body .floorplan.touch .tools{
	transform:scale(1.4);
}

@media only screen and (min-width: 768px) {
	html body .floorplan.touch .tools{
		transform:scale(1.6);
	}
}




/*woocommerce*/

.product .floorplan{
	margin-bottom: 20px;
}

.product-type-floorplan{
	overflow: visible!important;
}
.single-product div.product::before, .single-product div.product::after{
	content:" ";
}

.product-type-floorplan.variable table.variations .label:not(.visible) label{
	visibility:hidden;
}


/*div.quantity not hidden 10*/
.product-type-floorplan.element:not(.has-order) .woocommerce-variation-add-to-cart>div.quantity,
.product-type-floorplan.element .variations,
.product-type-floorplan.element:not(.sold_single_element):not(.sold_single_quantity) div.quantity,/*00*/
.product-type-floorplan.element.sold_single_quantity:not(.sold_single_element) div.quantity,/*01*/
.product-type-floorplan.element.sold_single_quantity.sold_single_element div.quantity,/*11*/
.product-type-floorplan.element.sold_single_quantity .variations-container span.qty{
	display:none;
}

.product-type-floorplan.element .woocommerce-variation{
	text-align:left;
}

.product-type-floorplan.element .woocommerce-variation-price .qty input{
	padding:0;
	max-width:52px;
}

.product-type-floorplan.element .woocommerce-variation-price .qty input::-webkit-inner-spin-button{
	margin:1px 1px 1px 6px;
}

.product-type-floorplan.element .woocommerce-variation-element:before{
	content: attr(data-label) " ";
}

.product-type-floorplan.element .woocommerce-variation-price .price{
	display:inline;
}


.product-type-floorplan.element .variations-container a.delete{
	xheight: 18px;
	cursor: pointer;
	display: inline;
	line-height: 1.15;
	padding: 2px 4px 2px 6px;
	opacity: 0;
	transition:opacity 200ms;
}

.product-type-floorplan.element .hidden-row-for-gap:hover a.delete{
	opacity:1;
}

.product-type-floorplan.element .variations-container a.delete:before{
	content:url("data:image/svg+xml,%3Csvg width='18' height='18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m9 7.83-2.33-2.33-1.17 1.17 2.33 2.33-2.33 2.33 1.17 1.17 2.33-2.33 2.33 2.33 1.17-1.17-2.33-2.33 2.33-2.33-1.17-1.17z' fill='%23fff'/%3E%3Cpath d='m0 0v18h18v-18zm9 2a7 7 0 017 7 7 7 0 01-7 7 7 7 0 01-7-7 7 7 0 017-7z' fill='%23fff'/%3E%3C/svg%3E%0A");
	position: relative;
	background: grey;
	display: inline-block;
	height: 18px;
	width: 18px;
	top: 4px;
	margin-right:-28px;
}

.product-type-floorplan.element .variations-container a.delete:hover:before{
	background:#d34038;
}

.product-type-floorplan.element .variations-container p,
.product-type-floorplan .woocommerce-variation-availability p{
	margin:0;
}

.product-type-floorplan.element .woocommerce-variation-element,
.product-type-floorplan.element .woocommerce-variation-price>div{
	position:relative;
	z-index:2;
}

.product-type-floorplan.element .woocommerce-variation .hidden-row-for-gap{
	margin: 0 -22px -26px 0;
	opacity: 0;
}

.single-product div.product::before, .single-product div.product::after{
	content:" "
}

.product-type-floorplan.element.init-order button.single_add_to_cart_button.button span{
	display:none;
}

.product-type-floorplan.element.init-order button.single_add_to_cart_button.button:before{
	content: attr(data-edit);
}

dl.variation >*{
	display:inline-block;
}

dl.variation dd p{
	margin:0;
}

/*woocommerce ajax*/

.product-type-floorplan.element .single_add_to_cart_button{
	position:relative;
}

.product-type-floorplan.element .single_add_to_cart_button.loading{
	opacity:1!important;
}

.product-type-floorplan.element .single_add_to_cart_button.loading{
	pointer-events:none;
}

.product-type-floorplan.element .single_add_to_cart_button.loading span:last-child{
	content:" ";
	background: #fff;
	display:block!important;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0.7;
}


.product-type-floorplan.element .confirmed{
	width:0;
	position: absolute;
	display:inline-block;
	overflow: hidden;
	transition: width 600ms;
	margin-left: 12px;
}

.product-type-floorplan.element .confirmed:after{
	content: url("data:image/svg+xml,%3Csvg fill='%234CAF50'  width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m7.59 17.5-7.59-7.59 3.1-3.1 4.49 4.49 9.32-9.32 3.1 3.1z'/%3E%3C/svg%3E");
	display: block;
	text-align: left;
	width: 0;
	height:26px;
}

.product-type-floorplan.element .confirmed.added-to-cart{
	width:26px;
}


.product-type-floorplan.element .confirmed{
	height: 22px;
}

.product-type-floorplan.element.error .confirmed:after{
	content: url("data:image/svg+xml,%3Csvg fill='%23d34038' width='18' height='18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m9 0c-4.97 0-9 4.03-9 9 0 4.97 4.03 9 9 9 4.97 0 9-4.03 9-9 0-4.97-4.03-9-9-9zm-2 3h3.82l-.93 8.42h-1.96zm1.91 9.59c.792 0 1.44.644 1.44 1.44 0 .792-.644 1.44-1.44 1.44-.792 0-1.44-.644-1.44-1.44 0-.792.644-1.44 1.44-1.44z' fill='%23d34038'/%3E%3C/svg%3E");
	opacity:0.9;
}



body .product-type-floorplan.element .confirmed.added-to-cart{
	position: absolute;
	margin-top: 8px;
}



.product-type-floorplan.element .added_to_cart{
	display:none!important;
}


/*woocommerce shop*/

.archive .product-type-floorplan:not(.active) .floorplan,
.archive .product-type-floorplan:not(.active) .floorplan *{
	pointer-events:none!important;
}


.archive .product-type-floorplan .woocommerce-loop-product__title:hover{
	text-decoration:underline;
}

.archive .product-type-floorplan:not(.active) .floorplan .tools,
.archive .product-type-floorplan.variable .woocommerce-variation a.delete,
.archive .product-type-floorplan.variable .woocommerce-variation hr,
.archive .product-type-floorplan.has-order .variations_form span.price.range,
.archive .product-type-floorplan.has-order a.add_to_cart_button,
.archive .product-type-floorplan.init-order a.add_to_cart_button,
.archive .product-type-floorplan:not(.has-order):not(.init-order) .woocommerce-variation-add-to-cart{
	display:none;
}

.archive .product-type-floorplan .woocommerce-variation-add-to-cart>*{
	display: inline-block;
}

.archive .product-type-floorplan div.quantity{
	margin-right: 8px;
}

.archive .product-type-floorplan .variations_form{
	margin-bottom:0;
}


.archive .product-type-floorplan.variable .woocommerce-variation .price{
	margin:0;
}


.product-type-floorplan .variations-container>div:last-child>div:last-child{
	margin-bottom:20px;
}

/*woocommerce grid product*/

.product-type-floorplan.element .variations-container{
	display: grid;
	grid-template-columns: auto 55px min-content 1fr;
	column-gap:14px;
}

.single-product div.product.product-type-floorplan.element .variations_button{
	margin-top: 20px;
}

.archive .product-type-floorplan.element .variations-container{
	grid-template-columns:2fr 55px min-content;
}

.product-type-floorplan.element .woocommerce-variation,
.product-type-floorplan.element .woocommerce-variation .element,
.product-type-floorplan.element .woocommerce-variation-price,
.product-type-floorplan.element .woocommerce-variation{
	display:contents!important;
}

.product-type-floorplan.element .hidden-row-for-gap,
.product-type-floorplan.element .woocommerce-variation-availability,
.product-type-floorplan.element .woocommerce-variation-description{
	grid-column:1/4;
}

.product-type-floorplan.element .woocommerce-variation hr{
	margin: 0.5em 0 4px 0;
	grid-column: 1/4;
}

.product-type-floorplan.element .variations-container div:first-child hr{
	display:none;
}

.product-type-floorplan.element .woocommerce-variation-element{
	grid-column:1;
	line-height: 1;
	padding-top: 4px;
}

.product-type-floorplan.element .woocommerce-variation-price .qty{
	grid-column:2;
	text-align:right;
	margin-bottom:2px;
}

.product-type-floorplan.element .woocommerce-variation-price div.price{
	grid-column:3;
	white-space: nowrap;
	text-align:right;
	margin:0;
}

.archive .product-type-floorplan.element .woocommerce-variation-price .price{
	grid-column:3;
}


/*woocommerce sold_single_quantity / limited*/

.product-type-floorplan.element.sold_single_quantity .woocommerce-variation-element{
	grid-column:1/3;
}

.product-type-floorplan.element.sold_single_element .woocommerce-variation-price .qty,
.product-type-floorplan.element.sold_single_quantity .woocommerce-variation-price .qty{
	display:contents;
}

.product-type-floorplan.element.sold_single_quantity.sold_limited .woocommerce-variation-availability{
	display:none;
}


/* show image */
.product-type-floorplan.element.has-gallery .woocommerce-variation-description.has-image{
	position:relative;
}

.product-type-floorplan.element.has-gallery .woocommerce-variation-description.has-image:before{
	content:" ";
	position: absolute;
	width:6px;
	top:4px;
	bottom:5px;
	left:-7px;
	border-left:solid 4px #eee;
}

.product-type-floorplan.element.has-gallery .woocommerce-variation-description.has-image:not(.image-shown):before{
	cursor:pointer;	
}

.product-type-floorplan.element.has-gallery .woocommerce-variation-description.image-shown:before{
	border-color:#6cf;
}


/**woocommerce error*/

.product-type-floorplan.element .woocommerce-variation.error .woocommerce-variation-description,
.product-type-floorplan.element .woocommerce-variation.error .woocommerce-variation-element,
.product-type-floorplan.element .woocommerce-variation.error .price .price{
	opacity:0.6;
}

.product-type-floorplan.element .woocommerce-variation.error .qty{
	opacity:0.8;
}


*, html {
    scroll-behavior: smooth !important;
}

/**/



/*tooltips*/

html body .floorplan .tooltips{
	position:relative;
	display:block;
	pointer-events:none;
	transform-origin: top left;
	z-index:999;
	height:0;
	font-size: 16px;
}

html body .floorplan .tooltips:not(.infobox){
		width:0;
}

html body .floorplan.fp3d .tooltips:not(.infobox){
	left:0!important;
	top:0!important;
}

html body .floorplan .tooltips .fp-tooltip{
	position: absolute;
	z-index: 99;
	transform-origin: 50% calc( 100% + 19px );
	padding:0px;
	border-radius: 6px;
	display:block;
	opacity:0;
	pointer-events:none;
	xtransition:opacity 400ms;
	border-color:green;
	overflow:visible;
}


html body .floorplan .tooltips .fp-tooltip.display{
	pointer-events: all;
	opacity:1;
}

.floorplan .tooltips .fp-tooltip .shape{
	position:relative;
	padding:0px;
	margin-bottom: -16px;
	background-color:gold;
	border-radius: 6px;
	overflow: hidden;
	font-size: 90%;
	display:flex;
	flex-direction:row;
}

.floorplan .tooltips .fp-tooltip .border{
	box-sizing: border-box;
	border: 2px solid;
	border-color:inherit;
	position: absolute;
	top: -1px;
	left: -1px;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	border-radius: 6px;
	pointer-events: none;
}

/*tip border*/
.floorplan .tooltips .fp-tooltip:before{
	content: " ";
	position: absolute;
	z-index:0;
	top:calc(100% - 3px);
	left:50%;
	border-style: solid;
	width: 0;
	border-width: 22px 13px 0 13px;
	border-color: inherit;
	border-left-color:transparent!important;
	border-right-color:transparent!important;
	transform-origin: 50% 0;
	transform: translate(-50%);
}

.floorplan .tooltips .fp-tooltip:after{
	content: " ";
	position: absolute;
	z-index: -1;
	top: 100%;
	left: 50%;
	width: 34px;
	height: 22px;
	transform: translate(-50%);
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
}
/**/


.floorplan .tooltips .fp-tooltip a{
	color: inherit;
	text-decoration: none!important;
	width: 100%;
}

.floorplan .tooltips .fp-tooltip .image-container:empty{
	display:none;
}

.floorplan .tooltips .fp-tooltip label:empty{
	display:none!important;
}

.floorplan .tooltips .fp-tooltip label{
	color: #fff;
	text-shadow: 1px 1px 2px black;
	background:green;
	padding: 4px 6px 0px 4px;
	line-height:18px;
}


.floorplan .tooltips .fp-tooltip .shape>label{
	margin-bottom: 17px;
	white-space: pre;
}

.floorplan .tooltips .fp-tooltip .content>label{
	float:left;
	line-height:30px;
	margin:0;
	margin: -6px 5px -6px -5px;	
}

.floorplan .tooltips .fp-tooltip .content{
	padding:0;
	padding-bottom:16px;
	border-color:inherit;
	line-height:normal;
	vertical-align: top;
	display: flex;
	flex-direction: column;
	min-width: 30px;
}

.floorplan .tooltips .fp-tooltip header{
	white-space:nowrap;
	line-height: normal;
	font-weight:bold;
	letter-spacing: 1px;
	padding: 1px 0px 3px 0px;
	border:none;
}

.floorplan .tooltips .fp-tooltip .content p{
	margin:0;
	padding: 6px 10px 6px 6px;
	box-sizing: border-box;
	min-width: 100%;
	max-width:280px;
	flex: 2;
	text-align:left;
}

.floorplan .tooltips .fp-tooltip .shape:not(.hasimg) .content p{
	width: max-content;
}

.floorplan .tooltips .fp-tooltip .shape:not(.hasimg) .content p:empty{
	display:none;
}

.floorplan .tooltips .fp-tooltip .hasimg .content p{
	min-width: 176px;
	min-height: 80px;
	Xmix-blend-mode: multiply;
    color: #444;
}

.floorplan .tooltips .fp-tooltip .haslink .content p:before{
	content: ' ';
	display: block;
	float: right;
	width: 13px!important;
	height: 10px!important;
}

.floorplan .tooltips .fp-tooltip footer{
	display:flex;
	justify-content:flex-end;
	position: relative;
	margin: 0 0 -16px 0;
	padding:0 5px 16px 5px;
	white-space:nowrap;
	line-height:21px;
	background: #fff5;
	border:none;
}

.floorplan .tooltips .fp-tooltip .shape footer{
	line-height:29px;
}

.floorplan .tooltips .fp-tooltip .content footer span{
	float: right;
	padding-left: 10px;
	font-weight:bold;
	margin:0!important;
}

.floorplan .tooltips .fp-tooltip footer.head{
	letter-spacing: 2px;
	text-shadow: 1px 1px 1px black;
	overflow: hidden;
	text-overflow: ellipsis;
	color:#fff;
	display:block;
	background:none;
	font-size: 85%;
}

.floorplan .tooltips .fp-tooltip footer.head:after{
	content: "";
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	position: absolute;
	z-index: -1;
	background:#666;
	opacity:0.2;
}

.floorplan .tooltips.infobox .fp-tooltip footer{
	max-width: 100%;
}

/*linkicon*/
.floorplan .tooltips .fp-tooltip .linkicon,
.floorplan .tooltips .fp-tooltip .linkicon svg{
	position: absolute;
	top: 5px;
	right: 5px;
	width: 11px!important;
	height: 11px!important;
	xtransition: transform 200ms, background 200ms;
}

.floorplan .tooltips .fp-tooltip .linkicon{	
	box-sizing: content-box;
	border: solid 2px transparent;
	border-radius: 2px;
}

.floorplan .tooltips .fp-tooltip .linkicon svg{
	top: 0;
	right: 0;
	stroke: #000;
}

.floorplan .tooltips .fp-tooltip .linkicon.darkimg svg{
	stroke: #fff;
}

.floorplan .tooltips .fp-tooltip a:hover .linkicon .arrw{
	transform: translate( 1px, -1px);
}

.floorplan .tooltips .fp-tooltip a:hover .linkicon{
	background: rgba(255,255,255,0.7);
}


.floorplan .tooltips .fp-tooltip a:hover .linkicon.darkimg{
	background: rgba(0,0,0,0.3);
}

/*including image*/
.floorplan .tooltips .fp-tooltip .image-container{
	position: absolute;
	z-index: -1;
	overflow: hidden;
	width: 100%;
	height: calc( 100% + 32px );
	margin-top: -32px;
}

.floorplan .tooltips .fp-tooltip .hastxt.hasimg .image-container{
	opacity: 0.5;
}

.floorplan .tooltips.infobox .fp-tooltip .image-container{
	height: calc( 100% + 21px );
	margin-top: -21px;
}

.floorplan .tooltips .fp-tooltip .image-container img{
	position:relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	transition: transform 5s cubic-bezier(0.08, 0.43, 0.24, 1);
	transform: scale(1.2);
}

.floorplan .tooltips .fp-tooltip.display .image-container img{
	transform: scale(1.05);
}
/**/

.floorplan .tooltips .fp-tooltip .hasimg .shape{
	background:none;
}

.floorplan .tooltips .fp-tooltip .hasimg .content{
	min-height: 80px;
	min-width: 180px;
}


/*infobox*/
.floorplan .tooltips.infobox .fp-tooltip{
	top: -14px;
	right: -10px;
	left: auto;
	width:220px;
	border-radius: 6px;
	box-shadow: 3px 3px 8px #0004;
	margin-top: 30%;
	transition: margin .6s, opacity .6s;
	transform:none;
}

.floorplan .tooltips.infobox .fp-tooltip{
	top: 10px;
	right:	15px;
}

.floorplan .tooltips.infobox .fp-tooltip.display{
	margin-top: 5px;
}

.floorplan .tooltips.infobox .fp-tooltip.off{
	transition-delay: .2;
	opacity: 0;
}

.floorplan .tooltips.infobox .fp-tooltip:after,
.floorplan .tooltips.infobox .fp-tooltip:before{
	content:none;
}

.floorplan .tooltips.infobox .shape,
.floorplan .tooltips.infobox .border{
	clip-path:polygon(0 0, 100% 0, 100% 100%, 0% 100%)!important;
}

.floorplan .tooltips.infobox .shape{
	margin: 0px;
	display: flex;
	align-items: stretch;
}

.floorplan .tooltips.infobox .border{
	height:calc(100% + 2px);
}

.floorplan .tooltips.infobox .content{
	padding-bottom:0;
	flex:2;
}

.floorplan .tooltips.infobox .content p{
	overflow: hidden;
	width:auto!important;
}

.floorplan .tooltips.infobox .fp-tooltip .shape label{
	display: flex;
	/*align-items: center;*/
	margin:0;
}

.floorplan .tooltips.infobox .shape .content label{
	display:none;
}

.floorplan .tooltips.infobox footer{
	padding-bottom:0;
	margin:0;
}

/*endtooltips*/

html,body{
		position: relative;
}

html body .floorplan.canvas{
	position: absolute!important;
	z-index: 8;
	pointer-events:none;
	visibility:hidden;
	left: 0px;
	top: 0px;
	bottom: 0px;
	right: 0px;
}

html body .floorplan.canvas.active{
	visibility:visible;
	width: 100%;
	height: 100%;
}

.floorplan.canvas>canvas.floorplan{
	width: 100%;
	height: 100%;
}

.floorplan>.map>.fp3df-labels{
	position:absolute;
	user-select:none;
	left:0px;
	top:0px;
	z-index:-1;
	opacity:0;
	height:100%;
	width:100%;
}

.floorplan.fp3d .fp3df-labels{
	opacity:1;
	z-index:0;
}
/*
.floorplan .fp3df-labels>div{
	color:#333!important;
	position:absolute;
	transform: translate(-50%, -50%);
}*/

.floorplan .fp3df-labels>div p{
	white-space: nowrap;
}

.floorplan .wp-block-floorplans-container{ 
	visibility:visible;
	opacity:1;
	transition: visibility linear .3s, opacity .3s;
}

.floorplan.fp3d .wp-block-floorplans-container,
.floorplan.fp3d .wp-block-floorplans-container *{
	visibility:hidden!important;
	opacity: 0!important;
  }


html body .floorplan.fullscr{
	position:fixed!important;
	box-sizing: border-box;
	left: 0;
	top: 0;
	width: 100%;
	height:100%;
	margin:0px;
	padding:20px;
	z-index:9998;
	border-radius:4px;
}

html body .floorplan.fullscr .tools{
	margin:20px;
}

html body .floorplan.fullscr.canvas{
	background:#fff;
	position:fixed;
	padding:0;
	margin:20px;
	width:calc(100% - 40px);
	height:calc(100% - 40px);
	z-index: 9990;
}

html body .floorplan.fullscr .map{
	height:100%!important;
	border-radius:4px;
}

html body .floorplan.fullscr .map .fsheader{
	display:inline-block;
	position:absolute;
	top: 0px;
	right: 0px;
	width: 100%;
}

html body .floorplan.fullscr .map .fsheader h3{
	margin: 5px 10px;
	padding: 0 5px; 
	display: inline-block;
	border-radius: 3px;
	background-color: rgba(255, 255, 255, 0.6);
}

html body .floorplan.fullscr .map .fsheader .closebttn{
	position:absolute;
	top: 8px;
	right: 10px;
	width: 24px;
	height: 24px;
	padding:3px;
	border-radius:4px;
	cursor:pointer;
	background-color: rgba(255, 255, 255, 0.6);
}


html body .floorplan.fullscr .map .fsheader .closebttn div{
	position:relative;
	width: 100%;
	height: 100%;
	opacity: 0.3;
	pointer-events:none;
}

html body .floorplan.fullscr .map .closebttn div:hover{
	opacity: 1;
}

html body .floorplan.fullscr .map .closebttn div:before{
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' width='18' height='18' stroke-width='1px'%3E%3Cpath d='m0 0 18 18'/%3E%3Cpath d='m18 0-18 18'/%3E%3C/svg%3E");
	position:absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


html body .floorplan.fullscr .map:after:hover{
	opacity: 1;
}

.floorplan.fullscr:not(.fp3d) .map{
	background:#fff;
}

.floorplan.fullscr .header{
	position:absolute;
	z-index:9;
	margin-left:10px;
}

html body .fpoverlay{
	position:fixed!important;
	top:0px;
	left:0px;
	z-index:7;
	background:#000;
	width:100vw;
	height:100vh;
	opacity:0.2;
}

html body .floorplan.Xtouch.fullscr{
	position:fixed!important;
	left:10px!important;
	width:calc(100vw - 20px)!important;
	top:70px!important;
	height:calc(100vh - 140px)!important;
	z-index:9!important;
	border-radius:4px;
	overflow:hidden;
}

.floorplan.Xtouch.fullscr .map{
	height:100%!important;
	border:0px!important;
}

.floorplan.Xtouch.fullscr canvas{
	border-radius:16px;
}
html body .dragshield.pan,
html body .floorplan .map.pan,
html body .floorplan .map.pan .avatar{
	cursor:move!important;
}

html body .dragshield.rotate,
html body .floorplan .map.rotate,
html body .floorplan .map.rotate .avatar{
	cursor: url("data:image/svg+xml,%3Csvg width='23' height='23' version='1.1' viewBox='0 0 23 23' xmlns='http://www.w3.org/2000/svg'%3E%3Cg  fill='%23fff'%3E%3Cpath d='m17.5 8.5c0 3.31-2.69 6-6 6-.759 0-1.48-.145-2.15-.402l-.719 1.87c.891.343 1.86.533 2.87.533 4.42 0 8-3.58 8-8m-2 0h-3v-1l4-4 4 4v1h-3'/%3E%3Cpath d='m5.5 8.5c0-3.31 2.69-6 6-6 .742.000265 1.47.143 2.15.406l.719-1.87c-.91-.35-1.88-.535-2.87-.535-4.42 0-8 3.58-8 8h-3v1l4 4 4-4v-1h-3'/%3E%3Cg fill='none' stroke='%23000'%3E%3Cpath d='m17.5 8.5h-3v-1l4-4 4 4v1h-3' stroke-linecap='square' style='paint-order:markers fill stroke'/%3E%3Cpath d='m8.63 16c.891.343 1.86.533 2.87.533 4.42 0 8-3.58 8-8' style='paint-order:markers fill stroke'/%3E%3Cpath d='m9.35 14.1s1.39.402 2.15.402c3.31 0 6-2.69 6-6' style='paint-order:markers fill stroke'/%3E%3Cpath d='m3.5 8.5h-3v1l4 4 4-4v-1h-3' stroke-linecap='square' style='paint-order:markers fill stroke'/%3E%3Cpath d='m5.5 8.5c0-3.31 2.69-6 6-6 .742.000265 2.15.406 2.15.406' style='paint-order:markers fill stroke'/%3E%3Cpath d='m14.4 1.04c-.91-.35-1.88-.535-2.87-.535-4.42 0-8 3.58-8 8' style='paint-order:markers fill stroke'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") 10 10, pointer;
}

html body .dragshield.tilt,
html body .floorplan .map.tilt,
html body .floorplan .map.tilt  .avatar{
	cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23'%3E%3Cg transform='translate(-.5)' fill='%23fff' stroke='%23000' stroke-linecap='square' stroke-width='1px'%3E%3Cpath d='m12.4 11.7-3.54 3.54-2.12-2.12-.707.707-2.72e-5 5.66 5.66-2.8e-5.707-.707-2.12-2.12 3.54-3.54'/%3E%3Cpath d='m9.22 8.86 3.54-3.54-2.12-2.12.707-.707 5.66-2.74e-5-2.7e-5 5.66-.707.707-2.12-2.12-3.54 3.54'/%3E%3C/g%3E%3C/svg%3E") 10 10, pointer;
}

.floorplan.checkbox .wp-block-floorplans-element[data-availability="available"] .avatar,
.floorplan.radio .wp-block-floorplans-element[data-availability="available"] .avatar{
	cursor:pointer;
}



.wp-block-floorplans-element .avatar.area .rendition{
	transition: opacity 0.2s;
}



.wp-block-floorplans-element .avatar.area .rendition{
	display:block;
	pointer-events:none;
	height:100%;
	background-size:contain;
	background-position:center center;
	background-repeat:no-repeat;
	mask-size: 100% 100%;
	mask-position: center center;
	mask-repeat: no-repeat;
	transform: translateZ(0);
}



/*renditions*/

.wp-block-floorplans-element .avatar.image{
	background: unset!important;
	border: unset!important;
}

.wp-block-floorplans-element .avatar.masked,
.wp-block-floorplans-element .avatar.clipped{
	background: unset!important;
	border: unset!important;
	pointer-events:none;
}

.wp-block-floorplans-element .avatar.masked .rendition,
.wp-block-floorplans-element .avatar.clipped .rendition{
	pointer-events:auto;
	opacity:0.5;
}

.wp-block-floorplans-element.checked .avatar.masked .rendition,
.wp-block-floorplans-element.checked .avatar.clipped .rendition{
	pointer-events:auto;
	opacity:0.85;
}


html body .wp-block-floorplans-element.pin{
	transform-origin: bottom center;
	transform: translate(-50%, -100%);
}

html body .wp-block-floorplans-element.pin:after{
	content:attr(data-label);
	position: absolute;
    top: 0px;
    left: 30px;
    line-height: 8px;
	color: #444;
	font-size: .9em;
	transition:none;
	transform-origin: top left;
	transform: scale(1);
}


.wp-block-floorplans-element.pin:after,
.wp-block-floorplans-element .avatar.pin .rendition{
	position:absolute;
	transform:none;
	transition:transform 0.5s, opacity 0.15s;	
}

.wp-block-floorplans-element .avatar.pin .rendition svg{
	width:34px;
	height:37px;
	overflow:visible;
}


..wp-block-floorplans-element:has(>.avatar.pin) .label{
	opacity:0
}

.wp-block-floorplans-element.pin.drop:after,
.wp-block-floorplans-element .avatar.pin .rendition.drop{
	transition:none;
	transform:translate(0,-150px);
	opacity:0;	
	--pin-shadow-transform:matrix(.682, .553, -.822, .952, 87.4, 23.3);
}

:host use#shadow{
	transform:var(--pin-shadow-transform)!important;
	transition:transform 0.5s;
}



/*not available*/
div.floorplan:not(.view) .wp-block-floorplans-element[data-availability="taken"] .avatar:not(.area):not(.pin),
div.floorplan:not(.view) .wp-block-floorplans-element[data-availability="taken"] .avatar.area:not(.image,.masked,.clipped){
	background: var(--avatar-unavailable-bg-color)!important;
	border-color:var(--avatar-unavailable-border-color)!important;
}

div.floorplan:not(.view) .wp-block-floorplans-element[data-availability="taken"] .avatar.pin{
	color: var(--avatar-unavailable-border-color)!important;
	fill:var(--avatar-unavailable-bg-rgb-color)!important;
}

div.floorplan:not(.view) .wp-block-floorplans-element[data-availability="taken"] .avatar.masked .rendition,
div.floorplan:not(.view) .wp-block-floorplans-element[data-availability="taken"] .avatar.clipped .rendition{
	background: var(--avatar-unavailable-bg-rgb-color)!important;
}

.floorplan:not(.view) .wp-block-floorplans-element[data-availability="taken"] .avatar.image .rendition{
    filter: contrast(0.3) brightness(1.5);
}

/*transparent*/

.floorplan:not(.view) .wp-block-floorplans-element:not([data-availability="taken"]):not(.checked):not(.highlight) .avatar.transparent:not(.highlight) .rendition,
.floorplan:not(.view) .wp-block-floorplans-element:not([data-availability="taken"]):not(.checked):not(.highlight) .avatar.transparent.highlight:not(:hover) .rendition{
	opacity:0;
}


