html {
  cursor: url("bratz.cur"), auto;
}

/* Fonts */
.parisienne-regular {
  font-family: "Parisienne", cursive;
  font-weight: 400;
  font-style: normal;
}

/* Main Elements */
body {
  width: 100vw;
  margin: auto;
  padding: 1rem 0;
  margin-top: 3rem;
  color: #ffffff;
  background-color: crimson;
  background: url("img/bg-hearts.gif");
  font-family: 'Gaegu', Georgia, 'Times New Roman', Times, serif;
  font-weight: normal;
}

h2,
h3,
h4 {
  font-family: 'Emilys Candy', 'Times New Roman', Times, serif;
  font-size: 2.75rem;
  color: #ffe4f7;
  text-shadow: 0 0 10px #ffa4c4dd;
  text-align: center;
  text-transform: uppercase;
}

p {
  padding: 1rem 0;
  font-size: 1.85rem;
  line-height: 1.1;
  text-shadow: 0 0 6px rgba(217, 48, 110, 0.95);
  text-align: justify;
}

a {
  color: #d7f56b;
  text-shadow: 0 0 1px #6b7939;
  text-decoration: none;
}

a:hover {
  color: #f2ffc4;
  text-shadow: 0 0 1px #9bb343;
}

a,
midi-player {
  cursor: url("bratz2.cur"), pointer;
}

/* Containers */
.heading {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
}

footer p {
  font-size: 1.5rem;
}

/* Custom ID'd Sections */
section#dedication {
  display: flex wrap column;
  height: 100vh;
  align-content: center;
  cursor: url("iloveher.cur"), auto;
}

section#dedication div {
  background-image: url("img/bg_paper_dithered.png");
  background-repeat: repeat-y;
  background-size: cover;
  padding: 3rem 4rem;
  max-width: 500px;
  margin: auto;
}

section#dedication p,
h1 {
  font-size: 2rem;
  color: rgba(44, 32, 18, 0.95);
  text-shadow: none;
  font-weight: 600;
}

section#about {
  background-image: url("img/bg-clouds-pink.png");
  border-image: url("img/bar-lesbian.png");
  border-image-slice: 60 27;
  border-image-width: 20px 20px;
  border-image-outset: 0px 0px;
  border-image-repeat: stretch;
}

section#astrology {
  background-image: url("img/bg_cloud_night.gif");
  border-image: url("img/bar_stars.gif");
  border-image-slice: 35 0;
  border-image-width: 22px 0px;
  border-image-outset: 8px 0px;
  border-image-repeat: round;
}

section#garfield {
  border-top: #8b2c2f 6px solid;
  border-bottom: #8b2c2f 6px solid;
  cursor: url(garf.cur), auto;
}

section#garfield div.heading {
  border-image: url("img/bar-garf.gif");
  border-image-slice: 32 0 32 0;
  border-image-width: 32px 5px 32px 5px;
  border-image-outset: 0px 0px 0px 0px;
  border-image-repeat: repeat round;
}

section#garfield {
  background-image: url(img/bg_mcm_dark.png);
}

section#frogs {
  cursor: url(kermit.cur), auto;
  background: #7ca842;
  background: linear-gradient(90deg, #496025 0%, #8a9445 25%, #8a9445 75%, #496025 100%);
  border-image: url(img/bar-frogs.gif);
  border-image-slice: 30 26;
  border-image-width: 20px 20px;
  border-image-outset: 12px 0px 6px 0px;
  border-image-repeat: repeat;
}

section#cats {
  cursor: url(cat.cur), auto;
  background-image: url(img/bg_heart_orange.gif);
  border-image: url(img/bar-cats.gif);
  border-image-slice: 20 0 20 0;
  border-image-width: 20px 0px 20px 0px;
  border-image-outset: 5px 0px 0px 5px;
  border-image-repeat: repeat round;
}

section#bemine {
  border-top: 4px solid #e90000;
  border-bottom: 4px solid #e90000;
  cursor: url(iloveher.cur), auto;
  background-color: #ffa8cc;
  background-image: url(img/bg_hearts.gif);
}

section#picnic {
  cursor: url(iloveher.cur), auto;
  background-image: url(img/bg_garden_brown.png);
  border-top: 4px solid #ff3f7b;
  border-bottom: 4px solid #ff3f7b;
  border-image: url(img/bar-strawb.png);
 border-image-slice: 27 0 27 0;
border-image-width: 22px 20px 22px 20px;
border-image-outset: 7px 0px 7px 0px;
border-image-repeat: repeat stretch;
border-style: solid; 
}

/* Section Padding and Margins */
section {
  padding: 5rem 10vw;
  width: 100%;
  margin-bottom: 15vh;
}

section img {
  max-width: 100%;
}

section p {
  padding: 1rem 1.5rem;
}

section p+p {
  padding: 1rem 0;
}

/* Cute Stuff */
.border-frame {
  border-image: url("img/border_frame.png");
  border-image-slice: 71 66 71 66;
  border-image-width: 20px 20px 20px 20px;
  border-image-outset: 0px 0px 0px 0px;
  border-image-repeat: round round;
  border-style: solid;
}

.border-heart {
  border-image: url("img/bullet-heart.gif") 8 11 11 8 fill / 8px 11px 11px 8px;
  padding: 8px 11px 11px 8px;
}

.bg-gradient {
  background: linear-gradient(0deg,
      rgba(56, 23, 0, 0) 0%,
      rgba(56, 23, 0, 0.25) 10%,
      rgba(56, 23, 0, 0.375) 50%,
      rgba(56, 23, 0, 0.25) 90%,
      rgba(56, 23, 0, 0.001) 100%);
}

.bg-tile {
  background-image: url(img/bg_blacktile.png);
  border-radius: 5px;
  border: 3px outset #9ecf07;
  padding: 1rem;
  box-shadow: 8px 5px 5px #33211b83;
}

.box {
  border: 3px outset rgb(163, 95, 62);
  background-image: url(img/bg_cardboard.png);
  padding: 1rem;
  box-shadow: inset 0 0 10px rgba(64, 29, 9, 0.8);
}

/* Manipulations */
.mirror {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.flex {
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.flex-center {
  justify-content: center;
}

.flex-even {
  justify-content: space-evenly;
}

.flex-between {
  justify-content: space-between;
}

.flex-start {
  align-items: flex-start;
}

.flex-column {
  flex-direction: column;
}

.left {
  float: left;
}

.right {
  float: right;
}

.center {
  text-align: center;
}