/*
Theme Name: VMS 

Author: Vivekananda Mission School — Joka | Haldia | Baruipur 

Description: Vivekananda Mission School (VMS) — CISCE-affiliated schools in Joka, Haldia and Baruipur, West Bengal. Man-making and character-building education since 1978.

Version: 1.1

Date: AUG

*/
/*vms main landing page */

.dropdown-item.active, .dropdown-item:active{    background: var(--vms-maroon-tint); color: var(--bs-dropdown-link-color)!important;}
.vms-nav .nav-item.active .nav-link, #menu-menu .current-menu-item a{    color: #bf8934;}
@media (min-width: 320px) and (max-width: 991px) {
	.vms-hero p.lead{max-width: 100%;}	
	.vms-hero__badge{text-align: center;}
}



/*12-08-2026*/

.vms-testimonial {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;

  .testimonial-text {
    display: -webkit-box;
    -webkit-line-clamp: 10;
    -webkit-box-orient: vertical;
    overflow: hidden;

    &.expanded {
      -webkit-line-clamp: unset;
      display: block;
    }
  }

  .read-more-btn {
    background: none;
    border: none;
    color: #8a1f2b; 
    font-weight: 600;
    padding: 0;
    margin-top: 8px;
    margin-bottom: 12px;
    cursor: pointer;
    align-self: flex-start;
  }
}

.row.g-4 {
  align-items: stretch; 
}

/* ===== Testimonial Carousel ===== */

.vms-testimonial-swiper .swiper-slide {
  height: auto;
}

.vms-testimonial-swiper .vms-testimonial {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.vms-testimonial-swiper .testimonial-text {
  display: -webkit-box;
  -webkit-line-clamp: 10;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.vms-testimonial-swiper .testimonial-text.expanded {
  -webkit-line-clamp: unset;
  display: block;
}

.vms-testimonial-swiper .read-more-btn {
  background: none;
  border: none;
  color: #8a1f2b;
  font-weight: 600;
  padding: 0;
  margin: 0px 0 12px;
  cursor: pointer;
  align-self: flex-start;
}

.vms-testimonial-swiper .swiper-button-prev,
.vms-testimonial-swiper .swiper-button-next {
  color: #8a1f2b;
}

.vms-testimonial-swiper .swiper-pagination-bullet-active {
  background: #8a1f2b;
}

/*14-08-2026*/

/* Testimonial slider arrows — white circle, shadow, protruding outside card */
.vms-testimonial-swiper .swiper-button-prev,
.vms-testimonial-swiper .swiper-button-next {
  width: 44px;
  height: 44px;
  background-color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  top: 50%;
  margin-top: -22px;
}

.vms-testimonial-swiper .swiper-button-prev {
  left: 8px;
}

.vms-testimonial-swiper .swiper-button-next {
  right: 8px;
}

.vms-testimonial-swiper .swiper-button-prev::after,
.vms-testimonial-swiper .swiper-button-next::after {
  font-size: 16px;
}

/* Hover effect (optional but recommended) */
.vms-testimonial-swiper .swiper-button-prev:hover,
.vms-testimonial-swiper .swiper-button-next:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
}
.vms-testimonial-swiper {
  padding-left: 24px;
  padding-right: 24px;
}

.vms-stats .stat h3 span{
    font-size: 2.1rem;
    margin: 0;
    color: var(--vms-maroon);
}

.cta-btn-wrap .vms-btn-outline{
  z-index: 1;
}

.vms-testimonial .avatar{
  min-width: 42px !important;
}
.f-photo-w{
  position: sticky;
  top: 100px;
}

#gform_1 .gform_fields input{
    width: 100% !important;
    border: 1px solid #e7ddd0 !important;
    border-radius: 10px !important;
    padding: .7rem .9rem !important;
    font-size: .92rem !important;
    color: #241b18 !important;
    background: #fbf6ee !important;
    transition: border-color .2s ease, background .2s ease !important;
    height: 46px;
}
#gform_1 .gform_fields textarea{
    width: 100% !important;
    border: 1px solid #e7ddd0 !important;
    border-radius: 10px !important;
    padding: .7rem .9rem !important;
    font-size: .92rem !important;
    color: #241b18 !important;
    background: #fbf6ee !important;
    transition: border-color .2s ease, background .2s ease !important;
}
#gform_1 .gform_fields input:focus,
#gform_1 .gform_fields textarea:focus {
    outline: none;
    border-color: #6e2a36 !important;
    background: #ffffff !important;
}
/*17-08-2026*/
#gform_1 #gform_submit_button_1{
    display: inline-flex !important;
    align-items: center !important;
    gap: .5rem !important;
    padding: .75rem 1.6rem !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    font-size: .95rem !important;
    transition: all .2s ease !important;
    border: 1px solid transparent !important;
    text-decoration: none !important;
    background: #6e2a36 !important;
    height: 50px !important;
}
#gform_1 #gform_submit_button_1:hover{
    background: #47161f !important;
    color: var(--vms-white);
    transform: translateY(-2px);
}

/*21-08-2026*/

.page-template-pre-school .preschool-blog{
    border-radius: var(--vms-radius);
    border: 1px solid var(--vms-line);
    overflow: hidden;
    background: #fff;
    height: 100%;
    transition: all .2s ease;
}
.page-template-pre-school .preschool-blog:hover{
    box-shadow: var(--vms-shadow);
    transform: translateY(-4px);
}
.page-template-pre-school .preschool-blog .vms-preschool-card{
  border: none !important;
}
.page-template-pre-school .preschool-blog .body{
  padding: 1.5rem;
}
.page-template-pre-school .preschool-blog .body a{
    font-weight: 600;
    font-size: 18px;
    text-decoration: none;
}
.page-template-pre-school .preschool-blog .body .contact-item{
    display: flex;
    gap: 6px;
    margin-top: 10px;
}
.page-template-pre-school .preschool-blog .body .bi::before{
    color: #c08a34;
}
.page-template-pre-school .preschool-blog .body .contact-item span,
.page-template-pre-school .preschool-blog .body .contact-item a{
    font-size: 14px !important;
}
.page-template-pre-school .preschool-blog .body .contact-item:last-child{
  align-items: center !important;
}












/*Responsive*/
/*14-08-2026*/

@media (max-width: 991.5px) {
  .top-nav-wrap{
    flex-direction: column;
    gap: 10px;
  }
  #gform_1 .gform_fields {
    row-gap: 20px !important;
  }
}
@media (max-width: 767.5px) {
  .top-nav-wrap .top-n-c-d,
  .top-n-s-wrap .divider,
  .top-n-s-wrap .vms-social{
    display: none !important;
  }
  .top-nav-wrap{
    align-items: end !important;
  }
}

@media (max-width: 378.5px){
  .cta-btn-wrap a{
    width: 100% !important;
    justify-content: center !important;
  }
  .what-btn-w{
    flex-direction: column !important;
    width: fit-content !important;
  }
}

/*27 -08-2026 */
.vms-nav .nav-link:focus,
.vms-nav .nav-link:focus-visible,
.vms-nav .dropdown-toggle:focus,
.vms-nav .dropdown-toggle:focus-visible,
.vms-nav .nav-link.show,
.vms-nav .dropdown-toggle.show {
  outline: none !important;
  box-shadow: none !important;
}

/*  31-08-2026  */
/* ---------- Gallery ---------- */  
.vms-inner-layout {
    padding: 3.5rem 0 5rem;
}
.vms-gallery-toolbar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
  margin-bottom: 2rem;
}
.vms-gallery-filters { display: flex; flex-wrap: wrap; gap: .5rem; }
.vms-gallery-filter-btn {
  border: 1px solid var(--vms-line); background: var(--vms-white); color: var(--vms-ink-soft);
  font-size: .82rem; font-weight: 600; padding: .5rem 1.1rem; border-radius: 999px; cursor: pointer;
  transition: all .2s ease;
}
.vms-gallery-filter-btn:hover { border-color: var(--vms-maroon); color: var(--vms-maroon); }
.vms-gallery-filter-btn.active { background: var(--vms-maroon); border-color: var(--vms-maroon); color: #fff; }
.vms-gallery-selects { display: flex; gap: .6rem; }
.vms-gallery-selects select {
  border: 1px solid var(--vms-line); border-radius: 10px; padding: .5rem .8rem; font-size: .85rem;
  color: var(--vms-ink); background: var(--vms-white); width: 135px;
}

.vms-gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 1rem; }
.vms-gallery-item {
  position: relative; border-radius: 12px; overflow: hidden; cursor: zoom-in;
  aspect-ratio: 4 / 3; border: 1px solid var(--vms-line);
}
.vms-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.vms-gallery-item:hover img { transform: scale(1.08); }
.vms-gallery-item .cap {
  position: absolute; left: 0; right: 0; bottom: 0; padding: .5rem .7rem .4rem;
  background: linear-gradient(0deg, rgba(36,27,24,.75), transparent);
  color: #fff; font-size: .72rem; font-weight: 600; opacity: 0; transition: opacity .25s ease;
}
.vms-gallery-item:hover .cap { opacity: 1; }
.vms-gallery-empty { text-align: center; padding: 3rem 1rem; color: var(--vms-ink-soft); display: none; }

.vms-lightbox {
  position: fixed; inset: 0; background: rgba(20,14,12,.92); z-index: 2000;
  display: none; align-items: center; justify-content: center; padding: 2rem;  
}
.vms-lightbox.open { display: flex; }
.vms-lightbox img { max-width: 90vw; max-height: 85vh; border-radius: 8px; box-shadow: var(--vms-shadow); }
.vms-lightbox .close {
  position: absolute; top: 1.25rem; right: 1.5rem; width: 42px; height: 42px; border-radius: 50%;
  background: rgba(255,255,255,.12); color: #fff; border: none; font-size: 1.3rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.vms-lightbox .close:hover { background: rgba(255,255,255,.22); }
.vms-lightbox .nav-btn {
  position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%;
  background: rgba(255,255,255,.12); color: #fff; border: none; font-size: 1.3rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.vms-lightbox .nav-btn:hover { background: rgba(255,255,255,.22); }
.vms-lightbox .prev { left: 1.5rem; }
.vms-lightbox .next { right: 1.5rem; }
.vms-lightbox .caption { position: absolute; bottom: 1.5rem; left: 0; right: 0; text-align: center; color: rgba(255,255,255,.85); font-size: .85rem; }    