body {
  font-family: 'Open Sans', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Lora', serif;
}

/* 
  Custom Aspect Ratio Helpers 
  (Since the @tailwindcss/aspect-ratio plugin is not available via CDN)
*/
.aspect-w-16 {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
}

.aspect-w-1 {
  position: relative;
  padding-bottom: 100%; /* 1:1 */
}

.aspect-w-16 > *,
.aspect-h-9 > *,
.aspect-w-1 > *,
.aspect-h-1 > * {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

/* Page Load Animation */
@keyframes fadeIn {
  from { 
    opacity: 0; 
    transform: translateY(10px);
  }
  to { 
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in {
  animation: fadeIn 0.5s ease-in-out forwards;
}

/* Horizontal Photo Gallery Styles */
#photo-gallery {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}
#photo-gallery::-webkit-scrollbar {
  display: none; /* Safari and Chrome */
}

.gallery-image {
  max-height: 60vh;
  flex-shrink: 0;
}