@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,700,600);

/* Don't let the lead text change font-size. */
.lead {
  font-size: 16px;
}

.page-header .lead {
  margin-bottom: 10px;
}

.container .navbar-header,
.container .navbar-collapse {
  margin-right: 0;
  margin-left: 0;
}

/* Always float the navbar header */
.navbar-header {
  float: left;
}

/* Undo the collapsing navbar */
.navbar-collapse {
  display: block !important;
  height: auto !important;
  padding-bottom: 0;
  overflow: visible !important;
}

.navbar-toggle {
  display: none;
}

.navbar-collapse {
  border-top: 0;
}

.navbar-brand {
  margin-left: -15px;
}

/* Always apply the floated nav */
.navbar-nav {
  float: left;
  margin: 0;
}

.navbar-nav > li {
  float: left;
}

.navbar-nav > li > a {
  padding: 15px;
}

/* Redeclare since we override the float above */
.navbar-nav.navbar-right {
  float: right;
}

/* Undo custom dropdowns */
.navbar .navbar-nav .open .dropdown-menu {
  position: absolute;
  float: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-width: 0 1px 1px;
  border-radius: 0 0 4px 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}

.navbar-default .navbar-nav .open .dropdown-menu > li > a {
  color: #333;
}

.navbar .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar .navbar-nav .open .dropdown-menu > li > a:focus,
.navbar .navbar-nav .open .dropdown-menu > .active > a,
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
  color: #fff !important;
  background-color: #09a1e7 !important;
}

.navbar .navbar-nav .open .dropdown-menu > .disabled > a,
.navbar .navbar-nav .open .dropdown-menu > .disabled > a:hover,
.navbar .navbar-nav .open .dropdown-menu > .disabled > a:focus {
  color: #999 !important;
  background-color: transparent !important;
}

.navbar-brand.client-logo.navbar-font,
.navbar-brand.navbar-font {
  color: #fff;
  font-weight: bold;
}

.navbar-brand.client-logo.navbar-font:hover,
.navbar-brand.navbar-font:hover {
  color: #999999;
}

body {
  background-color: #efefef;
  font-family: 'Open Sans', Arial, sans-serif;
  color: #4d4c4c;
}

body, table {
  font-size: 13px;
}

a, a:link {
  color: #09a1e7;
}

/* Bootstrap overrides */

.panel {
  border: none;
}

.panel .panel-heading-table {
  background: #fff;
  padding: 10px 0;
  font-weight: 600;
  font-size: 1.076em;
  border-bottom: 1px dotted #ddd;
}

.panel.mid-box .panel-body {
  padding: 0 30px 30px;
}

.dropdown-menu > li > a {
  font-size: 13px;
}

.table > thead > tr > th, .table > thead > tr > td,
.table > tbody > tr > th, .table > tbody > tr > td,
.table > tfoot > tr > th, .table > tfoot > tr > td {
  padding: 15px 10px;
  border-top-color: #e8e7ea;
  color: #4d4c4c;
}

.table > thead > tr > th, .table > thead > tr > td {
  padding: 15px 10px 10px;
  font-weight: 400;
  border-bottom-width: 1px;
  font-size: 12px;
}

.table-striped > tbody > tr:nth-child(odd) > td,
.table-striped > tbody > tr:nth-child(odd) > th {
  background: #f8f8f9;
}

.navbar {
  -webkit-box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.5);
  border-radius: 0;
  border: 0;
}

.navbar-brand.client-logo {
  padding-top: 5px;
  padding-bottom: 5px;
}

.navbar-brand.client-logo img {
  max-height: 40px;
  max-width: 350px;
}

.btn.btn-default {
  background: #b3b9c2;
  color: #fff;
  border-radius: 5px;
}

.btn.btn-default:hover {
  background: #9ba2ac;
  color: #fff;
}

.btn.btn-default.btn-xs {
  padding: 3px 10px;
  border: 0;
}

.btn-primary {
  background-color: #09a1e7;
  border: 0;
}

.btn-primary:hover {
  background-color: #0890ce;
}

.modal .modal-dialog{
  margin: 60px auto 0;
}
.modal-backdrop {
  background: #ccc;
}

.modal-backdrop.in {
  opacity: 0.8;
}

.loading-title {
  text-align: center;
  font: 300 1.9375em/1 'Open Sans', sans-serif;
  margin: 20px 0;
}

.modal-body img{
  display: block;
  margin: 0 auto;
}

.modal-field {
  width: 382px;
  height: 42px;
  border: 1px solid #dbdbdb;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  background-color: #fff;
  padding: 10px;
}

.divider-line {
  border-top: 1px solid #e5e5e5;
  height: 0;
  width: 100%;
  margin: 20px 0;
}

.divider-line.register {
  margin: 30px 0;
}

.modal-md {
  width: 486px;
}

.panel.mid-box {
  margin-top: 100px;
  background: url(../images/box-bg.png);
  text-align: center;
  border-radius: 10px;
}

.panel.mid-box .alert {
  text-align: left;
}

.panel.mid-box .alert.alert-danger {
  border-color: #e35656;
  color: #e35656;
}

.panel.mid-box .panel-heading {
  border-radius: 0;
  background: transparent;
  border: none;
  padding: 50px 0 30px;
}

.panel.mid-box .panel-heading .panel-title {
  font: 300 1.9375em/1 'Open Sans', sans-serif;
}

.panel.mid-box .panel-footer {
  background: #fff;
  padding: 20px;
  border-color: #e8e8e8;
  border-radius: 0 0 10px 10px;
}

.panel.mid-box .col-email input,
.panel.mid-box .col-password input {
  -webkit-box-shadow: none;
  box-shadow: none;
  padding-left: 50px;
  font-weight: 300;
  font-size: 13px;
  color: #1c2b36;
}

.panel.mid-box .col-left input,
.panel.mid-box .col-right input {
  -webkit-box-shadow: none;
  box-shadow: none;
  padding-left: 15px;
  font-weight: 300;
  font-size: 13px;
  color: #1c2b36;
}

.panel.mid-box .col-full input {
  -webkit-box-shadow: none;
  box-shadow: none;
  padding-left: 15px;
  font-weight: 300;
  font-size: 13px;
  color: #1c2b36;
}

.panel.mid-box .col-email input::-webkit-input-placeholder,
.panel.mid-box .col-password input::-webkit-input-placeholder {
  color: #c2c2c2;
}

.panel.mid-box .col-email input.error,
.panel.mid-box .col-password input.error {
  border: 1px solid #e35656;
}

.panel.mid-box .col-email, .panel.mid-box .col-left {
  padding-right: 0;
}

.panel.mid-box .col-email input {
  border-radius: 4px 0 0 4px;
  border-right: 0;
  background: url(../images/envelope.png) no-repeat 10px center white;
}

.panel.mid-box .col-left input {
  border-radius: 4px 0 0 4px;
  border-right: 0;
}

.panel.mid-box .col-password, .panel.mid-box .col-right {
  padding-left: 0;
}

.panel.mid-box .col-password input {
  border-radius: 0 4px 4px 0;
  background: url(../images/lock.png) no-repeat 10px center white;
}

.panel.mid-box .col-right input {
  border-radius: 0 4px 4px 0;
}

.forgot {
    font-size: 11px;
}

.account-link,
.account-link:hover {
  background: #434343 !important;
  color: #c7c7c7 !important;
  padding: 5px 10px !important;
  margin: 10px 15px !important;
  border-radius: 3px;
}

.navbar-nav > li > .dropdown-menu.account-menu {
  margin-top: -10px;
}

#main-sidebar {
  padding: 0;
  border-right: 1px solid #e4e4e6;
}

#main-sidebar .list-group-item {
  border-width: 1px 0;
}

#main-content {
  padding-left: 30px;
  padding-right: 30px;
}

.page-header{
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  margin: 0 0 20px;
  padding: 0 0 20px;
}
.page-header h1 {
  margin: 0 15px 0 0;
  padding: 0 15px 0 0;
  border-right: 1px solid #eee;
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
}
.page-header .balance{
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
}
.page-header .current-info {
  margin-left: auto;
  font-size: 14px;
  line-height: 1;
  text-align: right;
}

#main-container {
  padding: 30px;
  margin-bottom: 20px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 15px -6px rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 15px -6px rgba(0, 0, 0, 0.5);
}

.well{
  border: 1px solid #cccccc;
  margin-bottom: 15px;
  padding: 10px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}

.btn-modal {
  height: 44px;
}

.panel-heading a.cancel {
  display: inline-block;
  position: absolute;
  top: 10px;
  right: 95px;
  padding-top: 3px;
}

.page-header.register {
  border: 0;
  margin-bottom: 15px;
}

.page-header.register h1 {
  width: 100%;
  text-align: center;
}

.spacer {
  width: 100%;
  height: 40px;
  display: block;
}

.clear {
  clear: both;
}

.page-footer img {
  display: block;
  margin: 0 auto;
    height: 20px;
}

.page-footer .panel{
  box-shadow: none;
  margin: 0;
}

#footer-vcenter {
    display: flex;
    justify-content: space-between;
    padding: 10px 30px;
}

.termsandphone,
.powered-by {
  line-height: 20px;
  text-align: center;
}

label.required:after {
    content: " *";
    color: red;
}

#recaptcha_widget .well {
  background: white;
}

#recaptcha_image {
  width: 100% !important;
  text-align: center;
}


#recaptcha_image img {
  max-width: 100%;
  height: auto;
}


.logged-in .container{
  width: auto;
  max-width: 970px;
}

.not-logged-in .container {
    width: auto;
    max-width: 600px;
}

.container-gift{
  width: auto;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;

  margin-top: 100px;
  text-align: center;
}

.not-logged-in .container-gift-navbar {
    max-width: 1200px;
}

footer {
    background-color: transparent;
    opacity: 0.95;
    filter: alpha(opacity=95);
}

.gift-title {
  margin-top: 30px;
  margin-bottom: 30px;
  color: #4d4c4c;
}

.gift-description {
  font-size: 16px;
  padding: 15px 15px;
  color: #4d4c4c;
  flex-grow: 1;
  padding-bottom: 20px
}

.gift-panel {
    margin-bottom: 20px;
    background-color: white;
    opacity: 0.95;
    filter: alpha(opacity=95);
    border-radius: 10px;
}

/* The subtitle when under 980px */
.gift-subtitle-small {
  display: none;
  margin-bottom: 40px;
}

/* The subtitle when over 980px */
.gift-subtitle-big {
  display: block;
}

.gift-card-section {
  display: flex;
  flex-direction: row;
  padding-bottom: 20px;

}

.gift-card-col {
  flex: 1;
  padding:0 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.gift-card-col img {
  width: 100%;
}

.gift-card-col.middle {
  border-right: 1px solid #ccc;
}

.panel-body {
  margin-bottom: 0;
}

@media screen and (max-width: 980px) {
  .gift-card-section {
    flex-direction: column;
  }

  .gift-card-col.middle {
    border-right: 0;
  }

  .gift-subtitle-small {
    display: block;
  }

  .gift-subtitle-big {
    display: none;
  }

  .mid-box .check-my-balance-btn-container {
    padding: 0;
  }
}

.mid-box .check-my-balance-btn-container {
  padding: 0 30px 30px;
}


.not-logged-in .g-recaptcha {
  width: 304px;
  margin: auto;
}

.panel.mid-box {
    border: none !important;
}

@media screen and (max-width: 980px) {
  .logged-in .navbar{
    margin-bottom: 0;
  }
  .not-logged-in .container {
    max-width: 1200px;
  }
  body.page-background{
    background: #fff;
  }
  .panel.mid-box{
    border: none !important;
    margin: 0 15px 20px;
    box-shadow: none;
  }
  .panel.mid-box .panel-heading{
    padding: 10px 0 30px;
  }
  .panel.mid-box .panel-body{
    padding: 0 0 30px;
  }
  #main-container {
    padding: 30px 15px;
    border: none;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  #main-content{
    padding: 0 15px;
  }
  .page-footer .panel{
    margin: 0 15px;
  }
  .page-footer #footer-vcenter{
    padding: 10px 0;
    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee;
  }

  .container-gift {
      margin-top: 0px;
  }

    .gift-title {
        text-align: center !important;
    }

    .gift-description {
        text-align: center !important;
    }
}

@media screen and (max-width: 768px) {
  .panel.mid-box {
    margin-top: 0;
  }
  .navbar-nav.navbar-right:last-child {
    margin-right: -15px;
  }
  .modal .modal-dialog {
    width: auto;
    margin: 60px 15px 0;
  }
  .page-header{
    justify-content: center;
  }
  .page-header .current-info{
    width: 100%;
    margin: 20px 0 0;
    text-align: center;
  }
}


@media screen and (max-width: 640px) {
  .not-logged-in .container {
    width: 304px;
    padding-left: 15px;
    padding-right: 15px;
  }

    .container-gift-navbar {
        width: 100% !important;
        padding-left:12px;
        padding-right:12px;
    }
  .not-logged-in .panel.mid-box .panel-body,
  .panel.mid-box .panel-body {
    padding: 0 0 15px;
  }
  #footer-vcenter {
    padding: 10px 25px;
  }
}


@media screen and (max-width: 480px) {
  #main-container{
    padding: 30px 0;
  }

  .panel.mid-box{
    margin: 0 0 20px;
  }
  .not-logged-in .panel.mid-box .panel-body,
  .panel.mid-box .panel-body {
    padding: 0;
  }

  .panel.mid-box .panel-heading .panel-title {
    font: 300 1.5em/1 'Open Sans', sans-serif;
  }

  .well{
    padding: 10px 0;
  }

  .input-lg{
    height: 36px;
    padding: 10px;
    font-size: 14px;
  }
  .input-lg.btn{
    height: 36px;
    padding: 6px;
    font-size: 14px;
  }
  #footer-vcenter {
    flex-flow: column nowrap;
    padding: 10px;
  }
  .page-footer .panel{
    margin: 0;
  }
  .termsandphone{
    text-align: center;
  }

  .powered-by {
    margin-top: 5px;
  }

  .page-header h1 {
    margin: 0 0 5px;
    padding: 0;
    border-right: none;
    width: 100%;
    font-size: 20px;
    text-align: center;
  }
  .page-header .balance{
    width: 100%;
    font-size: 26px;
    text-align: center;
  }

}

@media screen and (min-width: 992px) {
  #recaptcha_widget .well {
    background: #fff url(https://www.google.com/recaptcha/api/img/clean/logo.png) no-repeat center right;
  }
}



/* ---------- Responsive History Start (copied from member portal code and then modified) ---------- */

.history{

}
.history-title{
  font-size: 20px;
  line-height: 1;
}
.history-list{
  margin: 0;
  padding: 0;
  list-style: none;
}
.history-item{
  margin-bottom: 10px;
}
.history-item:last-child{
  margin-bottom: 0;
}
.history-item:nth-child(odd) .transaction-primary,
.history-item:nth-child(odd) .transaction-secondary{
  background: #f8f8f8;
}
.transaction-primary{
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  border: 1px solid #ddd;
  padding: 8px 12px;
  box-shadow: 0 2px 2px -1px rgba(0,0,0,0.2);
  z-index: 2;
  font-size: 13px;
  line-height: 16px;
}
.transaction-time{
  flex-basis: 190px;
}
.transaction-place{
  flex-basis: 250px;
}
.transaction-type{
  flex-basis: 250px;
  margin-left: auto;
}
.transaction-amount{
  flex-basis: 160px;
  font-weight: bold;
  text-align: right;
}


.transaction-secondary{
  position: relative;
  margin: 0 15px;
  padding: 8px 5px 6px;
  border: 1px solid #ddd;
  border-top: none;
  box-shadow: 0 2px 2px -1px rgba(0,0,0,0.2);
  font-size: 12px;
  line-height: 14px;
  text-align: center;
  z-index: 1;
}
.transaction-secondary .bullet{
  display: inline-block;
  margin: 0 5px;
}

@media screen and (max-width: 980px) {
  .transaction-primary{
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .transaction-primary{
    flex-flow: row wrap;
  }
  .transaction-time{
    flex-basis: 50%;
    order: 1;
    margin-bottom: 5px;
  }
  .transaction-place{
    flex-basis: 50%;
    order: 3;
  }
  .transaction-type{
    flex-basis: 50%;
    margin-left: 0;
    margin-bottom: 5px;
    order: 2;
    text-align: right;
  }
  .transaction-amount{
    flex-basis: 50%;
    order: 4;
    text-align: right;
  }
}
@media screen and (max-width: 640px) {
  .history{
    border: 0;
  }
}

@media screen and (max-width: 480px) {
  .transaction-time,
  .transaction-place,
  .transaction-type,
  .transaction-amount{
    flex-basis: 100%;
    order: 1;
    padding: 0;
    margin-bottom: 5px;
    text-align: left;
  }
  .transaction-secondary .bullet2{
    display: none;
  }
  .transaction-secondary .savings{
    display: block;
  }

}

@media screen and (max-width: 360px) {
  .history-title{
    font-size: 16px;
  }
}

/* ---------- Responsive History End ---------- */

span.help-block ul.list-unstyled {
  color: #e35656;
}

/* ---------- Promotion Modal ---------- */
.promo-modal {
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
}

.promo-modal .no-image {
  min-width: 90%;
  min-height: 320px;
  background-color: #D9D9D9;
}

.promo-modal .promo-img {
  max-width: 480px;
  height: 100%;
}

.promo-modal .modal-header {
  padding: 0px !important;
}

.promo-modal .modal-header .close {
  margin: 8px;
}

.promo-modal .promo-name {
  font-size: 24px;
  padding: 15px;
  font-family: 'Open Sans', Arial, sans-serif;
}

.promo-modal .promo-desc {
  font-size: 20px;
  padding: 15px;
  font-family: 'Open Sans', Arial, sans-serif;
}

.promo-modal .close-btn {
  background: black;
  padding: 5px 80px;
  margin: 18px 10px;
  color: white;
  font-size: 18px;
  border-radius: 5px;
  cursor: pointer;
  font-family: 'Open Sans', Arial, sans-serif;
}

.promo-modal .modal-header {
  border-bottom: none;
}