/**
 * Theme Name:     Astra Child
 * Author:         Brainstorm Force
 * Template:       astra
 * Text Domain:	   astra-child
 * Description:    The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
 */

/* ======= Common CSS: Start ======= */
*,
::before,
:after {
    box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    box-sizing: border-box;
}

p {
    margin: 0px 0px 20px;
}

p:last-child {
    margin: 0px 0px 0px;
}

a {
    text-decoration: none;
    color: inherit;
}

a:hover,
a:focus {
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
}

ul,
ol,
li {
    list-style: none;
}

ul+ul,
ul+ol,
ol+ul,
ol+ol {
    margin: 20px 0px 0px;
}

a:focus,
a:focus-within,
a:focus-visible,
a:target,
a:visited,
a:active,
button:focus,
button:focus-within,
button:focus-visible,
button:target,
button:visited,
button:active,
input:focus,
input:focus-within,
input:focus-visible,
input:target,
input:visited,
input:active,
select:focus,
select:focus-within,
select:focus-visible,
select:target,
select:visited,
select:active,
textarea:focus,
textarea:focus-within,
textarea:focus-visible,
textarea:target,
textarea:visited,
textarea:active {
    outline: none;
    box-shadow: none;
    font-family: inherit;
}

::-webkit-input-placeholder,
:-moz-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
::-ms-input-placeholder,
::placeholder {
    color: inherit;
    opacity: 1;
    font-family: inherit;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* ======= Common CSS: End ======= */


/* ======= Hover Button CSS: Start ======= */
.purple-btn .elementor-button:hover svg,
.purple-btn .elementor-button:hover svg * {
    stroke: #694377;
    fill: transparent;
}

.light-btn .elementor-button:hover svg,
.light-btn .elementor-button:hover svg * {
    stroke: #F4F4F2;
    fill: transparent;
}

/* ======= Hover Button CSS: End ======= */


/* ======= Heading Text Anim CSS: Start ======= */
span.word {
    display: inline-flex;
    overflow: hidden;
}

.text-anim span.word span.char {
    opacity: 0;
    transition: all 1.2s cubic-bezier(0.17, 0.17, 0, 0.79) !important;
}

.text-anim.split-is h1 span.word span.char,
.text-anim.split-is h2 span.word span.char,
.text-anim.split-is h3 span.word span.char,
.text-anim.split-is h4 span.word span.char {
    opacity: 1;
    transition-delay: calc(30ms * var(--char-index)) !important;
    display: inline-flex;
}

/* ======= Heading Text Anim CSS: End ======= */


/* ======= Header Section CSS: Start ======= */
.header_sec,
.header_sec .e-con-inner {
    transition: all 0.35s ease-in-out;
}

.header_sec.is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    background: #0000007d;
    backdrop-filter: blur(20px);
    --webkit-backdrop-filter: blur(20px);
    animation: slideDown 0.6s ease forwards;
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}

.header_sec.is-sticky .e-con-inner {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

/* ======= Header Section CSS: End ======= */


/* ======= Footer Section CSS: Start ======= */

/* ======= Footer Section CSS: End ======= */


/* =======  Section CSS: Start ======= */

/* home page css start */

/* hero section */

/* Hero Slider Dots Container */
.home-hero-sec .swiper-pagination {
    width: 100% !important;
    max-width: 1700px;
    left: 50% !important;
    transform: translateX(-50%) !important;
    text-align: left;
    padding: 0 40px;
}

.home-hero-sec .swiper-pagination-bullet {
    position: relative;
}

.home-hero-sec .swiper-pagination-bullet-active:before {
    content: "";
    position: absolute;
    border: 1px solid #f4f4f2;
    width: 15px;
    height: 15px;
    border-radius: 16px;
    top: -5px;
    left: -5px;
}

/* treatments slider section */
.treatments-slider .swiper-initialized {
    width: calc(50% + 50vw);
}

.treatments-btn .elementor-button-icon svg {
    width: 17px;
}

.treatments-btn .elementor-button:hover .elementor-button-icon svg,
.treatments-btn .elementor-button:hover .elementor-button-icon svg * {
    fill: transparent !important;
    stroke: #e5d4c0 !important;
}

.treatments-slider .elementor-swiper-button {
    top: auto !important;
    bottom: -198px;
}

.treatments-slider .swiper-pagination {
    top: auto !important;
    bottom: -87px !important;
    width: 100% !important;
    max-width: 77% !important;
    margin: 0px auto !important;
    right: 110px;
}

.treatments-slider .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    top: -1px;
    height: 3px;
}

.treatments-slider .slider-counter {
    position: absolute;
    left: 0;
    bottom: -96px;
    font-size: 18px;
    color: #6F706D;
    font-family: "DM Sans", sans-serif;
    z-index: 9;
    font-weight: 400;
    line-height: 1em;
}

.treatments-slider .current-slide {
    color: #694377;
    font-size: 24px;
    line-height: 0.75em;
}

.treatments-slider .elementor-swiper-button.elementor-swiper-button-prev:hover svg,
.treatments-slider .elementor-swiper-button.elementor-swiper-button-prev:hover svg *,
.treatments-slider .elementor-swiper-button.elementor-swiper-button-next:hover svg,
.treatments-slider .elementor-swiper-button.elementor-swiper-button-next:hover svg * {
    fill: transparent !important;
    stroke: #694377 !important;
    opacity: 1;
}

/* Legacy section */
.surround-text-image {
    left: 0px !important;
    margin: 0 auto !important;
    right: 0px !important;
    width: fit-content;
}

/* Experience section */
.experience-sec>.e-con-inner {
    justify-content: end !important;
    margin-right: 0px !important;
}

.experience-right-col:before {
    content: "" !important;
    position: absolute !important;
    background: #694377 !important;
    width: 100% !important;
    max-width: 320px !important;
    height: 100% !important;
    left: auto !important;
    right: -20px !important;
    top: 0px !important;
}

.tab-icon-box {
    cursor: pointer;
}

.tab-icon-box.active .elementor-icon-box-title {
    color: #000000 !important;
}

.surround-text-image1 {
    right: 0px !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: fit-content !important;
}

/* Map section */
.map-sec>.e-con-inner {
    margin-bottom: -211px !important;
}

.find-to-have-text .elementor-heading-title {
    margin-right: -150px !important;
}

/* home page css end */

/* Services page css start */
/* hero section */
.about_hero_sec::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    opacity: 0.7;
    background: linear-gradient(90deg, #000 28.47%, rgba(0, 0, 0, 0.50) 65.38%, rgba(0, 0, 0, 0.00) 100%);
    z-index: -1;
}

/* services section */
.services-col-box {
    width: calc((100% - 80px) / 3) !important;
}

/* Services page css end */

/* Meet the team css start */
.dentists-member-left-row:before,
.dentists-member-right-row:before {
    content: "" !important;
    background: #694377 !important;
    width: 16.8% !important;
    height: 100% !important;
    position: absolute !important;
}

.dentists-member-left-row:before {
    left: 0px !important;
}

.dentists-member-right-row:before {
    right: 0px;
    left: auto !important;
}

.dentists-member-left-row .e-con-inner {
    margin-left: 0px !important;
}

.dentists-member-right-row .e-con-inner {
    margin-right: 0px !important;
}

.dentists-member-left-row img,
.dentists-member-right-row img {
    aspect-ratio: 17/19;
}

.team-member-inner-col {
    width: calc((100% - 120px) / 3) !important;
}

.team-member-inner-title {
    position: unset !important;
}

.team-member-inner-title:after {
    content: "";
    display: block;
    height: 85%;
    background: #ffffff33;
    width: 1px;
    position: absolute;
    left: 75px;
    top: 100px;
}

.team-member-img {
    aspect-ratio: 1 / 1.25;
}

/* Meet the team css end */

/* =======  Section CSS: End ======= */


/* ======= Responsive CSS: Start ======= */
/*
    Elementor Breakpoint For Responsive Screen :
    Mobile Portrait   : 575
    Mobile Landscape  : 767
    Tablet Portrait   : 991
    Tablet Landscape  : 1199
    Laptop            : 1599
    */
@media screen and (min-width: 1600px) and (max-width: 1780px) {}

@media screen and (max-width: 1780px) {}

@media screen and (min-width: 1600px) and (max-width: 1680px) {}

@media screen and (min-width:1580px) and (max-width: 1680px) {
    .find-to-have-text .elementor-heading-title {
        font-size: 50px !important;
    }
}

@media screen and (max-width: 1579px) {
    .find-to-have-text .elementor-heading-title {
        margin-right: 0 !important;
    }

    .team-member-inner-col {
        width: calc((100% - 90px) / 3) !important;
    }
}

@media screen and (max-width: 1400px) {}

@media screen and (min-width:992px) and (max-width: 1199px) {
    .team-member-inner-row {
        gap: 35px !important;
    }
}

@media screen and (max-width: 1199px) {
    .map-sec>.e-con-inner {
        margin-bottom: -130px !important;
    }

    .treatments-slider .elementor-swiper-button {
        bottom: -170px;
    }

    .treatments-slider .swiper-pagination {
        right: 8%;
    }

    .services-col-box {
        width: calc((100% - 30px) / 2) !important;
    }

    .team-member-inner-col {
        width: calc((100% - 35px) / 2) !important;
    }

    .team-member-inner-title:after {
        left: 50px;
        top: auto;
    }
}

@media screen and (max-width: 991px) {
    .map-sec>.e-con-inner {
        margin-bottom: 0px !important;
    }

    .treatments-slider .swiper-pagination {
        max-width: 70% !important;
        right: 10%;
    }

    .services-col-box {
        width: calc((100% - 20px) / 2) !important;
    }

    .about_hero_sec::after {
        background: linear-gradient(90deg, #000000 28.47%, #000000 65.38%, #000000 100%);
    }

    .home-hero-sec .swiper-pagination {
        padding: 0 20px;
    }

    .team-member-inner-col {
        width: calc((100% - 20px) / 2) !important;
    }

    .dentists-member-left-row:before,
    .dentists-member-right-row:before {
        display: none !important;
    }

    .dentists-member-left-row>.e-con-inner>.e-con.e-child:first-child:before,
    .dentists-member-right-row>.e-con-inner>.e-con.e-child:nth-child(2):before {
        content: "" !important;
        background: #694377 !important;
        width: 20% !important;
        height: calc(100% + 80px) !important;
        position: absolute !important;
        top: -40px;
    }

    .dentists-member-left-row>.e-con-inner>.e-con.e-child:first-child:before {
        left: -40px !important;
    }

    .dentists-member-right-row>.e-con-inner>.e-con.e-child:nth-child(2):before {
        right: -40px;
        left: auto !important;
    }
}

@media screen and (max-width: 767px) {
    .treatments-slider .swiper-pagination {
        max-width: 60% !important;
        right: 12%;
    }

    .home-hero-sec .swiper-pagination {
        text-align: center;
    }

    .team-member-inner-title:after {
        display: none;
    }

    .dentists-member-left-row>.e-con-inner>.e-con.e-child:first-child:before,
    .dentists-member-right-row>.e-con-inner>.e-con.e-child:nth-child(2):before {
        height: calc(100% + 40px) !important;
        top: -20px;
    }

    .dentists-member-left-row>.e-con-inner>.e-con.e-child:first-child:before {
        left: -20px !important;
    }

    .dentists-member-right-row>.e-con-inner>.e-con.e-child:nth-child(2):before {
        right: -20px;
        left: auto !important;
    }
}

@media screen and (max-width: 575px) {
    .treatments-slider .swiper-initialized {
        width: 100%;
    }

    .treatments-slider .slider-counter {
        right: 0px;
        bottom: -40px;
        font-size: 16px;
        margin: 0 auto;
        text-align: center;
    }

    .treatments-slider .current-slide {
        font-size: 20px;
    }

    .treatments-slider .swiper-pagination {
        max-width: 100% !important;
        right: 0%;
        bottom: -55px !important;
    }

    .services-col-box {
        width: 100% !important;
    }

    .team-member-inner-col {
        width: 100% !important;
    }
}

/* ======= Responsive CSS: End ======= */