@font-face {
    font-family: 'Matter';
    src: url('./assets/fonts/Matter-Bold.woff2') format('woff2'),
        url('./assets/fonts/Matter-Bold.woff') format('woff');
    font-weight: bold;
    font-display: swap;
}

@font-face {
    font-family: 'Matter';
    src: url('./assets/fonts/Matter-Regular.woff2') format('woff2'),
        url('./assets/fonts/Matter-Regular.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'Matter';
    src: url('./assets/fonts/Matter-SemiBold.woff2') format('woff2'),
        url('./assets/fonts/Matter-SemiBold.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'MatterSQ';
    src: url('./assets/fonts/MatterSQ-Bold.woff2') format('woff2'),
        url('./assets/fonts/MatterSQ-Bold.woff') format('woff');
    font-weight: bold;
    font-display: swap;
}

@font-face {
    font-family: 'MatterSQ';
    src: url('./assets/fonts/MatterSQ-Regular.woff2') format('woff2'),
        url('./assets/fonts/MatterSQ-Regular.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'MatterSQ';
    src: url('./assets/fonts/MatterSQ-SemiBold.woff2') format('woff2'),
        url('./assets/fonts/MatterSQ-SemiBold.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}

body {
	font-family: 'MatterSQ';
	margin: 0;
}

body > header {
	background: black;
	padding: 35px 50px;
}

.navbar {
	padding: 0;
}

body > header svg {
	fill: white;
	height: 37px;
}

button.navbar-toggler {
	padding: 0;
    border: none;
}

body > header ul {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: right;
}

body > header ul li {
	display: inline-block;
	margin-left: 60px;
}

body > header ul li a {
	color: white;
	text-decoration: none;
	transition: all .2s;
}

body > header ul li a:hover {
	color: white;
}

img {
	max-width: 100%;
	height: auto;
}

.button {
	background-color: #7D00FF;
	color: white;
	border-radius: 100px;
	padding: 8px 32px;
	font-size: 20px;
	line-height: 32px;
	text-align: center;
	display: inline-block;
	border: 1px solid #7D00FF;
}

input[type=text] {
	background: transparent;
	border: 1px solid white;
	border-radius: 100px;
	font-size: 16px;
	line-height: 32px;
	padding: 8px;
	color: white;
	width: 60%;
}

header .button {
	width: calc(40% - 28px);
}

header .button {
	margin-left: 24px;
}

.category-filter {
	margin-top: 7rem;
}

.category-filter select {
    min-width: 270px;
    padding: 5px 5px 5px 0;
    background: none;
    color: white;
    border: none;
    border-bottom: 1px solid white;
    margin-left: 5px;
}

.container {
	max-width: 1200px;
}

.blog-info header {
	background: black;
	color: white;
	padding-bottom: 50px;
}

.blog-info .row {
	align-items: end;
}

.blog-info header h1 {
	font-size: 80px;
	margin-bottom: 30px;
}

.post-info header {
	background: black;
	color: white;
	padding: 32px 0 80px;
}

.post-info header .row {
	align-items: center;
}

.post-info header a {
	text-decoration: none;
	color: white;
}

.post-info header a span {
	text-decoration: underline;
	margin-right: 10px;
}

.post-info header h1 {
	font-size: 76px;
	line-height: 1;
	font-weight: 500;
	margin: 45px 0 26px;
	color: white;
}

.post-info header .featured-image {
	text-align: right;
}

.post-info header .featured-image img {
	max-height: 386px;
	width: auto;
}

.post h3 a {
	text-decoration: none;
	color: inherit;
}

.post > a {
	display: block;
}

.post img {
	width: 100%;
}

.post {
	margin-top: 20px;
	margin-bottom: 20px;
	--bs-gutter-x: 2rem;
}

.post .meta {
	margin-top: 10px;
	margin-bottom: 10px;
	background-color: black;
	color: white;
	border-radius: 3px;
	padding: 5px 10px;
}

.post .meta .readtime {
	text-align: right;
	padding-left: 0;
}

.post .meta .col-8 {
	padding-right: 0;
}

.post .meta .post-categories {
	padding: 0;
	list-style: none;
	margin-bottom: 0;
}

.post .meta .post-categories a {
	color: white;
	text-decoration: none;
}

.post .button {
	text-decoration: none;
	font-size: 16px;
	border: 1px solid #7D00FF;
	transition: all .2s;
	color: white;
}

.post .button:hover {
	background-color: white;
	color: #7D00FF;
}

.post.row {
	border-bottom: 1px solid black;
	padding: 80px 0;
	color: black;
}

.post.row h2 {
	font-size: 56px;
	line-height: 64px;
	margin: 24px 0;
	font-weight: 600;
}

.post.row .permalink {
	color: black;
	text-transform: uppercase;
	font-size: 20px;
	line-height: 32px;
}

.post.row .permalink span {
	text-decoration: underline;
	margin-right: 10px;
}

.post.row .date {
	font-size: 14px;
	line-height: 24px;
}

.post.row .featured-image {
	padding-left: 0;
}

.post.row .featured-image div {
	background-size: cover;
	height: 264px;
	width: 264px;
	border-radius: 10px;
	max-width: 100%;
}

.post.row .featured-image img {
	border-radius: 12px;
}

.post.row .author {
	margin-bottom: 24px;
	font-size: 14px;
	line-height: 24px;
}

.post.row .excerpt {
	font-size: 16px;
	line-height: 24px;
}

.post.row .excerpt p {
	margin-bottom: 0;
}

.post-content {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 80px;
}

.post-content blockquote {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	border-left: 10px solid #7D00FF;
	font-size: 24px;
}

.post-content blockquote cite {
	font-size: 16px;
	font-style: normal;
}

.post-content p,
.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6,
.post-content ul,
.post-content ol {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.post-content p,
.post-content ul {
	margin-bottom: 40px;
}

.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
	margin-bottom: 24px;
}

.post-content a {
	color: #7D00FF;
}

.next-last-posts {
	padding-top: 120px;
	padding-bottom: 120px;
}

.next-last-posts h2 {
	margin-bottom: 40px;
}

.next-last-posts a {
	color: black;
}

.next-last-posts .container {
	border-top: 1px solid black;
	padding-top: 80px;
}

.next-last-posts span span {
	text-decoration: underline;
	text-transform: uppercase;
}

.next-last-posts h5 {
	font-size: 32px;
	line-height: 40px;
	margin-top: 24px;
}

.next-last-posts h5 a {
	text-decoration: none;
	color: inherit;
}

.aligncenter {
	text-align: center;
}

.alm-btn-wrap {
	margin-top: 88px;
    margin-bottom: 132px;
    text-align: center;
}



body > footer {
	background-color: black;
	color: white;
	padding-top: 80px;
	padding-bottom: 40px;
}

body > footer h2 {
	font-size: 48px;
	line-height: 88px;
}

body > footer svg {
	fill: black;
	height: 10px;
}

body > footer ul {
	list-style: none;
	padding: 0;
	margin-top: 20px;
	margin-bottom: 20px;
}

body > footer ul li {
	display: inline-block;
	margin: 0 10px;
}

body > footer ul li a {
	color: white;
	font-size: 14px;
	text-decoration: none;
}

body > footer .social {
	margin-bottom: 60px;
}

body > footer .social a {
	padding: 5px;
	display: inline-block;
	border-radius: 6px;
	background: white;
	line-height: 0;
	margin: 0 10px;
}

body > footer .copyright {
	font-size: 12px;
}

.alm-reveal {
	--bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}

.alm-reveal > * {
	flex-shrink: 0;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
}

.button.done {
	background: white;
    color: #7D00FF;
    font-weight: bold;
    border: none;
}

ul.hs-error-msgs {
	position: absolute;
	list-style: none;
	padding: 0;
}

body.single .hbspt-form {
	text-align: center;
}

body.single .hbspt-form .hs-email input {
	border-color: black;
	color: black;
	min-width: 400px;
}

.hbspt-form .hs-email {
	display: inline-block;
	padding: 10px;
	position: relative;
	max-width: 100%;
}

.hbspt-form .hs-email label {
	position: relative;
	bottom: -35px;
	z-index: 2;
	display: none;
}

.hbspt-form .hs-email input {
	background-color: transparent;
    color: white;
    border-radius: 100px;
    padding: 8px 32px;
    font-size: 20px;
    line-height: 32px;
    text-align: center;
    display: inline-block;
    border: 1px solid white;
    position: relative;
    z-index: 3;
    max-width: 100%;
}

.hbspt-form .hs-submit {
	display: inline-block;
}

.hbspt-form .hs-submit input {
	background-color: #7D00FF;
    color: white;
    border-radius: 100px;
    padding: 8px 32px;
    font-size: 20px;
    line-height: 32px;
    text-align: center;
    display: inline-block;
    border: 1px solid #7D00FF;
}

@media (max-width: 991px) {
	.post .meta {
		font-size: 12px;
	}
	.post-content {
		padding: 0 20px;
	}
	.post-info header .featured-image {
		text-align: center!important;
		margin-top: 20px;
	}
}

@media (max-width: 768px) {

	.container {
		padding-left: 24px;
		padding-right: 24px;
	}

	body > header {
		padding: 16px 24px;
	}
	.blog-info header h1 {
		font-size: 40px;
		line-height: 48px;
		margin-bottom: 32px;
	}
	.post.row .excerpt p {
		max-height: 100px;
		overflow: hidden;
	}
	.post.row .permalink {
		font-size: 16px;
		line-height: 32px;
		margin-top: 24px;
		display: inline-block;
	}
	.post.row h2 {
		font-size: 32px;
		line-height: 40px;
		margin-top: 16px;
	}
	.post.row {
		padding: 56px 0;
	}
	input[type=text] {
		width: 50%;
	}
	header .button {
		margin-left: 12px;
		width: calc(50% - 16px);
		font-size: 16px;
	}
	.post-content {
		padding: 0 20px;
		font-size: 14px;
	}
	.post-content ul,
	.post-content ol {
		padding-left: 20px;
	}
	.post-content p, 
	.post-content ul,
	.post-content ol {
		margin-bottom: 32px;
	}
	.post-content h1, 
	.post-content h2, 
	.post-content h3, 
	.post-content h4, 
	.post-content h5, 
	.post-content h6 {
    	margin-bottom: 16px;
	}
	.post-content blockquote {
		font-size: 16px;
	}
	.post-info header h1 {
		font-size: 40px;
		line-height: 48px;
		margin-top: 32px;
		margin-bottom: 16px;
	}
	.post-info header .featured-image {
		margin-top: 136px;
	}
	body > footer {
		padding-top: 40px;
		padding-bottom: 10px;
	}
	body > footer h2 {
		margin-bottom: 32px;
		font-size: 32px;
		line-height: 40px;
	}
	body > footer .social {
		margin-top: 40px;
		margin-bottom: 10px;
	}
}

@media (min-width: 768px) {
	body > footer h2 {
		margin-bottom: 160px;
	}
	.hbspt-form .hs-email input {
		min-width: 400px;
	}
	.post h3 {
		min-height: 100px;
	}

	.post p {
		max-height: 147px;
		overflow: hidden;
	}
}