.pp-form-group{
    margin-bottom:20px;
}

.pp-form-label{
    display:block;
    font-weight:600;
    margin-bottom:8px;
}

.pp-required{
    color:#dc3545;
    margin-left:3px;
}

.pp-form-control{
    width:100%;
    min-height:46px;
    padding:10px 15px;
    border:1px solid #dcdcdc;
    border-radius:6px;
}

.pp-form-control:focus{
    outline:none;
    border-color:#0d6efd;
}

.pp-help-text{
    display:block;
    margin-top:6px;
    color:#777;
    font-size:13px;
}

.pp-error{
    margin-top:5px;
    color:#dc3545;
    font-size:13px;
}

.pp-form-row{
    display:flex;
    flex-wrap:wrap;
    margin-left:-10px;
    margin-right:-10px;
}

.pp-form-group{
    padding:10px;
    box-sizing:border-box;
}

.pp-col-25{
    width:25%;
}

.pp-col-33{
    width:33.3333%;
}

.pp-col-50{
    width:50%;
}

.pp-col-66{
    width:66.6666%;
}

.pp-col-75{
    width:75%;
}

.pp-col-100{
    width:100%;
}

/*
|--------------------------------------------------------------------------
| Workshop Registration Notice
|--------------------------------------------------------------------------
*/

.pp-registration-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    margin: 0 0 20px;
    padding: 14px 16px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.5;
    box-sizing: border-box;
}


/*
|--------------------------------------------------------------------------
| Success
|--------------------------------------------------------------------------
*/

.pp-registration-notice-success {
    background: #ecfdf3;
    border: 1px solid #a7f3d0;
    color: #065f46;
}


/*
|--------------------------------------------------------------------------
| Error
|--------------------------------------------------------------------------
*/

.pp-registration-notice-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}


/*
|--------------------------------------------------------------------------
| Icon
|--------------------------------------------------------------------------
*/

.pp-registration-notice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
}


/*
|--------------------------------------------------------------------------
| Success Icon
|--------------------------------------------------------------------------
*/

.pp-registration-notice-success
.pp-registration-notice-icon {
    background: #10b981;
    color: #ffffff;
}


/*
|--------------------------------------------------------------------------
| Error Icon
|--------------------------------------------------------------------------
*/

.pp-registration-notice-error
.pp-registration-notice-icon {
    background: #ef4444;
    color: #ffffff;
}


/*
|--------------------------------------------------------------------------
| Message
|--------------------------------------------------------------------------
*/

.pp-registration-notice-message {
    flex: 1;
}


/*
|--------------------------------------------------------------------------
| Registration Spinner
|--------------------------------------------------------------------------
*/

.pp-registration-spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 7px;
    vertical-align: -2px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: ppWorkshopSpin 0.7s linear infinite;
}


@keyframes ppWorkshopSpin {

    to {
        transform: rotate(360deg);
    }

}

/*
|--------------------------------------------------------------------------
| Workshop Registration State Notices
|--------------------------------------------------------------------------
*/

.pp-registration-state {
    display: flex;
    align-items: flex-start;
    gap: 12px;

    width: 100%;

    margin: 0 0 18px;

    padding: 15px 0px;

    border-radius: 12px;

    border: 1px solid transparent;

    box-sizing: border-box;
}


.pp-registration-state-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 26px;

    width: 26px;
    height: 26px;

    border-radius: 50%;

    font-size: 13px;
    font-weight: 800;
}


.pp-registration-state-content {
    flex: 1;
}


.pp-registration-state-title {
    display: block;

    margin: 0 0 3px;

    font-size: 14px;

    line-height: 1.4;

    font-weight: 800;
}


.pp-registration-state-message {
    display: block;

    margin: 0;

    font-size: 13px;

    line-height: 1.55;
}


/*
|--------------------------------------------------------------------------
| Filling Fast
|--------------------------------------------------------------------------
*/

.pp-registration-state-filling-fast {
    background: #fff7ed;

    border-color: #fed7aa;

    color: #9a3412;
}


.pp-registration-state-filling-fast
.pp-registration-state-icon {
    background: #f97316;

    color: #ffffff;
}


/*
|--------------------------------------------------------------------------
| Almost Full
|--------------------------------------------------------------------------
*/

.pp-registration-state-almost-full {
    background: #fef2f2;

    border-color: #fecaca;

    color: #991b1b;
}


.pp-registration-state-almost-full
.pp-registration-state-icon {
    background: #ef4444;

    color: #ffffff;
}


/*
|--------------------------------------------------------------------------
| Full
|--------------------------------------------------------------------------
*/

.pp-registration-state-full {
    background: #f3f4f6;

    border-color: #d1d5db;

    color: #374151;
}


.pp-registration-state-full
.pp-registration-state-icon {
    background: #6b7280;

    color: #ffffff;
}


/*
|--------------------------------------------------------------------------
| Closed
|--------------------------------------------------------------------------
*/

.pp-registration-state-closed {
    background: #f9fafb;

    border-color: #e5e7eb;

    color: #4b5563;
}


.pp-registration-state-closed
.pp-registration-state-icon {
    background: #6b7280;

    color: #ffffff;
}


/*
|--------------------------------------------------------------------------
| Already Registered
|--------------------------------------------------------------------------
*/

.pp-registration-state-already-registered {
    background: #eff6ff;

    border-color: #bfdbfe;

    color: #1e40af;
}


.pp-registration-state-already-registered
.pp-registration-state-icon {
    background: #2563eb;

    color: #ffffff;
}


/*
|--------------------------------------------------------------------------
| Completed
|--------------------------------------------------------------------------
*/

.pp-registration-state-completed {
    background: #f0fdf4;

    border-color: #bbf7d0;

    color: #166534;
}


.pp-registration-state-completed
.pp-registration-state-icon {
    background: #16a34a;

    color: #ffffff;
}

/*
|--------------------------------------------------------------------------
| Registration Card Action
|--------------------------------------------------------------------------
*/

.pp-registration-card-action {
    width: 100%;
}


.pp-registration-card-seats {
    margin-top: 8px;

    font-size: 12px;

    line-height: 1.5;

    font-weight: 700;
}


/*
|--------------------------------------------------------------------------
| Filling Fast
|--------------------------------------------------------------------------
*/

.pp-registration-card-seats-filling_fast {
    color: #c2410c;
}


/*
|--------------------------------------------------------------------------
| Almost Full
|--------------------------------------------------------------------------
*/

.pp-registration-card-seats-almost_full {
    color: #b91c1c;
}


/*
|--------------------------------------------------------------------------
| Disabled CTA
|--------------------------------------------------------------------------
*/

.pp-registration-cta-disabled {
    cursor: not-allowed !important;

    opacity: 0.6;

    pointer-events: none;
}


/*
|--------------------------------------------------------------------------
| Full
|--------------------------------------------------------------------------
*/

.pp-registration-cta-full {
    background: #e5e7eb !important;

    border-color: #e5e7eb !important;

    color: #6b7280 !important;
}


/*
|--------------------------------------------------------------------------
| Closed
|--------------------------------------------------------------------------
*/

.pp-registration-cta-closed {
    background: #f3f4f6 !important;

    border-color: #e5e7eb !important;

    color: #6b7280 !important;
}


/*
|--------------------------------------------------------------------------
| Completed
|--------------------------------------------------------------------------
*/

.pp-registration-cta-completed {
    background: #f3f4f6 !important;

    border-color: #e5e7eb !important;

    color: #6b7280 !important;
}


/*
|--------------------------------------------------------------------------
| Already Registered
|--------------------------------------------------------------------------
*/

.pp-registration-cta-registered {
    display: inline-flex;

    align-items: center;

    justify-content: center;
}


/*
|--------------------------------------------------------------------------
| State Message
|--------------------------------------------------------------------------
*/

.pp-registration-card-state {
    margin-top: 8px;

    font-size: 12px;

    line-height: 1.5;

    color: #6b7280;
}


/*
|--------------------------------------------------------------------------
| Full Message
|--------------------------------------------------------------------------
*/

.pp-registration-card-state-full {
    color: #6b7280;
}


/*
|--------------------------------------------------------------------------
| Closed Message
|--------------------------------------------------------------------------
*/

.pp-registration-card-state-closed {
    color: #6b7280;
}


/*
|--------------------------------------------------------------------------
| Completed Message
|--------------------------------------------------------------------------
*/

.pp-registration-card-state-completed {
    color: #166534;
}

@media(max-width:768px){

    .pp-col-25,
    .pp-col-33,
    .pp-col-50,
    .pp-col-66,
    .pp-col-75,
    .pp-col-100{

        width:100%;

    }

}