/*
Elementor Site color variables:
var( --e-global-color-primary )
var( --e-global-color-secondary )
var( --e-global-color-text )
var( --e-global-color-accent )
*/

/* Omega System color variables
var( --OMEGA-elementor-primary )
var( --OMEGA-elementor-secondary )
var( --OMEGA-elementor-text )
var( --OMEGA-elementor-accent )
var( --OMEGA-grid-columns )
var( --OMEGA-overview-grid1 )
var( --OMEGA-overview-grid2 )
var( --OMEGA-overview-grid3 )
var( --OMEGA-overview-grid4 )
var( --OMEGA-btn-enroll-base )
var( --OMEGA-btn-enroll-hover )
var( --OMEGA-btn-prevnext-base )
var( --OMEGA-btn-prevnext-hover )
var( --OMEGA-text-link )
var( --OMEGA-text-hover )
var( --OMEGA-text-embed )
var( --OMEGA-text-sidebar )
var( --OMEGA-text-headline )
var( --OMEGA-text-subhead )
var( --OMEGA-text-divider )
var( --OMEGA-embed-border )
var( --OMEGA-ninjatable-header )
var( --OMEGA-ninjatable-hover )
var( --OMEGA-ninjatable-subheader )
var( --OMEGA-ninjatable-leftcol )
var( --OMEGA-nav-link-base )
var( --OMEGA-nav-link-hover )
var( --OMEGA-bkg-header )
var( --OMEGA-bkg-footer )
var( --OMEGA-bkg-topbar )
var( --OMEGA-bkg-daterange )
var( --OMEGA-bkg-slideshow )
*/

/* Omega System style value variables
var( --OMEGA-style-header-height )
var( --OMEGA-style-slides-ratio )
var( --OMEGA-style-slides-fit )
*/

/* @group GLOBAL LINKS */
/* !- GLOBAL LINKS */
body,
#main,
#content {
	color: var(--OMEGA-text-body);
}

#main p a,
#main li a,
#main table a {
	color: var(--OMEGA-text-link);
	text-decoration: underline;
	&:hover {
		color: var(--OMEGA-text-hover);
	}
}

/* @end */

/* @group ALGOLIA SEARCH OVERRIDES */
/* !- ALGOLIA SEARCH OVERRIDES */

#main .searchform > input {
	border-color: #aaa;
}

.algolia-autocomplete .aa-dropdown-menu {
	background-color: #eee;
	font-size: 14px;
	margin-top: 16px;
	box-shadow: 0 20px 50px #656565;
	margin-left: -250px;

	.autocomplete-header {
		background: var(--OMEGA-elementor-primary);
		color: #eee;
		margin: 0;
		padding: 0 14px;
		line-height: 3em;
		border-bottom: 1px solid rgba(0, 0, 0, 0.05);
	}

	a {
		font-size: 14px;
	}

	.aa-suggestion em {
		color: #174d8c;
		color: var(--OMEGA-elementor-text);
		background: rgba(143, 187, 237, 0.1);
		font-style: normal;
	}

	.aa-suggestion .suggestion-post-title {
		color: var(--OMEGA-elementor-text);
	}

	.aa-suggestion .suggestion-post-content {
		color: #888;
		font-style: italic;
		display: block;
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
}

/* @end */

/* @group HEADER TITLE YEAR BOX */
/* !- HEADER TITLE YEAR BOX */

#main .title_year {
	position: relative;

	.container {
		position: relative;
	}

	.box {
		z-index: 3;
		border: 1px solid #eee;
		min-width: 140px;
		position: absolute;
		right: 0;
		top: 80px;
		/*padding: 20px;*/
		display: flex;
		flex-direction: column;
		justify-content: center;
		text-align: center;
		background-color: rgba(0, 0, 0, 0.5);
		transition: background-color 0.2s ease;
	}

	.box:has(a:hover) {
		background-color: var(--OMEGA-btn-overview-hover);
		transition: background-color 0.2s ease;
	}

	.year {
		font-size: 38px;
		line-height: 38px;
		font-weight: 700;
		color: #fff;
		margin-bottom: 4px;
		padding: 20px 20px 0 20px;
	}

	.box .year-info {
		font-weight: normal;
		font-size: 18px;
		line-height: 18px;
		color: #fff;
		padding: 0 20px 20px 20px;
	}
}

/* @end */

/* @group OVERVIEW / TILE GRID SHORTCODE */
/* !- OVERVIEW / TILE GRID SHORTCODE */

#main .benefits-overview-grid,
#main .tile-grid-container {}

.status-archive #main .benefits-overview-grid,
.status-archive #main .tile-grid-container {
	margin-top: -1em;
}

#main .benefits-overview-grid .omega-divider,
#main .tile-grid-container .omega-divider {
	margin-bottom: 2em;
}

#main .benefits-overview-error h2,
#main .tile-grid-error h2 {
	background-color: var(--OMEGA-elementor-accent);
	padding: 10px;
	text-align: center;
	font-style: italic;
	color: #ffffff;
}

#main .benefits-overview-grid h2,
#main .tile-grid-container h2 {
	width: 100%;
	text-align: center;
	font-size: 25px;
	font-weight: 700;
	display: inline-block;
	margin: 0 auto 1em auto;
	color: var(--OMEGA-text-headline);
	/*	border-top: 3px solid rgb( from var( --OMEGA-elementor-accent ) r g b / 0.5 );*/
}

#main .benefits-overview-grid .grid-col-headers h3,
#main .tile-grid .tile-grid-col h3 {
	border-bottom: 3px solid;
	border-color: rgb(from var(--OMEGA-elementor-accent) r g b / 0.5);
	font-size: 1.6em;
	padding-bottom: 0.5em;
	margin: 3rem 0 3rem 0;
	color: var(--OMEGA-elementor-text);
	text-align: center;
}

#main .tile-grid {
	margin: 0;
	display: grid;
	gap: 2rem;
}

#main .tile-grid ul li {
	position: relative;
}

#main .benefits-overview-grid ul,
#main .benefits-overview-grid .grid-col-headers,
#main .tile-grid ul {
	margin: 0;
	display: grid;
	gap: 2rem;
	list-style-type: none;
}

#main .benefits-overview-grid ul,
#main .benefits-overview-grid .grid-col-headers,
#main .tile-grid.flow-cols,
#main .tile-grid.flow-rows ul {
	grid-template-columns: repeat(var(--OMEGA-grid-columns), 1fr);
}

#main .benefits-overview-grid,
#main .tile-grid {

	&.grid-columns-5 li {
		aspect-ratio: 4/3;
	}

	&.grid-columns-4 li {
		aspect-ratio: 3/2;
	}

	&.grid-columns-3 li {
		aspect-ratio: 5/3;
	}

	&.grid-columns-2 li {
		aspect-ratio: 2/1;
	}

	li {
		border: var(--OMEGA-style-tiles-border) solid rgba(0, 0, 0, 0.1);
		border-radius: var(--OMEGA-style-tiles-corner);
		overflow: hidden;
		transition: all 0.3s ease-out;
	}

	a {
		display: grid;
		height: 100%;
		width: 100%;
		transition: all 0.3s ease-out;
		place-items: center;
		text-decoration: none;
	}

	.overlay {
		z-index: 1;
		width: 100%;
		height: 100%;
		opacity: 0.85;
		transition: all 0.3s ease-out;
	}

	img,
	h5,
	.overlay {
		grid-area: 1 / 1;
		/* all in same cell */
		min-width: 0;
		min-height: 0;
	}

	li.hover-zoom {
		a:hover .overlay {
			opacity: 0.7;
			filter: brightness(85%);
		}

		a:hover {
			transform: scale(1.12);
		}

		a:hover img {
			transform: scale(0.9);
		}
	}

	li.hover-lift {
		&:hover {
			transform: scale(1.05);
			box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.4);
		}

		a:hover h5 {
			transform: scale(1.05);
		}

		&:active {
			transform: scale(1.02);
			transition: transform 0.1s ease-out;
			box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
		}
	}

	li.hover-grow {
		&:hover {
			transform: scale(1.05);
		}

		a:hover h5 {
			transform: scale(1.05);
		}

		&:active {
			transform: scale(1.02);
			transition: transform 0.1s ease-out;
		}
	}


	img,
	ul li img {
		z-index: 0;
		object-fit: cover;
		height: 100%;
		width: 100%;
		transition: all 0.3s ease-out;
		transform: scale(1.12);
		filter: grayscale(1);
	}

	h5 {
		margin: 0;
		z-index: 2;
		padding: 15px;
		text-align: center;
		text-transform: uppercase;
		color: var(--OMEGA-overview-text);
		font-weight: 700;
		font-size: 22px;
		line-height: 1.2em;
		/*	-webkit-hyphens: auto;
	    -moz-hyphens: auto;
	    hyphens: auto;*/
		transition: all 0.2s ease-out;
	}
}

#year-date-range {
	display: block;
	text-align: center;
	text-transform: uppercase;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 1px;
	color: rgba(0, 0, 0, 0.6);
	background-color: var(--OMEGA-bkg-daterange);
	padding: 3px;
}

#year-date-range span {
	font-weight: 700;
}

#main .tile-grid-container #year-date-range,
#main .benefits-overview-grid #year-date-range {
	margin-bottom: 20px;
}

/* @end */

/* @group FEATURE BOX */
/* !- FEATURE BOX */

#main .feature-box {
	text-align: center;
	max-width: 640px;
	margin: 1em auto 3em;
	background: var(--OMEGA-bkg-feature);
	border: 3px solid color-mix(in hsl, var(--OMEGA-bkg-feature) 90%, black);
	border-radius: 20px;
	padding: 24px;
	color: #fff;


	.title {
		color: var(--OMEGA-text-feature);
		font-size: 26px;
		line-height: 30px;
		font-weight: 500;
		margin-bottom: 20px;
	}

	h3 {
		color: #fff;
		font-style: italic;
	}

	h5 {
		margin-bottom: 0;
		color: #fff;
	}

	&.archive .title {
		font-style: italic;
	}
}


/* @end */

/* @group ARCHIVE HEADER */
/* !- ARCHIVE HEADER */

body.status-archive {

	#site-navigation-wrap,
	.mobile-right {
		display: none;
	}

	header#site-header {
		/*background-color: #ddd;*/
	}

	#site-logo {
		width: 100%;
		display: flex;
		align-items: center;
		align-content: flex-start;
		flex-flow: row wrap;
		justify-content: flex-end;
	}

	#site-logo-inner {
		display: flex;
		align-content: center;
		flex: 1;
	}

	#site-logo .archive-notice a {
		color: var(--OMEGA-text-feature);
		white-space: nowrap;
		font-weight: 500;
		font-style: italic;
		font-size: 24px;
		line-height: 24px;
		display: block;
	}
}

/* @end */

/* @group OCEANWP OVERRIDES */
/* !- OCEANWP OVERRIDES */

#outer-wrap.site {}

body .container {
	/* width: 1200px;  default */
	max-width: 96%;
	/* default 90% */
}

header#site-header {
	background-color: var(--OMEGA-bkg-header);
	transition: box-shadow 0.2s;
}

header #site-logo #site-logo-inner,
header .oceanwp-social-menu .social-menu-inner,
header#site-header.full_screen-header .menu-bar-inner,
header .after-header-content .after-header-content-inner,
header ul#menu-main.dropdown-menu {
	height: 120px;
}

header #menu-main.dropdown-menu > li > a,
header .oceanwp-mobile-menu-icon a,
header .mobile-menu-close,
header .after-header-content-inner > a {
	line-height: 120px;
}

header ul#menu-main.dropdown-menu {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
}

header ul#menu-main.dropdown-menu > li {
	/*float: none;*/
}

header ul#menu-main.dropdown-menu ul.sub-menu {}

.home #main #content-wrap {
	padding-top: 0;
}

#main {
	h1.page-header-title {
		font-weight: 600;
		font-size: 46px;
		text-align: left;
	}

	h2.elementor-heading-title {
		font-size: 32px;
		font-weight: 600;
		letter-spacing: 0;
	}

	h3.elementor-heading-title {
		font-size: 26px;
		font-weight: 600;
		letter-spacing: 0;
	}

	h4.elementor-heading-title {
		font-size: 20px;
		font-weight: 600;
		letter-spacing: 0;
		text-transform: uppercase;
	}

	/* override the oceanwp page header overlay with a horizontal black gradient for better legibility of the title above the photo backgrounds */
	/* (set_theme_mod and filters only allow us to pass a background-color, not the full background element for linear-gradient) */
	/* var bkg-headerfade is stored as hex value, but passed as individual RGB numbers, so we can insert in our rgba() */

	.background-image-page-header-overlay {
		opacity: 1;
		background: linear-gradient(90deg,
				rgba(var(--OMEGA-bkg-headerfade), 0.7) 20%,
				rgba(var(--OMEGA-bkg-headerfade), 0.1) 100%);
	}

	.elementor-background-overlay {
		/*	background-color: var( --OMEGA-bkg-callout );
	opacity: 1;*/
	}

	.elementor-widget-container,
	.elementor-top-section {
		padding-left: 0;
		padding-right: 0;
	}

	.elementor-widget-container p {
		text-align: left;
	}
}

#menu-main.dropdown-menu > li > a.site-search-toggle {
	padding-left: 0;
}

#site-navigation .site-search-toggle i.icon-magnifier {
	font-weight: 900;
	color: #fff;
	background-color: rgb(from var(--OMEGA-nav-link-base) r g b / 0.5);
	padding: 1rem;
	transition: all 0.2s;
}

#site-navigation .site-search-toggle i.icon-magnifier:hover {
	background-color: rgb(from var(--OMEGA-nav-link-base) r g b / 1);
	transition: all 0.2s;
}

/*#site-navigation .site-search-toggle i.icon-magnifier::after {
	content: "Search";
	position: relative;
	top: -.1rem;
	margin-left: .4rem;
	text-transform: uppercase;
	font-family: var( --e-global-typography-primary-font-family ), sans-serif;
}*/

#searchform-header-replace .header-searchform .aa-input {
	color: var(--OMEGA-elementor-text);
}

#site-navigation li.menu-header > a.menu-link {
	cursor: pointer;
	/*	pointer-events: none;
		-webkit-user-select: none;
		user-select: none;*/
}

/* override oceanwp behavior of fading header logo on hover */

#site-logo #site-logo-inner a:hover img {
	-moz-opacity: 1;
	-webkit-opacity: 1;
	opacity: 1 !important;
}

/* @end */

/* @group ELEMENTOR OVERRIDES */
/* !- ELEMENTOR OVERRIDES */

#main {
	.omega-divider {
		display: flex;
		justify-content: center;
		width: 100%;
	}

	.elementor-divider-separator {
		margin: 0 auto;
	}

	.elementor-divider,
	.omega-divider {
		padding-block-start: 24px;
		padding-block-end: 24px;
	}

	.elementor-divider-separator,
	.omega-divider span {
		width: 480px;
		border-block-start-width: 3px;
		border-block-start-style: solid;
		border-block-start-color: var(--OMEGA-text-divider);
	}
}

/* @end */

/* @group TOP BAR */
/* !- TOP BAR */

#top-bar {
	background-color: var(--OMEGA-bkg-topbar);
	position: relative;
	border-bottom: none;
	z-index: 101;
}

#top-bar-content {
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 12px;
}

/* @end */

/* @group SITEMAP */
/* !- SITEMAP */

#sitemap ul.sitemap-list {
	line-height: 2em;
	margin-left: 0;
}

#sitemap li.page_item_has_children {
	font-weight: 700;
	margin-top: 1em;
	list-style: none;
}

#sitemap ul.children {
	font-weight: normal;
	list-style-type: square;
}

/* @end */

/* @group SIDEBAR MENU LIST WIDGET */
/* !- SIDEBAR MENU LIST WIDGET */
#main .widget-area {
	.sidebar-box .widget-title {
		font-weight: 600;
		font-size: 1.4rem;
		line-height: 1.2;
		margin-bottom: 18px;
		color: var(--OMEGA-text-sidebar);
		border-color: var(--OMEGA-text-link);
	}

	.sidebar-menu-widget h4:not(:first-of-type) {
		margin-top: 18px;
	}

	.sidebar-menu-widget ul {
		list-style: none;
	}

	.sidebar-menu-widget li {
		padding: 2px 0;
	}

	.sidebar-menu-widget li a {
		display: inline-block;
		text-decoration: none;
		position: relative;
		font-size: 1.3rem;
		font-weight: 500;
		color: var(--OMEGA-elementor-text);
	}

	.sidebar-menu-widget li a:before {
		content: "";
		display: inline-block;
		color: #999;
		font-size: 10px;
		margin-right: 10px;
		margin-top: -2px;
		font-family: "Font Awesome 5 Free";
		font-weight: 400;
		vertical-align: middle;
		zoom: 1;
	}

	.sidebar-menu-widget li a:hover {
		margin-left: -8px;
		color: var(--OMEGA-text-hover);
	}

	.sidebar-menu-widget li a:hover:before {
		color: #222;
	}

	.sidebar-box h4.widget-title {
		pointer-events: none;
		-webkit-user-select: none;
		user-select: none;
	}
}

/* @end */

/* @group FOOTER */
/* !- FOOTER */

#omega-footer {
	background-color: var(--OMEGA-bkg-footer);
	color: rgba(255, 255, 255, 0.65);
	text-align: center;
	margin-top: 3em;

	h5 {
		padding-top: 3em;
		text-transform: uppercase;
		color: rgba(255, 255, 255, 0.65);
	}

	.disclaimer {
		font-weight: 300;
		margin-bottom: 3em;
	}

	.footer-bottom {
		font-weight: 500;
		padding: 16px;
		background-color: #000;
		color: #888;

		span {
			display: block;
		}

		a {
			font-weight: 700;
		}

		a:hover {
			color: #26a2af;
		}
	}

	a {
		color: rgba(255, 255, 255, 0.3);
	}

	p,
	.footer-bottom {
		font-size: 15px;
	}
}

/* @end */

/* @group BROKENLINK */
/* !- BROKENLINK */

@keyframes brokenlink {

	0%,
	100% {
		background-color: #fe32e6;
		border-color: #fe32e6;
	}

	50% {
		background-color: #ffffff;
		border-color: #ffffff;
	}
}

#main {

	a.brokenlink,
	img.brokenlink {
		animation: brokenlink 2s infinite;
		/* padding: 6px; */
		border-radius: 4px;
	}

	img.brokenlink {
		display: block;
	}
}

#content .pdf-embed .thumb:has(a.brokenlink) {
	animation: brokenlink 2s infinite;
}

/* @end */

/* !- RESPONSIVE BREAKPOINTS */

@media screen and (width <=1024px) {

	#main .benefits-overview-grid ul,
	#main .benefits-overview-grid .grid-col-headers,
	#main .tile-grid.flow-cols,
	#main .tile-grid.flow-rows ul {
		grid-template-columns: repeat(3, 1fr);
	}

	#main .benefits-overview-grid ul > * {
		/*min-height: 180px;*/
	}
}

/* mobile hamburger menu collapse width */

@media screen and (width <=959px) {

	header #site-logo #site-logo-inner,
	header .oceanwp-social-menu .social-menu-inner,
	header#site-header.full_screen-header .menu-bar-inner,
	header .after-header-content .after-header-content-inner {
		height: 70px;
	}

	header #menu-main.dropdown-menu > li > a,
	header .oceanwp-mobile-menu-icon a,
	header .mobile-menu-close,
	header .after-header-content-inner > a {
		line-height: 70px;
	}

	header .oceanwp-mobile-menu-icon a {
		padding-left: 10px;
	}

	#sidr .sidr-class-toggle-sidr-close {
		line-height: 20px;
		background-color: var(--OMEGA-elementor-primary);
		color: #fff;
		text-align: right;
	}

	#sidr .sidr-class-icon,
	#side .sidr-class-close-text {
		line-height: 20px;
	}

	header #icon-searchform-dropdown {
		top: 60px;
		right: -2vw;
		width: 100vw;
		background-color: #eee;
		box-shadow: 0 6px 6px rgba(0, 0, 0, 0.3);
	}

	header #icon-searchform-dropdown form {
		background-color: #fff;
	}

	#main .benefits-overview-grid ul,
	#main .benefits-overview-grid .grid-col-headers,
	#main .tile-grid.flow-cols,
	#main .tile-grid.flow-rows ul {
		grid-template-columns: repeat(2, 1fr);
	}

	#main .benefits-overview-grid ul > * {
		min-height: 150px;
	}

	#main .title_year {
		.box {
			min-width: 100px;
			right: -15px;
			top: 50px;
			padding: 10px;
		}

		.year {
			font-size: 20px;
			line-height: 22px;
			font-weight: 700;
			color: #fff;
			margin-bottom: 4px;
			padding: 0;
		}

		.box .year-info {
			font-weight: normal;
			font-size: 12px;
			line-height: 12px;
			color: #fff;
			padding: 0;
		}
	}

	.widget-area .sidebar-menu-widget li a {
		font-size: 14px;
	}

	.algolia-autocomplete #algolia-autocomplete-listbox-0,
	.algolia-autocomplete #algolia-autocomplete-listbox-1,
	.algolia-autocomplete #algolia-autocomplete-listbox-2 {
		margin-left: 0;
	}

	#year-date-range {
		font-size: 12px;
	}

	#site-logo .archive-notice {
		font-size: 18px;
	}

	#main .elementor-divider-separator,
	#main .omega-divider span {
		width: 75%;
	}

}

@media screen and (width <=500px) {

	header #site-logo #site-logo-inner,
	header .oceanwp-social-menu .social-menu-inner,
	header#site-header.full_screen-header .menu-bar-inner,
	header .after-header-content .after-header-content-inner {
		height: 70px;
	}

	header #menu-main.dropdown-menu > li > a,
	header .oceanwp-mobile-menu-icon a,
	header .mobile-menu-close,
	header .after-header-content-inner > a {
		line-height: 70px;
	}

	header #site-header-inner.container {
		padding: 0 8px;
	}

	html {
		font-size: 100%;
	}

	#main {

		p,
		ul li {
			font-size: 0.85em;
		}

		.container {
			/* max-width: 96%; */
		}

		h1.page-header-title {
			font-size: 30px;
		}

		h2.elementor-heading-title {
			font-size: 24px;
		}

		h3.elementor-heading-title {
			font-size: 20px;
		}

		h4.elementor-heading-title {
			font-size: 18px;
		}

		.tile-grid-container h2 {
			font-size: 20px;
		}

		.elementor-divider,
		.omega-divider {
			padding-block-start: 8px;
			padding-block-end: 8px;
		}

		.benefits-overview-grid,
		.tile-grid-container {
			margin-bottom: 2em;
		}

		.benefits-overview-grid ul,
		.benefits-overview-grid .grid-col-headers,
		.tile-grid.flow-cols,
		.tile-grid.flow-rows ul {
			grid-template-columns: repeat(1, 1fr);
			gap: 1rem;
		}

		.benefits-overview-grid,
		.tile-grid {

			&.grid-columns-5 li,
			&.grid-columns-4 li,
			&.grid-columns-3 li,
			&.grid-columns-2 li {
				min-height: 100px;
				aspect-ratio: 2.5/1;
			}

			h5 {
				font-size: 24px;
			}
		}

		.oew-search-wrap {
			display: none;
		}

		.title_year {
			.box {
				min-width: 60px;
				right: -12px;
				top: 0px;
				padding: 8px;
			}

			.year {
				font-size: 18px;
				line-height: 20px;
				margin-bottom: 0;
				padding: 0;
			}

			.box .year-info {
				display: none;
			}
		}

		.archive-view-box .title {
			font-weight: 600;
			font-size: 16px;
			line-height: 16px;
		}
	}

	#omega-footer {
		margin-top: 0;

		p,
		.footer-bottom {
			font-size: 0.75em;
		}
	}
}