@charset 'UTF-8';

/*********************************************************************************/
/* Basic                                                                         */
/*********************************************************************************/
	a[href$=".pdf"]		{		background-image: url(../images/pdf-icon.png);		background-position: center left;		background-repeat: no-repeat;		padding-left: 35px;		height: 35px;		display: inline-block;		padding-top: 10px;	}
			body
	{
		background: #264177;
	}

	body,input,textarea,select
	{
		font-family: 'Roboto Condensed', sans-serif;
		font-weight: 300;
		font-size: 15px;
		line-height: 1.8em;
	}

	h1,h2,h3,h4,h5,h6
	{
		letter-spacing: 1px;
		text-transform: uppercase;
		font-weight: 300;
	}
	
		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a
		{
			color: inherit;
			text-decoration: none;
		}
		
	strong, b
	{
		font-weight: bold;
		color: #000000;
	}
	
	em, i
	{
		font-style: italic;
	}

	a
	{
		color: #4FC459;
	}

	a.phone-link
	{
		color: inherit;
		text-decoration: none;
	}

	a.phone-link:hover,
	a.phone-link:focus
	{
		text-decoration: underline;
	}

	sub
	{
		position: relative;
		top: 0.5em;
		font-size: 0.8em;
	}
	
	sup
	{
		position: relative;
		top: -0.5em;
		font-size: 0.8em;
	}
	
	hr
	{
		border: 0;
		border-top: solid 1px #ddd;
	}
	
	blockquote
	{
		border-left: solid 0.5em #ddd;
		padding: 1em 0 1em 2em;
		font-style: italic;
	}
	
	p, ul, ol, dl, table
	{
		margin-bottom: 1.15em;
	}

	header
	{
		margin-bottom: 1.75em;
		line-height: 1.7em;
	}
	
		header h1,
		header h2
		{
			font-size: 2.35em;
		}

		header .byline
		{
			display: block;
			margin: 0.5em 0 0 0;
			padding: 0 0 0.5em 0;
			text-transform: uppercase;
			font-size: 1.4em;
		}
		
	footer
	{
		margin-top: 1em;
	}

	br.clear
	{
		clear: both;
	}

	/* Sections/Articles */
	
		section,
		article
		{
			margin-bottom: 3em;
		}
		
		section > :last-child,
		article > :last-child
		{
			margin-bottom: 0;
		}

		section:last-child,
		article:last-child
		{
			margin-bottom: 0;
		}

		.row > section,
		.row > article
		{
			margin-bottom: 0;
		}

	/* Images */

		.image
		{
			display: inline-block;
		}
		
			.image img
			{
				display: block;
				width: 100%;
			}

			.image.featured
			{
				display: block;
				width: 100%;
				margin: 0 0 2em 0;
			}
			
			.image.full
			{
				display: block;
				width: 100%;
				margin-bottom: 2em;
			}
			
			.image.left
			{
				float: left;
				margin: 0 2em 2em 0;
			}
			
			.image.centered
			{
				display: block;
				margin: 0 0 2em 0;
			}

				.image.centered img
				{
					margin: 0 auto;
					width: auto;
					max-width: 100%;
					height: auto;
				}

		img,
		iframe,
		object,
		embed,
		video
		{
			max-width: 100%;
		}

		img
		{
			height: auto;
		}

	/* Lists */

		ul.default
		{
			margin: 0;
			padding: 0;
			list-style: none;
		}
		
			ul.default li
			{
				display: block;
				padding: 2em 0em 1.25em 0em;
				border-top: 1px solid #FFFFFF;
			}
			
			ul.default li:first-child
			{
				padding-top: 0em;
				border-top: none;
			}
			
			ul.default a
			{
				text-decoration: none;
				color: rgba(255,255,255,.5);
			}
			
			ul.default a:hover
			{
				text-decoration: underline;
			}

		ul.style1
		{
			margin: 0;
			padding: 0;
			list-style: none;
		}
		
			ul.style1 li
			{
				padding: 0.60em 0em;
				border-top: 1px solid;
				border-color: rgba(0,0,0,.1);
			}
			
			ul.style1 li:first-child
			{
				padding-top: 0;
				border-top: 0;
			}
			
			ul.style1 img
			{
			}


		ul.style2
		{
			margin: 0;
			padding: 0;
			list-style: none;
		}

			ul.style2 li
			{
				padding: 1.90em 0em 1.60em 0em;
				border-top: 1px solid;
				border-color: rgba(0,0,0,.1);
			}
			
			ul.style2 li:first-child
			{
				padding-top: 0;
				border-top: 0;
			}

			ul.style2 img
			{
				float: left;
				padding-right: 1em;
			}
			
			ul.style2 h3
			{
				font-size: 1.2em;
			}
		ul.style5
		{
			overflow: hidden;
			margin: 0em 0em 1em 0em;
			padding: 0em;
			list-style: none;
		}
		
			ul.style5 li
			{
				float: left;
				padding: 0.25em 0.25em;
				line-height: 0;
			}
			
			ul.style5 a
			{
			}

		ul.style6
		{
			margin: 0em 0em 1.5em 0em;
			padding: 0em 0em 0em 1.4em;
			list-style-type: disc;
		}

			ul.style6 li
			{
				margin-bottom: 0.55em;
				padding-left: 0.15em;
			}

			ul.style6 li:last-child
			{
				margin-bottom: 0;
			}

			ul.style6 li p
			{
				margin: 0.45em 0em 0em 0em;
			}

		ul.style7
		{
			margin: 0;
			padding: 0;
			list-style: none;
		}

			ul.style7 li
			{
				padding-top: 0.6em;
			}

			ul.style7 li:first-child
			{
				padding-top: 0;
			}

		ul.style7 h3
		{
			font-size: 1.6em;
		}
		
		ul.style7 p
		{
			font-size: 1.2em;
		}

	/* Buttons */
		
		.button
		{
			position: relative;
			display: inline-block;
			margin-top: 0.5em;
			padding: 0.50em 1.5em;
			background: #4FC459;
			border-radius: 6px;
			text-decoration: none;
			text-transform: uppercase;
			font-size: 1.1em;
			color: #FFF;
			-moz-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
			-webkit-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
			-o-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
			-ms-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
			transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
			cursor: pointer;
		}

			.button:hover
			{
				background: #406ABF;
				color: #FFF !important;
			}

/*********************************************************************************/
/* Header                                                                        */
/*********************************************************************************/

	#titleBar,
	#navPanel
	{
		display: none;
	}

	#header
	{
		position: relative;
		margin-top: -1px;
		background: #C9C9C9;
		border-bottom: 10px solid #264177;
	}

		#header .container
		{
			position: relative;
			padding: 3.5em 0em 3.25em 0em;
		}

/*********************************************************************************/
/* Logo                                                                          */
/*********************************************************************************/

	#logo
	{
		position: absolute;
		left: 0em;
		top: 50%;
		transform: translateY(-50%);
		max-width: 31em;
	}
	
		#logo h1
		{
		}
	
		#logo a
		{
			display: block;
			text-decoration: none;
			font-size: 2.8em;
			font-weight: 600;
		}

		#logo a.logo-link
		{
			line-height: 0;
			font-size: 1em;
			font-weight: normal;
		}

		#logo img.site-logo
		{
			display: block;
			width: 100%;
			max-width: 400px;
			max-width: 100%;
			height: auto;
			max-height: 5.4em;
		}

/*********************************************************************************/
/* Nav                                                                           */
/*********************************************************************************/

	#nav
	{
		position: absolute;
		right: 0em;
		top: 1.85em;
	}

		#nav > ul > li
		{
			float: left;
		}
		
			#nav > ul > li:last-child
			{
				padding-right: 0;
			}

			#nav > ul > li > a,
			#nav > ul > li > span
			{
				display: block;
				margin-left: 0.45em;
				padding: 0.8em 1.05em;
				letter-spacing: 0.06em;
				text-decoration: none;
				text-transform: uppercase;
				font-size: 1.1em;
				outline: 0;
				color: #333;
			}

	.nav-phone
	{
		display: none;
	}

			#nav li.active a
			{
				background: #4FC459;
				border-radius: 5px;
				color: #FFF;
			}

			#nav > ul > li > ul
			{
				display: none;
			}
	
/*********************************************************************************/
/* Banner                                                                        */
/*********************************************************************************/

	#banner
	{
		position: relative;
		padding: 12em 0em;
		background: url(../images/banner.jpg) no-repeat center;
		background-image: image-set(
			url("../images/banner.webp") type("image/webp"),
			url("../images/banner.jpg") type("image/jpeg")
		);
		background-size: cover;
		color: #fff;
		border-bottom: 10px solid #264177;
	}
	
	#banner-fruitpills
	{
		position: relative;
		padding: 10em 0em;
		background: url(../images/banner.jpg) no-repeat center;
		background-image: image-set(
			url("../images/banner.webp") type("image/webp"),
			url("../images/banner.jpg") type("image/jpeg")
		);
		background-size: cover;
		color: #fff;
		border-bottom: 10px solid #264177;
	}	
	
	#banner-science
	{
		position: relative;
		padding: 10em 0em;
		background: url(../images/science.jpg) no-repeat center;
		background-image: image-set(
			url("../images/science.webp") type("image/webp"),
			url("../images/science.jpg") type("image/jpeg")
		);
		background-size: cover;
		color: #fff;
		border-bottom: 10px solid #264177;
	}
	
	#banner-pills
	{
		position: relative;
		padding: 10em 0em;
		background: url(../images/pills.jpg) no-repeat center;
		background-image: image-set(
			url("../images/pills.webp") type("image/webp"),
			url("../images/pills.jpg") type("image/jpeg")
		);
		background-size: cover;
		color: #fff;
		border-bottom: 10px solid #264177;
	}
	
	#banner-pestle
	{
		position: relative;
		padding: 10em 0em;
		background: url(../images/pestle.jpg) no-repeat center;
		background-image: image-set(
			url("../images/pestle.webp") type("image/webp"),
			url("../images/pestle.jpg") type("image/jpeg")
		);
		background-size: cover;
		color: #fff;
		border-bottom: 10px solid #264177;
	}

/*********************************************************************************/
/* Main                                                                          */
/*********************************************************************************/

	#page
	{
		position: relative;
		background: #fff;
	}

	#main
	{
		border-top: 1px solid;
		border-color: rgba(0,0,0,.2);
	}
	
	.sidebar header h1,
	.sidebar header h2
	{
		font-size: 1.6em;
	}
	
	h3
	{
		font-size: 1.5em;
	}

	h4
	{
		font-size: 1.15em;
		letter-spacing: 0.06em;
	}

	.content-measure,
	.page-intro,
	.content-section,
	.project-case,
	.job-role,
	.privacy-section
	{
		max-width: 60em;
	}

	.lead-copy
	{
		font-size: 1.12em;
		line-height: 1.95em;
		color: #2c2c2c;
	}

	.section-lead
	{
		margin: -0.25em 0em 1.2em 0em;
		color: #406ABF;
		font-size: 1.02em;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.cred-line
	{
		margin: 1.75em 0em 2.25em 0em;
		padding: 0.9em 1.2em;
		background: #F3F6FB;
		border-left: 5px solid #4FC459;
	}

	.content-section,
	.project-case,
	.job-role,
	.privacy-section
	{
		margin-top: 2.5em;
		padding-top: 2.25em;
		border-top: 1px solid rgba(0,0,0,.12);
	}

	.anchor-section
	{
		scroll-margin-top: 1em;
	}

	.page-callout,
	.application-contact
	{
		margin-top: 1.6em;
		padding: 0.9em 1.15em;
		background: #F7F7F7;
		border-left: 4px solid #406ABF;
	}

	.application-contact
	{
		border-left-color: #4FC459;
	}

	.contact-card
	{
		padding: 1.35em 1.4em 1.1em 1.4em;
		background: #F7F7F7;
		border: 1px solid rgba(0,0,0,.1);
		border-radius: 6px;
	}

	.contact-card header
	{
		margin-bottom: 1.25em;
	}

	.contact-card .style2 li
	{
		padding: 1.2em 0em 1em 0em;
	}

	.contact-card p
	{
		margin-bottom: 0.75em;
	}

	.contact-card p:last-child
	{
		margin-bottom: 0;
	}

/*********************************************************************************/
/* Footer                                                                        */
/*********************************************************************************/
	
	#footer
	{
		position: relative;
		color: rgba(255,255,255,.7);
	}
	
	#footer .container
	{
		padding-top: 2em;
	}

	#footer .footer-brand
	{
		padding: 0.25em 1em 1.75em 1em;
		text-align: center;
	}

	#footer .footer-logo
	{
		display: inline-block;
		line-height: 0;
	}

	#footer .footer-logo img
	{
		display: block;
		width: min(300px, 76vw);
		height: auto;
		max-height: 88px;
	}

	#footer section
	{
		padding: 0.25em 1em 0.5em 1em;
		text-align: center;
		min-height: 0;
	}

	#footer h2
	{
		padding-bottom: 0.45em;
		font-size: 1.35em;
		color: rgba(255,255,255,.92);
	}

	#footer strong
	{
		color: rgba(255,255,255,.7);
	}
	
	#footer p
	{
		font-size: 1.05em;
	}

	#footer ul.style7 li
	{
		padding: 0.6em 0em 0em 0em;
		margin-top: 0.6em;
		border-top: 0;
	}

	#footer ul.style7 li:first-child
	{
		padding-top: 0;
		margin-top: 0;
		border-top: 0;
	}

	#footer ul.style7 h3
	{
		font-size: 1.1em;
		letter-spacing: 0.06em;
	}

	#footer a
	{
		color: rgba(255,255,255,.86);
	}
	
/*********************************************************************************/
/* Copyright                                                                     */
/*********************************************************************************/
	
	#copyright
	{
		position: relative;
		padding: 1.5em 0em 0.5em 0em;
		border-top: 1px solid rgba(255,255,255,.12);
		letter-spacing: 1px;
		text-align: center;
		line-height: 1.8em;
		color: rgba(255,255,255,.38);
	}
	
	#copyright .container
	{
	}
	
	#copyright a
	{
		color: rgba(255,255,255,.64) !important;
	}

/*********************************************************************************/
/* Marketing                                                                     */
/*********************************************************************************/
	
	#marketing,
	.marketing-grid
	{
		position: relative;
		margin-bottom: 0.75em;
	}

	#main #marketing.container,
	#main .marketing-grid.container
	{
		width: auto !important;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}
	
	#marketing header h2,
	.marketing-grid header h2
	{
		font-size: 1.6em;
	}

	.service-card header
	{
		margin-bottom: 0.85em;
	}

	.service-card p
	{
		margin-bottom: 0;
	}

	.image-link
	{
		display: block;
	}

	.image-link img
	{
		border-radius: 4px;
	}

	.service-card .image-link img
	{
		box-shadow: 0 0 0 rgba(64,106,191,0);
		transition: box-shadow 0.2s ease-in-out;
	}

	.service-card .image-link:hover img,
	.service-card .image-link:focus img
	{
		box-shadow: 0 0 14px rgba(64,106,191,0.14), 0 4px 12px rgba(0,0,0,0.08);
	}
	
/*********************************************************************************/
/* Featured                                                                      */
/*********************************************************************************/
	
	#featured
	{
		position: relative;
	}
	
	#featured .divider
	{
		border-bottom: 1px solid #FFFFFF;
	}
	
	#featured .box
	{
		background: #FFF;
		padding: 1.4em;
		font-size: 0.95em;
	}
	
	blockquote
	{
		margin: 0;
		padding: 0;
		border: none;
		font-style: normal;
	}
	
/*********************************************************************************/
/* Flow Chart                                                                    */
/*********************************************************************************/

	
	.flowchartsq
	{
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 20%;
		aspect-ratio: 3 / 2;
		padding: 0.75em;
		color: #FFFFFF;
		background-color: #406ABF;
		border-radius: 6px;
		text-align: center;
		line-height: 1.25;
		z-index: 0;
		-moz-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		-webkit-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		-o-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		-ms-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		cursor: pointer;
	}
	
		.flowchartsq:hover
		{
			background: #4FC459;
			color: #FFF !important;
		}

	strong.flowchart
	{
		display: block;
		color: #FFFFFF;
		line-height: 1.2;
	}
	
	.flowchartdiamond
	{
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 16.6667%;
		aspect-ratio: 1 / 1;
		background-color: #4FC459;
		border-radius: 6px;
		transform: rotate(-45deg);
		-ms-transform: rotate(-45deg); /* IE 9 */
		-webkit-transform: rotate(-45deg); /* Safari and Chrome */
		-moz-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		-webkit-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		-o-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		-ms-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		text-align: center;
		line-height: 1;
		z-index: 0;
		cursor: pointer;
	}
	
		.flowchartdiamond:hover
		{
			background: #406ABF;
			color: #FFF !important;
		}
	
	.flowchartdiamondtxt
	{
		max-width: 78%;
		color: #FFF;
		transform: rotate(45deg);
		-ms-transform: rotate(45deg); /* IE 9 */
		-webkit-transform: rotate(45deg); /* Safari and Chrome */
		line-height: 1.2;
	}

	.flowchart-wrap
	{
		margin: 2.5em 0em 3em 0em;
		max-width: 100%;
		overflow: visible;
		padding-bottom: 0;
	}

	.flowchart-canvas
	{
		position: relative;
		width: 100%;
		max-width: 60em;
		margin: 0 auto;
		aspect-ratio: 2 / 1;
		font-size: clamp(0.45rem, 1.55vw, 1rem);
	}

	.flowchart-arrow
	{
		position: absolute;
		display: block;
		width: 5%;
		max-width: 3em;
		height: auto;
	}

/*********************************************************************************/
/* Responsive                                                                    */
/*********************************************************************************/

	@media screen and (max-width: 1180px)
	{
		#header .container
		{
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 1em 1.5em;
			padding: 2.25em 0em 2em 0em;
		}

		#logo
		{
			position: relative;
			left: auto;
			top: auto;
			transform: none;
			flex: 0 1 18rem;
			max-width: 18rem;
		}

		#nav
		{
			position: relative;
			right: auto;
			top: auto;
			flex: 1 1 32rem;
			max-width: 100%;
			margin-left: auto;
		}

		#nav > ul
		{
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-end;
		}

		#nav > ul > li
		{
			float: none;
		}

		#nav > ul > li > a,
		#nav > ul > li > span
		{
			margin-left: 0.35em;
			padding: 0.7em 0.9em;
			font-size: 0.98em;
		}
	}

	@media screen and (max-width: 1100px)
	{
		#header,
		#logo,
		#nav
		{
			display: none;
		}

		#titleBar
		{
			display: block;
			position: fixed;
			left: 0;
			top: 0;
			width: 100%;
			height: 74px;
			z-index: 10002;
			background: linear-gradient(180deg, #f2f3f6 0%, #d9dce2 100%);
			border-bottom: 4px solid #264177;
			box-shadow: 0 6px 18px rgba(0,0,0,0.14);
			transition: transform 0.25s ease-in-out;
		}

			#titleBar .title
			{
				display: flex;
				align-items: center;
				justify-content: center;
				min-height: 74px;
				padding: 0 4.25em;
				pointer-events: none;
				color: #264177;
				text-align: center;
				line-height: 1;
			}

			#titleBar .title a.logo-link
			{
				display: inline-block;
				line-height: 0;
				pointer-events: auto;
			}

			#titleBar .title img.site-logo
			{
				width: clamp(188px, 62vw, 240px);
				max-width: calc(100vw - 8.75em);
				height: auto;
				max-height: 70px;
				margin-top: 0;
			}

			#titleBar .toggle
			{
				display: block;
				position: absolute;
				left: 0;
				top: 0;
				width: 58px;
				height: 74px;
				padding: 0;
				box-sizing: border-box;
				z-index: 3;
				background: rgba(255,255,255,0.18);
				border: 0;
				border-right: 1px solid rgba(38,65,119,0.12);
				cursor: pointer;
				touch-action: manipulation;
				-ms-touch-action: manipulation;
				-webkit-tap-highlight-color: rgba(38,65,119,0.18);
				user-select: none;
				-webkit-user-select: none;
			}

				#titleBar .toggle:after
				{
					content: '';
					display: block;
					width: 22px;
					height: 2px;
					position: absolute;
					left: 18px;
					top: 28px;
					background: #264177;
					border-radius: 2px;
					box-shadow: 0 7px 0 #264177, 0 14px 0 #264177;
					opacity: 0.95;
				}

				#titleBar .toggle:active
				{
					background: rgba(38,65,119,0.08);
				}

				#titleBar .toggle:active:after
				{
					opacity: 1;
				}

		#navPanel
		{
			display: block;
			position: fixed;
			left: 0;
			top: 0;
			width: 80%;
			height: 100%;
			z-index: 10001;
			overflow-x: hidden;
			overflow-y: auto;
			transform: translateX(-100%);
			transition: transform 0.25s ease-in-out;
			background: linear-gradient(180deg, #fbfbfc 0%, #eef1f6 100%);
			border-right: 4px solid #264177;
			box-shadow: 12px 0px 28px rgba(0,0,0,0.14);
			-webkit-overflow-scrolling: touch;
		}

		#navPanel[aria-hidden="false"]
		{
			transform: translateX(0);
		}

		body.nav-open
		{
			overflow-x: hidden;
		}

		body.nav-open #titleBar,
		body.nav-open #banner,
		body.nav-open #banner-fruitpills,
		body.nav-open #banner-science,
		body.nav-open #banner-pills,
		body.nav-open #banner-pestle,
		body.nav-open #page,
		body.nav-open #footer,
		body.nav-open #copyright
		{
			transform: translateX(80vw);
			transition: transform 0.25s ease-in-out;
		}

			#navPanel .link
			{
				display: flex;
				align-items: center;
				color: #264177;
				text-decoration: none;
				min-height: 54px;
				line-height: 1.35em;
				border-top: solid 1px rgba(38,65,119,0.1);
				letter-spacing: 0.08em;
				text-transform: uppercase;
				padding: 0.9em 1.15em 0.9em 1.15em;
				background: transparent;
				transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
			}

				#navPanel .link:first-child
				{
					border-top: 0;
				}

				#navPanel .link.depth-0
				{
					color: #264177;
					font-weight: 400;
				}

				#navPanel .link:hover,
				#navPanel .link:active
				{
					background: #264177;
					color: #fff;
					box-shadow: inset 4px 0 0 #4FC459;
				}

				#navPanel .indent-1 { display: inline-block; width: 1em; }
				#navPanel .indent-2 { display: inline-block; width: 2em; }
				#navPanel .indent-3 { display: inline-block; width: 3em; }
				#navPanel .indent-4 { display: inline-block; width: 4em; }
				#navPanel .indent-5 { display: inline-block; width: 5em; }
				#navPanel .depth-0 { color: #264177; }

				#navPanel .link[href^="tel:"]
				{
					margin-top: 0.5em;
					border-top: solid 1px rgba(38,65,119,0.18);
					font-weight: 700;
				}
	}

	@media screen and (min-width: 769px) and (max-width: 1100px)
	{
		#banner,
		#banner-fruitpills,
		#banner-science,
		#banner-pills,
		#banner-pestle
		{
			margin-top: -1px;
		}
	}

	@media screen and (max-width: 980px)
	{
		#main > .row
		{
			display: flex;
			flex-direction: column;
			gap: 2em;
			margin-left: 0;
		}

		#main > .row > *
		{
			width: 100% !important;
			padding-left: 0;
			padding-top: 0;
		}

		#main > .row > [class~="9u"],
		#main > .row > [class~="12u"]
		{
			order: 1;
		}

		#main > .row > [class~="3u"]
		{
			order: 2;
		}

		#main #marketing .row,
		#main .marketing-grid .row
		{
			margin-left: -1em;
		}

		#main #marketing .row > *,
		#main .marketing-grid .row > *
		{
			width: 50% !important;
			padding-left: 1em;
			padding-top: 1em;
		}

		#footer section
		{
			padding-left: 0.4em;
			padding-right: 0.4em;
		}
	}

	@media screen and (max-width: 640px)
	{
		#main #marketing .row,
		#main .marketing-grid .row
		{
			margin-left: 0;
		}

		#main #marketing .row > *,
		#main .marketing-grid .row > *
		{
			width: 100% !important;
			padding-left: 0;
		}

		header h1,
		header h2
		{
			font-size: 1.95em;
		}

		.flowchart-canvas
		{
			font-size: clamp(0.42rem, 1.9vw, 0.85rem);
		}
	}
