/* DOM ELEMENTS */

#footer {
	background: #2c3e50;
	clear: both;
	color: #ffffff;
	display: block;
	/*margin: 40px 0 0 0;*/
	margin: 0;
	padding: 0;
	position: relative;
	width: 100%;
	z-index: 0;
}

	#footer a:not(.button), #footer a:not(.button):visited {
		color: #ffffff;
	}

	#footer a:not(.button):hover {
		color: #c0c0c0;
	}

	#footer .footer {
		font-size: 90%;
		line-height: 2em;
		padding: 2em 6rem;
		width: 100%;
	}

	#footer.left > *, #footer .footer.left, #footer .footer.left * { text-align: left !important; }
	#footer.center > *, #footer .footer.center, #footer .footer.center * { text-align: center !important; }
	#footer.right > *, #footer .footer.right, #footer .footer.right * { text-align: right !important; }

		#footer .footer > * {
			display: block;
			margin: 0 0 1.5em 0;
		}

	#footer .footer.columns {
		display: table;
	}

		#footer .footer.columns > * {
			display: table-cell;
			margin: 0;
			vertical-align: top;
		}

		#footer .widget { margin-bottom: 0; }
		
		#footer_sidebar { }

		#footer .footer.columns #footer_sidebar {
			display: table;
			padding-right: 1.5em;
			table-layout: fixed;
			width: auto;
		}
		#footer .footer.columns #footer_sidebar:last-child {
			padding-right: 0;
		}

			#footer_sidebar *:not(.button):not([type=submit]) {
				background: transparent !important;
				color: #ffffff !important;
				font-size: 100% !important;
				text-transform: none;
			}

			#footer_sidebar .widgettitle {
				font-weight: 600;
				padding: 0;
			}

			#footer_sidebar .widget, #footer_sidebar .widget * {
				margin: 0 !important;
			}
			
			#footer .footer.columns #footer_sidebar .widget {
				display: table-cell;
				padding-right: 3em !important;
				vertical-align: top;
			}
			#footer .footer.columns #footer_sidebar .widget:last-child {
				padding-right: 0 !important;
			}
			
			#footer .footer.spread.columns #footer_sidebar .widget:first-child {
				width: 100%;
			}
			#footer .footer.spread.columns #footer_sidebar .widget:not(:first-child) {
				white-space: nowrap;
			}

	#footer nav, #footer .widget_nav_menu {
		margin-bottom: -0.5em !important;
	}

		#footer .footer:not(.columns) nav ul,
		#footer .footer:not(.columns) .widget_nav_menu ul
		{
			margin-bottom: 0 !important;
		}

			#footer .footer:not(.columns) nav ul li,
			#footer .footer:not(.columns) .widget_nav_menu ul li
			{
				display: inline-block;
				margin: 0 1.5em 0.5em 1.5em;
			}

			#footer .footer.left nav ul li,
			#footer .footer.left .widget_nav_menu ul li
			{ margin-left: 0; }
			#footer .footer.right nav ul li,
			#footer .footer.right .widget_nav_menu ul li
			{ margin-right: 0; }
		
		#footer .footer.columns {
			margin: 0 !important;
		}

			#footer .footer.columns nav:not(.social_media_links) ul,
			#footer .footer.columns .widget_nav_menu ul
			{
				margin: 0 0 1em 0;
				padding-right: 1.5em;
			}

				#footer .footer.columns nav:not(.social_media_links) li,
				#footer .footer.columns .widget_nav_menu li
				{
					display: inline-block;
					font-weight: 600;
					margin: 0 1.5em 0.5em 0 !important;
					vertical-align: top;
				}

				#footer .footer.columns nav:not(.social_media_links) a,
				#footer .footer.columns .widget_nav_menu a
				{ white-space: nowrap; }

					#footer .footer.columns nav:not(.social_media_links) li li,
					#footer .footer.columns .widget_nav_menu li li
					{
						display: block;
						font-weight: 300;
						margin: 0.5em 1.5em 0.5em 0 !important;
					}

	#footer #contact, #footer #colophon {
		clear: both;
		display: block;
		font-size: 70%;
		padding: 10px 6rem;
	}

		#footer #contact *, #footer #colophon * { margin: 0; }

	#footer #contact { }
	
	#footer #contact:after { clear: both; content: ''; display: table; }
	
		#footer #contact .locations { margin-bottom: 1rem; }
		#footer:not(.center) #contact .locations { clear: left; float: left; }
		
		#footer #contact #footer_legal { margin-bottom: 1rem; }
		#footer:not(.center) #contact #footer_legal { clear: right; float: right; }

		#footer #contact li {
			border-right: 1px solid rgba(224,224,224,0.5);
			display: inline-block;
			line-height: 1.25em;
			margin: 0 0.5em 0 0;
			padding: 0 0.5em 0 0;
		}
		#footer #contact li:last-child, #footer #contact li.last_child_on_line {
			border-right: none;
			margin-right: 0;
			padding-right: 0;
		}
		
		#footer.center #contact li, #footer.center #contact li.last_child_on_line {
			border: none;
			display: block;
			margin: 0;
		}

		#footer:not(.center) #contact .copyright {
			clear: left;
			float: left;
			font-size: 85%;
			padding-top: 0.15rem; /* Helps align bottom edge of #footer_legal if no .locations */
			text-transform: none;
		}

	#footer #colophon {
		font-size: 60%;
		text-transform: none;
	}


/* CSS3 MEDIA QUERIES */

/* NON-PHONES ONLY (content area 783 or greater) */
@media screen and (min-width: 783px) {

	body.narrow_content_margin #footer .footer { padding-right: 3rem; padding-left: 3rem; }
	body.narrow_content_margin #footer #contact, body.narrow_content_margin #footer #colophon { padding-right: 3rem; padding-left: 3rem; }

}


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

	body:not(.narrow_content_margin) #footer .footer,
	body:not(.narrow_content_margin) #footer #contact,
	body:not(.narrow_content_margin) #footer #colophon
	{ padding-right: 6rem; padding-left: 6rem; }

}


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

}
*/


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

	#footer {
		font-size: 80%;
		line-height: 1.5em;
	}
	
}
@media screen and (max-width: 1024px) and (min-width: 783px) {

	body:not(.narrow_content_margin) #footer .footer,
	body:not(.narrow_content_margin) #footer #contact,
	body:not(.narrow_content_margin) #footer #colophon
	{ padding-right: 4rem; padding-left: 4rem; }

}

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

	#footer { font-size: 100%; }
	
		#footer * { float: none !important; }

		#footer .footer, #footer #contact, #footer #colophon { padding-right: 1.5rem; padding-left: 1.5rem; }

		#footer .footer, #footer .footer.columns {
			display: block;
			padding-top: 0; padding-bottom: 0;
			text-align: left !important;
		}

			#footer .footer > *, #footer .footer.columns > * {
				display: block;
				margin: 0 !important;
				padding-top: 1.5em;
				padding-right: 0;
				text-align: left !important;
				width: 100%;
			}
			
			#footer .footer.columns #footer_sidebar, #footer .footer.columns #footer_sidebar .widget {
				display: block;
				width: 100%;
			}
			
			#footer .widget {
				margin: 0 0 1.5em 0 !important;
			}

		#footer nav, #footer .widget_nav_menu { margin-bottom: 1.5em; }

			#footer nav ul, #footer .widget_nav_menu ul {
				columns: 1 !important;
				padding-right: 0 !important;
			}

			#footer nav:not(.social_media_links) li,
			#footer .widget_nav_menu li
			{
				display: block !important;
				min-width: 0 !important;
				margin-bottom: 0 !important;
			}

			#contact .locations, #contact #footer_legal {
				float: none;
				margin-bottom: 0.5em !important;
			}
			
				#contact #footer_legal li {
					margin-bottom: 0.5rem !important;
				}

		#footer #contact > * {
			clear: both !important;
			display: block !important;
			float: none !important;
			margin: 0 0 1.5em 0 !important;
			text-align: left !important;
			width: 100% !important;
		}
		#footer.center #contact > * {
			text-align: center !important;
		}
		#footer.right #contact > * {
			text-align: right !important;
		}
		
		#footer #contact .locations li {
			border-right: none;
			display: block;
			line-height: 1.5em;
		}
		
		#footer #copyright { width: 100%; }

}


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

}
*/


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

}
*/
