/*
 * Device Detection
 */

body:before {
	content: 'mobile';
	display: none;
}

@media (min-width: 668px) {
	body:before {
		content: 'tablet';
	}
}

@media (min-width: 1025px) {
	body:before {
		content: 'desktop';
	}
}

/*
 * Logo and Navigation
 */

@media (min-width: 1201px) {
	body:not(.bio) #mobile-menu,
	body:not(.bio) #mobile-menu-bg {
		display: none !important;
	}
}

@media (max-width: 1200px) {
	#logo {
		top: 4px;
	}
	body.menu-active #logo {
		opacity: 0;
	}
	body.menu-active #mobile-menu > .logo {
		visibility: visible;
		opacity: 1;
	}
	#menu > .container {
		overflow: visible;
	}
	body.menu-fixed #logo {
		position: relative;
		top: 24px;
	}
	#menu .nav {
		display: none;
	}
	#mobile-menu > .grid > .cell {
		padding-top: 130px;
	}
	#mobile-menu > .grid > .cell:first-child:after {
		top: 130px;
	}
	.menu-toggle {
		display: block;
	}
}

@media (max-width: 740px) {
	#mobile-menu .logo {
		visibility: hidden;
		opacity: 0;
	}
}

@media (max-width: 667px) {
	#menu {
		position: absolute;
		z-index: 30;
	}
	#mobile-menu > .grid {
		width: calc(100% - 60px);
	}
}

@media (max-width: 580px) {
	.menu-toggle span {
		display: none;
	}
	#mobile-menu > .grid,
	#mobile-menu > .grid > .cell {
		display: block;
		width: auto;
		text-align: center;
	}
	#mobile-menu > .logo {
		width: auto;
	}
	#mobile-menu > .grid > .cell {
		padding-top: 80px;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	#mobile-menu > .grid > .cell:first-child:after {
		display: none;
	}
	#mobile-menu > .grid > .cell:last-child {
		padding-top: 0;
	}
	#mobile-menu .secondary-nav {
		margin-top: 10px;
	}
	#mobile-menu .input-text {
		margin: 0 10%;
	}
	#mobile-menu .address {
		margin-top: 50px;
	}
	#masthead-caption {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (max-width: 460px) {
	#logo svg {
		width: 180px;
		height: 19px;
	}
}

/*
 * Other
 */

@media (max-width: 1340px) {
	.container > .content {
		width: auto;
		padding-left: 30px;
		padding-right: 30px;
	}

	#share .share-wrap {
		right: 30px;
	}

	#masthead.home-masthead figure {
		width: 65%;
	}
	#masthead .masthead-intro {
		left: 30px;
	}
	#masthead.watermark > .content:before {
		right: 30px;
	}
	#masthead .actions {
		margin-left: 30px;
		margin-right: 30px;
	}
	#masthead .cta {
		margin-right: 30px;
	}
	#masthead.bio-masthead figure img {
		margin-right: 30px;
	}

	.practices-grid.practices-grid-blog-style > .cell {
		width: 33.33%;
	}
}

@media (max-width: 1200px) {
	#masthead.blog-masthead {
		height: 650px;
	}

	#masthead.home-masthead figure img {
		margin-right: -100px;
	}

	#masthead .filters .label,
	#masthead .filters .dropdown,
	#masthead .filters .input-text {
		float: none;
		width: auto;
		margin-right: 0;
	}
	#masthead .filters .dropdown {
		margin-bottom: 8px;
	}
	#masthead .filters .grid,
	#masthead .filters .grid > .cell {
		display: block;
		width: auto;
		text-align: left;
	}

	.blog-tiles > .tile {
		width: 50%;
	}

	.practices-grid.practices-grid-blog-style > .cell {
		width: 50%;
	}

	#footer-location .cell:first-child {
		padding-top: 20px;
	}
	#footer-location .cell:last-child {
		display: table-header-group;
	}
}

@media (max-width: 1170px) {
	body.bio.menu-fixed #menu .bio-data {
		display: none;
	}
}

@media (max-width: 1100px) {
	#masthead.home-masthead .masthead-intro {
		left: 100px;
	}
}

@media (max-width: 1024px) {
	#masthead.home-masthead .masthead-intro {
		width: 440px;
		left: 30px;
	}
	#masthead.home-masthead h2 {
		font-size: 38px;
	}
	#masthead.blog-article-masthead .masthead-intro {
		bottom: 100px;
	}
	#masthead.blog-article-masthead h2 {
		font-size: 28px;
	}
	.tiles > .tile {
		width: 50%;
	}
	.tiles > .tile.span-2 {
		width: 100%;
	}
	.tiles > .tile.columns > div {
		display: table;
		width: 100%;
	}
	.tiles > .tile.columns > div > div {
		display: table-cell;
	}
	.tiles > .tile.columns > div > div:last-child {
		text-align: right;
		vertical-align: middle;
	}
	.tiles > .tile.title h3 {
		padding-right: 0;
	}
	.tiles .actions {
		position: relative;
		bottom: 0;
	}
	.tiles > .tile.end > div:before {
		width: 170px;
		left: 120px;
	}
	.tiles > .tile.end .actions {
		right: 0;
	}
	.tiles > .tile.title {
		width: 100%;
	}
	.tiles > .tile.title > div {
		height: auto !important;
		min-height: 0;
		padding: 30px;
	}
	.tiles > .tile.end {
		width: 100%;
	}
	.tiles > .tile.end > div {
		min-height: 0;
	}
	.tiles > .clients > div {
		padding: 100px 60px;
	}
	.clients h4 {
		font-size: 28px;
	}

	.bio-grid > .cell,
	.practices-grid > .cell {
		width: 50% !important;
	}
	.bio-grid.list > .cell:nth-child(3) {
		padding-top: 15px;
	}
	.bio-grid:not(.list) .bio-tile {
		height: 250px;
		padding-bottom: 0;
	}

	.blog-tiles > .tile {
		width: 100%;
	}
	.practices-grid.practices-grid-blog-style > .cell {
		width: 100% !important;
	}
	.practices-grid .cell > span:hover .caption {
		z-index: 1;
		top: 0;
		bottom: 0;
		margin-top: 0;
		opacity: 1;
	}
	.practices-grid .cell > span:hover .description {
		opacity: 0;
	}

	.sidebar-grid.grid,
	.sidebar-grid.grid > .cell {
		display: block;
	}
	.sidebar-grid.grid > .cell:last-child {
		width: auto;
		padding-left: 0;
		padding-top: 60px;
	}
	.sidebar-grid .practices-grid .cell > a,
	.sidebar-grid .practices-grid .cell > span {
		height: auto;
	}
	.sidebar-grid .practices-grid .description {
		position: relative;
		overflow: visible;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		padding: 20px;
	}
	.sidebar-grid .practices-grid .description h4 {
		height: auto !important;
	}
	.sidebar-grid .twitter-wrap iframe {
		width: 100% !important;
	}

	.grid.contact-grid > .cell:first-child {
		width: 330px;
		padding-right: 40px;
	}

	.data-grid .cta > a {
		display: block;
	}
	.data-grid .cta .button {
		margin-left: 0;
		margin-top: 15px;
	}

	.alert {
		display: none !important;
	}
	#menu {
		margin-top: 0 !important;
	}

	#masthead .actions-container .actions.hide-responsive {
		display: none;
	}
	#explore-dropdown {
		display: block;
	}
	.container.tabs-content-container > .content {
		padding-top: 30px;
	}

	#share .share-button .caption {
		display: none;
	}
	#share .share-button .icon {
		margin-left: 0;
	}
}

@media (max-width: 900px) {
	footer > .content > .grid {
		display: table;
		width: 100%;
		table-layout: fixed;
	}
	footer > .content > .grid > .cell:nth-child(1) {
		width: 100%;
	}
	footer > .content > .grid > .cell:nth-child(2) {
		width: 200px;
	}
	#footer-practice-areas > .cell:first-child {
		padding-right: 15px;
	}
	#footer-practice-areas > .cell:last-child {
		padding-left: 15px;
		padding-right: 0;
	}

	.intro .cms-content {
		width: auto;
		left: auto;
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		transform: none;
	}

	.grid-list {
		display: block;
	}
	.grid-list > li {
		display: block;
		width: auto;
		margin-bottom: 7px;
	}
	.grid-list > li:last-child {
		margin-bottom: 0;
	}

	.tiles > .tile.col-2 {
		width: 100%;
	}
	.tiles > .tile.ourfirm.green-business .left img {
		float: none;
		margin-right: 0;
		margin-bottom: 30px;
	}

	.left-heading-list h5 {
		display: block;
		float: none;
		margin: 0 6px 0 0;
	}
	.left-heading-list ul {
		display: inline;
		overflow: visible;
	}

	.page-controls-grid,
	.page-controls-grid > .cell {
		display: block;
		width: auto;
	}
	.page-controls-grid > .cell:last-child {
		padding-bottom: 10px;
	}

	.sitemap-grid > .cell {
		padding-right: 30px;
	}

	.clients-grid,
	.clients-grid > .cell {
		display: block;
	}
	.clients-grid > .cell:nth-child(1),
	.clients-grid > .cell:nth-child(2),
	.clients-grid > .cell:nth-child(3) {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	.clients-grid .check-list {
		margin-top: 10px;
	}
	.clients-grid > .cell:first-child .check-list {
		margin-top: 0;
	}
}

@media (max-width: 768px) {
	#masthead.watermark > .content:before {
		right: auto;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-moz-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	#masthead .masthead-intro {
		width: auto;
		left: 0;
		bottom: 50px;
		padding: 0 30px;
	}
	#masthead h2 {
		font-size: 36px;
	}
	.tiles > .tile.title h2 {
		font-size: 22px;
	}

	.grid.contact-grid,
	.grid.contact-grid > .cell,
	.grid.contact-grid > .cell:first-child {
		display: block;
		width: auto;
		padding-right: 0;
	}
	.grid.contact-grid > .cell:last-child {
		padding-top: 15px;
	}
	.grid.contact-grid:first-child > .cell:last-child {
		padding-top: 40px;
	}

	.data-grid > .row > .cell:first-child {
		display: none;
	}

	.section-intro {
		font-size: 20px;
	}

	.faq-grid {
		display: block;
	}
	.faq-grid > .cell {
		display: block;
		width: auto;
	}
	.faq-grid > .cell:first-child {
		padding-right: 0;
	}
	.faq-grid > .cell:last-child {
		padding-left: 0;
	}
	.faq-block:first-child {
		margin-top: 30px;
	}
	.faq-resources-grid {
		display: block;
	}
	.faq-resources-grid > .cell {
		display: block;
		width: auto;
	}
	.faq-resources-grid > .cell:first-child {
		padding-right: 0;
	}
	.faq-resources-grid > .cell:last-child {
		margin-top: 10px;
		padding-left: 0;
	}
}

/* Tablet Portrait View Media Query */
@media only screen and (max-width: 768px) and (min-height: 600px) {
	#masthead.home-masthead {
		max-height: 500px;
	}
}

@media (max-width: 740px) {
	#masthead.home-masthead .masthead-intro {
		width: 340px;
	}
	#masthead.home-masthead h2 {
		font-size: 28px;
	}
	#masthead.home-masthead .masthead-intro .link-list {
		display: block;
	}
	#masthead.home-masthead .masthead-intro .link-list > li {
		display: block;
		float: none;
		margin-left: 0;
		margin-top: 6px;
	}
	#masthead.home-masthead .masthead-intro .link-list > li:first-child {
		margin-top: 0;
	}
	#masthead.home-masthead figure img {
		margin-right: -50px;
	}
	#home-intro .cms-content {
		width: auto;
	}

	footer > .content > .grid,
	footer > .content > .grid > .cell {
		display: block;
	}
	footer > .content > .grid > .cell:nth-child(1) {
		padding-right: 0;
	}
	footer > .content > .grid > .cell:nth-child(2) {
		width: 100%;
	}
	#footer-email-updates {
		margin-top: 60px;
	}

	.intro .cms-content {
		font-size: 22px;
	}

	.bio-grid > .cell {
		width: 100% !important;
	}
	.bio-grid.list > .cell:nth-child(2) {
		padding-top: 15px;
	}
	.bio-grid:not(.list) .bio-tile {
		height: 200px;
	}
}

@media (max-width: 680px) {
	#masthead.blog-masthead {
		height: 700px;
	}

	.tiles > .tile {
		width: 100%;
	}
	.tiles > .tile > div {
		padding: 30px;
	}
	.tiles > .end > div:before {
		width: 140px;
		left: 100px;
	}
	.tiles > .clients > div {
		padding: 60px 30px;
	}
	.clients h4 {
		font-size: 22px;
	}
}

@media (max-width: 640px) {
	.container > .content {
		width: auto;
		padding-left: 20px;
		padding-right: 20px;
	}

	#share .share-wrap {
		right: 20px;
	}

	.mfp-popup {
		padding-left: 20px;
		padding-right: 20px;
	}

	#menu-close {
		right: 20px;
		top: 16px;
	}

	#masthead .masthead-intro {
		padding: 0 20px;
	}
	#masthead h2 {
		font-size: 32px;
	}
	#masthead .cta {
		margin-right: 20px;
	}

	#masthead .actions-container .masthead-intro {
		margin-bottom: 0;
	}
	#masthead .actions {
		margin-top: 20px;
		margin-left: 20px;
		margin-right: 20px;
	}

	#masthead .bio-actions-container {
		bottom: 300px;
	}

	#home-intro .cms-content {
		font-size: 24px;
	}

	footer .copyright {
		margin-top: 40px;
	}
	footer .copyright .cell {
		display: block;
	}
	footer .copyright .cell:nth-child(1) {
		display: none;
	}
	footer .copyright .cell:nth-child(2) {
		width: auto;
		text-align: left;
	}
	footer .copyright .cell:nth-child(3) {
		width: auto;
		text-align: left;
	}
	footer .copyright .greenbusiness-logo {
		margin-top: 20px;
	}

	.practices-grid > .cell {
		width: 100% !important;
	}

	.mfp-popup h2 {
		font-size: 20px;
	}

	.sitemap-grid {
		display: block;
	}
	.sitemap-grid > .cell,
	.sitemap-grid > .cell:last-child {
		display: block;
		width: auto;
		margin-top: 40px;
		padding-right: 0;
	}
	.sitemap-grid > .cell:first-child {
		margin-top: 0;
	}
}

@media (max-width: 600px) {
	.data-grid > .head {
		display: none;
	}
	.data-grid > .row > .cell {
		display: block;
	}
	.data-grid > .row > .cell.title {
		width: auto;
		padding-bottom: 0;
		border-right: 0;
		border-bottom: 0;
	}
	.data-grid > .row > .cell.cta {
		padding-top: 10px;
		white-space: normal;
	}
	.data-grid > .row > .cell.cta > a {
		display: inline-block;
	}
	.data-grid > .row > .cell.cta a:first-child {
		margin-right: 20px;
	}
}

@media (max-width: 540px) {
	#masthead.home-masthead {
		min-height: 600px;
	}
	#masthead.home-masthead .masthead-intro {
		top: 220px;
	}
	#masthead.home-masthead figure,
	#masthead.bio-masthead figure {
		width: 100%;
		margin-right: 0;
	}
	#masthead.home-masthead figure img,
	#masthead.bio-masthead figure img {
		width: auto;
		height: 270px;
		max-width: none;
		max-height: none;
		left: 50%;
		margin-right: 0;
		-webkit-transform: translateX(-50%);
		-moz-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	#masthead-caption {
		text-align: center;
	}
	.tiles > .tile.title > div,
	.tiles > .tile.title > div > div {
		display: block;
		width: auto;
	}
	.tiles > .tile.title h2 {
		padding-right: 0;
		padding-bottom: 15px;
	}

	.ac-form > .row {
		margin-top: 0;
	}
	.ac-form > .row > .cell {
		float: none;
	}
	.ac-form > .row.col-2 > .cell {
		width: auto;
	}
	.ac-form > .row.col-2 > .cell:first-child {
		margin-right: 0;
	}
	.ac-form > .row.col-2 > .cell:last-child {
		margin-left: 0;
	}
	.ac-form .ac-actions,
	.ac-form .ac-actions > .cell {
		display: block;
	}
	.ac-form .ac-actions .captcha-cell {
		margin-bottom: 20px;
	}
	.ac-text-field {
		margin-bottom: 35px;
	}
}

@media (max-width: 480px) {
	#masthead .cta {
		left: 20px;
		right: 20px;
		margin-right: 0;
	}
	#masthead .cta .button {
		display: block;
		width: auto;
	}
	#masthead.blog-article-masthead h2 {
		font-size: 26px;
		line-height: 1.2em;
	}

	.content-container .filters.grid,
	.content-container .filters.grid > .cell {
		display: block;
		width: auto;
	}
	.content-container .filters.grid > .cell.display {
		padding-top: 20px;
		text-align: left;
	}

	.bio-grid.list > .cell,
	.bio-grid.list > .cell:nth-child(2),
	.bio-grid.list > .cell:nth-child(3) {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.bio-grid.list .bio-tile .photo {
		width: 100px;
		height: 72px;
	}
	.bio-grid.list .bio-tile .caption {
		left: 120px;
	}

	#share .share-wrap {
		left: 20px;
	}
	#share .share-content {
		width: auto;
	}
}

@media (max-width: 440px) {
	.clients-grid .info-tooltip > .tooltip {
		width: 300px;
	}

	.grid.contact-grid .dropdown {
		width: auto;
	}

	.data-grid > .row > .cell {
		padding-left: 20px;
		padding-right: 20px;
	}

	#explore-dropdown {
		width: auto;
	}

	#footer-practice-areas {
		display: block;
	}
	#footer-practice-areas > .cell:first-child {
		display: block;
		width: auto;
	}
	#footer-practice-areas > .cell:first-child {
		padding-right: 0;
	}
	#footer-practice-areas > .cell:last-child {
		padding-left: 0;
		padding-top: 10px;
	}
}