body, div {
    margin:0;
    padding:0;
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}

input[type=text], #shipping_state {
   padding: 5px;
}

textarea:focus, input:focus {
    outline:0;
}

.center {
    text-align:center;
    margin:auto;
}

input[type=checkbox]
{
    -ms-transform: scale(1.5); /* IE */
    -moz-transform: scale(1.5); /* FF */
    -webkit-transform: scale(1.5); /* Safari and Chrome */
    -o-transform: scale(1.5); /* Opera */
    padding: 5px;
}

/* ---------------------------- */


#main_tool {
    background-color: rgba(255, 255, 255, 0.1);
    width:90%;
    margin:  1% 3%;
    padding: 2% 2%;
    display:block;
}


#step_container, #lolipop_container {
    display:block;
    width:96%;
    padding: 2%;
    position:relative;
}

@media (min-width: 1200px) {

#step_container, #lolipop_container {
display:inline;
width:50%;
padding:0%;
margin:0%;
}

#step_container {
float:left;
}

#lolipop_container {
float:right;
}

}

.step_text {
    font-size:0.8rem;
}

/* ---------------- Lolipop ---------------------------- */

#image_output_container, #preview_lolipop {
    position: absolute;
    top: 0px;
    left:0px;
    z-index:100;
}

#preview_lolipop {
    width: 200px;
    z-index:10;
}

#cropped_image {
    margin-left: 20px;
    margin-top: 20px;
    width: 160px;
    height: 160px;
    border-radius:80px;
    z-index:100;
    border:0px;
}

#image_input img {
    width:98%;
    padding:1%;
    margin:0%;
}

/* ----------------  Step div formatting -------------- */
.step_heading {
    display:table;
    cursor:pointer;
    background-color:#FFCCDD;
    font-style:italic;
    margin-left:5%;
    width:95%;
    border-radius: 10px 10px 0px 0px;
}

.mobile_only {
    width:14%;
    display:table-cell;
    background-color:#FFAABB;
    border-radius: 10px 0px 0px 0px;
    font-weight:bold;
}

.sleft {
    padding: 2% 1% 2% 2%;
    border-radius: 10px 0px 0px 0px;
}
.sright {
    padding: 2% 1%;
    border-radius: 0px 10px 0px 0px;
}


.step_title {
    display:table-cell;
    padding:2% 2% 2% 5%;
    text-align:left;
    line-height:150%;
}

.step_contents {
    margin: 0% 0% 0% 5%;
    padding:2% 4%;
    border-width: 0px 2px 2px 2px;
    border-style: solid;
    border-color: #FFCCDD;
    border-radius: 0px 0px 10px 10px;
}

/* ------------------------- Image select button ----------------------- */


.finput_container {
    width: 200px;
    height: 40px;
    overflow: hidden;
    position:relative;
    display:block;
}

.finput_container img,
.finput_container input,
.finput_container span {
    position:absolute;
    overflow: hidden !important;
    height: 40px !important;
    line-height: 40px !important;
    top:0px !important;
    text-align:center;
}

.finput_container img {  
    display: inline !important;
    left: 155px; 
    width: 45px !important;
}

.finput_container span { 
    display: inline !important;
    left:0px !important;
    width: 155px !important;
}

.finput_container input {
    width: 200px !important;
    display: block !important;
    opacity: 0 !important;
    -moz-opacity:0 !important;
    filter:alpha(opacity: 0) !important;
    z-index: 2;
}


/* -------------------- Icons, buttons, etc -------------------------- */
.stepdiv {
    margin-top:1%;
    margin-bottom:1%;
}

.clear {
    clear:both;
}

#s1 .mobile_only { background-color:#FFBB88; }
#s2 .mobile_only { background-color:#AA88EE; }
#s3 .mobile_only { background-color:#DDAA99; }
#s4 .mobile_only { background-color:#BBAAFF; }
#s5 .mobile_only { background-color:#AAAA77; }
#s6 .mobile_only { background-color:#AAFF99; }

.ud_icon, .ci_remove_icon {
    width:24px;
    height:24px;
    display:inline;
    cursor:pointer;
}

#checkout_div span {
    font-weight:bold;
    height: 40px;
    line-height:40px;
    font-size:1.5rem;
    padding: 0px 10px;
}

#checkout_div span.no_padding {
    padding:0px !important;
}

/* ------------------- Buttons etc --------------------- */

.theme_buttons, #filter_buttons button {
    border:none;
    border-radius:7px;
    text-align:center;
    color:#FFFFFF;
    font-size:0.9rem;
    cursor:pointer;

    background: #7abcff; /* Old browsers */
    background: -moz-linear-gradient(top, #7abcff 0%, #60abf8 44%, #4096ee 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7abcff), color-stop(44%,#60abf8), color-stop(100%,#4096ee)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #7abcff 0%,#60abf8 44%,#4096ee 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #7abcff 0%,#60abf8 44%,#4096ee 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #7abcff 0%,#60abf8 44%,#4096ee 100%); /* IE10+ */
    background: linear-gradient(top, #7abcff 0%,#60abf8 44%,#4096ee 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7abcff', endColorstr='#4096ee',GradientType=0 ); /* IE6-9 */
}

.theme_buttons:hover, #filter_buttons button:hover {
    font-weight:normal;
    -webkit-box-shadow:rgba(0,0,0,0.7) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
    -khtml-box-shadow:rgba(0,0,0,0.7) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
    -moz-box-shadow:rgba(0,0,0,0.7) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
    -o-box-shadow:rgba(0,0,0,0.7) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
    box-shadow:rgba(0,0,0,0.7) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
}

.bpad {
    padding:6px 10px;
}

#filter_buttons button, #filter_buttons button:hover {
    font-size:0.9rem;
    font-weight:bold;
}

/* ----------------- Cart ------------------ */

#cart_panel {
    background-color: #FFFFFA;
    z-index: 200;
    width:60%;
    margin-left:15%;
    position:fixed;
    top: 0px;
    border: 4px solid #FFCDFE;
    overflow:auto;
    border-radius:10px;
    padding:0% 0% 2% 0%;
}

#cart_heading {
    color:#442288;
    font-size:1.2rem;
    font-weight:bold;
    text-align:center;
    margin:0;
    background-color:#FFCDFE;
}

#cart_heading img {
    display:inline;
    height:40px;
}


#cart_close_button, #cart_back_button {
    font-size:0.7rem;
    padding: 4px !important;
}

.cart_item {
    position: relative;
    font-size:1.2rem;
    font-weight:bold;
    display:block;
    margin:0px;
    padding:0px;
    margin-bottom:20px;
}

@media (max-width: 800px) {
    #cart_panel {
        width:95%;
        margin:2%;
        border: 2px solid #FFCDFE;
    }
    #cart_heading img {
        height:20px;
    }
    
    #cart_heading {
        font-size:0.8rem;
        min-height:20px;
    }

    #cart_close_button, #cart_back_button {
        font-size:0.7rem;
        padding: 8px !important;
    }


    .cart_item {
        font-size:0.8rem;
        font-weight:normal;
        margin-bottom: 12px;
    }

    input[type=checkbox]
    {
        /* Double-sized Checkboxes */
        -ms-transform: scale(2.5); /* IE */
        -moz-transform: scale(2.5); /* FF */
        -webkit-transform: scale(2.5); /* Safari and Chrome */
        -o-transform: scale(2.5); /* Opera */
padding: 10px;
    }
    
    .ud_icon {
        width:28px;
        height:28px;
    }
    .ci_remove_icon {
        width:16px;
        height:16px;
    }
}

#cart_contents {
    font-family:Constantina, Georgia, 'Nimbus Roman No9 L', serif;
    padding-left:2%;
    margin-left:2%;
}


.cart_item div {
    top: 0px;
    position: relative;
    display:inline-block;
    overflow:hidden;
    text-align:center;
    margin:0px;
    padding:0px;
}

.cart_3span {
    position:relative;
    display:block;
    width:100%;
    padding:0;
    text-align:center;
}

.cart_3span img, .cart_3span span {
    margin-left: auto;
    margin-right: auto;
    display:block;
    position:absolute;
}

.cart_3span img {
    cursor:pointer;
    z-index:500;
}

.cart_3span img.itop {
    bottom: 0px;
}

.cart_3span img.ibottom {
    top: 0px;
}

.cart_item div .basepop, .cart_item div .usercrop {
    display:inline;
    position: absolute;
    left: 0px;
    top: 0px;
    width:100%;
    margin:0;
    padding:0;
    border:0;
    border-radius:50%;
}



#cart_message {
    padding:10%;
    text-align:center;
}

#product_selection_table table tr td img {
    width:96%;
    padding:2%;
}

#copyright_statement {
    text-align:left;
    padding:10px;
    border-radius:10px;
    -webkit-box-shadow: 4px 4px 4px 4px #C2C2C2;
    box-shadow: 4px 4px 4px 4px #C2C2C2;
}

#not_checked_error {
    padding-top:5px;
    text-align:left;
    font-size:0.9rem;
    font-style:italic;
    color:#882222;
}

.centered_div {
    color:#333333;
    display:inline-block;
    margin:auto;
    text-align:left;
}

#user_information label {
    display:inline-block;
    width: 200px;
}

#price_info_display {
    padding:10px;
    font-weight:bold;
}

#price_info_display span {
    padding: 5px 15px 2px 0px;
}

label.theme_buttons {
    padding: 8px !important;
    margin: 8px !important;
    width:auto !important;
}
