@font-face {
    font-family: 'Amatic SC';
    src: url('../fonts/AmaticSC-Bold.ttf')  format('truetype'); /* Safari, Android, iOS */
}

@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins-Regular.ttf')  format('truetype'); /* Safari, Android, iOS */
}

body {
    /*font-family: "Montserrat";*/
    min-height: 75rem;
    padding-top: 4.5rem;
}

main.container {
    min-height: 740px;
}

select.narrow {
    display:unset;
    width: unset;
}

div.file-list-container {
    text-align: -webkit-center;
}

form.file-upload {
    width: fit-content;
}

.navbar, .footer-heading {
    /* font-family: "Poppins"; */
    font-family: "Amatic SC";
}

.navbar, .footer {
    background-color: #524A3A;
}

.navbar-dark .navbar-nav .nav-link {
    font-size: 3rem;
    padding-right: 2rem;
    padding-left: 2rem;
}

.nav-link:hover, a.footer-link:hover {
    color: rgba(255, 255, 255, 1) !important;
}

.footer, a.footer-link, .navbar, .navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, .8);
}

.footer {
    bottom: 0;
    width: 100%;
    padding-top: 15px;
}

td.calendar {
    height: 9rem;
}

table.table.table-bordered {
    background-color: white;
    table-layout: fixed;
}

.bg-disabled {
    background-color: #eee;
}

p.card-text {
    white-space: pre-wrap;
}

button.cookie-consent__agree {
    margin: 10px;
}

div.cookie-consent {
    background: beige;
    text-align: center;
}

.add-event {
    display: none;
}

td:hover .add-event {
    display: inline-block;
    color: green;
}

li {
    list-style: none;
}

ul.event-day-list {
    padding: 0;
    font-size: x-small;
}

span.grey {
    color: grey;
}

.trix-button-group, .trix-content {
    background-color: white;
}

.file-upload {
    width: fit-content;
}

.event-img {
    max-width: -moz-available;
}

.farm-shop-images {
    width: 962px;
    margin: auto;
}

div.card.event {
    width: fit-content;
}

div.card-text {
    width: 60%;
    margin: 20px;
}

.card-img {
    height: 200px;
    margin: 20px;
    width: auto;
}

.left {
    float: left;    
}

.right {
    float: right;    
}

/* Ensure table scrolls on smaller screens */
.table-responsive {
    overflow-x: auto;
}

/* Improve spacing and readability */
.calendar {
    min-width: 120px;
    vertical-align: top;
    text-align: left;
    background: white;
    padding: 8px;
}

/* Stronger highlight for today's date */
.today {
    border: 3px solid black !important;
    background-color: #f8f9fa;
}

/* Adjust event title size and color */
.event-title {
    font-size: 1rem;
    font-weight: 500;
    color: #333; /* More neutral shade instead of blue */
}

/* Scale down event title if necessary */
@media (max-width: 992px) {
    .event-title {
        font-size: 0.9rem;
    }
}

@media (max-width: 768px) {
    .event-title {
        font-size: 0.85rem;
    }
}

/* Improve event list spacing */
.event-day-list {
    padding-left: 0;
    margin-top: 5px;
}

.event-day-list li {
    margin-bottom: 4px;
}

/* Restore green link style for "Neuer Event" */
.add-event {
    color: #28a745; /* Bootstrap 'success' green */
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
}

.add-event:hover {
    text-decoration: underline;
}

/* Hide empty event cards on mobile */
@media (max-width: 768px) {
    .table-responsive {
        display: none;
    }
}

/* Default: show for all screen sizes */
.month-pagination {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.month-links a {
    margin: 0 5px;
}

.full-text {
    display: inline;
}

/* On mobile, show the short text (<< and >>) */
@media (max-width: 768px) {
    .short-text {
        display: inline; /* Show << and >> */
    }

    .full-text {
        display: none; /* Hide full text on mobile */
    }
    
    .month-links {
        display: none; /* Hide the month links on mobile */
    }
}

.welcome-banner {
    display: block;
    max-width: 100%; /* Ensures image is not wider than the body */
    height: auto; /* Keeps aspect ratio */
    margin: 0 auto 20px; /* Centers the image and adds spacing below */
}

a.partner-link {
    text-align: center;
    display: block;
    font-size: larger;
    color: cornflowerblue;
}

.footer-logo {
    max-width: 150px; /* Adjust as needed */
    height: auto;
    display: block;
    margin: 0 auto;
}

.event-image {
    max-height: 900px;
}

.event-int-content {
    font-style: italic;
    margin-top: 20px;
}

.announcements {    
    margin-top: 30px;
    margin-bottom: 30px;
}

textarea.announcements {
    height: 700px;
}