/*
 * Site-wide styles, on top of vendor/foundation.css.
 *
 * Breakpoints (Foundation's): medium is 40em (640px) and up, large is 64em
 * (1024px) and up. Custom properties don't work in media queries, so they're
 * written out where they're used.
 */

:root {
  --gimlet-blue: #133362;
  --gimlet-dark-blue: #0b1d37; /* --gimlet-blue, 10% darker */
  --gimlet-green: #2dbe60;
}

/* Colors
   ------------------------------------------------------------------ */

.red {
  color: red;
}

.green {
  color: green;
}

/* Typography
   ------------------------------------------------------------------ */

body {
  color: #333;
  font-family: sans-serif;
  font-feature-settings: "kern", "liga", "pnum";
  font-size: 16px;
  line-height: 24px;
}

.inline {
  display: inline-block;
}

.help-text, .disabled {
  color: gray !important;
}

.white {
  color: #FFFFFF;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: bold;
  color: inherit;
  text-rendering: optimizeLegibility;
}

/* Utilities
   ------------------------------------------------------------------ */

.offscreen {
  position: absolute;
  left: -999em;
  top: -999em;
  width: 1px;
  height: 1px;
}

.center-text {
  text-align: center;
}

.trigger {
  display: none;
}

/* Icons
   ------------------------------------------------------------------ */

/* Font Awesome icons from fa_icon; FA's own rule. Width follows the viewBox. */
svg:not(:root).svg-inline--fa {
  display: inline-block;
  height: 1em;
  overflow: visible;
  vertical-align: -.125em;
  fill: currentColor;
}

.icon {
  display: inline;
  align-self: center;
}

.icon svg {
  fill: currentColor;
  height: 1em;
  width: 1em;
}

.icon.baseline svg {
  top: .125em;
  position: relative;
}

div#logo-wrapper {
  margin-top: 1.25rem;
}

div#logo-wrapper a {
  display: inline-block;
  font-size: 2.25rem;
  font-weight: bold;
  color: #113263;
  padding-left: 1rem;
}

div#logo-wrapper svg path.blue-top, div#logo-wrapper svg path.blue-bottom {
  transform: translateX(0);
  fill: #113263;
}

div#logo-wrapper svg path.green {
  transform: translateX(0);
  fill: #2bbd5f;
}

div#logo-wrapper h2 {
  display: inline-block;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 2.25rem;
  font-weight: bold;
}

/* Small screens
   ------------------------------------------------------------------ */

/* Phones (below medium). Full-width buttons and no page background. */
@media screen and (max-width: 39.9375em) {
  main {
    background: none !important;
  }

  .g-small-expand {
    display: block;
    width: 100%;
  }
}

/* Buttons
   ------------------------------------------------------------------ */

.button {
  font-weight: bold;
  border-radius: 3px;
}

/* Forms
   ------------------------------------------------------------------ */

fieldset {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem;
}

label {
  font-size: 1rem;
  font-weight: bold;
}

select, input, textarea {
  border-radius: 3px !important;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06) !important;
  margin-bottom: 0.5rem !important;
}

textarea:focus, input:focus, select:focus, span:focus {
  border-color: #477dca !important;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(55, 112, 192, 0.7) !important;
  transition: border-color 150ms ease !important;
}

/* Honeypot fields */
.coolbees {
  position: absolute;
  opacity: 0;
}

/* Lists
   ------------------------------------------------------------------ */

li {
  border-bottom: none;
}

.inline-list {
  margin-left: 0;
  list-style: none;
}

.inline-list li {
  display: inline-block;
  border: none;
}

/* Space between items, not before the first */
.inline-list li:nth-child(n+2) {
  margin-left: 1.875rem;
}

.list-unstyled {
  margin-left: 0;
  list-style: none;
}

/* Tables
   ------------------------------------------------------------------ */

.table-scroll table {
  width: 100%;
}

tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: #f9f9f9;
}

/* Announcement bar
   ------------------------------------------------------------------ */

#announcement {
  background-color: var(--gimlet-dark-blue);
  color: #FFFFFF;
  font-weight: bold;
  text-align: center !important;
}

#announcement p {
  width: 100%;
  margin-bottom: 0;
}

#announcement p > a {
  margin-left: 1rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
