/* change your menu color here */
:root {
	--cnvs-themecolor: #F39887;
	--cnvs-themecolor-rgb: 243, 152, 135;
	--vanguard-display-font: 'Literata', Georgia, serif;
	--vanguard-ui-font: 'Roboto', Arial, sans-serif;
	--vanguard-meta-font: 'Source Code Pro', monospace;
	--cnvs-primary-font: var(--vanguard-display-font);
	--cnvs-body-font: var(--vanguard-ui-font);
	--cnvs-secondary-font: var(--vanguard-display-font);
}

* {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

ul {
	/* padding-left: 20px; */
	/* --icon-space: 1.3em; */
	list-style: none;
	padding: 0;
}
ul li {
	padding-left: var(--icon-space);
	padding-bottom: 5px;
}
ol li {
	padding-left: var(--icon-space);
	padding-bottom: 5px;
}
ul li:before {
	content: "\f00c"; /* FontAwesome Unicode */
	font-family: FontAwesome;
	margin-left: calc( var(--icon-space) * -1 );
	width: var(--icon-space);
	margin-right: 10px;
	color: var(--cnvs-themecolor) !important;
}
ul li ul li:before {
	content: "\f105" !important;
}

ul li ul li ul li:before {
	content: "\ff192" !important;
}

ol li::marker {
	margin-left: calc( var(--icon-space) * -1 );
    width: var(--icon-space);
    margin-right: 10px;
    color: var(--cnvs-themecolor) !important;
}

ol li ol {
	list-style-type: lower-alpha;
}

ol li ol li ol {
	list-style-type: circle;
}

.menu-container li:before, .news-categories ul li:before, .pagination li:before {
	content: none !important;
}



body.dark,
.dark #wrapper,
.dark #content,
.dark #header:not(.transparent-header),
#header.dark:not(.transparent-header),
.dark #header-wrap:not(.not-dark) {
	background-color: #073642;
}

.dark #header-wrap:not(.not-dark) {
	background-color: #022b35 !important;
}


.entry::after { background-color: #EEE !important; }
.dark .entry::after { background-color: rgba(255,255,255,0.15) !important; }

.dark .header-misc-icon > a { color: #EEE; }

.header-size-custom #logo img {
	height: 70px;
}

/* These logo states used to be injected by JavaScript after first paint. */
.dark #header-wrap:not(.not-dark) #logo [class^="logo-"],
.dark .header-row:not(.not-dark) #logo [class^="logo-"] {
	display: none;
}
.dark #header-wrap:not(.not-dark) #logo .logo-dark,
.dark .header-row:not(.not-dark) #logo .logo-dark {
	display: flex;
}
.theme-icon-dark { display: none; }
.dark .body-scheme-toggle .theme-icon-light { display: none; }
.dark .body-scheme-toggle .theme-icon-dark { display: inline-block; }

.date-today {
	position: relative;
	margin-top: -1.25rem;
	margin-bottom: 1.5rem;
}

.date-today .divider-text {
	color: #777;
	font-size: 0.875rem !important;
	line-height: 1.3;
}

.date-today::after,
.date-today::before {
	background-color: transparent;
	height: 0;
	border-top: 4px double #DDD;
}

.ad-banner {
	text-align: center;
	max-width: 970px;
	margin: 0 auto;
}

.icon-dark { font-family: 'font-icons'; }
.dark .icon-dark { font-family: 'lined-icons'; }
.dark .dark-mode .icon-dark::before { content: "\e9e3"; }
.dark-mode .icon-dark::before { content: "\eae7"; }

.dropdown-langs .dropdown-item {
	font-size: 14px;
}

.dropdown-langs img {
	width: 18px;
	height: 18px;
}

.dropdown-langs .dropdown-toggle::after {
	position: relative;
	/* font-family: 'font-icons'; */
	/* content: "\e998"; */
	font-size: 10px;
	top: 3px;
	border: 0;
	color: #666;
	margin-left: -5px;
}

.social-icon.si-mini {
	--cnvs-socialicon-size: 1.75rem;
	--cnvs-socialicon-fontsize: 0.75rem;
	margin-bottom: 0;
}

.entry-title h3 {
	text-transform: none;
	letter-spacing: 0;
	font-weight: 500;
	font-size: 25px;
}

.entry-title.title-sm h2,
.entry-title.title-sm h3,
.entry-title.title-xs h2,
.entry-title.title-xs h3 {
	font-size: 1.25rem;
	line-height: 1.6;
}
.entry-title.title-xs h2,
.entry-title.title-xs h3,
.entry-title h4 {
	font-size: 1.15rem;
}

.entry-title h4 {
	font-size: 1rem;
	font-weight: 400;
}

.entry-title h2 a,
.entry-title h2 a:hover,
.entry-title h3 a,
.entry-title h3 a:hover,
.entry-title h4 a:hover  { color: #222 !important; }

.dark .entry-title h3 a,
.dark .entry-title h2 a:hover,
.dark .entry-title h3 a:hover,
.dark .entry-title h4 a:hover  { color: #EEE !important; }

:not(.dark) .entry-categories a {
	display: block;
	text-transform: uppercase;
	font-size: 11px;
	color: #333;
	font-weight: 700;
	letter-spacing: 1px;
	margin-bottom: 10px;
}

.dark .entry-categories a { color: var(--cnvs-themecolor); }

.entry-meta {
	display: block;
	float: none;
	margin: 8px 0 0 0 !important;
}

.entry-image-desc {
	margin: 0;
	top: 50%;
	transform: translateY(-50%);
}
.entry-content {
	margin-top: 25px;
}

.entry-content p {
	/* color: #555; */
	/* font-size: 15px; */
	/* line-height: 22px !important; */
}


/* Hero */
.hero h1 {
	color: white !important;
	text-transform: uppercase;
	/* font-size: 2.5rem; */
    line-height: 1.07;
	position: relative;
}
/* Hero image area */
.hero {
	padding: 300px 0 0;
	position: relative;
	margin: 0 0 10px;
  }
  .hero-image {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
  }

  @media screen and (min-width: 768px) {
	.hero {
	  padding: 250px 0 0;
	  margin: 0;
	}

  }

  .hero-gradient-mask-all {
	position: absolute;
	width: 100%;
	height: 100%;
	bottom: 0;
	background-color: #000000a5;
	/* background: linear-gradient(0deg, #000 11.33%, rgb(0 0 0 / 0%) 100%) !important; */
	}

  .hero-gradient-mask {
	position: absolute;
	width: 100%;
	height: 100%;
	bottom: 0;
	background: linear-gradient(0deg, #000 11.33%, rgb(0 0 0 / 0%) 100%);
  }

  @media (min-width: 768px) {
	.hero-gradient-mask {
	  background: linear-gradient(90deg, #000 11.33%, rgb(0 0 0 / 0%) 100%);
	}
  }

@media (min-width: 992px) {
  .page-hero {
	margin-left: 8.33333333%;
  }
}

 .hero {
	margin: 0;
	padding: 200px 0 30px;
  }

 .page-hero {
	margin-bottom: 0;
	padding-bottom: 20px;
  }

  @media (min-width: 768px) {
	.page-hero {
	  padding-bottom: 140px;
	}
  }


.page-hero .hero-cta-link {

	transition: color ease 0.1s, background-color ease 0.1s !important;
  }

  .page-hero .hero-cta-link:hover {
	color: white !important;
  }

  .hero-cta-link {
	font-weight: 500 !important;
  }

  a.hero-cta-link:hover {
    color: white !important;
}
/* .dark .entry-content p { color: rgba(255, 255, 255, 0.7); } */

.posts-md .entry-meta,
.posts-md .entry-meta a,
.posts-sm .entry-meta,
.posts-sm .entry-meta a {
	font-size: 14px;
}

.dark .entry-meta li a { color: #AAA !important; }

.posts-sm .entry:not(:first-child) .grid-inner,
.posts-md .entry:not(:first-child) .grid-inner {
	padding-top: 2rem;
	border-top: 1px solid #E5E5E5;
}

.dark .posts-sm .entry:not(:first-child) .grid-inner,
.dark .posts-md .entry:not(:first-child) .grid-inner {
	border-top-color: rgba(255, 255, 255, 0.25);
}

.week-posts {
	list-style: none;
}

.week-posts li .entry-image {
	display: none;
}

.week-posts > li {
	counter-increment: step-counter;
}

.week-posts > li .grid-inner::before {
	content: "0" counter(step-counter)'.';
	position: absolute;
	left: 0;
	font-size: 26px;
	font-weight: 700;
	font-family: var(--cnvs-secondary-font);
	color: #DDD;
	line-height: 1;
}

.week-posts > li .grid-inner {
	padding-left: 48px;
}

.dark .week-posts > li::before { color: rgba(255,255,255,0.3); }

.play-icon {
	position: absolute;
	bottom: 15px;
	left: 15px;
	color:  #EEE;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 1px;
	font-weight: 500;
}

.play-icon i {
	position: relative;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.85);
	text-align: center;
	line-height: 28px;
	color: #222;
	padding: 1px 0 0 3px;
	font-size: 10px;
	margin-right: 5px;
}

.color-underline {
	background-image: linear-gradient(rgba(var(--cnvs-themecolor-rgb, 243, 152, 135), 0.3), rgba(var(--cnvs-themecolor-rgb, 243, 152, 135), 0.3));
	background-repeat: no-repeat;
	background-size: 0 8px;
	background-position: 0 82%;
	padding: 0 2px 2px 0;
	transition: background .6s cubic-bezier(.19,1,.22,1);
}

.color-underline:hover { background-size: 100% 8px; }
.color-underline-show { background-size: 100% 8px; }

.dark .color-underline,
.dark .widget > h4 {
	background-image: linear-gradient(rgba(255,255,255, 0.25), rgba(255,255,255, 0.25));
}

@media screen and (min-width: 992px) {
	.dark .menu-item .menu-link {
		background-image: linear-gradient(rgba(255,255,255, 0.25), rgba(255,255,255, 0.25));
	}
}

/* .fancy-title.title-border::before {
	border-top: 2px solid #888;
	top: 50%;
	margin-top: -1px;
} */

a.more-link {
	font-style: normal;
	border-bottom: none;
	font-size: 14px;
	color: #222;
	font-weight: 500;
	text-transform: capitalize;
	text-decoration: underline !important;
}

.dark a.more-link { color: #DDD; }

a.more-link i {
	font-size: 14px;
	margin-left: 5px;
}

.section-colored { background-color: var(--cnvs-solarized-light2); }

.dark .section-colored { background-color: #022b35; }

/* .page-title {
	background-color: #ecf2f4;
} */

.dark.section {
	background-color: #010101;
}

.dark .section {
    background-color: #022b35;
}

.widget_links li a {
	background-image: none !important;
	padding-left: 7px;
}

.widget > h4 {
	display: inline-block;
	/* background-image: linear-gradient(rgba(var(--cnvs-themecolor-rgb, 243, 152, 135), 0.3), rgba(var(--cnvs-themecolor-rgb, 243, 152, 135), 0.3));
	background-repeat: no-repeat;
	background-size: 100% 6px;
	background-position: 0% 95%; */
}

#footer {
	background-color: var(--cnvs-solarized-light2);
	border-top: 0;
}

.dark #footer {
	background-color: #022b35;
}

#copyrights {
	background-color: var(--cnvs-body-bg);
}

.dark #copyrights { background-color: rgba(7, 54, 67); }


/* Responsive Device more than 992px (.device-md >)
-----------------------------------------------------------------*/
@media (min-width: 992px) {

	#header,
	#header-wrap {
		border: 0;
	}

	#header.sticky-header #header-wrap {
		box-shadow: none;
	}

	.header-size-custom #logo img {
		width: auto;
		height: 62px;
	}

	.header-size-custom .header-wrap-clone {
		height: 116px;
	}

	.header-size-custom .menu-container > .menu-item > .menu-link {
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.menu-link {
		text-transform: none;
		letter-spacing: 0;
		font-size: 15px;
		font-weight: 500;
	}

	.primary-menu {
		width: 80%;
		border-top: 0;
	}

	.header-row.header-border {
		border-top: 1px solid #f2f2f2;
		border-bottom: 1px solid #f2f2f2;
	}

	.dark .header-row.header-border {
		border-top-color: rgba(255,255,255,0.15);
		border-bottom-color: rgba(255,255,255,0.15);
	}

	.sticky-header #header-wrap {
		border-bottom: 1px solid #E5E5E5;
	}

	.dark.sticky-header #header-wrap {
		border-bottom-color: rgba(255,255,255,0.15);
	}

	.sticky-header .header-row.header-border {
		border-bottom: 0;
	}

	.menu-item .menu-link {
		background-image: linear-gradient(rgba(var(--cnvs-themecolor-rgb, 243, 152, 135), 0.3), rgba(var(--cnvs-themecolor-rgb, 243, 152, 135), 0.3));
		background-repeat: no-repeat;
		background-size: 0% 7px;
		background-position: 0 58%;
		transition: background-size .6s cubic-bezier(.19,1,.22,1);
		padding-left: 1px;
		padding-right: 1px;
		color: #222 !important;
	}

	.dark .menu-item .menu-link { color: #EEE !important; }

	.menu-item.current .menu-link {
		background-size: 100% 7px;
	}

	/* .menu-item:hover .menu-link {
		background-size: 100% 7px;
	} */

	.top-search-open #top-search form { height: 100px !important; }
	.top-search-open .social-icons { opacity: 0; z-index: -2; }
	body.top-search-open .primary-menu { opacity: 1 !important; }

	.border-between > [class*='col-']::before {
	   background: #E5E5E5;
	   bottom: 0;
	   content: " ";
	   left: 0;
	   position: absolute;
	   width: 1px;
	   top: 0;
	}

	.dark .border-between > [class*='col-']::before { background: rgba(255, 255, 255, 0.2); }

	.border-between > [class*='col-']:first-child::before { display: none; }

	/* Re-Edit Bootstrap */
	.border-between > [class*='col-'],
	.border-between .container,
	.border-between .container-fluid {
		padding-right: 30px;
		padding-left: 30px;
	}

	.border-between.row {
		margin-right: -30px;
		margin-left: -30px;
	}
}

.btn-sm,
.btn-group-sm > .btn { line-height: 2; }


/* SINGLE PAGE */

.single-post .entry .entry-title,
.single-post .entry .entry-title h2 {
	max-width: 750px;
	margin: 0 auto;
	text-align: center;
	text-transform: none;
	letter-spacing: -1px;
	font-size: 34px;
}

.single-post .entry .entry-image {
	margin: 25px 0 35px;
}

.single-post .entry-content .text-content {
	position: relative;
	display: block;
	margin-top: 20px;
}

.single-post .entry-content .text-content p {
	font-size: 18px;
	line-height: 1.65 !important;
}

.single-post .entry-content ol.list-numbers {
	padding-left: 15px;
	margin: 30px 20px;
}

.single-post .entry-content ol.list-numbers li {
	font-size: 19px;
	line-height: 1.5;
	list-style-type: decimal;
	margin-top: 1.5rem;
	font-family: var(--cnvs-primary-font,  'Domine', serif);
}

.single-post .media-content .entry-title { display: none; }

.single-post .si-share {
	display: block;
	border-bottom: 1px solid #EEE;
	margin-bottom: 20px;
	padding: 0 0 20px 0;
}

.single-post .si-share h5 {
	font-weight: 500;
	opacity: .7;
	margin-bottom: 8px;
}

.related-posts .entry-title h3 {
	font-size: 20px;
	margin-top: 10px;
}

#comments label {
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
	margin-bottom: 5px;
	opacity: .7;
}

.comment-content p {
	font-size: 17px;
	line-height: 1.6 !important;
}

.comment-content .comment-author span,
.comment-content .comment-author span a {
	font-style: normal;
	font-family: var(--cnvs-primary-font);
	margin-top: 4px;
}

/* Responsive Device more than 992px (.device-md >)
-----------------------------------------------------------------*/
@media (min-width: 992px) {
	.single-post .media-content .entry-title {
		display: block;
		border-bottom: 1px solid #EEE;
		margin-top: 20px;
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.single-post .media-content .entry-title h4 {
		font-size: 15px;
		line-height: 1.6;
		margin-bottom: 0;
	}

	.single-post .si-share {
		display: block;
		border-bottom: none;
		margin-bottom: 0;
		padding-bottom: 0;
	}
}

@media (min-width: 1200px) {
	.single-post .entry-content .media-content {
		display: block;
		position: -webkit-sticky;
		position: sticky;
		top: 214px;
		left: 0;
		height: 100%;
		max-width: 200px;
	}

	/*.single-post .entry-content .text-content {
		max-width: 700px;
		margin-top: -170px;
		margin-right: auto;
		margin-left: auto;
	}*/
}


.page-title h1 {
	letter-spacing: 3px;
	font-family: var(--cnvs-body-font);
}

.page-title.page-title-center span {
	margin-top: 20px;
	max-width: 600px;
}

.widget-search input,
.widget-search .btn { border-color: #DDD; }

.dark .widget-search .form-control:not(.not-dark),
.dark .widget-search .btn {
	border-color: rgba(255, 255, 255, 0.1);
}

.widget-nav .nav { flex-direction: row; }

.widget-nav .nav .nav-item .nav-link {
	padding: 5px 10px;
	color: #444;
	line-height: 1.3;
	font-weight: 500;
	transition: all .2s ease;
}

.dark .widget-nav .nav .nav-item .nav-link { color: #DDD; }

.widget-nav .nav .nav-item.active .nav-link,
.widget-nav .nav .nav-item:hover .nav-link {
	border-left-color: var(--cnvs-themecolor);
	color: var(--cnvs-themecolor);
}

.dark .form-control:not(.not-dark), .dark .sm-form-control:not(.not-dark) {
	background-color: rgba(255,255,255,0.02);
	border-color: rgba(255,255,255,0.16);
	color: #EEE;
}

.dark .form-control:not(.not-dark):active,
.dark .form-control:not(.not-dark):focus,
.dark .sm-form-control:not(.not-dark):active,
.dark .sm-form-control:not(.not-dark):focus {
	border: 1px solid rgba(255,255,255,.24) !important;
	box-shadow: 0 0 0 3px rgba(var(--cnvs-themecolor-rgb), .16);
}

/* Responsive Device more than 992px (.device-md >)
-----------------------------------------------------------------*/
@media (min-width: 992px) {

	.content-wrap { overflow: inherit; }

	.widget-nav .nav { flex-direction: column; }

	.widget-nav .nav .nav-item .nav-link {
		padding: 5px 0 5px 15px;
		border-left: 1px solid #DDD;
		line-height: 1.8;
	}

	.news-categories .nav .active a {
		border-left-color: var(--cnvs-themecolor) !important;
	}
	.dark .widget-nav .nav .nav-item .nav-link,
	.dark #header.sticky-header #header-wrap,
	.dark .single-post .media-content .entry-title { border-color: rgba(255, 255, 255, 0.1); }
}

@media (max-width: 991.98px) {
	.cat-widgets.position-sticky {
		position: relative !important;
		top: 0;
		/* background-color: #F9F9F9; */
		z-index: 9;
		padding: 3rem;
		top: 0 !important;
		width: 100%;
	}
}

.stack {
	display: grid;
	grid-template-columns: 1fr;
}
  
.stack span {
	/* font-weight: bold; */
	text-transform: uppercase;
	grid-row-start: 1;
	grid-column-start: 1;
	font-size: 3rem;
	--stack-height: calc(100% / var(--stacks) - 1px);
	--inverse-index: calc(calc(var(--stacks) - 1) - var(--index));
	--clip-top: calc(var(--stack-height) * var(--index));
	--clip-bottom: calc(var(--stack-height) * var(--inverse-index));
	clip-path: inset(var(--clip-top) 0 var(--clip-bottom) 0);
	animation: stack 420ms cubic-bezier(.46,.29,0,1.24) 1 backwards calc(var(--index) * 120ms), glitch 1s ease infinite 1s alternate-reverse;
}

@media screen and (max-width: 991px) {
	.stack span {
		font-size: 2.5rem !important;
	}
}

@media screen and (max-width: 425px) {
	.stack span {
		font-size: 2rem !important;
	}
}
  
.stack span:nth-child(odd) { --glitch-translate: 8px; }
.stack span:nth-child(even) { --glitch-translate: -8px; }
  
  /* @keyframes stack {
	0% {
	  opacity: 0;
	  transform: translateX(-50%);
	  text-shadow: -2px 3px 0 red, 2px -3px 0 blue;
	};
	60% {
	  opacity: 0.5;
	  transform: translateX(50%);
	}
	80% {
	  transform: none;
	  opacity: 1;
	  text-shadow: 2px -3px 0 red, -2px 3px 0 blue;
	}
	100% {
	  text-shadow: none;
	}
  }
   */
@keyframes glitch {
	0% {
	  text-shadow: -2px 3px 0 red, 2px -3px 0 blue;
	  transform: translate(var(--glitch-translate));
	}
	2% {
	  text-shadow: 2px -3px 0 red, -2px 3px 0 blue;
	}
	4%, 100% {  text-shadow: none; transform: none; }
}


.zoom:hover {
	transform: scale(1.05);
}

.zoom {
	transition: transform .2s;
}


/* Team css */

/* .single-team {
	overflow: hidden;
}
.single-team:hover .social-profile {
	opacity: 1;
	visibility: visible;
}
.single-team:hover .member-info {
	background-color: #da4048;
}
.single-team:hover .social-profile-2 {
	opacity: 1;
	visibility: visible;
}
.single-team:hover .social-profile-3 {
	opacity: 1;
	visibility: visible;
}
.single-team:hover .social-profile-4 {
	opacity: 1;
	visibility: visible;
}
.single-team:hover .member-info-4 {
	background-color: #da4048;
	color: #fff;
	transition: all .4s linear 0s;
}
.single-team:hover .member-info-4 .designation h5 {
	color: #fff;
}
.single-team:hover .member-info-4 .designation span {
	color: #fff;
}
.single-team:hover .member-image-2 {
	overflow: hidden;
}
.single-team:hover .member-image-2 img {
	transform: scale3d(1.2, 1.2, 1.3);
}
.single-team img {
	width: 100%;
	transition: all .4s linear 0s;
}

.member-image {
	position: relative;
	overflow: hidden; }
	.member-image .social-profile {
	  position: absolute;
	  top: 30px;
	  right: 30px;
	  opacity: 0;
	  visibility: hidden;
	  transition: all .4s linear 0s; }
	.member-image img {
	  width: 100%; }

  .member-image-2 {
	position: relative;
	overflow: hidden; }

  .member-image-3 {
	padding-bottom: 20px;
	overflow: hidden; }
	.member-image-3 img {
	  width: 200px !important;
	  height: 200px;
	  margin: 0 auto;
	  border-radius: 50%; }

	  .member-info {
		display: flex;
		justify-content: space-between;
		align-items: center;
		color: #fff;
		padding: 20px;
		font-family: 'Poppins', sans-serif;
		transition: all .4s linear 0s; }
		.member-info p {
		  margin-bottom: 0;
		  font-size: 14px; }
		.member-info a {
		  color: #fff;
		  font-size: 14px; }
		  .member-info a:hover {
			text-decoration: none; }
		.member-info h6 {
		  font-size: 16px;
		  font-weight: 500; }
		.member-info span {
		  font-size: 14px; } */

/* Keep the header in its final layout before functions.js adds its device class. */
@media (min-width: 1400px) {
	body:not(.is-expanded-menu) #header .primary-menu-trigger { display: none; }
	body:not(.is-expanded-menu) #header .header-row { position: initial; }
	body:not(.is-expanded-menu) #header .header-misc { order: 6; }
	body:not(.is-expanded-menu) #header .primary-menu {
		display: flex;
		flex: 0 0 80%;
		width: 80%;
	}
	body:not(.is-expanded-menu) #header .menu-container {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: nowrap;
		width: 100%;
	}
	body:not(.is-expanded-menu) #header .menu-container > .menu-item {
		border-top: 0;
		flex: 0 0 auto;
	}
	body:not(.is-expanded-menu) #header .sub-menu-container {
		position: absolute;
		visibility: hidden;
		top: 100%;
		left: 0;
		width: var(--cnvs-primary-menu-submenu-width);
		background: var(--cnvs-primary-menu-submenu-bg);
		border: var(--cnvs-primary-menu-submenu-border);
		border-top: var(--cnvs-primary-menu-submenu-top-border);
		padding: 0;
		z-index: 399;
	}
	body:not(.is-expanded-menu) #header .menu-item:hover > .sub-menu-container { visibility: visible; }
	#header.header-size-custom,
	#header.header-size-custom #header-wrap { min-height: 116px; }
}

/* Vanguard design system
-----------------------------------------------------------------*/
:root {
	/* Primitive spacing scale. Keep component spacing on this scale so the
	   vertical rhythm remains consistent across templates and CMS blocks. */
	--vanguard-space-3xs: 0.25rem;
	--vanguard-space-2xs: 0.5rem;
	--vanguard-space-xs: 0.75rem;
	--vanguard-space-sm: 1rem;
	--vanguard-space-md: 1.5rem;
	--vanguard-space-lg: 2rem;
	--vanguard-space-xl: 3rem;
	--vanguard-space-2xl: 4rem;
	--vanguard-space-3xl: 6rem;

	/* Responsive, semantic spacing for page regions. */
	--vanguard-section-space-xs: clamp(1.75rem, 3vw, 2.5rem);
	--vanguard-section-space-sm: clamp(2.25rem, 4vw, 3.5rem);
	--vanguard-section-space-md: clamp(3.5rem, 6vw, 5.5rem);
	--vanguard-section-space-lg: clamp(4.5rem, 8vw, 7rem);
	--vanguard-page-title-space: clamp(2.75rem, 6vw, 5.5rem);
	--vanguard-section-heading-gap: clamp(1.25rem, 2.5vw, 2rem);
	--vanguard-section-content-gap: clamp(1.5rem, 3vw, 2.5rem);
	--vanguard-grid-gap: clamp(1rem, 2vw, 1.5rem);
	--vanguard-container-gutter: clamp(1rem, 2.5vw, 1.75rem);
	--vanguard-container-gutter-x: clamp(2rem, 5vw, 3.5rem);
	--vanguard-card-padding: clamp(1.25rem, 2.5vw, 2rem);
	--vanguard-card-padding-lg: clamp(1.5rem, 4vw, 3.5rem);

	--vanguard-radius-sm: 10px;
	--vanguard-radius: 16px;
	--vanguard-radius-lg: 24px;
	--vanguard-border: rgba(var(--cnvs-contrast-rgb), 0.09);
	/* Shared surface hierarchy. Event cards established the visual baseline;
	   every public component now consumes the same theme-aware values. */
	--vanguard-card-bg: rgba(var(--cnvs-contrast-rgb), 0.025);
	--vanguard-card-bg-strong: rgba(var(--cnvs-contrast-rgb), 0.045);
	--vanguard-section-bg: rgba(var(--cnvs-contrast-rgb), 0.018);
	--vanguard-card-border: var(--vanguard-border);
	--vanguard-card-hover-border: rgba(var(--cnvs-themecolor-rgb), 0.45);
	--vanguard-surface: var(--vanguard-card-bg);
	--vanguard-surface-strong: var(--vanguard-card-bg-strong);
	--vanguard-shadow-sm: 0 8px 24px rgba(2, 43, 53, 0.07);
	--vanguard-shadow: 0 18px 50px rgba(2, 43, 53, 0.11);
	--vanguard-content-width: 790px;
}

/* Shared section primitives. These are intentionally independent from the
   theme's legacy `.section` class so new Wagtail components can opt in safely. */
.container,
.container-fluid {
	--bs-gutter-x: var(--vanguard-container-gutter-x);
}
.site-section { padding-block: var(--vanguard-section-space-md); }
.site-section--compact { padding-block: var(--vanguard-section-space-sm); }
.site-section--spacious { padding-block: var(--vanguard-section-space-lg); }
.site-section--flush { padding-block: 0; }
.site-section-header { margin-bottom: var(--vanguard-section-heading-gap); }
.site-section-stack {
	display: grid;
	gap: var(--vanguard-section-content-gap);
}
.site-grid { gap: var(--vanguard-grid-gap); }
.site-card-padding { padding: var(--vanguard-card-padding); }
.site-card-padding-lg { padding: var(--vanguard-card-padding-lg); }
.site-surface-card {
	border: 1px solid var(--vanguard-card-border);
	border-radius: var(--vanguard-radius);
	background: var(--vanguard-card-bg);
}
.site-surface-card--strong { background: var(--vanguard-card-bg-strong); }

html { scroll-behavior: smooth; }
body {
	font-family: var(--vanguard-ui-font);
	line-height: 1.7;
}
button,
input,
select,
textarea { font-family: var(--vanguard-ui-font); }
h1, .h1,
h2, .h2,
h3, .h3 {
	font-family: var(--vanguard-display-font);
	font-optical-sizing: auto;
	font-weight: 700;
	letter-spacing: -.025em;
}
h4, .h4,
h5, .h5,
h6, .h6 { font-family: var(--vanguard-ui-font); }
:where(
	.entry-meta,
	.entry-categories,
	.page-title-kicker,
	.breadcrumb,
	.breadcrumb-dark,
	.newsletter-eyebrow,
	.homepage-section-eyebrow,
	.featured-event-eyebrow,
	.featured-event-category,
	.featured-event-meta,
	.event-card-eyebrow,
	.event-detail dt,
	.event-registration-bar-eyebrow,
	.application-success-kicker,
	.application-section-number,
	.team-title span,
	.cms-figure figcaption,
	.cms-document-link small,
	.slide-number,
	.footer-signature
) { font-family: var(--vanguard-meta-font); }
::selection { color: #022b35; background: rgba(var(--cnvs-themecolor-rgb), .6); }

.skip-link {
	position: fixed;
	top: .75rem;
	left: .75rem;
	z-index: 10000;
	transform: translateY(-150%);
	padding: .65rem 1rem;
	border-radius: var(--vanguard-radius-sm);
	color: #022b35;
	background: var(--cnvs-themecolor);
	font-weight: 700;
}

.gdpr-settings-position {
	right: auto;
	left: -580px;
	margin-left: 1rem;
}

.menu-link--plain {
	background-size: 0 0 !important;
}

.goto-top-end {
	right: 30px;
	left: auto;
}
.skip-link:focus { transform: translateY(0); }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid rgba(var(--cnvs-themecolor-rgb), .75);
	outline-offset: 3px;
}

/* Header and navigation */
#header {
	--cnvs-primary-menu-font: var(--vanguard-ui-font);
	--cnvs-primary-menu-submenu-font: var(--vanguard-ui-font);
}
#header-wrap {
	box-shadow: 0 1px 0 rgba(var(--cnvs-contrast-rgb), .06);
	transition: background-color .25s ease, box-shadow .25s ease;
}
#header.sticky-header #header-wrap {
	box-shadow: 0 10px 35px rgba(2, 43, 53, .11);
}
.header-row.header-border { border-color: var(--vanguard-border); }
.menu-container { justify-content: center; }
.menu-link { border-radius: 8px; }
.sub-menu-container {
	border-radius: 0 0 var(--vanguard-radius-sm) var(--vanguard-radius-sm);
	box-shadow: var(--vanguard-shadow-sm) !important;
	overflow: hidden;
}
.dropdown-menu {
	border: 1px solid var(--vanguard-border);
	border-radius: var(--vanguard-radius-sm);
	box-shadow: var(--vanguard-shadow-sm);
}
.dropdown-item { border-radius: 6px; }
.header-misc-icon > a {
	border-radius: 50%;
	transition: background-color .2s ease, color .2s ease;
}
.header-misc-icon > a:hover { background: rgba(var(--cnvs-themecolor-rgb), .16); }
.dropdown-langs .btn,
.dropdown-langs .btn:hover,
.dropdown-langs .btn:active,
.dropdown-langs .btn.show {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .3rem .15rem !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit;
}
.dropdown-langs .btn:hover { opacity: .72; }
.dropdown-langs .btn:focus-visible {
	outline: 0;
	box-shadow: inset 0 -2px 0 var(--cnvs-themecolor) !important;
}
.sticky-brand-mark { display: none; }

@media (min-width: 1400px) {
	.header-size-custom #logo a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: auto;
		height: 100%;
		line-height: 0;
	}
	.header-size-custom #logo img {
		width: auto;
		max-width: none;
	}
	.header-size-custom .header-brand-row {
		height: 68px;
		min-height: 68px;
	}
	.header-size-custom .header-navigation-row {
		height: 48px;
		min-height: 48px;
		border-top: 1px solid var(--vanguard-border);
		border-bottom: 0;
	}
	.header-size-custom .header-brand-row,
	.header-size-custom .header-navigation-row {
		transition: height .22s ease, min-height .22s ease;
	}
	#header.header-size-custom.sticky-header #header-wrap {
		min-height: 88px;
	}
	.header-size-custom.sticky-header .header-brand-row {
		height: 44px;
		min-height: 44px;
	}
	.header-size-custom.sticky-header .header-navigation-row {
		height: 44px;
		min-height: 44px;
	}
	.header-size-custom.sticky-header #logo img { height: 38px; }
	.header-size-custom.sticky-header #logo .logo-default,
	.header-size-custom.sticky-header #logo .logo-dark {
		display: none !important;
	}
	.header-size-custom.sticky-header #logo .sticky-brand-mark {
		display: inline-grid;
		place-items: center;
		width: 42px;
		height: 42px;
		color: var(--cnvs-contrast-900);
	}
	.header-size-custom.sticky-header #logo .sticky-brand-mark svg {
		display: block;
		width: 34px;
		height: 34px;
		overflow: visible;
	}
	.header-size-custom.sticky-header #logo .sticky-brand-mark__base {
		fill: currentColor;
	}
	.header-size-custom.sticky-header #logo .sticky-brand-mark__accent {
		fill: var(--cnvs-themecolor);
	}
	.header-size-custom.sticky-header .menu-container > .menu-item > .menu-link {
		padding-top: 8px;
		padding-bottom: 8px;
	}
	.header-size-custom .menu-container > .menu-item > .menu-link {
		position: relative;
		background-image: none !important;
	}
	.header-size-custom .menu-container {
		flex-wrap: nowrap;
	}
	.header-size-custom .menu-container > .menu-item {
		flex: 0 0 auto;
		padding-inline: clamp(.15rem, .28vw, .4rem) !important;
	}
	.header-size-custom .menu-container > .menu-item > .menu-link > div {
		white-space: nowrap;
	}
	.header-size-custom .menu-container > .menu-item > .menu-link::after {
		position: absolute;
		right: .35rem;
		bottom: 5px;
		left: .0rem;
		height: 2px;
		border-radius: 2px;
		background: var(--cnvs-themecolor);
		content: "";
		transform: scaleX(0);
		transform-origin: center;
		transition: transform .2s ease;
	}
	.header-size-custom .menu-container > .menu-item:hover > .menu-link::after,
	.header-size-custom .menu-container > .menu-item.current > .menu-link::after {
		transform: scaleX(1);
	}
}

@media (min-width: 1400px) {
	.header-size-custom .header-brand-container,
	.header-size-custom .header-navigation-container {
		width: calc(100% - 2rem);
		max-width: 1680px;
	}
	#header.header-size-custom.sticky-header #header-wrap {
		height: 64px;
		min-height: 64px;
	}
	.header-size-custom.sticky-header .header-brand-container {
		position: absolute;
		z-index: 2;
		top: 0;
		right: 0;
		left: 0;
		height: 64px;
		pointer-events: none;
	}
	.header-size-custom.sticky-header .header-brand-row,
	.header-size-custom.sticky-header .header-navigation-row {
		height: 64px;
		min-height: 64px;
	}
	.header-size-custom.sticky-header .header-navigation-row { border: 0; }
	.header-size-custom.sticky-header #logo {
		position: absolute;
		top: 50%;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 42px;
		margin: 0 !important;
		pointer-events: auto;
		transform: translateY(-50%);
	}
	.header-size-custom.sticky-header #logo a {
		display: flex;
		align-items: center;
		height: 42px;
	}
	.header-size-custom.sticky-header #logo img {
		display: block;
		height: 42px;
		margin-block: 0;
	}
	.header-size-custom.sticky-header .header-misc {
		position: absolute;
		top: 0;
		right: 0;
		width: auto;
		min-width: 110px;
		height: 64px;
		margin: 0 !important;
		pointer-events: auto;
	}
	.header-size-custom.sticky-header .header-navigation-container {
		position: relative;
		z-index: 1;
	}
	.header-size-custom.sticky-header .header-navigation-row { position: relative; }
	.header-size-custom.sticky-header .primary-menu {
		position: absolute;
		top: 50%;
		left: 50%;
		flex: 0 1 auto;
		width: max-content;
		max-width: calc(100% - 320px);
		transform: translate(-50%, -50%);
	}
	.header-size-custom.sticky-header .menu-container {
		flex-wrap: nowrap;
		justify-content: center;
		width: 100%;
	}
	.header-size-custom.sticky-header .menu-container > .menu-item > .menu-link {
		padding-top: 16px;
		padding-bottom: 16px;
	}
}

/* Translated navigation needs more room than the English labels. Below the
   wide-desktop breakpoint use the intentional hamburger layout instead of
   allowing a second, unstable menu row. */
@media (min-width: 992px) and (max-width: 1399.98px) {
	body:not(.is-expanded-menu) #header.header-size-custom,
	body:not(.is-expanded-menu) #header.header-size-custom #header-wrap {
		min-height: 64px;
	}
	body:not(.is-expanded-menu) .header-size-custom .header-wrap-clone { height: 64px; }
	body:not(.is-expanded-menu) .header-size-custom .header-brand-row {
		min-height: 64px;
		flex-wrap: nowrap;
	}
	body:not(.is-expanded-menu) .header-size-custom #logo img { height: 48px; }
	body:not(.is-expanded-menu) .header-size-custom.sticky-header #logo .logo-default,
	body:not(.is-expanded-menu) .header-size-custom.sticky-header #logo .logo-dark {
		display: none !important;
	}
	body:not(.is-expanded-menu) .header-size-custom.sticky-header #logo .sticky-brand-mark {
		display: inline-grid;
		place-items: center;
		width: 42px;
		height: 42px;
		color: var(--cnvs-contrast-900);
	}
	body:not(.is-expanded-menu) .header-size-custom.sticky-header #logo .sticky-brand-mark svg {
		display: block;
		width: 34px;
		height: 34px;
	}
	body:not(.is-expanded-menu) .header-size-custom.sticky-header #logo .sticky-brand-mark__base {
		fill: currentColor;
	}
	body:not(.is-expanded-menu) .header-size-custom.sticky-header #logo .sticky-brand-mark__accent {
		fill: var(--cnvs-themecolor);
	}
	body:not(.is-expanded-menu) .header-size-custom .header-navigation-row {
		height: auto;
		min-height: 0;
		border: 0;
	}
	body:not(.is-expanded-menu) .header-size-custom .primary-menu {
		flex-basis: 100%;
		width: 100%;
	}
}

/* Page headings and hero regions */
.page-title {
	padding-block: var(--vanguard-page-title-space);
	border-bottom: 1px solid var(--vanguard-border);
	background: var(--vanguard-section-bg);
}
.page-title-row {
	gap: 1rem;
	width: 100%;
}
.page-title-content {
	flex: 1 1 100%;
	width: 100%;
	min-width: 0;
}
.page-title-row > nav {
	width: 100%;
	min-width: 0;
}
.page-title h1,
.page-title .page-title-content h1 {
	max-width: min(100%, 1280px);
	margin: 0;
	font-family: var(--vanguard-display-font);
	font-size: clamp(2rem, 4vw, 3.65rem);
	font-optical-sizing: auto;
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.035em !important;
	text-transform: none;
	text-wrap: balance;
}
.page-title-content::before {
	display: block;
	width: 52px;
	height: 4px;
	margin-bottom: 1.1rem;
	border-radius: 10px;
	background: var(--cnvs-themecolor);
	content: "";
}
.page-title-kicker { color: var(--cnvs-contrast-600); font-size: .9rem; }
.breadcrumb,
.breadcrumb-dark {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	margin: .8rem 0 0;
	font-size: .82rem;
}
.breadcrumb-item,
.breadcrumb-dark-item { padding-bottom: 0; }
.hero {
	min-height: clamp(420px, 58vh, 680px);
	background: #022b35;
}
.hero .hero-image { filter: saturate(.88) contrast(1.05); }
.hero-gradient-mask,
.hero-gradient-mask-all {
	background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.62));
}
.page-hero { z-index: 2; max-width: 820px; text-shadow: 0 2px 22px rgba(0,0,0,.5); }
.hero:not(.home-hero) .page-hero {
	flex: 0 0 auto;
	width: min(100%, 1120px);
	max-width: 1120px;
}
.page-hero .h1,
.page-hero h1 {
	max-width: 1050px;
	font-family: var(--vanguard-display-font);
	font-size: clamp(2rem, 4.5vw, 4rem);
	font-optical-sizing: auto;
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.035em;
	text-transform: none;
	text-wrap: balance;
}
.page-hero .lead { max-width: 820px; }

/* Home hero and transition into page content */
.home-hero {
	min-height: clamp(500px, 72vh, 780px);
	background: #022b35;
}
.home-hero .slider-inner { position: absolute; }
.home-hero .swiper-slide-bg {
	filter: saturate(.96) contrast(1.04) brightness(.96);
	transform: scale(1.01);
}
.home-hero .hero-gradient-mask-all {
	background: linear-gradient(180deg, rgba(0,0,0,.42), rgba(0,0,0,.6));
}
.home-hero .slider-caption {
	max-width: min(920px, calc(100% - 2rem));
	text-shadow: 0 2px 24px rgba(0,0,0,.58);
}
.home-hero .slider-caption h1 {
	font-family: var(--vanguard-display-font);
	font-optical-sizing: auto;
	font-weight: 700;
	letter-spacing: -.035em;
	text-transform: none;
}
.home-hero .slider-caption .lead {
	font-family: var(--vanguard-ui-font);
	font-weight: 400;
	letter-spacing: 0;
}
.application-section-title {
	font-family: var(--vanguard-display-font);
	font-optical-sizing: auto;
}
.homepage {
	position: relative;
	z-index: 2;
	background: var(--cnvs-body-bg);
	isolation: isolate;
}
.homepage-section {
	position: relative;
	border: 0;
	background: var(--cnvs-body-bg);
}
.homepage .homepage-section.site-section {
	padding-block: var(--vanguard-section-space-sm);
}
.homepage-section::before,
.newsletter-section::before {
	position: absolute;
	top: 0;
	left: 50%;
	width: min(calc(100% - (2 * var(--vanguard-container-gutter))), 1320px);
	height: 2px;
	transform: translateX(-50%);
	background: linear-gradient(
		90deg,
		rgba(var(--cnvs-themecolor-rgb), .95) 0%,
		rgba(var(--cnvs-themecolor-rgb), .42) 20%,
		rgba(var(--cnvs-contrast-rgb), .12) 56%,
		rgba(var(--cnvs-contrast-rgb), .035) 78%,
		transparent 100%
	);
	content: "";
}
.homepage-section::after,
.newsletter-section::after {
	display: none;
}
.homepage-news-section {
	background: var(--vanguard-section-bg);
}
.homepage-section-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--vanguard-space-sm) var(--vanguard-space-lg);
}
.homepage-section-heading--center {
	justify-content: center;
	text-align: center;
}
.homepage-section-eyebrow {
	display: block;
	margin-bottom: var(--vanguard-space-2xs);
	color: var(--cnvs-themecolor);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.homepage-section-heading h2 {
	margin: 0;
	font-size: clamp(1.75rem, 1.45rem + 1vw, 2.5rem);
	line-height: 1.15;
	text-wrap: balance;
}
.homepage-section-link {
	display: inline-flex;
	align-items: center;
	gap: var(--vanguard-space-2xs);
	padding-bottom: var(--vanguard-space-3xs);
	color: var(--cnvs-contrast-700);
	font-size: .78rem;
	font-weight: 600;
	white-space: nowrap;
}
.homepage-section-link:hover { color: var(--cnvs-themecolor); }
.homepage-section-link i { transition: transform .2s ease; }
.homepage-section-link:hover i { transform: translateX(3px); }
.homepage-empty-state {
	margin: 0;
	padding-block: var(--vanguard-section-space-xs);
	color: var(--cnvs-contrast-600);
	text-align: center;
}
.homepage-notification { z-index: 999999; }
.homepage-news-section .entry-categories span {
	display: block;
	margin-bottom: var(--vanguard-space-2xs);
	color: var(--cnvs-themecolor);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.homepage-news-section .entry-title { margin-top: var(--vanguard-space-md); }
.homepage-news-section .entry-meta { margin-top: var(--vanguard-space-xs) !important; }
.homepage-people-section .nav-tabs { margin-bottom: var(--vanguard-space-md) !important; }
.newsletter-section {
	position: relative;
	border: 0;
}

/* A stable, CSS-only first frame for member carousels. Owl enhances this
   layout when ready instead of exposing full-width cards while a tab opens. */
#people .tab-content,
#people .tab-pane,
#people .owl-carousel { min-width: 0; }
.dark #people .nav-tabs .nav-link {
	color: rgba(255,255,255,.7);
	transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.dark #people .nav-tabs .nav-link:hover {
	background: rgba(255,255,255,.035);
	color: #fff;
}
.dark #people .nav-tabs .nav-link.active,
.dark #people .nav-tabs .nav-link[aria-selected="true"] {
	background: rgba(var(--cnvs-themecolor-rgb), .16);
	box-shadow: inset 0 -3px 0 var(--cnvs-themecolor);
	color: #fff;
}
#people .owl-carousel:not(.owl-loaded) {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 80px) / 5);
	gap: 20px;
	overflow: hidden;
}
#people .owl-carousel:not(.owl-loaded) > .oc-item { min-width: 0; }
#people .owl-carousel.owl-loaded { overflow: visible; }
#people .owl-carousel .owl-stage-outer { overflow: hidden; }
#people .owl-carousel .owl-nav [class*="owl-"] {
	top: clamp(145px, 34%, 190px);
	z-index: 5;
	display: inline-grid !important;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	border: 1px solid var(--vanguard-border);
	border-radius: 50%;
	background: #fff !important;
	color: var(--cnvs-contrast-900) !important;
	font-size: 1.15rem;
	line-height: 1;
	opacity: 1;
	box-shadow: 0 8px 22px rgba(2,43,53,.14);
	transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
#people .owl-carousel .owl-nav .owl-prev,
#people .owl-carousel:hover .owl-nav .owl-prev { left: -22px; }
#people .owl-carousel .owl-nav .owl-next,
#people .owl-carousel:hover .owl-nav .owl-next {
	right: -22px;
	left: auto;
}
#people .owl-carousel .owl-nav [class*="owl-"]:hover,
#people .owl-carousel .owl-nav [class*="owl-"]:focus-visible {
	border-color: var(--cnvs-themecolor);
	background: var(--cnvs-themecolor) !important;
	transform: scale(1.06);
}
#people .owl-carousel .owl-nav [class*="owl-"]:focus-visible {
	outline: 3px solid rgba(var(--cnvs-themecolor-rgb), .28);
	outline-offset: 3px;
}
#people .owl-carousel .owl-nav [class*="owl-"]:hover,
#people .owl-carousel .owl-nav [class*="owl-"]:focus-visible {
	color: #022b35 !important;
}
.dark #people .owl-carousel .owl-nav [class*="owl-"] {
	border-color: rgba(255,255,255,.18);
	background: rgba(2,43,53,.96) !important;
	color: #fff !important;
	box-shadow: 0 8px 22px rgba(0,0,0,.22);
}
.dark #people .owl-carousel .owl-nav [class*="owl-"]:hover,
.dark #people .owl-carousel .owl-nav [class*="owl-"]:focus-visible {
	border-color: var(--cnvs-themecolor);
	background: var(--cnvs-themecolor) !important;
	color: #022b35 !important;
}
#people .owl-carousel .owl-nav .disabled { display: none !important; }
#people .ratio {
	overflow: hidden;
	background: var(--vanguard-surface-strong);
}
#people .ratio img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 1199.98px) {
	#people .owl-carousel:not(.owl-loaded) { grid-auto-columns: calc((100% - 60px) / 4); }
}

@media (max-width: 991.98px) {
	#people .owl-carousel:not(.owl-loaded) { grid-auto-columns: calc((100% - 40px) / 3); }
}

@media (max-width: 575.98px) {
	#people .owl-carousel:not(.owl-loaded) { grid-auto-columns: calc((100% - 20px) / 2); }
}
.newsletter-section {
	padding-block: var(--vanguard-section-space-sm);
}
.newsletter-card {
	position: relative;
	padding: var(--vanguard-card-padding);
	border: 1px solid var(--vanguard-card-border);
	border-radius: var(--vanguard-radius);
	background: var(--vanguard-card-bg);
	box-shadow: none;
}
.newsletter-layout {
	display: grid;
	grid-template-columns: minmax(340px, .95fr) minmax(480px, 1.05fr);
	gap: var(--vanguard-section-content-gap);
	align-items: center;
}
.newsletter-intro,
.newsletter-action { min-width: 0; }
.newsletter-intro { max-width: 40rem; }
.newsletter-action .widget { margin: 0; }
.newsletter-action .widget-subscribe-form-result:empty { display: none; }
.newsletter-eyebrow {
	display: block;
	margin-bottom: .45rem;
	color: var(--cnvs-themecolor);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.newsletter-title {
	margin: 0 0 .35rem;
	font-size: clamp(1.45rem, 2vw, 1.8rem);
	line-height: 1.18;
	text-wrap: balance;
}
.newsletter-copy {
	max-width: 42rem;
	color: var(--cnvs-contrast-600);
	font-size: .86rem;
	line-height: 1.55;
}
.newsletter-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .65rem;
	align-items: center;
}
.newsletter-field { min-width: 0; }
.newsletter-form .form-control,
.newsletter-form .button {
	height: 52px;
	min-height: 52px;
}
.newsletter-form .form-control {
	width: 100%;
	margin: 0;
	padding-inline: 1.15rem;
	background: var(--cnvs-body-bg);
	color: var(--cnvs-contrast-900);
}
.newsletter-form .form-control::placeholder { color: var(--cnvs-contrast-500); opacity: 1; }
.newsletter-form .newsletter-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0 1.5rem;
	font-weight: 600;
	letter-spacing: 0;
	white-space: nowrap;
}
.newsletter-field-error {
	margin-top: .45rem;
	color: var(--bs-danger);
	font-size: .78rem;
}
.dark .newsletter-card {
	border-color: var(--vanguard-card-border);
	background: var(--vanguard-card-bg);
}
.dark .newsletter-form .form-control,
.dark .newsletter-form .form-control.not-dark {
	border: 1px solid rgba(255,255,255,.22);
	background: rgba(255,255,255,.075);
	color: #fff;
}
.dark .newsletter-form .form-control::placeholder,
.dark .newsletter-form .form-control.not-dark::placeholder {
	color: rgba(255,255,255,.58);
	opacity: 1;
}
.dark .newsletter-form .form-control:focus,
.dark .newsletter-form .form-control.not-dark:focus {
	border-color: var(--cnvs-themecolor);
	background: rgba(255,255,255,.1);
	box-shadow: 0 0 0 3px rgba(var(--cnvs-themecolor-rgb), .16);
}

/* Featured event */
.featured-event-section {
	padding-block: var(--vanguard-section-space-md) var(--vanguard-section-space-sm);
	background: var(--cnvs-body-bg);
}
.featured-event-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem 2rem;
	margin-bottom: var(--vanguard-section-heading-gap);
}
.featured-event-eyebrow,
.featured-event-category {
	display: block;
	color: var(--cnvs-themecolor);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.featured-event-heading h2 {
	margin: .35rem 0 0;
	font-size: clamp(1.65rem, 1.4rem + 1vw, 2.45rem);
	line-height: 1.15;
}
.featured-event-all {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding-bottom: .2rem;
	color: var(--cnvs-contrast-700);
	font-size: .78rem;
	font-weight: 600;
}
.featured-event-all:hover { color: var(--cnvs-themecolor); }
.featured-event-card {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
	overflow: hidden;
	border: 1px solid var(--vanguard-border);
	border-radius: var(--vanguard-radius);
	background: var(--vanguard-surface);
}
.featured-event-card:has(.featured-event-content:only-child) { grid-template-columns: 1fr; }
.featured-event-media { min-height: 390px; overflow: hidden; }
.featured-event-media a,
.featured-event-media img { display: block; width: 100%; height: 100%; }
.featured-event-media img {
	object-fit: cover;
	transition: transform .5s cubic-bezier(.2,.75,.25,1);
}
.featured-event-card:hover .featured-event-media img { transform: scale(1.025); }
.featured-event-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--vanguard-card-padding-lg);
}
.featured-event-content h3 {
	margin: .7rem 0 1rem;
	font-size: clamp(1.45rem, 1.2rem + .8vw, 2rem);
	line-height: 1.3;
	text-wrap: balance;
}
.featured-event-content h3 a { color: var(--cnvs-contrast-900); }
.featured-event-content h3 a:hover { color: var(--cnvs-themecolor); }
.featured-event-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem 1.25rem;
	margin-bottom: 1.15rem;
	color: var(--cnvs-contrast-600);
	font-size: .75rem;
}
.featured-event-meta span { display: inline-flex; align-items: flex-start; gap: .45rem; }
.featured-event-meta i { margin-top: .12rem; color: var(--cnvs-themecolor); }
.featured-event-content > p {
	margin: 0 0 1.4rem;
	color: var(--cnvs-contrast-700);
	font-size: .86rem;
	line-height: 1.75;
}
.featured-event-link {
	display: inline-flex;
	align-items: center;
	gap: .65rem;
	width: fit-content;
	margin-top: auto;
	color: var(--cnvs-contrast-900);
	font-size: .78rem;
	font-weight: 700;
}
.featured-event-link i { color: var(--cnvs-themecolor); transition: transform .2s ease; }
.featured-event-link:hover { color: var(--cnvs-themecolor); }
.featured-event-link:hover i { transform: translateX(3px); }
.dark .featured-event-card { background: var(--vanguard-card-bg); }

@media (max-width: 991.98px) {
	.featured-event-card { grid-template-columns: 1fr; }
	.featured-event-media { min-height: 0; aspect-ratio: 16 / 9; }
}

@media (max-width: 575.98px) {
	.featured-event-heading { align-items: flex-start; flex-direction: column; }
}

/* Wagtail StreamField and rich text */
.cms-content {
	/* max-width: var(--vanguard-content-width); */
	font-size: clamp(1rem, .96rem + .15vw, 1.1rem);
	line-height: 1.85;
}
.cms-content > :first-child,
.cms-richtext > :first-child { margin-top: 0; }
.cms-content > :last-child,
.cms-richtext > :last-child { margin-bottom: 0; }
.cms-content > [class^="block-"] { margin-block: var(--vanguard-section-content-gap); }
.cms-content > .block-heading_block {
	/* margin-top: var(--vanguard-section-space-sm); */
	margin-bottom: var(--vanguard-space-sm);
}
.cms-heading {
	position: relative;
	width: fit-content;
	margin: 0;
	padding-bottom: .35rem;
	line-height: 1.25;
	text-wrap: balance;
}
.cms-heading::after {
	position: absolute;
	left: 0;
	bottom: 0;
	width: min(72px, 38%);
	height: 4px;
	border-radius: 4px;
	background: var(--cnvs-themecolor);
	content: "";
}
.cms-richtext p { margin-bottom: 1.35rem; }
.cms-richtext h2,
.cms-richtext h3,
.cms-richtext h4 { margin: 2.25rem 0 .85rem; line-height: 1.3; text-wrap: balance; }
.cms-richtext a:not(.button) {
	text-decoration: underline;
	text-decoration-color: rgba(var(--cnvs-themecolor-rgb), .75);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}
.cms-richtext a:not(.button):hover { text-decoration-color: currentColor; }
.cms-richtext ul,
.cms-richtext ol { margin: 1.25rem 0 1.5rem; padding-left: 1.4rem; }
.cms-richtext li { margin-bottom: .55rem; padding-left: .25rem; }
.cms-richtext hr {
	margin: 2.5rem 0;
	border: 0;
	border-top: 1px solid var(--vanguard-border);
	opacity: 1;
}
.cms-richtext img,
.richtext-image { max-width: 100%; height: auto !important; border-radius: var(--vanguard-radius); }
.cms-figure { margin: 0; }
.cms-figure img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--vanguard-radius);
	box-shadow: var(--vanguard-shadow-sm);
}
.cms-figure figcaption {
	display: flex;
	justify-content: space-between;
	gap: .75rem 1.5rem;
	padding: .8rem .25rem 0;
	color: var(--cnvs-contrast-600);
	font-size: .78rem;
	line-height: 1.5;
}
.cms-figure figcaption cite { margin-left: auto; }
.cms-blockquote {
	position: relative;
	margin: 0;
	padding: var(--vanguard-card-padding-lg);
	border: 1px solid var(--vanguard-border);
	border-radius: var(--vanguard-radius);
	background: var(--vanguard-surface);
	font-size: clamp(1.08rem, 1rem + .4vw, 1.35rem);
	line-height: 1.65;
}
.cms-blockquote::before {
	position: absolute;
	top: .4rem;
	right: 1.25rem;
	color: rgba(var(--cnvs-themecolor-rgb), .22);
	font-family: Georgia, serif;
	font-size: 5rem;
	line-height: 1;
	content: "\201C";
}
.cms-blockquote p { position: relative; margin: 0; }
.cms-blockquote cite { display: block; margin-top: 1rem; color: var(--cnvs-contrast-600); font-size: .82rem; font-style: normal; }
.cms-blockquote cite::before { content: "— "; }
.cms-embed {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: var(--vanguard-radius);
	box-shadow: var(--vanguard-shadow-sm);
}
.cms-embed iframe,
.cms-embed video { display: block; width: 100%; max-width: 100%; border: 0; }
.cms-content pre {
	max-width: 100%;
	overflow-x: auto;
	padding: 1.25rem;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: var(--vanguard-radius-sm);
	background: #022b35;
	color: #f6f0df;
	line-height: 1.6;
	tab-size: 4;
}
.cms-content code { white-space: pre-wrap; overflow-wrap: anywhere; }
.cms-content pre code { white-space: pre; overflow-wrap: normal; }
.cms-document-link {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: .85rem;
	align-items: center;
	width: 100%;
	padding: 1rem;
	border: 1px solid var(--vanguard-border);
	border-radius: var(--vanguard-radius-sm);
	background: var(--vanguard-surface);
	color: var(--cnvs-contrast-800);
	transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
}
.cms-document-link:hover {
	transform: translateY(-2px);
	border-color: rgba(var(--cnvs-themecolor-rgb), .65);
	background: rgba(var(--cnvs-themecolor-rgb), .09);
}
.cms-document-link strong,
.cms-document-link small { display: block; overflow-wrap: anywhere; }
.cms-document-link small { margin-top: .15rem; color: var(--cnvs-contrast-600); font-size: .72rem; }
.cms-document-icon {
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: rgba(var(--cnvs-themecolor-rgb), .2);
	color: var(--cnvs-contrast-900);
}
.cms-content table,
.event_about table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--vanguard-border);
	border-radius: var(--vanguard-radius-sm);
	overflow: hidden;
}
.cms-content th,
.event_about th { background: rgba(var(--cnvs-themecolor-rgb), .18); font-weight: 700; }
.cms-content th,
.cms-content td,
.event_about th,
.event_about td { padding: .85rem 1rem; border-bottom: 1px solid var(--vanguard-border); }

/* Event detail page */
.event-shell {
	padding-block: var(--vanguard-section-space-sm) var(--vanguard-section-space-lg);
	background: var(--cnvs-body-bg);
}
.event-layout { align-items: flex-start; }
.event-layout > aside {
	align-self: stretch;
	min-width: 0;
}
.event-main {
	display: grid;
	min-width: 0;
	gap: var(--vanguard-grid-gap);
}
.event-cover {
	overflow: hidden;
	border: 1px solid var(--vanguard-border);
	border-radius: var(--vanguard-radius);
	background: var(--vanguard-surface);
	box-shadow: var(--vanguard-shadow-sm);
}
.event-cover-image {
	display: block;
	width: 100%;
	max-height: 620px;
	object-fit: cover;
}
.event-documents-section {
	padding: var(--vanguard-space-xs) 0 var(--vanguard-space-sm);
}
.event-documents-section .event-section-title {
	margin-bottom: var(--vanguard-space-sm);
}
.event-document-links {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem 1.5rem;
}
.event-document-link {
	display: inline-grid;
	grid-template-columns: 2rem minmax(0, 1fr) auto;
	align-items: center;
	gap: .7rem;
	min-width: min(100%, 320px);
	max-width: 100%;
	padding: .65rem .75rem;
	border: 1px solid rgba(var(--cnvs-themecolor-rgb), .48);
	border-radius: var(--vanguard-radius-sm);
	background: var(--vanguard-card-bg-strong);
	color: var(--cnvs-contrast-800);
	font-size: .86rem;
	font-weight: 700;
	line-height: 1.45;
	text-decoration: none;
	cursor: pointer;
	transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.event-document-link-icon {
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: .55rem;
	background: rgba(var(--cnvs-themecolor-rgb), .16);
	color: var(--cnvs-themecolor);
}
.event-document-link-icon i {
	flex: 0 0 auto;
	font-size: 1.05rem;
}
.event-document-link-copy { min-width: 0; }
.event-document-link-copy strong,
.event-document-link-copy small { display: block; overflow-wrap: anywhere; }
.event-document-link-copy small {
	margin-top: .05rem;
	color: var(--cnvs-contrast-600);
	font-size: .68rem;
	font-weight: 500;
}
.event-document-link-action {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .45rem .55rem;
	border-radius: .5rem;
	background: var(--cnvs-themecolor);
	color: #022b35;
	font-size: .65rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	transition: color .2s ease, transform .2s ease;
}
.event-document-link-action i { font-size: .75rem; }
.event-document-link:hover {
	border-color: var(--cnvs-themecolor);
	color: var(--cnvs-themecolor);
}
.event-document-link:hover .event-document-link-action {
	transform: translate(1px, -1px);
	background: var(--cnvs-contrast-900);
	color: var(--cnvs-body-bg);
}
.event-content-card,
.event-details-card {
	border: 1px solid var(--vanguard-border);
	border-radius: var(--vanguard-radius);
	background: var(--vanguard-surface);
	box-shadow: 0 10px 32px rgba(2,43,53,.045);
}
.event-content-card { padding: var(--vanguard-card-padding); }
.event-card-eyebrow {
	display: block;
	margin-bottom: .55rem;
	color: var(--cnvs-themecolor);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
}
.event-card-title,
.event-section-title {
	margin: 0;
	color: var(--cnvs-contrast-900);
	line-height: 1.25;
	text-wrap: balance;
}
.event-card-title { font-size: clamp(1.2rem, 1.1rem + .35vw, 1.45rem); }
.event-section-title {
	margin-bottom: var(--vanguard-section-heading-gap);
	font-size: clamp(1.45rem, 1.25rem + .7vw, 2rem);
}
.event-description {
	max-width: none;
	color: var(--cnvs-contrast-800);
	font-size: clamp(.96rem, .92rem + .15vw, 1.05rem);
	line-height: 1.85;
	overflow-wrap: anywhere;
}
.event-description p { margin-bottom: 1.25rem; }
.event-description > :last-child { margin-bottom: 0; }
.event-sections { display: grid; gap: var(--vanguard-grid-gap); }
.event-program-table {
	overflow: hidden;
	border: 1px solid var(--vanguard-border);
	border-radius: var(--vanguard-radius-sm);
}
.event-program-table .table { color: var(--cnvs-contrast-800); }
.event-program-table .table > :not(caption) > * > * { background: transparent; color: inherit; }
.event-program-table thead { background: rgba(var(--cnvs-themecolor-rgb), .13); }
.event-program-table tbody tr:last-child td { border-bottom: 0; }
.event-map {
	overflow: hidden;
	border: 1px solid var(--vanguard-border);
	border-radius: var(--vanguard-radius-sm);
}
.event-map iframe { display: block; width: 100% !important; min-height: 380px; border: 0; }
.event-sidebar-inner { display: grid; gap: 1rem; }
.event-details-card { padding: var(--vanguard-card-padding); }
.event-details-list { margin: 1.3rem 0 0; }
.event-detail {
	padding: 1rem 0;
	border-top: 1px solid var(--vanguard-border);
}
.event-detail:last-child { padding-bottom: 0; }
.event-detail dt {
	display: flex;
	align-items: center;
	gap: .65rem;
	margin-bottom: .38rem;
	color: var(--cnvs-contrast-600);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.event-detail dt i {
	display: grid;
	place-items: center;
	width: 1.85rem;
	height: 1.85rem;
	border-radius: 50%;
	background: rgba(var(--cnvs-themecolor-rgb), .17);
	color: var(--cnvs-contrast-900);
	font-size: .88rem;
}
.event-detail dd {
	margin: 0 0 0 2.5rem;
	color: var(--cnvs-contrast-800);
	font-size: .82rem;
	line-height: 1.6;
	overflow-wrap: anywhere;
}
.event-detail dd span { display: block; margin-top: .2rem; color: var(--cnvs-contrast-600); }
.event-detail dd a { color: var(--cnvs-themecolor); font-weight: 600; }
.dark .event-content-card,
.dark .event-details-card,
.dark .event-cover { background-color: var(--vanguard-card-bg); }

/* Persistent event action bar */
.event-registration-bar {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1050;
	border-top: 1px solid var(--vanguard-border);
	background: var(--cnvs-body-bg);
	color: var(--cnvs-contrast-900);
	box-shadow: none;
}
.event-registration-bar.is-docked {
	position: absolute;
	top: auto;
	bottom: 0;
}
.event-registration-bar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem 2rem;
	min-height: 84px;
	padding-top: .8rem;
	padding-bottom: .8rem;
}
.event-registration-bar-copy {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: baseline;
	gap: .08rem 1rem;
	min-width: 0;
}
.event-registration-bar-eyebrow {
	grid-column: 1 / -1;
	color: var(--cnvs-themecolor);
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
}
.event-registration-bar-copy strong {
	color: var(--cnvs-contrast-900);
	font-size: clamp(.9rem, 1.5vw, 1.08rem);
	white-space: nowrap;
}
.event-registration-bar-event {
	overflow: hidden;
	color: var(--cnvs-contrast-600);
	font-size: .76rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.event-registration-bar-button {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-width: 190px;
	padding: .82rem 1rem;
	border: 1px solid transparent;
	border-radius: 10px;
	background: var(--cnvs-themecolor);
	color: #022b35;
	font-size: .78rem;
	font-weight: 700;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}
.event-registration-bar-button:hover {
	transform: translateY(-1px);
	border-color: var(--cnvs-contrast-900);
	background: var(--cnvs-contrast-900);
	color: var(--cnvs-body-bg);
}
#content:has(.event-registration-bar) {
	position: relative;
	padding-bottom: 84px;
}
body:has(.event-registration-bar) #gotoTop { bottom: 104px; }
body.event-registration-docked #gotoTop { bottom: 30px; }
.dark .event-registration-bar {
	border-top-color: rgba(255,255,255,.12);
	background: #022b35;
	color: #f6f0df;
	box-shadow: none;
}
.dark .event-registration-bar-copy strong { color: #fff; }
.dark .event-registration-bar-event { color: rgba(255,255,255,.64); }
.dark .event-registration-bar-button:hover {
	border-color: rgba(255,255,255,.28);
	background: #f6f0df;
	color: #022b35;
}

@media (min-width: 992px) {
	.event-sidebar-inner {
		position: sticky;
		top: calc(var(--vanguard-current-header-height, 88px) + var(--vanguard-space-xs));
		z-index: 2;
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.event-sidebar-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 2rem; }
}

@media (max-width: 767.98px) {
	.event-sidebar-inner { margin-bottom: 1.5rem; }
	.event-content-card { padding: 1.25rem; }
	.event-program-table { margin-inline: -.25rem; }
	.event-map iframe { min-height: 300px; }
	.event-registration-bar-inner { min-height: 74px; }
	.event-registration-bar-event { display: none; }
	.event-registration-bar-copy { display: block; }
	.event-registration-bar-copy strong { display: block; }
	.event-registration-bar-button { min-width: 0; padding-inline: 1rem; }
	#content:has(.event-registration-bar) { padding-bottom: 74px; }
	body:has(.event-registration-bar) #gotoTop { bottom: 92px; }
	body.event-registration-docked #gotoTop { bottom: 24px; }
}

@media (max-width: 420px) {
	.event-registration-bar-copy strong { font-size: .8rem; }
	.event-registration-bar-button { gap: .75rem; font-size: .72rem; }
}

/* Cards, sidebars, forms and calls to action */
.section-colored {
	border: 1px solid var(--vanguard-border);
	border-radius: var(--vanguard-radius) !important;
	background: var(--vanguard-card-bg);
}
.posts-md > [class*="col-"] > .entry,
.news-categories + * .entry {
	height: 100%;
	padding: 1rem;
	border: 1px solid var(--vanguard-border) !important;
	border-radius: var(--vanguard-radius);
	background: var(--vanguard-card-bg);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.posts-md > [class*="col-"] > .entry:hover {
	transform: translateY(-5px);
	border-color: var(--vanguard-card-hover-border) !important;
	box-shadow: var(--vanguard-shadow-sm);
}
.entry-image { overflow: hidden; border-radius: calc(var(--vanguard-radius) - 4px); }
.entry-image img { width: 100%; transition: transform .45s cubic-bezier(.2,.75,.25,1); }
.posts-md .entry-image img { aspect-ratio: 16 / 9; object-fit: cover; }
.entry:hover > .entry-image img,
.entry:hover .entry-image img { transform: scale(1.025); }
.entry-title h2,
.entry-title h3 { line-height: 1.3; text-wrap: balance; }
.entry-meta { color: var(--cnvs-contrast-600); font-size: .82rem; }
.sidebar-widgets-wrap .widget,
.cat-widgets .widget:not(.widget-search) {
	padding: 1.25rem;
	border: 1px solid var(--vanguard-border);
	border-radius: var(--vanguard-radius);
	background: var(--vanguard-card-bg);
}

/* Compact document resources in content sidebars. The document itself is the
   surface, so it does not need another card wrapped around it. */
.sidebar-widgets-wrap .widget.page-documents-widget {
	padding: 0;
	border: 0;
	background: transparent;
}
.page-documents-title {
	margin: 0 0 .85rem;
	color: var(--cnvs-contrast-900);
	font-size: clamp(1.15rem, 1.5vw, 1.35rem);
	line-height: 1.2;
}
.page-documents-title::after {
	display: block;
	width: 2.5rem;
	height: 2px;
	margin-top: .55rem;
	border-radius: 999px;
	background: var(--cnvs-themecolor);
	content: "";
}
.page-documents-list {
	display: grid;
	gap: .65rem;
}
.page-documents-widget .cms-document-link {
	grid-template-columns: 2.25rem minmax(0, 1fr) 2rem;
	gap: .75rem;
	min-height: 4.5rem;
	padding: .8rem .85rem;
	border-color: var(--vanguard-card-border);
	border-radius: var(--vanguard-radius-sm);
	background: var(--vanguard-card-bg);
}
.page-documents-widget .cms-document-link:hover {
	transform: translateY(-1px);
	box-shadow: var(--vanguard-shadow-sm);
}
.page-documents-widget .cms-document-icon {
	width: 2.25rem;
	height: 2.25rem;
	border-radius: .65rem;
}
.page-documents-widget .cms-document-copy {
	min-width: 0;
}
.page-documents-widget .cms-document-copy strong {
	font-size: .9rem;
	line-height: 1.4;
	overflow-wrap: break-word;
}
.page-documents-widget .cms-document-copy small {
	margin-top: .2rem;
	font-size: .7rem;
}
.page-documents-widget .cms-document-action {
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	color: var(--cnvs-contrast-600);
	transition: color .2s ease, background-color .2s ease;
}
.page-documents-widget .cms-document-link:hover .cms-document-action {
	background: rgba(var(--cnvs-themecolor-rgb), .15);
	color: var(--cnvs-contrast-900);
}

/* Listing surfaces ------------------------------------------------------- */
.listing-section-heading { margin-bottom: var(--vanguard-section-heading-gap); }
.listing-eyebrow {
	display: block;
	margin-bottom: var(--vanguard-space-2xs);
	color: var(--cnvs-themecolor);
	font-family: var(--vanguard-meta-font);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.listing-section-heading h2 {
	margin: 0;
	font-size: clamp(1.8rem, 2.6vw, 2.5rem);
	line-height: 1.1;
}
.news-listing-page .content-wrap { padding-bottom: var(--vanguard-section-space-sm) !important; }
.news-card-grid > [class*="col-"] { display: flex; }
.news-card-grid > [class*="col-"] > .entry {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	height: auto;
	padding: 0;
	border-bottom-color: rgba(var(--cnvs-themecolor-rgb), .48) !important;
	overflow: hidden;
}
.news-card-grid .entry::after {
	display: none !important;
	content: none !important;
}
.news-card-grid .entry-image {
	margin: 0 !important;
	border-radius: 0;
	background: var(--vanguard-card-bg-strong);
}
.news-card-grid .entry-image a,
.news-card-grid .entry-image img { display: block; width: 100%; }
.news-card-grid .entry-title {
	padding: clamp(.9rem, 1.15vw, 1.15rem) clamp(.9rem, 1.15vw, 1.15rem) var(--vanguard-space-xs);
}
.news-card-grid .entry-categories { margin-bottom: var(--vanguard-space-2xs); }
.news-card-grid .entry-categories a,
.news-card-grid .entry-categories span {
	position: relative;
	z-index: 2;
	color: var(--cnvs-themecolor);
	font-family: var(--vanguard-meta-font);
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.news-card-grid .entry-title h3 {
	margin: 0;
	font-size: clamp(1.02rem, .75vw + .75rem, 1.22rem);
	line-height: 1.32;
}
.news-card-grid .entry-title h3 a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	background: none;
	color: var(--cnvs-contrast-900);
	text-decoration: none;
}
.news-card-grid .entry-title h3 a:hover { color: var(--cnvs-themecolor); }
.news-card-grid .entry-meta {
	margin-top: auto;
	padding: 0 clamp(.9rem, 1.15vw, 1.15rem) clamp(.9rem, 1.15vw, 1.15rem);
}
.news-card-grid .entry-meta ul { display: block; }
.news-card-grid .entry-meta li { color: var(--cnvs-contrast-600); }
.news-listing-page .cat-widgets .widget:not(.widget-search) { padding: var(--vanguard-card-padding); }
.news-listing-page .cat-widgets .widget-search {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.news-search-title {
	display: block;
	margin-bottom: var(--vanguard-space-2xs);
	color: var(--cnvs-themecolor);
	font-family: var(--vanguard-meta-font);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.news-listing-page .widget-search .input-group { flex-wrap: nowrap; }
.news-listing-page .widget-search .btn {
	min-width: 46px;
	border-color: rgba(var(--cnvs-contrast-rgb), .18);
	background: var(--vanguard-card-bg-strong);
	color: var(--cnvs-contrast-700);
}
.news-listing-page .news-categories .nav { gap: var(--vanguard-space-3xs); }
.news-listing-page .news-categories .nav-link {
	border: 1px solid transparent;
	color: var(--cnvs-contrast-700);
}
.news-listing-page .news-categories .nav-link:hover,
.news-listing-page .news-categories .active > .nav-link {
	border-color: rgba(var(--cnvs-themecolor-rgb), .2);
	background: rgba(var(--cnvs-themecolor-rgb), .12);
	color: var(--cnvs-themecolor);
}

/* Long-form CMS surfaces use the same quiet card treatment as event detail. */
.flat-content-card,
.news-article-card,
.form-landing-card {
	border: 1px solid var(--vanguard-card-border);
	border-radius: var(--vanguard-radius);
	background: var(--vanguard-card-bg);
}
.flat-content-card { max-width: none; padding: var(--vanguard-card-padding-lg); }
.news-article-card { padding: var(--vanguard-card-padding-lg); }
.news-article-card .entry-image { border-radius: var(--vanguard-radius); }
.news-article-card .entry-content { margin-top: var(--vanguard-section-content-gap); }
.form-landing-card { padding: var(--vanguard-card-padding-lg); }
.sidebar-widgets-wrap .widget.share-widget:first-child {
	padding: 1.25rem;
	border: 1px solid var(--vanguard-border);
}
.share-widget-title {
	position: relative;
	display: inline-block;
	width: fit-content !important;
	margin: 0;
	padding: 0 0 .4rem;
	background: none !important;
	font-size: clamp(1.15rem, 1.05rem + .35vw, 1.4rem);
	font-weight: 600;
	line-height: 1.3;
}
.share-widget-title::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 4px;
	border-radius: 999px;
	background: var(--cnvs-themecolor);
	content: "";
}
.share-widget-actions { margin-top: 1.25rem; }
.share-widget .social-icon {
	margin-inline: auto;
	border-radius: 10px;
}
.sidebar-widgets-wrap .widget + .widget,
.cat-widgets .widget + .widget { margin-top: 1rem !important; }
.widget-nav .nav-link { padding: .65rem .8rem; border-radius: 8px; }
.widget-nav .nav-link:hover,
.widget-nav .active > .nav-link { background: rgba(var(--cnvs-themecolor-rgb), .16); }
.form-control,
.form-select {
	border-color: rgba(var(--cnvs-contrast-rgb), .22);
	border-radius: var(--vanguard-radius-sm);
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.form-control:focus,
.form-select:focus {
	border-color: var(--cnvs-themecolor);
	box-shadow: 0 0 0 3px rgba(var(--cnvs-themecolor-rgb), .16);
}
.alert-danger {
	border: 1px solid rgba(var(--bs-danger-rgb), .3);
	border-radius: var(--vanguard-radius-sm);
	background: rgba(var(--bs-danger-rgb), .1);
	color: var(--cnvs-contrast-900);
}
.form-text { color: var(--cnvs-contrast-600) !important; }
.button,
.btn {
	border-radius: var(--vanguard-radius-sm);
	transition: transform .2s ease, box-shadow .2s ease, color .2s ease, background-color .2s ease;
}
.button:not(.disabled):hover,
.btn:not(:disabled):hover { transform: translateY(-2px); box-shadow: var(--vanguard-shadow-sm); }
.subscribe-widget form { gap: .75rem; }
.subscribe-widget form .button { flex: 0 0 auto; margin-left: 0 !important; }
.section .subscribe-widget .form-control { min-height: 50px; }
/* Public-site pagination */
.site-pagination {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-top: var(--vanguard-section-content-gap);
	margin-bottom: var(--vanguard-space-md);
}
.site-pagination .pagination {
	display: inline-flex;
	align-items: center;
	gap: .65rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.site-pagination .page-item {
	margin: 0;
	padding: 0;
}
.site-pagination .page-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .35rem;
	min-width: 94px;
	min-height: 44px;
	margin: 0;
	padding: .65rem .9rem;
	border: 1px solid var(--vanguard-card-border) !important;
	border-radius: var(--vanguard-radius-sm) !important;
	background: var(--vanguard-card-bg-strong);
	color: var(--cnvs-contrast-800);
	font-family: var(--vanguard-ui-font);
	font-size: .78rem;
	font-weight: 650;
	line-height: 1;
	letter-spacing: .015em;
	box-shadow: none;
	transition: transform .2s ease, color .2s ease, border-color .2s ease,
		background-color .2s ease, box-shadow .2s ease;
}
.site-pagination a.page-link:hover,
.site-pagination a.page-link:focus-visible {
	border-color: rgba(var(--cnvs-themecolor-rgb), .5) !important;
	background: rgba(var(--cnvs-themecolor-rgb), .12);
	color: var(--cnvs-contrast-1000);
	box-shadow: var(--vanguard-shadow-sm);
	transform: translateY(-1px);
}
.site-pagination a.page-link:focus-visible {
	outline: 2px solid var(--cnvs-themecolor);
	outline-offset: 2px;
}
.site-pagination .page-link i {
	font-size: 1.15rem;
	line-height: 1;
}
.site-pagination .page-item--status .page-link {
	gap: .55rem;
	min-width: 92px;
	padding: .25rem .55rem .25rem .25rem;
	color: var(--cnvs-contrast-600);
	font-family: var(--vanguard-meta-font);
	font-size: .7rem;
}
.site-pagination .page-item--status strong {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: calc(var(--vanguard-radius-sm) - 3px);
	background: var(--cnvs-themecolor);
	color: #022b35;
	font-weight: 700;
}
.site-pagination .page-item--status .page-link > span[aria-hidden="true"] {
	width: 1px;
	height: 16px;
	overflow: hidden;
	background: var(--vanguard-border);
	color: transparent;
}
.site-pagination .page-item.disabled .page-link {
	cursor: not-allowed;
	opacity: .32;
}
.site-pagination .page-item--status .page-link {
	cursor: default;
	opacity: 1;
}
.dark .site-pagination .pagination {
	border: 0;
	background: transparent;
	box-shadow: none;
}
.dark .site-pagination .page-link { color: rgba(255, 255, 255, .88); }
.dark .site-pagination .page-item--status .page-link { color: rgba(255, 255, 255, .56); }

@media (max-width: 575.98px) {
	.site-pagination .pagination { gap: .45rem; }
	.site-pagination .page-link { min-width: 42px; min-height: 42px; padding: .5rem .65rem; }
	.site-pagination .page-item--direction .page-link span { display: none; }
	.site-pagination .page-item--status .page-link { min-width: 82px; padding: .2rem .45rem .2rem .2rem; }
}

/* Footer */
.site-footer {
	border-top: 1px solid var(--vanguard-border) !important;
	background: var(--vanguard-surface) !important;
	color: var(--cnvs-contrast-600);
}
.footer-main {
	padding-block: var(--vanguard-section-space-sm);
	border-bottom: 1px solid var(--vanguard-border);
}
.footer-simple-layout {
	display: grid;
	grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr);
	gap: 2rem clamp(3rem, 7vw, 7rem);
	align-items: center;
}
.footer-name {
	margin: 0 0 .65rem;
	color: var(--cnvs-contrast-900);
	font-size: clamp(1.05rem, 1rem + .3vw, 1.3rem);
	font-weight: 700;
	letter-spacing: .025em;
}
.footer-summary {
	max-width: 520px;
	margin: 0;
	color: var(--cnvs-contrast-600);
	font-size: .82rem;
	line-height: 1.7;
}
.footer-navigation ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: .5rem clamp(1rem, 2.5vw, 2rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
.footer-navigation li { padding: 0; }
.footer-navigation li::before { content: none; }
.footer-navigation a {
	display: block;
	padding: .35rem 0;
	color: var(--cnvs-contrast-700);
	font-size: .8rem;
	font-weight: 500;
	transition: color .2s ease;
}
.footer-navigation a:hover,
.footer-navigation a[aria-current="page"] { color: var(--cnvs-themecolor); }
.site-footer #copyrights {
	padding: 1.15rem 0;
	background: var(--vanguard-surface);
	color: var(--cnvs-contrast-500);
	font-size: .72rem;
}
.footer-bottom-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
}
.footer-copyright,
.footer-signature { margin: 0; color: inherit; font-size: inherit; }
.footer-signature { letter-spacing: .04em; }
.dark .site-footer,
.dark .site-footer #copyrights { background: #022b35 !important; }
#gotoTop {
	right: clamp(1rem, 2.5vw, 2rem) !important;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(var(--cnvs-themecolor-rgb), .42);
	background-color: rgba(var(--cnvs-themecolor-rgb), .18);
	box-shadow: 0 8px 24px rgba(2,43,53,.12);
	color: #022b35;
}
#gotoTop:hover {
	border-color: var(--cnvs-themecolor);
	background-color: var(--cnvs-themecolor);
	color: #022b35;
}
.dark #gotoTop {
	border-color: rgba(255,255,255,.14);
	background-color: rgba(2,43,53,.94);
	box-shadow: 0 8px 24px rgba(0,0,0,.2);
	color: #fff;
}
.dark #gotoTop:hover {
	border-color: var(--cnvs-themecolor);
	background-color: var(--cnvs-themecolor);
	color: #022b35;
}

/* Dark theme surfaces */
.dark .page-title { background: var(--vanguard-section-bg); }
.dark .section-colored,
.dark .sidebar-widgets-wrap .widget:not(.page-documents-widget),
.dark .cat-widgets .widget:not(.widget-search),
.dark .posts-md > [class*="col-"] > .entry { background: var(--vanguard-card-bg); }

@media (max-width: 991.98px) {
	#header-wrap { box-shadow: 0 8px 28px rgba(2,43,53,.09); }
	.primary-menu .menu-container {
		margin-top: .75rem;
		padding: .6rem;
		border: 1px solid var(--vanguard-border);
		border-radius: var(--vanguard-radius);
		background: var(--cnvs-header-bg);
	}
	.menu-item { padding-inline: .35rem !important; }
	.page-title-row { align-items: flex-start; }
	.cms-content { max-width: 100%; }
	.position-lg-sticky { position: static !important; }
	.newsletter-layout { grid-template-columns: 1fr; gap: 1.5rem; }
	.news-listing-page .cat-widgets { position: static !important; }
	.footer-simple-layout { grid-template-columns: 1fr; gap: 1.5rem; }
	.footer-navigation ul { justify-content: flex-start; }
}

@media (max-width: 767.98px) {
	.page-title { padding-block: var(--vanguard-section-space-xs); }
	.page-title-row { display: block; }
	.hero { min-height: 420px; }
	.home-hero { min-height: 460px; height: 68vh !important; }
	.home-hero .hero-gradient-mask-all {
		background: linear-gradient(180deg, rgba(0,0,0,.42), rgba(0,0,0,.64));
	}
	.newsletter-form { grid-template-columns: 1fr; }
	.newsletter-form .button { width: 100%; }
	#people .owl-carousel .owl-nav [class*="owl-"] {
		width: 40px;
		height: 40px;
		margin-top: -20px;
	}
	#people .owl-carousel .owl-nav .owl-prev,
	#people .owl-carousel:hover .owl-nav .owl-prev { left: -20px; }
	#people .owl-carousel .owl-nav .owl-next,
	#people .owl-carousel:hover .owl-nav .owl-next { right: -20px; }
	.cms-figure figcaption { display: block; }
	.cms-figure figcaption cite { display: block; margin-top: .25rem; }
	.subscribe-widget form { flex-direction: column; }
	.subscribe-widget form .button { width: 100%; }
	.flat-content-card,
	.news-article-card,
	.form-landing-card { padding: var(--vanguard-card-padding); }
	.footer-bottom-row { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 575.98px) {
	.homepage-section-heading {
		align-items: flex-start;
		flex-direction: column;
	}
	.homepage-section-heading--center { align-items: center; }
	.footer-navigation ul { gap: .35rem 1rem; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
