/* MODULAR CONTENT */

#modular_wrapper {
	background: #ffffff;
	clear: both;
	display: flex;
	justify-content: space-between;
	/* Don't put an overflow here or position: sticky won't work! */
	position: relative;
	width: 100%;
}

#modular_with_sidebar {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	width: 62.5%;
}
body.narrow_sidebar #modular_with_sidebar {
	width: 70%;
}

#modular_sidebar {
	display: flex;
	flex-direction: column;
	height: auto;
	overflow: hidden;
	padding: 2.5rem 6rem 2.5rem 3rem;
	width: 37.5%;
}
body.body_margin #modular_sidebar {
	padding-right: 0;
}
.sidebar_left #modular_sidebar {
	padding: 2.5rem 3em 2.5rem 6rem;
}
body.body_margin .sidebar_left #modular_sidebar {
	padding-left: 0;
}
body.narrow_sidebar #modular_sidebar {
	width: 30%;
}

	#modular_sidebar .search {
		display: block;
		margin: 1.5em 0;
		position: relative; top: 0;
		width: auto !important;
		z-index: 3;
	}

		#modular_sidebar .search input[type=text] {
			background: transparent;
			border: 1px solid #c0c0c0;
			border-radius: 2px;
			color: #231f20;
			font-size: 12px;
			font-weight: normal;
			height: 28px;
			line-height: 28px;
			padding: 4px 32px 4px 6px;
			position: relative;
			width: 100%;
			-webkit-appearance: none;
			z-index: 1;
		}
		#modular_sidebar .search input[type=text]:focus {
			border-color: #808080;
		}
		
		#modular_sidebar .search input[type=text]::-ms-clear { display: none; }

		#modular_sidebar .search .svg_wrapper {
			cursor: pointer;
			display: inline-block;
			height: 28px;
			margin: 0 0 0 0.5em;
			overflow: hidden;
			position: absolute; top: 0; right: 0;
			text-indent: 999px;
			vertical-align: middle;
			width: 28px;
			z-index: 2;
		}

			#modular_sidebar .search input[type=submit] {
				display: none;
			}

	#modular_sidebar .widget:last-child { margin-bottom: 0; }

.basic, .widecolumn { /* .widecolumn is a built-in WordPress class on signup/confirmation pages */
	margin: 0;
	padding: 2.5rem 6rem;
	width: 100%;
}
body:not(.body_margin):not(.narrow_content_margin) #modular_wrapper:not(.sidebar_left) #modular_with_sidebar .basic:not(.reversed_color) { padding-right: 0; padding-left: 6rem; }
#modular_wrapper.sidebar_left #modular_with_sidebar .basic:not(.reversed_color) { padding-right: 6rem; padding-left: 0; }
body.body_margin .basic:not(.reversed_color) { padding-right: 0; padding-left: 0; }

.entry-header:not(.hidden) + .basic:not(.reversed_color) { padding-top: 1px !important; } /* Fixes issue with 0 that would sometimes reveal a white line if the background color wasn't white */

.basic.basic_centered_feature {
	padding-right: 25%; padding-left: 25%;
	text-align: center;
}

.results .basic { padding: 0 !important; }

	.basic > *:last-child { margin-bottom: 0 !important; }

header.columns_header {
	padding-top: 2.5rem; padding-bottom: 0 !important;
	position: relative; z-index: 2; /* Prevents descenders getting cut off by next element */
}
	header.columns_header > * { margin-top: 0; margin-bottom: 0; }
	header.columns_header + section.columns { border-top: 0 !important; }

section.columns {
	display: table;
	margin: 0;
	padding: 0 calc(6rem - 2em);
	table-layout: fixed;
	width: 100%;
}
section.columns.full_bleed { padding: 0; }
#modular_wrapper:not(.sidebar_left) #modular_with_sidebar section.columns { padding-right: 0; }
#modular_wrapper.sidebar_left #modular_with_sidebar section.columns { padding-left: 0; }
body.body_margin section.columns:not(.reversed_color) {
	margin-right: -2em; margin-left: -2em;
	padding-right: 0; padding-left: 0;
	width: calc(100% + 4em);
}

	section.columns .column {
		display: table-cell;
		margin: 0;
		padding: 2.5rem 2em;
		position: relative;
		vertical-align: top;
	}
	header.columns_header + section.columns .column, header.columns_header + .column_slideshow_wrapper section.columns .column {
		padding-top: 1.5rem;
	}
	section.columns.middle .column { vertical-align: middle; }
	section.columns.bottom .column { vertical-align: bottom; }

	section.columns-2.wide-left .column_1, section.columns-2.wide-right .column_2 { width: 66.667%; }
	section.columns-2.wide-right .column_1, section.columns-2.wide-left .column_2 { width: 33.333%; }
	section.columns-2.wide-left.frac-3-5 .column_1, section.columns-2.wide-right.frac-3-5 .column_2 { width: 60%; }
	section.columns-2.wide-right.frac-3-5 .column_1, section.columns-2.wide-left.frac-3-5 .column_2 { width: 40%; }
	section.columns-2.wide-left.frac-3-4 .column_1, section.columns-2.wide-right.frac-3-4 .column_2 { width: 75%; }
	section.columns-2.wide-right.frac-3-4 .column_1, section.columns-2.wide-left.frac-3-4 .column_2 { width: 25%; }
	section.columns-2.wide-left.frac-4-7 .column_1, section.columns-2.wide-right.frac-4-7 .column_2 { width: 57.1428571%; }
	section.columns-2.wide-right.frac-4-7 .column_1, section.columns-2.wide-left.frac-4-7 .column_2 { width: 42.8571428%; }

	section.columns-3 .column { width: 33.333%; }
	section.columns-3.wide-left .column, section.columns-3.wide-center .column, section.columns-3.wide-right .column { width: 25%; }
	section.columns-3.wide-left .column_1, section.columns-3.wide-center .column_2, section.columns-3.wide-right .column_3 { width: 50%; }

	section.columns-4 .column { width: 25%; }

	section.columns-5 .column { width: 20%; }

		section.columns .column > *:last-child { margin-bottom: 0 !important; }
	
	section.columns .column.with_background_image {
		height: 400px; /* This instead of min-height because display: table */
	}
	
		section.columns .column.with_background_image > * {
			position: relative;
			z-index: 1;
		}
	
		section.columns .column.with_background_image > .column_background_image {
			background-position: center center;
			background-repeat: no-repeat;
			background-size: cover;
			position: absolute; top: 0; right: 0; bottom: 0; left: 0;
			z-index: 0;
		}

.column_slideshow_wrapper {
	position: relative;
}

	.column_slideshow_arrows {
	
	}

		.column_slideshow_arrows div {
			background-color: transparent;
			background-position: center center;
			background-repeat: no-repeat;
			background-size: 30px 30px;
			display: inline-block;
			height: 50px;
			text-align: right;
			transition: opacity 0.25s ease;
			width: 50px;
		}
	
		.column_slideshow_arrows div.inactive {
			opacity: 0.333;
		}

		.column_slideshow_arrows .prev { background-image: url('../images/ui/previous_alt.svg'); }
		.reversed_color .column_slideshow_arrows .prev { background-image: url('../images/ui/previous.svg'); }

		.column_slideshow_arrows .next { background-image: url('../images/ui/next_alt.svg'); }
		.reversed_color .column_slideshow_arrows .next { background-image: url('../images/ui/next.svg'); }

		.column_slideshow_arrows .next.pulse {
			transform: scale(1.5);
			transition: transform 0.25s ease;
		}

	.column_slideshow_navigation {
		position: absolute; top: auto; right: 4rem; bottom: 0; left: auto;
		text-align: right;
		width: auto;
		z-index: 2;
	}
	#modular_with_sidebar .column_slideshow_navigation { right: 0; }

		.column_slideshow_navigation > ul {
			list-style: none;
			margin: 0; padding: 0 !important;
			position: absolute; top: auto; right: 0; bottom: 0.5em; left: auto;
			text-align: center;
			white-space: nowrap;
			width: auto;
			z-index: 2;
		}

			.column_slideshow_navigation > ul li {
				background: rgba(102,102,102,0.5);
				border: 1px solid #ecf0f1;
				border-radius: 100%;
				cursor: pointer;
				display: inline-block;
				height: 16px;
				opacity: 0.6;
				overflow: hidden;
				margin: 0 0.5em 0 0;
				text-indent: -9999px;
				transition: opacity 0.4s ease;
				width: 16px;
			}
			.column_slideshow_wrapper:hover .column_slideshow_navigation > ul li { opacity: 0.8; }
			.column_slideshow_wrapper:hover .column_slideshow_navigation > ul li:hover { opacity: 1; }

			.column_slideshow_navigation > ul li.current {
				background: #ecf0f1;
				border-color: rgba(102,102,102,0.5);
				cursor: default;
			}

	.column_slideshow_item {
		display: block;
		opacity: 0;
		position: absolute; top: 0; right: 0; bottom: 0; left: 0;
		transition: opacity 0.4s ease;
		z-index: 1;
	}

	.column_slideshow_item.current {
		display: block;
		opacity: 1;
		z-index: 2;
	}

.content {
	position: relative;
	z-index: 1;
}

.content:not(.reversed_color) { background: #ffffff; }

	.content .content { background: transparent !important; }

.cta_buttons {
	padding: 0 6rem;
}
#modular_sidebar .cta_buttons {
	padding: 0 !important;
}
.cta_buttons.reversed_color {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

	#modular_sidebar .basic.content.entry-content { padding: 0 !important; }

	.cta_buttons > ul {
		border-collapse: collapse;
		display: table;
		list-style: none;
		padding: 0 !important;
		table-layout: fixed;
		width: 100%;
	}

	#modular_sidebar .cta_buttons > ul {
		display: block;
	}

		.cta_buttons li {
			border: 0.5em solid transparent;
			display: table-cell;
			font-size: 125%;
		}

		#modular_sidebar .cta_buttons li {
			border: none;
			display: block;
			font-size: 100%;
			margin-bottom: 0.5em;
			width: 100%;
		}

		.button.cta_button {
			display: block;
			margin: 0;
			padding-top: 0.667em;
			padding-bottom: 0.667em;
			text-align: center;
			white-space: normal !important;
		}

		.button.cta_button:hover { }

			.button.cta_button .fa { }

.downloads { }

	.downloads_files {
		list-style: none !important;
		padding-left: 0 !important;
	}
	
	.downloads_files.icons, .downloads_files.buttons {
	    text-align: center;
	}
	
		.downloads_files > li {
			clear: both;
			display: table;
			width: auto;
		}
		.downloads_files.detail > li {
			min-height: 56px;
		}
		.downloads_files.icons > li, .downloads_files.buttons li {
			display: inline-block;
			padding: 20px;
			text-align: center;
			vertical-align: top;
			width: 180px;
		}
		.downloads_files.buttons li {
			width: auto;
		}
		.downloads_files.list > li {
			min-height: 40px;
		}
	
		.downloads_files > li .icon {
			background: transparent url('../images/ui/svg-icons/file-download-solid.svg') center center no-repeat;
			display: table-cell;
			overflow: hidden;
			position: relative;
			text-indent: -9999px;
			vertical-align: middle;
		}
		.downloads_files.detail > li .icon {
			background-size: contain;
			height: auto;
			max-width: 32px;
			min-width: 32px;
			width: 32px;
		}
		.downloads_files.icons > li .icon {
			background-size: contain;
			display: block;
			height: 60px;
			margin-bottom: 0.5em;
			width: 100%;
		}
		.downloads_files.list > li .icon {
			background-size: contain;
			height: auto;
			max-width: 24px;
			min-width: 24px;
			width: 24px;
		}
		
		/* MIME-specific icons */
		.downloads_files > li .icon[data-mime='application/pdf'] {
			background-image: url('../images/ui/svg-icons/file-pdf-solid.svg');
		}
		.downloads_files > li .icon[data-mime='application/msword'],
		.downloads_files > li .icon[data-mime='application/vnd.openxmlformats-officedocument.wordprocessingml.document']
		{
			background-image: url('../images/ui/svg-icons/file-word-solid.svg');
		}		
		.downloads_files > li .icon[data-mime='application/vnd.ms-excel'],
		.downloads_files > li .icon[data-mime='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']
		{
			background-image: url('../images/ui/svg-icons/file-excel-solid.svg');
		}		
		.downloads_files > li .icon[data-mime='application/vnd.ms-powerpoint'],
		.downloads_files > li .icon[data-mime='application/vnd.openxmlformats-officedocument.presentationml.presentation']
		{
			background-image: url('../images/ui/svg-icons/file-powerpoint-solid.svg');
		}		
		
		.downloads_files > li .info {
			display: table-cell;
			font-size: 70%;
			line-height: 1.5em;
			vertical-align: middle;
		}
		.downloads_files.detail > li .info {
			padding-left: 12px;
			width: calc(100% - 32px);
		}
		.downloads_files.icons > li .info {
			display: block;
			text-align: center;
			width: 100%;
		}
		.downloads_files.list > li .info {
			padding-left: 8px;
			width: calc(100% - 24px);
		}

			.downloads_files:not(.detail) > li .filename,
			.downloads_files:not(.detail) > li .filetype,
			.downloads_files:not(.detail) > li .filesize {
				display: none;
			}		

			.downloads_files > li .filelabel {
				font-size: 125%;
				line-height: 1.3em;
			}

			.downloads_files.detail > li .filename {
				display: block;
			}

			.downloads_files.detail > li .filetype, .downloads_files.detail > li .filesize {
				display: inline-block;
				line-height: 1.3em;
				margin-right: 0.5em;
				white-space: nowrap;
			}
	
/* Eliminate excessive spacing between two light background plain text content blocks */
.entry-content:not(.column):not(.reversed_color):not(.cta_buttons) + .entry-content:not(.column):not(.reversed_color):not(.cta_buttons) {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.expandable { display: none; }
/*.expandable.open { display: block; }*/

.expanders_header { padding-top: 2.5rem; padding-bottom: 1em; }
	.expanders_header * { margin-top: 0; margin-bottom: 0 !important; padding-bottom: 0 !important; }
	.expanders_header + .columns { border-top: 0 !important; }

.expanders {
	margin: 0;
	padding: 1.5rem 6rem;
	width: 100%;
}
#modular_wrapper:not(.sidebar_left) #modular_with_sidebar .expanders:not(.reversed_color) { padding-right: 0; }
#modular_wrapper.sidebar_left #modular_with_sidebar .expanders:not(.reversed_color) { padding-left: 0; }
.content .expanders { padding: 0; }
body.body_margin .expanders { padding-right: 0; padding-left: 0; }

	.expand_all, .collapse_all {
		color: #2980b9;
		cursor: pointer;
		display: inline-block;
		margin: 0 0.25em;
		white-space: nowrap;
	}
	.expand_all:hover, .collapse_all:hover { color: #3498db; }

	.expander {
		clear: both;
		display: block;
		margin-bottom: 1em;
	}
	.expander:after { clear: both; content: ''; display: table; } /* Clearfix */
	
		.expander .toggle {
			background: transparent url('../images/ui/toggle_closed.svg') left 0.667em no-repeat;
			background-size: 16px 16px;
			cursor: s-resize;
			padding: 5px 0 0 30px;
			-moz-user-select: none;
			-webkit-user-select: none;
			user-select: none;
		}
		
		.expanders.reversed_color:not(.default_text_color) .expander .toggle,
		body.dark_mode .expanders .expander .toggle
		{ background-image: url('../images/ui/toggle_white_closed.svg'); }

			.expander .toggle * {
				margin: 0;
			}

		.expander.open .toggle {
			background-image: url('../images/ui/toggle_open.svg');
			cursor: n-resize;
		}
		.expanders.reversed_color:not(.default_text_color) .expander.open .toggle,
		body.dark_mode .expanders .expander.open .toggle
		{ background-image: url('../images/ui/toggle_white_open.svg'); }

		.expander .teaser {
			display: block;
			font-size: 90%;
			line-height: 1.5em;
			padding: 0.5rem 0 0 0;
		}

			.expander .teaser > *:last-child { margin: 0; }

		.expander.open .teaser { display: none; }

		.expander .expander_content {
			display: block;
			height: 0px;
			overflow: hidden;
			padding: 0;
		}

		.expander.open .expander_content {
			height: auto;
			padding: 1rem 0 2rem 30px;
		}
		
			.expander.open .expander_content > *:last-child { margin-bottom: 0; }

	#page .basic a, #page .columns a, #page .expanders a { }

.gallery {
	margin: 0 !important;
	overflow: hidden;
	padding: 2.5rem 0;
	position: relative;
	white-space: nowrap;
	width: auto;
}
.gallery:first-child { margin-top: 0; }
.gallery:last-child { margin-bottom: 0; }

	.gallery > header {
		padding: 0 6rem;
		white-space: normal;
	}
	body.body_margin .gallery > header { padding-right: 0; padding-left: 0; }

	.gallery > ul {
		display: inline-block;
		list-style: none !important;
		margin: 0 !important;
		padding: 0 calc(6rem - 1em) 0 6rem !important;
		position: relative;
		vertical-align: top;
		white-space: normal;
		width: 100%;
		z-index: 1;
	}
	#modular_wrapper:not(.sidebar_left) #modular_with_sidebar .gallery > ul { margin-right: -1em !important; padding-right: 0 !important; width: calc(100% + 1em); }
	#modular_wrapper.sidebar_left #modular_with_sidebar .gallery > ul { padding-left: 0 !important; }
	.content .gallery > ul {
		padding: 0 !important;
	}
	body.body_margin .gallery > ul { padding-right: 0; padding-left: 0; }
	
		.gallery > ul > li {
			border: none;
			border-right: 1em solid transparent;
			border-bottom: 1em solid transparent;
			display: inline-block;
			height: auto;
			margin: 0 !important;
			overflow: hidden;
			padding: 0 !important;
			position: relative;
			text-align: center;
			vertical-align: top;
		}
		.gallery.extra_padding > ul > li {
			padding: 1.5rem !important;
		}
		
		.gallery.grid_1x1 > ul > li, .gallery.grid_1x2 > ul > li, .gallery.grid_1xn > ul > li { width: 100%; }
		.gallery.grid_2x1 > ul > li, .gallery.grid_2x2 > ul > li, .gallery.grid_2xn > ul > li { width: 50%; }
		.gallery.grid_3x1 > ul > li, .gallery.grid_3x2 > ul > li, .gallery.grid_3xn > ul > li { width: 33.333%; }
		.gallery.grid_4x1 > ul > li, .gallery.grid_4x2 > ul > li, .gallery.grid_4xn > ul > li { width: 25%; }
		.gallery.grid_5x1 > ul > li, .gallery.grid_5x2 > ul > li, .gallery.grid_5xn > ul > li { width: 20%; }
		/* Additional grid sizes not supported by module but may be used elsewhere */
		.gallery.grid_3x3, .gallery.grid_3x4 > ul > li { width: 33.333%; }
		.gallery.grid_4x3, .gallery.grid_4x4 > ul > li { width: 25%; }
		
		
			.gallery > ul > li > * {
				display: block;
				margin: 0 auto !important;
				padding: 0 !important;
				text-align: center;
			}
	
	.gallery .wp-caption {
		font-size: 80%;
		line-height: 1.5em;
		margin: 0.5em 0 !important;
		min-height: 3em;
	}

	.gallery_navigation {
		height: 50px;
		padding: 0;
		position: relative; top: -0.5em;
		width: auto;
		z-index: 2;
	}
	
	.gallery.nav_arrows .gallery_navigation { }
	.gallery.nav_circles .gallery_navigation { }
	
	.gallery.nav_left .gallery_navigation { text-align: left; margin-left: 6rem; }
	.gallery.nav_center .gallery_navigation,
	.gallery:not(.no_links).nav_sides .gallery_navigation
	{ text-align: center; }
	.gallery.nav_right .gallery_navigation { text-align: right; margin-right: 6rem; }
	.gallery.no_links.nav_sides .gallery_navigation {
		height: 100%;
		position: absolute; top: 0; right: 0; bottom: 0; left: 0;
	}
	.gallery.no_links.no_top_padding.nav_sides .gallery_navigation {
		height: calc(100% - 3rem);
	}
	
	.gallery_navigation > div {
		background-color: transparent;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: 30px 30px;
		display: inline-block;
		height: 50px;
		transition: opacity 0.25s ease;
		width: 50px;
	}

	.gallery.no_links.nav_sides .gallery_navigation > div {
		position: absolute; top: 50%; bottom: auto;
		transform: translateY(-50%);
	}
	
	.gallery_navigation > div.inactive {
		opacity: 0.333;
	}
	
	.gallery_navigation > div.prev { background-image: url('../images/ui/previous_alt.svg'); }
	.reversed_color:not(.default_text_color) .gallery_navigation > div.prev { background-image: url('../images/ui/previous.svg'); }

	.gallery_navigation .next { background-image: url('../images/ui/next_alt.svg'); }
	.reversed_color:not(.default_text_color) .gallery_navigation > div.next { background-image: url('../images/ui/next.svg'); }

	.gallery.no_links.nav_sides .gallery_navigation > div.prev {
		left: 1.5rem;
	}
	
	.gallery.no_links.nav_sides .gallery_navigation > div.next {
		right: 1.5rem;
	}
	
	.gallery_navigation > .gallery_select {
		list-style: none;
		margin: 0; padding: 0 !important;
		position: absolute; top: auto; right: auto; bottom: 0.5em; left: auto;
		text-align: center;
		white-space: nowrap;
		width: 100%;
		z-index: 2;
	}

		.gallery_navigation > .gallery_select li {
			background: transparent;
			border: 1px solid #999999;
			border-radius: 100%;
			cursor: pointer;
			display: inline-block;
			height: 16px;
			opacity: 0.6;
			overflow: hidden;
			margin: 0 0.5em 0 0;
			transition: opacity 0.4s ease;
			width: 16px;
		}
		.gallery:hover .gallery_navigation > .gallery_select li { opacity: 0.8; }
		.gallery:hover .gallery_navigation > .gallery_select li:hover { opacity: 1; }

		.gallery_navigation > .gallery_select li.current {
			background: #bbbbbb;
			cursor: default;
		}
		
			.gallery_navigation > .gallery_select li .number { display: none; }

.hero {
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: relative;
	width: 100%;
	z-index: 1;
}

	.hero * {
		/*-moz-user-select: none;
		-webkit-user-select: none;
		user-select: none;*/
	}

	.slides {
		background: #808080;
		height: auto;
		list-style: none;
		margin: 0 !important;
		padding: 0 !important;
		position: relative;
		width: 100%;
		z-index: 1;
	}
	.hero.full-screen .slides {
		position: absolute; top: 0; right: 0; bottom: auto; left: 0;
	}

		.slides > li {
			display: block;
			height: auto;
			margin: 0;
			overflow: hidden;
			padding: 0;
			position: absolute; top: 0; right: 0; bottom: 0; left: 0;
			z-index: 1;
		}
		.hero.full-screen .slides > li {
			background-position: center center;
			background-repeat: no-repeat;
			background-size: cover;
		}

		.slides > li.current {
			position: relative;
			z-index: 2;
		}
		.hero.full-screen .slides > li.current { position: absolute; }

		/* Note: Opacity transition has to be on img not li due to issue in Chrome */
		.slides > li > * {
			opacity: 0;
			transition: opacity 0.4s ease;
		}
		.slides > li.current > * { opacity: 1; }
		
		.slides > li img {
			display: block;
			height: auto;
			position: relative;
			transform: scale(1);
			transition: opacity 0.4s ease;
			width: 100% !important;
			z-index: 1;
		}
		
		.hero[data-hero-transition-effect='swipe'] .slides > li {
			right: -100%; left: 100%;
			transition: left 1s ease, right 1s ease;
			z-index: 2;
		}
		
		.hero[data-hero-transition-effect='swipe'] .slides > li.prev_all {
			right: 100%; left: -100%;
		}
		
		.hero[data-hero-transition-effect='swipe'] .slides > li.current {
			right: 0; left: 0;
		}
		
		.hero[data-hero-transition-effect='swipe'] .slides > li.next_all {
			right: -100%; left: 100%;
		}
		
		.hero[data-hero-transition-effect='swipe'] .slides > li img, .hero[data-hero-transition-effect='swipe'] .slides > li > * {
			opacity: 1 !important;
		}
		
		.hero[data-hero-transition-effect='zoom'] .slides > li.current img {
			transform: scale(1.1);
			transition: transform 10s ease-out;
		}
		
		.hero.full-screen .slides .background {
			background-position: center center;
			background-repeat: no-repeat;
			background-size: cover;
			position: absolute; top: 0; right: 0; bottom: 0; left: 0;
			z-index: 1;
		}
		.hero.full-screen.left.top .slides .background { background-position: left top; }
		.hero.full-screen.center.top .slides .background { background-position: center top; }
		.hero.full-screen.right.top .slides .background { background-position: right top; }
		.hero.full-screen.left.middle .slides .background { background-position: left center; }
		.hero.full-screen.center.middle .slides .background { background-position: center center; }
		.hero.full-screen.right.middle .slides .background { background-position: right center; }
		.hero.full-screen.left.bottom .slides .background { background-position: left bottom; }
		.hero.full-screen.center.bottom .slides .background { background-position: center bottom; }
		.hero.full-screen.right.bottom .slides .background { background-position: right bottom; }

		.slides .blocklink {
			color: inherit;
			display: block;
			overflow: hidden;
			position: absolute; top: 0; right: 0; bottom: 0; left: 0;
			text-indent: -9999px;
			z-index: 7;
		}

		.slides .caption {
			display: inline-block;
			font-size: 120%;
			margin: 0;
			max-width: 85%;
			padding: 1.5rem 2rem;
			position: absolute; top: auto; right: auto; bottom: auto; left: auto;
			width: 100%;
			z-index: 6;
		}
		.animated_captions .slides .caption {
			opacity: 0;
			transition: all 1.5s ease 1.5s;
		}
		.animated_captions.single_caption .slides > li:not(:first-of-type) .caption {
			transition: none;
		}
		.animated_captions .slides .caption.full-width {
			margin: 0;
			transform: scale(0.9);
		}
		.animated_captions .slides .caption.left {
			margin: 0 0 0 -2em;
		}
		.animated_captions .slides .caption.center {
			left: 50%;
			margin: 0 0 0 -2em;
			transform: translateX(-50%);
		}
		.animated_captions .slides .caption.right {
			margin: 0 -2em 0 0;
		}
		.animated_captions .slides .current .caption {
			margin: 0;
			opacity: 1;
			transform: scale(1);
		}

		.slides .caption.left {
			max-width: 50%;
			left: calc(6rem - 2em);
		}
		.slides .caption.center {
			max-width: 60%;
			left: 50%;
			transform: translateX(-50%);
		}
		.slides .caption.right {
			max-width: 50%;
			min-width: 40%;
			right: calc(6rem - 2em);
		}
		.slides .caption.full-width {
			padding-right: 6rem; padding-left: 6rem;
			max-width: 100%;
			width: 100%;
		}

		.slides .caption.top { top: 3em; }
		.slides .caption.full-width.top { top: 0; }
		.slides .caption.middle { top: 50%; transform: translateY(-50%) !important; }
		.slides .caption.middle.center { transform: translate(-50%, -50%) !important; }
		body.transparent_header .hero:first-of-type .slides .caption.middle { transform: translateY(-35%); }
		body.transparent_header .hero:first-of-type .slides .caption.middle.center { transform: translate(-50%, -35%); }
		
		.slides .caption.bottom { bottom: 3em; }
		.slides.single .caption.bottom { bottom: 1.5em; }
		.slides .caption.full-width.bottom { bottom: 0; padding-bottom: 3em; }

			.slides .caption *:not(.button) { }
			.slides .caption > *:last-child { margin-bottom: 0 !important; }

		.slides .hero-overlay {
			background-color: rgba(0,0,0,0.05);
			box-shadow: inset 0 0 100px rgba(0,0,0,0.05);
			mix-blend-mode: darken;
			position: absolute; top: 0; right: 0; bottom: 0; left: 0;
			z-index: 2;
		}
		.slides .hero-overlay.highlights {
			mix-blend-mode: multiply;
			opacity: 0.6;
			z-index: 4;
		}
		.slides .hero-overlay.shadows {
			mix-blend-mode: screen;
			opacity: 1;
			z-index: 3;
		}

	.slide_select {
		list-style: none;
		margin: 0; padding: 0 !important;
		position: absolute; top: auto; right: auto; bottom: 0.5em; left: auto;
		text-align: center;
		white-space: nowrap;
		width: 100%;
		z-index: 2;
	}

		.slide_select li {
			background: transparent;
			border: 1px solid #ffffff;
			border-radius: 100%;
			cursor: pointer;
			display: inline-block;
			height: 16px;
			opacity: 0.6;
			overflow: hidden;
			margin: 0 0.5em 0 0;
			transition: opacity 0.4s ease;
			width: 16px;
		}
		.hero:hover .slide_select li { opacity: 0.8; }
		.hero:hover .slide_select li:hover { opacity: 1; }

		.slide_select li.current {
			background: #ffffff;
			cursor: default;
		}
		
			.slide_select li .number { display: none; }

	.slide_navigation {
		background-size: contain;
		cursor: pointer;
		height: 60px;
		opacity: 0.6;
		overflow: hidden;
		position: absolute; top: 50%; bottom: auto;
		text-indent: -9999px;
		transition: opacity 0.4s ease;
		transform: translateY(-50%);
		width: 60px;
		z-index: 3;
	}
	.hero:hover .slide_navigation { opacity: 0.8; }
	.hero:hover .slide_navigation:hover { opacity: 1; }

	.slide_navigation.prev {
		background: transparent url('../images/ui/previous.svg') center center no-repeat;
		right: auto; left: 0;
	}

	.slide_navigation.next {
		background: transparent url('../images/ui/next.svg') center center no-repeat;
		right: 0; left: auto;
	}

	.hero video, .hero iframe {
		height: auto;
		position: relative;
		width: 100%;
	}
	
	.hero.full-screen video, .hero.full-screen iframe {
		height: auto;
		max-height: none;
		max-width: none;
		min-height: 100%;
		min-width: 100%;
		width: auto;
	}

.iframe_wrapper {
	width: 100%;
	min-height: 200px;
	border: none;
	margin: 0;
}

.iframe_wrapper.full {
	padding: 0;
}

.iframe_wrapper.margins {
	padding: 2.5rem 6rem;
}

.module_spacer {
	background: transparent;
	clear: both;
	display: block;
	height: 40px;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: relative;
	width: 100%;
}

.no_top_padding, .no_top_padding > * { padding-top: 0 !important; }
.no_bottom_padding { padding-bottom: 0 !important; }

.parallax_image {
	background: transparent center center no-repeat fixed;
	background-size: cover;
	height: 400px;
	position: relative;
}
.parallax_image.left { background-position: left center; }
.parallax_image.right { background-position: right center; }

/* Workaround for issues with fixed backgrounds on iOS */
body.touch .parallax_image { background-attachment: scroll; }
body.touch .parallax_image.has-parallax {
	background-image: none !important;
	height: auto !important;
}
body.touch .parallax_image.has-parallax img { display: block !important; }


	.parallax_image .parallax_overlay {
		background: rgba(25,25,25,0.5);
		position: absolute; top: 0; right: 0; bottom: 0; left: 0;
	}

.restaurant_menu_section {
	margin: 0;
	padding: 2.5rem 6rem;
	width: 100%;
}
body.body_margin .restaurant_menu_section { padding-right: 0; padding-left: 0; }

/* Assume Restaurant Menu Section with no items is used as a standalone header for the next block */
.restaurant_menu_section.no-items { padding-bottom: 0; }

	.restaurant_menu_section_header {
		text-align: center;
	}
	
	.restaurant_menu_section_intro_text {
		text-align: center;
	}

	.restaurant_menu_section_subhead, .restaurant_menu_section_item.centered_feature {
		display: block;
		float: none;
		overflow: hidden !important;
		padding: 0;
		position: relative;
		text-align: center;
		vertical-align: top;
		word-wrap: break-word;
	}
	
	.restaurant_menu_section_subhead {
		margin: 0 0 40px 0;
		width: 100%;
	}
	
	.restaurant_menu_section_item.centered_feature {
		width: 33.333%;
		margin: 0 auto;
	}

	ul.restaurant_menu_section_items {
		margin: 0 -40px 1.5rem 0;
		padding: 0;
		width: calc(100% + 40px);
	}
	ul.restaurant_menu_section_items:after { clear: both; content: ''; display: table; }
	
		ul.restaurant_menu_section_items > li.restaurant_menu_section_item {
			display: block;
			float: left;
			margin: 0 40px 1.5rem 0;
			overflow: hidden !important;
			padding: 0;
			position: relative;
			vertical-align: top;
			width: calc(33.333% - 40px);
			word-wrap: break-word;
		}

		.restaurant_menu_section.columns-2 ul.restaurant_menu_section_items > li.restaurant_menu_section_item { width: calc(50% - 40px); }
		.restaurant_menu_section.columns-3 ul.restaurant_menu_section_items > li.restaurant_menu_section_item { width: calc(33.333% - 40px); }
		.restaurant_menu_section.columns-4 ul.restaurant_menu_section_items > li.restaurant_menu_section_item { width: calc(25% - 40px); }

		.restaurant_menu_section.columns-2 ul.restaurant_menu_section_items > li.restaurant_menu_section_item:nth-of-type(2n+1),
		.restaurant_menu_section.columns-3 ul.restaurant_menu_section_items > li.restaurant_menu_section_item:nth-of-type(3n+1),
		.restaurant_menu_section.columns-4 ul.restaurant_menu_section_items > li.restaurant_menu_section_item:nth-of-type(4n+1)
		{ clear: both; }
		
			.restaurant_menu_section_item_header {
				display: table;
				margin-bottom: 0.25em;
				width: 100%;
			}
			.restaurant_menu_section_item_header:after { clear: both; content: ''; display: table; }
		
				.restaurant_menu_section_item:not(.centered_feature) .restaurant_menu_section_item_name {
					display: table-cell;
				}
			
				/* @todo Create generic icons for these items
				.icon-best-seller, .restaurant_menu_section li[data-restaurant-menu-item-properties="Best Seller"] h4 .restaurant_menu_section_item_name:after {
					background: transparent url('../img/.svg') left center no-repeat;
					background-size: contain;
					content: '';
					display: inline-block;
					height: 20px;
					margin: 0 0.25em;
					vertical-align: middle;
					width: 20px;
				}
				.icon-gluten-free, .restaurant_menu_section li[data-restaurant-menu-item-properties="Gluten Free"] h4 .restaurant_menu_section_item_name:after {
					background: transparent url('../img/.svg') left center no-repeat;
					background-size: contain;
					content: '';
					display: inline-block;
					height: 20px;
					margin: 0 0.25em;
					vertical-align: middle;
					width: 20px;
				}
				.icon-gluten-free, .restaurant_menu_section li[data-restaurant-menu-item-properties="Vegetarian"] h4 .restaurant_menu_section_item_name:after {
					background: transparent url('../img/.svg') left center no-repeat;
					background-size: contain;
					content: '';
					display: inline-block;
					height: 20px;
					margin: 0 0.25em;
					vertical-align: middle;
					width: 20px;
				}
				.restaurant_menu_section li[data-restaurant-menu-item-properties="Gluten Free Best Seller"] h4 .restaurant_menu_section_item_name:after {
					background-color: transparent;
					background: url('../img/.svg') left center no-repeat, url('../img/.svg') right center no-repeat;
					background-size: contain;
					content: '';
					display: inline-block;
					height: 20px;
					margin: 0 0.25em;
					vertical-align: middle;
					width: 44px;
				}
				.restaurant_menu_section li[data-restaurant-menu-item-properties="Gluten Free Vegetarian"] h4 .restaurant_menu_section_item_name:after {
					background-color: transparent;
					background: url('../img/.svg') left center no-repeat, url('../img/.svg') right center no-repeat;
					background-size: contain;
					content: '';
					display: inline-block;
					height: 20px;
					margin: 0 0.25em;
					vertical-align: middle;
					width: 44px;
				}
				.restaurant_menu_section li[data-restaurant-menu-item-properties="Vegetarian Best Seller"] h4 .restaurant_menu_section_item_name:after {
					background-color: transparent;
					background: url('../img/.svg') left center no-repeat, url('../img/.svg') right center no-repeat;
					background-size: contain;
					content: '';
					display: inline-block;
					height: 20px;
					margin: 0 0.25em;
					vertical-align: middle;
					width: 44px;
				}
				.restaurant_menu_section li[data-restaurant-menu-item-properties="Gluten Free Vegetarian Best Seller"] h4 .restaurant_menu_section_item_name:after {
					background-color: transparent;
					background: url('../img/.svg') left center no-repeat, url('../img/.svg') right center no-repeat;
					background-size: contain;
					content: '';
					display: inline-block;
					height: 20px;
					margin: 0 0.25em;
					vertical-align: middle;
					width: 44px;
				}
				*/

				.restaurant_menu_section_item_price {
					display: table-cell;
					font-size: 80%;
					padding-left: 1em;
					text-align: right;
					white-space: nowrap;
				}
				
				.centered_feature .restaurant_menu_section_item_price {
					float: none;
				}
			
			.restaurant_menu_section_item_description, .restaurant_menu_section_subhead_description {
				clear: both;
				font-size: 85%;
				line-height: 1.5em;
				margin-bottom: 0;
			}
		
	.restaurant_menu_section_footer {
		font-size: 85%;
		line-height: 1.5em;
		text-align: center;
	}

.reversed_color {
	background: #2c3e50;
	border: none !important;
}

	.reversed_color:not(.default_text_color) * { color: #ffffff !important; }
	.reversed_color + * { border-top: none !important; }

	.reversed_color:not(.default_text_color) a:not(.button):not(.blocklink) {
		border-bottom: 2px solid rgba(255,255,255,0.25);
		font-weight: bold !important;
	}
	.reversed_color:not(.default_text_color) a:not(.button):not(.blocklink):hover {
		border-bottom: 2px solid #ffffff;
		text-decoration: none;
	}

.tab_group { }

	.tab_group .tabs {
		border-bottom: 1px solid #777777;
	}
	
		.tab_group .tabs ul {
			display: table;
			list-style: none;
			margin: 0;
			padding: 0 5px;
		}
		
			.tab_group .tabs li {
				display: table-cell;
				margin: 0;
				padding: 0 2px;
				white-space: nowrap;
			}
			
			.tab_group .tabs a {
				background: #eeeeee;
				border: none;
				border-bottom: none;
				border-top-left-radius: 0.75rem;
				border-top-right-radius: 0.75rem;
				display: inline-block;
				padding: 0.25rem 1rem;
			}
			
			.tab_group .tabs a.current {
				background: #777777;
				color: #ffffff !important;
			}
			
			.tab_group .tabs a:hover {
				text-decoration: none !important;
			}

.tiles {
	/*background: rgba(255,255,255,0.75);*/
	padding: 40px 0 0 0;
	position: relative;
	z-index: 1;
}
.tiles.tiles_full_bleed { padding: 0 !important; }
#modular_with_sidebar .tiles > ul { font-size: 90%; }

	.tiles > header { margin: -20px 6rem 20px 6rem; }
	body.body_margin .tiles > header { margin-right: 0; margin-left: 0; }
	#modular_wrapper.sidebar_left .tiles > header { margin-left: 0; }

	.tiles > ul {
		margin: 0;
		padding: 0 0 0 6rem;
		width: calc((100% - 6rem) + 40px);
	}
	
	.tiles.center_last_row > ul {
		text-align: center;
	}
	
		.tiles.center_last_row > ul > li {
			text-align: initial;
		}
	
	.tiles.tiles_full_bleed > ul {
		padding: 0 !important;
		width: 100% !important;
	}
	#modular_with_sidebar .tiles > ul { width: calc(100% + 40px); }
	#modular_wrapper:not(.sidebar_left) #modular_with_sidebar .tiles > ul { padding-right: 0; padding-left: 6rem; }
	#modular_wrapper.sidebar_left #modular_with_sidebar .tiles > ul { padding-right: 6rem; padding-left: 0; }
	body.body_margin .tiles > ul {
		padding-left: 0;
		width: calc(100% + 40px);
	}
	
	/* Tiles and tile-type layouts nested inside other content blocks */
	.content .tiles, .content .tiles > ul { padding: 0 !important; }

	.tiles > ul:after { clear: both; content: ''; display: table; }

		.tiles.overlay > ul > .tile:not(.basic_content_block) * { color: #ffffff !important; }

		.tiles .tile {
			display: block;
			float: left;
			height: auto;
			min-height: auto;
			margin: 0 40px 40px 0;
			overflow: hidden !important;
			padding: 0;
			position: relative;
			vertical-align: top;
			width: calc(33.333% - 40px);
			word-wrap: break-word;
		}
		.tiles.center_last_row .tile {
			display: inline-block;
			float: none;
		}
		.tiles.tiles_full_bleed .tile {
			margin: 0;
			width: 33.333%;
		}
		.tiles.tiles_per_row_1 .tile { width: calc(100% - 40px); }
		.tiles.tiles_full_bleed.tiles_per_row_1 .tile { width: 100%; }
		.tiles.tiles_per_row_2 .tile { width: calc(50% - 40px); }
		.tiles.tiles_full_bleed.tiles_per_row_2 .tile { width: 50%; }
		.tiles.tiles_per_row_4 .tile { width: calc(25% - 40px); }
		.tiles.tiles_full_bleed.tiles_per_row_4 .tile { width: 25%; }
		.tiles.tiles_per_row_flex .tile { width: calc(20% - 40px); }
		.tiles.tiles_full_bleed.tiles_per_row_flex .tile { width: 20%; }
		
		/* Shouldn't need this...?
		.tiles.tiles_per_row_1 .tile,
		.tiles.tiles_per_row_2 .tile:nth-of-type(2n-1),
		.tiles.tiles_per_row_3 .tile:nth-of-type(3n-2),
		.tiles.tiles_per_row_4 .tile:nth-of-type(4n-3)
		{ clear: both; } */
	
		/* .tile_content element is only inserted if max width option is set in Tiles block's settings */
		.tiles .tile .tile_content {
			margin: 0 auto;
			max-width: 100%;
			position: relative;
		}
		
		.tiles .tile.basic_content_block.tile_basic_content_auto_scroll { overflow-y: auto !important; }
		.tiles:not(.center_last_row) .tile.basic_content_block:not(.tile_basic_content_auto_scroll) { display: table; }
		.tiles .tile.basic_content_block.reversed_color { padding: 1.5rem; }
			.tiles .tile.basic_content_block.middle:not(.tile_basic_content_auto_scroll) > div,
			.tiles .tile.basic_content_block.bottom:not(.tile_basic_content_auto_scroll) > div { display: table-cell; }
			.tiles .tile.basic_content_block.left > div { text-align: left; }
			.tiles .tile.basic_content_block.center > div { text-align: center; }
			.tiles .tile.basic_content_block.right > div { text-align: right; }
			.tiles .tile.basic_content_block.top > div { vertical-align: top; }
			.tiles .tile.basic_content_block.middle > div { vertical-align: middle; }
			.tiles .tile.basic_content_block.bottom > div { vertical-align: bottom; }
			
			.tiles .tile.basic_content_block ul {
				list-style: disc;
				padding-left: 2em;
			}
		
			.tiles .tile.basic_content_block ol {
				list-style: decimal;
				padding-left: 2em;
			}
		
		.tiles.overlay .tile {
			background-color: transparent;
		}

			.tiles .tile > a {
				color: inherit !important;
				display: block !important;
				overflow: hidden !important;
				position: absolute !important;
				top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
				text-indent: -9999px !important;
				z-index: 2 !important;
			}

			.tiles .tile > a:hover {
				border: none !important;
			}

			.tiles .tile .image {
				display: block;
				height: auto;
				overflow: hidden;
				position: relative; /*top: 50%; left: 50%;
				transform: translate(-50%, -50%);*/
				width: 100%;
				z-index: 1;
			}

				.tiles .tile .image img {
					display: block;
					height: auto;
					position: relative; top: 0; left: 0;
					transition: all 0.4s ease;
					width: 100%;
				}
				
				body:not(.touch) .tiles.zoomable .tile:hover .image img {
					max-width: 104%;
					top: -2%; left: -2%;
					width: 104%;
				}

			.tiles.overlay .tile .text {
				background: rgba(25,25,25,0.333);
				background-blend-mode: multiply;
				color: #ffffff !important;
				height: auto;
				padding: 0.5rem 1.5rem !important;
				position: absolute; top: auto; right: 0; bottom: 0; left: 0;
				z-index: 2;
			}
			body:not(.touch) .tiles.overlay:not(.static) .tile:hover .text {
				background: rgba(25,25,25,0.667);
				padding: 2rem 1.5rem !important;
			}
			.tiles.overlay.static:not(.no_excerpt) .text, .tiles.overlay:not(.static) .tile:not(.no_excerpt):hover .text {
				height: 100%;
			}
			
			.tiles.overlay .tile .text.no-title { opacity: 0; }
			.tiles.overlay .tile:hover .text.no-title, .tiles.overlay .tile:focus .text.no-title { opacity: 1; }
			
			/* Transition removed from tiles with excerpts because CSS can't support animating "auto" */
			.tiles.overlay .tile.no_excerpt .text {
				transition: all 0.4s ease;
			}
			.tiles.overlay:not(.static) .tile.no_excerpt:hover .text {
				padding: 0.5rem 1.5rem 1.5rem 1.5rem !important;
			}

			.tiles.overlay .tile .title {
				display: inline-block;
				font-size: 90%;
				font-weight: normal;
				line-height: 1.375em;
				margin: 0 0 0.5em 0;
				padding: 0;
			}
			
				.tile .title a:not(.button):not(.blocklink) {
					border: none !important;
					color: inherit !important;
					font-weight: normal !important;
				}

			.tiles.overlay .tile .description {
				display: none;
				font-size: 75%;
				line-height: 1.375em;
				margin: 0;
			}
			body:not(.touch) .tiles.overlay .tile:hover .description, .tiles.overlay.static .tile .description {
				display: block;
			}

				.tiles.overlay .tile .description * { margin: 0 !important; }

				.tiles .tile .description .entry-meta {
					margin: 0.5em 0 !important;
					position: relative;
					z-index: 3;
				}
				.tiles .tile .description .entry-meta:first-child {
					margin-top: -0.75em !important;
				}

		.tiles.stacked .tile {
			background-color: transparent;
		}

		.tiles.stacked .icon {
			height: 10px;
			margin: -7px 0 24px 0 !important;
			overflow: visible;
			position: relative;
			text-align: center;
			z-index: 2;
		}

			.tiles.stacked .icon .fa {
				border-radius: 100%;
				color: #ffffff !important;
				height: 64px;
				font-size: 32px;
				line-height: 64px;
				margin-left: -32px;
				position: absolute; top: -27px; right: auto; bottom: auto; left: 50%;
				text-align: center;
				width: 64px;
			}

			.tiles.stacked .icon .fa:before {
				color: #ffffff !important;
				margin-left: 1px;
			}

		.tiles.stacked .text {
			padding: 1rem 0;
			position: relative;
			z-index: 1;
		}
		.tiles.stacked .tile.reversed_color .text, .tiles.text .tile.reversed_color .text {
			padding: 1rem;
		}
		
		.tiles.stacked .icon + .text { text-align: center; }

			.tiles.stacked .text .title, .tiles.text .text .title {
				margin: 0;
			}

			.tiles.stacked .text .description, .tiles.text .text .description {
				margin: 0.5em 0 0 0;
			}

			.tiles.stacked .text .more, .tiles.text .text .more {
				margin: 1.5em 0 0 0;
			}
			
			.tiles.text .text .description > *:last-child { margin-bottom: 0; }

.tile.standalone {
	position: relative;
}

/* Special accommodations */

/* Force modules with fixed background images to have scrolling background images to work around iOS scaling bug */
body.touch article[style*='background-attachment'], body.touch section[style*='background-attachment'] {
	background-attachment: scroll !important;
}


/* CSS3 MEDIA QUERIES */

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

	body.narrow_content_margin #modular_sidebar { padding-right: 3rem; }
	body.narrow_content_margin .sidebar_left #modular_sidebar { padding-left: 3rem; }
	body.narrow_content_margin .basic, body.narrow_content_margin .widecolumn { padding-right: 3rem; padding-left: 3rem; }
	body.narrow_content_margin section.columns:not(.full_bleed) { padding-right: calc(3rem - 2em); padding-left: calc(3rem - 2em); }
	body.narrow_content_margin .expanders { padding-right: 3rem; padding-left: 3rem; }
	body.narrow_content_margin .gallery > header { padding-right: 3rem; padding-left: 3rem; }
	body.narrow_content_margin .gallery > ul { padding-right: calc(3rem - 1em) !important; padding-left: 3rem !important; }
	body.narrow_content_margin .restaurant_menu_section { padding-right: 3rem; padding-left: 3rem; }
	body.narrow_content_margin .tiles > header { margin-right: 3rem; margin-left: 3rem; }
	body.narrow_content_margin .tiles > ul { padding-left: 3rem; width: calc((100% - 3rem) + 40px); }

}


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

	#modular_with_sidebar { width: 70%; }
	body.narrow_sidebar #modular_with_sidebar { width: 75%; }

	#modular_sidebar {
		padding-left: 4.5rem;
		width: 30%;
	}
	body.body_margin #modular_wrapper.sidebar_left #modular_sidebar { padding-left: 0; }
	body.body_margin #modular_wrapper:not(.sidebar_left) #modular_sidebar { padding-right: 0; }
	body.narrow_sidebar #modular_sidebar { width: 25%; }

	body:not(.page-template-modular-with-sidebar):not(.narrow_content_margin) .basic,
	body:not(.page-template-modular-with-sidebar):not(.narrow_content_margin) .expanders
	{ padding-right: 18rem; padding-left: 18rem; }

	body:not(.page-template-modular-with-sidebar):not(.narrow_content_margin) .basic.basic_centered_feature {
		padding-right: 32.5%; padding-left: 32.5%;
	}
	
	body:not(.page-template-modular-with-sidebar):not(.narrow_content_margin) .columns:not(.full_bleed)
	{ padding-right: calc(18rem - 2em); padding-left: calc(18rem - 2em); }

	body:not(.page-template-modular-with-sidebar):not(.narrow_content_margin) .gallery > ul { padding-right: calc(18rem - 1em) !important; padding-left: 18rem !important; }
	body:not(.page-template-modular-with-sidebar):not(.narrow_content_margin) .entry-content .gallery > ul { padding-right: 0 !important; padding-left: 0 !important; } /* @todo Address the fact that this leaves a 1rem padding on the right side */

	body:not(.narrow_content_margin) .gallery > header { padding: 0 18rem !important; }
	body:not(.narrow_content_margin) #modular_with_sidebar .gallery > header { padding: 0 6rem !important; }

	body:not(.narrow_content_margin) .iframe_wrapper.margins { padding-right: 18rem; padding-left: 18rem; }

	.slides .caption { font-size: 125%; }

	body:not(.narrow_content_margin) .tiles > header { margin: -15px 18rem 25px 18rem; }
	body:not(.narrow_content_margin) #modular_with_sidebar  .tiles > header { margin: -15px 6rem 25px 6rem; }
	body:not(.narrow_content_margin) .tiles:not(.tiles_full_bleed) > ul {
		padding: 0 0 0 18rem;
		width: calc((100% - 18rem) + 40px);
	}

	body:not(.narrow_content_margin) .tiles:not(.tiles_full_bleed).tiles_per_row_flex .tile,
	body:not(.narrow_content_margin) #modular_with_sidebar .tiles:not(.tiles_full_bleed).tiles_per_row_flex .tile
	{ width: calc(20% - 40px) !important; }
	body:not(.narrow_content_margin) .tiles.tiles_full_bleed.tiles_per_row_flex .tile,
	body:not(.narrow_content_margin) #modular_with_sidebar .tiles.tiles_full_bleed.tiles_per_row_flex .tile
	{ width: 20% !important; }

	.tiles.overlay.tiles_per_row_1 .tile .title, .tiles.overlay.tiles_per_row_2 .tile .title {
		font-size: 120%;
	}
	.tiles.overlay.tiles_per_row_1 .tile .description, .tiles.overlay.tiles_per_row_2 .tile .description {
		font-size: 90%;
		line-height: 1.5em;
	}

}


/* Special fixes for screens approaching the 1200px breakpoint */
@media screen and (max-width: 1300px) and (min-width: 1201px) {

	.slides .caption {
		font-size: 110%;
	}

}


/* Size adjustments for both moderate- and large-size displays */
@media screen and (min-width: 1201px) {

	.tiles.overlay.tiles_per_row_1 .tile .title, .tiles.overlay.tiles_per_row_2 .tile .title {
		font-size: 120%;
	}
	.tiles.overlay.tiles_per_row_1 .tile .description, .tiles.overlay.tiles_per_row_2 .tile .description {
		font-size: 90%;
		line-height: 1.5em;
	}

}


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

	#modular_wrapper.sidebar_left #modular_sidebar { padding: 2.5rem 1.5rem 2.5rem 3rem; }
	#modular_wrapper:not(.sidebar_left) #modular_sidebar { padding: 2.5rem 3rem 2.5rem 3rem; }
	body.body_margin #modular_wrapper.sidebar_left #modular_sidebar { padding-left: 0; }
	body.body_margin #modular_wrapper:not(.sidebar_left) #modular_sidebar { padding-right: 0; }

	body:not(.body_margin):not(.narrow_content_margin) #modular_wrapper:not(.sidebar_left) #modular_with_sidebar .basic:not(.reversed_color) { padding-right: 0; padding-left: 3rem; }
	#modular_wrapper.sidebar_left #modular_with_sidebar .basic:not(.reversed_color) { padding-right: 3rem; padding-left: 0; }

	#modular_with_sidebar .tiles:not(.tiles_per_row_1):not(.tiles_per_row_flex) .tile { width: calc(50% - 40px) !important; }

	.slides .caption { font-size: 100%; }
	
	.tiles.overlay .tile .text {
		font-size: 80%;
	}

	.tiles:not(.tiles_full_bleed).tiles_per_row_flex .tile, #modular_with_sidebar .tiles:not(.tiles_full_bleed).tiles_per_row_flex .tile { width: calc(25% - 40px) !important; }
	.tiles.tiles_full_bleed.tiles_per_row_flex .tile, #modular_with_sidebar .tiles.tiles_full_bleed.tiles_per_row_flex .tile { width: 25% !important; }

}


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

	.basic .basic, .basic .basic.basic_centered_feature, .basic .basic.reversed_color, .basic .cta_buttons, .basic .expanders, .basic .restaurant_menu_section
	{ padding-right: 0 !important; padding-left: 0 !important; }
	
	.basic.basic_centered_feature { padding-right: 22.5%; padding-left: 22.5%; }
	
	section.columns.columns-4 .column {
		display: inline-block;
		margin: 0 !important;
		width: 50% !important;
	}
	section.columns.columns-4 .column:nth-of-type(1), section.columns.columns-4 .column:nth-of-type(2) {
		padding-bottom: 1.5rem;
	}
	section.columns.columns-4 .column:nth-of-type(3), section.columns.columns-4 .column:nth-of-type(4) {
		padding-top: 0; padding-bottom: 2.5rem;
	}

	section.columns.columns-5 .column {
		display: inline-block;
		margin: 0 !important;
	}
	section.columns.columns-5 .column:nth-of-type(1), section.columns.columns-5 .column:nth-of-type(2) {
		padding-bottom: 1.5rem;
		width: 50% !important;
	}
	section.columns.columns-5 .column:nth-of-type(3), section.columns.columns-5 .column:nth-of-type(4), section.columns.columns-5 .column:nth-of-type(5) {
		padding-top: 0; padding-bottom: 2.5rem;
		width: 33.333% !important;
	}

	.expander .toggle { background-size: 12px 12px; }

	.gallery.extra_padding > ul > li { padding: 1rem !important; }

	.slides .caption { font-size: 90%; }
	.slides .caption.left { left: calc(4rem - 2em); max-width: 75%; }
	.slides .caption.right { right: calc(4rem - 2em); max-width: 75%; }
	.slides .caption.full-width { padding-right: 4rem; padding-left: 4rem; }

	body.transparent_header .hero:first-of-type .slides .caption.top { top: calc(80px + 3.25em); }

	#modular_with_sidebar .tiles:not(.tiles_full_bleed):not(.tiles_per_row_1) > ul { width: 100% !important; }

	.tiles.overlay .tile .text {
		font-size: 85%;
	}

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

	body:not(.narrow_content_margin) .basic,
	body:not(.narrow_content_margin) .basic.basic_centered_feature,
	body:not(.narrow_content_margin) .basic.reversed_color,
	body:not(.narrow_content_margin) .cta_buttons,
	body:not(.narrow_content_margin) .expanders,
	body:not(.narrow_content_margin) .restaurant_menu_section,
	body:not(.narrow_content_margin) .widecolumn
	{ padding-right: 4rem; padding-left: 4rem; }

	body:not(.body_margin):not(.narrow_content_margin) #modular_wrapper:not(.sidebar_left) #modular_with_sidebar .basic:not(.reversed_color) { padding-left: 3rem; }
	body:not(.body_margin):not(.narrow_content_margin) #modular_wrapper.sidebar_left #modular_with_sidebar .basic:not(.reversed_color) { padding-right: 3rem; }

	body:not(.narrow_content_margin) section.columns:not(.full_bleed) { padding-right: calc(4rem - 2em); padding-left: calc(4rem - 2em); }
	body:not(.narrow_content_margin) section.columns .column { margin: 0 4rem 1.5em 4rem !important; }

	body:not(.narrow_content_margin) .gallery > header { padding: 0 4rem !important; }
	body:not(.narrow_content_margin) .gallery > ul { padding-right: calc(4rem - 1em) !important; padding-left: 4rem !important; }
	body:not(.narrow_content_margin) .iframe_wrapper.margins { padding-right: 4rem; padding-left: 4rem; }

	.tiles:not(.tiles_full_bleed):not(.tiles_per_row_1):not(.tiles_per_row_2) .tile { width: calc(33.333% - 40px) !important; }
	.tiles.tiles_full_bleed.tiles_per_row_flex .tile { width: 33.333% !important; }

	body:not(.narrow_content_margin) .tiles:not(.tiles_full_bleed) > header { margin: -15px 4rem 25px 4rem !important; }
	body:not(.narrow_content_margin) .tiles:not(.tiles_full_bleed) > ul,
	#modular_with_sidebar .tiles:not(.tiles_full_bleed):not(.tiles_per_row_1) > ul {
		padding: 0 0 0 4rem !important;
		width: calc((100% - 4rem) + 40px) !important;
	}
	
}


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

	.basic, .basic.basic_centered_feature, .basic.reversed_color, .cta_buttons, .expanders, .restaurant_menu_section, .widecolumn
	{ padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
	
	.basic .basic, .basic .basic.basic_centered_feature, .basic .basic.reversed_color, .basic .cta_buttons, .basic .expanders, .basic .restaurant_menu_section
	{ padding-right: 0 !important; padding-left: 0 !important; }

	section.columns, body.body_margin section.columns:not(.reversed_color) {
		margin-right: 0; margin-left: 0;
		padding-right: calc(1.5rem - 2em); padding-left: calc(1.5rem - 2em);
	}

	section.columns.columns-2 .column {
		width: 50% !important;
	}

	section.columns:not(.columns-2) {
		display: block;
		margin: 0;
		max-width: 100% !important;
		padding: 0;
		width: 100% !important;
	}

	section.columns:not(.columns-2) .column:nth-of-type(n) {
		border: none !important;
		display: block;
		margin: 0 auto !important;
		max-width: calc(100% - 3rem);
		padding: 0 !important;
		width: calc(100% - 3rem) !important;
	}
	section.columns:not(.columns-2) .column:first-child, section.columns:not(.columns-2) .column.with_background_image ~ .column {
		padding-top: 1.5rem !important;
	}
	section.columns:not(.columns-2) .column:last-child, section.columns:not(.columns-2) .column.with_background_image ~ .column {
		padding-bottom: 1.5rem !important;
	}
	
	section.columns.full_bleed:not(.columns-2) .column.with_background_image {
		max-width: 100%;
		width: 100% !important;
	}
	section.columns:not(.columns-2) .column[style*='background-color'] {
		margin: 0 !important;
		max-width: 100% !important;
		padding: 1.5rem !important;
		width: 100% !important;
	}

		section.columns:not(.columns-2) .column > *:last-child { margin-bottom: 1.5em !important; }
	
		/*section.columns:not(.columns-2) .column.empty { display: none !important; }*/

		/* Column slideshow turns into normal column layout on phones */
		.column_slideshow_wrapper {
			position: relative;
		}

			.column_slideshow_navigation {
				display: none;
			}

			.column_slideshow_item, .column_slideshow_item.current {
				display: block;
				height: auto !important;
				opacity: 1;
				position: relative !important;
				z-index: 1;
			}

	section.columns .column.with_background_image {
		height: auto;
		min-height: 400px;
	}

	.cta_buttons, .cta_buttons li { display: block; }

	.expander { margin-left: 0; }

	.expander.open .expander_content { padding-left: 0; }

	.gallery > header { padding: 0 1.5rem !important; }

	.gallery > ul { padding-right: calc(1.5rem - 1em) !important; padding-left: 1.5rem !important; }
	#modular_wrapper:not(.sidebar_left) #modular_with_sidebar .gallery > ul,
	#modular_wrapper.sidebar_left #modular_with_sidebar .gallery > ul
	{ padding-right: 1.5rem !important; padding-left: 1.5rem !important; }

	.gallery > ul > li { width: 50% !important; }
	.gallery.grid_1x1 > ul > li { width: 100% !important; }
	.gallery.extra_padding > ul > li { padding: 1.5rem !important; }

	.gallery_navigation .prev { left: auto !important; right: 50px !important; }
	.gallery_navigation .next { right: 0 !important; }

	.iframe_wrapper.margins { padding-right: 1.5rem; padding-left: 1.5rem; }

	.module_spacer, .tiles {
		background-attachment: scroll;
		background-repeat: repeat;
		background-size: 100%;
	}
	
	.restaurant_menu_section.columns-3 ul.restaurant_menu_section_items > li.restaurant_menu_section_item,
	.restaurant_menu_section.columns-4 ul.restaurant_menu_section_items > li.restaurant_menu_section_item
	{ width: calc(50% - 40px); }
	.restaurant_menu_section.columns-3 ul.restaurant_menu_section_items > li.restaurant_menu_section_item:nth-of-type(2n+1),
	.restaurant_menu_section.columns-4 ul.restaurant_menu_section_items > li.restaurant_menu_section_item:nth-of-type(2n+1)
	{ clear: both !important; }
	.restaurant_menu_section.columns-3 ul.restaurant_menu_section_items > li.restaurant_menu_section_item:nth-of-type(2n+1)
	{ clear: none; }

	.slides > li {
		max-height: none;
		overflow: visible;
	}
	
	.hero .background-video { margin-bottom: -0.5em; /* shrug */ }

	/* Override all formatting from editor */
	.hero:not(.full-screen) .slides .caption {
		background: #231f20 !important;
		color: #ffffff !important;
		margin: 0 !important;
		max-width: 100% !important;
		padding: 1.5rem 2.5rem !important;
		position: relative; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
		text-align: left !important;
		transform: none !important;
		width: 100% !important;
		z-index: 6;
	}

		.hero:not(.full-screen) .slides .caption * { color: #ffffff; }

		.hero:not(.full-screen) .slides .caption .button { margin-right: 5px; margin-left: 5px; }
	
	.hero.full-screen .slides .caption {
		font-size: 80%;
		line-height: 1.5em;
		max-width: none !important;
	}
	.hero.full-screen .slides .caption.left,
	.hero.full-screen .slides .caption.right
	{
		right: calc(5% - 2em) !important; left: calc(5% - 2em) !important;
	}
	.hero.full-screen .slides .caption.center {
		width: calc(100% - 3rem);
	}
	.hero.full-screen .slides .caption.bottom { bottom: 0; padding-bottom: 1.5rem; }

	.hero.animated_captions .slides .caption { transition: none; } /* Temporary fix until we can work out the problems with this */

	ul.restaurant_menu_section_items > li.restaurant_menu_section_item { width: calc(50% - 40px); }
	
	.slide_select { display: none; }

	.slide_navigation {
		background-size: 25% !important;
		height: 44px;
		width: 44px;
	}
	.hero:not(.full-screen) .slide_navigation {
		top: 3rem; bottom: auto;
		transform: translateY(0);
	}

	.tab_group {
		padding-bottom: 1.5em;
	}

	.tab_group .tabs {
		border-bottom: none;
	}

	.tab_group .tabs ul {
		display: block;
		padding: 0;
	}

	.tab_group .tabs li {
		display: block;
		margin: 0.25em 0;
		padding: 0;
	}

	.tab_group .tabs a {
		background-position: 7px center; background-repeat: no-repeat; /* To prevent wonky transition effects */
		background-size: 8px;
		border-bottom: 1px solid #eeeeee;
		border-radius: 4px;
		display: block;
		padding-left: 20px;
	}

	.tab_group .tabs a.current {
		background-image: url('../images/ui/toggle_white_closed.svg');
		background-position: 7px center;
		background-repeat: no-repeat;
		background-size: 8px;
		border-bottom-color: #555555;
		font-weight: bold;
	}

	.tiles:not(.tiles_full_bleed) > header { margin: 0 1.5rem !important; }
	#modular_with_sidebar .tiles:not(.tiles_full_bleed) > header { margin: 0 1.5rem !important; }

	.tiles:not(.tiles_full_bleed) > ul, #modular_wrapper:not(.sidebar_left) #modular_with_sidebar .tiles > ul, #modular_wrapper.sidebar_left #modular_with_sidebar .tiles > ul {
		display: block;
		margin: 0;
		padding: 0 1.5rem !important;
		width: 100% !important;
	}
	#modular_with_sidebar .tiles:not(.tiles_full_bleed) > ul { padding: 1.5rem 0 !important; }

		/* This is overriding multiple conditions earlier -- do not try to simplify it! */
		.tiles:not(.tiles_full_bleed) .tile,
		#modular_with_sidebar .tiles:not(.tiles_full_bleed) .tile,
		.tiles.tiles_full_bleed .tile,
		#modular_with_sidebar .tiles.tiles_full_bleed .tile,
		.tiles:not(.tiles_per_row_1) .tile,
		#modular_with_sidebar .tiles:not(.tiles_per_row_1) .tile,
		.tiles.tiles_per_row_1 .tile,
		#modular_with_sidebar .tiles.tiles_per_row_1 .tile,
		.tiles:not(.tiles_full_bleed):not(.tiles_per_row_1) .tile,
		#modular_with_sidebar .tiles:not(.tiles_full_bleed):not(.tiles_per_row_1) .tile,
		.tiles.tiles_full_bleed.tiles_per_row_1 .tile,
		#modular_with_sidebar .tiles.tiles_full_bleed.tiles_per_row_1 .tile
		{
			width: 100% !important;
		}
		.tiles:not(.tiles_full_bleed):not(.tiles_per_row_flex) .tile,
		#modular_with_sidebar .tiles:not(.tiles_full_bleed):not(.tiles_per_row_flex) .tile
		{
			margin: 1em 0 !important;
		}

		.tiles:not(.tiles_full_bleed).tiles_per_row_flex > ul {
			width: calc(100% + 40px) !important;
		}

		.tiles:not(.tiles_full_bleed).tiles_per_row_flex .tile, #modular_with_sidebar .tiles:not(.tiles_full_bleed).tiles_per_row_flex .tile { width: calc(50% - 40px) !important; }
		.tiles.tiles_full_bleed.tiles_per_row_flex .tile,
		#modular_with_sidebar .tiles.tiles_full_bleed.tiles_per_row_flex .tile
		{ width: 50% !important; }

			.tiles.overlay .tile { max-height: none; }

			.tiles.overlay .tile .text {
				font-size: 120%;
				/*padding-top: 3em !important;*/
			}
		
		.tiles.stacked .tile { height: auto !important; }

		.tiles.stacked:not(.tiles_full_bleed) .tile.with_icon {
			border-radius: 0;
			margin-top: 2.5rem !important;
			overflow: visible !important;
		} 
		.tiles.stacked .tile.with_icon:first-child { margin-top: 0 !important; }

		.tiles.stacked .tile.with_icon .image { display: none; }
		
		.tiles.stacked .icon {
			height: 7px;
			margin: 0 0 18px 0 !important;
		}

			.tiles.stacked .icon .fa {
				height: 44px;
				font-size: 22px;
				line-height: 44px;
				margin-left: -22px;
				top: -17px;
				width: 44px;
			}

	#modular_wrapper, #modular_with_sidebar, #modular_sidebar, body.narrow_sidebar #modular_with_sidebar, body.narrow_sidebar #modular_sidebar {
		display: block;
		width: 100%;
	}

	#modular_sidebar { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }

}


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

	section.columns.columns-2 {
		display: block;
		margin: 0;
		max-width: 100% !important;
		padding: 0;
		width: 100% !important;
	}

	section.columns.columns-2 .column {
		border: none !important;
		display: block;
		margin: 0 1.5rem !important;
		padding: 0 !important;
		width: calc(100% - 3rem) !important;
	}
	section.columns.columns-2 .column[style*='background-color'] {
		margin: 0 !important;
		max-width: 100% !important;
		padding: 1.5rem !important;
		width: 100% !important;
	}
	section.columns.columns-2 .column:first-child, section.columns.columns-2 .column.with_background_image ~ .column {
		padding-top: 1.5rem !important;
	}
	section.columns.columns-2 .column:last-child, section.columns.columns-2 .column.with_background_image ~ .column {
		padding-bottom: 1.5rem !important;
	}

	section.columns.full_bleed.columns-2 .column.with_background_image {
		margin: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}

		section.columns .column > *:not(.column_background_image):last-child { margin-bottom: 1.5em !important; }

		body:not(.column_background_images_on_phones) section.columns.columns-2 .column.empty.with_background_image { display: none !important; }

	.gallery.extra_padding > ul > li { padding: 0.5rem !important; }

	ul.restaurant_menu_section_items > li.restaurant_menu_section_item
	{ clear: both; width: calc(100% - 40px) !important; }

	.tiles:not(.tiles_full_bleed).tiles_per_row_flex > ul {
		width: 100% !important;
	}

	.tiles:not(.tiles_full_bleed).tiles_per_row_flex .tile, #modular_with_sidebar .tiles:not(.tiles_full_bleed).tiles_per_row_flex .tile, .tiles.tiles_full_bleed.tiles_per_row_flex .tile, #modular_with_sidebar .tiles.tiles_full_bleed.tiles_per_row_flex .tile { width: 100% !important; }


}


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

}
*/
