.person {
  max-width: 330px;
  display: inline-block;
  text-align: left; }

.person-title {
  font-size: 22px;
  line-height: 1.2;
  font-weight: 400;
  color: #171724; }
  .person-title a {
    color: inherit; }
    .person-title a:hover, .person-title a:focus {
      color: #6b39bd; }

.person-img-link {
  display: inline-block;
  transition: all 0.2s ease-in-out; }
  .person-img-link:hover, .person-img-link:focus {
    opacity: .9; }

.person-social {
  margin-bottom: -10px;
  margin-left: -20px; }
  .person-social:empty {
    margin-bottom: 0;
    margin-left: 0; }
  .person-social > * {
    margin-top: 0;
    margin-bottom: 10px;
    margin-left: 20px; }

.person-icon {
  display: inline-block;
  font-size: 18px;
  color: #171724; }
  .person-icon:hover, .person-icon:focus {
    color: #6b39bd; }

.person-mail {
  display: inline-block;
  font-weight: 400;
  color: #6b39bd; }
  .person-mail:hover, .person-mail:focus {
    color: #31c77f; }

.person-tel-icon {
  color: #171724; }

.person-tel-link {
  display: inline-block;
  margin-left: .2em;
  font-weight: 400;
  color: #171724;
  vertical-align: middle; }
  .person-tel-link:hover, .person-tel-link:focus {
    color: #31c77f; }

* + .person-title {
  margin-top: 15px; }

* + .person-subtitle {
  margin-top: 3px; }

* + .person-text {
  margin-top: 15px; }

* + .person-social {
  margin-top: 12px; }

* + .person-mail {
  margin-top: 12px; }

.person-tel + .person-mail {
  margin-top: 0; }

* + .person-tel {
  margin-top: 12px; }

.person-rounded {
  text-align: center; }
  .person-rounded .person-img-link,
  .person-rounded .person-img {
    border-radius: 50%; }

.person-gray .person-img {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%); }

.context-dark .person-title,
.context-dark .person-tel-icon {
  color: inherit; }
  .context-dark .person-title a,
  .context-dark .person-tel-icon a {
    color: inherit; }
    .context-dark .person-title a:hover, .context-dark .person-title a:focus,
    .context-dark .person-tel-icon a:hover,
    .context-dark .person-tel-icon a:focus {
      color: #6b39bd; }
.context-dark .person-icon,
.context-dark .person-tel-link {
  color: rgba(255, 255, 255, 0.5); }
  .context-dark .person-icon:hover, .context-dark .person-icon:focus,
  .context-dark .person-tel-link:hover,
  .context-dark .person-tel-link:focus {
    color: #fff; }

@media (min-width: 768px) {
  .person {
    max-width: 100%; } }
@media (min-width: 1200px) {
  .person-title {
    font-size: 26px; }

  .person-icon {
    font-size: 20px; }

  * + .person-title {
    margin-top: 21px; } }
@media (min-width: 1600px) {
  .person-title {
    font-size: 1.875rem; }

  .person-icon {
    font-size: 1.875rem; }

  * + .person-title {
    margin-top: 35px; }

  * + .person-subtitle {
    margin-top: 12px; }

  * + .person-text {
    margin-top: 22px; }

  * + .person-social {
    margin-top: 20px; }

  * + .person-mail {
    margin-top: 20px; } }
.person-sm .person-subtitle,
.person-sm .person-text,
.person-sm .person-mail {
  font-size: 1.0625rem; }
.person-sm * + .person-title {
  margin-top: 15px; }
.person-sm * + .person-subtitle {
  margin-top: 2px; }
.person-sm * + .person-mail {
  margin-top: 6px; }

@media (min-width: 1600px) {
  .person-sm * + .person-title {
    margin-top: 31px; }
  .person-sm * + .person-subtitle {
    margin-top: 2px; }
  .person-sm * + .person-mail {
    margin-top: 14px; } }
@media (min-width: 1200px) {
  .person-md .person-title {
    font-size: 36px; }
  .person-md .person-icon {
    font-size: 26px; }
  .person-md * + .person-subtitle {
    margin-top: 10px; }
  .person-md * + .person-social {
    margin-top: 15px; } }
@media (min-width: 1600px) {
  .person-md .person-title {
    font-size: 2.25rem; }
  .person-md * + .person-title {
    margin-top: 45px; }
  .person-md * + .person-subtitle {
    margin-top: 17px; }
  .person-md * + .person-social {
    margin-top: 22px; } }
@media (min-width: 1200px) {
  .person-lg .person-title {
    font-size: 36px; }
  .person-lg .person-icon {
    font-size: 26px; }
  .person-lg * + .person-subtitle {
    margin-top: 5px; }
  .person-lg * + .person-social {
    margin-top: 15px; } }
@media (min-width: 1600px) {
  .person-lg .person-title {
    font-size: 2.875rem; }
  .person-lg * + .person-title {
    margin-top: 42px; }
  .person-lg * + .person-subtitle {
    margin-top: 8px; }
  .person-lg * + .person-social {
    margin-top: 22px; } }
@media (min-width: 768px) {
  .person-xl * + .person-tel {
    margin-top: 15px; }
  .person-xl * + .person-social {
    margin-top: 15px; } }
@media (min-width: 992px) {
  .person-xl .person-title {
    font-size: 1.5em;
    line-height: 1.3; } }
@media (min-width: 1200px) {
  .person-xl * + .person-title {
    margin-top: 35px; }
  .person-xl * + .person-tel {
    margin-top: 30px; }
  .person-xl * + .person-mail {
    margin-top: 12px; }
  .person-xl * + .person-social {
    margin-top: 32px; } }
@media (min-width: 1600px) {
  .person-xl .person-title {
    font-size: 2.875rem;
    line-height: 1.2; }
  .person-xl .person-tel-link {
    font-size: 1.5rem; }
  .person-xl .person-social {
    margin-left: -30px; }
    .person-xl .person-social > * {
      margin-left: 30px; }
  .person-xl * + .person-title {
    margin-top: 51px; }
  .person-xl * + .person-tel {
    margin-top: 40px; }
  .person-xl * + .person-mail {
    margin-top: 16px; }
  .person-xl * + .person-social {
    margin-top: 42px; } }
.person-thumbnail {
  position: relative;
  max-width: 330px;
  display: inline-block;
  text-align: left; }
  .person-thumbnail .person-thumbnail-inner {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px 15px;
    color: #fff;
    background-color: rgba(49, 199, 127, 0.8);
    pointer-events: none; }
    .person-thumbnail .person-thumbnail-inner > * {
      pointer-events: auto; }
  .person-thumbnail .person-title {
    color: inherit; }
    .person-thumbnail .person-title a {
      color: inherit; }
      .person-thumbnail .person-title a:hover, .person-thumbnail .person-title a:focus {
        color: #171724; }
  .person-thumbnail .person-icon {
    color: inherit; }
    .person-thumbnail .person-icon a {
      color: inherit; }
      .person-thumbnail .person-icon a:hover, .person-thumbnail .person-icon a:focus {
        color: #171724; }
  .person-thumbnail * + .person-title {
    margin-top: 15px; }
  .person-thumbnail * + .person-subtitle {
    margin-top: 3px; }
  .person-thumbnail * + .person-icon {
    margin-top: 12px; }

@media (min-width: 768px) {
  .person-thumbnail {
    max-width: 100%; } }
@media (min-width: 992px) {
  .desktop .person-thumbnail-inner {
    opacity: 0;
    transition: all 0.2s ease-in-out; }
  .desktop .person-thumbnail:hover .person-thumbnail-inner {
    opacity: 1; } }
@media (min-width: 1200px) {
  .person-thumbnail .person-icon {
    font-size: 20px; }
  .person-thumbnail * + .person-title {
    margin-top: 21px; } }
@media (min-width: 1600px) {
  .person-thumbnail .person-thumbnail-inner {
    padding: 25px 41px; }
  .person-thumbnail .person-icon {
    font-size: 1.875rem; }
  .person-thumbnail * + .person-title {
    margin-top: 35px; }
  .person-thumbnail * + .person-subtitle {
    margin-top: 8px; }
  .person-thumbnail * + .person-icon {
    margin-top: 26px; } }
.person-side {
  display: flex;
  align-items: center;
  max-width: 100%;
  text-align: left;
  margin-bottom: -10px;
  margin-left: -15px; }
  .person-side:empty {
    margin-bottom: 0;
    margin-left: 0; }
  .person-side > * {
    margin-top: 0;
    margin-bottom: 10px;
    margin-left: 15px; }
  .person-side .person-side-body {
    flex: 1; }
  .person-side .person-img {
    width: 80px;
    border-radius: 50%; }
  .person-side .person-subtitle {
    font-size: 1.0625rem; }
  .person-side * + .person-subtitle {
    margin-top: 2px; }

* + .person-side {
  margin-top: 1.6875rem; }

@media (min-width: 1200px) {
  .person-side {
    margin-left: -30px; }
    .person-side > * {
      margin-left: 30px; }
    .person-side .person-img {
      width: auto; }

  .person-side-sm {
    margin-left: -17px; }
    .person-side-sm > * {
      margin-left: 17px; }

  .person-side-lg {
    margin-left: -43px; }
    .person-side-lg > * {
      margin-left: 43px; }
    .person-side-lg .person-icon {
      font-size: 20px; } }
@media (min-width: 1600px) {
  .person-side-sm .person-title {
    font-size: 26px; } }
