/* Minimal browser reset and structural primitives used by the site. */

html { box-sizing: border-box; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }

body {
  margin: 0;
  min-height: 100%;
  background-color: #fff;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #333;
}

img { max-width: 100%; vertical-align: middle; display: inline-block; border: 0; }
a { background-color: transparent; text-decoration: none; color: inherit; }
ul { margin: 0 0 10px; padding-left: 40px; }
figure { margin: 0 0 10px; }

h1 { margin: 20px 0 10px; font-size: 38px; line-height: 44px; font-weight: bold; }
h2 { margin: 20px 0 10px; font-size: 32px; line-height: 36px; font-weight: bold; }
h3 { margin: 20px 0 10px; font-size: 24px; line-height: 30px; font-weight: bold; }
p { margin: 0 0 10px; }

/* Navbar */
.site-nav { position: relative; z-index: 1000; }
.site-nav::before, .site-nav::after { content: ' '; display: table; grid-column-start: 1; grid-row-start: 1; grid-column-end: 2; grid-row-end: 2; }
.site-nav::after { clear: both; }
.site-nav-brand { position: relative; float: left; text-decoration: none; color: #333; }
.site-nav-menu { position: relative; float: right; }
.site-nav-button {
  position: relative;
  float: right;
  padding: 18px;
  font-size: 24px;
  display: none;
  cursor: pointer;
  border: 0;
  background: transparent;
  color: inherit;
  -webkit-user-select: none;
  user-select: none;
}
.inline-block { max-width: 100%; display: inline-block; }

@media screen and (max-width: 991px) {
  .site-nav[data-collapse="medium"] .site-nav-menu { display: none; }
  .site-nav[data-collapse="medium"] .site-nav-button { display: block; }
}

/* Collection lists */
.collection { position: relative; }
.is-empty { display: none !important; }

/* Forms */
.form-shell { margin: 0 0 15px; }
.form-control {
  display: block;
  width: 100%;
  height: 38px;
  margin-bottom: 10px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.42857;
  color: #333;
  vertical-align: middle;
  background-color: #fff;
  border: 1px solid #ccc;
}
textarea.form-control { height: auto; }
.form-submit {
  display: inline-block;
  padding: 9px 15px;
  background-color: #3898ec;
  color: #fff;
  border: 0;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0;
}
.radio { display: block; margin-bottom: 5px; padding-left: 20px; }
.radio-input { margin: 4px 0 0 -20px; line-height: normal; float: left; }
.field-label { display: inline-block; margin-bottom: 5px; font-weight: normal; cursor: pointer; }
.form-success, .form-error { display: none; padding: 20px; }
