/* Description: Master CSS file */

/*****************************************
Table Of Contents:
- General Styles
- Navigation
- Header
- Customers
- Introduction
- Features
- Details 1
- Details Lightbox
- Details 2
- Details 3
- Testimonials
- Newsletter
- Footer
- Copyright
- Back To Top Button
- Extra pages
- Media Queries
******************************************/

/*****************************************
Colors:
- Buttons - orange #ff6c02
- Headings text - navy blue #1e266d
- Body text - dark gray #515867
- Backgrounds - light gray #f9f9f9
******************************************/
/**************************/
/*     JA Styles   */
/**************************/

/* Wufoo styles */

h1, h2, h3, h4, p, a, li, p-large, * {font-family: "all-round-gothic", sans-serif;}
li.nav-item {font-size: 1rem;}

.greyBlock .p-large, .p-small {font-weight: 400 !important;}

#title1 {display: none!important;}

.wufoo input.text, .wufoo textarea.textarea, .wufoo input.file, .wufoo select.select, .wufoo li .wufoo-dropdown span {
    background: #fff !important;
    padding: 18px !important;
    width: 94% !important;
    border-radius: 5px !important;
    -webkit-appearance: none !important; 
    
}

#saveForm, .btTxt .submit, .wufoo input.submit {
    -webkit-appearance: none !important;
    width: 101% !important;
    padding: 14px !important;
    outline: 0 !important;
    background: #362e5e !important;
    color: white !important;
    border-radius: 5px !important;
    border: 2px solid white !important;
}

#saveForm:focus, .btTxt .submit:focus, .wufoo input.submit:focus {
    -webkit-appearance: none !important;
    outline: 0 !important;
}

.confirm h2 {
    font-family: inherit;
    color: #ffffff;
}


@media (max-width: 700px) {
    .speakerBio {
    margin: 15px 0px;
}
    .basic-1 {padding-bottom: 0px;}


.text-muted2 {
	color: #046956 !important;
    font-weight: 700;
    text-transform: uppercase;
}

}
.listName {
	font-size: 1.3em;
padding: 5px 0px;
color: white;
}			
.scheduleList {
	list-style: none !important;
	padding-left: 0 !important;
	}

	.scheduleList li {
		border: 2px solid white;
		border-radius:5px;
    margin-bottom: 15px;
    padding: 15px;
    color: #535353 !important;
    text-transform: uppercase;
    font-size: .9rem;
    font-weight: 700;	
		}

.tablink, .tablink2 {
    background-color: #01bc99;
    color: white;
    float: left;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 14px 16px;
    border: 2px solid white;
    margin-right: 1%;
    font-weight: 900;
  }
  @media (min-width: 768px) {
  .tablink {  width: 24%; font-size: 17px; border-radius: 5px;}
  }
  
  @media (max-width: 767px) {
       .tablink {  width: 100%; font-size: 17px; border-radius: 5px; margin-bottom: 10px;}
  }
  
  .tab button.active, .tab button.focus  {
	background-color:white !important;
	border: 2px solid white;
	font-size: 20px;
	transition: .4s;
	color:#01bc99;
	
  }
  
  
  /* Style the tab content (and add height:100% for full page content) */
  .tabcontent {
	color: black;
	display: none;
	padding: 100px 20px;
	height: 100%;
  }

.logo-container img {width: 100%; max-width: 400px !important;}
.centered {text-align: center;}
.purple {background: #ff1f38;
	background-size: cover;
	background-position: bottom left;}
	
	.purple2 {
	background: #02215a;
	background-size: cover;
	background-position: bottom left;
	}
	.purple2 h1, .purple2 .p-large {color: white;}

.darkGreen {background:#01bc99;
	background-size: cover;
}
.purple h1, .purple p, .darkGreen h1, .darkGreen p, .darkGreen h3 {color: white !important;}


/**************************/
/*     General Styles     */
/**************************/


body,
html {
    width: 100%;
	height: 100%;
	overflow-x: hidden;
}

body, p {
	color: #515867;
}

h1 {
	color: #46437a;
	font-weight: 700;
	font-size: 2.5rem;
	line-height: 3.125rem;
	letter-spacing: -0.5px;
}

h2 {
	color: #1e266d;
	font-weight: 700;
	font-size: 2rem;
	line-height: 2.625rem;
	letter-spacing: -0.4px;
}

h3 {
	color: #1e266d;
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 2.375rem;
	letter-spacing: -0.4px;
}

h4 {
	color: #1e266d;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 2.125rem;
	letter-spacing: -0.4px;
}

h5 {
	color: #1e266d;
	font-weight: 700;
	font-size: 1.25rem;
	line-height: 1.75rem;
}

h6 {
	color: #1e266d;
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.5rem;
}

.h1-large {
	font-size: 2.75rem;
	line-height: 3.5rem;
	letter-spacing: -0.7px;
}

.p-large {
	font-size: 1.125rem;
	line-height: 1.75rem;
}

.p-small {
	font-size: 0.875rem;
	line-height: 1.5rem;
}

.testimonial-text {
	font-style: italic;
}

.testimonial-author {
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.5rem;
}

.li-space-lg li {
	margin-bottom: 0.5rem;
}

a {
	color: #515867;
	text-decoration: underline;
}

a:hover {
	color: #515867;
	text-decoration: underline;
}

.no-line {
	text-decoration: none;
}

.no-line:hover {
	text-decoration: none;
}

.read-more {
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 1.5rem;
}

.read-more .fas {
	margin-left: 0.625rem;
	font-size: 1rem;
	vertical-align: -8%;
}

.blue {
	color: #1d79fb;
}

.bg-gray {
	background-color: #f9f9f9;
}

.section-divider {
	display: inline-block;
	width: 100%;
	height: 1px;
	border: none;
	background-color: #d0dae2;
}

.section-title {
	display: inline-block;
	margin-bottom: 0.75rem;
	padding: 0.375rem 1.25rem;
	border-radius: 20px;
	background-color: #fff0e2;
	color: #ff6c02;
	font-weight: 600;
	font-size: 0.75rem;
	line-height: 1.125rem;
}

.btn-solid-white {
	display: inline-block;
 padding: 1.625rem 2.625rem 1.625rem 2.625rem;
	border: 1px solid #234f6a;
	border-radius: 32px;
	background-color: #ffffff;
	color: #234f6a;
	font-weight: 600;
	font-size: 1.2rem;
	line-height: 0;
	text-decoration: none;
	transition: all 0.2s;

	
	
}

.btn-solid-white:hover {
	border: 1px solid #ffffff;
	background-color: transparent;
	color: #ffffff	; /* needs to stay here because of the color property of a tag */
	text-decoration: none;
}

.btn-solid-reg {
	display: inline-block;
	padding: 1.375rem 2.25rem 1.375rem 2.25rem;
	border: 1px solid #ff1f38;
	border-radius: 32px;
	background-color: white;
	color: #ff1f38;
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 0;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-solid-reg:hover {
	border: 1px solid #ff1f38;
	background-color: #ff1f38;
	color: white;	; /* needs to stay here because of the color property of a tag */
	text-decoration: none;
}

.btn-solid-lg {
	display: inline-block;
	padding: 1.625rem 2.625rem 1.625rem 2.625rem;
	border: 1px solid #ff1f38;
	border-radius: 32px;
	background: #ff1f38;
	color: #ffffff;
	font-weight: 600;
	font-size: 1.2rem;
	line-height: 0;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-solid-lg:hover {
	border: 1px solid #ff1f38;
	background: transparent;
	color: #ff1f38; /* needs to stay here because of the color property of a tag */
	text-decoration: none;
	transition: .3s;
}

.btn-solid-sm {
	display: inline-block;
	padding: 1rem 1.5rem 1rem 1.5rem;
	border: 1px solid #ff6c02;
	border-radius: 32px;
	background-color: #ff6c02;
	color: #ffffff;
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 0;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-solid-sm:hover {
	border: 1px solid #ff6c02;
	background-color: transparent;
	color: #ff6c02;
	text-decoration: none;
}

.btn-outline-reg {
	display: inline-block;
	padding: 1.375rem 2.25rem 1.375rem 2.25rem;
	border: 1px solid #ff6c02;
	border-radius: 32px;
	background-color: transparent;
	color: #ff6c02;
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 0;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-outline-reg:hover {
	background-color: #ff6c02;
	color: #ffffff;
	text-decoration: none;
}

.btn-outline-lg {
	display: inline-block;
	padding: 1.625rem 2.625rem 1.625rem 2.625rem;
	border: 1px solid #3656a5;
	border-radius: 32px;
	background-color: transparent;
	color: #3656a5;
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 0;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-outline-lg:hover {
	background-color: #3656a5;
	color: #ffffff;
	text-decoration: none;
}

.btn-outline-sm {
	display: inline-block;
	padding: 1rem 1.5rem 1rem 1.5rem;
	border: 1px solid #ff6c02;
	border-radius: 32px;
	background-color: transparent;
	color: #ff6c02;
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 0;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-outline-sm:hover {
	background-color: #ff6c02;
	color: #ffffff;
	text-decoration: none;
}

.form-group {
	position: relative;
	margin-bottom: 1.25rem;
}

.label-control {
	position: absolute;
	top: 0.875rem;
	left: 1.625rem;
	color: #7d838a;
	opacity: 1;
	font-size: 0.875rem;
	line-height: 1.375rem;
	cursor: text;
	transition: all 0.2s ease;
}

.form-control-input:focus + .label-control,
.form-control-input.notEmpty + .label-control,
.form-control-textarea:focus + .label-control,
.form-control-textarea.notEmpty + .label-control {
	top: 0.125rem;
	color: #515867;
	opacity: 1;
	font-size: 0.75rem;
	font-weight: 700;
}

.form-control-input,
.form-control-select {
	display: block; /* needed for proper display of the label in Firefox, IE, Edge */
	width: 100%;
	padding-top: 1.125rem;
	padding-bottom: 0.125rem;
	padding-left: 1.625rem;
	border: 1px solid #cbcbd1;
	border-radius: 32px;
	background-color: #ffffff;
	color: #515867;
	font-size: 0.875rem;
	line-height: 1.875rem;
	transition: all 0.2s;
	-webkit-appearance: none; /* removes inner shadow on form inputs on ios safari */
}

.form-control-select {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	height: 3.25rem;
	color: #7d838a;
}

select {
    /* you should keep these first rules in place to maintain cross-browser behavior */
    -webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    background-image: url('../images/down-arrow.png');
    background-position: 96% 50%;
    background-repeat: no-repeat;
    outline: none;
}

.form-control-textarea {
	display: block; /* used to eliminate a bottom gap difference between Chrome and IE/FF */
	width: 100%;
	height: 14rem; /* used instead of html rows to normalize height between Chrome and IE/FF */
	padding-top: 1.5rem;
	padding-left: 1.5rem;
	border: 1px solid #cbcbd1;
	border-radius: 2px;
	background-color: #ffffff;
	color: #515867;
	font-size: 0.875rem;
	line-height: 1.5rem;
	transition: all 0.2s;
}

.form-control-input:focus,
.form-control-select:focus,
.form-control-textarea:focus {
	border: 1px solid #a1a1a1;
	outline: none; /* Removes blue border on focus */
}

.form-control-input:hover,
.form-control-select:hover,
.form-control-textarea:hover {
	border: 1px solid #a1a1a1;
}

.checkbox {
	font-size: 0.75rem;
	line-height: 1.25rem;
}

input[type='checkbox'] {
	vertical-align: -10%;
	margin-right: 0.5rem;
}

.form-control-submit-button {
	display: inline-block;
	width: 100%;
	height: 3.25rem;
	border: 1px solid #ff6c02;
	border-radius: 32px;
	background-color: #ff6c02;
	color: #ffffff;
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 0;
	cursor: pointer;
	transition: all 0.2s;
}

.form-control-submit-button:hover {
	border: 1px solid #ff6c02;
	background-color: transparent;
	color: #ff6c02;
}

/* Fade-move Animation For Details Lightbox - Magnific Popup */
/* at start */
.my-mfp-slide-bottom .zoom-anim-dialog {
	opacity: 0;
	transition: all 0.2s ease-out;
	-webkit-transform: translateY(-1.25rem) perspective(37.5rem) rotateX(10deg);
	-ms-transform: translateY(-1.25rem) perspective(37.5rem) rotateX(10deg);
	transform: translateY(-1.25rem) perspective(37.5rem) rotateX(10deg);
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready .zoom-anim-dialog {
	opacity: 1;
	-webkit-transform: translateY(0) perspective(37.5rem) rotateX(0); 
	-ms-transform: translateY(0) perspective(37.5rem) rotateX(0); 
	transform: translateY(0) perspective(37.5rem) rotateX(0); 
}

/* animate out */
.my-mfp-slide-bottom.mfp-removing .zoom-anim-dialog {
	opacity: 0;
	-webkit-transform: translateY(-0.625rem) perspective(37.5rem) rotateX(10deg); 
	-ms-transform: translateY(-0.625rem) perspective(37.5rem) rotateX(10deg); 
	transform: translateY(-0.625rem) perspective(37.5rem) rotateX(10deg); 
}

/* dark overlay, start state */
.my-mfp-slide-bottom.mfp-bg {
	opacity: 0;
	transition: opacity 0.2s ease-out;
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready.mfp-bg {
	opacity: 0.8;
}
/* animate out */
.my-mfp-slide-bottom.mfp-removing.mfp-bg {
	opacity: 0;
}
/* end of fade-move animation for details lightbox - magnific popup */


/**********************/
/*     Navigation     */
/**********************/


.top-nav-collapse li.nav-item a {color: #1e266d !important;}
.top-nav-collapse li.nav-item a:hover {color: #ff1f38 !important;}

.navbar {
	padding-top: 10px;
	border-bottom: none;
	background-color: transparent;
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 0.875rem;
	transition: all 0.4s cubic-bezier(0.22,1,0.36,1);
}

.navbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 0.25rem 1rem;
	border-radius: 50px;
	background: transparent;
	transition: all 0.4s cubic-bezier(0.22,1,0.36,1);
}

.navbar.top-nav-collapse .navbar-inner,
.navbar.top-nav-collapse > .container {
	background: #ffffff !important;
	box-shadow: 0 4px 24px rgba(0,0,0,0.1) !important;
	border-radius: 50px !important;
}

/* Mobile: solid background when menu is expanded or scrolled */
@media (max-width: 991px) {
	.navbar .navbar-inner {
		background: rgba(255,255,255,0.97);
		border-radius: 20px;
		box-shadow: 0 4px 20px rgba(0,0,0,0.06);
		flex-wrap: wrap;
	}
	.navbar .navbar-collapse {
		width: 100%;
	}
}

.navbar .navbar-brand {
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
}

.navbar .logo-image img {
	width: 110px;
    height: 50px;

}

.navbar .logo-text {
	color: #1e266d;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1rem;
	text-decoration: none;
}

.offcanvas-collapse {
	position: fixed;
	top: 4.25rem; /* adjusts the height between the top of the page and the offcanvas menu */
	bottom: 0;
	left: 100%;
	width: 100%;
	padding-right: 1rem;
	padding-left: 1rem;
	overflow-y: auto;
	visibility: hidden;
	background-color: #ffffff;
	transition: visibility .3s ease-in-out, -webkit-transform .3s ease-in-out;
	transition: transform .3s ease-in-out, visibility .3s ease-in-out;
	transition: transform .3s ease-in-out, visibility .3s ease-in-out, -webkit-transform .3s ease-in-out;
}

.offcanvas-collapse.open {
	visibility: visible;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}

.navbar .navbar-nav {
	margin-top: 0.75rem;
	margin-bottom: 0.5rem;
}

.navbar .nav-item .nav-link {
	padding-top: 0.625rem;
	padding-bottom: 0.625rem;
	color: #1e266d;
	text-decoration: none;
	transition: all 0.2s ease;
}

.navbar .nav-item.dropdown.show .nav-link,
.navbar .nav-item .nav-link:hover {
	color: #02215a;
}
.navbar .nav-item .nav-link.active {
	color: #02215a;
}

/* Dropdown Menu */
.navbar .dropdown .dropdown-menu {
	animation: fadeDropdown 0.2s; /* required for the fade animation */
}

@keyframes fadeDropdown {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
	}
}

.navbar .dropdown-menu {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
	border: none;
	background-color: #ffffff;
}

.navbar .dropdown-item {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	color: #1e266d;
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 0.875rem;
	text-decoration: none;
}

.navbar .dropdown-item:hover {
	background-color: #ffffff;
	color: #ff6c02;
}

.navbar .dropdown-divider {
	width: 100%;
	height: 1px;
	margin: 0.5rem auto 0.5rem auto;
	border: none;
	background-color: #e7e7e7;
}
/* end of dropdown menu */

.navbar .nav-item .btn-solid-sm {
	margin-top: 0.125rem;
	border: 1px solid #1e266d;
	background-color: #1e266d;
}

.navbar .nav-item .btn-solid-sm:hover {
	background-color: transparent;
	color: #1e266d;
}

.navbar .navbar-toggler {
	padding: 0;
	border: none;
	font-size: 1.25rem;
}


/*****************/
/*    Header     */
/*****************/
/* ── Hero Section ── */
.hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #eef3f6 0%, #f4f7f9 40%, #e8eef3 100%);
  padding: 8em 0;
}

/* Two-column hero layout */
.hero-content .row {
  align-items: center;
}
.hero-content .row > [class*="col-"]:first-child {
  text-align: center;
}
.hero-content .row > [class*="col-"]:last-child {
  text-align: left;
}

/* Dot pattern overlay */
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(2,33,90,0.04) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
  z-index: 0;
}

/* ── Floating blobs ── */
.hero-blobs {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.hero-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
}
.hero-blob--red {
  width: 500px; height: 500px;
  background: rgba(255,31,56,0.08);
  top: -120px; right: -80px;
  animation: blobDrift1 12s ease-in-out infinite;
}
.hero-blob--green {
  width: 400px; height: 400px;
  background: rgba(0,188,154,0.07);
  bottom: -100px; left: -60px;
  animation: blobDrift2 14s ease-in-out infinite 2s;
}
.hero-blob--gold {
  width: 300px; height: 300px;
  background: rgba(255,197,41,0.06);
  top: 40%; left: 15%;
  animation: blobDrift3 10s ease-in-out infinite 1s;
}
.hero-blob--navy {
  width: 350px; height: 350px;
  background: rgba(2,33,90,0.04);
  bottom: 10%; right: 10%;
  animation: blobDrift1 16s ease-in-out infinite 3s;
}

@keyframes blobDrift1 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(30px, -40px) scale(1.05); }
  66% { transform: translate(-20px, 20px) scale(0.95); }
}
@keyframes blobDrift2 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(40px, -30px) scale(1.08); }
}
@keyframes blobDrift3 {
  0%, 100% { transform: translate(0, 0); }
  25% { transform: translate(-25px, 15px); }
  75% { transform: translate(20px, -20px); }
}

/* ── Hero content ── */
.hero-content {
  position: relative;
  z-index: 1;
}

/* Alert banner */
.hero-alert {
  position: relative;
  z-index: 1;
  margin-bottom: 2rem;
}
.hero-alert .alert {
  background: rgba(2,33,90,0.06);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(2,33,90,0.1);
  color: #02215a;
  border-radius: 50px;
  padding: 0.6rem 1.5rem;
  font-size: 0.85rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.hero-alert .alert a {
  color: #00bc9a;
  font-weight: 700;
  border-bottom: 1px solid rgba(0,188,154,0.4);
  text-decoration: none;
}
.hero-alert .alert .btn-close {
  position: static;
  color: rgba(2,33,90,0.5);
  background: none;
  border: none;
  padding: 0;
  margin-left: 0.5rem;
}

/* ── Logo animation ── */
.hero-logo {
  width: 100%;
  max-width: 480px;
  margin-bottom: 1.5rem;
  filter: drop-shadow(0 4px 20px rgba(2,33,90,0.1));
  animation: heroLogoIn 0.9s cubic-bezier(0.22,1,0.36,1) both,
             heroLogoPulse 5s ease-in-out 1.2s infinite;
}

@keyframes heroLogoIn {
  0% {
    opacity: 0;
    transform: translateY(-30px) scale(0.8);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes heroLogoPulse {
  0%, 100% { transform: scale(1); filter: drop-shadow(0 4px 20px rgba(2,33,90,0.1)); }
  50% { transform: scale(1.02); filter: drop-shadow(0 4px 30px rgba(2,33,90,0.15)); }
}

/* ── Date tagline ── */
.hero-date {
  color: #02215a !important;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 1rem;
  animation: heroFadeUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.3s both;
}

/* ── Sub text ── */
.hero-sub {
  color: #515867;
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 650px;
  margin: 0 0 1.5rem;
  animation: heroFadeUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.5s both;
}

/* ── CTA button ── */
.hero-cta {
  animation: heroFadeUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.7s both;
  margin-top: 0.5rem;
}

@keyframes heroFadeUp {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}


/* Old header compat */
.header .text-container {
	margin-bottom: 2rem;
}
.header .btn-solid-lg {
	margin-right: 0.5rem;
	margin-bottom: 0.75rem;
}


/********************/
/*    Customers     */
/********************/
.slider-1 {
	padding-top: 3.5rem;
	padding-bottom: 3rem;
	text-align: center;
}

.slider-1 h4 {
	margin-bottom: 0.25rem;
	color: #222222;
}

.slider-1 .section-divider {
	margin-bottom: 1rem;
}

.slider-1 .slider-container {
	margin-bottom: 0.5rem;
	padding: 1rem 0;
}


/************************/
/*     Introduction     */
/************************/
.basic-1 {
	padding-top: 5.25rem;
	padding-bottom: 3rem;
}

.basic-1 img {
	margin-bottom: 3.5rem;
}

.basic-1 h2 {
	margin-bottom: 1.5rem;
}

.basic-1 p {
	margin-bottom: 1.875rem;
}


/********************/
/*     Features     */
/********************/
.cards-1 {
	padding-top: 9.5rem;
	padding-bottom: 6.625rem;
	background-color: #0c7058;
}

.cards-1 .h2-heading {
	margin-bottom: 1rem;
	color: #ffffff;
	text-align: center;
}

.cards-1 .p-heading {
	margin-bottom: 4rem;
	color: #ffffff;
	opacity: 0.8;
	text-align: center;
}

.cards-1 .card {
	margin-bottom: 3rem;
	background-color: transparent;
}

.cards-1 .card-icon-wrapper {
	padding-left: 2rem;
	/* border-left: 1px solid #ff6c02; */
}

.cards-1 .card-icon {
	width: 74px;
	height: 74px;
	border-radius: 50%;
	background-color: #fff;
	text-align: center;
}

.cards-1 .card-icon .fas,
.cards-1 .card-icon .far {
	color: #0c7058;
	font-size: 2rem;
	line-height: 4.625rem;
}

.cards-1 .card-body {
	padding: 0 0 0 2rem;
}

.cards-1 .card-title {
	margin-top: 1.75rem;
	color: #ffffff;
	font-weight: 600;
}

.cards-1 .card-body p {
	margin-bottom: 1.25rem;
	color: #ffffff;
	opacity: 0.8;
}

.cards-1 .read-more {
	color: #ffffff;
}

.cards-1 .read-more .fas {
	color: #ffffff;
}


/*********************/
/*     Details 1     */
/*********************/
.basic-2 {
	padding-top: 9.25rem;
	padding-bottom: 5rem;
	background: url('../images/details-1-background.png') center center no-repeat;
	background-size: cover;
}

.basic-2 h2 {
	margin-bottom: 1.5rem;
}

.basic-2 .intro {
	margin-bottom: 9.5rem;
}

.basic-2 .image-container {
	margin-bottom: 3.75rem;
}

.basic-2 .text-container p {
	margin-bottom: 1.75rem;
}

.image-container img {width: 100%;}
/****************************/
/*     Details Lightbox     */
/****************************/
.lightbox-basic {
	position: relative;
	max-width: 1150px;
	margin: 2.5rem auto;
	padding: 3rem 1rem;
	background-color: #ffffff;
	text-align: left;
}

.lightbox-basic .image-container {
	margin-bottom: 3rem;
	text-align: center;
}

.lightbox-basic .image-container img {
	border-radius: 8px;
}

.lightbox-basic h3 {
	margin-bottom: 0.5rem;
}

.lightbox-basic hr {
	width: 44px;
	margin-top: 0.125rem;
	margin-bottom: 1rem;
	margin-left: 0;
	height: 2px;
	border: none;
	background-color: #ff6c02;
}

.lightbox-basic h4 {
	margin-top: 1.75rem;
	margin-bottom: 0.625rem;
}

.lightbox-basic .list-unstyled {
	margin-bottom: 1.5rem;
}

.lightbox-basic .list-unstyled .fas {
	font-size: 0.75rem;
	line-height: 1.75rem;
}

.lightbox-basic .list-unstyled .media-body {
	margin-left: 0.375rem;
}

.lightbox-basic .list-unstyled {
	margin-bottom: 1.5rem;
}

/* Action Button */
.lightbox-basic .btn-solid-reg.mfp-close {
	position: relative;
	width: auto;
	height: auto;
	border-color: #ff6c02;
	background-color: #ff6c02;
	color: #ffffff;
	opacity: 1;
	font-weight: 600;
	font-family: "Open Sans";
}

.lightbox-basic .btn-solid-reg.mfp-close:hover {
	background-color: transparent;
	color: #ff6c02;
}
/* end of action Button */

/* Back Button */
.lightbox-basic .btn-outline-reg.mfp-close.as-button {
	position: relative;
	display: inline-block;
	width: auto;
	height: auto;
	margin-left: 0.375rem;
	padding: 1.375rem 2.25rem 1.375rem 2.25rem;
	border: 1px solid #ff6c02;
	background-color: transparent;
	color: #ff6c02;
	opacity: 1;
	font-family: "Open Sans";
}

.lightbox-basic .btn-outline-reg.mfp-close.as-button:hover {
	background-color: #ff6c02;
	color: #ffffff;
}
/* end of back button */

/* Close X Button */
.lightbox-basic button.mfp-close.x-button {
	position: absolute;
	top: -2px;
	right: -2px;
	width: 44px;
	height: 44px;
	color: #555555;
}
/* end of close x button */


/*********************/
/*     Details 2     */
/*********************/
.basic-3 {
	padding-top: 5rem;
	padding-bottom: 5rem;
}

.basic-3 .text-container {
	margin-bottom: 3.75rem;
}

.basic-3 h2 {
	margin-bottom: 1.5rem;
}

.basic-3 .list-unstyled .fas {
	font-size: 0.375rem;
	line-height: 1.625rem;
}

.basic-3 .list-unstyled .media-body {
	margin-left: 0.5rem;
}


/*********************/
/*     Details 3     */
/*********************/
.basic-4 {
	padding-top: 5rem;
	padding-bottom: 9.5rem;
	background: url('../images/details-3-background.png') center center no-repeat;
	background-size: cover;
}

.basic-4 h2 {
	margin-bottom: 1.5rem;
}

.basic-4 .image-container {
	margin-bottom: 3.5rem;
}

.basic-4 p {
	margin-bottom: 1.75rem;
}


/************************/
/*     Testimonials     */
/************************/
.slider-2 {
	padding-top: 9.25rem;
	padding-bottom: 10rem;
	background-color: #040470;
}

.slider-2 .h2-heading {
	margin-bottom: 1rem;
	color: #ffffff;
	text-align: center;
}

.slider-2 .p-heading {
	margin-bottom: 4rem;
	color: #ffffff;
	opacity: 0.8;
	text-align: center;
}

.slider-2 .slider-container {
	position: relative;
}

.slider-2 .swiper-container {
	position: static;
	width: 86%;
}

.slider-2 .swiper-button-prev:focus,
.slider-2 .swiper-button-next:focus {
	/* even if you can't see it chrome you can see it on mobile device */
	outline: none;
}

.slider-2 .swiper-button-prev {
	left: -14px;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
	background-size: 18px 28px;
}

.slider-2 .swiper-button-next {
	right: -14px;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
	background-size: 18px 28px;
}

.slider-2 .card {
	border: none;
	border-radius: 14px;
}

.slider-2 .card-body {
	padding: 2.5rem 1.75rem;
}

.slider-2 .testimonial-text {
	margin-bottom: 1.875rem;
	font-style: italic;
	font-size: 1.125rem;
	line-height: 1.75rem;
}

.slider-2 .testimonial-image {
	display: inline-block;
	width: 70px;
	margin-bottom: 0.875rem;
	border-radius: 50%;
}

.slider-2 .testimonial-author {
	margin-bottom: 0.125rem;
	color: #222222;
	font-weight: 700;
	font-size: 1.125rem;
}


/**********************/
/*     Newsletter     */
/**********************/
.form-1 {
	padding-top: 9.5rem;
	padding-bottom: 8.5rem;
	text-align: center;
}

.form-1 .h2-heading {
	margin-bottom: 0.75rem;
}

.form-1 .p-heading {
	margin-bottom: 3rem;
}

.form-1 .label-control {
	left: 2.125rem;
}

.form-1 .form-control-input {
	padding-top: 1.25rem;
	padding-bottom: 0.25rem;
	padding-left: 2rem;
	border-radius: 32px;
	background-color: #ffffff;
}

.form-1 .form-control-submit-button {
	height: 3.5rem;
}

.form-1 .label-control {
	top: 1rem;
}


/******************/
/*     Footer     */
/******************/
.footer {
	padding-top: 5.5rem;
	padding-bottom: 1.5rem;
	background-color: #f9f9f9;
}

.footer a {
	text-decoration: none;
}

.footer .footer-col {
	margin-bottom: 3rem;
}

.footer h6 {
	margin-bottom: 0.625rem;
	color: #515867;
}

.footer .li-space-lg li {
	margin-bottom: 0.375rem;
}

.footer .footer-col.third .fa-stack {
	width: 2em;
	margin-bottom: 1.25rem;
	margin-right: 0.375rem;
	font-size: 1.375rem;
}

.footer .footer-col.third .fa-stack .fa-stack-2x {
	color: #ffffff;
	transition: all 0.2s ease;
}

.footer .footer-col.third .fa-stack .fa-stack-1x {
    color: #515867;
	transition: all 0.2s ease;
}

.footer .footer-col.third .fa-stack:hover .fa-stack-2x {
    color: #515867;
}

.footer .footer-col.third .fa-stack:hover .fa-stack-1x {
	color: #ffffff;
}


/*********************/
/*     Copyright     */
/*********************/
.copyright {
	padding-bottom: 1rem;
	background-color: #f9f9f9;
	text-align: center;
}

.copyright p,
.copyright a {
	text-decoration: none;
}


/******************************/
/*     Back To Top Button     */
/******************************/
a.back-to-top {
	position: fixed;
	z-index: 999;
	right: 12px;
	bottom: 12px;
	display: none;
	width: 42px;
	height: 42px;
	border-radius: 30px;
	background: #515867 url("../images/up-arrow.png") no-repeat center 47%;
	background-size: 18px 18px;
	text-indent: -9999px;
}

a:hover.back-to-top {
	background-color: #1e266d;
}


/***********************/
/*     Extra Pages     */
/***********************/
.ex-header {
	padding-top: 8.5rem;
	padding-bottom: 4rem;
	background-color: #f9f9f9;
}

.ex-basic-1 .list-unstyled .fas {
	font-size: 0.375rem;
	line-height: 1.625rem;
}

.ex-basic-1 .list-unstyled .media-body {
	margin-left: 0.5rem;
}

.ex-basic-1 .text-box {
	padding: 1.25rem 1.25rem 0.5rem 1.25rem;
	background-color: #f9f9f9;
}

.ex-cards-1 .card {
	border: none;
	background-color: transparent;
}

.ex-cards-1 .card .fa-stack {
	width: 2em;
	font-size: 1.125rem;
}

.ex-cards-1 .card .fa-stack-2x {
	color: #ff6c02;
}

.ex-cards-1 .card .fa-stack-1x {
	color: #ffffff;
	font-weight: 700;
	line-height: 2.125rem;
}

.ex-cards-1 .card .list-unstyled .media-body {
	margin-left: 0.75rem;
}

.ex-cards-1 .card .list-unstyled .media-body h5 {
	margin-top: 0.125rem;
	margin-bottom: 0.375rem;
}

.ex-form-1 .text-box {
	padding: 2.5rem 1.5rem 1.5rem 1.75rem;
	border-radius: 10px;
	background-color: #f9f9f9;
}


/*************************/
/*     Media Queries     */
/*************************/	
/* Min-width 768px */
@media (min-width: 768px) {

	/* Header */
	.header .btn-solid-lg {
		margin-bottom: 0;
	}
	/* end of header */


	/* Newsletter */
	.form-1 .form-group {
		max-width: 20rem;
		display: inline-block;
		vertical-align: top;
	}
	
	.form-1 .form-control-input {
		width: 20rem;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}

	.form-1 .form-control-submit-button {
		width: 9rem;
		margin-left: -0.375rem;
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
	}
	/* end of newsletter */


	/* Extra Pages */
	.ex-basic-1 .text-box {
		padding: 1.75rem 2rem 0.875rem 2rem;
	}
	/* end of extra pages */
}
/* end of min-width 768px */


/* Min-width 992px */
@media (min-width: 992px) {
	
	/* General Styles */
	.h2-heading {
		width: 35.25rem;
		margin-right: auto;
		margin-left: auto;
	}

	.p-heading {
		width: 34rem;
		margin-right: auto;
		margin-left: auto;
	}
	/* end of general styles */


	/* Navigation */
	.navbar {
		padding-top: 1.25rem;
		background-color: transparent;
		border-bottom: none;
	}

	.navbar.top-nav-collapse {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
		background-color: transparent;
		border-bottom: none;
	}

	.offcanvas-collapse {
		position: static;
		top: auto;
		bottom: auto;
		left: auto;
		width: auto;
		padding-right: 0;
		padding-left: 0;
		background-color: transparent;
		overflow-y: visible;
		visibility: visible;
	}

	.offcanvas-collapse.open {
		-webkit-transform: none;
		transform: none;
	}

	.navbar .navbar-nav {
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.navbar .nav-item .nav-link {
		padding-right: 0.75rem;
		padding-left: 0.75rem;
	}

	.navbar .dropdown-menu {
		margin-top: 0.25rem;
		box-shadow: 0 3px 3px 1px rgba(0, 0, 0, 0.05);
	}

	.navbar .dropdown-divider {
		width: 90%;
	}

	.navbar .nav-item .btn-solid-sm {
		margin-top: 0;
		margin-left: 1rem;
	}
	/* end of navigation */


	/* Header */
	/* header styles now in .hero */


	/* Customers */
	.slider-1 {
		padding-top: 5rem;
	}
	/* end of customers */


	/* Introduction */
	.basic-1 img {
		margin-bottom: 0;
	}

	.basic-1 .text-container {
		margin-top: 3rem;
	}
	/* end of introduction */


	/* Features */
	.cards-1 .card {
		display: inline-block;
		width: 290px;
		vertical-align: top;
	}
	
	.cards-1 .card:nth-of-type(3n+2) {
		margin-right: 1.5rem;
		margin-left: 1.5rem;
	}
	/* end of features */


	/* Details 1 */
	.basic-2 .image-container {
		margin-bottom: 0;
	}

	.basic-2 .text-container {
		margin-top: 3.75rem;
	}

	.basic-2 h2 {
		margin-right: 2rem;
	}
	/* end of details 1 */


	/* Details Lightbox */
	.lightbox-basic {
		padding: 3rem 3rem;
	}

	.lightbox-basic .image-container {
		margin-bottom: 0;
		text-align: left;
	}
	/* end of details lightbox */


	/* Details 2 */
	.basic-3 .text-container {
		margin-bottom: 0;
	}
	/* end of details 2 */


	/* Details 3 */
	.basic-4 .image-container {
		margin-bottom: 0;
	}

	.basic-4 .text-container {
		margin-top: 3.5rem;
	}
	/* end of details 3 */


	/* Testimonials */
	.slider-2 .swiper-container {
		width: 90%;
	}

	.slider-2 .swiper-button-prev {
		left: 0;
		width: 22px;
		background-size: 22px 34px;
	}
	
	.slider-2 .swiper-button-next {
		right: 0;
		width: 22px;
		background-size: 22px 34px;
	}

	.slider-2 .details {
		display: flex;
		align-items: flex-start;
	}
	
	.slider-2 .text {
		flex-direction: column;
	}

	.slider-2 .testimonial-author {
		margin-top: 0.625rem;
	}
	
	.slider-2 .testimonial-image {
		margin-right: 1.125rem;
		margin-bottom: 0;
	}
	/* end of testimonials */


	/* Footer */
	.footer .footer-col {
		margin-bottom: 2rem;
	}

	.footer .footer-col.first {
		display: inline-block;
		width: 320px;
		margin-right: 1.75rem;
		vertical-align: top;
	}
	
	.footer .footer-col.second {
		display: inline-block;
		width: 320px;
		margin-right: 1.75rem;
		vertical-align: top;
	}
	
	.footer .footer-col.third {
		display: inline-block;
		width: 224px;
		text-align: right;
		vertical-align: top;
	}

	.footer .footer-col.third .fa-stack {
		margin-right: 0;
		margin-left: 0.375rem;
	}
	/* end of footer */


	/* Extra Pages */
	.ex-cards-1 .card {
		display: inline-block;
		width: 296px;
		vertical-align: top;
	}

	.ex-cards-1 .card:nth-of-type(3n+2) {
		margin-right: 1rem;
		margin-left: 1rem;
	}
	/* end of extra pages */
}
/* end of min-width 992px */


/* Min-width 1200px */
@media (min-width: 1200px) {

	/* General Styles */
	.h1-large {
		font-size: 3.25rem;
		line-height: 4rem;
	}
	/* end of general styles */


	/* Header */
	

	.header .text-container {
		
	}

/*	.header img {
		position: absolute;
		left: 5rem;
	}

	*/
	/* end of header */


	/* Introduction */
	.basic-1 .text-container {
	
	}
	/* end of introduction */


	/* Features */
	.cards-1 .card {
		width: 320px;
	}
	
	.cards-1 .card:nth-of-type(3n+2) {
		margin-right: 4.375rem;
		margin-left: 4.375rem;
	}
	/* end of features */


	/* Details 1 */
	.basic-2 .intro h2 {
		margin-right: 10rem;
	}

	.basic-2 .text-container {
		margin-top: 6.5rem;
	}
	/* end of details 1 */


	/* Details Lightbox */
	.lightbox-basic .image-container {
		margin-right: 1.5rem;
	}
	/* end of details lightbox */


	/* Details 2 */
	.basic-3 .image-container {
		text-align: right;
	}

	.basic-3 .text-container {
		margin-top: 4rem;
	}
	/* end of details 2 */


	/* Details 3 */
	.basic-4 .text-container {
		margin-top: 6rem;
	}
	/* end of details 3 */


	/* Testimonials */
	.slider-2 .swiper-container {
		width: 92%;
	}

	.slider-2 .card-body {
		padding: 3rem 2.625rem 3.125rem 2.625rem;
	}
	/* end of testimonials */


	/* Footer */
	.footer .footer-col.first {
		width: 352px;
		margin-right: 6rem;
	}
	
	.footer .footer-col.second {
		margin-right: 6.5rem;
	}
	
	.footer .footer-col.third {
		text-align: right;
	}
	/* end of footer */


	/* Extra Pages */
	.ex-cards-1 .card {
		width: 336px;
	}

	.ex-cards-1 .card:nth-of-type(3n+2) {
		margin-right: 2.875rem;
		margin-left: 2.875rem;
	}
	/* end of extra pages */
}
/* end of min-width 1200px */

.bglogo {
    background-image: url(https://s3.amazonaws.com/usn-cache.salvationarmy.org/6016204c-0163-4701-a776-90d607808551_logo.png);
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: .9;
}

.tablinks  {
	background: #01bc99;
		color: white;
		
		float: left;
		border: none;
		outline: none;
		cursor: pointer;
		padding: 14px 16px;
		border: 2px solid white; 
		border-radius: 5px !important;
		margin-right: 1%;
		font-weight: 900;
		text-transform: uppercase;
	  }
	  @media (min-width: 768px) {
	  .tablinks {  width: 24%; font-size: 17px; border-radius: 5px;}
	
	  }
	  
	 @media (max-width: 1199px) {
		  .cPad {padding: 50px 0px;}
		 
	 }
	  @media (max-width: 767px) {
		   .tablinks {  width: 49%; font-size: 17px; border-radius: 5px; margin-bottom: 10px;}
			 .header {margin-top:80px !important;}
			 .scheduleList {margin-top: 100px !important;}
	  }


	  .btSpeaker * {text-align: center;}
.btSpeaker {

    border-radius: 10px;
    border: solid #e8e8e8 1px;
      box-shadow: 0px 12px 15px 3px #dddddd38;
	  height: 100%;

}

.bioSocial i {margin: 5px;}
.btSpeaker:hover {
background: #01bc99;
    color: white !important;
  
    transition-timing-function: ease;
    border: solid #cacaca 1px;
       cursor: pointer;
	   border: 3px solid #01bc99;
	   transition: .4s;
}



.btSpeaker img {
        width: 100%;
border-radius: 10px 10px 0px 0px;
    margin-bottom: 14px;

}
.speakerImg img {width: 100%;}

row.display-flex {
  display: flex;
  flex-wrap: wrap;
}
.row.display-flex > [class*='col-'] {
  flex-grow: 1;
}

.speakerMrg>.col-6 {margin-bottom: 20px;}


/**********************************************/
/*  Fun / Unique Design Enhancements          */
/**********************************************/

/* Scroll-triggered fade-in animations */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(40px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-40px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(40px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.9); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-12px); }
}

.animate-on-scroll {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s cubic-bezier(0.22,1,0.36,1), transform 0.7s cubic-bezier(0.22,1,0.36,1);
}
.animate-on-scroll.animate-left {
  transform: translateX(-40px);
}
.animate-on-scroll.animate-right {
  transform: translateX(40px);
}
.animate-on-scroll.animate-scale {
  transform: scale(0.9);
}
.animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
}

/* Stagger children animations */
.stagger-children .animate-on-scroll:nth-child(1) { transition-delay: 0s; }
.stagger-children .animate-on-scroll:nth-child(2) { transition-delay: 0.1s; }
.stagger-children .animate-on-scroll:nth-child(3) { transition-delay: 0.2s; }
.stagger-children .animate-on-scroll:nth-child(4) { transition-delay: 0.3s; }
.stagger-children .animate-on-scroll:nth-child(5) { transition-delay: 0.4s; }
.stagger-children .animate-on-scroll:nth-child(6) { transition-delay: 0.5s; }

/* ── Arch Section Separators ── */
/* Standalone arch divider placed between sections.
   Creates a subtle convex curve that overlaps into the next section. */
.section-arch {
  position: relative;
  height: 0;
  z-index: 5;
  pointer-events: none;
}
.section-arch::before {
  content: '';
  position: absolute;
  top: 0;
  left: -5%;
  width: 110%;
  height: 50px;
  border-radius: 0 0 50% 50%;
}
/* Color variants — matches the section ABOVE */
.section-arch-light::before { background: #e8eef3; }
.section-arch-navy::before  { background: #02215a; }
.section-arch-white::before { background: #ffffff; }
.section-arch-gray::before  { background: #F2F6F7; }
.section-arch-red::before   { background: #ff1f38; }

/* Decorative floating shapes */
.decorative-bg {
  position: relative;
  overflow: hidden;
}
.decorative-bg::before,
.decorative-bg::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  opacity: 0.06;
  pointer-events: none;
  z-index: 0;
}
.decorative-bg::before {
  width: 400px;
  height: 400px;
  background: #ff1f38;
  top: -100px;
  right: -100px;
  animation: float 8s ease-in-out infinite;
}
.decorative-bg::after {
  width: 300px;
  height: 300px;
  background: #01bc99;
  bottom: -80px;
  left: -80px;
  animation: float 10s ease-in-out infinite 2s;
}
.decorative-bg > * {
  position: relative;
  z-index: 1;
}

/* Countdown heading */
.countdown-heading {
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #ff1f38;
  margin-bottom: 0.5rem;
  animation: heroFadeUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.55s both;
}

/* Countdown timer — glassmorphism */
.countdown-wrap {
  display: flex;
  justify-content: flex-start;
  gap: 1rem;
  margin: 1.5rem 0 0.5rem;
}
.countdown-item {
  text-align: center;
  background: rgba(255,255,255,0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(2,33,90,0.08);
  border-radius: 16px;
  padding: 1.2rem 1.5rem;
  min-width: 90px;
  box-shadow: 0 2px 12px rgba(2,33,90,0.06);
  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
  animation: heroFadeUp 0.6s cubic-bezier(0.22,1,0.36,1) both;
}
.countdown-item:nth-child(1) { animation-delay: 0.6s; }
.countdown-item:nth-child(2) { animation-delay: 0.7s; }
.countdown-item:nth-child(3) { animation-delay: 0.8s; }
.countdown-item:nth-child(4) { animation-delay: 0.9s; }
.countdown-item:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255,0.9);
  box-shadow: 0 6px 20px rgba(2,33,90,0.1);
}
.countdown-number {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  color: #ff1f38;
  line-height: 1;
  letter-spacing: -1px;
}
.countdown-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #02215a;
  margin-top: 0.4rem;
  letter-spacing: 1px;
}

/* Enhanced about cards */
.aboutItem {
  transition: transform 0.3s cubic-bezier(0.22,1,0.36,1), box-shadow 0.3s ease;
  border: 1px solid #e8eef1;
  position: relative;
  overflow: hidden;
}
.aboutItem::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg,
    #00bc9a  0%,  #00bc9a  25%,
    #ff1f38 25%,  #ff1f38  50%,
    #ffc529 50%,  #ffc529  75%,
    #00215a 75%,  #00215a 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1);
}
.aboutItem:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.08);
}
.aboutItem:hover::before {
  transform: scaleX(1);
}

/* Guest Speaker section */
.speakers-section {
  padding: 5rem 0 4rem;
  background: #ffffff;
  position: relative;
  overflow: hidden;
}
.speakers-section::before {
  content: '';
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(2,33,90,0.04) 0%, transparent 70%);
  top: -150px;
  left: -150px;
  pointer-events: none;
}

/* CSS Grid layout for reflow */
.speaker-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

.speaker-col {
  transition: all 0.5s cubic-bezier(0.22,1,0.36,1);
}

.speaker-card {
  text-align: center;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  background: white;
  border: 1px solid #e8eef1;
  box-shadow: 0 4px 20px rgba(0,0,0,0.04);
  transition: all 0.5s cubic-bezier(0.22,1,0.36,1);
  cursor: pointer;
  position: relative;
}
.speaker-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.1);
}

/* Reduced photo height */
.speaker-card .speaker-img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/3.2;
}
.speaker-card .speaker-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: transform 0.5s cubic-bezier(0.22,1,0.36,1);
  margin-bottom: 0;
}
.speaker-card:hover .speaker-img-wrap img {
  transform: scale(1.05);
}

.speaker-card-body {
  padding: 1rem 0.75rem;
}
.speaker-card-body h5 {
  font-size: 0.95rem;
  margin-bottom: 0.2rem;
  color: #02215a;
  transition: color 0.3s ease;
}
.speaker-card-body .speaker-role {
  font-size: 0.78rem;
  color: #7d838a;
  margin-bottom: 0;
  font-weight: 500;
}

/* Hidden bio - revealed on expand */
.speaker-bio {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0 1.25rem;
  transition: max-height 0.5s cubic-bezier(0.22,1,0.36,1),
              opacity 0.4s ease 0.1s,
              padding 0.5s cubic-bezier(0.22,1,0.36,1);
}
.speaker-bio p {
  font-size: 0.88rem;
  line-height: 1.65;
  color: #515867;
  text-align: left;
  margin-bottom: 0;
}
.speaker-close-btn {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: rgba(0,0,0,0.06);
  color: #515867;
  font-size: 0.85rem;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
  z-index: 2;
}
.speaker-close-btn:hover {
  background: rgba(0,0,0,0.12);
}

/* Active card highlight */
.speaker-col.is-active .speaker-card {
  border-color: #00bc9a;
  box-shadow: 0 8px 30px rgba(0,188,154,0.18);
  transform: translateY(-4px);
}

/* Dim siblings when one is selected */
.speaker-grid.has-expanded .speaker-col:not(.is-active) {
  opacity: 0.5;
  transform: scale(0.97);
}
.speaker-grid.has-expanded .speaker-col:not(.is-active):hover {
  opacity: 0.75;
}

/* ── Shared detail panel ── */
.speaker-detail {
  grid-column: 1 / -1;
  display: none;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid #e0e6ea;
  box-shadow: 0 20px 60px rgba(0,0,0,0.1);
  background: #fff;
}
.speaker-detail.is-open {
  display: block;
  animation: detailSlideIn 0.45s cubic-bezier(0.22,1,0.36,1) both;
}
@keyframes detailSlideIn {
  from { opacity: 0; transform: translateY(-12px); }
  to   { opacity: 1; transform: translateY(0); }
}
.speaker-detail-inner {
  display: grid;
  grid-template-columns: 25% 1fr;
  min-height: 260px;
}
/* Image left */
.speaker-detail-img {
  position: relative;
  overflow: hidden;
}
.speaker-detail-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.speaker-detail-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(2,33,90,0.85) 0%, rgba(2,33,90,0.3) 55%, transparent 100%);
}
/* Name/role on image */
.speaker-detail-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 1.25rem 1.5rem;
}
.speaker-detail-name {
  font-size: 1.25rem;
  color: #fff;
  margin-bottom: 0.1rem;
  text-shadow: 0 1px 4px rgba(0,0,0,0.25);
  font-family: "all-round-gothic", sans-serif;
}
.speaker-detail-role {
  font-size: 0.82rem;
  color: #00bc9a;
  font-weight: 600;
  margin: 0;
}
/* Bio right */
.speaker-detail-bio {
  padding: 2rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.speaker-detail-bio p {
  font-size: 0.95rem;
  line-height: 1.8;
  color: #515867;
  margin: 0;
}
.speaker-detail-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: rgba(2,33,90,0.07);
  color: #02215a;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.speaker-detail-close:hover {
  background: rgba(2,33,90,0.14);
}

/* Tablet */
@media (max-width: 991px) {
  .speaker-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .speaker-detail-inner {
    grid-template-columns: 30% 1fr;
  }
  .speaker-detail-bio {
    padding: 1.5rem 1.75rem;
  }
}
/* Mobile — stacked */
@media (max-width: 575px) {
  .speaker-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }
  .speaker-detail-inner {
    grid-template-columns: 1fr;
  }
  .speaker-detail-img {
    aspect-ratio: 16/9;
  }
  .speaker-detail-bio {
    padding: 1.25rem;
  }
}
.section-badge {
  display: block;
  width: fit-content;
  margin: 0 auto 1rem;
  padding: 0.4rem 1.2rem;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.badge-red {
  background: rgba(255,31,56,0.1);
  color: #ff1f38;
}
.badge-green {
  background: rgba(1,188,153,0.1);
  color: #01bc99;
}
.badge-blue {
  background: rgba(2,33,90,0.1);
  color: #02215a;
}

/* Enhanced sponsors section */
.sponsors-showcase {
  padding: 5rem 0 4rem;
  background: linear-gradient(180deg, #f8fafb 0%, #ffffff 100%);
  position: relative;
}
.sponsor-tier-label {
  display: inline-block;
  padding: 0.35rem 1.5rem;
  border-radius: 50px;
  font-weight: 700;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 1.5rem;
}
.tier-platinum {
  background: linear-gradient(135deg, #e8e8e8, #c0c0c0);
  color: #333;
}
.tier-gold {
  background: linear-gradient(135deg, #fff4d4, #f0c040);
  color: #7a5e00;
}
.tier-silver {
  background: linear-gradient(135deg, #eef1f3, #b8c4cc);
  color: #4a5568;
}
.sponsor-logo-card {
  background: white;
  border-radius: 16px;
  padding: 1.5rem;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e8eef1;
  position: relative;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease, border-color 0.3s ease;
  margin-bottom: 1.5rem;
}
.sponsor-logo-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.08);
  border-color: #01bc99;
}
.sponsor-logo-card img {
  max-width: 80%;
  max-height: 60px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.6;
  transition: filter 0.4s ease, opacity 0.4s ease, transform 0.4s ease;
  margin-bottom: 0;
}
.sponsor-logo-card:hover img {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.05);
}

/* ── Exhibitor / Sponsor CTA cards ── */
.exh-spo-section {
  padding: 5rem 0 4rem;
  background: #ffffff;
  position: relative;
}
.exh-spo-card {
  background: #fff;
  border: 1px solid #e8eef1;
  border-radius: 16px;
  padding: 2.5rem 2rem;
  text-align: center;
  height: 100%;
  position: relative;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease;
}
.exh-spo-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg,
    #00bc9a  0%,  #00bc9a  25%,
    #ff1f38 25%,  #ff1f38  50%,
    #ffc529 50%,  #ffc529  75%,
    #00215a 75%,  #00215a 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1);
}
.exh-spo-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.08);
}
.exh-spo-card:hover::before {
  transform: scaleX(1);
}
.exh-spo-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(0,188,154,0.1);
  color: #00bc9a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 1.25rem;
}
.exh-spo-icon--gold {
  background: rgba(255,197,41,0.12);
  color: #d4a017;
}
.exh-spo-card h3 {
  font-size: 1.35rem;
  color: #02215a;
  margin-bottom: 0.75rem;
}
.exh-spo-card p {
  font-size: 0.92rem;
  line-height: 1.7;
  color: #515867;
  margin-bottom: 1.5rem;
}

/* Fun pill-shaped nav links */
.navbar .nav-item .nav-link {
  border-radius: 50px !important;
  padding: 0.45rem 1.1rem !important;
  margin: 0 0.15rem;
  transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}
.navbar .nav-item .nav-link:hover {
  background: rgba(2,33,90,0.06) !important;
  color: #02215a !important;
}
/* Scroll-spy active pill */
.navbar .nav-item .nav-link.active-section {
  background: #02215a !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(2,33,90,0.25);
}

/* Gradient text for key headings */
.gradient-text {
  background: linear-gradient(135deg, #ff1f38 0%, #02215a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Animated underline for section titles */
.fancy-underline {
  position: relative;
  display: inline-block;
}
.fancy-underline::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg,
    #00bc9a  0%, #00bc9a  25%,
    #ff1f38 25%, #ff1f38  50%,
    #ffc529 50%, #ffc529  75%,
    #00215a 75%, #00215a 100%);
  background-size: 200% 100%;
  animation: underlineShift 3s ease-in-out infinite;
}
@keyframes underlineShift {
  0%   { background-position: 0% 0; }
  50%  { background-position: 100% 0; }
  100% { background-position: 0% 0; }
}

/* Blob decoration for location section */
.purple2 {
  position: relative;
  overflow: hidden;
}
.purple2::before {
  content: '';
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.04) 0%, transparent 70%);
  top: -200px;
  right: -200px;
  pointer-events: none;
}

/* Smooth button upgrades */
.btn-solid-lg, .btn-solid-reg, .btn-solid-white {
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.btn-solid-lg::before, .btn-solid-reg::before, .btn-solid-white::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  transform: translate(-50%, -50%);
  transition: width 0.5s ease, height 0.5s ease;
  z-index: -1;
}
.btn-solid-lg:hover::before, .btn-solid-reg:hover::before, .btn-solid-white:hover::before {
  width: 300px;
  height: 300px;
}

/* ========================= */
/*   Schedule Section         */
/* ========================= */
.sched-section {
  padding: 5rem 0 4rem;
  background: #02215a;
  position: relative;
  overflow: hidden;
}
.sched-section::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(1,188,153,0.1) 0%, transparent 70%);
  bottom: -200px;
  right: -200px;
  pointer-events: none;
}

/* Day Tabs */
.sched-tabs {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}
.sched-tab {
  background: rgba(255,255,255,0.08);
  border: 2px solid rgba(255,255,255,0.15);
  border-radius: 16px;
  padding: 0.8rem 1.8rem;
  color: rgba(255,255,255,0.7);
  cursor: pointer;
  text-align: center;
  min-width: 100px;
  transition: all 0.3s cubic-bezier(0.22,1,0.36,1);
  outline: none;
}
.sched-tab:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.3);
  color: white;
  transform: translateY(-2px);
}
.sched-tab.active {
  background: white;
  border-color: white;
  color: #02215a;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.2);
}
.sched-tab-label {
  display: block;
  font-weight: 800;
  font-size: 1.1rem;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.sched-tab-date {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  opacity: 0.7;
  margin-top: 0.15rem;
}
.sched-tab.active .sched-tab-date {
  opacity: 0.5;
}

/* Day Panels */
.sched-panel {
  display: none;
}
.sched-panel.active {
  display: block;
  animation: schedFadeIn 0.4s cubic-bezier(0.22,1,0.36,1);
}
@keyframes schedFadeIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Timeline */
.sched-timeline {
  position: relative;
  padding-left: 140px;
  max-width: 800px;
  margin: 0 auto;
}
.sched-timeline::before {
  content: '';
  position: absolute;
  left: 126px;
  top: 0;
  bottom: 0;
  width: 3px;
  background: rgba(255,255,255,0.12);
  border-radius: 3px;
}

/* Timeline Item */
.sched-item {
  position: relative;
  margin-bottom: 1rem;
}
.sched-item::before {
  content: '';
  position: absolute;
  left: -14px;
  top: 1.4rem;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #01bc99;
  border: 3px solid #02215a;
  z-index: 1;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sched-item:hover::before {
  transform: scale(1.3);
  box-shadow: 0 0 0 4px rgba(1,188,153,0.3);
}

/* Time Label */
.sched-time {
  position: absolute;
  left: -140px;
  top: 1.1rem;
  width: 110px;
  text-align: right;
  font-size: 0.8rem;
  font-weight: 700;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Schedule Card */
.sched-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 1.1rem 1.4rem;
  margin-left: 1rem;
  transition: all 0.3s cubic-bezier(0.22,1,0.36,1);
}
.sched-card:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.15);
  transform: translateX(4px);
}
.sched-card h5 {
  color: white;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.3rem;
  line-height: 1.4;
}
.sched-card p {
  color: rgba(255,255,255,0.6);
  font-size: 0.85rem;
  margin-bottom: 0;
  line-height: 1.5;
}
.sched-card.highlight-card {
  background: rgba(255,255,255,0.1);
  border-left: 3px solid #ff1f38;
}
.sched-card.highlight-card:hover {
  background: rgba(255,255,255,0.14);
}

/* Tags */
.sched-tag {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  border-radius: 6px;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.4rem;
}
.sched-tag i {
  margin-right: 0.25rem;
  font-size: 0.6rem;
}
.tag-session {
  background: rgba(255,31,56,0.15);
  color: #ff6b7d;
}
.tag-logistics {
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.6);
}
.tag-meal {
  background: rgba(255,176,46,0.15);
  color: #ffb02e;
}
.tag-worship {
  background: rgba(1,188,153,0.15);
  color: #5be8c9;
}
.tag-event {
  background: rgba(100,140,255,0.15);
  color: #8aabff;
}

/* Mobile schedule */
@media (max-width: 767px) {
  .sched-tabs {
    gap: 0.5rem;
  }
  .sched-tab {
    min-width: 75px;
    padding: 0.6rem 1rem;
    border-radius: 12px;
  }
  .sched-tab-label {
    font-size: 0.9rem;
  }
  .sched-timeline {
    padding-left: 0;
    max-width: 100%;
  }
  .sched-timeline::before {
    left: 14px;
  }
  .sched-time {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    text-align: left;
    margin-bottom: 0.3rem;
    margin-left: 2.5rem;
  }
  .sched-item::before {
    left: 9px;
    top: 0.2rem;
  }
  .sched-card {
    margin-left: 2.5rem;
  }
}

/* ========================= */
/*   Location Section         */
/* ========================= */
.location-section {
  padding: 5rem 0 4rem;
  background: #02215a;
  position: relative;
  overflow: hidden;
}
.location-section::before {
  content: '';
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.04) 0%, transparent 70%);
  top: -200px;
  right: -150px;
  pointer-events: none;
}
.location-visual {
  position: relative;
  padding: 1rem;
}
.location-img-main {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
}
.location-img-main img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 0;
}
.location-img-badge {
  position: absolute;
  bottom: -10px;
  right: -10px;
  width: 100px;
  height: 100px;
  background: #02215a;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 25px rgba(0,0,0,0.3);
  border: 3px solid rgba(255,255,255,0.1);
}
.location-img-badge img {
  width: 60px;
  height: auto;
  margin-bottom: 0;
}
.location-highlights {
  display: flex;
  gap: 2rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
.location-stat {
  text-align: left;
}
.location-stat-number {
  display: block;
  font-size: 1.8rem;
  font-weight: 800;
  color: #00bc9a;
  line-height: 1;
}
.location-stat-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 0.25rem;
}
@media (max-width: 767px) {
  .location-highlights {
    gap: 1.5rem;
  }
  .location-stat-number {
    font-size: 1.4rem;
  }
  .location-section h1 {
    text-align: center !important;
  }
  .location-section .section-badge {
    margin-left: auto !important;
  }
}

/* ========================= */
/*   Workshops Section        */
/* ========================= */
.workshops-section {
  padding: 5rem 0 4rem;
  background: #F2F6F7;
  position: relative;
}
.workshop-track-card {
  background: white;
  border-radius: 16px;
  padding: 1.75rem 1.5rem;
  height: 100%;
  border: 1px solid #e8eef1;
  position: relative;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease;
}
.workshop-track-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg,
    #00bc9a  0%,  #00bc9a  25%,
    #ff1f38 25%,  #ff1f38  50%,
    #ffc529 50%,  #ffc529  75%,
    #00215a 75%,  #00215a 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1);
}
.workshop-track-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.08);
}
.workshop-track-card:hover::before {
  transform: scaleX(1);
}
.workshop-track-icon {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  margin-bottom: 1.25rem;
}
.workshop-track-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #02215a;
  margin-bottom: 1rem;
  line-height: 1.3;
}
.workshop-track-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem 0;
}
.workshop-track-list li {
  position: relative;
  padding-left: 1.1rem;
  padding-bottom: 0.6rem;
  font-size: 0.85rem;
  color: #515867;
  line-height: 1.5;
}
.workshop-track-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00bc9a;
}
.workshop-track-count {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 50px;
  background: #F2F6F7;
  font-size: 0.7rem;
  font-weight: 700;
  color: #7d838a;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Photo gallery hover enhancement */
.galleryImg {
  overflow: hidden;
}
.galleryImg img {
  transition: transform 0.6s cubic-bezier(0.22,1,0.36,1), filter 0.4s ease !important;
}
.galleryImg:hover img {
  transform: scale(1.08) !important;
  filter: brightness(1.1);
}

/* Responsive hero */
@media (max-width: 991px) {
  .hero {
    padding: 7em 0 5em;
  }
  .hero-content .row > [class*="col-"]:first-child,
  .hero-content .row > [class*="col-"]:last-child {
    text-align: center;
  }
  .hero-logo {
    max-width: 360px;
  }
  .hero-date {
    font-size: 1.3rem;
  }
  .hero-sub {
    margin: 0 auto 1.5rem;
  }
  .countdown-wrap {
    justify-content: center;
  }
  .hero-cta {
    display: inline-block;
  }
}
@media (max-width: 576px) {
  .hero {
    padding: 7em 0 4em;
  }
  .hero-logo {
    max-width: 280px;
    margin-bottom: 1rem;
  }
  .hero-date {
    font-size: 1.1rem;
  }
  .hero-sub {
    font-size: 0.92rem;
  }
  .countdown-wrap {
    gap: 0.6rem;
  }
  .countdown-item {
    min-width: 68px;
    padding: 0.8rem 0.75rem;
    border-radius: 12px;
  }
  .countdown-number {
    font-size: 1.75rem;
  }
  .countdown-label {
    font-size: 0.6rem;
  }
  .hero-blob {
    display: none;
  }
  .speaker-card {
    margin-bottom: 1.5rem;
  }
}

/* CTA banner */
.cta-banner {
  background: linear-gradient(135deg, #02215a 0%, #0a3a7a 50%, #01bc99 100%);
  padding: 4rem 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-banner::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.06) 0%, transparent 70%);
  top: -300px;
  right: -200px;
  pointer-events: none;
}
.cta-banner h2, .cta-banner p {
  color: white !important;
}

/* Marquee for sponsor logos */
@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.sponsor-marquee-wrap {
  overflow: hidden;
  width: 100%;
  position: relative;
}
.sponsor-marquee-wrap::before,
.sponsor-marquee-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  width: 80px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}
.sponsor-marquee-wrap::before {
  left: 0;
  background: linear-gradient(to right, #f8fafb, transparent);
}
.sponsor-marquee-wrap::after {
  right: 0;
  background: linear-gradient(to left, #f8fafb, transparent);
}
.sponsor-marquee {
  display: flex;
  animation: marquee 25s linear infinite;
  width: max-content;
}
.sponsor-marquee:hover {
  animation-play-state: paused;
}
.sponsor-marquee-item {
  flex: 0 0 auto;
  padding: 1rem 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sponsor-marquee-item img {
  max-height: 50px;
  max-width: 150px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.5;
  transition: filter 0.3s, opacity 0.3s;
  margin-bottom: 0;
}
.sponsor-marquee-item:hover img {
  filter: grayscale(0%);
  opacity: 1;
}

.bt-clean-carousel {
  background: white;
  overflow: hidden;
}

.bt-carousel-wrapper {
  overflow: hidden;
}

.bt-carousel-track {
  display: flex;
  transition: transform 0.8s ease-in-out;
}

.bt-slide {
  min-width: 100%;
  display: flex;
  gap: 1rem;
  padding: 0 1rem;
  box-sizing: border-box;
}

.bt-slide img {
  flex: 1 1 0;
  min-width: 0;
  height: 420px;
  object-fit: cover;
  border-radius: 18px;
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}

/* Tablet — show 2 images, hide 3rd */
@media (max-width: 991.98px) {
  .bt-slide img:nth-child(3) {
    display: none;
  }
  .bt-slide img {
    height: 340px;
  }
}

/* Mobile — show 1 image, hide 2nd & 3rd */
@media (max-width: 575.98px) {
  .bt-slide img:nth-child(2),
  .bt-slide img:nth-child(3) {
    display: none;
  }
  .bt-slide img {
    height: 280px;
  }
}

.bt-slide img:hover {
  transform: scale(.99);
  border: 6px solid #00bc9a;
  transition: .2s;
}

/* Traditional pagination */
.bt-pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 2rem;
}

.bt-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  background: #f2f2f2;
  transition: background 0.3s ease, transform 0.3s ease;
  cursor: pointer;
}

.bt-dot.active {
  background: #03b090;
  transform: scale(1.2);
}

.bt-arch {
  position: absolute;
  top: -40px;
  left: 0;
  width: 100%;
  height: 80px;
  background: #000;
  border-bottom-left-radius: 100% 60px;
  border-bottom-right-radius: 100% 60px;
}