/*@import 'reset-css';*/
@import url('https://fonts.googleapis.com/css?family=Hind+Vadodara:300,400,500|Ubuntu:300,500');
@import url("https://fonts.googleapis.com/css?family=Poppins:300,400,600,900");

:root {
    --je-red: #eb243b;
    --main-padding-h: 16px;
    --main-padding-h-offset: calc(var(--main-padding-h) * -1);
    --main-padding-h-total: calc(var(--main-padding-h) * 2);
    /*From components lib*/
    --je-orange: #ff8000;
    --je-blue: #0d75f5;
    --btn-bg-color: var(--je-blue);
    --btn-bg-color-hover: #085bc2;
    --btn-bg-color-active: #0750a9;
    --btn-bg-color-disabled: #cacaca;
    --grey: #eaeaea;
    --dark-grey: #757575;
    --black-input: #535353;
    --black: #333333;
    --font-poppins: 'Poppins', sans-serif;
    --font-hind-vadodara: 'Hind Vadodara', sans-serif;
}

@media (min-width: 768px) {
    :root {
        --main-padding-h: 32px;
    }
}

@media (min-width: 992px) {
    :root {
        --main-padding-h: 80px;
    }
}

body {
    background: #f5f5f5;
    min-width: 336px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

hr {
    border: 0;
    border-bottom: 1px solid #eaeaea;
}

@media (min-width: 0px) {
    hr {
        margin-bottom: 24px;
    }
}

@media (min-width: 768px) {
    hr {
        margin-bottom: 32px;
    }
}

@media (min-width: 992px) {
    hr {
        margin-bottom: 40px;
    }
}

main {
    background: #ffffff;
    border-radius: 5px;
    box-shadow: 0 2px 4px 0 rgba(51, 51, 51, 0.2);
    box-sizing: border-box;
    padding: var(--main-padding-h) var(--main-padding-h) 1px var(--main-padding-h);
    margin-bottom: -1px;
    position: relative;
    transition: width 0.4s;
}

@media (min-width: 0px) {
    main {
        width: 100%;
        margin: 120px auto 0;
    }
}

@media (min-width: 352px) {
    main {
        width: calc(100% - var(--main-padding-h-total));
    }
}

@media (min-width: 768px) {
    main {
        max-width: 452px;
        margin: 180px auto 0;
    }
}

@media (min-width: 992px) {
    main {
        max-width: 642px;
        margin: 320px auto 0;
    }
}

.loading-icon {
    width: 20px;
    height: 20px;
    line-height: 20px;
    background: url(../images/icons/loading-arrows.svg);
    background-repeat: no-repeat;
    background-size: contain;
    animation-name: spin;
    animation-duration: 1000ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    display: inline-block;
    margin: 0 0 -6px 8px;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* remove iOS default button style */
.je-button {
    -webkit-appearance: none;
}

.validation-advice {
    margin: 5px 0 0;
    font-family: 'Hind Vadodara', sans-serif;
    color: #d50525;
    font-weight: 300;
    line-height: 18px;
    font-size: 14px;
    background: url(../images/icons/warning-icon-28.svg);
    background-position: 0px 9px;
    background-repeat: no-repeat;
    padding: 5px 5px 5px 20px;
    background-size: 13px 10px;
}

.validation-advice-without-error {
    color: var(--black);
    background: none;
    padding: 5px;
}

/* == Components ==*/
/* = Page Header =*/
.component-page-header {
    border-bottom: 1px solid #eaeaea;
}

@media (min-width: 0px) {
    .component-page-header {
        margin-bottom: 24px;
        padding-bottom: 24px;
    }
}

@media (min-width: 992px) {
    .component-page-header {
        margin-bottom: 40px;
        padding-bottom: 40px;
    }
}

.component-page-header figure {
    display: block;
    margin: 0 calc(var(--main-padding-h) * -1);
    position: absolute;
    text-align: center;
    top: -54px;
    width: 100%;
}

@media (min-width: 0px) {
    .component-page-header figure {
        top: -36px;
    }

    .component-page-header figure img {
        max-width: 117px;
    }
}

@media (min-width: 992px) {
    .component-page-header figure {
        top: -54px;
    }

    .component-page-header figure img {
        max-width: 170px;
    }
}

.component-page-header h1 {
    color: var(--je-orange);
    font-family: 'Poppins', sans-serif;
    font-weight: 900;
    margin-bottom: 4px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: -1px;
}

@media (min-width: 0px) {
    .component-page-header h1 {
        font-size: 24px;
        line-height: 24px;
        margin-top: calc(24px - var(--main-padding-h));
    }
}

@media (min-width: 768px) {
    .component-page-header h1 {
        font-size: 32px;
        line-height: 28px;
        margin-bottom: 8px;
    }
}

@media (min-width: 992px) {
    .component-page-header h1 {
        font-size: 32px;
        line-height: 48px;
        margin-top: -40px;
        margin-bottom: 8px;
    }
}

.component-page-header .header-description {
    color: #333333;
    font-family: 'Poppins', sans-serif;
    font-weight: 300;
    text-align: center;
    margin: 0;
}

@media (min-width: 0px) {
    .component-page-header .header-description {
        font-size: 14px;
        line-height: 18px;
    }

    .component-page-header .header-description span {
        font-size: 14px;
        line-height: 18px;
    }
}

@media (min-width: 992px) {
    .component-page-header .header-description {
        font-size: 20px;
        line-height: 24px;
    }

    .component-page-header .header-description span {
        font-size: 20px;
        line-height: 24px;
    }
}

.header-minicart .header-b2b span.label {
    background-color: #ff8000;
    padding: 5px 10px;
    border-radius: 10px;
    color: #ffffff;
}

/* = App Terms =*/
.component-app-terms {
    text-align: center;
    font-weight: 400;
    color: var(--black);
    margin: 0 auto;
}

@media (min-width: 0px) {
    .component-app-terms {
        font-size: 12px;
        line-height: 16px;
        max-width: 250px;
    }
}

@media (min-width: 576px) {
    .component-app-terms {
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    .component-app-terms {
        font-size: 14px;
        line-height: 18px;
    }
}

.component-app-terms span {
    display: inline-block;
}

.component-app-terms a,
.component-app-terms a:visited {
    text-decoration: none;
    color: var(--je-blue);
}

/* = Basket Item =*/
.component-basket-item {
    padding-bottom: 18px;
    border-bottom: 1px solid var(--grey);
}

.component-basket-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.component-basket-item h3,
.component-basket-item h4 {
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    margin: 0;
    color: var(--black-input);
}

.component-basket-item p {
    font-weight: 300;
    font-size: 14px;
    line-height: 18px;
    margin: 0;
    color: var(--black-input);
}

.component-basket-item .detail {
    padding: 18px 0;
    display: flex;
    color: var(--black-input);
    position: relative;
}

.component-basket-item .detail:after {
    content: '';
    width: 0;
    height: 0;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-top: 16px solid #ffffff;
    position: absolute;
    bottom: -16px;
    left: 40px;
}

.component-basket-item .detail header {
    flex-grow: 2;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}

.component-basket-item .detail header h3 {
    align-self: flex-start;
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    margin: 0;
}

.component-basket-item .detail header p {
    align-self: flex-start;
    font-weight: 300;
    font-size: 14px;
    line-height: 18px;
    margin: 0;
}

.component-basket-item .detail .amount {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
    width: 45px;
}

.component-basket-item .detail .buttons {
    display: flex;
    align-items: center;
}

.component-basket-item .detail .buttons a {
    color: var(--je-blue);
    text-decoration: none;
    margin-left: 16px;
}

.component-basket-item .detail .quantity {
    min-width: 60px;
    max-width: 85px;
    flex-basis: auto;
    flex-grow: 1;
}

.component-basket-item .detail .quantity .je-select .mdc-select__dropdown-icon {
    bottom: 14px;
}

.component-basket-item .detail .quantity input {
    width: 100%;
    height: 36px;
    border: 1px solid #eaeaea;
    text-align: center;
    box-sizing: border-box;
}

.component-basket-item .detail .quantity button {
    height: 30px;
    font-size: 12px;
    margin-top: 4px;
}

.component-basket-item .delivery {
    background: #edf5ff;
    padding: 25px 15px 15px;
    color: var(--black-input);
    font-weight: 300;
}

.component-basket-item .delivery h4 {
    margin-bottom: 4px;
    white-space: nowrap;
}

.component-basket-item .delivery .physical-address {
    display: flex;
}

.component-basket-item .delivery .physical-address .address {
    flex-grow: 1;
}

.component-basket-item .delivery .physical-address .address span {
    display: block;
}

.component-basket-item .delivery .postage-method {
    margin-bottom: 16px;
    min-width: 80px;
}

.component-basket-item .message {
    padding: 20px 15px 15px;
    border: 1px solid var(--grey);
}

.component-basket-item .message .message-text {
    white-space: pre-line;
}

/* = Info Box =*/
.component-info-box {
    position: relative;
    padding: 0 0 0 25px;
    font-size: 14px;
    margin: 16px 0;
    line-height: 20px;
    color: var(--black-input);
}

.component-info-box:after {
    content: '';
    width: 15px;
    height: 15px;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -7.5px;
    background: url(../images/icons/info-icon-28.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 15px 15px;
}

/* = Address Lookup =*/
.component-address-lookup .button-link {
    margin-top: 8px;
    border: 0;
    background: none;
    font-family: 'Hind Vadodara', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: var(--je-blue);
    cursor: pointer;
}

.component-address-lookup .input-lookup {
    margin-bottom: 24px;
}

@media (min-width: 768px) {
    .component-address-lookup .input-lookup {
        margin-bottom: 32px;
    }
}

.component-address-lookup .input-address {
    margin-bottom: 16px;
}

/* == Pages ==*/
/* = Basket =*/
.page-basket .totals {
    text-align: right;
    font-weight: 300;
}

.page-basket .totals p {
    margin: 0;
    line-height: 24px;
}

.page-basket .totals > div {
    display: flex;
}

.page-basket .totals > div .total-detail {
    flex-grow: 1;
}

.page-basket .totals > div .total-amount {
    min-width: 75px;
}

.page-basket .totals .grand-total {
    border-top: 1px solid var(--grey);
    border-bottom: 1px solid var(--grey);
    margin-top: 10px;
    font-weight: 500;
    font-size: 16px;
}

.page-basket .totals .grand-total p {
    line-height: 40px;
    font-size: 16px;
}

/* = Override =*/
.col-main-je .je-tandc {
    text-align: justify;
}

@media (min-width: 576px) {
    .je-form-section {
        margin-bottom: 24px;
    }
}

@media (min-width: 768px) {
    .je-form-section {
        margin-bottom: 32px;
    }
}

.je-form-section.compact > *:not(.je-h2):not(:last-child):not(.has-error) {
    margin-bottom: 24px;
}

@media (min-width: 768px) {
    .je-form-section.compact > *:not(.je-h2):not(:last-child):not(.has-error) {
        margin-bottom: 32px;
    }
}

.je-form-section > .has-error {
    margin-bottom: 0 !important;
}

@media (min-width: 768px) {
    .checkout-cart-index .je-button:not(.btn-update) {
        width: 47%;
        margin-bottom: 0 !important;
    }

    .checkout-cart-index .je-button--secondary {
        margin-left: 16px;
        float: right;
    }
}

.mdc-checkbox:after, .mdc-checkbox:before {
    top: -2px;
    left: -2px;
}

.mdc-radio-label {
    padding-top: 9px;
}

/* = TextArea Fixed =*/
.component-text-area-fixed .je-textarea textarea {
    resize: none;
    overflow: hidden;
    font-family: 'Ubuntu Mono', monospace !important;
    line-height: 24px;
}

@media (min-width: 0px) {
    .component-text-area-fixed .je-textarea {
        width: 303px;
    }

    .component-text-area-fixed .je-textarea textarea {
        font-size: 13.5px;
    }
}

@media (min-width: 352px) {
    .component-text-area-fixed .je-textarea {
        width: 288px;
    }

    .component-text-area-fixed .je-textarea textarea {
        font-size: 12.6px;
    }
}

@media (min-width: 418px) {
    .component-text-area-fixed .je-textarea {
        width: 355px;
    }

    .component-text-area-fixed .je-textarea textarea {
        font-size: 16px;
    }
}

/* = Confirmation =*/
.page-confirmation .je-success {
    position: relative;
    width: 64px;
    height: 64px;
    background: #f2fae2;
    border-radius: 50%;
    margin: 0 auto;
}

.page-confirmation .je-success:after {
    content: '';
    width: 23.19px;
    height: 16.09px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -11.595px;
    margin-top: -8.045px;
    background: url(../images/icons/tick-icon-28.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 23.19px 16.09px;
}

.page-confirmation .text-content {
    margin: 0 auto 24px auto;
    text-align: center;
    max-width: 256px;
}

@media (min-width: 768px) {
    .page-confirmation .text-content {
        max-width: initial;
    }
}

.page-confirmation .text-content h2 {
    color: var(--black);
    font-family: var(--font-poppins);
    font-weight: 300;
    text-align: center;
    font-size: 16px;
    line-height: 24px;
}

@media (min-width: 768px) {
    .page-confirmation .text-content h2 {
        font-size: 20.01px;
        line-height: 24px;
    }
}

.page-confirmation .text-content p {
    text-align: center;
}

.page-confirmation .well {
    background-color: #f5f5f5;
    border-radius: 4px;
    padding: 16px;
    display: block;
    width: 220px;
    text-align: center;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .page-confirmation .well {
        width: 256px;
    }
}

.page-confirmation .well h3 {
    color: var(--black-input);
    font-family: var(--font-hind-vadodara);
    font-weight: 300;
    font-size: 14px;
    line-height: 24px;
    margin: 0;
}

.page-confirmation .well p {
    color: var(--black);
    font-size: 20px;
    line-height: 24px;
    margin: 0;
}

.component-text-area-fixed .je-textarea textarea {
    resize: none;
    overflow: hidden;
    font-family: 'Poppins', monospace !important;
}

@media (min-width: 0px) {
    .component-text-area-fixed .je-textarea {
        width: 303px;
    }

    .component-text-area-fixed .je-textarea textarea {
        font-size: 13.5px;
    }
}

@media (min-width: 352px) {
    .component-text-area-fixed .je-textarea {
        width: 288px;
    }

    .component-text-area-fixed .je-textarea textarea {
        font-size: 12.6px;
    }
}

@media (min-width: 418px) {
    .component-text-area-fixed .je-textarea {
        width: 355px;
    }

    .component-text-area-fixed .je-textarea textarea {
        font-size: 16px;
    }
}

nav {
    text-align: center;
    display: block;
    margin: 10px;
}

nav a {
    margin: 5px;
}

.img-hero {
    overflow: hidden;
    position: absolute;
    top: 88px;
    right: 0;
    left: 0;
    background-image: url(../images/hero-image.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
}

.page-header .header-bg-image {
    overflow: hidden;
    position: absolute;
    top: 88px;
    right: 0;
    left: 0;
    background-image: url(../images/hero-image.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
}

.page-header .header-bg-image img {
    width: 100%;
}

@media (min-width: 0px) {
    .page-header .header-bg-image {
        top: 65px;
        height: 150px;
    }
}

@media (min-width: 352px) {
    .page-header .header-bg-image {
        top: 65px;
        height: 160px;
    }
}

@media (min-width: 768px) {
    .page-header .header-bg-image {
        top: 30px;
        height: 250px;
    }
}

@media (min-width: 992px) {
    .page-header .header-bg-image {
        height: calc(100vw / 2.5);
        max-height: 500px;
    }
}

@media only screen and (min-device-width: 1023px) and (max-device-width: 1439px) and (orientation:landscape) {
    .page-header .header-bg-image {
        top: 60px;
    }
}
/* Contact us form */
#contact-form .captcha {
    font-weight: 400;
}
#contact-form .captcha input#captcha_contact_us {
    width: 100%;
    padding: 19px 16px;
    color: #0a3846;
    caret-color: var(--mdc-theme-primary,#1574f5);
    font-family: 'JETSans-Regular',sans-serif;
    font-size: 16px;
    border:  1px solid #eaeaea;
}
#contact-form .captcha > label {
    color: #999999;
    font-family: 'JETSans-Regular',sans-serif;
    font-size: 16px;
}
#contact-form .captcha .control .captcha-reload {
    color: #fff;
    background-color: #1574f5;;
    font-family: 'JETSans-Bold',sans-serif;
    font-size: 16px;
    min-height: 40px;
}
#contact-form .captcha .control .captcha-reload:hover {
    border: 1px solid #cccccc;
    background-color: #085bc2;
}
.je-btn-radio.denomination-type-fixed input+label {
    border-color: #266abd !important;
    color: #266abd !important;
    background: #fff !important;
}
.je-btn-radio.denomination-type-fixed input+label:hover {
    color: #fff !important;
    background: #14509c !important;
}
.je-btn-radio.denomination-type-fixed input:checked+label {
    color: #fff !important;
    background: #14509c !important;
}
/* Contact us form end */
