body > .header {
   background-color: cornflowerblue;
   color: black;
}

body > .header  .menu a {
   margin-left: 1rem;
}

body > #main {
   padding: 0;
}

a {
   text-decoration: none;
   color: inherit;
}

#form-show-event .card {
   margin: 1rem 0;
}

#form-show-event .event-items table {
   width: unset;
   border-collapse: unset;
}

#form-show-event .event-items table tr {
   cursor: pointer;
}

#form-show-event .event-items td.availability {
   display: block;
   border-radius: .5rem;
   margin-left: .5rem;
   padding: 0 .5rem;
   text-align: center;
}

#form-show-event .event-items .event-description {
   font-style: italic;
}

#form-show-event .event-items tr.unavailable .availability {
   background-color: lightcoral;
}

#form-show-event .event-items tr.available .availability {
   background-color: lightgreen;
}

#modal-edit-reservation .persons .list .person {
   display: flex;
   align-items: center;
   justify-content: stretch;
}

#modal-edit-reservation .persons .list .person .form-floating {
   margin-bottom: 0 !important;
   flex-grow: 1;
}


/* Bootstrap Anpassungen */

.form-floating > .form-control:focus ~ label, .form-floating > .form-control:not(:placeholder-shown) ~ label, .form-floating > .form-select ~ label {
   opacity: .65;
   transform: scale(.75) translateY(-.6rem) translateX(.15rem);
}

.form-floating > .form-control, .form-floating > .form-select {
   height: calc(2.9rem + 2px);
}

.form-floating > .form-control {
   padding-top: 1.4rem;
   padding-bottom: .3rem;
}

.form-floating > .form-select {
   padding-top: 1.3rem;
}

.form-floating > label {
   padding: .7rem .75rem;

}

/*
html {
    font-size: 20px;
    font-family: Verdana, sans-serif;
}

body {
   display: flex;
   flex-direction: column;
   align-items: center;
   background-color: #ddd;
}

body > .wrapper {
   max-width: 1024px;
   box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
}

a:link, :visited {
   color: unset;
   text-decoration: unset;
}

button.save-reservation {
	font-size: 1.1rem;
}

.menu {
   display: flex;
   justify-content: flex-end;
   font-size: .8rem;
   background-color: cornflowerblue;
	padding: 0 1rem;
}

.menu a { margin-left: 1rem; }

input {
   border: 3px solid #888;
   font-size: 1.0rem;
}

select {
   font-size: 1rem;
   border: 3px solid #888;
}

button {
   background-color: cornflowerblue;
   border: 2px solid #555;
   border-radius: .3rem;
   font-size: .8rem;
   padding: .2rem;
   min-width: 5rem;
}

#main {
   padding: 1rem;
   background-color: #fff;   
}

#header {
   display: flex;
   justify-content: space-between;
   background-color: cornflowerblue;
   padding: 1rem 1rem 0 1rem;
}


#welcome .actions {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
}

#welcome .actions .action {
   border: 3px solid #444;
   border-radius: 1rem;
   width: 10rem;
   height: 10rem;
   margin: 1rem;
   cursor: pointer;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: space-between;
   padding: 1rem;
   font-size: .8rem;
   background-color: lightblue;
   box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
}

@keyframes rotate-buttons {
   0%     { transform: rotateZ(0deg); }
   25%    { transform: rotateZ(3deg); }
   75%    { transform: rotateZ(-3deg); }
   100%   { transform: rotateZ(0deg); }
 }

#welcome .actions .action:hover {
   animation: rotate-buttons;
   animation-duration: .3s;

   
}

#welcome .actions .reservation-new img {
   height: 8rem;
   width: 8rem;
}

#welcome .actions .reservation-edit .input {
   font-size: .8rem;
}

#welcome .actions .reservation-edit input {
   width: 9rem;
   font-size: 1.0rem;

}

#form-show-timeslots .grid {
    display: grid;
    grid-template-columns: 0fr 0fr 0fr;
}

#form-show-timeslots .grid .timeslot-field {
   padding: .5rem 1.5rem .5rem 0;
}

#form-show-timeslots .grid .timeslot-date {
   white-space: nowrap;
   font-weight: bold;
   margin-top: 1rem;
}


#form-show-timeslots .grid .timeslot-time {
    grid-area: 1 / 1 / span 1;
    white-space: nowrap;
	 color: darkred;
}

#form-show-timeslots .grid .timeslot-time i {
	font-size: .9em;
}

#form-show-timeslots .grid .timeslot-reservations-left {
    grid-area: 1 / 2 / span 1;
    white-space: nowrap;
}

#form-show-timeslots .grid .timeslot-button-choose {
    grid-area: 1 / 3 / span 1;
    white-space: nowrap;
}


#form-edit-reservation .data {
   background-color: lightblue;
   padding: 1rem;
   border-radius: .5rem;
}

#form-edit-reservation .data h4 {
   margin-bottom: .2rem;   
}

#form-edit-reservation .data h4.timeslot {
   margin-top: 0;   
}

#form-edit-reservation .person {
   display: flex;
   align-items: center;
}

#form-edit-reservation .person input {
   margin: .3rem .3rem .3rem 0;
}


#form-edit-reservation td {
   padding: 0 .5rem .5rem 0;
}

#form-edit-reservation {
    display: flex;
    flex-direction: column;
}
#form-edit-reservation.hidden {
   display: none;
}

#form-edit-reservation .add-person {
   display: inline-block;
   font-size: .8rem;
   border-radius: .3rem;
}

#form-edit-reservation .add-person .button-text {
   position: relative;
   border: 3px solid black;
   left: -20px;
   font-size: .5rem;
   z-index: 0;
   border-radius: .4rem;
   padding: 0 10px 0 20px;
   background-color: #3a78ff;
}

#form-edit-reservation .add-person .wrapper {
   display: flex;
   align-items: center;
}

#form-edit-reservation .buttons {
   align-self: flex-end;
   margin-top: .5rem;
}


#tab-rsv-list {
   font-size: 15px;
}


#tab-rsv-list table.items th {
   border-bottom: 1px solid #666;
}

#tab-rsv-list table.items td {
   border-bottom: 1px solid #666;
   padding: 0 .5rem;
}


.overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    right: 0;
    bottom: 0;
    z-index: 2;
    margin: 0;
    background-color: rgba(0,0,0,0.8);
    display: flex;
    transition: .2s ease-out;    
    justify-content: center;
   align-items: center;
}


.overlay.message .container {
   max-width: 1024px;
    background-color: #fff;
    border: 2px solid red;
    border-radius: 1rem;
    margin: 5%;
    padding: 2rem 2rem 2rem 2rem;
    display: flex;
    flex-direction: column;
}

.overlay.message .container .close {
    align-self: flex-end;
    position: relative;
    top: 1rem;
}

.overlay.message .error {
   color: red;
}


.overlay.confirm .container {
   max-width: 1024px;
   background-color: #fff;
   border: 2px solid red;
   border-radius: 1rem;
   margin: 5%;
   padding: 2rem 2rem 2rem 2rem;
   display: flex;
   flex-direction: column;
}

.overlay.confirm .buttons {
   align-self: flex-end;
   position: relative;
   top: 1rem;
}

.overlay.confirm .buttons button {
   margin-left: .5rem;
}
*/