.row {
  max-width: 110rem; }

html {
  font-size: 62.5%; }

body {
  background-color: #F7F7F7; }

* {
  font-weight: normal;
  font-size: 1.4rem;
  position: relative;
  box-sizing: border-box; }

h1 {
  color: #2AA6ED;
  font-weight: bold;
  font-size: 5.2rem;
  line-height: 5.2rem; }
  @media only screen and (max-width: 40em) {
    h1 {
      font-size: 2.4rem;
      line-height: 2.9rem; } }

h2 {
  color: #2C3E4F;
  font-weight: bold;
  font-size: 2.4rem; }

h3 {
  color: #2C3E4F;
  font-weight: bold;
  font-size: 1.8rem; }

h4 {
  color: #2C3E4F;
  font-weight: bold;
  font-size: 1.8rem; }

p {
  font-size: 1.6rem;
  line-height: 2.1rem; }

.text-semibold {
  font-weight: 600; }

.text-bold {
  font-weight: bold; }

.pull-quote {
  color: #2AA6ED;
  font-weight: bold;
  font-style: italic; }

.instructions {
  color: #98A0A9; }

strong {
  font-weight: bold;
  color: #2C3E4F; }

a,
.link {
  color: #2AA6ED; }

.link {
  text-decoration: underline; }

.small {
  font-size: 1rem;
  color: #98A0A9; }

@media only screen and (max-width: 40em) {
  .small-only-text-center {
    text-align: center; } }

.button {
  background-color: #2AA6ED;
  box-shadow: -2px 4px 0 0 #2077A9;
  color: #FFFFFF;
  border: none;
  border-radius: 116px;
  font-size: 1.4rem;
  padding: 15px 45px;
  font-weight: bold; }
  .button:focus {
    outline: none; }
  .button.secondary {
    background-color: #2C3E4F;
    color: #FFFFFF;
    box-shadow: none; }
  .button.inverted {
    background: white;
    color: #2C3E4F;
    border: 1px solid #2C3E4F;
    box-shadow: none;
    font-size: 1.3rem;
    font-weight: normal;
    padding: 7px 15px;
    margin: 3px; }

button:focus {
  outline: none; }

.top-bar,
.top-bar ul,
.top-bar-section ul {
  background: #FFFFFF; }

body {
  padding-top: 100px; }
  @media only screen and (max-width: 40em) {
    body {
      padding-top: 48px; } }

.sticky {
  width: 100%; }

.top-bar {
  height: 100px;
  border-bottom: 1px solid #F4F4F4;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99; }
  @media only screen and (max-width: 40em) {
    .top-bar {
      height: 48px;
      background-size: 48px; }
      .top-bar .top-bar-right {
        position: absolute;
        top: 48px;
        left: 0; } }
  .top-bar .logos {
    margin-left: 49px; }
  .top-bar .brand a {
    padding: 12px 0 0 0; }
  .top-bar .no-background {
    background: #fff; }
  .top-bar .toggle-topbar {
    padding: 9px;
    position: absolute; }
  .top-bar li a {
    background: none;
    color: #2C3E4F;
    text-transform: uppercase;
    padding-top: 37px;
    font-size: 1.4rem; }
    .top-bar li a.active {
      color: #2AA6ED;
      font-weight: bold; }
  @media only screen and (max-width: 40em) {
    .top-bar li {
      width: 100%;
      display: block; }
      .top-bar li a {
        padding: 20px;
        text-align: center; } }

nav .logo {
  margin-top: 16px;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  height: 60px;
  width: 196px;
  white-space: nowrap;
  overflow: hidden; }
  @media only screen and (max-width: 40em) {
    nav .logo {
      display: none; } }

nav .top-bar-logos-small-only {
  display: none; }
  @media only screen and (max-width: 40em) {
    nav .top-bar-logos-small-only {
      display: block;
      float: right;
      margin-top: 3px; }
      nav .top-bar-logos-small-only img {
        height: 35px; } }

nav .hide-start {
  display: none; }

nav .shift-logo {
  float: none;
  margin-left: 55px;
  text-align: center; }

.grey {
  background-color: #F7F7F7; }

.white {
  background-color: #FFFFFF; }

.blue {
  background-color: #2AA6ED;
  color: #FFFFFF; }
  .blue h2 {
    color: #FFFFFF; }
  .blue svg g, .blue svg path {
    color: white;
    fill: #FFFFFF; }

section {
  padding-top: 120px;
  padding-bottom: 120px;
  background-size: cover; }
  @media only screen and (max-width: 40em) {
    section {
      padding-top: 30px;
      padding-bottom: 30px; } }
  section.blue {
    background-image: url("/assets/bg_blue.jpg"); }
  section.grey {
    background-image: url("/assets/bg_grey.jpg"); }
  section.dark {
    background-image: url("/assets/bg_dark.jpg"); }
    section.dark h2 {
      color: white; }
  @media only screen and (max-width: 40em) {
    section.small-no-background {
      background-image: none;
      background: #FFFFFF; } }
  section.bot-50,
  section .bot-50 {
    padding-bottom: 50px; }
    @media only screen and (max-width: 40em) {
      section.bot-50,
      section .bot-50 {
        padding-bottom: 25px; } }

.expandable {
  max-height: 999px;
  transition: all linear 0.5s;
  overflow: visible;
  opacity: 1; }
  .expandable.contracted {
    max-height: 0;
    opacity: 0;
    overflow: hidden; }

.home section.mobile-splash-page {
  transition: all 0.25s linear;
  max-height: 700px; }
  .home section.mobile-splash-page .mob-logo,
  .home section.mobile-splash-page .mob-logo-text {
    display: block;
    margin: 0 auto;
    max-width: 150px; }
  @media only screen and (max-width: 40em) {
    .home section.mobile-splash-page .logo-cover {
      position: absolute;
      top: -48px;
      background: #FFFFFF;
      height: 47px;
      width: 60%;
      right: 0;
      z-index: 100; } }
  .home section.mobile-splash-page.hide-big-logo {
    min-height: 0;
    max-height: 0;
    padding: 0;
    opacity: 0; }

.about-detail p, .about-detail a {
  font-size: 1.6rem;
  line-height: 2.1rem; }

.about-detail .go-back-top {
  margin-bottom: 5%; }

.about-detail .go-back-bottom {
  margin-top: 5%; }

.about-detail .bio-title {
  font-size: 2.2rem;
  line-height: 4.0rem;
  color: #2AA6ED; }

.about-detail .bio-summary {
  margin-top: 3%; }

.about-detail .contact {
  margin-top: 1%; }
  .about-detail .contact img {
    margin-right: 0.5rem; }

@media only screen and (max-width: 40em) {
  .about-detail section {
    padding: 5%; }
  .about-detail p {
    margin-bottom: 8%; }
  .about-detail .columns {
    margin: 3% auto; } }

.about h2 {
  padding-bottom: 5%; }

.about p, .about a {
  font-size: 1.6rem;
  line-height: 2.1rem; }

.about footer {
  width: 35%;
  margin: 0 auto; }
  .about footer h2 {
    margin-bottom: 0; }
  .about footer p {
    margin: 7% 0; }

.about .bio-container {
  margin-top: 5%; }
  @media only screen and (min-width: 768px) {
    .about .bio-container .bio-summary {
      display: block;
      /* Fallback for non-webkit */
      display: -webkit-box;
      max-width: 400px; } }
  @media only screen and (max-width: 40em) {
    .about .bio-container .lineBreak {
      display: none; } }
  .about .bio-container .bio-pic img {
    transform: scale(1.2);
    transform-origin: center right;
    padding-top: 1rem;
    right: 1rem; }
  .about .bio-container .bio-title {
    font-size: 2.0rem;
    line-height: 4.0rem;
    color: #2AA6ED; }

@media only screen and (max-width: 40em) {
  .about footer {
    width: 100%; }
  .about .bio-intro {
    text-align: justify; }
  .about .bio-container {
    margin-top: 30%;
    text-align: center; }
    .about .bio-container .bio-pic img {
      transform-origin: center center;
      padding-top: 0;
      right: auto; }
    .about .bio-container .bio-new {
      margin-top: 30%; }
    .about .bio-container .bio-title {
      margin-top: 6.9%; }
    .about .bio-container .bio-summary {
      text-align: justify;
      padding: 0 3.66%; } }

.results .title {
  font-size: 2.6rem; }

.results .space-bottom {
  margin-bottom: 6rem; }

.results .phrase {
  margin-top: 4%; }

.results .circle {
  padding-top: 0; }

.results .values-picker .section {
  padding-top: 0; }

.results .value {
  border-radius: 50%;
  max-width: 999%;
  vertical-align: middle; }
  .results .value.fixed {
    width: 80px;
    height: 80px;
    margin-right: 10px;
    padding: 10px;
    display: inline-block; }
    .results .value.fixed svg {
      max-height: 68px; }
      .results .value.fixed svg g, .results .value.fixed svg path {
        color: white;
        fill: #FFFFFF; }

.results .blue .value {
  background-color: #2AA6ED; }

.results .dark .value {
  background-color: #748F9D; }

.results img {
  max-width: 50px; }

.values-picker #explanation {
  overflow: hidden; }
  .values-picker #explanation .value-holder {
    text-align: center;
    width: 555px;
    overflow: scroll; }
    @media only screen and (max-width: 40em) {
      .values-picker #explanation .value-holder {
        margin: 0 1rem; } }
  .values-picker #explanation .values-row {
    text-align: center; }
    @media only screen and (max-width: 40em) {
      .values-picker #explanation .values-row {
        display: none; } }

.values-picker .value {
  border: 2px solid #2AA6ED;
  display: inline-block;
  border-radius: 50%;
  background-color: #FFFFFF; }
  .values-picker .value path {
    color: #2AA6ED; }
  .values-picker .value.selected, .values-picker .value:hover {
    background-color: #2AA6ED; }
    .values-picker .value.selected svg g, .values-picker .value.selected svg path, .values-picker .value:hover svg g, .values-picker .value:hover svg path {
      color: white;
      fill: #FFFFFF; }
  .values-picker .value.small {
    width: 30px;
    height: 30px;
    padding-top: 3px;
    margin-right: 5px; }
    .values-picker .value.small svg {
      width: 90%;
      height: 90%; }
  .values-picker .value.large {
    width: 120px;
    height: 120px; }
    .values-picker .value.large svg {
      width: 80%;
      height: 80%;
      margin-top: 10%; }
  .values-picker .value.circle-center {
    border: none;
    width: 40%;
    height: 40%;
    top: 30%;
    left: 30%;
    text-align: center;
    background: none; }
    .values-picker .value.circle-center span {
      position: absolute;
      top: 50%;
      left: 0;
      height: 30%;
      width: 100%;
      margin: -15% 0 0 0; }
      .values-picker .value.circle-center span div,
      .values-picker .value.circle-center span i,
      .values-picker .value.circle-center span strong {
        transform: none;
        padding-right: 0;
        padding-left: 0; }
    .values-picker .value.circle-center:hover {
      background: none; }

@media only screen and (max-width: 40em) {
  .values-picker .circle-container {
    margin: 0 auto; } }

.survey section {
  height: 100%; }

.survey .survey-holder {
  margin-top: 30px;
  min-height: 400px;
  vertical-align: middle;
  height: 400px; }

.survey .warning {
  color: #9F6000;
  background-color: #FEEFB3;
  padding: 10px;
  border-radius: 3px;
  width: 100%; }

.survey iframe {
  border: none;
  width: 100%; }

.align-middle {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 35rem; }
  @media only screen and (max-width: 40em) {
    .align-middle {
      min-height: auto; } }

.circle-container {
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  max-width: 450px;
  margin: 0 auto; }
  .circle-container a {
    width: 70px;
    height: 70px;
    position: absolute;
    display: block; }
    @media only screen and (max-width: 40em) {
      .circle-container a {
        width: 45px;
        height: 45px; } }
  .circle-container .value {
    display: block;
    width: 100%;
    height: 100%; }
    .circle-container .value div {
      padding: 10%;
      height: 100%;
      width: 100%; }
      .circle-container .value div svg {
        max-width: 100%;
        max-height: 100%; }
  .circle-container .circle-center {
    color: #2C3E4F;
    border: none; }
