html {
  width:100%;
  height:100%;
}
body {
  margin:0;
  padding:0;
  width:100%;
  height:100%;
}

.modal {
  position: fixed;
  height: 90%;
  right: 0;
  top: 0;
  z-index: 3;
  width: 100%;
  visibility: hidden;
  opacity:0;
  -webkit-transition:opacity 0.4s linear;
  -moz-transition:opacity 0.4s linear;
  -ms-transition:opacity 0.4s linear;
  -o-transition:opacity 0.4s linear;
  transition:opacity 0.4s linear;
}
.modal.show {
  visibility: visible;
  opacity:1;
}

.valign-table {
  display: table;
  table-layout: fixed;
}
.valign-cell {
  display: table-cell;
  vertical-align: middle;
}

#memory--app-container {
  background-color: #0061a8;
  width:100%;
  height:90%;
}

.memory--menu-bar {
  width:100%;
  background-color: #222;
  height:10%;
  display:table;
}

.memory--menu-bar .inner {
  display:table-cell;
  vertical-align:middle;
}
.memory--menu-bar .left {
  text-align: left;
  float:left;
  width:50%;
}
.memory--menu-bar .right {
  text-align: right;
  float:right;
  width:50%;
}
.memory--app-name {
  color:#ccc;
  font-size:26px;
  margin:0;
  padding:1px 4px;
  text-transform: uppercase;
  font-family: "Courier New";
  letter-spacing: 2px;
}
@media screen and (max-width: 480px) {
  .memory--app-name {
    font-size:16px;
  }
}

#memory--settings-icon {
  height: 24px;
  display: block;
  padding:4px 8px;
  float: right;
}

#memory--end-game-modal .wrapper {
  background-color: rgba(0, 0, 0, .86);
  text-align: center;
  color:#ccc;
  padding:8px 0;
}
#memory--end-game-modal h2,
#memory--end-game-modal h3 {
  margin:0;
  margin-bottom: 4px;
}

#memory--settings-modal {
  background-color: rgba(0, 0, 0, .86);
  z-index: 4;
}
#memory--settings-modal form {
  min-width:240px;
  width:50%;
  margin:0 auto;
  text-align: center;
  color:#ccc;
}

.memory--settings-label {
  margin:8px 0;
}

#memory--settings-grid,
#memory--settings-reset {
  width:100%;
  margin-bottom:16px;
  font-size:18px;
  background-color: #000;
  color:#fff;
  height:50px;
  text-align: center;
}

#memory--settings-grid option {
  padding-top:5px;
  padding-bottom:5px;
}

#memory--settings-reset {
  border-radius:5px;
  border:2px solid #ccc;
  cursor: pointer;
}

#memory--cards {
  margin:0 auto;
  padding:0;
  height:100%;
  list-style-type: none;
  list-style-image: none;
  position:relative;
}
/* entire container, keeps perspective */
.flip-container {
  -webkit-perspective: 1000px;
  perspective: 1000px;
  float:left;
}

/* flip the pane when clicked */
.flip-container.clicked .front {
  -webkit-transform: rotateY(180deg);
  -moz-transform: rotateY(180deg);
  -ms-transform: rotateY(180deg);
  -o-transform: rotateY(180deg);
  transform: rotateY(180deg);
}
.flip-container.clicked .back {
  -webkit-transform: rotateY(0deg);
  -moz-transform: rotateY(0deg);
  -ms-transform: rotateY(0deg);
  -o-transform: rotateY(0deg);
  transform: rotateY(0deg);
}

/* flip speed goes here */
.flipper {
  width:90%;
  height:90%;
  margin:0% auto;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
  position: relative;
  top:5%;
  bottom:5%;
}

/* hide back of pane during swap */
.front, .back {
  width:100%;
  height:100%;
  display: block;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
  position: absolute;
  top: 0;
  left: 0;
}

/* front pane, placed above back */
.front {
  /* for firefox 31 */
  -webkit-transform: rotateY(0deg);
  -moz-transform: rotateY(0deg);
  -ms-transform: rotateY(0deg);
  -o-transform: rotateY(0deg);
  transform: rotateY(0deg);
  background-color: #e12d00;
  border-radius: 5%;
  background-image: url(../images/card.svg);
  background-position:50% 50%;
  background-repeat: no-repeat;
  background-size: contain;

}

/* back, initially hidden pane */
.back {
  -webkit-transform: rotateY(-180deg);
  -moz-transform: rotateY(-180deg);
  -ms-transform: rotateY(-180deg);
  -o-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
  background-color: #fff;
  border-radius: 5%;
  background-position:50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.back.card-1 {
  background-image: url(../images/image-01a.jpg);
}
.back.matching.card-1 {
  background-image: url(../images/image-01b.jpg);
}
.back.card-2 {
  background-image: url(../images/image-02a.jpg);
}
.back.matching.card-2 {
  background-image: url(../images/image-02b.jpg);
}
.back.card-3 {
  background-image: url(../images/image-03a.jpg);
}
.back.matching.card-3 {
  background-image: url(../images/image-03b.jpg);
}
.back.card-4 {
  background-image: url(../images/image-04a.jpg);
}
.back.matching.card-4 {
  background-image: url(../images/image-04b.jpg);
}
.back.card-5 {
  background-image: url(../images/image-05a.jpg);
}
.back.matching.card-5 {
  background-image: url(../images/image-05b.jpg);
}
.back.card-6 {
  background-image: url(../images/image-06a.jpg);
}
.back.matching.card-6 {
  background-image: url(../images/image-06b.jpg);
}
.back.card-7 {
  background-image: url(../images/image-07a.jpg);
}
.back.matching.card-7 {
  background-image: url(../images/image-07b.jpg);
}
.back.card-8 {
  background-image: url(../images/image-08a.jpg);
}
.back.matching.card-8 {
  background-image: url(../images/image-08b.jpg);
}
.back.card-9 {
  background-image: url(../images/image-09a.jpg);
}
.back.matching.card-9 {
  background-image: url(../images/image-09b.jpg);
}
.back.card-10 {
  background-image: url(../images/image-10a.jpg);
}
.back.matching.card-10 {
  background-image: url(../images/image-10b.jpg);
}
.back.card-11 {
  background-image: url(../images/image-11a.jpg);
}
.back.matching.card-11 {
  background-image: url(../images/image-11b.jpg);
}
.back.card-12 {
  background-image: url(../images/image-12a.jpg);
}
.back.matching.card-12 {
  background-image: url(../images/image-12b.jpg);
}
.back.card-13 {
  background-image: url(../images/image-13a.jpg);
}
.back.matching.card-13 {
  background-image: url(../images/image-13b.jpg);
}
.back.card-14 {
  background-image: url(../images/image-14a.jpg);
}
.back.matching.card-14 {
  background-image: url(../images/image-14b.jpg);
}
.back.card-15 {
  background-image: url(../images/image-15a.jpg);
}
.back.matching.card-15 {
  background-image: url(../images/image-15b.jpg);
}
.back.card-16 {
  background-image: url(../images/image-16a.jpg);
}
.back.matching.card-16 {
  background-image: url(../images/image-16b.jpg);
}
.back.card-17 {
  background-image: url(../images/image-17a.jpg);
}
.back.matching.card-17 {
  background-image: url(../images/image-17b.jpg);
}
.back.card-18 {
  background-image: url(../images/image-18a.jpg);
}
.back.matching.card-18 {
  background-image: url(../images/image-18b.jpg);
}
.back.card-19 {
  background-image: url(../images/image-19a.jpg);
}
.back.matching.card-19 {
  background-image: url(../images/image-19b.jpg);
}
.back.card-20 {
  background-image: url(../images/image-20a.jpg);
}
.back.matching.card-20 {
  background-image: url(../images/image-20b.jpg);
}
.back.card-21 {
  background-image: url(../images/image-21a.jpg);
}
.back.matching.card-21 {
  background-image: url(../images/image-21b.jpg);
}
.back.card-22 {
  background-image: url(../images/image-22a.jpg);
}
.back.matching.card-22 {
  background-image: url(../images/image-22b.jpg);
}
.back.card-23 {
  background-image: url(../images/image-23a.jpg);
}
.back.matching.card-23 {
  background-image: url(../images/image-23b.jpg);
}
.back.card-24 {
  background-image: url(../images/image-24a.jpg);
}
.back.matching.card-24 {
  background-image: url(../images/image-24b.jpg);
}
.back.card-25 {
  background-image: url(../images/image-25a.jpg);
}
.back.matching.card-25 {
  background-image: url(../images/image-25b.jpg);
}
.back.card-26 {
  background-image: url(../images/image-26a.jpg);
}
.back.matching.card-26 {
  background-image: url(../images/image-26b.jpg);
}
.back.card-27 {
  background-image: url(../images/image-27a.jpg);
}
.back.matching.card-27 {
  background-image: url(../images/image-27b.jpg);
}
.back.card-28 {
  background-image: url(../images/image-28a.jpg);
}
.back.matching.card-28 {
  background-image: url(../images/image-28b.jpg);
}
.back.card-29 {
  background-image: url(../images/image-29a.jpg);
}
.back.matching.card-29 {
  background-image: url(../images/image-29b.jpg);
}
.back.card-30 {
  background-image: url(../images/image-30a.jpg);
}
.back.matching.card-30 {
  background-image: url(../images/image-30b.jpg);
}
.back.card-31 {
  background-image: url(../images/image-31a.jpg);
}
.back.matching.card-31 {
  background-image: url(../images/image-31b.jpg);
}
.back.card-32 {
  background-image: url(../images/image-32a.jpg);
}
.back.matching.card-32 {
  background-image: url(../images/image-32b.jpg);
}
.back.card-33 {
  background-image: url(../images/image-33a.jpg);
}
.back.matching.card-33 {
  background-image: url(../images/image-33b.jpg);
}
.back.card-34 {
  background-image: url(../images/image-34a.jpg);
}
.back.matching.card-34 {
  background-image: url(../images/image-34b.jpg);
}
.back.card-35 {
  background-image: url(../images/image-35a.jpg);
}
.back.matching.card-35 {
  background-image: url(../images/image-35b.jpg);
}
.back.card-36 {
  background-image: url(../images/image-36a.jpg);
}
.back.matching.card-36 {
  background-image: url(../images/image-36b.jpg);
}
.back.card-37 {
  background-image: url(../images/image-37a.jpg);
}
.back.matching.card-37 {
  background-image: url(../images/image-37b.jpg);
}
.back.card-38 {
  background-image: url(../images/image-38a.jpg);
}
.back.matching.card-38 {
  background-image: url(../images/image-38b.jpg);
}
.back.card-39 {
  background-image: url(../images/image-39a.jpg);
}
.back.matching.card-39 {
  background-image: url(../images/image-39b.jpg);
}

/** Matching Cards **/
/**
 * If you wish to have custom matching images, you can do so
 * by leveraging the 'matching' class which is added to one
 * of the matching cards. See the example below.
 *
 * .back.card-1 {
 *   background-image: url(../images/fruits/apple_1.jpg);
 * }
 *
 * .back.matching.card-1 {
 *   background-image: url(../images/fruits/apple_2.jpg);
 * }
 *
 */
