html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,address,big,cite,code,del,em,img,ins,q,s,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,dialog,figure,footer,header,nav,section{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}
		html{height:100%;margin-bottom:1px;} /* always show scroll bar */
		 
		/*  =GLOBAL ELEMENTS
		-------------------------------------------------------------- 
		    Vertical Rhythm: 18px vertical grid
		*/
		:root {
			--site-background: #ffffff;
			--site-color: #212121;

			--site-breakpoint: 960px;

			--site-grid-spacing: 1.69%;

			--action-color: #006bac;
			--action-color-dark: #212121;

			--error-color: #8E0A01;
			
			--border-radius-small: 5px;
			--border-radius-medium: 10px;

			--border-color-medium: #dedede;
			
			--background-color-light: #f8f8f8;
			--background-color-dark: #212121;

			--highlight-color: #006bac;

			--edge-spacing-unit: 2rem;
			--vertical-spacing-unit: 3rem;
			--vertical-spacing-unit-medium: 1.5rem;
			--vertical-spacing-unit-small: 0.75rem;
		}

		::selection {
			background: var(--highlight-color);
			color: #ffffff;
		}

		::-moz-selection {
			background: var(--highlight-color);
			color: #ffffff;
		}

		* {
			box-sizing: border-box;
		}

		html {
			font-size: 16px;
			background: var(--highlight-color);
		}
		body {
		    color: var(--site-color);
		    font-family: "DM Sans", "Wix Madefor Text","Helvetica Neue",Helvetica,Arial,sans-serif;
		    font-size:1rem;
		    margin: 0;
		    background: var(--site-background);
		}

		p, ul, ol, dl, blockquote, pre, dialog {
		    font-size:1em; /* 20px */
		    line-height:1.6em; /* 32px */
		    margin:0 0 1.8rem 0;
		}
		h1,h2,h3,h4,h5,h6 {
			font-weight: normal;
		}
		h1 {
		    font-size: 2em; /* 80px */
		    line-height: 1.25em;
		    margin: 0;
		    font-weight: 400;
		    text-align: left;
		}

			h1 + p {
				margin-top: 1rem;
			}

		h2 {
		    font-size: 1.8em; /* 36px */
		    line-height: 1.38em; /* 50px */
		    margin: 0 0 1.5rem 0;
		    font-weight: 400;
		}
		h3 {
		    font-size: 1.4em; /* 28px */
		    line-height: 1.4em; /* 39px */
		    margin-bottom: 0.25rem;
		}
		h4 {
		    font-size: 1.2em; /* 24px */
		    line-height: 1.333em; /* 32px */
		    margin-bottom: 1.25rem;
		}
		h5 {
		    font-size: 1em; /* 20px */
		    line-height: 1.4em; /* 28px */
		    margin: 0 0 0.75rem;
		    font-weight: 600;
		}
		h6 {
		    font-size: 0.65em; /* 13px */
		    font-weight: normal;
		    font-variant: small-caps;
		    letter-spacing: 2px;
		    line-height: 1.4em; /* 18px */
		}

		blockquote {
			font-size: 1.2rem;
			line-height: 1.6em;
			font-style:italic;
			font-weight: 400;
			padding-left: 1em;
			border-left: 4px solid #ccc;
			box-sizing: border-box;
			margin: 0;
		}

		pre,code {
			font-family:monaco,"Courier New",Courier,monospace;
			color: #D80000;
			margin-bottom: 0.4rem;
			display: block;
			font-weight: bold;
		}

		sup,sub {font-size:0.7em;line-height:1em;vertical-align:baseline;}

		sup {position:relative;top:-0.4em;}

		sub {position:relative;top:0.4em;}

		.highlight {
			text-decoration-color: var(--highlight-color);
		}

		ol, ul, dd {
			margin-left:1.5em;
			margin-bottom: 2rem;
		}

		ul {list-style:disc;}

		li {
			margin-bottom: 0.5rem;
			padding-left: 0.5em;
		}

		ol {list-style:decimal;}

		dt {font-weight:bold;}

		b {
			font-weight: 600;
		}
		 
		a:link, a:visited {
			color: var(--action-color-dark);
			text-decoration: none;
			transition: all 0.2s linear;
		}

			a:hover, a:focus, a:active {
				color: var(--action-color);
				text-decoration: none;
			}

		 
		hr {
		    margin:1.3846em 0 1.308em 0;
		    height:0;
		    border:1px solid #888;
		    border-width:1px 0 0 0;
		}

		input[type="text"],
		input[type="password"] {
			border-radius: var(--border-radius-small);
			display: block;
			padding: 0.75rem;
			margin-bottom: 0.25rem;
			border: 2px solid var(--border-color-medium);
			font-size: 1.25rem;
			width: 100%;
		}

			input[type="text"].has-error,
			input[type="password"].has-error {
				border-color: var(--error-color);
			}

		.input-message {
			font-size: 0.75rem;
		}

			.input-message.error {
				color: var(--error-color);
			}

		figcaption {
			text-align: center;
			margin-top: 1em;
			font-style: italic;
			font-size: 0.8rem;
			line-height: 1rem;
		}

		aside {}

			aside.compact li {
				margin-bottom: 0;
			}

		.header-wrapper {
			padding: 2rem var(--edge-spacing-unit) 0;
		}

		header {
			display: flex;
		}

			header .logo {
				flex: 1;
			}

			header nav {
				flex: 1;
				text-align: right;
			}

		footer {
			font-size: 0.8em;
			padding: 0 var(--edge-spacing-unit);
			margin: 0;
		}

		footer p {
			margin-bottom: 0.4rem;
		}


		footer a:link,
		footer a:visited {
			border: none;
			text-decoration: none;
		}

		p a:link, p a:visited {
			border-bottom: 2px solid var(--action-color-dark);
		}

			p a:hover, p a:focus, p a:active {
				border-color: var(--action-color);
			}

		.logo {
			font-size: 1rem;
			line-height: 2em;
			font-style: normal;
			font-weight: 600;
			display: inline-block;
		}

		.logo span {
			font-weight: 300;
		}


		nav {
			display: inline-block;
		}

		nav ul, nav li {
			margin: 0;
			padding: 0;
			list-style: none;
			font-size: 1rem;
			line-height: 1em;
		}

		nav li {
			display: inline-block;
			margin-left: 2rem;
		}

			nav li:first-child {
				margin-left: 0;
			}

		nav li a {
			display: block;
			line-height: 2em;
		}

		.body-wrapper {  }

		.section-wrapper {
			padding: 0 var(--edge-spacing-unit);
			overflow: hidden;
		}

			.section-wrapper.bg-light {
				padding-top: var(--vertical-spacing-unit);
				margin-bottom: var(--vertical-spacing-unit);
			}


		.content-wrapper {
			padding: 0 0 var(--vertical-spacing-unit) 0;
			max-width: 1200px;
			margin: 0 auto;
		}


		.bg-white {
			background: #fff;
		}


		.bg-light {
			background: var(--background-color-light);
		}

		.bg-dark {
			background: #333;
			color: #eee;
		}

		.grid-item {
			margin-top: var(--vertical-spacing-unit-medium);
	    	box-sizing: border-box;
		}

			.grid-item:first-child {
				margin-top: 0;
			}


		.pills {
			font-size: 0.625rem;
			list-style: none;
			margin-left: 0;
			padding: 0;
		}

			.pills li {
				background: var(--background-color-light);
				border-radius: var(--border-radius-small);
				display: inline-block;
				margin: 5px 5px 0 0;
				padding: 4px 8px;
				text-wrap: nowrap;
			}

			.pills.outline li {
				background: transparent;
				border: 1px solid var(--border-color-medium);
				border-radius: var(--border-radius-small);
				display: inline-block;
				margin: 5px 5px 0 0;
				padding: 4px 8px;
				text-wrap: nowrap;
			}			

			.pills.stacked li {
				display: table;
			}

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


		.cards > li {
			background: #ffffff;
			border-radius: var(--border-radius-small);
			display: block;
			font-size: 0.8rem;
			padding: 1.5rem;
			margin: 0 0 var(--site-grid-spacing) 0;
			box-shadow: 2px 2px 4px 0px var(--border-color-medium);
		}

		.cards.outline > li {
			background: transparent;
			border: 1px solid var(--border-color-medium);
			box-shadow: none;
		}


			.cards > li p:last-child {
				margin-bottom: 0;
			}

		.login-message {
			padding: 0.75rem;
			background: var(--action-color);
			color: #ffffff;
			text-align: center;
		}

		/* ========================================





			Helper Classes
		




		======================================== */

		
		.margin-bottom-1x {
			margin-bottom: 1rem;
		}

		.margin-bottom-2x {
			margin-bottom: 2rem;
		}

		.margin-bottom-3x {
			margin-bottom: 3rem;
		}

		.no-margin-top {
			margin-top: 0;
		}

		.no-margin-bottom {
			margin-bottom: 0;
		}

		.no-padding-bottom {
			padding-bottom: 0;
		}

		.margin-top-vspace {
			margin-top: var(--vertical-spacing-unit);
		}

		.large-paragraph {
			font-size: 1.3em;
			font-weight: 400;
		}

		.text-center {
			text-align: center;
		}

		.text-left {
			text-align: left;
		}

		.text-right {
			text-align: right;
		}

		.meta-info {
			font-size: 0.75em;
		}

		.full-width {
			display: block;
			width: 100%;
		}

		.rounded {
			border-radius: var(--border-radius-medium);
		}

		.border {
			border: 1px solid var(--border-color-medium);
		}

		.img-placeholder {
			width: 100%;
			padding-bottom: 20em;
			border-radius: var(--border-radius-medium);
		}

		.box-shadow {
			box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
		}

		.align-items-center {
			align-items: center;
		}

		.grid + .grid {
			margin-top: var(--vertical-spacing-unit-medium);
		}


		/* ========================================


			Case study grid
		

		======================================== */

			.case-study-container {
				background: var(--background-color-light);
				border: 1px solid var(--border-color-medium);
				border-radius: var(--border-radius-medium);
				margin-bottom: var(--vertical-spacing-unit);
				overflow: hidden;
			}

			.case-study-container .item-thumb {
				margin: 0;
			}

			.case-study-container .item-description {
				display: block;
				padding: 1.5rem;
				margin: 0;
			}

			.case-study-container img {
				display: block;
				width: 100%;
			}

			.case-study-container h2 {
				font-size: 1.5em;
				margin-bottom: 0.75rem;
			}

			.case-study-container ul {

			}

			input[type="button"],
			input[type="submit"] {
				all: unset;
			}

			a.button:link,
			a.button:visited,
			input[type="button"],
			input[type="submit"] {
				background: var(--action-color-dark);
				border-radius: var(--border-radius-medium);
				color: #fff;
				display: inline-block;
				padding: 1rem 1.2rem;
				transition: all 0.3s linear;
				font-size: 0.875em;
			}

				a.button:hover,
				a.button:active,
				input[type="button"]:hover,
				input[type="submit"]:hover {
					background: var(--action-color);
					cursor: pointer;
				}



		/* ========================================





			Mobile-only helpers
		




		======================================== */


		@media screen and (max-width: 959px) {

			.m-hide {
				display: none;
			}

			.m-img-carousel {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				grid-gap: 1rem;
			}

				.m-img-carousel .grid-item:first-child,
				.m-img-carousel .grid-item:nth-child(2) {
					margin: 0;
				}

		}


		/* ========================================





			Desktop and up
		




		======================================== */

		@media screen and (min-width: 960px) {

			:root {
				
				--vertical-spacing-unit: 6rem;
				--vertical-spacing-unit-medium: 3rem;
			}

			html {
				font-size: 20px;
			}

			body {
				padding: 0;
			}

			h1 {
				font-size: 2.75em;
			}


			blockquote {
				font-size: 1.4em;
				line-height: 1.6em;
				text-align: center;
				padding: 0;
				border: none;
				max-width: 900px;
				margin: 0 auto;
			}

				blockquote:before,
				blockquote:after {
					content: '';
					width: 4rem;
					border-top: 2px solid #ddd;
					display: block;
					margin: 0 auto 2rem;
				}
				blockquote:after {
					margin: 2rem auto 0;
				}

			header { }

			header nav {
				display: block;
				text-align: right;
			}

			aside {
				font-size: 0.75em; /* 15px */
			}


			.section-wrapper {
				padding: 0 var(--edge-spacing-unit);
			}

				.section-wrapper.no-padding {
					padding: 0;
				}

			.content-wrapper {
				padding: 0 0 var(--vertical-spacing-unit) 0;
			}

				.content-wrapper.no-padding-bottom {
					padding-bottom: 0;
				}


			.pills {
				font-size: 0.625rem;
			}

		/* ========================================


			Case study grid
		

		======================================== */

			.case-study-container {
				margin-bottom: var(--vertical-spacing-unit-medium);
			}

			.case-study-container .item-thumb {

			}

			.case-study-container .item-description {
				padding: 1rem;
				padding-right: 1.5rem;
			}

			.case-study-container img {

			}

			.case-study-container h2 {

			}



		/* ========================================


			Primary layout
		

		======================================== */

			.grid {
				display: grid;
				grid-template-columns: repeat(12, 1fr);
				grid-gap: var(--site-grid-spacing);
			}

				.grid + .grid {
					margin-top: var(--site-grid-spacing);
				}

			.grid-item {
				margin: 0;
			}

			.grid-col-span-1 {
				grid-column-end: span 1;
			}

			.grid-col-span-2 {
				grid-column-end: span 2;
			}

			.grid-col-span-3 {
				grid-column-end: span 3;
			}

			.grid-col-span-4 {
				grid-column-end: span 4;
			}

			.grid-col-span-5 {
				grid-column-end: span 5;
			}

			.grid-col-span-6 {
				grid-column-end: span 6;
			}

			.grid-col-span-7 {
				grid-column-end: span 7;
			}

			.grid-col-span-8 {
				grid-column-end: span 8;
			}

			.grid-col-span-9 {
				grid-column-end: span 9;
			}

			.grid-col-span-10 {
				grid-column-end: span 10;
			}

			.grid-col-span-11 {
				grid-column-end: span 11;
			}

			.grid-col-span-12 {
				grid-column-end: span 12;
			}

			.grid-col-start-2 {
				grid-column-start: 2;
			}
			.grid-col-start-3 {
				grid-column-start: 3;
			}
			.grid-col-start-4 {
				grid-column-start: 4;
			}
			.grid-col-start-5 {
				grid-column-start: 5;
			}
			.grid-col-start-6 {
				grid-column-start: 6;
			}
			.grid-col-start-7 {
				grid-column-start: 7;
			}
			.grid-col-start-8 {
				grid-column-start: 8;
			}
			.grid-col-start-9 {
				grid-column-start: 9;
			}
			.grid-col-start-10 {
				grid-column-start: 10;
			}

			.grid-justify-5 {
				justify-content: center;
				grid-template-columns: repeat(5, 6.78%);
			}

			.grid-justify-6 {
				justify-content: center;
				grid-template-columns: repeat(6, 6.78%);
			}

			.grid-justify-7 {
				justify-content: center;
				grid-template-columns: repeat(7, 6.78%);
			}

			.grid-justify-8 {
				justify-content: center;
				grid-template-columns: repeat(8, 6.78%);
			}

			.grid-justify-9 {
				justify-content: center;
				grid-template-columns: repeat(9, 6.78%);
			}

			.grid-justify-10 {
				justify-content: center;
				grid-template-columns: repeat(10, 6.78%);
			}

		}