/* THIS FILE SHOULD ONLY CONTAIN STYLES THAT WILL BE USED IN MULTIPLE PAGES ACROSS READYLIST */


/* Variables */
:root {
    --rl-blue: #0e76bc;
    --rl-orange: #FD9830;
    --rl-red: #C80F0F;
    --popup-width: 60%;
    --popup-height: 80%;
}

/* Icons */
img.icon {
    width: 1.5em;
    height: 1.5em;
    padding: 0 0.5em;
    cursor: pointer;
}

img.icon.large {
    width: 3.5em;
    height: 3.5em;
    padding: 0.5em 0;
}

img.icon.small {
    width: 1em;
    height: 1em;
}

img.icon.medium {
    width: 2em;
    height: 2em;
}

img.icon.orange {
    filter: invert(51%) sepia(84%) saturate(1065%) hue-rotate(350deg) brightness(103%) contrast(99%);
}

img.icon.filter {
    padding: 0;
}

img.icon.orange {
    filter: brightness(0) saturate(100%) invert(51%) sepia(84%) saturate(1065%) hue-rotate(350deg) brightness(103%) contrast(99%);
}

img.icon.white {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(175deg) brightness(101%) contrast(101%);
}

img.icon.blue {
    filter: brightness(0) saturate(100%) invert(31%) sepia(49%) saturate(3806%) hue-rotate(186deg) brightness(88%) contrast(89%);
}

img.icon.gray {
    filter: brightness(0) saturate(100%) invert(98%) sepia(1%) saturate(246%) hue-rotate(357deg) brightness(112%) contrast(73%);
}

img.icon.black {
    filter: brightness(0) saturate(100%);
}

/* Header */
.logo {
    max-height: 3em;
}

.rl_header {
    margin: 1em;
}

/* Sidebar Navigation */
.navigation {
    position: absolute;
    top: 5em;
    z-index: 1000;
    width: 5.5em;
    bottom: 0;
    border-top-right-radius: 5px;
}

@keyframes navbar_up {
    from {
        top: 5em;
    }
    to {
        top: 0;
    }
}

@keyframes navbar_down {
    from {
        top: 0;
    }
    to {
        top: 5em;
    }
}

@keyframes navbar_up_border {
    from {
        border-top-right-radius: 5px;
    }
    to {
        border-top-right-radius: 0;
    }
}

@keyframes navbar_down_border {
    from {
        border-top-right-radius: 0;
    }
    to {
        border-top-right-radius: 5px;
    }
}


.navigation_icons {
    position: fixed;
    left: 0;
    top: 5em;
    z-index: 990;
    height: 100%;
    background: var(--rl-blue);
    width: 5.5em;
    border-top-right-radius: 5px;

    li {
        list-style-type: none;
    }
    a {
        display: block;
        width: 4.5em;
        height: 4.5em;
        line-height: 4.5em;
        text-align: center;
        color: white;
        transition: all .5s ease-out;
        cursor: pointer;
        text-decoration: none;
        margin-left: 0.5em;

        &:hover {
            transform:translateX(5px) scale(1);
        }

        i {
            font-size: 2.5em;
        }
    }

    .selected::before, .tab_action_needed::before {
        content: '';
        background: var(--rl-orange);
        border-radius: 5px;
        margin: 0 0.5em;
        display: block;
        position: absolute;
        width: 4.5em;
        height: 4.5em;
        z-index: -1;
    }

    .tab_action_needed::before {
        background: var(--rl-red);
    }
}

/* Up Animation */
.navigation_icons.up {
    animation: navbar_up 0.4s ease forwards, navbar_up_border 0.4s ease forwards;
}

/* Down animation */
.navigation_icons.down {
    animation: navbar_down 0.4s ease forwards, navbar_down_border 0.4s ease forwards;
}

.navigation_text.up {
    animation: navbar_up 0.4s ease forwards, navbar_up_border 0.4s ease forwards;
}

.navigation_text.down {
    animation: navbar_down 0.4s ease forwards, navbar_down_border 0.4s ease forwards;
}


.navigation:hover .navigation_text {
    transform: translate(300px);
    transition-delay: 0.3s;
}
.navigation_text {
    position: fixed;
    left: -17em;
    top: 5em;
    height: 100%;
    background: var(--rl-blue);
    border-right: black;
    transition: transform .24s cubic-bezier(0.22, 0.61, 0.36, 1);
    backface-visibility: hidden;
    transform-origin: left;
    border-top-right-radius: 5px;

    .tabs {
        display: block;
        width: 300px;
        height: 64px;
        line-height: 64px;
        margin-left: 1em;
        font-size: 1.4em;
        text-decoration: none;
        color: white;
        transition: all .5s ease;
        cursor: pointer;
    }
}

.nav_nav:hover .info {
    left:0;opacity:1;
    transition:opacity .5s ease-in .1s
}
.info {
    position:absolute;
    padding-left:2em;
    bottom:30px;
    z-index:999;
    width:264px;
    color: white;
    text-align:center;
    line-height:1.6;
    opacity:0;
}

.tooltip .sub_tabs {
    visibility: hidden;
    width: 15em;
    background-color: var(--rl-blue);
    color: #fff;
    padding: 5px 0;
    position: absolute;
    left: 315px;
    border-radius: 0.8em;
    margin-left: 5px;
    border: 10px solid white;

    span {
        display: block;
        width: 90%;
        margin-left: 1em;
    }
}

.tooltip .sub_tabs::after {
    content: "";
    position: absolute;
    top: 1.5em;
    right: 100%;
    width: 12px;
    height: 12px;
    background-color: var(--rl-blue);
    transform:translate(50%,-50%) rotate(-45deg);
}

.tooltip:hover .sub_tabs {
    visibility: visible;
    transition: opacity 0.3s, visibility 0s linear 0s;
}

/* Action Needed Popup */
.tooltip.action_needed .sub_tabs {
    visibility: visible;
    background-color: var(--rl-red);
    padding: 15px;
    left: 4em;
    margin-top: -3.5em;
    font-size: 16px;
    margin-left: 25px;
    border: none;
    border-radius: 0.3em;

    span {
        display: inline;

        img {
            vertical-align: bottom;
            float: right;
        }
    }
}

.tooltip.action_needed .sub_tabs::after {
    background-color: var(--rl-red);
}

.navigation_initials::after {
    content: '';
    position: absolute;
    margin: auto;
    left: 1.5em;
    width: 50%;
    height: 3px;
    background-color: white;
}

/* Popups */
.popup {
    margin: 20px
}

.popup_title {
    border-bottom: 3px solid var(--rl-blue);

    h3 {
        margin: 0.5em 0;
    }
}

.popup_body {
    margin-top: 20px;
    font-size: 20px;
    text-align: center;
    width: 100%;

    div {
        margin: 10px 0;
    }

    img:not(.icon) {
        width: 80%;
        object-fit: contain;
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-top: 10px;
    }

    img.icon {
        width: 2em;
        height: 2em;
        padding: 0.5em;
    }

    button {
        border: 0 none;
        cursor: pointer;
        color: white;
        background: var(--rl-blue);
        padding: 0.5em 3em;
        font-size: 20px;
        font-weight: bold;
        border-radius: 5px;
    }

    textarea {
        width: 100%;
        resize: none;
    }
}

.popup_close {
    float: right;
    cursor: pointer;
    font-size: 24px;
    color: var(--rl-blue);
}

img.icon.popup_close {
    padding: 0;
}

#cboxContent {
    border-radius: 10px;
}

form:invalid input[type="submit"], form:invalid button[type="submit"], input[type="submit"]:disabled {
    background-color: gray;
    pointer-events: none;
}

/* General Page Setup */
.outer {
    max-width: 1200px;
    margin: 0 2em 0 8em;

    h1, h2, h3, h4 {
        font-weight: bold;
    }

    h1 {
        font-size: 40px;
        line-height: 40px;
        color: var(--rl-blue);
    }

    h2 {
        font-size: 26px;
        line-height: inherit;

        span {
            vertical-align: text-top;
        }
    }

    h3 {
        line-height: unset;
        padding: 10px 0;
        margin: 0;
    }

    .sub_header {
        padding-top: 10px;
    }

    button, input[type="submit"] {
        border: 0 none;
        cursor: pointer;
        color: white;
        background: var(--rl-blue);
        padding: 0.5em 3em;
        font-size: 20px;
        font-weight: bold;
        border-radius: 5px;
    }

    .expand_section {
        cursor: pointer;
        width: fit-content;
    }

    .header_divider {
        border: 2px solid var(--rl-blue);
    }

    .sub_header_divider {
        border: 1px solid black;
    }

    fieldset {
        padding: 0;
        margin-bottom: 1.5em;
    }

    legend {
        margin-left: .5em;
        color: var(--rl-blue);
        font-size: 18px;
    }


    &:not(.admin.edit) {
        .outline {
            border: 2px solid var(--rl-blue);
            border-radius: 7px;
            padding: 1em;
            margin-bottom: 0.5em;
            line-height: 2.5em;
            display: block;
            overflow: auto;

            h2 {
                color: var(--rl-blue);
                text-align: center;
            }

            h3 {
                text-align: center;
            }

            .photo {
                width: 90%;
            }

            &.stat_clean {
                border-color: var(--rl-red);

                img.biohazard_img {
                    filter: invert(13%) sepia(97%) saturate(3170%) hue-rotate(350deg) brightness(101%) contrast(108%);;
                }
            }
        }

        h6 {
            font-size: 24px;
            display: inline;
            padding-right: 10px;
            color: black;
        }

        h3 {
            display: inline;
            padding-right: 10px;

            div {
                float: right;
                height: 1.5em;
                display: flex;
            }
        }

        .section {
            padding: 1.5em;
        }

        [type=text] {
            font-size: 24px;
            line-height: inherit;
            border: 2px solid var(--rl-blue);
        }

        .two_column {
            column-count: 2;
            padding: 10px;
        }

        .flex {
            display: flex;
        }

        select {
            border: 2px solid var(--rl-blue);
            font-size: 20px;
            padding: 5px;
            border-radius: 5px;
            width: 100%;
        }

        .error {
            color: var(--rl-red);
        }

        label {
            font-size: 24px;
            vertical-align: middle;
        }

        .finished {
            background-color: #b8b8b8;
            border-radius: 7px;

            input[type=text], input[type=number], input[type=checkbox]:not(:checked), select {
                background-color: #b8b8b8;
            }
        }

        .right_align_buttons {
            display: flex;
            align-items: center;
            margin-left: auto;

            button {
                margin-left: 1em;
                text-wrap: nowrap;
            }
        }

        p {
            font-size: 18px;
            line-height: 18px;
            color: black;
            padding: 0;
            text-align: left;
        }

        .action_needed h6 {
            font-weight: bold;
        }

        .non_interactable {
            cursor: none;
            pointer-events: none;
        }

        .card_header {
            float: right;
            writing-mode: vertical-lr;
            text-transform: uppercase;
            letter-spacing: 2px;
            display: flex;
            justify-content: center;
            align-items: center;
            margin-left: 10px;

            h2 {
                height: 100vh;
                font-size: 40px;
                line-height: inherit;
            }
        }

        .order_icons {
            display: inline-grid;
        }

        .centered {
            text-align: center;
        }

        #completed_notes {
            display: inline-flex;
            width: 100%;
            justify-content: center;

            img {
                padding-top: 0.5em;
            }
        }

        #carousel {
            position: relative;
            display: grid;
        }

        form {
            width: 65%;
            background-color: white;
            border-radius: 7px;
            grid-area: 1 / 1 / 2 / 2;
            position: relative;

            .checklist {
                margin: 0 50px;

                div.item {
                    padding: 0.35em 0;
                    display: flex;
                    justify-content: space-between;
                    border-bottom: 2px solid var(--rl-blue);

                    div.room_name_details {
                        display: flex;
                        justify-content: space-between;
                    }

                    div.additional {
                        display: flex;
                        align-items: center;
                    }

                    label {
                        cursor: pointer;
                    }

                    div.checkbox {
                        display: flex;
                        align-items: center;
                    }
                }

                & div.item div.checkbox, & div.item div.additional {
                    align-items: start;
                }

                & div.item div.checkbox, & div.item div.checkbox div.room_labels {
                    width: 100%;
                }
            }

            &.current {
                .card_header {
                    float: none;
                    writing-mode: horizontal-tb;
                    text-transform: none;
                    letter-spacing: normal;

                    h2 {
                        height: fit-content;
                        font-size: 26px;
                        line-height: inherit;
                    }
                }

                .checklist {
                    margin: 0;
                }
            }

            &.finished .card_header {
                float: left;
                transform: rotate(-180deg);
                margin-left: 0;
                margin-right: 10px;
            }
        }

        textarea {
            resize: none;
            width: 100%;
        }

        input[type=number] {
            font-size: 24px;
            line-height: inherit;
            width: 1.5em;
            text-align: center;
        }
    }
}

/* Checkboxes */
[type=checkbox] {
    width: 2rem;
    height: 2rem;
    color: var(--rl-orange);
    vertical-align: middle;
    -webkit-appearance: none;
    border: 0;
    outline: 0;
    flex-grow: 0;
    border-radius: 50%;
    background: #FFFFFF none;
    transition: background 300ms;
    cursor: pointer;
    padding: 0;
    -webkit-transform: scale(1);
    margin-right: 1em;
}

[type=checkbox]::before {
    content: "";
    color: transparent;
    display: block;
    width: inherit;
    height: inherit;
    border-radius: inherit;
    border: 0;
    background-color: transparent;
    background-size: contain;
    box-shadow: inset 0 0 0 1px grey;
}

[type=checkbox]:checked {
    background-color: currentcolor;
}

[type=checkbox]:checked::before {
    box-shadow: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='4 5 16 15'%3E %3Cpath d='M15.88 8.29L10 14.17l-1.88-1.88a.996.996 0 1 0-1.41 1.41l2.59 2.59c.39.39 1.02.39 1.41 0L17.3 9.7a.996.996 0 0 0 0-1.41c-.39-.39-1.03-.39-1.42 0z' fill='%23fff'/%3E %3C/svg%3E");
}

[type=checkbox]:disabled {
    background-color: #CCD3D8;
    opacity: 0.84;
    cursor: not-allowed;
}

[type=checkbox]::-ms-check {
    content: "";
    color: transparent;
    display: block;
    width: inherit;
    height: inherit;
    border-radius: inherit;
    border: 0;
    background-color: transparent;
    background-size: contain;
    box-shadow: inset 0 0 0 1px grey;
}

[type=checkbox]:checked::-ms-check {
    box-shadow: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='4 5 16 15'%3E %3Cpath d='M15.88 8.29L10 14.17l-1.88-1.88a.996.996 0 1 0-1.41 1.41l2.59 2.59c.39.39 1.02.39 1.41 0L17.3 9.7a.996.996 0 0 0 0-1.41c-.39-.39-1.03-.39-1.42 0z' fill='%23fff'/%3E %3C/svg%3E");
}

.filters {
    float: right;
    padding-bottom: 10px;

    [type=text] {
        font-size: 14px;
    }
}

/* Tag Checkboxes */
input[type="checkbox"].tags {
    display: none;
}

input[type="checkbox"].tags+label {
    display: block;
    text-align: center;
    border: 2px solid var(--rl-blue);
    border-radius: 5px;
    margin-bottom: 10px;
    cursor: pointer;
}

input[type="checkbox"].tags:checked+label  {
    background: var(--rl-blue);
    color: white;
}

/* Radio (Yes/No's) */
input[type="radio"] {
    display: none;
}

input[type="radio"]:checked+label  {
    background: var(--rl-blue);
    color: white;

    &.no {
        background-color: var(--rl-red);
    }
}

input[type="radio"]+label {
    display: block;
    text-align: center;
    border: 2px solid var(--rl-blue);
    border-radius: 5px;
    margin-bottom: 10px;
    cursor: pointer;
    width: 3em;

    &.no {
        border: 2px solid var(--rl-red);
    }
}

/* Scroll Bars */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: var(--rl-blue);
    border-radius: 10px;
}

input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

#cleaning_delay_reason_div {
    padding-bottom: 20px;
}

#cboxContent {
    border-radius: 10px;
}

input, select {
    border: 2px solid var(--rl-blue);
}

#search_box {
    display: flex;

    h3 {
        font-size: 28px;
    }

    a {
        display: block;
        padding: 10px 0;
    }

    input {
        margin-left: 0.5em;
    }
}