@font-face {
  font-family: FoundersGrotesk-Bold;
  src: url(https://data.solwllms.com/fonts/FoundersGrotesk-Bold.otf);
}

body {
	overflow-x: hidden;
	background: linear-gradient(#0000003d, transparent 8rem);
}

* {
	font-family: "Roboto", "Helvetica Neue", "Helvetica", Arial, sans-serif, FontAwesome;
	line-height: 1.5;
}

a, a:link, a:active, a:visited {
	color: black;
	text-decoration: none;
}

h2, h3 {
	font-family: FoundersGrotesk-Bold, sans-serif;
	font-weight: initial;
}

h2 {
	font-size: 3rem;
}
h3 {
	font-size: 2rem;
	line-height: 1;
	color: black;
}

.section {
	background: white;
	min-height: 100vh;
	z-index: 0;
} 
.section-center {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-size: cover !important;
}
.proj-colored {
	background: linear-gradient(#910000, #b80c0a 8rem);
}
.landing {
	background: none;
}

.footer {
	min-height: min-content;
	padding: 50px 0px 120px 0px;
	background-color: black;
	color: white;
}
.footer p {
	margin: 0;
	text-align: center;
	user-select: text;
}
.footer p::selection {
	background: white;
	color: black;
}
.footer-text {
	display: flex;
	align-items: center;
}

.header {
	position: fixed;
	width: 100%;
	background: black;	
	top: 0;
	z-index: 90;
	transition: all .2s ease;
}
.at-top {
	background: transparent;
}

.proj-links {
	display: flex;
	gap: 10px;
	justify-content: center;
	margin: 20px 0px 0px 0px;
}

.proj-desc{
	display: flex;
	justify-content: center;
}
.proj-desc h2 {
	color: white;
	text-align: center;
}
.proj-desc p {
	max-width: 35%;
	color: white;
}

.button, .button:link, .button:active, .button:visited {
	color: var(--main-color);
	text-decoration: none;
	background-color: white;
	display: inline-block;
	margin-bottom: 3%;
	user-select: none;
}

.container {
	padding: 0px 5% 0px 5%;
	margin: auto;
	height: 100%;
	width: 90%;
}

.navbar {
	display: flex;
	height: 100%;
	min-height: 4rem;
}

.nav {
	display: flex;
	justify-content: flex-end;
	flex: 1;
	align-items: center;
}

.nav .nav-item {
	height: 100%;
}

.nav-item {
	background-color:  transparent;
	align-items: center;
	display: flex;
	color: white !important;
	text-decoration: none;
	line-height: 1.5;
	padding: 0 .75rem;
	cursor: pointer;
	transition: all .1s ease;
}
.nav-item:hover {
	background-color: #ffffff36;
}

.nav-active {
	background-color: var(--main-color);
	font-weight: 700;
}
.nav-active:hover {
	background-color: var(--main-color);
}

.navlogo {
	display: flex;
	align-items: center;
}

.title {
	color: #fff !important;
	font-size: 2rem;
	font-family: FoundersGrotesk-Bold, sans-serif;
	font-kerning: none;
	user-select: none;
	margin-top: 10px;
}

.content {
	width: 100%;
}

.post h2 a {
	color: #0082ff;
	font-family: FoundersGrotesk-Bold, sans-serif;
	font-size: 2.2rem;
}

.post-header, .blog-header {
	color: white;
	height: 100vh;	
}
.post-hero, .hero {
	position: absolute;
	inset: -2rem;
	overflow: hidden;
	filter: blur(3px) brightness(90%);
	background-size: cover;
	background-position: center center;
	z-index: -1;
}
.post-hero {	
	filter: blur(3px) brightness(70%);
	mask-image: linear-gradient(white 10%, transparent 99%);
}
.post-header .container, .blog-header .container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	z-index: 1;
	position: relative;
}
.header-middle {
	display: flex;
	justify-content: center;
}
.header-middle > h2 {
	padding-left: 15px !important;
}
.header-middle .date {
	background: black !important;
}
.post-header h2 {
	text-align: center;
	font-size: 5rem;
	background: var(--main-color);
	padding: 15px 15px 0px 0px;
	width: max-content;
}
.post .date {
	position: relative;
	width: max-content;
	background: var(--main-color);
	padding: 2px 10px 2px 10px;
	color: white;
	display: inline-block;
	border-radius: 20px;
}
.project {
	display: inline-block;
	padding: 2px 10px 2px 10px;
}

.post-body {
	margin: auto;
	min-height: 100vh;
	padding-top: 50px;
}
.post-body-container {
	max-width: 800px;
}
.post-update-container {
	padding-top: 120px;
}
.post-body img {
	max-width: 100%;
}
.post-body a, .card-head a {
	color: var(--main-color) !important;
}

.post-card {
	margin: 0.6rem;
	width: 45%;
	border-radius: 25px;
	background-color: #f2f2f2;
}
.post-card h2 {
	color: var(--main-color);
	font-family: FoundersGrotesk-Bold, sans-serif;
	font-size: 2.2rem;
}
.post-card p {
	position: relative;
	margin-top: 1rem;
	padding: 0px 10px 2px 0px;
	color: black;
	font-size: 1rem;
}
.cards-list {
	display: flex;
	flex-wrap: wrap;
	margin: -0.6rem;
	justify-content: space-between;
}
.small-list {
	flex-wrap: nowrap;
}
.card-hero {
	width: auto;
	height: 350px;
	background: grey;
	background-repeat: initial;
	overflow: hidden;
	pointer-events: none;
	background-size: cover;
	background-position: center center;
	border-radius: 25px 25px 0px 0px;
}
.card-head {
	padding: 10px 0px 0px 0px;
}
.card-body {
	padding: 30px;
}

.featured-card {
	display: flex;
	flex-direction: row;
	width: 100%;
	background-size: cover;
	background-position: center center;
	border-radius: 5px;
	height: 70vh;
}
.featured-card .card-hero {
	background: none;
	height: 100%;
	flex: 1;
}
.featured-card .card-hero a {
	width: 100%;
	height: 100%;
	position: relative;
	display: block;
	pointer-events: all;
}
.featured-card .card-body {
	background: linear-gradient(0deg, var(--main-color), rgba(var(--main-color-rgb), 0.6));
	flex: 0.35;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 6rem 5rem;
	border-radius: 0 5px 5px 0;
}
.button.big {
	width: max-content; 
	padding: 0.5rem 1.5rem 0.5rem 1.5rem;
	border-radius: 50px;
	cursor: pointer;
	text-align: center;
}
.button.bigger {
	padding: 1.5rem 3.5rem 1.5rem 3.5rem;
	border-radius: 50px;
}
.featured-card .card-body h2 {
	color: white;
	padding-bottom: 1rem;
	font-size: 3rem;
}
.featured-card .card-body p {
	color: white;
}

.blog-top {
	display: flex;
	padding-top: 120px;
}
.blog-bottom {
	display: flex;
	padding-bottom: 50px;
	justify-content: center;
}

.blog-top h2 {
	flex: 1;
}

.fa, .fab, .fad, .fal, .far, .fas {
	margin-right: 10px;
}

.options {
	display: flex;
	gap: 10px;
	justify-content: center;
	margin: 20px 0px 0px 0px;
}

.proj-colored .blog-top h2 {
	color: white;
}
.update-card {
	background-color: #f2f2f2;
	padding: 1rem;
	margin-bottom: 3rem;
	width: 100%;
	border-radius: 5px;
}
.card-head p{
	margin-top: 1rem;
}
.changelog {
	background-color: white;
	padding: 1.5rem;
}
.changelog-entry p {
	font-size: .8rem;
	margin-bottom: 0 !important;
	display: inline;
	align-self: center;
}
.change-tag {
	font-size: .75rem;
	height: 2em;
	line-height: 1.5;
	padding-left: 0.75rem;
	padding-right: .75rem;
	background-color: grey;
	color: white;
	display: inline-block;
	padding-top: 0.1rem;
	margin-right: 1rem;
}
.change-tag i {
	margin: 0;
	vertical-align: middle;
}
.changelog-entry {
	display: flex;
	margin-bottom: 0.5rem;
}
.change-tag.improve {
	background-color: #2a9bff;
}
.change-tag.add {
	background-color: #62b743;
}
.change-tag.delete {
	background-color: #e84b4b;
}

.pagination-arrow {
	border-radius: 50%;
	margin: 20px 15px;
	color: white !important;
	padding: 8px 12px 8px 12px;
	text-decoration: none !important;
	background-color: black;
}
.pagination-arrow.disabled {
	background-color: 	grey;
}
.pagination-arrow i {
	margin: 0;
}

.video_wrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9, for an aspect ratio of 1:1 change to this value to 100% */ 
}
iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 1024px) {
	.post-card {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	.featured-card .card-body {
		padding: 6rem 3rem;
	}

	.proj-desc p {
		max-width: 90%;
	}

	.small-list {
		flex-direction: column;
	}

	.container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.featured-card {
		flex-direction: column;
	}

	.proj-links {
		flex-direction: column;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}

	.bottom-nav {
		flex-direction: column;
		justify-content: center;
	}
	.bottom-nav .nav-item {
		padding: 0;
	}

	.proj-links .button {
		width: calc(100% - 30px);
		padding: 16px 15px;
	}
}

@media screen and (min-width: 1024px) {
	.button {
		padding: 6px 15px;
	}
}