.lfr-source-editor {
	border: solid 0 #ccc;
	border-bottom-width: 2px;
	position: relative;

	.ace_editor {
		height: 100%;
	}

	.lfr-source-editor-toolbar {
		li {
			> .btn {
				background-color: #fff;
				border: transparent;
				color: #717383;
				outline: 0;
			}
		}
	}

	.lfr-source-editor-code {
		background-color: #fff;
		color: #2b4259;

		.ace_gutter {
			background-color: #ededef;
			color: #868896;
			overflow: hidden;

			.ace_fold-widget {
				font-family: fontawesome-alloy;
				text-align: center;
				vertical-align: middle;

				&.ace_open,
				&.ace_closed {
					background-image: none;
				}

				&.ace_open:before {
					content: '\25be';
				}

				&.ace_closed:before {
					content: '\25b8';
				}
			}

			.ace_gutter-active-cell {
				color: #fff;
			}

			.ace_gutter-active-line {
				background-color: #717383;
			}

			.ace_gutter-layer {
				border-right: solid 1px #ccc;
			}

			.ace_info {
				background-image: none;
			}
		}

		.ace_content {
			.ace_active-line {
				background-color: #ededef;
			}

			.ace_constant {
				color: #34adab;
			}

			.ace_tag {
				color: #1d5ec7;
			}

			.ace_string {
				color: #ff6c58;

				&.ace_regex {
					color: #f00;
				}
			}
		}
	}

	&.ace_dark {
		.lfr-source-editor-code {
			background-color: #47474f;
			color: #fff;

			.ace_gutter {
				background: #54555e;
				color: #fff;

				.ace_gutter-active-line {
					background-color: #009aed;
				}
			}

			.ace_content {
				.ace_active-line {
					background-color: #11394e;
				}

				.ace_cursor {
					color: #fff;
				}

				.ace_tag {
					color: #4d91ff;
				}
			}
		}
	}
}

.lfr-fullscreen-source-editor {
	height: 100%;
	overflow: hidden;

	.lfr-fullscreen-source-editor-header {
		height: 40px;
		margin-right: 4px;
		margin-top: 4px;
		min-height: 40px;
	}

	.lfr-fullscreen-source-editor-content {
		height: 95%;
		position: relative;

		.panel-splitter {
			border: 1px solid #ccc;
			position: absolute;
		}

		.preview-panel {
			display: inline-block;
			overflow-y: auto;
			padding-left: 20px;
		}

		.source-panel {
			display: inline-block;
		}

		&.vertical {
			.source-panel,
			.preview-panel {
				height: 100%;
				width: 50%;
			}

			.panel-splitter {
				height: 100%;
				left: 50%;
				top: 0;
			}
		}

		&.horizontal {
			.source-panel,
			.preview-panel {
				height: 50%;
				width: 100%;
			}

			.panel-splitter {
				top: 50%;
				width: 100%;
			}
		}

		&.simple {
			.panel-splitter,
			.preview-panel {
				display: none;
			}

			.source-panel {
				height: 100%;
				width: 100%;
			}
		}
	}
}

.lfr-fulscreen-source-editor-dialog .modal-footer {
	text-align: left;
}
