/*
Customizations to r3417 theme

Style guide official logo colors:

Blue 1:			#00759a (PMS 7468)
Green 1:		#5b8f22 (PMS 370)
Warm charcoal:	#616365 (PMS Cool Gray 10)

Secondary colors:

Blue-white:		#f0f4f7
Tan-gray:		#c3c4b3
Gold:			#dda128
Blue 2:			#015377
Green 2:		#196e29
Burgundy:		#7c506b
Ochre:			#be6e29

*/


/* STANDARD HTML */

body * {
	font-family: 'pt-sans-pro', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'droid-serif', serif;
	font-weight: normal;
}
h1 *, h2 *, h3 *, h4 *, h5 *, h6 * { font-weight: normal; }

h1 { font-size: 200%; }
h2 { font-size: 150%; }
h3 { font-size: 125%; }
h4 { font-size: 110%; }
h5, h6 { font-size: 100%; }


/* CUSTOM CSS CLASSES */

.bt_flex {
	align-items: center;
	clear: both;
	display: flex;
	justify-content: space-between;
	position: relative;
	width: 100%;
}

.bt_flex_thumbnail {
	display: flex;
	flex-direction: column;
	height: auto;
	overflow: hidden;
	padding: 0 1.5em 0 0;
	width: 25%;
}

.bt_flex_thumbnail img {
	background: #ffffff;
	border: 1px solid rgba(0,0,0,0.1);
	box-shadow: inset 1px 1px 3px rgba(0,0,0,0.075);
	display: block;
	padding: 5px;
}

.bt_flex_content {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	width: 75%;
}

.bt_flex_content article { clear: both !important; }
.bt_flex_content h4, .bt_flex_content .entry-meta { margin: 0 !important; }

.bt_partners_gallery li {
	vertical-align: middle !important;
}
.bt_partners_gallery img {
	display: block;
	filter: grayscale(100%);
	opacity: 0.7;
	padding: 10px;
	transition: all 0.25s ease;
}
.bt_partners_gallery img:hover {
	filter: none;
	opacity: 1;
	padding: 0;
}

.button.light:not(:hover):not(:focus) {
	background: #f0f4f7 !important;
	color: #00759a !important;
}

.expander .toggle, .expander.open .toggle {
	cursor: row-resize !important;
}

.grid_scroll_wrapper {
	display: block;
	overflow-x: auto;
	width: 100%;
}

table.grid {
	display: table;
	width: auto;
}

table.dense-grid {
	font-size: 80%;
	line-height: 1.35em;
}

table.dense-grid td.scrollable {
	padding: 0;
}

table.dense-grid td.scrollable > div {
	max-height: 240px;
	max-width: 240px;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 0.75em 1em 0.5em 1em;
}

table.sortable thead th:not(.nosort) {
	color: #00759a;
	cursor: ns-resize;
	padding-right: 20px;
}
table.sortable thead td:not(.nosort):hover {
	color: #5b8f22;
	text-decoration: underline;
}

table.sortable thead th.asc {
	background-image: url('data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhcyIgZGF0YS1pY29uPSJjYXJldC1kb3duIiBjbGFzcz0ic3ZnLWlubGluZS0tZmEgZmEtY2FyZXQtZG93biBmYS13LTEwIiByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyMCA1MTIiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMxLjMgMTkyaDI1Ny4zYzE3LjggMCAyNi43IDIxLjUgMTQuMSAzNC4xTDE3NC4xIDM1NC44Yy03LjggNy44LTIwLjUgNy44LTI4LjMgMEwxNy4yIDIyNi4xQzQuNiAyMTMuNSAxMy41IDE5MiAzMS4zIDE5MnoiPjwvcGF0aD48L3N2Zz4=');
	background-position: right 5px top 1em;
	background-repeat: no-repeat;
	background-size: 12px 12px;
}

table.sortable thead th.desc {
	background-image: url('data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhcyIgZGF0YS1pY29uPSJjYXJldC11cCIgY2xhc3M9InN2Zy1pbmxpbmUtLWZhIGZhLWNhcmV0LXVwIGZhLXctMTAiIHJvbGU9ImltZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIwIDUxMiI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjg4LjY2MiAzNTJIMzEuMzM4Yy0xNy44MTggMC0yNi43NDEtMjEuNTQzLTE0LjE0Mi0zNC4xNDJsMTI4LjY2Mi0xMjguNjYyYzcuODEtNy44MSAyMC40NzQtNy44MSAyOC4yODQgMGwxMjguNjYyIDEyOC42NjJjMTIuNiAxMi41OTkgMy42NzYgMzQuMTQyLTE0LjE0MiAzNC4xNDJ6Ij48L3BhdGg+PC9zdmc+Cg==');
	background-position: right 5px top 1em;
	background-repeat: no-repeat;
	background-size: 12px 12px;
}

dl.inline { clear: left; }

dl.inline:after { clear: left; content: ''; display: table; }

dl.inline dt {
	clear: left;
	float: left;
	margin-right: 0.75rem;
}

dl.inline dd {
	clear: none;
	float: left;
	margin-bottom: 0.75rem;
}

.partner_details {
	font-size: 80%;
	line-height: 1.5em;
	margin-bottom: 1.5em;
}

/* Plant Finder additions 2024.02.02 */
.plantfinder_search_basic_text {
	margin: 0.5rem 0;
}
.plantfinder_search_basic_text input {
	width: 100% !important;
}
.plantfinder_search_basic, .plantfinder_search_advanced {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	width: 100%;
}
.plantfinder_search_basic > *, .plantfinder_search_advanced > * {
	flex-basis: calc(25% - 0.75rem);
	flex-grow: 0;
	flex-shrink: 0;
}
.plantfinder_search_multiple_wrapper {
	background: rgba(255,255,255,0.75);
	border: 1px solid #d9dee2;
	font-size: 1rem;
	height: 7.5rem;
	line-height: 1.5em;
	min-width: 100%;
	overflow: auto;
	padding: 0 0.5rem;
}
.plantfinder_search_range_wrapper {
	padding: 0;
	width: 100%;
}
.plantfinder_search_range_slider {
	margin: 0.75rem;
}
.plantfinder_search_range_display {
	font-size: 1rem;
}
.plantfinder_search_advanced_toggle {
	cursor: pointer;
	font-family: 'pt-sans-pro', sans-serif;
	font-size: 1.2rem;
	line-height: 1.5rem;
	margin: 1.5rem 0;
}
.plantfinder_search_advanced_toggle .plantfinder_search_advanced_toggle_icon {
	background: transparent url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgNTEyIj48cGF0aCBkPSJNMjQ2LjYgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45cy0xOS44IDE2LjYtMTkuOCAyOS42bDAgMjU2YzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZzMjUuNyAyLjIgMzQuOS02LjlsMTI4LTEyOHoiIGZpbGw9IiMwMTUzNzciLz48L3N2Zz4=') center center no-repeat;
	background-size: contain;
	content: '';
	display: inline-block;
	height: 1.5rem;
	margin-top: -0.25rem;
	transform: rotate(0);
	transition: transform ease 0.25s;
	vertical-align: middle;
	width: 1.5rem;
}
.plantfinder_search_advanced_toggle.open .plantfinder_search_advanced_toggle_icon {
	transform: rotate(90deg);
}
#page .content h2.plantfinder_search_advanced_toggle a {
	font-weight: bold !important;
}
.plantfinder_search_advanced_wrapper {
	background: #f0f4f7;
	border: 3px solid #d9dee2;
	border-radius: 8px;
	display: none;
	margin: 0.5rem 0 1rem 0;
	padding: 1.5rem;
	width: 100%;
}
.plantfinder_search_submit {
	margin: 1.5rem 0;
}
.plantfinder_gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 0;
	width: 100%;
}
.plantfinder_gallery_item {
	flex-basis: calc(25% - 0.75rem);
	flex-grow: 0;
	flex-shrink: 0;
	position: relative;
}
.plantfinder_gallery_item .image {
	aspect-ratio: 1 / 1;
	background: transparent url('../img/plantfinder-placeholder.jpg') center center no-repeat;
	background-size: cover;
	display: block;
	margin: 0;
	position: relative;
	width: 100%;
}
.plantfinder_gallery_item .image_overlay {
	background: rgba(0,0,0,0.25);
	-webkit-backdrop-filter: blur(1px);
	backdrop-filter: blur(1px);
	color: #c3c4b3;
	font-size: 80%;
	opacity: 0.667;
	padding: 0.5rem 1rem;
	position: absolute; top: auto; right: 0; bottom: 0; left: 0;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
	transition: all 0.25s ease;
}
.plantfinder_gallery_item:hover .image_overlay, .plantfinder_gallery_item:focus .image_overlay {
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	color: #ffffff;
	opacity: 1;
	padding-bottom: 1.5rem;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.5);
}
.plantfinder_gallery_item .title, .plantfinder_gallery_item .entry-meta {
	color: inherit !important;
	margin: 0 !important;
}

.plantfinder_thumbnail {
	float: right;
	margin: 0 0 1.5em 1.5em;
	max-width: 400px;
	position: relative;
	width: 33.333%;
}

	.plantfinder_thumbnail img {
		display: block;
		height: auto;
		max-height: 100%;
		max-width: 100%;
		position: relative;
		width: auto;
	}
	
	.plantfinder_thumbnail figcaption {
		font-size: 0.8rem;
		margin: 0.25rem 0;
	}

.plantfinder_thumbnail + dl, .plantfinder_thumbnail + dl > * {
	clear: left;
}

.plantfinder_info_flex {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin: 1.5rem 0;
	width: 100%;
}
.plantfinder_info_flex > * {
	flex-basis: calc(50% - 0.75rem);
	flex-grow: 0;
	flex-shrink: 0;
	position: relative;
}
@media screen and (max-width: 768px) {
	.plantfinder_info_flex { display: block; }
}
@media print {
	.plantfinder_info_flex { display: block; }
}
.plantfinder_info_table {
	background: #f0f4f7;
	border: 1px solid #00759a;
	border-radius: 0.5rem;
	display: inline-block;
	margin-bottom: 0;
	overflow: hidden;
	padding: 0;
	width: 100%;
}
.plantfinder_info_table h2 {
	background: #00759a;
	color: #ffffff;
	font-family: 'pt-sans-pro', sans-serif;
	font-size: 100%;
	font-weight: bold;
	margin: 0;
	padding: 0.5rem 1rem;
}
.plantfinder_info_table table {
	font-size: 0.9rem;
	line-height: 1.333em;
	margin: 0.5rem 1rem;
	width: calc(100% - 2rem) !important;
}
.plantfinder_info_table table tr {
	border-bottom: 1px dotted rgba(0,0,0,0.1);
}
.plantfinder_info_table table tr:last-child {
	border-bottom: none;
}
.plantfinder_info_table table th {
	padding: 5px 10px 5px 0;
	width: 40% !important;
}
.plantfinder_info_table table td {
	padding: 5px 0;
}

.view-toggle-toggles .label {
	display: inline-block;
	font-size: 0.9rem;
	font-weight: bold;
	line-height: 1em;
}
.view-toggle-toggles *[data-toggle-show] {
	border-radius: 4px;
	display: inline-block;
	font-size: 0.9rem;
	font-weight: bold;
	line-height: 1em;
	margin: 0 0 0 0.5em;
	padding: 0.5rem 1rem !important;
	text-transform: uppercase;
	vertical-align: middle;
}

.view-toggle-toggles *[data-toggle-show]:not(.current) {
	background: #f0f4f7;
	color: #00759a;
	cursor: pointer;
}
.view-toggle-toggles *[data-toggle-show]:not(.current):hover {
	background: #015377;
	color: #ffffff;
}

.view-toggle-toggles *[data-toggle-show].current {
	background: #00759a;
	color: #ffffff;
}


/* DOM ELEMENTS */

#header {
	border-bottom: 1px solid rgba(0,0,0,0.1) !important;
}

#page .content a:not(.button) { font-weight: bold; }
#page .content h1 a, #page .content h2 a, #page .content h3 a, #page .content h4 a, #page .content h5 a, #page .content h6 a { font-weight: normal !important; }

#modular_sidebar * { max-width: 100% !important; }

#modular_sidebar a:not(.button):hover { text-decoration: underline; }


#footer {
	border-top: 1px solid rgba(0,0,0,0.1);
	font-size: 90%;
}


/* PLUGINS */

button.gform_save_link { background-color: #616365 !important; font-weight: normal; text-transform: none; }
button.gform_save_link svg { display: none !important; }

.searchandfilter li { display: block; }
.searchandfilter input[type=text], .searchandfilter select {
	margin: 0 0 0.5em 0;
	width: 100% !important;
}


/* CSS3 MEDIA QUERIES */


/* NON-PHONE NAVIGATION (content area over 783 pixels) */
@media screen and (min-width: 783px) {

	#header .menu li:hover > a {
		border-radius: 4px;
	}

	#header .menu li.menu-item-has-children:hover > a {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}

	#header .menu li.menu-item-has-children:hover > ul {
		border-radius: 4px;
		border-top-left-radius: 0;
		overflow: hidden;
	}

	#header .menu li.menu-item-has-children:last-child:hover > ul {
		border-top-left-radius: 4px;
		border-top-right-radius: 0;
	}

	body.locking_header.scrolled #primary_navigation { font-size: 16px !important; }
	
	body.locking_header.scrolled .search { top: -4px; }
	
}


/* LARGE SCREENS (content area over 1600 pixels) */
@media screen and (min-width: 1600px) {

	body.locking_header.scrolled #primary_navigation { font-size: 18px !important; }

}


/* SMALLER COMPUTERS (content area under 1200 pixels) */
@media screen and (max-width: 1200px) {

}
@media screen and (max-width: 1200px) and (min-width: 783px) {

	#header .menu > li a { padding: 0.5em 10px; }

	body.locking_header.scrolled #primary_navigation { font-size: 13px !important; }

}


/* TABLETS (content area under 1024 pixels) */
@media screen and (max-width: 1024px) {

	#header .menu > li a { padding: 0.5em 7px; }

	body.locking_header:not(.scrolled) #primary_navigation { font-size: 13px !important; }

	body.locking_header:not(.scrolled) .search { top: -4px; }

	.plantfinder_search_basic > *, .plantfinder_search_advanced > *, .plantfinder_gallery_item {
		flex-basis: calc(33.333% - 0.667rem);
	}

}


/* PHONES (content area under 782 pixels) */
@media screen and (max-width: 782px) {

	#modular_wrapper.plantfinder #modular_sidebar {
		padding-bottom: 0 !important;
	}

	#modular_wrapper.plantfinder .tiles {
		margin: 0 auto !important;
		max-width: 400px !important;
		padding-top: 0 !important;
	}

	.bt_flex, .bt_flex_thumbnail, .bt_flex_content {
		clear: both;
		display: block;
		width: 100%;
	}

	.plantfinder_search_basic > *, .plantfinder_search_advanced > *, .plantfinder_gallery_item {
		flex-basis: calc(50% - 0.5rem);
	}

	.plantfinder_thumbnail {
		float: none;
		margin: 1.5em auto;
		max-width: 400px;
		width: 100%;
	}
	
	/* Kludge factory */
	table.sortable { table-layout: fixed !important; }
	table.sortable thead tr th {
		padding: 5px !important;
		width: 101px !important;
	}
	table.sortable thead tr th:first-of-type { width: 102px !important; }
	table.sortable tbody tr td {
		padding: 5px !important;
		width: 100px !important;
	}
	table.dense-grid td.scrollable > div { padding: 0 !important; width: 90px !important; }
	table.dense-grid td.scrollable > div img { margin: 0 !important; width: 90px !important; }

}
