.contact_page {
  display: flex;
  flex-wrap: wrap;
  padding: 95px 0 0;
}

.contact_page .contact_content {
  width: 45%;
  padding: 18px 0 0;
}

.contact_page .contact_content .heading {
  margin: 0 0 40px;
}

.contact_page .contact_content .contact_block {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0 0;
}

.contact_page .contact_content .contact_block.en {
  margin: 20px 0;
}

.contact_page .contact_content .contact_block .subheading {
  width: 100%;
  font-weight: 800;
  font-size: 12px;
  line-height: 110%;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #0B2766;
  margin: 0 0 15px;
}

.contact_page .contact_content .contact_block .contact_wrap {
  width: 100%;
  margin: 0 0 15px;
}

.contact_page .contact_content .contact_block .contact_wrap h3 {
  font-weight: bold;
  font-size: 16px;
  line-height: 170%;
  color: #5673B1;
  margin: 0 0 5px;
}

.contact_page .contact_content .contact_block .contact_wrap ul li {
  position: relative;
  padding: 0 0 10px;
}

.contact_page .contact_content .contact_block .contact_wrap ul li img {
  position: relative;
  top: 7px;
}

.contact_page .contact_content .contact_block .contact_wrap ul li a,
.contact_page .contact_content .contact_block .contact_wrap ul li span {
  font-size: 16px;
  line-height: 170%;
  color: #0B2766;
  display: inline-flex;
  padding: 0 0 0 10px;
}

.contact_page .contact_content .contact_block .contact_wrap ul li:last-child {
  padding: 0;
}

.contact_page .contact_content .contact_block:first-child {
  margin: 0 0 0;
}

.contact_page .contact_form {
  width: 55%;
  z-index: 10;
}

.contact_page .contact_form .contact_form_inner {
  border: 1px solid #E7EAF3;
  box-shadow: 0px 30px 54px rgba(31, 64, 150, 0.21);
  border-radius: 20px;
  position: relative;
  background: #fff;
  overflow: hidden;
}

.contact_page .contact_form .contact_form_inner form {
  padding: 54px 42px 70px;
}

.contact_page .contact_form .contact_form_inner form .loader {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background: #0000003d;
  z-index: 100;
  display: none;
}

.contact_page .contact_form .contact_form_inner form .loader img {
  width: 50px;
}

.contact_page .contact_form .contact_form_inner form .loader.active {
  display: flex;
}

.contact_page .contact_form .contact_form_inner form .form_control {
  display: flex;
  justify-content: space-between;
  margin: 0 0 20px;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block {
  width: calc(50% - 10px);
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block label {
  font-weight: 800;
  font-size: 14px;
  line-height: 17px;
  color: #5673B1;
  padding: 0 0 10px;
  display: inline-block;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block input,
.contact_page .contact_form .contact_form_inner form .form_control .form_block select {
  width: 100%;
  font-size: 17px;
  line-height: 20px;
  color: #0B2766;
  background: #F7F9FF;
  border-radius: 5px;
  border: 2px solid #F7F9FF;
  padding: 14px 12px;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block input:focus,
.contact_page .contact_form .contact_form_inner form .form_control .form_block select:focus {
  border: 2px solid #0B2766;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block input:focus-visible,
.contact_page .contact_form .contact_form_inner form .form_control .form_block select:focus-visible {
  outline: none;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block input.invalid,
.contact_page .contact_form .contact_form_inner form .form_control .form_block select.invalid {
  border: 2px solid red;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block input[type=number] {
  -webkit-appearance: none;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block .contacts_types_dropdown {
  position: relative;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block .contacts_types_dropdown .type_txt {
  background: #F7F9FF;
  border: 2px solid #F7F9FF;
  box-sizing: border-box;
  border-radius: 5px;
  font-size: 17px;
  line-height: 120%;
  color: #0B2766;
  padding: 12px 20px 12px 10px;
  width: 100%;
  min-height: 48px;
  position: relative;
  cursor: pointer;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block .contacts_types_dropdown .type_txt::before {
  content: "";
  position: absolute;
  width: 0px;
  height: 0px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #C5D0E8;
  right: 10px;
  top: 20px;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block .contacts_types_dropdown .type_txt.invalid {
  border: 2px solid red;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block .contacts_types_dropdown .dropdown_box {
  position: absolute;
  display: none;
  width: 100%;
  background: #f7f9ff;
  border-radius: 0 0 5px 5px;
  margin: -3px 0 0;
  z-index: 1;
  overflow: hidden;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block .contacts_types_dropdown .dropdown_box ul li {
  padding: 10px 10px;
  font-size: 17px;
  line-height: 120%;
  font-weight: normal;
  cursor: pointer;
  transition: all 0.5s ease-in-out;
  color: #0B2766;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block .contacts_types_dropdown .dropdown_box ul li:hover {
  background: #eff4fe;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_block .contacts_types_dropdown:hover .dropdown_box {
  display: block;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_wrap {
  width: 100%;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_wrap label {
  font-weight: 800;
  font-size: 14px;
  line-height: 17px;
  color: #5673B1;
  padding: 0 0 10px;
  display: inline-block;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_wrap textarea {
  width: 100%;
  font-size: 17px;
  line-height: 20px;
  color: #0B2766;
  background: #F7F9FF;
  border-radius: 5px;
  border: 2px solid #F7F9FF;
  padding: 14px 12px;
  resize: none;
  min-height: 118px;
  -webkit-appearance: none;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_wrap textarea:focus {
  border: 2px solid #0B2766;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_wrap textarea:focus-visible {
  outline: none;
}

.contact_page .contact_form .contact_form_inner form .form_control .form_wrap textarea.invalid {
  border: 2px solid red;
}

.contact_page .contact_form .contact_form_inner form .checkbox_wrap .checkbox_grid {
  padding: 0 0 12px;
}

.contact_page .contact_form .contact_form_inner form .checkbox_wrap .checkbox_grid label {
  display: flex;
  justify-content: space-between;
  cursor: pointer;
}

.contact_page .contact_form .contact_form_inner form .checkbox_wrap .checkbox_grid label input {
  display: none;
}

.contact_page .contact_form .contact_form_inner form .checkbox_wrap .checkbox_grid label input:checked + span {
  background: #FFF100;
  border: 2px solid #FFF100;
}

.contact_page .contact_form .contact_form_inner form .checkbox_wrap .checkbox_grid label input:checked + span:after {
  display: block;
}

.contact_page .contact_form .contact_form_inner form .checkbox_wrap .checkbox_grid label span {
  border: 2px solid #C5D0E8;
  border-radius: 3px;
  width: 24px;
  height: 24px;
  display: inline-block;
  position: relative;
  top: 5px;
}

.contact_page .contact_form .contact_form_inner form .checkbox_wrap .checkbox_grid label span:after {
  content: "";
  position: absolute;
  width: 13px;
  height: 6px;
  border-left: 2px solid;
  border-bottom: 2px solid;
  transform: rotate(-45deg);
  top: 3px;
  left: 3px;
  display: none;
}

.contact_page .contact_form .contact_form_inner form .checkbox_wrap .checkbox_grid label span.invalid {
  border: 2px solid red;
}

.contact_page .contact_form .contact_form_inner form .checkbox_wrap .checkbox_grid label p {
  font-size: 14px;
  line-height: 22px;
  color: #5673B1;
  width: calc(100% - 34px);
}

.contact_page .contact_form .contact_form_inner form .checkbox_wrap .checkbox_grid label p a {
  color: #5673B1;
}

.contact_page .contact_form .contact_form_inner form .btn_warp {
  padding: 20px 0 0;
}

.contact_page .contact_form .contact_form_inner form .success {
  display: none;
  color: green;
}

.contact_page .contact_form .contact_form_inner form .error {
  display: none;
  color: red;
}

.contact_page .contact_form .contact_form_inner form .recaptcha {
  display: none;
  color: red;
}

.contact_page .contact_form .contact_form_inner form .messages {
  display: block;
  position: absolute;
  bottom: 35px;
  text-align: center;
  width: 100%;
  left: 0;
  right: 0;
}

.form_column {
  width: 40%;
}

.form_column label {
  font-weight: 800;
  font-size: 14px;
  line-height: 17px;
  color: #5673B1;
  padding: 0 0 10px;
  display: inline-block;
}

.form_column input {
  width: 100%;
  font-size: 17px;
  line-height: 20px;
  color: #0B2766;
  background: #F7F9FF;
  border-radius: 5px;
  border: 2px solid #F7F9FF;
  padding: 14px 12px;
}

.form_select_item {
  width: 20% !important;
}

.form_control {
  gap: 20px;
}

.form_column_inner {
  width: 40%;
}

.form_column_inner label {
  font-weight: 800;
  font-size: 14px;
  line-height: 17px;
  color: #5673B1;
  padding: 0 0 10px;
  display: inline-block;
}

.form_column_inner input {
  width: 100%;
  font-size: 17px;
  line-height: 20px;
  color: #0B2766;
  background: #F7F9FF;
  border-radius: 5px;
  border: 2px solid #F7F9FF;
  padding: 14px 12px;
}

.contact_map {
  margin: -25px 0 0;
  height: 665px;
  /*height:300px;
  padding-top:150px;*/
}

.contact_map img {
  display: flex;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .contact_page {
    padding: 50px 0 0;
    max-width: 480px;
    margin: 0 auto;
    text-align: center;
  }

  .contact_page .contact_content {
    width: 100%;
    padding: 0;
  }

  .contact_page .contact_content .heading {
    margin: 0 0 30px;
  }

  .contact_page .contact_form {
    width: 100%;
    padding: 30px 0 0;
    text-align: left;
  }

  .contact_page .contact_form .contact_form_inner form {
    padding: 35px 20px 50px;
  }

  .contact_page .contact_form .contact_form_inner form .form_control {
    flex-wrap: wrap;
  }

  .contact_page .contact_form .contact_form_inner form .form_control .form_block {
    width: 100%;
  }

  .contact_page .contact_form .contact_form_inner form .form_control .form_block label {
    padding: 10px 0 10px;
  }

  .contact_page .contact_form .contact_form_inner form .messages {
    bottom: 20px;
    font-size: 12px;
  }

  .contact_page .form_block {
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .contact_page {
    padding: 50px 0 0;
  }

  .contact_page .contact_content {
    padding: 18px 20px 0 0;
  }

  .contact_page .contact_content .heading {
    margin: 0 0 20px;
  }

  .contact_page .contact_content .contact_block .subheading {
    font-size: 10px;
  }

  .contact_page .contact_content .contact_block .contact_wrap ul li img {
    top: 4px;
    width: 16px;
  }

  .contact_page .contact_form .contact_form_inner form {
    padding: 30px 30px 60px;
  }

  .contact_page .contact_form .contact_form_inner form .messages {
    bottom: 30px;
    font-size: 12px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .contact_map {
    height: 765px;
  }
}

@media (min-width: 1200px) and (max-width: 1366px) {
  .contact_map {
    height: 750px;
  }
}

.about_us_page .commitment_box h2 {
  max-width: 880px;
  margin: 0 auto;
}

.gestion_locative_page .commitment_box {
  padding: 132px 50px 128px;
}

.experties_page .commitment_box {
  padding: 113px 50px 102px;
}

.commitment_box {
  background: linear-gradient(180deg, #1F4496 0%, #0B2766 100%), #0B2766;
  color: #fff;
  padding: 102px 50px 102px;
}

.commitment_box .subheading {
  font-weight: 800;
  font-size: 12px;
  line-height: 13px;
  text-align: center;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0px 0 16px;
}

.commitment_box h2 {
  font-weight: 800;
  font-size: 56px;
  line-height: 100%;
  word-break: break-word;
}

.commitment_box h2 span {
  color: #FFF100;
}

.commitment_box .commitment_bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px 0 0;
}

.commitment_box .commitment_bottom .btn_block {
  margin: 0 10px;
}

.commitment_box .commitment_bottom .btn_block:before {
  background: #f0dc00;
}

.commitment_box .commitment_bottom .btn_block:hover {
  color: #0B2766;
}

.commitment_box .commitment_bottom p {
  font-weight: 800;
  font-size: 14px;
  line-height: 170%;
  margin: 0 10px;
}

.commitment_box .commitment_bottom p a {
  color: #fff;
}

.single_page .commitment_box {
  padding: 132px 50px 122px;
}

@media (max-width: 767.5px) {
  .commitment_box {
    padding: 50px 20px 50px;
  }

  .commitment_box h2 {
    font-size: 30px;
    padding: 0;
  }

  .experties_page .commitment_box,
  .gestion_locative_page .commitment_box,
  .single_page .commitment_box {
    padding: 50px 20px 50px;
  }
}

@media (min-width: 768px) and (max-width: 991.5px) {
  .commitment_box h2 {
    font-size: 40px;
  }

  .gestion_locative_page .commitment_box,
  .single_page .commitment_box {
    padding: 100px 50px 100px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .commitment_box h2 {
    font-size: 40px;
  }

  .gestion_locative_page .commitment_box {
    padding: 100px 50px 100px;
  }
}

