/* Drop Caps
---------------------------------------------------------------------------- */

p.has-drop-cap:not(:focus)::first-letter {
	font-size: 8.8em;
	margin: 0.08em 0.08em 0 -0.09em;
}

p.has-larger-font-size.has-drop-cap:not(:focus)::first-letter,
p.has-small-font-size.has-drop-cap:not(:focus)::first-letter {
	margin-right: 0.01em;
}


/* Custom Classes
---------------------------------------------------------------------------- */

.bold-heading-text,
.bold-text {
	font-family: Comfortaa, "Helvetica Neue", sans-serif;
	font-size: 48px;
	font-weight: 900;
	letter-spacing: -1px;
	line-height: 1;
	margin-bottom: 10px;
	text-transform: none;
}

.bold-heading-text {
	font-size: 60px;
}

.light-text,
.light-text a {
	color: #fff;
}

.light-text a {
	text-decoration: underline;
}

.light-text a:focus,
.light-text a:hover {
	text-decoration: none;
}

.narrow-content p:last-child {
	margin-bottom: 0;
}

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

	.bold-heading-text,
	.bold-text {
		font-size: 40px;
	}

}

@media only screen and (min-width: 1023px) {

	.narrow-content h1,
	.narrow-content p {
		padding-right: 60%;
	}

}

/* Paragraphs
---------------------------------------------------------------------------- */

/* Background Color
---------------------------------------------------------------------------- */

p.has-background {
	padding: 25px 30px;
}

p.has-background.box-shadow {
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

p.has-background a,
p.has-text-color a {
	color: inherit;
	text-decoration: underline;
}

p.has-background a:focus,
p.has-background a:hover,
p.has-text-color a:focus,
p.has-text-color a:hover {
	color: inherit;
	text-decoration: none;
}

/* Alignment
---------------------------------------------------------------------------- */

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

.has-text-align-left {
	text-align: left;
}

.has-text-align-right {
	text-align: right;
}

.wp-block-buttons > .wp-block-button {
	display: inline-flex;
	margin-bottom: 0;
	gap: 0.5em 0;
}

.wp-block-button.alignleft,
.wp-block-buttons.alignleft,
.wp-block-cover.alignleft,
.wp-block-image .alignleft {
	margin-right: 2em;
}

.wp-block-button.alignright,
.wp-block-buttons.alignright,
.wp-block-cover.alignright,
.wp-block-image .alignright {
	margin-left: 2em;
}

.full-width-content .entry-content > .alignfull,
.search-results .content > .alignfull {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	overflow: hidden;
}

/* .full-width-content .entry-content > .wp-block-table.alignfull {
	margin-left: calc(-100vw / 2 + 100% / 2);
	margin-right: calc(-100vw / 2 + 100% / 2);
	width: 100vw;
} */

.content-sidebar .entry-content .alignfull,
.sidebar-content .entry-content .alignfull {
	margin: 0 0 2em;
	width: 100%;
}

.alignfull .alignwide,
.alignwide .alignwide {
	max-width: 1330px;
	margin-left: auto;
	margin-right: auto;	
}


/* Columns
---------------------------------------------------------------------------- */

.wp-block-columns {
	margin-bottom: 30px;
}

.wp-block-columns.alignfull {
	padding: 0 30px;
}

.wp-block-columns.brand-logos figure,
.wp-block-columns.brand-logos .wp-block-column {
	margin-bottom: 0;
}

/* Cover Image
---------------------------------------------------------------------------- */

.full-width-content .entry-content > .wp-block-cover.alignfull {
	width: 100vw;
}

.wp-block-cover .wp-block-cover-text {
	font-size: 42px;
}

/* Blockquotes and captions
---------------------------------------------------------------------------- */

.wp-block-quote::before {
	color: #888;
	content: "\201C";
	display: block;
	font-family: Comfortaa, sans-serif;
	font-size: 32px;
	font-style: normal;
	font-weight: 600;
	height: 0;
	left: -20px;
	position: relative;
	text-align: left;
	top: -10px;
}

.wp-block-pullquote.alignleft {
	margin: 0 2em 1.5em 0;
}

.wp-block-pullquote.alignright {
	margin: 0 0 1.5em 2em;
}


.wp-block-quote.is-style-large::before {
	font-size: 40px;
}

.wp-block-pullquote blockquote.has-text-color::before {
	color: currentColor;
}

.wp-block-quote {
	border: none;
	margin: 24px 24px 36px;
}

.wp-block-quote:not(.is-large):not(.is-style-large) {
	border: none;
}

.wp-block-quote p {
	color: #222;
	font-family: Comfortaa, sans-serif;
	font-size: 21px;
	font-style: italic;
	line-height: 1.8;
	margin-bottom: 42px;
}
.wp-block-pullquote p {
	font-size: var(--font-size-h3);
}

.wp-block-quote.is-style-large p {
	font-size: 32px;
}

.wp-block-pullquote.is-style-solid-color.alignleft blockquote,
.wp-block-pullquote.is-style-solid-color.alignright blockquote {
	max-width: 80%;
}

.wp-block-pullquote.is-style-solid-color p {
	color: #fff;
	margin-bottom: 42px;
	text-align: center;
}

.wp-block-pullquote:not(.is-style-solid-color)[style*="border-color"] {
	padding: 0;
	margin-left: auto;
	margin-right: auto;
	max-width: 80%;
}

.wp-block-pullquote:not(.is-style-solid-color)[style*="border-color"]::before {
	content: "";
	display: block;
	height: 8px;
	width: 4rem;
	margin: var(--gutter) auto;
	background-color: var(--color-palette-secondary);
}

.wp-block-quote cite {
	color: #222;
	display: block;
	font-family: Comfortaa, sans-serif;
	font-size: 16px;
	font-style: normal;
	margin-top: -25px;
	text-align: inherit;
	text-transform: none;
}

.wp-block-pullquote.is-style-solid-color cite {
	color: #fff;
}

.wp-block-pullquote .has-text-color cite,
.wp-block-pullquote .has-text-color p {
	color: currentColor;
}

.blocks-gallery-caption {
	width: 100%;
}

.blocks-gallery-item figcaption {
	margin-bottom: 0;
}

/* Category Block
---------------------------------------------------------------------------- */

.wp-block-categories {
	margin-left: 0;
	padding-left: 0;
}

.wp-block-categories li {
	list-style-type: none;
}

.wp-block-categories.aligncenter {
	text-align: center;
}

.wp-block-categories.alignfull {
	padding: 0 30px;
}

.wp-block-categories .children {
	padding-left: 30px;
}

/* Card Post (force aligned-bottom-button(s)
---------------------------------------------------------------------------- */

.wp-custom-card-layout {
	min-height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.wp-custom-card-layout > .gb-container-content {
	display: flex;
    flex-direction: column;
    min-height: 100%;
    width: 100%;
    flex-grow: 1;
}

.wp-custom-card-layout > .gb-container-content > .gb-block-post-grid-text {
	flex-grow: 1;
	display: grid;
	grid-template-rows: 1fr auto;
}

/* Archive template
---------------------------------------------------------------------------- */

.archive-entry-wrapper {
	display: grid;
	gap: var(--gutter) 0;
}


/* Latest Posts Block
---------------------------------------------------------------------------- */

.wp-block-latest-posts {
	margin-left: 0;
	padding-left: 0;
}

.wp-block-latest-posts li {
	list-style-type: none;
}

.wp-block-latest-posts.aligncenter {
	text-align: center;
}

.wp-block-latest-posts.alignfull {
	padding: 0 30px;
}

/* Genesis Blocks
---------------------------------------------------------------------------- */

.gb-block-post-grid .gb-post-grid-items .gb-block-post-grid-title {
	font-size: var(--font-size-lead);	
	--link-color: var(--color-palette-accent);
}

.gb-block-post-grid header .gb-block-post-grid-title a {
	color: var(--link-color);
}

.gb-block-post-grid .gb-post-grid-items .gb-block-post-grid-title {
	margin-bottom: 0.75em;
}


.gb-block-post-grid .gb-block-post-grid-byline,
.widget.featuredpost .entry-author,
.widget.featuredpost .entry-time {
	--link-color: "inherit";
	color: var(--color-palette-default);
	font-size: 0.875rem;
}

.gb-block-pricing-table-inside {
	box-shadow: 10px 10px 40px rgba(0, 0, 0, 0.05);
}

.gb-block-button:last-child {
	margin-bottom: 0;
}

.gb-block-post-grid {
	margin-bottom: 0;
}

.site-container .gb-block-post-grid .is-grid, 
.site-container .gb-block-post-grid .gb-is-grid {
	gap: 4rem;
}

.gb-post-grid-section-title {
	color: var(--color-palette-accent);
	margin-bottom: 48px;
}

.gb-block-post-grid .is-grid article, 
.gb-block-post-grid .gb-is-grid article {
	margin-bottom: 0;
	display: flex;
	flex-direction: column;
}

.gb-block-post-grid .gb-block-post-grid-image {
	height: 229px;
}

.gb-block-post-grid .gb-block-post-grid-header {
	display: flex;
	flex-direction: column;
}

.gb-block-post-grid-byline {
	order: -1;
}

.gb-block-post-grid .gb-block-post-grid-image img {
	border-radius: 8px;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.wp-block-genesis-blocks-gb-column.border-radius-8 > .gb-block-layout-column-inner {
	border-radius: 8px;
}

/* Force gap for both column and row; swap to rems. */
.gb-block-layout-column-gap-1 {
	gap: 1rem;
}
.gb-block-layout-column-gap-2 {
	gap: 2rem;
}
.gb-block-layout-column-gap-3 {
	gap: 3rem;
}
.gb-block-layout-column-gap-4 {
	gap: 4rem;
}
.gb-block-layout-column-gap-5 {
	gap: 5rem;
}
.gb-block-layout-column-gap-6 {
	gap: 6rem;
}
.gb-block-layout-column-gap-7 {
	gap: 7rem;
}
.gb-block-layout-column-gap-8 {
	gap: 8rem;
}

@media only screen and (max-width: 600px) {
	.gb-block-layout-column-gap-4 {
		gap: 2rem;
	}
}

@media only screen and (min-width: 783px) and (max-width: 1023px) {
	.gb-layout-columns-4>.gb-layout-column-wrap.gb-is-responsive-column {
		grid-template-columns: 1fr 1fr;
    	grid-template-areas:
			"col1 col2"
			"col3 col4";
	}
}

@media only screen and (max-width: 782px) {
	.gb-layout-columns-2 > .gb-layout-column-wrap.gb-is-responsive-column {
		grid-template-columns: 1fr;
		grid-template-areas:
			"col1"
			"col2";
	}

	.gb-layout-columns-2.mobile-reverse > .gb-layout-column-wrap.gb-is-responsive-column {
		grid-template-areas: 
			"col2"
			"col1";
	}

	.gb-layout-columns-3>.gb-layout-column-wrap.gb-is-responsive-column,
	.gb-layout-columns-4>.gb-layout-column-wrap.gb-is-responsive-column {
		grid-template-columns: 1fr;
    	grid-template-areas:
			"col1"
			"col2"
			"col3";
	}
	.gb-layout-columns-4>.gb-layout-column-wrap.gb-is-responsive-column {
		grid-template-areas:
			"col1"
			"col2"
			"col3"
			"col4";
	}

	.gb-block-post-grid .is-grid.columns-3, 
	.gb-block-post-grid .gb-is-grid.gb-columns-3 {
		grid-template-columns: 1fr 1fr;
	}
}

/* Other Blocks
---------------------------------------------------------------------------- */

.wp-block-preformatted,
.wp-block-verse {
	font-size: 18px;
}

.wp-block-preformatted {
	white-space: pre-wrap;
}

hr.wp-block-separator {
	border-width: 0;
	border-bottom: 1px solid currentColor;
	color: #222;
	margin: 2.2em 0 2em;
}

.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
	max-width: 3.5%;
}

.wp-block-audio audio {
	display: inline-block;
	width: 100%;
}

.blocks-gallery-grid,
.wp-block-social-links {
	padding-left: 0;
}

.wp-block-table.is-style-stripes {
	border-bottom-width: 0;
}

/* Media Queries
---------------------------------------------------------------------------- */

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

	.wp-block-column {
		flex-basis: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.brand-logos {
		max-width: 180px;
	}

}

/* Custom block styles - core/image
---------------------------------------------------------------------------- */

.is-style-keyline {
	border-radius: 8px;
}

@media only screen and (max-width: 600px) {
	.wp-block-image.is-style-keyline > img {		
		height: 200px;
		object-fit: cover;
	}
}

/* Customized Block: Peek column outside container. */
@media only screen and (min-width: 783px) {
	.gb-block-layout-column > .gb-block-layout-column-inner,
	.gb-post-grid-item > .gb-block-post-grid-text {
		display: flex;
		flex-direction: column;
		flex-grow: 1;
	}
	
	.gb-block-layout-column.mh-100 > .gb-block-layout-column-inner {
		min-height: 100%;
	}

	.gb-post-grid-item > .gb-block-post-grid-text > :last-child {
		margin-top: auto;
	}
	
	.column-peek > .gb-block-layout-column-inner {
		--margin-font-size-h3: 0;
		pointer-events: none;
		transform: translateY(53px);
	}

	.column-peek > .gb-block-layout-column-inner  .wp-block-buttons {
		margin-top: auto;
	}
}

.column-container-link {
	pointer-events: none;
}

/* Genesis: Profile Box */
.gb-block-profile {
	flex-flow: column;
	background: transparent;
	padding: 0;
	border-radius: 0;
	margin-bottom: 0;
}
.gb-block-profile .gb-profile-column {
	padding: 0;
}

.gb-block-profile .gb-profile-image-wrap {
	background: transparent;	
}

.gb-block-profile .gb-profile-image-wrap::before {
	display: none;
}

.gb-block-profile .gb-profile-image-square {
	position: static;
}

.gb-block-profile .gb-profile-image-wrap {
	margin-bottom: 1.5rem;
}

.gb-block-profile .gb-profile-image-wrap img {
	display: block;	
	width: 100%;
	max-width: 260px;
	height: auto;
}

.gb-block-profile .gb-profile-name {
	color: var(--color-palette-primary);
	font-size: var(--font-size-h3);
}
