.hero {
	position:relative;
	width:100%;
	background: linear-gradient(#3a64b0 0%, #10123b 100%);
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	padding:0 30px;
}

.hero.empty {
	padding:150px 60px;
	background: repeating-linear-gradient(
		45deg,
		#ddd,
		#ddd 10px,
		#eee 10px,
		#eee 20px
	);
}

.hero8.customModuleEmpty  {
	flex-direction: column;
	min-height: 0;
}

.hero .heroContentContainer {
	height: 100%;
	/*min-height:600px;*/
	width: 100%;
	max-width:1280px;
	margin:0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 120px 0;
	/*overflow: hidden;*/
	position: relative;
	z-index: 1;
}

.hero5 .heroContentContainer {
	padding: 180px 0;
}

.hero1 .heroContentContainer,
.hero2 .heroContentContainer {
	min-height: 1000px;
}

.hero3.textRight .heroContentContainer,
.hero7.textRight .heroContentContainer {
	flex-flow: row-reverse;
}

.hero .heroBackground {
	position: absolute;
	z-index: 0;
	top:0;
	left: 0;
	width:100%;
	height:100%;
	background-repeat:no-repeat;
	background-size:cover;
	background-position: center center;
}

.hero1.textLeft  .heroBackground {
	background-position: top right;
}

.hero1.textRight  .heroBackground {
	background-position: top left;
}

.hero1 .heroBackground:before {
	content:"";
	position:absolute;
	z-index:1;
	width:100%;
	height:100%;
	top:0;
}

.hero1.textRight .heroBackground:before {
	right:0;
	background: linear-gradient(210deg, rgba(0,6,129,1) 0%, rgba(0,6,129,0) 50%);
}

.hero1.textLeft .heroBackground:before {
	left:0;
	background: linear-gradient(150deg, rgba(0,6,129,1) 0%, rgba(0,212,255,0) 50%);
}

.hero4 .heroBackground {
	position:absolute;
	z-index:0;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

.hero.hero4 .heroContentContainer{
	/*padding: 30px 30px 30px 11vw;*/
	padding: 120px 0 90px;
}

.hero3 .heroContentContainer,
.hero7 .heroContentContainer,
.hero8 .heroContentContainer {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 180px 0;
	height: 100%;
}

.hero8.quickLinksBottom .heroContentContainer {
	flex-wrap:wrap;
}

.hero1.textLeft .heroContentContainer {
	align-items: start;
}

.hero.textRight .heroContentContainer {
	align-items: center;
}

.hero3.textRight .heroContentContainer {
	align-items: center;
}

.hero .heroContentContainer .heroContentWrapper {
	position:relative;
}

.hero4 .heroContentContainer .heroContentWrapper {
	display:flex;
	align-items: center;
}

.hero .heroContentContainer .heroContentWrapper .title,
.hero .heroContentContainer .heroContentWrapper .subtitle {
	/*text-shadow: 3px 3px 2px rgb(0, 0, 0, 1);*/
	hyphens: auto;
	overflow-wrap: break-word;
	word-break: normal;
}

.hero1.textRight .heroContentContainer .heroContentWrapper {
	padding: 0 8vw;
	margin-right: 0;
	margin-left: auto;
}

.hero1.textLeft .heroContentContainer .heroContentWrapper {
	padding: 0 8vw;
	margin-right: auto;
	margin-left: 0;
}

.hero2.textRight .heroContentContainer .heroContentWrapper {
	padding-left: 35%;
	padding-right: 10%;
}

.hero2.textLeft .heroContentContainer .heroContentWrapper,
.hero3.textLeft .heroContentContainer .heroContentWrapper,
.hero5.textLeft .heroContentContainer .heroContentWrapper,
.hero7.textLeft .heroContentContainer .heroContentWrapper,
.hero8.textLeft .heroContentContainer .heroContentWrapper {
	/*padding-left: 8vw;*/
	min-height: 100%;
}

.hero3.textRight .heroContentContainer .heroContentWrapper,
.hero7.textRight .heroContentContainer .heroContentWrapper {
	padding-left: 0;
	/*padding-right: 8vw;*/
}

.hero5.hasVideo .heroContentContainer .heroContentWrapper {
	padding-right: 250px;
}

.hero3 .heroContentContainer .heroContentWrapper,
.hero7 .heroContentContainer .heroContentWrapper,
.hero8 .heroContentContainer .heroContentWrapper {
	width: 50%;
}

.hero5 .heroContentContainer .heroContentWrapper {
	width:auto;
	padding-bottom: 60px;
}

.hero5 .videoLink {
	position:absolute;
	z-index:1;
	right: 5rem;
	bottom: 5rem;
}

.hero5 .videoLink .playIcon {
	width:auto;
	height:auto;
	position:relative;
}

.hero5 .heroContentContainer {
	justify-content: end;
}

.hero .embeddedModule {
	height: 100%;
	width: 100%;
}

.hero3 .heroSidebar,
.hero5 .heroSidebar,
.hero7 .heroSidebar,
.hero8 .heroSidebar {
	width: 50%;
	padding:0 0 0 30px;
	min-height: 100%;
	display: flex;
	align-items: center;
	justify-content: right;
}

.hero3 .lext-left .heroSidebar,
.hero7 .lext-left .heroSidebar {
	padding-left:45px;
	padding-right:0;
}

.hero3.textRight .heroSidebar,
.hero7.textRight .heroSidebar {
	padding-left:0;
	padding-right: 45px;
}

.hero .title {
	font-family: Montserrat, Arial, Helvetica, sans-serif;
	font-size: 4rem;
	line-height: 5rem;
	font-weight: 800;
	margin-right: 15px;
	/*color:#fff;*/
	white-space: pre-line;
	margin: 0;
}

.hero.hero3 .title, .hero.hero3 .subtitle h4 {
	color:inherit;
}

.hero.hero4 .tinyTitle {
	color:#FFD502;
	font-size:1.5rem;	
}

.hero.hero4 .heroTitle {
	/*text-shadow: 4px 4px 6px rgba(0,0,0,0.8);*/
	flex-grow:1;
	flex-basis: 0;
	min-width: 0;
}

.hero.hero5 .title {
	font-size:2rem;
	line-height:2rem;
	color:#FFD502;
	font-weight: 500;
}

.hero8.hasImageVideo .heroSidebar {
	display: flex;
	flex-direction: column;
}

.hero8.quickLinksBottom:not(.hasImageVideo) .title {
	width: 100%;
	/*padding: 0 8vw;*/
}

.hero .title .stylizedText {
	font-family: SaltySoul,Arial, Helvetica, sans-serif;
	font-size: 8rem;
	line-height: 9rem;
	color: #FFD502;
	font-weight: normal;
	hyphens: initial;
	overflow-wrap: initial;
	word-break: initial;
}

.hero2 .title .stylizedText,
.hero3 .title .stylizedText {
	font-size: 10rem;
	line-height: 9.5rem;
}

.hero .subtitle {
	font-family: Karla, Arial, Helvetica, sans-serif;
	font-size: 2rem;
	font-weight: 400;
	line-height: 2.5rem;
	/*margin-top: 1.5rem;*/
	/*max-width: 450px;*/
}

.hero3 .subtitle {
	max-width: none;
}

.hero.hero5 .subtitle {
	font-size: 4rem;
	line-height: 4rem;
	max-width: none;
	font-weight: 700;
	margin-top: 1rem;
}

.hero7 .subtitle *,
.hero8 .subtitle * {
	font-family: Karla, Arial, Helvetica, sans-serif;
	font-size: 1.75rem;
	font-weight: 600;
	line-height: 2.25rem;
	margin-top: 0.75rem;
	margin-bottom:0;
	color:inherit;
}

.hero7 .subtitle strong,
.hero8 .subtitle strong {
	font-weight: 700;
}

.hero .content {
	font-family: Karla, Arial, Helvetica, sans-serif;
	font-size: 1.2rem;
	font-weight: 300;
	line-height: 2rem;
	margin: 1.5rem 0 0;
	/*color: #fff;*/
	/*max-width: 450px;*/
}

.hero3 .content {
	max-width:none;
}

.hero .content p:last-child {
	margin-bottom:0;
}

.hero .link {
	margin:2rem -5px 0;
}

.hero4 .link {
	margin:0;
}

.hero2 .link {
	margin: 0;
	margin-left: 0px;
	position: absolute;
	bottom: 0;
	left: 65%;
	margin-left: 30px;
}

.hero7 .link {
	
}

.hero .videoContainer {
	width:100%;
	height:100%;
}

.hero8 .videoContainer {
	margin-bottom:15px;
}

.hero7 .videoPlaceholder,
.hero8 .videoPlaceholder {
	border: 12px solid #fff;
	background: none;
	width: 100%;
	overflow: hidden;
}

	.hero7 .videoPlaceholder img,
	.hero8 .videoPlaceholder img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
	}

.contentPane .DnnModule:first-child .hero .heroSidebar .sc-menu:first-child {
	top: 0 !important;
}

.hero .quickLinks {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}

	.hero .quickLinks div .btn-primary {
		/*background: #5f91f4;
		color: #fff;
		border-radius: 20px;
		padding: 6px 20px;
		margin: 0;
		min-width: 275px;
		text-align: left;*/
		
		background: linear-gradient(90deg,rgba(0, 47, 255, 1) 23%, rgba(0, 153, 255, 1) 100%);
		color: #fff;
		border-radius: 30px;
		padding: 14px 25px;
		margin: 0;
		min-width: 275px;
		text-align: left;
		border: 2px solid #0402bf;
		box-shadow: 9px 7px 5px -2px rgba(0,0,0,0.32);
		-webkit-box-shadow: 9px 7px 5px -2px rgba(0,0,0,0.32);
		-moz-box-shadow: 9px 7px 5px -2px rgba(0,0,0,0.32);
	}

		.hero .quickLinks div .btn-primary:hover {
			background: #FFD502;
			color: #011D4A;
		}

.hero8.quickLinksBottom .heroSidebar {
	align-self: end;
}

	.hero8.quickLinksBottom .quickLinks {
		flex-direction: row;
		flex-wrap: wrap;
	}

		.hero8.quickLinksBottom .quickLinks .quickLinkItem {
			/*width:calc(50% - 10px);*/
		}

		.hero8.quickLinksBottom .quickLinks div .btn-primary {
			width: 100%;
			min-width:0;
		}

		.hero.quickLinksBottom .linkContainer {
			width:100%;
		}

		.hero .linkContainer h3 {
			font-size:1.5em;
			line-height:1.5em;
			font-weight:normal;
			color:#fff;
			margin:0 0 10px 10px;
			padding:0;
		}

.hero7 .videoContainer {
	border: 12px solid #fff;
}

.hero7 .video-wrapper {
	margin:0;
}

/* embedded modules */

.hero8.hasEmbeddedModule .heroContentContainer .heroContentWrapper {
	width: 45%;
}

.hero8.hasEmbeddedModule .heroContentContainer .heroSidebar {
	width: 55%;
}

.hero8.hasEmbeddedModule .submissionFormWrapper {
	margin: 0;
	padding: 0;
	background: #fff;
}

	.hero8.hasEmbeddedModule .submissionFormWrapper .submissionForms {
		min-height: 0;
	}

	.hero8.hasEmbeddedModule .submissionFormWrapper .submissionForm {
		width: 100%;
	}


@media all and (max-width: 1080px) {
	.hero1 .heroContentContainer, .hero2 .heroContentContainer {
		min-height: 750px;
	}
	
	.hero.hero3 .heroContentContainer,
	.hero.hero7 .heroContentContainer {
		flex-direction: column;
	}
	
	.hero.hero3 .heroContentContainer .heroContentWrapper,
	.hero.hero7 .heroContentContainer .heroContentWrapper {
		width:100%;
		padding:0 0 30px;
	}

	.hero2.textLeft .heroContentContainer .heroContentWrapper,
	.hero5.textLeft .heroContentContainer .heroContentWrapper {
		padding: 0 8vw;
	}

	.hero7.textLeft .heroContentContainer .heroContentWrapper {
		/*padding: 0 0 0 6vw;*/
	}

	.hero.hero7 .title {
		font-size: 4rem;
	}

	.hero3 .heroSidebar,
	.hero7 .heroSidebar {
		width: 100%;
  		padding: 0;
	}
	
	.hero3.textRight .heroSidebar,
	.hero7.textRight .heroSidebar {
		padding:0;
	}

	.hero7 .heroSidebar {
		/*padding: 0 6vw 0 3vw;*/
	}

	.hero5.hasVideo .heroContentContainer .heroContentWrapper {
		padding-right: 250px;
	}

	.hero1.textRight .heroBackground:before {
		right: 0;
		background: linear-gradient(210deg, rgba(0,6,129,1) 0%, rgba(0,6,129,0) 100%);
	}

	.hero1.textLeft .heroBackground:before {
		left: 0;
		background: linear-gradient(150deg, rgba(0,6,129,1) 0%, rgba(0,212,255,0) 100%);
	}

	.hero2 .link,
	.hero3 .link,
	.hero7 .link {
		position: relative;
		left: 0;
		margin: 45px -5px 0 0;
		text-align: right;
	}

	.hero .title {
		font-size: 4rem;
		line-height: 5rem;
	}

		.hero.largeTitle .title .stylizedText {
			font-size: 10rem;
			line-height: 10.5rem;
		}

	.hero.hero7 .title .stylizedText {
		font-size: 8rem;
		line-height: 8.5rem;
	}

	.hero .subtitle {
		/*margin-top: 60px;*/
	}

	.hero .content {
		max-width: none;
	}
}

@media all and (max-width: 800px) {
	.hero3 .heroContentContainer,
	.hero7 .heroContentContainer,
	.hero8 .heroContentContainer {
		padding: 90px 0;
	}
	
	.hero1 .heroContentContainer .heroContentWrapper {
		width: 100%;
		padding-left: 8vw;
		padding-right: 8vw;
	}

	.hero1 .subtitle {
		max-width: none;
	}

	.hero1.textRight .heroBackground:before {
		background: linear-gradient(210deg, rgba(0,6,129,1) 0%, rgba(0,6,129,0.65) 100%);
	}

	.hero1.textLeft .heroBackground:before {
		background: linear-gradient(150deg, rgba(0,6,129,1) 0%, rgba(0,6,129,0.65) 100%);
	}

	.hero .heroContentContainer {
		min-height: 400px;
	}

	.hero.hero7 .heroContentContainer {
		flex-direction: column;
	}

	.hero.hero7 .title {
		font-size: 3rem;
	}

		.hero.hero7 .title .stylizedText {
			font-size: 6rem;
			line-height: 6.5rem;
		}

	.hero8.quickLinksBottom:not(.hasImageVideo) .title {
		width: 100%;
		padding: 0 30px;
	}

	.hero7.textLeft .heroContentContainer .heroContentWrapper,
	.hero7 .heroSidebar {
		width: 100%;
		padding: 0;
	}

	.hero7 .heroSidebar {
		margin-top: 30px;
	}

	.hero5.hasVideo .heroContentContainer .heroContentWrapper {
		padding-right: 8vw;
	}

	.hero5 .videoLink {
		position: relative;
		width: 100%;
		margin: 0;
		padding: 30px 0 0;
		right: 0;
		bottom: 0;
	}

	.hero8 .heroContentContainer {
		flex-direction:column;
	}

	.hero8.textLeft .heroContentContainer .heroContentWrapper {
		padding: 0;
		width: 100%;
		margin-bottom: 30px;
	}

	.hero8.textLeft .heroContentContainer .heroSidebar {
		padding: 0;
		width: 100%;
		justify-content: left;
	}

		.hero8.textLeft .heroContentContainer .heroSidebar .quickLinks {
			flex-direction:row;
			flex-wrap:wrap;
		}

	.hero .quickLinks div .btn-primary {
		min-width: 0;
	}

	.hero8 .heroContentContainer {
		padding:75px 0;
	}
}

@media all and (max-width: 800px) {
	.hero5 .heroContentContainer {
		padding: 90px 0;
	}
}

@media all and (max-width: 640px) {
	.hero1.textRight .heroContentContainer .heroContentWrapper {
		padding: 0 30px;
	}

	.hero .title {
		font-size: 3.5rem;
		line-height: 4.5rem;
	}

		.hero .title .stylizedText {
			/*font-size: 5rem;
			line-height: 5.5rem;*/
			font-size: 7rem;
			line-height: 7.5rem;
		}

	.hero .subtitle {
		font-size: 1.5rem;
		line-height: 2rem;
	}

	.hero2 .link,
	.hero3 .link,
	.hero7 .link {
		text-align: left;
	}
}

@media all and (max-width: 480px) {
	.hero .quickLinks div .btn-primary {
		font-size: 2rem;
	}
}

@media all and (max-width: 360px) {
	.hero .title {
		font-size: 2.5rem;
		line-height: 3.5rem;
	}

		.hero .title .stylizedText {
			/*font-size: 4rem;
			line-height: 4.5rem;*/
			font-size: 5rem;
			line-height: 5.5rem;
		}

	.hero.hero5 .subtitle {
		font-size: 3rem;
		line-height: 3rem;
	}
}

@media all and (min-width: 1280px) {
	.hero8 {
		min-height:700px;
		display: flex;
		align-items: center;
	}
}