html,
body {
  min-height: 100%;
  margin: 0;
  padding: 0;
}

body {
  color: #dceaf2;
  background: #07131f;
  background-image: linear-gradient(145deg, #07131f 0%, #0b2435 54%, #071925 100%);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.45;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}

a,
button,
input {
  -webkit-tap-highlight-color: transparent;
}

.page-shell {
  width: 92%;
  max-width: 480px;
  margin: 0 auto;
  padding: 20px 0 28px;
}

.topbar {
  display: table;
  width: 100%;
  margin: 0 0 13px;
}

.topbar-brand,
.network-state {
  display: table-cell;
  vertical-align: middle;
}

.topbar-brand .header-logo {
  display: block;
  width: 145px;
  max-width: 100%;
  height: auto;
}

.network-state {
  color: #75e7c1;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: right;
}

.network-state span {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 4px;
  background: #53d9ac;
  border-radius: 50%;
}

.hero-panel,
.access-card,
.service-card,
.partners {
  position: relative;
  overflow: hidden;
  margin: 0 0 13px;
  border: 1px solid #1f4e66;
  border-radius: 10px;
}

.hero-panel {
  padding: 25px 21px 20px;
  background: #0b3044;
  background-image: linear-gradient(135deg, #0b3044 0%, #0d4960 58%, #0c354b 100%);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24);
}

.hero-panel:before,
.hero-panel:after {
  position: absolute;
  content: "";
}

.hero-panel:before {
  top: -52px;
  right: -46px;
  width: 140px;
  height: 140px;
  border: 1px solid rgba(86, 218, 231, 0.24);
  border-radius: 50%;
}

.hero-panel:after {
  top: 22px;
  right: 20px;
  width: 54px;
  height: 54px;
  border-top: 2px solid #43d6df;
  border-right: 2px solid #43d6df;
}

.eyebrow {
  margin: 0 0 4px;
  color: #72dbe2;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 2px;
}

.hero-panel h1 {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #ffffff;
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -1px;
}

.hero-panel h1 span {
  color: #54d9df;
}

.hero-copy {
  position: relative;
  z-index: 1;
  max-width: 330px;
  margin: 8px 0 19px;
  color: #c6e2eb;
  font-size: 13px;
}

.game-strip {
  position: relative;
  z-index: 1;
  overflow: hidden;
  width: 100%;
  padding: 7px 0;
  border-top: 1px solid rgba(79, 208, 218, .24);
  border-bottom: 1px solid rgba(79, 208, 218, .24);
  white-space: nowrap;
}

.game-track {
  display: inline-block;
  font-size: 0;
  white-space: nowrap;
  -webkit-animation: game-slide 26s linear infinite;
  animation: game-slide 26s linear infinite;
}

.game-set {
  display: inline-block;
  padding-right: 8px;
  white-space: nowrap;
}

.game-chip {
  display: inline-block;
  margin-right: 6px;
  padding: 3px 7px 3px 4px;
  color: #d7f0f4;
  background: rgba(3, 19, 29, .38);
  border: 1px solid rgba(94, 215, 223, .22);
  border-radius: 13px;
  font-size: 9px;
  line-height: 20px;
  text-decoration: none;
  vertical-align: middle;
}

.social-chip:active,
.social-chip:focus {
  color: #ffffff;
  background: rgba(49, 176, 190, .34);
  border-color: rgba(150, 244, 248, .7);
}

.game-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 5px;
  overflow: hidden;
  background: #0a2636;
  border-radius: 50%;
  vertical-align: middle;
}

.game-icon img {
  display: block;
  width: 20px;
  height: 20px;
}

@-webkit-keyframes game-slide {
  0% { -webkit-transform: translateX(0); transform: translateX(0); }
  100% { -webkit-transform: translateX(-50%); transform: translateX(-50%); }
}

@keyframes game-slide {
  0% { -webkit-transform: translateX(0); transform: translateX(0); }
  100% { -webkit-transform: translateX(-50%); transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .game-track {
    -webkit-animation: none;
    animation: none;
  }
}

.access-card,
.service-card {
  padding: 19px;
  color: #183346;
  background: #eef5f7;
  border-color: #b8d1da;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

.section-heading {
  width: 100%;
  margin: 0 0 16px;
}

.section-heading > span {
  display: block;
}

.section-heading strong,
.section-heading small {
  display: block;
}

.section-heading strong {
  color: #12384d;
  font-size: 17px;
}

.section-heading small {
  margin-top: 1px;
  color: #607986;
  font-size: 12px;
}

.payment-heading {
  margin-bottom: 13px;
  padding: 11px 12px;
  background: #fff1ed;
  border: 1px solid #efc1ba;
  border-left: 4px solid #d84b3e;
  border-radius: 6px;
  box-sizing: border-box;
  box-shadow: 0 3px 10px rgba(150, 49, 39, .09);
}

.payment-heading strong {
  color: #8f3029;
}

.payment-heading small {
  margin-top: 4px;
  color: #5c3c37;
  font-size: 14px;
  line-height: 1.45;
}

.payment-heading small b {
  color: #087f93;
}

.payment-heading small .payment-va {
  color: #b23931;
}

.voucher-form label {
  display: block;
  margin: 0 0 6px;
  color: #416071;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 1.2px;
}

.input-wrap {
  position: relative;
}

.voucher-form input[type="text"] {
  -webkit-appearance: none;
  display: block;
  width: 100%;
  height: 48px;
  margin: 0 0 10px;
  padding: 0 14px;
  color: #102f41;
  background: #ffffff;
  border: 1px solid #8dbbc7;
  border-radius: 6px;
  outline: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
}

.voucher-form input[type="text"]:focus {
  border-color: #079db9;
  box-shadow: 0 0 0 2px rgba(7, 157, 185, .14);
}

.login-button,
.clear-button {
  -webkit-appearance: none;
  display: block;
  width: 100%;
  min-height: 46px;
  border-radius: 6px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
  cursor: pointer;
}

.login-button {
  position: relative;
  color: #ffffff;
  background: #067eaa;
  background-image: linear-gradient(90deg, #087da6 0%, #08aebc 100%);
  border: 1px solid #067eaa;
  font-size: 14px;
  letter-spacing: .8px;
}

.login-button b {
  position: absolute;
  right: 16px;
  color: #bff7f5;
  font-size: 19px;
  line-height: 18px;
}

.login-button:active,
.login-button:focus {
  background: #066e91;
}

.clear-button {
  min-height: 34px;
  margin-top: 5px;
  color: #58727f;
  background: transparent;
  border: 0;
  font-size: 12px;
}

.error-message,
.client-message {
  margin: 10px 0 0;
  padding: 10px;
  color: #a31515;
  background: #fff0f0;
  border: 1px solid #e4b4b4;
  border-radius: 6px;
  font-weight: bold;
  text-align: center;
}

.client-message.inline-client-message {
  position: static;
  left: auto;
  bottom: auto;
  display: none;
  width: auto;
  margin-top: 10px;
  z-index: auto;
}

.error-title {
  display: block;
  margin-bottom: 3px;
  color: #8f1111;
  font-size: 12px;
}

.client-message {
  position: fixed;
  left: 6%;
  bottom: 12px;
  display: none;
  width: 88%;
  z-index: 10;
  font-size: 12px;
  line-height: 1.35;
}

.error-help {
  display: block;
}

.error-help {
  font-size: 11px;
  line-height: 1.35;
}

.error-raw-source {
  display: none;
}

.error-page-shell {
  padding-top: 42px;
}

.error-page-card {
  text-align: center;
}

.error-page-kicker {
  margin: 0 0 5px;
  color: #079db9;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 1.4px;
}

.error-page-card h1 {
  margin: 0 0 12px;
  color: #153c50;
  font-size: 22px;
  line-height: 1.25;
}

.error-page-card > p:not(.error-page-kicker) {
  color: #58727f;
  font-size: 12px;
}

.error-login-link {
  min-height: 0;
  margin-top: 14px;
  padding: 12px 8px;
  text-align: center;
  text-decoration: none;
}

.micro-note {
  margin: 9px 0 0;
  color: #67808d;
  font-size: 11px;
  text-align: center;
}

.screen-reader-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

.access-card-simple .section-heading {
  margin-bottom: 11px;
}

.access-card-simple .voucher-form {
  margin-top: 0;
}

.access-card-simple .login-button {
  margin-top: 9px;
}

.voucher-help {
  margin: 8px 2px 0;
  color: #647e8b;
  font-size: 10px;
  line-height: 1.35;
  text-align: center;
}

.service-button {
  display: table;
  width: 100%;
  min-height: 72px;
  margin: 0 0 10px;
  color: #153c50;
  background: #ffffff;
  border: 1px solid #bad4dc;
  border-radius: 8px;
  text-decoration: none;
}

.service-button:active,
.service-button:focus {
  background: #e5f5f7;
  border-color: #62b7c6;
}

.service-icon,
.service-copy,
.service-arrow {
  display: table-cell;
  vertical-align: middle;
}

.service-icon {
  width: 55px;
  color: #ffffff;
  background: #0a8eac;
  border-radius: 7px 0 0 7px;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
}

.monthly-button .service-icon {
  background: #176ab0;
}

.ticket-glyph,
.home-glyph {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

.ticket-glyph {
  width: 25px;
  height: 18px;
  background: #ffffff;
  border-radius: 3px;
  box-shadow: none;
}

.ticket-glyph:before,
.ticket-glyph:after {
  position: absolute;
  top: 6px;
  width: 6px;
  height: 6px;
  content: "";
  background: #0a8eac;
  border-radius: 50%;
}

.ticket-glyph:before { left: -4px; }
.ticket-glyph:after { right: -4px; }

.ticket-glyph i {
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 8px;
  border-left: 1px dashed #55bdcd;
}

.ticket-glyph b {
  display: none;
}

.home-glyph {
  width: 30px;
  height: 27px;
}

.home-glyph:before {
  position: absolute;
  top: 0;
  left: 2px;
  width: 0;
  height: 0;
  content: "";
  border-right: 13px solid transparent;
  border-bottom: 11px solid #ffffff;
  border-left: 13px solid transparent;
}

.home-glyph:after {
  position: absolute;
  right: 4px;
  bottom: 0;
  left: 4px;
  height: 16px;
  content: "";
  background: #ffffff;
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(1, 49, 65, .25);
}

.home-glyph i {
  position: absolute;
  right: 8px;
  bottom: 0;
  width: 6px;
  height: 10px;
  z-index: 2;
  background: #176ab0;
  border-radius: 2px 2px 0 0;
}

.home-glyph b {
  position: absolute;
  top: 12px;
  left: 8px;
  width: 5px;
  height: 5px;
  z-index: 2;
  background: #31b6ce;
  border: 2px solid #176ab0;
  border-radius: 50%;
}

.service-copy {
  padding: 11px 9px 11px 12px;
}

.service-copy strong,
.service-copy small {
  display: block;
}

.service-copy strong {
  font-size: 14px;
}

.service-copy small {
  margin-top: 3px;
  color: #657d89;
  font-size: 11px;
}

.service-arrow {
  width: 30px;
  color: #1596aa;
  font-size: 19px;
  text-align: center;
}

.package-heading,
.monthly-package-heading {
  display: table;
  width: 100%;
  margin-bottom: 10px;
}

.package-heading {
  table-layout: fixed;
}

.package-heading > span,
.monthly-package-heading > span {
  display: table-cell;
  vertical-align: middle;
}

.package-heading-icon,
.monthly-home-icon {
  width: 38px;
  height: 38px;
  color: #ffffff;
  background: #0a8eac;
  border-radius: 8px;
  text-align: center;
}

.monthly-home-icon {
  background: #176ab0;
}

.package-heading > .package-heading-copy,
.monthly-package-heading > span:last-child {
  padding-left: 10px;
}

.package-heading strong,
.package-heading small,
.monthly-package-heading strong,
.monthly-package-heading small {
  display: block;
}

.package-heading strong,
.monthly-package-heading strong {
  color: #173e51;
  font-size: 14px;
}

.package-heading small,
.monthly-package-heading small {
  margin-top: 2px;
  color: #687f8a;
  font-size: 11px;
}

.voucher-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  margin: 0 -4px 10px;
}

.voucher-choice {
  position: relative;
  display: block;
  min-width: 0;
  margin: 0 4px;
  padding: 13px 4px 9px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  color: #173e51;
  background: #ffffff;
  border: 1px solid #a9ced7;
  border-radius: 8px;
  box-shadow: 0 3px 8px rgba(6, 74, 93, .08);
  text-align: center;
  text-decoration: none;
}

.voucher-choice:active,
.voucher-choice:focus {
  background: #e7f7f9;
  border-color: #0b9eb6;
}

.voucher-choice span,
.voucher-choice strong,
.voucher-choice small {
  display: block;
}

.voucher-choice span {
  color: #44707f;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: .4px;
}

.voucher-choice strong {
  margin: 5px 0 7px;
  color: #087f9d;
  font-size: 15px;
  white-space: nowrap;
}

.voucher-choice small {
  padding: 5px 2px;
  color: #ffffff;
  background: #0998ad;
  border-radius: 4px;
  font-size: 9px;
  font-weight: bold;
}

.voucher-choice-popular {
  border-color: #e45c4d;
}

.voucher-choice-popular em {
  position: absolute;
  top: -7px;
  right: 7px;
  left: 7px;
  padding: 2px;
  color: #ffffff;
  background: #df4c3f;
  border-radius: 6px;
  font-size: 8px;
  font-style: normal;
  font-weight: bold;
  letter-spacing: .5px;
}

.checkout-trial-note {
  display: table;
  width: 100%;
  margin: 0 0 8px;
  padding: 8px 9px;
  box-sizing: border-box;
  color: #6d4b25;
  background: #fff4df;
  border: 1px solid #e8c98c;
  border-radius: 6px;
  font-size: 10px;
  line-height: 1.3;
}

.checkout-trial-note b,
.checkout-trial-note span {
  display: table-cell;
  vertical-align: middle;
}

.checkout-trial-note b {
  width: 48px;
  color: #a36515;
  font-size: 10px;
}

.checkout-trial-ready {
  color: #17485a;
  background: #c9f6fa;
  background: -webkit-linear-gradient(135deg, #e9feff 0%, #bceff5 100%);
  background: linear-gradient(135deg, #e9feff 0%, #bceff5 100%);
  border-color: #39b9c9;
  box-shadow: 0 0 0 2px rgba(29, 188, 205, .12), 0 4px 12px rgba(5, 133, 151, .18);
}

.checkout-trial-ready b {
  width: 54px;
  padding: 5px 6px;
  color: #ffffff;
  background: #0798ae;
  border-radius: 4px;
  box-sizing: border-box;
  text-align: center;
}

.checkout-trial-ready span {
  padding-left: 9px;
}

.checkout-trial-ready span strong {
  display: block;
  margin-bottom: 2px;
  color: #0a6173;
  font-weight: bold;
}

.all-voucher-link {
  display: block;
  margin: 0 0 14px;
  color: #087f9d;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}

.monthly-package-card {
  padding: 12px;
  background: #ffffff;
  border: 1px solid #bad4dc;
  border-radius: 9px;
  box-shadow: 0 3px 9px rgba(6, 74, 93, .07);
}

.monthly-register-button {
  display: block;
  padding: 10px 11px;
  color: #ffffff;
  background: #176ab0;
  border-radius: 6px;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}

.monthly-register-button b {
  float: right;
  font-size: 15px;
  line-height: 10px;
}

.trial-box {
  display: table;
  width: 100%;
  margin: 0 0 13px;
  padding: 9px;
  color: #255065;
  background: #dceff3;
  border-radius: 6px;
}

.trial-time,
.trial-copy,
.trial-box a {
  display: table-cell;
  vertical-align: middle;
}

.trial-time {
  width: 50px;
  color: #087e9a;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: .4px;
}

.trial-copy {
  padding: 0 7px;
}

.trial-copy strong,
.trial-copy small,
.trial-copy em {
  display: block;
}

.trial-copy strong {
  font-size: 12px;
}

.trial-copy small {
  color: #617a86;
  font-size: 11px;
  line-height: 1.3;
}

.trial-copy em {
  margin-top: 2px;
  color: #6c7f88;
  font-size: 10px;
  font-style: normal;
  line-height: 1.25;
}

.trial-box a {
  width: 76px;
  height: 42px;
  color: #ffffff;
  background: #087f9d;
  border-radius: 4px;
  font-size: 9px;
  font-weight: bold;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
}

.trial-box-unavailable {
  color: #6d4b25;
  background: #fff4df;
  border: 1px solid #e8c98c;
}

.trial-box-unavailable .trial-time {
  color: #a36515;
}

.trial-box-unavailable .trial-copy {
  padding-right: 0;
}

.partners {
  overflow: hidden;
  padding: 13px 10px 11px;
  background: #eef5f7;
  border: 1px solid #b8d1da;
  border-radius: 10px;
  box-shadow: none;
}

.partners p {
  margin: 0 0 10px;
  color: #526f7d;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
}

.partners table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.partners td {
  width: 25%;
  padding: 2px 4px;
  vertical-align: middle;
  text-align: center;
}

.partners img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 35px;
  vertical-align: middle;
  -webkit-filter: none;
  filter: none;
}

.partners .partner-logo-telkominfra {
  max-height: 30px;
}

.partner-glow {
  display: inline-block;
  min-height: 0;
  padding: 3px;
  background: transparent;
  border: 0;
  border-radius: 0;
  vertical-align: middle;
}

.footer {
  padding: 6px 8px 0;
  color: #a9c4d0;
  text-align: center;
}

.web-link {
  display: inline-block;
  margin-bottom: 7px;
  color: #63d7de;
  font-weight: bold;
  text-decoration: none;
}

.footer p {
  margin: 3px 0;
  font-size: 11px;
}

.footer-small {
  color: #6f909e;
  font-size: 9px !important;
}

@media screen and (max-width: 360px) {
  .page-shell {
    width: 94%;
    padding-top: 11px;
  }

  .topbar-brand .header-logo {
    width: 130px;
    height: auto;
  }

  .network-state {
    display: none;
  }

  .hero-panel,
  .access-card,
  .service-card {
    padding: 15px;
  }

  .hero-panel h1 {
    font-size: 31px;
  }

  .service-copy strong {
    font-size: 13px;
  }

  .partners td {
    padding-left: 2px;
    padding-right: 2px;
  }

  .partners img {
    max-width: 100%;
    height: auto;
    max-height: 32px;
  }

  .partners .partner-logo-telkominfra {
    max-height: 27px;
  }
}

@media screen and (max-width: 300px) {
  .trial-box {
    display: block;
    padding: 9px;
  }

  .trial-time,
  .trial-copy,
  .trial-box a {
    display: block;
    width: auto;
    height: auto;
  }

  .trial-time {
    margin-bottom: 4px;
  }

  .trial-copy {
    padding: 0;
  }

  .trial-box a {
    min-height: 38px;
    margin-top: 8px;
    padding: 9px 8px;
    box-sizing: border-box;
  }
}

@media screen and (min-width: 700px) {
  .page-shell {
    padding-top: 32px;
  }
}

/* v10.1.2: keep badges proportional when their descriptions wrap. */
.monthly-package-heading {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}

.monthly-package-heading > .monthly-home-icon {
  display: block;
  -webkit-flex: 0 0 38px;
  flex: 0 0 38px;
  height: 38px;
  padding-top: 5px;
}

.monthly-package-heading > span:last-child {
  display: block;
  min-width: 0;
  -webkit-flex: 1;
  flex: 1;
}

.checkout-trial-note {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}

.checkout-trial-note > b {
  display: block;
  -webkit-flex: 0 0 48px;
  flex: 0 0 48px;
}

.checkout-trial-ready > b {
  -webkit-flex-basis: 54px;
  flex-basis: 54px;
}

.checkout-trial-note > span {
  display: block;
  min-width: 0;
  -webkit-flex: 1;
  flex: 1;
}

.error-message {
  overflow-wrap: break-word;
  word-wrap: break-word;
}
