/*
 Theme Name:     Invest A2
 Theme URI:      https://cestnous.fr
 Description:    Child Theme
 Author:         C'est Nous
 Author URI:     https://cestnous.fr
 Template:       Divi
 Version:        1.0.0
*/


/* GENERAL */

:root {
  --font: "Urbanist", sans-serif;

  --x-small: 12px;
  --small: 14px;

  --size-body: 16px;
  --size-title-h1: 45px;
  --size-title-h3: 35px;
  --size-title-h4: 20px;

  --regular: 400;
  --medium: 500;
  --bold: 700;

  --transition: all ease-in-out 500ms;

  --blue: #001529;
  --accent: #84DCC6;
  --accent-light: #E6F8F4;
}

@media (max-width: 980px) {
  :root {
    --size-title-h1: 35px;
    --size-title-h2: 40px;
    --size-title-h3: 25px;
    --size-title-h4: 20px;
  }
}

body {
  font-family: var(--font);
  font-weight: var(--regular);
  font-size: var(--size-body);
  color: var(--blue);
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  padding: 0;
  font-weight: var(--regular);
  line-height: 1.2em;
  margin-bottom: 30px;
}

h1, h2 {
  font-size: var(--size-title-h1) !important;
}

h2 {
  font-weight: 700;
}

h3, h4 {
  font-weight: 700;
  font-size: var(--size-title-h3) !important;
}

h4 {
  font-weight: 700;
  font-size: var(--size-title-h4) !important;
  margin-bottom: 0px;
}

h5 {
  font-size: var(--size-title-h4) !important;
}

p {
  margin-top: 0;
  margin-bottom: 0px;
  padding: 0;
  line-height: 1.6;
}

a {
  transition: var(--transition);
}

.dark_bg h1, .dark_bg h2 {
  color: white;
}

h2 span {
  color: var(--accent);
}

.accent {
  color: var(--accent);
}

.container {
  width: 95%;
  max-width: 1450px;
  margin: auto;
}

.et_pb_section {
  background: transparent;
}

.container-fluid {
  width: 100% !important;
  max-width: 100%;
}

.dflex {
  display: flex;
  flex-wrap: wrap;
}

.vertical_center {
  align-items: center;
}

.vertical_bottom {
  align-items: flex-end;
}

.justify_bet {
  justify-content: space-between;
}

.et_pb_button_module_wrapper {
  display: inline-flex;
}

body.et_pb_button_helper_class .et_pb_button, body.et_pb_button_helper_class .et_pb_module.et_pb_button, .btn_prim, .wpcf7 input[type="submit"] {
  background: var(--accent);
  color: white;
  border-radius: 5px;
  padding: 15px 20px 15px 30px !important;
  line-height: normal !important;
  display: inline-flex;
  align-items: center;
  gap: 15px;
  font-size: var(--size-body);
  font-weight: var(--regular);
}

.et_pb_bg_layout_light.et_pb_button:hover, .et_pb_bg_layout_light .et_pb_button:hover, .btn_prim:hover {
  background-color: white;
  color: var(--accent);  
  padding: 15px 20px 15px 30px !important;
}

body.et_pb_button_helper_class .et_pb_button.btn_second {
  background: transparent;
  color: var(--accent);
  padding: 15px 30px !important;
  border: solid 1px var(--accent) !important;
}

body.et_pb_button_helper_class .et_pb_button.btn_white {
  background: white;
  color: var(--accent);
}

.et_pb_button_module_wrapper + .et_pb_button_module_wrapper {
  margin-left: 15px;
}

body.et_pb_button_helper_class .et_pb_button:not(.btn_second):after, .btn_prim:after {
  content: '\e941' !important;
  font-family: "Material Symbols Outlined" !important;
  display: block !important;
  position: relative;
  opacity: 1;
  margin: initial;
  font-size: var(--size-title-h4);
}

@media (max-width: 980px) {
  .container, .et_pb_row {
    width: 95% !important;
  }

  .btn_right {
    float: left;
  }
}

/* HEAD */

.mainHeader {
  position: sticky;
  width: 100%;
  top: 0;
  z-index: 10;
  background: var(--blue);
  transition: all ease-in-out 0.5s;
  border-bottom: solid 1px rgba(255, 255, 255, 0.2);
}

.menu_head {
  justify-content: space-between;
  padding: 30px 0;
}

.menu_left, .menu_right, #menu {
  gap: 50px;
  width: 100%;
}

.logo {
  display: flex;
  flex-wrap: nowrap;
  gap: 25px;
}

.logo a > img {
  max-width: 150px;
  width: 150px;
}

header .menu-item a {
  color: white;
}

header .menu-item a:hover {
  text-decoration: underline;
  text-underline-position: under;
  text-decoration-color: var(--accent);
  text-decoration-style: solid;
  text-decoration-thickness: 1px;
  color: var(--accent);
}

.nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 50px;
  width: 100%;
}

.logo {
  max-width: 150px;
}

.nav-container .menu-items {
  display: flex;
}

.nav-container .checkbox {
  position: absolute;
  display: block;
  height: 32px;
  width: 32px;
  top: 25px;
  right: 4px;
  z-index: 5;
  opacity: 0;
  cursor: pointer;
}

.nav-container .hamburger-lines {
  display: block;
  height: 20px;
  width: 25px;
  position: absolute;
  top: 35px;
  right: 10px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.nav-container .hamburger-lines .line {
  display: block;
  height: 2px;
  width: 100%;
  background: var(--accent);
}

.nav-container .hamburger-lines .line1 {
  transform-origin: 0% 0%;
  transition: transform 0.4s ease-in-out;
}

.nav-container .hamburger-lines .line2 {
  transition: transform 0.2s ease-in-out;
}

.nav-container .hamburger-lines .line3 {
  transform-origin: 0% 100%;
  transition: transform 0.4s ease-in-out;
}

.nav-container .menu-items {
  height: 88vh;
  width: 100vw;
  transform: translate(-175%, 48vh);
  flex-direction: column;
  margin-left: 0px;
  padding: 50px;
  transition: transform 0.5s ease-in-out;
  text-align: center;
  background: var(--blue);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
}

.nav-container input[type="checkbox"]:checked ~ .menu-items {
  transform: translate(-3vw, 47vh);
}

.nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line1 {
  transform: rotate(45deg);
}

.nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line2 {
  transform: scaleY(0);
}

.nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line3 {
  transform: rotate(-45deg);
}

.nav-container input[type="checkbox"]:checked ~ .logo{
  display: none;
}

.btn_head a {
  background: var(--accent);
  padding: 15px 20px !important;
  font-size: var(--small);
  text-transform: uppercase;
  font-weight: var(--medium);
  border-radius: 10px;
}

@media (max-width: 980px) {
  #menu {
    flex-direction: column;
    gap: 25px;
  }

  .menu-item-has-children .sub-menu {
    display: block;
    opacity: 1;
    border-bottom: 0;
    font-size: var(--small);
  }

  header .menu-item {
    color: white;
    font-size: 25px;
    line-height: normal;
  }
}

/* HOME */ 

.herohp {
  background: var(--blue);
  color: white;
  min-height: 560px;
  align-content: center;
}

.herohp h1, .herohp h2 {
  color: white;
  width: 55%;
}

.herohp h2, .title_page h2 {
  font-size: 20px !important;
  margin-bottom: 60px;
  font-weight: 400;
}

.align_bottom {
  align-items: flex-end;
}

.card_serv img {
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 15px;
}

.card_serv {
  border-top: solid 2px;
  padding-top: 30px;
  border-image-slice: 1;
  border-image-source: linear-gradient(45deg, white, white);
  transition: all ease-in-out .5s;
}

.card_serv:hover {
  border-image-slice: 1;
  border-image-source: linear-gradient(45deg, var(--accent), var(--accent-light));
}

.dark_bg {
  background: var(--blue);
}

.dark_bg h3, .dark_bg p {
  color: white;
}

.light_bg {
  background: var(--accent-light);
}

.review_col {
  padding: 30px;
  border-radius: 15px;
}

.post_review p.author {
  margin-top: 15px;
  color: var(--accent);
}

.material-symbols-outlined {
  font-size: 22px;
  vertical-align: middle;
}

#reviews_hp .owl-nav span.material-symbols-outlined {
  color: white;
}

.review_col .et_pb_code_inner, .review_col .et_pb_code, div#reviews_hp {
  height: 95%;
  display: flex;
  flex-direction: column;
}

#reviews_hp .owl-nav {
  margin-top: auto;
  margin-bottom: 0;
  text-align: right;
}

div#partner {
  max-width: 70%;
  margin: auto !important;
}

#partner img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  max-width: 150px;
  margin: auto;
}

#partner .et_pb_image_wrap {
  max-width: 150px;
  margin: auto;
}

.accent_bg {
  background: linear-gradient(90deg, transparent 50%, #E6F8F4 50%);
}

.value_col {
  display: flex;
  flex-wrap: wrap;
  column-gap: 100px;
  justify-content: center;
}

.value_col .et_pb_text:first-child {
  flex: 1 1 100%;
}

.value_col p:last-child {
  font-size: 20px;
  margin-top: 25px;
  margin-bottom: 0;
}

.coor_bloc {
  width: 60%;
  margin: auto auto -30px !important;
  background: white;
  padding: 30px 30px 60px;
  border-radius: 5px;
}

.coor_bloc p {
  display: flex;
  gap: 15px;
  margin: 15px 0;
}

.et_pb_button_alignment_center {
    display: flex;
    justify-content: center;
}

.et_pb_button_alignment_right {
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 980px) {
  .herohp h1, .herohp h2 {
    color: white;
    width: 100%;
  }

  .et_pb_button_module_wrapper + .et_pb_button_module_wrapper {
    margin-left: 0px;
  }

  .et_pb_button_module_wrapper, .et_pb_button {
    width: 100%;
    margin-bottom: 0px;
    justify-content: center;
  }

  div#partner {
    max-width: 100%;
  }

  .accent_bg {
    background: linear-gradient(180deg, transparent 55%, #E6F8F4 55%);
  }

  .coor_bloc {
    width: 100%;
  }
}

/* FOOTER */ 

#main-footer {
  background-color: var(--blue);
  color: white;
  padding: 30px 0px;
}

.dflex.menu_container {
  justify-content: space-between;
  align-items: center;
}

img.logo_footer {
  width: 150px;
}

img.logo_footer + p {
  font-size: 12px;
}

#main-footer a {
  color: white;
}

@media (max-width: 980px) {
  .dflex.menu_container {
    flex-direction: column-reverse;
    align-items: center;
    text-align: center;
    gap: 25px;
  }
}

/* PAGES */ 

.intro_av {
  width: 60%;
  text-align: center;
  margin: auto;
}

.intro_av p {
    font-size: 20px;
    text-align: center;
}

.intro_av p:last-child strong {
  color: var(--accent);
}

.about_team h3 {
  margin: 0;
  color: var(--accent);
}

.about_team img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 15px;
}

.quote p {
  display: flex;
  gap: 10px;
}

.quote p:before {
  content: url("data:image/svg+xml,%3Csvg width='25' height='26' viewBox='0 0 25 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_67_318' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='25' height='26'%3E%3Crect y='0.0332031' width='25' height='25' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_67_318)'%3E%3Cpath d='M2.68381 21.2624L6.30944 14.953C6.22041 15.0024 6.11645 15.037 5.99756 15.0568C5.87867 15.0766 5.75992 15.0865 5.64129 15.0865C4.07158 15.0865 2.73888 14.5342 1.64317 13.4295C0.547724 12.3248 0 10.9967 0 9.44524C0 7.87554 0.547724 6.54283 1.64317 5.44713C2.73888 4.35168 4.07158 3.80396 5.64129 3.80396C7.19272 3.80396 8.5208 4.35168 9.62551 5.44713C10.7302 6.54283 11.2826 7.87387 11.2826 9.44023C11.2826 9.98602 11.2168 10.4924 11.0853 10.9595C10.9536 11.4265 10.761 11.872 10.5075 12.2958L5.34407 21.2624H2.68381ZM16.4016 21.2624L20.0269 14.953C19.9378 15.0024 19.8339 15.037 19.715 15.0568C19.5964 15.0766 19.4776 15.0865 19.3587 15.0865C17.789 15.0865 16.4564 14.5342 15.361 13.4295C14.2653 12.3248 13.7174 10.9967 13.7174 9.44524C13.7174 7.86576 14.2653 6.53061 15.361 5.43979C16.4564 4.34923 17.789 3.80396 19.3587 3.80396C20.9101 3.80396 22.2382 4.35168 23.3429 5.44713C24.4476 6.54283 25 7.87387 25 9.44023C25 9.98602 24.9342 10.4924 24.8028 10.9595C24.671 11.4265 24.4785 11.872 24.2253 12.2958L19.0619 21.2624H16.4016Z' fill='%2384DCC6'/%3E%3C/g%3E%3C/svg%3E%0A");
  position: relative;
}

.icon_row .et_pb_image_wrap {
    width: 100px;
    margin: auto;
}

.icon_row {
    max-width: 80% !important;
}

@media (max-width: 980px) {
  .intro_av {
    width: 100%;
  }

  .icon_row {
    max-width: 80% !important;
  }
}

.serv_bloc .et_pb_column {
  background: var(--accent-light);
  padding: 25px;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
}

.serv_bloc .et_pb_column:nth-child(2) {
  background: var(--blue);
  color: white;
}

.serv_bloc .et_pb_column:nth-child(2) h3 {
  color: white;
}

.serv_bloc .et_pb_button_module_wrapper, .serv_bloc .et_pb_button {
  width: 100%;
  justify-content: center;
  margin-top: auto;
}

.cta_bloc {
  background: var(--accent);
}

/* ANNONCES */

.list_view {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.annonce_detail {
  flex: 1 1 calc(100% / 3 - 20px);
  max-width: calc(100% / 3 - 20px);
  background: var(--accent-light);
  padding: 25px;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.annonce_detail h3 {
    margin: 0;
}

.info.dflex {
  gap: 20px;
  font-size: var(--size-title-h4);
  font-weight: var(--bold);
}

.annonce_detail .et_pb_button {
  justify-content: center;
}

.annonce_detail img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

@media (max-width: 980px) {
  .annonce_detail {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

input.text, input.title, input[type=email], input[type=password], input[type=tel], input[type=text], select, textarea {
  background-color: #fff;
  border: 1px solid #f2f2f2;
  padding: 10px;
  color: black;
  width: 100%;
  border-radius: 5px;
  margin-bottom: 10px !important;
}

.wpcf7 input[type="submit"] {
  border: none;
  width: 100%;
}