
/* This overrides DNN BackOffice Width to 100% of the screen width */
body.dnnEditState > form > div > .container.expand {
    width: 100% !important;
}

.row-content > .container {
	max-width: 100% !important;
}

.ModBJCLVMC * {
    font-family: opensans, sans-serif;
}

.ModBJCLVMC .fa,
#panel-all-details:after {
    font: normal normal normal 14px/1 FontAwesome;
}

.ModBJCLVMC a:link {
    color: #00529b;
}

.ModBJCLVMC a:hover {
    text-decoration: none;
}

.ModBJCLVMC .setting-tab {
    font-size: 14px;
}

.ModBJCLVMC .mark {
    background-color: transparent;
}

#lvm-module-wrapper .modal-backdrop.in {
    opacity: 0.5 !important;
}

#lvm-module-wrapper .modal.fade.in .modal-dialog {
    z-index: 9999;
}


.dnnFormItem input[type="text"],
.contentCol {
    max-width: 100% !important;
    width: 100%;
}

#data-table, #data-table-result-count {
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
}

    #data-table.loading, #data-table-result-count.loading {
        opacity: 0;
    }

#loader {
    position: absolute;
    width: 100%;
    height: 75vh;
    top: -200px;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    z-index: -1;
    background: -moz-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 50%, rgba(255,255,255,0.68) 66%, rgba(0,0,0,0) 100%); /* ff3.6+ */
	background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(50%, rgba(255,255,255,1)), color-stop(66%, rgba(255,255,255,0.68)), color-stop(100%, rgba(0,0,0,0))); /* safari4+,chrome */
	background:-webkit-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 50%, rgba(255,255,255,0.68) 66%, rgba(0,0,0,0) 100%); /* safari5.1+,chrome10+ */
	background: -o-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 50%, rgba(255,255,255,0.68) 66%, rgba(0,0,0,0) 100%); /* opera 11.10+ */
	background: -ms-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 50%, rgba(255,255,255,0.68) 66%, rgba(0,0,0,0) 100%); /* ie10+ */
	background:radial-gradient(ellipse at center, rgba(255,255,255,1) 50%, rgba(255,255,255,0.68) 66%, rgba(0,0,0,0) 100%); /* w3c */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#000000',GradientType=1 ); /* ie6-9 */
}

    #loader.loading {
        opacity: 1;
        z-index: 100;
    }

#loader-text {
    position:absolute;
    width: 100%;
    text-align: center;
    bottom: -5px;
}


/* Custom Modal CSS */

#itemDetailsModal {
    transition: all 0.33s ease-in-out;
    left: 0;
    right: 0;
    margin: 0px auto;
    width: 100%;
    height:100;
    overflow: hidden;
    overflow-y: scroll;
    /*opacity:0;*/
}

    #itemDetailsModal.show {
        /*top: 50%;
        transform: translate3d(0,-50%,0);*/
        opacity: 1;
        background-color: rgba(0,0,0,0.7);
    }

#itemDetailsModal .modal-dialog {
    position:absolute;
    top:10%;
    left: 0;
    right: 0;
    transition: all 0.33s ease-in-out;
    transform: scale3d(0.8, 0.8, 1)
}

    #itemDetailsModal.show .modal-dialog {
        /*top: 50%;
        transform: translate3d(0,-50%,0);*/
        opacity: 1;
        background-color: rgba(0,0,0,0.7);
        transform: scale3d(1, 1, 1)
    }
    

.la-square-loader,
.la-square-loader > div {

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.la-square-loader {
    display: block;
    font-size: 0;
    color: #fff;
    left: 0;
    right: 0;
    margin: 0px auto;
    transform: translate(0,-50%);
    top: 50%;
    position: absolute;
}

    .la-square-loader.la-dark {
        color: #333;
    }

    .la-square-loader > div {
        display: inline-block;
        float: none;
        background-color: currentColor;
        border: 0 solid currentColor;
    }

.la-square-loader {
    width: 32px;
    height: 32px;
}

    .la-square-loader > div {
        width: 80%;
        height: 81%;
        background: transparent;
        border-width: 2px;
        border-radius: 0;
        -webkit-animation: square-loader 2s infinite ease;
        -moz-animation: square-loader 2s infinite ease;
        -o-animation: square-loader 2s infinite ease;
        animation: square-loader 2s infinite ease;
    }

        .la-square-loader > div:after {
            display: inline-block;
            width: 100%;
            vertical-align: top;
            content: "";
            background-color: currentColor;
            -webkit-animation: square-loader-inner 2s infinite ease-in;
            -moz-animation: square-loader-inner 2s infinite ease-in;
            -o-animation: square-loader-inner 2s infinite ease-in;
            animation: square-loader-inner 2s infinite ease-in;
        }

    .la-square-loader.la-sm {
        width: 16px;
        height: 16px;
    }

        .la-square-loader.la-sm > div {
            border-width: 1px;
        }

    .la-square-loader.la-2x {
        width: 64px;
        height: 64px;
    }

        .la-square-loader.la-2x > div {
            border-width: 4px;
        }

    .la-square-loader.la-3x {
        width: 320px;
        height: 175px;
    }

        .la-square-loader.la-3x > div {
            border-width: 0px;
            transform: translate(13%,3%);
        }

.BJC-loader-logo {
    position: absolute;
    margin: 0px auto;
    transform: translate(0%, -10%);
    z-index: 2;
}
/*
 * Animations
 */
/*@-webkit-keyframes square-loader {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    25% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    50% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    75% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-moz-keyframes square-loader {
    0% {
        -moz-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    25% {
        -moz-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    50% {
        -moz-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    75% {
        -moz-transform: rotate(360deg);
        transform: rotate(360deg);
    }

    100% {
        -moz-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-o-keyframes square-loader {
    0% {
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    25% {
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    50% {
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    75% {
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }

    100% {
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes square-loader {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    25% {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    50% {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    75% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}*/
@-webkit-keyframes square-loader-inner {
    0% {
        height: 0;
    }

    25% {
        height: 0;
    }

    50% {
        height: 100%;
    }

    75% {
        height: 100%;
    }

    100% {
        height: 0;
    }
}

@-moz-keyframes square-loader-inner {
    0% {
        height: 0;
    }

    25% {
        height: 0;
    }

    50% {
        height: 100%;
    }

    75% {
        height: 100%;
    }

    100% {
        height: 0;
    }
}

@-o-keyframes square-loader-inner {
    0% {
        height: 0;
    }

    25% {
        height: 0;
    }

    50% {
        height: 100%;
    }

    75% {
        height: 100%;
    }

    100% {
        height: 0;
    }
}

@keyframes square-loader-inner {
    0% {
        height: 0;
    }

    25% {
        height: 0;
    }

    50% {
        height: 100%;
    }

    75% {
        height: 100%;
    }

    100% {
        height: 0;
    }
}

#toast {
    position: fixed;
    width: 100%;
    top: 0;
    min-height: 60px;
    background: #98FB98;
    left: 0;
    right: 0;
    transform: translate3d(0,-100%,0);
    transition: all 0.25s ease-in-out;
    z-index: 10000 !important;
    padding: 0 15px;
    line-height: 60px;
    font-weight: bold;
}

#toast.success {
    background-color:lightgreen;
    transform: translate3d(0,0,0);
}

#toast.error {
    background-color:lightcoral;
    transform: translate3d(0,0,0);
}

body.loading #toast {
	display: none !important;
}

.lvm-items {
    display: inline-flex;
    flex-wrap: wrap;
}

.lvm-filter.active,
button.filter-enable.active {
    display: block;
}

.lvm-filter.inactive,
button.filter-enable.inactive {
    display: none;
}


.ModBJCLVMC h3,
.ModBJCLVMC h4,
.ModBJCLVMC label,
.ModBJCLVMC p {
    font-family: 'Open Sans', sans-serif;
    font-weight: normal;
}

.ModBJCLVMC p {
    font-size: 12px;
}

.ModBJCLVMC .lvm-section-header {
    position: relative;
}

.ModBJCLVMC label {
    font-size: 12px;
    margin-bottom: 0px;
}

.ModBJCLVMC .dnnForm fieldset {
    border: none;
    margin: 0px;
    padding: 0px;
}

.ModBJCLVMC .edit-container {
    border: 1px solid #eeeeee;
    padding: 10px;
}

.ModBJCLVMC .btn-custom,
.ModBJCLVMC .btn-add-filters {
    cursor: pointer;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 13px;
    color: #668fb7;
    background-color: #fff;
}

.ModBJCLVMC .btn-custom {
    width: 100%;
    padding: 17px;
    border: 1px solid #668fb7;
    border-top: 4px solid #668fb7;
    margin-bottom: 10px;
    transition: 0.1s all ease-in-out;
}

.ModBJCLVMC .btn-custom.green {
    border: 1px solid forestgreen;
    border-top: 4px solid forestgreen;
    color: forestgreen;
}

.ModBJCLVMC .btn-custom.green:hover {
    background-color: forestgreen;
}

.ModBJCLVMC .btn-custom:hover {
    color: #FFFFFF;
    background-color: #668fb7;
}



.ModBJCLVMC .btn-add-filters {
    position: absolute;
    top: 0;
    right: 0;
    line-height: 25px;
    color: #00529b;
}

.ModBJCLVMC .btn-add-filters.inactive::after {
    content: 'Close';
}

.ModBJCLVMC .btn-add-filters::after {
    content: 'Add';
}

.ModBJCLVMC .btn-add-filters:before {
    content: '\f055';
    padding: 5px 5px 5px 5px;
    border-radius: 50%;
    font: normal normal normal 14px/1 FontAwesome;
}

.ModBJCLVMC .btn-add-filters.inactive:before {
    content: "\f057";
}

.ModBJCLVMC #add-filters {
    transition: all 1s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
    border: none;
    border-left: 4px solid #668fb7;
    background-color: #e1e1e1;
    overflow: hidden;
    max-height: 1000px;
}

.ModBJCLVMC #add-filters.inactive {
    max-height: 0px;
}

.ModBJCLVMC button.filter-close,
.ModBJCLVMC button.filter-add {
    background: transparent;
    border-radius: 0px;
    border: 1px solid #668fb7;
    border-left: 4px solid;
    color: #668fb7 !important;
    margin-bottom: 0px;
    text-shadow: none;
    min-width: 30px;
    height: 30px;
    line-height: 7px;
    padding: 0px;
}

.ModBJCLVMC #orderByFilters {
    display: inline-flex;
    padding: 15px 0;
}

.ModBJCLVMC #orderByFilters .filter-close {
    position: absolute;
    top: 0px;
    right:7px;
}

.ModBJCLVMC button.filter-close:hover {
    background: #668fb7;
    color: #ffffff !important;
    border-left: none;
}

.ModBJCLVMC .lvm-filter .input-group {
    padding: 7px;
    position: relative;
    display: inline-table;
}

.ModBJCLVMC .lvm-filter .input-group #charNum {
    position: absolute;
    left: 10px;
    bottom: -20px;
    font-size: 12px;
}

.ModBJCLVMC .modal-body label {
    padding-top: 15px;
}

.ModBJCLVMC .lvm-filter .input-group input,
.ModBJCLVMC .lvm-filter .input-group select,
.ModBJCLVMC .lvm-filter .input-group textarea {
    margin-bottom: 0px;
    border: none;
    box-shadow: none;
    border-bottom: 1px solid #668fb7;
    margin-right: 10px !important;
    width: 95%;
    font-size: 12px !important;
    padding: 8px;
}

.ModBJCLVMC .lvm-filter .input-group .input-group-btn {
    padding: 0px;
    vertical-align: bottom;
}

.ModBJCLVMC button.filter-enable {
    width: 100%;
    font-weight: normal;
    font-size: 13px;
    background-image: none;
    text-shadow: none;
    border-radius: 0px;
    background-color: white;
    color: black;
    font-family: opensans, sans-serif;
    border-color: #668fb7;
}

.ModBJCLVMC button.filter-enable:hover {
    color: white;
    background-color: #668fb7;
}

/* Tabulator Custom CSS - START */

.ModBJCLVMC .tabulator {
    background-color: transparent;
    border: none;
}


.ModBJCLVMC .tabulator .tabulator-header,
.ModBJCLVMC .tabulator .tabulator-headers,
.ModBJCLVMC .tabulator .tabulator-header .tabulator-col,
.ModBJCLVMC .tabulator .tabulator-header .tabulator-col .tabulator-col-content {
    height: 56px;
}

.ModBJCLVMC .tabulator .tabulator-header .tabulator-col {
    border:none;
}

.ModBJCLVMC .tabulator .tabulator-header .tabulator-col .tabulator-col-content {
    display: inline-flex;
    align-items: center;
}

.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-arrow {
    position: relative !important;
    top: initial !important;
}

.ModBJCLVMC .tabulator-row .tabulator-cell {
    border: none;
    font-size: 12px;
}


.ModBJCLVMC .tabulator-row {
    min-height:35px;
}

.ModBJCLVMC .tabulator-row .tabulator-cell i.fa-check,
.ModBJCLVMC .tabulator-row .tabulator-cell i.fa-plus {
    text-align: center;
    position: absolute;
    margin: 0px auto;
    left: 10%;
    font-size: 20px;
}

.ModBJCLVMC .tabulator-row .tabulator-cell i.fa-check {
    color: forestgreen;
}

.ModBJCLVMC .tabulator-row .tabulator-cell i.fa-plus {
    color: lightgray;
}

.ModBJCLVMC .tabulator-row .tabulator-cell.customField {
    cursor: pointer;
}


/* Tabulator Custom CSS - END */

.ModBJCLVMC #run {
    box-shadow: 0px 0px 0px initial;
}

.ModBJCLVMC #run.focus {
    box-shadow: 0px 0px 25px red;
}

.ModBJCLVMC .dnn-controls {
    display: flex;
    margin: 10px 0;
    position: absolute;
    top: -10px;
    right: 0;
    text-align: right;
    justify-content: flex-end;
}

.ModBJCLVMC .dnn-controls button {
    margin-right: 10px;
}

.ModBJCLVMC .dnn-controls .disable-overlay {
    position: relative;
}

.ModBJCLVMC .dnn-controls .disabler {
    z-index: 1000;
    width: 100%;
    height: 100%;
    position: absolute;
    cursor: not-allowed;
}

.ModBJCLVMC .dnn-controls button.disabled {
    background: lightgray;
    border-color: lightgray;
    text-shadow: none;
    pointer-events: initial;
}

#ui-datepicker-div {
    background-color: white;
    padding: 15px;
    border: 1px solid #668fb7;
    font-family: 'Open Sans', sans-serif;
}

.ui-datepicker-header {
    display: inline-flex;
    justify-content: space-around;
    width: 100%;
}
.ui-datepicker-prev,
.ui-datepicker-next {
    cursor: pointer;
}

.ui-datepicker-prev {
    float: left;
    order: 0;
}
.ui-datepicker-next {
    float: right;
    order: 2;
}

.ui-datepicker-title {
    order: 1;
}

.ui-datepicker-calendar th {
    padding: 5px;
}

#panel-all-details-wrapper {
    transition: all 1s ease-in-out;
    height: auto;
    overflow: hidden;
    max-height: 0px;
}

#itemDetailsModal.expand #panel-all-details-wrapper {
    max-height: 30000px;
}

#panel-all-details,
#panel-all-details-wrapper {
    border-radius: 0px;
}

#panel-all-details {
    width: 100%;
    padding: 17px;
    border: 1px solid #668fb7;
    border-top: 4px solid #668fb7;
    background-color: #668fb7;
    margin-bottom: 10px;
    transition: 0.1s all ease-in-out;
    color: white;
    cursor: pointer;
}

#panel-all-details:after {
    content: "\f078";
    padding: 0px;
    border-radius: 50%;
    float: right;
    transition: all 0.5s ease-in-out;
}

#itemDetailsModal.expand #panel-all-details:after {
    transform: rotate(180deg);
}

.panel {
    box-shadow:none;
}

.lvm-filter .input-group {
    /*border-top: 1px #eeeeee solid;*/
    width:100%;
}

.lvm-filter .input-group.sub-group {
    margin-left:20px;
    border-top: none;
}

.lvm-filter-tooltip {
    padding: 5px 10px;
    font-size: 16px;
}

.tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    word-wrap: normal;
    white-space: normal;
    filter: alpha(opacity=0);
    opacity: 0;
    line-break: auto;
    position: relative;
    display: inline-block;
    margin: 10px 0px;
    opacity: 1;
}

.tooltip .arrow {
    top: 50%;
    left: 0;
    margin-top: -5px;
    margin-left: -5px;
    border-width: 5px 5px 5px 0;
    border-right-color: #000 !important;
}

.tooltip .arrow {
    position: absolute;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
}

.tooltip-inner {
    max-width: 200px;
    padding: 3px 8px;
    color: #fff;
    text-align: center;
    background-color: #000;
    border-radius: 4px;
}

.ModBJCLVMC .edit-page {
    border-radius: 0px;
    text-shadow: none;
    color: inherit !important;
}

.ModBJCLVMC .force-update {
    border-radius: 0px;
    text-shadow: none;
    color: inherit !important;
}

.ModBJCLVMC span.currency {
    margin: 8px -8px 0 0;
    position: absolute;
}


/* HIDDEN CONTROLS */
[data-filter="ClassDate"],
[data-filter="EndDate"],
[data-filter="StartTime"],
[data-filter="StartTimes"],
[data-filter="EndTime"],
[data-filter="EndTimes"],
[data-filter="MainContactName"],
[data-filter="ClassDesc"],
[data-filter="NumberOfSlots"],
[data-filter="NumberEnrolled"],
[data-filter="NumberAvailable"],
[data-filter="DontUse"],
[data-filter="NoWeb"],
[data-filter="UseOrInSearch"],
[data-filter="UseIndexedSearch"],
[data-filter="Skip"] {
    display: none !important;
}

.ajax-hide {
    z-index: 1000;
}

.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

    .slider:before {
        position: absolute;
        content: "";
        height: 26px;
        width: 26px;
        left: 4px;
        bottom: 4px;
        background-color: white;
        -webkit-transition: .4s;
        transition: .4s;
    }

.isHidden.checked .slider {
    background-color: #2196F3;
}

input:focus .slider {
    box-shadow: 0 0 1px #2196F3;
}

.isHidden.checked .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

.tabulator-row:hover {
    background-color: #bbb !important;
}

.lvm-items .well {
    border-radius: 0px;
    border-color: transparent;
    background-image: none;
    box-shadow: none;
}

    .lvm-items .well h4 {
        text-transform: uppercase;
        font-size: 22px;
		line-height: initial;
    }

div[class^="class-item-"] {
    padding: 0px;
    margin: 7px 0;
    font-size: 16px;
    font-family: opensans, sans-serif;
    line-height: initial;
}

.lvm-items div[class^="class-item-"] span {
    padding: 0px;
}

.lvm-items a.lvm-button,
.lvm-items .class-item-add-remove i.fa {
    text-transform: uppercase;
    color: #00529B !important;
    background-color: #fff;
    border: 1px solid #00529B;
    padding: 0;
    text-shadow: none;
    border-radius: 0px;
    padding: 5px 40px;
    background-image: none;
    box-shadow: none;
}

    .lvm-items a.lvm-button:hover {
        color: #FFF !important;
        background-color: #00529B;
    }

.lvm-items .class-item-add-remove {
    text-align: center;
    display: inline-flex;
    width: 100%;
    justify-content: center;
}

    .lvm-items .class-item-add-remove i.fa {
        color: #FFF !important;
        background-color: #00529B !important;
        font-size: 18px;
        padding: 6px 12px;
        float: left;
        font-family: FontAwesome;
    }

.lvm-module a,
.lvm-module a:visited {
    color: #00529b !important;
}

#data-filter-wrapper {
    width: 20%;
}

#data-table-wrapper {
    width: 100%;
}

@media (max-width: 768px) {
    .lvm-items .well {
        padding: 5px;
    }

    .lvm-items .well span {
        font-size: 14px;
    }
}

.container-fluid.edit-mode {
    padding-left: 20px;
    padding-right: 20px;
}

@media screen and (min-width: 1400px) {

    .container-fluid.edit-mode {
        padding-left: 100px;
        padding-right: 100px;
    }
}

.lmv-module.loading {
    opacity: 0 !important;
}


body.cae-edit-state #globalBannerArea {
    display: none;
}


body.cae-edit-state #GlobalPrintEmailControl {
    display: none;
}

.nav.nav-tabs {
    margin-bottom: 25px;
}

.ModBJCLVMC .enabled-filters-contracts {
    display: flex;
    flex-direction: column;
}

.tabulator-col.customField, .tabulator-cell.customField {
    border-left: 1px solid #ccc !important;
}

a.force-update.active {
    color: #FFFFFF !important;
    background-color: #668fb7;
    content: 'Updating...'
}