html {
  height: 100%;
  width: 100%;
}

body {
  overflow: hidden;
  background: whitesmoke;
  margin: 0;
  height: 100%;
  width: 100%;
  display: flex;
  font-family: 'Open Sans', sans-serif;
}

button:focus {
  outline: none;
}

 /* TODO webkit user selelctor
    TODO Use display: none. */
#iphone-wrapper {
  user-select: none;
  position: absolute;
  display: none;
}

#app {
  user-select: none;
  overflow: hidden;
  position: relative;
  height: 100%;
  width: 100%;
  background: linear-gradient(to top, #F4F7FB , #FFFFFF);
  margin: auto;
  display: flex;
  flex-direction: column;
}

#main-view {
  position: relative;
  height: 100%;
  width: 100%;
}

#top-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 9%;
  margin-left: 2.5%;
  margin-right: 2.5%;
  transition: all 250ms;
}

.top-nav-item {
  text-align: center;
  vertical-align: middle;
}

#shadow-profile {
  height: 79%;
}

#profile {
  position: absolute;
  top: 9%;
  height: 79%;
  width: 95%;
  margin-left: 2.5%;
  margin-right: 2.5%;
  transition: all 250ms;
  will-change: margin;
}

.profile-card {
  position: absolute; /* For Draggable */
  overflow: auto; /* For scrollable card when open */
  margin: auto;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  border-radius: 20px;
  box-shadow: 0 4px 20px #C5C5C5;
  will-change: boxshadow, border-radius;
}

.profile-pic {
  height: 100%;
  width: 100%;
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  justify-content: flex-end;
  background-size: cover;
  background-position: center;
  color: #ffffff;
  will-change: height, width, border-radius;
}

.stamp {
  opacity: 0;
  position: absolute;
  top: 0;
  border: .1em solid #4AD387;
  border-radius: .1em;
  text-align: center;
  font-size: 2.25em;
  font-weight: bold;
  color: #4AD387;
  padding: 0 .2em;
  transform: rotate(-20deg) scale(1.3, 1) translate(.4em, 1em);
}

.profile-control-group {
  position: absolute;
  top: 0;
  width: 90%;
  margin: 5%;
  display: flex;
  justify-content: space-between;
}

.profile-caption h1 {
  margin: 0;
  font-size: 1.75em;
}

.profile-caption h2 {
  margin: 0;
  font-size: 1.25em;
  font-weight: lighter;
}

.profile-caption {
  background: linear-gradient(to top, rgba(35,35,35,.65), rgba(0,0,0,0));
  padding: 5.5%;
}

.profile-content {
  flex: 1;
  background: white;
  transition: all 50ms;
  padding: 5% 0 5% 0;
}

.profile-content-item {
  flex: 1;
  background: white;
  transition: all 50ms;
  padding: 0 5% 0 5%;
}

.profile-content h1 {
  font-size: 1.5em;
  color: #424242;
  margin: 0;
  margin-bottom: .25em;
}

.profile-content h2 {
  font-size: 0.85em;
  font-weight: normal;
  margin: 0;
}

.profile-content p {
  font-size: 0.85em;
  font-weight: normal;
  color: #7C7C7C;
  margin: 0;
}

.profile-basic-info-item {
  color: #7C7C7C;
  display: flex;
}

.profile-icon {
  width: 1.5em;
}

.profile-bullets {
  color: #7C7C7C;
  -webkit-padding-start: 1.25em;
}

.profile-bullets li {
  padding: .125em 0;
}

#bot-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 12%;
  margin-left: 5%;
  margin-right: 5%;
}

.bot-nav-item {
  background-color: #FFFFFF;
  box-shadow: 0 0px 24px #EEEEEE;
  border: none;
}

.bot-nav-item:nth-child(even){
}

.bot-nav-item:visited {
  background-color: #FFFFFF;
}

.bot-nav-item:active {
  transition: scale 500ms ease-in;
  transform: scale(.8);
  background-color: #FFFFFF;
  border: none;
}

#match-notice {
  transition: all 200ms;
  position: absolute;
  text-align: center;
  width: 100%;
  height: 100%;
  background-color: rgba(60, 60, 60, 0.875);
  color: white;
  z-index: 1;
}

#match-notice h1 {
  font-family: 'Henny Penny', cursive;
  font-size: 3em;
  padding-top: 20%;
  margin: 0;
  transform: scale(1, 1.25);
}

#match-notice p {
  font-family: 'Roboto';
  font-size: 1em;
  font-weight: 100;
  margin: 0;
  padding: 1em;
}

.match-info {
  height: 62.5%;
}


.match-button-group {
  height: 37.5%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.avatar {
  width: 7em;
  height: 7em;
  border: 2px solid white;
  border-radius: 7em;
  background-position: center;
  background-size: cover;
}

#match-notice .my-button {
  color: inherit;
  font-family: 'Roboto';
  font-size: 1em;
  font-weight: 100;
  border: 1px solid white;
  border-radius: 5px;
  line-height: 2.75em;
  background: none;
  margin: 2.5%;
  width: 75%;
}

#match-notice .my-button:active {
  background: white;
  opacity: .7;
  color: black;
}

#match-notice .my-button:hover {
  opacity: .7;
}

#match-notice .my-button i {
  font-size: 1.5em;
  margin-right: .1em;
  vertical-align: text-bottom;
}

/* Animation for Match Notice */
.hide-match {
  visibility: hidden;
  opacity: 0;
}


/* Display and Typography Helpers */
.font-normal {
  font-weight: normal;
}

.font-lighter {
  font-weight: lighter;
}

.divider-full {
  margin: 1em 0 1em 0;
  border-top: 1px solid #EEEEEE;
}

.blur {
  filter: blur(20px);
}

.hidden {
  visibility: hidden;
}

.visible {
  visibility: visible;
}

.center {
  margin-left: auto;
  margin-right: auto;
}
