/* color palette */
/* light,   background  -->   rgb(240, 248, 255);   */
/* dark,    text        -->   rgb(85, 85, 85)       */
/* primary, text        -->   rgb(51, 51, 51)       */
/* pink,    background  -->   rgb(241, 216, 216)    */
/* red,     primary     -->   rgb(255, 0, 0)        */
/* red,     secondary   -->   rgb(255, 82, 82)      */

/* body & html styling */
body {
  font-family: "Poppins", sans-serif;
  background-color: rgb(255, 255, 255);
  overflow-x: hidden;
  width: 100vw;
  line-height: 1.43;
  margin: 0;
}

html {
  scroll-behavior: smooth;
}

/* general styling */
h3 {
  width: fit-content;
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  font-weight: 500;
  line-height: 1.1;
  font-size: 1.75em;
  margin: auto;
  padding-bottom: 0.5em;
}

h2 {
  width: fit-content;
  padding-bottom: 0.1em;
  font-weight: 500;
  cursor: default;
  font-size: 1.6em;
  position: relative;
  left: -4em;
  opacity: 0;
  transform: rotate(30deg);
}

#logo {
  height: 80vh;
  position: absolute;
  top: 50%;
  left: calc(50% + 20em);
  transform: translate(-50%, -50%);
}

h2 a {
  color: rgb(51, 51, 51);
  text-decoration: none;
}

a {
  color: #337ab7;
}

p {
  font-weight: 400;
  display: block;
  margin: 0;
}

/* anchor tag styling */
a:not(.button) {
  background: linear-gradient(to right, #5d001a38, #5d001a38),
    linear-gradient(to right, #5d001a38, #5d001a38);
  background-size: 100% 0.1em, 0 0.1em;
  background-position: 100% 100%, 100% 100%;
  background-repeat: no-repeat;
  transition: background-size 400ms;
  text-decoration: none;
  cursor: pointer;
}
a:not(.button):hover,
a:not(.button):focus {
  background-size: 100% 1.2em, 100% 0.1em;
  text-decoration: none;
}

/* navbar tutorial (above cover) styling */
#navbar-assistance {
  z-index: 100;
  padding: 0.5em 1em 0.5em 1em;
  position: fixed;
  top: 7em;
  right: -50vw;
  float: right;
  transition: all 0.2s ease;
  background: rgba(255, 255, 255, 0.25);
  border-radius: 100px;
  backdrop-filter: blur(25px);
  border: none;
  box-shadow: none;
}

#navbar-cover {
  background-color: rgb(241, 216, 216);
  width: fit-content;
  padding: 0.5em 1em 1em 0;
  box-shadow: -100px 0 0 rgb(241, 216, 216);
  border-right: 4px solid rgba(0, 0, 0, 0.1);
}

/* cover styling */
.cover {
  width: 100%;
  height: 70vh;
  padding: 5em;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: fit-content;
}

.cover .corner {
  bottom: -203vh;
  right: -20vw;
}

.corner {
  position: absolute;
  height: 300vh;
  width: 60vw;
  transform: rotate(10deg);
  z-index: -1;
  background: linear-gradient(to bottom, transparent 0%, transparent 100%)
      right/22em no-repeat,
    url(../img/bg-1.jpg) 0 0/100% 100% repeat-y;
  animation: shift-down 120s linear infinite;
  background-size: contain;
  filter: blur(0px);
}

@keyframes shift-down {
  0% {
    background-position: right top, 0 0;
  }
  100% {
    background-position: right top, 0 100%;
  }
}

.cover ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.cover .cover-container h1,
.cover .cover-container p {
  line-height: 1;
  font-size: 2.5em;
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 0.1em;
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  cursor: default;
  width: fit-content;
}

.cover .cover-container a {
  color: rgb(51, 51, 51);
  text-decoration: none;
}

.cover .cover-container h1 {
  font-weight: 900;
  font-size: 8em;
  padding-bottom: 0;
}
h3:hover,
.cover .cover-container h1:hover {
  line-height: 1.1;
  transform: scale(1.1) rotate(-1deg) translateY(4px);
}

.cover .cover-container p:hover {
  transform: scale(1.05) rotate(1deg);
}

/* awning styling */
.awning {
  z-index: 100;
  height: 5em;
  left: 0;
  position: fixed;
  transition: top 0.3s ease;
}

.awning ul {
  margin: 0;
  padding: 0 0 2em 0;
  height: 5em;
  overflow: hidden;
  width: 210vw;
}

.awning li {
  width: 5vw;
  height: 5em;
  list-style-type: none;
  float: left;
  border-radius: 0 0 100px 100px;
  transition: box-shadow 0.3s, height 0.3s;
  box-shadow: 0px 0px 0.7vw rgba(0, 0, 0, 0.4);
  cursor: pointer;
}

.awning li:hover {
  box-shadow: 0px 0px 1vw rgba(0, 0, 0, 0.6);
  height: 5.5em;
}

.awning li:first-child {
  border-radius: 0 0 100px 4vw;
}

.awning li:last-child {
  border-radius: 0 0 4vw 100px;
}

.awning li:nth-child(odd) {
  background: rgb(255, 0, 0);
}

.awning li:nth-child(even) {
  background: rgb(255, 82, 82);
}

.awning ul.loading-game {
  height: 110vh;
}

/* navbar styling */
#navbar {
  z-index: 50;
  background-color: rgb(255, 82, 82);
  position: fixed;
  top: -6em;
  left: 0;
  transition: top 0.3s ease;
  height: 5em;
  margin: 0;
  padding: 0 0 0 1em;
  width: 100vw;
  display: flex;
  border-bottom: 2px solid rgb(0, 0, 0);
  justify-content: space-between;
  align-items: center;
}

#navbar ul {
  margin: 0;
  padding: 0 1em 0 0;
  list-style: none;
  display: flex;
}

/* mobile navbar styling */
.navbar {
  background-color: transparent;
  padding: 1em;
  position: fixed;
  width: calc(100vw - 2em);
  z-index: 101;
  height: 3em;
  top: 0;
}

.nav-header {
  display: flex;
  justify-content: space-between;
}

.navbar-nav {
  height: 0;
  list-style-type: none;
  margin: 0;
  padding: 3em 0 0 0;
  position: relative;
  display: flex;
  justify-content: space-between;
  font-size: 1.5em;
  transition: top 0.3s ease;
  top: -100vh;
  z-index: -1;
  flex-direction: column;
  background-color: rgb(255, 82, 82);
  box-shadow: 0 0 0 1em rgb(255, 82, 82);
}

.navbar-nav.show {
  height: min-content;
  display: flex;
  top: -2em;
}

.navbar blockquote {
  margin: 0.2em 0 0.2em 0;
}

.navbar-nav li a {
  padding: 0;
  width: 100%;
}

/* keyboard key styling */
kbd {
  border: 2px solid black;
  box-shadow: 2px 2px black;
  font-size: 0.85em;
  line-height: 0.85em;
  display: inline-block;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 3px 5px;
  white-space: nowrap;
  margin-right: 0.2em;
  color: #fff;
  background-color: #333;
  border-radius: 3px;
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}

/* help styling */
.help {
  z-index: -100;
  background-color: rgb(241, 216, 216);
  background-size: contain;
  padding: 0 5em 5em 5em;
}

.help button {
  margin-bottom: 1em;
}

.help .contact {
  display: flex;
  flex-wrap: wrap;
}

.help .links {
  display: flex;
  flex-wrap: wrap;
}

.links ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.links a {
  background: none;
  border: none;
  box-shadow: none;
}

/* button styling */
button {
  color: black;
  font-weight: 700;
  line-height: 25px;
  text-decoration: none;
  border-radius: 0.2em;
  border: none;
  background-color: rgb(240, 248, 255);
  box-shadow: 3px 3px 0 rgb(0, 0, 0);
  border: 3.5px solid rgb(0, 0, 0);
  margin-right: 1em;
  cursor: pointer;
  font-family: inherit;
}
button.visible {
  transition: box-shadow 0.2s, transform 0.2s;
}
button:focus-visible {
  outline: none;
}

button.visible:hover {
  transition: box-shadow 0.2s, transform 0.2s;
  transform: translate(3px, 3.5px);
  box-shadow: 1px 1px 0 rgb(0, 0, 0);
  transition-delay: 0;
}

button.visible:active {
  box-shadow: none;
}

/* hours styling */
.hours {
  padding: 0 5em 5em 5em;
  height: 100%;
}

.hours iframe {
  width: 100%;
  height: max(60vh, 600px);
  background-color: rgb(255, 255, 255);
  border: none;
}

/* quote styling */
blockquote {
  margin: 0 0 1em 0;
  padding: 10px 20px;
  box-shadow: -0.2em 0 0 rgba(0, 0, 0, 0.4);
  border: none;
  color: rgb(85, 85, 85);
  background-color: rgba(249, 249, 249, 0.93);
  width: fit-content;
  transition: box-shadow 0.2s, transform 0.2s;
  margin-right: 1em;
  font-size: 1em;
}

blockquote:hover {
  transform: translate(2px, 2px);
  box-shadow: 0.2em 0.2em 0 rgba(0, 0, 0, 0.4);
}

blockquote p {
  font-style: italic;
}

/* table styling */
table {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 0.9em;
  color: #333;
}

thead {
  background-color: rgba(0, 0, 0, 0.05);
  box-shadow: -2px 0 0 rgba(0, 0, 0, 0.4);
  transition: box-shadow 0.1s;
}

thead:hover {
  box-shadow: -2px 0 0 rgba(0, 0, 0, 0.4);
}

table tr:nth-child(even) {
  background-color: rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.1s;
}

table tr:nth-child(even):hover {
  background-color: rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.1s;
}

.table thead tr th,
.table tbody tr td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border: none;
}

table tr {
  transition: box-shadow 0.1s, background-color 0.1s ease;
}

table tr:hover {
  box-shadow: -2px 0 0 rgba(0, 0, 0, 0.4);
  background-color: rgba(0, 0, 0, 0.03);
}

/* announcement styling */
.announcement {
  background-color: #fff;
  padding: 2em;
  margin-bottom: 2em;
  box-shadow: 0.2em 0.2em 0 rgba(0, 0, 0, 0.4);
  text-align: center;
  max-height: 12em;
  overflow: scroll;
}

.announcement ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.announcement .date {
  font-weight: 700;
}

/* assignments styling */
.assignments {
  padding: 0 5em 5em 5em;
  background-color: rgb(241, 216, 216);
}

/* lectures styling */
.lectures {
  padding: 0 5em 5em 5em;
  background-color: rgb(255, 255, 255);
}

/* staff styling */
.staff {
  padding: 0 5em 10em 5em;
  background-color: rgb(240, 244, 248);
}

.staff img.shelf {
  width: 100%;
}

.staff .profile-container {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-top: 7em;
}

.profile-container.first {
  margin-top: 0;
}

.staff .profile-container .bio {
  width: 22%;
  height: min-content;
  padding: 0.5em;
}

.staff .profile-container .bio p {
  font-size: 0.9em;
  color: #2b2b2b;
}

.staff .profile-container .single-profile {
  width: 50%;
  padding-right: 0.5em;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.staff .profile-container .picture {
  width: 25%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.staff .profile-container .picture .profile,
.staff .profile-container .picture .ice-cream {
  width: min(14.5em, 40vw);
  height: min(9.5em, 35vw);
  object-fit: cover;
  clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%);
  border-bottom: 0.3em solid rgb(0, 0, 0, 0.12);
  border-top: 0.3em solid rgb(0, 0, 0, 0.12);
}

.staff .profile-container .picture .ice-cream {
  object-fit: contain;
}

.heading-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.heading-img.visible {
  left: 4em;
}

.heading-img {
  height: 6em;
  position: relative;
  left: 10em;
  transform: rotate(-30deg);
  transition: all 0.7s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.heading-img:hover {
  height: 8em;
}

.spoon {
  border-top: #f7f7f7 solid 2px;
  width: 5em;
  height: 6em;
  position: relative;
  clip-path: polygon(44% -11%, 87% 9%, 56% 100%, 26% 100%);
  left: -4em;
  margin-right: -5em;
  z-index: 1;
  background: linear-gradient(34deg, #ab9b9b, #f1f1f1);
  transition: all 0.2s ease-in-out;
  border-radius: 100em;
}

.spoon:hover {
  cursor: pointer;
  height: 5.5em;
  clip-path: polygon(44% 0%, 100% 0%, 56% 100%, 26% 100%);
  background: linear-gradient(34deg, #ab9b9b, white);
  border-top: rgb(255, 255, 255) solid 3px;
}

.spoon:active {
  background: linear-gradient(34deg, #9b9090, rgb(239, 239, 239));
}

.scoops {
  width: 100%;
  max-width: 24em;
  height: min(18vw, 12em);
  display: flex;
  align-items: flex-end;
  width: 100%;
  position: relative;
  top: 0em;
}

.scoops ul {
  width: 100%;
  padding: 0;
  margin: 0;
  display: flex;
  list-style: none;
  flex-direction: column;
  align-items: center;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: rotate(3deg);
  top: 0.5em;
  position: relative;
}

.spoon-scoop-container {
  display: flex;
  align-items: flex-end;
  width: 90%;
  top: 1vw;
  position: relative;
  justify-content: center;
}

.scoops li {
  border: #eee8e8 solid 0px;
  transition: all 0.7s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  background-color: rgb(255, 255, 255);
  border-radius: 25em 25em 0 0;
  max-width: 24em;
  position: relative;
  z-index: 1;
  width: 0%;
  height: min(4vw, 3em);
  top: 0em;
}

.scoops.chocolate li {
  background-color: #6c0c27;
  border-color: #5d001a;
}

.scoops.chocolate li:nth-child(1) {
  background-color: #5d001a;
}

.scoops.strawberry li {
  background-color: #f7c8c8;
  border-color: #e8b7b7;
}

.scoops.strawberry li:nth-child(1) {
  background-color: #e8b7b7;
}

.scoops.mint li {
  background-color: #b7e8b7;
  border-color: #a3d8a3;
}

.scoops.mint li:nth-child(1) {
  background-color: #a3d8a3;
}

.scoops.lemon li {
  background-color: #f7f7c8;
  border-color: #e8e8b7;
}

.scoops.lemon li:nth-child(1) {
  background-color: #e8e8b7;
}

.scoops.grape li {
  background-color: #c8b7e8;
  border-color: #b7a3d8;
}

.scoops.grape li:nth-child(1) {
  background-color: #b7a3d8;
}

.scoops.cotton-candy li {
  background-color: #f7c8f7;
  border-color: #e8b7e8;
}

.scoops.cotton-candy li:nth-child(1) {
  background-color: #e8b7e8;
}

.scoops li:nth-child(1) {
  clip-path: polygon(76% 0%, 76% 0%, 0% 100%, 100% 100%);
  background-color: #eee8e8;
}
.scoops li:nth-child(2) {
  transition-delay: 0.05s;
}
.scoops li:nth-child(3) {
  transition-delay: 0.1s;
}
.scoops li:nth-child(4) {
  transition-delay: 0.15s;
}

.scoops.visible li {
  top: 0;
  border-width: 0.2em;
}

.scoops.visible li:nth-child(1) {
  height: 1vw;
  width: 5%;
  top: 0.5vw;
}

.scoops.visible li:nth-child(2) {
  width: 30%;
}

.scoops.visible li:nth-child(3) {
  width: 60%;
}
.scoops.visible li:nth-child(4) {
  width: 90%;
}

.staff #don {
  width: max-content;
}

/* footer styling */
footer {
  padding: 5em 1em 1em 1em;
  background-color: rgb(241, 216, 216);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

footer p {
  margin: 0;
}

/* divider styling */
.divider {
  z-index: 30;
  position: relative;
  width: 4vw;
  height: 0px;
  transition-delay: 0.5s;
}

.divider::before,
.divider::after {
  content: "";
  position: absolute;
  left: 48vw;
  width: 100%;
  height: 0px;
  background-color: rgba(0, 0, 0, 0.1);
  transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55),
    height 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transform: rotate(0deg);
}

.divider.visible::before {
  height: 4px;
  transform: rotate(20deg);
}

.divider.visible::after {
  height: 4px;
  transform: rotate(-20deg);
}

.divider.visible:hover::before {
  transform: rotate(10deg);
}

.divider.visible:hover::after {
  transform: rotate(-10deg);
}

/* Styles for mobile-only */
.mobile-only {
  display: none;
}

/* Styles for desktop-only */
.desktop-only {
  display: block;
}

.staff .profile-container .single-profile.reverse {
  flex-direction: column-reverse;
  align-items: center;
}

.staff .profile-container .single-profile .bio,
.staff .profile-container .single-profile .picture {
  width: 100%;
  max-width: 25em;
}

/* Media query for mobile devices */
@media (max-width: 768px) {
  .heading-img {
    width: 0;
  }

  .heading-img.visible {
    left: 1em;
  }

  h3 {
    margin: 0;
  }

  .spoon {
    height: 5em;
  }

  .spoon:hover {
    height: 4.5em;
  }

  .scoops li {
    top: 0;
    border: #eee8e8 solid 0.2em;
  }

  .scoops li:nth-child(1) {
    height: 1vw;
    width: 5%;
    top: 0.5vw;
  }

  .scoops li:nth-child(2) {
    width: 30%;
  }

  .scoops li:nth-child(3) {
    width: 60%;
  }
  .scoops li:nth-child(4) {
    width: 90%;
  }

  .staff .profile-container .single-profile .bio,
  .staff .profile-container .single-profile .picture {
    font-size: 0.75em;
  }

  .staff .profile-container .single-profile .bio {
    margin-bottom: 3em;
  }

  .mobile-only {
    display: block;
  }

  .awning li {
    width: 10vw;
  }

  .desktop-only {
    display: none;
  }

  #navbar {
    display: none;
  }

  .assignments,
  .lectures,
  .help,
  .hours,
  .staff,
  .cover {
    padding: 1em;
    overflow-x: scroll;
  }

  .staff {
    padding-bottom: 5em;
  }

  h2 {
    margin: 1em auto 1em auto;
  }

  .cover .cover-container {
    padding: 5em 1em 1em 1em;
  }

  .cover,
  .cover .cover-container h1,
  .cover .cover-container p {
    text-align: center;
    height: fit-content;
    margin: auto;
  }

  h2 {
    left: 0;
    opacity: 1;
    transform: rotate(0deg);
  }

  .mobile-center {
    width: 100%;
    font-size: 0.75em;
    align-items: center;
    display: flex;
    flex-direction: column;
  }
}

.mobile-center {
  text-align: center;
}

/* Media query for small mobile devices */
@media (max-width: 500px) {
  .assignments,
  .lectures {
    padding: 0;
  }
}

/* Media query for desktop devices */
@media (min-width: 768px) {
  .staff .profile-container .bio {
    box-shadow: -3px 3px 0 #00000033;
    background-color: #fff;
    border: 0.2em solid #cccccc97;
    transition: all 0.3s ease-in-out;
  }

  .staff .profile-container .bio:hover {
    box-shadow: none;
    border: 0.2em solid #cccccce9;
  }

  .hours iframe {
    border: 1px solid rgb(245, 245, 245);
    box-shadow: -0.2em 0 0 rgba(0, 0, 0, 0.4);
    padding: 1em;
    transition: box-shadow 0.2s, transform 0.2s;
  }

  .hours iframe:hover {
    transform: translate(2px, 2px);
    box-shadow: 0.2em 0.2em 0 rgba(0, 0, 0, 0.4);
  }

  /* enable button animations */
  button:not(.static) {
    transform: translateX(-50px);
    opacity: 0;
    box-shadow: 2px 2px 0 rgb(0, 0, 0);
    transition: transform 0.5s,
      opacity 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55), box-shadow 0.5s;
  }

  button.visible {
    opacity: 1;
    transform: translateX(0);
  }

  li:nth-child(1) button {
    transition-delay: 0s;
  }
  li:nth-child(2) button {
    transition-delay: 0.02s;
  }
  li:nth-child(3) button {
    transition-delay: 0.04s;
  }
  li:nth-child(4) button {
    transition-delay: 0.06s;
  }
  li:nth-child(5) button {
    transition-delay: 0.08s;
  }
  li:nth-child(6) button {
    transition-delay: 0.1s;
  }

  /* sign styling */
  a.sign {
    padding: 0.1em 0.5em 0.1em 0.5em;
    border: 4px solid #deb7b7;
    box-shadow: -3px 3px 0 rgb(0 0 0 / 7%);
    transition: box-shadow 0.2s, transform 0.2s;
    background-color: rgb(250, 250, 250);
  }

  a.sign:hover {
    box-shadow: -1px 1px 0 rgb(0 0 0 / 4%);
  }

  h2.sign {
    position: relative;
    margin: 0 0 1em 0;
  }

  .hanger {
    position: relative;
    width: 100%;
    height: 50px;
    transition-delay: 0.5s;
    overflow: hidden;
  }

  .hanger::before,
  .hanger::after {
    content: "";
    position: absolute;
    left: calc(-11%);
    width: 122%;
    height: 0px;
    background-color: rgb(224 185 185 / 36%);
    transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55),
      height 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transform: rotate(0deg);
  }

  .hanger::before {
    height: 4px;
    transform: rotate(50deg);
  }

  .hanger::after {
    height: 4px;
    transform: rotate(-50deg);
  }

  .hours .hanger::before,
  .hours .hanger::after {
    left: calc(-4%);
    width: 108%;
  }

  .assignments .hanger::before,
  .assignments .hanger::after {
    left: calc(-13%);
    width: 126%;
  }

  .lectures .hanger::before,
  .lectures .hanger::after {
    left: calc(8%);
    width: 84%;
  }

  .help .hanger::before,
  .help .hanger::after {
    left: calc(14%);
    width: 72%;
  }

  h2.visible:hover {
    transition: all 0.2s ease;
    transform: rotate(4deg) translateX(-3px);
  }

  h2.visible {
    left: -1em;
    opacity: 1;
    transform: rotate(0deg);
    transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.8);
  }

  .cover .cover-container {
    transition: left 0.5s ease;
    padding-top: 5em;
    left: -100vw;
    position: relative;
  }
}

/* flip on hover styling */
.picture {
  border-top: rgb(225 225 225 / 88%) solid 0.5em;
  border-bottom: rgb(0 0 0 / 12%) solid 0.8em;
  padding: 1.5em 0 0 0;
  position: relative;
  width: 13em;
  height: 13em;
  perspective: 1000px;
  clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%);
  z-index: 2;
  background-color: #f00;
}

.profile,
.ice-cream {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.ice-cream {
  transform: rotateX(180deg);
}

.picture:hover .profile {
  transform: rotateX(-180deg);
}

.picture:hover .ice-cream {
  transform: rotateX(0);
}

/* shelf styling */
.shelf {
  position: relative;
  left: auto;
  width: 100%;
  height: 1.75em;
  background: #91571e;
  box-shadow: 0px 8px 20px -5px rgba(7, 7, 7, 0.6);
  border: 3px solid #633c09;
}

.nich-left {
  position: relative;
  width: 1.5em;
  height: 1.75em;
  background: linear-gradient(#7b491a, #965d27, #965d27, #63360b);
  box-shadow: 0px 1px 20px 0px rgb(7, 7, 7, 0.75);
  border: 0.2em solid rgb(30, 30, 30, 0.3);
  left: 20%;
  margin: 0;
  top: 1.9em;
}

.nich-right {
  position: relative;
  width: 1.5em;
  height: 1.75em;
  background: linear-gradient(#7b491a, #965d27, #965d27, #63360b);
  box-shadow: 0px 1px 20px 0px rgb(7, 7, 7, 0.75);
  border: 0.2em solid rgb(30, 30, 30, 0.3);
  left: 76.5%;
  top: -0.2em;
}
