body {
    background-color:#000;
}

select {
    -webkit-appearance: none;
}

.nav-item .menu-title {
    color: white !important;
    font-size: 1.2em !important;
}

.zoom {
    transition: transform 330ms ease-in-out;
}

.zoom:hover {
  transform: scale(1.1); 
}

.image{
    position: relative;
    width: 100%;
    overflow: hidden;
}

.image .overlay {
    position: absolute;
    bottom: 0;
    padding-left: 10px;
    padding-top: 15px;
    width: 100%;
    color: white;
    font-size: 20px;
    z-index: 5;
}

.image .overlay-one {
    position: absolute;
    top: 0px;
    left: 0;
    font-size: 2em;
    color: red;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 0px;
    border-radius: 0px 0px 6px 0px;
    box-shadow: 1px 1px 8px 1px #222222;
    }

.image .overlay-two {
    position: absolute;
    bottom: 0px; /* Position at the bottom */
    right: 0; /* Position at the right */
    color: #FFFFFF; /* Different color for contrast */
    background-color: #efbf04;
    border-radius: 6px 0px 0px 0px; /* Adjust for bottom-right */
    box-shadow: -1px -1px 8px 1px #222222; /* Inverted shadow for bottom-right */
    font-weight: 600;
    font-size: 1.2em !important;
    padding: 6px 10px !important;
    text-shadow: 0px 0px 5px #555555;
}

.overlay-two span {
    color: #555555;
    font-size: 0.4em;
    display: block;
    margin-bottom: -30px;
    font-weight: 500;
    text-shadow: 0px 0px 3px #FFFFFF;
    }

.bggold {
    background-color: #efbf04;
}

.bgsilver {
    background-color: #C0C0C0;
}

.bgbronze {
    background-color: #CD7F32;
}

.bgstd {
    background-color: #FFFFFF;
    color: #444444 !important;
}

.image .overlay .h4 {
    font-size: 0.8em;
}

.image .overlay::before{
    content: "";
    background: #000;
    height: 200%;
    width: 100%;
    z-index: 1;
    position: absolute;
    left:0;
    bottom: -50px;
    z-index: -2;
    opacity: 0.8;
    transition: all 0.3s ease-out;
}
.image:hover .overlay{
    color: #FFF;
}

.talentcont1{
height: 304px;
}

.talentcont2 {
height: 302px; 
}

.talentbox {
object-fit: cover; 
height: 300px;

}


.container .image:hover .overlay .amount,
.container .image:hover .overlay .h4,
.container .image:hover .overlay .textmuted,
.container .image:hover .overlay .fa-star,
.container .image:hover .overlay .fa-star-half-alt,
.container .image:hover .overlay .review{
    color: black;
}

.image:hover .overlay::before{
    bottom: -35px;
}

.amount{
    font-size: 15px;

}
.textmuted{
    color: #f8f8f8;
    font-weight: 200;
    font-size: 15px;
    text-transform: capitalize;
}
.fa-star,.fa-star-half-alt{
    color: white;
    font-size: 10px;
    margin: 0 1px;
}
.review{
    font-size: 12px;
    font-weight: 200;
}


.tab-content {
background: #191c24;
border-radius: 10px 10px 10px 10px;
}
    
.nav-item > .active {
background: #191c24 !important;
border-bottom-color: #191c24 !important;
}

.tab-pane {
    min-height: 400px;
}

.form-group{
    margin: 16px 0px;
}

#playerwindow {
width: 500px;
height: 281px;
background: #000;
}

#tapestatus {
    font-weight: 100;
}

.clickable-row:hover {
cursor: pointer;
background-color: #353c4c !important;
}

.bgprofile-image {
    /* Add the blur effect */
    filter: blur(8px);
    -webkit-filter: blur(8px);
  
    /* Full height */
    height: 100%;
  
    /* Center and scale the image nicely */
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.pt_upvid_one .progress {
    height: auto;
    border-radius: 2px;
    margin: 4px 0px 20px;
    background: transparent !important;
    box-shadow: none;
    padding: 0 10px;
}

.pt_upvid_one .progress .percent {
	position: relative;
    color: #04abf2 !important;
    margin: 0 6px !important;
    width: auto;
    display: inline-block;
    background: rgb(4 171 242 / 15%);
    font-weight: 600;
    padding: 0 6px;
    font-size: 12px;
    line-height: 24px;
    border-radius: 2em;
    min-width: 43px;
    top: auto;
    vertical-align: middle;
}
.pt_upvid_one .progress_bar_parent {
	margin: 0;
    height: 24px;
    border-radius: 2em;
    background: rgb(4 171 242 / 15%);
    width: calc(100% - 70px);
    display: inline-block;
    vertical-align: middle;
}
.pt_upvid_one .progress_bar_parent .bar {
	background-color: #04abf2 !important;
    border-radius: 2em;
    box-shadow: none;
}

.horizontal-menu {
    background: #000000;
}

@media (max-width: 991px){
    .horizontal-menu .top-navbar .navbar-menu-wrapper{width:calc(100% - 150px);padding-left:15px;padding-right:0;}
    .horizontal-menu .top-navbar .navbar-brand-wrapper .navbar-brand{width:150px;}
    .horizontal-menu .top-navbar .navbar-brand-wrapper .navbar-brand img{max-width:100%;height:auto;}
    .horizontal-menu .top-navbar .navbar-brand-wrapper{width:auto;height:auto;}
    .talentbox {height: 220px;}
    .talentcont1{height: 224px;}
    .talentcont2 {height: 222px;}
    .image .overlay .h4 {font-size: 0.7em;}
    .container-lg {padding-top: 50px;}

    #profilealert {
    margin-bottom: -100px;
    }

    .navbar  {
        height: 63px !important;
        padding-top: 0px !important;
        margin-top: -10px !important;
    }
        
    .navbar-brand {
        width: 120px !important;
    }

    .main-panel {
        margin-top: 3px !important;
    }

    #profilepage h1 {
        font-size: 1.8em !important;
    }

    #profilepage h1 .unionstatus {
        font-size: 0.4em;
    }

    #profilpage .tagline {
        font-size: 0.9em;
    }

    #profilepage .tagline {
        padding-top: 4px !important;
        font-size: 0.9em;
        display: block;
    }

    .tagline span {
        display: block;
    }

    #abscorenum {
        font-size: 2.2em;
    }

}

.horizontal-menu .top-navbar .navbar-brand-wrapper .navbar-brand.brand-logo-mini img{width: 1400px;max-width:100%;margin:auto;}


.img-xs{width:auto;max-height:35px;}

.login-logo {
    max-height:100px;
    width: auto;
}

.form-select{
    color: white !important;
}

.form-select:has(option[value="0"]:checked) {
    color: gray !important;
}

.form-select:has(option[value="0"]:checked) {
    color: gray !important;
}

.form-select.sidesel:has(option[value="0"]:checked) {
    color: #FFFFFF !important;
}

.separator {
    display: flex;
    align-items: center;
    text-align: center;
  }
  
  .separator::before,
  .separator::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #666666;
  }
  
  .separator:not(:empty)::before {
    margin-right: 0.75em;
  }
  
  .separator:not(:empty)::after {
    margin-left: 0.75em;
  }

  .separator h4 {
    margin-bottom: 0px;
    }

  .talent_ad {
    width: 800px;
    height: 160px;
  }

#dashfeed .card {
    padding: 0px !important;
}

#dashfeed .card-body {
    padding: 20px !important;
}

#dashfeed .preview-item {
    padding: 0px !important;
}

.nav-link .menu-icon {
    display: none !important;
}

.nav-link span.menu-title {
    color: #DDD !important;
    font-size: 1.2em !important;
}

.tagpro {
    padding: 3px;
    font-size: 0.8em;
}

.form-control.levelselect {
    height:auto;
    margin-top:5px;
    padding:10px 5px 10px 15px!important;
    font-size:0.8em; 
    color: #FFFFFF;
}

.levelselect option:checked {
    color: #FFF !important;
}

.bg {
    min-height: 100vh;
}


.table td img.scriptsidethumb, .table td img.submissionthumb, .table td img.smprofile, .table td img.tapethumb{
    height: 60px;
    width: auto;
    border-radius: 0px;
}


textarea.form-control{
    min-height:8rem;
}

.form-floating > label {
    color:#4b5564;
}

.was-validated .form-control:valid {
    background-image: none;
}
.was-validated .form-check-input:valid ~ .form-check-label {
    color: inherit;
}
    
.was-validated .form-check-input:valid:checked {
    background-color: #6C7293;

}

.page-body-wrapper.full-page-wrapper .content-wrapper{
    height:100%;
}


.checkmark {
    display: none;
    color: #FFFFFF;
    font-weight: bold;
}

.checkmark i{
font-size: 2em !important;
}

.accordionbtn:not(.collapsed) .checkmark {
    display: inline;
}

.errorbox a {
    font-weight: bold;
    color: #FFFFFF;
}


div.notificationbody p{
    line-height: 1.5em !important;
    color: #AAAAAA !important;
    font-size: 1.1em;
}

div.notificationbody ul li {
    line-height: 2em;
    padding-right: 20%;
    padding-top: 15px;
    color: #DDDDDD;
    font-size: 1.1em;
}
    
div.notificationbody ul {
    padding-left: 4%;
    padding-bottom: 2%;
}

div.notificationbody ul li .btn-sm{
    font-size: 0.9em;
    margin: 0px 5px;
}

.btn-warning {
    text-shadow: 0px 0px 5px #444444;
}
    
.notificationtitle {
    font-family: "Geist", "Rubik", "san-serif";
    font-weight: 700;
    }
    
.notificationbody{
    font-family: "Geist", "Rubik", "san-serif";
    font-weight: 500;
}

.notificationitem .card-footer {
    padding: 0px 20px;
}

.notificationitem p a {
    font-weight: 600;
}

.notificationitem p a:not(.btn-light):not(.btn-secondary) {
    color: #DDDDDD;
}
  
#couponresponse {
    padding: 4px 20px 4px 20px;
}

#applycoupon {
   margin-top: 8px !important;
}

textarea {
    line-height: 1.4em !important;
}

.ajax-upload-dragdrop {
text-align: center;
}

div.ajax-file-upload {
width: 100% !important;
}

div.smalltip {
    font-size: 0.8em;
    line-height: 1.2em !important;
    margin-top: 4px;
}

span.charcount {
    color: gray;
    font-size: 0.8em;
    font-style: italic;
}

.dragdrop {
    margin: 10px 0px 20px 0px;
    font-style: italic;
    font-size: 0.9em
}

.ajax-upload-dragdrop .ajax-file-upload:hover {
    background: #0b5ed7;
    color: #FFFFFF;
}

.ajax-upload-dragdrop {
    background: #13161c !important;
    border-radius: 10px;
}

.ajax-file-upload-abort {
display: none !important;
}

#coinpurse {
    margin-top: 6px;
    cursor: pointer;
}

.col-form-label {
    font-weight: 500;
    color: #CACACA !important;
}

.hud .card-body {
    padding: 15px 30px 5px 30px;
}

.hud a {
   color: #FFFFFF;
   text-decoration: none;
}
    
.hud a:hover {
text-decoration: underline;
}

.list-group-item{
    background-color: #191C24 !important;
    color: #FFFFFF !important;
    padding: 18px 30px 18px 30px;
    border-color: #000000;
    font-family: "Geist", "Rubik", sans-serif;
    }
.list-group-item div h5{
    font-weight: 800;
}

.charactername, .projectname {
    line-height: 1.6em;
    font-weight: 800;
    font-family: "Geist","Rubik",sans-serif;
}



.br-theme-css-stars .br-widget {
    height: 28px;
    white-space: nowrap;
  }
  .br-theme-css-stars .br-widget a {
    text-decoration: none;
    height: 18px;
    width: 18px;
    float: left;
    font-size: 23px;
    margin-right: 5px;
  }
  .br-theme-css-stars .br-widget a:after {
    content: "\2605";
    color: #d2d2d2;
  }
  .br-theme-css-stars .br-widget a.br-active:after {
    color: #EDB867;
  }
  .br-theme-css-stars .br-widget a.br-selected:after {
    color: #EDB867;
  }
  .br-theme-css-stars .br-widget .br-current-rating {
    display: none;
  }
  .br-theme-css-stars .br-readonly a {
    cursor: default;
  }
  @media print {
    .br-theme-css-stars .br-widget a:after {
      content: "\2606";
      color: black;
    }
    .br-theme-css-stars .br-widget a.br-active:after,
    .br-theme-css-stars .br-widget a.br-selected:after {
      content: "\2605";
      color: black;
    }
  }


.accordionbtn::before {
    content: none !important;
}

#abintro a[data-bs-toggle="collapse"]::before {
    display: none !important;
    content: none !important;
}

#abintro .accordion.accordion-solid-header .card .card-header a {
    padding-right: 1em;
}

.alert {
    font-family: "Geist","Rubik",sans-serif;
    font-weight: 600;
}

.alert-danger {
    color: #FFFFFF;
}

.approvalmsgsender {
    font-size: 0.8em;
    font-family: "Geist","Rubik",sans-serif;
}

.hud {
margin-top: 5px;
}

.hud .card {
margin: -6px -10px !important;
}

.hud .card .card-body {
padding-top: 14px;
padding-bottom: 0px;
padding-left: 20px;
}

.hud .card .card-body h6.text-muted{
font-size: 0.8em;
}

.hud .card .card-body h5 {
margin: 0px 0px -10px 0px ;
font-family: "Geist","Rubik",sans-serif;
font-weight: 300;
}

.btn {
    -webkit-font-smoothing: auto;
    border-radius: 8px;
    font-family: "Geist", "Rubik", sans-serif;
    font-weight: 300;
    border: none;
}


.btn-add-border {
    border: 1px solid currentColor !important;
}

.talentfiltermodal .modal-body .btn {
border: 1px solid;
margin: 3px;
border-radius: 10px !important;
}

.btn-group-wrap {
    flex-wrap: wrap;
  }

.talentfiltermodal .modal-body .btn-group .btn {
    flex-grow: 0; /* Prevent stretching */
  }

.talentfiltermodal .btn-group label:first-of-type {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    margin-left: 0;
  }
  
  /* Remove border-radius for the last label */
.talentfiltermodal .btn-group label:last-of-type {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

.nav-pills .nav-link {
border: 0px !important;
background: #232833;
color: #999999;
}

.nav-link.active {
background: #0e1014 !important;

}

#profileTabContent {
padding: 0px !important;
border: 0px !important;
}

#profileedit label {
    font-family: "Geist", "Rubik", sans-serif !important;
    font-weight: 700;
}

#profileedit .form-select:disabled {
    opacity: 0.5;
}

#profileedit .form-floating > :disabled ~ label::after,.form-floating > .form-control:disabled ~ label::after{
    background-color: transparent;
}

.locationcheck-icon {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    font-size: 0.8rem;
  }

.abxs {
font-size: 0.8em;
}

h1.fullname {
    font-family: "Oswald","Rubik",sans-serif;
}

h1 > .unionstatus {
font-size: 0.4em;
font-weight: 100;
margin-left: 3px;
color: #AAAAAA;
font-family: "Rubik",sans-serif;
}

#abscore > .card-footer {
background: #333333;
border-top: 3px solid #FFFFFF;
padding: 4px 0px;
}

#abscore > .card-footer h6 {
margin-top: 6px;
font-family: "Geist", "Rubik", sans-serif !important;
font-weight: 700;
font-size: 1.2em;
}

#abscore > .card-footer h6 span {
    font-weight: 300;
}

#abscorenum {
text-shadow: 0 0 3px #222;
font-size: 1.3em;
}

.tagline {
margin-top: -14px;
font-family: "Geist","Rubik",sans-serif;
}

.whatisthis {
    color: #ACACAC;
    display: block;
    margin-top: 8px;
    font-size: 0.9em;
}

#appearanceblock {
    font-size: 0.9em;
    color: #BBBBBB;
    margin: 10px 0px 0px 0px;
    padding: 4px 0px 8px 0px !important;
    }
    
    #appearanceblock strong {
    font-family: "Geist","Rubik",sans-serif;
    font-weight: 600;
    margin-right: 3px;
    padding: 0px 0px;
    color: #CCCCCC;
    }

#profilepage  .nav-item a.nav-link{
    font-family: "Geist","Rubik", sans-serif;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    border-radius: 12px;
    margin-bottom: 10px;
    border: 0px;
}

#profilepage .tab-content {
padding-top: 20px;
}

#profilepage .nav-tabs {
border-bottom: 0px;
}

#projectcontainer .card-title,#projectcontainer .card-subtitle, #projectcontainer .card-text, #projectcontainer a {
    padding: 3px !important;
    margin: 0px 0px !important;
    }
    
    #projectcontainer .card {
    padding: 0px 0px;
    border-radius: 10px;
    border-color: #333;
    background-color: none;
    box-shadow: #111 0px 0px 3px;
    }
    
    #projectcontainer a {
    color: #FFF;
    }
    
    #projectcontainer .card-body {
    margin: 0px;
    padding: 10px 20px;
    }


#profilepage .tab-content h4 {
    background-color: #060411;
    padding: 18px;
    border-radius: 10px;
    font-weight: 500;
    font-family: "Geist", "Rubik", sans-serif
    }

    #achievementcontainer, #achievementcontainer li.list-group-item, #selftapecontainer {
        color: #AAAAAA !important;
        font-family: "Geist","Rubik",sans-serif;
        font-weight: 300
        }
        
#achievementcontainer strong, #selftapecontainer strong {
font-family: "Geist","Rubik",sans-serif;
color: white;
font-weight: 800;
}

.talentinfo > strong{
    font-family: "Oswald","Geist",sans-serif !important;
    font-size: 1.7em;
    line-height: 1em;
    padding-top: 4px;
    margin-bottom: -20px;
    display: block;
    }
    
    .talentinfo > small{
    font-family: "Kanit","Geist",sans-serif !important;
    font-size: 1em;
    font-weight: 300;
    line-height: 1em;
    padding-top: 2px;
    margin-bottom: -20px;
    display: block;
    }

    .talentfiltermodal .accordion-item, #openbreakdownscard .accordion-item, #breakdowninfo .accordion-item,  #stnfaq .accordion-item{
        background: #191C24 !important;
    }

    .talentfiltermodal .accordion-button, #openbreakdownscard .accordion-button, #breakdowninfo .accordion-button,  #stnfaq .accordion-button{
        background: #060411;
        color: #FFFFFF;
    }

    .filtertalentbtn {
        color: #CCCCCC;
        font-family: "Geist","Rubik",sans-serif;
        }

.modal .modal-dialog.modal-fullscreen {
    margin-top:0px;
}

  .modal-fullscreen .modal-content {
    background-color: rgba(0, 0, 0, 0.95); /* Semi-transparent black */
  }
  

  .btn-lg.scoreside {
    font-weight: 800;
    font-family: "Oswald","Rubik",san-serif;
    text-transform: uppercase;
    }

/* Make images fit the height of the screen and center them */
.modal-fullscreen .carousel-item img {
    object-fit: contain; /* Maintain aspect ratio */
    height: 90vh; /* Fit the height of the viewport */
    width: auto; /* Automatically adjust width */
    margin: 0 auto; /* Center horizontally */
    display: block; /* Ensure centering works */
}

/* Update controls (left, right, close) to a visible gray color */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: invert(0.7); /* Make arrows gray */
    width: 2.25rem; /* Default is 1.5rem, so 1.5x is 2.25rem */
    height: 2.25rem; /* Default is 1.5rem */
}

.projectblock {
    padding: 20px 30px;
    border: 1px solid #333;
    border-radius: 20px;
}

#leaderboard .table td  {
padding: 5px 5px;
color: #AAB2BD;
}

#leaderboard .table td img {
width: unset;
height: unset;
border-radius: unset;
}

#leaderboard .card-body table tr td {
    font-size: 0.9em;
    /*padding: 10px 10px 10px 60px;*/
}

#leaderboard h5 {
margin: 0px 0px -3px 0px;
font-family: "Geist","Rubik",sans-serif;
font-weight: 800;
}

#leaderboard .subtext{
font-size: 0.8em;
}

#leaderboard td img {
border-radius: 5px !important;
border: 1px solid #444;
object-fit: cover; /* Ensures image fills the frame while cropping */
}

#leaderboard td strong {
font-size: 1.1em;
color: #FFFFFF;
}

    #pills-tab .nav-link {
        font-family: "Oswald","Geist","Rubik",sans-serif;
        font-size: 1.1em;
        text-transform: uppercase;
        }

.imgedit img {
    max-width: 100%;
}

.agentblock {
    padding: 20px 20px 10px 20px;
    border-radius: 20px;
    margin-bottom: 20px;
    }

.suggestionsbox, .agentsuggestionsbox {
    margin-top: -16px;
    margin-left: 12px;
    width: 96%;
    list-style: none;
    }

#localhirecontainer #suggestions {
    margin-top: -40px !important;
}

@media (max-width: 991px){

    .talentinfo {
        overflow: hidden;
        min-height: 120px !important;
    }

    .suggestionsbox {
    margin-top: -16px;
    margin-left: 12px;
    width: 94%;
    }

    .card:not(.card .card) {
    padding: 0px;
    }

    #profileedit .nav-pills .nav-link {
    padding: 4px;
    font-size: 0.95em;
    }

    .container-lg {
    padding: 50px 6px !important;
    }

}
        
.suggestionsbox li, .agentsuggestionsbox li {
    padding: 3px 0px !important;
    margin: 5px;
}

.suggestionsbox li:not(:last-child){
    border-bottom: 1px solid #EEEEEE;
}

.suggestionsbox li:hover, .agentsuggestionsbox li:hover {
    background: #666666;
    cursor: pointer;
    border-radius: 10px;
}


.suggestionsbox li a, .agentsuggestionsbox li a {
    text-decoration: none;
    color: #333;
    font-weight: 400;
    margin: 3px 10px;
    width: 100%;
    display: block;
}

.suggestionsbox li:hover a, .agentsuggestionsbox li:hover a{
    color: #FFFFFF !important;
}

.nosugg {
    color: #999999;
    font-style: italic;
    padding: 10px 10px 0px 10px;
    margin-bottom: 10px;
    font-size: 1em;
    }

    .autocomplete-suggestions {
        position: absolute; 
        top: 100%; 
        left: 0;
        z-index: 1000; 
        background-color: #fff;
        border: 1px solid #ccc;
        border-top: none; /* No border on top */
        padding: 5px;
        max-height: 200px; /* Limit suggestions height */
        overflow-y: auto;
    }
    .autocomplete-suggestion {
        color: #333; /* Dark gray text color */
        padding: 3px 5px;
        cursor: pointer;
        border-bottom: 1px solid #eee; /* Thin, light gray line separator */
        margin-bottom: 2px; /* Add a small bottom margin */
    }

    .autocomplete-suggestion a { 
        text-decoration: none; /* Remove the underline from the link */
        color: inherit; /* Inherit the color from the parent */
    }


    .absmalltxt {
        line-height: 1.3em;
        margin-bottom: 10px;
    }

    .image-frame {
        position: relative;
        width: 100%; 
        padding-top: 133.33%; /* 3:4 Aspect Ratio (3 / 4 * 100) */
        overflow: hidden; /* Crop overflowing parts */
    }

    .image-frame img {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        object-fit: cover; /* Ensures image fills the frame while cropping */
        transform: translate(-50%, -50%); /* Center the image */
    }

    .black-and-white {
        filter: grayscale(100%) opacity(0.4);
    }

#saveNotification {
    position: fixed;
    bottom: -60px; /* Start hidden */
    left: 0;
    width: 100%;
    background-color: rgba(0,0,0,0.7); /* Bootstrap warning color */
    color: #BABABA;
    padding: 15px;
    text-align: center;
    transition: bottom 0.3s ease-in-out;
    z-index: 1050;
    font-size: 16px;
    font-weight: bold;
}

.range-slider {
    position: relative;
    width: 100%;
    height: 30px; /* Adjusted height for better visibility */
}

/* Full gray background bar */
.slider-background {
    position: absolute;
    width: 100%;
    height: 6px;
    background: #ddd; /* Light gray background */
    top: 50%;
    transform: translateY(-50%);
    border-radius: 3px;
    z-index: 1;
}

/* The dynamic track showing the selected range */
.slider-track {
    position: absolute;
    height: 6px;
    background: #007bff; /* Bootstrap primary blue */
    top: 50%;
    transform: translateY(-50%);
    border-radius: 3px;
    z-index: 2;
}

.range-slider input {
    position: absolute;
    width: 100%;
    pointer-events: none;
    appearance: none;
    background: none;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
}

/* Style the slider handles (thumbs) */
.range-slider input::-webkit-slider-thumb {
    appearance: none;
    width: 20px;
    height: 20px;
    background: #2A3038; 
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    position: relative;
    z-index: 4;
}

.range-slider input::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: #2A3038;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    position: relative;
    z-index: 4;
}

.range-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
}

#breakdowninfo .nav-pills {
border-bottom: 0px;
padding-bottom: 0px;
}

#talentfilter label {
    line-height: 0.4em;
    margin-left: 4px;
    margin-top: -10px;
    margin-bottom: 8px;
    display: block;
    font-family: "Geist", "Rubik", sans-serif;
    }

.circle-img {
width: 100%; /* Full width of col-1 */
aspect-ratio: 1 / 1; /* Ensures perfect circle */
object-fit: cover; /* Ensures the image fills the circle */
border-radius: 50%; /* Makes it a perfect circle */
border: 2px solid #CFCFCF; /* Optional: Border for visibility */
}

@keyframes pulse {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.4); opacity: 0.4; }
    100% { transform: scale(1); opacity: 1; }
  }
  
  .pulse-dot {
    animation: pulse 1.5s infinite ease-in-out;
  }

.fwb {
font-weight: 600 !important;
}

.play-btn {
    font-size: 4rem; /* Adjust size */
    color: rgba(255, 255, 255, 0.8); /* Semi-transparent white */
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
    transition: color 0.3s ease, transform 0.2s ease;
}

.play-btn-half {
    color: rgba(255, 255, 255, 0.6); /* Semi-transparent white */
    font-size: 2rem;
}

.play-btn:hover {
    color: rgba(255, 255, 255, 1); /* Fully white on hover */
    transform: scale(1.1);
}

#selftapewindow::-webkit-scrollbar {
    width: 12px; /* Adjust scrollbar width */
  }
  
  #selftapewindow::-webkit-scrollbar-thumb {
    background-color: #0090E6; /* Light blue thumb */
    border-radius: 4px; /* Hard edges */
  }
  
  #selftapewindow::-webkit-scrollbar-track {
    background: #333333; /* Light gray background */
  border-radius: 4px;
  }

h4.selftapebanner {
    font-family: "Oswald","Geist";
    font-weight: 300;
    letter-spacing: 0.10em;
    border-radius: 20px;
    padding: 10px 10px 14px 10px;
    width: 60%;
    margin: 30px auto 0px auto;
    background: rgba(0,0,0, 0.5);
}

h4.watchbanner {
    font-family: "Oswald","Geist";
    font-weight: 300;
    letter-spacing: 0.10em;
    border-radius: 20px;
    padding: 10px 10px 14px 10px;
    width: 60%;
    margin: 30px auto 0px auto;
    background: rgba(0,0,0, 0.7);
}

.ldrname, .locname {
    font-weight: 700;
    font-size: 1.3em;
    margin-bottom: -7px;
    display: block;
    }

    .locname {
    font-weight: 300 !important;
    }

.ldrname a{
color: #DDDDDD;
text-decoration: none;
}

.ldrname a:hover{
color: #AAAAAA;
text-decoration: underline solid #AAAAAA;
}

.ldrtable h3 span {
font-size: 0.7em;
font-weight: 200;
}
    
.ldrtable {
    font-family: "Geist","Rubik",sans-serif;!important;
}

.ldrtotal {
    font-weight: 900;
    color: #FFFFFF;
    background-color: rgba(255,255,255, 0.04);
    border: 1px solid #444444;
    padding: 12px 4px;
    font-size: 1.3em; 
    border-radius: 10px;
    font-family: "Oswald";
}

#roleinfo .form-check-label {
margin-left: 0px !important;
padding-left: 0px !important;
padding-top: 3px;
}

#age_low_display, #age_high_display {
background: #111111;
padding: 3px 8px;
border-radius: 10px;
margin-top: -10px;
font-weight: 600;
font-size: 0.95em;
font-family: "Geist", "Rubik", sans-serif;
border: 1px solid #333333;
}

#roleinfo #fileuploader {
margin-top: -20px;
margin-left: -20px !important;
}

#roleedit .ajax-upload-dragdrop {
border: none;
background: none !important;
}

        /* Style for clickable text */
        .abtable .expand-btn {
            color: blue;
            cursor: pointer;
            text-decoration: underline;
        }
        .abtable .expand-btn:hover {
            color: darkblue;
        }

        /* For the sliding effect */
        .abtable .collapsible-row {
            display: none; /* Initially hidden */
        }

        /* Smooth transition */
        .abtable .collapsing-row {
            display: table-row;
            overflow: hidden;
            transition: max-height 0.3s ease-in-out;
        }

#breakdowns .nav-pills {
border-bottom: none;
}

.vidupload {
    background: #13161c !important;
    border-radius: 10px;
    text-align: center;
    border: 2px dotted #A5A5C7;
    color: #DADCE3;
    padding: 10px 10px 0px 10px;
    }

.headline {
font-weight: 700;
font-family: "Geist", "Rubik", sans-serif;
}

.submissionbtn button {
font-family:'Oswald' !important; 
font-size: 0.9em;
text-transform: uppercase;
font-weight: 400;
}

.modal #submissionnote::placeholder {
font-style: italic;
}

.talentblock .talentinfo {
min-height: 100px;
}

.talentinfo {
    overflow: hidden;
    min-height: 100px;
}

.disabled-link {
    pointer-events: none; /* Disables clicking */
    opacity: 0.5; /* Grays out */
    text-decoration: none; /* Removes underline (optional) */
  }

.subm-top-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #0d6efd; /* Bootstrap primary color */
    color: white;
    text-align: center;
    font-weight: bold;
    padding: 4px 0;
    font-size: 14px;
    z-index: 10; /* Make sure it's on top */
    border-top-left-radius: .375rem; /* Match rounded corners if you have */
    border-top-right-radius: .375rem;
}

.btn-group.disabled {
    opacity: 0.5;
    pointer-events: none;
}

.large-checkbox {
    width: 1.2em;
    height: 1.2em;
    transform: scale(1.2); /* Scale up the default size */
    cursor: pointer; /* Optional for better UX */
}

.hideoldmsg {
    display: none;
}

.stnhow {
    font-weight: 200;
    font-size: 1.3em !important;
    border-radius: 20px;
    font-family: Kanit;
    border: 1px solid #222222;
    padding: 18px 80px;
    }

.stngenretitle span {
    font-weight: 500;
}

.stnmatch {
    color: #FFFFFF !important;
    padding: 4px 8px;
    font-size: 0.6em;
    position: relative;
    top: -2px;
    }
    
.breadcrumbox {
    margin-bottom: -8px;
}


.how-it-works-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.how-it-works-scroll::-webkit-scrollbar {
  display: none;
}
.how-card-snap {
  scroll-snap-align: start;
  width: 75vw; /* < 100vw so next card peeks in */
  min-width: 260px;
}

#scroll-row {
    scrollbar-width: none;         /* Firefox */
    -ms-overflow-style: none;      /* IE/Edge */
  }
  
  #scroll-row::-webkit-scrollbar {
    display: none;                 /* Chrome, Safari, Opera */
  }

  #sidesbydemo .scroll-arrow {
    position: absolute;
    top: 0;
    width: 50px;
    height: 30%;
    font-size: 1.2rem;
    border: none;
    background: rgb(255,255,255, 0.7);
  }

 #sidesbydemo  .start-arrow {
    padding-right: 18px;
  }

 #sidesbydemo  .end-arrow {
    padding-left: 18px;
  }

.menu-wrapper {
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    white-space: nowrap;
    scrollbar-width: none;
  }

  .menu-wrapper::-webkit-scrollbar {
    display: none;
  }

  .menu-item {
    display: inline-block;
    padding: 1rem 1.5rem;
    font-weight: 500;
    color: #BBBBBB;
    text-decoration: none; 
    border-bottom: 6px solid #333;
    transition: border-color 0.3s;
    margin: 0px -2px;
  }

  .menu-item.active {
    border-bottom: 6px solid white;
    color: white;
  }

  .menu-item:hover {
    text-decoration: none;
    transition: color 0.3s;
    color: #FFFFFF;
  }

  .scroll-arrow {
    position: absolute;
    top: 0;
    width: 40px;
    height: 80%;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.8rem;
    font-weight: bold;
    z-index: 1;
    margin-top: 5px;
    border-radius: 30px;
    border: 3px solid #333333;
    color: #333333;
  }

  .scroll-arrow.left {
    left: 0;
  }
  .scroll-arrow.right {
    right: 0;
  }


  @media (max-width: 767.98px) {
    .scroll-arrow {
      display: none;
    }
  }

.talentboxsm {
object-fit: cover; 
height: 200px;
height: 90px !important;
min-width: 70px;
}

.ldrsecondbar a.btn {
border: 1px solid;
}

.ldrsmalltag {
font-size: 0.8em;
}

.howitworks .card-body {
    padding: 0px 0px 20px 0px;
    }
    
    .howitworks .card-body .card-title {
    font-family: "Oswald";
    font-size: 1.3em;
    margin-bottom: 8px;
    border-radius: 14px 14px 0px 0px;
    color: white;
    padding: 8px 0px 14px 24px !important;
    border-bottom: 1px solid #888;
    }
    
    .howitworks .card-body .card-text {
    color: #CCCCCC;
    font-family: "Geist";
    padding: 10px 16px 0px 16px;
    }

      .four-color-gradient3 {
        background: linear-gradient(
            to right,
            rgba(33, 150, 243, 0.4) 30%,   /* Blue fading out */
            rgba(33, 150, 243, 0) 100%     /* Fully transparent */
          );
      }

    .howitworkstitle {
    font-weight: 300;
    font-family: "Geist";
    font-size: 1.4em;
    }
    
    .howitworkstitle span{
    font-weight: 900;
    }

#talentfilter label {
    font-family: "Oswald" !important;
    font-size: 1.1em;
    padding-bottom: 6px;
    }

#myRadarChart {
    width: 80% !important;
    height: 80% !important;
    position: relative;
    top: -25px;
    }

@media (max-width: 767.98px){
    #myRadarChart{
    top: 0;
    }
}

.genre-list-item {
    background-color: #191C24; /* Explicitly setting the base background */
    transition: background-color 0.3s ease-out; /* Smooth transition for background only */
    /* Removed border, transform (lift), and box-shadow */
}

/* Hover effect for the entire list item */
.genre-list-item:hover {
    background-color: #2A2F3D !important; /* A subtly lighter shade of #191C24 */
    /* Removed transform (lift) and box-shadow as per your request */
}

.genre-list-item .genre-item-image {
    transition: transform 0.3s ease-out, opacity 0.3s ease-out, filter 0.3s ease-out; /* Smooth transition for image movements and transparency */
    opacity: 0.7; /* Initial transparency */
    filter: brightness(0.7); /* Slightly less bright white */
}

.genre-list-item:hover .genre-item-image {
    transform: translateX(-6px); /* Slide image 10px to the right */
    opacity: 1; /* Make image fully opaque on hover */
    filter: brightness(1); /* Restore full brightness on hover */
}

#stnfaq .accordion-button {
    font-family: "Oswald", "Rubik", sans-serif;
    font-size: 0.8em;
    color: #DDDDDD;
    padding: 20px;
    }
    
#stnfaq .accordion-body {
    font-family: "Rubik", sans-serif;
    padding: 30px;
    font-size: 1.1em;
}

#mytapesbtn, #watchbtn {
    font-family: "Rubik","Geist",sans-serif;
    font-weight: 400;
}

.responsive-headline {
font-size: 3em;
}

@media (min-width: 768px) {
.responsive-headline {
    font-size: 5em;
}

#mytapesbtn, #watchbtn {
    margin-top: -20px;
    font-size: 1.2em;
}

}


.stntip {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }


/* Splash Screen Styling */
#splash-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: linear-gradient(45deg, rgba(255, 0, 0, 0.7), rgba(0, 0, 255, 0.7)); /* Transparent colors over black */
    background-color: black; /* Solid black background behind the colors */
    background-size: 200% 200%;
    animation: background-move 3s ease infinite; /* Animated gradient */
    z-index: 1050; /* Higher than modals */
    display: flex;
    justify-content: center;
    align-items: center;
    filter: blur(0px); /* Start with no blur */
    opacity: 1; /* Fully visible */
    transition: opacity 0.5s ease-out; /* Smooth fade out */
  }
  
  /* Logo Styling */
  #splash-logo {
    width: 40%;
    opacity: 0;
    animation: pulse-in 0.75s ease-out forwards, fade-out 0.75s ease-in 0.75s forwards;
  }
  
  /* Pulse-in Animation */
  @keyframes pulse-in {
    0% {
      transform: scale(0.8);
      opacity: 0;
    }
    50% {
      transform: scale(1.05);
      opacity: 1;
    }
    100% {
      transform: scale(1);
      opacity: 1;
    }
  }
  
  /* Fade and fall animation for logo */
  @keyframes fade-out {
    to {
      opacity: 0;
      transform: translateY(20px) scale(0.9);
    }
  }
  
  /* Animated Gradient Background */
  @keyframes background-move {
    0% {
      background-position: 0% 50%;
    }
    100% {
      background-position: 100% 50%;
    }
  }
  
  /* Add blur effect */
  #splash-screen.blur-effect {
    filter: blur(10px);
    transition: filter 0.5s ease-in-out; /* Smooth transition for blur */
  }
  
  /* Fade out the splash screen */
  #splash-screen.fade-out {
    opacity: 0;
    transition: opacity 1s ease-out; /* Gradual fade out */
  }


  @media (max-width: 768px) {
    #splash-screen {
      display: flex;
      justify-content: center;
      align-items: center; /* Ensure the logo is centered both horizontally and vertically */
    }
  
    #splash-logo {
      width: 60%; /* Increase logo size on mobile */
      margin-top: -200px;
    }
  }


  .dot-anim {
    opacity: 0;
    animation: blink 1.4s infinite;
  }
  .dot-anim:nth-child(2) { animation-delay: 0.2s; }
  .dot-anim:nth-child(3) { animation-delay: 0.4s; }
  
  @keyframes blink {
    0%   { opacity: 0; }
    50%  { opacity: 1; }
    100% { opacity: 0; }
  }


  .scorecenter {
    font-family: "Geist",sans-serif;
    }
    
.scorecenter .scoretitle {
font-family: "Oswald","Geist",sans-serif;
letter-spacing: 0.1em;
}

.form-switch .form-check-input {
width: 2.5em;
height: 1.5em;
}

.form-switch .form-check-label{
font-size: 1em;
color: #CCCCCC;
padding-top: 3px !important;
}

.tapedetails h3 {
font-family: "Rubik","Geist",sans-serif;
font-weight: 300;
}


@media (max-width: 767.98px) {
    #adminhud,
    #writerhud,
    #tapeshud {
        overflow-x: auto;
        display: flex;
        flex-wrap: nowrap;
        scroll-snap-type: x mandatory;
        padding-left: 0px;
      }
    
      #adminhud > .col-6,
      #writerhud > .col-6,
      #tapeshud > .col-6 {
          flex: 0 0 48%;
          max-width: 48%;
          scroll-snap-align: start;
        }
    
      /* Hide scrollbar */
      #adminhud::-webkit-scrollbar,
      #writerhud::-webkit-scrollbar,
      #tapeshud::-webkit-scrollbar {
        display: none;
      }
      #adminhud,
      #writerhud,
      #tapeshud {
        -ms-overflow-style: none;
        scrollbar-width: none;
      }

  }


.no-break {
    white-space: nowrap;
}

a.tickerlink {
color: #6C7293;
text-decoration: underline;
}
    
a.tickerlink:hover {
text-decoration: underline;
}

a.tickerlinkclean {
text-decoration: none;
font-weight: bold;
}

a.tickerlinkclean:hover {
text-decoration: underline;
}


.watchpg #overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0, 0, 0, 0.99);
    z-index: 1050;
    display: none;
    color: white;
  }
  .watchpg #overlay .close-btn {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 2rem;
    cursor: pointer;
    color: #ccc;
  }
  .watchpg #overlay .center-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px;
  }
  .watchpg \.searching-text {
    font-size: 2rem;
    margin-bottom: 20px;
  }
  .watchpg .dots span {
    opacity: 0;
    animation: blink 1s infinite;
  }
  .watchpg .dots span:nth-child(2) { animation-delay: 0.2s; }
  .watchpg .dots span:nth-child(3) { animation-delay: 0.4s; }

  @keyframes blink {
    0%, 100% { opacity: 0; }
    50% { opacity: 1; }
  }
  .watchpg .tips-box {
    background-color: rgba(255, 255, 255, 0.1);
    padding: 20px;
    border-radius: 10px;
    margin-top: 20px;
    max-width: 400px;
  }
  .watchpg .cancel-btn, .watchpg .actionbtns, .watchpg #loginbtn, .watchpg #profilebtn {
    margin-top: 15px;
  }

  #statusText {
    font-size: 2.3em;
    font-weight: 600;
    line-height: 1.1em;
    font-family: "Geist","Rubik", sans-serif;
    }
    
#tipText {
font-family: "Geist","Rubik", sans-serif;
font-weight: 400;
}

.votewinner {
padding: 6px 6px;
font-size: 0.6em;
position: relative;
top: -2px;
}

#stnvhs {
width: 300px;
}

.pulsevhs {
animation: pulseOpacity 2s infinite ease-in-out;
}

/* Define the keyframes for the animation */
@keyframes pulseOpacity {
0% {
opacity: 0.5; /* Start at 80% opacity */
}
50% {
opacity: 0.8; /* Go up to 100% opacity in the middle */
}
100% {
opacity: 0.5; /* Come back down to 80% opacity */
}
}

.explevel {
margin-top: -6px;
display: block;
}

#gif-row .d-flex {
/* ensure horizontal scrolling container */
}
#gif-row .overflow-auto {
scrollbar-width: thin;
scrollbar-color: rgba(0,0,0,0.2) transparent;
}
#gif-row .overflow-auto::-webkit-scrollbar {
height: 8px;
}
#gif-row .overflow-auto::-webkit-scrollbar-track {
background: transparent;
}
#gif-row .overflow-auto::-webkit-scrollbar-thumb {
background-color: rgba(0,0,0,0.2);
border-radius: 4px;
}

/* on small screens show three visible by adjusting child width */
@media (max-width: 767.98px) {
#gif-row .d-flex > .flex-shrink-0 {
    width: calc(100% / 3) !important;
}
}

/* Writer's Room script sides - muted by default, brighten on hover */
.script-sides-row img {
  filter: brightness(0.82);
  transition: filter 0.25s ease;
}
.script-sides-row a:hover img {
  filter: brightness(1);
}

#matchuptext {
font-size: 1.2em;
font-weight: 400;
}

#scoresides h4.topbar {
    padding: 18px 20px;
margin-left: -24px;
margin-right: -24px;
margin-bottom: 20px;
border-bottom: 1px solid #444444;
    border-radius: 10px 10px 0px 0px;
    font-weight: 500;
    font-family: "Geist", "Rubik", sans-serif
    }

    #scoresides #slide-1 p {
        font-size: 1.1em !important;
        color: #AAAAAA;
        }

/* Spin the entire button during morph */
#navToggleBtn {
    border: none;
    background: transparent;
    padding: 0.5rem;
    transition: transform 0.4s ease; /* for the spin */
    outline: none;
    box-shadow: none;
  }
  
  #navToggleBtn:focus,
  #navToggleBtn:focus-visible {
    outline: none;
    box-shadow: none;
  }
  
  #navToggleBtn.open {
    transform: rotate(180deg);
  }
  
  #navToggleBtn .bar {
    display: block;
    width: 24px;
    height: 2px;
    margin: 5px 5px 5px 8px;
    background-color: #CDCDCD;
    transition: all 0.3s ease;
  }
  
  /* X state */
  #navToggleBtn.open .bar:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }
  #navToggleBtn.open .bar:nth-child(2) {
    opacity: 0;
  }
  #navToggleBtn.open .bar:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
  }


.hmtrend-container {
	position: relative;
}

#leaderboard .image-frame {
    position: relative; /* Make .image-frame the positioning context for .hmtrend-number */
    overflow: visible;
}

#leaderboard .hmtrend-number {
	position: absolute;
	bottom: -14px;
	left: -10px;
	font-size: 5vw;
	font-weight: 900;
	color: black;
	text-shadow:
		-2px -2px 0 white,
		2px -2px 0 white,
		-2px 2px 0 white,
		2px 2px 0 white;
	z-index: 2;
	line-height: 1;
	font-family: Arial, sans-serif;
	pointer-events: none;
}

#leaderboard .hmtrendab {
	font-family: "Oswald";
}

@media (max-width: 992px) {

    #leaderboard .hmtrend-number {
        font-size: 10vw;
        bottom: 0px;
    }

    .card-body.bodythin {
        padding-left: 0px !important; 
        padding-right: 0px !important; 
    }
}

@media (max-width: 576px) {
    #leaderboard .hmtrend-number {
    font-size: 65px !important;
    bottom: -10px;
    }
}

.profile-highlight {
    min-height: 180px;
    position: relative;
    background-color: #111; /* fallback */
  }
  
  .profile-highlight .profile-img {
    width: 120px;
    height: 160px;
    object-fit: cover;
    border: 4px solid rgba(255,255,255,0.3);
  }
  
  .profile-highlight .bg-blur {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    filter: blur(40px) brightness(0.6);
    opacity: 0.6;
    z-index: 0;
  }
  
  .profile-highlight .row {
    position: relative;
    z-index: 2;
  }

#marketbg {
    background-image: url('/img/marketplace-tokens.jpg');
    background-position: center left;
    background-repeat: no-repeat;
    background-color: #040404;
    position: relative; /* Required for ::before positioning */
}

/* Apply overlay only on mobile and tablet (max-width: 991.98px, before lg breakpoint) */
@media (max-width: 991.98px) {
    #marketbg::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.8); /* 80% opacity black */
        z-index: 1;
    }

    #marketplace .tab-content {
        padding: 20px 6px 20px 6px;
    }
        
}

/* Ensure content inside #marketbg is above the overlay */
#marketbg > * {
    position: relative;
    z-index: 2;
}

.ad-container:has(ins.adsbygoogle[data-ad-status="unfilled"]) {
    display: none !important;
}

.menus-open .ad-container,
.menunav-open .ad-container {
    z-index: auto !important;
    position: static !important;
}

#marketplace .statustxt {
    position: relative;
    top: 1px;
    font-size: 1.1em;
    font-family: "Rubik";
    font-weight:900;
}

#validemail {
    padding: 4px 6px;
    font-size: 0.5em;
    position: relative;
    top: -2px;
}

#emailprefscard .form-check {
    margin-top: 5px;
    margin-right: 1px;
    }
    
    #emailprefscard .form-check-label {
    padding-left: 0.4rem;
    }

/*
background: #ffc107; 
color: black;
*/

#subscribe .card-title {
    font-size: 2em;
    font-family: "Oswald","Geist";
    background: red;
    border-radius: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
}
    
#subscribe ul li {
    padding-bottom: 6px;
    padding-top: 6px;
    border-bottom: 1px dotted #444444;
}

.profilevid {
color: inherit;
text-decoration: none;
}
    
.profilevid:hover {
background: #20242d !important;
}

a.cleanhover {
text-decoration: none;
}
    
a.cleanhover:hover {
text-decoration: underline;
}

.impersonate-banner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1050;
  }
  
  .impersonate-nav {
  padding-top:  30px;
  }

.abscorebadge {
    padding: 4px 8px;
    text-shadow: 0px 0px 2px #777777;
}

.headshot-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr); /* mobile */
  }
  
  @media (min-width: 992px) {
    .headshot-grid {
      grid-template-columns: repeat(24, 1fr); /* desktop */
    }
  }
  
  /* 3x4 frame */
  .headshot-frame {
    aspect-ratio: 3 / 4;
    overflow: hidden;
  }
  
  /* image behavior */
  .headshot-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;   /* fills frame, no distortion */
    display: block;
  }


.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.day {
  color: #f8f9fa; /* Bright text for selectable days on dark background */
  font-weight: 900;
}

.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day:hover,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.day:hover {
  background: #343a40; /* Dark gray background for hover effect */
  color: #ffffff; /* Bright white text on hover */
}

.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day.active,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.day.active {
  color: #212529; /* Dark text for contrast */
  background: #ffc107; /* Bright yellow background for active day */
}

.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day.active:before,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.day.active:before {
  background: #ffc107; /* Same yellow as active background */
}

.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.disabled,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.disabled {
  color: #6c757d; /* Muted gray for non-selectable days */
  cursor: not-allowed;
  font-weight: 300;
}

.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.old.day,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.old.day {
  color: #444444;
  font-weight: 300;
}

.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.new.day,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.new.day {
  color: #999999;
}

.datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th.datepicker-switch, 
.datepicker.datepicker-inline .datepicker-days table.table-condensed thead tr th.datepicker-switch {
color: #FFFFFF;
}

.datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th.datepicker-switch:hover, 
.datepicker.datepicker-inline .datepicker-days table.table-condensed thead tr th.datepicker-switch:hover,
.datepicker table tr td span.focused, .datepicker table tr td span:hover {
    color: #212529;
}



/* Toggle icon */
.menux-toggle-icon {
    font-size: 28px;
    cursor: pointer;
    user-select: none;
    color: #CACACA;
  }
  
  /* Close icon inside menu */
  .menux-close-icon {
    font-size: 22px;
    cursor: pointer;
    position: absolute;
    top: 1rem;
    right: 1.25rem;
    z-index: 1;
  }
  
  /* Overlay */
  .menux-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
    z-index: 2147483646;
  }
  
  /* Panel */
  .menux-panel {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: 380px;
    max-width: 100%;
    background: #000000;
    transform: translateX(100%);
    transition: transform 0.35s ease;
    z-index: 2147483647;
    padding: 1.5rem;
    overflow-y: auto;
    border-left: 1px solid #222222;
  }
  
  /* Open state */
  .menux-open .menux-panel {
    transform: translateX(0);
  }
  
  .menux-open .menux-overlay {
    opacity: 1;
    visibility: visible;
  }
  
  /* Mobile full-screen */
  @media (max-width: 767px) {
    .menux-panel {
      width: 100vw;
    }
  }

  .menux-card {
    height: 120px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 1.3rem;
    cursor: pointer;
    text-align: center;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
  }
  
  .menux-card:hover {
    /*transform: translateY(-2px);*/
    box-shadow: 0 6px 16px rgba(0,0,0,0.2);
    filter: brightness(1.08);
  }

  .menux-card-link {
    display: block;
    text-decoration: none;
  }
  
  .menux-card-link .menux-card {
    height: 120px;
  }
  
  .menux-card-link:hover .menux-card {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.3);
  }

/* ============================================================
   menus-panel — Profile sliding panel (mirrors menux)
   ============================================================ */

.menus-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 1040;
}

.menus-panel {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  width: 380px;
  max-width: 100%;
  background: #000000;
  transform: translateX(100%);
  transition: transform 0.35s ease;
  z-index: 1050;
  padding: 1.5rem 1.5rem 0;
  overflow-y: auto;
  border-left: 1px solid #222222;
}

.menus-open .menus-panel {
  transform: translateX(0);
}

.menus-open .menus-overlay {
  opacity: 1;
  visibility: visible;
}

.menus-close-icon {
  font-size: 22px;
  cursor: pointer;
  position: absolute;
  top: 1rem;
  right: 1.25rem;
  z-index: 1;
}

/* Flex column layout so logout sticks to the bottom */
.menus-panel {
  display: flex;
  flex-direction: column;
}

.menus-panel-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding-top: 1.5rem;
}

.menus-panel-top {
  flex: 1;
}

.menus-panel-bottom {
  margin-top: auto;
  padding-bottom: 0.75rem;
}

.menus-panel-bottom .dropdown-divider {
  border-top: 1px solid #2c2e33;
  margin: 0 0 0.25rem 0;
  opacity: 1;
}

@media (max-width: 767px) {
  .menus-panel {
    width: 75vw;
  }
}

/* ============================================================
   menunav-panel — Mobile nav sliding panel (mirrors menux)
   Only activates on mobile (< 992px); JS gates the toggle.
   ============================================================ */

.menunav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 1040;
}

.menunav-panel {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  width: 380px;
  max-width: 100%;
  background: #000000;
  transform: translateX(100%);
  transition: transform 0.35s ease;
  z-index: 1050;
  padding: 1.5rem;
  overflow-y: auto;
  border-left: 1px solid #222222;
}

.menunav-open .menunav-panel {
  transform: translateX(0);
}

.menunav-open .menunav-overlay {
  opacity: 1;
  visibility: visible;
}

.menunav-close-icon {
  font-size: 22px;
  cursor: pointer;
  float: right;
}

@media (max-width: 767px) {
  .menunav-panel {
    width: 100vw;
  }
}

/* ============================================================
   Mobile overrides: menus & menunav panels drop below top bar
   Mobile navbar is 63px tall with -10px margin-top = 53px.
   Close icons are hidden on mobile — same button re-closes.
   ============================================================ */

@media (max-width: 991px) {
  .menus-overlay,
  .menunav-overlay {
    top: 53px;
  }

  .menus-panel,
  .menunav-panel {
    top: 53px;
    height: calc(100vh - 53px);
    width: 75vw;
  }

  .menus-close-icon,
  .menunav-close-icon {
    display: none;
  }

  /* Halve the top padding before the first list item on mobile */
  .menus-panel-inner {
    padding-top: 0.75rem;
  }

  .menunav-panel .preview-list.mt-4 {
    margin-top: 0.75rem !important;
  }
}

/* ============================================================
   panel-list-item — shared list row style for menus & menunav
   Mirrors the appearance of the original .dropdown-item rows.
   ============================================================ */

.panel-list-item {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  text-decoration: none;
  color: #fff;
  transition: background 0.15s ease;
  border-radius: 6px;
}

.panel-list-item:hover {
  background: rgba(255,255,255,0.07);
  color: #fff;
  text-decoration: none;
}

.panel-list-item .preview-thumbnail {
  margin-right: 0.75rem;
  flex-shrink: 0;
}

.panel-list-item .preview-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}

.panel-list-item .preview-item-content {
  flex: 1;
}

.panel-list-item .preview-subject {
  font-size: 0.95rem;
  font-weight: 500;
  margin: 0;
  color: #e0e0e0;
}

/* Text-only variant used in the mobile nav panel */
.panel-list-item--text {
  display: block;
  padding: 0.85rem 1rem;
  text-decoration: none;
  color: #e0e0e0;
  font-size: 1rem;
  font-weight: 500;
  border-radius: 6px;
  transition: background 0.15s ease;
}

.panel-list-item--text:hover {
  background: rgba(255,255,255,0.07);
  color: #fff;
  text-decoration: none;
}

  .dashnav .reward-btn {
    background-color: #63302f !important;
    color: #fff !important;
  }

a.pending-link {
    text-decoration: none;
}

a.pending-link:hover {
    text-decoration: underline;
}

.page-link:focus {
    outline: none !important;
    box-shadow: none !important;
}
  