* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* The Grid ---------------------- */
.row {
  width: 996px;
  max-width: 100%;
  min-width: 768px;
  margin: 0 auto;
}

.row .row {
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0 -18px;
}

.row.collapse .column,
.row.collapse .columns {
  padding: 0;
}

.row .row {
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0 -18px;
}

.row .row.collapse {
  margin: 0;
}

.column,
.columns {
  float: left;
  min-height: 1px;
  margin-bottom: 8px;
  padding: 0 18px;
  position: relative;
}

.column.centered,
.columns.centered {
  float: none;
  margin: 0 auto;
}

[class*="column"]+[class*="column"]:last-child {
  float: left;
}

[class*="column"]+[class*="column"].end {
  float: left;
}

.row .one {
  width: 8.333%;
}

.row .two {
  width: 16.667%;
}

.row .three {
  width: 25%;
}

.row .four {
  width: 33.333%;
}

.row .five {
  width: 41.667%;
}

.row .six {
  width: 50%;
}

.row .seven {
  width: 58.333%;
}

.row .eight {
  width: 66.667%;
}

.row .nine {
  width: 75%;
}

.row .ten {
  width: 83.333%;
}

.row .eleven {
  width: 91.667%;
}

.row .twelve {
  width: 100%;
}

.row .offset-by-one {
  margin-left: 8.333%;
}

.row .offset-by-two {
  margin-left: 16.667%;
}

.row .offset-by-three {
  margin-left: 25%;
}

.row .offset-by-four {
  margin-left: 33.333%;
}

.row .offset-by-five {
  margin-left: 41.667%;
}

.row .offset-by-six {
  margin-left: 50%;
}

.row .offset-by-seven {
  margin-left: 58.333%;
}

.row .offset-by-eight {
  margin-left: 66.667%;
}

.row .offset-by-nine {
  margin-left: 75%;
}

.row .offset-by-ten {
  margin-left: 83.333%;
}

.push-two {
  left: 16.667%;
}

.pull-two {
  right: 16.667%;
}

.push-three {
  left: 25%;
}

.pull-three {
  right: 25%;
}

.push-four {
  left: 33.333%;
}

.pull-four {
  right: 33.333%;
}

.push-five {
  left: 41.667%;
}

.pull-five {
  right: 41.667%;
}

.push-six {
  left: 50%;
}

.pull-six {
  right: 50%;
}

.push-seven {
  left: 58.333%;
}

.pull-seven {
  right: 58.333%;
}

.push-eight {
  left: 66.667%;
}

.pull-eight {
  right: 66.667%;
}

.push-nine {
  left: 75%;
}

.pull-nine {
  right: 75%;
}

.push-ten {
  left: 83.333%;
}

.pull-ten {
  right: 83.333%;
}

img,
object,
embed {
  max-width: 100%;
  height: auto;
}

img {
  -ms-interpolation-mode: bicubic;
}

#map_canvas img,
.map_canvas img {
  max-width: none !important;
}

/* Nicolas Gallagher's micro clearfix */
.row {
  *zoom: 1;
}

.row:before,
.row:after {
  content: "";
  display: table;
}

.row:after {
  clear: both;
}

/* Mobile Grid and Overrides ---------------------- */
@media only screen and (max-width: 768px) {
  body {
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
    width: 100%;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .row {
    width: auto;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    text-align: center;
  }

  .column,
  .columns {
    width: auto !important;
    float: none;
  }

  .column:last-child,
  .columns:last-child {
    float: none;
  }

  [class*="column"]+[class*="column"]:last-child {
    float: none;
  }

  .column:before,
  .columns:before,
  .column:after,
  .columns:after {
    content: "";
    display: table;
  }

  .column:after,
  .columns:after {
    clear: both;
  }

  .offset-by-one,
  .offset-by-two,
  .offset-by-three,
  .offset-by-four,
  .offset-by-five,
  .offset-by-six,
  .offset-by-seven,
  .offset-by-eight,
  .offset-by-nine,
  .offset-by-ten {
    margin-left: 0 !important;
  }

  .push-two,
  .push-three,
  .push-four,
  .push-five,
  .push-six,
  .push-seven,
  .push-eight,
  .push-nine,
  .push-ten {
    left: auto;
  }

  .pull-two,
  .pull-three,
  .pull-four,
  .pull-five,
  .pull-six,
  .pull-seven,
  .pull-eight,
  .pull-nine,
  .pull-ten {
    right: auto;
  }

  /* Mobile 4-column Grid */
  .row .mobile-one {
    width: 25% !important;
    float: left;
    padding: 0 15px;
  }

  .row .mobile-one:last-child {
    float: left;
  }

  .row.collapse .mobile-one {
    padding: 0;
  }

  .row .mobile-two {
    width: 50% !important;
    float: left;
    padding: 0 15px;
  }

  .row .mobile-two:last-child {
    float: left;
  }

  .row.collapse .mobile-two {
    padding: 0;
  }

  .row .mobile-three {
    width: 75% !important;
    float: left;
    padding: 0 15px;
  }

  .row .mobile-three:last-child {
    float: left;
  }

  .row.collapse .mobile-three {
    padding: 0;
  }

  .row .mobile-four {
    width: 100% !important;
    float: left;
    padding: 0 15px;
  }

  .row .mobile-four:last-child {
    float: left;
  }

  .row.collapse .mobile-four {
    padding: 0;
  }

  .push-one-mobile {
    left: 25%;
  }

  .pull-one-mobile {
    right: 25%;
  }

  .push-two-mobile {
    left: 50%;
  }

  .pull-two-mobile {
    right: 50%;
  }

  .push-three-mobile {
    left: 75%;
  }

  .pull-three-mobile {
    right: 75%;
  }
}

/* Block Grids ---------------------- */
/* These are 2-up, 3-up, 4-up and 5-up ULs, suited
for repeating blocks of content. Add 'mobile' to
them to switch them just like the layout grid
(one item per line) on phones

For IE7/8 compatibility block-grid items need to be
the same height. You can optionally uncomment the
lines below to support arbitrary height, but know
that IE7/8 do not support :nth-child.
-------------------------------------------------- */
.block-grid {
  display: block;
  overflow: hidden;
  padding: 0;
}

.block-grid>li {
  display: block;
  height: auto;
  float: left;
}

.block-grid.one-up {
  margin: 0;
}

.block-grid.one-up>li {
  width: 100%;
  padding: 0 0 15px;
}

.block-grid.two-up {
  margin: 0 -15px;
}

.block-grid.two-up>li {
  width: 50%;
  padding: 0 15px 15px;
}

/*  .block-grid.two-up>li:nth-child(2n+1) {clear: left;} */
.block-grid.three-up {
  margin: 0 -12px;
}

.block-grid.three-up>li {
  width: 33.33%;
  padding: 0 12px 12px;
}

/*  .block-grid.three-up>li:nth-child(3n+1) {clear: left;} */
.block-grid.four-up {
  margin: 0 -10px;
}

.block-grid.four-up>li {
  width: 25%;
  padding: 0 10px 10px;
}

/*  .block-grid.four-up>li:nth-child(4n+1) {clear: left;} */
.block-grid.five-up {
  margin: 0 -8px;
}

.block-grid.five-up>li {
  width: 20%;
  padding: 0 8px 8px;
}

/*  .block-grid.five-up>li:nth-child(5n+1) {clear: left;} */
/* Mobile Block Grids */
@media only screen and (max-width: 768px) {
  .block-grid.mobile {
    margin-left: 0;
  }

  .block-grid.mobile>li {
    float: none;
    width: 100%;
    margin-left: 0;
  }
}

/* Labels ---------------------- */
.label {
  padding: 1px 4px 2px;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
  display: inline;
  position: relative;
  bottom: 1px;
  color: #fff;
  background: #2ba6cb;
}

.label.radius {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}

.label.round {
  padding: 1px 7px 2px;
  -webkit-border-radius: 1000px;
  -moz-border-radius: 1000px;
  -ms-border-radius: 1000px;
  -o-border-radius: 1000px;
  border-radius: 1000px;
}

.label.alert {
  background-color: #c60f13;
}

.label.success {
  background-color: #5da423;
}

.label.secondary {
  background-color: #e9e9e9;
  color: #505050;
}

/* Panels ---------------------- */
.panel {
  background: #fafafa;
  border: solid 1px #ddd;
  margin: 0 0 22px 0;
  padding: 20px 25px 20px 25px;
  position: relative;
}

.panel> :first-child {
  margin-top: 0;
}

.panel> :last-child {
  margin-bottom: 0;
}

.panel.callout {
  background: #2ba6cb;
  color: #fff;
  border-color: #2284a1;
  -webkit-box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.5);
  -moz-box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.5);
  box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.5);
}

.panel.callout a {
  color: #fff;
}

.panel.callout .button {
  background: white;
  border: none;
  color: #2ba6cb;
  text-shadow: none;
}

.panel.callout .button:hover {
  background: rgba(255, 255, 255, 0.8);
}

.panel.radius {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}

.panel:after {
  left: 4px;
  right: 4px;
  bottom: -5px;
  box-shadow: 0 0 2px #ddd;
}

.panel,
.panel:before,
.panel:after {
  background: #fafafa;
  border: 1px solid #ddd;
}

.panel:before,
.panel:after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 3px;
  right: 3px;
  height: 1px;
  border-top: none;
}

.panel:hover {
  -webkit-box-shadow: 0 0px 7px #ddd;
  -moz-box-shadow: 0 0px 7px #ddd;
  box-shadow: 0 0px 7px #ddd;
}