*{
    margin:0;
    padding:0;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

body {
    font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    background-color: #f0f8ff;
    color: #333;
    
}

.head{
    height:15vh;
}

h1 {
    text-align: center;
    padding: 20px;
    background-color: #245340;
    color: white;
    margin: 0;
    height:9vh;
}

label {
    font-weight: bold;
    margin-right: 15px;
    padding-left: 15px;
}

select, button {
    padding: 10px;
    margin: 10px 0;
    border: 1px solid #ccc;
    border-radius: 4px;
}

button {
    background-color: #008CBA;
    color: white;
    cursor: pointer;
    transition: background-color 0.3s;
}

button:hover {
    background-color: #005f75;
}

.festivity {
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    padding: 2.3vh;
    margin: 1vh 0;
    background-color: #f9f9f9;
    transition: transform 0.2s, box-shadow 0.2s;
    margin: 0 15%;
}


.festivity:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.favorite {
    color: red;
    cursor: pointer;
}

.favorite:hover {
    color: darkred;
}

h2 {
    margin-top: 4.5vh;
    border-bottom: 2px solid #245340;
    padding-bottom: 1vh;
    margin-right: 5%;
}

#favoritesList {
    color:#333;
    background-color: #f9f9f9;
    border-radius: 5px;
    padding: 1vh;
    margin-top: 1%;
    margin-right: 5%;
}

.horizontal {
    display: grid;
    grid-template-rows: 1fr 1fr; /* Two equal rows */
    height: 100vh; /* Full viewport height */
}

.top {
    background-color: #f1f1f1;
    height:45vh;
    overflow-y: scroll;
}

.bottom {
    background-color: #555;
    color: white;
    display: inherit;
    grid-template-columns: 1fr 1fr; /* Two equal columns */
    height: 40vh;
}

.left-side {
    background-color: #f1f1f1; /* Light grey background for left side */
    display:flex;
    justify-content:center;
    align-items: center;
}

.right-side {
    background-color: #f1f1f1; /* White background for right side */
}

.right-side h2{
    color:#555
}

#calendar {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-gap: 0.5vh;
    max-width: 30vh;
    text-align: center;
}

.calendar-day {
    padding: 1vh;
    background-color: #245340;
    border: 1px solid #ddd;
    font-size: 1.8vh;
}

.calendar-day-header {
    font-weight: bold;
    background-color:#555;
}

.calendar-day.highlight-event {
    background-color: #f0ad4e;
    color: white;
    position: relative;
}

.tooltip {
    display: none;
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.75);
    color: white;
    padding: 0.5vh 1vh;
    border-radius: 4vh;
    font-size: 1.5vh;
    white-space: nowrap;
    z-index: 10;
}


.calendar-day.highlight-event:hover .tooltip {
    display: block;
}

.empty {
    background-color: #f9f9f9;
}

.calendar-day:hover {
    cursor: pointer;
}