/**
 * #.# Styles
 *
 * CSS for both Frontend+Backend.
 */
.c9-fixed .c9-image-container,
.c9-fixed .c9-video-container {
	background-attachment: fixed;
}

.c9-grid .c9-layout-column-wrap {
	position: relative;
}

@media only screen and (max-width: 1024px) {
	.c9-grid.c9-fixed .c9-image-container,
	.c9-grid.c9-fixed .c9-video-container {
		background-attachment: local;
	}
}

.c9-scroll {
	background-attachment: scroll;
}

html {
	overflow-x: hidden;
}

/* overrides default paragraph margin that isn't added in Twenty Twenty One theme */
.c9-grid p {
	margin-bottom: 20px;
}

/* overrides display table for center aligned images in Twenty Twenty Four */
.c9-grid .wp-block-image.aligncenter {
	display: block;
}

/* adds spacing to separators in c9-grid */
.c9-grid .wp-block-separator {
	margin-bottom: 30px;
	margin-top: 30px;
}

.c9-grid {
	display: -ms-grid;
	display: grid;
	position: relative;
	-ms-grid-columns: 100%;

	/* IE 11 min-height flexbox bug fix */
	@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
		&:after {
			content: '';
			display: block;
			min-height: inherit;
			font-size: 0;
		}
	}

	@media (max-width: 667px) {
		.c9-image-mobile-size-custom {
			background-size: var(--mobile-height) var(--mobile-width) !important;
		}

		.c9-image-mobile-size-cover {
			background-size: cover !important;
		}

		.c9-image-mobile-size-contain {
			background-size: contain !important;
		}

		.c9-image-mobile-top-left {
			background-position: left top !important;
		}

		.c9-image-mobile-top-center {
			background-position: center top !important;
		}

		.c9-image-mobile-top-right {
			background-position: right top !important;
		}

		.c9-image-mobile-center-left {
			background-position: left center !important;
		}

		.c9-image-mobile-center-center {
			background-position: center !important;
		}

		.c9-image-mobile-center-right {
			background-position: right center !important;
		}

		.c9-image-mobile-bottom-left {
			background-position: left bottom !important;
		}

		.c9-image-mobile-bottom-center {
			background-position: center bottom !important;
		}

		.c9-image-mobile-bottom-right {
			background-position: right bottom !important;
		}
	}
}

/* IE 11 support for multiple rows of grids requires manual assignment of rows */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.c9-grid {
		grid-template-areas: 'row1' 'row2' 'row3' 'row4' 'row5' 'row6' 'row7' 'row8' 'row9' 'row10';
	}

	.c9-grid .c9-column-container:nth-child(1) {
		-ms-grid-row: 1;
		grid-area: row1;
	}

	.c9-grid .c9-column-container:nth-child(2) {
		-ms-grid-row: 2;
		grid-area: row2;
	}

	.c9-grid .c9-column-container:nth-child(3) {
		-ms-grid-row: 3;
		grid-area: row3;
	}

	.c9-grid .c9-column-container:nth-child(4) {
		-ms-grid-row: 4;
		grid-area: row4;
	}

	.c9-grid .c9-column-container:nth-child(5) {
		-ms-grid-row: 5;
		grid-area: row5;
	}

	.c9-grid .c9-column-container:nth-child(6) {
		-ms-grid-row: 6;
		grid-area: row6;
	}

	.c9-grid .c9-column-container:nth-child(7) {
		-ms-grid-row: 7;
		grid-area: row7;
	}

	.c9-grid .c9-column-container:nth-child(8) {
		-ms-grid-row: 8;
		grid-area: row8;
	}

	.c9-grid .c9-column-container:nth-child(9) {
		-ms-grid-row: 9;
		grid-area: row9;
	}

	.c9-grid .c9-column-container:nth-child(10) {
		-ms-grid-row: 10;
		grid-area: row10;
	}
}

.c9-grid .c9-layout-column-wrap {
	z-index: 14;
}

/*video background*/
.c9-grid.c9-grid-has-video {
	position: relative;
	overflow: hidden;
}

.c9-grid-has-video .c9-video-container {
	opacity: 0;
	transition: 5000ms;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 6;
}

.c9-grid-has-video > .c9-video-container > .c9-embed-container,
.c9-grid-has-video > .c9-video-container > .c9-embed-container iframe,
.c9-grid-has-video > .c9-video-container > .c9-embed-container,
.c9-grid-has-video
	> .c9-video-container
	> .c9-embed-container
	.c9-video-custom {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	pointer-events: none;
	z-index: 7;
}

@media (min-aspect-ratio: 16/9) {
	.c9-grid-has-video > .c9-video-container > .c9-embed-container {
		height: 300%;
		top: -100%;
	}
}

@media (max-aspect-ratio: 16/9) {
	.c9-grid-has-video > .c9-video-container > .c9-embed-container {
		width: 150%;
		left: -25%;
		height: 150%;
		top: -25%;
	}
}

@media all and (max-width: 600px) {
	.vid-info {
		width: 50%;
		padding: 0.5em;
	}

	.vid-info h1 {
		margin-bottom: 0.2em;
	}
}

@media all and (max-width: 500px) {
	.vid-info .acronym {
		display: none;
	}
}

/* color overlay */
.c9-grid .c9-overlay-container {
	z-index: 8;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

/* image background */
.c9-grid .c9-image-container {
	z-index: 4;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

/* preventing margin below last items that are embeds */
.c9-grid .c9-column-inner > .wp-block-embed:last-child,
.c9-grid
	.wp-block-embed:not(.alignwide):not(.alignfull):not(.alignleft):not(
		.alignright
	):not(.aligncenter):last-child {
	margin-bottom: 0px;
}

/* adjustments to image aligments in grids for some themes*/
@media only screen and (min-width: 768px) {
	.entry > .entry-content > .c9-grid .wp-block-image .aligncenter {
		width: auto;
	}
}

@media only screen and (min-width: 1168px) {
	.entry > .entry-content > .c9-grid .wp-block-image .aligncenter {
		width: auto;
		margin-left: auto;
		margin-right: auto;
	}
}

/****************************************************************************************/
/* C9 Container Blocks for Bootstrap-like containers */
/****************************************************************************************/

/* background overlay */
.container-overlay {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
}

.container {
	margin-left: auto;
	margin-right: auto;
}

/* WP 2019 + 2020 Themes */
.c9-grid .alignwide,
.c9-grid .container-fluid.alignfull {
	left: auto;
}

.page-template-default
	.post-inner
	> .entry-content
	> .c9-grid:not(.alignwide):not(.alignfull):not(.alignleft):not(
		.alignright
	):not(.is-style-wide) {
	width: 100vw;
	max-width: 100vw;
}

@media only screen and (min-width: 1px) and (max-width: 667px) {
	.page.page-template-default .entry .entry-content > .c9-grid {
		margin-left: -1rem;
		margin-right: -1rem;
	}

	/* WP 2019 + 2020 Themes */
	.c9-grid .alignwide,
	.c9-grid .container-fluid.alignfull {
		max-width: 100vw;
	}
}

@media only screen and (min-width: 1px) {
	.page-template-default .entry-content > .c9-grid {
		width: 100vw;
		max-width: 100vw;
		margin: 0px;
	}

	/* wp 6.4 updates for Twenty Twenthy Four theme */
	body
		.wp-site-blocks
		.entry-content.is-layout-constrained
		> .c9-grid:where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		margin-left: calc((-100vw + 100%) / 2) !important;
		margin-right: calc((-100vw + 100%) / 2) !important;
		max-width: 100vw;
		width: 100vw;
		box-sizing: border-box;
	}

	.c9-grid .container-narrow,
	.c9-grid .container,
	.c9-grid .container.alignwide,
	.c9-grid .container.alignfull,
	.c9-grid .container-fluid,
	.c9-grid .container-fluid.alignfull {
		padding-left: 0px;
		padding-right: 0px;
	}

	.c9-blocks-column-container p:only-of-type {
		margin-bottom: 0px;
	}

	.single .c9-blocks-column-container {
		margin-left: -15px;
		margin-right: -15px;
	}

	.single .entry-content > .c9-grid {
		margin-left: -15px;
		margin-right: -15px;
	}
}

@media only screen and (min-width: 576px) {
	.c9-grid .container-narrow,
	.c9-grid .container,
	.c9-grid .container.alignwide,
	.c9-grid .container.alignfull,
	.c9-grid .container-fluid.alignfull {
		max-width: 100%;
		overflow: hidden;
	}

	/* 2019/2020 theme specific*/
	.c9-grid .container-fluid.alignfull {
		left: auto;
	}

	.single .entry-content > .c9-grid {
		margin-left: calc((-100vw + 100%) / 2);
		margin-right: calc((-100vw + 100%) / 2);
	}

	.page-template-default .entry-content > .c9-grid .container-narrow {
		padding-left: 30px;
		padding-right: 30px;
	}

	.page-template-default .entry-content > .c9-grid .container {
		padding-left: 15px;
		padding-right: 15px;
	}

	.page-template-default .entry-content > .c9-grid .container.alignwide {
		padding-left: 5px;
		padding-right: 5px;
	}

	.page-template-default .entry-content > .c9-grid .container-fluid.alignfull,
	.page-template-default .entry-content > .c9-grid .container-fluid {
		padding-left: 0px;
		padding-right: 0px;
	}

	.page-template-default .entry-content > .c9-grid .c9-column-innner .alignwide,
	.editor-styles-wrapper
		.block-editor-block-list__layout
		> .c9-grid
		.c9-column-inner
		[data-align='wide'] {
		width: 100vw;
		margin-left: calc(-3rem - 15px);
		margin-right: calc(-3rem - 15px);
	}
}

@media only screen and (min-width: 768px) {
	.c9-grid .container-narrow,
	.c9-grid .container,
	.c9-grid .container.alignwide,
	.c9-grid .container.alignfull,
	.c9-grid .container-fluid.alignfull {
		overflow: visible;
	}

	.page-template-default .entry-content > .c9-grid,
	.page-template-default .entry-content > .container-fluid,
	.page-template-default
		.entry-content
		> .c9-grid:not(.alignwide):not(.alignfull):not(.alignleft):not(
			.alignright
		):not(.is-style-wide) {
		width: 100vw;
		max-width: 100vw;
		margin-left: calc((-100vw + 100%) / 2);
		margin-right: calc((-100vw + 100%) / 2);
	}

	body
		.is-layout-constrained
		> .c9-grid:where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		margin-left: calc((-100vw + 100%) / 2) !important;
		margin-right: calc((-100vw + 100%) / 2) !important;
	}

	.single .entry-content > .c9-grid {
		margin-left: calc((-100vw + 100%) / 2);
		margin-right: calc((-100vw + 100%) / 2);
	}

	.c9-grid .container-narrow:not(.block-editor-block-list__block),
	.container-narrow:not(.block-editor-block-list__block) {
		max-width: 960px;
		padding-left: 30px;
		padding-right: 30px;
		margin-left: auto;
		margin-right: auto;
	}

	.c9-grid .container {
		padding-left: 15px;
		padding-right: 15px;
	}

	.c9-grid .container.alignwide {
		margin: 0px auto;
		padding: 0px;
	}

	.c9-grid .container-fluid,
	.container-fluid.alignfull {
		padding-left: 0px;
		padding-right: 0px;
	}

	.page-template-default .entry-content > .c9-grid .c9-column-innner .alignwide,
	.editor-styles-wrapper
		.block-editor-block-list__layout
		> .c9-grid
		.c9-column-inner
		[data-align='wide'] {
		max-width: 120%;
		min-width: 100%;
		margin-left: calc(-3rem - 15px);
		margin-right: calc(-3rem - 15px);
	}
}

@media only screen and (min-width: 992px) {
	.page-template-default .entry-content > .c9-grid,
	.page-template-default
		.entry-content
		> .c9-grid:not(.alignwide):not(.alignfull):not(.alignleft):not(
			.alignright
		):not(.is-style-wide),
	.single .entry-content > .c9-grid {
		width: 100vw;
		max-width: 100vw;
	}

	.single .entry-content > .c9-grid {
		margin-left: calc((-100vw + 100%) / 2);
		margin-right: calc((-100vw + 100%) / 2);
	}

	.page-template-default .entry-content > .c9-grid .container.alignwide {
		padding-left: 5px;
		padding-right: 5px;
		width: 100vw;
		max-width: 1260px;
	}

	.page-template-default .entry-content > .c9-grid .container-fluid {
		width: 100%;
		padding-left: 0px;
		padding-right: 0px;
	}

	.page-template-default
		.entry-content
		> .c9-grid
		.container:not(.c9-block-post-grid),
	.page-template-fullwidthpage
		.entry-content
		> .c9-grid
		> .container:not(.c9-block-post-grid) {
		max-width: 1140px;
	}
}

@media only screen and (min-width: 1200px) {
	.single .entry-content > .c9-grid {
		margin-left: calc((-100vw + 100%) / 2);
		margin-right: calc((-100vw + 100%) / 2);
	}

	.single .entry-content > .c9-grid > .container {
		max-width: 1140px;
	}

	.single .entry-content > .c9-grid > .container.alignwide {
		width: 1368px;
		max-width: 100vw;
		margin: 0 auto;
	}

	.container-narrow {
		width: 960px;
		margin: 0 auto;
	}

	.page-template-default .entry-content > .c9-grid .c9-column-innner .alignwide,
	.editor-styles-wrapper
		.block-editor-block-list__layout
		> .c9-grid
		.c9-column-inner
		[data-align='wide'] {
		max-width: 120%;
		width: 120%;
		margin-left: -10%;
		margin-right: -10%;
	}

	.page-template-default .entry-content > .c9-grid .container.alignwide {
		width: 120%;
		max-width: 1368px;
		margin-left: auto;
		margin-right: auto;
	}

	.page-template-default .entry-content > .c9-grid .container-fluid.alignfull,
	.page-template-default .entry-content > .c9-grid .container-fluid,
	.c9-grid > .container-fluid {
		margin-left: 0px;
		margin-right: 0px;
	}
}
