/*!
Theme Name: Olympic India
Theme URI: http://intcoder.com/
Author: intcoder.com
Author URI: http://intcoder.com/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: olympic-india
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Olympic India is based on intcoder https://intcoder.com/, (C) 2012-2020 Automattic, Inc.
intcoder is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# CSS Custom Properties (Design Tokens)
--------------------------------------------------------------*/
:root {
	/* Brand Colors */
	--color-primary: #182663;
	--color-primary-dark: #0f1a45;
	--color-accent: #ffa500;
	--color-accent-dark: #e08d00;
	--color-accent-light: #ffb733;

	/* Neutral Colors */
	--color-white: #ffffff;
	--color-black: #000000;
	--color-text: #404040;
	--color-text-light: #555555;
	--color-text-muted: #777777;
	--color-border: #e0e0e0;
	--color-background: #f6f7f8;
	--color-background-alt: #f9fcfe;

	/* Typography */
	--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--font-size-base: 1rem;
	--font-size-sm: 0.875rem;
	--font-size-lg: 1.125rem;
	--font-size-xl: 1.25rem;
	--line-height-base: 1.6;

	/* Spacing */
	--spacing-xs: 0.5rem;
	--spacing-sm: 1rem;
	--spacing-md: 1.5rem;
	--spacing-lg: 2rem;
	--spacing-xl: 3rem;
	--spacing-section: 80px;
	--spacing-section-mobile: 50px;

	/* Border Radius */
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-lg: 12px;
	--radius-xl: 20px;
	--radius-full: 50%;

	/* Shadows */
	--shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.08);
	--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
	--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
	--shadow-xl: 0 12px 32px rgba(0, 0, 0, 0.15);
	--shadow-card: 0 4px 18px rgba(0, 0, 0, 0.12);

	/* Transitions */
	--transition-fast: 0.15s ease;
	--transition-base: 0.3s ease;
	--transition-slow: 0.5s ease;

	/* Z-index layers */
	--z-dropdown: 100;
	--z-sticky: 500;
	--z-fixed: 1000;
	--z-modal: 2000;
	--z-tooltip: 3000;

	/* Container widths */
	--container-max: 1200px;
	--container-narrow: 900px;
	--container-wide: 1400px;
}

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li>ul,
li>ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}



a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -0;
	z-index: 99999;
	background-color: #fff;
	display: block;
	border-radius: 3px;
	min-width: 230px;
	display: none;
}

.main-navigation ul ul li {
	display: block;
	width: 100%;
}

.main-navigation ul ul li a {
	display: block;
	width: 100%;
	padding: 10px 12px;
	color: #000 !important;
}

.main-navigation ul ul li.current-menu-item a,
.main-navigation ul ul li a:hover {
	color: #ffa500 !important;
}

.main-navigation ul ul li a::before {
	display: none;
}

.menu-item-has-children>a:after {
	position: absolute;
	right: 0;
	top: 26px;
	background: transparent;
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid;
}

.main-navigation ul li:hover ul {
	display: block;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover>ul,
.main-navigation ul ul li.focus>ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover>ul,
.main-navigation ul li.focus>ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}
.main-navigation ul li:hover ul ul {
    display: none;
    left: 100%;
    top: 0;
}

.main-navigation ul li:hover ul li:hover ul {
    display: block;
}
.main-navigation ul ul li.menu-item-has-children>a:after {
    right: 7px;
    top: 20px;
    transform: rotate(270deg);
}
/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}



.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
.main-navigation ul li:nth-last-child(2) ul,
.main-navigation ul li:last-child ul {
	right: 0 !important;
	min-width: 200px !important;
}
.main-navigation ul li:nth-last-child(2) ul ul, 
.main-navigation ul li:last-child ul ul {
    left: unset;
    right: 100% !important;
}
.announcement-marque-wrapper {
    background: #000;
    padding: 5px 36px;
    display: flex;
    gap: 30px;
    align-items: center;
    position: relative;
    z-index: 99999;
}
.announcement-marque-wrapper a {
	color: #fff;
	text-decoration: none;
}
.announcement-marque-wrapper a:hover {
	color: #ffa500;
}
a.arrow-btn.announcement-view-all {
    white-space: nowrap;
	font-size: 12px;
}
a.arrow-btn.announcement-view-all span {
    display: inline-block;
    width: 16px;
}
a.arrow-btn.announcement-view-all:hover {
    color: #ffa500;
}
marquee {
    margin-top: 5px;
    font-size: 12px;
}

a.marquee-item {
    margin-right: 10px;
    border: 1px solid #fff;
    padding-right: 5px;
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline-block;
}
a.marquee-item:hover {
 border: 1px solid #ffa500;
}
.marquee-item span {
    background: #fff;
    color: #000;
    padding: 5px 10px;
    margin-right: 7px;
}
a.marquee-item:hover span {
 background: #ffa500;
}
.home .site-header {
    top: 36px;
}

/* ===========================
   ABOUT SECTION (2-COLUMN)
=========================== */

.boa-about-section {
	background: url('/images/bg/background.png') no-repeat center bottom / cover;
	padding: 80px 0;
}

.boa-about-wrapper {
	width: 90%;
	margin: auto;
	display: flex;
	align-items: center;
	gap: 40px;
}

/*.boa-about-left img {
	width: 100%;
	max-width: 500px;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}*/

.boa-about-right {
	flex: 1;
}

	

	/* Improved About Us text look */
	.boa-about-right p {
		font-size: 18px !important;
		line-height: 1.8 !important;
		color: black !important;
		margin-top: 15px !important;
		margin-bottom: 25px !important;
		font-weight: 400 !important;
		letter-spacing: 0.3px !important;
		text-align:justify;
	}


.boa-about-btn {
	background: #ffa500 !important; /* ORANGE */
	padding: 12px 30px !important;
	color: white !important;
	border-radius: 6px !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	display: inline-block;
}

	.boa-about-btn:hover {
		background: #e08d00 !important; /* Darker orange hover */
	}



/* ===========================
   HOME - NEWS SECTION
=========================== */

.home-news-section {
	padding: 80px 0;
	background: #fff;
}

.home-news-section-content-top h6 {
	color: #ffb100;
	font-weight: 700;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.home-news-section-content h1 {
	font-size: 36px;
	font-weight: 700;
}

.home-news-section-content p {
	font-size: 16px;
	line-height: 1.6;
}

/* News Card Boxes */

.home-news-box-wrapper {
	padding: 10px;
}



.home-news-box {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
	transition: 0.3s;
}

	.home-news-box:hover {
		transform: translateY(-5px);
	}

.news-box-image img {
	width: 100%;
	height: 240px;
	object-fit: cover;
}

.news-box-details {
	padding: 20px;
	min-height: 250px;
}

	.news-box-details h3 {
		font-size: 20px;
		margin-bottom: 10px;
		font-weight: 700;
	}

	.news-box-details a {
		text-decoration : none ;
	}

	.news-box-details p {
		font-size: 15px;
		color: #555;
	}

.home-news-section-content {
	margin-bottom: 40px !important; /* increase gap */
}



/* --------------------------------------------------
   MODERN GALLERY LIKE BIHAR OLYMPIC WEBSITE
-------------------------------------------------- */

.boa-gallery-modern {
	padding: 80px 0 !important;
	background: #fff !important;
	text-align: left !important;
}

.boa-gallery-heading {
	font-size: 32px !important;
	font-weight: 800 !important;
	margin-bottom: 30px !important;
}

/* GRID */
.boa-gallery-grid-modern {
	width: 90% !important;
	margin: auto !important;
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important; /* 3 per row */
	gap: 30px !important;
}

/* CARD STYLE */
.boa-gallery-item {
	background: #fff;
	border-radius: 20px !important;
	padding: 0 !important;
	overflow: hidden !important;
	box-shadow: 0 4px 25px rgba(0,0,0,0.1) !important;
	transition: all 0.3s ease !important;
}

	.boa-gallery-item:hover {
		transform: translateY(-6px) !important;
	}

	/* IMAGE INSIDE CARD */
.gallery-img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	border-radius: 10px;
	cursor: pointer;
	box-shadow: 0 5px 18px rgba(0,0,0,0.15);
	transition: 0.3s;
}
.boa-gallery-image {
	width: 100%;
	height: 250px; /* control image height */
	object-fit: cover; /* full cover */
	border-radius: 12px; /* rounded corners */
	display: block;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); /* soft shadow */
	transition: transform 0.4s ease, box-shadow 0.4s ease;
}

	.boa-gallery-image:hover {
		transform: translateY(-5px);
		box-shadow: 0 18px 45px rgba(0, 0, 0, 0.3);
	}adius: 10px;
	

/* VIEW MORE BUTTON */
.boa-gallery-viewmore {
	margin-top: 40px !important;
}

.boa-gallery-viewmore-btn {
	padding: 12px 30px !important;
	background: #007bff !important;
	color: #fff !important;
	border-radius: 25px !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}

/* RESPONSIVE FIXES (MATCH EXACT DESIGN) */
@media (max-width: 992px) {
	.boa-gallery-grid-modern {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 576px) {
	.boa-gallery-grid-modern {
		grid-template-columns: repeat(1, 1fr) !important;
	}
}

/* ------------------------------------------
   GLOBAL BUTTON STYLE (Arrow Button)
------------------------------------------- */
.boa-btn-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #ffa500 !important; /* Orange button */
	color: #fff !important;
	padding: 10px 26px !important;
	border-radius: 30px !important; /* Rounded pill shape */
	font-size: 16px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: all 0.3s ease !important;
}

	.boa-btn-arrow span {
		display: flex;
		align-items: center;
	}

	.boa-btn-arrow svg {
		width: 18px;
		height: 18px;
		stroke: #fff;
	}

	/* Hover effect */
	.boa-btn-arrow:hover {
		background: #e08d00 !important; /* Darker orange */
		transform: translateX(3px);
	}

/* ABOUT SECTION */
.boa-about-section {
	padding: 80px 20px;
	background: url('/images/bg/background.png') no-repeat center bottom / cover;
}

.boa-about-section-title {
	text-align: center;
	font-size: 36px;
	font-weight: 700;
	color: #063970;
	margin-bottom: 40px;
}

.boa-about-wrapper {
	max-width: 1200px;
	margin: auto;
	display: flex;
	gap: 60px;
	align-items: center;
}

/* Left Image */
.boa-about-left img {
	width: 100%;
	max-width: 650px;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.15);
	border: 6px solid #fff;
}

/* Right Content (no card) */
.boa-about-right {
	flex: 1;
	padding: 0; /* remove card padding */
	background: none; /* remove background */
	box-shadow: none; /* remove shadow */
	border-radius: 0; /* remove rounded corners */
}

	


/* PAGE TITLE SECTION */
.page-title {
	padding: 100px 0 20px;
	background: linear-gradient(135deg, #7393B3 0%, #5a7a9a 100%);
	
}

.page-title-container {
	max-width: var(--container-max, 1200px);
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}

.page-title h1 {
	font-size: 30px;
	font-weight: 500;
	margin: 0;
	color: var(--color-white, #fff);
	text-align: left;
}

.page-title h1::after {
	content: "";
	display: block;
	margin: 12px 0 0;
	width: 60px;
	height: 4px;
	background: var(--color-accent, #ffa500);
	border-radius: 2px;
}

/* Breadcrumb Navigation */
.breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.95rem;
}

.breadcrumb li {
	display: flex;
	align-items: center;
	gap: 8px;
	color: rgba(255, 255, 255, 0.7);
}

.breadcrumb li a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	transition: var(--transition-base, 0.3s ease);
}

.breadcrumb li a:hover {
	color: var(--color-accent, #ffa500);
}

.breadcrumb-separator {
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.8rem;
}

.breadcrumb-current {
	color: var(--color-accent, #ffa500);
	font-weight: 500;
}

/* Responsive Page Title */
@media screen and (max-width: 768px) {
	.page-title {
		padding: 80px 0 20px;
	}

	.page-title-container {
		flex-direction: column;
		align-items: flex-start;
	}

	.page-title h1 {
		font-size: 28px;
	}

	.breadcrumb {
		font-size: 0.85rem;
	}
}

/* FIX NAVBAR OVERLAP */
.president-section {
	padding-top: 80px;
}

/* PRESIDENT SECTION */
.exec-president-card {
	max-width: 1100px;
	margin: 40px auto;
	background: #ffffff;
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
	padding: 35px;
	justify-content:initial;
}

.exec-president-wrapper {
	display: flex;
	gap: 20px;
	align-items: flex-start;
}

.exec-president-photo img {
	width: 100%;
	max-width: 360px;
	border-radius: 14px;
	object-fit: cover;
}

.exec-president-info {
	flex: 1;
	font-size: 16px;
	line-height: 1.8;
	color: #444;
	text-align:justify;
}

/* EXECUTIVE CARDS SECTION */
.executive-wrapper {
	background: #dff0f2;
	padding: 60px 20px;
}

.executive-title {
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 40px;
}

.executive-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 30px;
	max-width: 1200px;
	margin: auto;
}

.executive-card {
	background: #fff;
	padding: 25px;
	border-radius: 12px;
	text-align: center;
	box-shadow: 0 5px 18px rgba(0,0,0,0.13);
	transition: 0.3s ease-in-out;
}

	.executive-card:hover {
		transform: translateY(-8px);
		box-shadow: 0 12px 28px rgba(0,0,0,0.22);
	}

	.executive-card h2 {
		font-size: 18px;
		font-weight: 700;
	}

	.executive-card p {
		font-size: 13px;
		color: #777;
		margin-top: 5px;
	}



/* FORCE FIX: Stop JS from hiding the president photo */
.president-photo,
.president-photo img {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

/* ASSOCIATIONS SECTION */
.association-section {
	background: #ffff; /* light blue-grey background */
	padding: 70px 20px;
	
}

.home-news-section-content h1 {
	background: #ffff; /* light blue-grey background */
	padding: 0px 0px;
	
	font-size: 36px;
	font-weight: 700;

}


/* Grid layout */
.association-grid {
	max-width: 1200px;
	margin: auto;
	display: grid;
	grid-template-columns: repeat(5, 1fr); /* 5 logos */
	gap: 20px;
}

/* Card style */
.association-card {
	background: #ffffff;
	padding: 25px;
	border-radius: 4px;
	box-shadow: 0 3px 10px rgba(0,0,0,0.05);
	display: flex;
	align-items: center;
	justify-content: center;
	height: 130px; /* same height for all */
	transition: 0.3s ease;
}

	/* Logo */
	.association-card img {
		max-width: 100%;
		max-height: 80px;
		object-fit: contain;
	}

	/* Hover effect (optional but looks good) */
	.association-card:hover {
		transform: translateY(-5px);
		box-shadow: 0 10px 25px rgba(0,0,0,0.12);
	}

/* GALLERY PAGE SECTION */
.gallery-page {
	padding: 70px 20px;
}

.gallery-title {
	text-align: center;
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 30px;
}

/* Gallery Grid */
.gallery-grid {
	max-width: 1200px;
	margin: auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
}

.gallery-img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	border-radius: 10px;
	cursor: pointer;
	box-shadow: 0 5px 18px rgba(0,0,0,0.15);
	transition: 0.3s;
}

	.gallery-img:hover {
		transform: scale(1.05);
	}

/* POPUP OVERLAY */
.popup-container {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.85);
	justify-content: center;
	align-items: center;
	z-index: 10000;
}

.popup-img {
	max-width: 80%;
	max-height: 80%;
	border-radius: 10px;
}

/* CLOSE BUTTON */
.close-btn {
	position: absolute;
	top: 40px;
	right: 60px;
	font-size: 50px;
	cursor: pointer;
	color: #fff;
	font-weight: bold;
	transition: 0.2s;
}

	.close-btn:hover {
		color: #f00;
		transform: scale(1.1);
	}

/*--------------------------------------------------------------
# Enhanced Mobile Navigation
--------------------------------------------------------------*/

/* Mobile Menu Toggle Button */
.menu-toggle {
	display: none;
	background: transparent;
	border: none;
	padding: 10px;
	cursor: pointer;
	width: 44px;
	height: 44px;
	position: relative;
	z-index: var(--z-modal, 2000);
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
}

.primary-menu-icon {
	display: block;
	width: 24px;
	height: 3px;
	background-color: #fff;
	border-radius: 2px;
	transition: var(--transition-base, 0.3s ease);
	transform-origin: center;
}

/* Hamburger to X animation */
.menu-toggle[aria-expanded="true"] .icon-one {
	transform: rotate(45deg) translate(6px, 6px);
}

.menu-toggle[aria-expanded="true"] .icon-two {
	opacity: 0;
	transform: scaleX(0);
}

.menu-toggle[aria-expanded="true"] .icon-three {
	transform: rotate(-45deg) translate(6px, -6px);
}

/* Mobile Breakpoint - 768px and below */
@media screen and (max-width: 768px) {

	/* Show hamburger menu */
	.menu-toggle {
		display: flex;
	}

	/* Hide menu by default on mobile */
	.main-navigation .nav-menu {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: rgba(24, 38, 99, 0.98);
		backdrop-filter: blur(10px);
		flex-direction: column;
		padding: var(--spacing-md, 1.5rem);
		box-shadow: var(--shadow-lg, 0 8px 24px rgba(0,0,0,0.12));
		max-height: 80vh;
		overflow-y: auto;
	}

	/* Show menu when active */
	.main-navigation .nav-menu.menu-active {
		display: flex;
	}

	/* Mobile menu items */
	.main-navigation .nav-menu > li {
		width: 100%;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}

	.main-navigation .nav-menu > li:last-child {
		border-bottom: none;
	}

	.main-navigation .nav-menu > li > a {
		padding: var(--spacing-sm, 1rem) 0;
		font-size: 1.1rem;
	}

	/* Submenu styling on mobile */
	.main-navigation ul ul.sub-menu {
		position: static;
		width: 100%;
		background: rgba(0, 0, 0, 0.2);
		box-shadow: none;
		display: none;
		padding-left: var(--spacing-md, 1.5rem);
		border-radius: 0;
	}

	.main-navigation ul ul.sub-menu.submenu-visible {
		display: block;
	}

	.main-navigation ul ul li a {
		color: rgba(255, 255, 255, 0.9) !important;
		padding: 12px 0;
	}

	/* Menu parent arrow */
	.menu-item-has-children > a:after {
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		transition: var(--transition-base, 0.3s ease);
	}

	.menu-item-has-children.submenu-open > a:after {
		transform: translateY(-50%) rotate(180deg);
	}

	/* Header adjustments */
	.site-header {
		padding: 10px 15px;
	}

	.site-branding {
		padding: 8px 12px;
	}

	img.custom-logo {
		max-width: 60px;
	}

	/* Footer stacking */
	.site-footer .row {
		flex-direction: column;
	}

	.site-footer .col-md-4 {
		width: 100%;
		text-align: center;
		margin-bottom: var(--spacing-md, 1.5rem);
	}

	.footer-widget {
		margin-top: var(--spacing-sm, 1rem);
	}

	h4.footer-widget-title {
		margin-bottom: var(--spacing-sm, 1rem);
	}

	.footer-copyrigth {
		margin-top: var(--spacing-md, 1.5rem);
		padding-top: var(--spacing-sm, 1rem);
	}
}

/*--------------------------------------------------------------
# Enhanced Responsive Grid Layouts
--------------------------------------------------------------*/

/* Association Grid Responsive */
@media screen and (max-width: 1024px) {
	.association-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 768px) {
	.association-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}

	.association-card {
		height: 100px;
		padding: 15px;
	}
}

@media screen and (max-width: 480px) {
	.association-grid {
		grid-template-columns: 1fr;
	}

	.association-card {
		height: auto;
		min-height: 100px;
	}
}

/* Executive Grid Responsive */
@media screen and (max-width: 768px) {
	.executive-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.executive-card {
		padding: 20px;
	}

	.executive-title {
		font-size: 24px;
	}
}

@media screen and (max-width: 480px) {
	.executive-grid {
		grid-template-columns: 1fr;
	}
}

/* About Section Responsive */
@media screen and (max-width: 992px) {
	.boa-about-wrapper {
		flex-direction: column;
		gap: 30px;
	}

	.boa-about-left {
		width: 100%;
		text-align: center;
	}

	

	.boa-about-right {
		width: 100%;
	}

}

/* President Section Responsive */
@media screen and (max-width: 992px) {
	.president-wrapper {
		flex-direction: column;
		gap: 30px;
	}

	.president-photo,
	.president-info {
		width: 100%;
	}

	.president-photo img {
		max-width: 100%;
	}

	.president-info h2 {
		font-size: 26px;
	}
}

/* News Section Responsive */
@media screen and (max-width: 768px) {
	.home-news-section-content {
		flex-direction: column;
		text-align: center;
	}

	.home-news-section-content h1 {
		font-size: 28px;
	}

	.home-news-boxes .col-md-4 {
		width: 100%;
	}

	.news-box-details {
		min-height: auto;
		padding: 15px;
	}
}

/* Page Title Responsive */
@media screen and (max-width: 768px) {
	.page-title {
		padding: 70px 15px 20px;
	}

	.page-title h1 {
		font-size: 28px;
	}
}

/* Gallery Section Responsive */
@media screen and (max-width: 768px) {
	.boa-gallery-grid-modern {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
		width: 95%;
	}

	

	.boa-gallery-heading {
		font-size: 24px;
		padding: 0 15px;
	}
}

@media screen and (max-width: 480px) {
	.boa-gallery-grid-modern {
		grid-template-columns: 1fr;
	}

	
}

/* Contact Info Cards Responsive */
@media screen and (max-width: 768px) {
	.contact-info-wrapper {
		flex-direction: column;
		gap: 20px;
		padding: 0 15px;
	}

	.info-card {
		width: 100%;
	}

	.contact-form-card {
		margin: 30px 15px;
		padding: 25px 20px;
	}

	.form-row {
		flex-direction: column;
		gap: 15px;
	}
}

/* Section Padding Responsive */
@media screen and (max-width: 768px) {
	.boa-about-section,
	.home-news-section,
	.boa-gallery-modern,
	.association-section,
	.executive-wrapper {
		padding: var(--spacing-section-mobile, 50px) 15px;
	}

	.site-footer {
		padding-top: 40px;
		padding-left: 15px;
		padding-right: 15px;
	}
}

/*--------------------------------------------------------------
# Consolidated Button Styles
--------------------------------------------------------------*/

/* Base Button Reset */
.btn-base,
.btn-primary-custom,
.btn-secondary-custom,
.btn-link-custom,
.boa-about-btn,
.boa-btn-arrow,
.arrow-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--font-family);
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	border: none;
	transition: var(--transition-base, 0.3s ease);
	position: relative;
	overflow: hidden;
}

/* Primary Button - Orange */
.btn-primary-custom,
.boa-about-btn,
.boa-btn-arrow {
	background: var(--color-accent, #ffa500);
	color: var(--color-white, #fff) !important;
	padding: 12px 28px;
	border-radius: var(--radius-lg, 12px);
}

.btn-primary-custom:hover,
.boa-about-btn:hover,
.boa-btn-arrow:hover {
	background: var(--color-accent-dark, #e08d00);
	transform: translateY(-2px);
	box-shadow: var(--shadow-md, 0 4px 12px rgba(0,0,0,0.1));
}

/* Secondary Button - Navy */
.btn-secondary-custom {
	background: var(--color-primary, #182663);
	color: var(--color-white, #fff) !important;
	padding: 12px 28px;
	border-radius: var(--radius-lg, 12px);
}

.btn-secondary-custom:hover {
	background: var(--color-primary-dark, #0f1a45);
	transform: translateY(-2px);
	box-shadow: var(--shadow-md, 0 4px 12px rgba(0,0,0,0.1));
}

/* Link Button - Text with underline */
.btn-link-custom,
.arrow-btn {
	background: transparent;
	color: var(--color-text, #404040) !important;
	padding: 8px 0;
	border-bottom: 2px solid currentColor;
	border-radius: 0;
}

.btn-link-custom:hover,
.arrow-btn:hover {
	color: var(--color-accent, #ffa500) !important;
}

/* Button with arrow icon */
.arrow-btn span,
.boa-btn-arrow span {
	display: inline-flex;
	align-items: center;
	transition: transform var(--transition-base, 0.3s ease);
}

.arrow-btn:hover span,
.boa-btn-arrow:hover span {
	transform: translateX(4px);
}

.arrow-btn svg,
.boa-btn-arrow svg {
	width: 20px;
	height: 20px;
}

/* Button Focus States for Accessibility */
.btn-primary-custom:focus,
.btn-secondary-custom:focus,
.btn-link-custom:focus,
.boa-about-btn:focus,
.boa-btn-arrow:focus,
.arrow-btn:focus {
	outline: 2px solid var(--color-accent, #ffa500);
	outline-offset: 2px;
}

/* Button Sizes */
.btn-sm {
	padding: 8px 16px;
	font-size: 0.875rem;
}

.btn-lg {
	padding: 16px 36px;
	font-size: 1.125rem;
}

/* Pill Button Shape */
.btn-pill {
	border-radius: 50px;
}

/* Mobile Button Adjustments */
@media screen and (max-width: 768px) {
	.btn-primary-custom,
	.btn-secondary-custom,
	.boa-about-btn,
	.boa-btn-arrow {
		padding: 10px 20px;
		font-size: 0.9rem;
	}

	.btn-lg {
		padding: 12px 24px;
		font-size: 1rem;
	}
}

/*--------------------------------------------------------------
# Accessibility Enhancements
--------------------------------------------------------------*/

/* Focus visible for keyboard navigation */
:focus-visible {
	outline: 2px solid var(--color-accent, #ffa500);
	outline-offset: 2px;
}

/* Skip link for screen readers */
.skip-to-content {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: var(--z-tooltip, 3000);
	background: var(--color-primary, #182663);
	color: var(--color-white, #fff);
	padding: 12px 24px;
	text-decoration: none;
}

.skip-to-content:focus {
	left: 0;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* High contrast mode support */
@media (prefers-contrast: high) {
	.btn-primary-custom,
	.boa-about-btn,
	.boa-btn-arrow {
		border: 2px solid currentColor;
	}

	.nav-menu a {
		text-decoration: underline;
	}
}

/*--------------------------------------------------------------
# Footer Social Links
--------------------------------------------------------------*/
.social-links {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.social-links .social_item {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--color-white, #fff);
	text-decoration: none;
	transition: var(--transition-base, 0.3s ease);
	padding: 8px 0;
}

.social-links .social_item:hover {
	color: var(--color-accent, #ffa500);
	transform: translateX(5px);
}

.social-links .social_item svg {
	flex-shrink: 0;
	transition: var(--transition-base, 0.3s ease);
}

.social-links .social_item:hover svg {
	transform: scale(1.1);
}

.social-links .social_item span {
	font-size: 0.95rem;
}

/* Footer address styling */
.footer-widget-address {
	font-style: normal;
	line-height: 1.8;
	margin-bottom: var(--spacing-md, 1.5rem);
}

@media screen and (max-width: 768px) {
	.social-links {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
	}

	.social-links .social_item {
		flex-direction: column;
		gap: 8px;
		text-align: center;
	}

	.social-links .social_item:hover {
		transform: translateY(-3px);
	}

	.association-heading {
		font-size: 32px;
		font-weight: 700;
		margin-bottom: 30px;
		color: #ffff;
		letter-spacing: 1px;
	}
	
}


