@charset "utf-8";.clear,br {
    clear: both
}

#footer,.loading {
    bottom: 0;
    right: 0
}

*,:after,:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    outline: 0
}

blockquote,body,button,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul {
    margin: 0;
    padding: 0;
    font-family: 'Roboto Slab',sans-serif!important;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

fieldset,img {
    border: 0;
    outline: 0
}

input {
    border: 1px solid #b0b0b0;
    padding: 3px 5px 4px;
    color: #979797;
    width: 190px
}

address,caption,cite,code,dfn,th,var {
    font-style: normal;
    font-weight: 400
}

ol,ul {
    list-style: none
}

caption,th {
    text-align: left
}

.center,.loading,button.circle {
    text-align: center
}

h1,h2,h3,h4,h5,h6 {
    font-size: 100%;
    font-weight: 400
}

q:after,q:before {
    content: ''
}

abbr,acronym {
    border: 0
}

body,html {
    height: 100%
}

body {
    background: #000
}

.left {
    float: left
}

.right {
    float: right
}

.nofloat {
    float: none!important
}

.nobg {
    background: 0 0!important
}

small {
    font-size: 10px
}

hr {
    border-color: #21696b;
    border-width: 1px;
    margin: 0
}

.box {
    min-height: 30px;
    display: block;
    float: left
}

.first {
    margin-left: 0!important
}

.col1,.col2,.col3,.col4,.col6,.col8 {
    margin-left: 4%
}

.col1 {
    width: 4.66%;
    background: red
}

.col2 {
    width: 13.33%;
    background: orange
}

.col3 {
    width: 22%
}

.col4 {
    width: 30.66%
}

.col6 {
    width: 48%
}

.col8 {
    width: 65.3%
}

.col12 {
    width: 100%;
    margin-left: 0
}

.hide {
    display: none!important
}

.text-orange {
    color: #ffae38
}

.text-cyan {
    color: #5afbea
}

.no-border {
    border: 0!important
}

.bg-cyan {
    background-image: linear-gradient(to right,#21696b,transparent);
    border: 1px solid #21696b
}

.bg-yellow {
    background-image: linear-gradient(to right,#4c3b1f,transparent);
    border: 1px solid #4c3b1f
}

.checkbox label:after,button {
    min-width: 48px;
    height: 32px;
    line-height: 13px!important;
    background-color: #1f4549;
    color: #5afbea;
    font-size: 15px;
    padding: 9px 20px;
    border: 1px solid #5afbea;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    text-align: center;
    cursor: pointer;
    background-image: -webkit-gradient(linear,0 top,0 10,from(rgba(255,255,255,.22)),to(transparent)),-webkit-gradient(linear,0 bottom,0 28,from(rgba(255,255,255,.22)),to(transparent));
    background-image: gradient(linear,0 top,0 10,from(rgba(255,255,255,.22)),to(transparent)),gradient(linear,0 bottom,0 28,from(rgba(255,255,255,.22)),to(transparent));
    background-image: -moz-gradient(linear,0 top,0 10,from(rgba(255,255,255,.22)),to(transparent)),-moz-gradient(linear,0 bottom,0 28,from(rgba(255,255,255,.22)),to(transparent));
    background-image: -o-gradient(linear,0 top,0 10,from(rgba(255,255,255,.22)),to(transparent)),-o-gradient(linear,0 bottom,0 28,from(rgba(255,255,255,.22)),to(transparent))
}

.checkbox input[type=checkbox]:checked+label:after,button.yellow {
    background-color: #522F00;
    background-image: -webkit-gradient(linear,0 top,0 10,from(#935810),to(transparent)),-webkit-gradient(linear,0 bottom,0 28,from(#935810),to(transparent));
    color: #ffae38;
    border-color: #ffae38
}

#footer,#header {
    background: #000
}

#header,h1 {
    color: #fff
}

button.circle {
    border-radius: 16px;
    width: 32px!important;
    min-width: 16px;
    min-height: 16px;
    padding: 0;
    margin-left: 10px;
    margin-top: 2px;
    border-width: 2px
}

#main {
    margin-top: 20px;
    margin-bottom: 70px
}

#header {
    border-bottom: 1px solid #5afbea;
    padding: 10px 0
}

h1 {
    font-size: 36px;
    line-height: 32px;
    margin: 25px auto 20px
}

#footer {
    width: 100%;
    position: fixed;
    border-top: 1px solid #5afbea;
    z-index: 7
}

.container {
    width: 888px;
    margin: 0 auto
}

#main .container {
    transform-origin: center top
}

#superBox {
    margin: 0 auto;
    transform: scale(1);
    border-width: 1px;
    box-sizing: content-box;
    overflow: hidden
}

#upload button,#upload input {
    display: block;
    position: relative;
    top: 0;
    left: 0;
    width: 100%
}

#upload {
    overflow: hidden;
    height: 35px
}

#upload input {
    cursor: pointer;
    background: pink;
    height: 35px;
    padding: 0;
    position: relative;
    top: -35px;
    opacity: 0
}

.img-container,.img-container img {
    max-width: 100%;
    height: auto;
    min-width: auto;
    min-height: auto;
    width: 100%
}

.loading,.mask {
    position: absolute;
    height: 100%;
    left: 0
}

.cropper-canvas>img,.img-container>img {
    display: none!important
}

.mask {
    background: url(img/mask.png) left top;
    width: 100%;
    top: 0;
    z-index: 99;
    pointer-events: none;
    opacity: .9
}

#upload:hover button,.button:hover,button:hover {
    background: #000
}

.loading {
    display: none;
    top: 00%;
    line-height: 12px;
    font-size: 30px;
    color: #ddcb64;
    text-shadow: 0 5px 5px #000;
    background: rgba(30,30,30,.8);
    z-index: 99999
}

.loading .img {
    background: url(img/scanner.png) center center no-repeat;
    width: 300px;
    height: 300px;
    position: relative;
    top: 50%;
    margin: -150px auto 0;
    -webkit-animation-name: rotate;
    -webkit-animation-duration: 4s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: rotate;
    -moz-animation-duration: 4s;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear
}

@-webkit-keyframes rotate {
    from {
        -webkit-transform: rotate(0)
    }

    to {
        -webkit-transform: rotate(360deg)
    }
}

@-moz-keyframes rotate {
    from {
        -moz-transform: rotate(0)
    }

    to {
        -moz-transform: rotate(360deg)
    }
}

#footer,.action-bar,.toggle-btn,body,html {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: none
}

.action-bar {
    display: block;
    position: fixed;
    top: 50px;
    min-height: 640px;
    min-height: 608px;
    min-height: 552px;
    width: 350px;
    width: 300px;
    background: rgba(0,0,0,.8);
    border: 1px solid #5afbea;
    padding: 1px 15px 0 14px;
    z-index: 8;
    overflow-y: auto;
    overflow: visible
}

.action-bar .bg-cyan {
    border: none
}

.action-bar button,.action-bar input {
    display: block;
    display: inline-block;
    float: none
}

.action-bar>div {
    margin: 14px 0;
    height: 35px
}

.action-bar>div button,.action-bar>div>span {
    display: block;
    float: left
}

.action-bar>div>label,.action-bar>div>span {
    display: inline-block;
    height: 32px;
    padding-top: 9px;
    padding-left: 7px;
    color: #ffae38;
    font-size: 15px;
    line-height: 19px
}

.action-bar #exportPieces,.action-bar #upload,.action-bar>div button {
    height: 35px
}

.action-bar #upload button {
    width: 100%
}

.action-bar #exportPieces,.action-bar #upload button {
    padding: 0 7px
}

.label.slider {
    background-color: transparent!important;
    display: block;
    box-sizing: border-box
}

.action-bar #help {
    width: 100%;
    margin-left: 0
}

.toggle-btn,.toggle-btn span {
    border-bottom: 20px solid transparent;
    border-top: 20px solid transparent;
    border-left: 0;
    width: 0;
    display: block
}

.action-bar .value {
    color: #aaa;
    text-align: right;
    height: 32px;
    padding-top: 9px;
    font-size: 15px;
    line-height: 19px
}

.disabled {
    cursor: not-allowed;
    filter: grayscale(1);
    -moz-filter: grayscale(1);
    -webkit-filter: grayscale(1)
}

.toggle-btn {
    z-index: 9;
    padding: 0;
    border-right: 30px solid #5afbea;
    height: 90px;
    background: 0 0!important;
    cursor: pointer;
    min-width: 0;
    position: absolute;
    top: 50%;
    margin-top: -45px;
    left: -30px
}

.left .toggle-btn {
    transform: scale(-1,1);
    left: auto;
    right: -30px
}

.action-bar.right {
    right: -300px
}

.action-bar.left {
    left: -300px
}

.action-bar.right.open {
    right: +15px
}

.action-bar.left.open {
    left: +15px
}

.toggle-btn span {
    border-right: 29px solid #000;
    height: 88px;
    position: relative;
    top: -19px;
    left: 2px;
    font-weight: 700;
    color: #5afbea;
    font-size: 36px;
    line-height: 40px;
    text-indent: 4px
}

.ui-corner-all {
    border-radius: 0!important;
    border: none!important
}

.slider {
    background: #5afbea!important
}

.slider.ui-slider-horizontal {
    margin-top: 0;
    top: 34px;
    height: 3px!important
}

.slider.first {
    margin-left: 0
}

.slider.second {
    top: -3px
}

.slider .ui-slider-handle {
    cursor: ew-resize!important;
    width: 20px!important;
    height: 20px!important;
    border-radius: 10px!important;
    top: -10px!important;
    background: #1D9E91!important;
    box-shadow: 0 0 15px 0 rgba(0,0,0,.5),inset 0 0 0 2px #5afbea
}

#slider-zoom.rs-control .rs-range-color {
    background-color: #8bdbdc
}

#slider-zoom.rs-control .rs-handle,#slider-zoom.rs-control .rs-path-color {
    background-color: #5afbea
}

#slider-zoom.rs-control .rs-bg-color {
    background-color: #000
}

#slider-zoom.rs-control .rs-border {
    border: none
}

.inputText input {
    background: rgba(0,0,0,.4);
    color: #aaa;
    height: 35px;
    border-color: #5afbea
}

.inputText input:active,.inputText input:focus {
    border-color: #ffae38
}

.ui-widget-overlay {
    background: #000;
    opacity: .7
}

.faq {
    background: #000;
    border: 1px solid #21696b!important;
    padding: 0
}

.faq .ui-dialog-titlebar {
    background-color: transparent;
    background-image: linear-gradient(to right,#21696b,transparent);
    border: 1px solid #21696b;
    color: #5afbea;
    font-size: 15px;
    font-weight: 400;
    padding-top: 9px
}

.faq .ui-dialog-titlebar button,.faq .ui-dialog-titlebar button * {
    background: 0 0;
    text-indent: 0;
    color: #5afbea;
    margin-top: -6px
}

.faq #faq {
    font-size: 14px
}

.faq #faq h3 {
    font-size: 18px;
    text-align: left;
    text-transform: uppercase;
    color: #ffae38;
    margin: 15px 0 -3px
}

.faq #faq ol,.faq #faq ul {
    list-style-type: disc;
    padding-left: 19px;
    margin-top: 10px;
    color: #aaa;
    font-size: 14px;
    line-height: 19px
}

.faq #faq ol {
    list-style-type: decimal
}

.faq #faq ol li,.faq #faq ul li {
    margin: 12px 0
}

.faq #faq a {
    text-decoration: underline;
    color: #5afbea
}

.checkbox label {
    width: 100%!important;
    cursor: pointer;
    position: relative;
    height: 35px!important
}

.checkbox input[type=checkbox] {
    display: none
}

.checkbox label:after {
    width: 23.8%;
    float: right;
    content: "\03a7";
    position: relative;
    margin-top: -9px;
    height: 35px;
    padding: 9px 0;
    min-width: 0
}

.checkbox input[type=checkbox]:checked+label:after {
    content: "\2713"
}

.niaBtn,.niaPalette {
    background: #1f4549;
    color: #5afbea!important;
    background-image: -webkit-gradient(linear,0 top,0 10,from(rgba(255,255,255,.22)),to(transparent)),-webkit-gradient(linear,0 bottom,0 28,from(rgba(255,255,255,.22)),to(transparent));
    background-image: gradient(linear,0 top,0 10,from(rgba(255,255,255,.22)),to(transparent)),gradient(linear,0 bottom,0 28,from(rgba(255,255,255,.22)),to(transparent));
    background-image: -moz-gradient(linear,0 top,0 10,from(rgba(255,255,255,.22)),to(transparent)),-moz-gradient(linear,0 bottom,0 28,from(rgba(255,255,255,.22)),to(transparent));
    background-image: -o-gradient(linear,0 top,0 10,from(rgba(255,255,255,.22)),to(transparent)),-o-gradient(linear,0 bottom,0 28,from(rgba(255,255,255,.22)),to(transparent));
    border: 1px solid #5afbea!important
}

.niaBtn .sp-picker-container,.niaPalette .sp-picker-container {
    border: none
}

.niaPalette {
    background: #000!important
}

.niaBtn {
    height: 35px
}

.niaPalette .sp-cancel,.niaPalette .sp-cancel:active,.niaPalette .sp-cancel:focus,.niaPalette .sp-cancel:hover {
    color: #ffae38!important
}

.niaPalette.sp-container button {
    background-color: #1f4549;
    height: 35px;
    color: #5afbea;
    font-size: 15px;
    border: 1px solid #5afbea;
    -webkit-appearance: none;
    border-radius: 0;
    text-align: center;
    cursor: pointer;
    background-image: -webkit-gradient(linear,0 top,0 10,from(rgba(255,255,255,.22)),to(transparent)),-webkit-gradient(linear,0 bottom,0 28,from(rgba(255,255,255,.22)),to(transparent));
    background-image: gradient(linear,0 top,0 10,from(rgba(255,255,255,.22)),to(transparent)),gradient(linear,0 bottom,0 28,from(rgba(255,255,255,.22)),to(transparent));
    background-image: -moz-gradient(linear,0 top,0 10,from(rgba(255,255,255,.22)),to(transparent)),-moz-gradient(linear,0 bottom,0 28,from(rgba(255,255,255,.22)),to(transparent));
    background-image: -o-gradient(linear,0 top,0 10,from(rgba(255,255,255,.22)),to(transparent)),-o-gradient(linear,0 bottom,0 28,from(rgba(255,255,255,.22)),to(transparent));
    text-shadow: none;
    text-transform: capitalize
}

.niaPalette.sp-container button:active,.niaPalette.sp-container button:focus,.niaPalette.sp-container button:hover {
    box-shadow: none!important;
    border: 1px solid #5afbea;
    background: #000
}

.niaBtn .sp-preview,.niaPalette .sp-alpha-handle,.niaPalette .sp-alpha-inner,.niaPalette .sp-clear,.niaPalette .sp-color,.niaPalette .sp-dragger,.niaPalette .sp-hue,.niaPalette .sp-initial,.niaPalette .sp-slider {
    border: 1px solid #5afbea
}

.niaPalette .sp-slider {
    right: -3px;
    left: -3px;
    height: 4px
}

.niaPalette .sp-initial span {
    height: 33px;
    box-sizing: border-box
}

.niaPalette .sp-alpha-handle,.niaPalette .sp-dragger,.niaPalette .sp-slider {
    opacity: 1;
    background: #093833
}

.niaBtn .sp-preview {
    height: 25px;
    width: 42px
}

.niaBtn .sp-dd {
    padding: 5px 0
}

.donate {
    text-align: center
}

.donate a {
    color: #a00;
    display: inline-block;
    background: #ffae38;
    padding: 0 10px 2px;
    margin-top: 8px;
    border-radius: 15px;
    text-decoration: none;
    box-shadow: inset 0 -5px 12px rgba(123,0,0,.5)
}

/* ── Mobile: Image/Settings tabs, so the image keeps the full screen for
   drag-to-reposition and never has to compete with page-scroll gestures ── */
#mobileTabs {
    display: none
}

@media (max-width: 900px) {
    body, html {
        overflow-x: hidden
    }

    #main {
        overflow: hidden;
        display: flex;
        justify-content: center
    }

    #main .container {
        transform-origin: center top;
        flex: none;
        margin: 0
    }

    #mobileTabs {
        display: flex;
        position: sticky;
        top: 0;
        z-index: 20;
        background: #000;
        border-bottom: 1px solid #5afbea
    }

    #mobileTabs button {
        flex: 1;
        padding: 12px 0;
        background: rgba(0,0,0,.8);
        color: #5afbea;
        border: none;
        border-right: 1px solid #5afbea;
        font-weight: 700;
        font-size: 15px;
        cursor: pointer
    }

    #mobileTabs button:last-child {
        border-right: none
    }

    #mobileTabs button.active {
        background: #5afbea;
        color: #000
    }

    body.mobile-tab-settings #main {
        display: none
    }

    body.mobile-tab-image .action-bar {
        display: none
    }

    .action-bar {
        position: static;
        display: block;
        width: 100%;
        max-width: 888px;
        margin: 0 auto 15px;
        min-height: 0;
        max-height: none;
        overflow: visible;
        border: 1px solid #5afbea
    }

    .toggle-btn {
        display: none
    }

    .action-bar:before {
        display: block;
        padding: 10px 14px;
        margin: 0 0 10px;
        border-bottom: 1px solid #5afbea;
        background: rgba(90,251,234,.15);
        color: #5afbea;
        font-weight: 700;
        font-size: 15px;
        letter-spacing: .5px
    }

    .action-bar.left:before {
        content: "Upload & Export"
    }

    .action-bar.right:before {
        content: "Position & Crop"
    }
}

/* Individual badge editor: peephole tiles that sit between the mask (z-index 99)
   and the image-container, so the existing circle-grid graphic still draws on top. */
#superBox {
    position: relative;
}

.badge-edit-layer {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 50;
    display: none;
}

.badge-slot {
    position: absolute;
    background-repeat: no-repeat;
    cursor: move;
    box-sizing: border-box;
    touch-action: none;
}

.badge-slot:hover {
    outline: 2px dashed rgba(255, 174, 56, .8);
    outline-offset: -2px;
}

#btnBadgeEditMode.active {
    background-color: #522F00;
    background-image: -webkit-gradient(linear, 0 top, 0 10, from(#935810), to(transparent)), -webkit-gradient(linear, 0 bottom, 0 28, from(#935810), to(transparent));
    color: #ffae38;
    border-color: #ffae38
}
