.features label,
.finish label,
.handles label,
.radbar label {
    float: left;
    position: relative;
    background-color: #fff;
    display: inline-block;
}
#bbtoggle,
#ef.showit,
.radbar label,
.radbar.upload.showu {
    display: inline-block;
}
#bbtoggle .togbtn,
.bagcolourchoose,
.qtychoose {
    cursor: pointer;
    font-family: museo, sans-serif;
    box-sizing: border-box;
}
.or,
.radbar label,
h3.bbfo {
    font-weight: 700;
}
#bbtoggle {
    background: #f1f1f1;
    width: 100%;
    border-radius: 10px;
    padding: 12px;
    box-sizing: border-box;
    margin-bottom: 15px;
}
#bbtoggle .togbtn {
    width: 42%;
    color: #000;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 12px 6px;
    float: left;
    font-size: 1vw;
    line-height: 2.2rem;
    background: #ddd;
}
#bbtoggle .togbtn img {
    height: 40px !important;
    width: auto !important;
    float: left;
    margin-bottom: -5px;
}
#bbtoggle .togbtn:last-child {
    float: right;
    width: 48%;
}
#bbtoggle .togbtn.active {
    font-weight: 900;
    color: #662483;
    border: 1px solid #ccc;
    background: #fff;
}
#ef,
.bagcolourhide,
.features input[type="checkbox"],
.qtyhide,
.radbar.colours2,
.radbar.upload {
    display: none;
}
h3.bbfo {
    font-size: 1.8em;
    color: var(--cbPurple);
    margin: -1% 0 4%;
}
.bbnum.is-pulsing {
    animation: cb-builder-step-pulse 1.35s ease-in-out infinite;
    box-shadow: 0 0 0 0 rgba(102, 36, 131, .48);
}
@keyframes cb-builder-step-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(102, 36, 131, .5);
        transform: scale(1);
    }
    55% {
        box-shadow: 0 0 0 12px rgba(102, 36, 131, 0);
        transform: scale(1.06);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(102, 36, 131, 0);
        transform: scale(1);
    }
}
.radbar {
    margin: 0 0 15px;
}
.radbar input[type="radio"] {
    opacity: 0;
    position: fixed;
    width: 0;
}
.radbar label {
    cursor: pointer;
    padding: 12px 6px;
    font-size: 1em;
    border: 2px solid #ccc;
    border-radius: 10px;
    margin-right: 1%;
    margin-bottom: 1%;
    box-sizing: border-box;
}
.radbar label.is-disabled {
    background: #f3f3f3;
    border-color: #ddd;
    color: #999;
    cursor: not-allowed;
    opacity: .7;
}
.full-colour-qty-note {
    background: #f7f4fa;
    border: 1px solid #e8dff0;
    border-radius: 10px;
    box-sizing: border-box;
    clear: both;
    color: #662483;
    display: none;
    float: left;
    font-size: 1.05em;
    font-weight: 700;
    line-height: 1.25;
    margin: 8px 0 15px;
    padding: 10px 12px;
    text-align: center;
    width: 100%;
}
.fabric-lower-qty-note {
    background: #f7f4fa;
    border: 1px solid #e8dff0;
    border-radius: 10px;
    box-sizing: border-box;
    clear: both;
    color: #662483;
    float: left;
    font-size: 1.05em;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 15px;
    padding: 10px 12px;
    text-align: center;
    width: 100%;
}
.paper-builder-note {
    background: #f7f4fa;
    border: 1px solid #e8dff0;
    border-radius: 10px;
    box-sizing: border-box;
    clear: both;
    color: #662483;
    display: block;
    font-size: .9em;
    font-weight: 500;
    line-height: 1.35;
    margin: 0 0 15px !important;
    padding: 10px 12px;
    text-align: center !important;
    width: 100%;
}
.paper-builder-note[hidden] {
    display: none;
}
.paper-size-availability-note {
    position: relative;
    top: 12px;
}
#bagsize + .paper-size-availability-note {
    clear: both;
}
.features label,
.finish label,
.handles label {
    width: 32%;
    margin: 0 2% 2% 0 !important;
    cursor: pointer;
    padding: 12px 3px !important;
    font-size: 1em !important;
    border: 2px solid #ccc !important;
    border-radius: 10px;
    font-weight: 700 !important;
    box-sizing: border-box;
    text-align: center;
}
.finish label:hover,
.handles label:hover {
    border: 2px solid #444 !important;
}
.features input[type="checkbox"]:checked + label,
.finish input[type="radio"]:checked + label,
.handles input[type="radio"]:checked + label {
    background-color: #76b947;
    border: 2px solid #76b947 !important;
}
.features input[type="checkbox"]:checked + label:after,
.finish input[type="radio"]:checked + label:after,
.handles input[type="radio"]:checked + label:after,
.qtys input[type="radio"]:checked + label:after,
.radbar input[type="radio"]:checked + label:after {
    content: "✔";
    position: absolute;
    top: 27px;
    right: 3px;
    font-size: 15px;
    line-height: 0.8;
    color: var(--cbPurple, #662483);
    transition: 0.2s;
}
.features label:nth-of-type(3n),
.finish label:nth-of-type(3n),
.handles label:nth-of-type(3n) {
    margin: 0 0 2% !important;
}
.features label:nth-of-type(7),
.finish label:nth-of-type(4) {
    width: 49%;
    margin: 0 2% 2% 0 !important;
}
.features label:nth-of-type(8),
.finish label:nth-of-type(5) {
    width: 49%;
    margin: 0 0 2% !important;
}
.colours,
.qtys {
    display: flex;
    justify-content: space-between;
}
.colours label,
.qtys label,
.radbar.upload label {
    width: 100%;
    text-align: center;
}
.pb-product-main .paper-qtys {
    flex-wrap: wrap;
    justify-content: flex-start;
}
.pb-product-main .paper-qtys label {
    flex: 0 0 calc(25% - 6px) !important;
    min-width: 0;
}
.pb-product-main .paper-qtys label:nth-of-type(n+5) {
    flex-basis: calc(20% - 6.4px) !important;
}
.pb-product-main .paperbagbuilder #quantity.qtyhide {
    float: left;
    margin: 0 !important;
    min-height: 48px;
    width: calc(100% - 96px) !important;
}
.pb-product-main .paperbagbuilder .qtychoose {
    align-items: center;
    background: #ff5c26;
    border: 0;
    border-radius: 7px;
    box-sizing: border-box;
    color: #ffffff;
    float: right;
    font-family: "Uto", sans-serif;
    font-size: 15px;
    font-weight: 700;
    gap: 5px;
    justify-content: center;
    line-height: 1;
    margin: 0 !important;
    min-height: 48px;
    padding: 0 12px;
    width: 88px;
}
.features label {
    padding: 12px 2px !important;
}
.features label input {
    width: 22px;
    height: 22px;
    float: right;
    margin: -2px 0 0 6px;
}
.bagops {
    float: right;
    text-align: right;
    margin-right: 3%;
}
.bagops a {
    color: #444;
    font-size: 0.75em;
}
.bagops .i-btn {
    margin-right: 0;
    font-size: 1.2em;
    line-height: 0.8em !important;
    text-indent: 0;
    color: var(--cbPurple);
}
.radbar label:hover {
    background-color: #fff;
    border-color: #444;
}
.radbar input[type="radio"]:focus + label {
    border: 2px solid #444;
}
.radbar input[type="radio"]:checked + label {
    background-color: #76b947;
    border-color: #76b947;
}
.radbar.sides label,
.radbar.deadline label {
    width: 49.5%;
    text-align: center;
}
.radbar.sides label:nth-last-of-type(2),
.radbar.deadline label:nth-last-of-type(2) {
    margin-right: 0;
    float: right;
}
.radbar.deadline label {margin-bottom: 3%;}
#togdeadline {display:none;}

.radbar.colours2 label {
    width: 20%;
    text-align: center;
}
.radbar.colours2 label:last-child {
    width: 37%;
    text-align: center;
    margin-right: 0;
    float: right;
}
.radbar.upload.showu {
    width: 100%;
}
.bagcolourchoose,
.qtychoose {
    display: none;
    background-color: #ff5c26;
    color: #fff;
    padding: 12px 10px;
    font-size: 1.2em;
    border: 0 solid #ccc;
    border-radius: 10px;
    font-weight: 700;
    margin-right: 0;
    margin-bottom: 15px;
    float: right;
}
.bbupload {
    align-items: center;
    background: #ffffff;
    border: 2px dashed #d8e0e7 !important;
    border-radius: 6px;
    box-sizing: border-box;
    color: #7b8794;
    cursor: pointer;
    display: grid !important;
    float: none !important;
    gap: 6px 18px;
    grid-template-columns: 96px minmax(0, 1fr);
    justify-content: center;
    letter-spacing: 0;
    margin: 0 !important;
    min-height: 104px;
    padding: 14px 18px !important;
    text-align: left;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
    width: 100%;
}
.bbupload:hover,
.bbupload.is-dragover {
    background: #f0edf4;
    border-color: #662483 !important;
    color: #662483;
}
.bbupload.is-uploaded {
    background: #f4fbf2;
    border-color: #76B947 !important;
}
.bb-upload-visual {
    grid-row: 1 / span 2;
    height: 70px;
    margin: 0;
    position: relative;
    width: 96px;
}
.bb-upload-visual i {
    color: #c8d1da;
    display: block;
    position: absolute;
}
.bb-upload-visual i:nth-child(1),
.bb-upload-visual i:nth-child(2),
.bb-upload-visual i:nth-child(3) {
    display: none;
}
.bb-upload-visual i:nth-child(4) {
    color: #c2ccd6;
    font-size: 72px;
    left: 4px;
    top: 0;
}
.bb-upload-title {
    color: #000000;
    display: block;
    font-size: 1.25em;
    font-weight: 900;
    grid-column: 2;
    line-height: 1.08;
    max-width: 100%;
    min-width: 0;
}
.bbupload small {
    color: #000000;
    display: block;
    font-size: 1em;
    font-weight: 400;
    grid-column: 2;
    line-height: 1.2;
    margin-top: -2px;
    min-width: 0;
}
.bb-upload-confirm {
    box-sizing: border-box;
    clear: both;
    color: #276a28;
    display: none;
    float: left;
    font-size: 1.1em;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.3;
    margin: 10px 0 0;
    padding: 10px 12px;
    text-align: center;
    width: 100%;
}
.bb-upload-confirm.is-visible {
    display: block;
}
.bb-upload-confirm.is-error {
    color: #b00020;
}
.bb-upload-progress {
    background: #dde5ec;
    border-radius: 999px;
    display: none;
    height: 10px;
    margin: 10px auto 0;
    max-width: 420px;
    overflow: hidden;
    width: 100%;
}
.bb-upload-confirm.is-visible .bb-upload-progress {
    display: block;
}
.bb-upload-confirm.is-error .bb-upload-progress {
    display: none;
}
.bb-upload-progress b {
    background: #76B947;
    border-radius: inherit;
    display: block;
    height: 100%;
    transition: width .35s ease;
    width: 0;
}
.or {
    width: 7%;
    padding: 18px 0;
    display: inline-block;
    margin: 0 1.5%;
    text-align: center;
    font-size: 1.3em;
}
@media only screen and (min-width: 1490px) and (max-width: 1680px) {
    .radbar label {
        font-size: 0.8em;
    }
}
@media only screen and (min-width: 1180px) and (max-width: 1490px) {
    .radbar label {
        font-size: 0.8em;
        padding: 12px 4px;
    }
    #bbtoggle .togbtn img {
        height: 33px !important;
    }
}
@media only screen and (min-width: 991px) and (max-width: 1180px) {
    .radbar label {
        font-size: 0.85em;
        padding: 12px 4px;
    }
    #bbtoggle .togbtn img {
        height: 24px !important;
    }
    #bbtoggle .togbtn {
        font-size: 1.05vw;
    }
}
@media only screen and (min-width: 0px) and (max-width: 991px) {
    #bbtoggle .togbtn {
        font-size: 2.5vw;
        line-height: 5vw;
    }
    .radbar label {
        font-size: 2.5vw;
    }
}
@media only screen and (min-width: 0px) and (max-width: 690px) {
    #bbtoggle .togbtn {
        font-size: 4.8vw;
        line-height: 5vw;
    }
    .radbar label {
        font-size: 3.5vw;
        padding: 12px 4px;
    }
    .or {
        font-size: 1.1em;
    }
    .bbbar {
        font-size: 1.4em;
    }
    .bbnum {
        font-size: 1.55em;
    }
    .bbupload {
        gap: 4px 10px;
        grid-template-columns: 68px minmax(0, 1fr);
        min-height: 96px;
        padding: 14px !important;
    }
    .bb-upload-visual {
        height: 58px;
        width: 68px;
    }
    .bb-upload-visual i:nth-child(4) {
        font-size: 58px;
        left: 4px;
    }
    .bb-upload-title {
        font-size: 1.2em;
    }
    .bbupload small {
        font-size: .95em;
    }
}
