* {
  box-sizing: border-box;
  -webkit-transition: opacity .2s ease-in;
  transition: opacity .2s ease-in;
  outline-color: #2E77FF;
  outline-width: 3px;
}

html {
  font-family: 'Lora', serif;
  height: 100%;
}

body {
  height: 100%;
  overflow-x: hidden
}

body.loading {
  overflow: hidden;
}

[type='checkbox'],
[type='radio'] {
  cursor: pointer;
}

.page {
  padding-top: 5.3125rem;
  padding-bottom: 5rem;
  width: 100%;
  max-width: 835px;
  margin: 0 auto;
}

.page-default {
  padding-top: 4.75rem;
  padding-bottom: 5rem;
  width: 100%;
  max-width: 835px;
  margin: 0 auto;
}

.page-landing {
  padding-top: 3.875rem;
  padding-bottom: 5rem;
  width: 100%;
  max-width: 835px;
  margin: 0 auto;
}

.gutter {
  padding-left: 45px;
  padding-right: 45px;
}

@media (max-width: 1024px) {
  .page,
  .page-default {
    padding-top: 8.125rem;
  }
}

@media (max-width: 900px) {
  .page-landing {
    padding-top: 8.125rem;
  }
}

.h1 {
  margin: 0;
  font-size: 58px;
  line-height: 68px;
  font-family: 'Assistant', serif;
  font-weight: 300;
  position: relative;
  color: #08162B;
}

.h2 {
  margin: 0;
  font-size: 38px;
  line-height: 48px;
  font-family: 'Assistant', serif;
  font-weight: 600;
  position: relative;
  color: #08162B;
}

.h3 {
  margin: 0;
  font-size: 28px;
  line-height: 42px;
  font-family: 'Assistant', serif;
  font-weight: 600;
  position: relative;
  color: #08162B;
}

.h4 {
  margin: 0;
  font-size: 24px;
  line-height: 34px;
  font-family: 'Assistant', serif;
  font-weight: 600;
  position: relative;
  color: #08162B;
}

.markdown h1,
.markdown h2,
.markdown h3,
.markdown h4 {
  color: #08162B;
}

.markdown p,
.p,
.p-small {
  padding: 0;
  margin: 0;
  font-size: 18px;
  line-height: 30px;
  font-family: 'Lora', serif;
  color: #394555;
}

.markdown a {
  color: #2E77FF;
  text-decoration: none;
}

.markdown a:hover {
  color: #2E77FF;
  text-decoration: underline;
}

.h1+.p,
.h2+.p,
.h3+.p,
.h4+.p {
  margin-top: 2.625rem;
}

.p+.p,
.p-small+.p {
  margin-top: 2.625rem;
}

.markdown p+p {
  margin-top: 1.625rem;
}

.h1+.p-small,
.h2+.p-small,
.h3+.p-small,
.h4+.p-small,
.p-small+.h1,
.p-small+.h2,
.p-small+.h3,
.p-small+.h4,
.h2+.h3 {
  margin-top: 1.375rem;
}

.p-small+.p-small,
.p+.p-small {
  margin-top: 1.375rem;
}

.markdown img {
  max-width: 100%;
}

.caption {
  padding: 0;
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: .05rem;
  font-family: 'Assistant', serif;
  color: #394555;
}

.label {
  font-size: 14px;
  letter-spacing: .05rem;
  font-family: 'Assistant', serif;
  color: #08162B;
}

.black {
  color: #08162B !important;
}

.blue {
  color: #2E77FF !important;
}

.h1:before,
.h2:before,
.h3:before {
  position: absolute;
  content: '–';
  left: -35px;
  top: -2px;
  height: 100px;
  width: 100px;
  color: #2E77FF;
}

.li {
  list-style-type: none;
  font-size: 1.125rem;
  color: #08162B;
}

.li:before {
  color: #CED0D5;
  float: left;
  margin: .07em 0 0 -1.5em;
  width: 1em;
  content: '\2022';
  font-size: 1.5rem;
}

.nw {
  white-space: nowrap;
}

.assistant {
  font-family: 'Assistant', serif;
  letter-spacing: 0.05rem;
}

.lora {
  font-family: 'Lora', serif;
  letter-spacing: 0.05rem;
}

.thin {
  font-weight: 200;
}

.light {
  font-weight: 300;
}

.semibold {
  font-weight: 600;
}

.bold {
  font-weight: 700;
}

.heavy {
  font-weight: 800;
}

button {
  cursor: pointer;
}

.db {
  display: block;
}

.dn {
  display: none !important;
}

.hide {
  opacity: 0;
  pointer-events: none;
}

.tc {
  text-align: center;
}

.tr {
  text-align: right;
}

.flr {
  float: right;
}

.w-20 {
  width: 20%
}

.w-25 {
  width: 25%
}

.w-40 {
  width: 40%
}

.w-50 {
  width: 50%
}

.w-60 {
  width: 60%
}

.w-75 {
  width: 75%
}

.w-100 {
  width: 100%
}

.w-422 {
  width: 100%;
  max-width: 26.375rem;
}

.f-14 {
  font-size: 0.875rem;
}

.f-16 {
  font-size: 1rem;
}

.f-18 {
  font-size: 1.125rem;
}

.f-24 {
  font-size: 1.5rem;
}

.f-32 {
  font-size: 2rem;
}

.f-38 {
  font-size: 2.375rem;
}

.bn {
  border: none;
  outline: none;
}

.bgn {
  background: none;
}

.br-3 {
  border-radius: 3px;
}

.pill {
  border-radius: 9999px;
}

.bw-1 {
  border-style: solid;
  border-width: 1px;
}

.bcn {
  border: none;
}

.fw-300 {
  font-weight: 300;
}

.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.fw-b {
  font-weight: bold;
}

.lh-copy {
  line-height: 1.5;
}

.fill {
  min-height: 100vh;
  min-width: 100vw;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.pot-0 {
  top: 0
}

.pol-0 {
  left: 0
}

.por-0 {
  right: 0
}

.pob-0 {
  bottom: 0
}

.btn-primary {
  outline: none;
  color: white;
  border-radius: 9999px;
  border: none;
  background: #2E77FF;
  font-size: 0.875rem;
  font-family: 'assistant', serif;
  letter-spacing: 1.2px;
  padding: 1rem 3rem;
  white-space: nowrap;
  border: 1px solid #2E77FF;
  cursor: pointer;
  text-decoration: none;
}

.btn-primary:hover {
  color: white;
  background: #173D82;
  border-color: #173D82;
  text-decoration: none;
}

.btn-primary:hover:active {
  color: white;
  border-color: #173D82;
}

.btn-alt {
  outline: none;
  color: #2E77FF;
  border-radius: 9999px;
  border-width: 1px;
  border-style: solid;
  background: white;
  font-size: 0.775rem;
  letter-spacing: .075rem;
  padding: 1rem 3rem;
  white-space: nowrap;
  cursor: pointer;
  font-family: 'assistant', serif;
}

.btn-alt:hover {
  background: #2E77FF;
  color: white;
}

.btn-alt:hover:active {
  background: #173D82;
}

.btn-dropdown {
  outline: none;
  color: #2E77FF;
  border-radius: 9999px;
  border-width: 1px;
  border-style: solid;
  border-color: #2E77FF;
  background: white;
  font-size: 0.775rem;
  letter-spacing: .05rem;
  padding: .5rem 2rem;
  white-space: nowrap;
  background-image: url('/static/assets/select-blue.svg');
  background-repeat: no-repeat;
  background-position: 90% center;
  cursor: pointer;
}

.btn-dropdown.active {
  outline: none;
  background: #2E77FF;
  color: #FFFFFF;
  border-radius: 9999px;
  border-width: 1px;
  border-style: solid;
  border-color: #2E77FF;
  font-size: 0.775rem;
  letter-spacing: .05rem;
  padding: .5rem 2rem;
  white-space: nowrap;
  background-image: url('/static/assets/select-white.svg');
  background-repeat: no-repeat;
  background-position: 90% center;
}

.list {
  list-style: none;
}

.pointer {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.td-n {
  text-decoration: none;
}

.td-hover:hover {
  text-decoration: underline;
}

.blue-hover:hover {
  color: #2E77FF;
}

.blue-dash {
  position: relative;
}

.blue-dash:before {
  position: absolute;
  content: '–';
  left: -35px;
  top: -2px;
  height: 100px;
  width: 100px;
  color: #2E77FF;
}

.blue-hover.blue-dash:hover:before {
  color: #394555;
}

.slideout {
  -webkit-transform: translateX(24.25rem);
  transform: translateX(24.25rem);
  -webkit-transition: -webkit-transform .2s ease-in;
  transition: -webkit-transform .2s ease-in;
  transition: transform .2s ease-in;
  transition: transform .2s ease-in, -webkit-transform .2s ease-in;
  width: 24.25rem;
  z-index: 1;
}

.slideout.open {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

@media (max-width: 400px) {
  .slideout {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    width: 100%;
  }
}

.white-logo {
  background-image: url('/static/assets/logo-white.svg');
  background-repeat: no-repeat;
  background-size: contain;
  width: 188px;
  height: 64px;
}

.white-close {
  background-image: url('/static/assets/close.png');
  background-repeat: no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
}

.select {
  outline: none;
  background-color: #5892FF;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  color: #ABC9FF;
  border-radius: 0;
  border: 1px solid #2E77FF;
  padding: 0.625rem 0.9375rem;
  background-image: url('/static/assets/select-white.svg');
  background-repeat: no-repeat;
  background-position: 95% center;
  width: 100%;
}

.spinner,
.spinner:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

.spinner {
  margin: 60px auto;
  font-size: 5px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.7em solid rgba(32, 97, 255, 0.2);
  border-right: 1.7em solid rgba(32, 97, 255, 0.2);
  border-bottom: 1.7em solid rgba(32, 97, 255, 0.2);
  border-left: 1.7em solid #2061ff;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 0.7s infinite linear;
  animation: load8 0.7s infinite linear;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.spinner-container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, .85);
}

.Logo {
  background-image: url('/static/assets/logo.png');
  background-repeat: no-repeat;
  background-size: contain;
  height: 64px;
  width: 64px;
}

.Logo.full {
  background-image: url('/static/assets/logo-long.png');
  width: 187px;
}

.link {
  color: inherit;
  text-decoration: none;
}

.blue-link {
  color: #2E77FF;
  text-decoration: none;
}

.blue-link:hover,
.link:hover {
  color: #2E77FF;
  text-decoration: underline;
}

.mobile {
  display: none;
}

@media (max-width: 400px) {
  .Logo.full {
    background-image: url('/static/assets/logo.png');
    width: 187px;
  }
  .desktop {
    display: none;
  }
  .mobile {
    display: block;
  }
  .s-absolute {
    position: absolute !important;
  }
}

.ttu {
  text-transform: uppercase;
}















/* Make clicks pass-through */

#nprogress {
  pointer-events: none;
}

#nprogress .bar {
  background: #29d;
  position: fixed;
  z-index: 1031;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
}















/* Fancy blur effect */

#nprogress .peg {
  display: block;
  position: absolute;
  right: 0px;
  width: 100px;
  height: 100%;
  box-shadow: 0 0 10px #29d, 0 0 5px #29d;
  opacity: 1.0;
  -webkit-transform: rotate(3deg) translate(0px, -4px);
  transform: rotate(3deg) translate(0px, -4px);
}















/* Remove these to get rid of the spinner */

#nprogress .spinner {
  display: block;
  position: fixed;
  z-index: 1031;
  top: 15px;
  right: 15px;
}

#nprogress .spinner-icon {
  width: 18px;
  height: 18px;
  box-sizing: border-box;
  border: solid 2px transparent;
  border-top-color: #29d;
  border-left-color: #29d;
  border-radius: 50%;
  -webkit-animation: nprogress-spinner 400ms linear infinite;
  animation: nprogress-spinner 400ms linear infinite;
}

.nprogress-custom-parent {
  overflow: hidden;
  position: relative;
}

.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
  position: absolute;
}

@-webkit-keyframes nprogress-spinner {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes nprogress-spinner {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.bio-edit-description,
.bio-edit-buttons {
  opacity: 0;
  pointer-events: none;
}

.bio-description:hover .bio-edit-description,
.bio-buttons:hover .bio-edit-buttons {
  opacity: 1;
  pointer-events: auto;
}

.bio-edit-description,
.bio-edit-buttons {
  background: url('/static/assets/edit.svg') no-repeat;
  height: 32px;
  width: 32px;
}

.bio-edit-description:hover,
.bio-edit-buttons:hover {
  background: url('/static/assets/edit-hover.svg') no-repeat;
  height: 32px;
  width: 32px;
}

.hoverer:hover .hoveree {
  text-decoration: underline;
}

.paginate:hover {
  background: #f5f6f7;
  color: #2e77ff;
}

.paginate.paginate-active {
  background: #2e77ff;
  color: #ffffff;
}

@media (min-width: 1281px) {
  .mobile {
    display: none;
  }
  .tablet {
    display: none;
  }
  .big-tablet {
    display: none;
  }
  .desktop {
    display: block !important;
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  .mobile {
    display: none;
  }
  .tablet {
    display: none;
  }
  .big-tablet {
    display: block !important;
  }
  .desktop {
    display: none;
  }
}

@media (min-width: 401px) and (max-width: 1024px) {
  .mobile {
    display: none;
  }
  .tablet {
    display: block !important;
  }
  .big-tablet {
    display: none;
  }
  .desktop {
    display: none;
  }
}

@media (max-width: 400px) {
  .mobile {
    display: block !important;
  }
  .tablet {
    display: none;
  }
  .big-tablet {
    display: none;
  }
  .desktop {
    display: none;
  }
}

[data-logo] {
  margin-top: 70px;
  margin-left: 46px;
}















/* tablet & mobile */

@media (max-width: 1024px) {
  [data-logo] {
    margin-top: 30px;
  }
  [data-hamburger] {
    margin-top: -39px !important;
  }
}















/* Big tablet and below */

.Sidebar {
  padding-top: 84px;
}

@media (max-width: 1280px) {
  .Sidebar {
    padding-top: 33px !important;
  }
}
