/* --

Zipporah Ltd.

- This CSS file controls the Zipporah Design System.
- Do not edit this file without authorisation.

-- */

/* -- Zip Index -- */

:root {
    --zip-primary-color: #009ace;
    --zip-secondary-color: #005c7c;
    --zip-success-color: #00874f;
    --zip-highlight-color: #C54516;
    --zip-danger-color: #B00020;
    --zip-grey: #37474f;
    --zip-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 2px 2px rgba(0, 0, 0, 0.15), 0 4px 4px rgba(0, 0, 0, 0.15);
    --zip-box-shadow-2: 0 1px 1px rgba(0, 0, 0, 0.15), 0 2px 2px rgba(0, 0, 0, 0.15), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.15), 0 16px 16px rgba(0, 0, 0, 0.15);
    --zip-space-unit: 2em;
    --zip-space-unit-minus: -2em;
}

html {
    font-size: 100%;
    margin: 0;
    min-height: 100%;
    padding: 0;
}

body {
    margin: 0;
    overflow: auto;
    overflow-y: scroll;
}

*,
*::before,
*::after {
    -moz-box-sizing: inherit;
    -moz-osx-font-smoothing: grayscale;
    -webkit-box-sizing: inherit;
    -webkit-font-smoothing: antialiased;
    box-sizing: inherit;
    font-kerning: auto;
    text-rendering: optimizeLegibility;
}

/* -- Zip Accessibility -- */

a:focus,
input:focus,
select:focus,
textarea:focus,
button:focus,
.select2-container *:focus {
    outline: solid 2px;
    outline-color: var(--zip-primary-color);
}

.zip-skip-to-content-link {
    position: fixed;
    left: -9999px;
    top: -9999px;
    display: block;
    background-color: white;
    padding: .5em;
    line-height: 1;
}

    .zip-skip-to-content-link:hover,
    .zip-skip-to-content-link:focus {
        left: 0;
        top: 0;
        z-index: 9999;
    }

/* -- Zip Animations -- */

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 100%;
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        margin-top: -20px;
    }

    100% {
        opacity: 100%;
        margin-top: 0;
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        transform: translateX(4rem);
    }

    100% {
        opacity: 100%;
        transform: translateX(0);
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        margin-top: 20px;
    }

    100% {
        opacity: 100%;
        margin-top: 0;
    }
}

@keyframes zipMenu {
    0% {
        opacity: 0;
        transform: translateX(50%);
    }

    100% {
        opacity: 100%;
        transform: translateX(0);
    }
}

.zip-animate-fadeIn {
    animation: fadeIn 0.5s ease;
}

.zip-animate-fadeInDown {
    animation: fadeInDown 0.5s ease;
}

/* -- Zip Typography -- */

.zip-content {
    font-size: 16px;
}

@media(max-width:650px) {
    .zip-content {
        font-size: 13px;
    }
}

.zip-content h1,
.zip-content h2,
.zip-content h3,
.zip-content h4,
.zip-content h5,
.zip-content h6,
.zip-content p {
    color: inherit;
    display: block;
    hyphens: auto;
    margin: 0 0 .8em;
    overflow-wrap: break-word;
    padding: 0;
    word-wrap: break-word;
}

.zip-content h1,
.zip-content .h1 {
    font-size: 2.5em;
    margin-bottom: .75em;
}

.zip-content h2,
.zip-content .h2 {
    font-size: 1.75em;
    margin-bottom: 1em;
}

.zip-content h3,
.zip-content .h3 {
    font-size: 1.325em;
    margin-bottom: 1em;
}

.zip-content h4,
.zip-content .h4 {
    font-size: 1.1em;
    margin-bottom: 1em;
}

.zip-content p {
    font-size: 1em;
    margin-bottom: 1.5em;
}

@media(max-width:768px) {
    .zip-content h1,
    .zip-content .h1 {
        font-size: 2em;
    }

    .zip-content h2,
    .zip-content .h2 {
        font-size: 1.325em;
    }

    .zip-content h3,
    .zip-content .h3 {
        font-size: 1.1em;
    }
}

.zip-text-left {
    text-align: left;
}

.zip-text-center {
    text-align: center;
}

.zip-text-right {
    text-align: right;
}

.zip-content .zip-text-bold {
    font-weight: bold;
}

.zip-content .zip-text-small {
    font-size: small;
}

.zip-content .zip-text-xsmall {
    font-size: x-small;
}

.zip-content .zip-text-uppercase {
    text-transform: uppercase;
}

.zip-text-danger {
    color: #B00020;
    color: var(--zip-danger-color);
}

.zip-text-success {
    color: var(--zip-success-color);
    color: var(--zip-success-color);
}

.zip-text-highlight {
    color: #ff4e00;
    color: var(--zip-highlight-color);
}

/* -- Zip Accordion -- */

.zip-content .zip-accordion {
    margin: 0;
    margin-bottom: 2em;
    margin-bottom: var(--zip-space-unit);
}

.zip-content .zip-accordion-toggle {
    border: solid 1px #bbb;
    display: block;
    padding: 1.5em;
    font-weight: 600;
    margin-bottom: 12px;
}

    .zip-content .zip-accordion-toggle:hover {
        background-color: rgba(0, 0, 0, 0.1);
    }

    .zip-content .zip-accordion-toggle::after {
        content: '\f054';
        display: inline-block;
        font-family: 'Font Awesome 5 Free';
        font-weight: 600;
        padding-left: 12px;
    }

    .zip-content .zip-accordion-toggle.active::after {
        content: '\f078';
    }

.zip-content .zip-accordion-panel {
    animation: fadeIn 0.5s ease;
    border: solid 1px #bbb;
    display: none;
    padding: 1.5em;
    margin: -13px 0 12px;
}

    .zip-content .zip-accordion-panel.active {
        display: block;
    }

    .zip-content .zip-accordion-panel > *:last-child,
    .zip-content .zip-accordion-panel > *:last-child::after {
        margin-bottom: 0;
    }

/* -- Zip Back To Top -- */

.zip-back-to-top {
    align-items: center;
    background: #ddd;
    bottom: 24px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    font-size: 1.2em;
    height: 48px;
    justify-content: center;
    position: fixed;
    right: 24px;
    width: 48px;
}

/* -- Zip Buttons -- */

a.zip-btn,
button.zip-btn,
input[type="submit"].zip-btn,
input[type="button"].zip-btn {
    -moz-appearance: none;
    -webkit-appearance: none;
    align-items: center;
    border-radius: 2px;
    border: none;
    cursor: pointer;
    display: inline-flex;
    float: none;
    font-family: inherit;
    font-size: .9em;
    height: auto;
    justify-content: center;
    letter-spacing: 0.03em;
    margin: 0 1em 1em 0;
    margin-bottom: 2em;
    margin-bottom: var(--zip-space-unit);
    min-width: 6em;
    padding: .8em 1.6em;
    text-align: center;
    text-decoration: none;
    transition: 0.2s ease;
    vertical-align: middle;
}

@media all and (-ms-high-contrast:none) {
    *.zip-btn {
        display: inline-block;
        /* IE Fix */
    }
}

*.zip-btn:focus,
*.zip-btn:hover {
    z-index: 100;
}

*.zip-btn.zip-btn-default {
    background: #ddd;
    color: #222;
}

    *.zip-btn.zip-btn-default:hover,
    *.zip-btn.zip-btn-default:focus {
        background: #ccc;
    }

*.zip-btn.zip-btn-ghost {
    background: rgba(0, 0, 0, 0.05);
    color: inherit;
}

    *.zip-btn.zip-btn-ghost:hover,
    *.zip-btn.zip-btn-ghost:focus {
        background-color: #ccc;
        color: inherit;
    }

*.zip-btn.zip-btn-disabled {
    box-shadow: none !important;
    opacity: 0.5 !important;
}

*.zip-btn.zip-btn-primary {
    background-color: #666666;
    background-color: var(--zip-primary-color);
    color: white;
    font-weight: 600;
    transition: all 0.3s cubic-bezier(.25, .8, .25, 1);
}

    *.zip-btn.zip-btn-primary:hover,
    *.zip-btn.zip-btn-primary:focus {
        background-color: #444444;
        background-color: var(--zip-secondary-color);
        box-shadow: 0 7px 14px rgba(0, 0, 0, 0.25), 0 5px 5px rgba(0, 0, 0, 0.22);
        box-shadow: var(--zip-box-shadow-2);
    }

*.zip-btn.zip-btn-text {
    background: transparent !important;
    padding: 0 !important;
    color: inherit;
    color: var(--zip-primary-color);
    text-decoration: underline !important;
    min-width: 0 !important;
}

    *.zip-btn.zip-btn-text.zip-btn-text-cancel {
        opacity: 0.5;
    }

        *.zip-btn.zip-btn-text.zip-btn-text-cancel:hover,
        *.zip-btn.zip-btn-text.zip-btn-text-cancel:focus {
            opacity: 1.0;
        }

*.zip-btn.zip-btn-danger {
    background-color: #B00020;
    background-color: var(--zip-danger-color);
    color: white;
}

    *.zip-btn.zip-btn-danger:hover,
    *.zip-btn.zip-btn-danger:focus {
        box-shadow: 0 7px 14px rgba(0, 0, 0, 0.25), 0 5px 5px rgba(0, 0, 0, 0.22);
        box-shadow: var(--zip-box-shadow-2);
    }

    *.zip-btn.zip-btn-danger*.zip-btn-text,
    *.zip-btn.zip-btn-danger*.zip-btn-text {
        background-color: transparent;
        border: none;
        color: #B00020;
        color: var(--zip-danger-color);
    }

        *.zip-btn.zip-btn-danger*.zip-btn-text:hover,
        *.zip-btn.zip-btn-danger*.zip-btn-text:focus {
            background-color: transparent;
            box-shadow: none;
            color: #B00020;
            color: var(--zip-danger-color);
        }

*.zip-btn.zip-btn-success {
    background-color: var(--zip-success-color);
    background-color: var(--zip-success-color);
    color: #ffffff;
}

    *.zip-btn.zip-btn-success:hover,
    *.zip-btn.zip-btn-success:focus {
        box-shadow: 0 7px 14px rgba(0, 0, 0, 0.25), 0 5px 5px rgba(0, 0, 0, 0.22);
        box-shadow: var(--zip-box-shadow-2);
    }

*.zip-btn.zip-btn-disabled {
    color: rgba(0, 0, 0, 0.4);
    cursor: initial;
}

*.zip-btn.zip-btn-circle {
    border-radius: 100px;
    height: 3em;
    padding: 0;
    width: 3em;
    min-width: 0;
}

*.zip-btn.zip-btn-full-width {
    width: 100%;
    margin-right: 0;
}

*.zip-btn.zip-btn-large {
    font-size: 1.1em;
}

*.zip-btn.zip-btn-small {
    font-size: .8em;
}

*.zip-btn > .fas {
    margin-right: .6em;
}

*.zip-btn-circle > .fas {
    margin: 0 !important;
}

.zip-content *.zip-btn-counter {
    background: linear-gradient(to left, #37474f 50%, #fff 50%);
    background: linear-gradient(to left, var(--zip-primary-color) 50%, #fff 50%);
    background-position: left bottom;
    background-size: 300% 100%;
    border: solid 1px #37474f;
    color: #37474f;
    border-color: var(--zip-primary-color);
    color: var(--zip-primary-color);
    font-size: 1em;
    font-weight: 600;
    margin: 0 0 2em;
    padding: 1em 4em 1em 1em;
    position: relative;
    transition: 0.5s ease;
}

    .zip-content *.zip-btn-counter:hover,
    .zip-content *.zip-btn-counter:focus {
        background-position: right bottom;
        color: #fff;
        transition: 0.5s ease;
    }

    .zip-content *.zip-btn-counter i.fas {
    }

    .zip-content *.zip-btn-counter .zip-btn-counter-count {
        align-items: center;
        background-color: #37474f;
        background-color: var(--zip-primary-color);
        bottom: 0;
        color: #fff;
        display: flex;
        justify-content: center;
        line-height: 1em;
        position: absolute;
        right: 0;
        top: 0;
        width: 3em;
    }

    .zip-content *.zip-btn-counter:hover .zip-btn-counter-count,
    .zip-content *.zip-btn-counter:focus .zip-btn-counter-count {
        background-color: rgba(0,0,0,0.2);
        transition: 0.5s ease;
    }

@media(max-width: 400px) {
    *.zip-btn {
        margin: 0 auto 1em;
    }
}

/* -- Zip Calendars -- */

body.zip-calendar {
    height: 100vh;
    overflow: hidden;
    width: 100%;
    font-size: 14px;
}

    body.zip-calendar .zip-calendar-wrapper {
        display: flex;
        flex-flow: row nowrap;
        height: 100%;
        overflow: hidden;
    }

@keyframes zipCalendarSidebar {
    0% {
        opacity: 0;
        transform: translateX(-360px);
    }

    100% {
        opacity: 100%;
        transform: translateX(0);
    }
}

body.zip-calendar .zip-calendar-wrapper > .zip-calendar-sidebar {
    animation: zipCalendarSidebar 0.25s;
    background-color: #37474f;
    background-color: var(--zip-grey);
    color: white;
    flex-grow: 1;
    flex-shrink: 0;
    height: 100%;
    overflow: auto;
    width: 360px;
}

body.zip-calendar .zip-calendar-wrapper > .zip-calendar-body {
    flex-grow: 1;
    flex-shrink: 0;
    height: 100%;
    overflow: auto;
    padding: 2em;
    position: relative;
    width: calc(100% - 360px);
}

/* Calendar Sidebar */

body.zip-calendar .zip-calendar-wrapper > .zip-calendar-sidebar.hidden {
    visibility: hidden;
}

body.zip-calendar .zip-calendar-wrapper > .zip-calendar-sidebar::after {
    display: block;
    content: '\00a9 \00a0 Zipporah Ltd.';
    font-size: .85em;
    opacity: 0.4;
    padding: 1.5em;
}

body.zip-calendar .zip-calendar-wrapper > .zip-calendar-sidebar label {
    font-weight: 600;
}

body.zip-calendar .zip-calendar-wrapper > .zip-calendar-sidebar select.zip-select,
body.zip-calendar .zip-calendar-wrapper > .zip-calendar-sidebar input.zip-input {
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
    border: none;
    width: 100%;
    padding: 8px;
}

    body.zip-calendar .zip-calendar-wrapper > .zip-calendar-sidebar select.zip-select option {
        color: #222;
    }

body.zip-calendar .zip-calendar-wrapper > .zip-calendar-sidebar > section {
    padding: 1.5em;
    border-bottom: solid 1px rgba(0, 0, 0, 0.1);
}

    body.zip-calendar .zip-calendar-wrapper > .zip-calendar-sidebar > section.zip-dropdown > .zip-dropdown-toggle:not(.active) {
        margin: 0;
    }

    body.zip-calendar .zip-calendar-wrapper > .zip-calendar-sidebar > section > *:last-child {
        margin-bottom: 0;
    }

body.zip-calendar .zip-calendar-wrapper > .zip-calendar-sidebar label.zip-label.zip-label-checkbox {
    font-weight: normal !important;
}

.zip-calendar-sidebar section.zip-calendar-resources select.zip-select {
    margin-bottom: .75em;
}

.zip-calendar-sidebar nav ul {
    margin: 0;
    padding: 0;
}

    .zip-calendar-sidebar nav ul > li {
        padding: .75em 1.5em;
        margin: 0 -1.5em;
        opacity: 0.75;
    }

        .zip-calendar-sidebar nav ul > li:hover {
            opacity: 1.0;
            background-color: rgba(255, 255, 255, 0.1);
            transition: 0.2s ease;
        }

.zip-calendar-sidebar section.zip-calendar-resources li.zip-dropdown.active {
    opacity: 1.0;
    background-color: rgba(255, 255, 255, 0.1);
}

    .zip-calendar-sidebar section.zip-calendar-resources li.zip-dropdown.active + li.zip-dropdown.active {
        border-top: solid 1px rgba(0, 0, 0, 0.15);
    }

.zip-calendar-sidebar section.zip-calendar-resources .zip-dropdown-toggle:hover {
    opacity: 1.0;
    color: #fff;
}

.zip-calendar-sidebar section.zip-calendar-resources .zip-dropdown-toggle.active {
    margin-bottom: .75em;
}

.zip-calendar-sidebar section.zip-calendar-resources .zip-dropdown .zip-checkbox-list {
    margin-top: .75em;
    margin-bottom: .75em;
}

.zip-calendar-sidebar .zip-sidebar-toggle {
    display: inline-block;
    opacity: .5;
}

    .zip-calendar-sidebar .zip-sidebar-toggle:hover {
        opacity: 1.0;
    }

/* Calendar Body */

.zip-calendar-body .zip-navigation {
    padding-top: 0;
    padding-bottom: 2em;
    margin-bottom: 2em;
}

    .zip-calendar-body .zip-navigation .zip-container {
        max-width: none;
        padding: 0;
    }

    .zip-calendar-body .zip-navigation .zip-menu .zip-container {
        max-width: 1200px;
        padding: 0 2em;
    }

.zip-calendar-body .zip-sidebar-toggle {
    display: none;
    background-color: #37474f;
    background-color: var(--zip-grey);
    border-radius: 0px 4px 4px 0px;
    box-shadow: var(--zip-box-shadow-2);
    color: white !important;
    left: 0;
    padding: 1em;
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999;
}

    .zip-calendar-body .zip-sidebar-toggle:hover {
        box-shadow: var(--zip-box-shadow);
    }

    .zip-calendar-body .zip-sidebar-toggle.active {
        display: block;
    }

/* -- Zip Calendar - Full Calendar Customisation -- */

.zip-calendar .fc .fc-view-container {
    overflow: auto;
}

.zip-calendar .fc .fc-time-grid-container,
.zip-calendar .fc-time-grid {
    height: auto !important;
}

.zip-calendar .fc .fc-scroller {
    height: 100% !important;
}

/* FC Buttons */

.zip-calendar .fc .btn {
    border-radius: 3px;
    border: none;
    cursor: pointer;
    height: auto;
    padding: .5em 1em;
}

    .zip-calendar .fc .btn:focus {
        outline: none;
    }

    .zip-calendar .fc .btn.btn-primary {
        background-color: #009ace;
        color: white;
    }

        .zip-calendar .fc .btn.btn-primary:hover,
        .zip-calendar .fc .btn.btn-primary:focus,
        .zip-calendar .fc .btn.btn-primary.active {
            background-color: #005c7c;
        }

        .zip-calendar .fc .btn.btn-primary:hover {
        }

.zip-calendar .fc .btn-group .btn:not(:first-child) {
    border-radius: 0;
    border-left: solid 1px rgba(0, 0, 0, 0.1);
}

.zip-calendar .fc .btn-group .btn:first-child {
    border-radius: 3px 0 0 3px;
}

.zip-calendar .fc .btn-group .btn:last-child {
    border-radius: 0 3px 3px 0;
}

/* FC Toolbar */

.zip-calendar .fc .fc-toolbar.fc-header-toolbar {
    align-items: center;
    display: flex;
    flex-flow: row-reverse wrap;
    justify-content: space-between;
    margin-bottom: 2em;
    margin-left: -1em;
    margin-top: -1em;
}

    .zip-calendar .fc .fc-toolbar.fc-header-toolbar > .fc-clear {
        display: none;
    }

    .zip-calendar .fc .fc-toolbar.fc-header-toolbar > .fc-left,
    .zip-calendar .fc .fc-toolbar.fc-header-toolbar > .fc-center,
    .zip-calendar .fc .fc-toolbar.fc-header-toolbar > .fc-right {
        float: none;
        margin: 0;
        padding-left: 1em;
        padding-top: 1em;
    }

    .zip-calendar .fc .fc-toolbar.fc-header-toolbar > .fc-left {
        order: 3;
    }

    .zip-calendar .fc .fc-toolbar.fc-header-toolbar > .fc-center {
        align-items: center;
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        order: 2;
    }

    .zip-calendar .fc .fc-toolbar.fc-header-toolbar > .fc-right {
        order: 1;
    }

    .zip-calendar .fc .fc-toolbar.fc-header-toolbar > .fc-center > .btn {
        margin: 0;
    }

    .zip-calendar .fc .fc-toolbar.fc-header-toolbar > .fc-center > h2 {
        border: none;
        font-weight: normal;
        margin: 0;
        padding: 0 1em;
    }

@media(max-width: 768px) {
    .zip-calendar .fc .fc-toolbar.fc-header-toolbar {
        flex-direction: row;
    }

        .zip-calendar .fc .fc-toolbar.fc-header-toolbar > .fc-left {
            order: 2;
        }

        .zip-calendar .fc .fc-toolbar.fc-header-toolbar > .fc-center {
            order: 1;
        }

        .zip-calendar .fc .fc-toolbar.fc-header-toolbar > .fc-right {
            order: 3;
        }
}

/* FC Bookings Calendar */

.zip-calendar .fc th,
.zip-calendar .fc td {
    border-color: rgba(0, 0, 0, 0.2);
}

.zip-calendar .fc .fc-time-grid .fc-slats .fc-minor td {
    border-top-style: solid;
    border-color: rgba(0, 0, 0, 0.1);
}

.zip-calendar .fc .fc-time-grid .fc-slats td {
    font-size: .9em;
    padding: 4px;
}

.zip-calendar .fc .fc-time-grid .fc-slats tr > td:not(:first-child) {
    border-left: none;
}

.zip-calendar .fc .fc-slats td.fc-axis,
.zip-calendar .fc td.fc-axis,
.zip-calendar .fc th {
    /* Left column */
    border-right: none;
    color: #666;
    font-size: .8em;
    padding-left: 8px;
    padding-right: 8px;
    text-transform: capitalize;
}

.zip-calendar .fc th {
    color: #444;
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: .9em;
    font-weight: 600;
}

.zip-calendar .fc hr.fc-divider {
    border: none;
    border-top: solid 1px rgba(0, 0, 0, 0.2);
    margin: 0;
    padding: 0;
}

.zip-calendar .alert-info {
    z-index: -100;
}

/* FC Events */

.fc-event:hover,
.fc-event:focus,
.fc-event:active {
    cursor: pointer;
}

.zip-calendar .fc-ltr .fc-time-grid .fc-event-container {
    margin: 0;
}

.zip-calendar .fc-timeline-event {
    padding: 0;
    height: auto !important;
    box-sizing: border-box;
}

.zip-calendar .fc-time-grid-event .fc-content {
    padding: 12px;
}

.zip-calendar .fc .fc-event {
    background-color: var(--zip-success-color);
    border-radius: 0;
    border: solid 1px rgba(0, 0, 0, 0.1);
    font-size: 1em;
}

    .zip-calendar .fc .fc-event:hover {
    }

    .zip-calendar .fc .fc-event .fc-bg {
        display: none;
    }

    .zip-calendar .fc .fc-event .fc-time,
    .zip-calendar .fc .fc-event .fc-title {
        font-size: 1em;
        margin: 0 0 .5em;
    }

    .zip-calendar .fc .fc-event .fc-title {
        font-weight: 600;
    }

.zip-calendar #external-events {
    margin-bottom: 2em;
}

    .zip-calendar #external-events .fc-event.ui-draggable {
        border: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background-color: #ddd;
        color: #222;
        cursor: move;
        width: 2.5em;
        height: 2.5em;
        font-size: 1.25em;
    }

        .zip-calendar #external-events .fc-event.ui-draggable:hover {
            box-shadow: var(--zip-box-shadow-2);
            background-color: #ccc;
            transition: 0.2s ease;
        }

/* FC popover tooltip */

.zip-content .popover {
    background-color: white;
    font-size: .9em;
    padding: 2em;
    z-index: 1000;
}

/* -- Zip Cards -- */

.zip-card {
    background-color: #fff;
    padding: 0;
    padding-bottom: 0;
    border: solid 1px rgba(0, 0, 0, 0.1);
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
    margin: 0;
    margin-bottom: 2em;
    margin-bottom: var(--zip-space-unit);
}

.zip-card-header,
.zip-card-body,
.zip-card-footer {
    padding: 24px;
}

    .zip-card-header,
    .zip-card-header * {
        margin: 0;
        font-size: 1.1em;
        font-weight: 600;
    }

.zip-card-image {
    padding: 50% 0 0;
    background-color: #37474f;
    background-color: var(--zip-grey);
    background-size: cover;
    background-position: center;
    position: relative;
}

.zip-card > .zip-card-body:only-child {
    border: none !important;
}

.zip-card-body > *:last-child {
    margin-bottom: 0;
}

.zip-card-body > :only-child > *:last-child {
    margin-bottom: 0;
}

.zip-card-footer *.zip-btn {
    margin-bottom: 0 !important;
}

.zip-card-header + .zip-card-body {
    border-top: solid 1px rgba(0, 0, 0, 0.1);
}

.zip-card-body + .zip-card-footer {
    border-top: solid 1px rgba(0, 0, 0, 0.1);
}

/* -- Zip Checkbox & Radio controls -- */

label.zip-label.zip-label-checkbox,
label.zip-label.zip-label-radio {
    display: block;
    cursor: pointer;
    font-weight: 600 !important;
    padding-left: 1.75em;
    position: relative;
    margin: 0;
    margin-bottom: 1rem;
    transition: 0.2s ease;
}

    label.zip-label.zip-label-checkbox > input[type="checkbox"],
    label.zip-label.zip-label-radio > input[type="radio"] {
        left: 0;
        margin: 0;
        position: absolute;
        top: .3em;
    }

    label.zip-label.zip-label-checkbox.zip-label-checkbox-inline,
    label.zip-label.zip-label-radio.zip-label-radio-inline {
        display: inline-block;
        margin-right: 1em;
    }

    label.zip-label.zip-label-checkbox.zip-label-checkbox-border,
    label.zip-label.zip-label-radio.zip-label-radio-border {
        padding: .6em 1.2em .6em 2.4em;
        border: solid 1px rgba(0, 0, 0, 0.2);
    }

        label.zip-label.zip-label-checkbox.zip-label-checkbox-border > input[type="checkbox"],
        label.zip-label.zip-label-radio.zip-label-radio-border > input[type="radio"] {
            left: 1em;
            margin-left: 0;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
        }

    label.zip-label.zip-label-checkbox.zip-label-checkbox-box,
    label.zip-label.zip-label-radio.zip-label-radio-box {
        padding: .6em 1.2em;
        border-radius: 4px;
        border: solid 1px rgba(0, 0, 0, 0.2);
    }

        label.zip-label.zip-label-checkbox.zip-label-checkbox-box:hover,
        label.zip-label.zip-label-radio.zip-label-radio-box:hover {
            border-color: #18FF985f;
            background-color: #18FF985f;
        }

        label.zip-label.zip-label-checkbox.zip-label-checkbox-box.checked,
        label.zip-label.zip-label-radio.zip-label-radio-box.checked {
            border: none;
            background-color: #18FF989f;
        }

        label.zip-label.zip-label-checkbox.zip-label-checkbox-box.disabled,
        label.zip-label.zip-label-radio.zip-label-radio-box.disabled {
            border: none;
            background-color: #B000205f;
        }

        label.zip-label.zip-label-checkbox.zip-label-checkbox-box > input[type="checkbox"],
        label.zip-label.zip-label-radio.zip-label-radio-box > input[type="radio"] {
            visibility: hidden;
        }

    label.zip-label.zip-label-checkbox.zip-label-checkbox-consent {
        border: solid 2px rgba(0, 0, 0, 0.2);
        padding: 2em 2em 2em 4em;
    }

        label.zip-label.zip-label-checkbox.zip-label-checkbox-consent.error {
            border-color: var(--zip-danger-color);
            color: var(--zip-danger-color);
        }

        label.zip-label.zip-label-checkbox.zip-label-checkbox-consent.checked {
            border-color: var(--zip-success-color);
            color: var(--zip-success-color);
        }

        label.zip-label.zip-label-checkbox.zip-label-checkbox-consent > input[type="checkbox"] {
            left: 2em;
            top: calc(2em + .5em);
        }

.zip-checkbox-list,
.zip-radio-list {
    margin: 0;
    margin-bottom: 2em;
    margin-bottom: var(--zip-space-unit);
}

    .zip-checkbox-list.zip-checkbox-list-inline,
    .zip-radio-list.zip-radio-list-inline {
        margin-top: -1em;
    }

    .zip-checkbox-list > label.zip-label.zip-label-checkbox,
    .zip-radio-list > label.zip-label.zip-label-radio {
        margin-bottom: 1em;
    }

        .zip-checkbox-list > label.zip-label.zip-label-checkbox:last-child,
        .zip-radio-list > label.zip-label.zip-label-radio:last-child {
            margin-bottom: 0;
        }

    .zip-checkbox-list.zip-checkbox-list-inline > label.zip-label.zip-label-checkbox,
    .zip-radio-list.zip-radio-list-inline > label.zip-label.zip-label-radio {
        display: inline-flex;
        margin-right: 1em;
        margin-top: 1em;
        margin-bottom: 0;
    }

    .zip-checkbox-list.zip-checkbox-list-group,
    .zip-radio-list.zip-radio-list-group {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-flow: row wrap;
        font-size: .9em;
        margin: 0;
        margin-bottom: 2em;
        margin-bottom: var(--zip-space-unit);
    }

        .zip-checkbox-list.zip-checkbox-list-group > label.zip-label.zip-label-checkbox,
        .zip-radio-list.zip-radio-list-group > label.zip-label.zip-label-radio {
            display: flex;
            flex: 1 0 100%;
            justify-content: center;
            align-items: center;
            padding: .8em 1.6em;
            margin: -1px 0 0;
            border: solid 1px #dddddd;
        }

            .zip-checkbox-list.zip-checkbox-list-group > label.zip-label.zip-label-checkbox:hover,
            .zip-radio-list.zip-radio-list-group > label.zip-label.zip-label-radio:hover {
                background-color: #eee;
                z-index: 1;
            }

            .zip-checkbox-list.zip-checkbox-list-group > label.zip-label.zip-label-checkbox.checked,
            .zip-radio-list.zip-radio-list-group > label.zip-label.zip-label-radio.checked {
                border-color: #37474f;
                border-color: var(--zip-grey);
                background: #37474f;
                background: var(--zip-grey);
                color: white;
                z-index: 1;
            }

            .zip-checkbox-list.zip-checkbox-list-group > label.zip-label.zip-label-checkbox > input[type="checkbox"],
            .zip-radio-list.zip-radio-list-group > label.zip-label.zip-label-radio > input[type="radio"] {
                visibility: hidden;
            }

        .zip-checkbox-list.zip-checkbox-list-group.zip-checkbox-list-group-inline,
        .zip-radio-list.zip-radio-list-group.zip-radio-list-group-inline {
            padding-left: 1px;
        }

            .zip-checkbox-list.zip-checkbox-list-group.zip-checkbox-list-group-inline > label.zip-label.zip-label-checkbox,
            .zip-radio-list.zip-radio-list-group.zip-radio-list-group-inline > label.zip-label.zip-label-radio {
                flex: 0 1 25%;
                margin: -1px 0 0 -1px;
            }

@media(max-width:768px) {
    .zip-checkbox-list.zip-checkbox-list-group.zip-checkbox-list-group-inline > label.zip-label.zip-label-checkbox,
    .zip-radio-list.zip-radio-list-group.zip-radio-list-group-inline > label.zip-label.zip-label-radio {
        flex: 0 1 50%;
    }
}

/* -- Zip Color Picker -- */

.zip-color-pick {
    padding: 1em;
    background: rgba(0, 0, 0, 0.1);
    margin-bottom: 2em;
    margin-bottom: var(--zip-space-unit);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
}

    .zip-color-pick * {
        margin: 0;
    }

    .zip-color-pick input[type="color"] {
        margin-right: 1em;
        outline: none !important;
    }

    .zip-color-pick .sp-replacer {
        padding: 0;
        border: none;
        margin-right: 1em;
    }

    .zip-color-pick .sp-preview {
        float: none;
        margin-right: 0;
    }

    .zip-color-pick .sp-dd {
        display: none;
    }

/* -- Zip Column Count -- */

.zip-col-count-2 {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
}

.zip-col-count-3 {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
}

.zip-col-count-4 {
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
}

@media(min-width:1000px) {
    .zip-col-count-2-lg {
        -moz-column-count: 2;
        -webkit-column-count: 2;
        column-count: 2;
    }

    .zip-col-count-3-lg {
        -moz-column-count: 3;
        -webkit-column-count: 3;
        column-count: 3;
    }

    .zip-col-count-4-lg {
        -moz-column-count: 4;
        -webkit-column-count: 4;
        column-count: 4;
    }
}

@media(min-width:768px) {
    .zip-col-count-2-md {
        -moz-column-count: 2;
        -webkit-column-count: 2;
        column-count: 2;
    }

    .zip-col-count-3-md {
        -moz-column-count: 3;
        -webkit-column-count: 3;
        column-count: 3;
    }

    .zip-col-count-4-md {
        -moz-column-count: 4;
        -webkit-column-count: 4;
        column-count: 4;
    }
}

@media(min-width:500px) {
    .zip-col-count-2-sm {
        -moz-column-count: 2;
        -webkit-column-count: 2;
        column-count: 2;
    }

    .zip-col-count-3-sm {
        -moz-column-count: 3;
        -webkit-column-count: 3;
        column-count: 3;
    }

    .zip-col-count-4-sm {
        -moz-column-count: 4;
        -webkit-column-count: 4;
        column-count: 4;
    }
}

/* -- Zip Container -- */

.zip-container {
    margin: auto;
    max-width: 1000px;
    width: calc(100% - 4em);
}

@media(max-width:500px) {
    .zip-container {
        width: calc(100% - 3em);
    }
}

.zip-container.wide {
    max-width: none;
}

/* -- Zip Content -- */

.zip-content {
    animation: fadeIn 0.5s ease;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    box-sizing: border-box;
    font-family: 'Open Sans', sans-serif;
    color: #222222;
    font-family: 'Open Sans';
    font-size: 15px;
    min-height: 50vh;
}

@media(max-width: 768px) {
    .zip-content {
        font-size: 15px;
    }
}

@media(max-width: 500px) {
    .zip-content {
        font-size: 16px;
    }
}

/* -- Zip Copyright -- */

span.zip-copyright {
    display: block;
    font-size: 12px;
    margin-top: 2em;
    margin-top: var(--zip-space-unit);
    opacity: 0.8;
}

/* -- Zip Datepicker -- */

.ui-datepicker td.slotsAvailabel a {
    color: #005000 !important;
    background: palegreen !important;
    border: 2px solid #005000 !important;
}

.ui-datepicker td.noSlotsAvailabel span {
    color: #600000 !important;
    background: lightpink !important;
    border: 2px solid #600000 !important;
}

/* -- Zip Display -- */

.zip-display-none,
.hidden {
    display: none !important;
}

.zip-display-hidden {
    position: absolute;
    left: -9999px;
    top: -9999px;
}

/* -- Zip Divider -- */

.zip-divider {
    border-top: dotted 1px rgba(0, 0, 0, 0.15);
    clear: both;
    margin: 1rem 0 2em;
    margin-bottom: var(--zip-space-unit);
    width: 100%;
}

/* -- Zip Dropdown -- */

.zip-dropdown .zip-dropdown-toggle {
    cursor: pointer;
}

    .zip-dropdown .zip-dropdown-toggle:hover {
        opacity: 0.5;
        transition: 0.2s ease;
    }

    .zip-dropdown .zip-dropdown-toggle::after {
        content: '\f078';
        display: inline-block;
        font-family: 'Font Awesome 5 Free';
        font-size: .9em;
        font-weight: 600;
        padding-left: 1em;
    }

    .zip-dropdown .zip-dropdown-toggle.active::after {
        content: '\f077';
    }

.zip-dropdown .zip-dropdown-menu {
    display: none;
}

    .zip-dropdown .zip-dropdown-menu.active {
        display: block;
        animation: fadeIn 0.5s ease;
    }

/* -- Zip Fieldsets -- */

fieldset.zip-fieldset {
    display: block;
    border: 0;
    margin: 0;
    min-width: 0;
    padding: 0;
}

    fieldset.zip-fieldset > legend {
        display: block;
        font-size: 1.2em;
        font-weight: bold;
        margin: 0 0 1em;
        padding: 0;
        width: 100%;
    }

@media(max-width:768px) {
    fieldset.zip-fieldset > legend {
        font-size: 1em;
    }
}

fieldset.zip-fieldset::after {
    display: block;
    content: '';
    margin-bottom: 1em;
    overflow: auto;
}

body:not(:-moz-handler-blocked) fieldset.zip-fieldset {
    display: table-cell;
}

/* -- Zip Forms -- */

.zip-content form {
    display: inline;
}

/* -- Zip Form Actions -- */

.zip-form-actions {
    display: flex;
    flex-flow: row-reverse nowrap;
    align-items: center;
    position: relative;
    margin-top: 2em;
    margin-bottom: 4em;
    padding-top: 2em;
    padding-top: var(--zip-space-unit);
    border-top: solid 1px rgba(0, 0, 0, 0.1);
}

    .zip-form-actions .zip-btn {
        margin: 0 0 0 1rem !important;
        font-size: 1em !important;
    }

    .zip-form-actions .zip-link {
        margin: 0;
        position: absolute;
        left: 0;
        top: 50%;
    }

@media(max-width: 400px) {
    .zip-form-actions {
        display: block;
        text-align: center;
    }

        .zip-form-actions .zip-btn {
            width: 100%;
            margin: 0 0 1rem 0 !important;
        }

        .zip-form-actions .zip-link {
            position: relative;
            top: 0;
        }
}

/* -- Zip Form Inputs (Including: Select2, UI Spinner) -- */

.zip-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="image"]):not([type="button"]),
.zip-content select,
.zip-content textarea,
.zip-content input.zip-input,
.zip-content select.zip-select,
.zip-content textarea.zip-textarea,
.zip-content span.ui-spinner,
.zip-content span.ui-spinner.ui-state-hover,
.zip-content .select2-selection {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff;
    border-radius: 0;
    border: solid 1px rgba(0, 0, 0, 0.2);
    color: inherit;
    cursor: pointer;
    display: inline-block;
    font-family: inherit;
    font-size: 1em;
    font-weight: 600;
    height: auto;
    margin: 0;
    margin-bottom: 2em;
    margin-bottom: var(--zip-space-unit);
    max-width: none;
    padding: .8em;
    width: 100%;
    transition: all 0.3s cubic-bezier(.25, .8, .25, 1);
}

.zip-content .select2-container {
    padding: 0 !important;
    margin-bottom: 2em;
    font-size: 1em;
}

.zip-content .select2-selection {
    background-color: transparent;
    margin-bottom: 0;
    padding: 0;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1;
    font-size: 1em;
    padding: .8em;
}

.zip-content .select2-container--default .select2-selection--single .select2-selection__arrow {
    display: none;
}

@media(max-width: 500px) {
    .zip-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="image"]),
    .zip-content select,
    .zip-content textarea,
    .zip-content input.zip-input,
    .zip-content select.zip-select,
    .zip-content textarea.zip-textarea,
    .zip-content span.ui-spinner,
    .zip-content span.ui-spinner.ui-state-hover,
    .zip-content .select2-selection {
        padding: .8em;
    }
}

.zip-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="image"]):hover,
.zip-content select:hover,
.zip-content textarea:hover,
.zip-content span.ui-spinner:hover,
.zip-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="image"]):focus,
.zip-content select:focus,
.zip-content textarea:focus,
.zip-content span.ui-spinner.ui-state-active,
.select2-container *:focus {
    border-color: rgba(0, 0, 0, 0.5);
    outline-color: #009ace;
    outline-color: var(--zip-primary-color);
}

input.zip-input,
textarea.zip-textarea {
    cursor: initial;
}

select.zip-select:not(.zip-select-multiple),
.zip-content .select2-container {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('../../Images/Shared/zip-dropdown-icon.svg');
    background-position: center right .8em;
    background-repeat: no-repeat;
    background-size: .8em;
    padding-right: 2em;
}

select::-ms-expand {
    display: none;
}

.zip-content span.ui-spinner {
    padding: 0 !important;
}

    .zip-content span.ui-spinner > input.zip-input {
        margin: 0 !important;
        border: none !important;
        outline: none !important;
    }

textarea.zip-textarea {
    overflow: auto;
    height: 150px;
}

input.zip-input.hasDatepicker {
    cursor: pointer;
    background-image: url('../../Images/Shared/zip-datepicker-icon.svg');
    background-repeat: no-repeat;
    background-size: 1em;
    background-position: center left 1em;
    padding-left: 44px;
}

select[multiple].zip-select {
    background-image: none;
    min-height: 200px;
    max-height: 350px;
    padding: 0;
    overflow: auto !important;
}

    select[multiple].zip-select option {
        padding: .75em;
        border-bottom: solid 1px rgba(0, 0, 0, 0.1);
    }

        select[multiple].zip-select option:hover {
            background-color: rgba(0, 0, 0, 0.1);
        }

@media (max-width:550px) {
    select[multiple].zip-select {
        min-height: 1px;
    }
}

.zip-input-group {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-flow: row wrap;
    align-items: stretch;
    margin: -1rem 0 2rem -1em;
    margin-bottom: var(--zip-space-unit);
}

    .zip-input-group > * {
        margin: 1rem 0 0 1rem !important;
        flex: 1 1 200px;
    }

    .zip-input-group > .zip-btn {
        flex: initial;
    }

::-webkit-input-placeholder {
    color: rgba(0, 0, 0, .5);
}

:-moz-placeholder {
    color: rgba(0, 0, 0, .5);
}

::-moz-placeholder {
    color: rgba(0, 0, 0, .5);
}

:-ms-input-placeholder {
    color: rgba(0, 0, 0, .5);
}

::-ms-input-placeholder {
    color: rgba(0, 0, 0, .5);
}

:placeholder-shown {
    color: rgba(0, 0, 0, .5);
}

/* -- Zip Form Validation -- */

.zip-content .validation-summary-errors {
    border: solid 2px #B00020;
    padding: 2em;
    margin: 0;
    margin-bottom: 2em;
    margin-bottom: var(--zip-space-unit);
}

    .zip-content .validation-summary-errors ul {
        margin: 0;
        padding: 0;
        list-style-type: decimal;
        list-style-position: inside;
    }

        .zip-content .validation-summary-errors ul > li {
            color: #B00020;
            color: var(--zip-danger-color);
            font-weight: 600;
            margin: 0 0 .5em;
        }

            .zip-content .validation-summary-errors ul > li:last-child {
                margin: 0;
            }

input.zip-input.validated,
select.zip-select.validated,
textarea.zip-textarea.validated,
input.zip-input.input-validation-error,
select.zip-select.input-validation-error,
textarea.zip-textarea.input-validation-error {
    border: solid 2px var(--zip-success-color) !important;
    background-image: url('../../Images/Shared/zip-validate-icon.svg') !important;
    background-position: left 1em center !important;
    background-repeat: no-repeat !important;
    background-size: auto 30% !important;
    padding-left: 2.5em !important;
}

input.zip-input.input-validation-error,
select.zip-select.input-validation-error,
textarea.zip-textarea.input-validation-error {
    border: solid 2px var(--zip-danger-color) !important;
    background-image: url('../../Images/Shared/zip-error-icon.svg') !important;
    outline: none !important;
}

select[multiple].zip-select.validated,
textarea.zip-textarea.validated,
select[multiple].zip-select.input-validation-error,
textarea.zip-textarea.input-validation-error {
    background-image: none !important;
}

.input-validation-error + span.field-validation-error {
    display: none;
}

label.input-validation-error {
    color: #B00020;
    font-weight: bold;
}

/* -- Zip Grid Layout -- */

.zip-grid {
    align-items: flex-start;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    max-width: none;
    padding: 0;
}

*[class*="zip-grid-row"] {
    flex-flow: row wrap;
    margin-left: -2em;
    margin-left: var(--zip-space-unit-minus);
}

.zip-grid-row-reverse {
    flex-direction: row-reverse;
}

.zip-grid-align-center {
    align-items: center;
}

*[class*="zip-grid-row"] > *[class*="zip-col"] {
    flex-grow: 1;
    flex-shrink: 0;
    margin-left: 2em;
    margin-left: var(--zip-space-unit);
}

*[class*="zip-grid-row"] > *[class*="zip-col-1"] {
    width: calc(1 * 100% / 12 - 2rem);
    width: calc(1 * 100% / 12 - var(--zip-space-unit));
}

*[class*="zip-grid-row"] > *[class*="zip-col-2"] {
    width: calc(2 * 100% / 12 - 2rem);
    width: calc(2 * 100% / 12 - var(--zip-space-unit));
}

*[class*="zip-grid-row"] > *[class*="zip-col-3"] {
    width: calc(3 * 100% / 12 - 2rem);
    width: calc(3 * 100% / 12 - var(--zip-space-unit));
}

*[class*="zip-grid-row"] > *[class*="zip-col-4"] {
    width: calc(4 * 100% / 12 - 2rem);
    width: calc(4 * 100% / 12 - var(--zip-space-unit));
}

*[class*="zip-grid-row"] > *[class*="zip-col-5"] {
    width: calc(5 * 100% / 12 - 2rem);
    width: calc(5 * 100% / 12 - var(--zip-space-unit));
}

*[class*="zip-grid-row"] > *[class*="zip-col-6"] {
    width: calc(6 * 100% / 12 - 2rem);
    width: calc(6 * 100% / 12 - var(--zip-space-unit));
}

*[class*="zip-grid-row"] > *[class*="zip-col-7"] {
    width: calc(7 * 100% / 12 - 2rem);
    width: calc(7 * 100% / 12 - var(--zip-space-unit));
}

*[class*="zip-grid-row"] > *[class*="zip-col-8"] {
    width: calc(8 * 100% / 12 - 2rem);
    width: calc(8 * 100% / 12 - var(--zip-space-unit));
}

*[class*="zip-grid-row"] > *[class*="zip-col-9"] {
    width: calc(9 * 100% / 12 - 2rem);
    width: calc(9 * 100% / 12 - var(--zip-space-unit));
}

*[class*="zip-grid-row"] > *[class*="zip-col-10"] {
    width: calc(10 * 100% / 12 - 2rem);
    width: calc(10 * 100% / 12 - var(--zip-space-unit));
}

*[class*="zip-grid-row"] > *[class*="zip-col-11"] {
    width: calc(11 * 100% / 12 - 2rem);
    width: calc(11 * 100% / 12 - var(--zip-space-unit));
}

*[class*="zip-grid-row"] > *[class*="zip-col-12"] {
    width: calc(12 * 100% / 12 - 2rem);
    width: calc(12 * 100% / 12 - var(--zip-space-unit));
}

*[class*="zip-grid-row"] > .zip-col-auto {
    flex: 1;
}

*[class*="zip-grid-row"] > *[class*="zip-col"].zip-col-sticky {
    position: sticky;
    top: 2em;
    top: var(--zip-space-unit);
}

@media(max-width:1000px) {
    *[class*="zip-grid-row"] > *[class*="-lg"] {
        width: calc(100% - 2rem);
        width: calc(100% - var(--zip-space-unit));
    }

        *[class*="zip-grid-row"] > *[class*="-lg"].zip-col-sticky {
            position: initial;
            top: initial;
        }
}

@media(max-width:768px) {
    *[class*="zip-grid-row"] > *[class*="-md"] {
        width: calc(100% - 2rem);
        width: calc(100% - var(--zip-space-unit));
    }

        *[class*="zip-grid-row"] > *[class*="-md"].zip-col-sticky {
            position: initial;
            top: initial;
        }
}

@media(max-width:500px) {
    *[class*="zip-grid-row"] > *[class*="-sm"] {
        width: calc(100% - 2rem);
        width: calc(100% - var(--zip-space-unit));
    }

        *[class*="zip-grid-row"] > *[class*="-sm"].zip-col-sticky {
            position: initial;
            top: initial;
        }
}

/* -- Zip Image Gallery -- */

ul.zip-image-gallery {
    list-style: none;
    margin: -4px 0 0 -4px;
    padding: 0;
    display: flex;
    flex-flow: row wrap;
}

    ul.zip-image-gallery > li {
        position: relative;
        width: calc(20% - 4px);
        flex-grow: 0;
        flex-shrink: 0;
        margin: 4px 0 0 4px;
    }

        ul.zip-image-gallery > li > a {
            display: block;
            padding-top: 100%;
            background-size: cover;
            background-position: center;
        }

        ul.zip-image-gallery > li:first-child {
            width: calc(100% - 4px);
        }

            ul.zip-image-gallery > li:first-child > a {
                padding-top: 50%;
            }

/* -- Zip Labels -- */

.zip-label {
    display: block;
    font-size: 1em;
    font-weight: 400;
    letter-spacing: .01em;
    margin: 0 0 .4em 0;
    padding: 0;
}

span.zip-label {
    font-weight: 600;
}

.zip-label-inline {
    display: inline-block;
    margin-right: .25em;
}

@media(max-width:768px) {
    .zip-label {
        font-size: .9em;
    }
}

/* -- Zip Links -- */

.zip-content a {
    border: none;
    color: inherit;
    cursor: pointer;
    transition: 0.1s;
}

    .zip-content a:not(.zip-link) {
        text-decoration: none;
    }

a.zip-link {
    color: inherit;
    color: var(--zip-primary-color);
    text-decoration: underline;
}

input[type="submit"].zip-link,
button.zip-link {
    margin: 0;
    padding: 0;
    border: none;
    background-color: transparent;
}

.zip-link > .fas {
    margin-right: .6em;
}

.zip-link.zip-link-danger {
    color: #B00020;
    color: var(--zip-danger-color);
}

.zip-link.zip-link-cancel {
    color: inherit;
    opacity: 0.5;
}

    .zip-link.zip-link-cancel:hover {
        opacity: 1.0;
    }

.zip-link.zip-link-back {
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1em;
    display: inline-block;
    margin: 0 0 1em;
    color: #aaa;
}

    .zip-link.zip-link-back:hover {
        color: var(--zip-primary-color);
    }

    .zip-link.zip-link-back::before {
        content: '\f053';
        display: inline-block;
        font-family: 'Font Awesome 5 Free';
        font-size: .75em;
        font-weight: 600;
        padding-right: 1em;
    }

.zip-content p > a {
    color: var(--zip-primary-color);
    text-decoration: underline;
}

/* -- Zip Lists -- */

ul.zip-list {
    list-style: none;
    list-style-position: inside;
    margin: -2em 0 0 -2em;
    margin-bottom: 2rem;
    margin-bottom: var(--zip-space-unit);
    padding: 0;
}

    ul.zip-list > li {
        display: block;
        margin: 0;
        padding: 2em 0 0 2em;
    }

        ul.zip-list > li *:last-child,
        ul.zip-list > li *:only-child {
            margin: 0 !important;
        }

ul.zip-list-inline > li {
    display: inline-block;
}

ul.zip-list-bullets {
    list-style-type: disc;
}

ul.zip-list-numbers {
    list-style-type: decimal;
}

    ul.zip-list-bullets > li,
    ul.zip-list-numbers > li {
        display: list-item;
    }

ul.zip-list-group {
    margin: 1px 0 2rem 0;
    margin-bottom: var(--zip-space-unit);
}

    ul.zip-list-group > li {
        margin-top: -1px;
        padding: 1em;
        border: solid 1px #ccc;
    }

ul.zip-list-group-inline {
    margin-top: 0;
    margin-left: 1px;
    display: flex;
    flex-flow: row wrap;
}

    ul.zip-list-group-inline > li {
        margin-left: -1px;
    }

ul.zip-list-tags {
    margin: 0;
    margin-bottom: 2rem;
    margin-bottom: var(--zip-space-unit);
}

    ul.zip-list-tags > li {
        align-items: center;
        background-color: #eee;
        border-radius: 4px;
        display: inline-flex;
        flex-flow: row nowrap;
        margin-right: .75em;
        padding: .6em 1em;
        font-size: .8em;
    }

    ul.zip-list-tags *.zip-btn {
        padding: 0;
        margin: 0;
        border: none;
        color: inherit;
        background: transparent !important;
    }

ul.zip-list-flex {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-between;
}

    ul.zip-list-flex > li {
        white-space: nowrap;
    }

/* -- Zip Loading Icon -- */

.zip-loading-icon {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 10000;
    background-color: rgba(255, 255, 255, 0.8);
}

    .zip-loading-icon::after {
        display: block;
        content: '';
        background: url('../../Images/Shared/z-loading-icon.gif') no-repeat;
        background-size: 100%;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        top: 50%;
        transform: translateY(-50%);
        width: 5em;
        height: 5em;
    }

/* -- Zip Media -- */

.zip-content img,
.zip-content video,
.zip-content audio {
    line-height: 0;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

/* -- Zip Menu -- */

nav.zip-menu {
    animation: zipMenu .6s ease;
    background-color: #37474f;
    background-color: var(--zip-grey);
    bottom: 0;
    color: white;
    display: none;
    max-width: 800px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 3rem 4em;
    position: fixed;
    right: 0;
    top: 0;
    width: 90%;
    z-index: 999999;
    box-shadow: var(--zip-box-shadow-2);
}

    nav.zip-menu .zip-menu-close {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.3em;
        width: 2em;
        height: 2em;
        background-color: rgba(255, 255, 255, 0.1);
        margin-bottom: 3em;
        transition: 0.2s ease;
    }

        nav.zip-menu .zip-menu-close:hover {
            color: inherit;
            background-color: rgba(255, 255, 255, 0.05);
            box-shadow: var(--zip-box-shadow-2);
        }

    nav.zip-menu h3 {
        font-weight: 800;
    }

    nav.zip-menu .zip-menu-category ul {
        display: flex;
        flex-flow: row wrap;
        margin: -8px 0 3rem -8px;
        padding: 0;
        list-style: none;
    }

        nav.zip-menu .zip-menu-category ul > li {
            flex-basis: calc(50% - 8px);
            margin: 0;
            padding: 8px 0 0 8px;
        }

            nav.zip-menu .zip-menu-category ul > li a:hover {
                color: inherit;
                opacity: 0.5;
            }

    nav.zip-menu.active {
        display: block;
    }

html.zip-menu-active,
html.zip-menu-active body {
    overflow: hidden;
}

    html.zip-menu-active body::after {
        display: block;
        content: '';
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        background-color: rgba(255, 255, 255, 0.75);
        z-index: 999998;
    }

@media(max-width:768px) {
    nav.zip-menu {
        padding: 2.5em;
    }

        nav.zip-menu .zip-menu-category ul {
            margin-bottom: 2.5em;
        }

            nav.zip-menu .zip-menu-category ul > li {
                flex-basis: 100%;
            }
}

/* -- Zip Modal -- */

.zip-modal-wrapper {
    animation: fadeIn 1s ease;
    background-color: rgba(0, 0, 0, 0.5);
    bottom: 0;
    display: none;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    overflow: auto;
    z-index: 999999;
}

    .zip-modal-wrapper.active {
        display: block;
    }

.zip-modal {
    background-color: #fff;
    box-shadow: var(--zip-box-shadow-2);
    left: 0;
    margin: auto;
    max-width: 800px;
    position: absolute;
    right: 0;
    top: 20vh;
    margin-bottom: 20vh;
    width: calc(100% - 2rem);
}

.zip-modal-header,
.zip-modal-body,
.zip-modal-footer {
    padding: 24px;
}

.zip-modal-header {
    position: relative;
}

    .zip-modal-header h2 {
        margin: 0;
        font-size: 1.1em;
        font-weight: 600;
    }

    .zip-modal-header .zip-modal-close {
        position: absolute;
        right: 24px;
        top: 50%;
        transform: translateY(-50%);
    }

        .zip-modal-header .zip-modal-close::after {
            content: '\f00d';
            display: inline-block;
            font-family: 'Font Awesome 5 Free';
            font-size: 1em;
            font-weight: 600;
        }

    .zip-modal-header + .zip-modal-body {
        border-top: solid 1px rgba(0, 0, 0, 0.1);
    }

.zip-modal-body > *:last-child {
    margin-bottom: 0;
}

.zip-modal-body > :only-child > *:last-child {
    margin-bottom: 0;
}

.zip-modal-footer {
    display: flex;
    flex-flow: row-reverse wrap;
}

.zip-modal-body + .zip-modal-footer {
    border-top: solid 1px rgba(0, 0, 0, 0.1);
}

.zip-modal-footer *.zip-btn {
    margin: 0 0 0 12px;
}

.zip-modal-success-message,
.zip-modal-error-message {
    border-radius: .5em;
    color: white;
    font-size: 1.1em;
    max-width: 600px;
    text-align: center;
}

.zip-modal-success-message {
    background-color: var(--zip-success-color);
    background-color: var(--zip-success-color);
}

.zip-modal-error-message {
    background-color: #B00020;
    background-color: var(--zip-danger-color);
}

    .zip-modal-success-message .zip-modal-body,
    .zip-modal-error-message .zip-modal-body {
        padding: 3em;
    }

.zip-modal-success-icon,
.zip-modal-error-icon {
    border-radius: 3em;
    border: solid 2px #ffffff;
    height: 3em;
    margin: auto;
    position: relative;
    text-align: center;
    width: 3em;
}

    .zip-modal-success-icon::before,
    .zip-modal-error-icon::before {
        content: '';
        background-image: url(../../images/shared/zip-tick-white-icon.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: auto 1em;
        display: block;
        width: 100%;
        height: 100%;
    }

    .zip-modal-error-icon::before {
        background-image: url(../../images/shared/zip-close-white-icon.svg);
    }

.zip-modal-success-message h3,
.zip-modal-error-message h3 {
    margin: 1.5rem 0 .5rem !important;
}

.zip-modal-success-message .message,
.zip-modal-error-message .message {
    margin: 0 0 2.5em;
}

.zip-modal-success-message .zip-btn,
.zip-modal-error-message .zip-btn {
    background-color: rgba(255, 255, 255, 0.2);
    color: white;
    margin: 0;
}

    .zip-modal-success-message .zip-btn:hover,
    .zip-modal-error-message .zip-btn:hover {
        background-color: rgba(255, 255, 255, 0.1);
    }

/* -- Zip Navbar -- */

nav.zip-navbar {
    background: white;
    margin: 2rem 0 2em;
    margin-top: var(--zip-space-unit);
    margin-bottom: var(--zip-space-unit);
    position: relative;
    top: 0;
}

    nav.zip-navbar > ul {
        align-items: center;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-flow: row nowrap;
        justify-content: flex-end;
        list-style: none;
        margin: 0 -16px 0 0;
        padding: 0;
    }

        nav.zip-navbar > ul > li {
            align-items: center;
            display: inline-flex;
            justify-content: center;
            margin: 0 16px 0 0;
            padding: 0;
            position: relative;
        }

            nav.zip-navbar > ul > li > a {
                align-items: center;
                display: inline-flex;
                justify-content: center;
                position: relative;
            }

    nav.zip-navbar ul > li.zip-navbar-username {
        justify-content: flex-start;
        flex: 1;
        margin-right: 40px;
    }

        nav.zip-navbar ul > li.zip-navbar-username > a {
            font-size: 1.1em;
            font-weight: 600;
            margin-right: 40px;
        }

            nav.zip-navbar ul > li.zip-navbar-username > a::after {
                content: '\f078';
                display: inline-block;
                font-family: 'Font Awesome 5 Free';
                font-size: .8em;
                font-weight: 600;
                padding-left: 8px;
            }

            nav.zip-navbar ul > li.zip-navbar-username > a:hover {
                color: var(--zip-primary-color);
            }

    nav.zip-navbar ul > li.zip-navbar-icon {
    }

        nav.zip-navbar ul > li.zip-navbar-icon > a,
        nav.zip-navbar ul > li.zip-navbar-icon > div > a {
            border-radius: 50px;
            box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
            display: block;
            font-size: 0;
            height: 50px;
            width: 50px;
        }

            nav.zip-navbar ul > li.zip-navbar-icon > a:hover,
            nav.zip-navbar ul > li.zip-navbar-icon > div > a:hover {
                color: var(--zip-primary-color);
                box-shadow: 0 7px 14px rgba(0, 0, 0, 0.25), 0 5px 5px rgba(0, 0, 0, 0.22);
                box-shadow: var(--zip-box-shadow-2);
                transition: 0.1s;
            }

            nav.zip-navbar ul > li.zip-navbar-icon > a::after,
            nav.zip-navbar ul > li.zip-navbar-icon > div > a::after {
                display: block;
                font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Brands';
                font-size: 18px;
                font-weight: 600;
                left: 50%;
                position: absolute;
                top: 50%;
                transform: translateX(-50%) translateY(-50%);
            }

        nav.zip-navbar ul > li.zip-navbar-icon.basket > a::after {
            content: '\f291';
        }

        nav.zip-navbar ul > li.zip-navbar-icon.edit > div > a::after {
            content: '\f044';
        }

        nav.zip-navbar ul > li.zip-navbar-icon.home > a::after {
            content: '\f015';
        }

        nav.zip-navbar ul > li.zip-navbar-icon.menu > a::after {
            content: '\f0c9';
        }

        nav.zip-navbar ul > li.zip-navbar-icon.reports > a::after {
            content: '\f080';
        }

        nav.zip-navbar ul > li.zip-navbar-icon.search > a::after {
            content: '\f002';
        }

        nav.zip-navbar ul > li.zip-navbar-icon.toggle > a::after {
            content: '\f204';
        }

        nav.zip-navbar ul > li.zip-navbar-icon > a > .zip-badge {
            align-items: center;
            display: flex !important;
            z-index: 9;
            text-align: center;
            background-color: var(--zip-primary-color);
            border-radius: 25px;
            color: #ffffff;
            display: inline-flex;
            font-size: 14px;
            font-weight: 600;
            justify-content: center;
            position: absolute;
            right: -31px;
            top: -9px;
            width: 30px !important;
            height: 30px !important;
        }

    /* Zip Navbar Dropdown */

    nav.zip-navbar .zip-navbar-dropdown {
        animation: fadeInDown 0.5s ease;
        background-color: #37474f;
        background-color: var(--zip-grey);
        box-shadow: 0 7px 14px rgba(0, 0, 0, 0.25), 0 5px 5px rgba(0, 0, 0, 0.22);
        box-shadow: var(--zip-box-shadow-2);
        color: white;
        display: none;
        font-size: 1em;
        font-weight: normal;
        list-style: none;
        margin: 0 0 6vh;
        min-width: 350px;
        padding: 2.5em;
        position: absolute;
        right: -1em;
        top: calc(100% + 32px);
        white-space: nowrap;
        width: auto;
        z-index: 10;
    }

    nav.zip-navbar li.zip-navbar-username > .zip-navbar-dropdown {
        left: -1em;
        right: auto;
    }

    nav.zip-navbar .zip-navbar-dropdown.active {
        display: block;
    }

    nav.zip-navbar .zip-navbar-dropdown::before {
        content: '';
        border-color: transparent transparent #37474f transparent;
        border-color: transparent transparent var(--zip-grey) transparent;
        border-style: solid;
        border-width: 16px;
        display: inherit !important;
        height: 0;
        position: absolute;
        right: 1.5em;
        top: -32px;
        width: 0;
    }

    nav.zip-navbar li.zip-navbar-username > .zip-navbar-dropdown::before {
        left: 1.5em;
        right: auto;
    }

    nav.zip-navbar .zip-navbar-dropdown .zip-navbar-dropdown-close {
        cursor: pointer;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: inherit;
        position: absolute;
        right: 0;
        top: 0;
        transition: 0.2s ease;
        z-index: 100;
    }

        nav.zip-navbar .zip-navbar-dropdown .zip-navbar-dropdown-close:hover {
            opacity: 0.5;
        }

    nav.zip-navbar h3 {
        margin-bottom: 1.5em;
        font-weight: 800;
    }

    nav.zip-navbar .zip-navbar-dropdown > *:last-child {
        margin-bottom: 0;
    }

    nav.zip-navbar .zip-navbar-dropdown a:hover {
        opacity: 0.5;
        color: inherit;
    }

    /* Zip Navbar Basket */

    nav.zip-navbar .zip-navbar-basket-item {
        margin: 0 0 2em;
        padding: 0 0 2em;
        border-bottom: solid 1px;
        border-color: rgba(0, 0, 0, 0.1);
    }

        nav.zip-navbar .zip-navbar-basket-item:last-of-type {
            border-bottom: none;
            padding-bottom: 0;
        }

        nav.zip-navbar .zip-navbar-basket-item > p {
            margin: 0 0 .5em;
        }

@media(max-width:768px) {
    nav.zip-navbar > ul > li {
        position: static;
    }

        nav.zip-navbar > ul > li.zip-navbar-username {
            flex: 1;
            justify-content: flex-start;
        }

    nav.zip-navbar ul > li.zip-navbar-icon.edit,
    nav.zip-navbar ul > li.zip-navbar-icon.home,
    nav.zip-navbar ul > li.zip-navbar-icon.reports,
    nav.zip-navbar ul > li.zip-navbar-icon.search,
    nav.zip-navbar ul > li.zip-navbar-icon.toggle {
        display: none;
    }

    nav.zip-navbar .zip-navbar-dropdown,
    nav.zip-navbar li.zip-navbar-username > .zip-navbar-dropdown {
        padding: 2em 1.5em;
        right: -1em;
        left: -1em;
        width: calc(100% + 2em);
    }

        nav.zip-navbar .zip-navbar-dropdown::before {
            left: 0;
            right: 0;
            margin: auto;
            top: -32px;
            width: 0;
        }
}

/* -- Zip Notifications -- */

.zip-floating-notification {
    background: #eee;
    animation: fadeInDown .5s ease;
    padding: 12px;
}

/* -- Zip Pagination -- */

ul.zip-pagination {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
}

    ul.zip-pagination > li {
        display: flex;
    }

        ul.zip-pagination > li > a {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 2.5em;
            height: 2.5em;
            text-decoration: none;
        }

        ul.zip-pagination > li.zip-pagination-active-page > a {
            background: rgba(0, 0, 0, 0.1);
            border-radius: 4px;
            font-weight: 600;
        }

        ul.zip-pagination > li.zip-pagination-next-page > a,
        ul.zip-pagination > li.zip-pagination-prev-page > a {
            width: auto;
            height: auto;
        }

/* -- Zip Popup -- */

.zip-popup {
    animation: fadeIn 0.5s;
    z-index: 501;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    width: 95%;
    max-width: 600px;
    transform: translateY(-50%);
    background-color: #fff;
    box-shadow: 0 7px 14px rgba(0, 0, 0, 0.25), 0 5px 5px rgba(0, 0, 0, 0.22);
    box-shadow: var(--zip-box-shadow-2);
}

.zip-popup-body {
    padding: 2em;
    padding: var(--zip-space-unit);
}

    .zip-popup-body .zip-popup-close {
        position: absolute;
        right: 0;
        top: 0;
        padding: inherit;
    }

.zip-popup-buttons {
    display: flex;
    flex-flow: row nowrap;
}

    .zip-popup-buttons > .zip-btn {
        margin: 0 !important;
        border-radius: 0 !important;
        flex: 1;
        padding: 1.5em;
        height: auto;
        border: none !important;
    }

.zip-popup-overlay {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 500;
}

    .zip-popup-overlay.active {
        display: block;
    }

/* -- Zip Progress Bar -- */

.zip-progress-bar {
    margin-bottom: 2em;
    margin-bottom: var(--zip-space-unit);
}

    .zip-progress-bar label {
        display: inline-block;
        margin-bottom: 1em;
        flex: 1;
        transition: 0.2s ease;
    }

        .zip-progress-bar label.back {
            cursor: pointer;
        }

            .zip-progress-bar label.back:hover {
                opacity: 0.5;
            }

            .zip-progress-bar label.back + label.step {
                text-align: center;
            }

        .zip-progress-bar label.next {
            opacity: 0.5;
            text-align: right;
        }

@media(max-width:768px) {
    .zip-progress-bar {
        font-size: 12px;
    }

        .zip-progress-bar label.next {
            display: none;
        }

        .zip-progress-bar label.step {
            text-align: center;
            order: 1;
        }

        .zip-progress-bar label.back + label.step {
            text-align: left;
        }

        .zip-progress-bar label.back {
            text-align: right;
            order: 2;
            opacity: 0.9;
        }
}

.zip-progress-bar .progress-bar {
    width: 100%;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 100px;
}

    .zip-progress-bar .progress-bar .progress-meter {
        background-color: #00FF99;
        height: 6px;
        border-radius: 100px;
    }

/* -- Zip Slider -- */

.zip-slider {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    background: #eee;
    padding: 24px;
}

    .zip-slider .zip-label {
        margin: 0 48px 0 0;
        white-space: nowrap;
    }

    .zip-slider .ui-slider {
        width: 100%;
        margin: 0;
        background: #ddd;
        border: none;
        height: 6px;
        border: none;
        padding: 0 8px;
        border-radius: 100px;
    }

    .zip-slider .ui-slider-range {
        background: white;
        border: solid 1px #aaa;
        border: none;
        background: #009ace;
        background: var(--zip-primary-color);
    }

    .zip-slider .ui-slider-handle {
        background-color: white !important;
        border-radius: 400px;
        border: solid 3px;
        border-color: #009ace;
        border-color: var(--zip-primary-color);
        cursor: pointer;
        height: 16px;
        top: 50%;
        transform: translateY(-50%);
        width: 16px;
    }

/* -- Zip Sub Menus -- */

.zip-sub-menu {
    list-style: none;
    margin: 0;
    margin-bottom: 2em;
    margin-bottom: var(--zip-space-unit);
    padding: 2em;
    background-color: #eeeeee;
}

    .zip-sub-menu > li {
        display: block;
        font-weight: 600;
        position: relative;
        padding-left: 24px;
    }

        .zip-sub-menu > li + li {
            margin-top: .8em;
        }

        .zip-sub-menu > li::before {
            content: '\f0da';
            display: block;
            font-family: 'Font Awesome 5 Free';
            font-weight: 600;
            left: 0;
            margin-right: 24px;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
        }

        .zip-sub-menu > li > a:hover {
            opacity: 0.5;
        }

/* -- Zip Tables -- */

.zip-table {
    overflow: auto;
    margin-bottom: 2em;
    margin-bottom: var(--zip-space-unit);
}

    .zip-table .zip-table {
        margin: 0;
    }

    .zip-table > table {
        border-collapse: collapse;
        font-size: .9em;
        position: relative;
        text-align: left;
        width: 100%;
    }

    .zip-table table tr {
    }

        .zip-table table tr > th,
        .zip-table table tr > td {
            background-color: rgba(0, 0, 0, 0.05);
            border-bottom: solid 1px rgba(0, 0, 0, 0.1);
            font-weight: bold;
            padding: 12px 12px;
            white-space: nowrap;
        }

        .zip-table table tr > td {
            background-color: transparent;
            border-color: rgba(0, 0, 0, 0.1);
            font-weight: normal;
            padding-bottom: 8px;
            padding-top: 8px;
            white-space: normal;
        }

    .zip-table tr.active,
    .zip-table td.active,
    .zip-table td.active ~ td,
    .zip-table tr.taskComplete td,
    .zip-table td.meetingAttended,
    .zip-table td.meetingAttended ~ td,
    .zip-table tr.statusCollected,
    .zip-table tr.statusCompletedTreatment,
    .zip-table tr.statusClosed,
    .zip-table tr.statusRefunded,
    .zip-table tr.statusRefundIssued {
        background-color: lightgreen;
    }

    .zip-table tr.warning,
    .zip-table td.warning,
    .zip-table td.warning ~ td,
    .zip-table tr.taskAttention td,
    .zip-table tr.statusMissed,
    .zip-table tr.statusFailedCollection,
    .zip-table tr.statusFailedGoodsNotOut,
    .zip-table tr.statusFailedIncorretItems,
    .zip-table tr.statusFailedNotCompleted,
    .zip-table tr.statusFailedOversizedGoods,
    .zip-table tr.statusPostponedCollection,
    .zip-table tr.statusPostponedTreatment,
    .zip-table tr.statusRefundRequested,
    .zip-table tr.statusTemporary {
        background-color: orange;
    }

    .zip-table tr.disabled,
    .zip-table td.disabled,
    .zip-table td.disabled ~ td {
        background-color: white !important;
        opacity: 0.5;
    }

    .zip-table tr.error,
    .zip-table td.error ~ td,
    .zip-table td.error,
    .zip-table td.meetingDidNotAttend ~ td,
    .zip-table td.meetingDidNotAttend,
    .zip-table tr.Deleted .zip-table tr.statusCancelled,
    .zip-table tr.statusCancelledByCustomer,
    .zip-table tr.statusCancelledCustomerVacant,
    .zip-table tr.statusCancelledRequestedRefund,
    .zip-table tr.statusCancelledTreatment,
    .zip-table tr.statusDeleted,
    .zip-table tr.taskExpired td {
        background-color: var(--zip-danger-color);
        background-color: var(--zip-danger-color);
        color: white;
    }

.zip-content .zip-table td a {
    text-decoration: underline;
}

.zip-table td *.zip-btn {
    margin: 0;
    padding: 4px 8px;
    text-decoration: none;
    font-size: 14px;
    text-align: center;
}

.zip-table td .zip-input,
.zip-table td .zip-select,
.zip-table td .zip-textarea {
    margin: 0;
    padding: 2px;
}

.zip-table td .zip-label-checkbox {
    margin: 0;
}

.zip-table.zip-table-no-style > table,
.zip-table.zip-table-no-style > table tr,
.zip-table.zip-table-no-style > table th,
.zip-table.zip-table-no-style > table td {
    border: none;
    background-color: transparent;
    padding: 0;
    font-size: initial;
}

/* -- Zip Tables (Data Tables) -- */

.zip-content .dataTables_wrapper {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
}

    .zip-content .dataTables_wrapper > * {
        order: 10;
    }

    .zip-content .dataTables_wrapper > .dataTables_filter {
        order: 1;
        text-align: left;
        flex: 0 1 50%;
    }

    .zip-content .dataTables_wrapper > .dataTables_length {
        order: 2;
        text-align: right;
        flex: 1 1 auto;
    }

        .zip-content .dataTables_wrapper > .dataTables_length > label,
        .zip-content .dataTables_wrapper > .dataTables_filter > label {
            display: block;
            font-weight: normal;
            font-size: 0;
            margin: 0;
            position: relative;
        }

            .zip-content .dataTables_wrapper > .dataTables_filter > label:after {
                display: inline-block;
                content: url('../../Images/Shared/zip-search-icon.svg');
                width: 14px;
                position: absolute;
                top: 50%;
                transform: translateY(-50%);
                left: 8px;
            }

            .zip-content .dataTables_wrapper > .dataTables_length > label > select {
                font-size: 14px;
                margin: 0 8px;
                width: auto;
                border-radius: 0;
            }

            .zip-content .dataTables_wrapper > .dataTables_filter > label > input[type="search"] {
                font-size: 14px;
                margin: 0;
                border-radius: 0;
                border: none;
                background-color: rgba(0, 0, 0, 0.1);
                padding-left: 32px;
            }

    .zip-content .dataTables_wrapper > .dt-buttons {
        order: 3;
        flex: 0 1 auto;
        text-align: right;
    }

.zip-content button.dt-button,
.zip-content div.dt-button,
.zip-content a.dt-button {
    margin: 0;
    padding: 12px;
    border-radius: 2px;
    line-height: 1;
    color: #222222 !important;
}

.zip-content .dataTables_wrapper > table {
    order: 4;
    flex: 0 0 100%;
    margin: 16px 0;
}

.zip-content table.dataTable tbody th,
.zip-content table.dataTable tbody td,
.zip-content table.dataTable thead th,
.zip-content table.dataTable thead td {
    font-size: 13px;
    padding: 8px;
    text-align: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.zip-content table.dataTable thead th,
.zip-content table.dataTable thead td {
    padding-right: 24px;
}

.zip-content table.dataTable.noStyle,
.zip-content table.dataTable.noStyle tbody,
.zip-content table.dataTable.noStyle thead,
.zip-content table.dataTable.noStyle tr,
.zip-content table.dataTable.noStyle td {
    display: inline;
    padding: 0;
    background: transparent;
    border: none;
    width: 100% !important;
}

    .zip-content table.dataTable.noStyle thead td {
        font-size: 0;
    }

    .zip-content table.dataTable.noStyle .btn,
    .zip-content table.dataTable.noStyle input[type="button"],
    .zip-content table.dataTable.noStyle input[type="submit"],
    .zip-content table.dataTable.noStyle input.btn,
    .zip-content table.dataTable.noStyle button {
        display: inline-block;
        width: auto;
        padding: 12px !important;
    }

.zip-content .dataTables_info {
    font-weight: 600;
}

.zip-content .dataTables_paginate.paging_simple_numbers {
    text-align: right;
    flex: 1 1 auto;
}

    .zip-content .dataTables_paginate.paging_simple_numbers a.paginate_button {
        padding: 0;
        display: inline-block;
        border: none !important;
        background: transparent !important;
        -webkit-appearance: none !important;
        appearance: none !important;
        border-radius: 200px;
        color: #222222 !important;
        opacity: 0.7;
    }

        .zip-content .dataTables_paginate.paging_simple_numbers a.paginate_button.current,
        .zip-content .dataTables_paginate.paging_simple_numbers a.paginate_button:hover {
            opacity: 1.0;
            color: #222222 !important;
        }

        .zip-content .dataTables_paginate.paging_simple_numbers a.paginate_button.disabled {
            display: none;
        }

        .zip-content .dataTables_paginate.paging_simple_numbers a.paginate_button.previous,
        .zip-content .dataTables_paginate.paging_simple_numbers a.paginate_button.next {
            border: none !important;
            padding: 0;
        }

/* -- Zip Tabs -- */

.zip-tabs {
    background-color: initial;
    border: none;
    margin: 0;
    margin-bottom: 2em;
    margin-bottom: var(--zip-space-unit);
    padding: 0;
}

    .zip-tabs > .ui-tabs-panel {
        animation: fadeIn 1s ease;
        border: none;
        border-bottom: dotted 1px rgba(0, 0, 0, 0.2);
        border-radius: 0;
        border-top: dotted 1px rgba(0, 0, 0, 0.2);
        color: inherit;
        padding: 2rem 0 0;
        padding-top: var(--zip-space-unit);
    }

    .zip-tabs > ul.zip-tabs-nav {
        background: transparent;
        border-radius: 0;
        border: none;
        color: inherit;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-flow: row wrap;
        font-size: 1.1em;
        list-style: none;
        margin: -24px 0 32px -24px;
        margin-bottom: var(--zip-space-unit);
        padding: 16px 0 0;
    }

        .zip-tabs > ul.zip-tabs-nav > li {
            background: transparent;
            border-radius: 0;
            border: none;
            color: inherit;
            margin: 0;
            outline: none;
            padding: 24px 0 0 24px;
            text-align: center;
        }

            .zip-tabs > ul.zip-tabs-nav > li:hover {
                z-index: 100;
            }

            .zip-tabs > ul.zip-tabs-nav > li > a {
                background-color: initial;
                color: #999;
                display: block;
                float: none;
                font-weight: normal;
                outline: none;
                padding: 0 0 4px;
            }

                .zip-tabs > ul.zip-tabs-nav > li > a:hover {
                    color: var(--zip-grey);
                }

            .zip-tabs > ul.zip-tabs-nav > li.ui-state-active {
                border: none;
                z-index: 100;
            }

                .zip-tabs > ul.zip-tabs-nav > li.ui-state-active > a {
                    border-bottom: solid 3px;
                    border-color: #009ace;
                    border-color: var(--zip-primary-color);
                    color: inherit;
                    font-weight: 600;
                }

.zip-tabs-vertical {
    display: flex;
    flex-flow: row wrap;
    margin: 0 0 0 -2em;
    margin-left: var(--zip-space-unit-minus);
}

    .zip-tabs-vertical::after,
    .zip-tabs-vertical::before {
        display: block;
        content: '';
        border-bottom: dotted 1px rgba(0, 0, 0, 0.2);
        width: calc(100% - 2rem);
        width: calc(100% - var(--zip-space-unit));
        margin: 0 0 2rem 2em;
        margin-bottom: var(--zip-space-unit);
        margin-left: var(--zip-space-unit);
    }

    .zip-tabs-vertical::after {
        margin-top: 2em;
        margin-top: var(--zip-space-unit);
    }

    .zip-tabs-vertical > .ui-tabs-panel,
    .zip-tabs-vertical > ul.zip-tabs-nav {
        margin: 0;
        padding: 0 0 0 2em;
        padding-left: var(--zip-space-unit);
    }

    .zip-tabs-vertical > .ui-tabs-panel {
        flex: 1;
        border: none;
    }

    .zip-tabs-vertical > ul.zip-tabs-nav {
        align-self: flex-start;
        flex-flow: column;
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        flex-basis: 250px;
        margin: -24px 0 2em;
        margin-bottom: var(--zip-space-unit);
        padding-bottom: 2em;
        padding-bottom: var(--zip-space-unit);
    }

        .zip-tabs-vertical > ul.zip-tabs-nav > li {
            width: 100%;
            text-align: left;
            margin: 24px 0 0;
            padding: 0;
        }

            .zip-tabs-vertical > ul.zip-tabs-nav > li > a {
                display: inline-block;
                width: auto;
            }

@media(max-width:650px) {
    .zip-tabs-vertical {
        margin: 0;
    }

        .zip-tabs-vertical::before {
            display: none;
        }

        .zip-tabs-vertical > .ui-tabs-panel {
            flex-basis: 100%;
            padding: 0;
        }

        .zip-tabs-vertical > ul.zip-tabs-nav {
            flex-basis: 100%;
            margin: 0 0 2em;
            margin-bottom: var(--zip-space-unit);
            padding: 0;
            position: relative;
        }

            .zip-tabs-vertical > ul.zip-tabs-nav > li {
                padding: 0;
                margin: 0 0 12px !important;
            }
}

/* -- Zip Tiny MCE -- */

.mceEditor {
    display: block;
    margin-bottom: 2em;
    margin-bottom: var(--zip-space-unit);
}

/* -- Zip Tooltip -- */

.zip-tooltip {
    cursor: pointer;
    display: inline-block;
    position: relative;
}

.zip-tooltip-text {
    background-color: var(--zip-grey);
    background-color: #37474f;
    border-radius: 2px;
    bottom: 125%;
    color: #fff;
    font-size: .9em;
    left: 50%;
    margin-left: -100px;
    opacity: 0;
    padding: 8px;
    position: absolute;
    text-align: center;
    transition: opacity 0.3s;
    visibility: hidden;
    width: 200px;
    z-index: 100;
}

.zip-tooltip:hover .zip-tooltip-text {
    opacity: 1;
    visibility: visible;
}

/* -- Zip Transfer -- */

.zip-transfer {
    align-items: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-flow: row nowrap;
    margin-left: -1em;
    margin-bottom: 2em;
    margin-bottom: var(--zip-space-unit);
    margin-top: 1em;
    position: relative;
}

@media(max-width:550px) {
    .zip-transfer::after {
        display: flex;
        color: white;
        align-items: center;
        justify-content: center;
        content: 'Please rotate your device';
        position: absolute;
        left: 1em;
        right: 0;
        top: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.8);
    }
}

.zip-transfer > label.zip-label,
.zip-transfer > .zip-transfer-buttons {
    padding-left: 1em;
}

.zip-transfer > label {
    flex: 1;
    margin: 0;
}

    .zip-transfer > label > span {
        display: block;
        background-color: #eee;
        border-left: solid 1px rgba(0, 0, 0, 0.2);
        border-top: solid 1px rgba(0, 0, 0, 0.2);
        border-right: solid 1px rgba(0, 0, 0, 0.2);
        padding: .8em 1em;
        font-weight: 600;
    }

.zip-transfer select.zip-select {
    margin: 0;
    height: 33vh;
    max-height: 300px;
}

.zip-transfer > .zip-transfer-buttons {
}

    .zip-transfer > .zip-transfer-buttons > *.zip-btn {
        align-items: center;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        font-weight: 600;
        height: 3em;
        justify-content: center;
        margin: 0;
        min-width: 0;
        padding: 0;
        width: 3em;
    }

        .zip-transfer > .zip-transfer-buttons > *.zip-btn + *.zip-btn {
            margin-top: -1px;
        }

/* -- Zip UI Widgets (jQuery plugin) -- */

.ui-widget-content {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    box-sizing: border-box;
    font-family: 'Open Sans', sans-serif;
    color: #222222;
    font-family: 'Open Sans';
    font-size: 15px;
    color: inherit;
    min-width: 50%;
}

    .ui-widget-content.ui-datepicker {
        min-width: 0;
    }

.ui-dialog .ui-dialog-content {
    padding: 1em !important;
    width: 100% !important;
}

    .ui-dialog .ui-dialog-content iframe {
        width: 100% !important;
        height: 100% !important;
        min-height: 50vh;
    }

.ui-widget input[type="text"],
.ui-widget input[type="password"],
.ui-widget select,
.ui-widget textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff;
    border-radius: 0;
    border: solid 1px rgba(0, 0, 0, 0.2);
    color: inherit;
    cursor: pointer;
    display: inline-block;
    font-family: inherit;
    font-size: 1em;
    font-weight: 600;
    height: auto;
    line-height: 1;
    margin: 0;
    margin-bottom: 1em;
    max-width: none;
    padding: .5em;
    width: 100%;
    transition: all 0.3s cubic-bezier(.25, .8, .25, 1);
}

    .ui-widget input[type="text"]:hover,
    .ui-widget input[type="password"]:hover,
    .ui-widget select:hover,
    .ui-widget textarea:hover,
    .ui-widget input[type="text"]:focus,
    .ui-widget input[type="password"]:focus,
    .ui-widget select:focus,
    .ui-widget textarea:focus {
        border-color: rgba(0, 0, 0, 0.5);
        outline-color: #009ace;
        outline-color: var(--zip-primary-color);
    }

.ui-widget input,
.ui-widget textarea {
    cursor: initial;
}

.ui-widget select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('../../Images/Shared/zip-dropdown-icon.svg');
    background-position: center right .8em;
    background-repeat: no-repeat;
    background-size: .8em;
    padding-right: 2em;
}

.ui-widget label {
    display: block;
    font-size: 1em;
    letter-spacing: .01em;
    margin: 0 0 .4em 0;
    padding: 0;
}

    .ui-widget label.zip-label-checkbox {
        margin-bottom: 1em;
    }

.ui-widget .mceEditor {
    margin-bottom: 1em;
}

@media(max-width:768px) {
    .ui-widget label {
        font-size: .9em;
    }
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--zip-grey);
}
