:root {
  --softTeal: #5dbcd2;
  --softGreen: #8ccba1;
  --slateGray: #708090;


  --accentColor: var(--softTeal);
  --accentColor2: var(--softGreen);
  --accentColor: var(--softGreen);
  --accentColor2: var(--softTeal);
  --accebtColor: lightblue;
  --accentColor: #AEECEF
  --accentColor2: #61ad82;


  --white: white;
  --whiteShaded: #F8F8F8;
  --veryLightGray: whitesmoke;
  --veryLightGrayShaded: #F0F0F0;
  --lightGray: lightgray;
  --lightGrayShaded: #CACACA;
  --gray: gray;
  --grayShaded: #B8B8B8;
  --darkGray: dimgray;
  --darkGrayShaded: #606060;
  --black: black;
  --blackShaded: #080808;

  --color1: lightblue;
  --color1: #AEECEF;
  --color1Light: lightblue;
  --color1Light: #AEECEF;
  --color1Dark: navy;
  --color2: #61ad82;
  --color2Light: #61ad82;
  --color2Dark: #61ad82;

  --colorConfirmation: green;
  --colorHighlight: yellow;
  /--colorAlert: red;
  /--colorAlert: #ff000088;
  --colorAlert: #ff8484;
  /--colorExclude: #ff000088;
  --colorExclude: #ff8484;
  --colorStatusYellow: gold;
  --colorStatusGreen: green;
  --colorStatusRed: red;

  /* testing 
  --testingColor: white;

  --white: var(--testingColor);
  --whiteShaded: var(--testingColor);
  --veryLightGray: var(--testingColor);
  --veryLightGrayShaded: var(--testingColor);
  --lightGray: var(--testingColor);
  --lightGrayShaded: var(--testingColor);
  --gray: var(--testingColor);
  --grayShaded: var(--testingColor);
  --darkGray: var(--testingColor);
  --darkGrayShaded: var(--testingColor);
  --black: var(--testingColor);
  --blackShaded: var(--testingColor);

  --color1: var(--testingColor);
  --color1Light: var(--testingColor);
  --color1Dark: var(--testingColor);
  --color2: var(--testingColor);
  --color2Light: var(--testingColor);
  --color2Dark: var(--testingColor);

  --colorConfirmation: var(--testingColor);
  --colorHighlight: var(--testingColor);
  --colorAlert: var(--testingColor);
  --colorExclude: var(--testingColor);
  --colorStatusYellow: var(--testingColor);
  --colorStatusGreen: var(--testingColor);
  --colorStatusRed: var(--testingColor);
  /**/


  --textPadding: 5px;
  --colGap: 20px;
  --secColGap: 10px;
  --secGap: 5px;
  --pageMargin: 0 5vw;
  --pagePadding: 20px 5vw;
  --divisionLine: 2px solid var(--lightGray);
  --spaceForHeader: 8em;
}

@media only screen and (orientation: portrait) {
  :root {
  }
}

@media only screen and (min-width: 400px) {
  :root {
    --pageMargin: 0 10vw;
  }
}

@media only screen and (min-width: 4000px) {
  :root {
    --pageMargin: 0 400px;
  }
}

.onPrintOnly {
  display: none;
}
@media only print {
  #header, #footer, #topLinks, #feedback {
    display: none !important;
  }
  .collapsible:after {
    display: none !important;
  }
  .collapsible + .content {
    max-height: initial !important;
  }
  .onPrintOnly {
    display: initial;
  }
}


/* TEXT STYLES */

* {
  font-family: sans-serif;
  color: inherit;
}
body {
  color: var(--black);
}

/* title */
h1 {
  margin: 0;
  padding: var(--textPadding);
  font-size: 1.5em;
  font-weight: bold;
}

/* section */
h2 {
  margin: 0;
  padding: var(--textPadding);
  font-size: 1.15em;
  font-weight: bold;
}

/* subsection */
h3 {
  margin: 0;
  padding: var(--textPadding);
  font-size: 1em;
  font-weight: bold;
}

/* side section */
h4 {
  margin: 0;
  padding: var(--textPadding);
  font-size: 1.15em;
  font-weight: bold;
}

/* side subsection */
h5 {
  margin: 0;
  padding: var(--textPadding);
  font-size: 1em;
  font-weight: bold;
  text-align: left;
}

/* info */
h6 {
  margin: 0;
  padding: var(--textPadding);
  font-size: 1em;
  font-weight: normal;
}

/* text default */
p {
  margin: 0;
  padding: var(--textPadding);
}

a:link, .topicAlias {
  color: gray;
  color: var(--gray);
}
a:visited {
  color: gray;
  color: var(--gray);
}
a:hover {
}
a:active {
}
a.nostyle {
  color: initial;
  text-decoration: none;
}

/* collapsibles (h3 and div) */
.collapsible {
  cursor: pointer;
  background-color: lightgray;
  background-color: var(--lightGray);
  padding: var(--textPadding);

  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;

  width: 100%;
}
* + .collapsible {
  //margin-top: var(--textPadding);
}
.collapsible.active, .collapsible.selected, .collapsible:hover {
  background-color: var(--accentColor);
  background-color: var(--color1);
}
.collapsible.active {
  padding-bottom: 0;
}
.collapsible:after {
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;

  font: var(--fa-font-solid);
  content: "\f107";

  /content: "+";
  color: gray;
  color: var(--gray);
  /float: right;
  padding: var(--textPadding);
}
.collapsible.active:after {
  content: "\f106";
  /content: "-";
}
.content {
  background-color: var(--accentColor);
  background-color: var(--color1);
  padding: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;

  margin-bottom: var(--textPadding);
}
.collapsible.active + .content {
  max-height: initial;
  overflow: initial;
}

/.row:has( > .collapsible + .content) {
  flex-direction: column;
  gap: 0;
}


.author {
}

.illustrator {
  /font-style: italic;
  /color: dimgray;
  /color: var(--darkGray);
}

p.illustrator:after, .illustrator p:after {
  font-style: italic;
  color: dimgray;
  color: var(--darkGray);
  content: " (Illustrator)";
}

p.characterName:after, .characterName p:after {
  font-style: italic;
  color: dimgray;
  color: var(--darkGray);
  content: " (Character)";
}

.personTitle {
  font-style: italic;
}
.personTitle:before {
  content: "(";
}
.personTitle:after {
  content: ")";
}

.source + .sourceType {
  font-style: italic;
  color: dimgray;
  color: var(--darkGray);
}
.source + .sourceType:before {
  content: "(";
}
.source + .sourceType:after {
  content: ")";
}

.source {
}

.details {
  color: dimgray;  
  color: var(--darkGray);  
}

.text {
  /line-height: 1.2;
}

@keyframes copiedFlash {
  0%, 25% {color: var(--colorConfirmation);}
  100% {color: 0;}
}
.copyButton.copied {
  animation-name: copiedFlash;
  animation-duration: 2s;
}

.excerpt, .excerpts {
  font-style: italic;
  color: dimgray;
  color: var(--darkGray);
  background-color: whitesmoke;
  background-color: var(--veryLightGray);
  padding: var(--textPadding);
  border-radius: var(--textPadding);
}

.excerpt > *, .excerpts > * {
  margin-left: var(--textPadding);
}

.excerpts::before, .excerpt::before {
  content: 'Excerpt:';
  font-style: initial;
  font-weight: bold;
  /padding: var(--textPadding);
}
.excerpts:has(:nth-child(2))::before, .excerpt:has(:nth-child(2))::before {
  content: 'Excerpts:';
}

.excerpts p::before, .excerpts p::after, .excerpt p::before, .excerpt p::after {
  content: '"';
}

.file {
  justify-content: center;
  gap: var(--colGap) !important;
}
.file > * {
  border: var(--divisionLine);
  border-radius: var(--colGap);
  padding: var(--textPadding);
}

ul {
  margin: 0;
  padding-top: var(--textPadding);
  padding-bottom: var(--textPadding);
}

li p {
  /display: inline-block;
}

button, input[type=submit], input[type=button] {
  border: 0;
  background-color: var(--accentColor);
  background-color: var(--color1);
  cursor: pointer;
  padding: var(--textPadding);
  margin: 0;
  font-size: 1em;
  /border-radius: var(--textPadding);
}

@keyframes flash {
  0%, 25% {background-color: var(--colorHighlight);}
  100% {background-color: 0;}
}
div:target > *:first-child {
  animation-name: flash;
  animation-duration: 2s;
}

.overflowEllipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* SECTIONS */

* {
  box-sizing: border-box;
}

body {
  background-color: var(--accentColor);
  background-color: var(--color1);
  /background-color: white;
  /background-color: var(--white);
  margin: 0;
  display: flex;
  flex-flow: column nowrap;
  min-height: 100vh;
}

.page {
  margin: var(--pageMargin);
  padding: var(--pagePadding);
  display: flex;
  flex-flow: column nowrap;
  flex-grow: 10;
  align-items: center;
  gap: var(--colGap);
  background-color: white;
  background-color: var(--white);

  /border-top: var(--divisionLine);
}

#header, #footer {
  min-height: 2em;
  padding: var(--pagePadding);
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: var(--colGap);
  overflow-x: clip;
}
#header .row, #footer .row {
  gap: var(--colGap);
}

#header {
  background-color: white;
  background-color: var(--white);
  justify-content: space-between;

  position: sticky;
  top: 0;
  left: 0;
  z-index: 110;
  /border-bottom: var(--divisionLine);
}
#header h1 {
  font-weight: normal;
  font-size: 1.8em;
  color: navy;
  color: var(--color1);
  color: var(--color1Dark);
  text-wrap: nowrap;
}
.user.row {
  gap: var(--textPadding) !important;
  /color: navy;
  /color: var(--color1);
  align-items: baseline;
}
.user, .user.row i {
  font-size: 1.2em;
  color: dimgray;
  color: var(--darkGray);
}
.user.admin, .user.row.admin i {
  font-size: 1.2em;
  color: blue;
  color: var(--color1);
}
#header a, #header button {
  text-decoration: none;
  text-align: center;
  color: dimgray;
  color: var(--darkGray);
}
#header img {
  max-height: 5em;
}
#header .menuButton {
  display: none;
  padding: var(--textPadding);
}
#header .menu {
  display: contents;
    background-color: inherit;
}
#header * {
  background-color: inherit;
}
#header .menuCollContainer {
  position: relative;
  padding: var(--textPadding);
  border: var(--divisionLine);
  border-bottom: none;
  border-radius: var(--textPadding) var(--textPadding) 0 0;
  border-color: white;
  border-color: var(--white);
}
#header .menuCollContainer:hover, #header .menuCollContainer:has(.menuColl.active) {
  /border-color: lightgray;
  /border-color: var(--lightGray);
}
#header .menuCollButton {
  padding: var(--textPadding);
  background-color: inherit;
  color: dimgray;
  color: var(--darkGray);
}
/#header .menuCollButton:hover:after, #header:has(.menuColl:hover) .menuCollButton:after {
  content: "";
  position: absolute;
  top: 90%;
  right: 0;
  width: 100%;
  height: 15px;
  z-index: 111;
  background-color: inherit;
}
#header .menuColl {
    display: none;
    flex-flow: column nowrap;
    align-items: center;
    gap: var(--textPadding);
    gap: var(--colGap);
    background-color: inherit;
    padding: var(--textPadding);
    padding: var(--pagePadding);
}
#header .menuColl.active, #header .menuCollContainer:hover .menuColl, #header .menuColl:hover {
    display: flex;
    position: absolute;
    top: 100%;
    min-width: 25vw;
    right: -25%;
    right: -1px;
    /right: 0;

    border: var(--divisionLine);
    /border-top: none;
    /border-right: none;
    z-index: 110;
}
@media only screen and (max-width: 900px) {
  #header img {
    max-height: 3em;
  }
  #header .menuButton {
    display: initial;
    position: sticky;
    right: 0;
  }
  #header .menu {
    display: none;
  }
  #header .menu.active {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    gap: var(--textPadding);
    gap: var(--colGap);
    position: absolute;
    top: 100%;
    width: 100%;
    max-height: 65vh;
    right: 0;

    background-color: inherit;
    border-top: var(--divisionLine);
    border-bottom: var(--divisionLine);
    padding: var(--textPadding);
    padding: var(--pagePadding);
    z-index: 110;

    overflow-y: auto;
  }
  #header .menuCollContainer {
    /display: contents;
    /background-color: whitesmoke;
    /background-color: var(--veryLightGray);
    padding-top: var(--colGap);
  }
  #header .menuCollButton {
    width: 100%;
    justify-content: center;
  }
  #header .menuColl, #header .menuColl.active, #header .menuCollContainer:hover .menuColl, #header .menuColl:hover {
    display: flex;
    position: initial;

    /gap: var(--textPadding);

    border: none;
  }
  #header .menuColl.active {
    /width: 100%;
    /border: none;
    /border-top: var(--divisionLine);
    /border-bottom: var(--divisionLine);
    /right: 0;
  }
}

#footer {
  background-color: whitesmoke;
  background-color: var(--veryLightGray);
  margin: var(--pageMargin);
  justify-content: space-between;
  align-items: baseline;
  color: var(--darkGray);
}

#feedback {
  /border-top: var(--divisionLine);
  /margin-top: var(--textPadding);
  padding-top: var(--colGap);
  width: 100%;
}

#topLinksHeader {
  display: none;
  width: 100%;
  text-align: center;
}
#topLinks {
  align-items: center;
  justify-content: space-around;
  grid-area: topLinks;
  width: 100%;
}
#topLinks button, #topLinksHeader {
  /background-color: whitesmoke;
  /background-color: var(--veryLightGray);
  background-color: var(--accentColor2);
  background-color: var(--color2);
  color: white;
  color: var(--white);
  /color: darkslategray;
  /color: var(--darkGray);
  border-radius: 3px;
  /text-shadow: 0 0 2px black;
  /text-shadow: 0 0 2px var(--black);
}
@media only screen and (orientation: portrait) {
  .col:has(> #topLinksHeader) {
    border: 2px solid var(--accentColor2);
    border: 2px solid var(--color2);
    border-radius: var(--textPadding);
  }
  #topLinksHeader {
    display: initial;
  }
  #topLinksHeader:not(.active) + #topLinks {
    display: none;
  }
  #topLinks {
    align-items: stretch;
    width: initial;
    margin-bottom: var(--textPadding);
  }
}

.linkTarget {
  scroll-margin-top: var(--spaceForHeader);
}

.shadow {
  box-shadow: 0 0 6px 2px lightgray;
  box-shadow: 0 0 6px 2px var(--lightGray);
}

.row {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: var(--textPadding);
}

.col {
  display: flex;
  flex-flow: column wrap;
  align-items: center;
  gap: var(--textPadding);
}
.col div {
  width: 100%;
}
.col.layout {
  gap: var(--colGap);
  padding: var(--colGap);
  flex-wrap: nowrap;
  //height: 100%;
  flex-grow: 100;
}
.row.layout {
  flex-wrap: nowrap;
  align-items: stretch;
}
.row.layout > .col {
  width: 0;
  flex: 1;
}
@media only screen and (orientation: portrait) {
  .row.layout {
    flex-direction: column;
  }
  .row.layout > .col {
    width: initial;
  }
}
.col.multi {
  flex-grow: 100;
}

.layout.side {
  flex-grow: 10;
  border: 0;
}
.layout.leftLine {
  border-left: var(--divisionLine);
}
.layout.topLine {
  border-top: var(--divisionLine);
  width: 100%;
}
@media only screen and (orientation: portrait) {
  .layout.leftLine {
    border-left: 0 solid lightgray;
    border-left: 0 solid var(--lightGray);
    border-top: var(--divisionLine);
  }
}
/*.col.layout > div {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  gap: var(--secGap);
}*/
.colLine {
  height: 100%;
  width: 0px;
  border-left: 2px solid lightgray;
  border-left: var(--divisionLine);
  grid-area: colLine;
}
.row .colLine {
  height: initial;
}

.col.secCol {
  gap: var(--secColGap);
}

.section {
  display: flex;
  flex-flow: column nowrap;
  //align-items: center;
  gap: var(--secGap);
}
.section.secCol {
  gap: var(--secColGap);
}

.section.leftLine {
  border-left: var(--divisionLine);
  margin-left: var(--textPadding);
  padding-left: var(--textPadding);
  border-width: 4px;
  border-left: 4px solid var(--accentColor2);
  border-left: 4px solid var(--color2);
}

/*side subsection*/
.side .subsection {
  background-color: var(--accentColor);
  background-color: var(--color1);
}
.info {
  align-items: flex-start;
  gap: 0;
}
.centered {
  justify-content: center;
}
.nowrap {
  flex-wrap: nowrap !important;
}
.nogap {
  gap: 0 !important;
}

p.nowrap {
  text-wrap: nowrap;
}


/* forms */
form.col.feedback {
  align-items: flex-end;
}
textarea, input, input[type=text], input[type=number], input[type=password], input[type=email], select {
  width: 100%;
  padding: var(--textPadding);
  margin: 0;
  border: 1px solid black;
  border: 1px solid var(--black);
  border-radius: 0;
  outline: none;
  font-size: 1em;
  background-color: inherit;
}
textarea {
  resize: vertical;
  overflow: auto;
}
input[type=radio] {
  accent-color: gray;
  accent-color: var(--gray);
  height: 1em;
  margin: 0;
}

input::placeholder, textarea::placeholder {
  color: var(--lightGray);
  color: var(--gray);
}


form.login {
  /align-items: center;
  /margin-top: 10%;
  justify-content: center;
  gap: var(--colGap);
  gap: .75em;

  background-color: whitesmoke;
  background-color: var(--veryLightGray);
  /border: var(--divisionLine);
  padding: var(--colGap);
  border-radius: var(--colGap);
}
form.login label:not(.row) {
  display: flex;
  flex-flow: column nowrap;
  gap: var(--textPadding);
}
form label {
  width: 100%;
}

.customCheckbox {
  gap: 0;
}
.customCheckbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.customCheckbox input ~ .checkbox::after {
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
  color: gray;
  color: var(--gray);
  padding-right: var(--textPadding);

  font: var(--fa-font-regular);
  content: "\f0c8";
}
.customCheckbox input:checked ~ .checkbox::after {
  font: var(--fa-font-solid);
  content: "\f14a";
}

/* IMAGES */

.icon {
  width: 25px;
}

.thumbnail {
  /width: 100px;
  width: auto;
  /height: auto;
  height: 100px;
  margin: auto;

  padding: var(--textPadding);
}





/* ENTRY SCREEN

.entry {
  padding: var(--textPadding) 0;
  border-bottom: var(--divisionLine);
}
.entryName {
  width: 15vw;
  //flex-grow: 15;
  text-align: right;
}
.entryField {
  flex-grow:100;
}
.entryNotes {
  width: 20vw;
  //flex-grow:50;
}
@media only screen and (orientation: portrait) {
  .entryName {
    text-align: left;
    width: 100%;
  }
  .entryNotes {
    width: 100%;
  }
}
*/
#resourceLive {
  position: sticky;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: red;
  background-color: var(--colorAlert);
  color: white;
  color: var(--white);
  font-weight: bold;
  z-index: 10;
  padding: var(--textPadding);
  justify-content: center;
}

.entry-grid-container {
  display: grid;
  grid-template-columns: max-content auto max-content;
  gap: 15px;
  width: 100%;
}
.grid-name {
  text-align: right;
  margin: 0;
  max-width: 20vw;
}
.grid-field {
  margin: 0;
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-start;
}
.grid-notes {
  margin: 0;
  max-width: 20vw;

  color: dimgray;
  color: var(--darkGray);
}
.grid-sectionLine {
  grid-column: 1 / span 3;
  height: 0px;
  border-top: 2px solid lightgray;
  border-top: var(--divisionLine);
}
.entry-grid-container > .grid-sectionLine:last-child, .grid-section > .grid-sectionLine:last-child, .grid-section > *:last-child > .grid-sectionLine:last-child {
  display: none;
}
.grid-section {
  /max-height: 0;
  /overflow: hidden;
  /transition: max-height 0.2s ease-out;
  display: none;
}
.grid-section-heading {
  grid-column: 1 / span 3;
  cursor: pointer;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;

  font-style: italic;
  color: dimgray;
  color: var(--darkGray);
}
.grid-section-heading:after {
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;

  font: var(--fa-font-solid);
  content: "\f107";

  /content: "+";
  color: gray;
  color: var(--gray);
  /float: right;
  padding: var(--textPadding);
}
.grid-section-heading.active:after {
  content: "\f106";
  /content: "-";
}
.grid-section-heading.active + .grid-section {
  /max-height: initial;
  /overflow: initial;
  display: contents;
}

@media only screen and (orientation: portrait) {
  .entry-grid-container {
    grid-template-columns: auto;
    gap: 5px;
  }
  .grid-name {
    text-align: left;
    max-width: initial;
  }
  .grid-field {
    margin-left: 10vw;
  }
  .grid-notes {
    margin-left: 10vw;
    max-width: initial;
  }
  .grid-sectionLine, .grid-section-heading {
    grid-column: 1 / span 1;
  }
}

.topicsGrid {
  display: grid;
  grid-template-areas:
    '. . . trashArea'
    'keywordArea keywordArea keywordArea trashArea'
    'newtopicArea newtopicArea newtopicArea newtopicArea';
  grid-template-columns: auto auto auto max-content;
  gap: 5px;
}
@media only screen and (max-width: 400px) {
  .topicsGrid {
    grid-template-areas:
      '.'
      '.'
      '.'
      'trashArea'
      'keywordArea'
      'newtopicArea';
    grid-template-columns: auto;
  }
}
.topicList, .keywordList, .trashList, .topicList ul, .keywordList ul, .trashList ul {
  background-color: lightgray;
  background-color: var(--lightGray);
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  gap: var(--textPadding);
  padding: var(--textPadding);
  margin: 0;
  flex-grow: 100;
  list-style-type: none;
}
.topicListDropping {
  border: 1px solid dimgray;
  border: 1px solid var(--darkGray);
}
.topicList, .trashList {
  height: 100%;
}
.keywordList {
  grid-area: keywordArea;
}
.keywordList ul {
  flex-flow: row wrap;
  align-self: stretch;
  justify-content: center;
}
.trashList {
  grid-area: trashArea;
  background-color: pink;
  background-color: var(--colorExclude);
  width: inherit;
}
.trashList ul {
  background-color: initial;
}
li.topicItem {
  background-color: lightgray;
  background-color: var(--lightGray);
  border: 1px solid gray;
  border: 1px solid var(--gray);
  padding: var(--textPadding);
  margin: 0;
  cursor: grab;
  text-align: center;
}

.addButton.iconButton {
  color: var(--accentColor);
  color: var(--color1);
  font-size: 1.5em;
}


.entryRow, .multiTopic-topicSection {
  display: contents;
}
.topicSection {
  cursor: pointer;
}
.topicSection:after {
  font: var(--fa-font-solid);
  content: "\f107";
  //content: "\2228";
  color: gray;
  color: var(--gray);
  margin-left: var(--textPadding);
  padding-left: var(--textPadding);
  //float: right;
}
.topicSection.active:after {
  content: "\f106";
  //content: "\2227";
}
.entryCounter {
  color: gray;
  color: var(--gray);
  font-size: .8em;
}
.topicSectionContent {
  display: none;
  width: 100%;
  //max-height: 0;
  //overflow: hidden;
  //transition: max-height 0.2s ease-out;
}
.topicSectionContent.active {
  display: initial;
}
.fieldList {
  //display: grid;
  //grid-template-columns: max-content auto max-content;
  display: flex;
  flex-flow: column nowrap;
  gap: var(--textPadding);
  list-style-type: none;
  margin: 0;
  padding: 0;
  min-height: 1em;
  //background-color: lightgray;
  //background-color: var(--lightGray);
}
.fieldItem {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: 5px;
  background-color: initial;
}
.fieldItem.fromDeletedTopic {
  background-color: whitesmoke;
  background-color: var(--veryLightGray);
  box-shadow: 0px 0px 3px 3px whitesmoke;
  box-shadow: 0px 0px 3px 3px var(--veryLightGray);
}
/*.fieldListPlaceholder {
  //background-color: red;
  //border: 2px solid red;
}*/
.handle {
  color: gray;
  color: var(--gray);
  padding: var(--textPadding);
  cursor: grab;
}

.addEntry {
  background-color: initial;
  color: lightgray;
  color: var(--lightGray);
  //width: 100%;
  margin-left: 20px;
  //white-space: pre-wrap;
}
.addEntry:hover {
  color: gray;
  color: var(--gray);
  color: var(--lightGrayShaded);
}

.iconButton, .searchFilter, .editButton {
  background-color: initial;
  color: var(--darkGray);
  padding: 0;
  height: 100%;
}

.editButton {
  color: gray;
  color: var(--gray);
}

.deleteEntry {
  color: lightgray;
  color: var(--lightGray);
}
.deleteEntry:hover {
  color: gray;
  color: var(--gray);
}

.religiousSymbol {
  //padding: var(--textPadding);
  color: lightgray;
  color: var(--lightGray);
}
.religiousSymbol.marked {
  color: black;
  color: var(--black);
}

/*.multiTopicEntry {
  width: initial;
  flex-grow: 100;
  border: 1px solid black;
}*/

.formattedInput {
  border: 1px solid black;
  border: 1px solid var(--black);
  padding: var(--textPadding);
  font-size: 1em !important;
  min-width: 15vw;
  width: 100%;
  background-color: white;
  background-color: var(--white);
}
.formattedInput div {
  padding: 0 !important;
}
.ql-tooltip {
  width: auto !important;
  z-index: 250;
}
.ql-editor {
  overflow-y: initial !important; /* lets link hover show completely */
}

.selectOpSection {
  /justify-content: stretch;
  width: 100%;
}
.selectOpButton {
  border: 2px solid whitesmoke;
  border: 2px solid var(--veryLightGray);
  background-color: whitesmoke;
  background-color: var(--veryLightGray);
  border-radius: var(--textPadding);
  flex-grow: 1;
}
.selectOpButton:hover {
  border: 2px solid lightgray;
  border: var(--divisionLine);
}
.selectOpButton.marked {
  border: 2px solid lightgray;
  border: var(--divisionLine);
  background-color: lightgray;
  background-color: var(--lightGray);
}
.selectOpButton.marked.exclude {
  text-decoration: line-through;
}

.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 100; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

.modal-content {
  width: 40vw;
  //min-height: 10vh;
  background-color: white;
  background-color: var(--white);
  padding: var(--textPadding);
  margin: 40vh auto;
  position: relative;

}
.modal-content.fill {
  width: 90vw;
  margin: 10vh auto;
}

.predictiveTextContainer {
  width: 100%;
  position: relative;
}
.predictiveText {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background-color: white;
  background-color: var(--white);
  z-index:20;
}
.predictiveText p {
  border: 1px solid lightgray;
  border: 1px solid var(--lightGray);
  border-top: none;
  width: 100%;
  cursor: pointer;
}
.predictiveText p:hover, .predictiveText p.active, .predictiveText p:focus {
  background-color: lightgray;
  background-color: var(--lightGray);
}


/* TOPICS SCREEN */
.topic-grid-container {
  display: grid;
  grid-template-columns: min-content auto auto auto;
  gap: 15px;
  width: 100%;
}

.topicAnchor {
  /position: relative;
  /top: -165px;
  scroll-margin-top: var(--spaceForHeader);
}

.topicRowCollapse {
  grid-row: span 1;
  padding: var(--textPadding);
  color: gray;
  color: var(--gray);
  cursor: pointer;
}

.topic-grid-sectionLine {
  grid-column: 1 / -1;
  height: 0px;
  border-top: 2px solid lightgray;
  border-top: var(--divisionLine);
}

@media only screen and (orientation: portrait) {
  .topic-grid-container {
    grid-template-columns: min-content auto;
    gap: 5px;
  }
  .topicRowCollapse {
    grid-row: span 3;
  }
}

.topicRow {
  display: contents;
}

.topicsStickyHeader {
  grid-column: 1 / -1;
  position: sticky;
  top: var(--spaceForHeader);
  background-color:white;
  background-color: var(--white);
  z-index: 10;
}

.topicsStickyHeader:before {
  content: '';
  height: var(--spaceForHeader);
  position: absolute;
  width: 100%;
  bottom: 99%;
  background-color: inherit;
}

.filterOptions {
  align-items: stretch;
  justify-content: center;
  grid-column: 1 / -1;
  background-color: lightgray;
  background-color: var(--lightGray);
  padding: 10px;
  flex-wrap: nowrap;
}
.filterOptions .searchbar {
  background-color: white;
  background-color: var(--white);
  width: 100%;
  border-radius: .3em;
}
.filterOptions .searchbar i {
  color: gray;
  color: var(--gray);
  margin-left: 5px;
  /background-color: lightgray;
  /background-color: var(--lightGray);
  /align-self: stretch;
  /height: 100%;
}
.filterOptions .searchbar button{
  color: gray;
  color: var(--gray);
  margin-right: 5px;
}
.filterOptions .statusInfo {
  background-color: #f1f1f1;
  background-color: var(--grayShaded);
  background-color: var(--veryLightGray);
  border-radius: .3em;
}
@media only screen and (orientation: portrait) {
  .filterOptions {
    flex-wrap: wrap;
  }
  .filterOptions .statusInfo {
    width: 100%;
  }
}

.statusInfo {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-around;
  align-items: center;
}

//button.statusMark {
  height: 1em;
  width: 1em;
  border: 0;
  border-radius: 50%;
  background-color: var(--colorStatusYellow);
}

.statusMark {
  padding: var(--textPadding);
  color: lightgray;
  color: var(--lightGray);
  /cursor: pointer;
}
.statusMark.active {
  color: green;
  color: var(--colorStatusGreen);
}
.statusMark.inactive {
  color: red;
  color: var(--colorStatusRed);
}
.statusMark.incomplete {
  color: gold;
  color: var(--colorStatusYellow);
}

.checkMark {
  padding: var(--textPadding);
  color: lightgray;
  color: var(--lightGray);
  /cursor: pointer;
}
.checkMark.marked {
  color: green;
  color: var(--colorConfirmation);
}

.noEdit {
  /cursor: initial;
}

.wordformGrid {
  display: grid;
  grid-template-columns: max-content auto;
  gap: var(--textPadding) 0;
  width: 100%;
}

//select {
  border: 1px solid black;
  border: 1px solid var(--black);
  border-radius: 0;
  font-size: 1em;
}

/* The container must be positioned relative: */
.custom-select {
  position: relative;
  width: 100%;
}

.custom-select select {
  display: none; /*hide original SELECT element: */
}

.select-selected {
  background-color: white;
  background-color: var(--white);
  border: 1px solid black;
  border: 1px solid var(--black);
}

.select-selected:after {
  font: var(--fa-font-solid);
  content: "\f107";
  float: right;
  height: 100%;
  padding-left: inherit;
}

.select-selected.select-arrow-active:after {
  content: "\f106";
}

/* Style the arrow inside the select element: 
.select-selected:after {
  position: absolute;
  content: "";
  top: 14px;
  right: 10px;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-color: #fff transparent transparent transparent;
}

/* Point the arrow upwards when the select box is open (active): 
.select-selected.select-arrow-active:after {
  border-color: transparent transparent #fff transparent;
  top: 7px;
}

/* style the items (options), including the selected item: */
.select-items div,.select-selected {
  color: black;
  color: var(--black);
  padding: var(--textPadding);
//  border: 1px solid transparent;
//  border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
  cursor: pointer;
}

/* Style items (options): */
.select-items {
  position: absolute;
  background-color: white;
  background-color: var(--white);
  border: 1px solid lightgray;
  border: 1px solid var(--lightGray);
  border-top: none;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 5;
}

/* Hide the items when the select box is closed: */
.select-hide {
  display: none;
}

.select-items div:hover, .same-as-selected {
//background-color: rgba(0, 0, 0, 0.1);
  background-color: lightgray;
  background-color: var(--lightGray);
}



/* new entry screen */
.modal-content button.close-modal {
    position: absolute;
    top: 0;
    right: 0;
    padding: 5px;
    background-color: initial;
    color: gray;
    color: var(--gray);
}


.addTopicSection {
  cursor: pointer;
  /background-color: lightgray;
  /background-color: var(--lightGray);
  border: 2px solid lightgray;
  border: var(--divisionLine);
  border-radius: 5px;
  margin-top: 5px;
}
.addTopicSection:hover {
  background-color: whitesmoke;
  background-color: var(--veryLightGray);
}


.topicListRow {
  display:flex;
  flex-flow: row nowrap;
  gap: 5px;
}
@media only screen and (max-width: 400px) {
  .topicListRow {
    flex-flow: column nowrap;
  }
}

.topicMenu {
  position: absolute;
  top: 2px;
  right: 2px;
  z-index: 1;
  font-size: .65em;
  display: none;
}
.topicItem:hover > .topicMenu {
  display: block;
}
.topicMenu > .iconButton {
  color: dimgray;
  color: var(--darkGray);
}


.multientryEntry > .iconButton {
  color: gray;
  color: var(--gray);
  display: none;
}
.multientryEntry:hover > .iconButton {
  display: initial;
}


@keyframes savedFlash {
  0%, 25% {background-color: var(--colorConfirmation);}
  100% {background-color: 0;}
}
#saveButton.saved {
  animation-name: savedFlash;
  animation-duration: 4s;
}



button.suggestion {
  background-color: inherit;
  color: gray;
  color: var(--gray);
  font-size: .8em;
  padding-bottom: 0;
}


.resourceTypeButton, .squareIconButton {
  padding: 0;
  height: 6em;
  width: 6em;
  border: 3px solid var(--accentColor2);
  border: 3px solid var(--color2);
  border-radius: .5em;
  background-color: white;
  background-color: var(--white);
  color: var(--accentColor2);
  color: var(--color2);
  position: relative;
}
.resourceTypeButton > i, .squareIconButton > i {
  font-size: 2em;
  padding: .3em;
}
.resourceTypeButton > p, .squareIconButton > p {
}
.resourceTypeButton:hover, .squareIconButton:hover {
  background-color: whitesmoke;
  background-color: var(--veryLightGray);
  background-color: var(--whiteShaded);
}


.bubble {
  background-color: lightgray;
  background-color: var(--lightGray);
  border-radius: .8em;
  padding: .3em .6em;
}
.bubble * {
  padding: 0;
}



/* search */
#search .filters {
  /background-color: #f1f1f1;
  /background-color: var(--grayShaded);
  padding: 3px;
  border-radius: 0.3em;
}

#search button.filter {
  background-color: initial;
  border: none;
  color: lightgray;
  color: var(--lightGray);
  position: relative;
}
#search button.filter.active {
  color: dimgray;
  color: var(--darkGray);
}

#search .filter.exclude.active::after {
  font: var(--fa-font-solid);
  color: #ff000088;
  color: var(--colorExclude);
  content: "\f05e";
  position: absolute;
  right: 25%;
}


#search .searchbar {
  background-color: #f1f1f1;
  background-color: var(--veryLightGrayShaded);
  /padding-left: 5px;
  /padding-right: 5px;
  padding: 8px;
  border-radius: 5px;
  flex-grow: 10;
}

#search .selectOpSection {
  padding: var(--textPadding);
  /justify-content: flex-start;

}

.filter.selectOpSection .selectOpButton {
  flex-grow: initial;
}

.filter.collapsible {
  background-color: inherit;
  border: 2px solid lightgray;
  border: var(--divisionLine);
  border-radius: 10px;
}
.filter.collapsible + .content {
  background-color: inherit;
}
.filter.collapsible.active {
  border-radius: 10px 10px 0px 0px;
  border-bottom: none;
}
.filter.collapsible.active, .filter.collapsible:has(+.content .active, +.content .selected, +.content .marked) {
  border-color: var(--accentColor);
  border-color: var(--color1);
}
.filter.collapsible.active + .content {
  border: 2px solid var(--accentColor);
  border: 2px solid var(--color1);
  border-top: none;
  border-radius: 0px 0px 10px 10px;
}



.result {
  align-items: flex-start;
  background-color: whitesmoke;
  background-color: var(--veryLightGray);
  border-radius: 8px;
  padding: 10px;

  position: relative;
}
.result a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.result *[title] {
  z-index: 1;
}


.browseMenuRow {
  flex: 1;
  align-items: flex-start;
  position: relative;
  align-self: flex-start;

  padding: var(--textPadding);
}
.browseMenuRow button.row {
  color: gray;
  color: var(--gray);
}
/*
.browseMenu {
  max-height: 50vh;
  display: flex;
  flex-flow: column nowrap;

  /position: relative;
}
*/
.browseMenu {
  max-height: 50vh;
  display: flex;
  flex-flow: column nowrap;

  /position: absolute;
  position: sticky;
  left: 0;
  /top: 100%;
  top: var(--spaceForHeader);

  /border: var(--divisionLine);
  /border-top: none;
  background-color: whitesmoke;
  background-color: var(--veryLightGray);
  border-radius: var(--textPadding);
  /z-index: 10;
  padding: var(--textPadding);

}
.browseMenu.hidden {
  display: none;
}

.browseMenuItems {
  overflow-y: auto;
  display: flex;
  flex-flow: column nowrap;
}

.browseMenuItem {
  background-color: inherit;
}
.browseMenuItem.selected {
  background-color: silver;
  background-color: var(--grayShaded);
}
.browseMenuItem + .browseMenuItem {
  border-top: 1px solid lightgray;
  border-top: 1px solid silver;
  border-top: 1px solid var(--grayShaded);
}

.browseMenu input, .browseMenu .search {
  border: none;
  background-color: whitesmoke;
  background-color: var(--veryLightGray);
  background-color: lightgray;
  background-color: var(--lightGray);
  background-color: #eeeeee;
  background-color: var(--lightGrayShaded);
  background-color: var(--veryLightGrayShaded);
  border-radius: var(--textPadding);
  border-radius: var(--textPadding) var(--textPadding) 0 0;
  border-bottom: 1px solid lightgray;
  border-bottom: 1px solid var(--lightGray);

  /position: sticky;
  /position: absolute;
  /top: 0;
}





#fieldInfoGrid {
  display: grid;
  width: 100%;
  overflow-x: scroll;
  gap: 8px;
  max-height: 80vh;
  position: relative;
}

#fieldInfoGrid .colLabel {
  background-color: white;
  background-color: var(--white);
  position: sticky;
  top: 0;
  z-index: 1;
}

#fieldInfoGrid .infoGroup {
  background-color: lightgray;
  background-color: var(--lightGray);
  border-radius: 5px;
  padding: 5px;
  align-items: stretch;
  overflow-x: clip;
}

#fieldInfoGrid .infoBlock {
  background-color: white;
  background-color: var(--white);
  border-radius: 5px;
  padding: 5px;
  cursor: pointer;
}

#fieldInfoGrid .infoBlock > .resourceTypes {
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 2px;
}

#fieldInfoGrid .colLabel:has(.hideButton.hidden) > *:not(.hideButton) {
  display: none;
}

#fieldInfoGrid .hideButton {
  width: 1.5em;
}



.alert {
  width: 100%;
  justify-content: space-around;
  align-items: center;
  text-align: center;
  background-color: #ff000088;
  background-color: var(--colorAlert);
  border-radius: var(--textPadding);
}


