body, html{
	box-sizing: border-box;
	font-family: helvetica;
	height: 100%;
	margin: 0px;
	padding: 0px;
	width: 100%;
}

body{
	font-family: Roboto, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 20px;
	font-weight: 300;
}

form{
	position: relative;
}

header{
	box-sizing: border-box;
	margin: auto;
	max-width: 500px;
	padding: 15px 30px 0px;
	width: 100%;
	
}

#parking-portal header{
   margin-bottom: 10px;
   max-width: unset;
   padding: 0px;
   position: relative;
}

#parking-portal header #logo{
   background: url("../../images/logo.svg") center center no-repeat;
   background-size: contain;
   width: 350px;
   height: 70px;
   transform: translateY(8px);
}

#parking-portal header.app-label{
	background: rgba(0,0,0,.05);
	color: #777;
	font-size: 12px;
	line-height: 30px;
	padding: 0px 30px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
header.app-label i{
	margin: 0px 5px;
}

main{
	margin: auto;
	max-width: 500px;
	width: 100%;
}
#parking-portal main{
	max-width: 1800px;
   min-height: 80vh;
}

section{
	padding: 30px;
}

footer{
	box-sizing: border-box;
	margin: auto;
	max-width: 500px;
	padding: 0px 30px 60px;
	width: 100%;
	
	color: #999;
	font-size: 12px;
	text-align: center;
}


#logo{
	width: 100%;
	height: auto;
}

a, a:link, a:active, a:visited{
	color: #68bd45;
	font-weight: bold;
	text-decoration: none;
}


.form-item{
	display: block;
	margin-bottom: 15px;
	clear: both;
}
.form-item > label{
	display: block;
	margin-bottom: 5px;
	font-size: 12px;
	line-height: 16px;
	text-transform: uppercase;
}

.form-item > label a{
	text-decoration: none;
	font-weight: bold;
}

.form-item input[type=text], .form-item input[type=date], .form-item select, .form-item textarea{
	background: rgba(56,178,230,.5);
	border: 0px;
	border-radius: 0px;
	box-sizing: border-box;
	font-size: 16px;
	height: 40px;
	line-height: 40px;
	margin: 0px;
	padding: 0px 15px;
	width: 100%;
	-webkit-appearance: none;
   vertical-align: middle;
}

.form-item textarea{
	height: 160px;
   line-height: 20px;
}

.form-item input[type=checkbox] + label{
	display: inline;
	margin-left: 10px;
}

	
.hidden{
	display: none;
}

.form-item button, .form-item input[type=submit], button{
	width: auto;
	background: #68bd45;
	border: none;
	border-collapse: collapse;
	border-radius: 3px;
	/* box-shadow: 0px 2px 5px rgba(0,0,0,.15); */
	color: #fff;
	font-size: 16px;
	height: 40px;
	letter-spacing: 0.08em;
	line-height: 42px;
	padding: 0px 15px;
	cursor: pointer;
	position: relative;
	text-transform: uppercase;
	vertical-align: bottom;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	
	-webkit-appearance: none;
}

a.button{
	font-weight: bold;
	width: auto;
	background: #68bd45;
	border: none;
	border-collapse: collapse;
	border-radius: 3px;
	/* box-shadow: 0px 2px 5px rgba(0,0,0,.15); */
	color: #fff;
	font-size: 16px;
	height: 40px;
	letter-spacing: 0.08em;
	line-height: 42px;
	padding: 0px 15px;
	cursor: pointer;
	position: relative;
	text-transform: uppercase;
	vertical-align: bottom;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	text-decoration: none;
	-webkit-appearance: none;
	display: inline-block;
}

a.button.teams{
	background: #7477e1;
}


h1, h3 {
	color: #3b5aa8;
	font-size: 28px;
	letter-spacing: 0;
	line-height: 30px;
	margin: 0 0 22px 0;
	text-align: center;
}

#parking-portal h1{
   font-size: 32px;
   margin-bottom: 0px;
}

#parking-portal h1, #parking-portal h3{
   text-align: left;
}

.hdr{
   display: flex;
   margin-bottom: 30px;
}

.hdr > *{
   display: block;
   flex-grow: 0;
   flex-shrink: 1;
   flex-basis: auto;
   align-self: auto;
   width: 50%;
   box-sizing: border-box;
}

.hdr .button{
   margin-bottom: 10px;
}


#database-search{
   padding: 30px 0px 0px;
   display: flex;
}

#database-search > form{
   display: block;
   flex-grow: 0;
   flex-shrink: 1;
   flex-basis: auto;
   align-self: auto;
   box-sizing: border-box;
}

#database-search form input, #database-search form button{
   width: auto;
   display: inline-block;
   margin-left: 5px;
}

#database-search > span{
   text-align: center;
   width: 80px;
   line-height: 40px;
   display: block;
   flex-grow: 0;
   flex-shrink: 1;
   flex-basis: auto;
   align-self: auto;
   box-sizing: border-box;
}


h4 {
	color: #3b5aa8;
	font-size: 20px;
	letter-spacing: 0;
	line-height: 24px;
	margin: 0 0 22px 0;
	text-align: center;
}

#parking-portal h3{
	text-align: left;
}


#vehicle_plate{
	text-transform: uppercase;
}

hr{
	border-collapse: collapse;
	border: 0px;
	border-bottom: 1px solid #eee;
	padding: 0px;
	margin: 60px 0px;
}

form hr{
	margin: 30px 0px;
}


#parking-form{
	min-height: 65vh;
}


.centered{
	text-align: center;
}

#admin-lookup form{
	margin-bottom: 60px;
}

#admin-lookup #vehicle_plate{
	width: calc(100% - 80px);
	display: inline-block;
}
#admin-lookup #plate_find{
	width: 80px;
	display: inline-block;
	border-radius: 0px 3px 3px 0px;
}



h6{
	font-weight: normal;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.08em;
	color: #ddd;
	padding-bottom: 5px;
	border-bottom: 1px solid #eee;
	margin: 0px 0px 30px;
	text-transform: uppercase;
}


/* **************** */

#vehicle-data-table{
	width: 100%;
}

.tablesorter-header > div{
	cursor: ns-resize
}

.tablesorter-headerAsc > div:after{
	content: "↑";
	margin-left: 10px;
}

.tablesorter-headerDesc > div:after{
	content: "↓";
	margin-left: 10px;
}


.searchable.noshow{
	display: none;
}



#portal-search-filter .form-item input, #portal-search-filter .form-item select{
	
	display: inline-block;
	max-width: 200px;
	
}

.unresolved{
	background: #efe;
}


table.data{
	border-collapse: collapse;
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	font-size: 12px;
	
}

table.data td, table.data th{
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	padding: 5px;
	box-sizing: border-box;
	vertical-align: top;
	text-align: left;
}

table.data td.centered, table.data th.centered{
	text-align: center;
}


table.data td .fa{
	font-size: 18px;
}


.vehicle-detail-box{
	margin-bottom: 30px;
}

.vehicle-detail-box h2{
	text-transform: uppercase;
   font-size: 24px;
   line-height: 28px;
	margin: 0px;
	padding: 0px;
	color: #444;
}


div.back{
	margin-bottom: 30px;
}

#parking-portal nav{
   text-align: right;
}


section nav{
	margin-bottom: 30px;
}

.vehicle-detail-box{
	display: inline-block;
	
}

.vehicle-detail-box h2{
	white-space: nowrap;
	margin-right: 200px;
}

.vehicle-detail-box > img{
	float: right;
	width: 140px;
	height: auto;
}

img.handicap{
	width: 90px;
	height: auto;
	margin: 0px auto 30px;
	
}


#accessible_parking{
	margin-top: 20px;
}


#logo-accessible-parking{
	float: right;
	width: 60px;
	height: auto;
	margin-left: 15px;
}

#accessible_parking_label{
	display: inline-block;
	vertical-align: top;
	width: calc(100% - 110px);
	margin-top: 15px;
}

#handicapped-more-info{
	background: #eee;
	color: #333;
	padding: 20px;
	margin-top: 30px;
	margin-bottom: 20px;
	clear: both;
	border-radius: 3px;
	font-size: 18px;
	line-height: 24px;
}

.email-meta{
	background: #eee;
	color: #333;
	padding: 20px;
	margin-top: 30px;
	margin-bottom: 20px;
	clear: both;
	border-radius: 3px;
	font-size: 10px;
	line-height: 14px;
}

.email-message{
   border-top: 1px solid #eee;
   padding: 30px 0px;
}



div.callout{
   background: #eee;
   border-radius: 4px;
   margin-top: 30px;
   padding: 30px;
}

div.callout p{
   text-align: center;
   
}

div.callout .sep{
   color: #ccc;
   display: inline-block;
   margin: 0px 15px;
}


#parking-portal .err{
   background: #cc4a4a;
   padding: 30px;
   border-radius: 4px;
   box-sizing: border-box;
   text-align: center;
   margin: 60px auto;
   max-width: 800px;
}

#parking-portal .err h6{
   color: #fff;
   font-size: 24px;
   margin: 0px;
   padding: 0px;
   border-bottom: 0px;
   letter-spacing: 0px;
   text-transform: none;
}


#parking-portal div.note{
   display: block;
   max-width: 800px;
   background: #eee;
   padding: 15px;
   border-radius: 4px;
   margin-top: 60px;
}


@media (max-width: 700px) {
   
   #parking-portal .hdr{
      display: block;
   }
   
   #parking-portal .hdr h1{
      width: 100%;
      margin-bottom: 30px;
   }
   
   #parking-portal .hdr nav{
      text-align: left;
      width: 100%;
   }
   
   #parking-portal .hdr nav .button{
      display: block;
   }
   
   #parking-portal .dt{
      display: none;
   }
   
   #portal-search-filter{
      display: none;
   }
   
}



#accessible_parking_label{
   font-size: 18px;
   line-height: 24px;
}
