.popimage
{
	
}

.black_overlay
{
	transition:300ms linear;
	display: none;
	position: absolute;
	top: 0%;
	left: 0%;
	width: 100%;
	height: 100%;
	background-color: black;
	z-index:1001;
	opacity:0;
	cursor:pointer;
}

.black_overlay_loading
{
	transition:300ms linear;
	display: none;
	position: absolute;
	top: 0%;
	left: 0%;
	width: 100%;
	height: 100%;
	background-color: black;
	z-index:1001;
	opacity:0;
	cursor:wait;
}

.black_highlight
{
	transition:300ms linear;
	position: absolute;
	top: 0%;
	left: 0%;
	width: 100%;
	height: 100%;
	z-index:1001;
	cursor:pointer;
}
 
.white_content
{
	transition:300ms linear;
	border-radius:10px;
	display: none;
	position: absolute;
	top: 10%;
	left: 20%;
	width: 60%;
	padding: 2px;
	border: 4px solid #000;
	background-color: white;
	z-index:1002;
	overflow: auto;
	text-align:center;
	opacity:0;
	vertical-align:middle;
}

.white_dim
{
	transition:300ms linear;
	border-radius:10px;
	display: block;
	padding: 2px;
	border: 4px solid #000;
	background-color: white;
	z-index:1002;
	overflow: auto;
	text-align:justify;
	cursor:pointer;
	opacity:0;
	vertical-align:middle;
}

.white_content td
{
	text-align:center;
	vertical-align:middle;
}

h1
{
    font-variant-caps: petite-caps;
}

polygon
{
    transition: all .4s ease;
    
}
path
{
    transition: all .4s ease;
    
}

rect
{
    transition: all .4s ease;
    
}

button
{
    transition: all .4s ease !important;
    
}

.transitionable
{
    transition: all .4s ease;
    
}

.cellDiv
{
    max-height:3em;
    overflow:hidden;
    -webkit-transition: all 0.3s ease-in;
    -moz-transition: all 0.3s ease-in;
    -o-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
}
#navTable
{
    width:100%;
    border:none;
    background-color:white;
    padding: 1em 1em 1em 1em;
    /*border: 1em solid white*/
    border:0;
}

#navTable td
{
    text-align:center;
}

#backgroundDiv
{
    /*padding: 2em 2em 2em 2em;*/
    margin: 0em 0em 0em 0em;
    background-color:black;
}

body
{
    padding: 0;
    margin: 0;
    background-color:black;
    overflow-y: scroll;
}

/* Consistent Scrollbar Styles */
/* For Firefox */
html {
  scrollbar-width: thin;
  scrollbar-color: #888 transparent;
}

/* For Webkit-based browsers (Chrome, Safari, etc.) */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-button {
  display: none;
}

::-webkit-scrollbar-track {
  background-color: transparent;
}

::-webkit-scrollbar-thumb {
  background-color: #888;
  border-radius: 10px;
  border: 2px solid transparent;
  background-clip: content-box;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #555;
}

.hoverOnly
{
    opacity: 0;
    
}

.hoverOnly:hover
{
    opacity:1;
}


.dropdown:hover .dropdown-content {display: block;}

.dropdown
{
  padding-right:1em;
}

.dropdown-content
{
  display: none;
  position: absolute;
  min-width: 15em;
  z-index: 1;
  background-color:black;
  padding:.5em 1em .5em .5em;
  opacity: .9;
  right:0;
}
/*
.dropdown a
{
  color:silver;
  text-decoration:none;
}

.dropdown a:hover
{
  color:white;
}

.dropdown-content span
{
  color:white;
}

.dropdown-content a:hover
{
  color:white;
}
*/
.dropdown-content *
{
  display:block;
  font-size:small;
  font-weight:lighter;
}

a:hover
{
    cursor:pointer;
}

.hoverHighlight:hover
{
    color: var(--nav-text-color);
}

.hoverButtonHighlight
{
    border-radius: .5rem;
    padding: .25rem;
    display: inline-block;
}

.hoverButtonHighlight:hover
{
    background-color: var(--nav-text-color);
    cursor: pointer;
}

.file-label {
    border-radius: .5rem;
    padding: .25em 0.15em .25em 0; /* top, right, bottom, left */
    display: inline-block;
}

.draggable-file-enabled {
    text-decoration: underline;
    text-decoration-color: var(--nav-text-color);
}


/* New style for text-based plum buttons */
.btn-text-plum {
    background-color: transparent !important;
    border: none !important;
    color: #3d0519 !important; /* Dark Plum - from base.html button text */
    box-shadow: none !important;
    padding: 0 !important; /* Remove default button padding */
    margin: 0 0 0 0.5em !important; /* Adjust margin slightly if needed */
    font-weight: normal !important;
    text-decoration: none !important;
    cursor: pointer;
    vertical-align: middle; /* Align with text */
    transition: transform 0.1s ease-in-out; /* Added for smooth lift */
    display: inline-block; /* Added to help with transform on spans */
}

.btn-text-plum:hover,
.btn-text-plum:focus {
    color: #3d0519 !important; /* Keep color */
    background-color: transparent !important;
    font-weight: bold !important;
    box-shadow: none !important;
    outline: none !important;
    transform: translateY(-2px); /* Added for lift effect */
}

/* Add any specific active state if desired */
/*
.btn-text-plum:active {
    text-decoration: underline !important; 
}
*/

/* Alternative focus style: Bold black border, no glow */
.form-control.focus-bold-border:focus {
  border-color: #000000 !important; /* Black border */
  border-width: 2px !important;   /* Make border slightly bolder */
  box-shadow: none !important;     /* Remove the gold box-shadow */
  outline: none !important;        /* Keep default outline removed */
}

/* New style for gold focus border */
.form-control.focus-gold-border:focus {
  border-color: var(--nav-text-color) !important; /* Gold border using CSS variable */
  border-width: 2px !important;                 /* Make border 2px wide */
  border-style: solid !important;               /* Explicitly set to solid */
  box-shadow: none !important;                   /* Remove the glow effect */
  outline: none !important;                      /* Keep default outline removed */
}

/* New style for greyed-out text buttons */
.btn-text-grey {
    background-color: transparent !important;
    border: none !important;
    color: #888888 !important; /* Grey color */
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 0 0.5em !important; /* Match plum button margin */
    font-weight: normal !important;
    text-decoration: none !important;
    cursor: default !important; /* Default cursor for inactive state */
    vertical-align: middle; /* Align with text */
}

/* Styles for form controls and focused states */
.form-control {
    vertical-align: middle; /* Align with text */
}

@keyframes pulse {
  0% {
    color: inherit;
  }
  50% {
    color: var(--nav-text-color);
  }
  100% {
    color: inherit;
  }
}

.pulsing-upload-icon {
    animation: pulse 2s infinite;
}

/* Button for sending initial query */
.send-button {
    width: 1.8em; 
    height: 1.8em;
    padding: 0;
    border-radius: 50%; 
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background-color: var(--nav-text-color);
    border: none;
    color: white;
    transition: all .2s ease-in-out;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.send-button svg {
    width: 0.9em;
    height: 0.9em;
}

.send-button:hover {
    transform: scale(1.05) translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
    cursor: pointer;
}
