.header{
  z-index:9!important;
}

.web-page .header{
  background-color:#f0faf3
}
.main {
  background-color:#f0faf3!important;
}

.main .main-container{
  background-color:#f0faf3!important;
}

.container, .container-fluid, 
.container-sm, .container-md, 
.container-lg, .container-xl {
    width: 100%;
    padding-right: 0!important;
    padding-left: 0!important;
}

.home-page.main::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0px;
    width: 100%;
    height: 230px;
    background: #4d8c61;
    z-index: 0;
}


.swiper-pagination-bullet-active{
  background: #4d8c61!important;
}

.list-group-item + .list-group-item.active .text-secondary{
  color: #ffffff!important;
}
.thema-id-card {
  position: relative;
  display: inline-block;
  background: #ffffff;
  background-size: 100% !important;
  width: 300px;
  height: 480px;
  margin: auto;
  border-radius:20px;
}

.thema-id-card .header-card{
  text-align: left;
  color: #ffffff;
  text-transform: uppercase;
}

.thema-id-card .logo-finger{
  float: right;
  top: -5px;
  background: #1c52bc;
  padding: 5px;
  border-radius: 5px;
  width: 40px;
  color: #ffffff;
  text-align: center;
  font-size: 16px;
}

.thema-id-card .avatar-idcard {
  display: table;
  margin-top:15px;
  position: relative;
}

.thema-id-card .avatar-idcard img {
  float: left;
  width:100px;
  height:100px;
  object-fit: cover;
  border-radius: 50%;
  border: solid 2px #ffffff;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);
}

.thema-id-card .description {
  margin-top:30px;
  text-align: left;
}

.thema-id-card .description h3{
  font-size: 15px;
  text-transform: uppercase;
  color: #008FFF;
  line-height:0;
}

.thema-id-card .description p.bold {
  font-size: 16px !important;
  font-weight: 500;
}

.thema-id-card .description p {
  font-size: 13px;
  line-height: 17px;
}

.thema-id-card .description .label i{
  color: #008FFF;
  margin-right: 10px;
}

.thema-id-card .description .label p {
  font-size: 14px;
  line-height:25px;
  padding: 0px;
  margin: auto;
  color: #111111;
}

.thema-id-card .description ul {
  list-style: none;
  padding: 0;
  display: inline-block;
  flex-direction: column;
  margin-top: 25px;
  text-align: left;
}

.thema-id-card .description ul li {
  display: inline-block;
  align-items: center;
  font-size: 13px;
}

.thema-id-card .description ul li span {
  width: 50px;
  margin-right: 10px;
  line-height: 22px;
}


.thema-id-card .qrcode {
  display: inline-block;
  border: solid 2px #fff;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);
  margin-top: 10px;
}

.thema-id-card .qrcode img {
  height:100px;
  width: 100px;
}

.thema-id-card .footer-card{
    text-align: center;
    position: absolute;
    bottom:18px;
    left: 0;
    right: 0;
    font-size:12px;
    text-transform: uppercase;
}


.avatar .button {
  background: #6236FF;
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #FFF;
  width: 32px;
  height: 32px;
  border-radius: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  cursor: pointer;
}

.avatar .button input[type="file"] {
  display: inline-block;
  opacity: 0;
  position: absolute;
  margin-left: 20px;
  margin-right: 20px;
  padding-top: 30px;
  padding-bottom: 67px;
  width: 85%;
  z-index: 999;
  margin-top: 10px;
  cursor: pointer;
}


.icon.icon-50 img{
  height: 32px;
}

.icon.icon-60 img{
  height:35px;
}

.dropdown-width-50{
  min-width:50px!important;
}


.input-daterange input:last-child {
    -webkit-border-radius:18px;
    -moz-border-radius:18px;
    border-radius:18px;
}


/** custom Group Input */
.input-group .form-control {
  padding-right:40px;
}
.input-group-append {
    position: absolute;
    right: -20px;
    z-index: 9;
    top: 50%;
    transform: translate(-50%, -50%);
}
.form-group.float-label .input-group-append{
  right:0px;
}

.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.input-group-text {
    text-align: center;
    background-color: transparent;
    border: 0;
    z-index: 9;
}

.input-group > .form-control:not(:last-child), .input-group > .custom-select:not(:last-child){
  border-top-right-radius: 20px;
  border-bottom-right-radius:20px;
}

.input-group-custom.input-group-text{
  display: contents!important;
}

.select-transparent{
  background: transparent;
  border: 0px;
  padding: 0px;
}


.modal-ulangtahun .modal-content {
    background: rgba(0, 102, 255, 0.7); /* biru transparent */
    color: #ffffff; /* text putih */
    border: none;
    border-radius: 20px;
}

.modal-ulangtahun .modal-header {
    border-bottom:0px;
}

.modal-ulangtahun .modal-title,
.modal-ulangtahun .modal-body {
    color: #ffffff;
}

.modal-ulangtahun .close {
    color: #ffffff;
    opacity: 1;
}


 .login-wrapper {
    min-height: 560px;
    display: flex;
    align-items: center;
    justify-content: center;
 
  }

  .login-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 2rem 1.75rem 1.75rem;
    width: 100%;
    max-width: 420px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06);
  }

  .school-logo {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #EFF6FF;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
  }

  .school-logo i { font-size: 26px; color: #1D4ED8; }

  .login-title {
    font-size: 18px;
    font-weight: 600;
    color: #111827;
    text-align: center;
    margin-bottom: 0.2rem;
  }

  .login-subtitle {
    font-size: 13px;
    color: #6B7280;
    text-align: center;
    margin-bottom: 1.5rem;
  }

  .role-label {
    font-size: 12px;
    font-weight: 600;
    color: #6B7280;
    margin-bottom: 0.5rem;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }

  .role-group {
    display: flex;
    gap: 8px;
    margin-bottom: 1.25rem;
  }

  .role-btn {
    flex: 1;
    padding: 10px 6px;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    background: #ffffff;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    transition: all 0.15s ease;
    outline: none;
  }

  .role-btn:hover {
    background: #F9FAFB;
    border-color: #D1D5DB;
  }

  .role-btn.active {
    border: 2px solid #1D4ED8;
    background: #EFF6FF;
  }

  .role-btn i { font-size: 20px; color: #9CA3AF; }
  .role-btn.active i { color: #1D4ED8; }

  .role-btn span { font-size: 11px; font-weight: 600; color: #6B7280; }
  .role-btn.active span { color: #1E40AF; }

  .hint-box {
    background: #F0F9FF;
    border-radius: 8px;
    padding: 9px 13px;
    margin-bottom: 1.25rem;
    font-size: 12px;
    color: #0369A1;
    border: 1px solid #BAE6FD;
  }

  .form-label {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 4px;
  }

  .form-control {
    font-size: 14px;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    background: #ffffff;
    color: #111827;
    padding: 9px 12px;
    transition: border-color 0.15s, box-shadow 0.15s;
  }

  .form-control:focus {
    border-color: #1D4ED8;
    box-shadow: 0 0 0 3px rgba(29,78,216,0.1);
    background: #ffffff;
    color: #111827;
  }

  .form-control::placeholder { color: #9CA3AF; }

  .input-group-text {
    background: #F9FAFB;
    border: 1px solid #D1D5DB;
    color: #6B7280;
    font-size: 16px;
    border-radius: 8px 0 0 8px;
  }

  .input-group .form-control { border-left: none; border-radius: 0 8px 8px 0; }

  .eye-toggle {
    background: #F9FAFB;
    border: 1px solid #D1D5DB;
    border-left: none;
    cursor: pointer;
    color: #9CA3AF;
    padding: 0 10px;
    border-radius: 0 8px 8px 0;
    transition: color 0.15s;
  }

  .eye-toggle:hover { color: #374151; }

  .forgot-link {
    display: block;
    text-align: right;
    font-size: 12px;
    color: #1D4ED8;
    text-decoration: none;
    margin-top: 5px;
    margin-bottom: 1rem;
  }

  .forgot-link:hover { text-decoration: underline; }

  .btn-login {
    background: #1D4ED8;
    border: none;
    border-radius: 8px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    padding: 10px;
    width: 100%;
    cursor: pointer;
    transition: background 0.15s;
  }

  .btn-login:hover { background: #1E40AF; }

  .divider-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 1.25rem 0;
  }

  .divider-row hr {
    flex: 1;
    border: none;
    border-top: 1px solid #E5E7EB;
    margin: 0;
  }

  .divider-row span {
    font-size: 12px;
    color: #9CA3AF;
    white-space: nowrap;
  }

  .btn-google {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 10px;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    background: #ffffff;
    color: #374151;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
    text-decoration: none;
  }

  .btn-google:hover {
    background: #F9FAFB;
    border-color: #D1D5DB;
  }

  .google-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
  }

  .footer-note {
    text-align: center;
    font-size: 13px;
    color: #9CA3AF;
    margin-top: 1.25rem;
  }

@media only screen and (max-width:690px){
  .wallet-card .wallet-footer .webcame canvas {
    width: 100%;
    height: auto;
  }
}

@media only screen and (max-width:680px){
  .introduction .slider{
    height:150px!important;
  }

  .introduction .slider img{
    height: 130px!important;
  }
  
  .wallet-card .wallet-footer .webcame canvas {
    width: 100%;
    height:450px;
  }

  /** Kamera Selfie */
  .custom-header {
    position: absolute;
    top: -5px;
    width: 100%;
    background: rgba(17, 17, 17, 0.28);
    z-index: 9;
    padding: 5px 15px 5px 5px;
    color: #ffffff!important;
    border-radius: 5px;
    color:#ffffff!important;
    font-size: 11px;
  }

  .custom-header .text-success{
    color:#ffffff!important;
  }

  .header-top {
    background: rgb(17 17 17 / 34%)!important;
  }


  .blog-title{
    height: 90px;
  }
  
  
}