

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

/*======================
    RESET
=======================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Poppins',sans-serif;

    background:#f4f6f9;

    color:#444;

}

/*======================
    CONTAINER
=======================*/

.container{

    max-width:950px;

}

/*======================
    CARD
=======================*/

.card{

    border:none;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 15px 35px rgba(0,0,0,.12);

}


/*======================
    BODY
=======================*/

.card-body{

    background:#ffffff;

    padding:35px;

}

/*======================
    LABEL
=======================*/

.form-label{

    font-weight:600;

    color:#555;

    margin-bottom:8px;

}

/*======================
    INPUT
=======================*/

.form-control,
.form-select{

    height:48px;

    border-radius:8px;

    border:1px solid #ced4da;

    transition:.3s;

    font-size:15px;

}

.form-control:focus,
.form-select:focus{

    border-color:#fdcd0d;

    box-shadow:0 0 0 .15rem rgba(13,110,253,.15);

}

textarea.form-control{

    min-height:120px;

    resize:none;

    padding-top:12px;

}

/*======================
    REQUIRED
=======================*/

.text-danger{

    font-size:16px;

}

/*======================
    FILE UPLOAD
=======================*/

input[type=file]{

    padding:9px;

}

input[type=file]::file-selector-button{

    background:#198754;

    color:white;

    border:none;

    border-radius:6px;

    padding:8px 15px;

    cursor:pointer;

    margin-right:12px;

    transition:.3s;

}

input[type=file]::file-selector-button:hover{

    background:#157347;

}

/*======================
    PREVIEW
=======================*/

.preview-box{

    width:100%;

    min-height:220px;

    border:2px dashed #c9c9c9;

    border-radius:10px;

    display:flex;

    justify-content:center;

    align-items:center;

    flex-direction:column;

    background:#fafafa;

    margin-top:10px;

    overflow:hidden;

}

#previewImage{

    width:220px;

    display:none;

    border-radius:8px;

    border:1px solid #ddd;

    padding:5px;

    background:white;

}

#fileName{

    margin-top:15px;

    color:#666;

    font-size:14px;

    text-align:center;

}

/*======================
    ROW
=======================*/

.row{

    margin-top:5px;

}

/*======================
    ICON
=======================*/

.fa-book{

    color:#fff;

}

/*=====================================
    SIGNATURE PAD
======================================*/

.signature-container{

    width:100%;

    height:230px;

    background:#fff;

    border:2px dashed #bdbdbd;

    border-radius:10px;

    overflow:hidden;

    margin-top:10px;

    transition:.3s;

}

.signature-container:hover{

    border-color:#fdcd0d;

}

#signature-pad{

    width:100%;

    height:230px;

    display:block;

    cursor:crosshair;

    background:#fff;

}

/*=====================================
    BUTTON
======================================*/

.btn{

    height:48px;

    border-radius:8px;

    font-weight:600;

    transition:.3s;

    letter-spacing:.5px;

}

.btn i{

    margin-right:8px;

}

.btn-primary{

    background:#0d6efd;

    border:none;

}

.btn-primary:hover{

    background:#0b5ed7;

    transform:translateY(-2px);

    box-shadow:0 6px 12px rgba(13,110,253,.25);

}

.btn-danger{

    border:none;

}

.btn-danger:hover{

    transform:translateY(-2px);

    box-shadow:0 6px 12px rgba(220,53,69,.25);

}

/*=====================================
    PLACEHOLDER
======================================*/

::placeholder{

    color:#9b9b9b !important;

}

/*=====================================
    SMALL TEXT
======================================*/

small{

    color:#777;

    font-size:13px;

}

/*=====================================
    MODAL
======================================*/

.modal-content{

    border:none;

    border-radius:12px;

}

.modal-header{

    border-bottom:none;

}

.modal-footer{

    border-top:none;

}

/*=====================================
    SCROLLBAR
======================================*/

::-webkit-scrollbar{

    width:8px;

}

::-webkit-scrollbar-thumb{

    background:#fdcd0d;

    border-radius:10px;

}

::-webkit-scrollbar-track{

    background:#ececec;

}

/*=====================================
    ANIMATION
======================================*/

.card{

    animation:fadeIn .7s;

}

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*=====================================
    RESPONSIVE
======================================*/

@media(max-width:992px){

.card-body{

    padding:25px;

}

.card-header h2{

    font-size:24px;

}

}

@media(max-width:768px){

.card-body{

    padding:20px;

}

.card-header{

    padding:18px;

}

.card-header h2{

    font-size:22px;

}

.preview-box{

    min-height:180px;

}

#previewImage{

    width:170px;

}

.signature-container{

    height:200px;

}

#signature-pad{

    height:200px;

}

.btn{

    margin-bottom:10px;

}

}

@media(max-width:576px){

.container{

    padding:10px;

}

.card-body{

    padding:15px;

}

.form-control,

.form-select{

    font-size:14px;

}

.card-header h2{

    font-size:20px;

}

}

/*=====================================
    EFFECT
======================================*/

.form-control:hover,

.form-select:hover{

    border-color:#fdd50c;

}

.preview-box img{

    transition:.3s;

}

.preview-box img:hover{

    transform:scale(1.05);

}

/* ===========================
        HEADER
=========================== */

.header{
    background:#fdb10d;
    height:150px;
    display:grid;
    grid-template-columns:280px 1fr 280px;
    align-items:center;
    padding:0 30px;
}

.header-left{
    display:flex;
    align-items:center;
    gap:15px;
}

.logo{
    width:70px;
    height:70px;
    object-fit:contain;
    flex-shrink:0;
}

.instansi h2{
    margin:0;
    color:#111;
    font-size:20px;
    font-weight:700;
}

.instansi p{
    margin:0;
    color:#111;
    font-size:14px;
    font-weight:600;
    line-height:20px;
}

.header-center{
    display:flex;
    justify-content:center;
    align-items:center;
}

.header-center h1{
    margin:0;
    color:#fff;
    font-size:60px;
    font-weight:900;
    letter-spacing:2px;
    white-space:nowrap;   
}

.header-right{
}