
@keyframes rotate {
        from { transform: rotate(0deg); }
        to { transform: rotate(360deg); }
}

@keyframes rotate-ccw {
        from { transform: rotate(0deg); }
        to { transform: rotate(-360deg); }
}

label {
	font-weight: 700;
}

#record-summary {
	margin-top: 1rem;
}

#record-details {
	margin-top:.5rem;
	margin-bottom: 2rem;
}

#max-distance-wrapper {
	display: none;
}

#upload-wrapper {
	display: none;
}

#upload-spinner {
        animation: rotate 5s linear infinite;
        transform-origin: center;
}

#upload-spinner-svg {
        display:none;
        margin-left:.5rem;
}

.similar-image img {
	max-height: 300px;
	max-width: 300px;
}

.record {
	border: solid 1px #000;
	padding: 1rem;
}

.record-image img {
	max-height: 500px;
	max-width: 500px;
}

.list-grid {
	display: grid;
	grid-template-columns:1fr 1fr 1fr;
	gap: 50px 10px;
	margin-bottom: 1.5rem;
}

.list-grid-item {
	border: solid thin;
	padding: .5rem;
}

.list-grid img {
	max-height: 200px;
	max-width: 200px;
}

.record-grid {
	display: grid;
	grid-template-columns:1fr 1fr;
	gap: 50px 10px;
	margin-bottom: 1.5rem;
}

.record-grid > *:first-child,
.record-grid > .left-col {
  position: sticky;
  top: 0; 
  background: #fff;  
  z-index: 1;        
}

.record-grid > *:last-child,
.record-grid > .right-col {
  overflow-y: auto;
  height: 100vh;         /* or: height: calc(100vh - 1.5rem); to account for margin */
  padding-left: 10px;
}

#upload-grid {
	display: grid;
	grid-template-columns:1fr 1fr;
	gap: 50px 10px;
	margin-bottom: 1.5rem;
}

#upload-grid > *:first-child,
#upload-grid > .left-col {
	position: sticky;
	top: 0; 
	background: #fff;  
	z-index: 1;
	border:solid thin;
	padding: 1rem;
}

#upload-grid > *:last-child,
#upload-grid > .right-col {
  overflow-y: auto;
  height: 100vh;         /* or: height: calc(100vh - 1.5rem); to account for margin */
  padding-left: 10px;
}

#upload-image {
	display:none;
	justify-content:center;
	max-height:300px;
	max-width:500px;
	margin-bottom: 1.5rem;
}

#upload-image img {
	max-height:300px;
	max-width:500px;
}

.similar-table th {
	vertical-align: top !important;
	padding: .5rem;
	padding-left: 0;
}

.similar-table td {
	vertical-align: top !important;
	padding: .5rem;
	padding-left: 0;
}

.attributes {
	min-width: fit-content;
	table-layout:fixed;
	font-size:small;
	font-family:monospace;
	
}

.attributes td {
	vertical-align: top !important;
	padding: .5rem;
	padding-top: 0;
	word-break: break-all !important;
}

.attributes th {
	vertical-align: top !important;
	padding: .5rem;
	padding-top: 0;
	width: 30%;
}

.no-preview {
	font-style:italic;
}

#similar-controls {
	display:none;
	margin-bottom: 1.5rem;
}

#list-controls {
	margin-bottom: 2rem;
	display:none;
}

.hey-look {
	font-weight: 700;
}

.pagination {
	justify-content: center;
}

.pagination-el {
	padding: .5rem;
	padding-left: 1rem;
	padding-right: 1rem;	
	border: 1px solid #ccc;
	margin-left: .5rem;
	margin-right: .5rem;
}

.pagination-el a {
	text-decoration: none;
}

.pagination-rollup {
	text-align:center;
	font-style:italic;
	margin-top:1rem;
}

#progress {
	display: none;
}

#summary {
	margin-bottom: 1rem;
	font-style: italic;
}
