/*
Theme Name: 	Moen Sheehan Meyer LTD
Description: 	Custom theme for use with Beaver Themer
Version: 		1.0
Author: 		   DigiSage
Author URI: 	https://digisage.com
*/

/* ======================= global resets ======================= */
/* Based upon 'reset.css' in the Yahoo! User Interface Library: http://developer.yahoo.com/yui */
*, html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, label, fieldset, input, p, blockquote, th, td { margin:0; padding:0 }
table 					{ border-collapse:collapse; border-spacing:0 }
fieldset, img 			{ border:0 }
address, caption, cite, code, dfn, em, strong, th, var { font-style:normal; font-weight:normal }
caption, th	 			{ text-align:left }
q:before, q:after 	{ content:''}
a img 					{ border:none } /* Gets rid of IE's blue borders */
input[type="submit"]	{ cursor:pointer; -webkit-appearance: button; /* Corrects inability to style clickable 'input' types in iOS */ }
input[type="submit"]::-moz-focus-inner { border:0; } /* helps with input and submit sizing */
/* html5 reset */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display:block; }
audio,
canvas,
video 					   { display:inline-block; }
audio:not([controls]) 	{ display:none; }
@-ms-viewport			   { width:device-width; }
*,
*:before,
*:after 			{ -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
:link img 		{ border:none; }
a 					{ outline:none; }
.clearfix:after 				   { visibility:hidden; display:block; font-size:0; content:" "; clear:both;  height:0; }
* html .clearfix             	{ zoom:1; } /* IE6 */
*:first-child+html .clearfix 	{ zoom:1; } /* IE7 */
/* responsive */
img, object, embed 	{ max-width:100%; height:auto; }
object, embed		   { height:100%; }
img				 	   { -ms-interpolation-mode: bicubic; }

html {
	height:100%;
}
body {
	margin:0;
	padding:0;
	background:#fff url(assets/images/interior-hero-bg-2.jpg) no-repeat center top;
   background-size:auto 411px;
	color:#555;
	font-family:'Roboto', sans-serif;
	font-size:18px;
	font-weight:300;
	text-align:left;
}

/*======================= Typography ======================= */
p {
	margin:0 0 15px 0;
	line-height:1.4;
}
/* lists */
ul {
	margin:0 0 15px 0;
	padding:0;
}
ul li {
 	margin:0 0 0 30px;
 	padding:0;
 	list-style:disc;
 	line-height:1.4;
}
ul li ul li	{
	list-style:circle;
}
ol {
	margin:0 0 15px 0;
	padding:0;
}
ol li {
	text-align:left;
	margin:0 0 0 30px;
	padding:0;
	list-style:decimal;
	line-height:1.4;
}
blockquote {
	margin:20px;
	padding:10px 0 10px 30px;
	font-size:26px;
   color:#777;
   font-family:'Prata', serif;
   border-left:10px solid #fbf9f7;
}
blockquote p {
	margin:0;
}
small {
	font-size:1.1rem;
}
strong, b {
	font-weight:700;
}
em, i {
	font-style:italic;
}
/* tables */
table {
	border-collapse:collapse;
	border:1px solid #aaa;
	margin:0 0 20px 0;
}
td,th	{
	padding:7px 20px;
	border:1px solid #aaa;
	text-align:center;
}
table tr:nth-child(odd) {
	background:#e7e7e8;
}
table tr:nth-child(even) {
	background:#fff;
}
th {
	background:#333;
	color:#fff;
}
/* headings */
h1,h2,h3,h4,h5,h6 {
	text-align:left;
	font-weight:400;
	color:#3d3d3d;
	line-height:1.2;
}
h1 {
	font-size:60px;
	margin:0 0 20px 0;
   font-family:'Prata', serif;
}
h2 {
	font-size:36px;
	margin:0 0 10px 0;
   font-family:'Prata', serif;
}
h3 {
	font-size:30px;
	margin:0 0 10px 0;
   font-weight:300;
   text-transform:uppercase;
}
h4 {
	font-size:18px;
   color:#691c33;
   text-transform:uppercase;
	margin:0 0 10px 0;
}
h5 {
	font-size:18px;
	margin:0 0 10px 0;
   text-transform:uppercase;
}
h6 {
	font-size:16px;
	margin:0 0 10px 0;
   font-weight:700;
   text-transform:uppercase;
}

/* default links & buttons */
a {
	color:#691c33;
	text-decoration:none;
	-o-transition:		   .3s;
	-ms-transition:		.3s;
	-moz-transition:	   .3s;
	-webkit-transition:	.3s;
	transition:			   .3s;
}
a:hover {
	color:#555;
	text-decoration:none;
}
a.fl-button,
a.fl-button:visited,
.fl-builder-content a.fl-button,
.fl-builder-content a.fl-button:visited {
   background:#fafafa;
   color:#333;
   border:1px solid #ccc;
}
a.fl-button *,
a.fl-button:visited *,
.fl-builder-content a.fl-button *,
.fl-builder-content a.fl-button:visited * {
   color:#333;
}

/* Forms */
label {
	display:block;
	margin:0 0 5px 0;
}
input,
textarea,
select {
	display:block;
	color:#555;
	margin:0 0 15px 0;
	padding:5px;
   font-size:18px;
	border:1px solid #ccc;
	font-family:'Roboto', sans-serif;
	box-sizing:			   border-box;
	-ms-box-sizing:		border-box;
	-moz-box-sizing:	   border-box;
	-webkit-box-sizing:	border-box;
}
input[type="radio"],
input[type="checkbox"] {
	display:inline-block;
	margin:0 0 5px 0;
}
select {
	line-height:28px; /* this is needed to keep height on select elements in safari */
}
/* placeholder font color */
::-webkit-input-placeholder {
	color:#333;
}
:-moz-placeholder {
	/* Firefox 18- */ color:#333;
}
::-moz-placeholder {
	/* Firefox 19+ */ color:#333;
}
:-ms-input-placeholder {
	color:#333;
}

/* Accessibility */
.skip {
    position:absolute;
    top:-1000px;
    left:-1000px;
    height:1px;
    width:1px;
    text-align:left;
    overflow:hidden;
}
a.skip:active,
a.skip:focus,
a.skip:hover {
    left:0;
    top:0;
    width:auto;
    height:auto;
    overflow:visible;
}
/* Text meant only for screen readers. */
.screen-reader-text {
  	border:0;
  	clip:rect(1px, 1px, 1px, 1px);
  	clip-path:inset(50%);
  	height:1px;
  	margin:-1px;
  	overflow:hidden;
  	padding:0;
  	position:absolute !important;
  	width:1px;
  	word-wrap:normal !important;
}
#page-wrap {
   overflow:hidden;
}
.pagewidth {
	width:1200px;
	margin:0 auto;
}

#topbar {
   color:#bcbdc0;
   background:#353536;
   position:relative;
   text-align:center;
   height:34px;
}
#topbar a {
   color:#bcbdc0;
}
#topbar .section {
   display:inline-block;
   padding:0 20px;
   text-transform:uppercase;
}
#topbar .section:nth-child(1) {
   padding-left:0;
}
#topbar .section:nth-child(3) {
   padding-right:0;
}
#topbar .section.phone {
   font-size:22px;
   font-weight:700;
   position:relative;
   top:2px;
}
#topbar .section.phone::before,
#topbar .section.phone::after {
   content:'';
   display:block;
   position:absolute;
   top:7px;
   width:1px;
   height:18px;
   background:#691c33;
}
#topbar .section.phone::before {
   left:0;
}
#topbar .section.phone::after {
   right:0;
}
/* ie11 */
@media screen and (-ms-high-contrast: none) {
   #topbar .section.slogan,
   #topbar .section.phone {
      position:relative;
      top:-10px;
   }
}
/* searchform.php */
#topbar .section.search form.searchform   {
   position:relative;
   margin:0;
   padding:0;
}
#topbar .section.search form.searchform input.search-text {
   width:250px;
   font-size:16px;
   height:34px;
   line-height:34px;
   margin:0;
   padding:0px 50px 0px 10px;
   border:none;
   outline:none;
   text-align:right;
   background:transparent;
   color:#bcbdc0;
}
#topbar .section.search form.searchform input.searchsubmit {
   position:absolute;
   right:0px;
   top:0px;
   width:34px;
   height:34px;
   margin:0;
   background-color:transparent;
   background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23bcbdc0'/%3E%3C/svg%3E");
   background-repeat:no-repeat;
   background-position:center center;
   border:none;
   outline:none;
   text-indent:-999px;
}

/* sticky button (request consultation) */
#topbar a.sticky-button {
   display:block;
   position:fixed;
   z-index:1010;
   top:0;
   right:0;
   color:#fff;
   padding:11px 15px 35px 15px;
   text-transform:uppercase;
   font-weight:400;
   font-size:22px;
   background:#691c33;
   -webkit-clip-path:   polygon(0 0, 100% 0, 100% 100%, 0 70%);
   clip-path:           polygon(0 0, 100% 0, 100% 100%, 0 70%);
}
#topbar a.sticky-button svg {
   display:block;
   width:30px;
   height:20px;
   position:absolute;
   right:15px;
   top:39px;
}
#topbar a.sticky-button:hover {
   background:#4d5560;
}
#topbar a.sticky-button svg {
   fill:transparent;
   stroke:#fff;
   stroke-width:1;
   stroke-linejoin:round;
   -webkit-transition:  all 300ms;
   -moz-transition:     all 300ms;
   -o-transition:       all 300ms;
   transition:          all 300ms;
}
#topbar a.sticky-button:hover svg {
   right:11px;
}

/* MOBI search open */
#topbar a.mobile-search-open {
   display:none;
   width:50px;
   height:100%;
   position:absolute;
   top:0;
   right:0;
   background-color:#0f0f0f;
   background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%23bcbdc0'/%3E%3C/svg%3E");
   background-repeat:no-repeat;
   background-position:center center;
}
#topbar a.mobile-search-open.active {
   background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M0,0 20,20 M0,20 20,0' fill='none' fill-rule='evenodd' stroke='%23bcbdc0' stroke-linecap='square' stroke-width='1.5'/%3E%3C/svg%3E");
   background-size:20px 20px;
}

/* ======================= Masthead ====================== */
#masthead {
	position:absolute;
   top:36px;
   width:100%;
	margin:0;
	padding:20px 0;
	z-index:1000;
   background:rgba(255,255,255,0.5);
   -webkit-transition:  all 300ms;
   -moz-transition:     all 300ms;
   -o-transition:       all 300ms;
   transition:          all 300ms;
}
#masthead .logo {
   width:330px;
   float:left;
   -webkit-transition:  all 300ms;
   -moz-transition:     all 300ms;
   -o-transition:       all 300ms;
   transition:          all 300ms;
}
#masthead .menu-wrap {
   width:calc(100% - 330px);
   float:left;
   padding:60px 0 0 0;
}
/* on scroll */
#masthead.sticky {
   top:0;
   padding:5px 0;
   position:fixed;
   background:rgba(255,255,255,0.9);
}
#masthead.sticky .logo {
   width:180px;
}
#masthead.sticky .menu-wrap {
   padding-top:15px;
}
ul#nav {
	margin:0;
	padding:0;
   text-align:center;
}
ul#nav li {
	list-style:none;
	position:relative;
	display:inline-block;
	padding:0;
	margin:0;
}
ul#nav li a {
	margin:0 20px;
	padding:20px;
	font-size:18px;
   color:#555;
	line-height:1;
	display:block;
	text-decoration:none;
   text-transform:uppercase;
}
ul#nav li.active > a {
   background:#afbecb;
	text-decoration:none;
}
ul#nav li.menu-toggle > a::after {
   content:'\f0c9';
   font-family:'FontAwesome';
   display:inline-block;
   margin-left:10px;
   color:#555;
}
ul#nav li ul {
	display:none;
	position:absolute;
   width:260px;
	left:20px;
	top:100%;
	margin:0;
	padding:4px 0 0 0;
}
ul#nav li ul li {
	float:none;
   display:block;
	margin:0;
   padding:5px;
   background:rgba(0,0,0,0.9);
}
ul#nav li ul li a {
	float:none;
   font-size:16px;
   color:#919191;
	display:block;
   text-align:left;
   margin:0;
	padding:10px 15px;
	background:none;
}
ul#nav li ul li a:hover {
   color:#fff;
   background:#454646;
}
ul#nav li ul li ul {
	left:100%;
	top:0;
}
/* dead links */
li.nolink > a {
	cursor:default;
	text-decoration:none;
}
li.nolink > a:hover {
	cursor:default;
	text-decoration:none;
}

#masthead a#mobile-menu-bars {
   display:none;
   position:absolute;
   top:10px;
   right:220px;
   font-size:36px;
   color:#0f0f0f;
}

/* main flyout menu */
.flyout-menu {
   position:fixed;
   z-index:2000;
   width:500px;
   max-width:100%;
   height:100%;
   top:0;
   right:-500px;
   background:#191919;
}
.flyout-menu .inner {
   position:absolute;
   top:0;
   left:0;
   width:100%;
   height:100%;
   padding:80px 120px 100px 120px;
   overflow-y:auto;
   /* Optional but highly reccomended: enables momentum scrolling on iOS */
   -webkit-overflow-scrolling:touch;
}
.flyout-menu a.close-flyout {
   display:block;
   position:absolute;
   z-index:100;
   top:30px;
   right:30px;
   width:30px;
   height:30px;
}
.flyout-menu a.close-flyout svg > path {
   fill:transparent;
   stroke:#d74108;
   stroke-width:2;
   stroke-linejoin:round;
}
.flyout-menu ul {
   margin:0;
   padding:0;
}
.flyout-menu ul li {
   margin:30px 0;
   padding:0;
   list-style:none;
}
.flyout-menu ul li a {
   font-size:34px;
   color:#919191;
   font-family:'Prata', serif;
}
.flyout-menu ul li a:hover {
   color:#fff;
}
.flyout-menu ul li ul {
   margin-left:30px;
}
.flyout-menu ul li ul li {
   margin:10px 0;
}
.flyout-menu ul li ul li a {
   font-size:22px;
}

/* sticky side buttons */
#side-buttons {
   transform:rotate(270deg);
   transform-origin:right bottom;
   position:fixed;
   z-index:1500;
   top:196px;
   right:0;
}
#side-buttons a.side-button {
   display:block;
   height:55px;
   position:relative;
   float:right;
   top:10px;
   padding:10px 20px 10px 30px;
   color:#fff;
   font-size:22px;
   text-transform:uppercase;
   -webkit-clip-path:   polygon(7% 0, 100% 0, 100% 100%, 0 100%);
   clip-path:           polygon(7% 0, 100% 0, 100% 100%, 0 100%);
}
#side-buttons a.side-button:hover {
   top:0;
}
#side-buttons a#contact-msm {
   background:#13426b;
   margin-left:-5px;
   z-index:10;
}
#side-buttons a#online-bill-pay {
   background:#5c8141;
   z-index:5;
}

/* ======================= page/post styling ======================= */
#content-wrap {
   padding:320px 0 80px 0;
   background:url(assets/images/diagonal-lines.png) no-repeat -400px 400px;
}
body:not(.home):not(.archive):not(.single-msm_attorney) #content-wrap a:not(.fl-button) {
   text-decoration:underline;
}
body:not(.home):not(.archive):not(.single-msm_attorney) #content-wrap a:hover {
   text-decoration:none;
}
body:not(.home) #content-wrap a img,
body:not(.home) #content-wrap a.button,
#content-wrap .post-categories a,
#content-wrap .post-navigation a {
   border:none !important;
   text-decoration:none !important;
}
h1.default-heading {
   padding-left:20px;
}
h1.default-heading span::after {
   display:block;
   content:'';
   height:1px;
}

/* ======================= beaver builder modules ======================= */
/* standard button */
a.fl-button,
a.fl-button:visited,
.fl-builder-content a.fl-button,
.fl-builder-content a.fl-button:visited {
   background:#691c33;
   border:none;
   text-transform:uppercase;
}
a.fl-button *,
a.fl-button:visited *,
.fl-builder-content a.fl-button *,
.fl-builder-content a.fl-button:visited * {
   color:#fff;
}
a.fl-button:hover,
.fl-builder-content a.fl-button:hover {
   background:#555;
}

/* open button with arrow right under
   note that sometimes .open-arrow is a span element */
.open-arrow,
.link-arrow a.fl-button,
.link-arrow a.fl-button:visited,
.link-arrow .fl-builder-content a.fl-button,
.link-arrow .fl-builder-content a.fl-button:visited {
   padding:0 0 30px 0;
   font-size:16px;
   background:transparent;
   position:relative;
   text-transform:uppercase;
   color:#919191;
   -o-transition:       .3s;
   -ms-transition:      .3s;
   -moz-transition:     .3s;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.open-arrow svg,
.link-arrow a.fl-button svg,
.link-arrow a.fl-button:visited svg,
.link-arrow .fl-builder-content a.fl-button svg,
.link-arrow .fl-builder-content a.fl-button:visited svg {
   display:block;
   position:absolute;
   top:24px;
   right:3px;
   width:30px;
   height:20px;
   fill:none;
   stroke:#919191;
   -o-transition:       .3s;
   -ms-transition:      .3s;
   -moz-transition:     .3s;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.link-arrow a.fl-button *,
.link-arrow a.fl-button:visited *,
.link-arrow .fl-builder-content a.fl-button *,
.link-arrow .fl-builder-content a.fl-button:visited * {
   color:#919191;
}
.open-arrow:hover,
.link-arrow a.fl-button:hover,
.link-arrow .fl-builder-content a.fl-button:hover {
   color:#691c33;
   background:transparent;
}
.open-arrow:hover svg,
.link-arrow a.fl-button:hover svg,
.link-arrow .fl-builder-content a.fl-button:hover svg {
   stroke:#691c33;
   right:-3px;
}

/* tabbed content */
.fl-tabs-horizontal .fl-tabs-labels {
   border-bottom:1px solid #d2dbe1;
}
.fl-tabs-horizontal .fl-tabs-labels a {
   padding-left:0;
   padding-right:0;
   margin:0 50px 0 0;
   border-bottom:4px solid transparent !important;
}
.fl-tabs-horizontal .fl-tabs-labels a:hover,
.fl-tabs-horizontal .fl-tabs-labels a.fl-tab-active {
   border-bottom:4px solid #13426b !important;
}


/* ======================= sidebar ======================= */
.fl-module-sidebar .widget {
   margin:0 0 30px 0;
}
.fl-module-sidebar .widget a,
.pp-gf-content a {
   text-decoration:none !important;
}

/* ======================= archive/search result ======================= */
.fl-post-feed-post {
   padding-bottom:40px;
}
.fl-node-5ea73e9e40b13 h2.fl-post-feed-title a {
   text-decoration:none !important;
}
.fl-post-feed-content a {
   position:relative;
   width:120px;
   color:#691c33;
   opacity:0.5;
   float:right;
   font-size:16px;
   text-align:right;
   height:50px;
   text-decoration:none !important;
   text-transform:uppercase;
}
.fl-post-feed-content a::after {
   content:'';
   display:block;
   position:absolute;
   top:23px;
   right:4px;
   width:30px;
   height:20px;
   background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20,0 30,10 20,20 M0,10 L30,10' fill='none' stroke='%23691c33'/%3E%3C/svg%3E");
   background-size:30px 20px;
   background-position:0 0;
   -o-transition:       .3s;
   -ms-transition:      .3s;
   -moz-transition:     .3s;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.fl-post-feed-content a:hover {
   opacity:1;
}
.fl-post-feed-content a:hover::after {
   right:0;
}

body.search h1.fl-heading-text {
   content:"Search Results";
}
body.search .fl-post-feed-date {
   display:none;
}
body.search .type-post .fl-post-feed-date {
   display:block;
}

/* ======================= footer.php ======================= */
#footer {
   background:rgb(231,235,239);
   background:linear-gradient(90deg, rgba(231,235,239,1) 55%, rgba(130,148,154,1) 100%);
   padding:50px 0;
}
#footer .col {
   width:25%;
   float:left;
}
#footer .col.address {
   width:30%;
   text-align:right;
   line-height:1.5;
   text-transform:uppercase;
   margin:40px 0 0 0;
   padding:0 40px 0 20px;
   border-right:1px solid #555;
}
#footer .col.phone-social {
   padding:40px 20px 0 40px;
   width:20%;
}
#footer .col.phone-social a {
   color:#13426b;
}
#footer .col.phone-social a.phone {
   font-size:24px;
   display:block;
   margin:0 0 5px 0;
}
#footer .col.phone-social .social-links a {
   display:inline-block;
   font-size:30px;
   margin:0 15px 0 0;
   height:40px;
   line-height:40px;
}
#footer .col.phone-social .social-links a:hover {
   color:#691c33;
}
#footer .col.phone-social .social-links a:nth-child(1) {
   font-size:26px;
   position:relative;
   top:-3px;
}
#footer .col.phone-social .social-links a i {
   line-height:40px;
}
#footer .col.enews {
   padding:40px 0 0 0;
}
#footer .col.enews label {
   color:#13426b;
}
#footer .col.enews input {
   background:transparent;
   border:none;
   outline:none;
   margin:0;
}
#footer .col.enews input[type="email"] {
   display:block;
   width:100%;
   font-size:16px;
   border-bottom:1px solid #13426b;
   outline:none;
}
#footer .col.enews input[type="submit"] {
   float:right;
   font-size:16px;
   color:#13426b;
   text-transform:uppercase;
   -webkit-transition:  all 300ms;
   -moz-transition:     all 300ms;
   -o-transition:       all 300ms;
   transition:          all 300ms;
}
#footer .col.enews input[type="submit"]:hover {
   color:#fff;
}

#copyright {
   background:#000;
   text-align:center;
   color:#919191;
   padding:7px 0;
   font-size:14px;
}
#copyright a {
   color:#919191;
}
#copyright a:hover {
   color:#fff;
}

/* ======================= Page Templates ====================== */

/* attorney archive */
.fl-post-grid .msm_attorney {
   border:none;
}
.fl-post-grid .msm_attorney .fl-post-text {
   padding:20px 0 0 0;
}
.fl-post-grid .msm_attorney .fl-post-text h3 {
   margin:0 0 15px 0;
   font-weight:400;
   font-size:22px;
}
.fl-post-grid .msm_attorney .fl-post-text h3 a {
   color:#4c4c4c;
}
.fl-post-grid .msm_attorney .profile-title {
   font-size:18px;
   margin:0 0 15px 5px;
   color:#2d2d2d;
   text-transform:uppercase;
}
.fl-post-grid .msm_attorney .contact-info {
   padding:20px 5px 10px 5px;
   border-top:1px solid #d2dbe1;
   border-bottom:1px solid #d2dbe1;
}
.fl-post-grid .msm_attorney .contact-info a:not(.open-arrow) {
   display:block;
   margin:0 0 15px 0;
   font-size:16px;
   color:#2d2d2d;
   text-transform:uppercase;
}
.fl-post-grid .msm_attorney .contact-info a:not(.open-arrow):hover {
   color:#691c33;
}
.fl-post-grid .msm_attorney .contact-info a.open-arrow {
   font-size:14px;
   float:right;
   margin-top:10px;
}

/* attorney single
   body_class filter in functions.php is adding
   these classes based on whether content exists */
body.hide-tab-1 .fl-tabs-labels a[data-index="0"],
body.hide-tab-1 .fl-tabs-panel .fl-tabs-panel-content[data-index="0"],
body.hide-tab-2 .fl-tabs-labels a[data-index="1"],
body.hide-tab-2 .fl-tabs-panel .fl-tabs-panel-content[data-index="1"],
body.hide-tab-3 .fl-tabs-labels a[data-index="2"],
body.hide-tab-3 .fl-tabs-panel .fl-tabs-panel-content[data-index="2"],
body.hide-about .about-content {
   display:none;
}
body.single-msm_attorney #content-wrap {
   background:none;
}
.bio-info-row .fl-row-fixed-width {
   position:relative;
}
.bio-info-row .fl-row-fixed-width::after {
   content:'';
   display:block;
   width:975px;
   height:241px;
   position:absolute;
   top:-10px;
   left:-720px;
   z-index:-1;
   background:url(assets/images/diagonal-lines.png) no-repeat 0 0;
}
.attorney-contact-col,
.attorney-contact-col a {
   color:#2d2d2d;
   text-transform:uppercase;
}
.fl-node-5efce85c0b0ca .fl-tabs-label.fl-tab-active,
.fl-node-5efce85c0b0ca .fl-tabs-panel-label {
   border-bottom:1px solid #d2dbe1;
}

/* home */
body.home #content-wrap {
   padding-top:0;
}
body.home h2 {
   font-size:60px;
   line-height:1.1;
}
#home-hero {
   padding:340px 0 250px 0;
   background:url(assets/images/home-page-hero-bg.jpg) no-repeat center bottom;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
#home-hero .intro {
   width:700px;
   max-width:100%;
   margin:0 auto;
}
#home-hero .intro h1 {
   font-size:78px;
   text-transform:uppercase;
}
#home-hero .intro p {
   font-size:24px;
   padding-left:50px;
}
#solutions {
   width:1400px;
   max-width:100%;
   margin:0 auto;
   padding:40px 0 60px 0;
   background:url(assets/images/diagonal-lines.png) no-repeat 350px 145px;
}
#solutions h2 {
   color:#adbdcb;
   padding-left:100px;
}
#solutions a.open-arrow {
   float:right;
   margin-right:100px;
}
.solutions-grid {
   margin:20px 0;
}
.solutions-grid .grid-item {
   position:relative;
   z-index:200;
   color:#fff;
   width:calc(100% / 6);
   float:left;
   height:290px;
   border-right:2px solid #fff;
   text-align:center;
}
.solutions-grid .grid-item a {
   display:block;
   position:absolute;
   z-index:100;
   top:0;
   left:0;
   width:100%;
   height:100%;
   padding:45px 0 20px 0;
   -webkit-transition:  all 800ms;
   -moz-transition:     all 800ms;
   -o-transition:       all 800ms;
   transition:          all 800ms;
}
.solutions-grid .grid-item a h3 {
   color:#fff;
   text-align:center;
   height:70px;
   line-height:1.1;
   font-size:26px;
}
.solutions-grid .grid-item a ul {
   display:none;
   margin:0 0 10px 0;
   padding:40px 0;
   background:rgba(0,0,0,0.6);
   -webkit-clip-path:   polygon(0 15px, 100% 0, 100% calc(100% - 15px), 0 100%);
   clip-path:           polygon(0 15px, 100% 0, 100% calc(100% - 15px), 0 100%);
}
.solutions-grid .grid-item a ul li {
   margin:0;
   padding:0 10px;
   list-style:none;
   margin:0 0 15px 0;
   color:#bcbdc0;
}
.solutions-grid .grid-item a span.open-arrow {
   display:none;
   opacity:.5;
   font-size:16px;
   color:#fff;
   float:right;
   margin-right:10px;
}
.solutions-grid .grid-item a span.open-arrow svg {
   stroke:#fff;
}
.solutions-grid .grid-item a span.open-arrow:hover {
   opacity:1;
}
.solutions-grid .grid-item:nth-child(1) a {
   background:#b9461a;
}
.solutions-grid .grid-item:nth-child(2) a {
   background:#5c8141;
}
.solutions-grid .grid-item:nth-child(3) a {
   background:#204b67;
}
.solutions-grid .grid-item:nth-child(4) a {
   background:#981a1a;
}
.solutions-grid .grid-item:nth-child(5) a {
   background:#986d1a;
}
.solutions-grid .grid-item:nth-child(6) a {
   background:#4a3b56;
}

.solutions-grid .grid-item:hover {
   z-index:300;
}
.solutions-grid .grid-item:hover a {
   top:-110px;
   height:auto;
   padding-top:30px;
}

#advice {
   position:relative;
   margin:100px 0 0 0;
   height:580px;
   background:url(assets/images/about-bg.jpg) no-repeat center center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
#advice .overlay {
   position:absolute;
   width:100%;
   height:100%;
   background:#fff;
   z-index:10;
}
#advice .content-col {
   position:relative;
   z-index:100;
   width:60%;
   float:left;
   top:-90px;
   background:rgba(0,0,0,0.9) url(assets/images/about-gradient.png) no-repeat left bottom;
   -webkit-clip-path:   polygon(0 0, 100% 110px, 100% 100%, 0 100%);
   clip-path:           polygon(0 0, 100% 110px, 100% 100%, 0 100%);
}
#advice .content-col .inner {
   width:600px;
   max-width:100%;
   float:right;
   opacity:0;
   padding:160px 150px 70px 0;
}
#advice .content-col .inner h2 {
   color:#c4cad3;
   margin:0 0 25px 0;
}
#advice .content-col .inner p {
   line-height:1.9;
   margin:0 0 30px 0;
   color:#c4cad3;
}
#advice .content-col .inner a.open-arrow {
   float:right;
   color:#fff;
   opacity:.5;
}
#advice .content-col .inner a.open-arrow svg {
   stroke:#fff;
}
#advice .content-col .inner a.open-arrow:hover {
   opacity:1;
}

#resources {
   padding:110px 0 100px 0;
   background:#fbf9f7;
}
#resources h2 {
   text-transform:uppercase;
   margin:0 0 35px 0;
   clear:both;
}
#resources .recent-post-col {
   width:60%;
   float:left;
   padding:0 20px 20px 0;
   background:url(assets/images/diagonal-lines-vs2.png) no-repeat 100px bottom;
}
#resources .recent-post-col .recent-post {
   padding:15px 150px 25px 15px;
   background:#fff;
}
#resources .recent-post-col .recent-post a.featured-thumb {
   margin-left:-40px;
}
#resources .recent-post-col .recent-post a.featured-thumb img {
   max-width:calc(100% + 40px);
   height:auto;
}
#resources .recent-post-col .recent-post .post-content {
   padding:20px 0 0 20px;
}
#resources .recent-post-col .recent-post .post-content h3 {
   margin:0;
}
#resources .recent-post-col .recent-post .post-content .date {
   font-size:16px;
   text-transform:uppercase;
   margin:0 0 20px 0;
}
#resources .recent-post-col .recent-post .post-content .excerpt {
   padding:0 0 30px 0;
}
#resources .recent-post-col .recent-post .post-content a.open-arrow {
   float:right;
}
#resources .recent-posts-col {
   width:40%;
   float:left;
   padding:0 0 0 80px;
}
#resources .recent-posts-col h3.col-head {
   margin:0;
   padding:0 0 15px 0;
   border-bottom:1px solid #204b67;
}
#resources .recent-posts-col .recent-post {
   padding:10px 0 5px 0;
   border-bottom:1px solid #204b67;
}
#resources .recent-posts-col .recent-post:last-of-type {
   margin-bottom:40px;
}
#resources .recent-posts-col .recent-post h3 {
   font-size:18px;
   margin:0;
}
#resources .recent-posts-col .recent-post .date {
   font-size:14px;
   text-transform:uppercase;
}
#resources .recent-posts-col .recent-post a.open-arrow {
   float:right;
   font-size:14px;
}
#resources .recent-posts-col a.open-arrow {
   float:right;
}

.parallax-window {
   min-height:400px;
   background:transparent;
}
#testimonial {
   position:relative;
}
#testimonial::after {
   content:'';
   display:block;
   position:absolute;
   top:-1px;
   right:0;
   width:60%;
   height:90px;
   background:#fbf9f7;
   z-index:200;
   -webkit-clip-path:   polygon(0 0, 100% 0px, 100% 100%, 0 0);
   clip-path:           polygon(0 0, 100% 0px, 100% 100%, 0 0);
}
/* ie11 */
@media screen and (-ms-high-contrast: none) {
   #testimonial::after {
      display:none;
   }
}
#testimonial .overlay {
   position:absolute;
   z-index:10;
   top:0;
   left:0;
   width:100%;
   height:100%;
   background:rgba(0,0,0,0.5);
}
#testimonial .content-panel {
   position:relative;
   z-index:100;
   width:900px;
   max-width:100%;
   padding:190px 40px 30px 40px;
   background:url(assets/images/home-testimonial-bg.png) no-repeat left top;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
#testimonial .content-panel h2 {
   color:#fff;
   margin:0 0 60px 0;
}
#testimonial .content-panel .quote {
   font-size:24px;
   color:#fff;
   font-style:italic;
}
#testimonial .content-panel a.open-arrow {
   float:right;
}
#testimonial .content-panel a.open-arrow:hover {
   color:#9acdf9;
}
#testimonial .content-panel a.open-arrow:hover svg {
   stroke:#9acdf9;
}

#expertise {
   padding:70px 0 0 0;
}
#expertise .pagewidth {
   width:1100px;
}
#expertise .title-col {
   width:30%;
   float:left;
}
#expertise .title-col h2 {
   font-size:42px;
   color:#c4cad3;
   padding-top:30px;
}
#expertise .images-col {
   width:70%;
   float:left;
   display:flex;
   align-items:center;
   justify-content:space-between;
}

a.cat-indicator {
   display:block;
   margin:0 0 15px 0;
   text-transform:uppercase;
   font-size:16px;
}
a.cat-indicator span {
   display:inline-block;
   width:25px;
   height:15px;
   position:relative;
   top:2px;
   margin-right:5px;
}

/* blank canvas (used for promotional with beaver ) */
.page-template-tpl-blank-canvas #masthead,
.page-template-tpl-blank-canvas #topbar,
.page-template-tpl-blank-canvas #side-buttons {
   display:none;
}
.page-template-tpl-blank-canvas #content-wrap {
   padding-top:0px;
   background:none;
}

/* ======================= Theme helpers ======================= */
.hidden {
	display:none;
}
br.clear {
	clear:both;
	display:block;
	height:1px;
	margin:-1px 0 0 0
}
.dont-break-out {
	/* this will contain long strings (like URLs) from exiting their container */
  	overflow-wrap: break-word;
  	word-wrap: break-word;
  	-ms-word-break: break-all;
  	/* Instead use this non-standard one: */
  	word-break: break-word;
  	/* Adds a hyphen where the word breaks, if supported (No Blink) */
  	-ms-hyphens: auto;
  	-moz-hyphens: auto;
  	-webkit-hyphens: auto;
  	hyphens: auto;
}
/* multi-column lists */
ul.col-2 {
	width:100%;
	overflow:hidden;
}
ul.col-2 li	{
	width:40%;
	float:left;
	margin:5px 0 0px 30px;
}
ul.col-3 {
	width:100%;
	overflow:hidden;
}
ul.col-3 li	{
	width:33%;
	float:left;
	margin:5px 0 5px 30px;
}

/* ======================= Presentational classes generated by WordPress ======================= */
.aligncenter {
	display:block;
	margin:0 auto;
}
.alignleft {
	float:left;
}
.alignright {
	float:right;
}
img.alignright {
	margin:0 0 10px 20px;
}
img.alignleft {
	margin:0 20px 10px 0;
}
/* WP captions */
.wp-caption	{
	margin:0 0 20px 0;
}
.wp-caption.alignleft {
	margin-right:20px;
}
.wp-caption.alignright {
	margin-left:20px;
}
p.wp-caption-text {
	margin:5px 0 0 0;
	font-style:italic;
	font-size:14px;
}

/* ======================= Plugin Styling ======================= */
/* gravity forms */
.gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked+label,
.gform_wrapper ul.gfield_radio li input[type=radio]:checked+label {
   font-weight:300 !important;
}

/* ======================= Theme custom short codes ======================= */
/* horizontal rule */
div.hr, hr {
	width:100%;
	height:1px;
	clear:both;
	margin:20px 0;
	background:#ccc;
}
/* ACF social links media */
ul.social-links {
   margin:15px 0 0 0;
   padding:0;
   text-align:center;
}
ul.social-links li {
   margin:0 5px;
   padding:0;
   list-style:none;
   display:inline-block;
}
ul.social-links li a {
   display:block;
   width:24px;
   height:24px;
   line-height:24px;
   background:#fff;
   text-align:center;
   font-size:1.6rem;
   -moz-border-radius:     50%;
   -webkit-border-radius:  50%;
   border-radius:          50%;
   -khtml-border-radius:   50%;
}

@media (min-width: 1800px) {
   body {
      background-position:center -50px;
   }
}
@media (min-width: 1600px) {
   body {
      background-size:100% auto;
   }
}

@media (max-width: 1550px) {
   #topbar {
      text-align:left;
   }
   #topbar .pagewidth {
      padding: 0 20px;
   }
   #solutions {
      padding:0 50px 0 20px;
      background-position:150px 145px;
   }
}

@media (max-width: 1320px) {
   #topbar .section.slogan {
      display:none;
   }
   #topbar .section.phone {
      padding-left:0;
   }
   #topbar .section.phone::before {
      display:none;
   }
   #topbar .section.search form.searchform input.search-text {
      width:250px;
   }
   #resources .recent-post-col .recent-post {
      padding:15px 15px 25px 15px;
   }
   #resources .recent-post-col .recent-post a.featured-thumb {
      margin-left:0px;
   }
   #resources .recent-post-col .recent-post a.featured-thumb img {
      max-width:100%;
   }
   #resources .recent-post-col .recent-post .post-content {
      padding-left:0;
   }
   #resources .pagewidth {
      padding-right:50px;
   }
   #resources .recent-posts-col {
      padding-left:30px;
   }
}

@media only screen and (max-width: 1220px) {
   #pagewrap {
      width:100%;
   }
   body:not(.home) #content-wrap {
      padding-right:35px;
   }
   .pagewidth {
      width:100%;
      padding:0 20px;
   }
   #footer .col.footer-logo {
      width:18%;
      padding-top:30px;
   }
   #footer .col.address {
      width:30%;
   }
   #footer .col.phone-social {
      width:22%;
   }
   #footer .col.enews {
      width:30%;
   }
   .solutions-grid {
      display:flex;
      flex-wrap:wrap;
   }
   .solutions-grid .grid-item {
      width:calc(100% / 3);
      height:auto;
      float:none;
      border-bottom:2px solid #fff;
   }
   .solutions-grid .grid-item a {
      position:relative;
      height:100%;
      padding-bottom:70px;
   }
   .solutions-grid .grid-item a ul,
   .solutions-grid .grid-item a span.open-arrow {
      display:block;
   }
   .solutions-grid .grid-item:hover a {
      top:0px;
      padding-top:45px;
   }
   #expertise .pagewidth {
      width:100%;
      padding-left:20px;
      padding-right:50px;
   }
}

@media only screen and (max-width: 1100px) {
   #advice .content-col .inner {
      padding:160px 70px 70px 20px;
   }
   #footer {
      padding:30px 0;
   }
   #footer .col {
      width:100% !important;
      float:none;
      text-align:center;
   }
   #footer .col.footer-logo {
      padding-top:0;
   }
   #footer .col.footer-logo img {
      max-width:240px;
      height:auto;
   }
   #footer .col.address {
      margin-top:20px;
      padding:0;
      text-align:center;
      border:none;
   }
   #footer .col.phone-social {
      text-align:center;
      padding:10px 0 0 0;
   }
   #footer .col.phone-social .social-links a {
      margin:0 10px;
   }
   #footer .col.enews form {
      margin:0 auto;
      width:300px;
      max-width:100%;
   }
}

@media only screen and (max-width: 1000px) {
   body:not(.home) {
      background-position:center -140px;
   }
   #masthead {
      padding:10px 0;
   }
   #masthead .logo,
   #masthead.sticky .logo {
      width:160px;
   }
   #masthead .menu-wrap,
   #masthead.sticky .menu-wrap {
      padding-top:10px;
      width:calc(100% - 160px);
   }
   ul#nav li a {
      margin:0;
      padding-right:10px;
   }
   .flyout-menu .inner {
      padding:50px 50px 100px 50px;
   }
   .flyout-menu ul li {
      margin:10px 0;
   }
   .flyout-menu ul li a {
      font-size:28px;
   }
   body:not(.home):not(.page-template-tpl-blank-canvas) #content-wrap {
      padding-top:170px;
   }
   h1,
   h1.default-heading {
      font-size:50px;
      margin:0;
   }
   #home-hero {
      padding:240px 0 200px 0;
   }
   #home-hero .intro h1 {
      font-size:50px;
   }
}

@media only screen and (max-width: 900px) {
   #content-wrap {
      background-position:-400px 240px;
   }
   #topbar a.sticky-button {
      font-size:14px;
   }
   #topbar a.sticky-button svg {
      top:33px;
   }
   #masthead.sticky ul#nav {
      text-align:left;
   }
   #home-hero {
      padding:200px 0 160px 0;
   }
   #home-hero .intro p {
      font-size:20px;
   }
   body.home h2 {
      font-size:50px;
   }
   #solutions h2 {
      padding-left:0;
   }
   #advice .content-col {
      width:75%;
   }
   #advice .content-col .inner {
      padding-right:20px;
   }
   #expertise .title-col {
      width:100%;
      float:none;
   }
   #expertise .title-col h2 {
      font-size:42px;
      text-align:center;
      margin:0 0 25px 0;
   }
   #expertise .images-col {
      width:100%;
      float:none;
      display:flex;
      justify-content:space-evenly;
   }
}

@media only screen and (max-width: 767px) {
   h1.default-heading {
      padding-left:0;
   }
   #topbar .section.phone {
      display:none;
   }
   #topbar .section.search {
      padding-left:0;
   }
   #topbar .section.search form.searchform input.search-text {
      text-align:left;
   }
   ul#nav {
      display:none;
   }
   .flyout-menu ul li a {
      font-size:20px;
   }
   .flyout-menu ul li ul li a {
      font-size:18px;
   }
   #masthead a#mobile-menu-bars {
      display:block;
   }
   #side-buttons {
      top:120px;
   }
   #side-buttons a.side-button {
      top:20px;
      font-size:14px;
      padding:5px 10px 5px 20px;
   }
   body:not(.home) #content-wrap {
      padding-right:25px;
   }
   #home-hero .intro {
      width:100%;
      padding:0 40px 0 20px;
   }
   #home-hero .intro p {
      padding-left:0;
   }
   .solutions-grid .grid-item {
      width:calc(100% / 2);
   }
   /* after tabbed content scales down we need new method to hide panels */
   body.hide-tab-1 .fl-tabs-panel .fl-tabs-label[data-index="0"],
   body.hide-tab-1 .fl-tabs-panel-content[data-index="0"],
   body.hide-tab-2 .fl-tabs-panel .fl-tabs-label[data-index="1"],
   body.hide-tab-2 .fl-tabs-panel-content[data-index="1"],
   body.hide-tab-3 .fl-tabs-panel .fl-tabs-label[data-index="2"],
   body.hide-tab-3 .fl-tabs-panel-content[data-index="2"] {
      display:none;
   }
   .alignleft {
      float:none;
      margin:0;
   }
   .alignright {
      float:none;
      margin:0;
   }
   .wp-caption {
      max-width:100%;
   }
   .wp-caption.alignleft {
      margin:15px 0;
   }
   .wp-caption.alignright {
      margin:15px 0;
   }
   img.alignright {
      margin:0 0 15px 0;
   }
   img.alignleft {
      margin:0 0 15px 0;
   }
   .fl-node-5efcfbaa4fac5 .fl-post-column {
      padding-bottom:50px;
   }
   /* multi-column lists */
   ul.col-2,
   ul.col-3 {
      width:100%;
      margin:0 0 20px 0;
      padding:0 0 0 30px;
   }
   ul.col-2 li,
   ul.col-3 li {
      width:100%;
      float:none;
      margin:0;
   }
}

@media only screen and (max-width: 700px) {
   #side-buttons {
      display:none;
   }
   body:not(.home) #content-wrap {
      padding-right:0;
   }
   #home-hero .intro {
      padding-right:20px;
   }
   #solutions {
      padding-right:20px;
   }
   #resources .pagewidth {
      padding-right:20px;
   }
   #resources .recent-post-col {
      width:100%;
      float:none;
      padding:0 20px 20px 20px;
   }
   #resources .recent-posts-col {
      width:100%;
      float:none;
      padding:0 0 0 0px;
   }
   #expertise .images-col img {
      display:inline-block;
      padding:0 10px;
   }
}

@media only screen and (max-width: 600px) {
   #content-wrap {
      background-position:-400px 200px;
   }
   .solutions-grid {
      display:block;
   }
   .solutions-grid .grid-item {
      width:100%;
   }
   #advice .content-col {
      width:100%;
   }
   h2 {
      font-size:26px;
   }
}

@media only screen and (max-width: 550px) {
   body:not(.home) {
      background-position:center -170px;
   }
   body:not(.home):not(.page-template-tpl-blank-canvas) #content-wrap {
      padding-top:140px;
   }
   h1,
   h1.default-heading {
      font-size:36px;
   }
   body.home h2 {
      font-size:32px;
   }
   /* adds consultation button to #topbar and moves search to right */
   #topbar a.sticky-button {
      position:static;
      text-align:center;
      width:calc(100% - 50px);
      height:100%;
      line-height:34px;
      padding:0px 15px;
      font-size:16px;
      -webkit-clip-path:   none;
      clip-path:           none;
   }
   #topbar a.sticky-button svg {
      display:inline-block;
      position:relative;
      right:0;
      left:0;
      top:4px;
      margin-left:4px;
   }
   /* move search form under #topbar and open with search icon */
   #topbar .section.search {
      display:none;
      position:absolute;
      z-index:1500;
      top:34px;
      left:0;
      width:100%;
      padding:10px;
      background:#0f0f0f;
   }
   #topbar a.mobile-search-open {
      display:block;
   }
   #masthead a#mobile-menu-bars {
      right:20px;
   }
   #masthead {
      padding:5px 0;
      background:none;
   }
   #masthead .logo,
   #masthead.sticky .logo {
      width:100%;
   }
   #masthead .logo img,
   #masthead.sticky .logo img {
      display:block;
      width:170px;
      margin:0 auto;
   }
   #masthead.sticky .logo img {
      width:120px;
   }
   #masthead .menu-wrap,
   #masthead.sticky .menu-wrap {
      display:none;
   }
   #home-hero {
      padding:170px 0 160px 0;
   }
   #resources .recent-post-col {
      padding:0 0 20px 0;
   }
   #testimonial .content-panel {
      padding-right:20px;
      padding-left:20px;
   }
   #expertise .title-col h2 {
      font-size:32px;
   }
   #testimonial .content-panel .quote {
      font-size:20px;
   }
}

@media only screen and (max-width: 500px) {
   input,
   textarea,
   select {
      max-width:95%;
   }
}