/*
 * General
 */
div#hsds * {
	transition: all 0.2s;
}

div#hsds section {
	margin-bottom: 4em;
}

div#hsds div.hsds_block {
	margin-bottom: 2em;
}

div#hsds h2 {
	margin-bottom: 0.4em;
}

div#hsds p {
	margin-bottom: 0.4em;
}

div#hsds a.hsds_button {
	text-decoration: none;
}

div#hsds a.hsds_button.selected,
div#hsds a.hsds_button:focus,
div#hsds a.hsds_button:active,
div#hsds a.hsds_button:hover {
	/*
	 * Overruled by default link rule
	 * Edit Divi Child
	 */
	color: #555 !important;

	background-color: #f4f4f4;
}


/*
 * Buttons
 */
div#hsds .hsds_button {
	padding: 0.4em 0.8em;
	margin-bottom: 0.4em;

	color: #555;

	line-height: calc(1 + 1.6);
	white-space: nowrap;
	cursor: pointer;
}

/*
 * Table
 */
div#hsds div#hsds_results {
	margin-bottom: 1em;
}

div#hsds div#hsds_results div.table {
	max-height: 60vh;
	overflow: auto;
}

div#hsds div#hsds_results div.table table {
	position: relative;
	border: 0;
	margin: 0;
	line-height: 2;
	overflow: unset;
}

div#hsds div#hsds_results div.table th{
  position: -webkit-sticky;
  position: -moz-sticky;
  position: -ms-sticky;
  position: -o-sticky;
  position: sticky;
	top: 0;

	background-color: #fff;
	box-shadow:
		0 1px 1px rgba(0, 0, 0, 0.01),
		0 2px 2px rgba(0, 0, 0, 0.01),
		0 4px 4px rgba(0, 0, 0, 0.01),
		0 8px 8px rgba(0, 0, 0, 0.01);
}

div#hsds div#hsds_results div.table table thead{

}

@media(max-width: 768px) {
	div#hsds div#hsds_results table tr th,
	div#hsds div#hsds_results table tr td {
		padding: 4px 8px;
	}
}

div#hsds div#hsds_results table tbody tr:nth-of-type(2n) {
	background-color: #f4f4f499;
}

div#hsds div#hsds_results table tbody tr:hover{
	background-color: #f4f4f4;
}


/*
 * Layout
 */
div#hsds section.hsds_layout {
	display: grid;
	grid-template-columns: 2fr 1fr;
	grid-template-rows: auto;
	grid-gap: 1em;
}

@media(max-width: 768px) {
	div#hsds section.hsds_layout {
		grid-template-columns: 1fr;
	}
}

/*
 * Vehicle Search
 */

/*
 * Engine Code Search
 */
div#hsds section.hsds_layout div#hsds_engine_code_search_container {
	display: flex;
	flex-flow: column nowrap;
	align-items: baseline;

	max-height: 40vh;
}

@media(max-height: 768px) {
	div#hsds section.hsds_layout div#hsds_engine_code_search_container {
		max-height: 80vh;
	}
}

div#hsds section.hsds_layout div#hsds_engine_code_search_container input#hsds_field_engine_code_search {
	border: 1px solid #d9d9d9;
}

div#hsds section.hsds_layout div#hsds_engine_code_search {
	transition: none;

	align-self: stretch;
	margin: 0;
	max-height: 100%;

	position: relative;
	overflow: hidden auto;

	border: 1px solid transparent;
	border-radius: 3px;
}

div#hsds section.hsds_layout div#hsds_engine_code_search.visible {
	margin: 1em 0 0 0;

	border-color: #d9d9d9;
}

/*
 * Engine Codes
 */
div#hsds div#hsds_engine_codes {
	max-height: 100%;
	overflow: hidden auto;
	/* For MS Edge */
	overflow-x: hidden;
	overflow-y: auto;
}

div#hsds div#hsds_engine_codes a {
	display: none;
}

div#hsds div#hsds_engine_codes a.match {
	display: block;
}

div#hsds div#hsds_engine_codes a.match:nth-of-type(2n) {
    background-color: #f4f4f499;
}

div#hsds div#hsds_engine_codes a.match.hsds_button {
	margin: 0;
}

/*
 * Loading
 */
div#hsds .loading_source,
div#hsds .loading_target {
	cursor: wait;
}

div#hsds .loading_target {
	filter: blur(0.2em);
}