@import "themes/blurred/variables";

// Common style
* {
	box-sizing: border-box;  
}

html {
	background-color: $backgroundColor;
	color: $textColor;
	font-size: 16px;
	font-family: $fontFamily;
	font-weight: 400;
	font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;	
}

@mixin clearfix() {
		&:before,
		&:after {
				content: "";
				display: table;
		}
		&:after {
				clear: both;
		}
}

body {
	overflow: hidden;
	padding: 0;
	margin: 0;

	> .bg {
		position: fixed;
		left: 0; right: 0;
		top: 0; bottom: 0;

		display: block;
		background-color: black;

		background-image: url('~images/frontend-background.jpg');
		width: 100%;
		height: 100%;
		background-size: cover;

		$blur: 6px;
		-webkit-filter: blur($blur);
		-moz-filter: blur($blur);
		-o-filter: blur($blur);
		-ms-filter: blur($blur);
		filter: blur($blur);
	} // .bg

	> .bg-overlay {
		position: fixed;
		left: 0; right: 0;
		top: 0; bottom: 0;

		display: block;
		background-color: rgba($overlayColor, 0.8);
		width: 100%;
		height: 100%;

	} // .overlay

	a {
		color: $textColor;
		border-bottom: 1px solid $masterColor;
		text-decoration: none;
		
		&:hover {
			border-bottom: 2px solid $masterColor;
		}
	}


} // body

.center-container {
	position: absolute;
	left: 0; right: 0; top: 0; bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.panel {
	width: 350px;
	position: relative;
	overflow: hidden;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4);

	padding: 20px;
	
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(0,0,0,1);
	
	.bg {
		background-image: url('~images/frontend-background.jpg');
		background-size: cover;
		background-position: center center;
		position: absolute;
		left: 0; right: 0; top: 0; bottom: 0;
	} // .bg
	
	.bg-overlay {
		background: radial-gradient(circle at top, $overlayColor, Black);
		background-image: -webkit-radial-gradient(top center, $overlayColor, Black);
		position: absolute;
		left: 0; right: 0; top: 0; bottom: 0;
		opacity: 0.9;
	} // .bg-overlay
	
	.content {
		position: relative;

		header {
			text-align: center;
			font-size: 2.0rem;
			font-weight: 400;
			text-transform: uppercase;

			margin-bottom: 0.5rem;
		
		} // .title

		label {

		}

		p {
			text-align: center;
			font-size: 0.9rem;
		}

		.form-group {
			margin-bottom: 0.5rem;
		
			input {
				width: 100%;
				font-size: 1.0rem;
				font-family: $fontFamily;
				color: $textColor;
				margin: 3px 0px 10px 0px;
				border: none;
				padding: 10px;
				border-radius: 3px;			
				background-color: rgba(255, 255, 255, 0.1);
				transition: opacity .3s ease;

				&:disabled {
					opacity: 0.6;
				}

			} // input

			&.switch {
				$sw-height: 25px;
				$sw-width: 50px;

				input {

					opacity: 0; 
					position:absolute; 
					left: -9999px;

					& + label {
						user-select: none;
						transition: .2s ease;
						display: inline-block;
						height: $sw-height;
						width: $sw-width;
						position:relative;
						box-shadow: inset 0 0 0px 2px #e4e4e4;
						border-radius: 60px;

						&:before{
							content: "";
							position: absolute;
							display: block;
							height: $sw-height;
							width: $sw-height;
							top: 0;
							left: 0;
							border-radius: $sw-height/2;
							background: rgba($buttonPrimaryColor, 0);
							transition: .2s cubic-bezier(.24,0,.5,1);
						}
						
						/* White toggle */
						&:after {
							$h: $sw-height - 2px;
							content: "";
							position: absolute;
							display: block;
							height: $h;
							width: $h;
							top: 50%;
							margin-top: $h / -2;
							left: 1px;
							border-radius: $h / 2;
							background: #fff;
							box-shadow: 0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 0px 0 hsla(0,0%,0%,.04), 0 4px 9px hsla(0,0%,0%,.13), 0 3px 3px hsla(0,0%,0%,.05);
							transition: .35s cubic-bezier(.54,1.60,.5,1);
						}

						span {
							white-space:nowrap;
							height:$sw-height;
							line-height:$sw-height;
							margin-left: $sw-width;
							padding-left:16px;
						}
					}

					&:checked{

						& + label:before {
							width: $sw-width;
							background: rgba($buttonPrimaryColor, 1);
							transition: width .2s cubic-bezier(0,0,0,.1) !important;
						}
						
						& + label:after{
							left: $sw-width - $sw-height + 1;
						}
						
						& + label{
							box-shadow: inset 0 0 0px 25px #e4e4e4;
							transition: box-shadow 2.5s cubic-bezier(0,1.2,.94,.95)}
					}				

				} // input

			} // .switch

			.hint {
				font-size: 0.75em;
				text-align: center;
				color: rgba(255,255,255, 0.7);			
			}

		} // .form-group
		
		.socials {
			display: flex;
			align-items: center;
			justify-content: space-around;

			a.group {
				//flex: 1;

				width: 40px;
				height: 40px;
				cursor: pointer;
				color: $textColor;
				padding: 8px;
				font-size: 1.2em;
				text-align: center;
				border-radius: 100%;
				border-bottom: 0;
				
				i {
					
				}

				&.facebook {
					$c: #0E4880;
					background-color: $c;

					&:hover {
						background-color: lighten($c, 10%);
					}
				}

				&.google {
					$c: #dd4b39;
					background-color: $c;

					&:hover {
						background-color: lighten($c, 10%);
					}
				}

				&.twitter {
					$c: #55acee;
					background-color: $c;

					&:hover {
						background-color: lighten($c, 10%);
					}
				}

				&.github {
					$c: #000000;
					background-color: $c;

					&:hover {
						background-color: lighten($c, 10%);
					}
				}
				
			} // a.group


		} // .socials
		
		.or {
			width: 100%;
			position: relative;
			overflow: hidden;
			text-align: center;
			margin: 0.5em 0;
			opacity: 0.6;

			span {
				display: inline-block;
				vertical-align: baseline;
				padding: 0 20px;

				&:before, &:after {
					content: '';
					display: block;
					width: 500px;
					position: absolute;
					top: 0.6em;
					border-top: 1px solid $textColor;
					opacity: 0.5;
				}

				&:before {
					right: 60%;
				}

				&:after {
					left: 60%;
				}
			}
		} // .or	

		.flash {
			
			.alert {
				text-align: center;
				padding: 0.2rem 0.6rem;
				margin: 0.5rem 0;
				font-size: 0.85rem;

				border-radius: 4px;
			}

			.alert-danger {
				$c: #ad3a3a;
				background-color: $c;
				border: 1px solid lighten($c, 10%);
			}

			.alert-success {
				$c: #3aad71;
				background-color: $c;
				border: 1px solid lighten($c, 10%);
			}

		} // .flash
	
		button {
			background-color: $buttonPrimaryColor;
			color: $buttonTextColor;
			border: 0;
			margin: 10px 0;
			font-size: 1.2rem;
			padding: 8px 0;
			font-family: $fontFamily;
			text-transform: uppercase;
			font-weight: 400;
			width: 100%;
			border-radius: 20px;
			cursor: pointer;
			
			&:hover {
				background-color: lighten($buttonPrimaryColor, 10%);
			}
		} // button
		
		hr {
			border: 0;
			border-bottom: 1px solid rgba(255, 255, 255, 0.3);
			margin: 12px 0;
		}

		.forgot {
			text-align: center;
			font-size: 0.9rem;
			margin: 0.5rem;
		}
		
		.alreadyLink {
			text-align: center;
			font-size: 0.9rem;
			text-transform: uppercase;
			color: rgba(255, 255, 255, 0.6);
			
			span {
				margin-right: 0.5em;
			}

		}
		
	} // .content
	
} //. panel


.page {
	position: absolute;
	left: 0; 
	right: 0;
	top: 0;
	bottom: 0;
	overflow: auto;

	padding: 1rem;

	text-align: center;

	h1, h2, h3, h4 {
		font-size: 3.5rem;
		font-family: $fontFamilyHeader;
		font-weight: 300;

		text-shadow: 1px 1px 4px rgba(#000, 0.3);
	}

	h3 {
		font-size: 2.0rem;
	}	

	h4 {
		font-size: 1.5rem;
	}	

	.logos {
		margin: 8rem 0;

		img {
			vertical-align: middle;
			height: 70px;
		}

		span.plus {
			font-size: 4rem;
			font-weight: 300;
			color: rgba(255,255,255, 0.3);
			vertical-align: middle;	

			padding: 0 1rem;		
		}
	}

	.buttons {
		margin: 4rem 0;
	}

	.button {
		background-color: $buttonPrimaryColor;
		color: $buttonTextColor;
		border: 0;
		border-radius: 20px;
		cursor: pointer;
		box-shadow: 0 0 20px rgba(#000, 0.3);

		margin: 0.6rem 1.2rem;
		padding: 0.8rem 5rem;

		font-family: $fontFamily;
		font-size: 2.0rem;
		font-weight: 300;
		
		&:hover {
			background-color: lighten($buttonPrimaryColor, 10%);
		}
	}
} // .page

.footer {
	position: absolute;
	left: 0; 
	right: 0;
	bottom: 0;

	padding: 0.2rem 1rem;
	border-top: 1px solid rgba($color3, 0.2);

	color: $color3;

	p {
		text-align: right;
		font-size: 0.7rem;
	}
} // .footer