* {
  box-sizing: border-box;
}

/*
----------------------------------------------------------------------------------------------------------------------
                                        formatting pages
----------------------------------------------------------------------------------------------------------------------
*/

/*----------------------------------      generality      ------------------------------------------------------------*/
.page {
  display: flex;
  flex-wrap: wrap;
  background: #f2fcf1;
}

body {
  font-size: 16px;
  color: #000;
  font-family: "roboto", serif;
  line-height: 1.4;
  margin: 0;
}

.main {
  width: 300px;
  background: no-repeat center 100%/ 100% 100% url(../img/planche_6.jpg);
  border-right: 2px solid #666;
  object-fit: cover;
}

header {
  font-size: 80px;
  margin: 0 0;
  font-weight: 700;
  width: 100%;
  text-align: center;
  font-family: "Parisienne", serif;
}

.contenu {
  display: flex;
  width: calc(100% - 300px);
  flex-wrap: wrap;
  align-items: center;
  min-height: 1100px;
}

.portrait {
  width: 200px;
  height: 200px;
  position: relative;
  float: right;
  top: 80px;
  right: 70px;
  background: no-repeat center center / cover url("../img/moi_2.jpg");
  border: 3px solid #ccc;
  border-radius: 50%;
}

.big_title {
  position: relative;
  top: 130px;
  font-size: 60px;
  padding-left: 70px;
  float: left;
  width: 100%;
  color: rgba(238, 251, 253, 0.9);
}

.big_title h1 {
  font-family: "Dancing Script", cursive;
  margin-bottom: 0px;
}

.big_title h2 {
  font-family: "Kalam";
  font-weight: 300;
  margin-top: 10px;
  font-size: 40px;
}

.text {
  margin: 20px 50px 20px;
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 30px;
  width: 100%;
  color: #000;
  background-color: #fff;
  text-decoration: none;
  text-align: justify;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  border-radius: 20px;
  line-height: 1.5em;
}

.text h2 {
  font-size: 1.3em;
  font-family: "kalam", sans-serif;
}

.text h3 {
  font-size: 1.2em;
  font-family: "kalam", sans-serif;
}
.text h5 {
  font-size: 1.07em;
  margin: 5px 5px;
}

.text h4 {
  font-weight: 600;
}

.tab {
  padding-left: 4em;
}

.transition_line {
  margin-top: 20px;
  height: 3px;
  border-radius: 3px;
  width: 80%;
  background-image: linear-gradient(
    to right,
    rgb(145, 197, 121),
    rgba(64, 160, 164, 0)
  );
}

.mention {
  list-style-type: none;
}

/*----------------------------------      Home page      ------------------------------------------------------------*/

.accueil_p {
  font-size: 22px;
  margin-bottom: 0;
}

.accueilservice a {
  font-family: "Kalam";
  text-decoration: none;
  color: black;
}

.accueilservice a :hover {
  transform-origin: center;
  transform: scale(1.1, 1.1);
}

.accueilservice a img {
  border-radius: 5%;
  box-shadow: 10px 5px 5px rgba(0, 0, 0, 0.6);
}
.accueilservice a img:hover {
  border-image: 5px;
  transform: scale(1.1);
}

.accueilservice {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  text-align: center;
  background: #fff;
  margin: 20px 50px 40px;
  color: #000;
  font-family: "roboto", serif;
  transition: transform 0.3s;
  border-radius: 20px;
}

.accueilservice img {
  object-fit: cover;
  margin: 20px 10px 0;
}

.accueil-title {
  font-family: "kalam";
}

/*----------------------------------      naturopathie page     ------------------------------------------------------------*/
.naturo-title {
  font-family: "kalam", sans-serif;
  font-size: 36px;
}

/*----------------------------------      consultation page     ------------------------------------------------------------*/
.consult-title {
  font-family: "kalam", sans-serif;
  font-size: 36px;
}

.prog_minceur {
  border-collapse: collapse;
  border: 3px;
  border-style: solid;
}

.prog_minceur h1 {
  text-align: center;
}

.prog_minceur td {
  width: 50%;
  padding-right: 20px;
  border: 2px #666 solid;
}

/*----------------------------------      Price page      ------------------------------------------------------------*/

.marge {
  margin-left: 5em;
}
.tarifs_table {
  border-collapse: collapse;
}

.service_column {
  width: 65%;
  text-align: left;
  padding: 5px 5px;
  font-size: 20px;
  font-weight: 500;
  border-bottom: thick double rgb(145, 197, 121);
}

.service_column_subtitle {
  width: 65%;
  text-align: left;
  padding: 5px 5px;
  font-size: 20px;
  font-weight: 500;
  border-bottom: 3px solid rgba(145, 197, 121, 0.4);
}

.service_column_subtitle h3 {
  font-size: 28px;
}

.service_column h2 {
  margin: 5px 5px;
  text-align: center;
  font-size: 36px;
  padding: 15px 15px;
}

.service_column h3 {
  font-size: 28px;
}

.price_column {
  width: 35%;
  text-decoration: none;
  text-align: center;
  padding: 5px 5px;
  font-size: 20px;
  font-weight: 500;
  border-bottom: 3px solid rgba(145, 197, 121, 0.4);
}

.price_column_title {
  width: 35%;
  text-decoration: none;
  text-align: center;
  padding: 5px 5px;
  font-size: 20px;
  font-weight: 500;
  border-bottom: thick double rgb(145, 197, 121);
}

.price_column h3 {
  margin: 5px 5px;
  font-size: 28px;
}

.last_price_column h3 {
  margin: 5px 5px;
  font-size: 28px;
}

.last_price_column {
  width: 35%;
  text-decoration: none;
  text-align: center;
  padding: 5px 5px;
  font-size: 20px;
  font-weight: 500;
  border-bottom: none;
}

.last_service_column {
  width: 65%;
  text-align: left;
  padding: 5px 5px;
  font-size: 20px;
  font-weight: 500;
  border-bottom: none;
}

.last_service_column h3 {
  font-size: 28px;
}

.last_service_column_subtitle {
  width: 65%;
  text-align: left;
  padding: 5px 5px;
  font-size: 20px;
  font-weight: 500;
  border-bottom: none;
}

.last_service_column h2 {
  margin: 5px 5px;
  text-align: center;
  font-size: 36px;
  padding: 15px 15px;
}

.span_text {
  font-size: 18px;
  font-weight: 500;
}

/*----------------------------------      event page     ------------------------------------------------------------*/
.calendrier {
  width: 80%;
  height: 600px;
  margin-left: 10%;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 10px 10px;
  border-radius: 15px;
  box-shadow: 10px 5px 5px #000;
}

.evenement-title {
  font-family: "kalam", sans-serif;
  font-size: 36px;
}

/*----------------------------------      Who I am page     ------------------------------------------------------------*/

.whoIam-title {
  font-family: "kalam", sans-serif;
  font-size: 36px;
}
.text .sitation {
  font-weight: 300;
  text-align: center;
  font-family: "parisienne";
  line-height: 2em;
  font-size: 50px;
}

/*----------------------------------      contact page     ------------------------------------------------------------*/

.contact-title {
  width: 60%;
  font-family: "kalam", sans-serif;
  font-size: 36px;
}

.contact_info {
  line-height: 2em;
}

.contact_info a {
  text-decoration: none;
  color: inherit;
}

.contact_info a:hover {
  text-decoration: underline;
}

.send {
  height: 25px;
  font-size: 20px;
  font-weight: bold;
  color: red;
}
.contact-text {
  position: relative;
  float: left;
  width: 100%;
  font-size: 20px;
  font-weight: 400;
  margin-top: 20px;
}

form.form {
  display: table;
}

div.form {
  display: table-row;
}

label,
input {
  display: table-cell;
  padding: 10px 10px;
  margin-bottom: 10px;
  width: 50%;
  border-radius: 5px;
  font-family: sans-serif;
  font-weight: 500;
  font-size: 16px;
}

label {
  padding-bottom: 0px;
  font-size: 18px;
  font-weight: 400;
  font-style: italic;
}

input,
textarea {
  border-radius: 5px;
  font-family: sans-serif;
  font-weight: 500;
  font-size: 16px;
  padding: 10px 10px;
  box-shadow: 4px 1px 1px rgb(156, 156, 156);
}
.textarea {
  width: 100%;
  height: 300px;
}

.submit-button {
  padding: 10px 10px;
  margin: 20px 20px;
  background-image: linear-gradient(
    to right,
    rgb(145, 197, 121),
    rgba(64, 160, 164, 0)
  );
  border-radius: 7px;
}

/*
----------------------------------------------------------------------------------------------------------------------
                                        formatting navigation
----------------------------------------------------------------------------------------------------------------------
*/

.logo {
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  width: 200px;
  height: 200px;
}

.sidebar {
  position: sticky;
  top: 20px;
  width: 100%;
  font-family: "Kalam";
}

nav ul {
  list-style-type: none;
  padding-left: 20px;
}

.sous {
  position: absolute;
  width: 100%;
  z-index: 1000;
}

nav > ul li:hover .sous {
  display: block;
  text-align: center;
}

.sous li {
  font-size: 26px;
  float: none;
  width: 100%;
  text-align: left;
}

.sous a {
  padding: 20px;
  border-bottom: none;
}

.sidebar a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-family: "Kalam";
  font-weight: 700;
  padding: 10px 10px;
  line-height: 3;
  text-transform: uppercase;
  transition: color 0.3s;
}

.deroulant {
  font-size: 40px;
}

.sidebar li {
  color: rgba(255, 255, 255, 0.5);
  transition: color 0.3s;
}

.sidebar a:hover,
.sidebar li:hover,
.sidebar li.active,
.sidebar a.active {
  color: #fff;
  transform-origin: center;
  transform: scale(1.1, 1.1);
}

/*
----------------------------------------------------------------------------------------------------------------------
                                        formatting footer
----------------------------------------------------------------------------------------------------------------------
*/

footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 10px;
  height: 50px;
  background: rgb(145, 197, 121);
  color: #fff;
  font-family: "kalam", sans-serif;
  font-size: 20px;
  font-weight: 300;
  width: 100%;
}

footer a {
  padding: 0 10px;
  text-decoration: none;
  color: #fff;
}

footer :hover {
  text-decoration: underline;
  color: #fff;
}

/*
----------------------------------------------------------------------------------------------------------------------
                                        formatting images
----------------------------------------------------------------------------------------------------------------------
*/

.imgaccueil {
  margin: 0;
  width: 100%;
  height: 430px;
  background: no-repeat center top / cover url("../img/img_accueil.jpg");
}

.logo img {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0px;
  width: 100%;
}

.image_text {
  float: right;
  margin: 10px 0 10px 30px;
  border-radius: 10px;
  box-shadow: 5px 2px 2px rgba(3, 3, 3, 0.6);
}

.img_contact {
  position: relative;
  float: right;
  margin: 20px;
  object-fit: cover;
}
.img_contact img {
  width: 200px;
  border-radius: 10px;
  box-shadow: 10px 5px 5px rgba(0, 0, 0, 0.6);
}
.massage {
  float: right;
  margin: 0px 30px 30px 30px;
}

.carte {
  display: flex;
  justify-content: space-around;
  margin: 20px;
}
.iframe {
  border-radius: 30px;
  box-shadow: 10px 5px 5px rgba(0, 0, 0, 0.6);
}

.img_consult {
  float: right;
  margin-top: -40px;
  margin-left: 30px;
  margin-bottom: 20px;
  border-radius: 10px;
  box-shadow: 5px 2px 2px rgba(3, 3, 3, 0.6);
  width: 220px;
  height: 180px;
  object-fit: cover;
}

.poignee {
  float: right;
  margin: 10px 0 10px 30px;
  border-radius: 10px;
}

.img_whoiam {
  float: left;
  margin-top: 40px;
  margin-right: 30px;
  margin-bottom: 20px;
  border-radius: 10px;
  box-shadow: 5px 2px 2px rgba(3, 3, 3, 0.6);
  width: 220px;
  height: 180px;
  object-fit: cover;
}

.img_whoiam_right {
  float: right;
  margin-top: 40px;
  margin-left: 30px;
  margin-bottom: 20px;
  border-radius: 10px;
  box-shadow: 5px 2px 2px rgba(3, 3, 3, 0.6);
  width: 220px;
  height: 180px;
  object-fit: cover;
}
.img_even {
  float: right;
  margin-left: 30px;
  border-radius: 10px;
  width: 220px;
  height: 180px;
  object-fit: contain;
}

/*
----------------------------------------------------------------------------------------------------------------------
                                        Responsive
----------------------------------------------------------------------------------------------------------------------
*/

@media screen and (max-width: 1100px) {
  .main {
    width: 200px;
    border-right: none;
  }
  .contenu {
    display: flex;
    width: calc(100% - 200px);
  }

  header {
    font-size: 40px;
    margin: 0 0;
  }

  .text {
    font-size: 14px;
    margin: 20px;
    padding: 20px;
  }

  .accueil_p {
    font-size: 16px;
  }

  .text h1 {
    font-size: 22px;
    line-height: 1.1em;
  }

  .text h3 {
    line-height: 1.1em;
  }

  .image_text {
    float: right;
    margin: 10px 0 10px 10px;
    border-radius: 10px;
    box-shadow: 5px 2px 2px rgba(3, 3, 3, 0.6);
    width: 180px;
    height: 120px;
  }

  .sidebar {
    position: static;
  }

  nav ul {
    padding-left: 10px;
  }

  .sous li {
    font-size: 16px;
  }
  .sous {
    width: 180px;
  }
  .sous a {
    padding: 0px;
  }

  .sidebar a {
    padding: 10px 10px;
    line-height: 3;
  }

  .deroulant {
    font-size: 24px;
  }

  .logo {
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    width: 120px;
    height: 120px;
  }

  .imgaccueil {
    height: 215px;
  }

  .big_title {
    position: relative;
    top: 0;
    font-size: 30px;
    padding-left: 20px;
    float: left;
    width: 100%;
  }

  .big_title h2 {
    font-size: 22px;
  }

  .accueilservice img {
    object-fit: cover;
    width: 120px;
    height: 100px;
  }

  .accueilservice {
    font-size: 14px;
  }

  .portrait {
    position: relative;
    float: right;
    top: 50px;
    right: 20px;
    width: 150px;
    height: 150px;
  }

  .tarifs_table {
    margin: 20px 0px;
  }

  .tarifs_table td {
    font-size: 16px;
  }

  .tarifs_table h2 {
    font-size: 24px;
  }

  .tarifs_table h3 {
    font-size: 20px;
  }
  .tarifs_table p {
    font-size: 16px;
  }

  .span_text {
    font-size: inherit;
  }

  .img_consult {
    margin-top: 0px;
    width: 180px;
    height: 150px;
  }
  .poignee {
    width: 150px;
    height: 150px;
  }

  .calendrier {
    width: 100%;
    height: 400px;
    margin: 0 0;
  }

  .img_even {
    margin-left: 10px;
    width: 180px;
    height: 150px;
  }

  .img_whoiam {
    width: 180px;
    height: 150px;
  }
  .img_whoiam_right {
    width: 180px;
    height: 150px;
  }

  .text .sitation {
    font-size: 32px;
  }

  label,
  input {
    width: 80%;
  }

  footer {
    font-size: 16px;
    align-items: center;
    flex-wrap: wrap;
    height: 80px;
  }
}

@media screen and (max-width: 690px) {
  .main {
    position: fixed;
    width: 100%;
    height: auto;
    z-index: 100;
  }

  .fake {
    display: block;
    width: 100%;
    height: 82px;
  }

  .contenu {
    align-items: start;
    width: 100%;
  }

  .text {
    font-size: 10px;
    padding: 15px;
    margin: 10px;
    line-height: 2em;
  }

  .accueil_p {
    font-size: 12px;
  }

  .text h1 {
    line-height: 1.1em;
  }

  .text h2 {
    font-size: 18px;
  }

  .text h4 {
    font-size: 12px;
  }

  .face_logo {
    width: 12px;
    height: auto;
  }

  .image_text {
    width: 100px;
    height: 80px;
  }

  .accueilservice {
    margin: 20px 10px;
  }

  .logo {
    float: right;
    margin-top: 10px;
    margin-right: 20px;
    width: 60px;
    height: 60px;
  }

  .imgaccueil {
    object-fit: cover;
    height: 200px;
  }

  .accueilservice {
    font-size: 12px;
  }

  .poignee {
    width: 100px;
    height: 100px;
    margin-left: 10px;
  }

  .img_consult {
    width: 100px;
    height: 80px;
  }

  .img_even {
    width: 100px;
    height: 80px;
  }

  .img_whoiam {
    width: 100px;
    height: 80px;
    margin-top: 20px;
    margin-bottom: 0;
    margin-left: 0;
  }
  .img_whoiam_right {
    width: 100px;
    height: 80px;
    margin-top: 20px;
    margin-left: 10px;
    margin-bottom: 0;
  }
  .ul_whoiam {
    padding-left: 20px;
  }

  .img_contact img {
    width: 60px;
    height: 80px;
  }

  .img_contact {
    padding-top: 20px;
    margin: 0;
    margin-left: 5px;
  }

  .contact_info ul {
    padding: 15px;
  }

  .sidebar {
    display: block;
    width: 100%;
    margin: 0 10%;
    transition: all 0.5s;
  }

  .sidebar ul {
    margin-top: 5px;
    margin-bottom: 5px;
  }

  .sidebar:hover {
    height: 450px;
  }

  .sous {
    display: none;
    width: 100%;
  }

  nav ul {
    list-style-type: none;
    padding-left: 20px;
  }

  .big_title {
    padding: 0 0 0 30px;
    position: relative;
    width: 100%;
    transform-origin: left top;
  }
  .big_title h1 {
    font-size: 30px;
  }
  .big_title h2 {
    font-size: 20px;
  }
  .portrait {
    width: 100px;
    height: 100px;
  }

  .text .sitation {
    font-size: 22px;
  }

  .contact-text {
    font-size: 14px;
  }

  label,
  input {
    width: 100%;
    font-size: 12px;
  }

  .textarea {
    font-size: 12px;
  }

  .tarifs_table {
    margin: 20px 0px;
  }

  .tarifs_table td {
    font-size: 12px;
  }

  .tarifs_table h2 {
    font-size: 22px;
  }

  .tarifs_table h3 {
    font-size: 18px;
  }
  .tarifs_table p {
    font-size: 12px;
  }

  .span_text {
    font-size: inherit;
  }

  .tel {
    width: 100%;
  }

  footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 10px;
    font-size: 14px;
    font-weight: 300;
    width: 100%;
  }
}
