@font-face {
    font-family: 'Loew';
    src: url('../fonts/loew/loew-thin.woff2') format('woff2'),
         url('../fonts/loew/loew-thin.woff') format('woff');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'Loew';
    src: url('../fonts/loew/loew-light.woff2') format('woff2'),
         url('../fonts/loew/loew-light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Loew';
    src: url('../fonts/loew/loew-regular.woff2') format('woff2'),
         url('../fonts/loew/loew-regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Loew';
    src: url('../fonts/loew/loew-medium.woff2') format('woff2'),
         url('../fonts/loew/loew-medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Loew';
    src: url('../fonts/loew/loew-bold.woff2') format('woff2'),
         url('../fonts/loew/loew-bold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Loew';
    src: url('../fonts/loew/loew-extrabold.woff2') format('woff2'),
         url('../fonts/loew/loew-extrabold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Loew';
    src: url('../fonts/loew/loew-black.woff2') format('woff2'),
         url('../fonts/loew/loew-black.woff') format('woff');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'Loew';
    src: url('../fonts/loew/loew-heavy.woff2') format('woff2'),
         url('../fonts/loew/loew-heavy.woff') format('woff');
    font-weight: 900;
    font-style: normal;
}

/* Box sizing rules */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Remove default padding */
ul[class],
ol[class] {
    padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
    margin: 0;
}

/* Set core body defaults */
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
        'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
        sans-serif;
    width: 100%;
    height: 100%;
    scroll-behavior: smooth;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul[class],
ol[class] {
    list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
    text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
    max-width: 100%;
    display: block;
}

/* Natural flow and rhythm in articles by default */
article>*+* {
    margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
    font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

code {
    font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
        monospace;
}

/* ----------------------------------------------------------------- */

/* Scrollbar */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track-piece {
    background-color: #ffffff;
}

::-webkit-scrollbar-thumb {
    background-color: #00a8e1;
}

html {
    overflow: hidden;
    height: 100%;
    width: 100%;
}

#loading {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 666;
    padding: 50px 10%;
}

/* #loading::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-color: rgba(21, 21, 21, 0.555);
} */

#loading svg {
    position: relative;
    width: 100%;
    max-width: 600px;
    height: auto;
}

#loading svg g#icon > *,
#loading svg g#letters > *,
#loading svg g#mc > * {
    visibility: hidden;
    opacity: 0;
}

#swipe-icon{
    display: block;
    z-index: 9999999;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

@media all and (min-width: 1024px){
    #swipe-icon{
        display: none;
    }
}

#swipe-icon .wrapper {
    position: absolute;
    left: 50%;
    bottom: 25px;
    width: 70px;
    transform: translateX(-50%);
  }
  
  #swipe-icon .finger {
    width: 50px;
    margin: 20px;
    animation: swipe-x 4s ease-in-out backwards;
    animation-iteration-count: infinite;
    opacity: 0.4;
    margin-bottom: -10px;
    transform-origin: 50% 100%;
    fill: #fff;
    opacity: 0.9;
  }
  
  
  #swipe-icon .left,
  #swipe-icon .right {
    float: left;
    width: 50px;
    text-align: center;
    padding-top: 40px;
    opacity: 0.4;
  }
  
  #swipe-icon .right {
    float: right;
  }
  
  @keyframes swipe-x {
    0% {
      transform: translateX(0px);
    }
    25% {
      transform: translateX(25%) rotateZ(25deg);
    }
    50% {
      transform: translateX(0px);
    }
    75% {
      transform: translateX(-25%) rotateZ(-25deg);
    }
  }


#elogia {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: auto;
}

#elogia-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: auto;
}

#elogia img {
    user-select: none;
    pointer-events: none;
}

#elogia svg {
    position: absolute;
    top: 0;
    left: 0;
}

#elogia svg,
#elogia.overflow-y svg {
    width: 100%;
    height: auto;
}

#elogia.overflow-y polygon {
    fill-opacity: 0;
    fill: #00a8e1;
    cursor: pointer;
    /* transition: all 150ms ease-in-out; */
}

/* #elogia.overflow-y polygon:hover {
    fill-opacity: 0.65;
} */

#elogia.overflow-x svg {
    width: auto;
    max-width: initial;
    height: 100%;
}

#elogia img,
#elogia.overflow-y img {
    width: 100%;
    height: auto;
}

#elogia.overflow-x img {
    width: auto;
    max-width: initial;
    height: 100%;
}

#elogia img.overlay {
    position: absolute;
    top: 0;
    left: 0;
}

.logo-projet {
    position: fixed;
    top: 0;
    left: 0;
    padding: 15px;
}

.logo-projet img {
    width: 100%;
    max-width: 120px;
}


img.loading-logo {
    width: 100%;
    max-width: 200px;
    padding: 15px;
}

@media all and (min-width: 1024px){
    img.loading-logo {
        max-width: 350px;
    }
}

.content-hover {
    visibility: hidden;
    opacity: 0;
}

.content-normal:not(.active),
.content-hover:not(.active) {
    display: none;
}

.change-langue {
    position: fixed;
    top: 0;
    right: 0;
    padding: 15px;
    display: grid;
    grid-template-columns: repeat(3, auto);
    align-items: center;
    gap: 5px;

}

.change-langue.visite {
    position: relative;
}

.change-langue .separator {
    color: #ffffff;
}

.change-langue a {
    color: #ffffff;
    text-decoration: none;
    transition: all 150ms ease-in-out;
    font-weight: 500;
    font-size: 19px;
}

.change-langue a:hover,
.change-langue a.active {
    color: #114C9D;
}

.change-langue a.active {
    pointer-events: none;
    cursor: default;
}

@media screen and (max-width: 768px) {
    .logo-projet {
        padding: 20px 40px;
    }
}

@media screen and (max-width: 480px) {
    .logo-projet {
        width: 100%;
        padding: 10px 30px;
    }
    .logo-projet img {
        margin: 0 auto;
    }
}

/* Interface de la visite virtuelle 360 */

#interface-wrapper{
    width: 100%;
    height: 100%;
}
@-ms-viewport { width:device-width; }
@media only screen and (min-device-width:800px) { html { overflow:hidden; } }
html { height:100%; }
body {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;

    background-color:#000000;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: #FFFFFF;
}

* {
        -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 */
}
iframe{
	z-index:3 !important;
}

#logo {
    z-index: 5000;

    position: fixed;
    top: 2%;
    left: 5%;

    width: 139px;
    height: 80px;
}

#logo img {
    position: absolute;
    top: 50%;
    transform: translate(0,-50%);

    width: 100%;
    height: auto;
}

#swipe {
    z-index: 5000;

    position: fixed;
    bottom: 2%;
    left: 50%;

    transform: translateX(-50%);

    /* empeche de le voir au chargement de la page */
    opacity: 0;
    visibility: hidden;
}

#swipe img {
    pointer-events:none;
}

/* Vue d'ensemble */

#vueEnsemble {
    z-index: 3500;
    width: 100%;
    height: auto;
    min-height: 100%;
    max-height: 100%;

    /* empeche de le voir au chargement de la page */
    opacity: 0;
    visibility: hidden;
}

#vueEnsemble img:last-child{
    min-width: 100%;
}

#vueEnsemble img, map {

    position: absolute;
    top: 50%;
    left: 0 !important;
    /*min-width: 100%; */
    min-height: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    -ms-transform: /*translateX(-50%)*/ translateY(-50%);
    -moz-transform: /*translateX(-50%)*/ translateY(-50%);
    -webkit-transform: /*translateX(-50%)*/ translateY(-50%);
    transform: /*translateX(-50%)*/ translateY(-50%);
}

map, area {
    display: block;
}

.pin {
    z-index: 15;
    width: 100%;
    height: 100%;
    height: auto;
    min-height: 100%;
    background-size: contain;
    background-repeat: no-repeat;

    -webkit-transition: background 100ms cubic-bezier(0.0, 0.0, 0.2, 1);;
    -moz-transition: background 100ms cubic-bezier(0.0, 0.0, 0.2, 1);;
    -ms-transition: background 100ms cubic-bezier(0.0, 0.0, 0.2, 1);;
    -o-transition: background 100ms cubic-bezier(0.0, 0.0, 0.2, 1);;
    transition: background 100ms cubic-bezier(0.0, 0.0, 0.2, 1);;

    pointer-events: none;
}

/* Vue 360 */

#krpanoSWFObject {
    /* empeche de le voir au chargement de la page */
    /*opacity: 0;
    visibility: hidden;*/
}

#notice {
    /* empeche de le voir au chargement de la page */
    opacity: 0;
    visibility: hidden;
}

#notice img {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 4000;
    transform: translate3d(-50%,-50%,0);

    cursor: pointer;
}

.navGradient {
    background-image: url(../images/gradient.png);
    background-repeat: repeat-x;
    background-position: bottom;
}

#retour {
    position: absolute;
    top: 0;
    right: 1%;

    cursor: pointer;

    z-index: 10;
    text-transform: uppercase;
    font-weight: bold;

    /* empeche de le voir au chargement de la page */
    opacity: 0;
    visibility: hidden;
}

#retour:before {
    content: "";
    width: 47%;
    height: 3px;
    background-color: white;
    display: block;
    position: absolute;
    bottom: 10px;
    left: 0;

    -webkit-transition: all 100ms ease-in-out;
    -moz-transition: all 100ms ease-in-out;
    -ms-transition: all 100ms ease-in-out;
    -o-transition: all 100ms ease-in-out;
    transition: all 100ms ease-in-out;
}

#retour:hover:before {
    width: 100%;
}

/* RESPONSIVE */

@media screen and (max-width: 1440px) and (max-height: 1250px) and (min-height: 1015px) {
    #vueEnsemble img, map, video {
        left: 62%;
    }
}

@media screen and (max-width: 1024px) and (min-width: 800px) and (min-height: 800px) {
    #vueEnsemble img, map, video {
        left: 66%;
    }
}

@media screen and (max-width: 768px) {
     #logo {
        top: 0;
        left: 50%;
    }

    #logo img{
        top: 70%;
        transform: translate(-50%,-50%);
    }

    #skip {
        right: 50%;
        transform: translateX(50%);
    }

    #skip img {
        width: 70%;
        height: auto;
        margin-left: 50%;
        transform: translateX(-50%);
    }
}

@media screen and (max-width: 800px) and (min-height: 600px) {
    #vueEnsemble img, map, video {
        left: 72%;
    }
}

@media screen and (max-width: 425px) and (min-height: 400px) {
    #vueEnsemble img, map, video {
        left: 82%;
    }
}

@media screen and (max-width: 320px) and (min-height: 325px) {
    #vueEnsemble img, map, video {
        left: 94%;
    }
}

@media screen and (max-width: 320px) and (max-height: 225px) {
    #vueEnsemble img, map, video {
        left: 50%;
    }
}

@media screen and (max-width: 1530px) and (min-height: 1040px) {
    #vueEnsemble img, map, video {
        left: 60%;
    }
}

@media screen and (max-width: 1080px) and (min-height: 800px) {
    #vueEnsemble img, map, video {
        left: 70%;
    }
}

@media screen and (max-width: 800px) and (min-height: 800px) {
    #vueEnsemble img, map, video {
        left: 77%;
    }
}

@media screen and (max-width: 620px) and (min-height: 800px) {
    #vueEnsemble img, map, video {
        left: 90%;
    }
}

@media screen and (max-width: 570px) and (min-height: 800px) {
    #vueEnsemble img, map, video {
        left: 92%;
    }
}

@media screen and (max-width: 600px) {
    #notice img {
        width: 100%;
    }
}


/*****************/
/* MENU PANORAMA*/
/*****************/

.testClass{
	transition: width 0.75s ease-out;
    width: 44px;
    height: 100%;
    display: block;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.08)
    }
    
#leMenu{
	display:none;
   position: static;
    right: 0;
    top: 0;
	transition: left 1s ease-in-out;
}

@media all and (min-width: 768px){
    #leMenu{
        display: block;
    }
}

.iconInMenu{
	transition: opacity 0.15s ease-out;
    float: left;
    height: 26px;
    left: 8px;
    top: 8px;
    position: relative;
}

#monmenupiece > li .pouractmenu {
	background-color: #333333;
}

#monmenupiece > li.active .pouractmenu {
	background-color: #114C9D;
}

#monmenupiece > li + ul {
	display: none;
}

#monmenupiece > li.active + ul {
	display: block;
}

#monmenupiece > li + ul li a.active {
	color: #104c97;
}

.sousMenu[data-groupe="etage2"] {
    border-top: 1px solid rgba(60, 60, 60, 0.94);
    border-bottom: none;
}
.wrapper-dropdown-5 {
	position: absolute;
	left: 0;
	top: 117px!important;
	margin: 0 auto;
	padding: 0;
	background: #fff;
	cursor: pointer;
	outline: none;
	z-index: 1;
	text-align: center;
}

.dropdown h3 {
	font-family: 'Titillium Web';
	font-size: 21px;
	color: #ed1b2f;
	margin: 14px 40px 0 0;
	font-weight: 300;
}
.dropdown {
	padding-top:0px;
	padding-left:0;
	padding-right:0;
	margin:0;
    position: absolute;
	right: 0;
	width: 100%;
	top: 160px;
	z-index: 1;
	cursor: pointer;
    list-style: none;
    overflow: hidden;
	background-color: #f4f4f4;
	background-position: 0px 0px;
	background-repeat: no-repeat;
	 transition: all 0.3s ease-out;

}
.dropdown li div, .dropdown li a {
    border-style: solid;
    border-left: 0;
    border-right: 0;
	border-top: 0;
    border-width: 1px;
    border-color: rgba(60, 60, 60, 0.94);
    display: block;
    text-align: center;
    text-decoration: none;
    padding-top: 15px;
    padding-bottom: 15px;
    margin: 0;
    color: #ffffff;
    transition: all 0.3s ease-out;
    font-family: "Loew",Helvetica,Arial,sans-serif;
    font-weight: 400;
    font-size: 16px;
    z-index: 1;
}

.dropdown li a :last-child{
	  border-bottom: 0;
}

.dropdown li div:hover, .dropdown li a:hover {
	background-color:#104c97 !important;
	color: #ffffff !important;
}

.dropdown.premierindex {
	background-image: url('./images/noir60.png');
	background-repeat: repeat;
}

.dropdown.premierindex li div {
	padding: 3px 60px 3px 0px;
}

.sousMenu{
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	border-color:rgba(60, 60, 60, 0.94);
	border-style: solid;
	border-width:1px;
	border-top:0px;
	border-left:0px;
	border-right:0px
}

.sousMenu li{
    height: 35px;
    list-style: circle;
    color: #171717;
    display: list-item;
    margin-left: 25px;
}
.sousMenu li a{
	text-align:left;
	border:none!important;
	padding:0;
	height: 35px;
    line-height: 35px;
    font-size: 14px;
    display: inline-block;
    font-family: 'Loew', sans-serif;
}
.sousMenu li a:hover{
	color: #104c97 !important;
	background-color:transparent !important;
}

.dropdown li a.sousElement{
    color: #171717;
}

#krpanoSWFObject{

}

#customMap{
	z-index:2;

}

#menu-header{
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    background-color: #ffffff;
    z-index: 9999;
}

@media all and (min-width: 1024px){
    #menu-header{
        width: 260px;
        height: 145px;
        display: block;
    }
}

#menu-header #selecteur-langue{
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 11;
}

#menu-header #selecteur-langue a, #menu-header #selecteur-langue div{
    display: inline-block;
    font-family: "Loew", sans-serif;
    text-decoration: none;
    color: #171717;
    font-weight: 500;
    font-size: 22px;
}

#menu-header #selecteur-langue .separator{
    font-weight: normal;
}

#menu-header #selecteur-langue a.active{
    color: #114C9D;
}

#btn-show-menu{
    width: 118px;
    height: 40px;
    position: fixed;
    top: 0;
    right: 0;
    background-color: #114C9D;
    z-index: 1;
    padding: 9px 18px;
    font-family: "Loew", sans-serif;
    line-height: 1;
}

#btn-show-menu img{
    width: 22px;
    height: 22px;
    display: inline-block;
    position: absolute;
    right: 16px;
    top: 10px;
}

#btn-show-menu span{
    display: inline-block;
    position: absolute;
    left: 16px;
    top: 10px;
}

.logo {
    position: relative;
	transition: all 0.3s ease-out;
	height: auto;
	z-index:1;
    cursor: pointer;
    padding-top: 25px;
    padding-bottom: 65px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.logo img{
    width: auto;
    height: 70px;
    margin-left: auto;
    margin-right: auto;
}

.dropdown li:last-of-type div, .dropdown li:last-of-type a {
    border: none;
}

.dropdown li i {
	margin-right: 5px;
	color: inherit;
	vertical-align: middle;
	position: absolute;
	right: 11px;
	width: 35px;
	height: 31px;
}

#btn-close-menu {
    color: #104c97;
    font-size: 35px;
    position: absolute;
    display: none;
    right: 13px;
    top: 22px;
    line-height: 0px;
    font-family: 'Loew';
    z-index: 100000;

}

@media screen and (min-width: 1024px) {
    .dropdown li div, .dropdown li a {
        font-size: 14px;
    }

    .sousMenu li{
        height: 25px;
    }

    .sousMenu li a{
        height: 25px;
        line-height: 25px;
        font-size: 11px;
    }

    #btn-close-menu{
        display: none !important;
    }
    .dropdown{
        width: 260px;
    }

    #menu-header #selecteur-langue a, #menu-header #selecteur-langue div{
        font-size: 17px;
    }

    #btn-show-menu{
        display: none;
    }

    #menu-header #selecteur-langue{
        position: absolute;
        top: 0;
        right: 12px;
        left: unset;
        transform: none;
    }
	.dropdown {
		    width: 260px;
			top: 145px;
	}
	.dropdown li a{
		font-size: 12px;
	}
	.logo{
            width: 260px;
            padding-top: 35px;
            padding-bottom: 20px;
    }
    
    .logo img{
        height: 90px;
    }
	.iconInMenu{
		top:3px;
	}
}
@media screen and (max-width: 1025px) {
	.iconInMenu{
		top:-1px;
	}
}

@media screen and (max-width: 601px) {
	.testClass{
		width:0;
	}
	.iconInMenu{
		opacity:0;
		/*display:none;*/
	}
}

#laScene {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    padding: 7px 10px;
    z-index: 9999;
    pointer-events: none;
}

#laScene h2 {
    margin: 0;
    color: #005199;
    font-family: 'Loew', sans-serif;
    font-size: 14px;
}

@media all and (min-width: 1024px){
    #laScene{
        padding: 15px 30px;
    }

    #laScene h2 {
        font-size: 24px;
    }
}

#Copyright {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9999;
    pointer-events: none;
    display: none;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 5px;
}


#Copyright p {
    color: #fff;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.45);
    margin: 0;
    text-align: right;
    text-transform: uppercase;
    font-size: 12px;
}

#Copyright img {
    pointer-events: initial;
}

#Copyright img {
    width: 40px;
    height: auto;
    vertical-align: middle;
}

@media all and (min-width: 768px){
    #Copyright{
        display: grid;
    }
}

@media screen and (max-width: 1280px) {
	#Copyright p {
        display: none;
    }
}