@charset "UTF-8";


/* ==========================================================================
   Main Site Structure
   ========================================================================== */
.container-icons {
  position: relative;
  width: 100%;
  margin: 0; 
  margin-left: 0px;
  margin-right: 0px;}

.content {
  position: relative;
  width: calc(100% - 2em);
  margin: 0 auto;
  z-index: 2; }
  @media only screen and (min-width: 40em) {
    .content {
      width: calc(100% - 4em); } }
  @media only screen and (min-width: 64em) {
    .content {
      width: calc(100% - 6em); } }
  .content ul, .content ol {
    color: #838385;
    font-size: 1em;
    line-height: 1.2em;
    padding: 0 0 1em 1.2em;
    list-style: circle; }
    @media only screen and (min-width: 40em) {
      .content ul, .content ol {
        line-height: 1.3em; } }
    @media only screen and (min-width: 64em) {
      .content ul, .content ol {
        line-height: 1.4em; } }
  .content ol {
    list-style: decimal; }

.content.static {
  margin-top: 4rem; }
  .content.static h1 {
    text-transform: inherit;
    font-size: 2rem;
    font-weight: 300; }

.content.overlap {
  margin-top: -80px; }

.block {
  position: relative;
  display: block; }

.block-pad {
  padding: 2rem; }

.block-content {
  padding: 1em; }
  @media only screen and (min-width: 40em) {
    .block-content {
      padding: 1.5em; } }
  @media only screen and (min-width: 64em) {
    .block-content {
      padding: 42px; } }
  .block-content .block-icon {
    width: 25%;
    margin: 0 0 1rem;
    position: relative; }
    @media only screen and (min-width: 40em) {
      .block-content .block-icon {
        width: 15%;
        float: left;
        margin: 0 1rem 0 0; } }
    @media only screen and (min-width: 64em) {
      .block-content .block-icon {
        width: 15%;
        float: left;
        margin: 0 2rem 0 0; } }
  .block-content .block-logo {
    width: 100%;
    margin: 0 0 1rem; }
    @media only screen and (min-width: 40em) {
      .block-content .block-logo {
        width: 75%; } }
  .block-content .block-copy {
    display: block;
    position: relative;
    overflow: hidden; }

.block.back {
  z-index: 30; }

.block.middle {
  z-index: 40; }

.block.front {
  z-index: 50; }

.block.half {
  width: 100%; }
  @media only screen and (min-width: 40em) {
    .block.half {
      width: 100%;
      float: left; } }

.block.third {
  width: 100%;
  padding: 1rem; }
  @media only screen and (min-width: 40em) {
    .block.third {
      width: 33.333%;
      float: left; } }

.block.white {
  background-color: #fff; }

.block.gold {
  background-color: #7a9b89; }
  .block.gold h1, .block.gold h2, .block.gold p {
    color: #fff; }
  .block.gold .button {
    color: #fff;
    border-color: #fff; }
  .block.gold .button:hover {
    color: #7a9b89;
    border-color: #fff;
    background-color: #fff; }

.block.green {
  background-color: #3c56a8; }
  .block.green h1, .block.green h2, .block.green p {
    color: #fff; }
  .block.green .button {
    color: #fff;
    border-color: #fff; }
  .block.green .button:hover {
    color: #384450;
    border-color: #fff;
    background-color: #fff; }

.block.gray {
  background-color: #595a5c; }
  .block.gray h1, .block.gray h2, .block.gray h3, .block.gray h4, .block.gray p {
    color: #fff; }
  .block.gray .button {
    color: #fff;
    border-color: #fff; }
  .block.gray .button:hover {
    color: #384450;
    border-color: #fff;
    background-color: #fff; }

.shadow {
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.25);
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.25); }

/* Static Page Content Containers */
.page-left {
  width: 100%;
  float: none; }
  @media only screen and (min-width: 40em) {
    .page-left {
      width: calc(100% - 300px);
      float: left; } }
  @media only screen and (min-width: 64em) {
    .page-left {
      width: calc(100% - 400px);
      float: left; } }

.aside-right {
  width: 100%;
  float: none; }
  @media only screen and (min-width: 40em) {
    .aside-right {
      width: 260px;
      float: right; } }
  @media only screen and (min-width: 64em) {
    .aside-right {
      width: 340px;
      float: right; } }
  .aside-right h2 {
    font-weight: 300;
    padding-bottom: 1rem; }
  .aside-right .green h2 {
    color: #fff; }
  .aside-right h3 {
    font-size: 1.1rem;
    font-weight: 300;
    padding-bottom: 1rem; }
  .aside-right .static-expert-grid img {
    width: 50%;
    float: left; }

ul.asside-nav {
  padding: 0;
  margin: 0 0 0 1.3rem; }
  ul.asside-nav li {
    color: #286e49; }
  ul.asside-nav li a {
    display: block;
    color: #384450;
    margin: 0;
    transition: all .25s ease; }
  ul.asside-nav li a:hover {
    color: #232c25;
    margin: 0 0 0 10px; }

/* ==========================================================================
   Homepage
   ========================================================================== */
#carousel {
  width: 100%;
  max-width: 100em;
  margin: 0 auto; }

/* • • • Homepage Practice Nav */
a.practice {
  width: 50%;
  float: left;
  display: block;
  padding: 1rem .5rem;
  text-align: center;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  transition: all 0.25s ease; }
  a.practice img {
    width: 30%;
    padding-bottom: 1rem;
    margin: 0 auto;
    transition: all 0.25s ease; }
    @media only screen and (min-width: 40em) {
      a.practice img {
        width: 25%; } }
    @media only screen and (min-width: 64em) {
      a.practice img {
        width: 33%; } }
  a.practice p {
    font-size: .7rem;
    line-height: 1.1em;
    display: block;
    padding: 0; }
  @media only screen and (min-width: 40em) {
    a.practice {
      width: 33.333%;
      padding: 1.4rem 1rem; }
      a.practice p {
        font-size: .9rem; } }
  @media only screen and (min-width: 64em) {
    a.practice {
      width: 16.666%;
      padding: 1rem .5rem;
      margin: 0;
      border-bottom: none; }
      a.practice p {
        font-size: .9rem; } }

a.practice:nth-child(2n+2) {
  border-right: none; }
  @media only screen and (min-width: 40em) {
    a.practice:nth-child(2n+2) {
      border-right: 1px solid #ddd; } }

@media only screen and (min-width: 40em) {
  a.practice:nth-child(4) {
    border-bottom: none; } }

a.practice:nth-child(5), a.practice:nth-child(6) {
  border-bottom: none; }

@media only screen and (min-width: 40em) {
  a.practice:nth-child(6) {
    border-right: none; } }

a.practice:hover {
  background-color: #edfaf3;
  z-index: inherit;
  padding: .6rem .5rem; }
  a.practice:hover p {
    color: #286e49; }
  a.practice:hover img {
    width: 38%; }
    @media only screen and (min-width: 40em) {
      a.practice:hover img {
        width: 32%; } }
    @media only screen and (min-width: 64em) {
      a.practice:hover img {
        width: 38%; } }

/* • • • Expert Grid */
.expert-grid.two-by-two {
  width: 100%; }
  @media only screen and (min-width: 40em) {
    .expert-grid.two-by-two {
      width: 33.333%;
      float: left; } }
  .expert-grid.two-by-two img {
    width: 50%;
    height: auto;
    float: left; }

.expert-content.homepage {
  width: 100%;
  padding: 2em; }
  @media only screen and (min-width: 40em) {
    .expert-content.homepage {
      width: 66.666%;
      float: left; } }
  @media only screen and (min-width: 64em) {
    .expert-content.homepage {
      width: 50%;
      float: left; } }

.expert-grid.right {
  display: none; }
  @media only screen and (min-width: 64em) {
    .expert-grid.right {
      position: absolute;
      right: 0;
      bottom: 0;
      display: block;
      width: 33.333%; } }
  .expert-grid.right img {
    width: 50%;
    height: auto;
    float: left; }

.expert-grid.landing {
  width: 100%; }
  .expert-grid.landing .area-expert-photo {
    width: 33.333%;
    height: auto;
    float: left;
    font-size: .8em; }
    @media only screen and (min-width: 40em) {
      .expert-grid.landing .area-expert-photo {
        font-size: inherit; } }
  .expert-grid.landing .area-expert-contact {
    width: 66.666%;
    height: auto;
    float: right;
    font-size: .8em;
    padding: 1rem 1rem 0;
    color: #fff; }
    @media only screen and (min-width: 40em) {
      .expert-grid.landing .area-expert-contact {
        font-size: inherit; } }
    .expert-grid.landing .area-expert-contact a {
      color: #fff; }
      .expert-grid.landing .area-expert-contact a:hover {
        color: #232c25; }


/* ==========================================================================
   Helper classes
   ========================================================================== */
html, body {
  height: 100%; }

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

img {
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

.vertical-center {
  display: block;
  margin: 0;
  padding: 0;
  height: auto;
  position: absolute;
  padding-right: 0.9375em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 10; }

.ontop {
  z-index: 1000 !important; }

.addpad-bottom {
  margin-bottom: 2em; }

/*
 * Image replacement
 */
.ir {
  background-color: transparent;
  border: 0;
  overflow: hidden;
  /* IE 6/7 fallback */
  *text-indent: -9999px; }

.ir:before {
  content: "";
  display: block;
  width: 0;
  height: 150%; }

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */
.hidden {
  display: none !important;
  visibility: hidden; }

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

/*
 * Hide visually and from screenreaders, but maintain layout
 */
.invisible {
  visibility: hidden; }

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */ }

.clearfix:after {
  clear: both; }

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.clearfix {
  *zoom: 1; }
