
.idf_pano
{
	position:relative;
	top:0;
	left:0;
	width:100%;
}

.idf_pano *{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
	-webkit-touch-callout: none;
	-ms-content-zooming: none;
}	


/*
 * youtube/vimeo/alert
 */

.idf_pano .alert,
.idf_pano .youtube,
.idf_pano .vimeo
{
	width: 60px;
	height: 60px;
	margin-left: -30px;
	margin-top: -30px;
	transition: opacity 0.2s;
	-webkit-transition: opacity 0.2s;
	perspective: 500px;
	-webkit-perspective: 500px;
	opacity: 1;
}

.idf_pano .alert img,
.idf_pano .youtube img,
.idf_pano .vimeo img
{
	width: 100%;
	height: 100%;
}

.idf_pano .alert:hover,
.idf_pano .youtube:hover,
.idf_pano .vimeo:hover
{
	z-index: 3;
}

.idf_pano .alert .tip,
.idf_pano .youtube .tip,
.idf_pano .vimeo .tip
{
	position: absolute;
	left: 80px;
	top: 0;
	width: 200px;
	background-color: white;
	color: black;
	border-radius: 5px;
	opacity: 0;
	pointer-events: none;
	transform: rotateZ(5deg) rotateY(40deg);
	-webkit-transform: rotateZ(5deg) rotateY(40deg);
	transform-origin: left center;
	-webkit-transform-origin: left center;
	transition: all 0.25s;
	-webkit-transition: all 0.25s;
}

.idf_pano .alert:hover .tip,
.idf_pano .youtube:hover .tip,
.idf_pano .vimeo:hover .tip
{
	opacity: 1;
	pointer-events: all;
	transform: none;
	-webkit-transform: none;
	font-size: 0;
}

.idf_pano .alert .tip .inside,
.idf_pano .youtube .tip .inside,
.idf_pano .vimeo .tip .inside
{
	font-size: 16px;
	padding: .5em;
	text-align: center;
	background-color: #ffffff;
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	color: #333333;
}

.idf_pano .alert .tip img,
.idf_pano .youtube .tip img,
.idf_pano .vimeo .tip img
{
	font-size: 16px;
	padding: .5em;
}

.idf_pano .alert .out,
.idf_pano .youtube .out,
.idf_pano .vimeo .out
{
	position: relative;
	width: 70px;
	height: 70px;
	padding: 5px;
	border: 5px solid rgba(255,255,255,0);
	border-radius: 50%;
	cursor: pointer;
	transition: border .3s ease-in-out;
}

.idf_pano .alert .in,
.idf_pano .youtube .in,
.idf_pano .vimeo .in
{
	width: 100%;
	height: 100%;
	padding: 10px;
	border-radius: 50%;
	color: #444;
	text-align: center;
	line-height: 60px;
	font-size: 2em;
	font-family: cursive;
	transition: background-color .3s ease-in-out;
}

.idf_pano .alert .in .image,
.idf_pano .youtube .in .image,
.idf_pano .vimeo .in .image
{
	width: 30px;
	height: 30px;
	background-size: 30px;
	background-position: 0 30px;
}

.idf_pano .alert .in .image
{
	background-image: url(../img/alert.png);
}

.idf_pano .youtube .in .image
{
	background-image: url(../img/youtube.png);
}

.idf_pano .vimeo .in .image
{
	background-image: url(../img/vimeo.png);
}

.idf_pano .alert .out:hover,
.idf_pano .youtube .out:hover,
.idf_pano .vimeo .out:hover
{
	border: 5px solid #fff;
}

.idf_pano .alert .out:hover .in,
.idf_pano .youtube .out:hover .in,
.idf_pano .vimeo .out:hover .in
{
	background-color: #fff;
}

.idf_pano .alert .out:hover .in .image,
.idf_pano .youtube .out:hover .in .image,
.idf_pano .vimeo .out:hover .in .image
{
	background-position: 0 0px;
}






/*
 * tooltip
 */

.idf_pano .tooltip
{
	width: 60px;
	height: 60px;
	margin-left: -30px;
	margin-top: -30px;
	transition: opacity 0.2s;
	-webkit-transition: opacity 0.2s;
	perspective: 500px;
	-webkit-perspective: 500px;
	opacity: 1;
}

.idf_pano .tooltip img
{
	width: 100%;
	height: 100%;
}

.idf_pano .tooltip:hover
{
	z-index: 3;
}

.idf_pano .tooltip .tip
{
	position: absolute;
	left: 80px;
	top: 0;
	width: 200px;
	background-color: white;
	color: black;
	border-radius: 5px;
	opacity: 0;
	pointer-events: none;
	transform: rotateZ(5deg) rotateY(40deg);
	-webkit-transform: rotateZ(5deg) rotateY(40deg);
	transform-origin: left center;
	-webkit-transform-origin: left center;
	transition: all 0.25s;
	-webkit-transition: all 0.25s;
}

.idf_pano .tooltip:hover .tip
{
	opacity: 1;
	pointer-events: all;
	transform: none;
	-webkit-transform: none;
	font-size: 0;
}

.idf_pano .tooltip .tip .inside
{
	font-size: 16px;
	padding: .5em;
	text-align: center;
	background-color: #ffffff;
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	color: #333333;
}

.idf_pano .tooltip .tip img
{
	font-size: 16px;
	padding: .5em;
}

.idf_pano .tooltip .out
{
	position: relative;
	width: 70px;
	height: 70px;
	padding: 5px;
	border: 5px solid rgba(255,255,255,0);
	border-radius: 50%;
	cursor: pointer;
	transition: border .3s ease-in-out;
}

.idf_pano .tooltip .in
{
	width: 100%;
	height: 100%;
	padding: 10px;
	border-radius: 50%;
	color: #444;
	text-align: center;
	line-height: 60px;
	font-size: 2em;
	font-family: cursive;
	transition: background-color .3s ease-in-out;
}

.idf_pano .tooltip .in .image
{
	width: 30px;
	height: 30px;
	background-image: url(../img/info.png);
	background-size: 30px;
	background-position: 0 30px;
}

.idf_pano .tooltip .out:hover
{
	border: 5px solid #fff;
}

.idf_pano .tooltip .out:hover .in
{
	background-color: #fff;
}

.idf_pano .tooltip .out:hover .in .image
{
	background-position: 0 0px;
}


/*
 * expand
 */

.idf_pano .expand h1 {
	font-weight:500!important; 
	font-size:1rem!important;
}


.idf_pano .expand
{
	width: 70px;
	height: 70px;
	margin-left: -35px;
	margin-top: -70px;
	background-color: #fff;
	color: #000;
	border-radius: 50%;
	text-align: center;
	cursor: pointer;
	transition: width .3s ease-in-out,
			  height .3s ease-in-out,
			  background-color .3s ease-in-out,
			  color .3s ease-in-out,
			  margin .3s ease-in-out;
}

.idf_pano .expand::after
{
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	top: 68px;
	left: 25px;
	border: solid transparent;
	border-color: transparent;
	border-top-color: #fff;
	border-width: 10px;
	transition: border-top-color .3s ease-in-out,
	border-width .3s ease-in-out,
	left .3s ease-in-out,
	top .3s ease-in-out;
}

.idf_pano .expand .title
{
	line-height: 66px;
}

.idf_pano .expand .icon,
.idf_pano .expand .inside
{
	opacity: 0;
	pointer-events: none;
}

.idf_pano .expand .icon
{
	width: 0;
	height: 0;
	margin-top: auto;
	transition: all .3s ease-in-out;
}

.idf_pano .expand .inside
{
	width: 90%;
	margin: auto;
	font-style: italic;
	font-size: 12px;
	margin-top: 10px;
	transition: opacity .2s ease-in-out;
}

.idf_pano .expand:hover
{
	width: 200px;
	height: 200px;
	margin-top: -200px;
	margin-left: -100px;
	background-color: #222;
	color: #fff;
	z-index: 2;
}

.idf_pano .expand:hover .icon
{
	width: 50px;
	height: 50px;
	opacity: 1;
}

.idf_pano .expand:hover .inside
{
	opacity: 1;
	transition: opacity .3s ease-in-out .3s;
}

.idf_pano .expand:hover::after
{
	border-top-color: transparent;
	border-width: 0;
	left: 95px;
	top: 198px;
}


/*
 * hintspot
 */

.idf_pano .hintspot
{
	width: 60px;
	height: 60px;
	margin-left: -30px;
	margin-top: -30px;
	opacity: 0.8;
	transition: opacity 0.2s;
	cursor: pointer;
}

.idf_pano .hintspot img
{
	width: 100%;
	height: 100%;
}

.idf_pano .hintspot:hover
{
	opacity: 1;
}

.hint,
[data-hint]
{
	position: relative;
	display: inline-block;
}

.hint:before, 
.hint:after, 
[data-hint]:before, 
[data-hint]:after
{
	position: absolute;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	visibility: hidden;
	opacity: 0;
	top: 10px;
    right: 70px;
	z-index: 1000000;
	pointer-events: none;
	-webkit-transition: 0.3s ease;
	-moz-transition: 0.3s ease;
	transition: 0.3s ease;
	-webkit-transition-delay: 0ms;
	-moz-transition-delay: 0ms;
	transition-delay: 0ms;	
	background: var(--bs-teal);
	color: var(--bs-white);
	padding:0.8rem 0.5rem!important;
}


.hint:hover:before,
.hint:hover:after,
.hint:focus:before,
.hint:focus:after,
[data-hint]:hover:before,
[data-hint]:hover:after,
[data-hint]:focus:before,
[data-hint]:focus:after
{
	visibility: visible;
	opacity: 1;
}

.hint:hover:before,
.hint:hover:after,
[data-hint]:hover:before,
[data-hint]:hover:after
{
	-webkit-transition-delay: 100ms;
	-moz-transition-delay: 100ms;
	transition-delay: 100ms;
}

.hint:before,
[data-hint]:before
{
	content: '';
	position: absolute;
	background: transparent;
	border: 6px solid transparent;
	z-index: 1000001;
}

.hint:after,
[data-hint]:after
{
	content: attr(data-hint);
	background: var(--bs-primary);
	color: var(--bs-white);
	padding: 8px 10px;
	font-size: 1rem;
	line-height: 12px;
	white-space: nowrap;
}

