@charset "utf-8";
/* CSS Document */

/* @import url('https://fonts.googleapis.com/css?family=Montserrat&display=swap'); */


:root{
	/* ---- brand palette ------------------------------------------------ */
	--brand-orange:#E60101;   /* footer colour 1 (client approved) */
	--brand-yellow:#FFFF5C;   /* footer colour 2 (client approved) */
	--ink:#4a2000;

	--color1:#FFFF5C;
	--color2:#E60101;
	--color3:#E60101;

	/* ---- fixed header height (kept in sync by js/custom.js) ----------- */
	--header-h:88px;

	/* ---- typography (client: Times New Roman across the whole site) --- */
	--font-body:'Times New Roman', Times, 'Liberation Serif', 'Nimbus Roman', 'Tinos', serif;
	--font-deva:'Nirmala UI', 'Noto Serif Devanagari', 'Mangal', 'Times New Roman', serif;
}


/** BASIC CSS **/

* { 
	margin: 0; 
	padding: 0; 
	border:none; 
	outline:none;
	-webkit-box-sizing: border-box; 
	-moz-box-sizing: border-box; 
	-o-box-sizing: border-box;
	box-sizing: border-box;	}
	

html, body{
	height:auto;
	min-height: 100vh;
	max-width:100%;
	min-width:100%;
	background:#ffffff;
	font-family: var(--font-body);
	font-size:14px;
	line-height:18px; 
	color:#000;
	font-weight:normal;
	font-style:normal;
	overflow-x:clip;}
	
p {
	font-size: 15px;
	color: #595959;
	line-height: 23px;
	font-weight: 400;}
	
h1,h2,h3,h4,h5,h6{
     margin:0;
	 color:#1b1b1b;}

a {
	text-decoration:none;
	outline: none;
	color: #4b5460;}
	
:focus { 
	outline: none; }
	
a:focus {
	outline: none;}
	
a:hover, a:focus {
	color: var(--color2);
	text-decoration: none;}
		
hr{
	background:#e3e3e3;
	border-top:1px solid #333;}
	
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;}
	
::selection {
	text-shadow: none;
	background:  var(--color2);
	color: #fff;}
	
::-moz-selection {
 text-shadow: none;
 background:  var(--color2);
 color:#fff;}
 
a, input, select, textarea, img {
	transition: all 0.5s;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	transition: all 0.5s;}
		
.clearfix {
	clear: both;
	font-size: 0;
	line-height: 0;
	margin: 0;
	padding: 0;}
			
.hidden{ 
	display: none !important;}
	
.show{ 
	display: block !important;}
	
.floatl{ 
	float: left;}
	
.floatr{
	float: right;}
	
.nopad{
	padding:0 !important;}

.nopadl{
	padding-left:0;}
	
.nopadr{
	padding-right:0;}
	
.btn:focus,button:focus,.form-control:focus{
	outline:0;
	box-shadow:0 0 0 0 transparent;
}
img{
	max-width: 100%;
}	

/** BASIC CSS END HERE **/ 
/* ======================= HEADER / NAVBAR (all pages) ==================== */
/* .navbar{
	background:#fff;
	padding:8px 0;
	min-height:var(--header-h);
	border-bottom:3px solid var(--brand-orange);
	box-shadow:inset 0 7px 18px -8px #FFFF5C,
	            0 7px 20px rgba(255,255,92,.95),
	            0 3px 10px rgba(214,83,2,.10);
} */
.navbar{
background: transparent;
  padding: 8px 0;
  min-height: var(--header-h);
  /* border-bottom: 3px solid var(--brand-orange); */
  background-image: linear-gradient(180deg, #FFFF5C 0%, #FFFF5C 0%, rgba(255,255,92,.55) 100%, rgba(255,255,92,0) 100%);
}
body:not(.has-hero) .navbar.is-scrolled {
  background-image: linear-gradient(180deg, #FFFF5C 0%, #FFFF5C 58%, rgba(255,255,92,.55) 82%, rgba(255,255,92,0) 100%);
}
.navbar > .container{
	display:flex;
	flex-wrap:nowrap;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	max-width: 90%;
	padding-inline: 0;
}
.navbar-brand{
	display:flex;
	align-items:center;
	gap:12px;
	margin:0;
	padding:0;
	min-width:0;
	flex:0 1 auto;
}
.navbar-brand img{
	flex:0 0 auto;
	width:auto;
	height:62px;
	max-height:62px;
	object-fit:contain;
	transition:height .25s ease;
}
.brand_text{
	display:block;
	min-width:0;
	font-size:clamp(15px, 1.85vw, 30px);
	font-weight:700;
	letter-spacing:.4px;
	line-height:1.1;
	text-transform:uppercase;
	color:var(--brand-orange);
	white-space:nowrap;
	overflow:hidden;
}
.nav_right{
	display:flex;
	align-items:center;
	gap:10px;
	flex:0 0 auto;
}
.nav_top_link{
	font-size:15px;
	font-weight:600;
	color:#1b1b1b;
	padding:8px 10px;
	white-space:nowrap;
}
.nav_top_link:hover,
.nav_top_link:focus{
	color:var(--color2);
}
.btn_donate{
	white-space:nowrap;
}
.menu_btn{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	padding:0;
	font-size:19px;
	line-height:1;
}

/* ---- slide-in menu ----------------------------------------------------- */
.offcanvas{
	max-width:88%;
	width:320px;
}
.offcanvas .list-group-item{
	padding:0;
	border-color:#eee;
}
.offcanvas .nav-link{
	display:block;
	font-size:15px;
	font-weight:600;
	color:#1b1b1b;
	padding:12px 18px !important;
}
.offcanvas .nav-link:hover,
.offcanvas .nav-link:focus{
	background:#fff4e6;
	color:var(--brand-orange);
}
.offcanvas .nav-link.active{
	background:var(--brand-orange);
	color:#fff;
}

/* ============================== HERO BANNER ============================== */
main{
	margin-top:var(--header-h);
}
.bannerslide{
	margin-top:var(--header-h);
}
/* full banner image - never cropped, on any screen size */
.bannerslide img{
	display:block;
	width:100%;
	height:auto;
}
.hero{
	background:#FAB003;
	overflow:hidden;
	height:100vh;
}
.hero img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover
}

.owl-nav button {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    margin: auto;
    font-size: 26px !important;
    background: #333333b5 !important;
    color: #fff !important;
	border-radius: 50%;
}
.owl-nav .owl-prev{
	left: -50px;
}
.owl-nav .owl-next{
	right: -50px;
}
.bannerslide .owl-nav .owl-prev{
	left: 30px;
}
.bannerslide .owl-nav .owl-next{
	right: 30px;
}
.cont_overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 55px;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: right;
  padding: 20px;
}
.baner_content{
	max-width: 640px;
    text-align: center;
    background: #00000000;
    border-radius: 20px 0 20px 0;
    padding: 2rem;
}
.baner_content h1{
	font-size: 90px;
    font-weight: bold;
    color: #db0000;;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.baner_content p{
	color: #fff;
    font-size: 18px;
	margin-bottom: 0;
}
.section_title{
	color: #000;
    margin-bottom: 15px;
	letter-spacing: 1px;
}
.section_title span{
	color: var(--color2);
	font-weight: bold;
}
.bg-theme{
	background-color: var(--color1);
	background-image: url('../images/depositphotos.jpg');
}
.card_dk {
    background: #fff;
    width: 100%;
	border-radius: 10px;
	overflow: hidden;
}
.card_dk img{
	width: 100%;
	height: 350px;
    object-fit: cover;
    object-position: center center;
	background: #d3d3d3;
}
.card_body {
    padding: 14px;
}
.card_body h2 {
    font-size: 23px;
    color: #000;
    margin-bottom: 11px;
}
.devi_slider .owl-nav .owl-prev{
	left: 30px;
}
.devi_slider .owl-nav .owl-next{
	right: 30px;
}
.btn {
    padding: 9px 23px;
    font-size: 16px;
}
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--color2);
    --bs-btn-border-color: var(--color2);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color3);
    --bs-btn-hover-border-color: var(--color3);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color3);
    --bs-btn-active-border-color: var(--color3);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--color2);
    --bs-btn-disabled-border-color: var(--color2);
}
.btn-primary:hover {
    color: #fff;
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
}
.bg-primary{
	background-color: var(--color2) !important;
}

.testimonials .testi .item {
	background: #fff;
	padding: 50px 30px;
	border-radius: 15px;
  }
  .testimonials .testi .item .profile {
	display: flex;
	padding-left: 15px;
  }
  .testimonials .testi .item .profile img {
	border-radius: 100%;
	width: 50px;
	height: 50px;
	object-fit: cover;
  }
  .testimonials .testi .item .profile .information {
	padding-left: 20px;
	margin-bottom: 15px;
  }
  .testimonials .testi .item .profile .information .stars i {
	color: #ffd832;
  }
  .testimonials .testi .item .profile .information p {
	font-size: 24px;
	margin: 0px auto 0px;
	color: #5a3733;
	font-weight: 900;
	line-height: 1;
  }
  .testimonials .testi .item .profile .information span {
	color: #eb6d2f;
	font-weight: bold;
	margin-top: -4px;
	line-height: 1.6em;
	font-size: 14px;
  }
  .testimonials .testi .item > p {
	margin-bottom: 15px;
	font-size: 16px;
	line-height: 1.6em;
	display: block;
	z-index: 2;
	font-style: italic;
	color: #5a3733;
	text-align: center;
  }
  .testimonials .testi .item .icon {
	text-align: center;
  }
  .testimonials .testi .item .icon i {
	font-size: 32px;
	color: #ffd832;
  }

  .footer_top {
    background: #4A2000;
    padding: 30px 0 24px;
	color: #afafaf;
}
  .footer_top p{
	color: #afafaf;
  }
  .footer_top h3{
    color: var(--color1);
    margin-bottom: 20px;
	font-size: 25px;
  }
  .footer_top h3 a{
    color: var(--color1);
  }
  .f_link{
	list-style: none;
	padding: 0;
  }
  .f_link li{
	margin-bottom: 10px;
  }  
  .f_link li a{
	color: #afafaf;
  }
  .f_link li a:hover{
	color: var(--color2);
  }
  .social{
	margin: 20px 0 0 0;
  }
 .social a{
	padding: 0 2px;
  }
.social a span{
	height: 40px;
	width: 40px;
	background: #1a1a1a;
	color: #a7a7a7;
	line-height: 40px;
	text-align: center;
	font-size: 18px;
	border-radius: 5px;
	transition: 0.3s;
  }
  .social a span:hover{
	background: var(--color3);
	color: #e2e2e2;
  }
  .contact_info {
    margin-top: 15px;
}
  .contact_info i.fa{
    font-size: 1.2375rem;
    background: #1a1a1a;
    height: 35px;
    width: 35px;
    line-height: 35px;
	text-align: center;
	border-radius: 50%;
	transition: 0.3s;
	cursor: pointer;
  }
  .contact_info  i.fa:hover{
	background: #f12020;
  }
  .contact_info  .text{
	font-size: 1.0625rem;
	font-weight: 500;
	padding-left: 10px;
  }
  .contact_info  .phone{
	margin: 15px 0;
  }
  .footer_bottom {
    background: var(--color2);
    color: #fff;
    padding: 8px;
}
.footer_bottom p,.footer_bottom p a{
    color: #fff;
}
.devider{
	margin: 16px 0;
	background: var(--brand-orange);
	height: 2px;
}
.soclmedia_floating {
    position: fixed;
    bottom: 90px;
    right: 10px;
    z-index: 999;
    width: 30px;
    height: 170px;
}
.soclmedia_floating a{
	width: 33px;
    height: 33px;
    display: block;
    border: 1px solid #fff;
    color: #fff;
    background: var(--color2);
    text-align: center;
    line-height: 2;
    font-size: 17px;
    border-radius: 50%;
    margin: 5px auto;
    box-shadow: 0px 2px 10px #0000008f;
}
.soclmedia_floating a:hover{
    color: #fff;
    background: var(--color3);
}
.cl li{
    margin: 0;
}
h3.cl {
    margin: 0;
}
/* ======================================================================== */
/*  FOOTER SITEMAP - flat 2-colour scheme, no gradients                     */
/*  #D65302 (headings)  +  #FFFF5C (links)                                  */
/* ======================================================================== */
.sitemap_title{
	color:#fff !important;
	font-size:18px;
	font-weight:700;
	letter-spacing:1px;
	text-transform:uppercase;
	margin-bottom:14px;
	padding-bottom:8px;
	border-bottom:2px solid var(--brand-orange);
}
.fcard{
	border-radius:6px;
	overflow:hidden;
	background:var(--brand-yellow);
}
.footer_top .fcard h3{
	margin:0;
}
.footer_top .fcard .fcard_toggle{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	width:100%;
	margin:0;
	border:0;
	padding:8px 12px;
	background:var(--brand-orange);
	color:#fff;
	font-family:inherit;
	font-size:13.5px;
	font-weight:700;
	letter-spacing:.4px;
	text-transform:uppercase;
	line-height:1.3;
	text-align:left;
	cursor:default;
	pointer-events:none;
}
.footer_top .fcard .fcard_toggle i{
	display:none;
	font-size:13px;
	transition:transform .25s ease;
}
/* sitemap cards stay fully expanded from tablet width up; only phones get the dropdown behaviour (see responsive.css) */
.footer_top .fcard .collapse{
	display:block;
}
.footer_top .fcard .f_link{
	margin:0;
	padding:0;
	list-style:none;
	background:var(--brand-yellow);
}
.footer_top .fcard .f_link li{
	margin:0;
	border-top:1px solid rgba(214, 83, 2, .25);
}
.footer_top .fcard .f_link li:first-child{
	border-top:0;
}
.footer_top .fcard .f_link li a{
	display:block;
	padding:6px 12px;
	color:var(--ink);
	font-size:13.5px;
	font-weight:600;
	line-height:1.4;
	transition:background .2s ease, color .2s ease;
}
.footer_top .fcard .f_link li a:hover,
.footer_top .fcard .f_link li a:focus{
	background:var(--brand-orange);
	color:#fff;
}
/* keep every card in a column the same width on tall screens */
.sitemap > [class*="col-"]{
	display:flex;
	flex-direction:column;
}

/* ---- footer brand ------------------------------------------------------ */
.footer_brand{
	display:flex;
	align-items:center;
	gap:14px;
	margin-bottom:18px;
}
.f_logo{
	flex:0 0 auto;
	width:auto;
	height:74px;
	max-width:100%;
	margin:0;
}
.footer_brand_text{
	display:block;
	min-width:0;
	font-size:clamp(16px, 2.1vw, 26px);
	font-weight:700;
	letter-spacing:.4px;
	line-height:1.15;
	text-transform:uppercase;
	color:var(--brand-yellow);
}

/* ------------------------------------------------------------------------------------------------------------- */
.innerbar {
    background: #e60101;
    text-align: center;
    padding: 10px 15px 10px;
	background-image: linear-gradient(180deg, #FFFF 0%, rgba(255, 255, 92, .55) 0%, #e60101 100%, #e60101 100%);
}
.innerbar h1 {
    margin: 0;
}
.puja-hero-banner {
    display: block;
    width: 100%;
    height: auto;
    border-bottom: 3px solid var(--brand-orange);
}

.breadcrumb-nav {
    width: 100%;
    background:#f7f7f7;
    border-bottom:1px solid #eee;
}
.breadcrumb-nav .container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 12px;
    padding-bottom: 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    box-sizing: border-box;
}
.breadcrumb-nav a,
.breadcrumb-nav .current {
    color: #171717;
    text-decoration: none;
}
.breadcrumb-nav a:hover,
.breadcrumb-nav a:focus {
    color: var(--brand-orange);
}
.breadcrumb-nav .sep {
    color: var(--brand-orange);
    font-size: 16px;
    line-height: 1;
}
.breadcrumb-nav .current {
    color: var(--brand-orange);
}
.box {
	border-radius: 50px;
	background:#ebebeb;
	position:relative;
	overflow: hidden;
	text-align:center;
}
.box:before {
    position: absolute;
    content: '';
    left: 0px;
    top: 0px;
    width: 0px;
    height: 100%;
    border-radius: 50px;
    box-shadow: inset 0 0 25px rgba(0,0,0,0.30);
    transition: all 0.3s ease;
    background-image: linear-gradient(to right, var(--color2) 0%, var(--color1) 100%);
}
.box:hover:before {
    width: 100%;
}
.box:hover .image-wrapper {
	padding:0;
}
.box:hover .box-desc {
	color:#fff;
}
.box:hover .social li a {
	background:#fff;
	background-image: none;
	color:#000;
}
.box:hover .social li a:hover {
	background:#1d1d1d;
	color:#fff;
}
.box:hover h5,.box:hover p{
	color:#fff;
}
.image-wrapper {
    position: relative;
	max-width: 210px;
    max-height: 210px;
	margin:0 auto;
    overflow: hidden;
    border-radius: 50%;
    padding: 15px;
    transition: all 0.5s ease;
    box-shadow: inset 0px 0px 20px rgba(0,0,0,0.20);
}
.image-wrapper img {
    border-radius: 50%;
    transition: all 500ms ease;
}
.box-desc {
	position:relative;
}
ul.social {
	padding:0;
}
ul.social li {
	display:inline-block;
	list-style-type:none;
}
ul.social li a {
	position:relative;
	width: 36px;
    height: 36px;
	background-image: linear-gradient(to right, var(--color2) 0%, var(--color1) 100%);
	display:inline-block;
	line-height:36px;
	border-radius:50%;
	color:#fff;
	transition: all .5s ease;
	text-align: center;
    font-size: 20px;
}
.glryimg{
	width: 100%;
	height: 280px;
	object-fit: cover;
	object-position: center center;
}

/* ---- gallery hover overlay (Symposiums / On Tours / Felicitations) ----- */
.glry_item{
	position:relative;
	display:block;
	overflow:hidden;
	border-radius:8px;
}
.glry_item .glryimg{
	display:block;
	transition:transform .45s ease;
}
.glry_item:hover .glryimg,
.glry_item:focus .glryimg{
	transform:scale(1.08);
}
.glry_overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.88) 100%);
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	padding:16px;
	opacity:0;
	transform:translateY(12px);
	transition:opacity .3s ease, transform .3s ease;
}
.glry_item:hover .glry_overlay,
.glry_item:focus .glry_overlay{
	opacity:1;
	transform:translateY(0);
}
.glry_overlay h3{
	color:#fff;
	font-size:16px;
	font-weight:700;
	line-height:1.3;
	margin-bottom:4px;
}
.glry_overlay p{
	color:#f0e6d2;
	font-size:12.5px;
	line-height:1.5;
	margin:0;
}


.accordion {
    display: flex;
    flex-direction: column;
    font-family: var(--font-body);
    max-width: 991px;
    min-width: 320px;
    margin: 50px auto;
    padding: 0 50px;
}
.accordion h1 {
    font-size: 32px;
    text-align: center;
}
.accordion-item {
    margin-top: 16px;
    border: 1px solid #fcfcfc;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
}
.accordion-item .accordion-item-title {
    position: relative;
    margin: 0;
    display: flex;
    width: 100%;
    font-size: 16px;
	font-weight: bold;
    cursor: pointer;
    justify-content: space-between;
    flex-direction: row-reverse;
    padding: 14px 20px;
    box-sizing: border-box;
    align-items: center;
}
.accordion-item .accordion-item-desc {
    display: none;
    font-size: 14px;
    line-height: 22px;
    font-weight: 300;
    color: #444;
    border-top: 1px dashed #ddd;
    padding: 10px 20px 20px;
    box-sizing: border-box;
}
.accordion-item input[type="checkbox"] {
    position: absolute;
    height: 0;
    width: 0;
    opacity: 0;
}
.accordion-item input[type="checkbox"]:checked ~ .accordion-item-desc {
    display: block;
}
.accordion-item
    input[type="checkbox"]:checked
    ~ .accordion-item-title
    .icon:after {
    content: "-";
    font-size: 20px;
}
.accordion-item input[type="checkbox"] ~ .accordion-item-title .icon:after {
    content: "+";
    font-size: 20px;
}
.accordion-item:first-child {
    margin-top: 0;
}
.accordion-item .icon {
    margin-left: 14px;
}

@media screen and (max-width: 767px) {
    .accordion {
        padding: 0 16px;
    }
    .accordion h1 {
        font-size: 22px;
    }
}


.form_content {
    background: #ffffff;
    padding-bottom: 20px;
    border-radius: 0;
}
.form_content label{
	font-weight: 700;
	color: var(--ink);
	margin-bottom: 4px;
	display: inline-block;
}
.form_content .form-control{
	border: 1.5px solid #2b2b2b;
	border-radius: 6px;
	padding: 10px 14px;
	background: #fff;
	color: #1b1b1b;
}
.form_content .form-control:focus{
	border-color: var(--brand-orange);
	box-shadow: 0 0 0 3px rgba(230,1,1,.12);
}
.form_content .form-control::placeholder{
	color: #8a8a8a;
}
.form_content .form-check-input{
	width: 1.1em;
	height: 1.1em;
	border: 1.5px solid #2b2b2b;
	margin-top: 0.2em;
}
.form_content .form-check-input:checked{
	background-color: var(--brand-orange);
	border-color: var(--brand-orange);
}
.form_content .form-check-label{
	color: #333;
	font-weight: 400;
}

.contact-info-item {
	display: flex;
	margin-bottom: 30px;
  }
.contact-info-icon {
	height: 70px;
	min-width: 70px;
	background-color: var(--color1);
	text-align: center;
	border-radius: 50%;
  }
  
  .contact-info-icon i {
	font-size: 30px;
	line-height: 70px;
	color: var(--color3);
  }
  .contact-info-icon .fa-mobile{
	font-size: 40px;
  }
  .contact-info-icon .fa-envelope{
	font-size: 25px;
  }
  
  .contact-info-content {
	margin-left: 20px;
  }
  
  .contact-info-content h4 {
	color: var(--color2);
	font-size: 1.4em;
	margin-bottom: 5px;
  }
  
  .contact-info-content p {
	color: #000000;
	font-size: 1em;
  }
  
  .contact-form {
	background-color: #fff;
	padding: 40px;
	width: 100%;
	padding-bottom: 20px;
	padding-top: 20px;
  }
  
  .contact-form h2 {
	font-weight: bold;
	font-size: 2em;
	margin-bottom: 10px;
	color: #333;
  }
  
  .contact-form .input-box {
	position: relative;
	width: 100%;
	margin-top: 10px;
  }
  
  .contact-form .input-box input,
  .contact-form .input-box textarea{
	width: 100%;
	padding: 5px 0;
	font-size: 16px;
	margin: 10px 0;
	border: none;
	border-bottom: 2px solid #333;
	outline: none;
	resize: none;
  }
  
  .contact-form .input-box span {
	position: absolute;
	left: 0;
	padding: 5px 0;
	font-size: 16px;
	margin: 10px 0;
	pointer-events: none;
	transition: 0.5s;
	color: #666;
  }
  
  .contact-form .input-box input:focus ~ span,
  .contact-form .input-box textarea:focus ~ span{
	color: #e91e63;
	font-size: 12px;
	transform: translateY(-20px);
  }
  
  .contact-form .input-box input[type="submit"]
  {
	width: 100%;
	background: var(--color2);
	color: #FFF;
	border: none;
	cursor: pointer;
	padding: 10px;
	font-size: 18px;
	border: 1px solid var(--color2);
	transition: 0.5s;
  }
  
  .contact-form .input-box input[type="submit"]:hover
  {
	background: #FFF;
	color: var(--color3);
  }

/* ======================================================================== */
/*  FLUID TYPE + SHARED RESPONSIVE HELPERS                                  */
/* ======================================================================== */
img,
video,
iframe{
	max-width:100%;
}
.container,
.container-fluid{
	padding-left:15px;
	padding-right:15px;
}

/* hero caption scales with the viewport so it never overflows the banner */
.baner_content{
	max-width:min(640px, 78%);
	padding:clamp(.7rem, 1.9vw, 2rem);
}
.baner_content h1{
	font-size:clamp(15px, 2.60vw, 52px);
	line-height:1.25;
	margin-bottom:clamp(6px, .9vw, 20px);
}
.baner_content p{
	font-size:clamp(11px, 1.1vw, 18px);
	line-height:1.5;
}

.section_title{
	font-size:clamp(22px, 2.4vw, 36px);
	line-height:1.3;
}
/* .innerbar{
	padding:clamp(14px, 2vw, 24px) 15px;
} */
.innerbar h1{
	font-size:clamp(22px, 3vw, 38px);
	line-height:1.3;
	word-break:break-word;
	color: #ffffff;
}
.card_body h2{
	font-size:clamp(18px, 1.5vw, 23px);
}

/* sticky side column sits just under the fixed header */
.sticky-position{
	position:sticky;
	top:calc(var(--header-h) + 20px);
}

/* ---- footer contact block --------------------------------------------- */
.footer_bottom{
	background:var(--brand-orange);
}
.contact_info .place,
.contact_info .phone,
.contact_info .whatsapp,
.contact_info .email{
	display:flex;
	align-items:flex-start;
	gap:10px;
}
.contact_info i.fa{
	flex:0 0 35px;
}
.contact_info .text{
	padding-left:0;
	word-break:break-word;
	overflow-wrap:anywhere;
	line-height:1.5;
	color:#afafaf;
}
a.text:hover,
a.text:focus{
	color:var(--brand-yellow);
}
.social a span{
	display:inline-block;
}

/* ---- gallery / carousel ------------------------------------------------ */
.owl-carousel .item img{
	max-width:100%;
}
.devi_slider .owl-nav button,
.testi .owl-nav button{
	z-index:2;
}
.testimonials .testi .item{
	height:270px;
}

/* ======================================================================== */
/*  CLIENT ROUND 2  -  home page sections                                   */
/* ======================================================================== */

/* ---- 1. HERO TITLE - slides up from below and settles in place --------- */
.baner_content h1,
.baner_content p{
	font-family:var(--font-deva);
}
.hero_title{
	opacity:0;
	transform:translateY(45px);
}
body.pl_done .hero_title{
	animation:hero_rise .9s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes hero_rise{
	from{ opacity:0; transform:translateY(45px); }
	to{ opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion: reduce){
	.hero_title{ animation:none; opacity:1; transform:none; }
}

/* ---- service pages (Pujas / Homas) - image left, text right ------------ */
.svc_img{
	border-radius:16px;
	box-shadow:0 10px 28px -12px rgba(74,32,0,.35);
	height:300px;
	object-fit:cover;
	object-position:center center;
}
.svc_item_img{
	border-radius:16px;
	box-shadow:0 10px 28px -12px rgba(74,32,0,.35);
	height:280px;
	object-fit:cover;
	object-position:center center;
}
.svc_item{
	margin-top:40px;
	padding-top:40px;
	border-top:1px dashed rgb(230 1 1);
}
@media only screen and (max-width: 767.98px){
	.svc_img{ height:280px; }
	.svc_item_img{ height:220px; }
}

/* ---- 2. OUR MAHARAJ (same styling as Our Gallery) ---------------------- */
.maharaj_sec{
	background:#fdf7e8;
	min-height:100vh;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.maharaj_sec .container-fluid{
	width:100%;
}
.maharaj_slider .owl-nav .owl-prev{ left:30px; }
.maharaj_slider .owl-nav .owl-next{ right:30px; }
.maharaj_slider .card_dk{
	display:flex;
	flex-direction:column;
	box-shadow:0 6px 20px rgba(0,0,0,.08);
}

/* ---- 3. TESTIMONIALS - 4 cards per view -------------------------------- */
.testimonials .testi .item{
	padding:26px 20px 22px;
	display:flex;
	flex-direction:column;
}
.testimonials .testi .item .profile{
	padding-left:0;
}
.testimonials .testi .item .profile .information{
	padding-left:0;
	margin-bottom:12px;
}
.testimonials .testi .item .profile .information .stars i{
	font-size:13px;
}
.testimonials .testi .item .profile .information p{
	font-size:18px;
	font-weight:700;
	line-height:1.25;
	margin-top:5px;
}
.testimonials .testi .item .profile .information .place{
	display:block;
	font-size:13px;
	font-weight:400;
	color:#8a6a4a;
	font-style:normal;
}
.testimonials .testi .item > p{
	font-size:14.5px;
	line-height:1.65;
	text-align:left;
	flex:1 1 auto;
	margin-bottom:10px;
}
.testimonials .testi .item .icon i{
	font-size:24px;
}
.testi .owl-nav .owl-prev{ left:-18px; }
.testi .owl-nav .owl-next{ right:-18px; }

/* ---- 4. OUR DEVOTEES --------------------------------------------------- */
.devotees_sec{
	background:#fff;
}
.devotee_card{
	background:#fffdf6;
	border:1px solid #f0e0bb;
	border-radius:14px;
	padding:28px 18px 24px;
	text-align:center;
	height:100%;
	transition:transform .3s ease, box-shadow .3s ease;
}
.devotee_card:hover{
	transform:translateY(-5px);
	box-shadow:0 12px 28px rgba(214,83,2,.16);
}
.dev_avatar{
	width:86px;
	height:86px;
	margin:0 auto 15px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:31px;
	font-weight:700;
	color:#fff;
	background:var(--brand-orange);
	border:3px solid var(--brand-yellow);
	letter-spacing:1px;
}
.devotee_card:nth-child(even) .dev_avatar,
.devotees_slider .owl-item:nth-child(even) .dev_avatar{
	background:var(--brand-yellow);
	color:var(--ink);
	border-color:var(--brand-orange);
}
.devotee_card h3{
	font-size:19px;
	font-weight:700;
	line-height:1.3;
	margin-bottom:5px;
}
.dev_place{
	display:block;
	font-size:13.5px;
	color:#8a6a4a;
	margin-bottom:10px;
}
.dev_since{
	display:inline-block;
	font-size:12px;
	font-weight:700;
	letter-spacing:.5px;
	text-transform:uppercase;
	color:var(--brand-orange);
	background:#fff2cf;
	border-radius:20px;
	padding:4px 12px;
}
/* prev / next buttons - brand coloured and always clickable */
.devotees_slider .owl-nav button.owl-prev,
.devotees_slider .owl-nav button.owl-next{
	background:var(--brand-orange) !important;
	color:#fff !important;
	width:46px;
	height:46px;
	font-size:20px !important;
	opacity:1;
	box-shadow:0 4px 12px rgba(0,0,0,.2);
}
.devotees_slider .owl-nav button.owl-prev:hover,
.devotees_slider .owl-nav button.owl-next:hover{
	background:var(--brand-yellow) !important;
	color:var(--ink) !important;
}
.devotees_slider .owl-nav .owl-prev{ left:-20px; }
.devotees_slider .owl-nav .owl-next{ right:-20px; }

/* ---- 5. JOIN AND SERVE ------------------------------------------------- */
.join_serve{
	position:relative;
	background-color:#FDE10D;
	background-image:url('../images/join-serve-bg.jpg');
	background-size:cover;
	background-position: right;
	background-position:center center;
	background-repeat:no-repeat;
	min-height:100vh;
	display:flex;
	align-items:center;
}
.join_serve .section_title{
	margin-bottom:18px;
}
.join_serve p{
	font-size:16px;
	line-height:1.8;
	color:#5a4426;
}
.js_points{
	list-style:none;
	padding:0;
	margin:20px 0 26px;
}
.js_points li{
	position:relative;
	padding-left:30px;
	margin-bottom:11px;
	font-size:15.5px;
	line-height:1.6;
	color:#4a3a22;
	font-weight:600;
}
.js_points li i{
	position:absolute;
	left:0;
	top:2px;
	font-size:17px;
	color:var(--brand-orange);
}
.js_actions{
	display:none;
	flex-wrap:wrap;
	gap:12px;
}
.btn-brand2{
	background:var(--brand-yellow);
	border:1px solid var(--brand-yellow);
	color:var(--ink);
	font-weight:700;
}
.btn-brand2:hover,
.btn-brand2:focus{
	background:var(--brand-orange);
	border-color:var(--brand-orange);
	color:#fff;
}
.js_media{
	position:relative;
}
.js_media img{
	display:block;
	width:100%;
	height:auto;
	border-radius:16px;
	box-shadow:0 14px 34px rgba(0,0,0,.16);
}
/* shown only if images/join-serve-banner.png is not uploaded yet */
.js_placeholder{
	display:none;
}
.js_media.js_noimg .js_placeholder{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	gap:8px;
	min-height:320px;
	border:2px dashed var(--brand-orange);
	border-radius:16px;
	background:#fffdf6;
	padding:24px;
	color:var(--brand-orange);
}
.js_placeholder i{
	font-size:40px;
}
.js_placeholder span{
	font-size:16px;
	font-weight:700;
}
.js_placeholder small{
	font-size:13px;
	color:#8a6a4a;
}

/* ---- 6. FOOTER - plain (un-grouped) link column ------------------------ */
.footer_top .fcard_plain .f_link li:first-child{
	border-top:0;
}
.footer_top .fcard_plain .f_link li a{
	font-weight:600;
}

/* ---- carousels: nav buttons in the gutter, never on top of a card ------ */
.testi.owl-carousel,
.devotees_slider.owl-carousel{
	padding:0 58px;
}
.testi .owl-nav .owl-prev,
.devotees_slider .owl-nav .owl-prev{ left:0; }
.testi .owl-nav .owl-next,
.devotees_slider .owl-nav .owl-next{ right:0; }

/* ---- every card in a row ends at the same height ----------------------- */
.testi .owl-stage,
.devotees_slider .owl-stage,
.devi_slider .owl-stage,
.maharaj_slider .owl-stage{
	display:flex;
}
.testi .owl-item,
.devotees_slider .owl-item,
.devi_slider .owl-item,
.maharaj_slider .owl-item{
	display:flex;
	height:auto;
}
.testi .owl-item > .item,
.devotees_slider .owl-item > .item,
.devi_slider .owl-item > .item,
.maharaj_slider .owl-item > .item{
	width:100%;
	display:flex;
}
.devotees_slider .devotee_card,
.devi_slider .card_dk,
.maharaj_slider .card_dk{
	width:100%;
}
.devi_slider .card_dk,
.maharaj_slider .card_dk{
	display:flex;
	flex-direction:column;
}

.dev_avatar img {
  border-radius: 100%;
}
/* ======================================================================== */
/*  CLIENT ROUND 3                                                          */
/* ======================================================================== */

/* ---- 3. floating buttons: call + whatsapp only ------------------------- */
.soclmedia_floating{
	position:fixed;
	right:14px;
	bottom:20px;
	z-index:999;
	width:auto;
	height:auto;
	display:flex;
	flex-direction:column;
	gap:12px;
}
.soclmedia_floating a{
	width:54px;
	height:54px;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0;
	border:none;
	border-radius:50%;
	font-size:25px;
	line-height:1;
	color:#fff;
	box-shadow:0 4px 14px rgba(0,0,0,.30);
	transition:transform .2s ease, background .2s ease;
}
.soclmedia_floating a:hover{
	transform:scale(1.08);
	color:#fff;
}
.soclmedia_floating .flt_wa{ background:#25D366; }
.soclmedia_floating .flt_wa:hover{ background:#1da851; }
.soclmedia_floating .flt_call{ background:var(--brand-orange); position:relative; }
.soclmedia_floating .flt_call:hover{ background:#b34402; }

.soclmedia_floating .flt_call::after{
	content:attr(data-tooltip);
	position:absolute;
	right:64px;
	top:50%;
	transform:translateY(-50%) translateX(6px);
	background:#222;
	color:#fff;
	padding:6px 12px;
	border-radius:6px;
	font-size:14px;
	white-space:nowrap;
	box-shadow:0 2px 8px rgba(0,0,0,.25);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity .2s ease, transform .2s ease;
}
.soclmedia_floating .flt_call:hover::after{
	opacity:1;
	visibility:visible;
	transform:translateY(-50%) translateX(0);
}

/* ---- 6. Join and Serve sits on the banner image ------------------------ */
.join_serve .js_text{
	background:transparent;
	border-radius:16px;
}
.join_serve .section_title,
.join_serve p,
.js_points li{
	color:#4a2000;
}

/* ---- 9. sitemap: breathing room between the plain right-hand links ----- */
.footer_top .fcard_plain{
	background:transparent;
	border-radius:0;
	overflow:visible;
}
.footer_top .fcard_plain .f_link{
	background:transparent;
}
.footer_top .fcard_plain .f_link li{
	border-top:0;
	margin-bottom:4px;
}
.footer_top .fcard_plain .f_link li:last-child{
	margin-bottom:0;
}
.footer_top .fcard_plain .f_link li a{
	background:var(--brand-yellow);
	border-radius:6px;
}

/* ---- floating header: sits ON the hero, not above it -------------------- */
body.has-hero main{
	margin-top:0;
}
body.has-hero .navbar{
	background:transparent;
	background-image:linear-gradient(180deg, #FFFF5C 0%, #FFFF5CA3 35%, rgba(255, 255, 92, 0) 82%, rgba(255,255,92,0) 100%);
	border-bottom:0;
	box-shadow:none;
	transition:background-color .3s ease, box-shadow .3s ease;
}
body.has-hero .hero img{
	height:100%;
	object-position: top;
}
/* the brand still has to read against the banner behind it */
body.has-hero .navbar .brand_text{
	text-shadow:0 1px 3px rgba(255,255,255,.55); 	
}
/* as soon as the page is scrolled the bar turns solid again */
body.has-hero .navbar.nav_solid{
	background-color:#fff !important;
	background-image:none !important;
	border-bottom:3px solid #E60101 !important;
	box-shadow:0 4px 16px rgba(0,0,0,.13) !important;
}
body.has-hero .navbar.nav_solid .brand_text{
	text-shadow:none;
}

/* ======================================================================== */
/*  HAMBURGER MENU - mirrors the footer sitemap                             */
/* ======================================================================== */
.offcanvas{
	width:340px;
}
.offcanvas-body{
	display:flex;
	flex-direction:column;
	overflow-y:auto;
	max-height:calc(100vh - 60px);
}
.offcanvas-body::-webkit-scrollbar{
	width: 0px;
}
.offcanvas .list-group{
	border-radius:0;
}
.offcanvas .nav-link{
	padding:9px 18px !important;
	font-size:14.5px;
}
/* call + whatsapp block pinned under the menu */
.mnu_contact{
	margin-top:auto;
	padding:14px 16px 18px;
	border-top:2px solid var(--brand-orange);
	background:#fffaf3;
}
.mnu_contact a{
	display:flex;
	align-items:center;
	gap:12px;
	padding:10px 12px;
	border-radius:8px;
	font-size:15px;
	font-weight:700;
	line-height:1.25;
	color:#fff;
	margin-bottom:9px;
}
.mnu_contact a:last-child{
	margin-bottom:0;
}
.mnu_contact a small{
	display:block;
	font-size:11px;
	font-weight:600;
	letter-spacing:.6px;
	text-transform:uppercase;
	opacity:.85;
}
.mnu_contact a i{
	font-size:19px;
	flex:0 0 auto;
}
.mnu_call{
	background:#E60101;
}
.mnu_call:hover,
.mnu_call:focus{
	background:#b70000;
	color:#fff;
}
.mnu_wa{
	background:#25D366;
}
.mnu_wa:hover,
.mnu_wa:focus{
	background:#1da851;
	color:#fff;
}
.mnu_cta{
	display:flex;
	flex-direction:column;
	gap:9px;
	padding:0 16px 18px;
}
.mnu_cta .btn{
	width:100%;
	text-align:center;
}

/* ---- footer contact rows (helpline + whatsapp) ------------------------- */
.contact_info .whatsapp{
	margin-bottom:15px;
}
.contact_info .phone{
	margin:15px 0;
}
.contact_info .text small{
	display:block;
	font-size:11px;
	font-weight:600;
	letter-spacing:.6px;
	text-transform:uppercase;
	color:var(--brand-yellow);
	opacity:.85;
}

/* ======================================================================== */
/*  PRELOADER - logo in a round frame, #FFFF5C spreads out from behind it   */
/* ======================================================================== */
.preloader{
	position:fixed;
	inset:0;
	z-index:99999;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:18px;
	background:#fff;
	overflow:hidden;
	transition:opacity .75s ease, visibility .75s ease;
}
.pl_brand{
	position:relative;
	z-index:2;
	margin:0;
	font-size:clamp(15px, 2vw, 22px);
	font-weight:700;
	letter-spacing:.6px;
	text-transform:uppercase;
	text-align:center;
	color:var(--brand-orange);
	animation:pl_pop 1s cubic-bezier(.2,.9,.3,1.35) .15s both;
	text-transform: capitalize; 	
}
body:not(.pl_done) .preloader{
	animation:pl_failsafe .5s ease 5s forwards;
}
@keyframes pl_failsafe{
	to{ opacity:0; visibility:hidden; }
}
/* the colour wash that grows out from the centre of the logo */
.pl_spread{
	position:absolute;
	left:50%;
	top:50%;
	width:120px;
	height:120px;
	margin:-60px 0 0 -60px;
	border-radius:50%;
	background:#FFFF5C;
	transform:scale(0);
	animation:pl_spread 1.9s cubic-bezier(.5,0,.3,1) .45s forwards;
}
@keyframes pl_spread{
	from{ transform:scale(0); }
	to{ transform:scale(60); }
}
.pl_logo{
	position:relative;
	z-index:2;
	width:150px;
	height:150px;
	border-radius:50%;
	background:#fff;
	border:5px solid #E60101;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:20px;
	box-shadow:0 12px 34px rgba(0,0,0,.18);
	animation:pl_pop 1s cubic-bezier(.2,.9,.3,1.35) both;
}
.pl_logo img{
	width:100%;
	height:100%;
	object-fit:contain;
	animation:pl_beat 2.2s ease-in-out 1s infinite;
}
/* soft pulse ring around the frame */
.pl_ring{
	position:absolute;
	inset:-5px;
	border-radius:50%;
	border:3px solid #E60101;
	opacity:.65;
	animation:pl_ring 2s ease-out .6s infinite;
}
@keyframes pl_pop{
	from{ transform:scale(.4); opacity:0; }
	to{ transform:scale(1); opacity:1; }
}
@keyframes pl_ring{
	0%{ transform:scale(1); opacity:.65; }
	100%{ transform:scale(1.45); opacity:0; }
}
@keyframes pl_beat{
	0%,100%{ transform:scale(1); }
	50%{ transform:scale(.92); }
}
body.pl_done .preloader{
	opacity:0;
	visibility:hidden;
	pointer-events:none;
}
@media (prefers-reduced-motion: reduce){
	.pl_spread{ animation:none; transform:scale(60); }
	.pl_logo,
	.pl_logo img,
	.pl_ring,
	.pl_brand{ animation:none; }
	.pl_ring{ opacity:0; }
}
@media only screen and (max-width: 575.98px){
	.pl_logo{ width:120px; height:120px; padding:15px; border-width:4px; }
}

/* ---- slide-out menu: accordion ----------------------------------------- */
.mnu_acc{
	border-top:1px solid #f0e4d2;
}
.mnu_home{
	display:flex;
	align-items:center;
	gap:10px;
	padding:13px 18px;
	font-size:15px;
	font-weight:700;
	color:#1b1b1b;
	border-bottom:1px solid #f0e4d2;
}
.mnu_home i{
	color:var(--brand-orange);
	font-size:16px;
}
.mnu_home:hover,
.mnu_home:focus{
	background:#fffaf0;
	color:var(--brand-orange);
}
.mnu_home.active{
	background:var(--brand-orange);
	color:#fff;
}
.mnu_home.active i{
	color:#fff;
}
.mnu_group{
	border-bottom:1px solid #f0e4d2;
}
.mnu_toggle{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	width:100%;
	padding:13px 18px;
	background:#fff;
	color:#1b1b1b;
	font-family:var(--font-body);
	font-size:14px;
	font-weight:700;
	letter-spacing:.7px;
	text-transform:uppercase;
	text-align:left;
	cursor:pointer;
	transition:background .2s ease, color .2s ease;
}
.mnu_toggle i{
	font-size:18px;
	color:var(--brand-orange);
	transition:transform .25s ease;
}
.mnu_toggle:hover,
.mnu_toggle:focus{
	background:#fffaf0;
	color:var(--brand-orange);
}
/* open state - orange bar, arrow flipped */
.mnu_toggle:not(.collapsed){
	background:var(--brand-orange);
	color:#fff;
}
.mnu_toggle:not(.collapsed) i{
	color:#fff;
	transform:rotate(180deg);
}
.mnu_links{
	list-style:none;
	margin:0;
	padding:6px 0;
	background:#fffdf5;
}
.mnu_links li{
	margin:0;
}
.mnu_link{
	display:block;
	padding:9px 18px 9px 32px;
	font-size:14.5px;
	font-weight:600;
	color:#4a3a22;
	position:relative;
	transition:background .2s ease, color .2s ease, padding-left .2s ease;
}
.mnu_link:before{
	content:"";
	position:absolute;
	left:18px;
	top:50%;
	width:6px;
	height:6px;
	margin-top:-3px;
	border-radius:50%;
	background:var(--brand-orange);
	opacity:.5;
}
.mnu_link:hover,
.mnu_link:focus{
	background:#fff2cf;
	color:var(--brand-orange);
	padding-left:36px;
}
.mnu_link.active{
	background:var(--brand-yellow);
	color:var(--ink);
}
.mnu_link.active:before{
	opacity:1;
}

/* ---- footer bottom row: brand | contact | map -------------------------- */
.ftr_bottom_row h3{
	color:var(--brand-yellow);
	font-size:17px;
	font-weight:700;
	letter-spacing:.5px;
	margin-bottom:14px;
}
.ftr_bottom_row .footer_brand{
	margin-bottom:14px;
}
.ftr_bottom_row p{
	margin-bottom:14px;
	max-height: 90px;
	overflow: auto;
}
.ftr_bottom_row p::-webkit-scrollbar {
	width: 0px;
}
.ftr_map{
	border-radius:8px;
	overflow:hidden;
	border:2px solid rgba(255,255,92,.35);
	line-height:0;
	background:#2b1200;
}
.ftr_map iframe{
	display:block;
	width:100%;
	height:230px;
	border:0;
	filter:grayscale(.15);
}
@media only screen and (max-width: 991.98px){
	.ftr_map iframe{ height:260px; }
	.ftr_map iframe.h-100{ height:260px !important; }
}

/* ======================================================================== */
/*  EVENT CALENDAR - Upcoming Symposiums / Upcoming Events / Latest Events  */
/* ======================================================================== */
@keyframes evtFadeIn{
	from{ opacity:0; transform:translateY(10px); }
	to{ opacity:1; transform:translateY(0); }
}
@keyframes evtPop{
	from{ transform:scale(.75); opacity:.4; }
	to{ transform:scale(1); opacity:1; }
}

.evt_calendar{
	position:relative;
	background:#fff;
	border:1px solid rgba(0,0,0,.06);
	border-radius:14px;
	padding:22px 20px 18px;
	box-shadow:0 10px 28px -12px rgba(74,32,0,.22);
	overflow:hidden;
}
.evt_calendar::before{
	content:'';
	position:absolute;
	top:0; left:0; right:0;
	height:4px;
	background:linear-gradient(90deg, var(--brand-orange), var(--brand-yellow) 85%);
}
.evt_cal_head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:16px;
}
.evt_cal_title{
	font-weight:700;
	font-size:16.5px;
	letter-spacing:.2px;
	color:var(--ink);
}
.evt_cal_nav{
	width:32px;
	height:32px;
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:#fff6df;
	color:var(--brand-orange);
	border:none;
	cursor:pointer;
	font-size:13px;
	box-shadow:0 1px 4px rgba(0,0,0,.08);
	transition:background .2s ease, color .2s ease, transform .15s ease;
}
.evt_cal_nav:hover,
.evt_cal_nav:focus-visible{
	background:var(--brand-orange);
	color:#fff;
	transform:scale(1.08);
}
.evt_cal_nav:active{
	transform:scale(.94);
}
.evt_cal_dow{
	display:grid;
	grid-template-columns:repeat(7, 1fr);
	text-align:center;
	font-size:11.5px;
	font-weight:700;
	letter-spacing:.4px;
	text-transform:uppercase;
	color:#a9a9a9;
	margin-bottom:8px;
}
.evt_cal_dow span:first-child,
.evt_cal_dow span:last-child{
	color:#e0a44d;
}
.evt_cal_grid{
	display:grid;
	grid-template-columns:repeat(7, 1fr);
	gap:5px;
}
.evt_day{
	position:relative;
	aspect-ratio:1 / 1;
	width:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:13px;
	color:#333;
	background:transparent;
	border:none;
	border-radius:50%;
	padding:0;
	cursor:default;
	transition:background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.evt_day.is-blank{
	visibility:hidden;
}
.evt_day:disabled{
	color:#4b4a4a;
}
.evt_day.is-weekend:not(.has-event):not(:disabled){
	color:#c98a3a;
}
.evt_day.has-event{
	cursor:pointer;
	background:#ffe9a8;
	color:var(--ink);
	font-weight:700;
}
.evt_day.has-event::after{
	content:'';
	position:absolute;
	left:50%;
	bottom:5px;
	width:4px;
	height:4px;
	border-radius:50%;
	background:var(--brand-orange);
	transform:translateX(-50%);
}
.evt_day.has-event:hover,
.evt_day.has-event:focus-visible{
	background:var(--brand-orange);
	color:#fff;
	transform:translateY(-1px);
	box-shadow:0 4px 10px -3px rgba(230,1,1,.55);
}
.evt_day.has-event:hover::after,
.evt_day.has-event:focus-visible::after{
	background:#fff;
}
.evt_day.is-active{
	background:linear-gradient(155deg, var(--brand-orange), #c40101) !important;
	color:#fff !important;
	font-weight:700;
	box-shadow:0 0 0 4px rgba(230,1,1,.16), 0 6px 14px -4px rgba(230,1,1,.55);
	animation:evtPop .25s ease;
}
.evt_day.is-active::after{
	background:#fff;
}
.evt_day.is-today{
	box-shadow:inset 0 0 0 2px var(--brand-orange);
}
.evt_day.is-today.is-active{
	box-shadow:0 0 0 4px rgba(230,1,1,.16), 0 6px 14px -4px rgba(230,1,1,.55);
}

.evt_cal_legend{
	display:flex;
	flex-wrap:wrap;
	gap:16px;
	margin-top:16px;
	padding-top:14px;
	border-top:1px dashed rgba(0,0,0,.1);
	font-size:11.5px;
	color:#888;
}
.evt_legend_item{
	display:inline-flex;
	align-items:center;
	gap:6px;
}
.evt_legend_dot{
	width:10px;
	height:10px;
	border-radius:50%;
	display:inline-block;
	flex:0 0 auto;
}
.evt_legend_dot.has-event{
	background:#ffe9a8;
	box-shadow:inset 0 0 0 1px rgba(230,1,1,.3);
}
.evt_legend_dot.is-today{
	background:#fff;
	box-shadow:inset 0 0 0 2px var(--brand-orange);
}

.evt_detail{
	position:relative;
	background:#fff;
	border:1px solid rgba(0,0,0,.06);
	border-radius:14px;
	padding:26px 24px;
	box-shadow:0 10px 28px -12px rgba(74,32,0,.22);
	min-height:280px;
	overflow:hidden;
}
.evt_detail::before{
	content:'';
	position:absolute;
	top:0; left:0; right:0;
	height:4px;
	background:linear-gradient(90deg, var(--brand-orange), var(--brand-yellow) 85%);
}
.evt_detail_empty{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	min-height:224px;
	color:#8a8a8a;
	animation:evtFadeIn .35s ease;
}
.evt_detail_empty i{
	width:60px;
	height:60px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:24px;
	color:var(--brand-orange);
	background:#fff6df;
	border-radius:50%;
	margin-bottom:14px;
}
.evt_detail_empty p{
	max-width:260px;
	font-size:14px;
	line-height:1.6;
}
.evt_detail_item{
	animation:evtFadeIn .4s ease;
}
.evt_detail_item + .evt_detail_item{
	margin-top:22px;
	padding-top:22px;
	border-top:1px dashed rgba(0,0,0,.12);
}
.evt_detail_date{
	display:inline-flex;
	align-items:center;
	gap:6px;
	background:linear-gradient(135deg, var(--brand-orange), #c40101);
	color:#fff;
	font-weight:700;
	font-size:12px;
	letter-spacing:.3px;
	padding:6px 14px;
	border-radius:20px;
	margin-bottom:12px;
	box-shadow:0 4px 10px -4px rgba(230,1,1,.6);
}
.evt_detail h3{
	font-size:21px;
	line-height:1.3;
	margin-bottom:12px;
	color:var(--ink);
}
.evt_detail .evt_meta{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	font-size:12.5px;
	color:#595959;
	margin-bottom:14px;
}
.evt_detail .evt_meta span{
	display:inline-flex;
	align-items:center;
	gap:6px;
	background:#fbf5ea;
	padding:6px 12px;
	border-radius:20px;
}
.evt_detail .evt_meta i{
	color:var(--brand-orange);
}
.evt_detail img{
	width:100%;
	border-radius:10px;
	margin-bottom:14px;
	object-fit:cover;
	max-height:220px;
}
.evt_detail p{
	line-height:1.7;
}
@media only screen and (max-width: 767.98px){
	.evt_day{ font-size:12px; }
	.evt_detail{ padding:22px 20px; }
}

/* ---- match Event Calendar / Event Detail height to the Latest Events card -- */
.evt_row > [class*="col-"] > .evt_fill,
.evt_row > [class*="col-"] > .evt_detail{
	height:90%;
}
.evt_row .evt_fill .evt_calendar{
	height:100%;
	display:flex;
	flex-direction:column;
}
.evt_row .evt_cal_legend{
	margin-top:auto;
}
.evt_row .evt_detail{
	display:flex;
	flex-direction:column;
}
.evt_row .evt_detail_spacer{
	visibility:hidden;
}
.evt_row .evt_detail_empty{
	flex:1 1 auto;
	min-height:0;
}

/* ======================================================================== */
/*  GALLERY LIGHTBOX (Symposiums / On Tours / Felicitations)                */
/*  image stays left, caption becomes a readable info panel on the right    */
/* ======================================================================== */
.fancybox-stage{
	right:400px;
}
/* the wrapper itself is collapsed to zero size so Fancybox's own image-fit
   math (which subtracts the caption's rendered height from the space it
   gives the image) sees nothing to subtract; the visible panel is drawn by
   the fixed-position __body child below, entirely outside that box model */
.fancybox-caption{
	height:0;
	min-height:0;
	padding:0;
	margin:0;
	background:transparent;
	box-shadow:none;
	overflow:visible;
	pointer-events:none;
}
.fancybox-caption:after{
	display:none;
}
.fancybox-caption__body{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:auto;
	width:400px;
	max-width:38vw;
	max-height:none;
	height:auto;
	margin:0;
	background:#fff9f2;
	padding:100px 36px 36px;
	text-align:left;
	color:#1b1b1b;
	font-family:var(--font-body);
	font-size:15px;
	line-height:1.75;
	box-shadow:-18px 0 34px -20px rgba(0,0,0,.35);
	overflow-y:auto;
	pointer-events:auto;
}
.fancybox-caption h3{
	color:var(--color2);
	font-size:22px;
	letter-spacing:.5px;
	margin-bottom:14px;
	line-height:1.3;
}
.fancybox-caption p{
	margin-bottom:12px;
}
.fancybox-caption p:last-child{
	margin-bottom:0;
}
/* stage/caption stay put; the thumbnail strip keeps Fancybox's default
   right:0 position, so when it's open the caption panel instead insets
   itself by the strip's width so the two no longer overlap */
.fancybox-show-thumbs .fancybox-caption__body{
	right:212px;
}
@media only screen and (max-width: 576px){
	.fancybox-show-thumbs .fancybox-caption__body{
		right:110px;
	}
}
@media only screen and (max-width: 991.98px){
	.fancybox-stage{ right:320px; }
	.fancybox-caption__body{ width:320px; max-width:45vw; padding:90px 26px 26px; font-size:14px; }
}
@media only screen and (max-width: 767.98px){
	.fancybox-stage{ right:0; bottom:50vh; }
	.fancybox-caption{
		height:0;
		top:auto;
		bottom:0;
		padding:0;
		background:transparent;
	}
	.fancybox-caption__body{
		position:fixed;
		top:50vh;
		left:0;
		right:0;
		bottom:0;
		width:auto;
		max-width:none;
		max-height:none;
		background:#241608;
		padding:20px 20px 25px;
		color:#fff;
		box-shadow:0 -12px 24px -16px rgba(0,0,0,.5);
		overflow-y:auto;
	}
	.fancybox-caption h3{
		color:#f7d9a8;
	}
}

/* ======================================================================== */
/*  INTERVIEWS / PRESS RELEASES - Our Maharaj card style, grid layout       */
/* ======================================================================== */
.listing_card{
	height:100%;
	box-shadow:0 6px 20px rgba(0,0,0,.08);
	transition:transform .25s ease, box-shadow .25s ease;
}
.listing_card:hover{
	transform:translateY(-4px);
	box-shadow:0 12px 28px rgba(0,0,0,.14);
}
.video_thumb{
	position:relative;
}
.video_thumb .play_btn{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:64px;
	height:64px;
	border-radius:50%;
	background:rgba(230,1,1,.9);
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:22px;
	box-shadow:0 6px 18px rgba(0,0,0,.35);
}
.video_thumb .play_btn i{
	margin-left:4px;
}

/* ======================================================================== */
/*  DUMMY RECAPTCHA WIDGET - Join Us / Make A Donation forms                */
/* ======================================================================== */
.recaptcha_box{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	max-width:304px;
	padding:12px 14px;
	border:1px solid #d3d3d3;
	border-radius:4px;
	background:#f9f9f9;
	box-shadow:0 0 2px rgba(0,0,0,.15);
}
.recaptcha_check{
	display:flex;
	align-items:center;
	gap:10px;
}
.recaptcha_check input[type="checkbox"]{
	width:28px;
	height:28px;
	margin:0;
	cursor:pointer;
	accent-color:#4285F4;
}
.recaptcha_check label{
	font-size:14px;
	color:#000;
	margin:0;
	cursor:pointer;
}
.recaptcha_brand{
	text-align:center;
	line-height:1.15;
}
.recaptcha_brand i{
	font-size:24px;
	background:linear-gradient(135deg,#4285F4,#34A853 60%,#FBBC05);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	background-clip:text;
}
.recaptcha_brand span{
	display:block;
	font-size:9px;
	color:#666;
	font-weight:600;
	letter-spacing:.2px;
}
.recaptcha_brand small{
	display:block;
	font-size:7px;
	color:#999;
}
.recaptcha_brand small a{
	color:#999;
}

#upiSection img{
	height:350px !important;
}

.js_text .section_title{
	position: sticky;
	top: 0;
	z-index: 9;
}

