@charset "UTF-8";

.about-page .about-reveal {
    opacity: 0;
    animation-duration: .8s;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1);
    animation-fill-mode: forwards;
    will-change: transform, opacity
}

.about-page .about-reveal--up {
    animation-name: aboutFadeUp
}

.about-page .about-reveal--right {
    animation-name: aboutFadeRight
}

.about-page .about-reveal--left {
    animation-name: aboutFadeLeft
}

.about-page .about-reveal--delay-1 {
    animation-delay: .12s
}

.about-page .about-reveal--delay-2 {
    animation-delay: .24s
}

.about-page .about-reveal--delay-3 {
    animation-delay: .36s
}

.about-page .about-reveal--delay-4 {
    animation-delay: .48s
}

@keyframes aboutFadeUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 24px, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes aboutFadeRight {
    0% {
        opacity: 0;
        transform: translate3d(24px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes aboutFadeLeft {
    0% {
        opacity: 0;
        transform: translate3d(-24px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.about-page .about-hero-section {
    background: radial-gradient(circle at top left, rgba(0, 119, 182, .08), transparent 34%), radial-gradient(circle at bottom right, rgba(0, 180, 216, .06), transparent 30%), #fff
}

.about-page .about-hero-box {
    position: relative;
    overflow: hidden;
    padding: 42px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffff7, #f1f7fcf2) padding-box, linear-gradient(135deg, #0077b629, #00b4d833) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0f172a14
}

.about-page .about-hero-title {
    font-size: 42px;
    line-height: 1.05;
    font-weight: 800;
    color: #011a43
}

.about-page .about-hero-text {
    max-width: 570px;
    font-size: 16px;
    line-height: 1.8;
    color: #5f6b7a
}

.about-page .about-hero-btn {
    min-width: 180px
}

.about-page .about-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.about-page .about-point {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 999px;
    background: #fffc;
    border: 1px solid rgba(0, 119, 182, .1);
    box-shadow: 0 10px 22px #0f172a0d;
    color: #016d77;
    font-size: 14px;
    font-weight: 600
}

.about-page .about-point i {
    color: #fe0000
}

.about-page .about-hero-visual {
    display: flex;
    align-items: center;
    justify-content: center
}

.about-page .about-hero-image-shell {
    position: relative;
    width: min(100%, 520px);
    padding: 24px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffffa, #eef6fcf5) padding-box, linear-gradient(135deg, #0077b62e, #00b4d833) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0077b61a;
    overflow: hidden
}

.about-page .about-hero-image-shell:before {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 28px;
    background: radial-gradient(circle at top left, rgba(0, 119, 182, .08), transparent 42%), radial-gradient(circle at bottom right, rgba(0, 180, 216, .08), transparent 36%);
    pointer-events: none
}

.about-page .about-hero-image {
    position: relative;
    z-index: 1;
    width: 100%;
    max-height: 480px;
    object-fit: contain;
    filter: drop-shadow(0 18px 30px rgba(15, 23, 42, .12))
}

.about-page .about-hero-stamp {
    position: absolute;
    right: 28px;
    bottom: 28px;
    z-index: 2;
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    padding: 14px 18px;
    border-radius: 18px;
    background: #ffffffe6;
    border: 1px solid rgba(0, 119, 182, .12);
    box-shadow: 0 14px 28px #0f172a14
}

.about-page .about-hero-stamp strong {
    color: #03045e;
    font-size: 22px;
    font-weight: 800;
    line-height: 1
}

.about-page .about-hero-stamp span {
    color: #64748b;
    font-size: 12px;
    font-weight: 600
}

.about-page .about-hero-mini-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px
}

.about-page .about-mini-stat {
    padding: 18px 20px;
    border-radius: 22px;
    background: #ffffffe6;
    border: 1px solid rgba(226, 232, 240, .9);
    box-shadow: 0 18px 36px #0f172a0f;
    text-align: left
}

.about-page .about-mini-stat__value {
    display: block;
    margin-bottom: 4px;
    font-size: 24px;
    font-weight: 800;
    color: #fe0000
}

.about-page .about-mini-stat__label {
    font-size: 13px;
    color: #64748b;
    font-weight: 600
}

.about-page .about-story-box {
    position: relative;
    overflow: hidden;
    padding: 40px;
    border-radius: 34px;
    background: linear-gradient(180deg, #f7fbfe, #fff);
    box-shadow: 0 24px 60px #0f172a0f
}

.about-page .about-story-image-grid {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: stretch;
    justify-content: center
}

.about-page .about-story-image-card {
    overflow: hidden;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 36px #0f172a14
}

.about-page .about-story-image-card img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-page .about-story-image-card--large {
    width: 72%;
    align-self: flex-start;
    min-height: 420px
}

.about-page .about-story-image-card--small {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 42%;
    min-height: 280px;
    border: 10px solid #fff
}

.about-page .about-story-value {
    position: absolute;
    left: 28px;
    bottom: 28px;
    padding: 16px 18px;
    border-radius: 15px;
    background: linear-gradient(135deg, #fe0000, #fe0000);
    color: #fff;
    box-shadow: 0 18px 36px #0077b62e
}

.about-page .about-story-value__number {
    display: block;
    font-size: 28px;
    font-weight: 800;
    line-height: 1
}

.about-page .about-story-value__text {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 600;
    opacity: .9
}

.about-page .about-story-title {
    font-size: 42px;
    font-weight: 800;
    line-height: 1.1;
    color: #011a43
}

.about-page .about-story-text {
    color: #5f6b7a;
    font-size: 16px;
    line-height: 1.8;
    max-width: 540px
}

.about-page .about-highlights {
    display: grid;
    gap: 14px;
    margin-top: 24px
}

.about-page .about-highlight-card {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 18px 20px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #e6edf3;
    box-shadow: 0 12px 28px #0f172a0d
}

.about-page .about-highlight-card i {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #0077b61a;
    color: #fe0000;
    font-size: 18px
}

.about-page .about-highlight-card h6 {
    font-size: 16px;
    font-weight: 700;
    color: #011a43
}

.about-page .about-highlight-card p {
    color: #64748b;
    font-size: 14px;
    line-height: 1.7
}

.about-page .about-story-btn {
    min-width: 180px
}

.about-page .about-doctors-section .about-section-heading h2 {
    font-size: 42px;
    font-weight: 800;
    color: #011a43
}

.about-page .about-doctor-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 28px;
    background: linear-gradient(180deg, #fffffffa, #fafcfff5) padding-box, linear-gradient(145deg, #0077b62e, #00b4d829) border-box;
    border: 1px solid transparent;
    box-shadow: 0 16px 36px #0f172a14;
    transition: all .28s ease
}

.about-page .about-doctor-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 52px #0f172a24
}

.about-page .about-doctor-card__top {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: end;
    padding: 18px 22px 0
}

.about-page .about-doctor-card__pulse {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #00b4d8;
    box-shadow: 0 0 0 8px #00b4d81f
}

.about-page .about-doctor-card__media {
    position: relative;
    margin-top: 14px;
    padding: 0 22px
}

.about-page .about-doctor-card__media img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 24px;
    box-shadow: 0 18px 36px #0f172a1a
}

.about-page .about-doctor-card__body {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
    padding: 22px 22px 26px
}

.about-page .about-doctor-card__header h4 {
    font-size: 21px;
    font-weight: 800;
    color: #03045e
}

.about-page .about-doctor-card__specialization {
    color: #64748b;
    font-size: 14px;
    font-weight: 600
}

.about-page .about-doctor-card__social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 2px
}

.about-page .about-doctor-card__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #d9e5f0;
    color: #0077b6;
    box-shadow: 0 10px 18px #0f172a0d;
    transition: all .25s ease
}

.about-page .about-doctor-card__social a:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #0077b6, #00b4d8);
    color: #fff;
    border-color: transparent
}

.about-page .about-doctor-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-top: auto;
    border-radius: 999px;
    width: 100%
}

.about-page .about-empty-state {
    padding: 50px 20px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 30px #0f172a14
}

@media(max-width:1199px) {

    .about-page .about-hero-title,
    .about-page .about-story-title,
    .about-page .about-doctors-section .about-section-heading h2 {
        font-size: 40px
    }

    .about-page .about-hero-box,
    .about-page .about-story-box {
        padding: 32px
    }
}

@media(max-width:991px) {

    .about-page .about-hero-title,
    .about-page .about-story-title,
    .about-page .about-doctors-section .about-section-heading h2 {
        font-size: 36px
    }

    .about-page .about-hero-visual {
        order: -1
    }

    .about-page .about-hero-mini-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .about-page .about-story-image-grid {
        min-height: 480px
    }
}

@media(max-width:767px) {

    .about-page .about-hero-box,
    .about-page .about-story-box {
        padding: 26px;
        border-radius: 26px
    }

    .about-page .about-hero-title,
    .about-page .about-story-title,
    .about-page .about-doctors-section .about-section-heading h2 {
        font-size: 30px
    }

    .about-page .about-hero-image-shell {
        padding: 18px;
        border-radius: 26px
    }

    .about-page .about-hero-image {
        max-height: 360px
    }

    .about-page .about-mini-stat {
        padding: 16px 18px
    }

    .about-page .about-mini-stat__value {
        font-size: 20px
    }

    .about-page .about-hero-mini-stats {
        grid-template-columns: repeat(1, minmax(0, 1fr))
    }

    .about-page .about-story-image-grid {
        min-height: 420px
    }

    .about-page .about-story-image-card--large {
        width: 78%;
        min-height: 340px
    }

    .about-page .about-story-image-card--small {
        width: 46%;
        min-height: 210px
    }

    .about-page .about-story-value {
        left: 18px;
        bottom: 18px
    }

    .about-page .about-story-value__number {
        font-size: 24px
    }

    .about-page .about-highlight-card {
        padding: 16px 18px
    }

    .about-page .about-doctor-card__media {
        padding: 0 18px
    }

    .about-page .about-doctor-card__media img {
        height: 240px
    }

    .about-page .about-doctor-card__body {
        padding: 20px 18px 22px
    }
}

@media(prefers-reduced-motion:reduce) {

    .about-page .about-reveal,
    .about-page .about-doctor-card {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important
    }
}

.book-appointment-page .book-reveal {
    opacity: 0;
    animation-duration: .8s;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1);
    animation-fill-mode: forwards;
    will-change: transform, opacity
}

.book-appointment-page .book-reveal--up {
    animation-name: bookFadeUp
}

.book-appointment-page .book-reveal--right {
    animation-name: bookFadeRight
}

.book-appointment-page .book-reveal--left {
    animation-name: bookFadeLeft
}

.book-appointment-page .book-reveal--delay-1 {
    animation-delay: .12s
}

.book-appointment-page .book-reveal--delay-2 {
    animation-delay: .24s
}

.book-appointment-page .book-reveal--delay-3 {
    animation-delay: .36s
}

.book-appointment-page .book-reveal--delay-4 {
    animation-delay: .48s
}

@keyframes bookFadeUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 24px, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes bookFadeRight {
    0% {
        opacity: 0;
        transform: translate3d(24px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes bookFadeLeft {
    0% {
        opacity: 0;
        transform: translate3d(-24px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.book-appointment-page .book-hero-section {
    background: radial-gradient(circle at top left, rgba(0, 119, 182, .08), transparent 34%), radial-gradient(circle at bottom right, rgba(0, 180, 216, .06), transparent 30%), #fff
}

.book-appointment-page .book-hero-box {
    position: relative;
    overflow: hidden;
    padding: 42px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffff7, #f1f7fcf2) padding-box, linear-gradient(135deg, #0077b629, #00b4d833) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0f172a14
}

.book-appointment-page .book-hero-title {
    font-size: 42px;
    line-height: 1.05;
    font-weight: 800;
    color: #03045e
}

.book-appointment-page .book-hero-text {
    max-width: 570px;
    font-size: 16px;
    line-height: 1.8;
    color: #5f6b7a
}

.book-appointment-page .book-hero-btn {
    min-width: 180px
}

.book-appointment-page .book-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.book-appointment-page .book-point {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 999px;
    background: #fffc;
    border: 1px solid rgba(0, 119, 182, .1);
    box-shadow: 0 10px 22px #0f172a0d;
    color: #03045e;
    font-size: 14px;
    font-weight: 600
}

.book-appointment-page .book-point i {
    color: #0077b6
}

.book-appointment-page .book-hero-visual {
    display: flex;
    align-items: center;
    justify-content: center
}

.book-appointment-page .book-hero-image-shell {
    position: relative;
    width: min(100%, 520px);
    padding: 24px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffffa, #eef6fcf5) padding-box, linear-gradient(135deg, #0077b62e, #00b4d833) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0077b61a;
    overflow: hidden
}

.book-appointment-page .book-hero-image-shell:before {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 28px;
    background: radial-gradient(circle at top left, rgba(0, 119, 182, .08), transparent 42%), radial-gradient(circle at bottom right, rgba(0, 180, 216, .08), transparent 36%);
    pointer-events: none
}

.book-appointment-page .book-hero-image {
    position: relative;
    z-index: 1;
    width: 100%;
    max-height: 480px;
    object-fit: contain;
    filter: drop-shadow(0 18px 30px rgba(15, 23, 42, .12))
}

.book-appointment-page .book-hero-stamp {
    position: absolute;
    right: 28px;
    bottom: 28px;
    z-index: 2;
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    padding: 14px 18px;
    border-radius: 18px;
    background: #ffffffe6;
    border: 1px solid rgba(0, 119, 182, .12);
    box-shadow: 0 14px 28px #0f172a14
}

.book-appointment-page .book-hero-stamp strong {
    color: #03045e;
    font-size: 22px;
    font-weight: 800;
    line-height: 1
}

.book-appointment-page .book-hero-stamp span {
    color: #64748b;
    font-size: 12px;
    font-weight: 600
}

.book-appointment-page .book-hero-mini-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px
}

.book-appointment-page .book-mini-stat {
    padding: 18px 20px;
    border-radius: 22px;
    background: #ffffffe6;
    border: 1px solid rgba(226, 232, 240, .9);
    box-shadow: 0 18px 36px #0f172a0f;
    text-align: left
}

.book-appointment-page .book-mini-stat__value {
    display: block;
    margin-bottom: 4px;
    font-size: 24px;
    font-weight: 800;
    color: #03045e
}

.book-appointment-page .book-mini-stat__label {
    font-size: 13px;
    color: #64748b;
    font-weight: 600
}

.book-appointment-page .book-appointment-section {
    margin-top: 10px
}

.book-appointment-page .book-appointment-layout {
    display: grid;
    grid-template-columns: minmax(280px, .95fr) minmax(0, 1.6fr);
    gap: 28px;
    align-items: stretch
}

.book-appointment-page .book-appointment-aside {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    background: linear-gradient(180deg, #0077b6, #00b4d8);
    box-shadow: 0 24px 60px #0f172a1f
}

.book-appointment-page .book-appointment-aside__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 40px
}

.book-appointment-page .book-appointment-aside__title {
    color: #fff;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.15
}

.book-appointment-page .book-appointment-aside__text {
    color: #ffffffe6;
    font-size: 15px;
    line-height: 1.8
}

.book-appointment-page .book-appointment-aside__list {
    display: grid;
    gap: 16px;
    margin-top: 8px
}

.book-appointment-page .book-appointment-aside__item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 20px;
    background: #ffffff1f;
    border: 1px solid rgba(255, 255, 255, .14);
    color: #fff;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px)
}

.book-appointment-page .book-appointment-aside__item i {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #ffffff29;
    font-size: 18px
}

.book-appointment-page .book-appointment-aside__item h6 {
    color: #fff;
    font-weight: 700
}

.book-appointment-page .book-appointment-aside__item p {
    color: #ffffffd1;
    font-size: 13px;
    line-height: 1.7
}

.book-appointment-page .book-appointment-aside__note {
    margin-top: 15px;
    padding: 18px 20px;
    border-radius: 22px;
    background: #ffffff24;
    border: 1px solid rgba(255, 255, 255, .18);
    color: #fff;
    box-shadow: inset 0 1px #ffffff14
}

.book-appointment-page .book-appointment-aside__note strong {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
    letter-spacing: .02em;
    text-transform: uppercase
}

.book-appointment-page .book-appointment-aside__note span {
    color: #ffffffe0;
    font-size: 14px;
    line-height: 1.7
}

.book-appointment-page .appointment-form {
    min-width: 0
}

.book-appointment-page .book-appointment-form {
    position: relative;
    overflow: hidden;
    height: 100%;
    padding: 36px;
    border-radius: 34px !important;
    background: linear-gradient(180deg, #fffffffc, #fafcfff7) padding-box, linear-gradient(145deg, #0077b624, #00b4d829) border-box;
    border: 1px solid transparent
}

.book-appointment-page .book-appointment-form .row {
    --bs-gutter-x: 1.25rem;
    --bs-gutter-y: 1rem
}

.book-appointment-page .book-appointment-form h4 {
    font-size: 26px;
    font-weight: 800;
    color: #03045e
}

.book-appointment-page .book-appointment-form label {
    color: #334155;
    font-weight: 600;
    margin-bottom: .55rem
}

.book-appointment-page .book-appointment-form .form-group {
    margin-bottom: 0
}

.book-appointment-page .book-appointment-form .form-control,
.book-appointment-page .book-appointment-form .form-select {
    min-height: 52px;
    border-radius: 16px;
    border: 1px solid #d9e5f0;
    background-color: #fff;
    color: #0f172a;
    box-shadow: none;
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease
}

.book-appointment-page .book-appointment-form .form-control:focus,
.book-appointment-page .book-appointment-form .form-select:focus {
    border-color: #0077b6;
    box-shadow: 0 0 0 .22rem #0077b61f
}

.book-appointment-page .book-appointment-form .form-textarea {
    min-height: 128px;
    resize: vertical
}

.book-appointment-page .book-appointment-form .form-check-input {
    width: 1.08em;
    height: 1.08em;
    border-color: #cbd5e1
}

.book-appointment-page .book-appointment-form .form-check-input:checked {
    background-color: #0077b6;
    border-color: #0077b6
}

.book-appointment-page .book-appointment-form .registered-patient .form-control {
    background: #f8fbff
}

.book-appointment-page .book-appointment-form .book-appointment-message {
    display: none;
    margin-bottom: 20px
}

.book-appointment-page .book-appointment-form .book-appointment-message .alert {
    margin-bottom: 0;
    border-radius: 16px;
    border: none;
    box-shadow: 0 12px 24px #0f172a14
}

.book-appointment-page .book-appointment-form .name-details {
    transition: opacity .2s ease, transform .2s ease
}

.book-appointment-page .book-appointment-form .slots-box {
    padding: 18px;
    border-radius: 22px;
    border: 1px solid #d9e5f0;
    background: linear-gradient(180deg, #f8fbff, #fff);
    box-shadow: inset 0 1px #fffc;
    margin-bottom: 34px;
    max-height: 380px;
    overflow-y: auto
}

.book-appointment-page .book-appointment-form .front-slot-data {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
    align-items: stretch
}

.book-appointment-page .book-appointment-form .no-time-slot {
    width: 100%;
    padding: 16px 12px;
    color: #64748b;
    font-weight: 600
}

.book-appointment-page .book-appointment-form .time-slot {
    cursor: pointer;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .01em;
    line-height: 1.2;
    white-space: nowrap;
    text-align: center;
    background: linear-gradient(135deg, #1dbf73, #0f9f58) !important;
    border: 1px solid rgba(15, 159, 88, .15);
    box-shadow: 0 10px 18px #0f9f5826;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease
}

.book-appointment-page .book-appointment-form .time-slot:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 22px #0f9f582e
}

.book-appointment-page .book-appointment-form .time-slot.bookedSlot {
    background: #f62947 !important;
    border-color: #e11d481f;
    box-shadow: 0 10px 18px #e11d482e
}

.book-appointment-page .book-appointment-form .time-slot.bookedSlot:hover {
    background: linear-gradient(135deg, #ff4b68, #cb123e) !important
}

.book-appointment-page .book-appointment-form .time-slot.activeSlot {
    background: linear-gradient(135deg, #0077b6, #00b4d8) !important;
    border-color: #0077b62e;
    box-shadow: 0 12px 22px #0077b62e
}

.book-appointment-page .book-appointment-form #payableAmountText {
    color: #334155;
    letter-spacing: .02em
}

.book-appointment-page .book-appointment-form #payableAmountText #payableAmount {
    color: #03045e
}

.book-appointment-page .book-appointment-form .btn-primary {
    min-width: 220px;
    min-height: 52px;
    border-radius: 999px;
    box-shadow: 0 16px 30px #0077b62e
}

.book-appointment-page .top-heading {
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 800
}

.book-appointment-page .required {
    color: #e11d48
}

@media(max-width:1199px) {
    .book-appointment-page .book-hero-title {
        font-size: 46px
    }

    .book-appointment-page .book-hero-box {
        padding: 32px
    }

    .book-appointment-page .book-appointment-layout {
        grid-template-columns: 1fr
    }
}

@media(max-width:991px) {
    .book-appointment-page .book-hero-title {
        font-size: 38px
    }

    .book-appointment-page .book-hero-box {
        padding: 28px
    }

    .book-appointment-page .book-hero-visual {
        order: -1
    }

    .book-appointment-page .book-hero-image-shell {
        max-width: 480px
    }

    .book-appointment-page .book-hero-mini-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .book-appointment-page .book-appointment-aside__inner {
        padding: 32px
    }
}

@media(max-width:767px) {
    .book-appointment-page .book-hero-box {
        border-radius: 26px
    }

    .book-appointment-page .book-hero-title {
        font-size: 32px
    }

    .book-appointment-page .book-hero-image-shell {
        padding: 18px;
        border-radius: 26px
    }

    .book-appointment-page .book-hero-stamp {
        right: 18px;
        bottom: 18px
    }

    .book-appointment-page .book-mini-stat {
        padding: 16px 18px
    }

    .book-appointment-page .book-appointment-aside {
        border-radius: 26px
    }

    .book-appointment-page .book-appointment-aside__inner {
        padding: 26px
    }

    .book-appointment-page .book-appointment-aside__title {
        font-size: 28px
    }

    .book-appointment-page .book-appointment-form {
        padding: 24px;
        border-radius: 26px !important
    }

    .book-appointment-page .book-appointment-form .btn-primary {
        width: 100%
    }

    .book-appointment-page .book-appointment-form .slots-box {
        padding: 14px;
        margin-bottom: 28px
    }
}

@media(max-width:575px) {
    .book-appointment-page .book-hero-mini-stats {
        grid-template-columns: 1fr
    }
}

@media(prefers-reduced-motion:reduce) {
    .book-appointment-page .book-reveal {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important
    }

    .book-appointment-page .book-appointment-form .time-slot {
        transition: none !important
    }
}

.contact-page .contact-reveal {
    opacity: 0;
    animation-duration: .8s;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1);
    animation-fill-mode: forwards;
    will-change: transform, opacity
}

.contact-page .contact-reveal--up {
    animation-name: contactFadeUp
}

.contact-page .contact-reveal--right {
    animation-name: contactFadeRight
}

.contact-page .contact-reveal--left {
    animation-name: contactFadeLeft
}

.contact-page .contact-reveal--delay-1 {
    animation-delay: .12s
}

.contact-page .contact-reveal--delay-2 {
    animation-delay: .24s
}

.contact-page .contact-reveal--delay-3 {
    animation-delay: .36s
}

@keyframes contactFadeUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 24px, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes contactFadeRight {
    0% {
        opacity: 0;
        transform: translate3d(24px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes contactFadeLeft {
    0% {
        opacity: 0;
        transform: translate3d(-24px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.contact-page .contact-hero-section {
    background: radial-gradient(circle at top left, rgba(0, 119, 182, .08), transparent 34%), radial-gradient(circle at bottom right, rgba(0, 180, 216, .06), transparent 30%), #fff
}

.contact-page .contact-hero-box {
    position: relative;
    overflow: hidden;
    padding: 42px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffff7, #f1f7fcf2) padding-box, linear-gradient(135deg, #0077b629, #00b4d833) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0f172a14
}

.contact-page .contact-hero-title {
    font-size: 42px;
    line-height: 1.05;
    font-weight: 800;
    color: #011a43
}

.contact-page .contact-hero-text {
    max-width: 560px;
    font-size: 16px;
    line-height: 1.8;
    color: #5f6b7a
}

.contact-page .contact-hero-btn {
    min-width: 180px
}

.contact-page .contact-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.contact-page .contact-point {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 999px;
    background: #fffc;
    border: 1px solid rgba(0, 119, 182, .1);
    box-shadow: 0 10px 22px #0f172a0d;
    color: #016d77;
    font-size: 14px;
    font-weight: 600
}

.contact-page .contact-point i {
    color: #fe0000
}

.contact-page .contact-hero-visual {
    display: flex;
    align-items: center;
    justify-content: center
}

.contact-page .contact-hero-image-shell {
    position: relative;
    width: min(100%, 520px);
    padding: 24px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffffa, #eef6fcf5) padding-box, linear-gradient(135deg, #0077b62e, #00b4d833) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0077b61a;
    overflow: hidden
}

.contact-page .contact-hero-image-shell:before {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 28px;
    background: radial-gradient(circle at top left, rgba(0, 119, 182, .08), transparent 42%), radial-gradient(circle at bottom right, rgba(0, 180, 216, .08), transparent 36%);
    pointer-events: none
}

.contact-page .contact-hero-image {
    position: relative;
    z-index: 1;
    width: 100%;
    max-height: 480px;
    object-fit: contain;
    filter: drop-shadow(0 18px 30px rgba(15, 23, 42, .12))
}

.contact-page .contact-hero-stamp {
    position: absolute;
    right: 28px;
    bottom: 28px;
    z-index: 2;
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    padding: 14px 18px;
    border-radius: 18px;
    background: #ffffffe6;
    border: 1px solid rgba(0, 119, 182, .12);
    box-shadow: 0 14px 28px #0f172a14
}

.contact-page .contact-hero-stamp strong {
    color: #03045e;
    font-size: 22px;
    font-weight: 800;
    line-height: 1
}

.contact-page .contact-hero-stamp span {
    color: #64748b;
    font-size: 12px;
    font-weight: 600
}

.contact-page .contact-hero-mini-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px
}

.contact-page .contact-mini-stat {
    padding: 18px 20px;
    border-radius: 22px;
    background: #ffffffe6;
    border: 1px solid rgba(226, 232, 240, .9);
    box-shadow: 0 18px 36px #0f172a0f;
    text-align: left
}

.contact-page .contact-mini-stat__value {
    display: block;
    margin-bottom: 4px;
    font-size: 24px;
    font-weight: 800;
    color: #fe0000
}

.contact-page .contact-mini-stat__label {
    font-size: 13px;
    color: #64748b;
    font-weight: 600
}

.contact-page .contact-form-shell {
    overflow: hidden;
    border-radius: 34px;
    background: #fff;
    box-shadow: 0 24px 60px #0f172a14
}

.contact-page .contact-info-panel {
    background: linear-gradient(180deg, #016d77, #0c597a)
}

.contact-page .contact-info-panel__inner {
    padding: 40px
}

.contact-page .contact-info-panel__text {
    color: #ffffffe0;
    font-size: 15px;
    line-height: 1.8
}

.contact-page .contact-info-list {
    display: grid;
    gap: 16px
}

.contact-page .contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 20px;
    background: #ffffff1f;
    border: 1px solid rgba(255, 255, 255, .14);
    color: #fff
}

.contact-page .contact-info-item h5 {
    color: #fff;
    font-size: 15px;
    font-weight: 700
}

.contact-page .contact-info-item p,
.contact-page .contact-info-item a {
    color: #ffffffe6;
    font-size: 14px;
    line-height: 1.7;
    word-break: break-word
}

.contact-page .contact-info-item__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: #ffffff24;
    color: #fff;
    box-shadow: 0 10px 22px #0f172a14
}

.contact-page .contact-form-panel {
    padding: 40px;
    background: radial-gradient(circle at top right, rgba(0, 119, 182, .05), transparent 28%), #fff
}

.contact-page .contact-form-panel__header h3 {
    font-size: 34px;
    font-weight: 800;
    color: #011a43
}

.contact-page .contact-form-panel__header p {
    max-width: 560px;
    color: #5f6b7a;
    font-size: 15px;
    line-height: 1.8
}

.contact-page .contact-form__input-block {
    margin-bottom: 20px
}

.contact-page .contact-form .form-control,
.contact-page .contact-form .form-select,
.contact-page .contact-form .form-textarea {
    width: 100%;
    min-height: 56px;
    border-radius: 16px;
    border: 1px solid #dbe5ef;
    background: #f8fbff;
    color: #03045e;
    padding: 14px 18px;
    box-shadow: none
}

.contact-page .contact-form .form-control:focus,
.contact-page .contact-form .form-select:focus,
.contact-page .contact-form .form-textarea:focus {
    border-color: #0077b673;
    background: #fff;
    box-shadow: 0 0 0 4px #0077b614
}

.contact-page .contact-form .form-textarea {
    min-height: 160px;
    resize: vertical
}

.contact-page .contact-form .form-control::placeholder,
.contact-page .contact-form .form-textarea::placeholder {
    color: #94a3b8
}

.contact-page .contact-form textarea.form-control {
    height: auto
}

.contact-page .contact-submit-btn {
    min-width: 180px;
    min-height: 48px;
    border-radius: 999px
}

.contact-page .information-section {
    background: #f7fbfe
}

.contact-page .information-section__heading h2 {
    font-size: 42px;
    font-weight: 800;
    color: #011a43
}

.contact-page .contact-info-card {
    padding: 28px 24px;
    border-radius: 28px;
    background: linear-gradient(180deg, #fffffffa, #fafcfff5) padding-box, linear-gradient(145deg, #0077b629, #00b4d824) border-box;
    border: 1px solid transparent;
    box-shadow: 0 16px 36px #0f172a14;
    transition: all .28s ease;
    text-align: center
}

.contact-page .contact-info-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 50px #0f172a24
}

.contact-page .contact-info-card h4 {
    font-size: 22px;
    font-weight: 800;
    color: #011a43
}

.contact-page .contact-info-card a,
.contact-page .contact-info-card p {
    color: #5f6b7a;
    font-size: 15px;
    line-height: 1.8;
    word-break: break-word
}

.contact-page .contact-info-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    margin: 0 auto 18px;
    border-radius: 22px;
    background: #0077b61a;
    color: #fe0000;
    font-size: 24px
}

@media(max-width:1199px) {

    .contact-page .contact-hero-title,
    .contact-page .contact-form-panel__header h3,
    .contact-page .information-section__heading h2 {
        font-size: 40px
    }

    .contact-page .contact-hero-box,
    .contact-page .contact-form-panel__header,
    .contact-page .contact-info-panel__inner,
    .contact-page .contact-form-panel {
        padding: 32px
    }
}

@media(max-width:991px) {

    .contact-page .contact-hero-title,
    .contact-page .contact-form-panel__header h3,
    .contact-page .information-section__heading h2 {
        font-size: 36px
    }

    .contact-page .contact-hero-visual {
        order: -1
    }

    .contact-page .contact-hero-mini-stats {
        grid-template-columns: repeat(1, minmax(0, 1fr))
    }

    .contact-page .contact-info-panel__inner,
    .contact-page .contact-form-panel {
        padding: 28px
    }
}

@media(max-width:767px) {

    .contact-page .contact-hero-box,
    .contact-page .contact-form-shell {
        border-radius: 26px
    }

    .contact-page .contact-hero-box,
    .contact-page .contact-info-panel__inner,
    .contact-page .contact-form-panel {
        padding: 26px
    }

    .contact-page .contact-hero-title,
    .contact-page .contact-form-panel__header h3,
    .contact-page .information-section__heading h2 {
        font-size: 30px
    }

    .contact-page .contact-hero-image-shell {
        padding: 18px;
        border-radius: 26px
    }

    .contact-page .contact-hero-image {
        max-height: 360px
    }

    .contact-page .contact-mini-stat {
        padding: 16px 18px
    }

    .contact-page .contact-mini-stat__value {
        font-size: 20px
    }

    .contact-page .contact-info-item {
        padding: 14px 16px
    }

    .contact-page .contact-form .form-control,
    .contact-page .contact-form .form-select,
    .contact-page .contact-form .form-textarea {
        min-height: 52px;
        border-radius: 14px;
        padding: 12px 16px
    }

    .contact-page .contact-form .form-textarea {
        min-height: 140px
    }

    .contact-page .contact-info-card {
        padding: 24px 20px
    }
}

@media(prefers-reduced-motion:reduce) {

    .contact-page .contact-reveal,
    .contact-page .contact-info-card {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important
    }
}

.our-faqs-page .faq-reveal,
.our-faqs-page .policy-reveal,
.policy-page .faq-reveal,
.policy-page .policy-reveal {
    opacity: 0;
    animation-duration: .8s;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1);
    animation-fill-mode: forwards;
    will-change: transform, opacity
}

.our-faqs-page .faq-reveal--up,
.our-faqs-page .policy-reveal--up,
.policy-page .faq-reveal--up,
.policy-page .policy-reveal--up {
    animation-name: pageFadeUp
}

.our-faqs-page .faq-reveal--right,
.our-faqs-page .policy-reveal--right,
.policy-page .faq-reveal--right,
.policy-page .policy-reveal--right {
    animation-name: pageFadeRight
}

.our-faqs-page .faq-reveal--left,
.our-faqs-page .policy-reveal--left,
.policy-page .faq-reveal--left,
.policy-page .policy-reveal--left {
    animation-name: pageFadeLeft
}

.our-faqs-page .faq-reveal--delay-1,
.our-faqs-page .policy-reveal--delay-1,
.policy-page .faq-reveal--delay-1,
.policy-page .policy-reveal--delay-1 {
    animation-delay: .12s
}

.our-faqs-page .faq-reveal--delay-2,
.our-faqs-page .policy-reveal--delay-2,
.policy-page .faq-reveal--delay-2,
.policy-page .policy-reveal--delay-2 {
    animation-delay: .24s
}

.our-faqs-page .faq-reveal--delay-3,
.our-faqs-page .policy-reveal--delay-3,
.policy-page .faq-reveal--delay-3,
.policy-page .policy-reveal--delay-3 {
    animation-delay: .36s
}

@keyframes pageFadeUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 24px, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes pageFadeRight {
    0% {
        opacity: 0;
        transform: translate3d(24px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes pageFadeLeft {
    0% {
        opacity: 0;
        transform: translate3d(-24px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.our-faqs-page .top-heading,
.policy-page .top-heading {
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 800
}

.our-faqs-page .faq-hero-section {
    background: radial-gradient(circle at top left, rgba(0, 119, 182, .08), transparent 34%), radial-gradient(circle at bottom right, rgba(0, 180, 216, .06), transparent 30%), #fff
}

.our-faqs-page .faq-hero-box {
    position: relative;
    overflow: hidden;
    padding: 42px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffff7, #f1f7fcf2) padding-box, linear-gradient(135deg, #0077b629, #00b4d833) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0f172a14
}

.our-faqs-page .faq-hero-title {
    font-size: 42px;
    line-height: 1.05;
    font-weight: 800;
    color: #03045e
}

.our-faqs-page .faq-hero-text {
    max-width: 580px;
    font-size: 16px;
    line-height: 1.8;
    color: #5f6b7a
}

.our-faqs-page .faq-hero-btn {
    min-width: 180px
}

.our-faqs-page .faq-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.our-faqs-page .faq-point {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 999px;
    background: #fffc;
    border: 1px solid rgba(0, 119, 182, .1);
    box-shadow: 0 10px 22px #0f172a0d;
    color: #03045e;
    font-size: 14px;
    font-weight: 600
}

.our-faqs-page .faq-point i {
    color: #0077b6
}

.our-faqs-page .faq-hero-visual {
    display: flex;
    align-items: center;
    justify-content: center
}

.our-faqs-page .faq-hero-image-shell {
    position: relative;
    width: min(100%, 520px);
    min-height: 380px;
    padding: 24px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffffa, #eef6fcf5) padding-box, linear-gradient(135deg, #0077b62e, #00b4d833) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0077b61a;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px
}

.our-faqs-page .faq-hero-image {
    width: 100%;
    max-height: 300px;
    object-fit: contain;
    filter: drop-shadow(0 18px 30px rgba(15, 23, 42, .12))
}

.our-faqs-page .faq-hero-image-badge {
    width: 100%;
    padding: 18px 20px;
    border-radius: 22px;
    background: #ffffffe6;
    border: 1px solid rgba(226, 232, 240, .95);
    box-shadow: 0 18px 36px #0f172a0f;
    text-align: left
}

.our-faqs-page .faq-hero-image-badge strong {
    display: block;
    margin-bottom: 4px;
    color: #03045e;
    font-size: 18px;
    font-weight: 800
}

.our-faqs-page .faq-hero-image-badge span {
    color: #64748b;
    font-size: 13px;
    line-height: 1.6
}

.our-faqs-page .faq-hero-mini-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px
}

.our-faqs-page .faq-mini-stat {
    padding: 18px 20px;
    border-radius: 22px;
    background: #ffffffe6;
    border: 1px solid rgba(226, 232, 240, .9);
    box-shadow: 0 18px 36px #0f172a0f;
    text-align: left
}

.our-faqs-page .faq-mini-stat__value {
    display: block;
    margin-bottom: 4px;
    font-size: 24px;
    font-weight: 800;
    color: #03045e
}

.our-faqs-page .faq-mini-stat__label {
    font-size: 13px;
    color: #64748b;
    font-weight: 600
}

.our-faqs-page .faq-content-shell {
    padding: 40px;
    border-radius: 34px;
    background: #fff;
    box-shadow: 0 24px 60px #0f172a14
}

.our-faqs-page .faq-content-shell__header h2 {
    font-size: 42px;
    font-weight: 800;
    color: #03045e
}

.our-faqs-page .faq-accordion .accordion-item {
    margin-bottom: 14px;
    border: 1px solid #dbe7f2;
    border-radius: 22px;
    overflow: hidden;
    background: linear-gradient(180deg, #fff, #f8fbff);
    box-shadow: 0 14px 30px #0f172a0d
}

.our-faqs-page .faq-accordion .accordion-button {
    padding: 20px 22px;
    font-size: 16px;
    font-weight: 700;
    color: #03045e;
    background: transparent;
    box-shadow: none
}

.our-faqs-page .faq-accordion .accordion-button:focus {
    box-shadow: none;
    border-color: transparent
}

.our-faqs-page .faq-accordion .accordion-button:not(.collapsed) {
    color: #0077b6;
    background: linear-gradient(135deg, #0077b60f, #00b4d814)
}

.our-faqs-page .faq-accordion .accordion-body {
    padding: 0 22px 20px;
    color: #5f6b7a;
    line-height: 1.8
}

.our-faqs-page .faq-empty-state {
    padding: 48px 20px;
    border-radius: 28px;
    background: linear-gradient(180deg, #f8fbff, #fff);
    box-shadow: 0 16px 34px #0f172a0f
}

.policy-page .policy-hero-section {
    background: radial-gradient(circle at top left, rgba(0, 119, 182, .08), transparent 34%), radial-gradient(circle at bottom right, rgba(0, 180, 216, .06), transparent 30%), #fff
}

.policy-page .policy-hero-box {
    position: relative;
    overflow: hidden;
    padding: 42px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffff7, #f1f7fcf2) padding-box, linear-gradient(135deg, #0077b629, #00b4d833) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0f172a14
}

.policy-page .policy-hero-title {
    font-size: 42px;
    line-height: 1.05;
    font-weight: 800;
    color: #03045e
}

.policy-page .policy-hero-text {
    max-width: 620px;
    font-size: 16px;
    line-height: 1.8;
    color: #5f6b7a
}

.policy-page .policy-hero-btn {
    min-width: 180px
}

.policy-page .policy-hero-card {
    display: grid;
    justify-items: center;
    gap: 12px;
    padding: 34px 24px;
    border-radius: 30px;
    background: linear-gradient(180deg, #0077b614, #00b4d81f);
    border: 1px solid rgba(0, 119, 182, .12);
    text-align: center;
    box-shadow: 0 18px 36px #0f172a0f
}

.policy-page .policy-hero-card strong {
    color: #03045e;
    font-size: 22px;
    font-weight: 800
}

.policy-page .policy-hero-card span {
    color: #64748b;
    font-size: 14px;
    line-height: 1.7
}

.policy-page .policy-hero-image-shell {
    position: relative;
    width: min(100%, 520px);
    min-height: 380px;
    padding: 24px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffffa, #eef6fcf5) padding-box, linear-gradient(135deg, #0077b62e, #00b4d833) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0077b61a;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px
}

.policy-page .policy-hero-image {
    width: 100%;
    max-height: 300px;
    object-fit: contain;
    filter: drop-shadow(0 18px 30px rgba(15, 23, 42, .12))
}

.policy-page .policy-hero-image-badge {
    width: 100%;
    padding: 18px 20px;
    border-radius: 22px;
    background: #ffffffe6;
    border: 1px solid rgba(226, 232, 240, .95);
    box-shadow: 0 18px 36px #0f172a0f;
    text-align: left
}

.policy-page .policy-hero-image-badge strong {
    display: block;
    margin-bottom: 4px;
    color: #03045e;
    font-size: 18px;
    font-weight: 800
}

.policy-page .policy-hero-image-badge span {
    color: #64748b;
    font-size: 13px;
    line-height: 1.6
}

.policy-page .policy-hero-mini-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px
}

.policy-page .policy-mini-stat {
    padding: 18px 20px;
    border-radius: 22px;
    background: #ffffffe6;
    border: 1px solid rgba(226, 232, 240, .9);
    box-shadow: 0 18px 36px #0f172a0f;
    text-align: left
}

.policy-page .policy-mini-stat__value {
    display: block;
    margin-bottom: 4px;
    font-size: 24px;
    font-weight: 800;
    color: #03045e
}

.policy-page .policy-mini-stat__label {
    font-size: 13px;
    color: #64748b;
    font-weight: 600
}

.policy-page .policy-content-shell {
    padding: 40px;
    border-radius: 34px;
    background: #fff;
    box-shadow: 0 24px 60px #0f172a14
}

.policy-page .policy-content-shell__header h2 {
    font-size: 36px;
    font-weight: 800;
    color: #03045e
}

.policy-page .policy-content-shell__header p {
    color: #5f6b7a;
    line-height: 1.8
}

.policy-page .policy-article {
    color: #334155;
    line-height: 1.9;
    font-size: 16px
}

.policy-page .policy-article h1,
.policy-page .policy-article h2,
.policy-page .policy-article h3,
.policy-page .policy-article h4,
.policy-page .policy-article h5,
.policy-page .policy-article h6 {
    margin-top: 1.8rem;
    margin-bottom: .85rem;
    color: #03045e;
    font-weight: 800
}

.policy-page .policy-article p {
    margin-bottom: 1rem
}

.policy-page .policy-article ul,
.policy-page .policy-article ol {
    padding-left: 1.4rem;
    margin-bottom: 1rem
}

.policy-page .policy-article li {
    margin-bottom: .55rem
}

.policy-page .policy-article a {
    color: #0077b6;
    text-decoration: underline
}

.policy-page .policy-article table {
    width: 100%;
    margin: 1.25rem 0;
    border-collapse: collapse
}

.policy-page .policy-article th,
.policy-page .policy-article td {
    padding: 12px 14px;
    border: 1px solid #d9e5f0;
    vertical-align: top
}

.policy-page .policy-article th {
    background: #f8fbff;
    color: #03045e
}

@media(max-width:1199px) {
    .our-faqs-page .faq-hero-title {
        font-size: 46px
    }

    .our-faqs-page .faq-hero-box {
        padding: 32px
    }

    .our-faqs-page .faq-content-shell__header h2 {
        font-size: 38px
    }

    .policy-page .policy-hero-title {
        font-size: 46px
    }

    .policy-page .policy-hero-box {
        padding: 32px
    }
}

@media(max-width:991px) {
    .our-faqs-page .faq-hero-title {
        font-size: 38px
    }

    .our-faqs-page .faq-hero-box {
        padding: 28px
    }

    .our-faqs-page .faq-hero-visual {
        order: -1
    }

    .our-faqs-page .faq-hero-image-shell {
        max-width: 480px
    }

    .our-faqs-page .faq-hero-mini-stats {
        grid-template-columns: 1fr
    }

    .our-faqs-page .faq-content-shell {
        padding: 30px
    }

    .policy-page .policy-hero-title {
        font-size: 38px
    }

    .policy-page .policy-hero-box {
        padding: 28px
    }

    .policy-page .policy-hero-mini-stats {
        grid-template-columns: 1fr
    }

    .policy-page .policy-hero-visual {
        order: -1
    }

    .policy-page .policy-hero-image-shell {
        max-width: 480px
    }

    .policy-page .policy-content-shell {
        padding: 30px
    }
}

@media(max-width:767px) {
    .our-faqs-page .faq-hero-box {
        border-radius: 26px
    }

    .our-faqs-page .faq-hero-title {
        font-size: 32px
    }

    .our-faqs-page .faq-hero-image-shell {
        padding: 18px;
        border-radius: 26px;
        min-height: 300px
    }

    .our-faqs-page .faq-content-shell {
        padding: 24px;
        border-radius: 26px
    }

    .our-faqs-page .faq-content-shell__header h2 {
        font-size: 30px
    }

    .our-faqs-page .faq-accordion .accordion-button {
        padding: 18px;
        font-size: 15px
    }

    .our-faqs-page .faq-accordion .accordion-body {
        padding: 0 18px 18px
    }

    .policy-page .policy-hero-box {
        border-radius: 26px
    }

    .policy-page .policy-hero-title {
        font-size: 32px
    }

    .policy-page .policy-hero-image-shell {
        padding: 18px;
        border-radius: 26px;
        min-height: 300px
    }

    .policy-page .policy-content-shell {
        padding: 24px;
        border-radius: 26px
    }

    .policy-page .policy-content-shell__header h2 {
        font-size: 28px
    }
}

@media(max-width:575px) {
    .our-faqs-page .faq-hero-btn {
        width: 100%
    }

    .our-faqs-page .faq-hero-stack {
        grid-template-columns: 1fr
    }

    .policy-page .policy-hero-btn {
        width: 100%
    }
}

@media(prefers-reduced-motion:reduce) {

    .our-faqs-page .faq-reveal,
    .our-faqs-page .policy-reveal,
    .policy-page .faq-reveal,
    .policy-page .policy-reveal {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important
    }
}

@media only screen and (max-width:991px) {

    .menu-links .nav>li:hover>a,
    .menu-links .nav>li.active>a {
        color: #f17732 !important
    }
}

footer .ft-contact .contact-bx .contact-number .number {
    white-space: nowrap
}

@media only screen and (max-width:575px) {
    .header .secondary-menu {
        height: unset
    }
}

@media only screen and (max-width:991px) {
    .header .secondary-menu {
        margin-top: 10px !important
    }
}

@media(min-width:1080px)and (max-width:1340px) {
    .menu-links .nav>li>a {
        padding: 45px 12px !important;
        font-size: 15px
    }
}

@media(min-width:992px)and (max-width:1140px) {
    .menu-links .nav>li>a {
        padding: 45px 7px !important;
        font-size: 13px
    }
}

@media(max-width:1179px) {
    .dashboard-button {
        padding: 15px !important
    }
}

@media(max-width:1140px) {
    .dashboard-button {
        padding: 15px 8px !important
    }
}

@media(max-width:1179px) {
    .appointment-header-btn {
        padding: 15px 30px 15px 15px !important
    }
}

@media(max-width:1140px) {
    .appointment-header-btn {
        padding: 15px 30px 15px 6px !important
    }
}

.menu-links .nav>li:hover a i {
    transform: unset
}

@media only screen and (max-width:991px) {
    .menu-links .nav>li .mega-menu li a {
        width: 100%
    }
}

@media only screen and (max-width:991px) {
    .menu-links .nav li .sub-menu li a {
        width: 100%
    }
}

.mobile-logo {
    width: 60px !important;
    height: auto !important
}

@media(max-width:1230px)and (min-width:992px) {
    .menu-logo img {
        width: 60px !important
    }
}

@media(max-width:575px) {
    .menu-logo img {
        width: 60px !important
    }
}

@media(max-width:375px) {
    .appointment-container {
        display: flex !important;
        flex-direction: column
    }
}

@media(max-width:375px) {

    .appointment-available,
    .appointment-booked {
        width: 100%
    }
}

@media(max-width:375px) {
    .appointment-available div {
        margin-left: 0 !important
    }
}

@media(max-width:360px) {
    .medical-heading {
        font-size: 32px !important
    }
}

@media(max-width:340px) {
    .breadcrumb-row {
        padding: 10px 14px !important
    }
}

@media(max-width:1199px) {
    .blog-area .pt-img2 {
        bottom: 0 !important
    }
}

@media(max-width:991px) {
    .blog-area .pt-img2 {
        bottom: -20px !important
    }
}

.feature-bx2 .feature-box-xl img {
    width: 60px;
    height: 60px
}

.phone-number .hide {
    display: none
}

.phone-number #error-msg {
    color: #f72b50
}

.phone-number #valid-msg {
    color: #209f84
}

.iti {
    width: 100%
}

@media(max-width:575px) {
    .main-banner {
        width: 100%
    }
}

@media(max-width:991px) {
    .pt-img1.animate-wave {
        top: 70px
    }
}

.appointment-calendar {
    color: #444 !important
}

.swiper-pagination .swiper-pagination-bullet {
    display: none !important
}

@media(max-width:380px) {
    .appointment-thumb {
        width: 100%
    }
}

@media(max-width:991px) {
    .rs-nav .menu-links {
        background-color: #333f6c
    }
}

@media(max-width:340px) {
    .menu-links .nav {
        width: 100%;
        min-width: unset
    }
}

@media(max-width:290px) {
    .appointment-button .btn {
        font-size: 13px
    }
}

.swiper-slide {
    height: auto
}

.swiper-slide .feature-container {
    height: 93%
}

.front-slot-data {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    width: 100%
}

.front-slot-data .time-slot {
    width: 100%;
    margin: 0 !important;
    text-align: center;
    padding: 10px;
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center
}

.front-slot-data .time-slot.bookedSlot {
    background: #f62947 !important
}

.front-slot-data .time-slot.bookedSlot:hover {
    background: #ec0927 !important
}

.front-slot-data .time-slot.activeSlot,
.front-slot-data .time-slot:hover {
    background: #5d5dc2 !important
}

@media(max-width:300px) {
    .contact-bx {
        flex-direction: column
    }
}

@media(max-width:300px) {
    .contact-bx .contact-number {
        text-align: center
    }
}

@media(max-width:300px) {
    .contact-bx .contact-number span {
        margin-top: 10px
    }
}

@media(max-width:365px) {

    .team-member .doctor-appointment-btn,
    .team-member .about-appointment-btn {
        margin-left: -25px;
        margin-right: -25px
    }
}

.team-member .team-media img {
    width: 170px;
    height: 170px;
    object-fit: cover
}

.datepicker table tr td.active.active {
    background-image: linear-gradient(to bottom, #565acf, #565acf)
}

.datepicker table tr td.active.active:hover {
    background-image: linear-gradient(to bottom, #494db0, #494db0)
}

.booking-button {
    padding: 20px 30px
}

@media(max-width:280px) {
    .booking-button {
        padding: 20px 10px
    }
}

.booking-home-button {
    padding: 20px
}

.btn-icon-bx {
    min-width: 40px;
    width: auto
}

@media(max-width:575px)and (min-width:430px) {
    .team-member .team-media:before {
        background-size: 57%
    }
}

@media(max-width:575px)and (min-width:430px) {
    .team-member .team-media:after {
        background-size: 80%
    }
}

.table-condensed tbody tr .today {
    background-color: #e8e8e8 !important;
    background-image: linear-gradient(to bottom, #e8e8e8, #e8e8e8) !important
}

.table-condensed tbody tr .today:hover {
    background-color: #dedede !important;
    background-image: linear-gradient(to bottom, #dedede, #dedede) !important
}

.table-condensed tbody tr .today.active {
    background-image: linear-gradient(to bottom, #565acf, #565acf) !important
}

.table-condensed tbody tr .today.active:hover {
    background-image: linear-gradient(to bottom, #494db0, #494db0) !important
}

.w-20px {
    width: 20px
}

.datepicker-days .table-condensed td {
    text-align: center
}

.datepicker table tr td {
    width: 40px !important;
    height: 40px !important
}

.datepicker table tr th {
    height: 32px
}

.testimonial-image {
    max-height: 50px !important;
    max-width: 120px !important
}

.image-circle>img {
    border-radius: 50%
}

.front-app-logo {
    /*max-height: 50px;*/
    max-width: 180px
}

@media(max-width:375px) {
    .g-recaptcha {
        transform: scale(.85) !important;
        -webkit-transform: scale(.8) !important;
        transform-origin: 0 0 !important;
        -webkit-transform-origin: 0 0 !important
    }
}

.image.image-mini img {
    width: 50px !important;
    height: 50px !important
}

.image>img {
    width: 100% !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    -o-object-fit: cover !important;
    object-fit: cover !important
}

.qrcodeimg {
    width: 110px !important;
    height: 110px !important;
    object-fit: cover
}

.qrcode-option-ul {
    margin-top: 20px;
    margin-bottom: 20px
}

.qrcode-option-li {
    margin: 0 20px 0 0 !important
}

@media(max-width:375px) {
    .qrcode-option-li {
        margin: 0 5px 0 0 !important
    }
}

.qrcode-option {
    color: #747b81 !important;
    font-weight: 500;
    border: 2px solid black !important;
    padding: 13px 25px !important;
    border-radius: 50px !important;
    border: 1px solid transparent !important;
    background: linear-gradient(#fff 0 0) padding-box, linear-gradient(to right, #fe8065, #f74d6c) border-box !important;
    color: #f74d6c !important;
    transition: all .3s ease-in-out !important
}

@media(max-width:320px) {
    .qrcode-option {
        padding: 10px 15px !important
    }
}

.qrcode-option.active {
    color: #fe8065 !important;
    font-weight: 500;
    background: linear-gradient(117.85deg, #fe8065, #f74d6c) !important;
    border-color: transparent;
    color: #fff !important;
    transition: all .3s ease-in-out !important
}

.qr-patient-appointment-name {
    margin-top: 6px
}

@media(max-width:425px) {
    .qr-patient-appointment-name {
        margin-top: 0
    }
}

.qr-card {
    box-shadow: 0 5px 15px #d7dee8 !important;
    border-radius: 0 0 50px !important
}

.appintment-time {
    width: 160px !important;
    padding: 10px 15px
}

@media(max-width:375px) {
    .appintment-time {
        width: 140px !important;
        padding: 5px 7px
    }
}

tbody,
td,
tfoot,
th,
thead,
tr {
    border-color: inherit;
    border-style: none;
    border-width: 0
}

.patient-email:hover,
.patient-contact:hover {
    color: #f74d6b !important
}

.patient-email,
.patient-contact {
    color: #6c757d !important
}

.nav-tabs {
    border-bottom: none
}

.header-qr-appontment>th {
    font-size: 17px
}

@media(max-width:375px) {
    .header-qr-appontment>th {
        font-size: 15px
    }
}

.table>:not(:first-child) {
    border-top: 0px solid #c8c8c8 !important
}

.badge {
    font-weight: 400
}

.book-badge {
    background-color: #6572ffd9 !important;
    width: 140px;
    height: 28px
}

.book-checkin {
    background-color: #09c074d4 !important;
    width: 140px;
    height: 28px
}

.book-checkout {
    background-color: #ffb921d0 !important;
    width: 140px;
    height: 28px
}

.book-cancel {
    background-color: #f62948df !important;
    width: 140px;
    height: 28px
}

.data-qr-code {
    vertical-align: middle
}

.qr-appointment-name,
.qr-code-name {
    font-size: 15px
}

@media(max-width:375px) {
    .qr-code-name {
        width: 250px
    }
}

.qr-patient-detal-show {
    color: red
}

.qr-doctor-img {
    object-fit: cover
}

.home-page .home-animate {
    opacity: 0;
    animation-duration: .8s;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1);
    animation-fill-mode: forwards;
    will-change: transform, opacity
}

.home-page .home-animate--up {
    animation-name: homeFadeUp
}

.home-page .home-animate--right {
    animation-name: homeFadeRight
}

.home-page .home-animate--left {
    animation-name: homeFadeLeft
}

.home-page .home-animate--delay-1 {
    animation-delay: .12s
}

.home-page .home-animate--delay-2 {
    animation-delay: .24s
}

.home-page .home-animate--delay-3 {
    animation-delay: .36s
}

@keyframes homeFadeUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 28px, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes homeFadeRight {
    0% {
        opacity: 0;
        transform: translate3d(28px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes homeFadeLeft {
    0% {
        opacity: 0;
        transform: translate3d(-28px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.home-page .hero-image-shell,
.home-page .appointmnet-section__inner-block:before,
.home-page .appointmnet-section__inner-block:after {
    animation: homeFloat 7s ease-in-out infinite
}

.home-page .appointmnet-section__inner-block:after {
    animation-duration: 9s;
    animation-direction: reverse
}

@keyframes homeFloat {

    0%,
    to {
        transform: translateZ(0)
    }

    50% {
        transform: translate3d(0, -8px, 0)
    }
}

@media(prefers-reduced-motion:reduce) {

    .home-page .home-animate,
    .home-page .hero-image-shell,
    .home-page .appointmnet-section__inner-block:before,
    .home-page .appointmnet-section__inner-block:after {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important
    }
}

.home-page .hero-section {
    background: linear-gradient(135deg, #ebf8ff, #f0fbff, #e8f4fd);
    padding: 100px 0;
    position: relative;
    overflow: hidden
}

.home-page .hero-section .hero-title {
    font-size: 42px;
    line-height: 1.05;
    font-weight: 800;
    color: #011a43;
}

.home-page .hero-section img {
    width: 692px;
    height: 580px;
    object-fit: contain !important
}

@media(max-width:1024px) {
    .home-page .hero-section img {
        width: 652px;
        height: 450px;
        object-fit: contain !important
    }
}

@media(max-width:768px) {
    .home-page .hero-section img {
        width: 652px;
        height: 450px;
        object-fit: contain !important
    }
}

@media(max-width:425px) {
    .home-page .hero-section img {
        width: 652px;
        height: 100%
    }
}

@media(max-width:375px) {
    .home-page .hero-section img {
        width: 652px;
        height: 100%
    }
}

@media(max-width:320px) {
    .home-page .hero-section img {
        width: 652px;
        height: 100%
    }
}

.home-page .hero-section .hero-bg-shape-1 {
    position: absolute;
    top: -80px;
    right: -80px;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(0, 119, 182, .07), transparent 70%);
    border-radius: 50%;
    pointer-events: none
}

.home-page .hero-section .hero-bg-shape-2 {
    position: absolute;
    bottom: 40px;
    left: -60px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(0, 180, 216, .05), transparent 70%);
    border-radius: 50%;
    pointer-events: none
}

.home-page .hero-section .h1-font {
    font-size: 48px
}

@media(max-width:1024px) {
    .home-page .hero-section .h1-font {
        font-size: 36px
    }
}

@media(max-width:768px) {
    .home-page .hero-section .h1-font {
        font-size: 28px
    }
}

@media(max-width:425px) {
    .home-page .hero-section .h1-font {
        font-size: 24px
    }
}

.home-page .hero-section .text-gradient {
    background: linear-gradient(90deg, #006d77, #006d77);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #006d77
}

.home-page .hero-section .btn-primary-gradient {
    background: linear-gradient(90deg, #006d77, #006d77);
    box-shadow: 0 6px 20px #0077b64d;
    color: #fff
}

.home-page .hero-section .btn-primary-gradient:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px #0077b666
}

.home-page .hero-section .btn-outline-gradient {
    border: 1px solid #006d77;
    color: #006d77
}

.home-page .hero-section .btn-outline-gradient:hover {
    background: linear-gradient(135deg, #016d77, #0c597a);
    color: #fff
}

.home-page .hero-section .hero-card {
    max-width: 460px;
    width: 100%;
    height: 420px;
    background: linear-gradient(90deg, #0077b6, #00b4d8);
    border-radius: 60px 20px;
    box-shadow: 0 20px 60px #0077b640;
    position: relative
}

.home-page .hero-section .hero-card .glow-top {
    position: absolute;
    top: -40px;
    right: -40px;
    width: 200px;
    height: 200px;
    background: #ffffff1a;
    border-radius: 50%
}

.home-page .hero-section .hero-card .glow-bottom {
    position: absolute;
    bottom: -30px;
    left: -30px;
    width: 150px;
    height: 150px;
    background: #ffffff14;
    border-radius: 50%
}

@media(max-width:768px) {
    .home-page .hero-section {
        padding: 70px 0
    }

    .home-page .hero-section .hero-card {
        height: 320px
    }
}

.home-page .how-work-section {
    background: #f3f7fb
}

.home-page .how-work-section .top-heading {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    background: linear-gradient(90deg, #006d77, #006d77);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #0077b6
}

.home-page .how-work-section .section-title {
    font-size: 40px;
    font-weight: 700;
    color: #011a43
}

.home-page .how-work-section .work-card {
    border: none;
    border-radius: 24px 4px;
    box-shadow: 0 6px 30px #0077b614;
    transition: all .3s ease;
    position: relative;
    overflow: hidden
}

.home-page .how-work-section .work-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px #0077b624
}

.home-page .how-work-section .card-number {
    font-size: 90px;
    font-weight: 800;
    line-height: .85;
    display: block;
    margin-bottom: 20px;
    background: linear-gradient(90deg, #fe0000, #fe0000);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #0077b6
}

.home-page .how-work-section .work-icon {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #0077b614;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fe0000;
    font-size: 18px
}

.home-page .how-work-section .card-title {
    font-size: 22px;
    font-weight: 700;
    color: #011a43;
    margin-bottom: 10px
}

.home-page .how-work-section .paragraph {
    font-size: 15px;
    color: #747b81;
    line-height: 1.7;
    font-weight: 300
}

@media(max-width:768px) {
    .home-page .how-work-section .section-title {
        font-size: 28px
    }

    .home-page .how-work-section .card-number {
        font-size: 60px
    }
}

.home-page .hero-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.home-page .hero-trust__item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 999px;
    background: #ffffffc7;
    box-shadow: 0 10px 24px #0f172a0f;
    color: var(--front-dark);
    font-size: 14px;
    font-weight: 600
}

.home-page .hero-trust__item i {
    color: #fe0000
}

.home-page .hero-visual {
    min-height: 620px
}

@media(max-width:991px) {
    .home-page .hero-visual {
        min-height: 520px
    }
}

.home-page .hero-image-shell {
    position: relative;
    width: min(100%, 560px);
    margin-left: auto;
    padding: 22px;
    border-radius: 36px;
    background: linear-gradient(145deg, #ffffffeb, #ffffffb8) padding-box, linear-gradient(135deg, #016d77, #0c597a) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0f172a1f
}

.home-page .hero-image-shell:before {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 28px;
    background: radial-gradient(circle at top left, rgba(20, 184, 166, .16), transparent 45%), radial-gradient(circle at bottom right, rgba(37, 99, 235, .14), transparent 36%);
    z-index: 0
}

.home-page .hero-image {
    position: relative;
    z-index: 1;
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    border-radius: 28px;
    box-shadow: 0 18px 40px #0f172a1a
}

.home-page .hero-floating-card {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border-radius: 22px;
    background: #ffffffeb;
    box-shadow: 0 20px 40px #0f172a1f;
    border: 1px solid rgba(148, 163, 184, .16)
}

.home-page .hero-floating-card--top {
    top: 30px;
    left: -24px
}

.home-page .hero-floating-card--bottom {
    right: -24px;
    bottom: 30px;
    z-index: 1
}

.home-page .hero-floating-card__icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: linear-gradient(135deg, #fe0000, #fe0000);
    color: var(--front-white);
    box-shadow: 0 14px 30px #2563eb3d;
    flex: 0 0 auto
}

.home-page .hero-floating-card__title {
    font-weight: 700;
    color: var(--front-secondary)
}

.home-page .hero-floating-card__text {
    font-size: 14px;
    color: var(--front-muted)
}

@media(max-width:991px) {
    .home-page .hero-visual {
        min-height: auto
    }

    .home-page .hero-image-shell {
        margin: 0 auto
    }

    .home-page .hero-floating-card--top {
        left: -8px
    }

    .home-page .hero-floating-card--bottom {
        right: -8px
    }
}

@media(max-width:767px) {
    .home-page .hero-image-shell {
        padding: 14px;
        border-radius: 28px
    }

    .home-page .hero-floating-card {
        position: static;
        margin-top: 14px
    }
}

.home-page .stats-section {
    background: #fff;
    box-shadow: 0 4px 30px #0000000d
}

.home-page .stats-item {
    padding: 20px 0;
    border-right: 1px solid #E0E7EF
}

.home-page .stats-item:last-child {
    border-right: none
}

.home-page .stats-number {
    font-size: 44px;
    font-weight: 800;
    margin-bottom: 8px;
    line-height: 1;
    background: linear-gradient(90deg, #fe0000, #fe0000);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #fe0000
}

.home-page .stats-text {
    font-size: 14px;
    color: #747b81;
    font-weight: 500
}

.home-page .appointmnet-section .appointmnet-section__inner-block {
    position: relative;
    overflow: hidden;
    padding: 48px 52px 42px;
    border-radius: 0 0 100px;
    box-shadow: 0 24px 70px #074e842e;
    background: linear-gradient(135deg, #016d77, #0c597a) !important
}

.home-page .appointmnet-section .appointmnet-section__inner-block:before,
.home-page .appointmnet-section .appointmnet-section__inner-block:after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none
}

.home-page .appointmnet-section .appointmnet-section__inner-block:before {
    inset: -120px auto auto -120px;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(255, 255, 255, .08), transparent 68%)
}

.home-page .appointmnet-section .appointmnet-section__inner-block:after {
    right: -80px;
    bottom: -80px;
    width: 240px;
    height: 240px;
    background: radial-gradient(circle, rgba(255, 255, 255, .12), transparent 65%)
}

.home-page .appointmnet-section .row {
    position: relative;
    z-index: 1
}

.home-page .appointmnet-section .contact-form {
    padding: 10px 10px 10px 0
}

.home-page .appointmnet-section .contact-form h2 {
    font-size: 40px;
    line-height: 1.12;
    font-weight: 700
}

.home-page .appointmnet-section .contact-form form .row {
    --bs-gutter-x: 18px;
    --bs-gutter-y: 18px
}

.home-page .appointmnet-section .contact-form .contact-form__input-block {
    margin-bottom: 0
}

.home-page .appointmnet-section .contact-form .form-control,
.home-page .appointmnet-section .contact-form .form-select {
    height: 58px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, .82);
    background: #ffffff1a;
    color: #fff;
    padding: 14px 22px;
    font-size: 15px;
    box-shadow: none
}

.home-page .appointmnet-section .contact-form .form-control::placeholder,
.home-page .appointmnet-section .contact-form .form-select {
    color: #ffffffeb
}

.home-page .appointmnet-section .contact-form .form-control:focus,
.home-page .appointmnet-section .contact-form .form-select:focus {
    border-color: #fff;
    background: #ffffff24;
    box-shadow: 0 0 0 4px #ffffff1f
}

.home-page .appointmnet-section .contact-form .btn-light {
    min-width: 220px;
    height: 48px;
    padding: 0 28px;
    border: none;
    border-radius: 999px;
    background: #fff;
    color: #006d77;
    font-weight: 700;
    box-shadow: 0 16px 30px #0f172a1f
}

.home-page .appointmnet-section .contact-form .btn-light:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 36px #0f172a29
}

.home-page .appointmnet-section .contact-form #frontDoctorId {
    color: #fff
}

.home-page .appointmnet-section .contact-form .position-absolute .fa-calendar-days,
.home-page .appointmnet-section .contact-form .post {
    color: #fff !important
}

.home-page .appointmnet-section .contact-form .select2-container--default {
    width: 100% !important
}

.home-page .appointmnet-section .contact-form .select2-container--default .select2-selection--single {
    height: 58px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, .82);
    background: #ffffff1a
}

.home-page .appointmnet-section .contact-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #fff;
    line-height: 56px;
    padding-left: 22px;
    padding-right: 36px
}

.home-page .appointmnet-section .contact-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 56px;
    right: 12px
}

.home-page .appointmnet-section .contact-form .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #fff transparent transparent transparent
}

@media(max-width:1199px) {
    .home-page .appointmnet-section .appointmnet-section__inner-block {
        padding: 42px 32px 34px
    }

    .home-page .appointmnet-section .contact-form {
        padding: 24px 0 0
    }

    .home-page .appointmnet-section .contact-form h2 {
        font-size: 34px
    }
}

@media(max-width:991px) {
    .home-page .appointmnet-section .appointmnet-section__inner-block {
        border-radius: 0 0 72px;
        padding: 32px 22px
    }

    .home-page .appointmnet-section .contact-form {
        padding: 0
    }
}

@media(max-width:767px) {
    .home-page .appointmnet-section .appointmnet-section__inner-block {
        border-radius: 0 0 48px
    }

    .home-page .appointmnet-section .contact-form h2 {
        font-size: 28px
    }

    .home-page .appointmnet-section .contact-form .form-control,
    .home-page .appointmnet-section .contact-form .form-select,
    .home-page .appointmnet-section .contact-form .select2-container--default .select2-selection--single {
        height: 52px;
        border-radius: 14px
    }

    .home-page .appointmnet-section .contact-form .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 50px;
        padding-left: 16px
    }

    .home-page .appointmnet-section .contact-form .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 50px
    }

    .home-page .appointmnet-section .contact-form .btn-light {
        min-width: 190px;
        width: 100%
    }
}

.home-page .services-section {
    background: #f3f7fb;
    padding: 90px 0
}

.home-page .services-section .services-carousel-shell {
    position: relative;
    padding: 0 40px;
    min-height: 100%
}

.home-page .services-section .services-carousel-controls {
    position: absolute;
    inset: 40% 0 auto;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
    z-index: 2
}

.home-page .services-section .services-carousel-control {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(0, 119, 182, .18);
    background: #fffffff2;
    box-shadow: 0 10px 28px #0f172a14;
    color: #011a43;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    transition: all .25s ease
}

.home-page .services-section .services-carousel-control i {
    font-size: 13px;
    color: #0077b6
}

.home-page .services-section .services-carousel-control:hover {
    transform: translateY(-2px);
    border-color: #0077b659;
    box-shadow: 0 14px 30px #0077b624
}

.home-page .services-section .services-carousel {
    position: relative
}

.home-page .services-section .services-slide {
    padding: 10px
}

.home-page .services-section .service-card {
    background: #fff;
    padding: 30px 20px;
    border-radius: 20px 6px;
    box-shadow: 0 6px 24px #0077b612;
    transition: all .3s ease
}

.home-page .services-section .service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 36px #0077b624
}

.home-page .services-section .service-card .service-icon {
    width: 80px;
    height: 80px;
    margin-bottom: 20px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff00004d, #ff00004d)
}

.home-page .services-section .service-card .service-icon img {
    width: 40px;
    height: 40px;
    object-fit: contain
}

.home-page .services-section .service-card .service-title {
    font-size: 18px;
    font-weight: 700;
    color: #011a43;
    margin-bottom: 10px
}

.home-page .services-section .service-card .service-text {
    font-size: 14px;
    color: #747b81;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.5;
    min-height: 63px;
    margin-bottom: 0
}

@media(max-width:1199px) {
    .home-page .services-section .services-carousel-shell {
        padding: 0 40px;
        min-height: 100%
    }

    .home-page .services-section .services-carousel-controls {
        inset: 40% 0 auto;
        transform: translateY(-50%)
    }

    .home-page .services-section .services-carousel-control--prev,
    .home-page .services-section .services-carousel-control--next {
        margin: 0
    }
}

@media(max-width:767px) {
    .home-page .services-section .services-slide .row {
        flex-wrap: nowrap;
        overflow: hidden
    }

    .home-page .services-section .services-slide .col-12 {
        flex: 0 0 100%;
        max-width: 100%
    }

    .home-page .services-section .services-slide .col-12:not(:first-child) {
        display: none
    }
}

body {
    font-family: Roboto, sans-serif
}

ul {
    padding-left: 0;
    list-style: none
}

a:hover {
    color: #464f57
}

.top-heading {
    letter-spacing: .2em;
    font-weight: 700
}

.paragraph {
    font-weight: 300;
    color: #464f57;
    line-height: 25.6px
}

header {
    padding-top: 14px;
    padding-bottom: 14px;
    box-shadow: 0 2px 20px #0077b614;
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 100
}

@media(max-width:991px) {
    header .navbar {
        position: static
    }
}

@media(max-width:991px) {
    header .navbar .navbar-nav {
        display: block
    }
}

header .navbar .navbar-nav .nav-item .nav-link {
    color: #747b81;
    font-weight: 500;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 14px;
    
}

@media(max-width:1399px)and (min-width:992px) {
    header .navbar .navbar-nav .nav-item .nav-link {
        padding-left: 15px;
        padding-right: 15px;
        font-size: 14px;
    }
}

@media(max-width:1199px)and (min-width:992px) {
    header .navbar .navbar-nav .nav-item .nav-link {
        font-size: 14px;
    }
}

header .navbar .navbar-nav .nav-item .nav-link:hover,
header .navbar .navbar-nav .nav-item .nav-link.active {
    background: linear-gradient(135deg, #006d77, #006d77);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

@media(max-width:991px) {
    header .navbar .navbar-toggler {
        box-shadow: none
    }
}

@media(max-width:991px) {
    header .navbar .navbar-collapse {
        position: absolute;
        width: calc(100% - 24px);
        top: calc(100% - 10px);
        background: #fff;
        left: 0;
        right: 0;
        margin: auto;
        max-width: 696px;
        border-radius: .625rem;
        box-shadow: 0 0 20px #adb5bd61
    }
}

@media(max-width:767px) {
    header .navbar .navbar-collapse {
        max-width: 516px
    }
}

@media(max-width:1199px)and (min-width:992px) {
    header .navbar .header-btn-grp .btn {
        font-size: 14px;
        padding-left: 18px;
        padding-right: 18px
    }
}

@media(max-width:991px) {
    header .navbar .header-btn-grp {
        padding: 20px 20px 6px
    }
}

footer {
    padding-top: 60px;
    color: #fff;
    background: linear-gradient(135deg, #0077b6, #00b4d8)
}

@media(max-width:991px) {
    footer {
        padding-top: 50px
    }
}

footer .footer-info__block {
    gap: 0
}

footer .footer-info__footer-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background-color: #fff;
    margin-right: 20px
}

footer .footer-info__footer-icon i {
    color: #fe0000;
    font-size: 18px;
    line-height: 1;
    background: none;
    -webkit-text-fill-color: initial
}

.about-section .about-left-content {
    padding-right: 144px
}

@media(max-width:1399px) {
    .about-section .about-left-content {
        padding-right: 80px
    }
}

@media(max-width:1199px) {
    .about-section .about-left-content {
        padding-right: 12px
    }

    .about-section .about-left-content:after {
        content: none
    }
}

.about-section .about-left-content .about-block {
    padding-top: 20px;
    padding-bottom: 20px
}

@media(max-width:1399px) {
    .about-section .about-left-content .about-block {
        padding-top: 12px;
        padding-bottom: 12px
    }
}

@media(max-width:767px) {
    .about-section .about-left-content .about-block {
        padding-top: 20px;
        padding-bottom: 0
    }
}

.about-section .about-left-content .about-block .about-image-box {
    border: 4px solid #ffffff;
    filter: drop-shadow(0px 5px 15px #D7DEE8)
}

@media(min-width:1400px) {
    .about-section .about-left-content .about-block .about-image-box {
        margin-right: 10px
    }
}

.about-section .about-left-content .about-block .about-image-box img {
    width: 100%;
    height: 200px !important;
    object-fit: cover
}

@media(max-width:1440px) {
    .about-section .about-left-content .about-block .about-image-box img {
        width: 100%;
        height: 200px !important;
        object-fit: cover !important
    }
}

@media(max-width:768px) {
    .about-section .about-left-content .about-block .about-image-box img {
        width: 100%;
        height: 200px !important;
        object-fit: cover !important
    }
}

@media(max-width:425px) {
    .about-section .about-left-content .about-block .about-image-box img {
        width: 100%;
        height: 250px !important;
        object-fit: cover !important;
        object-position: center
    }
}

.about-section .about-left-content .about-block .about-content-box {
    filter: drop-shadow(0px 5px 15px #D7DEE8)
}

@media(min-width:1400px) {
    .about-section .about-left-content .about-block .about-content-box {
        margin-right: 10px
    }
}

@media(max-width:767px) {
    .about-section .about-left-content .about-block .about-content-box {
        height: 220px !important
    }
}

.about-section .about-left-content .about-block .about-content-box .number-big {
    font-size: 72px;
    font-weight: 700;
    line-height: 60px
}

.about-section .about-left-content .about-block .about-content-box p {
    font-weight: 600
}

.about-section ul {
    list-style: none
}

.about-section ul li {
    font-size: 14px;
    font-weight: 600;
    padding-left: 15px
}

.about-section ul li:before {
    content: "•";
    color: #0077b6;
    font-weight: 700;
    display: inline-block;
    width: 20px
}

.about-section ul li:first-child {
    padding-left: 0
}

.about-section ul li:first-child:before {
    content: none
}

@media(max-width:480px) {
    .services-counter-section .services-counter-block {
        width: 100%
    }
}

@media(min-width:481px) {
    .services-counter-section .services-counter-block .pipe {
        border-right: 1px solid #BABDC0
    }
}

.services-counter-section .services-counter-block:last-child .pipe {
    border-right: 0
}

@media(max-width:1199px) {
    .services-counter-section .services-counter-block:nth-child(2) .pipe {
        border-right: 0
    }
}

.testimonial-section__testimonial-card {
    padding: 40px 60px
}

@media(max-width:991px) {
    .testimonial-section__testimonial-card {
        padding: 40px 25px 30px
    }
}

.testimonial-section__testimonial-card .profile-name {
    font-size: 20px
}

.testimonial-section__testimonial-card .profile-info {
    color: #464f57
}

.testimonial-section .testimonial-block {
    max-width: 840px;
    margin: 0 auto 80px
}

@media(max-width:1199px) {
    .testimonial-section .testimonial-block {
        max-width: 700px;
        margin: 0 auto 60px
    }
}

.testimonial-section .slick-list {
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 5px 15px #d7dee8
}

.testimonial-section .slick-prev,
.testimonial-section .slick-next {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    z-index: 10;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: transparent;
    border: none;
    font-size: 0;
    color: transparent;
    display: flex;
    align-items: center;
    justify-content: center
}

.testimonial-section .slick-prev {
    left: -150px
}

.testimonial-section .slick-next {
    right: -150px
}

.testimonial-section .slick-prev:before,
.testimonial-section .slick-next:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 26px;
    color: #6c757d;
    opacity: 1
}

.testimonial-section .slick-prev:before {
    content: ""
}

.testimonial-section .slick-next:before {
    content: ""
}

.testimonial-section .slick-prev:hover:before,
.testimonial-section .slick-next:hover:before {
    color: #000
}

.testimonial-section .quotation-mark {
    position: absolute;
    top: 40px;
    left: -60px;
    z-index: 1
}

@media(max-width:991px) {
    .testimonial-section .quotation-mark {
        top: -30px;
        left: 30px
    }
}

.testimonial-section .slick-dots {
    transform: translateY(40px);
    display: flex !important;
    justify-content: center;
    align-items: center
}

@media(max-width:1199px) {
    .testimonial-section .slick-dots {
        bottom: -60px
    }
}

.testimonial-section .slick-dots li {
    margin: 0 4px
}

.testimonial-section .slick-dots li button {
    width: 8px;
    height: 8px;
    padding: 0;
    border-radius: 50%;
    background-color: #babdc0;
    border: none;
    font-size: 0
}

.testimonial-section .slick-dots li button:before {
    content: "" !important;
    display: none
}

.testimonial-section .slick-dots li.slick-active button {
    width: 18px;
    height: 8px;
    border-radius: 8px;
    background: linear-gradient(135deg, #016d77, #0c597a)
}

#frontDoctorId option {
    color: #000 !important
}

.our-team-page .team-reveal {
    opacity: 0;
    animation-duration: .8s;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1);
    animation-fill-mode: forwards;
    will-change: transform, opacity
}

.our-team-page .team-reveal--up {
    animation-name: teamFadeUp
}

.our-team-page .team-reveal--right {
    animation-name: teamFadeRight
}

.our-team-page .team-reveal--left {
    animation-name: teamFadeLeft
}

.our-team-page .team-reveal--delay-1 {
    animation-delay: .12s
}

.our-team-page .team-reveal--delay-2 {
    animation-delay: .24s
}

.our-team-page .team-reveal--delay-3 {
    animation-delay: .36s
}

@keyframes teamFadeUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 24px, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes teamFadeRight {
    0% {
        opacity: 0;
        transform: translate3d(24px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes teamFadeLeft {
    0% {
        opacity: 0;
        transform: translate3d(-24px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.our-team-page .hero-content-section {
    background: radial-gradient(circle at top left, rgba(0, 119, 182, .08), transparent 36%), radial-gradient(circle at bottom right, rgba(0, 180, 216, .06), transparent 28%), #fff
}

.our-team-page .team-hero-box {
    position: relative;
    overflow: hidden;
    padding: 40px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffff5, #f0f7fcf0) padding-box, linear-gradient(135deg, #0077b62e, #00b4d847) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0f172a14
}

.our-team-page .team-hero-title {
    font-size: 42px;
    line-height: 1.05;
    font-weight: 800;
    color: #03045e
}

.our-team-page .team-hero-text {
    max-width: 560px;
    font-size: 16px;
    line-height: 1.8;
    color: #5f6b7a
}

.our-team-page .team-hero-btn {
    min-width: 180px
}

.our-team-page .team-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.our-team-page .team-point {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 999px;
    background: #fffc;
    border: 1px solid rgba(0, 119, 182, .1);
    box-shadow: 0 10px 22px #0f172a0d;
    color: #016d77;
    font-size: 14px;
    font-weight: 600
}

.our-team-page .team-point i {
    color: #fe0000
}

.our-team-page .team-hero-visual {
    display: flex;
    align-items: center;
    justify-content: center
}

.our-team-page .team-hero-image-shell {
    position: relative;
    width: min(100%, 520px);
    padding: 24px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffffa, #eff7fdf5) padding-box, linear-gradient(135deg, #0077b629, #00b4d833) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0077b61f;
    overflow: hidden
}

.our-team-page .team-hero-image-shell:before {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 28px;
    background: radial-gradient(circle at top left, rgba(0, 119, 182, .08), transparent 42%), radial-gradient(circle at bottom right, rgba(0, 180, 216, .08), transparent 36%);
    pointer-events: none
}

.our-team-page .team-hero-image {
    position: relative;
    z-index: 1;
    width: 100%;
    max-height: 520px;
    object-fit: contain;
    filter: drop-shadow(0 18px 30px rgba(15, 23, 42, .12))
}

.our-team-page .team-stats-section {
    margin-top: -26px
}

.our-team-page .team-stats-card {
    overflow: hidden;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 24px 60px #0f172a14
}

.our-team-page .team-stats-item {
    padding: 30px 20px;
    border-right: 1px solid #e6edf3
}

.our-team-page .team-stats-item:last-child {
    border-right: none
}

.our-team-page .team-stats-item h3 {
    margin-bottom: 6px;
    font-size: 40px;
    font-weight: 800;
    background: linear-gradient(90deg, #fe0000, #fe0000);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #fe0000
}

.our-team-page .team-stats-item p {
    margin-bottom: 0;
    color: #64748b;
    font-size: 14px;
    font-weight: 600
}

.our-team-page .team-section-heading h2 {
    font-size: 42px;
    font-weight: 800;
    color: #011a43
}

.our-team-page .doctor-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 28px;
    background: linear-gradient(180deg, #fffffffa, #fafcfff5) padding-box, linear-gradient(145deg, #0077b62e, #00b4d829) border-box;
    border: 1px solid transparent;
    box-shadow: 0 16px 36px #0f172a14;
    transition: all .28s ease
}

.our-team-page .doctor-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 52px #0f172a24
}

.our-team-page .doctor-card__top {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: end;
    padding: 18px 22px 0
}

.our-team-page .doctor-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border-radius: 999px;
    background: #0077b61a;
    color: #0077b6;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em
}

.our-team-page .doctor-card__badge i {
    font-size: 13px
}

.our-team-page .doctor-card__pulse {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #00b4d8;
    box-shadow: 0 0 0 8px #00b4d81f
}

.our-team-page .doctor-card__media {
    position: relative;
    margin-top: 14px;
    padding: 0 22px
}

.our-team-page .doctor-card__media img {
    width: 100%;
    /*height: 260px;*/
    object-fit: fill;
    border-radius: 24px;
    box-shadow: 0 18px 36px #0f172a1a
}

.our-team-page .doctor-card__body {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
    padding: 22px 22px 26px
}

.our-team-page .doctor-card__header h4 {
    font-size: 21px;
    font-weight: 800;
    color: #03045e
}

.our-team-page .doctor-card__specialization {
    color: #64748b;
    font-size: 14px;
    font-weight: 600
}

.our-team-page .doctor-card__experience {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: #0077b61a;
    color: #0077b6;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap
}

.our-team-page .doctor-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}

.our-team-page .doctor-card__reviews {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: #f8fbff;
    border: 1px solid #d9e8f5;
    color: #475569;
    font-size: 12px;
    font-weight: 700
}

.our-team-page .doctor-card__rating {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 18px;
    background: #f8fbff;
    border: 1px solid #e4eef8;
    color: #64748b;
    font-size: 13px;
    font-weight: 600
}

.our-team-page .doctor-card__stars {
    line-height: 1;
    white-space: nowrap
}

.our-team-page .doctor-card__summary {
    margin-bottom: 0;
    color: #5f6b7a;
    font-size: 14px;
    line-height: 1.7
}

.our-team-page .doctor-card__social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 2px
}

.our-team-page .doctor-card__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #d9e5f0;
    color: #0077b6;
    box-shadow: 0 10px 18px #0f172a0d;
    transition: all .25s ease
}

.our-team-page .doctor-card__social a:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #0077b6, #00b4d8);
    color: #fff;
    border-color: transparent
}

.our-team-page .doctor-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-top: auto;
    border-radius: 999px;
    width: 100%
}

.our-team-page .doctor-empty-state {
    padding: 50px 20px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 30px #0f172a14
}

@media(max-width:1199px) {
    .our-team-page .team-hero-title {
        font-size: 46px
    }

    .our-team-page .team-hero-box {
        padding: 32px
    }
}

@media(max-width:991px) {
    .our-team-page .team-hero-title {
        font-size: 38px
    }

    .our-team-page .team-hero-box {
        padding: 28px
    }

    .our-team-page .team-hero-visual {
        order: -1
    }

    .our-team-page .team-hero-image-shell {
        max-width: 480px
    }

    .our-team-page .team-stats-section {
        margin-top: 18px
    }
}

@media(max-width:767px) {
    .our-team-page .team-hero-box {
        border-radius: 26px
    }

    .our-team-page .team-hero-title {
        font-size: 32px
    }

    .our-team-page .team-hero-image-shell {
        padding: 18px;
        border-radius: 26px
    }

    .our-team-page .team-hero-chip {
        min-width: 104px;
        padding: 10px 12px
    }

    .our-team-page .team-hero-chip__value {
        font-size: 16px
    }

    .our-team-page .team-section-heading h2 {
        font-size: 32px
    }

    .our-team-page .team-stats-item {
        border-right: none;
        border-bottom: 1px solid #e6edf3
    }

    .our-team-page .team-stats-item:last-child {
        border-bottom: none
    }

    .our-team-page .doctor-card__media {
        padding: 0 18px
    }

    .our-team-page .doctor-card__media img {
        /*height: 240px*/
    }

    .our-team-page .doctor-card__body {
        padding: 20px 18px 22px
    }
}

@media(prefers-reduced-motion:reduce) {

    .our-team-page .team-reveal,
    .our-team-page .doctor-card {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important
    }
}

.services-page .services-reveal {
    opacity: 0;
    animation-duration: .8s;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1);
    animation-fill-mode: forwards;
    will-change: transform, opacity
}

.services-page .services-reveal--up {
    animation-name: servicesFadeUp
}

.services-page .services-reveal--right {
    animation-name: servicesFadeRight
}

.services-page .services-reveal--delay-1 {
    animation-delay: .12s
}

.services-page .services-reveal--delay-2 {
    animation-delay: .24s
}

.services-page .services-reveal--delay-3 {
    animation-delay: .36s
}

@keyframes servicesFadeUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 24px, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes servicesFadeRight {
    0% {
        opacity: 0;
        transform: translate3d(24px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.services-page .services-hero-section {
    background: radial-gradient(circle at top left, rgba(0, 119, 182, .08), transparent 34%), radial-gradient(circle at bottom right, rgba(0, 180, 216, .06), transparent 30%), #fff
}

.services-page .services-hero-box {
    position: relative;
    overflow: hidden;
    padding: 42px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffff7, #f1f7fcf2) padding-box, linear-gradient(135deg, #0077b629, #00b4d82e) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0f172a14
}

.services-page .services-hero-title {
    font-size: 42px;
    line-height: 1.05;
    font-weight: 800;
    color: #011a43
}

.services-page .services-hero-text {
    max-width: 570px;
    font-size: 16px;
    line-height: 1.8;
    color: #5f6b7a
}

.services-page .services-hero-btn {
    min-width: 180px
}

.services-page .services-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.services-page .services-point {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 999px;
    background: #fffc;
    border: 1px solid rgba(0, 119, 182, .1);
    box-shadow: 0 10px 22px #0f172a0d;
    color: #016d77;
    font-size: 14px;
    font-weight: 600
}

.services-page .services-point i {
    color: #fe0000
}

.services-page .services-hero-visual {
    display: flex;
    align-items: center;
    justify-content: center
}

.services-page .services-hero-image-shell {
    position: relative;
    width: min(100%, 520px);
    padding: 24px;
    border-radius: 34px;
    background: linear-gradient(145deg, #fffffffa, #eef6fcf5) padding-box, linear-gradient(135deg, #0077b62e, #00b4d833) border-box;
    border: 1px solid transparent;
    box-shadow: 0 24px 60px #0077b61a;
    overflow: hidden
}

.services-page .services-hero-image-shell:before {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 28px;
    background: radial-gradient(circle at top left, rgba(0, 119, 182, .08), transparent 42%), radial-gradient(circle at bottom right, rgba(0, 180, 216, .08), transparent 36%);
    pointer-events: none
}

.services-page .services-hero-image {
    position: relative;
    z-index: 1;
    width: 100%;
    max-height: 480px;
    object-fit: contain;
    filter: drop-shadow(0 18px 30px rgba(15, 23, 42, .12))
}

.services-page .services-hero-mini-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px
}

.services-page .services-mini-stat {
    padding: 18px 20px;
    border-radius: 22px;
    background: #ffffffe6;
    border: 1px solid rgba(226, 232, 240, .9);
    box-shadow: 0 18px 36px #0f172a0f;
    text-align: left
}

.services-page .services-mini-stat__value {
    display: block;
    margin-bottom: 4px;
    font-size: 24px;
    font-weight: 800;
    color: #fe0000
}

.services-page .services-mini-stat__label {
    font-size: 13px;
    color: #64748b;
    font-weight: 600
}

.services-page .services-section {
    background: #f7fbfe
}

.services-page .services-section__heading h2 {
    font-size: 42px;
    font-weight: 800;
    color: #011a43
}

.services-page .service-card-v2 {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 24px;
    border-radius: 28px;
    background: linear-gradient(180deg, #fffffffa, #fafcfff5) padding-box, linear-gradient(145deg, #0077b629, #00b4d824) border-box;
    border: 1px solid transparent;
    box-shadow: 0 16px 36px #0f172a14;
    transition: all .28s ease;
    overflow: hidden
}

.services-page .service-card-v2:before {
    content: "";
    position: absolute;
    inset: auto -36px -36px auto;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 180, 216, .1), transparent 68%);
    pointer-events: none
}

.services-page .service-card-v2:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 50px #0f172a24
}

.services-page .service-card-v2__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px
}

.services-page .service-card-v2__badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: #0077b61a;
    color: #0077b6;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap
}

.services-page .service-card-v2__price {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: #f8fbff;
    border: 1px solid #d9e8f5;
    color: #03045e;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap
}

.services-page .service-card-v2__icon  {
    width: 80px;
    height: 80px;
    object-fit: contain;
    border-radius: 10%;
    background-color: #ff00004d;
    text-align: center;
    padding: 15px;
}
.services-page .service-card-v2__icon img{
    width: 100%;
}
.services-page .service-card-v2__body {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%
}

.services-page .service-card-v2__body h4 {
    font-size: 22px;
    font-weight: 800;
    color: #011a43
}

.services-page .service-card-v2__text {
    color: #5f6b7a;
    font-size: 14px;
    line-height: 1.7
}

.services-page .service-card-v2__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}

.services-page .service-card-v2__meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: 999px;
    background: #f8fbff;
    border: 1px solid #e1ebf6;
    color: #475569;
    font-size: 12px;
    font-weight: 700
}

.services-page .service-card-v2__meta span i {
    color: #fe0000
}

.services-page .service-card-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin-top: auto;
    min-height: 48px;
    border-radius: 999px
}

.services-page .services-counter-section .services-counter-shell {
    overflow: hidden;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 24px 60px #0f172a14
}

.services-page .services-counter-section .services-counter-block {
    border-right: 1px solid #e6edf3
}

.services-page .services-counter-section .services-counter-block:last-child {
    border-right: none
}

.services-page .services-counter-section .services-counter-item {
    padding: 30px 20px
}

.services-page .services-counter-section .services-counter-item h4 {
    margin-bottom: 6px;
    font-size: 40px;
    font-weight: 800;
    background: linear-gradient(90deg, #fe0000, #fe0000);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #fe0000
}

.services-page .services-counter-section .services-counter-item p {
    margin-bottom: 0;
    color: #64748b;
    font-size: 14px;
    font-weight: 600
}

@media(max-width:1199px) {
    .services-page .services-hero-title {
        font-size: 44px
    }

    .services-page .services-hero-box {
        padding: 32px
    }
}

@media(max-width:991px) {
    .services-page .services-hero-title {
        font-size: 38px
    }

    .services-page .services-hero-visual {
        order: -1
    }

    .services-page .services-hero-mini-stats {
        grid-template-columns: repeat(1, minmax(0, 1fr))
    }

    .services-page .services-section__heading h2 {
        font-size: 34px
    }
}

@media(max-width:767px) {
    .services-page .services-hero-box {
        padding: 26px;
        border-radius: 26px
    }

    .services-page .services-hero-title {
        font-size: 30px
    }

    .services-page .services-hero-image-shell {
        padding: 18px;
        border-radius: 26px
    }

    .services-page .services-hero-image {
        max-height: 360px
    }

    .services-page .services-mini-stat {
        padding: 16px 18px
    }

    .services-page .services-mini-stat__value {
        font-size: 20px
    }

    .services-page .services-section__heading h2 {
        font-size: 30px
    }

    .services-page .service-card-v2 {
        padding: 20px
    }

    .services-page .service-card-v2__icon {
        width: 74px;
        height: 74px
    }

    .services-page .services-counter-item {
        padding: 24px 16px
    }

    .services-page .services-counter-block {
        border-right: none;
        border-bottom: 1px solid #e6edf3
    }

    .services-page .services-counter-block:last-child {
        border-bottom: none
    }
}

@media(prefers-reduced-motion:reduce) {

    .services-page .services-reveal,
    .services-page .service-card-v2 {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important
    }
}

@media(min-width:1400px) {
    .container {
        max-width: 1304px
    }
}

.btn {
    border-radius: 50px;
    padding: .75rem 2.25rem;
    color: #18232d
}

@media(max-width:575px) {
    .btn {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }
}

.btn:focus {
    box-shadow: none
}

.btn:focus,
.btn:active {
    box-shadow: none !important;
    border-color: transparent
}

.bg-primary {
    background: linear-gradient(135deg, #016d77, #0c597a)
}

.bg-secondary {
    background-color: #f3f5f8 !important
}

.btn-light {
    border: 1px solid transparent;
    background: linear-gradient(#fff 0 0) padding-box, linear-gradient(to right, #0077b6, #00b4d8) border-box;
    color: #00b4d8
}

.btn-primary {
    background: linear-gradient(135deg, #016d77, #016d77);
    color: #fff !important;
    border: none;
    border-radius: 50px;
    padding: .75rem 2.25rem;
    font-weight: 600;
    font-family: Roboto, sans-serif;
    box-shadow: 0 6px 20px #0077b64d;
    transition: all .25s ease;
    font-size: 14px;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background: linear-gradient(135deg, #016d77, #0c597a);
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px #0077b666;
    border: none
}

.btn-primary:focus {
    box-shadow: 0
}

.btn-outline-primary {
    border: 1px solid transparent;
    background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #016d77, #016d77) border-box;
    color: #006d77;
    border-radius: 50px;
    padding: calc(.75rem - 2px) 1.563rem;
    font-weight: 600;
    font-family: Roboto, sans-serif;
    background-clip: padding-box, border-box;
    transition: all .25s ease;
    font-size: 14px;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: linear-gradient(135deg, #016d77, #0c597a);
    color: #fff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: transparent;
    box-shadow: 0 6px 20px #0077b64d
}

.btn-outline-primary:focus {
    box-shadow: 0
}

.btn-outline-primary:active {
    background: linear-gradient(#fff 0 0) padding-box, linear-gradient(to right, #0077b6, #00b4d8) border-box;
    color: #0077b6
}

.text-primary {
    background: -webkit-linear-gradient(#006d77, #006d77);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.text-gray-100 {
    color: #464f57
}

.text-gray-200 {
    color: #747b81
}

.breadcrumb .breadcrumb-item {
    font-size: 20px;
    font-weight: 500
}

.breadcrumb .breadcrumb-item.active,
.breadcrumb .breadcrumb-item a {
    background: -webkit-linear-gradient(#0077B6, #00B4D8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

h1 {
    font-size: 48px;
    font-weight: 700
}

@media(max-width:767px) {
    h1 {
        font-size: 38px
    }
}

h2 {
    font-size: 40px;
    font-weight: 600;
    line-height: 56px
}

@media(max-width:767px) {
    h2 {
        font-size: 32px;
        line-height: 44px
    }
}

h4 {
    font-size: 24px
}

h5,
.fs-5 {
    font-size: 22px !important
}

@media(max-width:575px) {

    h5,
    .fs-5 {
        font-size: 20px !important
    }
}

h6,
.fs-6 {
    font-size: 18px !important
}

.fw-bold {
    font-weight: 600 !important
}

.box-shadow {
    box-shadow: 0 5px 15px #d7dee8
}

.card {
    box-shadow: 0 5px 15px #d7dee8;
    border-radius: 0 0 50px;
    border: 0
}

.card .card-body {
    padding: 40px
}

@media(max-width:991px) {
    .card .card-body {
        padding: 25px
    }
}

.form-control,
.form-select {
    height: 60px;
    border-radius: 10px;
    font-size: 18px;
    font-weight: 300;
    padding: 15px 30px;
    border-color: #babdc0
}

@media(max-width:767px) {

    .form-control,
    .form-select {
        height: 50px;
        font-size: 16px;
        padding: 15px
    }
}

.form-control:focus,
.form-select:focus {
    box-shadow: none
}

.form-control::placeholder,
.form-select::placeholder {
    color: #747b81
}

.form-check-input:focus {
    box-shadow: none;
    border: 1px solid rgba(0, 0, 0, .25)
}

.form-check-danger {
    background-color: #f62947;
    border-color: #f62947
}

.form-check-danger:checked {
    background-color: #f62947;
    border-color: #f62947
}

.form-check-success {
    background-color: #0ac074;
    border-color: #0ac074
}

.form-check-success:checked {
    background-color: #0ac074;
    border-color: #0ac074
}

.form-lg-check {
    width: 24px;
    height: 24px;
    margin-top: 0
}

.form-group {
    margin-bottom: 20px
}

.form-label {
    color: #747b81;
    font-size: 14px;
    font-weight: 300
}

.form-textarea {
    height: 160px
}

.input-group-text {
    border-radius: 10px;
    width: 60px;
    justify-content: center;
    border-color: #fff;
    background-color: #fff
}

.badge-lg {
    padding: 10px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 10px;
    height: 44px;
    line-height: 26px
}

.bg-success {
    background-color: #0ac074 !important
}

.bg-danger {
    background-color: #f62947 !important
}

.p-t-100 {
    padding-top: 100px
}

@media(max-width:991px) {
    .p-t-100 {
        padding-top: 50px
    }
}

.p-b-100 {
    padding-bottom: 100px
}

@media(max-width:991px) {
    .p-b-100 {
        padding-bottom: 50px
    }
}

.border-bmr-100 {
    border-bottom-right-radius: 100px
}

.rounded-20 {
    border-radius: 20px
}

.rounded-10 {
    border-radius: 10px
}

.after-rectangle-shape:after {
    position: absolute;
    content: "";
    background-color: #f3f5f8;
    height: 320px;
    display: block;
    width: 1000vh;
    top: 0;
    bottom: 0;
    margin: auto
}

.after-rectangle-shape.left-shape:after {
    right: 25px;
    border-top-right-radius: 100px
}

.after-rectangle-shape.right-shape:after {
    left: 25px;
    border-top-left-radius: 100px
}

.form-control-transparent {
    background-color: transparent;
    border-color: #fff;
    color: #fff
}

.form-control-transparent::placeholder {
    color: #fff
}

.form-control-transparent:focus {
    background-color: transparent;
    border-color: #fff
}

.border-top-primary {
    border-top: 1px solid #959697
}

.z-index-1 {
    z-index: 1
}

.required:after {
    content: "*";
    position: relative;
    font-size: inherit;
    color: #f62947;
    font-weight: 400
}

.fs-small {
    font-size: 14px
}

.hide-arrow:after {
    content: none
}

.hide {
    display: none
}

#valid-msg {
    color: green;
    margin-left: 2px
}

#error-msg {
    color: red;
    margin-left: 2px
}

.header {
    position: fixed !important;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    padding-top: 20px;
    padding-bottom: 20px;
    transition: all .5s ease-in-out;
    z-index: 2 !important
}

@media(max-width:991px) {
    .header {
        padding-top: 5px !important;
        padding-bottom: 5px !important
    }
}

.header.fixed {
    background-color: #fff;
    box-shadow: 0 3px 10px #266bc114
}

.language-padding {
    padding: 10px !important
}

.language-padding:hover,
.language-padding.active {
    background: -webkit-linear-gradient(#0077B6, #00B4D8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.language-color {
    color: #747b81 !important;
    font-weight: 500 !important
}

.p-t-30 {
    padding-top: 30px !important
}

.error-404 .inner-content {
    text-align: center;
    max-width: 550px;
    margin: auto
}

.error-404 .error-text {
    margin-bottom: 15px
}

.error-404 p {
    margin-bottom: 30px
}

.object-image-cover {
    object-fit: cover !important
}

.section-title{
    font-size: 40px;
    font-weight: 700 !important;
    color: #011a43;
}
