/**
 * Relevant Breakpoints:
 *   - Columns stack at 782px
 *   - Menu changes to mobile version at 599px
 */

/* Desktop only */
@media (min-width: 1201px) {
	.hide-on-desktop {
		display: none !important;
	}
}

/* Classes for tablet size */
@media (max-width: 1200px) {

	.tablet-tb-padding-xs,
	div.tablet-tb-padding-xs[style] {
		padding-top: var(--wp--preset--spacing--xs) !important;
		padding-bottom: var(--wp--preset--spacing--xs) !important;
	}
	.tablet-tb-padding-s,
	div.tablet-tb-padding-s[style] {
		padding-top: var(--wp--preset--spacing--s) !important;
		padding-bottom: var(--wp--preset--spacing--s) !important;
	}
	.tablet-tb-padding-m,
	div.tablet-tb-padding-m[style] {
		padding-top: var(--wp--preset--spacing--m) !important;
		padding-bottom: var(--wp--preset--spacing--m) !important;
	}
	.tablet-tb-padding-l,
	div.tablet-tb-padding-l[style] {
		padding-top: var(--wp--preset--spacing--l) !important;
		padding-bottom: var(--wp--preset--spacing--l) !important;
	}
	.tablet-tb-padding-xl,
	div.tablet-tb-padding-xl[style] {
		padding-top: var(--wp--preset--spacing--xl) !important;
		padding-bottom: var(--wp--preset--spacing--xl) !important;
	}
	.tablet-tb-padding-xxl,
	div.tablet-tb-padding-xxl[style] {
		padding-top: var(--wp--preset--spacing--xxl) !important;
		padding-bottom: var(--wp--preset--spacing--xxl) !important;
	}
	.tablet-lr-padding-xs,
	div.tablet-lr-padding-xs[style] {
		padding-left: var(--wp--preset--spacing--xs) !important;
		padding-right: var(--wp--preset--spacing--xs) !important;
	}
	.tablet-lr-padding-s,
	div.tablet-lr-padding-s[style] {
		padding-left: var(--wp--preset--spacing--s) !important;
		padding-right: var(--wp--preset--spacing--s) !important;
	}
	.tablet-lr-padding-m,
	div.tablet-lr-padding-m[style] {
		padding-left: var(--wp--preset--spacing--m) !important;
		padding-right: var(--wp--preset--spacing--m) !important;
	}
	.tablet-lr-padding-l,
	div.tablet-lr-padding-l[style] {
		padding-left: var(--wp--preset--spacing--l) !important;
		padding-right: var(--wp--preset--spacing--l) !important;
	}
	.tablet-lr-padding-xl,
	div.tablet-lr-padding-xl[style] {
		padding-left: var(--wp--preset--spacing--xl) !important;
		padding-right: var(--wp--preset--spacing--xl) !important;
	}
	.tablet-lr-padding-xxl,
	div.tablet-lr-padding-xxl[style] {
		padding-left: var(--wp--preset--spacing--xxl) !important;
		padding-right: var(--wp--preset--spacing--xxl) !important;
	}

	/* center-on-tablet */
	.wp-block-column.center-on-tablet {
		text-align: center;
	}
	.wp-block-group.center-on-tablet,
	.wp-block-social-links.center-on-tablet {
		align-items: center;
		justify-content: center;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.wp-block-navigation.center-on-tablet {
		justify-content: center;
	}

	/* Hide on tablet */
	.hide-on-tablet {
		display: none !important;
	}

	.wp-block-group.stack-on-tablet,
	.wp-block-columns.stack-on-tablet {
		flex-direction: column;
	}
}

/* Columns stack at 782px - Classes for mobile size */
@media (max-width: 781px) {
	/* column-reverse */
	.column-reverse {
		flex-direction: column-reverse;
	}

	/* text-horizontal-on-mobile */
	.text-horizontal-on-mobile,
	.wp-block-heading.text-horizontal-on-mobile {
		writing-mode: lr !important;
		rotate: 0deg !important;
	}

	/* center-on-mobile */
	.wp-block-column.center-on-mobile {
		text-align: center;
	}
	.wp-block-group.center-on-mobile,
	.wp-block-social-links.center-on-mobile {
		align-items: center;
		justify-content: center;
	}
	.wp-block-navigation.center-on-mobile {
		justify-content: center;
	}

	/* fullwidth-on-mobile */
	.fluentform.fullwidth-on-mobile.ff_guten_block {
		width: 100%;
	}

	.mobile-tb-padding-xs,
	div.mobile-tb-padding-xs[style] {
		padding-top: var(--wp--preset--spacing--xs) !important;
		padding-bottom: var(--wp--preset--spacing--xs) !important;
	}
	.mobile-tb-padding-s,
	div.mobile-tb-padding-s[style] {
		padding-top: var(--wp--preset--spacing--s) !important;
		padding-bottom: var(--wp--preset--spacing--s) !important;
	}
	.mobile-tb-padding-m,
	div.mobile-tb-padding-m[style] {
		padding-top: var(--wp--preset--spacing--m) !important;
		padding-bottom: var(--wp--preset--spacing--m) !important;
	}
	.mobile-tb-padding-l,
	div.mobile-tb-padding-l[style] {
		padding-top: var(--wp--preset--spacing--l) !important;
		padding-bottom: var(--wp--preset--spacing--l) !important;
	}
	.mobile-tb-padding-xl,
	div.mobile-tb-padding-xl[style] {
		padding-top: var(--wp--preset--spacing--xl) !important;
		padding-bottom: var(--wp--preset--spacing--xl) !important;
	}
	.mobile-tb-padding-xxl,
	div.mobile-tb-padding-xxl[style] {
		padding-top: var(--wp--preset--spacing--xxl) !important;
		padding-bottom: var(--wp--preset--spacing--xxl) !important;
	}
	.mobile-lr-padding-xs,
	div.mobile-lr-padding-xs[style] {
		padding-left: var(--wp--preset--spacing--xs) !important;
		padding-right: var(--wp--preset--spacing--xs) !important;
	}
	.mobile-lr-padding-s,
	div.mobile-lr-padding-s[style] {
		padding-left: var(--wp--preset--spacing--s) !important;
		padding-right: var(--wp--preset--spacing--s) !important;
	}
	.mobile-lr-padding-m,
	div.mobile-lr-padding-m[style] {
		padding-left: var(--wp--preset--spacing--m) !important;
		padding-right: var(--wp--preset--spacing--m) !important;
	}
	.mobile-lr-padding-l,
	div.mobile-lr-padding-l[style] {
		padding-left: var(--wp--preset--spacing--l) !important;
		padding-right: var(--wp--preset--spacing--l) !important;
	}
	.mobile-lr-padding-xl,
	div.mobile-lr-padding-xl[style] {
		padding-left: var(--wp--preset--spacing--xl) !important;
		padding-right: var(--wp--preset--spacing--xl) !important;
	}
	.mobile-lr-padding-xxl,
	div.mobile-lr-padding-xxl[style] {
		padding-left: var(--wp--preset--spacing--xxl) !important;
		padding-right: var(--wp--preset--spacing--xxl) !important;
	}
	.wp-block-group.stack-on-mobile,
	.wp-block-columns.stack-on-mobile {
		flex-direction: column;
	}

	/* Hide on mobile */
	.hide-on-mobile {
		display: none !important;
	}
}

/* stack-on-mobile, center-on-mobile, fullwidth-on-mobile for buttons */
@media screen and (max-width: 700px) {
	.wp-block-buttons.wp-block-buttons-is-layout-flex.stack-on-mobile {
		flex-direction: column;
	}
	.wp-block-buttons.wp-block-buttons-is-layout-flex.stack-on-mobile:not( .is-content-justification-center, .is-content-justification-right, .is-content-justification-space-between ) {
		align-content: flex-start;
	}
	.wp-block-buttons.wp-block-buttons-is-layout-flex.stack-on-mobile.is-content-justification-center,
	.wp-block-buttons.wp-block-buttons-is-layout-flex.stack-on-mobile.is-content-justification-space-between {
		align-content: center;
	}
	.wp-block-buttons.wp-block-buttons-is-layout-flex.stack-on-mobile.is-content-justification-right {
		align-content: flex-end;
	}
	.wp-block-buttons.wp-block-buttons-is-layout-flex.center-on-mobile {
		align-content: center;
		justify-content: center;
	}
	.wp-block-buttons.fullwidth-on-mobile > .wp-block-button,
	.wp-block-buttons.fullwidth-on-mobile > .wp-block-button > .wp-element-button {
		width: 100%;
	}
}

/* flex-grow-1 */
.wp-block-group.flex-grow-1 {
	flex-grow: 1;
}

/* bring-front **/
.wp-block-group.bring-front {
	z-index: 20;
	position: relative;
}

/* Make height of flex item fill container */
.wp-block-group.stretch-height {
	align-self: stretch;
	justify-content: center;
}

/* Hide the large Fluent Forms logo in the block editor "select a form" placeholder. */
.fluent-form-logo {
	display: none;
}

/*
 * Pedigree grid: a grid-layout Group of paragraphs drawn as a bordered table.
 * Cells span rows via the block's own rowSpan setting. Add `omh-pedigree-grid--3col`
 * for three generations, and wrap in `omh-pedigree-scroll` so it scrolls on mobile.
 */
.omh-pedigree-grid {
	--omh-pedigree-cols: 4;
	--omh-pedigree-border: 1px solid var(--wp--preset--color--neutral-light);
	--omh-pedigree-cell-padding: 0.75em 1em;
}

.omh-pedigree-grid--3col {
	--omh-pedigree-cols: 3;
}

.omh-pedigree-grid.is-layout-grid {
	grid-template-columns: repeat(var(--omh-pedigree-cols), minmax(0, 1fr));
	width: 100%;
	margin-inline: auto;
	gap: 0;
	border-top: var(--omh-pedigree-border);
	border-left: var(--omh-pedigree-border);
}

.omh-pedigree-grid > * {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: var(--omh-pedigree-cell-padding);
	border-right: var(--omh-pedigree-border);
	border-bottom: var(--omh-pedigree-border);
	text-align: center;
}

.omh-pedigree-scroll {
	overflow-x: auto;
}

.omh-pedigree-scroll .omh-pedigree-grid.is-layout-grid {
	min-width: 700px;
}