/* ==========================
   GENERAL
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    background:#fefefe;
    color:#222;
}

.container{
    width:92%;
    max-width:500px;
    margin:25px auto;
}


/* ==========================
   TOP BAR
========================== */

.top-bar{
    background:#233d6b;
    color:#fff;
    height:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    box-shadow:0 3px 10px rgba(0,0,0,.15);
}

.top-bar h1{
    font-size:34px;
    font-weight:700;
}

.back-btn{
    position:absolute;
    left:20px;
    font-size:28px;
    cursor:pointer;
    color:white;
    background:transparent;
    border:none;
}

.logo-container{
    text-align:center;
    margin:30px 0 20px;
}

.logo-container img{
    width:120px;
    max-width:80%;
    height:auto;
}


/* ==========================
   SUCCESS CARD
========================== */

.success-card{
    background: linear-gradient(
        180deg,
        #68B56A 0%,
        #5DAA60 50%,
        #529E56 100%
    );

    border-radius:25px;
    padding:45px 25px;
    text-align:center;
    color:white;
    box-shadow:0 3px 8px rgba(0,0,0,.12);
    margin-bottom:30px;
}


/* ==========================
   VERIFIED BADGE
========================== */

.badge{
    position:relative;
    width:95px;
    height:95px;
    background:#fff;
    margin:0 auto 25px;
    display:flex;
    justify-content:center;
    align-items:center;

    clip-path:polygon(
        50% 0%,
        61% 10%,
        76% 7%,
        82% 21%,
        96% 26%,
        93% 42%,
        100% 54%,
        89% 65%,
        88% 81%,
        72% 84%,
        62% 97%,
        48% 90%,
        34% 97%,
        24% 84%,
        8% 81%,
        10% 65%,
        0% 54%,
        7% 42%,
        4% 26%,
        18% 21%,
        24% 7%,
        39% 10%
    );
}


/* ==========================
   CLEAN GREEN CHECK
========================== */

.badge::after{
    content:"";
    position:absolute;

    width:22px;
    height:43px;

    border-right:7px solid #55B45A;
    border-bottom:7px solid #55B45A;

    left:50%;
    top:44%;

    transform:
        translate(-50%,-50%)
        rotate(40deg);

    border-radius:2px;
}


/* ==========================
   SUCCESS TEXT
========================== */

.success-card h2{
    font-size:42px;
    margin:5px;
}

.success-card p{
    font-size:24px;
    margin-bottom:30px;
}

.reference{
    display:inline-block;
    background:rgba(255,255,255,.17);
    padding:14px 28px;
    border-radius:40px;
    font-size:22px;
    font-weight:normal;
}


/* ==========================
   CARDS
========================== */

.card{
    background:#F7F2F9;
    border-radius:22px;
    margin-bottom:25px;
    overflow:hidden;
    box-shadow:0 6px 15px rgba(0,0,0,.08);
    padding-bottom:20px;
}

.card-title{
    padding:22px;
    border-bottom:1px solid #ececec;
    display:flex;
    align-items:center;
    gap:20px;
}

.card-title i{
    color:#3575e2;
    font-size:28px;
}

.card-title.green i{
    color:#43a047;
}

.card-title.orange i{
    color:#ff8a00;
}

.card-title h3{
    font-size:30px;
}

.info{
    padding:5px;
}

.row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    align-items:center;
    padding:10px;
    border-bottom:1px solid #f2f2f2;
}

.row:last-child{
    border:none;
}

.row span{
    color:#777;
    font-size:18px;
    text-align:left;
    margin-right:5px;
}

.row strong{
    font-size:18px;
    color:#222;
    text-align:left;
}

.normal{
    font-weight:normal;
}


/* ==========================
   NOTICE
========================== */

.notice{
    margin:20px;
    background:#fff8df;
    border:2px solid #f5c84b;
    color:#dd8a00;
    border-radius:15px;
    padding:18px;
    display:flex;
    align-items:center;
    gap:12px;
    font-size:19px;
}

.notice i{
    font-size:22px;
}


/* ==========================
   FOOTER
========================== */

footer{
    text-align:center;
    margin-top:40px;
    padding:20px;
    color:#555;
    font-size:16px;
}

footer p:first-child{
    font-weight:bold;
    font-size:18px;
    margin-bottom:5px;
}


/* ==========================
   QUICK LOADING SCREEN
========================== */

#loading-screen{
    position:fixed;
    inset:0;

    width:100%;
    height:100vh;

    background:#fefefe;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    z-index:99999;

    opacity:1;
    visibility:visible;

    transition:
        opacity .2s ease,
        visibility .2s ease;
}


/* Loading Logo */

.loading-logo{
    width:120px;
    height:auto;
    opacity:.20;
    margin-bottom:35px;
}


/* Loading Title */

#loading-screen h1{
    color:#0878bd;
    font-family:Arial, Helvetica, sans-serif;
    font-size:30px;
    font-weight:700;
    text-align:center;
    margin:0 20px 12px;
}


/* Loading Subtitle */

#loading-screen p{
    color:#555;
    font-family:Arial, Helvetica, sans-serif;
    font-size:19px;
    text-align:center;
    margin-bottom:40px;
}


/* Loading Spinner */

.loader{
    width:55px;
    height:55px;

    border:5px solid #dedede;
    border-top-color:#0878bd;

    border-radius:50%;

    animation:spinner .7s linear infinite;
}


@keyframes spinner{
    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }
}


/* Hide Loader */

#loading-screen.hide{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}


/* ==========================
   RESPONSIVE
========================== */

@media(max-width:600px){

    .top-bar h1{
        font-size:26px;
    }

    .success-card h2{
        font-size:34px;
    }

    .success-card p{
        font-size:20px;
    }

    .card-title h3{
        font-size:24px;
    }

    .row span,
    .row strong{
        font-size:18px;
    }

    .reference{
        font-size:18px;
    }

    .loading-logo{
        width:110px;
    }

    #loading-screen h1{
        font-size:28px;
    }

    #loading-screen p{
        font-size:18px;
    }

    .loader{
        width:50px;
        height:50px;
        border-width:5px;
    }
}
