/* == VARIABLES === */
:root {
  --olive: #7c6a0a;
  --dry-sage: #babd8d;
  --peach-fuzz: #ffdac6;
  --carrot-orange: #fa9500;
  --cayenne-red: #eb6424;
  --vanilla-cream: #F0EAD2;
}

/* === TEXT === */
@font-face {
  font-family: "Piper Pie Bold Expand";
  src: url("../fonts/piper_pie/piperpieboldexpand.ttf");
}

@font-face {
  font-family: "EB Garamond";
  src: url("../fonts/EB_Garamond/EBGaramond-VariableFont_wght.ttf");
}

body {
  background-color: var(--vanilla-cream);
  color: #6C584C;
  margin: 0;
  padding: 0;
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.3rem;
}

h1 {
  font-family: "Piper Pie Bold Expand", serif;
}

a {
  text-decoration: none;
  color: var(--cayenne-red);
}

a:hover {
  color: var(--carrot-orange);
}

/* === HEADER === */
.header {
  display: flex;
  justify-content: center;
  color: var(--olive);
  font-size: 45px;
}

.header, .small-header h1 {
  margin-bottom: 0px;
  text-shadow: 0 0 1px var(--olive), 0 0 2px var(--olive), 0 0 2px var(--olive), 0 0 0px var(--olive);
}

/* === SMALL HEADER === */
.small-header {
  display: flex;
  justify-content: center;
  color: var(--olive);
  font-size: 25px;
}

/* === BREADCRUMBS === */
.breadcrumbs {
  display: flex;
  flex-direction: row;
  justify-content: center;
  color: var(--dry-sage);
  font-size: 1.2rem;
}

.breadcrumbs li {
  display: inline-block;
  margin: 0 5px;
}

.breadcrumbs li::after {
  display: inline-block;
  content: '\00bb';
  margin: 0 .6em;
  color: var(--carrot-orange);
}

.breadcrumbs .current {
  color: var(--olive);
}

.breadcrumbs .current::after {
  display: none;
}

.breadcrumbs a {
  text-decoration: none;
  color: var(--dry-sage);
}

.breadcrumbs a:hover {
  color: var(--olive);
}

/* === BODY === */
.wrapper {
  display: flex;
  flex-direction: column;
  height: 100vh; /* Set wrapper to full screen height */
  padding: 0px 25px;
}

.home-page-content {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  margin: 0;
  margin-top: -30px;
  flex: 1; /* This makes the content expand to fill remaining space */
  width: 100vw;               /* Adjusts dynamically to parent width */
  max-width: 100%;          /* Prevents it from getting too wide */
  height: auto;              /* Allows the height to adapt to content */
}

.content {
  display: flex;
  flex-direction: column;
  align-self: center;
  justify-content: center;
}

/* === IMAGES === */

.dropshadow-img {
  filter: drop-shadow(15px 15px 15px gray);
  transition: transform 0.1s ease; /* Smooths the movement */
}

.shift-img-left {
  display: block;
  cursor: pointer;
  transform: rotate(-2deg);
}

.shift-img-left:hover {
  transform: rotate(-4deg);
}

.shift-img-right {
  display: block;
  cursor: pointer;
  transform: rotate(5deg);
}

.shift-img-right:hover {
  transform: rotate(7deg);
}

.img-text-link {
  width: fit-content;
  height: fit-content;
  display: inline-block;
  position: relative;
}
.img-text-link span {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  font-size: 1.5rem;
  white-space: nowrap;
  color: #FFF;
  filter: drop-shadow(1px 1px 0 var(--olive))
    drop-shadow(-1px 1px 0 var(--olive))
    drop-shadow(1px -1px 0 var(--olive))
    drop-shadow(-1px -1px 0 var(--olive));
}

.img-text-link:hover span, .img-text-link:focus span {
  opacity: 1;
}

.button {
  width: 88px;
  height:33px;
}

/* === HOME === */
.left, .right {
  display: flex;
  flex-direction: column;
  flex: 1;
  align-self: stretch;
  justify-content: space-around;
}

.row {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}

.cell {
  display: flex;
  align-self: stretch;
}

.postcard_img img {
  max-width: 100%;  /* Ensures image width doesn't exceed container */
  max-height: 100%; /* Ensures image height doesn't exceed container*/
  height: auto;     /* Maintains aspect ratio */
  display: block;
  object-fit: contain;
  cursor: pointer;
}

.postcard_img img:hover {
  transform: rotate(-2deg);
}

.flip-card {
  background-color: transparent;
  width: 355px;
  height: 567px;
  display: block;
  object-fit: contain;
  perspective: 1000px;
  cursor: pointer;
}

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

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

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

/* Style the front side (fallback if image is missing) */
.flip-card-front {
  /* background-color: #bbb; */
  color: black;
}

/* Style the back side */
.flip-card-back {
  background-color: var(--dry-sage);
  color: var(--carrot-orange);
  transform: rotateY(180deg);
  background-image: url('../images/unicorn_paper.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 5px;
  filter: drop-shadow(15px 15px 15px gray);
  display: flex;
  justify-content: center;
  align-items: center;
}

/* === COLLECTIONS === */
.collections-page {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
  margin-top: 60px;
}

.collections-page img {
  display: flex;
  width: 30%;
  height: auto;
  justify-self: center;
}

.collections-page p {
  display: flex;
  justify-self: center;
}

.aliens-page {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
}

.about-collection {
  margin: 50px 20px;
}

.aliens-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 25px 0;
}

.aliens-gallery div {
  flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 30%;
  justify-content: center;
}

.aliens-gallery img {
  display: flex;
  justify-self: center;
  width: 30%;
  height: auto;
}

.pencil-bag, .disco-mix img {
  display: flex;
  justify-self: center;
  width: 50%;
  height: auto;
}

.disco-mix {
  margin: 50px 0;
}

.disco-mix p {
  margin-bottom: 50px;
  display: flex;
  justify-self: center;
}

/* === GUESTBOOK === */
.guestbook-page {
  width: 30%;
}

.guestbook-page-credits {
  margin-top: 20px;
  font-size: 1rem;
}

/* === ABOUT PAGE === */
.about-page {
  display: flex;
  flex-direction: row;
  width: 50%;
  align-self: center;
  justify-content: space-between;
  /* border: 1px solid red; */
}

.about {
  margin: 10px;
  flex: 2;
  /* border: 1px solid green; */
}

.about-side {
  display: flex;
  flex-direction: column;
  flex: 1;
  /* border: 1px solid blue; */
}

.about-side div {
  margin: 10px;
  /* border: 1px solid pink; */
}

.about-side .img-text-link span {
  opacity: 1;
}

.colophon {
  padding-left: 25px;
}

.colophon h3 {
  color:var(--carrot-orange);
  margin-bottom: 10px;
}

.colophon span, .link-back span {
  display: inline-block;
  text-transform: uppercase;
  font-size: .8rem;
  line-height: 1.2;
}

.colophon p {
  font-size: 1rem;
}

.link-back {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: var(--dry-sage);
  border-radius: 5px;
}

.link-back img {
  filter: none;
  box-sizing: border-box;
}

.link-back img:hover {
  border: 2px solid var(--cayenne-red);
  border-radius: 5px;
}

.link-back a {
  display: flex;
  align-self: center;
  cursor: pointer;
}

.link-back span {
  display: flex;
  align-self: center;
  margin: 10px;
  color: var(--cayenne-red);
  font-weight: bold;
}

/* === RELEASE NOTES === */
.column {
  display: flex;
  flex-direction: column;
}

.release-notes {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.log {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: 40px;
  width: 30%;
}

.log h3 {
  font-size: .9em;
}

.release-notes .row {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.row h3 {
  display: flex;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 30%;
  align-self: flex-start;
}

.row ul {
  display: flex;
  flex-direction: column;
  align-self: flex-start;
  flex-grow: 2;
  flex-shrink: 2;
  flex-basis: 60%;
}

.date {
  font-weight: 900;
  color: var(--cayenne-red);
}

ul {
  list-style-type: square;
}

li::marker {
  color: var(--cayenne-red);
}

img {
  filter: drop-shadow(15px 15px 15px gray);
  transition: transform 0.1s ease; /* Smooths the movement */
}

/* === FOOTER ==== */
.footer {
  display: flex;
  justify-content: center;
  margin-top: auto; /* Pushes the footer to the bottom */
  font-size: 35px;
  padding-bottom: 10px;
  color: var(--olive);
  text-shadow: 0 0 1px var(--olive), 0 0 2px var(--olive), 0 0 2px var(--olive), 0 0 0px var(--olive);
}

.footer a {
  text-decoration: none;
  color:var(--olive);
}

body::after {
  content: "";
  position: fixed; /* Keeps it over the whole screen */
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;

  /* Link your texture image here */
  background-image: url('https://images.unsplash.com/photo-1604147706283-d7119b5b822c?q=80&w=1287&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D');
  background-repeat: repeat;

  /* Blends the texture with the content underneath */
  opacity: 0.2; /* Adjust for subtleness */
  mix-blend-mode: multiply; /* Try 'overlay' or 'screen' for different effects */

  /* IMPORTANT: Ensures the overlay doesn't block clicks/selections */
  pointer-events: none;
  z-index: 9999; /* Keeps it on the very top */
}
