historical-ocr / ui /custom.css
milwright's picture
Fix syntax error and responsive layout issues
3bdacb6
raw
history blame
9.08 kB
/* Minimal essential styling */
/* Processing status container */
.processing-status-container {
margin: 10px 0;
padding: 8px 12px;
border-left: 3px solid #5c6bc0;
font-size: 0.9rem;
}
/* Result card styling */
.previous-results-container {
margin-bottom: 20px;
color: #000000 !important;
background-color: #ffffff !important;
}
/* Let Streamlit handle text colors based on background */
/* Reset forced white text to use Streamlit defaults */
.result-card {
border: 1px solid #e0e0e0;
border-radius: 4px;
padding: 15px;
margin-bottom: 15px;
}
.result-header {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
padding-bottom: 5px;
border-bottom: 1px solid #e0e0e0;
}
.result-filename {
font-weight: bold;
font-size: 1.1rem;
}
.result-date {
font-size: 0.9rem;
color: #666;
}
.result-metadata {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 10px;
}
.result-tag {
background-color: #e3f2fd;
border-radius: 16px;
padding: 3px 10px;
font-size: 0.85rem;
color: #1565c0;
}
.selected-result-container {
border: 1px solid #e0e0e0;
border-radius: 4px;
padding: 20px;
margin: 15px 0;
}
.selected-result-title {
font-size: 1.3rem;
font-weight: bold;
margin-bottom: 15px;
}
/* Fix for image preprocessing preview */
.stExpander {
overflow: hidden !important;
}
.stExpander img {
max-width: 100% !important;
height: auto !important;
object-fit: contain !important;
}
/* Additional fixes for image preprocessing preview in expanders */
.streamlit-expanderContent {
overflow: hidden !important;
}
.streamlit-expanderContent img {
max-width: 95% !important;
height: auto !important;
object-fit: contain !important;
}
/* Metadata container styling */
.metadata-container {
background-color: #f8f9fa;
border-radius: 4px;
padding: 12px;
margin-bottom: 20px;
margin-top: -10px !important; /* Negative margin to reduce gap with header */
border-left: 3px solid #4285f4;
}
/* Direct child styling to prevent nested containers */
.element-container > .metadata-container {
margin-top: 0 !important;
}
/* Fix spacing for headings above metadata container */
.element-container h3 + div .metadata-container,
.element-container h1 + div .metadata-container,
.element-container h2 + div .metadata-container,
.stHeading + div div {
margin-top: 0 !important;
}
/* Fix for subheader and metadata container spacing */
.stHeading ~ div {
margin-top: -10px !important;
}
/* Remove excess space between metadata heading and content */
.stMarkdown + div div.element-container,
.stMarkdown + div,
.stHeading + div,
.stHeading + div div.element-container,
header + div.stMarkdown + div,
[data-testid="stHeader"] + div,
.stHeading + * {
margin-top: 0 !important;
padding-top: 0 !important;
}
/* PDF container fixes */
.stExpander .streamlit-expanderContent {
max-width: 100% !important;
overflow: visible !important;
}
/* Fix placement of fullscreen buttons, especially in expanders */
.element-container .stImage .stExpander button[title="View fullscreen"] {
position: absolute !important;
top: 5px !important;
right: 5px !important;
}
/* Fix PDF preview container */
.stPdfViewerContent,
.stPdfViewer,
.stPdfViewerPagesContainer {
width: 100% !important;
max-width: 100% !important;
overflow: visible !important;
}
/* Fix for expandable content */
.stExpander > div[data-testid="stExpander"] {
max-width: 100% !important;
overflow: visible !important;
}
/* Fix positioning for fullscreen buttons in image containers */
.stImage button[title="View fullscreen"] {
position: absolute !important;
top: 5px !important;
right: 5px !important;
z-index: 1000 !important;
visibility: visible !important;
opacity: 1 !important;
width: 28px !important;
height: 28px !important;
padding: 0 !important;
margin: 0 !important;
background-color: rgba(255, 255, 255, 0.7) !important;
border-radius: 4px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
}
/* Fix fullscreen button styling */
button[title="View fullscreen"],
button.streamlit-expanderHeader {
z-index: 999 !important;
visibility: visible !important;
opacity: 1 !important;
border-radius: 4px !important;
position: absolute !important;
top: 5px !important;
right: 5px !important;
width: 28px !important;
height: 28px !important;
padding: 0 !important;
margin: 0 !important;
background-color: rgba(255, 255, 255, 0.7) !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
}
/* Make text visible in Previous Results tab - ensure high contrast */
.previous-results-container h3,
.previous-results-container p,
.previous-results-container .result-filename,
.previous-results-container .result-date,
.previous-results-container .result-tag {
color: #000000 !important;
text-shadow: none !important;
}
/* No Results styling with proper contrast */
.previous-results-container[style*="text-align: center"] {
background-color: #f0f2f6 !important;
border-radius: 8px !important;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}
/* Additional image fixes for all containers */
.document-content img,
.markdown-text-container img,
.page-text-content img,
.image-container img,
.streamlit-expanderContent img {
max-width: 100% !important;
height: auto !important;
object-fit: contain !important;
}
/* Responsive design rules */
/* Specific rules for mobile/small screens */
@media (max-width: 768px) {
.stExpander img,
.document-content img,
.markdown-text-container img,
.page-text-content img,
.image-container img,
.streamlit-expanderContent img {
max-width: 95% !important;
}
/* Improve responsive layout for example documents */
.stImage,
.css-6qob1r,
.css-zq5wmm,
.css-fg4pbf,
[data-testid="column"],
[data-testid="stHorizontalBlock"] > div {
margin-bottom: 20px !important;
padding: 0 10px !important;
}
.stImage img {
width: 100% !important;
max-width: 100% !important;
height: auto !important;
object-fit: contain !important;
}
.stColumnContainer,
.css-jjjwqm,
.css-fg4pbf,
[data-testid="column"] {
gap: 20px !important;
margin-bottom: 20px !important;
}
/* Force separate columns on mid-sized screens */
[data-testid="stHorizontalBlock"] {
flex-wrap: wrap !important;
}
[data-testid="stHorizontalBlock"] > div {
min-width: 45% !important;
flex: 1 1 45% !important;
}
}
/* Modern Streamlit styling - better responsive behavior */
.block-container {
padding-top: 2rem !important;
padding-bottom: 2rem !important;
}
/* Specific rules for very small screens (mobile) */
@media (max-width: 640px) {
/* Force single column on very small screens */
.row-widget.stHorizontal > div,
div[data-testid="stHorizontalBlock"] > div {
flex-direction: column !important;
width: 100% !important;
}
/* Critical fix for column display to prevent overlapping */
[data-testid="column"] {
width: 100% !important;
flex: 1 1 100% !important;
padding: 0 !important;
min-width: 100% !important;
max-width: 100% !important;
float: none !important;
clear: both !important;
display: block !important;
}
/* Enforce correct column layout for Streamlit's container elements */
div[data-testid="stHorizontalBlock"] {
flex-direction: column !important;
display: block !important;
}
/* Make images more visible on small screens */
.row-widget.stImage img,
[data-testid="stImage"] > img {
max-width: 100% !important;
width: 100% !important;
margin-bottom: 15px !important;
}
/* Fix example documents grid layout */
.stImage {
display: block !important;
margin-left: auto !important;
margin-right: auto !important;
width: 100% !important;
}
}
/* Fix image display in grid layout */
.row-widget.stImage,
.css-z5fcl4 {
text-align: center !important;
margin-bottom: 15px !important;
padding: 0 !important;
}
.row-widget.stImage img,
.css-z5fcl4 img {
max-height: 250px !important;
object-fit: contain !important;
border-radius: 4px !important;
border: 1px solid rgba(0, 0, 0, 0.1) !important;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}
/* Better caption styling for images */
.css-z5fcl4 .caption,
.caption,
[data-testid="caption"],
.css-1b0udgb,
.css-183lzff {
margin-top: 5px !important;
font-weight: 500 !important;
text-align: center !important;
font-size: 0.9rem !important;
}