/*
Theme Name: Law Firm Sites - Guttenberg
Theme URI: http://www.lawfirmsites.com/
Description: A simple responsive theme based on the Bootstrap framework. Includes multiple page templates, two different sidebars and a theme options panel.
Version: 1
Author: Law Firm Sites
Author URI: http://www.lawfirmsites.com/
Tags: black, white, one-column, two-columns, flexible-width, custom-background, custom-colors, custom-menu, full-width-template, theme-options
License: 
License URI: 
*/

/* FONT FACE
=================================*/

@import url("https://use.typekit.net/rsz2zpy.css");



:root {
  /*FONT SIZE*/
  --px12: 0.75rem;
  --px14: 0.875rem;
  --px15: 0.938rem;
  --px16: 1rem;
  --px17: 1.063rem;
  --px18: 1.125rem;
  --px20: 1.25rem;
  --px21: 1.35rem;
  --px22: 1.375rem;
  --px23: 1.438rem;
  --px24: 1.5rem;
  --px25: 1.563rem;
  --px26: 1.625rem;
  --px27: 1.688rem;
  --px28: 1.75rem;
  --px30: 1.875rem;
  --px32: 2rem;
  --px34: 2.125rem;
  --px35: 2.188rem;
  --px36: 2.25rem;
  --px38: 2.375rem;
  --px40: 2.5rem;
  --px42: 2.625rem;
  --px45: 2.813rem;
  --px46: 2.875rem;
  --px48: 3rem;
  --px50: 3.125rem;
  --px54: 3.375rem;
  --px55: 3.438rem;
  --px60: 3.75rem;
  --px63: 3.938rem;
  --px66: 4.125rem;
  --px61: 3.813rem;
  --px65: 4.063rem;
  --px69: 4.313rem;
  --px72: 4.5rem;
  --px80: 5rem;
  --px90: 5.625rem;
  --px92: 5.75rem;
  --px95: 5.938rem;
  --px96: 6rem;
  --px100: 6.25rem;
  --px103: 6.438rem;
  --px105: 6.563rem;
  --px125: 7.813rem;
  --px126: 7.875rem;


  --ArticulatCF: "articulat-cf", sans-serif;
  --Begum: "begum", sans-serif;
  --P22Marcel: "p22-marcel-script-pro", sans-serif;
  --SweetSans: "sweet-sans-pro", sans-serif;
  

  /*COLOR*/
  --Black: #000;
  --DarkText: #1C1B1F;
  --Red: #AA2B3D;
  --LightBlue: #B2C4CC;
  --Green: #80CAD2;
  --HoverGreen: #467A7F;
  --DarkGreen: #1E4D52;
}


/* BODY
=================================*/

html { font-size: 0.833333vw; scroll-behavior: smooth; }

body { padding: 0; margin: 0; font-size: var(--px20); font-family:var(--ArticulatCF); font-weight:600; line-height:1.46em; color: var(--DarkText); }

a:hover { outline: none; text-decoration: none; }

/* Accessibility: Focus styles for keyboard navigation */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
	outline: 2px solid #006FFF;
	outline-offset: 2px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid #006FFF;
	outline-offset: 2px;
}

.scroll { transition: .6s; -moz-transition: .6s; -ms-transition: .6s; -webkit-transition: .6s; -o-transition: .6s; } 

.sub-menu , .repCasesBtn , a.imgHover:before ,
a , input , button , .sub-menu { transition: .5s; -moz-transition: .5s; -ms-transition: .5s; -webkit-transition: .5s; -o-transition: .5s; }

img { max-width: 100%; width: auto; height: auto; object-fit: cover; object-position: center; }

a.imgHover { display: inline-block; position: relative; vertical-align: top; }

a.imgHover img { display: block; margin: 0; }

a.imgHover:before { content: ''; display: inline-block; position: absolute; top: 0; left: 0; bottom: 0; width: 100%; }

a.imgHover:hover:before { background-color: rgba(0,0,0,.5); }

.scroll.open { top: 0; }

.admin-bar .scroll.open { top: 32px; }

.scroll { position: fixed; display: none; top: -200px; left: 0; width: 100%; z-index: 5000; }

a.post-edit-link { display: inline-block; color: #fff; padding: .4rem 2rem; background-color: #000; font: 1.25rem; position: fixed; bottom: 1rem; left: 1rem; z-index: 3000; }

a.post-edit-link:hover { background-color: #333; }

section:before,section:after { clear: both; display: block; content: ''; }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6, p { margin: 0; }

h1, .h1 { display: block; font-size: var(--px66); line-height: 1.135em; font-family: var(--Begum); font-weight: 400; }

h1 em,
.h1 em,
h2 em,
.h2 em,
h3 em,
.h3 em { font-family: var(--P22Marcel); font-style: normal; }

h2, .h2 { display: block; font-size: var(--px54); line-height: 1.135em; font-family: var(--Begum); font-weight: 400; }

h3, .h3 { display: block; font-size: var(--px36); line-height: 1.135em; font-family: var(--Begum); font-weight: 400; }

h4, .h4 { display: block; font-size: var(--px24); }

h5, .h5 { display: block; font-size: var(--px18); line-height: 1.3333; text-transform: uppercase; font-weight: 700; }

h6, .h6 { display: block; }

.sub {
  display: block; font-size: var(--px20); line-height: 1.135; font-family: var(--ArticulatCF); font-weight: 600; text-transform: uppercase;
  letter-spacing: .11em;
}


a.skip-main { 
	left: -999px; 
	position: absolute; 
	top: auto; 
	width: 1px; 
	height: 1px; 
	overflow: hidden; 
	z-index: 999; 
}

a.skip-main:focus {
	left: 0;
	top: 0;
	width: auto;
	height: auto;
	overflow: visible;
	padding: 1rem;
	background-color: #000;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
}

/* Screen reader only class */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

.sr-only-focusable:focus {
	position: static;
	width: auto;
	height: auto;
	padding: inherit;
	margin: inherit;
	overflow: visible;
	clip: auto;
	white-space: normal;
}

svg { fill:inherit; stroke:inherit; }

picture { display:block; }

[width="11"] { width:0.688rem; }
[width="16"] { width:1rem; }
[width="18"] { width:1.175rem; }
[width="20"] { width:1.25rem; }
[width="22"] { width:1.375rem; }
[width="34"] { width:2.125rem; }
[width="61"] { width:3.813rem; }

/* FOOTER
=================================*/

#footer { 
  background-color: var(--DarkGreen); color: #fff; padding: 7.625rem 0 3.563rem;
}

.footer-top {
  justify-content: flex-end; gap: 0 10.625rem; line-height: 1.46em; padding-bottom: 5.75rem;
}
.footer-left {
  margin-right: auto;
}
.footer-item {
  display: flex; flex-direction: column; gap: 1rem;
}
.footer-item .stretch-text {
  flex: 1;
}
.footer-item .footer-item-title {
  font-weight: 800; margin-bottom: 4.125rem;
}
.footer-item a {
  color: var(--Green);
}
.footer-item a:hover,
.footer-item a:focus {
  color: var(--HoverGreen);
}
.footer-logo {
  display: block; max-width: 7.125rem; margin-bottom: 4.25rem;
}
.footer-logo-text {
  font-family: var(--SweetSans); font-weight: 500; font-size: var(--px40); line-height: 1.121em; text-transform: uppercase;
}

.footer-bottom {
  border-top: 1px solid #fff; padding-top: 2.875rem; font-size: var(--px18); line-height: 1.46em; font-weight: 400;
}
.footer-bottom a {
  color: #fff;
}
.footer-bottom a:hover,
.footer-bottom a:focus {
  color: var(--Green);
}

.footer-bottom p span { margin: 0 .25rem;}

/* HEADER
=================================*/
.navbar-default { border-radius: 0; margin: 0; min-height: 0; background-color: transparent; color: #fff; border: none; padding: 2.25rem 0 0; }

.navbar-default .wrap {
  align-items: center; gap: 0 6.188rem; justify-content: flex-end;
}

.main-menu { list-style: none; padding: 0; margin: 0; }

.main-menu li { position: relative; padding: 0; }

.main-menu li a { display: block; font-size: var(--px20); line-height: 1.135em; font-weight: 600; font-family: var(--ArticulatCF); }

.logo { display: inline-block; vertical-align: top; max-width: 26.25rem; margin: 0rem 0 0rem; vertical-align: top; }

ul.paginations { list-style:none; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap: 1rem; }

.btn { 
  display:inline-flex; text-align:center; gap: 1rem; justify-content:center; background-color: var(--Green); color: var(--Black); font-size: var(--px20);
  font-family: var(--ArticulatCF); font-weight: 600; line-height: 1.135em; padding: 1rem 1.938rem; border-radius: 0; border: none;
  color:var(--Black); text-decoration: none !important;
}

.btn:hover,
.btn:focus { background-color:#111; color:#fff; fill:#fff; }




/* Blocks
=================================*/
.editor-visual-editor__post-title-wrapper { text-align:center; max-width:800px; margin: 0 auto 3rem; }

.editor-styles-wrapper :where(:not(.is-layout-flex,.is-layout-grid))>.wp-block,
html :where(.wp-block) { margin:0; max-width:unset; }

#home-banner { background-color:#000; color:#fff; padding:20.813rem 0 4.5rem; position:relative; z-index: 10; line-height: 1.68em; }

#home-banner:before {
  content: ''; display: block; width: 100%; height: 100%; background-color: rgba(0,0,0,.35); position: absolute; top: 0; left: 0; z-index: -1;
}

#home-banner .sub { margin-bottom: 2.813rem; }

#home-banner .h1 { line-height: 1.5em; margin-bottom: 2rem; }

#home-banner .h1 em { display: inline-block; font-size: var(--px125); }

#home-banner .h1 + p { margin-bottom: 8.75rem; }

#home-banner-video {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -10;
}

#home-about {
  padding-bottom: .75rem;
}

#home-about .wrap {
  position: relative; z-index: 10; padding-top: 6.875rem; padding-left: 10.938rem; padding-bottom: 9.813rem;
}

#home-about .wrap:before {
  content: ''; display: block; width: 100%; position: absolute; top: 0; left: 0; height: 100%; z-index: -1;
  background-image: url('./assets/images/LS.png'); background-size: 100% auto; background-position: center bottom; background-repeat: no-repeat;
}

.sub.square {
  display: flex; flex-wrap: wrap; gap: 0 1.375rem; align-items: center; color: var(--HoverGreen);
}
.sub.square:before {
  content: ''; display: block; width: 0.688rem; height: 0.688rem; background-color: var(--Green);
}
.sub.square span {
  display: block; flex: 1;
}

#home-about .sub {
  margin-bottom: 1.875rem;
}

#home-about .h2 {
  line-height: 1.135em; display: block; font-size: var(--px54); color: var(--HoverGreen); margin-bottom: 2.938rem;
}

#home-about .h2 span {
  display: inline-block; line-height: 1.135em;
}
#home-about .h2 em {
  display: inline-block; font-size: var(--px103); line-height: 1.135em;
}

#home-about .wrap .flex {
  gap: 0 2.625rem; align-items: flex-end;
}

#home-about .wrap .text {
  flex: 1; max-width: 44.5rem;
}

#home-about .home-about-content {
  max-width: 62.625rem;
}
#home-about .home-about-content .btn { margin-bottom: 0.625rem; }

#video-cta {
  position: relative; z-index: 10; padding: 3rem 1.5rem; text-align: center; background-color: var(--DarkGreen); color: #fff; z-index: 10; border-radius: .625rem;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; min-height: 35.438rem;
}
#video-cta:before {
  content: ''; display: block; width: 100%; position: absolute; top: 0; left: 0; height: 100%; z-index: -1;
  background-color: rgba(0,0,0,.36); border-radius: .625rem;
}
#video-cta-video {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -10; border-radius: .625rem;
}
#video-cta .text em { display: block; font-size: 11rem; line-height: 1.135em; font-family: var(--P22Marcel); font-weight: 400; font-style: normal;
  margin-bottom: -3.938rem;
}

#video-cta .text span {
  display: block; font-size: var(--px54); line-height: 1.135em; font-family: var(--Begum); font-weight: 400; letter-spacing: -.04em;
}
#home-video-cta {
  padding-top: 5.125rem;
}

#home-practice-areas { 
  background-color: #F0F0F0; 
}
#home-practice-areas .col-left {
  font-size: var(--px20); position: relative; z-index: 3;
}
#home-practice-areas .col-left:before {
  content: ''; display: block; width: 100%; position: absolute; top: 0; left: 0; height: 100%; z-index: -1;
  background-image: url('./assets/images/bottom-pa-bg.png'); background-size: cover; background-position: center; background-repeat: no-repeat;
}
#home-practice-areas .sub {
  margin-bottom: 1.375rem;
}
#home-practice-areas .h2 {
  line-height: 1.135em; display: block; color: var(--HoverGreen); margin-bottom: 13.938rem;
}

#home-practice-areas .h2 span {
  line-height: 1.135em; display: block; font-size: var(--px54); letter-spacing: -.04em;
}

#home-practice-areas .h2 em {
  line-height: 1.135em; display: block; font-size: var(--px103); margin-bottom: -1.9rem;
}

#home-practice-areas .col-right { }

#home-practice-areas .col-right ul {
  list-style: none; padding: 0; margin: 0; width: 100%;
}
#home-practice-areas .col-right ul li {
  flex: 1 1 calc(50% - 2rem); margin-bottom: 2rem; max-width: 31.875rem;
}
#home-practice-areas .col-right ul span.title,
#home-practice-areas .col-right ul a {
  display: flex; flex-wrap: wrap; gap: 0 2rem; align-items: center; background-color: #fff; align-items: center; min-height: 5.625rem;
  padding: 1rem 1.813rem; padding-left: 3.688rem; border-radius: .625rem; color: var(--DarkText);
}
#home-practice-areas .col-right ul a span.text {
  flex: 1; font-size: var(--px18); display: inline-block; line-height: 1.36em;
}
#home-practice-areas .col-right ul a span.svg {
  border-radius: 100%; width: 2.063rem; height: 2.063rem; display: flex; background-color: var(--Green); fill: #fff; justify-content: center; align-items: center;
  transition: .5s;
}

#home-practice-areas .col-right ul a:hover,
#home-practice-areas .col-right ul a:focus {
  background-color: var(--Green); color: var(--DarkText);
}



#home-practice-areas .col-right ul a:hover span.svg,
#home-practice-areas .col-right ul a:focus span.svg {
  background-color: #fff; fill: var(--Green);
}

#page-top-banner {
  position: relative; z-index: 10; background-size: cover; background-position: center; background-repeat: no-repeat; background-color: var(--Green);
  background-image: url('./assets/images/banner-about.jpg');
}
#page-top-banner:before {
  content: ''; display: block; width: 100%; position: absolute; top: 0; left: 0; height: 100%; z-index: -1;
  background-color: rgba(0,0,0,.36);
}
.page-title {
  display: flex; flex-wrap: wrap; gap: 0 1rem; justify-content: center; padding: 16.5rem 0 5rem; min-height: 32.75rem;
}

.page-title .h1 {
  font-size: var(--px66); color: #fff; line-height: 1.135em;
}

#about-main {
  position: relative; z-index: 10; padding: 7.5rem 0 7.063rem;
}
#about-main:before {
  content: ''; display: block; width: 100%; position: absolute; top: 0; left: 0; height: 74.688rem; z-index: -1;
  background-image: url('./assets/images/about-main-bg.png'); background-size: cover; background-position: center; background-repeat: no-repeat;
}

#about-main .sub { margin-bottom: 1.563rem; }

#about-main .wrap {
  gap: 0 5.375rem;
}
#about-main .content { flex: 1; }

#about-main h3 { line-height: 1.135em; display: block; font-size: var(--px54); color: var(--HoverGreen); margin-bottom: 2.938rem; }

#about-main p { margin-top: 2.75rem; }

#about-main .about-pic { max-width: 39.438rem; }

#about-main .about-pic img { border-radius: .625rem; }

#about-main #video-cta { margin-top: 8rem; }

#attorney-profile {
  padding: 7.5rem 0 10rem; background-image: url('./assets/images/bio-content-bg.png'); background-size: cover; background-position: center top; background-repeat: no-repeat;
}

#attorney-profile .wrap {
  gap: 0 6.25rem;
}
#attorney-profile picture {
  max-width: 38.625rem;
}
#attorney-profile .content { flex: 1; padding-top: 1.5rem; font-size: var(--px18); line-height: 1.36em; }

#attorney-profile .content .sub { margin-bottom: 2rem; }

#attorney-profile .content h2 { line-height: 1.135em; display: block; font-size: var(--px54); color: var(--HoverGreen); margin-bottom: 0; }

#attorney-profile .content .position { font-size: var(--px18); line-height: 1.36em; font-weight: 600; font-family: var(--ArticulatCF); }

#attorney-profile .content .content-block { border-top: 1px solid var(--HoverGreen); padding-top: 3.063rem; margin-top: 2.875rem; }

#attorney-profile .content .content-block p { margin-top: 1.5rem; }

#attorney-profile .content .content-block a { color: var(--DarkText); text-decoration: underline; }

#attorney-profile .content .content-block a:hover,
#attorney-profile .content .content-block a:focus { color: var(--Green); }

#attorney-profile .content .content-block p:first-child { margin-top: 0; }

#practice-areas-landing {
  background-image: url('./assets/images/bg-practice-landing.png'); background-size: cover; background-position: center top; background-repeat: no-repeat;
  padding: 10rem 0 6rem;
}
#practice-areas-landing .text-center .sub {
  display: inline-flex; margin-bottom: 3.525rem;
}

#practice-areas-landing h2 { line-height: 1.135em; display: block; color: var(--HoverGreen); margin-bottom: 2.5rem; }

#practice-areas-landing h2 em { display: inline-block; font-size: var(--px103); line-height: 1.135em; font-family: var(--P22Marcel); font-weight: 400; font-style: normal; margin-bottom: -1.9rem; }

#practice-areas-landing h2 span { display: inline-block; font-size: var(--px54); line-height: 1.135em; font-family: var(--Begum); font-weight: 400; letter-spacing: -.04em; }

#practice-areas-landing .text-center p { max-width: 53.5rem; margin: 0 auto; }

.practice-area-item {
  flex: 1 1 calc(100%/3 - 1.938rem); max-width: 25.688rem; position: relative; z-index: 10;
}
.practice-area-item h3 {
  font-size: var(--px30); line-height: 1.135em; display: block; color: #fff; margin-bottom: 0; max-width: 18.75rem;
}
.practice-area-item img {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -10; object-position: center;
}
.practice-area-item span,
.practice-area-item a {
  color: #fff; display: flex; flex-wrap: wrap; align-items: flex-end; padding: 2.5rem 2rem; min-height: 27.5rem; position: relative; z-index: 10;
}

.practice-area-item span:before,
.practice-area-item a:before {
  content: ''; display: block; width: 100%; position: absolute; top: 0; left: 0; height: 100%; z-index: -1;
  background: linear-gradient(180deg, rgba(67, 70, 86, 0) 0%, #143538 100%); transition: .5s;
}

.practice-areas-list {
  display: flex; flex-wrap: wrap; gap: 2.438rem 1.938rem; max-width: 80.938rem; margin: 5.188rem auto 0;
}

.practice-area-item-simple {
  flex: 1 1 calc(100%/3 - 1.938rem); margin-bottom: 2rem; max-width: 31.875rem; display: flex; flex-wrap: wrap; gap: 0 2rem; align-items: center; background-color: #fff; align-items: center; min-height: 5.625rem;
  padding: 1rem 1.813rem; padding-left: 3.688rem; border-radius: .625rem; color: var(--DarkText); box-shadow: 0 0 .625rem rgba(0,0,0,.1);
}

#pa-single {
  background-image: url('./assets/images/bg-pa-single.png'); background-size: cover; background-position: center top; background-repeat: no-repeat;
  padding: 7.563rem 0 5rem; line-height: 1.46em; font-size: var(--px20);
}

#pa-single .content {
  max-width: 43.875rem; flex: 1; 
}
#pa-single .content .sub { margin-bottom: 1.563rem; }

#pa-single .content h2 { font-size: var(--px54); line-height: 1.135em; display: block; color: var(--HoverGreen); margin-bottom: 1.25rem; }

#pa-single .content .image { margin-bottom: 3rem; }

#pa-single .content .image img {
  width: 100%; height: 19.375rem; object-fit: cover; object-position: center; border-radius: .625rem;
}
#pa-single .content p { margin-bottom: 1.813rem; }

#pa-single .content p a {
  color: var(--DarkText); text-decoration: underline;
}

#pa-single .content p a:hover,
#pa-single .content p a:focus {
  color: var(--Green);
}

#pa-single .content ul { margin-bottom: 1.813rem; }

#pa-single .wrap {
  gap: 0 2rem; justify-content: space-between;
}

.practice-areas-asidebar {
  flex: 1; max-width: 38.625rem; background-color: #E6E6E6; padding: 4rem 3.875rem 4rem;
}

.practice-areas-asidebar .sub {
  font-size: var(--px16); margin-bottom: 3rem;
}

.practice-areas-asidebar ul {
  list-style: none; padding: 0; margin: 0; font-size: var(--px26); font-family: var(--Begum); line-height: 1.25em; font-weight: 400;
}
.practice-areas-asidebar ul li { }

.practice-areas-asidebar ul li a { display: flex; flex-wrap: wrap; align-items: center; gap: 0 2.375rem; color: var(--HoverGreen); fill: var(--Green);}
.practice-areas-asidebar ul li a span { flex:1; }
.practice-areas-asidebar ul li a svg { display: block; }

.practice-areas-asidebar ul li + li { padding-top: 1.5rem; border-top: 1px solid var(--Green); margin-top: 2.125rem; }

.pa-single-banner {
  background-image: url('./assets/images/banner-practice.jpg');
}

#default-content {
  padding: 6rem 0 6rem;
}

#default-content h2 { color: var(--HoverGreen); margin-bottom: 1.5rem; }

#default-content h3 {
  margin-bottom: 1rem;
}

#default-content p { margin-bottom: 1.813rem; }

#default-content ul a,
#default-content p a {
  color: var(--DarkText); text-decoration: underline;
}


#default-content ul a:hover,
#default-content ul a:focus { color: var(--Green); }

#default-content p a:hover,
#default-content p a:focus { color: var(--Green); }

#default-content ul { margin-bottom: 1.813rem; }

#default-content ul li { margin-bottom: 0.5rem; }

#default-content ul li a { color: var(--DarkText); text-decoration: underline; }

#default-content ul li a:hover,
#default-content ul li a:focus { color: var(--Green); }

#contact-main {
  padding: 12.5rem 0 12.5rem; background-image: url('./assets/images/bg-contact-main.jpg'); background-size: cover; background-position: center top; background-repeat: no-repeat;
}

#contact-main .wrap {
  gap: 0 2rem; justify-content: space-between;
}

.contact-main-content {
  font-size: var(--px20); line-height: 1.46em;
}

.contact-main-content .sub { margin-bottom: 1.625rem; }

.contact-main-content h2 { line-height: 1.135em; display: block; font-size: var(--px54); color: var(--HoverGreen); margin-bottom: 2.5rem; }

.contact-main-content h2 span { display: block; font-size: var(--px54); line-height: 1.135em; font-family: var(--Begum); font-weight: 400; letter-spacing: -.04em; }

.contact-main-content h2 em { display: block; font-size: var(--px103); line-height: 1.135em; font-family: var(--P22Marcel); font-weight: 400; font-style: normal; margin-bottom: -1.9rem; }

.contact-main-content p { margin-bottom: 1rem; }

.contact-main-content address { margin-bottom: 1rem; }

.contact-main-content a { color: var(--Green);}

.contact-main-content a:hover,
.contact-main-content a:focus { color: var(--HoverGreen); }

.contact-main-content .flex {
  gap: 0 5.938rem;
}
.contact-main-info-item-title {
  margin-bottom: 1rem; font-weight: 700;
}

/* CONTACT FORM
=================================*/
.gform_confirmation_message { background-color: #ddffdd; color: #000; text-align: center; border: 2px solid #4CAF50; padding: 15px 20px; }

.contact-main-form { flex: 1; max-width: 52.438rem; }

.form-wrap { width: 100%; max-width: 52.438rem; line-height: 1.46em; }



.form-wrap h2 { }

.form-wrap ul { list-style: none; padding: 0; }

.gform_fields { margin: 0; }

.ginput_container--name {

}

.ginput_container--name > span,
.gfield { width: 100%; position: relative; margin-bottom: 1rem; display: block; }

.gfield.hidden_label { margin-bottom:0; }

.gfield.hidden_label legend.gfield_label ,
.gfield.hidden_label label.gfield_label { display:block; width: 1px; height: 1px; overflow: hidden; margin-bottom: -1px; opacity: 0; visibility: hidden; }

.form-wrap label ,
.gfield label.gfield_label { font-weight:600; color:var(--Dark); margin-bottom:1rem; line-height: 1.46em; }

.gfield label.gfield_label span {  }

.form-wrap textarea,
.form-wrap input[type="tel"],
.form-wrap input[type="email"],
.form-wrap input[type="text"] { background-color: transparent; display: block; width: 100%; border: 1px solid #000; border-radius: .625rem; line-height: 1.46em; padding: 1.188rem 2rem; }

.form-wrap textarea { resize: none; height: 8.125rem; }

.gform_footer { text-align: center; padding-top: 0rem; }

.gform_footer button { border-radius: 0; width: 100%; height: 3.625rem; background-color: #111; color: #fff; border: none; font-size: var(--px18); }

.gform_footer button:hover { background-color: #000; }

p.gform_required_legend { display:none; }

.form-wrap h2.gform_submission_error  { font-size:var(--px16); line-height:var(--px30); font-family:inherit; color:var(--Red); }

.gfield_validation_message, .validation_message  { color:var(--Red); font-size:var(--px16); line-height:var(--px30);  }

.ui-datepicker { padding: 1rem; background-color:#fff; max-width:20rem; font-size:15px; width: 100%; }

.ui-datepicker-header { display:flex; flex-wrap:wrap; gap: .5rem; align-items: center; margin-bottom: .5rem; }

.ui-datepicker-header > a span { display:none; }

.ui-datepicker-header > a { width: 1rem; font-size: 18px; }

.ui-datepicker-header > a:before { font-family: "Font Awesome 6 Pro"; font-weight: 900; content: "\f053"; }

.ui-datepicker-header .ui-datepicker-next { order:2; text-align: right;}

.ui-datepicker-header .ui-datepicker-next:before { content: "\f054"; }

.ui-datepicker-title { display: flex; flex-wrap: wrap; gap: .5rem; flex: 1; }

.ui-datepicker-title select { flex: 1; border: 1px solid #000; text-transform:uppercase; font-weight:500; background-color:transparent; }

table.ui-datepicker-calendar { width:100%; font-size: 14px; }

.ginput_container_consent {
  position: relative; z-index: 10; padding-left: 3rem;
}
.ginput_container_consent input[type="checkbox"] {
  position: absolute; top: 0; left: 0; opacity: 0; visibility: hidden;
}

.ginput_container_consent input[type="checkbox"] + label { }

.ginput_container_consent input[type="checkbox"] + label:before {
  content: ''; display: block; width: 2rem; height: 2rem; border: 1px solid #000; border-radius: .313rem; position: absolute; top: 0; left: 0; background-color: #fff;
  transition: .5s;
}
.ginput_container_consent input[type="checkbox"]:checked + label:before {
  background-color: var(--Green);
}

.gfield--type-textarea {
  margin-bottom: 2.25rem;
}


.lfs-disclaimer {
  position: fixed; left: .5rem; bottom: 1.125rem; z-index: 5000; background-color: rgba(255,255,255,.14); padding: .625rem .625rem .625rem .5rem;
}

@media ( min-width: 768px ) { 

}

@media ( min-width: 992px ) {



  #home-practice-areas .col-left .text-block,
  #home-practice-areas .col-right {
    transition: 2s ease-out; opacity: 0; visibility: hidden;
  }
  #home-about .home-about-content {
    transition: 2s ease-out; opacity: 0; visibility: hidden;
  }

  #home-practice-areas .col-left.effect-on .text-block,
  #home-practice-areas .col-right.effect-on {
    opacity: 1; visibility: visible;
  }
  
  #home-about.effect-on .home-about-content {
    opacity: 1; visibility: visible;
  }

  #home-about .sub {
    transition: 2s ease-out; transform: translateX(2rem);
  }
  #home-about .h2 span.line1 {
    transition: 2s ease-out; transform: translateX(.625rem);
  }

  #home-practice-areas .sub {
    transition: 2s ease-out; transform: translateX(-8.125rem);
  }
  #home-practice-areas .h2 {
    transition: 2s ease-out; transform: translateX(-8.563rem);
  }

  #home-practice-areas .col-left .text {
    transition: 2s ease-out; transform: translateX(-8.563rem);
  }

  #home-practice-areas .col-left.effect-on .text,
  #home-practice-areas .effect-on .h2,
  #home-practice-areas .effect-on .sub,
  #home-about.effect-on .h2 span.line1,
  #home-about.effect-on .sub {
    transform: none;
  }

  .logo {
    margin-right: auto;
  }

  .gform_fields ,
  .ginput_container--name {
    display: flex; flex-wrap: wrap; gap: 0 1.688rem; align-items: center;
  }
  .gfield--width-half,
  .ginput_container--name > span {
    flex: 1 1 calc(100%/2 - 1.688rem); max-width: 25.375rem;
  }

  .gfield--type-submit {
    text-align: right; max-width: 19.375rem; margin-bottom: 0;
  }
  .gfield--input-type-consent {
    flex: 1; max-width: 33.375rem;
  }

  #attorney-profile .container { padding-left: 10.688rem; padding-right: 9.75rem; }

  #home-practice-areas .col-right ul {
    display: flex; flex-wrap: wrap; gap: 0 2rem;
  }

  #home-practice-areas .sub.square span {
    max-width: 10.313rem;
  }

  #home-video-cta {
    margin-bottom: -17.719rem; position: relative; z-index: 10;
  }

  #home-practice-areas .col-left {
    padding-top: 26.25rem; padding-left: 11.125rem; padding-right: 5.125rem; padding-bottom: 8.75rem; max-width: 35.438rem;
  }
  #home-practice-areas .col-right {
    padding-top: 26.25rem; flex: 1; padding-right: 11.125rem; padding-left: 7.938rem; padding-bottom: 8.75rem;
  }

  #home-practice-areas .container {
    padding: 0;
  }

  #header {
    position: absolute; top: 0; left: 0; width: 100%; z-index: 1000;
  }

  .footer-left {
    margin-right: auto;
  }

  .navbar-default .container {
    padding: 0 3rem;
  }

  .flex { display:flex; flex-wrap:wrap;  }

  .flex.between { justify-content:space-between; }
  
  .flex.center { justify-content:center; }

  .container { width:100%; max-width:120rem; padding:0 11.125rem; }

  .wrap { margin: 0 auto; width: 100%; }

  .main-menu { display:flex; flex-wrap:wrap; gap: 0 6.188rem; }

  .main-menu li { position: relative; }

  .main-menu li a { color: #fff; }
  
  .main-menu > li { display: inline-block; }

  .main-menu > li > a { position:relative; padding: 0.375rem 0; }

  .main-menu > li > a:after { content:''; width:0; height:0.313rem; background-color: var(--Green); transition:.5s; position:absolute; bottom:0; left:0; right:0; margin: 0 auto; }

  .main-menu > li > a:hover:after { width:100%; }
  
  .main-menu > li > .sub-menu { position: absolute; top: 100%; left: -1rem; width: 15rem; padding: 0; z-index: 200; opacity: 0; visibility: hidden; text-align: left; padding-top:.5rem }

  .main-menu > li:hover > .sub-menu { opacity: 1; visibility: visible; }
  
  .main-menu > li > .sub-menu > li { display: block; }
  
  .main-menu > li > .sub-menu > li > a { padding: .625rem 1rem; color: #fff; background-color: #111; }
  
  .main-menu > li > .sub-menu > li:hover > a { background-color: rgba(200,200,200); color:#111; }

}

@media ( min-width: 1901px ) {

  html { font-size:16px; }

}

@media ( min-width: 992px ) and ( max-width: 1399px ) {

  :root {

    /*FONT SIZE*/
    --px12: 0.95rem;
    --px14: 1.075rem;
    --px15: 1.138rem;
    --px16: 1.2rem;
    --px17: 1.263rem;
    --px18: 1.325rem;
    --px20: 1.45rem;
    --px21: 1.55rem;
    --px22: 1.575rem;
    --px28: 1.95rem;
  }

}

@media ( max-width: 991px ) {

  .navbar-default { padding: 0; }

  html { font-size: 16px; }

  body { padding-top: 0; }
  
  body.mean-container .mean-bar { position: fixed; top: 0; left: 0; width: 100%; z-index: 3000; padding-top: 3.25rem; background-color: transparent; transition: .5s; }

  body.mean-container.admin-bar .mean-bar { top: 32px; }
  
  body.mean-container .mean-nav {  }

  body.mean-container a.meanmenu-reveal { width: 2.738rem; box-sizing:border-box; height: auto; padding:0; text-align: center; color: #fff; right:1rem !important; top:2.125rem; }

  body.mean-container a.meanmenu-reveal span { height: 0.375rem; margin-top: 0; }

  body.mean-container a.meanmenu-reveal span + span { margin-top:0.563rem; }

  body.mean-container .mean-nav ul li a.mean-expand { height: auto; padding: 7px 12px !important; }

  #header .phone-number { display: none; }

  .logo { position: fixed; top: 1.7rem; left: 1rem; z-index: 3000; max-width: 13.25rem; }

  #home-about .wrap {
    padding-left: 0; padding-top: 5rem;
  }
  #home-about .wrap:before  {
    background-image: url('./assets/images/Union-mobile.png');  left: -15px; right: -15px; width: auto; height: 34rem;
  }
  .practice-areas-list {
    flex-direction: column; gap: 0;
  }
  #video-cta .text em {
    font-size: var(--px96); line-height: .735em; margin-bottom: 0;
  }
  #video-cta .text span {
    font-size: 2.125rem;
  }
  #video-cta {
    min-height: 34.375rem;
  }

  #home-practice-areas .col-right ul a {
    padding-left: 1rem; padding-right: 1rem;
  }
  .main-menu li a {
    font-size: var(--px16); line-height: normal;
  }

  body.mean-container.menu-open .mean-bar { background-color: var(--DarkGreen); }

  #home-banner {
    padding-top: 12.938rem; padding-bottom: 12.5rem;
  }
  #home-banner .h1 {
    font-size: var(--px46);
  }

  #home-banner .h1 em {
    line-height: 1.135em; font-size: 5.313rem;
  }
  #home-banner .h1 + p { margin-bottom: 1.25rem; }

  #home-about .h2 {
    font-size: var(--px34);
  }
  #home-about .h2 em {
    font-size: var(--px63);
  }
  #home-about .wrap {
    padding-bottom: 0;
  }
  #home-video-cta {
    padding-bottom: 4.313rem;
  }

  #home-practice-areas .col-left {
    padding: 3.875rem 0; position: unset;
  }
  #home-practice-areas .col-left:before { left: -15px; right: -15px; width: auto; }

  #home-practice-areas .h2 {
    margin-bottom: 1.375rem;
  }
  #home-practice-areas .col-right ul li { margin-bottom: 0.813rem; }

  #home-practice-areas .col-right {
    padding-bottom: 3.875rem;
  }

  #home-practice-areas .wrap { position: relative; z-index: 10; }

  #footer {
    text-align: center; padding-top: 6.25rem;
  }
  .footer-logo { margin: 0 auto 1.5rem; }
  
  .footer-left { margin-bottom: 3.875rem;}

  .footer-item .footer-item-title { margin-bottom: 1.625rem; }

  .footer-item + .footer-item { margin-top: 3.688rem; }

  .footer-bottom p { margin-bottom: 2.75rem; }

  .page-title .h1 { font-size: var(--px48); }

  .page-title {
    padding: 13.5rem 0 8rem; min-height: unset;
  }

  #attorney-profile {
    padding: 5.625rem 0;
  }
  #attorney-profile .content h2 { font-size: var(--px36); }
  
  #attorney-profile picture { margin-bottom: 2rem;}

  .footer-logo-text { font-size: var(--px30); }

  #practice-areas-landing h2 em { font-size: var(--px80); }

  #practice-areas-landing h2 span { font-size: var(--px36); }

  .practice-area-item span, 
  .practice-area-item a { min-height: 20.5rem; }

  .practice-areas-list { gap: 1em; flex-direction: column; }

  .practice-area-item h3 { font-size: var(--px24); }

  #pa-single .content h2 { font-size: var(--px40); }


  #pa-single,
  body { font-size: var(--px18); }

  .practice-areas-asidebar {
    padding: 4rem 1rem 4rem;
  }

  .practice-areas-asidebar ul li a span {
    font-size: var(--px20);
  }

  .contact-main-content h2 span { font-size: var(--px36); margin-bottom: 1rem; }

  .contact-main-content h2 em { font-size: var(--px66); line-height: .85em; margin-bottom: 0; }

  #contact-main {
    padding: 5.625rem 0;
  }

  .contact-main-form { margin-top: 4rem; }

  .lfs-disclaimer {
    display: none !important;
  }

}

@media ( max-width: 767px ) {

}