/* June 2025 - combined 960.css with reset files; modified to work with new HTML and improve responsive design; simplified selectors and cleaned up unused declarations */

/* Reset
----------------------------------------------------------------------------------------------------*/

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, dialog, div, dl, dt, em, embed, fieldset, figcaption, figure, font, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, hr, html, i, iframe, img, ins, kbd, label, legend, li, main, mark, menu, meter, nav, object, ol, output, p, pre, progress, q, rp, rt, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video, xmp {
  border: 0;
  margin: 0;
  padding: 0;
  font-size: 100%;
}

html, body {
  height: 100%;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
/*
  Override the default (display: inline) for
  browsers that do not recognize HTML5 tags.

  IE8 (and lower) requires a shiv:
  http://ejohn.org/blog/html5-shiv
*/
  display: block;
}

b, strong {
/*
  Makes browsers agree.
  IE + Opera = font-weight: bold.
  Gecko + WebKit = font-weight: bolder.
*/
  font-weight: bold;
}

img {
  color: inherit;
  font-size: 0.95rem;
  vertical-align: middle;
/*
  For IE.
  http://css-tricks.com/ie-fix-bicubic-scaling-for-images
*/
  -ms-interpolation-mode: bicubic;
}

ol, ul {
  list-style: none;
}

li {
/*
  For IE6 + IE7:

  "display: list-item" keeps bullets from
  disappearing if hasLayout is triggered.
*/
  display: list-item;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th, td, caption {
  font-weight: normal;
  vertical-align: top;
  text-align: left;
}

q {
  quotes: none;
}

q:before, q:after {
  content: "";
  content: none;
}

sub, sup, small {
  font-size: 75%;
}

sub, sup {
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg {
/*
  For IE9. Without, occasionally draws shapes
  outside the boundaries of <svg> rectangle.
*/
  overflow: hidden;
}

pre,
code {
  font-family: "DejaVu Sans Mono", Menlo, Consolas, monospace;
}

hr {
  border: 0 solid #ccc;
  border-top-width: 1px;
  clear: both;
  height: 0;
}

h1 {
  font-size: 1.772rem;
}

h2 {
  font-size: 1.612rem;
}

h3 {
  font-size: 1.464rem;
}

h4 {
  font-size: 1.331rem;
}

h5 {
  font-size: 1.21rem;
}

h6 {
  font-size: 1.1rem
}

ol {
  list-style: decimal;
}

ul {
  list-style: disc;
}

li {
  margin-left: 30px;
}

p, dl, hr, h1, h2, h3, h4, h5, h6, ol, ul, pre, table, address, fieldset, figure {
  margin-bottom: 20px;
}

/* End Reset
----------------------------------------------------------------------------------------------------*/



/* Containers & Grids
  Initially based on 960 Grid System ~ Core CSS. Learn more ~ http://960.gs/. Licensed under GPL and MIT.
----------------------------------------------------------------------------------------------------*/

.container_12 { 
	width: 95%;
	margin: 0 auto; 
	background: #ffffff;
	box-sizing: content-box;
	overflow: hidden;
}

.container_12 .grid_1,
.container_12 .grid_2,
.container_12 .grid_3,
.container_12 .grid_4,
.container_12 .grid_5,
.container_12 .grid_6,
.container_12 .grid_7,
.container_12 .grid_8,
.container_12 .grid_9,
.container_12 .grid_10,
.container_12 .grid_11,
.container_12 .grid_12 {
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding-left: 10px;
	padding-right: 10px;
}


/* End Containers & Grids
----------------------------------------------------------------------------------------------------*/


/* General Site Styling
----------------------------------------------------------------------------------------------------*/

* {
	box-sizing: border-box;
}

:focus-visible {
	outline-offset: 1px;
}

html {
	scroll-behavior: smooth;
}

body {
	min-width: 0;
	background-color: #FFFFFF;
	color: #222222;
	font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

#maincontent {
	min-height: 500px;
	padding-top: 20px;
	padding-bottom: 30px;
	background-color: #ffffff;
}


h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
}

a {
	text-decoration: underline;
}

a:hover,
a:focus {
	text-decoration: underline;
}

a:not([href]) {
	color: inherit !important;
	text-decoration: none !important;
}

figure {
	margin-bottom: 0px;
}

input {
	font-family: inherit;
}

.floatRight {
	float: right;
}

.floatLeft {
	float: left;
}

.fullWidth {
	width: 100%;
}


/* End General Site Styling
----------------------------------------------------------------------------------------------------*/


/* Cookie Notice
----------------------------------------------------------------------------------------------------*/

html, body {
	height: unset;
	min-height: 100%;
}

#cookieNotice {
	width: 100%;
	position: sticky;
	top: 0;
	margin-bottom: 10px;
	padding: 15px 30px;
	background: #FFFFFF;
	box-shadow: 0 0 25px -5px #1E2022;
	z-index: 99999;
}

#cookieNotice button {
	width: auto;
	margin: 0;
	padding: 10px 20px;
}


/* End Cookie Notice
----------------------------------------------------------------------------------------------------*/


/* Skip Navigation
----------------------------------------------------------------------------------------------------*/

.skipnav a {
	position: absolute;
	width: auto;
	height: auto;
	top: -3rem;
	margin-left: 10px;
	border: 1px solid #0000ff;
	border-radius: 0 0 3px 3px;
	padding: 5px;
	font-size: 1.5rem;
	background-color: #ffffff;
	color: #0000ff;
	line-height: 1;
	transition: 750ms ease-out;
	white-space: nowrap;
	z-index: 999999;
}

.skipnav a:focus-visible {
	top: 0;
	background-color: #ffffff;
	color: #0000ff;
	white-space: normal;
}


/* End Skip Navigation
----------------------------------------------------------------------------------------------------*/


/* Header
----------------------------------------------------------------------------------------------------*/

.siteLogo img,
.header img {
	max-width: 100%;
	height: auto;
}

.header {
	margin-right: 0px;
	margin-left: 0px;
}


/* End Header
----------------------------------------------------------------------------------------------------*/

/* Navigation
----------------------------------------------------------------------------------------------------*/
 
.container_12 .navBlock{
	width: 100%;
	padding: 0;
}

.navBar {
	padding: 5px 0;
	background-color: #2A6FDF;
}

.navBar .menu-button {
	display: block;
	min-width: 40px;
	min-height: 40px;
	margin: 5px 10px 5px auto;
	border: 2px solid transparent;	
	background-color: #2A6FDF;
	color: #FFFFFF;
    cursor: pointer;
	font-size: 1.75rem;
	text-align: center;
	transition: all 200ms ease-in;
}

.navBar .menu-button:hover,
.navBar .menu-button:focus {						
	border-color: transparent;
	background-color: #FFFFFF;
	color: #2A6FDF;
}

.navMenu {
    margin: 0;
    padding: 1px 0;
	background-color: transparent;
    list-style: none;
	text-align: center;
	transition: display 200ms ease-in;
}

.navMenu li {
	display: block;
	margin: 5px 0;
	padding: 0 5px;
}

.navMenu a {
	display: block;
	border: 2px solid transparent;
	padding: 6px;
	background-color: #2A6FDF;
	color: #FFFFFF;
	text-align: left;
	text-decoration: none;
	transition: 200ms ease-in;
}

.navMenu a.activeMenu {
	background-color: #2A6FDF;
	border-color: transparent;
	color: #FFFFFF;
	font-weight: 700;
}

.navMenu a:hover,
.navMenu a:focus {
	background-color: #FFFFFF;
	border-color: transparent;
	color: #2A6FDF;
	text-decoration: none;
}



/* End Navigation
----------------------------------------------------------------------------------------------------*/



/* Footer
----------------------------------------------------------------------------------------------------*/


.container_12 .footer {
	padding: 0;
}

footer {
	padding: 10px;
}


/* End Footer
----------------------------------------------------------------------------------------------------*/


/* Buttons
----------------------------------------------------------------------------------------------------*/

.button-primary,
.button-secondary,
.button-outline {
	padding: 8px 12px;
	cursor: pointer;
	font-family: inherit;
	font-size: 1.025rem;
	font-weight: inherit;
	line-height: 1.4;
    text-decoration: none;
	transition: 200ms ease-in;
}

.button-primary:focus-visible,
.button-secondary:focus-visible,
.button-outline:focus-visible,
.sideImageContainer button:focus-visible .button-primary {
	box-shadow: inset 0 0 0 0.1rem #FFFFFF;
}

.button-primary {
	border: 2px solid #2A6FDF;
	background-color: #2A6FDF;
	color: #FFFFFF;
}

.button-primary:hover,
.button-primary:focus,
.sideImageContainer button:hover .button-primary,
.sideImageContainer button:focus .button-primary {
	border-color: #7A7A7A;
	background-color: #7A7A7A;
	color: #FFFFFF;
}

.button-secondary {
	border: 2px solid #595959;
	background-color: #595959;
	color: #FFFFFF;
}

.button-secondary:hover,
.button-secondary:focus {
	border-color: #7A7A7A;
	background-color: #7A7A7A;
	color: #FFFFFF;
}

.button-outline {
    border: 2px solid #2A6FDF;
    background-color: #FFFFFF;
    color: #2A6FDF;
}

.button-outline:hover,
.button-outline:focus {
    border-color: #7A7A7A;
    background-color: #7A7A7A;
    color: #FFFFFF;
    text-decoration: none;
}

/* End Buttons
----------------------------------------------------------------------------------------------------*/


/* Search Pages
----------------------------------------------------------------------------------------------------*/

.help-text {
	margin-top: 20px;
}

.help-text details {
	margin-bottom: 10px;
}

/* Keyword & Catalog */

.topSearchArea {
	margin-bottom: 20px;
	white-space: normal;
}

.topSearchArea p {
	white-space: normal;
}

.topSearchArea input {
	margin-bottom: 10px;
}

.topSearchArea input[type=checkbox] {
	margin-right: 5px;
}

.topSearchArea input[type=text] {
	width: 100%;
	border: 2px solid #767676;
	background: #FFFFFF url('/pastperfectonline/sitecontent/search-icon.png') center right no-repeat;
	padding: 8px 5px;
	color: #222222;
	font-family: inherit;
	font-size: 1.2rem;
	line-height: 1.4;
	transition: 200ms ease-in;
}

.topSearchArea input[type=text]::placeholder {
	color: #767676;
	opacity: 1;
}

.topSearchArea input[type=text]:hover,
.topSearchArea input[type=text]:focus {
	border-color: #478afa;
	background-image: url('/pastperfectonline/sitecontent/search-icon-active.png');
	color: #000000;
	transition: 200ms ease-in;
}

.topSearchArea .button-primary {
	font-size: 1.2rem;
}


/* Advanced Search */

.advancedSearchArea {
	display: grid;
	gap: 20px 10px;
}

.option-container,
.search-categories,
.advancedSearchArea .button-primary,
.advancedSearchArea .button-secondary {
	width: 100%;
	min-width: 200px;
	max-width: 300px;
}

.option-container {
	display: grid;
	margin-bottom: 20px;
	border: 1px solid #767676;
	padding: 10px 5px;
	background-color: #f9f9f9;
	grid-template-columns: 1fr 1fr;
	overflow: auto;
}

.option-container legend {
	padding: 0 5px;
	font-weight: 700;
}

.option-content {
    display: flex;
    margin: 3px 0;
    align-items: center;
    flex-flow: row nowrap;
    justify-content: start;
}

.option-container input {
    margin-right: 5px;
	border-color: #767676;
}

.option-container label {
	overflow-wrap: anywhere;
	word-break: normal;
}

.search-categories {
	margin-bottom: 25px;
}

.search-categories label {
	font-weight: 700;
	overflow-wrap: anywhere;
	word-break: normal;
}

.search-category-input {
	margin-bottom: 5px;
}

.search-categories input {
	width: 100%;
	margin: 0 0 5px 0;
	border: 1px solid #767676;
	padding: 5px;
	background-color: #FFFFFF;
	color: #555555;
	font-size: 1.05rem;
	transition: 200ms ease-in;
}

.search-category-input input[type=text]:hover,
.search-category-input input[type=text]:focus {
	border-color: #478afa;
	background-color: #FFFFFF;
	color: #333333;
}

.advancedSearchArea .button-primary {
	width: 100%;
	min-width: 200px;
	max-width: 300px;
	margin-bottom: 5px;
	font-size: 1.2rem;
}

.advancedSearchArea .button-secondary {
	width: 100%;
	min-width: 200px;
	max-width: 300px;
	margin-bottom: 5px;
	font-size: 1rem;
}


/* Browse by Term */

h2.vocabularyLabel {
	margin-top: 20px;
	font-size: 1.2rem;
}

.help-vocabulary {
	margin-top: 20px;
}

h2.vocabularyLabel:first-of-type {
	margin-top: 0;
}

.vocabulary_letters {
	display: flex;
    width: 100%;
	margin: 20px auto 10px;
	align-items: start;
	flex-flow: row wrap;
    gap: 10px;
	justify-content: start;
}

.vocabulary_letters a {
    display: flex;
	min-width: 36px;
	height: auto;
	min-height: 36px;
	padding: 6px;
	align-items: center;
	font-weight: 700;
	justify-content: center;
}

.vocabulary_letters a.unlinkedLetter {
    font-weight: 400;
}


/* Search Results */

.searchResultTitle:focus,
.results-heading:focus,
#resultsFocusTarget:focus,
#advancedSearchResultsContainer:focus,
#vocabulary-results:focus {
	outline: none;
}

h2.results-heading {
	margin-bottom: 5px;
}

.searchResultTitle {
	color: #AE1D1D;
	font-size: 1.375rem;
}

#searchresultsdisplay .card {
	display: flex;
	margin-bottom: 20px;
	margin-left: 0;
	border: 2px solid transparent;
	padding: 10px;
	position: relative;
	gap: 15px;
	transition: 200ms ease-in;
}

#searchresultsdisplay .card:hover,
#vocabulary-results .people-result:hover {
	border-color: #2A6FDF;
}

#searchresultsdisplay .card:focus-within,
#vocabulary-results .people-result:focus-within {
	outline: 1px auto;
	outline: -webkit-focus-ring-color auto 1px;
	outline-offset: 2px;
}

.indvResultDetails {
	flex-grow: 1;
	font-size: 1.25rem;
}

.indvResultDetails:focus {
	outline: none;
}

.indvResultDetails a::after {
	position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    pointer-events: auto;
	transition: 200ms ease-in; 
    z-index: 1;
}

#searchresultsdisplay a:focus,
#vocabulary-results a:focus {
	outline: none;
}

#searchresultsdisplay .indvResultDetails {
	order: 1;
}

.indvResultDetails p {
	margin: 3px 0 5px 0;
	color: #595959;
	font-size: 1.05rem;
	line-height: 1.4;
}

.highlightedWord {
	color: #AE1D1D;
	font-weight: 700;
}

.indvResultDetails p.recordType {
	margin: 8px 0 0 0;
	font-size: 0.9rem;
}

.recordTypeLabel {
	font-weight: 700;
}

.card .indvImage {
	width: 100px;
	max-width: unset;
    flex: 0 0 auto;
}

/** Browse by Term People & Creator results **/

#vocabulary-results .people-result {
	width: fit-content;
	margin: 0 auto;
	border: 2px solid transparent;
	padding: 10px;
	position: relative;
	transition: 200ms ease-in;
}

#vocabulary-results .people-result:not(:has(a)) {
	display: none;
}

#vocabulary-results .people-result .indvImg {
	text-align: center;
}

#vocabulary-results .people-result img.indvImage {
	max-width: 210px;
	max-height: 210px;
	margin: 0 auto;
	object-fit: contain;
}

#vocabulary-results .people-result .indvResultDetails {
	text-align: center;
}


/* Pagination */

.pagination {
    display: flex;
    align-content: start;
    flex-flow: row wrap;
	font-weight: 700;
    gap: 10px;
    justify-content: center;
}

.pagination_column {
	display: flex;
	align-items: center;
	justify-content: center;
}

.pagination_column a {
	min-width: 25px;
	height: auto;
	min-height: 25px;
	padding: 6px;
	text-align: center;
}


/* End Search Pages
----------------------------------------------------------------------------------------------------*/



/* Image Viewer
----------------------------------------------------------------------------------------------------*/

/* Large image slider */

#imageDisplayDiv {
    display: flex;
	margin-bottom: 20px;
	border: none;
	align-items: stretch;
    flex-flow: row wrap;
	gap: 10px;
	justify-content: center;
}


/** Left/Right Buttons **/

#leftImageTargetContainer {
	text-align: right;
}

#rightImageTargetContainer {
	text-align: left;
}

.sideImageContainer button {
	height: 100%;
    background: transparent;
    border: none;
	cursor: pointer;
	padding: 0;
}

.sideImageContainer button:focus-within {
	outline: none;
}

.sideImageContainer .button-primary {
	display: block;
	min-width: 48px;
	font-size: 1.5rem;
	font-weight: 700;
}

.sideImageContainer button:focus .button-primary {
	outline: 1px auto;
	outline: -webkit-focus-ring-color auto 1px;
	outline-offset: 2px;
}

/** Center Section - Image and Actions **/

#centeredImageTarget {
	max-width: 100%;
	flex: 1 0 100%;
	text-align: center;
}

span.image-count {
    display: block;
}

#image-info {
    display: grid;
    margin-bottom: 20px;
    align-items: start;
    gap: 10px;
    grid-template-columns: 1fr;
    justify-items: center;
}

#centeredImageTarget img {
	width: initial;
	max-width: 100%;
	height: auto;
	max-height: 100vw;
	margin: 0;
	padding: 0;
}

.image-actions {
	display: flex;
    max-width: fit-content;
	margin: 0 auto;
	align-items: stretch;
	flex-flow: column nowrap;
	gap: 10px;
	justify-content: center;
}

.image-actions > div {
	flex: 1 1 0px;
}

.image-actions .button-outline {
    display: flex;
	width: 100%;
	min-width: 150px;
    height: 100%;
    align-items: center;
    flex-flow: column nowrap;
    justify-content: center;
}


/* Thumbnails */

.imageContainer {
    display: flex;
	margin: 0 !important;
	border: solid 2px transparent;
    align-items: center;
	cursor: pointer;
    flex-flow: column nowrap;
    transition: 200ms ease-in;
}

.imageContainer:hover {
	border-color: #2A6FDF;
}

.indvImage {
    display: flex;
    max-width: 210px;
    margin: 0 auto;
    border: solid 2px transparent;
    align-items: center;
    flex-flow: column nowrap;
    transition: 200ms ease-in;
}

.indvImage img {
	width: 100%;
	max-width: initial;
	height: auto;
	max-height: 210px;
	object-fit: contain;
}

.indvImage img:focus {
	outline: 0;
}

.imageContainer .indvImage .imageContainerChild:not(:empty) {
    display: -webkit-box;
	font-size: 0.95rem;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: normal;
}


/* End Image Viewer
----------------------------------------------------------------------------------------------------*/



/* Random Images
----------------------------------------------------------------------------------------------------*/

.random-image-container {
	display: grid;
	margin-bottom: 40px;
	align-items: start;
	gap: 20px 10px;
	grid-template-columns: repeat(3, 1fr);
	text-align: center;
}

.random-image-container .imageContainer {
    display: grid;
	grid-template-columns: subgrid;
}

.random-images-refresh {
	margin: 20px auto;
	text-align: center;
}

#randomImagesFooterLink:before {
    position: relative;
    content: '\21BB  ' / '';
	font-size: 1.25rem;
}


/* End Random Images
----------------------------------------------------------------------------------------------------*/




/* Record Pages
----------------------------------------------------------------------------------------------------*/

#individualRecordHeaderContainer {
    display: flex;
	margin-bottom: 20px;
	border-bottom: 1px solid #CCCCCC;
	align-items: center;
    flex-flow: row wrap;
    justify-content: space-between;
}

#individualRecordHeaderContainer .icons > ul {
    display: flex;
    flex-flow: row nowrap;
    list-style: none;
    gap: 20px 10px;
	align-items: stretch;
	text-align: center;
}

#individualRecordHeaderContainer .icons > ul > li {
    margin: 0;
}

.icons .button-outline {
	display: flex;
	height: 100%;
	align-items: center;
	flex-flow: row nowrap;
	justify-content: center;
}

.icons .return-link:before {
    margin-right: 5px;
    position: relative;
	content: '\2039' / '';
	font-size: 1.25rem;
	line-height: 1;
}

.randomImagePhotoContainer {
	margin-bottom: 20px;
	border-bottom: 1px solid #CCCCCC;
	padding-bottom: 20px;
}

.mediaRow {
	display: flex;
    width: fit-content;
	margin: 0 auto 10px;
	padding: 1rem 0;
    align-content: center;
    align-items: baseline;
    flex-flow: row wrap;
	gap: 10px 20px;
    justify-content: center;
	text-align: center;
}

.mediaRow .imageContainer {
	flex: 0 0 auto;
}

.mediaRow:has(.imageContainer:only-child) {		
	/* Hides thumbnail if there is only one image attached */
    display: none;
}

.allImagesAccordian .ui-accordion-header {
    background-color: transparent;
    border: 1px solid transparent;
	color: #333333;
	font-size: 1.464rem;
}

.allImagesAccordian .ui-accordion-content {
	display: grid;
	margin-bottom: 20px;
	padding: 1rem 10px;
	border-color: transparent;
    align-items: baseline;
    align-content: center;
	background-color: transparent;
	gap: 10px 20px;
	grid-template-columns: repeat(3, 1fr);
    justify-content: center;
	text-align: center;
}

.allImagesAccordian .ui-state-active {
	background-color: #333333;
	color: #FFFFFF;
}

.recordData {
	display: block;
	margin: 0 auto 20px;
	border-bottom: 1px solid #CCCCCC;
}

.recordData h3 {
    margin-bottom: 0;
}

.interiorResultTable {
	width: 100%;
}

.interiorResultTable tr {
	display: block;
	margin: 0 0 10px 10px;
}

.interiorResultTable td {
    display: block;
	box-sizing: border-box;
	padding: 5px 0;
}

.interiorResultTable .category {
    color: #000000;
    font-size: 1.25rem;
    font-weight: 700;
	white-space: normal;
}

.interiorResultTable .display {
	padding-left: 1rem;
	overflow-wrap: anywhere;
	word-break: normal;
}

/* End Record Pages
----------------------------------------------------------------------------------------------------*/



/* Forms
----------------------------------------------------------------------------------------------------*/

.modal {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    margin: 0 auto;
    padding: 10px;
    background-color: rgb(0 0 0 / 81%);
    inset: 0px;
    overflow: auto;
	text-align: left;
    z-index: 99999;
}

.modal-content {
    display: block;
    width: 100%;
    max-width: 900px;
    height: fit-content;
    margin: 0 auto;
	border: 0;
    padding: 15px 30px;
	background-color: #FFFFFF;
	background-image: none;
	color: #000000;
	font-size: 1.05rem;
}

.modal-content h1 {
	margin-bottom: 10px;
}

.modal-content .help-text {
	display: block;
	margin: 0 0 20px;
	font-weight: 700;
}

.modal form label {
    display: block;
	margin-top: 10px;
	font-weight: 700;
}

.modal form input:not([type="button"]) {
	width: 100%;
	margin-bottom: 10px;
	border: 1px solid #767676;
	font-size: 1.05rem;
	line-height: 1.5;
}

.modal form textarea {
	width: 100%;
	border: 1px solid #767676;
	font-size: 1.05rem;
	line-height: 1.4;
}

.emailRequestError,
.feedBackError,
.imageRequestError {
	color: #ff0000;
	font-weight: 700;
}

#photoIdentificationBlock {
    display: none;
}

.modal-content .dataEntryRow:last-child {
	margin-top: 20px;
}

.modal-content img {
	max-width: 100% !important;
	height: auto;
}

/* Open state of the dialog  */
dialog:open {
  opacity: 1;
  transform: scaleY(1);
}

/* Closed state of the dialog   */
dialog {
  transition: all 0.7s allow-discrete;
}

/* Before open state  */
/* Needs to be after the previous dialog:open rule to take effect,
    as the specificity is the same */
@starting-style {
  dialog:open {
    opacity: 0;
    transform: scaleY(0);
  }
}

/* Transition the :backdrop when the dialog modal is promoted to the top layer */
dialog::backdrop {
  background-color: rgb(0 0 0 / 80%);
  transition: all 0.7s allow-discrete;
}

dialog:open::backdrop {
  background-color: rgb(0 0 0 / 80%);
}

/* This starting-style rule cannot be nested inside the above selector
because the nesting selector cannot represent pseudo-elements. */

@starting-style {
  dialog:open::backdrop {
    background-color: rgb(0 0 0 / 0%);
  }
}

dialog#basicDialog {
	margin: 0 auto;
	width: calc(100% - 20px);
	max-width: 900px;
	position: fixed;
	left: 0;
	top: 10px;
	padding: 20px 15px;
}

.basicDialogContentContainer {
	margin: 0 auto;
	overflow: auto;
	background-color: #FFFFFF;
	color: #000000;
	padding: 5px;
}

.basicDialogContentContainer .button-primary {
	min-width: 50px;
	margin-top: 20px;
	padding: 10px 15px;
}


/* End Forms
----------------------------------------------------------------------------------------------------*/


/* Reporter
----------------------------------------------------------------------------------------------------*/

#StartDate,
#EndDate {
	margin: 0;
}

.daterange {
    display: grid;
	max-width: 200px;
	gap: 15px 20px;
    grid-template-columns: 1fr;
}

.dateRangePicker {
    display: grid;
}

.daterange label {
    font-weight: 700;
}

.daterange input {
	padding: 4px;
}

.dateSubmit {
    margin-top: 5px;
}

.grdReportingResultsGrid {
	width: 100%;
	margin-top: 20px;
}

.grdReportingResultsTitle {
	background-color: lightblue;
	font-size: 1.125rem;
	font-weight: 700;
	text-align: center;
}

.grdReportingResultsGrid th {
	border: 1px solid #000000;
	padding: 3px;
	background-color: lightgray;
	font-weight: 700;
	text-align: center;
}

.grdReportingResultsGrid td {
	border: 1px solid #000000;
	padding: 3px;
}

.report_text {
	overflow-wrap: anywhere;
	text-align: left;
	word-break: normal;
}

.report_number {
	text-align: center;
}



/* End Record Pages
----------------------------------------------------------------------------------------------------*/


/* Media Queries
----------------------------------------------------------------------------------------------------*/

@media (min-width: 576px) {

	/* Searches */

	.topSearchArea input[type=text] {
		width: 77%;
		max-width: 500px;
	}

	.topSearchArea .button-primary {
		margin-left: 5px;
	}
	
	/* Image Viewer */

	.image-actions .button-outline {
		flex-direction: row;
	}
}


@media (max-width: 767.98px) {

	/* Navigation */

	.navBar:has([aria-expanded="false"]) .navMenu {
		display: none;
	}

	/* Browse by Term */

	#vocabulary-results {
		margin-top: 25px;
	}

	/* Individual Record */

	.mediaRow .imageContainer {
		flex: 0 0 auto;
	}
	
	.mediaRow .imageContainer:nth-last-child(2):first-child,
	.mediaRow .imageContainer:nth-last-child(2):first-child~ .imageContainer,
	.mediaRow .imageContainer:nth-last-child(4):first-child,
	.mediaRow .imageContainer:nth-last-child(4):first-child~ .imageContainer  {
		flex: 0 1 calc(50% - 20px);
	}

	.mediaRow .imageContainer:nth-last-child(3):first-child,
	.mediaRow .imageContainer:nth-last-child(3):first-child ~ .imageContainer,
	.mediaRow .imageContainer:nth-last-child(n+5),
	.mediaRow .imageContainer:nth-last-child(n+5) ~ .imageContainer {
		/* If there are 3, 5 or 6 attached images, place 3 in a column instead of 4 */
		flex: 0 1 calc(33% - 20px);
	}

}


@media (min-width: 768px) {

	/* Containers & Grids */

	.grid_1, .grid_2, .grid_3, .grid_4, .grid_5, .grid_6, .grid_7, .grid_8, .grid_9, .grid_10, .grid_11, .grid_12 {
		display: inline;
		margin: 0 10px;
		padding-left: 10px;
		padding-right: 10px;
		float: left;
	}

	.container_12 .grid_1 {
		width: 8.333333%;
	}

	.container_12 .grid_2 {
		width: 16.666667%;
	}

	.container_12 .grid_3 {
		width: 25%;
	}

	.container_12 .grid_4 {
		width: 33.333333%;
	}

	.container_12 .grid_5 {
		width: 41.666667%;
	}

	.container_12 .grid_6 {
		width: 50%;
	}

	.container_12 .grid_7 {
		width: 58.333333%;
	}

	.container_12 .grid_8 {
		width: 66.666667%;
	}

	.container_12 .grid_9 {
		width: 75%;
	}

	.container_12 .grid_10 {
		width: 83.333333%;
	}

	.container_12 .grid_11 {
		width: 91.666667%;
	}

	/* Cookie Notice */

	#cookieNotice .msg-wrap {
		display: flex;
		align-items: center;
		flex-flow: row nowrap;
		gap: 20px;
		justify-content: space-between;
	}

	#cookieNotice p {
		margin-bottom: 0;
	}

	#cookieNotice .btn-wrap {
		flex: 0 0 auto;
	}

	/* Navigation */

	.navBar .menu-button {
		display: none;
	}

	.topNav .navMenu {
		display: flex !important;
		flex-flow: row wrap;
		align-items: start;
		justify-content: center;
	}

	.topNav a {
		padding: 6px 10px;
	}

    .navBlock.leftNav {
		margin: 10px 0;
		padding-right: 5px;
		padding-left: 10px;
    }

	.leftNav .navMenu {
		display: flex !important;
		flex-flow: column nowrap;
		align-items: stretch;
		justify-content: start;
	}

	/* Buttons */

	.button-primary,
	.button-secondary,
	.button-outline {
		padding: 10px 15px;
	}

	/* Keyword Search */

	.topSearchArea input[type=text] {
		max-width: 500px;
		margin-right: 5px;
		padding: 10px 8px;
	}

	/* Browse by Term */
 
	.container_12 .grid_3 {
        width: 33.333%;
    }

    .container_12 #vocabulary-results.grid_6 {
        width: 66.666%;
    }
	
	.results-skip a,
	.words-skip a,
	.category-skip a,
	.advanced-search-skip a {
		display: inline-block;
		width: 1px;
		height: 1px;
		border: 0;
		padding: 0;
		clip: rect(0,0,0,0);
		-webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
		clip-path: polygon(0 0, 0 0, 0 0, 0 0);
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
	}

	.results-skip a:focus-visible,
	.words-skip a:focus-visible,
	.category-skip a:focus-visible,
	.advanced-search-skip a:focus-visible {
		width: auto;
		height: auto;
		margin-bottom: 10px;
		clip: auto;
		-webkit-clip-path: none;
		clip-path: none;
		overflow: visible;
		position: static;
		white-space: normal;
	}

	/* Advanced Search */

	.grid_12 .advancedSearchArea {
		grid-template-columns: 1fr 2fr;
	}

	/* Image Viewer */

	.grid_10 #centeredImageTarget img {
		max-height: 640px;
	}

	.grid_12 #centeredImageTarget img {
		max-width: 640px;
		max-height: 640px;
	}

	.image-actions {
		flex-direction: row;
	}

	.image-actions .button-outline {
		flex-flow: row nowrap;
	}

	/* Random Images */

	.grid_10 .random-image-container {
		grid-template-columns: repeat(4, 1fr);
	}

	.grid_12 .random-image-container {
		grid-template-columns: repeat(6, 1fr);
	}

	/* Record Pages */

	.mediaRow {
		flex-wrap: nowrap;
		justify-content: start;
	}

	.mediaRow .imageContainer {
		flex: 0 1 auto;
	}

	.mediaRow .imageContainer:nth-last-child(4):first-child,
	.mediaRow .imageContainer:nth-last-child(4):first-child~ .imageContainer  {
		flex: 0 1 calc(25% - 20px);
	}

	.grid_10 .allImagesAccordian .ui-accordion-content {
		grid-template-columns: repeat(4, 1fr);
	}

	.grid_12 .allImagesAccordian .ui-accordion-content {
		grid-template-columns: repeat(6, 1fr);
	}

	/* Forms */

	.modal form input:not([type="button"]),
	.modal form textarea#ImageOrder_addressblock {
		width: 45%;
	}

	/* Reporter */

	.grdReportingResultsGrid {
		max-width: 600px;
	}

	.daterange {
        max-width: 500px;
		grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 992px) {

	/* Advanced Search */

	.advancedSearchArea {
		column-gap: 20px;
		grid-template-columns: 1fr 2fr;
	}

	.option-container,
	.search-categories,
	.advancedSearchArea .button-primary,
	.advancedSearchArea .button-secondary {
		max-width: unset;
	}

	/* Browse by Term */

	.container_12 .grid_12 .grid_3 {
		width: 25%;
	}

	.container_12 .grid_12 #vocabulary-results.grid_6 {
		width: 75%;
	}
	
	/* Image Viewer */

	#imageDisplayDiv {
        flex-wrap: nowrap;
		column-gap: 5px;
    }

	#rightImageTargetContainer {
		order: 2;
	}

	#centeredImageTarget {
		flex-basis: auto;
	}

	.grid_10 #centeredImageTarget img {
		max-width: 640px;
	}

	/* Random Images */

	.grid_10 .random-image-container {
		grid-template-columns: repeat(6, 1fr);
	}
	
	/* Record Pages */

	.grid_10 .allImagesAccordian .ui-accordion-content {
		grid-template-columns: repeat(6, 1fr);
	}
}


@media (min-width: 1200px) {

	/* Containers & Grids */

	.container_12 {
		max-width: 1170px;
	}
	
	/* Advanced Search */

	.grid_10 .advancedSearchArea {
		grid-template-columns: 1fr 2.5fr;
	}

	.grid_12 .advancedSearchArea {
		grid-template-columns: 1fr 3fr;
	}

	/* Image Viewer */

	.grid_10 #centeredImageTarget img {
		max-width: 768px;
		max-height: 768px;
	}

	.grid_12 #centeredImageTarget img {
		max-width: 960px;
		max-height: 960px;
	}
}


@media screen and (prefers-reduced-motion: reduce) {

    *,
	::before,
	::after {
      animation-duration: 0.001ms !important;
      animation-iteration-count: 1 !important;
	  background-attachment: initial !important;
	  scroll-behavior: auto !important;
      transition-duration: 0.001ms !important;
    }
}


/* End Media Queries
----------------------------------------------------------------------------------------------------*/