/*
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
=================================*/

/* @font-face { font-family: Satoshi; src: url('fonts/Satoshi-Regular.otf') format("opentype"); font-weight: normal; } */

@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap');

@import url("https://use.typekit.net/flb2bdu.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;
  --px33: 2.063rem;
  --px34: 2.125rem;
  --px35: 2.188rem;
  --px36: 2.25rem;
  --px38: 2.375rem;
  --px40: 2.5rem;
  --px42: 2.625rem;
  --px45: 2.813rem;
  --px48: 3rem;
  --px50: 3.125rem;
  --px55: 3.438rem;
  --px60: 3.75rem;
  --px61: 3.813rem;
  --px64: 4rem;
  --px65: 4.063rem;
  --px69: 4.313rem;
  --px72: 4.5rem;
  --px90: 5.625rem;
  --px92: 5.75rem;
  --px95: 5.938rem;
  --px96: 6rem;
  --px100: 6.25rem;
  --px126: 7.875rem;

  --JosefinSans: "Josefin Sans", sans-serif;
  --ProximaNova: "proxima-nova", sans-serif;

  /*COLOR*/
  --Black: #14231C;
  --Dark: #14231C;
  --Red: #AA2B3D;
  --NavyBlue: #011D2C;
  --Teal: #0C3247;
  --Caramel: #A3783F;
  --CaramelDark: #825F30;
  
}


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

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

body { padding: 0; margin: 0; font-size: var(--px20); font-family:var(--ProximaNova); font-weight:normal; line-height:1.4; color: var(--Black); }

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(--px64); line-height: 1em; font-family: var(--JosefinSans); letter-spacing: -0.04em; }

h2, .h2 { display: block; font-size: var(--px48); line-height: 1em; font-family: var(--JosefinSans); letter-spacing: -0.04em; }

h3, .h3 { display: block; font-size: var(--px36); }

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(--px16); line-height: 1.4em; font-family: var(--ProximaNova); font-weight: 500; text-transform: uppercase;
  letter-spacing: 0.27em; margin-bottom: 1rem;
}

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="15"] { width:0.938rem; }
[width="16"] { width:1rem; }
[width="18"] { width:1.175rem; }
[width="20"] { width:1.25rem; }
[width="22"] { width:1.375rem; }
[width="24"] { width:1.5rem; }
[width="25"] { width:1.563rem; }
[width="59"] { width:3.688rem; }

.container-full { margin: 0 auto; max-width: 120rem; }

/* HEADER
=================================*/
.navbar-default { border-radius: 0; margin: 0; min-height: 0; background-color: var(--Teal); color: #fff; border: none; padding: 0; 
  font-family: var(--JosefinSans); font-size: var(--px20); line-height: 1;
}

.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); }

.logo { display: inline-block; vertical-align: top; max-width: 20.375rem; 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; justify-content: center; align-items: center; text-align: center; border: none; border-radius: 0; color: #fff; 
  padding: 1.25rem 1rem; background-color: var(--Caramel); gap: 3.125rem; transition: all 0.3s ease-out; font-size: var(--px20); line-height: 1.4em;
  font-family: var(--JosefinSans); font-weight: 400; letter-spacing: 0; fill: #fff;
}

.btn:hover,
.btn:focus { background-color: var(--CaramelDark); gap: 5rem; color: #fff; }

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

.contact-number a {
  display:inline-flex; gap: 1.125rem; align-items: center; color:#fff; font-size: var(--px20); line-height: 1; font-family: var(--JosefinSans);
  min-height: 5.188rem; min-width: 15.563rem; background-color: var(--Caramel); fill: #fff; justify-content: center;
}
.contact-number a:hover,
.contact-number a:focus { background-color: var(--CaramelDark); gap: 2.25rem; }

/* CONTACT FORM
=================================*/

#contact-form {
  background-color: var(--Teal); color:#fff; padding: 0;
}
#contact-form a {
  color:#fff;
}
#contact-form .wrap {}

#contact-form picture { flex:1; max-width: 60rem; }

#contact-form .content-block { flex:1; max-width: 60rem; padding: 7.313rem; padding-left: 8.125rem;  }

#contact-form .content-block .sub {}

#contact-form .content-block .h1 { font-weight: 300; margin-bottom: 1.938rem; }

#contact-form .content-block .h1 strong { font-weight: 400; }

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

.form-wrap { margin: 0; font-size:var(--px18); line-height: 1.4em; font-family: var(--ProximaNova); font-weight: 400; line-height: 1.4em;

  ::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: #979797;
  }
  ::-moz-placeholder { /* Firefox 19+ */
    color: #979797;
  }
  :-ms-input-placeholder { /* IE 10+ */
    color: #979797;
  }
  :-moz-placeholder { /* Firefox 18- */
    color: #979797;
  }

}

.form-wrap label { font-weight: normal; }

.form-wrap h2 { }

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

.gform_fields { margin: 0; }

.gfield { width: 100%; position: relative; margin-bottom: 1rem; }

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

.ginput_container--name > span { display: block; margin-bottom: 1rem; }

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

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

.gfield legend.gfield_label,
.gfield label.gfield_label { font-weight:400; margin-bottom:.5rem; font-size: var(--px18); line-height: 1.4em; display: block; margin-bottom: 0.438rem; }

.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: #D9D9D9; display: block; width: 100%; border: none line-height: 1.4em; padding: 0.75rem 1.125rem; border: none;
}

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

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

.form-wrap .btn { min-width: 18.375rem; }

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 {
  display: flex; flex-wrap:wrap; gap: 0 1rem; align-items: center; min-height: 4.25rem;
}
.ginput_container_consent input {
  width: 1.688rem; height: 1.688rem;
}
.ginput_container_consent label {
  margin: 0; flex: 1;
}

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

#footer { background-color: #011D2C; color: #fff; padding: 8.125rem 0 3.563rem; font-size: var(--px20); }

.footer-top { gap: 0 12.313rem; justify-content: flex-end; }

.footer-top .div-block p { margin-bottom: 1rem; }

.footer-top .div-block p a { color: var(--Caramel); }

.footer-top .div-block p a:hover,
.footer-top .div-block p a:focus { color: #fff; }

.social-media {
  display:flex; flex-wrap:wrap; gap: 0 1.688rem; align-items: center; margin-bottom: 7.75rem;
}
.social-media a {
  fill: #A3783F;
}
.social-media a svg { display: block; }
.social-media a:hover,
.social-media a:focus { fill: #fff; }

.footer-bottom { color: #DBDBDB; font-weight: 400; margin-top:3rem;  }

.footer-bottom p {
  display: flex; flex-wrap:wrap; gap: 0 .625rem; align-items: center;
}

.footer-bottom strong { font-weight: 500; }

.footer-bottom a {
  color: #DBDBDB;
}
.footer-bottom a:hover,
.footer-bottom a:focus { color: var(--Caramel); }

/* 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:3rem 0; position:relative; z-index: 5; text-align: center; 
  padding: 27.375rem 0 9.438rem; background-size: cover; background-position: center; background-repeat: no-repeat;
}

#home-banner:before {
  content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(12, 50, 71, 0.7) 96.65%);
}
#home-banner .content-block { position: relative; z-index: 10; margin: 0 auto; max-width: 58.75rem; }

#home-banner .content-block h1 {
font-weight: 300; font-size: var(--px96); line-height: 1em; margin-bottom: 0.875rem;
}
#home-banner .content-block p {
  margin: 0 auto 3.938rem; max-width: 49.688rem; font-size: var(--px26); line-height: 1em;
}
#home-banner .content-block .btn {
  min-width: 23.75rem;
}

#home-about { background-color: #eee; overflow: hidden; }

#home-about picture { flex:1; max-width: 60rem; }

#home-about .content-block { flex:1; padding: 9.375rem 8.813rem 10rem 6.438rem; text-align: center; }

#home-about .content-block .sub { margin-bottom: 1rem; color: var(--Teal); }

#home-about .content-block .h1 { margin-bottom: 2.125rem; color: var(--Teal); }

#home-about .content-block p {
  margin: 0 auto 2.625rem; max-width: 39.438rem; font-size: var(--px20); line-height: 1.4em;
}
#home-about .content-block .btn {
  min-width: 22.125rem;
}

.practice-list {
  
}
.practice-list .practice-item {
  max-width: 51.188rem; background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; z-index: 10;
  color:#fff; padding: 3.688rem 4.438rem 3.688rem 5.5rem; display: flex; flex-wrap:wrap; align-items: flex-end; min-height: 28.25rem;
}
.practice-list .practice-item:before {
  content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1;
  background: linear-gradient(180deg, #0C3247 0%, #0C3247 100%); opacity: 0.7;
}
.practice-list .practice-item .flex {
  gap: 2rem; align-items: center; flex:1;
}
.practice-list .practice-item .flex .h2 {
  flex: 1; font-weight: 300;
}
.practice-list .practice-item .flex .h2 a {
  color:#fff;
}
.practice-list .btn {
  min-width: 16.875rem; border: 1px solid #fff;
}
.practice-list picture.primary-img {
  max-width: 51.188rem;
}
.practice-list .primary-practice-item {
  background-color: var(--Teal); color:#fff; padding: 5.313rem 5.5rem;
}
.practice-list .primary-practice-item h2 {
  font-weight: 300; margin-bottom: 1.875rem;
}
.practice-list .primary-practice-item h2 a {
  color:#fff;
}
.practice-list .primary-practice-item p {
  max-width: 35.188rem; color:#BDBDBD; margin-bottom: 2rem; line-clamp: 4; 
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;
}
.practice-list .primary-practice-item a.btn {
  border: none;
}
#home-practice-areas {
  padding: 8.125rem 0 0rem;
}
#home-practice-areas .h1 {
  font-weight: 300; margin-bottom: 4.563rem;
}
#home-practice-areas .h1 span {
  font-weight: 400;
}
#home-practice-areas .wrap {
  position: relative; z-index: 10;
}
#home-practice-areas .btn-view-all {
  min-width: 19.65rem;
}

#home-testimonials {
  background-image: url('./assets/images/testimonials-bg.jpg'); background-size: cover; background-position: center; background-repeat: no-repeat;
  padding: 22.375rem 0 10rem;
}
#home-testimonials .sub {
  margin-bottom: 3.438rem; font-weight: 500;
}
#home-testimonials .btn {
  min-width: 19.775rem; margin-top: 4.25rem;
}
.testimonials-list-wrap {
  margin: 0 auto; max-width: 74.938rem;
}
.testimonial-item {

}
.testimonial-item-content {
  
}
.testimonial-item-content p {
  font-size: var(--px48); line-height: 1.078em; font-weight: 300; letter-spacing: -0.04em; margin-bottom: 3.438rem;
}
.testimonial-item-author h3 {
  font-size: var(--px20); line-height: 1.4em; font-weight: 500; letter-spacing: 0; color: var(--Teal);
}
#home-attorneys {
  padding: 9.375rem 0 11.063rem; overflow: hidden;
}
#home-attorneys .wrap {
  gap: 0 10.375rem
}
#home-attorneys .content-block {
  max-width: 23.438rem;
}
#home-attorneys .content-block .sub {
  margin-bottom: 1.813rem;
}
#home-attorneys .content-block .h1 {
  margin-bottom: 2.625rem;
}
#home-attorneys .content-block p {
  margin-bottom: 3.813rem;
}
#home-attorneys .content-block .btn {
  min-width: 18.963rem;
}
.attorneys-item {
  max-width: 21.375rem;
}
.attorneys-item picture {
  margin-bottom: 2.063rem;
}
.attorneys-item picture img {
  height: 24.563rem; width: 100%; object-fit:cover; object-position:center;
}
.attorneys-item h3 {
  font-size: var(--px33); font-family: var(--JosefinSans);
}
.attorneys-item h3 a {
  color:#14231C; fill:#927A53; gap: 0 1rem; align-items: center;
}
.attorneys-item h3 span {
  flex: 1;
}
.attorneys-item p {
  font-size: var(--px16); line-height: 1.4em; font-weight: 500; letter-spacing: .27em; color: var(--Teal); text-transform: uppercase;
}
#home-attorneys .right-block {
  flex: 1; max-width: 67.363rem;
}
.control-block {
  display: flex; flex-wrap:wrap; gap: 0 2.5rem; align-items: center; margin-top: 3.563rem;
}
.control-block .progressBar {
  flex: 1; background-color: #7C7C7C; border-radius: 0.375rem;
}
.control-block .progressBar .progress {
  height: 0.375rem; background-color: #A3783F; height: 0.375rem; transition: all 0.3s ease-out; border-radius: 0.375rem;
}
.controls {
  display: flex; flex-wrap:wrap; gap: 0 0.875rem; align-items: center; 
}
.controls button {
  display: flex; flex-wrap:wrap; align-items: center; justify-content: center; border: none; background-color: var(--Caramel); cursor: pointer;
  width: 2.688rem; height: 2.688rem; border: none;
}
.controls button:hover,
.controls button:focus { background-color: var(--CaramelDark); }

#home-resources {
  padding: 3.875rem 0 6.875rem; background-color: #eee;
}
#home-resources .sub {
  margin-bottom: 1rem; font-weight: 500;
}
#home-resources .h1 {
  margin-bottom: 2.25rem;
}
#home-resources .btn {
  width: 14.75rem;
}
#home-resources .wrap {
  justify-content: space-between;
}
#home-resources .resources-block {
  flex: 1; max-width: 51.188rem;
}
.home-resources-item {
  display: flex; flex-wrap:wrap; gap: 0 3.125rem; align-items: center;
}
.home-resources-item + .home-resources-item {
  border-top: 1px solid #CDCDCD; padding-top: 5rem; margin-top: 5rem;
}
.home-resources-item img {
  width: 21.063rem; height: 12.875rem; object-fit:cover; object-position:center;
}
.home-resources-item-content {}
.home-resources-item-content h4 {
  margin-bottom: 1rem; font-size: var(--px32); line-height: 1.14em; font-weight: 500; letter-spacing: 0; margin-bottom: 1.375rem;
}
.home-resources-item-content p {
  margin-bottom: 2.25rem;
}
.home-resources-item-content a { text-decoration: underline; }
.home-resources-item-content a {
  color: #14231C;
}
.home-resources-item-content .rel-link {
  font-weight: 500; color: var(--Teal);
}

#page-top-banner {
  background-size: cover; background-position: center; background-repeat: no-repeat; background-image: url('./assets/images/banner-default.jpg');
  position: relative; z-index: 5; color: #fff; background-color: #D9D9D9;
}
#page-top-banner:before {
  position: absolute; display: block; width: 100%; height: 100%; content: ''; top: 0; left: 0; z-index: -1; bottom: 0; 
  content: ''; display: block; width: 100%; height: 100%; background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), rgba(0, 0, 0, 0.2);
}
.page-title {
  display: flex; flex-wrap:wrap; align-items: center; justify-content: center; text-align: center; min-height: 33.25rem;
}
.page-title .h1 {
  font-size: var(--px96); line-height: 1em; font-weight: 300; letter-spacing: -0.04em; margin-bottom: 0; color: #fff;
}
#firm-overview {
  padding: 6.25rem 0;
}
#firm-overview h2 {
  margin-bottom: 3.125rem; font-weight: 300;
}
#firm-overview h2 strong {
  font-weight: 400;
}
#firm-overview .flex {
  justify-content: center; gap: 0 5.25rem
}
#firm-overview .content-block {
  flex: 1; max-width: 44.875rem; padding: 2.719rem 3.625rem; display: flex; flex-wrap: wrap; align-items: center; background-color: var(--Teal); color: #fff;
}
#firm-overview .content-block + .content-block {
  background-color: #011D2C; padding: 2.719rem 2.094rem;
}
#firm-overview .content-block .text-block {
  font-size: var(--px20); line-height: 1.4em; font-weight: 500; letter-spacing: 0;
}
#firm-overview .content-block .text-block p + p {
  margin-top: 1.75rem;
}
#firm-overview .btn {
  min-width: 22.625rem; margin-top: 3.125rem;
}
#inner-page {
  padding: 6.25rem 0;
}
.practice-areas-single {
  gap: 0 6rem;
}

.practice-areas-single .content-block {
  flex: 1;
}
.practice-areas-single .content-block .sub {
  margin-bottom: 1.813rem;
}
.practice-areas-single .content-block .h1 {
  font-weight: normal; margin-bottom: 3.125rem; color: var(--Teal);
}
.practice-areas-single .content-block .btn {
  min-width: 22.625rem; margin-top: 1.375rem;
}
.practice-areas-sidebar {
  max-width: 45.188rem;
}
.practice-areas-sidebar picture {

}
article.the-content {

}
article.the-content h2 {
  margin-bottom: 1.75rem;
}
article.the-content h3 {
  margin-bottom: 1.5rem;
}
article.the-content ul {

}
article.the-content ul a {
  color: var(--Teal);
}
article.the-content ul a:hover,
article.the-content ul a:focus {
  color: var(--Caramel);
}
article.the-content p {
  margin-bottom: 1.75rem;
}
.other-practice-areas {
  background-color: var(--Teal); color: #fff; padding: 6.25rem 4.25rem; max-width: 37.313rem; margin-left: auto;
}
.other-practice-areas h2 {
  font-size: var(--px50); font-weight: normal; letter-spacing: -0.04em; padding-bottom: 2.5rem; border-bottom: 1px solid #fff; margin-bottom: 2.5rem;
}
.other-practice-areas ul {
  list-style: none; padding: 0; margin: 0;
}
.other-practice-areas ul li {
  
}
.other-practice-areas ul li a {
  display: flex; flex-wrap:wrap; gap: 0 1.375rem; align-items: center; color: #fff; align-items: center;
}
.other-practice-areas ul li a:hover,
.other-practice-areas ul li a:focus {
  color: var(--Caramel);
}
.other-practice-areas ul li a span.title {
  font-size: var(--px35); line-height: 1em; font-weight: 300; letter-spacing: 0; font-family: var(--JosefinSans); flex: 1;
}
.other-practice-areas ul li a span.arrow {
  display: flex; flex-wrap:wrap; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 1px solid var(--Caramel); 
  border-radius: 100%; transition: all 0.5s ease-out;
}
.other-practice-areas ul li a:hover span.arrow,
.other-practice-areas ul li a:focus span.arrow {
  background-color: var(--Caramel);
}
.other-practice-areas ul li a:hover span.arrow svg,
.other-practice-areas ul li a:focus span.arrow svg {
  fill: #fff;
}
.other-practice-areas ul li + li {
  margin-top: 1.5rem;
}
.testimonial-item-box {
  max-width: 32.438rem; border: 1px solid var(--Caramel); padding: 2.75rem 4.875rem; flex: 1 1 calc(100%/3 - 2.5rem);
}
#testimonials-results {
  display: flex; flex-wrap:wrap; gap: 3.125rem 2.5rem;
}
.loadmore-wrap {
  margin-top: 3.125rem;
}
.loadmore-wrap .btn {
  min-width: 16.438rem;
}
.testimonial-item-content-text {
  margin: 2.125rem 0;
}
#page-top-banner.testimonials-banner {
  background-image: url('./assets/images/banner-testimonials.jpg');
}

.attorneys-list-block {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 3.125rem
}
.attorneys-list-block .attorneys-item {
  max-width: 31.875rem;
}
#attorneys-single {
  padding: 6.25rem 0 0;
}
#attorneys-single .wrap { gap: 0 9rem; }
#attorneys-single .attorneys-single-content {
  flex: 1; order: 2; padding-bottom: 6.25rem;
}
#attorneys-single .attorneys-single-sidebar {
  width: 100%; max-width: 51rem;
}
.bio-heading-content {
  flex: 1; color: var(--Teal);
}
.bio-heading-content .sub { margin-bottom: 1.813rem; }

.bio-heading-content .h1 { font-weight: normal; }
.bio-badges {
  display: flex; flex-wrap:wrap; gap: 0 2.125rem;
}
.bio-heading { align-items: center; margin-bottom: 3.125rem; }

#attorneys-single .attorneys-single-content h2 {
  font-size: var(--px20); margin-bottom: 1.813rem; font-family: var(--ProximaNova); font-weight: normal; line-height: 1.4em; letter-spacing: 0;
}

#attorneys-single .attorneys-single-content ul + h2,
#attorneys-single .attorneys-single-content p + h2 {
  margin-top: 3.125rem;
}

#attorneys-single .attorneys-single-content p {
  margin-bottom: 1.563rem;
}
#attorneys-single .attorneys-single-content ul {
  margin-bottom: 1.563rem;
}
.david-curl-superlawyers {
  max-width: 8.375rem;
}
.david-certified-specialist {
  max-width: 8.375rem;
}
#attorneys-single .attorneys-single-content .btn {
  min-width: 22.625rem; margin-top: 1.563rem;
}
.other-attorneys {
  flex: 1; background-color: var(--Teal); color: #fff; padding-top: 13.063rem; padding-bottom: 13.063rem;
}
.other-attorneys h2 {
  font-size: var(--px50); font-weight: normal; letter-spacing: -0.04em; padding-bottom: 2.188rem; border-bottom: 1px solid #fff; margin-bottom: 2.188rem;
  max-width: 27.625rem;
}
.other-attorneys-list {
  max-width: 27.625rem; font-family: var(--JosefinSans); font-size: var(--px35); line-height: 1.078em; font-weight: normal; letter-spacing: 0;
}
.other-attorneys-list a {
  display: flex; flex-wrap:wrap; gap: 0 1.375rem; align-items: center; color: #fff; align-items: center;
}
.other-attorneys-list a:hover,
.other-attorneys-list a:focus {
  color: var(--Caramel);
}
.other-attorneys-list a span.name {
  flex: 1;
}
.other-attorneys-list a span.arrow {
  display: flex; flex-wrap:wrap; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 1px solid var(--Caramel); 
  border-radius: 100%; transition: all 0.5s ease-out;
}
.other-attorneys-list a:hover span.arrow,
.other-attorneys-list a:focus span.arrow {
  background-color: var(--Caramel);
}
.other-attorney + .other-attorney {
  margin-top: 2.188rem;
}
.attorneys-single-links {
  margin: 3.125rem 0 3.75rem;
}
.attorneys-single-links .attorneys-contacts {
  flex: 1;
}
.attorneys-single-links .attorneys-contacts span {
  
}
.attorneys-single-links .attorneys-contacts p {
  display: flex; flex-wrap:wrap; gap: 0 1.75rem; align-items: center;
}
.attorneys-single-links .attorneys-contacts p + p {
  margin-top: 0.875rem;
}
.attorneys-single-links .attorneys-contacts svg {
  display: block;
}
.attorneys-single-links .btn {
  min-width: 20rem;
}
#contact-page {
  padding: 6.25rem 0;
}
.contact-page-content {
  width: 100%; max-width: 51.188rem; background-image: url('./assets/images/map-contact-bg.jpg'); background-size: cover; background-position: left center; 
  background-repeat: no-repeat; color: #fff; padding: 5rem 5.5rem; display: flex; flex-wrap:wrap; align-items: center;
}
.contact-page-content .sub {
  font-size: var(--px26);
}
.contact-page-content p {
  font-size: var(--px30); margin-bottom: 2.25rem; line-height: 1.4em;
}
.contact-page-content .btn {
  min-width: 20.375rem;
}
#contact-page .map {
  flex: 1;
}
#contact-page .map .embed-responsive {
  height: 100%; min-height: 33.563rem;
}

.resources-landing-content {
  display: flex; flex-wrap:wrap; gap: 0 12rem;
}

.resources-landing-content .nav-pills {
  display: block; width: 100%; max-width: 32.438rem;
}
.resources-landing-content .nav-pills li {
  font-size: var(--px35);
}
.resources-landing-content .nav-pills li + li {
  margin-top: 1.375rem;
}
.resources-landing-content .nav-pills li a {
  line-height: 1.078em; font-weight: normal; letter-spacing: -.04em; border: 1px solid var(--Teal); padding: 1.5rem 1.125rem; color: var(--Teal);
  display: block; width: 100%; text-align: center;
}
.resources-landing-content .nav-pills li a.active {
  background-color: var(--Caramel); border-color: var(--Caramel); color: #fff;
}
.resources-landing-content .tab-content {
  flex: 1;
}
.tab-content>.tab-pane {
  min-height: 100%; 
}
.resources-landing-content .content {
  flex: 1; width: 100%; font-size: var(--px27); font-weight: 700;
}

.resources-landing-content .content ul {
  list-style: none; padding: 0; margin: 0;
}
.resources-landing-content .content ul li {
  position: relative; overflow: hidden; padding-left: 2.125rem; padding-top: 2.125rem; padding-bottom: 2.125rem; border-bottom: 1px solid var(--Caramel);
}
.resources-landing-content .content ul li:before {
  content: ''; display: block; position: absolute; top: 2.688rem; left: 0; width: 1.125rem; height: 1.125rem; background-color: var(--Caramel); 
}
.resources-landing-content .content ul a {
  color: #14231C;
}
.resources-landing-content .content ul a:hover,
.resources-landing-content .content ul a:focus {
  color: var(--Caramel);
}

.fromBottomFadeIn,
.fromLeftFadeIn {
  position: relative; opacity: 0;
}

.sitecol {
  gap: 2.5rem 3rem
}
.sitecol .col {
  flex: 1 1 calc(100%/4 - 3rem);
}
.trial-flex .col {
  flex: 1 1 calc(100%/6 - 3rem);
}
.trial-flex .col a {
  color: var(--Teal);
}
.trial-flex .col a:hover,
.trial-flex .col a:focus {
  color: var(--Caramel);
}


@media ( min-width: 768px ) { 

}

@media ( min-width: 992px ) {

  #home-about .content-block .sub {
    left: 37.5rem;
  }
  #home-about .content-block .h1 {
    left: 42.25rem;
  }
  #home-about .content-block p {
    left: 45.625rem;
  }
  #home-about .content-block .btn {
    left: 34.875rem;
  }
  #home-testimonials {
    overflow: hidden;
  }
  #home-testimonials .wrap {
    bottom: -31.875rem
  }
  .attorneys-list {
    left: 56.813rem;
  }
  #contact-form {
    overflow: hidden;
  }
  #contact-form picture {
    left: -48.688rem;
  }

  .resources-landing-content .content ul {
    column-count: 2; column-gap: 11.875rem;
  }

  .tab-content>.active {
    display: flex; flex-wrap:wrap; align-items: center;
  }

  #attorneys-single .attorneys-single-sidebar {
    display: flex; flex-wrap:wrap; flex-direction: column;
  }
  .other-attorneys {
    flex: 1;
  }

  .other-attorneys,
  .attorneys-single-sidebar-content {
    padding-left: 8.813rem;
  }

  #attorneys-single .container { padding-left: 0; }

  .attorneys-list-block .attorneys-item img {
    width: 100%; height: 36.625rem; object-fit: cover; object-position: center;
  }
  .attorneys-list-block .attorneys-item h3 {
    font-size: var(--px35); margin-bottom: 1.313rem;
  }
  .attorneys-list-block .attorneys-item svg {
    width: var(--px35);
  }

  .practice-areas-sidebar picture img {
    width:100%; height:40.688rem; object-fit:cover; object-position:center;
  }

  .home-resources-item-content {
    flex: 1;
  }

  .attorneys-list-wrap .item {
    padding: 0 0.813rem;
  }
  .attorneys-list-wrap .slick-list {
    margin: 0 -0.813rem;
  }

  .home .practice-list {
    margin-bottom: -13.938rem; position: relative; z-index: 10;
  }

  #home-practice-areas .btn-view-all {
    position: absolute; top: 3.25rem; right: 0; z-index: 10;
  }

  .practice-list {
    display: flex; flex-wrap:wrap; gap: 0;
  }
  .practice-list picture.primary-img img {
    width:100%; height:100%; object-fit:cover; object-position:center;
  }
  .practice-list .primary-practice-item,
  .practice-list picture.primary-img,
  .practice-list .practice-item { flex: 1 1 calc(100%/2); }

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

  #home-about picture img { width:100%; height:100%; object-fit:cover; object-position:center; overflow: hidden; }

  .social-media { margin-top: -0.75rem; }

  .footer-top .div-block { min-width: 24.625rem; }

  .footer-top .div-block:nth-child(1) { margin-right: auto; }

  .footer-top .div-block:last-child { min-width: 18.75rem; max-width: 18.75rem; }

  .logo {
    margin-right: auto;
  }
  .ginput_container--name,
  .gform_fields {
    display: flex; flex-wrap:wrap; gap: 0 1rem;
  }
  .gfield--width-half,
  .ginput_container--name > span {
    flex: 1 1 calc(100%/2 - 1rem);
  }
  .gfield--input-type-consent {
    flex: 1 1 calc(100% - 19.438rem);
  }

  .gfield--type-submit {
    flex: 1 1 18.438rem; text-align: right;
  }
  #contact-form picture img { width:100%; height:100%; object-fit:cover; object-position:center; }

  .navbar-default .container-full { padding-left: 2.625rem; }

  .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 8.813rem; }

  .container-full { width:100%; max-width:100%; padding:0; margin: 0 auto; }

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

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

  .main-menu li { position: relative; }

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

  .main-menu > li:nth-child(1) { display: none; }

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

  .main-menu > li > a:hover,
  .main-menu > li > a:focus { color: var(--Caramel); }
  
  .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;
  }

  .main-menu {
    gap: 0 4.375rem;
  }

}

@media ( max-width: 991px ) {

  .logo {
    max-width: 13.313rem; position: fixed; top: 1.438rem; left: 1.5rem; z-index: 3000;
  }
  #header .contact-number {
    display: none;
  }

  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: var(--Teal); }

  body.mean-container.admin-bar .mean-bar { top: 32px; }
  
  body.mean-container .mean-nav { background-color: var(--Teal); }

  body.mean-container a.meanmenu-reveal { width: 1.875rem; box-sizing:border-box; padding:0; text-align: center; color: #fff; right:1rem !important; top:2.125rem; 
    color: var(--Caramel); padding: 0;
  }

  body.mean-container a.meanmenu-reveal span { height: 3px; margin-top: 0; background-color: var(--Caramel); }

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

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

  #home-banner .content-block h1 {
    font-size: var(--px50);
  }

  #home-banner {
    padding-top: 17.5rem; padding-bottom: 12.25rem;
  }
  #home-banner:before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(12, 50, 71, 0.7) 57.91%);
  }
  #home-banner .content-block p {
    font-size: var(--px20);
  }

  #home-about .content-block {
    padding: 5rem 1.438rem;
  }
  h1, .h1,
  h2, .h2,
  #home-practice-areas .h1,
  #home-about .content-block .h1 {
    font-size: var(--px40);
  }

  #home-practice-areas .h1 {
    text-align: center;
    br {
      display: none;
    }
  }

  .practice-list .primary-practice-item {
    padding: 2.5rem 2.938rem; text-align: center;
  }
  .practice-list picture.primary-img img {
    height: 28.25rem;
  }

  .home .practice-list .practice-item {
    display: none;
  }
  #home-practice-areas {
    text-align: center;
  }
  #home-practice-areas .btn-view-all {
     margin-top: 2.5rem;
  }

  #home-practice-areas .wrap {
    margin-bottom: -20.25rem;
  }
  #home-testimonials {
    padding-top: 25.25rem; padding-bottom: 5rem;
  }
  .testimonial-item-content p {
    font-size: var(--px26); font-weight: 300;
  }
  #home-attorneys {
    text-align: center; padding: 5rem 0;
  }
  .control-block .progressBar {
    display: none;
  }
  .control-block {
    justify-content: center;
  }
  #home-resources {
    text-align: center; padding: 5rem 0;
  }
  .home-resources-item + .home-resources-item {
    display: none;
  }

  .home-resources-item-image {
    margin: 2.5rem auto 2.5rem;
  }
  #contact-form .content-block {
    text-align: center;
    padding: 5rem 2.5rem;
  }
  .form-wrap {
    text-align: left;
  }
  #footer {
    text-align: center; padding: 5rem 0;
  }
  .footer-top {
    
  }
  .footer-top .div-block {
    margin-bottom: 2.5rem;
  }
  .social-media {
    justify-content: center; margin-bottom: 2.5rem;
  }
  .footer-bottom p {
    justify-content: center;
    margin-bottom: 2.5rem;
  } 

  .btn {
    gap: 1.125rem;
  }
  .btn:hover,
  .btn:focus {
    gap: 1.5rem;
  }

  #home-attorneys .content-block .btn {
    min-width: 16.875rem; margin-bottom: 2.5rem;
  }

  .contact-page-content .btn,
  #attorneys-single .attorneys-single-content .btn,
  #firm-overview .btn,
  .form-wrap .btn,
  #home-testimonials .btn,
  #home-practice-areas .btn-view-all,
  .practice-list .btn,
  #home-about .content-block .btn,
  #home-banner .content-block .btn {
    min-width: unset;
  }
  .control-block {
    margin-top: 0;
  }

  .form-wrap .btn {
    margin-top: 2.5rem;
  }

  .main-menu li a {
    font-size: var(--px16); line-height: normal;
  }

  .page-title {
    min-height: unset; padding-bottom: 5rem; padding-top: 15rem;
  }
  .page-title .h1 {
    font-size: var(--px40);
  }
  #firm-overview .content-block {
    padding: 2.719rem 1.125rem;
  }
  #firm-overview .content-block + .content-block {
    margin-top: 2.5rem;
  }

  .practice-list .practice-item {
    min-height: unset; padding: 5rem 1.5rem;
  }
  .practice-list .practice-item {
    margin-top: 2.5rem;
  }
  .practice-list .practice-item .flex .h2 {
    margin-bottom: 2.5rem;
  }
  .testimonial-item-box {
    padding: 2.75rem 1.175rem;
  }

  .bio-badges {
    gap: 0 1rem; justify-content: center; margin: 2.5rem 0;
  }
  .attorneys-single-links .btn {
    min-width: unset; margin: 2.5rem 0 0;
  }

  .other-attorneys {
    margin-right: -15px; margin-left: -15px; padding: 5rem 1.5rem;
  }
  .other-attorneys-list {
    font-size: var(--px24);
  }
  .resources-landing-content .nav-pills li {
    font-size: var(--px16);
  }

  .resources-landing-content .content {
    font-size: var(--px16);
  }
  .resources-landing-content .content ul li {
    padding-top: 1.125rem; padding-bottom: 1.125rem;
  }
  .resources-landing-content .content ul li:before {
    top: 1.288rem;
  }
  .resources-landing-content .nav-pills {
    margin-bottom: 3rem;
  }

  .contact-page-content {
    padding: 5rem 1.5rem;
  }

  .contact-page-content p {
    font-size: var(--px18);
  }
  #contact-page .map .embed-responsive {
    min-height: 15.563rem;
  }
  body {
    font-size: var(--px18);
  }
}

@media ( max-width: 767px ) {

}