html, body, div, span, object, iframe, h1, h2, .blog article h1:not(.title), h3, h4, h5, h6, h6, p, blockquote, pre, a, abbr, address, big, cite, code, em, img, q, s, small, strike, strong, sub, sup, tt, var, b, u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, details, embed, figure, figcaption, footer, header, nav, output, section, summary, time, mark, audio, video
{
	border: 0;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, menu, nav, section
{
	display: block;
}
body
{
	line-height: 1;
}
ol, ul
{
	list-style: none;
}
ol, ul
{
	list-style: none;
}
blockquote, q
{
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after
{
	content: none;
}
table
{
	border-collapse: collapse;
	border-spacing: 0;
}
*
{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
*
{
	padding: 0;
	margin: 0;
}
*, *:after, *:before
{
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
	padding-bottom: 0px;
}
html
{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow-y: scroll;
	width: 100%;
	height: 100%;
	min-height: 100%;
}
img, embed, object, video
{
	max-width: 100%;
}
::-moz-selection
{
	background: rgba(0, 0, 0, 0.1);
	text-shadow: none;
}
::selection
{
	background: rgba(0, 0, 0, 0.1);
	text-shadow: none;
}
.noselect
{
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
svg:not(:root)
{
	overflow: hidden;
}
body
{
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	background: #FFF;
}
.overflow-hidden
{
	overflow: hidden;
}
.no-margin
{
	margin: 0;
}
.margin-top
{
	margin-top: 4rem;
}
@media screen and (min-width: 768px)
{
	.margin-top
	{
		margin-top: 6rem;
	}
}
.fl-left
{
	float: left;
	clear: none;
}
.fl-right
{
	float: right;
	clear: none;
}
.text-center
{
	text-align: center;
}
.hide
{
	display: none;
}
.reveal
{
	-webkit-animation: reveal 500ms ease-in;
	animation: reveal 500ms ease-in;
}
.error
{
	color: #CC181E;
	font-size: 0.75rem;
}
.bg-blue
{
	background: rgba(62, 141, 221, 0.7) !important;
}
.bg-red
{
	background: rgba(253, 79, 87, 0.7) !important;
}
.bg-green
{
	background: rgba(0, 192, 129, 0.7) !important;
}
.bg-purple
{
	background: rgba(111, 97, 138, 0.7) !important;
}
html
{
	font-weight: 300;
	font-size: 18px;
	font-family: "petala-pro", Avenir, Helvetica;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	color: #666;
}
h1, h2, .blog article h1:not(.title), h3, h4, h5, h6, h6
{
	margin: 1rem 0;
	font-style: normal;
	line-height: 1.3;
}
h1 b, h1 span, h2 b, .blog article h1:not(.title) b, h2 span, .blog article h1:not(.title) span, h3 b, h3 span, h4 b, h4 span, h5 b, h6 b, h5 span, h6 span, h6 b, h6 span
{
	font-weight: inherit;
	font-style: inherit;
}
h1
{
	color: black;
	font-size: 1.5rem;
}
h2, .blog article h1:not(.title)
{
	color: #222;
	text-transform: uppercase;
	letter-spacing: 0.05rem;
	font-size: 1.5rem;
}
h3
{
	color: #222;
	font-size: 1.7rem;
	letter-spacing: 0;
	margin: 2rem 0 1rem 0;
}
h4
{
	color: #222;
	text-transform: uppercase;
	font-weight: 500;
}
h5, h6
{
	color: #666;
	font-weight: 500;
	margin: 1rem 0 0.25rem 0;
}
h6
{
	color: #999;
}
a
{
	outline: none;
	text-decoration: none;
	word-wrap: break-word;
	-webkit-transition: color 375ms linear;
	transition: color 375ms linear;
	color: #3E8DDD;
}
a:hover, a:focus
{
	color: #69A7E5;
}
a:active
{
	color: #4E7999;
}
b
{
	font-weight: bold;
}
em
{
	font-style: italic;
}
ul, ol
{
	margin: 0 0 2rem 0;
}
ul li, ol li
{
	color: #222;
	line-height: 1.5;
	margin-bottom: 0.5rem;
}
ol
{
	display: block;
	list-style-type: decimal;
	color: #222;
}
p
{
	margin: 0 0 2rem 0;
	font-size: 1rem;
	line-height: 1.7;
}
pre, code
{
	font-size: 0.75rem;
	font-family: "source-code-pro", Monaco, monospace;
}
pre
{
	overflow: scroll;
	margin-bottom: 2rem;
	padding: 1rem;
	background-color: #222;
	color: #FFF;
	line-height: 1.5;
}
code
{
	padding: 0 0.25rem;
	background-color: white;
	color: #222;
}
.caps
{
	text-transform: uppercase;
}
.lower
{
	text-transform: lowercase;
}
.lt-5
{
	letter-spacing: 5px;
}
.lt-2
{
	letter-spacing: 2px;
}
.strong
{
	font-weight: 400;
}
.center
{
	text-align: center;
}
.left
{
	text-align: left;
}
.right
{
	text-align: right;
}
.justify
{
	text-align: justify;
}
.headline--title
{
	font-size: 2.5rem;
	margin-bottom: 0.5rem;
}
.headline--teaser
{
	font-size: 1.6rem;
	line-height: 1.15;
}
@media only screen and (min-width: 32.25rem)
{
	.headline--teaser
	{
		font-size: 2.2rem;
	}
}
.headline--teaser_sm
{
	font-size: 1.3rem;
	line-height: 1.15;
}
@media screen and (min-width: \$tablet)
{
	.headline--teaser_sm
	{
		font-size: 1.8rem;
	}
}
.headline--sub
{
	font-size: 1rem;
}
.headline--sub span
{
	padding: 0 0.25rem;
}
.topic
{
	display: block;
	font-size: 1.8rem;
	text-transform: uppercase;
	width: 90%;
	margin: 0 5% 3rem 5%;
}
@media screen and (min-width: 768px)
{
	.topic
	{
		font-size: 2rem;
		width: 80%;
		margin: 0 10% 4.5rem 10%;
	}
}
.btn
{
	padding: 0.5rem 1.5rem;
	font-size: 1rem;
	color: #222;
	border: 1px solid rgba(0, 0, 0, 0.2);
	letter-spacing: 0.1rem;
	display: inline-block;
	text-transform: uppercase;
}
.btn:hover, .btn:focus
{
	text-decoration: none;
	color: #FFF;
	background: #222;
	border: 1px solid #222;
}
@media only screen and (min-width: 32.25rem)
{
	.btn
	{
		font-size: 1rem;
		padding: 0.65rem 2rem 0.75rem 2rem;
		letter-spacing: 0.2rem;
	}
}
.btn.small
{
	font-size: 0.85rem;
	padding: 0.35rem 1rem 0.5rem 1rem;
}
.btn.large
{
	padding: 1rem 2rem;
}
.btn.reversed
{
	color: #FFF;
	border: 1px solid rgba(255, 255, 255, 0.2);
}
.btn.reversed:hover
{
	color: #222;
	background: #FFF;
}
.svg-icon
{
	width: 1.25rem;
	height: 1.25rem;
}
@media screen and (min-width: 768px)
{
	.svg-icon
	{
		width: 1.15rem;
		height: 1.15rem;
	}
}
.form
{
	margin-bottom: 3rem;
}
.form h3
{
	text-align: center;
	margin: 5rem 0;
}
.form p
{
	margin-bottom: 1rem;
}
@media screen and (min-width: 768px)
{
	.form p
	{
		margin-left: 0;
		width: 100%;
	}
}
.form .req
{
	color: #999;
	text-transform: uppercase;
	font-size: 0.85rem;
}
.form form
{
	clear: both;
	overflow: auto;
}
.container
{
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	overflow: visible;
	padding: 0 1rem;
}
.container:before
{
	content: "";
	clear: both;
	display: table;
}
.container:after
{
	content: "";
	clear: both;
	display: table;
}
@media screen and (min-width: 1025px)
{
	.container
	{
		padding: 0 2rem;
	}
}
.container--none
{
	max-width: 68rem;
	margin: 0 auto;
}
.container--none:before
{
	content: "";
	clear: both;
	display: table;
}
.container--none:after
{
	content: "";
	clear: both;
	display: table;
}
.container--full
{
	max-width: 68rem;
	width: 95%;
	margin: 0 auto;
	overflow: visible;
	padding: 0 1rem;
}
@media only screen and (min-width: 49rem)
{
	.container--full
	{
		padding: 0 2rem;
	}
}
.container--full:before
{
	content: "";
	clear: both;
	display: table;
}
.container--full:after
{
	content: "";
	clear: both;
	display: table;
}
.container--sm
{
	max-width: 51rem;
	width: 95%;
	margin: 0 auto;
}
.container--sm:after
{
	content: "";
	clear: both;
	display: table;
}
.container--narrow
{
	max-width: 34rem;
	width: 95%;
	margin: 0 auto;
}
.container--narrow:after
{
	content: "";
	clear: both;
	display: table;
}
.v-center
{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.v-center_offset
{
	margin-top: 25%;
}
.v-center_offset-lg
{
	margin-top: 75%;
}
.content
{
	margin-top: 3.5rem;
}
.row
{
	width: 100%;
	padding: 2.5rem 0;
}
@media screen and (min-width: 768px)
{
	.row
	{
		padding: 5rem 0;
	}
}
.row h4, .row h5, .row h6
{
	font-size: 2rem;
	letter-spacing: 1px;
	color: #999;
	margin: 0 0 2rem 0;
	font-weight: 300;
}
.row h5, .row h6
{
	font-size: 1.2rem;
	letter-spacing: 1px;
}
.row p
{
	font-size: 1.1rem;
}
.vhflex
{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	min-height: 100vh;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.vhflex footer
{
	width: 100%;
	min-height: 400px;
}
@media screen and (min-width: 768px)
{
	.vhflex footer
	{
		min-height: 100px;
	}
}
.thanks
{
	width: 100%;
	min-height: 300px;
}
.thanks p
{
	margin-bottom: 0;
}
.thanks .container
{
	padding-top: 140px;
}
.flex
{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.span-1-12
{
	float: none;
	width: 100%;
}
@media only screen and (min-width: 32.25rem)
{
	.span-1-12
	{
		float: left;
		width: 6.5%;
		margin-right: 2%;
	}
	.span-1-12:last-child
	{
		margin-right: 0;
	}
}
.span-2-12
{
	float: none;
	width: 100%;
}
@media only screen and (min-width: 32.25rem)
{
	.span-2-12
	{
		float: left;
		width: 15%;
		margin-right: 2%;
	}
	.span-2-12:last-child
	{
		margin-right: 0;
	}
}
.span-3-12
{
	float: none;
	width: 100%;
}
@media only screen and (min-width: 32.25rem)
{
	.span-3-12
	{
		float: left;
		width: 23.5%;
		margin-right: 2%;
	}
	.span-3-12:last-child
	{
		margin-right: 0;
	}
}
.span-4-12
{
	float: none;
	width: 100%;
}
@media only screen and (min-width: 32.25rem)
{
	.span-4-12
	{
		float: left;
		width: 32%;
		margin-right: 2%;
	}
	.span-4-12:last-child
	{
		margin-right: 0;
	}
}
.span-5-12
{
	float: none;
	width: 100%;
}
@media only screen and (min-width: 32.25rem)
{
	.span-5-12
	{
		float: left;
		width: 40.5%;
		margin-right: 2%;
	}
	.span-5-12:last-child
	{
		margin-right: 0;
	}
}
.span-6-12
{
	float: none;
	width: 100%;
}
@media only screen and (min-width: 32.25rem)
{
	.span-6-12
	{
		float: left;
		width: 49%;
		margin-right: 2%;
	}
	.span-6-12:last-child
	{
		margin-right: 0;
	}
}
.span-7-12
{
	float: none;
	width: 100%;
}
@media only screen and (min-width: 32.25rem)
{
	.span-7-12
	{
		float: left;
		width: 57.5%;
		margin-right: 2%;
	}
	.span-7-12:last-child
	{
		margin-right: 0;
	}
}
.span-8-12
{
	float: none;
	width: 100%;
}
@media only screen and (min-width: 32.25rem)
{
	.span-8-12
	{
		float: left;
		width: 66%;
		margin-right: 2%;
	}
	.span-8-12:last-child
	{
		margin-right: 0;
	}
}
.span-9-12
{
	float: none;
	width: 100%;
}
@media only screen and (min-width: 32.25rem)
{
	.span-9-12
	{
		float: left;
		width: 74.5%;
		margin-right: 2%;
	}
	.span-9-12:last-child
	{
		margin-right: 0;
	}
}
.span-10-12
{
	float: none;
	width: 100%;
}
@media only screen and (min-width: 32.25rem)
{
	.span-10-12
	{
		float: left;
		width: 83%;
		margin-right: 2%;
	}
	.span-10-12:last-child
	{
		margin-right: 0;
	}
}
.span-11-12
{
	float: none;
	width: 100%;
}
@media only screen and (min-width: 32.25rem)
{
	.span-11-12
	{
		float: left;
		width: 91.5%;
		margin-right: 2%;
	}
	.span-11-12:last-child
	{
		margin-right: 0;
	}
}
.span-12-12
{
	float: none;
	width: 100%;
}
@media only screen and (min-width: 32.25rem)
{
	.span-12-12
	{
		float: left;
		width: 100%;
	}
}
.columns-2
{
	-webkit-columns: 2 13rem;
	columns: 2 13rem;
	-webkit-column-gap: 2rem;
	column-gap: 2rem;
}
.columns-3
{
	-webkit-columns: 3 13rem;
	columns: 3 13rem;
	-webkit-column-gap: 2rem;
	column-gap: 2rem;
}
.animated
{
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
.infinite
{
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}
@-webkit-keyframes flyInToLeft
{
	0%
	{
		opacity: 0;
		-webkit-transform: translate3d(100%, -50%, 0);
		transform: translate3d(100%, -50%, 0);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
@keyframes flyInToLeft
{
	0%
	{
		opacity: 0;
		-webkit-transform: translate3d(100%, -50%, 0);
		transform: translate3d(100%, -50%, 0);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
@-webkit-keyframes fadeInDown
{
	0%
	{
		opacity: 0;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
@keyframes fadeInDown
{
	0%
	{
		opacity: 0;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
@-webkit-keyframes fadeOutUp
{
	0%
	{
		opacity: 0;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
@keyframes fadeOutUp
{
	0%
	{
		opacity: 0;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
@keyframes fadeOutUp
{
	0%
	{
		opacity: 1;
		-webkit-transform: translate3d(0, 50%, 0);
		transform: translate3d(0, 50%, 0);
	}
	100%
	{
		opacity: 0;
		-webkit-transform: none;
		transform: none;
	}
}
@-webkit-keyframes fadeFromRight
{
	0%
	{
		opacity: 0;
		-webkit-transform: translate3d(85%, 0, 0);
		transform: translate3d(85%, 0, 0);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
@keyframes fadeFromRight
{
	0%
	{
		opacity: 0;
		-webkit-transform: translate3d(85%, 0, 0);
		transform: translate3d(85%, 0, 0);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
@-webkit-keyframes fadeFromLeft
{
	0%
	{
		opacity: 0;
		-webkit-transform: translate3d(-85%, 0, 0);
		transform: translate3d(-85%, 0, 0);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
@keyframes fadeFromLeft
{
	0%
	{
		opacity: 0;
		-webkit-transform: translate3d(-85%, 0, 0);
		transform: translate3d(-85%, 0, 0);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
@-webkit-keyframes fly
{
	0%
	{
	}
	50%
	{
		opacity: 0.8;
	}
	99%
	{
		-webkit-transform: translateX(350px) translateY(-220px) rotate(12deg) scaleY(0.4) scaleX(0.6);
		transform: translateX(350px) translateY(-220px) rotate(12deg) scaleY(0.4) scaleX(0.6);
		opacity: 0;
	}
}
@keyframes fly
{
	0%
	{
	}
	50%
	{
		opacity: 0.8;
	}
	99%
	{
		-webkit-transform: translateX(350px) translateY(-220px) rotate(12deg) scaleY(0.4) scaleX(0.6);
		transform: translateX(350px) translateY(-220px) rotate(12deg) scaleY(0.4) scaleX(0.6);
		opacity: 0;
	}
}
@-webkit-keyframes reveal
{
	0%
	{
		opacity: 0;
	}
	1%
	{
		opacity: 0;
		-webkit-transform: scale(0.98);
		transform: scale(0.98);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
@keyframes reveal
{
	0%
	{
		opacity: 0;
	}
	1%
	{
		opacity: 0;
		-webkit-transform: scale(0.98);
		transform: scale(0.98);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
@-webkit-keyframes fadeIn
{
	0%
	{
		opacity: 0;
	}
	100%
	{
		opacity: 1;
	}
}
@keyframes fadeIn
{
	0%
	{
		opacity: 0;
	}
	100%
	{
		opacity: 1;
	}
}
@-webkit-keyframes fadeInUp
{
	0%
	{
		opacity: 0;
		-webkit-transform: translate3d(0, 20%, 0);
		transform: translate3d(0, 20%, 0);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
@keyframes fadeInUp
{
	0%
	{
		opacity: 0;
		-webkit-transform: translate3d(0, 20%, 0);
		transform: translate3d(0, 20%, 0);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
.flyInToLeft
{
	-webkit-animation-name: flyInToLeft;
	animation-name: flyInToLeft;
}
.fadeInDown
{
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown;
}
.fadeFromRight
{
	-webkit-animation-name: fadeFromRight;
	animation-name: fadeFromRight;
}
.fadeFromLeft
{
	-webkit-animation-name: fadeFromLeft;
	animation-name: fadeFromLeft;
}
.fadeOutUp
{
	-webkit-animation-name: fadeOutUp;
	animation-name: fadeOutUp;
}
.fadeOutUp
{
	-webkit-animation-name: fadeOutUp;
	animation-name: fadeOutUp;
}
.fadeIn
{
	-webkit-animation-name: fadeIn;
	animation-name: fadeIn;
}
.fadeInUp
{
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}
.o-layout
{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	list-style: none;
	margin-left: -2rem;
	padding: 0;
}
.o-layout__item
{
	padding-left: 2rem;
	width: 100%;
}
.o-layout--pack
{
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	margin-left: 0;
}
.o-layout--pack > .o-layout__item
{
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
	padding-left: 0;
	width: auto;
}
.o-layout--flush
{
	margin-left: 0;
}
.o-layout--flush > .o-layout__item
{
	padding-left: 0;
}
.o-layout--tight
{
	margin-left: -0.5rem;
}
.o-layout--tight > .o-layout__item
{
	padding-left: 0.5rem;
}
@media screen and (min-width: 768px)
{
	.o-layout\@md
	{
		margin-left: -2rem;
	}
	.o-layout\@md > .o-layout__item
	{
		padding-left: 2rem;
	}
}
.o-layout--loose
{
	margin-left: -4rem;
}
.o-layout--loose > .o-layout__item
{
	padding-left: 4rem;
}
.o-layout--looser
{
	margin-left: -8rem;
}
.o-layout--looser > .o-layout__item
{
	padding-left: 8rem;
}
.o-layout--reverse
{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.mobile
{
	display: inline;
}
@media screen and (min-width: 768px)
{
	.mobile
	{
		display: none;
	}
}
.tablet
{
	display: none;
}
@media screen and (min-width: 768px)
{
	.tablet
	{
		display: inline;
	}
}
@media screen and (min-width: 1025px)
{
	.tablet
	{
		display: none;
	}
}
.tablet-desktop
{
	display: none;
}
@media screen and (min-width: 768px)
{
	.tablet-desktop
	{
		display: inline;
	}
}
.desktop
{
	display: none;
}
@media screen and (min-width: 1025px)
{
	.desktop
	{
		display: inline;
	}
}
#contact .container
{
	background: #FFF;
	margin-top: 3rem;
	padding-bottom: 2rem;
}
.field-style
{
	display: block;
	width: 100%;
	outline: none;
	border: none;
	background-color: #ECECEC;
	padding: 1rem 1.35rem;
	font: 300 1rem "petala-pro", Avenir, Helvetica;
	margin-bottom: 0.75rem;
	color: #222;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	border: 1px solid transparent;
	-webkit-appearance: none;
}
@media screen and (min-width: 768px)
{
	.field-style
	{
		margin-bottom: 1rem;
	}
}
.field-style:focus
{
	border: 1px solid #3E8DDD;
}
.trigger
{
	cursor: pointer;
	position: relative;
	margin-bottom: 0;
}
.trigger.is-active
{
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}
.trigger-arrow
{
	position: absolute;
	top: 0;
	right: 0.25rem;
	width: 2.5rem;
	height: 2.5rem;
}
.trigger-arrow svg
{
	position: absolute;
	top: 50%;
	display: block;
	margin-top: -0.25rem;
	width: 100%;
	height: 0.5rem;
}
.inquiry-options
{
	-webkit-transition: all 0.25s ease;
	transition: all 0.25s ease;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	margin: 0;
	border-top-right-radius: 0;
	border-top-left-radius: 0;
	-webkit-transform: scale(0.95);
	transform: scale(0.95);
	-webkit-transform-origin: top;
	transform-origin: top;
	pointer-events: none;
}
.inquiry-options.is-open
{
	pointer-events: auto;
	-webkit-transform: none;
	transform: none;
	max-height: 100rem;
	opacity: 1;
	margin-bottom: 1rem;
}
.inquiry-options li
{
	margin: 0 0 0.5rem 0;
}
.inquiry-options__item
{
	color: #FFF;
	cursor: pointer;
	text-transform: uppercase;
}
.inquiry-options__item input
{
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	appearance: none;
}
.inquiry-options__item input:checked + span
{
	color: #4E7999;
}
.inquiry-options__item:hover
{
	color: #3E8DDD;
}
textarea
{
	height: 7rem;
	resize: vertical;
}
.submit
{
	position: relative;
	margin: 0;
	padding: 1.25rem;
	width: 100%;
	margin: 3rem 0;
	outline: none;
	border: none;
	border: 1px solid transparent;
	background: #3E8DDD;
	cursor: pointer;
	-webkit-transition: .2s;
	transition: 0.2s;
	font-family: "petala-pro", Avenir, Helvetica;
	font-weight: 300;
	font-size: 1.15rem;
	color: rgba(255, 255, 255, 0.5);
}
.submit:hover, .submit:active, .submit:focus
{
	color: #FFF;
	background: #3E8DDD;
	border: 1px solid #3E8DDD;
}
.submit:hover svg path,.submit:active svg path,.submit:focus svg path
{
	stroke:#3e8ddd;
}
.fly-away
{
	-webkit-transition: 0.5s;
	transition: 0.5s;
	border: 1px solid transparent !important;
}
.fly-away svg
{
	-webkit-animation: fly 1.75s;
	animation: fly 1.75s;
	-webkit-animation-timing-function: ease-out;
	animation-timing-function: ease-out;
}
::-webkit-input-placeholder, .replace
{
	color: #B3B3B3;
}
:-ms-input-placeholder, .replace
{
	color: #B3B3B3;
}
::-ms-input-placeholder, .replace
{
	color: #B3B3B3;
}
::placeholder, .replace
{
	color: #B3B3B3;
}
.darken
{
	color: #222;
}
.selected
{
	color: #FFF !important;
}
.trigger-arrow.selected
{
	display: none;
}
.scroll-down
{
	display: block;
	position: absolute;
	z-index: 10;
	bottom: 2.0rem;
	left: 50%;
	margin-left: -15px;
}
.scroll-down:hover
{
	opacity: 1.0;
	filter: alpha(opacity=100);
}
@media screen and (min-width: 768px)
{
	.scroll-down
	{
		margin-left: -19px;
	}
}
.scroll-down a
{
	display: block;
	clear: both;
	margin: 0 auto;
	width: 28px;
	color: #999;
}
@media screen and (min-width: 768px)
{
	.scroll-down a
	{
		width: 32px;
	}
}
.scroll-down a svg
{
	opacity: 0.5;
}
.scroll-down a svg:hover
{
	opacity: 1.0;
}
.first-scroll
{
	margin-top: 10rem;
	margin-bottom: -10rem;
}
p.sub
{
	font-size: 1.2rem;
}
p.sub span
{
	padding: 0 0.5rem;
}
.gradient
{
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background:url(data:image/svg+xml; base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC43Ii8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
	background: -ms-linear-gradient(top, transparent 0%, transparent 0%, rgba(0, 0, 0, 0.85) 100%);
	background:linear,to bottom,transparent 0%,transparent 70%,rgba(0,0,0,0.85) 100%;
}
.brb img
{
	width: 13rem;
	height: auto;
}
@media screen and (min-width: 768px)
{
	.brb img
	{
		width: 16rem;
	}
}
.brb h3
{
	color: #222 !important;
	font-size: 1.3rem;
	line-height: 1.3;
	letter-spacing: 2px;
}
@media screen and (min-width: 768px)
{
	.brb h3
	{
		font-size: 1.5rem;
		line-height: 1.4;
	}
}
.product
{
	position: relative;
}
.product--wrapper
{
	background: none;
	height: auto;
	position: absolute;
	bottom: 0;
	padding: 0 1rem;
}
.product--figure
{
	background: none;
	width: auto;
	height: auto;
}
.product--figure img
{
	width: auto;
	height: 100%;
	overflow: hidden;
}
.product--title
{
	color: #FFF;
	font-size: 1.6rem;
	font-weight: 300;
}
@media screen and (min-width: 1025px)
{
	.product--title
	{
		font-size: 2.0rem;
	}
}
.product--cat
{
	color: rgba(245, 245, 245, 0.7);
}
@media screen and (min-width: 768px)
{
	.product--cat
	{
		font-size: 0.9rem;
	}
}
@media screen and (min-width: 1025px)
{
	.product--cat
	{
		font-size: 1.0rem;
	}
}
.product--description
{
	text-align: left;
	line-height: 1.5;
	font-size: 0.875rem;
	color: rgba(245, 245, 245, 0.7);
}
@media screen and (min-width: 768px)
{
	.product--description
	{
		font-size: 1.0rem;
	}
}
@media screen and (min-width: 1025px)
{
	.product--description
	{
		font-size: 1.1rem;
	}
}
.card
{
	display: inline-block;
	background: #FFF;
	position: relative;
	float: left;
	clear: none;
	padding: 0;
	-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.075);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.075);
	margin-bottom: 1.375rem;
	width: 100%;
}
@media screen and (min-width: 768px)
{
	.card
	{
		margin: 1rem 1.5%;
		width: 30%;
	}
}
.card--ib
{
	margin: 1rem auto;
}
@media screen and (min-width: 480px) and (orientation: landscape)
{
	.card--ib
	{
		margin: 1rem 1.5%;
		max-width: 20rem;
	}
}
.card figure
{
	background: #FFF;
	width: 100%;
	height: 9rem;
	overflow: hidden;
}
@media screen and (min-width: 480px) and (orientation: landscape)
{
	.card figure
	{
		height: 14rem;
	}
}
@media screen and (min-width: 768px)
{
	.card figure
	{
		height: 11rem;
	}
}
@media screen and (min-width: 1025px)
{
	.card figure
	{
		height: 14rem;
	}
}
.card figure img
{
	width: 100%;
	height: auto;
	overflow: hidden;
	min-width: 100%;
	max-width: 200%;
}
@media screen and (min-width: 768px)
{
	.card figure img
	{
		width: auto;
		height: 100%;
	}
}
.card article
{
	text-align: left;
	width: 100% !important;
	line-height: 1.6;
	height: 7.5rem;
	padding: 1rem;
	overflow: hidden;
}
@media screen and (min-width: 1025px)
{
	.card article
	{
		padding: 1rem 1.5rem;
	}
}
.card a .slug
{
	margin: 0;
	font-size: 0.9rem;
	color: #999;
}
@media screen and (min-width: 1025px)
{
	.card a .slug
	{
		font-size: 1.0rem;
	}
}
.card a .sub
{
	font-size: 0.9rem;
	color: #5B5B5B;
	font-weight: 400;
}
.card a .link
{
	font-size: 0.9rem;
	color: #AAA;
	margin-top: 0.4rem;
	display: block;
}
@media screen and (min-width: 768px)
{
	.card a .link
	{
		display: none;
	}
}
@media screen and (min-width: 1025px)
{
	.card a .link
	{
		display: block;
	}
}
.card a h4
{
	font-weight: 300;
	font-size: 1.2rem;
	line-height: 1.15;
	letter-spacing: 0.025rem;
	margin: 0;
	color: #5B5B5B;
	text-align: left;
}
@media screen and (min-width: 1025px)
{
	.card a h4
	{
		font-size: 1.4rem;
	}
}
.card a:hover h4, .card a:hover .link
{
	color: #3E8DDD;
}
.card:hover
{
	-webkit-box-shadow: 0 1px 10px rgba(0,0,0,0.1);
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
}
.panes
{
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: relative;
	color: white;
	z-index: 0;
}
.panes--overlay
{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0.7);
}
.panes--content
{
	padding: 1rem;
	display: inline-block;
	max-width: 51rem;
	margin-left: auto;
	margin-right: auto;
	z-index: 2;
}
.panes--title
{
	margin-bottom: 1rem;
}
.panes--tint
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0.6);
}
.panes h3
{
	color: inherit;
}
.panes .btn
{
	color: white;
	border-color: rgba(255, 255, 255, 0.7);
}
.three-col
{
	display: inline-block;
	width: 100%;
	position: relative;
	float: left;
	clear: both;
	margin: 1rem auto;
	padding: 0;
}
@media screen and (min-width: 480px) and (orientation: landscape)
{
	.three-col
	{
		width: 80%;
		margin: 0 10% 1rem 10%;
		clear: none;
	}
}
@media screen and (min-width: 768px)
{
	.three-col
	{
		width: 80%;
		margin: 0 10% 1rem 10%;
	}
}
@media screen and (min-width: 1025px)
{
	.three-col
	{
		width: 29%;
		margin: 1rem 2%;
	}
}
.three-col p
{
	font-size: 1.1rem;
	text-align: left;
}
.two-up
{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	min-height: 220px;
	padding: 6% 8%;
	text-align: center;
}
@media screen and (min-width: 768px)
{
	.two-up
	{
		width: 50%;
		height: 26rem;
		padding: 6% 8% 0 8%;
		text-align: left;
	}
}
@media screen and (min-width: 1025px)
{
	.two-up
	{
		height: 50vh;
	}
}
.two-up .wrapper
{
	position: relative;
}
.two-up h3
{
	margin-bottom: 2rem;
	font-size: 1.3rem;
	line-height: 1.3;
}
@media screen and (min-width: 768px)
{
	.two-up h3
	{
		font-size: 1.7rem;
	}
}
.product
{
	position: relative;
}
.product--wrapper
{
	background: none;
	height: auto;
	position: absolute;
	bottom: 0;
	padding: 0 1rem;
}
.product--figure
{
	background: none;
	width: auto;
	height: auto;
}
.product--figure img
{
	width: auto;
	height: 100%;
	overflow: hidden;
}
.product--title
{
	color: #FFF;
	font-size: 1.6rem;
	font-weight: 300;
}
@media screen and (min-width: 1025px)
{
	.product--title
	{
		font-size: 2.0rem;
	}
}
.product--cat
{
	color: rgba(245, 245, 245, 0.7);
}
@media screen and (min-width: 768px)
{
	.product--cat
	{
		font-size: 0.9rem;
	}
}
@media screen and (min-width: 1025px)
{
	.product--cat
	{
		font-size: 1.0rem;
	}
}
.product--description
{
	text-align: left;
	line-height: 1.5;
	font-size: 0.875rem;
	color: rgba(245, 245, 245, 0.7);
}
@media screen and (min-width: 768px)
{
	.product--description
	{
		font-size: 1.0rem;
	}
}
@media screen and (min-width: 1025px)
{
	.product--description
	{
		font-size: 1.1rem;
	}
}
.card
{
	display: inline-block;
	background: #FFF;
	position: relative;
	float: left;
	clear: none;
	padding: 0;
	-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.075);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.075);
	margin-bottom: 1.375rem;
	width: 100%;
}
@media screen and (min-width: 768px)
{
	.card
	{
		margin: 1rem 1.5%;
		width: 30%;
	}
}
.card--ib
{
	margin: 1rem auto;
}
@media screen and (min-width: 480px) and (orientation: landscape)
{
	.card--ib
	{
		margin: 1rem 1.5%;
		max-width: 20rem;
	}
}
.card figure
{
	background: #FFF;
	width: 100%;
	height: 9rem;
	overflow: hidden;
}
@media screen and (min-width: 480px) and (orientation: landscape)
{
	.card figure
	{
		height: 14rem;
	}
}
@media screen and (min-width: 768px)
{
	.card figure
	{
		height: 11rem;
	}
}
@media screen and (min-width: 1025px)
{
	.card figure
	{
		height: 14rem;
	}
}
.card figure img
{
	width: 100%;
	height: auto;
	overflow: hidden;
	min-width: 100%;
	max-width: 200%;
}
@media screen and (min-width: 768px)
{
	.card figure img
	{
		width: auto;
		height: 100%;
	}
}
.card article
{
	text-align: left;
	width: 100% !important;
	line-height: 1.6;
	height: 7.5rem;
	padding: 1rem;
	overflow: hidden;
}
@media screen and (min-width: 1025px)
{
	.card article
	{
		padding: 1rem 1.5rem;
	}
}
.card a .slug
{
	margin: 0;
	font-size: 0.9rem;
	color: #999;
}
@media screen and (min-width: 1025px)
{
	.card a .slug
	{
		font-size: 1.0rem;
	}
}
.card a .sub
{
	font-size: 0.9rem;
	color: #5B5B5B;
	font-weight: 400;
}
.card a .link
{
	font-size: 0.9rem;
	color: #AAA;
	margin-top: 0.4rem;
	display: block;
}
@media screen and (min-width: 768px)
{
	.card a .link
	{
		display: none;
	}
}
@media screen and (min-width: 1025px)
{
	.card a .link
	{
		display: block;
	}
}
.card a h4
{
	font-weight: 300;
	font-size: 1.2rem;
	line-height: 1.15;
	letter-spacing: 0.025rem;
	margin: 0;
	color: #5B5B5B;
	text-align: left;
}
@media screen and (min-width: 1025px)
{
	.card a h4
	{
		font-size: 1.4rem;
	}
}
.card a:hover h4, .card a:hover .link
{
	color: #3E8DDD;
}
.card:hover
{
	-webkit-box-shadow: 0 1px 10px rgba(0,0,0,0.1);
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
}
.panes
{
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: relative;
	color: white;
	z-index: 0;
}
.panes--overlay
{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0.7);
}
.panes--content
{
	padding: 1rem;
	display: inline-block;
	max-width: 51rem;
	margin-left: auto;
	margin-right: auto;
	z-index: 2;
}
.panes--title
{
	margin-bottom: 1rem;
}
.panes--tint
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0.6);
}
.panes h3
{
	color: inherit;
}
.panes .btn
{
	color: white;
	border-color: rgba(255, 255, 255, 0.7);
}
.three-col
{
	display: inline-block;
	width: 100%;
	position: relative;
	float: left;
	clear: both;
	margin: 1rem auto;
	padding: 0;
}
@media screen and (min-width: 480px) and (orientation: landscape)
{
	.three-col
	{
		width: 80%;
		margin: 0 10% 1rem 10%;
		clear: none;
	}
}
@media screen and (min-width: 768px)
{
	.three-col
	{
		width: 80%;
		margin: 0 10% 1rem 10%;
	}
}
@media screen and (min-width: 1025px)
{
	.three-col
	{
		width: 29%;
		margin: 1rem 2%;
	}
}
.three-col p
{
	font-size: 1.1rem;
	text-align: left;
}
.two-up
{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	min-height: 220px;
	padding: 6% 8%;
	text-align: center;
}
@media screen and (min-width: 768px)
{
	.two-up
	{
		width: 50%;
		height: 26rem;
		padding: 6% 8% 0 8%;
		text-align: left;
	}
}
@media screen and (min-width: 1025px)
{
	.two-up
	{
		height: 50vh;
	}
}
.two-up .wrapper
{
	position: relative;
}
.two-up h3
{
	margin-bottom: 2rem;
	font-size: 1.3rem;
	line-height: 1.3;
}
@media screen and (min-width: 768px)
{
	.two-up h3
	{
		font-size: 1.7rem;
	}
}
.promo-contact
{
	background: url("../assets/fpo/bg-stylus.jpg.html") center center no-repeat;
	background-size: cover;
}
.promo-contact h3
{
	color: #FFF;
}
.promo-contact .tint
{
	background: rgba(0, 0, 0, 0.7);
}
.hero
{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.tint
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
}
.hero-feature
{
	width: 100%;
	height: 90%;
	position: relative;
}
@media screen and (min-width: 768px)
{
	.hero-feature
	{
		height: 80%;
	}
}
.hero-feature .container
{
	z-index: 100;
	position: relative;
	width: 100%;
	height: 100%;
}
.hero-feature .container.slide
{
	z-index: 100;
	position: relative;
	top: 45%;
	-webkit-transform: translateY(-45%);
	transform: translateY(-45%);
}
.hero-feature .container.slide p
{
	color: #FFF;
	font-size: 1.7rem;
	padding-top: 60%;
	line-height: 1.2;
}
@media screen and (min-width: 768px)
{
	.hero-feature .container.slide p
	{
		font-size: 2.0rem;
		padding-top: 30%;
		width: 80%;
		margin: 0 10%;
	}
}
@media screen and (min-width: 1025px)
{
	.hero-feature .container.slide p
	{
		width: 100%;
		margin: 0;
		padding-top: 25%;
	}
}
.tint
{
	background: rgba(0, 0, 0, 0.5);
}
.company .hero-feature, .labs .hero-feature
{
	overflow: hidden;
}
.company .hero-feature .tint, .labs .hero-feature .tint
{
	background: rgba(0, 0, 0, 0.5);
}
.panes
{
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: relative;
	color: white;
	z-index: 0;
}
.panes--overlay
{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0.7);
}
.panes--content
{
	padding: 1rem;
	display: inline-block;
	max-width: 51rem;
	margin-left: auto;
	margin-right: auto;
	z-index: 2;
}
.panes--title
{
	margin-bottom: 1rem;
}
.panes--tint
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0.6);
}
.panes h3
{
	color: inherit;
}
.panes .btn
{
	color: white;
	border-color: rgba(255, 255, 255, 0.7);
}
.fw-map
{
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
}
.fw-map .btn
{
	cursor: pointer;
	border-color: rgba(255, 255, 255, 0.5);
}
.fw-map .btn:hover
{
	background: #3E8DDD;
}
.fw-map h2, .fw-map .blog article h1:not(.title), .blog article .fw-map h1:not(.title), .fw-map p, .fw-map .btn
{
	color: #FFF;
}
.site--header
{
	display: block;
	position: absolute;
	top: 0;
	bottom: auto;
	z-index: 100;
	width: 100%;
	height: 3.5rem;
	background: #FFF;
}
@media screen and (min-width: 768px)
{
	.site--header
	{
		position: relative;
		height: 5rem;
	}
}
@media screen and (min-width: 1025px)
{
	.site--header
	{
		top: 0;
		height: 7rem;
	}
}
.site--header_logo
{
	display: block;
	float: left;
	clear: none;
	position: absolute;
	left: 0;
	width: 13rem;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url("../assets/ws-logo-word.svg");
	-webkit-animation: none;
	animation: none;
	height: ;
}
.site--header_logo:before
{
	display: block;
	padding-top: 27%;
	content: '';
}
@media screen and (min-width: 768px)
{
	.site--header_logo
	{
		left: auto;
		width: 13rem;
		margin: 1.25rem 0 0 -3.0rem;
		background-image: url("../assets/ws-logo-vertical.svg");
	}
}
@media screen and (min-width: 1025px)
{
	.site--header_logo
	{
		width: 14rem;
		margin: 1.4rem 0 0 -3.2rem;
	}
}
.site--header .mobile-menu
{
	background: rgba(34, 34, 34, 0.98);
	position: fixed;
	z-index: 800;
	top: 0;
	left: 0;
	width: 100%;
	min-height: 100%;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	-webkit-transition-duration: 0.4s;
	transition-duration: 0.4s;
}
@media screen and (min-width: 768px)
{
	.site--header .mobile-menu
	{
		display: none !important;
	}
}
.site--header .mobile-menu nav.mobile-nav
{
	margin: 0;
	text-align: left;
	padding-top: 0;
}
.site--header .mobile-menu nav.mobile-nav ul
{
	list-style: none;
	margin: 4rem 0 0 0;
	padding: 0;
}
@media screen and (min-width: 480px) and (orientation: landscape)
{
	.site--header .mobile-menu nav.mobile-nav ul
	{
		margin: 1.0rem 0 0 0;
	}
}
@media screen and (min-width: 768px)
{
	.site--header .mobile-menu nav.mobile-nav ul
	{
		margin: 0.85rem 0 0 0;
	}
}
@media screen and (min-width: 1025px)
{
	.site--header .mobile-menu nav.mobile-nav ul
	{
		margin: 1.2rem 0 0 0;
	}
}
.site--header .mobile-menu nav.mobile-nav ul li
{
	display: block;
	text-transform: uppercase;
	font-size: 1.3rem;
	margin: 0 0 1.0rem 1.2rem;
	padding: 0;
	letter-spacing: 0.1rem;
}
@media screen and (min-width: 480px) and (orientation: landscape)
{
	.site--header .mobile-menu nav.mobile-nav ul li
	{
		margin: 0 0 0.5rem 1.2rem;
	}
}
@media screen and (min-width: 768px)
{
	.site--header .mobile-menu nav.mobile-nav ul li
	{
		display: inline-block;
		font-size: 0.85rem;
		margin: 0rem 0 0 1.2rem;
	}
}
@media screen and (min-width: 1025px)
{
	.site--header .mobile-menu nav.mobile-nav ul li
	{
		font-size: 0.9rem;
		margin: 0rem 0 0 1.5rem;
	}
}
.site--header .mobile-menu nav.mobile-nav ul li a, .site--header .mobile-menu nav.mobile-nav ul li a:visited
{
	display: block;
	text-decoration: none;
	border-bottom: none;
	padding: 0;
	color: #FFF;
}
@media screen and (min-width: 768px)
{
	.site--header .mobile-menu nav.mobile-nav ul li a, .site--header .mobile-menu nav.mobile-nav ul li a:visited
	{
		color: #000;
	}
}
.site--header .mobile-menu nav.mobile-nav ul li a:hover
{
	text-decoration: none;
}
.site--header .mobile-menu nav.mobile-nav ul li.current a, .site--header .mobile-menu nav.mobile-nav ul li.current a:visited
{
	font-weight: 400;
}
.site--header .mobile-menu nav.mobile-nav ul li select
{
	padding: 0 10px;
}
.site--header .mobile-menu nav.social-nav
{
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	display: block;
	width: 100%;
	margin-top: 1.0rem;
	position: absolute;
	bottom: 0;
}
@media screen and (min-width: 480px) and (orientation: landscape)
{
	.site--header .mobile-menu nav.social-nav
	{
		margin-top: 0;
	}
}
@media screen and (min-width: 768px)
{
	.site--header .mobile-menu nav.social-nav
	{
		display: none;
	}
}
.site--header .mobile-menu nav.social-nav ul
{
	margin: 0.7rem 0 0 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
@media screen and (min-width: 480px) and (orientation: landscape)
{
	.site--header .mobile-menu nav.social-nav ul
	{
		margin: 0.75rem 0 0 0;
	}
}
.site--header .mobile-menu nav.social-nav ul li
{
	display: inline-block;
	font-size: 1.0rem;
	opacity: 0.3;
	margin: 0 0 0.7rem 1.2rem;
}
.site--header .mobile-menu nav.social-nav ul li:first-of-type
{
	margin-bottom: 0.5rem;
}
.site--header .mobile-menu nav.social-nav ul li a
{
	color: #FFF;
	fill:currentColor;
}
.site--header .mobile-menu nav.social-nav ul li:hover
{
	opacity: 1.0;
}
.mobile-menu.is-visible
{
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
.cd-header.is-fixed
{
	position: fixed;
	top: -3.0rem;
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
}
.cd-header.is-visible
{
	-webkit-transform: translate3d(0, 100%, 0);
	transform: translate3d(0, 100%, 0);
}
.cd-primary-nav-trigger
{
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1000;
	height: 100%;
	width: 50px;
}
@media screen and (min-width: 768px)
{
	.cd-primary-nav-trigger
	{
		display: none;
	}
}
.cd-primary-nav-trigger .cd-menu-icon
{
	display: inline-block;
	position: absolute;
	left: 50%;
	top: 50%;
	bottom: auto;
	right: auto;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	width: 22px;
	height: 2px;
	background-color: black;
	-webkit-transition: background-color 0.3s;
	transition: background-color 0.3s;
}
.cd-primary-nav-trigger .cd-menu-icon::before, .cd-primary-nav-trigger .cd-menu-icon:after
{
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	background-color: black;
	right: 0;
	-webkit-transition: top .3s, background-color 0s, -webkit-transform .3s;
	transition: top 0.3s, background-color 0s, -webkit-transform 0.3s;
	transition: transform 0.3s, top 0.3s, background-color 0s;
	transition: transform 0.3s, top 0.3s, background-color 0s, -webkit-transform 0.3s;
}
.cd-primary-nav-trigger .cd-menu-icon::before
{
	top: -7px;
}
.cd-primary-nav-trigger .cd-menu-icon::after
{
	top: 7px;
}
.cd-primary-nav-trigger .cd-menu-icon.is-clicked
{
	background-color: rgba(255, 255, 255, 0);
}
.cd-primary-nav-trigger .cd-menu-icon.is-clicked::before, .cd-primary-nav-trigger .cd-menu-icon.is-clicked::after
{
	background-color: #FFF;
}
.cd-primary-nav-trigger .cd-menu-icon.is-clicked::before
{
	top: 0;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.cd-primary-nav-trigger .cd-menu-icon.is-clicked::after
{
	top: 0;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}
.main-nav
{
	display: none;
}
@media screen and (min-width: 768px)
{
	.main-nav
	{
		display: block;
		position: relative;
		top: auto;
		left: auto;
		z-index: 110;
		text-align: left;
		padding: 0;
		margin: 0;
		float: none;
		clear: both;
		background: none;
		width: auto;
		height: auto;
		float: right;
		clear: none;
		border: none;
		-webkit-animation: none;
		animation: none;
	}
}
.main-nav ul
{
	list-style: none;
	margin: 2.2rem 0 0 0;
	padding: 0;
}
@media screen and (min-width: 768px)
{
	.main-nav ul
	{
		margin: 1.8rem 0 0 0;
	}
}
@media screen and (min-width: 1025px)
{
	.main-nav ul
	{
		margin: 2.7rem 0 0 0;
	}
}
.main-nav ul li
{
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.075rem;
	margin: 0 0 1.0rem 1.2rem;
	padding: 0;
	letter-spacing: 0.05rem;
}
@media screen and (min-width: 768px)
{
	.main-nav ul li
	{
		display: inline-block;
		font-size: 0.75rem;
		font-weight: 400;
		margin: 0rem 0 0 1.2rem;
	}
}
@media screen and (min-width: 1025px)
{
	.main-nav ul li
	{
		font-size: 0.75rem;
		margin: 0rem 0 0 1.5rem;
	}
}
.main-nav ul li a, .main-nav ul li a:visited
{
	display: block;
	text-decoration: none;
	border-bottom: none;
	padding: 0;
	color: #FFF;
}
@media screen and (min-width: 768px)
{
	.main-nav ul li a, .main-nav ul li a:visited
	{
		color: #000;
	}
}
.main-nav ul li a:hover
{
	text-decoration: none;
	color: #3E8DDD;
}
.main-nav ul li.current a, .main-nav ul li.current a:visited
{
	font-weight: 600;
}
.main-nav ul li select
{
	padding: 0 10px;
}
.new--logo
{
	display: block;
	margin: 0 auto;
	width: 14rem;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url("../assets/ws-logo-vertical.svg");
	-webkit-animation: reveal 1s ease-in;
	animation: reveal 1s ease-in;
}
.new--logo:before
{
	display: block;
	padding-top: 61.957%;
	content: '';
}
@media screen and (min-width: 768px)
{
	.new--logo
	{
		width: 24rem;
		background-image: url("../assets/ws-logo-vertical.svg");
	}
	.new--logo:before
	{
		padding-top: 32.358%;
	}
}
@media screen and (min-width: 1025px)
{
	.new--logo
	{
		width: 52rem;
		background-image: url("../assets/ws-logo-word.svg");
	}
	.new--logo:before
	{
		padding-top: 6.234%;
	}
}
footer
{
	padding: 2rem 0 0 0;
	background: #222;
	color: #FFF;
	font-size: 17px;
	margin-top: 2rem;
	letter-spacing: 0;
	font-weight: 300;
}
@media screen and (min-width: 768px)
{
	footer
	{
		margin-top: 4rem;
	}
}
@media screen and (min-width: 1025px)
{
	footer
	{
		padding: 4.5rem 0 2.5rem 0;
	}
}
footer .container
{
	position: relative;
}
footer .logo
{
	display: block;
	margin: -1rem auto 1rem;
	clear: both;
	width: 11.5rem;
	height: 2rem;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 11.5rem;
	background-image: url("../assets/ws-logo-word-footer.svg");
	-webkit-animation: none;
	animation: none;
}
@media screen and (min-width: 768px)
{
	footer .logo
	{
		margin: -0.75rem 0 0 0;
		float: left;
		clear: none;
	}
}
@media screen and (min-width: 1025px)
{
	footer .logo
	{
		position: absolute;
		top: 0;
		left: 0.75rem;
	}
}
footer nav
{
	margin-bottom: 2rem;
}
footer nav li
{
	margin: 0 0.5rem 0.4rem 0.5rem;
	text-align: center;
	display: inline;
}
footer nav li a
{
	color: #797979;
	fill:currentColor;
}
footer nav li a:hover
{
	color: #3E8DDD;
	opacity: 1;
}
footer nav li a:active
{
	color: #FFF;
	opacity: 1;
}
@media screen and (min-width: 768px)
{
	footer nav li
	{
		text-align: left;
		margin: 0 0.75rem 0.4rem 0;
	}
}
footer .footer-nav
{
	display: inline-block;
	float: none;
	text-align: right;
	margin: 0 0 0 auto;
}
@media screen and (min-width: 768px)
{
	footer .footer-nav
	{
		float: right;
	}
}
@media screen and (min-width: 1025px)
{
	footer .footer-nav
	{
		float: right;
	}
}
footer .footer-nav li
{
	margin: 0 0.5rem 0.5rem 0.5rem;
	line-height: 2rem;
	letter-spacing: 0.075rem;
}
@media screen and (min-width: 768px)
{
	footer .footer-nav li
	{
		margin: 0 0 0.4rem 1rem;
		line-height: 1rem;
	}
}
@media screen and (min-width: 1025px)
{
	footer .footer-nav li
	{
		margin: 0 0.75rem 0.4rem 0.75rem;
	}
}
footer .social-nav
{
	clear: both;
	margin-top: -1rem;
}
@media screen and (min-width: 768px)
{
	footer .social-nav
	{
		float: right !important;
		margin-bottom: 0;
	}
}
@media screen and (min-width: 1025px)
{
	footer .social-nav
	{
		clear: none;
		position: absolute;
		top: 0;
		right: 0;
		margin-top: 0rem;
		margin-right: 2rem;
	}
}
footer .social-nav ul
{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
footer .social-nav ul li
{
	margin: 0 0.5rem 0.5rem 0.5rem;
}
@media screen and (min-width: 768px)
{
	footer .social-nav ul li
	{
		margin: 0 0 0.4rem 1rem;
	}
}
footer .social-nav ul li:first-of-type
{
	margin-bottom: 2px;
}
video
{
	display: none;
}
@media screen and (min-width: 1025px)
{
	video
	{
		display: block;
		max-width: none;
	}
}
video#bgvid
{
	position: absolute;
	top: 0;
	right: 0;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -100;
}
.accordion .desc, .accordion ol li i:before, .accordion ol li i:after
{
	-webkit-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
}
.accordion .no-select
{
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.accordion .desc
{
	text-align: left;
	position: relative;
	overflow: hidden;
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
	z-index: 2;
}
.accordion ol.reqs
{
	list-style: none;
	-webkit-perspective: 900;
	perspective:900;
	padding: 0;
	margin: 0;
}
.accordion ol li
{
	position: relative;
	margin: 0 0 0 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid #DDD;
	-webkit-animation: flipdown 0.5s ease both;
	animation: flipdown 0.5s ease both;
}
.accordion ol li:nth-of-type(1)
{
	-webkit-animation-delay: 0.5s;
	animation-delay: 0.5s;
}
.accordion ol li:nth-of-type(2)
{
	-webkit-animation-delay: 0.75s;
	animation-delay: 0.75s;
}
.accordion ol li:nth-of-type(3)
{
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
}
.accordion ol li:last-of-type
{
	border-bottom: none;
}
.accordion ol li i
{
	position: absolute;
	-webkit-transform: translate(-6px, 0);
	transform: translate(-6px, 0);
	margin: 0.75rem 0 0 0;
	left: -0.5rem;
}
@media screen and (min-width: 768px)
{
	.accordion ol li i
	{
		left: -1rem;
	}
}
.accordion ol li i:before, .accordion ol li i:after
{
	content: "";
	position: absolute;
	background-color: #3E8DDD;
	width: 1px;
	height: 10px;
}
.accordion ol li i:before
{
	-webkit-transform: translate(-2px, 0) rotate(45deg);
	transform: translate(-2px, 0) rotate(45deg);
}
.accordion ol li i:after
{
	-webkit-transform: translate(5px, 0) rotate(-45deg);
	transform: translate(5px, 0) rotate(-45deg);
}
.accordion ol li input[type=checkbox]
{
	position: absolute;
	cursor: pointer;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0;
}
.accordion ol li input[type=checkbox]:checked ~ .desc
{
	margin-top: 0;
	max-height: 0;
	opacity: 0;
	-webkit-transform: translate(0, 50%);
	transform: translate(0, 50%);
}
.accordion ol li input[type=checkbox]:checked ~ i:before
{
	-webkit-transform: translate(5px, 0) rotate(45deg);
	transform: translate(5px, 0) rotate(45deg);
}
.accordion ol li input[type=checkbox]:checked ~ i:after
{
	-webkit-transform: translate(-2px, 0) rotate(-45deg);
	transform: translate(-2px, 0) rotate(-45deg);
}
.accordion ul.list
{
	list-style: disc;
}
.accordion ol ul li
{
	padding: 0 0 0.5rem 0;
	border: none;
	margin-left: 1.25rem;
}
.post__link
{
	color: #222;
}
.post__link:hover
{
	color: #3E8DDD;
}
.intrinsic
{
	overflow: hidden;
	position: relative;
	margin-bottom: 1.5rem;
}
.intrinsic::before
{
	content: "";
	display: block;
	padding-top: 100%;
}
.intrinsic--16by9::before
{
	padding-top: 56.25%;
}
.intrinsic iframe
{
	bottom: 0;
	height: 100% !important;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100% !important;
}
.loading
{
	-webkit-animation-duration: 1200ms;
	animation-duration: 1200ms;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-name: pulse;
	animation-name: pulse;
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
	border-color: green;
	border-radius: 50%;
	border-style: solid;
	border-width: 2px;
	height: 4rem;
	left: 50%;
	margin-top: 4rem;
	margin-bottom: 4rem;
	margin-left: -2rem;
	position: relative;
	top: 50%;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	width: 4rem;
}
.loading:before
{
	-webkit-animation-duration: 600ms;
	animation-duration: 600ms;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-name: spin;
	animation-name: spin;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	border-color: transparent;
	border-left-color: #3E8DDD;
	border-radius: 50%;
	border-style: solid;
	border-width: 2px;
	content: "";
	height: calc(100% + 4px);
	left: -2px;
	position: absolute;
	top: -2px;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	width: calc(100% + 4px);
}
@-webkit-keyframes pulse
{
	0%
	{
		border-color: rgba(221, 221, 221, 0.4);
	}
	50%
	{
		border-color: rgba(221, 221, 221, 0.8);
	}
	100%
	{
		border-color: rgba(221, 221, 221, 0.4);
	}
}
@keyframes pulse
{
	0%
	{
		border-color: rgba(221, 221, 221, 0.4);
	}
	50%
	{
		border-color: rgba(221, 221, 221, 0.8);
	}
	100%
	{
		border-color: rgba(221, 221, 221, 0.4);
	}
}
@-webkit-keyframes spin
{
	0%
	{
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100%
	{
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes spin
{
	0%
	{
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100%
	{
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
.home
{
	color: #424242;
}
.home h4
{
	color: #FD4F57;
	font-size: 15px;
	font-weight: 300;
	letter-spacing: -0.5px;
	margin-bottom: 0.25rem;
}
@media screen and (min-width: 768px)
{
	.home h4
	{
		font-size: 21px;
		letter-spacing: -1px;
		margin-bottom: 0.5rem;
	}
}
.home section
{
	margin-bottom: 2rem;
}
@media screen and (min-width: 768px)
{
	.home section
	{
		margin-bottom: 7rem;
	}
}
@media screen and (min-width: 768px)
{
	.home .site--header_logo
	{
		background-image: url("../assets/ws-logo-vertical-white.svg");
		background-repeat:none;
		background-size: 200px 80px;
		left: auto;
		margin: 0.25rem 0 0 -9.5rem;
		width: 26rem;
	}
}
@media screen and (min-width: 1025px)
{
	.home .site--header_logo
	{
		margin-left: -10rem;
		margin-top: 1rem;
		width: 27rem;
	}
}
.home .hero--full-bleed
{
	background-color: black;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 0;
	overflow: hidden;
	height: 33.5rem;
	padding-top: 20rem;
	position: relative;
	width: 100%;
	top: 3.5rem;
}
@media screen and (min-width: 768px)
{
	.home .hero--full-bleed
	{
		padding-bottom: 18.25rem;
		padding-top: 10rem;
		top: -9.5rem;
		height: 60rem;
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
	}
}
@media screen and (min-width: 1025px)
{
	.home .hero--full-bleed
	{
		height: 51.5rem;
	}
}
.home .hero--full-bleed h1
{
	color: white;
}
.home h2, .home .blog article h1:not(.title), .blog article .home h1:not(.title)
{
	font-size: 30px;
	font-weight: 200;
	letter-spacing: -1px;
	margin-bottom: 0.5rem;
	text-transform: none;
}
@media screen and (min-width: 768px)
{
	.home h2, .home .blog article h1:not(.title), .blog article .home h1:not(.title)
	{
		font-size: 42px;
	}
}
.home .hero--full-bleed__content
{
	margin-top: -6rem;
	position: relative;
	width: 100%;
	z-index: 1;
}
.home .hero--full-bleed__content h1
{
	font-size: 33px;
	letter-spacing: -1px;
	line-height: 1.1;
	margin-bottom: 0.5rem;
	margin-top: 0;
}
@media screen and (min-width: 768px)
{
	.home .hero--full-bleed__content h1
	{
		margin-bottom: 1rem;
		font-size: 48px;
	}
}
.home .hero--full-bleed__content h6
{
	color: #808080;
	font-size: 15px;
	font-weight: 300;
	letter-spacing: -0.5px;
	margin-bottom: 1.5rem;
	margin-top: 0;
}
@media screen and (min-width: 768px)
{
	.home .hero--full-bleed__content h6
	{
		font-size: 21px;
		margin-bottom: 3rem;
	}
}
.home h5, .home h6
{
	color: black;
	font-size: 20px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1;
	margin-bottom: 0.5rem;
	margin-top: 0;
}
@media screen and (min-width: 768px)
{
	.home h5, .home h6
	{
		font-size: 21px;
		margin-bottom: 0.75rem;
	}
}
.home p
{
	margin-bottom: 1rem;
}
@media screen and (min-width: 768px)
{
	.home p
	{
		margin-bottom: 2rem;
	}
}
.home p, .home .o-list
{
	line-height: 1.5;
}
@media screen and (min-width: 768px)
{
	.home p, .home .o-list
	{
		font-size: 21px;
	}
}
.home .o-list > li
{
	margin-bottom: 0;
}
@media screen and (min-width: 768px)
{
	.home .o-list > li
	{
		margin-bottom: 0.25rem;
	}
}
.home .site--header
{
	background-color: transparent;
	border-bottom: 1px solid #252525;
}
.home .container--offset
{
	background-color: #F1F1F1;
	margin-top: 0.5rem;
	padding-bottom: 2rem;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-top: 1.5rem;
	position: relative;
	z-index: 1;
	margin-left: 1rem;
	margin-right: 1rem;
}
@media screen and (min-width: 768px)
{
	.home .container--offset
	{
		padding-top: 4rem;
		margin-top: -21.75rem;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}
@media screen and (min-width: 1025px)
{
	.home .container--offset
	{
		margin-left: auto;
		margin-right: auto;
	}
}
.home .container--gray
{
	margin-top: -1rem;
	padding-top: 2rem;
	margin-bottom: 4rem;
}
@media screen and (min-width: 768px)
{
	.home .container--gray
	{
		margin-top: -2rem;
		padding-top: 6.25rem;
		padding-bottom: 4rem;
	}
}
.home .u-gray-bg
{
	background-color: #FBFBFB;
}
.home .u-gray-bg--dark
{
	background-color: #1B1B1B;
}
.home .u-white
{
	color: white;
}
.home .loud
{
	color: black;
	line-height: 1.5;
}
@media screen and (min-width: 768px)
{
	.home .loud
	{
		font-size: 24px;
		margin-bottom: 4rem;
	}
}
@media screen and (min-width: 768px)
{
	.home .louder
	{
		font-size: 27px;
	}
}
.home .line
{
	background-color: #000;
	height: 0.25rem;
	margin-bottom: 1.5rem;
	margin-top: 0.75rem;
	width: 4rem;
}
@media screen and (min-width: 768px)
{
	.home .line
	{
		margin-bottom: 2rem;
	}
}
.home .padded
{
	padding-left: 0;
	padding-right: 0;
}
@media screen and (min-width: 1025px)
{
	.home .padded
	{
		padding-left: 6rem;
		padding-right: 6rem;
	}
}
.home .padded--moore
{
	padding-left: 1rem;
	padding-right: 1rem;
}
@media screen and (min-width: 1025px)
{
	.home .padded--moore
	{
		padding-left: 10rem;
		padding-right: 10rem;
	}
}
.home .u-text-centered
{
	text-align: center;
}
.home .tile
{
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #FBFBFB;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 5rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
	margin-bottom: 0.5rem;
}
.home .tile img
{
	-webkit-transform: scale(0.5);
	transform: scale(0.5);
}
@media screen and (min-width: 768px)
{
	.home .tile
	{
		margin-bottom: 2rem;
		height: 9rem;
	}
	.home .tile img
	{
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
.home .tile--apple img
{
	margin-top: -0.5rem;
}
.home .callout
{
	padding-bottom: 2rem;
	padding-top: 1rem;
}
@media screen and (min-width: 768px)
{
	.home .callout
	{
		margin-top: -2.5rem;
		padding-bottom: 5rem;
		padding-top: 3rem;
	}
}
.home nav.main-nav ul li a, .home nav.main-nav ul li a:visited
{
	color: #FFF;
}
.home nav.main-nav ul li a:hover
{
	color: #3E8DDD;
}
.home .u-uppercase
{
	text-transform: uppercase;
}
.home .u-mt0
{
	margin-top: 0;
}
.home .u-mb0
{
	margin-bottom: 0;
}
.home .u-mb1\/2
{
	margin-bottom: 0.5rem;
}
.home .u-mb2
{
	margin-bottom: 2rem;
}
@media screen and (min-width: 768px)
{
	.home .u-mb2\@md
	{
		margin-bottom: 2rem;
	}
}
@media screen and (min-width: 1025px)
{
	.home .u-mb4\@lg
	{
		margin-bottom: 4rem;
	}
}
.home .u-mb4
{
	margin-bottom: 4rem;
}
.home .u-mxAuto
{
	margin-left: auto;
	margin-right: auto;
}
.home .u-none
{
	display: none;
}
.home .u-block
{
	display: block;
}
.home .u-font-large
{
	font-size: 20px;
}
@media screen and (min-width: 768px)
{
	.home .u-block\@md
	{
		display: block;
	}
}
@media screen and (min-width: 1025px)
{
	.home .u-block\@lg
	{
		display: block;
	}
}
.home footer
{
	margin-top: 0;
}
.home .tal__section
{
	overflow-x: hidden;
}
@media screen and (min-width: 768px)
{
	.home .tal__section
	{
		margin-bottom: 2rem;
	}
}
.home .tal
{
	height: 32.5rem;
	margin-bottom: 8rem;
	margin-top: 5rem;
	padding-top: 17.5rem;
	position: relative;
}
@media screen and (min-width: 569px)
{
	.home .tal
	{
		height: 24rem;
		padding-top: 3.75rem;
	}
}
@media screen and (min-width: 768px)
{
	.home .tal
	{
		margin-bottom: 8rem;
		margin-top: 0;
	}
}
.home .tal h4
{
	font-size: 20px;
	margin-bottom: 1rem;
}
@media screen and (min-width: 1025px)
{
	.home .tal h4
	{
		margin-bottom: 1.5rem;
	}
}
.home .tal__logo
{
	margin-bottom: 0.75rem;
}
@media screen and (min-width: 569px)
{
	.home .tal__logo
	{
		padding-right: 2rem;
	}
}
@media screen and (min-width: 1025px)
{
	.home .tal__logo
	{
		margin-bottom: 1rem;
		padding-right: 0;
	}
}
.home .tal__content
{
	position: relative;
}
@media screen and (min-width: 569px)
{
	.home .tal__content
	{
		padding-left: 9rem;
	}
}
@media screen and (min-width: 768px)
{
	.home .tal__content
	{
		padding-left: 6rem;
	}
}
@media screen and (min-width: 1025px)
{
	.home .tal__content
	{
		padding-left: 8rem;
	}
}
.company header nav ul li a.company
{
	font-weight: 600;
}
.company footer nav ul li a.company
{
	opacity: 1.0;
}
.company .company-intro
{
	position: relative;
	width: 100%;
	height: 80%;
	background: #DDD;
	margin-top: 0;
	overflow: hidden;
	background: url("../assets/hero-company.jpg") center center no-repeat;
	background-size: cover;
	-webkit-animation: fadeIn 600ms ease-in;
	animation: fadeIn 600ms ease-in;
}
@media screen and (min-width: 1025px)
{
	.company .company-intro
	{
		height: 80vh;
	}
}
.company .company-intro .container
{
	position: relative;
	z-index: 10;
}
.company .company-intro h2, .company .company-intro .blog article h1:not(.title), .blog article .company .company-intro h1:not(.title)
{
	text-transform: none;
	font-size: 1.85rem;
	color: #FFF;
}
@media screen and (min-width: 768px)
{
	.company .company-intro h2, .company .company-intro .blog article h1:not(.title), .blog article .company .company-intro h1:not(.title)
	{
		font-size: 3.2rem;
		font-weight: bolder;
	}
}
.company .container.slide
{
	position: relative;
	top: 45%;
	-webkit-transform: translateY(-45%);
	transform: translateY(-45%);
}
@media screen and (min-width: 1025px)
{
	.company .hero-feature
	{
		background: none;
	}
}
.company .sketching
{
	background: url("../assets/hero-sketching.jpg") center center no-repeat;
	background-size: cover;
	height: 50%;
	position: relative;
}
@media screen and (min-width: 768px)
{
	.company .sketching
	{
		height: 60%;
	}
}
@media screen and (min-width: 1025px)
{
	.company .sketching
	{
		height: 60vh;
	}
}
.company .sketching h4
{
	text-transform: none;
	font-size: 1.85rem;
	color: #FFF;
	font-weight: 300;
}
@media screen and (min-width: 768px)
{
	.company .sketching h4
	{
		font-size: 2rem;
	}
}
.company #services h2, .company #services .blog article h1:not(.title), .blog article .company #services h1:not(.title), .company #products h2, .company #products .blog article h1:not(.title), .blog article .company #products h1:not(.title)
{
	font-size: 1.7rem;
}
@media screen and (min-width: 768px)
{
	.company #services h2, .company #services .blog article h1:not(.title), .blog article .company #services h1:not(.title), .company #products h2, .company #products .blog article h1:not(.title), .blog article .company #products h1:not(.title)
	{
		font-size: 2.0rem;
	}
}
.company .service, .company .products
{
	padding: 2rem 0 4rem 0;
}
@media screen and (min-width: 768px)
{
	.company .service, .company .products
	{
		padding: 0 0 4rem 0;
	}
}
@media screen and (min-width: 1025px)
{
	.company .service, .company .products
	{
		padding: 1rem 0 2rem 0;
	}
}
.company .service h2, .company .service .blog article h1:not(.title), .blog article .company .service h1:not(.title), .company .products h2, .company .products .blog article h1:not(.title), .blog article .company .products h1:not(.title)
{
	font-size: 1.7rem;
	width: 100%;
	margin: 0 0 3rem 0;
	text-transform: none;
	text-align: center;
}
@media screen and (min-width: 768px)
{
	.company .service h2, .company .service .blog article h1:not(.title), .blog article .company .service h1:not(.title), .company .products h2, .company .products .blog article h1:not(.title), .blog article .company .products h1:not(.title)
	{
		width: 70%;
		margin: 0 15% 3rem 15%;
		font-size: 2.0rem;
	}
}
@media screen and (min-width: 1025px)
{
	.company .service h2, .company .service .blog article h1:not(.title), .blog article .company .service h1:not(.title), .company .products h2, .company .products .blog article h1:not(.title), .blog article .company .products h1:not(.title)
	{
		width: 100%;
		margin: 0 0 3rem 0;
	}
}
@media screen and (min-width: 1025px)
{
	.company .products
	{
		padding: 4rem 0;
	}
}
.company .service-col, .company .product-col
{
	padding-left: 4rem;
}
.company .service-col h4, .company .product-col h4
{
	font-size: 1.3rem;
	text-align: left;
	margin-top: -36px;
	color: #000;
	margin-bottom: 1.0rem;
}
.company .service-col p, .company .product-col p
{
	font-size: 1.0rem;
	line-height: 1.5;
}
.company .product-col
{
	margin-top: 1rem;
	padding-left: 0;
}
.company .product-col h4, .company .product-col p
{
	text-align: center;
}
.company .product-col a h4
{
	color: #222;
}
.company .product-col a:hover h4
{
	color: #3E8DDD;
}
.company .product-col a p
{
	color: #666;
}
.company .product-col img
{
	width: 80%;
	height: auto;
	margin: 0 10% 0.25rem 10%;
	text-align: center;
	opacity: 0.4;
}
@media screen and (min-width: 768px)
{
	.company .product-col img
	{
		width: 60%;
		margin: 0 20% 0.25rem 20%;
	}
}
@media screen and (min-width: 1025px)
{
	.company .product-col img
	{
		width: 100%;
		margin: 0 0 0.25rem 0;
	}
}
.company .service-icon
{
	width: 40px;
	height: 40px;
	margin-left: -3.25rem;
}
.company .icon-strategy
{
	background: url("../assets/icon-refactor.svg") no-repeat;
	background-size: 40px 40px;
}
.company .icon-chip
{
	background: url("../assets/icon-chip.svg") no-repeat;
	background-size: 40px 40px;
}
.company .icon-engineering
{
	background: url("../assets/icon-engineering.svg") no-repeat;
	background-size: 40px 40px;
}
.work header nav ul li a.work
{
	font-weight: 600;
}
.work footer nav ul li a.work
{
	opacity: 1.0;
}
.work footer
{
	margin-top: 0;
	display: block;
	float: left;
	clear: both;
	width: 100%;
}
.work .container.slide
{
	position: relative;
	top: 45%;
	-webkit-transform: translateY(-45%);
	transform: translateY(-45%);
}
.featured-projects
{
	margin-top: 3.5rem;
}
@media screen and (min-width: 768px)
{
	.featured-projects
	{
		margin-top: 0;
	}
}
.project
{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	width: 100%;
	background: #666;
	height: 12rem;
	overflow: hidden;
}
@media screen and (min-width: 480px) and (orientation: landscape)
{
	.project
	{
		height: 20rem;
	}
}
@media screen and (min-width: 1025px)
{
	.project
	{
		height: 60vh;
	}
}
.project figure img
{
	width: 100%;
	height: auto;
}
.project .logo
{
	position: relative;
	z-index: 20;
	display: inline-block;
	margin: auto;
	width: 80%;
	height: auto;
	min-width: 11rem;
}
@media screen and (min-width: 768px)
{
	.project .logo
	{
		width: 50%;
	}
}
.project .wrapper
{
	position: absolute;
	bottom: 0;
	z-index: 2;
	width: 90%;
	margin: 0;
	padding: 0 0 0.75rem 0;
}
@media screen and (min-width: 768px)
{
	.project .wrapper
	{
		padding: 0 1rem;
	}
}
@media screen and (min-width: 1025px)
{
	.project .wrapper
	{
		padding: 0 2rem;
	}
}
.project .title
{
	color: #FFFFFF;
	font-weight: 300;
	margin: 0;
	font-size: 1.5rem;
	text-transform: none;
}
@media screen and (min-width: 768px)
{
	.project .title
	{
		font-size: 1.7rem;
	}
}
@media screen and (min-width: 1025px)
{
	.project .title
	{
		font-size: 2.2rem;
	}
}
.project p, .project .slug
{
	display: none;
	color: #FFFFFF;
	line-height: 1.4;
}
@media screen and (min-width: 768px)
{
	.project p, .project .slug
	{
		display: block;
		font-size: 1.0rem;
	}
}
@media screen and (min-width: 1025px)
{
	.project p, .project .slug
	{
		font-size: 1.1rem;
	}
}
.project .tint
{
	opacity: 0;
}
@media screen and (min-width: 768px)
{
	.project .tint
	{
		-webkit-transition: all 300ms ease-in-out;
		transition: all 300ms ease-in-out;
	}
}
.project:hover .tint, .project:active .tint
{
	opacity: 1;
	-webkit-transition: all 10ms ease-in;
	transition: all 10ms ease-in;
}
@media screen and (min-width: 768px)
{
	.project:hover .tint, .project:active .tint
	{
		-webkit-transition: all 300ms ease-in;
		transition: all 300ms ease-in;
	}
}
.more
{
	margin-top: 4rem;
}
.promo-block
{
	position: relative;
	width: 100%;
	height: auto;
	padding: 3rem 0;
}
@media screen and (min-width: 768px)
{
	.promo-block
	{
		min-height: 40%;
	}
}
@media screen and (min-width: 1025px)
{
	.promo-block
	{
		height: 50%;
		padding: 0;
	}
}
.promo-block .tint
{
	background: rgba(0, 0, 0, 0.7);
}
.promo-block .container
{
	position: relative;
	z-index: 10;
}
.row
{
	padding: 2.5rem 0;
}
@media screen and (min-width: 768px)
{
	.row
	{
		padding: 5rem 0 0 0;
	}
}
.row h4
{
	font-size: 1.25rem;
}
@media screen and (min-width: 768px)
{
	.row h4
	{
		font-size: 1.7rem;
	}
}
.labs header nav ul li a.labs
{
	font-weight: 600;
}
.labs footer nav ul li a.labs
{
	opacity: 1.0;
}
.labs--grid
{
	margin-top: 3rem;
}
@media screen and (min-width: 1025px)
{
	.labs .hero-feature
	{
		background: none;
	}
}
.feature
{
	background: #FFF;
	min-height: 90%;
	min-height: 50%;
	height: auto;
}
@media screen and (min-width: 768px)
{
	.feature
	{
		min-height: 90%;
	}
}
.feature--title
{
	color: #666;
	font-size: 2.5rem;
	margin: 0 0 0.5rem 0;
}
.feature--wrapper
{
	color: #666;
	text-align: left;
}
.feature--wrapper .btn
{
	color: #666;
	border: 1px solid rgba(0, 0, 0, 0.3);
}
.feature--wrapper .btn:hover
{
	color: #FFF;
}
.feature .container
{
	position: relative;
	padding-top: 10%;
	padding-bottom: 2.0rem;
}
.feature .wrapper
{
	position: relative;
	width: auto;
}
@media screen and (min-width: 768px)
{
	.feature .wrapper
	{
		width: 90%;
		margin: 1.0rem 5%;
	}
}
@media screen and (min-width: 1025px)
{
	.feature .wrapper
	{
		position: absolute;
		width: 40%;
		bottom: 15%;
	}
}
.feature h3.title
{
	text-transform: uppercase;
	font-size: 1.75rem;
	line-height: 1.1;
	text-align: left;
}
@media screen and (min-width: 768px)
{
	.feature h3.title
	{
		font-size: 2.0rem;
	}
}
.feature p
{
	font-size: 1.1rem;
	line-height: 1.3;
	padding: 1.0rem 0 0 0;
}
.feature p.tablet-desktop
{
	float: left;
	clear: both;
	margin: 0 0 2rem 0;
}
.feature figure
{
	width: 80%;
	height: auto;
	margin: 0 10% 1rem 10%;
}
@media screen and (min-width: 768px)
{
	.feature figure
	{
		width: 70%;
		margin: 0 15% 1rem 15%;
	}
}
@media screen and (min-width: 1025px)
{
	.feature figure
	{
		float: right;
		clear: none;
		width: 50%;
		margin: 0;
	}
}
.wide
{
	margin: 1rem auto;
	width: 100%;
	height: 21.5rem;
	min-height: 21.5rem;
}
.wide:last-of-type
{
	margin-bottom: 0;
}
@media screen and (min-width: 480px) and (orientation: landscape)
{
	.wide
	{
		margin: 1rem 1.5%;
		width: 63%;
		height: 18rem;
		float: left;
		clear: none;
	}
}
@media screen and (min-width: 768px)
{
	.wide
	{
		height: 21.5rem;
	}
}
@media screen and (min-width: 1025px)
{
	.wide article
	{
		width: 50%;
	}
}
.tall
{
	width: 100%;
	height: 24rem;
}
.tall:last-of-type
{
	margin-bottom: 0;
}
@media screen and (min-width: 480px) and (orientation: landscape)
{
	.tall
	{
		width: 30%;
		height: 38rem;
		float: left;
		clear: none;
	}
}
@media screen and (min-width: 768px)
{
	.tall
	{
		height: 45rem;
	}
}
.product figure
{
	background: none;
}
.product a h4
{
	text-transform: uppercase;
	color: #FFF;
	font-size: 1.6rem;
}
@media screen and (min-width: 1025px)
{
	.product a h4
	{
		font-size: 2.0rem;
	}
}
.product a .slug
{
	color: rgba(245, 245, 245, 0.7);
}
@media screen and (min-width: 768px)
{
	.product a .slug
	{
		font-size: 0.9rem;
	}
}
@media screen and (min-width: 1025px)
{
	.product a .slug
	{
		font-size: 1.0rem;
	}
}
.product a p
{
	text-align: left;
	color: rgba(245, 245, 245, 0.7);
}
@media screen and (min-width: 768px)
{
	.product a p
	{
		font-size: 1.0rem;
	}
}
@media screen and (min-width: 1025px)
{
	.product a p
	{
		font-size: 1.1rem;
	}
}
.product a:hover figure img
{
	opacity: 1.0;
}
.product article
{
	padding: 1rem 1.5rem;
	position: absolute;
	bottom: 0;
	margin-bottom: 2rem;
}
.product article p
{
	font-size: 1.0rem;
	line-height: 1.3;
	margin-bottom: 1.25rem;
}
@media screen and (min-width: 1025px)
{
	.product article p
	{
		font-size: 1.1rem;
		margin-bottom: 2.0rem;
	}
}
.wide article
{
	width: 100% !important;
}
@media screen and (min-width: 1025px)
{
	.wide article
	{
		width: 60% !important;
	}
}
.contact header nav ul li a.contact
{
	font-weight: 600;
}
.contact footer nav ul li a.contact
{
	opacity: 1.0;
}
.contact .contact-intro
{
	width: 100%;
	height: 60%;
	background: #FFF;
	margin-top: 0;
}
@media screen and (min-width: 768px)
{
	.contact .contact-intro
	{
		margin-top: -6rem;
		height: 60%;
	}
}
.contact .contact-intro h2, .contact .contact-intro .blog article h1:not(.title), .blog article .contact .contact-intro h1:not(.title)
{
	text-transform: none;
	font-size: 1.4rem;
	-webkit-animation: fadeIn 600ms ease-in;
	animation: fadeIn 600ms ease-in;
}
@media screen and (min-width: 768px)
{
	.contact .contact-intro h2, .contact .contact-intro .blog article h1:not(.title), .blog article .contact .contact-intro h1:not(.title)
	{
		font-size: 2rem;
	}
}
.contact .thank-you, .contact .four-oh-four
{
	width: 100%;
	min-height: 60%;
	margin-top: 6rem;
}
.contact .four-oh-four h3
{
	font-size: 1.3rem;
}
@media screen and (min-width: 768px)
{
	.contact .four-oh-four h3
	{
		font-size: 1.7rem;
	}
}
@media screen and (min-width: 1025px)
{
	.contact .four-oh-four h3
	{
		width: 70%;
		margin: 1rem 15% 0;
	}
}
.contact .four-oh-four span
{
	font-size: 1.2rem;
}
.contact .four-oh-four p
{
	margin: 2rem 0 0 0;
}
.contact .contact-details
{
	background: #222;
	width: 100%;
	height: auto;
	padding: 3rem 0 2rem 0;
	-webkit-animation: fadeIn 900ms ease-in;
	animation: fadeIn 900ms ease-in;
}
@media screen and (min-width: 768px)
{
	.contact .contact-details
	{
		min-height: 50%;
		padding: 6rem 0 3rem 0;
	}
}
.contact .contact-details .container
{
	width: 90%;
}
@media screen and (min-width: 1025px)
{
	.contact .contact-details .container
	{
		width: 80%;
	}
}
.contact .contact-details .form-trigger
{
	font-weight: 400;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #FFFFFF;
	text-align: left;
	width: 100%;
	padding: 1rem;
	margin: 0;
	border-bottom: 2px solid #666;
}
.contact .contact-details .form-trigger.open
{
	color: #FFFFFF;
	border-bottom: 2px solid #FFFFFF;
}
.contact .contact-details ol li
{
	padding: 0;
	margin: 0 0 0.5rem 0;
}
.contact .contact-details ol li i
{
	position: relative;
	-webkit-transform: translate(-6px, 0);
	transform: translate(-6px, 0);
	margin: 1.7rem 1rem 0 0;
	left: 0;
	right: 0;
	float: right;
}
.contact .contact-details ol li i:before, .contact .contact-details ol li i:after
{
	content: "";
	position: absolute;
	background-color: #FFFFFF;
	width: 1px;
	height: 10px;
}
.contact .contact-details ol li input[type=checkbox]
{
	width: 60%;
}
@media screen and (min-width: 768px)
{
	.contact .contact-details ol li input[type=checkbox]
	{
		width: 100%;
	}
}
.contact .contact-details .form
{
	margin: 0;
}
@media screen and (min-width: 768px)
{
	.contact .contact-details .form
	{
		width: 100%;
	}
}
.contact .contact-details .form .field-style
{
	margin-bottom: 0;
	background: none;
	padding: 1rem;
	font-weight: 300;
	color: #FFFFFF;
	letter-spacing: 2px;
	border: none;
	border-bottom: 1px solid #666;
}
.contact .contact-details .form .field-style:focus
{
	border: none;
	border-bottom: 1px solid #FFF;
}
.contact .contact-details .form ::-webkit-input-placeholder, .contact .contact-details .form .replace
{
	text-transform: uppercase;
	color: #666;
}
.contact .contact-details .form :-ms-input-placeholder, .contact .contact-details .form .replace
{
	text-transform: uppercase;
	color: #666;
}
.contact .contact-details .form ::-ms-input-placeholder, .contact .contact-details .form .replace
{
	text-transform: uppercase;
	color: #666;
}
.contact .contact-details .form ::placeholder, .contact .contact-details .form .replace
{
	text-transform: uppercase;
	color: #666;
}
.contact .contact-details .form .is-open
{
	background: #222;
	position: relative;
}
.contact .contact-details .form .trigger-arrow img
{
	position: absolute;
	top: 1.1rem;
	right: 0.5rem;
	opacity: 0.35;
	width: 39%;
}
.contact .contact-details .form .submit
{
	background: none;
	border: 1px solid rgba(255, 255, 255, 0.2);
	width: auto;
	padding: 0.5rem 1.5rem;
	font-size: 1rem;
	margin: 1.75rem 0;
	float: right;
}
.contact .contact-details .form .submit:hover, .contact .contact-details .form .submit:active, .contact .contact-details .form .submit:focus
{
	color: #222;
	background: #FFF;
}
@media screen and (min-width: tablet)
{
	.contact .contact-details .form .submit
	{
		font-size: 1rem;
		padding: 0.65rem 2rem 0.75rem 2rem;
		letter-spacing: 0.2rem;
	}
}
.contact .contact-details .left
{
	text-align: center;
	margin-bottom: 5rem;
}
@media screen and (min-width: 768px)
{
	.contact .contact-details .left
	{
		text-align: left;
		float: left;
		clear: none;
		width: 50%;
		margin-bottom: 0;
	}
}
.contact .contact-details .right
{
	text-align: center;
}
@media screen and (min-width: 768px)
{
	.contact .contact-details .right
	{
		text-align: right;
		float: right;
		clear: none;
		width: 46%;
	}
}
.contact .contact-details h3
{
	margin: 0 0 2rem 0;
	font-size: 1.5rem;
}
@media screen and (min-width: 768px)
{
	.contact .contact-details h3
	{
		margin: 0 0 4rem 0;
		font-size: 1.7rem;
	}
}
.contact .contact-details h4
{
	font-size: 1.1rem;
	margin-top: 0;
}
.contact .contact-details h3, .contact .contact-details h4, .contact .contact-details p, .contact .contact-details a
{
	color: #FFF;
	line-height: 1.3;
}
.contact .contact-careers
{
	position: relative;
	width: 100%;
	height: auto;
	padding: 3rem 0;
	background: url("../assets/bg-stylus.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
@media screen and (min-width: 768px)
{
	.contact .contact-careers
	{
		height: 20rem;
		padding: 0;
	}
}
@media screen and (min-width: 1025px)
{
	.contact .contact-careers
	{
		height: 50vh;
	}
}
.contact .contact-careers .tint
{
	background: rgba(0, 0, 0, 0.8);
}
.contact .contact-careers .container
{
	position: relative;
	z-index: 10;
}
.contact .contact-careers h3
{
	color: #FFF;
	width: 100%;
	margin: 0 auto 2rem auto;
	font-size: 1.3rem;
	line-height: 1.3;
}
@media screen and (min-width: 768px)
{
	.contact .contact-careers h3
	{
		width: 80%;
		font-size: 1.7rem;
		line-height: 1.5;
	}
}
.contact .contact-careers p
{
	margin: 0;
}
.contact .fw-map
{
	overflow: hidden;
	position: relative;
}
.contact .map
{
	display: block;
	width: 100%;
	height: 300px;
	position: relative;
}
@media screen and (min-width: 768px)
{
	.contact .map
	{
		height: 450px;
	}
}
@media screen and (min-width: 1025px)
{
	.contact .map
	{
		height: 550px;
	}
}
.contact .map .leaflet-popup-content
{
	font-family: "petala-pro", Avenir, Helvetica;
	font-weight: 300;
	font-size: 0.8rem;
}
.contact .map .leaflet-popup-content .marker-title
{
	font-weight: 400;
	text-transform: uppercase;
}
.contact footer
{
	margin-top: 0;
}
.contact .slab
{
	margin-bottom: 3rem;
}
.accordion.jobs ul
{
	list-style: disc;
}
@-webkit-keyframes csFadeInStatic
{
	0%
	{
		opacity: 0;
	}
	100%
	{
		opacity: 1;
	}
}
@keyframes csFadeInStatic
{
	0%
	{
		opacity: 0;
	}
	100%
	{
		opacity: 1;
	}
}
@-webkit-keyframes csFadeOutStatic
{
	0%
	{
		opacity: 1;
	}
	100%
	{
		opacity: 0;
	}
}
@keyframes csFadeOutStatic
{
	0%
	{
		opacity: 1;
	}
	100%
	{
		opacity: 0;
	}
}
@-webkit-keyframes csFadeInUp
{
	0%
	{
		opacity: 0;
		-webkit-transform: translateY(3rem);
		transform: translateY(3rem);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
@keyframes csFadeInUp
{
	0%
	{
		opacity: 0;
		-webkit-transform: translateY(3rem);
		transform: translateY(3rem);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
@-webkit-keyframes csFadeOutDown
{
	0%
	{
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	100%
	{
		opacity: 0;
		-webkit-transform: translateY(3rem);
		transform: translateY(3rem);
	}
}
@keyframes csFadeOutDown
{
	0%
	{
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	100%
	{
		opacity: 0;
		-webkit-transform: translateY(3rem);
		transform: translateY(3rem);
	}
}
@-webkit-keyframes csFadeOutUp
{
	0%
	{
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	100%
	{
		opacity: 0;
		-webkit-transform: translateY(-3rem);
		transform: translateY(-3rem);
	}
}
@keyframes csFadeOutUp
{
	0%
	{
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	100%
	{
		opacity: 0;
		-webkit-transform: translateY(-3rem);
		transform: translateY(-3rem);
	}
}
@-webkit-keyframes csFodLogoReveal
{
	0%
	{
		opacity: 0;
	}
	1%
	{
		opacity: 0;
		-webkit-transform: translateY(-50%) scale(0.98);
		transform: translateY(-50%) scale(0.98);
	}
	100%
	{
		opacity: 1.0;
		-webkit-transform: translateY(-50%) scale(1);
		transform: translateY(-50%) scale(1);
	}
}
@keyframes csFodLogoReveal
{
	0%
	{
		opacity: 0;
	}
	1%
	{
		opacity: 0;
		-webkit-transform: translateY(-50%) scale(0.98);
		transform: translateY(-50%) scale(0.98);
	}
	100%
	{
		opacity: 1.0;
		-webkit-transform: translateY(-50%) scale(1);
		transform: translateY(-50%) scale(1);
	}
}
@-webkit-keyframes csDiscoverPhoneIn
{
	0%
	{
		opacity: 0;
		left: 2%;
	}
	100%
	{
		opacity: 1;
		left: 0;
	}
}
@keyframes csDiscoverPhoneIn
{
	0%
	{
		opacity: 0;
		left: 2%;
	}
	100%
	{
		opacity: 1;
		left: 0;
	}
}
@-webkit-keyframes csDiscoverPadIn
{
	0%
	{
		opacity: 0;
		right: 2%;
	}
	100%
	{
		opacity: 1;
		right: 0;
	}
}
@keyframes csDiscoverPadIn
{
	0%
	{
		opacity: 0;
		right: 2%;
	}
	100%
	{
		opacity: 1;
		right: 0;
	}
}
@-webkit-keyframes csFlyOutMain
{
	0%
	{
		-webkit-transform: rotateX(0deg) rotateZ(0deg) scale(1);
		transform: rotateX(0deg) rotateZ(0deg) scale(1);
		left: 32.7%;
		margin-bottom: 3.35%;
	}
	100%
	{
		-webkit-transform: rotateX(35deg) rotateZ(-8deg) scale(0.675);
		transform: rotateX(35deg) rotateZ(-8deg) scale(0.675);
		left: 15.9%;
		margin-bottom: 5.7%;
	}
}
@keyframes csFlyOutMain
{
	0%
	{
		-webkit-transform: rotateX(0deg) rotateZ(0deg) scale(1);
		transform: rotateX(0deg) rotateZ(0deg) scale(1);
		left: 32.7%;
		margin-bottom: 3.35%;
	}
	100%
	{
		-webkit-transform: rotateX(35deg) rotateZ(-8deg) scale(0.675);
		transform: rotateX(35deg) rotateZ(-8deg) scale(0.675);
		left: 15.9%;
		margin-bottom: 5.7%;
	}
}
@-webkit-keyframes csFlyOutShadow
{
	0%
	{
		opacity: 0;
		-webkit-transform: translateZ(0) scale(1);
		transform: translateZ(0) scale(1);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: translateZ(-5vw) scale(1.05);
		transform: translateZ(-5vw) scale(1.05);
	}
}
@keyframes csFlyOutShadow
{
	0%
	{
		opacity: 0;
		-webkit-transform: translateZ(0) scale(1);
		transform: translateZ(0) scale(1);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: translateZ(-5vw) scale(1.05);
		transform: translateZ(-5vw) scale(1.05);
	}
}
@-webkit-keyframes csFlyOutCopy1
{
	0%
	{
		-webkit-transform: translateZ(1px);
		transform: translateZ(1px);
	}
	100%
	{
		-webkit-transform: translateZ(2vw);
		transform: translateZ(2vw);
	}
}
@keyframes csFlyOutCopy1
{
	0%
	{
		-webkit-transform: translateZ(1px);
		transform: translateZ(1px);
	}
	100%
	{
		-webkit-transform: translateZ(2vw);
		transform: translateZ(2vw);
	}
}
@-webkit-keyframes csFlyOutCopy1Shadow
{
	0%
	{
		opacity: 0;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
	100%
	{
		opacity: 0.5;
		-webkit-filter: blur(0.1vw);
		filter: blur(0.1vw);
	}
}
@keyframes csFlyOutCopy1Shadow
{
	0%
	{
		opacity: 0;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
	100%
	{
		opacity: 0.5;
		-webkit-filter: blur(0.1vw);
		filter: blur(0.1vw);
	}
}
@-webkit-keyframes csFlyOutCopy2Shadow
{
	0%
	{
		opacity: 0;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
	50%
	{
		opacity: 0;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
	100%
	{
		opacity: 0.5;
		-webkit-filter: blur(0.1vw);
		filter: blur(0.1vw);
	}
}
@keyframes csFlyOutCopy2Shadow
{
	0%
	{
		opacity: 0;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
	50%
	{
		opacity: 0;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
	100%
	{
		opacity: 0.5;
		-webkit-filter: blur(0.1vw);
		filter: blur(0.1vw);
	}
}
@-webkit-keyframes csFlyOutCopy2
{
	0%
	{
		opacity: 0;
		-webkit-transform: translateZ(1px);
		transform: translateZ(1px);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: translateZ(1.8vw);
		transform: translateZ(1.8vw);
	}
}
@keyframes csFlyOutCopy2
{
	0%
	{
		opacity: 0;
		-webkit-transform: translateZ(1px);
		transform: translateZ(1px);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: translateZ(1.8vw);
		transform: translateZ(1.8vw);
	}
}
@-webkit-keyframes csGrowLine
{
	100%
	{
		stroke-dashoffset:0;
	}
}
@keyframes csGrowLine
{
	100%
	{
		stroke-dashoffset:0;
	}
}
@-webkit-keyframes csFlyInMain
{
	0%
	{
		-webkit-transform: rotateX(35deg) rotateZ(-8deg) scale(0.675);
		transform: rotateX(35deg) rotateZ(-8deg) scale(0.675);
		left: 15.9%;
		margin-bottom: 5.7%;
	}
	100%
	{
		-webkit-transform: rotateX(0deg) rotateZ(0deg) scale(1);
		transform: rotateX(0deg) rotateZ(0deg) scale(1);
		left: 32.7%;
		margin-bottom: 3.35%;
	}
}
@keyframes csFlyInMain
{
	0%
	{
		-webkit-transform: rotateX(35deg) rotateZ(-8deg) scale(0.675);
		transform: rotateX(35deg) rotateZ(-8deg) scale(0.675);
		left: 15.9%;
		margin-bottom: 5.7%;
	}
	100%
	{
		-webkit-transform: rotateX(0deg) rotateZ(0deg) scale(1);
		transform: rotateX(0deg) rotateZ(0deg) scale(1);
		left: 32.7%;
		margin-bottom: 3.35%;
	}
}
@-webkit-keyframes csFlyInShadow
{
	0%
	{
		opacity: 1;
		-webkit-transform: translateZ(-5vw) scale(1.05);
		transform: translateZ(-5vw) scale(1.05);
	}
	100%
	{
		opacity: 0;
		-webkit-transform: translateZ(0) scale(1);
		transform: translateZ(0) scale(1);
	}
}
@keyframes csFlyInShadow
{
	0%
	{
		opacity: 1;
		-webkit-transform: translateZ(-5vw) scale(1.05);
		transform: translateZ(-5vw) scale(1.05);
	}
	100%
	{
		opacity: 0;
		-webkit-transform: translateZ(0) scale(1);
		transform: translateZ(0) scale(1);
	}
}
@-webkit-keyframes csFlyInCopy1
{
	0%
	{
		-webkit-transform: translateZ(2vw);
		transform: translateZ(2vw);
	}
	100%
	{
		-webkit-transform: translateZ(1px);
		transform: translateZ(1px);
	}
}
@keyframes csFlyInCopy1
{
	0%
	{
		-webkit-transform: translateZ(2vw);
		transform: translateZ(2vw);
	}
	100%
	{
		-webkit-transform: translateZ(1px);
		transform: translateZ(1px);
	}
}
@-webkit-keyframes csFlyInCopy1Shadow
{
	0%
	{
		opacity: 0.67;
		-webkit-filter: blur(0.1vw);
		filter: blur(0.1vw);
	}
	100%
	{
		opacity: 0;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
}
@keyframes csFlyInCopy1Shadow
{
	0%
	{
		opacity: 0.67;
		-webkit-filter: blur(0.1vw);
		filter: blur(0.1vw);
	}
	100%
	{
		opacity: 0;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
}
@-webkit-keyframes csFlyInCopy2
{
	0%
	{
		opacity: 1;
		-webkit-transform: translateZ(1.8vw);
		transform: translateZ(1.8vw);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: translateZ(1px);
		transform: translateZ(1px);
	}
}
@keyframes csFlyInCopy2
{
	0%
	{
		opacity: 1;
		-webkit-transform: translateZ(1.8vw);
		transform: translateZ(1.8vw);
	}
	100%
	{
		opacity: 1;
		-webkit-transform: translateZ(1px);
		transform: translateZ(1px);
	}
}
.invite
{
	text-align: center;
}
.invite .logo
{
	display: block;
	margin: 0 auto;
	width: 2.5rem;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url("../assets/ws-logo-image.svg");
}
@media screen and (min-width: 768px)
{
	.invite .logo
	{
		width: 5rem;
	}
}
@media screen and (min-width: 1025px)
{
	.invite .logo
	{
		width: 26rem;
	}
}
.invite section
{
	padding: 0;
}
.invite section:first-of-type
{
	padding: 3rem 0 2rem 0;
}
@media screen and (min-width: 768px)
{
	.invite section:first-of-type
	{
		padding: 3rem 0;
	}
}
@media screen and (min-width: 1025px)
{
	.invite section:first-of-type
	{
		padding: 5rem 0 3rem 0;
	}
}
.invite article
{
	width: 100%;
	margin: 0 auto;
	padding-bottom: 5rem;
}
@media screen and (min-width: 768px)
{
	.invite article
	{
		width: 88%;
	}
}
.invite .hero
{
	display: block;
	width: 100%;
}
.invite .hero ul li
{
	display: inline-block;
	height: 300px;
	width: 10px;
	margin: 0 1.3rem;
	position: relative;
}
@media screen and (min-width: 768px)
{
	.invite .hero ul li
	{
		margin: 0 2rem;
	}
}
.invite .hero ul li .lightsaber
{
	margin: 0 auto;
	display: block;
	width: 10px;
	height: 56px;
	border-radius: 6px;
	border: 2px solid #999;
	position: absolute;
	bottom: 0;
	left: 0;
}
.invite .hero ul li .blade
{
	width: 10px;
	height: 240px;
	border-radius: 6px;
	background: #EEE;
	position: absolute;
	top: 0;
	left: 0;
}
.invite .hero ul li .darth
{
	background-color: #FD4F57;
}
.invite .hero ul li .darth:hover, .invite .hero ul li .darth:active
{
	-webkit-box-shadow: 0 0 7px #fd4f57;
	box-shadow: 0 0 7px #FD4F57;
}
.invite .hero ul li .luke
{
	background-color: #00C182;
}
.invite .hero ul li .luke:hover, .invite .hero ul li .luke:active
{
	-webkit-box-shadow: 0 0 7px #00c182;
	box-shadow: 0 0 7px #00C182;
}
.invite .hero ul li .mace
{
	background-color: #6F618A;
}
.invite .hero ul li .mace:hover, .invite .hero ul li .mace:active
{
	-webkit-box-shadow: 0 0 7px #6f618a;
	box-shadow: 0 0 7px #6F618A;
}
.invite .hero ul li .obi-wan
{
	background-color: #3F8DDD;
}
.invite .hero ul li .obi-wan:hover, .invite .hero ul li .obi-wan:active
{
	-webkit-box-shadow: 0 0 7px #3f8ddd;
	box-shadow: 0 0 7px #3F8DDD;
}
.invite h1
{
	text-transform: uppercase;
	font-size: 1.6rem;
	letter-spacing: 0.2rem;
	line-height: 1;
	margin: 1.0rem 0 3.0rem 0;
}
@media screen and (min-width: 768px)
{
	.invite h1
	{
		font-size: 2.0rem;
		letter-spacing: 0.25rem;
		margin: 2.0rem 0 3.5rem 0;
	}
}
.invite h2, .invite .blog article h1:not(.title), .blog article .invite h1:not(.title)
{
	font-size: 1.1rem;
	letter-spacing: 0.2rem;
	margin: 3.0rem 0;
}
@media screen and (min-width: 768px)
{
	.invite h2, .invite .blog article h1:not(.title), .blog article .invite h1:not(.title)
	{
		font-size: 1.25rem;
	}
}
.invite p
{
	float: none;
	text-transform: uppercase;
	margin: 0 0 1.5rem 0;
	font-size: 0.95rem;
	line-height: 1.6;
	width: 100%;
	color: #363640;
}
.invite p span
{
	padding: 0 0.5rem;
	font-weight: 700;
}
.invite .red
{
	color: #FD4F57;
}
.invite .green
{
	color: #00C182;
}
.u-width1\/12
{
	width: 8.33333333333%;
}
.u-width2\/12
{
	width: 16.6666666667%;
}
.u-width1\/5
{
	width: 20%;
}
.u-width1\/4, .u-width3\/12
{
	width: 25%;
}
.u-width1\/3, .u-width4\/12
{
	width: 33.3333333333%;
}
.u-width2\/5
{
	width: 40%;
}
.u-width5\/12
{
	width: 41.6666666667%;
}
.u-width1\/2, .u-width2\/4, .u-width6\/12
{
	width: 50%;
}
.u-width3\/5
{
	width: 60%;
}
.u-width7\/12
{
	width: 58.3333333333%;
}
.u-width2\/3, .u-width8\/12
{
	width: 66.6666666667%;
}
.u-width3\/4, .u-width9\/12
{
	width: 75%;
}
.u-width4\/5
{
	width: 80%;
}
.u-width10\/12
{
	width: 83.3333333333%;
}
.u-width11\/12
{
	width: 91.6666666667%;
}
.u-width1\/1
{
	width: 100%;
}
.u-widthFull
{
	-webkit-box-sizing: border-box !important;
	box-sizing: border-box !important;
	display: block;
	width: 100%;
}
@media screen and (min-width: 569px)
{
	.u-width1\/12\@ph
	{
		width: 8.33333333333%;
	}
	.u-width2\/12\@ph
	{
		width: 16.6666666667%;
	}
	.u-width1\/5\@ph
	{
		width: 20%;
	}
	.u-width1\/4\@ph, .u-width3\/12\@ph
	{
		width: 25%;
	}
	.u-width1\/3\@ph, .u-width4\/12\@ph
	{
		width: 33.3333333333%;
	}
	.u-width2\/5\@ph
	{
		width: 40%;
	}
	.u-width5\/12\@ph
	{
		width: 41.6666666667%;
	}
	.u-width1\/2\@ph, .u-width2\/4\@ph, .u-width6\/12\@ph
	{
		width: 50%;
	}
	.u-width3\/5\@ph
	{
		width: 60%;
	}
	.u-width7\/12\@ph
	{
		width: 58.3333333333%;
	}
	.u-width2\/3\@ph, .u-width8\/12\@ph
	{
		width: 66.6666666667%;
	}
	.u-width3\/4\@ph, .u-width9\/12\@ph
	{
		width: 75%;
	}
	.u-width4\/5\@ph
	{
		width: 80%;
	}
	.u-width10\/12\@ph
	{
		width: 83.3333333333%;
	}
	.u-width11\/12\@ph
	{
		width: 91.6666666667%;
	}
	.u-width1\/1\@ph
	{
		width: 100%;
	}
	.u-widthFull\@ph
	{
		-webkit-box-sizing: border-box !important;
		box-sizing: border-box !important;
		display: block;
		width: 100%;
	}
}
@media screen and (min-width: 768px)
{
	.u-width1\/12\@md
	{
		width: 8.33333333333%;
	}
	.u-width2\/12\@md
	{
		width: 16.6666666667%;
	}
	.u-width1\/5\@md
	{
		width: 20%;
	}
	.u-width1\/4\@md, .u-width3\/12\@md
	{
		width: 25%;
	}
	.u-width1\/3\@md, .u-width4\/12\@md
	{
		width: 33.3333333333%;
	}
	.u-width2\/5\@md
	{
		width: 40%;
	}
	.u-width5\/12\@md
	{
		width: 41.6666666667%;
	}
	.u-width1\/2\@md, .u-width2\/4\@md, .u-width6\/12\@md
	{
		width: 50%;
	}
	.u-width3\/5\@md
	{
		width: 60%;
	}
	.u-width7\/12\@md
	{
		width: 58.3333333333%;
	}
	.u-width2\/3\@md, .u-width8\/12\@md
	{
		width: 66.6666666667%;
	}
	.u-width3\/4\@md, .u-width9\/12\@md
	{
		width: 75%;
	}
	.u-width4\/5\@md
	{
		width: 80%;
	}
	.u-width10\/12\@md
	{
		width: 83.3333333333%;
	}
	.u-width11\/12\@md
	{
		width: 91.6666666667%;
	}
	.u-width1\/1\@md
	{
		width: 100%;
	}
	.u-widthFull\@md
	{
		-webkit-box-sizing: border-box !important;
		box-sizing: border-box !important;
		display: block;
		width: 100%;
	}
}
@media screen and (min-width: 1025px)
{
	.u-width1\/12\@lg
	{
		width: 8.33333333333%;
	}
	.u-width2\/12\@lg
	{
		width: 16.6666666667%;
	}
	.u-width1\/5\@lg
	{
		width: 20%;
	}
	.u-width1\/4\@lg, .u-width3\/12\@lg
	{
		width: 25%;
	}
	.u-width1\/3\@lg, .u-width4\/12\@lg
	{
		width: 33.3333333333%;
	}
	.u-width2\/5\@lg
	{
		width: 40%;
	}
	.u-width5\/12\@lg
	{
		width: 41.6666666667%;
	}
	.u-width1\/2\@lg, .u-width2\/4\@lg, .u-width6\/12\@lg
	{
		width: 50%;
	}
	.u-width3\/5\@lg
	{
		width: 60%;
	}
	.u-width7\/12\@lg
	{
		width: 58.3333333333%;
	}
	.u-width2\/3\@lg, .u-width8\/12\@lg
	{
		width: 66.6666666667%;
	}
	.u-width3\/4\@lg, .u-width9\/12\@lg
	{
		width: 75%;
	}
	.u-width4\/5\@lg
	{
		width: 80%;
	}
	.u-width10\/12\@lg
	{
		width: 83.3333333333%;
	}
	.u-width11\/12\@lg
	{
		width: 91.6666666667%;
	}
	.u-width1\/1\@lg
	{
		width: 100%;
	}
	.u-widthFull\@lg
	{
		-webkit-box-sizing: border-box !important;
		box-sizing: border-box !important;
		display: block;
		width: 100%;
	}
}
