@charset "UTF-8";
/* 32 colonnes */
/*html { background-image: repeating-linear-gradient(90deg, #fff, #fff 3.125%, #ececec 3.125%, #ececec 6.25%); }*/
html { background-color:#fff; }

* {
  /* Typography */
  --main-font: 'Inter', sans-serif;
  --second-font: 'Inter', sans-serif;
  
  /* Calculation */
  --responsive:  calc((var(--min) * 1px) + (var(--max) - var(--min)) * ((100vw - 320px) / (1920 - 320)));
  --coul_princip: #000;
  --coul_2: #959595;
  --coul_3: #E6E6E6;
  --coul_4: #FAFAFA;
  --coulfd_princip : #fff;

  --coulT1: rgba(255,186,0,1);
  --coulT2: rgba(94,157,61,1);
  --coulT3: rgba(255,0,0,1);
  --coulT4: rgba(0,147,255,1);
  --coulT5: rgba(210,0,168,1);
    
  --coulT1__op: rgba(255,186,0,.7);
  --coulT2__op: rgba(94,157,61,.7);
  --coulT3__op: rgba(255,0,0,.7);
  --coulT4__op: rgba(0,147,255,.7);
  --coulT5__op: rgba(210,0,168,.7);

  --percent : 0;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../font/inter.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../font/inter.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../font/inter.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../font/inter.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* MEYERWEB */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

/*** GLOBAL ***/
::-moz-selection {
  background-color: #23232C;
  color: #ffffff;
}
::selection {
  background-color: #23232C;
  color: #ffffff;
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
/*** RESPONSIVE ***/
img,
table,
td,
blockquote,
code,
pre,
textarea,
input,
object,
video {
    height: auto;
    max-width: 100%;
}
img {
    width: auto;
    width: 100%;
    vertical-align: middle;
}
video {
    width: 100%;
}

/* FONT
***********/
html {
  font-size: 62.5%;
  font-size: calc(1em * .625);
    overflow-x: hidden;
}
body {
    font-family: 'Inter';
    font-family: var(--main-font);
    font-size: 1.6em; /* 16px */
    font-weight: 400;
    color: var(--coul_princip);
    line-height: 1.3;
    background-color: var(--coulfd_princip);
}

a {
  color: var(--coul_princip);
}
p {
    margin: 0 0 .75em 0;
}
strong, b {
    font-weight: 700;
}
i {
    font-style: italic;
}

/* STRUCTURE */
.pdlr_mob {
    padding-left: 4.6875%;
    padding-right: 4.6875%;
}
@media (min-width: 420px) {
    .pdlr_mob {
        padding-left: 6.25%;
        padding-right: 6.25%;
    }    
}
@media (min-width: 1100px) {
    .pdlr_mob {
        padding-left: 3.85%;
        padding-right: 3.85%;
    }    
}
.global {
    position: relative;
}
.global--fich {
    position: fixed;
}
.logo {
    --max: 180;
    --min: 80;
    width: var(--responsive);
    margin-left: auto;
    margin-right: 4.6875%;
    margin-top: 1em;
}
@media (min-width: 1100px) {
    .logo {
        margin: 0;
        position: fixed;
        top: 3.125vw;
        left: 3.125%;
        z-index: 5;
    }
    .embed .logo {
        top: 6.25vw;
    }
}
.logo img {
    /*filter: grayscale(100%);*/
}
@media (min-width: 640px) {
    .button_fullscreen {
        position: absolute;
        top: 1.5625vw;
        right: 1.5625vw;
        width: 20px;
        height: 20px;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='%28215487' width='18' height='18' viewBox='0 0 18 18'><path d='M4.5 11H3v4h4v-1.5H4.5V11zM3 7h1.5V4.5H7V3H3v4zm10.5 6.5H11V15h4v-4h-1.5v2.5zM11 3v1.5h2.5V7H15V3h-4z'/></svg>");
        background-size: 20px 20px;
        background-repeat: no-repeat;
        cursor: pointer;
    }
    .button_fullscreen--off {
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'><path d='M3 12.5h2.5V15H7v-4H3v1.5zm2.5-7H3V7h4V3H5.5v2.5zM11 15h1.5v-2.5H15V11h-4v4zm1.5-9.5V3H11v4h4V5.5h-2.5z'/></svg>");
    }
}

/*VUE 360 TOURNANTE*/
.v360__content {
    position: relative;
    background-color: #fff;
    overflow: hidden;
}
.v360__aerien {
    transition: all ease .3s;
    transform-origin: bottom center;
}
.v360__etages {
    position: absolute;
    z-index: 500;
    bottom: 0;
    left: 0;
}
.v360__etageslab {
    display: block;
    --max: 20;
    --min: 16;
    font-size: var(--responsive);
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    background-color: rgba(255,255,255,.75);
    color: var(--coul_princip);
    padding: .5em .5em;
    border-radius: 0;
    /*
    -webkit-transition: background-color .2s ease-in;
    transition: background-color .3s ease-in;
    */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin-left: 3px;
    margin-bottom: 3px;
}
.v360__etageslab sup {
    font-size: .75em;
    line-height: 1em;
    vertical-align:super;
}
.v360__etageslab--aerien {
    text-transform: uppercase;
}
.v360__etageslab:hover {
    background-color: rgba(255,255,255,1);
}
.v360__etagesradio {
    position: absolute;
    left: -999em;
    visibility: hidden;
    height: 0;
    width: 0;
    transform: scale(0);
}
.v360__etagesradio:checked + label {
    background-color: var(--coul_princip);
    color: #fff;
}
.v360_types {
    position: absolute;
    z-index: 500;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: -ms-flexbox;
    display: flex;
}
.v360_types.mask {
    visibility: hidden;
}
.v360__apptypeslab {
    margin: 0;
    padding: 0;
    line-height: 1;
    border-radius: 0;
    text-decoration: none;
    background: none;
    border: none;
    -webkit-appearance: none;
    appearance: none;
    
    position: relative;
    /*display: inline-block;*/
    --max: 25;
    --min: 20;
    font-size: var(--responsive);
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    background-color: rgba(255,255,255,.7);
    color: #fff;
    padding: .5em .5em;
    border-radius: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin-left: 3px;
    margin-bottom: 3px;
}
.v360 {
    width: 100%;
    height: 71.425vw; /* 2857/4000 */
    overflow-y: hidden;
    overflow-x: hidden;
    transition: transform .3s ease;
}
@media (min-width: 640px) {
    .v360 {
        height: 100vh;
    }
}
.v360.chargement {
    visibility: hidden;
}
.progress__cont {
    display: none;
    position: absolute;
    z-index: 50;
    left: 50%;
    top: 50%;
    width: 40vw;
    margin-left: -20vw;
    margin-top: -.75em;
    height: 1.5em;
    background-color: #999;
}
.progress__cont.show {
    display: block;
}
.progress {
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    height: 100%;
    background-color: #000;
}
.progress__value {
    position: absolute;
    top: 2em;
    font-size: 1em;
    font-weight: 700;
    margin-left: -1em;
}


.v360__chargement {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.v360__chargement.show {
    display: block;
}
.v360__chargement__bg {
    filter: blur(8px);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../../medias/maquette360_R1/s/1.webp);
    background-size: auto 100%;
    background-repeat: no-repeat;
}
.chargement__txt {
    font-size: 1em;
    font-weight: bold;
    position: absolute;
    z-index: 1000;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc( 50% - 120px );
}
.percent {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin-left: -75px;
    margin-top: -75px;
    z-index: 1000;
}
.percent .number {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
.percent .number div {
  color: #000;
  font-weight: 700;
  font-size: 40px;
  transition: 0.5s;
}
.percent__circle {
  position: relative;
  width: 150px;
  height: 150px;
  z-index: 1000;
}
.percent__circle circle {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: #fff;
  stroke-width: 10;
  stroke-linecap: round;
  transform: translate(5px, 5px);
}
.percent__circle .percent__circle2 {
  stroke-dasharray: 440;
  stroke-dashoffset: 440;
  stroke-dashoffset: 0;
  stroke: #000;
}
.v360__bousole {
    position: absolute;
    z-index: 200;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cpolygon points='23 40 39.57 40 57 40 57 40 40 0 23 40 23 40' style='fill:%23ff0000;'/%3E%3Cpolygon points='40.43 40 23 40 40 80 57 40 40.43 40' style='fill:rgba(255,255,255,.5);'/%3E%3C/svg%3E");
    right: 30px;
    bottom: 30px;
    --max: 80;
    --min: 40;
    width: var(--responsive);
    height: var(--responsive);
    border-radius: 0;
    transform-origin: center;
}
.v360img {
    position: absolute;
}
.v360__img {
    image-rendering: -webkit-optimize-contrast;
    transform: translateZ(0);
}
@media (min-width: 640px) {
    .v360img {
        cursor: url(../img/cursor_360.png) 32 0, auto;
        left: 50%;
        transform: translateX(-50%);
        top: 50%;
        transform: translate(-50%,-50%);
    }
}
.drag .v360img {
    cursor: url(../img/cursor_360_2.png) 32 0, auto;
}
.v360img__info {
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}
.v360img__info span {
    display: inline-block;
    position: absolute;
    transform-origin: bottom center;
    transform: translateX(-50%) translateY( calc( -50% - 20px ) );
    
    --max: 16;
    --min: 12;
    font-size: var(--responsive);
    color: #fff;
    background-color: rgba(0,0,0,.75);
    padding: .25em .5em;
}
.v360img__info span::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-width: 10px;
    border-style: solid;
    border-color: rgba(0,0,0,.75) transparent transparent transparent;
    bottom: -20px;
    left: -10px;
    margin: 0 50%;
    
}
.masq {
    visibility: hidden;
}
.v360img svg {
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
}
@media (min-width: 640px) {
    .v360img svg {
        /*
        width: auto;
        height: 100vh;
        */
        width:100vw;
        height: auto;
    }    
}
.v360__img {
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    max-width: none;
    transition: opacity ease .1s;
}
@media (min-width: 640px) {
    .v360__img {
        width: 100vw;
        height: auto;
        /*
        width: auto;
        height: 100vh;
        */
    }    
}
.v360appart, .v360img svg path {
    cursor: pointer;
    transition: fill ease .5s;
}
.v360img svg path.T1 {
    fill: var(--coulT1__op);
}
.v360img svg path.T1:hover {
    fill: var(--coulT1);
}
.v360img svg path.T2 {
    fill: var(--coulT2__op);
}
.v360img svg path.T2:hover {
    fill: var(--coulT2);
}
.v360img svg path.T3 {
    fill: var(--coulT3__op);
}
.v360img svg path.T3:hover {
    fill: var(--coulT3);
}
.v360img svg path.T4 {
    fill: var(--coulT4__op);
}
.v360img svg path.T4:hover {
    fill: var(--coulT4);
}
.v360img svg path.T5 {
    fill: var(--coulT5__op);
}
.v360img svg path.T5:hover {
    fill: var(--coulT5);
}
.v360img svg path.mask {
    fill: rgba(0,0,0,.5);
}
.v360img svg path.nondispo {
    fill: rgba(255,255,255,.5);
}
.v360info {
    
}
.v360info__bulle {
    transform-origin: bottom center;
    display: none;
    position: fixed;
    z-index: 30;
    top: calc( var(--mouse-y) - 20px );
    left: calc( var(--mouse-x) + 40px );
    background-color: #fff;
    color: var(--coul_princip);
    padding: 1em;
    opacity: 0;
    transition: opacity ease .9s;
    transition-delay: .3s;
}
.v360info__bulle:after {
    position: absolute;
    top: 11px;
    left: -11px;
    content: "";
    display : inline-block;
    height : 0;
    width : 0;
    border-top : 10px solid transparent;
    border-right : 16px solid #fff;
    border-bottom : 10px solid transparent;
}
.v360info__bulle.show {
    display: block;
    animation: fadeIn .3s;
    animation-fill-mode: forwards;
    -webkit-animation-fill-mode: forwards;
    /*opacity: 1;*/
}
.v360info__ref {
    --max: 15;
    --min: 12;
    font-size: var(--responsive);
    color: var(--coul_2);
}
.v360info__det {
    --max: 20;
    --min: 16;
    font-size: var(--responsive);
}
.v360info__voir {
    margin-top: .75em;
    --max: 13;
    --min: 11;
    font-size: var(--responsive);
    text-transform: uppercase;
    color: var(--coul_2);
    position: relative;
}
.v360info__voir::after {
    content: "";
    position: absolute;
    right: 0;
    top: -.1em;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 19'><path d='M15,5.43A4.07,4.07,0,1,1,10.91,9.5,4.07,4.07,0,0,1,15,5.43' style='fill:%23959595'/><path d='M15,0C6.82,0,0,8.82,0,9.5S6.82,19,15,19s15-8.82,15-9.5S23.18,0,15,0m0,16.28A6.78,6.78,0,1,1,21.82,9.5,6.77,6.77,0,0,1,15,16.28h0' style='fill:%23959595'/></svg>");
    width: 30px;
    height: 19px;
    background-size: 30px 19px;
    transition: background-image .3s ease;
}

@keyframes fadeIn {
    from {
        transform: translateX(1em);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
.btnfs__content {
    display: none;
    position: fixed;
    z-index: 2000;
    right: 3px;
    top: 3px;
    --max: 40;
    --min: 25;
    width: var(--responsive);
    height: var(--responsive);
}
@media (min-width: 480px) {
    .btnfs__content.show {
        display: block;
    }
}
.btnctrl {
    margin:0;
    padding: 0;
    line-height: 1;
    border-radius:0;
    text-decoration: none;
    background: none;
    border: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #000;
    transition: ease .3s background-color;
}
.btnctrl:hover {
    background-color: var(--coul_2);
}
.btnctrl:disabled {
    opacity: .35;
}
.btnctrl:disabled:hover {
    background-color: rgba(0,0,0,.70);
}
.btnctrl svg {
    padding: .5em;
    --max: 40;
    --min: 25;
    width: var(--responsive);
    height: var(--responsive);
}
.embed .btnctrl svg {
    width: 3em;
    height: 3em;
    padding: .5em;
}
.btnctrl--toggle svg:nth-child(2) {
    display: none;
}
.fullscreen .btnctrl--toggle svg:nth-child(1) {
    display: none;
}
.fullscreen .btnctrl--toggle svg:nth-child(2) {
    display: block;
}
@media (min-width: 1100px) {
    .fullscreen .logo {
        position: absolute;
    }
    .fullscreen .main {
        margin-left: 0;
    }
    .fullscreen .navleft, body.menu-active.fullscreen .navleft {
        left: -15.625%;;  
    }
}
@media (max-width: 480px) {
    #toggleFS {
        display: none;
    }
    .embed .btnfs__bt svg {
        width: 2em;
        height: 2em;
    }
}
.vue360__ctrl {
    display: none;
    position: absolute;
    z-index: 1000;
    right: 3px;
    bottom: 3px;
    text-align: right;
    max-width: 50px;
}
.vue360__ctrl.show {
    display: inline-block;
}