html,
body,
main,
button,
a,
input,
textarea,
select,
pre::before,
img {
	font-family: var(--font-family) !important;
	font-size: 16px;
	text-underline-offset: 3px;
}

body {
	scroll-behavior: smooth;
}

.viewport {
	height: 100vh;
	max-height: 100%;
	position: absolute;
	z-index: 1;
	width: 100%;
	overflow-x: hidden;
	scroll-behavior: smooth;
}

view {
	display: block;
	width: 80%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 60px 0;
}

.mobile {
	display: none;
}

.desktop {
	display: revert;
}

.social-bar {
	align-items: center;
	display: flex;
	column-gap: 1em;
	justify-content: flex-end;
	-webkit-user-select: none;
	/* Safari */
	-ms-user-select: none;
	/* IE 10 and IE 11 */
	user-select: none;
	/* Standard syntax */
}

.social-inline {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	column-gap: 2em;
	row-gap: 2em;
	-webkit-user-select: none;
	/* Safari */
	-ms-user-select: none;
	/* IE 10 and IE 11 */
	user-select: none;
	/* Standard syntax */
}

.social-inline>a {
	padding: 8px 8px;
	min-width: 5em;
	background: rgba(var(--color-card), 1);
	border-radius: var(--radius-small);
	font-weight: 400;
	align-items: center;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	row-gap: 0.5em;
}

.social-inline>[title~='email']:hover, .social-bar>[title~='email']:hover {
	--color-accent: 139, 195, 74;
	--color-accent-alt: 167, 209, 117;
	transition: all 0.3s ease;
}

.social-inline>[title~='linkedin']:hover, .social-bar>[title~='linkedin']:hover {
	--color-accent: 10, 102, 194;
	--color-accent-alt: 10, 102, 194;
	transition: all 0.3s ease;
}

.social-inline>[title~='youtube']:hover, .social-bar>[title~='youtube']:hover {
	--color-accent: 255, 0, 0;
	--color-accent-alt: 255, 0, 0;
	transition: all 0.3s ease;
}

.social-bar>a {
	margin: 0px;
}

.footer {
	display: flex;
	align-items: baseline;
	padding-top: 100px;
	justify-content: space-between;
}

.footer-text,
.footer>a {
	padding-left: 5px !important;
	font-size: 30px;
	font-weight: 300;
}

.footer>.talk {
	display: flex;
	flex-direction: row;
	align-items: center;
}

.footer>.talk>a {
	display: flex;
	flex-direction: row;
	column-gap: 10px;
	float: right;
	align-items: center;
}

.footer>.talk>a>.footer-text {
	display: flex;
	align-items: center;
	column-gap: 5px;
}

a {
	color: rgba(var(--color-font), 1);
}

.app {
	padding-top: 20px;
}

@media (hover: hover) and (pointer: fine) {
	a:hover {
		text-decoration-color: rgba(var(--color-accent-alt), 1);
	}

	a:hover>svg {
		color: rgba(var(--color-accent-alt), 1);
	}
}

.header {
	display: flex;
	flex-direction: row;
	column-gap: 1em;
}

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

.center {
	align-items: center;
}

.center>div,
.center>a {
	flex: 0;
}

.logo {
	flex: 1;
}

.logo>a>svg {
	width: 4em;
	height: auto;
}

.big>a>svg {
	width: 6em;
}

.mainlottie {
	padding-left: 10%;
}

.typed {
	overflow: hidden;
	border-right: .05em solid rgba(var(--color-accent), 1);
	animation: blink 1s infinite, typing 1s forwards;
}

.nottyped {
	overflow: hidden;
	border-right: .05em solid rgba(var(--color-accent), 1);
	animation: blink 1s infinite, typingback 1s forwards;
}

.typecontainer {
	display: inline-block;
}

@keyframes typing {
	from {
		width: 0%
	}

	to {
		width: 100%
	}
}

@keyframes typingback {
	from {
		width: 100%
	}

	to {
		width: 0%
	}
}

@keyframes blink {
	from {
		border-color: transparent
	}

	to {
		border-color: rgba(var(--color-accent), 1);
	}
}

h1 {
	display: block;
	font-size: 4.6em;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-left: 0;
	margin-right: 0;
	font-weight: 500;
}

h2 {
	display: block;
	font-size: 4.2em;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-left: 0;
	margin-right: 0;
	font-weight: 500;
}

.description {
	font-weight: 300;
}


h3 {
	font-size: 2.7em;
	font-weight: 400;
	margin-bottom: 0.5em;
	margin-top: 1em;
}

h4 {
	font-size: 2.2em;
	font-weight: 400;
	margin-bottom: 0.5em;
}


figcaption {
	font-size: 1.2em;
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}

p,
ul,
ol,
a,
blockquote,
figure {
	font-size: 22px;
	margin-top: 0;
	margin-bottom: 1em;
	font-weight: 200;
}

info {
	font-size: 22px;
	margin-top: 0.5em;
	margin-bottom: 1em;
	font-weight: 200;
}

info::before {
	font-size: 22px;
	font-weight: 200;
}

figcaption {
	font-size: 16px;
}

#react-page>div {
	--color-bg: rgba(var(--color-base), 1) !important;
}

.prototype--viewerContainer--JOiUY {
	margin: 0 !important;
}

button.regular,
.btn.regular {
	background: rgba(var(--color-btn), 1);
	border: 2px solid rgba(var(--color-btn), 0.2);
	color: rgba(var(--color-font), 1);
}

button,
.btn {
	border-radius: var(--radius-large);
	transition: all .12s ease;
	line-height: 2em;
	font-size: 2em;
	font-weight: 400;
}

button>svg,
.btn>svg {
	margin-left: 5px;
	max-height: 35px;
	width: auto;
}

button.ghost,
.btn.ghost {
	background: rgba(var(--color-card), 0);
	color: rgba(var(--color-font), 1);
	outline: none;
	text-decoration: underline;
}

button.ghost:hover,
.btn.ghost:hover {
	color: rgba(var(--color-font), 1);
	text-decoration-color: rgba(var(--color-accent-alt), 1);
}

button.ghost:hover>svg,
.btn.ghost:hover>svg {
	color: rgba(var(--color-accent-alt), 1);
}

.project {
	font-size: 1.5em;
}

#scrollport {
	padding-left: 0.63em;
}

#scrollProjects,
#scrollDemo {
	font-size: 25px;
	width: 100%;
	text-align: right;
}


.featured>img,
.featured>a>img {
	height: 320px;
	width: 100%;
	object-fit: cover;
}

.featured>a {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
}


.top {
	align-items: flex-end;
	height: 420px;
}

.middle {
	align-items: center;
	height: 420px;
}

.bottom {
	align-items: flex-start;
	height: 420px;
}

.card {
	display: flex;
	overflow: hidden;
	position: relative;
	flex-direction: column;
	justify-content: flex-end;
	align-items: left;
	max-width: 475px;
	max-height: 409px;
	border-radius: 20px;
	padding-bottom: 25px;
	padding-left: 20px;
	background: rgb(var(--color-card));
	border: 2px solid rgba(var(--color-font), 0);
	color: rgba(var(--color-font), 1);
	outline: none;
	cursor: pointer;
	border-radius: var(--radius-large);
	transition: all 0.3s ease;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	transition-delay: 0.17s;
	box-shadow: 0 0;
}

.cardtitle {
	font-size: 3em;
	font-weight: 400;
	text-align: left;
	transition: all .12s ease;
	transition-delay: 0.17s;
	padding-right: 1em;
	z-index: 5;
}

.cardsubtitle {
	font-size: 1.5em;
	font-weight: 300;
	text-align: left;
	transition: all .12s ease !important;
	transition-delay: 0.17s !important;
	padding-right: 1em;
	z-index: 4;
}

.cardicon {
	height: 270px;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	transition: all .12s ease;
	transition-delay: 0.17s;
}

.cardicon>lottie-player {
	opacity: 100%;
	transition: all .12s ease;
	transition-delay: 0.17s;
}

@media (hover: hover) and (pointer: fine) {
	.card:hover {
		max-height: 450px;
		transition: max-height 0.5s ease;
		transform: box-shadow 0s ease;
		box-shadow: 0 0 rgba(var(--color-accent), 1);
	}
}

.card:hover>.cardtitle {
	font-size: 3.5em;
	font-weight: 500;
	margin-bottom: 0.1em;
	transition: all .12s ease;
}

.titlethick {
	font-size: 5.2em;
	font-weight: 500;
	margin-bottom: 0.1em;
	padding-bottom: 0.2em;
	transition: all .12s ease;
}

.card:hover>.cardsubtitle {
	font-size: 1.75em;
	font-weight: 400;
	transition: all .12s ease !important;
	padding-right: 1.5em;
}

.subtitlethick {
	padding-left: 80px;
	font-size: 1.75em;
	font-weight: 400;
	margin-bottom: 0.4em;
	transition: all .12s ease;
}

.card:hover>.cardicon>lottie-player {
	width: 300px !important;
	height: 300px !important;
	transition: all .12s ease;
}

.scroll-top {
	visibility: hidden;
	position: sticky;
	align-self: flex-end;
	bottom: 40px;
	left: calc(100% - 80px);
	display: flex;
	width: 50px;
	height: 50px;
	background: rgba(var(--color-font), .05);
	border-radius: var(--radius-large);
	justify-content: center;
	align-items: center;
	transform: translateY(40px);
	opacity: 0;
	transition: all .15s ease;
	margin-top: -90px;
	cursor: pointer;
	z-index: 21;
}

.scroll-top:hover {
	box-shadow: 0px 3px 6px 0px rgba(var(--color-accent), 0.2);
	background: rgba(var(--color-accent-65), .65);
}

.scroll-top:hover>svg {
	color: rgba(255, 255, 255, 1);
}

.scroll-top.visible {
	transform: translateY(0px);
	visibility: visible;
	opacity: 1;
}

.download {
	display: flex;
	width: 100%;
	max-width: 900px;
	justify-content: end;
	column-gap: 5px;
	align-items: center;
}

.copy {
	position: relative;
	display: inline !important;
	max-height: 450px;
	background: rgb(var(--color-card));
	position: fixed;
	z-index: 10;
	padding-bottom: 25px;
	padding-left: 20px;
	border: 2px solid rgba(var(--color-font), 0);
	color: rgba(var(--color-font), 1);
	outline: none;
	cursor: pointer;
	border-radius: var(--radius-large);
	transition: all 0.5s ease;
	text-decoration: none;
	transition-delay: 0.17s;
	font-size: 15px;
}

.copy>.cardtitle {
	position: relative;
	font-size: 3.5em;
	font-weight: 500;
	transition: all .12s ease;
	text-align: left;
	padding-right: 1em;
	transition-delay: 0.17s;
	z-index: 12;
}

.copy>.cardsubtitle {
	position: relative;
	font-size: 1.75em;
	font-weight: 400;
	text-align: left;
	margin-bottom: 0.4em;
	padding-right: 1.5em;
	transition: all .12s ease;
	transition-delay: 0.17s;
	z-index: 12;
}

.copy>.cardicon>lottie-player {
	opacity: 100%;
	width: 300px !important;
	height: 300px !important;
	transition: all .12s ease;
	z-index: 11;
}

.copy>img {
	position: fixed;
	z-index: 11;
}

.card-expand {
	position: fixed !important;
	width: inherit !important;
	max-width: inherit !important;
	margin: 0 auto;
	padding: 60px 0;
	max-height: none;
	top: 0 !important;
	height: 100% !important;
	padding-bottom: 25px;
	padding-left: 80px;
	background: rgba(var(--color-base), 1);
	color: rgba(var(--color-font), 1);
	outline: none;
	cursor: pointer;
	border-radius: var(--radius-large);
	transition: all 0.5s ease;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	box-shadow: 0 0 rgba(var(--color-base), 1) !important;
	z-index: 20;
}

.card-expand>.cardtitle {
	font-size: 5.2em;
	opacity: 0;
	margin-bottom: 0.6em;
	transition: all 0.3s ease !important;
	transition-delay: 0ms !important;
	z-index: 12;
}

.card-expand>.cardsubtitle {
	font-size: 1.75em;
	opacity: 0;
	margin-bottom: 0.4em;
	transition: all 0.3s ease !important;
	transition-delay: 0ms !important;
	z-index: 12;
}

.card-expand .cardicon {
	padding-right: 50em;
	transition: all 0.5s ease;
}

.card-expand>.cardicon>lottie-player {
	animation: fadeOut 0.12s ease forwards;
	height: 0px !important;
	transition: height 2s ease !important;
}

@keyframes fadeOut {
	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

.titlethick {
	position: relative;
	animation: titleFadeIn 0.5s forwards;
	z-index: 10;
}

.subtitlethick {
	position: relative;
	animation: titleFadeIn 0.5s forwards;
	z-index: 10;
}

@keyframes titleFadeIn {
	from {
		margin-bottom: 0.3em;
		padding-top: 50px;
		opacity: 0;
	}

	to {
		margin-bottom: 0em;
		padding-top: 0px;
		opacity: 100%;
	}
}

.itembg {
	position: absolute;
	height: 100%;
	object-fit: cover;
	object-position: center;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
	z-index: 2;
	border-radius: 14px;
	-webkit-mask-image: linear-gradient(20deg, rgba(var(--color-base), 0), rgba(var(--color-base), 1));
	mask-image: linear-gradient(200deg, rgba(var(--color-base), 0), rgba(var(--color-base), 1));
}

.copy>.itembg {
	position: absolute;
	z-index: 11;
}


.card-expand>.itembg {
	width: 100%;
	align-items: center;
	max-height: 600px;
	opacity: 0;
	transition: all 0.5s ease;
}

#back {
	left: -20px;
	z-index: 10;
	margin-bottom: 0;
}

.back-text {
	font-size: 2em;
	font-weight: 400;
	margin-bottom: 0.4em;
	transition: all .12s ease;
}

.porthead {
	position: absolute;
	/* object-position: bottom; */
	max-width: 1000px;
	opacity: 30%;
	width: 80%;
	object-fit: cover;
	top: 0;
	z-index: 2;
	transition: all 0.5s ease;
	animation: portHeader 0.5s forwards;
	-webkit-mask-image: linear-gradient(rgba(var(--color-base), 1), rgba(var(--color-base), 0));
	mask-image: linear-gradient(rgba(var(--color-base), 1), rgba(var(--color-base), 0));
}

#sectionhead {
	padding-top: 60px;
	display: flex;
	align-items: center;
}

#join {
	display: flex;
	align-items: center;
	column-gap: 1em;
}

@keyframes portHeader {
	from {
		opacity: 0;
		height: 500px;
	}

	to {
		opacity: 30%;
		height: 300px;
	}
}

.portpad {
	padding-top: 60px;
}

.pad {
	padding: 200px;
}

.pad-small {
	padding: 100px;
}

.social-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.social-card>split {
	max-height: 120px;
}

.social-card>split>button {
	display: flex;
	column-gap: 0.5em;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border: none;
	background: none;
}

.social-card>split>button>svg {
	margin-left: 0px;
}

#toggle {
	display: none;
}

/**
	Hamburger
  **/
.hamburger {
	width: 35px;
	height: 30px;
	z-index: 10;
}

.open.hamburger {
	display: block;
}

.hamburger>div {
	width: 35px;
	height: 5px;
	border-radius: 3px;
	background-color: rgba(var(--color-font), 1);
	margin-bottom: 6.5px;
	transition: all 0.5s ease;
}

/**
  Nav Styles
  **/
.nav {
	display: flex !important;
	position: fixed;
	justify-content: center;
	width: 10%;
	height: 10%;
	background-color: rgba(var(--color-base), 1);
	opacity: 0;
	top: -100%;
	right: 0;
	bottom: 0;
	overflow: hidden;
	transition: all 0.8s ease 0.3s;
	visibility: hidden;
	border-radius: 0 0 0 1000px;
	box-shadow: 0 0;
}

.nav-wrapper {
	transform: translateY(-10%);
	opacity: 0;
	width: 80%;
	max-width: 1000px;
	transition: all 0.4s ease;
}

/**
  Animations
  **/
.open.hamburger .top-bun {
	transform: rotate(-45deg);
}

.open.hamburger .bottom-bun {
	opacity: 0;
	transform: rotate(45deg) translate(-2px, -1px);
}

.open.hamburger .meat {
	transform: rotate(45deg) translate(6.85px, 7.1px);
}

.open.nav .nav-wrapper {
	transform: translateY(0);
	opacity: 1;
	transition: all 0.6s ease 0.5s;
}

.open.nav {
	display: flex;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	visibility: visible;
	border-radius: 0px;
	transition: all 0.6s ease;
}

@media screen and (max-width: 1100px) {
	.logosplit {
		grid-gap: 0px;
		grid-template-columns: 0;
	}

	.mainlottie {
		display: none;
	}

	split {
		grid-template-columns: minmax(0, 1fr);
	}

	.top,
	.bottom,
	.middle {
		height: auto;
	}

	h1 {
		font-size: 4.2em;
		margin-top: 0.4em;
		margin-bottom: 0.4em;
		margin-left: 0;
		margin-right: 0;
		font-weight: 500;
	}

	h2 {
		font-size: 3.2em;
		margin-top: 0.3em;
		margin-bottom: 0.3em;
		margin-left: 0;
		margin-right: 0;
		font-weight: 500;
	}

	.description {
		font-weight: 400;
	}

	h3 {
		font-size: 2.2em;
	}

	h4 {
		font-size: 2em;
	}


	button,
	.btn,
	button.ghost,
	.btn.ghost {
		font-size: 1.4em;
	}

	#project {
		font-size: 1.2em;
	}

	.featured>img,
	.featured>a>img {
		object-fit: contain;
	}

	.social-bar>a>svg {
		width: 2em;
	}

	.image-grid {
		--num-cols: 2;
		--row-height: 200px;
	}

	.carousel-preview {
		width: 120px !important;
		height: 120px !important;
	}

	.slideshow>img {
		height: 46vh !important;
	}

	button.ghost,
	.btn.ghost {
		padding-left: 0px;
	}


	.card {
		max-width: unset;
	}

	.grid-1 {
		grid-row: 1;
	}

}

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

	.mobile {
		display: revert;
	}

	.desktop {
		display: none;
	}

	view {
		padding: 50px 0;
	}

	.app {
		padding-top: 40px;
	}

	h1 {
		font-size: 3.5em;
		margin-top: 0.4em;
		margin-bottom: 0.4em;
		margin-left: 0;
		margin-right: 0;
		font-weight: 500;
	}

	h2 {
		display: block;
		font-size: 2.5em;
		margin-top: 0.4em;
		margin-bottom: 0.5em;
		margin-left: 0;
		margin-right: 0;
		font-weight: 500;
	}

	.description {
		margin-bottom: 1em;
		font-weight: 300;
	}

	p,
	ul,
	ol,
	a,
	blockquote,
	figure,
	info,
	info::before {
		font-size: 18px;
	}

	.porthead {
		width: 100% !important;
		left: 0;
	}

	#sectionhead {
		padding-top: 0px;
		flex-direction: row;
		flex-wrap: wrap;
		flex: 100%;
	}

	#sectionhead>a {
		flex: 100%;
	}

	#sectionhead>div {
		flex: 100%;
	}

	#sectionhead>a>svg {
		transform: translateX(-20px);
		width: 60px;
		height: 60px;
	}

	.column-list {
		flex-direction: row;
		flex-wrap: wrap;
		row-gap: 20px;
	}

	.column-list>div {
		flex: 100%;
	}

	.column {
		padding: 0 !important;
	}

	.logo>a>svg {
		max-width: 3.5em;
	}

	.big>a>svg {
		max-width: 5em;
	}

	.social-bar {
		column-gap: 0.75em;
		justify-content: space-evenly;
	}

	.social-bar>a>svg {
		width: 2em;
	}

	.featured>img,
	.featured>a>img {
		object-fit: cover;
		height: 250px;
	}

	.card {
		max-width: unset;
	}

	.card:hover,
	.copy {
		padding-left: 20px;
	}

	.cardtitle,
	.copy>.cardtitle,
	.card:hover>.cardtitle {
		font-size: 3.2em;
		font-weight: 400;
	}

	.cardsubtitle,
	.copy>.cardsubtitle,
	.card:hover>.cardsubtitle {
		font-size: 1.2em;
		font-weight: 300;
	}

	.card-expand {
		padding-right: 10vw !important;
		padding-left: 10vw !important;
		width: 100% !important;
		left: 0 !important;
	}


	.card-expand>.cardtitle {
		animation: titleexpand 0.12s ease forwards;
	}

	.card-expand>.cardsubtitle {
		animation: subtitleexpand 0.12s ease forwards;
		padding-right: 2em !important;
	}

	.titlethick {
		font-size: 3.5em;
		font-weight: 500;
	}

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

	@keyframes titleexpand {
		from {
			font-size: 3.2em;
			font-weight: 400;
		}

		to {
			font-size: 3.5em;
			font-weight: 500;
		}
	}

	@keyframes subtitleexpand {
		from {
			font-size: 1.2em;
			font-weight: 300;
		}

		to {
			font-size: 1.3em;
			font-weight: 400;
		}
	}

	@media (hover: hover) and (pointer: fine) {

		.card:hover>.cardtitle,
		.copy>.cardtitle {
			font-size: 3.5em !important;
			font-weight: 500 !important;
		}

		.card:hover>.cardsubtitle,
		.copy>.cardsubtitle {
			font-size: 1.3em !important;
			font-weight: 400 !important;
		}
	}

	.titlethick,
	.subtitlethick {
		padding-left: 0px;
	}

	@keyframes portHeader {
		from {
			opacity: 0;
			height: 500px;
		}

		to {
			opacity: 30%;
			height: 225px;
		}
	}

	.carousel-preview {
		width: 90px !important;
		height: 90px !important;
	}

	.fadeimg {
		width: 115% !important;
		transform: translateX(-6%);
		text-align: center !important;
	}

	.fadeimg>svg {
		max-width: 100% !important;
	}

	.long {
		max-height: none !important;
	}

	.long>.figma {
		padding-bottom: 235% !important;
	}

	#scrollProjects {
		font-size: 20px;
	}


	.footer {
		flex-direction: column;
		row-gap: 30px;
	}

	.footer-text,
	.footer>a {
		font-size: 1.5em;
	}

	.pad {
		padding: 100px;
	}

}


.theme-automatic {
	--color-base: 246, 246, 246;
	--color-shadow: 32, 33, 37;
	--color-overlay: 32, 33, 37;
	--color-card: 255, 255, 255;
	--color-input: 250, 250, 250;
	--color-font: 26, 27, 30;
	--color-font-alt: 255, 255, 255;
	--color-btn: 234, 234, 235;
}

@media(prefers-color-scheme: dark) {
	.theme-automatic {
		--color-base: 26, 27, 30;
		--color-shadow: 32, 33, 37;
		--color-overlay: 40, 41, 46;
		--color-card: 32, 33, 37;
		--color-input: 40, 41, 46;
		--color-font: 233, 233, 233;
		--color-font-alt: 255, 255, 255;
		--color-btn: 37, 38, 40;
	}

	.accent-ladesign {
		--color-accent: 83, 92, 175;
		--color-accent-alt: 115, 126, 231;
		--color-accent-65: 114, 127, 253;
	}
}

@media(prefers-color-scheme: light) {
	.accent-ladesign {
		--color-font: 35, 35, 35;
		--color-accent: 103, 112, 193;
		--color-accent-alt: 89, 98, 177;
		--color-accent-65: 26, 40, 165;
	}
}

.size-iframe {
	max-height: 1030px;
	max-width: 100%;
	margin: 0px auto;
}

.size-iframe>div {
	position: relative;
	padding-bottom: 75%;
	height: 0px;
}

iframe {
	border: 1px solid rgba(0, 0, 0, 0.1);
}

.size-iframe>.slides {
	padding-bottom: 61% !important;
}

.size-iframe>.figma {
	padding-bottom: 75%;
}

.resume-iframe {
	max-height: 1030px !important;
	padding-bottom: min(130%, 1030px) !important;
}

.resume-iframe iframe {
	max-height: 1030px !important;
	max-width: 800px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
}

.size-iframe iframe {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}


.column-list {
	display: flex;
	justify-content: space-between;
	margin-bottom: 1em;
}

.column {
	padding: 0 1em;
}

.column:first-child {
	padding-left: 0;
}

.column:last-child {
	padding-right: 0;
}

figcaption {
	border: none;
	margin: auto;
}

figure {
	padding: 10px auto;
	margin: 10px auto;
	font-weight: 300;
}

video {
	width: 100%;
	height: auto;
}

.center {
	display: flex;
	justify-content: center;
}

.break-word {
	word-break: break-word;
}

.image-grid {
	--gap: 16px;
	--num-cols: 4;
	--row-height: 300px;

	box-sizing: border-box;
	padding: var(--gap);

	display: grid;
	grid-template-columns: repeat(var(--num-cols), 1fr);
	grid-auto-rows: var(--row-height);
	gap: var(--gap);
}

.image-grid>div {
	display: flex;
	overflow: hidden;
	position: relative;
	flex-direction: column;
	justify-content: flex-end;
	align-items: left;
	border-radius: 20px;
	padding-bottom: 25px;
	padding-left: 20px;
	background: rgb(var(--color-card));
	border: 2px solid rgba(var(--color-font), 0);
	outline: none;
	cursor: pointer;
	border-radius: var(--radius-large);
	transition: all 0.3s ease;
}

.image-grid>div>img {
	position: absolute;
	height: 100%;
	object-fit: cover;
	object-position: center;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
	z-index: 2;
	border-radius: 14px;
}

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

.image-grid-row-2 {
	grid-row: span 2;
}

.slideshow-container {
	position: relative;
	margin: auto;
}

.slideshow {
	height: auto;
	display: none;
}

.slideshow>img {
	width: 100%;
	height: 55vh;
	object-fit: contain;
}

.prev,
.next {
	cursor: pointer;
	position: absolute;
	top: 50%;
	width: auto;
	margin-top: -22px;
	padding: 16px;
	transition: 0.6s ease;
	border-radius: 0 3px 3px 0;
	-webkit-user-select: none;
	user-select: none;
}

.prev>svg,
.next>svg {
	height: 30px;
	width: auto;
}

.next {
	transform: translateX(50px);
	right: 0;
	border-radius: 3px 0 0 3px;
}

.prev {
	transform: translateX(-50px);
}

@media (hover: hover) and (pointer: fine) {

	.prev:hover,
	.next:hover {
		background-color: rgb(var(--color-base));
	}
}

.slideshow>.text {
	font-size: 18px;
	color: rgb(var(--color-font));
	padding: 8px 12px;
	width: 100%;
	text-align: center;
}

.numbertext {
	color: rgb(var(--color-font));
	font-size: 12px;
	padding: 8px 12px;
	position: absolute;
	top: 0;
}

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

.carousel-preview {
	cursor: pointer;
	width: 150px;
	height: 150px;
	margin: 5px;
	border-radius: var(--radius-large);
	display: inline-block;
	background: rgb(var(--color-card));
	color: rgba(var(--color-font), 1);
	transition: all 0.3s ease;
}

.carousel-preview>img,
.carousel-preview>video {
	height: inherit;
	width: inherit;
	object-fit: cover;
	object-position: center;
	z-index: 2;
	padding: 3px;
	border-radius: var(--radius-large);
}

#projectpreview {
	width: 30px !important;
	height: 30px !important;
	border-radius: 100%;
}

#projectpreview>img {
	background-color: rgb(var(--color-card));
	background-clip: content-box;
}

.active {
	background-color: rgba(var(--color-accent), 0.8);
}

@media (hover: hover) and (pointer: fine) {
	.carousel-preview:hover {
		background-color: rgba(var(--color-accent), 0.8);
	}
}

/* Fading animation */
.fade {
	animation: fade 0.5s ease-out forwards;
}

@keyframes fade {
	from {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

.fadeimg {
	position: relative;
	width: 100%;
	opacity: 0;
	transition: opacity 0.5s ease;
}

.fadeimg>svg {
	max-width: 50%;
}

.fadeIn {
	opacity: 100;
}

.callout {
	border-radius: 3px;
	padding: 1rem;
	display: flex;
	white-space: pre-wrap;
	column-gap: 0.5em;
	row-gap: 0.5em;
}

.block-color-default {
	color: inherit;
	fill: inherit;
	margin-bottom: 0.3em !important
}

.block-color-gray {
	color: rgba(120, 119, 116, 1);
	fill: rgba(120, 119, 116, 1);
	margin-bottom: 0.3em !important
}

.block-color-brown {
	color: rgba(159, 107, 83, 1);
	fill: rgba(159, 107, 83, 1);
	margin-bottom: 0.3em !important
}

.block-color-orange {
	color: rgba(217, 115, 13, 1);
	fill: rgba(217, 115, 13, 1);
	margin-bottom: 0.3em !important
}

.block-color-yellow {
	color: rgba(203, 145, 47, 1);
	fill: rgba(203, 145, 47, 1);
	margin-bottom: 0.3em !important
}

.block-color-teal {
	color: rgba(26, 197, 105, 1);
	fill: rgba(68, 131, 97, 1);
	margin-bottom: 0.3em !important
}

.block-color-blue {
	color: rgba(51, 126, 169, 1);
	fill: rgba(51, 126, 169, 1);
	margin-bottom: 0.3em !important
}

.block-color-purple {
	color: rgba(144, 101, 176, 1);
	fill: rgba(144, 101, 176, 1);
	margin-bottom: 0.3em !important
}

.block-color-pink {
	color: rgba(193, 76, 138, 1);
	fill: rgba(193, 76, 138, 1);
	margin-bottom: 0.3em !important
}

.block-color-red {
	color: rgba(212, 76, 71, 1);
	fill: rgba(212, 76, 71, 1);
	margin-bottom: 0.3em !important
}

.block-color-gray_background {
	background: rgba(103, 103, 103, 0.5);
}

.block-color-brown_background {
	background: rgba(95, 85, 85, 0.5);
}

.block-color-orange_background {
	background: rgba(220, 139, 58, 0.5);
}

.block-color-yellow_background {
	background: rgba(252, 193, 1, 0.5);
}

.block-color-teal_background {
	background: rgba(140, 223, 194, 0.5);
}

.block-color-blue_background {
	background: rgba(84, 202, 252, 0.5);
}

.block-color-purple_background {
	background: rgba(172, 62, 255, 0.5);
}

.block-color-pink_background {
	background: rgba(250, 37, 133, 0.5);
}

.block-color-red_background {
	background: rgba(255, 24, 39, 0.5);
}

.highlight-default {
	color: rgba(55, 53, 47, 1);
}

.highlight-gray {
	color: rgba(120, 119, 116, 1);
	fill: rgba(120, 119, 116, 1);
}

.highlight-brown {
	color: rgba(159, 107, 83, 1);
	fill: rgba(159, 107, 83, 1);
}

.highlight-orange {
	color: rgba(217, 115, 13, 1);
	fill: rgba(217, 115, 13, 1);
}

.highlight-yellow {
	color: rgba(203, 145, 47, 1);
	fill: rgba(203, 145, 47, 1);
}

.highlight-teal {
	color: rgba(68, 131, 97, 1);
	fill: rgba(68, 131, 97, 1);
}

.highlight-blue {
	color: rgba(51, 126, 169, 1);
	fill: rgba(51, 126, 169, 1);
}

.highlight-purple {
	color: rgba(144, 101, 176, 1);
	fill: rgba(144, 101, 176, 1);
}

.highlight-pink {
	color: rgba(193, 76, 138, 1);
	fill: rgba(193, 76, 138, 1);
}

.highlight-red {
	color: rgba(212, 76, 71, 1);
	fill: rgba(212, 76, 71, 1);
}

.highlight-gray_background {
	background: rgba(241, 241, 239, 1);
}

.highlight-brown_background {
	background: rgba(244, 238, 238, 1);
}

.highlight-orange_background {
	background: rgba(251, 236, 221, 1);
}

.highlight-yellow_background {
	background: rgba(251, 243, 219, 1);
}

.highlight-teal_background {
	background: rgba(237, 243, 236, 1);
}

.highlight-blue_background {
	background: rgba(231, 243, 248, 1);
}

.highlight-purple_background {
	background: rgba(244, 240, 247, 0.8);
}

.highlight-pink_background {
	background: rgba(249, 238, 243, 0.8);
}

.highlight-red_background {
	background: rgba(253, 235, 236, 1);
}

.scroll-x {
	overflow-x: auto;
}

.simple-table {
	border-collapse: collapse;
	width: 100%;
}

info {
	font-weight: 400;
}