body {
  font-family: Arial, sans-serif;
  background-color: #f4f4f4;
  background-image: url('images/cat.png'); /* Replace with your image path */
  background-repeat: repeat; /* This will tile the image */
  background-size: 100px 100px; /* Adjust the size as needed */
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  height: 100vh;
}

button {
  padding: 10px 20px;
  background-color: green;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

button:hover {
  background-color: darkgreen;
}

button {
  padding: 10px 20px;
  background-color: green;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

body {
  font-family: Arial, sans-serif;
  text-align: center;
  margin-top: 50px;
}

/* Flexbox container for social buttons */
.social-buttons-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 10px;
  margin-bottom: 15px;
}

/* Style for individual social buttons */
.social-buttons a {
  text-decoration: none;
  padding: 10px 20px;
  border-radius: 5px;
  font-weight: bold;
  color: white;
  transition: opacity 0.3s ease;
  text-align: center;
  margin: 5px;
}
.social-buttons a:hover {
  opacity: 0.8;
}

/* Specific styles for each button type */
.social-btn.donate-btn {
  background-color: #34C759; /* Apple-green shade for a fresh and positive look */
}

.social-btn.facebook-btn {
  background-color: #1877F2;
}

.social-btn.instagram-btn {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

.social-btn.updates {
  background-color: #e8b017;
}

.social-btn.adoption-btn {
  background-color: #610929;
}

.social-btn.mail-btn {
  background-color: #9e34eb;
}

.social-btn.expenses-btn {
  background-color: #4515ad;
}

.social-btn.recommend-btn {
  background-color: #094e50;
}

.embed-container {
  display: flex;
  flex-direction: row; /* this will align children side by side */
  width: 80%;
  margin: 0 auto;
  padding: 0;
}

.embed {
  height: 2000px;
  overflow: auto; /* to handle any overflow content */
}

.ko-fi {
  width: 100%;
}

@media (max-width: 768px) {
  .embed-container {
    flex-direction: column; /* Stack the children vertically */
}

.embed {
    width: 100%; /* Ensure embeds take the full width on mobile */
  }
}

/* Photo Gallery Styles */
.photo-gallery {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 20px 0;
  padding: 0;
}

.expenses-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;  /* This will create space between images */
  margin: 5px 0;
  justify-content: center; /* To center the images in the gallery */
}

.expenses-gallery-item {
  align-items: center;
}

.expenses-gallery-item img {
  height: 150px; /* or whatever height you want */
  flex-grow: 1;
  flex-shrink: 1;
  object-fit: cover;
}

.image-caption {
  text-align: center;
  font-size: 14px; /* Adjust as needed */
  margin-top: 5px; /* Adds a bit of space between the image and its caption */
}

.photo-item {
  flex: 1;
  border: 1px solid #e0e0e0;
  border-radius: 5px;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
  padding: 10px; /* Added padding inside the photo item */
}

.photo-item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.photo-item img {
  max-width: 100%;
  max-height: 250px; /* or whatever value you prefer */
  height: auto;
  width: 100%; /* Ensures full width of the container */
  object-fit: cover; /* Ensures image covers the available space without distortion */
  transition: transform 0.3s; /* For hover effect */
}

.photo-item:hover img {
  transform: scale(1.05); /* Slight zoom effect on image hover */
}

.photo-item p {
  text-align: center;
  padding: 10px;
  background-color: rgba(255, 255, 255, 0.8);
  margin: 0;
}

@media (max-width: 768px) {
  .photo-gallery {
    flex-direction: column;
  }

  .photo-item {
    margin-bottom: 20px;
  }
}

.updates {
  background-color: #e8b017;
  color: white;
}

ul {
  list-style-type: circle; /* or 'circle' or 'square' depending on desired style */
  width: auto;
}

.expenses-ul {
  margin-left: auto;
  margin-right: auto;
  width: fit-content;
}

.source {
 color: #6B5B95;
 text-decoration: none;
 border-bottom: 1px solid transparent;
 transition: border-color 0.3s ease;
}

.source:hover {
  color: #480878;
  border-bottom-color: #480878;
}

.home-link {
  text-decoration: none;
  color: #6B5B95;
}

.home-link:hover {
  color: #480878;
}

.kl {
  color: #7ab7b8;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s ease;
}

.kl:hover {
  border-bottom-color: #7ab7b8;
}

.info {
  color: #003366;
  font-weight: 600;
}

.petshops {
  display: flex;
  justify-content: space-around; /* Adjusted for space-around to handle variable column width */
  align-items: flex-start;
}

.column {
  padding: 10px; /* Adds spacing around the content */
}

.image-column {
  flex: 0 0 400px; /* flex-grow, flex-shrink, flex-basis */
}

.image-column img {
  width: 100%; /* Makes sure the image does not exceed its container */
  height: auto;
}

.bullet-list-column {
  /* Allows this column to fit its content */
  flex: 0 1 auto;
}

.text-area {
  flex: 1; /* Allows the text area to fill the remaining space */
  display: flex;
  padding: 10px; /* Adds some padding inside the text area */
  margin-left: 10px;
  align-items: center;
  min-height: 200px; /* Minimum height to allow for vertical centering */
}

.rec {
  font-size: large;
  margin-right: 15px;
}

.description {
  text-align: justify;
  font-size: 0.85em;
}

.gmap {
  max-width: 100%;
  max-height: 400px;
}

.amigo {
  max-width: 200px;
}

.footer {
  text-align: center;
  background: rgba(255, 255, 255, 0.9);
  color: #6B5B95;
  padding: 5px;
  margin-top: 20px;
  margin-bottom: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

#progress-widget {
  position: absolute;
  width: 270px;
  height: 270px;
  background: #fff;
  padding: 20px;
  border-radius: 50%;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  text-align: center;
  top: 20px;
  right: 20px;
  z-index: 1000;
}

#progress-widget h3 {
  color: #00b9fe;
}

#progress-widget p {
  font-size: 1.1em;
  margin: 10px 0;
}

#progress-widget .progress-container {
  background-color: #e0e0e0;
  border-radius: 25px;
  height: 30px;
  margin: 10px 0;
  overflow: hidden;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}

#progress-bar {
  background-color: #00b9fe;
  height: 100%;
  border-radius: 25px;
  text-align: right;
  padding-right: 10px;
  color: white;
  line-height: 30px;
  font-weight: bold;
  transition: width 0.4s ease;
}

.donate-message {
  font-size: 1.2em;
  color: #666;
}

.donation-btn {
  display: inline-block;
  background-color: #00b9fe;
  color: white;
  padding: 10px 10px;
  border-radius: 5px;
  text-decoration: none;
  font-size: 1.1em;
  transition: background-color 0.3s ease;
}

.donation-btn:hover {
  background-color: #0090c6;