:root {
  --page-text-color: #fff;
	--page-text-color-hover: rgba(255,255,255,1.0);
	--page-background-color: #16191d;
	--tab-display: grid;
	--tab-background-color: rgba(255, 255, 255, 0.9);
}

.accordion-container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 10vmin;
  overflow: hidden;
  transform: skew(5deg);
}

.accordion-container .accordion {
  flex: 1;
  transition: all 1s ease-in-out;
  height: 55vmin;
  position: relative;
}

.accordion-container .accordion .accordion-head {
  color: black;
  background: #92b9e6;
  transform: rotate(-90deg);
  transform-origin: 0% 0%;
  transition: all 0.5s ease-in-out;
  min-width: 100%;
  text-align: center;
  position: absolute;
  padding: 0.5em;
  bottom: 0;
  left: 0;
  font-size: 1em;
  white-space: nowrap;
}

.accordion-container .accordion:hover {
  flex-grow: 10;
}

.accordion-container .accordion:hover img {
  filter: grayscale(0);
  margin: 1px auto;
  object-fit: contain;
}

.accordion-container .accordion:hover .accordion-head {
  text-align: center;
  top: calc(100% - 2em);
  color: #2e3280;
  background: transparent;
  font-size: 2em;
  transform: rotate(0deg) skew(-5deg);
  padding: 0;
}

.accordion-container .accordion img {
  width: 80%;
  height: 80%;
  object-fit: cover;
  transition: all 1s ease-in-out;
  /* filter: grayscale(100%); */
  margin: 1px auto;
}

.accordion-container .accordion:not(:nth-child(5)) {
  margin-right: 1em;
}

.accordion-text {
  font-size: 1em;
  color: black;
  text-align: center;
  padding: 0.5em;
  position:relative;
  display: none;
}

.accordion:hover .accordion-text {
  display: block;
}


.accordion-main {
  max-width: 70%;
  margin: auto;
  background-color: #18202a;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.75);
}

@media (max-width: 767px) {
  .accordion-main {
    max-width: 100%;
  }
}

.accordion__item {
  background-color: #0869ff;
}
.accordion__header {
  display: flex;
  align-items: center;
  position: relative;
  padding: 20px;
  cursor: pointer;
  border-bottom: 2px solid #0f141a;
  transition: all 0.2s ease;
}
.accordion__header-title {
  color: #fff;
  font-weight: bold;
}
.accordion__header-toggle {
  transition: transform 0.25s ease 0.1s;
  position: absolute;
  right: 20px;
  width: 10px;
  height: 10px;
  transform: rotate(-45deg);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}
.accordion__header:hover {
  background-color: #2e87c6;
}
.accordion__header--active {
  background-color: #2e87c6;
}
.accordion__header--active .accordion__header-toggle {
  transform: rotate(45deg);
}
.accordion__content {
  transition: opacity 1s ease 0.25s, height 0.25s ease;
  background-size: cover;
  background-color: #e2f0fa;
  padding: 0 5%;
  height: 0;
  overflow: hidden;
  opacity: 0;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.accordion__content::-webkit-scrollbar {
  display: none;
}

.accordion__content-title {
  transition: opacity 0.3s ease 0.3s, transform 0.3s ease 0.3s;
  transform: scaleY(0);
  color: #000;
  opacity: 0;
  margin: 20px 0;
  font-size: 1.3rem;
  font-weight: bold;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.1);
}
.accordion__content-text {
  transition: opacity 0.3s ease 0.6s, transform 0.3s ease 0.6s;
  transform: scaleY(0);
  margin-bottom: 30px;
  color: rgba(0, 0, 0, 0.80);
  opacity: 0;
}
.accordion__content--show {
  height: fit-content;
  opacity: 1;
}
.accordion__content--show .accordion__content-title {
  opacity: 1;
  transform: scaleY(1);
}
.accordion__content--show .accordion__content-text {
  opacity: 1;
  transform: scaleY(1);
}

tab-container {
	display: grid;
  margin: 0 auto;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto 1fr;
	border: solid rgba(255,255,255,0.3);
	border-radius: .5em;
  background-color: #6194cf;
}
/*
TAB CONTROLS
Hide radios */
input {display: none;}
input:checked + label {
	color: var(--page-text-color-hover);
	background-color: rgba(255,255,255,0.0);
	transition: all 250ms;
}
label {
	cursor: pointer;
	transition: color 250ms;
	padding: 1em;
	border-right: solid 2px var(--page-background-color);
	background-color: var(--tab-background-color);
	text-align: center;
	transition: all 250ms;
  width: auto;
  text-transform: capitalize;
}
label:last-of-type {border: none; }
label:hover {
	color: var(--page-text-color-hover);
	background-color: rgba(255,255,255,0.05);
}

tab-content {
	display: var(--tab-display);
	grid-column: 1 / -1;
}
/*
Why doesn't this work!? 
input ~ tab-content {display: none;}
input:checked ~ tab-content {display: var(--tab-display);}*/

input#tabToggle01:checked ~ tab-content:not(:nth-of-type(1)),
input#tabToggle02:checked ~ tab-content:not(:nth-of-type(2)),
input#tabToggle03:checked ~ tab-content:not(:nth-of-type(3)),
input#tabToggle04:checked ~ tab-content:not(:nth-of-type(4)) {display: none;}