@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;400;700&display=swap');

:root
{
    --bg_col: white;
    --textbox_border_col: black;
    --text_col_prim: black;
    --text_col_btn: black;
    --text_col_footer: white;
    --menu_bg_col: rgb(24, 24, 105);
    --text_col_menu: white;
    --link_col: cornflowerblue;

    --cardWidth: 50%;
    --tableWidth: 80%;
    --contentWidth: 80%;

    --ntlCol: rgb(107, 159, 255);
    --ntlColHov: rgb(32, 101, 230);

    --posCol: rgb(31, 194, 31);
    --posColHov: rgb(63, 206, 63);

    --negCol: rgb(216, 0, 0);
    --negColHov: rgb(238, 62, 62);
}

@media only screen and (max-width: 1000px) {
    :root
    {
        --cardWidth: 100%;
        --tableWidth: 100%;
        --contentWidth: 95%;
    }
  }

*
{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    font-family: 'Roboto', sans-serif;
}

html
{
    font-size: 62.5%;
}

body 
{
    background-color: var(--bg_col);
    color: var(--text_col_prim);
    font-size: 2rem;
}

a
{
    text-decoration: none;
    color: var(--link_col);
}

.contentContainer
{
    padding: 2rem;
    width: var(--contentWidth);
    margin-left: auto;
    margin-right: auto;
    min-height: 80vh;
}

.contentContainerCenter
{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: var(--contentWidth);
    margin-left: auto;
    margin-right: auto;
    min-height: 80vh;
    padding: 2rem;
}

.rotate90
{
    transform: rotate(90deg);
}

.menuButton
{
    padding: 1rem;
    font-size: 3rem;
    font-weight: bold;
    cursor: pointer;
    /* border: 1px solid black; */
    position: absolute;
    left: 0;
    right: 0;
    width: fit-content;
    transition: 1s;
}

.menuContainer
{
    color: var(--text_col_menu);
    position: absolute;
    height: 100%;
    background-color: var(--menu_bg_col);
    transition: 1s;
    overflow: hidden;
    top: 0;
    left: 0;
}

.menuContainer.expanded
{
    width: 25rem;
}

.menuContainer.collapsed
{
    width: 0px;
}

.menuCloseBtnItem
{
    display: flex;
    flex-direction: row-reverse;
}

.menuCloseBtn
{
    font-size: 2rem;
    padding: 1rem;
    transition: 0.3s;
    border-bottom-left-radius: 1rem;
    cursor: pointer;
    background-color: var(--negCol)
}

.menuCloseBtn:hover
{
    background-color: var(--negColHov)
}

.menuItem
{
    white-space: nowrap;
    display: flex;
    flex-direction: row;
    padding: 1rem;
    transition: 0.3s;
    cursor: pointer;
}

.menuItem:hover
{
    background-color: rgba(255,255,255,0.2);
}

.menuItem>i
{
    margin-right: 2rem;
}

.menuItem.sub
{
    padding: 0.5rem;
    padding-left: 1rem;
    font-size: 1.8rem;
}

.menuItem.isCurrentPage
{
    box-shadow: 0.5rem 0 0 var(--text_col_menu) inset;
}

.footerContainer
{
    backdrop-filter: brightness(0.5);
    min-height: 20vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    padding-top: 1rem;
}

.footerContainer .spacer
{
    flex: 1;
}

.footerTable
{
    width: 90%;
    font-size: 2rem;
    color: var(--text_col_footer);
    font-size: 2rem;
}

.footerTable th
{
    text-align: left;
    font-weight: bold;
    font-size: 2.5rem;
}

.footerTable td
{
    text-align: left;
}

.footerBottomRow
{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.footerBottomRow .wtw-solutions-link
{
    color: var(--link_col);
    font-size: 2.5rem;
    text-decoration: none;
    font-weight: bold;
}

.footerBottomRow .copyright-text
{
    color: var(--text_col_footer);
    filter: brightness(0.85);
    font-size: 1.5rem;
}

.flexContainer
{
    display: flex;
    align-items: center;
    justify-content: center;
}

.spaceAround.spaceAround
{
    justify-content: space-around;
}

.spaceAround.spaceBetween
{
    justify-content: space-between;
}

.spaceAround.spaceEvenly
{
    justify-content: space-evenly;
}

.flexContainer.row
{
    flex-direction: row;
    flex: 1;
    width: 100%;
}

.flexContainer.col
{
    flex-direction: column;
    flex: 1;
    height: 100%;
}

h1
{
    font-size: 4rem;
    font-weight: bold;
    margin: 2rem;
    margin-top: 0;
}

.textbox
{
    border: 1px solid var(--textbox_border_col);
    padding: 1rem;
    font-size: 2rem;
    margin: 0.5rem;
    width: 100%;
    border-radius: 0.5rem;
    transition: 0.3s;
}

.textbox.error
{
    background-color: rgb(255,150,150);
    border-color: red;
}

.textbox.warning
{
    background-color: rgb(255,255,150);
    border-color: yellow;
}

.textbox.success
{
    background-color: rgb(150,255,150);
    border-color: green;
}

.button
{
    border: none;
    padding: 1rem;
    font-size: 2rem;
    border-radius: 0.5rem;
    margin: 0.5rem;
    background-color: var(--ntlCol);
    width: 100%;
    cursor: pointer;
    transition: 0.3s;
    color: var(--text_col_btn)
}

.button:hover
{
    background-color: var(--ntlColHov);
}

.button.pos
{
    background-color: var(--posCol);
}

.button.pos:hover
{
    background-color: var(--posColHov);
}

.button.neg
{
    background-color: var(--negCol);
}

.button.neg:hover
{
    background-color: var(--negColHov);
}

.card
{
    border-radius: 1rem;
    align-self: center;
    justify-self: center;
    padding: 2rem;
    box-shadow: 0 0 10px -5px black;
    box-shadow: 0 0 10px 0px rgba(0,0,0,0.5);
    width: var(--cardWidth);
    background-color: transparent;
}

.h-spacer-small
{
   height: 1rem; 
}

.h-spacer-big
{
   height: 3rem; 
}

.msgContainer
{
    font-size: 2rem;
    background-color: rgba(0,0,0,0.2);
    border-left: 1rem solid var(--text_col_prim);
    padding: 1rem;
    border-radius: 0.5rem;
    margin: 0.5rem;
    width: 100%;
}

.msgContainer.error
{
    background-color: rgba(255,0,0,0.2);
    border-left: 1rem solid red;
}

.msgContainer.warning
{
    background-color: rgba(255,255,0,0.2);
    border-left: 1rem solid yellow;
}

.msgContainer.success
{
    background-color: rgb(0,255,0,0.2);
    border-left: 1rem solid green;
}

.listTableSearchbarContainer
{
    margin-left: auto;
    margin-right: auto;
    width: var(--tableWidth);
    font-size: 2rem;
}

.listTable
{
    margin-left: auto;
    margin-right: auto;
    border-collapse: collapse;
    width: var(--tableWidth);
    font-size: 2rem;
}

.listTable th
{
    text-align: left;
    font-weight: bold;
    padding: 1rem;
}

.listTable td
{
    text-align: left;
    padding: 1rem;
}

.listTable tr
{
    transition: 0.3s;
}

.listTable tr.contrast
{
    background-color: rgb(0,0,0,0.2);
}

.listTable tr.clickable:hover
{
    cursor: pointer;
    background-color: rgb(0,0,0,0.4);
}

.popupContainer
{
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    backdrop-filter: blur(10px);
    background-color: rgba(0,0,0,0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.popup
{
    background-color: var(--bg_col);
    position: relative;
    border-radius: 1rem;
    padding: 2.5rem;
    padding-top: 3rem;
    font-size: 2rem;
    width: var(--cardWidth);
    overflow-y: auto;
}

.popupCloseBtn
{
    position: absolute;
    right: 0;
    top: 0;
    padding: 1rem;
    border-top-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
    cursor: pointer;
    background-color: var(--negCol);
    color: white;
    transition: 0.3s;
}

.popupCloseBtn:hover
{
    background-color: var(--negColHov);
}

.popupTitle
{
    font-size: 3rem;
    font-weight: bold;
    padding: 0.5rem;
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

.popupTitle.error
{
    color: rgb(255, 0, 0);
    border-left: 1rem solid red;
    background-color: rgba(255,0,0,0.2);
}

.popupTitle.success
{
    border-left: 1rem solid green;
    background-color: rgba(0,128,0,0.2);
}

.popupTitle.warning
{
    border-left: 1rem solid orange;
    background-color: rgba(255,165,0,0.2);
}

.popupText
{
    margin-top: 1rem;
}

.hidden
{
    display: none;
}

.bookingOverview
{
    margin: 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    width: 100%;
}

.bookingOverviewDay
{
    border-bottom: 1px solid black;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: stretch;
    min-height: 2rem;
}

.bookingOverviewDayDate
{
    padding: 1rem;
    /* border-right: 1px solid black; */
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: auto;
}

.bookingOverviewDayBookings
{
    position: relative;
    display: flex;
    flex-direction: row;
    flex: 5;
    font-size: 1rem;
    align-items: stretch;
    justify-content: stretch;
}

.bookingOverviewDayBookingsBgEl
{
    flex: 1;
    border-left: 1px solid rgba(0,0,0,0.1);
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
}

.overviewBooking
{
    background-color: rgba(238, 62, 62,0.5);
    /* box-shadow: 0 0 1px 0 var(--text_col_prim) inset; */
    position: absolute;
    height: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.overviewBooking.selected
{
    box-shadow: 0 0 0 0.6rem rgba(238, 62, 62) inset;
}

.overviewBooking.own
{
    background-color: rgba(0,0,255,0.5);
}

.overviewBooking.own.selected
{
    box-shadow: 0 0 0 0.6rem rgb(0,0,255) inset;
}

