html {
    font-size: var(--font-size-base);
    min-height: 100%;
    height: 100%;
}

body {
    font-size: 1rem;
    font-family: var(--font-primary);
    min-height: 100%;
}


.page-wrapper {
    min-height: 100%;
    height: 100%;
}

#portal-wrapper {
    display: flex;
    flex-flow: row wrap;
    height: 100%;
    min-height: 100%;
}

.icon-button {
    border: none;
}

button.size-normal {
    width: 1.75rem;
    height: 1.75rem;
}

.icons {
    position: relative;
}

.icons {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: 100%;
    display: inline-block;
}

.align-start {
    align-items: flex-start;
}

.icon-width-1 { width: 1rem; }

.icon-right {
    right: 0;
}

.padding-right-2 {
    padding-right: 2rem;
}

.color-04-filter { filter: var(--color-04); }

.icon-absolute { position: absolute; }

.icon-arrow-down {
    background-image: url('/apply/_assets/imgs/icons/icon-coloured-down.svg');
}

.icon-attachment {
    background-image: url('/apply/_assets/imgs/icons/icon-flex-attachment.svg');
}

.icon-important {
    background-image: url('/apply/_assets/imgs/icons/icon-flex-important.svg');
}

.icon-pinned {
    background-image: url('/apply/_assets/imgs/icons/icon-flex-pinned.svg');
}

.icon-sidebar-close {
    background-image: url('/apply/_assets/imgs/icons/icon-flex-close-open.svg');
    transform: rotate(90deg);
}

.icon-dashboard {
    background-image: url('/apply/_assets/imgs/icons/icon-flex-dashboard.svg');
}

.icon-inbox {
    background-image: url('/apply/_assets/imgs/icons/icon-flex-inbox.svg');
}

.icon-documents {
    background-image: url('/apply/_assets/imgs/icons/icon-flex-documents.svg');
}

.icon-settings {
    background-image: url('/apply/_assets/imgs/icons/icon-flex-settings.svg');
}

.icon-help {
    background-image: url('/apply/_assets/imgs/icons/icon-flex-help.svg');
}

.icon-sign-out {
    background-image: url('/apply/_assets/imgs/icons/icon-flex-sign-out.svg');
}

.icon-applications {
    background-image: url('/apply/_assets/imgs/icons/icon-flex-applications.svg');
}

.icon-applications-new {
    background-image: url('/apply/_assets/imgs/icons/icon-flex-application-new.svg');
}

.icon-products {
    background-image: url('/apply/_assets/imgs/icons/icon-flex-products.svg');
}

.icon-color-07-filter {
    filter: var(--color-07-filter);
}

.background-transparent {
    background: transparent;
}

.align-top-page {
    margin-top: 0;
    margin-bottom: auto;
}
.align-center-page {
    margin-top: auto;
    margin-bottom: auto;
}
.align-bottom-page {
    margin-bottom: 0;
    margin-top: auto;
}

.border-bottom-none {
    border-bottom: none;
}

.padding-bottom-none {
    padding-bottom: 0;
}

.margin-bottom-none {
    margin-bottom: 0 !important;
}

#dashboard-frame {
    flex-grow: 1;
    width: calc(100% - var(--sidebar-open-width));
    background-color: var(--color-10);
    position: relative;
}

#dashboard-frame .page {
    padding-left: var(--page-padding);
    padding-right: var(--page-padding);
    max-width: 68rem;
    margin-left: auto;
    margin-right: auto;
}

#page-header-bar > div {
    padding-left: 0;
    padding-right: 0;
    max-width: 68rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

#page-header-bar {
    padding-top: var(--sidebar-padding-heights);
    padding-bottom: var(--sidebar-padding-heights);
    min-height: var(--header-min-full-height);
    max-width: calc( 100% - var(--sidebar-open-width)) !important;
    position: fixed;
    width: 100%;
    left: var(--sidebar-open-width);
    box-sizing: border-box;
    top: 0;
    margin-bottom: unset;
}

#page-header-bar > div {
    padding-left: 0;
    padding-right: 0;
    max-width: 68rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
}

.content-body {
    padding-top: calc( var(--header-min-full-height) * 1.5);
}

.section-logo img {
    height: 3rem;
}

.grid-row {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

.width-40-percent {
    width: 40%;
}

.width-45-percent {
    width: 45%;
}

.width-48-percent {
    width: 48%;
}

.width-full {
    width: 100%;
}

.margin-top-6 { margin-top:6rem; }

.h1 {
    margin-top: 0;
    font-weight: 400;
    font-family: var(--font-alternative);
    font-size: 3rem;
    margin-bottom: 4rem;
    color: var(--color-01);
}

.h5 {
    font-size: 0.8rem;
    font-weight: 400;
    color: var(--color-04);
    margin-top: 0;
    margin-bottom: 1rem;
}

p.leading {
    margin-bottom: 3.5rem;
    font-size: 1.3rem;
    margin-top: 0.9rem;
    font-weight: 300;
    line-height: 1.3;
    color: var(--color-01-faded);
}

.stack-children {
    display: flex;
    flex-flow: column;
}

a.h2.bold {
    color: var(--color-01);
    text-decoration: none;
    font-weight: 300;
    display: inline-block;
    font-size: 2rem;
    line-height: 1.3;
}

a.h3.faded {
    color: var(--color-01-faded);
    text-decoration: none;
    font-size: .8rem;
}

.color-01-faded {
    color: var(--color-01-faded);
}

.color-01-accent {
    color: var(--color-01-accent);
}

.top-line {
    position: relative;
    margin-top: 10rem;
}
.top-line::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background: var(--color-13);
    top: -9rem;
}


.margin-top-3 {
    margin-top: 3rem;
}

.margin-top-4 {
    margin-top: 4rem;
}

.margin-top-5 {
    margin-top: 5rem;
}

.margin-top-12 {
    margin-top: 12rem;
}

a.continue-link,
a.jump-link {
    position: relative;
    display: inline-flex;
    flex-flow: column;
    font-weight: 300;
    text-decoration: underline;
    text-underline-offset: 0.6em;
    color: var(--color-01);
}

.border-bottom {
    border-bottom: 1px solid rgba(0,0,0,0.05);
}
.border-top {
    border-top: 1px solid rgba(0,0,0,0.05);
}

.padding-bottom-regular {
    padding-bottom: 6rem;
}

.margin-bottom-regular {
    margin-bottom: 6rem;
}

.padding-top-regular {
    padding-top: 6rem;
}

.margin-top-regular {
    margin-top: 6rem;
}

.h2 {
    font-size: 2rem;
    color: var(--color-01);
    margin-top: 0;
    margin-bottom: 3rem;
}

.h2.light {
    font-weight: 300;
}

.stack-children-horizontal {
    display: flex;
    flex-flow: row wrap;
}

.width-30-percent {
    width: 30%;
}

.justify-between {
    justify-content: space-between;
}

.width-13-percent {
    width: 13%;
}

.width-15-percent {
    width: 15%;
}

.width-17-percent {
    width: 17%;
}

.width-31-percent {
    width: 31%;
}

.width-80-percent {
    width: 80%;
}

.width-84-percent {
    width: 84%;
}

.h3 {
    font-size: 1.6rem;
    color: var(--color-01);
    margin-top: 0;
    margin-bottom: 3rem;
    line-height: 1.4;
}

.h3.light { font-weight: 300; }

p.h4 {
    margin-bottom: 3.5rem;
    font-size: .9rem;
    margin-top: 0;
    font-weight: 300;
    line-height: 1.6;
    color: var(--color-01-faded);
}

.place-top-page { margin-top: 0; margin-bottom: auto;}
.place-bottom-page { margin-top: auto; margin-bottom: 0;}

p.h4 strong { color: var(--color-01); }

.icon-tick::before {
    background-image: url('/apply/_assets/imgs/icons/icon-check.svg');

}

.hide {
    display: none;
}

.footer {
    padding-left: var(--page-padding);
    padding-right: var(--page-padding);
    max-width: 68rem;
    margin-left: auto;
    margin-right: auto;
}

.footer .logo-column img {
    height: 2.25rem;
}

.padding-bottom-small {
    padding-bottom: 3rem;
}


.footer .navigation-terms a{
    position: relative;
    display: inline-flex;
    flex-flow: column;
    font-weight: 300;
    text-decoration: none;
    margin-left: 2rem;
    color: var(--color-01);
}

.icon-arrow-up {
    background-image: url('/apply/_assets/imgs/icons/icon-coloured-down.svg');
    transform: rotate(180deg);
}

.vertical-align-center {
    align-items: center;
}

iframe {
    box-sizing: border-box;
    font-size: .9rem;
    padding: 2.2rem 2.5rem 2.2rem 2.2rem;
    border-radius: 0.3rem;
    border: 1px solid #d7e1e2;
    position: relative;
    line-height: 1;
    display: block;
    width: 100%;
    min-height: 24rem;
}

.terms p {
    font-size: .55rem;
    margin-bottom: 1rem;
    font-family: 'Inter', sans-serif;
    line-height: 1.7;
}

.sticky-top {
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 10;
}

.section-title .appid {
    color: var(--color-04);
    opacity: 0.7;
}

.action-col {
    align-content: center;
    flex-grow: 1;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    padding-left: calc(var(--sidebar-padding-sides) * 2);
    padding-right: calc(var(--sidebar-padding-sides) * 2);
    max-width: 50vw;
    margin-left: auto;
    margin-right: auto;
}

#page-header-bar h1 {
    margin: unset;
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--color-01);
    line-height: 1;
}

.apply-thankyou .page.content-body h1 {
    margin-bottom: unset;
}
.height-minus-header {
    min-height: calc( 100% - var(--header-min-full-height) - 1px);
}

#page-header-bar.inbox-header .grid-row {
    height: 100%;
}

body.begin {
    background: #fff;
    display: flex;
}

body.begin > div:first-child {
    max-width: 35rem;
    width: 100vw;
    position: relative;
    z-index: 2;
}

.begin div#dashboard-frame {
    flex-grow: unset;
    display: flex;
    width: 100%;
    flex-flow: column;
}

.begin #dashboard-frame .page {
    max-width: unset;
    width: 100%;
    box-sizing: border-box;
}
.begin div#page-header-bar {
    position: relative;
    max-width: unset;
    width: 100%;
}

.begin .page.content-body {
    padding-top: 5rem;
    flex-grow: 1;
    padding-bottom: 5rem;
}
.begin #dashboard-frame .page.content-body {
    display: flex;
    flex-flow: column;
}
.begin .h1 {
    margin-top: 0;
    font-weight: 400;
    font-family: var(--font-alternative);
    font-size: 2.25rem;
    margin-bottom: 2rem;
    color: var(--color-01);
}


.begin fieldset {
    display: flex;
    flex-flow: column;
    flex-grow: 1;
    margin-bottom: unset !important;
}

.begin form#application-form {
    flex-grow: 1;
    display: flex;
    flex-flow: column;
}
.begin .login-button {
    margin-top: auto;
    padding-top: 4rem;
}
.begin p.leading {
    margin-bottom:0;
    font-size: 1rem;
    margin-top: 0.9rem;
    font-weight: 300;
    line-height: 1.3;
    color: var(--color-01-faded);
}

.begin .icon-arrow-down {
    transform: rotate(-90deg);
}

.begin .page-wrapper {
    position: relative;
    z-index: 2;
}

.hero-images {
    z-index: 1;
    right: 0;
    top: 0;
    width: 100%;
    display: flex;
    max-width: calc(100% - 35rem);
    background: #1C4B42;
}

.hero-images {
    background-image: url('/apply/_assets/imgs/hero-image.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 10% 0%;
    position: relative;
    overflow: hidden;
    padding: 5rem;
    box-sizing: border-box;
}
.hero-elements h1 {
    color: #fff;
    font-weight: 300;
    font-size: 4rem;
    margin-top: 0;
    margin-bottom: 5rem;
}

.hero-elements h1 span {
    font-weight: 700;
}

.contact-details {
    margin-bottom: 0.5rem;
    color: rgba(255, 255, 255, 0.23);
    font-size: 1rem;
}

.address {
    margin-bottom: 5rem;
    color: #ffffff8a;
    font-weight: 300;
}

.legal {
    font-size: .75rem;
    color: #fff;
    font-weight: 300;
}

.contact-details a {
    color: #fff;
    font-weight: 300;
    text-decoration: none;
    margin-right: 1rem;
}

.contact-details a:not(:first-child){
    margin-left: 1rem;
}

.hero-elements {
    display: flex;
    flex-flow: column;
    position: relative;
    margin-top: auto;
}

.hero-images::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background: #1C4B42;
    background: linear-gradient(45deg, rgb(13 44 38) 0%, rgba(28, 75, 66, 0) 100%);
}

.begin .grid-row.padding-bottom-regular.margin-bottom-regular {
    margin-bottom: 1rem;
    padding-bottom: 0;
}

.begin.processing .page-wrapper {
    padding-top: 0rem;
    height: unset;
    padding-bottom: 0;
    min-height: unset;
}

.begin.processing .page-wrapper #dashboard-frame .page.content-body {
    padding-bottom: 6rem;
}

.processing h2.h5 {
    margin-top: 3rem;
    width: 80%;
    line-height: 1.5;
    margin-bottom: 2rem;
}