.showbulletspoint ul {
    margin: 0;
    padding-left: 20px;
    list-style: disc !important;
}
.showbulletspoint ol {
    margin: 0;
    padding-left: 20px;
    list-style: decimal !important;
}

p,.entry-content p {
    margin-bottom: 0px !important;
}

[id^="faq-"] {
    scroll-margin-top: 130px !important;
}
html {
    scroll-behavior: smooth !important;
}

#component-aa531b2a-2136-4816-a203-b8576adde361 .faq-heading {
    margin-bottom: 26px !important;
	margin-top: 18px !important;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
    .uwy .uai,
    .uwy .ulsti {
        margin-left: 0 !important;
        margin-bottom: 125px !important;
        transform: translateX(calc(100vw - 100% - 36px)) !important;
    }
}
@media (min-width: 834px) and (max-width: 1024px) {
    .uwy .uai,
    .uwy .ulsti {
        margin-left: 0 !important;
        margin-bottom: 125px !important;
        transform: translateX(calc(100vw - 100% - 36px)) !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .uwy .uai,
    .uwy .ulsti {
        margin-bottom: 125px !important;
    }

}



#page {
    display: flex;
    flex-direction: column;
    min-height: 250px;
}

.service-home-card .wpr-flip-box-back{
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}


.btn{
	font-family: "Nunito", Sans-serif;
    font-size: 1rem;
    font-weight: 700;
    text-transform: none;
    font-style: normal;
    text-decoration: none;
    border-style: none;
    border-radius: 50px 50px 50px 50px;
	margin-top: 20px;
    padding: 12px 20px 12px 20px;
	    border-color: var(--ast-global-color-0);
    background-color: var(--ast-global-color-0);
color: var(--ast-global-color-5);
}

.elementor-4051 .elementor-element.elementor-element-63bb43f .tahefobu-nav-menu-horizontal .tahefobu-nav-menu > li > .tahefobu-sub-menu {
    margin-top: 5px;
    width: 250px;
}

.elementor-4051 .elementor-element.elementor-element-63bb43f .tahefobu-nav-menu-horizontal .tahefobu-nav-menu > li > .tahefobu-sub-menu a {
    white-space: normal !important;
    overflow-wrap: break-word;
    word-wrap: break-word;
    line-height: 1.4;
}

.elementor-widget .elementor-icon-list-item {
    outline: none;
}

/* Sticky header css */

#tahefobu-header{
	position: sticky;
	top: 0;
	width: 100%;
}

#tahefobu-header:has(#header-sticky.is-sticky) #top-header {
	display: none;
}

#header-sticky {
    width: 100%;
    position: relative;
    z-index: 9999;
}

#header-sticky.is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99999;
    animation: stickyHeader 0.3s ease;
}

@keyframes stickyHeader {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}

/* Sticky header css END */



.elementor-14 .elementor-element.elementor-element-7574ea0 .tahefobu-mobile-nav-menu .tahefobu-mobile-sub-menu-item {
    font-size: 16px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}



ol, ul {
    margin: 0;
    list-style: none !important;
}

@media (max-width: 767px) {
    .cdRqlQ {
        top: 68px !important;
        right: 20px !important;
    }

    .fZWdRL.fZWdRL {
        margin: 115px 20px !important;
    }
}

/* Appointment form */

.form-header-group.header-large {
    background: #f7eee3 !important;
    border-bottom: 1px solid #c7d0d8 !important;
    padding: 38px 20px 43px !important;
    margin: 0 !important;
    text-align: center !important;
    box-sizing: border-box;
}

.form-header-group.header-large .header-text {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
}

/* Heading */
#header_19.form-header {
    color: #443a2f !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 38px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    text-align: center !important;
}

/* Description */
#subHeader_19.form-subHeader {
    color: #443a2f !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

/* Mobile */
@media (max-width: 767px) {
    .form-header-group.header-large {
        padding: 28px 15px 32px !important;
    }

    #header_19.form-header {
        font-size: 28px !important;
        line-height: 1.25 !important;
    }

    #subHeader_19.form-subHeader {
        font-size: 16px !important;
        line-height: 1.4 !important;
    }
}






.forminator-label{
	font-weight: normal;
  font-size: 18px !important;
font-weight:500 !important;
color: #473b2d;
}

	.forminator-ui#forminator-module-4193.forminator-design--basic .forminator-checkbox,
	.forminator-ui#forminator-module-4193.forminator-design--basic .forminator-checkbox__label,
	.forminator-ui#forminator-module-4193.forminator-design--basic .forminator-checkbox__label p {
							font-size: 16px;
							}


.forminator-row .forminator-row-last{
	margin-bottom: 0px !important;
}


@media (max-width: 767px) {
	.elementor-1302 .elementor-element.elementor-element-b577c03 {
    --display: flex;
    --margin-top: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-top: 20px;
    --padding-bottom: 20px;
    --padding-left: 20px !important;
    --padding-right: 20px !important;
}
}


.tpg-even.edd1 .rt-holder,.tpg-even.layout1 .rt-holder,.tpg-even.layout12 .rt-holder,.tpg-even.offset01 .offset-big .rt-holder,.tpg-even.offset02 .offset-big .rt-holder {
    flex-direction: column;
    border-radius: 10px;

    font-family: "Nunito", Sans-serif;

}


.tpg-shortcode-main-wrapper .layout12 .rt-holder .rt-detail h2,.tpg-shortcode-main-wrapper .layout12 .rt-holder .rt-detail h3,.tpg-shortcode-main-wrapper .layout12 .rt-holder .rt-detail h4 {
    font-weight: 500;
    font-family: "Nunito", Sans-serif;
}

.rt-tpg-container img {
    height: 250px !important;
    max-width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}


.tpg-widget-heading-wrapper .tpg-widget-heading {
    font-size: 28px;
    line-height: 1;
    margin-bottom: -1px!important;
    margin-top: 0;
    padding-right: 15px;
    padding-top: 0;
    display: none;
    position: relative
}


@media only screen and (max-width: 767px) {
    .jLElhb {
        margin: 35px 5px !important;
    }

    .dSpivn.dSpivn {
        margin: 95px 5px !important;
    }
}

.elementor-widget-container p{
	padding-bottom: 10px; !important
}

/* ===== hritick Floating search icon (Ajax Search Lite) - desktop ===== */
/* ===== Floating search icon (Ajax Search Lite) - desktop ===== */

.aja-search-desk {
  /* Brand colours - change these two to adjust the whole look */
  --aja-blue: #25409b;
  --aja-gold: #94601f;
  --aja-size: 48px;
  /* Vertical position: lines up with the Request An Appointment button */
  --aja-top: 30px;
  /* Horizontal position: sits between the Request button and the accessibility icon */
  --aja-right: max(80px, calc(50% - 787px));
  /* Total width of the opened field (includes the icon) */
  --aja-field-width: 280px;
}

/* Take the container out of the header flow and pin it to the screen */
.elementor-element.aja-search-desk {
  position: fixed;
  top: var(--aja-top);
  right: var(--aja-right);
  z-index: 9998;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  --width: auto;
  --min-height: 0;
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
}

.aja-search-desk .elementor-widget-shortcode,
.aja-search-desk .elementor-widget-container,
.aja-search-desk .elementor-shortcode {
  width: auto;
  margin: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}

.aja-search-desk .asl_w_container.asl_w_container_1 {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* Outer plugin wrapper: no background, no clipped square shadow */
.aja-search-desk #ajaxsearchlite1.asl_w {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

/* The round icon (blue circle inside a gold ring) */
.aja-search-desk #ajaxsearchlite1.asl_m .probox {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: var(--aja-size);
  height: var(--aja-size);
  margin: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 2px solid var(--aja-gold);
  border-radius: 50%;
  box-shadow: none;
}

/* Search field: slides out to the LEFT of the icon, on the same line */
.aja-search-desk #ajaxsearchlite1 .proinput {
  position: absolute;
  top: -2px;
  right: -2px;
  box-sizing: border-box;
  width: 0;
  height: var(--aja-size);
  min-width: 0;
  margin: 0;
  padding: 0 var(--aja-size) 0 0;
  overflow: hidden;
  background: #ffffff;
  border: 2px solid var(--aja-gold);
  border-radius: 50px;
  box-shadow: 0 8px 22px rgba(37, 64, 155, 0.25);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: width 0.35s ease, opacity 0.25s ease, visibility 0.35s ease;
  z-index: 1;
}

.aja-search-desk #ajaxsearchlite1 .probox:hover .proinput,
.aja-search-desk #ajaxsearchlite1 .probox:focus-within .proinput {
  width: var(--aja-field-width);
  padding: 0 var(--aja-size) 0 20px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.aja-search-desk #ajaxsearchlite1 .proinput form {
  display: flex;
  align-items: center;
  height: 100%;
  margin: 0;
  padding: 0;
}

/* Typed text - text-fill-color beats the plugin's forced colour without !important */
.aja-search-desk #ajaxsearchlite1 .proinput input.orig {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  outline: none;
  color: var(--aja-blue);
  -webkit-text-fill-color: var(--aja-blue);
  caret-color: var(--aja-gold);
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: normal;
}

.aja-search-desk #ajaxsearchlite1 .proinput input.orig::placeholder {
  color: #7d8bb8;
  -webkit-text-fill-color: #7d8bb8;
  font-weight: 500;
  opacity: 1;
}

/* Hide the autocomplete ghost input */
.aja-search-desk #ajaxsearchlite1 .proinput input.autocomplete {
  display: none;
}

/* Magnifier: solid blue circle with a perfectly centred icon (sits above the field) */
.aja-search-desk #ajaxsearchlite1 .promagnifier {
  position: relative;
  z-index: 3;
  flex: 0 0 calc(var(--aja-size) - 4px);
  box-sizing: border-box;
  width: calc(var(--aja-size) - 4px);
  height: calc(var(--aja-size) - 4px);
  margin: 0;
  padding: 0;
  float: none;
  background: var(--aja-blue);
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.aja-search-desk #ajaxsearchlite1 .promagnifier:hover {
  background: var(--aja-gold);
}

.aja-search-desk #ajaxsearchlite1 .promagnifier .innericon {
  position: relative;
  float: none;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
  background: transparent;
}

.aja-search-desk #ajaxsearchlite1 .promagnifier .innericon svg {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: 0;
  transform: translate(-50%, -50%);
  fill: #ffffff;
}

/* Hide settings, loader and close icons (the plugin shows some of them with inline styles, so visibility is used) */
.aja-search-desk #ajaxsearchlite1 .prosettings,
.aja-search-desk #ajaxsearchlite1 .proloading,
.aja-search-desk #ajaxsearchlite1 .proclose {
  position: absolute;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
}

/* Results dropdown: directly under the field, right edges aligned.
   The plugin sets top/left/width inline (left = icon's left edge, top = icon's bottom),
   so margins shift it without !important.
   If you change --aja-field-width or --aja-size, update the 280px and -232px below. */
#ajaxsearchliteres1.asl_r {
  min-width: 280px;
  margin-top: 8px;
  margin-left: -232px;
  box-sizing: border-box;
  background: #ffffff;
  border: 2px solid var(--aja-gold, #94601f);
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}

/* Hide the auto-populated results while the field is empty (placeholder showing).
   clip-path is used because the plugin sets display/opacity/visibility inline. */
body:has(.aja-search-desk input.orig:placeholder-shown) #ajaxsearchliteres1.asl_r {
  clip-path: inset(100%);
  pointer-events: none;
}

/* Fade the Request An Appointment button while the search field is open, so nothing overlaps */
.elementor-element-4932c70 {
  transition: opacity 0.25s ease;
}

body:has(.aja-search-desk .probox:hover, .aja-search-desk .probox:focus-within, .aja-search-desk.aja-open) .elementor-element-4932c70 {
  opacity: 0;
}

/* ===== Touch devices (iPad, tablets, large phones): open with a tap instead of hover ===== */
@media (hover: none), (pointer: coarse) {

  /* Closed: stays closed even if the browser leaves a sticky :hover state after a tap */
  .elementor-element.aja-search-desk:not(.aja-open) #ajaxsearchlite1 .probox .proinput {
    width: 0;
    padding: 0 var(--aja-size) 0 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  /* Open: the script adds the aja-open class when the icon is tapped */
  .elementor-element.aja-search-desk.aja-open #ajaxsearchlite1 .probox .proinput {
    width: var(--aja-field-width);
    padding: 0 var(--aja-size) 0 20px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .elementor-element.aja-search-desk.aja-open #ajaxsearchlite1 .promagnifier {
    background: var(--aja-gold);
  }

  /* Closed: the plugin's magnifier ignores taps, so it can never start a search.
     The tap lands on the circle (.probox) and the script opens the field instead. */
  .elementor-element.aja-search-desk:not(.aja-open) #ajaxsearchlite1 .promagnifier {
    pointer-events: none;
  }
}

/* Mobile and small tablets have their own .aja-search icon */
@media (max-width: 1024px) {
  .elementor-element.aja-search-desk {
    display: none;
  }
}
/* ===== Floating search icon (Ajax Search Lite) - mobile & tablet ===== */

@media (max-width: 1024px) {

  :root {
    --aja-blue: #25409b;
    --aja-gold: #94601f;
    --aja-size: 40px;
    /* Distance from the top of the screen (below the EN/ES switcher) */
    --aja-top: 136px;
    --aja-right: 16px;
    /* Opened field width (includes the icon): fits small phones, max 300px on iPad */
    --aja-field-width: min(300px, calc(100vw - 32px));
  }

  /* Take the container out of the header and pin it to the screen */
  .elementor-element.aja-search {
    position: fixed;
    top: var(--aja-top);
    right: var(--aja-right);
    z-index: 9990;
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    overflow: visible;
    background: transparent;
    box-shadow: none;
    --width: auto;
    --min-height: 0;
    --padding-top: 0px;
    --padding-right: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
  }

  .aja-search .elementor-widget-shortcode,
  .aja-search .elementor-widget-container,
  .aja-search .elementor-shortcode {
    width: auto;
    margin: 0;
    padding: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
  }

  .aja-search .asl_w_container.asl_w_container_2 {
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  /* Outer plugin wrapper: no background, no clipped square shadow */
  .aja-search #ajaxsearchlite2.asl_w {
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  /* The round icon (blue circle inside a gold ring) */
  .aja-search #ajaxsearchlite2.asl_m .probox {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: var(--aja-size);
    height: var(--aja-size);
    margin: 0;
    padding: 0;
    overflow: visible;
    background: transparent;
    border: 2px solid var(--aja-gold);
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(37, 64, 155, 0.3);
  }

  /* Search field: closed by default, slides out to the LEFT of the icon on the same line */
  .aja-search #ajaxsearchlite2 .proinput {
    position: absolute;
    top: -2px;
    right: -2px;
    box-sizing: border-box;
    width: 0;
    height: var(--aja-size);
    min-width: 0;
    margin: 0;
    padding: 0 var(--aja-size) 0 0;
    overflow: hidden;
    background: #ffffff;
    border: 2px solid var(--aja-gold);
    border-radius: 50px;
    box-shadow: 0 8px 22px rgba(37, 64, 155, 0.25);
    opacity: 0;
    pointer-events: none;
    transition: width 0.35s ease, opacity 0.25s ease;
    z-index: 1;
  }

  /* Open state: the script adds the aja-open class when the icon is tapped */
  .elementor-element.aja-search.aja-open #ajaxsearchlite2 .proinput {
    width: var(--aja-field-width);
    padding: 0 var(--aja-size) 0 16px;
    opacity: 1;
    pointer-events: auto;
  }

  .aja-search #ajaxsearchlite2 .proinput form {
    display: flex;
    align-items: center;
    height: 100%;
    margin: 0;
    padding: 0;
  }

  /* Typed text - text-fill-color beats the plugin's forced colour without !important */
  .aja-search #ajaxsearchlite2 .proinput input.orig {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    outline: none;
    color: var(--aja-blue);
    -webkit-text-fill-color: var(--aja-blue);
    caret-color: var(--aja-gold);
    font-family: inherit;
    font-weight: 600;
    line-height: normal;
  }

  .aja-search #ajaxsearchlite2 .proinput input.orig::placeholder {
    color: #7d8bb8;
    -webkit-text-fill-color: #7d8bb8;
    font-weight: 500;
    opacity: 1;
  }

  /* Hide the autocomplete ghost input */
  .aja-search #ajaxsearchlite2 .proinput input.autocomplete {
    display: none;
  }

  /* Magnifier: solid blue circle with a perfectly centred icon (sits above the field) */
  .aja-search #ajaxsearchlite2 .promagnifier {
    position: relative;
    z-index: 3;
    flex: 0 0 calc(var(--aja-size) - 4px);
    box-sizing: border-box;
    width: calc(var(--aja-size) - 4px);
    height: calc(var(--aja-size) - 4px);
    margin: 0;
    padding: 0;
    float: none;
    background: var(--aja-blue);
    border: 0;
    border-radius: 50%;
    box-shadow: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }

  .elementor-element.aja-search.aja-open #ajaxsearchlite2 .promagnifier {
    background: var(--aja-gold);
  }

  /* Closed state: the plugin's magnifier button ignores taps, so it can never start a search.
     The tap lands on the circle (.probox) and the script opens the field instead. */
  .elementor-element.aja-search:not(.aja-open) #ajaxsearchlite2 .promagnifier {
    pointer-events: none;
  }

  .aja-search #ajaxsearchlite2 .promagnifier .innericon {
    position: relative;
    float: none;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    line-height: 0;
    background: transparent;
  }

  .aja-search #ajaxsearchlite2 .promagnifier .innericon svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    margin: 0;
    transform: translate(-50%, -50%);
    fill: #ffffff;
  }

  /* Hide settings, loader and close icons (the plugin shows some of them with inline styles, so visibility is used) */
  .aja-search #ajaxsearchlite2 .prosettings,
  .aja-search #ajaxsearchlite2 .proloading,
  .aja-search #ajaxsearchlite2 .proclose {
    position: absolute;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
  }

  /* Results dropdown: directly under the field, right edges aligned.
     The plugin sets top/left/width inline (left = icon's left edge, top = icon's bottom),
     so margins shift it without !important. */
  #ajaxsearchliteres2.asl_r {
    box-sizing: border-box;
    min-width: var(--aja-field-width);
    max-width: calc(100vw - 32px);
    margin-top: 8px;
    margin-left: calc(var(--aja-size) - var(--aja-field-width));
    background: #ffffff;
    border: 2px solid var(--aja-gold);
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
    overflow: hidden;
    z-index: 99999;
  }

  /* Hide the auto-populated results while the field is empty (placeholder showing).
     clip-path is used because the plugin sets display/opacity/visibility inline. */
  body:has(.aja-search input.orig:placeholder-shown) #ajaxsearchliteres2.asl_r {
    clip-path: inset(100%);
    pointer-events: none;
  }
}