@import url('https://fonts.googleapis.com/css2?family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap');

body {
     font-family: 'PT serif';
   }
/*imports and sets font for whole website to Pt serif */

.sidebar {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: #C25F82;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
}
   
.sidebar a {
    padding: 8px 8px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    color: #fff0f9;
    display: block;
    transition: 0.3s;
}
   
.sidebar a:hover {
    color: #e892bf;
}

.sidebar .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
}

.openbtn {
    font-size: 3vw;
    cursor: pointer;
    color: #feeefc;
    border: none;
    background-color: #141832;
    float: left;
    display: inline;
    padding: 0.7vw;
    margin-top: 2vw;
    margin-bottom: 1vw;
}

.openbtn:hover {
    background-color: #20264e;
}


/* On smaller screens, where height is less than 450px, change the style of the sidenav (less padding and a smaller font size) */

@media screen and (max-height: 450px) {
    .sidebar {
        padding-top: 15px;
    }
    .sidebar a {
        font-size: 18px;
    }
}

.wrapper {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: 1fr 400px;
    grid-template-areas: 
    "header header header header"
    "main main main aside"
    "footer footer footer footer";
    gap: 4px;
}

header {
grid-area: header;
background-color: #141832;
text-align: left;
}

header h1 {
  padding-top: 1vw;
  padding-left: 4vw;
  font-size: 3vw;
  -webkit-text-stroke-color: #9D3E5F;
  -webkit-text-stroke-width: 2px;
}

/* formatting for the images in the recipes */
aside {
  grid-area: aside;
  background-color: #feeefc;
  display: flex;
  flex-direction: column; /* Align items in a column */
  align-items: center; 
  text-align: left; /* Align text to the left */
  padding: 10px;
}

aside img {
  width: 30vw; /* Set the image width */
  margin-bottom: 10px; /* Add margin between image and text */
}

aside h2, aside p {
  max-width: 30vw; /* Limit the width of the text to match the image */
}


* {box-sizing: border-box;}
.mySlides {display: none;}
img {vertical-align: middle;}

.slideshow-container {
  max-width: 700px;
  min-width: 100px;
  position: relative;
  margin: 0 auto; /* center the slideshow-container */
}

/* Hide the images by default */
.mySlides {
  display: none;
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

/* Caption text */
.text {
  color: #141832;
  font-size: 25px;
  padding: 10px 12px;
  position: relative;
  bottom: 8px;
  width: 100%;
  text-align: center;
}

/* Number text (1/3 etc) */
.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* The dots/bullets/indicators */
.dots{
  text-align: center;
}

.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

/* adjust the alignment of the dots */
.dot {
  margin: 0 5px; /* spacing */
}

.active, .dot:hover {
  background-color: #717171;
}

/* Fading animation */
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

/* On smaller screens, decrease text size */
@media only screen and (max-width: 300px) {
  .prev, .next,.text {font-size: 11px}
}

main {
grid-area: main;
background-color:#feeefc;
}

/* boxedimages formatting*/
.image-text-container {
  display: flex;
  flex-wrap: wrap;
}

.image-text {
  display: flex;
  flex: 1 150px; /* Set a flexible width for each image-text section */
  flex-direction: row; /* Stacks text content below the image */
  margin: 10px; /* Add margin for spacing */
}

.image-text img {
  width: 19vw;
  height: auto; /* Allow the height to adjust based on aspect ratio */
  padding-right: 10px; /* spacing between image and text */
  aspect-ratio: 4 / 3; /* Set the desired aspect ratio (4:3) */
  object-fit: contain; /* Maintain aspect ratio without stretching the image */
}
/* formats the images and txt in the container to line up in rows and adjust size based on window size*/
a {
  text-decoration: none;
  color: #141832;
  font-size: 25px;
} 

a:hover{
  color: #9D3E5F;
}

footer {
grid-area: footer;
background-color: #141832;
}

/* formatting */

.box {
padding: 20px;
border-radius: 10px;
}

h1, h3 {
color: #E8AECC;
}

h2 {
color: #141832;
}

p {
  color: #141832;
  font-size: 25px;
}
