[v-cloak] {display: none}

#composition #renderVisualContainer{
	position: absolute;
	transform-origin: top left;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: top left;
}
#composition #render{
	position: absolute;
	transform-origin: top left;
	-webkit-box-shadow: 5px 5px 15px 5px rgba(0,0,0,0.15);
	box-shadow: 5px 5px 15px 5px rgba(0,0,0,0.15);
	background: white;
}
#composition #render.customBackground{
	background: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}

#composition #render.doingRender{
	-webkit-box-shadow:none;
	box-shadow:none;
}

#composition .layer{
	position: absolute;
	top:0;left:0;bottom:0;right:0;
}

#composition .element{
	position: absolute;
	box-sizing: content-box;
	transition: all ease 0.2s;
}
#composition .element.map, #composition .element.image{
	overflow: hidden;
}
#ldesigner_container .element.map .container.mapboxgl-map{
	margin:0;padding:0;transform-origin:top left;
	position: absolute;top: 0;left: 0;overflow:hidden;
	width: 100% !important;
	height: 100% !important;
}
#ldesigner_container .element.map .container.own-renderer{
	display: block;width:100%;height:100%;background:red;
	margin:0;padding:0;transform-origin:top left;position: absolute;top: 0;left: 0;
	max-width: none;
	max-height: none;
}

#composition .mapLegalRequirements{
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateX(-50%) translateY(-50%) rotate(-90deg);
	display:none;
	color:#8d8d8d;
	font-size:8px;
}
#composition .mapLegalRequirements.display{display:block}
#composition .mapLegalRequirements a{color:#8d8d8d;}

#composition .filigram{
	width: 100%;
	height: 100%;
	z-index: 2;
	position: absolute;
}

#rightMenu .editorElement{}
#rightMenu .editorElement .colorPreview{
	display:inline-block;
	width:15px;height:15px;
}

#composition .element.map .options{
	position: absolute;
	top:0;
	transform-origin: top left;
}
#composition .element.map .options .zoom{
	display: block;
	width:20px;
	height:20px;
	text-align: center;
	font-size: 20px;line-height: 20px;
	border:1px solid #cecece;background: none;
	margin-bottom:5px;
	padding:0;
}
#composition .element.map .options .zoom img{height:16px;}

#compositionImageBundleResize .element.image.showOutside{
	overflow: visible !important;
}
#compositionImageBundleResize .element.image.showOutside .imagePositionerContainer{
	overflow: visible !important;
}





#composition .element.image > .imagePositionerContainer{
	position: absolute;
	top:0;left:0;right:0;bottom:0;
}
#composition .element.image .lowRezWarning, #compositionImageBundleResize .element.image .lowRezWarning{
	position: absolute;
	transform-origin: bottom left;
	bottom:0;left:0;
	z-index: 1;
}

#composition .element.image .lowRezWarning img, #compositionImageBundleResize .element.image .lowRezWarning img{
	height:20px;
}
#composition .element.image > img{
	max-width: initial !important;
	max-height: initial !important;
	height: initial !important;
	width:initial !important;
}

#composition .element.image-svg-anchor{
	position: absolute;
	top:0;left:0;right:0;bottom:0;
	overflow: hidden;
	pointer-events: none;
}
#composition .element.image-svg-anchor > div{
	position: absolute;
	pointer-events: all;
	font-size: 0;
}

#composition .element.image-ai{}
#composition .element.image-ai > img.aiImage{
	width: 100%;
	height: 100%;
}
#composition .element.image-ai > img.filigram{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#composition .element.image-ai.waitSelection, #composition .element.image-ai.processing{
	background: white;
	z-index: 10;
}
#composition .element.image-ai.processing{
	text-align: center;
}


#composition .element.image-ai.processing > img{}
#composition .element.image-ai.processing > img.loader{
	width: 30%;
	height: auto;
	z-index: 100;
	position: absolute;
	transform: translate(-50%, -50%);
	top: 30%;
	left: 50%;
}
#composition .element.image-ai.processing > .label{
	display: block;
	font-size: 16px;
	text-align: center;
	pointer-events: none;
	color: #fff;
	position: absolute;
	z-index: 5;
	top: 35%;
	padding: 30px;
	box-sizing: border-box;
}
#composition .element.image-ai.processing > .label .progress{
	display: block;
	margin-top: 20px;
	font-size: 20px;
	background: none;
}
#composition .element.image-ai.processing > .label .reassurance{
	display: block;
	margin-top: 20px;
	font-size: 14px;
	background: white;
	border-radius: 5px;
	color: black;
	font-weight: bold;
}

#composition .element.image-ai.processing > img.userImage{
	filter: blur(20px);
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

#composition .element.image-ai > .importImage{
text-align: center;
border: 1px dashed black;
border-radius: 3vw;
padding: 3vw 1vw;
position: absolute;
width: 80%;
height: 80%;
margin-top: 14%;
box-sizing: border-box;
margin-left: 10%;
}
#composition .element.image-ai > .importImage > .icon{
display: block;
height: 35px;
margin-top: 40px;
}
#composition .element.image-ai > .importImage > .icon svg{
width: 100%;
height: 100%;
}
#composition .element.image-ai > .importImage > .title{
display: block;
font-weight: bold;
font-size: 16px;
margin-top: 20px;
}
#composition .element.image-ai > .importImage > .description{
display: block;
font-size: 12px;
margin-top: 10px;
font-weight: normal;
}
#composition .element.image-ai > .importImage > .description.error{
	color: red;
	font-size: 16px;
}
#composition .element.image-ai > .importImage > button{
margin-top: 20px;
font-size: 16px;
background: #375451;
color: white;
border-radius: 8px;
padding: 8px 14px;
}


.mapboxgl-control-container .mapboxgl-ctrl-logo{
display: none !important;
}