.flo-block-text {
	$b: '.flo-block-text';
	display: flex;
	flex-direction: column;
	text-align: center;
	color: var(--elements-color);
	margin-top: var(--mobile-top-margin);
	margin-bottom: var(--mobile-bottom-margin);

	&--wrap {
		width: var(--block-width);
		margin-left: auto;
		margin-right: auto;
	}

	.flo-block-text__pretitle {
		color: var(--pre-title-color);
		margin-bottom: 0.4375em;
		display: block;

		&[data-font=''] {
			font-family: var(--pre-title-font-family);
			font-size: var(--pre-title-font-size);
			line-height: var(--pre-title-line-height);
			letter-spacing: var(--pre-title-letter-spacing);
			font-style: var(--pre-title-font-style);
			font-weight: var(--pre-title-font-weight);
		}
	}
	.flo-block-text__title {
		margin-bottom: 0.9375rem;
		margin-top: 0;

		&[data-font=''] {
			font-family: var(--title-font-family);
			font-size: var(--title-font-size);
			line-height: var(--title-line-height);
			letter-spacing: var(--title-letter-spacing);
			font-style: var(--title-font-style);
			font-weight: var(--title-font-weight);
		}
	}
	.flo-block-text__subtitle {
		margin-bottom: 2.3125rem;
		margin-top: 0;
		&[data-font=''] {
			font-family: var(--sub-title-font-family);
			font-size: var(--sub-title-font-size);
			line-height: var(--sub-title-line-height);
			letter-spacing: var(--sub-title-letter-spacing);
			font-style: var(--sub-title-font-style);
			font-weight: var(--sub-title-font-weight);
		}
	}
	.flo-block-text__text-wrapper {
		display: flex;
		justify-content: center;
	}
	.flo-block-text__text {
		max-width: 45em;
		&[data-font=''] {
			font-family: var(--text-font-family);
			font-size: var(--text-font-size);
			line-height: var(--text-line-height);
			letter-spacing: var(--text-letter-spacing);
			font-style: var(--text-font-style);
			font-weight: var(--text-font-weight);
		}
	}
	&.flo-block--hide-on-mobile {
		display: none;
		@media (min-width: 768px) {
			display: flex;
		}
	}
	@media (min-width: 768px) {
		margin-top: var(--top-margin);
		margin-bottom: var(--bottom-margin);
		&.flo-block--hide-on-desktop {
			display: none;
		}

		&--align-right {
			text-align: right;
			#{$b}__text-wrapper {
				justify-content: flex-end;
			}
		}
		&--align-left {
			text-align: left;
			#{$b}__text-wrapper {
				justify-content: flex-start;
			}
		}
	}
}
