body{
    overflow: hidden;
}
body.logged-in .acc_login{
    display: none !important;
}
body:not(.logged-in) .acc_logout{
    display: none !important;
}
body.page-id-19915:not(.logged-in) .page_content_wrap {
    padding-top: 20px;
    padding-bottom: 0;
}
.acc_logout a {
    max-height: 46px;
}

.user-info-form {
    width: 70%;
    color: #000;
    font-size: 15px;
    background: #fff;
    padding: 30px;
    box-sizing: border-box;
    margin-top: 30px;
}
.us-info-row {
    display: flex;
    width: 100%;
    align-items: end;
    margin-bottom: 5px;
    position: relative;
}
.us-info-row label {
    width: 35%;
    padding-right: 30px;
    font-weight: 600;
    line-height: 1.3;
}

.us-info-row input {
    width: 25%;
    margin-right: 20px;
}
.us-info-update {
    margin-top: 50px;
}
input.cal_chk {
    width: 44px;
    height: 44px;
}
label.chk_container {
    position: absolute;
    top: 0;
    right: 0;
}
/* Customize the label (the container) */
.chk_container {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 0;
  right: 0;
  height: 44px;
  width: 44px;
  background-color: #eee;
}

/* On mouse-over, add a grey background color */
.chk_container:hover .checkmark {
  background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.chk_container .checkmark.checked {
  background-color: #FFE401;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.chk_container .checkmark.checked:after {
  display: block;
}

/* Style the checkmark/indicator */
.chk_container .checkmark:after {
    left: 13px;
    top: 0px;
    width: 15px;
    height: 30px;
  border: solid #000;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}


.user-info-form .info-text {
    font-size: 13px;
    line-height: 1.5;
    color: #333;
    font-weight: 600;
    margin: 18px 0 0 0;
}

.cal_year {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.cal_month {
    width: calc(25% - 15px);
    margin-bottom: 20px;
    border: 1px solid #000;
    overflow: hidden;
    position: relative;
}

.info-text {
    color: #000;
    font-size: 16px;
    font-weight: 600;
}

.orange .calendar tbody tr td.pad, 
.orange table > tbody > tr:nth-child(2n+1) > td,
.orange table > tbody > tr:nth-child(2n) > td,
.orange.cal_month {
    background: orange;
}

.red .calendar tbody tr td.pad, 
.red table > tbody > tr:nth-child(2n+1) > td,
.red table > tbody > tr:nth-child(2n) > td,
.red.cal_month {
    background: red;
}

.green .calendar tbody tr td.pad, 
.green table > tbody > tr:nth-child(2n+1) > td,
.green table > tbody > tr:nth-child(2n) > td,
.green.cal_month {
    background: green;
}


td.day.today {
    border: 1px solid #000;
}
.cal_month {
    position: relative;
}
.cal_month.orange table:before {
    content: 'Не оплачено';
    position: absolute;
    left: 28%;
    top: 31%;
    width: 100%;
    height: 100%;
    font-size: 40px;
    color: #000;
    z-index: 999;
    text-align: center;
    transform: rotate(-45deg);
}
.cal_month.red table:before {
    content: 'Долг по оплате';
    position: absolute;
    left: 26%;
    top: 36%;
    width: 100%;
    height: 100%;
    font-size: 35px;
    color: #000;
    z-index: 999;
    text-align: center;
    transform: rotate(-45deg);
}
.cal_month.green table:before {
    content: 'Оплачено';
    position: absolute;
    left: 26%;
    top: 36%;
    width: 100%;
    height: 100%;
    font-size: 35px;
    color: #000;
    z-index: 999;
    text-align: center;
    transform: rotate(-45deg);
}
.cal_month.no_contract table:before{
    content: 'Договор отсутствует';
    position: absolute;
    left: 26%;
    top: 36%;
    width: 100%;
    height: 100%;
    font-size: 35px;
    color: #000;
    z-index: 999;
    text-align: center;
    transform: rotate(-45deg);
}
.no_contract .calendar tbody tr td.pad, 
.no_contract table > tbody > tr:nth-child(2n+1) > td, 
.no_contract table > tbody > tr:nth-child(2n) > td, 
.no_contract.cal_month{
    background: #ccc;
}

input.cal_chk {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 99999999 !important;
    background: #ccc;
    clip: unset !important;
    width: 20px;
    height: 20px;
}
.cal_month.green label.chk_container,
.cal_month.no_contract label.chk_container{
    display: none;
}

.cal-pay {
    color: #000;
}
.cal-pay span.selected_monts {
    font-size: 20px;
}
.cal-pay span.price-wrp {
    font-weight: bold;
    font-size: 20px;
}
.payment_info_text {
    color: #000;
    margin: 30px 0;
    font-size: 13px;
    line-height: 1.5;
    background: #fff;
    padding: 20px;
}
.payment_methods_logo {
    display: flex;
    gap: 9px;
}
.payment_methods_logo img {
    height: 22px;
}
.payment__btn_wrp {
    display: flex;
    align-items: center;
    gap: 20px;
}
.info-text a,
.login_info_text a {
    color: #b2a008;
}
.lbl_info {
    width: 100%;
    font-size: 14px;
    line-height: 1.5;
    margin: 50px 0 0 0;
    background: #f8f8f8;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 10px;
}
.us-update-email,
.us-update-phone {
    margin-top: 10px;
}
.calendar-title {
    font-size: 24px;
    color: #000;
    font-weight: bold;
    margin: 77px 0 30px 0;
    text-align: center;
}
.months_not_selected{
    color: #000;
}
.checkout_info_text {
    background: #ffffff;
    color: #000;
    padding: 30px;
    border-radius: 10px;
    margin: 30px 0 50px 0;
}
strong.payment_error_info {
    color: #000;
    display: block;
    margin-bottom: 30px;
}
p.lrm-form-message.lrm-form-message--init.lrm-is-error {
    color: #000;
}
p.lrm-form-message.lrm-form-message--init.lrm-is-error a{
    color: #b2a008;
}
form.lrm-form.js-lrm-form input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000;
  opacity: 1; /* Firefox */
}


/* woo */
#checkout-wrp form.woocommerce-checkout #customer_details,
#checkout-wrp .shop_table.woocommerce-checkout-review-order-table.shop_table_checkout_review,
#checkout-wrp h3#order_review_heading,
#checkout-wrp h3#order_review_heading_payment,
.woocommerce-form-coupon-toggle,
.woocommerce-additional-fields,
h3#ship-to-different-address,
p#billing_country_field,
.woocommerce_status_bar,
tr.woocommerce-shipping-totals.shipping,
tr.cart-subtotal,
tr.order-total,
.col-1 h3,
h3#order_review_heading_payment {
    display: none !important;
}
div#payment {
    margin-top: 0;
}
div#checkout-wrp {
    margin: 30px 0;
}
.content_wrap form {
    margin: 30px 0;
}
a.button.cancel {
    letter-spacing: 0 !important;
    word-spacing: 3px;
}

form#loginform {
    margin: 0 auto;
    display: block;
    width: 400px;
    border: 1px solid;
    padding: 30px;
}

form#loginform input{
    width: 100%;
}

p.login-remember {
    line-height: 1;
    position: relative;
    margin: 20px 0;
}
form#loginform input#rememberme {
    width: 30px;
}
form#loginform input#wp-submit {
    width: auto !important;
}

.login-info-text {
    margin: 55px 0 0 0;
    color: #000;
}

/*login form*/
button.full-width.has-padding {
    text-align: center;
    margin: 0 auto;
    display: block;
    background: #ffe401;
    color: #000;
    letter-spacing: 1px;
}
.login_info_text {
    padding: 30px;
    font-size: 16px;
    color: #000;
    line-height: 1.5;
    font-weight: 600;
}
body:not(.restore_pass) p.lrm-form-message.lrm-form-message--init:not(.lrm-is-error){
    display: none !important;
}
span.mess_success {
    color: #14c414;
    font-weight: bold;
    width: 100px;
}
span.mess_error {
    color: #ff0000;
    font-weight: bold;
    width: 100%;
    left: calc(35% + 21px);
    font-size: 11px;
    position: absolute;
    top: 60px;
}
.us-info-update {
    display: grid;
    align-content: center;
    justify-content: center;
}
.lrm-form input.full-width,
.lrm-form input.full-width{
    color: #000 !important;
    font-weight: 500;
}
a.lrm-switch-to-link.lrm-switch-to--login.lrm-ficon-login.selected {
    color: #000;
}
label[for="billing_first_name"] span,
label[for="billing_last_name"] span,
label[for="billing_email"] span,
label[for="billing_phone"] span{
    display: block;
    font-size: 15px;
}


span.year_navi {
    font-size: 18px;
    position: absolute;
    color: #9d9a9a;
}
span.year_navi:hover{
    color: #333;
    cursor: pointer;
}
span.year_navi.prev_year_wrp {
    left: 0;
}
span.year_navi.next_year_wrp {
    right: 0;
}
.calendar-wrp {
    position: relative;
}
#loading_calendar {
    position: absolute;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: #ffffff5e;
    display: flex;
    align-items: center;
    justify-content: center;
}
#loading_calendar.hide{
    display: none;
}

.lily_pop {
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
}
.pop_overlay {
    position: absolute;
    background: #2a292973;
    width: 100vw;
    height: 100vh;
    left: 0;
    top: 0;
    z-index: 9999999;
}
.pop-content {
    position: absolute;
    width: 50vw;
    background: #fff;
    top: 0;
    left: 0;
    color: #000;
    transform: translate(50%, 50%);
    padding: 50px;
    box-sizing: border-box;
    box-shadow: 0px 0px 5px #00000094;
    z-index: 9999999;
    font-size: 16px;
    line-height: 1.5;
}
.close {
    width: 30px;
    height: 30px;
    background: url(../img/close.png) no-repeat;
    background-size: 100%;
    position: absolute;
    right: 15px;
    top: 15px;
    cursor: pointer;
}
label[for="pop_chk"] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
}
input#pop_chk {
    width: 15px;
    height: 15px;
}

.pass-row{
    flex-wrap: wrap;
}
.change_pass-content{
    display: none;
    width: 100%;
    position: relative;
    padding-bottom: 50px;
}
.change_pass {
    margin: 30px 0;
}
.change_pass-content label {
    width: 100%;
    display: flex;
    align-content: center;
}
.change_pass-content label span {
    width: 240px;
    position: relative;
    top: 13px;
}
.change_pass-content label input {
    width: 300px;
    border-color: #000;
}
.change_pass-content span.mess_error {
    bottom: 0;
    top: unset;
    left: 0;
    font-size: 13px;
}
.cal_month.cal_disable:before {
    position: absolute;
    content: '';
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 999;
    background: #cccccc69;
}
.cal_month.cal_loading:before {
    position: absolute;
    content: '';
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 999;
    background: #cccccc69 url(../img/loading.gif) no-repeat center center;
    background-size: 82px;
}

@media(max-width: 992px){
    .cal_month {
        width: calc(33% - 15px);
    }
    .user-info-form{
        width: 100%;
    }
    body.logged-in .acc_logout .icon-users-group:before {
        content: "\e80b";
    }
    body:not(.logged-in) .elementor-element-4f602a1,
    body:not(.logged-in) .elementor-element-0a9d31a{
        display: none !important;
    }
    span.mess_error{
        left: 35%;
    }
}
@media(max-width: 600px){
    .cal_month {
        width: calc(50% - 15px);
    }
    .us-info-row label{
        width: 60%;
    }
    .us-info-row{
        flex-wrap: wrap;
    }
    .us-info-update {
        margin-top: 10px;
    }
    label[for="us-email"],
    label[for="us-phone"] {
        margin-top: 30px;
    }
    .checkmark {
        height: 38px;
        width: 38px;
    }
    .chk_container .checkmark:after {
        width: 10px;
        height: 26px;
    }
    .payment__btn_wrp {
        flex-wrap: wrap;
    }
    span.mess_error{
        left: 32%;
    }
    .calendar-title{
        position: relative;
        padding-top: 40px;
    }
    span.year_navi {
        top: 0;
    }
    .change_pass-content label {
        width: 100%;
        flex-wrap: wrap;
    }
    .us-update-pass {
        margin-top: 30px;
    }
    .change_pass-content label input {
        margin-bottom: 18px;
        display: inline-block;
        padding-top: 23px;
    }
}
@media(max-width: 480px){
    .cal_month {
        width: 100%;
    }
    span.mess_error {
        left: 0;
        top: 150px;
    }
}