.generator-steps {
    width: 40%;
    float: right;
    color: #2e2e2e;
    background: transparent;
    position: relative;
    padding: 0;
}
.step-tools-nav-icons::after {
    content: '';
    display: block;
    clear: both;
}
.icon-text {
    font-family: "Roboto Condensed" ,"Arial Narrow", Arial, sans-serif;
    font-size: 18px;
    color: #000000;
    font-weight: bold;
    height: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.custom-radio {
    display: block;
    position: relative;
    margin: 0;
    overflow: hidden;
    float: left;
}
.custom-radio input:focus,
.custom-radio input:active,
.custom-radio input {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    outline: none!important;
}

.step-tool-item-icon-material {
    background: url(../img/mg/m-1.jpg) no-repeat center center;
    background-size: 105% 105%!important;
}
.step-tool-item-icon-holes {
    position: relative;
}
.step-tool-item-icon-holes.no-holes {
    background-image: url(../img/mg/none.png);
    background-repeat: no-repeat;
    background-position: center center;
}
.step-tool-item-icon-holes .holes-set {
    position: absolute;
    left: 3px;
    right: 3px;
    top: 3px;
    bottom: 3px
}
.step-tool-item-icon-holes .holes-set .hole {
    width: 6px!important;
    height: 6px!important;
}
.step-tool-item-icon-holes .holes-set .hole.hole-center-right,
.step-tool-item-icon-holes .holes-set .hole.hole-center-left {
    margin-top: -3px;
}
.step-tool-item-icon-holes .holes-set .hole.hole-bottom-center,
.step-tool-item-icon-holes .holes-set .hole.hole-top-center {
    margin-left: -3px;
}
#constructor.material-selected-n2 .step-tool-item-icon-material {
    background-image: url(../img/mg/m-2.jpg);
}
.step-tool-item-icon-text .icon-text {
    font-size: 12px;
    line-height: 14px;
    overflow: hidden;
    white-space: nowrap;
}
.step-tool-item-icon {
    border: 1px solid rgba(0, 0, 0, .5);
    height: 80px;
    width: 80px;
    margin: 0 auto;
    border-radius: 3px;
    background-size: auto 95%;
    background-position: center center;
    background-repeat: no-repeat;
    text-align: center;
    background-color: rgba(255, 255, 255, .5);
}
.step-tool-item-icon.step-tool-item-icon-frame-id-5 {
    background-position: left center;
    background-size: 400% auto;
}
.step-tool-item-icon.step-tool-item-icon-frame-id-8,
.step-tool-item-icon.step-tool-item-icon-frame-id-9,
.step-tool-item-icon.step-tool-item-icon-frame-id-10 {
    background-size: 500% auto;
}
.step-tool-item {
    display: none;
}
.step-tool-item-content {
    padding: 0;
    z-index: 5;
    background: rgba(255, 255, 255, .65);
    background: linear-gradient(to bottom, rgba(255,255,255,.65) 0%,rgba(255,255,255,.65) 70%,rgba(255,255,255,0) 100%);
    box-sizing: border-box;
}
.step-tool-item-content-wrap {
    padding: 0 10px 15px 10px;
    box-sizing: border-box;
    overflow: hidden;
}
.step-tool-item-content-wrap::after {
    content: '';
    display: block;
    clear: both;
}
.step-tool-item-label {
    cursor: pointer;
    padding: 6px 0 6px;
    width: 16.666666666%;
    float: left;
}

.step-tool-item-label.active {
    z-index: 10;
    position: relative;
    background-color: rgba(255, 255, 255, .66);  
}
.step-tool-item-label.active .text {
    color: #ffffff;
}
.step-tool-item-label.active .step-tool-item-icon {
    background-color: rgba(255, 255, 255, .3);
    position: relative;
    border-color: #ffffff;
}
.step-tool-item-label.active .step-tool-item-icon::before {
    /*content: '';*/
    position: absolute;
    z-index: 10;
    left: 100%;
    top: 50%;
    margin-left: -36px;
    margin-top: -20px;
    border-right: 20px solid #9f8447;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid transparent;
}
.step-tool-item-icon-frame .icon-text,
.step-tool-item-icon-cross .icon-text {
    line-height: 18px;
    font-size: 14px;
    text-transform: uppercase;
    /* display: none; */
}
.step-tool-item-icon-portrait {
    /* background-image: url(../img/none.png); */
    background-repeat: no-repeat;
    background-position: center center;
}
.add-photo .step-tool-item-icon-portrait {
    background-image: url(../img/mg/placeholder.png);
    background-position: center bottom;
    background-size: auto 95%;
}
.step-tool-item-icon-portrait .icon-text {
    line-height: 18px;
    font-size: 12px;
    text-transform: uppercase;
}
.step-tool-item-icon-holes .icon-text {
    line-height: 18px;
    font-size: 12px;
    text-transform: uppercase;
}
.step-tools-nav-items {
    position: relative;
    z-index: 10;
}

.step-tool-item-label .text {
    text-transform: uppercase;
    font-family: "Roboto Condensed" ,"Arial Narrow", Arial, sans-serif;
    font-weight: bold;
    font-size: 16px;
    display: block;
    margin: -5px 5px 5px;
    text-align: center;
    display: block;
    color: #ffffff;
    height: 2em;
    line-height: 2em;
}
.step-tool-item-label .text .text-valign {
    line-height: 1em;
    vertical-align: middle;
    display: inline-block;
}
.step-tool-item.active {
    display: block;
}

#constructor label[for="material-1"] {
    background-image: url(../img/mg/m-1.jpg);
}
#constructor label[for="material-2"] {
    background-image: url(../img/mg/m-2.jpg);
}

.step-buttons {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 56px;
    margin: 0 0 0;
    z-index: 10;
    background: transparent;
    display: none!important;
}
.step-buttons .btn {
    margin: 0;
    box-sizing: border-box;
    padding: 0;
    width: 50%;
    min-width: 50%!important;
    height: 100%;
    line-height: 54px;
    height: 56px;
    border: none;
    text-align: center;
    float: left;
    display: block;
    min-width: 0;
}
.step-buttons .btn-next {
    float: right;
}
.step-buttons .btn-prev {
    border-right: 1px solid rgba(255, 255, 255, .5);
    background: rgba(255, 255, 255, .2);
}

label[for^="tabl-frame-"],
label[for^="tabl-cross-"] {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 90% auto;
    width: 100%;
    padding: 0;
    min-width: 0;
    margin: 0;
    border: 1px solid rgba(0, 0, 0, .5);
    border-radius: 3px;
    height: auto;
}
label[for^="tabl-frame-"]::after,
label[for^="tabl-cross-"]::after {
    content: '';
    display: block;
    padding-bottom: 100%;
}
label[for^="tabl-cross-"] {
    background-size: auto 90%;
}
label[for="tabl-frame-8"],
label[for="tabl-frame-9"],
label[for="tabl-frame-10"] {
    background-size: 500px auto;
}
label[for="tabl-frame-5"] {
    background-position: 1px center;
    background-size: 300px auto;
}
label[for="tabl-cross-15"] {
    background-size: 90% auto;
}
.btn-radio-group {
    margin-right: -4px;
}
.custom-for-btn-radio-style {
    width: 33.33333%;
    box-sizing: border-box;
    float: left;
    padding-right: 4px;
    margin: 0 0 4px;
}
.custom-for-btn-custom-width {
    width: auto;
}
.btn-radio-style {
    color: #333;
    font-family: "Roboto Condensed" ,"Arial Narrow", Arial, sans-serif;
    font-size: 16px;
    font-weight: bold;
    box-sizing: border-box;
    text-decoration: none;
    color: #2e2e2e;
    width: 100%;
    height: 40px;
    line-height: 15px;
    margin: 0;
    border: 1px solid rgba(0, 0, 0, .5);
    text-align: center;
    padding: 12px 0;
    border-radius: 3px;
    display: block;
    cursor: pointer;
    text-transform: uppercase;
    position: relative;
}
.custom-for-btn-radio-options-2 {
    width: 50%;
}
.custom-for-btn-radio-options-4 {
    width: 25%;
    max-width: 125px;
}
.custom-for-btn-radio-options-5 {
    width: 20%;
    max-width: 125px;
}
.custom-for-btn-radio-options-6 {
    width: 16.66666666%;
    max-width: 125px;
}
.btn-radio-style .text-label-valign {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.btn-radio-style.no-text-transform {
    text-transform: none;
}
input:not(:checked) + .btn-radio-style:hover {
    background-color: rgba(255, 255, 255, .6);
}
input:checked + .btn-radio-style {
    background-color: #ffffff;
    color: #6c00ff;
    border-color: #ffffff;
}
label[for^="editor_mode-"] {
    height: 70px;
    padding-top: 8px;
    padding-bottom: 8px;
    line-height: 20px;
}
label[for="tabl-frame-0"],
label[for="tabl-cross-0"] {
    text-indent: 0;
    line-height: 16px;
    font-size: 20px;
    line-height: 22px;
    text-shadow: 0 0 1px #fff;
    font-weight: bold;
    text-align: center;
    background-image: url(../img/mg/none.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 75% auto;
}
label[for^="material-"].btn-radio-style {
    width: 100%;
    height: 99px;
    line-height: 15px;
    padding: 50px 0 20px;
    text-align: center;
    background-repeat: no-repeat;
    background-position: center center!important;
    background-size: 110% auto!important;
    border: 3px solid transparent;
}
input:not(:checked) + label[for^="material-"]:hover {
    border: 3px solid #6c00ff;
}
input:checked + label[for^="material-"] {
    border: 3px solid #6c00ff;
    color: #6c00ff;
}
input:checked + label[for^="material-"]::after {
    content: '\f058';
    display: block;
    position: absolute;
    font-family: 'Font Awesome\ 5 Free';
    font-weight: 900;
    left: 50%;
    top: 20px;
    margin-left: -20px;
    width: 40px;
    text-align: center;
    font-size: 32px;
}
.btn-more-size {
    float: left;
    font-size: 15px;
    line-height: 18px;
    padding: 6px 0 5px;
}
.custom-radio input:disabled+label {
    display: none;
}
label[for^="tabl-photo-"],
label[for^="tabl-holes-"] {
    position: relative;
}
form.working,
#constructor-form.working {
    position: relative;
}
form.working:after,
#constructor-form.working:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: none;
    z-index: 10;
}
form.working .btn.btn-submit,
#constructor-form.working .btn.btn-submit {
    background-image: url(../img/mg/spin.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 36px 36px;
    transition: none;
    animation: none;
}
#constructor .woo-price-container {
    margin: 10px 0 0;
    display: none;
    font-size: 16px;
}
#constructor .woo-price-container.woo-price-container-old {
    margin: 5px 0 0;
    opacity: .5!important;
}
#constructor .woo-price-container small {
    color: #fff;
    text-transform: none;
    font-weight: normal;
    font-size: 60%;
    vertical-align: super;
}
.form-control:focus {
    outline: none!important;
    box-shadow: none;
}
.step-content p {
    color: #2e2e2e;
    margin-bottom: 15px;
    font-size: 15px;
}
.tabl-preview img {
    display: block;
    border: 1px solid #000;
    max-width: 100%;
    height: auto;
}
.product-price {
    font-size: 26px;
    line-height: 42px;
    font-weight: bold;
    margin: 0 0 0 12px;
}
.description-dynamic-section {
    display: none;
    max-width: 354px;
}
.description-dynamic-section.visible {
    display: block;
}
.description-dynamic-section img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 3px;
}
.wpb_text_column .epitaph-comment,
.epitaph-comment {
    color: #2e2e2e;
    text-align: right;
    margin: 0 5px;
    font-size: 14px;
}
#constructor h4,
#constructor label,
#constructor-canvas * {
  -webkit-user-select: none;  
  -moz-user-select: none;   
  -ms-user-select: none;    
  user-select: none;        
}
#constructor-canvas * {
    -webkit-touch-callout: none;
}
.constructor-submit {
    height: 56px;
    line-height: 56px;
    text-align: right;
    color: #fff;
    position: relative;
    z-index: 15;
    margin-right: 40px;
    margin-bottom: 20px;
    float: right;
}
.constructor-submit > span,
.constructor-submit > a {
    float: left;
    display: block;
    line-height: 42px;
}
.constructor-submit .btn-submit {
    margin: 0;
    display: inline-block;
    padding: 0 15px;
    line-height: 42px;
    height: 42px;
    width: auto;
    min-width: 0;
    margin-left: 15px;
    background-color: #6c00ff;
    border: 1px solid #6c00ff;
    text-decoration: none;
    font-family: Roboto, sans-serif;
    border-radius: 4px;
    color: #ffffff;
    position: relative;
    vertical-align: middle;
    overflow: hidden;
}

.constructor-submit p {
    color: #fff!important;
    font-style: normal!important;
    line-height: 56px!important;
    font-size: 22px!important;
}
#constructor .full-message {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 28px;
    font-weight: bold;
    z-index: 10;
    text-align: center;
    padding-top: 100px;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    z-index: 10020;
}
.old-browser-message {
    display: none;
    position: absolute;
    z-index: 500;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    color: #ffffff;
    background: #000000;
}
.input-id {
    position: absolute;
    bottom: 1px;
    right: 1px;
    display: block;
    text-align: center;
    background: #ffffff;
    border-radius: 3px;
    width: 18px;
    line-height: 18px;
    text-align: center;
    font-size: 12px;
    opacity: .85;
    color: #000000;
}
input:checked + label .input-id {
    color: #6c00ff;
}
#constructor-steps textarea {
    width: 100%;
    resize: none;
    height: 84px;
    line-height: 1.25;
}
#constructor .fa-icon {
    font-family: 'Font Awesome\ 5 Free';
    font-weight: 900;
    font-style: normal;
    font-size: 24px;
    vertical-align: -4px;
    margin-right: 7px;
}
.hide-prices .product-price,
.hide-prices .product-price-label {
    display: none!important;
}
.price-mobile {
    display: none;
}
.option-price {
    display: none;
}

.memorial-size-select .custom-radio {
    display: none;
}
.not-add-photo .memorial-size-select .custom-for-no-photo,
.not-add-photo .memorial-size-select .custom-for-no-photo,
.not-add-photo .memorial-size-select .custom-for-no-photo {
    display: block;
}
.add-photo .memorial-size-select .custom-for-has-photo,
.add-photo .memorial-size-select .custom-for-has-photo,
.add-photo .memorial-size-select .custom-for-has-photo {
    display: block;
}

.constructor-style-simple .memorial-size-select .custom-radio.custom-for-size-style-outline {
    display: none;  
}
.constructor-style-outline .memorial-size-select .custom-radio.custom-for-size-style-simple {
    display: none;  
}

#constructor h4 {
    color: #2e2e2e;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 18px;
    text-transform: none;
    margin-left: 0;
    text-transform: none;
    font-weight: bold;
    border-bottom: 1px dotted #000;
}
#constructor h4 small {
    font-size: 16px;
    font-weight: normal;
}
.step-content {
    margin: 0 0 15px 0;
}
.cf:after,
.step-content.cf:after {
    content: '';
    display: block;
    clear: both;
}

.quote-form input[type="text"],
.quote-form input[type="email"],
.quote-form input[type="tel"],
.quote-form input[type="password"],
.quote-form textarea,
.quote-form select {
    color: #000;
    font-size: 16px;
    border: 1px solid #454545;
    height: 40px;
    padding-top: 0;
    padding-bottom: 0;
}
.quote-form textarea {
    height: 80px;
    padding-top: 10px;
    padding-bottom: 10px;
}
.quote-form .field-control.date-input {
    width: 49%;
    float: left;
}
.quote-form .field-control.date-input + .field-control.date-input {
    float: right;
}



#wc_checkout_add_ons a.dropzone .progress::after {
    content: 'Загрузка...';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    color: #333;
}
#wc_checkout_add_ons a.dropzone .progress {
    height: 100%;
    border-radius: 0;
}
#wc_checkout_add_ons a.dropzone .progress .bar {
    background: #b0a792;
    border-radius: 0;
    display: block;
}
a.file {
    text-decoration: underline;
}
a.file:hover {
    text-decoration: none;
}
#photos-upload-zone {    
    font-size: 16px;
}
.dz-message p {
    line-height: 1.2em;
}
.dz-message p {
    color: #000;
    margin: 0 15px!important;
}
.photo-upload small,
p.small-comment {
    line-height: 1.1em;
    color: #000;
    font-size: 14px;
    margin-top: 5px;
}
.photo-upload {
    display: none;
}
.add-photo .photo-upload {
    display: block;
    margin-top: 5px;
}
.dropzone .dz-preview .dz-remove {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 50;
    background: rgba(255, 255, 255, .7);
    border-radius: 0 0 20px 20px;
}
.dropzone .button-action {
    margin: 10px auto;
    display: block;
    width: 200px;
}
div .dropzone.dz-started .dz-message {
    display: block;
}
div .dropzone.dz-started .dz-message small {
    display: none;
}

.constructor-floating-bar {
    display: none;
}
.disabled-group-control {
    position: relative;
}
.disabled-group-control::before {
    content: 'РЕДАКТИРОВАНИЕ ЗАПРЕЩЕНО';
    position: absolute;
    left: 0; top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, .8);
    z-index: 55;
    font-weight: bold;
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}




@media screen and (max-width: 1370px) {
}
@media screen and (max-width: 1300px) {
    .step-tool-item-label .text {
        font-size: 14px;
        padding-top: 6px;
    }
    .step-tool-item-icon {
        width: 60px;
        height: 60px;
    }
    .icon-text {
        font-size: 15px;
    }
    .step-tool-item-icon-text .icon-text {
        font-size: 11px;
        line-height: 11px;
    }
    .step-tool-item-icon-portrait .icon-text,
    .step-tool-item-icon-holes .icon-text {
        font-size: 9px;
    }
    .btn-radio-style {
        font-size: 14px;
    }
}
@media screen and (max-width: 1200px) {
    .step-tool-item-label .text {
        margin-left: 0;
        margin-right: 0;
        font-size: 12px;
    }
    .btn-radio-style {
        font-size: 12px;
    }
    label[for^="editor_mode-"] {
        line-height: 15px;
        height: 50px;
    }
    .btn-radio-style[for^="tabl-size-"] {
        font-size: 14px;
    }
}

@media screen and (max-width: 999px) {
    .generator-steps {
        float: none;
        width: auto;
    }
    .selection-description {
        display: none;
    }
    .custom-for-btn-radio-options-4,
    .custom-for-btn-radio-options-5,
    .custom-for-btn-radio-options-6 {
        max-width: 100px;
    }
    .constructor-submit.price-desktop {
        display: none;
    }
    .step-tool-item-content {
        padding-bottom: 75px;
    }
    .step-tool-item-icon {
        width: 80px;
        height: 80px;
    }
    .step-tool-item-label .text {
        font-size: 14px;
    }
    .btn-radio-style[for^="tabl-size-"],
    .btn-radio-style {
        font-size: 15px;
    }
    .step-tool-item-icon-portrait .icon-text, 
    .step-tool-item-icon-holes .icon-text {
        font-size: 11px;
    }
    .constructor-floating-bar {
        display: block;
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        background: #000000;
        box-shadow: -2px 0 5px #000;
        z-index: 500;
        background: #000000;
        padding: 2px 10px;
        box-sizing: border-box;
        white-space: nowrap;
        color: #ffffff;
    }
    .product-price {
        line-height: 38px;
        margin: 3px 5px 0 -3px;
        display: block;
        float: left;
    }
    .floating-button {
        background: #000000;
        color: #ffffff;
        text-align: center;
        width: 135px;
        height: 36px;
        line-height: 36px;
        border-radius: 4px;
        border: 1px solid transparent;
        display: block;
        float: left;
        text-decoration: none;
        position: relative;
        margin: 3px 0!important;
    }
    .floating-button .fa {
        font-size: 24px;
        margin: 5px auto;
        display: inline-block;
        vertical-align: -3px;
        margin-right: 3px;
    }
    .floating-button-text {
        display: inline-block;
        white-space: nowrap;
        text-transform: uppercase;
        font-size: 14px;
    }
    .floating-button.btn-submit {
        background: #6c00ff;
        border-color: #6c00ff;
    }
    .constructor-floating-bar-left {
        float: left;
    }
    .constructor-floating-bar-right {
        float: right;
    }
    .button-scroll-to-preview,
    .button-scroll-to-constructor {
        display: none;
    }
    .wpb_text_column .epitaph-comment, 
    .epitaph-comment {
        color: #ffffff;
    }
}

@media screen and (max-width: 600px) {
    .product-price {
        font-size: 18px;
    }
    .floating-button {
        width: 90px;
    }
    .constructor-floating-bar-right .floating-button-text {
        font-size: 10px;
    }
    .step-tool-item-icon {
        width: 60px;
        height: 60px;
    }
    .step-tool-item-label .text {
        font-size: 12px;
    }
    .step-tool-item-icon-portrait .icon-text, 
    .step-tool-item-icon-holes .icon-text {
        font-size: 8px;
        line-height: 10px;
    }
    .step-tool-item-icon-frame .icon-text, 
    .step-tool-item-icon-cross .icon-text {
        font-size: 12px;
        line-height: 15px;
    }
    .icon-text {
        font-size: 13px;
    }
    .btn-radio-style[for^="tabl-size-"],
    .btn-radio-style {
        font-size: 14px;
    }
    label[for^="editor_mode-"] {
        height: 64px;
    }
    .btn-radio-style {
        font-weight: normal;
    }
    input[type="number"], input[type="text"], input[type="email"], input[type="tel"], textarea {
        padding-left: 7px;
        padding-right: 7px;
    }
}

@media screen and (max-width: 374px) {
    .constructor-floating-bar-right .floating-button-text {
        display: none;
    }
    .constructor-floating-bar-right .floating-button {
        width: 36px;
    }
    .icon-text {
        font-size: 11px;
    }
    .step-tool-item-icon {
        width: 40px;
        height: 40px;
    }
    .step-tool-item-label .text {
        font-size: 10px;
    }
    .step-tool-item-icon-portrait .icon-text, 
    .step-tool-item-icon-holes .icon-text {
        font-size: 6px;
        line-height: 10px;
    }
    .step-tool-item-icon-text .icon-text {
        font-size: 7px;
        line-height: 8px;
    }
    .btn-radio-style[for^="tabl-size-"], 
    .btn-radio-style {
        font-size: 12px;
    }
    label[for="tabl-frame-0"], 
    label[for="tabl-cross-0"] {
        font-size: 15px;
        line-height: 20px;
    }
}