﻿/* Fix body background */
body {
	background-attachment: fixed;
	background-position-x: center;
	background-position-y: center;
	background-repeat: no-repeat;
}

h1 {
	margin: 0;
}

main h1 {
	padding-top: 1ex;
	/* as margin, it was showing body background, want content background of white */
}

/* fix bad hover color from DSS styles.css */
a:hover {
	color: unset;
}

a.hiddenlink, a.tel, .tel a, .email a, a.adr {
	text-decoration: none;
	font-size: medium !important;
	color: inherit;
}

/* override DSS styles for better accessibility (contrast)*/
#content a {
	color: #ee6633; /* red-orange */
	font-size: larger;
}

	#content p a {
		font-size: inherit;
	}

	/* exclude sortable headers from link size restyling */
	#content .gridView a {
		font-size: inherit;
	}

		.ProviderResultsPager a {
			font-size: larger;
			font-weight: bolder;
		}

	/* Add " (PDF)" text after links that go to PDFs */
	/*a[href$=".pdf"]:after, .pdf {
		content: " (PDF)";
	}*/

	/* Add Adobe PDF icon after links that go to PDFs */
	a[href$=".pdf"], .pdf {
		background: url("../images/pdffile.gif") no-repeat right;
		padding-right: 18px;
	}

	/* If file size specified as data attribute, use that too */
	/*a[href$=".pdf"][data-size]:after {
		content: " (PDF, " attr(data-size) ")";
	}*/

.clearRule {
	clear: both;
	visibility: hidden;
}

.float-left {
	float: left;
}

.float-right {
	float: right;
}

.EnvironmentStripeColorDev {
	background-color: #fffd37; /* Sunshine Yellow */
}

.EnvironmentStripeColorTest {
	background-color: #00ccff; /* Deep Sky Blue */
}

.EnvironmentStripe {
	font-weight: bold;
	padding: 0.5em 0;
	margin-bottom: 1em;
	text-align: center;
	width: 100%;
}

.VersionStripe {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	padding-top: .5em;
	padding-bottom: .5em;
}

	.VersionStripe h2 {
		display: inline;
		font-size: 1em;
	}

.red, .ui-state-error {
	color: #E00; /* darkened 1 notch from red to produce sufficient contrast */
}

/* Reset table styles */
table {
	border: none;
}

	table tr th {
		padding: 0;
	}

	table tr td {
		padding: 0;
	}

	table tr:nth-of-type(even) {
		background-color: transparent;
	}

li.ddfix {
	margin-right: -1%;
	width: 15.15%;
}

/* Fix for div with id "content" */
div#content {
	clear: both;
	margin-left: 5%;
	padding-top: 20px;
	width: 90%;
}

/* Shared rules */

.error-box {
	background-color: rgb(252,244,242);
	border-color: rgb(231,205,208);
	border-left-color: rgb(227,38,0);
	color: rgb(139,37,33);
}

.message-box {
	background-color: rgb(243,250,242);
	border-color: rgb(211,219,208);
	border-left-color: rgb(121,177,88);
	color: rgb(72,89,57);
}

.warning-box {
	background-color: rgb(254,248,234);
	border-color: rgb(226,220,196);
	border-left-color: rgb(222,151,7);
	color: rgb(94,82,32);
}

.error-box, .message-box, .warning-box {
	border-width: 1px 1px 1px 4px;
	border-style: solid;
	border-radius: 2px;
	display: block;
	margin-bottom: 1em;
	padding: 1em;
}

.center {
	text-align: center;
}

.clear {
	clear: both;
}

#languageResources {
	/* shrink to fit in width */
	font-size: 96%;
}

.visuallyHidden {
	position: absolute !important;
	overflow: hidden;
	clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

form  {
	padding-left: 1em;
	padding-right: 1em;
}

p.first {
	margin-top: 0;
}

h3.last, p.last, ul.last {
	margin-bottom: 0;
}

.indented_checkbox {
	margin-left: 2ch;
}

#SocialMedia img {
	padding-right: 15px;
}

.gsc-search-button-v2, .gsc-search-button-v2:hover, .gsc-search-button-v2:focus {
	border-color: #021D49;
	background-color: #021D49;
	background-image: none;
	filter: none;
}

.button-link {
	text-decoration: none !important;
	border: 1px solid gray;
	background-color: #EEEEEE;
	padding: 0.25em 0.5em;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}

div.gridview-buttons {
	overflow: hidden;
}

	div.gridview-buttons .button-link {
		display: inline-block;
		margin-left: 0.25em;
	}

div.export-button-container {
	text-align: center;
}

	div.export-button-container img {
		display: inline-block;
		height: 2em;
		width: auto;
		vertical-align: middle;
	}

	div.export-button-container .button-link {
		display: inline-block;
		vertical-align: middle;
	}

img.check-icon {
	width: 1em;
	height: 1em;
}

.SuspendedProvider td {
	background-color: lightgray;
	color: GrayText;
}

	.SuspendedProvider td a {
		color: GrayText;
	}

/***** MOUSE-OVER [?] STYLES FOR PROVIDER TYPE RADIO BUTTONS *****/

#ProvID, #ProvTypeFamily, #ProvTypeGroup, #ProvTypeChild, #ProvTypeSchool, #ProvTypeUnregFamily,
.hidden {
	color: black;
	display: inline;
}

	#ProvID div, #ProvTypeFamily div, #ProvTypeGroup div, #ProvTypeChild div,
	#ProvTypeSchool div, #ProvTypeUnregFamily div,
	.hidden div {
		display: none;
	}

	#ProvID:hover div, #ProvTypeFamily:hover div, #ProvTypeGroup:hover div, #ProvTypeChild:hover div,
	#ProvTypeSchool:hover div, #ProvTypeUnregFamily:hover div,
	.hidden:hover div {
		display: block;
		border: 1px solid gray;
		background-color: #EEEEEE; /* approx Whisper */
		color: black;
		padding: 0.5em;
		margin-top: 0.5em;
		margin-bottom: 0;
		max-width: 700px;
		position: absolute;
	}

.details-hidden:hover div {
	width: 350px !important;
}

#ProvID:hover div {
	width: 412px;
}

/* Search.aspx specific rules */

#search-criteria {
	overflow: hidden;
	width: 100%;
	padding-top: 22px;
}

	#search-criteria table tr td {
		padding: 4px 0px !important;
	}

	#search-criteria .float-left {
		/*width: 818px;*/
		min-width: 45ch;
	}

		#search-criteria  ul {
			list-style: none !important;
			margin: 0;
			padding: 0;
		}

		#search-criteria  li {
			display: block;
			padding: 4px 0px;
		}

#favoritesBox {
	width: 240px;
	float: right; /*left;*/
	background-color: #F9F9F9; /* approx Snow */
	border: 1px solid gray;
	border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	padding: 10px;
}

	#favoritesBox #header {
		font-weight: bold;
		text-align: center;
	}

	#favoritesBox .favorite {
		padding: 5px;
		margin-bottom: 5px;
	}

#pInformalSearch {
	display: block;
	padding-left: 4em;
}

.search-provider-text-box {
	width: 180px;
}

.search-provider-location-drop-down {
	width: 200px;
}

/*Results.aspx specific rules */
.ProviderResultsCheckColumn {
	width: 4%;
	text-align: center;
}

.ProviderResultsNameColumn {
	width: 30%;
}

.ProviderResultsAddressColumn {
	width: 20%;
}

.ProviderResultsCityColumn {
	width: 12%;
	text-align: center;
}

.ProviderResultsTypeColumn {
	width: 15%;
	text-align: center;
}

.ProviderResultsOpeningsColumn {
	width: 8%;
	text-align: center;
}

.ProviderResultsPhoneColumn {
	width: 11%;
	text-align: center;
}

.ProviderResultsFooter, .InspectionsFooter, .FavoritesFooter {
	background-color: #eeeeee; /* approx Whisper */
}

.ProviderResultsPager, FavoritesPager {
	background-color: #eeeeee;
	color: black;
}

/* Provider.aspx specific rules */

#provider-info {
	float: left;
	width: 65%;
}
	#OpeningHoursTable {
		/* do not wrap caption/header */
		min-width: 17em;
	}

	#provider-info table caption {
		/* style as H3 */
		margin: 1em 0 1em 0;
		text-align: left;
		font-size: 1.17em;
		font-weight: bold;
	}

	#provider-info table tr th {
		font-weight: normal;
		color: GrayText;
	}

	#provider-info table tr td, #provider-info table tr th {
		padding: 0.25em 0.5em 0.25em 0;
	}
	
	#provider-info table.left-labeled tr th {
		text-align: left;
	}

	#provider-info table.left-labeled thead tr th {
		text-align: center;
	}

	#provider-info table tr:first-of-type td, #provider-info table.top-labeled tr th {
		padding-top: 0;
	}

	#provider-info table tr:last-of-type td {
		padding-bottom: 0;
	}

	#provider-info table.top-labeled tr td, #provider-info table.top-labeled tr th {
		text-align: center;
	}

	#provider-info span.provider-phone {
		display: block;
	}

#provider-map {
	width: 30%;
	height: auto;
	float: right;
	overflow: auto;
}

	#provider-map a.button-link,
	#site-nav a.button-link {
		display: block;
		margin-bottom: 0.25em;
	}

		#provider-map a.button-link:last-child {
			margin-bottom: 0;
		}

#site-nav {
	height: auto;
	float: right;
	padding-top: 1ex; /* bring down to level with inspections chart */
}

	#site-nav a.button-link {
		margin: 1em 0 1em 1em;
	}

.help-link {
	display: inline-block;
	padding: 0px 3px;
}

	.help-link a {
		text-decoration: none;
	}

.details-hidden {
	width: 150px !important;
}

#map_canvas {
	margin: 0.25em 0 0.25em 0;
	/*width: 280px;*/
	width: 100%;
	height: 240px;
}

	#map_canvas.no-map {
		background-color: #EEEEEE;
		color: gray;
		display: table;
		padding: 1em;
		text-align: center;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

	#map_canvas img {
		margin: -2px
	}

#map-canvas-message {
	display: table-cell;
	vertical-align: middle;
}

#login-left {
	float: left;
	width: 190px;
	height: 200px;
}

#login-right {
	float: left;
	height: 200px;
}

/* reset definition headings */
#ProviderNameHeading, #DefinitionsHeading, #InspectionsChartHeading, /* h4 */
#inspection-chart-definitions h5 {
	margin-bottom: 0;
	font-size: medium;
}

.InspectionsDateColumn {
	text-align: center;
	vertical-align: top;
	width: 15%;
}

.InspectionsTypeColumn {
	text-align: center;
	vertical-align: top;
	width: 55%;
}

.InspectionsResultsColumn {
	text-align: center;
	vertical-align: top;
	width: 15%;
}

.FavoritesRemoveColumn {
	text-align: center;
	width: 4%;
}

.FavoritesNameColumn {
	width: 30%;
}

.FavoritesAddressColumn {
	text-align: center;
	width: 20%;
}

.FavoritesCityColumn {
	text-align: center;
	width: 12%;
}

.FavoritesTypeColumn {
	text-align: center;
	width: 15%;
}

.FavoritesOpeningsColumn {
	text-align: center;
	width: 8%;
}

.FavoritesPhoneColumn {
	text-align: center;
	width: 11%;
}

/* Update.aspx specific rules */

input.UpdateProviderNumber {
	background-color: InfoBackground;
	width: 130px;
}

input.UpdateBusName {
	background-color: InfoBackground;
	width: 300px;
}

input.UpdateProvEmailAddress, input.UpdateProviderWebLink {
	width: 260px;
}

input.UpdateAge {
	width: 115px;
}

input.UpdateBusHrs {
	width: 180px;
}

/***** GRIDVIEW SPECIFIC RULES *****/

.gridView {
	border: 1px solid gray;
	border-collapse: collapse;
	margin: 0.5em 0;
	width: 100%;
}

	.gridView table tr {
		height: 40px;
	}

	.gridView th, .gridView td {
		border: 1px solid gray;
		font-size: 14px;
		padding: 0.25em;
	}

	/* Remove border from gridview pager */
	.gridView table td {
		border: none;
	}

	.gridView th {
		background-color: #EEEEEE;
	}

		.gridView th a {
			color: black;
			font-weight: bold;
			text-decoration: none;
		}

div.top-left {
	float: left;
	text-align: left;
	width: 35%;
}

div.top-right {
	float: left;
	text-align: right;
	width: 65%;
}

#providerInfo table tr td {
	padding: 4px 0px;
}

/* remove link styling for internal jump to inspections table */
#content a#lnkInspectionBookmark { /* #content specification necessary to override default anchor style */
	text-decoration: none;
	color: black;
}

/* style our description lists as bulleted lists with the definition in-line */
dl.inspection-definition-list dt { /* let definitions float on same line with terms */
	float: left;
	clear: left;
}

dl.inspection-definition-list:after {
	clear: left;
}

dl.inspection-definition-list > dt:after { /* add a space between term and definition */
	content: " ";
	white-space: pre;
}

dl.inspection-definition-list.subTypes dt { /* style the terms like unordered bulleted list */
	display: list-item;
	list-style: disc; /* need both display and list-style to handle different browsers */
	margin-left: 40px;
}

dl.inspection-definition-list.subTypes dd:before { /* add an em dash between term and definition for the bulleted list */
	content: "\2014";
}

dl.inspection-definition-list.subTypes dd {
	margin-bottom: 10px;
}

#inspection-chart-definitions {
	background-color: #EEEEEE;
	border: 1px solid gray;
	padding: 1em;
}

	#inspection-chart-definitions dl:first-child {
		margin-top: 0;
	}

	#inspection-chart-definitions dl:last-child {
		margin-bottom: 0;
	}

	#inspection-chart-definitions dl dd:last-child {
		margin-bottom: 0;
	}

.definition-header {
	font-weight: bold;
}

.inspection-chart {
	border: 1px solid gray;
	margin: 0; /* previous top margin of 1em now handled with h4 heading */
	float: none;
	width: 100%;
}

	.inspection-chart th, .inspection-chart td {
		border: 1px solid gray;
		padding: 0.5em;
	}

	.inspection-chart th {
		background-color: #EEEEEE;
	}

	.inspection-chart img {
		height: 3ex;
		width: 3ex; /*16px;*/
	}

	#site-nav {
		margin-top: 1em;
	}

	#site-nav a.button-link {
		display: inline;
	}

/*Begin - Submit complaint styles*/

div.complaint-form div.question {
	margin-bottom: 1.25em;
}

	div.complaint-form div.question.with-related-question {
		margin-bottom: 0;
	}

	div.complaint-form div.question > label {
		display: inline-block;
		font-weight: bold;
		margin-bottom: 0.25em;
		width: 100%;
	}

	div.complaint-form div.question div.input-controls,
	div.complaint-form div.submission div.input-controls {
		width: 100%;
	}

div.complaint-form #relationshipAnswers {
	column-count: 2;
}

/*div.complaint-form div.submission {
	text-align: center;
}*/

/*div.g-recaptcha {
  margin: 0 auto;
  width: 304px;
  margin: auto;
}*/

div.complaint-form div.question.inline > label,
div.complaint-form div.question.inline div.input-controls {
	display: inline-block;
	width: auto;
}

div.complaint-form input[type=text],
div.complaint-form input[type=tel],
div.complaint-form textarea,
div.complaint-form select {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	margin-bottom: 0.25em;
	vertical-align: top;
	width: 100%;
}

div.complaint-form div.question input[type=checkbox] {
	margin-bottom: 0.5em;
}

div.complaint-form input[type=text].limited-length,
div.complaint-form input[type=tel].limited-length {
	width: 304px; /* width of reCaptcha box */
}

.synopsis-instructions {
	margin-left: 3.4em;
	text-indent: -3.4em;
}

	.synopsis-instructions p {
		margin-bottom: 0;
	}

	.synopsis-instructions dl {
		margin-top: 0;
	}

	.synopsis-instructions dt {
		margin-left: 3.4em;
		width: 4em; /* WHERE */
		float: left;
	}

	.synopsis-instructions dt {
		font-weight: bold;
	}

span.validation-message {
	display: block !Important;
}

	span.validation-message[style*="inline"] {
		display: block !Important;
	}

/*End - Submit complaint styles*/

/*Begin - Closed Provider Search styles*/

.buffer-right {
	margin-right: 10px;
}

.closed-search-long-textBox {
	margin: 5px 5px 5px 0px;
	width: 346px;
}

.closed-search-name-inputs {
	margin-left: 45px;
	display: inline-block;
}

.closed-search-label {
	vertical-align: top;
}

.closed-search-buttons {
	margin-top: 30px;
	margin-left: 156px;
}

.closed-search-ProviderNameColumn {
	width: 30%;
}

.closed-search-AddressColumn {
	width: 20%;
}

.closed-search-CityColumn {
	width: 12%;
	text-align: center;
}

/*End - Closed Provider Search styles*/

.login-box {
	background-color: #f9f9f9;
	border: 1px solid #d3d3d3;
	width: 240px;
}

	.login-box label {
		display: block;
		padding-bottom: 0.25em;
	}

	.login-box input {
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		display: block;
	}

		.login-box input[type=text] {
			margin-bottom: 1em;
			width: 100%;
		}

		.login-box input[type=password] {
			margin-bottom: 2em;
			width: 100%;
		}

	.login-box .box-head {
		background-color: #e6e6e6;
		border-bottom: 1px solid #d3d3d3;
		font-weight: bold;
		padding: 0.5em;
	}

	.login-box .box-body {
		padding: 1em;
	}

.login-buttons {
	text-align: right;
}

	.login-buttons input[type=submit] {
		display: inline-block;
	}

.blackfont {
	color: black;
}

.visuallyHidden {
	position: absolute !important;
	overflow: hidden;
	clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

@media print {
	body {
		background-image: none;
		width: 100%;
	}

	h2 {
		margin-top: 0;
	}

	div#content {
		clear: both;
		margin-left: 0;
		padding-top: 0;
		width: 100%;
	}

	.gridView th, .gridView td {
		font-size: inherit;
	}

	table.inspection-chart img {
		width: 12px;
	}

	table.inspection-chart, table.inspection-chart tr {
		page-break-inside: avoid;
	}

	defaultmaincontent a[href]:after {
		content: " (" attr(href) ") ";
	}
}

/* wide-screen */
@media (min-width: 1080px) {

	.inspection-chart {
		max-width: 800px;
		float: left;
	}

	#site-nav {
		height: auto;
		float: right;
		margin-top: 0; /* button-link margin will handle it */
	}

		#site-nav a.button-link {
			display: block;
			margin: 1em 0 1em 1em;
		}
}

/* mobile */
@media (max-width: 720px) {
	#provider-info {
		float: none;
		width: auto;
	}

	#provider-map {
		float: none;
		width: auto;
	}

	h3.last, p.last, ul.last {
		margin-bottom: 1em;
	}

	#site-nav a.button-link {
		display: inherit;
	}
}