/***************
 VARIABLES DEFAULTS
 ***************/

:root {
    --ca-font-family: inherit;
    --ca-color-ca-edit: #3569e0;
    --ca-brand-colour: #143980;
    --ca-primary-colour: #1CACE4;
    --ca-tertiary-colour: #173B7E;
    --ca-danger-alert-colour: #C60C30;
    --ca-warning-colour: #F8BD2D;
    --ca-success-colour: #00aa45;
    --ca-info-colour: #007ebe;
    --ca-accent-colour-1: #FD7F3D;
    --ca-accent-colour-2: #3fd68d;
    --ca-accent-colour-3: #743388;
    --ca-accent-colour-4: #d63f7f;
    --ca-dark-grey-colour: #343A40;
    --ca-darker-grey-colour: #13171a;
    --ca-secondary-colour: #CDD3D6;
    --ca-light-grey-colour: #e1e5e6;
    --ca-lighter-grey-colour: #F5F7F8;
    --ca-color-a-hover: var(--ca-darker-grey-colour);
}


/***************
 COLOUR DEFAULTS
 ***************/

.ca-content-wrapper .bg-brand,
.ca-content-wrapper .btn-brand,
.ca-body .bg-brand,
.ca-body .btn-brand {
    background-color: var(--ca-brand-colour);
}

.ca-content-wrapper .bg-brand_secondary:not(.nsw-button--light),
.ca-content-wrapper .btn-brand_secondary:not(.nsw-button--light),
.ca-body .bg-brand_secondary:not(.nsw-button--light),
.ca-body .btn-brand_secondary:not(.nsw-button--light) {
    background-color: var(--ca-info-colour);
}

.ca-content-wrapper .bg-primary,
.ca-content-wrapper .btn-primary,
.ca-body .bg-primary,
.ca-body .btn-primary,
.ca-content-wrapper .bg-primary-gradient,
.ca-content-wrapper .btn-primary-gradient,
.ca-body .bg-primary-gradient,
.ca-body .btn-primary-gradient {
    background-color: var(--ca-primary-colour) !important;
}

.ca-content-wrapper .bg-tertiary,
.ca-content-wrapper .btn-tertiary,
.ca-body .bg-tertiary,
.ca-body .btn-tertiary {
    background-color: var(--ca-tertiary-colour);
}

.ca-content-wrapper .bg-danger,
.ca-content-wrapper .btn-danger,
.ca-body .bg-danger,
.ca-body .btn-danger,
.ca-body .bg-danger-alert,
.ca-body .btn-danger-alert {
    background-color: var(--ca-danger-alert-colour) !important;
}

.ca-content-wrapper .bg-warning,
.ca-content-wrapper .btn-warning,
.ca-body .bg-warning,
.ca-body .btn-warning {
    background-color: var(--ca-warning-colour) !important;
}

.ca-content-wrapper .bg-success,
.ca-content-wrapper .btn-success,
.ca-body .bg-success,
.ca-body .btn-success {
    background-color: var(--ca-success-colour) !important;
}

.ca-content-wrapper .bg-orange,
.ca-content-wrapper .btn-orange,
.ca-body .bg-accent1,
.ca-body .btn-accent1,
.ca-body .btn-accent-1,
.ca-body .bg-accent-colour1,
.ca-body .btn-accent-colour1,
.ca-body .bg-accent-colour-1,
.ca-body .btn-accent-colour-1 {
    background-color: var(--ca-accent-colour-1);
}

.ca-body .bg-accent2,
.ca-body .btn-accent2,
.ca-body .btn-accent-2,
.ca-body .bg-accent-colour2,
.ca-body .btn-accent-colour2,
.ca-body .bg-accent-colour-2,
.ca-body .btn-accent-colour-2 {
    background-color: var(--ca-accent-colour-2);
}

.ca-content-wrapper .bg-purple,
.ca-content-wrapper .btn-purple,
.ca-body .bg-accent3,
.ca-body .btn-accent3,
.ca-body .btn-accent-3,
.ca-body .bg-accent-colour3,
.ca-body .btn-accent-colour3,
.ca-body .bg-accent-colour-3,
.ca-body .btn-accent-colour-3 {
    background-color: var(--ca-accent-colour-3);
}

.ca-body .bg-accent4,
.ca-body .btn-accent4,
.ca-body .btn-accent-4,
.ca-body .bg-accent-colour4,
.ca-body .btn-accent-colour4,
.ca-body .bg-accent-colour-4,
.ca-body .btn-accent-colour-4 {
    background-color: var(--ca-accent-colour-4);
}

.ca-body .bg-darker,
.ca-body .btn-darker,
.ca-body .bg-darker-grey,
.ca-body .btn-darker-grey {
    background-color: var(--ca-darker-grey-colour);
}

.ca-content-wrapper .bg-dark,
.ca-content-wrapper .btn-dark,
.ca-body .bg-dark,
.ca-body .btn-dark,
.ca-body .bg-dark-grey,
.ca-body .btn-dark-grey {
    background-color: var(--ca-dark-grey-colour);
}

.ca-content-wrapper .bg-secondary,
.ca-content-wrapper .btn-secondary,
.ca-body .bg-secondary,
.ca-body .btn-secondary {
    background-color: var(--ca-secondary-colour);
}

.ca-content-wrapper .bg-light,
.ca-content-wrapper .btn-light,
.ca-body .bg-light,
.ca-body .btn-light,
.ca-body .bg-light-grey,
.ca-body .btn-light-grey {
    background-color: var(--ca-light-grey-colour);
}

.ca-body .bg-light,
.ca-body .btn-light,
.ca-body .bg-light-grey,
.ca-body .btn-light-grey {
    background-color: var(--ca-lighter-grey-colour);
}

.ca-body .bg-before-after-label-background,
.ca-body .btn-before-after-label-background,
.ca-body .bg-before-after-label-background,
.ca-body .btn-before-after-label-background,
.ca-body .bg-before-after-label-background,
.ca-body .btn-before-after-label-background {
    background-color: var(--ca-before-after-label-background-colour);
}

.ca-content-wrapper .btn,
.ca-content-wrapper .btn-o,
.ca-body .btn {
    border-color: transparent;
}

.ca-body .btn-outline-brand {
    border-color: var(--ca-brand-colour);
    color: var(--ca-brand-colour);
    background-color: transparent;
}

.ca-body .btn-outline-brand_secondary {
    border-color: var(--ca-info-colour);
    color: var(--ca-info-colour);
    background-color: transparent;
}

.ca-body .btn-outline-primary {
    border-color: var(--ca-primary-colour);
    color: var(--ca-primary-colour);
    background-color: transparent !important;
}

.ca-body .btn-outline-tertiary {
    border-color: var(--ca-tertiary-colour);
    color: var(--ca-tertiary-colour);
    background-color: transparent;
}

.ca-body .btn-outline-danger,
.ca-body .btn-outline-danger-alert {
    border-color: var(--ca-danger-alert-colour);
    color: var(--ca-danger-alert-colour);
    background-color: transparent !important;
}

.ca-body .btn-outline-warning {
    border-color: var(--ca-warning-colour);
    color: var(--ca-warning-colour);
    background-color: transparent !important;
}

.ca-body .btn-outline-success {
    border-color: var(--ca-success-colour);
    color: var(--ca-success-colour);
    background-color: transparent !important;
}

.ca-body .btn-outline-accent1,
.ca-body .btn-outline-accent-colour1,
.ca-body .btn-outline-accent-colour-1 {
    border-color: var(--ca-accent-colour-1);
    color: var(--ca-accent-colour-1);
    background-color: transparent;
}

.ca-body .btn-outline-accent2,
.ca-body .btn-outline-accent-colour2,
.ca-body .btn-outline-accent-colour-2 {
    border-color: var(--ca-accent-colour-2);
    color: var(--ca-accent-colour-2);
    background-color: transparent;
}

.ca-body .btn-outline-accent3,
.ca-body .btn-outline-accent-colour3,
.ca-body .btn-outline-accent-colour-3 {
    border-color: var(--ca-accent-colour-3);
    color: var(--ca-accent-colour-3);
    background-color: transparent;
}

.ca-body .btn-outline-accent4,
.ca-body .btn-outline-accent-colour4,
.ca-body .btn-outline-accent-colour-4 {
    border-color: var(--ca-accent-colour-4);
    color: var(--ca-accent-colour-4);
    background-color: transparent;
}

.ca-body .btn-outline-darker,
.ca-body .btn-outline-darker-grey {
    border-color: var(--ca-darker-grey-colour);
    color: var(--ca-darker-grey-colour);
    background-color: transparent;
}

.ca-body .btn-outline-dark,
.ca-body .btn-outline-dark-grey {
    border-color: var(--ca-dark-grey-colour);
    color: var(--ca-dark-grey-colour);
    background-color: transparent;
}

.ca-body .btn-outline-secondary {
    border-color: var(--ca-secondary-colour);
    color: var(--ca-secondary-colour);
    background-color: transparent;
}

.ca-body .btn-outline-light,
.ca-body .btn-outline-light-grey {
    border-color: var(--ca-light-grey-colour);
    color: var(--ca-light-grey-colour);
    background-color: transparent;
}

.ca-body .btn-outline-light,
.ca-body .btn-outline-light-grey {
    border-color: var(--ca-lighter-grey-colour);
    color: var(--ca-lighter-grey-colour);
    background-color: transparent;
}

.ca-content-wrapper .text-brand,
.ca-body .text-brand {
    color: var(--ca-brand-colour);
}

.ca-content-wrapper .text-brand_secondary,
.ca-body .text-brand_secondary {
    color: var(--ca-info-colour);
}

.ca-content-wrapper .text-primary,
.ca-body .text-primary {
    color: var(--ca-primary-colour);
}

.ca-content-wrapper .text-tertiary,
.ca-body .text-tertiary {
    color: var(--ca-tertiary-colour);
}

.ca-content-wrapper .text-danger,
.ca-body .text-danger,
.ca-body .text-danger-alert {
    color: var(--ca-danger-alert-colour);
}

.ca-content-wrapper .text-warning {
    color: var(--ca-warning-colour);
}

.ca-content-wrapper .text-success {
    color: var(--ca-success-colour);
}

.ca-content-wrapper .text-orange,
.ca-body .text-accent1,
.ca-body .text-accent-1,
.ca-body .text-accent-colour1,
.ca-body .text-accent-colour-1 {
    color: var(--ca-accent-colour-1);
}

.ca-body .text-accent2,
.ca-body .text-accent-2,
.ca-body .text-accent-colour2,
.ca-body .text-accent-colour-2 {
    color: var(--ca-accent-colour-2);
}

.ca-body .text-accent3,
.ca-body .text-accent-3,
.ca-body .text-accent-colour3,
.ca-body .text-accent-colour-3 {
    color: var(--ca-accent-colour-3);
}

.ca-body .text-accent4,
.ca-body .text-accent-4,
.ca-body .text-accent-colour4,
.ca-body .text-accent-colour-4 {
    color: var(--ca-accent-colour-4);
}

.ca-body .text-before-after-label-text {
    color: var(--ca-before-after-label-text-colour);
}

.ca-content-wrapper .text-darker,
.ca-body .text-darker-grey {
    color: var(--ca-darker-grey-colour);
}

.ca-content-wrapper .text-dark,
.ca-body .text-dark,
.ca-body .text-dark-grey {
    color: var(--ca-dark-grey-colour);
}

.ca-content-wrapper .text-secondary,
.ca-body .text-secondary {
    color: var(--ca-secondary-colour);
}

.ca-content-wrapper .text-light,
.ca-body .text-light,
.ca-body .text-light-grey {
    color: var(--ca-light-grey-colour);
}

.ca-content-wrapper .text-lighter,
.ca-body .text-lighter-grey {
    color: var(--ca-lighter-grey-colour);
}


/**********
 TYPOGRAPHY
 **********/

body {
    font-family: var(--ca-font-family);
    line-height: 1.6;
}

.ca-heading :last-child,
.ca-paragraph :last-child {
    margin-bottom: 0;
}

.ca-heading h1 {
    font-size: 2.1rem;
    color: inherit;
    line-height: 1.25;
    font-weight: 600;
}

.ca-heading h2 {
    font-size: 1.75rem;
    color: inherit;
    line-height: 1.25;
    font-weight: 600;
}

.ca-heading h3 {
    font-size: 1.5rem;
    color: inherit;
    line-height: 1.25;
    font-weight: 600;
}

.ca-heading h4 {
    font-size: 1.3rem;
    color: inherit;
    line-height: 1.25;
    font-weight: 600;
}

.ca-heading h5 {
    font-size: 1.15rem;
    color: inherit;
    line-height: 1.25;
    font-weight: 600;
}

.ca-heading h6 {
    font-size: 1rem;
    color: inherit;
    line-height: 1.25;
    font-weight: 600;
}

.ca-hero h1 {
    font-size: 3rem;
    color: inherit;
}

.ca-hero h2 {
    font-size: 2rem;
    color: inherit;
}

.ca-hero h3 {
    font-size: 1.75rem;
    color: inherit;
}

.ca-hero h4 {
    font-size: 1.5rem;
    color: inherit;
}

a {
    color: var(--ca-brand-colour);
}

a:hover {
    color: var(--ca-darker-grey-colour);
}

.ca-headernav .navbar-brand,
.ca-headernav .nav-link,
.ca-headersubnav .nav-link,
.ca-footernav .navbar-brand,
.ca-footernav .nav-link,
.ca-footersubnav .nav-link,
.ca-navdropdownitem,
.ca-card,
.ca-card>a,
.ca-card:hover,
.ca-card>a:hover,
.ca-buttonlink,
.ca-nav-tabs .nav-link {
    text-decoration: none;
    color: inherit
}

.ca-formbutton {
    text-decoration: none;
}


/* automatic light/darker on hover/active... needs work */

.ca-buttonlink:hover,
.ca-buttonlink:focus,
.ca-navlink:hover {
    filter: brightness(1.2) contrast(1.1);
}

.ca-buttonlink:active,
.ca-navlink:active {
    filter: brightness(0.9) contrast(1.1);
}

.ca-blockquote {
    border-left: 5px solid var(--ca-brand-colour);
    padding-left: 1rem;
}

.ca-clamp,
.ca-clamp-1,
.ca-clamp-2,
.ca-clamp-3,
.ca-clamp-4,
.ca-clamp-5 {
    height: calc(1em * 1.5 * 3);
    line-clamp: 3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ca-clamp-1 {
    height: calc(1em * 1.5 * 1);
    line-clamp: 1;
    -webkit-line-clamp: 1;
}

.ca-clamp-2 {
    height: calc(1em * 1.5 * 2);
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

.ca-clamp-4 {
    height: calc(1em * 1.5 * 4);
    line-clamp: 4;
    -webkit-line-clamp: 4;
}

.ca-clamp-5 {
    height: calc(1em * 1.5 * 5);
    line-clamp: 5;
    -webkit-line-clamp: 5;
}

.text-bold,
.font-bold {
    font-weight: 700;
}

.text-italic,
.font-italic {
    font-style: italic;
}

.text-shadow {
    text-shadow: 0 0 0.4em rgba(2,18,26,0.8);
}

.alert-default {
    background: var(--ca-lighter-grey-colour);
    border: 1px solid var(--ca-light-grey-colour)
}

.ca-alert {
    background-color: var(--ca-danger-alert-colour) !important;
    color: #FFF !important;
    padding: 1rem 1.5rem;
    border: 0 none;
    box-shadow: 0 0.5rem 1.5rem #0a1b294d
}
.ca-alert a {
    text-decoration: underline;
}
.ca-alert-staging {
    position: fixed;
    inset: auto 1rem 1rem;
    z-index: 999999999;
    font-size: 1.15rem;
    text-align: center;
    margin-bottom: 0;
}
.ca-alert.alert-dismissible {
    padding-right: 3.5rem;
}
.alert-dismissible .close {
    top: 50%;
    right: 0.5rem;
    transform: translateY(-50%);
    opacity: 0.75;
}
.ca-alert-header {
    position: relative;
    z-index: 9999999;
    border-radius: 0;
    margin-bottom: 0;
}

.project-id-124.page-id-723 #caAlertStaging {
    display: none !important;
}

/*********
 UTILITIES
 *********/

.gap-0 {
    gap: 0 !important;
}

.gap-1 {
    gap: 0.25rem !important;
}

.gap-2 {
    gap: 0.5rem !important;
}

.gap-3 {
    gap: 1rem !important;
}

.gap-4 {
    gap: 1.5rem !important;
}

.gap-5 {
    gap: 3rem !important;
}




/**********
 STRUCTURAL
 **********/

/* Fix for .media on the body */
.ca-body.media {
    display: block;
}

.ca-pagesection {
    padding: 3rem 0;
}

.ca-cards:not(:last-child),
.ca-buttonlinks:not(:last-child),
.ca-paragraph:not(:last-child),
.ca-heading:not(:last-child),
.ca-media:not(:last-child),
.ca-media-collection:not(:last-child),
.ca-tabs:not(:last-child),
.ca-youtube:not(:last-child),
.ca-accordion:not(:last-child),
.ca-blockquote:not(:last-child),
.ca-socialicons:not(:last-child) {
    margin-bottom: 1rem;
}

.ca-cards:not(:first-child),
.ca-heading:not(:first-child),
.ca-media:not(:first-child),
.ca-tabs:not(:first-child),
.ca-youtube:not(:first-child),
.ca-accordion:not(:first-child),
.ca-blockquote:not(:first-child),
.ca-mediacollection:not(:first-child),
.ca-mediacollection-header:not(:first-child),
.ca-socialicons:not(:first-child) {
    margin-top: 1.5rem;
}

.ca-media {
    position: relative;
}

.ca-no-border {
    border: 0 none !important;
}

/* .ca-hr {
	border-top: 0 none;
} */

.ca-hr:not(:first-child) {
    margin-top: 2rem;
}

.ca-hr:not(:last-child) {
    margin-bottom: 2rem;
}

.ca-hero.section-angle-bottom,
.ca-pagesection.section-angle-bottom {
    padding-bottom: 8rem;
    position: relative;
}

.ca-hero.section-angle-bottom:after,
.ca-pagesection.section-angle-bottom:after {
    content: '';
    clip-path: polygon(0% 90%, 100% 73%, 100% 100%, 0% 100%);
    width: 100%;
    height: 400px;
    margin-top: -140px;
    position: absolute;
    bottom: -35px;
    left: 0;
    background-color: var(--ca-lighter-grey-colour);
}

.ca-hero.section-angle-bottom.angle-more:after,
.ca-pagesection.section-angle-bottom.angle-more:after {
    content: '';
    clip-path: polygon(0% 90%, 100% 73%, 100% 100%, 0% 100%);
    width: 100%;
    height: 400px;
    margin-top: -140px;
    position: absolute;
    bottom: -35px;
    left: 0;
    z-index: 2;
}

.ca-hero.section-angle-bottom-primary:after,
.ca-pagesection.section-angle-bottom-primary:after {
    background-color: var(--ca-brand-colour);
}

.ca-pagefooter {
    font-size: 0.9em;
}

[id^='modal---form'] .ca-form-header {
    padding: 1.5rem;
    background-color: #002664;
    color: #fff;
}

[id^='modal---form'] form {
    padding: 1.5rem;
}


/*********
 UTILITIES
 *********/


/* Do we really need this? */

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    border: 0;
    padding: 0;
    white-space: nowrap;
    clip-path: inset(100%);
    clip: rect(0 0 0 0);
    overflow: hidden;
}


/* Edit button */

.ca-has-edit-link {
    position: relative;
}

.ca-edit-link {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 10px;
    padding: 0.45em 0.75em;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    background: var(--ca-color-ca-edit);
    color: #FFF !important;
    text-decoration: none;
    font-weight: 600;
    display: none;
    z-index: 20;
}

.ca-edit-link:hover {
    color: #FFF;
    text-decoration: none;
}

.ca-edit-link:hover,
.ca-edit-link:focus {
    filter: brightness(1.2) contrast(1.1);
}

.ca-edit-link:active {
    filter: brightness(0.9) contrast(1.1);
}

.ca-content-wrapper>.ca-has-edit-link:first-child>.ca-edit-link,
.ca-content-wrapper>*:first-child>.ca-has-edit-link:first-child .ca-edit-link {
    bottom: 0;
    top: auto;
}

.ca-content-wrapper.ca-has-edit-link>.ca-edit-link {
    bottom: auto;
    top: 0;
    z-index: 1030;
}

.ca-has-edit-link:hover>.ca-edit-link {
    display: block;
}


/* Loading spinner */

.ca-loading-overlay {
    z-index: 9999;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0a1b2999;
}

@keyframes spinner {
    to {
        transform: rotate(360deg);
    }
}

.loading,
.loading-cms,
.loading-abs,
.ca-map-loading,
.ca-map-threebox-loading,
.ca-mapbox-wa-loading {
    position: relative;
    pointer-events: none;
}

.loading-cms {
    min-height: 100px;
}

.loading::before,
.loading-abs::before,
.ca-map-loading::before,
.ca-map-threebox-loading::before,
.ca-map-wa-loading::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(236, 248, 255);
    background-color: rgba(236, 248, 255, 0.85);
    z-index: 98;
}

.loading.loading-interim::before {
    opacity: 0;
}

.loading::after,
.loading-cms::after,
.loading-abs::after,
.ca-map-loading::after,
.ca-map-threebox-loading::after,
.ca-map-wa-loading::after {
    content: '';
    box-sizing: border-box;
    position: fixed;
    top: 50vh;
    left: 50%;
    width: 70px;
    height: 70px;
    margin-top: -70px;
    margin-left: -35px;
    border-radius: 50%;
    border: 3px solid #4a5054;
    border: 3px solid var(--ca-light-grey-colour);
    border-top-color: #2ea0ff;
    border-top-color: var(--ca-primary-colour);
    animation: spinner .6s linear infinite;
    z-index: 99;
}

.loading-cms::after,
.loading-abs::after,
.ca-map-loading::after,
.ca-map-threebox-loading::after {
    position: absolute;
    margin-top: -35px;
    top: 50%;
}


/* Responsive media */

.ca-aspect-16-9,
.constrain-proportions-3-2,
.constrain-proportions-16-9,
.ca-dialog_video .popup-featured-content {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background-position: center;
    background-size: cover;
}

.constrain-proportions-3-2 {
    padding-bottom: 66.66667%;
}

.constrain-proportions {
    position: relative;
    height: 600px;
    height: 100vh;
    width: 100%;
    background-position: center;
    background-size: cover;
    overflow: hidden;
}

.constrain-100vh {
    height: 100vh;
}

.constrain-90vh {
    height: 90vh;
}

.constrain-80vh {
    height: 80vh;
}

.constrain-70vh {
    height: 70vh;
}

.constrain-60vh {
    height: 60vh;
}

.constrain-50vh {
    height: 50vh;
}

.ca-aspect-16-9>*:not(.hotspot),
.ca-dialog_video .popup-featured-content>iframe,
.ca-dialog_video .popup-featured-content>video,
.kuula-embed iframe,
.constrain-proportions-3-2>*:not(.hotspot),
.constrain-proportions-16-9>*:not(.hotspot),
.constrain-proportions iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

.constrain-proportions-3-2 iframe,
.constrain-proportions-16-9 iframe,
.ca-aspect-16-9 iframe,
.popup-featured-content iframe,
.constrain-proportions iframe {
    border: 0 none;
    outline: none;
}

[data-adobe-pdf] {
    min-height: 25vh;
}

@media (min-width: 768px) {
    .constrain-md-100vh {
        height: 100vh;
    }
    .constrain-md-90vh {
        height: 90vh;
    }
    .constrain-md-80vh {
        height: 80vh;
    }
    .constrain-md-70vh {
        height: 70vh;
    }
    .constrain-md-60vh {
        height: 60vh;
    }
    .constrain-md-50vh {
        height: 50vh;
    }
}

.fill-absolute {
    inset: 0;
    position: absolute;
}

/* Media loading */

.ca-media-image-wrapper {
    overflow: hidden;
}
.ca-media-image-wrapper.ca-newspost-hero {
    position: relative;
}
.ca-media-image-wrapper img {
    position: relative;
}
.ca-media-image-wrapper::before,
.ca-thumbnail::before {
    content: '';
    position: absolute;
    transform: translateX(100%);
    inset: 0;
    animation: loading-slide 1s infinite;
    background: linear-gradient(to right, rgba(210,210,210,0) 0%,rgba(210,210,210,0.8) 50%,rgba(210,210,210,0) 99%,rgba(210,210,210,0) 100%);
    will-change: transform;
}
.ca-media-image-wrapper.ca-img-loaded::before,
.ca-thumbnail.ca-img-loaded::before {
    animation: none;
    display: none;
}
.ca-thumbnail::before {
    animation-iteration-count: 30;
}
@keyframes loading-slide {
	0% {transform:translateX(-100%);}
	100% {transform:translateX(100%);}
}



/* Errors */

.ca-error-wrapper {
    width: 100%;
    padding: 5em 1em;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ca-error {
    max-width: 600px;
    background: #FFF;
    border-radius: 1em;
    padding: 1.5em 1.5em 3em;
    text-align: center;
    color: #000;
}

.ca-error-icon {
    font-size: 8em;
    opacity: 0.2;
}

.ca-error-title {
    font-size: 2em;
    font-weight: bold;
    margin: 0.5em 0 0.75em;
}

.ca-error-wrapper a {
    color: var(--ca-color-ca-edit);
    font-weight: 700;
}

.ca-error-wrapper a:hover {
    text-decoration: underline;
}

.ca-empty-data {
    padding: 2em;
    background: var(--ca-light-grey-colour);
    color: var(--ca-dark-grey-colour);
    text-align: center;
}


/*******
 BUTTONS
 *******/

.ca-buttonlinks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ca-buttonlink,
.ca-buttonlink+.ca-buttonlink {
    margin: 0;
}

.ca-buttonlinks.justify-content-stretch .ca-buttonlink {
    flex: 1;
}

.ca-buttonlink:focus {
    box-shadow: 0 0 0 0.2em rgb(0 123 255 / 50%);
}

.ca-buttonlink:active {
    filter: brightness(0.9);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

.bg-photo .ca-buttonlink,
.bg-photo .ca-buttonlink * {
    text-shadow: none;
}


/*******
 HEADERS
 *******/

.ca-headernav>.container,
.ca-headersubnav>.container,
.ca-footernav>.container,
.ca-footersubnav>.container {
    padding-left: 0;
    padding-right: 0;
}

.ca-headercolumns,
.ca-footercolumns {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

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

.ca-headercolumn,
.ca-footercolumn {
    display: flex;
    flex-basis: calc(100% - 50px);
}

.ca-footercolumn {
    padding-left: 15px;
    padding-right: 15px;
}

button.navbar-toggler.text-Before\/After {
    color: #FFF;
}

.ca-headersubnav .navbar,
.ca-footersubnav .navbar {
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.ca-navlogo,
.ca-navinfo {
    display: flex;
    align-items: center;
}

.ca-navinfo .ca-navbar-brand {
    white-space: unset;
    padding-top: 0;
    padding-bottom: 0;
}

.ca-navbar-brand-img {
    height: 60px;
    width: auto;
}

.ca-headernav .ca-navlogo~.ca-navinfo {
    display: none;
}

.ca-headernav .ca-heading,
.ca-headersubnav .ca-heading .ca-headernav .ca-paragraph,
.ca-headersubnav .ca-paragraph {
    margin: 0;
}

.ca-headernav .ca-heading>* {
    margin-bottom: 0.125rem;
}

.ca-headernav .ca-paragraph>* {
    margin-bottom: 0;
    font-size: 0.875rem;
}

.carousel-indicators.carousel-indicators li {
    background-color: #cecece;
}

@media (min-width: 576px) {
    .ca-navbar {
        padding-left: 0;
        padding-right: 0;
    }
    .navbar-expand-sm .ca-headercolumn,
    .navbar-expand-sm .ca-footercolumn {
        flex-basis: unset;
    }
    .navbar-expand-sm .ca-headercolumn~.navbar-collapse,
    .navbar-expand-sm .ca-footercolumn~.navbar-collapse {
        justify-content: flex-end;
    }
    .ca-headersubnav .navbar-expand-sm .navbar-collapse {
        flex-grow: 0;
    }
    .ca-headernav .ca-navlogo~.ca-navinfo {
        display: flex;
    }
    .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
}

@media (min-width: 768px) {
    .navbar-expand-md .ca-headercolumn,
    .navbar-expand-md .ca-footercolumn {
        flex-basis: unset;
    }
    .navbar-expand-md .ca-headercolumn~.navbar-collapse,
    .navbar-expand-md .ca-footercolumn~.navbar-collapse {
        justify-content: flex-end;
    }
    .ca-headersubnav .navbar-expand-md .navbar-collapse {
        flex-grow: 0;
    }
    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
}

@media (min-width: 992px) {
    .navbar-expand-lg .ca-headercolumn,
    .navbar-expand-lg .ca-footercolumn {
        flex-basis: unset;
    }
    .navbar-expand-lg .ca-headercolumn~.navbar-collapse,
    .navbar-expand-lg .ca-footercolumn~.navbar-collapse {
        justify-content: flex-end;
    }
    .ca-headersubnav .navbar-expand-lg .navbar-collapse {
        flex-grow: 0;
    }
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
}

@media (min-width: 1200px) {
    .navbar-expand-xl .ca-headercolumn,
    .navbar-expand-xl .ca-footercolumn {
        flex-basis: unset;
    }
    .navbar-expand-xl .ca-headercolumn~.navbar-collapse,
    .navbar-expand-xl .ca-footercolumn~.navbar-collapse {
        justify-content: flex-end;
    }
    .ca-headersubnav .navbar-expand-xl .navbar-collapse {
        flex-grow: 0;
    }
    .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
}


/*******************
 HEROES AND SECTIONS
 *******************/

.ca-hero,
.ca-section-withmediabg {
    position: relative;
    padding: 5rem 1rem;
    display: flex;
}

.ca-hero.height-md {
    min-height: 50vh;
}

.ca-hero.height-lg {
    min-height: 90vh;
}

.ca-hero.height-100 {
    min-height: 100vh;
}

.ca-hero.align-items-end {
    padding-top: 9rem;
}

.ca-content-wrapper .ca-hero-media-video {
    background-color: var(--ca-brand-colour) !important;
}

.ca-hero-bg,
.ca-section-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.ca-hero-bg video,
.ca-hero-bg img,
.ca-section-bg video,
.ca-section-bg img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.ca-hero-bg-pos-center video,
.ca-hero-bg-pos-center img {
    object-position: center;
}
.ca-hero-bg-pos-top video,
.ca-hero-bg-pos-top img {
    object-position: top;
}
.ca-hero-bg-pos-bottom video,
.ca-hero-bg-pos-bottom img {
    object-position: bottom;
}

.ca-hero-overlay.align-items-start:not(.ca-hero-media):before,
.ca-hero-overlay.align-items-start .ca-hero-bg:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: -moz-linear-gradient(0deg, rgba(3, 21, 27, 0) 0%, rgba(3, 21, 27, 0.8) 100%);
    background: -webkit-linear-gradient(0deg, rgba(3, 21, 27, 0) 0%, rgba(3, 21, 27, 0.8) 100%);
    background: linear-gradient(0deg, rgba(3, 21, 27, 0) 0%, rgba(3, 21, 27, 0.8) 100%);
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#03151b", endColorstr="#03151b", GradientType=1);
}

.ca-hero-overlay.align-items-end:not(.ca-hero-media):before,
.ca-hero-overlay.align-items-end .ca-hero-bg:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: -moz-linear-gradient(0deg, rgba(3, 21, 27, 0.8) 0%, rgba(3, 21, 27, 0) 100%);
    background: -webkit-linear-gradient(0deg, rgba(3, 21, 27, 0.8) 0%, rgba(3, 21, 27, 0) 100%);
    background: linear-gradient(0deg, rgba(3, 21, 27, 0.8) 0%, rgba(3, 21, 27, 0) 100%);
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#03151b", endColorstr="#03151b", GradientType=1);
}

.ca-hero.hero-gradient-editor {
    position: relative;
    overflow: hidden;
}

.ca-hero.hero-gradient-editor .ca-hero-bg:after {
    content: '';
    background: rgb(11, 37, 96);
    background: -moz-linear-gradient(90deg, rgba(11, 37, 96, 1) 0%, rgba(11, 37, 96, 0) 100%);
    background: -webkit-linear-gradient(90deg, rgba(11, 37, 96, 1) 0%, rgba(11, 37, 96, 0) 100%);
    background: linear-gradient(90deg, rgba(11, 37, 96, 1) 0%, rgba(11, 37, 96, 0) 100%);
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#0b2560", endColorstr="#0b2560", GradientType=1);
    background-repeat: no-repeat;
    position: absolute;
    width: 100%;
    height: 200%;
    top: 0;
    left: 0;
}

.ca-hero>.container {
    position: relative;
}


/*******
 COLUMNS
 *******/

.ca-columns {
    row-gap: 2rem;
    flex-direction: column;
}

.ca-column.align-items-left,
.ca-column.align-items-left>* {
    text-align: left;
    align-self: flex-start;
}

/* .ca-column.align-items-center,
.ca-column.align-items-center>* {
    text-align: center;
    align-self: center;
} */

.ca-column.align-items-right,
.ca-column.align-items-right>* {
    text-align: right;
    align-self: flex-end;
}

@media (min-width: 768px) {
    .ca-columns {
        flex-direction: row;
    }
    .ca-columns[data-ca-columns="2"]>.ca-column:not([class*="col-"]),
    .ca-footercolumns[data-ca-columns="2"]>.ca-footercolumn:not([class*="col-"]) {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .ca-columns[data-ca-columns="3"]>.ca-column:not([class*="col-"]),
    .ca-footercolumns[data-ca-columns="3"]>.ca-footercolumn:not([class*="col-"]) {
        -ms-flex: 0 0 33.333%;
        flex: 0 0 33.333%;
        max-width: 33.333%;
    }
    .ca-columns[data-ca-columns="4"]>.ca-column:not([class*="col-"]),
    .ca-footercolumns[data-ca-columns="4"]>.ca-footercolumn:not([class*="col-"]) {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (min-width: 992px) {
    .ca-columns[data-ca-columns="4"]>.ca-column:not([class*="col-"]),
    .ca-footercolumns[data-ca-columns="4"]>.ca-footercolumn:not([class*="col-"]) {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
}


/*****
 CARDS
 *****/

.ca-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 576px) {
    .ca-cards:not(.ca-cards-list) {
        grid-template-columns: 1fr 1fr;
    }
    .ca-cards[data-ca-cards-count="1"]:not(.ca-cards-list) {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 768px) {
    .ca-cards:not(.ca-cards-list) {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .ca-cards[data-ca-cards-count="1"]:not(.ca-cards-list) {
        grid-template-columns: 1fr;
    }
    .ca-cards[data-ca-cards-count="2"]:not(.ca-cards-list) {
        grid-template-columns: 1fr 1fr;
    }
    .ca-cards[data-ca-cards-count="4"]:not(.ca-cards-list) {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 992px) {
    .ca-cards[data-ca-cards-count="4"]:not(.ca-cards-list) {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

.ca-card:hover {
    box-shadow: 0px 0.5rem 1.25rem rgba(10, 21, 30, 0.15);
}

.ca-card:hover .ca-heading>*,
.ca-card>a:hover .ca-heading>* {
    text-decoration: none;
}

.ca-cards-list .ca-card>div,
.ca-cards-list .ca-card>a {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.ca-thumbnail {
    position: relative;
    overflow: hidden;
    padding-top: 56.25%;
}
.ca-thumbnail .ca-media-wrapper {
    position: static;
}
.ca-cards-list .ca-thumbnail:not(.ca-mediacollectionitem-thumbnail) {
    padding-top: 25%;
}

/* Use aspect-ratio if supported */
@supports (aspect-ratio: 16 / 9) {
    .ca-thumbnail {
        aspect-ratio: 16/9;
        padding: 0;
    }
    .ca-cards-list .ca-thumbnail:not(.ca-mediacollectionitem-thumbnail) {
        aspect-ratio: unset;
        padding: 0;
        height: 100%;
    }
}

.ca-cards-list .ca-thumbnail {
    min-width: 33%;
    max-width: 640px;
}

.ca-cards-list .ca-mediacollectionitem-thumbnail {
    min-width: 100px;
    max-width: 100px;
}

.ca-thumbnail .ca-media-wrapper {
    height: 100%;
}

.ca-thumbnail-icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #FFF;
    text-shadow: 0 0 1rem rgba(0, 0, 0, 0.2), 0 0 4px rgba(0, 0, 0, 0.5);
    font-size: 3rem;
    z-index: 2;
}

.ca-cards-list .ca-mediacollectionitem-thumbnail .ca-thumbnail-icon {
    font-size: 1rem;
}

.ca-card .ca-thumbnail img {
    transition: transform 0.3s ease-in-out;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.ca-cards-list .ca-thumbnail:not(.ca-mediacollectionitem-thumbnail) img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.ca-card:hover:not(.accordion-card) .ca-thumbnail img {
    transform: translate(-50%, -50%) scale(1.05);
}


/* Specifically for Media Collection cards */

.ca-mediacollection-header {
    margin-bottom: 1.5rem;
}

.ca-mediacollectionitem-title>* {
    margin-bottom: 0;
}

.ca-mediacollectionitem-filesize {
    font-size: 0.75em;
}

.ca-mediacollectionitem-title+.ca-mediacollectionitem-excerpt {
    margin-top: 0.5rem;
}

.mediacollection-accordion .carousel-indicators {
    bottom: -60px;
}

.mediacollection-accordion .carousel-indicators li {
    border-radius: 50%;
    height: 30px;
    width: 30px;
}

.mediacollection-accordion .media-title-block {
    bottom: 3%;
    left: 25px;
    background-color: rgba(0, 0, 0, .5);
}

.hide-none-public {
    display: none !important;
}

.media-table .file-size {
    white-space: nowrap;
}

.file-icon {
    background: rgba(0, 0, 0, 0) url(https://ca-v2.s3-ap-southeast-2.amazonaws.com/rms/m6/file_icon_sprite.png) no-repeat scroll -128px 0;
    display: inline-block;
    height: 36px;
    overflow: hidden;
    text-indent: -9999px;
    width: 32px;
    background-position: 0 0 !important;
    font-size: 1.2em;
    float: left !important;
    margin-top: 5px;
}


/* Featured cards */

.featured-cards .card,
.featured-card.card {
    width: 100%;
    animation: featured-card-pulse 2s infinite;
}

@keyframes featured-card-pulse {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(255, 177, 66, 0.7);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 1.5rem rgba(255, 177, 66, 0.25);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(255, 177, 66, 0);
    }
}

@media (min-width: 768px) {
    .featured-cards .card,
    .featured-cards .card>.card-content {
        display: flex;
        flex-direction: row;
        align-items: center;
    }
    .featured-cards .card .card-thumbnail {
        width: 50%;
    }
}


/****
 TABS
 ****/

.bg-dark .ca-nav-tabs .ca-nav-link {
    color: var(--ca-light-grey-colour);
}

.bg-light .ca-nav-tabs .ca-nav-link {
    color: var(--ca-dark-grey-colour);
}

.ca-nav-item .ca-nav-link.active {
    background-color: var(--ca-brand-colour);
    color: #FFF;
}

.ca-tab-pane {
    padding: 1.5rem;
}


/**********
 ACCORDIONS
 **********/

.ca-accordion-card-header-title {
    font-size: 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ca-accordion-btn {
    color: inherit;
    font-size: 1.25rem;
    font-weight: 600;
    flex-grow: 1;
    text-align: left;
}

.ca-accordion-btn.collapsed~.fas:before {
    content: "\f105";
}


/******
 MODALS
 ******/

.mfp-content {
    margin-top: 20px;
    margin-bottom: 20px;
}


/* Inline support */

.popup-container,
.popup-container-md {
    background: #fdfefe;
    max-width: 720px;
    max-width: clamp(420px, 160vh - 50px - 3rem, 720px);
    margin: 3rem auto;
    position: relative;
    width: 94%;
}

.popup-header {
    padding: 1.5rem;
}

.popup-header>*:last-child {
    margin-bottom: 0;
}

.popup-body {
    padding: 1.5rem;
}

#modalWelcome.popup-container .tour-guide {
    position: absolute;
    bottom: 0;
    height: 750px;
    margin-left: 0;
    width: 100%;
    left: 92%;
    top: -50px;
}

.ca-modal,
.mfp-content .ca-newspost {
    width: 100%;
    width: calc(100% - 2em);
    margin: 3rem auto;
    max-width: 720px;
    max-width: clamp(420px, 160vh - 50px - 3rem, 720px);
    box-shadow: 0 0 3em #11192124;
    position: relative;
    background: #FFF;
}

.ca-modal.size-xs,
.popup-container-xs {
    max-width: 360px;
    max-width: clamp(360px, 160vh - 50px - 3rem, 360px);
}

.ca-modal.size-sm,
.popup-container-sm {
    max-width: 540px;
    max-width: clamp(420px, 160vh - 50px - 3rem, 540px);
}

.ca-modal.size-lg,
.popup-container-lg {
    max-width: 1080px;
    max-width: clamp(420px, 160vh - 50px - 3rem, 1080px);
}

.ca-modal.size-xl,
.popup-container-xl {
    max-width: 1600px;
    max-width: clamp(420px, 160vh - 50px - 3rem, 1600px);
}

.ca-modal.size-xxl,
.popup-container-xxl {
    max-width: 1920px;
    max-width: clamp(420px, 160vh - 50px - 3rem, 1920px);
}

@media (max-width: 420px) {
    .ca-modal,
    .mfp-content .ca-newspost,
    .popup-container,
    .popup-container-md,
    .ca-modal.size-sm,
    .popup-container-sm,
    .ca-modal.size-lg,
    .popup-container-lg,
    .ca-modal.size-xl,
    .popup-container-xl,
    .ca-modal.size-xxl,
    .popup-container-xxl {
        max-width: 100%;
    }
}

@media (max-width: 360px) {
    .ca-modal.size-xs,
    .popup-container-xs {
        max-width: 100%;
    }
}

.ca-modal-embed {
    margin: -1.25rem;
    margin-bottom: -1.7rem !important;
}

.ca-modal>.ca-media,
.ca-modal .ca-cardtitle,
.mfp-content .ca-newspost-heading,
.ca-modal .ca-cardbody,
.mfp-content .ca-newspost-article,
.ca-modal .ca-cardtitle *:last-child,
.mfp-content .ca-newspost-article *:last-child,
.ca-modal .ca-cardbody *:last-child {
    margin-bottom: 0;
}

.card-body-container {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.w-100 .card-body-container {
    max-width: none;
}

.mfp-content .ca-newspost-header,
.mfp-content .ca-newspost-body {
    padding: 1.25rem;
}

.mfp-content .ca-newspost-header {
    color: var(--ca-lighter-grey-colour);
    background: var(--ca-brand-colour);
}

.mfp-content .ca-newspost-header>* {
    color: var(--ca-lighter-grey-colour);
}


/* Other modal utilities */

.mfp-bg {
    background: #0b0e10;
}

body[data-content-type="ver"] .mfp-bg {
    background: #0b0e10 !important;
}

.mfp-content .ca-snippet-container {
    margin: 50px auto;
    position: relative;
}

.mfp-content .mfp-close,
.ajax-close {
    background: #091826;
    width: auto;
    height: auto;
    padding: 12px 16px;
    color: #FFF;
    font-weight: 400;
    font-size: 14px;
    top: auto;
    bottom: 100%;
    font-family: inherit;
    text-transform: uppercase;
    line-height: 1;
    right: 0;
    transition: all 0.3s ease-out;
}

.ajax-close {
    top: 0;
    bottom: auto;
    right: 0;
    position: absolute;
    display: inline-block;
    border-top-right-radius: 5px;
    border-bottom-left-radius: 5px;
}

.ajax-close:hover,
.mfp-content .mfp-close:hover {
    background: #FFF;
    color: #091826
}

.mfp-close>* {
    pointer-events: none;
}


/* Modal fade ins/outs */

.mfp-fade.mfp-bg {
    opacity: 0;
    transition: all 0.3s ease-out;
}

.mfp-fade.mfp-bg.mfp-ready {
    opacity: 0.9;
}

.mfp-fade.mfp-bg.mfp-removing {
    opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
    opacity: 0;
    transition: all 0.3s ease-out;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0;
}

.mfp-inline-holder {
    padding: 0;
}


/************
 SEARCH MODAL
 ************/

 .ca-search-modal .mfp-content {
    max-width: 600px;
    margin-top: 10vh;
    padding: 0 1rem;
}
.ca-search-modal-wrapper {
    display: flex;
    justify-content: space-between;
}
.ca-search-modal-input,
.ca-search-modal-btn {
    font-size: 1.25rem;
    padding: 0.75rem 1rem;
    height: auto;
}
.ca-search-modal-input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.ca-search-modal-btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.ca-search-modal-helper {
    text-align: center;
    margin-top: 0.5rem;
    font-size: 0.875rem;
    color: #FFF;
}
.ca-search-modal-helper a {
    color: inherit;
    text-decoration: underline;
    opacity: 0.75;
}
.ca-search-modal-helper a:hover {
    opacity: 1;
}

.ca-search-results-filter-sort-header {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}
@media (max-width: 991px) {
    .ca-search-results-filter-sort-header {
        flex-direction: column;
    }
}
.ca-search-results-sorting {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ca-search-results-filters .btn,
.ca-search-results-sorting .btn {
    padding: 0.75rem 1rem;
    border-right: 1px solid rgb(0 0 0 / 20%);
    margin-left: 0;
    background: rgb(0 0 0 / 5%);
}
.ca-search-results-filters .btn:hover,
.ca-search-results-sorting .btn:hover {
    background: rgb(0 0 0 / 10%);
}
.ca-search-results-filters .btn.active:not(:disabled):not(.disabled),
.ca-search-results-sorting .btn.active:not(:disabled):not(.disabled) {
    background-color: var(--ca-brand-colour);
    color: #FFF;
    border-left: 0 none;
    border-top: 0 none;
    border-bottom: 0 none;
    pointer-events: none;
}
.ca-search-results-filters .btn:last-child,
.ca-search-results-sorting .btn:last-child {
    border-right: 0 none;
}

/*********
 CAROUSELS
 *********/

.ca-newsposts.pagination .ca-card,
.ca-pages.pagination .ca-card {
    padding-bottom: 3rem;
}

.ca-carousel-control {
    padding: 1rem;
    width: auto;
}
.ca-carousel-control .carousel-disc {
    width: 2rem;
    height: 2rem;
    background: var(--ca-darker-grey-colour);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ca-newsposts .ca-carousel-control .carousel-disc, .ca-pages .ca-carousel-control .carousel-disc {
    /* move indicators up into the media item of the news post */
    /* the 310px is a bit of black magic which just seems to work at all break points */
    margin-top: -310px;
}
.ca-carousel-control .carousel-control-next-icon, .ca-carousel-control .carousel-control-prev-icon {
    width: 1rem;
    height: 1rem;
}

/*******************************************
 CONTENTS (NEWS POSTS, WORK ACTIVITIES, ETC)
 *******************************************/

@media (max-width: 767px) {
    .ca-newsposts.ca-cards-list .ca-contents-content-thumbnail {
        display: none;
    }
}

.ca-newsposts.ca-cards-grid .ca-card > a,
.ca-pages.ca-cards-grid .ca-card > a {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.ca-newsposts.ca-cards-grid .ca-cardbody,
.ca-pages.ca-cards-grid .ca-cardbody {
    display: flex;
    flex-direction: column;
}

.ca-contents-content-date {
    font-size: 0.8em;
    margin-bottom: 1rem;
}

.ca-contents-content-excerpt {
    font-size: 0.9em;
    margin-bottom: 1rem;
}
.ca-newsposts .ca-contents-content-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.ca-contents-content-excerpt p {
    margin-bottom: 0;
}

.ca-contents-content-excerpt-read-more {
    margin-top: auto;
    margin-bottom: 0;
}
.ca-excerpt-read-more {
    color: var(--ca-brand-colour);
}

.ca-contents-content-meta .fa,
.ca-contents-content-meta .fal,
.ca-contents-content-meta .far,
.ca-contents-content-meta .fas,
.ca-contents-content-meta .fab {
    opacity: 0.3;
    min-width: 1.25rem;
    text-align: center;
}


.notif-card-project-label {
    font-size: .7rem;
    color: white;
    background-color: var(--ca-tertiary-colour);
    border-radius: 5px;
    padding: 3px 15px;
    width: fit-content;
}

.host-project .notif-card-project-label {
	background-color: var(--ca-primary-colour);
}

.project-filter-cards {
    max-width: fit-content;
}

/******
 MAPBOX
 ******/

.ca-map {
    display: flex;
    flex-direction: column;
}

.ca-map-wrapper {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.ca-map-wrapper>* {
    flex-grow: 1;
}

.ca-map-container {
    height: 60vh;
    position: relative;
}

.ca-map-mapbox {
    height: 100%;
}

.ca-map-toolbar {
    padding: 1rem;
}

@media(min-width:1280px) {
    .ca-map {
        height: 100vh;
    }
    .ca-map-wrapper {
        flex-direction: row-reverse;
    }
    .ca-map-sidebar {
        width: 25%;
        max-width: 480px;
        overflow: auto;
        height: 100vh;
    }
    .ca-map-container {
        height: auto;
    }
}

.ca-map .mapboxgl-ctrl-geocoder {
    font-family: inherit;
}

.ca-map-top-left-controls {
    position: absolute;
    left: 10px;
    top: 10px;
}

.ca-search-hide {
    display: none !important;
}


/******
 LEGEND
 ******/

.ca-legend {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ca-legend-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
}

.ca-legend-key {
    width: 50px;
    flex-shrink: 1;
    flex-grow: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ca-legend-line {
    width: 100%;
    height: 0;
    border-top: 5px solid #000;
}

.ca-legend-line-sm {
    border-top-width: 1px;
}

.ca-legend-line-lg {
    border-top-width: 10px;
}

.ca-legend-line-dotted {
    border-top-style: dotted;
}

.ca-legend-line-dashed {
    border-top-style: dashed;
}

.ca-legend-fill {
    width: 100%;
    height: 1.5em;
    background: #000;
}

.ca-legend-hotspot {
    width: 1.5em;
    height: 1.5em;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1px solid #fff;
    background: #000;
    color: #FFF;
    border-radius: 50%;
    overflow: hidden;
}

.ca-legend-image {
    height: 1.5em;
    width: auto;
}

.ca-legend-divider {
    height: 1px;
    width: 100%;
    background: var(--ca-light-grey-colour)
}

.ca-legend-descriptor {
    line-height: 1.4;
}


/********
 SIDEBARS
 ********/

.sidebar-container {
    width: 100%;
    overflow-x: hidden;
    background: #ffffff;
    position: inherit;
    padding-top: 0;
}

.sidebar-wrapper {
    transition: all ease 0.5s;
}

.sidebar-level {
    padding: 0;
    float: left;
    min-height: 1px;
    /* force levels to show */
}

.sidebar-panel {
    display: none;
}

.sidebar-level.active .sidebar-panel.active {
    display: block;
}

.map-sidebar-panel-header .page-title,
.map-sidebar-panel-header .sidebar-title .map-sidebar-panel-body {
    max-width: 640px;
}

.map-sidebar-panel-header .page-title {
    color: #FFF;
    font-size: 1.3em;
    font-weight: 600;
    margin: 0 auto;
    max-width: 640px;
    padding: 15px 25px;
}

.map-sidebar-panel-header .page-title.dark {
    color: #333132;
}

.map-sidebar-panel-body {
    color: #333132;
    padding: 25px 25px 15px;
    margin: 0 auto;
    max-width: 640px;
}

.map-sidebar-hero {
    margin: -25px -25px 25px;
}


/********
 HOTSPOTS
 ********/

.hotspot {
    position: absolute;
    display: table;
    width: 26px;
    height: 26px;
    text-align: center;
    background: #FFF;
    font-size: 13px;
    border-radius: 50%;
    border: 2px solid #FFF;
    background: #bd0021;
    color: #FFF;
    text-decoration: none;
}

.hotspot-sm {
    width: 16px;
    height: 16px;
    font-size: 8px;
    border-width: 1px;
}

.hotspot-ssm,
.hotspot-xs {
    width: 8px;
    height: 8px;
    font-size: 6px;
    border-width: 1px;
}

.hotspot-lg {
    width: 36px;
    height: 36px;
    font-size: 16px;
    border-width: 3px;
}

.hotspot:hover,
.hotspot:focus {
    color: #FFF;
    text-decoration: none;
    background: #0059a4;
    opacity: 1;
}

.hotspot:hover:before {
    border-color: #0059a4;
}


/* Hotspot icon fixes */

.hotspot .fa {
    vertical-align: middle;
    display: table-cell;
}

.custom-icon svg {
    width: 75%;
    height: auto;
    vertical-align: middle;
}

.custom-icon path,
.custom-icon polygon,
.custom-icon-path {
    fill: #FFF;
}

.hotspot-icon {
    max-width: 65%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.hotspot-text {
    max-width: 100%;
    font-weight: bold;
}


/* Hotspot tooltips */

.hotspot-tooltip {
    display: none;
    background: rgb(25, 43, 63);
    background: rgba(25, 43, 63, 0.85);
    border-radius: 4px;
    position: absolute;
    padding: 4px 8px;
    font-size: 11px;
    white-space: normal;
    width: max-content;
    max-width: 250px;
    left: 50%;
    top: 100%;
    color: #FFF !important;
    line-height: 1.5;
    transform-origin: center top;
    z-index: 3;
    transform: translate(-50%, 7px);
    font-family: inherit;
}

.show-hotspot-tooltip .hotspot-tooltip,
.hotspot:hover .hotspot-tooltip,
.hotspot:focus .hotspot-tooltip {
    display: block;
}

.hotspot:hover,
.hotspot:focus {
    z-index: 8;
}


/* Tooltip Position - Default is bottom-middle of circle */

.hotspot-tooltip:after {
    width: 0;
    height: 0;
    content: ' ';
    border: solid transparent;
    border-width: 6px;
    margin-left: -6px;
    border-color: rgba(25, 43, 63, 0);
    border-bottom-color: rgba(25, 43, 63, 0.85);
    position: absolute;
    bottom: 100%;
    left: 50%;
}


/* Tooltip Other Positions */

.hotspot-tooltip.hotspot-tooltip-t-m {
    top: auto;
    bottom: 100%;
    transform: translate(-50%, -7px) scale(0.999999999);
    transform-origin: center bottom;
}
.hotspot-tooltip.hotspot-tooltip-t-m:after {
    border-bottom-color: rgba(25, 43, 63, 0);
    border-top-color: rgba(25, 43, 63, 0.85);
    top: 100%;
    bottom: auto;
}
.hotspot-tooltip.hotspot-tooltip-r-m {
    top: 50%;
    bottom: auto;
    left: 100%;
    transform: translate(7px, -50%) scale(0.999999999);
    transform-origin: right center;
    text-align: left;
}
.hotspot-tooltip.hotspot-tooltip-r-m:after {
    border-bottom-color: rgba(25, 43, 63, 0);
    border-right-color: rgba(25, 43, 63, 0.85);
    bottom: auto;
    top: 50%;
    left: auto;
    right: 100%;
    margin-left: 0;
    margin-top: -6px;
}
.hotspot-tooltip.hotspot-tooltip-l-m {
    top: 50%;
    bottom: auto;
    left: auto;
    right: 100%;
    transform: translate(-7px, -50%) scale(0.999999999);
    transform-origin: left center;
    text-align: right;
}
.hotspot-tooltip.hotspot-tooltip-l-m:after {
    border-bottom-color: rgba(25, 43, 63, 0);
    border-left-color: rgba(25, 43, 63, 0.85);
    bottom: auto;
    top: 50%;
    left: 100%;
    margin-left: 0;
    margin-top: -6px;
}
.hotspot-tooltip.hotspot-tooltip-b-l {
    top: 100%;
    bottom: auto;
    left: auto;
    right: 100%;
    transform: translate(0, 0) scale(0.999999999);
    transform-origin: left center;
    text-align: right;
}
.hotspot-tooltip.hotspot-tooltip-b-l:after {
    border-bottom-color: rgba(25, 43, 63, 0);
    border-left-color: rgba(25, 43, 63, 0.85);
    bottom: auto;
    top: 0;
    left: 100%;
    margin: -6px 0 0 -6px;
    transform: rotate(-45deg) scale(0.999999999);
}
.hotspot-tooltip.hotspot-tooltip-t-l {
    top: auto;
    bottom: 100%;
    left: auto;
    right: 100%;
    transform: translate(0, 0) scale(0.999999999);
    transform-origin: left center;
    text-align: right;
}
.hotspot-tooltip.hotspot-tooltip-t-l:after {
    border-bottom-color: rgba(25, 43, 63, 0);
    border-left-color: rgba(25, 43, 63, 0.85);
    top: auto;
    bottom: -6px;
    left: 100%;
    margin: 0 0 0 -6px;
    transform: rotate(45deg) scale(0.999999999);
}
.hotspot-tooltip.hotspot-tooltip-b-r {
    top: 100%;
    bottom: auto;
    left: 100%;
    transform: translate(0, 0) scale(0.999999999);
    transform-origin: right center;
    text-align: left;
}
.hotspot-tooltip.hotspot-tooltip-b-r:after {
    border-bottom-color: rgba(25, 43, 63, 0);
    border-right-color: rgba(25, 43, 63, 0.85);
    bottom: auto;
    top: 0;
    left: 0;
    right: auto;
    margin: -6px 0 0 -6px;
    transform: rotate(45deg) scale(0.999999999);
}
.hotspot-tooltip.hotspot-tooltip-t-r {
    top: auto;
    bottom: 100%;
    left: 100%;
    transform: translate(0, 0) scale(0.999999999);
    transform-origin: right center;
    text-align: left;
}
.hotspot-tooltip.hotspot-tooltip-t-r:after {
    border-bottom-color: rgba(25, 43, 63, 0);
    border-right-color: rgba(25, 43, 63, 0.85);
    bottom: -6px;
    top: auto;
    left: 0;
    right: auto;
    margin: 0 0 0 -6px;
    transform: rotate(-45deg) scale(0.999999999);
}


/* Hotspot hover sibling layers */

.hotspot-onhover {
    display: none;
}

.hotspot:hover+.hotspot-onhover {
    display: initial;
}

.hotspot-map-layer-inline {
    width: auto;
}

.ca-map-iframe {
    width: 100vw;
    height: 600px;
    height: 90vh;
    height: calc(100vh - 150px);
    border: 0 none;
    outline: none;
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    .hotspot {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }
    .hotspot-sm {
	width: 24px;
	height: 24px;
	font-size: 11px;
    }
    .hotspot-ssm,
    .hotspot-xs {
        width: 16px;
        height: 16px;
        font-size: 8px;
    }
    .hotspot-lg {
        width: 46px;
        height: 46px;
        font-size: 20px;
    }
    .hotspot-none {
        width: 0px !important;
        height: 0px !important;
        border-width: 0px !important;
    }
    /* Pulsate the hotspot */
    .hotspot:not(.hotspot-no-pulse):before {
        content: ' ';
        height: 110%;
        width: 110%;
        height: calc( 100% + 10px);
        width: calc( 100% + 10px);
        border: 4px solid #FFF;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        border-radius: 50%;
        z-index: 1;
        position: absolute;
        left: -5px;
        top: -5px;
        pointer-events: none;
        opacity: 0;
        -webkit-animation: pulse 2s ease-out;
	-moz-animation: pulse 2s ease-out;
	animation: pulse 2s ease-out;
	-webkit-animation-iteration-count: infinite;
	-moz-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
        -webkit-transform: scale(1.0);
    }
    @-moz-keyframes pulse {
        0% {
            -moz-transform: scale(0.7, 0.7);
        }
        33% {
            opacity: 0;
        }
        65% {
            opacity: 1;
        }
        100% {
            -moz-transform: scale(1.4, 1.4);
            opacity: 0;
        }
    }
    @-webkit-keyframes pulse {
        0% {
            -webkit-transform: scale(0.7, 0.7);
        }
        33% {
            opacity: 0;
        }
        65% {
            opacity: 1;
        }
        100% {
            -webkit-transform: scale(1.4, 1.4);
            opacity: 0;
        }
    }
    @keyframes pulse {
        0% {
            transform: scale(0.7, 0.7);
        }
        33% {
            opacity: 0;
        }
        65% {
            opacity: 1;
        }
        100% {
            transform: scale(1.4, 1.4);
            opacity: 0;
        }
    }
    @keyframes badge-pulse {
        0% {
            transform: scale(0.7, 0.7);
        }
        33% {
            opacity: 0;
        }
        65% {
            opacity: 0.5;
        }
        100% {
            transform: scale(1.4, 1.4);
            opacity: 0;
        }
    }
    .visible-tooltip .hotspot-tooltip {
        display: block;
    }
}

@media (min-width: 992px) {
    .hotspot-tooltip {
        font-size: 12px;
    }
}


/********
 THREE JS
 ********/

.ca-threejs-loader-wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 999999;
    backdrop-filter: blur(0.5rem);
    display: flex;
    justify-content: center;
    align-items: center;
}

.ca-threejs-loader {
    background: #FFF;
    padding: 1.5rem;
    padding-bottom: 2rem;
    text-align: center;
    border-radius: 0.5rem;
    overflow: hidden;
    position: relative;
}

.ca-threejs-loader .ca-threejs-loader-icon {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
    color: var(--ca-brand-colour);
}

.ca-threejs-loader .ca-threejs-loader-text {
    font-size: 1.15rem;
    margin-bottom: 0;
}

.ca-threejs-loader-progress-bar {
    height: 0.5rem;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: var(--ca-light-grey-colour);
}

.ca-threejs-loader-progress {
    height: 100%;
    width: 0;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--ca-brand-colour);
}


/*****
 FORMS
 *****/

 .ca-form-header {
    border-bottom: 1px solid hsla(0, 0%, 50%, 0.25);
    margin-bottom: 1rem;
    padding-bottom: 1rem;
}

.ca-form-header .ca-form-title {
    margin-bottom: 0;
}

.ca-form-group-hidden {
    display: none !important;
    height: 0;
    width: 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
}

.ca-label-hidden {
    display: none;
}

.ca-form-legend-label {
    font-size: inherit;
    font-weight: 600;
}

.ca-label-sm {
    font-size: 0.8em;
}

.ca-label-xs {
    font-size: 0.6em;
}

.ca-label-required:after {
    content: '*';
    color: var(--ca-danger-alert-colour);
    margin-left: 0.25em;
}

.ca-form-field-description {
    margin: -0.25rem 0 0.5rem;
    font-size: 0.8em;
    opacity: 0.8;
}

[data-conditional] {
    display: none;
}

.ca-form .filepond--root.form-control {
    min-height: 4.75em;
}

.ca-form .filepond--credits {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    display: none;
}

.form-component--columns .row > div > .ca-form-group:last-child {
    margin-bottom: 0;
}

.ca-form-check-group {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.ca-form-group .form-check {
    padding-left: 0;
    flex: 1;
}
.ca-form-group .form-check-input {
    height: 0;
    width: 0;
    overflow: hidden;
    opacity: 0;
}

.ca-form-group .form-check-label {
    display: block;
    padding: 0.5em;
    border: 1px solid #8e8e8e47;
    border-radius: 0.25rem;
}

.ca-form-group .form-check-label:hover {
    cursor: pointer;
    background: #8e8e8e24;
}

.ca-form-group .form-check-input:focus~.form-check-label {
    background: #8e8e8e24
}

@media (min-width: 768px) {
    .ca-form-check-group:has(.radio-horizontal) {
        flex-direction: row;
        flex-wrap: nowrap;
    }
}

.ca-form-group .form-check-label:before {
    content: "\f0c8";
    font-family: "Font Awesome 6 Pro";
    font-weight: 400;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    margin-right: 0.5em;
}

.ca-form-group .form-check-input[type=radio]~.form-check-label:before {
    content: "\f111";
}

.ca-form-group .form-check-input:checked~.form-check-label:not(.ca-label-xs):not(.ca-label-sm) {
    background: var(--ca-brand-colour);
    color: #FFF;
}

.ca-form-group .form-check-input:checked~.form-check-label.ca-label-xs:before,
.ca-form-group .form-check-input:checked~.form-check-label.ca-label-sm:before {
    color: var(--ca-brand-colour);
}

.ca-form-group .form-check-input:checked~.form-check-label:before {
    content: "\f14a";
    font-weight: 600;
}

.ca-form-group .form-check-input[type=radio]:checked~.form-check-label:before {
    content: "\f192";
}


/* Sort lists */

.ca-form-sort-list {
    counter-reset: ca-sort-list-counter-number;
}

.ca-form-sort-list .form-check {
    counter-increment: ca-sort-list-counter-number;
    touch-action: none;
}

.ca-form-sort-list .form-check.gu-transit label {
    background: var(--ca-brand-colour);
}

@keyframes dropPulse {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }
    50% {
        transform: translateY(5px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.ca-form-sort-list .form-check.ex-moved {
    animation: dropPulse 0.3s linear forwards;
}

.ca-form-sort-list .form-check label::before {
    content: counter(ca-sort-list-counter-number);
    font-family: inherit;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5em;
    background: var(--ca-brand-colour);
    color: #fff;
    font-weight: bold;
    display: inline-block;
    font-size: 1em;
    text-align: center;
    margin-right: .5em;
}


/* Matrix support */

.ca-matrix-question-row td {
    border-top: 2px solid rgba(0, 0, 0, 0.5)
}

.ca-matrix-table .ca-matrix-radio-cell {
    padding: 0;
}

.ca-matrix-table .ca-matrix-radio-label {
    padding: 0.75rem;
    text-align: center;
}

.ca-matrix-radio-input.form-review--value-is-invalid~label {
    background: #dc35453d;
    border: solid 1px #dc3545;
}

.ca-form-steps-nav-tabs {
    flex-wrap: none;
    justify-content: space-between;
    margin: 1em 0;
}

.ca-form-steps-nav-tabs .ca-form-step-nav-item {
    flex-grow: 1;
    border-right: 1px solid #dee2e6;
}

.ca-form-steps-nav-tabs .ca-form-step-nav-item:last-child {
    border-right: 0 none;
}

.ca-form-steps-nav-tabs .ca-form-step-nav-link {
    text-indent: -9999px;
    height: 1em;
    border: none;
    background: #FFF;
    border-radius: 0;
}

.ca-form-steps-nav-tabs .ca-form-step-nav-link.active {
    background: var(--ca-brand-colour);
    pointer-events: none;
}

.ca-form-steps-nav-tabs .ca-form-step-nav-link:hover {
    background: #ced4da;
}

.ca-field-repeater-wrapper {
    border-radius: 0.5em;
    border: 1px solid #ced4da;
    padding: 1em;
}

.ca-field-repeater-wrapper .repeater {
    border-bottom: 1px solid #ced4da;
    margin-bottom: 1em;
    font-size: 0.8em;
}

.ca-field-repeater-wrapper .repeater:last-of-type {
    border-bottom: 0 none;
    margin-bottom: 0;
}

.ca-inline-field-wrapper {
    flex-wrap: nowrap;
}

.ca-inline-field-wrapper label {
    display: none;
}

.ca-inline-field-wrapper .col {
    padding-left: 0;
    padding-right: 0;
}

.ca-inline-field-wrapper .col:first-child {
    padding-left: 15px;
}

.ca-inline-field-wrapper .col:last-child {
    padding-right: 15px;
}

.ca-inline-field-wrapper [name] {
    width: 100%;
    border-radius: 0;
    border-right: 0 none;
}

.ca-inline-field-wrapper .col:first-child [name] {
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

.ca-inline-field-wrapper .col:last-child [name] {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
}

.ca-form-step-navigation {
    border-top: 1px solid #ced4da;
    border-bottom: 1px solid #ced4da;
    padding-top: 1em;
    padding-bottom: 1em;
    margin-top: 1em;
    margin-bottom: 1em;
    display: flex;
    justify-content: space-between;
}

.ca-form-header ~ .ca-form-submission-alert {
    padding: 1.5rem;
}

.ca-form-submission-alert-validation,
.ca-form-submission-alert-error {
    padding: 1em;
    border: 1px solid #f5c6cb;
    background: #f8d7da;
    color: #721c24;
    margin: 1em 0;
    border-radius: 0.25em;
}

.ca-form-submission-alert-processing {
    padding: 0.5rem 0;
}

.ca-form-submission-alert-success>.fa {
    color: var(--ca-success-colour);
}

.ca-form-submission-alert-meta {
    margin-top: 1em;
    padding-top: 1em;
    border-top: 1px solid #80858b42;
    font-size: 0.8em;
}

.form .review-panel {
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
    margin-top: 2em;
    padding-top: 2em;
    margin-bottom: 2em;
    padding-bottom: 2em;
}

.form-review--form-section-title {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.8em;
    letter-spacing: 0.05em;
    background: #dee2e6;
    padding: 0.5em;
    margin: 0.5rem 0 1.25rem;
}

.form-review--go-to-tab {
    visibility: hidden;
}

.form-review--form-section-title:hover .form-review--go-to-tab,
.form-review--field:hover .form-review--go-to-tab {
    visibility: visible;
}

.form-submission-success .form-review--form-section-title:hover .form-review--go-to-tab,
.form-submission-success .form-review--field:hover .form-review--go-to-tab {
    visibility: hidden;
    display: none;
}

.form-review--go-to-tab a {
    font-weight: 600;
}

.form-review--label {
    font-weight: 600;
    margin-top: 0;
}

.form-review--value {
    font-size: 0.9em;
    border-left: 5px solid #dee2e6;
    padding: 1.5em;
    background: #f2f4f5;
    margin: 0 0 1.25rem;
}

.form-review--value-is-invalid {
    border-color: #dc3545;
    background: #ffedef;
}
.form-review--value-is-invalid ~ .filepond--drop-label {
    border: 1px solid #dc3545;
    background: #ffedef;
}

.form-review--value-is-invalid+label {
    color: #dc3545
}
.ca-form-group.form-component--file:has(input.form-review--value-is-invalid[type="file"]) .ca-form-legend-label {
    color: #dc3545;
}

.form-review--field {
    margin-bottom: 1.25rem;
}

.form-review--validation-message {
    background: #dc3545;
    padding: 0.75em 1.5em;
    color: #FFF;
    font-weight: 500;
}

/* Rainbow radios and other supporting elements */
.ca-form-columns-container {
    border: 1px solid var(--ca-brand-light, #DDD);
    border-radius: 1rem;
    padding: 1.25rem 1.5rem;
}
.ca-form-container-heading h4 {
    font-size: 1.125rem;
    font-weight: 700;
}

.ca-form-columns-container .ca-form-group.form-component--radio {
    border-top: 1px solid var(--ca-light-grey-colour, #EEE);
    margin-top: 1rem;
    padding-top: 1rem;
}
.ca-form-check-group:has(.radio-matrix) .form-check-label {
    font-size: 0.875rem;
}
@media (min-width: 768px) {
    .ca-form-check-group:has(.radio-matrix) .form-check-label {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.25rem;
    }
    .ca-form-check-group:has(.radio-matrix) .form-check-label:before {
        margin: 0.25rem 0 0;
    }
}
.ca-form-check-group:has(.radio-matrix) .form-check-input + .form-check-label::before {
    font-size: 1.25rem;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(1) .form-check-input + .form-check-label::before {
    color: #d7153a;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(1) .form-check-input + .form-check-label:hover {
    background-color: #ffb8c1;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(1) .form-check-input:checked + .form-check-label {
    background-color: #d7153a !important;
    color: #FFF;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(1) .form-check-input:checked + .form-check-label::before {
    color: #FFF;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(2) .form-check-input + .form-check-label::before {
    color: #f3631b;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(2) .form-check-input + .form-check-label:hover {
    background-color: #FFCE99;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(2) .form-check-input:checked + .form-check-label {
    background-color: #f3631b !important;
    color: #FFF;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(2) .form-check-input:checked + .form-check-label::before {
    color: #FFF;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(3) .form-check-input + .form-check-label::before {
    color: #694800;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(3) .form-check-input + .form-check-label:hover {
    background-color: #fde79a;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(3) .form-check-input:checked + .form-check-label {
    background-color: #faaf05 !important;
    color: #22272b !important;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(3) .form-check-input:checked + .form-check-label::before {
    color: #22272b;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(4) .form-check-input + .form-check-label::before {
    color: #00aa45;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(4) .form-check-input + .form-check-label:hover {
    background-color: #dbfadf;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(4) .form-check-input:checked + .form-check-label {
    background-color: #00aa45 !important;
    color: #FFF;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(4) .form-check-input:checked + .form-check-label::before {
    color: #FFF;
}

.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(5) .form-check-input + .form-check-label::before {
    color: #004000;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(5) .form-check-input + .form-check-label:hover {
    background-color: #a8edb3;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(5) .form-check-input:checked + .form-check-label {
    background-color: #004000 !important;
    color: #FFF;
}
.ca-form-check-group:has(.radio-rainbow) .form-check:nth-child(5) .form-check-input:checked + .form-check-label::before {
    color: #FFF;
}

/* Google Places Autocomplete */

.pac-container {
    z-index: 99999;
}


/*******
 SOCIALS
 *******/

.ca-socialicons {
    display: flex;
    gap: 1rem;
}

.ca-socialicons-link {
    background: #FFF;
    width: 2em;
    height: 2em;
    border-radius: 1em;
    color: var(--ca-brand-colour);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.9;
}

.ca-socialicons-link:hover {
    opacity: 1;
    text-decoration: none;
}


/******
 EVENTS
 ******/

.ca-event-card {
    height: 100%;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.125);
    padding: 1rem;
    border-radius: 0.25rem;
    display: block;
    color: inherit;
}
.ca-event-card .featured-default {
    margin: -1rem -1rem 1rem;
}
.ca-event-card:hover {
    background-color: var(--ca-light-grey-colour, #eeeeee);
    text-decoration: none;
}

.ca-event-card .ca-clamp, .ca-event-card p {
    color: #46494c;
    font-size: 0.8em;
    margin-bottom: 1rem;
}
.ca-event-card *:last-child {
    margin-bottom: 0;
}
.ca-event-card .gallery-item-title {
    font-size: 1.3rem;
}


/**************
 SEARCH RESULTS
 **************/

.ca-search-results {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ca-search-results-query {
    font-style: italic;
}

.ca-search-result {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid hsla(0, 0%, 50%, 0.25)
}

.ca-search-result-link {
    text-decoration: none;
}

.ca-search-result-link:hover {
    text-decoration: none;
}

.ca-search-result-link:hover>.ca-search-result-title {
    text-decoration: underline;
}

.ca-search-result-type {
    font-size: 0.75em;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.25em;
}

.ca-search-result-title {
    font-weight: bold;
    font-size: 1.25rem;
    margin-bottom: 0.25em;
}


/********************
 DIST LIST MANAGEMENT
 ********************/

.ca-dist-list {
    margin-bottom: 0.5rem;
}

.ca-dist-list-checkbox {
    display: none;
}

.ca-dist-list-label {
    display: block;
    border: 1px solid #dee2e6;
    background: #FFF;
    padding: 1rem 1rem 1rem 3rem;
    border-radius: 3px;
    position: relative;
    cursor: pointer;
}

.ca-dist-list-label:hover {
    box-shadow: 0 0.25em 1em rgba(0, 0, 0, 0.2);
}

.ca-dist-list-checkbox:checked+.ca-dist-list-label {
    background: var(--ca-brand-colour);
    color: #FFF;
}

.ca-dist-list-label:before {
    content: "\f0c8";
    display: inline-block;
    font-family: "Font Awesome 6 Pro";
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    font-size: 1.25rem;
    text-rendering: auto;
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
}

.ca-dist-list-checkbox:checked+.ca-dist-list-label:before {
    content: "\f14a";
    font-weight: 900;
}

.ca-dist-list-description {
    font-size: 0.85rem;
    opacity: 0.8;
}

.ca-dist-list-name {
    font-size: 1.15rem;
    font-weight: bold;
}


/*******************
 FRONT-END DASHBOARD
 *******************/

.ca-dashboard-logout-btn {
    position: absolute;
    top: 1rem;
    right: 0;
}


/*****************
 CONTEXT OVERRIDES
 *****************/

body[data-ca-context="ver-editor"] {
    background: #0b0e10cc;
    min-height: 100vh;
    overflow: auto;
    display: flex;
    align-items: center;
    padding: 100px 0;
}

body[data-ca-context="ver-editor"]>.ca-modal {
    height: auto;
    margin: 0 auto;
}


/*****************
 TAD VER EDITO STYLES - to be moved to project.css when it exists
 *****************/


/* body.tad.jbsg {


 } */

body.tad.jbsg p {
    font-weight: 400;
    font-size: 16px;
    color: #6e7379;
    font-family: "archivo", sans-serif;
    opacity: .8;
}

body.tad.jbsg .ca-heading h2 {
    color: #fff;
    font-size: 28px;
    font-weight: 100 !important;
    font-family: "overpass", "Helvetica", "Arial", sans-serif;
}

body.tad.jbsg p a {
    color: #0253a6;
    opacity: 1 !important;
}

body.tad.jbsg a:hover {
    color: #00abe6;
}

body.tad.jbsg .carousel-disc {
    background: #091826;
    width: 50px;
    height: 50px;
    position: relative;
}

body.tad.jbsg .carousel-control-next-icon,
body.tad.jbsg .carousel-control-prev-icon {
    background-image: none !important;
}

body.tad.jbsg a.carousel-control-next {
    right: -80px;
}

body.tad.jbsg a.carousel-control-prev {
    left: -80px;
}

body.tad.jbsg a.carousel-control-next,
body.tad.jbsg a.carousel-control-prev {
    opacity: .7;
}

body.tad.jbsg a.carousel-control-next:hover,
body.tad.jbsg a.carousel-control-prev:hover {
    opacity: 1;
}

body.tad.jbsg .carousel-control-next-icon:after,
body.tad.jbsg .carousel-control-prev-icon:after {
    font-family: "Font Awesome 6 Pro";
    font-size: 4rem;
    position: absolute;
    left: 50%;
    top: 55%;
    transform: translate(-50%, -50%);
    color: #FABA00;
}

body.tad.jbsg .carousel-control-prev-icon:after {
    content: "\f053";
}

body.tad.jbsg .carousel-control-next-icon:after {
    content: "\f054";
}


/* CMS POST_IT_NOTE COMENTS STYLING */

.comment-card-gallery {
    transition: all .3s ease-in-out;
}

.comment-card-gallery .card a i {
    font-size: 1.6rem;
}

.comment-card-gallery .card .featured-body {
    font-size: 1rem;
}

.comment-card-gallery .card a {
    color: #000;
    overflow: hidden;
    text-overflow: ellipsis;
}

.comment-card-gallery .card .featured-body.wMedia {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.comment-card-gallery .card p.date {
    font-size: .9 !important;
}

.comment-card-gallery .card a:hover {
    text-decoration: none;
}

.comment-card-gallery .card {
    box-shadow: -3px 6px 5px 0px rgba(176, 164, 176, 1);
    transition: all .3s ease-in-out;
    width: 250px;
    height: 329px;
    flex: none;
}

.date-style {
    font-size: .8rem;
    font-style: italic;
}

.comment-card-gallery .card:hover {
    box-shadow: -3px 18px 20px 0px rgba(99, 89, 99, 1);
}

.comment-card-gallery .card:hover i:not(.filled):not(.outline) {
    color: #0E76BF;
}

.comment-card-gallery .commentstream-card.card:hover i:not(.filled):not(.outline) {
    color: #d8d808;
}

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

.likeBtn {
    cursor: pointer;
}

.likeBox .filled {
    display: none;
}

.likeBox .filled,
.likeBox .outline {
    transition: all .3s ease-in-out;
    font-size: 1.3rem;
    color: red;
}

.likeBox .filled.disabled {
    color: gainsboro;
    display: inline-block
}

.commentstream-card .likeBox .filled,
.commentstream-card .likeBox .outline {
    transition: all .3s ease-in-out;
    font-size: 1.3rem;
    ;
    color: #3283bc;
}

.likeBtn:hover>.filled,
.likeBtn.hasReacted .filled {
    display: inline-block;
}

.likeBtn:hover>.outline,
.likeBtn.hasReacted .outline {
    display: none;
}

/* PANO SCROLL CSS */

.ca-pano-section {
    position: relative;
}

.ca-pano-section .container-fluid,
.ca-pano-section {
    padding: 0;
}

.ca-pano-section .ca-media-wrapper {
    overflow-x: auto;
}

.ca-pano-section .ca-media-wrapper img.img-fluid {
    height: 100vh;
    max-width: unset;
}

.ca-pano-section .compass-html {
    position: absolute;
    right: 10px;
    bottom: 25px;
}

.ca-pano-section .compass-outer {
    height: 70px;
    width: 70px;
    border-radius: 50%;
    background-color: rgba(0,0,0,.5);
    display: flex;
    justify-content: center;
    align-items: center;
}

.ca-pano-section .degree-display {
    background-color: #201647;
    color: rgba(255,255,255,1);
    padding-top: 0.2rem;
}

.ca-pano-section .compass-inner {
    height: 40px;
    width: 40px;
    border-radius: 50%;
    background-color: #000;
}

.ca-pano-section .compass-needle {
    background-image: url('https://media.caapp.com.au/sby2hq');
    height: 40px;
    width: 40px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.ca-pano-section #distanceButtons {
    right: 10px;
    bottom: 140px;
    background-color: #201647;
    padding: 5px 3px;
    margin-bottom: 0;
    width: 70px;
}

.ca-pano-section #distanceButtons a {
    color: rgba(255, 255, 255, 1);
    padding: 0.25rem 0.55rem;
    border-radius: 0;
}

.ca-pano-section #distanceButtons a.active,
.ca-pano-section #distanceButtons a:hover,
.ca-pano-section #distanceButtons a:focus {
    background-color: rgba(255,255,255,1);
    color: #201647;
}


.ca-pano-section .intro-tooltip {
    position: absolute;
    right: 98px;
    bottom: 190px;
    z-index: 99999999999;
    background-color: #1B7E7D;
    color: #fff;
    padding: 0.75rem;
    max-width: 175px;
    font-size: 14px;
}

.ca-pano-section .intro-tooltip a {
    color: #201647;
    background-color: #fff;
    padding:  0.375rem 0.75rem;
    font-size: 14px;
    font-weight: 600;
}

.ca-pano-section .intro-tooltip a:hover {
    background-color: #201647;
    color: #fff;
    text-decoration: none;
}

.ca-pano-section .intro-tooltip::after {
    content: "";
    position: absolute;
    bottom: 20px;
    right: -15px;
    width: 0;
    height: 0;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 15px solid #1B7E7D;
}


/* CMS COMMENTS STYLING  */

.comments-stream,
[data-cms-comments-uuid] {
    min-height: 110px;
    max-height: 660px;
    position: relative;
    margin-top: 1em;
    overflow: auto;
    /* border: 1px solid #f1f1f1; */
    /* padding: 1em 1.5em; */
}

.comments-stream.loading::before,
[data-cms-comments-uuid].loading::before {
    background-color: transparent
}

.comments-stream.loading::after,
[data-cms-comments-uuid].loading::after {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    margin-top: -35px;
}

.comment-stream-stickynotes {
    overflow: hidden auto;
}

.comments-stream-comment {
    /* margin-bottom: 1.5em;
	padding-bottom: 1.5em; */
    /* border-bottom: 1px solid #EEE; */
}

.comments-stream-comment:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0 none;
}

.comments-stream-comment-user {
    /* text-transform: uppercase; */
    font-size: 0.7em;
    letter-spacing: 0.2em;
    font-weight: 600;
}

.comments-stream-comment-reply span {
    font-weight: 600;
}

.fancy-scrollbar::-webkit-scrollbar-track,
.mapbox-layer-toggles::-webkit-scrollbar-track,
.dropdown-menu::-webkit-scrollbar-track {
    -webkit-box-shadow: 0 none;
    background-color: #F5F5F5;
}

.fancy-scrollbar::-webkit-scrollbar,
.mapbox-layer-toggles::-webkit-scrollbar,
.dropdown-menu::-webkit-scrollbar {
    width: 5px;
    background-color: #F5F5F5;
}

.fancy-scrollbar::-webkit-scrollbar-thumb,
.mapbox-layer-toggles::-webkit-scrollbar-thumb,
.dropdown-menu::-webkit-scrollbar-thumb {
    background-color: #6e7379;
}


/* M6 apprivals & eis chapters  */

.eis-chapters.card-gallery .card {
    min-width: 280px;
    max-width: 350px;
    margin-bottom: 1.5em;
    transition: all 0.2s ease-out;
}

.eis-chapters .chapter-card {
    max-height: 450px;
    overflow: hidden;
}

.eis-chapters .chapter-card.active {
    max-height: none;
    height: 100%;
}

.eis-chapters .card>a:not(.btn) {
    font-weight: inherit;
    color: inherit;
    transition: all 0.3s ease-out;
    height: 100%;
}

.eis-chapters .card-title {
    font-size: 1rem;
}

.eis-chapters .card-text {
    margin-bottom: 12px !important;
    opacity: 0.75;
    font-size: 0.8rem;
}

.eis-chapters .chapter-card .card-button-row {
    position: relative;
    bottom: 0px;
    height: 150px;
    background: rgb(255, 255, 255);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%);
    display: flex;
    flex-direction: row;
    justify-content: end;
    align-items: flex-end;
    position: absolute;
    width: 100%;
}

.eis-chapters .chapter-card .card-button {
    padding: 15px 15px;
    background-color: #0b8ac4;
    color: #fff;
    text-align: center;
    display: flex;
    align-items: center;
    align-content: center;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-height: 50px;
}

.eis-chapters .card-toggle-more {
    position: absolute;
    bottom: 50px;
    left: 0;
    color: #0d89c4;
    padding: 50px 20px 15px;
    width: 100%;
    text-align: left;
}

.eis-chapters .chapter-card .card-button h5 {
    margin-bottom: 0;
    color: #fff;
    font-size: 16px;
}

.ca-language .navbar-text {
    padding-right: 0.5rem;
}