body { margin-bottom: 2em; }
*:disabled,
*[disabled] { cursor: not-allowed !important; }
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; appearance: textfield; text-align: right; }
.jumbotron.exception pre { overflow: auto; font-size: 10px; }
h1.margin-bottom { margin-bottom: 1em; }
.inline-info { display: inline-block; margin-right: 4em; }
.inline-info:last-child { margin-right: 0; }
.extended-info { z-index: 1000; line-height: 30px; box-sizing: border-box; width: 100%; }
.extended-info h1 { margin: 0; padding: 0; font-size: 25px; }

@-webkit-keyframes debug { 0% { opacity: 0; -webkit-filter: blur(50px); } 100% { opacity: 0.9; -webkit-filter: blur(0px); } }
@-moz-keyframes debug { 0% { opacity: 0; -moz-filter: blur(50px); } 100% { opacity: 0.9; -moz-filter: blur(0px); } }
@keyframes debug { 0% { opacity: 0; -webkit-filter: blur(50px); -moz-filter: blur(50px); filter: blur(50px); } 100% { opacity: 0.9; -webkit-filter: blur(0px); -moz-filter: blur(0px); filter: blur(0px); } }
body.debug:before,
body.env:before { white-space: pre-wrap; display: block; margin: 0; padding: 0; z-index: 999999999; opacity: 0.9; color: white; background: red; position: fixed; top: 70px; right: 0; width: 128px; height: 20px; line-height: 20px; font-size: 11px; font-weight: bold; transform: rotate(45deg); transform-origin: bottom right; text-align: center; box-shadow: 0 5px 10px rgba(0,0,0,0.5); pointer-events: none; -webkit-animation: debug ease-in-out 0.5s 1; -moz-animation: debug ease-in-out 0.5s 1; -o-animation: debug ease-in-out 0.5s 1; -ms-animation: debug ease-in-out 0.5s 1; animation: debug ease-in-out 0.5s 1; }
body.env-staging:before { content: "STAGING" }
body.env-testing:before { content: "TESTING" }
body.debug:before { content: "DEVELOPMENT" }


.needs-day-form .form-group {
	margin: 0;
}

.table>tbody>tr>td,
.table>tbody>tr>th,
.table>thead>tr>td,
.table>thead>tr>th,
.table>tfoot>tr>td,
.table>tfoot>tr>th { vertical-align: middle; }

td input.form-control { width: 100%; min-width: 100px; }
td .form-group { margin: 0; padding: 0; }

.table-nowrap th,
.table-nowrap td,
.table-nowrap * { white-space: nowrap; }

div.loading { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255,255,255,0.66); margin: 0; padding: 0; z-index: 10000; }
div.loading[title]:before { content: attr(title); position: absolute; display: block; width: 100%; text-align: center; top: 50%; left: 0; font-size: 20px; font-weight: bold; }
div.loading[title]:after { content: ""; position: absolute; display: block; width: 128px; height: 128px; background: transparent url('/img/loader.png') no-repeat 0 0; top: 50%; left: 50%; margin: -148px -64px 20px -64px; -webkit-animation: loading 1s linear infinite; -moz-animation: loading 1s linear infinite; animation: loading 1s linear infinite; }

@-webkit-keyframes loading { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
@-moz-keyframes loading { from { -moz-transform: rotate(0deg); transform: rotate(0deg); } to { -moz-transform: rotate(360deg); transform: rotate(360deg); } }
@keyframes loading { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

#messages { display: block; position: fixed; width: 100%; left: 0; right: auto; top: auto; bottom: 10px; z-index: 999999; }
#messages > .alert { margin: 10px; box-shadow: 2px 2px 5px rgba(0,0,0,0.5); }
#messages > .alert:last-child { margin-bottom: 0; }
@media (min-width: 380px) {
	#messages { width: 360px; top: 10px; bottom: auto; left: auto; right: 10px; -webkit-animation: messages-enter 0.5s ease-in-out 1; -moz-animation: messages-enter 0.5s ease-in-out 1; animation: messages-enter 0.5s ease-in-out 1; }
	#messages > .alert { margin: 10px 0; }
}

@media (min-width: 640px) {
	#messages { width: 620px }
}

@-webkit-keyframes messages-enter { from {opacity: 0;} to {opacity: 1;} }
@-moz-keyframes messages-enter { from {opacity: 0;} to {opacity: 1;} }
@keyframes messages-enter { from {opacity: 0;} to {opacity: 1;} }

.col-actions { text-align: center; white-space: nowrap; width: 11em; }

.HKCatering.LoginPage > .container-fluid h1+ul,
.HKCatering.ForgottenPasswordPage > .container-fluid h1+ul { font-size: 20px; color: graytext; list-style: none; margin: 0 0 1em 0; padding: 0; }

@media (min-width: 480px) {
	.HKCatering.LoginPage > .container-fluid,
	.HKCatering.ForgottenPasswordPage > .container-fluid { position: absolute; box-sizing: content-box; width: 440px; margin: 100px -240px 0 -240px; top: 0; left: 50%; background-color: #FFF; overflow: hidden; border-radius: 20px; box-shadow: rgba(0,0,0,0.33) 3px 3px 10px; padding: 20px; }
	.HKCatering.LoginPage > .container-fluid h1,
	.HKCatering.ForgottenPasswordPage > .container-fluid h1 { font-size: 32px; }
}

.HKCatering.Orders h2,
.HKCatering.CompanyAdmin h2,
.HKCatering.Admin.FoodListsList h2,
.HKCatering.Admin.EmployiesList h2 { margin-bottom: 40px; }

.HKCatering.Orders table > .container-fluid,
.HKCatering.CompanyAdmin table > .container-fluid,
.HKCatering.Admin.EmployiesList > .container-fluid table { min-width: 720px; }
.HKCatering.Orders tbody tr.ordered td,
.HKCatering.CompanyAdmin tbody tr.ordered td,
.HKCatering.Admin.EmployiesList tbody tr.ordered td { background-color: #cfc; }
.HKCatering.Orders tbody tr.changed td,
.HKCatering.CompanyAdmin tbody tr.changed td,
.HKCatering.Admin.EmployiesList tbody tr.changed td { background-color: #ccf; }

.HKCatering.Orders .food-type,
.HKCatering.CompanyAdmin .food-type,
.HKCatering.Admin.FoodListsList .food-type,
.HKCatering.Admin.EmployiesList .food-type { text-align: left; width: 8em; }

.HKCatering.Orders .food-name,
.HKCatering.CompanyAdmin .food-name,
.HKCatering.Admin.FoodListsList .food-name,
.HKCatering.Admin.EmployiesList .food-name { text-align: left; width: auto; white-space: normal; }

.HKCatering.Orders .food-price,
.HKCatering.CompanyAdmin .food-price,
.HKCatering.Admin.EmployiesList .food-price { text-align: right; width: 10em; }
.HKCatering.Orders .food-orders,
.HKCatering.CompanyAdmin .food-orders,
.HKCatering.Admin.EmployiesList .food-orders { width: 16em; text-align: center; }
.HKCatering.Orders .food-orders .form-group,
.HKCatering.CompanyAdmin .food-orders .form-group,
.HKCatering.Admin.EmployiesList .food-orders .food-group { margin: 0; }
.HKCatering.Orders .food-orders input.order,
.HKCatering.CompanyAdmin .food-orders input.order,
.HKCatering.Admin.EmployiesList .food-orders input.order { display: inline-block; min-width: 0; width: 5em; text-align: center; }
.HKCatering.Orders .food-orders .order-box,
.HKCatering.CompanyAdmin .food-orders .order-box,
.HKCatering.Admin.EmployiesList .food-orders .order-box { display: inline-block; vertical-align: top; }
.HKCatering.Orders .order-form th,
.HKCatering.CompanyAdmin .order-form th,
.HKCatering.Admin.EmployiesList .order-form th { text-align: left !important; }
.HKCatering.Orders td,
.HKCatering.CompanyAdmin td,
.HKCatering.Orders th,
.HKCatering.CompanyAdmin th,
.HKCatering.Admin.EmployiesList td,
.HKCatering.Admin.EmployiesList th { vertical-align: middle; }

.HKCatering.Orders ul.pager,
.HKCatering.CompanyAdmin ul.pager,
.HKCatering.Admin.FoodListsList ul.pager,
.HKCatering.Admin.EmployiesList ul.pager { margin-top: 20px; }
.HKCatering.Orders ul.pager li,
.HKCatering.CompanyAdmin ul.pager li,
.HKCatering.Admin.FoodListsList ul.pager li,
.HKCatering.Admin.EmployiesList ul.pager li { display: inline-block; }
.HKCatering.Orders ul.pager li.previous,
.HKCatering.CompanyAdmin ul.pager li.previous,
.HKCatering.Admin.FoodListsList ul.pager li.previous,
.HKCatering.Admin.EmployiesList ul.pager li.previous { float: left; }
.HKCatering.Orders ul.pager li.next,
.HKCatering.CompanyAdmin ul.pager li.next,
.HKCatering.Admin.FoodListsList ul.pager li.next,
.HKCatering.Admin.EmployiesList ul.pager li.next { float: right; }
.HKCatering.Orders ul.pager li:after,
.HKCatering.CompanyAdmin ul.pager li:after,
.HKCatering.Admin.FoodListsList ul.pager li:after,
.HKCatering.Admin.EmployiesList ul.pager li:after { content: ""; display: block; clear: both; }

.FoodListEditor td.food-repeating .container-fluid { margin: 0; }
.FoodListEditor td.food-repeating .container-fluid .col-sm-6 { padding: 0; }
.FoodListEditor td.food-repeating { width: 16em; }


@media (min-width: 720px) {
	.HKCatering.Orders ul.pager.top,
.HKCatering.CompanyAdmin ul.pager.top,
	.HKCatering.Admin.FoodListsList ul.pager.top,
	.HKCatering.Admin.EmployiesList ul.pager.top { margin-bottom: -20px; overflow: visible; height: 0; }
}
