/* Utilities Classes */
.notch-padding {
  padding-top: 36px !important;
  /* Comment this line to simulate notch */
}

.stick-down {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}

.stick-down-fixed {
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
}

.stick-down-pusher {
  height: 128px;
}

.stick-down-pusher.stick-down-pusher-lg {
  height: 196px;
}

.bg-primary-dimmed {
  background: #EDE7F5;
}

.bg-danger-dimmed {
  background: #F1D1D1;
}

.opacity-90 {
  opacity: 0.9;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-60 {
  opacity: 0.6;
}

.bg-white-opacity-30 {
  background: rgba(255, 255, 255, 0.3);
}

.bullet-dot {
  font-size: 56px;
  line-height: 34px;
  text-align: right;
  margin: 0;
}

.btn-close {
  width: 38px;
  height: 38px;
  font-size: 38px;
  line-height: 0px;
  padding: 0;
  text-align: center;
}

.btn-close span {
  position: relative;
  bottom: 2px;
  font-weight: 200;
}

.number-bullet {
  width: 40px;
  height: 40px;
}

.number-bullet-width-flex {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 40px;
  flex: 0 0 40px;
}

.number-bullet-lg {
  width: 48px;
  height: 48px;
}

.number-bullet-lg-width-flex {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 48px;
  flex: 0 0 48px;
}

.number-bullet-xl {
  width: 56px;
  height: 56px;
}

.number-bullet-xl-width-flex {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 56px;
  flex: 0 0 56px;
}

.profile-image {
  width: 56px;
  height: auto;
}

.profile-image-width-flex {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 56px;
  flex: 0 0 56px;
}

.profile-image-sm {
  width: 48px;
  height: auto;
}

.profile-image-sm-width-flex {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 48px;
  flex: 0 0 48px;
}

.profile-image-height {
  height: 56px;
}

.icon-24 {
  width: 24px;
  height: 24px;
}

.icon-32 {
  width: 32px;
  height: 32px;
}

.icon-48 {
  width: 48px;
  height: 48px;
}

.icon-56 {
  width: 56px;
  height: 56px;
}

.text-title-sub-detail {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.65);
}

.form-control-cta {
  font-size: 2.5rem;
  font-weight: 700;
}

/* Shared */
body {
  background: #F2F2F2;
}

.app-region {
  position: relative;
  background: #F2F2F2;
  min-height: 100vh;
  -webkit-transition: border-radius 0.5s, -webkit-transform 0.35s, -webkit-box-shadow 0.5s;
  transition: border-radius 0.5s, -webkit-transform 0.35s, -webkit-box-shadow 0.5s;
  transition: transform 0.35s, border-radius 0.5s, box-shadow 0.5s;
  transition: transform 0.35s, border-radius 0.5s, box-shadow 0.5s, -webkit-transform 0.35s, -webkit-box-shadow 0.5s;
}

.app-region.bg-lighten {
  background: #FFFFFF;
}

aside {
  position: absolute;
  height: 100vh;
  width: 100vw;
  background: -webkit-gradient(linear, right top, left top, from(#3f08d7), to(#8618ea));
  background: linear-gradient(to left, #3f08d7, #8618ea);
}

aside .nav-group {
  -webkit-transform: translateX(-20%);
  transform: translateX(-20%);
  opacity: 0;
  -webkit-transition: opacity 0.25s, -webkit-transform 0.25s;
  transition: opacity 0.25s, -webkit-transform 0.25s;
  transition: transform 0.25s, opacity 0.25s;
  transition: transform 0.25s, opacity 0.25s, -webkit-transform 0.25s;
}

.is-nav-active {
  position: fixed;
  overflow: hidden;
}

.is-nav-active .app-region {
  -webkit-transform: scale(0.85) translateX(90%);
  transform: scale(0.85) translateX(90%);
  height: 100vh;
  width: 100vw;
  border-radius: 24px;
  overflow: hidden;
  -webkit-box-shadow: 0 16px 0 -8px rgba(255, 255, 255, 0.35), 0 32px 0 -16px rgba(255, 255, 255, 0.2);
  box-shadow: 0 16px 0 -8px rgba(255, 255, 255, 0.35), 0 32px 0 -16px rgba(255, 255, 255, 0.2);
}

.is-nav-active .app-region header {
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
}

.is-nav-active aside .nav-group {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
}

.is-nav-active .app-region nav.bottom-nav {
  bottom: -196px;
  -webkit-transition: bottom 0.5s;
  transition: bottom 0.5s;
}

.nav-group.logout {
  position: absolute;
  bottom: 56px;
}

.nav-group.logout .icon-container {
  width: 3rem;
}

.nav-group.logout .icon-container img {
  width: 1.25rem;
  height: auto;
}

header {
  background: -webkit-gradient(linear, right top, left top, from(#3f08d7), to(#8618ea));
  background: linear-gradient(to left, #3f08d7, #8618ea);
  -webkit-transition: border-radius 0.5s;
  transition: border-radius 0.5s;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 5;
}

.header-pusher {
  height: 48px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

header .branding-container {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 48px;
}

header .text-branding {
  height: 22px;
  width: auto;
}

header .menu-btn {
  width: 48px;
  height: 48px;
  background: none;
  border: none;
}

header .menu-btn .menu-icon {
  width: 22px;
  height: auto;
}

.header-expand {
  min-height: 0px;
  position: relative;
  background: -webkit-gradient(linear, right top, left top, from(#3f08d7), to(#8618ea));
  background: linear-gradient(to left, #3f08d7, #8618ea);
}

.header-expand .background-container {
  width: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  bottom: 0;
}

.header-expand .background-container img.background {
  width: 100%;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(80%, black), to(transparent));
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 80%, transparent 100%);
  mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(80%, black), to(transparent));
  mask-image: linear-gradient(to bottom, transparent 0%, black 80%, transparent 100%);
  position: absolute;
  z-index: 1;
}

.header-expand .header-expand-content {
  position: relative;
  z-index: 2;
}

.header-nav {
  background: white;
  height: 56px;
}

.header-nav .nav, .header-nav .nav-item, .header-nav .nav-item .nav-link {
  height: 100%;
}

.header-nav .nav-item .nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.bottom-nav-pusher {
  margin-top: 48px;
  height: 72px;
}

nav.bottom-nav {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 72px;
  -webkit-box-shadow: 0 -2px 16px 0 rgba(0, 0, 0, 0.25);
  box-shadow: 0 -2px 16px 0 rgba(0, 0, 0, 0.25);
  background: white;
  -webkit-transition: bottom 0.25s ease 0.5s;
  transition: bottom 0.25s ease 0.5s;
}

nav.bottom-nav .cta {
  width: 64px;
}

nav.bottom-nav .cta .img-container {
  position: absolute;
  top: -24px;
  width: 64px;
  height: 64px;
  background: linear-gradient(135deg, #AF6EEB, #8E2CE8);
}

nav.bottom-nav .cta a p {
  position: absolute;
  top: 48px;
}

nav.bottom-nav img {
  width: 32px;
  height: 32px;
}

nav.bottom-nav .cta img {
  width: 42px;
  height: 42px;
}

.pin-input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.pin-input-group input.form-control {
  font-size: 2.5rem;
  font-weight: 700;
  width: 36px;
  height: 1.5em;
  text-align: center;
  border-bottom-width: 3px;
  border-bottom-color: var(--primary);
  margin: 0 6px;
}

.form-group.radio-card input[type="radio"] {
  display: none;
}

.form-group.radio-card input[type="radio"] ~ label.card {
  border: 2px solid #ffffff;
}

.form-group.radio-card input[type="radio"]:checked ~ label.card {
  border: 2px solid var(--primary);
}

.form-group.with-input-icon {
  height: 100%;
  margin: 0;
}

.form-group.with-input-icon .input-group {
  height: 100%;
}

.form-group.with-input-icon .input-group .input-group-text {
  background: none;
}

.form-group.with-input-icon .input-group .form-control {
  height: 100%;
  border: none;
  padding-left: 12px;
}

.popup {
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
}

.popup.is-active {
  display: block;
}

.popup .overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.35);
}

.popup .popup-body {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.btn.btn-block {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.list-group-item.active .active-img-icon {
  display: none;
}

.list-group-item .normal-img-icon {
  display: inline-block;
}

.list-group-item .active-img-icon {
  display: none;
}

.list-group-item.active .normal-img-icon {
  display: none;
}

.list-group-item.active .active-img-icon {
  display: inline-block;
}

.nomenu-pusher {
  width: 48px;
  height: 48px;
}

.form-group.form-goobank .form-control.is-default {
  color: #B2B2B2;
}

.form-group.form-goobank .form-control.is-default select option {
  color: #B2B2B2;
}

#default-select-statement-page {
  color: #B2B2B2;
}

/* 02-Login */
.branding-hero {
  background: -webkit-gradient(linear, right top, left top, from(#3f08d7), to(#8618ea));
  background: linear-gradient(to left, #3f08d7, #8618ea);
  position: relative;
  overflow: hidden;
}

.branding-hero .background {
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(80%, black));
  -webkit-mask-image: linear-gradient(to bottom, transparent 50%, black 80%);
  mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(80%, black));
  mask-image: linear-gradient(to bottom, transparent 50%, black 80%);
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
}

.branding-hero .logo {
  z-index: 2;
  position: relative;
  padding: 48px 24px 24px 24px;
}

.branding-hero .logo .square-icon {
  width: 96px;
  height: auto;
}

.branding-hero .logo .text-branding {
  width: 128px;
  height: auto;
}

.branding-hero .title {
  position: relative;
  z-index: 2;
}

/* 03-Home */
.dashboard-card {
  border-radius: 8px;
  background: white;
}

.action-cards {
  min-width: 100%;
  overflow: scroll;
}

.action-card {
  width: 142px;
  height: 128px;
}

/* 08-Activity */
.timeline-entry .line {
  width: 2px;
  background: #dee2e6;
}

.timeline-entry .line.line-pre {
  height: 12px;
}

.timeline-entry:first-child .line.line-pre {
  height: 24px;
}

.timeline-entry:first-child .detail-part {
  padding-top: 24px !important;
}

/* 10-Landing */
.landing-hero {
  position: relative;
  overflow: hidden;
  height: 100vh;
  background-size: cover;
  background-position: 40%;
}

.color-overlay {
  background: -webkit-gradient(linear, right top, left top, from(#3f08d7), to(#8618ea));
  background: linear-gradient(to left, #3f08d7, #8618ea);
  position: absolute;
  opacity: 0.65;
  z-index: 1;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

.landing-hero .container {
  position: relative;
  z-index: 2;
}

.landing-hero .logo .square-icon {
  width: 96px;
  height: auto;
}

.landing-hero .logo .text-branding {
  width: 160px;
  height: auto;
}

.landing-hero .separator {
  width: 32px;
  height: 6px;
  margin: 0 auto;
  background: #ffffff;
}

.payment-page-style li.list-group-item .col-4.pr-0.text-right p {
  font-weight: bold;
  color: #646464;
}

.alert-danger {
    background-color: #ea3323;
    color: #fff;
}
