@import "mixin";

$separator_thickness: 5px;
$small_device: 650px;
$animation_length: .5s;

.app {
	min-width: 600px;
	min-height: 330px;

	padding: 5px;

	.container-app-main {
		height: 100%;
		width: 100%;

		min-height: 500px;
		margin-top: 5px;

		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: stretch;


		.container-channel-chat {
			height: 80%; /* "default" settings */
			width: 100%;

			min-height: 25em;
			min-width: 100px;

			display: flex;
			flex-direction: row;
			justify-content: stretch;

			& > * {
				height: 100%;
				min-height: 250px;

				border-radius: 5px;
			}

			> .container-channel-tree {
				width: 50%; /* "default" settings */
				height: 100%;

				background: #353535;
				min-width: 200px;

				display: flex;
				flex-direction: column;
				justify-content: stretch;

				min-height: 100px;

				overflow: hidden;

				> .hostbanner {
					flex-grow: 0;
					flex-shrink: 0;

					max-height: 9em; /* same size as the info pannel */

					display: flex;
					flex-direction: column;
					justify-content: stretch;
				}

				> .channel-tree {
					padding-top: 5px;

					min-height: 5em;

					flex-grow: 1;
					flex-shrink: 1;
				}
			}

			> .container-chat {
				width: 50%; /* "default" settings */
				height: 100%;

				background: #353535;
				min-width: 350px;

				display: flex;
				flex-direction: column;
				justify-content: stretch;
			}
		}


		> .container-bottom {
			height: 20%;

			min-height: 1.5em;
			width: 100%;

			display: flex;
			flex-direction: column;
			justify-content: stretch;

			> .container-server-log {
				display: flex;
				flex-direction: column;
				justify-content: stretch;

				flex-shrink: 1;
				flex-grow: 1;

				min-height: 0;
				width: 100%;

				border-radius: 5px 5px 0 0;

				padding-right: 5px;
				padding-left: 5px;

				background: #353535;
			}

			> .container-footer {
				flex-shrink: 0;
				flex-grow: 0;

				height: 1.5em;

				background: #252525;
				color: #353535;

				border-radius: 0 0 5px 5px;
				padding-right: 5px;
				padding-left: 5px;
				padding-top: 2px;

				-webkit-box-shadow: inset 0px 2px 5px 0px rgba(0,0,0,0.125);
				-moz-box-shadow: inset 0px 2px 5px 0px rgba(0,0,0,0.125);
				box-shadow: inset 0px 2px 5px 0px rgba(0,0,0,0.125);

				display: flex;
				flex-direction: row;
				justify-content: space-between;

				> * {
					align-self: center;
				}

				> span {
					display: flex;
					flex-direction: row;
					justify-content: flex-start;

					> a {
						margin-right: .5em;
					}
				}

				a[href], a[href]:visited {
					color: #353535!important;
				}
			}
		}
	}

	.container-control-bar {
		z-index: 200;

		flex-shrink: 0;

		border-radius: 5px;

		height: 2em;
		width: 100%;

		background-color: #454545;

		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.hide-small {
		opacity: 1;
		transition: opacity $animation_length linear;
	}

	.show-small {
		display: none;

		opacity: 0;
		transition: opacity $animation_length linear;
	}
}

.app-container {
	right: 0;
	left: 0;
	top: 0;

	overflow: auto;
	padding: 0;
}

@media only screen and (max-width: $small_device) {
	.hide-small {
		display: none;
		opacity: 0;
		transition: opacity $animation_length linear;
	}

	.show-small {
		display: block !important;

		opacity: 1 !important;
		transition: opacity $animation_length linear;
	}
}

$animation_seperator_length: .1s;
.container-seperator {
	@include transition(all $animation_seperator_length ease-in-out);
	background: #1e1e1e;

	flex-grow: 0;
	flex-shrink: 0;

	&.horizontal {
		height: $separator_thickness;
		width: 100%;

		cursor: row-resize;
	}

	&.vertical {
		width: $separator_thickness;
		height: 100%;

		cursor: col-resize;
	}

	&.seperator-selected {
		@include transition(all $animation_seperator_length ease-in-out);

		background-color: #707070;
	}
}

.icon-container {
	position: relative;
	display: inline-block;
	height: 16px;
	width: 16px;

	> img {
		position: absolute;
	}
}

#mouse-move {
	display: none;
	position: absolute;
	z-index: 10000;

	.container {
		position: relative;
		display: block;

		border: 2px solid gray;
		-webkit-border-radius: 2px;
		-moz-border-radius: 2px;
		border-radius: 2px;
	}
}

html, body {
	overflow: hidden;
}

body {
	background: #1e1e1e !important;
}