html, body {
	height: 100%;
}
body {
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
	line-height: 24px;
}
#container {
	min-height: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	position: relative;
	padding-top: 1px;
}
.header {
	background: #34495E;
	color: #FFF;
	height: 70px;
	position: absolute;
	left: 0; top: 0; right: 0;
	z-index: 2;
	overflow: hidden;
}
.sidebar {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	position: absolute;
	width: 200px;
	top: 70px; left: 0; bottom: 0;
	background: #E6E6E6;
}
.content {
	min-height: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 75px 40px 100px 240px;
}
.full-overlay {
    position: fixed;
	top: 0; right: 0; bottom: 0; left: 0;
    z-index: 999;
    background: #000;
    opacity: 0.2;
	-webkit-animation: fadein 1s;
	animation: fadein 1s;
}

/* General */
a {
	cursor: pointer;
	text-decoration: none;
}
a.disabled {
	pointer-events: none;
	cursor: default;
	opacity: 0.3;
}
ul li {
	padding: 5px 0;
}
.absolute {
	position: absolute;
	bottom: 0; left: 0;
}
.wrapper { position: relative; }
.inline-block { display: inline-block; }
.font600 { font-weight: 600; }
.font700 { font-weight: 700; }
.grey-text { color: #595959; }
.green-text { color: #037936; }
.small-text { font-size: 14px; }
.center-text { text-align: center !important; }
.left-text { text-align: left; }
.right-text { text-align: right; }
.justify { text-align: justify; }
.float-right { float: right; }
.width-100 { width: 100% !important; }
.clear-both { clear: both; }
.top-space { margin-top: 32px; }
.display-none { display: none !important; }
.floating { -webkit-box-shadow: 2px 2px 2px 0px rgba(0,0,0,0.5); box-shadow: 2px 2px 2px 0px rgba(0,0,0,0.5); }
.bump-up { padding-bottom: 8px; }
.dot-underline { text-decoration: underline dashed #425D78; }

.button {
	display: inline-block;
	border: 0 none;
	color: #FFF;
	font-weight: 600;
	text-decoration: none;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 8px 10px;
	margin: 0 15px;
	position: relative;
	-webkit-transition: opacity 0.25s, color 0.25s, background-color 0.25s;
	transition: opacity 0.25s, color 0.25s, background-color 0.25s;
	-webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
	        box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}
.button:not(.loading):not(:disabled):active {
	bottom: -1px;
}
.button:hover, .button:focus { 
	outline: 0 !important;
}
.button.grey, .button.yellow {
	color: #000;
}
.button.green,
.button.green.loading:hover,
.button.green.loading:focus {
	background: #29AD62;
}
.button.green:hover,
.button.green:focus {
	background: #037936;
}
.button.red,
.button.red.loading:hover,
.button.red.loading:focus {
	background: #AD2929;
}
.button.red:hover,
.button.red:focus {
	background: #8B0E0E;
}
.button.grey {
	background: #E1E1E1;
}
.button.grey:hover,
.button.grey:focus {
	background: #B7B5B5;
}
.button.blue {
	background: #425D78;
}
.button.blue:hover,
.button.blue:focus {
	background: #34495E;
}
.button:disabled {
	cursor: default;
	opacity: 0.3;
}
.button.loading  {
	color: transparent !important;
	opacity: 0.8;
	position: relative;
	overflow: hidden;
}
@-webkit-keyframes loading-scale {
	0% { -webkit-transform: translate(-50%, -50%) scale(0) ; }
	100% { -webkit-transform: translate(-50%, -50%) scale(1); }
}
@keyframes loading-scale {
	0% { -webkit-transform: translate(-50%, -50%) scale(0); transform: translate(-50%, -50%) scale(0); }
	100% { -webkit-transform: translate(-50%, -50%) scale(1); transform: translate(-50%, -50%) scale(1); }
}
.button.loading:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 70%;
	border-radius: 50%;
	border: 8px solid #FFF;
	-webkit-animation: loading-scale 1800ms infinite ease-out;
	animation: loading-scale 1800ms infinite ease-out;
}
.fa {
	line-height: 24px;
	font-size: 120%;
	position: relative;
	/*top: 1px;*/
}
.toggle-dropdown .fa {
	top: 0;
}
.fa.margin-right {
	margin-right: 5px;
}
.link-style-button {
	display: inline;
	border: 0 none;
	background: transparent;
	padding: 3px 5px;
	margin: -3px -5px;
	color: #637A90;
	-webkit-transition: color 0.25s;
	transition: color 0.25s;
}
.link-style-button:hover,
.link-style-button:focus {
	color: #17334E;
	outline: 0;
}
.link-style-button.sort {
	font-weight: 700;
}

/* Forms */
label {
	cursor: pointer;
}
input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="tel"], textarea, .checkbox-wrapper label:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: #fff;
	-webkit-transition: border 0.25s;
	transition: border 0.25s;
}
.grey-border, input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="tel"], textarea, .checkbox-wrapper label:before {
	border: 3px solid #C9C9C9;
}
.button, .grey-border, input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="tel"], textarea, .checkbox-wrapper label:before {
	border-radius: 6px;
}
input[type="text"], input[type="password"], input[type="email"] {
	width: 250px;
}
textarea {
	height: 88px;
}
input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="tel"], textarea {
	padding: 5px 8px;
	line-height: 24px;
}
input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="tel"], textareae {
	-webkit-box-shadow: inset 0px 0px 10px 5px rgba(249,249,249,1);
	        box-shadow: inset 0px 0px 10px 5px rgba(249,249,249,1);
}
input[type="text"]:hover, input[type="password"]:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="tel"]:hover, textarea:hover,
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="tel"]:focus, textarea:focus,
.checkbox-wrapper:hover label:before, .checkbox-wrapper input[type="checkbox"]:focus + label:before {
	border-color: #969696;
	-webkit-appearance: none;
	outline: 0 !important;
}
.checkbox-wrapper {
	display: inline-block;
}
input[type="checkbox"]:disabled + label {
	opacity: 0.4;
	cursor: default;
}
input[type="checkbox"]:disabled + label:before {
	border-color: #C9C9C9 !important;
}
input[type="number"]::-webkit-inner-spin-button, 
input[type="number"]::-webkit-outer-spin-button { 
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0; 
}
input[type="number"] {
	-moz-appearance: textfield;
}
select:disabled {
	border-color: transparent;
	background: transparent;
}
.input-error {
	visibility: hidden;
	opacity: 0;
	-webkit-transition: visibility 0s 0.25s, opacity 0.25s;
	transition: visibility 0s 0.25s, opacity 0.25s;
	position: absolute;
	height: 20px;
	bottom: -38px; /* height + padding (x2) + border + forced margin */
	left: 0;
	padding: 4px 11px;
	border: 2px solid #AD2929;
	border-radius: 8px;
	background: #FBF0F0;
	z-index: 2;
	font-size: 0.875em;
	font-weight: 600;
	white-space: nowrap;
}
.has-error .input-error {
	visibility: visible;
	opacity: 1;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}
.input-error:after,
.input-error:before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
}
.input-error:after {
	top: -8px;
	left: 11px;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid #FBF0F0;
}
.input-error:before {
    top: -10px;
    left: 9px;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #AD2929;
}
.center-text .input-error {
	left: 50%;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
}
.center-text .input-error:after,
.center-text .input-error:before {
	left: 50%;
}
.center-text .input-error:after {
	margin-left: -8px;
}
.center-text .input-error:before {
	margin-left: -10px;
}
.checkbox-wrapper input[type="checkbox"] {
	opacity: 0;
	z-index: -1;
	position: absolute;
}
.checkbox-wrapper label {
	display: inline-block;
}
.checkbox-wrapper label {
	margin-left: 24px;
}
.checkbox-wrapper label:before {
	content: '';
	position: absolute;
	top: 0; left: 0;
	display: block;
	width: 24px;
	height: 24px;
	text-align: center;
	line-height: 1;
	font-family: 'FontAwesome';
    font-weight: normal;
	font-size: 120%;
    font-style: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.checkbox-wrapper input[type="checkbox"]:checked + label:before {
	/*background: url('../images/checkmark.png') no-repeat center center #FFF;*/
	content: '\f00c';
}
.input-wrapper {
	display: inline-block;
	position: relative;
	vertical-align: bottom;
}
.input-wrapper.wide {
	width: 400px;
}
button.clear-button {
	position: absolute;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 32px;
	height: 32px;
	bottom: 4px; /* inputs have height 40px => 40/2 - 32/2 = 4 */
	right: 3px;
	margin-top: -16px;
	padding: 0;
	border: none;
	background: transparent;
	color: #C9C9C9;
	-webkit-transition: color 0.25s;
	transition: color 0.25s;
}
button.clear-button:focus {
	color: #969696;
}
input.has-clear {
	padding-right: 40px;
}
input.small-input {
	width: 80px;
}
.floating-label label {
	display: block;
	margin-left: 11px;
	color: #037936;
	height: 24px;
}
.floating-label.center-text label {
	margin: 0;
}
.floating-label .label-text {
	display: inline-block;
	vertical-align: bottom;
	max-height: 0;
	opacity: 0;
	-webkit-transition: all 0.5s cubic-bezier(0, 1, 0.5, 1);
	transition: all 0.5s cubic-bezier(0, 1, 0.5, 1);
	overflow: hidden;
}
.floating-label.has-text .label-text {
	max-height: 24px;
	opacity: 1;
}

/* Button-dropdowns + Selectish (mimic ) */
.dropdown {
	position: relative;
	/* z-index: 2; */
	vertical-align: bottom;
}
.toggle-dropdown {
	width: 100%;
	text-align: left;
	margin: 0;
	position: relative;
}
.expanded .toggle-dropdown {
	z-index: 2;
}
.dropdown .button.toggle-dropdown:active {
	bottom: 0;
}
.dropdown .duplicate-placeholder {
	height: 0;
	overflow: hidden;
	border: none;
	padding: 0 3px;
}
.dropdown .functional {
	position: absolute;
	top: 29px;
	left: 0;
	background: #FFF;
	/* z-index: -1; */
	z-index: 1;
}
.dropdown ul {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0;
	padding: 17px 0 0;
	list-style: none;
}
.dropdown ul li {
	padding: 0 10px 10px;
	white-space: nowrap;
}
.dropdown label {
	margin-left: 36px;
}
.dropdown .fa.fa-chevron-up,
.dropdown .functional,
.dropdown.expanded .fa.fa-chevron-down,
.selectish-radio {
	display: none;
}
.dropdown.expanded .fa.fa-chevron-up,
.dropdown.expanded .functional {
	display: block;
}
.dropdown.selectish .toggle-dropdown {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 5px 7px; /* Button padding - border */
	background: #FFF;
	font-weight: 600;
	cursor: pointer;
}
.dropdown.selectish .toggle-dropdown:focus,
.dropdown.selectish .toggle-dropdown:hover {
	outline: 0 !important;
	border-color: #B7B5B5;
}
.dropdown.selectish .functional {
	padding-top: 7px;
}
.dropdown.selectish ul li {
	padding: 0;
}
.selectish ul label:hover {
	background: #F5F5F5;
}
.selectish label {
	display: block;
	padding: 5px 42px 5px 8px;
	margin: 0;
	color: #000;
}
.dropdown .selectish-radio:checked + label {
	background: #425D78;
	color: #FFF;
}

/* Filterlist */
.filterlist ul {
	list-style: none;
	height: 220px;
	overflow-y: scroll;
	margin: 15px 0;
	padding: 0;
	position: relative;
	outline: 0;
}
.filterlist ul:focus {
	border-color: #969696;
}
.filterlist ul li {
	margin: 0;
	padding: 5px 8px;
}
.filterlist ul li:hover, .filterlist ul li:focus, .filterlist ul li.hover {
	background: #F5F5F5;
	outline: 0;
}
.filterlist ul li.selected {
	background: #425D78;
	color: #FFF;
}
.filterlist ul li.filtered {
	display: none;
}
.filterlist .selected-item-name {
	padding: 8px 11px;
	background: #F5F5F5;
	border-radius: 6px;
	margin-bottom: 15px;
}
.refresh-filterlist {
	padding: 15px;
	-webkit-animation: spin 2s infinite linear paused;
	        animation: spin 2s infinite linear paused;
}
.filterlist.loading .refresh-filterlist {
	-webkit-animation-play-state: running;
	        animation-play-state: running;
}
@keyframes spin { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
@-webkit-keyframes spin { from { -webkit-transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); } }

/* Header */
.header a, .header .link-style-button {
	display: inline-block;
	color: #FFF;
	text-decoration: none;
	min-width: 60px;
	margin: 0;
}
.header-content {
	height: 70px;
}
.logo {
	display: inline-block;
	height: 100%;
	font-size: 1.625em;
	font-weight: 700;
	line-height: 70px;
}
a.logo-link {
	margin-left: 20px;
}
.header-links {
	float: right;
	height: 100%;
}
.header .username {
	color: #F2F2F2;
}
.header-link , .header-content .username {
	height: 100%;
	line-height: 70px;
	padding: 0 15px;
}
.header-link {
	font-weight: 700;
	-webkit-transition: background-color 0.25s;
	transition: background-color 0.25s;
}
.header-link:hover, .header-link:focus {
	background: #425D79;
	outline: 0;
}
.header-expando, .header button.showmenu {
	display: none;
}
.mobile-login-info {
	display: none;
	float: left;
	line-height: normal;
}
.mobile-nav, .mobile-login-info {
	padding: 0 0 20px 0;
}
.mobile-nav {
	text-align: right;
}
.mobile-nav li, .mobile-login-info li {
	display: block;
}
.mobile-nav li a, .mobile-login-info li.username, .mobile-login-info li a {
	padding: 8px 15px;
}
.mobile-nav li.active {
	font-weight: 700;
}

/* Sidebar */
.nav, .mobile-nav, .mobile-login-info {
	margin: 0;
	list-style: none;
}
.nav {
	padding: 0;
}
.nav li {
	display: block;
	position: relative;
	padding: 0;
}
.nav li.active:after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	width: 0; 
	height: 0; 
	border-top: 13px solid transparent;
	border-bottom: 13px solid transparent; 
	border-right: 13px solid white;
	margin-top: -13px;
}
.nav a {
	display: block;
	padding: 18px 0 18px 20px;
	color: #000;
	text-decoration: none;
	font-weight: 600;
	-webkit-transition: background-color 0.25s;
	transition: background-color 0.25s;
}
.nav li.active a {
	color: #FFF;
	background: #425D78;
}
.nav li:not(.active) a:hover, .nav li:not(.active) a:focus {
	background: #BAC1C8;
	outline: 0;
}
.nav li.active a:hover, .nav li.active a:focus {
	background: #34495E;
	outline: 0;
}

/* Content */
h1, h2, h3 {
	line-height: normal;
}
h1 {
	font-weight: 600;
	margin: 22px 20px 22px 0;
}
.top-right {
	margin-top: 29px;
}
.float-right .button:last-child {
	margin-right: 0;
}
.edit-area .input-wrapper, .edit-area .button {
	margin: 0 15px 20px 0;
}
.notice {
	display: inline-block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 15px;
	border: 2px solid #D3D800;
	border-radius: 8px;
	background: #FBFE82;
	margin-bottom: 40px;
}
.notice-header {
	font-weight: 600;
	margin-bottom: 10px;
}
.notice .button {
	margin-bottom: 0;
}
ul.low-top {
	margin-top: 5px;
}
.max-width {
	width: 100%;
	max-width: 650px;
}
#change-pass {
	width: 100%;
	max-width: 400px;
}
#account-controls table th {
	text-align: left;
	font-weight: 400;
	padding-bottom: 25px;
	color: #595959;
}
#account-controls table th:first-child,
#account-controls table td:first-child {
	white-space: nowrap;
	padding-right: 25px;
}
#account-controls table .button {
	margin: 5px 0 0 20px;
	white-space: nowrap;
	width: 120px;
}
#account-controls table td, #account-controls table th {
	padding-bottom: 30px;
	vertical-align: top;
}
.save-status {
	position: fixed;
	height: 23px;
	bottom: -53px; /* height + padding */
	right: 20px;
	background: #34495E;
	font-weight: 600;
	z-index: 3;
	padding: 15px 30px;
	-webkit-transition: transform .25s ease-in-out;
	-webkit-transition: -webkit-transform .25s ease-in-out;
	transition: -webkit-transform .25s ease-in-out;
	transition: transform .25s ease-in-out;
	transition: transform .25s ease-in-out, -webkit-transform .25s ease-in-out;
}
.save-status .status {
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}
.save-status .status-saving {
	position: absolute;
	left: 0;
	color: #FFF;
}
.save-status .status-saved {
	color: #72D49D;
	opacity: 0;
}
.save-status.saved .status-saved {
	opacity: 1;
}
.save-status.saved .status-saving {
	opacity: 0;
}
.save-status .dismiss-save-status {
	margin-left: 15px;
	color: #C0C2C5;
}
.save-status .dismiss-save-status:hover {
	color: #D3DAE4;
}
.save-status.show {
	-webkit-transform: translate3d(0px, -53px, 0px);
	transform: translate3d(0px, -53px, 0px);
}
.similar-recipes {
	display: none;
}
.similar-recipes ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.possible-match .grey-border {
	padding: 0 15px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
}
#ingred-adjust-wrapper {
	display: none;
}

/* Schedule */
.schedule-table td, .schedule-table th {
	text-align: left;
	padding: 5px 8px;
}
.schedule-table thead tr, .schedule-table tbody tr:nth-child(even) {
	background: #F5F5F5;
}
.employee-select + label {
	margin-left: 28px;
	font-weight: 700;
	color: #908f8f;
}
.employee-select:checked + label {
	color: #000;
}
#current-schedule td {
	padding: 5px 8px;
	text-align: center;
	border: 2px solid #000;
}
#current-schedule td.split-cell-top {
	border-bottom: 1px solid #000;
}
#current-schedule td.split-cell-btm {
	border-top: 1px solid #000;
}
#current-schedule td.split-cell-empty {
	border: 0 none;
	background: #F5F5F5;
}
.currsched-empl {
	display: none;
}
.currsched-empl.scheduled {
	display: inline;
	padding: 0 6px;
}

/* Send Recipe */
.send-rec-ingreds td {
	padding: 4px 6px;
}
.send-rec-ingreds td:first-child {
	text-align: right;
}
.send-rec-ingreds td:nth-child(3) {
	padding-left: 12px;
}

/* Above Item Tables */
.table-actions {
	margin: 15px 0;
}
.table-actions .checkbox-wrapper.select-all-wrapper {
	margin: 0 24px 0 15px; /* To match table layout */
}
.table-actions.for-drag-sort .checkbox-wrapper.select-all-wrapper {
	margin-left: 45px; /* To match table layout */
}
.selected-actions {
	display: inline-block;
	margin-left: 60px;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: visibility 0s 0.25s, opacity 0.25s;
	transition: visibility 0s 0.25s, opacity 0.25s;
}
.selected-actions.show {
	visibility: visible;
	opacity: 1;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}
.selected-actions .button,
.actions-wrapper .button {
	width: 40px;
	margin: -5px 0 -5px 15px;
	text-align: center;
}
.search-area {
	margin-top: -6px;
	margin-left: 15px;
}
.search-area .button.show-search-info {
	margin-right: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
    width: 40px;
}
.search-info-window {
	display: none;
	position: absolute;
	height: 112px;
	bottom: -163px; /* Height + padding + forced margin */
	right: 0;
	z-index: 2;
	background: #FFF;
	padding: 15px;
	border-color: #34495E;
	border-width: 2px;
}
.search-info-window:after,
.search-info-window:before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
}
.search-info-window:after {
	top: -10px;
	left: 11px;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid #FFF;
}
.search-info-window:before {
    top: -12px;
    left: 9px;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 12px solid #34495E;
}
.search-info-window.show {
	display: block;
}
.search-info-window p {
	margin: 0 0 10px 0;
}
.search-info-window p:last-child {
	margin-bottom: 0;
}

/* Item Tables */
.item-table {
	display: table;
	border-collapse: collapse;
	margin-bottom: 40px;
	position: relative;
	width: auto;
	max-width: 100%;
}
.item-table.disabled:after, .filterlist.loading:after, #dup-ingred-results.loading:after {
	content: '';
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: 999;
	background: #E4E4E4;
	opacity: 0.2;
	-webkit-animation: fadein 1s;
	animation: fadein 1s;
}
@keyframes fadein { from { opacity: 0; } to { opacity: 0.2; } }
@-webkit-keyframes fadein { from { opacity: 0; } to { opacity: 0.2; } }
.item-table-row, .item-table-head-row, .item-table-action-row, .sortable-placeholder {
	display: table-row;
}
.item-table-row, .item-table-head-row, .sortable-placeholder {
	border-bottom: 1px solid #E5E5E5;
}
.sortable-placeholder {
	opacity: 0;
}
.selected-names-list {
	margin-left: 15px;
}
.item-table-head-row {
	font-weight: 700;
}
.link-style-button.sort.active {
	text-decoration: underline;
}
.item-table-row {
	background: #F5F5F5;
	-webkit-transition: background-color 0.25s;
	transition: background-color 0.25s;
}
.item-table-row:hover {
	background: #FBFBFB;
}
.item-table-row.selected {
	background: #E4E6E9;
	outline: 0;
}
.item-table-row.filtered, .item-table-row.filtered  * {
	visibility: hidden;
	height: 0;
	max-height: 0;
	overflow: hidden;
	line-height: 0;
	padding-top: 0;
	padding-bottom: 0;
	vertical-align: bottom;
	border: 0 none;
}
.item-table-row#item-0 {
	display: none;
}
.item-table-cell {
	display: table-cell;
	padding: 10px 12px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.roomier .item-table-cell:not(:first-child) {
	padding-right: 24px;
}
.item-table-cell.shrink   { 
	width: 1px;
	white-space: nowrap;
}
.item-table-cell.selector {
	padding-left: 15px;
}
.item-table-row .handle, .adjust-ingred-table .handle {
	width: 30px;
	background: url('../images/handle.gif') no-repeat center center;
	cursor: pointer;
}
.no-sort .item-table-row .handle {
	opacity: 0.25;
	cursor: default;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
	/* Display issues in FF when transition was applied to item not as child of .no-sort */
}
.new-row .handle {
	opacity: 0;
	cursor: default;
}
.new-row .selector .checkbox-wrapper {
	display: none;
}
.truncate-hidden-spacer {
	visibility: hidden;
	display: inline-block;
	max-height: 0;
	overflow: hidden;
}
.truncate-visible {
	position: absolute;
	bottom: 0; left: 0; right: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.item-table-cell.actions {
	padding-left: 0;
}
.actions-wrapper {
	display: inline-block;
	opacity: 0;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}
.item-table-row:hover .actions-wrapper,
.item-table-row.hover .actions-wrapper,
.item-table-row.editing .actions-wrapper,
.item-table-row.deleting .actions-wrapper {
	opacity: 1;
}
.no-match {
	display: none;
	margin-top: 0;
	margin-left: 40px;
}
.no-match.show {
	display: block;
}
.search-string {
	font-weight: 700;
	margin-left: 10px;
}

/* Inline Editing */
.inline-input-wrapper {
	display: none;
	position: absolute;
	top: -8px;
	right: -11px;
	bottom: -8px;
	left: -11px;
	line-height: 24px;
}
.inline-input-wrapper .inline-input {
	width: 100%;
	vertical-align: top;
	line-height: 24px;
}
.inline-input-wrapper .checkbox-wrapper {
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}
.inline-save,
.inline-cancel { display: none; }
.editing .inline-input-wrapper { display: block;}
.editing .inline-edit,
.editing .delete-item { display: none; }
.editing .inline-save,
.editing .inline-cancel { display: inline; }
.editing .inline-value {
	visibility: hidden;
	z-index: -1;
}


/* Grocery List Generator */
.loc-qtys {
	height: 0;
	visibility: hidden;
	overflow: hidden;
}
.loc-qtys.show {
	height: auto;
	visibility: visible;
	overflow: visible;
}
.change-multiplier {
	font-size: 30px;
}
.loc-qtys .location {
	display: inline-block;
	margin: 10px 24px 15px 0;
}
.loc-qtys .location.fourth {
	margin-right: 0;
}
.loc-qtys .loc-name {
	font-weight: 600;
	margin-bottom: 10px;
}
.loc-qtys .small-input {
	width: 64px;
	font-size: 18px;
	font-weight: 600;
}
.loc-recipes {
	margin: 40px 0;
}
.loc-recipes th, .loc-recipes td {
	padding: 8px 11px;
	border-bottom: 1px solid #E5E5E5;
}
.loc-recipes th:not(.center-text), .loc-recipes td:not(.center-text) {
	text-align: left;
}
.loc-recipes tr:nth-child(even) {
	background: #f8f8f8;
}
.remove-rec {
	margin: -6px 0 -6px 10px;
	padding: 6px;
}
.loc-recipes tr.hidden-ingred {
	background: #FFEFEF;
}
.hidden-ingred td:not(:first-child) {
	opacity: 0.5;
}
.hide-ingred { margin: 0; }
.hide-ingred .show-icon { display: none; }
.hidden-ingred .hide-ingred .show-icon { display: inline; }
.hidden-ingred .hide-ingred .hide-icon { display: none; }

/* Add Ingredients to Recipe*/
#add-ingred {
	display: inline-block;
}
.add-ingred-details {
	padding-left: 11px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.add-ingred-details .button {
	margin-right: 0;
}
.new-ingred {
	display: none;
	margin-left: -11px;
	margin-bottom: 15px;
}
.add-new-ingred .new-ingred {
	display: block;
}
.new-ingred table, .new-ingred table .input-wrapper, .new-ingred table input {
	width: 100%;
}
.new-ingred table .units {
	width: 146px;
	padding-left: 15px;
}
.ingred-not-listed {
	margin-top: 26px;
	font-weight: 700;
}
.add-new-ingred .selected-ingredient,
.add-new-ingred .ingred-not-listed {
	display: none;
}

/* Login */
.login {
	width: 100%;
	max-width: 432px;
	margin: 40px auto;
}
.login h1 {
	text-align: center;
	margin: 20px 0;
}
.login .input-wrapper {
	display: block;
	width: 300px;
	margin: 0 auto 20px;
}
.login .button {
	margin-top: 24px;
}
.login p, .login-result {
	margin: 20px 11px;
}
.login-result.is-error {
	text-align: left;
	color: #bc0707;
}
.login-result br {
	margin-bottom: 10px;
}

@media all and (max-width: 640px) {
	.logo { font-size: 1.4em; }
	.header-links .username,
	a.header-link {
		display: none;
	}
	.mobile-login-info { display: block; }
}
@media all and (max-width: 1024px) {
	#container { padding-top: 0; }
	.header { 
		position: relative;
		height: auto;
		overflow: visible;
	}
	a.logo-link { margin-left: 15px; }
	.header button.showmenu { display: inline-block; }
	.sidebar { display: none; }
	.content { padding: 5px 15px 100px; }
}