Skip to content
Snippets Groups Projects
base.less 45.8 KiB
Newer Older
	background-color: @tertiary-background-color;
	font-size: 12px;
	position: relative;
	&:after, &:before {
		content: " ";
		width: 0;
		height: 1px;
		position: absolute;
		z-index: 1;
	}
	&:after {
		right: -3px;
		bottom: -3px;
		.transition(width .15s ease-in);
	}
	&:before {
		left: -3px;
		top: -3px;
		.transition(width .15s ease-in .06s);
	}
	&:hover,
	&.selected {
		&:before, &:after {
			.calc(width, ~'100% + 6px');
		}
		a {
			&:before, &:after {
				.calc(height, ~'100% + 6px');
			}
		}
		&.status-offline {
			.status {
				background-color: @status-offline;
				background-color: @status-online;
				background-color: @status-away;
				background-color: @status-busy;
	.avatar {
		.avatar-initials {
			line-height: 45px;
		}
	}
	a {
		display: block;
		width: 100%;
		height: 100%;
		&:before, &:after {
			content: " ";
			width: 1px;
			height: 0;
			position: absolute;
			z-index: 1;
		}
		&:after {
			top: -3px;
			left: -3px;
			.transition(height .15s ease-in .12s);
		}
		&:before {
			right: -3px;
			bottom: -3px;
			.transition(height .15s ease-in .18s);
		}
	}
	.status {
		position: absolute;
Rodrigo Nascimento's avatar
Rodrigo Nascimento committed
		bottom: -5px;
Rodrigo Nascimento's avatar
Rodrigo Nascimento committed
		width: 100%;
		height: 4px;
		z-index: 10;
		.user-image-status(@status-offline);
	}
	&.status-online {
		.user-image-status(@status-online);
	}
	&.status-away {
		.user-image-status(@status-away);
	}
	&.status-busy {
		.user-image-status(@status-busy);
	}
}

.user-profile {
	white-space: normal;
	overflow: hidden;
	.thumb {
		float: left;
		width: 75px;
		img {
			width: 60px;
			height: 60px;
		}
	}
	.info {
		display: block;
		margin-left: 75px;
		h3 {
			font-size: 14px;
			margin-bottom: 8px;
			font-weight: 600;
		}
		p {
			font-size: 12px;
			margin-bottom: 6px;
		}
		a {
			color: @primary-font-color;
			&:hover {
				text-decoration: none;
				color: @secondary-font-color;
			}
		}
	}
}

.profile-buttons {
	margin-top: 1em;
}

	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1000;
	visibility: hidden;
	&.fluid {
			height: 100%;
			main {
				position: absolute;
				overflow-y: scroll;
				.custom-scroll(transparent, #CFCFCF);
				.calc(height, ~'100% - 112px');
			}
		}
	}
	&.opened {
		.animation(fadeIn .1s ease-out forwards);
			.animation(modalEnter .35s cubic-bezier(.5, 0, .1, 1) forwards .1s);
		}
	}
	&.closed {
		.animation(fadeOut .2s ease-out forwards);
			.animation(modalExit .25s cubic-bezier(.5, 0, .1, 1) forwards);
		}
	}
	&.overflow {
			overflow: visible;
			main {
				overflow: visible;
				position: relative;
			}
		}
	}
	.wrapper {
		display: table;
		height: 100%;
		width: 100%;
		position: relative;
	}
	.window {
		display: table-cell;
		vertical-align: middle;
		text-align: center;
		width: 100%;
		height: 100%;
		position: relative;
	}
	fieldset {
		margin-bottom: 8px;
	}
	legend {
		position: relative;
		z-index: 2;
		display: block;
		margin-bottom: 18px;
		position: relative;
		text-transform: uppercase;
		font-size: 13px;
		color: @secondary-font-color;
		i {
			margin-right: 4px;
		}
		&:before {
			content: " ";
			width: 100%;
			height: 1px;
			background-color: #dfdfdf;
			position: absolute;
			top: 19px;
			left: 0;
			z-index: 1;
		}
	}
		display: block;
		max-width: 800px;
		margin: 0 auto;
		width: 90%;
		position: relative;
		overflow: hidden;
		text-align: left;
		border-radius: 4px;
		box-shadow: 4px 4px 0 rgba(0, 0, 0, .15);
		padding: 56px 0;
		opacity: 0;
		background-color: #FFF;
		header {
			height: 55px;
			background-color: #DADADA;
			position: absolute;
			top: 0;
			width: 100%;
			z-index: 1;
			font-size: 14px;
			text-align-last: right;
			padding: 0 25px;
			box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
			h3 {
				display: inline-block;
				margin: 0;
				text-align: left;
				font-size: 18px;
				font-weight: 700;
				line-height: 55px;
				text-overflow: ellipsis;
				overflow: hidden;
			}
			.close {
				position: absolute;
				width: 20px;
				height: 26px;
				right: 20px;
				top: 16px;
				opacity: 1;
				i {
					font-size: 24px;
					color: @secondary-font-color;
				}
				&:hover {
					i {
						color: @primary-font-color;
					}
				}
			}
		}
		main {
			display: block;
			width: 100%;
			height: 100%;
			overflow-y: auto;
			overflow-x: hidden;
			background-color: #FFF;
			padding: 20px 25px;
		}
		footer {
			height: 55px;
			background-color: #eaeaea;
			position: absolute;
			bottom: 0;
			width: 100%;
			z-index: 1;
			padding: 11px 25px 0;
			text-align: right;
			box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.15);
		}
	}
}

#login-card {
	width: 100%;
	max-width: 520px;
	padding: 22px 30px 30px;
	margin: 25px auto;
	background-color: #FAFAFA;
	box-shadow: 0 0 6px 10px rgba(0, 0, 0, 0.1);
	border-radius: 2px;
	h2 {
		&:extend(.rocket-h2);
		color: @primary-font-color;
		margin-bottom: 30px;
		&.error {
			color: #b40202;
		}
	}
	h3 {
		&:extend(.rocket-h3);
		&.error {
			color: #b40202;
		}
	}
	img {
		width: 200px;
	}
	.options {
		display: none;
		width: 100%;
		font-size: 10px;
	}
	.submit {
		margin-bottom: 12px;
		padding-top: 4px;
	}
	.remember {
		float: left;
	}
	.remember input {
		margin-right: 4px;
	}
	.forgot {
		float: right;
		line-height: 20px;
	}
	.submit button {}
	.fields {
		.transform-style(preserve-3d);
		.perspective(600px);
		margin-bottom: 26px;
		label {
			font-family: "Roboto";
			font-size: 13px;
			margin-top: 10px;
			color: #AAA;
			margin-left: 12px;
		}
	}
	.input-text {
		margin: 0 0 14px 0;
		position: relative;
		&:before {
			content: " ";
			width: 100%;
			height: 40px;
			position: absolute;
			top: 7px;
			left: 0;
			cursor: text;
		}
		&.active {
			&:before {
				visibility: hidden;
			}
			.field {
				.transform(rotateX(0));
			}
		}
		&:hover {
			i {
				background-color: #BFBFBF;
			}
			label {
				color: #999;
			}
		}
	}
	.field {
		display: block;
		.transform-origin(50% 100% 0);
		.transform(rotateX(100deg));
		.transform-style(preserve-3d);
		.backface-visibility(hidden);
		.transition(transform .38s cubic-bezier(.5, 0, .1, 1));
		i {
			display: block;
			width: 100%;
			height: 3px;
			background-color: #EAEAEA;
			position: absolute;
			bottom: 0;
			left: 0;
			.transform-origin(50% 100% 0);
			.transform(rotateX(-90deg) translateY(4px));
			.transition(background .2s ease-out);
		}
		span {
			display: block;
			.transform-style(flat);
		}
		input {
			box-shadow: 0 0 0;
			background-color: transparent;
			border-width: 0;
			position: relative;
			padding: 4px 8px;
			font-size: 22px;
			border-bottom: 1px solid #DFDFDF;
			font-family: "Roboto";
			font-weight: 300;
			&.error {
				border-bottom: 1px solid #b40202;
Gabriel Engel's avatar
Gabriel Engel committed
				&::-webkit-input-placeholder {
					color: #b40202;
				}
				&:-moz-placeholder {
					color: #b40202;
				}
				/* Firefox 18- */

				&::-moz-placeholder {
					color: #b40202;
				}
				/* Firefox 19+ */

				&:-ms-input-placeholder {
					color: #b40202;
				}
		}
		input:-webkit-autofill {
			color: #fff !important;
		}
		input:-webkit-autofill {
			-webkit-box-shadow: 0 0 0px 1000px #f4f4f4 inset;
			background-color: transparent !important;
		}
	}
}

	margin: 35px 0 30px;
	text-align: center;
	h3 {
		&:extend(.rocket-h3);
		margin-top: 0;
		margin-bottom: 12px;
	}
}

.landing-page {
	text-align: center;
	z-index: 9999;
	background-color: @primary-background-color;
	.background-image(linear-gradient(@primary-background-color, lighten(@primary-background-color, 10%)));
	.logo {
		display: block;
		margin-bottom: 30px;
		> img {
			display: inline-block;
			position: relative;
			top: 0;
			right: 0;
			z-index: 20;
			width: 500px;
			max-width: 100%;
		}
	}
	a {
		font-family: "Roboto";
		font-weight: 300;
	}
	.screen {
		display: block;
		margin: 0 auto 25px;
		max-width: 520px;
		position: relative;
		box-shadow: 0 0 8px 6px rgba(0, 0, 0, 0.35);
		z-index: 5;
		text-decoration: none;
		figure {
			display: block;
			width: 100%;
			height: 0;
			background-color: #fff;
			padding-bottom: 53%;
			background: url(/images/screen.jpg) no-repeat 50% 50%;
			background-size: 100% auto;
		}
		> span {
			.mac-bar;
		}
		.button {
			display: block;
			position: absolute;
			.calc(top, ~"50% - 17px");
			.calc(left, ~"50% - 94px");
			.transform(scale(0.5));
			opacity: 0;
			.transition(transform .2s cubic-bezier(0, .4, .4, 1.5), opacity .1s ease-out);
		}
		&:hover {
			.button {
				.transform(scale(1));
				opacity: 1;
			}
		}
	}
	.cell {
		display: table-cell;
		vertical-align: middle;
		text-align: center;
	}
	.wrapper {
		display: inline-block;
		padding: 45px 0 35px;
		z-index: 10;
		position: relative;
		max-width: 520px;
		width: 90%;
	}
	header {
		display: block;
	}
	.text {
		color: #FFF;
		font-weight: 300;
		margin-bottom: 25px;
		margin: 0 auto 25px;
		max-width: 580px;
		.button {
			background-color: #bc2031;
			color: #FFF;
			font-weight: 400;
			padding: 16px 20px;
			margin-top: 20px;
		}
		h1 {
			font-weight: 700;
			text-transform: uppercase;
			font-size: 24px;
			letter-spacing: -0.5px;
			margin-bottom: 20px;
			display: none;
		}
		h2 {
			&:extend(.rocket-h2);
		}
		h3 {
			&:extend(.rocket-h3);
		}
		p {
			font-family: "Muli";
			margin: 18px 0;
			font-size: 16px;
			line-height: 24px;
			font-weight: 400;
		}
	}
	footer {
		color: #fff;
		padding: 20px 0 0;
		h4 {
			text-transform: uppercase;
			margin-bottom: 8px;
			font-size: 12px;
		}
		div.switch-language {
			margin-top: 20px;
			a {
				color: @secondary-font-color;
			}
		}
	}
	a.meteor {
		position: fixed;
		right: 30px;
		bottom: 20px;
		width: 100px;
		height: 50px;
		background: url(/images/meteor.png) no-repeat center center;
		background-size: 100% auto;
		text-indent: -9999em;
	}
	.connect {
		&:extend(.fill-all);
		position: fixed;
	}
	.share {
		border-radius: 50%;
		min-height: 40px;
		line-height: 20px;
Gabriel Engel's avatar
Gabriel Engel committed
		&:before {
			border-radius: 50%;
		}
		span {
			display: none;
		}
	}
}

@media all and(max-width: 1100px) {
	#rocket-chat {
		.flex-opened {
			.calc(width, ~'100% - ' @rooms-box-width);
		}
	}
}

@media all and(max-width: 780px) {
	#rocket-chat {
		.burger {
			visibility: visible;
			display: inline-block;
		}
		.side-nav {
			.transform(translateX(-100%));
			.transition(transform .3s ease-out);
		}
		.main-content {
			margin-left: 0;
			width: 100%;
			.transition(transform .3s ease-out);
		}
		.fixed-title h2 {
			margin-left: 45px;
		}
		.flex-tab {
		}
		&.menu-opened {
			.side-nav {
				.transform(translateX(0));
			}
			.burger {
				.transform(rotate(180deg));
				i {
					&:nth-child(1) {
						opacity: 1;
						width: 10px;
						.transform-origin(50%, 50%, 0);
						.transform(translateY(3px) translateX(10px) rotate(45deg));
					}
					&:nth-child(2) {
						//.transform(rotate(180deg));
					}
					&:nth-child(3) {
						opacity: 1;
						width: 10px;
						.transform-origin(50%, 50%, 0);
						.transform(translateX(10px) translateY(-3px) rotate(-45deg));
					}
				}
			}
			.main-content {
				.transform(translateX(@rooms-box-width));
			}
		}
	}
}

@media all and(max-width: 500px) {
	.user-view {
		.thumb {
			width: 60px;
			height: 60px;
		}
		.info {
			margin-left: 75px;
			.calc(width, ~'100% - 120px');
			h3 {
				font-size: 20px;
			}
		}
	}
}