.alert {
	display: none;
	margin-bottom: 0;
}

table {
	padding: 15px 0 15px;
	border-bottom: none !important;
}

/* Zebra striping */
tr:nth-of-type(odd) { 
	background: #eee; 
}

th { 
	background: #3c8dbc; 
	color: white; 
	font-weight: bold; 
}

td, th { 
	padding: 10px; 
	border: 1px solid #ccc; 
	text-align: left; 
}

table.dataTable thead .sorting:after,
table.dataTable thead .sorting:before,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_desc_disabled:after,
table.dataTable thead .sorting_desc_disabled:before {
	bottom: .5em;
}

/* 
Max width before this PARTICULAR table gets nasty
This query will take effect for any screen smaller than 760px
and also iPads specifically.
*/
@media 
only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px)  {

	table { 
	  	width: 100%; 
	}

	/* Force table to not be like tables anymore */
	table, thead, tbody, th, td, tr { 
		display: block; 
	}
	
	/* Hide table headers (but not display: none;, for accessibility) */
	thead tr { 
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	
	tr { border: 1px solid #ccc; }
	
	td { 
		/* Behave  like a "row" */
		border: none;
		border-bottom: 1px solid #eee; 
		position: relative;
		padding-left: 50% !important; 
	}

	td:before { 
		/* Now like a table header */
		position: absolute;
		/* Top/left values mimic padding */
		top: 6px;
		left: 6px;
		width: 45%; 
		padding-right: 10px; 
		white-space: nowrap;
		/* Label the data */
		content: attr(data-column);

		color: #000;
		font-weight: bold;
	}

}

input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control {
	line-height: 15px;
}

.form-container {
	margin-bottom: 25px;
}

.form-container h4 {
	font-size: 24px;
}

.form-container .form-group {
	margin: 7.5px;
}

.form-container .form-group.pricing label {
	display: block;
}

.form-container .form-group.pricing div, .form-container .form-group.surcharge .item div {
	margin-right: 10px;
	display: inline-block;
	width: calc(33.3% - 9px);
	vertical-align: bottom;
}

.form-container .form-group.surcharge .controls {
	margin-top: 15px;
}

.form-container .form-group.surcharge .item div:nth-child(1) {
	width: calc(50% - 9px);
}

.form-container .form-group.surcharge .item div:nth-child(3)
{
	margin-right: 0;
}

.form-container .form-group.surcharge .item {
	margin-bottom: 15px;
}

.form-container .form-group.surcharge .item:last-of-type {
	margin-bottom: 0;
}

.form-container .form-group.surcharge .item div {
	width: calc(25% - 6px);
	vertical-align: bottom;
}

.form-container .form-group.surcharge .item div button {
	width: 100%;
    padding: 6px 5px;
}

.form-container .form-group.surcharge .item div span {
	font-size: 20px;
    cursor: pointer;
}

.form-container .form-group.pricing div:last-child, .form-container .form-group.surcharge .item div:last-child {
	margin-right: 0;
}

.form-container .form-group.pricing div h5 {
	margin: 0 0 5px 0px;
    font-weight: bold;
}

@media only screen and (min-width: 900px)
{
	.form-container .form-group.half {
		width: calc(25% - 17px);
	}
}

.form-container .cost-input {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='16px' width='85px'><text x='2' y='13' fill='gray' font-size='12' font-family='arial'>$</text></svg>");
    padding-left: 16px;
    width: 100%;
    background-repeat: no-repeat;
    background-position: 5px 8px;
}

@media only screen and (min-width: 900px)
{
	.form-container .form-group {
		display: inline-block;
		width: calc(50% - 17px);
		vertical-align: top;
	}

	.form-container .form-group.full-width {
		width: auto;
		display: block;
	}
}

.reports {
	padding: 15px;
}

.reports h4 {
	margin-top: 0;
}

.reports .form-group {
	width: calc(40% - 15px);
	display: inline-block;
	margin-right: 15px;
	vertical-align: bottom;
}

.reports button {
	margin-bottom: 15px;
    padding: 6px 15px;
}

.calendar #loading {
    display: none;
    position: absolute;
    top: 10px;
    right: 10px;
}

.calendar #calendar {
    margin: 20px auto;
    padding: 0 10px;
}

#calendar .fc-widget-header table {
	margin-bottom: 0;
}

#calendar .fc-widget-header table tr th {
	color: #000;
}

.calendar .filter ul {
	list-style: none;
    padding: 0;
}

.calendar .filter ul li {
	margin: 0 10px 10px 0;
	display: inline-block;
}

.calendar .filter ul li label {
    background: #222d32;
	padding: 10px;
	max-width: 200px;
	cursor: pointer;
	color: #FFF;
}

.calendar .filter ul li label input {
	display: none;
}

@media only screen and (max-width: 1025px) {
	#calendar .fc-toolbar .fc-center {
		margin-top: 20px;
	}

	#calendar .fc-toolbar .fc-center h2 {
		font-size: 20px;
	}
	
	#calendar .fc-list-heading .fc-widget-header a {
		float: none;
	}

	#calendar .fc-list-table tbody tr td {
		padding-left: 14px !important;
	}

	.calendar .filter ul li label {
		max-width: 100%;
	}
}