@import url("https://fonts.googleapis.com/css2?family=Georama:wght@300;400;700;800&display=swap");
.material-icons,
.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 1, "wght" 700, "GRAD" 0, "opsz" 48;
}

/* COULEURS GLOBALES */
/* BACKGROUNDS */
/* PROVISOIRE */
.bot25 {
  margin-bottom: 25px;
}

.bot50 {
  margin-bottom: 50px;
}

.bot100 {
  margin-bottom: 100px;
}

.bot200 {
  margin-bottom: 200px;
}

.top25 {
  margin-top: 25px;
}

.top50 {
  margin-top: 50px;
}

.top100 {
  margin-top: 100px;
}

.top200 {
  margin-top: 200px;
}

.padtop25 {
  padding-top: 25px;
}

.padtop50 {
  padding-top: 50px;
}

.padtop100 {
  padding-top: 100px;
}

.padbot25 {
  padding-bottom: 25px;
}

.padbot50 {
  padding-bottom: 50px;
}

.padbot100 {
  padding-bottom: 100px;
}

.invisible {
  display: none;
}

.fontsize20 {
  font-size: 20px !important;
}

body {
  position: relative;
  padding: 15px 0;
  font-family: "Georama", sans-serif;
  font-size: 12px;
}

* {
  box-sizing: border-box;
  line-height: 1.3;
  position: relative;
  margin: 0;
}

#choixFormat {
  position: fixed;
  top: 15px;
  left: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  padding: 25px;
  border: 1px solid #d70029;
  text-transform: uppercase;
  z-index: 2;
}
#choixFormat select {
  margin: 15px auto;
}

.page {
  background-color: #fff;
  margin: auto;
  overflow: hidden;
}
.page figure#couv {
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  position: relative;
}
.page figure#couv .badges {
  text-transform: uppercase;
  font-weight: bold;
  z-index: 99;
  position: absolute;
  font-size: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.page figure#couv .badges .typeMandat {
  background-color: #fff;
  color: #15141a;
}
.page figure#couv .badges .exclu {
  background-color: #d70029;
  color: #fff;
}
.page figure#couv img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom;
     object-position: bottom;
}
.page .bandeau {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: calc(5mm / 2);
}
.page .bandeau .gauche {
  display: flex;
  align-items: center;
}
.page .bandeau .gauche .qrcode {
  width: 25mm;
}
.page .bandeau .gauche .typeEtLieu {
  margin-left: 5mm;
}
.page .bandeau .gauche .typeEtLieu #typeMandat,
.page .bandeau .gauche .typeEtLieu #typeBien {
  font-weight: 900;
  text-transform: uppercase;
  font-size: 1.1rem;
}
.page .bandeau .gauche .typeEtLieu #localisation {
  display: flex;
  text-transform: uppercase;
  margin-top: 5px;
  font-weight: 900;
  font-size: 1.3rem;
  align-items: center;
}
.page .bandeau .gauche .typeEtLieu #localisation::before {
  content: "";
  width: 15px;
  height: 15px;
  display: block;
  background: #fff;
  -webkit-mask: url("/files/tabularasa/images/design/fiche_vitrine/localisation.svg");
          mask: url("/files/tabularasa/images/design/fiche_vitrine/localisation.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask: url("/files/tabularasa/images/design/fiche_vitrine/localisation.svg");
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  margin-right: 5px;
}
.page .bandeau .droite {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.page .bandeau .droite #prix {
  font-weight: 900;
  font-size: 1.7rem;
}
.page #galerie {
  display: flex;
  flex-direction: row;
  margin: calc(5mm / 2) 0;
  gap: calc(5mm / 2);
  height: 35mm;
}
.page #galerie figure {
  flex: 0 1 25%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  height: auto;
}
.page #galerie figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page #logo {
  text-align: center;
  margin: 5mm;
}
.page #logo img {
  width: 150px;
}
.page .cols {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.page .cols > div {
  flex: 0 0 calc(50% - calc(5mm / 2));
  overflow: hidden;
}
.page .cols #titre {
  text-align: center;
  font-weight: 900;
  font-size: 1.2rem;
  width: 75%;
  margin: calc(5mm / 2) auto;
  display: block;
}
.page .cols #ref {
  font-weight: 300;
  text-transform: uppercase;
  display: inline-block;
  text-align: center;
  width: 100%;
}
.page .cols #description {
  text-align: justify;
  margin-bottom: 5mm;
  display: block;
}
.page .cols #mentionsPrix,
.page .cols #mentionsGES {
  text-align: center;
  display: block;
  width: 90%;
  font-style: italic;
  font-size: 0.5rem;
}
.page .cols #pieces {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.page .cols #pieces span {
  color: #d70029;
  text-transform: uppercase;
  font-weight: bold;
  flex: 0 0 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.page .cols #pieces span::before {
  content: "";
  width: 50px;
  height: 50px;
  background-color: #15141a;
  margin: 40px auto 10px;
  display: block;
}
.page .cols #pieces span.surface::before {
  -webkit-mask: url("/files/tabularasa/images/design/fiche_vitrine/surface.svg");
          mask: url("/files/tabularasa/images/design/fiche_vitrine/surface.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask: url("/files/tabularasa/images/design/fiche_vitrine/surface.svg");
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}
.page .cols #pieces span.nbPieces::before {
  -webkit-mask: url("/files/tabularasa/images/design/fiche_vitrine/pieces.svg");
          mask: url("/files/tabularasa/images/design/fiche_vitrine/pieces.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask: url("/files/tabularasa/images/design/fiche_vitrine/pieces.svg");
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}
.page .cols #pieces span.nbChambre::before {
  -webkit-mask: url("/files/tabularasa/images/design/fiche_vitrine/lits.svg");
          mask: url("/files/tabularasa/images/design/fiche_vitrine/lits.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask: url("/files/tabularasa/images/design/fiche_vitrine/lits.svg");
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}
.page .cols #pieces span.terrain::before {
  -webkit-mask: url("/files/tabularasa/images/design/fiche_vitrine/terrain.svg");
          mask: url("/files/tabularasa/images/design/fiche_vitrine/terrain.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask: url("/files/tabularasa/images/design/fiche_vitrine/terrain.svg");
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}
.page.portrait_A4 {
  width: 210mm;
  height: 297mm;
  padding: 5mm;
}
.page.portrait_A4 figure#couv {
  height: 115mm;
  margin-bottom: calc(5mm / 2);
}
.page.portrait_A4 figure#couv .badges {
  top: 5mm;
}
.page.portrait_A4 figure#couv .badges div {
  padding: calc(5mm / 2);
}
.page.portrait_A4 figure#couv img {
  max-height: 115mm;
}
.page.portrait_A4 .contenu {
  height: calc(297mm - (115mm + (15mm)));
  display: flex;
  flex-direction: column;
}
.page.portrait_A3 {
  width: 297mm;
  height: 420mm;
  padding: 10mm;
  font-size: 15px;
}
.page.portrait_A3 figure#couv {
  height: 175mm;
  margin-bottom: calc(10mm / 2);
}
.page.portrait_A3 figure#couv .badges {
  top: 10mm;
}
.page.portrait_A3 figure#couv .badges div {
  padding: calc(10mm / 2);
}
.page.portrait_A3 figure#couv img {
  max-height: 175mm;
}
.page.portrait_A3 .bandeau {
  padding: calc(10mm / 2);
}
.page.portrait_A3 .bandeau .gauche .typeEtLieu #localisation {
  font-size: 1.5rem;
}
.page.portrait_A3 .contenu {
  height: calc(420mm - (175mm + (30mm)));
  display: flex;
  flex-direction: column;
}
.page.portrait_A3 #galerie {
  height: 45mm;
  margin: calc(10mm / 2) 0;
  gap: calc(10mm / 2);
}
.page.portrait_A3 #logo img {
  width: 200px;
}
.page.portrait_A3 .cols > div {
  flex: 0 0 calc(50% - calc(10mm / 2));
}

h2 {
  color: #d70029;
  text-transform: uppercase;
  font-weight: 900;
  margin: 0 0 calc(5mm / 2);
}
h2::after {
  position: absolute;
  content: "";
  height: 10px;
  background-color: #15141a;
  width: 100%;
  margin-left: 25px;
  top: 50%;
  transform: translateY(-50%);
}

.fondRouge {
  background-color: #d70029;
  color: #fff;
}

.DPE {
  display: flex;
  justify-content: space-evenly;
  margin: 0 auto 25px;
  flex-wrap: wrap;
}
.DPE h3 {
  flex: 0 0 100%;
  display: block;
  text-align: center;
  font-weight: bold;
}

div.schemaDPE {
  border-spacing: 0 5px;
  flex: 0 0 50%;
  padding-right: 10px;
}
div.schemaDPE #energieFinale {
  position: absolute;
  bottom: -100%;
  right: 0px;
  font-size: 7px;
  width: 40%;
  text-align: right;
}
div.schemaDPE > div.graph > div {
  height: 20px;
  border: 1px 0 solid #fff;
}
div.schemaDPE > div.graph > div > div:first-child {
  font-weight: bold;
  text-shadow: -1px 0 #15141a, 0 1px #15141a, 1px 0 #15141a, 0 -1px #15141a;
  color: #fff;
  height: 100%;
}
div.schemaDPE > div.graph > div > div:first-child span {
  position: relative;
  z-index: 2;
  margin-left: 3px;
  line-height: 20px;
}
div.schemaDPE > div.graph > div > div:first-child:before {
  content: "";
  height: 100%;
  display: block;
  position: absolute;
  top: -1px;
  left: -1px;
  z-index: 1;
  border-radius: 0 50px 50px 0;
}
div.schemaDPE > div.graph > div.active {
  position: relative;
}
div.schemaDPE > div.graph > div.active div:first-child:after {
  content: "";
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  background-color: #15141a;
}
div.schemaDPE > div.graph > div.active div:last-child {
  background-color: #15141a;
  color: #fff;
  padding: 0 10px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.6rem;
}
div.schemaDPE.consoElec div:nth-child(0) > div:first-child:before {
  width: calc((0 + 1) * 7%);
}
div.schemaDPE.consoElec div:nth-child(1) > div:first-child:before {
  width: calc((1 + 1) * 7%);
  background-color: #149862;
}
div.schemaDPE.consoElec div:nth-child(2) > div:first-child:before {
  width: calc((2 + 1) * 7%);
  background-color: #4aa94f;
}
div.schemaDPE.consoElec div:nth-child(3) > div:first-child:before {
  width: calc((3 + 1) * 7%);
  background-color: #9cc66f;
}
div.schemaDPE.consoElec div:nth-child(4) > div:first-child:before {
  width: calc((4 + 1) * 7%);
  background-color: #f0e331;
}
div.schemaDPE.consoElec div:nth-child(5) > div:first-child:before {
  width: calc((5 + 1) * 7%);
  background-color: #edab29;
}
div.schemaDPE.consoElec div:nth-child(6) > div:first-child:before {
  width: calc((6 + 1) * 7%);
  background-color: #e67937;
}
div.schemaDPE.consoElec div:nth-child(7) > div:first-child:before {
  width: calc((7 + 1) * 7%);
  background-color: #d01925;
}
div.schemaDPE.pollution div:nth-child(0) > div:first-child:before {
  width: calc((0 + 1) * 7%);
}
div.schemaDPE.pollution div:nth-child(1) > div:first-child:before {
  width: calc((1 + 1) * 7%);
  background-color: #a4dbf9;
}
div.schemaDPE.pollution div:nth-child(2) > div:first-child:before {
  width: calc((2 + 1) * 7%);
  background-color: #8cb5d3;
}
div.schemaDPE.pollution div:nth-child(3) > div:first-child:before {
  width: calc((3 + 1) * 7%);
  background-color: #7592b2;
}
div.schemaDPE.pollution div:nth-child(4) > div:first-child:before {
  width: calc((4 + 1) * 7%);
  background-color: #5f6e8f;
}
div.schemaDPE.pollution div:nth-child(5) > div:first-child:before {
  width: calc((5 + 1) * 7%);
  background-color: #4c516f;
}
div.schemaDPE.pollution div:nth-child(6) > div:first-child:before {
  width: calc((6 + 1) * 7%);
  background-color: #393651;
}
div.schemaDPE.pollution div:nth-child(7) > div:first-child:before {
  width: calc((7 + 1) * 7%);
  background-color: #271a35;
}

#visites {
  position: relative;
}
#visites input[type=submit] {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #d70029;
  border: 0;
  color: #fff;
  padding: 5px 15px;
  cursor: pointer;
  font-weight: bold;
  text-transform: uppercase;
}

.bonVisite {
  padding: 1cm;
}
.bonVisite figure {
  text-align: center;
}
.bonVisite figure img {
  width: 200px;
}
.bonVisite h1 {
  text-align: center;
}
.bonVisite .visiteur {
  text-align: right;
  margin-bottom: 50px;
}
.bonVisite .signature {
  margin-top: 100px;
  text-align: center;
}
.bonVisite p {
  text-align: justify;
}
.bonVisite .zoneSignature {
  margin: 50px auto;
  display: block;
  border: 1px solid #15141a;
}
.bonVisite form {
  text-align: center;
  margin-top: 25px;
}

#impression {
  position: fixed;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #d70029;
  border: 0;
  color: #fff;
  padding: 5px 15px;
  cursor: pointer;
  font-weight: bold;
  text-transform: uppercase;
}

@media print {
  @page {
    margin: 0 !important;
  }
  body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
  }
  .page {
    margin: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    border: 0;
  }
  .page.bonVisite {
    padding: 1cm;
    page-break-after: always;
  }
  #choixFormat,
  .noPrint {
    display: none;
  }
}