/*
Block editor styles
These styles apply to the front-end and the editor.
However, selectors starting with ".editor-styles-wrapper" only apply to the editor.
*/

/* Editor background */
.editor-styles-wrapper {
	background: #f5f5f0;
}

/* Editor title field, and top-level editor sections */
.edit-post-visual-editor__post-title-wrapper > *,
.editor-styles-wrapper .is-root-container > * {
	padding-left: 20px !important;
	padding-right: 20px !important;
	box-sizing: border-box !important;
}

/* Button core styles from style.css */
.editor-styles-wrapper .wp-block-button .wp-block-button__link {
	font-size: 17px;
	line-height: 1.2;
	font-weight: 500;
	letter-spacing: -0.17px;

	color: #110d0a;
	background-color: transparent;
	border: 1px solid #110d0a;

	padding: 18px 36px;
	border-radius: 100px;
	text-decoration: none;
	transition: all 0.1s linear;
}

/* Button style: Solid */
.editor-styles-wrapper .wp-block-button.is-style-button-solid .wp-block-button__link {
	color: #ffffff;
	background-color: #110d0a;
	border: 1px solid #110d0a;
}

.editor-styles-wrapper .wp-block-button.is-style-button-solid .wp-block-button__link:hover {
	color: #ffffff;
	background-color: #1d6874;
	border: 1px solid #1d6874;
}

/* Editor button group grid */
.dtla-editor--button-group .components-button-group {
	width: 100%;
}

.dtla-editor--button-group .dtla-editor--button-group--grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.dtla-editor--button-group .dtla-editor--button-group--grid button {
	place-content: center;
}

/* Ability to reverse order of columns on mobile (782px or lower) */
@media (max-width: 782px) {
	.mobile-reverse-order {
		flex-direction: column-reverse;
	}
}

/* Customizable block gaps for rows, columns, groups, etc */
.gap-none,
.editor-styles-wrapper .gap-none {
	gap: min(0px, 0vw);
}

.gap-8,
.editor-styles-wrapper .gap-8 {
	gap: min(8px, 0.4166666667vw);
}


.gap-16,
.editor-styles-wrapper .gap-16 {
	gap: min(16px, 0.8333333333vw);
}

.gap-32,
.editor-styles-wrapper .gap-32 {
	gap: min(32px, 1.6666666667vw);
}

.gap-64,
.editor-styles-wrapper .gap-64 {
	gap: min(64px, 3.3333333333vw);
}

.gap-96,
.editor-styles-wrapper .gap-96 {
	gap: min(96px, 5vw);
}

@media (max-width: 782px) {
	.gap-32,
	.editor-styles-wrapper .gap-32 {
		gap: 16px;
	}

	.gap-60,
	.editor-styles-wrapper .gap-60 {
		gap: 30px;
	}

	.gap-96,
	.editor-styles-wrapper .gap-96 {
		gap: 48px;
	}
}

@media (max-width: 782px) {
	.mobile-gap-none,
	.editor-styles-wrapper .mobile-gap-none {
		gap: 0;
	}

	.mobile-gap-8,
	.editor-styles-wrapper .mobile-gap-8 {
		gap: 8px;
	}

	.mobile-gap-16,
	.editor-styles-wrapper .mobile-gap-16 {
		gap: 16px;
	}

	.mobile-gap-32,
	.editor-styles-wrapper .mobile-gap-32 {
		gap: 32px;
	}
	
	.mobile-gap-64,
	.editor-styles-wrapper .mobile-gap-64 {
		gap: 64px;
	}

	.mobile-gap-96,
	.editor-styles-wrapper .mobile-gap-96 {
		gap: 96px;
	}
}

/* Vertical margins */
.vertical-margin-none {
	margin-top: 0;
	margin-bottom: 0;
}
.vertical-margin-x-small {
	margin-top: 16px;
	margin-bottom: 16px;
}
.vertical-margin-small {
	margin-top: 32px;
	margin-bottom: 32px;
}
.vertical-margin-medium {
	margin-top: 64px;
	margin-bottom: 64px;
}
.vertical-margin-large {
	margin-top: 96px;
	margin-bottom: 96px;
}
.vertical-margin-huge {
	margin-top: 128px;
	margin-bottom: 128px;
}

.vertical-margin-none > :first-child,
.vertical-margin-x-small > :first-child,
.vertical-margin-small > :first-child,
.vertical-margin-medium > :first-child,
.vertical-margin-large > :first-child,
.vertical-margin-huge > :first-child { margin-top: 0; }

.vertical-margin-none > :last-child,
.vertical-margin-x-small > :last-child,
.vertical-margin-small > :last-child,
.vertical-margin-medium > :last-child,
.vertical-margin-large > :last-child,
.vertical-margin-huge > :last-child { margin-bottom: 0; }

/* Container styles */
.editor-styles-wrapper .container-style-section {
	padding-top: 96px;
	padding-bottom: 96px;
}

.editor-styles-wrapper .container-style-section > :first-child { margin-top: 0; }
.editor-styles-wrapper .container-style-section > :last-child { margin-top: 0; }


/* Editor styles - copied from style.css */
.editor-styles-wrapper .uppercase { text-transform: uppercase; }
.editor-styles-wrapper .lowercase { text-transform: lowercase; }

.editor-styles-wrapper .weight-light { font-weight: 300; }
.editor-styles-wrapper .weight-regular { font-weight: 400; }
.editor-styles-wrapper .weight-medium { font-weight: 500; }
.editor-styles-wrapper .weight-bold { font-weight: 700; }

.editor-styles-wrapper .text-color-dtl-teal { color: #1d6874; }
.editor-styles-wrapper .text-color-dark-blue { color: #243040; }
.editor-styles-wrapper .text-color-darker-blue { color: #1f2d3d; }
.editor-styles-wrapper .text-color-white { color: #ffffff; }
.editor-styles-wrapper .text-color-lighter-gray { color: #f5f5f0; }
.editor-styles-wrapper .text-color-light-gray { color: #ecece3; }
.editor-styles-wrapper .text-color-gray-a { color: #d9d9d9; }
.editor-styles-wrapper .text-color-gray-b { color: #cecece; }
.editor-styles-wrapper .text-color-dark-gray-b { color: #111111; }
.editor-styles-wrapper .text-color-dark-gray-b { color: #110d0a; }
.editor-styles-wrapper .text-color-black { color: #000000; }

.editor-styles-wrapper .font-gotham { font-family: "Gotham A", "Gotham B", sans-serif; }
.editor-styles-wrapper .font-georgia { font-family: Georgia, serif; }

.editor-styles-wrapper .is-style-heading-section-title,
.editor-styles-wrapper h1.is-style-heading-section-title,
.editor-styles-wrapper h2.is-style-heading-section-title,
.editor-styles-wrapper h3.is-style-heading-section-title,
.editor-styles-wrapper h4.is-style-heading-section-title,
.editor-styles-wrapper h5.is-style-heading-section-title,
.editor-styles-wrapper h6.is-style-heading-section-title {
	font-family: "Gotham A", "Gotham B", sans-serif;
	font-size: 18px;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-align: center;
	text-transform: uppercase;
}
/* End of editor styles */

/* Copied from editor.css */
.editor-styles-wrapper a {
	color: #110d0a;
	text-decoration: underline;
}

.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6 {
	font-family: Georgia, serif;
	line-height: 1.2;
	font-weight: 400;
}

.editor-styles-wrapper h1 a,
.editor-styles-wrapper h2 a,
.editor-styles-wrapper h3 a,
.editor-styles-wrapper h4 a,
.editor-styles-wrapper h5 a,
.editor-styles-wrapper h6 a {
	text-decoration-thickness: 2px;
}

.editor-styles-wrapper h1,
.editor-styles-wrapper .h1 {
	font-size: 55px;
}

.editor-styles-wrapper h2,
.editor-styles-wrapper .h2 {
	font-size: 36px;
}

.editor-styles-wrapper h3,
.editor-styles-wrapper .h3 {
	font-size: 28px;
}

.editor-styles-wrapper h4,
.editor-styles-wrapper .h4 {
	font-size: 20px;
}

.editor-styles-wrapper h5,
.editor-styles-wrapper .h5 {
	font-size: 18px;
}

.editor-styles-wrapper h6,
.editor-styles-wrapper .h6 {
	font-size: 16px;
}

/* Content justification */
.editor-styles-wrapper .is-content-justification-right { display: flex; align-items: flex-end; }
.editor-styles-wrapper .is-content-justification-left { display: flex; align-items: flex-start; }
.editor-styles-wrapper .is-content-justification-center { display: flex;align-items: center; }
/* End of: Copied from editor.css */


/* Start: two-logo-row -- Custom class for group/row block  */
@media ( min-width: 782px ) {
	.editor-styles-wrapper .wp-block-group.two-logo-row {
		display: grid;
		grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr);
		width: fit-content;
		gap: 0;
	}

	.editor-styles-wrapper .wp-block-group.two-logo-row > :nth-child(1) {
		border-right: 1px solid #B1B1B1;
		padding-right: 35px;
		text-align: right;
	}

	.editor-styles-wrapper .wp-block-group.two-logo-row > :nth-child(2) {
		padding-left: 35px;
		text-align: left;
	}
}

@media ( max-width: 781.9px ) {
	.editor-styles-wrapper .wp-block-group.two-logo-row {
		display: grid;
		grid-template-columns: 1fr;
		justify-items: center;
	}

	.editor-styles-wrapper .wp-block-group.two-logo-row > :nth-child(1) {
		position: relative;
		padding-bottom: 35px;
		text-align: center;
	}

	.editor-styles-wrapper .wp-block-group.two-logo-row > :nth-child(2) {
		padding-top: 35px;
		text-align: center;
	}

	.editor-styles-wrapper .wp-block-group.two-logo-row > :nth-child(1)::after {
		content: '';
		display: block;
		position: absolute;
		top: 100%;
		left: 25%;
		width: 50%;
		border-bottom: 1px solid #B1B1B1;
	}
}
/* End: two-logo-row -- Custom class for group/row block  */


/* White header */
.editor-styles-wrapper .is-style-heading-white-title {
	color: #fff !important;
	text-align: center;
	font-family: Georgia, sans-serif;
	font-style: italic;
	font-weight: 700;
	letter-spacing: 0.2px;
	text-shadow: 3px 1px 6px rgba(0, 0, 0, 27%);
}

/* Cover image (ideally used with white header as overlaying h2, etc) */
.editor-styles-wrapper .wp-block-cover {
	width: 100%;
	min-height: 0;
}

.editor-styles-wrapper .wp-block-cover,
.editor-styles-wrapper .wp-block-cover > img {
	border-radius: 7px;
}

/* Start: Lesson cards */
.lesson-card {
}

.lesson-card a {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;

	max-width: 350px;

	border-radius: 7px;
	overflow: hidden;
	text-align: center;
	color: #FFF;
	height: 100%;
}

.lesson-card a img {
	width: 100%;
	height: auto;
}

@supports ( object-fit: cover ) {
	.lesson-card a img {
		height: 100%;
		object-fit: cover;
	}
}

.lesson-card .lesson-card-content,
.lesson-card a img {
	grid-row: 1;
	grid-column: 1;
}

.lesson-card .lesson-card-content {
	position: relative;
	padding: 55px 10px;
	z-index: 2;

	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
	align-content: center;

	color: #FFF;
}

.lesson-card-content .lesson-text,
.lesson-card-content .open-date {
	font-family: Gotham, sans-serif;
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 1.8px;
	text-transform: uppercase;
}

.lesson-card-content .lesson-title {
	margin: 0;
	color: #FFF;
	text-align: center;
	text-shadow: 3px 1px 6px rgba(0, 0, 0, 0.27);
	font-family: Georgia, serif;
	font-size: 32px;
	font-style: italic;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0.165px;
}

/* Align last single item at 100% width */
.lesson-grid.lesson-grid--span-full .lesson-item:last-child .lesson-card-content {
	padding: 30px 10px;
}

.lesson-grid.lesson-grid--span-full .lesson-item:last-child {
	flex-basis: 100%;
}

.lesson-grid.lesson-grid--span-full .lesson-item:last-child,
.lesson-grid.lesson-grid--span-full .lesson-item:last-child a {
	max-width: none;
}

/* Align last two items at 50% width */
.lesson-grid.lesson-grid--span-half .lesson-item:nth-last-child(1) .lesson-card-content,
.lesson-grid.lesson-grid--span-half .lesson-item:nth-last-child(2) .lesson-card-content {
	padding: 30px 10px;
}

.lesson-grid.lesson-grid--span-half .lesson-item:nth-last-child(1),
.lesson-grid.lesson-grid--span-half .lesson-item:nth-last-child(2) {
	flex-basis: calc(50% - 30px);
}

.lesson-grid.lesson-grid--span-half .lesson-item:nth-last-child(1),
.lesson-grid.lesson-grid--span-half .lesson-item:nth-last-child(2),
.lesson-grid.lesson-grid--span-half .lesson-item:nth-last-child(1) a,
.lesson-grid.lesson-grid--span-half .lesson-item:nth-last-child(2) a {
	max-width: none;
}
/* End: Lesson Cards */


/* Conditional styles from DTLA Lessons plugin using container styles */
.editor-styles-wrapper .container-style-site-loading:not(.acf-block-preview),
.editor-styles-wrapper .container-style-logged-in:not(.acf-block-preview),
.editor-styles-wrapper .container-style-logged-out:not(.acf-block-preview),
.editor-styles-wrapper .container-style-facilitator-only:not(.acf-block-preview),
.editor-styles-wrapper .container-style-developer-only:not(.acf-block-preview) {
	position: relative;
	outline: 2px solid rgba(0,0,0,0.1);
	outline-offset: 5px;
}

.editor-styles-wrapper .container-style-site-loading:not(.acf-block-preview)::before,
.editor-styles-wrapper .container-style-logged-in:not(.acf-block-preview)::before,
.editor-styles-wrapper .container-style-logged-out:not(.acf-block-preview)::before,
.editor-styles-wrapper .container-style-facilitator-only:not(.acf-block-preview)::before,
.editor-styles-wrapper .container-style-developer-only:not(.acf-block-preview)::before {
	position: absolute;
	bottom: 2px;
	left: -2px;
	color: rgba(0,0,0,0.5);
	font-size: 12px;
}

.editor-styles-wrapper .container-style-site-loading:not(.acf-block-preview)::before { content: '(Visible only while site loading)'; }
.editor-styles-wrapper .container-style-logged-in:not(.acf-block-preview)::before { content: '(Visible only when logged in)'; }
.editor-styles-wrapper .container-style-logged-out:not(.acf-block-preview)::before { content: '(Visible only when logged out)'; }
.editor-styles-wrapper .container-style-facilitator-only:not(.acf-block-preview)::before { content: '(Visible only to Facilitators)'; }
.editor-styles-wrapper .container-style-developer-only:not(.acf-block-preview)::before { content: '(Visible only to Developers)'; }
/* End: Conditional styles from DTLA Lessons plugin using container styles */