/*
THEME NAME: Dirty Freehub
THEME URI: https://deliciousdesign.com/
VERSION: 3.0
AUTHOR: Delicious Design
AUTHOR URI: 
*/

/* -------------------------------------------------------------------------- RESET --- */
 html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline;}  table {border-collapse: separate; border-spacing: 0;}  caption, th, td { text-align: left; font-weight: normal; }  table, td, th { vertical-align: middle; }  blockquote:before, blockquote:after, q:before, q:after { content: ""; }  blockquote, q { quotes: "" ""; }  a img { border: none; } 
a:active, a:focus { outline: none; }

/* ------------------------------------------------------------------------ GLOBALS --- */
:root {
	--dfh-white: #ffffff;
	--dfh-wrapper: #ffffff;
	--dfh-text: #464646;
	--dfh-button-bkgd: #fcb900;
		/* 	bright orange: buttons, region title blocks, default tabs, a hover, nav hover bkgd, nav toggle hover, route 5-star, route development, close modal, slick navigation, sorting widget */
	--dfh-dark-bkgd: #1b4a68;
		/* 	dark blue: footer, body bkgd, tab hover */
	--dfh-bright-bkgd: #0274be;
		/* 	bright blue: poi bkgd, links, button hover */
	--dfh-tint-bkgd: #e8edf3;
		/* 	very light blue: newsletter widget bkgd */
	--dfh-headers-dark: #1d546d;
		/* 	dark blue headlines: headlines, drop caps, faq arrows, result type */
	--dfh-widget-background: #ededed;
		/* 	widget bkgd: route attributes */
	--dfh-links-light: #fdd360;
		/* 	very light links (used on dark bkgd): tab body links */
	--dfh-links-light-hover: #60f7fd;
		/* 	very light link hovers (used on dark bkgd): tab body links */
	--dfh-nav-color: #512f01;
		/* 	brown site navigation */
	--dfh-nav_bkgd: #ffffff;
	--dfh-links-footer: #76c1d9;
		/* 	light blue footer links */


	/* fonts */
    --font-headlines: 'Akshar', Arial, 'Dejavu Sans', sans-serif;
    --font-weight-regular: 500;
    --font-weight-bold: 700;
    --font-style-normal: normal;
    
    --font-body: 'Source Sans Pro', Arial, 'Dejavu Sans', sans-serif;
    --font-weight-light: 400;
    --font-weight-bold: 700;
    --font-style-normal: normal;
 
        
    }

/* --------------------------------------------------------------------------- BODY --- */
body {
	background-color: var(--dfh-dark-bkgd);
	-webkit-text-size-adjust:none;
	font-size: 16px;
	line-height:1.0em;
	letter-spacing:-.02em;
	text-align: left;
	}
body.fixed-position {
	position: fixed;
	}
body.no-scroll {
	overflow:hidden;
	}

/* ------------------------------------------------------------------------- COLORS --- */
.dfh_orange {
	color: var(--dfh-button-bkgd);
	}
.dhf_blue {
	color: var(--dfh-bright-bkgd);
	}
a {
	transition: all .3s;
	}
a:link, a:visited {
	color:var(--dfh-bright-bkgd);
	text-decoration:none;
	}
a.result_type:link,
a.result_type:visited {
	color: var(--dfh-white);
	}
a.result_type:hover,
a.result_type:active,
a:hover, a:active {
	color:var(--dfh-button-bkgd); /* orange */
	cursor:pointer;
	}
div.tab_body a:link, 
div.tab_body a:visited {
	color:var(--dfh-links-light);
	border-bottom: 1px dotted var(--dfh-links-light);
	font-weight: 700;
	text-decoration:none;
	}
div.tab_body a:hover, 
div.tab_body a:active {
	color: var(--dfh-links-light-hover);
	border-bottom: 1px solid var(--dfh-links-light-hover);
	cursor:pointer;
	}
a.button,
div.tab_body a.button.grey:hover,
a.button.blue:hover,
div.tab_body a.button,
button,
div#nav_below div.nav_link,
div#nav_below div.ind_nav a,
div.pagination div a,
div.entry-meta a,
input[type=submit],
input[type=button],
a.wc-block-checkout__login-prompt {
	box-sizing: border-box;
	display: inline-block;
	padding: 10px 15px;
	border-radius: 8px;
	background-color:var(--dfh-button-bkgd); /* orange */
	color:var(--dfh-text);
	border:0px solid transparent;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
	font-family: var(--font-headlines);
	font-weight: var(--font-weight-regular);
	font-style: var(--font-style-normal);
	text-transform:uppercase;
	font-size: 0.9em;
	line-height: 1;
	}
a.button.gpx_button {
	display:flex !important;
	justify-content: center;
	align-items: center;
	}
div.gpx_label {
	text-align:center;
	}
div.gpx_version {
	text-align:center;
	font-size: 0.8em;
	text-transform: none;
	font-weight: var(--font-weight-light);
	}
div.gxp_icon {
	padding: 0 0 0 8px;
	}
div#gpx_modal {
	position:fixed;
	top:-200px;
	left:0px;
	width:100%;
	height:0.1px;
	background:rgba(0,0,0,0.7);
	z-index:100;
	}
div#modal_content {
	position:absolute;
	width:280px;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background:var(--dfh-dark-bkgd);
	box-shadow: 0 0 15px #000;
	border:1px solid white;  
	padding:20px; 
	border-radius: 8px;
	opacity:0.0;
	transition: opacity 1s;
	}
div#gpx_modal.gpx_modal_open {
	top:0;
	width:100%;
	height:100%;
	}
div#gpx_modal.gpx_modal_open div#modal_content {
	opacity:1.0;
	}

div#full_map button {
	border-radius: 2px !important;
	}
a.button.blue,
a.button:hover,
button:hover,
a.button.grey:hover,
div.tab_body a.button:hover,
botton:hover,
div#nav_below div.nav_link:hover,
div#nav_below div.ind_nav a:hover,
div#nav_below div.nav_link:hover a,
div.pagination div a:hover,
div.pagination div a.blue,
div.entry-meta a:hover,
input[type=submit]:hover,
input[type=button]:hover,
a.wc-block-checkout__login-prompt:hover {
	background-color:var(--dfh-bright-bkgd);
	color: var(--dfh-white);
	border:0px solid transparent;
	cursor:pointer;
	}	
div.tab_body a.button.grey,
a.button.grey {
	background: #767676; 
	color:#ededed;
	}
a#show_all_thumbnails,
a#show_all_routes {
	display:none;
	}
a#show_all_thumbnails.show_button,
a#show_all_routes.show_button {
	display:inline-block;
	}
body, 
input,
textarea,
select {
	color:var(--dfh-text);
	}
.headlines, h1, h2, h3, h4, h5, h6 {
	color:var(--dfh-headers-dark);
	font-family: var(--font-headlines);
	font-weight: var(--font-weight-bold);
	font-style: var(--font-style-normal);
	}
div.tab_body .headlines, div.tab_body h1, div.tab_body h2, div.tab_body h3, div.tab_body h4, div.tab_body h5, div.tab_body h6 {
	color: var(--dfh-white);
	}

div#upper_nav a {
	color:#512f01;
	text-transform:uppercase;
	font-size: 0.85em;
	line-height: 1;
	margin-left: 10px;
	}
div#upper_nav a#view_cart {
	background: var(--dfh-button-bkgd);
	padding: 3px 6px;
	border-radius: 5px;
	}
div#upper_nav a#favorites_nav {
	margin-left: 7px;
	}
div#menu ul.menu li.menu-item a, 
div#menu ul.sub-menu li.menu-item a, 
div#menu ul.menu li.menu-item ul.sub-menu li.menu-item a,
div#menu ul.menu li.menu-item ul.sub-menu li.current-menu-item ul.sub-menu li.menu-item a {
	background-color: var(--dfh-nav_bkgd);
	color:var(--dfh-nav-color);
	transition: color .5s, background-color .5s;
	}
div#menu ul.menu li.current-menu-item a,
div#menu ul.menu li.current-menu-item a:hover,
div#menu ul.menu li.menu-item ul.sub-menu li.current-menu-item a,
div#menu ul.menu li.menu-item ul.sub-menu li.current-menu-item a:hover {
	background-color: var(--dfh-nav-color);
	color: var(--dfh-nav_bkgd);
	cursor:default;
	}
div#menu ul.menu li.menu-item a:hover, 
div#menu ul.sub-menu li.menu-item a:hover, 
div#menu ul.menu li.menu-item ul.sub-menu li.menu-item a:hover,
div#menu ul.menu li.menu-item ul.sub-menu li.current-menu-item ul.sub-menu li.menu-item a:hover {
	background-color: var(--dfh-button-bkgd);
	color:var(--dfh-nav-color);
	cursor:pointer;
	}
div#menu ul.menu li.menu-item a[href="#"] {
	background-color: var(--dfh-nav_bkgd);
	color:var(--dfh-nav-color);
	cursor:default;
	}

/*
*/
a#nav_toggle {
	color: var(--dfh-white);
	background:var(--dfh-bright-bkgd);
	}
a#nav_toggle:hover {
	color:var(--dfh-bright-bkgd);
	background:var(--dfh-button-bkgd);
	}
div#footer { 
	background-color: var(--dfh-dark-bkgd);
	color: var(--dfh-white);
	}
div#footer a,
div#footer .copyright a {
	color: var(--dfh-white);
	}
div#footer a:hover,
div#footer .copyright a:hover {
	color:var(--dfh-links-footer);
	}


/* --------------------------------------------------------------------- TYPOGRAPHY --- */
body,
input[type=text], 
input[type=email],
input[type=tel],
textarea,
select { /* face */
	font-family: var(--font-body);
	font-weight: var(--font-weight-light);
	font-style: var(--font-style-normal);
	font-size: 18px;
	line-height: 1;
	}

div#blog-description {
	margin:0 0 0 2px;
	font-size:0.9em;
	}
h1 {
	font-size:2.3em;
	line-height:1.1em;
	margin-bottom:0.4em;
	}
h1.route_name {
	font-size:2.3em;
	line-height:1;
	margin: 2px 0 5px 0;
	}
h1#blog_title {
	display:block;
	position:fixed;
	top:-1000px;
	left:0px;
	}
h2 {
	font-size:1.5em;
	line-height:1.1em;
	margin:0.1em 0 0.4em 0;
	}
h2.band_title {
	box-sizing:border-box;
	text-align:center;
	font-weight: 500 /* 500 700 */;
	text-transform:uppercase;
	font-size:1.3em;
	line-height:1;
	letter-spacing: 1px;
	padding: 30px 0;
	margin:0;
	}
h3 {
	font-size:1.3em;
	line-height:1.1em;
	margin:0.1em 0 0.4em 0;
	}
div.thumbnail_text h3 {
	font-size:1.3em;
	line-height:1.1em;
	margin:0 0 3px 0;
	}
h4 {
	font-size:1.0em;
	line-height:1.1em;
	text-transform: uppercase;
	padding:0.6em 0 0.6em 0;
	}
div.tab_body h4 {
	font-weight: 400;
	letter-spacing: 0.2px;
	}
h4 a {
	border-bottom: transparent !important;
	}
p {
	font-size: 1.0em;
	line-height: 1.4em;
	display:block;
	padding-bottom:0.6em;
	}
div.verbose_intro {
	position:relative;
	max-height:250px;
	overflow:hidden;
	transition: max-height 1s;
	}
div.verbose_intro.expand_all {
	max-height:10000px;
	}
div.verbose_overflow {
	}
div.verbose_intro p:first-of-type::first-letter {
	font-size: 65px;
	line-height: 0.7;
	color: var(--dfh-headers-dark);
	font-weight: 700;
	padding-top: 10px;
	}
div.verbose_intro p.wp-caption-text:first-of-type::first-letter {
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	font-weight: inherit;
	padding-top: inherit;
	}
div.verbose_intro p {
	padding-bottom: 0.6em;
	opacity:1;
	}
ul li, 
ol li {
	font-size: 1.0em;
	line-height: 1.4;
	margin-bottom:4px;
	}
ul {
	display:block;
	margin-left:30px;
	margin-bottom:0.85em;
	}
div.bio_widget_verbose ul {
	display:block;
	margin-left:30px;
	margin-bottom:0em;
	}
ol {
	display:block;
	margin-left:33px;
	margin-bottom:0.85em;
	}
blockquote,
div.verbose_intro blockquote {
	font-size: 1.0em;
	line-height: 1.4em;
	font-style: italic;
	background-color: var(--dfh-white);
	color: var(--dfh-text);
	padding: 8px 0px 3px 15px;
	margin: 4px 0 15px 15px;
	border-radius: 0;
	border: 0px solid transparent;
	border-left: 2px solid var(--dfh-bright-bkgd);
	}	
div.verbose_intro blockquote p:first-of-type::first-letter {
	font-size: 1.0em;
	line-height: 1.4em;
	color: var(--dfh-text);
	font-weight: inherit;
	padding-top: 0;
	}
div.tab_body blockquote {
	font-size: 1.0em;
	line-height: 1.4em;
	background-color:var(--dfh-bright-bkgd);
	color: var(--dfh-white);
	padding:12px 14px 12px 14px ;
	margin: 4px 0 12px 0;
	border-radius: 5px;
	border: 1px dotted var(--dfh-white);
	clear:both;
	}	
em, 
i {
	font-style: italic;
	}
strong, 
b {
	font-weight:700;
	}

hr {
    border: 0;
    border-bottom: 1px dashed #ccc;
    background: var(--dfh-white);
	margin: 20px 0 30px 0;
	}
sup {
	display:inline-block;
	font-size: 0.8em;
	line-height: 0.5em;
	vertical-align: baseline;
	position: relative;
	top: -0.4em;
	}
sup a {
	font-weight: 400 !important;
	}
h3 span a,
h3 span a:hover {
	display:inline-block;
	font-size: 0.65em;
	line-height: 1;
	color: var(--dfh-text);
	padding: 0 0 0 3px;
	vertical-align: top;
	position: relative;
	top: 0px; 
	}
h3 span a i {
	color: var(--dfh-bright-bkgd);
	transition: color .3s;
	}
h3 span a:hover i {
	color: var(--dfh-button-bkgd);
	}
h3 span a span {
	color: #dddcdc;
	transition: color .3s;
	padding: 0 0 0 1px;
	}
h3 span a:hover span {
	color: var(--dfh-text);
	}

div.icon_container {
	margin: -1px 0 0px 0;
	}
div.icon_container i {
	font-size: 0.7em;
	line-height: 1;
	}
span.icon_label {
	font-family: var(--font-body);
	font-weight: var(--font-weight-light) !important;
	text-transform: uppercase;
	font-size: 0.7em;
	line-height: 1;
	}

/* ---------------------------------------------------------------------- STRUCTURE --- */
div#header {
	position:relative;
	box-sizing:border-box;
	top:0px;
	left:0px;
	width:100%;
	height: 83px;
	padding: 10px 0 0 0;
	background-color:  var(--dfh-white);
	border-bottom: 1px solid #d2b184;
	z-index:11;
	transition: top .3s;
	}
div#wrapper {
	width: 100%;
	padding: 0 0 0 0;
	position:relative;
	background-color: var(--dfh-wrapper);
	}
div#logo {
	position: absolute;
	width:320px;
	height:63px;
	top:6px;
	left:0px;
	}
div#logo img {
	width:100%;
	height:auto;
	}
div#billboard {
	box-sizing: border-box;
	position: relative;
	width:100%;
	margin: 0;
	padding: 0 0 0 0;
	}
div.billboard_wallpaper {
	background: #000;
	width:100%;
	aspect-ratio: 2.2/1;
	overflow:hidden;
	}
div.billboard_wallpaper img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	}
div.max_headline {
	position: absolute;
	box-sizing: border-box;
	top: 33%;
	left: 50%;
	transform: translateX(-50%);
	transition: top .5s;
	width: 100%;
	max-width: 1500px;
	}
div#billboard div.max_headline {
	height:100%;
	top:0px;
	display:flex;
	justify-content: flex-end;
	align-items: center;
	}
div#billboard div.max_headline div#thumb_w_feature {
	padding: 0 0 0 0;
	}
div#billboard div.max_headline div.thumbnail_container {
	position: relative;
	}
div#feature_thing {
	box-sizing:border-box; 
	display: flex;
	width:450px; 
	margin-top:14px; 
	padding: 15px 15px 15px 15px;
	background: var(--dfh-button-bkgd); 
	position:relative; 
	box-shadow: 0px 0px 15px rgba(0,0,0,0.8);
	}
div#feature_thing_thumbnail {
	width: 80px;
	height:80px;
	aspect-ratio: 1/1;
	border-radius: 6px;
	overflow:hidden;
	margin: 0 12px 0 0;
	}
div#feature_thing_thumbnail img {
	width:100%;
	height:auto;
	}
div#feature_thing_verbose {
	width: calc(100% - 92px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	}
div#feature_thing_verbose a.button.blue i {
	padding-right:2px;
	}
div#billboard div.thumbnail_container {
	width: 450px;
	position: absolute;
	right: 0px;
	top: 0;
	box-sizing: border-box;
	border:transparent;
	margin: 0 0;
	background: rgba(255,255,255,0.85);
	box-shadow: 0px 0px 15px rgba(0,0,0,0.8);
	border-top: 10px solid var(--dfh-bright-bkgd);
	}
div#billboard div.thumbnail_container div.route_type_flag {
		position: absolute;
		box-sizing: border-box;
		background: var(--dfh-button-bkgd);
		color:  var(--dfh-white);
		height: auto;
		width: auto;
		min-width: 52px;
	top: -10px;
	left: auto;
	right: 7.7px;
		padding: 8px 10px 15px 10px;
		text-align: center;
		z-index: 2;
		font-size: 1.4em;
		line-height: 1;
		clip-path: polygon(0 0, 100% 0%, 100% 80%, 50% 100%, 0 80%);
	}
div#hm_photo_credit {
	position: absolute; 
	left: 0px; 
	bottom: 0px; 
	padding: 8px 10px 8px 8px; 
	color: rgba(255,255,255,0.9);
	font-size: 0.8em;
	line-height: 1;
	background: rgba(0,0,0,0.3);
	border-radius: 0 8px 0 0;
	}
div#hm_photo_credit a {
	color: rgba(255,255,255,0.9);
	border-bottom: 1px dotted  var(--dfh-white);
	}
div#hm_photo_credit a:hover, div#hm_photo_credit a:active {
	color:var(--dfh-button-bkgd); /* orange */
	cursor:pointer;
	border-bottom: 1px dotted var(--dfh-button-bkgd);
	}

div.container_band {
	box-sizing: border-box;
	width:100%;
	margin: 0;
	padding: 0 0 20px 0;
	}
div.content {
	box-sizing: border-box;
	padding:0;
	margin: 0 auto;
	transition: width .5s;
	}
div.max_float {
	box-sizing: border-box;
/*	border:1px solid #828282; */
	position:relative;
	width:100%;
	max-width: 1500px;
	margin:0 auto;
	}
div.max_float.default_page {
	padding: 20px 0 15px 0;
	}
div.max_float.standard_page,
div.compact_float.standard_page {
	padding: 20px 0 15px 0;
	}
div.max_float.standard_page.inset_margin {
	padding: 30px 15px 20px 15px;
	}

div.compact_float {
	box-sizing: border-box;
/*	border:1px solid #828282; */
	position:relative;
	width:100%;
	max-width: 1000px;
	margin:0 auto;
	padding: 30px 0 25px 0;
	}
div.grid_flex {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	}
div.grid_flex.region_grid,
div.grid_flex.type_grid,
div.grid_flex.route_flex {
	justify-content: space-between;
	}
body.pageid-40 div.grid_flex.type_grid { /* explore by collection */
	justify-content: flex-start;
	}
div.flex_2c {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	justify-content: space-between;
	margin: 0 0 40px 0;
	}
div.child_2c {
	box-sizing: border-box;
	width:50%;
	background: #f6f9fd;
	}
div.child_2c.left {
	padding: 15px;
	}
div.child_2c img {
	margin:0;
	}
div.child_1c {
	box-sizing: border-box;
	width:100%;
	background: #f6f9fd;
	}
div.child_1c.left {
	padding: 15px;
	}
div.child_1c img {
	margin:0;
	}
div.entry_container {
	position:relative;
	box-sizing: border-box;
	width:calc(100% - 440px);
	padding: 0;
	margin: 0 0 20px 0;
	transition: width .5s;
	}
div.section_container {
	position:relative;
	box-sizing: border-box;
	width:100%;
	padding: 48px 0 0 0;
	margin: 30px 0 20px 0;
	}
div.sidebar_container {
	box-sizing: border-box;
	width:400px;
	padding: 0;
	margin: 0 0 20px 0;
	transition: width .5s;
	}

.thumbnail_container,
.region_container {
	box-sizing: border-box;
	position:relative;
	display:block;
	width:calc(25% - 20px);
	padding: 15px 15px 50px 15px;
	margin: 0 10px 20px 10px;
	border: 1px solid rgba(0,0,0,0.2);
	background: var(--dfh-white);
	}


div.type_grid .thumbnail_container,
.pageid-38 div.type_grid .thumbnail_container {
	margin: 0 0 20px 0;
	width: calc(25% - 15px);
	}
body.pageid-40 div.type_grid .thumbnail_container { /* explore by collection */
	margin: 0 7.5px 20px 7.5px;
	} 
div.thumbnail_image {
	aspect-ratio: 6 / 4;
	overflow:hidden;
	margin: 0 0 10px 0;
	background: var(--dfh-dark-bkgd);
	}
div.route_type_flag {
	position: absolute;
	box-sizing: border-box;
	background: var(--dfh-button-bkgd);
	color: var(--dfh-white);
	height: auto;
	width: auto;
	min-width:52px;
	top: -1px;
	left: 7.5px;
	padding: 8px 10px 15px 10px;
	text-align: center;
	z-index: 2;
	font-size: 1.4em;
	line-height: 1;
	clip-path: polygon(0 0, 100% 0%, 100% 80%, 50% 100%, 0 80%);
	}
div.route_type_flag.alts {
	background: var(--dfh-bright-bkgd);
	color: var(--dfh-white);
	font-size: 1.6em;
	line-height: 1;
	}
div.route_type_flag.bikepacking {
	background: #542065;
	color: var(--dfh-white);
	}
div.route_type_flag.development {
	background: #000;
	color: var(--dfh-button-bkgd);
	}
div.route_type_flag.all_access {
	color: var(--dfh-white);
	background: #272adb;
	}
div.route_thumbnail_verbose {
	font-size: 0.95em;
	line-height: 1.2em;
	display:block;
	margin-bottom:15px;
	}
div.route_thumbnail_type {
	font-size: 0.95em;
	text-transform: uppercase;
	}
div.route_thumbnail_type i {
	font-size: 0.95em;
	}
div.route_thumbnail_location {
	font-weight: 700;
	margin-bottom:6px;
	}
div.route_thumbnail_desc {
	margin-bottom:6px;
	}
div.parked_buttons {
	box-sizing:border-box;
	position:absolute;
	bottom:0px;
	left:0px;
	width:100%;
	padding: 15px;
	justify-content: space-between;
	}
div.one_pin {
	box-sizing: border-box;
	position: relative;
	overflow:visible;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: fit-content;
	transform: translateX(50%); 
	left:-12px; 
	}

.route_type_pin {
	box-sizing: border-box;
	position: absolute;
	position: relative;
	top: 0px;
	left: 0px;
	height: 25px;
	width: 25px;
	padding: 1.5px 2.5px 3px 2.5px;
	font-size: 15px;
	line-height: 1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.7);
	transition: background .3s, color .3s, box-shadow .3s;
	}
.route_pin_name {
	box-sizing: border-box;
	display: flex; 
	background: rgba(0,0,0,0.5);
	color: var(--dfh-white);
	font-size: 1.0em;
	line-height: 1;
	font-weight: 700;
	margin: 0 0 0 -10px;
	padding: 3px 5px 3px 13px;
	border-radius: 0 3px 3px 0;
	cursor:pointer;
	}
.active_marker .route_pin_name {
	background: var(--dfh-white);
	color:var(--dfh-dark-bkgd);
	border: 1px solid var(--dfh-dark-bkgd);
	}


.route_type_pin.five_star {
	background: var(--dfh-button-bkgd);
	color: var(--dfh-white);
	}
.route_type_pin.alts {
	background: var(--dfh-bright-bkgd);
	color: var(--dfh-white);
	}
.route_type_pin.aa {
	background: #272adb;
	color: var(--dfh-white);
	}
.route_type_pin.bikepacking {
	background: #542065;
	color: var(--dfh-white);
	}
.route_type_pin.development {
	background: #000;
	color: var(--dfh-button-bkgd);
	}
.route_type_pin.five_star:hover,
.route_type_pin.alts:hover,
.route_type_pin.aa:hover,
.route_type_pin.bikepacking:hover,
.route_type_pin.development:hover {
	background: #686868;
	color: var(--dfh-white);
	cursor:pointer;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
	}
div.thumbnail_map {
	box-sizing: border-box;
	position:relative;
	display:block;
	width:280px;
	padding: 6px 8px 8px 8px;
	margin: 0px;
	border: 1px solid rgba(0,0,0,0.2);
	background: rgba(255,255,255,0.9);
	box-shadow: 3px 3px 5px rgba(0,0,0,0.2);
	}
div.thumbnail_map h3 {
	font-size: 1.0em;
	line-height: 1.1em;
	margin: 0 0 5px 0;
	}
div.map_thumbnail_verbose {
	font-size: 0.80em;
	line-height: 1.2em;
	display:block;
	}
div.map_thumbnail_button {
	margin: 10px 0 2px 0;
	}
div.close_thumbnail {
	box-sizing: border-box;
	position: absolute;
	top: -15px;
	right: -15px;
	background: black;
	color: var(--dfh-white);
	height: 44px;
	width: 44px;
	padding: 5px 6px 6px 5px;
	font-size: 34px;
	line-height: 1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.7);
	transition: background .3s, color .3s;
	border: 1px solid var(--dfh-white);
	}
div.close_thumbnail:hover {
	color:black;
	background: var(--dfh-white);
	cursor:pointer;
	}


div.region_container {
	position:relative;
	background: rgba(0,0,0,0.2);
	padding: 0px;
	aspect-ratio: 6 / 4;
	box-shadow: 0px 0px 8px rgba(0,0,0,0.6);
	overflow:hidden;
	transition: box-shadow .2s;
	border-radius: 5px;
	margin: 0 0 20px 0;
	}
div.region_container:hover {
	box-shadow: 0px 0px 2px rgba(0,0,0,0.6);
	}
div.region_container img,
div.thumbnail_image img {
	width:100%;
	height:100%;
	object-fit: cover;
	transition: transform 2s, opacity 1s;
	}
div.region_container img:hover,
div.thumbnail_image:hover img {
	opacity:0.6;
	transform: scale(1.1,1.1);
	}


div.region_container .slide_caption {
	display: flex;
	justify-content: space-between;
	font-family: var(--font-headlines);
	font-weight: var(--font-weight-regular);
	font-style: var(--font-style-normal);
	font-size: 1.15em;
	line-height: 1;
	background: var(--dfh-button-bkgd);
	color:var(--dfh-text);
	transition: background 1s, color 1s;
		position: absolute;
		bottom: 0;
		left: 0;
		height: auto;
		width: 100%;
	padding: 12px 10px 10px 10px;
		z-index: 2;
	}
div.region_container .slide_caption a {
	margin-left:6px;
	color:var(--dfh-text);
	}
div.region_container .slide_caption a:hover {
	color:var(--dfh-bright-bkgd);
	}

div.post {
	}

div.newest_grid div.thumbnail_container:nth-of-type(1n+5) { /* start on #5 */
	display:none;
	}
div.newest_grid.show_all div.thumbnail_container:nth-of-type(1n+1) { /* open all */
	display:block;
	}


/* ------------------------------------------------------------------------- ROUTES --- */
div.route_header {
	margin-top: 24px;
	}

div.route_title {
	margin: 0 0 20px 0;
	}
div.breadcrumbs {
	font-family: var(--font-body);
	font-weight: var(--font-weight-bold);
	margin: 0 0 0 2px;
	}
div.route_alert {
	display:flex;
	align-items: center;
	box-sizing:border-box;
	background: #ffe295;
	padding: 20px 20px 20px 20px;
	border-radius: 8px;
	margin: 0 0 20px 0;
	}
div.route_alert i {

	}
div.route_alert p {
	font-size: 1.05em;
	font-weight: 700;
	margin:0 0 0 15px;
	padding: 0;
	}
	
	
div.route_summary {
	box-sizing:border-box;
	background: var(--dfh-white);
	padding: 10px;
	border-radius: 13px;
	margin: 0 0 20px 0;
	font-size: 0.9em;
	display:flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	box-shadow: 0px 0px 5px rgba(0,0,0,0.3);
	}
div.route_summary div.route_attribute {
	box-sizing:border-box;
	background: var(--dfh-widget-background);
	display:flex;
	align-items: center;
	width:calc(25% - 8px);
	margin: 4px;
	border-radius: 5px;
	padding: 10px;
	}
div.route_summary div.route_attribute div {
	box-sizing:border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	}
div.route_summary div.route_attribute div.route_attr_name {
	font-size: 0.9em;
	text-transform: uppercase;
	font-weight:700; 
	width:100%;
	}
div.route_summary div.route_attribute div.route_attr_value {
	font-weight:400; 
	width:100%;
	}
div.route_summary div.route_attribute div.route_attr_icon {
	margin:0 5px 0 0;
	height:100%;
	}
div.route_summary div.route_attribute div.route_attr_icon img {
	width:50px;
	height:auto;
	}
span.help_icon {
	margin: 0 0 0 -4px; 
	}
span.help_icon a {
	display:flex;
	text-decoration: none;
	border-bottom: 0 solid transparent !important;
	font-size: 0.9em;
	color:#d7d7d7 !important;
	margin-left:5px;
	}
span.help_icon a:hover {
	color:#fcb900 !important;
	}
span.help_icon a span.gpx_learn_more {
	display:block;
	color:#d7d7d7;
	font-family: var(--font-headlines);
	font-weight: var(--font-weight-regular);
	font-size: 0.9em;
	padding: .5px 0 0px 4px;
	margin-top: 1.5px;
	}
span.help_icon a:hover span.gpx_learn_more {
	color:#ffffff;
	}

div.route_tabs {
	box-sizing: border-box;
	top:0px;
	width:calc(25% - 7px);
	padding: 17px 3px 13px 3px;
	background-color:var(--dfh-button-bkgd); /* orange */
	color:var(--dfh-text);
	border-radius: 13px 13px 0 0;
	border-bottom:transparent;
	text-align: center;
	font-family: var(--font-headlines);
	font-weight: var(--font-weight-regular);
	font-style: var(--font-style-normal);
	text-transform:uppercase;
	font-size: 1em;
	line-height: 1;
	transition:all .3s;
	}
div.route_tabs.current_tab,
div.route_tabs.current_tab:hover {
	background-color:var(--dfh-bright-bkgd);
	color: var(--dfh-white);
	top:0px;
	cursor:default;
	padding: 17px 3px 13px 3px;
	}
div.route_tabs:hover {
	background-color: var(--dfh-dark-bkgd);
	color: var(--dfh-white);
	cursor:pointer;
	top: -3px;
	padding: 17px 3px 16px 3px;
	}

div#tab_overview {
	position:absolute;
	left:0%;
	}
div#tab_poi {
	position:absolute;
	left:calc(25% + 2.5px);
	}
div#tab_options {
	position:absolute;
	left:calc(50% + 4.5px);
	}
div#tab_comments {
	position:absolute;
	left:calc(75% + 7px);
	}
div.tab_body {
	position: relative;
	padding: 18px 20px 20px 20px;
	background: var(--dfh-bright-bkgd);
	color: var(--dfh-white);
	border-radius: 0 0 13px 13px;
	display:none;
	}
div.tab_body.current_tab_body {
	display:block;
	}

div.tab_body a.button {
	margin-right:10px;
	}
div.color_legend {
	display: flex;
	justify-content: center;
	color:var(--dfh-text);
	background: var(--dfh-white);
	padding: 8px;
	line-height:1;
	border-radius: 8px;
	margin: 0 0 15px 0;
	}
div.color_legend div {
	margin: 0 8px;
	}
div.single_poi {
	display:flex;
	flex-wrap: nowrap;
	flex-wrap: wrap;
	}
.single_poi + h3 {
    margin-top:0.6em;
	}

div.img_poi {
	width:200px;
	padding: 5px 15px 10px 0px;
	cursor:pointer;
	opacity:1.0;
	transition:opacity .3s;
	}
div.img_poi:hover {
	opacity: 0.8;
	}
div.img_poi img {
	display:block;
	width:100%;
	height:auto;
	}
div.verbose_poi {
	width:100%;
	}
div.single_poi.has_image div.verbose_poi {
	width:calc(100% - 215px);
	}
a.img_modal i {
	padding: 0 3px 0 4px;
	}


/* -- single POI image modal -- */
div.poi_modal {
	box-sizing:border-box;
	position: fixed;
	z-index:9999;
	bottom:0px;
	left:0px;
	height: 100vh;
	width:100%;
	padding: 50px;
	background:rgba(0,0,0,0.7);
	color:white;
	cursor:pointer;
	}
div.close_modal {
	position:absolute;
	top:30px;
	right:30px;
	transition:color .3s;
	cursor:pointer;
	font-size: 1.5em;
	line-height: 1;
	}
div.close_modal:hover {
	color:red;
	}
div.close_modal:hover {
	color:var(--dfh-button-bkgd);
	}
div.poi_modal_image {
	width:100%;
	height:100%;
	}
div.poi_modal_image img {
	height:100%;
	width:100%;
	object-fit: contain;
	}
div.cue_sheet_container {
	box-sizing:border-box; 
	display:inline; 
	position:relative; 
	overflow:visible;
	}
div#cue_sheet_dialog {
	box-sizing: border-box;
	display: block;
	position:absolute;
	top:0px;
	right:calc(-50% - 30px);
	padding: 10px 15px 14px 15px;
	border-radius: 8px;
	background-color: rgba(255,255,255,0.9);
	color:var(--dfh-text);
	box-shadow: 1px 1px 5px rgba(0,0,0,0.8);
	font-size: 0.9em;
	line-height: 1;
	width: 300px;
	}
div.credits img {
	max-height: 80px !important;
/*	max-width: 280px !important; « OLD VALUE */
	max-width: 170px !important;
	float: right !important;
	}


/* ------------------------------------------------------------------- SLICK SLIDER --- */
div#route_slider {
	margin-bottom: 55px;
	}
div.slider {
	position:relative;
	width:100%;
	aspect-ratio: 1.6 / 1;
	background-color: #000000;
	margin: 5px 0 20px 0;
	box-shadow: 0px 0px 15px rgba(0,0,0,0.4);
	border-radius: 5px;
	}
div.slider img {
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 5px;
	}
.slick-list {
    height: 100%;
	}
.slick-track {
    height: 100%;
	}
.slick-prev::before, 
.slick-next::before {
	font-size: 40px;
	line-height: 40px;
	opacity: 1.0;
	color: var(--dfh-button-bkgd);
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	display: inline-block;
    font-style: var(--font-style-normal);
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
	}
button.slick-prev {
	left: -21px;
	}
button.slick-next {
	right: -21px;
	}
button.slick-prev,
button.slick-next {
	border-radius: 50%;
	background:#464646 !important;
	transition: background .2s;
	height: 42px;
	width: 42px;
	z-index:10;
	}
button.slick-prev:hover,
button.slick-next:hover {
	background:#0274be !important;
	box-shadow: 0px 0px 5px rgba(0,0,0,0.8);
	}
.slick-prev::before {
	content: '\f0a8';
	}
.slick-next::before {
	content: "\f0a9";
	}
.slick-dots li button::before {
	font-size: 35px;
	}
.slick-dots {
	bottom: -35px;
	}
.slick-dots li {
	margin: 0 0px;
	}
.slick-dots li.slick-active button::before {
	color: var(--dfh-bright-bkgd);
	}
.slide_caption {
	box-sizing:border-box;
	position: absolute;
	bottom: 0;
	left: 0;
	height: auto;
	width: 100%;
	padding: 10px;
	z-index: 2;
	background: rgba(0,0,0,0.6);
	color: var(--dfh-white);
	font-size: 0.95em;
	line-height: 1.2em;
	border-radius: 0 0 5px 5px;
	}
.slider .slide_caption {
	text-align: center;
	}

.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 20px;
	height: 20px;
	padding: 5px 2px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
	box-shadow:0 0 0 var(--dfh-white);
	border-radius: 0;
	}

/* ------------------------------------------------------------------ FORM ELEMENTS --- */
div#searchform .noUi-connect {
	background: var(--dfh-button-bkgd);
	}  
div#searchform .noUi-target {
	width: calc(100% - 30px);
	margin: 0 auto;
	}
div#searchform div.slider {
	background:#c7c7c7;
	box-shadow: inset 0 2px 5px rgba(0,0,0,0.5);
	}
div.form_unit {
	margin: 0 0 12px 0;
	}
div#route_gain.form_unit {
	margin: 0 0 12px 0;
	}
div.check_container {
	margin: 0 0 10px 0;
	}
div.check_label {
	width:160px;
	margin-left:40px;
	padding: 4px 10px;
	}
.switch input {
	display:none;
	}
.switch {
	position: relative;
	display: inline-block;
	width: 46px;
	height: 26px;
	}
.switch input { 
	opacity: 0;
	width: 0;
	height: 0;
	}
.switcheroo {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #c7c7c7;
	box-shadow: inset 0 2px 5px rgba(0,0,0,0.5);
	transition: .2s;
	border-radius: 27px;
	}
.switcheroo:before {
	box-sizing: border-box;
	position: absolute;
	content: "";
	height: 24px;
	width: 24px;
	left: 1px;
	bottom: 1px;
	background: linear-gradient(#d4d4d4, var(--dfh-white));
	border:1px solid #999999;
	box-shadow: 0 2px 5px rgba(0,0,0,0.5);
	transition: .2s;
	border-radius: 50%;
	}
input:checked + .switcheroo {
	background-color: var(--dfh-button-bkgd);
	}
input:focus + .switcheroo {
	box-shadow: 0 0 1px #a72639;
	}
input:checked + .switcheroo:before {
	transform: translateX(20px);
	}


/* ------------------------------------------------------------------ ROUTE SIDEBAR --- */
div.sidebar_container h3 {
	font-weight: 500 /* 500 700 */;
	clear:both;
	}
div.sidebar_container h4 {
	font-weight: 500 /* 500 700 */;
	clear:both;
	}
div.sidebar_container p {
	font-size: 0.95em;
	line-height: 1.4em;
	display:block;
	padding-bottom:15px;
	}
div.sidebar_verbose {
	margin-bottom: 15px;
	}
div.sidebar_verbose img,
div.sidebar_verbose a img {
	max-height:120px;
	height:100%;
	width:auto !important;
	margin:0;
	padding:0 0 15px 15px;
	float:right;
	}
div.one_media_element {
	box-sizing:border-box;
	background: var(--dfh-white);
	padding: 10px;
	border-radius: 13px;
	margin: 0 0 30px 0;
	box-shadow: 0px 0px 5px rgba(0,0,0,0.3);
	}	
div.one_media_element p {
	padding:0;
	}
div.one_media_element div.bio_widget_verbose.keep_it_local p:nth-of-type(1n + 3) {
	padding-top:10px;
	}
div.one_media_element div.bio_widget_verbose.keep_it_local p:last-of-type {
	padding-top:10px;
	}
div.one_media_element div.video_element {
	width:100%;
	aspect-ratio: 514/290;
	}
div.one_media_element div.podcast_element {
	width:100%;
	height:152px;
	}
div.one_media_element iframe {
	width:100%;
	height:100%;
	}
div.one_media_element.bio_widget {
	background:var(--dfh-widget-background);
/*	display: flex; */
	display: block;
	justify-content: space-between;
	font-size: 0.95em;
	}
div.one_media_element.internal_page {
/*	display: flex; */
	display:block;
	justify-content: space-between;
	font-size: 0.95em;
	}
div.one_media_element {
	background: var(--dfh-widget-background);
	font-size: 0.95em;
	}
div.one_media_element.hash_tags {
	padding-bottom:2px;
	}
div.one_media_element.hash_tags a {
	margin: 0 8px 10px 0px;
	padding: 5px 10px;
	}
div.one_media_element.bio_widget div.bio_widget_verbose,
div.one_media_element.internal_page div.bio_widget_verbose {
	box-sizing:border-box;
/*	width:calc(75% - 12px); */
	width:100%;
	padding: 0 15px 0 0;
	}
div.one_media_element.bio_widget div.bio_widget_image,
div.one_media_element.internal_page div.bio_widget_image {
	box-sizing:border-box;
	width:27%;
	aspect-ratio: 1/1;
/*	margin: 1px 0 0 1px; */
	margin: 1px 16px 8px 1px;
	float:left;
	overflow:hidden;
	}
div.one_media_element.bio_widget div.bio_widget_image a,
div.one_media_element.internal_page div.bio_widget_image a {
	box-sizing:border-box;
	display:block;
	aspect-ratio: 1/1;
	width:100%;
	}
div.one_media_element.bio_widget div.bio_widget_image a img,
div.one_media_element.internal_page div.bio_widget_image a img {
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 8px;
	filter: grayscale(100%);
	transition: filter .3s;
	aspect-ratio: 1/1;
	}
div.one_media_element.bio_widget div.bio_widget_image img {
	width:100%;
	height:auto;
	object-fit: cover;
	border-radius: 8px;
	transition: filter .3s;
	aspect-ratio: 1/1;
	}
div.one_media_element.bio_widget div.bio_widget_image img:hover,
div.one_media_element.internal_page div.bio_widget_image img:hover {
	filter: grayscale(0%);
	}


div.one_media_element.bio_widget h4,
div.one_media_element.internal_page h4 {
	padding-top:0;
	}
	
/* --------------------------------------------------------------- GRID & MAP VIEWS --- */
div#sorting_widget {
	text-transform: uppercase;
	font-size: 0.9em;
	line-height: 1;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-bottom: 20px;
	}
div#sorting_widget a,
div#sorting_widget div {
	display:block;
	margin: 5px 3px;
	padding: 0px 6px 0px 0px;
	border-right: 1px solid #ccc;
	}
div#sorting_widget a {
	color:#767676; /* grey */
	text-decoration:none;
	}
div#sorting_widget a:hover {
	color:var(--dfh-button-bkgd); /* orange */
	}
div#sorting_widget a.active_sort {
	color:var(--dfh-bright-bkgd);
	}
div#sorting_widget a i {
	padding-left:3px;
	padding-right:3px;
	}

div.pagination {
	width:100%;
	margin: 40px auto 20px auto;
	display:flex;
	justify-content: center;
	}
div.pagination div {
	display:flex;
	}
div.pagination div a {
	margin: 0 2px;
	}
div.button_dd_elipse {
	display:flex;
	align-items: center;
	margin: 0 6px;
	}
div#map_overlay {
	position: absolute;
	left: 10px !important;
	bottom: auto !important;
	width: 280px;
	top: 57% !important;
	transform: translateY(-50%) !important;
	z-index:10;
	}
i.fa-square-parking {
	font-size: 1.4em;
	line-height: 1;
	background: white;
	padding: 3px 4px;
	border-radius: 4px;
	box-shadow: 0 0 3px rgba(0,0,0,0.5);
	}

/* --------------------------------------------------------------------------- FAQs --- */
div.one_faq {
	box-sizing: border-box;
	position: relative;
	display: block;
	width: 100%;
	padding: 10px 15px 10px 15px;
	border: 1px solid rgba(0,0,0,0.2);
	background: var(--dfh-white);
    cursor: pointer;
    transition: background .5s;
    transition: background .5s;
    }
div.one_faq h4 {
    box-sizing: border-box;
    font-size: 1.1em;
    line-height: 1.1em;
    font-weight: 400;
    margin: 0 0 0 0;
    color: var(--dfh-headers-dark);
    margin: 0 0 0 0;
    padding-right: 40px;
    text-transform: none;
    transition: color .5s;
    }
div.one_faq div.arrow {
    color: var(--dfh-headers-dark);
    position: absolute;
    top: calc(50% - 11px);
    right: 20px;
    font-size: 1.1em;
    line-height: 1;
    transition: color .5s;
    }
div.one_faq.expanded,
div.one_faq:hover {
    background: var(--dfh-headers-dark);
   }
div.one_faq.expanded h4,
div.one_faq.expanded div.arrow,
div.one_faq:hover h4,
div.one_faq:hover div.arrow  {
	color: var(--dfh-white);
    }
div.faq_answer {
	border: 1px solid rgba(0,0,0,0.2);
	background: var(--dfh-white);
    padding: 15px 15px 5px 15px;
    font-size: 1.0em;
    line-height: 1.3em;
    display: block;
    overflow: hidden;
    max-height: 1500px;
    margin: 0 0 20px 0;
    opacity: 1.0;
    transition: opacity 2s, max-height 1s, padding 1s;
    }
div.faq_answer p {
    margin: 0 0 10px 0;
    }
div.faq_answer.closed {
    max-height: 0px;
    padding: 0px 15px;
    opacity: 0.0;
    }



/* ----------------------------------------------------------------------- SPONSORS --- */

div.one_spn {
	width:100%;
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
	box-sizing: border-box;
	background-color: var(--dfh-white);
	border-radius: 6px;
	border:1px solid #e8edf3;
	margin: 0 0 20px 0;
	padding: 20px 20px 10px 20px;
	}
div.one_spn div.spn_logo {
	width:200px;
	margin: 3px 0 15px 0;
	background: var(--dfh-white);
	}
div.one_spn div.spn_logo img {
	display:block;
	width:100%;
	height:auto;
	opacity:1.0;
	transition:opacity .5s;
	}
div.one_spn div.spn_logo img:hover {
	opacity:0.7;
	}
div.one_spn div.spn_verbose {
	width:calc(100% - 218px);
	}

/* ----------------------------------------------------------------------- BLOG --- */
div#rr_cat_desc {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}
div#rr_image_container {
	width: 150px;
	}
div#rr_image_container img {
	width: 100%;
	height:auto;
	}
div#rr_verbose_container {
	width: calc(100% - 180px);
	display: flex;
	align-items: center;
	}

div.post_flex {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	justify-content: flex-start;
	}

div.one_excerpt {
	width:calc(33.332% - 30px);
	display:flex;
	flex-wrap: nowrap;
	flex-direction: column;
	box-sizing: border-box;
	background-color: var(--dfh-white);
	border-radius: 20px;
	border:1px solid #e8edf3;
	margin: 0 15px 30px 15px;
	padding: 15px 15px 17px 15px;
	transition:opacity .4s;
	}
div.excerpt_media {
	width:100%;
	height:232px;
	overflow:hidden;
	margin: 0 0 10px 0;
	border-radius: 10px;
	background: #000;
	}
div.excerpt_media img {
	width:100%;
	height:100%;
	object-fit: cover;
	filter: grayscale(0%);
	transition: transform 2s, filter .3s;
	}
div.excerpt_media img:hover {
	filter: grayscale(100%);
	transform: scale(1.1,1.1);
	}

div#nav_below {
	display:flex;
	justify-content: space-between;
	margin:0;
	}
div.entry_date {
	font-size: 0.8em;
	line-height: 1;
	margin:-6px 0 10px 0;
	font-weight: 700;
	}
div.entry_meta {
	font-size: 0.85em;
	line-height: 1;
	}

div.entry_content.podcast_type {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	}
div.entry_content.podcast_type div {
	width:calc(50% - 15px);
	}
div.entry_content.podcast_type div.transcript {
	width:100%;
	margin-top:20px;
	}
div.video_embed {
	aspect-ratio: 1/.563;
	}
div.video_embed iframe {
	height: 100%;
	width: 100%;
	}
div.entry-meta {
	display:flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	}
div.entry-meta a {
	margin: 5px 5px 5px 0;
	}
div.entry-meta a::after {
	display: inline-block;
    font-style: var(--font-style-normal);
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0aa";
    padding-left: 5px;
	}
div.entry_flex {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	}
div.entry_flex div {
	width:48%;
	}

/* --------------------------------------------------------------------------- TEAM --- */
a.bio_container {
	width:calc(33.332% - 20px);
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: start;
	box-sizing: border-box;
	background-color: var(--dfh-white);
	border-radius: 20px;
	border:1px solid #e8edf3;
	margin: 0 10px 20px 10px;
	padding: 15px 15px 17px 15px;
	}

div.bio_image {
	width:100%;
	aspect-ratio: 1/1;
	border-radius: 10px;
	overflow:hidden;
	margin: 0 10px 15px 0;
	}
div.bio_image img {
	width:100%;
	height:100%;
	object-fit:cover;
	filter: grayscale(100%);
	transition: transform 2s, filter .3s;
	}
div.bio_verbose div {
	width:100%;
	}
div.bio_verbose div:nth-of-type(1) {
	color:var(--dfh-headers-dark);
	font-family: var(--font-headlines);
	font-weight: var(--font-weight-regular);
	font-style: var(--font-style-normal);
	font-size:1.2em;
	line-height:1.1em;
	padding:0;
	}
div.bio_verbose div:nth-of-type(2) {
	color:var(--dfh-text);
	font-size:0.8em;
	line-height:1.1em;
	}
a.bio_container:hover {
	box-shadow: 0px 0px 5px rgba(0,0,0,0.3);
	}
a.bio_container:hover div.bio_image img {
	transform: scale(1.1,1.1);
	filter: grayscale(0%);
	}

div.single_team_member {
	display:flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	}
div.single_team_member div.entry_content {
	width:calc(70% - 30px);
	}
div.single_team_member div.bio_image {
	width:30%;
	aspect-ratio: 1/1;
	border-radius: 10px;
	overflow:hidden;
	margin: 4px 0 15px 0;
	background-size: cover;
	background-position: center center;
	}
div.single_team_member div.bio_image img {
	width:100%;
	height:100%;
	object-fit:cover;
	filter: grayscale(0%);
	opacity:1.0;
	transition: opacity 1.5s;
	}
div.single_team_member div.bio_image img:hover {
	opacity:0;
	cursor: default;
	}


/* --------------------------------------------------------------------- NAVIGATION --- */
a#nav_toggle {
	display:none;
	}
nav#access {
	position:absolute;
	top:0px;
	right:0px;
	margin: 0px;
	padding:0;
	z-index:5;
	}
div#menu {
	margin:34px 0 0 0;
	padding:0;
	}
div#menu ul {
	list-style:none;
	margin:0;
	padding:0;
	}
ul.sub-menu,
div#menu ul li ul.sub-menu li ul.sub-menu {
	top:-1000px;
	position:absolute;
	opacity:0.0;
    transition: opacity .5s;
	z-index:-1;
	}

div#menu ul li:hover ul {
	position:absolute;
	top:auto;
	margin-top:0px;
	opacity: 1.0;
	}
div#menu ul li {
	float:left;
	margin:0px;
	}
ul.sub-menu li.menu-item {
	float:none !important;
	}

div#menu ul li ul.sub-menu li:hover ul.sub-menu {
	position:absolute;
	left: calc(100% - 7px);
	top: auto;
	width: 100%;
	margin-top: -39px;
	opacity: 1.0;
	}
div#menu ul li ul.sub-menu li:hover ul.sub-menu li:first-of-type a {
	border-top: 1px solid #d2b184;
	}

/* STYLE OF AHREF */

div#menu ul li.menu-item a {
	box-sizing: border-box;
	display:block;
	font-family: var(--font-headlines);
	font-weight: var(--font-weight-regular);
	font-style: var(--font-style-normal);
	text-transform: uppercase;
	border-radius: 6px 6px 0 0;
	border: 1px solid #d2b184;
	margin-left:6px;
	padding: 8px 10px 4px 10px;
	text-decoration:none;
	text-align:left;
	}
div#menu ul.sub-menu li.menu-item a {
	text-transform: none;
	padding: 8px 10px 4px 10px;
	}

div#menu ul li.menu-item ul.sub-menu li.menu-item a {
	border-radius: 0;
	border-top:transparent;
	}


/* ---------------------------------------------------------------------------- MAP --- */
div#filter_controller {
	box-sizing: border-box;
	display:flex;
	background:rgba(255,255,255,0.6);
	border:.5px solid #ccc;
	position:absolute;
	top: 20px;
	right: 0px;
	z-index: 1;
	padding: 10px;
	border-radius: 10px;
	}
.map_frame div#filter_controller {
	top: 93px;
	right: 62px;
	z-index: 4;
	}
div#filter_unit {
	box-sizing: border-box;
	position:absolute;
	top: 60px;
	right: 0px;
	z-index: 20;
	padding: 0px 10px;
	border-radius: 10px;
	width: 270px; 
	background: white;
	font-size: 0.9em;
	line-height: 1;
	overflow: hidden;
	box-shadow: inset 0 0px 3px rgba(0,0,0,0.7);
	opacity:0.3;
	max-height:0px;
	transition: padding .6s, max-height .7s, opacity .7s;
	}
div#filter_unit.filter_open {
	padding: 10px;
	max-height:500px;
	opacity:1.0;
	}
div#full_map {
	box-sizing: border-box;
	width:100vw;
	height:calc(100vh - 175px);
	height:calc(100svh - 175px);
	}
body.page-template-page_framed-map-php div#full_map {
	box-sizing: border-box;
	width:100vw;
	height:100vh;
	}
body.page-template-page_framed-map-php div#filter_controller {
	display:none;
	}
div#routemap {
	box-sizing: border-box;
	width:100%;
	height:100%;
	}
iframe#dfh_frameset {
	box-sizing: border-box;
	width:100%;
	height:100%;
	}
iframe#map_frame_single {
	width: 1px; 
	min-width: 100%; 
	height: 750px; 
	border: none; 
	margin-bottom: 15px;
	}
div#ridewithgps_wrapper iframe#map_frame_single {
	box-sizing:border-box;
	}
iframe#map_frame_single.expanded_view {
	position: fixed;
	top:0px;
	left:0px;
	width:100vw;
	height:100vh;
	z-index: 13;
	}

	div#ridewithgps_frame {
		box-sizing:border-box;
		overflow:hidden;
		border-radius: 8px;
		position:relative;
		}
	div#ridewithgps_frame.expanded_view {
		position: fixed;
		top: 0px;
		left: 0px;
		width: 100vw;
		height: 100vh;
		border-radius:0;
		z-index: 14;
		background: var(--dfh-white);
		}
	div#ridewithgps_wrapper {
		box-sizing:border-box;
		margin-top:-58px;
		}
	div#ridewithgps_wrapper.expanded_view {
		width:100vw;
		height:100vh;
		padding:10px;
		background: var(--dfh-white);
		}
	div#ridewithgps_wrapper.expanded_view iframe#map_frame_single.expanded_view {
		position: fixed;
		top:-58px;
		left:0px;
		width:100%;
		height:calc(100% + 58px);
		z-index: 13;
		background: var(--dfh-white);
		}


div#full_screen_container {
	margin: 0 0 0 0;
	display: flex;
	position:absolute;
	top:21px;
	left:23px;
	}
div#full_screen_container.expanded_view {
	position: fixed;
	top: 3px;
	left: 3px;
	z-index: 14;
	}
div#full_screen_container.expanded_view span.expand_text,
div#ridewithgps_frame.expanded_view span.expand_text {
	display:none;
	}
span.minimize_text {
	display:none;
	}
div#full_screen_container.expanded_view span.minimize_text,
div#ridewithgps_frame.expanded_view span.minimize_text {
	display:inline;
	}


div#footer.map_footer {
	position:fixed;
	bottom: -10px;
	left:0;
	padding: 0px 0 0px 0;
		width: 100%;
		box-sizing: border-box;
		clear: both;
	}

/* ------------------------------------------------------------------------- FOOTER --- */
div#footer { 
	width:100%;
	box-sizing: border-box;
	clear: both;
	padding: 20px 0 60px 0;
	}
div#footer div.max_float {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}
div.footer_left { 
	width:50%;
	box-sizing: border-box;
	text-align: left;
	margin: 0 0 20px 0;
	}
div.footer_right { 
	width:50%;
	box-sizing: border-box;
	text-align: right;
	margin: 0 0 20px 0;
	}
.ftr_phone {
	font-size:1.1em;
	font-family: var(--font-headlines);
	font-weight: var(--font-weight-regular);
	}
.copyright {
	font-size:0.70em;
	margin: 5px 0;
	}
div.footer_nav {
	margin: 0 0 15px 0;
	}
div.footer_nav a {
	display:inline-block;
	margin: 0 0 0 5px;
	padding: 0 0 0 7px;
	border-left: 1px solid grey;
	font-size: 0.9em;
	font-family: var(--font-headlines);
	font-weight: var(--font-weight-regular);
	}
div.footer_nav a:first-of-type {
	border-left: transparent;
	}


/* ------------------------------------------------------------------------- SOCIAL --- */
div.social {
	font-size:1.5em;
	line-height:1;
	margin: 10px 0 10px 0;
	}
div.social a {
	margin: 0 8px 0 0px;
	transition: color .5s;
	}

/* ----------------------------------------------------------------- SEARCH RESULTS --- */
form#site_search_form {
	}
form#site_search_form div {
	display:flex;
	}
form#site_search_form input[type=text] {
	margin: 0 10px 0 0;
	border-radius:8px;
	}

a.result_filter {
	
	}
a.result_filter.filtered_res {
	color:darkgrey;
	}
.search_result_blox {
	margin: 0 0 20px 0;
	border: 1px solid rgba(0,0,0,0.2);
	display:flex;
	}
div.search_result_blox.hidden_result {
	display:none;
	}


div.result_body {
	box-sizing: border-box;
	width: calc(100% - 100px);
	padding: 10px;
	
	}
a.result_type {
	box-sizing: border-box;
	text-align: center;
	display:flex;
	flex-direction: column;
	padding: 10px 10px 25px 10px;
	min-width: 100px;
	font-size: 0.85em;
	background:var(--dfh-headers-dark);
	color: var(--dfh-white);
	}


a.result_type i {
	font-size: 2.0em;
	line-height:1;
	margin: 10px 0 6px 0;
	}
div.dfh_route_type,
div.podcast_type_result,
div.video_type,
div.team_type,
div.page_type,
div.post_type,
div.event_type,
div.product_type {
	display:none;
	}
div.dfh_route div.dfh_route_type {
	display:block;
	}
div.podcast div.podcast_type_result {
	display:block; 
	}
div.video div.video_type {
	display:block;
	}
div.team div.team_type {
	display:block;
	}
div.page div.page_type {
	display:block;
	}
div.post div.post_type {
	display:block;
	}
div.dfh_event div.event_type {
	display:block;
	}
div.product div.product_type {
	display:block;
	}

/* ------------------------------------------------------------- IMAGES / ALIGNENTS --- */
img.img_modal:hover {
	cursor:pointer;
	}
img.alignright {
	float:right;
	margin:3px 0 5px 14px;
	}
img.alignleft {
	float:left;
	margin:3px 14px 5px 0;
	}
img.aligncenter {
	display:block;
	margin:0 auto;
	text-align:center;
	}
.alignright {
	float:right;
	margin:3px 0 0 14px;
	text-align:right;
	}
.alignleft {
	float:left;
	margin:3px 14px 0 0;
	text-align:left;
	}
.aligncenter, .alignnone {
	display:block;
	margin:0 auto;
	text-align:center;
	margin-top:12px;
	margin-bottom:3px;
	}
.wp-caption p {
	font-size: 0.9em;
	line-height:1.3em;
	margin: 4px 0 0 0;
	text-transform:uppercase;
	}
div.wp-caption {
	}

/* -------------------------------------------------------------------------- FORMS --- */
div.form_row {
	padding: 0 0 10px 0;
	}
div.label {
	padding: 0 0 6px 0;
	}
div.field {
	padding: 0 0 0 0;
	}
input[type=text], 
input[type=email],
input[type=tel],
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	box-sizing: border-box;
	width:100%;
	padding:10px;	
	font-size: 1.0em;
	line-height:1.0em;
	border-radius:5px;
	background-color: var(--dfh-white);
	border: .5px solid rgba(0,0,0,0.5);
	transition: all .3s;
	}
textarea {
	height:250px;
	transition: all .3s;
	}
input[type=radio] {
	box-sizing: border-box;
	height:20px;
	transition: all .3s;
	}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	box-sizing: border-box;
	width:100%;
	padding:8px 9px;	
	font-size: 1.0em;
	line-height:1.15em !important;
	border-radius:5px;
	border: .5px solid rgba(0,0,0,0.5);
	background: url(images/select-pattern.png) #f0f0f0 no-repeat center right;
	background-size: auto 100%;
	transition: all .3s;
	}
input[type=text]:focus, 
input[type=email]:focus,
input[type=tel]:focus,
textarea:focus,
select:focus {
	border: .5px solid rgba(0,0,0,1.0);
	}

/* -------------------------------------------------------------------- FORM ERRORS --- */
div.wpcf7 form div.wpcf7-response-output {
	display:block;
	box-sizing: border-box;
	margin: -15px 0 40px 0;
	padding: 20px;
	float:none;
	clear:both;
	font-size: 1.0em;
	border-radius:5px;
	border:1px solid #ebbc00;
	color:#da7726;
	background:#faeebd;
	}
input[type=text].wpcf7-not-valid, 
input[type=email].wpcf7-not-valid,
input[type=tel].wpcf7-not-valid,
textarea.wpcf7-not-valid,
select.wpcf7-not-valid {
	background:#faeebd;
	border:1px solid #ebbc00;
	}
span.wpcf7-not-valid-tip {
	text-align:right;
	color:#da7726;
	display:block;
	line-height: 1.0em;
	margin-top:-8px;
	}

/* ---------------------------------------------------------------- NEWSLETTER FORM --- */
div.ml-form-horizontalRow {
	display:flex;
	justify-content: space-between;
	}
div.ml-input-horizontal {
	width:calc(100% - 111px);
	}
div.ml-button-horizontal {
	width:101px;
	}
div.ml-button-horizontal button {
	padding: 13px 15px;
	}

/* ------------------------------------------------------------------ DONATION PAGE --- */
div.entry_content.donation_content {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	}
div.entry_content.donation_content div.entry_float_left {
	width:48%;
	}
div.entry_content.donation_content div.entry_float_right {
	width:48%;
	}
div.entry_content.donation_content div.entry_float_left img {
	max-width:100%;
	height:auto;
	margin: 0 0 5px 0;
	}


/* -------------------------------------------------------------------------- CRUFT --- */
.clr, 
.cld { 
	font-size: .1em; 
	line-height: .1em; 
	clear:both; 
	}
.d_hidden { 
	display: none; 
	}
.fixme { 
	color:darkred;
	background:#faeebd;
	}
li#menu-item-1176, /* favorites */
li#menu-item-1177, /* sign in */
li#menu-item-1179, /* search */ 
li#menu-item-27246, /* cart */
li#menu-item-27293 /* donate 2 */ {
	display:none;
	}
div#fb_dialog {
	position: absolute;
	top: -3px;
	left:-300%;
	width: calc(100% + 6px);
	box-sizing:border-box;
	padding: 20px 20px 12px 20px;
	border-radius: 17px;
	background: var(--dfh-white);
	color:#000;
	transition:left .3s, opacity .3s;
	opacity:0.0;
	}
div#fb_dialog p {
	line-height: 1.2em;
	margin: 2px 0 5px 0;
	padding: 0;
	}
div.fb_steps {
	box-sizing:border-box;
	padding: 2px 0 0 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	}
div.fb_step {
	box-sizing:border-box;
	padding: 0 0 8px 0;
	width:55px;
	flex-grow: 1;
    }
div.fb_step i {
	box-sizing:border-box;
	background:lightgrey;
	display:inline-block;
	text-align: center;
	border-radius: 50%;
	font-size: 1.3em;
	height:42px;
	width:42px;
	padding: 9px 0 0 0;
	aspect-ratio: 1/1;
	}
div.fb_inst {
	box-sizing:border-box;
	padding: 0 0 8px 0;
	width:calc(100% - 55px);
	flex-grow: 2;
	}
	

/* ------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------- WOO COMMERCE --- */
/* single route product */
body.dfh_route .woocommerce ul.products li.product {
	background: var(--dfh-widget-background);
	border:transparent;
	border-radius: 13px;
	margin: 0 0 10px 0;
	box-shadow: 0px 0px 5px rgba(0,0,0,0.3);
	padding:10px 10px 48px 10px;
	}
body.dfh_route .woocommerce.columns-2 ul.products li.product.first {
	margin-right: 16px;
	}
body.dfh_route .woocommerce.columns-2 ul.products li.product {
	width: calc(50% - 8px);
	}
body.dfh_route .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-weight: 500;
	font-size: 0.95em;
	line-height: 1.1em;
	text-transform: uppercase;
	padding: 0.6em 0 0 0;
	}
body.dfh_route .woocommerce ul.products li.product a img {
	margin: 0 0 4px;
	border:0.5px solid rgba(0,0,0,0.2);
	border-radius: 6px;
	}
body.dfh_route .woocommerce ul.products li.product .price {
	font-size: 1.0em;
	}
body.dfh_route .woocommerce ul.products li.product a div.custom-short-description {
	font-size: 0.902em;
	line-height: 1.4em;
		color: var(--dfh-text);
	margin: -8px 0 8px 0;
	}
body.dfh_route .woocommerce ul.products li.product a.button {
	bottom: 11px;
	}

/* outer container */
body.woocommerce-page div#primary {
	box-sizing: border-box;
	position:relative;
	width:100%;
	width: calc(100% - 80px);
	max-width: 1500px;
	margin:30px auto;
	}
body.woocommerce-page.single div#primary {
	box-sizing: border-box;
	display:block;
	position:relative;
	width:100%;
	width: calc(100% - 80px);
	max-width: 1000px;
	margin:30px auto 0px auto;
	padding: 0 0 40px 0;
	}
/* buttons */
body.woocommerce-page button.button.alt, /* product button */
body.woocommerce-page a.button, /* shop index product button */
body.woocommerce-page .wc-block-cart__submit-container a, /* cart submit button */
body.dfh_route .woocommerce ul.products li.product a.button /* single route product widget */ {
	box-sizing: border-box;
	display: inline-block;
	padding: 10px 15px 8px 15px;
	border-radius: 8px;
	background:var(--dfh-button-bkgd); /* orange */
	color:var(--dfh-text);
	border:0px solid transparent;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
	font-family: var(--font-headlines);
	font-weight: var(--font-weight-regular);
	font-style: var(--font-style-normal);
	text-transform:uppercase;
	font-size: 0.9em;
	line-height: 0.9em;
	transition: color .2s, background .2s;
	}
body.woocommerce-page:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link) /* cart submit button */ {
	min-height:1px;
	}
body.woocommerce-page button.button.alt:hover, /* product button */
body.woocommerce-page a.button:hover, /* shop index product button */
body.woocommerce-page .wc-block-cart__submit-container a:hover, /* cart submit button */
body.dfh_route .woocommerce ul.products li.product a.button:hover /* single route product widget */ {
	background:var(--dfh-bright-bkgd);
	color: var(--dfh-white);
	border:0px solid transparent;
	cursor:pointer;
	}	
/* prices */
body.woocommerce-page ul.products li.product .price,
body.woocommerce-page div.product p.price {
	color: var(--dfh-bright-bkgd);
	}
body.woocommerce-page span.onsale {
	background-color:var(--dfh-bright-bkgd);
	}
/* cart submit dialog */
body.woocommerce-page .woocommerce-message {
	border-top-color: #0274be;
	}
body.woocommerce-page .woocommerce-message::before {
	color: var(--dfh-bright-bkgd);
	}
.woocommerce input.input-text.qty {
	padding: 7px;
	margin: 0 7px 0 0;
	font-size: 0.9em;
	line-height: 1.2em;
	border-radius: 3px;
	border: 1px solid #e8e5d5;
	}
.woocommerce div.product form.cart .variations {
	margin-bottom: 0;
	}
.woocommerce div.product form.cart .variations td, 
.woocommerce div.product form.cart .variations th {
	line-height: 1;
	vertical-align: 10px;
	padding: 5px 0 0 0;
	}
.woocommerce ul.products {
	display:flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-start;
	align-content: stretch;
	}
.woocommerce ul.products li.product, 
.woocommerce-page ul.products li.product {
	box-sizing: border-box;
	float: none;
	margin: 0 20px 20px 0;
	padding: 15px 15px 54px 15px;
	border: 1px solid rgba(0,0,0,0.2);
	background: var(--dfh-white);
		position: relative;
	width: calc(25% - 15px);
	}
.woocommerce ul.products li.product.last, 
.woocommerce-page ul.products li.product.last {
	margin-right:0;
	}

.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
	font-size: 1.2em;
	padding: 10px 0 4px 0; 
	}
.woocommerce ul.products li.product .price {
	font-size: 1.2em;
	}
.woocommerce-shop nav.woocommerce-breadcrumb {
	display:none;
	}
.woocommerce .woocommerce-ordering {
	min-width: 230px;
	}
.woocommerce ul.products li.product .button {
	position: absolute;
	bottom: 16px;
	}
.woocommerce div.flex-viewport {
	margin: 0 0 20px 0;
	}
.woocommerce div.product div.images .flex-control-thumbs li img {
	opacity: .7;
	transform: scale(0.9);
	}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background-color: #ffe6a0;
	}
div.wdpgk_donation_content.wdpgk_form_27355 h2 {
	margin: 0 0 0 0;
	}
div.wdpgk_donation_content.wdpgk_form_27355 p {
	margin: 0 0 0 0;
	}
div.wdpgk_donation_content {
	max-width:100%;
	}
body.woocommerce-order-received div.wdpgk_donation_content {
	display:none;
	}
a div.custom-short-description {
	color:var(--dfh-text);
	margin: -8px 0 12px 0;
	}
/* removed price from affiliate product */
body.woocommerce-page ul.products li.product.post-29733 span.price,
body.woocommerce-page.postid-29733 div.product p.price {
	display:none;
	visibility:none;
	}
body.woocommerce-page ul.products li.product.post-29733 div.custom-short-description {
	margin-top:6px;
	}

/* ------------------------------------------------------------------------------------ */
/* --------------------------------------------------------------------- RESPONSIVE --- */
div#viewport {
	position:fixed;
	z-index:999;
	right:0px;
	bottom:0px;
	display:flex;
	}
div#viewport div {
	background: #CCC;
	color: var(--dfh-white);
	padding: 10px;
	opacity:0.7;
	}
div#viewport div {
	display:none;
	}
div#viewport div#vp_3600 {
	display:block;
	}

/* ----------------------------------------------------------------------------- < 3600 */
@media (max-width: 3600px) { 
div#viewport div { display:none; }
div#viewport div#vp_3200 { display:block; }

}

/* ----------------------------------------------------------------------------- < 1600 */
@media (max-width: 1600px) { 
div#viewport div#vp_3600 { display:none; }
div#viewport div#vp_1600 { display:block; opacity:0.9; }
div.content {
	width:calc(100% - 80px);
	}
}

/* ----------------------------------------------------------------------------- < 1400 */
@media (max-width: 1400px) { 
div#viewport div#vp_1600 { display:none; }
div#viewport div#vp_1400 { display:block; }

/* single route */
div.entry_container {
	width:66.18%;
	}
div.sidebar_container {
	width:30.75%;
	}

}

/* ----------------------------------------------------------------------------- < 1200 */
@media (max-width: 1200px) { 
div#viewport div#vp_1400 { display:none; }
div#viewport div#vp_1200 { display:block; opacity:0.9; }

.thumbnail_container,
.region_container {
	width:calc(33.332% - 20px);
	}
div.type_grid .thumbnail_container,
.pageid-38 div.type_grid .thumbnail_container {
	width:calc(33.332% - 10px);
	}
body.pageid-40 div.type_grid .thumbnail_container { /* explore by collection */
	margin: 0 5px 10px 5px;
	} 

div.max_headline {
  top: 15%;
  }
div.newest_grid div.thumbnail_container:nth-of-type(1n+4) { /* start on #5 */
	display:none;
	}
div.newest_grid.show_all div.thumbnail_container:nth-of-type(1n+1) { /* open all */
	display:block;
	}


}

/* ----------------------------------------------------------------------------- < 1000 */
@media (max-width: 1000px) { 
div#viewport div#vp_1200 { display:none; }
div#viewport div#vp_1000 { display:block; }

div.content {
	width:calc(100% - 60px);
	}

/* single route */
div.entry_container {
	width:100%;
	}
div.sidebar_container {
	width:100%;
	}
div.max_float.standard_page.inset_margin {
	padding: 30px 10px 20px 10px;
	}
div.one_excerpt {
	width: calc(50% - 15px);
	margin: 0 7px 15px 7px;
	padding: 10px 10px 12px 10px;
	}
div.max_headline {
  top: 10%;
  }





div#upper_nav,
div#menu ul li ul.sub-menu li ul.sub-menu {
	display:none;
	}
li#menu-item-1176, /* favorites */
li#menu-item-1177, /* sign in */
li#menu-item-1179, /* search */ 
li#menu-item-27246, /* cart */
li#menu-item-27293 /* donate 2 */ {
	display:block;
	}
li#menu-item-31 {
	display:none;
	}

div#menu ul.menu li.menu-item a[href="#"]:hover {
	background-color: var(--dfh-button-bkgd);
	color:#512f01;
	cursor:pointer;
	}

div#menu ul.menu li#menu-item-293 a::before,
div#menu ul.menu li#menu-item-279 a::before,
div#menu ul.menu li#menu-item-278 a::before,
div#menu ul.menu li#menu-item-27 a::before,
div#menu ul.menu li#menu-item-5388 a::before,
div#menu ul.menu li#menu-item-7203 a::before,
div#menu ul.menu li#menu-item-32967 a::before,
div#menu ul.menu li#menu-item-27214 a::before {
	display: inline-block;
    font-style: var(--font-style-normal);
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0da";
    padding-right: 5px;
	}
div#menu ul.menu li#menu-item-293 a.sub_menu_open::before,
div#menu ul.menu li#menu-item-279 a.sub_menu_open::before,
div#menu ul.menu li#menu-item-278 a.sub_menu_open::before,
div#menu ul.menu li#menu-item-27 a.sub_menu_open::before,
div#menu ul.menu li#menu-item-5388 a.sub_menu_open::before,
div#menu ul.menu li#menu-item-7203 a.sub_menu_open::before,
div#menu ul.menu li#menu-item-32967 a.sub_menu_open::before,
div#menu ul.menu li#menu-item-27214 a.sub_menu_open::before {
    content: "\f0d7";
    padding-right: 3px;
	}
div#menu ul.menu li#menu-item-293 ul.sub-menu a::before,
div#menu ul.menu li#menu-item-279 ul.sub-menu a::before,
div#menu ul.menu li#menu-item-278 ul.sub-menu a::before,
div#menu ul.menu li#menu-item-27 ul.sub-menu a::before,
div#menu ul.menu li#menu-item-5388 ul.sub-menu a::before,
div#menu ul.menu li#menu-item-7203 ul.sub-menu a::before,
div#menu ul.menu li#menu-item-32967 ul.sub-menu a::before,
div#menu ul.menu li#menu-item-27214 ul.sub-menu a::before {
    opacity:0;
	}
a#nav_toggle {
	box-sizing: border-box;
	display:block;
	padding: 15px;
	font-size: 1.5em;
	line-height: 1.0em;
	position: absolute; 
	top:2px;
	right:0px;
	z-index: 19;
	border-radius: 3px;
	width:57.5px;
	text-align: center;
	}
nav#access {
	box-sizing: border-box;
	position:fixed;
	top:0px;
	right:-100vw;
	width: 100vw;
	margin:0px;
	min-height: 1500px;
	z-index: -1;
	background-color:rgba(0,0,0,0.7);
	opacity:0;
	transition: opacity .5s;
	}
nav#access.visible_menu {
	right:0px;
	opacity:1.0;
	z-index: 20;
	height: 100vh;
	}
div#menu {
	position:absolute;
	top:47px;
	right:0px;
	height: 100vh;
	overflow-y: scroll;
	}
div#menu ul#menu-menu-1 {
	padding-bottom: 180px;
	}
div#menu ul li ul.sub-menu {
	top:auto;
	position:relative;
	opacity:1.0;
	max-height: 0px;
	overflow:hidden;
	transition: max-height .5s
	}
div#menu ul li ul.sub-menu.show_menu {
	max-height: 400px;
	}
ul.sub-menu {
	z-index:99;
	}
div#menu ul li {
	float:none;
	}
div#menu ul li.menu-item a {
	border-radius: 0;
	box-sizing: border-box;
	padding: 12px 20px 12px 15px;
	margin:0 0 0 0;
	width:auto;
	min-width: 300px;
	text-transform: none;
	}
div#menu ul.menu li.menu-item ul.sub-menu li.menu-item a {
	padding: 10px 20px 10px 15px;
	}
div#menu ul.menu {
	margin:0;
	}
}

/* ------------------------------------------------------------------------------ < 800 */
@media (max-width: 800px) { 
div#viewport div#vp_1000 { display:none; }
div#viewport div#vp_800 { display:block; opacity:0.9; }

/* single route */
div.route_summary div.route_attribute div.route_attr_icon img {
	width:20px;
	}
div.route_summary div.route_attribute {
	width:calc(50% - 8px);
	}
ul.slick-dots {
	display:none !important;
	}
.slick-dotted.slick-slider {
	margin-bottom: -35px;
	}
div.entry_content.podcast_type {
	display:flex;
	justify-content: space-between;
	}
div.entry_content.podcast_type div {
	width:100%;
	}
.thumbnail_container,
.region_container {
	width:calc(50% - 20px);
	}
div.type_grid .thumbnail_container,
.pageid-38 div.type_grid .thumbnail_container {
	width:calc(50% - 5px);
	}
body.pageid-40 div.type_grid .thumbnail_container { /* explore by collection */
	margin: 0 2.5px 5px 2.5px;
	} 
div.billboard_wallpaper {
	height: 400px;
	}
div.max_headline {
	top: 0%;
	}
a.bio_container {
	width: calc(50% - 10px);
	margin: 0 5px 20px 5px;
	padding: 10px 10px 12px 10px;
	}
div.newest_grid div.thumbnail_container:nth-of-type(1n+3) { /* start on #3 */
	display:none;
	}
div.newest_grid.show_all div.thumbnail_container:nth-of-type(1n+1) { /* open all */
	display:block;
	}
div.entry_content.donation_content {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: column-reverse;
	}
div.entry_content.donation_content div.entry_float_left {
	width:100%;
	}
div.entry_content.donation_content div.entry_float_right {
	width:100%;
	}

.woocommerce ul.products[class*="columns-"] li.product, 
.woocommerce-page ul.products[class*="columns-"] li.product {
	width: calc(50% - 10px);
	float: none;
	clear: both;
	margin: 0 20px 24px 0;
	}
.woocommerce ul.products[class*="columns-"] li.product:nth-child(even), 
.woocommerce-page ul.products[class*="columns-"] li.product:nth-child(even) {
	margin-right:0;
	}


}


/* ------------------------------------------------------------------------------ < 600 */
@media (max-width: 600px) { 
div#viewport div#vp_800 { display:none; }
div#viewport div#vp_600 { display:block; }
div#logo {
	width:260px;
	height:51px;
	top:9px;
	}

div.content {
	width:calc(100% - 20px);
	}
h2.band_title {
	font-size: 1.0em;
	letter-spacing: 0px;
	padding: 20px 0;
	}
button.slick-prev {
	left: 2px;
	}
button.slick-next {
	right: 2px;
	}

div.section_container {
	padding: 0 0 0 0;
	}
div#tab_overview,
div#tab_poi,
div#tab_options,
div#tab_comments,
div.route_tabs:hover {
	text-align: left;
	position:relative;
	left:auto;
	top:0px;
	width:auto;
	display:inline-block;
	margin-top:10px;
	margin-bottom: -1px;
	background-color: var(--dfh-bright-bkgd);
	color: var(--dfh-white);
	padding: 14px 12px 8px 10px;
	}
div.tab_body {
	padding: 10px;
	border-radius: 0 13px 13px 13px;
	display:block;
	}


div.footer_left { 
	width:100%;
	text-align: center;
	}
div.footer_right { 
	width:100%;
	text-align: center;
	}
div.social {
	font-size:2.0em;
	line-height:1;
	margin: 20px 0 20px 0;
	}
div.social a {
	margin: 10px 8px 0 8px;
	}
div.max_float.standard_page.inset_margin {
	padding: 30px 0px 20px 0px;
	}
div.one_excerpt {
	width: 100%;
	margin: 0 0px 15px 0px;
	}
.thumbnail_container,
.region_container {
	width:100%;
	margin: 0 0px 20px 0px;
	}
div#feature_thing {
	width:100%;
	}
div.type_grid .thumbnail_container,
.pageid-38 div.type_grid .thumbnail_container {
	width:100%;
	margin: 0 0px 20px 0px;
	}
div.region_grid .thumbnail_container {
	width:calc(50% - 5px);
	}
div#billboard div.thumbnail_container {
	width:100%;
	position: relative;
	background: rgba(255,255,255,0.95);
	}
div.single_team_member div.entry_content {
	width:100%;
	}
div.single_team_member div.bio_image {
	width:100%;
	margin: 0px 0 15px 0;
	}

div.max_headline {
	position: relative;
	top: auto;
	left: auto;
	transform: translateX(0%);
	}


img.alignright,
img.alignleft,
img.aligncenter,
.alignright,
.alignleft,
.aligncenter,
.alignnone {
	float:none;
	width:100% !important;
	height:auto;
	margin:3px 0 5px 0;
	text-align:center;
	}
.alignright img,
.alignleft img,
.aligncenter img,
.alignnone  img{
	width:100%;
	height:auto;
	}
div.one_spn div.spn_logo,
div.one_spn div.spn_verbose,
div.entry_flex div {
	width:100%;
	}
div.one_spn div.spn_logo img {
	width:70%;
	height:auto;
	margin: 0 auto 15px auto;
	}

div#hm_photo_credit {
	bottom: auto; 
	top:369px;
	}
span.help_icon {
	margin: 0 0 0 8px; 
	}
div.child_2c {
	width:100%;
	}
div#rr_cat_desc {
	display:block;
	}
div#rr_image_container {
	width: 50%;
	margin: 0 auto 20px auto;
	}
div#rr_image_container img {
	width: 100%;
	height:auto;
	}
div#rr_verbose_container {
	width: 100%;
	display: flex;
	align-items: center;
	}

.woocommerce ul.products[class*="columns-"] li.product, 
.woocommerce-page ul.products[class*="columns-"] li.product {
	width: 100%;
		float: none;
		clear: both;
		margin: 0 0 24px 0;
	}

}


/* ------------------------------------------------------------------------------ < 400 */
@media (max-width: 450px) { 
div#viewport div#vp_600 { display:none; }
div#viewport div#vp_400 { display:block; opacity:0.9; }
div#header {
	height: 60px;
	}
div#logo {
	width:220px;
	height:43px;
	top:2px;
	}
a#nav_toggle {
	padding: 9px 11px;
	top:-3px;
	width:45.5px;
	}
div.route_header {
	margin-top: 10px;
	margin-bottom: 10px;
	}
div.route_summary {
	padding: 2px;
	}
div.route_summary div.route_attribute {
	width: 100%;
	padding: 6px;
	}
div.img_poi {
	width: 100%;
	padding: 5px 0 10px 0px;
	}
div.single_poi.has_image div.verbose_poi {
	width: 100%;
	}
div.tab_body a.button {
	margin-right: 0;
	width: 49%;
	text-align: center;
	box-sizing: border-box;
	margin-bottom: 5px;
	}
div.route_alert p {
	line-height: 1.2em;
	}
div#menu {
	top:25px;
	}

/* mobile map adjustments */

div#filter_controller,
div#filter_unit,
body.map_frame div#footer div.content { 
	display:none;
	}
div#full_map {
	height: calc(100vh - 100px);
	}

.d_hidden { 
	display: inline; 
	}
.m_hidden { 
	display: none; 
	}
div#cue_sheet_dialog {
	top:0px;
	right:0px;
	}
div.tab_body a#expand_map.button,
div.tab_body a#expand_rwgps.button {
	width: auto;
	}
div#full_screen_container {
	top: 15px;
	left: 14px;
	}
div.route_attr_text {
	flex-grow:1;
	}


}


/* TA FPO */
div.is_fav  {
	border: 1px solid var(--dfh-bright-bkgd);
	box-shadow: 0px 0px 8px rgba(0,0,0,0.3);
	}
.pulse_icon {
	color:red;
	}




/* ---------------------------------------------------- embedded collection ?=embed --- */

body.embedded_collection {
	/* border: 2px solid red; */
	background-color: var(--dfh-white);
	}
body.embedded_collection div.container.collection_meta,
body.embedded_collection div#header,
body.embedded_collection div#footer,
body.embedded_collection a.toggle_fav {
	display:none;
	}
body.embedded_collection div.container.grid_container {
	padding-top:20px;
	}

div.one_excerpt.past_event {
    opacity: 0.6;
    }
div.one_excerpt.past_event:hover {
	opacity:1.0 !important;
	}
