:root {
  --primary: #4169e1;
}

.show {
    display: block;
}
.hide {
    display: none;
}
.center {
    display: flex;
    justify-content: center;
    align-items: center;
}

nav.demo {
    margin: 0 2em;
}

.tabs {
	display: flex;
	flex-wrap: wrap; // make sure it wraps
}
.tabs label {
	order: 1; // Put the labels first
	display: block;
	padding: 1rem 2rem;
	margin-right: 0.2rem;
	cursor: pointer;
  font-weight: bold;
  transition: background ease 0.2s;
  background: rgba(0,0,0, 0.25)
}
.tabs .tab {
  order: 99; // Put the tabs last
  flex-grow: 1;
	width: 100%;
	display: none;
  padding: 1rem;
}
.tabs input[type="radio"] {
	display: none;
}
.tabs input[type="radio"]:checked + label {
	background: #aaa;
	color: black
}
.tabs input[type="radio"]:checked + label + .tab {
	display: block;
}

@media (max-width: 45em) {
  .tabs .tab,
  .tabs label {
    order: initial;
  }
  .tabs label {
    width: 100%;
    margin-right: 0;
    margin-top: 0.2rem;
  }
}

.tabs label:after {
    background-color: rgba(0,0,0,0.2);
}


div[aria-busy="true"]::before {
    height: 2em;
    width: 2em;
}

.check_yes {
    background-image: var(--icon-valid);
    width: 24px;
    height: 24px;
    display: block;
    margin: 0 auto;
}

.check_no {
    background-image: var(--icon-invalid);
    width: 24px;
    height: 24px;
    display: block;
    margin: 0 auto;
}

.row-collapse td {
  padding: 0px 0px;
  line-height: 0px;
  white-space: nowrap;
  overflow: hidden;
  transition-duration: .75s;
}
.row-expand td {
  line-height: 100%;
  transition-duration: .75s;
}