html,
body {
margin: 0;
padding: 0;
overflow: hidden;
cursor: default;
}
/************ Affichage message d'info ou d'erreur ***************/
.infos,
.alertes {
position: absolute;
top: 50px;
width: 100%;
text-align: center;
z-index: 100;
display: block;
}
#message-info,
#message-alerte {
font-family: "Avenir Next", "Avenir", sans-serif;
font-size: 20px;
}
.alerte {
font-weight: bold;
text-shadow: 0px 0px 5px white;
color: red;
}
.normal {
font-weight: normal;
color: white;
}
/***************** Logo *******************/
.logo {
position: absolute;
bottom: 28px;
right: 80px;
}
.logo h4 {
color: white;
font-size: 12px;
text-align: left;
font-family: "Avenir Next", "Avenir", sans-serif;
}
.image-logo {
width: 120px;
filter: drop-shadow(5px 5px 5px black);
opacity: 0.8;
border-radius: 6px;
margin-bottom: 10px;
}
/***************** Aide en ligne *******************/
.div-aide {
display: flex;
position: absolute;
width: 690px;
align-items: flex-end;
bottom: 10px;
right: -660px;
z-index: 200;
margin: 10px;
opacity: 90%;
transition: all .5s ease-in;
}
.div-aide:hover {
transform: translateX(-660px);
transition-delay: 0.8s;
}
.div-aide.affiche {
transform: translateX(-660px);
}
.div-aide .div-icone {
width: 46px;
padding: 8px;
justify-content: center;
background-color: white;
border-radius: 10px 0px 0px 10px;
}
.div-aide .div-contenu {
height: auto;
background-color: white;
padding: 15px 10px 0px 30px;
border-radius: 10px 10px 10px 0px;
}
.texte-aide {
padding-left: 0px;
list-style: none;
}
.texte-aide > h3 {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 16px;
font-weight: bold;
}
.texte-aide > li {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 14px;
text-align: justify-all;
}
.texte-aide > li:before {
font-family: "Font Awesome 5 Free";
content: "\f105";
font-weight: 900;
margin-right: 8px;
}
.image-aide {
margin-right: 10px;
align-content: center;
}
#fermer-popup-aide {
position: relative;
right: -40px;
top: -10px;
}
#fermer-popup-aide > span {
font-family: "Avenir Next", "Avenir", sans-serif;
color: white;
font-size: 18px;
font-weight: bolder;
margin-left: -400px;
}
#fermer-popup-aide > span::after {
margin-left: 20px;
font-family: "Font Awesome 5 Free";
font-size: 30px;
content: "\f0a9";
}
.lien-tuto {
position: absolute;
top: 10px;
right: 40px;
}
.lien-tuto a {
font-family: "Avenir Next", "Avenir", sans-serif;
font-size: 14px;
color: red !important;
font-weight: 600;
}
/************ DAT.GUI *********/
.dg.ac {
margin-top: 28px;
margin-right: 38px;
z-index: 100;
}
/************ Popup d'alerte *********/
#popup-alert {
display: grid;
grid-template-areas:
'titre'
'bouton bouton bouton';
grid-gap: 1.5rem;
opacity: 85%;
position: fixed;
justify-content: center;
justify-items: center;
align-content: center;
width: 480px;
height: auto;
padding: 20px;
margin-top: 5vh;
margin-left: 35vw;
background-color: #e6e6e6;
border: 1px solid black;
border-radius: 10px;
transition: all .5s ease-in;
box-shadow: 0 0 12px black;
}
#popup-alert #titre-popup {
grid: texte;
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 16px;
color: black;
text-align: center;
margin-bottom: 20px;
}
#popup-alert button {
grid: bouton;
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 14px;
margin-right: 10px;
}
/************ Popup de choix d'une ouverture *********/
/* Masque semi-transparent sous la popup des ouvertures */
#overlay {
display: block;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: black;
opacity: 0.8;
z-index: 250;
}
.popup-ouverture {
display: flex;
position: fixed;
z-index: 300;
justify-content: center;
flex-wrap: wrap;
padding: 20px;
background-color: #e6e6e6;
border: 1px solid black;
border-radius: 10px;
transition: all .5s ease-in;
box-shadow: 0 0 12px black;
}
#popup-ouverture-out {
width: 700px;
height: 450px;
}
#popup-ouverture-in {
width: 600px;
}
#popup-plancher {
width: 800px;
}
#popup-pignon {
width: 500px;
}
.popup-ouverture #titre-popup {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 18px;
color: black;
width: 100%;
text-align: center;
margin-bottom: 20px;
}
.popup-ouverture .container-images {
display: flex;
width: 950%;
align-items: flex-start;
text-align: center;
justify-content: space-evenly;
margin: 0px 20px;
}
.popup-ouverture .container-images figure.normal {
cursor: pointer;
justify-content: center;
color: black;
opacity: 100%;
transition: all .2s ease-in-out;
}
.popup-ouverture .container-images #PG2 {
position: absolute;
top: 200px;
left: 563px;
}
.popup-ouverture .container-images #F1gR {
position: absolute;
top: 200px;
left: 43px;
}
.popup-ouverture .container-images #F1dR {
position: absolute;
top: 200px;
left: 123px;
}
.popup-ouverture .container-images #F2R {
position: absolute;
top: 200px;
left: 203px;
}
.popup-ouverture .container-images #PER {
position: absolute;
top: 200px;
left: 293px;
}
.popup-ouverture .container-images figure:hover {
transform: scale(1.2);
}
.popup-ouverture .container-images figure.disabled {
cursor: not-allowed;
color: gray;
opacity: 40%;
transform: none;
}
.popup-ouverture .popup-ouverture-image {
width: 64px;
height: auto;
border: 0px solid black;
border-radius: 3px;
box-shadow: 2px 2px 5px;
}
.popup-ouverture .container-images figcaption {
text-align: center;
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 14px;
line-height: 1em;
margin-top: 10px;
}
.popup-ouverture .popup-ouverture-texte {
font-family: "Avenir next", "Avenir", sans-serif;
width: 100%;
font-size: 14px;
font-style: italic;
margin: 80px 20px 0px 20px;
;
}
.popup-ouverture button {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 14px;
text-align: center;
}
#popup-plancher button {
margin-top: 15px;
}
#popup-plancher .container-images img {
width: 32px;
border-radius: 0px;
}
/******************** Popup d'attente pour les traitements longs (génération du devis) ************************/
#popup-attente {
display: inline-flex;
position: fixed;
width: 500px;
height: auto;
padding: 20px;
z-index: 300;
align-items: left;
background-color: white;
border: 1px solid black;
border-radius: 10px;
transition: all .5s ease-in;
box-shadow: 0 0 12px black;
}
#popup-attente .texte-attente {
margin-left: 20px;
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 18px;
text-align: justify-all;
}
#popup-export {
display: grid;
position: fixed;
width: auto;
height: auto;
padding: 20px;
z-index: 300;
align-items: center;
background-color: white;
border: 1px solid black;
border-radius: 10px;
transition: all .5s ease-in;
box-shadow: 0 0 12px black;
}
#popup-export button {
margin: 20px 150px 0 150px;
}
/********************************** Changement d'angle de vue *************************************/
#changement-vue {
display: grid;
grid-template-columns: 10% 80% 10%;
grid-template-rows: 10% 10% 70% 10%;
position: fixed;
bottom: 90px;
right: 110px;
z-index: 100;
padding: 30px;
align-items: center;
justify-items: center;
height: 130px;
}
#changement-vue div {
font-size: 16px;
cursor: pointer;
color: white;
}
#changement-vue .bouton-fleche:hover {
transform: scale(1.6);
transition: all .5s ease-in-out;
}
#changement-vue div.surligne {
color: red;
font-size: 30px !important;
}
#changement-vue div#aerien {
grid-column: 2;
grid-row: 1;
margin-bottom: 70px;
font-size: 26px;
}
#changement-vue div#dessus {
grid-column: 2;
grid-row: 2;
margin-bottom: 15px;
}
#changement-vue div#arriere {
grid-column: 3;
grid-row: 2;
margin-bottom: -10px;
}
#changement-vue div#arriere i,
div#avant i {
transform: rotate(-45deg);
}
#changement-vue div#avant {
grid-column: 1;
grid-row: 4;
margin-bottom: 10px;
}
#changement-vue div#gauche {
grid-column: 1;
grid-row: 2;
margin-bottom: -10px;
}
#changement-vue div#gauche i,
div#droite i {
transform: rotate(45deg);
}
#changement-vue div#droite {
grid-column: 3;
grid-row: 4;
margin-bottom: 10px;
}
#changement-vue div:not(.bouton-fleche) {
grid-column: 2;
grid-row: 3;
}
#changement-vue div > img {
align-content: center;
justify-content: center;
width: 35px;
height: 35px;
}
#transparent-overlay {
display: block;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: red;
opacity: 0;
z-index: 250;
}
/************************** Bouton permettant de quitter la vue aérienne ***********************************/
#vue-aerienne {
position: fixed;
right: 20px;
bottom: 270px;
z-index: 300;
width: 300px;
}
div#legende-modules {
margin-bottom: 200px;
}
#vue-aerienne #legende {
position: relative;
margin-bottom: 40px;
}
#vue-aerienne #legende span,
th {
font-family: "Avenir Next", "Avenir", sans-serif;
font-size: 14px;
font-weight: 500;
color: white;
padding-right: 20px;
}
#vue-aerienne #legende span.titre {
text-decoration: underline;
text-align: right;
}
#quitter-vue-aerienne {
display: flex;
width: 280px;
height: 50px;
justify-content: center;
background-color: red;
border-radius: 15px;
cursor: pointer;
box-shadow: -10px 10px 20px;
z-index: 300;
}
#quitter-vue-aerienne span {
font-family: "Avenir Next", "Avenir", sans-serif;
font-size: 18px;
font-weight: 500;
color: white;
align-self: center;
justify-self: center !important;
}
#boutons {
display: inline-flex;
margin-bottom: -15px;
z-index: 300;
}
#boutons > #legende {
margin-right: 40px;
}
#boutons > #legende:before {
font-family: "Font Awesome 5 Free";
content: "\f0ca";
font-weight: 900;
margin-right: 20px;
}
#boutons button {
text-align: center;
font-size: 30px;
color: red;
width: 45px;
height: 45px;
border: none;
border-radius: 100%;
background-color: rgba(255, 255, 255, 0.8);
margin-left: 15px;
}
#boutons button:focus {
outline: none !important;
}
/******************** Formulaire d'enregistrement du projet ************************/
#formulaire {
display: flex;
flex-wrap: wrap;
position: fixed;
width: 660px;
height: auto;
padding: 20px;
z-index: 500;
justify-content: space-around;
background-color: white;
border: 1px solid black;
border-radius: 10px;
transition: all .5s ease-in;
box-shadow: 0 0 12px black;
}
#formulaire .titre {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 18px;
font-weight: 700;
margin-bottom: 18px;
}
#formulaire .texte {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 0.9em;
text-align: justify-all;
}
#formulaire .question {
margin-right: auto;
}
#formulaire .form-class {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
#formulaire input.texte {
font-size: 0.8em;
}
#formulaire input.button {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 0.9em;
margin: 20px auto 0px auto;
}
#formulaire .form-top-marge {
margin-top: 20px;
}
/********************* Popup de choix du sens de décalage ***************************/
#popup-decalage {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-gap: 20px;
grid-template-rows: 2fr repeat(2, 1fr);
position: fixed;
width: 700px;
height: 300px;
padding: 20px;
z-index: 300;
background-color: white;
border: 1px solid black;
border-radius: 10px;
transition: all .5s ease-in;
box-shadow: 0 0 12px black;
}
#popup-decalage span {
grid-column: span 4;
}
#popup-decalage .texte {
margin-left: 20px;
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 18px;
}
#popup-decalage button {
height: 40px;
width: auto;
}
#popup-decalage #popup-decalage-arriere {
grid-column: 1/3;
grid-row: 2;
}
#popup-decalage #popup-decalage-arriere:before {
font-family: "Font Awesome 5 Free";
content: "\f062";
font-weight: 900;
margin-right: 20px;
}
#popup-decalage #popup-decalage-avant {
grid-column: 3/5;
grid-row: 2;
}
#popup-decalage #popup-decalage-avant:before {
font-family: "Font Awesome 5 Free";
content: "\f063";
font-weight: 900;
margin-right: 20px;
}
#popup-decalage #popup-decalage-annuler {
grid-column: 2/4;
grid-row: 3;
}