/* byvie.be */

:root {
  --website-color-1: rgb(221, 200, 186);
  --website-color-2-bis: rgba(221, 200, 186, 0.80);
  --website-color-2: rgba(221, 200, 186, 0.44);
  --website-color-3: rgb(72, 72, 72);
  --website-color-4: rgb(50, 50, 50); /* added by Marc */
  --website-color-4-bis: rgba(50, 50, 50, 0.80); /* added by Marc */
  --cassiopeia-color-primary: var(--website-color-1) !important;
  --cassiopeia-color-link: var(--website-color-1) !important;
  --cassiopeia-color-hover: var(--website-color-2) !important;
  --cassiopeia-color-gradient-end: var(--website-color-1) !important;
  --cassiopeia-color-gradient-start: var(--website-color-3) !important;
}
/*body {background-color: var(--website-color-1)}*/
h2, h3, h4, h5, h6 {
  /*text-shadow: 2px 2px 4px rgb(0 0 0 / 60%);*/
  color: var(--website-color-1);
}

.main-bottom.no-card {
  margin-top: 0; /* sinon on a 1rem pour le bloc "make an appointment" */
}

footer li.nav-item {
  margin: 0;
  padding: 0;
}

/* https://css-tricks.com/snippets/css/simple-and-nice-blockquote-styling/ */
/* see https://css-tricks.com/almanac/properties/q/quotes/ */
blockquote {
  /*background: var(--website-color-2);
  border-left: 10px solid var(--website-color-1);
  margin: 2em 0px;*/
  padding: 2em;
  /*quotes: "“" "”" "‘" "’";*/
  quotes: "\201C""\201D""\2018""\2019";
}
blockquote:before {
  /*content: open-quote;*/
  font-family: 'Font Awesome 5 Free'; /* using here fontawesome for content instead of open-quote | Note Marc: changed FontAwesome by Font Awesome 5 Free otherwise not displaying on all devices (Mac ?) */
  font-weight: bold; /* otherwise icon might not appear bc "too thin" */
  content: "\f10e";
  font-style: normal; /* to avoid italic which is selected for blockquote */
  /*color: var(--website-color-1);*/
  font-size: 2em;
  line-height: 1.5em;
  vertical-align: 0.5em; /* to adjust position */
}

/* sinon le skip-to passent partiellement derrière le menu. 1000 ne suffit pas */
.skip-to [role=menu] {
  z-index: 10000 !important;
}

.byvie-shadow:not(a span) {
  /*text-shadow: 2px 2px 4px rgb(0 0 0 / 30%);*/
  /* !!! la police Matahari ne gère pas correctement &nbsp; Si prend autre police alors espace apparaît */
  font-family: sans-serif;
}
.byvie-gradient {
    background: -webkit-linear-gradient(0deg, var(--website-color-3), var(--website-color-1));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 10px;
}

/* ACCESSIBILITY */
._access-icon.material-icons {
  /*padding: 0.5em !important;*/
  width: 30px !important;
  height: 30px !important;
  font-size: 30px !important;
  line-height: 30px !important;
  text-indent: 0 !important;
  background-color: var(--website-color-1) !important;
  bottom: 0rem !important;
  /*left: 1rem !important;*/
  box-shadow: none !important; /*1px 1px 5px rgba(213 54 71 / 50%) !important;*/
  /*border-radius: 0.25rem;*/
}
._access-icon:hover {
  transform: scale(1) !important;
  box-shadow: none !important; /*1px 1px 10px rgba(213 54 71 / 90%) !important;*/
  background-color: var(--website-color-3) !important;
}


/* default */
/*
.container-component>*+* {
  margin-top: 1em;
}*/

.btn-primary, .btn-primary {
  border-color: white;
}
.btn-primary:focus, .btn-primary:hover {
  background-color: white;
  /*border-color: var(--cassiopeia-color-hover);*/
}
a.btn.btn-primary {
  margin-top: 20px;
}

.metismenu.mod-menu .metismenu-item {
    padding: 0.5em 0.75em;
}

/*li:not(.metismenu-item) {
  margin-bottom: 20px;
}*/
h1 {
  margin-bottom: 3.5rem;
}

/* inspired by https://alligator.io/css/css-scrollbars/ and https://css-tricks.com/ */
/* The emerging W3C standard
   that is currently Firefox-only */
   * {
    /*scrollbar-width: thin;*/
    scrollbar-color: linear-gradient(180deg,rgb(115, 152, 52),rgb(168, 204, 105));
  }
  /* Works on Chrome/Edge/Safari */
  *::-webkit-scrollbar {
    width: 20px;
  }
  *::-webkit-scrollbar-track {
    background: #eee;
  }
  *::-webkit-scrollbar-thumb {
      background: -webkit-gradient(linear,left top,left bottom,from(var(--website-color-1)),to(var(--website-color-2)));
      background: linear-gradient(180deg,var(--website-color-1),var(--website-color-2));
    border-radius: 20px;
    border: 3px solid #eee;
    box-shadow: inset 2px 2px 2px hsla(0,0%,100%,.25),inset -2px -2px 2px rgba(0,0,0,.25);
  }


#back-top {
  position: fixed;
}

.container-header {
    background-color: white;
    background-image: linear-gradient(135deg,white 0,white 100%);
    box-shadow: 0 0 10px 0 rgb(0 0 0 / 20%);
}
.container-header .metismenu>li.level-1.active>a {
  color: var(--website-color-1);
  text-decoration: underline;
}
.container-header .mod-menu /*level 1*/, .container-header .mod-menu a /* sublevels*/ {
    color: var(--website-color-4);
}
.container-header .mod-menu a:hover /* sublevels */ {
    color: var(--website-color-1);
    text-decoration: underline !important;
}
.footer {
    background-color: var(--website-color-3);
    background-image: linear-gradient(135deg,var(--website-color-3) 0,var(--website-color-4) 100%);
}


/* https://blog.astrid-guenther.de/en/cassiopeia-optionen/ */
/* j'ignore si c'est opentrype ou truetype !!! j'attends les instructions */
/* https://www.byvie.be/media/templates/site/cassiopeia_byvie/fonts/matahari/Matahari-400Regular.otf donne une 403 forbidden en tout cas */
@font-face {
  font-family: "Matahari";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/matahari/Matahari-400Regular.otf") format("opentype"),
       url("../fonts/matahari/Matahari-400Regular.ttf") format("truetype");
}
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: "Matahari";
  font-weight: 700;
}
body {
  font-family: "Matahari";
  font-weight: 400;
}

.logobyvie img {
  height: 90px;
  width: auto;
}

body {
  color: var(--website-color-3);
}
.color-1,
.color-2,
.color-3 {
  padding: 10px;
}
.color-1 {
  color: var(--website-color-3);
  background-color: var(--website-color-1);
}
.color-2 {
  color: var(--website-color-3);
  background-color: var(--website-color-2);
}
.color-3 {
  color: white;
  background-color: var(--website-color-3);
}



/* CLASSIC BANNER */
.container-banner > .banner-overlay {
  height: max(300px, 50vh); /* by default is 50vh in Cassiopeia */
}
@media (min-width: 768px) {
  .container-banner > .banner-overlay {
    height: max(300px, 45vh);
  }
}
@media (min-width: 992px) {
  .container-banner > .banner-overlay {
    height: max(300px, 40vh);
  }
}
@media (min-width: 1200px) {
  .container-banner > .banner-overlay {
    height: max(300px, 35vh);
  }
}
/* CLASSIC BANNER */
.container-banner > .banner-overlay .overlay {
  background-image: linear-gradient(
    120deg,
    rgba(0, 0, 0, 0.4),
    rgba(0, 0, 0, 0.2)
  );
}

.btn-primary, .btn-check:focus+.btn-primary, .btn-primary:focus, .btn-primary:hover {
  color: #333333;
}


/*.metismenu.mod-menu .metismenu-item {
  padding: 0.5em 0.8em;
}*/
/* off-canvas - https://gist.github.com/drmenzelit/152a1954d73bcbe126194965e43c97f4*/
.offcanvas.show {
  background-color: var(--website-color-3);
  background-image: linear-gradient(135deg,var(--website-color-3),var(--website-color-4));
}
@media (min-width: 992px) {
  .offcanvas-start {
    width: 100%;
  }
}
@media (max-width: 991.98px) {
  .offcanvas .metismenu.mod-menu .metismenu-item > ul {
    position: relative;
    width: 100%;
    margin-top: 1rem;
  }
  .offcanvas .metismenu.mod-menu .mm-collapse {
    background-color: transparent;
  }
  .offcanvas .metismenu.mod-menu .metismenu-item > a {
    color: #fff;
  }
}
.offcanvas-header > *:only-child {
  margin-left: auto;
}

.container-header .navbar-toggler { /* ajout woluweb */
  color: black;
}

/* mod-languages */
.mod-languages {
  display: grid;
  align-items: center;
  margin-top: 0.5em;
}
div.mod-languages li {
  margin: 0;
}
div.mod-languages ul li.lang-active {
  background-color: var(--website-color-2) !important;
  border: 1px solid var(--website-color-1);
  border-radius: 0.25rem;
}
div.mod-languages ul li a {
  color: var(--website-color-3);
}



footer p {
  margin-bottom: 0;
}
footer.footer .grid-child {
  text-align: center;
}
.fa-beat {
  animation: fa-beat 2s ease infinite;
  /*color: #e9322c;*/
  margin: 0 2px;
}
@keyframes fa-beat {
  0%{transform: scale(1);}
  50%{transform:scale(1.2);}
}



/* pour mettre le module en 100vw alors qu'il est dans un container */
/* https://css-tricks.com/full-width-containers-limited-width-parents */
/* only drawback : if vertical scrollbar then 100vh goes behind scroolbar so an horizontal scrollbar comes */
/* workaround : add body {overflow-x: hidden;} */
/* not on small screen otherwise kind of scrollbar appears */
@media screen and (min-width: 992px) {
	body {overflow-x: hidden;}
}
.byvie-fullwidth {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  min-height: 300px; /* for smartphone view */
}

[class^="byvie-banner"], .vanessa-over {
  margin-top: -1em; /* to compensate for .container-component>*+*: 1em; */
}
.byvie-banner p, .byvie-twoblocks p, .byvie-mixed-one p, .byvie-mixed-two p {
  margin-bottom: 0rem;
}

.byvie-banner img {
  object-fit: cover;
  height: calc(50vh - 120px - 1em); /* 120px is the header, 1em is the top-margin for first thing, cfr .container-component>*+**/
}




/*
main ul {
  list-style: none;
  margin-top: 30px;
  margin-bottom: 30px;
}
main ul li {
  display: flex;
  align-items: center;
}
main ul li::before {
  content: '';
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--website-color-1);
  opacity:0.7;
  border: 2px solid var(--website-color-2-bis);
  display: block;
  margin-right: 1rem;
}*/
main ul {
  list-style: none; /* Remove default bullets */
}
main ul li::before {
  content: "\2022";  /* Add content: \2022 is the CSS Code/unicode for a bullet */
  color: var(--website-color-1);; /* Change the color */
  font-weight: bold; /* If you want it to be bold */
  display: inline-block; /* Needed to add space between the bullet and the text */
  width: 1em; /* Also needed for space (tweak if needed) */
  margin-left: -1em; /* Also needed for space (tweak if needed) */

  font-size: 2em;
  line-height: 0;
  vertical-align: middle;
}



/************* layout v2 *************/

.vanessa-text, .vanessa-banner-text, .vanessa-appointment, .vanessa-org, .vanessa-over {
  margin-bottom: 100px;
}
.vanessa-gallery, .vanessa-2blocks {
  margin-bottom: calc(100px + 1rem); /* car après un paragraphe normal il y a un 1rem. Comme ça on uniformise*/
}
.small-bottom-margin {
  margin-bottom: 1rem;
}

.vanessa-2blocks h2, .vanessa-banner-text h2 {
  color: initial;
  margin-bottom: 1em;
  font-weight: 400;
}
.vanessa-2blocks .dark h2, .vanessa-banner-text .dark h2,
.vanessa-2blocks .dark p {
  color: white;
}
.vanessa-2blocks .col-12.dark > div {
  background: rgba(0,0,0,0.8)
}


.vanessa-2blocks .col-12 {
  aspect-ratio: 1;
  padding: 0;
  background: var(--website-color-2);
}
.vanessa-2blocks .col-12 {
  display: grid;
  grid-template-areas: "hero";
  place-items: center;
}
.vanessa-2blocks .col-12 > * {
  grid-area: hero;
  margin: 0;
}
.vanessa-2blocks .col-12 img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vanessa-2blocks .col-12 > div {
  width: 95%; /* était 84% mais sur smartphone casse un peu le layout si texte long */
  height: 95%; /* était 84% mais sur smartphone casse un peu le layout si texte long */
  background: rgba(255, 255, 255, 0.75);
  padding: 10px;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1200px) {
  .vanessa-2blocks .col-12 > div {
    width: 66%;
    height: 66%;
  }
}
.vanessa-2blocks .col-12 > div :nth-last-child(2) {
  flex: 1;
}


.vanessa-gallery .col-6 {
  aspect-ratio: 1;
  padding: 0;
  background: var(--website-color-2);
}
.vanessa-gallery .col-6 {
  display: grid;
  grid-template-areas: "hero";
  place-items: center;
}
.vanessa-gallery .col-6 > * {
  grid-area: hero;
  margin: 0;
}
.vanessa-gallery .col-6 img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vanessa-gallery .col-6 > div {
  width: 85%;
  height: 85%;
  background: rgba(255, 255, 255, 0.75);
  padding: 30px;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1200px) {
  .vanessa-gallery .col-6 > div {
    width: 66%;
    height: 66%;
  }
}



[class^="vanessa-banner"] {
  margin-top: -1em; /* to compensate for .container-component>*+*: 1em; */
}
.vanessa-banner-image img {
    width: 100%;
    /* max-height: 500px;*/
    object-fit: cover;
    background-position: top center;
}
.vanessa-banner-text {
  background: var(--website-color-2-bis); /* ici doit être plus foncé */
  padding: 50px;
  position: relative;
  margin-top: -200px;
}

/* adapted on 2029 09 12 in order to have circles instead of a grid - there was only a padding */
.vanessa-org > * {
  padding: 50px;
  aspect-ratio: 1 / 1;
  border-radius: 500px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.vanessa-org > *:nth-child(even) {
  /*background: var(--website-color-2);*/
  background: radial-gradient(var(--website-color-2) 65%, transparent 65%);

}
.vanessa-org > *:nth-child(odd) {
  /*box-shadow: inset 0 0 3px var(--website-color-1);*/
  background: radial-gradient(var(--website-color-1) 65%, transparent 65%);
}
.vanessa-org h3 {
  color: inherit;
  font-size: 1.4rem;
}

.vanessa-over {
  background: var(--website-color-2);
}

/* front-end edition - otherwise hidden for example by Banner Image on some pages */
.icons {
  z-index: 1;
  position: relative;
}
.icons a {
  color: initial;
}

/* otherwise with the default display:absolute; the Edit button for the Module in Position Main-Bottom is not visible (probably hidden behind the image) */
div.main-bottom .btn.jmodedit {
    display: contents;
}