#layout-content {
    background-color: rgba(244, 249, 251, 1);
}

.footer-default {
    background-color: rgba(244, 249, 251, 1);
}

.referral-page {
    padding: 171px;
}

.referral-page > .title{
    color: #55a1d0;
}

.referral-page p {
    margin-bottom: 0;
}

#wrap-referral {
    padding: 10% 10%;
}

.referral-card > h1 {
    margin-bottom: 0;
    color: #55a1d0;
    font-size: 2.2rem;
}

.referral-card .text-blue {
    color: #55a1d0;
}

.referral-card .font-bold {
    font-weight: 600;
}

.referral-card p, .referral-card li, .referral-card a {
    font-size: 1.2rem;
}

.referral-card ul.subject-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.referral-card ul.subject-list li {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    font-size: 1.2rem;
    font-weight: 500;
}

.referral-card ul.subject-list li::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #3798db;
    margin-right: 12px;
    flex-shrink: 0;
}

@media only screen and (max-width: 1280px) {
    #wrap-referral {
        padding: 10% 5%;
    }
}

.referral-card {
    width: 100%;
    background-color: #fff;
    padding: 40px 50px;
    border-radius: 22px;
    box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.header-referral-title {
    color: #55a1d0;
    font-weight: 700;
    font-size: 2rem;
}

.header-referral-body {
    font-weight: 600;
    font-size: 1rem;
    line-height: 2rem;
    letter-spacing: 0.6px;
    color: #000000;
}

.d-grid {
    display: grid;
    gap: 5%;
}

.grid-address {
    grid-template-columns: 1fr 1fr 2fr 6fr;
}

.grid-50 {
    grid-template-columns: 1fr 1fr;
}

.grid-30 {
    grid-template-columns: 1fr 1fr 1fr;
}

.grid-60-40 {
    grid-template-columns: 6fr 4fr;
}

.grid-40-60 {
    grid-template-columns: 4fr 6fr;
}

.text-blue {
    color: #005f9b;
}

.opacity-35 {
    opacity: 0.35;
}

.fw-600 {
    font-weight: 600;
}

.btn-referral {
    color: #fff;
    padding: 10px 35px;
    font-family: "open_sanssemibold" !important;
    background: linear-gradient(296.7deg, #2892cf 27.07%, #fbfbfb 162.8%);
    border-radius: 10px !important;
    cursor: pointer;
    border: none;
}

.bg-transparent {
    background-color: transparent !important;
    border: none !important;
}

.custom-file-input {
    color: transparent;
}
.custom-file-input::-webkit-file-upload-button {
    visibility: hidden;
}
.custom-file-input::before {
    content: "Pilih Foto";
    color: #ffffff;
    display: inline-block;
    padding: 12px 35px;
    font-family: "open_sanssemibold" !important;
    background: linear-gradient(296.7deg, #2892cf 27.07%, #fbfbfb 162.8%);
    border-radius: 10px !important;
    cursor: pointer;
}
.custom-file-input:hover::before {
    border-color: black;
}
.custom-file-input:active {
    outline: 0;
}
.custom-file-input:active::before {
    background: -webkit-linear-gradient(top, #e3e3e3, #f9f9f9);
}

.skeleton {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 37%, #f0f0f0 63%);
    background-size: 400% 100%;
    animation: shimmer 1.4s ease-in-out infinite;
    border-radius: 8px;
}

.skeleton-title {
    width: 60%;
    height: 24px;
    margin-bottom: 20px;
}

.skeleton-text {
    width: 100%;
    height: 14px;
    margin-bottom: 10px;
}

@keyframes shimmer {
    0% {
        background-position: -400px 0;
    }
    100% {
        background-position: 400px 0;
    }
}

.c-stepper-step.active {
    font-weight: bold;
    color: #0d6efd;
}
.c-stepper-pane {
    display: none;
}
.c-stepper-pane.active {
    display: block;
}

.text-error {
    color: #ff4061 !important;
}

label.required::after {
    content: " *"; /* Spasi dan bintang */
    color: #ff4061;
}


    #schema-referral > .table-wrapper {
      /* margin: 0 auto; */
      background: #ffffff;
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    }

    #schema-referral > .table-wrapper > table {
      width: 100%;
      border-collapse: collapse;
    }

    #schema-referral > .table-wrapper thead {
      background-color: #f0f0f0;
    }

    #schema-referral > .table-wrapper th,
    #schema-referral > .table-wrapper td {
      padding: 16px;
      text-align: left;
      border: 1px solid #ddd;
      font-size: 15px;
    }

    #schema-referral > .table-wrapper th {
      font-weight: 700;
      text-align: center;
    }

    #schema-referral > .table-wrapper td:nth-child(2) {
      font-weight: 600;
    }

    @media (max-width: 600px) {
      #schema-referral > .table-wrapper th,
      #schema-referral > .table-wrapper td {
        padding: 12px;
        font-size: 14px;
      }
    }
