/* **************************************************** */
/* #region                 Fonts                        */
/* **************************************************** */

@font-face {
  font-family: 'Roboto-Thin';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/Roboto-Thin.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/Roboto-Thin.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/Roboto-Thin.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/Roboto-Thin.woff') format('woff'), /* Modern Browsers */
       url('fonts/Roboto-Thin.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/Roboto-Thin.svg#Roboto-Thin') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/roboto-v20-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/roboto-v20-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/roboto-v20-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/roboto-v20-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('fonts/roboto-v20-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/roboto-v20-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* **************************************************** */
/* #endregion              Fonts                        */
/* **************************************************** */

/* **************************************************** */
/* #region                 Global                       */
/* **************************************************** */
*:fullscreen
*:-ms-fullscreen,
*:-webkit-full-screen,
*:-moz-full-screen {
   overflow: auto !important;
}

html, body {
  position: fixed;
  overflow: hidden;
}

body {
  width: 100%;
  height:100%;
  margin: 0;
  padding: 0;
  /* font-size: 0.09259vh; */
  /* font-size: 1160px; */
  /* font-size: 0.07vw; */
  font-size: 1.05px;
}

.noselect {
  -webkit-touch-callout: none;
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-tap-highlight-color: transparent;
}

.noAction{
  pointer-events: none;
}

.cursorBt{
  cursor: pointer;
}

.hide{
  opacity: 1.0;
  visibility: visible;
  animation: 0.8s hideEl;
  animation-fill-mode: forwards;
}

.unhide{
  opacity: 0.0;
  visibility: hidden;
  animation: 0.8s unhideEl;
  animation-fill-mode: forwards;
}

@keyframes hideEl {    
  0% {
    opacity: 1.0;
    visibility: visible;
  }
  100% {
    opacity: 0.0;
    visibility: hidden;
  }
}

@keyframes unhideEl {    
  0% {
    opacity: 0.0;
    visibility: hidden;
  }
  100% {
    opacity: 1.0;
    visibility: visible;
  }
}

#UIview_parent_container {
  position: absolute;
  margin: 0;
  padding: 0;
  left:0; top:0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 1.0);
  overflow: hidden;
}

#UIview_container {
  /* display:none; */
  position: absolute;
  right:0;
  top: 0;
  width:100%;
  /* min-width: 380px;   */
  max-width: 100%;
  height:100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

#UIview_background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  background-image: url('../assets/home/home_fond.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  background-color: white;
}

#UIview_children {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
}

#UIview_home {
  position: absolute;
  left: 100%;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  overflow: hidden;
}

#UIview_localisation {
  position: absolute;
  left: 100%;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  overflow: hidden;
}

#UIview_map {
  position: absolute;
  left: 100%;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  overflow: hidden;
}

#UIview_maquette {
  position: absolute;
  left: 100%;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  overflow: hidden;
}

#UIview_visite360 {
  position: absolute;
  left: 100%;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  overflow: hidden;
}

#UIview_galerie {
  position: absolute;
  left: 100%;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  overflow: hidden;
}

#UIview_plans {
  position: absolute;
  left: 100%;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  overflow: hidden;
}

#UIview_favoris {
  position: absolute;
  left: 100%;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  overflow: hidden;
}

#UIview_video {
  position: absolute;
  left: 100%;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  overflow: hidden;
}

#UIview_contact {
  position: absolute;
  left: 100%;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  overflow: hidden;
}

.UIview_frames {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
}

.UIview_hidden{  
  left: 0%;
  visibility: visible;
  animation: 1s moveOut;
  animation-fill-mode: forwards;
}

.UIview_appear{  
  left: 100%;
  animation: 1s moveIn;
  animation-fill-mode: forwards;
}

@keyframes moveIn {    
  0% {
    visibility: hidden;
    left:100%
  }
  100% {
    visibility: visible;
    left:0%
  }
}

@keyframes moveOut {    
  0% {
    visibility: visible;
    left:0%
  }
  100% {
    visibility: hidden;
    left:100%
  }
}

@media (min-width:1801px) {
  #DEV_marker_color {
    background-color:red;
  }
}
@media (min-width:1200px) and (max-width:1800px) {
  body {
    font-size: 0.95px;
  }
  #DEV_marker_color {
    background-color:orange;
  }
}
@media (max-width:1199px) {
  body {
    font-size: 0.9px;
  }
  #DEV_marker_color {
    background-color:yellow;
  }
}

/* **************************************************** */
/* #endregion Global */
/* **************************************************** */

/* **************************************************** */
/* #region                 Menu                         */
/* **************************************************** */
#menu_container {
  position: absolute;
  left: 0;
  right: 0;
  height: 100vh;
  width:18.5185vh;
}

#menu_centre_container{
  position: absolute;
  margin: 0;
  border: 0;
  left:50%; 
  /* right:71.11vh; */
  top:12.41%;
  /* width:12.8125%; */
  width: 22.78vh;
  height:5.9259%;
}

#menu_centre{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  border: 0;
  left:0;
  top:0;
  width: 100%;
  height:100%;
  visibility: hidden;
}

.menu_centre_pos_middle{
  animation: 1s move_menu_centre_middle;
  animation-fill-mode: forwards;
}
.menu_centre_pos_top{   
  animation: 1s move_menu_centre_top;
  animation-fill-mode: forwards;
}

@keyframes move_menu_centre_middle {  
  0%{
    top:1%;
  }  
  100% {
    top:12.41%;
  }
}

@keyframes move_menu_centre_top {  
  0%{
    top:12.41%;
  }  
  100% {
    top:1%;
  }
}

.menu_bt_centre{
  width:auto;
  height:100%;
}

.menu_fond_blanc {
  fill: #fff;
}

.menu_text_blanc {
  stroke: none;
  fill: #fff;
  font-family: 'Roboto-Thin';
  font-weight: normal;
  font-size: 15px;
  text-transform: uppercase;
}

.menu_contour_fin_blanc {
  stroke: #fff;
  stroke-width: 0.75px;
}

.menu_contour_anthracite {
  stroke: #1d1d1b;
}

.menu_contour_anthracite_fond_blanc {
  stroke: #1d1d1b;
  fill: #fff;
}

.menu_contour_noir_fond_transparent {
  fill: none;
  stroke: #000;
}

.menu_contour_fin {
  stroke-miterlimit: 10;
  stroke-width: 0.8px;
}

.menu_contour_pointille {
  stroke-dasharray: 3 2;
}

.menu_contour_dore_fond_transparent {
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  stroke: #dbad55;
  stroke-width: 1.5px;
}

.menu_contour_dore_fond_transparent_pointille {
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: rgba(255, 255, 255, 0.0);
  stroke: #dbad55;
  stroke-dasharray: 30;
  stroke-width: 1.5px;
}
.menu_contour_dore_fond_transparent_pointille_fin {
  fill: rgba(255, 255, 255, 0.0);
  stroke: #dbad55;
  stroke-dasharray: 3;
  stroke-width: 2px;
}
.menu_contour_dore_fond_blanc_pointille_fin {
  fill: rgba(255, 255, 255, 1.0);
  stroke: #dbad55;
  stroke-dasharray: 3;
  stroke-width: 2px;
}
#menu_favoris{
  visibility: hidden;
}

.menu_fond_dore {
  stroke:none;
  fill: #dbad55;
}

.menu_opacite_ombre {
  opacity: 0.6;
}

.menu_icone_actif {
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: #000;
  animation: 0.2s fadeToWhite;
  animation-fill-mode: forwards;
  fill: none;
}

.menu_icone_inactif {
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: #fff;
  animation: 0.2s fadeToBlack;
  animation-fill-mode: forwards;
  fill: none;
}

.menu_hidden{  
  visibility: hidden;
}

.menu_visible {
  animation: 0.2s fadeIn;
  animation-fill-mode: forwards;
  visibility: hidden;
}

.menu_invisible {
  animation: 0.2s fadeOut;
  animation-fill-mode: forwards;
  visibility: visible;
}

@keyframes fadeToBlack {
  0% {    
    stroke: #fff;
  }
  100% {    
    stroke: #000;
  }
}

@keyframes fadeToWhite {
  0% {    
    stroke: #000;
  }
  100% {    
    stroke: #fff;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    visibility: visible;
    opacity: 1;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    visibility: hidden;
    opacity: 0;
  }
}

#menu_nuage_visiolab {
  cursor:pointer;
}
#menu_nuage_visiolab_tooltip {
  display:block;
  position:absolute;
  font-family:Roboto;
  left:-10px; top:-10px;
  width:auto;
  visibility:hidden;
  opacity:0;
  background-color:white;
  padding:3px;
  border:1px solid #4a4a4a;
  font-size:12px;
  position:relative;
  border-radius: 2px;
}

/* **************************************************** */
/* #endregion Menu */
/* **************************************************** */

/* **************************************************** */
/* #region                 Fullscreen                   */
/* **************************************************** */

#btFullscreen {
  position: absolute;
  right: 0.52%;
  /*top: 2.13%;*/
  top: 1%;
  /* width: 5.74vh;
  height: 5.74vh; */
  width: 50px;
  height: 50px;
  margin: 0;
  padding: 0;
  visibility: hidden;
}

#full_on {
  display:block;
}
#full_off {  
  display:none;
}

@media (min-width:1200px) and (max-width:1800px) {
  #btFullscreen {
    right: 0.52%;
    top: 1%;
    width: 40px;
    height: 40px;
  }
}
@media (max-width:1199px) {
  #btFullscreen {
    right: 0.52%;
    top: 1%;
    width: 35px;
    height: 35px;
  }
}

/* **************************************************** */
/* #endregion               Fullscreen                  */
/* **************************************************** */

/* **************************************************** */
/* #region                 Intro                        */
/* **************************************************** */

.intro_title{
  position:absolute;
  display: block;
  font-family: 'Roboto-Thin';
  font-size:53em;
  color: #DBAD55;
  width:50%;
  top:6.9%;
  margin:auto;
  left: 0;
  right: 0;
  border: 0;
  text-align: center;
  text-transform: uppercase;
}

#intro_dots{
  position:absolute;
  bottom:0;
  margin:auto;
  width:100%;
  /* height:4.9vh; */
  height:4.9%;
  border:0;  
  text-align: center;
  /* letter-spacing:2.5vh; */
  letter-spacing:2.5%;
}
#intro_enter{
  position: absolute;
  display:block;
  top:0;
  left:0;
  width:100%;
  height:100%;
  margin:0;
}

#intro_mask{
  position: absolute;
  display:block;
  top:0;
  left:0;
  width:100%;
  height:100%;
  margin:0;
  background-color: rgba(255, 255, 255, 1.0);
  visibility: visible;
  animation-delay: 0.6s;
  animation-duration: 1.2s;
  animation-name:removeMask;
  animation-fill-mode: forwards;
}

.intro_invisible {
  display:block;
  animation: 0.2s fadeOutNone;
  animation-fill-mode: forwards;
  visibility: visible;
}

#UIview_background.intro_background{  
  /* background-position-x: calc(100vw - 100vw); */
  /* background-position-x: -300px; */
  animation-delay: 0.2s;
  animation-duration: 1s;
  animation-name:moveBackgroundIntro;
  animation-fill-mode: forwards;
}
.intro_background .intro_enter {
  opacity:0;
}

@keyframes removeMask {    
  0% {
    visibility: visible;
    display:block;
    background-color: rgba(255, 255, 255, 1.0);
  }
  100% {
    visibility: hidden;
    display:none;
    background-color: rgba(0, 0, 0, 0.0);
    pointer-events: none;
  }
}

@keyframes moveBackgroundIntro {    
  0% {    
    background-position-x: 0;
  }
  100% {
    /* background-position-x: -50vw; */
    background-position-x: -50vw;
  }
}

@keyframes fadeOutNone {
  0% {
    display:block;
    visibility:visible;
    opacity: 1;
  }
  100% {
    display:none;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }
}

@media (min-width:1801px) {
  .intro_title {
    font-size:53em;
  }
}
@media (min-width:1200px) and (max-width:1800px) {
  .intro_title {
    font-size:50em;
  }
}
@media (max-width:1199px) {
  .intro_title {
    font-size:45em;
  }
}


/* **************************************************** */
/* #endregion              Intro                        */
/* **************************************************** */

/* **************************************************** */
/* #region                 Logos                        */
/* **************************************************** */
#logo_promoteur {
  position: absolute;
  right: calc(1.4% + 50px);
  top: 1.0%;
  width: auto;
  height: 4.8%;
  margin: 0;
  padding: 0;
  pointer-events: none;
  visibility: hidden;
}

.logo_appear {
  animation-delay: 0.4s;
  animation-duration: 1s;
  animation-name:fadeIn;
  animation-fill-mode: forwards;
  visibility: hidden;
}

#nuage_visiolab{
  position: absolute;
  right: 0.52%;
  bottom: 0.93%;
  width: auto;
  height: 2%;
  margin: 0;
  padding: 0;
  pointer-events: none;
  visibility: hidden;
}

/* **************************************************** */
/* #endregion              Logo Promoteur               */
/* **************************************************** */

/* **************************************************** */
/* #region                 Home                         */
/* **************************************************** */
#home_parent_container {
  position: absolute;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

#home_container {
  position: absolute;
  right: 0;
  top: 0;
  width:100%;
  height:100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

/* Fond blanc */
.home_child {
  position: absolute;
  right:0;
  margin: 0;
  padding: 0;
  width: 56.5%;
  height: 100%;
  background-color: #fff;
}


/* Le nom de la résidence et les coordonnées à gauche du bloc blanc */
.home_text{
  color:white;
  font-family: 'Roboto-Thin';
  font-size:17.5em;
  letter-spacing:0.18em;
  text-align: end;
  text-transform: uppercase;
}
.home_ville{
  position: absolute;
  top:2.13%;
  right:57%;
  margin: 0;
  padding: 0;
  width: auto;
  height: 2.41%;
}
.home_coordonnee{
  position: absolute;  
  top:91.67%;
  right:59.5%;
  margin: 0;
  padding: 0;
  width: auto;
  height: 2.41%;
}

/* Titre de la résidence */
#home_title{
  position:absolute;
  left: -6.3%;
  top:19.5%;
  width:60%;
  font-family: 'Roboto';
  color: #DBAD55;
  font-size: 47em;
  letter-spacing:0.243em;
  line-height:1.4em;
}


/* Menu liens vers maquette et vidéo */
#home_menu{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  border: 0;
  right:3.2%;
  top:25.93%;
  width:auto;
  height:2.315%;
}
.home_menu_bt{
  width:auto;
  height:100%;
  cursor: pointer;
}
.home_menu_dore_pointille {
  fill: none;
  stroke: #dbad55;
  stroke-dasharray: 8;
  stroke-width: 2px;
}
.home_menu_text{
  stroke: none;
  fill: #000;
  font-family: 'Roboto-Thin';
  font-weight: normal;
  font-size: 15px;
}

/* Swiper de la page d'acceuil */
.home_swiper_container{
  position: absolute;
  margin-left: auto;
  margin-right: auto;
  left:-3.5%;
  top:37%;
  width:103.5%;
  height:56.9%; 
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  /* background-color:#ffffff; */
}
.home_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;
}
.home_swiper_slide{
  position: relative;
  flex-shrink: 0;
  width: 560px;
  /* width:auto; */
  height: 100%;
  transition-property: transform;
  transform: translate3d(0px, 0, 0);
}
.home_swiper_button_prev,
.home_swiper_button_next {
  position: absolute;
  top: 50%;
  width: 3.53%;
  height: 5.2%;
  top: 22.76%;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home_swiper_button_prev{
  left:0.5%;
}
.home_swiper_button_next{
  right:0.5%;
}
.home_swiper_button_prev.swiper-button-disabled,
.home_swiper_button_next.swiper-button-disabled {
  opacity: 0.1;
  cursor: auto;
  pointer-events: none;
}
.home_arrows {
  fill: none;
  stroke: #dbad55;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 0.16vw;
  stroke-dasharray: 6.5 5.0;
}
.home_slide_img{
  position:absolute;
  left:0%;
  top:0%;
  width:58.82%;
  height:100%;
  overflow: hidden;
}
.home_slide_img img{
  position:absolute;
  left:0%;
  top:0%;
  width:auto;
  height:100%;
}
.home_slide_num{
  position:absolute;
  left:56.47%;
  top:27.97%;
  width:19.85%;
  color:white;
  font-family: 'Roboto-Thin';
  font-size:97em;
  letter-spacing:0.093em;
  -webkit-text-fill-color: white;
  -webkit-text-stroke-width: 0.5px;
  -webkit-text-stroke-color: black;
}
.home_slide_text{
  position:absolute;
  left:62.5%;
  top:47.28%;
  width:34%;
  height:50.28%;
  color:black;
  font-family: 'Roboto-Thin';
  font-size:15em;
  letter-spacing:0.05em;
  line-height: 1em;
}

@media (min-width:1401px) {

}

@media (min-width:1200px) and (max-width:1400px) {

  .home_child {
    width: 68%;
  }

  .home_text {
    font-size:17.5em;
    letter-spacing:0.18em;
    color:#2a2a2a;
  }
  .home_ville {
    right:auto;
    left:33%;
    height: 2.41%;
  }
  .home_coordonnee {
    right:auto;
    left:33%;
    top:96%;
    height: 2.41%;
  }

  #home_title {
    font-size: 44em;
  }

  .home_swiper_container {
    position: absolute;
    top:34%;
    height:59.9%; 
  }
  .home_slide_img {
    width:50.82%;
    overflow: hidden;
  }
  .home_slide_num {
    left:48.47%;
    top:10%;
    width:40%;
    font-size:90em;
  }
  .home_slide_text {
    left:54.5%;
    top:34.0%;
    width:39.18%;
    font-size:17em;
  }
  
}
@media (max-width:1199px) {
  .home_child {
    width: 75%;
  }
  .home_text {
    font-size:17.5em;
    letter-spacing:0.18em;
    color:#2a2a2a;
  }
  .home_ville {
    right:auto;
    left:33%;
    height: 2.41%;
  }
  .home_coordonnee {
    right:auto;
    left:33%;
    top:96%;
    height: 2.41%;
  }
  #home_title {
    font-size: 48em;
  }
  .home_slide_img{
    width:40%;
    overflow: hidden;
  }
  .home_slide_num{
    left:38%;
    top:5%;
    width:40%;
    font-size:100em;
  }
  .home_slide_text{
    left:42%;
    top:31%;
    width:53%;
    font-size:18em;
  }
}



/* **************************************************** */
/* #endregion               Home                        */
/* **************************************************** */

/* **************************************************** */
/* #region                 Galerie                      */
/* **************************************************** */
#galerie_container {
  position: absolute;
  right: 0;
  top: 0;
  width:86.98%;
  height:100%;
  margin: 0;
  padding: 0;
} 

#galerie_parent_container {
  position: absolute;
  left:0;
  top:0;
  width:100%;
  height: 100%;
  background-color: white;
}

#galerie_title {
  position:absolute;
  left:3.77%;
  top:11.11%;
  width:90%;
  color: #DBAD55;
  font-size: 53em;
  letter-spacing:0.243em;
  font-family: 'Roboto';
  text-transform: uppercase;
}

#galerie_child_container{
  position: absolute;
  /*display: flex;*/
  left: 0;
  bottom: 0;
  margin: 0;
  width:100%;
  height:78.7%;
  /*display: flex;
  justify-content: center;
  align-items: center; */ 
  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{
  margin: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.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_back{
  display:block;
  position: absolute;
  right:89.82%;
  top:2.778%;
  width:5.689%;
  height:1.944%;
  margin: 0;
  cursor: pointer;
}

.galerie_fleche {
  fill: #fff;
  stroke: #dbad55;
  stroke-miterlimit: 10;
}

.galerie_precedent_text {
  font-size: 13px;
  fill: #dbad55;
  font-family: 'Roboto-Thin', 'Roboto';
  font-weight: 200;
  letter-spacing: 0.09em;
}

.galerie_precedent_text_spacing {
  letter-spacing: 0.08em;
}

#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.75);
}

.galerie_swiper_container{
  position: absolute;
  margin-left: auto;
  margin-right: auto;
  left:5%;
  top:5%;
  width:90%;
  /*width:70.83%;*/
  height:90%; 
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  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);
}

.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.1;
  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;
}

@media (min-width:1200px) and (max-width:1800px) {
  #galerie_title {
    top:11.11%;
    font-size: 44em;
  }
}
@media (max-width:1199px) {
  #galerie_title {
    top:11.11%;
    font-size: 40em;
  }
}

/* **************************************************** */
/* #endregion               Galerie                     */
/* **************************************************** */

/* **************************************************** */
/* #region                 Favoris                      */
/* **************************************************** */

#favoris_container {
  position: absolute;
  right: 0;
  top: 0;
  width:100%;
  height:100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
} 
#favoris_parent_container {
  position: absolute;
  right:0;
  top:0;
  
  width:86.98%;
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: white;
}

/* Flêche Précédent */
#favoris_back{
  display:block;
  position: absolute;
  right:89.82%;
  top:2.778%;
  width:5.689%;
  height:1.944%;
  margin: 0;
  cursor: pointer;
}
.favoris_fleche {
  fill: #fff;
  stroke: #dbad55;
  stroke-miterlimit: 10;
}
.favoris_precedent_text {
  font-size: 13px;
  fill: #dbad55;
  font-family: 'Roboto-Thin', 'Roboto';
  font-weight: 200;
  letter-spacing: 0.09em;
}
.favoris_precedent_text_spacing {
  letter-spacing: 0.08em;
}
#favoris_download{
  position:absolute;
  display:block;
  bottom:0vh;
  left:0vh;
  width:31.805vh;
  height:10.278vh;
}

/* Favoris Titre */
#favoris_title{
  position:absolute;
  display: block;
  left:3.77%;
  top:11.11%;
  width:40%;
  color: #DBAD55;
  font-size: 53em;
  letter-spacing:0.243em;
  font-family: 'Roboto';
  text-transform: uppercase;
}


/* Compare Area */
#favoris_compare_container{
  position: absolute;
  display: flex;
  left: 20.85%;
  top: 31.0%;
  margin: 0;
  width:78.75%;
  height:56.5%;  
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.favoris_compare_area{
  margin: 0;
  display:flex;
  flex-flow: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width:56.4815vh;
  height:56.4815vh;
  background-color: #E6E6E6;
}
.favoris_area_title {  
  position: relative;
  top:-3.5vh;
  width:100%;
  height:3.5vh;
  color:#dbad55;
  font-family: "Roboto-Thin";
  font-weight: bold;
  font-size: 37em;
  letter-spacing:0.153em;
  text-align: left;
  vertical-align: middle;
}
.favoris_area_text_1{  
  font-size: 24em;
  letter-spacing:0.093em;
  color: black;
  font-family: 'Roboto-Thin';
  font-weight: bold;
  text-align: center;
}
.favoris_area_text_2{
  font-size: 17em; 
  /* letter-spacing:0.093em;  */
  font-weight: normal;
  color: black;
  font-family: 'Roboto-Thin';
  text-align: center;
  opacity:0.35;
}
.favoris_text_equal{
  margin:auto;
  width:5%;
  height:auto;
}
.favoris_text_equal svg {
  width:100%;
  height:auto;
}
.favoris_equal_dore {
  fill: #dbad55;
}


/* Favoris Thumbs - swiper list */
.favoris_thumb_container{
  position: absolute;
  left: 3.5%;
  top: 33.33%;
  width:17%;
  height:51.9%;
  margin: 0;
  overflow: hidden;
}
.favoris_swiper_wrapper{
  position: relative;
  width:100%;
  height: 100%;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
  transform: translate3d(0px, 0, 0);
  flex-wrap: wrap;
  z-index: 1;
}
.favoris_swiper_slide{
  width: 100%;
  justify-content: center;
  align-items: center;
  transition-property: transform;
  transform: translate3d(0px, 0, 0);
  background-color:white;
}
.favoris_swiper_button_prev,
.favoris_swiper_button_next {
  position: absolute;
  width: 2.5vh;
  height: 2.5vh;
  left: 50%;
  right:50%;
  margin: 0;
  z-index: 20;
  cursor: pointer;
  pointer-events: all;
  display: flex;
  align-items: center;
  justify-content: center;
}
.favoris_swiper_button_prev{
  top:0%;
}
.favoris_swiper_button_next{
  bottom:0%;  
}
.favoris_swiper_button_prev.swiper-button-disabled,
.favoris_swiper_button_next.swiper-button-disabled {
  opacity: 0.1;
  cursor: auto;
  pointer-events: none;
}
.favoris_arrows {
  fill: none;
  stroke: #dbad55;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 0.16vw;
  stroke-dasharray: 6.5 5.0;
}
.favoris_thumb_title{
  position: absolute;
  left:0;
  top:0;
  width:100%;
  height:25%;
  color:#dbad55;
  font-family: "Roboto";
  font-size: 37em;  
  letter-spacing: 0.153em;
  text-align: left;
  vertical-align: middle;
}
.favoris_thumb_img_area{
  position:absolute;
  left:0;
  top:30%;
  width:100%;
  height:65%;
  margin:0;
}
.favoris_thumb_img{
  margin:0;
  width:100%;
  height:100%;
  object-fit: contain;
  cursor:pointer;
}

/* Img pour le drag - inutilisé */
#draggable_clone{
  position: absolute;
  left:0;
  top:0;
  width:auto;
  height:14%;
  z-index:99;
}
.draggable_hide{
  visibility:hidden;
}
.draggable_show{
  visibility:visible;
}
.draggable_img{
  margin:0;
  width:99%;
  height:99%;
  object-fit: contain;
}

/* Download */
#favoris_download #telecharger-plan {
  cursor:pointer;
}
#telecharger-plan:hover #favoris_telecharger_fleche {
  stroke:#fff;
  fill:#dbad55;
}
#telecharger-plan:hover #favoris_telecharger_fond_fleche {
  fill:#f1f1f1;
}

/* Zoom sur les favoris en display - Popup modale */
#favoris_lightbox {
  position: absolute;
  margin:0;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.75);
  display:none;
  z-index:100;
  opacity:0;
}
#favoris_image {
  position: absolute;
  left:50%;
  top:13%;
  width:auto;
  height:74%;
  border:0;
  transform:translate(-50%, 0);
  
}

@media (min-width:900px) and (max-width:1800px) {
  #favoris_title {
    top:11.574%;
    font-size: 44em;
  }
}
@media (max-width:899px) {
  #favoris_title {
    top:11.574%;
    font-size: 44em;
  }
}

/* **************************************************** */
/* #endregion               Favoris                     */
/* **************************************************** */

/* **************************************************** */
/* #region                 Videos                       */
/* **************************************************** */
#videos_container {
  position: absolute;
  right: 0;
  top: 0;
  width:86.98%;
  height:100%;
  margin: 0;
  padding: 0;
  background-color: white;
  font-size: 1.05px;
}

/* Titre page video */
#videos_title {
  position:absolute;
  left:3.77%;
  top:11.11%;
  width:95%;
  color: #DBAD55;
  font-size: 53em;
  letter-spacing:0.243em;
  font-family: 'Roboto';
  text-transform: uppercase;
}

/* Player vidéo */
#videos_child_container {
  position: absolute;
  left: 2%;
  bottom: 2%;
  margin: 0;
  width:72%;
  height:78.7%;
  overflow: hidden;  
}

#videos_child_sub_container {
  position:absolute;
  left:0;top:0;
  width:100%;
  height:auto;
}

#videos_player {
  position:relative;
  border:0;
}

#videos_player_poster_overlay {
  position: absolute;
  left:0; top:0; width:100%; height:auto;
  overflow:hidden;
}

#video_image_thumb {
  position: relative;
  left:0; top:0; width:100%; height:auto;
}

#video_picto_play {
  display:block;
  position:absolute;
  left:50%; top:47%; width:5.5%; height:auto;
  /* transition:all linear 1s; */
  cursor:pointer;
  transform:translate(-50%, -50%);
}

#video_picto_play:hover {
  /* transform:scale(0.9); */
}

#videos_player:focus {
  outline: none;
}

/* Liste des vidéos */
#videos_list_container {
  position: absolute;
  right: 2%;
  bottom: 2%;
  margin: 0;
  width:22%;
  height:78.7%;
  overflow: hidden;  
}

.videos_liste_title {
  margin:0;
  color: #dbad55;
  font-family: "Roboto-Thin";
  font-weight: bold;
  font-size: 27em;
  letter-spacing: 0.093em;
  /* height:3.241vh; */
}

#videos_list_container ul {
  list-style-type: none;
  list-style-position: inside;
  margin: 0;
  padding: 0;
}

#videos_list_container ul li {
  display: flex;
  flex-wrap: nowrap;
  width:100%;
  height:22px;
  vertical-align: top;
  align-items: center;
  /* line-height:2vh; */
  /* margin: 1vh; */
  margin: 10px 0;
  padding: 0;
}
.txt_noir {
  color: #000000;
}
.txt_dore {
  font-weight: bold;
  color: #DBAD55;
}
.videos_liste_button {
  justify-content: left;
  background-color: white;
  font-family: "Roboto";
  font-size: 18em;
  letter-spacing: 0.093em;
  cursor: pointer;
}
.videos_liste_button p {
  border-bottom: 1px #DBAD55 dashed;
}
.video_li_picto_fond  {
  fill: #ffffff;
}
.video_li_picto_fond.video_li_picto_fond_actif {
  fill: #DBAD55;
}


.videos_liste_vide {
  margin:0;
  font-size: 1.5vh;
  height:1.5vh;
}

@media (min-width:1200px) and (max-width:1800px) {
  #videos_container {
    font-size: 0.95px;
  }
  #videos_title {
    font-size: 44em;
  }
  .videos_liste_title {
    font-size: 22em;
  }
}
@media (max-width:1199px) {
  #videos_container {
    font-size: 0.9px;
  }
  #videos_title {
    font-size: 40em;
  }
  .videos_liste_title {
    font-size: 20em;
  }
}


/* **************************************************** */
/* #endregion               Videos                     */
/* **************************************************** */

/* **************************************************** */
/* #region                 Maquette                     */
/* **************************************************** */
#maquette_ui_container {
  position: absolute;
  left: 15%;
  top: 0;
  width:85%;
  height:100%;
  margin: 0;
  padding: 0;
  background-color: white;
} 

/* #maquette_parent_container {
  position: absolute;
  right:0;
  top:0;
  margin: 0;
  padding: 0;
  width:86.98%;
  height: 100%;
  background-color: white;
} */


#maquette_title{
  position:absolute;
  left:3.77%;
  top:11%;
  width:96%;
  color: #DBAD55;
  font-size: 53em;
  letter-spacing:0.243em;
  font-family: 'Roboto';
  text-transform: uppercase;
}

#maquette_child_container{
  position: absolute;
  left: 1.497%;
  top: 17.13%;
  margin: 0;
  width:95.21%;
  /* height:82.592%; */
  height:81.8%;
}

#maquette_container {
  position: absolute;
  left: 0;
  top: 0;
  width:100%;
  height:100%;
  margin: 0;
  padding: 0;
  border: 0;
} 





@media (min-width:1200px) and (max-width:1800px) {
  #maquette_title {
    top:11%;
    font-size: 44em;
  }
  
  #maquette_child_container{
    top: 17.13%;
    height:82.592%;
  }
}
@media (max-width:1199px) {
  #maquette_title {
    font-size: 47em;
  }
}

/* **************************************************** */
/* #endregion               maquette                    */
/* **************************************************** */

/* **************************************************** */
/* #region                 Visite360                    */
/* **************************************************** */
#visite360_ui_container {
  position: absolute;
  left: 15%;
  top: 0;
  width:85%;
  height:100%;
  margin: 0;
  padding: 0;
  background-color: white;
} 

#visite360_title {
  position:absolute;
  left:3.77%;
  top:11%;
  width:60%;
  color: #DBAD55;
  font-size: 53em;
  letter-spacing:0.243em;
  font-family: 'Roboto';
  text-transform: uppercase;
}

#visite360_selector_container {
  position:absolute;
  right:3.77%;
  top:12%;
  width:40%;
  text-align:right;
  font-size: 40em;
  font-family: 'Roboto';
  text-transform: uppercase;
  color: #4d4d4d;
}
#visite360_selector_T5 {
  cursor:pointer;
}
#visite360_selector_T6 {
  cursor:pointer;
}
#visite360_selector_container .visite_active {
  color: #DBAD55;
}


#visite360_child_container {
  position: absolute;
  left: 1.497%;
  top: 17.13%;
  margin: 0;
  width:95.21%;
  height:81.8%;
}

#visite360_container {
  position: absolute;
  left: 0;
  top: 0;
  width:100%;
  height:100%;
  margin: 0;
  padding: 0;
  border: 0;
} 





@media (min-width:1200px) and (max-width:1800px) {
  #visite360_title {
    font-size: 44em;
  }
  #visite360_selector_container {
    font-size: 31em;
  }
  #visite360_child_container{
    top: 17.13%;
    height:82.592%;
  }
}
@media (max-width:1199px) {
  #visite360_title {
    font-size: 47em;
  }
  #visite360_selector_container {
    font-size: 33em;
  }
}

/* **************************************************** */
/* #endregion              visite360                    */
/* **************************************************** */

/* **************************************************** */
/* #region                 Localisation                 */
/* **************************************************** */
#localisation_container {
  position: absolute;
  right: 0;
  top: 0;
  width:86.98%;
  height:100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
} 

#localisation_parent_container {
  position: absolute;
  right:0;
  top:0;
  width:100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: white;
}

#localisation_title{
  position:absolute;
  left: 5.688%;
  top:11.574%;
  width:90%;
  color: #DBAD55;
  font-size: 53em;
  letter-spacing:0.243em;
  font-family: 'Roboto';
  text-transform: uppercase;
}

#localisation_description{
  position:absolute;
  left: 5.688%;
  top:18.518%;
  width:35%;
  color: #000;
  font-size: 15em;
  letter-spacing:0.1em;
  font-family: 'Roboto-Thin';
  font-weight: bold;
}

/* flexbox de la carte et des deux photos */
#localisation_child_container{
  position: absolute;
  display: flex;
  flex-direction:row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items:stretch;
  left: 5.688%;
  bottom: 12.03%;
  margin: 0;
  /* width: 1560px; */
  /* width:93.413%; */
  width:calc(100% - 11.5%);
  /* height: 590px */
  height:54.63%;
  overflow:visible;
}

#localisation_map {
  /* width:47.115%; */
  flex-grow: 0.47;
  height:100%;
  margin: 0;
  cursor: pointer;
}
#localisation_map_subcontainer {
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
}
#localisation_map img {  
  position:absolute;
  left:50%;
  top:50%;
  width:auto;
  height:100%;
  transform:translate(-50%,-50%);
  margin: 0;
}
.localisation_map_title{
  position:relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  left:-2.5%;
  top:-14.41%;
  width:53.1%;
  height:14.41%;
  background-color: white;
}

.localisation_map_num{
  position: relative;
  height: 100%;
  font-family: 'Roboto-Thin';
  font-size:100em;
  -webkit-text-fill-color: white;
  -webkit-text-stroke-width: 0.5px;
  -webkit-text-stroke-color: black;
  text-align: left;
}
.localisation_map_num span{  
  position: relative;
  bottom: 10%;
}

.localisation_map_text{
  position: relative;
  height: 39%;
  color: #000;
  font-family: 'Roboto-Thin';
  font-size:36em;
  text-align: left;
}
.localisation_map_text span{  
  position: relative;
  bottom: 0;
  left:-10%;
}

.localisation_photo{
  /* width:22.115%; */
  flex-grow: 0.22;
  height:100%;
  margin: 0;
}
.localisation_photo_subcontainer {
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
}
.localisation_photo img{    
  position:absolute;
  left:0%;
  top:50%;
  width:auto;
  height:100%;
  margin: 0;
  transform:translate(0,-50%);
}



@media (min-width:900px) and (max-width:1800px) {
  #localisation_title {
    top:11.574%;
    font-size: 44em;
  }
  #localisation_description {
    top:18.518%;
    width: 45%;
    font-size: 13em;
  }
  .localisation_photo:nth-last-of-type(2) {
    display:none;
  }
  #localisation_map {
    flex-grow: 0.58;
  }
  .localisation_photo{
    flex-grow: 0.4;
  }
}
@media (max-width:899px) {
  #localisation_title {
    top:11.574%;
    font-size: 44em;
  }
  .localisation_photo {
    display:none;
  }
  #localisation_map {
    flex-grow: 1;
  }
  #localisation_description {
    width: 65%;
  }
}

/* Inutilisé */
#localisation_menu{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  border: 0;
  left:71.61%;
  top:25.93%;
  /*width:26.56%;*/
  width:auto;
  height:2.315%;
}
.localisation_menu_bt{
  width:auto;
  height:100%;
  cursor: pointer;
}
.localisation_menu_dore_pointille {
  fill: none;
  stroke: #dbad55;
  stroke-dasharray: 8;
  stroke-width: 2px;
}
.localisation_menu_text{
  stroke: none;
  fill: #000;
  font-family: 'Roboto';
  font-weight: normal;
  font-size: 15px;
}

/* **************************************************** */
/* #endregion               localisation                */
/* **************************************************** */

/* **************************************************** */
/* #region                 Map                          */
/* **************************************************** */
#map_ui_container {
  position: absolute;
  right: 0;
  top: 0;
  width:86.98%;
  height:100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
} 

#map_parent_container {
  position: absolute;
  left:0;
  top:0;
  width:100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: white;
}



#map_container {
  position: absolute;
  left: 4.491%;
  top: 7.87%;
  width:90.419%;
  height:92.13%;
  margin: 0;
  padding: 0;
  border: 0;
} 


#map_back{
  display:block;
  position: absolute;
  right:89.82%;
  top:2.778%;
  width:5.689%;
  height:1.944%;
  margin: 0;
  cursor: pointer;
}

.map_fleche {
  fill: #fff;
  stroke: #dbad55;
  stroke-miterlimit: 10;
}

.map_precedent_text {
  font-size: 13px;
  fill: #dbad55;
  font-family: 'Roboto-Thin', 'Roboto';
  font-weight: 200;
  letter-spacing: 0.09em;
}

.map_precedent_text_spacing {
  letter-spacing: 0.08em;
}

/* **************************************************** */
/* #endregion               map                         */
/* **************************************************** */

/* **************************************************** */
/* #region                 Contact                      */
/* **************************************************** */
#contact_ui_container {
  position: absolute;
  left: 0;
  top: 0;
  width:100%;
  height:100%;
  margin: 0;
  padding: 0;
} 


#contact_parent_container {
  position: absolute;
  left:35%;
  top:0;
  margin: 0;
  padding: 0;
  width:65%;
  height: 100%;
  background-color: white;
}

#contact_title {
  position:absolute;
  left:-12%;
  top:20%;
  width:52%;
  color: #DBAD55;
  font-size: 46em;
  letter-spacing:0.243em;
  font-family: 'Roboto';
}

#contact_container {
  position: absolute;
  left: 0%;
  top: 0%;
  width:100%;
  height:100%;
  margin: 0;
  padding: 0;
  border: 0;
} 



@media (min-width:900px) and (max-width:1800px) {
  #contact_title {
    left:-11.5%;
    top:20%;
    font-size: 44em;
  }
}
@media (max-width:899px) {
  #contact_title {
    left:-11.5%;
    top:20%;
    font-size: 40em;
  }
}

/* **************************************************** */
/* #endregion               contact                     */
/* **************************************************** */

/* **************************************************** */
/* #region                   Plans                      */
/* **************************************************** */


/* **************************************************** */
/* #endregion                Plans                      */
/* **************************************************** */