/* Blocker Screen */
.landscape:before {
  content: "Please flip your Device";
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  z-index: 30000;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  color: #fff;
  text-align: center;
  font: normal 30px/260px 'Luckiest Guy', sans-serif;
  text-shadow: 0 3px 10px #000;
}
.landscape.ipad:before {
  display: none;
}
/* Message used for Intro, Goal Story */
.screens {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.message {
  background: url(../images/popup/scroll.png) no-repeat center;
  min-height: 346px;
  text-align: center;
  margin-top: 30px;
}
.message p {
  margin: 0 auto;
  padding: 60px 40px 30px 0;
  width: 200px;
  min-height: 200px;
  font: normal 28px/36px 'Bubblegum Sans', sans-serif;
  color: #6e1700;
}
.message p:first-letter {
  color: red;
}
.message button {
  margin-right: 40px;
  margin-bottom: 40px;
}
/* Pages, used for Shop/Level-Up/Castle Upgrade */
.page {
  position: absolute;
  z-index: 10000;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: url("../images/popup/wood-rough.png") top center;
  -webkit-border-image: url("../images/popup/bar.png") 8 0 8 0 repeat;
  -moz-border-image: url("../images/popup/bar.png") 8 0 8 0 repeat;
  border-top-width: 8px;
  border-right-width: 0px;
  border-bottom-width: 8px;
  border-left-width: 0px;
  color: #fff;
}
.page .head {
  background: url("../images/popup/h1.png") no-repeat;
  width: 261px;
  height: 54px;
  margin: 7px auto 5px;
  position: relative;
  left: -23px;
  /* to compensate for cancel button */
}
.page .head h1 {
  width: 221px;
  margin-right: 15px;
  position: absolute;
  right: 5px;
  font: 24px/54px 'Luckiest Guy', sans-serif;
  text-align: center;
  text-transform: capitalize;
}
.page .head button.cancel {
  position: absolute;
  left: 100%;
  top: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0;
  border: 0;
  padding: 0;
  width: 46px;
  height: 46px;
  background: url("../images/popup/close_button.png") no-repeat 0 0;
  background-size: auto 100%;
}
.page .head button.cancel:active {
  background-position: -46px 0;
}
.page .level {
  width: 125px;
  height: 256px;
  position: absolute;
  font: normal 50px/117px 'Luckiest Guy', sans-serif;
  text-align: center;
  text-shadow: 0 0 10px #fff;
  color: #39a3ef;
  text-indent: 10px;
  margin: -20px 0 0 6px;
}
.page .description {
  font: normal 16px/17px 'Bubblegum Sans', sans-serif;
  margin: 0 16px;
}
.page h2 {
  width: 157px;
  height: 36px;
  font: normal 18px/36px 'Luckiest Guy', sans-serif;
  background: url("../images/popup/h2.png") no-repeat;
  margin: 0 auto -10px;
  padding: 0;
  text-align: center;
}
#level-up .embossed,
.rewards .embossed {
  z-index: -1;
  position: relative;
}
.page .rewards,
.page .unlocked {
  margin: 0 16px 10px;
  text-align: center;
}
#level-up .rewards,
#level-up .unlocked {
  margin-left: 135px;
}
.page .rewards .embossed,
.page .unlocked .embossed {
  height: 44px;
}
.page .embossed.share {
  margin: 0px 16px 0 16px!important;
  top: 7px;
  height: 50px;
  z-index: 10000;
}
.page .checkout {
  position: absolute;
  bottom: 0;
  left: 50px;
  right: 50px;
  /* IMPORTANT: Fix for doubletap-bug */
  text-align: center;
  padding: 6px 16px;
}
/* Buttons */
.button,
button.invite,
button.askFriends,
button.ok {
  background: #82a207 url(../images/popup/button_texture.png) repeat-x center;
  border-radius: 6px;
  border: 1px solid #77910f;
  font: bold 18px/16px 'Luckiest Guy', sans-serif;
  color: #fff;
  text-align: center;
  -webkit-box-shadow: 0 2px 5px rgba(255, 255, 255, 0.6) inset, 0 2px 2px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: 0 2px 5px rgba(255, 255, 255, 0.6) inset, 0 2px 2px rgba(0, 0, 0, 0.6);
  text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.6);
  padding: 6px 15px 3px 15px;
}
.button,
button.askFriends,
button.ok {
  padding: 12px 25px 10px 25px;
}
.button:active,
button.invite:active,
button.askFriends:active,
button.ok:active {
  -webkit-box-shadow: 0 0px 5px rgba(255, 255, 255, 0.6) inset, 0 1px 1px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 0px 5px rgba(255, 255, 255, 0.6) inset, 0 1px 1px rgba(0, 0, 0, 0.3);
  text-shadow: 0 0 10px #ff0;
}
.button.invite,
button.invite,
.button.askFriends,
button.askFriends {
  background-color: #31A5DD;
  border-color: #096DA2;
}
.button.deny,
button.deny {
  background-color: #ffa300;
  border-color: #af7000;
  padding: 6px 5px 3px 5px;
}
/* Panels, used for Shop Items */
.panel {
  display: block;
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding-box;
  color: #543001;
  border-radius: 9px;
  border: 1px solid #B46A2E;
  margin: 2px 16px 0;
  background: #FDF7E1 url(../images/popup/pergament.png) center;
}
.embossed {
  font-family: 'Bubblegum Sans', sans-serif;
  font-size: 16px;
  border: 1px solid orange;
  border-radius: 6px;
  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.3) inset;
  -moz-box-shadow: 0 0 4px rgba(0, 0, 0, 0.3) inset;
  padding: 9px 5px 12px 5px;
  text-align: center;
  background: #fffffe;
  color: #6e1700;
}
#requests .panel .image {
  width: 50px;
  height: 50px;
  margin: 8px;
  border: 2px solid #85511e;
  border-radius: 6px;
  float: left;
  margin-right: 10px;
  background: #76cffa url(../images/popup/unknown.png) no-repeat center;
  background-size: 100%;
  position: relative;
  overflow: hidden;
}
#requests .panel .image + .specification {
  padding: 8px 10px 10px 70px;
  text-align: center;
}
#requests .panel .specification button {
  margin: -25px 2px 2px;
}
p.tiny {
  font: normal 15px/13px 'Bubblegum Sans';
  color: #98634b;
  margin-bottom: 5px;
}
p.tiny strong {
  color: #6e1700;
}
@media all and (-webkit-min-device-pixel-ratio: 2) {
  .landscape:before {
    font: normal 60px/520px 'Luckiest Guy', sans-serif;
  }
  .message {
    background: url(../images/popup/scroll.png) no-repeat center;
    min-height: 692px;
    margin-top: 60px;
  }
  .message p {
    padding: 120px 80px 60px 0;
    width: 400px;
    min-height: 400px;
    font: normal 56px/72px 'Bubblegum Sans', sans-serif;
  }
  .message p:first-letter {
    color: red;
  }
  .message button {
    margin-right: 80px;
    margin-bottom: 80px;
  }
  .button,
  button.invite,
  button.askFriends,
  button.ok {
    background-image: url(../images/popup/button_texture.png);
    border-radius: 12px;
    border-width: 2px;
    font: bold 36px/32px 'Luckiest Guy', sans-serif;
    -webkit-box-shadow: 0 4px 10px rgba(255, 255, 255, 0.6) inset, 0 4px 4px rgba(0, 0, 0, 0.6);
    -moz-box-shadow: 0 4px 10px rgba(255, 255, 255, 0.6) inset, 0 4px 4px rgba(0, 0, 0, 0.6);
    text-shadow: 0 -2px 2px rgba(0, 0, 0, 0.6);
    padding: 12px 30px 6px 30px;
  }
  .button,
  button.askFriends,
  button.ok {
    padding: 24px 45px 15px 45px;
  }
  .button:active,
  button.invite:active,
  button.askFriends:active,
  button.ok:active {
    -webkit-box-shadow: 0 0px 5px rgba(255, 255, 255, 0.6) inset, 0 1px 1px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 0px 5px rgba(255, 255, 255, 0.6) inset, 0 1px 1px rgba(0, 0, 0, 0.3);
    text-shadow: 0 0 20px #ff0;
  }
  .button.deny,
  button.deny {
    padding: 12px 10px 6px 10px;
  }
  .panel {
    margin: 4px 32px 0;
    border-radius: 18px;
    background: #FDF7E1 url(../images/popup/pergament.png) center;
    border: 2px solid #B46A2E;
  }
  .embossed {
    border-width: 2px;
    border-radius: 12px;
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.3) inset;
    -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.3) inset;
    padding: 18px 10px 24px 10px;
    font-size: 32px;
  }
  /* Pages, used for Shop/Level-Up/Castle Upgrade */
  .page {
    -webkit-border-image: url("../images/popup/bar.png") 16 0 16 0 repeat;
    -moz-border-image: url("../images/popup/bar.png") 16 0 16 0 repeat;
    border-top-width: 16px;
    border-right-width: 0px;
    border-bottom-width: 16px;
    border-left-width: 0px;
  }
  .page .head {
    background: url("../images/popup/h1.png") no-repeat;
    width: 522px;
    height: 108px;
    margin: 14px auto 10px;
    left: -46px;
    /* to compensate for cancel button */
  }
  .page .head h1 {
    width: 442px;
    margin-right: 30px;
    right: 10px;
    font: 48px/108px 'Luckiest Guy', sans-serif;
  }
  .page .head button.cancel {
    left: 100%;
    top: -4px;
    width: 92px;
    height: 92px;
    background: url("../images/popup/close_button.png") no-repeat 0 0;
  }
  .page .head button.cancel:active {
    background-position: -92px 0;
  }
  .page .level {
    width: 250px;
    height: 512px;
    font: normal 100px/234px 'Luckiest Guy', sans-serif;
    text-shadow: 0 0 20px #fff;
    text-indent: 20px;
    margin: -40px 0 0 12px;
  }
  .page .description {
    font: normal 32px/34px 'Bubblegum Sans', sans-serif;
    margin: 0 20px;
  }
  .page h2 {
    width: 314px;
    height: 72px;
    font: normal 36px/72px 'Luckiest Guy', sans-serif;
    background: url("../images/popup/h2.png") no-repeat;
    margin: 0 auto -20px;
  }
  .page .rewards,
  .page .unlocked {
    margin: 0 32px 20px;
  }
  #level-up .rewards,
  #level-up .unlocked {
    margin-left: 270px;
  }
  .page .rewards .embossed,
  .page .unlocked .embossed {
    height: 88px;
  }
  .page .embossed.share {
    margin: 0px 32px 0 32px!important;
    top: 14px;
    height: 100px;
    font-size: 32px;
  }
  .page .checkout {
    padding: 12px 32px;
  }
  #requests .panel .image {
    width: 100px;
    height: 100px;
    margin: 16px;
    border-width: 4px;
    border-radius: 12px;
    margin-right: 20px;
    background-image: url(../images/popup/unknown.png);
  }
  #requests .panel .image img {
    width: 100px;
    height: 100px;
  }
  #requests .panel .image + .specification {
    padding: 16px 20px 20px 140px;
  }
  #requests .panel .specification button {
    margin: -50px 4px 4px;
  }
  p.tiny {
    font: normal 30px/25px 'Bubblegum Sans';
    margin-bottom: 10px;
  }
}
#shop div.head div.gold,
#castle-complete div.head div.gold {
  position: absolute;
  top: 18px;
  left: 25px;
  padding: 0 0 5px 40px;
  font: normal 28px/38px 'Bubblegum Sans', sans-serif;
  text-shadow: 0 1px 1px #000;
  background: url(../images/status/coins-small.png) no-repeat 0 center;
}
#shop .goldCost i,
#castle-complete .purchaseItem i {
  display: inline-block;
  width: 36px;
  height: 38px;
  margin: 0 6px 0 0;
  vertical-align: middle;
  background: url(../images/status/coins-small.png) no-repeat 0 center;
}
figure.unlockable-dom-node {
  position: absolute;
  margin: 0;
  pointer-events: none;
  opacity: 1;
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -ms-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
figure.unlockable-dom-node.unlocked {
  -webkit-animation-name: fadeout-unlockable;
  -webkit-animation-duration: 0.4s;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-name: fadeout-unlockable;
  -moz-animation-duration: 0.4s;
  -moz-animation-fill-mode: forwards;
}
figure.unlockable-dom-node header {
  font-family: 'Luckiest Guy', sans-serif;
  text-align: left;
  color: #813b26;
  position: absolute;
  background: url(../images/entities/unlock/sign.png) top left no-repeat;
  box-sizing: border-box;
  left: 50%;
  top: 50%;
  margin-left: -277px;
  margin-top: -120px;
  width: 554px;
  height: 201px;
  padding: 60px 0 0 120px;
}
figure.unlockable-dom-node h1 {
  font-family: 'Luckiest Guy', sans-serif;
  font-size: 34px;
  line-height: 65px;
  font-weight: normal;
}
figure.unlockable-dom-node h1:before {
  content: attr(data-zone-number);
  font-size: 72px;
  line-height: 110px;
  height: 110px;
  width: 110px;
  position: absolute;
  left: 6px;
  text-align: center;
}
figure.unlockable-dom-node header div {
  font-size: 28px;
  margin: 0;
  width: auto;
  height: auto;
  display: block;
}
figure.unlockable-dom-node[data-zone-number="2"] header,
figure.unlockable-dom-node[data-zone-number="5"] header {
  margin-top: -60px;
}
.notification {
  pointer-events: none;
  position: absolute;
  z-index: 6001;
  top: 120px;
  right: 10px;
  background: url(../images/popup/parrot-notif.png) no-repeat center;
  background-size: 470px 220px;
  font: normal 28px/28px 'Bubblegum Sans';
  padding: 80px 55px 0 140px;
  width: 280px;
  height: 130px;
  visibility: hidden;
}
.notification.ready {
  -webkit-transition: -webkit-transform 0.6s 0.3s ease-out;
  -moz-transition: -moz-transform 0.6s 0.3s ease-out;
}
.notification.read {
  -webkit-transition-delay: 3.5s;
  -moz-transition-delay: 3.5s;
}
.popup.grab-attention .cancel,
.grab-attention #castle-complete .cancel,
#shop.grab-attention .cancel,
.goals.grab-attention .cancel {
  -webkit-animation-name: pulse;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-duration: 0.2s;
  -webkit-animation-direction: alternate;
  -webkit-animation-timing-function: ease;
  -webkit-transition: -webkit-transform 0.4s ease-out;
  -moz-animation-name: pulse;
  -moz-animation-iteration-count: infinite;
  -moz-animation-duration: 0.2s;
  -moz-animation-direction: alternate;
  -moz-animation-timing-function: ease;
  -moz-transition: -moz-transform 0.4s ease-out;
}
