html {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	min-height:100%;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
	background-color:var(--ma-purple);
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

body, p {
	padding:0;
	margin:0;
}

#main {
	padding:0 1em;
	background-image: url(../img/ma-logo-purple-bg.svg);
	background-repeat: no-repeat;
	background-color: var(--ma-purple);
	background-position: top center;
	background-size: cover;
	display: flex;
	width: calc(100% - 2em);
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: calc(100vh);
	will-change: filter;
	transition: 0.15s ease-in-out;
}

#main.blur {
	filter:blur(5px);
}

#main.blur .form_wrapper {
	pointer-events: none;
}

#main .logo_wrapper {
	width:280px;
	height:44px;
	margin-bottom:3.3vh;
}

#main .logo_wrapper img {
	width:100%;
	height:100%;
}
#main .text h1 {
	font-size: 1.2em;
}

#main .text {
	font-family:"Montserrat", sans-serif;
	font-weight:500;
	font-size:16px;
	color:#fff;
	margin-bottom:4.2vh;
}

.form_wrapper {
	width:27vw;
	text-align: center;
	min-width:280px;
}

.form_wrapper .fields {
	position: relative;
}

.form_wrapper .fields i {
	position: absolute;
	top: 0;
	left: 0px;
	width: 30px;
	text-align: left;
	color: #fff;
	line-height: 44px;
	font-size: 22px;
}

.form_wrapper input[type="text"] {
	display:flex;
	flex-direction:column;
	width:calc(100% - 33px);
	height:44px;
	line-height:44px;
	padding:0 0 0 33px;
	margin:0 0 8px 0;
	font-family:"Montserrat", sans-serif;
	font-weight:500;
	color:#fff;
	font-size:18px;
	background-color:transparent;
	border:none;
	outline:none;
	-moz-outline:none;
	border-bottom:4px solid rgba(255,255,255,0.5);
	transition:0.15s ease border;
}

.form_wrapper input[type="text"]:hover {
	border-bottom:4px solid rgba(255,255,255,0.75);
}

.form_wrapper input[type="text"]:focus {
	border-bottom:4px solid rgba(255,255,255,1);
}

.form_wrapper input[type="submit"] {
	height:44px;
	width:250px;
	font-size:16px;
	font-family:"Montserrat", sans-serif;
	font-weight:500;
	text-align:center;
	border:none;
	background-color: #FFF;
	color: var(--ma-purple);
	margin-top:4.5vh;
	outline:none;
	transition: 0.15s ease background-color;
	cursor: pointer;
	-webkit-appearance:none;
}

.form_wrapper input[type="submit"]:hover {
	background-color:var(--ma-bg-alt);
}

.form_wrapper input[type="submit"]:active {
	transform:scale(0.98);
}

.form_wrapper input[type="submit"].loading {
	background-image:url(../img/black_256@2x.gif);
	background-position: 50%;
	background-size:20px;
	color:transparent;
	background-repeat: no-repeat;
}

#bg_modal {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	backdrop-filter: blur(4px) grayscale(.5);
}

/* problem */
#okay_button {
	width: 60%;
	margin: 0 auto;
	text-align: center;
}

#okay_button a {
	display: block;
	padding: 8px 24px;
	text-decoration: none;
	color: #fff;
	background: var(--ma-green);
	font-size: 13px;
	font-family: "Montserrat";
	transition:0.15s ease;
}

#okay_button a:hover {
	background:var(--ma-green-alt);
}

#okay_button a:active {
	transform: scale(0.98);
}

.modal_wrapper {
	display: block;
	pointer-events: none;
	opacity:0;
	position: absolute;
	width: 420px;
	left: 50%;
	margin-left: -230px;
	min-height: 90px;
	height: auto;
	top: 50%;
	margin-top: -80px;
	background: #232323;
	z-index: 99;
	padding: 20px;
	cursor: default;
	font-family: "Montserrat";
	font-size: 15px;
	box-shadow: 0 60px 50px -15px rgba(0,0,0,0.30);
	transition: opacity 0.15s ease-in-out;
}

.modal_wrapper.show {
	pointer-events: auto;
	opacity: 1;
}

#problem_modal_wrapper p {
	color: #fff;
	margin: 0;
	padding:0px;
	margin-bottom: 30px;
	text-align:center;
}

#problem_modal_wrapper p a {
	color: #fff;
	transition:0.15s ease background-color;
}

#problem_modal_wrapper.loading #reset_password {
	background-image: url(../img/black_256@2x.gif);
	background-size: 16px;
	background-position: 50%;
	background-repeat: no-repeat;
}

#problem_modal_wrapper.loading #reset_password a {
	color:transparent;
}

#problem_modal_wrapper.reset_sent #reset_password {
	background-image:url(../img/ma-tick.svg);
	background-repeat: no-repeat;
	background-size:36px;
	background-position:50%;
}

#problem_modal_wrapper.reset_sent #reset_password a {
	color:transparent!important;
	pointer-events: none;
}

/* end problem */

input[type="text"]::-webkit-input-placeholder {
	color: rgba(255,255,255,0.7);
}
input[type="text"]:-moz-placeholder {
	color: rgba(255,255,255,0.7);
}
input[type="text"]::-moz-placeholder {
	color: rgba(255,255,255,0.7);
}
input[type="text"]:-ms-input-placeholder {
	color: rgba(255,255,255,0.7);
}

@media (max-width:650px) {

	#main .form_wrapper {
		width: 50vw;
	}

}

@media (max-width:450px) {
	#main .form_wrapper {
		width:90vw;
	}
	#problem_modal_wrapper {
		width: calc(90vw - 40px);
		left: 5vw;
		margin-left: 0;
	}
	#okay_button {
		width:90%;
	}
}

@media (max-width:300px) {
	
	#main .logo_wrapper {
		width: 90%;
	}

	#main .text {
		max-width: 90%;
	}

	#main .form_wrapper form {
		max-width: 90%;
		margin: 0 auto;
	}
}
