@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pulseSoft {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

.animate-fadeIn {
    animation: fadeIn 1s ease forwards;
}

.animate-slideUp {
    animation: slideUp 1s ease forwards;
}

.animate-pulse-soft {
    animation: pulseSoft 3s ease-in-out infinite;
}

.delay-200 {
    animation-delay: 0.2s;
}

.delay-400 {
    animation-delay: 0.4s;
}

/* Basic styling for WordPress content */
h1 {
    font-size: 2.25rem; /* 36px */
    font-weight: 800;
    margin-bottom: 1rem;
}

h2 {
    font-size: 1.875rem; /* 30px */
    font-weight: 700;
    margin-bottom: 0.75rem;
}

h3 {
    font-size: 1.5rem; /* 24px */
    font-weight: 600;
    margin-bottom: 0.5rem;
}

h4 {
    font-size: 1.25rem; /* 20px */
    font-weight: 500;
    margin-bottom: 0.5rem;
}

h5 {
    font-size: 1.125rem; /* 18px */
    font-weight: 500;
    margin-bottom: 0.25rem;
}

h6 {
    font-size: 1rem; /* 16px */
    font-weight: 500;
    margin-bottom: 0.25rem;
}

p {
    margin-bottom: 1rem;
    line-height: 1.625;
}

strong {
    font-weight: 700;
}

em {
    font-style: italic;
}

ul {
    list-style-type: disc;
    list-style-position: inside;
    margin-bottom: 1rem;
}

ol {
    list-style-type: decimal;
    list-style-position: inside;
    margin-bottom: 1rem;
}

li {
    margin-bottom: 0.25rem;
}

a {
    text-decoration: underline;
}

a:hover {
}

blockquote {
    border-left-width: 4px;
    padding-left: 1rem;
    font-style: italic;
    margin-bottom: 1rem;
}

/* Color styles for prose content block */
.prose h1,
.prose h2,
.prose h3,
.prose h4,
.prose h5,
.prose h6 {
    color: #1f2937;
}

.prose p,
.prose li {
    color: #374151;
}

.prose a {
    color: #0891b2;
}

.prose a:hover {
    color: #0e7490;
}

.prose blockquote {
    border-color: #06b6d4;
    color: #4b5563;
}

/* Desktop dropdown menu with delay */
.group:hover .group-hover\:block {
    display: block !important;
}

.group:hover .group-hover\:delay-300 {
    transition-delay: 300ms;
}

/* Mobile menu styles */
#mobile-menu {
    transition: all 0.3s ease-in-out;
    transform-origin: top;
}

#mobile-menu.slide-down {
    animation: slideDown 0.3s ease-out forwards;
}

#mobile-menu.slide-up {
    animation: slideUpMenu 0.3s ease-out forwards;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
        max-height: 0;
    }
    to {
        opacity: 1;
        transform: translateY(0);
        max-height: 500px;
    }
}

@keyframes slideUpMenu {
    from {
        opacity: 1;
        transform: translateY(0);
        max-height: 500px;
    }
    to {
        opacity: 0;
        transform: translateY(-10px);
        max-height: 0;
    }
}

.rotate-180 {
    transform: rotate(180deg);
}