/**
Theme Name: Meraki Autism Center
Author: Blue Winds Media
Author URI: https://www.bluewindsmedia.com
Description: A custom theme for Meraki Autism Center, built on the Astra framework.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: meraki-autism-center
Template: 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 ======= */

/* ======= 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 Section CSS: End ======= */



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


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

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


.image-slider .swiper-wrapper {
    transition-timing-function: linear !important;
}

.image-slider .swiper {
    overflow: visible;
}

.about-video .elementor-custom-embed-play {
    width: 100px;
    height: 100px;
    background: #fff;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.service-no span {
    color: #CD9863;
}

.step-heading h2 span {
    margin-right: 25px;
}

.step-heading:hover .elementor-widget-container {
    padding-bottom: 40px !important;
}

.step-heading:after {
    content: "";
    width: 917px;
    height: 1px;
    background: rgba(0, 0, 0, 0.3);
    display: block;
    left: -394px;
    position: absolute;
    opacity: 0;
    transition: all 0.5s ease-in-out;
}

.step-heading:hover:after {
    opacity: 1 !important;
}

.step-heading:first-child:after {
    opacity: 1 !important;
}

.step-heading:first-child .elementor-widget-container {
    padding-bottom: 40px !important;
}

.step-heading .elementor-widget-container {
    transition: all 0.5s ease-in-out;
}

.step-heading {
    cursor: pointer;
}


.gallery-slider .elementor-main-swiper.swiper {
    width: 177.1vw !important;
    margin-left: -40vw;
    margin-right: -40vw;
}


.gallery-slider .elementor-main-swiper.swiper .swiper-slide-next {
    transform: scale(1) !important;
}

.gallery-slider .elementor-main-swiper.swiper .swiper-slide {
    transform: scale(0.9);
}

.service-main-sec .e-con-inner {
    margin-left: 0;
}


.service-right-sec .service-col:hover {
    background-color: rgba(205, 152, 99, 1) !important;
}

.service-right-sec .service-col:hover h2,
.service-right-sec .service-col:hover h2 span,
.service-right-sec .service-col:hover .elementor-widget-icon-box h3.elementor-icon-box-title {
    color: #fff !important;
}

.service-right-sec .service-col:hover .elementor-widget-icon-box p.elementor-icon-box-description {
    color: rgb(255 255 255 / 50%) !important;
}

.service-right-sec .service-col,
.service-right-sec .service-col h2,
.service-right-sec .service-col h2 span,
.service-right-sec .service-col .elementor-widget-icon-box h3.elementor-icon-box-title,
.service-right-sec .service-col .elementor-widget-icon-box p.elementor-icon-box-description {
    transition: all 0.3s ease-in-out;
}

.service-right-sec .service-col:nth-child(even) {
    transform: translateY(100px);
}

.contact-form .elementor-form-fields-wrapper .elementor-field-group input,
.contact-form .elementor-form-fields-wrapper .elementor-field-group textarea {
    padding: 0 0 30px 40px !important;
    box-shadow: none;
}

.contact-form .elementor-form-fields-wrapper .elementor-field-group input::placeholder,
.contact-form .elementor-form-fields-wrapper .elementor-field-group textarea::placeholder {
    color: rgba(0, 0, 0, 1);
    opacity: 0.7 !important;
}

.contact-form .elementor-form-fields-wrapper .elementor-field-group input:focus,
.contact-form .elementor-form-fields-wrapper .elementor-field-group textarea:focus {
    box-shadow: none !important;
    border-style: solid !important;
}

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

.slider-heading h2 {
    display: flex;
    width: max-content;
    white-space: nowrap;
    justify-content: center;
    align-items: center;
    animation: marqueeLeft 60s infinite linear;
}

.slider-heading {
    overflow: hidden;
}

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

    100% {
        transform: translateX(-50%);
    }
}

.hero-banner-main-sec.sticky {
    position: sticky;
    top: 100px;
    left: 0;
    width: 100%;
    max-width: 100%;
}




/* ============New Home============== */

/* ==========header============ */

.header-menu nav ul li a.elementor-item {
    display: block;
}

.header-menu nav ul li a.elementor-item .char {
    display: inline-flex;
    transition: transform 1s cubic-bezier(.19, 1, .22, 1);
    transition-delay: calc(15ms*var(--char-index));
    position: relative;
}

.header-menu nav ul li a.elementor-item .char:after {
    content: attr(data-char);
    font-family: "TANMEMORIES", Sans-serif;
    line-height: normal;
    display: inline-flex;
    transform: translateY(107.5%);
    transition: transform 1s cubic-bezier(.19, 1, .22, 1);
    transition-delay: calc(15ms*var(--char-index));
    position: absolute;
    letter-spacing: 1px;
    font-size: 83%;
}

.header-menu nav ul li a.elementor-item:hover .char {
    transform: translateY(-126%);
}

.header-menu nav ul li a.elementor-item .char[data-char="C"]:after,
.header-menu nav ul li a.elementor-item .char[data-char="O"]:after {
    right: -8%;
}

/* ============header=========== */

.hover-btn {
    max-width: max-content;
}

.hover-btn .elementor-button-wrapper:after,
.hover-btn .elementor-field-type-submit:after {
    background-image: url("https://wordpress-1097225-5922836.cloudwaysapps.com/wp-content/uploads/2026/01/Rectangle.png");
    border-radius: 60px;
    content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    display: block;
    z-index: -1;
    transform: translate3d(5px, 5px, 0);
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
    background-size: cover;
    background-repeat: no-repeat;
    border: 1px solid #121212;
}

.hover-btn .elementor-button-wrapper {
    display: inline-flex;
    position: relative;
}

.hover-btn:hover a,
.hover-btn .elementor-field-type-submit:hover button.elementor-button.elementor-size-sm {
    transform: translate3d(5px, 5px, 0);
}

.hover-btn:hover a span.elementor-button-icon,
.hover-btn .elementor-field-type-submit:hover span.elementor-button-icon {
    transform: translateX(10px);
}

.hover-btn a span.elementor-button-icon {
    transition: transform .75s cubic-bezier(.19, 1, .22, 1);
}

.hover-btn .elementor-field-type-submit {
    padding: 0 !important;
    width: fit-content;
}

.social-icon span.elementor-grid-item {
    width: fit-content;
    position: relative;
}

.social-icon span.elementor-grid-item:hover .elementor-social-icon,
.process-left-btn:hover .process-img,
.step-inner-sec .step-col .step-no h3:hover {
    transform: translate3d(5px, 5px, 0);
}

.social-icon span.elementor-grid-item:after,
.step-inner-sec .step-col .step-no .elementor-widget-container:after,
.process-left-btn:after {
    content: '';
    background-image: url(https://wordpress-1097225-5922836.cloudwaysapps.com/wp-content/uploads/2026/01/Rectangle.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border: 1px solid #000;
    border-radius: 100%;
    height: 100%;
    left: 0px;
    position: absolute;
    top: 0px;
    transform: translate3d(5px, 5px, 0);
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
    width: 100%;
    z-index: -1;
}

.service-inner-sec .service-inner-col-left .e-con-inner {
    margin-left: 0;
}

.service-inner-sec .service-inner-col-right .e-con-inner {
    margin-right: 0 !important;
}

.step-inner-sec:before {
    content: "";
    width: 100%;
    height: 1px;
    background: rgba(18, 18, 18, 1);
    display: block;
    position: absolute;
    top: 50px;
}

.step-inner-sec .step-col .step-no h3 {
    background: #E5BF90;
    width: 96px;
    height: 96px;
    border: 1px solid #121212;
    aspect-ratio: 1/1;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    position: relative;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
}

.step-inner-sec .step-col .step-no .elementor-widget-container {
    width: fit-content;
    position: relative;
    margin: auto;
}

.form .elementor-form-fields-wrapper .elementor-field-group input:focus,
.form .elementor-form-fields-wrapper .elementor-field-group textarea:focus {
    box-shadow: none !important;
    border-style: solid !important;
}

.form .elementor-form-fields-wrapper .elementor-field-group label::after {
    color: rgba(18, 18, 18, 1) !important;
    padding: 0 !important;
}

.process-left-btn {
    width: 135px;
    height: 135px;
}

.process-hand-img {
    animation: hand-0762b72c 1s ease-out infinite;
}

@Keyframes hand-0762b72c {
    0% {
        transform: translateZ(0);
    }

    50% {
        transform: translate3d(0, -1rem, 0);
    }

    100% {
        transform: translateZ(0);
    }

}


/* ============New Home============== */

.plane {
    position: absolute;
    top: 50%;
    right: 102%;
    animation: fly 15s linear infinite;
    z-index: 1;
}

@keyframes fly {
    0% {
        right: 100%;
    }

    20% {
        right: 75%;
        top: 55%;
        transform: rotate(17deg);
    }

    40% {
        right: 50%;
        top: 60%;
        transform: rotate(5deg);
    }

    60% {
        right: 25%;
        top: 60%;
        transform: rotate(0deg);
    }

    80% {
        right: 0%;
        top: 50%;
        transform: rotate(-3deg);
    }

    100% {
        right: -25%;
        top: 40%;
        transform: rotate(-5deg);
    }
}


.service-main-sec .service-curve {
    clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
}

.service-inner-col {
    opacity: 1;
    transition: opacity 0.1s linear;
}

.plan-front {
    left: 50% !important;
    top: 28% !important;
    transform: translateX(-50%);
}

.plan-front img {
    animation: fly-front 15s linear infinite
}

@keyframes fly-front {
    0% {
        transform: translateY(0%) scale(0) rotate(0deg);
        opacity: 1;
    }

    20% {
        transform: translateY(100%) scale(2) rotate(4deg);
    }

    40% {
        transform: translateY(200%) scale(3) rotate(-4deg);
    }

    60% {
        transform: translateY(300%) scale(4) rotate(2deg);
    }

    80% {
        transform: translateY(400%) scale(5) rotate(-2deg);
    }

    90% {
        transform: translateY(450%) scale(5.5) rotate(0deg);
        opacity: 1;
    }

    100% {
        transform: translateY(500%) scale(6) rotate(0deg);
        opacity: 0;
    }
}

.step-main-sec {
  overflow: hidden;
}

.step-main-sec .e-con-inner {
    display: flex;
	gap: 180px;
    padding: 0 100px;
	width: max-content;
	will-change: transform;
	transform: translate3d(0,0,0);
}

.step-main-sec .step-col {
	 flex-shrink: 0;
	transition: all 0.3s ease-in-out;
}



/* ======= Responsive CSS: Start ======= */

/*
    Elementor Breakpoint For Responsive Screen : 
    Mobile Portrait   : 767
    Mobile Landscape  : 1024
    Tablet Portrait   : 1200
    Tablet Landscape  : 1400
    Laptop            : 1600
    */

@media screen and (min-width: 1450px) and (max-width: 1680px) and (max-height: 850px) {
    .hero-banner-main-sec h1.elementor-heading-title {
        font-size: 60px !important;
    }
}

@media screen and (min-width: 1450px) and (max-width: 1680px) and (max-height: 770px) {
    .hero-banner-main-sec h1.elementor-heading-title {
        font-size: 50px !important;
    }
}

@media screen and (min-width: 1450px) and (max-width: 1680px) and (max-height: 710px) {
    .hero-banner-main-sec h1.elementor-heading-title {
        font-size: 40px !important;
    }
}

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

    .text-anim h2 {
        font-size: 72px !important;
    }

    .text-anim h1 {
        font-size: 80px !important;
    }

    .step-main-sec .e-con-inner {
        gap: 160px !important;
        padding: 0 40px !important;
    }
}

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

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

    /* .header-main-sec .header-menu ul li a {
        font-size: 16px !important;
    } */
}

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

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

    .step-heading:after {
        width: 820px !important;
        left: -340px !important;
    }

    .plane {
        top: 80%;
    }

    .step-main-sec .e-con-inner {
        gap: 150px !important;
        padding: 0 40px !important;
    }
}

@media screen and (min-width: 1200px) and (max-width: 1430px) {
    .header-main-sec .header-logo a img {
        width: 200px !important;
    }

    /* .header-main-sec .header-menu ul li a {
        --e-nav-menu-horizontal-menu-item-margin: calc(15px / 2) !important;
    } */

    /* .header-main-sec .hover-btn a {
        padding: 12px !important;
    } */

    .step-main-sec .step-col {
        flex: 0 0 30.3333% !important;
        max-width: 30.3333% !important;
    }

    .step-main-sec .e-con-inner {
        gap: 60px !important;
        padding: 0 40px !important;
    }

}

@media screen and (min-width: 1200px) and (max-width: 1370px) {

    .text-anim h2 {
        font-size: 52px !important;
    }

    .service-col {
        min-height: 400px !important;
        gap: 40px !important;
    }

    .service-col h2 {
        font-size: 80px !important;
    }

    .service-col .elementor-widget-icon-box h3.elementor-icon-box-title {
        font-size: 20px !important;
    }

    .service-col .elementor-widget-icon-box p.elementor-icon-box-description {
        font-size: 16px !important;
    }

    /* 
    .header-main-sec .header-menu ul li a {
        font-size: 14px !important;
        --e-nav-menu-horizontal-menu-item-margin: calc(10px / 2) !important;
    } */
}

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

    .step-heading:after {
        width: 600px !important;
        left: -190px !important;
    }

    .about-video .elementor-custom-embed-play {
        width: 80px !important;
        height: 80px !important;
    }

    .contact-form .elementor-form-fields-wrapper .elementor-field-group input,
    .contact-form .elementor-form-fields-wrapper .elementor-field-group textarea {
        padding: 0 0 30px 20px !important;
    }

    .process-left-btn {
        width: 115px;
        height: 115px;
    }

    .step-inner-sec .step-col .step-no h3 {
        width: 75px;
        height: 75px;
    }

    .step-inner-sec:before {
        top: 39px;
    }

    .why-choose-sec h2 br {
        display: none;
    }

    .hero-banner-main-sec {
        background: none !important;
    }

    .plane {
        top: 80%;
    }

    @keyframes fly {
        0% {
            right: 100%;
        }

        20% {
            right: 75%;
            top: 80%;
            transform: rotate(17deg);
        }

        40% {
            right: 50%;
            top: 70%;
            transform: rotate(5deg);
        }

        60% {
            right: 25%;
            top: 60%;
            transform: rotate(0deg);
        }

        80% {
            right: 0%;
            top: 50%;
            transform: rotate(-3deg);
        }

        100% {
            right: -25%;
            top: 40%;
            transform: rotate(-5deg);
        }
    }

    .step-main-sec .step-col {
        flex: 0 0 30.3333% !important;
        max-width: 30.3333% !important;
    }

    .step-main-sec .e-con-inner {
        gap: 40px !important;
        padding: 0 40px !important;
    }
}

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

    .step-heading:after {
        width: 470px !important;
        left: -136px !important;
    }

    .step-heading:hover .elementor-widget-container {
        padding-bottom: 20px !important;
    }

    .step-heading:first-child .elementor-widget-container {
        padding-bottom: 20px !important;
    }

    .about-video .elementor-custom-embed-play {
        width: 60px !important;
        height: 60px !important;
    }

    .service-right-sec .service-col:nth-child(even) {
        transform: translateY(60px);
    }

    .about-inner-sec h2 br,
    .about-inner-sec h3 br {
        display: none;
    }

    .cta-section h3 br {
        display: none;
    }

    .why-choose-sec h2 br {
        display: none;
    }

    .service-inner-col {
        opacity: 1 !important;
    }

    .process-left-btn {
        width: 95px;
        height: 95px;
    }

    .hero-img {
        width: 130% !important;
        max-width: 130% !important;
        left: -10% !important;
    }

    .step-main-sec .step-col {
        flex: 0 0 47.3333% !important;
        max-width: 47.3333% !important;
    }

    .step-main-sec .e-con-inner {
        gap: 40px !important;
        padding: 0 20px !important;
    }
}

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

    .step-heading:after {
        width: 100% !important;
        left: 0px !important;
    }

    br {
        display: none;
    }

    .gallery-slider .elementor-main-swiper.swiper .swiper-slide {
        transform: scale(1) !important;
    }

    .service-right-sec .service-col:nth-child(even) {
        transform: translateY(0px);
    }

    .contact-form .elementor-form-fields-wrapper .elementor-field-group input,
    .contact-form .elementor-form-fields-wrapper .elementor-field-group textarea {
        padding: 0 0 20px 10px !important;
        box-shadow: none;
    }

    /* .step-inner-sec:before {
        display: none;
    } */

    .hero-img {
        width: 170% !important;
        max-width: 170% !important;
        left: -24% !important;
    }

    .step-main-sec .step-col {
        flex: 0 0 46% !important;
        max-width: 46% !important;
    }

    
.hover-btn .elementor-field-type-submit {
    margin: 0 auto;
}

}



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

    .gallery-slider .elementor-main-swiper.swiper {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

}

@media screen and (max-width: 575px) {
    .footer_menu .elementor-nav-menu li a {
        justify-content: center !important;
    }

    .plane {
        top: 90%;
    }

    @keyframes fly {
        0% {
            right: 100%;
        }

        20% {
            right: 75%;
            top: 90%;
            transform: rotate(17deg);
        }

        40% {
            right: 50%;
            top: 80%;
            transform: rotate(5deg);
        }

        60% {
            right: 25%;
            top: 70%;
            transform: rotate(0deg);
        }

        80% {
            right: 0%;
            top: 60%;
            transform: rotate(-3deg);
        }

        100% {
            right: -25%;
            top: 50%;
            transform: rotate(-5deg);
        }
    }

    .step-main-sec .step-col {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

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