/* Traffic School WELL
-------------------------------------------------- */

.traffic-school table {
    border: none;
    width: 100%;
    margin-bottom: 0px;
}

.traffic-school table>tbody>tr>td,
.traffic-school table>tbody>tr>th,
.traffic-school table>tfoot>tr>td,
.traffic-school table>tfoot>tr>th,
.traffic-school table>thead>tr>td,
.traffic-school table>thead>tr>th {
    border: none;
}

.traffic-school .table>tbody>tr>td,
.traffic-school table>tbody>tr>td {
    border-top: 1px solid #ddd;
}

.well.traffic-school-well {
    background: #ffffff;
    margin: 30px 0 30px;
}

.well.traffic-school-well .cw-content {
    padding: 30px;
}

.well.traffic-school-well .context {
    background: #ffffff;
    text-align: left;
}

.well.traffic-school-well .context .state-seal {
    max-width: 80px;
    float: left;
    margin: -10px 10px 0 0;
}

.well.traffic-school-well .context h3 {
    color: #2F6BB3;
    margin-top: 5px;
    font-size: 20px;
    text-transform: uppercase;
}

.well.traffic-school-well .context h3 span {
    display: block;
    clear: both;
    font-size: 71%;
    color: #d22f2a;
}

.well.traffic-school-well .course-information {
    background-color: #bababa;
    border-radius: 4px;
    font-size: 14px;
    text-align: center;
    margin-bottom: 0;
    padding: 5px 5px;
    color: #fff;
    line-height: 1;
    cursor: pointer;
    float: right;
    margin-top: 6px;
}

.well.traffic-school-well .course-information:hover,
.well.traffic-school-well .course-information:focus {
    background-color: #229ae0;
}

.well.traffic-school-well .course-selects {
    margin-top: 20px;
}

.well.clean-well {
    border-radius: 0;
    border: none;
    padding: 0;
    background: #f7f7f7;
    box-shadow: 0 0 6px rgba(0, 0, 0, .2);
}

/* TRAFFIC SCHOOL MODAL
-----------------------*/

.modal#course-0 .btn-success.modal-header h4 {
    color: #fff;
}

.modal#course-0 .list-group-item-heading {
    font-size: 18px;
}

/* VERTICAL-ICON-LIST
-------------------------------------------------- */

.vertical-icon-list .il-item {
    color: #2F6BB3;
    font-weight: 600;
    font-size: 16px;
    text-align: center;
    text-transform: uppercase;
    clear: both;
    line-height: 1;
}

.vertical-icon-list .il-item:not(:last-child) {
    margin-bottom: 39px;
}

.vertical-icon-list .il-item i {
    display: inline;
    padding:0 5px 10px 0 ;
    font-size: 140%;
    margin-top: -3px;
}


/* UI ELEMENTS
-------------------------------------------------- */
.list-inline {
    padding-left: 0;
    list-style: none;
    margin-left: -5px;
}
.list-inline li {
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px;
    margin: 0;
}
.creditCard-type .icon {
    max-width: 36px;
}
.conslidate-products-form .creditCard-type .icon {
    max-width: 30px;
}
.promo-code {
    color: #229ae0;
    text-decoration: underline;
}
.promo-code:hover {
    cursor: pointer;
}
.hidden-sub-options {
    padding: 1px;
}
.show-on-mobile.css-for-mobile {
    clear: both;
}
p.terms {
    font-size: 14px !important;
}
.traffic-school.products-form {
    margin-bottom: 10px;
}
.traffic-school.checkout-form,
.traffic-school.shipping-form,
.traffic-school.review-form,
.traffic-school.student-form {
    margin-bottom: 60px;
}
.session-timeout {
    text-align: center;
    margin: 5em auto;
}
.session-timeout p {
    font-size: 16px;
    margin: 20px 10px;
}

.c-brand-success {
    color: #00b974;
}

.text-center {
    text-align: center;
}

.description-container {
    color: #565656;
    font-weight: normal;
}

.circle {
    border-radius: 50%;
}

.label-default {
    background-color: #8f8f8f;
}

.label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

.alert-success {
    background-color: #dff0d8;
    border-color: #d6e9c6;
    color: #3c763d;
}

.alert {
    padding: 15px;
    margin-bottom: 13px;
    border: 1px solid transparent;
    border-radius: 4px;
}

.approved-badge .alert {
    margin-bottom: 15px;
    padding: 5px 15px;
    font-size: 20px;
}

p.detail {
    font-size: 14px;
    color: #a2a2a2;
    line-height: 1.65;
}
p.detail a {
    color:black;
    font-weight: bold;
}
p.detail a:hover {
    color:#30b9e6;
}

#ts-checkout-form p.detail {
    line-height: 1.1;
}

p.small {
    font-size: 16px;
}

.row-icon {
    padding-right: 0;
}

.row-icon i {
    color: #8f8f8f;
    padding-top: 8px;
    text-align: right;
    float: right;
}

button.close {
    padding: 0;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
}

.close {
    float: right;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .2;
    filter: alpha(opacity=20);
}

.section-title {
    color: #1e4e9f;
    font-size: 30px !important;
    margin: 30px 0 30px;
    text-transform: uppercase;
    font-weight: 400;
    text-align: center;
}
.section-title.billing {
    margin-top: 10px;
}


.product-list-title {
    font-size: 20px;
    margin-top: 30px;
    margin-bottom: 16.5px;
    font-weight: 800;
    color: #113e60;
}

.panel-title {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 23px;
}

.panel-body p,
.alert,
.alert p {
    font-size: 18px;
}

.alert a {
    color: #0F75A5;
}

.alert {
    padding: 20px;
    margin-bottom: 30px;
}

.alert .fa {
    font-size: 20px;
}


/* SUMMARY PANEL
-----------------------*/

.summary-list .text-right {
    text-align: right!important;
}

.summary-list .list-group-item.last {
    background-color: #F2F3F5 !important;
    font-size: 18px;
}

.summary-list .panel .list-group .list-group-item {
    border-width: 1px 0;
    background-color: #ebf6fc;
    color: #113e60;
    font-weight: 600;
    text-align: left;
    padding: 4px 15px;
    font-size: 18px;
}


/* FORMS
-------------*/

form.form-horizontal .form-group {
    margin-left: 0;
    margin-right: 0;
}

.input-sm {
    height: 37px;
    padding: 5px 10px !important;
    font-size: 16px;
    line-height: 1.5;
    border-radius: 3px;
}

select.input-sm {
    height: 37px;
    line-height: 37px;
}

.row-icon .fa {
    font-size: 20px;
}

.has-error .control-label,
.has-error .form-control-feedback,
.has-error .help-block {
    color: #d22f2a !important;
}

.has-feedback .form-control {
    padding: 5px 10px;
}


/* HEADINGS
---------------*/

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.1;
}

.h4,
h4 {
    font-size: 22px;
}

.h4,
.h5,
.h6,
h4,
h5,
h6 {
    margin-top: 16.5px;
    margin-bottom: 16.5px;
}

.course-title {
    margin: 40px 0 30px;
    font-size: 28px !important;
}


/* PARAGRAPHS
-----------------*/

p {
    margin: 0 0 16.5px;
}

#ts-products-form label p {
    margin: 5px;
}

#ts-products-form  .description-container {
    margin-bottom: 22px;
}
#ts-products-form  #radio-list {
    margin-top: 0px;
}

.layer p {
    font-size: 18px;
    line-height: 1.65;
}


/* BUTTONS
--------------*/

.btn {
    font-weight: 700;
}

.btn-orange {
    background-color: #ffa300 !important;
    border-color: #ffa300 !important;
    color: #fff;
}

.btn-orange:focus,
.btn-orange:hover {
    background-color: #cc8200 !important;
    color: #fff;
}

.btn-md {
    font-size: 18px !important;
}

.btn-sm {
    font-size: 16px !important;
}


/* UTILITIES
-----------------*/

.no-margin-top {
    margin-top: 0;
}
.nomargin {
    margin: 0 !important;
}

.top-buffer-md {
    margin-top: 30px;
}

.top-buffer {
    margin-top: 15px;
}

.bottom-buffer {
    margin-bottom: 15px!important;
}

.poweredby {
    text-align: right;
    margin: 20px 0;
}

.nopadding-right {
    padding-right: 0!important;
}

.nopadding-left {
    padding-left: 0!important;
}

.text-right {
    text-align: right;
}


/* MATERIAL DESIGN
-------------------------------------------------- */

.material {
    /* form starting stylings ---------------------- */
    /* active state */
    /* BOTTOM BARS ================================= */
    /* active state */
}

.material .input-group {
    position: relative;
    margin-bottom: 15px;
    margin-right: 0;
    margin-left: 0;
    width: 100%;
}

.material .form-group {
    margin-right: 0;
    margin-left: 0;
}

.material input {
    font-size: 18px;
    padding: 10px 10px 10px 5px;
    display: block;
    border: none;
    width: 100%;
    border-bottom: 1px solid #229ae0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.material input:focus {
    outline: none;
}

.material label {
    color: #888;
    font-size: 16px;
    font-weight: normal;
    margin: 7px 0 10px 20px;
    transition: 0.2s ease all;
    line-height: 1.4;
}

.review-form .material label {
    margin-bottom: 0px;
}

.material .bar + label {
    pointer-events: none;
}

.material input:focus ~ label,
.material input:valid ~ label {
    top: -13px;
    font-size: 14px;
    color: #229ae0;
}

.material .bar {
    position: relative;
    display: block;
    width: 100%;
}

.material .bar:before,
.material .bar:after {
    content: '';
    height: 2px;
    width: 0;
    bottom: .5px;
    position: absolute;
    background: #229ae0;
    transition: 0.2s ease all;
}

.material .bar:before {
    left: 50%;
}

.material .bar:after {
    right: 50%;
}

.material input:focus ~ .bar:before,
.material input:focus ~ .bar:after {
    width: 50%;
}

.material .row-icon i {
    padding-top: 15px !important;
}

.material .lone-label {
    color: #229ae0;
    font-size: 14px;
    position: relative;
    padding-bottom: 11px;
}

.material .control-label {
    position: relative;
    color: #6d6d6d;
    font-size: 16px;
    margin-bottom: 10px;
}

.material .checkbox,
.material .radio,
.motorcycle-insurance-form-quote .from-group.radios .form-radios .material .form-item {
    line-height: 1.5;
    min-height: 46px;
}

.material .checkbox label,
.material .radio label,
.motorcycle-insurance-form-quote .from-group.radios .form-radios .material .form-item label {
    pointer-events: visible;
    width: 100%;
}

.material .checkbox input,
.material .radio input,
.motorcycle-insurance-form-quote .from-group.radios .form-radios .material .form-item input {
    margin-top: 0;
    width: auto;
}

.material .checkbox input[type="radio"],
.material .radio input[type="radio"],
.motorcycle-insurance-form-quote .from-group.radios .form-radios .material .form-item input[type="radio"] {
    margin: 5px 0 0 -30px;
}

.material .checkbox .title,
.material .radio .title,
.motorcycle-insurance-form-quote .from-group.radios .form-radios .material .form-item .title {
    color: #565656;
    display: block;
}

.material .option-item {
    padding: 0 0 0px;
    border-bottom: 1px solid #dddddd;
}

.option-item .col-md-9.col-xs-8 {
    padding-right: 0px;
}

.material .option-item.single {
    border-bottom: none;
}

.material .option-item.single .title {
    margin-top: -2px;
}

.material .option-item.upgrade.shipping {
    display: none;
}

.material .option-detail {
    font-size: 15px;
    margin-right: 0px;
}

.material .option-price {
    color: #888;
    text-align: right;
    font-weight: 600;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 16px;
}

.material .option-price.free {
    color: #00b974;
}

.material.has-error .row-icon i {
    color: #d22f2a;
}

.material.has-error .lone-label {
    color: #d22f2a;
}

.material.has-error .control-label {
    color: #d22f2a;
}

.material.has-error .checkbox label,
.material.has-error .radio label,
.motorcycle-insurance-form-quote .from-group.radios .form-radios .material.has-error .form-item label {
    color: #d22f2a;
}

.material.has-error .checkbox input,
.material.has-error .radio input,
.motorcycle-insurance-form-quote .from-group.radios .form-radios .material.has-error .form-item input {
    color: #d22f2a;
}

.material.has-error .checkbox input[type="radio"],
.material.has-error .radio input[type="radio"],
.motorcycle-insurance-form-quote .from-group.radios .form-radios .material.has-error .form-item input[type="radio"] {
    color: #d22f2a;
}

.material.has-error .checkbox .title,
.material.has-error .radio .title,
.motorcycle-insurance-form-quote .from-group.radios .form-radios .material.has-error .form-item .title {
    color: #d22f2a;
}

.material.has-error .option-item {
    color: #d22f2a;
}

.material.has-error .option-item.single .title {
    color: #d22f2a;
}

.material.has-error .option-detail {
    color: #d22f2a;
}

.material.has-error .option-price {
    color: #d22f2a;
}

.material.has-error .option-price.free {
    color: #d22f2a;
}

.material.has-error .form-control-feedback {
    display: none;
}

.panel.panel-material {
    box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
    border-radius: 0;
    border: none;
}

.panel.panel-material .panel-heading {
    text-align: center;
    border: none;
    font-weight: 600;
    font-size: 15px;
    padding: 5px;
    text-transform: uppercase;
    background: #F2F3F5;
}

.panel.panel-material .panel-heading.brand-primary {
    background: #1e4e9f !important;
    color: #fff;
}

.panel.panel-material .panel-body {
    font-size: 16px;
}

.panel.panel-material .panel-footer {
    border: none;
    font-size: 16px;
}

.modal.material .modal-content {
    border-radius: 0;
}

.modal.material .panel {
    margin-bottom: 0;
}

.modal.material .panel-heading {
    background-color: #1e4e9f;
    border-radius: 0;
    color: #fff;
    padding: 2px 0;
}

.modal.material .panel-heading .close {
    font-size: 24px;
    margin-right: 9px;
}


/* TRAFFIC-SCHOOL-PANEL
-------------------------------------------------- */

.panel.traffic-school-panel .panel-body.padded {
    margin: 0;
    padding-right: 15px;
    padding-left: 15px;
}

.panel.traffic-school-panel .panel-body .secured-badge {
    text-align: center;
    margin: 1em auto;
    display: block;
}

.panel.traffic-school-panel .panel-body .detail-layer .fa-check {
    top: 23px;
}

.panel.traffic-school-panel .panel-body .detail-layer .fa.fa-check-square {
    font-size: 25px;
    color: #85bdec;
    margin-left: -8px;
}

/*.panel.traffic-school-panel .panel-body .detail-layer .title {
    color: #1e4e9f;
}*/

.panel.traffic-school-panel .panel-body .detail-layer .detail {
    color: #8f8f8f;
    margin-bottom: 0;
}

.panel.traffic-school-panel .panel-body .detail-layer .price {
    font-size: 22px;
    color: #00b974;
    /*padding-top: 7px;*/
}

.panel.traffic-school-panel .panel-body .detail-layer .alert-discount {
    padding: 10px 20px;
    margin-bottom: 0px;
    margin-top: 15px;
    color: #00b974;
    background: #F2F3F5;
}

.panel.traffic-school-panel .panel-body .detail-layer .alert-discount .title,
.panel.traffic-school-panel .panel-body .detail-layer .alert-discount .price {
    font-size: 18px;
}

.panel.traffic-school-panel .panel-body .detail-layer .alert-discount .fa-check {
    width: 18px;
    height: 18px;
    font-size: 16px;
    margin-right: 12px;
}

.panel.traffic-school-panel .panel-body .offers-table {
    padding-left: 30px;
    max-width: 740px;
}

.panel.traffic-school-panel .panel-body .no-bottom-border {
    border-bottom: none !important;
}

.panel.traffic-school-panel .totals .title {
    font-size: 24px;
    text-align: left;
}

.panel.traffic-school-panel .totals .price {
    font-size: 24px;
}

.panel.traffic-school-panel .final-title h3 {
    margin-top: 17px;
    color: #1e4e9f;
    font-size: 16px;
    text-transform: uppercase;
}

.panel.traffic-school-panel .final-title h3 span {
    font-size: 26px;
    font-weight: 400;
}

@media only screen and (min-width: 768px) {
    .panel.traffic-school-panel .panel-body.padded {
        margin-left: 0;
    }
}

@media only screen and (min-width: 992px) {
    .panel.traffic-school-panel .panel-body.padded {
        margin-left: 80px;
    }
    #ts-shipping-form .col-md-10.col-md-offset-1 {
        padding-left: 0px;
        padding-right: 0px;
    }
    #ts-products-form .radio .radio-container {
        padding-left: 5px;
    }
}

td.hidden-sub-options {
    display: none;
    border-top: none !important;
}

.hidden-sub-options table {
    margin-bottom: 0px;
}

.upsell-item td {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.option-item .row {
    padding-top: 10px;
    padding-bottom: 10px;
}

.option-item, .option-item tr,
#ts-products-form .radio-container {
    cursor: pointer;
    -moz-transition: all 0.3s ease-in;
    -webkit-transition: all 0.3s ease-in;
    -o-transition: all 0.3s ease-in;
}

table:not(.upsell-item) .option-item > tr:not(.upsells-radios):hover,
tr.upsells-radios tr:hover,
#ts-shipping-form .option-item:hover,
#ts-products-form .radio-container:hover{
    background-color: #EAF9FF;
}

.upsells-wrap.has-error .option-item .title {
    color: #1e4e9f;
}

.upsells-wrap.has-error .option-item .option-price {
    color: #8f8f8f;
}

.upsells-wrap.has-error .upsell-item .title {
    color: #d22f2a;
}

.upsells-wrap.has-error .upsell-item .upsell-price {
    color: #d22f2a;
}

.upsells-wrap.has-error .upsell-item .upsell-price.free {
    color: #00b974;
}

.upsells-wrap.has-error .form-control-feedback {
    margin-top: 10px;
}

.upsells-wrap.has-error .help-block {
    display: block !important;
    margin-top: 40px;
}

.upsells-block {
    margin-top: 20px;
}

.upsells-block .upsell-item input[type="radio"] {
    float: left;
    margin: 0 10px 0 0;
}

.upsells-block .upsell-item .title {
    margin: -3px 0 0 0;
}

.upsells-block .upsell-item .upsell-price {
    font-weight: 700;
    text-align: right;
    color: #00b974;
    margin-top: 7px;
    margin-bottom: 14px;
}

.upsells-block .upsell-item .upsell-price.free {
    color: #00b974;
}


/* STEPS-LAYER
-------------------------------------------------- */

.steps-layer {
    display: none;
}

.submit-wrap {
    margin-bottom: 30px;
    margin-top: 20px;
}

.online-course {
    display: block;
    color: #229ae0;
}


/* Small devices (tablets, 768px and up) */

@media only screen and (min-width: 768px) {
    /* Traffic School WELL
-------------------------------------------------- */
    .well.traffic-school-well .context h3 {
        font-size: 22px;
    }
    .well.traffic-school-well .context h3 span {
        font-size: 87% !important;
        display: inline !important;
    }
    .vertical-icon-list .il-item {
        padding-right: 30px;
        text-align: left;
    }
    .vertical-icon-list.thin .il-item {
        padding-right: 0;
    }
    .vertical-icon-list .il-item i {
        display: block;
        float: left;
        font-size: 160%;
    }
    .well.traffic-school-well .context h3 {
        font-size: 22px;
    }
    /* STEPS-LAYER
-------------------------------------------------- */
    .steps-layer {
        display: block;
    }
    .steps-layer {
        padding: 30px 0 21px;
    }
    .steps-layer.simple-steps {
        padding: 0;
    }
    .steps-layer .step-content {
        margin: 0 0 13px;
        font-weight: 700;
        font-size: 17px;
    }
    .steps-layer .step-content span.circle {
        padding: 2px 10px;
    }
    .steps-layer.checkout-steps {
        padding: 10px 0 1px;
    }
    .steps-layer.checkout-steps .step-content {
        color: #bababa;
        text-align: center;
        font-size: 14px;
    }
    .steps-layer.checkout-steps .step-content span.circle {
        background-color: #bababa;
        color: #fff;
        display: block;
        width: 30px;
        height: 28px;
        padding-top: 6px;
        margin: 0 auto 4px;
    }
    .steps-layer.checkout-steps .step-content.past {
        color: #cccccc;
    }
    .steps-layer.checkout-steps .step-content.past span.circle {
        background-color: #cccccc;
    }
    .steps-layer.checkout-steps .step-content.active {
        color: #8f8f8f;
    }
    .steps-layer.checkout-steps .step-content.active span.circle {
        background-color: #d22f2a;
    }
    .steps-layer.checkout-steps .step-content span.step-label {
        display: block;
        clear: none;
    }
    .steps-layer.block-steps {
        padding: 0;
        border-bottom: 1px solid #cfd9db;
        border-top: 1px solid #cfd9db;
    }
    .steps-layer.block-steps .container {
        padding: 0;
    }
    .steps-layer.block-steps .col-xs-3,
    .steps-layer.block-steps .newsletter-icon {
        padding: 0;
    }
    .steps-layer.block-steps .step {
        position: relative;
    }
    .steps-layer.block-steps .step:before,
    .steps-layer.block-steps .step:after {
        content: '';
        position: absolute;
        height: 0;
        width: 0;
        border-style: solid;
        border-width: 0;
        border-width: 22px 0 21px 17px;
    }
    .steps-layer.block-steps .step:before {
        border-color: transparent #cccccc;
        right: -1px;
    }
    .steps-layer.block-steps .step:after {
        border-color: transparent #fff;
        right: 0;
        top: 0;
    }
    .steps-layer.block-steps .step.past:before {
        display: none;
    }
    .steps-layer.block-steps .step.past:after {
        display: none;
    }
    .steps-layer.block-steps .step.active:before,
    .steps-layer.block-steps .step.active:after {
        content: '';
        position: absolute;
        height: 0;
        width: 0;
        border-style: solid;
        border-width: 0;
        border-width: 22px 0 21px 17px;
    }
    .steps-layer.block-steps .step.active:before {
        border-color: transparent #fff;
        left: 0;
    }
    .steps-layer.block-steps .step.active:after {
        border-color: #fff transparent;
        right: -1px;
        top: 0px;
    }
    .steps-layer.block-steps .step-content {
        color: #bababa;
        text-align: left;
        font-size: 12px;
        margin-bottom: 0;
        padding: 7px 0 4px;
        font-weight: 400;
    }
    .steps-layer.block-steps .step-content span.circle {
        border: 1px solid #bababa;
        color: #bababa;
        display: block;
        width: 30px;
        height: 28px;
        margin: 1px 0 3px 25px;
        padding: 3px 9px 0px;
        float: left;
        text-align: center;
    }
    .steps-layer.block-steps .step-content:hover {
        text-decoration: none;
    }
    .steps-layer.block-steps .step-content.past {
        color: #cccccc;
        display: block;
        -moz-transition: all 0.3s ease-in;
        -webkit-transition: all 0.3s ease-in;
        -o-transition: all 0.3s ease-in;
    }
    .steps-layer.block-steps .step-content.past:hover {
        color: #666;
        display: block;
    }
    .steps-layer.block-steps .step-content.past span.circle {
        border: 1px solid #cccccc;
        -moz-transition: all 0.3s ease-in;
        -webkit-transition: all 0.3s ease-in;
        -o-transition: all 0.3s ease-in;
    }
    .steps-layer.block-steps .step-content.past:hover span.circle {
        border: 1px solid #666;
        color: #666;
    }
    .steps-layer.block-steps .step-content.active {
        color: #fff;
        background-color: #1e4e9f;
    }
    .steps-layer.block-steps .step-content.active span.circle {
        border: 1px solid #fff;
        color: #fff;
    }
    .steps-layer.block-steps .step-content span.step-label {
        display: block;
        margin: 4px 0 0 12px;
        float: left;
    }
    .steps-layer.brand-info .step-content span.step-label,
    .steps-layer.brand-primary .step-content span.step-label,
    .steps-layer.brand-dblue .step-content span.step-label {
        color: #fff;
    }
    .steps-layer.checkout-steps {
        padding: 17px 0 5px
    }
    .steps-layer.checkout-steps .steps-title {
        color: #229ae0;
        margin-top: 0;
        font-weight: 700
    }
    .steps-layer.checkout-steps .step-content {
        font-size: 17px;
        text-align: left;
        display: block;
    }
    .steps-layer.checkout-steps .step-content span.circle {
        display: inline-block
    }
    .steps-layer.checkout-steps .step-content.active {
        text-align: center
    }
    .steps-layer.checkout-steps .step-content.next {
        text-align: right;
        padding-right: 15px
    }
    .steps-layer.checkout-steps .step-content span.step-label {
        display: inline;
        clear: none
    }
    .steps-layer.block-steps .container {
        padding-left: 15px;
        padding-right: 15px
    }
    .steps-layer.block-steps .step:after,
    .steps-layer.block-steps .step:before {
        border-width: 33px 0 33px 17px
    }
    .steps-layer.block-steps .step.active {
        padding-left: 28px
    }
    .steps-layer.block-steps .step.active:after,
    .steps-layer.block-steps .step.active:before {
        border-width: 33px 0 33px 17px
    }
    .steps-layer.block-steps .step.active:before {
        left: 28px
    }
    .steps-layer.block-steps .step-content {
        font-size: 16px;
        text-align: left;
        padding: 20px 0 14px 30px
    }
    .steps-layer.block-steps .step-content span.circle {
        display: inline-block;
        margin-right: 5px;
        margin: 0 auto 4px;
        line-height: 20px;
    }
    .steps-layer.block-steps .step-content.active {
        padding-left: 40px;
        display: block;
    }
    .steps-layer.block-steps .step-content span.step-label {
        display: inline;
        clear: none
    }
    /* STEPS-LAYER WIDTHS
-------------------------------------------------- */
    .steps-layer.step-1.ss-style-triangles-down::before {
        left: 9%;
    }
    .steps-layer.step-2.ss-style-triangles-down::before {
        left: 34%;
    }
    .steps-layer.step-3.ss-style-triangles-down::before {
        left: 58%;
    }
    .steps-layer.step-4.ss-style-triangles-down::before {
        left: 92%;
    }
}


/* Medium devices (desktops, 992px and up) */

@media only screen and (min-width: 992px) {
    /* STEPS-LAYER WIDTHS
-------------------------------------------------- */
    .steps-layer.step-1.ss-style-triangles-down::before {
        left: 18%;
    }
    .steps-layer.step-2.ss-style-triangles-down::before {
        left: 36%;
    }
    .steps-layer.step-3.ss-style-triangles-down::before {
        left: 57%;
    }
    .steps-layer.step-4.ss-style-triangles-down::before {
        left: 76%;
    }
    .steps-layer.block-steps .step.active:after {
        right: 0;
    }
    .material .option-price {
        font-size: 22px;
        font-weight: 400;
    }
}


/* Large devices (large desktops, 1200px and up) */

@media only screen and (min-width: 1200px) {
    /* Traffic School WELL
-------------------------------------------------- */
    .well.traffic-school-well {
        background: #ffffff;
    }
    .well.traffic-school-well .cw-content {
        padding: 30px;
    }
    .well.traffic-school-well .context {
        background: #ffffff;
        text-align: left;
    }
    .well.traffic-school-well .context .state-seal {
        max-width: 80px;
        float: left;
        margin: -10px 10px 0 0;
    }
    .well.traffic-school-well .context h3 {
        color: #2F6BB3;
        margin-top: 5px;
        font-size: 22px;
        text-transform: uppercase;
    }
    .well.traffic-school-well .context h3 span {
        display: block;
        clear: both;
        font-size: 71%;
        color: #d22f2a;
    }
    .well.traffic-school-well .course-information {
        background-color: #bababa;
        border-radius: 4px;
        font-size: 14px;
        text-align: center;
        margin-bottom: 0;
        padding: 5px 5px;
        color: #fff;
        line-height: 1;
        cursor: pointer;
        float: right;
        margin-top: 6px;
    }
    .well.traffic-school-well .course-information:hover,
    .well.traffic-school-well .course-information:focus {
        background-color: #229ae0;
    }
    .well.traffic-school-well .course-selects {
        margin-top: 10px;
    }
    .poweredby {
        text-align: right;
        margin: 20px 0;
        margin-top: 15px !important;
    }
    .poweredby a {
        color: #bababa;
    }
    .poweredby a:hover,
    .poweredby a:focus {
        color: #229ae0;
    }
    .checkout-form .block-steps {
        margin-bottom: 30px;
    }
    .checkout-form .vertical-icon-list {
        margin-top: 215px;
    }

/* STEPS-LAYER WIDTHS */
    .steps-layer.step-1.ss-style-triangles-down::before {
        left: 19%;
    }
    .steps-layer.step-2.ss-style-triangles-down::before {
        left: 36%;
    }
    .steps-layer.step-3.ss-style-triangles-down::before {
        left: 55%;
    }
    .steps-layer.step-4.ss-style-triangles-down::before {
        left: 75%;
    }
    #ts-review-form h3 {
        font-weight: normal;
    }
    #ts-review-form .final-details .table > tbody > tr > td,
    #ts-review-form .upsells-wrap .table > tbody > tr > td,
    #ts-review-form .total-layer .table > tbody > tr > td {
        padding-left: 15px;
        padding-right: 15px;
        vertical-align: top;

    }
}

.borderless td, .borderless th {
    border: none !important;
}

.traffic-school-panel table tr:first-child td {
    border-top: 0px;
}


.traffic-school-panel .checkbox input[type=checkbox]  {
   margin-left: -25px;
   margin-top: 5px;
}

.traffic-school-panel .final-details .table > tbody > tr > td {
   padding-top: 20px;
   padding-bottom: 20px;
}

.traffic-school-panel .fa.fa-check {
    margin-right: 5px;
}

.relative-td {
    position: relative;
}

.relative-td i {
    position: absolute;
}

.relative-td detail {
    position: relative;
}

.relative-td .title, .relative-td .detail {
    margin-left: 27px;
    display: block;
}

.option-item label {
    padding: 5px;
}
.option-item .upsell-item label {
    padding: 5px 0px;
}

h3.title {
    margin-top: 5px;
}

@media only screen and (max-width: 768px) {
    .material .upsell-item label {
        margin-left: 0px;
    }
    .material label {
        font-size: 15px;
    }
}

@media only screen and (max-width: 480px) {
    #ts-review-form .material .checkbox .title {
        max-width: 120px;
    }
}

.radio label {
    width: 100%;
}

#products-select-wrapper p {
    color: #888;
}

#ts-shipping-form  .material .option-price {
    padding-top: 25px;
}

#ts-products-form .checkbox-container,
#ts-shipping-form .checkbox-container {
  margin-top: -15px;
  margin-bottom: 5px;
}
#ts-products-form .radio input[type="radio"] + label:before,
#ts-shipping-form .radio input[type="radio"] + label:before {
    top: 9px !important;
}

/*Custom Radio on checkout*/
.checkout-form .radio {
  margin: 0;
}
.checkout-form label{
  padding-left: 0px;
}

.checkout-form label strong span.pull-right{
  margin-top: 5px;
}
#ts-shipping-form .radio {
  margin: 1.4rem;
}
#ts-products-form .radio label {
 padding-left: 35px;
}
#ts-products-form .radio input[type="radio"],
#ts-shipping-form .radio input[type="radio"],
.checkout-form .radio input[type="radio"] {
  position: absolute;
  opacity: 0;
}
#ts-products-form .radio input[type="radio"] + label:before,
#ts-shipping-form .radio input[type="radio"] + label:before,
.checkout-form .radio input[type="radio"] + label:before {
  content: '\f111';
  font-family: FontAwesome;
  font-size: 25px;
  color: #bbb;
  display: inline-block;
  width: 22px;
  height: 22px;
  position: relative;
  margin-right: 0.7em;
  vertical-align: sub;
  cursor: pointer;
  text-align: center;
  -webkit-transition: all 250ms ease;
  transition: all 250ms ease;
}
.checkout-form .radio input[type="radio"] + label:before  {
  top: -0.1em;
  margin-right: 0.4em;
}
#ts-shipping-form .radio input[type="radio"] + label:before {
  left: -1.5em;
  top: -0.3em;
}

#ts-products-form .radio input[type="radio"] + label:before {
  left: -1.3em;
  top: -0.3em;
}

#ts-products-form .radio input[type="radio"]:checked + label:before,
#ts-shipping-form .radio input[type="radio"]:checked + label:before,
.checkout-form .radio input[type="radio"]:checked + label:before {
  content: '\f058';
  color: #3197EE;
  font-family: FontAwesome;
}
#ts-products-form .radio input[type="radio"]:focus + label:before,
#ts-shipping-form .radio input[type="radio"]:focus + label:before,
.checkout-form .radio input[type="radio"]:focus + label:before {
  outline: none;
  border-color: #3197EE;
  font-family: FontAwesome;
}
#ts-products-form .radio input[type="radio"]:disabled + label:before,
#ts-shipping-form .radio input[type="radio"]:disabled + label:before,
.checkout-form .radio input[type="radio"]:disabled + label:before {
  box-shadow: inset 0 0 0 4px #f4f4f4;
  border-color: #b4b4b4;
  background: #b4b4b4;
  font-family: FontAwesome;
}
#ts-products-form .radio input[type="radio"] + label:empty:before,
#ts-shipping-form .radio input[type="radio"] + label:empty:before,
.checkout-form .radio input[type="radio"] + label:empty:before {
  margin-right: 0;
  font-family: FontAwesome;
}


/*Custom Checkbox on checkout*/

.upsells-wrap .checkbox {
  margin: 0.5rem;
}
.upsells-wrap .checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
}
#ts-shipping-form .checkbox input[type="checkbox"] + label:before {
  left: -1.5em;
}
.upsells-wrap .checkbox input[type="checkbox"] + label:before {
  content: '\f0c8';
  font-family: FontAwesome;
  font-size: 25px;
  color: #bbb;
  display: inline-block;
  width: 22px;
  height: 22px;
  position: relative;
  top: -0.1em;
  left: -1.5em;
  margin-right: 0.7em;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  -webkit-transition: all 250ms ease;
  transition: all 250ms ease;
}
.upsells-wrap .checkbox input[type="checkbox"]:checked + label:before {
  content: '\f14a';
  color: #3197EE;
  font-family: FontAwesome;
}
.upsells-wrap .checkbox input[type="checkbox"]:focus + label:before {
  outline: none;
  border-color: #3197EE;
  font-family: FontAwesome;
}
.upsells-wrap .checkbox input[type="checkbox"]:disabled + label:before {
  box-shadow: inset 0 0 0 4px #f4f4f4;
  border-color: #b4b4b4;
  background: #b4b4b4;
  font-family: FontAwesome;
}
.upsells-wrap .checkbox input[type="checkbox"] + label:empty:before {
  margin-right: 0;
  font-family: FontAwesome;
}

.upsells-wrap .checkbox-container{
  display: inline-block;
  margin-left: -43px !important;
  margin-bottom: 0px;;
  margin-left: -20px;
}


#paynow-content,
#paylater-content {
  overflow: hidden;
  transition: height 480ms;
}
#ts-checkout-form .lock {
  display: inline-block;
}
#ts-review-form h3 {
  font-size: 1.17em;
}
.traffic-school-panel.confirmation p.detail {
  margin-bottom: 25px !important;
  line-height: 1.3 !important;
  font-size: 16px;
}

.traffic-school-panel.confirmation .panel-body {
  padding-top: 30px;
}
.traffic-school-panel.confirmation .detail-layer {
  margin-top: 14px;
}
.traffic-school-panel.confirmation .row.totals {
  margin-left: -30px;
  margin-right: -30px;
}

#ts-review-form .final-details .table > tbody > tr > td,
#ts-review-form .upsells-wrap .table > tbody > tr > td {
    vertical-align: top;
}

.traffic-school-panel tr:nth-child(even) {
    background-color: transparent;
}

.checkbox.show-sub-options.option-item {
    display: table-row-group;
}

.consolidate-products-form {
    margin-top: 20px;
}

.consolidate-products-form .cw-content {
    margin-bottom: 30px;
}

.consolidate-products-form .step-title {
    clear: both;
    background: #30b9e6;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    padding: 10px;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    margin-bottom: 20px;
}

.btn-green {
    background-color: #30b9e6;
    border-color: #30b9e6;
}

.btn-details {
    color: #229ae0;
    text-decoration: underline;
}

/************ Redesign Upgrade Module *************/

.panel.panel-material.courses-review-form:before {
    content: '';
    display: block;
    width: 100%;
    height: 12px;
    background: linear-gradient(#ed9e00, #e56d09);
}

.panel.panel-material.courses-review-form:after {
    content: '';
    display: block;
    width: 100%;
    height: 12px;
    background: linear-gradient(#ed9e00, #e56d09);
}


.panel.panel-material.courses-review-form .panel-heading {
    font-size: 32px;
    font-weight: 900;
    letter-spacing: 4px;
    color: #1e4e9f;
    background: transparent;
    padding-top: 16px;
}

.panel.panel-material.courses-review-form .panel-body {
    padding: 10px 0 0;
}

.panel.panel-material.courses-review-form .special-offers > div {
    display: flex;
    margin-bottom: 20px;
}

.panel.panel-material.courses-review-form .special-offers > div .upgrade-detail {
    background: #e6e6e6;
    padding: 20px 30px;
    flex: 1;
}

.panel.panel-material.courses-review-form .special-offers > div .upsell-item .upgrade-detail {
    padding: 5px 30px;
}

.panel.panel-material.courses-review-form .special-offers .upsells-title {

}

.panel.panel-material.courses-review-form .special-offers > div .upgrade-price {
    width: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    padding: 0;
    background-color: #ea9826;
}

.panel.panel-material.courses-review-form .special-offers > div .upgrade-price .option-price {
    font-size: 34px;
    color: white;
    font-weight: 800;
}

.panel.panel-material.courses-review-form .special-offers > div:first-child .upgrade-price {
    background-image: url(/wp-content/plugins/cyberactive-dmv-traffic-school/tpls/../images/flag-best-seller.png);
    background-size: 120px;
    padding: 0px;
    background-repeat: no-repeat;
    background-position: right top;
}

.panel.panel-material.courses-review-form .special-offers > div .upgrade-detail .checkbox > label {
    display: flex;
}

.panel.panel-material.courses-review-form .special-offers > div .upgrade-detail .checkbox-container {
    padding-left: 10px;
    line-height: 1.3;
    color: #1f4e9f;
}

.panel.panel-material.courses-review-form .special-offers > div .upgrade-detail .checkbox-container .title {
    font-size: 20px;
    font-weight: 800;
    padding-bottom: 8px;
    color: #1f4e9f;
}

.panel.panel-material.courses-review-form .upsells-wrap .special-offers > div .upgrade-detail .checkbox input[type="checkbox"] + label:before {
    color: #1f4e9f;
    font-size: 28px;
    left: -34px;
    top: -7px;
    width: 34px;
    height: 34px;
    margin-right: 14px;
}

.panel.panel-material.courses-review-form .special-offers > div:first-child > .upgrade-detail {
    background-color: #cddce2;
}

.panel.panel-material.courses-review-form .special-offers > div:first-child > .upgrade-price {
    background-color: #1f4e9f;
}

.panel.panel-material.courses-review-form .special-offers .upsells-radios {
    margin-top: -20px;
}

.panel.panel-material.courses-review-form .special-offers .upsells-block {
    margin-top: 0;
    background: #e6e6e6;
    width: calc(100% - 200px);
    padding: 15px 0;
}

.panel.panel-material.courses-review-form .special-offers .upsells-block .upsells-title {
    padding-left: 70px;
    color: #1f4e9f;
    font-size: 17px;
    font-weight: bold;
}

.panel.panel-material.courses-review-form .special-offers .upsells-block .upgrade-detail-description {
    padding-left: 40px;
    font-size: 15px;
    color: #1f4e9f;
    margin: 0;
}

.panel.panel-material.courses-review-form .special-offers .upsells-block .upsell-item > div {
    display: flex;
}

.panel.panel-material.courses-review-form .special-offers .upsells-block .upsell-item > div input {
    width: auto;
}

.panel.panel-material.courses-review-form .special-offers .upsells-block .upgrade-detail label {
    display: flex;
    cursor: pointer;
}

.panel.panel-material.courses-review-form .special-offers .upsells-block .upgrade-detail label .title {
    margin-top: -1px;
    color: #111e6b;
}

.panel.panel-material.courses-review-form h3.title {
    font-size: 28px !important;
    color: #1f4e9f;
    font-weight: 600 !important;
    letter-spacing: 2px;
}

.panel.panel-material.courses-review-form .detail-layer .price {
    font-size: 32px !important;
    color: #69bf4a;
}

.panel.panel-material.courses-review-form .special-offers .upgrade-detail label .price {
    display: none;
}

.panel.panel-material.courses-review-form .poweredby {
    text-align: center;
}

.panel.panel-material.courses-review-form .poweredby .provider {
    margin-right: 20px;
}

@media only screen and (max-width: 480px) {
    .panel.panel-material.courses-review-form .panel-body {
        padding: 15px;
    }

    .panel.panel-material.courses-review-form .special-offers > div .upgrade-detail {
        margin-right: 0;
    }

    .panel.panel-material.courses-review-form .special-offers > div .upgrade-price {
        display: none;
    }

    #ts-review-form .panel.panel-material.courses-review-form .special-offers > div .upgrade-detail .title {
        max-width: none;
    }

    .panel.panel-material.courses-review-form .special-offers .upgrade-detail label .price {
        display: inline-block;
    }

    .panel.panel-material.courses-review-form .poweredby .provider {
        display: block;
        margin-right: 0;
    }
}

/*****************************************************/