/* -------------------------------------------------------------------------- */
/* Fonts */

@font-face {
  font-family: 'Open Sans';
  src: url('fonts/static/OpenSans/OpenSans-Regular.ttf');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Open Sans Bold';
  src: url('fonts/static/OpenSans/OpenSans-SemiBold.ttf');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Open Sans Light';
  src: url('fonts/static/OpenSans/OpenSans-Light.ttf');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Open Sans Condensed';
  src: url('fonts/static/OpenSans_Condensed/OpenSans_Condensed-Regular.ttf');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Open Sans Condensed Bold';
  src: url('fonts/static/OpenSans_Condensed/OpenSans_Condensed-SemiBold.ttf');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Open Sans Condensed Light';
  src: url('fonts/static/OpenSans_Condensed/OpenSans_Condensed-Light.ttf');
  font-weight: normal;
  font-style: normal;
}

/* -------------------------------------------------------------------------- */
/* Main */

body {
  background-color: #d6d6d6;
  font-family: 'Open Sans Light';
}

#pay_container {
  background-color: #f2f2f2;
  margin: 10px auto;
  width: 100%;
  max-width: 380px;
  min-height: 400px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 2px 2px 7px rgba(0,0,0,0.2);
  position: relative;
}

#header_container {
  margin: 10px auto;
  width: 100%;
  max-width: 380px;
  position: relative;
  text-align: center;
}
#header_container img {
  width: 100px;
  max-width: 100%;
}

@media screen and (max-width: 64.063em) {
  #pay_container {
    margin: 0 auto;
  }
}

/* -------------------------------------------------------------------------- */
/* Header */

.header {
  background-color: #333333;
  background-color: #2DC1E4;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 1600 800'%3E%3Cg fill-opacity='0.48'%3E%3Cpath fill='%231fb6d9' d='M486 705.8c-109.3-21.8-223.4-32.2-335.3-19.4C99.5 692.1 49 703 0 719.8V800h843.8c-115.9-33.2-230.8-68.1-347.6-92.2C492.8 707.1 489.4 706.5 486 705.8z'/%3E%3Cpath fill='%231ea2c1' d='M1600 0H0v719.8c49-16.8 99.5-27.8 150.7-33.5c111.9-12.7 226-2.4 335.3 19.4c3.4 0.7 6.8 1.4 10.2 2c116.8 24 231.7 59 347.6 92.2H1600V0z'/%3E%3Cpath fill='%231d8faa' d='M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z'/%3E%3Cpath fill='%231b7c93' d='M0 0v429.4c55.6-18.4 113.5-27.3 171.4-27.7c102.8-0.8 203.2 22.7 299.3 54.5c3 1 5.9 2 8.9 3c183.6 62 365.7 146.1 562.4 192.1c186.7 43.7 376.3 34.4 557.9-12.6V0H0z'/%3E%3Cpath fill='%2319697C' d='M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z'/%3E%3Cpath fill='%23215d6b' d='M1600 0H0v136.3c62.3-20.9 127.7-27.5 192.2-19.2c93.6 12.1 180.5 47.7 263.3 89.6c2.6 1.3 5.1 2.6 7.7 3.9c158.4 81.1 319.7 170.9 500.3 223.2c210.5 61 430.8 49 636.6-16.6V0z'/%3E%3Cpath fill='%2327515b' d='M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z'/%3E%3Cpath fill='%232c464c' d='M1600 0H498c118.1 85.8 243.5 164.5 386.8 216.2c191.8 69.2 400 74.7 595 21.1c40.8-11.2 81.1-25.2 120.3-41.7V0z'/%3E%3Cpath fill='%23303c3f' d='M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z'/%3E%3Cpath fill='%23333333' d='M1315.3 72.4c75.3-12.6 148.9-37.1 216.8-72.4h-723C966.8 71 1144.7 101 1315.3 72.4z'/%3E%3C/g%3E%3C/svg%3E");
  background-size: cover;
  background-size: 200%;
  background-position: left center;
  color: #fff;
  font-size: 1.8rem;
  padding: 35px 25px 60px 35px;
  font-family: 'Open Sans Bold';
  line-height: 1.1;
}

.header h1 {
  margin: 0;
  padding: 0;
  font-size: 1.8rem;
  font-family: 'Open Sans Bold';
  font-weight: normal;
}


/* -------------------------------------------------------------------------- */
/* Test banner */

.banner {
  background: rgba(198, 56, 0, 0.8);
  color: #fff;
  padding: 10px 0;
  position: absolute;
  top: -38px;
  right: -87px;
  transform: rotate(24deg);
  width: 276px;
  text-align: center;
  transform-origin: 0 0;
  font-weight: bold;
  text-transform: uppercase;
  font-family: Arial;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

/* -------------------------------------------------------------------------- */
/* Content */

.content {
  background-color: #fff;
  border-radius: 7px;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
  margin: -35px 25px 25px;
  padding: 15px;
  font-size: 1.6rem;
}

#paycontent {
  transition: all 0.8s;
  min-height: 50px;
}

#paycontent.init {
  min-height: 250px;
}

.content dl, .content dd, .content dt {
  margin: 0;
  padding: 0;
}

.content dl {
  display: grid;
  margin: 0 -7px;
  grid-template-columns: 60% 40%;
}

.content dd, .content dt {
  display: block;
  padding: 7px;
  vertical-align: middle;
  align-self: center;
}

.content dd.last, .content dt.last {
  border-style: none;
}

.content dt, .content label {
  font-family: 'Open Sans';
  font-size: 1.1rem;
  color: #666;
}

.content dd {
  font-family: 'Open Sans Bold';
  text-align: right;
  font-size: 1.5rem;
}



.content.ask dl {
  grid-template-columns: 100%;
}
.content.ask dt,
.content.ask dd {
  text-align: center;
}

/* -------------------------------------------------------------------------- */
/* Input for custom pay */

#payamount input {
  display: block;
  margin: 10px auto 0;
  width: 150px;
  padding: 7px;
  font-size: 1.5rem;
  text-align: center;
  border: solid 2px #2DC1E4;
  border-radius: 4px;
  background-color: #f8f8f8;
  box-shadow: inset 1px 1px 3px rgba(0,0,0,0.2);
  outline: none;
}

#payamount input.error {
  border-color: #f44336;
  outline: none;
}

#custom_amount_error {
  color: #f44336;
  padding: 5px;
}

#payamount {
  text-align: center;
  max-width: 260px;
  margin: 0 auto;
}

#btn_partial_pay + cite {
  display: block;
  margin-top: -15px;
}

#payamount input::placeholder {
  color: rgba(100,100,100,0.7);
}

#payamount input:focus::placeholder {
  color: rgba(100,100,100,0.15);
}

/* -------------------------------------------------------------------------- */
/* Waiting message */

.message {
  font-family: 'Open Sans';
  font-size: 1rem;
  padding: 25px 10px;
  text-align: center;
  color: #555;
}
.message.alert,
.message .alert {
  font-weight: bold;
  color: #f44336;
}

#message_return.msg_ok {
  color: #2DC1E4;
}
#message_return.msg_alert {
  color: #f44336;
}
.message + #payaction {
  padding-top: 0;
  margin-top: 0;
}

#btn_ask_backhome {
  margin-top: 0;
}


/* -------------------------------------------------------------------------- */
/* Main action button */

#payaction {
  transition: opacity 0.6s;
}

#payaction.disable {
  opacity: 0.25;
}

#payaction.disable a {
  background-color: #999;
}

/* -------------------------------------------------------------------------- */
/* Pay button */

.pay_button {
  font-size: 0.9rem;
  font-family: 'Open Sans Light' !important;
  padding: 10px 20px !important;
}
.pay_button strong {
  font-family: 'Open Sans Bold';
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: normal;
}

/* -------------------------------------------------------------------------- */
/* Secure text */

.secure_pay {
  font-style: italic;
  font-size: 0.9rem;
  text-align: center;
  margin: 25px 0;
}

.secure_pay img {
  vertical-align: middle;
}

/* -------------------------------------------------------------------------- */
/* Error container */

#payerror {
  padding: 75px 25px;
  text-align: center;
  font-size: 0.8rem;
}

#error_msg {
  font-size: 1.2rem;
}

/* -------------------------------------------------------------------------- */
/* Loader */

.container_loader {
  height: 150px;
  padding: 25px;
  text-align: center;
  font-style: italic;
  font-size: 0.8rem;
}

.container_loader.star_app {
  padding-top: 40%;
}

.loader,
.loader:before,
.loader:after {
  background: rgba(100,100,100,0.3);
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}

.loader {
  color: rgba(100,100,100,0.3);
  text-indent: -9999em;
  margin: 55px auto 55px;
  position: relative;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

.loader:before,
.loader:after {
  position: absolute;
  top: 0;
  content: '';
}

.loader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.loader:after {
  left: 1.5em;
}

@-webkit-keyframes load1 {  0%,  80%,  100% {    box-shadow: 0 0;    height: 4em;  }  40% {    box-shadow: 0 -2em;    height: 5em;  } }
@keyframes load1 { 0%, 80%, 100% {   box-shadow: 0 0;   height: 4em; } 40% {   box-shadow: 0 -2em;   height: 5em; } }

#countdownRefresh {
  width: 0%;
  height: 5px;
  margin-top: 25px;
  overflow: hidden;
  background-color: #00c3ff;
  border-radius: 5px;
  transition: width 0.2s;
  position: fixed;
  bottom: 0;
  left: 0;
}

/* -------------------------------------------------------------------------- */
/* Loader v2 Spining (from https://loading.io/css/) */

.lds-ring {
  display: block;
  position: relative;
  width: 80px;
  height: 80px;
  margin: 20px auto 0;
}
.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 64px;
  height: 64px;
  margin: 8px;
  border: 8px solid #999;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #999 transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


/* -------------------------------------------------------------------------- */
/* Footer */

.footer {
  /*
  position: absolute;
  bottom: 0;
  left: 10%;
  width: 80%;*/
  margin: 25px 25px 0;
}

.footer a {
  position: relative;
  display: block;
  color: #fff;
  background-color: #2DC1E4;
  margin: 25px 0;
  padding: 15px 30px;
  text-align: center;
  font-family: 'Open Sans Bold';
  border-radius: 4px;
  text-decoration: none;
  box-shadow: 4px 4px 7px rgba(0,0,0,0.2);
  box-sizing: border-box;
  transition: background 0.5s, box-shadow 0.5s, border-radius 0.5s;
}

.footer a:hover {
  background-color: #333;
  border-radius: 35px;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
}

a.back_home {
  cursor: pointer;
}

.footer a.btn_link {
  background: none;
  text-decoration: underline;
  color: #2DC1E4;
  box-shadow: none;
}

.footer a.btn_link:hover {
  background-color: #555;
}

#btn_ask_cancel {
  margin-top: 0;
}

/* -------------------------------------------------------------------------- */
/* Media query for small screen */

@media screen and (max-width: 390px) {

  body {
    background-color: #f2f2f2;
  }

  #pay_container {
    border-radius: 0;
    box-shadow: none;
    max-width: 100%;
  }
}

@media screen and ((max-width: 390px) or (max-height: 580px)) {

  body {
    padding: 0;
    margin: 0;
  }

  #header_container {
    margin: 0 auto;
  }

  #header_container img {
    width: 70px;
  }

  /*#pay_container {
    border-radius: 0;
  }*/

  .header {
    padding: 25px 15px 50px 35px;
  }

  .header h1 {
    font-size: 1.4rem;
  }

  .content {
    padding: 10px;
  }

  .content dd, .content dt {
    padding: 5px;
  }

  .content dt {
    font-size: 1rem;;
  }
  .content dd {
    font-size: 1.3rem;
  }

  .message {
    font-size: 0.9rem;
    padding: 0 25px 25px;
  }


.lds-ring {
  width:  60px;
  height: 60px;
}
.lds-ring div {

  width:  44px;
  height: 44px;

}
}