@font-face {
	font-family: 'GoboldThin';
	src: url('fonts/GoboldThin.eot?#iefix') format('embedded-opentype'),  url('fonts/GoboldThin.woff') format('woff'), url('fonts/GoboldThin.ttf')  format('truetype'), url('fonts/GoboldThin.svg#GoboldThin') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400;
	src: url("fonts/montserrat-v25-latin-regular.eot");
	src: local(""), url("fonts/montserrat-v25-latin-regular.eot?#iefix") format("embedded-opentype"), url("fonts/montserrat-v25-latin-regular.woff2") format("woff2"), url("fonts/montserrat-v25-latin-regular.woff") format("woff"), url("fonts/montserrat-v25-latin-regular.ttf") format("truetype"), url("fonts/montserrat-v25-latin-regular.svg#Montserrat") format("svg");
}

/* #region Général */
body {	
	margin:0;
	padding:0;	
	font-family:arial;
	background-color:rgba(255,255,255,1.0);
	overflow:hidden;
}

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
								  supported by Chrome and Opera */

}

.big-container {
	position:absolute;
	margin:0;
	padding:0;
	width:100%;
	height:100%;
	background-color:rgba(255,255,255,1.0);
}

.container {
	width: 100vw; 
    height: 56.25vw;
	max-height: 100vh;
    max-width: 177.8vh; /* 16/9 = 1.778 */
    margin: auto;
    position: absolute;
    top:0;bottom:0; /* vertical center */
	left:0;right:0; /* horizontal center */
}

#canvas {
	position:absolute;
	top:0;
	left:0;
	margin:0;
	padding:0;
	visibility:visible;
	-ms-touch-action:none;	
	touch-action: none;
}
/* #endregion */


/* ---------------------------------------------------------------- */
/* #region        Loader                                            */
#GUI-loader-container {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 1.0);
	background-image: url("../assets/background_trame_abeille.svg");
	background-repeat: repeat;
	background-size: 10%;
	visibility: visible;
	overflow: hidden;
	z-index: 10;
}

#loader-svg {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 180px;
	max-width: 15%;
	transform: translate(-50%, -50%);
}

#path_test {
	stroke: #797e83;
	fill: none;
	stroke-width: 3px;
}

#loaderView {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 1.0);
	visibility: visible;
	overflow: hidden;
}

.loaderCircle {
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 3.3vw;
	height: 3.3vw;
	padding-bottom: 6.25vw;
	transform-origin: 1.65vw 1.65vw;
	animation: rotating 1.5s linear 0s infinite;
}

@keyframes rotating {
	from { transform: rotate(0deg); }
	to { transform: rotate(-360deg); }
}

.loaderVisio {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 10.42vw;
	height: auto;
	margin: auto;
	padding-top: 6.25vw;
}

/* #endregion                                                       */
/* ---------------------------------------------------------------- */


/* #region Interface */
#GUI_Haut{
	position:absolute;
	top:0px;
	left:0px;
	margin:0;
	padding:0;
	pointer-events: none;
}
#GUI_Boussole{
	position:absolute;
	top:10.8%;
	right:10px;
	margin:0;
	padding:0;
	pointer-events: none;
}
#GUI_FondInterface{
	position:absolute;
	bottom:1%;
	left:0;
	margin:0;
	padding:0;
	pointer-events: none;
}
#GUI_Boutons{
	position:absolute;
	bottom:1%;
	left:0;
	margin:0;
	padding:0;
	pointer-events: none;
}
#GUI_Zoom{
	position:absolute;
	bottom:12%;
	left:0;
	margin:0;
	padding:0;
	pointer-events: none;
}

#loader {
	position:absolute;
	top:0;
	left:0;	
	right:0;
	bottom:0;
	width:100vw;
	height:100vh;
	visibility:visible;
	z-index:10;
	background-color:rgba(255,255,255,0.0);
}

#btZoomMoins{
	cursor:pointer;
}

#btZoomPlus{
	cursor:pointer;
}
/* #endregion */

/* #region Autre */

.transparent {
	fill: rgba(255,255,255,0);
}

.fondBt{
    fill: #333437;
}

.grisZoom {
    fill: #6f737b;
}

.gris{
	fill: #3E3F44;
}

.blancZoom {
    fill: #ffffff;
}

.barreZoom{
	position:absolute;
	right:0px;
	bottom:0px;
	width:100%;
	height:auto;
	margin:0;
	padding:0;
	z-index:555;
}


.btPointer{
	cursor:pointer;
	pointer-events: auto;
}

#loader-canvas {
        display: block;
        position: relative;
        left: 50%;
        top: 50%;
        width: 150px;
        height: 150px;
        margin: -75px 0 0 -75px;
		
        border: 3px solid transparent;		
		border-top-color: #606d75;
		border-radius: 50%;
        z-index: 1500;		
		
		-webkit-animation: spin 1.5s linear infinite;
		animation: spin 1.5s linear infinite;
}

#loader-canvas:before {
    content: "";
    position: absolute;
    top: 6px;
    left: 6px;
    right: 6px;
    bottom: 6px;
    border: 3px solid transparent;
	border-top-color: #c8591e;
	border-radius: 50%;
	-webkit-animation: spin 2s linear infinite;
	animation: spin 2s linear infinite;
}
#loader-canvas:after {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border: 3px solid transparent;
	border-top-color: #1b8159;
	border-radius: 50%;
	
	-webkit-animation: spin 3s linear infinite;
	animation: spin 3s linear infinite;
}

/* include this only once */
@-webkit-keyframes spin {
    0%   {
        -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(0deg);  /* IE 9 */
        transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
    }
    100% {
        -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(360deg);  /* IE 9 */
        transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
    }
}
@keyframes spin {
    0%   {
        -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(0deg);  /* IE 9 */
        transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
    }
    100% {
        -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(360deg);  /* IE 9 */
        transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
    }
}

#loaderView {
	position:absolute;
	display:block;
	left:0%;
	bottom:0%;
	width:100%;
	height:100%;
	overflow:hidden;
	opacity:1.0;
}

#loadingTxt {
	position:absolute;
	display:block;
	color:rgba(69,63,72,1.0);
	left:50%;
	top:50%;
	height:36px;
	width:150px;
	margin: -18px 0 0 -75px;
	color:black;
	font-size:24px;
	font-family:arial;
	text-align:center;
	line-height:36px;
}

#btFermer {
	position:absolute;
	display:block;
	top:32px;
	right:5px;
	width:40px;
	height:40px;	
	transform:scale(1);
	transform-origin:top right;
	cursor: pointer;
}

.imgFull{
	display:block;
	position:absolute;
	left:0;
	right:0;
	border:0;
	width:100%;
	height:100%;
}
/* #endregion */

/* #region Boussole */
.boussole0{
	fill-rule:evenodd;
	clip-rule:evenodd;
	fill:#EAEBED;
}
.boussole1{
	fill-rule:evenodd;
	clip-rule:evenodd;
	fill:#333649;
}	
.traitBoussole{
	fill-rule:evenodd;
	clip-rule:evenodd;
	fill:none;stroke:#333649;
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-miterlimit:10;
}
/* #endregion */

/* #region Colors */
.none { fill: none; }
.transparent { fill: rgba(255,255,255,0); }
.blanc { fill: #fff; }
.blancCrop { fill: #fff; fill-rule: evenodd; }
.fondBt{ fill: #333437; }
.blancZoom { fill: #ffffff; }
.noir { fill: #1e181a; }
.gris { fill: #3E4149; }
.grisClair { fill: #6f737b; }
.vert { fill: #6dd900; }
.rose { fill: #ff3366; }
.bleu { fill: #50d2c2; }
.jaune { fill: #ff9326; }
.fondPuces { fill: #3e3f44; }
.darkcyan { fill: #006666; }
.rouge { fill:#FF0000; }
.colorBtnActive { fill:#51545c; }



.orange {
	fill: #ff9326;
	fill-rule: evenodd;
}
.bleu_bouygues {
	fill:#003b4a;
}
.vert_bouygues {
	fill:#86bc24;
}


.contourGris { stroke: #5e636c; stroke-width: 2px; }
.contourNoir { stroke: #1e181a; stroke-width: 2px; }
.contourBtnActive { stroke: #51545c; stroke-width: 2px; }

/* #endregion */

/* #region Logo Client */
#logoClient {
	position: absolute;
	left: 5px;
	top: 0;
	width: 15%;
	max-width: 120px;
	height: auto;
	padding: 10px 0 0 20px;
	z-index: 1;
}
/* #endregion */

#GUI-Boussole {
	position: absolute;
	left:50%;
	bottom:6.9%;
	transform:translate(-50%, 0);
}
#GUI-PanelZoom {
	position: absolute;
	right:25px;
	bottom:7.5%;
}

/* #region Nouvelle interface */
#GUI_Interface {
	position:absolute;
	left:27.5%;
	top:85.46%;
}
.cls-1, .cls-4 {
	fill: #383838;
  }

  .cls-2 {
	stroke: #fff;
  }

  .cls-14, .cls-2, .cls-3, .cls-5 {
	stroke-miterlimit: 10;
  }

  .cls-14, .cls-3 {
	fill: #fff;
  }

  .cls-3 {
	stroke: #5b5b5b;
  }

  .cls-11, .cls-15, .cls-16, .cls-18, .cls-4 {
	fill-rule: evenodd;
  }

  .cls-17, .cls-5 {
	fill: none;
  }

  .cls-14, .cls-5 {
	stroke: #000;
  }

  .cls-5 {
	stroke-width: 2px;
  }

  .cls-6 {
	font-size: 19px;
	fill: #515151;
	font-family: GoboldThin, 'Gobold Thin';
  }

  .cls-7 {
	letter-spacing: -0.01em;
  }

  .ombre_zoom {
	fill:rgba(81,84,92,0.15);
  }

  .cls-15 {
	fill: #c0c2c1;
  }

  .cls-9 {
	fill: #51545c;
  }

  .cls-10 {
	fill: #6f737b;
  }

  .cls-11, .cls-13 {
	fill: #eaebed;
  }

  .cls-12 {
	fill: #6d727c;
  }

  .cls-14 {
	opacity: 0.2;
  }

  .cls-16 {
	fill: #333649;
  }

  .cls-17 {
	stroke: #333649;
	stroke-linecap: round;
	stroke-linejoin: round;
  }

  .cls-18 {
	fill: red;
  }
/* #endregion */


/* #region Logo Visiolab */
#logoVisio {
	position:absolute;
	left:0.7%;
	top:0;
}
.visioTexte {
	fill: #000;
}
.visioDeg1 {
	fill: url(#degrade);
	stroke: url(#degrade);
	stroke-width: 2px;
}

.visioDeg2 {
	fill: url(#degrade-2);
	stroke: url(#degrade-2);
	stroke-width: 2px;
}

.visioDeg3 {
	fill: url(#degrade-3);
	stroke: url(#degrade-2);
	stroke-width: 2px;
}

.visioDeg4 {
	fill: url(#degrade-4);
	stroke: url(#degrade-2);
	stroke-width: 2px;
}

.visioDeg5 {
	fill: url(#degrade-5);
	stroke: url(#degrade-2);
	stroke-width: 2px;
}

.visioDeg6 {
	fill: url(#degrade-6);
	stroke: url(#degrade-2);
	stroke-width: 2px;
}

.visioDeg7 {
	fill: url(#degrade-7);
	stroke: url(#degrade-2);
	stroke-width: 2px;
}

.visioDeg8 {
	fill: url(#degrade-8);
	stroke: url(#degrade-2);
	stroke-width: 2px;
}
/* #endregion */


/* #region Logo client */
#logoSaintAgne {
	position:absolute;
	left:5px;
	top:5px;
	width:15%;
	height:auto;
}
/* #endregion */


/* #region Titre */
#titre-residence {
	position:absolute;
	left:40.625%;
	top:1.57%;
}
#adresse-residence {
	position:absolute;
	left:37.91%;
	top:7.96%;
}
.adresse-1 {
	fill: #41484b;
}
.nom-1 {
	fill: #41484b;
}
/* #endregion */

/* #region Fullscreen */
#GUI_Fullscreen {
	position:absolute;
	right: 25px;
	top: 12px;
	cursor: pointer;
	z-index:5;
}
.fullscreen-1 {
	fill: #383838;
}
.fullscreen-2 {
	fill: #fff;
}
/* #endregion */

/* #region lightbox */
#lightBox {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	border: 0;	
	opacity:0.0;
	display:none;
	background-color: white;
}
#ifrm-axo {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	border: 0;
}
#fermerFrame{
	position:absolute;
	left:95.15%;
	top:3.33%;

    width:2.5%;
    height:4.44%;
	cursor: pointer;
	
}
.affBat{
	position:absolute;
	width:12vw;
	height:3.5vw;
	min-width:120px;
	right:-1vw;
	bottom:0;
	margin:0;
	padding:0;
}
.textAxo{
    font-size: 30px;
    font-family: GoboldThin;	
    fill: #222;
}
#idBat{
    font-size: 30px;
    font-family: GoboldThin;	
    fill: #FFF;
}
/* #endregion */




/* #region Menu Global */
#menu_global {
	position:absolute;
	left:0;
	top:calc(50% - 75px);
	bottom: default;
	width:50px;
	height:auto;
	-webkit-box-shadow: 3px 0px 6px 0px rgba(0,0,0,0.66); 
	box-shadow: 3px 0px 6px 0px rgba(0,0,0,0.66);
	border-top-right-radius:4px;
	border-bottom-right-radius:4px;
	overflow:hidden;
	z-index:3;
}
#menu_global .menu_global_item {
	display: block;
	width:50px;
	height:auto;
	cursor:pointer;
}

#menu_global .menugauche_btn_bg {
	fill: #ffffff;
}

#menu_global .menu_global_item.actif .menugauche_btn_bg {
	fill: #e8e8e8;
}

#menu_global .menu_global_item:hover .menugauche_btn_bg {
	fill: #fafafa;
}
/* #endregion */

/* #region Panorama & Film */
/* #galerieContainer {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background-color:#ffffff;
} */
#panoramaContainer {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background-color:#ffffff;
}
#pano_iframe {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

#filmContainer {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background-color:#ffffff;
}
#video_tag {
	position:absolute;
	left:0%;
	top:0%;
	width:calc(100% - 120px);
	height:auto;
}
/* #endregion */

/* ---------------------------------------------------------------- */
/* #region 		  Galerie images   									*/
#galerie_bigcontainer {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	border-left: 0.3px solid rgba(148, 148, 148, 0.5);
	z-index: 2;
	display: none;
	opacity: 1;
	transition: opacity 1s linear;
}

#galerie_bigcontainer.show {
	display: block;
	opacity: 1;
}

#galerie_close {
	position:absolute;
	right:3%;
	top:3%;
	width:4%;
	max-width:50px;
	height:auto;
	cursor:pointer;
}

#galerie_subcontainer {
	position: absolute;
	left: 10%;
	top: 10%;
	width: 80%;
	height: 80%;
	background-color: orange;
	/* display:none; */
}


#galerie_container {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background-color: white;
	overflow: hidden;
	display: grid;
	grid-gap: 0;
	grid-template-columns: repeat(auto-fit, minmax(33.33333%, 1fr));
	grid-auto-rows: 33.33333%;
	grid-auto-flow: row dense;
}

.galerie_items {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.galerie_items--medium {
	display: flex;
	justify-content: center;
	align-items: center;
	grid-column-end: span 2;
	overflow: hidden;
}

.galerie_items--portrait {
	display: flex;
	justify-content: center;
	align-items: center;
	grid-row-end: span 2;
	overflow: hidden;
}

.galerie_items--full {
	display: flex;
	justify-content: center;
	align-items: center;
	grid-column-end: span 3;
	overflow: hidden;
}

.galerie_items--2-2 {
	display: flex;
	justify-content: center;
	align-items: center;
	grid-column-end: span 2;
	grid-row-end: span 2;
	overflow: hidden;
}

.galerie_items img,
.galerie_items--medium img,
.galerie_items--portrait img,
.galerie_items--full img,
.galerie_items--2-2 img {
	margin: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform .2s;
	cursor: pointer;
}

.galerie_items img:hover,
.galerie_items--medium img:hover,
.galerie_items--portrait img:hover,
.galerie_items--full img:hover,
.galerie_items--2-2 img:hover {
	transform: scale(1.05);
}


#galerie_lightbox {
	position: fixed;
	margin: 0;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(255, 255, 255, 0.91);
}

#galerie_lightbox.unhide {
	opacity: 1.0;
	visibility: visible;
	display: block;
	animation: 0.8s hideEl;
	animation-fill-mode: forwards;
}

#galerie_lightbox.hide {
	opacity: 0.0;
	visibility: hidden;
	display: none;
	animation: 0.8s unhideEl;
	animation-fill-mode: forwards;
}

.galerie_swiper_container {
	position: absolute;
	margin-left: auto;
	margin-right: auto;
	left: 5%;
	top: 5%;
	width: 90%;
	height: 90%;
	overflow: hidden;
	list-style: none;
	padding: 0;
	z-index: 1;
}

.galerie_swiper_wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	transition-property: transform;
	box-sizing: content-box;
	transform: translate3d(0px, 0, 0);
	z-index: 1;
}

.galerie_swiper_slide {
	position: relative;
	display: flex;
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	transition-property: transform;
	transform: translate3d(0px, 0, 0);
	border-right: 1px solid #eee;
	border-left: 1px solid #eee;
}

#galerie_bigcontainer .galerie-button-prev, #galerie_bigcontainer .galerie-button-next {
	position: absolute;
	top: 50%;
	width: 6%;
	max-width: 60px;
	height: auto;
	margin: 0;
	z-index: 20;
	cursor: pointer;
	pointer-events: all;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: translate(0, -50%);
}

#galerie_bigcontainer .galerie-button-prev {
	left: 0px;
}

#galerie_bigcontainer .galerie-button-next {
	right: 0px;
}

#galerie_bigcontainer .galerie-button-prev.swiper-button-disabled, #galerie_bigcontainer .galerie-button-next.swiper-button-disabled {
	opacity: 0;
	cursor: auto;
	pointer-events: none;
}

/* .galerie_swiper_button_prev,
.galerie_swiper_button_next {
	position: absolute;
	top: 50%;
	width: 3.53%;
	height: 5.2%;
	top: 50%;
	bottom:50%;
	margin: 0;
	z-index: 20;
	cursor: pointer;
	pointer-events: all;
	display: flex;
	align-items: center;
	justify-content: center;
}
.galerie_swiper_button_prev { left:0%; }
.galerie_swiper_button_next { right:0%; } 
.galerie_swiper_button_prev.swiper-button-disabled,
.galerie_swiper_button_next.swiper-button-disabled {
	opacity: 0;
	cursor: auto;
	pointer-events: none;
}
.galerie_arrows {
	fill: none;
	stroke: #dbad55;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 0.16vw;
	stroke-dasharray: 6.5 5.0;
} */
.galerie_slide_img {
	position: absolute;
	width: 100%;
	height: 100%;
	margin: auto;
	right: 0;
	bottom: 0;
	object-fit: contain;
}

/* ----------------------------- */
/* ------ Version Mobile  ------ */
/* ----------------------------- */
#big_container.mobile #galerie_bigcontainer {
	left: 50px;
	width: calc(100% - 50px);
}

/* #endregion                                                       */
/* ---------------------------------------------------------------- */