*, *:before, *:after {
	box-sizing: border-box;
	text-indent: 0;
}
html {
	font-family: 'Roboto', sans-serif;
	-webkit-font-smoothing: antialiased;
	height: 100%;
	overflow: hidden;
}
@media all and (max-width: 600px) {
	html {
		overflow: auto;
	}
}
body {
	margin: 0;
	font-weight: 400;
}

h2, h3 {
	color: rgba(0, 0, 0, 0.870588);
	font-weight: 400;
	margin: 0;
	margin-top: 10px;
	margin-bottom: 14px;
	font-size: 1.3em;
}
h3 {
	margin-top: 8px;
	margin-bottom: 8px;
	font-size: 1.2em;
}
input:-webkit-autofill { /* removes the ugly yellow bg when autofilled */
	box-shadow: 0 0 0 1000px white inset;
}
input[type=submit] {
	visibility: hidden;
	position: absolute;
	z-index: -1;
	tabindex: -1;
}
.react-layout-components--box {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}

.highlightChip {
	color: #0288D1; /* lightblue 700 */
	font-weight: 500;
}

/*-------------------------------------------------------------------*/
/*----------------------------- Reusable ----------------------------*/
/*-------------------------------------------------------------------*/
/*----- Flex -------*/
.flexRow {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	flex-wrap: nowrap;
}
.flexColumn {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex-wrap: nowrap;
}
.flexCenter {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
}
.stretch      { align-items: stretch; }
.center       { align-items: center; }
.flexStart    { align-items: flex-start; }
.flexEnd      { align-items: flex-end; }
.spaceBetween { justify-content: space-between; }
.spaceAround  { justify-content: space-around; }
.justifyStart { justify-content: flex-start; }
.justifyEnd   { justify-content: flex-end; }
.stretchSelf  { align-self: stretch; }
.flexEndSelf  { align-self: flex-end; }
.flex1        { flex: 1; }
.wrap         { flex-wrap: wrap; }
.shrink0      { flex-shrink: 0 }
.shrink1      { flex-shrink: 1 }
/*------------------*/

.errorColor {
	color: red;
}
.ellipsis {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.gridBorder {
	border-right: 1px solid #e2e2e2;
	border-bottom: 1px solid #e2e2e2;
}
.width100       { width: 100%; }
.height100      { height: 100%; }
.pointer        { cursor: pointer; }
.overflowHidden { overflow: hidden; }
.overflowAuto   { overflow: auto; }
.overflowUnset   { overflow: unset; }
.positionRelative { position: relative; }
.overParent {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
}
.floatLeft {
	float: left;
}
.hidden { opacity: 0; }
.visible { opacity: 1; }
.transition300ms { transition: all 300ms ease-in-out }
.pointer { cursor: pointer; }
.textAlignRight { text-align: right; }
.cardMargin { margin-bottom: 10px; }

/*-------------------------------------------------------------------*/
/*-------------------------- margin styles --------------------------*/
/*-------------------------------------------------------------------*/
.marginRight8  { margin-right: 8px; }
.marginRight16 { margin-right: 16px; }
.marginRight24 { margin-right: 24px; }
.marginTop10 { margin-top: 10px; }
.marginTop15 { margin-top: 15px; }
.marginTop20 { margin-top: 20px; }
.marginTop25 { margin-top: 25px; }
.marginTop50 { margin-top: 50px; }
.marginLeft8  { margin-left: 8px; }
.marginLeft10 { margin-left: 10px; }
.marginLeft15 { margin-left: 15px; }
.marginLeft25 { margin-left: 25px; }
.paddingLeft15 { padding-left: 15px; }
.marginBottom24 { margin-bottom: 24px; }
/*-------------------------------------------------------------------*/
/*--------------------------- title styles --------------------------*/
/*-------------------------------------------------------------------*/
.title15 { font-size: 15px; }
.title17 { font-size: 17px; }
.title20 { font-size: 20px; }
.title22 { font-size: 22px; }

/*-------------------------------------------------------------------*/
/*-------------------------- button styles --------------------------*/
/*-------------------------------------------------------------------*/
button {
	border: none;
}
.button {
	/*---- copied from flex center ----*/
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;

	color: white;
	background-color: #1FA086;
	border-radius: 4px;
	padding: 0
}
.button:active { color: white; background-color: #1fa086; }
.button:hover	{ color: white; background-color: #2cc9aa; }
.button:focus, .button:active:focus	{ color: white; background-color: #19836e; outline: 0}
.button:disabled, .button:disabled:hover { color: white; background-color: #1fa086; opacity: 0.7; outline: 0; cursor: not-allowed; }

/*-------------------------------------------------------------------*/
/*-------------------- text loading styles --------------------------*/
/*-------------------------------------------------------------------*/
.loading {
	opacity: 1;
}
.loading:after {
	overflow: hidden;
	display: inline-block;
	vertical-align: bottom;
	-webkit-animation: ellipsis steps(4,end) 900ms infinite;
	animation: ellipsis steps(4,end) 900ms infinite;
	content: " \2026 \2026 \2026 "; /* ascii code for the ellipsis character */
	width: 3px;
	font-weight: 500;
}
@keyframes ellipsis {
	to {
		width: 1.25em;
	}
}
@-webkit-keyframes ellipsis {
	to {
		width: 1.25em;
	}
}