html, body {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  font-family: "HelveticaNeue-Thin", "Helvetica Neue Thin", "Helvetica Neue", ".HiraKakuInterface-W1";
}

* {
  box-sizing: border-box;
}

.site-header {
  height: 60px;
  line-height: 60px;
  text-align: center;
  font-size: 20px;
  border-bottom: 1px solid #eee;
  box-shadow: rgba(0,0,0,0.3) 0px 1px 2px;
  position: fixed;
  z-index: 1;
  background-color: #fff;
  top: 0;
  left: 0;
  width: 100%;
}

.site-header a {
  text-decoration: none;
  color: inherit;
}

.site-header__links {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0; 
}

.site-header__link {
  height: 100%;
  padding: 0px 5px; 
}

.site-header__link:hover {
  background-color: #eee;
}

.site-header-placeholder {
  height: 60px;
}

input {
  font-size: 1em;
}

button {
  font-family: inherit;
}

input[type="submit"],button,a.button {
  font-size: 1em;
  border: 1px solid #eee;
  background-color: #2196F3;
  color: #fff;
  padding: 5px;
}

a.button {
  text-decoration: none;
  padding: 5px;
  display: inline-block;
}

input[type="email"],input[type="text"],input[type="password"] {
  border: 1px solid #eee;
  font-size: 1em;
}

.padded {
  padding: 10px;
}

.footer-placeholder {
  height: 120px;
}

button[disabled] {
  background-color: #aaa;
}

[data-text-type=error] {
  color: #dc322f;
  font-weight: bold;
}

[data-text-type=success-message] {
  color: #4F8A10;
  font-weight: bold;
}

.page {
  margin: 10px;
}

.page-header__title {
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 1.5em;
}

.input-label {
  padding-bottom: 5px;
  padding-top: 5px;
}

.form-submit-button {
  margin-top: 5px;
}

.show-when-disabled {
  display: none;
}

*[disabled] .show-when-disabled {
  display: inherit;
}

*[disabled] .hide-when-disabled {
  display: none;
}

