/* General */
.geodir-page-title {
  margin-bottom: 0 !important;
}

.bsui.bsui a {
  color: var(--wp--preset--color--dark) !important;
}

.bsui.bsui a:focus {
  outline: 2px solid var(--wp--preset--color--dark);
}

.bsui.bsui a:not(.active):hover, 
.bsui.bsui .navbar-light .nav-item:hover .nav-link:not(.active):not(.disabled) {
  color: var(--wp--preset--color--dark) !important;
  text-decoration: underline !important;
}

.bsui.bsui .nav-link.active,
.bsui.bsui .nav-link.active:hover {
  color: var(--wp--preset--color--secondary) !important;
}

/* Maps */
#gd_map_canvas_directory_wrapper .leaflet-marker-icon,
.leaflet-container .leaflet-marker-pane img {
  object-fit: contain;
  object-position: bottom center;
}

.bsui .embed-item-cover-xy {
  object-fit: contain !important;
  object-position: center;
}

.bsui.bsui .leaflet-touch .leaflet-bar a:hover {
  color: var(--wp--preset--color--secondary) !important;
  text-decoration: none !important;
}

/* Layout Stuff */
.bsui .row > * {
  margin-top: 0 !important;
}

.bsui .row.geodir-search {
  display: grid;
}

.bsui .row > .gd-search-field-near {
  margin-top: 0.5rem !important;
}

.geodir-search .gd-search-field-search button {
  display: none;
}

/* PSYPACT Adjustments */
/* hide field in filter */
.bsui .gd-field-psypact_practitioner {
  display: none;
}

/* Single Post */
.single-gd_place .wp-block-cloudcatch-tabs__container {
  gap: 10px;
  grid-template-columns: repeat(2, 45%) auto !important;
}

.single-gd_place .wp-block-cloudcatch-tabs__container .wp-block-cloudcatch-tab {
  background: var(--wp--preset--color--emphasis);
  border-bottom: 2px solid #E0E0E0;
  border-radius: 8px 8px 0 0;
  box-shadow: 1px 1px 3px #dfdede;
  font-weight: 600;
  padding: 5px 15px 4px 15px;
  z-index: 1;
}

.single-gd_place .wp-block-cloudcatch-tabs__container .wp-block-cloudcatch-tab.active {
  border-color: var(--wp--preset--color--secondary);
}

.single-gd_place .wp-block-cloudcatch-tabs__container .wp-block-cloudcatch-tab-content {
  background: #FFF;
  position: relative;
  z-index: 1;
}

.listing-details .geodir-post-meta-container {
  margin-top: 0;
}

.listing-details .listing-item {
  border-bottom: 2px solid #E0E0E0;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding-block: 10px !important;
}

.listing-details .listing-item.listing-item-left {
  display: block;
}

.listing-details ul {
  margin-bottom: 0 !important;
}

.listing-details .geodir-post-meta-container:last-child .listing-item {
  border-bottom: none;
  padding-bottom: 0 !important;
}

.listing-details .listing-item.listing-item-left .geodir_post_meta_title {
  margin-right: 4px;
}

.listing-about .geodir-post-content-container {
  background-color: #FFF;
  box-shadow: var(--wp--preset--shadow--natural);
  padding: 25px 25px 5px;
}

.listing-about {
  font-size: 25px;
  font-weight: bold;
}

.listing-about .geodir_post_meta {
  font-size: initial;
  font-weight: normal;
}

.geodir-field-accepted_payment_methods {
  display: flex;
  gap: 10px;
}

.listing-details .geodir-field-languages_spoken ul, 
.geodir-field-accepted_payment_methods ul,
.geodir-field-office_accessibility ul,
.geodir-field-specialties ul,
.geodir-field-accepted_insurance_plans ul,
.geodir-field-affiliated_therapy_funds ul {
  display: inline;
  list-style: none;
  margin-bottom: 0 !important;
  padding-left: 0 !important;
}

.geodir-field-specialties ul {
  padding-bottom: 0;
}

.listing-details .geodir-field-languages_spoken li, 
.geodir-field-accepted_payment_methods li,
.geodir-field-office_accessibility li,
.geodir-field-specialties li,
.geodir-field-accepted_insurance_plans li,
.geodir-field-affiliated_therapy_funds li {
  display: inline;
  margin-bottom: 0 !important;
}

.listing-details .geodir-field-languages_spoken li:not(:last-child):after, 
.geodir-field-accepted_payment_methods li:not(:last-child):after,
.geodir-field-office_accessibility li:not(:last-child):after,
.geodir-field-specialties li:not(:last-child):after,
.geodir-field-accepted_insurance_plans li:not(:last-child):after,
.geodir-field-affiliated_therapy_funds li:not(:last-child):after {
  content: ', ';
}

.listing-details .listing-item .geodir_post_meta_title,
.geodir-field-office_accessibility .geodir_post_meta_title,
.geodir-field-psypact_practitioner .geodir_post_meta_title,
.payment-info .geodir_post_meta_title,
.geodir-field-additional_notes_about_office_accessibility .geodir_post_meta_title {
  font-weight: 600;
}

/* List of Locations */
.all-locations h2 {
  font-size: var(--wp--preset--font-size--heading-5) !important;
  font-weight: 600;
}

.all-locations .geodir-post {
  width: 100% !important;
}

.all-locations .wp-block-read-more {
  width: 122px;
}

/* Location Item */
.bsui .gd-badge {
  background-color: var(--wp--preset--color--secondary) !important;
  font-weight: 600 !important;
}

/* Search Form */
.bsui.bsui .text-muted {
  color: #000 !important;
}

.bsui.bsui .bg-primary {
  background-color: var(--wp--preset--color--secondary) !important;
  border: none;
  font-weight: bold;
}

.bsui.bsui .geodir_submit_search,
.bsui.bsui .btn-primary {
  background-color: var(--wp--preset--color--highlight);
  border-color: var(--wp--preset--color--highlight);
  color: var(--wp--preset--color--dark);
}

.bsui.bsui .btn-primary {
  font-weight: 600;
  padding: 8px 38px;
}

.bsui.bsui .btn:hover,
.bsui.bsui .btn-primary:active,
.bsui.bsui .btn-primary:hover {
  box-shadow: none;
}

.bsui.bsui .btn:hover,
.bsui.bsui .btn:not(.active):hover,
.bsui.bsui .btn-primary:active,
.bsui.bsui .btn-primary:focus, 
.bsui.bsui .btn-primary:focus-visible {
  background-color: var(--wp--preset--color--primary);
  border-color: var(--wp--preset--color--primary);
  color: #FFF !important;
  text-decoration: none !important;
}

.bsui.bsui .btn-outline-primary {
  border-color: var(--wp--preset--color--highlight);
  border-width: 2px;
  color: var(--wp--preset--color--dark);
}

.bsui.bsui .geodir_preview_button {
  margin-left: 15px;
}

.bsui .geodir_submit_search .visually-hidden {
  display: inline-block !important;
  height: auto !important;
  margin-left: 8px !important;
  position: relative !important;
  vertical-align: middle;
  width: auto !important;
}

.geodir-filter-container .form-field-label {
  font-weight: 600;
}

.bsui .geodir-listing-search .collapse.geodir-more-filters .customize_filter_inner,
.bsui .geodir-listing-search .collapse.geodir-more-filters .customize_filter_inner > div {
	padding: 0 !important;
}

/* Search Results */
.wp-block-geodirectory-geodir-widget-loop {
  margin-block-start: 0;
}

.geodir-loop-container.bsui > .row {
  gap: .5rem .5rem;
}

.geodir-loop-container.bsui .geodir-post {
  margin-bottom: 0 !important;
  padding-inline: 0 !important;
  width: calc(50% - .25rem);
}

.geodir-loop-container.bsui .card .card {
  display: grid;
  grid-template-columns: 55px 1fr;
  grid-template-rows: auto auto;
  gap: 0px 0px;
  grid-auto-flow: row;
  grid-template-areas:
    "Image Name"
    "Bottom Bottom";
}

/* Search Results: Image */
.geodir-loop-container.bsui .card-img-top { 
  grid-area: Image; 
  position: initial !important;
}

.geodir-loop-container.bsui .geodir-post-slider,
.geodir-loop-container.bsui .geodir-post-slider div,
.geodir-loop-container.bsui .geodir-post-slider span {
  height: 100%;
}

.geodir-loop-container.bsui .carousel-item span {
  align-items: center;
  display: flex;
  justify-content: center;
}

.geodir-loop-container.bsui .carousel-item img {
  border-radius: 50%;
  height: 45px !important;
  position: relative;
  object-fit: cover !important;
  width: 45px !important;
}

.geodir-loop-container.bsui .carousel-item .ratio::before {
  display: none;
}

.bsui .card-img-top.overflow-hidden {
  overflow: visible !important;
}

.bsui .gd-badge[data-badge="featured"] {
  background-color: transparent !important;
  background-image: url(../images/icon-featured.svg);
  background-repeat: no-repeat;
  background-size: contain;
  color: transparent !important;
  font-size: 0 !important;
  height: 18px;
  left: auto !important;
  right: 5px;
  width: 18px;
}

.bsui .gd-badge[data-badge="franchise"] {
  background-color: transparent !important;
  background-image: url(../images/icon-main.png);
  background-repeat: no-repeat;
  background-size: contain;
  color: transparent !important;
  font-size: 0 !important;
  height: 18px;
  left: auto !important;
  right: 26px;
  width: 18px;
}

/* Search Results: Title */
.geodir-loop-container.bsui .card-body {
  grid-area: Name; 
  padding-block: .25rem !important;
}

.geodir-loop-container.bsui .card-body h2 {
  font-size: 1.05rem !important;
  margin: 0;
}

.geodir-loop-container.bsui .card-body h2 a:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
}

.geodir-loop-container.bsui .geodir-field-credentials {
  font-size: .9rem !important;
  padding: 0 !important;
}

.geodir-loop-container.bsui .geodir-field-credentials .geodir_post_meta_title {
  display: none;
}

/* Search Results: Footer */
.geodir-loop-container.bsui .card-footer { 
  font-size: .9rem !important;
  grid-area: Bottom;
  padding: .25rem !important;
}

.geodir-loop-container.bsui .card-footer br {
  display: none;
}

/* Add Form */
.bsui.geodir-add-listing .row {
  margin-bottom: 3rem !important;
}

.form-check:has(input[type="checkbox"][name="franchise_fields[]"][value="address"]),
input[type="checkbox"][name="franchise_fields[]"][value="address"], 
input[type="checkbox"][name="franchise_fields[]"][value="address"] + label {
  display: none;
}

.franchise-buttons {
  display: flex;
  gap: 10px;
  justify-content: center;
  padding-top: 10px;
}

.franchise-buttons button {
  background: #706f6f;
  border: 2px solid #b5b5b5;
  color: #FFF;
  font-weight: bold;
  padding: 7px 16px;
}

.franchise-buttons .check-same-information {
  background: #0f084b;
}

/* Category Buttons */
.bsui .gd-cptcat-ul .gd-cptcat-cat-right {
  display: block;
  height: 100%;
  text-transform: none !important;
  white-space: normal;
}

.bsui .gd-cptcat-ul .card-body {
  border: none;
  padding: 0 !important;
}

.bsui .gd-cptcat-ul .stretched-link {
  align-items: center;
  border: 2px solid var(--wp--preset--color--secondary);
  border-radius: 8px;
  display: flex;
  height: 100%;
  justify-content: center;
  min-height: 54px;
  padding-inline: 10px;
}

.bsui .gd-cptcat-ul .stretched-link:hover {
  background: var(--wp--preset--color--secondary);
  border-radius: 8px;
  text-decoration: none !important;
}

/* User Styles */
.wp-block-userswp-uwp-account-widget {
  margin-block-start: 0;
}

.hide-avatar .bsui .card {
  display: none;
}

.bsui .uwp_page .h-100 {
  height: auto !important;
}

.bsui .uwp_page .navbar-light {
  height: calc(100% - 20px) !important;
  margin-top: 40px;
}

/* User Forms */
.uwp_form label.sr-only,
.uwp-account-form label.visually-hidden {
  width: auto !important;
  height: auto !important;
  position: relative !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
}

.uwp_form ::placeholder {
  color: transparent !important;
  opacity: 0;
}

/* Listing Boxes */
.bsui .your-listings .card-body {
  flex: initial;
}

.bsui .your-listings .geodir-post {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.bsui .geodir-post .geodir-entry-title {
  margin-bottom: 0;
}

.bsui .geodir-post .card-footer > div {
  gap: 10px;
}

.bsui .geodir-post .card-footer > div > div {
  width: 100%;
}

.bsui .geodir-post .card-footer > div > div br {
  display: none;
}

.bsui .your-listings .edit_link, 
.bsui .your-listings .delete_link {
  margin-top: 8px !important;
  width: 48.4%;
}

.bsui .your-listings .delete_link {
  color: #FFF !important;
}

.bsui .your-listings .add_franchise_link {
  background-color: var(--wp--preset--color--secondary) !important;
  border-color: var(--wp--preset--color--secondary) !important;
  color: #FFF !important;
  width: 100%;
}

/* Main Directory Page */
.main-directory-search .customize_filter_inner > div:not(.gd-field-distance) {
  display: none;
}

.main-directory-search .wp-block-geodirectory-geodir-widget-search {
  background: #FFF;
  border: 1px solid var(--wp--preset--color--tertiary);
  border-radius: 5px;
  padding: 20px;
}

.main-directory-search div.customize_filter_inner {
  background: #FFF !important;
}

.main-directory-search div.gd-field-distance {
  margin-inline: auto;
  max-width: 200px;
}