:root {
   --primary-purple: #3F1B47;
}

body {
   font-family: "Poppins", Arial, sans-serif;
}

/* top bar */
.top-contact-bar {
   background-color: #e8e8e8;
   padding: 8px 0;
   font-size: 14px;
}

.top-contact-bar .contact-info {
   display: flex;
   justify-content: flex-end;
   align-items: center;
   gap: 25px;
}

.top-contact-bar .contact-info a {
   text-decoration: none;
   color: #666;
}

.top-contact-bar .contact-info span {
   display: flex;
   align-items: center;
   gap: 8px;
   color: #666;
}

.top-contact-bar .contact-info i {
   background: #888;
   color: #fff;
   padding: 5px;        /* controls icon box size */
   border-radius: 50%;   /* makes it round */
   font-size: 14px;      /* icon size */
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 22px;
   height: 22px;
}

@media (max-width: 991px) {
   .top-contact-bar .contact-info {
      gap: 15px;
   }
}

@media (max-width: 576px) {
   .top-contact-bar {
      padding: 10px 0;
   }
}
/* top bar end  */

/* Navigation */
.navbar {
   padding: 0;
}

.navbar .site-logo img {
   width: 250px;
   height: auto;
}

.offcanvas-header .mobile-logo img {
   width: 175px;
   height: auto;
}

.navbar-nav {
   gap: 5px;
}

.nav-link {
   color: #333 !important;
   font-size: 16px;
   font-weight: 500;
   padding: 8px 18px !important;
   /*transition: all 0.3s ease;*/
}

.navbar-nav .nav-item:last-child .nav-link {
   padding-right: 0px !important;
}

.nav-item.active .nav-link {
   color: #0D225A !important;
   border-bottom: 2px solid #A81D36;
}

.nav-link:hover {
   color: #0D225A !important;
   border-bottom: 2px solid #A81D36;
}

/* Mobile Menu Button */
.navbar-toggler {
   border: 2px solid #888888;
   padding: 5px 10px;
}

.navbar-toggler:focus {
   box-shadow: none;
}

.navbar-toggler-icon {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28136, 136, 136, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.nav-link.dropdown-toggle {
   display: flex;
   align-items: center;
}

.nav-link.dropdown-toggle:after {
   margin-left: 5px;
}

.sub-menu.dropdown-menu.show {
   background: #FAFAFA;
   padding: 10px;
   min-width: 200px;
}

/* Offcanvas for mobile - Right to Left */
.offcanvas {
   width: 280px !important;
   background-color: #e8e8e8;
}

.offcanvas-header {
   background-color: #e8e8e8;
   border-bottom: 1px solid #dee2e6;
}

.offcanvas-body {
   padding: 0;
}

.offcanvas .nav-link {
   padding: 15px 20px !important;
   border-bottom: 1px solid #f0f0f0;
   font-size: 16px;
}

.offcanvas .nav-link:hover {
   color: #0D225A !important;
}

.offcanvas .sub-menu li {
   list-style: disc;
   margin-left: 20px;
}

.offcanvas .sub-menu li > a {
   padding-left: 0px !important;
}

@media (max-width: 1100px) {
   .nav-link {
      padding: 8px 10px !important;
   }
}

@media (max-width: 991px) {
   .navbar-collapse {
      display: none !important;
   }
}

@media (min-width: 992px) {
   .navbar-toggler {
      display: none;
   }
}
/* Navigation end  */

.main-header {
    transition: all 0.3s ease;
}

.main-header.sticky {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999999;
    background: #fff;   /* Change as needed */
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* Footer  */
.footer-main {
   background: linear-gradient(135deg, #471761 0%, #6A1A8D 50%, #B40FA9 100%);
   color: #ffffff;
   padding: 60px 0 30px;
}

.footer-main .logo-text img {
   width: 320px;
   height: auto;
}

.footer-main .tagline {
   color: #d5d5d5;
   font-size: 12px;
   margin-bottom: 25px;
   letter-spacing: 0.3px;
   font-weight: 400;
}

.footer-main .description {
   color: #c5c5c5;
   font-size: 14px;
   line-height: 1.7;
   margin-bottom: 35px;
   max-width: 450px;
   font-weight: 300;
}

.footer-main .contact-box {
   display: flex;
   align-items: center;
   gap: 15px;
   margin-top: 30px;
}

.footer-main .contact-icon-wrapper {
   position: relative;
   width: 50px;
   height: 50px;
}

.footer-main .contact-icon {
   font-size: 28px;
   color: #ffffff;
}

.footer-main .comment-dots {
   position: relative;
}

.footer-main .comment-dots::before {
   content: '💬';
   font-size: 45px;
   display: block;
}

.footer-main .contact-label {
   color: #b0b0b0;
   font-size: 11px;
   text-transform: uppercase;
   letter-spacing: 1.5px;
   margin-bottom: 3px;
   font-weight: 400;
}

.footer-main .contact-number {
   color: #ffffff;
   font-size: 22px;
   font-weight: 300;
   letter-spacing: 0.5px;
}

.footer-main .footer-heading {
   color: #ffffff;
   font-size: 18px;
   font-weight: 400;
   margin-bottom: 22px;
   letter-spacing: 0.3px;
}

.footer-main .footer-links {
   list-style: none;
   padding: 0;
   margin: 0;
}

.footer-main .footer-links li {
   margin-bottom: 12px;
}

.footer-main .footer-links a {
   color: #cfcfcf;
   text-decoration: none;
   font-size: 14px;
   font-weight: 300;
   transition: color 0.3s;
}

.footer-main .footer-links a:hover {
   color: #ffffff;
}

.footer-main .contact-info-item {
   display: flex;
   align-items: start;
   gap: 12px;
   margin-bottom: 18px;
}

.footer-main .contact-info-item i {
   color: #ffffff;
   font-size: 16px;
   margin-top: 2px;
   min-width: 16px;
}

.footer-main .contact-info-text {
   color: #cfcfcf;
   font-size: 14px;
   line-height: 1.6;
   font-weight: 300;
}

.footer-main .social-links {
   list-style: none;
   padding: 0;
   margin: 0;
}

.footer-main .social-links li {
   margin-bottom: 12px;
}

.footer-main .social-links a {
   color: #cfcfcf;
   text-decoration: none;
   font-size: 14px;
   display: flex;
   align-items: center;
   gap: 10px;
   transition: color 0.3s;
   font-weight: 300;
}

.footer-main .social-links a:hover {
   color: #ffffff;
}

.footer-main .social-links i {
   font-size: 16px;
   min-width: 16px;
}

.footer-main .footer-bottom {
   border-top: 1px solid rgba(255, 255, 255, 0.12);
   margin-top: 45px;
   padding-top: 22px;
}

.footer-main .footer-bottom-content {
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.footer-main .footer-email,
.footer-main .footer-email a {
   color: #cfcfcf;
   font-size: 14px;
   font-weight: 300;
   text-decoration: none;
}

.footer-main .footer-copyright {
   color: #cfcfcf;
   font-size: 13px;
   font-weight: 300;
}

.footer-main .footer-copyright strong {
   color: #ffffff;
   font-weight: 500;
}

@media (max-width: 768px) {
   .footer-main {
      padding: 30px 15px;
   }

   .footer-main .footer-bottom-content {
      flex-direction: column;
      gap: 15px;
      text-align: center;
   }
}
/* Footer end */


.hero-slider .psukcssfe_custom-swiper-slider {
   position: relative;
   height: 80vh;
   min-height: 600px;
}

.hero-slider .swiper {
   width: 100%;
   height: 100%;
}

.hero-slider .swiper-slide {
   position: relative;
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
}

.hero-slider .slide-bg {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

.hero-slider .slide-content {
   position: relative;
   height: 100%;
   display: flex;
   flex-direction: column;
   text-align: center;
   padding: 20px;
   z-index: 2;
}

.hero-slider .logo-wrapper {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 20px;
   margin-bottom: 20px;
}

.hero-slider .slide-description {
   max-width: 1100px;
   margin: 0px auto 0;
   font-size: 20px;
   line-height: 1.8;
   color: #fff;
   font-weight: 400;
}

.hero-slider .event-date-location {
   position: absolute;
   bottom: 50px;
   left: 50px;
   z-index: 3;
}

.hero-slider .event-date-location .event-date-info {
   background: #FFF;
   padding: 10px 10px;
}

.hero-slider .event-date {
   font-size: 48px;
   font-weight: 800;
   line-height: 0.9;
   color: #000;
   margin: 0;
   font-family: 'Montserrat', sans-serif;
}

.hero-slider .event-month {
   font-size: 32px;
   font-weight: 800;
   color: #000;
   margin: 0;
   line-height: 0.9;
   font-family: 'Montserrat', sans-serif;
}

.hero-slider .event-year {
   font-size: 32px;
   font-weight: 800;
   color: #000;
   margin: 0;
   line-height: 0.9;
   font-family: 'Montserrat', sans-serif;
}

.hero-slider .event-location {
   margin-top: 10px;
   font-size: 16px;
   font-weight: 600;
   color: #fff;
   line-height: 1.3;
   display: flex;
   align-items: end;
   margin-left: 10px;
}

.hero-slider .swiper-button-next,
.hero-slider .swiper-button-prev {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   background: #63006A;
   color: #fff;
}

.hero-slider .swiper-button-next svg,
.hero-slider .swiper-button-prev svg {
   width: 14px;
   fill: #fff;
 }

.hero-slider .swiper-button-next:after,
.hero-slider .swiper-button-prev:after {
   font-size: 16px;
   font-weight: bold;
}

.hero-slider .swiper-button-prev {
   left: 30px;
}

.hero-slider .swiper-button-next {
   right: 30px;
}

.hero-slider .swiper-button-prev svg,
.hero-slider .swiper-button-next svg {
	position: relative;
}

.hero-slider .swiper-button-next:hover,
.hero-slider .swiper-button-prev:hover {
   background: #FE080D;
}

/* Tablet Styles */
@media (max-width: 1100px) {
   .hero-slider .slide-description {
      font-size: 28px;
   }

   .hero-slider .slide-content {
      padding: 90px;
   }
}

@media (max-width: 991px) {
   /*.hero-slider {
      min-height: 500px;
   }*/

   .hero-slider .slide-content {
      padding: 20px;
   }

   .hero-slider .slide-description {
      font-size: 20px;
      margin-top: 40px;
      padding: 0 70px;
   }

   .hero-slider .event-date-location {
      bottom: 40px;
      left: 40px;
      padding: 15px 25px;
   }

   .hero-slider .event-date {
      font-size: 40px;
   }

   .hero-slider .event-month,
   .hero-slider .event-year {
      font-size: 28px;
   }

   .hero-slider .swiper-button-next,
   .hero-slider .swiper-button-prev {
      width: 50px;
      height: 50px;
   }

   .hero-slider .swiper-button-next:after,
   .hero-slider .swiper-button-prev:after {
      font-size: 18px;
   }
}

/* Mobile Styles */
@media (max-width: 767px) {
   .hero-slider .psukcssfe_custom-swiper-slider {
      max-height: 70vh;
   }

   .hero-slider .logo-wrapper {
      flex-direction: column;
      gap: 15px;
   }

   .hero-slider .logo-wrapper img {
      width: 350px;
   }

   .hero-slider .slide-description {
      font-size: 16px;
      line-height: 1.6;
      margin-top: 0px;
      padding: 0 40px;
   }

   .hero-slider .event-date-location {
      bottom: 10px;
      left: 5px;
      padding: 12px 20px;
   }

   .hero-slider .event-date {
      font-size: 32px;
   }

   .hero-slider .event-month,
   .hero-slider .event-year {
      font-size: 22px;
   }

   .hero-slider .event-location {
      font-size: 14px;
   }

   .hero-slider .swiper-button-next,
   .hero-slider .swiper-button-prev {
      width: 40px;
      height: 40px;
   }

   .hero-slider .swiper-button-prev {
      left: 15px;
   }

   .hero-slider .swiper-button-next {
      right: 15px;
   }

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

@media (max-width: 480px) {
   .hero-slider .slide-description {
      font-size: 14px;
   }
}
/* hero slider end */

/* event slider */
.eventsSlider {
   padding-left: 0px;
   padding-right: 0px;
}

.eventsSlider .psukcssfe_custom-swiper-slider {
   position: relative;
   width: 100%;
   padding: 0 80px;
   height: 60vh;
}

.eventsSlider .swiper {
   width: 100%;
   height: 100%;
}

.eventsSlider .swiper-wrapper {
   display: flex;
   align-items: center;
}

.eventsSlider .swiper-slide {
   scale: 1.25;
   transition: scale 250ms ease-in-out;
   height: auto;
}

.eventsSlider .swiper-slide.swiper-slide-active {
   scale: 2;
   z-index: 10;
}

.eventsSlider .swiper-slide.swiper-slide-prev,
.eventsSlider .swiper-slide.swiper-slide-next {
   scale: 1.7;
   z-index: 5;
   transition-duration: 150ms;
}

/* Buttons placed OUTSIDE */
.eventsSlider .swiper-button-next,
.eventsSlider .swiper-button-prev {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   background: #63006A;
   color: #fff;
}

.eventsSlider .swiper-button-next svg, 
.eventsSlider .swiper-button-prev svg {
   width: 14px;
   fill: #fff;
	position: relative;
}

.eventsSlider .swiper-button-prev {
   left: 10px;
}

.eventsSlider .swiper-button-next {
   right: 10px;
}

.eventsSlider .swiper-button-next:hover,
.eventsSlider .swiper-button-prev:hover {
   background-color: #FE080D;
}

.eventsSlider .swiper-button-next::after,
.eventsSlider .swiper-button-prev::after {
   font-size: 16px;
   font-weight: bold;
}

.eventsSlider .card-wrapper {
   background: white;
   border-radius: 32px;
   padding: 15px;
   box-shadow: 0 1px 5px rgba(0, 0, 0, 0.08);
   transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   opacity: 1;
   transform: scale(0.88) translateY(10px);
   position: relative;
}

.eventsSlider .swiper-slide-prev .card-wrapper,
.eventsSlider .swiper-slide-next .card-wrapper {
   opacity: 1;
   transform: scale(0.90) translateY(5px);
}

.eventsSlider .swiper-slide-active .card-wrapper {
   background-color: #781DA8;
   color: white;
   opacity: 1;
   transform: scale(1) translateY(0);
   box-shadow: 0 1px 5px rgba(0, 0, 0, 0.45);
   z-index: 10;
}
        
.eventsSlider .card-icon-active,
.eventsSlider .card-icon-none {
   margin-bottom: 15px;
   display: flex;
   align-items: center;
   justify-content: center;
   position: relative;
}

.eventsSlider .swiper-slide .card-icon-active {
   display: none;
}

.eventsSlider .swiper-slide.swiper-slide-active .card-icon-none {
   display: none
}

.eventsSlider .swiper-slide.swiper-slide-active .card-icon-active {
   display: block;
}

.eventsSlider .card-title {
   font-size: 16px;
   font-weight: 700;
   margin-bottom: 22px;
   color: #2c2c2c;
   letter-spacing: -0.3px;
}

.eventsSlider .swiper-slide-active .card-title {
   color: #D4D2D8;
}

.eventsSlider .card-description {
   font-size: 8px;
   line-height: 1.65;
   margin-bottom: 30px;
   color: #5a5a5a;
   font-weight: 400;
}

.eventsSlider .swiper-slide-active .card-description {
   color: #BD9FD1;
}

.eventsSlider .view-more-btn {
   background: transparent;
   border: none;
   color: #4A4A4A;
   font-size: 8px;
   font-weight: 600;
   cursor: pointer;
   display: inline-flex;
   align-items: center;
   gap: 8px;
   transition: transform 0.3s ease;
   text-decoration: none;
   display: block;
   line-height: 0.5rem;
}

.eventsSlider .swiper-slide-active .view-more-btn {
   color: #ffffff;
}
        
.eventsSlider .view-more-btn:hover {
   transform: translateY(-2px);
}

.eventsSlider .view-more-btn .arrow {
   display: block;
}

.eventsSlider .view-more-btn .arrow {
   color: #3EE5F2;
}

.eventsSlider .swiper-slide-active .view-more-btn .arrow {
   color: #E61EA6;
}

@media (max-width: 1400px) { 
   .eventsSlider .psukcssfe_custom-swiper-slider {
      height: 70vh;
   }
}

@media (max-width: 1100px) { 
   .eventsSlider .psukcssfe_custom-swiper-slider {
      height: 60vh;
   }
}

@media (max-width: 991px) { 
   .eventsSlider .psukcssfe_custom-swiper-slider {
      padding: 0 70px;
      height: 60vh;
   }

   .eventsSlider .card-wrapper {
      padding: 20px 15px;
   }

   .eventsSlider .card-title {
      margin-bottom: 10px;
   }
}

@media (max-width: 767px) { 
   .eventsSlider .psukcssfe_custom-swiper-slider {
      padding: 0 60px;
      height: 45vh;
   }

   .eventsSlider .card-wrapper {
      background: transparent;
      box-shadow: none;
   }

   .eventsSlider .swiper-slide.swiper-slide-active {
      scale: 1;
   }

   .eventsSlider .card-title {
      font-size: 18px;
      margin-bottom: 22px;
   }

   .eventsSlider .card-description {
      font-size: 12px;
   }

   .eventsSlider .view-more-btn {
      font-size: 12px;
      line-height: 0.9rem;
   }
}
/* event slider end */


.post-card {
   border-radius: 0;
   transition: transform 0.3s ease;
}

.post-card:hover {
   transform: translateY(-5px);
}

.post-image-wrapper {
   position: relative;
}

.post-card img {
   transition: transform 0.3s ease;
}

.post-card:hover img {
   transform: scale(1.05);
}

.post-title {
   text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
   line-height: 1.2;
}

@media (max-width: 768px) {
   .post-image-wrapper {
      height: 300px !important;
   }
    
   .post-title {
      font-size: 1.25rem !important;
   }
}
