/*
Theme Name: Peterscene Lean
Theme URI: https://peterscene.com
Author: Jason Petersen
Author URI: https://peterscene.com
Description: A minimalist WordPress theme built on Bootstrap 5.3.8 with Atkinson Hyperlegible Next font. Inspired by Braille Institute's emphasis on legibility: large text, big buttons, high contrast.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: peterscene-lean
Tags: blog, minimal, bootstrap, clean, accessibility, high-contrast
*/

/* COLOR VARIABLES */

:root {
	--font-family-base: 'Atkinson Hyperlegible Next', sans-serif;
	--color-text: #111;
	--color-bg: #fff;
	--color-primary: #657f6e;
	--color-primary-light: #d4ddd7;
	--color-primary-dark: #4a5f52;
	--color-accent: #e67e22;
	--color-accent-light: #e5cdb8;
	--color-accent-dark: #cf6d1d;
	--color-border: #cccccc;
}

/* CORE STYLES */

body {
	font-family: var(--font-family-base);
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 1.5rem;
	line-height: 3rem;
	color: var(--color-text);
	background-color: var(--color-bg);
	max-width: 100vw;
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1rem;
	color: var(--color-text);
}

h1, .h1 {
	font-size: 3rem;
}

h2, .h2 {
	font-size: 2.5rem;
}

h3, .h3 {
	font-size: 2rem;
}

h4, .h4 {
	font-size: 1.75rem;
}

h5, .h5 {
	font-size: 1.5rem;
}

h6, .h6 {
	font-size: 1.25rem;
}

p {
	margin-bottom: 1.5rem;
}

a {
	color: var(--color-accent);
	text-decoration: underline;
	font-weight: 500;
}

a:hover,
a:focus {
	color: var(--color-accent-dark);
	text-decoration: none;
}

a[target="_blank"]:not(.btn)::after {
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	content: "\f08e";
	margin-left: 0.25rem;
	display: inline-block;
	font-size: 0.85em;
}

.bold {
	font-weight: bold;
}

.ital, .italic, .italics {
	font-style: italic;
}

.no-bullet,
.entry-content ul.no-bullet {
	list-style-type: none;
	list-style-position: inside;
	padding: 0;
	margin: 0 0 inherit 0;
}

img.img-circle {
	box-sizing: content-box;
	-webkit-border-radius: 50%;
		 -moz-border-radius: 50%;
			border-radius: 50%;
}

img.img-border {
	border: 5px solid #282b29;
}

a > img.img-border:hover {
	border-color: var(--color-primary);
}

.float-start {
	text-align: left;
	margin-right: 20px;
	margin-right: 1.25rem;
}

.float-end {
	text-align: right;
	margin-left: 20px;
	margin-left: 1.25rem;
}

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

img.float-start, img.float-end, img.float-none {
	margin-bottom: 20px;
	margin-bottom: 1.25rem;
}

.hr-small {
	background: var(--color-primary);
	height: 4px;
	width: 100px;
	margin: 2em 0;
	clear: both;
}

/* HEADER */

.site-header {
	border-bottom: 4px solid #eee;
}

.site-logo {
	height: 60px;
	width: auto;
	max-width: 100%;
}

.navbar {
	padding: 1.5rem 0;
	z-index: 1;
}

.navbar .container {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}

@media (max-width: 575px) {
	.navbar .container {
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
}

.navbar-brand-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
}

.navbar-brand {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--color-text) !important;
	display: block;
	text-decoration: none !important;
}

.navbar-toggler {
	gap: 0.5rem;
}

.navbar-toggler:focus {
	box-shadow: none;
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

.navbar-toggler-icon-open,
.navbar-toggler-icon-close {
	font-size: 1.25rem;
	transition: opacity 0.2s;
}

.navbar-toggler-icon-close {
	display: none;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon-open {
	display: none;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon-close {
	display: inline-block;
}

.navbar-toggler-text {
	position: relative;
	z-index: 1;
}

@media (min-width: 1200px) {
	.navbar-toggler {
		display: none;
	}
}

.navbar-collapse {
	width: 100%;
	text-align: center;
	padding-top: 20px;
}

@media (min-width: 1200px) {
	.navbar-collapse {
		width: auto;
		text-align: unset;
		padding-top: 0;
	}
}

.nav-link {
	font-size: 1.125rem;
	font-weight: 500;
	padding: 0.75rem 1rem !important;
	color: var(--color-text) !important;
}

.nav-link:hover,
.nav-link:focus {
	color: var(--color-accent) !important;
}

/* FOOTER */

.site-footer {
	border-top: 2px solid var(--color-border);
}

/* PAGE AND POST CONTENT */

.entry-content > * {
		max-width: 100%;
}

/* FULL-WIDTH CLASSES */

.container-edge {
	width: 100%;
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-left: 0;
	margin-right: 0;
}

.entry-content .container-edge {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: 100vw;
	max-width: 100vw;
}

.img-edge {
	width: 100%;
	height: auto;
	display: block;
}

.post-banner.container-edge {
	height: 60vh;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #000000;
}

.post-banner-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* BREADCRUMBS */

.breadcrumbs {
	margin-bottom: 20px;
}

.breadcrumbs::after {
	display: block;
	content: "";
	background: var(--color-accent-dark);
	height: 4px;
	width: 100px;
	margin: 1em 0 2em 0;
	clear: both;
}

.breadcrumbs ul,
.breadcrumbs ol {
	display: flex;
	flex-direction: row;
	list-style: none;
}

.breadcrumbs ul,
.breadcrumbs ol,
.breadcrumbs li {
	margin-bottom: 0 !important;
}

.breadcrumbs ol {
	padding-left: 0;
}

.breadcrumbs li {
	margin-right: 5px;
}

.breadcrumbs a {
	font-weight: bold;
}

/* FORMS */

.form-control,
.form-select {
	font-size: 1.125rem;
	padding: 0.75rem 1rem;
	border: 2px solid var(--color-border);
	border-radius: 0.375rem;
}

.form-control:focus,
.form-select:focus {
	border-color: var(--color-primary);
	box-shadow: 0 0 0 0.25rem rgba(0, 102, 204, 0.25);
}

/* BUTTONS */

button:not(.scroll-to-top),
.button,
.btn,
input[type="submit"],
input[type="button"],
button[type="submit"],
div.wpforms-container-full .wpforms-form input[type=submit],
div.wpforms-container-full .wpforms-form button[type=submit],
div.wpforms-container-full .wpforms-form .wpforms-page-button,
body div.code-toolbar>.toolbar>.toolbar-item>button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	background-color: var(--color-primary-light);
	border: 3px solid var(--color-primary-dark);
	border-radius: 6px;
	box-sizing: border-box;
	color: var(--color-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5em;
	max-width: 100%;
	padding: 0 20px;
	letter-spacing: 0.2em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
	transition: all 0.2s ease-in-out;
	cursor: pointer;
}

button:not(.scroll-to-top)::after,
.button::after,
.btn::after,
input[type="submit"]::after,
input[type="button"]::after,
button[type="submit"]::after,
div.wpforms-container-full .wpforms-form input[type=submit]::after,
div.wpforms-container-full .wpforms-form button[type=submit]::after,
div.wpforms-container-full .wpforms-form .wpforms-page-button::after {
	background-color: var(--color-primary);
	border-radius: 6px;
	content: "";
	display: block;
	height: 48px;
	left: 0;
	width: 100%;
	position: absolute;
	top: -2px;
	transform: translate(12px, 6px);
	transition: all 0.2s ease-in-out;
	z-index: -1;
}

button:not(.scroll-to-top):hover::after,
.button:hover::after,
.btn:hover::after,
input[type="submit"]:hover::after,
input[type="button"]:hover::after,
button[type="submit"]:hover::after,
div.wpforms-container-full .wpforms-form input[type=submit]:hover::after,
div.wpforms-container-full .wpforms-form button[type=submit]:hover::after,
div.wpforms-container-full .wpforms-form .wpforms-page-button:hover::after,
button:not(.scroll-to-top):focus::after,
.button:focus::after,
.btn:focus::after,
input[type="submit"]:focus::after,
input[type="button"]:focus::after,
button[type="submit"]:focus::after,
div.wpforms-container-full .wpforms-form input[type=submit]:focus::after,
div.wpforms-container-full .wpforms-form button[type=submit]:focus::after,
div.wpforms-container-full .wpforms-form .wpforms-page-button:focus::after,
button:not(.scroll-to-top):active::after,
.button:active::after,
.btn:active::after,
.btn:first-child:active::after,
input[type="submit"]:active::after,
input[type="button"]:active::after,
button[type="submit"]:active::after,
div.wpforms-container-full .wpforms-form input[type=submit]:active::after,
div.wpforms-container-full .wpforms-form button[type=submit]:active::after,
div.wpforms-container-full .wpforms-form .wpforms-page-button:active::after {
	background-color: var(--color-accent);
	transform: translate(8px, 4px);
}

button:not(.scroll-to-top):hover,
.button:hover,
.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
button[type="submit"]:hover,
div.wpforms-container-full .wpforms-form input[type=submit]:hover,
div.wpforms-container-full .wpforms-form button[type=submit]:hover,
div.wpforms-container-full .wpforms-form .wpforms-page-button:hover,
body div.code-toolbar>.toolbar>.toolbar-item>button:hover,
button:not(.scroll-to-top):focus,
.button:focus,
.btn:focus,
input[type="submit"]:focus,
input[type="button"]:focus,
button[type="submit"]:focus,
div.wpforms-container-full .wpforms-form input[type=submit]:focus,
div.wpforms-container-full .wpforms-form button[type=submit]:focus,
div.wpforms-container-full .wpforms-form .wpforms-page-button:focus,
body div.code-toolbar>.toolbar>.toolbar-item>button:focus,
button:not(.scroll-to-top):active,
.button:active,
.btn:active,
.btn:first-child:active,
input[type="submit"]:active,
input[type="button"]:active,
button[type="submit"]:active,
div.wpforms-container-full .wpforms-form input[type=submit]:active,
div.wpforms-container-full .wpforms-form button[type=submit]:active,
div.wpforms-container-full .wpforms-form .wpforms-page-button:active,
body div.code-toolbar>.toolbar>.toolbar-item>button:active,
:not(.btn-check)+.btn:active {
	outline: 0;
	color: var(--color-text);
	background-color: var(--color-accent-light);
	border: 3px solid var(--color-accent-dark);
}

.btn-sm {
	font-size: 12px;
	height: 30px;
	padding: 0 10px;
}

.btn-sm::after {
	height: 30px;
}

.btn-lg {
	font-size: 20px;
	height: 60px;
	padding: 10px 30px;
}

.btn-lg::after {
	height: 60px;
}

.btn-square,
.btn-square::after {
	width: 48px;
	font-size: 28px;
}

.btn-square::after {
	transform: translate(4px, 4px);
}

.btn-square:hover::after,
.btn-square:focus::after,
.btn-square:active::after,
.btn-square:first-child:active::after {
	transform: translate(2px, 2px);
}

.btn-inline {
	display: inline-flex;
	vertical-align: baseline;
	margin-left: 0.25rem;
}

/* SCROLL TO TOP BUTTON */

.scroll-to-top {
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 60px;
	height: 60px;
	background-color: var(--color-primary);
	color: #ffffff;
	border: 3px solid var(--color-primary);
	border-radius: 50%;
	font-size: 1.5rem;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	z-index: 9999;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.scroll-to-top:hover {
	background-color: var(--color-primary-dark);
	border-color: var(--color-primary-dark);
	transform: translateY(-3px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.scroll-to-top.is-shown {
	opacity: 1;
	visibility: visible;
}

.scroll-to-top:focus {
	outline: 3px solid var(--color-accent);
	outline-offset: 3px;
}

.scroll-to-top::after {
	display: none;
}

/* FANCY BLOCKQUOTES */

blockquote {
	font-style: italic;
	background: var(--color-text);
	border-style: solid;
	border-width: 0;
	border-color: var(--color-primary);
	padding: 20px;
	quotes: "\201C""\201D""\2018""\2019";
	clear: initial;
	color: initial;
}

blockquote::before,
blockquote::after {
	color: var(--color-primary);
	font-family: Georgia;
	font-size: 4em;
	line-height: 0.1em;
	margin-right: 0.15em;
	vertical-align: -0.4em;
}

blockquote::before {
	content: open-quote;
}

blockquote::after {
	content: no-close-quote;
}

blockquote p {
	font-size: inherit;
	display: inline;
	color: #eee;
}

blockquote cite {
	color: initial;
	margin-bottom: initial;
	font-size: initial;
}

blockquote:not(.blockleft):not(.blockright),
blockquote.blockcenter {
	margin-bottom: 40px;
	margin-bottom: 2.5rem;
	border-bottom-width: 10px;
}

@media (min-width: 576px) {
	blockquote.blockleft,
	blockquote.blockright {
		width: 30%;
		min-width: 240px;
	}
	blockquote.blockleft {
		float: left;
		margin-right: 40px;
		border-right-width: 10px;
	}
	blockquote.blockright {
		float: right;
		margin-left: 40px;
		border-left-width: 10px;
	}
}

@media (max-width: 575px) {
	blockquote {
		margin-bottom: 40px;
		margin-bottom: 2.5rem;
		border-bottom-width: 10px;
	}
}

/* IMAGE CAPTIONS */

.entry-content figcaption {
	font-size: 80%;
	font-style: italic;
	text-align: center;
	line-height: 2em;
}

/* HOMEPAGE */

.homepage-headshot {
	margin: 0 0 40px 0;
}

@media (min-width: 992px) {
	.homepage-headshot {
		float: left;
		margin: 0 40px 0 0;
	}
}

.homepage-headshot img {
	max-height: 30vh;
	width: auto;
	border-radius: 6px;
}

body.home .recent-posts-heading {
	text-align: center;
}

/* BLOG FIRST AND LAST PARAGRAPH FANCINESS */

.dropcap,
body.single-post .entry-content > p:not(.no-dropcap):first-of-type:first-letter {
	float: left;
	padding: 10px 20px;
	margin-right: 15px;
	margin-top: 5px;
	line-height: 1;
	border-bottom: 5px solid var(--color-primary);
	color: #fff;
	font-size: 80px;
	background-color: var(--color-text);
	font-family: Georgia;
	font-style: normal;
	font-weight: bold;
	text-transform: uppercase;
}

body.single-post .entry-content > p:first-of-type {
	font-size: 2rem;
}

body.single-post .entry-content > p:first-of-type::after {
	content: "";
	display: block;
	clear: both;
}

body.single-post .entry-content > p:last-of-type::after {
	display: inline-block;
	content: "";
	margin-left: 0.3em;
	width: 16px;
	height: 18px;
	background: url('/wp-content/uploads/2019/01/peterscene-logo-16x18.svg');
	background-size: 16px 18px;
}

.entry-content > p:first-child > img {
	margin-top: 40px;
	margin-top: 2.5rem;
}

/* POST / BLOG (SINGLE) */

.entry-meta {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
}

.entry-meta .posted-on,
.entry-meta .cat-text-in {
	font-size: 20px;
	font-style: italic;
}

.entry-meta .cat-links {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 20px;
}

/* BLOG POST LIST */

.blog-post-list {
	list-style: none;
	padding: 0;
}

.blog-post-item {
	padding-bottom: 2rem;
	margin-bottom: 3rem;
	border-bottom: 2px solid var(--color-border);
}

.blog-post-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0 !important;
}

.blog-post-item > .row > div.col-auto {
	margin: 0 auto;
}

.blog-post-item .post-thumbnail {
	display: block;
	width: 150px;
	height: 150px;
}

.blog-post-item .post-thumbnail-image {
	contain-intrinsic-size: 150px 150px !important;
}

.blog-post-item .entry-title {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 0.5rem;
}

@media (max-width: 767px) {
	.blog-post-item .entry-title {
		font-size: 2rem;
	}
}

.blog-post-item .entry-title a {
	color: inherit;
}

.blog-post-item .entry-title a:hover {
	color: var(--color-accent-dark);
}

.blog-post-item .entry-title .entry-date {
	font-weight: 400;
	font-style: italic;
}

.blog-post-item .entry-title .entry-date::after {
	display: inline-block;
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	font-size: 0.85em;
	font-style: normal;
	content: "\f101";
	margin-left: 0.50rem;
	color: var(--color-accent);
}

.blog-post-item .posted-on,
.blog-post-item .categories {
	font-size: 1.125rem;
}

.blog-post-item .categories {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	font-weight: 600;
}

.blog-post-item .category-buttons {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
}

.pagination-wrapper {
	margin-top: 60px;
}

.nav-links {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 20px;
}

@media (max-width: 575px) {
	.nav-links {
		justify-content: center;
	}
}

.nav-links .page-numbers {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	width: 48px;
	outline: 0;
	color: var(--color-text);
	background-color: var(--color-accent-light);
	border: 3px solid var(--color-accent-dark);
	border-radius: 6px;
	box-sizing: border-box;
	text-decoration: none;
	font-weight: 600;
	line-height: 1.5em;
	max-width: 100%;
	padding: 0 20px;
	text-align: center;
	text-transform: uppercase;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
	transition: all 0.2s ease-in-out;
	cursor: pointer;
}

.nav-links .page-numbers:hover {
	background-color: var(--color-primary-light);
	border: 3px solid var(--color-primary-dark);
	color: var(--color-text);
	text-decoration: none;
}

.nav-links .page-numbers.current,
.nav-links .page-numbers.current:hover {
	background-color: #eee;
	border: 3px solid #aaa;
	cursor: default;
}

.nav-links .page-numbers.next,
.nav-links .page-numbers.prev {
	width: unset;
	letter-spacing: 0.2em;
}

/* CATEGORY AND TAG PAGES */

.blog-back-link a {
	color: var(--color-accent);
	font-weight: 500;
}

.blog-back-link a:hover {
	color: var(--color-accent-dark);
}

.archive-header {
	padding-bottom: 2rem;
	border-bottom: 3px solid var(--color-border);
}

.archive-title {
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.archive-title i {
	font-size: 2.5rem;
}

.archive-description {
	font-size: 1.25rem;
	color: #666;
}

/* RELATED POSTS */

.related-posts {
	border-top: 2px solid var(--color-border);
}

.related-posts-title {
	font-size: 2rem;
	font-weight: 700;
}

.related-post-thumbnail {
	display: block;
	width: 150px;
	height: 150px;
	overflow: hidden;
}

.related-post-image {
	width: 150px;
	height: 150px;
	object-fit: cover;
	display: block;
}

.related-post-placeholder {
	width: 150px;
	height: 150px;
	background-color: #f0f0f0;
	display: block;
}

.related-post-title {
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.3;
}

.related-post-title a:hover {
	color: var(--color-accent);
}

.related-post-date {
	font-size: 1rem;
}

.related-post-excerpt {
	font-size: 1rem;
	line-height: 1.5;
	color: #666;
}

/* ALTERNATING SECTIONS - PORTFOLIOS */

.section {
	position: relative;
	box-sizing: border-box;
	z-index: 2;
}

body.page .section p {
	margin-top: 0;
}

.section img {
	width: auto;
	height: auto;
}

.section-dark {
	color: var(--color-bg);
	background-color: var(--color-text);
}

.section-dark h1, .section-dark .h1, .section-dark h2, .section-dark .h2, .section-dark h3, .section-dark .h3, .section-dark h4, .section-dark .h4, .section-dark h5, .section-dark .h5, .section-dark h6, .section-dark .h6 {
	color: var(--color-bg);
	margin-top: 0;
}

.alt-section > div:first-child {
	padding-top: 40px;
}

.alt-section > div:last-child {
	padding-bottom: 40px;
}

.alt-section div p:first-child {
	margin-top: 40px;
	margin-top: 2.5rem;
}

/* VIDEO RESPONSIVENESS */

.embed-responsive-item {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
}

.embed-responsive-item iframe,
.embed-responsive-item object,
.embed-responsive-item embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* WP FORMS OVERRIDES */

div.wpforms-container-full .wpforms-form .wpforms-field-label {
	font-size: inherit;
}

div.wpforms-container-full .wpforms-form input[type=date], div.wpforms-container-full .wpforms-form input[type=datetime], div.wpforms-container-full .wpforms-form input[type=datetime-local], div.wpforms-container-full .wpforms-form input[type=email], div.wpforms-container-full .wpforms-form input[type=month], div.wpforms-container-full .wpforms-form input[type=number], div.wpforms-container-full .wpforms-form input[type=password], div.wpforms-container-full .wpforms-form input[type=range], div.wpforms-container-full .wpforms-form input[type=search], div.wpforms-container-full .wpforms-form input[type=tel], div.wpforms-container-full .wpforms-form input[type=text], div.wpforms-container-full .wpforms-form input[type=time], div.wpforms-container-full .wpforms-form input[type=url], div.wpforms-container-full .wpforms-form input[type=week], div.wpforms-container-full .wpforms-form select, div.wpforms-container-full .wpforms-form textarea {
	font-size: inherit;
	height: initial;
}

/* RECAPTCHA */

.g-recaptcha {
	transform-origin: left top;
	-webkit-transform-origin: left top;
}

@media (max-width: 479px) {
	.g-recaptcha {
		transform: scale(0.80);
	}
}

/* PRISM CODE SYNTAX HIGHLIGHTING */

pre[class*=language-] {
	border-radius: 6px;
}

body div.code-toolbar>.toolbar>.toolbar-item>button::after {
	display: none;
}

body div.code-toolbar>.toolbar {
	top: 8px;
	right: 10px;
}

@media (max-width: 767px) {
	body code[class*=language-], body pre[class*=language-] {
		font-size: 0.8em;
	}
}

.code-heading::before {
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  content: "\f121";
  margin-right: 0.5rem;
}

/* CV PAGE */

.cv-item {
	margin-bottom: 30px;
}

body.page.page-id-179 .cv h2 {
	text-decoration: underline;
	margin-bottom: 1em;
}

body.page.page-id-179 .cv h5 {
	font-style: italic;
	margin: 0 0 1em 0;
}

body.page.page-id-179 .cv ul {
	list-style-type: square;
}

body.page.page-id-179 .cv h3,
body.page.page-id-179 .cv h4,
body.page.page-id-179 .cv p {
	margin: 0;
}

/* AI CHAT BUBBLE */

.ai-chat-bubble {
	max-width: 50%;
	margin-left: auto;
	margin-right: 0;
	padding: 10px 20px;
	background-color: #eee;
	border-radius: 15px 15px 15px 15px;
	margin-bottom: 1.5rem;
	word-wrap: break-word;
	box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.ai-chat-bubble p {
    margin: 0 !important;
}

@media (max-width: 575px) {
	.ai-chat-bubble {
		max-width: 100%;
		margin-left: 0;
	}
}

/* SPACERS */

.spacer5 { height: 5px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer10 { height: 10px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer15 { height: 15px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer20 { height: 20px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer25 { height: 25px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer30 { height: 30px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer35 { height: 35px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer40 { height: 40px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer45 { height: 45px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer50 { height: 50px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer100 { height: 100px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
.spacer200 { height: 200px; width: 100%; font-size: 0; margin: 0; padding: 0; border: 0; display: block; }
