BookingSystem/public/css/style.css
2025-08-17 15:38:51 +00:00

286 lines
5.9 KiB
CSS
Executable File

body {
background-color: #F9F9F9;
margin: 0;
font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}
.header {
background-color: #4A90E2;
text-align: center;
}
.forms-container h1 {
margin-top: 4vh;
color: #333333;
}
.forms-container {
display: flex;
justify-content: center;
gap: 2vw;
margin-top: 2vh;
}
.form {
width: 40%;
height: 95vh;
background-color: white;
text-align: center;
margin: 0;
border-radius: 4vh;
box-shadow: 0 4px 10px rgba(0,0,0,0.15);
display: flex;
flex-direction: column;
align-items: center;
position: relative;
}
.inputs {
width: 80%;
display: flex;
flex-direction: column;
gap: 2vh;
margin-top: 3vh;
margin-bottom: auto;
}
input {
height: 4vh;
text-align: center;
border-top: none;
border-left: none;
border-right: none;
border-color: #4A90E2;
font-size: 2vh;
}
::placeholder {
text-align: center;
}
input[type="date"],
input[type="time"] {
text-align: center;
height: 4vh;
font-size: 1rem;
}
.datepicker__wrapper {
width: 300px !important; /* or any desired width */
min-width: 200px !important;
max-width: 100%;
margin-left: 0 !important;
margin-right: auto !important;
font-size: 2.5vh !important;
margin-left: auto !important;
margin-right: auto !important;
margin-top: 2vh !important;
}
.picker-container {
position: relative;
width: 60px; /* smaller width */
flex: 0 0 70px; /* don't grow, don't shrink, fixed 60px */
min-width: 60px;
}
.picker {
height: 150px; /* visible area */
overflow-y: scroll;
scrollbar-width: none; /* Firefox */
}
.picker::-webkit-scrollbar {
display: none; /* Chrome/Safari */
}
.picker div {
height: 50px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.4rem;
color: #aaa; /* grayed out by default */
transition: color 0.3s;
}
.picker div.active {
color: #222; /* normal color for selected */
font-weight: bold;
}
.highlight {
position: absolute;
top: 50%;
left: 0;
width: 100%;
height: 50px;
margin-top: -25px;
pointer-events: none;
border-top: 2px solid #4A90E2;
border-bottom: 2px solid #4A90E2;
}
.pickers-row {
display: flex;
flex-direction: row;
justify-content: space-between; /* Left and right alignment */
align-items: center;
gap: 2vw;
width: 100%;
}
.calendar {
width: 20vh; /* Increased width */
}
.submitBtn {
width: 100%;
height: 5vh;
background-color: #4A90E2;
color: white;
border-style: hidden;
font-size: large;
cursor: pointer;
}
.formBottom {
margin-top: auto;
width: 80%;
}
.listBookings {
padding: 0;
margin: 0;
overflow-y: scroll;
max-height: 66vh;
min-height: 66vh;
scrollbar-width: none;
}
.no-bookings {
margin-top: 50%;
font-size: 1.2rem;
font-style: italic;
color: #666;
text-align: center;
}
.booking-item {
background-color: #f9f9f9;
border: 1px solid #ddd;
padding: 12px;
margin-bottom: 10px;
border-radius: 5px;
box-shadow: 1px 1px 5px rgba(0,0,0,0.05);
border-radius: 2vh;
}
.booking-item h3 {
margin-bottom: 0; /* Reduce space below the title */
}
.bookingContent {
display: flex; /* make this a flex container */
flex-direction: row;
gap: 0;
justify-content: center; /* Left and right alignment */
align-items: center;
}
.bookingContainer {
display: flex;
flex-direction: row;
justify-content: space-between; /* Left and right alignment */
align-items: center;
}
.bookingBtns {
background-color: transparent;
border: none;
}
.closed {
background-color: transparent;
border: none;
}
#btn:disabled {
background-color: #8294aa;
color: white; /* Optional: make text visible */
cursor: not-allowed; /* Optional: show disabled cursor */
opacity: 0.6; /* Optional: slightly transparent */
}
.adminHeader {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 1rem;
margin-top: 2vh;
margin-bottom: 3vh;
}
/* txt appears when hovered */
.userinfo-target {
position: relative;
display: inline-block;
cursor: pointer;
text-decoration: underline;
}
.userinfo-box {
position: absolute;
top: 125%; /* BELOW the h3 */
left: 50%;
transform: translateX(-50%);
background-color: #333;
color: #fff;
padding: 6px 10px;
border-radius: 5px;
font-size: 14px;
white-space: nowrap;
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease;
}
.userinfo-box::after {
content: '';
position: absolute;
bottom: 100%; /* arrow points UP now */
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: transparent transparent #333 transparent;
}
.userinfo-target:hover .userinfo-box {
opacity: 1;
visibility: visible;
}
@media (max-width: 600px) {
.forms-container {
flex-direction: column;
gap: 2vh;
align-items: center;
}
.form {
width: 90%;
height: auto;
margin-bottom: 2vh;
}
.datepicker__wrapper {
width: 200px !important; /* Smaller width on mobile */
min-width: 120px !important;
font-size: 2vh !important;
}
.bookingContainer {
position: relative; /* needed so button anchors to this box */
}
.bookingContainer .closed {
position: absolute;
right: 0;
top: 0.5rem; /* tweak vertical placement */
background: none;
border: none;
padding: 0.5rem;
cursor: pointer;
padding-top: 8vh;
padding-right: 2vh;
}
.backBtn{
padding-top: 10vh;
}
}