@charset "utf-8";
/*
 * base.css — replaces bootstrap.min.css (115KB) for this archive.
 *
 * The legacy site loaded all of Bootstrap 3.3 but used ~40 of its classes.
 * This is that subset, at Bootstrap's exact metrics (container widths,
 * 15px gutters, 1.42857143 line-height), so layout.css — which was authored
 * against Bootstrap and is kept verbatim — still resolves identically.
 * Also folds in the two rules used from animate.css and the carousel subset
 * of jquery.flipster.
 */

/* --- normalize / scaffolding ------------------------------------------- */
html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
* { box-sizing: border-box; }
*:before,
*:after { box-sizing: border-box; }
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333;
  background-color: #fff;
}
article, aside, footer, header, main, nav, section { display: block; }
a { color: #337ab7; background-color: transparent; }
a:hover, a:focus { color: #23527c; }
img { border: 0; vertical-align: middle; }
button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  margin: 0;
}
button { overflow: visible; text-transform: none; -webkit-appearance: button; cursor: pointer; }
textarea { overflow: auto; }

/* --- normalize.css bits Bootstrap bundled -------------------------------
 * `strong` is the one that shows: .tblock p sets font-weight 300, so without
 * this the UA's `bolder` resolves to 400 and bold text stops being bold. */
b, strong { font-weight: bold; }
small { font-size: 80%; }
sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; }
sup { top: -.5em; }
sub { bottom: -.25em; }
dfn { font-style: italic; }
mark { color: #000; background: #ff0; }
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
hr { box-sizing: content-box; height: 0; }
figure { margin: 1em 40px; }
abbr[title] { border-bottom: 1px dotted; }
svg:not(:root) { overflow: hidden; }

/* --- type ---------------------------------------------------------------
 * layout.css resets these margins to 0 afterwards, but the line-height and
 * font-size scale are load-bearing: a page title is 30px/1.1 = 33px tall on the
 * original, not 30px/1.42857. */
h1, h2, h3, h4, h5, h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1, h2, h3 { margin-top: 20px; margin-bottom: 10px; }
h4, h5, h6 { margin-top: 10px; margin-bottom: 10px; }
h1 { font-size: 36px; }
h2 { font-size: 30px; }
h3 { font-size: 24px; }
h4 { font-size: 18px; }
h5 { font-size: 14px; }
h6 { font-size: 12px; }
p { margin: 0 0 10px; }
ul, ol { margin-top: 0; margin-bottom: 10px; }

/* --- grid --------------------------------------------------------------- */
.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 768px)  { .container { width: 750px; } }
@media (min-width: 992px)  { .container { width: 970px; } }
@media (min-width: 1200px) { .container { width: 1170px; } }

.row { margin-right: -15px; margin-left: -15px; }

.col-xs-12, .col-sm-6, .col-md-4, .col-md-6, .col-md-8 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
.col-xs-12 { float: left; width: 100%; }
@media (min-width: 768px) { .col-sm-6 { float: left; width: 50%; } }
@media (min-width: 992px) {
  .col-md-4 { float: left; width: 33.33333333%; }
  .col-md-6 { float: left; width: 50%; }
  .col-md-8 { float: left; width: 66.66666667%; }
}

.container:before, .container:after,
.row:before, .row:after,
.nav:before, .nav:after,
.navbar:before, .navbar:after,
.navbar-header:before, .navbar-header:after,
.navbar-collapse:before, .navbar-collapse:after,
.form-group:before, .form-group:after {
  display: table;
  content: " ";
}
.container:after, .row:after, .nav:after, .navbar:after,
.navbar-header:after, .navbar-collapse:after, .form-group:after { clear: both; }

/* --- navbar ------------------------------------------------------------- */
.navbar {
  position: relative;
  min-height: 50px;
  margin-bottom: 20px;
  border: 1px solid transparent;
}
@media (min-width: 768px) { .navbar { border-radius: 4px; } }
.navbar-header { }
@media (min-width: 768px) { .navbar-header { float: left; } }

.navbar-collapse {
  padding-right: 15px;
  padding-left: 15px;
  overflow-x: visible;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
}
.collapse { display: none; }
.collapse.in { display: block; }

.navbar-brand {
  float: left;
  height: 50px;
  padding: 15px 15px;
  font-size: 18px;
  line-height: 20px;
}
.navbar-toggle {
  position: relative;
  float: right;
  padding: 9px 10px;
  margin-top: 8px;
  margin-right: 15px;
  margin-bottom: 8px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}
@media (min-width: 768px) { .navbar-toggle { display: none; } }
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; }

.nav {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.nav > li { position: relative; display: block; }
.nav > li > a { position: relative; display: block; padding: 10px 15px; }

.navbar-nav { margin: 7.5px -15px; }
.navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 20px; }
@media (min-width: 768px) {
  .navbar-nav { float: left; margin: 0; }
  .navbar-nav > li { float: left; }
  .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; }
  .navbar-right { float: right !important; margin-right: -15px; }
  .navbar-nav > li > .dropdown-menu {
    margin-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}

/* --- dropdown ----------------------------------------------------------- */
.dropdown { position: relative; }
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  font-size: 14px;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, .15);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}
.open > .dropdown-menu { display: block; }

/* --- lists, images, utilities ------------------------------------------ */
.list-inline {
  padding-left: 0;
  margin-left: -5px;
  list-style: none;
}
.list-inline > li {
  display: inline-block;
  padding-right: 5px;
  padding-left: 5px;
}
.img-responsive { display: block; max-width: 100%; height: auto; }
.pull-left  { float: left !important; }
.pull-right { float: right !important; }
.text-right { text-align: right; }
.hidden { display: none !important; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* --- forms -------------------------------------------------------------- */
.form-group { margin-bottom: 15px; }
.form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
textarea.form-control { height: auto; }
.form-control::-moz-placeholder { color: #999; opacity: 1; }
.form-control:-ms-input-placeholder { color: #999; }
.form-control::-webkit-input-placeholder { color: #999; }

.btn {
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
}
.btn-block { display: block; width: 100%; }

/* --- animate.css: the two rules the body element used ------------------- */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
@-webkit-keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.fadeIn { -webkit-animation-name: fadeIn; animation-name: fadeIn; }

/* --- jquery.flipster: the carousel style only --------------------------- */
.flipster {
  display: block;
  width: 100%;
  margin: 0 auto;
  position: relative;
  overflow-y: visible;
}
.flip-items {
  display: block;
  margin: 0 auto;
  padding: 0;
  list-style-type: none;
  transform-origin: 50% 50%;
  backface-visibility: hidden;
  perspective: 2000px;
  /* The plugin measured the largest card and wrote these onto the <ul> inline.
     They are what centres the deck and what the translateX percentages below
     resolve against (-80% of 350px = the -280px the original computed). */
  position: relative;
  width: 350px;
  height: 350px;
}
@media (max-width: 991px) {
  .flip-items { width: 280px; height: 400px; }
}
.flip-item {
  display: block;
  margin: 0 auto;
  padding: 0;
  list-style-type: none;
  position: absolute;
  width: 100%;
  opacity: .99;
  transform: translate3d(0, 0, 0);
  transition: all 350ms ease-out;
  cursor: pointer;
}
.flip-item img { display: block; width: 100%; }
.flip-items img { box-shadow: 0 0 10px rgba(0, 0, 0, .3); }

.flip-past {
  transform: translateX(-80%) translateZ(0) rotateY(0deg) scale(0.65);
}
.flip-future {
  transform: translateX(80%) translateZ(0) rotateY(0deg) scale(0.65);
}
.flip-prev {
  transform: translateX(-60%) translateZ(0) rotateY(0deg) scale(0.8);
}
.flip-next {
  transform: translateX(60%) translateZ(0) rotateY(0deg) scale(0.8);
}
.flip-past, .flip-future {
  opacity: .6;
  z-index: 1;
  transition-delay: 87.5ms;
}
.flip-prev, .flip-next {
  opacity: .8;
  z-index: 2;
  transition-delay: 58.333333333333336ms;
}
.flip-current {
  z-index: 999;
  transform: rotateY(0deg);
  transition-delay: 58.333333333333336ms;
}
.flip-hidden {
  visibility: hidden;
  opacity: 0;
  transform: rotateY(0deg) translateX(0) scale(0.5);
  transition-delay: 116.66666666666667ms;
}

/* --- archive-only: the contact map --------------------------------------
 * #content #google-map is 100% x 280px and used to be filled by the Google
 * Maps JS API. The keyless embed that replaces it has to be told to fill it. */
#google-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
