/* Overall */
* {
	margin: 0;
	padding: 0;
}

/* Legal disclaimers — form + footer (FL Bar Rule 4-7 advertising compliance) */
.form-disclaimer {
	font-size: 12px;
	/* WCAG AA. This disclaimer renders on the gold #C79342 consultation panel,
	   where #3f3a34 measures 4.11:1 against the 4.5:1 that 12px normal text needs.
	   Navy is 4.75:1 on the same gold and is what the rest of that section uses. */
	color: #223053;
	line-height: 1.45;
	margin: 12px 0 0;
	max-width: 560px;
}
#footer-disclaimer {
	font-size: 11px;
	color: #999;
	line-height: 1.55;
	max-width: 760px;
	margin: 24px auto 14px;
	text-align: center;
	padding: 0 16px;
}

/* Accessibility: skip-to-main-content link (visible only on keyboard focus) */
.skip-link {
	position: absolute;
	left: 0;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	z-index: 100000;
}
.skip-link:focus {
	position: fixed;
	left: 12px;
	top: 12px;
	width: auto;
	height: auto;
	clip: auto;
	clip-path: none;
	white-space: normal;
	padding: 10px 18px;
	background: #2F3D63;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	border-radius: 3px;
	box-shadow: 0 4px 12px rgba(0,0,0,.25);
	outline: 3px solid #c79342;
}

body {
	margin: 0;
	padding: 0;
	font-family: Lora, Helvetica, Arial, Geneva, sans-serif;
	font-size: 17px;
	color: #363434;
	text-align: center;
	/*background: url(../images/Layout_BG.jpg) repeat-x;*/
	background-color: #FFF;
	-webkit-font-feature-settings: 'lnum' 1;
	   -moz-font-feature-settings: 'lnum' 1;
	   -moz-font-feature-settings: 'lnum=1';
	    -ms-font-feature-settings: 'lnum' 1;
	     -o-font-feature-settings: 'lnum' 1;
	        font-feature-settings: 'lnum' 1;
}

input, select, textarea {
	font-family: Lora, Helvetica, Arial, Geneva, sans-serif;
	font-size: 17px;
	color: #363434;
	border: 1px solid rgba(0,0,0,0.10);
    border-radius: 1px;
	background-color: #FFF;
    /*box-shadow: 0 1px 1px rgba(0,0,0,0.10) inset;*/
	padding: 9px;
	margin: 0 3px 6px 0;
	text-overflow: ellipsis;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
select {
	padding: 8px;
	-webkit-appearance: menulist-button;
}
td input, td select, td textarea {
	margin: 0;
}
textarea {
	word-wrap: break-word;
}
input:hover, select:hover, textarea:hover {
	border-color: rgba(0,0,0,0.20);
}
input:focus, select:focus, textarea:focus {
	border-color: #C79342;
	box-shadow: 0 1px 2px rgba(0,0,0,0.15) inset, 0 0 3px #C79342 !important;
	/*box-shadow: 0 1px 1px rgba(0,0,0,0.10) inset, 0 0 2px #82A9DB !important;*/
}
input:disabled, select:disabled, textarea:disabled {
	cursor: not-allowed;
	background-color: #EAEAEA;
	color: #808080;
}
input[type='image'],
input[type='radio'],
input[type='checkbox'] {
	border: none !important;
	box-shadow: none !important;
}
input[type='radio'],
input[type='checkbox'] {
	vertical-align: -2px;
}
input[type='submit'],
input[type='button'],
input[type='reset'] {
	box-shadow: none !important;
	-webkit-appearance: none;
}
/* WCAG AA: placeholder color is #767676 at full opacity (4.54:1 vs white). The opacity:1 overrides Firefox's default 0.54x reduction that drops conformant colors below threshold. */
input::-webkit-input-placeholder { color: #767676; opacity: 1; }
input::-moz-placeholder { color: #767676; opacity: 1; }
input:-moz-placeholder { color: #767676; opacity: 1; }
input:-ms-input-placeholder { color: #767676; opacity: 1; }
textarea::-webkit-input-placeholder { color: #767676; opacity: 1; }
textarea::-moz-placeholder { color: #767676; opacity: 1; }
textarea:-moz-placeholder { color: #767676; opacity: 1; }
textarea:-ms-input-placeholder { color: #767676; opacity: 1; }

.placeholder {
	position: relative;
	display: inline-block;
	margin-bottom: 5px;
}
.placeholder .label {
	position: absolute;
	top: 5px;
	left: 5px;
	font-size: 12px;
	text-transform: uppercase;
	padding: 0 6px;
	background-color: #FFF;
	color: #CCC;
	-webkit-transition: all 0.3s;
	   -moz-transition: all 0.3s;
	    -ms-transition: all 0.3s;
	     -o-transition: all 0.3s;
	        transition: all 0.3s;
	pointer-events: none;
}
.placeholder .label.small {
	top: -4px;
	left: 5px;
	font-size: 10px;
	padding: 0 5px;
	color: #699cbc;
	line-height: 1em;
}

form {
	display: block;
	margin: 0;
	padding: 0;
}
form div.grid td {
	min-width: 9em;
}
form div.grid td:nth-child(2) {
	min-width: 18em;
}

label {
	margin-right: 1.5em;
	white-space: nowrap;
}

fieldset {
	display: inline-block;
	padding: 0.25em 0.75em 0.5em 0.75em;
	margin: 0;
	width: auto;
	border: 1px solid #C1C1C1;
	font-size: 15px;
}
legend {
	display: block;
	padding: 0 0.5em;
	font-weight: bold;
	font-size: 16px;
	color: #999;
}

a {
	/* #8B5E20, not the brand gold #C79342: gold is only 2.73:1 on white and
	   2.50:1 on the #F9F4EB callouts, so every body link on a light background
	   failed WCAG AA. #8B5E20 is the same hue family, already used as a link
	   color on /contact/, and measures 5.65:1 on white and 5.15:1 on the cream.
	   Dark sections (#bar, #value, #footer, #updates) all set their own link or
	   text colors, so they are unaffected. Do not revert this to #C79342. */
	color: #8B5E20;
	text-decoration: underline;
	word-wrap: break-word;
	-webkit-transition: color 0.2s linear;
	-moz-transition: color 0.2s linear;
	-ms-transition: color 0.2s linear;
	-o-transition: color 0.2s linear;
	transition: color 0.2s linear;
}
a:hover {
	color: #2F3D63;
	text-decoration: underline;
}
/* WCAG AA (rec 2801): links on light content backgrounds use a darker gold so
   normal-size text meets 4.5:1 (#C79342 was only 2.73:1 on white). Dark-section
   links keep their own colors (#bar/#practice/#updates/#footer override this). */
#body_left a,
#about a {
	/* #8B5E20 not #966f32: the old value measured 4.15:1 on the #F9F4EB callouts
	   and 4.34:1 on #FAFAF6, both just under AA. 5.15:1 and 5.40:1 now. */
	color: #8B5E20;
}
/* Buttons keep their own text color. `#body_left a` has specificity 1,0,1 and
   outranks `.Btn2` at 0,1,0, which is how the gold CTA inside article and
   service bodies ended up drawing body-link brown on gold (2.06:1). */
#body_left a.Btn1,
#body_left a.button,
#about a.Btn1,
#about a.button { color: #FFF; }
#body_left a.Btn2,
#about a.Btn2 { color: #223053; }
#body_left a.Btn1:hover,
#body_left a.button:hover,
#about a.Btn1:hover,
#about a.button:hover { color: #2F3D63; }
#body_left a.Btn2:hover,
#about a.Btn2:hover { color: #8B5E20; }


p {
	margin: 0;
	padding: 0 0 1.3em 0;
	line-height: 1.5em;
}
.p_margin {
	margin-bottom: 0;
}
.p_padding {
	padding-bottom: 0;
}
.p_center,
.align-center {
	text-align: center;
}
.p_left,
.align-left {
	text-align: left;
}
.p_right,
.align-right {
	text-align: right;
}

.align-top {
	vertical-align: top !important;
}
.align-middle {
	vertical-align: middle !important;
}
.align-bottom {
	vertical-align: bottom !important;
}

.clear {
	clear: both;
}
.clear_left {
	clear: left;
}
.clear_right {
	clear: right;
}

.float_left {
	float: left;
}
.float_right {
	float: right;
}

ul, ol {
	margin: -0.8em 0 0 0;
	padding: 0 0 1em 3em;
}
ul ul, ol ol {
	margin-top: 0;
}
ul li, ol li {
	margin-bottom: 0.6em;
}
ul li ul, ol li ul {
	padding-bottom: 0.01em;
}
#body_container ul,
#body_container ol {
	/*display: table;*/
}

hr {
	border-style: none;
	border-top: 1px dashed #C0C0C0;
	margin: 1em 0 2em 0;
	background-color: #FFF;
	color: #FFF;
}

img {
	border: 0;
}

sup, sub {
	font-size: 0.6em;
}
.underline {
	text-decoration: underline;
}
.italic {
	font-style: italic;
}
.bold {
	font-weight: bold;
}
.no-bold {
	font-weight: normal;
}
.no-underline,
.no-underline:hover {
	text-decoration: none;
}
.no-select {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: default;
}
.no-wrap {
	display: inline-block;
	white-space: nowrap;
}
.no-margin {
	margin: 0;
}
.no-padding {
	padding: 0;
}
.no-before:before {
	display: none !important;
}
.no-before[target='_blank'] {
	margin-right: 0;
}
.no-after:after {
	display: none !important;
}
.no-background {
	background: none !important;
}

.monospace {
	font-family: monospace;
}

* :focus {
	outline: 0;
}

pre {
	text-align: left;
}


/* Headings */
h1, h2, h3, h4, h5, h6 {
	margin: 0;
}

h1 {
	font-size: 40px;
	color: #2F3D63;
	margin-bottom: 0.5em;
}
h1.alt {
	text-align: center;
	font-style: italic;
	font-size: 40px;
}
h1.alt:before {
	position: relative;
	top: 23px;
    left: -14px;
    font-size: 72px;
	font-weight: normal;
	font-style: normal;
	font-family: 'immigration-law-center';
	content: '\64';
	color: #C79342;
}
h1.alt:after {
	position: relative;
	top: 23px;
    left: 14px;
    font-size: 72px;
	font-weight: normal;
	font-style: normal;
	font-family: 'immigration-law-center';
	content: '\61';
	color: #C79342;
}

h2 {
	font-size: 24px;
	/* #A57831, not #C79342: at 24px bold the AA threshold is 3:1 and the brand
	   gold measures 2.73:1 on white and 2.50:1 on the cream callouts. This is the
	   same gold a shade deeper (3.94:1 / 3.60:1) and is already in the palette. */
	color: #A57831;
	margin-bottom: 0.7em;
}
h2.alt {
	color: #223053;
	text-align: center;
	font-style: italic;
	font-size: 40px;
}
h2.alt:before {
	position: relative;
	top: 23px;
    left: -14px;
    font-size: 72px;
	font-weight: normal;
	font-style: normal;
	font-family: 'immigration-law-center';
	content: '\64';
	color: #2F3D63;
}
h2.alt:after {
	position: relative;
	top: 23px;
    left: 14px;
    font-size: 72px;
	font-weight: normal;
	font-style: normal;
	font-family: 'immigration-law-center';
	content: '\61';
	color: #2F3D63;
}

h3 {
	font-size: 22px;
	color: #223053;
	margin-bottom: 1.0em;
}

h4 {
	font-size: 18px;
	color: #191919;
	margin-bottom: 1.0em;
}

h5 {
	font-size: 16px;
	color: #3E4C6F;
	margin-bottom: 1.0em;
}


/* Sub-Headings */
.Heading1 {
	color: #2F3D63;
	font-size: 125%;
	font-weight: bold;
}

.Heading2 {
	color: #A57831;
	font-size: 125%;
	font-weight: bold;
}

.Heading3 {
	color: #223053;
	font-size: 11px;
}

.Heading4 {
	color: #191919;
	font-size: 16px;
	font-weight: bold;
}

.Heading5 {
	color: #3E4C6F;
	font-size: 16px;
	font-weight: bold;
}


/* Highlights */
.Highlight1 {
	color: #C00;
}

.Highlight2 {
	color: #090;
}

.Highlight3 {
	color: #2F3D63;
}

.Highlight4 {
	color: #A57831;
}

.Highlight5 {
	color: #223053;
}

.Highlight6 {
	color: #191919;
}

.Highlight7 {
	color: #3E4C6F;
}


/* Backgrounds */
.bg1 {
	background-color: #C00;
}

.bg2 {
	background-color: #090;
}

.bg3 {
	background-color: #808080;
}

.bg4 {
	background-color: #C0C0C0;
}

.bg5 {
	background-color: #C0C0C0;
}

.Background1 {
	background-color: #EEF0F7;
	border-right: 4px solid;
	border-color: #CFD5E8;
	color: #1F2840;
	padding: 0 5px;
	font-weight: bold;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 1.0);
}

.Background2 {
	background-color: #F9F4EB;
	border-right: 4px solid;
	border-color: #EFE0C8;
	color: #8B5E20;  /* #A57831 was 3.60:1 on this background */
	padding: 0 5px;
	font-weight: bold;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 1.0);
}

.Background3 {
	background-color: #EDF0F8;
	border-right: 4px solid;
	border-color: #CCD5EA;
	color: #131B2F;
	padding: 0 5px;
	font-weight: bold;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 1.0);
}

.Background4 {
	background-color: #F2F2F2;
	border-right: 4px solid;
	border-color: #DBDBDB;
	color: #000000;
	padding: 0 5px;
	font-weight: bold;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 1.0);
}

.Background5 {
	background-color: #EFF1F6;
	border-right: 4px solid;
	border-color: #D1D7E5;
	color: #2C364E;
	padding: 0 5px;
	font-weight: bold;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 1.0);
}

.Background6 {
	background-color: #EBEBEB;
	border-right: 4px solid;
	border-color: #D1D1D1;
	color: #696969;
	padding: 0 5px;
	font-weight: bold;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 1.0);
}


/* Badges */
.badge {
	display: inline-block;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	border-radius: 50%;
	text-align: center;
	width: 1em;
	height: 1em;
	line-height: 1em;
	padding: 7px;
	background-color: #C0C0C0;
	color: white;
}


/* Callout */
.Callout1 {
	background-color: #EEF0F7;
	border-left: 7px solid;
	border-color: #CFD5E8;
	color: #1F2840;
	padding: 12px 10px 0px 12px;
	text-shadow: 0 1px 0 rgba(255,255,255,1.0);
	-webkit-border-radius: 2px;
	-ms-border-radius: 2px;
	border-radius: 2px;
	page-break-inside: avoid;
}

.Callout2 {
	background-color: #F9F4EB;
	border-left: 7px solid;
	border-color: #EFE0C8;
	color: #A57831;
	padding: 12px 10px 0px 12px;
	text-shadow: 0 1px 0 rgba(255,255,255,1.0);
	-webkit-border-radius: 2px;
	-ms-border-radius: 2px;
	border-radius: 2px;
	page-break-inside: avoid;
}

.Callout3 {
	background-color: #EDF0F8;
	border-left: 7px solid;
	border-color: #CCD5EA;
	color: #131B2F;
	padding: 12px 10px 0px 12px;
	text-shadow: 0 1px 0 rgba(255,255,255,1.0);
	-webkit-border-radius: 2px;
	-ms-border-radius: 2px;
	border-radius: 2px;
	page-break-inside: avoid;
}

.Callout4 {
	background-color: #F2F2F2;
	border-left: 7px solid;
	border-color: #DBDBDB;
	color: #000000;
	padding: 12px 10px 0px 12px;
	text-shadow: 0 1px 0 rgba(255,255,255,1.0);
	-webkit-border-radius: 2px;
	-ms-border-radius: 2px;
	border-radius: 2px;
	page-break-inside: avoid;
}

.Callout5 {
	background-color: #EFF1F6;
	border-left: 7px solid;
	border-color: #D1D7E5;
	color: #2C364E;
	padding: 12px 10px 0px 12px;
	text-shadow: 0 1px 0 rgba(255,255,255,1.0);
	-webkit-border-radius: 2px;
	-ms-border-radius: 2px;
	border-radius: 2px;
	page-break-inside: avoid;
}

.Callout6 {
	background-color: #EBEBEB;
	border-left: 7px solid;
	border-color: #D1D1D1;
	color: #696969;
	padding: 12px 10px 0px 12px;
	text-shadow: 0 1px 0 rgba(255,255,255,1.0);
	-webkit-border-radius: 2px;
	-ms-border-radius: 2px;
	border-radius: 2px;
	page-break-inside: avoid;
}

p.Callout1,
p.Callout2,
p.Callout3,
p.Callout4,
p.Callout5,
p.Callout6 {
	padding-bottom: 12px;
}


/* Signature */
.signature {
	font-family: 'Mr De Haviland', cursive;
	font-size: 56px;
	display: inline-block;
	margin-bottom: 0.35em;
    margin-top: 0.25em;
}


/* Date Boxes */
.date {
	margin: 0 1.0em 1.0em 0;
	text-align: center;
	text-transform: uppercase;
	color: #FFF;
	font-weight: normal;
	width: 57px;
	transition: all 300ms;
}
.date .date-top,
.date .date-btm {
	width: 100%;
	transition: all ease 0.6s;
}
.date .date-top {
	height: 53px;
	font-size: 38px;
	font-weight: normal;
	background-color: #C2923A;
	padding-bottom: 0px;
    padding-top: 5px;
}
.date .date-top strong {
	font-size: 25px;
	display: block;
}
.date .date-btm {
	height: 24px;
	background-color: #243153;
	font-size: 15px;
	font-weight: bold;
	padding-top: 5px;
}


/* Images */
.ImageLink {
	background-color: #FFF;
	border: 0px solid rgba(0, 0, 0, 0.12);
	padding: 5px;
	margin: 6px 10px;
	/*box-shadow: 0 0 25px rgba(0,0,0,0.12);*/
	border-radius: 2px;
}
a .ImageLink {
	border: 0px solid rgba(0, 0, 0, 0.12);
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
a:hover .ImageLink {
	background-color: #FFF;
	border-color: #2F3D63;
	box-shadow: 0 0 25px rgba(0,0,0,0.35);
}
table.ImageLink {
	border-collapse: collapse;
	width: 1%;
	font-size: 0.85em;
	color: #666;
}
table.ImageLink td {
	padding: 5px;
}
table.ImageLink hr {
	margin: 5px 0 2px 0;
	border-style: dotted;
}

.ImagePad_Left,
.ImageLink.float_right {
	margin: 0 0 1.5em 1.5em;
}
.ImagePad_Right,
.ImageLink.float_left {
	margin: 0 1.5em 1.5em 0;
}

.ImageCircle {
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	border-radius: 50%;
}

.ImageFluid {
	display: block;
	width: 100%;
	height: auto;
}

figure.ImageLink figcaption {
	font-size: 0.825em;
	text-align: center;
}
figure.ImageLink figcaption strong {
	font-size: 1.10em;
}


/* Buttons */
.Btn1,
.Btn2,
.Btn3,
.Btn4,
.Btn5,
.Btn6,
a.button,
input.button {
	display: inline-block;
	text-align: center;
	background: none;
	border-bottom: 0;
	border: 1px solid;
	padding: 10px 22px;
	margin: 0 3px 3px 0;
	cursor: pointer;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	text-shadow: none;
	/*text-transform: uppercase;*/
	line-height: normal;
	box-shadow: none;
	border-radius: 1px;
	-webkit-transition: background 0.2s linear, color 0.2s linear, text-shadow 0.2s linear;
	-moz-transition: background 0.2s linear, color 0.2s linear, text-shadow 0.2s linear;
	-ms-transition: background 0.2s linear, color 0.2s linear, text-shadow 0.2s linear;
	-o-transition: background 0.2s linear, color 0.2s linear, text-shadow 0.2s linear;
	transition: background 0.2s linear, color 0.2s linear, text-shadow 0.2s linear;
}
a.Btn1,
a.Btn2,
a.Btn3,
a.Btn4,
a.Btn5,
a.Btn6 {
	/*padding: 4px 15px;*/
}
a.Btn1 i,
a.Btn2 i,
a.Btn3 i,
a.Btn4 i,
a.Btn5 i,
a.Btn6 i {
	margin-right: 0.3em;
}
.Btn1:hover,
.Btn2:hover,
.Btn3:hover,
.Btn4:hover,
.Btn5:hover,
.Btn6:hover,
a.button:hover,
input.button:hover {
	text-decoration: none;
	text-shadow: none;
}
.Btn1:active,
.Btn2:active,
.Btn3:active,
.Btn4:active,
.Btn5:active,
.Btn6:active,
a.button:active,
input.button:active {
	position: relative;
	top: 1px;
}
.Btn1:visited,
.Btn2:visited,
.Btn3:visited,
.Btn4:visited,
.Btn5:visited,
.Btn6:visited,
a.button:visited,
input.button:visited {
}
.Btn1:focus,
.Btn2:focus,
.Btn3:focus,
.Btn4:focus,
.Btn5:focus,
.Btn6:focus,
a.button:focus,
input.button:focus {
}

a.button,
input.button,
.Btn1.alt:hover,
.Btn1.alt.hover,
.Btn1 {
	background-color: #2F3D63;
	border-color: #2F3D63;
	color: #FFF;
}
a.button:hover,
input.button:hover,
.Btn1.hover,
.Btn1.alt,
.Btn1:hover {
	background-color: transparent;
	border-color: #2F3D63;
	color: #2F3D63;
}

.Btn2.alt:hover,
.Btn2.alt.hover,
.Btn2 {
	background-color: #C79342;
	border-color: #C79342;
	/* navy, not #FFF: white on this gold is 2.73:1. Navy is 4.75:1. */
	color: #223053;
}
.Btn2.hover,
.Btn2.alt,
.Btn2:hover {
	background-color: transparent;
	border-color: #C79342;
	color: #8B5E20;  /* gold-on-white was 2.73:1 */
}

.Btn3.alt:hover,
.Btn3.alt.hover,
.Btn3 {
	background-color: #223053;
	border-color: #223053;
	color: #FFF;
}
.Btn3.hover,
.Btn3.alt,
.Btn3:hover {
	background-color: transparent;
	border-color: #223053;
	color: #223053;
}

.Btn4 {
	background-color: #191919;
	border-color: #191919;
	color: #FFF;
}
.Btn4:hover {
	background-color: transparent;
	border-color: #191919;
	color: #191919;
}

.Btn5 {
	background-color: #3E4C6F;
	border-color: #3E4C6F;
	color: #FFF;
}
.Btn5:hover {
	background-color: transparent;
	border-color: #3E4C6F;
	color: #3E4C6F;
}

.Btn6 {
	background-color: transparent;
	border-color: #6E6E6E;
	color: #6E6E6E;
}
.Btn6:hover {
	background-color: #6E6E6E;
	border-color: #6E6E6E;
	color: #FFF;
}

.BtnXL {
	font-size: 15px;
}
.BtnXL i {
	font-size: 18px;
}

.BtnImg {
	font-size: 1.1em;
	padding-top: 5px;
	padding-bottom: 5px;
}
.BtnImg img {
	border: 0;
	vertical-align: middle;
}

.BtnRound {
	border-radius: 30px;
    padding: 0.7em 2.0em;
}


/* Layout */
#header,
#header_container,
#body_container,
#footer,
#footer_container,
#center,
.layout_outer {
	margin: 0 auto;
}
.layout_outer {
	overflow: hidden;
}

#wrapper,
#header_container,
#body_container,
#footer_container,
.layout_inner {
	position: relative;
	margin: 0 auto;
	text-align: left;
	/*width: 997px;*/
}

body {
	/*min-width: 997px;*/
}

#wrapper {
	-webkit-box-shadow: 0 0 15px rgba(0,0,0,0.5);
	box-shadow: 0 0 15px rgba(0,0,0,0.5);
}

#bar {
	background-color: #1A1A1A;
	color: #FFF;
	font-size: 0.80em;
	padding: 12px 0;
}
#bar a {
	color: #FFF;
	text-decoration: none;
}
#bar a:hover,
#bar i,
#bar a.phone {
	color: #C79342;
}
#bar a.phone:hover {
	color: #FFF;
}
#bar div.grid {
	margin: 0;
}
#bar div.right {
	text-align: right;
	position: relative;
    top: -2px;
}
#bar div.right a {
	margin-right: 2.0em;
}
#bar div.right a:last-child {
	margin-right: 0;
}
#bar a.phone {
	font-size: 1.15em;
	font-weight: bold;
}

#value {
	position: relative;
	top: -100px;
	transition: all 200ms;
}
#value div.grid {
	position: relative;
	top: 0px;
	background-color: #2F3D63;
	margin: 0;
	color: #FFF;
	font-size: 17px;
	width: 29%;
	min-height: 210px;
	transition: all 0.4s;
}
#value div.grid:first-child,
#value div.grid:last-child {
	background-color: #243153;
	top: 15px;
	min-height: 180px;
}
#value div.grid:hover {
	top: -10px;
	-webkit-box-shadow: 0 0 25px rgba(0,0,0,0.80);
	box-shadow: 0 0 25px rgba(0,0,0,0.80);
}
#value div.grid:first-child:hover,
#value div.grid:last-child:hover {
	top: 5px;
}
#value a {
	display: block;
	padding: 30px 30px;
	color: #FFF;
	text-decoration: none;
}
#value h3,
#value i {
	color: #c79342;
}
#value h3 {
	font-size: 24px;
	margin-bottom: 0.25em;
}
#value i {
	font-size: 45px;
}
#value span {
	color: #a3a9b7; /* WCAG AA: was #6F798F (2.4:1) on the dark hero overlay -> now >=4.5:1 */
	font-size: 13px;
	font-weight: bold;
	text-transform: uppercase;
}
#value p {
	padding-bottom: 0;
}


#practice {
	background-color: #C79342;
	padding: 60px 0 80px 0;
}
#practice h2.alt {
	color: #223053;
}
#practice h2.alt:before {
	color: #FFF;
}
#practice h2.alt:after {
	color: #FFF;
}
#practice div.grid {
	position: relative;
	top: 0px;
	/* WCAG AA. The card used to be #B7873D, on which its own white 17px body copy
	   measured 3.21:1 and the gold "Learn More" label (#D1B282) measured 1.58:1.
	   White cannot be lightened, so the background had to come down. There is no
	   value that rescues white AND keeps the navy headings: white needs the card
	   at luminance 0.183 or below, navy needs 0.190 or above. So the card is now
	   a dark bronze with light type throughout, which also separates it from the
	   #C79342 section behind it instead of nearly matching it.
	   Measured on #8A5F23: white 5.61:1, #F5E6CE 4.57:1. */
	background-color: #8A5F23;
	margin: 0 8px 8px 0;
	width: calc(33% - 8px);
	color: #FFF;
	font-size: 17px;
	min-height: 210px;
	transition: all 0.4s;
	text-align: center;
}
#practice div.grid:hover {
	top: -7px;
}
#practice div.grid > a {
	display: block;
	padding: 30px 30px;
	color: #FFF;
	text-decoration: none;
}
#practice ul {
	color: #223053;
}
#practice ul a {
	color: #223053; /* WCAG AA: was #FFF (2.73:1) on the gold #C79342 section -> navy now 4.75:1 */
	text-decoration: none;
}
#practice ul a:hover {
	color: #d1b282;
}
/* Same WCAG problem, different element. A previous pass fixed `#practice ul a`
   but not prose links in this section (.geo-answer sits in a <p>), which fell
   through to the base `a` color and measured 2.06:1 on the gold. Navy is
   4.75:1 here and matches h2.alt and the list links above. */
#practice p a {
	color: #223053;
}
#practice p a:hover {
	color: #1a2440;
}
#practice h3,
#practice i {
	color: #223053;
}
/* Inside the card the background is the dark bronze above, not the section gold,
   so navy would read 2.32:1. Light type instead. Scoped to div.grid so any
   heading that sits directly in the section keeps the navy. */
#practice div.grid h3,
#practice div.grid i {
	color: #FFF;
}
#practice h3 {
	font-size: 24px;
	margin-bottom: 0.25em;
}
#practice i {
	font-size: 45px;
}
#practice span {
	/* 13px bold is not "large text", so this needs the full 4.5:1. #D1B282 gave
	   1.58:1 on the old card. Cream reads 4.57:1 on #8A5F23 and keeps the label
	   visually distinct from the white body copy above it. */
	color: #F5E6CE;
	font-size: 13px;
	font-weight: bold;
	text-transform: uppercase;
}
#practice p {
	padding-bottom: 0;
}


#about {
	padding: 90px 0 60px 0;
}


#updates {
	background-color: #2E3D62;
	/* WebP: 83KB -> 7KB. Both section backgrounds are dark, low-contrast photos
	   that were costing 210KB of early bandwidth between them for no visible gain. */
	background-image: url(/images/Mid_BG.webp);
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: cover;
    background-attachment: fixed;
	padding: 60px 0 80px 0;
}
#updates a:hover {
	color: #FFF;
}
#updates h2.alt {
	font-size: 35px;
	font-weight: normal;
	color: #FFF;
	margin-left: -5em;
	margin-bottom: 0.3em;
}
#updates h2.alt.second {
    margin-left: -6.5em;
}
#updates h2.alt:before {
	display: none;
	content: '';
}
#updates h2.alt:after {
	color: #C2923A;
}
#updates blockquote {
	margin-top: -52px;
}
#updates blockquote p {
	color: #FFF;
	font-size: 20px;
	font-style: italic;
}
#updates blockquote:before,
#updates blockquote:after {
	font-family: 'Lora', Times, serif;
	font-size: 150px;
	color: rgba(255,255,255,0.08);
}
#updates blockquote:before {
	top: 110px;
	left: -23px;
}
#updates blockquote:after {
	margin-top: -15px;
}
#updates blockquote cite {
	font-size: 18px;
	color: #c79342;
}
#updates blockquote cite strong {
	font-weight: bold;
	font-family: 'Mr De Haviland', cursive;
	font-size: 38px;
}
#updates div.article {
	position: relative;
	top: 0px;
	color: #FFF;
	background-color: rgba(255,255,255,0.08);
	width: 85%;
	margin-left: 29px;
	margin-bottom: 25px;
	transition: all 300ms;
}
#updates div.article a {
	display: block;
	padding: 20px;
	padding-left: 48px;
	text-decoration: none;
}
#updates div.article h3 {
	color: #FFF;
	font-size: 19px;
}
#updates div.article p {
	color: #FFF;
	font-size: 15px;
	padding-bottom: 0;
}
#updates div.article div.date {
	position: absolute;
	top: calc(50% - 40px);
	left: -29px;
}
#updates div.article:hover {
	top: -8px;
	background-color: rgba(255,255,255,0.12);
}
#updates div.article:hover div.date {
	top: -5px;
}

#location {
	background-color: #C79342;
}
#location div.left {
	padding: 80px 50px 60px 0;
	width: calc(49.7% - 50px);
}
#location div.right {
	background-color: #DDD;
}
#location h2 {
	margin-left: -1.2em;
	margin-bottom: 0;
}
#location h2:before {
	content: '';
	display: none;
}
#location h2:after {
	color: #FFF;
}
#location input[type='text'],
#location textarea,
#location select {
	display: inline-block;
	width: 90%;
	font-size: 22px;
	background: transparent;
	border: 0;
	border-bottom: 3px solid rgba(34,48,83,0.45);
	padding-left: 0;
	margin-bottom: 1.0em;
	/* WCAG AA. These fields sat white on the gold #C79342 section at 22px normal,
	   which measures 2.73:1 and needs 4.5:1. White cannot be lightened and 22px
	   normal is not large text, so the type had to come down instead. Navy is
	   4.75:1 on this exact gold and is already the section palette: h2.alt, the
	   list links and the prose links on the gold all use it after earlier passes.
	   The underline moved with it so the field boundary is still visible. */
	color: #223053;
}
#location select option {
    background: white;
    color: #223053;
}
#location textarea {
	height: 6em;
}
#location input[type='text']:focus,
#location select:focus,
#location textarea:focus {
	box-shadow: none !important;
	border-bottom-color: rgba(34,48,83,1);
}
#location .Btn1 {
	width: auto;
	font-size: 19px;
}
#location input::-webkit-input-placeholder { color: rgba(34,48,83,0.85); }
#location input::-moz-placeholder { color: rgba(34,48,83,0.85); }
#location input:-moz-placeholder { color: rgba(34,48,83,0.85); }
#location input:-ms-input-placeholder { color: rgba(34,48,83,0.85); }
#location textarea::-webkit-input-placeholder { color: rgba(34,48,83,0.85); }
#location textarea::-moz-placeholder { color: rgba(34,48,83,0.85); }
#location textarea:-moz-placeholder { color: rgba(34,48,83,0.85); }
#location textarea:-ms-input-placeholder { color: rgba(34,48,83,0.85); }

#header {
	position: relative;
	/*background: url(../images/Layout_Header.jpg) no-repeat center top;*/
	height: 188px;
}

#body_bg {
	/*background: url(../images/Layout_BodyBG.jpg) repeat-y center top;*/
	overflow: hidden;
	clear: both;
}

#body {
	/*background: url(../images/Layout_Body.jpg) no-repeat center top;*/
	overflow: hidden;
}

#body_container {
	min-height: 500px;
	max-height: 5000em;
}

#body_left {
	width: 100%;
	margin: 0 0 3em 0;
}

#body_right {
	float: right;
	width: 300px;
	margin-left: 2em;
}

#footer {
	background-color: #303030;
	/* WebP: 127KB -> 13KB. See the note on #updates above. */
	background-image: url(/images/Footer_BG.webp);
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: cover;
    background-attachment: fixed;
	/*min-height: 335px;*/
	clear: both;
	padding: 4.5em 0 3em 0;
}

#footer_bg {
	/*background: url(../images/Layout_FooterBG.jpg) repeat-x center top;*/
	overflow: hidden;
	clear: both;
}

#footer .logo {
	width: 300px;
	height: auto;
}
#footer div.left {

}
#footer div.left a {
	color: #E6E6E6;
	font-size: 18px;
	text-decoration: none;
	display: inline-block;
	margin-bottom: 1.25em;
}
#footer div.left a:hover,
#footer div.left i {
	color: #c2923a;
}
#footer div.left i {
	font-size: 22px;
	margin-right: 3px;
}
#footer div.left a.phone {
	font-size: 22px;
	font-weight: bold;
	color: #c2923a;
}
#footer div.left a.phone:hover {
	color: #FFF;
}
#footer div.left .space {
	margin-right: 1.7em;
}
#footer div.right .floridabar {
	width: 100px;
	height: auto;
	margin-right: 2em;
	margin-bottom: 1em;
}


/* Navigation (Text) */
#nav {
	position: absolute;
	top: 70px;
	right: 0px;
}
#nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}
#nav ul li {
	display: inline-block;
	float: left;
	margin: 0;
	padding: 0;
}
#nav ul li a {
	display: block;
	margin: 0;
	padding: 0 0.5em;
	height: 45px;
	line-height: 45px;
	text-decoration: none;
	font-size: 17px;
	font-weight: bold;
	/* #5A5A5A, not #B0AFAF: the old light gray was 2.19:1 on white. 6.90:1 now. */
	color: #5A5A5A;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
#nav > ul > li:last-child a {
	margin-right: 0px;
	padding-right: 0;
}
#nav ul li a:hover,
#nav ul li a:active,
#nav ul li a.hover,
#nav ul li a.selected {
	/* #8B5E20, not #C79342: the selected nav item was 2.73:1 on white. 5.65:1 now. */
	color: #8B5E20;
	text-decoration: none;
}


/* Navigation Overlays */
#nav ul li {
	position: relative;
}

#nav ul ul {
	display: none;
	position: absolute;
	z-index: 999;
	top: 55px;
	left: 10px;
	font-weight: normal;
	font-style: normal;
	text-align: left;
	border-left: 7px solid #c2923a;
	background-color: #2E3D63;
}
#nav ul li:last-child ul,
#nav ul li.end ul {
	left: auto;
	right: 0px;
}

#nav ul li li {
	width: 100%;
}

#nav ul li li:last-child {
	/*border-bottom: 0;*/
}

#nav ul li ul a {
	display: block;
	padding: 1.0em 2.0em 1.0em 1.2em;
	margin: 0;
	/*width: 150px;*/
	white-space: nowrap;
	height: auto;
	line-height: normal;
	text-indent: 0;
	text-decoration: none;
	font-size: 14px;
	font-weight: normal;
	color: #FFF;
	background: none;
	border-radius: 0;
	-webkit-transition: background 0.2s linear, color 0.2s linear;
	-moz-transition: background 0.2s linear, color 0.2s linear;
	-ms-transition: background 0.2s linear, color 0.2s linear;
	-o-transition: background 0.2s linear, color 0.2s linear;
	transition: background 0.2s linear, color 0.2s linear;
}

#nav ul li ul a:hover {
	background-image: none;
	background-color: #223053;
	color: #FFF !important;
}

#nav li li ul {
	top: 0px;
	left: 1px;
	margin-left: 100%;
	margin-top: 0%;
}
#nav li:last-child li ul
#nav li.end li ul {
	top: auto;
	left: auto;
	right: 0px;
	margin-top: 1px;
}

#nav ul li.parent > a {
	border-right: 4px solid;
	border-color: #006697;
	-webkit-transition: border 0.2s linear;
	-moz-transition: border 0.2s linear;
	-ms-transition: border 0.2s linear;
	-o-transition: border 0.2s linear;
	transition: border 0.2s linear;
}

#nav ul li.parent > a:hover {
	border-color: #006697;
}

#nav ul li.parent > a > div.marker {
	display: block;
	position: absolute;
	top: 0.85em;
	right: 0.6em;
	font-weight: bold;
	color: #006697;
	-webkit-transition: color 0.2s linear;
	-moz-transition: color 0.2s linear;
	-ms-transition: color 0.2s linear;
	-o-transition: color 0.2s linear;
	transition: color 0.2s linear;
}
#nav ul li.parent > a:hover > div.marker {
	color: #FFF;
}

#nav > ul > li:last-child ul {
	left: auto;
	right: 0;
}


/* Navigation (Footer) */
#navf {
	position: absolute;
	top: 10px;
	left: 0px;
	width: 100%;
	color: #FFF;
	font-size: 14px;
	text-transform: uppercase;
	text-align: center;
}
#navf ul {
	list-style: none;
	margin: 0;
	padding: 0;

}
#navf ul li {
	display: inline;
	margin: 0;
	padding: 0;
}
#navf ul li:after {
	content: '|';
}
#navf ul li:last-child:after {
	content: '';
}
#navf ul li a {
	color: #FFF;
	text-decoration: none;
	margin: 0 10px 0 6px;
}
#navf ul li:first-child a {
	margin-left: 0;
}
#navf ul li a:hover {
	color: #2F3D63;
	text-decoration: none;
}


/* Submenu */
ul.submenu {
	display: block;
	overflow: hidden;
	clear: both;
	list-style: none;
	margin: 0;
	padding: 0 0 1em 0;
}
ul.submenu li {
	display: block;
	float: left;
	margin: 0;
	padding: 0;
	font-size: 0;
}
ul.submenu li a {
	display: inline-block
	padding: 0.75em 1.25em;
	margin: 0 10px 10px 0;
	background-color: #f2f2f2;
	border-bottom: 1px solid #aaa;
	color: #757575;
	transition: all .2s;
	font-size: 15px;
	font-weight: bold;
	text-decoration: none;
}
ul.submenu li:last-child a {
	margin-right: 0;
}
ul.submenu li a:hover,
ul.submenu li a:focus,
ul.submenu li a.selected,
ul.submenu li a.hover {
	background-color: #F3F7F8;
	border-color: #699CBC;
	color: #699CBC;
}
ul.submenu.center {
	display: table;
	margin: 0 auto;
}


/* Top */
#top {
	display: none;
}


/* Home */
#home {
	position: absolute;
	top: 50px;
	left: 0px;
}
#home img {
	width: 400px;
	height: auto;
}

#home2 {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 300px;
	height: 100px;
}
#home2 a {
	display: block;
	text-indent: -9999px;
	width: 100%;
	height: 100%;
}


/* Copyright */
#copyright {
	display: block;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	text-align: center;
	font-style: italic;
	font-size: 13px;
	color: #999999;
}
#copyright a {
	color: #999999;
	text-decoration: none;
	white-space: nowrap;
	/* Touch target. These links rendered 170x18 with 18px of clear space, under
	   the 24x24 minimum, and they sit in a row of three separated only by pipes.
	   Padding gives each one the height and the neighbours the breathing room
	   without moving anything else in the footer. */
	display: inline-block;
	min-height: 24px;
	line-height: 24px;
	padding: 3px 6px;
}
#copyright a:hover {
	color: #c2923a;
	text-decoration: none;
}


/* Designed */
#designed {
	position: absolute;
	top: 50px;
	left: 0px;
	width: 100%;
	text-align: center;
	font-size: 13px;
	color: #999999;
}
#designed a {
	color: #999999;
	text-decoration: none;
}
#designed a:hover {
	color: #2F3D63;
}


#hero {
	margin-bottom: 4em;
	border-bottom: 13px solid #c79342;
}

#intro {
	font-size: 18px;
}
#intro h1 {
	line-height: 0.95em;
}
#intro h1 em {
	font-weight: normal;
	margin-left: -12em;
}
#intro h1 strong {
	margin-right: -2em;
	font-style: italic;
	font-size: 43px;
}


/* Hero Rotator — first <img> is preloaded LCP, others cross-fade via .active toggle */
#rotator {
	position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 550px;
    overflow: hidden;
    z-index: -1;
	border-bottom: 13px solid #c79342;
}
#rotator .hero-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
}
#rotator .hero-slide.active {
	opacity: 1;
}
/* The cross-fade transition is intentionally NOT on the base rule: with it,
   the preloaded first slide (the mobile LCP element) faded 0->1 over 2s on
   initial load, pushing LCP to ~5.8s. The transition is enabled only once the
   rotator JS starts cycling (it adds .rotating), so the first paint is instant. */
#rotator.rotating .hero-slide {
	transition: opacity 1s ease-in-out;
}


/* Buttons (Home/Header) */
#buttons {
	position: absolute;
	top: 10px;
	left: 10px;
}

#button {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 300px;
	height: 100px;
}
#button a {
	display: block;
	text-indent: -9999px;
	width: 100%;
	height: 100%;
}


/* Call To Action */
#cta {
	position: absolute;
	top: 10px;
	right: 10px;
	text-align: right;
	font-weight: bold;
	font-size: 20px;
	color: #000;
}
#cta strong {
	font-size: 35px;
	color: #F00;
}


/* Social */
#social {
	position: absolute;
	top: 10px;
	left: 10px;
}

#facebook {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 100px;
	height: 100px;
}
#facebook a {
	display: block;
	text-indent: -9999px;
	width: 100%;
	height: 100%;
}

#twitter {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 100px;
	height: 100px;
}
#twitter a {
	display: block;
	text-indent: -9999px;
	width: 100%;
	height: 100%;
}

#linkedin {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 100px;
	height: 100px;
}
#linkedin a {
	display: block;
	text-indent: -9999px;
	width: 100%;
	height: 100%;
}

.list_social {
	display: block;
	list-style: none;
	margin: 0 0 0.6em 0;
	padding: 0;
	text-align: center;
}
.list_social li {
	display: inline;
	margin: 0 0px 0 0 !important;
	padding: 0;
}
.list_social li a {
	display: inline-block;
	font-size: 16px;
	padding: 0 1em;
	color: #FFF;
	text-decoration: none;
}
.list_social li a:hover {
	color: #c2923a;
}


/* Link Icons */
.icon_pdf {
	background: url(../images/icons/Icon_PDF.png) no-repeat 0 50%;
	padding-left: 19px;
}

.icon_pdf20 {
	background: url(../images/icons/Icon_PDF20.png) no-repeat 0 50%;
	padding: 3px 0 3px 23px;
}

.icon_pdf32 {
	background: url(../images/icons/Icon_PDF32.png) no-repeat 0 50%;
	padding: 10px 0 10px 35px;
}

.icon_email {
	background: url(../images/icons/Icon_Email.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_email_add {
	background: url(../images/icons/Icon_EmailAdd.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_email_sub {
	background: url(../images/icons/Icon_EmailSub.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_phone {
	background: url(../images/icons/Icon_Phone.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_phone2 {
	background: url(../images/icons/Icon_Phone2.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_fax {
	background: url(../images/icons/Icon_Fax.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_mobile {
	background: url(../images/icons/Icon_Mobile.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_map {
	background: url(../images/icons/Icon_MapPin.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_calendar {
	background: url(../images/icons/Icon_Calendar.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_web {
	background: url(../images/icons/Icon_Globe.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_service {
	background: url(../images/icons/Icon_Bell.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_support {
	background: url(../images/icons/Icon_Support.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_help {
	background: url(../images/icons/Icon_Question.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_login {
	background: url(../images/icons/Icon_Lock.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_news {
	background: url(../images/icons/Icon_News.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_cart {
	background: url(../images/icons/Icon_Cart.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_back {
	background: url(../images/icons/Icon_ArrowLeft.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_print {
	background: url(../images/icons/Icon_Print.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_home {
	background: url(../images/icons/Icon_Home.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_sitemap {
	background: url(../images/icons/Icon_Sitemap.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_search {
	background: url(../images/icons/Icon_Search.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_sections {
	background: url(../images/icons/Icon_Sections.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_success {
	background: url(../images/icons/Icon_Tick.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_success_small {
	background: url(../images/icons/Icon_Tick_Small.png) no-repeat 0 50%;
	padding-left: 16px;
}

.icon_warning {
	background: url(../images/icons/Icon_Exclamation.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_warning_small {
	background: url(../images/icons/Icon_Exclamation_Small.png) no-repeat 0 50%;
	padding-left: 16px;
}

.icon_error {
	background: url(../images/icons/Icon_Cross.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_error_small {
	background: url(../images/icons/Icon_Cross_Small.png) no-repeat 0 50%;
	padding-left: 16px;
}

.icon_required {
	background: url(../images/icons/Icon_Error.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_required_small {
	background: url(../images/icons/Icon_Error_Small.png) no-repeat 0 50%;
	padding-left: 16px;
}

.icon_plus {
	background: url(../images/icons/Icon_Plus.png) no-repeat -3px 50%;
	padding-left: 12px;
	font-size: 12px;
}

.icon_minus {
	background: url(../images/icons/Icon_Minus.png) no-repeat -3px 50%;
	padding-left: 12px;
	font-size: 12px;
}

.icon_zip {
	background: url(../images/icons/Icon_Zip.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_chat {
	background: url(../images/icons/Icon_Chat.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_doc {
	background: url(../images/icons/Icon_Document.png) no-repeat 0 50%;
	padding-left: 17px;
}

.icon_download {
	background: url(../images/icons/Icon_Download.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_upload {
	background: url(../images/icons/Icon_Upload.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_globe {
	background: url(../images/icons/Icon_Globe.png) no-repeat 0 50%;
	padding-left: 20px;
}


.icon_video {
	background: url(../images/icons/Icon_Film.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_video_small {
	background: url(../images/icons/Icon_FilmSmall.png) no-repeat 0 50%;
	padding-left: 16px;
}

.icon_video_play {
	background: url(../images/icons/Icon_FilmPlay.png) no-repeat 0 50%;
	padding-left: 20px;
}

.icon_centella {
	background: url(../images/icons/Icon_Centella.png) no-repeat 0 50%;
	padding: 3px 0 4px 20px;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.95);
}


/* Font Icons */
[class^="icon-"],
[class*=" icon-"] {
	font-size: 16px;
	height: 16px;
	line-height: 16px;
}
[class^="icon-"]:before,
[class*=" icon-"]:before {
	vertical-align: middle;
}
[class^="icon-"].inline,
[class*=" icon-"].inline {
	font-size: 10px;
	line-height: 18px;
}
[class^="icon-"].inline:before,
[class*=" icon-"].inline:before {
	vertical-align: baseline;
}
p a [class^="icon-"],
p a [class*=" icon-"] {
	font-size: 15px;
	position: relative;
	top: -2px;
	padding-right: 2px;
}
.icon14 {
	font-size: 14px;
}
.icon18 {
	font-size: 18px;
}
.icon20 {
	font-size: 20px;
}
.icon24 {
	font-size: 24px;
}
.icon28 {
	font-size: 28px;
}
.icon32 {
	font-size: 32px;
}
.icon48 {
	font-size: 48px;
}
.icon64 {
	font-size: 64px;
}


/* Lists */
.list_pdf {
	list-style-type: none;
	padding: 0 0 1em 1.6em;
}
.list_pdf li {
	background: url(../images/icons/Icon_PDF.png) no-repeat 0 50%;
	padding-left: 22px;
    line-height: 1.5em;
}

.list_colors {
	list-style-type: none;
	padding: 0 0 1em 0;
}
.list_colors li {
	padding-left: 1.0em;
}
.list_colors div {
	float: left;
	width: 18px;
	height: 18px;
	margin-right: 0.3em;
	background-color: #999;
	border: 1px solid rgba(0,0,0,0.35);
}

.list_unpad {
	padding-left: 1.0em;
}

.list_font_check {
	list-style-type: none;
	padding: 0 0 2.0em 21px;
	color: #75C319;
	font-weight: bold;
}
.list_font_check li {
	margin-bottom: 0.8em;
}
.list_font_check li:before {
	vertical-align: bottom;
	margin: 0 6px 0 -20px;
	font-size: 20px;
	font-weight: normal;
	font-family: 'uniconified';
	content: '\e261';
	color: #75C319;
}

.list_font_docs {
	list-style-type: none;
	padding: 0 0 2.0em 20px;
	color: #CD251E;
	font-weight: normal;
	font-size: 0.95em;
}
.list_font_docs li {
	margin-bottom: 0.6em;
}
.list_font_docs li:before {
	vertical-align: bottom;
	margin: 0 6px 0 -20px;
	font-size: 18px;
	font-weight: normal;
	font-family: 'uniconified';
	content: '\e31e';
	color: #CD251E;
}

.list_inline {
	list-style: none;
	padding: 0;
}
.list_inline li {
	display: inline;
	margin: 0 -0.3em 0 0;
	padding: 0;
	white-space: nowrap;
}
.list_inline li:after {
	content: '|';
	margin: 0 0.75em;
}
.list_inline li:last-child:after {
	content: '';
}


/* FAQ */
#faq dt {
	position: relative;
	color: #C79342;
	font-weight: bold;
	cursor: pointer;
	margin-top: 20px;
	padding-left: 27px;
	padding-bottom: 2px;
	padding-top: 2px;
	overflow: hidden;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
#faq dt strong {
	position: relative;
	top: 1px;
}
#faq dt:hover {
	color: #2F3D63;
}
#faq dt div {
	position: absolute;
	top: 0px;
	left: 0px;
	font-weight: bold;
	font-size: 21px;
	font-family: "Times New Roman", Times, serif;
}
#faq dd {
	position: relative;
	color: #0A0A0A;
	line-height: 21px;
	background-color: #FBFBFB;
	border-top: 3px solid #CCC;
	margin: 3px 0px 0px 15px;
	padding: 1px 8px 5px 32px;
	overflow: hidden;
}
#faq dd div {
	position: absolute;
	top: 0px;
	left: 4px;
	color: #DDD;
	font-weight: bold;
	font-size: 21px;
	font-family: "Times New Roman", Times, serif;
}
#faq_toggle {
	font-weight: bold;
	font-size: 11px;
}


/* Fade Carousel */
#carousel {
	list-style-type: none;
	list-style-image: none;
	margin: 0;
	padding: 0;
}
#carousel li {
	display: none;
}


/* Quotes */
blockquote {
	padding: 0px;
	margin: 0px 30px 3.0em 0px;
	/*clear: both;*/;
}

blockquote:before,
blockquote:after {
	font-family: 'Lora', Times, serif;
	font-weight: bold;
	font-size: 3.5em;
	color: #C0C0C0;
}

blockquote:before {
	content: '\201C';
	position: relative;
	top: 40px;
	left: -35px;
	line-height: 0.0em;
}

blockquote:after {
	float: right;
	content: '\201D';
	line-height: 0.0em;
	margin-top: 12px;
}

blockquote span {
	float: right;
	font-size: 0.8em;
	font-family: Constantia, "Lucida Bright", "DejaVu Serif", Georgia, serif;
	font-style: italic;
	color: #C0C0C0;
}

blockquote p {
	padding-bottom: 0.5em;
	font-size: 1.0em;
}

blockquote cite {
	font-style: normal;
	font-size: 0.85em;
}


/* Paging */
#paging_nav {
	list-style: none;
	float: left;
	width: 100%;
	margin: 10px 0;
	padding: 0;
	border-top: 1px solid rgba(0,0,0,0.25);
	border-bottom: 0;
	border-right: 0;
	border-left: 0;
	/*
	border-top: 1px solid;
	border-color: #CCC;
	background-color: #F5F5F5;
	color: #000;
	*/
}
#paging_nav,
#paging_nav select {
	font-size: 12px;
}
#paging_nav span {
	font-weight: bold;
}
#paging_nav li {
	float: left;
	white-space: nowrap;
	margin-top: 7px;
}
#paging_nav li.left {
	width: 24%;
	text-align: left;
}
#paging_nav li.left span {
	margin-left: 8px;
}
#paging_nav li.mid {
	width: 50%;
	padding-top: 5px;
	text-align: center;
}
#paging_nav li.right {
	width: 25%;
	text-align: right;
}
#paging_nav li.right select {
	margin-right: 4px;
}


/* Flex Box */
.flex {
	display: flex;
}
.flex-col {
	flex: 1;
}


/* Justify */
.just {
	text-align: justify;
	-ms-text-justify: distribute-all-lines;
	    text-justify: distribute-all-lines;
}
.just:after {
	content: '';
	width: 100%;
	display: inline-block;
	font-size: 0;
	line-height: 0
}
.just div.grid {
	text-align: left;
	width: 45%;
}
.just.c1 {
	text-align: center;
}
.just.c1 div.grid {
	width: auto;
}
.just.c2 div.grid {
	width: 45%;
}
.just.c3 div.grid {
	width: 30%;
}
.just.c4 div.grid {
	width: 20%;
}


/* Grid */
.grid {
	display: inline-block;
	*display: inline;
	zoom: 1;
	vertical-align: top;
	margin: 0 20px 20px 0;
	/*width: 130px;*/
}
.grid:first-child,
.grid:first-of-type {
	margin-left: 0 !important;
}
.grid:last-child {
	margin-right: 0 !important;
}
/*
.grid:nth-child(2n) {
	margin-right: 0;
}
*/
.grid img {
	margin-left: 0;
	/*width: 120px;*/
}

.grid_table {
	position: relative;
	display: inline-block;
	*display: inline;
	zoom: 1;
	vertical-align: top;
	margin: 0 0px 50px 0;
	width: 49%;
	text-align: left;
}
.grid_table:nth-child(2n) {
	margin-right: 0;
}
.grid_table tr td:first-child {
    width: 30%;
}

.grid_image {
	display: inline-block;
	*display: inline;
	zoom: 1;
	vertical-align: middle;
	margin: 0 5em 2em 0;
}

.block {
	float: left;
	display: inline-block;
	*display: inline;
	zoom: 1;
	vertical-align: top;
}


/* Multi-Column List */
.col2, .col3, .col4, .col5, .col6 {
	/*margin-bottom: 1.0em;*/
	overflow: hidden;
}
.col2 li, .col3 li, .col4 li, .col5 li, .col6 li {
	float: left;
}
.col2 .grid, .col3 .grid, .col4 .grid, .col5 .grid, .col6 .grid {
	margin-right: 0;
}
.col2 li, .col2 .grid { width: 49.7%; }
.col3 li, .col3 .grid { width: 33.0%; }
.col4 li, .col4 .grid { width: 24.6%; }
.col5 li, .col5 .grid { width: 19.6%; }
.col6 li, .col6 .grid { width: 16.3%; }

/*
.col2 li {
	width: 60%;
}
.col2 li:nth-child(2n) {
	width: 40%;
}
*/

.nobullets {
	list-style: none;
	padding-left: 0;
}


/* Tables */
th, td {
	padding: 2px;
}

table.table {
	border-collapse: collapse;
	margin-bottom: 2.5em;
}
table.table td,
table.table th {
	border: 1px solid #CCC;
	padding: 6px;
	font-size: 0.9em;
}

table.table_0 th,
table.table_0 td {
	padding: 0 !important;
}

table.table_1 th,
table.table_1 td {
	padding: 1px !important;
}

table.table_2 th,
table.table_2 td {
	padding: 2px !important;
}

table.table_3 th,
table.table_3 td {
	padding: 3px !important;
}

table.table_altrows tr:nth-child(odd) {
	background-color: rgba(0, 0, 0, 0.01);
}
table.table_altrows tr:nth-child(even) {
	background-color: rgba(0, 0, 0, 0.03);
}
table.table_altrows tr:first-child {
	background-color: rgba(0, 0, 0, 0.05);
}
table.center {
	margin-left: auto;
	margin-right: auto;
}

form table {
	/*width: 500px;*/
}

div.table {
	display: table;
	width: 100%;
	border-spacing: 5px;
	border-collapse: separate;
}
div.row  {
	display: table-row;
	width: auto;
}
div.cell {
	float: left;
	display: table-cell;
	width: 49.9%;
	/*text-align: left;*/
}

table.tables {
	display: block;
	overflow: auto;
	width: 100%;
	max-width: 100%;
	margin-bottom: 10px;
	background-color: transparent;
	border-spacing: 1px;
	border-collapse: separate;
}
table.tables th {
	vertical-align: bottom;
	border-bottom: 2px solid #DDD;
	text-align: left;
	font-weight: bold;
	cursor: default;
}
table.tables th,
table.tables td {
	padding: 4px 7px;
}
table.tables th.p_center,
table.tables td.p_center {
	text-align: center;
}
table.tables.striped > tbody > tr:nth-of-type(even) {
	background-color: #F9F9F9;
}
table.tables.striped > tbody > tr:nth-of-type(odd) {
	background-color: #FDFDFD;
}
table.tables > tbody > tr {
	transition: all 0.1s linear;
}
table.tables > tbody > tr:hover {
	background-color: #FFFF99 !important;
}
table.center,
div.center {
	margin-left: auto;
	margin-right: auto;
}
table.w75,
div.w75 {
	width: 75%;
}


/* Simulated Tables */
div.table {
	display: table;
}
div.table-row {
	display: table-row;
	width: 100%;
	height: 100%;
}
div.table-cell {
	display: table-cell;
	vertical-align: middle;
}


/* Placeholder */
.placeholder {
	color: #969696 !important;
}
::-webkit-input-placeholder { /* WebKit browsers */
	color: #969696;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color: #969696;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	color: #969696;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
	color: #969696;
}


/* Google Maps */
.gmap_infowin,
.gmap_infowin a {
	/*min-width: 175px;*/
	text-align: center;
	font-size: 14px;
}
.gmap_links,
.gmap_links a {
	font-size: 13px;
	font-weight: bold;
}
.gm-style div.gm-style-cc[style^="user-select: none"],			/* Copyright, Report */
.gm-style div.gmnoprint.gm-style-cc,							/* Terms */
.gm-style a[title^="Click to see this area on Google Maps"],	/* Logo */
.infomsg {
	display: none !important;
}
@media print {
	.gm-style div.gm-style-cc,
	.gm-style div.gmnoscreen {
		display: none !important;
	}
}

#gmap-full {
	position: absolute;
	top: 0;
	right: 0;
	width: 49.7%;
	height: 100%;
	z-index: 999;
}


/* Google Translate */
.goog-te-gadget {
    font-family: 'Lora', Helvetica, Arial, Geneva, sans-serif !important;
}
.goog-te-gadget-simple {
    font-size: 13px !important;
	border: 0px !important;
	padding-top: 2px !important;
}
.tpd-tooltip a, .tpd-tooltip a:hover {
    text-decoration: none !important;
}


/* Flatpickr */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
	background: #699cbc !important;
	border-color: #699cbc !important;
	color: #FFF !important;
}
.flatpickr-prev-month:hover svg,
.flatpickr-next-month:hover svg {
    fill: #699cbc !important;
}
.flatpickr-month {
	color: #4e8b4a !important;
}
.flatpickr-day.today {
    border-color: #4e8b4a !important;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
    border-color: #4e8b4a !important;
    background: #4e8b4a !important;
    color: #fff !important;
}
.flatpickr-calendar {
	padding: 6px !important;
}
.flatpickr-rContainer,
.flatpickr-weekdays,
.flatpickr-days,
.dayContainer {
	width: 100% !important;
}
.dayContainer {
	min-width: 100% !important;
	max-width: 100% !important;
}
.flatpickr-input[readonly] {
	width: 8.5em;
}
.flatpickr-container {
	position: relative;
	display: inline-block;
}
.flatpickr-icon {
	position: absolute;
	top: 7px;
    right: 12px;
	z-index: 0;
	pointer-events: none;
}
.flatpickr-icon i {
	font-size: 18px;
}


/* Lightview */
.lv_window {
	/*margin-top: -125px;  Offset for Sticky (Height x 2) */
}
.lv_button_top_close {
	top: 20px !important;
	left: auto !important;
	right: 25px !important;
}

.lv_title_caption,
.lv_title_caption_slide {
	font-family: inherit !important;
	font-size: 0.95em !important;
}

.lv_title_caption_slide {
	padding: 10px 0 7px !important;
	text-shadow: 0 1px 0 rgba(0,0,0,0.95) !important;
	width: 100% !important;
}

.lv_title,
.lv_caption {
	color: #FFF !important;
	width: 100% !important;
}

.lv_slider {
	padding: 10px 0 14px !important;
}


/* MightySlider */
.mightyslider_modern_skin.black .mSPages li {
    border-color: #C0C0C0 !important;
	transition: all 0.2s linear;
}
.mightyslider_modern_skin.black .mSPages li.active {
    background: #C0C0C0 !important;
}
.mightyslider_modern_skin.black .mSPages li:hover {
    border-color: #999 !important;
}
.mSFrame .slide_element {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: e-resize;
}
.mSFrame .slide_element a {
	cursor: pointer;
}


/* WOW.js

   Scoped to desktop, and off when the visitor asks for reduced motion.

   This rule is what hides an element until wow.js reveals it, and it is in the
   inlined critical CSS, so it applies from the very first paint. footer.js then
   stamps .wow onto every h1, h2 and .grid on the page after DOMReady, which
   invalidates style for the whole document and hides content the browser has
   already painted. On mobile that recalculation is the single largest
   main-thread cost on the site, and it buys a scroll animation a phone user
   scrolls straight past. Keeping the rule off small viewports means the class
   footer.js adds is inert there even if it is added anyway, and the handful of
   headings that carry class="wow" hard-coded in the templates (blog.php,
   blog_post.php) are never hidden waiting on a deferred script — those are the
   LCP element on an article page.

   footer.js guards the class-stamping pass with the same two conditions, so the
   two stay in step; change one, change the other. */
@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
	.wow {
		visibility: hidden;
	}
}


/* Validation */
.required:hover,
.required_email:hover,
.required_phone:hover,
.required_alpha:hover,
.required_numeric:hover,
.required_highlight {
	border-color: #C00;
}


/* Panel */
#panel {

}


/* Keep Aspect Ratio for iframe/embed */
.responsive {
    position: relative;
    padding-bottom: 56.25%; /* 16/9 ratio */
    /* padding-top: 30px; IE6 workaround*/
    height: 0;
    overflow: hidden;
}
.responsive iframe,
.responsive object,
.responsive embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.responsive iframe.ImageLink,
.responsive object.ImageLink,
.responsive embed.ImageLink {
	width: calc(100% - 30px);
	height: calc(100% - 30px);
}


/* Tools */
.tools {
	float: right;
	padding: 3px;
	font-weight: normal;
}
.tools a {
	margin-left: 1em;
	text-decoration: none;
	font-size: 13px;
}


/* Back to Top Button */
#backtop {
	display: none;
	position: fixed;
	z-index: 999;
	bottom: 35px;
	right: 35px;
	padding: 0 !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 1px;
	vertical-align: bottom;
	text-decoration: none;
	transition: background-color 0.2s linear, color 0.2s linear;
	background-color: rgba(0,0,0,0.2);
	color: rgba(255,255,255,0.75);
}
#backtop span {
	font-size: 35px !important;
	line-height: 32px !important;
	display: block;
}
#backtop:hover {
	background-color: rgba(0,0,0,0.7);
	color: rgba(255,255,255,1.0);
}
#backtop:active {
	position: fixed;
	top: auto;
	bottom: 34px;
}


/* SEO Locations */
.seo_columns {
	float: none;
	width: 100%;
	padding-bottom: 1.0em;
	font-size: 11px;
}
.seo_columns li {
	float: left;
	width: 16.6%;
}

#seo_footer {
	position: absolute;
	top: 0;
	left: -9999px;
	z-index: -1;
	width: 50%;
}


/* Print */
@media print {
	body {
		zoom: 75%;
	}

	html, body {
		height: 99%;
    }

	h1, h2, h3, h4, h5, h6, pre {
		page-break-after: avoid;
	}

	table tr, ul, ol {
		page-break-inside: avoid;
	}

	#header,
	#footer,
	#panel,
	div.layout_outer,
	a.zoom span,
	.noprint {
		display: none;
	}

	#body_left,
	#body_right,
	#body_center,
	#body_container {
		margin: 0;
		padding: 0;
		width: auto;
		height: auto;
	}

	#body,
	#body_bg {
		overflow: auto;
	}
}


/*
---------------------------------
           Responsive
---------------------------------
*/
.rsp.mobile,
#nav .rsp.mobile {
	display: none;
}
.rsp.full,
#nav .rsp.full {
	display: inline-block;
}
#navm_btn {
	display: none;
}

/* Desktop XL */
@media (min-width: 1601px) {
	#wrapper,
	#header_container,
	#body_container,
	#footer_container,
	.layout_inner,
	.body_container {
		width: 1570px;
	}

	#nav ul li a {
		padding: 0 2.5em;
	}

	#bar div.right a {
		margin-right: 5em;
	}

	#value div.grid {
		min-height: 246px;
	}

	#location h2 {
		margin-left: -5.85em;
	}

	#practice div.grid {
		min-height: 16em;
	}
}

/* Desktop L */
@media (max-width: 1600px) {
	#wrapper,
	#header_container,
	#body_container,
	#footer_container,
	.layout_inner,
	.body_container {
		width: 1170px;
	}

	#nav ul li a {
		padding: 0 1.1em;
	}

	#nav {
		position: absolute;
		top: 70px;
	}

	#location h2 {
		margin-left: -0.95em;
	}

	#practice div.grid {
		min-height: 19em;
	}
}

/* Desktop */
@media (max-width: 1200px) {
	#wrapper,
	#header_container,
	#body_container,
	#footer_container,
	.layout_inner,
	.body_container {
		width: 950px;
	}

	.seo_columns li {
		width: 25%;
	}

	#nav ul li a {
		padding: 0 1.9em;
	}

	#nav {
		position: relative;
		top: 133px;
	}

	#home {
		top: 34px;
		left: 50%;
		margin-left: -25%;
	}

	#location h2 {
		margin-left: -0.6em;
	}

	#practice div.grid {
		min-height: 21em;
	}
}

/* Tablet */
@media (max-width: 992px),
@media print {
	#wrapper,
	#header_container,
	#body_container,
	#footer_container,
	.layout_inner,
	.body_container {
		width: 720px;
	}

	#body_right,
	.body_right {
		margin-left: 2em;
	}

	.seo_columns li {
		width: 33%;
	}

	.col2 li, .col2 .grid,
	.col3 li, .col3 .grid,
	.col4 li, .col4 .grid,
	.col5 li, .col5 .grid,
	.col6 li, .col6 .grid {
		width: 100%;
	}

	#nav ul li a {
		padding: 0 1.0em;
	}

	#bar div.left {
		text-align: center;
	}
	#bar div.right {
		text-align: center;
		top: 0px;
	}

	#practice div.grid {
		min-height: 27em;
	}

	/* Images */
	.ImageLink,
	.ImageFlex {
		max-width: 100%;
		height: auto;
	}
	.ImageLink.float_left,
	.ImageLink.float_right,
	img.float_left,
	img.float_right {
		float: none;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	figure.ImageLink img {
		width: 100%;
		height: auto;
	}

	.tools {
		position: relative;
		top: 0;
		text-align: center;
		margin-bottom: 2em;
	}
	.tools .align-right,
	.tools .align-left {
		text-align: center;
	}

	/* Tables */
	table.center,
	div.center {
		margin-left: 0;
		margin-right: 0;
	}
	table.w75,
	div.w75 {
		width: 100%;
	}
	table.tables {
		max-height: 600px;
	}

	/* Justify */
	.just div.grid,
	.just.c2 div.grid,
	.just.c3 div.grid,
	.just.c4 div.grid {
		width: 100%;
		margin-bottom: 4%;
	}

	#footer .grid {
		text-align: center;
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}
	#footer .grid td {
		text-align: left;
	}

	#location h2 {
		margin-left: 0em;
	}
}

/* Phone */
@media not print {
	@media (max-width: 767px) {
		#wrapper,
		#header_container,
		#body_container,
		#footer_container,
		.layout_inner,
		.body_container {
			width: 85%;
		}

		#body_left, .body_left {
			margin-top: 2.0em;
		}

		h1,
		.mobile-center {
			text-align: center;
		}

		.grid {
			text-align: center;
			margin-left: 0;
			margin-right: 0;
			width: 100%;
		}
		.grid td {
			text-align: left;
		}

		form div.grid td {
			min-width: 9em;
		}
		form div.grid td:nth-child(2) {
			min-width: auto;
		}

		.seo_columns li {
			width: 50%;
		}

		#navm_btn {
			display: block;
		}

		#practice div.grid {
			min-height: auto;
		}

		#footer {
			/*height: 158px;*/
		}

		#footer div.right .floridabar {
			margin-right: 0;
		}

		#bar div.right a {
			white-space: nowrap;
			margin-right: 1em;
			margin-top: 0.5em;
			display: block;
		}

		#home {
			top: 51px;
			left: 25%;
			margin-left: -25%;
		}
		#home img {
			width: 100%;
		}

		#value div.grid {
			display: block;
			width: 100%;
		}

		#value div.grid:first-child,
		#value div.grid:last-child {
			top: 0;
		}

		#intro h1 em {
			margin-left: 0;
		}
		#intro h1 strong {
			margin-right: 0;
		}

		#hero {
			margin-bottom: -60px;
		}

		#practice div.grid {
			display: block;
			width: 100%;
		}

		#updates h2.alt {
			margin-left: 0;
		}

		#updates h2.alt.second {
			margin-left: 0;
		}

		#gmap-full {
			display: none;
		}

		#location div.left {
			width: 100%;
		}

		#location h2 {
			margin-left: 0;
		}

		#nav ul li a:hover, #nav ul li a:active, #nav ul li a.hover, #nav ul li a.selected {
			color: #2f3d63;
		}

		#nav ul li a {
			color: #243153;
		}

		#nav ul li:last-child a {
			padding-right: 1em;
		}

		#hero {
			margin-bottom: 2em;
		}

		/* Overall */
		body {
			min-width: 100%;
			font-size: 100%;
			/***/ background-image: none;
		}

		input, select, textarea {
			font-size: 100%;
			width: 98%;
		}
		input[type='image'],
		input[type='radio'],
		input[type='checkbox'] {
			width: auto;
		}
		input[type='submit'],
		input[type='reset'],
		input[type='button'] {
			white-space: normal;
			line-height: 0.9em;
			margin-top: 0.5em;
			font-size: large;
		}

		label {
			white-space: normal;
		}

		#country {
			width: 10em;
		}
		#paging_nav select {
			width: auto;
		}

		p {
			padding: 0 0 1.4em 0;
			line-height: 1.7em;
		}
		.p_margin {
			margin-bottom: 0;
		}
		.p_padding {
			padding-bottom: 0;
		}

		/* Headings */
		.Heading1,
		.Heading2,
		.Heading3 {
			font-size: 125%;
		}

		/* Backgrounds */
		.Background1,
		.Background2,
		.Background3 {
			font-size: 100%;
		}

		/* Lists */
		.list_inline {
			text-align: center;
		}
		.list_inline li {
			display: block;
		}
		.list_inline li:after {
			content: '';
		}

		/* Buttons
		.Btn1,
		.Btn2,
		.Btn3,
		.Btn4,
		.Btn5,
		.Btn6,
		a.button,
		input.button {
			font-size: 125%;
			height: 2.75em;
			line-height: normal;
			margin-bottom: 0.7em;
		}*/

		/* Navigation (Mobile) */
		#navm {
			position: fixed;
			z-index: 9999999;
			top: 0;
			right: 0;
			margin-right: -75%;
			width: 75%;
			height: 100%;
			transition: all 500ms;
			/***/ background-color: #c79342;
		}
		#navm_btn {
			padding: 0;
			margin: 0;
			position: relative;
			z-index: 9999998;
			top: 1.75em;
			right: 74px;
			width: 50px;
			height: 50px;
			line-height: 50px;
			letter-spacing: normal;
			font-size: 150%;
			font-weight: bold;
			text-align: center;
			cursor: pointer;
			transition: all 500ms;
			/***/ color: #c79342;
			/***/ background-color: rgba(255,255,255,0.25);
			/***/ border-color: rgba(0,0,0,0.25);
			border: 0;
		}
		#navm_btn > div {
			padding: 13px 14px 15px 14px;
		}
		#navm_btn > div > div {
			float: left;
			width: 100%;
			height: 4px;
			/***/ background-color: #c79342;
			border-radius: 10px;
			margin: 2px 0;
			transition: all 200ms;
		}
		#navm_btn:hover {
			/***/ background-color: #c79342;
		}
		#navm_btn:hover > div > div {
			/***/ background-color: #FFF;
		}
		#navm_btn > span {
			display: none;
		}
		#navm.active {
			margin-right: 0;
		}
		#navm.active #navm_btn {
			right: 25px;
			/***/ background-color: rgba(255,255,255,1);
		}
		#navm.active #navm_btn > div {
			display: none;
		}
		#navm.active #navm_btn > span {
			display: inline;
		}
		#header.shrink #navm_btn {
			top: 13px;
		}

		/* Navigation */
		#nav {
			display: block;
			position: relative;
			z-index: 999;
			top: -30px;
			left: 0;
			margin: 0;
			padding: 10px 0;
			text-align: center;
			width: auto;
			height: 80%;
			overflow: auto;
		}
		#nav a {
			display: block;
			height: auto;
			text-indent: 0;
			background: none;
			font-size: 110%;
			font-weight: bold;
			padding: 1.0em 0;
			margin: 0;
			line-height: normal;
			border: 0;
		}
		#nav a,
		#nav a:hover,
		#nav a.hover,
		#nav a.selected {
			background: none;
			width: auto;
			text-align: center;
		}
		/*
		#nav a {
			color: #FFF;
		}
		#nav a:hover,
		#nav a.selected {
			color: #F2FF3F;
		}
		*/
		#nav ul {
			display: block;
			margin: 0;
			padding: 0 1.2em;
			width: auto;
		}
		#nav ul li {
			margin: 0;
			padding: 0;
			clear: both;
			width: auto;
			white-space: nowrap;
			float: none;
		}

		/* Navigation Overlays */
		#nav ul li {
			display: block;
			position: relative;
		}
		#nav ul li li {
			border: 0;
			margin: 0;
			padding: 0;
			width: auto;
		}
		#nav ul li ul {
			display: block;
			position: relative;
			top: auto;
			left: auto;
			width: auto;
			padding: 0;
			margin-left: 0;
			/*margin: -0.7em 0 1.0em 0;*/
			float: none;
			background: none;
			font-size: 85%;
			border: 0;
			-webkit-box-shadow: none;
			box-shadow: none;
		}
		#nav ul li ul a {
			padding: 0.7em 0;
		}
		#nav > ul > li > a {
			border-bottom: 1px solid rgba(255,255,255,0.25);
		}

		.rsp.mobile,
		#nav .rsp.mobile {
			display: block;
		}
		.rsp.full,
		#nav .rsp.full {
			display: none;
		}

		/* Blog */
		#blog_body {
			float: none !important;
			width: 100% !important;
		}
		#blog_body img {
			/*width: auto !important;*/
		}

		#blog_panel {
			float: none !important;
			width: auto !important;
			margin-top: 4.0em !important;
			font-size: 1.0em !important;
		}
		#blog_panel h2 {
			font-size: 1.2em !important;
		}
		#blog_panel input {
			line-height: normal !important;
		}
		#blog_panel #q {
			width: 70% !important;
			padding: 12px !important;
		}
		#blog_panel #s {
			width: 3.0em !important;
		}

		.blog_nav div {
			width: auto !important;
		}

		#paging_nav {
			float: none !important;
		}
		#paging_nav .left,
		#paging_nav .mid,
		#paging_nav .right {
			width: 100% !important;
			text-align: center !important;
		}

		#blog_author {
			margin-left: 0.4em !important;
			margin-right: 1.5em !important;
			margin-bottom: 1.0em !important;
		}


		/* Quotes */
		blockquote {
			margin-left: 2.0em !important;
		}


		/* iFrame */
		#body_left > iframe {
			width: 100% !important;
			height: 350px !important;
		}


		/* YouTube */
		#yt-thumb {
			text-align: center;
		}
		#yt-thumb .grid,
		#yt-thumb .grid img {
			width: 185px !important;
		}


		/* Tables */
		div.table-cell {
			display: block;
			width: 100%;
			padding: 1em 0;
			text-align: center;
		}


		/* Flex Box */
		.flex {
			display: block;
		}


		/* Material Cards */
		.card {
			width: 100%;
			margin-bottom: 6%;
		}


		/* Justify */
		.just,
		.just div.grid,
		.just.c2 div.grid,
		.just.c3 div.grid,
		.just.c4 div.grid {
			width: 100%;
			margin-bottom: 6%;
		}
	}
}

/* ==========================================================================
   table-base — the single table style for all content tables.
   Minimal by design: no header fill, hairline row separators, small text.
   Never add inline padding/border styling or negative margins to a table;
   add a modifier class here instead so every table on the site stays
   consistent. Wrapper .table-scroll keeps wide tables from forcing the
   page body to scroll horizontally on phones.
   ========================================================================== */
.table-scroll {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 1em 0 1.5em;
}

table.table-base {
	width: 100%;
	border-collapse: collapse;
	margin: 1em 0 1.5em;
	font-size: 13px;
	line-height: 1.5;
	color: #363434;
}

.table-scroll table.table-base {
	margin: 0;
	min-width: 520px;
}

table.table-base caption {
	caption-side: bottom;
	text-align: left;
	font-size: 12px;
	line-height: 1.5;
	color: #6b7488;
	padding: 10px 2px 0;
}

table.table-base th,
table.table-base td {
	padding: 9px 14px 9px 0;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #e6e6e6;
}

table.table-base th {
	color: #2F3D63;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	border-bottom: 2px solid #C79342;
}

table.table-base tbody tr:last-child th,
table.table-base tbody tr:last-child td {
	border-bottom: 0;
}

table.table-base th:last-child,
table.table-base td:last-child {
	padding-right: 0;
}

table.table-base td.tbl-note {
	font-size: 11px;
	color: #5a5a5a;  /* #7a7a7a was 4.29:1 on white */
	font-style: italic;
	border-bottom: 0;
}
