html {
  position: relative;
  min-height: 100%;
}

body {
  margin-top: 57px;
  margin-bottom: 60px;
  font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1.1rem;
  font-weight: 300;
  color: #333;
}
@media (min-width: 576px) {
  body {
    margin-top: 67px;
    margin-bottom: 180px;
  }
}

.figure-caption {
  font-size: 100%;
  color: inherit;
}

a {
  color: #666;
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}
a:hover {
  color: #000;
  text-decoration: none;
}

.navbar { border-bottom: 1px solid #e5e5e5; }
.navbar-brand img { height: 30px; }
.navbar-toggler { padding: 0; }
.navbar-nav { padding-top: 5px; }
.navbar-nav li:not(:last-child) {
  padding-right: .8rem;
  border-top: 1px solid #e5e5e5;
}
.navbar .nav-link,
.navbar li > .btn { padding: .3rem 1rem; }
@media (min-width: 576px) {
  .navbar {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
  .navbar-brand img { height: 40px; }
  .navbar-nav li:not(:last-child) { border-top: 0; }
  .navbar-nav li > .btn { margin-left: 1rem; }
}

.dropdown-menu,
.dropdown-item { font-weight: 300; }
.dropdown-item { color: #666; }
.dropdown-item:hover,
.dropdown-item:focus {
  color: #000;
  text-decoration: none;
  background-color: #f8f9fa;
}
.dropdown-item.active,
.dropdown-item:active {
  color: #666;
  text-decoration: none;
  background-color: #f8f9fa;
}
.dropdown-menu .btn,
.flex-column .btn {
  padding: 0.25rem .5rem;
  font-weight: 300;
  background-color: #e5e5e5;
}
.dropdown-menu .btn {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.flex-column .btn {
  width:fit-content;
  width:-webkit-fit-content;
  width:-moz-fit-content;
}
.dropdown-menu .btn:hover,
.flex-column .btn:hover {
  background-color: #ccc;
}

.tsi-space {
  margin-top: 80%;
  padding-bottom: 4rem;
  color: #fff;
}
@media (min-width: 576px) {
  .tsi-space {
    margin-top: 40%;
    margin-bottom: 4rem;
  }
}


.footer {
  position: absolute;
  bottom: 0;
  margin-top: 3rem;
  padding-top: 20px;
  padding-bottom: 10px;
  width: 100%;
  text-align: center;
  color: #666;
  background: #f8f9fa;
}

.footer ul { margin: 0; }
.footer li {
  padding-top: .2rem;
  padding-bottom: .2rem;
}
@media (min-width: 992px) {
  .footer { text-align: left; }
  .footer li { display: inline-block; }
  .footer li:not(:last-child) { margin-right: .4rem; }
}
.footer,
.footer .btn { font-size: .8rem; }