* {
	padding: 0;
	margin: 0;
}

html {
	scroll-behavior: smooth;
}

@keyframes fadein {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes rise {
	from {
		transform: translate(0,0vh);
	}

	to {
		transform: translate(0,5vh);
	}
}

@keyframes flex {
	from {
		padding-left: 0;
	}

	to {
		padding-left: calc(100% - 1em);
	}
}

@keyframes helloo {
	from {
		margin-top: 100vh;
		opacity: 0;
	}

	50% {
		opacity: 0;
	}

	to {
		margin-top: 0em;
		opacity: 1;
	}
}

@keyframes counting {
	0% {
		content: "1";
	}

	10% {
		content: "2";
	}

	20% {
		content: "3";
	}

	30% {
		content: "4";
	}

	40% {
		content: "5";
	}

	50% {
		content: "6";
	}

	60% {
		content: "7";
	}

	70% {
		content: "8";
	}

	80% {
		content: "9";
	}

	90% {
		content: "0";
	}

	100% {
		content: "1";
	}
}

body {
	line-height: 1.37;
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
	padding: 2em 1em 0;
	color: #444;
	transition: background-color 1s ease;
}

body>main>a.intro {
	cursor: s-resize;
	text-align: center;
	display: flex;
	font-size: 1.8em;
	font-weight: 200;
	flex-direction: column;
	white-space: pre-line;
	align-items: center;
	justify-content: center;
	grid-column: 1 / -1;
	min-height: calc(100vh - 4rem);
	margin: 0;
	padding: 0;
	position: relative;
	top: -3rem;
	transition: transform 37s ease;
	animation: fadein 7s ease 0.1s both;
}

body>main>a.intro:hover {
	transform: scale(0.7);
}

body>main>a.intro>.views {
	font-size: 1rem;
	font-weight: 400;
	padding: 2rem;
}

.whr-items h3.whr-title:hover,
body>main>a.intro, svg>#d, body>label:hover, form>input[type=search]:hover, body>a:hover,aside a:hover,body>nav>a:hover, main>a:hover {
	color: #c91618;
}

body>footer, body>footer+small {
	color: white;
	background: #c91618;
}

figure.bg {
	left: 20vw;
	top: 80vh;
	animation: rise 10s linear 0s both infinite alternate-reverse;
	position: fixed;
	border-radius: 50%;
	overflow: hidden;
	height: 20em;
	width: 20em;
	transition: all 1s ease;
	z-index: -1;
	display: none;
}

figure.bg:hover {
	height: 50em;
	width: 50em;
}

figure.bg>img {
	height: 100%;
	width: auto;
	mix-blend-mode: multiply;
}

main>aside>div {
	position: -webkit-sticky;
	position: sticky;
	top: 5em;
	padding-bottom: 2em;
}

main>article>div {
	padding-top: 2em;
}

article blockquote:before {
	content: open-quote
}

article blockquote:after {
	content: close-quote
}

article blockquote {
	quotes: '«' '»' "«" "»";
	padding: 1em 0 1rem;
	font-size: 2em;
	font-style: italic;
	font-weight: 100;
}

article blockquote + p {
	font-weight: 800;
	padding-bottom: 2em;
}

body>main~a, body>main .slide, body>main {
	display: contents;
}

main>article {
	margin: 0 0 5em 0;
	/* background:  white; */
}

article>div>figure {
	max-width: 50ch;
	filter: grayscale(1);
	transition: filter 0.5s ease;
	margin: 0 0 1em 0;
	animation: fadein 0.3s ease 0.5s both;
}

article figure > figcaption{
        font-size: 0.4em;
        max-width: 100ch;
}

article>div>figure:hover {
	filter: grayscale(0);
}

article figure>img {
	max-width: 100%;
	max-height: 100%;
}

article div>ul {
	padding: 0 0 1em 1em;
}

article div.content>h4 {
	font-weight: 600;
	max-width: 60ch;
	padding: 1em 0;
}

article div>ul>li {
	max-width: 70ch;
	list-style-type: square;
}

a[href^="tel:"] {
	letter-spacing: 1px;
}

a {
	color: inherit;
	text-decoration: none;
}

a h3 {
	margin-bottom: 1em;
	padding-bottom: 0.3rem;
}

h1+p, h3+p {
	margin-top: 0.5em;
}

.imgel {
	animation: rise 10s linear 0s both infinite alternate-reverse;
	position: fixed;
	height: 50%;
	top: 10em;
	right: -10em;
	z-index: -1;
	width: 0em;
	height: 0em;
	background-position: center;
	background-size: cover;
	transition: opacity 0.5s ease 0.5s,width 0.5s ease, height 0.5s ease,transform 5.5s ease-in-out 0.5s,background-image 0.5s ease;
	border-radius: 50%;
}

article ul>li, article p, article h4 {
	max-width: 70ch;
	white-space: pre-line;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	padding-bottom: 1em;
}

body>form>input, main>a.slide>header, body>main>a.slide {
	border: none;
}

main>a:after {
	margin-top: 0.3em;
	font-weight: 400;
	display: block;
	font-size: 1rem;
	border-top: 1px solid;
	padding-top: 0.5em;
	content: "\00a0\00a0";
}
main>a[data-meta]:after {
	content: "#"attr(data-meta);
	animation: gugus 2s ease 0s infinite;
}

div.spacer {
	grid-column: 1 / -1;
	min-height: 3em;
}

main>a {
	align-self: end;
	max-width: 24em;
	transition: background-color 0.3s ease;
	animation-name: fadein;
	animation-duration: 0.5s;
	animation-timing-function: ease-in;
	animation-fill-mode: both;
}

body>nav:first-of-type, div.team h2+input+label, main>:nth-child(1):not(header), main>header +a, main>aside+a {
	grid-column: 1;
}

body>label {
	display: flex;
	flex-grow: 1;
	flex-direction: column;
	z-index: 9999;
	align-items: flex-end;
	justify-self: flex-end;
	align-self: flex-end;
	padding: 3.5em 2em 2em;
	margin-top: auto;
	margin-left: auto;
	margin-right: -2em;
	cursor: pointer;
	position: fixed;
	right: 1em;
	top: 0;
	animation: fadein 0.3s ease 1s both;
}

body>label:after, body>label:before {
	content: "";
	width: 2em;
	display: inline-block;
	transition: transform 0.3s ease;
}

body>input[type=checkbox] ~ label:before {
	transform: translate(0,-0.8em);
}

body>input[type=checkbox] ~ label:after {
	transform: translate(0,1em);
}

body>input[type=checkbox]:checked ~ label:before {
	transform: translate(0,0) rotate(45deg);
}

body>input[type=checkbox]:checked ~ label:after {
	transform: translate(0,0) rotate(-45deg);
}

::-webkit-input-placeholder {
	color: #888;
}

::-moz-placeholder {
	color: #888;
}

:-ms-input-placeholder {
	color: #888 ;
}

:-moz-placeholder {
	color: #888;
}

body>form>input, a.breadcrumb {
	align-self: flex-end;
}

body>form, a.breadcrumb, aside {
	animation: fadein 0.7s ease 1s both;
}

body>form {
	overflow: hidden;
	display: none;
	max-width: 16em;
}

body>form>input[type=search]:focus-within+input[type=submit] {
	opacity: 1;
}

input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 30px white inset !important;
}

body>form>input[type=search] {
	align-self: flex-end;
	display: flex;
	background: none;
	flex-grow: 1;
	border-radius: 0;
	-webkit-appearance: none;
	font-family: inherit;
}

body>form>input[type=search]:focus {
	outline: 0;
	background-color: none;
}

body>form>input[type=submit] {
	align-self: flex-end;
	padding: 1em;
	opacity: 0;
}

body>input {
	opacity: 0;
}

body>a>svg {
	max-width: 7em;
	position: relative;
	left: -0.3em;
}

body>a>svg>path {
	fill: currentColor;
}

body>input[type=checkbox] ~ nav {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease;
}

body>input[type=checkbox]:checked ~ nav {
	max-height: 50em;
}

input[type=checkbox]:checked ~ nav>a:not(:first-child) {
	animation-name: fadein;
	animation-duration: 0.5s;
	animation-timing-function: ease-in;
	animation-fill-mode: both;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

body>nav>a:nth-child(1) {
	animation-delay: 0.1s;
}

body>nav>a:nth-child(2) {
	animation-delay: 0.2s;
}

body>nav>a:nth-child(3) {
	animation-delay: 0.3s;
}

body>nav>a:nth-child(4) {
	animation-delay: 0.3s;
}

body>nav>a:nth-child(5) {
	animation-delay: 0.4s;
}

body>nav>a:nth-child(6) {
	animation-delay: 0.5s;
}

body>nav>a:nth-child(7) {
	animation-delay: 0.6s;
}

body>nav>a:nth-child(8) {
	animation-delay: 0.7s;
}

body>nav>a:nth-child(9) {
	animation-delay: 0.8s;
}

label, main>article>nav, body>nav, body>a {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

div.teamdiv ~ header {
	grid-column: 1 / -2;
	padding-top: 7em;
}

div.team {
	display: flex;
	flex-wrap: wrap;
	grid-auto-flow: dense;
	display: grid;
	grid-gap: 3em 1em;
	grid-template-columns: repeat(auto-fit,minmax(8em,1fr));
}

div.team p {
	padding: 0.5rem 0 3em;
	max-width: 80ch;
}

div.team h2 {
	flex-grow: 1;
	flex-basis: 100%;
	grid-column: 1 / -1;
}

div.team>a:hover {
	transform: scale(1);
}

div.team a>img {
	max-width: 100%;
	border-radius: 50%;
	filter: grayscale(1);
}

div.team>a {
	overflow: hidden;
	max-width: 16em;
	animation-name: fadein;
	animation-duration: 0.5s;
	animation-timing-function: ease-in;
	animation-fill-mode: both;
	transform: scale(0.95);
	transition: transform 0.3s ease;
	text-align: center;
	padding-top: 1em;
}

@supports (display: grid) {
	div.team>a {
		max-width: unset;
	}
}

div.team>a>span {
	display: inline-block;
	padding: 0.5em 0;
}

div.details a {
	display: block;
	padding: 0.5em 0;
}

div.team>a:target {
	grid-column-end: span 2;
	margin-bottom: 0;
}

div.team>a:target>img {
	filter: grayscale(0);
}

div.team>a:target + div.details {
	display: block;
	animation: fadein 0.7s ease 0.1s both;
	grid-column: 1 / -1;
}

div.team a:target>span {
	display: none;
}

figure>video {
	cursor: s-resize;
	background-color: white;
	border: 1px transparent solid;
	outline: 0;
	width: 100%;
	height: auto;
	padding: 0;
	padding-bottom: 4em;
	position: relative;
	top: 2em;
}

main>article>header>h1 ~ * {
	display: inline-block;
	padding: 0.5em 3em 0.5em 0;
}

main>article>nav {
	padding: 2em 0 0.5em;
}

article form>input[type=submit]+label, article>nav>a:hover,.taglist a:hover,.taglist a.active {
	color: white;
	border: 1px solid #222;
	background-color: #c91618;
}

nav.taglist {
	grid-column: 1 / -2;
	padding-top: 5.5em;
	animation: fadein 0.3s ease 0.5s both;
}

article form>input[type=submit]+label, .taglist>a,main>article>nav>a {
	font-weight: 400;
	display: inline-block;
	border: 1px solid;
	padding: 0.5em 0.8em;
	border-radius: 2em;
	margin: 0.3em;
	transition: background-color 0.3s ease 0.1s, color 0.3s ease 0.1s;
}

main>article>nav>a:before {
	content: "#";
}

#logo {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

h4, footer>*, body>nav>a, aside>div>a {
	font-size: 1em;
	font-weight: normal;
	display: block;
	white-space: pre-wrap;
	padding: 0.5rem 0;
}

body>input[type=checkbox] ~ label:before, main h1,main h2,main h3, body>aside>div>a, .breadcrumb, aside p, body>nav>*:first-child, main h1, main>header>h1, h3 {
	border-bottom: 1px solid;
}

article,article div a, div.team a>span, main>aside>div>a, main>article header, main h2, .breadcrumb, body>form>input[type=search], footer>*, div.details a, body>label:after, ul>li>h4, body>form>input[type=search]:focus, body>nav>a {
	border-bottom: 1px dotted;
}
main>aside #social, main>aside {
	display: none;
}

a.breadcrumb, body.weMakeSense>form, div.team div.details, body>main>a.intro:before, body>main>a.intro:after, body>main>a.slide:after, body>main>a.slide + a.edit:after, footer form input[type=submit] {
	display: none;
}

body>a>div, body>footer a {
	white-space: pre-wrap;
}

body>footer :first-child {
	font-size: 1em;
	font-weight: normal;
	padding-top: 2em;
}

body>footer+small {
	display: block;
	font-size: 1em;
	margin: 0 -1em;
	padding: 5em 1em 1em;
}

footer {
	margin: 0 -1em;
	padding: 0 1em;
}

main>a,input[type=search], .breadcrumb, h1,h2,h3,aside>div p,body>nav>*:first-child {
	font-size: 1.7em;
	font-weight: 200;
}

.details>h3>a {
	border: none;
	display: inline-block;
	padding: 0;
}

main h1, main h2, main h3, article, body>aside>div>a, main>a, body>nav>*:first-child {
	margin-top: 1em;
	display: block;
}

body>a>div {
	grid-column: 1 / -1;
	padding: 7em 0;
}

#dot {
	z-index: 999;
	width: calc(var(--d) * 1em);
	height: calc(var(--d) * 1em);
	transform-origin: -0.5em -0.5em;
	transform: translate(calc(var(--x) * 1px),calc(var(--y) * 1px));
	border-radius: 50%;
	position: fixed;
	transition: background-color 0.5s ease, opacity 0.5s ease;
	background-color: #c91618;
	background-size: 100%;
	cursor: pointer;
	opacity: var(--f);
}

#numbers label {
	font-size: 2.5em;
	font-weight: 100;
}

#numbers label span:before {
	animation: counting 0.7s linear 0s infinite alternate-reverse;
	content: "1";
}

#numbers label span:nth-child(2n+1):before {
	content: "0";
}

#numbers {
	padding: 10em 0 ;
	grid-column: 1 / -1;
	position: relative;
}

#numbers ul {
	transition: padding 0.3s ease;
}

#numbers li {
	padding: 0;
	list-style: none;
	line-height: 0.9;
	position: relative;
	transition: all 0.5s ease;
}

#numbers li:after {
	line-height: 1.3;
	content: attr(data-title);
	max-width: 80ch;
	position: absolute;
	left: 30vw;
	top: 2em;
	display: block;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease 0.2s;
}

#numbers li:hover:after {
	max-height: 16em;
	border-top: 1px solid;
}

#numbers li:before {
	pointer-events: none;
	display: inline-block;
	content: attr(data-number);
	font-weight: 100;
	font-size: 2em;
	transform-origin: -4rem 100%;
	transition: transform 1s ease, max-height 0.5s ease;
}

#numbers li:hover:before {
	transform: scale(2) translate(1.8rem,0);
	transition: transform 0.3s ease;
}

#numbers input[type=checkbox] {
	display: none;
}

#numbers input[type=checkbox]+label {
	cursor: pointer;
}

#numbers input[type=checkbox] ~ul>li:before {
	max-height: 0;
	overflow: hidden;
}

#numbers input[type=checkbox]:checked ~ul>li:before {
	max-height: 1em;
}

#numbers input[type=checkbox] ~ul {
	max-height: 0;
	overflow: hidden;
	transition: max-height 1s ease;
}

#numbers input[type=checkbox]:checked ~ul>li {
	animation: fadein 0.5s ease 1s both;
}

#numbers input[type=checkbox]:checked ~ul {
	max-height: 200em;
	padding: 10em 0;
}

#numbers input[type=checkbox]:checked ~label {
	opacity: 0;
}

#numbers input[type=checkbox]:checked ~label>span:before {
	animation-play-state: paused;
}


#twittertimeline{
	padding-top: 3em;
}

#twittertimeline .embed{
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	border-bottom: 1px solid;
	max-height: 100vh;
	overflow: hidden;
}

main>a.extern{
	grid-row: 4;
	grid-column: -2/-1;
}

@media(min-width: 60em) {
	#numbers label {
		display: none;
	}

	#twittertimeline{
		grid-column: -2/-1;
		grid-row: 5 / 20;
	}
	

	figure.bg {
		display: unset;
		top: 60vh;
		left: -3vw;
	}

	body>main>a.intro {
		padding: 0 1rem;
		font-size: 7vw;
		font-weight: 100;
	}

	div.teamdiv {
		display: block;
		grid-column: 1 / -2;
	}

	input[type=search], .breadcrumb, main>a, h1,h2,h3,aside>div p,body>nav>*:first-child {
		font-size: 2.5em;
		font-weight: 100;
		line-height: 1.1;
	}

	.taglist, main h1, main h2, main h3, body>form input, body>.breadcrumb, body>aside>div>a, aside p, main>a, body>nav>*:first-child {
		margin-top: 1.5em;
		padding: 0.3rem 0;
	}

	body>form {
		display: flex;
	}

	div.slide p, div.details>p, div.content>* {
		font-size: 1.5em;
		font-weight: 200;
	}

	main,main>div.slide>header {
		min-height: 100vh;
		display: flex;
		flex-direction: column;
	}

	body>label,#search {
		grid-column: -2 / -1;
		grid-row: 1;
	}

	body>footer+small {
		margin: 0 -2em;
		padding: 4em 2em 2em;
		grid-column: 1 / -1;
	}

	footer {
		margin: 0 -2em;
		padding: 0 2em;
	}

	body {
		display: grid;
		grid-template-columns: repeat(auto-fill,minmax(24em,1fr));
		grid-gap: 0 2em;
		padding: 0 2em;
	}

	main>aside {
		animation: helloo 0.5s ease 2s both;
		display: unset;
	}
}

@media(min-width: 70em) {
	body.weMakeSense {
		scroll-snap-type: y mandatory;
	}

	div.slide figure {
		align-items: center;
		height: 100vh;
		display: flex;
		max-width: 70em;
	}

	body>label {
		position: -webkit-sticky;
		position: sticky;
		padding: 5em 2em 1em;
		right: 0;
	}

	div.team {
		min-height: 10em;
		grid-gap: 0 3em;
		grid-template-columns: repeat(auto-fit,minmax(10em,1fr));
	}

	body>label {
		position: -webkit-sticky;
		position: sticky;
		top: -2em;
	}

	a.breadcrumb, body>form>input {
		display: unset;
	}

	main>a + aside {
		grid-row: 4 / 99;
		grid-column-end: -1;
	}

	main>header {
		grid-column: 1 / -2;
	}

	.slide > figure, aside + article, body > a > div {
		grid-column: 2 / -1;
	}

	#numbers li {
		font-size: 2em;
		font-weight: 200;
	}

	#numbers li:hover:before {
		transform: scale(4);
	}
}

#scroll {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(24em,1fr));
	display: none;
}

nav, #cta, a.intro, .slide header {
	scroll-snap-align: start;
}

#guestlist .contactdetails {
	display: block;
	max-height: 0em;
	overflow: hidden;
	transition: max-height 0.5s ease;
}

#guestlist li:hover .contactdetails {
	max-height: 16em;
}

#guestlist li:hover form.delete {
	display: unset;
}

#guestlist form.delete:hover {
	color: #c91618;
}

#guestlist small {
	display: block;
	font-size: 0.7em;
	padding-bottom: 1em;
}

#guestlist form.delete {
	float: right;
	cursor: pointer;
	display: none;
	font-weight: 100;
}

#guestlist form.delete input[type=submit] {
	display: none;
}

#guestlist {
	padding-top: 5em;
	margin-left: 1em;
}

#guestlist li {
	margin-bottom: 2em;
	border-bottom: 1px dotted;
	cursor: pointer;
}

#guestlist li h5 {
	font-size: 1.5em;
}

#signup {
	display: flex;
	flex-wrap: wrap;
	transition: max-height 0.5s ease;
}

#signup.complete {
	max-height: 0;
	overflow: hidden;
}

#signup h3 {
	flex-grow: 1;
	border-top: 1px solid;
	border-bottom: none;
}

#signup label:not(:last-child) {
	flex-grow: 1;
	flex-basis: 100%;
	padding-left: 1em;
	padding-top: 1.5em;
	color: #999;
	padding-bottom: 0.3em;
}

form#signup textarea, form#signup input[type=email], form#signup input[type=text] {
	flex-basis: 100%;
	border: none;
	border-radius: 2px;
	border: 1px solid #EEE;
	border-bottom: 1px dotted;
	padding: 1em;
	flex-grow: 1;
	background: #f2f2f2;
	font-family: inherit;
	font-size: inherit;
}

form#signup input[type=submit] {
	display: none;
}

form#signup input[type=submit]+label {
	flex-grow: 0;
	flex-basis: auto;
	padding: 0.7em 2em;
	margin: 1em 0 4em;
}

form#signup .message {
	padding-top: 4em;
	font-size: 2em;
	font-weight: 200;
	border: none;
}

form#signup .message.notice:before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 0.5em;
	border-radius: 50%;
	background-color: lightgreen;
}

#thankyou {
	max-height: 0em;
	overflow: hidden;
	transition: max-height 0.3s ease;
	grid-column: 1 / -1;
}

#thankyou.show {
	max-height: 30em;
}

#thankyou p {
	padding-top: 2em;
	font-size: 7vw;
	font-weight: 100;
	line-height: 1.2;
}

@keyframes gugus {
	0%,100% {
		opacity: 1;
	}

	5%,95% {
		opacity: 1;
	}
}

#social>a{
	padding: 0;
	width: 2em;
	height: 1.5em;
	display: inline-block;
	background-size: auto 1.5em;
	background-repeat: no-repeat;
	background-position: center;
	margin-right: 0.5em;
}
#twitter{
	background-image: url('twitter.svg');
}
#linkedin{
	background-image: url('linkedin.svg');
}

.whr-items h3.whr-title:after{
	content: '#Apply now';
	font-weight: 400;
	padding-top: 0.3rem;
	font-size: 1rem;
	display: block;
}
.whr-items h3.whr-title{
	border-bottom: none;
	margin-top: 0;
	margin-bottom: 0.5rem;
}

.whr-items li,
.whr-items{
	padding-left: 0;
	list-style: none!important;
}

.whr-items .whr-info{
	display: none;
}
