/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Hanlding Updates
-----------------------------------------------------------------*/


/* Class Styles      */
.class_header_list {
    list-style: none;
    display: inline-block;
    font-size: 70%;
    vertical-align: text-top;
    margin-bottom: 0;
}



/* File Picker      */

.file-input.file-input-ajax-new .file-preview {
    display: none;
}
.file-drop-zone {
    min-height: 290px;
}
.file-preview {
    height: 100%;
}

.inline {
	display: inline !important;
}
.summaryCount small {
    font-size: .5em;
    font-weight: 100;
}
.summaryCount {
    font-size: 2em;
}
.topmargin-xs {
    margin-top: 15px;
}
.bottommargin-xs {
    margin-bottom: 15px;
}
.leftmargin-xs {
    margin-left: 15px;
}
.rightmargin-xs {
    margin-right: 15px;
}

.table>tbody>tr.strongborder td {
    border-top: 2px solid #333;
}
.table tr td {
    padding: 0.75rem 0.5rem;
}
.Sent-status {
   background: #00A6E9;
   color: #FFF;
}
.Viewed-status {
    background: #e8a540;
    color: #FFF;
}
.Unsent-status {
    background: #F07900;
    color: #FFF;
}
.Overdue-status {
    background-color: #c43c34;
}
.green {
    color: #8bc53e;
    background: transparent;
}
span.status {
    display: block;
    margin: 10px 0 -10px 15px;
    padding-top: 5px;
    color: #444;
    border-top: 1px dashed #e5e5e5;
}
div.employee_summary:hover {
    background: #FFF;
}
.grey {
    color: #8888;
    background: transparent;
}
.red {
    color: #c43c34;
    background: transparent;
}
.green-bg {
    background-color: #8bc53e;
}
.red-bg {
    background-color: #c43c34;
}
.button-light {
    background: #F5F5F5;
}
.badge-white {
    background: white;
    color: #c23934;
}
.table.center th, .table.center td  {
    text-align: center;
}
.content-wrap {
    padding: 20px 0 80px;
}
.back-button {
    display: inherit !important;
    float: left;
    margin: -11px 14px -21px 0;
    padding: 7px 15px 0 0;
    border-right: 1px solid #cdced2;
    height: 40px;
    font-size:19px;
}
/* Select 2 */
span.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 41px;
    width: 30px;
} 
span.select2-selection.select2-selection--single {
    border: 2px solid #ddd;
    height: 41px;
    padding: 5px;
}
span.select2-container--default .select2-selection--single .select2-selection__clear {
    right: 5px;
    font-size: 16px;
}
ul.select2-selection__rendered {
    max-height: 148px;
    overflow-y: scroll !important;
}
h3.popover-title {
    font-size: 1em;
}
textarea.form-control {
    min-height: 200px;
}

.form-control.number {
    padding-right: 6px;
}

.note-editor.note-frame .note-editing-area .note-editable {
    padding: 0 10px;
}
.note-editable {
    min-height: 200px;
}
.note-editable p {
    margin-bottom: 5px;
}
.note-editable ul, .note-editable ol {
    padding-left: 30px;
}
.note-group-select-from-files {
    display: none;
}
.style-msg {
    text-align: center;
}
.style-msg .close {
    top: 13px;
    right: 25px;
}
.portfolio-meta li span {
    width: 50%;
}
.sticky-form-footer {
    position: fixed;
    bottom: 0;
    height: 63px;
    background: #FFF;
    padding: 5px 20px;
    box-shadow: 0px 0px 4px -1px #000;
    width: 100%;
    z-index: 9;
    left: 0;
}
.toggle .togglet, .toggle .toggleta {
    font-weight: 400;
    padding:0;
    border-bottom: 1px solid #ddd;
}
.toggle .togglet i {
    left: auto;
    right: 0;
}
.togglet small {
    font-weight: 100;
    font-size: .65em;
    color: #9c9c9c;
}
.toggleta small {
    display: none;
}
.somethingChanged {
    border: 2px solid #1ABC9B;
}
.somethingChangedLabel {
    color: #1ABC9B;
    text-decoration: underline;
}
.top-cart-items .list-group-item {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
    margin: -1px 0 !important;
}
.top-cart-items {
    padding: 0;
}
.list-group-item.active {
    color: #fff;
    background-color: #C23934;
    border-color: #C23934;
}
.list-group-item.active:hover,
.list-group-item.active:focus {
    color: #fff;
    background-color: #C23934;
    border-color: #C23934;
}
.toggle .togglet i {
    font-size: 14px;
}
.widget_links .active, .widget_links li.active a, .widget_links li.current a {
    margin-left: 10px;
    color: #1ABC9C !important;
}
/*  Custom Table Styles */

table.row.header {
    margin: 0;
}
table.button.yellow {
    background: #f0b51c;
    padding: 3px 0 3px 9px !important;
}

tr.dtrg-group.dtrg-start.dtrg-level-1 td {
    padding: 4px 0 4px 40px;
    font-weight: 500;
    background: #efefef;
}

tr.dtrg-group.dtrg-start.dtrg-level-0 td {
    padding: 7px 10px;
    background: #717171;
    color: #fff;
}

/* Modal Styles */

.portfolio-ajax-modal {
    width: max-content !important;
    box-shadow: 0px 0px 8px 8px #333;
}

.mfp-close {
    height: 52px;
}

.ajax-modal-title {
    padding: 12px 20px;
}
.shop-quick-view-ajax, .portfolio-ajax-modal .wide-modal {
    width: 900px;
}
#primary-menu ul li > a span.badge {
    display: inline-block;
    float: right;
    background-color: #c23934;
    color: #FFF;
}
.btn.btn-secondary.dropdown-toggle.dropdown-toggle-split {
    float: right;
    padding: 0 7px;
    border: 1px solid #ddd;
    margin-left: 7px;
    border-radius: 4px;
}
.invoice-vertical-line {
    margin: -20px 0 0 57px;
    border: 2px solid #b2c2cd;
    height: 18px;
    width: 0;
}

.sale.normal_price {
    text-decoration: line-through;
    color: #C23934;
    font-weight: 100;
}

.badge
{
  display: inline-block;
  padding: .25em .4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25rem;
}

.badge:empty
{
  display: none;
}

.btn .badge
{
  position: relative;
  top: -1px;
}

.badge-pill
{
  padding-right: .6em;
  padding-left: .6em;
  border-radius: 10rem;
}

.badge-primary
{
  color: #fff;
  background-color: #007bff;
}

.badge-primary[href]:hover,.badge-primary[href]:focus
{
  color: #fff;
  text-decoration: none;
  background-color: #0062cc;
}

.badge-secondary
{
  color: #fff;
  background-color: #6c757d;
}

.badge-secondary[href]:hover,.badge-secondary[href]:focus
{
  color: #fff;
  text-decoration: none;
  background-color: #545b62;
}

.badge-success
{
  color: #fff;
  background-color: #28a745;
}

.badge-success[href]:hover,.badge-success[href]:focus
{
  color: #fff;
  text-decoration: none;
  background-color: #1e7e34;
}

.badge-info
{
  color: #fff;
  background-color: #17a2b8;
}

.badge-info[href]:hover,.badge-info[href]:focus
{
  color: #fff;
  text-decoration: none;
  background-color: #117a8b;
}

.badge-warning
{
  color: #212529;
  background-color: #ffc107;
}

.badge-warning[href]:hover,.badge-warning[href]:focus
{
  color: #212529;
  text-decoration: none;
  background-color: #d39e00;
}

.badge-danger
{
  color: #fff !important;
  background-color: #dc3545;
}

.badge-danger[href]:hover,.badge-danger[href]:focus
{
  color: #fff;
  text-decoration: none;
  background-color: #bd2130;
}

.badge-light
{
  color: #212529;
  background-color: #f8f9fa;
}

.badge-light[href]:hover,.badge-light[href]:focus
{
  color: #212529;
  text-decoration: none;
  background-color: #dae0e5;
}

.badge-dark
{
  color: #fff;
  background-color: #343a40;
}

.badge-dark[href]:hover,.badge-dark[href]:focus
{
  color: #fff;
  text-decoration: none;
  background-color: #1d2124;
}


.step-badge {
    color: #cdd1d3;
    float: left;
    font-size: 25px;
    line-height: 50px;
    margin-right: 18px;
    text-align: center;
    border-width: 2px;
}

.step-badge__inner {
    background: #fff;
    border: 2px solid #c43c34;
    border-radius: 50%;
    color: #c43c34;
    width: 50px;
    height: 50px;
    line-height: 46px;
    box-sizing: border-box;
}
.step-badge__inner--checked {
    color: #fff;
    background: #c43c34;
    border-color: #c43c34;
    line-height: 38px;
}
.step-badge__inner--checked, .step-badge__inner--disabled {
    height: 40px;
    width: 40px;
    margin: 0 6px;
    border-width: 2px;
    border-style: solid;
    line-height: 36px;
}
.step-badge__inner--skipped {
    background: #d8d8d8;
    border: 2px solid #d8d8d8;
    color: #fff;
    height: 40px;
    line-height: 38px;
    margin: 5px 5px 0 6px;
    width: 40px;
}

.wv-svg-icon, .wv-svg-icon--large {
    fill: #FFF;
}
.wv-svg-icon {
    width: 20px;
    height: 20px;
}
#toast-container.toast-top-center>div, #toast-container.toast-bottom-center>div {
    width: auto;
    max-width: fit-content;
}
#check_for_parents_body .button {
    display: block;
    padding: 10px;
    text-align: left;
    margin: 10px 40px;
}
#check_for_parents_body .button div, #check_for_parents_body .button span {
    font-family: inherit;
    font-style: normal;
    font-size: .65em;
}
.employee_summary {
    position: relative;
    padding: 20px;
    background-color: #FFF;
    border: 1px solid rgba(0,0,0,0.1);
    box-shadow: 0 1px 1px rgba(0,0,0,0.1);
    display: block;
    margin-top: -1px;
}
.employee_summary:hover {
    background: #FAFAFA;
}
.employee_summary .pay {
    display: block;
    color: #555;
    font-weight: bold;
}

.employee_summary .pay small {
    display: block;
    color: #888;
    font-weight: 400;
}

.employee_summary .pay:first-child {
    border-bottom: 1px dashed #e5e5e5;
    padding-bottom: 5px;
}

.employee_summary .pay:last-child {
    padding-top: 5px;
}
.table-disabled {
    background: #eee;
    color: #999;
    opacity: .6;
}
button.button:disabled {
    opacity: .4;
    pointer-events: none;
}
table.divider:after {
    border: 0;
}
table.divider {
    margin: 0;
    color: #FFF;
}
.button.button-reveal.tright:focus i, .button.button-reveal.tright:active i, .button.button-reveal.tright:focus-within i, .button.button-reveal.tright:visited i {
    left: auto;
    right: 0;
}
.button.button-reveal.tright:focus span, .button.button-reveal.tright:active span, .button.button-reveal.tright:visited span {
    left: -16px;
}
.button-3d.button-green:focus, .button-reveal.button-green:focus, .button-border.button-green:focus, .button-border.button-green.button-fill:focus, 
.button-3d.button-green:active, .button-reveal.button-green:active, .button-border.button-green:active, .button-border.button-green.button-fill:active,
.button-3d.button-green:visited, .button-reveal.button-green:visited, .button-border.button-green:visited, .button-border.button-green.button-fill:visited {
    background-color: #59BA41 !important;
}
label.error {
    display: inline;
    width: 100%;
    text-align: right;
    float: right;
    margin-bottom: 0;
}
.payroll_list .payroll_list_item:nth-child(even) {
    margin-right: 0 !important;
    float: right;
    clear: right;
}
.table th span {
    display: block;
    font-size: .8em;
    color: #999;
}
@media (max-width: 767.98px) {
    #payroll-widget i {
        width: 2px !important;
        visibility: hidden;   
    }
    .card .card-header .nobottommargin {
        margin-bottom: 0  !important;
    }
    .phone-center {
        text-align: center;
    }
    .postcontent, .postcontent.bothsidebar, .sidebar, .col_full, .col_half, .col_one_third, .col_two_third, .col_three_fourth, .col_one_fourth, .col_one_fifth, .col_two_fifth, .col_three_fifth, .col_four_fifth, .col_one_sixth, .col_five_sixth {
        margin-bottom: 20px !important;
    }
    #page-menu, #page-menu-wrap {
        display:none;
    }
    .back-button {
        margin: 14px 0 0 -28px;
    }
     #header.sticky-header:not(.static-sticky):not(.sticky-style-2):not(.sticky-style-3) #logo img {
         height: -webkit-fill-available;
         max-height: 100px;
     }
    .phone-center a {
        float: none !important;
        margin: 10px 0 !important;
        display: block;
    }
    .process-steps li {
        display: none;
    }
    .process-steps li.ui-tabs-active.ui-state-active {
        display: block;
    }
    #calculate_deductions {
        margin-left: 25px;
    }
    #ptab3 #paystub {
        transform: scale(0.4);
        margin-top: -176px;
        margin-left: -33px;
        height: 500px;
        width: 0px;
    }
    #dancer_list_buttons {
       padding-top:20px;
    }
   
}

#dancer_list_buttons {
        display: flex;
        flex-direction: column;
          justify-content: center;
    }
#dancer_list_buttons button {
    text-align: center !important;
}
    
@media only screen and (min-width: 768px) { 
    .phone-break {
        display: none;
    }
}
@media print {
    #page-title {
        display: none;
    }
    #primary-menu {
        display: none;
    }
    #header.full-header {
        border-bottom: none !important;
        margin: none;
        padding: none;
        text-align: left;
    }
    #logo a:first-child {
        display: block !important;
        margin: 0;
        padding: 0;
        
    }
     #logo a:last-child {
        display: none !important;
    }
    a[href]:after {
    content: none !important;
    }
    #primary-menu-trigger {
        display: none;
    }
    .breadcrumb {
        display: none;
    }
    #top-search {
        display: none;
    }
    #header.sticky-header #header-wrap {
        box-shadow: none;
    }
    #header {
        width: 100%;
        padding:0;
    }
    #logo {
        border-right: 0 !important;
    }
    #logo img {
        height: 80% !important;
        text-align: left;
        margin: -30px 0 0 -10px;
    }
    .container, #header .container, .container-fullwidth, .container, #header.full-header .container, .container-fullwidth {
        width: 100% !important;
        padding:0;
    }
    .content-wrap {
        padding: 0 0 80px;
    }
}
.checkbox-style-3-label {
    font-weight: 300;
    text-transform: capitalize;
}

/* ----- Publisher CSS ---- */

.publisher_checkbox.checkbox-style-3-label span {
    display: block;
    font-weight: 300;
    margin-left: 35px;
    margin-top: -10px;
    font-size: .9em;
}
.publisher_checkbox.checkbox-style-3-label {
    font-size: 0.8em;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
.publisher_checkbox.checkbox-style-3-label:before {
    vertical-align: text-top;
}



/* ----- Popover Button CSS ---- */


.button.button-secondary {
    border: 2px solid transparent;
    border-radius: 4px;
    background: transparent !important;
    text-shadow: none;
    color: #b2b2b2 !important;
    
}
.button.button-secondary:hover {
    border: 2px solid #b2b2b2;
}

.menu-popover li {
    padding: 5px 15px;
    list-style: none;
}
.menu-popover li:first-child {
    margin-top: 15px;
}
.menu-popover li:last-child {
    margin-bottom: 15px;
}
.menu-popover li:hover {
    background: aliceblue;
    cursor: pointer;
}

/* ----- Payments / Credit Card Styling ---- */

.card-body .card_icon {
    width: 45px;
    height: 32px;
    background-repeat: no-repeat;
    background-size: cover;
    display: inline-block;
}
.card-body .card_icon.MASTERCARD {
    background-image: url("../images/icons/MASTERCARD.png");
}
.card-body .card_icon.VISA {
    background-image: url("../images/icons/VISA.png");
}
.card-body .card_icon.AMERICAN_EXPRESS {
    background-image: url("../images/icons/AMERICAN_EXPRESS.png");
}

.card-body .card_number, .card-body .card_exp,.card-body .parent_name {
    display: inline-block;
    height: 32px;
    margin-left: 20px;
    font-size: 1.1em;
    vertical-align: bottom;
}

.card-body.card_on_file {
    padding: 1.25rem 1.25rem 1.05rem;
}

/* ----- Portal mobile (invoice / pay / nav) ---- */

@media (max-width: 991px) {
    #header.transparent-header:not(.floating-header) {
        margin-top: 0;
    }
    #header.transparent-header:not(.floating-header) .container {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        position: relative;
    }

    /* Room for hamburger; wide portal wordmark otherwise covers left:0 trigger */
    #header #logo {
        padding-left: 48px !important;
        padding-right: 12px !important;
        box-sizing: border-box;
    }

    #header #primary-menu-trigger {
        display: block;
        opacity: 1 !important;
        pointer-events: auto !important;
        z-index: 20;
        left: 8px;
        top: 25px;
        margin-top: 0;
        color: #333;
        font-size: 18px;
    }

    #header.primary-menu-open #primary-menu > ul,
    body.primary-menu-open #primary-menu > ul {
        display: block !important;
    }
}

/* Keep invoice logos sane in Messages (retina Logos@2x is huge natively) */
.portal-msg-body .ods-inv-header-row img,
.portal-msg-body .ods-invoice-email img[src*="Logos"] {
    width: 180px !important;
    max-width: 180px !important;
    height: auto !important;
}

/* Portal register: Heads Up + Checkout CTA */
.portal-checkout-alert {
    float: none !important;
    width: 100%;
    clear: both;
    box-sizing: border-box;
    overflow: hidden;
}

.portal-checkout-alert .portal-checkout-copy {
    margin: 0 0 12px;
    line-height: 1.45;
}

.portal-checkout-alert .portal-checkout-btn {
    float: none !important;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    text-align: center;
    box-sizing: border-box;
    line-height: 1.2 !important;
    padding: 16px 18px !important;
    font-size: 16px !important;
}

@media (min-width: 768px) {
    .portal-checkout-alert .portal-checkout-btn {
        display: inline-block;
        width: auto;
        min-width: 200px;
        padding: 12px 28px !important;
    }
}

@media (max-width: 767px) {
    .form-widget .row.shadow .col-lg-8.p-5 {
        padding: 1.25rem !important;
    }

    .portal-sidebar {
        padding: 1rem 1.25rem 0.5rem;
    }

    .portal-pay-tab-nav {
        display: flex !important;
        flex-direction: column;
        width: 100%;
        float: none !important;
    }

    .portal-pay-tab-nav > li {
        width: 100% !important;
        float: none !important;
        margin: 0 0 6px !important;
    }

    .portal-pay-tab-nav > li > a {
        display: block !important;
        width: 100%;
        text-align: center;
        padding: 12px 10px !important;
        box-sizing: border-box;
    }

    .portal-pay-cc-btn,
    .portal-pay-sidebar #portal_cc_pay {
        display: block !important;
        width: 100% !important;
        max-width: 100%;
        text-align: center;
        box-sizing: border-box;
    }

    .portal-pay-sidebar #portal_cc_pay span {
        display: inline-block;
    }

    .portal-msg-body {
        padding: 10px !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
    }

    .portal-msg-body #border {
        margin: 0 !important;
        padding: 0 6px !important;
        border: 0 !important;
    }

    .portal-msg-body .ods-inv-banner td {
        padding: 14px 12px !important;
        font-size: 15px !important;
        text-align: center !important;
    }

    .portal-msg-body .ods-inv-banner-amt {
        font-size: 22px !important;
        line-height: 1.2 !important;
    }

    .portal-msg-body .ods-inv-personal-msg,
    .portal-msg-body .ods-inv-personal-msg p {
        width: auto !important;
        max-width: 100% !important;
        padding: 0 !important;
        box-sizing: border-box;
        white-space: normal !important;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .portal-msg-body .ods-inv-header-row img,
    .portal-msg-body .ods-invoice-email img[src*="Logos"] {
        width: 180px !important;
        max-width: 180px !important;
        height: auto !important;
    }

    .portal-msg-body .ods-inv-billto-row,
    .portal-msg-body .ods-inv-billto-row > tbody,
    .portal-msg-body .ods-inv-billto-row > tbody > tr,
    .portal-msg-body .ods-inv-totals-outer,
    .portal-msg-body .ods-inv-totals-outer > tbody,
    .portal-msg-body .ods-inv-totals-outer > tbody > tr {
        display: block !important;
        width: 100% !important;
    }

    .portal-msg-body .ods-inv-billto-row > tbody > tr > td,
    .portal-msg-body .ods-inv-totals-outer > tbody > tr > td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        text-align: left !important;
        box-sizing: border-box;
        padding: 8px 0 !important;
    }

    .portal-msg-body .ods-inv-services th:nth-child(2),
    .portal-msg-body .ods-inv-services td:nth-child(2) {
        display: none;
    }

    .portal-msg-body .ods-inv-services th,
    .portal-msg-body .ods-inv-services td {
        padding: 10px 6px !important;
        font-size: 15px;
    }

    .portal-msg-body .ods-inv-header-row address {
        float: none !important;
        text-align: left !important;
    }

    .portal-msg-body .ods-inv-meta,
    .portal-msg-body .ods-inv-totals {
        width: 100% !important;
    }

    .portal-msg-body .ods-inv-meta td {
        white-space: normal !important;
        text-align: left !important;
    }

    .portal-msg-body .ods-inv-services-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
    }

    .portal-msg-body .ods-inv-pay td {
        padding-left: 10px !important;
        padding-right: 10px !important;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .portal-msg-body .ods-pay-cta-btn {
        display: block !important;
        width: 100% !important;
        text-align: center;
        padding: 16px 12px !important;
        box-sizing: border-box;
    }
}

@media (max-width: 480px) {
    .portal-pay-tab-nav > li > a img {
        width: 24px;
        height: auto;
    }
}

