/* region body */

body.wde-builder-ui {
    background-color: aliceblue;
}

/* endregion */

/* region miscellaneous */

/* used to prevent sidenav from animating content upon page load - this class is removed by JS on the next frame after page load */
.wde-no-animation {
    transition: none !important;
}

/* allow user selection of text */
.wde-allow-select {
    -webkit-user-select: text !important;
    -moz-user-select: text !important;
    -ms-user-select: text !important;
    user-select: text !important;
}

/* endregion */

/* region sidenav */

.wde-builder-ui .sidenav-link {
    padding: 0.25rem 1.5rem;
}

.wde-builder-ui .sidenav-collapse .sidenav-link {
    padding-left: 2rem;
    height: 1.75rem;
}

/* endregion */

/* region flexbox gap vs. fixed margin/padding */

.wde-navbar .navbar-nav .nav-link {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* endregion */

/* region overflow menu */

.wde-overflow-menu {
    height: 1.6rem;
}

.wde-overflow-menu-button::before {
    content: "|";
    margin-right: 0.5rem;
}

.wde-overflow-menu .dropdown-item {
    margin: 0;
    padding: 0;
    background-color: transparent !important;
}

.wde-overflow-menu-dropdown {
    z-index: 1030;
}

/* endregion */

/* region context view */

/* navbar */
.wde-context-view-navbar {
    height: 3rem;
}

/* context view action menu wrapper */
.wde-context-view-action-menu-wrapper {
    background-color: #fff;
    z-index: 1021;
}

/* header divider */
.wde-builder-ui .wde-context-view-header-divider {
    height: 1px;
    background: lightgrey;
}

/* animate collapse icon */
.wde-animated-collapse-icon {
    transition: transform 0.3s ease;
    transform: rotate(0turn);
}

.collapsed .wde-animated-collapse-icon {
    transform: rotate(0.5turn);
}

.wde-context-view-header.wde-collapsed .wde-context-parameter, .wde-context-view-header.wde-collapsed .wde-context-view-quick-search, .wde-context-view-header.wde-collapsed .wde-context-view-download, .wde-context-view-header.wde-collapsed .wde-context-view-selector, .wde-context-view-header.wde-expanding .wde-context-parameter, .wde-context-view-header.wde-expanding .wde-context-view-quick-search, .wde-context-view-header.wde-expanding .wde-context-view-download, .wde-context-view-header.wde-expanding .wde-context-view-selector {
    display: none !important;
}

.wde-context-parameter-selected .wde-context-view-collapse-button, .wde-context-parameter-selected .wde-context-view-label, .wde-context-parameter-selected .wde-context-view-quick-search, .wde-context-parameter-selected .wde-context-view-selector {
    display: none !important;
}

.wde-context-view-header:not(.wde-context-parameter-selected) .wde-context-parameter-input {
    display: none !important;
}

.wde-context-parameter-selected .wde-context-parameter:not(.wde-selected) {
    display: none !important;
}

/* used to set the minimum height of the context view while empty and loading */
.wde-context-view-loading {
    min-height: 6rem;
}

.wde-context-view-selector {
    z-index: 1022;
}

/* async fetch blocker (used only by context views) */
.wde-async-fetch-blocker {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 1030;
    overflow: hidden;
}

/* footer */
.wde-context-view-footer {
    row-gap: 0.5rem !important;
}

/* row count message */
.wde-context-view-footer-row-count-message {
    padding: 0.375rem 0;
    order: 1;
}

.wde-context-view-pagination-wrapper {
    order: 2;
}

/* page link */
.wde-context-view-footer .page-item > .page-link {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

/* active page link */
.wde-context-view-footer .page-item.active > .page-link {
    text-decoration: underline;
    color: inherit;
    background-color: inherit;
    box-shadow: none;
}

/* set the width of the select input */
.wde-context-view-footer-rows-per-page-wrapper {
    width: 4rem;
    order: 3;
}

/* remove the outline from the select input */
.wde-context-view-footer-rows-per-page-wrapper .form-notch {
    display: none !important;
}

/* align the select input text to the right and remove vertical padding */
.wde-context-view-footer-rows-per-page-wrapper input {
    text-align: right;
    padding-left: 0 !important;
    padding-top: 0.125em !important;
    padding-bottom: 0.125em !important;
}

.wde-builder-ui .wde-context-view-footer-rows-per-page-wrapper .select-arrow {
    top: 5px;
}

/* switch order of footer elements if below a certain screen size */
@media only screen and (max-width: 992px) {

    .wde-context-view-pagination-wrapper {
        order: 4;
        flex: 0 0 100%;
    }

    .wde-context-view-pagination-wrapper nav {
        margin: 0 auto;
        width: fit-content;
    }
}

/* endregion */

/* region context override menu */

.wde-context-override-menu .wde-overflow-menu-item::before {
    content: "|";
    margin-right: 0.5rem;
}

.wde-edit-context-override-button {
    display: none !important;
    color: #4f4f4f !important;
}

.wde-overflow-menu .wde-overflow-menu-item.wde-active .wde-edit-context-override-button {
    display: initial !important;
}

.wde-context-override-menu .wde-overflow-menu-item-label {
    color: #8f8f8f !important;
    max-width: 13rem;
}

.wde-context-override-menu .wde-overflow-menu-item.wde-active .wde-overflow-menu-item-label {
    color: #4f4f4f !important;
    font-weight: 500;
}

/* endregion */

/* region context table view */

.wde-table-heading-container {
    background-color: #f8f8f8;
    width: fit-content;
    min-width: 100%;
}

.wde-table-heading-container .wde-table-checkbox {
    background-color: #f8f8f8;
}

.wde-table-row-container {
    width: fit-content;
    min-width: 100%;
}

.wde-builder-ui .wde-table-heading-container {
    font-size: 0.8rem;
    font-weight: 500;
}

.wde-builder-ui .wde-table-row-container {
    font-size: 0.8rem;
    font-weight: 300;
}

.wde-table-row-container:hover {
    background-color: cornsilk !important;
}

.wde-table-row-container:nth-child(even), .wde-table-row-container:nth-child(even) .wde-table-checkbox {
    background-color: ghostwhite;
}

.wde-table-row-container:nth-child(odd), .wde-table-row-container:nth-child(odd) .wde-table-checkbox {
    background-color: white;
}

.wde-table-row-container:nth-child(even):hover .wde-table-checkbox {
    background-color: cornsilk;
}

.wde-table-row-container:nth-child(odd):hover .wde-table-checkbox {
    background-color: cornsilk;
}

.wde-table-data-button > span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.wde-table-field-not-used {
    background-image: url('../../img/unused.png');
}

.wde-table-editable {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.5rem 0 0 1rem;
    border-color: green transparent transparent transparent;
    position: absolute;
    right: 0;
    top: 0;
    opacity: 33%;
}

.wde-table-checkbox {
    position: sticky;
    left: 0;
    z-index: 1;
}

.wde-table-checkbox .form-check {
    padding: 0.125rem 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
}

.wde-table-checkbox .form-check-input {
    padding: 0 !important;
    margin: 0 !important;
}

/* endregion */

/* region detail view */

/* navbar */
.wde-detail-view-navbar {
    height: 3rem;
}

/* header divider */
.wde-builder-ui .wde-detail-view-header-divider {
    height: 1px;
    background: lightgrey;
}

/* endregion */

/* region form inputs */

/* removes the arrow icon */
.wde-no-arrow .select-arrow, .wde-no-arrow .dropdown-toggle::after {
    display: none !important;
}

/* set the minimum height of text area input */
.wde-textarea {
    min-height: calc(6rem) !important;
}

/* make font smaller and add gaps between data items in typeahead drop down list */
.wde-typeahead-item-data {
    font-size: 0.67rem;
    gap: 2rem;
}

/* fixes the checkboxes, that are rendered as buttons, not having much visual difference between checked and unchecked states */
.wde-checkboxes-input .btn-check:not(:checked) + label {
    opacity: 50%
}

/* add a gap between radio buttons and checkboxes */
.wde-radio-buttons-input:not(.btn-group), .wde-checkboxes-input {
    column-gap: 1rem;
}

/* endregion */

/* region squared border radius */

.wde-squared {
    border-radius: 0 !important;
}

.wde-squared-top {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

.wde-squared-end {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.wde-squared-bottom {
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.wde-squared-start {
    border-bottom-left-radius: 0 !important;
    border-top-left-radius: 0 !important;
}

/* endregion */

/* region modals */

/* make quick view aligned to right side of the screen */
.wde-quick-view {
    margin-left: auto !important;
}

/* endregion */

/* region phpinfo */

.wde-phpinfo {
    table-layout: fixed;
}

.wde-phpinfo th:first-child, .wde-phpinfo td:first-child {
    width: 22rem;
}

/* endregion */

/* region small screen size */

@media only screen and (max-width: 768px) {

    .wde-builder-ui #content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .wde-builder-ui #content > .card {
        border-radius: 0;
    }
}

/* endregion */

/* region QBO */

.wde-qbo-oauth-green-button-med {
    width: 223px;
    height: 36px;
    display: block;
    background: url("../../img/qbo/C2QB_green_btn_med_default.svg");
}

.wde-qbo-oauth-green-button-med:hover {
    background: url("../../img/qbo/C2QB_green_btn_med_hover.svg");
}

.wde-qbo-oauth-green-button-short {
    width: 163px;
    height: 24px;
    display: block;
    background: url("../../img/qbo/C2QB_green_btn_short_default.svg");
}

.wde-qbo-oauth-green-button-short:hover {
    background: url("../../img/qbo/C2QB_green_btn_short_hover.svg");
}

.wde-qbo-oauth-green-button-tall {
    width: 274px;
    height: 48px;
    display: block;
    background: url("../../img/qbo/C2QB_green_btn_tall_default.svg");
}

.wde-qbo-oauth-green-button-tall:hover {
    background: url("../../img/qbo/C2QB_green_btn_tall_hover.svg");
}

.wde-qbo-oauth-transparent-button-med {
    width: 223px;
    height: 36px;
    display: block;
    background: url("../../img/qbo/C2QB_transparent_btn_med_default.svg");
}

.wde-qbo-oauth-transparent-button-med:hover {
    background: url("../../img/qbo/C2QB_transparent_btn_med_hover.svg");
}

.wde-qbo-oauth-transparent-button-short {
    width: 163px;
    height: 24px;
    display: block;
    background: url("../../img/qbo/C2QB_transparent_btn_short_default.svg");
}

.wde-qbo-oauth-transparent-button-short:hover {
    background: url("../../img/qbo/C2QB_transparent_btn_short_hover.svg");
}

.wde-qbo-oauth-transparent-button-tall {
    width: 274px;
    height: 48px;
    display: block;
    background: url("../../img/qbo/C2QB_transparent_btn_tall_default.svg");
}

.wde-qbo-oauth-transparent-button-tall:hover {
    background: url("../../img/qbo/C2QB_transparent_btn_tall_hover.svg");
}

/* endregion */

/* region OpenTok */

.OT_root {
    border: 1px solid white !important;
}

/* endregion */

/* region Calendar */

.wde-calendar {
    max-width: 100%;
}

.wde-calendar-multi-day-appointment {
    z-index: 100;
}

.wde-calendar-single-day-appointment {
    z-index: 100;
}

.wde-calendar-single-day-appointment .wde-calendar-appointment {
    padding: 0.25rem;
}

.wde-calendar-single-day-appointment .wde-calendar-appointment p,
.wde-calendar-multi-day-appointment .wde-calendar-appointment p {
    font-size: 0.75rem;
}

.wde-calendar-single-day-appointment .wde-calendar-appointment p {
    line-height: 1rem;
    margin: 0;
}


.wde-calendar-multi-day-appointment .wde-calendar-appointment p {
    line-height: 1rem;
    margin: 0;
    display: inline-block;
}

.wde-calendar-multi-day-appointment .wde-calendar-appointment p:not(:first-of-type) {
    margin-left: 0.5rem;
}

.wde-calendar-multi-day-appointment .wde-calendar-appointment .appointment-time {
    display: none;
}

.wde-calendar-multi-day-appointment .wde-calendar-appointment .appointment-title-header {
    display: none;
}

.wde-calendar .appointment-count {
    height: 2rem;
    width: 100%;
    margin-bottom: 0.5rem;
    text-align: center;
    line-height: 2rem;
    font-weight: bold;
}

.wde-calendar-container > div {

}

/* endregion */

/* region Builder */

.wde-builder-quick-link {
    position: relative;
    width: 24px;
    height: 24px;
}

.wde-builder-quick-link a {
    position: absolute;
    text-shadow: 0 0 4px #000;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    z-index: 100000;
}

/* endregion */
