/****** Variables ******/
:root {
  --panel-color: rgba(255, 0, 0, 0.7);
  --panel-color-alt: linear-gradient(to right, rgba(230,100,101, 0.7), rgba(145,152,229, 0.7));
  --blackish: rgb(47, 47, 47);
  --greyish: rgb(71, 71, 71);
  --light-greyish: rgb(204, 204, 204);
}

/****** General ******/
html,
body {
  padding: 0;
  margin: 0;
}

body {
  font-family: Arial;
}


/****** Titles ******/
.title {
  color: var(--blackish);
  font-weight: 700;
  margin-left: 30px;
  font-size: 44px;
  margin-bottom: 10px;
}

.subtitle {
  color: var(--greyish);
  margin-left: 30px;
  margin-top: 0;
  font-size: 22px;
}


/****** Text ******/
.text {
  color: var(--greyish);
  margin-left: 30px;
  margin-top: 100px;
  margin-bottom: 306px;
  font-size: 22px;
}

.code {
  float: left;
  margin-top: 50px;
}


/****** Container ******/
.container {
  margin-left: 30px;
  display: flex;
  justify-content: flex-start;
}


/****** Scenes ******/
.scene {
  width: 300px;
  height: 300px;
  border: 1px solid var(--light-greyish);
}

/****** Panels ******/
.panel {
  background: var(--panel-color-alt);
  line-height: 250px;
  color: white;
  font-size: 18px;
  text-align: center;
  transition: transform 2s;
}

.big {
  width: 100%;
  height: 100%;
}

.small {
  width: 90px;
  height: 90px;
  float: left;
  margin: 5px;
}


/***** Scene 1 *****/
.scene-1 {
  margin: 70px 160px 0px 30px;
}

.panel-1 { 
  margin-bottom: 50px;
}

.panel-1:hover {
  transform: perspective(600px) rotateY(45deg);
}


/***** Scene 2 *****/
.scene-2 {
  margin: 70px 30px 30px 0px;
  perspective: 600px;
}

.panel-2 {
  transition: transform 2s;
  margin-bottom: 50px;
}

.panel-2:hover {
  transform: rotateY(45deg);
}


/***** Scene 3 *****/
.scene-3 {
  margin: 70px 160px 0px 30px;
}

.panel-3 {
  transition: transform 2s;
}

.scene-3:hover .panel-3 {
  transform: perspective(600px) rotateY(45deg);
}


/***** Scene 4 *****/
.scene-4 {
  margin: 70px 30px 30px 0px;
  perspective: 600px;
}

.panel-4 {
  transition: transform 2s;
}

.scene-4:hover .panel-4 {
  transform: rotateY(45deg);
}


/****** Scene 5 ******/
.scene-5 {
  margin: 70px 160px 0px 30px;
  perspective: 600px;
}

.panel--translate-neg-z:hover {
  transform: translateZ(-200px);
}

.panel--translate-pos-z:hover {
  transform: translateZ(200px);
}

.panel--rotate-x:hover {
  transform: rotateX(45deg);
}

.panel--rotate-y:hover {
  transform: rotateY(45deg);
}

.panel--rotate-z:hover {
  transform: rotateZ(45deg);
}


/****** Buttons ******/
a {
  text-decoration: none;
  color: var(--greyish);
}

.button {
  font-weight: 700;
  font-size: 22px;
  position:absolute;
  padding: 10px;
  transition: transform 2s;
  margin-top: 300px;
}

.button:hover {
  transform: rotate(360deg);
}

.next {
  margin-left: 1000px;
}

.previous {
  margin-left: 30px;
}


/****** Footer ******/
footer {
  position: absolute;
  bottom: 0;
  left: 0;
}

footer > p {
  margin: 1.6rem;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
}

a,
a:visited {
  color: black;
}

#heart {
  font-size: 1.6rem;
}