/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
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/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.14.0.1792169352
Updated: 2026-10-16 16:49:12

*/

body {
    background-color: #ffc8800d;
    color: #1a1b40;
    font-family: Helvetica, Arial, sans-serif;
    font-weight: 400;
    line-height: 1.4;
}

h1,h2,h3,h4,h5,h6 {
	color: #1a1b40 !important;
	font-family: Helvetica, Arial, sans-serif !important;
}

html.lenis,
html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.main-header-menu a.menu-link {
    color: #1a1b40 !important;
}
.main-header-menu a.menu-link::after {
    content: '';
    background: url(../../uploads/2026/10/6746fa99c1abe76e1c0d8df6_pen-shop.svg);
    position: absolute;
    width: 50px;
    height: 10px;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 5px;
    left: 50%;
    transform: translate(-50%, -100%);
	opacity: 0;
 	transition: opacity 0.3s ease;
}

.main-header-menu a.menu-link:hover::after {
    opacity: 1;
}

.main-header-menu a.menu-link:hover {
    outline: none;
    border: none;
}

a.menu-link:focus,
a.menu-link:active {
    outline: none;
    border: none;
    box-shadow: none;
}

.sub-menu a.menu-link::after {
    content: unset;
}

ul.sub-menu {
    border: none !important;
    width: 150px !important;
}


.ast-builder-button-wrap {
    position: relative;
}

/* Hide the default Astra button */
.ast-builder-button-wrap .ast-custom-button-link {
    display: none !important;
}

/* Main button - Astra and Elementor */
.ast-builder-button-wrap a.menu-link,
.arrow-button a.elementor-button {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 20px !important;
    min-height: 40px;
    box-sizing: border-box;
    border: none !important;
    outline: none !important;
    border-radius: 50px !important;
    background: #fff250 !important;
    color: #1a1b40 !important;
    font-size: 0 !important;
    font-weight: 400;
    line-height: 1;
    text-decoration: none !important;
    white-space: nowrap;
    overflow: hidden;
    box-shadow: none !important;
    transition: none;
}

/* Elementor content wrapper */
.arrow-button .elementor-button-content-wrapper {
    display: contents !important;
}

/* Button text */
.ast-builder-button-wrap .apply-text,
.arrow-button .apply-text {
    display: inline-block;
    flex: 0 0 auto;
    font-size: 18px;
    line-height: 1;
    white-space: nowrap;
    transform: translateX(0);
    transition: transform 0.35s ease;
}

/* Dot */
.ast-builder-button-wrap .apply-dot,
.arrow-button .apply-dot {
    position: absolute;
    left: 20px;
    top: 50%;
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 50%;
    background: #000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-10px, -50%) scale(0.5);
    transition:
        opacity 0.3s ease,
        transform 0.35s ease,
        visibility 0s linear 0.35s;
}

/* Arrow */
.ast-builder-button-wrap .apply-arrow,
.arrow-button .apply-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin: 0;
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    transition:
        opacity 0.25s ease,
        transform 0.35s ease,
        visibility 0s linear 0s;
}

/* Arrow SVG */
.ast-builder-button-wrap .apply-arrow svg,
.arrow-button .apply-arrow svg {
    display: block;
    width: 100%;
    height: 100%;
}

/* Elementor hover shadow reset */
.arrow-button a.elementor-button:hover,
.arrow-button a.elementor-button:focus {
    background: #fff250 !important;
    color: #1a1b40 !important;
    box-shadow: none !important;
}



/* Hover: move the text right */
.ast-builder-button-wrap a.menu-link:hover .apply-text,
.arrow-button a.elementor-button:hover .apply-text {
    transform: translateX(20px);
}

/* Hover: reveal the dot */
.ast-builder-button-wrap a.menu-link:hover .apply-dot,
.arrow-button a.elementor-button:hover .apply-dot {
    opacity: 1;
    visibility: visible;
    transform: translate(0, -50%) scale(1);
    transition-delay: 0s;
}

/* Hover: hide the arrow without removing its reserved space */
.ast-builder-button-wrap a.menu-link:hover .apply-arrow,
.arrow-button a.elementor-button:hover .apply-arrow {
    opacity: 0;
    visibility: hidden;
    transform: translateX(20px);
    transition-delay: 0s, 0s, 0.25s;
}

/* Remove unwanted focus and active styles */
.ast-builder-button-wrap a.menu-link:hover,
.ast-builder-button-wrap a.menu-link:focus,
.ast-builder-button-wrap a.menu-link:active,
.arrow-button a.elementor-button:hover,
.arrow-button a.elementor-button:focus,
.arrow-button a.elementor-button:active {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}


.ast-builder-button-wrap a.menu-link::after {
	content: unset;
}


#masthead {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 99999;
    transform: translate3d(0, 0, 0);
    transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

#masthead.header-hidden {
    transform: translate3d(0, -100%, 0);
}

#masthead.header-visible {
    transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
    #masthead {
        transition: none;
    }
}

.ast-builder-html-element p.green-text {
    color: #66ff8f;
}

.ast-builder-html-element p.green-text strong {
    color: #fff;
}

aside.footer-widget-area.widget-area.site-footer-focus-item.footer-widget-area-inner {
	display: flex;
}

aside a .menu-link {
	color: #fff !important;
}

.widget_nav_menu {
	width: 200px;
}

.widget_nav_menu h2 {
	color: #fff !important;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 12px;
}

.menu-footer-menu-container li,
.menu-footer-menu-2-container li {
	margin-bottom: 12px;
}

.menu-footer-menu-container li a,
.menu-footer-menu-2-container li a {
	color: #e2ebed99;
}



/* Main animation section */
#OurPhilosophy {
    position: relative !important;
    width: 100%;
    max-width: 1200px;
/*     min-height: 500px; */
    margin: 0 auto;
    isolation: isolate;
}

/* Orange circle / background shape */
#OurPhilosophy .scroll-image {
    width: 60% !important;
    max-width: 1000px;
	margin: 0 auto;
    z-index: 0;
    pointer-events: none;
    transform-origin: center center;
    will-change: transform;
}

#OurPhilosophy .scroll-image img {
    display: block;
    width: 100%;
    height: auto;
}

/* Both image containers */
#OurPhilosophy .animation-image {
    position: absolute !important;
    height: auto !important;
    margin: 0 !important;
    z-index: 2;
    will-change: transform;
    transform-origin: center center;
    backface-visibility: hidden;
}

#OurPhilosophy .animation-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
}

/* Front image */
#OurPhilosophy .animation-img-1 {
    width: 43% !important;
    max-width: 350px;
    left: 25% !important;
    top: 9% !important;
    z-index: 3;
}

/* Back image */
#OurPhilosophy .animation-img-2 {
    width: 34% !important;
    max-width: 350px;
    left: 49% !important;
    top: 12% !important;
    z-index: 2;
}

/* Initial animation state */
#OurPhilosophy .scroll-image {
    transform: rotate(-8deg) scale(0.85);
}

#OurPhilosophy .animation-img-1 {
    transform: translate(25%, 5%) rotate(0deg) scale(0.78);
}

#OurPhilosophy .animation-img-2 {
    transform: translate(-25%, 3%) rotate(0deg) scale(0.78);
}

/* Tablet */
@media (max-width: 1024px) {
    #OurPhilosophy {
        min-height: 700px;
    }

    #OurPhilosophy .scroll-image {
        width: 85% !important;
        left: 7.5% !important;
        top: 24% !important;
    }

    #OurPhilosophy .animation-img-1 {
        width: 49% !important;
        left: 8% !important;
        top: 12% !important;
    }

    #OurPhilosophy .animation-img-2 {
        width: 39% !important;
        left: 47% !important;
        top: 20% !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    #OurPhilosophy {
        min-height: 540px;
    }

    #OurPhilosophy .scroll-image {
        width: 105% !important;
        max-width: none;
        left: -2.5% !important;
        top: 30% !important;
    }

    #OurPhilosophy .animation-img-1 {
        width: 64% !important;
        left: 4% !important;
        top: 12% !important;
    }

    #OurPhilosophy .animation-img-2 {
        width: 49% !important;
        left: 43% !important;
        top: 23% !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #OurPhilosophy .scroll-image,
    #OurPhilosophy .animation-image {
        will-change: auto;
    }
}

.elementor-widget.elementor-widget-image-carousel {
    border-radius: 10px;
    overflow: hidden;
}

.image-hover img {
    height: 415px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
	cursor: pointer;
	border: 1px solid #f6f5f3 !important;
}


.abs-text {
    position: absolute !important;
    top: 0;
    left: 0;
    height: 415px;
    width: 100%;
    padding: 20px;
    color: #fff !important;
    background: #00000085;
    border-radius: 10px;
    cursor: pointer;

    opacity: 0;
    transform: translateY(15px) scale(0.98);
    transition:
        opacity 0.45s ease,
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);

    pointer-events: none;
    will-change: opacity, transform;
}

.image-hover > div > div:hover .abs-text {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.svg-box .elementor-widget-html {
	height: 48px;
	width: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 12px;
}

.svg-box .elementor-widget-html svg {
	height: 25px;
	width: 25px;
}

.svg-box .elementor-widget-html svg path {
	fill: #fff !important;
}


/* Main gallery - respect Elementor parent width */
.campus-gallery {
    position: relative !important;
    min-height: 640px;
    margin-inline: auto;
    overflow: hidden !important;
    isolation: isolate;
    background: #fff;
}

/* White gradient overlay */
.campus-gallery::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background-image: linear-gradient(#fff, #ffffff03 31%, #ffffff1f);
}

/* Main image widget */
.campus-gallery .gallery-main {
/*     position: absolute !important; */
    inset: 0;
    height: 100%;
    margin: 0 !important;
    z-index: 1;
}

.campus-gallery .gallery-main .elementor-widget-container,
.campus-gallery .gallery-main a {
    display: block;
    height: 100%;
}

.campus-gallery .gallery-main img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: none !important;
    opacity: 1;
    transition: opacity 0.3s ease;
    image-rendering: auto;
}

/* Thumbnail tray */
.campus-gallery .gallery-thumbnails {
    position: absolute !important;
    right: 25px;
    bottom: 25px;
    z-index: 5;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 8px;
    width: max-content !important;
    max-width: calc(100% - 32px);
    padding: 8px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

/* Thumbnails */
.campus-gallery .gallery-thumb {
    flex: 0 0 85px;
    width: 85px;
    height: 85px;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 4px;
    cursor: pointer;
}

.campus-gallery .gallery-thumb .elementor-widget-container,
.campus-gallery .gallery-thumb a {
    display: block;
    width: 100%;
    height: 100%;
}

.campus-gallery .gallery-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: none !important;
    opacity: 1;
    transform: none;
    transition: opacity 0.25s ease;
}

.campus-gallery .gallery-thumb:hover img {
    opacity: 0.82;
}

/* Tablet */
@media (max-width: 1024px) {
    .campus-gallery {
        min-height: 500px;
    }

    .campus-gallery .gallery-thumbnails {
        right: 16px;
        bottom: 16px;
        gap: 6px;
        padding: 6px;
    }

    .campus-gallery .gallery-thumb {
        flex-basis: 80px;
        width: 80px;
        height: 80px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .campus-gallery {
        min-height: 380px;
    }

    .campus-gallery .gallery-thumbnails {
        right: 10px;
        bottom: 10px;
        max-width: calc(100% - 20px);
        gap: 5px;
        padding: 5px;
        overflow-x: auto;
    }

    .campus-gallery .gallery-thumb {
        flex: 0 0 58px;
        width: 58px;
        height: 58px;
    }
}

.campus-gallery > div {
	position: relative;
}

div#ast-scroll-top {
    background: #fff250;
}

.ast-icon svg:not([fill]) {
    fill: #000;
}