/* --------------------------------------------------
 >> Reset & Box Model
-------------------------------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background-color: #feeaeb;
    border-radius: 8px;
}

::-webkit-scrollbar-thumb {
    background-color: #b61e42;
    border-radius: 8px;
    border: 2px solid #feeaeb;
}

body {
    scrollbar-width: thin;
    border-radius: 8px;
    scrollbar-color: #b61e42 #feeaeb;
    font-display: swap;
}

body.modal-open,
.modal.show
 {
  padding-right: 0 !important;
}

/* ::selection {
  background-color: #9a3e8a;
  color: #fff;
} */

/* --------------------------------------------------
  >> Font Faces
-------------------------------------------------- */
@font-face {
    font-family: "WorkSans";
    src: url("/themes/indiraivf/fonts/WorkSans-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "WorkSans";
    src: url("/themes/indiraivf/fonts/WorkSans-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "WorkSans";
    src: url("/themes/indiraivf/fonts/WorkSans-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: "WorkSans";
    src: url("/themes/indiraivf/fonts/WorkSans-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

/* --------------------------------------------------
  >> Base HTML Styles
-------------------------------------------------- */
html,
body {
    background-color: #fff;
    font-family: "WorkSans", sans-serif;
    color: #000;
    font-weight: 400;
    font-size: 16px;
}

html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    scrollbar-gutter: stable;
}

img,
picture,
video,
canvas,
svg {
    max-width: 100%;
    height: auto;
}

/* --------------------------------------------------
  >> Typography & Text Elements
-------------------------------------------------- */
h1,
h2 {
    font-family: "WorkSans", sans-serif;
    font-weight: 600;
    margin-bottom: 30px;
    letter-spacing: -1.3px;
}

h1 {
    font-size: 2.75rem;
}

h2 {
    font-size: 2.25rem;
}

h3 {
    font-size: 2rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.3;
}

h3,
h4,
h5,
h6 {
    margin-bottom: 0;
}

p,
li,
blockquote,
input,
textarea,
button {
    line-height: 1.5;
}

/* --------------------------------------------------
  5. Lists
-------------------------------------------------- */
ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

ol {
    list-style: decimal;
    margin-left: 25px;
}


/* --------------------------------------------------
  >> Links
-------------------------------------------------- */
a,
a:hover,
a:visited {
    text-decoration: none;
    cursor: pointer;
    color: inherit;
    line-height: unset;
}


/* --------------------------------------------------
>>Buttons 
-------------------------------------------------- */
button,
.btn,
a.btn {
    cursor: pointer;
    box-shadow: none;
    outline: none;
    border: none;
    border-radius: 6px;
    background-color: #b61e42;
    color: #fff;
    padding: 10px 25px;
    font-family: inherit;
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: 0.25px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    gap: 5px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-size: 200% 100%;
    background-position: right center;
    transition: background-position 0.6s ease, color 0.3s ease;
    color: #fff;
}

.btn:hover,
button:hover,
.btn:visited:hover,
.btn:visited:focus,
.btn:visited:focus-visible {
    color: #fff;
}

button:hover,
button:focus,
button:focus-visible,
button:active,
.btn:hover,
.btn:focus,
.btn:focus-visible,
.btn:active,
.btn:visited:hover,
.btn:visited:focus,
.btn:visited:focus-visible {
    box-shadow: none;
    outline: none;
    border: none;
}

.btn:hover {
    background-position: left center;
}

/* Blue to Red */
.btn-blue-red {
    background-image: linear-gradient(to right,
            #b61e42 0%, #b61e42 50%,
            #2b37ae 50%, #2b37ae 100%);
}

/* Red to Blue */
.btn-red-blue {
    background-image: linear-gradient(to right,
            #2b37ae 0%, #2b37ae 50%,
            #b61e42 50%, #b61e42 100%);
}

/* Red to White */
.btn-red-white {
    background-image: linear-gradient(to right,
            #ffffff 0%, #ffffff 50%,
            #b61e42 50%, #b61e42 100%);
}

.btn-red-white:hover {
    color: #b61e42 !important;
}

/* Blue to White */
.btn-blue-white {
    background-image: linear-gradient(to right,
            #ffffff 0%, #ffffff 50%,
            #2b37ae 50%, #2b37ae 100%);
    color: #ffffff;
}

.btn-blue-white:hover {
    color: #2b37ae !important;
}

/* Transparent to Blue */
.btn-transparent-blue-bdr {
    border: 2px solid #2b37ae !important;
    background-color: transparent !important;
    color: #2b37ae !important;
    background-image: linear-gradient(to right,
            #2b37ae 0%, #2b37ae 50%,
            #ffffff00 50%, #ffffff00 100%);
}

.btn-transparent-blue-bdr:hover {
    color: #ffffff !important;
}

/* Transparent to Red */
.btn-transparent-red-bdr {
    border: 2px solid #b61e42 !important;
    background-color: transparent !important;
    color: #b61e42 !important;
    background-image: linear-gradient(to right,
            #b61e42 0%, #b61e42 50%,
            #ffffff00 50%, #ffffff00 100%);
}

.btn-transparent-red-bdr:hover {
    color: #ffffff !important;
}

/* Transparent to White */
.btn-transparent-white-bdr {
    border: 2px solid #fff !important;
    background-color: transparent !important;
    color: #ffffff !important;
    background-image: linear-gradient(to right,
            #ffffff 0%, #ffffff 50%,
            #ffffff00 50%, #ffffff00 100%);
}

.btn-transparent-white-bdr:hover {
    color: #b61e42 !important;
}

/* Underline animation on button */
.hover-underline {
    color: #2b37ae;
    font-weight: 500;
    font-size: 18px;
    position: relative;
    display: inline-block;
}

.hover-underline:hover {
    color: #b61e42;
}

.hover-underline::after,
.hover-underline::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, #b61e42, #2b37ae);
    bottom: -5px;
    left: 0;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.4s ease-out;
}

.hover-underline::before {
    top: -5px;
    transform-origin: left;
}

.hover-underline:hover::after,
.hover-underline:hover::before {
    transform: scaleX(1);
}

/* --------------------------------------------------
  >> Forms: Input, Select, Textarea
-------------------------------------------------- */
input,
.form-control,
textarea,
select {
    box-shadow: none;
    outline: none;
    border: 2px solid #000000;
    background-color: #fff;
    border-radius: 5px;
    background: none;
    padding: 12px;
    margin: 0;
    font-family: inherit;
    font-size: 14px;
    color: inherit;
    width: 100%;
    height: auto;
}

input.form-control::placeholder {
    font-family: inherit;
    color: inherit;
}

input,
textarea {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

input:-internal-autofill-previewed,
input:focus,
.form-control:focus,
.form-control.is-invalid:focus,
select:focus,
textarea:focus,
input:focus-visible,
.form-control:focus-visible {
    outline: none;
    box-shadow: none;
    background-color: #ffffff;
    border: 2px solid #000000;
}

input[type=checkbox],
input[type=radio] {
    appearance: auto;
    accent-color: #b61e42;
    width: 16px;
    height: 16px;
}


input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input:-webkit-autofill {
    background-color: white !important;
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
    -webkit-text-fill-color: #000 !important;
}

textarea {
    resize: none;
}

/* --------------------------------------------------
 >> Animations
-------------------------------------------------- */
@keyframes bg-blink {
    0% {
        background-color: #b61e42;
    }

    50% {
        background-color: #2b37ae;
    }

    100% {
        background-color: #b61e42;
    }
}

@keyframes text-blink {
    0% {
        color: #b61e42;
    }

    50% {
        color: #2b37ae;
    }

    100% {
        color: #b61e42;
    }
}

@keyframes swing {
    0% {
        transform: rotate(5deg);
    }

    50% {
        transform: rotate(-5deg);
    }

    100% {
        transform: rotate(5deg);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes popIn {
    to {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes fadeSlideUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes typing {
    from {
        width: 0;
    }

    to {
        width: 100%;
    }
}

@keyframes blinking {
    50% {
        border-color: transparent;
    }
}

.slideup-animation {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeSlideUp 1s ease-out forwards;
}

.typing-animation {
    overflow: hidden;
    border-right: 2px solid #000;
    white-space: nowrap;
    width: 0;
    animation: typing 3s steps(30, end) forwards, blinking 0.75s step-end infinite;
}

.popin-animation {
    transform: scale(0.8);
    opacity: 0;
    animation: popIn 0.8s ease-out forwards;
}

.bg-blinker {
    animation: bg-blink 1s infinite;
}

.text-blinker {
    font-weight: 700;
    animation: text-blink 1s infinite;
}

/* --------------------------------------------------
 >> Miscellaneous
-------------------------------------------------- */
span {
    display: inline-block;
}

.highlighter {
    color: #b61e42;
    font-weight: 600;
}

fieldset {
    border: none;
    margin: 0;
    padding: 0;
}

legend {
    padding: 0;
}

.btn-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.error {
    color: red;
    font-size: 14px;
    margin-top: 5px;
    display: none;
}

.is-invalid {
    border-color: red;
}

section {
    margin-bottom: 3.5rem;
}

p {
    margin-bottom: 0;
}

p+p {
    margin-top: 15px;
}

.text-sm {
    font-size: 14px;
}

.text-xs {
    font-size: 12px;
}

.succ_msg_map {
    display: unset;
}

.layout-container .contextual-region>div.js-form-item {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px;
    margin-bottom: 2.5rem;
}

.layout-container .contextual-region h4.label {
    color: #b61e42;
    font-weight: 600;
}

/* --------------------------------------------------
 >> Ordered Unordered List
-------------------------------------------------- */
.unordered-list {
    padding-left: 40px;
}

.unordered-list li {
    list-style-type: disc;
}

.unordered-list li::marker {
    color: #b61e42;
    font-size: 20px;
    font-weight: bold;
}

.unordered-list li+li {
    margin-top: 15px;
}

.unordered-list h3,
.ordered-list h3 {
    font-size: 20px;
    margin-bottom: 20px;
}

.ordered-list li::marker {
    font-weight: bold;
}

/* --------------------------------------------------
 >> Generic Table
-------------------------------------------------- */

.tbl-data {
    padding: 0;
    margin: 30px 0;
    border-radius: 12px;
    background-color: #ffffff;
    border: 1px solid #c1c1c1;
}

.tbl-data tr th,
.tbl-data tr td {
    text-align: left;
}

.tbl-data tbody tr:nth-child(odd) {
    background-color: #f5f5f5;
}

.tbl-data .table td:last-child,
.tbl-data .table th:last-child {
    border-right: 0;
}

.tbl-data .table th {
    background-color: #b61e42;
    border-top: 0;
    border-bottom-width: 1px;
    color: #fff;
}

.tbl-data .table th,
.tbl-data .table td {
    padding: 25px 30px;
}

.tbl-data .table td,
.tbl-data .table th {
    border-color: #c1c1c1;
    border-right: 1px solid #c1c1c1;
}

.tbl-data .table td a:hover {
    color: #b61e42;
    text-decoration: underline;
}


/* --------------------------------------------------
 >> User Login
-------------------------------------------------- */
.user-login-form {
    max-width: 500px;
    margin: 40px auto;
    padding: 30px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
    font-family: "WorkSans", sans-serif;
}

.user-login-form .form-item {
    margin-bottom: 30px;
    position: relative;
}

.user-login-form input[type="text"],
.user-login-form input[type="password"] {
    width: 100%;
    padding: 12px 14px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 8px;
    transition: border 0.3s ease;
    background-color: #f9f9f9;
}

.user-login-form input[type="text"]:focus,
.user-login-form input[type="password"]:focus {
    border-color: #000;
    outline: none;
    background-color: #fff;
}

.user-login-form input[type="password"] {
    letter-spacing: 10px;
}

.user-login-form input::placeholder {
    font-family: "WorkSans", sans-serif;
    color: #999;
}

.user-login-form .description {
    font-family: "WorkSans", sans-serif;
    font-size: 13px;
    margin-top: 10px;
}

.user-login-form input[type="submit"] {
    width: 100%;
    padding: 12px;
    font-size: 16px;
    background-color: #b61e42;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.user-login-form input[type="submit"]:hover {
    background-color: #eb1748;
}

.icon {
    width: 25px;
    height: 25px;
}

.icon-red {
    filter: brightness(0) saturate(100%) invert(16%) sepia(97%) saturate(2178%) hue-rotate(328deg) brightness(99%) contrast(97%);
}

.icon-blue {
    filter: brightness(0) saturate(100%) invert(18%) sepia(88%) saturate(2063%) hue-rotate(227deg) brightness(92%) contrast(101%);
}

/* --------------------------------------------------
 >> Reusable Components
-------------------------------------------------- */
/* >> Magnifier */
.magnifier-container {
    display: flex;
    cursor: crosshair;
}

.magnifier-container img {
    display: block;
    max-width: 100%;
}

.magnifier-glass {
    position: absolute;
    border: 2px solid #082a7b;
    border-radius: 50%;
    cursor: none;
    width: 220px;
    height: 220px;
    background-repeat: no-repeat;
    background-size: 200%;
    pointer-events: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 1;
}

/* >> Generic Carousel (Single View) */
.generic-carousel-container {
    width: 100%;
    /* max-width: 1200px; */
    margin: auto;
    height: 450px;
    position: relative;
    margin-top: 2rem;
    perspective: 1000px;
}

.generic-carousel-container .carousel-track {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.generic-carousel-container .image-card {
    position: absolute;
    width: 280px;
    height: 380px;
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    cursor: pointer;
}

.generic-carousel-container .image-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.generic-carousel-container .image-card.center {
    z-index: 10;
    transform: scale(1.1) translateZ(0);
}

.generic-carousel-container .image-card.left-2 {
    z-index: 1;
    transform: translateX(-400px) scale(0.8) translateZ(-300px);
    opacity: 0.7;
    filter: brightness(0.9);
}

.generic-carousel-container .image-card.left-1 {
    z-index: 5;
    transform: translateX(-200px) scale(0.9) translateZ(-100px);
    opacity: 0.9;
    filter: brightness(0.9);
}

.generic-carousel-container .image-card.right-1 {
    z-index: 5;
    transform: translateX(200px) scale(0.9) translateZ(-100px);
    opacity: 0.9;
    filter: brightness(0.9);
}

.generic-carousel-container .image-card.right-2 {
    z-index: 1;
    transform: translateX(400px) scale(0.8) translateZ(-300px);
    opacity: 0.7;
    filter: brightness(0.9);
}

.generic-carousel-container .image-card.hidden {
    opacity: 0;
    pointer-events: none;
}

.generic-carousel-container .nav-arrows-topright {
    position: absolute;
    top: 10px;
    right: 20px;
    display: flex;
    gap: 10px;
    z-index: 20;
}

.generic-carousel-container .nav-arrow {
    background-color: #2b37ae;
    padding: 10px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: none;
    outline: none;
    transition: all 0.3s ease;
}

.generic-carousel-container .nav-arrow img {
    width: 15px;
    height: 15px;
    filter: invert(1);
}

.generic-carousel-container .nav-arrow:hover {
    /* transform: scale(1.1); */
    background-color: #b61e42;
}

.generic-carousel-container .nav-arrow:hover img {
    transform: scale(1.1);
}

/* >> Custom Cards */
.hover-card-wrapper {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 30px;
    width: 100%;
    flex-wrap: wrap;
}

.hover-card-wrapper .card-content {
    width: calc(33.33% - 20px);
    display: flex;
    flex-direction: column;
}

.hover-card-wrapper .card-content .card-image {
    border-radius: 16px;
    overflow: hidden;
}

.hover-card-wrapper .card-content .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    display: block;
}

.hover-card-wrapper .card-content:hover img {
    transform: scale(1.1);
}

.hover-card-wrapper .card-content .card-details {
    padding: 10px 15px;
}


.hover-card-wrapper .card-content .card-details h3 {
    font-size: 20px;
    color: #b61e42;
    font-weight: 600;
    text-align: center;
}

.hover-card-wrapper .card-content .card-details p {
    text-align: center;
    margin-top: 5px;
}

/* >> Info Cards */
.info-cards-wrapper {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 30px;
    width: 100%;
    flex-wrap: wrap;
}

.info-cards-wrapper .info-card {
    width: calc(33.33% - 20px);
    border-radius: 16px;
    overflow: hidden;
    padding: 30px;
    box-shadow: 1px 0px 8px 1px rgba(215, 6, 48, 0.2)
}

.info-cards-wrapper .info-card .info-card-image {
    display: flex;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
    width: 90px;
    height: 90px;
    padding: 15px;
    border-radius: 50%;
    background-color: #feadb4;
    transition: transform 0.3s ease-in-out;
}

.info-cards-wrapper .info-card .info-card-image:hover {
    transform: scale(1.1);
}

.info-cards-wrapper .info-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 0 0 auto;
}

.info-cards-wrapper .info-card-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 0 0 auto;
    /* margin-top: auto; */
}

.info-cards-wrapper .info-card h3 {
    color: #b61e42;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
}

.info-cards-wrapper .info-card p {
    font-size: 16px;
    text-align: center;
}

.info-cards-wrapper .info-card-content .redirection-cta {
    margin: auto auto 0px;
}

a.hover-underline {
    color: #2b37ae;
    font-weight: 500;
    font-size: 18px;
    position: relative;
    display: inline-block;
}

.hover-underline:hover {
    color: #b61e42;
}

.hover-underline::after,
.hover-underline::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, #b61e42, #2b37ae);
    bottom: -5px;
    left: 0;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.4s ease-out;
}

.hover-underline::before {
    top: -5px;
    transform-origin: left;
}

.hover-underline:hover::after,
.hover-underline:hover::before {
    transform: scaleX(1);
}

/* Read More - Less */
.introduction-wrapper .read-more-less-content p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: all 0.3s ease;
    text-align: left;
}

.introduction-wrapper .read-more-less-content.open p {
    -webkit-line-clamp: unset;
    display: block;
    overflow: visible;
    text-overflow: initial;
}

.introduction-wrapper .read-more-less-content .read-more-less {
    text-align: left;
    color: #b61e42;
    font-weight: 500;
}

/* Pagination */
.custom-pagination {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.custom-pagination .pager__items {
    display: flex;
    gap: 10px;
    padding: 0;
    list-style: none;
    justify-content: center;
    flex-wrap: wrap;
}

.custom-pagination .pager__item a {
    padding: 8px 16px;
    border: 1px solid #feadb4;
    background: #ffffff;
    color: #000000;
    font-size: 14px;
    text-decoration: none;
    display: block;
    transition: 0.3s;
}

.custom-pagination .pager__item.is-active a {
    background: #b61e42;
    color: #ffffff;
    pointer-events: none;
    border-color: #b61e42;
}

.custom-pagination .pager__item a:hover,
.custom-pagination .pager__item a:focus {
    background: #2b37ae;
    color: #ffffff;
}

.custom-pagination .pager__item--disabled a,
.custom-pagination .pager__item--disabled a:hover {
    opacity: 0.5;
    cursor: not-allowed;
    background: #ffffff;
    color: #000000;
    border-color: #feadb4;
}

.steps-list-wrapper {
    margin-left: 25px;
}

.steps-list-wrapper a {
    color: #4285F4;
}

.steps-list-wrapper a:hover {
    color: #2871e6;
    text-decoration: underline;
}

.steps-list-wrapper .steps-list-item {
    border: none;
    border-left: 5px solid #2b37ae;
    box-sizing: border-box;
    border-radius: 0;
    counter-increment: step-counter;
    padding-left: 30px;
    padding-right: 0px;
    padding-bottom: 50px;
    padding-top: 0px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.steps-list-wrapper .steps-list-item:last-child {
    padding-bottom: 0;
}

.steps-list-wrapper .steps-list-item::before {
    border-radius: 50%;
    background-color: #b61e42;
    color: #ffffff;
    content: counter(step-counter);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    height: 50px;
    line-height: 25px;
    margin-left: -58px;
    text-align: center;
    width: 50px;
}

.steps-list-wrapper .steps-list-item p {
    display: block;
    overflow: hidden;
    padding-top: 2px;
}

/* --------------------------------------------------
 >> Custom select (For Blogs Page)
-------------------------------------------------- */
/* .browse-by-wrapper .selection {
    display: unset;
}

.browse-by-wrapper .selection .select2-selection {
    box-shadow: none;
    outline: none;
    border: 2px solid #000000;
    background-color: #ffffff;
    border-radius: 5px;
    background: none;
    padding: 12px;
    margin: 0;
    font-family: inherit;
    font-size: 13px;
    color: inherit;
    width: 100%;
    height: 55px;
}

.browse-by-wrapper .selection .select2-selection:focus,
.browse-by-wrapper .selection .select2-selection:focus-visible {
    outline: none;
    box-shadow: none;
    background-color: #ffffff;
    border: 2px solid #000000;
}

.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #000000;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border: 1px solid #000000;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    padding: 10px;
}

.browse-by-wrapper .selection .select2-selection__rendered {
    padding: 0;
}

.browse-by-wrapper .selection .select2-selection__clear {
    font-size: 20px;
    color: #b61e42;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 50%;
    right: 18px;
    width: auto;
    height: auto;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #b61e42 transparent transparent transparent;
    border-width: 8px 6px 0 6px;
    margin-top: -5px;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #b61e42 transparent;
    border-width: 0 6px 8px 6px;
}

.browse-by-wrapper .select2-container {
    height: 55px;
    width: 100% !important;
}

.select2-dropdown .select2-search--dropdown {
    padding: 8px;
    display: none;
}

.select2-dropdown {
    z-index: 0;
}

.select2-container--default .select2-results {
    font-size: 13px;
}

.select2-container--default .select2-results__option--selected {
    background-color: transparent;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #b61e42;
}

.select2-results .select2-results__option {
    padding: 6px 10px;
} */

/* --------------------------------------------------
 >> Custom select (For Blogs Page)
-------------------------------------------------- */
.filter-form-elements {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    margin-bottom: 30px;
}

.filter-form-elements .form-group {
    width: 350px;
    margin-bottom: 0;
}

.filter-form-elements .input-search .form-control,
.filter-form-elements .browse-by-wrapper .form-control {
    padding: 12px;
    height: 55px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.filter-form-elements .form-control,
.filter-form-elements .form-control::placeholder {
    color: #000000;
}

.filter-form-elements .input-search,
.filter-form-elements .browse-by-wrapper {
    position: relative;
}

.filter-form-elements .input-search::before,
.filter-form-elements .browse-by-wrapper:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    pointer-events: none;
    background-size: contain;
    background-repeat: no-repeat;
}

.filter-form-elements .input-search::before {
    background-image: url('/themes/indiraivf/images/nw/icons/search-icon.svg');
}

.filter-form-elements .browse-by-wrapper::before {
    background-image: url('/themes/indiraivf/images/nw/icons/chevron-down-icon.svg');
}

/* .filter-form-elements .input-search .suggestions-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 10;
    background: #fff;
    list-style: none;
    padding: 0;
    margin: 5px 0 0;
    max-height: 200px;
    overflow-y: auto;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.filter-form-elements .input-search .suggestions-list li {
    padding: 10px;
    cursor: pointer;
    font-size: 14px;
    border-bottom: 1px solid #eee;
}

.filter-form-elements .input-search .suggestions-list li:hover {
    background-color: #b61e42;
    color: #ffffff;
} */

/* --------------------------------------------------
 >> Top Band
-------------------------------------------------- */
.top-band-wrapper {
    background-color: #feadb4;
    padding: 10px 0;
}

.top-band-wrapper .custom-container {
    max-width: 1200px;
    padding: 0 20px;
    margin: 0 auto;
}

.top-band-wrapper .custom-container .top-band-elements {
    display: flex;
    align-items: center;
    gap: 15px;
    justify-content: flex-end;
}

.top-band-wrapper .custom-container .top-band-elements .whatsapp-block,
.top-band-wrapper .custom-container .top-band-elements .call-block {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
}

/* --------------------------------------------------
 >> Header
-------------------------------------------------- */
.custom-header {
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 0;
    z-index: 10;
}

.custom-header .custom-nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.custom-header .custom-nav-container .brand-logo .custom-logo img {
    width: 170px;
    height: auto;
}

/* Navbar */
.custom-header .custom-nav-container .custom-navbar {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 15px 30px;
    margin: 0;
    padding: 0;
    font-size: 14px;
}

.custom-header .custom-nav-container .custom-navbar .nav-item {
    position: relative;
}

.custom-header .custom-nav-container .custom-navbar .nav-link {
    text-decoration: none;
    color: #000;
    display: inline-block;
    position: relative;
    transition: color 0.3s ease;
    cursor: pointer;
    padding: 0;
}

.custom-header .custom-nav-container .custom-navbar .nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 0;
    height: 2px;
    background: #b61e42;
    transition: width 0.3s ease;
}

.custom-header .custom-nav-container .custom-navbar .nav-link:hover::after,
.custom-header .custom-nav-container .custom-navbar .nav-link.active::after {
    width: 100%;
}

/* Dropdown */
.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .chevron-down-arrow img {
    width: 12px;
    margin-left: 5px;
    transition: transform 0.25s ease-in-out;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu {
    display: none;
    position: absolute;
    left: 0;
    top: 50px;
    background: #fff;
    border: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 0 0 8px 8px;
    flex-direction: row;
    padding: 0;
    font-size: 14px;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown>.dropdown-link.active .chevron-right-arrow img {
    transform: rotate(90deg);
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown>.nav-link.active .chevron-down-arrow img {
    transform: rotate(180deg);
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu.active {
    display: flex;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list {
    list-style: none;
    margin: 0;
    padding: 18px;
    width: 235px;
    border: none;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list li+li {
    margin-top: 20px;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item {
    position: relative;
    padding: 0;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item .dropdown-link {
    text-decoration: none;
    color: #000;
    display: block;
    transition: 0.3s ease, color 0.3s ease;
    cursor: pointer;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item:hover {
    background-color: #fff;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item .dropdown-link:hover,
.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item .dropdown-link.active {
    color: #2b37ae;
    font-weight: 600;
    background-color: #fff;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item .dropdown-link:hover .chevron-right-arrow img,
.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item .dropdown-link.active .chevron-right-arrow img {
    filter: brightness(0) saturate(100%) invert(18%) sepia(88%) saturate(2063%) hue-rotate(227deg) brightness(92%) contrast(101%);
    transition: transform 0.25s ease-in-out;
}

.dropdown-item.has-submenu>.dropdown-link.active .chevron-right-arrow img {
    transform: rotate(90deg);
}

/* Rotate down chevron for main dropdown */
.nav-item.has-dropdown>.dropdown-link.active .chevron-down-arrow img {
    transform: rotate(180deg);
}

/* Submenu */
.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item.has-submenu .chevron-right-arrow img {
    height: 12px;
    margin-left: 10px;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item.has-submenu .submenu {
    display: none;
    flex-direction: column;
    padding: 0 0 0 12px;
    background-color: #fff;
    border: none;
    font-size: 13px;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item.has-submenu .submenu a {
    margin-top: 15px;
    white-space: pre-wrap;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item.has-submenu .submenu.active {
    display: flex;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item.has-submenu .submenu .submenu-link {
    text-decoration: none;
    color: #000;
    display: block;
    transition: background 0.3s ease, color 0.3s ease;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item.has-submenu .submenu .submenu-link:hover {
    background: #fff;
    color: #b61e42;
    font-weight: 600;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item.has-submenu .submenu {
    max-height: 300px;
    overflow-y: auto;
    transition: max-height 0.25s ease-out, opacity 0.25s ease-out;
    opacity: 0;
    scrollbar-width: thin;
    border-radius: 8px;
    scrollbar-color: #b61e42 #feeaeb;
}

.custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list .dropdown-item.has-submenu .submenu.active {
    max-height: 180px;
    opacity: 1;
}

/* Book Appointment Button */
.custom-header .custom-nav-container .custom-navbar .nav-item .book-btn {
    background: #d32f6c;
    color: #fff;
    padding: 10px 18px;
    border-radius: 4px;
    border: none;
    text-decoration: none;
    font-size: 14px;
    transition: background 0.3s;
}

.custom-header .custom-nav-container .custom-navbar .nav-item .book-btn:hover {
    background: #b71c50;
}

/* Hamburger */
.custom-header .custom-nav-container .hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
    cursor: pointer;
    margin-left: auto;
    order: 1;
}

.custom-header .custom-nav-container .hamburger span {
    display: block;
    height: 3px;
    width: 100%;
    background: #b61e42;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.custom-header .custom-nav-container .hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.custom-header .custom-nav-container .hamburger.active span:nth-child(2) {
    opacity: 0;
}

.custom-header .custom-nav-container .hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* --------------------------------------------------
 >> Hero Banner
-------------------------------------------------- */
.hero-banner-wrapper {
    position: relative;
    margin-bottom: 75px;
}

.hero-banner-wrapper .image-display {
    position: relative;
}

.hero-banner-wrapper .image-display img {
    width: 100%;
    height: auto;
    min-height: 350px;
}

.hero-banner-wrapper .hero-banner-content {
    background-color: #b61e42;
    max-width: 40%;
    padding: 40px;
    border-radius: 10px;
    position: absolute;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
}

.hero-banner-wrapper .hero-banner-content h1 {
    color: #ffffff;
    font-size: 2.1rem;
    font-weight: 500;
    margin: 0;
}

.hero-banner-wrapper .hero-banner-content h1+* {
    margin-top: 20px;
}

.hero-banner-wrapper .hero-banner-content p {
    color: #ffffff;
    font-size: 14px;
    font-style: italic;
}

.hero-banner-wrapper .hero-banner-content .btn-wrapper {
    margin-top: 30px;
}

/* --------------------------------------------------
 >> Beadcrumb - Overview
-------------------------------------------------- */

.system-breadcrumb .breadcrumb-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2.5rem;
}

.system-breadcrumb .breadcrumb-inner .breadcrumb-lists {
    display: flex;
    margin: 0;
    padding: 0;
}

.system-breadcrumb .breadcrumb-inner ul li {
    list-style: none !important;
    font-size: 13px;
    color: #b61e42;
}

.system-breadcrumb .breadcrumb-inner ul li a,
.system-breadcrumb .breadcrumb-inner ul li a.active {
    color: #b61e42;
}

.system-breadcrumb .breadcrumb-inner .breadcrumb-lists li:before {
    content: "/";
    font-size: 13px;
    padding-left: 5px;
}

.system-breadcrumb .breadcrumb-inner .breadcrumb-lists li:first-child:before {
    content: "";
}

/* --------------------------------------------------
 >> Introduction - Overview
-------------------------------------------------- */
.introduction-wrapper .introduction-content {
    display: grid;
    grid-template-columns: 1fr 2fr;
    align-items: center;
}

.introduction-wrapper .introduction-content>div:first-child {
    margin-bottom: 0;
    padding: 0 40px;
}

.introduction-wrapper .introduction-content h2 {
    margin-bottom: 0;
}

.introduction-content>div:last-child {
    padding: 0 40px;
    border-left: 2px solid #b61e42;
}

/* .introduction-wrapper .introduction-content p {
    padding: 0 40px;
    border-left: 2px solid #b61e42;
} */

/* --------------------------------------------------
 >> Accrediations
-------------------------------------------------- */
.accrediation-wrapper .accrediation-images-content {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 50px;
    max-width: 70%;
    margin: 30px auto;
}

.accrediation-wrapper .accrediation-images-content h3 {
    font-weight: 600;
    font-size: 20px;
    color: #b61e42;
}

.accrediation-wrapper .accrediation-images-content .magnifier-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}

.accrediation-wrapper .accrediation-images-content img {
    border: 2px solid #b61e42;
    border-radius: 10px;
    /* max-width: 60%; */
}


/* --------------------------------------------------
 >> Info Banner
-------------------------------------------------- */
.info-banner-wrapper,
.info-banner-wrapper .image-display {
    position: relative;
}

.info-banner-wrapper .image-display img {
    width: 100%;
    height: auto;
}

.info-banner-wrapper .image-display::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(226, 113, 134, 0.5);
    pointer-events: none;
    border-radius: inherit;
}

.info-banner-wrapper .info-banner-content {
    background-color: transparent;
    max-width: calc(80% - 30px);
    width: 100%;
    padding: 25px;
    border-radius: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.info-banner-wrapper .info-banner-content p {
    color: #ffffff;
    font-size: 3rem;
    font-weight: 600;
    margin-bottom: 30px;
    text-align: center;
}

.info-banner-wrapper .info-banner-content .btn-wrapper {
    justify-content: center;
}

/* --------------------------------------------------
 >> Back to Top
-------------------------------------------------- */
.back-to-top {
    display: none;
    position: fixed;
    bottom: 55px;
    right: 15px;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background-color: #2b37ae;
    cursor: pointer;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
    z-index: 10;
    transition: opacity 0.3s ease, transform 0.3s ease;
    opacity: 0;
    pointer-events: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.back-to-top.show {
    opacity: 1;
    pointer-events: auto;
    display: flex;
}

.back-to-top:hover {
    transform: scale(1.05);
}

.back-to-top img {
    width: 20px;
    height: 20px;
    filter: invert(1);
}

/* --------------------------------------------------
 >> Book Appointment Modal
-------------------------------------------------- */
#bookAppointmentModal {
    background-color: #00000080;
}

#bookAppointmentModal h5 {
    font-size: 20px;
    font-weight: 500;
}

#bookAppointmentModal .contact-form .label{
    font-size: 14px;
}

.modal-dialog.book-an-appointment-modal {
    justify-content: center;
}

.book-an-appointment-modal .close {
    background-color: #feadb4;
    border-radius: 50%;
    position: absolute;
    top: 10px;
    right: 10px;
    text-shadow: none;
    color: #ffffff;
    opacity: 1;
    line-height: normal;
    width: 24px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.book-an-appointment-modal .close:hover {
    background: #b61e42;
}

.book-an-appointment-modal .modal-content {
    max-width: 500px;
    background-color: #fff;
    border-radius: 15px;
    box-shadow: 1px 0px 8px 1px rgba(215, 6, 48, 0.2);
}

.book-an-appointment-modal .modal-content .modal-body {
    padding: 25px;
}

/* --------------------------------------------------
 >> Contact form
-------------------------------------------------- */
.contact-form .label {
    display: block;
    color: #000000;
    margin-bottom: 5px;
    font-weight: 600;
}

.contact-form .form-group {
    margin-bottom: 20px;
}

.contact-form .form-group .checkbox-wrapper {
    display: flex;
    gap: 5px;
    font-size: 12px;
}

.contact-form .form-group .tnc a {
    color: #4285F4;
    text-decoration: underline;
}

.contact-form .form-control {
    height: auto;
}

.contact-form .data-safe {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 100%;
    margin: 0 0 25px;
}

.contact-form .data-safe p {
    font-size: 13px;
    color: #000000;
    margin: 0;
}

.contact-form .data-safe .icon {
    filter: brightness(0) saturate(100%) invert(48%) sepia(95%) saturate(4975%) hue-rotate(74deg) brightness(98%) contrast(97%);
}

.contact-form .btn-wrapper {
    justify-content: center;
    width: 100%;
}

.contact-form .iti {
    width: 100%;
    position: relative;
}

.contact-form .iti input{
    position: static;
}

.contact-form-wrapper p {
    font-size: 20px;
}

.contact-form-wrapper .contact-form {
    max-width: 600px;
    margin: auto;
}

.contact-form-wrapper .contact-form .btn-wrapper .call-now {
    display: none;
}

.contact-form .iti .mobile-input {
    padding-left: 100px !important;
}

.iti__flag-container {
    padding: 0;
    background-color: rgb(238 180 180 / 27%);
    height: 49px;
    z-index: 0;
}

.contact-form .iti--separate-dial-code .iti__selected-flag,
.contact-form .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag {
    background-color: rgb(54 0 0 / 5%);
    padding: 0 12px;
}

.iti__flag {
    background-image: url("/themes/indiraivf/images/flags/flags.png");
}

@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
    .iti__flag {
        background-image: url("/themes/indiraivf/images/flags/flags%402x.png");
    }
}

.iti__country {
    padding: 10px;
}

.iti-mobile .iti--container {
    top: 30px;
    bottom: 30px;
    left: 30px;
    right: 30px;
    position: fixed;
}

.iti__country-list {
    overflow-x: hidden;
    scrollbar-width: thin;
    border-radius: 8px;
    scrollbar-color: #b61e42 #feeaeb;
}

.iti-mobile .iti__country-list {
    max-height: 100%;
    width: 100%;
}

/* --------------------------------------------------
 >>Thank You Page
-------------------------------------------------- */
.thankyou-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 30px 0;
}

.thankyou-wrapper .thankyou-content {
    padding: 30px;
    box-shadow: 1px 0px 8px 1px rgba(215, 6, 48, 0.2);
    border-radius: 10px;
}

.thankyou-wrapper .thankyou-content .appointment-booked {
    width: 80px;
    height: 80px;
}

.thankyou-wrapper .thankyou-content h2 {
    margin: 15px 30px;
}

.thankyou-wrapper .thankyou-content a.link:hover {
    color: #521e4b;
    text-decoration: underline;
}

.thankyou-wrapper .thankyou-content #phnid_thx {
    font-weight: bold;
}

.thankyou-wrapper .thankyou-content .social-media-handles {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.thankyou-wrapper .thankyou-content .social-media-handles .icon {
    transition: transform 0.3s ease;
}

.thankyou-wrapper .thankyou-content .social-media-handles .icon:hover {
    transform: scale(1.25);
}

.thankyou-wrapper .thankyou-content .cta-wrapper {
    margin: 20px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
}

/* --------------------------------------------------
 >> 404 Page
-------------------------------------------------- */
.page-not-found-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - 150px);
    text-align: center;
    margin: 30px 0;
}

.page-not-found-wrapper .page-not-found-content .page-not-found-image {
    max-width: 300px;
    transform-origin: top center;
    animation: swing 2s ease-in-out infinite;
}

.page-not-found-wrapper .page-not-found-content h4 {
    margin: 30px 0 10px;
    font-size: 1.8rem;
    font-weight: 600;
    color: #b61e42;
}

.page-not-found-wrapper .page-not-found-content p {
    margin-bottom: 30px;
}

.page-not-found-wrapper .page-not-found-content .cta-wrapper {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

.page-not-found-wrapper .page-not-found-content .cta-wrapper .btn {
    font-size: 13px;
}

.ivf1491 .system-breadcrumb,
.ivf1491 .our-clinic-wrapper {
    display: none;
}

/* --------------------------------------------------
 >> Fertility - Treatment - Technology Pages
-------------------------------------------------- */
.about-content-wrapper .about-content h2 {
    color: #b61e42;
    font-size: 1.8rem;
    margin-bottom: 15px;
}

.about-content-wrapper .about-content h2~h2 {
    margin-top: 30px;
}

.about-content-wrapper .about-content a {
    color: #4285F4;
}

.about-content-wrapper .about-content a:hover {
    color: #2871e6;
    text-decoration: underline;
}

.about-content-wrapper .about-content .ordered-list {
    margin-left: 40px;
}

.about-content-wrapper .about-content .ordered-list h3 {
    margin-bottom: 10px;
    font-weight: 600;
}

.about-content-wrapper .about-content ol li+li {
    margin-top: 20px;
}

/* --------------------------------------------------
 >> Blog Listing Page
-------------------------------------------------- */
.blog-card-wrapper {
    margin: 50px 0;
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 30px;
}

.blog-card-wrapper .blog-card {
    width: calc(33.33% - 20px);
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    position: relative;
}

.blog-card-wrapper .blog-card .blog-image {
    position: relative;
    height: 250px;
    overflow: hidden;
}

.blog-card-wrapper .blog-card .blog-image>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    transition: transform 0.4s ease;
}

.blog-card-wrapper .blog-card .blog-image .icon {
    filter: invert(1);
    width: 15px;
    height: auto;
}

.blog-card-wrapper .blog-card:hover .blog-image>img {
    transform: scale(1.05);
}

/* Share button */
.blog-card-wrapper .blog-card .share-toggle {
    position: absolute;
    top: 15px;
    right: 15px;
    background: #2b37ae;
    border: none;
    border-radius: 8px;
    padding: 8px 10px;
    cursor: pointer;
    /* z-index: 3; */
}

.blog-card-wrapper .blog-card .social-icons {
    position: absolute;
    top: 60px;
    right: 15px;
    background: #2b37ae;
    border-radius: 8px;
    padding: 8px 12px;
    display: flex;
    gap: 12px;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 2;
}

.blog-card-wrapper .blog-card .social-icons.show {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.blog-card-wrapper .blog-card .social-icons::after {
    content: '';
    position: absolute;
    top: -6px;
    right: 15px;
    width: 12px;
    height: 12px;
    background: #2b37ae;
    transform: rotate(45deg);
}

.blog-card-wrapper .blog-card .blog-content .blog-decay {
    position: absolute;
    top: 20px;
    left: 0px;
}

.blog-card-wrapper .blog-card .blog-content .blog-decay span {
    display: flex;
    padding: 8px 15px;
    border-radius: 0 5px 5px 0;
    background-color: #b61e42;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.blog-card-wrapper .blog-card .blog-content {
    padding: 20px;
}

.blog-card-wrapper .blog-card .blog-content h3.blog-name {
    /* margin: 0 0 15px; */
    margin: 0 0 10px;
    font-size: 17px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}

.blog-card-wrapper .blog-card .blog-content h3:hover {
    color: #b61e42;
}

.blog-card-wrapper .blog-card .blog-content .reviewer-doctor-details {
    display: flex;
    align-items: center;
    gap: 5px;
}

.blog-card-wrapper .blog-card .blog-content .reviewer-doctor-details .reviewer-doctor {
    width: 25px;
    height: 25px;
    flex-shrink: 0;
    border: 2px solid #b61e42;
    border-radius: 100%;
    background: #f1f1f1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.blog-card-wrapper .blog-card .blog-content .reviewer-doctor-details .reviewer-doctor img {
    width: 100%;
    height: auto;
    border-radius: 100%;
}

.blog-card-wrapper .blog-card .blog-content .reviewer-doctor-details p {
    font-size: 14px;
    color: #000;
    font-style: italic;
    line-height: normal;
}

.blog-card-wrapper .blog-card .blog-content p {
    font-size: 14px;
    color: #000;
    font-style: italic;
}

/* --------------------------------------------------
 >> Blog - Article Page (Revised Tooltip + Popup)
-------------------------------------------------- */
.blog-banner-wrapper {
    margin-bottom: 3rem;
    background-color: #b61e42;
    color: #ffffff;
    padding: 30px;
}

.blog-banner-wrapper .blog-banner-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    gap: 30px;
    max-width: 1140px;
    margin: 0 auto;
}

.blog-banner-wrapper .blog-banner-content .system-breadcrumb .breadcrumb-wrap {
    margin-bottom: 0;
}

.blog-banner-wrapper .blog-banner-content .banner-headline {
    margin-bottom: 0;
}

.blog-banner-wrapper .system-breadcrumb .breadcrumb-inner ul li,
.blog-banner-wrapper .system-breadcrumb .breadcrumb-inner ul li a.active {
    color: #ffffff;
}

/* -----------------------------------
   Tooltip Common
----------------------------------- */
.blog-banner-wrapper .blog-banner-content .tooltip-pop {
    position: absolute;
    z-index: 1;
    top: 30px;
    left: 0;
    width: 300px;
    background-color: #fff;
    border-radius: 20px;
    padding: 15px;
    color: #515260;
    border-top: 1px solid #89408C;
    box-shadow: 0 0 1px 0 hsla(0, 0%, 8%, 0.1),
        0 2px 8px -1px hsla(0, 0%, 8%, 0.2);
    visibility: hidden;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}

.blog-banner-wrapper .blog-banner-content .tooltip-pop.show {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.blog-banner-wrapper .blog-banner-content .tooltip-arrow {
    position: relative;
    top: -15px;
}

.blog-banner-wrapper .blog-banner-content .tooltip-arrow:before,
.blog-banner-wrapper .blog-banner-content .tooltip-arrow:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 10%;
}

.blog-banner-wrapper .blog-banner-content .tooltip-arrow:before {
    border: 10px solid transparent;
    border-bottom: 10px solid #2b37ae;
    top: -20px;
}

.blog-banner-wrapper .blog-banner-content .tooltip-arrow:after {
    border: 8px solid transparent;
    border-bottom: 8px solid #fff;
    top: -15px;
}

/* -----------------------------------
   Disclosure Popup
----------------------------------- */
.blog-banner-wrapper .blog-banner-content .disclosure-block .popup {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.blog-banner-wrapper .blog-banner-content .disclosure-block .popup.show {
    visibility: visible;
    opacity: 1;
}

.blog-banner-wrapper .blog-banner-content .disclosure {
    background-color: #fff;
    width: 60%;
    margin: 0 auto;
    padding: 30px;
    border-radius: 20px;
    font-size: 18px;
    position: relative;
    text-align: center;
}

.blog-banner-wrapper .blog-banner-content .disclosure .popup-title {
    margin-top: 0;
    font-weight: 600;
    text-align: center;
}

.blog-banner-wrapper .blog-banner-content .popup-close {
    position: absolute;
    top: -20px;
    right: -16px;
    width: 36px;
    height: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    color: #b61e42;
    background-color: #fff;
    border: 1px solid #b61e42;
    cursor: pointer;
    transition: 0.3s;
}

.blog-banner-wrapper .blog-banner-content .popup-close:hover {
    background-color: #b61e42;
    color: #fff;
}

/* -----------------------------------
   Review Section
----------------------------------- */
.blog-banner-wrapper .blog-banner-content .review-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px 0;
    flex-wrap: wrap;
}

.blog-banner-wrapper .blog-banner-content .review-wrapper .reviwer-block {
    display: flex;
    gap: 10px;
    align-items: center;
}

.blog-banner-wrapper .blog-banner-content .review-wrapper .reviewer-doctor {
    width: 35px;
    height: 35px;
    border: 3px solid #ffffff;
    border-radius: 100%;
    flex-shrink: 0;
    background: #f1f1f1;
}

.blog-banner-wrapper .blog-banner-content .review-wrapper .reviewer-doctor img {
    width: 100%;
    border-radius: 100%;
}

.blog-banner-wrapper .blog-banner-content .review-wrapper .review-content {
    color: #000000;
}

.blog-banner-wrapper .blog-banner-content .review-wrapper .review-content span {
    color: #ffffff;
}

.blog-banner-wrapper .blog-banner-content .review-wrapper .review-content a {
    color: #ffffff;
    text-decoration: underline;
    font-weight: bold;
}

.blog-banner-wrapper .blog-banner-content .disclosure-block>span {
    padding-left: 10px;
    border-left: 1px solid #ffffff;
}

.blog-banner-wrapper .blog-banner-content .verified>span:hover,
.blog-banner-wrapper .blog-banner-content .disclosure-block>span:hover {
    text-decoration: underline;
}

.blog-banner-wrapper .blog-banner-content .review-wrapper .review-content .published-on {
    text-align: left;
    line-height: 1;
}

.blog-banner-wrapper .blog-banner-content .review-wrapper .review-content .published-on span {
    display: inline-block;
    line-height: 1;
}

.blog-banner-wrapper .blog-banner-content .review-wrapper .review-content>div:first-of-type {
    display: flex;
    flex-wrap: wrap;
    gap: 0 10px;
    align-items: center;
}

.blog-banner-wrapper .blog-banner-content .review-content .verified {
    position: relative;
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.blog-banner-wrapper .blog-banner-content .review-content .verified img {
    width: 16px;
    filter: invert(1);
}

.blog-banner-wrapper .blog-banner-content .review-content .verified p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    text-align: justify;
}

.blog-banner-wrapper .blog-banner-content .review-content .verified .tooltip-pop .popup-title {
    font-size: 1rem;
    font-weight: bold;
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 1rem;
}

/* -----------------------------------
   Share Button Tooltip
----------------------------------- */
.blog-banner-wrapper .blog-banner-content .share-article-block {
    position: relative;
    display: inline-block;
}

.blog-banner-wrapper .blog-banner-content .share-article-block .share-btn {
    padding: 0.8rem 1.2rem;
    background-color: transparent;
    color: #fff;
    border: 1px solid #ffffff;
    outline: none;
    border-radius: 25px;
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 16px;
    cursor: pointer;
}

.blog-banner-wrapper .blog-banner-content .review-wrapper .share-btn>img {
    width: 24px;
    height: 24px;
    filter: invert(1);
}

.blog-banner-wrapper .blog-banner-content .review-wrapper .share-article-block .tooltip-pop {
    top: 60px;
    width: 200px;
}

.blog-banner-wrapper .blog-banner-content .share-article-block .tooltip-pop {
    position: absolute;
    top: 110%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    border-radius: 12px;
    padding: 12px;
    width: 200px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease;
    z-index: 2;
}

.blog-banner-wrapper .blog-banner-content .share-article-block .tooltip-pop.show {
    visibility: visible;
    opacity: 1;
}

.blog-banner-wrapper .blog-banner-content .share-article-block .tooltip-arrow {
    top: -12px;
}


.blog-banner-wrapper .blog-banner-content .review-wrapper .share-article-block .tooltip-pop ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 0;
}

.blog-banner-wrapper .blog-banner-content .review-wrapper .share-article-block .tooltip-pop img {
    width: 18px;
    height: 18px;
}


.toc-target-wrapper section {
    scroll-margin-top: 100px;
    margin-bottom: 3rem;
}

.blog-toc-wrapper .table-of-contents {
    display: flex;
    gap: 30px;
}

.blog-toc-wrapper .table-of-contents .toc-target-wrapper {
    width: calc(60% - 15px);
    order: 1;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 10px;
}

.blog-toc-wrapper .table-of-contents .accordion-wrapper {
    width: calc(40% - 15px);
    order: 2;
    position: sticky;
    top: 90px;
    height: fit-content;
    background: #f9f9f9;
    border-radius: 10px;
    padding: 20px;
}

.table-of-contents .accordion-wrapper .toc-accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-weight: 600;
    font-size: 20px;
}

.table-of-contents .accordion-wrapper .toc-accordion-header .toggle-icon img {
    width: 18px;
    height: auto;
    transition: transform 0.3s ease;
}

.table-of-contents .accordion-wrapper .toc-accordion-header .rotate img {
    transform: rotate(180deg);
}

.table-of-contents .accordion-wrapper .toc-accordion-body {
    display: none;
    /* padding-top: 10px; */
}

.table-of-contents .accordion-wrapper .toc-accordion-body.active {
    display: block;
}

.table-of-contents .accordion-wrapper .toc-accordion-body .toc-list {
    list-style: none;
    padding-left: 0;
    margin-left: 10px;
}

.table-of-contents .accordion-wrapper .toc-accordion-body .toc-list li {
    margin: 15px 0;
    padding-left: 25px;
    position: relative;
}

.table-of-contents .accordion-wrapper .toc-accordion-body .toc-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 20px;
    height: 20px;
    background-image: url('/themes/indiraivf/images/nw/icons/ovulation-disorder-icon.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.5s ease;
    filter: brightness(0) saturate(100%) invert(16%) sepia(97%) saturate(2178%) hue-rotate(328deg) brightness(99%) contrast(97%);
}

.table-of-contents .accordion-wrapper .toc-accordion-body .toc-list li:hover::before {
    filter: brightness(0) saturate(100%) invert(16%) sepia(97%) saturate(2178%) hue-rotate(328deg) brightness(99%) contrast(97%);
}

.table-of-contents .accordion-wrapper .toc-accordion-body .toc-list li a {
    text-decoration: underline;
    font-size: 16px;
    color: #4285F4;
}

.table-of-contents .accordion-wrapper .toc-accordion-body .toc-list li:hover a,
.table-of-contents .accordion-wrapper .toc-accordion-body .toc-list li.active a,
.table-of-contents .accordion-wrapper .toc-accordion-body .toc-list li a.active {
    color: #b61e42;
}

.table-of-contents .toc-target-wrapper h2 {
    font-size: 2rem;
    margin-bottom: 20px;
}

.table-of-contents .toc-target-wrapper .blog-subhead {
    font-size: 1.25rem;
    margin: 20px 0;
    font-weight: 600;
}

/* .table-of-contents .toc-target-wrapper .blog-subhead ~ .blog-subhead{
    margin-top: 20px;
} */

.table-of-contents .toc-target-wrapper section p {
    margin-bottom: 0;
}

.toc-target-wrapper .accordian-content .mt-3 {
    margin-top: 20px !important;
}

.toc-target-wrapper .accordian-content .my-3 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

.toc-target-wrapper .accordian-content .ordered-list li::marker {
    font-size: 20px;
}

.toc-target-wrapper .accordian-content .ordered-list li+li {
    margin-top: 20px;
}

.toc-target-wrapper .accordian-content .unordered-list li+li,
.table-of-contents .toc-target-wrapper section p+p {
    margin-top: 15px;
}

.toc-target-wrapper .accordian-content .ordered-list {
    margin-left: 40px;
}

.toc-target-wrapper .accordian-content .ordered-list h3,
.toc-target-wrapper .accordian-content .unordered-list h3 {
    margin-bottom: 10px;
    font-weight: 600;
}

.toc-target-wrapper .accordian-content .ordered-list .unordered-list {
    padding-left: 20px;
}

.toc-target-wrapper .accordian-content ol li+li {
    margin-top: 20px;
}

.table-of-contents .toc-target-wrapper a {
    text-decoration: underline;
    color: #b61e42;
}

.table-of-contents .toc-target-wrapper .tbl-data .table th {
    text-align: center;
}

.table-of-contents .toc-target-wrapper a {
    color: #4285F4;
}

.table-of-contents .toc-target-wrapper a:hover {
    text-decoration: underline;
}

.table-of-contents .faq-wrapper .faq-header h3 {
    color: #000000;
}

.table-of-contents .faq-wrapper .faq-item:first-of-type {
    padding-top: 0;
}

/* --------------------------------------------------
 >> Terms and Conditions Page
-------------------------------------------------- */

.tnc-wrapper h2 {
    font-size: 25px;
    margin-bottom: 15px;
}

.tnc-wrapper .ordered-list {
    margin-left: 40px;
}

.tnc-wrapper .ordered-list h3 {
    font-weight: 600;
}

.tnc-wrapper ol li+li {
    margin-top: 20px;
}

.tnc-wrapper ol li::marker {
    font-size: 20px;
    font-weight: 600;
}

.tnc-wrapper li a {
    color: #4285F4;
}

.tnc-wrapper li a:hover {
    color: #2871e6;
    text-decoration: underline;
}

/* --------------------------------------------------
 >> Fertility Team Swiper
-------------------------------------------------- */
.fertility-team-swiper {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    max-width: 90%;
    min-height: 400px;
}

.fertility-team-swiper .swiper-cube-shadow {
    display: none;
}

.fertility-team-swiper .swiper-slide {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 1px 0px 8px 1px rgba(215, 6, 48, 0.2);
    padding: 40px;
    border-radius: 25px;
    display: flex;
    width: 100%;
    align-items: center;
    gap: 30px;
    scroll-margin-top: 100px;
}

.fertility-team-swiper .swiper-slide .slide-image {
    width: 300px;
    flex-shrink: 0;
    height: 300px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 0px 5px;
    border-radius: 20px;
    overflow: hidden;
}

.fertility-team-swiper .swiper-slide .slide-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    opacity: 1;
    border-radius: 20px;
    transition: all 0.3s;
}

.fertility-team-swiper .swiper-slide .slide-content .slide-name {
    color: #b61e42;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 0px;
}

.fertility-team-swiper .swiper-slide .slide-content .slide-designation {
    font-size: 17px;
    font-weight: 500;
    margin-bottom: 20px;
}

.fertility-team-swiper .swiper-slide .slide-content .slide-description {
    font-size: 16px;
    margin-bottom: 30px;
}


.fertility-team-swiper .swiper-slide .btn-wrapper {
    z-index: 1;
}

.fertility-team-swiper .swiper-pagination {
    width: fit-content;
    top: 10px;
    right: 40px;
    left: unset;
}

.fertility-team-swiper .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 8px 0;
}

.fertility-team-swiper .swiper-pagination .swiper-pagination-bullet {
    width: 11px;
    height: 11px;
    border-radius: 10px;
    background: #062744;
    opacity: 0.2;
    transition: all 0.3s;
}

.fertility-team-swiper .swiper-pagination .swiper-pagination-bullet+.swiper-pagination-bullet {
    margin-left: 5px;
}

.fertility-team-swiper .swiper-pagination .swiper-pagination-bullet-active {
    opacity: 1;
    background: #b61e42;
    width: 30px;
    box-shadow: 0px 0px 20px rgba(252, 56, 56, 0.3);
}

/* --------------------------------------------------
 >> Locate Us
-------------------------------------------------- */
.locate-us-wrapper {
    padding: 50px 0;
    background-color: #b61e42;
}

.locate-us-wrapper .locate-us-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: center;
    color: #ffffff;
}

.locate-us-wrapper .locate-us-content .call-cta {
    margin-top: 20px;
    display: flex;
    gap: 10px;
    align-items: center;
}

.locate-us-wrapper .locate-us-content .call-cta img {
    filter: invert(1);
    width: 20px;
    height: 20px;
}

.locate-us-wrapper .locate-us-content .location-map {
    min-height: 300px;
    height: 300px;
    box-shadow: -1px 0px 12px rgba(0, 0, 0, 0.2);
    border-radius: 8px;
}

.locate-us-wrapper .locate-us-content .location-map iframe {
    width: 100%;
    height: 100%;
    border-radius: 8px;
    border: 0;
}

/* --------------------------------------------------
 >> IVF Process Steps
-------------------------------------------------- */
.ivf-process-steps-wrapper .ivf-header-line {
    display: block;
    width: 80px;
    height: 3px;
    background: #2b37ae;
    margin: 10px auto 0;
}

.ivf-process-steps-wrapper .ivf-process-timeline {
    position: relative;
    padding: 0;
    margin: 0;
    list-style: none;
}

.ivf-process-steps-wrapper .ivf-process-timeline::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background: #2b37ae;
    transform: translateX(-50%);
}

.ivf-process-steps-wrapper .ivf-process-timeline li {
    position: relative;
    margin-bottom: 50px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.ivf-process-steps-wrapper .ivf-step-icon {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    border: 3px solid #b61e42;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    /* z-index: 1; */
}

.ivf-process-steps-wrapper .ivf-step-icon img {
    max-width: 50px;
    max-height: 50px;
}

.ivf-process-steps-wrapper .ivf-step-content {
    width: 45%;
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    position: relative;
    opacity: 0;
    transform: translateX(-40px);
    transition: all 0.6s ease-in-out;
}


.ivf-process-steps-wrapper .ivf-step-content.active {
    opacity: 1;
    transform: translateX(0);
}

.ivf-process-steps-wrapper .ivf-process-timeline li:nth-child(odd) .ivf-step-content {
    margin-right: auto;
    margin-left: -10px;
    text-align: right;
}

.ivf-process-steps-wrapper .ivf-process-timeline li:nth-child(even) .ivf-step-content {
    margin-left: auto;
    margin-right: -10px;
    text-align: left;
}

.ivf-process-steps-wrapper .ivf-step-number {
    font-size: 16px;
    font-weight: 600;
    color: #2b37ae;
    margin-bottom: 10px;
}

.ivf-process-steps-wrapper .ivf-step-content h3 {
    margin-top: 0;
    font-size: 20px;
    color: #b61e42;
    font-weight: 600;
}

.ivf-process-steps-wrapper .ivf-step-content p {
    font-size: 15px;
    line-height: 1.6;
}

/* --------------------------------------------------
 >> Pointer List
-------------------------------------------------- */
.pointer-list {
    display: flex;
    align-items: stretch;
    gap: 15px;
    width: 100%;
    flex-wrap: wrap;
}

.pointer-list .pointer-content {
    width: calc(33.33% - 10px);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 5px
}

.pointer-list .pointer-content img {
    margin-top: 2px;
    width: 25px;
    height: auto;
}

.pointer-list .pointer-content p {
    font-size: 18px;
}

/* --------------------------------------------------
  >> FAQ Block
-------------------------------------------------- */
.faq-wrapper .faq-item {
    border-bottom: 1px solid #ddd;
    padding: 25px 0;
}

.faq-wrapper .faq-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 18px;
    font-weight: 500;
}

.faq-wrapper .faq-header h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: #b61e42;
}

.faq-wrapper .faq-header+.faq-header {
    border-top: 1px solid #ddd;
}

.faq-wrapper .toggle-icon {
    display: flex;
    flex-shrink: 0;
}

.faq-wrapper .toggle-icon img {
    width: 18px;
    height: 18px;
    transition: transform 0.3s ease;
}

.faq-wrapper .toggle-icon.rotate img {
    transform: rotate(180deg);
}

.faq-wrapper .faq-body {
    display: none;
    padding-top: 20px;
    font-size: 16px;
    color: #000000;
}

.faq-wrapper .faq-body.active {
    display: block;
}

.faq-wrapper .faq-body a {
    color: #4285F4;
}

.faq-wrapper .faq-body a:hover {
    color: #2871e6;
    text-decoration: underline;
}

/* --------------------------------------------------
  >> Testimonial Block
-------------------------------------------------- */
.testimonial-section {
    position: relative;
}

.testimonial-section .testimonial-wrapper {
    position: relative;
    padding-top: 40px;
}

.testimonial-section .testimonial-wrapper .scroll-controls {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    gap: 10px;
}

.testimonial-section .testimonial-wrapper .scroll-btn {
    background-color: #2b37ae;
    padding: 10px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: none;
    outline: none;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s;
}

.testimonial-section .testimonial-wrapper .scroll-btn:hover {
    background-color: #b61e42;
}

.testimonial-section .testimonial-wrapper .scroll-btn img {
    width: 15px;
    height: 15px;
    filter: invert(1);
}

.testimonial-section .testimonial-wrapper .testimonial-carousel {
    display: flex;
    overflow: hidden;
    gap: 20px;
    scroll-behavior: smooth;
    padding: 20px 0;
    align-items: stretch;
}

.testimonial-section .testimonial-wrapper .testimonial-carousel>li {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
}

.testimonial-section .testimonial-wrapper .testimonial-card {
    min-width: 300px;
    max-width: 320px;
    background: white;
    border-radius: 10px;
    padding: 15px;
    flex: 1;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
}

.testimonial-section .testimonial-wrapper .profile {
    display: flex;
    gap: 10px;
    align-items: center;
    width: 100%;
}

.testimonial-section .testimonial-wrapper .profile .profile-details {
    width: 100%;
    text-align: left;
}

.testimonial-section .testimonial-wrapper .profile .place-timestamp {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.testimonial-section .testimonial-wrapper .profile img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    filter: brightness(0) saturate(100%) invert(16%) sepia(97%) saturate(2178%) hue-rotate(328deg) brightness(99%) contrast(97%);
}

.testimonial-section .testimonial-wrapper .stars-rating {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 20px 0;
}

.testimonial-section .testimonial-wrapper .stars-rating img {
    filter: brightness(0) saturate(100%) invert(18%) sepia(88%) saturate(2063%) hue-rotate(227deg) brightness(92%) contrast(101%);
    width: 25px;
    height: 25px;
}

.testimonial-section .testimonial-wrapper .posted-on {
    margin-top: 15px;
    font-size: 12px;
    color: #535252;
    display: flex;
    align-items: center;
    gap: 5px;
}

.testimonial-section .testimonial-wrapper .testimonial-card p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: all 0.3s ease;
    text-align: left;
}

.testimonial-section .testimonial-wrapper .testimonial-card.open p {
    -webkit-line-clamp: unset;
    display: block;
    overflow: visible;
    text-overflow: initial;
}

.testimonial-section .testimonial-wrapper .posted-on img {
    width: 24px;
    height: 24px;
}

.testimonial-section .testimonial-wrapper .testimonial-card .read-more-less {
    text-align: left;
    color: #b61e42;
    font-weight: 500;
}

.testimonial-section .testimonial-wrapper .posted-on a {
    background: linear-gradient(90deg, #4285F4, #34A853, #FBBC05, #EA4335, #4285F4);
    color: white;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 500;
}


/* --------------------------------------------------
 >> Campaign Header
-------------------------------------------------- */
.custom-header.campaign-header .desktop-only {
    display: flex;
    align-items: center;
    gap: 20px;
}

.custom-header.campaign-header .desktop-only .campaign-social-media .icon {
    width: 45px;
    height: auto;
    ;
}

/* --------------------------------------------------
 >> Campaign USP
-------------------------------------------------- */
.campaign-usp-wrapper .campaign-usp {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.campaign-usp-wrapper .campaign-usp .campaign-usp-points {
    background-color: #feadb4;
    padding: 20px;
    border-radius: 5px;
    margin-top: -40px;
}

.campaign-usp-wrapper .campaign-usp .campaign-usp-points img {
    width: 40px;
    height: auto;
}

.campaign-usp-wrapper .campaign-usp .campaign-usp-points h3 {
    font-size: 1.7rem;
    color: #b61e42;
    font-weight: 500;
}

/* --------------------------------------------------
 >> Fixed CTA
-------------------------------------------------- */
.fixed-cta {
    display: none;
}

/* --------------------------------------------------
 >> Page Specific CSS
-------------------------------------------------- */
#Contact-us .immediate-assistance .info-cards-wrapper{
    margin-top: 30px;
}

#Contact-us .immediate-assistance .info-card-content{
    gap: 5px;
}

/* --------------------------------------------------
 >> Footer (Copyright)
-------------------------------------------------- */
.copyright {
    font-size: 14px;
    color: #fff;
    background-color: #b61e42;
    padding: 15px 10px;
    display: flex;
    gap: 5px;
    align-items: center;
    justify-content: center;
}

.copyright p {
    margin-bottom: 0;
}

.copyright a {
    text-decoration: underline;
    color: #ffffff;
}

/* --------------------------------------------------
 >> Responsive
-------------------------------------------------- */
@media (max-width: 991px) {
    .hero-banner-wrapper .image-display img {
        width: 100%;
        height: auto;
        min-height: 300px;
    }

    .hover-card-wrapper .card-content {
        width: calc(50% - 30px);
    }

    .info-cards-wrapper .info-card {
        width: calc(50% - 30px);
        flex: unset;
    }

    .blog-card-wrapper .blog-card {
        width: calc(50% - 30px);
    }

    .top-band-wrapper {
        display: none;
    }

    .custom-header .custom-nav-container .custom-navbar {
        order: 2;
        display: none;
        flex-direction: column;
        align-items: flex-start;
        background: #fff;
        width: 100%;
        margin-top: 20px;
    }

    .custom-header .custom-nav-container .custom-navbar.active {
        display: flex;
        position: absolute;
        height: calc(100vh - 65px);
        overflow-y: scroll;
        width: 100%;
        left: 0;
        top: 65px;
        background-color: #FFFFFF;
        padding: 20px;
        margin: 0;
    }

    .custom-header .custom-nav-container .logo-wrapper {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: calc(100% - 40px);
    }

    .custom-header .custom-nav-container .nav-item {
        margin: 0;
    }

    .custom-header .custom-nav-container .custom-navbar .nav-item,
    .custom-header .custom-nav-container .custom-navbar .nav-link {
        width: 100%;
    }

    .custom-header .custom-nav-container .custom-navbar .nav-link::after {
        bottom: -5px;
    }

    .custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu {
        position: static;
        margin-top: 5px;
        width: 100%;
    }

    .custom-header .custom-nav-container .custom-navbar .nav-item.has-dropdown .dropdown-menu .dropdown-list {
        width: 100%;
    }

    .custom-header .custom-nav-container .desktop-only {
        display: none;
    }

    .custom-header .custom-nav-container .hamburger {
        display: flex;
    }

    .custom-header.campaign-header .brand-logo {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
    }

    .hero-banner-wrapper .hero-banner-content {
        max-width: 50%;
        padding: 25px;
    }

    .blog-toc-wrapper .table-of-contents {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
    }

    .blog-toc-wrapper .table-of-contents .toc-target-wrapper,
    .blog-toc-wrapper .table-of-contents .accordion-wrapper {
        width: 100%;
    }

    .blog-toc-wrapper .table-of-contents .accordion-wrapper {
        position: static;
        top: unset;
        order: 1;
    }

    .locate-us-wrapper .locate-us-content {
        grid-template-columns: 1fr;
    }

    .locate-us-wrapper .locate-us-content .location-info {
        text-align: center;
        order: 2;
    }

    .locate-us-wrapper .locate-us-content .call-cta {
        justify-content: center;
    }

    .locate-us-wrapper .locate-us-content .location-map {
        order: 1;
    }

    .back-to-top {
        bottom: 49px;
    }

    .copyright {
        margin-bottom: 40px;
    }

    .fixed-cta {
        position: fixed;
        bottom: 0;
        width: 100%;
        padding: 10px;
        background-color: #2b37ae;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 15px;
        z-index: 1;
    }

    .fixed-cta>div {
        width: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 5px;
    }

    .fixed-cta .icon {
        filter: invert(1);
        transition: transform 0.3s ease;
    }

    .fixed-cta a {
        color: #ffffff;
    }

    .fixed-cta div:hover .icon {
        transform: scale(1.25);
    }
}

@media (min-width: 992px) {
    .custom-header .custom-nav-container .book-btn.mobile-only {
        display: none;
    }

    .custom-header .custom-nav-container .navbar-social-media {
        display: none;
    }

    .book-an-appointment-modal .contact-form .iti__country-list {
        width: 450px;
    }

    .contact-form-wrapper .contact-form .iti__country-list {
        width: 600px;
    }
}

@media (max-width: 767px) {
    html {
        font-size: 85%;
    }

    .text-sm {
        font-size: 10.5px;
    }

    .text-xs {
        font-size: 9px;
    }


    .custom-header .custom-nav-container .brand-logo .custom-logo img {
        width: 150px;
    }

    .custom-header.campaign-header .custom-nav-container {
        justify-content: center;
    }

    #bookAppointmentModal .contact-form .label{
        display: none;
    }

    #bookAppointmentModal .contact-form .data-safe p{
        font-size: 12px;
    }

    .system-breadcrumb {
        display: none;
    }

    .filter-form-elements {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .filter-form-elements .form-group {
        width: 100%;
    }

    .generic-carousel-container {
        overflow: hidden;
    }

    .generic-carousel-container .image-card {
        width: 200px;
        height: 280px;
    }

    .generic-carousel-container .image-card.left-2 {
        transform: translateX(-250px) scale(0.8) translateZ(-300px);
    }

    .generic-carousel-container .image-card.left-1 {
        transform: translateX(-120px) scale(0.9) translateZ(-100px);
    }

    .generic-carousel-container .image-card.right-1 {
        transform: translateX(120px) scale(0.9) translateZ(-100px);
    }

    .generic-carousel-container .image-card.right-2 {
        transform: translateX(250px) scale(0.8) translateZ(-300px);
    }

    .hover-card-wrapper .card-content,
    .info-cards-wrapper .info-card,
    .blog-card-wrapper .blog-card {
        width: 100%;
    }

    /* .hero-banner-wrapper .container {
        max-width: 100%;
    } */

    .hero-banner-wrapper .hero-banner-content {
        width: calc(80% - 30px);
        max-width: calc(80% - 30px);
        top: 100%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .hero-banner-wrapper .hero-banner-content h1 {
        font-size: 1.5rem;
    }

    .blog-banner-wrapper .blog-banner-content .disclosure {
        width: 90%;
    }

    .blog-banner-wrapper .blog-banner-content .tooltip-arrow:before,
    .blog-banner-wrapper .blog-banner-content .tooltip-arrow:after {
        left: unset;
        right: 10%;
    }

    .blog-banner-wrapper .blog-banner-content .tooltip-pop {
        right: -20px;
        left: unset;
    }

    .introduction-wrapper .introduction-content {
        grid-template-columns: 1fr;
        align-items: center;
    }

    .introduction-wrapper .introduction-content>div:first-child {
        margin-bottom: 20px;
        padding: 0;
    }

    .introduction-content>div:last-child {
        padding: 0;
        border-left: none;
    }

    .accrediation-wrapper .accrediation-images-content {
        max-width: 100%;
        flex-wrap: wrap;
    }

    .fertility-team-swiper {
        max-width: 100%;
        width: 100%;
        /* min-height: 490px; */
    }

    .fertility-team-swiper .swiper-slide {
        flex-direction: column;
        align-items: center;
        padding: 30px;
    }

    .fertility-team-swiper .swiper-slide .slide-image {
        width: 100%;
        height: auto;
    }

    .fertility-team-swiper .swiper-slide .slide-content .btn-wrapper {
        justify-content: center;
    }

    .fertility-team-swiper .swiper-pagination {
        right: 10px;
        top: 25px;
    }

    .fertility-team-swiper .swiper-pagination .swiper-pagination-bullet {
        width: 11px;
        height: 11px;
        display: block;
        margin: 0;
    }

    .fertility-team-swiper .swiper-pagination .swiper-pagination-bullet+.swiper-pagination-bullet {
        margin-left: 0;
    }

    .fertility-team-swiper .swiper-pagination .swiper-pagination-bullet-active {
        height: 30px;
    }

    .our-clinic-wrapper {
        margin-bottom: 0;
    }

    .pointer-list .pointer-content {
        width: 100%;
    }

    .campaign-usp-wrapper .campaign-usp .campaign-usp-points {
        padding: 15px;
    }

    .campaign-usp-wrapper .campaign-usp .campaign-usp-points img {
        width: 20px;
        height: auto;
    }

    .campaign-usp-wrapper .campaign-usp .campaign-usp-points h3 {
        font-size: 1rem;
    }

    .ivf-process-steps-wrapper .ivf-section {
        margin: 0 20px;
    }

    .ivf-process-steps-wrapper .ivf-process-timeline::before {
        left: 20px;
    }

    .ivf-process-steps-wrapper .ivf-step-icon {
        left: -20px;
        transform: none;
    }

    .ivf-process-steps-wrapper .ivf-step-content {
        width: 100%;
        margin-left: 70px !important;
        margin-right: 0 !important;
        text-align: left !important;
    }

    .contact-form-wrapper .contact-form .btn-wrapper .call-now {
        display: flex;
    }

    .back-to-top {
        bottom: 90px;
    }

    .fixed-cta::before {
        content: "";
        position: absolute;
        border: solid 1px #fff;
        width: 1px;
        height: 100%;
        left: 0;
        right: 0;
        margin: 0 auto;
    }

    .fixed-cta>div {
        flex-direction: column;
    }

    .copyright {
        flex-direction: column;
        margin-bottom: 72px;
    }
}

@media (max-width: 576px) {
    .custom-header .custom-nav-container .brand-logo .custom-logo img {
        width: 120px;
    }

    .hero-banner-wrapper .hero-banner-content {
        width: 100%;
        max-width: calc(100% - 30px);
        top: 100%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .info-banner-wrapper .info-banner-content {
        max-width: unset;
    }

    .info-banner-wrapper .info-banner-content p {
        line-height: normal;
        font-size: 2.5rem;
    }
}

@media (max-width: 400px) {

    .blog-banner-wrapper .blog-banner-content .tooltip-arrow:before,
    .blog-banner-wrapper .blog-banner-content .tooltip-arrow:after {
        left: 20%;
        right: unset;
    }

    .blog-banner-wrapper .blog-banner-content .tooltip-pop {
        right: unset;
        left: -60px;
    }

    .campaign-usp-wrapper .campaign-usp {
        display: flex;
        gap: 10px;
        text-align: center;
    }

    .campaign-usp-wrapper .campaign-usp .campaign-usp-points {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /*
    .campaign-usp-wrapper .campaign-usp .campaign-usp-points:nth-child(1) {
        margin-left: 30px;
    }

    .campaign-usp-wrapper .campaign-usp .campaign-usp-points {
        margin-top: 0;
        width: fit-content;
        flex: 0 0 75%;
        animation: marquee 8s linear infinite;
    }

    @keyframes marquee {
        0% {
            transform: translateX(0);
        }

        100% {
            transform: translateX(-190%);
        }
    } */

    .page-not-found-wrapper .page-not-found-content .cta-wrapper {
        flex-direction: column;
    }

    .page-not-found-wrapper .page-not-found-content .cta-wrapper>div,
    .page-not-found-wrapper .page-not-found-content .cta-wrapper .btn {
        width: 100%;
    }

    .contact-form-wrapper .contact-form .btn-wrapper {
        flex-direction: column;
        width: 100%;
    }

    .contact-form-wrapper .contact-form .btn-wrapper .btn {
        width: 100%;
    }
}