/*
 Theme Name: Divi Child
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme
 Author: Leo DESIGAUX
 Author URI: http://leodesigaux.com
 Template: Divi
 Version: 1.0.0
*/
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap');
body {
  font-family: "Jost", serif;
}

.footer-menu .et-menu.nav {
  flex-direction: column;
}

.footer-icon img {
  transform: translateY(3px);
}

ul.custom-menu {
  padding-left: 0;
}

.callbutton {
  color: #195281;
  border-width: 0px;
  border-radius: 100px;
  letter-spacing: 1px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  background-color: #ffffff;
  padding-top: 12px;
  padding-right: 24px;
  padding-bottom: 12px;
  padding-left: 24px;
  transition: all 300ms ease 0ms;
}

.phonebutton {
  color: #ffffff;
  border-width: 0px;
  border-radius: 100px;
  letter-spacing: 1px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  background-color: #d32c2c;
  padding-top: 8px;
  padding-right: 24px;
  padding-bottom: 8px;
  padding-left: 24px;
  transition: all 300ms ease 0ms;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px;
}

body.page-template-default #page-container .et_pb_section .et_pb_button_0_tb_header:before,
body #page-container .et_pb_section .et_pb_button_0_tb_header:before,
body #page-container .et_pb_section #phonebuttonhero:before {
  content: "";
  display: inline-flex !important;
  background: url(../../../wp-content/uploads/2024/11/phone.svg) no-repeat;
  width: 14px;
  height: 14px;
  opacity: 1 !important;
  position: relative !important;
  margin-left: -5px !important;
}

.et_mobile_menu {
  left: auto;
  right: 0;
  width: 93vw;
}

.service_card p {
  display: flex;
  align-items: center;
  gap: 16px;
}

.services_row .et_pb_column {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* arrowbutton */
body #page-container .et_pb_section .et_pb_button.et_pb_bg_layout_light.arrowbutton {
  content: "";
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px;
}

body #page-container .et_pb_section .et_pb_button.et_pb_bg_layout_light.arrowbutton:after {
  content: "";
  display: inline-flex !important;
  background: url(../../../wp-content/uploads/2024/11/arrow_right_white.svg);
  width: 16px;
  height: 16px;
  opacity: 1 !important;
  position: relative !important;
  margin-left: -5px !important;
}

/* arrowbluebutton */
body #page-container .et_pb_section .et_pb_button.et_pb_bg_layout_light.arrowbluebutton {
  content: "";
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px;
}

body #page-container .et_pb_section .et_pb_button.et_pb_bg_layout_light.arrowbluebutton:after {
  content: "";
  display: inline-flex !important;
  background: url(../../../wp-content/uploads/2024/11/arrow_right_blue.svg);
  background-size: contain;
  width: 14px;
  height: 14px;
  opacity: 1 !important;
  position: relative !important;
  margin-left: 0px !important;
}

@media screen and (max-width: 980px) {

  body.page-template-default #page-container .et_pb_section .et_pb_button_0_tb_header,
  body #page-container .et_pb_section .et_pb_button_0_tb_header {
    font-size: 0 !important;
    width: 32px;
    height: 32px;
    padding-left: 0 !important;
    padding-right: 0 !important;
    gap: 0;
  }

  body.page-template-default #page-container .et_pb_section .et_pb_button_0_tb_header:before,
  body #page-container .et_pb_section .et_pb_button_0_tb_header:before {
    display: flex !important;
    margin-left: 0 !important;
    width: 15px !important;
    height: 15px !important;
    flex-shrink: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  body.page-template-default #page-container .et_pb_section .et_pb_button_0_tb_header:before{
    position: absolute !important;
  }
  .et_pb_menu .et_mobile_menu, .et_pb_fullwidth_menu .et_mobile_menu {
    top: 52px;
  }
  .reviews_row {
    overflow: clip;
  }
}

.map_wrapper {
  position: relative;
}

.map_wrapper>div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

#map {
  width: 100%;
  height: 100%;
  background: #fefefe;
}

.leaflet-tile-pane {
  filter: grayscale(1);
}

.leaflet-marker-pane img {
  z-index: 810;
  filter: hue-rotate(015deg) saturate(3.5);
}

.info-card {
  background-color: #fff;
  color: #333;
  font-family: "Jost", serif;
}

#map .info-card p {
  margin-top: 0;
}

.info-header {
  font-size: 24px;
}

.cabinet {
  color: #0a346f;
}

.sabek {
  font-weight: bold;
  color: #d62222;
}

.info-subtitle {
  font-size: 14px;
  color: #555;
  margin-bottom: 8px;
}

.info-address {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 15px;
  display: flex;
  gap: 24px;
}

.info-hours {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 0;
}

.info-hours p {
  margin-bottom: 0px !important;
}

.info-hours strong {
  color: #0a346f;
}

.leaflet-popup-tip {
  width: 37px;
  height: 37px;
}

/* REVIEWS */
.review-wrapper {
  padding: 8px;
  padding-bottom: 48px;

}

.review-card {
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
  width: 100%;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  color: #333;
}

.review-header {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  margin-right: 10px;
}

.review-author {
  font-size: 18px;
  font-weight: bold;
  color: #0a346f;
}

.review-text {
  font-size: 15px;
  color: #333;
  margin-bottom: 8px;
  line-height: 1.5;
}

.review-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.review-stars {
  display: flex;
}

.star {
  font-size: 18px;
  color: #ddd;
  width: 20px;
  height: 19px;
}

.star svg {
  width: 20px;
  height: 19px;
}

.star.filled {
  color: #f5a623;
}

.review-date {
  font-size: 12px;
  color: #555;
}

.swiper {
  width: calc(100% + 64px);
  padding: 0 32px !important;
  margin-left: -32px !important;
}

:root {
  --swiper-navigation-sides-offset: 0px;
  --swiper-navigation-size: 24px !important;
  --swiper-theme-color: #0a346f !important;
  --swiper-navigation-top-offset: 40%;
}

.main_person_card {
  display: flex;
  gap: 24px;
}

.main_person_card .et_pb_team_member_description p{
  padding-bottom: 8px;
  font-size: 14px;
  color: #195281;
}
.main_person_card .et_pb_team_member_image {
  margin-bottom: auto;
}
.main_person_card .et_pb_team_member_description .title {
  font-size: 24px;
  font-weight: bold;
}
.main_person_card .et_pb_team_member_description .subtitle {
  font-size: 18px;
  font-weight: bold;
}
.main_person_card .et_pb_team_member_description .title span {
  color:#d32c2c;
}
.main_person_card .et_pb_team_member_description a:hover {
  text-decoration: underline;
}
.main_person_card .et_pb_team_member_description a {
  color:#d32c2c;
}

@media screen and (max-width: 980px) {
  .main_person_card {
    flex-direction: column;
  }
  .main_person_card .et_pb_team_member_image {
    margin-right: auto;
    margin-left: auto;
  }
  .phonefooter{
    margin-right: auto;
    margin-left: auto;
  }
  .phonefooter a{
    flex-direction: column;
    padding-right: 20px;
    padding-left: 20px;
    padding-top: 14px;
    padding-bottom: 14px;
    gap: 0px !important;
    font-size: 14px !important;
  }
  .phonefooter a:before {
    display: none !important;
  }
}

body.page:not(.home) #main-content .et_pb_section_0  {
  background-image: url(../../../wp-content/uploads/2024/12/bg_page.png);
  background-repeat: no-repeat;
  background-position: top left;
  background-size: 40vw auto;
}
.phonefooter{
  margin-left: auto;
}
.phonefooter a{
  color: #ffffff;
  border-width: 0px;
  border-radius: 100px;
  letter-spacing: 1px;
  font-size: 14px;
  text-transform: uppercase;
  background-color: #d32c2c;
  padding-right: 24px;
  padding-left: 24px;
  padding-top: 16px;
  padding-bottom: 16px;
  font-weight: 300;
  transition: all 300ms ease 0ms;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  transition: .2s ease-in-out;
  box-shadow: 0px 1px 28px -10px #D32C2C;
  margin-bottom: 16px;
  margin-top: 16px;
}
.phonefooter a:hover{
  transform: scale(1.05);
}
.phonefooter a:hover{
  transform: scale(1.05);
}
.phonefooter a > *{
  flex-shrink: 0;
  flex-grow:1;
}
.phonefooter a:before {
  content: "";
  display: inline-flex;
  background: url(../../../wp-content/uploads/2024/11/phone.svg);
  width: 14px;
  height: 14px;
  opacity: 1 !important;
  position: relative !important;
  margin-left: -5px !important;
}
.lwp-toggle-icon.et_pb_toggle .et_pb_toggle_title:before,.lwp-toggle-icon .et_pb_toggle .et_pb_toggle_title:before {
  content:'\43';
}

.lwp-toggle-icon.et_pb_toggle_open .et_pb_toggle_title:before{
   content:'\42';   
}

.contact-form{
  display: grid;
  grid-template-areas: 
  "inputname inputemail"
  "inputmessage inputmessage"
  "inputsubmit inputblank";
  gap:16px;
  grid-template-columns:  50% 50%;
}
.contact-messages{
  grid-area: inputmessage;
}
.contact-messages textarea, .contact-names input, .contact-email input{
  width: 100%;
}
.contact-names, .contact-email{
  flex-grow: 1;
}

.contact-messages textarea{
  resize: vertical;
  height: 140px;
}

.contact-form input, .contact-form textarea{
  padding:12px 16px;
  border-radius: 8px;
  font-size: 16px;
  border:none;
  outline: 1px solid #0A263C66; 
}
.contact-form input:focus, .contact-form textarea:focus{
  outline: 2px solid #1e6092; 
}
.contact-form input[type="submit"]{
  background-color: #195281;
  color: white;
  font-weight: bold;
  cursor: pointer;
  transition: .2s ease-in-out;
  outline:none;
  padding: 12px 24px;
  border:none;
  text-transform: uppercase;
  font-size: 14px;
  transition: .2s all;
  letter-spacing: 2px;
}
.contact-form input[type="submit"]:hover{
  background-color: #286da5;
}
.contact-form input[type="submit"]:active{
  transform: scale(0.95);
}
.wpcf7-not-valid-tip{
  padding-top: 4px;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
  padding: 0.8em 1em;
  border-radius: 8px;
}

.contact-cols .et_pb_column_1_2{
  position: relative;
}
.contact-cols .et_pb_column_1 .et_pb_code, .contact-cols .et_pb_column_1 .et_pb_code .et_pb_code_inner{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#map-contact{
  background: #EEE;
  position: absolute;
  top: 0;
  left: 0;
  width: 50vw;
  height: 100%;
}
@media screen and (max-width: 980px) {
  #map-contact{
    width: 100%;
  }
  .contact-form{
    grid-template-columns:  48% 48%;
  }
}