/* Load Raleway locally (see https://google-webfonts-helper.herokuapp.com/fonts/) */

/* raleway-regular - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local(''),
	   url('/fonts/raleway-v27-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
	   url('/fonts/raleway-v27-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* raleway-500 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local(''),
	   url('/fonts/raleway-v27-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
	   url('/fonts/raleway-v27-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* raleway-600 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local(''),
	   url('/fonts/raleway-v27-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
	   url('/fonts/raleway-v27-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* raleway-700 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local(''),
	   url('/fonts/raleway-v27-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
	   url('/fonts/raleway-v27-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


html {
	scroll-behavior: smooth;
}

body {
	color: #333;
}

.page-wrapper {
	position: relative;
	min-height: 100vh;
	display: grid;
	grid-template-rows: auto 1fr auto;
	grid-template-columns: 100vw;
	overflow-x: hidden;
}

header {
	position: relative;
	padding: 0.75em 1em;
}

header .block-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	max-width: 1200px;
}

.desktop-main-nav {
	display: none;
}

.mobile-menu-toggle {
	display: flex;
	align-items: center;
	font-size: 1em;
	line-height: 1;
	background: #fff;
	border: 0;
	padding: .5em;
	color: #444;
	text-transform: uppercase;
	-webkit-tap-highlight-color: transparent;
}

.mobile-menu-button-text {
	font-size: 0.875em; /* 14/16 */
	font-family: Raleway, sans-serif;
	font-weight: 500;
	
}

.mobile-nav-icon {
  float: left;
  position: relative;
  margin: 3px 0 0 5px;
  width: 1em;
  height: 1em;
  -webkit-transform: rotate(0);
  transform: rotate(0);
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
}

.mobile-nav-icon span {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: .125em;
  background: #444;
  opacity: 1;
  -webkit-transform: rotate(0);
  transform: rotate(0);
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.mobile-nav-icon span:nth-child(1) {
  top: 0;
}

.mobile-nav-icon span:nth-child(2), .mobile-nav-icon span:nth-child(3) {
  top: 5px;
}

.mobile-nav-icon span:nth-child(4) {
  top: 10px;
}

.is-showing .mobile-nav-icon span:nth-child(1), 
.is-showing .mobile-nav-icon span:nth-child(4) {
  top: .5em;
  width: 0;
  left: 50%;
}

.is-showing .mobile-nav-icon span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.is-showing .mobile-nav-icon span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.mobile-main-nav {
	position: absolute;
	right: 0;
	top: 100%;
	font-size: 0.875em; /* 14/16 */
	background: #02679A;
	color: #fff;
	z-index: 5;
	-webkit-transform: translate(100%,0);
	transform: translate(100%,0);
	-webkit-transition: transform .25s ease;
	transition: transform .25s ease;
}

.mobile-main-nav.is-showing {
	-webkit-transform: translate(0,0);
	transform: translate(0,0);
	box-shadow: -4px 4px 10px -4px rgba(0,0,0,.4);
}

.mobile-main-nav ul {
	list-style: none;
	padding: .5em 0;
	margin: 0;
	font-weight: 700;
	font-family: Raleway, sans-serif;
}

.mobile-main-nav ul ul  {
	font-weight: normal;
	padding: 0;
}

.mobile-main-nav a {
	display: block;
	color: #fff;
	text-decoration: none;
	padding: .5em 1.25em;
}

.mobile-main-nav .section-header {
	padding: .5em 1.25em 0;
}

.mobile-main-nav .no-link {
	padding: .5em 1.25em;
}

.mobile-main-nav .no-link a {
	padding: 0;
}

.mobile-main-nav .uppercase {
	text-transform: uppercase;
}

.logo {
	display: inline-block;
	text-indent: -999em;
	background: url("/images/logo.png") no-repeat;
	width: 158px;
	height: 48px;
	background-size: contain;
}

.content-wrapper {
	padding-bottom: 2em;
}

.hero-image {
	height: 0;
	background-color: #eee;
	/*padding-bottom: min(10.28%, 148px);*/
	padding-bottom: min(20%, 148px);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	background-image: url("/images/secondary-hero-mobile.jpg");
	
}

body.home .hero-image {
	padding-bottom: min(39%, 561px); /* 390 x 188 */
	background-color: #d2e6fe;
	background-image: url("/images/homepage-hero-mobile.jpg");
}

body.attorney-page h1,
body.secondary h1 {
	font-size: 1.875em; /* 30px */
	color: #02679A;
	margin: .5em 0;
}

body.secondary h1 {
	font-size: 1.5em;
}

body.home h1 {
	background: #02679A;
	color: #fff;
	font-family: Raleway, sans-serif;
	font-size: 1.5em; /* 24/16 */
	line-height: 1.1666666667;
	text-align: center;
	font-weight: 500;
	padding: .4em;
}

.main-content {
	padding: 0 1em;
	font-family: arial, sans-serif;
	margin: 0 auto;
	max-width: 1200px;
}

body.secondary .main-content {
	max-width: 950px;
}

body.attorney-page .main-content {
	padding-top: 1em;
}

.main-content h2 {
	font-size: 1.25em; /* 20/16 */
	text-transform: uppercase;
	color: #02679A;
	margin: 1em 0;
}

body.attorney-page .main-content h2 {
	text-transform: none;
}

.main-content p {
	font-size: 1.125em;
	margin: 1em 0;
}

body.secondary .main-content ul,
body.secondary .main-content ol {
	font-size: 1.125em;
}

body.secondary .main-content li:not(:last-child) {
	margin-bottom: 1em;
}

.attorneys-wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fit,	minmax(235px, 1fr));
	gap: 30px;
	border-bottom: 5px solid #02679A;
	padding-bottom: 1em;
	margin-bottom: 1em;
}

.attorney h3 {
	font-family: Raleway, sans-serif;
	text-align: center;
	font-size: 1.25em; /* 20/16 */
	line-height: 1.2;
	font-weight: 600;
	margin: .5em 0;
}

.attorney p {
	/*font-size: 1em;*/
}

.attorney a,
.attorney-text a {
	color: #02679A;
	text-decoration: none;
}

body.secondary .main-content a {
	color: #02679A;
}

.attorney img {
	max-width: 200px;
	margin: 0 auto;
}

.attorney a:hover,
.attorney a:focus-visible,
.attorney-text a:hover,
.attorney-text a:focus-visible {
	text-decoration: underline;
}

.practice-areas-wrapper {
	margin: 1.5em 0;
	display: grid;
	grid-template-columns: repeat(auto-fit,	minmax(min(100%,300px), 1fr));
	gap: 15px 30px;
}

.practice-area h3 {
	display: grid;
	place-content: center;
	text-align: center;
	background: #02679A;
	color: #fff;
	font-family: Raleway, sans-serif;
	font-weight: 400;
	font-size: 1.5em; /* 24/16 */
	line-height: 1.25;
	padding: 1em .75em;
	min-height: 5.8333333333em; /* 140/24 */
}

.practice-area ul {
	padding-left: 1.25em;
}

.practice-area li {
	margin-bottom: .5em;
}


footer {
	background: #02679A;
	color: #fff;
	padding: 1em 1em 2em;
}

footer .block-wrapper {
	font-size: 0.8125em; /* 13/16 */
	font-family: Raleway, sans-serif;
	font-weight: 500;
}

footer a {
	color: #fff;
	text-decoration: none;
}

footer a:hover,
footer a:focus-visible {
	text-decoration: underline;
}

footer a.underline {
	text-decoration: underline;
}

footer p {
	line-height: 1.5384615385; /* 20/13 */
}

footer p + p {
	margin-top: 1em;
}

.footer-logo {
	text-indent: -999em;
	width: 82px;
	height: 98px;
	background: url("/images/logo-white.png") no-repeat;
	background-size: contain;
	margin-bottom: 3em;
}

footer .block-wrapper {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	max-width: 1200px;
}

footer .contact {
	margin-left: 30px;
}

footer .uppercase {
	text-transform: uppercase;
}

footer .terms a {
	text-decoration: underline;
}

@media screen and (min-width:28.125em) { /* 450px */
	.hero-image {
		background-image: url("/images/secondary-hero-tablet.jpg");
	}
	
	body.home .hero-image {
		background-image: url("/images/homepage-hero-tablet.jpg");
	}
	
	footer .contact {
		margin-right: 30px;
	}

} /* 450px */

@media screen and (min-width:31.25em) { /* 500px */	
	body.attorney-page .main-wrapper {
		display: flex;
	}
	
	body.attorney-page .attorney-image {
		width: 31.66666666667%;
		margin-right: 2.5%;
		padding-top: 11px;
	}
	
	body.attorney-page .attorney-text {
		flex: 1;
	}
	
	body.attorney-page .attorney-text h1 {
		margin-top: 0;
	}

} /* 500px */

@media screen and (min-width:48em) { /* 768px */
	header {
		padding-top: 1.5em;
		padding-bottom: 1.5em;
	}
	
	.logo {
		width: 231px;
		height: 70px;
	}
	
	.mobile-menu-toggle,
	.mobile-main-nav {
		display: none;
	}
	
	.desktop-main-nav {
		display: block;
	}
	
	.desktop-main-nav > ul {
		display: flex;
		list-style: none;
		margin: 0;
		padding: 0;
		line-height: 1;
	}
	
	.desktop-main-nav > ul > li {
		font-size: 0.875em; /* 14/16 */
		margin-left: 2.25em;
		position: relative;
	}
	
	.desktop-main-nav > ul > li:first-child {
		margin-left: 0;
	}
	
	.desktop-main-nav > ul > li:last-child {
		margin-left: .65em;
		padding-left: .65em;
		border-left: 2px solid #02679A;
	}
	
	.desktop-main-nav > ul a,
	.desktop-main-nav > ul span {
		text-decoration: none;
		text-transform: uppercase;
		color: #02679A;
		font-family: Raleway, sans-serif;
		font-weight: 700;
	}
	
	.desktop-main-nav > ul a.lowercase {
		text-transform: none;
	}
	
	.desktop-main-nav > ul a:hover,
	.desktop-main-nav > ul a:focus-visible {
		text-decoration: underline;
	}
	
	.desktop-main-nav .subnav-toggle .icon {
		width: .75em;
		height: .75em;
		
	}
	
	ul.desktop-subnav {
		position: absolute;
		z-index: 10;
		width: 10em;
		background: #02679A;
		padding: .5em 0;
		margin-top: .5em;
	}
	
	.desktop-subnav > li a {
		display: block;
		color: #fff;
		text-transform: none;
		font-weight: 500;
		padding: .5em 1em;
	}
	
	body.attorney-page .main-content {
		padding-top: 3em;
	}
	
	body.secondary h1 {
		font-size: 1.875em;
		margin: 1em 0;
	}
	
	body.home h1 {
		font-size: 2em;
		padding: .75em .5em;
	}
	
	footer {
		padding: 2em 1.5em;
	}
	
	.footer-logo {
		margin-bottom: 0;
	}
	
	footer .contact {
		flex: 1;
	}
	
	footer .block-wrapper {
		justify-content: space-between;
	}
}
/* 768px */

@media screen and (min-width:50em) { /* 800px */
	header, footer {
		padding-left: 2em;
		padding-right: 2em;
	}
	
	.attorney img {
		max-width: 100%;
	}
} /* 800px */



@media screen and (min-width:75em) { /* 1200px */
	.hero-image {
		background-image: url("/images/secondary-hero-desktop.jpg");
	}
	
	body.home .hero-image {
		background-image: url("/images/homepage-hero-desktop.jpg");
	}
	
	body.home h1 {
		font-size: 2.75em; /* 44px */
		line-height: 1.3181818182;
		padding: .5em;
		margin-bottom: 1em;
	}
	
	.main-content h2 {
		font-size: 1.5em; /* 24px */
	}
	
	body.attorney-page .main-content h2 {
		font-size: 1.25em;
	}
	
	.attorneys-wrapper {
		padding-bottom: 1.5em;
		margin-bottom: 2.5em;
	}
	
	.practice-areas-wrapper {
		margin-top: 2.5em;
	}
	
	.practice-area h3 {
		font-size: 1.75em; /* 28px */
		padding: 1em 1.5em;
		min-height: 5.7857142857em; /* 162px */
	}
	
} /* 1200px */

@media screen and (min-width:80em) { /* 1280px */
	header, footer {
		padding-left: 1.5em;
		padding-right: 1.5em;
	}
} /* 1280px */
