/*
Mobile version
*/

html, body {
  font-size: 13px;
}

.mobile {
  display: inherit;
}

.full-width {
  padding: 0px 15px;
  max-width: none;
}

body {
  padding-top: 50px;
}

.main h1, .page__title {
  padding: 0;
  margin: 20px 25px 26px 25px;
  font-size: 2em;
  line-height: 1em;

}

.main h1:after, .main h2:after, .main h3:after, .page__title:after {
  border-width: 4px; width: 35px;
  bottom: -9px;
}

.main h2, .main h3 {
  margin-bottom: 20px;
  line-height: 1em;
}

.page__content {
  padding: 20px 25px;
}

.banner,
.single-article .banner--top {
  height: 120px;
}

.single-page {
  margin-top: -120px;
}

  /* Buttons */
  .button {
    background-position: 9px 50%;
  }

  .button.button--location  {
    background-size: 12px auto;   
    padding-left: 30px;
  }

  .button.button--vcard {
    background-position: 4px 50%; 
    padding-left: 44px;
  }

  .button.button--email {
    background-position: 4px 50%; 
    padding-left: 50px;
  }

  .member__back-to-main {
    padding-left: 27px;
  }

  .button.button--file {
    background-position: 5px 49%; 
    padding-left: 27px;    
  }

/* Header */
.header {
  height: 50px;
}

.logo__link {
  max-width: 220px;
  margin: 14px auto;
  float: left;
}

.toggle-menu {
  display: block; position: absolute;
  top: 0; right: 0; width: 50px; height: 50px;
  background: url('../images/menu.svg') 50% 50% no-repeat;
  background-size: 22px auto;
  cursor: pointer;
}

.is-menu-open .toggle-menu {
  background-image: url('../images/menu-close.svg');
  background-size: 17px auto;
}

  /* Menu */
  .header__main {
    margin: 0;
    background: white;
    left: 0; right: 0; top: 50px;
    float: none; position: fixed;
    padding: 0 14px;
    box-shadow: 0 5px 10px rgba(0,0,0,0.15);
    max-width: 150px;
    display: none;
  }

  .is-menu-open .header__main {
    display: block;
  }

  .menu--main {
    width: 100%;
    float: none;
  }

  .menu__item {
    display: block;
    padding-bottom: 2px;
    margin-bottom: 2px;
    width: 100%;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    font-size: 1.2em; 
    padding: 5px 0;
  }

  .menu__item:last-child {
    border: none;
  }

  /* Search */
  .search__form {
    float: none; padding: 20px 0 20px 8px;;
    width: auto;
  }


/* Footer */
.footer {
  padding: 0 20px; 
}

.footer__inner {
  padding: 0px 20px;
  overflow: hidden;
}

.menu--footer {
  margin-top: 10px;
}

.footer__inner .menu__item {
  border: none;
  display: block;
  margin: 0;
  padding: 0; 
}


.footer__inner .menu__item:hover span, 
.footer__inner .menu__item.current-menu-item span {
  border: none;
}

.footer__copyright {
  float: none;
}

.menu--footer {
  float: none;
}

/* Contact */
.contact__form {
  width: auto;
  margin: 0 0 30px 0;
  float: none;
}

.text-wrap, .g_recaptcha-wrap {
  width: auto;
}

.g_recaptcha-wrap {
  transform-origin: 100% 0;
  transform: scale(0.73) translateY(13px);
  -webkit-transform: scale(0.73) translateY(13px);
}

.textarea-wrap {
  position: relative;
  width: auto;
}

.main .field-wrap,
.main #ninja_forms_required_items {
  margin-bottom: 12px;
}

.contact__form__title {
  margin-bottom: 10px; 
}

.contact__details__wrapper {
  margin-bottom: 27px;
}

/* Articles */
.articles__nav {
  top: 0; left: 14px;
  font-size: 1em;
  width: 137px;
}

.articles__nav {
  background-size: 15px auto;
}

.excerpt, .rating {
  padding: 0;
  margin-bottom: 20px;
}

.excerpt__column {
  margin-left: 10px;
  float: none;
}

.excerpt__column--thumb {
  width: 100%;
  height: 40px;
  overflow: hidden;
  margin-bottom: 20px;
}

.excerpt__meta {
  width: 100%;
  float: none;
  max-width: 300px;
}

.excerpt__date {
  margin-top: 0;
}

.excerpt__tags {
  max-width: 200px;
  margin-bottom: 15px;
}

.excerpt__body__wrapper {
  margin: 0; float: none;
}

.button--read-more {
  margin: 15px 0 20px;
  background-position: 10px 50%;
}

.button.load-more {
  max-width: 83px;
  background-position: 8px 50%;
}

/* Team */
.member__thumb__wrapper {
  width: 50%;
}

  /* Large */
  .members__head__thumb {
    width: 50%;
    float: right;
  }

  .members__head__meta {
    width: 50%;
    margin: 0;
    padding-right: 20px;
    float: left;
    position: relative;
  }

  .members__head__excerpt {
    display: none;    
  }
  
  .members__head  {
    margin: 0 0 25px 0; position: relative;
  }

  .members__head__read-more {
    position: absolute;
    bottom: -55px;
    right: 20px;
    margin: 0;
  }

  .member__thumb__link:hover {
    opacity: 0;
  }

  @media (max-width: 470px) {
    .members__head  .member__areas {
      display: none;
    }

    .members__head__meta .member__name {
      font-size: 1.4rem;
      margin-bottom: 15px;
    }

    .members__head__read-more {
      bottom: -35px;
    }
  }

/* Single team member */
.member .member__image--large {
  width: 50%; float: right;
  padding-left: 20px;
}

.member .member__main {
  width: 50%; margin: 0; float: left;
}

.member__back-to-main {
  margin: 20px 0px 0 0px;
  clear: both;
}

.member__links {
  margin-top: 20px;
}

.member__links ul,
.member__links li:last-child a {
  margin-bottom: 0;
}

.member .member__image--large.mobile { display: none }
.member .member__image--large.desktop { display: block }

  /* Smaller */
  @media (max-width: 470px) {
    .member .member__image--large.desktop { display: none }
    .member .member__image--large.mobile { display: block }

    .member .member__image--large,
    .member .member__main {
      width: 100%; float: none; padding: 0;
    }

    .member .member__main {
      margin-top: 15px;
    }

    .member__back-to-main {
      margin-bottom: 30px;
    }
  }

/* Single article */
.single-page--article {
  margin-top: -99px;
}

.single-page--article .article__title:after {
  bottom: -6px;
}

.article__author {
  margin: 0 25px 0 0;
}

.article__body img {
  max-width: 100%;
  height: auto;
}

  /* Article */
  .article__links,
  .article__related {
    margin-bottom: 20px
  }

  .article__related__body {
    margin-top: 10px;
  }

/* Practice */
.practice .page__title {
  margin: 26px 15px 30px 15px;
}

.practice .practice__area__title,
.practice .is-open .practice__area__title {
  padding: 15px 27px 31px 0;
  background-size: 14px auto;
  background-position: 100% 50%;
  font-size: 1.2rem
}

.practice .is-open .practice__area__title  {
  background-size: 20px auto;
}

.practice__area .inner {
  max-width: none;
  padding: 0 27px;
}

.practice__area__text {
  padding: 0 29px
}

/* Rankings */
.single-page--rankings .page__content {
  padding: 15px
}

.rating__logo {
  position: absolute; 
  float: none;
  max-width: 70px
}

.rating__meta {
  float: none; 
  margin-right: 90px;
  margin-bottom: 10px;
  height: auto;
}

.rating {
  padding-bottom: 20px;
}

.rating .middle {
  display: block;  
}

.rating__text {
  margin: 0 90px 0 0;
  max-width: 500px;
  float: none;
}

.rating__text .middle__wrapper {
  height: auto;
}

@media (max-width: 550px) {
  .rating__text .rating__column {
    margin: 0; float: none;
    width: auto;
  }

  .main .rating__title {
    font-size: 1.2em;
  }
}

/* About */
.slideshow--about {
  height: 150px;
  overflow: hidden;
  display
}

.about .page__content {
  margin-top: -40px; 
}

.about .page__title {
  margin-top: -24px;
  white-space: nowrap;
}

.slideshow__nav__wrapper {
  margin-top: -50px;
}

.slideshow__nav {
  background-size: 20px auto;
}

.about__content, .slideshow__nav__wrapper {
  padding-left: 15px; padding-right: 15px;
}

  @media (max-width: 550px) {
    .about__column {
      width: 100%; float: none; padding: 0;
      max-width
    }
  }

  /* History */
  .about .about__history__title {
    font-size: 1.7rem;
    margin-top: 20px;
    margin-bottom: 31px;
  }

  .about .about__history__title:after {
    bottom: -9px;
    width: 30px;
    border-width: 4px;
  }

  .milestone:before,
  .milestone:after {
    display: none;
  }

  .milestone .milestone__title {
    position: static;
    float: none;
    margin: 0;
  }

  .milestone__text {
    margin: 10px 0 0 0;
  }

/* Homepage */
.homepage__slideshow {
  height: 250px;
}

.homepage__top .page__title {
  font-size: 2rem;
  margin: 0 0 8px 0;
  line-height: 1em;
}

.page__subtitle {
  font-size: 1.5rem;
  margin-top: 0;
  line-height: 1em;
}

.page__subtitle:after {
  margin: 21px auto;
  border-width: 4px;
  width: 38px;
}

.homepage__slideshow .slideshow__pager {
  bottom: 20px;
}

.slideshow__nav__wrapper--homepage {
  margin-left: 0;
  margin-right: 0;
}

  /* Blocks */
  .homepage__block .homepage__block__title {
    font-size: 1.6rem;    
  }

  .homepage__block .homepage__block__title:after {
    width: 32px;
    border-width: 4px;
    bottom: -5px;
  }

  .homepage__block__inner {
    width: auto;
  }

  .homepage__block__link  {
    margin-right: 26px;
    margin-top: 8px;
  }

  .homepage__block {
    height: 144px;
  }

  /* Team */
  .homepage .homepage-section__title {
    font-size: 1.6rem;
    margin: 0 0 20px 0;
    padding: 9px 23px;
  }

  .homepage .homepage-section__title:after {
    border-width: 4px;
    width: 32px;
    bottom: 3px;
  }

  .homepage .member__image {
    width: 110px;
  }

  .homepage .member__name--thumb {
    font-size: 1.2rem;
  }

  .main .member__name--thumb:after {
    bottom: -5px;
    border-width: 3px;
    width: 20px;
  }

  .slideshow--carousel .slideshow__nav {
    top: 33px;
  }

  .slideshow--carousel .slideshow__nav {
    margin: 0;
  }

  .homepage .member__thumb__link {
    bottom: 0;
  }

  .homepage .members__head {
    max-width: 260px;
    margin-top: 5px;
    margin-bottom: 22px;
  }

  .homepage .members__head .member__name {
    font-size: 1.3rem;
    margin-bottom: 15px;
  }

  .homepage .members__head__thumb {
    max-width: 110px;
  }

  .homepage .member__areas {
    display: none;
  }

  .homepage .members__head__read-more {
    bottom: -46px;
      white-space: nowrap;
  }

