:root {
    --rgcyan: rgb(37, 147, 162);
    --rgcyantext: rgb(29, 81, 88);
    --rgmaroontext: rgb(106, 0, 0);
    --rgErrorRed: #ba0000;
    --rgcyanback: rgb(133, 212, 222, 0.35);
    --rgwhiteback: rgb(155, 255, 175, 0.67);
    --gpdarkgreen: #016710;
    --btnminwidth: 44px;
    --btnminheight: 20px;
    /* TODO: create variables "clamp" for defualt font sizes*/

    --fontsizemedsm: clamp(0.75rem, 0.416vw + 0.67rem, 1rem);
    --fontsizemed: clamp(0.875rem, 0.625vw + 0.75rem, 1.25rem);
    --fontsizemedlg: clamp(1.125rem, 0.625vw + 1rem, 1.5rem);
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* Fonts */
@font-face {
    font-family: "RGPirate";
    src: local("RGPirate"), url('/fonts/TradeWinds-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}


@font-face {
    font-family: "RGSansSerif";
    src: local("RGSansSerif"), url('/fonts/Questrial-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "RGButton";
    src: local("RGButton"), url('/fonts/NanumPenScript-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}


/* Custom */

/* shh! */
.x3sfoifew {
    display: none;
}

input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
    display: none;
}

/*body {
    background: linear-gradient(90deg,rgba(37, 147, 162, .65) 0%, rgba(255, 196, 48, .65) 25%, rgba(253, 121, 19, .65) 50%, rgba(255, 196, 48, .65) 75%, rgba(87, 199, 133, 1) 100%);
}
*/





.rgmark {
    font-family: RGPirate, 'Sans Serif Collection';
}

    .rgmark:hover {
        color: var(--rgcyan);
        text-shadow: 0 0 10px #00ff00, 0 0 20px #00ff00, 0 0 30px #00ff00;
        transition: 300ms;
    }

.workbody {
    overflow-y: auto;
    height: 93vh;
}

.halfhr {
    width: 50%;
    align-self: center;
    justify-self: center;
}

.form-control {
    border-radius: 5px;
    /*width: min(60%, 600px);*/
    max-width: 600px;
    justify-self: center;
    padding: 0 0 0 3px;
}

.form-select {
    border-radius: 5px;
    /*width: min(60%, 600px);*/
    max-width: 600px;
    justify-self: center;
    padding: 0 0 0 3px;
}

.rginputgroup {
    padding: 0 0 0 3px;
    margin-left: 8px;
    margin-top: 0;
}

.rgform-icon {
    height: 32px;
    padding: 2px;
}

.rgbody {
    font-family: RGSansSerif, 'Sans Serif Collection';
    background: linear-gradient(90deg,rgba(37, 147, 162, .65) 0%, rgba(255, 196, 48, .65) 25%, rgba(253, 121, 19, .65) 50%, rgba(255, 196, 48, .65) 75%, rgba(87, 199, 133, 1) 100%);
}

.rgpagebody {
    font-family: RGSansSerif, 'Sans Serif Collection';
}


.cyanback {
    background: linear-gradient(#00bcde 15%, #008ba4);
}

.gpsmalltext {
    font-size: clamp(0.6rem, 1.2vh, 0.8rem);
}

.hidesmall {
    color: black;
}

/*
.pirate-hr {
    border: 0;
    height: 14px;
    margin: 30px 0;
    background: repeating-linear-gradient( 45deg, #8b5a2b 0px, #8b5a2b 6px, #c49a6c 6px, #c49a6c 12px );
    border-radius: 8px;
    box-shadow: 0 3px 0 #5a3515, inset 0 2px 3px rgba(255,255,255,.3);
}
    */

.rghr {
    border: 2px solid var(--rgcyan);
    width: 100%;
    height: 16px;
}

.rgw-75 {
    width: fit-content;
    max-width: 75%;
}

.rgw-50 {
    width: fit-content;
    max-width: 50%;
}

.frostedcard {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 12px;
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}


.frostedtextcard {
    background: rgb(255, 255, 255, 0.6);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border-radius: 12px;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    color: black;
    place-self: safe center;
}


.frostedformcard {
    /*background: rgb(255, 255, 255, 0.5);*/
    /*background: #b0d6ddc5;*/
    background: #FFE38Fc5;
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border-radius: 12px;
    padding: 8px;
    border: 2px solid rgba(0, 0, 0, 0.3);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    color: black;
    height: 100%;
}


.glasscard {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.frosted-glass-cyber {
    /* Glass base */
    background: rgba(0, 255, 255, 0.08); /* faint cyan tint */
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    /* Edge definition */
    border: 2px solid rgba(0, 255, 255, 0.25);
    /* Bevel + glow combo */
    box-shadow: inset 1px 1px 2px rgba(255, 255, 255, 0.5), /* highlight */
    inset -1px -1px 3px rgba(0, 0, 0, 0.3), /* shadow */
    0 0 12px rgba(0, 255, 255, 0.25), /* cyan glow */
    0 0 20px rgba(255, 255, 0, 0.15); /* yellow glow */
    /* Gradient sheen for bevel illusion */
    background-image: linear-gradient( 145deg, rgba(37, 147, 162, 0.35), /* cyan highlight */
    rgba(255, 255, 0, 0.08) /* subtle yellow warmth */
    );
    border-radius: 10px;
    padding: 8px;
    color: #eaffff;
    border: 1px solid rgba(255, 255, 255, 0.0);
}

/*    .frosted-glass-cyber:hover {
        box-shadow: inset 1px 1px 2px rgba(255, 255, 255, 0.6), inset -1px -1px 3px rgba(0, 0, 0, 0.35), 0 0 18px rgba(0, 255, 255, 0.45), 0 0 30px rgba(255, 255, 0, 0.25);
        border: 1px solid rgba(255, 255, 0, 0.4);
    }
*/



.frosted-glass-white {
    /* Glass base */
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    /* Edge definition */
    border: 2px solid rgba(255, 255, 255, 0.65);
    border-radius: 10px;
    padding: 8px;
    color: #eaffff;
}



.userbadgea {
    text-decoration: none;
    color: inherit;
}



.userbadge {
    background: rgb(255, 255, 255, 0.5);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border-radius: 50%;
    padding: 5px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 8px 32px rgba(255, 255, 255, 0.3);
    color: var(--rgcyan);
    font-size: clamp(12px, 1vw + 0.5rem, 18px);
    font-weight: 600;
    transition: 200ms;
}

    .userbadge:hover {
        border: 1px solid rgba(255, 255, 255, 0.75);
        transform: scale(105%);
        box-shadow: 0 8px 32px rgba(255, 255, 255, 0.9);
    }

.rgNewPassword {
    margin: 8px;
}

.vcodeinput {
    width: 150px;
}

.card50 {
    width: 50%;
    justify-self: center;
    margin-top: 24px;
}

.section-footer {
    margin-top: 8px !important;
    border-top: 2px inset;
    background-color: rgba(0, 0, 0, 0.08);
}


.logincard {
    width: clamp(300px, 45vw, 800px);
    max-width: 650px;
    animation: kf-card-zoom-out 500ms ease-in;
    animation-iteration-count: 1;
}


.profilecard {
    width: clamp(380px, 75vw, 2000px);
    max-width: 1500px;
    animation: kf-card-zoom-out 500ms ease-in;
    animation-iteration-count: 1;
}

.rgwarningbox {
    width: 75%;
    margin: 8px;
    max-width: 900px;
    /*display: flex;
    flex-direction: column;
    align-items: center;*/
}

.rgwarningtitle {
    font-size: clamp(1.25rem, 0.83vw + 1.0rem, 1.75rem);
    font-family: RGPirate;
    text-align: center;
    text-wrap: nowrap;
    background: #be0000;
    color: #f2d631;
}


.rgwarningtext {
    border-radius: 8px;
    border: 3px solid #d4af37;
    background: linear-gradient(#eada79,#f2d631);
    text-align: left;
    text-wrap: pretty;
    padding: 2px;
    color: #be0000;
    margin: 4px;
    padding: 0 1em;
    font-size: clamp(12px, 1vw + 0.5rem, 16px);
}





.rgpopmodal {
    display: block;
    overflow-y: auto;
    z-index: 3000;
    background: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(6px) saturate(105%);
    -webkit-backdrop-filter: blur(6px) saturate(105%);
}


.rgwhiteback {
    background-color: rgba(255, 255, 255, 0.75);
    border-radius: 10px;
    padding: 8px;
    border: 1px solid rgba(0, 0, 0, 0.4);
}


/* Original Torn Paper */
/*.rgpopup {
    padding: 4px;*/
/*box-shadow: rgba(107,195,110,0.5) 5px 10px;*/
/*background: rgba(255, 255, 255, 0.98);*/

/*padding: 20px;*/
/*border: 1px solid rgba(255, 255, 255, 0.25);*/
/*color: #fffdf5;*/
/*background-image: linear-gradient(135deg, #fffdf5 0%, #f7f0dd 100%);*/
/*border: 5px solid;
    border-image: linear-gradient(45deg, #834c00, rgb(215, 166, 46)) 1;
    border-radius: 35px;
    background-image: url(/images/TreasureMapBack2.png);
    background-repeat: no-repeat;
    background-size: auto;
    background-position: center;
    background-color: #00000000;
    font-family: RGButton, 'Sans Serif Collection';*/
/*clip-path: polygon(0% 5%, 5% 10%, 15% 5%, 25% 0%, 35% 0%, 45% 2%, 50% 3%, 51%,5%, 52% 6%, 53% 7%, 54%, 9%, 55% 10%, 65% 0%, 75% 9%, 85% 0%, 95% 7%, 100% 0%, 100% 90%, 95% 100%, 85% 88%, 75% 100%, 65% 96%, 55% 100%, 45% 89%, 35% 100%, 25% 90%, 15% 100%, 5% 92%, 0% 100%);*/
/*clip-path: polygon( 0% 5%, 5% 10%, 15% 5%, 25% 0%, 35% 0%, 45% 2%, 55% 12%, 65% 0%, 75% 9%, 85% 0%, 95% 7%, 100% 0%, 100% 90%, 95% 100%, 85% 96%, 75% 100%, 65% 90%, 55% 100%, 45% 94%, 35% 100%, 23% 98%, 25% 94%, 15% 100%, 5% 94%, 0% 100% );
    width: clamp(390px, 80vw, 1500px);
    justify-items: center;
}

            .rgpopup .modal-header {
        border: none;
        align-items: center;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-content: space-between;
        width: 100%;
    }

    */

.rgpopup {
    padding: 4px;
    box-shadow: rgba(0,0,0,0.3) 10px 20px 20px;
    /*background: rgba(255, 255, 255, 0.98);*/

    padding: 20px;
    /*border: 1px solid rgba(255, 255, 255, 0.25);*/
    background: rgba(0, 0, 0, 0.1);
    border-radius: 35px;
    font-family: RGSansSerif, 'Sans Serif Collection';
    width: clamp(390px, 80vw, 1500px);
    justify-items: center;
}



    .rgpopup .modal-header {
        border: none;
        align-items: center;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-content: space-between;
        width: 100%;
        padding: 0;
        border-bottom: 2px solid var(--rgcyan);
    }

    .rgpopup h3 {
        font-size: 1.6rem;
    }

.rgpopupbody {
    width: 100%;
    align-self: center;
    background: radial-gradient(circle, white 0%, rgba(255, 255, 255, 0.4 ) 70%, transparent 100%);
}

.rgpopup .modal-footer {
    border-top: 1px solid var(--rgcyan);
    flex-wrap: nowrap;
    width: 100%;
}

.rgpopup .rgpoptext {
    font-size: 1.25rem;
    background: rgba(255, 255, 255, 0.45);
    clip-path: polygon( 0% 5%, 5% 10%, 15% 5%, 25% 0%, 35% 0%, 45% 2%, 55% 12%, 65% 0%, 75% 9%, 85% 0%, 95% 7%, 100% 0%, 100% 90%, 95% 100%, 85% 92%, 75% 100%, 65% 90%, 55% 100%, 45% 92%, 35% 100%, 25% 90%, 15% 100%, 5% 92%, 0% 100% );
    color: maroon;
    min-height: 4rem;
    text-align: center;
    border-radius: 20px;
    font-size: clamp(16px, 1vw + 1rem, 24px);
}

.rgpopup .rgpoptextbig {
    font-size: 2rem;
    line-height: 0.9;
    padding-top: 1rem;
    padding-bottom: 1rem;
    height: fit-content;
    width: fit-content;
}

.rgpopupvalidationerror {
    color: red;
    font-size: 1.1em;
}

.rgpopupdlg {
    /* future use */
}




.gplabel {
    padding-left: 1rem;
    vertical-align: middle;
    font-weight: 600;
    font-size: 0.9rem;
    text-align: left;
    margin-bottom: 0;
}

.gpcenterlabel {
    vertical-align: middle;
    font-weight: 600;
    font-size: 0.9rem;
    text-align: center;
    margin-bottom: 0;
}


.gpcontrol {
    /*place-self: start;*/
    width: clamp(250px, 42vw, 600px);
}

.rgswitch {
    height: 1.25rem;
    width: 40px !important;
    border: 1px solid blue;
}

    .rgswitch:checked {
        background-color: var(--rgcyan);
    }

.rgswitchdiv {
    text-align: left;
    vertical-align: middle;
}

.helptitle {
    font-family: RGPirate, 'Sans Serif Collection';
    font-size: clamp(1.0rem, 2.75vw, 1.25rem);
}

.helptier {
    width: 5rem;
    height: auto;
}

.helptext {
    font-size: clamp(12px, 1vw + 1rem, 16px);
    text-wrap: pretty;
}


.helpsidetext {
    font-size: clamp(11px, 1vw + 0.75rem, 14px);
    text-wrap: pretty;
    font-style: italic;
}

.treasuremaplogo {
    height: auto;
    width: clamp(200px, 25vw, 300px);
}


.treasuremaplogosm {
    width: clamp(125px, 12vw, 200px);
    height: auto;
}

.fulldiv {
    width: auto;
    min-height: 850px;
}

.homediv {
    min-height: 770px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-items: center;
    align-items: center;
    min-width: 380px;
}


.homesubdiv {
    margin-bottom: 8px;
}

.hometext {
    width: clamp(380px, 40vw, 1000px);
    text-wrap: pretty;
    font-size: 1.1rem;
}

.homebadge {
    width: max(75%, 200px);
    align-content: center;
}

.workingdiv {
    padding-top: 40px;
    width: auto;
    min-height: 950px;
}


.rgheader {
    display: flex;
    flex-direction: row;
    border-bottom: 3px solid rgba(253, 121, 19, 1);
    text-wrap: balance;
    text-align: center;
    background: white;
    align-items: center;
}

    .rgheader h1 {
        color: var(--rgcyan);
        font-size: clamp(1.05rem, 2.75vw, 1.75rem);
        margin-top: 0.5em;
        text-align: center;
        width: 100%;
    }

.rgheaderlogo {
    height: clamp(35px, 5dvw, 50px);
    margin: clamp(2px, 5dvw, 4px);
}






.rgsubheader {
    border-radius: 15px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
}




.rgsearch {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: start;
    width: 40%;
    gap: 5px;
}

.rgsearchgroup {
    margin: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 65%;
    justify-content: start;
}

    .rgsearchgroup .form-control {
        height: 32px;
    }




.rgad {
    width: 50%;
    border: 2px solid var(--rgcyan);
    height: 60px;
    text-align: center;
    align-content: center;
    justify-self: center;
    margin-bottom: 8px;
}

.rggradientbackground {
    background: linear-gradient(90deg,rgba(37, 147, 162, 1) 0%, rgba(255, 196, 48, 1) 25%, rgba(253, 121, 19, 1) 50%, rgba(255, 196, 48, 1) 75%, rgba(87, 199, 133, 1) 100%, rgba(37, 147, 162, 1) 100%);
}


.rglogobackground {
    background-image: url('images/RGFull2.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.rgannouncement {
    font-family: 'RGPirate', sans-serif;
    font-size: clamp(0.9rem, 1.25vw, 1.3rem);
    text-align: center;
    text-wrap: balance;
}


.rginfotext {
    border-radius: 8px;
    border: 2px solid rgba(0, 0, 0, 0.25);
    background: linear-gradient(#ffec7e, #fcd805);
    text-align: left;
    text-wrap: pretty;
    width: fit-content;
    padding: 1px 4px;
    margin: 2px 2px 4px 2px;
    place-self: center;
}

    .rginfotext p {
        padding: 4px 16px;
        line-height: 1.15em;
        text-align: left;
    }


.gpValidationError {
    color: var(--rgErrorRed);
    background: #ffffff94;
    align-self: center;
    justify-self: center;
    border-radius: 4px;
    margin-bottom: 8px;
    padding: 4px;
}

/* Used by password widgets */
.rgValidationError {
    color: red;
    font-size: 1rem;
    text-align: center;
    width: 50%;
    background: #ffffffd4;
    align-self: center;
    justify-self: center;
    border-radius: 5px;
    margin-bottom: 8px;
    padding: 4px;
}


.rgskullicon {
    width: 25%;
}

h1 {
    font-family: RGPirate, 'Sans Serif Collection', sans-serif;
    text-align: center;
}

h2 {
    font-family: RGPirate, 'Sans Serif Collection', sans-serif;
    text-align: center;
}

h3 {
    font-family: RGPirate, 'Sans Serif Collection', sans-serif;
    text-align: center;
}

h4 {
    font-family: RGPirate, 'Sans Serif Collection', sans-serif;
    text-align: center;
}


.sidehead {
    font-style: italic;
    font-size: clamp(0.8em, 2vw 1.1em);
    text-align: center;
    padding: 0;
    margin: 4px;
}

.profileform {
    width: clamp(320px, 85%, 750px);
    max-width: 800px;
    place-self: center;
}

    .profileform .row {
        margin-bottom: 4px;
    }

.gpaddress {
    text-align: left;
    border: 5px solid;
    border-image: linear-gradient(45deg, #834c00, rgb(215, 166, 46)) 1;
    border-radius: 35px;
}


.gpsearchresults {
    margin: 4px;
    min-height: 100px;
    max-height: 600px;
    overflow: auto;
    /*scrollbar-color: var(--rgcyan) var(--rgcyanback);*/
}

    .gpsearchresults::-webkit-scrollbar {
        background: linear-gradient(yellow, maroon);
        border-radius: 6px;
    }

    .gpsearchresults::-webkit-scrollbar-thumb {
        background: linear-gradient(maroon, yellow);
        /*background: rgba(255, 255, 255, 0.1);*/
        border: 2px solid #3b2f2f;
        border-radius: 10px;
        transition: 100ms;
    }

        .gpsearchresults::-webkit-scrollbar-thumb:hover {
            border: 4px solid #3b2f2f;
            background: linear-gradient(#d90000, yellow);
        }



/* *** Footer *** */

.gpfooter {
    padding-left: 10px;
    border: none;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 6px;
    margin: 0;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: clamp(28px, 3vh, 36px);
}

.footerlinks {
    display: flex;
    gap: 16px;
}

    .footerlinks a {
        color: black;
        transition: 150ms;
    }

        .footerlinks a:hover {
            transform: scale(115%);
        }


.GrilloPadLogo {
    height: clamp(16px, 1.5vh, 20px);
    transition: 150ms;
}

    .GrilloPadLogo:hover {
        transform: scale(150%) translate(0, -30px);
    }

/* ***** */

.rgnav-link {
    color: var(--gpdarkgreen) !important;
    border: none;
    background-color: transparent;
    width: 8rem;
    margin-top: 10px;
}

    .rgnav-link.active {
        background-color: var(--gpdarkgreen);
        color: white !important;
    }

        .rgnav-link.active:hover {
            background-color: purple;
            transform: translate(2px,-2px);
            transition: 200ms;
        }





/*// subscription cards*/
.subscribegroup {
}

.cyanbackground {
    background-color: var(--rgcyanback);
    border: 1px solid rgba(0, 0, 0, 0.35);
    border-radius: 10px;
    margin-bottom: 16px;
    margin-top: 8px;
}

.whitebackground {
    /*background-color: var(--rgwhiteback);*/
    background: linear-gradient(#ffd75a, #ffb100);
    border: 1px solid rgba(0, 0, 0, 0.35);
    border-radius: 10px;
    margin-bottom: 16px;
    margin-top: 8px;
}




/*.card-group > .subscribecard {
    flex: 1 0 0%;
}
*/
.card {
    background-color: transparent;
}


.dlg {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-content: center;
}




.subscribecard {
    /*background: rgba(255, 255, 255, 0.1);*/
    position: relative;
    display: flex;
    flex-direction: column;
    word-wrap: break-word;
    text-wrap: pretty;
    min-width: 0;
    max-width: 300px !important;
    margin-bottom: 0.75rem;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 10px;
}

    .subscribecard.selected {
        border: 3px solid var(--rgcyan);
        transform: translateY(-4px);
    }

    .subscribecard .card-header {
        height: 90px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        align-content: center;
    }

    .subscribecard .card-body {
        background-color: transparent;
    }

.subscribelogo {
    height: 100%;
    width: auto;
}

.profilebody {
    width: 100%;
}


    .profilebody h4 {
        font-size: calc(1rem + 0.5vw);
    }

/* profile list*/
.profilelistcard {
    word-wrap: break-word;
    text-wrap: pretty;
    min-width: 0;
    width: clamp(390px, 60vw, 700px);
    max-width: 1000px;
    max-height: 200px;
    margin-bottom: 0.5rem;
    padding: 8px;
    border: 1px solid var(--rgcyan);
    border-radius: 10px;
}

.profilelistbody {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}


.profilelistlogodiv {
    width: max(80px, 20%);
    height: 100%;
}

.profilelistlogo {
    height: auto;
    width: 100%;
    justify-self: center;
    align-self: center;
}

.profilelistdetails {
    padding: 16px;
    display: flex;
    flex-direction: column;
    width: 60%;
}

.profilelistname {
    font-size: clamp(24px, 0.833vw + 21px, 32px);
    font-weight: bold;
}

.profilelisttierdiv {
    width: max(64px, 10%);
}

.profilelistfooter {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-content: center;
    padding-left: 8px;
}

/* *************** */

.profileviewcard {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    word-wrap: break-word;
    text-wrap: pretty;
    min-width: 0;
    margin-bottom: 0.5rem;
    padding: 8px;
    border-radius: 10px;
    justify-content: space-between;
}

.profileviewheader {
    display: flex;
    flex-direction: column;
    word-wrap: break-word;
    text-wrap: pretty;
    width: 100%;
    justify-content: space-between;
}



.profileviewdetails {
    padding: 16px;
    /*background-color: #ffffffab;*/



    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: nowrap;
    margin-top: 8px;
}

.profileviewname {
    font-size: clamp(24px, 2dvw + 1rem, 36px);
    line-height: clamp(30px, 2dvw + 1rem, 40px);
    font-weight: 600;
    background: linear-gradient(135deg, black 0%, black 30%, var(--rgcyan) 60%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    text-wrap: balance;
}


.profileviewname-sm {
    font-size: clamp(20px, 2dvw + 1rem, 32px);
    line-height: clamp(26px, 2dvw + 1rem, 36px);
    font-weight: 600;
    /*background: linear-gradient(135deg, #e50000, var(--rgcyan));*/
    background: linear-gradient(135deg, black 0%, black 30%, var(--rgcyan) 60%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    text-wrap: balance;
}



.profileviewtype {
    font-size: 1rem;
    font-weight: bold;
    padding: 0;
    margin: 0;
    line-height: 1.1rem;
}

.profileviewtier {
    width: 1.2em;
    height: auto;
    margin-left: 0.5em;
}


.profileviewdata {
    font-size: clamp(0.75rem, 1dvw + 1rem, 1.05rem);
    line-height: 1.2em;
    color: var(--rgmaroontext);
}

.profileviewdesc {
    text-align: left;
    margin-top: 8px;
    font-size: clamp(0.75rem, 0.95dvw + .5rem, 1.25rem);
    border: 1px solid rgba(0, 0, 0, 0.35);
    border-radius: 10px;
    padding: 8px;
    text-wrap: pretty;
    word-break: break-word;
}

    .profileviewdesc p {
        line-height: 1.25em;
        margin: 0;
        padding: 0;
    }


.profileviewlogodiv {
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
    margin-right: 8px;
    /*width: max(25%, 300px);*/
}


.profileviewdefault {
    height: 200px;
    width: 100%;
    background-color: #ffffffab;
    border: 1px solid rgba(0, 0, 0, 0.35);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}


    .profileviewdefault h3 {
        rotate: -5deg;
    }

.profileviewlogo {
    width: auto;
    height: auto;
    max-height: 150px;
    max-width: clamp(100px, 25dvw, 250px);
    place-self: center;
}



.profileviewpicdiv {
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
}


.profileviewpic {
    width: auto;
    height: auto;
    max-height: 350px;
    min-height: 150px;
    place-self: center;
}

.profileviewbody {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 250px;
    justify-content: space-between;
    align-content: center;
}



.profileviewrow {
    word-wrap: break-word;
    text-wrap: pretty;
    margin: 16px;
}



.singlegroup {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    justify-content: center;
    align-self: center;
    width: clamp(200px, 100%, 1000px);
}





.datagroup {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    justify-content: space-between;
}

    .datagroup h4 {
        padding: 4px;
        margin: 0;
    }

.bordersides {
    border-left: rgba(0, 0, 0, 0.4) 1px solid;
    border-right: rgba(0, 0, 0, 0.4) 1px solid;
    padding-left: 8px;
    padding-right: 8px;
}


.profileviewsubstats {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-content: center;
    /*background: linear-gradient(#ffd75a, #ffb100);*/
    background: linear-gradient(#ffe593, #ffc646);
    margin-bottom: 8px;
    border-radius: 10px;
    border: rgba(0, 0, 0, 0.4) 1px solid;
}




.profileviewsub {
    width: 40%;
    min-width: 200px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    align-items: center;
    margin-bottom: 8px;
    height: 170px;
}




.profileviewsubicon {
    width: auto;
    margin: auto;
    height: 100px;
}

    .profileviewsubicon p {
        font-family: RGPirate, 'Sans Serif Collection';
        font-size: clamp(12px, 2dvw + 0.5rem, 18px);
        width: 100%;
    }


.profileviewsubiconimg {
    /*width: min(80%, 100px);
    height: auto;*/
    width: auto;
    height: 90px;
    margin: auto;
}




.upgradebutton {
    display: inline-block;
    padding: .2rem 0.8rem;
    background: linear-gradient(#ffd75a, #ffb100);
    color: #4b2500;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    border: 2px solid #b67c00;
    border-radius: 999px;
    box-shadow: 0 4px 0 #8c5d00;
    transition: all .15s ease;
    cursor: pointer;
    width: fit-content;
}

    .upgradebutton:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 10px rgba(0,0,0,.25);
    }

    .upgradebutton:active {
        transform: translateY(2px) rotate(-5deg);
        box-shadow: none;
    }

/* Richie's Guide Official Buttons */
.btn-richie {
    display: inline-block;
    padding: 8px 8px;
    border-radius: 8px;
    font-family: RGSansSerif, Georgia, serif;
    font-size: clamp(0.75rem, 0.583vw + 0.63rem, 1.1rem);
    line-height: 1.05em;
    letter-spacing: 1px;
    text-shadow: 1px 1px 1px #000;
    box-shadow: 0 5px 5px rgba(0,0,0,.35);
    transition: 250ms;
    height: fit-content;
    text-decoration: none;
    min-width: var(--btnminwidth);
    min-height: var(--btnminheight);
}



    .btn-richie:active {
        background: linear-gradient( #5b2f0d, #8b4513);
        transform: translate(2px, 2px);
        text-shadow: 2px 2px 2px #000;
    }

    .btn-richie .btnicon {
        height: 24px;
        width: auto;
    }




.btn-richie-primary {
    /*background: linear-gradient(#8b4513, #5b2f0d);*/
    background: linear-gradient(#EAD484, #FDA865);
    /*color: #ffd700;*/
    color: black;
    border: 3px solid #d4af37;
}

    .btn-richie-primary:hover {
        background: linear-gradient( #FDA865, #EAD484);
        color: #d30000;
        transform: scale(1.05);
        box-shadow: 0 8px 12px rgba(0,0,0,.35);
        transition: 250ms;
    }

    .btn-richie-primary:disabled {
        background: linear-gradient(white, rgb(150, 146, 146));
        color: #5b5b5b;
        border-color: white;
    }


        .btn-richie-primary:disabled:hover {
            transform: none;
            box-shadow: none;
            text-decoration: line-through;
        }

    .btn-richie-primary:active {
        transform: translate(4px, 4px) rotate3d(1,1,0, 45deg);
        text-shadow: 2px 2px 2px #000;
    }

.btn-richie-cancel {
    /*background: linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.8));
    
    color: red;
    border: 3px solid #d4af37;*/
    background: linear-gradient(#f5de91, #fae7b1);
    color: #cf8b00;
    border: 3px solid #b79622;
}

    .btn-richie-cancel:hover {
        color: red;
        background: linear-gradient( #fae7b1, #f5de91);
        border-color: #b75d22;
        transform: scale(1.05);
        box-shadow: 0 8px 12px rgba(0,0,0,.35);
    }

    .btn-richie-cancel:disabled {
        background: linear-gradient(#e6e6e6, #b8b8b8);
        color: #333;
        border: 3px solid transparent;
    }

        .btn-richie-cancel:disabled:hover {
            transform: none;
            box-shadow: none;
            text-decoration: line-through;
        }

    .btn-richie-cancel:active {
        transform: translate(4px, 4px) rotate(-8deg);
    }


.btn-richie-sm {
    font-size: 0.8rem;
    padding: 0.4rem 0.4rem;
    line-height: 1.1em;
}

.btn-richie-mini {
    font-size: 0.6rem;
    padding: 0.2rem 0.2rem;
    line-height: 1.0em;
}

    .btn-richie-mini .btnicon {
        height: 14px;
        width: auto;
    }

@media (max-width: 768px) {

    .btn-richie .btnicon {
        height: 24px;
        width: auto;
    }

    .btn-richie-sm {
        font-size: 0.65rem;
        padding: 4px 4px;
    }

        .btn-richie-sm .btnicon {
            height: 16px;
            width: auto;
        }

    .btn-richie {
        padding: 4px 4px;
    }
}


/* Glass buttons */
.btn-glass {
    display: inline-block;
    padding: 4px 4px;
    border-radius: 8px;
    font-family: RGSansSerif, Georgia, serif;
    font-size: 1.1rem;
    line-height: 1.05em;
    letter-spacing: 1px;
    transition: 250ms;
    height: fit-content;
    text-decoration: none;
    background: linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.25));
    ;
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    min-width: var(--btnminwidth);
}


    .btn-glass:active {
        background: linear-gradient(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.75));
        transform: translate(2px, 2px);
        text-shadow: 2px 2px 2px #000;
    }

    .btn-glass:hover {
        transform: scale(1.05);
        box-shadow: 0 8px 12px rgba(255,255,255,.35);
        outline: 2px solid gold;
    }


.btn-glass-icon {
    height: 32px;
    width: auto;
}

@media (max-width: 768px) {
    .btn-glass-icon {
        /*   width: clamp(40px,2.5vw + 32px, 64px );*/
        height: 24px;
        width: auto;
    }
}

/* *********** */

.btn-pirate {
    display: inline-block;
    padding: .8rem 1.8rem;
    background: linear-gradient(#8b4513, #5b2f0d);
    color: #ffd700;
    border: 3px solid #d4af37;
    border-radius: 8px;
    font-family: RGSansSerif, Georgia, serif;
    font-size: 1.1rem;
    font-weight: bold;
    letter-spacing: 1px;
    text-shadow: 1px 1px 2px #000;
    box-shadow: 0 5px 12px rgba(0,0,0,.35);
    transition: .2s;
}

    .btn-pirate:hover {
        background: linear-gradient(#a0522d, #6b3b14);
        transform: rotate(-2deg) scale(1.05);
    }


.btn-pirate-sm {
    font-size: 0.9rem;
    padding: 0.5rem 0.7rem;
}

.btn-pirate-group-item {
    font-size: 0.85rem;
    padding: 1px 4px 1px 4px;
}

.rgselectbtn {
    border: 2px solid var(--rgcyan);
    color: white;
    background-color: var(--rgcyan);
    font-weight: bold;
    transition: 100ms;
    font-size: 0.85em;
    border-radius: 8px;
}

    .rgselectbtn:hover {
        color: var(--rgcyan);
        background-color: rgb(222, 222, 222);
    }

    .rgselectbtn:active {
        transform: translateY(2px) rotate(-5deg);
        box-shadow: none;
    }


.btnicon {
    height: 70%;
    width: auto;
}




/* Widget Dlgs */

.profilebasicsform {
    /*background: linear-gradient(#ffd75a, #ffb100);*/
    border-radius: 10px;
    border: 1px solid rgba(0,0,0,0.35);
    box-shadow: 0 4px 8px rgba(0,0,0,0.25);
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.profilebasicsdetail {
    justify-items: start;
}



.profiledlgcard {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 8px;
    border-radius: 10px;
    justify-content: space-evenly;
    width: 100%;
    /*background: linear-gradient(#ffd75a, #ffb100);*/
    /*background: linear-gradient(#00bcde 15%, #008ba4);*/
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(16px) saturate(100%);
    -webkit-backdrop-filter: blur(16px) saturate(100%);
}

.profiledlgbody {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-content: center;
    flex-grow: 1;
}

.profiledlginfo {
    padding: 8px;
    width: clamp(400px, 95%, 800px);
}

.profiledata {
    color: black;
    text-wrap: pretty;
    word-break: break-word;
}




.profiledlgtitle {
    font-family: RGPirate, 'Sans Serif Collection';
    font-size: clamp(21px, 1dvw + 0.75rem, 30px);
}

.profiledlgwidget {
    width: 100%;
    border-radius: 5px;
    padding: 4px;
    margin: auto;
    background: linear-gradient(rgba(255, 255, 255, 0.6) 10%, rgba(255, 255, 255, 1));
    border: 1px solid maroon;
}



/* Profile Contact */
.contactbody {
}

.contacttable {
    /*background-color: rgb(133, 212, 222, 0.55);*/
    place-self: center;
    text-wrap: nowrap;
    font-size: clamp(13px, 1dvw + 0.5rem, 16px);
    text-align: left;
    border-radius: 10px;
    margin-bottom: 8px;
    width: clamp(200px, 75%, 350px);
}

    .contacttable tr {
    }


    .contacttable th {
        text-align: center;
        padding-left: 4px;
        padding-right: 4px;
        font-weight: normal;
    }

    .contacttable td {
        color: maroon;
        padding-left: 4px;
        padding-right: 4px;
    }

    .contacttable .btnrow {
        width: 100%;
    }



/* Profile Members */
.membertable {
    width: 100%;
    background-color: rgb(255,255,255, 1);
    place-self: center;
    text-wrap: nowrap;
    font-size: clamp(13px, 1dvw + 0.5rem, 16px);
    color: maroon;
    text-align: left;
    border-radius: 10px;
    margin-bottom: 8px;
    margin-top: 8px;
    border: 1px solid gray;
}



    .membertable td {
        padding: 4px 3px;
    }

/* Profile Links */

.linktable {
    width: 100%;
    /*background-color: rgb(133, 212, 222, 0.55);*/
    place-self: center;
    border-radius: 5px;
    text-wrap: nowrap;
    font-size: clamp(13px, 1dvw + 0.5rem, 16px);
    color: maroon;
    text-align: left;
    border-radius: 10px;
    margin-bottom: 16px;
}




.linkcard {
    padding: 0 0 8px 0;
    min-width: 200px;
    width: 100%;
    height: 100%;
}


.linkview {
    display: flex;
    flex-direction: column;
    padding-left: 16px;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: space-evenly;
    align-content: space-evenly;
}

.linktext {
    width: 10px;
}

.profilelink {
    width: 90%;
    padding: 2px 4px 2px 4px;
    border: 2px solid transparent;
    font-size: 0.9rem;
    text-wrap: nowrap;
    transition: 150ms;
}


    .profilelink a {
        text-decoration: none;
        color: maroon;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
    }

    .profilelink:hover {
        border: 2px outset;
        background-color: rgba(255, 255, 255, 0.6);
        border-radius: 5px;
    }


    .profilelink:active {
        border: 2px outset;
        background-color: rgba(255, 255, 255, 0.8);
    }


.profilelinktypeicon {
    height: 28px;
    width: auto;
    margin-right: 1rem;
    background-color: white;
}

@media (max-width:786px) {
    .profilelinktypeicon {
        height: 16px;
        padding: 0;
    }
}


/* QR Codes */

.qrcard {
    padding: 0 0 8px 0;
    margin: 8px;
    min-width: 200px;
    width: clamp(200px, 50%, 400px);
}

.qrdiv {
}


.qrcodeimage {
    width: 128px;
    height: auto;
}


/* Search */

.addressline {
    padding-top: 4px;
    line-height: 1rem;
}

.SearchAddress {
    font-size: 0.9rem;
    width: 100%;
    padding: 0;
}

    .SearchAddress .row {
        padding: 0;
        margin: 0;
    }

    .SearchAddress .gplabel {
        font-size: 0.8rem;
        text-align: left;
        padding: 0;
        text-wrap: nowrap;
        width: fit-content;
    }

    .SearchAddress .addressline {
        display: flex;
        flex-direction: column;
    }


/* Artist Slots*/
.rgartistslottable {
    border: 2px solid maroon;
    background: linear-gradient(45deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.8));
}

    .rgartistslottable th {
        background-color: maroon;
        color: #FFD14B;
        border: 1px solid gray;
    }

/* Buttons */
/* Container just for centering */
.wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}

    .wrapper a {
        text-decoration: none;
    }

.btnrow {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    gap: 4px;
    padding: 4px;
    margin: 0;
    flex-wrap: wrap;
}

.btnrowv {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-content: center;
    align-items: center;
    gap: 4px;
    padding: 4px;
    margin: 0;
    flex-wrap: wrap;
}




.torn-btn {
    position: relative;
    padding: 0.35rem 1.0rem;
    font-family: RGButton, 'Script MT', sans-serif;
    /*background: #fffdf5;*/
    text-wrap: nowrap;
    height: 2.5rem;
    border: none;
    width: fit-content;
    font-size: min(1.45em, 24px);
    text-align: center;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: 2px;
    background-image: linear-gradient(135deg, #fffdf5 0%, #f7f0dd 100%);
    text-decoration: none !important;
    color: black;
    clip-path: polygon( 0% 10%, 5% 0%, 15% 8%, 25% 0%, 35% 10%, 45% 2%, 55% 12%, 65% 0%, 75% 9%, 85% 0%, 95% 7%, 100% 0%, 100% 90%, 95% 100%, 85% 92%, 75% 100%, 65% 90%, 55% 100%, 45% 92%, 35% 100%, 25% 90%, 15% 100%, 5% 92%, 0% 100% );
}
    /* Wear-and-tear holes */
    .torn-btn::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        /* Multiple irregular “holes” using fuzzy radial gradients */
        background: radial-gradient(circle 6px at 12% 8%, rgba(0,0,0,0.25) 0%, transparent 60%), radial-gradient(circle 4px at 28% 4%, rgba(0,0,0,0.22) 0%, transparent 60%), radial-gradient(circle 5px at 46% 10%, rgba(0,0,0,0.2) 0%, transparent 60%), radial-gradient(circle 7px at 63% 6%, rgba(0,0,0,0.25) 0%, transparent 60%), radial-gradient(circle 4px at 82% 12%, rgba(0,0,0,0.18) 0%, transparent 60%), radial-gradient(circle 5px at 18% 92%, rgba(0,0,0,0.22) 0%, transparent 60%), radial-gradient(circle 7px at 40% 96%, rgba(0,0,0,0.25) 0%, transparent 60%), radial-gradient(circle 4px at 58% 90%, rgba(0,0,0,0.2) 0%, transparent 60%), radial-gradient(circle 6px at 77% 94%, rgba(0,0,0,0.23) 0%, transparent 60%), radial-gradient(circle 5px at 92% 88%, rgba(0,0,0,0.18) 0%, transparent 60%);
        filter: blur(0.6px); /* softens edges to look torn */
    }
    /* Bottom shadow */
    .torn-btn::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -4px;
        height: 6px;
        background: radial-gradient(circle at 50% 0, rgba(0,0,0,0.25), transparent 60%);
        opacity: 0.7;
        filter: blur(2px);
        z-index: -1;
    }

    .torn-btn:hover {
        transform: translate(2px, 2px);
        transition: 150ms;
    }

    .torn-btn:active {
        text-decoration: underline;
        color: var(--rgcyan);
        transform: scale(152%);
    }

    .torn-btn:disabled {
        background-image: linear-gradient(135deg, #fffdf5 0%, #f7f0dd 100%);
        color: darkgray;
    }

        .torn-btn:disabled:hover {
            transform: unset;
        }

.torn-btn-primary {
    color: black;
}

.torn-btn-cancel {
    color: red;
}



.torn-btn-sm {
    font-size: 1rem;
    padding: 0.25rem 0.7rem !important;
    height: 1.75rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}


.selbtnrow {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 2px;
    flex-wrap: wrap;
}

.btnselect {
    border-radius: 8px;
    /*corner-shape: bevel;*/

    font-family: RGButton;
    font-size: clamp(14px, 1vw + 0.75rem, 22px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background-image: linear-gradient(135deg, #fffdf5 0%, #f7f0dd 100%);
    text-decoration: none !important;
    transition: 250ms;
}

    .btnselect:focus {
        transform: scale(102%);
        color: maroon;
    }

    .btnselect:active {
        transform: scale(105%);
        border: var(--rgcyan) 4px solid;
        box-shadow: 0 4px 8px rgba(0,0,0,0.65);
        font-size: clamp(15px, 1vw + 0.75rem, 23px);
    }

    .btnselect.down {
        background-image: linear-gradient(135deg, var(--rgcyan) 0%, #f7f0dd 100%);
        box-shadow: 0 4px 8px var(--rgcyan);
        transform: translateY(3px);
    }

.pirate-check {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    user-select: none;
    font-family: "Trebuchet MS", serif;
    font-size: clamp(0.95rem, 0.25vw+ 0.9rem, 1.1rem);
    color: #4b2e0f;
    min-width: 24%;
}

    .pirate-check input {
        display: none;
    }

    .pirate-check .checkmark {
        width: clamp(20px, 0.625vw + 18px, 26px);
        height: clamp(20px, 0.625vw + 18px, 26px);
        ;
        /*border: 3px solid #5d3b13;*/
        border: 3px solid maroon;
        border-radius: 6px;
        /*background: linear-gradient(#d8b56c, #8b5a2b);*/
        background: linear-gradient(#ffe593, #ffc646);
        box-shadow: inset 0 2px 2px rgba(255,255,255,.4), 0 3px 5px rgba(0,0,0,.35);
        position: relative;
        transition: all .25s ease;
    }

        /* Map X */

        .pirate-check .checkmark::before,
        .pirate-check .checkmark::after {
            content: "";
            position: absolute;
            left: 50%;
            top: 50%;
            width: 18px;
            height: 3px;
            background: transparent;
            transform-origin: center;
            transition: .25s;
        }

    .pirate-check input:checked + .checkmark {
        background: radial-gradient(circle at 30% 30%, #ffd95a, #c88d11);
        border-color: #7b4a00;
        border-radius: 50%;
        transform: rotate(360deg);
    }

        .pirate-check input:checked + .checkmark::before {
            /*content: "☠";*/
            content: "✔";
            width: auto;
            height: auto;
            background: none;
            color: #2b1606;
            font-size: 18px;
            transform: translate(-50%, -55%);
        }

        .pirate-check input:checked + .checkmark::after {
            display: none;
        }

    .pirate-check:hover .checkmark {
        transform: scale(1.08);
        box-shadow: 0 0 10px rgba(255,215,0,.45), inset 0 2px 2px rgba(255,255,255,.5);
    }

    .pirate-check input:focus-visible + .checkmark {
        outline: 3px solid #ffcc44;
        outline-offset: 4px;
    }

    .pirate-check .text {
        transition: color .2s;
    }

    .pirate-check:hover .text {
        color: #8b4513;
    }

/* Addresss */
.addresscitycol {
    padding-left: 12px;
    padding-right: 0;
}

.addressstatecol {
    padding: 0;
}

    .addressstatecol label {
        padding-left: 6px;
    }



.addresszipcol {
    padding-left: 0;
}

    .addresszipcol label {
        padding-left: 6px;
    }

    .addresszipcol input {
    }


.qrcodediv {
    max-height: 150px;
}

    .qrcodediv h4 {
        font-size: 1.2rem;
    }



/* Events */

.eventhr {
    border-bottom: 2px solid var(--rgcyanback);
    opacity: 0.4;
    width: 90%;
    place-self: center;
}

.eventlisting {
    width: 100%;
}

.eventhostname {
    font-size: 1.4rem;
    font-weight: bold;
}

.eventhostcol {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    padding-top: 8px;
}

.eventhostlogo {
    /*width: 100px;
    height: auto;*/

    height: 120px;
    width: auto;
}


.eventvenuecol {
    padding: 6px 0;
}

.eventartistscol {
    padding: 6px 0;
}

.eventdateentry {
    width: clamp(200px, 30%, 300px);
    justify-self: center;
    border: 1px solid maroon;
}

.eventinfo {
    font-size: 0.9rem;
    font-weight: bold;
    padding: 4px 8px;
    margin: 0;
    line-height: 1.1rem;
    background-color: rgba(255, 255, 255, 0.4);
    border-radius: 20px;
}

.eventdatacard {
    width: 100%;
    border: 1px solid maroon !important;
    border-radius: 12px;
    margin: auto;
    min-height: 295px;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    gap: 8px;
}

.eventerrordiv {
    border-radius: 5px;
    padding: 4px;
    margin: 0;
    width: 100%;
    border: 1px solid red;
}

.eventvalidationerror {
    color: var(--rgErrorRed);
    background: #ffffff94;
    align-self: center;
    justify-self: center;
    border-radius: 4px;
    padding: 4px;
}


.venuehistorydiv {
    max-height: 750px;
    overflow-y: auto;
}


/* Event Status */
.eventstatusdiv {
    align-content: center;
    text-align: left;
}

.eventstatusprivate {
    font-size: 1em;
    background: linear-gradient(#989898, black);
    color: white;
    padding: 2px 6px;
    border-radius: 8px;
}



.eventstatusactive {
    font-size: 0.90em;
    padding: 2px 6px;
    border-radius: 8px;
    background: #00c66b;
    color: white;
}

.eventstatusreview {
    font-size: 1em;
    background: linear-gradient(#02a49f6b, #02a49fff);
    color: white;
    padding: 2px 6px;
    border-radius: 8px;
}

.eventstatuspostponed {
    font-size: 1em;
    background: linear-gradient( rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.8));
    padding: 2px 6px;
    border-radius: 8px;
    font-weight: bold;
    color: red;
}

.eventstatuscancelled {
    font-size: 1.2em;
    background: maroon;
    padding: 4px 8px;
    border-radius: 8px;
    font-weight: bold;
    color: white;
}


.rgimg-fluid-rev {
    width: auto;
    height: 100%;
}

/* Pages (Event Page, Artist Profile Page, Venue Profile Page */
.pagediv {
    width: 75%;
    max-width: 1000px;
    margin: auto;
    padding: 16px 8px;
}



.pageheader {
    display: flex;
    flex-direction: column;
    background: linear-gradient(rgba(255, 255, 255, 0.0) 20%, rgba(255, 255, 255,0.85));
    align-items: center;
}

.pagerightbuttons {
    position: absolute;
    /*left: 20px;*/
    right: 20px;
    margin-top: 4px;
    display: flex;
    gap: 8px;
}


.pageartistprofilepic {
    /*height: 100%;*/
    text-align: center;
    width: min(100%, 400px);
}


.pagebody {
    background-color: rgba(255, 255, 255, 0.85);
    padding-top: 16px;
    padding-bottom: 16px;
    margin: 0;
}

    .pagebody h1 {
        font-family: RGSansSerif, 'Sans Serif Collection';
        font-weight: 600;
        font-size: clamp(1.75rem, 0.417vw + 1.67rem, 2rem);
    }

    .pagebody h2 {
        font-family: RGSansSerif, 'Sans Serif Collection';
        margin: 0;
    }


.pagehr {
    width: 90%;
    border-bottom: 3px solid var(--rgcyantext);
    place-self: center;
}

.pagehalfhr {
    width: 50%;
    border-bottom: 2px solid var(--rgcyantext);
}

.pagesection {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pagesection h1 
{
    line-height: 1rem;
}

.pagerowsection {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 75%;
    place-self: center;
}

.pageartistname {
    font-size: clamp(1.25rem, 0.833vw + 1.08rem, 1.75rem);
    font-weight: bold;
    width: 60%;
    min-width: 200px;
    display: flex;
    justify-content: center;
    gap: 12px;
    align-content: center;
    align-items: center;
}

.pagedata {
    font-size: clamp(1rem, 0.625vw + 0.875rem, 1.375rem);
}


.pagesidedata {
    font-size: clamp(0.75rem, 0.625vw + 0.625rem, 1.125rem);
}

.pagemaindata {
    /*font-size: clamp(1.1rem, 0.63vw + 1rem, 1.5rem);*/
    font-size: clamp(0.875rem, 0.625vw + 0.75rem, 1.25rem);
    font-weight: bold;
}


.pagelogopic {
    height: 150px;
    width: auto;
}


.pagelogotext {
    height: 150px;
    width: 85%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 140px;
    padding: 20px;
    background: linear-gradient(135deg, #ffffffda 0%, #fff8e8ff 100%);
    border: 2px solid var(--rgcyan);
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(100, 75, 20, 0.10);
    position: relative;
    overflow: hidden;
}

    /* Decorative accent */
    .pagelogotext:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 6px;
        height: 100%;
        background: linear-gradient( to bottom, var(--rgcyan), #fda865 );
    }

    .pagelogotext span {
        font-family: Impact, "Arial Black", sans-serif;
        font-weight: 900;
        line-height: 1.1;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        color: #383026;
        text-shadow: 1px 2px 8px rgba(37, 147, 162, 0.5);
        overflow-wrap: anywhere;
        max-width: 100%;
    }

.pagevenueinfo {
    width: 90%;
    text-align: center;
    border-radius: 5px;
    padding-bottom: 8px;
}

.pagevenuename {
    /*font-size: clamp(1.3rem, 3dvw, 2.0rem);*/
    font-size: clamp(1.25rem, 0.833vw + 1.08rem, 1.75rem);
    font-weight: bold;
}

.pageagelimit {
    font-size: clamp(0.75rem, 0.41vw + 0.67rem, 1rem);
    background-color: var(--rgcyan);
    color: white;
    padding: 2px 8px;
    border-radius: 14px;
}

.pageaddress {
    padding: 0;
    font-size: 1rem;
}

.pagestatus {
    font-size: clamp(1.1rem, 0.63vw + 1rem, 1.5rem);
    border: 1px solid gray;
    box-shadow: 0 8px 24px rgba(37, 147, 162, 0.6);
}

.pagelongtext {
    font-size: var(--fontsizemedsm);
    padding: 8px;
    outline: 1px solid var(--rgcyantext);
    border-radius: 5px;
    width: 75%;
    margin-top: 16px;
    text-wrap: pretty;
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
}

.pageaddress .addressline {
    padding-top: 0;
    display: flex;
    flex-direction: column;
}

.pagemembers {
    width: 45%;
    min-width: 300px;
    border: 4px solid rgba(0, 0, 0, 0.4);
    outline: 2px solid black;
    border-radius: 8px;
    margin-top: 16px;
    margin-bottom: 16px;
    padding: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0, 0.4);
}

.artistpagelinks {
    width: 45%;
    min-width: 300px;
    border-radius: 8px;
    margin-top: 16px;
    margin-bottom: 16px;
    padding: 8px;
    border: 4px solid rgba(0, 0, 0, 0.4);
    outline: 2px solid black;
    box-shadow: 0 8px 24px rgba(0,0,0, 0.4);
}



.pagelinks {
    width: 60%;
    min-width: 300px;
    place-self: center;
    border: 2px solid var(--rgcyantext);
    border-radius: 8px;
    margin-top: 16px;
    margin-bottom: 8px;
    padding: 8px;
    box-shadow: 0 8px 24px rgba(37, 147, 162, 0.6);
}



@media (max-width: 768px) {

    .pagediv {
        width: 95%;
        padding: 8px 4px;
    }


    .pagerightbuttons {
        right: 10px;
        margin-top: 2px;
    }

    .pageeventlist {
        width: 95%;
    }

    .hidesmall {
        display: none;
    }


    .pagerowsection {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        width: 95%;
        place-self: center;
    }


    .artistpagelinks {
        width: 48%;
        min-width: 300px;
        margin-top: 8px;
        margin-bottom: 8px;
        padding: 4px;
        border: 2px solid rgba(0, 0, 0, 0.4);
        outline: 1px solid black;
        box-shadow: 0 4px 12px rgba(0,0,0, 0.4);
        font-size: 8px;
    }



    .pagemembers {
        width: 45%;
        min-width: 300px;
        border: 4px solid rgba(0, 0, 0, 0.4);
        outline: 2px solid black;
        border-radius: 8px;
        margin-top: 16px;
        margin-bottom: 16px;
        padding: 8px;
        box-shadow: 0 8px 24px rgba(0,0,0, 0.4);
        font-size: 8px;
    }
}

.pageartistlineup {
    width: 50%;
    max-width: 600px;
    max-height: 300px;
    overflow-y: auto;
}

.pageartisttable td {
    place-content: center;
}


.pageartisttable .artistslottablelogo {
    width: 72px;
}

.pageeventlist {
    width: 75%;
    max-height: 1000px;
    overflow-y: auto;
}

.pagefooter {
    font-family: RGPirate, 'Sans Serif Collection';
    background: linear-gradient(rgba(255,255, 255, 0.85), rgba(255, 255, 255, 0.9) 30%, rgba(255, 255, 255, 0));
    font-size: var(--fontsizemedlg);
    margin: 0;
    padding: 0;
    text-align: center;
    height: 125px;
    margin-bottom: 32px;
    color: var(--rgcyan);
    text-shadow: 1px 4px 18px rgba(0, 0, 0, 0.5);
    justify-items: center;
}

.pagetag {
    background: white;
    width: fit-content;
    padding: 2px 8px;
    border-radius: 8px;
    box-shadow: 1px 4px 32px rgba(0, 0, 0, 0.75);
}

.pagefooter2 {
    font-family: RGPirate, 'Sans Serif Collection';
    background: linear-gradient(rgba(255,255, 255, 0.6) 25%, rgba(255, 255, 255, 0));
    font-size: var(--fontsizemedlg);
    margin: 0;
    padding: 0;
    text-align: center;
    height: 125px;
    margin-bottom: 32px;
    color: black;
    text-shadow: 1px 4px 18px rgba(0, 0, 0, 0.5);
}

.pagefooterlinks {
    display: flex;
    gap: 16px;
}

    .pagefooterlinks a {
        color: black;
        transition: 150ms;
    }

        .pagefooterlinks a:hover {
            transform: scale(125%);
        }

/* *** Profile Page *** */

.profilepagefullbody {
    width: 100%;
    min-height: 100%;
    height: fit-content;
    background-repeat: repeat;
    background-size: cover;
    background-position: center;
    text-align: center;
}

    .profilepagefullbody .pagediv {
        backdrop-filter: blur(16px) saturate(180%);
        -webkit-backdrop-filter: blur(16px) saturate(180%);
        box-shadow: rgba(255, 255, 255, 0.7) 1px 1px 64px;
        padding: 0;
        margin-top: 8px;
    }


    .profilepagefullbody h1 {
        font-family: RGSansSerif, 'Sans Serif Collection';
        font-weight: 600;
        font-size: clamp(1.75rem, 1.25vw + 1.5rem, 2.5rem);
        padding: 0;
        margin: 0;
        line-height: 1.1em;
    }

    .profilepagefullbody h2 {
        font-family: RGSansSerif, 'Sans Serif Collection';
        margin: 0;
    }

.profilepageheader {
    display: flex;
    flex-direction: column;
    background: linear-gradient(rgba(255, 255, 255, 0.0) 20%, rgba(255, 255, 255, 0.6));
    align-items: center;
    /* Edge definition */
    -moz-border-radius-topleft: 10px;
    -moz-border-radius-topright: 10px;
}


.profilepagebody {
    background-color: rgba(255, 255, 255, 0.6);
    justify-items: center;
}


.profilepageback {
    background-color: rgba(255, 255, 255, 0.7);
    padding: 6px 16px;
    border-radius: 10px;
    text-align: center;
}


/* *** Animations *** */

@keyframes kf-card-zoom-out {
    0% {
        transform: scale(0.25);
        border-radius: 40px;
    }



    50% {
        transform: scale(1);
    }


    100% {
        border-radius: 5px;
    }
}

.ani-card-zoom {
    animation: kf-card-zoom-out 500ms ease-in;
    animation-iteration-count: 1;
}



@keyframes kf-logo-zoom-out {
    0% {
        transform: scale(1);
    }



    50% {
        transform: scale(1.15);
    }


    100% {
        transform: scale(1);
    }
}

.ani-logo-zoom {
    animation: kf-logo-zoom-out 10s ease-in-out;
    animation-iteration-count: infinite;
}
/* *** Media Queries *** */
@media (max-width: 768px) {

    .rgsearch {
        min-width: none;
        flex-wrap: wrap;
        gap: 5px;
    }

    .rgsearchgroup {
        align-content: center;
        justify-content: center;
        flex-wrap: wrap;
    }

        .rgsearchgroup .form-control {
            font-size: 0.55rem;
            height: 20px;
            width: 5px;
        }
    /*.rgsubheader .form-control {
        height: 1.5rem;
        font-size: 0.75rem;
        
    }*/



    .torn-btn {
        font-size: 0.85rem;
        height: 1.75rem;
        padding: 5px;
    }

    .rgform-icon {
        height: 20px;
        padding: 2px;
    }
}
