main > content > article {
  background-color: var(--white);
  min-width: 60em;
  min-height: 60em;
  width: fit-content;
  margin: auto;
  padding: 2em;
  box-shadow: 0px 1px 5px rgb(0 0 0 / 30%);
  position: relative;
  display: block;
}

main > content > article.flex {
  display: flex;
  justify-content: space-evenly;
  flex-flow: row wrap;
}


fancy-table > input,
.dropdown > input,
input.search,
article > .dropdown > input,
fancy-table > header [switch] {
  box-shadow: 0px 1px 4px rgb(0 0 0 / 30%);
}

article > .dropdown > input {
  margin: 1em 1em 3em;
}

input#search,
input.search,
fancy-table > input,
article > .dropdown > input,
main > content > div > .dropdown > input,
.dropdown > input {
  height: 36px;
  padding: 6px 24px;
  background-color: transparent;
  width: 16em;
  display: inline-block;
  border: none;
  font-size: 1em;
  border-radius: 2em;
}
.dropdown > input{
  margin: 0.5rem 0;
}

input#search{
  width: 30em;
  /* margin-left: 1em; */
}

fancy-table > input[filters] {
  width: 24em;
}

fancy-table > .dropdown {
  margin-bottom: 3em;
}

main > content > div > .dropdown > input,
fancy-table > .dropdown > input {
  margin-bottom: 3px;
  margin-left: 0;
}

fancy-table > header{
  display: flex;
  flex-wrap: wrap;
  /* justify-content: space-between; */
  gap: 1em;
  align-items: center;
  margin-bottom: 2em;
  /* padding: 1em; */
}

/* fancy-table > header > input[filters] {
  width: 24em;
} */

fancy-table > header .checks{
  display: flex;
  gap: 1rem;
  order: 1;
}
fancy-table > header .checks .field{
  margin: 0;
}
fancy-table > header .checks .check [check]{
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
fancy-table > header .switches{
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  flex-basis: 100%;
  order: 1;
}
span.switch{
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

fancy-table > header [switch] {
  display: inline-block;
  border-radius: 2em;
}
fancy-table > header [switch] span:hover label {
  cursor: pointer;
  background-color: var(--primary-blue);
  color: var(--white);
}

fancy-table > header [switch] input {
  display: none;
}

fancy-table > header [switch] label {
  margin-left: -1px;
  padding: 0.7em 1.4em;
  display: inline-block;
}
fancy-table > header [switch] span:not(:last-child) label{
  padding-right: 0.5em;
}
fancy-table > header [switch] span:not(:first-child) label{
  padding-left: 0.5em;
}

fancy-table > header [switch] span:first-child label {
  border-radius: 2em 0 0 2em;
}
fancy-table > header [switch] span:first-child ~ span:not(:last-child) label {
  border-radius: 0;
}

fancy-table > header [switch] span:last-child label {
  border-radius: 0 2em 2em 0;
}

fancy-table > header [switch] input:checked ~ label {
  background-color: var(--the-blue);
  color: var(--white);
}
.table-container table{
  position: relative;
}
.table-container table::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  bottom: 0;
  background-color: var(--white);
  z-index: -1;
}
.table-container{
  overflow-x: auto;
  /* max-height: 50vh; */
  /* box-shadow: 0px 1px 5px rgb(0 0 0 / 30%); */
  position: relative;
	background:
		/* Shadow covers */
		linear-gradient(white 100% 30%, rgba(255,255,255,0)),
		linear-gradient(rgba(255,255,255,0), white 0 30%) 100% 0,
		
		/* Shadows */
		/* radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.2), rgba(0,0,0,0)),
		radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.2), rgba(0,0,0,0)) 100% 0; */

    linear-gradient(90deg, rgba(0,0,0,0.2), rgba(0,0,0,0)) 0 0,
    linear-gradient(270deg, rgba(0,0,0,0.2), rgba(0,0,0,0)) 100% 0;

	background-repeat: no-repeat;
	background-color: transparent;
	background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
	
	background-attachment: local, local, scroll, scroll;
}
/* note - i tried using ::before and ::after, but the ::after element positioning is restricted to the width of the screen, not the table */

.table-container > table tr > * {
  border-bottom: 1px solid var(--light-grey);
}
.table-container > table tr.picked {
  background-color: color-mix(in srgb, var(--footer-header) 50%, transparent);
}

fancy-table [icon] {
  background-color: var(--the-blue);
}
fancy-table button [icon]{
  background-color: var(--white);
}

table {
  table-layout: fixed;
  border-spacing: 0;
  min-width: 100%;
}

header ~ table,
section {
  background-color: white;
  padding: 2em;
  /* width: fit-content; */
  min-width: calc(100% - 4em);
}
section[color="light-grey"] {
  background-color: var(--main-text-bg);
}
section[color="main-text-bg"] {
  background-color: var(--main-text-bg);
}
section[color="footer-header-dark"] {
  background-color: var(--footer-header-dark);
}

thead {
  font-weight: bold;
  text-align: center;
  color: var(--the-blue);
  background-color: var(--la-creme);
}
/* fancy-table > .table-container thead {
  position: sticky;
  top: 0;
  z-index: 9;
} */

tr:hover {
  background-color: rgba(0,0,0,0.02);
}
tr.highlight {
  background-color: rgba(0,0,0,0.05);
}

th {
  text-align: center;
}

tr.left th{
  text-align: left;
}

td, th {
  padding: 1em;
  white-space: nowrap;
  box-sizing: border-box;
}

th.right,td.right,
tr.left th.right,tr.left td.right{
  text-align: right;
}

th.center,td.center,
tr.left th.center,tr.left td.center{
  text-align: center;
}

th.expand,td.expand{
  width: 100%;
}

#initial-p, .info {
  width: 32em;
  margin: 2em auto;
  background-color: var(--the-brown);
  color: var(--white);
  padding: 1em 2em;
  border-radius: 2em;
  text-align: center;
}


