:root {
	--primary: #00D1B9;
	--darkprimary: #007b6d;
	--secondary: #DD1CCE;
	--gray: #F4F4F4;
}

* {
	box-sizing: border-box;
}

html {
	font-size: 100%;
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	
	scroll-behavior: smooth;
}

body {
	position: relative;
	font-family: 'Gellix', 'Helvetica', sans-serif;
	width: 100%;
	color: #282828;
	font-size: 12px;
	line-height: 1.5em;
	
	overflow-x: hidden;

	padding: 0;
	margin: 0;
}

a {
	color: var(--primary);
	text-decoration: none;
	border-bottom: 1px solid;

	transition: all 0.225s ease;
	-webkit-transition: all 0.225s ease;
}

a.nodec {
	border-bottom: 0;
}

a:visited {
	color: var(--primary);
}

a:hover {
	color: var(--darkprimary);
}

a:active {
	color: black;
}

a:focus {
	outline: 0;
}

a:hover,
a:active {
	outline: 0;
}

.button {
	position: relative;
	display: inline-block;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.2em;

	color: var(--primary);
	border: 2px solid var(--primary);
	border-radius: 30px;

	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 12px 15px 13px;
	min-width: 150px;

	text-align: center;

	transition: all 0.225s ease;
	-webkit-transition: all 0.225s ease;
}

.button:disabled,
.button[disabled] {
	opacity: 0.5;
	border: 2px solid grey;
	color: grey;
}

.button:hover {
	background: var(--primary);
	color: white;
}

.button.alt {
	color: white;
	border: 2px solid var(--primary);
	background: var(--primary);
}

.button.alt:hover {
	color: var(--primary);
	background: white;
}

.button.white {
	color: white;
	border: 2px solid white;
}

.button.white:hover {
	color: var(--primary);
	border: 2px solid white;
	background: white;
}

.button.secondary {
	color: var(--secondary);
	border: 2px solid var(--secondary);
}

.button.secondary:hover {
	color: white;
	background: var(--secondary);
}

.button.large {
	padding: 15px 25px 17px;
	line-height: 1.6em;
}

.pad-button-top{
	margin-top: 20px;
}

.license-view.button {
	border-color: black;
	color: black;
	margin-right: 10px;
}

.license-view.button:hover {
	background: black;
	color: white;
}

.license-view.button img {
	margin-right: 5px;
}

::-moz-selection {
	background: rgba(0, 209, 185, 0.3);
	color: #000;
}

::selection {
	background: rgba(0, 209, 185, 0.3);
	color: #000;
}

a::-moz-selection {
	background: rgba(0, 209, 185, 0.3);
	color: #0645ad;
}

a::selection {
	background: rgba(0, 209, 185, 0.3);
	color: #0645ad;
}

p {
	margin: 1em 0;
}

img {
	max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: bold;
	color: #111;
	line-height: 1.2em;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
	margin-top: 0;
}

h4,
h5,
h6 {
	font-weight: bold;
}

h1 {
	font-size: 2.5em;
}

h2 {
	font-size: 2em;
}

h3 {
	font-size: 1.5em;
}

h4 {
	font-size: 1.2em;
}

h5 {
	font-size: 1em;
}

h6 {
	font-size: 0.9em;
}

.white {
	color: white;
}

h1.large,
h2.large {
	font-weight: 900;
	font-size: 4.5em;
	line-height: 1.1em;

	margin: 25px 0 0;
}

p.large {
	font-size: 1.2em;
	font-weight: 500;
	line-height: 1.5em;
	max-width: 550px;
	color: black;
}

p.large.green {
	color: var(--primary);
}

p.large.bold {
	font-weight: bold;
	font-size: 18px;
	max-width: 530px;
}

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

	h1.large,
	h2.large {
		font-size: 4em;
	}
}

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

	h1.large,
	h2.large {
		font-size: 3em;
	}

	h1.large br,
	h2.large br {
		display: none;
	}
}

blockquote {
	color: #666666;
	margin: 0;
	padding-left: 3em;
	border-left: 0.5em #eee solid;
}

hr {
	display: block;
	border: 0;
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #eee;
	margin: 5em 0;
	padding: 0;
}

pre,
code,
kbd,
samp {
	color: #000;
	font-family: monospace, monospace;
	_font-family: 'courier new', monospace;
	font-size: 0.98em;
}

pre {
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

ins {
	background: #ff9;
	color: #000;
	text-decoration: none;
}

mark {
	background: #ff0;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

ul,
ol {
	margin: 1em 0;
	padding: 0 0 0 2em;
}

li p:last-child {
	margin: 0;
}

dd {
	margin: 0 0 0 2em;
}

img {
	border: 0;
	-ms-interpolation-mode: bicubic;
	vertical-align: middle;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td {
	vertical-align: top;
}

@media only screen and (min-width: 480px) {
	body {
		font-size: 14px;
	}
}

@media only screen and (min-width: 768px) {
	body {
		font-size: 16px;
	}
}

@media print {
	* {
		background: transparent !important;
		color: black !important;
		filter: none !important;
		-ms-filter: none !important;
	}

	body {
		font-size: 12pt;
		max-width: 100%;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	hr {
		height: 1px;
		border: 0;
		border-bottom: 1px solid black;
	}

	a[href]:after {
		content: " ("attr(href) ")";
	}

	abbr[title]:after {
		content: " ("attr(title) ")";
	}

	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}

	pre,
	blockquote {
		border: 1px solid #999;
		padding-right: 1em;
		page-break-inside: avoid;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	@page :left {
		margin: 15mm 20mm 15mm 10mm;
	}

	@page :right {
		margin: 15mm 10mm 15mm 20mm;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}

/* General */

.fade-left {
	opacity: 0;
	transform: translateX(10px);
	-webkit-transform: translateX(10px);
	-moz-transform: translateX(10px);
	-ms-transform: translateX(10px);
	-o-transform: translateX(10px);
	
	-webkit-transition: transform 0.75s ease-in-out, opacity 0.75s ease-in-out;
	-moz-transition: transform 0.75s ease-in-out, opacity 0.75s ease-in-out;
	-ms-transition: transform 0.75s ease-in-out, opacity 0.75s ease-in-out;
	-o-transition: transform 0.75s ease-in-out, opacity 0.75s ease-in-out;
	transition: transform 0.75s ease-in-out, opacity 0.75s ease-in-out;
}

.fade-up {
	opacity: 0;
	transform: translateY(10px);
	-webkit-transform: translateY(10px);
	-moz-transform: translateY(10px);
	-ms-transform: translateY(10px);
	-o-transform: translateY(10px);
	
	-webkit-transition: transform 0.75s ease-in-out, opacity 0.75s ease-in-out;
	-moz-transition: transform 0.75s ease-in-out, opacity 0.75s ease-in-out;
	-ms-transition: transform 0.75s ease-in-out, opacity 0.75s ease-in-out;
	-o-transition: transform 0.75s ease-in-out, opacity 0.75s ease-in-out;
	transition: transform 0.75s ease-in-out, opacity 0.75s ease-in-out;
}

.fade-left.visible,
.fade-up.visible {
	opacity: 1;
	-webkit-transform: none;
	-moz-transform: none;
	-ms-transform: none;
	-o-transform: none;
	transform: none;
}

.padding {
	padding: 150px 0;
}

.contain {
	width: 85%;
	max-width: 1400px;
	margin: 0 auto;
	z-index: 2;
}

.hide {
	display: none;
}

.grid {
	display: grid;
	grid-gap: 75px;
}

.grid.grid-nogap {
	grid-gap: 0;
}

.grid.grid-2 {
	grid-template-columns: 1fr 1fr;
}

.grid.grid-2-1 {
	grid-template-columns: 2fr 1fr;
}

.grid.grid-1-2 {
	grid-template-columns: 1fr 2fr;
}

.grid.grid-3 {
	grid-template-columns: 1fr 1fr 1fr;
}

.grid.grid-4 {
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

@media screen and (max-width: 1250px) {
	.grid.grid-4 {
		grid-template-columns: 1fr 1fr 1fr;
	}
	
	.grid.grid-2-1 {
		grid-template-columns: 3fr 2fr;
	}

	.grid.grid-3 {
		grid-template-columns: 1fr 1fr;
	}

	.padding {
		padding: 125px 0;
	}
}

@media screen and (max-width: 1050px) {
	.grid.grid-2-1 {
		grid-template-columns: 1fr 1fr;
	}

	.grid.grid-1-2 {
		grid-template-columns: 1fr 1fr;
	}

	.grid.grid-4 {
		grid-template-columns: 1fr 1fr;
	}

	.padding {
		padding: 100px 0;
	}
}

@media screen and (max-width: 800px) {
	.grid {
		grid-gap: 35px;
	}

	.grid.grid-2-1,
	.grid.grid-1-2,
	.grid.grid-2,
	.grid.grid-3,
	.grid.grid-4 {
		grid-template-columns: 1fr;
	}

	.padding {
		padding: 75px 0;
	}
	
	.build-instructions .grid {
		grid-gap: 0px;
	}
	
	.build-instructions .build-process .grid {
		grid-gap: 35px;
	}
	
	.build-licence .grid {
		grid-gap: 0;
	}
}

.full-height {
	position: relative;
}

.full-height-inner {
	position: relative;
	min-height: 100vh;
}

div.site {
	background: white;
}

section {
	position: relative;
}

section#overview {
	z-index: 1;
}

.section-intro p {
	max-width: 700px;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.6em;
}

.section-intro h2 {
	margin: 0 0 25px;
}

.section-intro a {
	margin: 15px 0 0;
}

@media screen and (max-width: 800px) {
	.section-intro {
		display: block;
	}
}

.section-background-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;

	overflow: hidden;
}

.section-background-image div {
	width: 100%;
	height: 110vh;
	
	position: relative;
	top: 0;
	left: 0;
	
	background-repeat: no-repeat;
	background-size: cover;
	
	background-image: url(../../images/hero-image.jpg);
}

.section-background-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.popup {
	width: 60vw;
	max-height: 90vh;
	max-width: 1440px;
}

.video-popup {
	cursor: pointer;
}

.video {
	position: relative;
	padding-bottom: 56.25%;
	/* 16:9 */
	height: 0;
}

.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Header */

header.site-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;

	padding: 35px 0;
	z-index: 99;
}

header.site-header .site-header-inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

header.site-header .site-logo {
	max-width: 250px;
	margin-bottom: 20px;
	
	z-index: 3;
	
	cursor: pointer;
}

header.site-header nav a {
	font-size: 11px;
	font-weight: bold;
	min-width: 100px;

	margin: 0 0 10px 10px;
}

.toggle-menu {
	display: none;
	width: 28px;
	height: 28px;
	
	text-decoration: none;
	border: 0;
	
	cursor: pointer;
	
	z-index: 3;
}

.toggle-menu span:after,
.toggle-menu span:before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
}

.toggle-menu span:after {
	top: 18px;
}

.toggle-menu span {
	position: relative;
	display: block;
}

.toggle-menu span,
.toggle-menu span:after,
.toggle-menu span:before {
	width: 100%;
	height: 2px;
	background-color: #fff;
	transition: all 0.3s;
	backface-visibility: hidden;
	border-radius: 2px;
}

.toggle-menu.on span {
	background-color: transparent;
}

.toggle-menu.on span:before {
	transform: rotate(45deg) translate(-1px, 0px);
}

.toggle-menu.on span:after {
	transform: rotate(-45deg) translate(6px, -7px);
}

@media screen and (max-width: 980px) {
	.toggle-menu {
		display: block;
	}

	header.site-header nav {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		transform: translateY(-110%);
		-webkit-transform: translateY(-110%);
		
		background: var(--primary);
		padding: 100px 35px 35px;
		
		box-shadow: 0 0 15px rgba(0,0,0,0.2);
	}
	
	header.site-header nav a.button {
		display: block;
		padding: 0;
		margin: 10px 0;
		border: 0;
		color: white;	
		
		font-size: 14px;
		
		opacity: 0;
		
		transition: all 1s ease;
		-webkit-transition: all 1s ease;
	}
	
	
	header.site-header nav a.button:hover {
		border: 0;
		background: transparent;
		color: var(--darkprimary);
	}
	
	header.site-header nav.open {
		transform: translateY(0%);
		-webkit-transform: translateY(0%);
		
				
		transition: all 0.225s ease;
		-webkit-transition: all 0.225s ease;
		
	}
	
	header.site-header nav.open a.button {
		opacity: 1;
	}
	
	header.site-header nav a.button:nth-child(1) { transition-delay: 0.1s;}
	header.site-header nav a.button:nth-child(2) { transition-delay: 0.125s;}
	header.site-header nav a.button:nth-child(3) { transition-delay: 0.15s;}
	header.site-header nav a.button:nth-child(4) { transition-delay: 0.175s;}
	header.site-header nav a.button:nth-child(5) { transition-delay: 0.2s;}
	header.site-header nav a.button:nth-child(6) { transition-delay: 0.225s;}

	header.site-header .site-logo {
		max-width: 150px;
		margin-bottom: 0px;
	}
}

@media screen and (max-width: 450px) {
	header.site-header .site-logo {
		max-width: 100px;
	}
}

/* Hero */

section#intro {
	min-height: 90vh;
	padding-bottom: 100px;

	display: flex;
	align-items: flex-end;
}

section#intro:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 40%;
	background: rgb(0, 0, 0);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.0) 100%);
	z-index: 1;
	
	transition: all 0.225s ease;
	-webkit-transition: all 0.225s ease;
}

section#intro .intro-dotted,
section.punyo-select .intro-dotted,
section.punyo-select .intro-dotted-2 {
	position: absolute;
	bottom: -300px;
	right: -170px;
	width: 657px;
	height: 855px;
	background: url(../../images/halftone.svg);
	background-size: contain;
	background-repeat: no-repeat;
	z-index: -1;
	transform: rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	mix-blend-mode: exclusion;
	z-index: 1;
}

section.punyo-select .intro-dotted,
section.punyo-select .intro-dotted-2 {
	z-index: 0;
}

section.punyo-select .intro-dotted {
	bottom: auto;
	top: -120px;
	right: -310px;
}

section.punyo-select .intro-dotted-2 {
	right: auto;
	left: -250px;
}

.toyota-research-logo {
	max-width: 200px;
}

@media screen and (max-width: 1200px) {
	section#intro .intro-dotted {
		bottom: -250px;
		width: 500px;
		height: 700px;
	}
}

@media screen and (max-width: 1050px) {
	section#intro .intro-dotted {
		bottom: -200px;
		width: 350px;
		height: 500px;
	}
}

@media screen and (max-width: 960px) {
	section#intro {
		min-height: 80vh;
	}
	
	section#intro:after {
		transform: scale(1) rotate(-45deg);
		-webkit-transform: scale(1) rotate(-45deg);
	}
	
	section#intro:before {
		height: 100%;
		background: rgb(0, 0, 0);
		background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3) 100%);
	}
	
	section.punyo-select .intro-dotted {
		bottom: auto;
		top: 5vw;
		right: -45vw;
		width: 350px;
		height: 500px;
	}
	
	section.punyo-select .intro-dotted-2 {
		right: auto;
		bottom: -35vw;
		left: -30vw;
		width: 350px;
		height: 500px;
	}
}

@media screen and (max-width: 600px) {
	section#intro {
		min-height: 70vh;
		padding-bottom: 75px;
	}
	
	section#intro:after {
		transform: scale(0.75) rotate(-45deg);
		-webkit-transform: scale(0.75) rotate(-45deg);
	}
}

/* Punyo Select */

.punyo-select {
	overflow: hidden;
}

.punyo-select-item {
	position: relative;
	height: 100%;
	
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 5rem 0;
	
	color: white;
}

.punyo-select-item .intro-text {
	width: 90%;
	max-width: 500px;
	margin: 0 auto;
	
	z-index: 1;
}

.punyo-select-item .intro-text h2 {
	font-size: clamp(2.25rem, 4vw, 4rem);
	font-weight: 900;
	color: white;
	line-height: 1em;
	margin: 0 0 1.5rem;
}

.punyo-select-item .intro-text a {
	margin: 0.5rem 0 0;
}

.punyo-select-item .section-background-image:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	
	background: rgb(0,0,0);
	background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.65) 100%);
}

.down-arrow {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-100%);
	-webkit-transform: translateX(-50%);
	width: 1.5rem;
	padding: 2rem;
	border: 0;
	box-sizing: content-box;
}

.down-arrow svg {
	position: relative;
	max-width: 100%;
	width: 100%;
	
	animation: bounce 2s ease infinite;
}

.punyo-select-toyota-logo {
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 2.5rem;
}

@keyframes bounce {
	0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
	40% {transform: translateY(-8px);}
	60% {transform: translateY(-4px);}
}

@media (max-width: 960px) {
	.punyo-select-item .intro-text h2 br {
		display: none;
	}
	
	.punyo-select-toyota-logo img {
		max-width: 150px;
	}
}

/* Overview */

.overview-text {
	display: flex;
	align-items: center;

	max-width: 410px;
}

/* Team */

section#team {
	background: var(--gray);
}

section#team .grid.grid-3 {
	grid-gap: 35px;

	margin: 75px 0 0;
}

.team-member {
	display: flex;
	align-items: center;
	padding: 25px;

	background: white;
	border-radius: 150px;
}

.team-member-inner {
	grid-gap: 35px;
	align-items: center;
}

.team-member-image {
	border-radius: 250px;
	overflow: hidden;
}

.team-name {
	margin: 0;
}

.team-title {
	margin: 5px 0;
	line-height: 1.2em;
}

.team-more {
	font-size: 12px;
	font-weight: bold;
	text-transform: uppercase;
}

@media screen and (max-width: 1050px) {
	.team-member-inner.grid {
		grid-template-columns: 1fr 2fr;
	}
}

/* Build */

.text-block {
	margin: 0 0 50px;
}

.text-block h3,
.build-process h3 {
	font-size: 2em;
	line-height: 1.4em;
	font-weight: 900;
	margin-bottom: 15px;
}

.build-process h3 {
	margin-bottom: 50px;
}

.text-block a {
	margin: 15px 0 0;
}

.process-image {
	position: relative;
	height: 0;
	padding-top: 56.25%;
	border-radius: 20px;
	overflow: hidden;

	margin: 0 0 25px;
}

.process-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;

	transition: all 0.225s ease;
	-webkit-transition: all 0.225s ease;
}


.process-image:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);

	background: url('../../images/play-button.svg');
	background-repeat: no-repeat;
	background-size: contain;
	width: 60px;
	height: 60px;

	z-index: 1;
}

.setup-still {
	position: relative;
	height: 0;
	padding-top: 56.25%;
	border-radius: 20px;
	overflow: hidden;

	margin: 0 0 25px;
}

.setup-still img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;

	transition: all 0.225s ease;
	-webkit-transition: all 0.225s ease;
}

.process-info h4 {
	margin: 0;
}

.process-info p {
	margin: 5px 0 0;
	max-width: 600px;
}

@media screen and (max-width: 800px) {
	section#build .grid {
		grid-gap: 0;
	}
}

/* History */

section#history {
	background: black;
}

section#history .grid {
	margin-top: 75px;
}

.history-image {
	border-radius: 15px;
	overflow: hidden;
	
	position: relative;
	height: 0;
	padding-top: 56.25%;
}

.history-image img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.history-info {
	margin: 25px 0 0;
}

.history-info h5 {
	margin-bottom: 5px;
	font-size: 14px;
	line-height: 1.5em;
}

.history-info p {
	margin: 0 0 25px;
	font-size: 14px;
	line-height: 1.5em;
}

.history-info-lg p {
	margin: 0 0 25px;
	font-size: 16px;
	line-height: 1.5em;
}

.history-info a.button {
	min-width: 95px;
	 margin: 0 5px 0 0;
	 padding: 10px 13px 11px;
}

/* visualize */

section#visualize {
	background: black;
}

section#visualize .grid {
	margin-top: 75px;
}

.visualize-image {
	border-radius: 15px;
	overflow: hidden;
	
	position: relative;
	height: 0;
	padding-top: 56.25%;
}

.visualize-image img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.visualize-info {
	margin: 25px 0 0;
}

.visualize-info h5 {
	margin-bottom: 5px;
	font-size: 14px;
	line-height: 1.5em;
}

.visualize-info p {
	margin: 0 0 25px;
	font-size: 14px;
	line-height: 1.5em;
}

.visualize-info-lg p {
	margin: 0 0 25px;
	font-size: 16px;
	line-height: 1.5em;
}

.visualize-info a.button {
	min-width: 95px;
	 margin: 0 5px 0 0;
	 padding: 10px 13px 11px;
}

/* Kit Image */
.kit-image {
	border-radius: 15px;
	overflow: hidden;
	position: relative;
	height: 0;
	padding-top: 56.25%;
}

.kit-image img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

/* Meet */

section#meet {
	background: var(--primary);
}

/* Punyo image */

.punyo-image {
	background: rgb(0, 209, 185);
	background: linear-gradient(180deg, rgba(0, 209, 185, 1) 50%, rgba(0, 0, 0, 1) 50%);
}

.punyo-image:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-100%);
	-webkit-transform: translateY(-100%);
	background: url('../../images/dotted.png');
	width: 100%;
	height: 150px;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 0;
}

.punyo-image-container {
	position: relative;
	z-index: 1;
	padding: 0px 100px;
	border-radius: 650px;
	overflow: hidden;
	background: white;
}

@media screen and (max-width: 800px) {
	.punyo-image-container {
		padding: 0px 50px;
	}

	.punyo-image:after {
		height: 50px;
	}
}

/* Footer */

footer {
	overflow: hidden;
	position: relative;
	background: black;
}

.footer-info {
	text-align: center;
	padding: 0 0 10vw;
}

.footer-info span {
	display: block;
	margin: 25px 0;
	color: #bfbfbf;
	font-size: 11px;
	letter-spacing: 0.08em;
}

.footer-info span br {
	display: none;
}

.footer-logo {
	position: absolute;
	top: 100%;
	left: -2%;
	width: 104%;
	transform: translateY(-35%);
	-webkit-transform: translateY(-35%);
}

.footer-logo img {
	width: 100%;
}

.footer_link {
	margin: 0px 4px;
}

@media screen and (max-width: 800px) {
	.footer-info span {
		font-size: 9px;
		line-height: 1.8em;
	}
	
	.footer-info span br {
		display: block;
	}
}

/* License */

.build-instructions {
	animation: fadeOn 1s ease;
}

@keyframes fadeOn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.build-licence > .text-block.text-block-headline {
	margin: 0;
}

.cc-logo {
	width: 20px;
}

.license-accept.active:after {
	content: "";
	 position: relative;
	 display: inline-block;
	 margin-left: 9px;
	 width: 15px;
	 height: 12px;
	 background: url(../../images/check.svg);
	 background-repeat: no-repeat;
	 background-size: contain;
}

.license-accept.active:hover {
	background: var(--primary);
	color: white;
}