<commit_before>@import 'bourbon';
@import 'neat';

@import 'global/normalize';

$landscape-mobile: new-breakpoint(min-width 640px);
$tablet: new-breakpoint(min-width 768px);
$desktop: new-breakpoint(min-width 1024px);

$color-black: #333;
$color-blue: #0057b8;
$color-red: #e4002b;
$color-white: #fff;

body {
  font-family: 'Roboto', sans-serif;
  margin: 0;
  min-height: 100vh;
  padding: 0;
  position: relative;
  @include display(flex);
  @include flex-direction(column);
}

.btn {
  background: none;
  border: 2px solid $color-black;
  border-radius: 50px;
  box-sizing: border-box;
  color: $color-black;
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  line-height: 17.5px;
  min-width: 30px;
  padding: 5px 10px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  @include appearance(none);
  @include transition(all, 200ms);

  &:link,
  &:visited {
    color: $color-black;
  }

  &:hover {
    background: rgba($color-black, .2);
  }

  &.btn-icon {
    height: 30px;
    padding: 5px 0;
  }
}

.btn-large {
  border-width: 4px;
  font-size: 16px;
  font-weight: 900;
  padding: 10px 20px;
}

.btn-inverted {
  border-color: $color-white;
  color: $color-white;
  margin-left: 10px;

  &:link,
  &:visited {
    color: $color-white;
  }

  &:hover {
    background: rgba($color-white, .2);
  }

  &[disabled] {
    opacity: .5;
  }
}

.page-header {
  box-sizing: border-box;
  font-weight: 900;
  padding: 20px;
  text-align: center;
  @include display(flex);
  @include flex-direction(column);

  @include media($landscape-mobile) {
    margin: 0 auto;
    max-width: 600px;
    padding: 20px 0 10px;
    width: 100%;
    @include align-items(center);
    @include flex-direction(row);
    @include justify-content(space-between);
  }

  @include media($desktop) {
    max-width: none;
    padding: 20px 20px 10px;
  }

  h1 {
    font-size: 1.1em;
    margin: 0 0 10px;

    @include media($tablet) {
      font-size: 1.5em;
      margin: 0;
    }
  }
}

.inline-list {
  list-style: none;
  margin: 0;
  padding: 0;

  li {
    display: inline-block;
    margin: 0 5px;
  }
}

.page-nav {
  li {
    @include media($tablet) {
      margin: 0 0 0 10px;
    }
  }
}

.page-content {
  @include display(flex);
  @include flex(1);
  @include flex-direction(column);

  @include media($desktop) {
    padding: 0 10px;
    @include align-items(center);
    @include flex-direction(row);
    @include justify-content(center);
  }
}

.card-panel {
  box-sizing: border-box;
  padding: 0 1%;
  @include align-items(center);
  @include clearfix();
  @include display(flex);
  @include flex(1);

  @include media($desktop) {
    @include justify-content(flex-start);

    &:nth-child(odd) {
      @include justify-content(flex-end);
    }
  }
}

.card {
  background: $color-black;
  border: 4px solid $color-black;
  border-radius: 10px;
  box-shadow: 4px 4px 10px rgba(0,0,0,.5);
  box-sizing: border-box;
  margin: 0 auto 50px;
  max-width: 600px;
  width: 100%;

  @include media($desktop) {
    display: inline-block;
    margin: 0;
  }
}

.card-body {
  background: $color-black;
  border: 1px solid $color-black;
  border-radius: 0 0 10px 10px;

  .row {
    background: $color-white;
  }

  .row:last-child {
    border-radius: 0 0 10px 10px;
    overflow: hidden;
  }

/*  .bingoed & {
    position: relative;

    &::before {
      background: rgba($color-white, .5);
      border-radius: 0 0 10px 10px;
      content: '';
      display: block;
      z-index: 2;
      @include position(absolute, 1px 1px 1px 1px);
    }
    &::after {
      content: 'BINGO!';
      font-size: 80px;
      font-weight: 900;
      z-index: 3;
      @include position(absolute, 50% null null 50%);
      @include transform(translate(-50%, -50%) rotate(-15deg));

      @include media($tablet) {
        font-size: 160px;
      }
    }
  }*/
}

.card-header {
  border: 2px solid $color-black;
  border-radius: 10px 10px 0 0;
  border-width: 2px 2px 0;
  color: $color-white;
  padding: 10px;
  @include align-items(center);
  @include display(flex);
  @include justify-content(space-between);

  @include media($tablet) {
    padding: 20px;
  }
  .dems & {
    background: $color-blue;
  }

  .repubs & {
    background: $color-red;
  }
}

.card-title {
  font-weight: 900;
  margin: 0;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.card-controls {
  .btn {
    margin-left: 10px;
  }
}

.row {
  @include display(flex);
}

.bingo-square {
  background: transparent;
  border: 1px solid $color-black;
  box-sizing: border-box;
  cursor: pointer;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 10px;
  font-weight: 400;
  height: 45px;
  padding: 0;
  position: relative;
  width: 20%;
  z-index: 1;
  @include align-items(center);
  @include display(flex);

  @include media($tablet) {
    font-size: 16px;
    height: 90px;
    padding: 5px;
  }

  &::before {
    background-size: cover;
    content: '';
    display: block;
    opacity: 0;
    z-index: -1;
    @include position(absolute, 50% null null 50%);
    @include transform(translate(-50%, -50%));
    @include transition(all, 200ms);

    @include media($tablet) {
      font-size: 80px;
    }

    .dems & {
      background-image: url(/img/donkey.png);
      @include size(40px);

      @include media($tablet) {
        @include size(70px);
      }
    }

    .repubs & {
      background-image: url(/img/elephant.png);
      @include size(46px 40px);
      @include transform(translate(-43%, -50%));

      @include media($tablet) {
        @include size(70px 62px);
      }
    }
  }

  &.selected::before {
    opacity: .3;
  }

  span {
    display: block;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    width: 100%;
  }
}

.free {
  text-transform: uppercase;

  .dems & {
    background: $color-blue;
    color: $color-white;
  }

  .repubs & {
    background: $color-red;
    color: $color-white;
  }
}

.page-footer {
  padding: 20px;
  text-align: center;

  @include media($desktop) {
    text-align: right;
  }
}

.dialog {
  background: #00a9e0;
  box-sizing: border-box;
  color: $color-white;
  padding: 40px 20px;
  z-index: 10;
  @include position(fixed, 0 0 null 0);
  @include transform(translateY(-100%));
  @include transition(all 400ms ease-in-out);

  &.active {
    @include transform(translateY(0));
  }

  .btn-close {
    @include position(absolute, 10px 10px null null);
    float: right;
  }
}

.about-dialog {
  max-height: 100vh;
  overflow: auto;

  .message {
    margin: 0 auto 1em;
    max-width: 50em;
  }

  .inline-list {
    li {
      margin: 0 10px 0 0;
    }
  }

  .btn-inverted {
    margin: 0;
  }
}

.cta-dialog {
  text-align: center;


  p {
    font-size: 20px;
    margin: 0 0 .5em;
    text-align: left;

    @include media($tablet) {
      text-align: center;
    }
  }

  .cta-line-0 {
    font-size: 80px;
    font-weight: 900;
    margin: 0;
    text-align: center;
    text-transform: uppercase;
    @include transform(rotate(-3deg));

    @include media($tablet) {
      font-size: 160px;
    }
  }
}

.cta-controls {
  margin-top: 1em;

  .btn {
    display: block;
    margin: 0 0 10px;
    width: 100%;

    @include media($tablet) {
      display: inline-block;
      margin: 0 5px;
      width: auto;
    }
  }
}<commit_msg>Polish up print styles.<commit_after>@import 'bourbon';
@import 'neat';

@import 'global/normalize';

$landscape-mobile: new-breakpoint(min-width 640px);
$tablet: new-breakpoint(min-width 768px);
$desktop: new-breakpoint(min-width 1024px);

$color-black: #333;
$color-blue: #0057b8;
$color-red: #e4002b;
$color-white: #fff;

body {
  font-family: 'Roboto', sans-serif;
  margin: 0;
  min-height: 100vh;
  padding: 0;
  position: relative;
  @include display(flex);
  @include flex-direction(column);
}

.btn {
  background: none;
  border: 2px solid $color-black;
  border-radius: 50px;
  box-sizing: border-box;
  color: $color-black;
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  line-height: 17.5px;
  min-width: 30px;
  padding: 5px 10px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  @include appearance(none);
  @include transition(all, 200ms);

  &:link,
  &:visited {
    color: $color-black;
  }

  &:hover {
    background: rgba($color-black, .2);
  }

  &.btn-icon {
    height: 30px;
    padding: 5px 0;
  }
}

.btn-large {
  border-width: 4px;
  font-size: 16px;
  font-weight: 900;
  padding: 10px 20px;
}

.btn-inverted {
  border-color: $color-white;
  color: $color-white;
  margin-left: 10px;

  &:link,
  &:visited {
    color: $color-white;
  }

  &:hover {
    background: rgba($color-white, .2);
  }

  &[disabled] {
    opacity: .5;
  }
}

.page-header {
  box-sizing: border-box;
  font-weight: 900;
  padding: 20px;
  text-align: center;
  @include display(flex);
  @include flex-direction(column);

  @include media($landscape-mobile) {
    margin: 0 auto;
    max-width: 600px;
    padding: 20px 0 10px;
    width: 100%;
    @include align-items(center);
    @include flex-direction(row);
    @include justify-content(space-between);
  }

  @include media($desktop) {
    max-width: none;
    padding: 20px 20px 10px;
  }

  h1 {
    font-size: 1.1em;
    margin: 0 0 10px;

    @include media($tablet) {
      font-size: 1.5em;
      margin: 0;
    }
  }
}

.inline-list {
  list-style: none;
  margin: 0;
  padding: 0;

  li {
    display: inline-block;
    margin: 0 5px;
  }
}

.page-nav {
  li {
    @include media($tablet) {
      margin: 0 0 0 10px;
    }
  }
}

.page-content {
  @include display(flex);
  @include flex(1);
  @include flex-direction(column);

  @include media($desktop) {
    padding: 0 10px;
    @include align-items(center);
    @include flex-direction(row);
    @include justify-content(center);
  }
}

.card-panel {
  box-sizing: border-box;
  padding: 0 1%;
  @include align-items(center);
  @include clearfix();
  @include display(flex);
  @include flex(1);

  @include media($desktop) {
    @include justify-content(flex-start);

    &:nth-child(odd) {
      @include justify-content(flex-end);
    }
  }
}

.card {
  background: $color-black;
  border: 4px solid $color-black;
  border-radius: 10px;
  box-shadow: 4px 4px 10px rgba(0,0,0,.5);
  box-sizing: border-box;
  margin: 0 auto 50px;
  max-width: 600px;
  width: 100%;

  @include media($desktop) {
    display: inline-block;
    margin: 0;
  }
}

.card-body {
  background: $color-black;
  border: 1px solid $color-black;
  border-radius: 0 0 10px 10px;

  .row {
    background: $color-white;
  }

  .row:last-child {
    border-radius: 0 0 10px 10px;
    overflow: hidden;
  }
}

.card-header {
  border: 2px solid $color-black;
  border-radius: 10px 10px 0 0;
  border-width: 2px 2px 0;
  color: $color-white;
  padding: 10px;
  @include align-items(center);
  @include display(flex);
  @include justify-content(space-between);

  @include media($tablet) {
    padding: 20px;
  }

  .dems & {
    background: $color-blue;
  }

  .repubs & {
    background: $color-red;
  }
}

.card-title {
  font-weight: 900;
  margin: 0;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.card-controls {
  .btn {
    margin-left: 10px;
  }
}

.row {
  @include display(flex);
}

.bingo-square {
  background: transparent;
  border: 1px solid $color-black;
  box-sizing: border-box;
  cursor: pointer;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 10px;
  font-weight: 400;
  height: 45px;
  padding: 0;
  position: relative;
  width: 20%;
  z-index: 1;
  @include align-items(center);
  @include display(flex);

  @include media($tablet) {
    font-size: 16px;
    height: 90px;
    padding: 5px;
  }

  &::before {
    background-size: cover;
    content: '';
    display: block;
    opacity: 0;
    z-index: -1;
    @include position(absolute, 50% null null 50%);
    @include transform(translate(-50%, -50%));
    @include transition(all, 200ms);

    @include media($tablet) {
      font-size: 80px;
    }

    .dems & {
      background-image: url(/img/donkey.png);
      @include size(40px);

      @include media($tablet) {
        @include size(70px);
      }
    }

    .repubs & {
      background-image: url(/img/elephant.png);
      @include size(46px 40px);
      @include transform(translate(-43%, -50%));

      @include media($tablet) {
        @include size(70px 62px);
      }
    }
  }

  &.selected::before {
    opacity: .3;
  }

  span {
    display: block;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    width: 100%;
  }
}

.free {
  text-transform: uppercase;

  .dems & {
    background: $color-blue;
    color: $color-white;
  }

  .repubs & {
    background: $color-red;
    color: $color-white;
  }
}

.page-footer {
  padding: 20px;
  text-align: center;

  @include media($desktop) {
    text-align: right;
  }
}

.dialog {
  background: #00a9e0;
  box-sizing: border-box;
  color: $color-white;
  padding: 40px 20px;
  z-index: 10;
  @include position(fixed, 0 0 null 0);
  @include transform(translateY(-100%));
  @include transition(all 400ms ease-in-out);

  &.active {
    @include transform(translateY(0));
  }

  .btn-close {
    @include position(absolute, 10px 10px null null);
    float: right;
  }
}

.about-dialog {
  max-height: 100vh;
  overflow: auto;

  .message {
    margin: 0 auto 1em;
    max-width: 50em;
  }

  .inline-list {
    li {
      margin: 0 10px 0 0;
    }
  }

  .btn-inverted {
    margin: 0;
  }
}

.cta-dialog {
  text-align: center;


  p {
    font-size: 20px;
    margin: 0 0 .5em;
    text-align: left;

    @include media($tablet) {
      text-align: center;
    }
  }

  .cta-line-0 {
    font-size: 80px;
    font-weight: 900;
    margin: 0;
    text-align: center;
    text-transform: uppercase;
    @include transform(rotate(-3deg));

    @include media($tablet) {
      font-size: 160px;
    }
  }
}

.cta-controls {
  margin-top: 1em;

  .btn {
    display: block;
    margin: 0 0 10px;
    width: 100%;

    @include media($tablet) {
      display: inline-block;
      margin: 0 5px;
      width: auto;
    }
  }
}

@media print {
  .page-header,
  .page-footer,
  .dialog,
  .card-controls {
    display: none;
  }

  .card-header,
  .bingo-square.free {
    background: $color-white;
    color: $color-black;
  }

  .bingo-square {
    height: 80px;

    &.selected::before {
      content: '';
    }
  }
}
{'fraction_non_alphanumeric': 0.15488471924115488, 'fraction_numerical': 0.04147337810704147, 'mean_word_length': 2.5912481352560914, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1499537', 'n_tokens_mistral': 6120, 'n_tokens_neox': 5459, 'n_words': 1214}