/* ---- RESET ---- DO NOT TOUCH ---- */
html, body, div, span, applet, object, iframe, hr,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, input, button,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font-weight: inherit;
    font-style: inherit;
    font-family: inherit;
    vertical-align: middle;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
*, body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
html {
    overflow-y: scroll;
}
*, body {
    font-family: 'Helvetica', arial, sans-serif;
    font-size: 12px;
    line-height: 1;
}
body {
    background-color: #000;
    color: #000;
}
/* ---- END ---- */
body { background-color: #fff; }
div.block:after,
div.container:after,
div.controls:after,
div.description:after,
div.heading:after {
    content: '.';
    height: 0;
    display: block;
    clear: both;
    visibility: hidden;
}
a, a:link, a:visited, a:active {
    color: #192a88;
    text-decoration: none;
}
p {
    margin-bottom: 1em;
    line-height: 1.5
}
ul li {
    margin-bottom: .5em;
}
button,
span.button {
    background-color: #192a88;
    padding: .5em .75em;
    color: #FFFFFF;
    font-weight: bold;
    font-size: 14px;
}
button:hover,
button.active,
span.button:hover,
span.button.active {
    background-color: #ff7648;
}
* {
    word-wrap: break-word;
}
div.container.center {
    width: 890px;
    margin: 0 auto;
}
div.column {
    float: left;
}
div.column.c {
    float: right;
}
div.column.b {
    margin-left: 1em;
}
div.column.a {
    width: 265px;
}
div.column.b {
    margin-right: 0;
}
div.column.b div.block div.info,
div.column.c {
    width: 240px;
}
/* Wrapper */
#wrapper {
    max-width: 960px;
    margin: 0 auto;
}

/* Module */
div.module {
    width: 100% !important;
    overflow: hidden;
}
div.module > div.heading,
div.block.total {
    padding: .5em;
    background-color: #192a88;
    color: #FFFFFF;
    font-weight: bold;
}
div.block.total {
    font-size: 16px;
}
div.module > div.heading {
    font-size: 18px;
    text-align: center;
}
div.block.total {
    text-align: left;
}
div.block.total > span.title {
    float: left;
}
div.block.total > span.price {
    float: right;
}
div.module > div.body {
    padding: 1em;
    background-color: #f3f3f3;
    background-image: url('/images/pattern.png');
}
div.module,
div.module > div.body div.block {
    margin-bottom: 1em;
}
/* Block */
div.block {
    overflow: hidden;
}
div.block > div.column {
    background-color: #FFFFFF;
}
div.controls {
    text-align: right;
}
div.block div.heading,
div.block div.description {
    margin-bottom: .5em;
}
div.block div.thumbnail,
div.block div.info {
    float: left;
    padding: 1em;
}
div.block div.info > div.heading {
    margin-top: .5em;
}
div.block div.info > div.heading > span.price,
div.block div.info > div.heading > span.link {
    float: right;
}
div.block div.info > div.heading > span.title,
div.block div.info > div.heading > span.price {
    font-size: 18px;
    font-weight: bold;
}
div.block  div.info > div.heading > span.price {
    color: #192a88;
}
div.block ul.features,
div.block ul.choices {
    margin-left: 2em;
}
div.block ul.features {
    list-style-image: url('/images/check_green.png');
}
div.block ul.choices {
    list-style-image: url('/images/check_green.png');
}
div.block.simple div.info > div.heading {
    margin-top: 0;
}
/* Block.Choice */
div.block.choice {
    float: left;
}
div.block.choice {
    margin-right: 1em;
}
div.block.choice div.checkbox {
    float: left;
}
div.block.choice div.thumbnail,
div.block.choice div.info {
    float: none;
}
div.block.choice div.thumbnail {
    padding-bottom: 0;
}
div.block.choice div.info > div.heading {
    margin-top: 0;
}
div.clear:after {
    clear: left;
}
div.block.choice,
div.block.choice.min {
    margin-right: 1em;
}
div.block.choice.clear,
div.block.choice.clear.min {
    margin-right: 0;
}
div.nomargin {
    margin-right: 0;
}
div.block.choice.min {
    text-align: center;
}
div.block.choice.min div.info > div.heading > span.title,
div.block.choice.min div.info > div.heading > span.price {
    font-size: 12px;
}
div.block.choice > div.column,
div.block.choice.min > div.column {
    padding: 0;
    margin: 0;
}
div.block.choice > div.column.checkbox,
div.block.choice.min > div.column.checkbox {
    padding: .5em;
}
div.block.choice.min div.info {
    padding: .5em;
}
/* Block - Active */
div.block.active > div.column,
div.block.active div.info > div.heading > span.price {
    background-color: #192a88;
    color: #FFFFFF;
}
div.block.active a:link,
div.block.active a:visited,
div.block.active a:active {
    color: #FFFFFF;
}
div.block.active button,
div.block.active span.button {
    background-color: #ff7648;
}
div.block.active ul.features {
    list-style-image: url('/images/check_white.png');
}
#cart > div.heading {
    background-color: #ff7648;
}
img.girl,
img.boy {
    background-color: #9bcff5;
}
/* Curvy Corners */
div.module,
.curvy_a {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}
button,
span.button,
div.block,
.curvy_b,
div.block div.column {
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
}
div.block.choice > div.checkinfo,
div.block.choice div.checkbox,
.curvy_c {
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
}
div.block.choice div.checkbox {
    border-top-right-radius: 0;
    -webkit-border-top-right-radius: 0;
    -moz-border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    -moz-border-bottom-right-radius: 0;
}
div.block.choice > div.checkinfo {
    border-top-left-radius: 0;
    -webkit-border-top-left-radius: 0;
    -moz-border-top-left-radius: 0;
}

.school-preselect {
  font-size:2.5em;
  width:90%;
}
.column.a .school-preselect {
  font-size: 1.1em;
}

/* Admin */
div.menu {
    width: 200px;
    margin-right: 1em;
}
div.menu ul li {
    padding-bottom: .5em;
    border-bottom: 1px solid #DDDDDD;
}
div.menu ul li:last-of-type {
    border-bottom: 0;
    padding-bottom: 0;
}
div.content {
    width: 678px;
}
div.content th,
div.content td {
    padding: .5em;
}
div.content th,
div.content td:first-child {
    font-weight: bold;
}
div.content table button {
    font-size: 12px;
}
div.left {
    float: left;
}
div.right {
    float: right;
}
div.box {
    border-radius: 6px;
    background-color: #ffffff;
    margin-bottom: 1em;
}
div.box > .pad {
    padding: 1em;
}
div.box_title {
    font-size: 18px;
    font-weight: bold;
}
div.box input[type="checkbox"] {
    padding: .5em;
}
/* Effects */
div.heading.main {
    text-shadow: -1px -1px 0px #155CD2;
}
/*
.gradient_blue, button, .blue, div.block.simple.total, .box_title, span.button {
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #155CD2), color-stop(1, #339CEE));
    background-image: -moz-linear-gradient(center bottom, #155CD2 0%, #339CEE 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#339CEE, endColorstr=#155CD2);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#339CEE, endColorstr=#155CD2)";
}
.gradient_green, button:hover, button.active, button.active:hover, button.active:focus,
span.button:hover, span.button.active, span.button.active:hover, span.button.active:focus  {
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #2D6809), color-stop(1, #5FA819));
    background-image: -moz-linear-gradient(center bottom, #2D6809 0%, #5FA819 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#5FA819, endColorstr=#2D6809);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#5FA819, endColorstr=#2D6809)";
}
*/
#cart > div.heading.main .gradient_green, button:hover, button.active, button.active:hover, button.active:focus, .box_title,
span.button:hover, span.button.active, span.button.active:hover, span.button.active:focus {
    background-color: #ff7648;
}
button, div.block.simple.total, .box_title {
    color: #FFFFFF;
    text-shadow: -1px -1px 0px #155CD2;
}
#cart div.heading.main, button:hover, button.active, button.active:hover, button.active:focus,
span.button:hover, span.button.active, span.button.active:hover, span.button.active:focus {
    text-shadow: -1px -1px 0px #ff7648;
}

div.box > div.pad > div.controls > span { display: inline-block; padding-right: .5em; margin-right: .5em; border-right: 1px solid #DDDDDD; }
div.box > div.pad > div.controls > span:last-child { display: inline-block; padding-right: 0; margin-right: 0; border-right: 0; }
.right { text-align: right;}
input.large { width:50%; }
input[type="text"], input[type="password"], input[type="email"] { padding: .5em 1em; border: 1px solid #DDDDDD; font-size: 14px; }

.wide15  { width:15px;  }
.wide49p { width:49%;   }
.wide60  { width:60px;  }
.wide85  { width:85px;  }
.wide111 { width:111px; }
.wide120 { width:120px; }
.wide135 { width:135px; }
.wide190 { width:190px; }
.wide216 { width:216px; }
.wide275 { width:275px; }
.wide375 { width:375px; }
.wide426 { width:426px; }
.wide435 { width:435px; }
.high15  { height:15px; }
.high60  { height:60px; }
.high105 { height:105px; }
.high120 { height:120px; }

table {
    width: 100%;
}
table#checkout {
    width: 75%;
    margin:0 auto;
    background-color: #eeeeee;
}
td {
    padding: .5em;
}
th {
    font-weight: bold;
    font-size: 14px;
}

.last {
    background-color: #f3f3f3;
    font-size: 14px;
}
.drag {
    background: #FFFFFF url('/images/drag.png') no-repeat center center;
}
td span {
    font-weight: bold;
}
th.center, td.center, tr.center { text-align: center; }

.box.checkout {
    background-color: #f3f3f3;
}
.fleft {
    float: left;
}
.fright {
    float: right;
}
.odd {
    background-color: #EEEEEE;
}
.container.reminder {
    border: 2px dashed #DDDDDD;
    margin-top: 10px
}
.checkout_form {
    text-align: center;
    font-size: 13px;
}
.checkout_form table {
    width: 100%;
}
.checkout_form table th {
    font-weight: bold;
    font-size: 14px;
    height: 35px;
}
.checkout_form table tr {
    padding: .25em;
}
.checkout_form table td {
    padding: .5em;
}
.checkout_form form,
.checkout_form div#form {
    display: inline-block;
    width: 600px;
    text-align: left;
}
.checkout_form input[type="text"],
.checkout_form input[type="email"] {
    width: 175px;
}
.checkout_form .thin {
    width: 40px !important;
}
.checkout_form .medium {
    width: 120px !important;
}
.checkout_form fieldset {
    background-color: #FFFFFF;
    margin: 1em 1em 2em 1em;
    border-top: 1px solid #BBBBBB;
    border-left: 1px solid #BBBBBB;
    border-right: 2px solid #BBBBBB;
    border-bottom: 2px solid #BBBBBB;
}
.checkout_form fieldset .container {
    padding: 1em;
}
.checkout_form label {
    font-weight: bold;
    color: #666666;
    font-size: 14px;
    margin-right: .5em;
}
.checkout_form p.field {
    background-color: #EEEEEE;
    padding: 1em;
    border-left: 1px solid #FFFFFF;
}
.checkout_form input.small {
    padding: .125em;
}
.checkout_form th.total {
    font-weight: bold;
}
.checkout_form td.total {
    font-weight: bold;
}
.checkout_form td.total {
    background-color: #CCCCCC;
}
.checkout_form td.total.odd {
    background-color: #BBBBBB;
}
.checkout_form td,
.checkout_form th {
    text-align: center;
    border-top: 2px solid #FFFFFF;
}
.checkout_form .detail {
    text-align: left;
}
.checkout_form td.price {
    font-size: 14px;
    background-color: #192a88;
    color: #FFFFFF;
}
.checkout_form td.deposit {
    background-color: #DDDDDD;
    font-weight: bold;
}
.checkout_form h2,
.checkout_form h3,
.checkout_form h4 {
    font-size: 20px;
    color: #192a88;
}
.checkout_form h4 {
    font-size: 16px;
}
.checkout_form h2 {
    font-size: 24px;
}
#complete {
    border-width: 0;
    background: none;
}
.block.center { text-align: center; }

.white { background-color: white; }
.absolute { position: absolute; }
.relative { position: relative; }
.translucent { opacity: 0.5; }
.top-left { top: 0; left: 0; }
.marg1em { margin: 1em; }
.pad1em  { padding: 1em; }
.lmarg2p { margin-left:2%; }
.allclear { clear:both; }
.lclear   { clear:left; }
.rclear   { clear:right; }

.checkout_form .required { font-style: oblique;}
.field_with_errors > label { color: red; }
.field_with_errors input { border-color: red; }

.badge {
    padding: 1px 5px 2px;
    -webkit-border-radius: 9px;
    -moz-border-radius: 9px;
    border-radius: 9px;

    background-color: #3a87ad;
    color: white;
    font-size: 10.998px;
    font-weight: bold;
    line-height: 14px;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    white-space: nowrap;
    vertical-align: baseline;
}

button { cursor: pointer; }
strong { font-weight: bold; }
.submenu { margin-left:10px; }
.digg_pagination { background: white; cursor: default; /* self-clearing method: */ } .digg_pagination a, .digg_pagination span, .digg_pagination em { padding: 0.2em 0.5em; display: block; float: left; margin-right: 1px; } .digg_pagination .disabled { color: #999999; border: 1px solid #dddddd; } .digg_pagination .current { font-style: normal; font-weight: bold; background: #2e6ab1; color: white; border: 1px solid #2e6ab1; } .digg_pagination a { text-decoration: none; color: #105cb6; border: 1px solid #9aafe5; } .digg_pagination a:hover, .digg_pagination a:focus { color: #000033; border-color: #000033; } .digg_pagination .page_info { background: #2e6ab1; color: white; padding: 0.4em 0.6em; width: 22em; margin-bottom: 0.3em; text-align: center; } .digg_pagination .page_info b { color: #000033; background: #6aa6ed; padding: 0.1em 0.25em; } .digg_pagination:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } * html .digg_pagination { height: 1%; } *:first-child + html .digg_pagination { overflow: hidden; }

.barcode {}
.barcode > span { display: block; margin-top: -9px; font-size: 9px; color: black; height: 1.5em; }

@media screen and (max-width: 975px) {
    /* prevent zoom on school select */
    select,   textarea,   input[type="text"],   input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"] { font-size: 16px; }
    #wrapper {
        box-sizing: border-box;
        padding: 10px;
    }
    #wrapper > div > .column {
        width: 100%;
    }
    div.container.center {
        width: 260px;
    }
    div.column.a, div.column.b, div.column.c {
        float: initial;
        width: 100%;
        margin-left: 0;
    }
    button, span.button {
        font-size:  20px;
    }
    .wide216, .wide190, .wide435, .wide275 { width:100%; }
    .wide426 {
        width: 260px;
    }
    .wide426 .thumbnail {
        box-sizing: border-box;
    }
    .thumbnail.wide60 {
        box-sizing: initial !important;
    }
    .wide60 {
        width: auto;
    }
    .wide111 {
        width:  120px;
    }
    div.block div.thumbnail, div.block div.info {
        box-sizing: border-box;
    }
    .wide426 div.checkinfo > .thumbnail {
        width:  220px;
        margin-right: 1em;
        overflow: hidden;
    }
    .thumbnail.wide435 img {
        width: 100%;
        height: auto;
    }
    div.block div.info > div.heading > span.price, div.block div.info > div.heading > span.link {
        float: initial;
        display:  block;
        margin-top:  1em;
    }
    .session-block .column {
        width: 100%;
    }
    .session-block .column .info {
        width: 100% !important;
    }
    .session-block .column .info {
        box-sizing: border-box;
    }
    div.block.choice, div.block.choice.min {
        margin-right: 0;
    }
    div.block.choice {
        /*margin-right:  1em;*/
    }
    span.select2-container {
        width: 100% !important;
    }
    #sessions .column .info {
        width: 100% !important;
        box-sizing:  border-box;
    }
    #sessions .body .block .column {
        width: 100%;
    }
    #addons .block {
        float: initial;
        margin-left: 0;
        width:  100% !important;
    }
    #addons .block .column {
        width:  100%;
    }
    div.block.choice > div.column.checkbox, div.block.choice.min > div.column.checkbox {
        padding: .5em;
        margin-right: -27px;
    }
    div.block.choice > div.checkinfo {
        margin-left: 27px !important;
    }
    .box.checkout #form,
    .checkout_form form, .checkout_form div#form {
        width:  100%;
    }
    .box.checkout {
        background-color: #fff;
    }
    .box.checkout .fleft,
    .box.checkout .fright {
        float:  initial;
    }
    .box.checkout .pad {
        padding: 5px;
    }
    .checkout_form {
        font-size:  12px;
    }
    .checkout_form fieldset {
        margin:  0;
        background-color:  transparent;
        border:  0;
    }
    .checkout_form fieldset + fieldset {
        margin-top:  1em;
    }
    .checkout_form fieldset .container {
        padding:  5px;
        font-size: 10px;
    }
    .checkout_form .medium,
    .field input[type="text"],
    .field input[type="email"],
    .checkout_form .field {
        width: 100% !important;
        box-sizing: border-box;
    }
    span.button {
        display:  block;
    }
    button.remove {
        font-size: 14px;
    }
    .checkout_form span.button {
        margin-top:  1em;
    }
    .post-checkout-warning {
        font-size: 24px !important;
        display: block;
        margin-top: 1em;
    }
    .post-checkout-columns {
        margin:  0 0 1em 0 !important;
        width:  100% !important;
    }
    .post-checkout-columns > div {
        margin:  0 !important;
        float:  initial !important;
        width:  100% !important;
    }
    .post-checkout-columns .popup {
        text-align: center;
        display: block;
    }
    .post-checkout-columns .popup img {
        max-width:  100%;
    }
    .post-checkout-columns .email-image {
        display:  block;
        margin:  0 auto 1em auto;
    }
    .post-checkout-columns .email-description {
        margin:  0 !important;
        text-align: center;
    }
    .cboxPhoto {
        max-width: 260px;
    }
    .collapsible-container .collapsible-body {
        transition: .5s ease;
        overflow: hidden;
        max-height: 500px;
    }
    .collapsible-container.collapsible-action-active .collapsible-body {
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
    }
    .controls {
        text-align: center !important;
    }
    .choices-new form .controls.top {
        display: none;
    }
    .choices-new div.container.center {
        width: 100%;
        max-width: 426px;
    }
    .choices-new div.block.choice > div.checkinfo {
        width: 100%;
    }
    .choices-new .wide426 div.checkinfo > .thumbnail,
    .choices-new .wide426 div.checkinfo > .thumbnail img {
        width: calc(100% - 1.125em);
        height: auto;
    }
    .choices-new .wide426 {
        width: 100%;
        float: initial;
    }
    .upgrade-module {
        width: 270px !important;
    }
    .upgrade-module .box,
    .upgrade-module .block {
        border-radius: 0;
        -webkit-border-radius: 0;
        margin-bottom: 0;
    }
    .upgrade-module .body {
        padding: 0 !important;
    }
    .upgrade-module .pad {
        padding: 10px !important;
    }
    .upgrade-module .box:nth-child(2) .pad {
        padding:  0 !important;
    }
    .upgrade-module button + button {
        margin-top:  1em;
    }
    .upsell-module {
        width: 270px !important;
    }
    .upsell-module div.block div.thumbnail, .upsell-module div.block div.info {
        float: initial;
    }
    .upsell-module div.block div.info {
        width: 100% !important;
    }
    .upsell-module button + button {
        margin-top:  1em;
    }
    .payment-button-container {
        text-align: center;
    }
    #addons {
        text-align: center;
    }
    #addons .thumbnail.wide135 {
        margin: 0 auto;
        float: initial;
        padding: 1em 0 0 0;
    }
}
/* fix large image bug on checkout */
.checkout_form #session .container.allclear .fleft {
    margin-right:  1em;
}
.checkout_form img {
    max-width:  100px;
}
.post-checkout-warning {
    font-size:48pt
}
.upgrade-module {
    width: 624px;
}
.upsell-module {
    width: 600px;
}

.action-icon { width: 15px; }

.bg-danger { background-color: rgba(242, 222, 222, 0.2); }
.bg-success { background-color: rgba(223, 240, 216, 0.2); }

.text-danger { color: #b94a48; }
.text-success { color: #468847; }

.border-danger { border-color: #eed3d7; }
.border-success { border-color: #d6e9c6; }
