/* ===================================
   1. GENERAL STYLES
   =================================== */
body {
	padding-top: 0px;
	padding-bottom: 0px;
}

.centered {
	text-align: center;
}

.subhead {
	text-align: left;
	border-bottom: 1px solid #ddd;
}

.lead {
	margin-bottom: 0px;
	font-size: 21px;
	font-weight: 200;
	line-height: 15px;
}

/* ===================================
   2. LAYOUT & CONTAINERS
   =================================== */
/* Custom container */
.container {
	margin: 0 auto;
	width: 75%;
}

.container1 {
	display: flex;
	flex-direction: row;
	margin: 0 auto;
	width: 100%;
}

.container2 {
	flex: 1;
	margin: 0 auto;
	width: 80%;

}

.container>hr {
	margin: 20px 0;
}

.container_side {
	flex: 0 0 auto;
	margin: 0 auto;
	width: 15%;
	padding-left: 30px;
	padding-right: 20px;
}

/* ===================================
   3. HEADER & JUMBOTRON
   =================================== */
.jumbotron {
	position: relative;
	padding: 45px 0px 35px 0px;
	color: #FFB81C;
	text-align: center;
	text-shadow: none;
	background: #003594;
	margin: 0;
}

/* Logo in header */
.header-logo {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 999;
	width: 180px;
	width: 180px;
	height: auto;
	height: auto;
	display: block;
	;
}

.header-logo img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ===================================
   4. NAVIGATION BAR
   =================================== */
/* Customize the navbar links to fill the entire space of the .navbar */
.navbar-inner1 {
	background-color: rgba(0, 32, 91, 0.9);
	/* Semi-transparent dark blue */
	backdrop-filter: blur(10px);
	/* Apple-style blur effect */
	-webkit-backdrop-filter: blur(10px);
	/* For Safari */
	margin: 0;
	padding: 0;
	border: none;
	box-shadow: none;
}

.navbar .nav {
	display: flex;
	justify-content: space-evenly;
	/* Equal distribution */
	width: 100%;
	margin: 0;
	padding: 0;
}

.navbar .nav li {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	/* Each item takes equal width */
	margin: 0;
	/* Remove margins */
	transition: background-color 0.3s ease;
}

.navbar .nav li a {
	font-weight: normal;
	text-align: center;
	color: #FFB81C;
	width: 100%;
	/* Full width */
	padding: 8% 0;
	/* Taller navbar */
	text-shadow: none;
	letter-spacing: 2px;
	/* Apple-style text spacing */
	font-size: 18px;
	transition: all 0.2s ease;
}

.navbar .nav li a:hover {
	background-color: #00205B;
	/* Gold background on hover */
	color: #FFB81C;
	/* Dark blue text for better contrast */
}

.navbar .nav li.active a {
	color: #00205B;
	background-color: #FFB81C;
	border-bottom: none;
}

.navbar .nav li:first-child a,
.navbar .nav li:last-child a {
	border-radius: 0;
	border-left: none;
	border-right: none;
}

body>.navbar {
	font-size: 1px
}

/* Brand/logo styling */
body>.navbar .brand {
	padding-right: 0;
	padding-left: 0;
	margin-left: 20px;
	float: right;
	font-weight: bold;
	color: #000;
}

body>.navbar .brand:hover {
	text-decoration: none;
	text-shadow: 0 0px 0 rgba(255, 255, 255, .1), 0 0 30px rgba(255, 255, 255, .4);
}

/* ===================================
   5. CAROUSEL & SLIDERS
   =================================== */
img.carousel-image {
	width: 100%;
	height: 500px;
	object-fit: cover;
}

/* ===================================
   6. MAIN CONTENT SECTIONS
   =================================== */
.section-header {
	text-align: center;
	margin-bottom: 35px;
}

.section-header h1,
.title-text {
	font-weight: bold;
	font-size: 30px;
	margin: 12.5px 0;
	font-weight: 100;
	margin-bottom: 25px;
	line-height: 55px;
}

/* ===================================
   7. FEATURE ITEMS & CARDS
   =================================== */
.feature-item:hover {
	box-shadow: 0px 1px 5px 1px rgb(216, 216, 216)
}

.feature-item img {
	margin-left: 15px;
	margin-right: 15px;
	max-width: 90%;
	height: 200px;
}

.feature-item h5 {
	margin-left: 15px;
	margin-right: 15px;
	margin-top: 20px;
	margin-bottom: 20px;
}

.feature-item p {
	margin-left: 15px;
	margin-right: 15px;
}

.feature-heading {
	margin-top: 20px;
	margin-bottom: 20px;
	margin-left: 15px;
	margin-right: 15px;
}

.feature-heading a:hover {
	text-decoration: none;
}

.feature-button {
	font-size: 16px;
	background-image: none;
	box-shadow: none;
	margin-bottom: 10px;
}

/* ===================================
   8. MEDIA SECTION STYLING
   =================================== */
#media {
	margin-top: 70px
}

#media .header {
	margin-left: 0;
	margin-bottom: 56px;
	margin-top: 30px;
}

#media .post_row {
	margin-left: 0;
	margin-bottom: 40px;
}

#media .lastpost_row {
	margin-bottom: 0
}

#media .post_row .post {
	background: #fff;
	border-radius: 0;
	box-shadow: 1px 1px 2px 0px #E0E0E0;
	width: 487px;
	height: 616px;
}

#media .post_row .last {
	margin-right: 0
}

#media .post_row .post .img {
	position: relative;
	text-align: center;
}

#media .post_row .post .img .date {
	background: #E8554E;
	position: absolute;
	padding: 2px 5px;
	top: 0;
	left: 11px;
}

#media .post_row .post .img .date p {
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	font-style: italic;
	margin: 0;
}

#media .post_row .post .img img {
	height: 275px;
	width: 410px;
}

#media .post_row .post .text {
	margin: 18px auto 0;
	width: 83%;
}

#media .post_row .post .text h5 {
	margin: 0 0 8px 0;
	font-size: 20px;
	line-height: 23px;
}

#media .post_row .post .text h5 a {
	color: #333
}

#media .post_row .post .text span.date {
	color: #9F9F9F;
	display: block;
	margin-bottom: 12px;
	font-style: italic;
	font-size: 13px;
}

#media .post_row .post .text p {
	margin: 0;
	line-height: 21px;
	font-size: 14px;
}

#media .post_row .post .author_box {
	margin: 12px auto 20px;
	border-top: 1px solid #EDEDED;
	overflow: hidden;
	text-align: left;
	width: 85%;
	padding-top: 12px;
}

#media .post_row .post .author_box h6 {
	margin: 0 0 3px 0;
	font-size: 13px;
	line-height: 15px;
	font-style: italic;
	font-weight: normal;
	color: #B2B2B2;
}

#media .post_row .post .author_box p {
	color: #B2B2B2;
	font-style: italic;
	font-size: 13px;
	line-height: 14px;
	margin: 0;
}

#media .post_row .post .author_box img {
	float: right
}

#media .post_row .post a.plus_wrapper {
	width: 99%;
	text-align: center;
	background: #fff;
	display: none;
	border-radius: 0;
	padding: 6px 0px 2px;
	margin: 0 auto 1px;
}

#media .post_row .post a.plus_wrapper span {
	color: #1189D9;
	font-size: 30px;
	font-weight: bold;
}

#media .post_row .post:hover a.plus_wrapper {
	display: block
}

#media .post_row .post:hover {
	box-shadow: 0px 1px 5px 1px rgb(216, 216, 216)
}

#media .post_row .post:hover .text h5 a {
	color: #1189D9
}

/* ===================================
   9. IMAGES & MEDIA ELEMENTS
   =================================== */
img.float-left {
	float: left;
	margin-top: 9px;
	margin-left: 0px;
	margin-right: 30px;
	margin-bottom: 12px;
}

img.float-right {
	float: right;
	margin-top: 9px;
	margin-right: 0px;
	margin-bottom: 12px;
	margin-left: 30px;
}

img.publications-thumb {
	width: 142px;
	height: 188px;
}

.caption {
	margin: 10px;
}



.thumbnail {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	overflow: hidden;
	background-color: #f5f5f5;
	border-radius: 4px;
	display: block;
}

.thumbnail img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}


.thumbnail>img.sponsor {
	position: relative;
	width: 212px;
	height: 150px;
	object-fit: contain;
}

.row-fluid .span3 .thumbnail {
	max-width: 200px;
	margin: 0 auto;
}





/* Video containers */
.responsive-video {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 60px;
	overflow: hidden;
}

.responsive-video iframe,
.responsive-video object,
.responsive-video embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 93.5%;
	height: 93.5%;
}

.video-caption {
	margin: 10px;
}

/* ===================================
   10. SIDEBAR & DOCUMENTATION
   =================================== */
/* Sidenav for Docs */
@media screen and (max-width: 768px) {
	.bs-docs-sidenav {
		display: none !important;
	}
}

.bs-docs-sidenav {
	width: 228px;
	margin: 30px 0 0;
	padding: 0;
	background-color: #fff;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, .065);
	-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, .065);
	box-shadow: 0 1px 4px rgba(0, 0, 0, .065);
}

.bs-docs-sidenav>li>a {
	display: block;
	width: 200px;
	margin: 0 0 -1px;
	padding: 8px 14px;
	border: 1px solid #e5e5e5;
}

.bs-docs-sidenav>li>a.subhead {
	display: block;
	width: 168px;
	margin: 0 0 -1px;
	padding: 8px 30px;
	border: 1px solid #e5e5e5;
	font-size: 12px;
}

.bs-docs-sidenav>li:first-child>a {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.bs-docs-sidenav>li:last-child>a {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.bs-docs-sidenav>.active>a {
	position: relative;
	z-index: 2;
	padding: 9px 15px;
	border: 0;
	text-shadow: 0 1px 0 rgba(0, 0, 0, .15);
	-webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, .1), inset -1px 0 0 rgba(0, 0, 0, .1);
	-moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, .1), inset -1px 0 0 rgba(0, 0, 0, .1);
	box-shadow: inset 1px 0 0 rgba(0, 0, 0, .1), inset -1px 0 0 rgba(0, 0, 0, .1);
}

.bs-docs-sidenav>li>a:hover {
	background-color: #f5f5f5
}

.bs-docs-sidenav a:hover .icon-chevron-right {
	opacity: .5
}

.bs-docs-sidenav.affix {
	top: 10px
}

.bs-docs-sidenav.affix-bottom {
	position: absolute;
	top: auto;
	bottom: 270px;
}

.affix {
	top: 0px
}

/* ===================================
   11. MAP & LOCATION
   =================================== */
.map .box_wrapp {
	position: absolute;
	margin: 15px auto;
	box-shadow: 0 0 7px 0 rgba(26, 26, 26, 0.4);
	padding: 30px 0 30px;
	background: white;
	border-radius: 0;
	margin-top: 25px;
}

.map .box_wrapp .box_cont {
	margin: 30px auto;
	width: 76%;
}

iframe.map-frame {
	border: none;
	overflow: hidden;
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: 0px;
	margin-right: 0px;
	height: 550px;
	width: 100%;
}

/* ===================================
   12. ACCORDION & OTHER UI ELEMENTS
   =================================== */
.accordion {
	margin-bottom: 20px;
	margin-right: 40px;
}

li.publication {
	margin-bottom: 20px;
}

.page-header h3 a:hover {
	text-decoration: none;
}

ul.sponsors {
	margin-top: 40px;
	margin-bottom: 40px;
}

/* ===================================
   13. FOOTER
   =================================== */
#footer {
	z-index: 10;
	margin-top: 50px;
	margin-bottom: 0px;
	padding-bottom: 25px;
	border-top-width: 8px;
	border-top-style: solid;
	border-top-color: #2F2F2F;
	background-color: #003594;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	text-align: center;
}


#footer h3 {
	font-size: 19px;
	text-transform: uppercase;
	font-family: BebasNeueRegular;
	color: #FFB81C;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #FFB81C;
	line-height: 35px;
	margin-bottom: 20px;
	margin-top: 25px;
	font-weight: normal;
}

#footer a img {
	margin-top: 40px;
}

#footer p,
#footer address {
	color: #FFB81C;
	font-size: 12px;
}

#footer a {
	color: #f9f8fc;
}

/* ===================================
   ENHANCED INTRODUCTION SECTION
   =================================== */

.intro-section {
	position: relative;
	padding: 20px 5px;
	background-color: #f9f9fe;
	overflow: hidden;
	width: 100%;
}

/* Background elements and animation */
.intro-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.background-animation {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(120deg, rgba(0, 35, 93, 0.05) 0%, rgba(0, 53, 148, 0.06) 50%, rgba(255, 184, 28, 0.05) 100%);
	z-index: -1;
}

.security-grid {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: repeat(10, 1fr);
	grid-template-rows: repeat(10, 1fr);
	z-index: -1;
}

.security-icon {
	opacity: 0.03;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23003594" d="M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4z"/></svg>');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	animation: fade-in-out 8s infinite;
}

.security-icon:nth-child(2n) {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23FFB81C" d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2z"/></svg>');
}

.security-icon:nth-child(3n) {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23003594" d="M21 11c0 5.55-3.84 10.74-9 12-5.16-1.26-9-6.45-9-12V5l9-4 9 4v6z"/></svg>');
}

@keyframes fade-in-out {

	0%,
	100% {
		opacity: 0.02;
		transform: scale(1);
	}

	50% {
		opacity: 0.06;
		transform: scale(1.1);
	}
}

/* Introduction content styling */
.intro-section .container {
	position: relative;
	z-index: 5;
}

.intro-header {
	text-align: center;
	margin-bottom: 50px;
}

.intro-header h2 {
	color: #003594;
	font-size: 42px;
	font-weight: 300;
	letter-spacing: 1px;
	text-align: center;
	margin: 0 auto;
}

.intro-underline {
	height: 4px;
	width: 80px;
	margin: 10px auto;
	background: linear-gradient(to right, #FFB81C, #003594);
	border-radius: 2px;
}

/* Highlight box styling */
.intro-highlight {
	margin-bottom: 70px;
}

.intro-highlight-inner {
	background-color: rgba(255, 184, 28, 0.08);
	border-left: 4px solid #FFB81C;
	padding: 30px 40px;
	border-radius: 6px;
	box-shadow: 0 5px 20px rgba(0, 53, 148, 0.05);
	transition: transform 0.3s ease;
}

.intro-highlight-inner:hover {
	transform: translateY(-5px);
}

.intro-highlight h4 {
	font-weight: 400;
	font-size: 18px;
	line-height: 1.7;
	color: #333;
	margin: 0;
}

/* Content grid layout */
.intro-content-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 60px;
}

.intro-content-column {
	flex: 1;
	min-width: 300px;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.content-card {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 10px 25px rgba(0, 53, 148, 0.05);
	padding: 30px;
	transition: all 0.3s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.content-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 15px 35px rgba(0, 53, 148, 0.1);
}

.card-icon {
	height: 60px;
	width: 60px;
	border-radius: 50%;
	background-color: rgba(0, 53, 148, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}

.card-content h3 {
	color: #003594;
	font-size: 22px;
	margin-bottom: 15px;
	font-weight: 500;
}

.card-content p {
	color: #555;
	font-size: 15px;
}