/********** Template CSS **********/ :root { --primary: #4761FF; --secondary: #555555; --light: #F1F3FA; --dark: #1C2035; }
 .back-to-top { position: fixed; display: none; right: 30px; bottom: 30px; z-index: 99; }
 .fw-medium { font-weight: 500; }
 /*** Spinner ***/ #spinner { opacity: 0; visibility: hidden; transition: opacity .5s ease-out, visibility 0s linear .5s; z-index: 99999; }
 #spinner.show { transition: opacity .5s ease-out, visibility 0s linear 0s; visibility: visible; opacity: 1; }
 .spinner-border {width: 3rem; height: 3rem;}
 /*** Button ***/ .btn { transition: .5s; font-weight: 500; }
 .btn-primary, .btn-outline-primary:hover { color: var(--light); }
 .btn-secondary, .btn-outline-secondary:hover { color: var(--dark); }
 .btn-square { width: 38px; height: 38px; }
 .btn-sm-square { width: 32px; height: 32px; }
 .btn-lg-square { width: 48px; height: 48px; }
 .btn-square, .btn-sm-square, .btn-lg-square { padding: 0; display: flex; align-items: center; justify-content: center; font-weight: normal; }
 /* Topbar */ /* Logo */
 .topbar-logo { height: 70px; object-fit: contain; }
 /* Banner / Text Image */
 .topbar-banner { height: 52px; width: 360px; }
 /*** Navbar ***/
 .sticky-top { top: -100px; transition: .5s; }
 /* Compact Mega Menu Layout */ 
 .navbar .dropdown.position-static .dropdown-menu { width: auto !important; min-width: 720px; max-width: 1100px; left: auto; right: auto; margin: auto; padding-left: 0; padding-right: 0; }
 /* Remove container side gaps inside mega menu */ 
 .navbar .dropdown-menu .container { max-width: 100%; padding-left: 1rem; padding-right: 1rem; }
 .dropdown-menu.show {z-index: 9999;}
 /* Responsive compact width */
 .dropdown-menu .row.g-4 { --bs-gutter-x: 1.25rem; }
 .navbar .navbar-nav .nav-link { margin-right: 35px; padding: 25px 0; color: var(--dark); font-size: 18px; font-weight: 500; outline: none; }
 .navbar .navbar-nav .nav-link:hover, .navbar .navbar-nav .nav-link.active { color: var(--primary); }
 .navbar .dropdown-toggle::after { border: none; content: "\f107"; font-family: "Font Awesome 5 Free"; font-weight: 900; vertical-align: middle; margin-left: 8px; }
 @media (max-width: 991.98px) { .navbar .navbar-nav .nav-link  { margin-right: 0; padding: 10px 0; }
 .navbar .navbar-nav { margin-top: 15px; border-top: 1px solid #EEEEEE; }
 .navbar .dropdown.position-static .dropdown-menu { min-width: 100%; max-width: 100%; }
 }
 @media (min-width: 992px) { .navbar .nav-item .dropdown-menu { display: block; border: none; margin-top: 0; top: 150%; opacity: 0; visibility: hidden; transition: .5s; }
 .navbar .nav-item:hover .dropdown-menu { top: 100%; visibility: visible; transition: .5s; opacity: 1; }
 }
 /* Extra Added Navbar*/ /* Prevent mega menu from overflowing screen */
 .navbar .dropdown.position-static .dropdown-menu { left: 0 !important; right: 0 !important; max-width: 100vw; overflow-x: hidden; }
 /* Slight padding for large menus */
 .navbar .dropdown-menu .container { padding-left: 1rem; padding-right: 1rem; }
 /* Base mega menu safety */
 .navbar .dropdown-menu { max-width: 100vw; overflow-x: hidden; }
 /* Alignment states (applied by JS) */
 .mega-align-left { left: 0 !important; right: auto !important; }
 .mega-align-right { right: 0 !important; left: auto !important; }
 .mega-align-center { left: 50% !important; transform: translateX(-50%); }
 /*** Header ***/
 .carousel-caption { top: 0; left: 0; right: 0; bottom: 0; display: flex; align-items: center; background: rgba(0, 0, 0, .1); z-index: 1; }
 .carousel-control-prev, .carousel-control-next { width: 15%; }
 .carousel-control-prev-icon, .carousel-control-next-icon { width: 3.5rem; height: 3.5rem; border-radius: 3.5rem; background-color: var(--primary); border: 15px solid var(--primary); }
 @media (max-width: 768px) { #header-carousel .carousel-item { position: relative; min-height: 450px; }
 #header-carousel .carousel-item img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
 }
 .page-header { background: linear-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, .1)), url(../img/carousel-1.jpg) center center no-repeat; background-size: cover; }
 .page-header .breadcrumb-item+.breadcrumb-item::before { color: var(--light); }
 .page-header .breadcrumb-item, .page-header .breadcrumb-item a { font-size: 18px; color: var(--light); }
 /*** Features ***/ .feature-row { box-shadow: 0 0 45px rgba(0, 0, 0, .08); }
 .feature-item { border-color: rgba(0, 0, 0, .03) !important; }
 /*** About ***/ .about { background: linear-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, .1)), url(../img/image.png) left center no-repeat; background-size: cover; }
 .btn-play { position: relative; display: block; box-sizing: content-box; width: 36px; height: 46px; border-radius: 100%; border: none; outline: none !important; padding: 18px 20px 20px 28px; background: var(--primary); }
 .btn-play:before { content: ""; position: absolute; z-index: 0; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); display: block; width: 90px; height: 90px; background: var(--primary); border-radius: 100%; animation: pulse-border 1500ms ease-out infinite; }
 .btn-play:after { content: ""; position: absolute; z-index: 1; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); display: block; width: 90px; height: 90px; background: var(--primary); border-radius: 100%; transition: all 200ms; }
 .btn-play span { display: block; position: relative; z-index: 3; width: 0; height: 0; left: 3px; border-left: 30px solid #FFFFFF; border-top: 18px solid transparent; border-bottom: 18px solid transparent; }
 @keyframes pulse-border { 0% { transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1); opacity: 1; }
 100% { transform: translateX(-50%) translateY(-50%) translateZ(0) scale(2); opacity: 0; }
 }
 .modal-video .modal-dialog { position: relative; max-width: 800px; margin: 60px auto 0 auto; }
 .modal-video .modal-body { position: relative; padding: 0px; }
 .modal-video .close { position: absolute; width: 30px; height: 30px; right: 0px; top: -30px; z-index: 999; font-size: 30px; font-weight: normal; color: #FFFFFF; background: #000000; opacity: 1; }
 /*** Service ***/ .service-item .service-text { position: relative; width: 100%; top: 0; left: 0; text-align: center; background: #FFFFFF; box-shadow: 0 0 45px rgba(0, 0, 0, .06); transition: .5s; z-index: 2; }
 .service-item:hover .service-text { top: -1.5rem; }
 .service-item .service-text h5 { transition: .5s; }
 .service-item:hover .service-text h5 { color: var(--primary); }
 .service-item .service-btn { position: absolute; width: 80%; height: 3rem; left: 10%; bottom: 0; display: flex; align-items: center; justify-content: center; background: #FFFFFF; box-shadow: 0 0 45px rgba(0, 0, 0, .07); transition: .5s; z-index: 1; }
 .service-item:hover .service-btn { bottom: -1.5rem; }
 /*** Project ***/ .project-item { position: relative; border-radius: 8px; overflow: hidden; box-shadow: 0 0 45px rgba(0, 0, 0, .07); }
 .project-item .project-overlay { position: absolute; width: 100%; height: 100%; top: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .5); opacity: 0; padding-top: 60px; transition: .5s; }
 .project-item:hover .project-overlay { opacity: 1; padding-top: 0; }
 .project-carousel .owl-nav { position: absolute; top: -100px; right: 0; display: flex; }
 .project-carousel .owl-nav .owl-prev, .project-carousel .owl-nav .owl-next { margin-left: 15px; width: 55px; height: 55px; display: flex; align-items: center; justify-content: center; color: var(--secondary); border-radius: 55px; box-shadow: 0 0 45px rgba(0, 0, 0, .15); font-size: 25px; transition: .5s; }
 .project-carousel .owl-nav .owl-prev:hover, .project-carousel .owl-nav .owl-next:hover { background: var(--primary); color: #FFFFFF; }
 @media (max-width: 768px) { .project-carousel .owl-nav { top: -70px; right: auto; left: 50%; transform: translateX(-50%); }
 .project-carousel .owl-nav .owl-prev, .project-carousel .owl-nav .owl-next { margin: 0 7px; width: 45px; height: 45px; font-size: 20px; }
 }
 .project-item .position-relative { height: 250px; overflow: hidden; }
 .project-item img { width: 100%; height: 100%; object-fit: cover; }
 /*** Team ***/ .team-item { position: relative; text-align: center; box-shadow: 0 0 45px rgba(0, 0, 0, .07); }
 .team-item .team-social { position: absolute; padding: 0; top: 15px; left: 0; overflow: hidden; }
 .team-item .team-social li { list-style-type: none; margin-bottom: 10px; margin-left: -50px; opacity: 0; transition: .5s; }
 .team-item:hover .team-social li { margin-left: 15px; opacity: 1; }
 .team-item .team-social li .btn { background: #FFFFFF; color: var(--primary); border-radius: 40px; transition: .5s; }
 .team-item .team-social li .btn:hover { color: #FFFFFF; background: var(--primary); }
 .team-item .team-social li:nth-child(1) { transition-delay: .1s; }
 .team-item .team-social li:nth-child(2) { transition-delay: .2s; }
 .team-item .team-social li:nth-child(3) { transition-delay: .3s; }
 .team-item .team-social li:nth-child(4) { transition-delay: .4s; }
 .team-item .team-social li:nth-child(5) { transition-delay: .5s; }
 /*** Testimonial ***/ .testimonial-item { box-shadow: 0 0 45px rgba(0, 0, 0, .07); transition: .5s; }
 .owl-item .testimonial-item, .testimonial-item * { transition: .5s; }
 .owl-item.center .testimonial-item, .testimonial-item:hover { background: var(--primary); }
 .owl-item.center .testimonial-item *, .testimonial-item:hover * { color: #FFFFFF !important; }
 .testimonial-item img { width: 100px !important; height: 100px !important; border-radius: 100px; }
 .testimonial-carousel .owl-nav { position: absolute; top: -100px; right: 0; display: flex; }
 .testimonial-carousel .owl-nav .owl-prev, .testimonial-carousel .owl-nav .owl-next { margin-left: 15px; width: 55px; height: 55px; display: flex; align-items: center; justify-content: center; color: var(--secondary); border-radius: 55px; box-shadow: 0 0 45px rgba(0, 0, 0, .15); font-size: 25px; transition: .5s; }
 .testimonial-carousel .owl-nav .owl-prev:hover, .testimonial-carousel .owl-nav .owl-next:hover { background: var(--primary); color: #FFFFFF; }
 @media (max-width: 768px) { .testimonial-carousel .owl-nav { top: -70px; right: auto; left: 50%; transform: translateX(-50%); }
 .testimonial-carousel .owl-nav .owl-prev, .testimonial-carousel .owl-nav .owl-next { margin: 0 7px; width: 45px; height: 45px; font-size: 20px; }
 }
 /*** Footer ***/ .footer { color: #B0B9AE; }
 .footer .btn.btn-link { display: block; margin-bottom: 5px; padding: 0; text-align: left; color: #B0B9AE; font-weight: normal; text-transform: capitalize; transition: .3s; }
 .footer .btn.btn-link::before { position: relative; content: "\f105"; font-family: "Font Awesome 5 Free"; font-weight: 900; margin-right: 10px; }
 .footer .btn.btn-link:hover { color: var(--light); letter-spacing: 1px; box-shadow: none; }
 .copyright { color: #B0B9AE; }
 .copyright { background: #111111; }
 .copyright a:hover { color: var(--primary) !important; }
 @keyframes random-bg { 0%   { background-image: url('/app_theme/assets/img/three.jpeg'); }
 100%  { background-image: url('/app_theme/assets/img/three.jpeg'); }
 }
 .page-title{animation: random-bg 45s steps(1) infinite; background-size: cover; background-position: center; --background-color:var(--accent-color);--default-color:#fff;--heading-color:#fff;color:var(--default-color);background-color:var(--background-color);position:relative}
 .page-title .heading{padding:500px 0 80px 0;border-top:1px solid color-mix(in srgb,var(--default-color),transparent 90%)}
 .page-title .heading h1{font-size:38px;font-weight:700}
 .page-title nav{background-color:color-mix(in srgb,#4761ff,#4761ff 92%);padding:20px 0}
 .page-title nav ol{display:flex;flex-wrap:wrap;list-style:none;margin:0;font-size:16px;font-weight:600}
 .page-title nav ol a{color:color-mix(in srgb,var(--default-color),transparent 50%)}
 .page-title nav ol a:hover{color:var(--default-color)}
 .page-title nav ol li+li{padding-left:10px}
 .page-title nav ol li+li::before{content:"/";display:inline-block;padding-right:10px;color:color-mix(in srgb,var(--default-color),transparent 50%)}
 .section,section{color:var(--default-color);background-color:var(--background-color);padding:0px 0;scroll-margin-top:112px;overflow:clip}
 @media (max-width:1199px){ .section,section{scroll-margin-top:100px}
 }
 /* -- Mrakque --*/ .marquee-item { padding: 0.5rem 1rem; font-size: 1rem; white-space: nowrap; color: #4761ff; }
 .marquee-item{ background-color: #4761ff;}
 .marquee-item a { color: white; font-size: 1.2rem; }
 .marquee-item a img{ max-height: 30px; }
 /* Horizontal Marquee Styles */ .marquee-horizontal { overflow: hidden; position: relative; background-color: #4761ff; border: 1px solid #4761ff; height: auto; }
 .marquee-horizontal .marquee-content { display: inline-flex; gap: 2rem; animation: scroll-horizontal 60s linear infinite; padding-left: 100%; }
 @keyframes scroll-horizontal { 0% { transform: translateX(0); }
 100% { transform: translateX(-100%); }
 }
 /* Vertical Marquee Styles */ .marquee-vertical { overflow: hidden; height: 180px; position: relative; background-color: #4761ff; border: 1px solid #ced4da; }
 .marquee-vertical .marquee-content { display: flex; flex-direction: column; animation: scroll-vertical 12s linear infinite; }
 @keyframes scroll-vertical { 0% { transform: translateY(0); }
 100% { transform: translateY(-100%); }
 }
 /* Responsive font size */ @media (max-width: 768px) { .marquee-item { font-size: 0.9rem; }
 }
 .marquee-content:hover { animation-play-state: paused; }
#carouselSliderHome .carousel-item a img { width: 100%; height: auto; max-height: 700px; object-fit: cover;}
@media (max-width: 1199.98px) {
    #carouselSliderHome .carousel-item a img { max-height: 500px; }
}
@media (max-width: 991.98px) {
    #carouselSliderHome .carousel-item a img { max-height: 400px; }
}
@media (max-width: 767.98px) {
    #carouselSliderHome .carousel-item a img { max-height: 300px; }
}
@media (max-width: 575.98px) {
    #carouselSliderHome .carousel-item a img { max-height: 200px; }
}

/* Styles extracted from index.rgvp and its inclusions */
.about-video-play-btn {
    width: 80px;
    height: 80px;
    border: none;
}

.about-video-thumb {
    height: 400px;
    object-fit: cover;
}

.about-card-icon {
    max-width: 80px;
}

.feature-hover-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-hover-card:hover {
    transform: translateY(-10px) scale(1.05) !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.25) !important;
}

.feature-icon-wrapper {
    width: 80px !important;
    height: 80px !important;
}

.media-coverage-list {
    max-height: 250px;
    overflow-y: auto;
    padding-right: 5px;
}

.media-coverage-link {
    font-size: 0.85rem;
}

.section-header-max-width {
    max-width: 500px;
}

.service-icon-wrapper {
    width: 64px !important;
    height: 64px !important;
}

.course-item-img {
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
}

.admission-phone-btn {
    width: 55px !important;
    height: 55px !important;
}

.enquiry-textarea {
    height: 130px;
}

#modalVideo {
    width: 100%;
    height: 100%;
}