.search_block {
	.box-sizing;

	display: inline-block;
	font-size: 0px;
	height: 100%;
	padding-right: 20px;
	vertical-align: middle;
	width: 100%;

	html.rtl & {
		padding-left: 20px;
		padding-right: 0px;
	}

	& > .input {
		.box-sizing;

		border: 1px solid #ddd;
		border-radius: 10px;
		box-shadow: none;
		display: inline-block;
		height: 100%;
		min-height: 26px;
		outline: none;
		padding-left: 30px;
		padding-top: 3px;
		position: relative;
		vertical-align: middle;
		width: 100%;

		html.rtl & {
			padding-left: 0px;
			padding-right: 30px;
		}

		&.focus {
			border: 1px solid #93b5e3;
			box-shadow: 0 0 2px 0 #1d67cd;
		}

		.row {
			border: 0px;
			display: inline-block;
			font-size: 11pt;
			line-height: 160%;
			overflow: hidden;
			padding: 0px;
			vertical-align: middle;
			white-space:nowrap;
			width: 100%;
		}

		.field {
			border: 0px;
			display: inline-block;
			font-size: 11pt;
			height: 20px;
			opacity: 1;
			overflow: hidden;
			padding: 0px;
			vertical-align: middle;
			visibility: visible;
			white-space: nowrap;
			width: calc(100% - 4px);

			.transition(~"opacity 500ms ease 0ms, visibility 500ms linear 10ms");
		}

		input.field {
			height: 19px;
			margin-top: -2px;
		}

		.field.hide {
			display: block;
			position: absolute;
			top: -200px;
		}
		
		.icon.search {
			display: inline-block;
			font-size: 11pt;
			height: 24px;
			left: 0px;
			overflow: hidden;
			position: absolute;
			top: -3px;
			vertical-align: top;
			width: 30px;

			html.rtl & {
				left: initial;
				right: 0;
			}
			
			.init-icon-font();
			
			&:before {
				color: #cccccc;
				content: "\e628";
				display: block;
				font-size: 32px;
				height: 20px;
				margin: 0px 0px 5px 0px;
				width: 20px;

				html.rtl & {
					margin: 3px 5px 0px 0px;
				}
			}
		}
	}
	
	.search_block_expand .field {
		opacity: 0;
		visibility: hidden;
		
		.transition(~"opacity 500ms ease 0ms, visibility 10ms linear 500ms");
	}

	.control .icon {
		cursor: pointer;
		display: inline-block;
		height: 100%;
		margin-top: -6px;
		vertical-align: top;
		width: 20px;
		
		.init-icon-font();
		
		&:before {
			color: #cccccc;
			content: "\e66d";
			display: inline-block;
			font-size: 18px;
			height: 20px;
			margin: 10px 2px 0px;
			width: 20px;
		}

		&.search_block_expand:before {
			content: "\e66e";
		}
	}

	.search_highlight {
		color: #cccccc;
	}

	.search_block_expand .extended {
		opacity: 1;
		max-height: 220px;
		visibility: visible;
		.transition(~"max-height 0.5s ease 0s, opacity 0.5s ease 0.2s, visibility 0s linear 0s");
	}

	.extended {
		.box-sizing;
		.transition(~"max-height 0.5s ease 0s, opacity 0.2s ease 0s, visibility 10ms linear 1s");
		
		max-height: 0px;

		display: block;
		margin-top: -24px;
		opacity: 0;
		visibility: hidden;
		width: 100%;

		.search_fieldset {
			display: block;
			white-space: normal;

			.section {
				.box-sizing;

				display: inline-block;
				overflow: hidden;
				padding-right: 20px;
				vertical-align: top;
				width: 50%;

				html.rtl & {
					padding-left: 20px;
					padding-right: 0px;
				}

				.row {
					display: block;
					height: 28px;
					line-height: 230%;
					overflow: visible;
					padding-right: 2px;

					html.rtl & {
						padding-left: 2px;
						padding-right: 0px;
					}

					&.text {
						border-bottom: 1px dashed #c5c7c8;
					}

					&.attachments {
						.custom_checkbox {
							line-height: 1;
							margin: 0;
							margin-bottom: 1px;
							vertical-align: middle;
						}

						.attachment_name {
							display: inline-block;
						}
					}

					.date {
						display: inline-block;
						margin-left: 0px;
						padding: 0;
					}

					html.rtl & .label {
						text-align: right;
					}

					.input {
						border: none;
						border-radius: 0px;
						box-shadow: none;
						color: #555566;
						font: normal 11pt Helvetica, Tahoma, Arial, sans-serif;
						padding: 0;
						width: 100%;
					}
				}
			}
			
			.section.attachments {
				display: block;
				width: 100%;
			}
			
			.buttons {
				border-top: 1px solid #eae7e7;
				display: block;
				margin: 0px 18px 0px 0px;
				padding: 10px 0px;
				width: auto;

				display: flex;
				justify-content: flex-end;
				flex-wrap: wrap;

				html.rtl & {
					margin: 0px 0px 0px 18px;
					padding-left: 0px;
				}
			}

			.button {
				display: inline-block;
			}
		}
	}
}
