/*
Theme Name: LawyerIndex
Theme URI: https://example.com
Author: Your Name
Description: Custom WordPress theme for Lawyer directory
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Arimo:ital,wght@0,400..700;1,400..700&display=swap');

:root {
  --primary: #C1AA6A;
  --secondary: #08222D;
  --greenbtn: #60BE82;
}

body {
  margin: 0;
  width: 100%;
  overflow-x: hidden;
  font-family: "Arimo", sans-serif;
}

body .container {
  max-width: 1514px;
}

a {
  text-decoration: none;
  transition: all linear .5s;
}

a:hover {
  transform: scale(0.9);
}

.btn {
  font-size: 18px;
  font-weight: bold;
  color: var(--secondary);
  border-radius: 80px;
  padding: 12px 20px;
}

.greenbtn {
  background-color: var(--greenbtn);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.organbtn {
  background-color: var(--primary);
}

.no-result {
  color: #fff;
}
.elementor-button-icon .e-font-icon-svg {
    font-size: 27px!important;
    height: auto!important;
}
.elementor-button-content-wrapper{
  align-items: center;
}
/*********** HEADER *************/
.top-header {
  padding: 10px;
  background: #09101291 0% 0% no-repeat padding-box;
  opacity: 1;
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  position: fixed;
  width: 100%;
  z-index: 99;
}

.toptel {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 15px;
}

.logo {
  text-align: right;
}

/********* HOME PAGE *********/
.top-banner {
  min-height: 641px;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
}

.banner-title {
  text-align: center;
}

.banner-title h1 {
  font-size: 46px;
  font-weight: bold;
  color: var(--primary);
  margin: 0;
}

.banner-title h2 {
  font-size: 22px;
  font-weight: bold;
  color: #fff;
  margin: 0 0 10px;
}

.lawyer-search {
  width: 754px;
  background-color: #fff;
  height: 66px;
  border-radius: 80px;
  position: relative;
}
.con-inner {
    display: flex;
    justify-content: center;
}
.lawyer-search input {
  width: 90%;
  height: 100%;
  border: 0;
  float: right;
  border-radius: 0 80px 80px 0;
  color: var(--secondary);
  font-size: 18px;
  text-align: right;
  padding-right: 30px;
}

input:focus {
  outline: none;
}

input::placeholder {
  color: var(--secondary);
}

.search_btn {
  width: 42px;
  height: 42px;
  background-color: var(--primary)!important;
  border: 0;
  border-radius: 50px;
  position: absolute;
  left: 10px;
  top: 11px;
}

.search_attribute ul li {
  background-color: var(--primary);
  color: var(--secondary);
  border-radius: 80px;
  font-size: 15px;
  padding: 10px 12px;
  cursor: pointer;
}

.lawyer-filter {
  display: flex;
  list-style: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0;
  flex-flow: wrap;
  row-gap: 15px;
}

.lawyer-content {
  background-color: var(--secondary);
  padding: 50px;
}

.lawyer-filter-results {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 58px;
}

#lawyer-results {
  width: 75%;
}

.lawyer-terms {
  width: 25%;
  border: 0 solid #fff;
}

.lawyer-card {
  background: transparent linear-gradient(180deg, #133646 0%, #09222D 100%) 0% 0% no-repeat padding-box;
  border: 1px solid #507485;
  border-radius: 10px;
  padding: 34px 44px;
  margin-bottom: 25px;
  position: relative;
}

.lawyer-card.border {
  border: 2px solid #DDBE67;
  padding-top: 60px;
}

.popular {
  background: transparent linear-gradient(97deg, #C1AA6A 0%, #E5C467 71%, #716032 100%) 0% 0% no-repeat padding-box;
  border-radius: 80px;
  width: 130px;
  height: 30px;
  font-size: 15px;
  font-weight: bold;
  line-height: 30px;
  position: absolute;
  top: 20px;
  right: 20px;
  text-align: center;
}

.lawyer-card-col {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: space-between;
}



.lawyer-mail {
  width: 20%;
}

.lawyer-mail a {
  text-align: center;
  height: 44px;
  font-size: 16px;
  display: block;
}
.art-img  {
  width: 125px;
  height: 125px; border-radius: 100%;
  margin: 0 auto;    overflow: hidden;
}
.art-img img {
  width: 100%!important;
  height: 100%!important;
  object-fit: cover;
  display: block;
}
.lawyer-mail img {
  margin-bottom: -5px;
}

.contact_detail {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px 0;
  gap: 10px;
}

.lawyer-info {
  width: 60%;
  border-left: 1px solid #507485;
  padding: 0 30px;
}

.lawyer-info h3 {
  color: var(--primary);
  font-size: 30px;
  font-weight: bold;
  margin: 0;
}

.lawyer-term,
.lawyer-right-term,
.lawyer-right-term-mobile {
  padding: 0;
  list-style: none;
}

.category ul {
  display: flex;
  padding: 0;
  list-style: none;
  flex-flow: wrap;
  gap: 11px;
}

.excerpt {
  font-size: 16px;
  color: #fff;
}

.lawyer-term li {
  font-size: 14px;
  color: var(--primary);
  border: 1px solid var(--primary);
  border-radius: 20px;
  text-align: center;
  min-width: auto;
  padding: 5px 18px;
  cursor: pointer;
}

.right_side h3 {
  font-size: 22px;
  font-weight: bold;
  color: #fff;
}

.right_side .lawyer-right-term li,
.lawyer-right-term-mobile li {
  font-size: 14px;
  color: #fff;
  border: 1px solid #5A7C8B;
  border-radius: 80px;
  text-align: center;
  min-width: auto;
  padding: 5px 18px;
  min-height: 49px;
  line-height: 49px;
  margin-bottom: 10px;
  cursor: pointer;
}

.lawyer-right-term li.highlight,
.lawyer-right-term li.active,
.lawyer-right-term-mobile li.active {
  border: 1px solid var(--primary);
  font-weight: bold;
  color: var(--primary);
}

.content p {
  color: rgb(255 255 255 / 76%);
  font-size: 14px;
}

.read-more {
  color: var(--primary);
  font-size: 14px;
  cursor: pointer;
  font-weight: bold;
  background: transparent;
  box-shadow: none;
  border: 0;
  margin-top: 12px;
}

/******* BOTTOM FIXED FORM *********/
.bottom_fix {
    background: #C1AA6A 0% 0%;
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    padding: 33px 10px;
    position: fixed !important;
    bottom: 0 !important;
    left: 0;
    width: 100%!important;
    opacity: 0;
    transition: all linear .5s;
    overflow: hidden!important;
}
.bottom_fix .nf-after-field {
    position: absolute;
}
.bottom_fix.active {
    opacity: 1!important;
}

.bottom_fix .container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.form-title {
  width: 28%;
}

.form-title h2 {
  font-size: 33px;
  font-weight: bold;
  color: var(--secondary);
  line-height: 38px;
  margin: 0;
}

.form-title h3 {
  font-size: 17px;
  margin: 0;
  letter-spacing: 0.26px;
  color: var(--secondary);
}

.form-col {
  width: 72%;
}

.nf-form-fields-required,
.nf-field-label,
.nf-after-form-content {
  display: none;
}

.list-checkbox-wrap ul {
  padding: 0;
  list-style: none;
  margin: 0;
}

.bottom_fix nf-fields-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  gap: 7px;
}

.bottom_fix nf-field {
  width: 25%;
}


.bottom_fix input:not([type="submit"]) {
  border: 1px solid #A28B4C;
  height: 58px;
  border-radius: 8px;
  text-align: right;
  padding: 10px;
  width: 100%;
  color: var(--secondary);
  font-size: 16px;
}

.bottom_fix .list-checkbox-wrap ul li input {
  width: auto;
  height: auto;
}

.bottom_fix .list-checkbox-wrap ul li label {
  text-align: right;
}

input[type="submit"] {
  width: 100%!important;
  height:55px !important;
  border-radius: 8px !important;
  background: transparent linear-gradient(180deg, #133646 0%, #09222D 100%) 0% 0% no-repeat padding-box;
  border: 2px solid #DDBE67;
  color: #fff;
  font-size: 22px !important;
  font-weight: bold;
  margin: 0 !important;
  float: right;
}

/****** FAQ LIST *********/
.faq_sec {
  background-color: #133646;
  padding: 20px 20px 60px;
}

.faq_sec h2 {
  font-size: 35px;
  text-align: center;
  color: #fff;
  font-weight: bold;
}

.faq-wrapper {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  border: 1px solid #5A7C8B;
  background-color: transparent;
  border-radius: 80px;
  margin-bottom: 14px;
  transition: all linear .5s;
}

.faq-item.active {
  border-radius: 20px;
}

.faq-question {
  width: 100%;
  background: transparent;
  padding: 15px;
  text-align: left;
  font-size: 20px;
  color: #fff;
  font-weight: 400;
  border: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.faq-answer {
  display: none;
  color: #fff;
  padding: 0 15px 15px;
  font-size: 15px;
  line-height: 1.6;
}

.faq-item.active .faq-answer {
  display: block;
}

.icon {
  transition: 0.3s;
}

.faq-item.active .icon {
  transform: rotate(45deg);
}

/****** ELEMENTOR FAQ LIKE THEME FAQ *********/
.faq-wrapper-elemntor {
  max-width: 800px !important;
  margin: 0 auto;
  direction: rtl;
}

.faq-wrapper-elemntor .e-n-accordion {
  display: block;
}

.faq-wrapper-elemntor .e-n-accordion-item {
  border: 1px solid #5A7C8B;
  background-color: transparent;
  border-radius: 80px;
  margin-bottom: 14px !important;
  transition: all linear .5s;
  overflow: hidden;
}

.faq-wrapper-elemntor .e-n-accordion-item[open] {
  border-radius: 20px;
}

.faq-wrapper-elemntor .e-n-accordion-item-title {
  width: 100%;
  background: transparent;
  padding: 15px !important;
  text-align: left;
  font-size: 20px;
  color: #fff;
  font-weight: 400;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  list-style: none;
}

.faq-wrapper-elemntor .e-n-accordion-item-title::-webkit-details-marker {
  display: none;
}

.faq-wrapper-elemntor .e-n-accordion-item-title-header {
  flex: 1;
}

.faq-wrapper-elemntor .e-n-accordion-item-title-text {
  font-size: 20px;
  color: #fff;
  font-weight: 400;
  line-height: 1.4;
}

.faq-wrapper-elemntor .e-n-accordion-item-title-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: block;
  transition: 0.3s;
  background-image: url("images/add.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.faq-wrapper-elemntor .e-n-accordion-item-title-icon .e-opened,
.faq-wrapper-elemntor .e-n-accordion-item-title-icon .e-closed {
  display: none !important;
}

.faq-wrapper-elemntor .e-n-accordion-item[open] .e-n-accordion-item-title-icon {
  transform: rotate(45deg);
}

.faq-wrapper-elemntor .e-n-accordion-item > [role="region"] {
  color: #fff;
  padding: 0 15px 15px;
  font-size: 15px;
  line-height: 1.6;
  background: transparent;
  border: none;
}

.faq-wrapper-elemntor .elementor-widget-text-editor,
.faq-wrapper-elemntor .elementor-widget-text-editor p,
.faq-wrapper-elemntor .faq-answer,
.faq-wrapper-elemntor .faq-answer p {
  color: #fff;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
}
 .lawyer-modal-form .nf-field-container {
    
      text-align: right;
  }
.faq-wrapper-elemntor .faq-item {
  border: none;
  background: transparent;
  border-radius: 0;
  margin-bottom: 0;
}

.faq-wrapper-elemntor .elementor-widget-text-editor .faq-item:empty,
.faq-wrapper-elemntor .elementor-widget-text-editor .faq-item:last-child {
  display: none;
}

/****** FOOTER *********/
body:not(.page-template-elementor):not(.elementor-page) footer {
  background-color: #09222D;
  padding: 40px 20px 180px;
  text-align: center;
}
footer p {
    margin: 0px;
}
#menu-footer-menu {
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
}

#menu-footer-menu li:not(:last-child)::after {
  content: "|";
  color: #fff;
  margin: 0 10px;
}

#menu-footer-menu li a {
  color: #fff;
  font-size: 15px;
  font-weight: 400;
}

#menu-footer-menu li a:hover {
  color: var(--primary);
}

.txt-l {
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 6px;
}

.txt-r {
  text-align: right;
}

.webcopy {
  font-size: 15px;
  color: #fff;
}

.bottom-footer {
  color: rgb(255 255 255 / 71%);
  font-size: 15px;
  margin-top: 30px;
}

.page-numbers {
  padding: 0;
  list-style: none;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #fff;
}

.page-numbers.current {
  color: var(--primary);
}

/****** CONTENT PAGE *****/
.topimage {
  max-height: 296px;
}

.topimage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

#main {
  background: #08222D;
  color: #fff;
  padding: 30px 10px 70px;
  position: relative;
}

#main:before {
  content: "";
  background: transparent linear-gradient(180deg, #13364600 0%, #133646 100%) 0% 0% no-repeat padding-box;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.page_content {
  color: rgb(255 255 255 / 76%);
  font-size: 18px;
  line-height: 26px;
}

.page_content h1 {
  font-size: 46px;
  line-height: 1;
  color: var(--primary);
  font-weight: bold;
}

.page_content h2 {
  font-size: 38px;
  line-height: 1;
  color: var(--primary);
  font-weight: bold;
}

.page_content h3 {
  font-size: 30px;
  line-height: 1;
  color: var(--primary);
  font-weight: bold;
}

/***** MOBILE FILTER SECTION ********/
.filterLabel {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}

.term-filter-list {
  background: #214353;
  padding: 12px 20px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 10px 0 20px;
}

.filter_menu {
  position: fixed;
  top: -1500px;
  left: 0;
  z-index: 9999;
  background: #000f14ad 0% 0% no-repeat padding-box;
  opacity: 1;
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  padding: 30px;
  transition: all linear .5s;
  height: 100vh;
}

.filter_menu.in {
  top: 0;
}
.close {
    position: absolute;
    top: 20px;
    left: 42px;
    z-index: 9;
}

.mobile_filter_menu {
  height: 82vh;
  overflow-y: scroll;
}

.apply {
  width: 100%;
  background-color: var(--primary);
  height: 48px;
  border-radius: 80px;
  font-size: 18px;
  font-weight: bold;
  color: var(--secondary);
}

.serch-listing-shortcode {
  width: 100%;
}

/******** RESPONSIVE ********/
@media(max-width: 1366px) {
  .btn { font-size: 16px; }
  .form-title h2 { font-size: 28px; }
  .form-title h3 { font-size: 15px; }
}

@media(max-width: 1279px) {
  .btn { padding: 12px; }

  .art-img img { width: 100%; }
  .lawyer-mail a { width: 100%; }
  .lawyer-card { padding: 25px; }
  .lawyer-info { padding: 0 20px; }
}

@media(max-width: 990px) {
  .top-banner { padding: 0 50px; }
  .search-sec,
  .lawyer-search { width: 100%; }
  .logo {
    text-align: center;
    margin-bottom: 10px;
  }
  .top-header { padding: 20px 10px; }
  .banner-title h1 { font-size: 38px; }
}

@media(max-width: 767px) {
  header .toptel { display: none; }

  .bottom-fix-number {
    position: fixed!important;
    bottom: 0!important;
    width: 100%!important;
    justify-content: center!important;
    display: flex!important;
    padding: 10px!important;
    z-index: 999!important;
  }

  .greenbtn { border-radius: 0 80px 80px 0; }
  .organbtn { border-radius: 80px 0 0 80px; }

  .btn {
    height: 51px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .logo { margin-bottom: 0; }

  .logo img {
    width: 173px;
    height: 53px;
  }

  .topimage {
    height: 200px;
    max-height: 200px;
  }

  .page_content h1 { font-size: 36px; }
  .page_content h2 { font-size: 30px; }
  .page_content h3 { font-size: 25px; }

  .top-banner {
    justify-content: flex-start;
    padding: 6rem 30px 0;
  }

  .banner-title h2 {
    font-size: 17px;
    width: 222px;
    margin: 10px auto 15px;
  }

  .search_attribute ul li { padding: 6px 9px; }
  .bottom_fix { display: none; }

  .lawyer-filter {
    gap: 6px;
    row-gap: 8px;
  }

  .toptel { gap: 8px; }
  .toptel .btn { text-align: center; }
  .lawyer-filter-results { display: block; }

  .lawyer-terms,
  #lawyer-results,

  .lawyer-info,
  .lawyer-mail {
    width: 100%;
  }

  .lawyer-content { padding: 10px; }

  .lawyer-card-col {
    display: block;
    text-align: center;
  }

  .lawyer-info {
    padding: 0;
    border-left: 0 solid #507485;
    border-bottom: 1px solid #507485;
  }

  .art-img {
    text-align: center;
    margin-bottom: 10px;
  }

 
  .excerpt p { margin: 7px 0 0; }

  .lawyer-card.border { padding: 60px 25px 25px; }

  .category ul {
    align-items: center;
    justify-content: center;
    gap: 6px;
  }

  .lawyer-info h3 { font-size: 24px; }

  .lawyer-mail {
    margin: 20px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }

  .lawyer-mail .organbtn { border-radius: 80px; }

  .faq_sec { padding: 15px 10px 30px; }
  .faq_sec h2 { font-size: 25px; }
  .faq-question { font-size: 16px; }

  body:not(.page-template-elementor):not(.elementor-page) footer {
    padding: 40px 20px 100px;
  }

  .txt-r,
  .txt-l {
    text-align: center;
  }

  .txt-l {
    justify-content: center;
    margin-top: 10px;
  }

  .right_side .lawyer-right-term li {
    font-size: 16px;
    text-align: right;
    padding: 0 18px;
    min-height: 49px;
    line-height: 49px;
    margin-bottom: 10px;
  }
  footer.elementor-location-footer {
        padding-bottom: 87px!important;
        background: #09222D;
    }
  .mobile-whatsapp-btn svg {
      width: 15px!important;
  }
  .mobile-whatsapp-btn span.elementor-button-content-wrapper {
      flex-direction: revert!important;
      gap: 10px!important;
  }
 
}



