:root { --main-blue: #1da1f2; --main-dark: #333333; --main-dark-lighter: #999999; --main-green: #1df2a1; --main-orange: #f2871c; --main-green-lighter: #b7fbe1;   --main-blue-lighter: #cfebfc; } 
.dark { color:  var(--main-dark); }
.dark-lighter { color:  var(--main-dark-lighter); }
.blue { color:  var(--main-blue); }
.orange { color:  var(--main-orange); }
.bold { font-weight: bold; }
.pointer { cursor: pointer; }
.border { border-width: 1px; }
.noborder { border-width: 0px; }
.div-header { width: 100%; text-align: center; font-weight: bold; margin-bottom: 0px; }
.bg_grey { background: #f3f3f3; }
.tacenter { text-align: center; }
.taleft { text-align: left; }
.mt10 { margin-top: 10px; }
.textbox { border-style: solid; border-color: #999999; border-radius: 8px; margin-bottom: 10px; padding: 10px; }

* { box-sizing: border-box; padding: 0; margin: 0; font-family: 'Heebo', sans-serif; color:  #333333; -webkit-appearance: none; }
input[type="radio"] { -webkit-appearance: radio; }
input[type="checkbox"] { -webkit-appearance: checkbox; }
body, form { line-height: 20px; font-size:  16px; color:  var(--main-dark); }


.wrapper { background-color: #ffffff; display: grid; border-style: solid; border-color: red; border-width:  0px; grid-template-columns: 300px 1fr; grid-template-rows: auto auto 1fr auto; grid-gap: 1px; max-width:  1500px; margin:  auto; padding:  1px; }

.header { border:  solid 0px red; background-color: #333333; font-size:  1.4em; color: #1da1f2; display: grid; grid-column: 1 / 3; grid-row: 1;
  align-items: center; justify-content: center; padding: 5px; }
.selectors { border:  solid 0px red; background-color: #ffffff; border-bottom:  solid 5px #333333; display:  flex; grid-column: 1 / 3; grid-row: 2; padding: 5px; }
.selectors-item { flex: 1; text-align: center; }
.left { margin:  5px 0px 5px 5px; border: solid 1px #999999; grid-column: 1; grid-row: 3; }
.right { margin: 5px 5px 5px 0px; border: solid 0px red; grid-row: 3; grid-column: 2; padding: 5px; overflow-y:  auto; }
.footer { border-style: solid; grid-column: 1 / 4; grid-row: 4; display: flex; background-color: #333; padding:  5px; }
.footer-left { flex:  1; text-align: left; }
.footer a { color: #ffffff; text-decoration: none; }
.footer-text { color: #1da1f2; }
.footer a:hover { color: #999999; text-decoration: underline; }

@media only screen and (max-width: 1000px) {      
    .wrapper { grid-template-columns: 0px 1fr; grid-gap: 10px 0px; }
    .left { display: none; }    
}

#mySidenav { width: 0px; }
#mySidenav.open { width: 250px; }
.menunav { background-color: #fff; padding: 5px }
.menunav a { padding: 6px; color: #1da1f2; text-decoration: none; display: block }
.menunav a:hover { color: #ffffff; background: #1da1f2 }
.sidenav {height: 100%; width: 0; position: fixed; top: 0; left: 0; background: var(--main-dark); transition: 0.5s; padding: 0px 0px; overflow: auto }
.sidenav a { padding: 8px 8px 8px 15px; text-decoration: none; color: #f3f3f3; display: block; transition: 0.3s }
.sidenav a:hover { color: #f1f1f1; background: var(--main-blue) }
.sidenav .closebtn { position: absolute; top: 0; right: 0px; padding: 10px; font-size: 36px }
@media screen and (max-height: 450px) { 
  .sidenav { padding-top: 15px } 
  .sidenav a {font-size: 18px;}
}
#myBtn_up { display: none; position: fixed; bottom: 20px; right: 10px; z-index: 99; border: none; outline: none; background-color: var(--main-blue); color: white; cursor: pointer; padding: 10px 15px; border-radius: 5px; font-size: 18px; } 

.blue-link a, .blue-link a:visited { color: var(--main-blue); text-decoration: none; font-weight: normal;}
.blue-link a:hover { color: var(--main-dark); text-decoration: underline; }

.show_actor_grid_1 { background-color: #ffffff; display: grid; grid-template-columns: repeat(15, 1fr); grid-template-rows: repeat(5, 1fr); width: 100%; grid-gap: 0px; }
.show_actor_banner_1 { grid-column: 1 / span 15; grid-row: 1 / span 5; aspect-ratio:  3/1; margin: 0; padding: 0; z-index: 1; }
.show_actor_banner_1 > img { display: block; max-width: 100%; border: solid 2px var(--main-blue); border-radius: 8px; }
.show_actor_ava_1 { grid-column: 1 / span 5; grid-row: 1 / span 5; aspect-ratio: 1; margin: 0; padding: 10px; z-index:2; }
.show_actor_ava_1 > img { display: block; max-width: 100%; border: solid 2px var(--main-blue); border-radius:  8px; z-index: 2; }
.show_actor_bluesky_1 { grid-column: 14 / span 2; grid-row: 4 / span 2; padding: auto; padding-right: 5px; display: flex; justify-content: flex-end; align-items: flex-end; z-index: 4; }
.show_actor_bluesky_1 > img { display: block; width: 100%; padding-right: 5px; }
.show_actor_display_name_1 { display: flex; align-items: center; gap: 6px; padding: 10px 10px 5px 10px; background: #ffffff; font-size: 1.1em; }
.show_actor_handle_1 { padding: 0px 10px 10px 10px; background: #ffffff; font-size: 1.1em; }
.show_actor_registered_1 { padding: 0px 10px 10px 10px; background: #ffffff; font-size: 1.0em; }
.show_actor_lastpost_1 { padding: 0px 10px 10px 10px; background: #ffffff; font-size: 1.0em; }

.show_actor_grid_2 { background-color: #ffffff; display: grid; grid-template-columns: minmax(50px,90px) 1fr; grid-template-rows: auto; width: 100%; grid-gap: 0px; }
.show_actor_banner_2 { grid-column: 1 / span 2; grid-row: 1; width: 100%; z-index: 1; background-repeat: no-repeat; background-position: top left; background-size: cover; border: solid 2px var(--main-blue); border-radius: 8px;}
.show_actor_ava_2 { grid-column: 1; grid-row: 1; width: 100%; height: auto; padding: 5px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; z-index: 2; }
.show_actor_ava_2 > img { width: clamp(40px, 10vw, 80px); height: clamp(40px, 10vw, 80px); object-fit: cover; border-radius: 8px; border: solid 2px var(--main-blue); }
.show_actor_bluesky_2 { grid-column: 2; grid-row: 1; padding: auto; padding-right: 5px; display: flex; justify-content: flex-end; align-items: flex-end; z-index: 4; }
.show_actor_bluesky_2 > img { display: block; width: 100%; padding-right: 5px; }
.show_actor_display_name_2 { display: flex; align-items: center; gap: 6px; padding: 5px 5px 0px 5px; background: #ffffff; font-size: 1em; }
.show_actor_handle_2 { padding: 0px 5px; background: #ffffff; font-size: 1em; }
.show_actor_ffp_2 { padding: 5px; background: #ffffff; font-size: 1em; border-bottom: solid 1px #999999; }

.show_actor_grid_3 { background-color: #ffffff; display: grid; grid-template-columns: auto auto 1fr 85px; grid-template-rows: repeat(6, auto); width: 100%; grid-gap: 0px; border-bottom: solid 1px #999999; }
.show_actor_display_name_3 { grid-column: 1 / span 4; grid-row: 1; padding: 5px 5px 0px; font-size: 1em; font-weight: bold; }
.display-name-inner { display: flex; align-items: center; width: 100%; }
.display-name-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex-shrink: 1; }
.show_actor_ava_3 { grid-column: 1 / span 2; grid-row: 2 / span 2; width: 100%; height: auto; padding: 0px 5px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; z-index: 2; }
.show_actor_ava_3 > img { width: clamp(45px, 12vw, 80px); height: clamp(45px, 12vw, 80px); object-fit: cover; border-radius: 8px; border: solid 2px var(--main-blue); }
.show_actor_handle_3 { grid-column: 3; grid-row: 2; padding: 5px; display: flex; align-items: center; justify-content: flex-start; font-size: 1em; overflow: hidden; text-overflow: ellipsis; flex-shrink: 1; }
.show_actor_follow_3 { grid-column: 3; grid-row: 3; display: flex; justify-content: flex-start; align-items: center; }
.show_actor_mute_3 { grid-column: 4; grid-row: 2; display: flex; justify-content: flex-end; align-items: flex-start; }
.show_actor_block_3 { grid-column: 4; grid-row: 3; display: flex; justify-content: flex-end; align-items: center; }
.show_actor_ffp_3 { grid-column: 1 / span 4; grid-row: 4; padding: 5px 5px 0px; font-size: 0.8em; }
.show_actor_since_3 { grid-column: 1 / span 4; grid-row: 5; padding: 0px 5px 5px; font-size: 0.8em; font-weight: bold; color: #444444; line-height: 1em; }
.show_actor_description_3 { grid-column: 1 / span 4; grid-row: 6; padding: 0px 5px; background: #ffffff; font-size: 1em; }
.show_actor_description_inner_3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-line; }

.checkmark-img { height: 1.2em; width: auto; display: inline-block; flex-shrink: 0; margin-left: 4px; }

.ffp {-webkit-appearance: none; width: auto; padding: 5px; font-size: 16px; text-decoration: none; border-radius: 5px; margin: 3px}
.ffp:hover { color:  #ffffff; background: #666666; border: solid 1px #000000}
.ffp {border: solid 2px #1da1f2; width: 100%; color: #000000; background: var(--main-blue-lighter); margin: 0; font-weight: normal}


/* Base Button Style */
.button-action { display: inline-flex; align-items: center; justify-content: center; padding: 2px; font-size: 14px; font-weight: 600; border-radius: 8px;  cursor: pointer; text-decoration: none; width: 75px; }

@media (hover: hover) and (pointer: fine) {
.button-follow:hover, .button-mute:hover, .button-block:hover, .button-unfollow:hover, .button-unmute:hover, .button-unblock:hover { background-color: #666666; color: #ffffff; }
}

.button-action:active { transform: scale(0.96); }
.button-follow { background: #e6f2ff; color: #0085ff; }
.button-following { background: #0085ff; color: #e6f2ff; }
.button-follow, .button-following { border: solid 1px #0085ff; }

.button-mute { background: #fff1e0; color: #ff8c00; }
.button-muting { background: #ff8c00; color: #fff1e0; }
.button-mute, .button-muting { border: solid 1px #ff8c00; }

.button-block { background: #ffe6e4; color: #ff3b30; }
.button-blocking { background: #ff3b30; color: #ffe6e4; }
.button-block, .button-blocking { border: solid 1px #ff3b30; }

.additional_grid { background-color: #ffffff; display: grid; grid-template-columns: 50px 1fr; grid-template-rows: auto; width: 100%; grid-gap: 0px; }
.additional_icon { grid-column: 1; grid-row: 1; aspect-ratio: 1; margin: 0; padding: 5px; }
.additional_icon > img { display: block; width: 100%; }
.additional_text { grid-column: 2; grid-row: 1; padding: 5px; background: #ffffff; font-size: 1em; display: flex; align-items: center; }

.spinner { display: inline-block; width: 14px; height: 14px; border: 2px solid rgba(255, 255, 255, 0.3); border-radius: 50%; border-top-color: #fff; animation: spin 0.8s linear infinite; vertical-align: middle; }
@keyframes spin { to { transform: rotate(360deg); }}

#toast-container {
    position: fixed;
    bottom: 20px;
    left: 20px;
    background-color: #333;
    color: #fff;
    padding: 10px;
    border-radius: 5px;
    z-index: 9999;
    
    /* Start hidden */
    display: block; 
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* This is the class your JS adds */
#toast-container.show {
    display: block;
    opacity: 1;
}

/* old css below, validated css above */


.bluwhi, .whiblu, .greywhi, .whigre, .redwhi, .whired, .gregrey {-webkit-appearance: none; width:  auto; padding: 5px; font-size: 16px; font-weight: bold; text-decoration: none; border-radius: 5px; margin: 3px}
.whiblu:hover, .whibluth:hover, .bluwhi:hover, .greywhi:hover, .whired:hover, .redwhi:hover { color:  #ffffff; background: #666666; border: solid 1px #000000}
.bluwhi, .whiblu {border: solid 1px #1da1f2}
.whiblu { background: #1da1f2; color: #ffffff}

.table1 table {border-collapse: collapse; background: #ffffff; color: #333333}
.table1 td, .table1 th {padding: 5px; border: solid 1px #999999; text-align: center}
.table1 tr:nth-child(even) {background: #ffffff}
.table1 tr:nth-child(odd) {background: #f3f3f3}
.table1 tr:hover td { color: #ffffff; background: #999999; }