/* ## Palette
================================= */
:root{
	--primary: var(--color_01);
	--secondary: var(--color_02);
	--tertiary: var(--color_03);
	--light: var(--gray10);
}

/* ## Animation
================================= */
	@keyframes scaler {
		0% {
			transform: scale(50%);
		}
		100% {
			transform: scale(1);
		}
	}
	@keyframes activateReadMore {
		0% {
			opacity: 0;
			transform: translateY(-30px);
		}
		100% {
			opacity: 1;;
			transform: translateY(0);
		}
	}


/* ## Page
================================= */
	html {
		margin-top: 0 !important;
	}
	body {
		margin: 0 !important;
		padding: 0 !important;
	}
	#page-overlay {
		display: none;
		position: fixed;
		inset: 0;
		background-color: black;
		z-index: 9000;
		opacity: 0;
	}
	#newsroom-back-to-top {
		color: white;
		background-color: var(--primary);
		width: 50px;
		height: 50px;
		text-align: center;
		position: fixed;
		right: 0;
		bottom: 30px;
		z-index: 800;
		font-size: 35px;
		line-height: 1.35;
		text-decoration: none;
	}

	/* Outer Layout Structure */
	body.newsroom{
		.nova-section{
			border-top: none;
			display:grid;
			grid-template-columns: var(--siteMargin) 1fr;
			
			.block-title{
				padding-block: 25px;
				position: sticky;
				top: 140px;
				display: flex;
				justify-content: center;
				height: fit-content;
				.section-title{
					writing-mode: vertical-rl;
					margin: 0;
					line-height: 1;
					text-transform: uppercase;
					font-size: 22px;
					font-family: var(--fontBody);
					font-weight: 500;
				}
			}
			.area-main{
				grid-template-columns: var(--insetContentLeft) 25% 50% 1fr;
				.subarea-title{
					grid-column: 2 / -1;
					grid-row: 1;
				}
				hr.spanall{
					grid-column: 1 / -1;
					grid-row: 2;
					margin: 0;
				}
				.subarea-sidebar{
					grid-column: 2;
					grid-row: 3;
				}
				.subarea-content{
					grid-column: 3;
					grid-row: 3;
					position: relative;
				}
				.background-tint{
					background-color: var(--color_pale);
					grid-row-start: 1;
					grid-column-start: 3;
					grid-row-end: 4;
					grid-column-end: 5;
				}
			}
		}
		#zone__footer{
			#section-brand-footer{
				position: relative;
				z-index: 2;
				background-color: var(--secondary);
			}
			#feature-line {
				height: 100vh;
				top: 80px;
				z-index: 0;
				@media(max-width: 810px){
					top: 60px;
				}
			}
		}
	}
	@media (min-width:811px) and (max-width: 1024px){
		/* tablets */
		body.newsroom .nova-section {
			padding-top: 0 !important;
		}
	}
	@media(max-width: 810px){
		/* mobiles */
		body.newsroom .nova-section {
			padding-top: var(--unit-lg) !important;
			.area-main{
				.mobile-inset{
					margin-left: var(--siteMargin) !important;
					padding-left: var(--insetContentLeft) !important;
					padding-right: var(--insetContentRight) !important;
				}
				grid-template-columns: 1fr;
				.subarea-title{
					grid-column: 1 / -1;
				}
				.subarea-sidebar{
					grid-column: 1 / -1;
					grid-row: auto;
					position: static;
				}
				.subarea-content{
					grid-column: 1 / -1;
					grid-row: auto;
					padding: 0;
				}
				.background-tint{
					display: none;
				}
			}
		}
	}


	/* Inner Layout Structure */
	body.newsroom{
		.subarea-title{
			padding-top: var(--unit-xl);
		}
		.subarea-sidebar{
			padding-top: var(--unit-md);
			padding-bottom: var(--unit-md);
			padding-right: var(--unit-md);
			position: sticky;
			top: 70px;
			height: fit-content;
			max-height: calc(100vh - 80px);
			overflow: auto;

		}
		.subarea-content{
			padding-left: var(--unit-lg);
			padding-top: var(--unit-lg);
			padding-bottom: var(--unit-lg);
		}
	}
	@media(max-width: 810px){
		body.newsroom{
			.subarea-content{
				background-color: var(--color_pale);
				padding-top: var(--unit-md) !important;
			}
		}

	}

/* ## Subscribe
================================= */
	#subscribe-popup {
		z-index: 10000;
		background-color: white;
		position: fixed;
		top: 45%;
		left: 50%;
		transform: translate(-310px, -50%);
		width: 620px;
		padding: 30px;
		color: var(--secondary);
		font-size: 14px;
		letter-spacing: 0.26px;
		line-height: 24px;
		display: none;
	}
	#subscribe-form-row {
		margin: 24px 0 12px 0;
	}
	#subscribe-popup-close {
		position: absolute;
		right: 16px;
		top: 16px;
	}
	#subscribe-form-name-holder {
		width: 49%;
		display: inline-block;
	}
	#subscribe-form-email-holder {
		width: 49%;
		display: inline-block;
		float: right;
	}
	#subscribe-popup-close {
		font-size: 24px;
		color: var(--light);
	}
	#subscribe-popup-close:hover {
		font-size: 24px;
		color: var(--light);
	}
	#subscribe-popup input {
		width: 100%;
		height: 53px;
		background-color: var(--light);
		border: 0;
		padding-left: 24px;
	}
	#subscribe-popup button,
	#subscribe-popup input[type="submit"] {
		width: 100%;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: var(--primary);
		height: 53px;
		color: white;
		font-weight: bold;
		border: 0;
		color: white;
		font-size: 18px;
		font-weight: bold;
		line-height: 21px;
		text-align: center;
	}

/* ## Side Menu
================================= */
	#side-menu {
		display: none;
		position: fixed;
		z-index: 10000;
		top: 0;
		bottom: 0;
		overflow: auto;
		background-color: var(--primary);
		color: white;
	}
	.side-menu-header {
		padding: 32px 32px 0 32px;
		text-align: right;
	}
	.side-menu-header i {
		font-size: 40px;
		color: white;
		opacity: 0.2;
	}
	.side-menu-header a:hover {
		text-decoration: none;
	}
	.side-menu-item a {
		color: white;
		text-decoration: none;
	}
	.side-menu-item a:hover {
		color: white;
		text-decoration: none;
	}
	.side-menu-item-icon {
		display: inline-block;
		width: 36px;
	}
	.side-menu-item-icon i {
		color: white;
		opacity: 0.2;
	}
	.side-menu-item-text {
		display: inline-block;
		font-weight: bold;
	}
	.side-menu-item a:hover {
		text-decoration: none;
	}
	#side-menu-header {
		text-align: right;
	}
	.side-menu-holder {
		padding: 0 77px 0 146px;
	}
	.side-menu-item {
		padding: 32px 0 32px 15px;
	}
	.side-menu-item-border {
		opacity: 0.2;
		border-bottom: 1px solid white;
	}
	.side-menu-subitems {
		padding-top: 25px;
		padding-left: 15px;
	}
	.side-menu-subitems a {
		color: white;
	}
	.side-menu-subitems a:hover {
		color: white;
		text-decoration: none;
	}
	.side-menu-subitem {
		padding: 15px 0;
	}


/* ## Header
================================= */
	#zone__header {
		.widgets{
			display: flex;
			justify-content: space-between;
			align-items: center;
			column-gap: 20px;
			.menu-icon-holder{
				line-height: 0;
			}
			a{
				color: white;
			}
		}
	}

/* ## Banner
================================= */
	.banner {
		background-position: center;
		width: 100%;
		height: 0;
		min-height: 568px;
		background-size: cover;
		position: relative;
		overflow: hidden;
		display: grid;
		align-items: center;
		filter: brightness(60%);
	}
	.banner-content h1 {
		color: white;
		margin: 0;
	}
	.banner-content h2 {
		line-height: 180%;
		color: white;
		margin: 0;
	}

/* ## Menu
================================= */
	.menu-item-row {
		flex-wrap: nowrap !important;
	}
	.menu-item {
		background-color: var(--light);
		margin: 1px;
	}
	.menu-item-text {
		margin-top: 4px;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		font-style: normal;
		font-weight: 800;
		font-size: 11px;
		line-height: 16px;
		/* identical to box height */
		letter-spacing: 1px;
		text-transform: uppercase;
		color: var(--secondary);
	}
	.menu-item a {
		text-decoration: none;
		font-weight: 500;
		color: var(--secondary);
		text-transform: uppercase;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 125px;
	}
	.menu-item a:hover {
		text-decoration: none;
		color: var(--secondary);
	}
	.menu-item-inner {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.menu-item-inner i {
		font-size: 36px;
	}

/* ## Filter
================================= */
	.news-filter {
		background-color: var(--light);
		font-style: normal;
		font-weight: bold;
		font-size: 18px;
		line-height: 25px;
		display: flex;
		align-items: flex-start;
		padding: 0 15px;
		margin-bottom: 34px;
	}
	.news-filter-heading {
		color: var(--primary);
		height: 60px;
		align-items: center;
		display: flex;
		padding: 0 10px;
	}
	.news-category {
		color: var(--primary);
		border-top: 4px solid var(--light);
		border-bottom: 4px solid var(--light);
		display: flex;
		align-items: center;
		height: 60px;
		padding: 0 10px;
		cursor: pointer;
	}
	.news-category-selected {
		border-bottom: 4px solid var(--primary);
	}

/* ## Content Area
================================= */
	.subarea-content{

		#news-section{
			display:grid;
			grid-template-columns: 1fr 1fr;
			gap: 30px;

			@media(max-width: 1024px){
				grid-template-columns: 1fr;
			}

			.content-block{
				img.featured{
					width: 100%;
					aspect-ratio: 16 / 9;
					object-fit: cover;
					margin-bottom: var(--unit-sm);
					&[src=""]{
						background-color: gray;
						border: 1px solid transparent;
					}
				}
				.inner{
					overflow: clip;
					max-height: 0;
					height: auto;
					transition: all 0.4s ease;
				}
				.read-more-v2{
					&:before{
						content: 'Read More';
					}
				}

				&.content-active{
					grid-column: 1 / -1;
					animation-name: activateReadMore;
					animation-duration: 0.4s;
					animation-delay: 0.5s;
					animation-fill-mode: both;
					transform-origin: 0 0;
					.excerpt{
						display: none;
					}
					.inner{
						max-height: 1000px;
					}
					.read-more-v2{
						&:before{
							content: 'Read Less';
						}
						&::after{
							transform: rotate(180deg);
						}
					}
				}
			}
		}
	}
	hr.content-separator{
		margin-block: var(--unit-md);
		@media(max-width: 810px){
			margin-left: var(--siteMargin) !important;
		}
	}
	.content-block h2{
		font-size: 36px;
		font-weight: 400;
	}
	.content-block .date {
		/* identical to box height */
		text-transform: uppercase;
		margin-bottom: 8px;
	}
	.content-block .image {
		width: 100%;
		margin-bottom: 40px;
	}
	.content-block .content {
		font-style: normal;
		font-weight: normal;
		font-size: 16px;
		line-height: 200%;
		/* or 32px */
		color: var(--secondary);
	}
	.content-block .read-more {
		letter-spacing: 1px;
		text-transform: uppercase;
		margin-top: 30px;
		text-decoration: none;
		font-weight: 600;
		color: var(--primary);
		display: flex;
		align-items: center;
		column-gap: 20px;
		&::after{
			content: '\f175';
			font-family: var(--fontIcons);
		}
		svg{
			width: 20px;
			height: auto;
			rotate: 90deg;
		}
	}

/* ## Sidebar Area
================================= */
	.subarea-sidebar{
		.sidebar-block{
			margin-top: 40px;
			color: var(--primary);
			.sidebar-heading {
				font-size: 28px;
				@media(max-width: 810px){
					font-size: 24px;
				}
			}
		}
	}


/* ## Sidebar - Mobile Functions
================================= */
	@media(max-width: 810px){
		.subarea-sidebar{
			.sidebar-block{
				margin: 0 !important;
				.sidebar-heading {
					cursor: pointer;
					display: flex;
					justify-content: space-between;
					&::after{
						content: '+';
						font-weight: 600;
					}
				}
				.content{
					max-height: 0;
					height: auto;
					overflow: hidden;
					opacity: 0;
					padding-bottom: var(--unit-sm);
					transition: all 1s ease !important;
				}
			}
			.sidebar-block.active{
				.sidebar-heading {
					&::after{
						content: '-';
					}
				}
				.content{
					transition: all 1s ease !important;
					max-height: 800px;
					opacity: 1;
				}
			}
		}
	}

/* ## Sidebar Footer
================================= */
	.sidebar-footer.contact-block{
		margin-top: 40px;
		> div{
			margin-bottom: 10px;
		}
		.btn{
			width: fit-content;
			gap: 10px;
			&:hover{
				color: white;
			}
		}
	}
	.sidebar-footer.contact-block,
	.sidebar-footer.contact-block a:not(.btn){
		color: var(--primary);
	}


/* ## ToC
================================= */
	.table-of-contents-item {
		margin-bottom: var(--unit-sm);
	}
	.table-of-contents-item a {
		font-style: normal;
		/* font-weight: normal; */
		font-size: 18px;
		line-height: 20px;
		/* or 45px */
		color: var(--primary);
		text-decoration: none;
	}

/* ## Events
================================= */
	.events-heading {
		font-style: normal;
		font-weight: 800;
		font-size: 24px;
		line-height: 29px;
		/* identical to box height */
		display: flex;
		align-items: center;
		color: var(--secondary);
		margin: 40px 0 20px 0;
	}
	.event-image {
		width: 100%;
		height: 200px;
		background-size: cover;
		background-position: center;
		margin-bottom: 20px;
		position: relative;
	}
	.event-date {
		background-color: var(--primary);
		font-style: normal;
		font-weight: 800;
		font-size: 14px;
		line-height: 126%;
		/* identical to box height, or 18px */
		text-transform: uppercase;
		color: white;
		padding: 12px 11px;
		position: absolute;
		left: 0;
		top: 0;
		text-align: center;
		min-width: 76px;
		font-weight: 500;
	}
	.event-title {
		font-style: normal;
		font-weight: 800;
		font-size: 21px;
		line-height: 126%;
		/* or 26px */
		color: var(--secondary);
		margin-bottom: 8px;
	}
	.event-description {
		font-style: normal;
		font-weight: normal;
		font-size: 16px;
		line-height: 160%;
		/* or 26px */
		color: var(--secondary);
	}
	.event-add-to-calendar i {
		font-size: 16px;
		margin-right: 6px;
	}
	.event-add-to-calendar a {
		margin-top: 16px;
		margin-bottom: 28px;
		font-style: normal;
		font-weight: 600;
		font-size: 13px;
		line-height: 160%;
		/* identical to box height, or 21px */
		letter-spacing: 1px;
		text-transform: uppercase;
		color: var(--secondary);
		display: flex;
		align-items: center;
	}
	.event-add-to-calendar a:hover {
		color: var(--secondary);
		text-decoration: none;
	}
	.events-all-link a, .events-all-link a:hover {
		font-style: normal;
		font-weight: bold;
		font-size: 14px;
		line-height: 17px;
		letter-spacing: 2px;
		text-transform: uppercase;
		color: var(--secondary);
		display: flex;
		align-items: center;
		text-decoration: none;
	}
	.events-all-link a img {
		margin-left: 6px;
	}

/* ## Tri Blocks
================================= */
	.tri-block-holder {
		background-color: var(--primary);
		padding: 40px 20px;
		margin-top: 30px;
	}
	.tri-block-holder a, .tri-block-holder a:hover {
		text-decoration: none;
		color: white;
		display: flex;
		flex-direction: column;
	}
	.tri-block-image {
		width: 100%;
		height: 200px;
		background-position: center;
		background-size: cover;
	}
	.tri-block-heading {
		font-style: normal;
		font-weight: 500;
		font-size: 21px;
		line-height: 126%;
		/* or 26px */
		display: flex;
		align-items: flex-end;
		color: white;
		margin-top: 20px;
	}

/* ## Important Dates
================================= */
	.important-dates {
		.important-date{
			margin-bottom: var(--unit-sm);
		}
	}
	.important-date-name {
		margin-top: 0;
	}
	.important-date-name {
		font-size: 16px;
	}
	.important-date-date {
		font-size: 16px;
		font-weight: 600;
	}
	.important-date-url[href=""]{
		pointer-events: none;
	}


/* ## Side Item
================================= */
	.side-item {
		margin-top: 40px;
	}
	.side-item img {
		margin-bottom: 20px
	}
	.side-item-title {
		font-style: normal;
		font-weight: 800;
		font-size: 21px;
		line-height: 126%;
		/* or 26px */
		color: var(--secondary);
		margin-bottom: 8px;
	}
	.side-item-link, .side-item-link:hover {
		font-style: normal;
		font-weight: bold;
		font-size: 14px;
		line-height: 17px;
		letter-spacing: 2px;
		text-decoration: none;
		color: var(--primary);
		text-transform: uppercase;
		margin-top: 16px;
		margin-bottom: 28px;
		font-style: normal;
		font-weight: 600;
		font-size: 13px;
		line-height: 160%;
		letter-spacing: 1px;
		text-transform: uppercase;
		color: var(--secondary);
		display: flex;
		align-items: center;
	}
	.side-item-link img {
		margin: 0;
	}

/* ## Footer
================================= */
	.footer {
		background-size: cover;
		background-position: center;
		min-height: 560px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.footer-content {
		max-width: 600px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.footer-heading {
		text-align: center;
		color: white;
	}
	.footer-text {
		text-align: center;
		color: white !important;
		margin: 24px 0;
	}
	.footer-link, .footer-link:hover {
		width: 181px;
		height: 50px;
		background: var(--primary);
		border: 1px solid var(--primary);
		box-sizing: border-box;
		font-style: normal;
		font-weight: 600;
		font-size: 15px;
		line-height: 18px;
		/* identical to box height */
		text-align: center;
		letter-spacing: 1px;
		text-transform: uppercase;
		color: white;
		display: flex;
		justify-content: center;
		align-items: center;
		text-decoration: none;
	}

/* ## Media
================================= */
	#media-holder {
		margin-top: 40px;
		background-color: var(--light);
	}
	.media-content {
		padding: 20px;
	}
	.media-heading {
		font-style: normal;
		font-weight: 800;
		font-size: 21px;
		line-height: 126%;
		/* or 26px */
		color: var(--secondary);
	}
	.media-description {
		font-style: normal;
		font-weight: normal;
		font-size: 16px;
		line-height: 160%;
		/* or 26px */
		color: var(--secondary);
	}
	.media-see-more {
		margin-top: 16px;
		margin-bottom: 16px;
	}
	.media-see-more a {
		font-style: normal;
		font-weight: bold;
		font-size: 14px;
		line-height: 17px;
		letter-spacing: 2px;
		color: var(--secondary);
		text-transform: uppercase;
		display: flex;
		align-items: center;
	}
	.media-see-more a:hover {
		text-decoration: none;
		color: var(--secondary);
	}
	.media-share-holder {
		display: flex;
		align-items: center;
		margin-top: 16px;
		margin-bottom: 16px;
	}
	.media-share-text {
		font-style: normal;
		font-weight: 500;
		font-size: 14px;
		line-height: 17px;
		letter-spacing: 2px;
		color: var(--secondary);
		text-transform: uppercase;
	}
	.media-share-holder a, .media-share-holder a:hover {
		color: var(--secondary);
		text-decoration: none;
		display: flex;
		align-items: center;
		margin-left: 18px;
	}
	.media-share-holder i {
		font-size: 24px;
	}

/* ## Socials
================================= */
	.social-icons-holder {
		display: flex;
		margin-top: 40px;
		margin-bottom: 40px;
	}
	.social-heading {
		font-style: normal;
		font-weight: 800;
		font-size: 24px;
		line-height: 29px;
		/* identical to box height */
		display: flex;
		align-items: center;
		color: var(--primary);
	}
	.social-icons-holder a, .social-icons-holder a:hover {
		color: var(--secondary);
		text-decoration: none;
		display: flex;
		align-items: center;
		margin-left: 18px;
		font-size: 24px;
	}
	#social-holder {
		margin-top: 40px;
	}

.mobile-menu {
  margin-bottom: 20px;
}

/* ## Media Queries
================================= */
	@media only screen and (min-width: 991px) {
		.desktop-hidden {
			display: none;
		}
	}
	@media only screen and (max-width: 991px) {
		.mobile-hidden {
			display: none;
		}
	}
	@media only screen and (max-width: 771px) {
		.banner-content {
			bottom: 100px;
		}
		.banner-content h1 {
			font-size: 58px;
		}
		#header img {
			height: 65px;
		}
	}
	@media only screen and (max-width: 600px) {
		.side-menu-holder {
			padding: 0;
		}
		#subscribe-popup {
			left: 0;
			transform: translateY(-50%);
			width: 100%;
		}
		#subscribe-form-name-holder,
		#subscribe-form-email-holder {
			width: 100%;
			margin-bottom: 5px;
		}
	}
	@media only screen and (max-width: 578px) {
		.banner-content h1 {
			font-size: 48px;
		}
	}
	@media only screen and (max-width: 578px) {
		.banner-content h1 {
			font-size: 38px;
		}
		.banner-content {
			bottom: 70px;
		}
	}
	@media only screen and (max-width: 771px) {
		.tri-block-holder a {
			margin-bottom: 30px;
		}
	}

/* ## Print Settings
================================= */
	.important-dates-print, .events-print {
		margin-bottom: 44px;
	}
	.events-print-heading, .important-dates-print-heading {
		font-style: normal;
		font-weight: bold;
		font-size: 24px;
		line-height: 29px;
		/* identical to box height */
		display: flex;
		align-items: center;
		color: var(--primary);
		padding-bottom: 20px;
		margin-bottom: 20px;
		border-bottom: 1px solid var(--light);
	}
	.event-print-title, .important-dates-print .important-date-name {
		font-style: normal;
		font-weight: bold;
		font-size: 16px;
		line-height: 175%;
		/* or 28px */
		color: black;
	}
	.event-print-date, .important-dates-print .important-date-date {
		font-style: normal;
		font-weight: normal;
		font-size: 16px;
		line-height: 175%;
		/* or 28px */
		color: black;
		margin-bottom: 20px;
	}

