/* Basics (typography etc) ====== */
html {
  color: #333333;
  font-size: 1em;
  line-height: 1.4;
}

body {
  font: 16px/26px 'Lato', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
}

* {
  box-sizing: border-box;
}

a:focus {
  outline: 1px dotted #554c5d;
  outline-offset: 2px;
}

/* Buttons (bit) ===== */
.button, .button--primary, .button--secondary {
  text-decoration: none;
  padding: 8px 15px;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-radius: 2px;
  text-align: center;
  display: inline-block;
  position: relative;
}

.button--primary {
  background: #554c5d;
  border: 1px solid #554c5d;
  color: #ffffff;
}

.button--secondary {
  background: #ffffff;
  border: 1px solid #B3B3B3;
  color: #333333;
}

.button--secondary:hover, .button--secondary:focus {
  background: #eaeaea;
  color: #000;
}

/* States (bits) ==== */
.is-active {
  background: #7f3f94;
  color: #ffffff;
}

/* tab row (pieces) ==== */
.tab-row {
  margin: 20px auto 0px auto;
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 750px) {
  .tab-row {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.tab-row .button--secondary {
  flex-grow: 1;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  margin-top: -1px;
  text-align: left;
}

@media screen and (min-width: 750px) {
  .tab-row .button--secondary {
    margin-right: 5px;
    text-align: center;
  }
  .tab-row .button--secondary:last-child {
    margin-right: 0px;
  }
}

.tab-row .button--secondary.is-active {
  cursor: default;
}

.tab-row .button--secondary.is-active:hover, .tab-row .button--secondary.is-active:focus {
  background: #7f3f94;
  color: #ffffff;
}

/* tab content (pieces) ==== */
.tab-content {
  padding: 30px 20px;
  border: 1px solid #B3B3B3;
  position: relative;
  margin-top: -1px;
  display: none;
  flex-basis: 100%;
}

@media screen and (min-width: 750px) {
  .tab-content {
    margin: -1px auto 20px auto;
    order: 5;
  }
}

.tab-content .tab-content_close {
  position: absolute;
  top: 0px;
  right: 0px;
  font-size: 0px;
  cursor: pointer;
  line-height: 0px;
  height: 25px;
  width: 25px;
  text-align: center;
  text-decoration: none;
  top: 10px;
  right: 10px;
  display: none;
}

.tab-content .tab-content_close:before {
  content: 'X';
  font-size: 14px;
  color: #16539e;
  line-height: 25px;
}

.tab-content .tab-content_close:hover:before, .tab-content .tab-content_close:focus:before {
  color: #333333;
}

@media screen and (min-width: 750px) {
  .tab-content .tab-content_close {
    display: block;
  }
}

.tab-content .tab-content_text {
  display: none;
}

/* site container (whole) ===== */
.site-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
}
