/* setup */

#marketing .block-outer {
	padding-top: 2em;
	padding-bottom: 2em;
	background-color: #fff;
	color: #000;
	display: flex;
	align-items: stretch;
	align-content: center;
	position: relative;
	padding: 0;
}

#marketing .block-outer .e-row {
	display: flex;
	align-items: stretch;
	align-self: center;
	align-items: center;
	padding: 0;
}

#marketing .block-outer h2 {
	wrap-after: flex;
}

#marketing .block {
	padding: 2em 1em 2em 1em;
}

	#marketing .block:first-child {
		padding-left: 4em;
	}

	#marketing .block:last-child {
		padding-right: 4em;
	}

	#marketing .block:not(:first-child):not(:last-child) {
		padding-left: 2.5em;
		padding-right: 2.5em;
	}

	@media (max-width: 1023px) {
		#marketing .block:first-child {
			padding-left: 3em;
		}

		#marketing .block:last-child {
			padding-right: 3em;
		}

		#marketing .block:not(:first-child):not(:last-child) {
			padding-left: 2em;
			padding-right: 2em;
		}
	}

	@media (max-width: 640px) {
		#marketing .block:first-child {
			padding-left: 2em;
		}

		#marketing .block:last-child {
			padding-right: 2em;
		}

		#marketing .block:not(:first-child):not(:last-child) {
			padding-left: 1em;
			padding-right: 1em;
		}
	}

/* override minimal-grid at 768 instead of 480 */
@media (max-width: 768px) {
	#marketing .e-row {
		flex-direction: column;
	}

	#marketing .e-col-10, #marketing .e-col-15,#marketing .e-col-20, #marketing .e-col-25, #marketing .e-col-30,
	#marketing .e-col-33, #marketing .e-col-35, #marketing .e-col-40, #marketing .e-col-45, #marketing .e-col-50,
	#marketing .e-col-55, #marketing .e-col-60, #marketing .e-col-65, #marketing .e-col-66, #marketing .e-col-70,
	#marketing .e-col-75, #marketing .e-col-80, #marketing .e-col-85, #marketing .e-col-90, #marketing .e-col-95,
	#marketing .e-col-100 {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	#marketing .e-col-5 {
		display: none !important;
	}

	#marketing .block-outer {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	#marketing .block:first-child {
		padding-left: 1em;
		padding-top: 1em;
		padding-right: 1em;
		padding-bottom: 1em;
	}

	#marketing .block:last-child {
		padding-left: 1em;
		padding-top: 1em;
		padding-right: 1em;
		padding-bottom: 1em;
	}

	#marketing .block-outer .block:not(:first-child) {
		padding-top: 0;
	}

	#marketing .block-outer .block:not(:last-child) {
		padding-bottom: 0;
	}
}


#marketing h1 b,
#marketing h1 strong,
#marketing h2 b,
#marketing h2 strong,
#marketing h3 b,
#marketing h3 strong {
	background-color: var(--purple);
	background-image: var(--pink-to-red);
	background-clip: text;
	-webkit-background-clip: text;
	-moz-background-clip: text;
	text-fill-color: transparent;
	-webkit-text-fill-color: transparent;
	-moz-text-fill-color: transparent;
	font-weight: inherit;
}

#marketing h1 i,
#marketing h1 em,
#marketing h2 i,
#marketing h2 em,
#marketing h3 i,
#marketing h3 em {
	background-color: var(--light-green);
	background-image: var(--light-green-to-blue);
	background-clip: text;
	-webkit-background-clip: text;
	-moz-background-clip: text;
	text-fill-color: transparent;
	-webkit-text-fill-color: transparent;
	-moz-text-fill-color: transparent;
	font-style: inherit;
}

#marketing .block img,
#marketing .block video,
#marketing .block iframe {
	margin-top: 1em;
	margin-bottom: 1em;
}

	#marketing .youtube-responsive {
		border: 4px solid #fff;
		border-radius: 20px;
		margin-top: 1em;
		margin-bottom: 1em;
	}

		#marketing .youtube-responsive iframe {
			margin: 0;
		}

#marketing .block-outer .narrow-content {
	padding-left: 3em;
	padding-right: 3em;
}

	#marketing .block-outer .narrow-content>div:first-child {
		padding-left: 0;
	}

	#marketing .block-outer .narrow-content>div:last-child {
		padding-right: 0;
	}

	@media (max-width: 520px) {
		#marketing .block-outer .narrow-content {
			padding-left: 0em;
			padding-right: 0em;
		}

		#marketing .block-outer .narrow-content>div {
			padding-left: 0;
			padding-right: 0;
		}
	}

/* block types */

#marketing .block-outer.white-background {
	background-color: #fff;
	color: #000;
}

#marketing .block-outer.white-background-no-padding {
	background-color: #fff;
	color: #000;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}

	#marketing .block-outer.white-background-no-padding .block {
		padding-top: 0.5em;
		padding-bottom: 0.5em;
	}

#marketing .block-outer.white-background-no-padding-bottom {
	background-color: #fff;
	color: #000;
	padding-bottom: 0.5em;
}

	#marketing .block-outer.white-background-no-padding-bottom .block {
		padding-bottom: 0.5em;
	}

#marketing .block-outer.white-background-no-padding-top {
	background-color: #fff;
	color: #000;
	padding-top: 0.5em;
}

	#marketing .block-outer.white-background-no-padding-top .block {
		padding-top: 0.5em;
	}

#marketing .block-outer.slim-white {
	padding: 0.5em 1em 0.5em 1em;
	background-color: #fff;
	color: #000;
}

#marketing .block-outer.title-and-subnav {
	background-color: #fff;
	color: #000;
	padding-top: 1em;
	padding-bottom: 1em;
}

	#marketing .title-and-subnav .block {
		display: table-cell;
		padding-top: 10px;
		padding-bottom: 20px;
	}

	#marketing .title-and-subnav .block:last-of-type {
		text-align: right;
		padding-top: 22px;
	}

	.title-and-subnav h1,
	.title-and-subnav h2,
	.title-and-subnav h3 {
		margin-top: 0;
		margin-bottom: 0;
	}

	.title-and-subnav ul,
	.title-and-subnav li,
	.title-and-subnav p,
	.title-and-subnav br {
		list-style-type: none;
		display: inline;
		margin: 0;
		padding: 0;
	}
	
	.title-and-subnav a {
		display: inline-block;
		margin-left: 20px;
		padding-bottom: 3px;
		border-bottom: 3px solid #fff;
	}

	.title-and-subnav a:hover {
		color: #000;
		border-bottom-width: 3px;
		border-bottom-style: solid;
		border-bottom-color: var(--purple);
		border-image: var(--pink-to-red) 10% stretch;
	}

	@media (max-width: 1023px) {
		.title-and-subnav a {
			display: none;
		}
	}

#marketing .block-outer.light-grey-background {
	background-color: var(--light-grey);
	color: #000;
}

#marketing .block-outer.light-grey-background-narrow-content {
	background-color: var(--light-grey);
	color: #000;
	padding-left: 4em;
	padding-right: 4em;
}

	@media (max-width: 520px) {
		#marketing .block-outer.light-grey-background-narrow-content {
			padding-left: 1em;
			padding-right: 1em;
		}
	}

#marketing .block-outer.black-background {
	background-color: #000;
	color: #fff;
	background-position: 50% 0% !important;
}

#marketing .block-outer.black-background-and-line {
	background-color: #000;
	color: #fff;
	background-position: 50% 0% !important;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: var(--green);
	border-image: var(--green-to-blue) 10% stretch;
}

#marketing .block-outer.black-background-narrow-content {
	background-color: #000;
	color: #fff;
	background-position: 50% 0% !important;
	padding-left: 4em;
	padding-right: 4em;
}

	@media (max-width: 520px) {
		#marketing .block-outer.black-background-narrow-content {
			padding-left: 1em;
			padding-right: 1em;
		}
	}

#marketing .block-outer.slim-black {
	padding: 0.5em 1em 0.5em 1em;
	background-color: #000;
	color: #fff;
}

#marketing .block-outer.slim-black-narrow-content {
	padding: 0.5em 4em 0.5em 4em;
	background-color: #000;
	color: #fff;
}

	@media (max-width: 520px) {
		#marketing .block-outer.slim-black-narrow-content {
			padding-left: 1em;
			padding-right: 1em;
		}
	}

#marketing .block-outer.short-banner {
	aspect-ratio: 1400 / 404;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
}

#marketing .block-outer.tall-banner {
	aspect-ratio: 1400 / 608;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
}

#marketing .block-outer.blue-green-gradient {
	background:var(--green-to-blue);
	color: #fff;
	position: relative;
}

	#marketing .block-outer.blue-green-gradient::before {
		content: "";
		position: absolute;
		top: 0; left: 0; right: 0; bottom: 0;
		background: var(--black-fade-in);
		z-index: 0;
	}

	#marketing .block-outer.blue-green-gradient .e-row {
		z-index: 2;
	}

#marketing .block-outer.pink-gradient {
	background: var(--pink-to-red);
	color: #fff;
}

#marketing .block-outer.pink-gradient-slim {
	padding: 0.5em 1em 0.5em 1em;
	background: var(--pink-to-red);
	color: #fff;
}

#marketing .block-outer.blue-fade-in {
	background: var(--black-to-blue);
	color: #fff;
}

#marketing .block-outer.blue-fade-in-and-white-line {
	background: var(--black-to-blue);
	color: #fff;
	border-bottom: 1px solid #fff;
}

#marketing .block-outer.blue-fade-in-creator-tools {
	background: var(--black-to-blue-creator-tools);
	color: #fff;
}

#marketing .block-outer.green-fade-in {
	background: var(--black-to-green);
	color: #fff;
}

#marketing .block-outer.green-fade-in-and-white-line {
	background: var(--black-to-green);
	color: #fff;
	border-bottom: 1px solid #fff;
}

#marketing .block-outer.purple-fade-in {
	background: var(--black-to-purple);
	color: #fff;
}

#marketing .block-outer.purple-fade-in-and-white-line {
	background: var(--black-to-purple);
	color: #fff;
	border-bottom: 1px solid #fff;
}

#marketing .block-outer.red-fade-in {
	background: var(--black-to-red);
	color: #fff;
}

#marketing .block-outer.red-fade-in-and-white-line {
	background: var(--black-to-red);
	color: #fff;
	border-bottom: 1px solid #fff;
}

#marketing .block-outer.tall-banner-with-video-behind {
	aspect-ratio: 1400 / 608;
	background-color: #000;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	position: relative;
	margin: 0;
	padding: 0;
}

	#marketing .block-outer.tall-banner-with-video-behind * {
		z-index: 2;
	}

	#marketing .block-outer.tall-banner-with-video-behind video {
		position: absolute;
		aspect-ratio: 1400 / 608;
		width: 100%;
		margin: 0;
		padding: 0;
		z-index: 0;
	}

	@media (max-width: 1023px) {
		#marketing .block-outer.tall-banner-with-video-behind video {
			width: 200%;
			margin-left: -50%;
		}

		#marketing .block-outer.tall-banner-with-video-behind h1 {
			font-size: 40px;
			line-height: 40px;
		}

		#marketing .block-outer.tall-banner-with-video-behind h2 {
			font-size: 35px;
			line-height: 42px;
		}

		#marketing .block-outer.tall-banner-with-video-behind h3 {
			font-size: 24px;
			line-height: 28px;
		}

		#marketing .block-outer.tall-banner-with-video-behind .btn-2 {
			margin-top: 3px;
			display: inline-block;
		}

		#marketing .block-outer.tall-banner-with-video-behind .nbsp {
			display: none;
		}
	}

	@media (max-width: 640px) {
		#marketing .block-outer.tall-banner-with-video-behind video {
			width: 300%;
			margin-left: -100%;
		}

		#marketing .block-outer.tall-banner-with-video-behind .btn-2 {
			display: inline-block;
		}

		#marketing .btn-aligned-right {
			float: none !important;
			display: block !important;
			margin-left: auto;
			margin-right: auto;
		}
	}
