body {
  background-color: #fff;
}

.blue-bg {
  background: linear-gradient(to bottom, #fff, #e6f3ff 200px, #e6f3ff calc(100% - 200px), #fff);
  padding: 200px 0 !important;
}

.bottom-blue-bg {
  background: linear-gradient(to bottom, #fff, #e6f3ff 200px);
  padding: 200px 0 80px !important;
}

.jumbotron nav {
  position: relative;
  z-index: 10;
}

/** Paragraph font sizes for all sections */

#overall p, #broad-interests p, #needs p, #aversions p, #context p, #specific-interests p, #personality p {
  font-size: 1rem;
}

.section-definition {
  padding: 0 50px 3rem;
}

/** Page menu */

#page-links {
  background-color: white;
  border-radius: 0 0 15px 15px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
  padding: 10px 20px 20px;
  margin: 0 10px;
  text-align: left;
}

#page-links ul {
  margin-bottom: 0;
  padding: 0;
}

#page-links li {
  list-style-type: none;
  font-size: 1.2rem;
  padding: 10px 0 0 5px;
}

#page-links a {
  text-decoration: none;
}

#page-links a:hover {
  text-decoration: underline;
}

#page-links .btn {
  margin-top: 20px;
  width: 100%;
}

#page-title {
  background: #E7E7E7;
  border-radius: 15px 15px 0 0;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  margin-bottom: 0;
  padding: 15px 10px;
}

#page-title h1 {
  font-size: 1.8rem;
  font-family: "Arial", sans-serif;
  font-style: normal;
  font-weight: bold;
  letter-spacing: -1px;
  padding-bottom: 0;
}

#page-title p {
  font-size: 1rem;
  margin-bottom: 0;
  text-align: left;
}

/** Option sections */

.icon-container {
  padding-bottom: 2px;
  padding-top: 2px;
}

.icon-label-container {
  display: table-cell;
  padding-left: 10px;
  vertical-align: middle;
}

.none {
  padding: 15px 0 15px 20px;
  text-align: center;
}

.svg-container {
  color: #fff;
  display: table-cell;
  width: 40px;
}

.blue-bg .option-section {
  background: #fff;
}

.option-section {
  border-radius: 15px;
  background: #f5faff;
  margin-bottom: 20px;
}

.option-section>.row {
  padding: 0 20px;
}

.option-section>.row svg {
  display: table-cell;
  overflow: visible;
  box-sizing: border-box;
}

.blue-bg .option-section-label {
  background: #f2f9ff;
}

.option-section-label {
  background: #e6f3ff;
  border-radius: 15px 15px 0 0;
  font-weight: bold;
  font-size: 1.1rem;
  color: #415f77;
  padding: 10px 0 10px 20px;
  text-align: center;
}

.option-section .loading {
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E %23iconspin%7Btransform-origin:center;animation:iconspin .75s infinite linear%7D @keyframes iconspin%7B100%25%7Btransform:rotate(360deg)%7D%7D %3C/style%3E%3Cpath d='M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z' opacity='.25'/%3E%3Cpath fill='currentColor' d='M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z' id='iconspin'/%3E%3C/svg%3E");
  background-position: center center;
  background-repeat: no-repeat;
  min-height: 70px;
}

.bar-value {
  font-size: 18pt;
  transform: translate(0, 10px);
}

/** Anchors */

.anchors {
  position: relative;
}

#personality .anchors {
  height: 1.4rem;
  margin: 0 30px 0 20px;
}

.anchor {
  font-size: .8rem;
  position: absolute;
  text-align: center;
}

#personality .anchors {
  display: none;
}

#personality .anchor {
  width: 75px;
}

#personality .anchor:first-of-type {
  left: -37px;
}

#personality .anchor:nth-of-type(2) {
  left: calc(50% - 37px);
}

#personality .anchor:last-of-type {
  left: calc(100% - 37px);
}

.smiley-faces .anchors {
  height: 40px;
  margin: 0 15px 0 10px;
}

.smiley-faces .anchor:first-of-type {
  left: -15px;
}

.smiley-faces .anchor:nth-of-type(2) {
  left: calc(25% - 22px);
}

.smiley-faces .anchor:nth-of-type(3) {
  left: calc(50% - 22px);
}

.smiley-faces .anchor:nth-of-type(4) {
  left: calc(75% - 22px);
}

.smiley-faces .anchor:last-of-type {
  left: calc(100% - 22px);
}

.anchors svg {
  height: 30px;
  width: 30px;
}

@media only screen and (min-width: 576px) {
  .smiley-faces .anchors {
    margin: 0 15px 0 0;
  }

  #personality .anchors {
    margin: 0 35px 0 15px;
    display: block;
  }

  .comparison-cards .card-footer {
    min-height: 7rem;
  }

  .bar-value {
    font-size: 24pt;
    transform: translate(0, 20px);
  }

  .bar-background, .bar-length, .bar-chart-svg {
    height: 50px;
  }

  .icon-container {
    padding-bottom: 15px;
    padding-top: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .smiley-faces .anchors {
    margin: 0 20px 0 0;
  }

  #personality .anchors {
    margin: 0 45px 0 15px;
  }

  #results-jumbotron svg {
    margin-top: 100px;
  }

  .bar-value {
    font-size: 18pt;
    transform: translate(0, 10px);
  }

  .bar-background, .bar-length, .bar-chart-svg {
    height: 35px;
  }

  .none {
    text-align: left;
  }

  .option-section-label {
    text-align: left;
  }

  .option-section .loading {
    background-position: 33px center;
  }

  #personality h3 {
    text-align: left;
  }

  .section-definition {
    padding: 0 100px 3rem;
  }
}

@media only screen and (min-width: 992px) {
  .smiley-faces .anchors {
    margin: 0 25px 0 0;
  }

  #personality .anchors {
    margin: 0 50px 0 15px;
  }

  #results-jumbotron svg {
    margin-left: -70px;
  }

  .bar-value {
    font-size: 14pt;
    transform: translate(0, 5px);
  }
}

@media only screen and (min-width: 1200px) {
  .smiley-faces .anchors {
    margin: 0 35px 0 0;
  }

  #personality .anchors {
    margin: 0 55px 0 15px;
  }

  #results-jumbotron svg {
    margin-top: 0;
  }

  #page-menu {
    margin-top: 150px;
  }

  .bar-value {
    font-size: 12pt;
    transform: translate(0, 5px);
  }

  .section-definition {
    padding: 0 200px 3rem;
  }
}

@media only screen and (min-width: 1400px) {
  .smiley-faces .anchors {
    margin: 0 60px 0 30px;
  }

  #personality .anchors {
    margin: 0 75px 0 25px;
  }
}

@media print {
  .navbar {
    position: absolute !important;
    top: 0 !important;
    width: 100% !important;
  }

  .page-break {
    break-before: page;
    page-break-before: always;
    margin-top: 80px;
  }

  #broad-interests {
    margin-top: 100px;
  }

  .blue-bg, .bottom-blue-bg {
    background: #fff !important;
    padding: 0 0 0 !important;
  }

  .blue-bg .option-section-label {
    background: #e6f3ff;
  }

  .blue-bg .option-section {
    background: #f5faff;
  }
}