html {
  font-family: 'Inter', sans-serif;
  font-size: calc(11px + 1.2vh);
}

@supports (font-variation-settings: normal) {
  html { font-family: 'Inter var', sans-serif; }
}

body {
  background-color: #ffffff;
  background-image: url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23818181' fill-opacity='0.04' fill-rule='evenodd'%3E%3Cpath d='M5 0h1L0 6V5zM6 5v1H5z'/%3E%3C/g%3E%3C/svg%3E");

  /* background: rgb(255,255,255); */
  /* background: -moz-linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(23,39,65,0.2) 100%); */
  /* background: -webkit-linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(23,39,65,0.2) 100%); */
  /* background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(23,39,65,0.2) 100%); */
  /* filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#172741",GradientType=1); */

  display: flex;
  flex-direction: column;
  align-items: center;
}

body > * {
  flex-shrink: 0;
}

.rest-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 10vh;
}

.row {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

/* Navigation */

header {
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: white;
  /* position:fixed; */
  z-index: 1;
  -webkit-backface-visibility: hidden;
}

.menu-bar {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-top: 2%;
}

.mobile-menu-visible {
  font-size: calc(11px + 1.2vh);
  display: flex;
  flex-direction: column;
  align-items: left;
  justify-content: center;
}

.mobile-nav-visible {
  align-items: flex-start;
  justify-content: space-between;
}

.nav-logo {
  width: 120px;
}

#desktop-logo {
  display: none;
  visibility: hidden;
}

.hide {
  display: none;
}

nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-right: 2%;
  margin-left: 2%;
  padding-top: calc(4px + 1vh);
  padding-bottom: calc(4px + 1vh);
  border-bottom: 1px dashed rgb(0,0,0,0.2);
}

a {
  color: #0eac50;
  text-decoration: none;
  padding-bottom: 2px;
  font-weight: 500;
  background-color: transparent;
  cursor: pointer;
}

nav a {
  color: black;
  text-decoration: none;
  /* border-bottom: 1px solid #0eac50; */
  padding-bottom: 2px;
  font-weight: 500;
  background-color: transparent;
  cursor: pointer;
}

.no-underline {
  border-bottom: none;
}

nav ul {
  display: none;
}

nav li {
  padding-bottom: 25px;
}

nav i {
  color: black;
  font-size: calc(11px + 1vh);
}

.tel-button {
  display: none;
}

/* Hero */

.main-container {
  display: flex;
}

.landing-modal {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-top: 3vh;
  padding-bottom: 3vh;
  padding-left: 3vh;
  padding-right: 3vh;
  background-color: rgba(14, 172, 80, .08);
  margin: 0;
}

.landing-modal h1 {
  font-size: calc(11px + 1vw);
  font-weight: 500;
  text-align: center;
  margin-top: 2vh;
  margin-bottom: 2vh;
  /* margin: 0; */
}

.landing-modal p {
  text-align: justify;
  font-size: calc(11px + 0.6vw);
}

.landing-modal button {
  font-size: calc(11px + 0.6vh);
  color: black;
  border: 2px solid #494949 !important;
  border-radius: 4px;
  /* border: none; */
  /* border-bottom: 2px solid black; */
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  transition: all 0.4s ease 0s;
  outline: none;
  background-color: white;
  margin-top: 2vh;
	padding: 1vh 1vh 1vh 1vh;
  min-width: 180px;
  cursor: pointer;
}

.landing-intro {
  padding-top: 2%;
  padding-bottom: 2%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.landing-intro h1 {
  font-size: calc(11px + 0.8vw);
  font-weight: 500;
  text-align: center;
  /* padding-top: 3vh; */
}

.landing-intro div, h1 {
  margin-top: 5%;
  margin-bottom: 4%;
}

.landing-intro p {
  text-align: center;
  font-size: calc(11px + 1.2vw);
}

@keyframes fadeIn {
  from { opacity: 0; }
}

@-webkit-keyframes fadeIn {
  from { opacity: 0; }
}

@-moz-keyframes fadeIn {
  from { opacity: 0; }
}

@-ms-keyframes fadeIn {
  from { opacity: 0; }
}

@-o-keyframes fadeIn {
  from { opacity: 0; }
}

.tagline {
  font-weight: 900;
  font-size: calc(11px + 6.5vw);
  text-align: center;
  line-height: 150%;
}

.tagline span {
  background-color: #0eac50;
  -webkit-animation: fadeIn ease 1s;
  -moz-animation: fadeIn ease 1s;
  -ms-animation: fadeIn ease 1s;
  -o-animation: fadeIn ease 1s;
  animation: fadeIn ease 1s;
}

.hero-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-top: calc(30px + 2vh);
}

.modal-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  z-index: 999;
}

.mobile-phone {
  text-decoration: none;
  margin-top: 3%;
}

button {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;

  font-size: calc(11px + 1.5vh);
  color: black;
  border: 2px solid #494949 !important;
  border-radius: 4px;
  /* border: none; */
  /* border-bottom: 2px solid black; */
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  transition: all 0.4s ease 0s;
  outline: none;
  background-color: white;
  padding: 1vh 1vh 1vh 1vh;
  min-width: 180px;
  /* -webkit-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.3); */
  /* -moz-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.3); */
  /* box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.3); */
  cursor: pointer;
}

button:hover {
  color: #0eac50;
}

.prendre-rdv-btn {
  background-color: rgba(14, 172, 80, 0.8);
  color: white;
}

button.prendre-rdv-btn:hover {
  color: white;
  background-color: rgba(14, 172, 80, 1);
}

.decouvrez-services {
  display: none;
  visibility: hidden;
}

.horaire-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: calc(12px + 1vh);
  margin-bottom: calc(12px + 1vh);
  width: 95%;
}

.horaire {
  background-color: #172741;
  color: white;
  width: 100%;
  /* border-bottom: 2px solid #0eac50; */
  padding: 2vw 2vw 2vw 2vw;
}

.horaire span {
  font-size: calc(14px + 1.2vh);
  font-weight: 700;
  border-bottom: 3px solid #0eac50;
}

.horaire ul {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: calc(8px + 1vh);
  margin-bottom: calc(8px + 1vh);
}

.timetable-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 500px;
  justify-content: center;
  -webkit-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.3);
  -moz-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.3);
  box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.3);
}

.temps-attente {
  color: white;
  background-color: #0070DB;
  width: 100%;
  padding-left: 2vw;
  padding-right: 2vw;
  padding-top: 2vw;
}

.temps-attente span {
  margin-top: calc(8px + 1vh);
  font-size: calc(14px + 1.2vh);
  font-weight: 700;
  border-bottom: 3px solid #0eac50;
}

.temps-attente p {
  margin-top: calc(8px + 1vh);
  margin-bottom: calc(8px + 1vh);
}

.prendre-rdv {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: calc(20px + 1vh);
  color: black;
  padding-left: 2vw;
  padding-right: 2vw;
  padding-top: 2vw;
}

.prendre-rdv p {
  font-family: 'Roboto', sans-serif;
}

.section-title {
  font-size: calc(26px + 1.2vh);
  font-weight: 700;
  border-bottom: 3px solid #0eac50;
}

.subsection-title {
  font-size: calc(14px + 1.2vh);
  font-weight: 700;
  border-bottom: 3px solid #0eac50;
}

.prendre-rdv p {
  margin-top: calc(8px + 1vh);
}

p {
  line-height: calc(22px + 1vh);
  text-align: left;
}

.services-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  margin-top: calc(12px + 1vh);
  margin-bottom: calc(12px + 1vh);
  width: 95%;
  max-width: 700px;
}

.services {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-flow: wrap;
  margin-top: calc(12px + 1vh);
  margin-bottom: calc(12px + 1vh);
  width: 100%;
}

.service {
  /* -webkit-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.3); */
  /* -moz-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.3); */
  /* box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.3); */
  /* border: 2px solid dimgray; */
  /* border-bottom: 2px solid dimgray; */
  /* border-radius: 4px; */
  margin-top: calc(20px + 1vh);
  padding-left: 2vw;
  padding-right: 2vw;
  padding-top: 2vw;
  padding-bottom: 2vw;
  width: 100%;
  /* height: calc(400px + 1vh); */
  max-width: 400px;
  /* background-color: #172741; */
  /* color: white; */
  /* background-color: white; */
  /* background-color: lightgray; */
  background-color: rgba(23, 39, 65, 0.1);
  color: black;
}

.service-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  /* padding-bottom: 10px; */
  /* border-bottom: 3px solid #0eac50; */
  /* background-color: #172741; */
}

.service p {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: calc(11px + 0.6vh);
}

.service-rdv {
  /* background-color: rgba(14, 172, 80, 0.1); */
  /* border: 3px solid black; */
  text-align: center;
}

.service-no-rdv {
  /* border: 3px solid black; */
  text-align: center;
}

.exam-title {
  font-size: calc(12px + 1.2vh);
  font-weight: 700;
  /* max-width: 200px; */
  /* color: white; */
  color: black;
}

.exam-title a {
  font-size: calc(12px + 1.2vh);
  font-weight: 700;
  color: white;
  cursor: pointer;
}

.exam-no-rdv {
  background-color: #0eac50;
  color: white;
  font-weight: 500;
  padding-left: calc(1px + 1vw);
  padding-right: calc(1px + 1vw);
  padding-top: calc(1px + 1vw);
  padding-bottom: calc(1px + 1vw);
  width: 100%;
  text-align: center;
  margin-top: 10px;
}

.exam-rdv {
  /* background-color: #ffc107; */
  background-color: #0070db;
  color: white;
  font-weight: 500;
  padding-left: calc(1px + 1vw);
  padding-right: calc(1px + 1vw);
  padding-top: calc(1px + 1vw);
  padding-bottom: calc(1px + 1vw);
  width: 100%;
  text-align: center;
  margin-top: 10px;
}

.exam-rdv-form {
  background-color: rgba(14, 172, 80, 0.8);
  color: white;
  font-weight: 500;
  padding-left: calc(1px + 1vw);
  padding-right: calc(1px + 1vw);
  padding-top: calc(1px + 1vw);
  padding-bottom: calc(1px + 1vw);
  width: 100%;
  text-align: center;
  margin-top: 10px;
}

.exam-button {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.contact-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  margin-top: calc(12px + 1vh);
  margin-bottom: calc(12px + 1vh);
  width: 95%;
}

.map-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(150px + 5vh);
  margin-top: calc(20px + 1vh);
}

.map-container iframe {
  width: 100%;
  height: 100%;

}

#map {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.contact-info-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: calc(12px + 1vh);
  margin-bottom: calc(12px + 1vh);
  width: 100%;
}

.contact-info-container p {
  margin-top: calc(12px + 1vh);
}

.contact-call-us {
  margin-top: calc(12px + 1vh);
}

footer {
  font-size: calc(11px + 0.6vh);
  color: white;
  background-color: #172741;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 10vh;
  padding-left: 2vw;
  padding-right: 2vw;
  padding-top: 2vw;
  padding-bottom: 2vw;
  max-width: 100vw;
  min-width: 100vw;
}

footer div {
  margin-top: 1vh;
  margin-bottom: 1vh;
}

.footer-services {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer-other {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer-contact {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer-contact p {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer-services a {
  color: white;
}

.footer-other a {
  color: white;
}

.footer-other ul {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer-services ul {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer-services li {
  margin-top: 5px;
  margin-bottom: 5px;
}

.footer-other li {
  margin-top: 5px;
  margin-bottom: 5px;
}

.section-intro {
  padding-top: 2%;
  padding-bottom: 2%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.section-intro div, h1, h2 {
  margin-top: calc(30px + 2vh);
}

.section-description {
  color: dimgray;
  font-size: calc(11px + 0.8vw);
  font-weight: 500;
  text-align: center;
  width: 75%;
}

.markdown-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: calc(12px + 1vh);
  margin-bottom: calc(12px + 1vh);
  width: 95%;
  max-width: 760px;
  font-size: calc(11px + 0.6vh);
}

.markdown-container p {
  margin-bottom: calc(20px + 1vh);
  line-height: calc(20px + 1vh);
  font-family: 'Roboto', sans-serif;
  width: 100%;
  /* text-align: left; */
  /* overflow-wrap: break-all; */
}

.markdown-container ul {
  list-style-type: circle;
  margin-left: calc(20px + 2vw);
  /* font-size: 1.2em; */
  font-family: 'Roboto', sans-serif;
  width: 100%;
}

.markdown-container ul > li {
  /*margin-top: 20px;*/
  margin-bottom: 20px;
}

.markdown-container h2 {
  width: 100%;
  font-weight: 500;
  font-size: calc(12px + 2vw);
  margin-top: calc(20px + 1vh);
  margin-bottom: calc(20px + 1vh);
  /* color: #0eac50; */
}

.service-title {
  color: black;
  text-decoration: none;
  padding-bottom: 2px;
  font-weight: 500;
  background-color: transparent;
  cursor: pointer;
}

.markdown-container h3 {
  width: 100%;
  font-weight: 500;
  font-size: calc(11px + 0.8vw);
  margin-top: calc(20px + 1vh);
  margin-bottom: calc(20px + 1vh);
  border-bottom: 2px solid #0eac50;
}

.faq-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  margin-top: calc(12px + 1vh);
  margin-bottom: calc(12px + 1vh);
  width: 95vw;
  max-width: 760px;
  font-size: calc(11px + 0.6vh);
  text-align: justify;
}

.faq-item {
  width: 100%;
  /* text-align: justify; */
}
.faq-item h3 {
  width: 100%;
  font-weight: 500;
  font-size: calc(11px + 2vw);
  margin-top: calc(20px + 1vh);
  margin-bottom: calc(20px + 1vh);
  border-bottom: 2px solid #0eac50;
}
.faq-item-question {
  cursor: pointer;
  width: 100%;
  /* font-size: calc(11px + 3vw); */
  font-weight: 700;
  /* text-align: left; */
}
.faq-item-closed {
  display: none;
}
.faq-item-opened {
  display: unset;
}
.faq-item p {
  background-color: white;
  margin-bottom: calc(20px + 1vh);
  line-height: calc(20px + 1vh);
  font-family: 'Roboto', sans-serif;
}

.centered-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.job-title {
  font-weight: 700;
  font-size: calc(11px + 0.8vw);
}

.content {
  width: 95%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 2vw 2vw 2vw 2vw;
  /* background-color: white; */
  /* margin-top: 2vh; */
  /* margin-bottom: 2vh; */
  margin-top: calc(20px + 1vh);
  /* border-bottom: 2px solid dimgray; */
  /* border-top: 2px solid dimgray; */
  /* background-color: rgba(14, 172, 80, 0.05); */
}

.content p {
  /* background-color: white; */
  /* padding-top: calc(20px + 1vh); */
  margin-bottom: calc(20px + 1vh);
  line-height: calc(20px + 1vh);
  font-family: 'Roboto', sans-serif;
}

.content p:last-of-type {
  margin-bottom: 0;
}

.content h2 {
  /* font-weight: 700; */
  /* font-size: calc(18px + 1vw); */
  width: 100%;
  font-weight: 500;
  font-size: calc(11px + 2vw);
  margin-top: calc(20px + 1vh);
  margin-bottom: calc(20px + 1vh);
  color: #0eac50;
}

.markdown-container table {
  width: 100%;
}

.markdown-container th {
  /* font-size: calc(11px + 1vw); */
  color: white;
  background-color: #0eac50;
}
.markdown-container table, th, td {
  /* border: 2px solid black; */
  border-bottom: 2px solid black;
  padding-left: 2vw;
}

/* Forms */
form {
font-weight: 500;
font-size: calc(11px + 1vw);
}

input {
padding: 10px;
margin: 10px 0;
border-radius: 4px;
width: 100%;
border-width: thin;
}

input:invalid {
  border: 1px solid red;
}

select {
background-color: white;
padding: 10px;
margin: 10px 0;
border-radius: 4px;
width: 100%;
border-width: thin;
}

select:invalid {
  border: 1px solid red;
}

.form {
padding: 10px;
border: 2px solid #eeee;
background: #f6f6f6;
box-shadow:0 0 8px 4px rgba(0,0,0,0.06);
width: 100%;
}

.form p {
margin: 0;
padding: 0;
}

/* container */
label {
  position: relative; /* to contain absolute elements */
  padding-left:30px; /* free space for custom checkbox */
  cursor: pointer;
  font-size: small;
}
/* hide default checkbox  */
label input[type=checkbox] {
  position: absolute; /* prevent taking any space */
  /* cross-browser hidingg */
  opactiy: 0;
  width:0;
  height:0;
}
/* custom checkbox */
label span {
  position: absolute;
  /* position to the free space in <label> */
  top:0;
  left:0;
  width:20px;
  height:20px;
  background-color: #ddd;
  transition: .3s background-color; /* slight transition */
}
/* the check icon */
label span:after {
  content: "";
  position: absolute;
  display: none;

  /* check icon */
  left: 6px;
  top: 2px;
  width: 4px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}

label:hover span {
  background-color: #ccc;
}

/**** Here's the trick ***/
label input:checked ~ span {
  background-color: #0eac50;
}

label input:checked ~ span:after {
  display:block;
}

input[type=submit] {
font-weight: bold;
font-size: large;
}

.form-submit-btn {
margin-top: 10px;
margin-bottom: 10px;
width: 100%;
}

.form-submit {
cursor: pointer;
background-color: white;
}

.form-submit-disabled {
cursor: auto;
background-color: gray;
}

.form-submit-disabled:hover {
  color: black;
}

.form-success {
width: 100%;
background-color: #98fb98;
margin-top: 10px;
padding: 4px;
box-shadow:0 0 8px 4px rgba(0,0,0,0.06);
border-radius: 4px;
font-weight: 500;
}

.form-error {
width: 100%;
background-color: #ff949e;
margin-top: 10px;
padding: 4px;
box-shadow:0 0 8px 4px rgba(0,0,0,0.06);
border-radius: 4px;
font-weight: 500;
}

.form-hidden {
display: none;
}

.no-padding {
padding: 0;
}
