/* app layout style : start */

#main {
    margin-top: 20px;
}

main {
    min-height: calc(100vh - 256px);
}

.banner-image {
    background-repeat: no-repeat;
    background-position: left top;
    background-size: auto 100%;
    position: relative;
    padding: 10px 0;
    margin-top: 10px;
}

.navigate-button {
    min-height: 4.5em;
}

.navigate-button md-icon {
    position: absolute;
    top: 50%;
    margin-top: -12px;
}

/* IE10+ CSS fix */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .navigate-button span {
        position: absolute;
        top: 50%;
        margin-top: -12px!important;
        left:0;
        right: 0;
    }

    md-input-container.md-input-invalid .md-input-messages-animation {
        overflow: visible;
    }

    md-input-container.md-input-invalid .md-input-message-animation {
        opacity: 1;
    }
    .validation-messages-ie {
        margin-top: 15px;
    }
    md-input-container .md-input-messages-animation.error-messages-ie-autocomplete {
        overflow: visible;
        height: auto;
    }
}

.navigate-button md-icon.previous {
    left: 10px;
}
.navigate-button md-icon.next {
    right: 10px;
}

.navigate-button span {
    margin: 0 auto;
    line-height: 1.8;
}

[ng-click],
[data-ng-click],
[x-ng-click] {
    cursor: pointer;
}

.md-button.md-icon-button.help-icon {
    height: 18px;
    padding: 1px 4px 2px 0px;
    min-height: 26px;
    width: auto;
    margin: 0;
    font-size: 13px;
    line-height: 18px;
}

#header {
    box-shadow: 0 4px 7px 0 rgba(0, 0, 0, 0.26);
    z-index: 1;
}

header,
footer {
    min-height: 128px;
}

.text-align-right {
    text-align: right;
}

.reset-padding {
    padding: 0!important;
}

.reset-margin {
    margin: 0!important;
}

.margin-right {
    margin-right: 10px;
}

/* app layout style : end */


/* component alignment : start */

cmp-input-text[type='hidden'] {
    padding: 0px 0px 0px 8px!important;
}

.component-padding {
    padding: 15px!important;
}

.simple-padding {
    display: block;
    padding: 0px 10px 0px 10px!important;
}

.content-side-padding {
    padding: 0 15px;
}

md-input-container {
    margin: 5px 0;
}

button.cmp-select-one-button.md-button,
cmp-input-composite-select-more button.md-raised.md-button {
    margin-left: 0;
    margin-right: 8px;
}

.cmp-input-date-error div {
    margin-left: 0!important;
}

.invalid-strikethrough {
    text-decoration: line-through;
}

cmp-input-select-boolean .select-boolean-label {
    color: rgba(0, 0, 0, 0.46)!important;
    font-size: 14px;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0em;
    word-break: break-word!important;
    white-space: normal!important;
    padding-bottom: 8px;
}


/* component alignment : end */


/* sidenav : start */

#sidebar {
    margin-top: 45px;
}

#sidebar md-card {
    box-shadow: none;
}

.sidebar-title md-divider {
    border-top-width: 3px;
    margin-top: 5px;
}
.padding-bottom {
    padding-bottom: 10px;
}

.sidebar-doclink {
    padding-bottom: 5px;
}

.margin-bottom {
    margin-bottom: 10px;
}

#sidebar md-divider {
    padding: 0;
}

.sidebar-title {
    padding-top: 16px;
}

.sidebar-close {
    position: absolute;
    right: 5px;
    top: 10px;
    padding: 10px;
}

/* sidenav : end */


/* Help text : start */

md-toolbar.info-help {
    min-height: 40px;
    height: auto;
    border-radius: 2px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    margin-top: 15px;
    outline: none;
}

md-toolbar.info-help:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 7.5px 10px 7.5px;
    top: -10px;
    left: 6px;
}

md-toolbar.info-help div {
    margin: 10px 20px;
    border-left: 1px solid;
    padding-left: 10px;
    line-height: 16px;
}

md-toolbar.info-help.ng-enter,
.md-toolbar.info-help.ng-leave {
    -webkit-transition: 0.6s linear all;
    -moz-transition: 0.6s linear all;
    -ms-transition: 0.6s linear all;
    -o-transition: 0.6s linear all;
    transition: 0.6s linear all;
}

md-toolbar.info-help.ng-enter {
    opacity: 0;
}

md-toolbar.info-help.ng-enter.ng-enter-active,
md-toolbar.info-help.ng-leave,
md-toolbar.info-help.ng-leave.ng-leave-active {
    opacity: 1;
}

.help-text {
    padding-top: 3px;
}

.help-text .md-caption {
    outline: none;
}

.md-button.md-icon-button.close-help-icon {
    position: absolute;
    right: 5px;
    margin: 0;
    padding: 0;
    top: 5px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    min-height: 20px;
}

/* Help text : end */


/* Repeating group : start */

md-card.repeating-group md-card-header {
    padding: 0px;
}

md-card.repeating-group {
    box-shadow: none;
    margin-right: 0;
    margin-bottom: 0;
}

md-card.repeating-group md-toolbar:focus {
    outline: none;
}

.repeating-group md-toolbar {
    min-height: auto;
}


/* Repeating group : end */


/* Typography :start*/

.md-display-4,
.md-display-3,
.md-display-2,
.md-display-1,
md-headline,
md-subhead,
.md-caption,
md-body-1,
md-body-2 {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale;
}

.md-display-4 {}

.md-display-3 {}

.md-display-2 {}

.md-display-1 {}

.md-headline {}

.md-title{
    font-size: 16px;
    margin: 25px 0 10px 5px;
    font-weight: 400;
}

.md-subhead {
    font-size: 14px;
    margin: 25px 0 10px 5px;
    font-weight: 400;
}

.md-body-1 {
    font-size: 14px;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0em;
}

.md-body-2 {
    text-transform: uppercase;
    font-size: 12px;
}

.md-caption {}

md-input-container label,
label,
label.md-caption,
md-select .md-select-value,
md-input-container .md-input, md-checkbox .md-label,
span.label {
    font-size: 14px;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0em;
    word-break: break-word!important;
    white-space: normal!important;
}

md-input-container label,
label,
label.md-caption {
    padding-bottom: 3px;
}

md-checkbox {
    margin-bottom: 5px;
    margin-top: 13px;
}
md-checkbox .md-label {
    vertical-align: inherit;
}

.cmp-input-unit-before label,
md-input-container.cmp-input-unit-before label:not(.md-no-float):not(.md-container-ignore) {
    margin-left: 12px;
    width: auto;
}

md-input-container.cmp-input-unit-before.md-input-focused label:not(.md-no-float):not(.md-container-ignore),
md-input-container.cmp-input-unit-before.md-input-has-value label:not(.md-no-float):not(.md-container-ignore) {
    margin-left: 0px;
    width: 100%;
}

md-input-container.md-input-focused label:not(.md-no-float),
md-input-container.md-input-has-value label:not(.md-no-float) {
    -webkit-transform: translate3d(0, 6px, 0) scale(1);
    transform: translate3d(0, 6px, 0) scale(1);
}

#sidebar .md-subhead {
    font-size: 18px;
}

#sidebar md-card md-card-header {
    font-size: 14px;
    font-weight: 600;
    padding: 0;
    margin-bottom: 10px;
}

#sidebar md-card a {
    text-decoration: none;
}


a.md-button {
    line-height: 25px;
}

#sidebar md-card md-card-content div {
    color: rgba(120, 120, 120, 1);
}

#sidebar md-card md-card-header {
    color: #565656;
}

.md-tab.md-active span {
    color: white;
}

/* Typography : :end */


/* pull sidebar button style : start */

.md-button.sidebar-pull,
button.md-raised.md-button.sidebar-pull {
    margin: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    min-width: 50px;
    min-height: 50px;
    box-shadow: 0 4px 7px 0 rgba(0, 0, 0, 0.26)!important;
}


/* pull sidebar button style : end */


/* angular material components style override : start */

.md-button {
    border-radius: 2px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    text-transform: none;
    margin: 4px;
    min-width: 70px;
    line-height: 1.5em;
    padding: 5px 15px;
    font-size: 13px;
    font-weight: 400;
    white-space: normal;
}

md-input-container .md-input,
.md-select-value {
    font-size: 14px;
}

md-select:not([disabled]):focus .md-select-value {
    padding-bottom: 1px;
}

.md-button.md-raised:not([disabled]) {
    box-shadow: none;
}

button.md-button.md-raised.md-primary.md-hue-1 {
    box-shadow: 0 4px 7px 0 rgba(0, 0, 0, 0.26);
}

#sidebar md-card md-card-content {
    padding: 0px;
}

header md-ink-bar {
    height: 8px;
    border-top-right-radius: 1px;
    border-top-left-radius: 1px;
}

header .md-tab {
    font-weight: 400;
}

header .md-toolbar-tools {
    padding: 0;
}

md-tooltip .md-content {
    height: auto;
    width: auto;
    white-space: normal;
    line-height: 32px;
    padding: 8px 16px;
}

@media screen and (max-width: 960px) {
    .brand-content .vl-toolbar {
        line-height: 18px;
        padding-top: 8px;
        padding-bottom: 8px;
    }
}

@media screen and (min-width: 960px) {
    md-tooltip {
        font-size: 11px;
    }
    md-tooltip .md-content {
        height: auto;
        width: auto;
        white-space: normal;
        line-height: 1em;
        padding-left: 8px;
        padding-right: 8px;
    }
}

@media screen and (min-width: 960px){
    .breadcrumbs-tabs {
        margin-right: 320px;
    }
}

@media screen and (max-width: 1280px) {
    .breadcrumbs-tabs > div {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}

md-autocomplete md-autocomplete-wrap md-progress-linear.md-inline {
    bottom: 0px;
}

md-select {
    background: #F9F9F9;
    margin: 4px 0 0 0;
    padding: 4px;
    border: 1px solid #C7C7C7;
}

md-select-value, .md-select-value, md-select:not([disabled]).ng-invalid.ng-touched .md-select-value ,
md-input-container.md-input-invalid md-select .md-select-value{
    border: none!important;
}

.md-select-value .md-select-icon {
    color: #8C8C8C;
    border-left: 1px solid #C7C7C7;
    height: 25px;
    line-height: 1.4em;
    text-align: right;
}
.md-select-value > span:not(.md-select-icon) {
    white-space: normal;
    line-height: 18px;
}

.md-select-vertical-container {
    height: 256px;
}

/* angular material components style override : end */


/* page content style : start */

.payment-method {
    text-align: center;
}

.payment-method span {
    text-align: center;
}

.payment-method md-card:focus {
    outline: none;
}

.payment-method img,
.payment-types img {
    max-width: 40px;
    margin-right: 5px;
}

.payment-method .hero {
    font-size: 20px;
    font-weight: 900;
}

.payment-icons {
    width: 170px;
    height: 26px;
    background-position: left -26px;
}

.payment-icons.full {
    background-position: left bottom;
}

.payment-debit {
    width: 93px;
    height: 26px;
    background-position: -93px top;
}

.payment-debit.instalment {
    background-position: left top;
}

.price-breakdown md-card {
    border-radius: 2px;
    -webkit-border-radius: 2px;
    padding: 10px;
    box-shadow: none;
    text-align: center;
    margin: 0;
}

.price-breakdown .md-subhead {
    font-weight: bold;
    margin: 0;
}

.box-shadow,
.addons-section md-card.box-shadow,
.addons-section .md-button.box-shadow {
    box-shadow: 0 4px 7px 0 rgba(0, 0, 0, 0.26)!important;
    outline: none;
}

.addons-section md-card {
    border-radius: 2px;
    -webkit-border-radius: 2px;
    box-shadow: none;
    padding: 5px 10px;
    min-height: 36px;
}

.addons-section md-card-content {
    margin: auto 0;
}
.dashed-content-middle {
    border-bottom: 1px dashed #A9A9A9;
}

.dashed-content-right {
    border-right: 1px dashed #A9A9A9;
    height: 35px;
    margin-top: -34px;
}

/* page content style : end */


/* Side nav IE fix : start */

.sidenav-overflow {
    overflow: visible;
}

.ie-min-width {
    min-width: 200px;
}


/* Side nav IE fix: end */


/* vehicle lookup : start */

.vl-toolbar {
    font-size: 13px;
    letter-spacing: 0.005em;
    box-sizing: border-box;
    font-weight: 400;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    flex-direction: row;
    width: 100%;
    min-height: 45px;
    padding: 0 10px;
    margin: 0;
    color: rgba(255, 255, 255, 0.87);
    line-height: 45px;
}

.vl-row {
    padding: 5px 6px 5px 6px;
    margin: 4px;
    font-size: 14px;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale;
}

.vl-container {
    padding: 0px 0px 0px 0px;
}

.vl-help-text {
    min-height: 40px;
    height: auto;
    border-radius: 2px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
}

.vl-help-text div {
    margin: 10px 20px;
    border-left: 1px solid;
    padding-left: 10px;
    line-height: 16px;
    font-size: 14px;
}

.vl-image {
    background: #ffffff;
}

.vl-image img {
    max-height: 300px;
}

.vl-lookup {
    text-align: center;
    height: auto;
}

.vl-lookup-progress {
    position: absolute;
    right: -35px;
    top: 6px;
}

md-option .md-text {
    white-space: normal;
}


/* vehicle lookup : end */


/* address lookup : start */

.address-lookup {
    margin: 0px 10px 10px 10px;
    max-height: 288px;
}

.address-lookup md-list {
    padding: 0px;
}

.address-lookup md-list-item {
    color: rgba(120, 120, 120, 1);
    background-color: rgb(255, 255, 255);
}

.address-lookup md-list-item:hover {
    background: rgb(234, 234, 234);
}

.address-selected-box {
    margin: 2px;
    background: rgb(255, 255, 255);
    color: rgba(120, 120, 120, 1);
    font-size: 14px;
    padding: 5px 5px 5px 8px;
    border-radius: 5px;
}

.address-selected-box span {
    padding: 2px 0px 2px 0px;
}

.address-postcode input, .vehicle-registration input {
    text-transform: uppercase;
}


/* address lookup : end */


/* brand content : start */

.brand-content {
    padding: 10px;
}


/* brand content : end */


/* section subheader : start */

.section-sub-text {
    padding: 10px 0px 15px 5px;
    font-size: 13px;
}

.section-sub-question {
    padding: 10px 0px 0px 10px;
    font-size: 13px;
}


/* section subheader : end */


/* payments : start */

.payment-save-address {
    padding: 15px;
}

.paymentIframe {
    position: relative;
    padding-top: 30px;
    height: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.paymentIframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.payment-lozenge {
    padding: 8px 0px 0px 0px;
}

.payment-lozenge .payment-select {
    margin-top: 8px;
    border-style: solid;
    border-width: 1px 0px 0px 0px;
    border-color: rgba(255, 255, 255, 1);
}

/* payments : end */


/* brand content list : start */

.brand-content md-list-item {
    border-bottom: 1px solid #ddd;
    min-height: 32px;
}

.brand-content md-list-item:nth-child(odd) {
    background: #eaeaea;
}

.brand-content md-list-item::before,
.brand-content md-list-item .md-list-item-inner::before {
    min-height: 32px;
}

/* brand content list : end */

/* dark md-raised button : start */

.dark-primary,  .dark-primary.md-button.md-raised:not([disabled])  {
    background-color: #797979!important;
    color: #ffffff!important;
    box-shadow: 0 4px 7px 0 rgba(0, 0, 0, 0.26);
}

/* dark md-raised button : end */

/* breadcrumbs : start */

.breadcrumbs-tabs > div {
    border-bottom: 8px solid transparent;
    text-align: center;
}

.breadcrumbs-tabs .md-button {
    min-height: 30px;
    padding: 10px 0 5px 0;
    line-height: 1.4em;
}
.breadcrumbs-tabs a,
.breadcrumbs-tabs .md-button {
    text-transform: uppercase;
    opacity: 0.75;
}
.breadcrumbs-tabs .md-button {
    cursor: default;
}
.breadcrumbs-tabs .active-tab a,
.breadcrumbs-tabs .highlight-tab a,
.breadcrumbs-tabs .highlight-tab .md-button,
.breadcrumbs-tabs .active-tab .md-button {
    opacity: 1;
}
.breadcrumbs-tabs .md-button:not([disabled]):hover {
    background-color: transparent;
}
.breadcrumbs-tabs .highlight-tab a {
    cursor: pointer;
}

/* breadcrumbs : end */

/* page navigation progress bar : start */
.nav-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
}
/* page navigation progress bar : end */

/* registration number input field : start */

.registration-number {
    background: #ffffff;
    border-radius: 5px;
    border: 2px solid #000;
    box-shadow: 1px 1px 1px #ddd;
    position: relative;
    margin-top: 10px;
    width: 160px;
}
.registration-number input {
    font-weight: bold;
    height: 35px;
    font-size: 22px;
    margin: 0 auto;
    text-align: center;
}

md-input-container.md-input-focused:not(.md-input-invalid) .registration-number .md-input {
    border-color: transparent;
}

.registration-container  {
    padding-top: 30px;
    padding-bottom: 15px;
}

.registration-container .md-input-invalid .md-input {
    border-bottom: none;
}

/* registration number input field : end */

/* policy conditions and endorsements section : start */
.conditions_endorsements {
    font-size: 0.875em;
    line-height: 1.25em;
}
.conditions_endorsements .heading {
    font-size: 16px;
}
.conditions_endorsements p {
    font-size: 1em;
    line-height: 1.25em;
}
.conditions_endorsements div {
    display: block;
    float: none;
    line-height: 1em;
}
.conditions_endorsements_wrapper {
    background-color: #ebebeb;
    border-radius: 5px;
    padding:.75em;
    border: 1px solid #cccccc;
    margin-top: .75em;
}
.scrollable {
    max-height: 350px;
    overflow-x: hidden;
    overflow-y: scroll;
    height: auto;
    width: 100%;
}
.scrollable::-webkit-scrollbar {
    width: .5em;
}
.scrollable::-webkit-scrollbar-track {
    background: #d0d0d0;
    border-radius: 5em
}
.scrollable::-webkit-scrollbar-thumb {
    background: #939393;
    border-radius: 5em
}
.conditions_wrapper h5, .endorsements_wrapper h5 {
    margin-top: 0px;
    margin-bottom:5px;
    padding-bottom:10px;
    font-size: 16px;
}
ul.conditions_list {
    list-style: disc;
    margin: 0px 0 0px 20px;
    padding-left: 0px;
}
.condition_txt {
    margin-bottom: 5px;
}
.endorsement_heading {

}
.conditions_wrapper, .endorsement_item {
    border-bottom: 1px solid #ccc;
    margin-bottom: 20px;
    padding-bottom: 10px;
    width: 95%;
}
.endorsement_description {
}
.endorsements_wrapper h5 {
    margin-top: 5px;
    margin-bottom: 5px;
}
.endorsement_item:last-child, .endorsement_item:last-child .endorsement_description {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
/* policy conditions and endorsements section : end */

/* -------- icon styling : start -------- */

ng-md-icon {
    fill: currentColor;
    vertical-align: middle;
    display: inline-block;
    line-height: 1;
}

/* -------- icon styling : end -------- */

/* -------- input error styling : start -------- */

md-input-container .md-errors-spacer {
    min-height: 0;
}

.cmp-input .validation-messages {
    font-size: 12px;
    margin: 10px 0 0 0;
}

.md-input-message-animation:first-letter,
.cmp-input .validation-messages div:first-letter {
    text-transform: capitalize;
}

/* -------- input error styling : end -------- */

/* -------- hint for text input : start ------- */

.cmp-input-hint {
    position: absolute;
    left: 2px;
    right: auto;
    bottom: 7px;
    font-size: 12px;
    line-height: 14px;
    transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
}

/* -------- hint for text input : end ------- */
md-input-container .md-input.composite-date-day, md-input-container .md-input.composite-date-month {
    width: 27px;
    min-width: 27px;
}
md-input-container .md-input.composite-date-year {
    width: 45px;
    min-width: 45px;
}

.prequote-text > div {
    margin-left: 5px;
    margin-right: 5px;
    margin-top: 15px;
}

.border-left-0 {
    border-left: 0px !important;
}

.padding-left-0 {
    padding-left: 0px !important;
}

div #sidebarimportantdocumentswrapper a {
    text-decoration: underline;
}

/* Google ReCaptcha Styling */
.grecaptcha-badge{
    transform: scale(0.77);
    -webkit-transform: scale(0.77);
    transform-origin: top right;
    -webkit-transform-origin: top right;
    float: right;
    box-shadow: none !important;
    border: 1px solid #C7C7C7;
}

.selectManyButtonGroup{
    padding: 0 6px;
}

.two-column-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: .5em;
}

.two-column-grid-ie {
    clear: both;
}

.two-column-grid-ie .col {
    width: 50%;
    float: left;
    word-break: break-all;
}

/* Fix for IOS input bug */
input {
	-webkit-user-select: text;
	-khtml-user-select: text;
	-moz-user-select: text;
	-ms-user-select: text;
	user-select: text;
}
