/* Document rendering styles */
div.ProseMirror {
	margin-top: 44px;
	height: 100%;
	position: relative;
	word-wrap: break-word;
	white-space: pre-wrap;
	-webkit-font-variant-ligatures: none;
	font-variant-ligatures: none;
	padding: 4px 8px 200px 14px;
	line-height: 150%;
	font-size: 14px;
	outline: none;

	&[contenteditable=true],
	&[contenteditable=false],
	[contenteditable=true],
	[contenteditable=false] {
		border: none !important;
		width: 100%;
		background-color: transparent;
		color: var(--color-main-text);
		opacity: 1;
		-webkit-user-select: text;
		user-select: text;
		font-size: 14px;
	}

	.checkbox-item {
		display: flex;
		align-items: start;

		input[type=checkbox] {
			display: none;
		}
		&:before {
			content: '';
			display: inline-block;
			height: 14px;
			width: 14px;
			vertical-align: middle;
			border-radius: 50%;
			margin: 0 6px 3px 3px;
			margin-left: 3px;
			border: 1px solid #878787;
			content: "";
			position: relative;
			width: 44px;
			height: 44px;
			display: block;
			border-radius: 1px;
			height: 14px;
			width: 14px;
			box-shadow: none !important;
			background-position: center;
		}
		&.checked:before {
			background-image: url('/core/css/../img/actions/checkbox-mark.svg');
			background-color: var(--color-primary-element);
		}
		label {
			display: block;
			flex-grow: 1;
			max-width: calc(100% - 28px);
			> *:first-child {
				margin-top: 0;
			}
		}
	}

	li label.checkbox-label {
		width: 100%;
		display: flex;
		margin-top: 10px;
		margin-bottom: 1em;

		&:before {
			position: relative;
			top: 2px;
		}
		div.checkbox-wrapper {
			margin-bottom: -1em;
			width: 100%;

			& > p {
				margin-top: -1px;
				margin-bottom: 0;
				padding-bottom: 10px;
			}
		}
	}
	p:first-child,
	h1:first-child,
	h2:first-child,
	h3:first-child,
	h4:first-child,
	h5:first-child,
	h6:first-child {
		margin-top: 10px;
	}

	a {
		color: var(--color-primary-element);
		text-decoration: underline;
		padding: .5em 0;
	}

	p {
		margin-bottom: 1em;
		line-height: 150%;
	}

	em {
		font-style: italic;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-weight: 600;
		line-height: 120%;
		margin-top: 24px;
		margin-bottom: 12px;
		color: var(--color-main-text);
	}

	h1 {
		font-size: 36px;
		margin-top: 48px;
	}

	h2 {
		font-size: 28px;
		margin-top: 48px;
	}

	h3 {
		font-size: 24px;
	}

	h4 {
		font-size: 21px;
	}

	h5 {
		font-size: 17px;
	}

	h6 {
		font-size: 14px;
	}

	img {
		cursor: default;
		max-width: 100%;
	}

	hr {
		padding: 2px 0;
		border: none;
		margin: 1em 0;
		width: 100%;
	}

	hr:after {
		content: "";
		display: block;
		height: 1px;
		background-color: var(--color-border-dark);
		line-height: 2px;
	}

	pre {
		white-space: pre;
		overflow-x: auto;
		background-color: var(--color-background-dark);
		border-radius: var(--border-radius);
		padding: 1em 1.3em;
		margin-bottom: 1em;
	}

	p code {
		background-color: var(--color-background-dark);
		border-radius: var(--border-radius);
		padding: .1em .3em;
	}

	li {
		position: relative;
	}

	ul, ol {
		padding-left: 10px;
		margin-left: 10px;
	}

	ul li {
		list-style-type: disc;
	}

	// Second-level list entries
	ul > li > ul > li {
		list-style-type: circle;
	}

	// Third-level and further down list entries
	ul > li > ul > li ul li {
		list-style-type: square;
	}

	blockquote {
		padding-left: 1em;
		border-left: 4px solid var(--color-primary-element);
		color: var(--color-text-maxcontrast);
		margin-left: 0;
		margin-right: 0;
	}

}

.ProseMirror-focused .ProseMirror-gapcursor {
	display: block;
}

.editor__content p.is-empty:first-child::before {
	content: attr(data-empty-text);
	float: left;
	color: var(--color-text-maxcontrast);
	pointer-events: none;
	height: 0;
}
