*, *::before, *::after {
	box-sizing: border-box
}
body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
	margin: 0
}
ul[role=list], ol[role=list] {
	list-style: none
}
html {
	scroll-behavior: smooth
}
body {
	min-height: 100vh;
	text-rendering: optimizeSpeed;
	line-height: 1.5
}
a:not([class]) {
	text-decoration-skip-ink: auto
}
img, picture {
	max-width: 100%;
	display: block
}
input, button, textarea, select {
	font: inherit
}
@media(prefers-reduced-motion: reduce) {
*, *::before, *::after {
	animation-duration: .01ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: .01ms !important;
	scroll-behavior: auto !important
}
}
@font-face {
	font-family: "Helvetica Now Text";
	src: url("../fonts/5eec4451-e90c-42e7-b4d8-9b8654a65568.woff2") format("woff2"), url("../fonts/f7cf763b-e79b-4c28-af92-803e0c3f16d4.woff") format("woff");
	font-display: swap;
	font-style: normal;
	font-weight: 400
}
@font-face {
	font-family: "Helvetica Now Text";
	src: url("../fonts/db2aea0d-59aa-466a-b1c2-17f44663a0fe.woff2") format("woff2"), url("../fonts/d99c363f-9e4a-47f4-b101-0ae1202ccd23.woff") format("woff");
	font-display: swap;
	font-style: italic;
	font-weight: 400
}
@font-face {
	font-family: "Helvetica Now Text";
	src: url("../fonts/2fd3ef81-07ed-45b4-a344-7a0defbdadcf.woff2") format("woff2"), url("../fonts/52492279-0374-4238-ba8b-751b50089cf0.woff") format("woff");
	font-display: swap;
	font-style: normal;
	font-weight: 500
}
@font-face {
	font-family: "Helvetica Now Text";
	src: url("../fonts/2a13627f-dba8-48e1-935c-a404f5293139.woff2") format("woff2"), url("../fonts/ce7a1fe7-2605-427a-b064-a01ebce69295.woff") format("woff");
	font-display: swap;
	font-style: normal;
	font-weight: 700
}
body {
	font-family: "Helvetica Now Text", Helvetica Neue, Helvetica, Arial, sans-serif;
	color: #222;
	font-size: 100%;
	font-weight: 400
}
p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
margin-bottom:.75rem;
	font-weight: 400
}
p:last-child {
	margin-bottom: 0
}
p.small {
	font-size: 12px;
	font-size: 0.75rem
}
p.italic {
	font-style: italic
}
p.lead {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 1.2;
	font-weight: 400;
margin-bottom:.75rem
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.2;
margin-bottom:.75rem;
	color: #314e5c
}
h1 {
	font-size: 39px;
	font-size: 2.4375rem;
	font-weight: 700
}
h2, .h1-small {
	font-size: 31.25px;
	font-size: 1.953125rem;
	font-weight: 700
}
h3, p.cta {
	font-size: 25px;
	font-size: 1.5625rem;
	font-weight: 500
}
h4, .h3-small {
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 500
}
strong {
	font-weight: 700
}
.text-center {
	text-align: center
}
.bold-right-align {
	font-weight: 700;
	text-align: right
}
.text-col-white {
	color: #fff
}
.text-bold-blue {
	color: #83d0f5;
	font-weight: 700
}
article picture+h2 {
	margin-top: 1.5rem
}
p+h2, p+h3 {
	margin-top: 1.5rem
}
a {
	overflow-wrap: break-word
}
.underline--magical {
	color: #222;
	text-decoration: none;
	background-image: linear-gradient(120deg, #83D0F5 0%, #83D0F5 100%);
	background-repeat: no-repeat;
	background-size: 100% 25%;
	background-position: 0 90%;
	transition: background-size .25s ease-in
}
.underline--magical:hover {
	background-size: 100% 80%
}
.underline--magical--alt {
	color: #fff;
	text-decoration: none;
	background-image: linear-gradient(120deg, #347ab7 0%, #347ab7 100%);
	background-repeat: no-repeat;
	background-size: 100% 25%;
	background-position: 0 90%;
	transition: background-size .25s ease-in
}
.underline--magical--alt:hover {
	background-size: 100% 80%
}
.underline--magical--alt--white {
	color: #222;
	text-decoration: none;
	background-image: linear-gradient(120deg, #fff 0%, #fff 100%);
	background-repeat: no-repeat;
	background-size: 100% 25%;
	background-position: 0 90%;
	transition: background-size .25s ease-in
}
.underline--magical--alt--white:hover {
	background-size: 100% 80%
}
ul, ol {
	display: block;
	list-style-position: outisde;
margin:.75rem 0 0;
	padding-left: 3rem
}
ul {
	list-style-type: circle
}
ul+p, ul+h2, ul+h3, ol+p, ol+h2, ol+h3 {
margin-top:.75rem
}
ul li>ul {
	list-style-type: circle;
margin:0 .75rem 0;
	padding-left: 1.5rem
}
ul.page-nav {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0 0
}
ul.page-nav li {
	padding: 1rem;
	border-top: 1px solid #83d0f5
}
ul.page-nav li:last-child {
	border-bottom: 1px solid #83d0f5
}
ul.page-nav li a {
	text-decoration: none;
	color: #222;
	font-weight: 500;
	display: flex;
	justify-content: space-between;
	align-items: center
}
button {
	cursor: pointer
}
.button {
	display: inline-block;
	box-sizing: border-box;
padding:.5rem 1rem;
margin:.5rem;
	border-radius: 50vh;
	text-align: center;
	text-decoration: none;
	font-weight: 700;
	font-size: 12px;
	font-size: 0.75rem;
	transition: .25s ease-in
}
@media screen and (min-width: 23.5em) {
.button {
	font-size: 16px;
	font-size: 1rem
}
}
@media screen and (min-width: 48em) {
.button {
padding:.4rem 1rem
}
}
.button.outline-blue {
	color: #314e5c;
	border: 2px solid #83d0f5;
	background-color: #fff
}
.button.outline-blue:hover {
	background-color: #83d0f5
}
.button.outline-white {
	color: #314e5c;
	border: 2px solid #fff
}
.button.outline-white:hover {
	background-color: #fff
}
.scroll-to-top {
	position: fixed;
	margin: 0;
	display: none;
	bottom: 10vw;
	right: 10vw;
	z-index: 1000
}
@media screen and (min-width: 23.5em) {
.scroll-to-top {
	bottom: 7.5vw;
	right: 7.5vw
}
}
@media screen and (min-width: 48em) {
.scroll-to-top {
	bottom: 5vw;
	right: 5vw
}
}
@media screen and (min-width: 64.0625em) {
.scroll-to-top {
	bottom: 5vw;
	right: 5vw
}
}
@media screen and (min-width: 90.0625em) {
.scroll-to-top {
	bottom: 5vw;
	right: calc((100vw - 81em) / 2)
}
}/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
padding:.5rem .5rem;
	display: inline-block;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: .15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: transparent;
	border: 0;
	margin: 0;
	overflow: visible
}
.hamburger:hover {
	opacity: .7
}
.hamburger.is-active:hover {
	opacity: .7
}
.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::before, .hamburger.is-active .hamburger-inner::after {
	background-color: #314e5c
}
.hamburger-box {
	width: 40px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	position: relative
}
.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -2px
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	width: 40px;
	height: 4px;
	background-color: #314e5c;
	border-radius: 4px;
	position: absolute;
	transition-property: transform;
	transition-duration: .15s;
	transition-timing-function: ease
}
.hamburger-inner::before, .hamburger-inner::after {
	content: "";
	display: block
}
.hamburger-inner::before {
	top: -10px
}
.hamburger-inner::after {
	bottom: -10px
}
.hamburger-label {
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
	line-height: 1;
	color: #314e5c;
	font-size: 1rem
}
.hamburger--squeeze .hamburger-inner {
	transition-duration: .075s;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19)
}
.hamburger--squeeze .hamburger-inner::before {
	transition: top .075s .12s ease, opacity .075s ease
}
.hamburger--squeeze .hamburger-inner::after {
	transition: bottom .075s .12s ease, transform .075s cubic-bezier(0.55, 0.055, 0.675, 0.19)
}
.hamburger--squeeze.is-active .hamburger-inner {
	transform: rotate(45deg);
	transition-delay: .12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1)
}
.hamburger--squeeze.is-active .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top .075s ease, opacity .075s .12s ease
}
.hamburger--squeeze.is-active .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom .075s ease, transform .075s .12s cubic-bezier(0.215, 0.61, 0.355, 1)
}
.grid-overlay {
	position: fixed;
	height: 100vh;
	width: 100%;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 100;
	pointer-events: none;
	opacity: .2
}
.grid-overlay .grid {
	height: 100vh
}
.grid-overlay .grid div {
	height: 100vh;
	background-color: #c8c8c8
}
.wrapper {
	display: flex;
	justify-content: center;
	width: 100%;
	padding-left: 10vw;
	padding-right: 10vw
}
@media screen and (min-width: 23.5em) {
.wrapper {
	padding-left: 7.5vw;
	padding-right: 7.5vw
}
}
@media screen and (min-width: 48em) {
.wrapper {
	padding-left: 5vw;
	padding-right: 5vw
}
}
@media screen and (min-width: 64.0625em) {
.wrapper {
	padding-left: 5vw;
	padding-right: 5vw
}
}
.grid {
	width: 100%;
	max-width: 81rem;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
column-gap:.75rem;
	row-gap: 1.5rem
}
@media screen and (min-width: 23.5em) {
.grid {
	column-gap: 1rem;
	row-gap: 2rem
}
}
@media screen and (min-width: 48em) {
.grid {
	column-gap: 1.5rem;
	row-gap: 3rem
}
}
@media screen and (min-width: 64.0625em) {
.grid {
	column-gap: 2rem;
	row-gap: 4rem
}
}
.grid-center {
	justify-items: center
}
.flex {
	width: 100%;
	max-width: 81rem;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap
}
.flex-centered {
	display: flex;
	flex-direction: column;
	align-items: center
}
.add-v-padding {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem
}
@media screen and (min-width: 23.5em) {
.add-v-padding {
	padding-top: 2rem;
	padding-bottom: 2rem
}
}
@media screen and (min-width: 48em) {
.add-v-padding {
	padding-top: 3rem;
	padding-bottom: 3rem
}
}
@media screen and (min-width: 64.0625em) {
.add-v-padding {
	padding-top: 4rem;
	padding-bottom: 4rem
}
}
.h-align-center {
	justify-items: center
}
.v-align-center {
	align-items: center
}
header {
padding:1rem 0 .5rem
}
@media screen and (min-width: 48em) {
header {
	padding: 2rem 0 1.5rem
}
}
header .grid {
	align-items: start;
	row-gap: 1rem
}
@media screen and (min-width: 48em) {
header .grid {
	grid-template-rows: repeat(2, 1fr);
	align-items: flex-end;
	row-gap: 0
}
}
header .site-logo {
	grid-column: 1/7
}
@media screen and (min-width: 48em) {
header .site-logo {
	grid-column: 1/4;
	grid-row: 1/3;
	align-self: end
}
}
header .site-logo img {
	width: 100px
}
@media screen and (min-width: 23.5em) {
header .site-logo img {
	width: 120px;
	max-width: 100%
}
}
@media screen and (min-width: 48em) {
header .site-logo img {
	width: 100%;
	max-width: 100%
}
}
header .menu-button {
	grid-column: 7/13;
	text-align: right
}
@media screen and (min-width: 48em) {
header .menu-button {
	display: none;
	visibility: hidden
}
}
header .header-buttons {
	grid-column: 1/13;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center
}
@media screen and (min-width: 48em) {
header .header-buttons {
	grid-column: 5/13;
	grid-row: 1/2;
	justify-content: flex-end
}
}
header .header-buttons a.button {
margin:0 .5rem .5rem 0
}
header .header-buttons a.button:last-child {
	margin-right: 0
}
@media screen and (min-width: 48em) {
header .header-buttons a.button {
	margin: 0 16px 0 0
}
header .header-buttons a.button:last-child {
	margin-right: 0
}
}
@media screen and (min-width: 64.0625em) {
header .header-buttons a.button {
	margin: 0 16px 0
}
header .header-buttons a.button:last-child {
	margin-right: 0
}
}
@media screen and (max-width: 47.9375em) {
nav {
	height: 100vh;
	width: 100vw;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	background-color: #83d0f5;
	opacity: 0;
	visibility: hidden;
	transform: scale(2);
	transition: transform .3s ease-out, opacity .3s ease-out, visibility 0s ease-out 1s;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center
}
}
@media screen and (min-width: 48em) {
nav {
	grid-column: 4/13;
	grid-row: 2/3
}
}
nav ul {
	list-style: none;
	margin: 0;
	padding: 2rem;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	text-align: center
}
@media screen and (min-width: 48em) {
nav ul {
	padding: 0;
	width: 100%;
	height: auto;
	flex-direction: row;
	justify-content: flex-end;
	align-items: flex-end
}
}
nav ul li {
	display: block;
	white-space: nowrap
}
@media screen and (min-width: 48em) {
nav ul li {
	margin-left: 1rem;
	align-self: flex-end
}
}
@media screen and (min-width: 64.0625em) {
nav ul li {
	margin-left: 2rem
}
}
nav ul li.nav-active-item>a {
	border-bottom: 2px solid #314e5c
}
nav ul li a {
	display: block;
	text-decoration: none;
	font-weight: 700;
	color: #314e5c;
	white-space: nowrap;
	transition: .3s ease-out;
	border-bottom: 2px solid transparent
}
nav ul li a:hover {
	color: #54869f;
	border-bottom: 2px solid #54869f
}
@media screen and (max-width: 47.9375em) {
nav ul li a {
padding:.5rem;
	font-size: 1.25rem
}
}
@media screen and (min-width: 48em) {
nav ul li a {
	padding: 0;
	font-size: 1rem;
	border-bottom: 2px solid transparent
}
}
@media screen and (min-width: 64.0625em) {
nav ul li a {
	font-size: 1.25rem
}
}
nav ul li a.nav-button {
	box-sizing: border-box;
padding:.5rem .75rem;
	text-align: center;
	color: #314e5c;
	text-decoration: none;
	font-weight: 700;
	border: 2px solid #314e5c;
	border-radius: 50vh;
	background-color: #83d0f5;
	transition: .2s ease-out
}
@media screen and (min-width: 48em) {
nav ul li a.nav-button {
	visibility: hidden;
	display: none
}
}
nav ul li a.nav-button:hover {
	color: #54869f;
	border: 2px solid #54869f
}
nav.open {
	opacity: 100;
	visibility: visible;
	transform: scale(1);
	transition: transform .3s ease-out, opacity .3s ease-out
}
nav .nav-header {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	padding-top: 1rem
}
@media screen and (min-width: 48em) {
nav .nav-header {
	display: none;
	opacity: 0;
	visibility: hidden
}
}
nav .nav-header .menu-logo {
	width: 100px
}
@media screen and (min-width: 23.5em) {
nav .nav-header .menu-logo {
	width: 120px
}
}
.article-footer {
	padding: 10vw;
	background-color: #314e5c;
	color: #fff
}
@media screen and (min-width: 23.5em) {
.article-footer {
	padding: 7.5vw
}
}
@media screen and (min-width: 48em) {
.article-footer {
	padding: 5vw
}
}
@media screen and (min-width: 64.0625em) {
.article-footer {
	padding: 5vw
}
}
footer.add-v-padding {
	padding-top: 10vw;
	padding-bottom: 1.5rem
}
@media screen and (min-width: 23.5em) {
footer.add-v-padding {
	padding-top: 2rem;
	padding-bottom: 2rem
}
}
@media screen and (min-width: 48em) {
footer.add-v-padding {
	padding-top: 3rem;
	padding-bottom: 3rem
}
}
@media screen and (min-width: 64.0625em) {
footer.add-v-padding {
	padding-top: 4rem;
	padding-bottom: 4rem
}
}
footer .footer-area {
	grid-column: span 12
}
@media screen and (min-width: 48em) {
footer .footer-area {
	grid-column: span 4
}
}
footer p+h4 {
	margin-top: 1.5rem
}
footer #footer-column-1 img {
	max-width: 8em
}
@media screen and (min-width: 48em) {
footer #footer-column-1 img {
	max-width: 10em
}
}
@media screen and (min-width: 64.0625em) {
footer #footer-column-1 img {
	max-width: 12em
}
}
@media screen and (min-width: 90.0625em) {
footer #footer-column-1 img {
	max-width: 14em
}
}
footer #site-copyright-notice {
	grid-column: span 12
}
footer #site-copyright-notice a {
	text-decoration: none;
	color: #314e5c;
	transition: .3s ease-out;
	border-bottom: 2px solid transparent
}
footer #site-copyright-notice a:hover {
	color: #54869f;
	border-bottom: 2px solid #54869f
}
.bg-light-blue {
	background-color: #83d0f5
}
.bg-dark-blue {
	background-color: #314e5c
}
hr {
	border: 0;
	height: 1px;
	background: #83d0f5;
	margin: 1.5rem 0
}
@media screen and (min-width: 23.5em) {
hr {
	margin: 2rem 0
}
}
@media screen and (min-width: 48em) {
hr {
	margin: 3rem 0
}
}
@media screen and (min-width: 64.0625em) {
hr {
	margin: 4rem 0
}
}
.about .page-title, .about .section-title {
	text-align: center;
	grid-column: span 12
}
@media screen and (min-width: 48em) {
.about .page-title, .about .section-title {
	grid-column: 2/12
}
}
@media screen and (min-width: 64.0625em) {
.about .page-title, .about .section-title {
	grid-column: 3/11
}
}
.about .page-title, .about article.intro, .about hr {
	grid-column: span 12
}
@media screen and (min-width: 48em) {
.about .page-title, .about article.intro, .about hr {
	grid-column: 2/12
}
}
@media screen and (min-width: 64.0625em) {
.about .page-title, .about article.intro, .about hr {
	grid-column: 3/11
}
}
.profile-grid {
	grid-column: span 12;
	display: grid;
	grid-template-columns: 1fr;
column-gap:.75rem;
	row-gap: 1.5rem;
	align-items: stretch
}
@media screen and (min-width: 23.5em) {
.profile-grid {
	grid-template-columns: repeat(12, 1fr);
	column-gap: 1rem;
	row-gap: 2rem
}
}
@media screen and (min-width: 48em) {
.profile-grid {
	grid-template-columns: repeat(4, 1fr);
	column-gap: 1.5rem;
	row-gap: 3rem
}
}
@media screen and (min-width: 64.0625em) {
.profile-grid {
	grid-template-columns: repeat(6, 1fr);
	column-gap: 2rem;
	row-gap: 4rem
}
}
.profile-grid .profile {
	grid-column: span 1;
	overflow: hidden;
	background-color: #fff;
	z-index: 0
}
@media screen and (min-width: 23.5em) {
.profile-grid .profile {
	grid-column: 2/12
}
}
@media screen and (min-width: 48em) {
.profile-grid .profile {
	grid-column: span 2
}
}
@media screen and (min-width: 64.0625em) {
.profile-grid .profile {
	grid-column: span 2
}
}
@media screen and (min-width: 48em) {
.profile-grid .profile:last-child:nth-child(2n-1) {
	grid-column: 2/4
}
}
@media screen and (min-width: 64.0625em) {
.profile-grid .profile:last-child:nth-child(2n-1) {
	grid-column: span 2
}
}
@media screen and (min-width: 64.0625em) {
.profile-grid .profile:last-child:nth-child(3n-2) {
	grid-column: 3/5
}
}
@media screen and (min-width: 64.0625em) {
.profile-grid .profile:nth-last-child(2):nth-child(3n-2) {
	grid-column: 2/4
}
}
@media screen and (min-width: 64.0625em) {
.profile-grid .profile:last-child:nth-child(3n-1) {
	grid-column: 4/6
}
}
@media screen and (min-width: 64.0625em) {
.profile-grid .profile#glenn {
	grid-column: 2/4
}
}
@media screen and (min-width: 64.0625em) {
.profile-grid .profile#jonny {
	grid-column: 4/6
}
}
@media screen and (min-width: 64.0625em) {
.profile-grid .profile#simon {
	grid-column: span 2;
}
}
@media screen and (min-width: 64.0625em) {
.profile-grid .profile#sarah {
	grid-column: span 2;
}
}
@media screen and (min-width: 64.0625em) {
.profile-grid .profile#max {
	grid-column: span 2;
}
}
.profile-grid .profile .profile-img-section {
	width: 100%;
	position: relative;
	padding-bottom: 100%;
	overflow: hidden;
	z-index: 1
}
.profile-grid .profile .profile-img-section .profile-img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 0
}
.profile-grid .profile .profile-img-section .profile-img picture {
	width: 100%;
	height: 100%
}
.profile-grid .profile .profile-img-section .profile-img picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0%
}
.profile-grid .profile .profile-img-section .profile-header {
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 2;
	padding: 1rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: rgba(255,255,255,.9)
}
.profile-grid .profile .profile-img-section .profile-header .profile-title h4 {
	color: #222
}
.profile-grid .profile .profile-img-section .profile-header .profile-title p {
	font-weight: 500
}
.profile-grid .profile .profile-img-section .profile-header button {
	border: none;
	outline: none;
	background: none;
	cursor: pointer;
	font-size: 1.5rem
}
.profile-grid .profile .profile-desc {
	background-color: rgba(255,255,255,.9);
	transform: translateY(0);
	transition: transform .3s ease;
	z-index: -1;
	overflow: hidden
}
.profile-grid .profile .profile-desc.hideText {
	transform: translateY(-100%);
	height: 0
}
