/* Text formatting comes first */
h1, h2, h3, p {
  text-align: center;
  font-family: sans-serif;
}

/* tips for text shadows: https://www.w3schools.com/csS/css_text_shadow.asp */
h1 {
  text-transform: uppercase;
  text-shadow: 1px 1px 2px dodgerblue, 0 0 25px black, 0 0 5px green;
  color: white;
}

h2, h3 {
  color: white;
  text-shadow: 2px 2px 4px black;
}

h2 {
  font-size: 18px;
}

h3, p {
  font-size: 14px;
  line-height: 1.4;
}

/* Paragraph style for the collapsible box content */
#collapsible{
  color: darkslategray;
  font-family: CircularStd,sans-serif;
  text-align: left;
}

body {
  background-image: url("https://bgfons.com/uploads/water/water_texture2353.jpg");
}

/* Border box sizing makes math easy. Width defines total width of the box, including padding. */
* {
  box-sizing: border-box;
}

/* Styling the button menu and buttons */
.button-menu {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 10px;
}

/* Bones of this button via https://getcssscan.com/css-buttons-examples Button 21*/
.button {
  align-items: center;
  appearance: none;
  background-color: whitesmoke;
  background-image: linear-gradient(1deg, #b0dbfd, whitesmoke 99%);
  background-size: calc(100% + 20px) calc(100% + 20px);
  border-radius: 100px;
  border-width: 0;
  box-shadow: none;
  box-sizing: border-box;
  color: darkslategray;
  cursor: pointer;
  display: inline-flex;
  font-family: CircularStd,sans-serif;
  font-size: 1rem;
  height: auto;
  justify-content: center;
  line-height: 1.5;
  padding: 6px 20px;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: background-color .2s,background-position .2s;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  vertical-align: top;
  white-space: nowrap;
}

.button:active,
.button:focus {
  outline: 3px solid darkslategrey;
}

.button:hover {
  background-position: -20px -20px;
}

.button:focus:not(:active) {
  box-shadow: rgba(40, 170, 255, 0.25) 0 0 0 .125em;
}

/* Styling for the collapsible stat explainer via https://www.w3schools.com/howto/howto_js_collapsible.asp */
/* Style the button that is used to open and close the collapsible content */
/* Align with button styling as much as possible */
.collapsible {
  background-color: whitesmoke;
  background-image: linear-gradient(1deg, #b0dbfd, whitesmoke 99%);
  color: darkslategrey;
  cursor: pointer;
  padding: 10px;
  width: 50%;
  margin-top: 0px;
  margin-left:25%;
  border: none;
  text-align: center;
  outline: none;
  font-size: 1rem;
}

/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
.active, .collapsible:hover {
  background-color: whitesmoke;
  background-image: linear-gradient(1deg, #b0dbfd, whitesmoke 99%);
}

/* Style the collapsible content. Note: hidden by default */
.content {
  padding: 0 10px;
  width: 50%;
  margin: auto;
  display: none;
  overflow: hidden;
  background-color: #f1f1f1;
}

/* Symbols for the collapsible menu when open or closed */
.collapsible:after {
  content: '\02795'; /* Unicode character for "plus" sign (+) */
  font-size: 13px;
  color: white;
  float: right;
  margin-left: 5px;
  text-align: left;
}

.active:after {
  content: "\2796"; /* Unicode character for "minus" sign (-) */
}

/* Developing the roster styling */
/* Our flip boxes live in the roster flexbox */
.roster {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center; 
  /* not sure if i like center or space-between more... */
  gap: 15px;
  /* ^ vertical gap */
  margin-top:10px;
  /* gives us a little space between our buttons/collapsible menu and the content */
}

/* style image to be cropped into a square */
.flip-box img {
  width: 200px;
  height: 200px;
  object-fit: cover;
}

/* CSS flipbox how-to: https://www.w3schools.com/howto/howto_css_flip_box.asp */
.flip-box {
  background-color: transparent;
  width: 200px;
  height: 200px;
  perspective: 1000px; /* Remove this if you don't want the 3D effect */
}

/* This container is needed to position the front and back side */
.flip-box-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

/* Do an horizontal flip when you move the mouse over the flip box container */
.flip-box:hover .flip-box-inner {
  transform: rotateY(180deg);
}

/* Position the front and back side */
.flip-box-front, .flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
}

/* Style the back side */
.flip-box-back {
  background-color: #006D75;
  color: white;
  transform: rotateY(180deg);
}

/* This lets us space out the text in the box from the edges */
.flip-box-content {
  padding: 10px;
}