@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Roboto&family=Work+Sans:wght@400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

/* Override jQuery UI stuff *

/* Fix popup modal background issue */
.ui-widget-overlay {
    background : #666666;
}

/*
Colours:
#C6E0EC very light
#94C5DA light
#5BA6C6 medium
#2B647B dark
*/

h1, h2, h3 {
    font-weight : normal;
    text-transform: uppercase;
}

h1 {
    margin-top    : 20px;
    margin-bottom : 10px;
    line-height   : 44px;
    font-weight   : 900;
    color: #34312f;
}

h2 {
    font-weight: 700;
    font-size: 2rem;
    color: #34312f;
}

body, #main_wrapper {
    font-family : "Inter", serif;
    color       : #34312f;
    font-size   : 16px;
    line-height : 1.5em;
}


.hidden {
    display: none !important;
}

.center {
    text-align: center;
}
.contact_wrapper_content {
    font-size : 10px;
}

.contact_wrapper_content p {
    margin  : 0;
    padding : 0;
}

.contentHeader {
    background-color                : #001e44;
    -webkit-border-top-left-radius  : 10px;
    -webkit-border-top-right-radius : 10px;
    -moz-border-radius-topleft      : 10px;
    -moz-border-radius-topright     : 10px;
    border-top-left-radius          : 10px;
    border-top-right-radius         : 10px;
    height                          : 35px;
    color                           : white;
    padding                         : 10px;
    box-sizing                      : border-box;
    font-weight                     : bold;
}

.mainContent {
    padding                            : 10px;
    background-color                   : white;
    -webkit-border-bottom-left-radius  : 10px;
    -webkit-border-bottom-right-radius : 10px;
    -moz-border-radius-bottomleft      : 10px;
    -moz-border-radius-bottomright     : 10px;
    border-bottom-left-radius          : 10px;
    border-bottom-right-radius         : 10px;
}

.orderDetails th {
    font-weight : normal;
    text-align  : left;
}

#setupAutopayment label {
    font-size   : 16px;
    font-weight : bold;
}

#setupAutopayment p {
    color        : #34312f;
    padding-left : 22px;
}

#setupAutopayment li:first-child {
    margin-top : 0px;
}

#setupAutopayment li {
    margin-top : 20px;
}

.pimeOption {
    background-color      : #001e44;
    color                 : white;
    padding               : 10px;
    -webkit-border-radius : 10px;
    -moz-border-radius    : 10px;
    border-radius         : 10px;
    float                 : right;
    margin-left           : 10px;
    width                 : 200px;
}

#paySections h2 {
    color         : #34312f;
    font-size     : 21px;
    margin-top    : 22px;
    margin-bottom : 17px;
}

#paySections, #paymentSectionList {
    margin-top : 20px;
}

.paymentSectionItems {
    display         : flex;
    flex-direction  : row;
    justify-content : space-evenly;
}

.paymentSectionItems .paymentSection {
    width   : 280px;
    display : inline-block;
}

.paymentHolder {
    position : relative;
}

.paymentHolder img {
    margin-top : 10px;
}

.modalOverlay {
    background-color : white;
    position         : absolute;
    top              : 0;
    left             : 0;
    width            : 100%;
    height           : 100%;
    z-index          : 9999;
}

table.paymentMethodSelect {
    width : 100%;
}

table.paymentMethodSelect tr {

}

table.paymentMethodSelect td {
    background  : #dcf2ff;
    padding     : 5px 10px;
    line-height : 38px;
}

table.paymentMethodSelect button {
	font-size  : inherit;
	background : #001e44;
	color      : white;
	border     : 0;
	padding    : 10px 25px;
	background  : #dcf2ff;
	padding     : 5px 10px;
	line-height : 38px;
	cursor     : pointer;
}

.clear {
    clear : both;
}

footer {
    margin-top : 20px;
    font-size  : 12px;
    text-align : center;
}

footer, footer a {
    color : #34312f;
}

.spinner {
    visibility  : hidden;
    margin-left : 0.5em;
}

a:focus .spinner {
    visibility                        : visible;
    
    -webkit-animation-name            : spin;
    -webkit-animation-duration        : 1s;
    -webkit-animation-iteration-count : infinite;
    -webkit-animation-timing-function : linear;
    
    -moz-animation-name               : spin;
    -moz-animation-duration           : 1s;
    -moz-animation-iteration-count    : infinite;
    -moz-animation-timing-function    : linear;
    
    animation-name                    : spin;
    animation-duration                : 1s;
    animation-iteration-count         : infinite;
    animation-timing-function         : linear;
}

@-webkit-keyframes spin {
    from {transform : rotate(0deg);}
    to {transform : rotate(360deg);}
}

@-moz-keyframes spin {
    from {transform : rotate(0deg);}
    to {transform : rotate(360deg);}
}

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

/***********************************************
 * Billing details form for card payments
 ***********************************************/

.box {
    background-color: inherit;
}
.box {
    background-color: #FFFFFF;
    border-radius: 3px;
    box-shadow: 0 0.5em 1em -0.125em rgb(27 28 29 / 10%), 0 0px 0 1px rgb(27 28 29 / 2%);
    color: #34312f;
    display: block;
    padding: 1.25rem;
}

.form .field {
    font-family: "Inter", serif;
}

.form .field:not(:last-child) {
    margin-bottom: 0.75rem;
}

.form label {
    display: block;
    font-size: 1rem;
    font-weight: 900;
}

.form label:not(:last-child) {
    margin-bottom: 0.5em;
}

.form label, .form .label {
    color: #34312f;
}

.form .control {
    box-sizing: border-box;
    clear: both;
    font-size: 1rem;
    position: relative;
    text-align: inherit;
}

.select select, .form textarea, .form input, .form button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 4px;
    box-shadow: none;
    display: inline-flex;
    font-size: 1rem;
    height: 2.5em;
    justify-content: flex-start;
    line-height: 1.5;
    padding-bottom: calc(0.5em - 1px);
    padding-left: calc(0.75em - 1px);
    padding-right: calc(0.75em - 1px);
    padding-top: calc(0.5em - 1px);
    position: relative;
    vertical-align: top;
}

.form textarea, .form input {
    max-width: 100%;
    width: 100%;
    box-shadow: inset 0 0.0625em 0.125em rgb(27 28 29 / 5%);
}

.select select, .form textarea, .form input {
    background-color: #FFFFFF;
    border-color: #dbdbdb;
    border-radius: 4px;
    color: #34312f;
}


.button.green, .button.green span {
    color: #001e44;
}

.button.green {
    background-color: #ffcf4a;
    border-color: transparent;
    color: #001e44;
}
.button {
    font-family: "Inter", serif;
    font-weight: 500;
    text-transform: uppercase;
    margin: 0 auto;
}
.is-pulled-right {
    float: right !important;
}
.button {
    background-color: #001e44;
    border-color: transparent;
    border-width: 0;
    color: #FFFFFF;
    cursor: pointer;
    justify-content: center;
    padding-bottom: calc(0.5em - 0);
    padding-left: 1em;
    padding-right: 1em;
    padding-top: calc(0.5em - 0);
    text-align: center;
    white-space: nowrap;
}

.is-clearfix::after {
    clear: both;
    content: " ";
    display: table;
}

/**
 * Progress bar
 */

.stepper-wrapper {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}
.stepper-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
}

@media (max-width: 768px) {
    .stepper-item {
        font-size: 12px;
    }
}

.stepper-item::before {
    position: absolute;
    content: "";
    border-bottom: 2px solid #ccc;
    width: 100%;
    top: 20px;
    left: -50%;
    z-index: 2;
}

.stepper-item::after {
    position: absolute;
    content: "";
    border-bottom: 2px solid #ccc;
    width: 100%;
    top: 20px;
    left: 50%;
    z-index: 2;
}

.stepper-item .step-counter {
    position: relative;
    z-index: 5;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ccc;
    margin-bottom: 6px;
}

.stepper-item.active {
    font-weight: bold;
    color: #001e44;
}

.stepper-item.completed .step-counter {
    background-color: #001e44;
    color: #fff;
}

.stepper-item.completed::after {
    position: absolute;
    content: "";
    border-bottom: 2px solid #296484;
    width: 100%;
    top: 20px;
    left: 50%;
    z-index: 3;
}

.stepper-item:first-child::before {
    content: none;
}
.stepper-item:last-child::after {
    content: none;
}
