﻿header.affix {
    position: absolute;
}

.sky-form.affix {
    margin-top: 204px;
    position: relative;
}

.scroll-menu .highlight{
    /*padding-top: 40px;*/
}

#couponErrorContainer {
    margin-top: 10px;
    text-align: center;
}

#couponErrorText {
    /*background: #868686 none repeat scroll 0 0;*/
    background: none;
    border-radius: 3px;
    color: #f10a0a;
    display: block;
    font-weight: 400;
    padding: 5px 15px;
    width: 100%;
}

.validationSummaryPannel > h2 {
    color: #ff0000 !important;
}

.validationSummaryPannel{
    margin-bottom:10px;
}

.validationMessage{
    color: red;
    border: 1px solid red;
    padding: 12px;
    border-radius: 3px;
    margin-bottom: 15px;
    padding-left: 56px;
    position: relative;
    background: rgba(199, 0, 0, 0.02);
    font-family: Arial;
    overflow: hidden;
}
.validationMessage:before {
    content: '\f00d';
    font-family: FontAwesome;
    position: absolute;
    top: 0;
    left: 0;
    height: 44px;
    width: 44px;
    line-height: 44px;
    display: block;
    text-align: center;
    text-indent: 0;
    font-size: 16px;
    background: red;
    color: #fff;
}
@media only screen and (max-width:767px) {
    .validationMessage:before {
        height: 64px;
    }
}

@media only screen and (max-width:991px) {
    .sky-form.affix {
        margin-top: 156px;
    }
}

@media only screen and (max-width:767px) {
    .sky-form.affix {
        margin-top: 156px;
    }
}

#quoteTotal {
    position: relative;
}

#quoteTotal .panel-default {
    position: relative;
    text-align: center;
    margin-top: 10px;
}

#quoteTotal .panel-default > .panel-heading {
    position: relative;
    z-index: 1;
    border: none;
}

#quoteTotal .panel-default > .panel-heading h2.uppercase {
    padding: 15px;
    margin: 0;
}

#quoteTotal #cover-details .label {
    width: 100%;
    padding: 0;
    margin: 0;
    line-height: 20px;
    text-align: left!important;
}

#quoteTotal .label {
    color: #fff;
}

#quoteTotal #cover-details strong {
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    font-family: Arial;
    text-align: right!important;
    width: 100%;
    display: block;
}

#quoteTotal .panel-default > .panel-body {
    padding: 15px;
    position: relative;
    z-index: 1;
}

#quoteTotal .btn-primary {
    margin-top: 0 !important;
}

#quoteTotal .total h2 {
    color: #fff;
    font-size: 41px!important;
    text-align: right!important;
}

#quoteTotal .total h2 span {
    font-size: 25px!important;
}

#quoteTotal .total h2 span.textPounds {
    font-size: 50px;
}

#quoteTotal .total .label {
    background: rgba(0,0,0,0.2);
}

#quoteTotal.discount .panel-body {
    padding-top: 20px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

#quoteTotal.discount .ribbon {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin: 0 0 10px;
    background: #e91b23;
}

#quoteTotal.discount .ribbon:after {
    border-top-color: #e91b23;
}

.fix-view.affix,
.fix-view.affix-top {
    position: relative!important;
    width: 100%;
    top: 0;
}

@media (min-height: 640px) and (min-width: 1200px)  {
    .fix-view.affix {
        position: fixed!important;
        top: 30px;
        width: 292px;
    }
    .fix-view.affix-bottom {
        width: 292px;
        position: absolute;
        top: auto!important;
        bottom: 0;
    }
}

@media (min-width: 1200px) {
    
    #quoteTotal #cover-details strong {
        text-align: center!important;
    }
    #quoteTotal #cover-details .label {
        text-align: center!important;
    }
    #quoteTotal .total h2 {
        font-size: 50px!important;
        text-align: center!important;
    }
    #quoteTotal .total h2 span {
        font-size: 35px!important;
    }
}

#quoteDiscount .input {
    margin-bottom: 0 !important;
}

#quoteDiscount .btn-alt {
    width: 100%;
}

#quoteDiscount .panel-body p {
    border-bottom: 1px dotted #eee;
    padding-bottom: 10px;
    font-weight: normal;
    color: #222;
}

#quoteDiscount .panel-body p span {
    color: #e91b23;
}

#quoteDiscount .panel-body p .clearDiscount {
    margin-right: 15px;
    color: red;
}

.total h2 {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 50px;
    letter-spacing: -1px;
    border-radius: 3px;
    margin: 0 auto;
    color: #000;
}

.total h2 span {
    font-size: 40px;
}

.total h2.title {
    color: #e91b23;
}

.total h2.uppercase {
    background: none;
    border: none;
    letter-spacing: 1px;
    padding: 30px 0 0;
    color: #333;
}

.total .label {
    display: inline-block;
    margin: 10px auto 15px;
    border-radius: 14px;
    line-height: 28px;
    padding: 0 15px;
    color: #fefefe !important;
    font-weight: 400;
    font-size: 13px !important;
}

.contentBlock.info {
    border-radius: 3px;
    padding: 10px 15px;
    position: relative;
}

.contentBlock.info p {
    margin: 0 0 0 -25px;
}

.contentBlock.info .fa {
    position: absolute;
    top: -10px;
    left: 0;
    width: 42px;
    text-align: center;
    font-size: 18px;
    height: 42px;
    line-height: 43px;
    background: #fff;
}

#plan-select .panel-body {
    padding-left: 30px;
}

#plan-select .radio {
    margin-right: 15px;
}

#plan-select span.fa {
    width: 30px;
    text-align: center;
}

#plan-select .mobHelper {
    margin: -16px -16px 0 15px;
    width: 54px !important;
    height: 54px !important;
    line-height: 54px !important;
    border-radius: 0;
    color: #000 !important;
}

#payment-plan .panel-body {
    padding-bottom: 0;
}

#payment-plan .ribbon {
    top: 5px;
    left: 5px;
    right: auto;
}

#payment-plan .contentBlock.info p {
    margin-left: 0;
}

#bundle-select {
    display: none;
}

#bundle-select .panel-body {
    padding-bottom: 0;
}

#bundle-select .bundle-item {
    border-radius: 0;
    padding: 34px 15px;
    text-align: center;
    margin: 0 0 15px 15px;
    font-family: Arial;
    font-size: 21px;
    font-weight: normal;
    display: block;
    position: relative;
}

#bundle-select .bundle-item:hover {
    box-shadow: 0 3px 5px rgba(0,0,0,0.125) inset;
    background: #fff;
    cursor: pointer;
}

#bundle-select .bundle-item.active {
    color: #fff;
    padding: 33px 14px;
}

#bundle-select .contentBlock {
    padding: 15px 0 15px 44px;
    min-height: 192px;
    position: relative;
    margin-bottom: 15px;
}

#bundle-select .contentBlock .table > tbody + tbody {
    border: none !important;
}

#bundle-select .contentBlock .fa-info {
    min-height: 100%;
    border-right: 1px solid rgba(12, 86, 157, 0.1);
    text-align: center;
    line-height: 212px;
    width: 44px;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 18px;
    background: #fff;
}

#bundle-select .contentBlock .bundle-key p {
    margin: 0 0 0 15px;
}

#bundle-select .contentBlock .bundle-3 {
    display: block;
}

#bundle-select .contentBlock table.table {
    font-family: Arial;
    margin: 12px 0 0px;
}

#bundle-select .contentBlock table.table tr td {
    padding: 8px 15px;
                
}

#bundle-select .contentBlock .table-striped > tbody > tr:nth-of-type(2n+1) {
    background-color: #fbfbfb;
}

#bundle-select .contentBlock table.table tr td .label-info,
#bundle-select .contentBlock table.table tr td .label-danger {
    margin: -2px 0!important;
    color: #fff;
    border-radius: 3px;
    display: inline-block;
    padding: 1px 7px 0;
    font-weight: bold;
    font-size: 12px;
    position: relative;
    top: -1px;
}

#bundle-select .contentBlock table.table tr td .label-danger {
    background: #ff0000;
    color: #fff!important;

}

@media only screen and (max-width:991px) {
    #bundle-select .panel-body .bundle-item {
        padding: 18px 15px;
    }

    #bundle-select .panel-body .bundle-item.active {
        padding: 17px 15px;
    }

    #bundle-select .panel-body .col-md-6:first-child {
        padding-right: 30px;
    }

    #bundle-select .panel-body .col-xs-3:first-child {
        padding-right: 15px !important;
    }
}

#gadget-count {
    font-size: 14px;
    line-height: 18px;
    margin-top:6px;
}

#edit-gadget, .edit-gadget {
    padding: 5px 15px;
}

.gadget-row {
    border-radius: 0px;
    margin-bottom: 15px;
}

.gadget-row.error {
    border: 1px solid red;
}

.gadget-row:hover {
    cursor: pointer;
}

.gadget-row:hover table.gadget-table {
    background: #fff;
    box-shadow: 0 3px 5px rgba(0,0,0,0.125) inset;
}

.gadget-row table.gadget-table {
    font-family: 'Roboto', sans-serif;
    margin-bottom: 0;
    width: 100%;
}

.gadget-row table.gadget-table tr td {
    padding: 14px;
    vertical-align: middle;
    border-top: 0;
    color: #111;
}

.gadget-row table.gadget-table tr td:last-child {
    border-right: none !important;
}

.gadget-row table.gadget-table tr td.itemDesc {
}

.gadget-row table.gadget-table tr td.rowNum {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    text-align: center;
    width: 50px;
}

.gadget-row.error table.gadget-table tr td.rowNum {
    background-color: #ff0000;
    color: #fefefe;
}

.gadget-row table.gadget-table tr td.deviceIcon {
    text-align: center;
    font-size: 20px;
    width: 50px;
    padding: 0 12px;
}

.gadget-row table.gadget-table tr td.deviceIcon .fa-mobile {
    font-size: 28px;
}

.gadget-row table.gadget-table tr td.qty {
    width: 80px;
    text-align: center;
}

.gadget-row table.gadget-table tr td .btn-alt {
    border: 0;
    background: none !important;
    width: 100%;
    border: 0 !important;
}

.gadget-row table.gadget-table tr td .btn .fa {
    margin: 0;
}

.gadget-row table.gadget-table tr td.editBtn,
.gadget-row table.gadget-table tr td.removeBtn {
    width: 45px;
    padding: 0;
}

.gadget-row:last-child {
    margin-bottom: 0;
}

#active-gadget, .active-gadget {
    border: 2px solid #e91b23;
}

#active-gadget.error, .active-gadget.error {
    border: 2px solid red;
}

#active-gadget table.gadget-table, .active-gadget table.gadget-table {
    box-shadow: none;
    background: #fff;
}

#active-gadget:hover table.gadget-table, .active-gadget:hover table.gadget-table {
    box-shadow: none;
}

#active-gadget table.gadget-table tr td, .active-gadget table.gadget-table tr td {
    border-bottom: 1px solid #eee;
}

#active-gadget.error table.gadget-table tr td.rowNum, .active-gadget.error table.gadget-table tr td.rowNum {
    background: red;
    color: #fefefe;
    border-color: red;
}

#active-gadget table.gadget-table tr td.deviceIcon, .active-gadget table.gadget-table tr td.deviceIcon {
    border-right: 0;
}

#active-gadget table.gadget-table tr td.itemDesc, .active-gadget table.gadget-table tr td.itemDesc {
    text-indent: -1px;
}

#active-gadget table.gadget-table tr td.editBtn, .active-gadget table.gadget-table tr td.editBtn {
    background: #fff;
}

#gadget-list .contentBlock.info p {
    margin-left: -10px;
}

#gadget-list .ribbon {
    top: 5px;
    left: auto;
    right: 5px;
}

#gadget-list label.error {
    border:1px solid #ff0000;
}

#gadget-list .panel-footer .btn-alt {
    margin-top: 1px;
}
/* Edit Gadget Validation */
#edit-gadget .fa.valid, .edit-gadget .fa.valid #edit-gadget .fa.error, .edit-gadget .fa.valid {
    display: none !important;
}

#edit-gadget .input.valid, .edit-gadget .input.valid #edit-gadget .input.error {
    width: 100%;
}

#edit-gadget .label-danger {
    /*display: none !important;*/
}

@media only screen and (max-width:991px) {
    #quoteTotal.affix {
        position: relative;
    }
}

#register-devices .register-item {
    border-radius: 0;
    margin-bottom: 15px;
}

#register-devices .register-item:last-child {
    margin-bottom: 0;
}

#register-devices .register-item.active, #register-devices .active-gadget,
#register-devices .register-item.active:hover, #register-devices .active-gadget:hover {
    box-shadow: none;
}

#register-devices .register-item:hover {
    background: #fff;
    box-shadow: 0 3px 5px rgba(0,0,0,0.125) inset;
    cursor: pointer;
}

#register-devices .register-item label {
    margin-top: 15px;
    margin-left: -15px;
}

#register-devices .register-item table.register-table {
    font-family: 'Roboto', sans-serif;
    margin-bottom: 0;
    height: 100%;
}

#register-devices .register-item table.register-table tr td {
    border-bottom: 0;
    border-top: 0;
    color: #333;
    padding: 27px 14px;
}

#register-devices .register-item table.register-table tr td:first-child {
    border-left: 0;
}

#register-devices .register-item table.register-table tr td.rowNum,
#register-devices .register-item table.register-table tr td.deviceIcon {
    width: 50px;
    text-align: center;
}

#register-devices .register-item table.register-table tr td.deviceIcon {
    font-size: 23px;
    line-height: 74px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

#register-devices .register-item table.register-table tr td.deviceIcon .fa-mobile {
    font-size: 28px;
}

#register-devices .register-item:hover table.register-table {
    background: none;
}

#register-devices .register-item.active table.register-table {
    background: none;
}

#register-devices .register-item.active table.register-table tr td {
    padding: 14px 14px;
    border: 0;
}

#register-devices .register-item.active table.register-table tr td.rowNum {
    color: #fefefe;
}

#register-devices .register-item.active table.register-table tr td.deviceIcon {
    line-height: 48px;
}

#register-devices .register-item.disabled, .gadget-row.disabled {
    border: 1px solid #eee;
}

#register-devices .register-item.disabled table.register-table, .gadget-row.disabled table.gadget-table {
    background: url('/Images/disabled.png') repeat #fff;
}

#register-devices .register-item.disabled table.register-table tr td, .gadget-row.disabled table.gadget-table tr td {
    color: #555;
    border: 0;
}

#register-devices .register-item.disabled table.register-table tr td.rowNum, .gadget-row.disabled table.gadget-table tr td.rowNum {
    background: #f3f6fa;
    border-right: 1px solid #eee;
}

#register-devices .fa.valid,
#register-devices .fa.error {
    top: 23px;
}

#register-devices .contentBlock.info .fa {
    height: 86px;
    line-height: 86px;
}

#sortCode .input.valid, 
#sortCode .input.error {
     margin-right: 0px !important;
}

.table-headings {
    font-family: 'Roboto', sans-serif;
    color: #222;
}

.table-headings tr th {
    border-bottom: 1px solid #eee !important;
    padding: 8px 14px !important;
}

#payment-details {
    padding-left: 15px;
}

#payment-details .payment-item {
    margin-right: 15px;
    min-height: 245px;
}

#payment-details .payment-item img {
    height: 36px;
    margin-top: 15px;
}

#payment-details .payment-item.direct-debit {
    background-image: url('/Images/badges/direct-debit-logo.png');
    background-size: 113px 36px;
    background-position: center 77px;
    background-repeat: no-repeat;
}
#payment-details .payment-item.direct-debit.active {
    background-image: url('/Images/badges/direct-debit-logo-dark.png');
}

#payment-details .payment-item.credit-card {
    background-image: url('/Images/badges/card-payment.png');
    background-size: 113px 36px;
    background-position: center 77px;
    background-repeat: no-repeat;
}

#payment-details .payment-item .total {
    border-top: 1px dotted #eee;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

#payment-details .payment-item.active .total {
    border-color: rgba(0,0,0,0.2);
}

#payment-details .payment-item.active .total h2.title {
    color: #fff!important;
}

#payment-details .payment-item.active .total .label {
    background: rgba(0,0,0,0.2);
}

#card {
    display: none;
}

#thank-you .contentBlock  {
    border-radius: 3px;
    padding: 15px;
    background: #fcfcfc;
    border: 1px solid #eee;
}

#thank-you + #direct-debit-confirmation .panel-body {
    padding-top: 0;
}

#direct-debit-confirmation .contentBlock {
    border-radius: 3px;
    padding: 15px 15px 5px 15px;
    background: #fff;
    border: 1px solid #eee;
}

#thank-you .contentBlock p {
    font-weight: 500;
    margin: 0 !important;
}

#direct-debit-confirmation .contentBlock p {
    margin-bottom: 10px;
}

#thank-you p.lead {
    border-bottom: 1px solid #eee;
    margin: 0 -15px 15px !important;
    padding: 0 15px 15px;
    font-weight: normal !important;
}

#thank-you .fa {
    color: #e91b23;
}

#policy-wordings .panel-body, 
#documents .panel-body {
    padding-left: 30px;
}

#policy-wordings .document-item,
#documents .document-item {
    border: 1px solid #eee;
    background: #fff;
    border-radius: 3px;
    padding: 15px;
    margin-left: -15px;
    min-height: 192px;
    display: block;
    text-align: center;
}

#quote-form #documents.panel .document-item hr {
    border-style: solid;
    border-color: #eee;
}

#policy-wordings .document-item:hover,
#documents .document-item:hover {
    background: #fff;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.125) inset;
    text-decoration: none;
}
#policy-wordings .document-item label,
#documents .document-item label {
    color: #e91b23;
    font-family: 'Roboto', sans-serif;
    margin: 0;
}
#policy-wordings .document-item img {
    margin: 30px auto 0 auto;
}
#documents .document-item img {
    margin: 30px auto 0 auto;
    max-height: 80px;
}
#policy-wordings .document-item .fa-5x,
#documents .document-item .fa-5x {
    color: #e91b23;
}
#policy-wordings .document-item p,
#documents .document-item p {
    display: block;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    margin: 20px 0 0;
}
#policy-wordings .document-item hr,
#documents .document-item hr {
    display: block;
    margin: 15px -15px;
}
#policy-wordings .document-item .btn,
#documents .document-item .btn {
    width: 100%;
}
#policy-wordings .contentBlock.info .fa,
#documents .contentBlock.info .fa {
    height: 64px;
    line-height: 64px;
}

@media (max-width: 767px) {
    #policy-wordings .document-item,
    #documents .document-item {
        margin-bottom: 15px;
    }

    #payment-details .payment-item.direct-debit,
    #payment-details .payment-item.credit-card {
        background-position: center 70px;
    }
}

.table-total {
    border: 1px solid #eee;
    border-radius: 3px;
    margin-bottom: 0;
    margin-top: 30px;
}

.table-total tr td {
    padding: 12px !important;
    border: 0;
    border-top: 1px dotted #eee !important;
    color: #222;
    font-family: 'Roboto', sans-serif;
}

.table-total tr td:nth-child(1) {
    width: 50%;
}

.table-total tr:last-child td {
    background: #333;
    color: #fff;
}

.table-total tr:last-child td:last-child {
    background: #e91b23;
}

@media only screen and (max-width:991px) {
    .table-total tr td:nth-child(1) {
        width: 50%;
    }
}

#policy-list .policy-item {
    border: 1px solid #eee;
    border-radius: 3px;
    margin-bottom: 15px;
    padding: 15px;
}
#policy-list .policy-item.disabled {
    background: #fcfcfc;
}
#policy-list .policy-item.disabled .summary {
    background: none;
}
#policy-list .policy-item.disabled .summary .listTitle {
    color: #888!important;
}
#policy-list .policy-item.disabled:hover {
    border-color: #eee;
    box-shadow: none;
}
#policy-list .policy-item.disabled .contentBlock p,
#policy-list .policy-item.disabled .label {
    color: #888;
}
#policy-list .policy-item.disabled .dropdown-toggle,
#policy-list .policy-item.disabled .dropdown-toggle i {
    background: #fcfcfc;
    color: #888;
}
#policy-list .policy-item:last-child {
    margin-bottom: 0;
}
#policy-list .policy-item .summary {
    background: #f3f6fa none repeat scroll 0 0;
    border-right: 1px solid #eee;
    margin: -15px;
    min-height: 174px;
    padding: 10px 15px 5px;
}
#policy-list .policy-item .summary .listTitle {
    font-size: 20px !important;
    line-height: 140%;
    margin-bottom: 5px;
    margin-top: 10px;
}
#policy-list .policy-item .summary hr {
    margin: 33px 0 15px;
}
#policy-list .policy-item .total {
    color: #333;
}
#policy-list .policy-item .label {
    margin-top: 0;
}
#policy-list .policy-item .summary p {
    margin-bottom: 5px;
    margin-top: 5px;
}
#policy-list .policy-item .ribbon {
    left: auto;
    position: relative;
    top: auto;
    width: 50%;
}
#policy-list .policy-item .ribbon.lapsed {
    background: #888 none repeat scroll 0 0;
}
#policy-list .policy-item .ribbonLeft.lapsed::after {
    border-left-color: #888;
}
#policy-list .policy-item h3.title {
    border-bottom: 1px dotted #eee;
    color: #444;
    font-family: 'Roboto', sans-serif;
    font-size: 22px;
    margin: 0;
    padding: 0 0 10px;
}
#policy-list .policy-item:hover {
    border: 1px solid #e91b23;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.125) inset;
}
#policy-list .policy-item:hover .summary {
    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
}
#policy-list .policy-item .btn-alt {
    margin-top: 25px;
    width: 100%;
}
#policy-list .policy-item .btn-primary {
    margin-bottom: 15px;
    margin-top: 25px;
    padding: 11px 0;
    width: 100%;
}
#policy-list .policy-item img {
    margin-top: 13px;
    max-width: 134%;
}
#policy-list .policy-item hr {
    margin: 9px 0;
}
#policy-list .policy-item p {
    margin: 10px 0;
}
@media only screen and (max-width: 991px) {
    #policy-list .policy-item .summary {
        border-bottom: 1px solid #eee;
        border-right: 0 none;
        margin-bottom: 15px;
        min-height: 100%;
        padding-bottom: 15px;
    }
    #policy-list .policy-item .summary .ribbon {
        margin: 20px 0 0;
        float: right;
        width: auto;
    }
    #policy-list .policy-item .summary .ribbon::after {
        border: 0 none;
    }
    #policy-list .policy-item .summary .contentBlock {
        border-bottom: 0 none;
    }
    #policy-list .policy-item img {
        margin-top: 0;
        max-width: 74%;
    }
    #policy-list .policy-item .total {
        text-align: left !important;
    }
    #policy-list .policy-item .btn-primary {
    }
    #policy-list .policy-item .contentBlock {
        border-bottom: 1px dotted #eee;
    }
    #policy-list .policy-item .col-md-4:last-child .contentBlock {
        border-bottom: 0 none;
    }
}
@media (min-width: 1200px) {
    #policy-list .policy-item img {
        max-width: 100%;
    }
}
@media (max-width: 767px) {
    #policy-list .policy-item .summary .ribbon {
        margin: 15px 0 0;
        float: left;
        width: 100%;
    }
}

/* Policy Certificate */
#pdf-document #pdf-banner {
    border-radius: 0;
    margin-bottom: 0 !important;
    background: url('/Images/Theme/Trusted/hero-strip-print.jpg');
    background-position: right top;
    background-repeat: no-repeat;
    padding-left: 15px;
    padding-right: 15px;
}

#pdf-document #pdf-banner img {
    max-height: 87px;
}

#pdf-document #pdf-banner .panel-body {
    padding-bottom: 0;
}

#pdf-document #pdf-banner h1 {
    font-size: 36px;
    margin-bottom: 10px;
}

#pdf-document #pdf-banner h1,
#pdf-document #pdf-banner .lead {
    color: #fff;
    font-family: 'Roboto', sans-serif;
}

#pdf-document #pdf-banner .policy-number {
    color: #fff;
    background: #333;
    border-radius: 0;
    padding: 12px 15px;
    margin-top: 15px !important;
    margin-right: -15px !important;
}

#pdf-document #pdf-banner .lead {
    margin: 0 0 22px;
}

#pdf-document #waypoint {
    color: #111;
    height: 80px;
    padding-left: 30px;
    padding-right: 30px;
    border-top: 2px solid #e91b23;
    border-bottom: 1px solid #eee;
    padding-top: 15px;
}
#pdf-document #waypoint:before {
    content: ' ';
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    top: 0;
    background: #ffffff;
    background: -moz-linear-gradient(top, #dddddd 0%, #ffffff 100%);
    background: -webkit-linear-gradient(top, #dddddd 0%, #ffffff 100%);
    background: linear-gradient(to bottom, #dddddd 0%, #ffffff 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dddddd', endColorstr='#ffffff',GradientType=0 );
}

#pdf-document .page-header.page-header-with-icon {
    display: block!important;
}
#pdf-document .lead {
    margin-top: -20px;
    margin-bottom: 40px;
}
#pdf-document .fa-2x {
    color: #e91b23;
    margin-top: 3px;
}

#pdf-document address {
    margin-top: 10px !important;
}
#pdf-document address ul {
    padding: 0;
    margin: 0;
    font-family: 'Roboto', sans-serif;
    color: #333;
}
#pdf-document address ul li {
    list-style: none;
    float: left;
    margin-right: 5px;
}
#pdf-document address ul li:after {
    content: ',';
}
#pdf-document address ul li.address-postcode:after,
#pdf-document address ul li:last-child:after {
    content: '';
}
#quote-form #pdf-document .panel hr {
    border-style: solid;
    border-color: #eee;
}

.policy-number {
    margin-right: 15px;
}

.date-item {
    padding: 15px;
    border: 2px solid #e91b23;
    position: relative;
    border-radius: 3px;
    text-align: center;
}

.date-item .label {
    float: none;
    text-align: center;
    border-bottom: 1px dotted #eee;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

.date-item span {
    font-size: 16px;
    color: #e91b23;
    display: block;
}

.date-item .fa {
    text-align: center;
    margin-bottom: 13px;
}

#pdf-document #footer .trust-icons .container {
    margin-right: 0;
}

@media only screen and (max-width:991px) {
    #pdf-document .panel-body {
        padding: 15px;
    }

    #pdf-tables .register-table tr td {
        width: 55% !important;
        float: left !important;
        text-align: right !important;
        border-bottom: 1px solid #f3f6fa !important;
    }

    #pdf-tables .register-table tr:last-child td {
        border-bottom: 0 !important;
    }

    #pdf-tables .register-table tr td.visible-sm {
        text-align: left !important;
        color: #222 !important;
        width: 45% !important;
    }

    #pdf-tables .register-table tr td.rowNum {
        width: 100% !important;
        text-align: center !important;
    }

    #pdf-tables .register-table tr td.deviceIcon {
        display: none;
    }
}

@media only screen and (max-width:767px) {
    .date-item {
        margin-bottom: 15px;
    }

    #pdf-document #pdf-banner .policy-number {
        margin-right: 0 !important;
    }
    #pdf-document #pdf-banner img {
        margin: auto;
    }
}

#gadget-list .accordion .panel-body {
    position: relative;
    overflow: hidden;
    height: 0;
    padding: 0 15px;
}

#gadget-list #gadget-notification {
    width: 20px;
    height: 20px;
    border-radius: 3px;
    color: #fefefe;
    text-align: center;
    line-height: 19px;
    font-size: 13px;
}

/* Validation */
.input.valid,
.input.error {
    margin-right: 48px !important;
}

.input.valid input {
    border-color: #e91b23 !important;
}

.input.error input {
    border-color: red !important;
}

.fa.valid,
.fa.error {
    color: #fff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    text-align: center;
    line-height: 28px;
    position: absolute;
    top: 8px;
    right: 20px;
}

.fa.valid {
    background: #e91b23;
}

.fa.error {
    background: red;
}

.label-danger,
.sky-form .label.label-danger {
    color: red !important;
    background: none;
    margin: -5px 0 15px !important;
}

/* Helpers */
.mobHelper {
    width: 27px !important;
    height: 27px !important;
    line-height: 27px !important;
    border-radius: 2px;
    text-align: center;
    border: 1px solid #ccc;
    background: #fff;
    position: relative;
    z-index: 10;
    font-size: 14px !important;
}

.helper > .mobHelper {
    top: -11px;
    right: 0;
    height: 48px !important;
    width: 48px !important;
    line-height: 48px !important;
    border-radius: 0;
    margin: 0 !important;
    display: inline-block;
    font-size: 18px !important;
    padding-left: 0;
    background: #eee;
}

.modal,
.modal h4 {
    font-family: 'Roboto', sans-serif;
    background: none;
}

.modal {
    border: 0;
    overflow: hidden;
    z-index: 9999999;
}

.modal-header {
    min-height: 57px;
}

.modal-content {
    border-radius: 3px;
    background: #fff;
}

.modal-footer {
    background: #fff;
    border-radius: 0 0 3px 3px;
}

.modal-footer .btn {
    margin-top: 0;
    width: 100%;
}

.modal-header .close {
    margin-top: 2px;
}

.modal-backdrop {
    background: #fff;
}
.modal-backdrop.aside-backdrop {
    background: #000;
}

.modal-backdrop.in {
    opacity: 0.8;
}
.modal.error .modal-content {
    border-color: #c70000;
}
.modal.error .modal-header {
    background: #c70000;
}
.modal.error .btn {
    background: #c70000;
}
.modal.error .modal-body {
    color: #c70000;
}

.modal.warning .modal-content {
    border-color: #FF8C00
}
.modal.warning .modal-header {
    background: #FF8C00;
}
.modal.warning .btn, .modal.primary .btn {
    width: auto;
}
.modal.warning .btn-default, .modal.primary .btn-default {
    border: 1px solid #e5e5e5;
}
.modal.warning .btn-warning {
    background: #FF8C00;
}
.modal.warning .modal-body {
    color: #676F7A;
}
.modal.warning .modal-footer {
    background: #fff;
}

.popover {
    border-radius: 3px;
    padding: 0!important;
    font-family: 'Roboto', sans-serif !important;
    width: 110%;
    z-index: 9999;
}

.popover-title {
    border-radius: 1px 1px 0 0;
    padding: 4px 15px;
    font-family: 'Roboto', sans-serif !important;
    font-weight: 500;
}

.popover-title:before {
    content: ' ';
    position: absolute;
    width: 100%;
    height: 10px;
    top: 39px;
    left: 0;
    background: #ffffff;
    background: -moz-linear-gradient(top, #dddddd 0%, #ffffff 100%);
    background: -webkit-linear-gradient(top, #dddddd 0%, #ffffff 100%);
    background: linear-gradient(to bottom, #dddddd 0%, #ffffff 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dddddd', endColorstr='#ffffff',GradientType=0 );
}

.popover-content {
    padding: 12px 14px 14px 14px;
    font-size: 13.5px;
    color: #111;
    z-index: 9999 !important;
}

.popover.right > .arrow {
    border-right-color: #c80002;
}
.popover.left > .arrow {
    border-left-color: #c80002;
}

.total h2 span.textPounds {
    font-size: 60px;
}


.spinner {
    margin: 10px auto 15px;
    width: 60px;
    height: 30px;
    text-align: center;
    font-size: 10px;
}

.spinner > div {
    background-color: #111111;
    height: 100%;
    width: 6px;
    display: inline-block;
    margin-right: 2px;
    -webkit-animation: stretchdelay 1.2s infinite ease-in-out;
    -moz-animation: stretchdelay 1.2s infinite ease-in-out;
    -o-animation: stretchdelay 1.2s infinite ease-in-out;
    animation: stretchdelay 1.2s infinite ease-in-out;
}

.spinner.spinner-dark > div {
    background-color: #000;
}

.spinner .rect2 {
    -webkit-animation-delay: -1.1s;
    -moz-animation-delay: -1.1s;
    -o-animation-delay: -1.1s;
    animation-delay: -1.1s;
}

.spinner .rect3 {
    -webkit-animation-delay: -1.0s;
    -moz-animation-delay: -1.0s;
    -o-animation-delay: -1.0s;
    animation-delay: -1.0s;
}

.spinner .rect4 {
    -webkit-animation-delay: -0.9s;
    -moz-animation-delay: -0.9s;
    -o-animation-delay: -0.9s;
    animation-delay: -0.9s;
}

.spinner .rect5 {
    -webkit-animation-delay: -0.8s;
    -moz-animation-delay: -0.8s;
    -o-animation-delay: -0.8s;
    animation-delay: -0.8s;
}

@-webkit-keyframes stretchdelay {
    0%, 40%, 100% {
        -webkit-transform: scaleY(0.4);
    }

    20% {
        -webkit-transform: scaleY(1.0);
    }
}

@keyframes stretchdelay {
    0%, 40%, 100% {
        -moz-transform: scaleY(0.4);
        -ms-transform: scaleY(0.4);
        -o-transform: scaleY(0.4);
        transform: scaleY(0.4);
        -webkit-transform: scaleY(0.4);
    }

    20% {
        -moz-transform: scaleY(1.0);
        -ms-transform: scaleY(1.0);
        -o-transform: scaleY(1.0);
        transform: scaleY(1.0);
        -webkit-transform: scaleY(1.0);
    }
}

#bundle {
    margin: -16px -15px;
    padding: 0 15px;
}
#bundle .contentBlock {
    padding: 15px 0;
    margin: -15px 0 15px;
}
#bundle .contentBlock p {
    margin: 0;
}
#bundle .priceBubble {
    position: absolute;
    top: 20px;
    right: 20px;
}

#bundle .bundle-total {
    margin: 15px 0;
    position: relative;
    overflow: hidden;
}
#bundle .bundle-total .label {
    padding: 15px;
    display: inline-block;
    font-size: 13px;
    margin: 0;
}
#bundle .bundle-total .price {
    padding: 10px 15px;
    font-weight: bold;
    font-size: 16px;
}

#bundle .bundle-total .saving:first-child {
    border-left: 2px solid #fff;
}
@media only screen and (max-width:767px) {
    #bundle .bundle-total .saving:first-child {
        border-left: 0;
    }
    #bundle .bundle-total .saving {
        border-top: 2px solid #fff;
    }
    #bundleModal .btn-alt {
        margin-bottom: 15px;
    }
}
#bundleModal .modal-footer {
    z-index: 1;
    position: relative;
    border-top: 0;
}

#bundleModal .btn-primary {
    padding: 11px;
}


/*********************************************************************************************/
/************************************* MOBILE RESPONSIVE *************************************/
/*********************************************************************************************/
@media only screen and (max-width:767px) {
    .popover {
        display: none !important;
    }
}

@media only screen and (max-width:991px) {
    #quoteSummary {
        margin-top: 30px;
    }

    #register-devices .register-item label {
        margin-left: 15px;
        margin-right: 15px;
    }

    #register-devices .register-item table.register-table tr td {
        border-bottom: 1px solid #eee;
        padding: 14px;
    }

    #register-devices .register-item.active table.register-table tr td {
        padding: 13px 14px;
    }

    #register-devices .register-item table.register-table tr td.deviceIcon {
        line-height: 48px;
    }

    #register-devices .register-item.active table.register-table tr td.deviceIcon {
        line-height: 46px;
    }

    #register-devices .input.valid,
    #register-devices .input.error {
        margin-right: 58px !important;
    }

    #register-devices .fa.valid,
    #register-devices .fa.error {
        top: 42px;
        right: 34px;
    }

    #quoteTotal .total h2 {
        font-size: 30px !important;
        float: right;
        font-weight: 500;
    }

    #quoteTotal .total h2 span {
        font-size: 20px;
    }

    #quoteTotal #cover-details {
        margin-top: 10px;
    }

    .popover {
        display: none !important;
    }
}

@media only screen and (max-width:1200px) {
    #quoteSummary {
        margin-top: 30px;
    }
}

#span.cover-status {
    font-family: "Open Sans";
    font-weight: 400;
    font-size: 24px;
    margin-bottom: 15px;
    line-height: 32px;
    background: #fff;
}

.table.table-total, #policy-terms, #gadget-list, #footer {
    page-break-inside: avoid;
}

.page-break {
    page-break-after: always;
}
#policy-documents a.btn-primary {
    margin-bottom: 0;
}
#policy-documents .policy-document-desc {
    height: 46px;
    vertical-align: middle;
} 
#policy-documents .policy-document-desc p {
    margin: 0;
    height: 46px;
    vertical-align: middle;
    display: table-cell;
    vertical-align: middle;
}
#policy-documents .policy-document-img img {
    max-height: 46px;
}
#policy-documents h2 {
    padding-left: 0 !important;
}

.policy-document {
    border: 1px solid #eee;
    padding: 15px;
    margin: 0 15px 15px 15px;
    border-radius: 3px;
}

.policy-document a.btn-primary {
	min-width: 130px !important;
}

#what-now h2 {
    padding-left: 0 !important;
}

#what-now p {
    margin-bottom: 25px;
}